存储系统及其操作方法与流程

文档序号:11182004阅读:605来源:国知局
存储系统及其操作方法与流程

相关申请的交叉引用

本申请要求2016年3月25日提交的第15/081,644号美国非临时申请的优先权,其全部内容通过引用合并于此。

本公开的示例性实施例涉及一种存储系统及其操作方法。



背景技术:

计算机环境范式已经变为可以随时随地使用的普适计算系统。由于这个原因,诸如移动电话、数字相机和笔记本电脑的便携式电子设备的使用已快速增加。这些便携式电子设备通常使用具有存储器件的存储系统(即,数据储存设备)。该数据储存设备被用作便携式电子设备的主存储设备或辅助存储设备。

由于使用存储器件的数据储存设备无活动部件,因此它们提供优异的稳定性、耐久性、高信息访问速度和低功耗。具有这些优点的数据储存设备的示例包括通用串行总线(usb)存储器件、具有各种接口的存储卡以及固态驱动器(ssd)。



技术实现要素:

本发明的方面包括一种存储系统。该存储系统可以包括:存储器件,所述存储器件具有多个裸片、第一超级块以及第二超级块,第一超级块包括储存在裸片上的位置处的第一元页,而第二超级块包括储存在裸片上的位置处的第二元页;以及控制器,所述控制器适用于读取这些超级块中的元页,其中,第一元页的储存位置与第二元页的储存位置错开,使得在单个读取期间通过控制器读取第一元页和第二元页。

本发明的其他方面包括一种方法,该方法包括:将与第一超级块相对应的第一元页储存在裸片上的位置处;将与第二超级块相对应的第二元页储存在裸片上的位置处,使得第一元页的储存位置与第二元页的储存位置错开;以及在单个读取期间读取第一元页和第二元页。

本发明的进一步的方面包括一种存储器件。该存储器件可以包括多个裸片以及多个超级块,所述多个超级块中的每个包括在多个裸片中的裸片上的位置处储存的元页,其中,这些元页中的每个的储存位置彼此错开,使得在单个读取命令期间读取这些元页中 的每个。

附图说明

图1是示意性地图示根据本发明的一个实施例的存储系统的框图。

图2是图示根据本发明的一个实施例的存储系统的框图。

图3是图示根据本发明的一个实施例的存储器件的存储块的电路图。

图4是图示根据本发明的一个实施例的存储器控制器的控制单元的示图。

图5是根据本发明的若干方面的存储系统的框图。

图6a和图6b是根据本发明的若干方面的超级块和裸片的示图。

图7是对超级块执行的读取的示图。

图8是根据本发明的若干方面的用于储存元页和执行spor过程的步骤的流程图。

图9是根据本发明的若干方面的超级块的示图。

图10是根据本发明的若干方面执行的读取的示图。

具体实施方式

下面将参照附图来更详细地描述各种实施例。然而,本发明可以以不同的形式实施,而不应当被解释为局限于本文中所阐述的实施例。相反地,这些实施例被提供使得本公开将是彻底和完整的,且这些实施例将把本发明的范围充分传达给本领域技术人员。贯穿本公开,相同的附图标记在本发明的各种附图和实施例中始终指代相同的部分。

本发明可以以各种方式来实施,包括作为:过程;装置;系统;物的组合;在计算机可读储存介质上实施的计算机程序产品;和/或处理器(诸如适用于运行储存在耦接至该处理器的存储器上的指令和/或由耦接至该处理器的存储器提供的指令的处理器)。在此说明书中,这些实施方式或本发明可以采用的任何其他形式可以被称作技术。一般而言,在本发明的范围之内可以改变所公开的过程的步骤的次序。除非另外说明,否则被描述为适用于执行任务的组件(诸如处理器或存储器)可以被实施为暂时适用于在给定时间执行该任务的常规组件或被制造用来执行该任务的专用组件。如本文中所用,术语“处理器”指适用于处理数据(诸如计算机程序指令)的一个或更多个器件、电路和/或处理核。

下面与图示本发明的原理的附图一起提供对本发明的一个或更多个实施例的详细描述。虽然关联这些实施例来描述本发明,但本发明不局限于任何实施例。本发明的范围仅由权利要求来限制,且本发明包括若干替代、变型和等同。在下面的描述中阐述了若干具体细节以提供对本发明的透彻理解。提供这些细节出于示例的目的,且可以在无这些具体细节中的一些或全部的情况下根据权利要求来实践本发明。为了清楚的目的,未详细描述与本发明相关的技术领域中已知的技术材料,使得本发明不被不必要地混淆。

