在固态驱动器中利用空闲空间计数来重建两阶加电映射的方法、设备和系统技术方案

技术编号:12256081 阅读:110 留言:0更新日期:2015-10-28 19:19
一种数据存储设备包括非易失性存储器,所述非易失性存储器包含多个块,每一个块被配置为在预定物理位置处存储多个物理页。控制器对存储在多个逻辑页中的数据进行编程和读取。易失性存储器包括逻辑到物理地址转换映射,所述映射被配置为使得能够确定存储在每一个逻辑页中的数据在一个或多个物理页中的物理位置。可以存储多个日志,每一个日志包括将一个或多个物理页与每一个逻辑页相关联的多个条目。在启动时,所述控制器可以有序读取所述多个日志中的至少一些,并且重建该映射;表明在重建映射后服务数据访问命令的预备状态;根据映射来重建表,并且基于其,在已经表明了处理所述命令的预备状态后选择块以用于垃圾收集。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】
技术介绍
由于固态驱动器(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中的任何条目所指向。这些“陈旧的”条目被称作“垃圾”,其占据了必须被计数、收集、擦除以及供将来使用可用的空间。这个过程被称作“垃圾收集”。当关机或其它电力中断事件时,存储有映射表104的易失性存储器的内容不再有效。因此必须重建映射表104。该过程的目标是I)创建逻辑到物理关系的相干映射,以及2)允许存储器系统的正常操作。该正常操作应该允许由准备时间(time-to-ready)约束的数据访问命令的服务,并且应该允许存储器系统拾取最佳块以用于垃圾收集操作。拾取最佳块以用于垃圾收集继而涉及准确地针对存储器块中的空闲空间等其它可能因素进行计数。重建映射表104的常规方法包括:当RAM以随机状态加电(S卩,没有有效的ECC)时,首先将易失性存储器内的所有存储器位置初始化为零。之后,L2P映射可以根据保存在非易失性存储器中的映射信息来进行重建,同时实施空闲空间计数。这些操作涉及冗长的随机读取和随机写入,这花费大量时间,并且最终延迟驱动器在加电时用于主机读取和写入的准备时间。照常规,映射重建和空闲空间计数二者必须在驱动器能够向主机报告准备好服务数据访问命令之前被完成。【附图说明】图1示出了用于SSD的常规逻辑块寻址方案的方面。图2是根据一个实施例的数据存储设备的框图。图3是示出了根据一个实施例的数据存储设备的物理和逻辑数据组织的方面的图。图4示出了根据一个实施例的逻辑到物理地址转换映射及其图示条目。图5示出了根据一个实施例的用于更新逻辑到物理地址转换映射以及用于创建S日志条目的方法的方面。图6是根据一个实施例的S日志的框图。图7示出了根据一个实施例的S日志的一个条目的示例性组织。图8是根据一个实施例的超级块(S块)的框图。图9示出了根据一个实施例的超级页(S页)的另一视图。图1OA示出了根据一个实施例的逻辑到物理地址转换映射、S日志以及S块之间的关系。图1OB是根据一个实施例的S日志映射的框图。图11是根据一个实施例的实施两阶加电逻辑到物理映射重建的方法的流程图。图12是根据一个实施例的示出了实施两阶加电逻辑到物理映射重建的方法的另一方面的框图。图13表不根据一个实施例的有效大小信息表。图14是示出了根据一个实施例的实施利用空闲空间计数进行两阶加电逻辑到物理映射重建的方法的方面的框图。图15是示出了根据一个实施例的垃圾收集的方面的框图。图16是示出了根据一个实施例的垃圾收集的另一方面的框图。图17是示出了根据一个实施例的垃圾收集的又一方面的框图。图18是示出了根据一个实施例的垃圾收集的再一方面的框图。【具体实施方式】系统概沐图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存本文档来自技高网...

【技术保护点】
一种被配置为耦合到包括多个块的非易失性存储器的数据存储设备控制器,每一个块被配置为在预定物理位置存储多个物理页,所述控制器包括:处理器,其被配置为将数据编程到所述非易失性存储器以及从所述非易失性存储器读取数据,所述数据被存储在多个逻辑页中;易失性存储器,其包括逻辑到物理地址转换映射,所述逻辑到物理地址转换映射被配置为使得所述处理器能够确定存储在每一个逻辑页中的数据在一个或多个物理页中的物理位置;以及存储在所述非易失性存储器中的多个日志,每一个日志包括将一个或多个物理页关联到每一个逻辑页的多个日志条目,其中,所述控制器在启动时被配置为:有序读取所述多个日志中的每一个,并且根据所读取的多个日志来重建所述易失性存储器中的映射;表明在所述映射被重建后处理数据访问命令的预备状态;以及根据所述映射来重建表,并且基于所重建的表在已经表明了处理数据访问命令的所述预备状态后选择所述多个块中的至少一个以用于垃圾收集。

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

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

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

1