首页> 中国专利> 逻辑到物理地址转译映射的基于区带的重构

逻辑到物理地址转译映射的基于区带的重构

摘要

可识别逻辑块地址到物理块地址“L2P”转译映射的一部分。可识别所述L2P转译映射的所述部分的最后一个快照。可确定一或多个写入操作,其中所述写入操作与所述L2P转译映射的所述部分的逻辑块地址相关联。所述写入操作可在所述L2P转译映射的所述部分的所述最后一个快照经存储之后已经执行。处理装置可基于所述所确定的一或多个写入操作和所述L2P转译映射的所述部分的所述最后一个快照来更新所述L2P转译映射的所述部分上的地址。

著录项

  • 公开/公告号CN112912859A

    专利类型发明专利

  • 公开/公告日2021-06-04

    原文格式PDF

  • 申请/专利权人 美光科技公司;

    申请/专利号CN201980070172.7

  • 申请日2019-09-26

  • 分类号G06F12/0873(20160101);G06F12/10(20160101);

  • 代理机构11287 北京律盟知识产权代理有限责任公司;

  • 代理人王龙

  • 地址 美国爱达荷州

  • 入库时间 2023-06-19 11:14:36

说明书

技术领域

本公开大体上涉及转译映射,且更具体来说,涉及逻辑到物理地址转译映射的基于区带(zone)的重构。

背景技术

存储器系统可包含存储数据的一或多个存储器组件。举例来说,固态驱动器(SSD)可包含例如非易失性存储器组件的存储器组件。SSD可另外包含可管理存储器组件中的每一个并且分配将存储于存储器组件处的数据的SSD控制器。主机系统可利用SSD并且请求来自SSD的数据。SSD控制器可用以从对应存储器组件检索数据并且将检索到的数据返回到主机系统。

附图说明

根据下文给出的详细描述和本公开的各种实施方案的附图,将更充分地理解本公开。

图1说明根据本公开的一些实施例的包含存储系统的实例计算环境。

图2说明根据本公开的一些实施例重构逻辑到物理地址转译映射。

图3是根据本公开的一些实施例的重构逻辑到物理地址转译映射的实例方法的流程图。

图4是根据本公开的一些实施例的重构逻辑到物理地址转译映射的实例方法的流程图。

图5是本公开的实施方案可在其中操作的实例计算机系统的框图。

具体实施方式

本公开的方面针对于重构逻辑到物理地址转译映射。一般来说,主机系统可利用存储系统来存储数据。主机系统可提供将存储于存储系统上的数据。数据可存储于存储系统内的存储器组件处并且从存储系统内的存储器组件检索。存储系统的实例是固态驱动器(SSD),其包含非易失性存储器和管理非易失性存储器的控制器。非易失性存储器是能够当切断电力时维持所存储的数据并且在重新接通电力之后检索所存储的数据的存储器类型。非易失性存储器的实例包含“与非”(NAND)类型快闪存储器。另一方面,易失性存储器是在通电时维持数据的存储器类型。易失性存储器的实例可包含一些随机存取存储器(RAM)装置,不过并非全部RAM装置都是易失性存储器。另外,已知为“高速缓存存储器”的RAM类型可用于存储数据,从而当请求存取时提供对数据的更快速存取。

SSD的控制器可管理数据的存储和检索。当主机系统请求存储或检索数据时,控制器可使用逻辑地址到物理地址(L2P)转译表或映射。L2P映射可包含对映射到对应物理地址(例如,快闪物理地址(FPA))的识别符的逻辑块地址(LBA)的识别符。L2P映射可包含逻辑连续次序的逻辑块地址。当主机系统请求存储或检索数据时,控制器可使用L2P映射识别逻辑地址并且查找或指配数据存储到或从中检索数据的对应物理地址。在实例中,如果主机系统请求将数据存储于特定逻辑地址处或从特定逻辑地址检索数据,那么控制器可识别L2P映射上的特定逻辑地址,并且识别存储有数据或将存储有数据的对应物理地址。特定逻辑地址和特定物理地址之间的映射关系可由于写入操作而改变。举例来说,L2P映射可识别与第一逻辑地址对应的在给定时间存储有第一数据的第一物理地址。在来自主机系统的以第二数据更新存储于第一逻辑地址处的第一数据的请求后,控制器即刻可将第二数据写入到第二物理地址,并且更新L2P映射的映射以使得第二物理地址映射到第一逻辑地址。因此,如果主机系统请求检索存储于第一逻辑地址处的数据,那么控制器可识别经更新L2P映射上的第一逻辑地址,查找将为第二物理地址的对应物理地址,并且检索经更新数据(例如,第二数据)。

