NAND逻辑到物理表区域跟踪的制作方法

文档序号:22188035发布日期:2020-09-11 21:57阅读:267来源:国知局
NAND逻辑到物理表区域跟踪的制作方法



背景技术:

存储器装置通常被提供为计算机或其它电子装置中的内部半导体集成电路。有许多不同类型的存储器,其包含易失性和非易失性存储器。

易失性存储器需要电源来维护其数据,并且包含随机存取存储器(ram)、动态随机存取存储器(dram)或同步动态随机存取存储器(sdram)等。

非易失性存储器可以在不通电时保持所存储的数据,并且包含快闪存储器、只读存储器(rom)、电可擦除可编程rom(eeprom)、静态ram(sram)、可擦除可编程rom(eprom)、电阻可变存储器、例如相变随机存取存储器(pcram)、电阻式随机存取存储器(rram)、磁阻随机存取存储器(mram)、或3dxpointtm存储器等。

快闪存储器被用作非易失性存储器以用于广泛的电子应用。快闪存储器装置通常包含允许高存储器密度、高可靠性和低电耗的一个晶体管、浮置栅极或电荷捕获存储器单元的一或多个群组。

两种常见类型的快闪存储器阵列架构包含nand和nor架构,其以其中布置每个的基本存储器单元配置的逻辑形式命名。存储器阵列的存储器单元通常布置成矩阵。在实例中,阵列的行中的每个浮置栅极存储器单元的栅极耦合到存取线(例如,字线)。在nor架构中,阵列的列中的每个存储器单元的漏极耦合到数据线(例如,位线)。在nand架构中,阵列的串中的每个存储器单元的漏极在源极线和位线之间以源极到漏极的方式串联耦合在一起。

通过解码器存取nor和nand架构半导体存储器阵列,所述解码器由选择耦合到其栅极的字线来激活特定存储器单元。在nor架构半导体存储器阵列中,一旦被激活,所选存储器单元将其数据值放置在位线上,从而根据特定单元被编程的状态而导致不同的电流流动。在nand架构半导体存储器阵列中,将高偏压施加到漏极侧选择栅极(sgd)线。以指定的通过电压(例如,vpass)驱动耦合到每个群组的未选择的存储器单元的栅极的字线,以使每个群组的未选择的存储器单元作为通过晶体管操作(例如,以不受其所存储的数据值限制的方式通过电流)。然后,电流通过每个串联耦合的群组从源极线流到位线,仅受到每个群组的所选存储器单元的限制,将所选存储器单元的当前编码数据值放置在位线上。

nor或nand架构半导体存储器阵列中的每个快闪存储器单元可以单独地或共同地编程为一个或许多编程状态。例如,单级单元(slc)可以代表两个编程状态(例如,1或0)中的一个,代表一个数据位。

然而,快闪存储器单元也可以代表两个以上编程状态中的一个,从而允许在不增加存储器单元数目的情况下制造较高密度存储器,因为每个单元可以代表一个以上的二进制数字(例如,一个以上的位)。此类单元可以被称为多状态存储器单元、多数位单元或多级单元(mlc)。在某些实例中,mlc可以指每单元可以存储两个数据位(例如,四个编程状态中的一个)的存储器单元,三级单元(tlc)可以指每单元可以存储三个数据位(例如,八个编程状态中的一个)的存储器单元,并且四级单元(qlc)每单元可以存储四位数据。mlc在本文中以其更广泛的上下文使用,以表示可以在每单元存储一个以上数据位的任何存储器单元(即,其可以代表两个以上编程状态)。

传统的存储器阵列是布置在半导体衬底的表面上的二维(2d)结构。为了增加给定区域的存储器容量并且降低成本,个别存储器单元的尺寸已经减小。然而,减小个别存储器单元的大小,以及因此在2d存储器阵列的存储器密度方面存在技术限制。作为响应,三维(3d)存储器结构,例如3dnand架构半导体存储器装置正在被开发以进一步增加存储器密度和降低存储器成本。

此类3dnand装置通常包含串联耦合(例如,漏极到源极)在接近源极的一或多个源极侧选择栅极(sgs)与接近位线的一或多个漏极侧选择栅极(sgd)之间的存储单元串。在实例中,sgs或sgd可以包含一或多个场效应晶体管(fet)或金属氧化物半导体(mos)结构装置等。在一些实例中,所述串将竖直延伸通过含有相应字线的多个竖直间隔的层。半导体结构(例如多晶硅结构)可以邻近存储单元串延伸以形成用于所述存储单元串的沟道。在竖直串的实例中,多晶硅结构可以是竖直延伸的柱的形式。在一些实例中,串可以被“折叠”,并且因此相对于u形柱布置。在其它实例中,多个竖直结构可以彼此堆叠以形成存储单元串的堆叠阵列。

存储器阵列或装置可以组合在一起以形成存储器系统的存储体,例如固态驱动器(ssd)、通用快闪存储(ufstm)装置、多媒体卡(mmc)固态存储装置、嵌入式mmc装置(emmctm)等。ssd等可以用作计算机的主存储装置,其在例如性能、大小、重量、强度、操作温度范围和功耗方面优于具有移动部件的传统硬盘驱动器。例如,ssd可以具有减少的寻道时间、延迟或与磁盘驱动器(例如,机电等)相关联的其它延迟。ssd使用非易失性存储器单元,例如快闪存储器单元来消除内部电池电源要求,因此允许驱动器更加通用并且紧凑。

ssd可以包含包含许多管芯或逻辑部件(例如,逻辑部件号或lun)的许多存储器装置,并且可以包含执行操作存储器装置或与外部系统接口所需的逻辑功能的一或多个处理器或其它控制器。此类ssd可以包含一或多个快闪存储器管芯,快闪存储器管芯上包含许多存储器阵列和外围电路。快闪存储器阵列可以包含组织成许多物理页的许多存储器单元块。在许多实例中,ssd还将包含dram或sram(或其它形式的存储器管芯或其它存储器结构)。ssd可以从主机接收与存储器操作相关联的命令,例如用以在存储器装置与主机之间传输数据(例如,用户数据和相关联的完整性数据,例如错误数据和地址数据等)的读取或写入操作,或从存储器装置擦除数据的擦除操作。

附图说明

