固态驱动器中的原子写入命令支持制造技术

技术编号:12417099 阅读:64 留言:0更新日期:2015-12-02 11:44
一种在数据存储设备中执行原子写入命令的方法,所述数据存储设备包括易失性存储器和被配置为存储多个物理页的多个非易失性存储器设备。所述方法可以包括:在多个逻辑页(L页)中存储数据,所述多个L页中的每一个与逻辑地址相关联。可以在所述易失性存储器中维护逻辑到物理地址转换映射,并且所述逻辑到物理地址转换映射可以被配置为使得能够确定由每一个逻辑地址引用的数据在一个或多个物理页中的物理位置。由接收到的原子写入命令指定的数据可以被存储在一个或多个L页中。可以推迟对与存储由所述原子写入命令指定的数据的L页相关联的转换映射中的一个或多个条目的更新,直到存储由所述原子写入命令指定的数据的所有L页都已经以电力安全方式被写入。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】
技术介绍
由于固态驱动器(SSD)中闪速存储器的本质,数据通常由页进行编程并且以块擦除。在SSD中的页一般大小是8-16千字节(KB),而块包含大量页(例如,256或512)。因此,SSD中特定的物理位置(例如,页)不能直接进行覆写,而不覆写相同块中页内的数据,这在磁性硬盘驱动中是可能的。这样,需要间接地址。传统的数据存储设备控制器管理数据存储设备上的闪速存储器并且与主机系统连接,其使用作为闪存转换层(FTL)的一部分的被称为逻辑块寻址(LBA)的逻辑到物理(L2P)映射系统。当新数据代替已经写入的较旧数据时,数据存储设备控制器使得新的数据写在新位置(因为数据存储设备不能直接覆写旧数据),并且更新逻辑映射以指向新的物理位置。此时,旧的物理位置不再保存有效数据。这样,旧的物理位置将最终需要在能够被再次写入之前被擦除。通常,大的L2P映射表将逻辑条目映射到SSD上的物理地址位置。当写入到来时,该大的L2P映射表通常被保存在小段中。例如,如果发生随机写入,虽然系统可能不得不只更新一个条目,但是仍然必须要保存整个表或其部分,包括未被更新的条目,这是固有低效的。图1示出了用于数据存储设备的传统逻辑块寻址(LBA)方案的方面。如图所示,映射表104包括针对数据存储设备的闪速存储器106定义的每一个逻辑块102的一个条目。例如,支持512字节逻辑块的64GB数据存储设备可以将自己呈现给主机作为具有125,000, 000个逻辑块。映射表104中的一个条目包括闪速存储器106中的125,000个逻辑块中每一个的当前位置。在常规的数据存储设备中,闪存页保存有整数个逻辑块(即,逻辑块不跨闪存页)。在该常规示例中,8KB闪存页将保存有16个(大小为512字节的)逻辑块。因此,逻辑到物理映射表104中的每一个条目包含识别在其上存储有LBA的管芯的字段108,识别在其上存储有LBA的闪存块的字段110,识别闪存块内的闪存页的另一字段112,以及识别用于识别LBA数据开始于所识别出的闪存页中何处的闪存页内的偏移的字段114。映射表104的大尺寸防止该表被保存于SSD控制器内。照惯例,大的映射表104被保存在与SSD控制器连接的外部DRAM中。由于映射表104存储在易失性DRAM中,所以其必须在SSD加电时恢复,因为表的大尺寸,这将花费很长时间。当写入逻辑块时,更新映射表104中的相对应的条目以反映逻辑块的新位置。当读取逻辑块时,读取映射表104中的相对应的条目以确定在闪速存储器中将要读取的位置。然后针对在映射表104中相对应的条目指定的闪存页来执行读取。当所读取的数据对于闪存页可用时,将在映射条目指定的偏移处的数据从闪存设备传送到主机。当写入逻辑块时,保存有“旧”版本数据的闪速存储器变成“垃圾”(即,数据不再有效)。需要注意的是,当写入逻辑块时,闪速存储器将初始包含至少两个版本的逻辑块;即,有效的、最近写入的版本(由映射表104指向),以及其至少一个其它的旧版本,其是陈旧的并且不再由映射表104中的任何条目所指向。这些“陈旧的”条目被称作“垃圾”,其占据了必须被计数、收集、擦除以及供将来使用可用的空间。这个过程被称作“垃圾收集”。原子命令是一种完全执行或完全不执行的命令。由于电力循环通常是一些命令不能结束的原因,所以任何原子写入命令必须考虑电力循环问题。在基于闪存的数据存储设备中实现原子写入命令的传统方法不允许对未完全处理的原子写入命令的有效检测、对具有处理中的原子写入的块和元数据进行有效垃圾收集,或者依赖于在缓冲器中复制原子写入数据,由此增加了写入放大、系统复杂性并且生成空闲空间计数问题。【附图说明】图1示出了用于SSD的常规逻辑块寻址方案的方面。图2是根据一个实施例的数据存储设备,以及这样的数据存储设备的物理和逻辑数据组织的方面的框图。图3示出了根据一个实施例的逻辑到物理地址转换映射及其图示条目。图4示出了根据一个实施例的用于更新逻辑到物理地址转换映射以及用于创建S日志条目的方法的方面。图5是根据一个实施例的S日志的框图。图6示出了根据一个实施例的S日志的一个条目的示例性组织。图7是根据一个实施例的超级块(S块)的框图。图8示出了根据一个实施例的超级页(S页)的另一视图。图9A示出了根据一个实施例的逻辑到物理地址转换映射、S日志以及S块之间的关系O图9B是根据一个实施例的S日志映射的框图。图10是根据一个实施例的数据结构的框图,在所述数据结构中可以存储用于处理原子写入命令的原子序列号。图11是示出了根据一个实施例的非原子写入和原子写入的方面的框图。图12示出了根据一个实施例的包括用于原子写入的S日志条目的S日志的方面。图13是根据一个实施例的用于处理原子写入命令的方法的流程图。图14是根据一个实施例的用于处理原子写入命令的方法的其它方面的流程图。图15A-D示出了根据一个实施例的槽号分配的处理。图16A-C示出了根据一个实施例的局部原子写入命令的处理。【具体实施方式】系统概览图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)存储器、或其任意组合)、NOR存储器、EEPR0M、铁电存储器(FeRAM)、磁阻RAM(MRAM)、其它分立的NVM(非易失性存储器)芯片、或其任意组合。页寄存器204可以被配置为使得控制器202从阵列读取数据以及将数据存储到阵列。根据一个实施例,闪速存储器设备的阵列可以包括管芯(例如,128个管芯)中的多个非易失性存储器设备,所述多个非易失性存储器设备中的每一个包括多个块,例如图2的206所示出的。其它页寄存器204(未示出)可以耦合到另一管芯本文档来自技高网...

【技术保护点】
一种在数据存储设备中执行原子写入命令的方法,所述数据存储设备包括易失性存储器和被配置为存储多个物理页的多个非易失性存储器设备,所述方法包括:在多个逻辑页(L页)中存储数据,所述多个L页中的每一个L页与逻辑地址相关联;在所述易失性存储器中维护逻辑到物理地址转换映射,所述转换映射被配置为使得能够确定由每一个逻辑地址引用的数据在一个或多个物理页中的物理位置;接收所述原子写入命令;在至少一个L页中存储由所述原子写入命令指定的数据;以及推迟对与存储由所述原子写入命令指定的数据的所述至少一个L页相关联的所述转换映射中的至少一个条目的更新,直到存储由所述原子写入命令指定的数据的所有L页都已经以电力安全方式被写入。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:A·J·汤姆林J·琼斯R·N·马伦多尔
申请(专利权)人:西部数据技术公司天空时代有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1