L2P映射本身可存储于存储系统上。举例来说,L2P映射的最新版本可存储于NAND类型快闪存储器的快闪转译层(FTL)数据块条带上。控制器也可使用高速缓存环境用于数据存储和检索过程。举例来说,高速缓存环境可用于在处理时间对数据进行更快速存取。高速缓存环境可使用能够提供对数据的快速存取的存储器类型,例如RAM、高速缓存存储器等。控制器可将来自FTL数据块条带的L2P映射的最新快照加载到额外存储器(例如,RAM、DDR、高速缓存存储器等)上以用于在运行时间期间存取来自额外存储器的数据。快照是描述特定时间点的系统状态的数据。控制器可基于来自主机系统的请求,更新额外存储器上的L2P映射的部分。此外,控制器可周期性地获得额外存储器上的经更新L2P映射的快照并且将其存储回到FTL数据块条带。在一些实例中,如果整个L2P映射不装配于额外存储器中,那么控制器可加载L2P映射的部分的快照,视需要使用部分并且将所述部分的经更新快照存储回到FTL数据块条带。控制器接着可移除所述部分并且将L2P映射的另一部分加载到额外存储器上。另外,控制器可将用户数据的写入操作的按时间顺序的日志(log)存储为日记(journal),其中每一日记可包含所执行的写入操作的时间次序中的逻辑地址和对应物理地址的一些部分。因此,日记可被视为已经在存储系统处执行的写入操作的记录。

一种情境可当对额外存储器上的L2P映射的更新在存储回到FTL数据块条带之前可能变得不可用时出现。举例来说,额外存储器上的数据可归因于例如硬件失效、断电、数据损坏等事件而变得不可用。这将致使在存储于FTL数据块条带上的L2P映射的最新版本中不反映主机系统做出的最新写入请求。因此,在经更新L2P映射在存储回到FTL数据块条带之前变得不可用的事件中,可需要重构经更新L2P映射以便主机系统存取最新数据。常规地,重构L2P映射的一种方式可基于写入操作。写入操作可在存储于存储系统上的日记上可得。可按写入操作的存储的时间顺序从日志读取所述所述写入操作,并且对于每一写入操作,可识别逻辑地址和对应的物理地址。一个日记条目中的逻辑地址和下一日记条目中的逻辑地址可能不处于装配到额外存储器中的L2P映射的同一部分上。因而,控制器可重放(例如,读取)一个日记条目,识别其中的逻辑地址并且加载L2P映射的含有逻辑地址的第一部分以基于第一日记条目更新物理地址。控制器接着可读取下一日记条目,识别其中的可处于L2P映射的另一部分上的另一逻辑地址,所述另一部分不同于L2P映射的第一部分。控制器可清空第一部分并且加载另一部分以执行更新。控制器可需要针对下一日记条目重新加载第一部分且诸如此类。这可致使数据在不同存储器之间来回“辗转(thrashing)”或频繁且反复调换,可引起执行问题和资源不可用。此外,按时间顺序的日记重放可能导致起始存储系统以用于提供对最新数据的存取的操作的时间量增加。另外,基于按时间顺序的日记重放的重构可给从断电事件的重新起动过程带来额外开销并且减慢重新起动之后的数据写入操作。