在不必按比例绘制的附图中,类似的数字可以在不同的视图中描述类似的组件。具有不同字母后缀的类似数字可以代表相似组件的不同例子。附图以实例的方式而非限制的方式大致示出了本文中所讨论的各种实施例。

图1示出了包含存储器装置的环境的实例。

图2示出了工作存储器中的逻辑到物理表区域的实例。

图3示出了逻辑到物理区域、物理块和跟踪数据结构之间的关系的实例。

图4示出了逻辑到物理区域、物理块和跟踪数据结构之间的关系的实例。

图5a至5b示出了用于跟踪数据结构的存储配置。

图6示出了用于nand逻辑到物理表区域跟踪的方法的流程图。

图7是示出了可以在其上实现一或多个实施例的机器的实例的框图。

具体实施方式

许多存储装置,例如快闪装置,使用转换表将逻辑元素(例如,页或块)映射到逻辑元素的物理等效物。这允许装置的控制器执行各种技术以增加装置的存储元件的性能或寿命。例如,nand快闪单元在写入或擦除周期经历物理损耗。此外,这些装置需要一次擦除许多元件(例如,块擦除)。为了解决这些问题,控制器通常将写入分散在可用单元周围(例如,以减少这些单元的损耗),并且从块迁移良好页以擦除所述块,从而释放额外空间。在这两种情况下,给定页或块的主机地址可以是恒定的,即使它所引用的数据借助于转换表被移动到不同的物理页或块。

