用于在固态驱动器中重建的碎片化的固件表格的方法、数据存储装置和系统的制作方法

文档序号:9252389阅读:359来源:国知局
用于在固态驱动器中重建的碎片化的固件表格的方法、数据存储装置和系统的制作方法
【专利说明】
【背景技术】
[0001]由于固态驱动器(SSD)中的闪速存储器的属性,导致典型地按照页对数据进行编程并且按照块对数据进行擦除。SSD中的页在尺寸上典型地是8-16千字节(KB)并且块由大量页(例如,256或512)组成。因此,在没有盖写同一块内的页中的数据的情况下不能直接盖写SSD中的特定物理位置(例如,页),这在磁硬盘驱动器中是可能的。由此,需要地址间接。对诸如SSD的数据存储装置上的闪速存储器进行管理并与主机系统的接口进行交互的传统的数据存储装置控制器使用逻辑到物理(L2P)映射系统,该逻辑到物理(L2P)映射系统作为闪速转换层(FTL)的一部分、被称为逻辑块寻址(LBA)的。当新数据进入以替换已经写入的旧数据时,数据存储装置控制器使得该新数据被写入在新位置中并且将逻辑映射更新为指向该新物理位置。由于旧物理位置不再保持有效数据,所以在它能够被再次写入之前,最终需要将它擦除。
[0002]传统上,大L2P映射表格将逻辑条目映射到SSD上的物理地址位置。可以位于诸如动态随机存取存储器(DRAM)的易失性存储器中的该大L2P映射表格通常在写入进入时被更新,并且被保存到非易失性存储器在小扇区中。例如,如果随机写入发生,则尽管该系统可能仅必须更新一个条目,但是尽管如此它可能必须将整个表格或其一部分(包括还未更新的条目)保存到非易失性存储器,这是天然地低效率的。
[0003]图1示出用于SSD的传统逻辑块寻址(LBA)方案的各方面。如其中示出的那样,映射表格104包含针对为数据存储装置的闪速存储器106所限定的每个逻辑块102的一个条目。例如,支持512字节逻辑块的64GB SSD可以将它自己向主机呈现为具有125,000,000个逻辑块。映射表格104中的一个条目包含闪速存储器106中的125,000, 000个逻辑块中的每一个的当前位置。在传统的SSD中,闪速页保持整数倍的逻辑块(即,逻辑块不跨越闪速页)。在该传统示例中,8KB闪速页将保持(尺寸512字节的)16个逻辑块。因此,逻辑到物理映射表格104中的每一个条目包含标识其上存储逻辑块的闪速管芯的字段108、标识其上存储逻辑块的闪速块的字段110、标识闪速块内的闪速页的另一字段112、和标识闪速页内的偏移的字段114,字段114标识逻辑块数据在所标识的闪速页中开始于何处。较大尺寸的映射表格104阻碍表格被保持在SSD控制器内部。传统上,较大的映射表格104被保持在连接到SSD控制器的外部DRAM中。由于映射表格104被存储在易失性DRAM中,因而当SSD上电时,它必须被恢复,由于该表格的大尺寸导致这可能花费长时间。
[0004]当读取逻辑块时,映射表格104中的对应条目被读取以确定闪速存储器中要被读取的位置。然后对映射表格104中的对应条目中指定的闪速页执行读取。当读取的数据可用于闪速页时,将由映射条目指定的偏移处的数据从SSD传输到主机。当逻辑块被写入时,映射表格104中的对应条目被更新以反映逻辑块的新位置。要注意的是,当逻辑块被写入时,闪速存储器将最初包含至少两个版本的逻辑块;即,有效的、最近写入的版本(由映射表格104所指向的)和陈旧的(stale)并且不再由映射表格104中的任何条目所指向的、其至少一个其他旧版本。这些“陈旧的”数据被称作垃圾,其占用必须被考虑、收集、擦除并且使得可用以供未来使用的空间。
[0005]在正常操作期间,SSD生成必须被保存的固件信息(例如,非用户数据)。这些信息本质上是开销数据。例如,当SSD开放或闭合块时,一些数据被生成并且必须被保存。经常,以表格形式存储这样的固件信息。例如,给定的表格可以具有2048个条目,其中每个条目在尺寸上为8字节。因此,这样的表格占用约16KB的存储空间/存储器。因此,每次开放新的块时,由系统保存该信息,这在传统上要求执行16KB写入。传统上,这样的表格被存储在与用于存储用户数据的文件系统(例如,文件存储系统)不同的固件物理文件系统(例如,固件文件系统)中。这样的固件文件系统在传统上位于非易失性存储器的分离的区域中,并且在传统上与用户数据的正常读取/写入不同地处理对该固件文件系统的读取和写入。这样的用于固件数据和用户数据的双文件系统增加系统的开销,并且造成要求复杂解决方案的一致性挑战。
【附图说明】
[0006]图1示出用于SSD的传统逻辑块寻址(LBA)方案的各方面。
[0007]图2是根据一个实施例的示出数据存储装置的物理和逻辑数据组织的各方面的示图。
[0008]图3示出根据一个实施例的数据存储装置的易失性存储器和根据一个实施例的逻辑到物理地址转换映射及其示例性条目。
[0009]图4示出根据一个实施例的用于更新逻辑到物理地址转换映射并且用于创建S-日志条目的方法的各方面。
[0010]图5示出根据一个实施例的用于更新固件表格条目的方法的各方面。
[0011]图6是示出根据一个实施例的S-日志在物理地址范围上的覆盖和固件日志的内容的示图。
[0012]图7是根据一个实施例的S-日志的框图。
[0013]图8示出根据一个实施例的S-日志的一个条目的示例性组织。
[0014]图9是根据一个实施例的超级块(S-块)的框图。
[0015]图10示出根据一个实施例的超级页(S-页)的另一视图。
[0016]图1lA示出根据一个实施例的逻辑到物理地址转换映射、S-日志与S-块之间的关系O
[0017]图1lB是根据一个实施例的S-日志映射的框图。
[0018]图12是根据一个实施例的示出更新SSD中的固件表格的方法的各方面的框图。
[0019]图13是根据一个实施例的对数据存储装置进行控制的方法的流程图。
【具体实施方式】
[0020]系统概况
[0021]图2是根据一个实施例的示出数据存储装置的物理和逻辑数据组织的各方面的示图。在一个实施例中,数据存储装置是SSD。在另一实施例中,数据存储装置是包括闪速存储器和旋转磁存储介质的混合驱动器。本公开可应用于SSD和混合实现方式两者,但是为了简化,参照基于SSD的实现方式来描述各个实施例。根据一个实施例的数据存储装置控制器202可以被配置为被耦合到主机,如在附图标记218处示出的那样。主机218可以利用逻辑块寻址(LBA)方案。虽然LBA尺寸通常是固定的,但是主机能够动态地使LBA的尺寸变化。例如,物理数据存储装置可以在逻辑上被划分以支持被配置用于不同尺寸的LBA的分区(partit1n)。然而,对于物理装置同时支持不同尺寸的LBA,不要求这样的分区。例如,LBA尺寸可以根据接口和接口模式而变化。确实,虽然512字节是最常见的,但是4KB也变得更加常见,512+(520、528等)和4KB+(4KB+8,4K+16等)格式也是如此。如其中示出的那样,数据存储装置控制器202可以包括或者被耦合到页寄存器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(非易失性存储器)芯片、或其任何组合。
[0022]页寄存器204可以被配置为使得控制器202能够从该阵列读取数据并且能够将数据存储到该阵列。根据一个实施例,闪速存储器装置的阵列可以包括管芯(例如,128个管芯)中的多个非易失性存储器装置,其中每个包括多个块,例如图2中的206处示出的那样。其他页寄存器204(未示出)可以被耦合到其他管芯上的块。被分组在一起的闪速块的组合可以被称作超级块或S-块。在一些实施例中,形成S-块的个体块可以选自一个或更多个管芯、平面或其他粒度水平。因此,S-块可以包括跨一个或更多个管芯展开的、被组合在一起的多个闪速块。以该方式,S-块可以形成在其上闪速管理系统(FMS)进行操作的单元。在一些实施例中,可以根据与管芯水平不同的粒度来选择形成S-块的个体块,例如当存储器装置包括被细分为诸如平面的结构的管芯(即,可以取自个体平面的块)时的情况。根据一个实施例,可以在S-块水平执行分配、擦除和垃圾收集。在其他实施例中,FMS可以根据诸如页、块、平面、管芯等的其他逻辑群组来执行数据操作。
[0023]进而,闪速块
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1