本公开的方面通过使用逻辑地址到物理地址(L2P)转译映射(下文称为“L2P转译映射”或“转译映射”)的基于区带的重构来解决以上和其它缺陷。存储系统可识别将要加载于存储器上的L2P转译映射的“区带”或部分。区带(zone)可包含数据块的分区(region)。每一分区可包含L2P映射的连续条目。可确定区带的大小以使得L2P映射的部分可同时装配于存储器中的可用空间内。存储系统可通过识别和加载来自FTL数据块条带的L2P映射的部分的最新快照,将区带加载到存储器上。举例来说,存储系统可加载L2P映射的具有如下三个装配于存储器的分区的区带:所述三个分区来自存储于FTL数据块条带中的分区的最后三个快照。每一分区可与数据版本(例如,数据写入的序号)相关联,指示数据写入于FTL数据块条带上的次序。存储系统可从加载到存储器上的分区中识别具有最旧数据版本(例如,具有最前序号)的分区。存储系统可识别在分区的最后一个快照存储于FTL数据块条带上之后执行的写入操作。举例来说,存储系统可识别具有与经加载区带内的最旧分区相比较新的数据版本(例如,具有稍后序号)的日记。存储系统可重放所识别的日记的条目中的每一个(例如,读取来自日记中的日志的写入操作的按时间顺序的条目)并且识别日记中的逻辑地址是否匹配经加载区带内的逻辑地址。如果存在匹配逻辑地址,那么可使用日记条目中的物理地址来更新对应于区带内的匹配逻辑地址的物理地址。一旦存储系统结束评估在L2P映射的部分的最后一个快照经存储之后执行的所有写入操作,L2P映射的经加载部分便可为最新的。存储系统可将经加载部分的新快照存储到FTL映射上并且加载L2P映射的下一区带以继续执行基于区带的评估和重构。在分区写回到FTL数据块条带之前,存储系统不必将分区来回调换到存储器上,原因是基于所有稍后数据写入操作完全更新装配于存储器内的分区。这还允许每一区带的重构独立于其它区带的重构,从而可允许使用多个处理器执行多个区带的重构并且加速重构过程。

本公开的优点包含但不限于:由于可更高效地重构用于存储系统的L2P映射,因此存储系统的性能提高,同时通过满足对使存储系统为最新并且以较少时间回到操作状态的准备就绪时间要求,可提高存储系统提供的服务质量。鉴于L2P映射的基于区带的重构,因此可更高效、完整且无错误地提供来自主机系统的数据存储和检索请求,原因是有价值的计算资源不会浪费在调换数据进出存储器上,所述调换数据进出存储器会引起辗转问题。此外,从断电情境通电的机构可更快速且更高效,原因是L2P映射的不同部分的重构可由多个处理器执行。

图1说明包含存储系统110的实例计算环境100。一般来说,计算环境100可包含使用存储器系统110的主机系统120。举例来说,主机系统120可将数据写入到存储系统110并且从存储系统110读取数据。

主机系统120可以是计算装置,例如台式计算机、手提式计算机、网络服务器、移动装置或包含存储器和处理装置的此类计算装置。主机系统120可包含或耦合到存储系统110,使得主机系统120可从存储系统110读取数据或将数据写入到存储系统110。举例来说,主机系统120可经由物理主机接口耦合到存储系统110。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行连接的SCSI(SAS)等。物理主机接口可用于在主机系统120与存储器系统110之间发射数据。当存储系统110通过PCIe接口与主机系统120耦合时,主机系统120可进一步利用NVM高速(NVMe)接口存取存储器组件112A到112N。

如图1中所示,存储系统110可包含控制器111和存储器组件112A到112N。在一些实施例中,存储器组件112A到112N可基于非易失性存储器。举例来说,存储器组件112A到112N可为“与非”(NAND)类型快闪存储器。存储器组件112A到112N中的每一个可包含一或多个存储器单元阵列,如单层级单元(SLC)或多层级单元(MLC)(例如,三层级单元(TLC)或四层级单元(QLC))。在一些实施例中,特定存储器组件可包含SLC存储器单元和MLC存储器单元两者。存储器单元中的每一个可存储供主机系统120使用的一或多个数据位(例如,数据块)。虽然描述例如NAND类型快闪存储器的非易失性存储器组件,但存储器组件112A到112N可基于任何其它类型的非易失性存储器或易失性存储器。举例来说,存储器组件112A到112N可以是(但不限于)随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、相变存储器(PCM)、磁随机存取存储器(MRAM)、“或非”(NOR)快闪存储器、电可擦除可编程只读存储器(EEPROM)以及非易失性存储器单元的交叉点阵列。存储器组件112A到112N可以包含不同类型的非易失性存储器或易失性存储器的任何组合。此外,存储器组件112A到112N的存储器单元可分组为存储器页或数据块,其可指代用于存储数据的存储器组件的单元。