转换表通常被加载到控制器的内部存储器(例如,工作存储器)中。如果表的大小大于工作存储器(例如,在随机存取存储器(ram)中,例如控制器的动态ram(dram)或静态ram(sram),则将表的一部分加载到工作存储器中,并且将表的剩余部分存储在其它存储(例如nand快闪阵列元件)中。如果转换请求(例如,逻辑到物理(l2p)映射)不在工作存储器中,则控制器用来自其它存储的适当部分替换表的内部存储器部分。当执行例如对存储装置进行读取或写入之类的操作时,此过程可能增加延迟。尽管增加的工作存储器可以减少这些情况的发生,但对于给定应用来说,这会带来不可接受的制造和功率成本。

当执行某些维护任务时,例如垃圾收集(gc),l2p表的碎片性质可能成为问题。例如,nand装置通常允许单页写入,但擦除是在块级处执行的(例如,块是可单独擦除的nand装置的最小部件)。垃圾收集被设计为当nand装置中的空闲物理空间变小时恢复空闲空间。垃圾收集通常涉及将逻辑有效页从源块复制到目标块,然后擦除源块以释放空间。为了完成复制,传统上通过查找引用源块的物理地址来搜索l2p表以标识源块的有效页。

当完整的l2p表不适合工作存储器内时,传统的垃圾收集方法存在一些问题。例如,搜索可能是耗时的,因为每个l2p区域是从较慢的nand存储中检索的,并且被放入工作存储器中以进行搜索。当l2p区域在块中不包含物理页时,将浪费整个加载和搜索时间。这导致在装置等待垃圾收集过程完成时的高延迟。

可以为块维护数据结构,以提高垃圾收集进行的速度。所述数据结构指示哪些l2p表区域与给定块相关。例如,当将页写入到块时,修改对应的数据结构以指示将逻辑页映射到所述物理页的l2p区域。当在块上启动垃圾收集时,装置随后加载数据结构并搜索所指示的l2p表区域。此过程将加载到工作存储器中的l2p区域限制为仅可能包含对所述块的引用的那些区域。

数据结构的实现可以包含位图(例如,二进制阵列),其中索引对应于l2p表区域,并且索引处的值(例如,二进制‘1’对二进制‘0’)指示l2p区域是否保存(或保存)对块的物理页的引用。在此实例中,当块被擦除时,相关位图被完全重置(例如,所有值被设定为二进制‘0’)。当属于l2p区域的页被写入块时(例如,对于主机写入或垃圾收集过程),设定位图中的相关位(例如,设定为二进制‘1’)。在实例中,在块被完全写入—即,不再有空闲页—之后,直到块被擦除,块的位图才改变。

以上描述的数据结构的使用为传统的块管理提供了几个优点。例如,较少的l2p区域被加载到工作存储器中,从而减少了在块内执行有效页搜索的时间。此外,由于加载到工作存储器中的每个l2p区域可能产生将在操作期间移动的有效页,因此提高了搜索的效率。另外,因为数据结构作为对块的写入的一部分进行更新,所以在维护所述结构时维护开销很小。

采用本文中讨论的转换表修改的装置可以适用于许多应用。电子装置,例如移动电子装置(例如,智能电话、平板电脑等)、在汽车应用中使用的电子装置(例如,汽车传感器、控制部件、驾驶员辅助系统、乘客安全或舒适系统等),以及连接互联网的电器或装置(例如,物联网(iot)装置等),具体根据电子装置的类型、使用环境、性能预期等具有变化的存储需求。

电子装置可以被分成几个主要组件:处理器(例如,中央处理部件(cpu)或其它主处理器);存储器(例如,一或多个易失性或非易失性ram存储器装置,例如dram、移动或低电耗双数据速率同步dram(ddrsdram)等);以及存储装置(例如,非易失性存储器(nvm)装置,例如快闪存储器、只读存储器(rom)、ssd、mmc或其它存储卡结构或组合件等)。在某些实例中,电子装置可以包含用户界面(例如,显示器、触摸屏、键盘、一或多个按钮等)、图形处理部件(gpu)、电源管理电路、基带处理器或一或多个收发器电路等。

图1示出了环境100的实例,其包含被配置成通过通信接口进行通信的主机装置105和存储器装置110。主机装置105或存储器装置110可以包含在各种产品150中,例如物联网(iot)装置(例如,冰箱或其它电器、传感器、电动机或致动器、移动通信装置、汽车、无人驾驶机等),以支持产品150的处理、通信或控制。

存储器装置110包含存储器控制器115和存储器阵列120,存储器阵列120包含例如许多个别存储器管芯(例如,三维(3d)nand管芯的堆叠)。在3d架构半导体存储器技术中,竖直结构被堆叠,增加了许多层、物理页,并且因此增加了存储器装置(例如,存储装置)的密度。在实例中,存储器装置110可以是主机装置105的离散存储器或存储装置组件。在其它实例中,存储器装置110可以是与主机装置105的一个或多个其它组件堆叠或以其它方式包含在其中的集成电路(例如,系统芯片(soc)等)的一部分。

一或多个通信接口可以用于在存储器装置110与主机装置105的一或多个其它组件之间传输数据,例如串行高级技术附件(sata)接口、外围组件互连快速(pcie)接口、通用串行总线(usb)接口、通用快闪存储器(ufs)接口、emmctm接口,或一或多个其它连接器或接口。主机装置105可以包含主机系统、电子装置、处理器、存储卡读取器或在存储器装置110外部的一或多个其它电子装置。在一些实例中,主机105可以是具有参考图7的机器700所讨论的一些部分或全部组件的机器。

存储器控制器115可以从主机105接收指令,并且可以与存储器阵列120通信,例如将数据传输到(例如,写入或擦除)或来自(例如,读取)存储器阵列120的存储器单元、平面、子块、块或页中的一或多个。存储器控制器115尤其可以包含电路或包含一或多个组件或集成电路的固件。例如,存储器控制器115可以包含一或多个存储器控制部件、电路或组件,其被配置成控制跨越存储器阵列120的存取并且在主机105与存储器装置110之间提供转换层。

存储器管理器125尤其可以包含电路或固件,例如与各种存储器管理功能相关联的许多组件或集成电路。为了本说明书的目的,将在nand存储器的上下文中描述实例存储器操作和管理功能。本领域技术人员将认识到,非易失性存储器的其它形式可以具有类似的存储器操作或管理功能。此类nand管理功能包含损耗均衡(例如,垃圾收集或回收)、错误检测或校正、块退出或一或多个其它存储器管理功能。存储器管理器125可以将主机命令(例如,从主机接收的命令)解析或格式化为装置命令(例如,与存储器阵列的操作相关联的命令等),或生成用于阵列控制器135或存储器装置110的一或多个其它组件的装置命令(例如,以实现各种存储器管理功能)。

存储器管理器125可以包含一组管理表130,其被配置成维护与存储器装置110的一或多个组件相关联的各种信息(例如,与存储器阵列或耦合到存储器控制器115的一或多个存储器单元相关联的各种信息)。例如,管理表130可以包含关于耦合到存储器控制器115的一或多个存储器单元块的块寿命、块擦除计数、错误历史或一或多个错误计数(例如,写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等)的信息。在某些实例中,如果一或多个错误计数的检测到的错误的数目超过阈值,则位错误可以被称为不可校正的位错误。管理表130可以尤其维护可校正或不可校正位错误的计数。在实例中,管理表103可以包含转换表或l2p映射。

存储器管理器125可以实现并且使用数据结构来减少涉及在l2p表中搜索有效页的操作(例如垃圾收集)中的存储器装置110的延迟。为此,存储器管理器125被布置成维护物理块的数据结构(例如,表区域数据结构、跟踪数据结构等)。所述数据结构包含l2p表的l2p映射表区域的指示。在实例中,l2p表大于用于存储器管理器125的工作存储器,其可以与存储器控制器115或存储器装置110的其它组件共享。然而,l2p表区域不大于工作存储器,允许将l2p区域加载到工作存储器中并对其进行操作。

为了有效地管理数据结构,存储器管理器125在写入数据时对数据结构执行维护操作。因此,存储器控制器115被布置成接收写入请求(例如,来自主机105),所述写入请求包含逻辑页和待写入在所述逻辑页处的数据。存储器管理器125被布置成在逻辑页与被写入数据的nand装置的物理块的物理页之间的l2p表中建立(例如,更新或创建)条目。这里,当l2p表大于工作存储器时,条目在跨越(例如,完全覆盖)l2p表的多个区域中的区域内。

存储器管理器125被布置成在对应于写入请求的物理块的数据结构写入区域的指示。在实例中,数据结构被写入物理块中。在实例中,数据结构被写入到与块分离的阵列120的维护区域。尽管由于存储器管理器还选择l2p表区域用于写入,使存储器管理器125写入指示是有效的,但是例如存储器控制器115的其它实体也可以执行写入。

在实例中,数据结构是位图(例如二进制阵列)。在实例中,位图包含跨越l2p表的多个互斥区域中的每个区域的位。因此,l2p表区域彼此不重叠,并且所有l2p表区域的组合跨越整个l2p表。位图包含用于这些区域中的每一个的位。在实例中,l2p表区域是有序的,并且所述位的索引对应于给定l2p表区域的顺序。例如,如果l2p表存在两个l2p表区域,一个覆盖l2p表的前半,一个覆盖l2p表的后半,则位图的索引‘0’对应于第一区域,而位图的索引‘1’对应于第二区域。然而,不要求区域覆盖l2p表的连续部分(例如,区域a可能不在表中的区域b的旁边),也不要求它们具有特定的顺序。然而,用于将给定l2p表区域分配给位图的给定索引的任何标准必须是一致的(例如,区域‘y’总是映射到相同的索引)。在实例中,位图中的l2p表区域指示(例如,指示给定的l2p表区域一次具有块中的物理页)在所述区域的各个位中是逻辑1(例如,二进制‘1’)。

在实例中,存储器管理器125被布置成在物理块的垃圾收集操作期间读取数据结构,以将l2p表的有限的区域集合加载到工作存储器中。存储器管理器125搜索此有限的区域集合以找到有效页并将其从所述块移动到另一块。一旦移动了有效页,块将被擦除以完成垃圾收集。在实例中,在垃圾收集中不使用多个区域中的不在有限的区域集合中的区域。

在实例中,存储器管理器125被布置成响应于擦除物理块而初始化数据结构。因此,一旦垃圾收集完成,块的数据结构就被设定为已知的空状态。在数据结构是位图的实例中,通过在位图的每个位中写入逻辑0(例如,二进制‘0’)来初始化数据结构。在实例中,所述指示仅在初始化时未设定。此限制有助于降低维护要求并且提高对其它组件的可预测性。因此,当块被完全写入时,数据结构将不会改变,直到块被擦除并且数据结构被初始化。而且,一旦在数据结构中指示了l2p区域,则在初始化之前它可能不会“未指示”。

阵列控制器135尤其可以包含被配置成控制与将数据写入耦合到存储器控制器115的存储器装置110的一或多个存储器单元,从中读取数据或擦除相关联的存储器操作的电路或组件等。存储器操作可以基于,例如从主机105接收或由存储器管理器125内部生成(例如,与损耗均衡、错误检测或校正等相关联)的主机命令。

阵列控制器135可以包含错误校正码(ecc)组件140,其可以尤其包含ecc引擎或被配置成检测或校正与将数据写入到耦合到存储器控制器115的存储器装置110的一或多个存储器单元或从中读取数据相关联的错误的其它电路。存储器控制器115可以被配置成主动地检测与数据的各种操作或存储相关联的错误发生(例如,位错误、操作错误等)并且从中恢复,同时维护主机105与存储器装置110之间传输的数据的完整性,或维护所存储数据的完整性(例如,使用冗余raid存储等),并且可以移除(例如,退出)故障存储器资源(例如,存储器单元、存储器阵列、页、块等)以防止将来的错误。

存储器阵列120可以包含布置在,例如许多装置、平面、子块、块或页中的许多存储器单元。作为一个实例,48gbtlcnand存储器装置可以包含每页(16,384+2208字节)18,592字节(b)的数据、每块1536页、每平面548块和每装置4或4个以上平面。作为另一个实例,32gbmlc存储器装置(每单元存储两个数据位(即,4个可编程状态))可以包含每页(16,384+2208字节)18,592字节(b)、每块1024页、每平面548块和每装置4个平面,但是所需写入时间具有一半,而相应的tlc存储器装置的编程/擦除(p/e)周期是其的两倍。其它实例可以包含其它数目或布置。在一些实例中,存储器装置或其一部分可以选择性地以slc模式或以所需的mlc模式(例如tlc、qlc等)操作。

在操作中,数据通常以页的形式被写入或从nand存储器装置110读取,并且以块的形式擦除。然而,根据需要,可以在较大或较小群组的存储器单元上执行一或多个存储器操作(例如,读取、写入、擦除等)。nand存储器装置110的数据传输大小通常被称为页,而主机的数据传输大小通常被称为扇区。

尽管数据页可以包含许多字节的用户数据(例如,包含许多数据扇区的数据有效负载)以及其相应的元数据,但页的大小通常仅指用于存储用户数据的字节的数目。作为实例,具有4kb页大小的数据页可以包含4kb用户数据(例如,假设扇区大小为512b的8个扇区)以及相应于用户数据的元数据的许多字节(例如,32b、54b、224b等),例如完整性数据(例如,错误检测或校正码数据)、地址数据(例如,逻辑地址数据等)或与用户数据相关联的其它元数据。

不同类型的存储器单元或存储器阵列120可以提供不同的页大小,或可以需要与其相关联的不同量的元数据。例如,不同的存储器装置类型可以具有不同的位错误率,这可以导致需要不同的元数据量来确保数据页的完整性(例如,较高位错误率的存储器装置比较低位错误率的存储器装置可能需要更多字节的错误校正码数据)。作为实例,多级单元(mlc)nand快闪装置可以具有比相应的单级单元(slc)nand快闪装置更高的位错误率。这样,mlc装置可能需要比相应的slc装置更多的用于错误数据的元数据字节。

图2示出了工作存储器220中的逻辑到物理表区域225的实例。完整的l2p表215被存储在nand阵列210中。然而,完整的l2p表不适合工作存储器220内。因此,当搜索l2p表215时,处理电路205(例如,存储器管理器、存储器控制器等)将l2p表区域225从阵列210加载到工作存储器中。

图3示出了逻辑到物理区域310、物理块315和跟踪数据结构325之间的关系的实例。这里,跟踪数据结构被组织为索引从零开始的二进制数组。因此,对应于给定表区域(例如,区域二)的阵列的元件是区域减一(例如,跟踪数据结构325的索引一对应于区域二)。数据结构325中的每个索引唯一地对应于l2p表305中的单个表区域。尽管提供位图或二进制阵列结构作为跟踪数据结构的可能实现,但是也可以使用其它结构,例如结构化数据文件(例如,可扩展标记语言(xml)等)、数据库等。此外,指示可以包含字符或其它符号。

这些实体之间的关系可以在主机(或其它)写入到块315期间建立。l2p表305被分割成包含区域n310的区域。逻辑到物理页的关系存储在区域n310中。块315中的物理页320用于存储用于写入的数据。索引n-1330对应于区域n310。因此,将阵列元素335被更新为二进制‘1’以指示区域n310具有属于块315的关系;二进制‘0’指示相应区域不具有属于块315的关系。如果块315被填充(例如,不再存在写入新请求的空闲页),则数据结构325不再被更新。

图4示出了逻辑到物理区域410、物理块x415和块x的跟踪数据结构405之间的关系的实例。

这里,跟踪数据结构405填充有属于块x415的l2p表区域的指示。在块x415的垃圾收集期间,读取跟踪数据结构405,以确定将哪些l2p表区域加载到工作存储器中以完成垃圾收集。这里,跟踪数据结构指示区域n410具有属于块x415的条目。因此,区域n可以被加载到非易失性存储器中。

一旦被加载到工作存储器中,就在区域n410中搜索指向块x415的条目,例如lba4和lba3等。然后将这些页写入到不同的块,并且相对于块x415标记为无效。重复此过程,直到移动了块x415中的所有有效页,使块x415中没有有效数据。然后可以擦除块x415,从而完成块x的垃圾收集。如上所述,跟踪数据结构405减少了需要加载到工作存储器中以完成垃圾收集过程的l2p表区域的数量,其超过了传统方法。

图5a至5b示出了块中的验证组件的存储配置。图5a示出了为控制器元数据预留块的专用部分的组织。因此,块被划分为用户数据部分505和辅助部分510。用于表区域跟踪的数据结构可以存储在辅助部分中,例如存储在标记为“info”的段中。相反,图5b示出了可替代的组织,其中辅助部分散布在整个用户数据段中,从而产生异构部分515。然而,“info”辅助部分520仍然位于块上,并且可以存储其最后被写入时块的数据结构。可以用于存储数据结构的其它位置包含为装置管理保留的存储器装置区域。

图6示出了用于nand逻辑到物理表区域跟踪的方法600的流程图。方法600的操作由例如在本文中描述的电子硬件(例如,电路)执行。

在操作605处,在nand装置控制器处接收写入请求。这里,写入请求包含逻辑页和待写入在所述逻辑页处的数据。

在操作610处,在逻辑页与被写入数据的nand装置的物理块的物理页之间的逻辑到物理映射表中建立(例如,创建或更新)条目。所述条目在逻辑到物理映射表的多个区域中的区域内。在实例中,所述nand装置包含工作存储器,逻辑到物理映射表大于工作存储器,并且多个区域中的区域不大于工作存储器。

在操作615处,将区域的指示写入对应于物理块的数据结构中。在实例中,数据结构被写入物理块中。

在实例中,数据结构是位图。在实例中,位图包含用于多个区域中的每个区域的位。在实例中,写入区域的指示包含在位图中对应于区域的位中写入逻辑1。在实例中,多个区域中的区域是有序的,并且位的索引对应于区域的顺序。

在实例中,方法600可以可选地包含擦除物理块,以及响应于擦除物理块而初始化数据结构。在实例中,所述指示仅在初始化时未设定。在实例中,当数据结构是位图时,初始化数据结构包含在位图的每个位中写入逻辑0。

在实例中,方法600可以可选地包含在物理块的垃圾收集操作期间读取数据结构,将逻辑到物理映射表的有限的区域集合加载到nand装置的工作存储器中—有限的区域集合仅被标识为多个区域中的在数据结构中具有指示的那些区域—以及从有限的区域集合检索条目以执行垃圾收集。在实例中,在垃圾收集中不使用多个区域中的不在有限的区域集合中的区域。

图7示出了可以在本文中讨论的任何一或多个技术(例如,方法)上执行的实例机器700的框图。在替代实施例中,机器700可以作为独立装置操作或可以连接(例如,联网)到其它机器。在联网部署中,机器700可以在服务器-客户端网络环境中以服务器机器、客户端机器或两者的能力来操作。在实例中,机器700可以充当对等(p2p)(或其它分布式)网络环境中的对等机器。机器700可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、移动电话、网络应用、iot装置、汽车系统或能够执行(顺序或以其它方式)指定将由所述机器采取的动作的指令的任何机器。此外,虽然仅示出了单个机器,但是术语“机器”还应被理解为包含机器的任何集合,所述机器单独地或联合地执行一组(或多组)指令以执行本文中所讨论的方法中的任何一或多个,例如云计算、软件即服务(saas)、其它计算机集群配置。

如本文中所描述的实例可以包含逻辑、组件、装置、封装或机构,或可以由其操作。电路是在包含硬件(例如,简单电路、栅极、逻辑等)的有形实体中实现的电路的集合(例如,集合)。电路成员关系可以随时间和底层硬件变化而灵活。电路包含可以单独或组合地在操作时执行特定任务的构件。在实例中,电路的硬件可以不变地被设计成执行特定操作(例如,硬连线)。在实例中,电路的硬件可以包含可变地连接的物理组件(例如,执行部件、晶体管、简单电路等),所述物理组件包含计算机可读介质,所述计算机可读介质被物理地修改(例如,磁性、电的、不变质量粒子的可移动放置等)以编码特定操作的指令。在连接物理组件时,硬件组成的基础电特性被改变,例如,从绝缘体到导体,反之亦然。所述指令使参与的硬件(例如,执行部件或加载机制)能够经由可变连接在硬件中创建电路的构件,以在操作时执行部分特定任务。因此,当装置操作时,计算机可读介质可以通信地耦合到电路的其它组件。在实例中,任何物理组件可以在一个以上电路的一个以上构件中使用。例如,在操作下,执行部件可以在一个时间点被用在第一电路的第一电路中,并且在不同的时间被第一电路中的第二电路或第二电路中的第三电路重新使用。

机器(例如,计算机系统)700(例如主机装置105、存储器装置110等)可以包含硬件处理器702(例如,中央处理部件(cpu)、图形处理部件(gpu)、硬件处理器核心或其任意组合,例如存储器控制器115等)、主存储器704和静态存储器706,它们中的一些或全部可以经由互连链路(例如,总线)708彼此通信。机器700可以进一步包含显示部件710、字母数字输入装置712(例如,键盘)和用户界面(ui)导航装置714(例如,鼠标)。在实例中,显示部件710、输入装置712和ui导航装置714可以是触摸屏显示器。机器700可以另外包含存储装置(例如,驱动部件)716、信号生成装置718(例如,扬声器)、网络接口装置720和一或多个传感器716,例如全球定位系统(gps)传感器、罗盘、加速度计或其它传感器。机器700可以包含输出控制器728,例如串行(例如,通用串行总线(usb),并行或其它有线或无线(例如,红外(ir)、近场通信(nfc)等)连接,以通信或控制一或多个外围装置(例如,打印机、读卡器等)。

存储装置716可以包含机器可读介质722,在所述机器可读介质722上存储了一或多组数据结构或指令724(例如,软件),所述数据结构或指令由本文中描述的任何一或多种技术或功能体现或利用。在机器700执行指令期间,指令724还可以完全地或至少部分地驻留在主存储器704内、静态存储器706内或硬件处理器702内。在实例中,硬件处理器702、主存储器704、静态存储器706或存储装置716中的一个或任意组合可以构成机器可读介质722。

虽然机器可读介质722被示为单个介质,但是术语“机器可读介质”可以包含被配置成存储一或多个指令724的单个介质或多个介质(例如,集中式或分布式数据库或相关联的高速缓存和服务器)。

术语“机器可读介质”可以包含能够存储、编码或承载用于由机器700执行的指令并且使机器700执行本公开的任何一或多种技术的任何介质,或能够存储、编码或承载由此类指令使用或与所述指令相关联的数据结构。非限制性机器可读介质的实例可以包含固态存储器以及光学和磁介质。在实例中,大容量机器可读介质包括具有多个具有不变(例如,静止)质量的粒子的机器可读介质。因此,大容量机器可读介质不是暂时传播信号。大容量机器可读介质的具体实例可以包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom))和快闪存储器装置;磁盘,例如内部硬盘和可移动磁盘;磁光盘;以及cd-rom和dvd-rom盘。

