用于固态驱动器中的物理到逻辑映射的方法、设备和系统的制作方法

文档序号:9308573阅读:285来源:国知局
用于固态驱动器中的物理到逻辑映射的方法、设备和系统的制作方法
【专利说明】
【背景技术】
[0001]由于固态驱动器(SSD)中的闪速存储器的特性,数据通常是按页编程并且按块擦除的。SSD中页的尺寸通常为8-16千字节(KB)并且块由很多的页(例如,256或512)组成。因此,SSD中的特定物理位置(例如,页)不能在没有对同一块内的页中的数据进行重写的情况下直接进行重写,而这在磁性硬盘驱动器中是可能的。因此,需要间接地址。常规的数据存储设备控制器管理诸如SSD等的数据存储设备上的闪速存储器以及与主机系统进行连接,所述常规的数据存储设备控制器使用是闪存转换层(FTL)的一部分的、被称为逻辑块寻址(LBA)的逻辑到物理(L2P)映射系统。当新数据到达以替换已经写入的旧数据时,数据存储设备控制器使得新数据被写入在新的位置,并且更新逻辑映射以使其指向新的物理位置。由于旧的物理位置不再保存有效数据,所以在能够对旧的物理位置再次写之前最终需要将其擦除。
[0002]常规地,大的L2P映射表将逻辑条目映射到SSD上的物理地址位置。大的L2P映射表可以驻留在诸如动态随机存取存储器(DRAM)等的易失性存储器中,所述大的L2P映射表通常随着写入被更新、到达、并且保存到小区域中的非易失性存储器。例如,如果随机写发生,尽管系统可能仅需要更新一个条目,但是系统可能不得不将包括没有更新的条目的整个表或其一部分保存到非易失性存储器,这在本质上是低效的。
[0003]图1示出了用于SSD的常规的逻辑块寻址(LBA)方案的方面。如其中所示,映射表104包含针对数据存储设备的闪速存储器106限定的针对每个逻辑块102的一个条目。例如,支持512字节逻辑块的64 GB SSD,自身可以向主机呈现为如同具有125000000个逻辑块。在映射表104中的一个条目包含在闪速存储器106中的125000000个逻辑块的每一个逻辑块的当前位置。在常规SSD中,闪速页容纳整数个逻辑块(即,逻辑块不跨越闪速页)。在该常规示例中,8KB的闪速页将容纳16个(尺寸为512字节的)逻辑块。因此,在逻辑到物理映射表104中的每一个条目包含:字段108,其用于标识在其上存储逻辑块的闪速管芯,字段110,其用于标识在其上存储逻辑块的闪速块,另一字段112,其用于标识闪速块内的闪速页,以及字段114,其用于标识闪速页内的偏移,该偏移标识逻辑块数据在所标识的闪速页中的何处开始。大尺寸的映射表104使得表不能保存在SSD控制器的内部。常规地,将该大的映射表104保存在连接到SSD控制器的外部DRAM中。因为将映射表104存储在易失性DRAM中,所以当SSD上电时必须恢复映射表104,这由于表的大尺寸可能耗费很长的时间。
[0004]当读取逻辑块时,读取映射表104中对应的条目以确定要被读取的闪速存储器中的位置。然后向映射表104中对应的条目中所指定的闪存页执行读取。当读取的数据对于该闪存页可用时,在由映射条目所指定的偏移处的数据从SSD传送到主机。当写逻辑块时,对映射表104中对应的条目进行更新以反映该逻辑块的新位置。应当注意的是,当写逻辑块时,闪速存储器初始地将包含至少两个版本的逻辑块;即,有效的、最近写入的版本(由映射表104所指向的)和其至少一个另外的、较旧的版本,该较旧版本是陈旧的并且不再由映射表104中的任意条目所指向。这些“陈旧的”数据被称为垃圾,这些垃圾占用的空间必须被记录、收集、擦除并使其以供未来使用。
【附图说明】
[0005]图1示出了用于SSD的常规的逻辑块寻址(LBA)方案的方面。
[0006]图2是示出了根据一个实施例的数据存储设备的物理数据组织结构和逻辑数据组织结构的方面的图。
[0007]图3示出了根据一个实施例的逻辑到物理地址转换映射以及其示例性条目。
[0008]图4示出了根据一个实施例的用于更新逻辑到物理地址转换映射以及用于创建S日志条目的方法的方面。
[0009]图5是根据一个实施例的S日志的框图。
[0010]图6示出了根据一个实施例的S日志的一个条目的示例性组织结构。
[0011]图7是根据一个实施例的超块(S块)的框图。
[0012]图8示出了根据一个实施例的超页(S页)的另一视图。
[0013]图9A示出了根据一个实施例的逻辑到物理地址转换映射、S日志和S块之间的关系O
[0014]图9B是根据一个实施例的S日志映射的框图。
[0015]图10是示出了根据一个实施例的对逻辑到物理地址转换映射进行更新的方法的方面的框图。
[0016]图11是示出了根据一个实施例的对逻辑到物理地址转换映射进行更新的方法的另一方面的框图。
[0017]图12是示出了根据一个实施例的对逻辑到物理地址转换映射进行更新的方法的又一方面的框图。
[0018]图13是示出了根据一个实施例的对逻辑到物理地址转换映射进行更新的方法的还一方面的框图。
[0019]图14是示出了根据一个实施例的对S日志和S日志映射进行更新的方法的方面的框图。
[0020]图15是示出了根据一个实施例的对S日志和S日志映射进行更新的方法的另一方面的框图。
[0021]图16是示出了根据一个实施例的对S日志和S日志映射进行更新的方法的又一方面的框图。
[0022]图17是示出了根据一个实施例的对S日志和S日志映射进行更新的方法的还一方面的框图。
[0023]图18是示出了根据一个实施例的垃圾收集的方面的框图。
[0024]图19是示出了根据一个实施例的垃圾收集的另一方面的框图。
[0025]图20是示出了根据一个实施例的垃圾收集的又一方面的框图。
[0026]图21是示出了根据一个实施例的垃圾收集的还一方面的框图。
[0027]图22是示出了根据一个实施例的对系统块进行垃圾收集的方面的框图。
[0028]图23是示出了根据一个实施例的对系统块进行垃圾收集的另一方面的框图。
[0029]图24是示出了根据一个实施例的对系统块进行垃圾收集的又一方面的框图。
[0030]图25是示出了根据一个实施例的对系统块进行垃圾收集的其他方面的框图。
[0031]图26是示出了根据一个实施例的对系统块进行垃圾收集的又其他方面的框图。
【具体实施方式】
[0032]系统概沐
[0033]图2是示出了根据一个实施例的数据存储设备的物理数据组织结构和逻辑数据组织结构的方面的图。在一个实施例中,数据存储设备是SSD。在另一实施例中,数据存储设备是包括闪速存储器和旋转磁存储介质在内的混合驱动器。本公开能够应用于SSD和混合实现二者,但是出于简单的缘故,参考基于SSD的实现来对各种实施例进行描述。根据一个实施例,数据存储设备控制器202可以被配置为耦合到如附图标记218处所示的主机。主机218可以采用逻辑块寻址(LBA)方案。尽管LBA的尺寸通常是固定的,但是主机能够动态地改变LBA的尺寸。例如,LBA的尺寸可以随着接口和接口模式而不同。实际上,尽管512字节是最常见的,但4KB也变得更加常见,512+ (520、528等)和4KB+ (4KB+8、4KB+16等)格式同样常见。如其中所示,数据存储设备控制器202可以包括页寄存器204或耦合到页寄存器204。页寄存器204可以被配置为使控制器202能够从数据存储设备读取数据以及将数据存储到数据存储设备。控制器202可以被配置为响应于来自主机218的数据访问命令而进行编程并且从闪速存储器设备的阵列读取数据。尽管本文的描述通常涉及闪速存储器,但是应当理解的是,存储器设备的阵列可以包括各种类型的非易失性存储器设备中的一个或多个,所述非易失性存储器设备例如是,闪速集成电路、硫系RAM(C-RAM)、相变存储器(PC-RAM或PRAM)、可编程金属化单元RAM(PMC_RAM或PMCm)、标准化存储器(OUM)、阻变式RAM(RRAM)、NAND存储器(例如,单层单元(SLC)存储器、多层单元(MLC)存储器或其任意组合)、N0R存储器、EEPR0M、铁电体存储器(FeRAM)、磁阻RAM(MRAM)、其他分立的NVM(非易失性存储器)芯片、或其任意组合。
[0034]页寄存器204可以被配置为使控制器202能够从阵列中读取数据以及将数据存储到阵列。根据一个实施例,闪速存储器设备的阵列可以包括管芯(例如,128个管芯)中的多个非易失性存储器设备,其中的每一个包括多个块,如图2中的206处所示。其他页寄存器204(未示出)可以耦合到其他管芯上的块。集合在一起的闪速块的组合可以被称为超块或S块。在一些实施例中,形成S块的单独的块可以从一个或多个管芯、平面或其他粒度级别中选择。因此,S块可以包括组合在一起的、分布跨过一个或多个管芯的多个闪速块。以这种方式,S块可以形成闪速管理系统(FMS)在其上操作的单元。在一些实施例中,可以根据与在管芯级不同的粒度来选择形成S块的单独的块,例如以下情况:当存储器设备包括被细分为诸如平面等的结构的管芯(即,块可以从单独的平面中取得)时。根据一个实施例,分配、擦除和垃圾收集可以在S块级实施。在其他实施例中,FMS可以根据诸如页、块、平面、管芯等的其他逻辑分组来执行数据操作。
[0035]继而,每一个闪速块206包括多个闪速页(F页)208。每一个F页可以是固定尺寸的,例如,16KB。根据一个实施例,F页是用于给定的闪速设备的编程的最小单元的尺寸。同样如图2所示,每一个F页208可以被配置为容纳多个物理页,在下文中被称为E页210。术语“E页”指的是存储在其上应用了纠错码(ECC)的闪速存储器中的数据结构。根据一个实施例,E页210可以形成数据存储设备中的物理寻址的基础,并且可以构成闪速读取数据传送的最小单元。因此,E页210可以具有(但不是必须具有)预定的固定尺寸(例如,2KB),并且确定ECC系统的有效载荷(例如,主机数据)的尺寸。根据一个实施例,每一个F页208可以被配置为使预定的多个E页210适合在其边界内。例如,给定16KB尺寸的F页208以及每E页210固定尺寸为2KB,八个E页210适合在单个F页208内,如图2所示。根据一个实施例,无论如何,2的幂次乘以包括ECC的E页210可以被配置为适合于F页208。每一个E页210可以包括数据部分214,并且取决于E页210位于何处也可以包括ECC部分216。数据部分214和ECC部分216在尺寸上都不需要是固定的。E页的地址唯一地标识在闪速存储器内E页的位置。例如,E页的地址可以指定闪速通道、在所标识的闪速通道内的特定管芯、在管芯内的特定块、特定F页以及最后在所标识的F页中的E页。
[0036]为了在数据存储设备上的物理寻址与由主机进行的逻辑块寻址之间建立桥梁,弓丨入了逻辑页(L页)结构。图2中附图标记212处所指示的L页可以包括由FMS所使用的地址转换的最小单元。根据一个实施例,每一个L页可以与L页号相关联。因此,L页212的L页号可以被配置为使控制器202能够对存储在诸如E页210等的物理页的一个或多个中的主机数据进行逻辑地引用。也可以利用L
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1