控制器111可与存储器组件112A到112N通信以执行操作,例如在存储器组件112A到112N处读取数据、写入数据或擦除数据和其它此类操作。此外,控制器111可包含例如一或多个集成电路和/或离散组件、处理装置、缓冲存储器的硬件、例如固件或其它指令的软件,或其组合。一般来说,控制器111可从主机系统120接收命令或操作且可将所述命令或操作转换成指令或适合的命令以实现对存储器组件112A到112N的所需存取。控制器111可负责其它操作,例如耗损均衡操作、垃圾收集操作、差错检测和差错校正码(ECC)操作、加密操作、高速缓存操作和在与存储器组件112A到112N相关联的逻辑块地址与物理块地址之间的地址转译。控制器111可另外包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路可将从主机系统接收到的命令转换成命令指令以存取存储器组件112A到112N,以及将与存储器组件112A到112N相关联的响应转换成用于主机系统120的信息。

参考图1,控制器111可包含L2P映射重构组件113,其可用于重构存储于存储系统110上的L2P转译映射。举例来说,L2P映射重构组件可从存储于存储系统110上的L2P映射的最新快照识别L2P映射的一部分。L2P映射重构组件113可识别在L2P映射的部分的最新快照存储于存储系统110上之后执行的写入操作。L2P映射重构组件可基于快照和所识别的写入操作,更新L2P映射的部分。下文描述关于L2P映射重构组件113的操作的另外细节。

存储系统110可包含未说明的额外电路系统或组件。举例来说,存储系统110可包含高速缓存器或缓冲器(例如,DRAM)和地址电路系统(例如,行解码器和列解码器),其可从控制器111接收地址且对地址进行解码以存取存储器组件112A到112N。

图2说明存储于存储系统200处的L2P映射的基于区带的重构。一般来说,存储系统200可对应于图1的存储系统110。在一些实例中,如图1中所描述的控制器的L2P重构组件113可执行参考图2描述的操作。

如图2所示,存储系统200可包含一或多个存储器组件,例如存储器组件210和存储器组件260。在一个实例中,存储器组件210可为NAND类型快闪存储器,且存储器组件260可为随机存取存储器(RAM),例如动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDR)等。存储器组件可将数据存储于数据块位置处的块中(例如,存储部分的粒度)。多个数据块位置可组成数据块条带。存储器组件可出于各种目的而分配各个数据块条带。举例来说,存储器组件210可包含存储从主机系统接收的用户数据的主机数据块条带(未示出)和存储与逻辑地址到物理地址以及物理地址到逻辑地址的转译相关的数据的快闪转译层(FTL)块条带212。

在运行时间期间,主机系统可请求检索用户数据并且存储用户数据。来自主机系统的用户数据可由存储系统200接收以进行存储或可从存储系统200检索。用户数据可为将在逻辑上依序写入于存储系统200上的一系列用户数据。举例来说,可接收来自一系列写入请求的用户数据以存储于存储器组件210处。存储系统可识别存储系统200上的存储器组件210的数据块位置,可在所述数据块位置中存储所接收的用户数据。数据块位置可为主机数据块条带上的一系列数据块位置,在所述数据块位置中,可按接收次序依序写入所述系列的用户数据。可为数据块位置中的每一个指配物理地址,例如快闪物理地址(FPA)。