指令724(例如,软件、程序、操作系统(os)等)或其它数据存储在存储装置721上,可以由存储器704存取以供处理器702使用。存储器704(例如,dram)通常是快速的,但是易失性的,并且因此是与存储装置721(例如,ssd)不同类型的存储类型,其适合于长期存储,包含当处于“关闭”状态时。由用户或机器700使用的指令724或数据通常被加载到存储器704中,以供处理器702使用。当存储器704已满时,可以分配来自存储装置721的虚拟空间来补充存储器704;然而,由于存储装置721通常比存储器704慢,并且写入速度通常至多是读取速度的二分之一,因此由于存储装置延迟(与存储器704相比,例如,dram),虚拟存储器的使用可以极大地降低用户体验。此外,将存储装置721用于虚拟存储器可以极大减少存储装置721的可用寿命。

与虚拟存储器相比,虚拟存储器压缩(例如,内核特征“zram”)使用部分存储器作为压缩块存储,以避免对存储装置721的分页。在压缩块中进行分页,直到必要将此类数据写入存储装置721。虚拟存储器压缩增加了存储器704的可用大小,同时降低了对存储装置721的损耗。

为移动电子装置或移动存储器优化的存储装置通常包含mmc固态存储装置(例如,微安全数字(microsdtm)卡等)。mmc装置包含与主机装置的许多并行接口(例如,8位并行接口),并且通常是可移动的并且与主机装置分离的组件。相反,emmctm装置以与基于串行atatm(串行at(高级技术)附件或sata)的ssd装置相媲美的读取速度附接到电路板并被视为主机装置的组件。然而,对移动装置性能的需求持续增加,例如完全实现虚拟或增强现实装置,利用增加的网络速度等。响应于此需求,存储装置已经从并行转换到串行通信接口。包含控制器和固件的通用快闪储存(ufs)装置使用具有专用读取/写入路径的低压差分信号(lvds)串行接口与主机装置通信,从而进一步提高读取/写入速度。