与硬盘不同,存储器件(诸如快闪存储器)的“写入前擦除”限制需要系统软件中的被称作闪存转换层(ftl)的特殊层来仿真用于向后兼容性(backwardcompatibility)的块器件接口。文件系统和应用程序可以使用快闪存储器就好像它们在使用硬盘一样。被认为是逻辑块寻址(lba)的逻辑至物理(l2p)映射系统是ftl的一部分。

由于用于ftl或lba的表(在下文中为lba表)可以在作为易失性存储器的动态随机存取存储器(dram)中,因此当出现突然断电时,lba表将丢失,这导致数据丢失。为了防止数据丢失,固件必须能够在电源接通时重建最新表。如此频繁地将lba表写入至存储器件(例如,与非快闪存储器)将导致严重的写入性能退化。在有限性能退化的情况下,如何执行快速突然断电恢复(spor)是重要且困难的任务。

本文中将描述改善存储系统(例如,固态驱动器(ssd))的性能(尤其是关于spor)的技术。例如,本文中描述的技术降低了用于读取多个超级块所需的硬件访问的次数。

图1是示意性地图示根据本发明的一个实施例的存储系统10的框图。

参见图1,存储系统10可以包括存储器控制器100和半导体存储器件200。

存储器控制器100可以控制半导体存储器件200的全部操作。

半导体存储器件200可以在存储器控制器100的控制下执行一个或更多个擦除操作、编程操作和读取操作。半导体存储器件200可以经由输入/输出线接收命令cmd、地址addr和数据data。半导体存储器件200可以经由电力线接收电源pwr以及经由控制线接收控制信号ctrl。控制信号可以包括命令锁存使能(cle)信号、地址锁存使能(ale)信号、芯片使能(ce)信号、写入使能(we)信号、读取使能(re)信号等。

存储器控制器100和半导体存储器件200可以被集成至单个半导体器件中。例如,存储器控制器100和半导体存储器件200可以集成至诸如固态驱动器(ssd)的单个半导体器件。固态驱动器可以包括用于将数据储存在其中的储存设备。当半导体存储系统10应用于固态驱动器(ssd)中时,可以显著改善耦接至存储系统10的主机(未示出) 的操作速度。

存储器控制器100和半导体存储器件200可以集成至诸如存储卡的单个半导体器件中。例如,存储器控制器100和半导体存储器件200可以集成至单个半导体器件中以配置存储卡,诸如个人计算机存储卡国际协会(pcmcia)的pc卡、紧凑式闪存(cf)卡、智能媒体(sm)卡、记忆棒、多媒体卡(mmc)、减小尺寸多媒体卡(rs-mmc)、微尺寸版本的mmc(微型mmc)、安全数字(sd)卡、迷你安全数字(迷你sd)卡、微型安全数字(微型sd)卡、安全数字大容量(sdhc)卡以及通用快闪储存器(ufs)。

又例如,存储系统10可以被提供为电子设备,诸如计算机、超移动pc(umpc)、工作站、上网本计算机、个人数字助理(pda)、便携式计算机、网络平板电脑、无线电话、移动电话、智能电话、电子书阅读器、便携式多媒体播放器(pmp)、便携式游戏机、导航仪、黑匣子、数字相机、数字多媒体广播(dmb)播放器、三维电视、智能电视、数字录音机、数字音频播放器、数字图片记录仪、数字图片播放器、数字录像机、数字视频播放器、数据中心的储存设备、能够在无线环境中收发信息的设备、家庭网络的电子设备之一、计算机网络的电子设备之一、远程信息处理网络的电子设备之一、射频识别(rfid)设备或计算系统的元件设备等中包括的各种元件中的一种。

图2是图示根据本发明的一个实施例的存储系统的详细框图。例如,图2的存储系统可以为图1中所示的存储系统10。

参见图2,存储系统10可以包括存储器控制器100和半导体存储器件200。存储系统10可以响应于来自主机设备的请求而操作,具体地,储存要由主机设备访问的数据。

主机设备可以用各种类型的电子设备中的任意一种来实施。在一些实施例中,主机设备可以包括诸如台式计算机、工作站、三维(3d)电视、智能电视、数字录音机、数字音频播放器、数字图片记录仪、数字图片播放器、数字录像机和数字视频播放器的电子设备。在一些实施例中,主机设备可以包括诸如移动电话、智能电话、电子书、mp3播放器、便携式多媒体播放器(pmp)和便携式游戏机的便携式电子设备。