来自主机系统的请求可提供用于存储和检索用户数据的逻辑块地址。存储系统可将逻辑块地址转译为存储器组件210的物理块地址,在所述物理块地址中存储或将存储数据。存储系统可使用L2P转译表或映射(“L2P映射”)。存储系统可将L2P映射存储于存储系统上。举例来说,L2P映射的最新版本可存储于FTL数据块条带212(“FTL 212”)上。存储系统可将L2P映射的一部分作为分区存储于FTL 212的数据块位置处。每一分区可包含L2P映射的一系列连续条目。可确定每一分区的大小以使得分区的条目装配到一个时隙或一个NAND页中。在每一分区写入于FTL 212上时,所述写入可与指示数据写入于存储系统上的次序的数据版本(例如,序号)相关联。举例来说,分区R1可为L2P映射220的含有存储于FTL 212上的连续逻辑块地址LB1-LB4的部分。FTL 212被描绘为存储与序号S110相关联的分区R1的版本。图2上描绘的序号S100-S310可为多个有序序号,指示数据写入到存储系统的次序。另外,其它分区R2-R6描绘为存储于FTL 212上。

L2P映射可包含映射到对应物理地址224(例如,快闪物理地址(FPA))的逻辑块地址(LBA)222。L2P映射可包含逻辑上连续次序的逻辑块地址。举例来说,L2P映射220的部分的逻辑块地址LB1、LB2、LB3、LB4等可表示一系列连续LBA。当主机系统请求存储或检索数据时,存储系统可使用L2P映射识别逻辑块地址并且查找或指配数据存储到或从中检索数据的对应物理地址。在实例中,如果主机系统请求从逻辑地址LB1检索用户数据,那么存储系统可识别映射220的部分上的LBA,识别存储有用户数据的对应物理地址FP5,并且检索存储于物理地址FP5上的用户数据,所述物理地址FP5可位于存储器组件210上的主机数据条带(未示出)上。

特定逻辑地址和特定物理地址之间的映射关系可随时间由于写入操作而改变。举例来说,L2P映射220的部分可包含与在时间T1存储有第一用户数据D1的逻辑地址LB2对应的物理地址FP2。依据来自主机系统的用第二用户数据D2更新存储于逻辑地址LB2处的用户数据的请求,存储系统可将第二用户数据D2写入到另一物理地址FP6。存储系统可在时间T2更新L2P映射220的部分的映射,使得物理地址FP6将从时间T2起映射(未示出)到逻辑地址LB2。因此,如果主机系统在时间T2之后请求检索存储于逻辑地址LB2处的数据,那么存储系统可在经更新L2P映射上识别所述数据,确定对应物理地址是FP6,并且检索存储于物理地址FP6处的经更新用户数据D2。因此,L2P映射内的映射关系可随时间改变。

存储系统也可保持数据写入操作的按时间顺序的日志。举例来说,在基于来自主机系统的请求将数据存储于存储系统上时,数据写入操作的日志可存储于日记中的FTL212上。日记可包含按时间顺序的数据写入操作集,以识别用户数据正在写入到何处,包含请求的LBA和对应FPA。在每一日记写入于FTL 212上时,所述写入可与指示数据写入于存储系统上的次序的数据版本(例如,序号)相关联。举例来说,日记J6可为日志230的包含请求的逻辑块地址232和存储有用户数据的对应物理地址234的部分。J6可含有按数据写入的时间顺序的数据写入操作,包含逻辑块地址LB10、LB15、LB3、LB5,以及对应物理地址。举例来说,FTL 212被描绘为存储与序号S220相关联的日记J6。

存储系统也可使用高速缓存环境用于在运行时间期间更快速存取数据。举例来说,存储器组件260可用于高速缓存环境。存储系统可将来自FTL的L2P映射的最新快照加载到存储器组件260(例如,RAM、DDR、高速缓存存储器等)上以用于在运行时间期间进行存取。存储系统可基于来自主机系统的请求更新存储器组件260上的L2P映射的部分。存储系统可周期性地获得存储器组件260上的最新L2P映射的快照并且将其存储回到FTL 212。FTL 212被描绘为包含稍后存储于FTL 212中并且与序号S200相关联的分区R1的另一快照。另外,从与分区R2的最新快照相关联的序号S210开始,分区R2-R5的经更新快照被描绘为存储于FTL212的稍后部分上。

如果一种情境当对存储器组件260上的L2P映射的更新在存储回到FTL 212之前可能变得不可用时出现,那么可需要重构L2P映射。经更新数据在存储器组件260上不可用可存在各种原因。举例来说,存储器260上的数据可归因于例如断电、硬件失效、资源不可用性、资源限制、数据损坏等事件变得不可用。这可致使在存储于FTL 212上的L2P映射的最新版本中不反映主机系统做出的最新写入请求。举例来说,R1可能从与序号S200关联地存储时起就已经进一步更新,然而,在反映对R1的此更新的新快照存储回到FTL 212之前,存储系统可在点250处经历断电。