指令724可以进一步经由网络接口装置720利用许多传输协议(例如,帧中继、因特网协议(ip)、传输控制协议(tcp)、用户数据报协议(udp)、超文本传输协议(http)等)中的任何一个,使用传输介质通过通信网络726来传输或接收。实例通信网络可以包含局域网(lan)、广域网(wan)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、普通老式电话(pots)网络和无线数据网络(例如,电气和电子工程师协会(ieee)802.11标准系列被称为ieee802.16标准系列被称为)、ieee802.15.4标准系列、对等(p2p)网络等。在实例中,网络接口装置720可以包含一或多个物理插孔(例如,以太网、同轴或电话插孔)或一或多个天线以连接到通信网络726。在实例中,网络接口装置720可以包含多个天线,以使用单输入多输出(simo)、多输入多输出(mimo)或多输入单输出(miso)技术中的至少一者来进行无线通信。术语“传输介质”应被理解为包含能够存储、编码或承载由机器700执行的指令的任何无形介质,并且包含数字或模拟通信信号或其它无形介质以便于此类软件的通信。

附加实例:

实例1是用于nand逻辑到物理表区域跟踪的nand装置,所述nand装置包括:nand阵列;以及控制器,其用于:在所述nand阵列的控制器处接收写入请求,所述写入请求包含逻辑页和待写入在所述逻辑页处的数据;在逻辑页和被写入数据的nand阵列的物理块的物理页之间的逻辑到物理映射表中建立条目,所述条目在逻辑到物理映射表的区域中,所述区域是多个区域中的一个;以及在对应于物理块的数据结构中写入区域的指示。