存储器件200可以储存要由主机设备访问的数据。

存储器件200可以用易失性存储器件(诸如动态随机存取存储器(dram)和静态随机存取存储器(sram))或非易失性存储器件(诸如只读存储器(rom)、掩膜rom(mrom)、可编程rom(prom)、可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、铁电随机存取存储器(fram)、相变ram(pram)、磁阻式ram(mram)以及电阻式ram(rram))来实施。

控制器100可以控制存储器件200中数据的储存。例如,控制器100可以响应于来自主机设备的请求而控制存储器件200。控制器100可以将从存储器件200读取的数据提供给主机设备,以及将从主机设备提供的数据储存在存储器件200中。

控制器100可以包括经由总线160耦接的储存单元110、控制单元120、错误校正码(ecc)单元130、主机接口140和存储器接口150。

储存单元110可以用作存储系统10和控制器100的工作存储器,以及储存用于驱动存储系统10和控制器100的数据。当控制器100控制存储器件200的操作时,储存单元110可以储存由控制器100和存储器件200使用的数据以用于诸如读取操作、写入操作、编程操作和擦除操作的操作。

储存单元110可以用易失性存储器来实施。储存单元110可以用静态随机存取存储器(sram)或动态随机存取存储器(dram)来实施。如上所述,储存单元110可以将由主机设备使用的数据储存在存储器件200中以用于读取操作和写入操作。为了储存该数据,储存单元110可以包括程序存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。

控制单元120可以控制存储系统10的常规操作,以及响应于来自主机设备的写入请求或读取请求而控制针对存储器件200的写入操作或读取操作。控制单元120可以驱动被称作闪存转换层(ftl)的固件来控制存储系统10的常规操作。例如,ftl可以执行诸如逻辑至物理(l2p)映射、磨损均衡、垃圾收集以及坏块处理的操作。l2p映射被认为是逻辑块寻址(lba)。

ecc单元130可以检测并校正在读取操作期间从存储器件200读取的数据中的错误。当错误位的数量大于或等于可校正错误位的阈值数量时,ecc单元130不能校正错误位,而可以输出表示校正错误位失败的错误校正失败信号。

在一些实施例中,ecc单元130可以基于诸如低密度奇偶校验(ldpc)码、博斯-查德胡里-霍昆格母(bch,bose-chaudhuri-hocquenghem)码、涡轮码、涡轮乘积码(tpc)、里德-索罗门(rs)码、卷积码、递归系统码(rsc)、格码调制(tcm)、块码调制(bcm)等的编码调制来执行错误校正操作。ecc单元130可以包括用于错误校正操作的所有电路、系统或设备。

主机接口140可以经由各种接口协议(诸如通用串行总线(usb)、多媒体卡(mmc)、外围组件互连快速(pci-e)、小计算机系统接口(scsi)、串行连接scsi(sas)、串行高级技术附件(sata)、并行高级技术附件(pata)、增强型小盘接口(esdi)和集 成驱动电路(ide))中的一种或更多种来与主机设备通信。

存储器接口150可以提供控制器100与存储器件200之间的接口以允许控制器100响应于来自主机设备的请求而控制存储器件200。存储器接口150可以产生针对存储器件200的控制信号,并在cpu120的控制下处理数据。当存储器件200是诸如“与非”快闪存储器的快闪存储器时,存储器接口150可以产生针对存储器的控制信号,并在cpu120的控制下处理数据。

存储器件200可以包括存储单元阵列210、控制电路220、电压发生电路230、行解码器240、页缓冲器250、列解码器260以及输入/输出电路270。存储单元阵列210可以包括多个存储块211,且可以将数据储存在其中。电压发生电路230、行解码器240、页缓冲器250、列解码器260以及输入/输出电路270形成针对存储单元阵列210的外围电路。外围电路可以执行针对存储单元阵列210的编程操作、读取操作或擦除操作。控制电路220可以控制外围电路。

电压发生电路230可以产生具有各种电平的操作电压。例如,在擦除操作中,电压发生电路230可以产生具有各种电平的操作电压,诸如擦除电压和通过电压。

行解码器240可以连接至电压发生电路230和多个存储块211。行解码器240可以响应于由控制电路220产生的行地址radd而从多个存储块211之中选择至少一个存储块,并将从电压发生电路230供应的操作电压传输给多个存储块211之中的选中存储块。