当存储系统再次通电时,存储系统可重构最新L2P映射以便主机系统存取最新数据。为了重构L2P映射,存储系统可识别将加载到存储器组件260上的L2P映射的“区带”或一部分。通过基于存储器组件260的自由空间的大小来选择转译映射的可加载到存储器组件260上的部分,以此识别所述区带。区带可包含数据块的具有L2P映射的部分的分区。可确定区带的大小以使得分区同时装配于存储器组件260中的可用空间内。存储系统可通过识别和加载存储于FTL 212上的分区(例如,L2P映射的部分)的最新快照,将所确定的区带加载到存储器组件260上。如本文中所使用,术语“加载”可指“放置”、“复制”、“传送”等。因而,区带(例如,映射的部分)可通过放置或复制到存储器组件260上而加载到存储器组件260上。举例来说,存储系统可加载L2P映射的具有装配于存储器组件260中的三个分区R1、R2和R3的区带262。可从存储于FTL 212中的分区R1、R2和R3的最后三个快照获得区带262。经加载区带262上的分区R1、R2和R3中的每一个可与存储于FTL 212上的序号S200、S210和S230相关联。存储系统可从加载到存储器组件260上的分区R1、R2和R3中识别具有最旧数据版本(例如,具有最前序号)的分区并且将R1确定为具有序号S200、S210和S230中的较前序号S200的最旧分区。

存储系统可识别在分区的最后一个快照存储来FTL数据块条带上之后执行的写入操作。举例来说,存储系统可识别具有与经加载区带内的最旧分区相比较新的数据版本(例如,具有稍后序号)的日记。举例来说,存储系统可确定存储于FTL 212上的日记J6与序号S220相关联,所述序号S220在加载于存储器组件260上的分区R1的最新快照的序号S200之后。存储系统可进一步确定存储于FTL 212上的日记J6到J9全都具有在序号S200之后的序号。存储系统可通过从日记条目读取写入操作的按时间顺序的条目,重放所识别的日记J6到J9的条目中的每一个。

存储系统可识别日记中的每一个中的逻辑地址是否匹配区带内的经加载分区内的逻辑地址。如果存在匹配逻辑地址,那么可通过使用日记条目中的物理地址更新与区带内的匹配逻辑地址对应的物理地址。举例来说,存储系统可重放日记J6并且确定在分区R1-R3中未发现日记条目上的逻辑地址LB10和LB15。然而,日记J6中的逻辑地址LB3匹配分区R1上的逻辑地址LB3。存储系统可替换与存储器组件260上的经加载分区R1上的LB3对应的物理地址FP4。存储系统可将物理地址更新为经加载分区R1上的FP8,原因是逻辑地址LB3对应于日记J6上的物理地址FP8。存储系统可继续读取日记J6到J9的剩余条目并且在发现匹配逻辑地址时更新加载于存储器组件260上的分区R1到R3。

一旦存储系统结束评估在最后一个快照经存储之后执行的所有写入操作,含有分区R1-R3的经加载区带262(例如,L2P映射的经加载部分)便可为最新的并且为主机系统存取做好准备。存储系统可存储处于经更新为FTL 212之后的可分别与序号S290、S300和S310相关联的R1、R2和R3的新快照。存储系统可清除存储器组件260并且加载L2P映射的另一区带以继续执行基于区带的评估和重构。由于区带262的分区R1-R3同时装配于存储器260内并且基于在分区的最末快照之后的所有数据写入操作进行完全更新,因此不必在分区写回到FTL数据块条带212之前将分区来回调换到存储器上。