在实例2中,实例1的主题包含,其中数据结构是位图。

在实例3中,实例2的主题包含,其中位图包含用于多个区域中的每个区域的位。

在实例4中,实例3的主题包含,其中写入区域的指示。控制器用于在位图中对应于区域的位中写入逻辑1。

在实例5中,实例3至4的主题包含,其中多个区域的区域是有序的,并且其中位的索引对应于区域的顺序。

在实例6中,实例1至5的主题包含,其中数据结构被写入物理块中。

在实例7中,实例1至6的主题包含工作存储器,其中逻辑到物理映射表大于工作存储器,并且其中多个区域中的区域不大于工作存储器。

在实例8中,实例1至7的主题包含,其中控制器用于:擦除物理块;以及响应于擦除物理块而初始化数据结构。

在实例9中,实例8的主题包含,其中仅当数据结构被初始化时指示未设定。

在实例10中,实例8至9的主题包含,其中数据结构是位图,并且其中为了初始化数据结构,控制器将在位图的每个位中写入逻辑0。

在实例11中,实例1至10的主题包含工作存储器,其中控制器用于:在物理块的垃圾收集操作期间读取数据结构;将逻辑到物理映射表的有限的区域集合加载到工作存储器中,有限的区域集合仅被标识为多个区域中的在数据结构中具有指示的那些区域;以及从有限的区域集合检索条目以执行垃圾收集。

在实例12中,实例11的主题包含,其中在垃圾收集中不使用多个区域中的不在有限的区域集合中的区域。

实例13是用于nand逻辑到物理表区域跟踪的方法,所述方法包括:在nand装置的控制器处接收写入请求,所述写入请求包含逻辑页和待写入在所述逻辑页处的数据;由nand控制器在逻辑页和被写入数据的nand装置的物理块的物理页之间的逻辑到物理映射表中建立条目,所述条目在逻辑到物理映射表的区域中,所述区域是多个区域中的一个;以及由nand控制器在对应于物理块的数据结构中写入区域的指示。

在实例14中,实例13的主题包含,其中数据结构是位图。

在实例15中,实例14的主题包含,其中位图包含用于多个区域中的每个区域的位。

在实例16中,实例15的主题包含,其中写入区域的指示包含在位图中对应于区域的位中写入逻辑1。

在实例17中,实例15至16的主题包含,其中多个区域的区域是有序的,并且其中位的索引对应于区域的顺序。

在实例18中,实例13至17的主题包含,其中数据结构被写入物理块中。

在实例19中,实例13至18的主题包含,其中nand装置包含工作存储器,其中逻辑到物理映射表大于工作存储器,并且其中多个区域中的区域不大于工作存储器。

在实例20中,实例13至19的主题包含,擦除物理块;以及响应于擦除物理块而初始化数据结构。

在实例21中,实例20的主题包含,其中仅在初始化时指示未设定。

在实例22中,实例20至21的主题包含,其中数据结构是位图,并且其中初始化数据结构包含在位图的每个位中写入逻辑0。

