一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

逻辑重映射技术的制作方法

2023-02-19 08:33:58 来源:中国专利 TAG:

逻辑重映射技术
1.交叉引用
2.本专利申请要求parry等人于2021年8月11日提交的题为“逻辑重映射技术(logic remapping techniques)”的美国专利申请第17/399,406号的优先权,该美国专利申请已转让给其受让人,并且其全部内容通过引用明确并入本文。
技术领域
3.本技术领域涉及逻辑重映射技术。


背景技术:

4.存储器装置被广泛地用于在各种电子装置(如计算机、用户装置、照相机、数字显示器或其它装置)中存储信息。通过将存储器装置内的存储器单元编程为各种状态来存储信息。例如,二进制存储器单元可被编程为两种支持状态之一,通常对应于逻辑1或逻辑0。在一些实例中,单个存储器单元可支持多于两种可能的状态,其中任何一种状态都可由存储器单元存储。为了存取由存储器装置存储的信息,组件可读取或感测存储器装置内的一或多个存储器单元的状态。为了存储信息,组件可将存储器装置内的一或多个存储器单元写入或编程到对应状态。
5.存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(ram)、只读存储器(rom)、动态ram(dram)、同步动态ram(sdram)、静态ram(sram)、铁电ram(feram)、磁性ram(mram)、电阻ram(rram)、闪速存储器、相变存储器(pcm)、3维交叉点存储器(3d交叉点)、非或(nor)和非与(nand)存储器装置,及其它。存储器装置可是易失性的或非易失性的。除非由外部电源周期性更新,否则易失性存储器单元(例如,dram单元)可随时间推移而丢失其编程状态。非易失性存储器单元(例如,nand存储器单元)即使在不存在外部电源的情况下仍可在很长一段时间内维持其编程状态。


技术实现要素:

6.描述了一种设备。所述设备可包含:存储器装置;和控制器,所述控制器与所述存储器装置耦合且被配置为使得所述设备:接收写入命令以将信息存储在与所述设备相关联的第一逻辑地址处;至少部分地基于接收到写入命令,生成将第一逻辑地址与存储所述信息的所述设备的第一物理地址进行映射的逻辑到物理映射的第一条目;作为碎片整理操作的一部分,生成将第一逻辑地址与第二逻辑地址进行映射的逻辑到逻辑映射的第二条目,所述第二逻辑地址与在所述碎片整理操作之后存储在所述第一物理地址处的所述信息相关联;和作为所述碎片整理操作的一部分,至少部分地基于生成所述第二条目,生成将所述第二逻辑地址与所述第一物理地址的指示进行映射的逻辑到物理映射的第三条目。
7.描述一种非暂时性计算机可读媒体。所述非暂时性计算机可读媒体可存储包含指令的代码,所述指令当由电子装置的处理器执行时使得所述电子装置:接收写入命令以将信息存储在与存储器系统相关联的第一逻辑地址处;至少部分地基于接收到写入命令,生
成将所述第一逻辑地址与存储所述信息的所述存储器系统的第一物理地址进行映射的逻辑到物理映射的第一条目;作为碎片整理操作的一部分,生成将所述第一逻辑地址与第二逻辑地址进行映射的逻辑到逻辑映射的第二条目,所述第二逻辑地址与在所述碎片整理操作之后存储在第一物理地址的信息相关联;和作为所述碎片整理操作的一部分,至少部分地基于生成第二条目,生成将所述第二逻辑地址与所述第一物理地址的指示进行映射的逻辑到物理映射的第三条目。
8.描述了一种方法。所述方法可包含:接收写入命令以将信息存储在与存储器系统相关联的第一逻辑地址处;至少部分地基于接收到写入命令,生成将所述第一逻辑地址与存储所述信息的所述存储器系统的第一物理地址进行映射的逻辑到物理映射的第一条目;作为碎片整理操作的一部分,生成将所述第一逻辑地址与第二逻辑地址进行映射的逻辑到逻辑映射的第二条目,所述第二逻辑地址与在所述碎片整理操作之后存储在所述第一物理地址处的信息相关联;和作为所述碎片整理操作的一部分,至少部分地基于生成所述第二条目来生成将所述第二逻辑地址与所述第一物理地址的指示进行映射的所述逻辑到物理映射的第三条目。
附图说明
9.图1示出了根据如本文公开的实例的支持逻辑重映射技术的系统的实例。
10.图2示出了根据如本文公开的实例的支持逻辑重映射技术的系统的实例。
11.图3示出了根据如本文公开的实例的支持逻辑重映射技术的映射方案的实例。
12.图4示出了根据如本文公开的实例的支持逻辑重映射技术的映射方案的实例。
13.图5示出了根据如本文公开的实例的支持逻辑重映射技术的工艺流程的实例。
14.图6示出了根据如本文公开的实例的支持逻辑重映射技术的存储器装置的框图。
15.图7示出了说明根据如本文公开的实例的支持逻辑重映射技术的一或多种方法的流程图。
具体实施方式
16.存储器系统的存储器装置可将数据存储在物理地址处。例如,存储器系统可接收写入命令,所述写入命令指示存储器系统要写入一或多个存储器装置中的数据。写入命令可包含用于存储数据的逻辑地址,所述逻辑地址可不同于用于存储数据的物理地址。存储器系统可将数据存储在对应于物理地址的存储器装置的物理位置处。在一些情况下,由于存储器装置容纳额外数据的写入、由存储器装置执行的维护操作(例如,垃圾收集操作)或由于其它原因,存储器装置内的数据的物理或逻辑位置可能随时间改变。在一些实例中,主机系统或存储器系统可执行碎片整理操作以改善系统性能。例如,碎片整理过程可包含在连续的逻辑地址空间中重新组织一或多个文件的逻辑地址(而不是将这些逻辑地址分散在整个逻辑地址空间中),这可改善系统中的性能和存储密度。
17.在一些情况下,与存储器系统耦合的主机系统可使用逻辑地址(例如,逻辑块地址(lba)、虚拟地址、系统地址或其它逻辑地址)引用数据(例如,如果发出与数据相关联的读取、写入或其它命令),并且存储器系统可生成并维护与数据相关联的逻辑地址和存储数据的存储器单元的物理地址之间的映射。存储器系统可将逻辑地址和物理地址之间的映射存
储在映射或表(例如,逻辑到物理(l2p)映射或l2p表)中,如果对逻辑或物理地址做出改变,则所述映射或表可被更新。作为实例,主机系统或存储器系统可向数据分配新的逻辑地址(例如,作为碎片整理操作的一部分,存储器系统可将逻辑地址重新定位到新的逻辑地址)。在一些这样的实例中,主机系统或存储器系统还可将数据重写到新的物理地址,例如,以保持l2p表的准确性,并避免与在物理地址处存储有数据的元数据的内部不协调。然而,物理地址之间相对频繁的数据重写可能增加等待时间、增加功率消耗,并且可能减少存储器系统的寿命。
18.因此,本公开中所述的技术为存储器系统提供了逻辑到逻辑(l2l)映射或l2l表。除了l2p表之外或者作为其替代物,存储器系统可使用l2l表(例如,l2l映射)来支持使用碎片整理操作的逻辑地址的重映射。在一些实例中,l2l表可用于重映射逻辑地址,而无需将数据写入到存储器系统的新物理地址。例如,具有l2p表的存储器系统可经历碎片整理操作,以更改l2p表的将逻辑地址(由主机系统使用)与物理地址(由存储器系统使用)映射的一或多个l2p条目(例如,l2p指针)。在这类实例中,例如,作为在文件系统上执行的碎片整理操作的一部分,响应于主机命令(例如,移动命令),存储器系统可将数据的逻辑地址改变为l2p表中的新逻辑地址。存储器系统可生成将第一逻辑地址映射到第二逻辑地址的l2l表的条目,第一逻辑地址与碎片整理操作之前存储在物理地址处的信息相关联,并且第二逻辑地址与碎片整理操作之后存储在物理地址处的信息相关联。因此,存储器系统可使用l2l表来维护逻辑和物理地址的最新映射,而无需将数据重写到新的物理地址。例如,一些存储器系统可通过发出多个读取和写入命令来执行碎片整理操作,以便不仅将数据移动到新的逻辑地址,而且还导致数据也移动到新的物理地址。在l2l表中记录改变的逻辑地址可使得存储器系统能够成功地验证元数据(例如,使用在存储数据时生成元数据的第一逻辑地址),而不必将数据重写到数据的新物理地址。
19.在一些实例中,存储器系统可接收读取l2p条目的命令,所述l2p条目可直接指向物理地址,或者可指向l2l表的条目。在其中l2p条目指向物理地址的实例中,在一些实例中,存储器系统可使用l2l表来证实存储在物理地址的元数据与逻辑地址匹配。例如,在元数据中可包含与物理地址相关联的逻辑地址的指示。如果l2p映射中的逻辑地址改变,则元数据可能保持不变,这可能导致l2p表中指示的逻辑地址和元数据中指示的逻辑地址之间的不匹配。在其中l2p条目指向l2l表(例如,参考图4描述的l2l表)的条目的实例中,存储器系统可使用l2l表来识别用于检索数据的物理地址,并且还验证元数据(例如,匹配先前逻辑地址而不是当前逻辑地址的元数据)。在一些情况下,存储器系统可使用第一逻辑地址(例如,与碎片整理之前存储在物理地址处的信息相关联)来证实元数据。这些技术可使存储器系统能够保持逻辑和物理地址之间的最新映射,并且延长存储器装置的寿命,以及其它益处。
20.在一些实例中,存储器系统可在垃圾收集操作期间利用或更新l2l表。例如,存储器系统可在垃圾收集期间或者响应于其它标准(例如,如果检测到元数据中的不匹配或者在错误处理期间)搜索l2l表。另外或替代地,存储器系统可维护已经从第一逻辑地址重映射到第二逻辑地址的物理地址的位图(例如,包含l2l表中的条目的物理地址)。在一些实例中,存储器系统可包含指示存储器块(例如,虚拟块)中的重映射位置的数量的计数器。在这类实例中,存储器系统可对与由相应计数器指示的相对高的数量相关联的块中的垃圾收集
进行优先级排序(例如,存储器系统可响应于满足阈值或指示最高数量的重映射地址的计数器来执行垃圾收集)。
21.本公开的特征最初在参考图1至2的系统、装置和电路的上下文中描述。本公开的特征在参考图3至5的映射方案和处理流程的上下文中描述。本公开的这些和其它特征在参考图6至7的涉及逻辑重映射技术的设备图和流程图的上下文中被进一步示出和描述。
22.图1示出了根据如本文公开的实例的支持逻辑重映射技术的系统100的实例。系统100包含与存储器系统110耦接的主机系统105。
23.存储器系统110可为或包含任何装置或装置的集合,其中所述装置或装置的集合包含至少一个存储器阵列。例如,存储器系统110可为或包含通用快闪存储(ufs)装置、嵌入式多媒体控制器(emmc)装置、快闪装置、通用串行总线(usb)快闪装置、安全数字(sd)卡、固态驱动器(ssd)、硬盘驱动器(hdd)、双列直插式存储器模块(dimm)、小型dimm(so-dimm),或非易失性dimm(nvdimm),以及其它可能性。
24.系统100可包含在计算装置中,所述计算装置如台式计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、具物联网(iot)功能的装置、嵌入式计算机(例如,包含在交通工具、工业装备或联网商业装置中的嵌入式计算机),或包含存储器和处理装置的任何其它计算装置。
25.系统100可包含主机系统105,所述主机系统可与存储器系统110耦合。在一些实例中,这种耦合可包含与主机系统控制器106的接口,所述主机系统控制器可以是被配置为使得主机系统105根据如本文所述的实例执行各种操作的控制器或控制组件的实例。主机系统105可包含一或多个装置,并且在一些情况下可包含处理器芯片组和通过处理器芯片组执行的软件堆栈。例如,主机系统105可包含被配置为用于与存储器系统110或其中的装置通信的应用程序。处理器芯片组可包含一或多个核心、一或多个高速缓存(例如,主机系统105本地的或包含在所述主机系统中的存储器)、存储器控制器(例如,nvdimm控制器),和存储协议控制器(例如,外围组件互连高速(pcie)控制器、串行高级技术附件(sata)控制器)。主机系统105可使用存储器系统110,例如,向存储器系统110写入数据和从存储器系统110读取数据。尽管图1中示出了一个存储器系统110,但是主机系统105可与任何数量的存储器系统110耦合。
26.主机系统105可经由至少一个物理主机接口与存储器系统110耦合。在一些情况下,主机系统105和存储器系统110可经配置以使用相关联协议经由物理主机接口通信(例如,以在存储器系统110与主机系统105之间交换或以其它方式传达控制、地址、数据及其它信号)。物理主机接口的实例可包含但不限于sata接口、ufs接口、emmc接口、pcie接口、usb接口、光纤通道接口、小型计算机系统接口(scsi)、串行连接的scsi(sas)、双数据速率(ddr)接口、dimm接口(例如,支持ddr的dimm套接接口)、开放nand快闪接口(onfi),和低功率双数据速率(lpddr)接口。在一些实例中,一或多个这样的接口可被包含在主机系统105的主机系统控制器106和存储器系统110的存储器系统控制器115中或者以其它方式被支持在它们之间。在一些实例中,主机系统105可经由包含在存储器系统110中的每个存储器装置130的相应物理主机接口,或者经由包含在存储器系统110中的每种类型的存储器装置130的相应物理主机接口,与存储器系统110耦合(例如,主机系统控制器106可与存储器系统控制器115耦合)。
27.存储器系统110可包含存储器系统控制器115和一或多个存储器装置130。存储器装置130可包含任何类型的存储器单元(例如,非易失性存储器单元、易失性存储器单元或其任何组合)的一或多个存储器阵列。尽管在图1的实例中示出了两个存储器装置130-a和130-b,但是存储器系统110可包含任何数量的存储器装置130。此外,如果存储器系统110包含多于一个存储器装置130,则存储器系统110内的不同存储器装置130可包含相同或不同类型的存储器单元。
28.存储器系统控制器115可与主机系统105耦合和通信(例如,经由物理主机接口),并且可以是被配置为使得存储器系统110根据如本文所述的实例执行各种操作的控制器或控制组件的实例。存储器系统控制器115还可与存储器装置130耦合和通信,以在存储器装置130处执行如读取数据、写入数据、擦除数据或刷新数据的操作,以及其它这样的操作,这些操作通常可被称为访问操作。在一些情况下,存储器系统控制器115可从主机系统105接收命令且与一或多个存储器装置130通信以执行此些命令(例如,在一或多个存储器装置130内的存储器阵列处)。例如,存储器系统控制器115可从主机系统105接收命令或操作,并且可将命令或操作转换成指令或适当的命令,以实现对存储器装置130的期望访问。在一些情况下,存储器系统控制器115可与主机系统105以及一或多个存储器装置130交换数据(例如,响应于来自主机系统105的命令或者以其它方式与来自所述主机系统的命令相关联)。例如,存储器系统控制器115可将与存储器装置130相关联的响应(例如,数据分组或其它信号)转换成用于主机系统105的相应信号。
29.存储器系统控制器115可配置为用于与存储器装置130相关联的其它操作。例如,存储器系统控制器115可执行或管理操作,如耗损均衡操作、垃圾收集操作、错误检测操作或错误校正操作等错误控制操作、加密操作、高速缓存操作、媒体管理操作、背景刷新、健康监测,以及与来自主机系统105的命令相关联的逻辑地址(例如,逻辑块地址(lba))和与存储器装置130内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转换。
30.存储器系统控制器115可包含硬件,如一或多个集成电路或离散组件、缓冲存储器或其组合。硬件可包含具有专用(例如,硬编码)逻辑的电路系统,以执行本文归于存储器系统控制器115的操作。存储器系统控制器115可以是或包含微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)、数字信号处理器(dsp))或任何其它合适的处理器或处理电路系统。
31.存储器系统控制器115还可包含本地存储器120。在一些情况下,本地存储器120可包含只读存储器(rom)或其它可存储操作代码(例如,可执行指令)的存储器,所述操作代码可由存储器系统控制器115执行以执行本文中归于存储器系统控制器115的功能。在一些情况下,本地存储器120可另外或替代地包含静态随机存取存储器(sram)或其它可供存储器系统控制器115用于内部存储或计算的存储器,例如,与本文中归于存储器系统控制器115的功能有关的内部存储或计算。另外或替代地,本地存储器120可用作存储器系统控制器115的高速缓存。例如,如果从存储器装置130读取或向其写入,则数据可存储在本地存储器120中,并且数据可在本地存储器120内供主机系统105(例如,相对于存储器装置130具有减小的等待时间)用于后续根据高速缓存策略进行检索或操控(例如,更新)。
32.尽管图1中的存储器系统110的实例已被图示为包含存储器系统控制器115,但在一些情况下,存储器系统110可能不包含存储器系统控制器115。例如,存储器系统110可另
外或替代地依赖于外部控制器(例如,由主机系统105实施)或一或多个本地控制器135,其可分别在存储器装置130的内部,以执行本文归于存储器系统控制器115的功能。一般而言,在一些情况下,本文归于存储器系统控制器115的一或多个功能可替代地由主机系统105、本地控制器135或其任何组合来执行。在一些情况下,至少部分地由存储器系统控制器115管理的存储器装置130可称为受管理存储器装置。受管理存储器装置的实例是受管理nand(mnand)装置。
33.存储器装置130可包含非易失性存储器单元的一或多个阵列。例如,存储器装置130可包含nand(例如,nand快闪)存储器、rom、相变存储器(pcm)、自选存储器、其它基于硫族化物的存储器、铁电随机存取存储器(ram)(feram)、磁性ram(mram)、nor(例如,nor快闪)存储器、自旋转移力矩(stt)-mram、导电桥接ram(cbram)、电阻式随机存取存储器(rram)、基于氧化物的rram(oxram)、电可擦除可编程rom(eeprom),或其任何组合。另外或替代地,存储器装置130可包含易失性存储器单元的一或多个阵列。例如,存储器装置130可包含ram存储器单元,如动态ram(dram)存储器单元和同步dram(sdram)存储器单元。
34.在一些实例中,存储器装置130可包含(例如,在相同裸片上或在相同封装内)本地控制器135,其可在相应存储器装置130的一或多个存储器单元上执行操作。本地控制器135可结合存储器系统控制器115操作,或者可执行本文归于存储器系统控制器115的一或多个功能。例如,如图1所示,存储器装置130-a可包含本地控制器135-a,并且存储器装置130-b可包含本地控制器135-b。
35.在一些情况下,存储器装置130可以是或包含nand装置(例如,nand快闪装置)。存储器装置130可以是或者包含存储器裸片160。例如,在一些情况下,存储器装置130可以是包含一或多个裸片160的封装。在一些实例中,裸片160可以是从晶片上切割下来的一块电子装置级半导体(例如,从硅晶片上切割下来的硅裸片)。每个裸片160可包含一或多个平面165,并且每个平面165可包含相应的一组块170,其中每个块170可包含相应的一组页175,并且每个页175可包含一组存储器单元。
36.在一些情况下,nand存储器装置130可包含被配置为各自存储一个信息位的存储器单元,其可被称为单层级单元(slc)。另外或替代地,nand存储器装置130可包含被配置为各自存储多个信息位的存储器单元,如果被配置为各自存储两个信息位,则其可被称为多层级单元(mlc),如果被配置为各自存储三个信息位,则其可被称为三层级单元(tlc),如果被配置为各自存储四个信息位,则其可被称为四层级单元(qlc),或更一般地被称为多层级存储器单元。多层级存储器单元可相对于slc存储器单元提供更大的存储密度,但在一些情况下,可能涉及用于支持电路系统的更窄读取或写入裕度或更大复杂度。
37.在一些情况下,平面165可指块170的组,并且在一些情况下,并发操作可发生在不同的平面165内。例如,只要不同的块170在不同的平面165中,就可在不同的块170内的存储器单元上执行并发操作。在一些情况下,单独的块170可被称为物理块,并且虚拟块180可指其中可发生并发操作的一组块170。例如,可对分别在平面165-a、165-b、165-c和165-d内的块170-a、170-b、170-c和170-d上执行并发操作,并且块170-a、170-b、170-c和170-d可被统称为虚拟块180。在一些情况下,虚拟块可包含来自不同存储器装置130的块170(例如,包含存储器装置130-a和存储器装置130-b的一或多个平面中的块)。在一些情况下,虚拟块内的块170可在它们相应的平面165内具有相同的块地址(例如,块170-a可以是平面165-a的“块
0”,块170-b可以是平面165-b的“块0”,等等)。在一些情况下,在不同平面165中进行并行操作可受制于一或多个限制,如对不同页175内的存储器单元进行并行操作,所述存储器单元在其相应平面165内具有相同页地址(例如,与命令解码、页地址解码电路系统,或跨平面165共享的其它电路系统相关)。
38.在一些情况下,块170可包含组织成行(页175)和列(例如,串,未示出)的存储器单元。例如,相同页175中的存储器单元可共享共同字线(例如,与其耦合),并且相同串中的存储器单元可共享共同数字线(其可替代地被称为位线)(例如,与其耦合)。
39.对于一些nand架构,存储器单元可在第一粒度级别(例如,在页粒度级别)读取和编程(例如,写入),但可在第二粒度级别(例如,在块粒度级别)擦除。也就是说,页175可为可独立地编程或读取(例如,作为单个编程或读取操作的一部分同时编程或读取)的存储器(例如,存储器单元的集合)的最小单元,并且块170可为可独立地擦除(例如,作为单个擦除操作的一部分同时擦除)的存储器(例如,存储器单元的集合)的最小单元。此外,在一些情况下,nand存储器单元可在其可用新数据重写之前进行擦除。因此,例如,在一些情况下,可直到包含页175的整个块170已被擦除才更新所使用的页175。
40.在一些情况下,为了更新块170内的一些数据,同时保留块170内的其它数据,存储器装置130可将待保留的数据复制到新块170,并将更新的数据写入到新块170的一或多个剩余页。存储器装置130(例如,本地控制器135)或存储器系统控制器115可将保留在旧块170中的数据标记为或以其它方式指定为无效或过时,并且可更新l2p映射表以将数据的逻辑地址(例如,lba)与新的有效块170而不是旧的无效块170相关联。在一些情况下,例如,由于等待时间或损耗的考虑,可执行这种复制和重映射,而不是擦除和重写整个旧块170。在一些情况下,l2p映射表的一或多个副本可存储在存储器装置130的存储器单元内(例如,一或多个块170或平面165内),以供本地控制器135或存储器系统控制器115使用(例如,参考和更新)。
41.在一些情况下,可维持l2p映射表且可以页级别的粒度将数据标记为有效或无效的,并且页175可含有有效数据、无效数据或不含数据。无效数据可以是由于数据的较新版本或更新版本存储在存储器装置130的不同页175中而过时的数据。无效数据先前可能已被编程到无效页175,但可能不再与有效逻辑地址(如由主机系统105参考的逻辑地址)相关联。有效数据可以是存储在存储器装置130上的此类数据的最新版本。不包含数据的页175可以是从未被写入或已被擦除的页175。
42.在一些情况下,存储器系统控制器115或本地控制器135可执行存储器装置130的操作(例如,作为一或多个媒体管理算法的一部分),如耗损均衡、后台刷新、垃圾收集、清理、块扫描、健康监测,或其它操作,或其任何组合。例如,在存储器装置130内,块170可具有含有有效数据的一些页175和含有无效数据的一些页175。为了避免等待块170中的所有页175具有无效数据以便擦除和重复使用块170,可调用被称作“垃圾收集”的算法,以允许块170被擦除和释放为用于后续写入操作的空闲块。垃圾收集可指媒体管理操作集,其包含例如选择含有有效和无效数据的块170、选择块中含有有效数据的页175、将来自所选页175的有效数据复制到新位置(例如,另一块170中的空闲页175)、将先前选择的页175中的数据标记为无效,以及擦除选定块170。因此,可增加已擦除的块170的数量,使得可使用更多的块170来存储后续数据(例如,后续从主机系统105接收到的数据)。
43.系统100可包含支持逻辑重映射技术的任何数量的非暂时性计算机可读媒体。例如,主机系统105、存储器系统控制器115或存储器装置130可包含或以其它方式可存取一或多个存储指令(例如,固件)的非暂时性计算机可读媒体,所述指令用于执行本文归于主机系统105、存储器系统控制器115或存储器装置130的功能。例如,这类指令如果由主机系统105(例如,由主机系统控制器106)、由存储器系统控制器115或由存储器装置130(例如,由本地控制器135)执行,则这些指令可使得主机系统105、存储器系统控制器115或存储器装置130执行如本文所述的一或多个相关联的功能。
44.在一些情况下,存储器系统110可利用存储器系统控制器115以提供受管理存储器系统,所述受管理存储器系统可包含例如一或多个存储器阵列和与本地(例如,裸片上或封装中)控制器(例如,本地控制器135)组合的相关电路系统。受管理存储器系统的实例是mnand系统。
45.系统100可支持如本文所述的l2l表。例如,除了l2p表或作为其替代,存储器系统110(或主机系统105)可使用l2l表(例如,l2l映射)来支持作为碎片整理操作的一部分的逻辑地址的重映射,例如,无需将数据重写到新的物理地址。例如,主机系统105可更新一或多个逻辑地址(例如,主机系统105可执行碎片整理操作以重映射连续逻辑空间中的一或多个文件或数据的逻辑地址),而无需将物理空间中的数据重写到存储器系统110的新物理地址,这可提高碎片整理速度并减少媒体磨损。在一些实例中,主机系统105可包含或被称为文件系统。存储器系统110可生成将第一逻辑地址(例如,在更新之前映射到物理地址)映射到第二逻辑地址(例如,在更新之后映射到物理地址)的l2l表的条目。因此,存储器系统110可使用l2l表来维护逻辑和物理地址的最新映射,而不使用读取和写入命令来重映射逻辑地址。例如,在l2l表中记录改变的逻辑地址可使存储器系统能够成功地验证元数据(例如,使用在存储数据时生成元数据的第一逻辑地址),而不必将数据重写到不同的物理地址,以及其它益处。也就是说,l2p表的条目可将第二逻辑地址与第一物理地址的指示进行映射。在一些实例中,第一物理地址的指示可以是指向包含指向第一物理地址的指针的l2l表的指针。
46.另外或替代地,系统100可维护一或多个指示对应于重映射的逻辑地址的物理地址的位图、一或多个指示相应块170中的重映射的位置的数量的计数器,或其任何组合。
47.图2示出了根据如本文公开的实例的支持逻辑重映射技术的系统200的实例。系统200可以是如参考图1或其方面描述的系统100的实例。系统200可包含存储器系统210,其配置为存储从主机系统205接收到的数据,并且如果由主机系统205使用存取命令(例如,读取命令或写入命令)来请求,则将数据发送到主机系统205。系统200可实现如参考图1描述的系统100的各方面。例如,存储器系统210和主机系统205可分别是存储器系统110和主机系统105的实例。
48.存储器系统210可包含存储器装置240,以例如响应于从主机系统205接收到存取命令而存储在存储器系统210和主机系统205之间传送的数据,如本文所述。存储器装置240可包含如参考图1描述的一或多个存储器装置。例如,存储器装置240可包含nand存储器、pcm、自选择存储器、3d交叉点、其它基于硫族化物的存储器、feram、mram、nor(例如,nor闪存)存储器、stt-mram、cbram、rram或oxram。
49.存储器系统210可包含存储控制器230以用于控制直接进出存储器装置240的数据
的传递,例如用于存储数据、检索数据,以及确定待将数据存储在其中和待从其检索数据的存储器位置。存储控制器230可使用特定于每种类型的存储器装置240的协议直接或经由总线(未示出)与存储器装置240通信。在一些情况下,单个存储控制器230可用于控制相同或不同类型的多个存储器装置240。在一些情况下,存储器系统210可包含多个存储控制器230,例如,用于每种类型的存储器装置240的不同的存储控制器230。在一些情况下,存储控制器230可实现如参考图1描述的本地控制器135的方面。
50.存储器系统210可另外包含用于与主机系统205通信的接口220和用于在主机系统205和存储器装置240之间传送的数据的临时存储的缓冲器225。接口220、缓冲器225和存储控制器230可用于在主机系统205和存储器装置240之间转换数据,例如,如由数据路径250所示,并且可统称为数据路径组件。
51.在传送期间使用缓冲器225临时地存储数据可允许在处理命令时缓冲数据,由此减少命令之间的等待时间且允许与命令相关联的任意数据大小。这还可允许处理命令突发,并且一旦突发停止,就可存储或传输(或两者)经缓冲数据。缓冲器225可包含相对快速的存储器(例如,一些类型的易失性存储器,如sram或dram)或硬件加速器或两者,以允许快速存储和检索进出缓冲器225的数据。缓冲器225可包含用于缓冲器225和其它组件之间的双向数据传送的数据路径切换组件。
52.数据在缓冲器225内的暂时存储可指在执行存取命令期间数据在缓冲器225中的存储。也就是说,在完成存取命令后,相关联数据可能不再维持在缓冲器225中(例如,可用额外存取命令的数据覆写)。此外,缓冲器225可以是非高速缓存缓冲器。也就是说,通过主机系统205不能直接从缓冲器225中读取数据。例如,可将读取命令添加到队列中,而无需将地址与已经在缓冲器225中的地址相匹配的操作(例如,无需高速缓存地址匹配)。
53.存储器系统210可另外包含用于执行从主机系统205接收到的命令且在移动数据时控制数据路径组件的存储器系统控制器215。存储器系统控制器215可以是如参考图1描述的存储器系统控制器115的实例。总线235可用于在系统组件之间通信。
54.在一些情况下,一或多个队列(例如,命令队列260、缓冲器队列265和存储队列270)可用于控制存取命令的处理和对应数据的移动。例如,如果通过存储器系统210同时处理来自主机系统205的多于一个存取命令,这可能是有益的。命令队列260、缓冲器队列265和存储队列270分别在接口220、存储器系统控制器215和存储控制器230处被描绘,作为可能实现的实例。然而,队列(如果使用的话)可位于存储器系统210内的任何位置。
55.在主机系统205和存储器装置240之间传送的数据可在存储器系统210中采用与非数据信息(例如,命令、状态信息)不同的路径。例如,存储器系统210中的系统组件可使用总线235彼此通信,而数据可通过数据路径组件而不是总线235使用数据路径250。存储器系统控制器215可通过经由总线235与数据路径组件通信(例如,使用特定于存储器系统210的协议)来控制数据如何以及是否在主机系统205和存储器装置240之间传输。
56.如果主机系统205将存取命令传输到存储器系统210,则命令可由接口220例如根据协议(例如,ufs协议或emmc协议)接收。因此,接口220可被认为是存储器系统210的前端。在接收到每个存取命令时,接口220可例如经由总线235将该命令传送到存储器系统控制器215。在一些情况下,通过接口220可将每个命令添加到命令队列260中,以将该命令传送到存储器系统控制器215。
57.存储器系统控制器215可在接收到来自接口220的通信后,确定已经接收到存取命令。在一些情况下,存储器系统控制器215可通过从命令队列260中检索命令来确定已经接收到存取命令。在例如由存储器系统控制器215从命令队列260中检索到命令之后,可从所述命令队列中移除该命令。在一些情况下,存储器系统控制器215可例如经由总线235使接口220从命令队列260中移除命令。
58.在确定已接收到存取命令后,存储器系统控制器215就可执行存取命令。对于读取命令,这可能意指从存储器装置240获得数据并将数据传输到主机系统205。对于写入命令,这可能意指从主机系统205接收数据并将数据移动到存储器装置240。
59.在任一情况下,存储器系统控制器215可使用缓冲器225临时存储从主机系统205接收或发送到所述主机系统的数据,以及其它用处。缓冲器225可被视为存储器系统210的中端。在一些情况下,缓冲器地址管理(例如,指向缓冲器225中的地址位置的指针)可由接口220、缓冲器225或存储控制器230中的硬件(例如,专用电路)执行。
60.为了处理从主机系统205接收到的写入命令,存储器系统控制器215可首先确定缓冲器225是否具有足够可用空间来存储与命令相关联的数据。例如,存储器系统控制器215可例如经由固件(例如,控制器固件)确定缓冲器225内可用于存储与写入命令相关联的数据的空间量。
61.在一些情况下,缓冲器队列265可用于控制与存储在缓冲器225中的数据相关联的命令流,包含写入命令。缓冲器队列265可包含与当前存储在缓冲器225中的数据相关联的存取命令。在一些情况下,命令队列260中的命令可由存储器系统控制器215移动到缓冲器队列265,并且可保留在缓冲器队列265中,同时相关联的数据被存储在缓冲器225中。在一些情况下,缓冲器队列265中的每个命令可与缓冲器225中的地址相关联。也就是说,可维护指示与每个命令相关联的数据存储在缓冲器225中何处的指针。使用缓冲器队列265,可从主机系统205循序接收多个存取命令且可并行处理存取命令的至少部分。
62.如果缓冲器225具有足够的空间来存储写入数据,则存储器系统控制器215可使接口220向主机系统205传送可用性的指示(例如,“准备传送”指示),例如,根据协议(例如,ufs协议或emmc协议)。当接口220后续从主机系统205接收与写入命令相关联的数据时,接口220可使用数据路径250将数据传送到缓冲器225用于临时存储。在一些情况下,接口220可从缓冲器225或缓冲器队列265获得缓冲器225内存储数据的位置。接口220可例如经由总线235向存储器系统控制器215指示是否已完成到缓冲器225的数据传送。
63.一旦写入数据已经通过接口220存储在缓冲器225中,数据就可传送到缓冲器225之外并存储于存储器装置240中。这可使用存储控制器230完成。例如,存储器系统控制器215可使存储控制器230使用数据路径250检索缓冲器225之外的数据,并将数据传送到存储器装置240。存储控制器230可被视为存储器系统210的后端。存储控制器230可例如经由总线235向存储器系统控制器215指示去往存储器装置240的存储器装置的数据传送已经完成。
64.在一些情况下,存储队列270可用于辅助写入数据的传送。例如,存储器系统控制器215可将写入命令从缓冲器队列265推送(例如,经由总线235)到存储队列270以供处理。存储队列270可包含用于每一存取命令的条目。在一些实例中,存储队列270可另外包含:缓冲器指针(例如,地址),其可指示在缓冲器225中何处存储与命令相关联的数据;及存储指
针(例如,地址),其可指示存储器装置240中与数据相关联的位置。在一些情况下,存储控制器230可从缓冲器225、缓冲器队列265或存储队列270获得缓冲器225内从其获得数据的位置。存储控制器230可管理存储器装置240内的位置以存储数据(例如,执行损耗平衡、垃圾收集或其它操作)。这些条目可例如由存储器系统控制器215添加到存储队列270中。在完成数据的传送时,例如由存储控制器230或存储器系统控制器215从存储队列270中移除条目。
65.为了处理从主机系统205接收到的读取命令,存储器系统控制器215可再次首先确定缓冲器225是否具有足够可用空间以存储与命令相关联的数据。例如,存储器系统控制器215可例如经由固件(例如,控制器固件)确定在缓冲器225内可用于存储与读取命令相关联的数据的空间量。
66.在一些情况下,缓冲器队列265可用于以与上文关于写入命令所论述的类似方式来辅助与读取命令相关联的数据的缓冲器存储。例如,如果缓冲器225具有足够的空间来存储读取数据,则存储器系统控制器215可使存储控制器230从存储器装置240检索与读取命令相关联的数据,并且使用数据路径250将数据存储在缓冲器225中用于临时存储。存储控制器230可例如经由总线235向存储器系统控制器215指示到缓冲器225的数据传送是否已经完成。
67.在一些情况下,存储队列270可用于辅助读取数据的传送。例如,存储器系统控制器215可将读取命令推送到存储队列270以供处理。在一些情况下,存储控制器230可从缓冲器225或存储队列270获得存储器装置240内从其检索数据的位置。在一些情况下,存储控制器230可从缓冲器队列265获得缓冲器225内用以存储数据的位置。在一些情况下,存储控制器230可从存储队列270获得缓冲器225内用以存储数据的位置。在一些情况下,存储器系统控制器215可将存储队列270处理的命令移动回到命令队列260。
68.一旦数据已经通过存储控制器230被存储在缓冲器225中,就可将数据从缓冲器225中传送出来并发送至主机系统205。例如,存储器系统控制器215可使得接口220使用数据路径250从缓冲器225检索数据,并且例如根据协议(例如,ufs协议或emmc协议)将数据传送到主机系统205。例如,接口220可处理来自命令队列260的命令,并且可例如经由总线235向存储器系统控制器215指示已完成到主机系统205的数据传输。
69.存储器系统控制器215可根据次序(例如,根据命令队列260的次序的先入先出次序)执行接收到的命令。对于每一命令,存储器系统控制器215可使得对应于命令的数据移动进出缓冲器225,如上文所论述。随着数据被移动到并存储在缓冲器225中,命令可保留在缓冲器队列265中。如果命令的处理已经完成(例如,如果对应于存取命令的数据已经被传送出缓冲器225),则可例如由存储器系统控制器215从缓冲器队列265移除该命令。如果从缓冲器队列265移除命令,则先前存储与所述命令相关联的数据的地址可用于存储与新命令相关联的数据。
70.存储器系统控制器215可另外地被配置为用于与存储器装置240相关联的操作。例如,存储器系统控制器215可执行或管理操作,如损耗平衡操作、垃圾收集操作、如错误检测操作或错误校正操作的错误控制操作、加密操作、高速缓存操作、媒体管理操作、后台刷新、健康监视,以及与来自主机系统205的命令相关联的逻辑地址(例如,lba)和与存储器装置240内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转换。也就是说,主机系统205可发出指示一或多个lba的命令,并且存储器系统控制器215可识别由lba指示的
一或多个物理块地址。在一些情况下,一或多个连续lba可对应于不连续的物理块地址。在一些情况下,存储控制器230可被配置为结合或代替存储器系统控制器215来执行一或多个上述操作。在一些情况下,存储器系统控制器215可执行存储控制器230的功能,并且可省略存储控制器230。
71.系统200可支持如本文所述的l2l表。例如,除了l2p表或作为其替代,存储器系统210(或主机系统205)可使用l2l表(例如,l2l映射),来支持逻辑地址的重映射,而无需将数据重写到不同的物理地址。例如,系统200可更新一或多个逻辑地址(例如,主机系统205可执行碎片整理操作以重写连续逻辑空间中的一或多个文件或数据),而不重写物理空间中的数据,这可提高碎片整理速度并减少媒体磨损。存储器系统可生成将第一逻辑地址(例如,在更新之前映射到物理地址)映射到第二逻辑地址(例如,在更新之后映射到物理地址)的l2l表的条目。因此,存储器系统可使用l2l表来维护逻辑和物理地址的最新映射,而无需频繁的物理重映射。例如,在l2l表中记录改变的逻辑地址可使存储器系统能够成功地验证元数据(例如,使用在存储数据时生成元数据的第一逻辑地址),而不必重写数据的物理地址,以及其它益处。在一些实例中,l2l表可以是如参考图4描述的l2l表的实例。另外或替代地,系统200可维护指示对应于重映射的逻辑地址的物理地址的一或多个位图、指示相应块中的重映射的位置的数量的一或多个计数器或其任何组合。
72.图3示出了根据如本文公开的实例的支持存储器系统的逻辑重映射的映射方案300的实例。映射方案300可以是如参考图1和2描述的存储器系统的方面的实例。映射方案300可包含用户区域335、第一l2p表325-a、第二l2p表325-b和l2l表320。
73.用户区域335可以是如本文所述的存储器系统(例如,存储器系统110)的用户数据(或其它数据)的物理存储装置的实例。例如,用户区域335可包含裸片310-a、裸片310-b、一组平面315(例如,在图3的实例中,对于相应的裸片310,被表示为0、1、2和3)和页305,它们可以是如本文参考图1和2描述的裸片、平面和页的实例。用户区域335的每个区段(例如,区段或位置的实例可以是裸片0,平面1,页4)可对应于存储的信息的物理地址。也就是说,物理地址可以是存储相应信息的用户区域335中的物理位置。存储在物理地址中的信息可与lba相关联。
74.在一些情况下,存储器系统可接收存取命令(例如,读取或写入命令,以及命令的其它实例),以在相关联的lba上写入或读取数据。例如,主机系统可发送写入命令以将数据存储在与存储器系统相关联的lba处。存储器系统可将数据写入到用户区域335的物理位置,并将lba和物理位置之间的对应性(例如,映射)存储在l2p表中。因此,如果存储器系统接收到对lba的读取命令,则存储器系统可参考l2p表来识别物理位置,并且响应于读取命令从所指示的物理地址检索数据。
75.在一些实例中,存储器系统可生成信息的元数据(例如,如果存储所述信息作为写入操作的一部分),并将该元数据与数据一起存储在存储器系统中的物理位置。例如,存储器系统可使用物理位置、lba、数据或其任何组合来生成元数据。元数据可以是与存储的数据相关联的属性的实例(例如,数据存储的时间、数据的类别、数据的物理或逻辑位置等,以及元数据的其它实例)。存储器系统可存储元数据以提高数据的可靠性。例如,存储器系统可读取数据(例如,信息)作为读取命令的一部分,并将元数据与数据的一或多个属性进行比较。在一些情况下,元数据可包含与数据相关联的逻辑地址(至少最初是这样)。在读取操
作期间,存储器系统可将读取命令中包含的逻辑地址与元数据中包含的逻辑地址进行比较,作为读取数据正确的验证检查。如果逻辑地址不匹配,则存储器系统可向主机系统指示读取命令失败。如果元数据匹配一或多个属性(例如,数据的逻辑或物理位置匹配l2p表所指向的位置的指示),则存储器系统可确定读取数据是正确的(例如,正确的位置被读取,数据不包含错误或可纠正量的错误等),并且可将数据传送到主机系统。
76.在一些实例中,存储器系统可执行可导致重映射l2p表的一或多个条目的操作。例如,主机系统或存储器系统可执行碎片整理操作。碎片整理可涉及重新组织逻辑空间中的数据文件(例如,改变分配给存储在物理地址的数据的逻辑地址)以具有连续的数据集,这可提高主机系统的效率(例如,减少等待时间)以及其它益处。主机系统可使用碎片整理操作来创建更连续的逻辑地址组,从而提高性能。在一些系统中,作为碎片整理操作的一部分,主机系统可发出读取和写入命令。例如,如果主机系统希望重映射逻辑地址,则它可发出读取命令以从该逻辑地址读取数据,然后可发出写入命令以将数据写入到不同的逻辑地址。这类操作也可能导致数据被存储在新的物理地址中。作为碎片整理操作的一部分的读取命令和写入命令的数量可能花费时间、消耗功率,可能增加对存储器单元的磨损,从而降低存储器系统的性能并缩短存储器系统的工作寿命。
77.另外或替代地,存储器系统可执行如本文参考图1和2所述的垃圾收集操作。碎片整理可能类似于垃圾收集(例如,因为它们都涉及更改文件存储以提高系统效率),但是垃圾收集可能涉及移除(例如,删除)过时数据以释放物理地址处的空间,而碎片整理可能涉及在逻辑地址处重新组织数据,例如,以在逻辑寻址空间中连续地存储文件。
78.作为说明性实例,作为碎片整理操作或一些其它操作的一部分,存储器系统可向数据分配新的逻辑地址。在一些情况下,存储器系统还可将数据重写到新的物理地址,例如,以保持l2p表325-b的准确性,并避免l2p表325-b和使用该物理地址生成的元数据之间的不协调。为了使存储器系统正确地执行读取操作(例如,在读取引用相应逻辑地址的命令之后可靠地访问正确的物理地址),存储器系统可在碎片整理操作之后保持l2p映射和元数据都是最新的。更新l2p映射和元数据可能涉及计算开销,并且在一些情况下,可能涉及存储器系统的物理磨损(例如,由于物理数据的相对频繁的重写)。因此,在不改变存储在nand存储器上的数据的物理地址的情况下,可提高存储器系统执行碎片整理操作的效率。
79.除了l2p表325或作为其替代,存储器系统可实施如本文所述的l2l表320。例如,存储器系统可使用l2p表325来维护逻辑地址和物理地址之间的映射。在图3的实例中,l2p表325-a可示出重映射操作(例如,碎片整理操作)之前的l2p表,并且l2p表325-b可示出重映射操作之后的l2p表(例如,为了说明清楚,l2p表325-a和l2p表325-b可以是在不同时间示出的相同l2p表)。l2p表325可以是如参考图1和2描述的l2p表的实例。例如,l2p表325可将lba映射到物理块地址(pba)(例如,l2p表325可包含指向用户区域335处的物理地址的指针)。l2p表325的每个条目可包含逻辑地址和指向物理地址的指针,从而将存储的信息映射到其相应的逻辑和物理地址。例如,l2p表325-a的条目(例如,条目p.ai)和l2p表325-b的条目(例如,条目p.aj)可指向相同的物理地址(例如,物理块340),但是该物理地址可被映射到不同的逻辑地址(例如,分别被表示为i和j)。
80.在一些情况下,存储器系统可使用l2l表320,以将碎片整理操作(或其它操作)之前的l2p表325-a的逻辑地址映射到碎片整理操作后的l2p表325-b的逻辑地址或以其它方
式指示碎片整理操作(或其它操作)之前的l2p表325-a的逻辑地址与碎片整理操作后的l2p表325-b的逻辑地址之间的对应性。l2l表320可支持逻辑地址的重映射,并且通过在辅助表中记录信息来提高存储器系统的效率。l2l表320的每一行(例如,每一行可以是指示逻辑重映射的记录345-a)可描述两个逻辑地址之间或两个逻辑范围之间的对应性。
81.作为实例,图3所示的l2l表320可具有三列(尽管可使用用于存储两个逻辑地址之间的对应性的任何其它格式或表格布局)。在该实例中,第一列(即,列“a”)可对应于重映射操作之前的逻辑地址(例如,碎片整理操作之前的l2p表325-a的逻辑地址),并且第二列(即,列“b”)对应于重映射操作之后的逻辑地址(例如,碎片整理操作之后的l2p表325-b的逻辑地址)。在一些实例中,l2l表320可包含第三列(即,列“n”),其指示与相应记录相关联的长度参数。也就是说,第三列可指示在列“a”中指示的起始逻辑地址(例如,逻辑块的l2p表325-a的起始地址)和列“b”中指示的起始逻辑地址(例如,碎片整理操作之后逻辑块的l2p表325-b的起始地址)之间的逻辑块的数量。作为实例,在碎片整理操作期间,多个lba可被一起移动(例如,从相同的第一起始位置移动到相同的第二起始位置),并且因此可被一起包含在l2l表的一个条目中。跟踪l2l表320的n列中的此信息可使得存储器系统能够压缩l2l表320。例如,对于重映射的每个逻辑地址,不需要l2l表中的单独条目。而是,连续的逻辑地址可作为单元被重映射到不同的一组连续的逻辑地址。
82.在一些情况下,l2l表320的每一行可以是或指示对应于用户区域335的重映射的逻辑地址的记录345-a。作为说明性实例,l2p表325-a的最后一个条目可在碎片整理操作期间被重映射到l2p表325-b的最后一个条目(例如,物理块340可对应于在第一时间的第一lba i和在第二时间的第二lba j,而没有被物理重写)。基于这种重映射,存储器系统可生成l2l表320的条目,如指示重映射的记录345-d。例如,记录345-d可包含ai(例如,在340处存储的用于l2p表325-a的数据的起始地址)、ni(例如,在340处存储的逻辑块或其它数据单位的数量)和bi(例如,用于l2p表325-b的更新的起始逻辑地址)。换句话说,在该实例中,如果主机系统将n个逻辑块的范围从起始地址a移动到起始地址b,则条目(例如,记录345-d)可被添加到列表中以记录这三个数字。
83.存储器系统可使用一或多种算法或操作来搜索l2l表320。在一些实例中,存储器系统可响应于接收到存取命令(例如,读取命令)来搜索l2l表320。存储器系统可确定接收的逻辑地址“x”(例如,作为读取命令的一部分接收的)是否包含在由l2l表320指示的lba的范围内。例如,对于lba“x”上的每个传入的读取命令,存储器系统可在表中搜索记录345-a,该记录指示lba x是已经被重映射的地址,因此先前的地址(例如,在“a”列中)可用于验证元数据。作为搜索算法的实例,对于lba x,存储器系统可确定是否bi≤x≤bi ni,其中bi表示“b”列中的任何lba,并且n表示对应于b列中的条目的重映射的逻辑块的相应长度。如果存储器系统确定所搜索的逻辑地址在l2l表的条目范围内,则存储器系统可在碎片整理操作之后使用该表来确定逻辑地址。例如,存储器系统可在l2l表320中搜索接收到的逻辑地址的记录,并且可使用相应的信息(例如,在重映射操作之前的地址a)来验证元数据。在一些实例中,在错误处理和垃圾收集期间或者触发器的其它实例或者其任何组合,如果检测到存储的元数据和数据的一或多个属性之间的不匹配,则可运行算法搜索。通过响应于这样的标准运行算法,存储器系统可减少所执行的搜索的数量,这可提高一些类型的装置(例如,具有有限静态随机存取存储器(sram)的受管理的nand(mnand)装置)的性能(例如,空间
效率、加载时间)。
84.在一些情况下,在垃圾收集期间,可使用归一化算法来搜索l2l表320。例如,存储器系统可搜索数据透视(pvt)表以在存储器单元处启动垃圾收集。垃圾收集器可从物理源块(例如,物理块340)复制数据,并从元数据中检索逻辑地址信息。在一些情况下,存储器系统可刷新改变日志,并且可发现元数据的逻辑地址和改变日志的逻辑地址之间的差异。
85.在一些情况下,存储器系统可在垃圾收集期间使用搜索算法来解决这种不匹配。在一些情况下,如果在空闲时间期间执行垃圾收集,则存储器系统可搜索l2l表320以用于垃圾收集。例如,存储器系统可搜索每个源块的l2l表来更新映射。在一些情况下,例如,如果在存储器系统的前台中触发垃圾收集,则存储器系统可执行具有减少的开销的搜索方法。例如,存储器系统可生成和/或维护重映射的物理地址的位图,如果位图指示源块的一或多个地址已经被重映射,这可使得存储器系统能够搜索l2l表320。
86.例如,位图可包含每个pba一个位。在一些情况下,可使用其它粒度,例如每页一位、超页、字线或其它数量的物理存储器。存储器系统可使用更高级的表,该表具有指向在垃圾收集期间待加载或引用的虚拟基(vb)位图的指针。例如,存储器系统可将位图和表存储在sram中,或者存储在一些其它高速缓存或易失性存储器装置中。作为位图的说明性实例,用户区域335的每个页305可对应于位图的位。如果页被逻辑地重映射(例如,物理块340从l2p表325-a中的lba“i”被更新为l2p表325-b中的“j”),则存储器系统可在相应的位中存储指示(例如,1或0)。因此,响应于存储器系统对源块执行垃圾收集,存储器系统可响应于指示源块的至少一部分已经被重映射的位,使用l2l表的条目来更新元数据。
87.另外或替代地,存储器系统可保存重映射的位置的数量的计数器。计数器可用于对存储器的最频繁重映射的区域中的垃圾收集进行优先级排序。作为实例,计数器可对应于用户区域的一部分(例如,计数器可以是每个块、每个页、每个超页、每个字线或其它数量的物理存储器)。每当用户区域335的相应部分的重映射被重映射时,存储器系统可递增计数器。如果执行垃圾收集,则存储器系统可对具有相对高的计数器的区域进行优先排序。例如,如果计数器满足阈值,则存储器系统可响应于满足的阈值而执行垃圾收集,或者如果执行垃圾收集,则存储器系统可识别最高的一或多个计数器(例如,相对于源块中的每个计数器)并且更新元数据或以其它方式对对应于最高的一或多个计数器的区域执行垃圾收集。
88.图4示出了根据如本文公开的实例的支持存储器系统的逻辑重映射的映射方案400的实例。映射方案400可以是如参考图1和2描述的存储器系统的方面、映射方案300的方面或其任何组合的实例。映射方案400可包含用户区域435和l2p表425,它们可以是如参考图3描述的用户区域335和l2p表325的实例。例如,用户区域435可包含裸片405-a和405-b、平面410、页415和物理块440,它们可以是图3中描述的对应组件的实例。通常,映射方案400可示出支持逻辑重映射技术的l2l表420的实例。
89.用户区域435可包含裸片405-a和405-b,其可各自支持指定的数据存储容量。每个存储器裸片405可进一步包含多个平面410(例如,存储器裸片405-a包含被标记为0-3的四个平面410),其中每个平面410可包含相应的一组页415,并且每个页415可包含一组存储器单元。用户区域435的每个块(例如,物理块440,位于裸片405-a,平面1,页3)可以是存储的信息的物理块地址(pba)。存储在物理地址的信息也可与lba相关联。在一些情况下,存储器系统可具有映射到每个pba的一个lba的粒度,除非压缩被用于物理上连续的范围。
90.在一些情况下,l2p表425-a可从逻辑地址“a”指向物理地址“a”(例如,块440的物理地址)。l2p表425-a可示出在存储器系统执行示例性的碎片整理操作之前逻辑和物理块地址之间的映射的实例。在这样的碎片整理操作之后,l2p表425-a的受影响的条目可被更新为l2p表425-b的条目。在一些情况下,l2p表425-b的一些条目可直接指向物理地址。例如,如果条目没有受到碎片整理操作的影响(例如,逻辑地址和物理地址都没有改变),则l2p表425-a中的条目和l2p表425-b中的条目可以是相同的,并且都可指向用户区域435的相同物理块。在一些情况下,一些物理地址可能不被映射到相应的逻辑地址,因此l2p表425的一些条目可能不包含指向物理块的指针(例如,“未映射的”条目)。
91.在一些情况下,存储器系统可将l2p表存储在快速随机存取存储器(例如,dram、3d xpoint(3dxp)、feram、mram、sram)中。存储器系统可将l2l表420的相应条目的指示(例如,指针)添加到l2p表425-b中,以避免或减少执行搜索的计算开销。也就是说,在一些情况下,来自l2p表425-a的指向物理地址的指针(例如,在图4的实例中被标记为p.a.a)可被来自l2p 425-b的指向l2l表420的指针(例如,在图4的实例中被标记为“ext.i”)替换。例如,在存储器系统执行碎片整理操作之后,响应于将物理块440的物理地址“a”的逻辑地址从“a”重映射到“b”,存储器系统可插入指向l2l表420的指针。
92.也就是说,不是调整l2p表425-b的条目以包含逻辑地址“b”和物理地址“a”之间的映射,存储器系统可在l2p表425-b中插入指向l2l表420中的条目的指针。l2l表420中的条目可包含新的逻辑地址(例如,b)、旧的逻辑地址(例如,a)和从l2l指向物理地址“a”(例如,物理块440)的指针。在遵循从l2p表425-b到l2l表420到物理块440的映射之后,存储器系统可读取物理块440处的信息。
93.在一些情况下,在一些过程(例如,垃圾收集,接收存取命令)期间,存储器系统可使用元数据来经由逻辑地址证实是否已经访问正确的物理地址。尽管在一些情况下,存储器系统最初可标记元数据和物理地址之间的不匹配,但是存储器系统可使用在l2l表420中找到的信息来证实元数据。通过使用l2l表420作为用户区域435的物理地址和l2p表425-b之间的中间映射,存储器系统可避免执行搜索来证实元数据,因为它可能已经在碎片整理之前和之后访问了逻辑地址。换句话说,映射方案400的配置可使存储器系统能够参考l2l表420(响应于l2p表425-b中的指针),其包含用于响应于重映射操作的元数据验证的正确信息,并且对于l2p表425-b的其它未改变的条目,存储器系统可避免执行搜索算法以节省处理能力并改善读取操作的等待时间。
94.图5示出了根据如本文公开的实例的支持存储器系统的逻辑重映射的工艺流程500的实例。工艺流程500可由存储器系统实现,所述存储器系统可代表关于图1至4描述的存储器系统。工艺流程500可由存储器系统实现,例如,以生成存储器系统的逻辑和物理块地址之间的映射,并在逻辑或物理地址发生变化时重映射(例如,由于碎片整理操作或其它过程)。可实施下文的替代性实例,其中一些步骤以不同次序进行或根本不进行。另外,一些步骤可包含下文中未提及的额外特征,一些步骤可由不同组件或系统或其任何组合执行。
95.工艺流程500的各方面可由存储器系统、存储器装置、控制器及其它组件(例如,存储器装置控制器,如存储器装置的mnand裸片)实施。另外或替代地,工艺流程500的方面可实施为在所存储存储器中的指令(例如,存储在与存储器系统耦合的存储器中的固件。例如,指令如果由控制器(例如,存储器系统控制器115)执行,则所述指令可使得控制器执行
工艺流程500的操作。
96.例如,如本文参考图3和4所述,在一些情况下,存储器系统可通过在每个碎片整理操作后更新l2p映射来执行重映射,并且可参考l2l映射来证实元数据。在一些情况下,l2l映射可以是如参考图4描述的l2l映射的实例。
97.在505处,可生成l2p映射。例如,存储器系统可生成l2p映射。存储器系统可包含存储在物理地址的信息。在一些情况下,存储器系统可从主机系统接收引用一些信息的逻辑地址的命令(例如,写入命令)。例如,存储器系统可生成l2p映射,以将由主机系统引用的逻辑地址映射到存储在存储器系统中的相应信息的物理地址。在一些情况下,存储器系统可通过使用l2p映射来识别与由主机系统引用的逻辑地址相关联的物理地址而继续执行命令(例如,读取命令)。
98.在510处,可执行碎片整理操作。例如,主机系统可执行碎片整理操作。在一些情况下,主机系统可确定碎片整理可提高性能。在一些实例中,主机系统可启动这样的碎片整理操作,所述碎片整理操作可包含向存储器系统发送多个读取命令和多个写入命令,以使得数据被重映射到不同的逻辑地址中。在一些实例中,主机系统可向存储器系统发出碎片整理命令,该命令使得逻辑地址被重映射,而不将至少一些数据移动到新的物理地址。另外或替代地,存储器系统可启动碎片整理操作。碎片整理操作可以是如本文所述的碎片整理(例如,重映射)操作的实例。例如,作为碎片整理操作的一部分,映射到物理地址的逻辑地址可被重新组织。存储器系统可接收存储在物理地址的信息的新逻辑地址的指示。主机系统可选择新的组织,使得数据文件被连续地存储在逻辑寻址空间中,这可释放主机系统处的空间并提高主机系统执行操作时的效率。在一些情况下,信息的物理地址可能不会由于根据本文所述的一些技术的碎片整理操作而改变。
99.在515处,生成逻辑到逻辑映射。例如,存储器系统可生成l2l映射。例如,在步骤510发生的逻辑地址的重新组织可能导致信息的l2p映射或元数据的不一致(例如,由于没有将信息的物理地址重写到另一个物理地址)。因此,存储器系统可生成l2l映射(例如,如参考图3和4描述的l2l表的条目)以包含旧逻辑地址和新逻辑地址的指示。在一些情况下,存储器系统可在碎片整理操作期间或之后调整l2p映射中的条目。在一些情况下,调整的l2p映射可以是新逻辑地址和物理地址之间的映射。在一些情况下,l2p映射可包含指向l2l映射的指针(例如,参考图4描述的l2l表)。
100.在520处,可接收读取命令。例如,存储器系统可从主机系统接收读取命令。主机系统可在读取命令中指示逻辑地址。在525处,可识别l2p条目。例如,存储器系统可识别指示物理地址的逻辑地址的l2p条目或l2l表的条目。如果l2p条目指向l2l映射,则存储器系统可前进到530。如果l2p条目指向物理地址,则存储器系统可前进到540。
101.在530处,可识别物理地址。例如,存储器系统可使用l2l映射来识别物理地址。例如,l2p条目可指向l2l映射的条目。l2l条目可包含旧的逻辑地址(例如,包含在来自主机系统的读取命令中的逻辑地址)以及新的逻辑地址(例如,碎片整理后更新的逻辑地址)。l2l条目可另外包含指向物理地址的指针。存储器系统可在由指向物理地址的指针所指示的位置处执行读取操作。例如,存储器系统可使用l2l条目中的旧逻辑地址从物理地址检索数据和验证的或更新的元数据,这可减少搜索的处理开销。
102.在535处,可证实元数据。例如,存储器系统可证实在命令中接收的逻辑地址与由
元数据所指示的逻辑地址相匹配。例如,存储器系统可将元数据中的信息与l2l表中的信息进行比较以执行证实。在一些情况下,由于在步骤530已经访问了l2l条目信息,因此存储器系统可能不执行l2l表的额外搜索。存储器系统可证实元数据与包含在l2l条目中的逻辑地址相匹配。
103.在540处,可识别物理地址。例如,存储器系统可在被l2p条目中的指针指引之后识别物理地址。例如,l2p条目可直接指向存储器系统中的物理块地址。在一些情况下,存储器系统可在访问指向物理地址的指针之后执行读取操作。例如,存储器系统可从物理地址检索数据和元数据。
104.在545处,在一些情况下,可搜索l2l表。例如,在一些情况下,存储器系统可在l2l表中搜索与从主机系统接收的逻辑地址相关联的条目。例如,在一些情况下,存储器系统可检测元数据中的逻辑地址和从主机系统的读取命令中接收的逻辑地址之间的不匹配。存储器系统可使用l2l表来确定逻辑地址是否已经被更新。在一些情况下,l2l条目可包含旧的逻辑地址(例如,存储在元数据中的逻辑地址)和新的逻辑地址(例如,包含在读取命令中的逻辑地址)。
105.在550处,在一些情况下,可证实元数据。例如,存储器系统可证实在命令中接收的逻辑地址与由元数据所指示的逻辑地址相匹配。
106.在555处,可进行数据传输。例如,存储器系统可将数据传输到主机系统。通过传输数据,存储器系统可结束执行读取操作。
107.图6示出了根据如本文公开的实例的支持逻辑重映射技术的存储器系统620(例如,存储器系统)的框图600。存储器系统620可以是如参考图1至5描述的存储器装置或存储器系统的方面的实例。存储器系统620或其各种组件可以是用于执行如本文所述的逻辑重映射技术的各个方面的装置的实例。例如,存储器系统620可包含写入命令组件625、第一映射组件630、l2l组件635、第三映射组件640、读取命令组件645、检索组件650、传送组件655、匹配组件660、传输组件665、垃圾收集组件670、搜索组件675、更新组件680、识别组件685、检测组件690、验证组件695、计数组件696、确定组件697或其任何组合。这些组件中的每一者可直接或间接地(例如经由一或多个总线)彼此通信。
108.写入命令组件625可被配置为或以其它方式支持用于接收写入命令以将信息存储在与存储器系统相关联的第一逻辑地址处的装置。第一映射组件630可被配置为或以其它方式支持用于生成逻辑到物理映射的第一条目的装置,所述第一条目将第一逻辑地址与在接收到写入命令之后存储信息的存储器系统的第一物理地址进行映射。l2l组件635可被配置为或以其它方式支持用于作为碎片整理操作的一部分生成将第一逻辑地址与第二逻辑地址进行映射的逻辑到逻辑映射的第二条目的装置,所述第二逻辑地址与在碎片整理操作之后存储在第一物理地址的信息相关联。第三映射组件640可被配置为或以其它方式支持用于作为碎片整理操作的一部分生成逻辑到物理映射的第三条目的装置,所述第三条目在生成第二条目之后将第二逻辑地址与第一物理地址的指示进行映射。
109.在一些实例中,逻辑到物理映射的第三条目包含指向第一物理地址的指针。在一些实例中,逻辑到物理映射的第三条目包含指向逻辑到逻辑映射的第二条目的指针。在一些实例中,逻辑到逻辑映射的第二条目包含第一逻辑地址和第一物理地址的指示。
110.在一些实例中,读取命令组件645可被配置为或以其它方式支持用于接收读取命
令以检索与第二逻辑地址相关联的信息的装置。在一些实例中,检索组件650可被配置为或以其它方式支持用于在接收到读取命令之后从存储器系统的第一物理地址检索信息的装置。
111.在一些实例中,识别组件685可被配置为或以其它方式支持用于在读取将第二逻辑地址映射到存储器系统的第一物理地址的逻辑到物理映射的第三条目后识别第一物理地址的装置,其中读取信息与所述识别耦合。
112.在一些实例中,识别组件685可被配置为或以其它方式支持用于在读取将第二逻辑地址映射到逻辑到逻辑映射的第二条目的逻辑到物理映射的第三条目后识别第一物理地址的装置,所述逻辑到逻辑映射的第二条目指示存储器系统的第一物理地址、第一逻辑地址或两者,其中读取信息与所述识别耦合。
113.在一些实例中,传送组件655可被配置为或以其它方式支持作为碎片整理操作的一部分将第一范围的逻辑块从具有第一起始地址的第一位置转移到具有第二起始地址的第二位置的装置,其中第二条目指示第一起始地址、第二起始地址以及第一范围的逻辑块中的逻辑块的数量。
114.在一些实例中,读取命令组件645可被配置为或以其它方式支持用于接收读取命令以检索与第二逻辑地址相关联的信息的装置。在一些实例中,检索组件650可被配置为或以其它方式支持用于在接收到读取命令之后从存储器系统的第一物理地址检索信息和与信息相关联的元数据的装置。在一些实例中,匹配组件660可被配置为或以其它方式支持用于确定存储在元数据中的第三逻辑地址是否与包含在读取命令中的第二逻辑地址相匹配的装置。在一些实例中,传输组件665可被配置为或以其它方式支持用于直接响应于所述确定来传输信息的装置。
115.在一些实例中,为了支持确定存储在元数据中的第三逻辑地址是否与包含在读取命令中的第二逻辑地址相匹配,检测组件690可被配置为或以其它方式支持用于检测存储在元数据中的第三逻辑地址与包含在读取命令中的第二逻辑地址之间的不匹配的装置。在一些实例中,为了支持确定存储在元数据中的第三逻辑地址是否与包含在读取命令中的第二逻辑地址相匹配,搜索组件675可被配置为或以其它方式支持用于在检测到不匹配之后在逻辑到逻辑映射中搜索与存储在元数据中的第三逻辑地址相关联的条目的装置。在一些实例中,为了支持确定存储在元数据中的第三逻辑地址是否与包含在读取命令中的第二逻辑地址相匹配,验证组件695可被配置为或以其它方式支持用于在识别第三逻辑地址的逻辑到逻辑映射中的条目之后验证从存储器系统的第一物理地址检索的信息的装置,其中发送信息与验证信息耦合。
116.在一些实例中,垃圾收集组件670可被配置为或以其它方式支持用于执行涉及第一物理地址的垃圾收集操作或错误处理操作的装置。在一些实例中,检索组件650可被配置为或以其它方式支持用于在执行垃圾收集操作或错误处理操作期间或之后从存储器系统的第一物理地址检索信息和与信息相关联的元数据的装置。在一些实例中,搜索组件675可被配置为或以其它方式支持用于在执行垃圾收集操作或错误处理操作期间或之后,在逻辑到逻辑映射中搜索与存储在元数据中的第三逻辑地址相关联的条目的装置。在一些实例中,更新组件680可被配置为或以其它方式支持用于在识别第三逻辑地址的逻辑到逻辑映射中的条目之后更新与信息相关联的元数据的装置。
117.在一些实例中,垃圾收集组件670可被配置为或以其它方式支持用于执行垃圾收集操作以将有效数据从源块转移到目标块的装置。在一些实例中,更新组件680可被配置为或以其它方式支持用于在读取包含与信息相关联的一或多个条目的逻辑到逻辑映射之后,更新与源块相关联的元数据以指示与信息相关联的更新的逻辑地址的装置。
118.在一些实例中,搜索组件675可被配置为或以其它方式支持用于在逻辑到逻辑映射中搜索与信息相关联的一或多个条目的装置,其中更新元数据与搜索耦合。
119.在一些实例中,识别组件685可被配置为或以其它方式支持用于在读取位图后识别一或多个条目的装置,所述位图包含源块对应于逻辑到逻辑映射的一或多个条目的指示。
120.在一些实例中,源块对应于逻辑到逻辑映射的一或多个条目的指示包含存储器系统的页的位、存储器系统的超页的位、存储器系统的字线的位、存储器系统的物理块地址的位或其任何组合。
121.在一些实例中,计数组件696可被配置为或以其它方式支持用于在生成与源块相关联的一或多个条目后递增与源块相关联的计数器的装置。在一些实例中,确定组件697可被配置为或以其它方式支持用于确定计数器的数量是否多于与其它块相关联的一组计数器的数量的装置。在一些实例中,垃圾收集组件670可被配置为或以其它方式支持用于响应于计数器的数量高于所述一组计数器的数量来执行垃圾收集操作以将有效数据从源块传送到目标块的装置。
122.图7示出了说明根据如本文公开的实例的支持逻辑重映射技术的方法700的流程图。方法700的操作可由如本文所述的存储器系统或其组件来实现。例如,方法700的操作可由如参考图1至6描述的存储器系统或存储器装置来执行。在一些实例中,存储器系统可执行一组指令以控制装置的功能元件来执行所描述的功能。另外或替代地,存储器系统可使用专用硬件来执行所描述的功能的方面。
123.在705处,所述方法可包含接收写入命令,以将信息存储在与存储器系统相关联的第一逻辑地址处。705的操作可根据如本文公开的实例来执行。在一些实例中,705的操作的方面可由如参考图6描述的写入命令组件625来执行。
124.在710处,所述方法可包含生成逻辑到物理映射的第一条目,所述第一条目将第一逻辑地址与在接收到写入命令之后存储信息的存储器系统的第一物理地址进行映射。710的操作可根据如本文公开的实例来执行。在一些实例中,710的操作的方面可由如参考图6描述的第一映射组件630来执行。
125.在715处,所述方法可包含,作为碎片整理操作的一部分,生成将第一逻辑地址与第二逻辑地址进行映射的逻辑到逻辑映射的第二条目,所述第二逻辑地址与碎片整理操作之后存储在第一物理地址的信息相关联。715的操作可根据如本文公开的实例来执行。在一些实例中,715的操作的方面可由如参考图6描述的l2l组件635来执行。
126.在720处,所述方法可包含作为碎片整理操作的一部分,响应于生成第二条目,生成将第二逻辑地址与第一物理地址的指示进行映射的逻辑到物理映射的第三条目。720的操作可根据如本文公开的实例来执行。在一些实例中,720的操作的方面可由如参考图6描述的第三映射组件640来执行。
127.在一些实例中,如本文所述的设备可执行一或多种方法,如方法700。所述设备可
包含特征、电路系统、逻辑、装置或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体),用于接收写入命令以将信息存储在与存储器系统相关联的第一逻辑地址处,生成将第一逻辑地址与在接收到写入命令之后存储信息的存储器系统的第一物理地址进行映射的逻辑到物理映射的第一条目,作为碎片整理操作的一部分,生成将第一逻辑地址与第二逻辑地址进行映射的逻辑到逻辑映射的第二条目,所述第二逻辑地址与在碎片整理操作之后存储在第一物理地址处的信息相关联,并且作为碎片整理操作的一部分,响应于生成第二条目,生成将第二逻辑地址与第一物理地址的指示进行映射的逻辑到物理映射的第三条目。
128.在本文所述的方法700和设备的一些实例中,逻辑到物理映射的第三条目包含指向第一物理地址的指针。
129.在本文所述的方法700和设备的一些实例中,逻辑到物理映射的第三条目包含指向逻辑到逻辑映射的第二条目的指针,并且逻辑到逻辑映射的第二条目包含第一逻辑地址和第一物理地址的指示。
130.本文所述的方法700和设备的一些实例可进一步包含用于接收读取命令以检索与第二逻辑地址相关联的信息以及在接收到读取命令后从存储器系统的第一物理地址检索信息的操作、特征、电路系统、逻辑、装置或指令。
131.本文所述的方法700和设备的一些实例可进一步包含用于在读取将第二逻辑地址映射到存储器系统的第一物理地址的逻辑到物理映射的第三条目后识别第一物理地址的操作、特征、电路系统、逻辑、装置或指令,其中读取信息可与所述识别耦合。
132.本文所述的方法700和设备的一些实例可进一步包含用于在读取将第二逻辑地址映射到逻辑到逻辑映射的第二条目的逻辑到物理映射的第三条目后识别第一物理地址的操作、特征、电路系统、逻辑、装置或指令,其中,所述逻辑到逻辑映射的第二条目指示存储器系统的第一物理地址、第一逻辑地址或两者,其中读取信息可与识别耦合。
133.本文所述的方法700和设备的一些实例可进一步包含用于作为碎片整理操作的一部分将第一范围的逻辑块从具有第一起始地址的第一位置转移到具有第二起始地址的第二位置的操作、特征、电路系统、逻辑、装置或指令,其中所述第二条目指示第一起始地址、第二起始地址和第一范围的逻辑块中的逻辑块的数量。
134.本文所述的方法700和设备的一些实例可进一步包含这样的操作、特征、电路系统、逻辑、装置或指令,其用于接收读取命令以检索与第二逻辑地址相关联的信息、在接收到读取命令之后从存储器系统的第一物理地址检索信息和与信息相关联的元数据、确定存储在元数据中的第三逻辑地址是否与读取命令中包含的第二逻辑地址相匹配、以及在达到确定后传输信息。
135.在本文所述的方法700和设备的一些实例中,确定存储在元数据中的第三逻辑地址是否与包含在读取命令中的第二逻辑地址相匹配可包含这样的操作、特征、电路系统、逻辑、装置或指令,其用于检测存储在元数据中的第三逻辑地址和包含在读取命令中的第二逻辑地址之间的不匹配,在检测到不匹配之后,在逻辑到逻辑映射中搜索与存储在元数据中的第三逻辑地址相关联的条目,并且在识别第三逻辑地址的逻辑到逻辑映射中的条目之后,验证从存储器系统的第一物理地址检索到的信息,其中发送信息可与验证信息耦合。
136.本文所述的方法700和设备的一些实例可进一步包含这样的操作、特征、电路系
统、逻辑、装置或指令,其用于执行涉及第一物理地址的垃圾收集操作或错误处理操作,在执行垃圾收集操作或错误处理操作期间或之后,从存储器系统的第一物理地址检索信息和与信息相关联的元数据,在执行垃圾收集操作或错误处理操作期间或之后,在逻辑到逻辑映射中搜索与存储在元数据中的第三逻辑地址相关联的条目,并且在识别第三逻辑地址的逻辑到逻辑映射中的条目之后,更新与信息相关联的元数据。
137.本文所述的方法700和设备的一些实例可进一步包含这样的操作、特征、电路系统、逻辑、装置或指令,其用于执行垃圾收集操作以将有效数据从源块转移到目标块并且更新与源块相关联的元数据以指示与信息相关联的更新的逻辑地址,所述逻辑地址与包含一或多个与信息相关联的条目的逻辑到逻辑映射耦合。
138.本文所述的方法700和设备的一些实例可进一步包含用于在逻辑到逻辑映射中搜索与信息相关联的一或多个条目的操作、特征、电路系统、逻辑、装置或指令,其中更新元数据可与所述搜索耦合。
139.本文所述的方法700和设备的一些实例可进一步包含用于在读取位图后识别一或多个条目的操作、特征、电路系统、逻辑、装置或指令,所述位图包含源块对应于逻辑到逻辑映射的一或多个条目的指示。
140.在本文所述的方法700和设备的一些实例中,源块对应于逻辑到逻辑映射的一或多个条目的指示包含存储器系统的页的位、存储器系统的超页的位、存储器系统的字线的位、存储器系统的物理块地址的位或其任何组合。
141.本文所述的方法700和设备的一些实例可进一步包含这样的操作、特征、电路系统、逻辑、装置或指令,其用于在生成与源块相关联的一或多个条目后,递增与源块相关联的计数器,确定计数器的数量是否大于与其它块相关联的一组计数器的数量,以及直接响应于计数器的数量高于所述一组计数器的数量,执行垃圾收集操作以将有效数据从源块传送到目标块。
142.应注意,上文所述的方法描述了可能的实施方案,并且操作和步骤可经重新布置或以其它方式修改,并且其它实施方案是可能的。另外,可组合来自所述方法中的两种或更多种的部分。
143.可使用多种不同技术和技艺中的任一者来表示本文所述的信息和信号。例如,贯穿以上描述可能提及的数据、指令、命令、信息、信号、位、符号和码片可由电压、电流、电磁波、磁场或粒子、光学场或粒子或其任何组合来表示。一些图式可将信号说明为单个信号;然而,信号可表示信号的总线,其中总线可具有各种位宽。
144.术语“电子连通”、“导电接触”、“连接”和“耦合”可指组件之间支持信号在组件之间流动的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,则组件被视为彼此电子通信(或彼此导电接触,或彼此连接,或彼此耦合)。在任何给定时间,彼此电子通信(或彼此导电接触,或彼此连接,或彼此耦合)的组件之间的导电路径可以是开路或闭路,这取决于包含连接的组件的装置的操作。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是可包含如开关、晶体管或其它组件的中间组件的间接导电路径。在一些实例中,可例如使用如开关或晶体管等一或多个中间组件来中断所连接组件之间的信号流一段时间。
145.术语“耦合”是指从组件之间的开路关系移动到组件之间的闭路关系的条件,在所
述开路关系中,信号当前无法通过导电路径在组件之间传达,在所述闭路关系中,信号能够通过导电路径在组件之间传达。如果如控制器的组件将其它组件耦合在一起,则组件发起允许信号经由先前不允许信号流动的导电路径在其它组件之间流动的改变。
146.术语“隔离”是指信号当前不能在组件之间流动的组件之间的关系。如果组件之间存在开路,则组件彼此隔离。例如,由定位在两个组件之间的开关间隔开的所述组件在开关断开的情况下彼此隔离。如果控制器将两个组件隔离,则控制器实现以下改变:阻止信号使用先前允许信号流动的导电路径在组件之间流动。
147.如本文所用,术语“电极”可指电导体,并且在一些实例中,可用作到存储器阵列的存储器单元或其它组件的电接触件。电极可包含提供存储器阵列的元件或组件之间的导电路径的迹线、导线、导电线、导电层等。
148.术语“如果”、“当
……
时”、“基于”或“至少部分地基于”可互换使用。在一些实例中,如果术语“如果”、“当
……
时”、“基于”,或“至少部分地基于”用于描述条件性动作、条件性过程,或过程的部分之间的连接,则所述术语可互换。
149.术语“响应于”可指由于先前条件或动作而至少部分地(如果不是完全地)发生的一个条件或动作。例如,可执行第一条件或动作,并且作为先前条件或动作发生的结果(不管是直接在第一条件或动作之后还是在第一条件或动作之后的一或多个其它中间条件或动作发生之后),第二条件或动作可至少部分地发生。
150.另外,术语“直接地响应于”或“直接响应于”可指一个条件或动作作为先前条件或动作的直接结果而发生。在一些实例中,可执行第一条件或动作,并且可作为与是否发生其它条件或动作无关的先前条件或动作发生的结果而直接发生第二条件或动作。在一些实例中,可执行第一条件或动作,并且可作为先前条件或动作发生的结果而直接发生第二条件或动作,使得在较早条件或动作与第二条件或动作之间不发生其它中间条件或动作,或在较早条件或动作与第二条件或动作之间发生有限数量的一或多个中间步骤或动作。除非另外规定,否则本文中描述为“基于”、“至少部分地基于”或“响应于”某一其它步骤、动作、事件或条件进行的任何条件或动作可另外或替代地(例如,在替代实例中)“直接响应于”或“直接地响应于”这种其它条件或动作而进行。
151.本文中论述的装置(包含存储器阵列)可形成于如硅、锗、硅锗合金、砷化镓、氮化镓等半导体衬底上。在一些实例中,衬底是半导体晶片。在一些其它实例中,衬底可以是绝缘体上硅(soi)衬底,如玻璃上硅(sog)或蓝宝石上硅(sop),或另一衬底上的半导体材料的外延层。可通过使用包含但不限于磷、硼或砷的各种化学物质的掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂方法执行掺杂。
152.本文中所论述的开关组件或晶体管可表示场效应晶体管(fet),并且包括有包含源极、漏极和栅极的三端装置。所述端子可通过导电材料(例如,金属)连接到其它电子元件。源极和漏极可为导电的,并且可包括经重掺杂(例如简并)半导体区。源极与漏极可通过经轻掺杂半导体区或沟道分离。如果沟道是n型的(即,多数载流子是电子),则fet可被称为n型fet。如果沟道是p型(即,多数载流子是空穴),则fet可被称为p型fet。沟道可由绝缘栅极氧化物封端。可通过将电压施加到栅极来控制沟道导电性。例如,将正电压或负电压分别施加到n型fet或p型fet可导致沟道变得导电。在大于或等于晶体管的阈值电压的电压施加
到晶体管栅极的情况下,晶体管可“接通”或“激活”。如果小于晶体管的阈值电压的电压施加到晶体管栅极,则晶体管可“断开”或“去激活”。
153.本文结合附图阐述的描述内容描述了实例配置,并且并不表示可实施的或在权利要求书的范围内的所有实例。本文使用的术语“示例性”意指“用作实例、例子或说明”,而不是“优选的”或“优于其它实例”。详细描述包含具体细节,以提供对所描述技术的理解。然而,这些技术可在没有这些具体细节的情况下实施。在一些情况下,以框图形式示出熟知结构和装置,以免混淆所描述实例的概念。
154.在附图中,类似组件或特征可具有相同的参考标记。此外,可通过在参考标记之后跟着短横及在类似组件之间进行区分的第二标记来区分相同类型的各种组件。如果说明书中仅使用第一参考标记,则描述适用于具有相同第一参考标记的类似组件中的任一者,与第二参考标记无关。
155.本文所述的功能可在硬件、由处理器执行的软件、固件或其任何组合中实现。如果在由处理器执行的软件中实现,则这些功能可作为一或多个指令或代码被存储在计算机可读媒体上或通过计算机可读媒体传输。其它实例和实施方案在本公开和所附权利要求书的范围内。例如,由于软件的性质,上述功能可使用由处理器执行的软件、硬件、固件、硬接线或任何这些的组合来实现。实施功能的特征还可物理上位于各种位置处,包含经分布以使得功能的部分在不同物理位置处实施。
156.例如,结合本文的公开内容描述的各种说明性块和组件可使用经设计以执行本文所述的功能的通用处理器、dsp、asic、fpga或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行。通用处理器可以是微处理器,但是替代地,该处理器可以是任何处理器、控制器、微控制器或状态机。处理器可被实现为计算装置的组合(例如,dsp和微处理器的组合、多个微处理器、一或多个微处理器与dsp内核的结合,或者任何其它这样的配置)。
157.如本文所用,包含在权利要求书中,如在项列表(例如,后加例如“中的至少一个”或“中的一或多个”的短语的项列表)中所使用的“或”指示包含端点的列表,使得例如a、b或c中的至少一个的列表意指a或b或c或ab或ac或bc或abc(即,a和b和c)。另外,如本文所用,短语“基于”不应理解为提及封闭条件集。例如,在不脱离本公开的范围的情况下,描述为“基于条件a”的示例性步骤可基于条件a和条件b两者。换句话说,如本文所用,短语“基于”应同样地解释为短语“至少部分地基于”。
158.计算机可读媒体包含非暂时性计算机存储媒体和通信媒体两者,所述通信媒体包含促进将计算机程序从一处传送到另一处的任何媒体。非暂时性存储媒体可为可由通用或专用计算机存取的任何可用媒体。借助于实例而非限制,非暂时性计算机可读媒体可包括ram、rom、电可擦除可编程只读存储器(eeprom)、压缩光盘(cd)rom或其它光盘存储器装置、磁盘存储装置或其它磁性存储装置,或可用于携载或存储呈指令或数据结构形式的所要程序代码装置且可由通用或专用计算机或者通用或专用处理器存取的任何其它非暂时性媒体。同样,任何连接都被适当地称为计算机可读媒体。例如,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)或如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输软件,则所述同轴电缆、光纤电缆、双绞线、dsl或如红外线、无线电和微波的无线技术包含在媒体的定义中。如本文所用的磁盘和光盘包含cd、激光盘、光盘、数字多功能盘
(dvd)、软盘和蓝光光盘,其中磁盘通常磁性地再现数据,而光盘用激光光学地再现数据。以上各者的组合也包含在计算机可读媒体的范围内。
159.提供本文中的描述使得所属领域的技术人员能够进行或使用本公开。本领域技术人员将清楚对本公开的各种修改,并且本文中所定义的一般原理可应用于其它变化形式而不会脱离本公开的范围。因此,本公开不限于本文所述的实例和设计,而是被赋予与本文公开的原理和新颖特征一致的最宽范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献