基于区带的重构也可允许每一区带的重构独立于其它区带的重构。因而,多个处理器可执行多个区带的重构以加速重构过程,这是因为一个区带的重构不取决于另一区带。举例来说,存储系统可划分含有分区R1和R2的第一区、含有分区R3和R4的第二区和含有分区R5和R6的第三区中的L2P映射。区带中的每一个可分别指配给第一处理器、第二处理器和第三处理器以用于那些区带的L2P映射的重构。区带可加载到存储器上且三个处理器可在同一时间执行三个区带的重构。由于不存在相依性,因此与用一个处理器执行重构相比,多个处理器可能够同时运行重构并且以更快速的速率完成重构。这允许存储系统以快得多的方式回到操作状态,从而使得可用计算机资源用于其它重要任务并且无延迟地将经更新数据存取到主机系统。在一些实施方案中,当在断电事件期间未成功地存储最新日记时,可重建日记的最新部分。在这类情境中,所存储的日记与所存储的元数据以及来自存储系统的用户数据进行比较。可识别所存储的日记上的未命中事务并且使用元数据比较提取所述未命中事务以用以重建最新日记。

图3是用于重构逻辑到物理地址转译映射的实例方法300的流程图。方法300可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法300可由图1的L2P映射重构组件113执行。

如图3所示,方法300可在框302处开始,其中处理逻辑识别逻辑块地址到物理块地址(L2P)转译映射的一部分。举例来说,可识别所述部分以使得所述部分同时装配于存储器这。举例来说,存储器可为随机存取存储器(RAM),且所识别的部分可为转译映射的可加载到RAM内可用的自由空间上以便同时装配于RAM的自由空间内的部分。在一个实例中,L2P转译映射的部分可识别逻辑块地址和对应物理块地址。

在框304处,处理逻辑识别L2P转译映射的部分的最后一个快照。所述最后一个快照是所述部分的如下快照:所示快照在最新L2P转译映射的所述部分的周期性地存储于存储系统中的多个快照当中在时间上最后保存于存储系统中。举例来说,L2P转译映射的部分的最后一个快照可存储于存储系统(例如,非易失性存储器)的数据块上。L2P转译映射的部分的最后一个快照可从存储系统获得并且加载到存储器(例如,易失性存储器)上。

在框306处,处理逻辑确定与L2P转译映射的部分的逻辑块地址相关联的写入操作。写入操作可在L2P转译映射的部分的最后一个快照经存储之后已经执行。举例来说,写入操作的标识可存储于存储系统的数据块上。写入操作可记录于日记(或日志)中。

在框308处,处理逻辑通过基于所确定的写入操作和L2P转译映射的部分的最后一个快照来更新L2P转译映射的部分上的地址,以此重构L2P转译映射。在一个实例中,对于写入操作中的每一个的每一给定逻辑块地址,更新所述部分可包含处理逻辑识别写入操作的逻辑块地址与映射的部分之间的匹配。处理逻辑接着可更新与映射的部分上的匹配逻辑地址对应的物理地址。所述部分上的物理地址可经更新为与写入操作的给定逻辑块地址对应的物理地址。在实例中,在对存储器上的部分更新完成后,处理逻辑即刻可将部分中的每一个的新快照存储回到存储系统的数据块。举例来说,易失性存储器处的L2P转译映射的经更新部分可存储于非易失性存储器处。

图4是用于重构逻辑到物理地址转译映射的实例方法400的流程图。方法400可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法400可由图1的控制器111的L2P映射重构组件113执行。

如图4中所示出,方法400可在框402处开始,其中处理逻辑将区带加载到存储器上。存储器可为随机存取存储器(RAM)。区带可包含数据块的分区。在实例中,分区中的每一个可包含逻辑到物理(L2P)转译表或映射的连续条目。在一个实例中,逻辑到物理转译表可包含逻辑块地址(LBA)和对应物理地址。在实例中,可从L2P表的部分的最新快照获得分区。在实例中,快照可存储于存储系统的数据块上。在一个实例中,分区中的每一个可与序号相关联。序号可以是多个有序序列的部分。

在框404处,处理逻辑可识别与分区相关联的特定序号。特定序号与关联于剩余区的序号相比可位于有序序号中较前处。在框406处,处理逻辑可识别与如下序号相关联的日记集:所述序号与特定序号相比位于多个有序序号中较后处。在实例中,所述日记集中的每一日记可包含按时间顺序的数据写入操作集。数据写入操作可结构化为日志。每一日记可表示日志的一部分。