在实例23中,实例13至22的主题包含,在物理块的垃圾收集操作期间读取数据结构;将逻辑到物理映射表的有限的区域集合加载到nand装置的工作存储器中,有限的区域集合仅被标识为多个区域中的在数据结构中具有指示的那些区域;以及从有限的区域集合检索条目以执行垃圾收集。

在实例24中,实例23的主题包含,其中在垃圾收集中不使用多个区域中的不在有限的区域集合中的区域。

实例25是包含用于nand逻辑到物理表区域跟踪的指令的机器可读介质,所述指令在由机器执行时使所述机器执行包括以下操作:在nand装置的控制器处接收写入请求,所述写入请求包含逻辑页和待写入在所述逻辑页处的数据;由nand控制器在逻辑页和被写入数据的nand装置的物理块的物理页之间的逻辑到物理映射表中建立条目,所述条目在逻辑到物理映射表的区域中,所述区域是多个区域中的一个;以及由nand控制器在对应于物理块的数据结构中写入区域的指示。

在实例26中,实例25的主题包含,其中数据结构是位图。

在实例27中,实例26的主题包含,其中位图包含用于多个区域中的每个区域的位。

在实例28中,实例27的主题包含,其中写入区域的指示包含在位图中对应于区域的位中写入逻辑1。

在实例29中,实例27至28的主题包含,其中多个区域的区域是有序的,并且其中位的索引对应于区域的顺序。

在实例30中,实例25至29的主题包含,其中数据结构被写入物理块中。

在实例31中,实例25至30的主题包含,其中nand装置包含工作存储器,其中逻辑到物理映射表大于工作存储器,并且其中多个区域中的区域不大于工作存储器。

在实例32中,实例25至31的主题包含,其中操作包括:擦除物理块;以及响应于擦除物理块而初始化数据结构。

在实例33中,实例32的主题包含,其中仅在初始化时指示未设定。

在实例34中,实例32至33的主题包含,其中数据结构是位图,并且其中初始化数据结构包含在位图的每个位中写入逻辑0。

在实例35中,实例25至34的主题包含,其中操作包括:在物理块的垃圾收集操作期间读取数据结构;将逻辑到物理映射表的有限的区域集合加载到nand装置的工作存储器中,有限的区域集合仅被标识为多个区域中的在数据结构中具有指示的那些区域;以及从所述有限的区域集检索条目以执行垃圾收集。

在实例36中,实例35的主题包含,其中在垃圾收集中不使用多个区域中的不在有限的区域集合中的区域。

实例37是用于nand逻辑到物理表区域跟踪的系统,所述系统包括:用于在nand装置的控制器处接收写入请求的装置,所述写入请求包含逻辑页和待写入在所述逻辑页处的数据;用于由nand控制器在逻辑页和被写入数据的nand装置的物理块的物理页之间的逻辑到物理映射表中建立条目的装置,所述条目在逻辑到物理映射表的区域中,所述区域是多个区域中的一个;以及用于由nand控制器在对应于物理块的数据结构中写入区域的指示的装置。

在实例38中,实例37的主题包含,其中数据结构是位图。

在实例39中,实例38的主题包含,其中位图包含用于多个区域中的每个区域的位。

在实例40中,实例39的主题包含,其中用于写入区域的指示的装置包含用于在位图中对应于区域的位中写入逻辑1的装置。

在实例41中,实例39至40的主题包含,其中多个区域的区域是有序的,并且其中位的索引对应于区域的顺序。

在实例42中,实例37至41的主题包含,其中数据结构被写入物理块中。

在实例43中,实例37至42的主题包含,其中nand装置包含工作存储器,其中逻辑到物理映射表大于工作存储器,并且其中多个区域中的区域不大于工作存储器。

在实例44中,实例37至43的主题包含,用于擦除物理块的装置;以及用于响应于擦除物理块而初始化数据结构的装置。

在实例45中,实例44的主题包含,其中仅在初始化时指示未设定。

在实例46中,实例44至45的主题包含,其中数据结构是位图,并且其中用于初始化数据结构的装置包含用于在位图的每个位中写入逻辑0的装置。

在实例47中,实例37至46的主题包含,用于在物理块的垃圾收集操作期间读取数据结构的装置;用于将逻辑到物理映射表的有限的区域集合加载到nand装置的工作存储器中的装置,有限的区域集合仅被标识为多个区域中的在数据结构中具有指示的那些区域;以及用于从有限的区域集合检索条目以执行垃圾收集的装置。

在实例48中,实例47的主题包含,其中在垃圾收集中不使用多个区域中的不在有限的区域集合中的区域。

实例49是包含指令的至少一个机器可读介质,所述指令在由处理电路执行时使处理电路执行操作以实现实例1至48中的任何一个。

实施例50是包括实现实例1至48中任一项的装置的设备。

实施例51是实现实例1至48中任一个的系统。

实施例52是实现实例1至48中任一个的方法。

以上详细描述包含对附图的参考,附图形成了详细描述的一部分。附图以图示的方式展示了可以实施本发明的具体实施例。这些实施例在本文中也称为“实例”。此类实例可以包含除了那些展示或描述之外的元件。然而,本发明人还考虑了仅提供了所展示或描述的那些元件的实例。此外,本发明人还考虑使用所展示或所描述的那些元件(或其一或多个方面)的任何组合或排列的实例,或关于特定实例(或其一或多个方面),或关于本文中所展示或所描述的其它实例(或其一或多个方面)。

在此文件中,如在专利文件中常见的,使用术语“一个(a)”或“一个(an)”来包含一个或一个以上,独立于“至少一个”或“一或多个”的任何其它例子或用法。在此文件中,术语“或”用于指非排他性的,使得“a或b”可以包含“a而不是b”、“b而不是a”和“a和b”,除非另有说明。在所附权利要求中,术语“包含”和“在其中”用作相应术语“包括”和“其中”的简单英语等同物。此外,在下面的权利要求中,术语“包含”和“包括”是开放式的,即,除了在权利要求中在此类术语之后列出的那些元件之外,包含元件的系统、装置、物品或过程仍然被认为落入所述权利要求的范围内。此外,在以下权利要求中,术语“第一”、“第二”和“第三”等仅用作标记,而不旨在对其对象施加数字要求。