页缓冲器250经由位线bl(未示出)连接至存储单元阵列210。响应于由控制电路220产生的页缓冲器控制信号,页缓冲器250可以用正电压对位线bl预充电,在编程操作和读取操作中将数据传输给选中存储块或从选中存储块接收数据,或者暂时储存传输来的数据。

列解码器260可以将数据传输给页缓冲器250或从页缓冲器250接收数据,或者将数据传输给输入/输出电路270或从输入/输出电路270接收数据。

输入/输出电路270可以将从外部设备(例如,存储器控制器100)传输来的命令和地址传输给控制电路220,将来自外部设备的数据传输给列解码器260,或者经由输入/输出电路270而将来自列解码器260的数据输出给外部设备。

控制电路220可以响应于该命令和该地址来控制外围电路。

图3是图示根据本发明的一个实施例的半导体存储器件的存储块的电路图。例如,图3中的存储块可以为图2中示出的存储单元阵列200的存储块211。

参见图3,存储块211可以包括分别耦接至位线bl0至blm-1的多个单元串221。每列的单元串可以包括一个或更多个漏极选择晶体管dst以及一个或更多个源极选择晶体管sst。多个存储单元或存储单元晶体管可以串联耦接在选择晶体管dst与sst之间。存储单元mc0至mcn-1中的每个可以由在每个单元中储存多位的数据信息的多电平单元(mlc)形成。单元串221可以分别电耦接至对应的位线bl0至blm-1。

在一些实施例中,存储块211可以包括“与非”型快闪存储单元。然而,存储块211不局限于“与非”快闪存储器,而是可以包括“或非”型快闪存储器、组合了两种或更多种类型的存储单元的混合快闪存储器以及控制器嵌入至存储芯片内部的一体式与非(one-nand)快闪存储器。

图4是图示根据本发明的一个实施例的存储器控制器的控制单元的示图。例如,图4中的控制单元可以为图2中的控制器100的控制单元120。

参见图4,控制器100的控制单元120可以经由接口(例如,图2的存储器接口150)而耦接至包括多个超级块的存储器件200。

控制单元120可以包括逻辑块寻址(lba)表410、重建单元420和垃圾收集(gc)单元430。lba表410可以是从逻辑块地址(lba)至物理地址的映射表,其为闪存转换层(ftl)的一部分。重建单元420可以在spor期间重建lba表。gc单元430可以在spor期间执行任何所需的垃圾收集操作。要注意的是,图4仅图示了控制单元120包括用于关于spor的操作的元件。

本文中所公开的方法、过程、系统和设备可以使用上述的存储器控制器和/或存储器控制器的控制单元来实施。

参见图5,示出了示例性存储系统以图示典型的spor过程。该存储系统包括dram500,dram500包括ftl510。dram500通常与存储器/nand502分离。nand502包括多个超级块。为了具有最大的并行度,每个裸片中的具有同一块索引的物理块被分组成超级块。同一超级块的每个物理块中的具有同一页索引的页被分组成超级页。当超级块充满且准备闭合时,超级块中的页的lba被写入在其最后作为元页(例如,图5中的mp)。当突然断电发生时,nand502具有两个开放块(一个用于主机写入的开放块530和一个用于垃圾收集(gc)的开放块540)以及很多其他闭合块(例如,闭合超级块)。

在spor期间,对于开放块530和540,需要读出所有的用户页,且需要为它们中的每个恢复lba。对于闭合块,可以读取元页mp,以及按照时间次序(意味着最旧的 元页最先)对表ftl更新(或重放)映射信息。这样,对于特定的lba,有效映射信息将覆盖无效映射信息。当重放/更新完成时,整个表被重建了,且主机命令可以开始起作用。

接下来参见图6a和图6b,示出了超级块的示图60和62。超级块可以指一起来分配、写入和擦除的一组块/页,且超级块利用每个芯片/平面/裸片中的一个块来保存元数据。如所示,超级块100包括裸片0的页100、裸片1的页100、裸片2的页100和裸片3的页100。元数据用来描述页中的数据,也可以表示超级块的类型(例如,闭合超级块、主机写入开放超级块、垃圾收集开放超级块等)。

如图6b中所述,对超级块的先前布置和设计意在包括沿同一裸片的元块(例如,用于储存元数据的块或元页等)。例如,超级块100至超级块107中的每个包括他们在裸片3上的对应元块。