在框408处,处理逻辑可基于日记集更新存储器中的区带的分区。在一个实例中,对于日记中的每一个的每一给定逻辑块地址,更新分区可包含处理逻辑识别日记的逻辑块地址与加载到存储器上的分区之间的匹配。处理逻辑接着可更新与加载到存储器上的分区上的匹配逻辑地址对应的物理地址。分区上的物理地址可经更新为与日记的给定逻辑块地址对应的物理地址。在实例中,在对存储器上的分区更新完成后,处理逻辑即刻可将分区中的每一个的新快照存储回到存储系统的数据块。

图5说明计算机系统500的实例机器,可在所述计算机系统500内执行用于致使所述机器执行本文中所论述的方法中的任一种或多种方法的指令集。举例来说,计算机系统500可对应于主机系统(例如,图1的主机系统120),其包含或使用存储系统(例如,图1的存储系统110)或可用以执行控制器的操作(例如,以执行操作系统从而执行对应于图1的L2P映射重构组件113的操作)。在替代实施方案中,机器可连接(例如,网路连接)到LAN、内联网、外联网和/或互联网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中的服务器或客户端机器的容量中操作。

实例计算机系统500包含处理装置502、主存储器504(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器506(例如,闪存存储器、静态随机存取存储器(SRAM)等),以及数据存储系统518,其经由总线530彼此通信。处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元等。更具体来说,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置502也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置502被配置成执行指令526以用于执行本文中所论述的操作和步骤。计算机系统500可另外包含网络接口装置508以在网络520上通信。

数据存储系统518可包含机器可读存储媒体524(也称为计算机可读媒体),其上存储有一或多个指令集526或体现本文中所描述的方法或功能中的任一或多种的软件。指令526还可在由计算机系统500执行期间完全或至少部分地驻存在主存储器504内和/或处理装置502内,主存储器504和处理装置502也构成机器可读存储媒体。机器可读存储媒体524、数据存储系统518和/或主存储器504可对应于图1的存储系统110。

在一个实施方案中,指令526包含实施对应于L2P映射重构组件(例如,图1的L2P映射重构组件113)的功能性的指令。虽然机器可读存储媒体524在实例实施方案中展示为单个媒体,但术语“机器可读存储媒体”应认为包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集合且致使机器执行本公开的方法中的任何一种或多种的任何媒体。术语“机器可读存储媒体”因此应被视为包含但不限于固态存储器、光学媒体和磁性媒体。

已在针对计算机存储器内的数据位的操作的算法和符号表示方面呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。在本文中,且一般将算法构想为产生所要结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。通常(但未必),这些量采用能够存储、组合、比较以及以其它方式操纵的电或磁信号的形式。已经证实,主要出于常用的原因,将这些信号称为位、值、元素、符号、字符、项、编号等等有时是便利的。

然而,应牢记,所有这些和类似术语将与适当物理量相关联,且仅仅为应用于这些量的便利标记。本公开可以指操控和变换计算机系统的寄存器和存储器内的表示为物理(电子)数量的数据为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。

本公开还涉及用于执行本文中的操作的设备。此设备可以出于所需目的而专门构造,或其可以包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储在计算机可读存储媒体中,例如(但不限于)任何类型的盘(包含软盘、光盘、CD-ROM和磁性光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或适合于存储电子指令的任何类型的媒体,它们各自耦合到计算机系统总线。

本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可根据本文中的教示与程序一起使用,或其可证明为便于构造更专用设备以执行所述方法。将如下文描述中所阐述的那样来呈现各种这些系统的结构。另外,未参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施如本文所描述的本公开的教示。

本公开可以提供为计算机程序产品或软件,其可以包含在其上存储有指令的机器可读媒体,所述指令可以用于编程计算机系统(或其它电子装置)以执行根据本公开的过程。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。举例来说,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读取存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器装置等。

在前述说明书中,本公开的实施方案已经参考其特定的实例实施方案进行描述。将显而易见的是,可在不脱离所附权利要求书中阐述的本公开的实施方案的更广精神及范围的情况下对其进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书及图式。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号