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

文档序号:9308573阅读:来源:国知局
中的F块中的一个F页,这意味着S页跨越整个S块。
[0047]各种数据结构之间的关系
[0048]图9A示出了根据一个实施例的逻辑到物理地址转换映射、S日志映射和S块之间的关系。附图标记902指示逻辑到物理地址转换映射中的条目(在一个实施例中存储在DRAM中)。根据一个实施例,逻辑到物理地址转换映射可以由L页号来进行索引,这是因为在逻辑到物理地址转换映射中每L页可以有一个条目902。闪速存储器中的L页的起始的物理地址以及其尺寸可以在映射条目902中给出;即以E页地址,E页内的偏移和L页的尺寸的方式。如早先所述,取决于L页的尺寸,L页可以跨越一个或多个E页并且也可以跨越F页和F块。
[0049]如904处所示,易失性存储器(例如,DRAM)也可以存储系统日志(S日志)映射。在S日志映射中的条目904存储关于S日志物理地位于非易失性存储器中何处的信息。例如,存储L页的起始位置的E页的物理地址的27个MSb可以构成S日志号(如先前图5中所示)。易失性存储器中的S日志映射条目904也可以包括在系统E页中引用的、在非易失性存储器中的S日志的地址。可以从易失性存储器中的S日志映射条目904中提取系统S块信息908。系统S块信息908可以由系统S块(在系统带中的S块)进行索引,并且可以包括系统S块中任何空闲或被使用的空间的尺寸,连同关于S块的其他信息一起。同样从S日志映射条目904中,可以提取在非易失性存储器910中所引用的S日志的物理位置(按照系统带中的E页来表示)。
[0050]根据一个实施例,系统带不包含L页数据,而可以包含文件管理系统(FMS)元数据和信息。系统带可以被配置为仅用于可靠性和断电简化的较低页。在正常操作期间,系统带不需要被读取,除非在垃圾收集期间。系统带可以被提供有比数据带显著较高的过剩供应以用于整体的WA优化。其他带包括:可以包含L页数据并且被频繁更新的热带,以及可以较少频繁更新并且可以包括较多静态数据的冷带,所述静态数据例如可以被收集作为GC的结果的数据。根据一个实施例,系统带、热带和冷带可以由S块基来进行分配。
[0051]如上所述,在非易失性存储器中的这些S日志中的每一个可以包括S日志条目的集合,并且覆盖例如价值32个E页的数据。非易失性存储器910中的这些S日志使得控制器202不仅能够重建易失性存储器中的逻辑到物理地址转换映射,而且能够重建易失性存储器中的S日志映射、用户S块信息906和系统S块信息908。
[0052]图9B是根据一个实施例的S日志映射912的框图。S日志映射912可以由S块号来进行索引,并且其每一个条目可以指向该S块的第一 S日志的起始位置,其继而可以覆盖该S块的预定数量的E页(例如,32个)。控制器202可以进一步被配置为建立或重建S日志的映射,以及将结果的S日志映射存储在易失性存储器中。S卩,在重启时或者在另一个断电事件发生时或者错误修复随后的重启之后,控制器202可以以预定的序列顺序来读取多个S日志,基于顺序读取的多个S日志来建立存储在非易失性存储器设备中的S日志的映射,并且将所建立的S日志映射912存储在易失性存储器中。
[0053]审新逻辑到物理地址转换映射
[0054]图10-13是示出了根据一个实施例的对逻辑到物理地址转换映射进行更新的方法的方面的框图。如图10所示,逻辑到物理地址转换映射1002包含L页100的条目(例如,L页的位置),所述条目具有3012字节的长度。在该示例中,L页100存储在S块15中,如1006处所示。在控制器202中的或耦合到控制器202的缓冲器1004 (例如,静态随机存取存储器(SRAM))可以存储包含L页100驻留于其中的S块15的P2L信息的S日志。在一些实施例中,缓冲器1004中所示内容实际上可以驻留于DRAM内。其条目由S块进行索引的用户S块信息906对于每个S块而言,可以包括该S块中的空闲或使用的空间(例如,精确的或近似的)尺寸,连同关于S块的其他信息一起。如图10所示,示出了针对S块15的用户S块信息906中的条目。图10示出了在控制器202处理对L页100的更新之前,这些组成的功能块的示例性状态。
[0055]如图11的1102处所示,接收到更新的L页100,新长度为1534字节。响应于接收到更新的L页100,L页100的信息可以从逻辑到物理地址转换映射1002中取得,并且(现在已废弃的)L页100的长度(3012字节)可以从逻辑到物理地址转换映射1002中提取,并用于相应地和确切地增加所跟踪的S块15的空闲空间值。特别地,用户S块信息906可以利用以下数据进行更新,所述数据指示:S块15现在具有3012额外字节的空闲空间,现在L页100的原始数据已经陈旧(例如,废弃)。
[0056]如图12所示,可以对逻辑到物理地址转换映射1002进行更新以容纳所更新的L页。例如,长度信息现在是1534字节。其后,现在可以利用包括长度信息的新L页信息来对针对更新发生的S块15的特定部分的缓冲器1004中的S日志进行更新,并且新接收的来自例如压缩器的L页可以被读到缓冲器1004中。当新L页在缓冲器中时,逻辑到物理地址转换映射1002中的L页100的条目可以暂时反映其在缓冲器中的位置,如箭头标注“I”所示。随后,在由仍在缓冲器1004中的现在被更新的S日志中的新创建的条目指定的E页地址处,所更新的L页100可以被刷新到热S块1008。对逻辑到物理地址转换映射1002中的映射表条目进行更新以反映物理E页地址以及L页最终目的地址的偏移,如箭头“2”所建议的。
[0057]如图13所示,在稍后的时间点,例如,在积累了充足数量的新条目之后,易失性存储器缓冲器1004中的S日志可以被写出到非易失性存储器,例如,到系统S块1010。系统S块1010可以是由控制器固件分配以用于存储S日志的闪速存储器的一部分。在非易失性存储器中保存S日志使逻辑到物理地址转换映射的稍后的重建能够进行,正如所需要的。
[0058]审新S日志和S日志映射
[0059]图14-17是示出了根据一个实施例的对系统带中的S日志和S日志映射进行更新的方法的方面的框图。附图示出了与由对L页100的相同的示例性更新所触发的S日志更新机制相关的额外细节。如其中所示,在易失性存储器(例如,同步动态随机存取存储器(SDRAM))中的S日志映射1402可以包含指向S日志在非易失性存储器中的物理位置的条目,其中所述S日志包含与L页100相关联的P2L映射数据。在该说明性示例中,相关的S日志(即,针对存储L页100的S块15的特定部分的S日志)位于系统S块3 (1408处)的E页42的起始位置处。
[0060]其后,如图15所示,L页100被更新,其长度为1534字节。然后可以从逻辑到物理地址转换映射1002中提取与当前L页100相关的信息(例如,E页地址、偏移和长度)。其后,存储L页100的E页地址可以用于提取S日志号,所述S日志号用于定位在S日志映射1402内的S日志条目位置。例如,在其中如图5和图6处所示的情况下,S日志号可以包括第一 32位E页地址的27个MSb。所述S日志号然后可以用于索引到S日志映射1402以获得位置,该位置然后可以用于识别包含感兴趣的S日志的系统S块。其后,如图15所示,系统S块信息908可以被更新以反映以下事实:S块3处的S日志中的针对L页100的日志条目现在是失效的,这是因为考虑到对L页100的最近更新,之前由该条目占用的空间现已被解除分配。所解除分配的空间现在是空闲空间,并且必须被记录。可选地,所使用的空间可以被记录,而空闲空间从使用的空间得出。因此,针对S块3的系统S块信息908中的条目在空间上增加了一个S日志条目;即,这里在该示例性实现中开发了 7字节。该空的空间其后可以在系统带的GC期间被考虑。
[0061]如图16所示,L页100然后可以被写到缓冲器1004,如1005处所示,因此,逻辑到物理地址转换映射1002可以被更新,以用于指向缓冲器1004(指示L页100被存储的物理位置)并且用于存储更新的L页100的长度(在这里所开发的示例中为1534)。应当注意的是,在此处,系统S块3仍包括指向包含L页100的附图标记1006处的S块15的S日志条目。然而,S块3的系统S块信息已经被更新以指示:附图标记1408处的系统S块3内的现已过时的S日志条目目前所占用的空间实际上是空闲空间。
[0062]图16也示出了缓冲器中不同的S日志。在一个实施例中,缓冲器1004中的S日志是用于记录写到开放的热S块7的新L页。在该示例中,利用更新的L页100 (现在也在缓冲器中)的L页号以及其长度信息来更新缓冲器1004中的S日志(其还没有被刷新到非易失性存储器),如图16的1007处的箭头所指示的。L页100现在可以从缓冲器1004被刷新到当前开放的热S块7,如图16的1404处所引用的。在此处,缓冲器中的S日志被更新以反映:更新的L页100已经被写到非易失性存储器。可替换地,可以在更新的L页100被写到非易失性存储器之前,利用更新的L页100的地址来更新逻辑到物理地址转换映射1002和S日志。在一个实施例中,该S日志中更新的条目将包含由逻辑到物理地址转换映射1002中的新L页100的条目所指向的E页和关于L页100的额外信息,如图6先前所示。
[0063]如图17所示,在积累了充足的数据之后,缓冲器1004中的S日志可以被写出到开放的系统S块I (在1406处所引用的)。在该示例中,该S日志被写出到开放的系统S块I的E页19。S日志映射1402现在包括指示S块15的部分存储在系统S块3,E页42的一个条目。然而,指向在S块15内L页100的旧位置的在该S日志内的条目不再是有效的。S日志映射1402还包括指示S ±夬7的S日志存储在系统S块1,E页19的一个条目。该S日志包括指向1404处的开放的热S块7作为更新的L页100在非易失性存储器中的位置的有效条目。以这种方式,包含P2L信息的S日志在缓冲器1004中被更新,并且最后被写出到非易失性存储器。另外,可以适当地更新S日志映射1402以使其指向这样的新更新的S日志。此外,可以适当地更新逻辑到物理地址转换映射1002,以使其指向正确的开放的热
[0064]有利地,在新写入时,本文描述和示出的S日志结构使写开销最小化。根据一个实施例,新的写操作迫使将新的S日志条目写到非易失性存储器中。因为只生成了每L页很少量的S日志条目数据(例如,在本文中所描述的7字节),所以由于系统数据写所导致的WA与常规系统相比有所减少。S日志数据是有效地大量的命令历史记录。更新的S日志数据被汇集起来并且顺序地写出到系统带。本文所描述和示出的S日志系统是高效的,这是由于所产生的映射信息与要被写入的数据是相同的,而没有额外的未改变的条目,只有被改变的条目被写到非易失性(例如,闪速)存储器,这与逻辑到物理映射的全部或部分被写到非易失性(例如,闪速)存储器不同。
[0065]上电时,系统带中的所有S日志数据可以被读取并且处理到DRAM中,以在易失性存储器中重建逻辑到物理地址转换映射。根据一个实施例,这按照S块被分配到系统带的顺序被完成。在一个实施例中,硬件支持用于使该大数据的装载能够快速发生以满足上电的时间要求
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1