在图7中,示图示出了对诸如图6a和图6b中所示的超级块的超级块配置执行的读取。一旦spor过程启动,就执行读取命令以重建lba表。读取命令用来判断哪些超级块是开放的、哪些超级块是闭合的、超级块闭合的次序等,这通常通过从元块读取元数据或元页来判断。

在图6a和图6b所示的元块在每个超级块的同一裸片上的示例中,当发送了读取命令时,将访问多个裸片之中的同一页。例如,如果读取命令是针对页100的,则其从裸片0至裸片3中的每个读取页100(例如,图7中的read1),其中,裸片0至裸片3中的每个的页100包含针对单个超级块(超级块100)的超级块信息。对于spor过程,所需的关键信息是包含在元块/元页/元数据中的信息。因此,读取命令将最终读取裸片3处的元块,此外其还将必须读取裸片0、裸片1和裸片2处的非元块,这增加了重建时间,因为对于lba表重建来说这些读取通常是不必要的。当考虑在所示示例中以类似方式执行8个读取操作(例如,read1-read8)时,对lba表重建执行了24个额外且不必要的读取。

因此,这里公开的本发明的示例试图减少突然断电之后完成lba表重建所必需的读取的数量。

图8是根据本发明若干方面的用于储存元数据以及重建lba表的步骤的流程图80。图9是根据本发明若干方面的包括元块的超级块布局的示图。图10是根据本发明若干方面的spor过程期间执行的示例性读取的示图。

虽然本文中使用术语元块、元页和元数据来描述本发明,但本领域技术人员将认识 到这些术语指用来在spor过程期间重建lba表的信息。该信息可以为元数据的形式,可以储存在元页中,可以位于元块中等。

参见图8,在步骤800处,闭合第一超级块,以及产生与第一超级块相对应的第一元页。如上所述,当超级块要闭合时,包括用于spor过程的信息的元页或元数据被产生,且其与其所对应的超级块关联地储存。

在步骤802处,将第一元页储存在第一超级块的裸片处。例如,参见图9,当超级块100闭合时,元页(例如,可以储存在元块上)可以储存和位于裸片0处(如示例所示为4nand配置)。

在步骤804处,闭合第二超级块,以及产生与第二超级块相对应的第二元页。

在步骤806处,将第二元页储存在第二超级块的裸片处,使得第二元页的储存位置与第一元页的储存位置错开。例如,参见图9,超级块100的元块储存和位于裸片0处,而超级块101的元块储存和位于裸片1处。超级块100的元块的位置与超级块101的元块的位置错开,意味着它们储存在彼此不同的裸片上。

如图9中所示,由于此示例描述了4nand配置,因此多达4个元块的位置可以彼此错开(例如,意味着储存和位于不同的裸片上)。虽然本文中公开的示例示出了4nand配置,但这是示例性的而非排他性的。nand配置的其他大小适用于实践本发明,这将改变可以彼此错开的元块的数量。因此,超级块100、101、102和103的元块中的每个彼此错开,且元块104、105、106和107中的每个彼此错开。

在步骤808处,启动spor过程,以及执行读取操作。该读取操作被执行,使得在同一读取操作期间访问第一元页和第二元页。

如上关于现有技术的存储器配置所讨论的,单个读取将仅访问单个元页。然而,参见图10,在单个读取操作期间,本文中公开的本发明允许单个读取来访问多个元页。在图10中,读取操作read1可以访问裸片0上的页100、裸片1上的页101、裸片2上的页102和裸片3上的页103(其中,每个页对应于不同的超级块),而不是读取全部4个裸片上的第100页。注意,这些页彼此错开。结果,超级块100、101、102和103可以被配置为使得超级块100的元块被储存在裸片0的页100处、超级块101的元块被储存在裸片1的页101处等(如图9中所示)。因此,读取操作可以在单个读取操作期间访问全部4个超级块(超级块100-103)的元页(例如,用来重建lba表所必需的信息,诸如判断超级块是开放的还是闭合的),导致读取减少四倍。

这种系统将通过减少如在spor中所进行的读取多个超级块所需的时间来改善存 储器件(例如,ssd)的性能。

虽然已经为了清楚理解的目的而相当详细地描述了前述实施例,但本发明不局限于所提供的细节。存在很多实施本发明的替代方法。所公开的实施例是说明性的而非限制性的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1