在各种实例中,本文中描述的组件、控制器、处理器、部件、引擎或表可以包含存储在物理装置上的物理电路或固件等。本文中使用的“处理器”是指任何类型的计算电路,例如但不限于微处理器、微控制器、图形处理器、数字信号处理器(dsp)或任何其它类型的处理器或包含一组处理器或多核装置的处理电路。

在本文中使用的术语“水平”被定义为平行于衬底的常规平面或表面的平面,例如在晶片或管芯下面的平面,而与衬底在任何时间点的实际方位无关。术语“竖直”是指垂直于如上定义的水平的方向。例如“在…上(on)”、“通过(over)”和“在…之下(under)”的介词是相对于在衬底的顶部或暴露表面上的常规平面或表面来限定,而与衬底的方位无关;并且虽然“在…上(on)”旨在表明一种结构相对于另一个结构的直接接触,但它是“在…上(on)”的(在没有相反的明确指示的情况下);术语“通过(over)”和“在…之下(under)”明确地旨在标识结构(或层、特征等)的相对放置,除非明确地如此标识,否则其明确地包含但不限于所标识的结构之间的直接接触。类似地,术语“通过(over)”和“在…之下(under)”不限于水平方位,因为如果在某个时间点上结构是讨论中的结构的最外部分,即使此类结构相对于参考结构竖直延伸,而不是水平方位,则结构可以“通过(over)”参考结构。

本文中使用的术语“晶片”和“衬底”一般是指在其上形成集成电路的任何结构,并且还指在集成电路制造的各个阶段期间的此类结构。因此,以下详细描述不应在限制性意义上理解,并且各种实施例的范围仅由所附权利要求书连同所述权利要求书所授权的等效物的全部范围来限定。

根据本公开并且本文中所描述的各种实施例包含利用存储器单元的竖直结构(例如,存储器单元的nand串)的存储器。如本文中所使用,将相对于在其上形成存储器单元的衬底的表面而采用方向形容词(即,将采用延伸远离衬底表面的竖直结构,将采用竖直结构的底端作为最靠近衬底表面的一端,并且将采用竖直结构的顶端作为最远离衬底表面的一端)。

如本文中所使用,方向性形容词可以指相对方位,例如水平、竖直、法线、平行、垂直等,并且除非另有说明,不旨在要求严格遵守特定的几何特性。例如,如本文中所使用,竖直结构不需要完全垂直于衬底的表面,而是可以替代地大体上垂直于衬底的表面,并且可与衬底的表面形成锐角(例如,在60与120度之间等)。

在本文中所描述的一些实施例中,可以将不同的掺杂配置施加到源极侧选择栅极(sgs)、控制栅极(cg)和漏极侧选择栅极(sgd),在此实例中,源极和漏极选择栅极中的每一个可以由多晶硅形成或至少包含多晶硅,其结果使得这些层(例如多晶硅等)在暴露于蚀刻溶液时,可以具有不同的蚀刻速率。例如,在3d半导体装置中的单片支柱的过程中,sgs和cg可以形成凹陷,而sgd可以保持较少的凹陷或甚至不凹陷。因此,这些掺杂配置能够通过使用蚀刻溶液(例如,四甲基氢氧化铵(tmch))选择性地蚀刻到3d半导体装置的不同的层(例如,sgs、cg和sgd)中。

如本文中所使用,操作存储器单元包含读取、写入或擦除存储器单元。将存储器单元置于预期状态的操作在本文中被称为“编程”,并且可以包含写入到存储器单元或从存储器单元擦除(例如,存储器单元可以被编程为擦除状态)。

根据本公开的一或多个实施例,位于存储器装置的内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设置、调整、计算、改变、清除、通信、适配、推导、限定、利用、修改、应用等)大量损耗周期或损耗状态(例如,记录损耗周期,对存储器装置在其发生时的操作进行计数,跟踪其起始的存储器装置的操作,评估对应于损耗状态的存储器装置特性等)。

根据本公开的一或多个实施例,存储器存取装置可以被配置成随每次存储器操作向存储器装置提供损耗周期信息。存储器装置控制电路(例如,控制逻辑)可以被编程以补偿对应于损耗周期信息的存储器装置性能变化。存储器装置可以接收损耗周期信息并且响应于磨损周期信息确定一或多个操作参数(例如,值、特征)。

应理解,当元件被称为在另一元件“上”、“连接到”或“耦合到”另一个元件时,它可以直接在另一个元件上、连接到另一个元件或耦合到另一个元件,或可以存在中间元件。相反,当元件被称为“直接在上”“直接连接到”或“直接耦合到”另一个元件时,则不存在中间元件或中间层。如果附图中用线展示两个元件连接,则两个元件可以耦合或直接耦合,除非另外指出。

本文中所描述的方法实例至少部分地可以是机器或计算机实现的。一些实例可以包含用指令编码的计算机可读介质或机器可读介质,所述指令可操作来配置电子装置以执行如以上实例中所描述的方法。此类法的实现可以包含代码,例如微代码、汇编语言代码、高级语言代码等。此类代码可以包含用于执行各种方法的计算机可读指令。所述代码可以形成计算机程序产品的部分。此外,代码可以被有形地存储在一或多个易失性或非易失性有形计算机可读介质上,例如在执行期间或在其它时间。这些有形计算机可读介质的实例可以包含但不限于硬盘、可移动磁盘、可移动光盘(例如,压缩盘和数字视频盘)、磁带、存储卡或棒、随机存取存储器(ram)、只读存储器(rom)、固态驱动器(ssd)、通用快闪存储(ufs)装置、嵌入式mmc(emmc)装置等。

以上描述旨在说明而非限制。例如,以上描述实例(或其一或多个方面)可以彼此组合使用。可以使用其它实施例,例如由本领域技术人员在阅读以上描述后。提交时应理解,其将不用于解释或限制权利要求的范围或含义。此外,在以上详细描述中,可以将各种特征组合在一起以简化本公开。这不应被解释为意指未要求保护的揭示特征对于任何权利要求是必要的。相反,发明主题可以在于少于特定揭示实施例的所有特征。因此,以下权利要求由此并入到详细描述中,其中每个权利要求独立地作为单独的实施例,并且预期此类实施例可以在各种组合或排列中彼此组合。本发明的范围应参考所附权利要求以及此类权利要求所赋予的等同物的全部范围来确定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1