CN112055843A - 同步化nand逻辑到物理表区跟踪 - Google Patents
同步化nand逻辑到物理表区跟踪 Download PDFInfo
- Publication number
- CN112055843A CN112055843A CN201780098236.5A CN201780098236A CN112055843A CN 112055843 A CN112055843 A CN 112055843A CN 201780098236 A CN201780098236 A CN 201780098236A CN 112055843 A CN112055843 A CN 112055843A
- Authority
- CN
- China
- Prior art keywords
- data structure
- physical
- logical
- region
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013507 mapping Methods 0.000 claims abstract description 107
- 238000000034 method Methods 0.000 claims abstract description 38
- 230000003936 working memory Effects 0.000 claims description 49
- 230000015654 memory Effects 0.000 description 158
- 238000007726 management method Methods 0.000 description 13
- 239000004065 semiconductor Substances 0.000 description 13
- 239000000758 substrate Substances 0.000 description 13
- 238000004891 communication Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000003491 array Methods 0.000 description 7
- 238000001914 filtration Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 238000013519 translation Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 5
- 230000005291 magnetic effect Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 4
- 229920005591 polysilicon Polymers 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000000994 depressogenic effect Effects 0.000 description 2
- 238000005530 etching Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- WGTYBPLFGIVFAS-UHFFFAOYSA-M tetramethylammonium hydroxide Chemical compound [OH-].C[N+](C)(C)C WGTYBPLFGIVFAS-UHFFFAOYSA-M 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- POSWICCRDBKBMH-UHFFFAOYSA-N dihydroisophorone Natural products CC1CC(=O)CC(C)(C)C1 POSWICCRDBKBMH-UHFFFAOYSA-N 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7209—Validity control, e.g. using flags, time stamps or sequence numbers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Semiconductor Integrated Circuits (AREA)
- Memory System (AREA)
Abstract
本文中描述用于同步化NAND逻辑到物理表区跟踪的装置和技术。维持物理块的表区数据结构。这些结构包含指向相应物理块的逻辑到物理L2P映射表部分。当在块上执行垃圾收集时,读取所述块的表区结构,以及另一块(例如,将进行垃圾收集的下一块)的表区结构,以避免加载不指向所述块的L2P表区。如果所述L2P表区的所述读取部分中任一个都无法指向所述块或所述另一块,那么从所述经加载表区数据结构移除这些L2P表部分。
Description
背景技术
存储器装置通常提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。
易失性存储器需要电力来维持其数据,且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)或同步动态随机存取存储器(SDRAM)等等。
非易失性存储器可在不被供电时保存所存储的数据,且包含快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、静态RAM(SRAM)、可擦除可编程ROM(EPROM)、电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)、磁阻式随机存取存储器(MRAM)或3D XPointTM存储器等等。
快闪存储器用作广泛范围的电子应用的非易失性存储器。快闪存储器装置通常包含允许高存储器密度、高可靠性和低功耗的单晶体管浮动栅极或电荷阱存储器单元的一或多个群组。
两种常见类型的快闪存储器阵列架构包含NAND和NOR架构,所述架构以每一者的基本存储器单元配置所布置的逻辑形式来命名。存储器阵列的存储器单元通常布置成矩阵。在实例中,阵列的一行中的每一浮动栅极存储器单元的栅极耦合到存取线(例如,字线)。在NOR架构中,阵列的一列中的每一存储单元的漏极耦合到数据线(例如,位线)。在NAND架构中,阵列的一串中的每个存储器单元的漏极以源极到漏极方式一起串联耦合在源极线与位线之间。
NOR和NAND架构半导体存储器阵列均通过解码器来存取,所述解码器通过选择耦合到特定存储器单元的栅极的字线来激活特定存储器单元。在NOR架构半导体存储器阵列中,一旦被激活,选定存储器单元便使其数据值置于位线上,从而依据特定单元经编程的状态而使不同电流流动。在NAND架构半导体存储器阵列中,将高偏压电压施加于漏极侧选择栅极(SGD)线。以指定传递电压(例如,Vpass)驱动耦合到每一群组的非所选存储器单元的栅极的字线,以使每一群组的非所选存储器单元作为传递晶体管操作(例如,以不受其所存储的数据值限制的方式传递电流)。电流随后从源极线穿过每个串联耦合的群组流动到位线,仅受每个群组中的所选存储器单元限制,从而将所选存储器单元的行的当前经编码数据值置于位线上。
NOR或NAND架构半导体存储器阵列中的每一快闪存储器单元可单独地或共同地编程到一个或数个经编程状态。举例来说,单层级单元(SLC)可表示两个编程状态(例如,1或0)中的一个,从而表示一个数据位。
然而,快闪存储器单元也可表示大于两个的经编程状态中的一个,从而允许制造较高密度的存储器而不增加存储器单元的数目,这是因为每一单元可表示大于一个的二进制数字(例如,大于一个位)。此类单元可被称为多状态存储器单元、多数字单元或多层级单元(MLC)。在某些实例中,MLC可指代每单元可存储两个数据位(例如,四个经编程状态中的一个)的存储器单元,三层级单元(TLC)可指代每单元可存储三个数据位(例如,八个经编程状态中的一个)的存储器单元,且四层级单元(QLC)可每单元存储四个数据位。MLC在本文中以其较广泛情形使用,以指代每单元可存储大于一个数据位(即,可表示大于两个经编程状态)的任何存储器单元。
传统存储器阵列是布置于半导体衬底表面上的二维(2D)结构。为了针对给定面积增加存储器容量且减小成本,已减小个别存储器单元的大小。然而,个别存储器单元大小的减小存在技术限制,因此2D存储器阵列的存储器密度也存在技术限制。作为响应,正开发三维(3D)存储器结构,例如3D NAND架构半导体存储器装置,以进一步增大存储器密度且降低存储器成本。
此类3D NAND装置通常包含存储单元串,其串联(例如,以漏极到源极方式)耦合于接近源极的一或多个源极侧选择栅极(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说明逻辑到物理区、物理块和跟踪数据结构之间的关系的实例。
图5说明逻辑到物理区、多个物理块和跟踪数据结构之间的关系的实例。
图6A-6B说明跟踪数据结构的存储配置。
图7说明用于同步化NAND逻辑到物理表区跟踪的方法的流程图。
图8是说明可在上面实施一或多个实施例的机器的实例的框图。
具体实施方式
例如快闪装置等许多存储装置使用转换表将逻辑元素(例如,页或块)映射到所述逻辑元素的物理等效物。这允许装置的控制器执行多种技术以增加装置的存储元件的性能或长久性。举例来说,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区可能得到将在操作期间移动的有效页。此外,因为作为写入到块的部分更新了表区数据结构,所以在维持所述结构中存在极少维护开销。
上文所描述的高效表区数据结构可经历随着时间的数据停滞因为表区数据结构仅在写入期间被更新,且在块擦除期间重置,所以表区数据结构中所指示的L2P区有可能不具有有效页,原因是,举例来说,原始页被重新写入(例如,从主机视角经更新或擦除)。在此情况下,将新数据(如果存在的话)写入到可处于不同块的新物理页。然而,表区数据结构不会因要反映此改变而经更新,从而产生对表区数据结构中的所述L2P表区的过期指示。因此,举例来说,如果加载了L2P区,那么所述L2P区不具有将在垃圾收集期间移动到新块的有效页。
如果在表区数据结构中存在多个连续的过期指示,那么可能会无用地扩展有效页搜索操作。因此,对于垃圾收集,如果相同工作存储器在所述装置中用于缓冲主机数据(例如,是主机写入的部分的数据)和L2P表区以执行搜索,那么主机将在垃圾收集过程运行时经历增加的时延。
可以高效方式,通过当针对另一块加载L2P区(例如将在所述另一块正在经历垃圾收集时发生)时更新一个块的表区数据结构来为表区数据结构中的过期数据寻址。因为L2P表区已经在被加载和搜索以用于垃圾收集,所以寻找第一块中的有效页的额外处理无足轻重。过期数据在经更新表区数据结构中被移除的情况下至少与针对垃圾收集被加载的那些L2P表区相关。因此,块上的未来垃圾收集将更高效,从而减少主机操作的时延。
块的表区数据结构可增加对块的有效页搜索,且因此增加执行例如垃圾收集等对应操作的速度。这通过加载如当数据写入到块时确定的相关L2P表区来实现。如上所述,过期数据可造成有效页搜索的效率降低。通过在其中加载用于第二块的L2P表区的操作期间滤除表区数据结构中的过期数据来解决此问题。还针对指向第一块的有效页搜索这些加载的L2P区,且如果不存在有效页,那么重置用于L2P区的指示(例如,恢复到二进制‘0’)。因此,例如第一块上的未来垃圾收集将不会遇到如此大量(如果存在的话)的过期数据。下文论述额外细节和实例。
采用本文中论述的转换表修改的装置可适合于许多应用。例如移动电子装置(例如,智能电话、平板计算机等)、用于汽车应用的电子装置(例如,汽车传感器、控制单元、驾驶员辅助系统、乘客安全或舒适系统等)和因特网连接的电器设备或装置(例如,物联网(IoT)装置等)的电子装置尤其取决于电子装置的类型、使用环境、性能期望等而具有变化的存储需要。
电子装置可分解为若干主要组件:处理器(例如,中央处理单元(CPU)或其它主处理器);存储器(例如,一或多个易失性或非易失性RAM存储器装置,例如DRAM、移动或低功率双数据速率同步DRAM(DDR SDRAM)等);和存储装置(例如,非易失性存储器(NVM)装置,例如快闪存储器、只读存储器(ROM)、SSD、MMC,或其它存储卡结构或组合件等)。在某些实例中,电子装置可包含用户接口(例如,显示器、触摸屏、键盘、一或多个按钮等)、图形处理单元(GPU)、功率管理电路、基带处理器或一或多个收发器电路等。
图1说明包含被配置成通过通信接口通信的主机装置105和存储器装置110的环境100的实例。主机装置105或存储器装置110可包含在多种产品150中,例如物联网(IoT)装置(例如,电冰箱或其它电器、传感器、电机或致动器、移动通信装置、汽车、无人机等),以支持产品150的处理、通信或控制。
存储器装置110包含存储器控制器115和包含例如数个个别存储器裸片(例如,三维(3D)NAND裸片的堆叠)的存储器阵列120。在3D架构半导体存储器技术中,堆叠竖直结构,从而增加层次数、物理页且因此增加存储器装置(例如,存储装置)的密度。在实例中,存储器装置110可以是主机装置105的离散存储器或存储装置组件。在其它实例中,存储器装置110可以是集成电路(例如,芯片上系统(SOC)等)的部分,其与主机装置105的一或多个其它组件堆叠或以其它方式包含在一起。
可使用一或多个通信接口在存储器装置110与主机装置105的一或多个其它组件之间传送数据,如串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、通用快闪存储(UFS)接口、eMMCTM接口或一或多个其它连接器或接口。主机装置105可包含主机系统、电子装置、处理器、存储卡读卡器,或在存储器装置110外部的一或多个其它电子装置。在一些实例中,主机105可为具有参考图8的机器800论述的组件中的某一部分或全部的机器。
存储器控制器115可从主机105接收指令,并且可与存储器阵列120通信,以便将数据传送到存储器阵列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表区不比工作存储器大,因而准许L2P区加载到工作存储器中并且在上面进行操作。
存储器管理器125被布置成对第二物理块执行垃圾收集。此处,垃圾收集包含读取第一表区数据结构,在实例中,所述第一表区数据结构存储于第一物理块中;读取用于第二物理块的第二表区数据结构;和加载在第二表区数据结构中所指示的L2P表的区以移动第二物理块的有效物理页。因此,在对第二块执行垃圾收集时,读取第一块和第二块两者的表区数据结构(例如,加载到工作存储器中)。
在实例中,表区数据结构是位图(例如,二进制阵列)。在实例中,位图包含用于跨越L2P表的多个相互排斥的区中的每一区的位。因此,L2P表区彼此不重叠,且所有L2P表区的组合横跨整个L2P表。位图包含用于这些区中的每一个的位。在实例中,L2P表区经排序,且位的索引对应于既定L2P表区的次序。举例来说,如果存在用于L2P表的两个L2P表区,一个L2P表区覆盖L2P表的第一半且一个L2P表区覆盖L2P表的第二半,那么位图的索引‘0’对应于第一区且位图的索引‘1’对应于第二区。然而,既不要求所述区覆盖L2P表的相邻部分,也不要求所述区具有特定次序。然而,用以将既定L2P表区指配给位图的既定索引的任何准则都必须一致(例如,区‘Y’始终映射到相同索引)。在实例中,位图中的L2P表区指示(例如,用以指示既定L2P表区同时具有块中的物理页)是所述区的相应位中的逻辑一(例如,二进制‘1’)。
存储器管理器125被布置成从第一表数据结构移除被加载(例如,加载到工作存储器中)的L2P表区的指示并且不包含对第一物理块中的物理页的参考。所述移除的结果产生经更新第一表区数据结构。接着将经更新表区数据结构写入到阵列120。此最后一组活动以最小开销从第一表数据结构滤除过期数据,这是因为L2P区已经被加载以在第二物理块上执行垃圾收集。由于数据已经处于工作存储器中,针对指向第一物理块和第二物理块两者的有效物理页搜索所述数据仅会使用少量额外处理。此外,下一次第一物理块经历垃圾收集时,将使用经更新第一表区数据结构,从而进行以完成任务为目的的较少无效果L2P表区加载。
在实例中,垃圾收集包含在产生经更新第一表区数据结构之前,加载L2P表的在第一表区数据结构中有指示且在第二表区数据结构中无指示的区。此实例允许加载第一块的L2P表区以完全过滤第一表区数据结构。虽然在此实例中加载对于第二块不必要的L2P表区,但可产生整体性能增益,这是因为第一块在经历垃圾收集时不具有任何在第二块的垃圾收集之前过期的数据。
虽然可针对任何既定物理块的每一垃圾收集来过滤多个物理块表区数据结构,但可为有利的是限制受益于所述过滤的块的数目以减少用于垃圾收集的整个处理时间。因此,在实例中,经更新的表区数据结构的数目低于阈值。在实例中,阈值是一。在实例中,选择进行过滤的表区数据结构是随机的。在实例中,选择进行过滤的表区数据结构是基于垃圾收集排序,其中选择最高次序(例如,计划较早经历垃圾收集)的表区数据结构直到满足阈值。
在实例中,存储器管理器125被布置成在移动第二物理块的有效物理页之后擦除第二物理块。存储器管理器125接着响应于擦除第二物理块而初始化第二表区数据结构。因此,一旦垃圾收集完成,便将用于块的表区数据结构设置为已知空状态,从而通过单个操作清除所有过期数据。在其中表区数据结构是位图的实例中,通过在位图的每一位中写入逻辑零(例如,二进制‘0’)来使表区数据结构初始化。
在实例中,存储器管理器125被布置成在第一物理块的垃圾收集操作期间读取经更新第一表区数据结构并且加载L2P表的在经更新第一表区数据结构中具有指示的区以移动第一物理块的有效物理页。存储器管理器125接着从第三表数据结构移除经加载的L2P表区的指示并且不包含对第三物理块中的物理页的参考以产生经更新第三表区数据结构。接着将经更新第三表区数据结构写入到阵列120。因此,由于当在第二块上执行垃圾收集时,滤除第一表区数据结构,因此当在第一物理块上执行垃圾收集时,滤除第三物理块的第三表区数据结构的过期数据。此循环继续工作以确保在物理块的表区数据结构上执行对过期数据的及时且高效滤除。
阵列控制器135尤其可包含被配置成控制与以下操作相关联的存储器操作的电路系统或组件:向耦合到存储器控制器115的存储器装置110的一或多个存储器单元写入数据、从所述存储器单元读取数据或擦除所述存储器单元。存储器操作可基于例如从主机105接收或由存储器管理器125在内部产生的主机命令(例如,与耗损均衡、错误检测或校正等相关联)。
阵列控制器135可包含错误校正码(ECC)组件140,所述ECC组件140可尤其包含ECC引擎,或被配置成检测或校正与向耦合到存储器控制器115的存储器装置110的一或多个存储器单元写入数据或从中读取数据相关联的错误的其它电路系统。存储器控制器115可被配置成有效地检测与各种操作或数据存储相关联的错误现象(例如,位错误、操作错误等等)并从所述错误现象中恢复,同时维持在主机105与存储器装置110之间传送的数据的完整性,或维持所存储的数据的完整性(例如,使用冗余RAID存储等等),并可移除(例如,引退)发生故障的存储器资源(例如,存储器单元、存储器阵列、页、块等等)以防止未来错误。
存储器阵列120可包含布置在例如数个装置、平面、子块、块或页中的若干存储器单元。作为一个实例,48GB TLC NAND存储器装置可包含每页18,592字节(B)的数据(16,384+2208字节)、每块1536页、每平面548块和每装置4个或更多个平面。作为另一实例,32GBMLC存储器装置(每单元存储两个数据位(即,4个可编程状态))可包含每页18,592字节(B)的数据(16,384+2208字节)、每块1024页、每平面548个块以及每装置4个平面,但与对应TLC存储器装置相比所需的写入时间为一半且编程/擦除(P/E)循环为两倍。其它实例可以包含其它数量或布置。在一些实例中,存储器装置或其部分可在SLC模式中或在所需MLC模式(例如TLC、QLC等)中选择性地操作。
在操作中,数据通常成页地写入到NAND存储器装置110或从NAND存储器装置110读取,且成块地擦除。然而,可视需要对存储器单元的更大或更小群组执行一或多个存储器操作(例如,读取、写入、擦除等)。NAND存储器装置110的数据传送大小通常被称作页,而主机的数据传送大小通常被称作扇区。
虽然数据页可包含数个字节的用户数据(例如,包含数个数据扇区的数据有效负载)和其对应的元数据,但页的大小经常仅指代用以存储用户数据的字节的数目。作为一实例,具有4KB的页大小的数据页可包含4KB的用户数据(例如,假定扇区大小为512B的8个扇区)以及对应于用户数据的数个字节(例如,32B、54B、224B等)的元数据,例如完整性数据(例如,错误检测或校正码数据)、地址数据(例如,逻辑地址数据等)或与用户数据相关联的其它元数据。
不同类型的存储器单元或存储器阵列120可提供不同的页大小,或可能需要与其相关联的不同量的元数据。举例来说,不同存储器装置类型可具有不同位错误率,这可导致必需要不同量的元数据来确保数据页的完整性(例如,具有较高位错误率的存储器装置可要求比具有较低位错误率的存储器装置更多字节的错误校正码数据)。作为一实例,多层级单元(MLC)NAND快闪装置可具有比对应单层级单元(SLC)NAND快闪装置高的位错误率。因此,相比于对应SLC装置,MLC装置可能需要更多的元数据字节用于错误数据。
图2说明工作存储器220中的逻辑到物理表区225的实例。完整L2P表215存储于NAND阵列210中。然而,完整L2P表不适配于工作存储器220内。因此,当搜索L2P表215时,处理电路205(例如,存储器管理器、存储器控制器等)将来自阵列210的L2P表区225加载到工作存储器中。
图3说明逻辑到物理区310、物理块315和跟踪数据结构325之间的关系的实例。此处,跟踪数据结构被组织为索引开始为零的二进制阵列。因此,对应于既定表区(例如,区二)的阵列的元素是所述区减一(例如,跟踪数据结构325中的索引一对应于区二)。数据结构325中的每一索引唯一地对应于L2P表305中的单个表区。虽然位图或二进制阵列结构提供为跟踪数据结构的可能实施方案,但可使用其它结构,例如结构化数据文件(例如,可扩展标记语言(XML)等)、数据库等。此外,所述指示可包含字符或其它符号。
可在主机(或其它)写入到块315期间建立这些实体之间的关系。L2P表305细分成区,包含区N 310。逻辑到物理页关系存储于区N 310中。块315中的物理页320用以存储供写入的数据。索引N-1 330对应于区N 310。因此,阵列元素335经更新为二进制‘1’以指示区N310具有与块315有关的关系;二进制‘0’指示对应区域不具有与块315有关的关系。如果块315填满(例如,不再存在写入新请求的自由页),那么不再更新数据结构325。
图4说明逻辑到物理区410、物理块415和跟踪数据结构405之间的关系的实例。
此处,将与块X 415有关的L2P表区的指示填入跟踪数据结构405。在用于块X 415的垃圾收集期间,读取跟踪数据结构405以确定哪些L2P表区加载到工作存储器中以完成垃圾收集。此处,跟踪数据结构指示区N 410具有关于块X 415的条目。
一旦加载到工作存储器中,便针对指向块X 415的条目(例如LBA 4和LBA 3等等)搜索区N 410。接着将这些页写入到不同块并且相对于块X 415标记为无效。重复此过程直到块X 415中的所有有效页经移动,留下块X 415不具有有效数据。接着可擦除块X 415,从而完成块X的垃圾收集。如上所述,与传统方法相比,跟踪数据结构405减少需要加载到工作存储器中以完成垃圾收集过程的L2P表区的数目。
图5说明逻辑到物理区525、多个物理块和跟踪数据结构之间的关系的实例。与传统的有效页搜索机制相比,使用如上文参照图3和4所描述的跟踪数据结构505引起性能增加。然而,跟踪数据结构有可能包含随着时间过期的指示。这可例如当页写入到块,并且接着稍后重写到另一块时发生。为解决此问题,举例来说,可过滤跟踪数据结构以在垃圾收集中使用之前移除过期指示。有效地过滤的一种方式包含在将L2P区加载到工作存储器中以在其它块上执行垃圾收集时,验证L2P表区指示。图5说明此概念。
如所说明,跟踪数据结构505与块X 515有关,且跟踪数据结构507与块Y 520有关。每一跟踪数据结构包含区N 525的指示。在块X 515的垃圾收集期间,区N 525加载到工作存储器中,基于跟踪数据结构505,搜索有效页来移动到另一块。同时,区N 525还包含指向块Y520的条目510。然而,如由虚线指针说明,即使块Y 520的跟踪数据结构507仍含有区N 525的条目,条目510仍会不再指向块Y 520。因此,跟踪数据结构507含有区N 525的过期指示。
修改块X 515的垃圾收集以读取跟踪数据结构507并且确定在跟踪数据结构505中指示来自跟踪数据结构507的哪些L2P表区。对于这些区,垃圾收集将检查块Y 520中的有效页并且还检查块X 515中的有效页。如果没有找到块Y 520的有效页,如此处对于区N 525的情况,那么更新跟踪数据结构507以移除所述区的指示,从而有效地滤除来自跟踪数据结构507的与跟踪数据结构505共享的所有过期区指示。在实例中,块X 515的垃圾收集也可加载跟踪数据结构507中所指示的不与跟踪数据结构505共享的L2P区以确保从跟踪数据结构507删掉所有过期指示。此方法以块X 515垃圾收集中的一些额外时延为代价换来未来块Y520垃圾收集中的时延减小。
图6A-6B说明块中的验证组件的存储配置。图6A说明在其中留出块的专用部分来用于控制器元数据的组织。因此,块在用户数据部分605和辅助部分610中划分。表区数据结构可存储于辅助部分中,例如标记为“INFO”的片段中。相比之下,图6B说明其中辅助部分穿插在整个用户数据片段中,从而产生异构部分615的替代性组织。然而,“INFO”辅助部分620仍位于块上并且可在块是最后一个被写入时存储所述块的表区数据结构。可用于存储表区数据结构的其它方位包含存储器装置的为装置管理预留的区域。
图7说明用于同步化NAND逻辑到物理表区跟踪的方法700的流程图。方法700的操作由例如本文中所描述的电子硬件(例如,电路系统)的电子硬件执行。
在操作705处,维持用于NAND装置的第一物理块的第一表区数据结构。在实例中,表区数据结构包含逻辑到物理映射表的含有逻辑页映射到物理块的物理页的逻辑到物理映射表区的指示。在实例中,NAND装置包含工作存储器,逻辑到物理映射表比工作存储器大,且逻辑到物理映射表区中的任一个都不比工作存储器大。
在操作710处,在NAND装置的第二物理块上执行垃圾收集。操作715-735提供用于过滤第一表区数据结构的垃圾收集的细节。
在操作715处,读取第一表区数据结构。在实例中,第一表区数据结构存储于第一物理块中。
在操作720处,读取第二物理块的第二表区数据结构。
在操作725处,加载在第二表区数据结构中具有指示的逻辑到物理映射表的区以移动第二物理块的有效物理页。在实例中,表区数据结构是位图。在实例中,位图包含用于横跨逻辑到物理映射表的多个互斥区中的每一区的位。在实例中,逻辑到物理映射表区的指示是相应位中的逻辑一。在实例中,逻辑到物理映射表区经排序。此处,位的索引对应于逻辑到物理映射表区的次序。
在操作730处,从第一表数据结构移除对经加载并且不包含对第一物理块中的物理页的参考的逻辑到物理映射表区的指示以产生经更新第一表区数据结构。在实例中,垃圾收集包含在产生经更新第一表区数据结构之前,加载逻辑到物理映射表的在第一表区数据结构中具有指示且在第二表区数据结构中没有指示的区。逻辑到物理映射表
在操作735处,将经更新第一表区数据结构写入到NAND装置。
在实例中,方法700的未经说明的操作可包含在移动第二物理块的有效物理页之后擦除第二物理块。接着响应于擦除第二物理块而初始化第二表区数据结构。在实例中,响应于写入(例如,准备写入)而非响应于擦除第二物理块而初始化第二表区数据结构。在实例中,表区数据结构是位图,且初始化数据结构包含在位图的每一位中写入逻辑零。
在实例中,方法700的未经说明的操作可包含在第一物理块的垃圾收集操作期间读取经更新第一表区数据结构。接着可加载逻辑到物理映射表的在经更新第一表区数据结构中具有指示的区以移动第一物理块的有效物理页。接着可从经加载并且不包含对第三物理块中的物理页的参考的第三表数据结构移除逻辑到物理映射表区的指示,以产生经更新第三表区数据结构。接着将此经更新第三表区数据结构写入到NAND装置。
图8说明其上可执行本文中论述的技术(例如,方法)中的任何一或多种的实例机器800的框图。在替代实施例中,机器800可操作为独立装置或可连接(例如,联网)到其它机器。在联网部署中,机器800可在服务器-客户端网络环境中以服务器机器、客户端机器或这两者的能力操作。在实例中,机器800可以充当对等(P2P)(或其它分布式)网络环境中的对等机器。机器800可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络器具、IoT装置、汽车系统,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的指令的任何机器。另外,虽然仅说明单个机器,但术语“机器”也将视为包含个别地或共同地执行一(或多个)指令集以进行本文中所论述的方法中的任何一或多种(例如云计算、软件即服务(SaaS)、其它计算机集群配置)的任何机器总集。
如本文所描述,实例可包含逻辑、组件、装置、封装或机构,或者可通过逻辑、组件、装置、封装或机构操作。电路系统是在包含硬件(例如,简单电路、门、逻辑等)的有形实体中实施的电路的总集(例如,集合)。电路成员可以随时间和基础硬件可变性而为灵活的。电路系统包含操作时可单独或组合地执行特定任务的部件。在一实例中,可将电路系统的硬件不变地设计成执行特定操作(例如,硬连线)。在实例中,电路系统的硬件可以包含可变地连接的物理组件(例如,执行单元、晶体管、简单电路等),所述物理组件包含以物理方式经修改(例如,不变集中式粒子的磁性、电气可移动放置等)以对特定操作的指令进行编码的计算机可读媒体。在连接物理组件时,硬件构成的基础电特性例如从绝缘体改变成导体或反之亦然。指令使得参与的硬件(例如,执行单元或加载机构)能够经由可变连接产生硬件中的电路系统的部件以当在操作中时进行特定任务的部分。因此,当装置操作时计算机可读媒体以通信方式耦合到电路系统的其它组件。在实例中,物理组件中的任一个可以用于多于一个电路系统中的多于一个部件中。举例来说,在操作下,执行单元可在一个时间点用于第一电路系统中的第一电路,且由第一电路系统中的第二电路重新使用,或在不同时间由第二电路系统中的第三电路重新使用。
机器(例如,计算机系统)800(例如,主机装置105、受管理存储器装置110等)可包含硬件处理器802(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合,例如存储器控制器115等)、主存储器804和静态存储器806,其中的一些或全部可经由互联件(例如,总线)808彼此通信。机器800可另外包含显示单元810、字母数字输入装置812(例如,键盘)和用户接口(UI)导航装置814(例如,鼠标)。在一实例中,显示单元810、输入装置812和UI导航装置814可为触摸屏显示器。机器800可另外包含存储装置(例如,驱动单元)816、信号产生装置818(例如,扬声器)、网络接口装置820,以及一或多个传感器816,例如全球定位系统(GPS)传感器、指南针、加速度计或其它传感器。机器800可以包含输出控制器828,例如串行(例如,通用串行总线(USB)、并行或其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接,以与一或多个外围装置(例如,打印机、读卡器等)通信或控制所述一或多个外围装置。
存储装置816可包含机器可读媒体822,在所述机器可读媒体822上存储体现本文中所描述的技术或功能中的任何一或多种或者供本文中所描述的技术或功能中的任何一或多种利用的一或多组数据结构或指令824(例如,软件)。指令824还可以在其由机器800执行期间完全或至少部分地驻留于主存储器804内、静态存储器806内或硬件处理器802内。在实例中,硬件处理器802、主存储器804、静态存储器806或存储装置816中的一个或任何组合可构成机器可读媒体822。
虽然机器可读媒体822说明为单个媒体,但术语“机器可读媒体”可包含被配置成存储一或多个指令824的单个媒体或多个媒体(例如,集中式或分布式数据库,或相关联的高速缓冲存储器和服务器)。
术语“机器可读媒体”可包含能够存储、编码或承载供机器800执行且使机器800执行本公开的技术中的任何一或多种的指令的任何媒体,或能够存储、编码或承载由此类指令使用或与此类指令相关联的数据结构的任何媒体。非限制性机器可读媒体实例可以包含固态存储器以及光学和磁性媒体。在实例中,大容量机器可读媒体包括具有质量不变(例如静止)的多个粒子的机器可读媒体。因此,大容量机器可读媒体并非是暂时性传播信号。大容量机器可读媒体的特定实例可以包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和快闪存储器装置;磁盘,例如内部硬盘和可拆卸磁盘;磁光盘;和CD-ROM和DVD-ROM盘。
指令824(例如,软件、程序、操作系统(OS)等)或其它数据存储在存储装置821上,可由存储器804存取以供处理器802使用。存储器804(例如,DRAM)通常是快速但易失性的,且因此是不同于适用于长期存储(包含在处于“关断”状态时的存储)的存储装置821(例如,SSD)的类型的存储装置。供用户或机器800使用的指令824或数据通常加载于存储器804中以供处理器802使用。当存储器804已满时,可分配来自存储装置821的虚拟空间以增补存储器804;然而,因为存储装置821通常比存储器804慢且写入速度通常是读取速度的至多二分之一,所以虚拟存储器的使用由于存储装置等待时间(相比于存储器804,例如DRAM)可能极大地降低用户体验。此外,将存储装置821用于虚拟存储器可极大地减少存储装置821的可用的使用寿命。
与虚拟存储器相比,虚拟存储器压缩(例如,内核特征“ZRAM”)使用存储器的部分作为经压缩块存储以避免对存储装置821的分页。分页在经压缩块中发生直到必须将这类数据写入到存储装置821为止。虚拟存储器压缩增加存储器804的可用大小,同时减少存储装置821上的损耗。
针对移动电子装置优化的存储装置或移动存储装置传统上包含MMC固态存储装置(例如,微安全数字(microSDTM)卡等)。MMC装置包含与主机装置的数个并行接口(例如,8位并行接口),且通常是从主机装置可拆卸和分离的组件。相比之下,eMMCTM装置附接到电路板且视为主机装置的组件,其读取速度堪比基于串行ATATM(串行高级技术(AT)附件,或SATA)的SSD装置。然而,对移动装置性能的需求继续增大,以便完全实现虚拟或扩增现实装置,利用提高的网络速度等。响应于此需求,存储装置已从并行通信接口转换到串行通信接口。包含控制器和固件的通用快闪存储(UFS)装置使用具有专用读取/写入路径的低电压差分信令(LVDS)串行接口与主机装置通信,从而进一步推进了更高的读取/写入速度。
指令824可以进一步利用多个传送协议中的任一个(例如,帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)经由网络接口装置820使用传输媒体在通信网络826上发射或接收。实例通信网络可以包含局域网(LAN)、广域网(WAN)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、简易老式电话(POTS)网络和无线数据网络(例如,称为的电气电子工程师学会(IEEE)802.11系列标准、称为的IEEE 802.16系列标准)、IEEE 802.15.4系列标准、对等(P2P)网络等等。在实例中,网络接口装置820可包含一或多个物理插口(例如,以太网、同轴或电话插口)或一或多个天线以连接到通信网络826。在实例中,网络接口装置820可以包含多个天线以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一种进行无线通信。术语“发射媒体”应被视为包含能够存储、编码或载送指令以由机器800执行的任何无形媒体,且包含数字或模拟通信信号或用以促进此软件的通信的其它无形媒体。
额外实例:
实例1是一种用于同步化NAND逻辑到物理表区跟踪的NAND装置,所述NAND装置包括:NAND阵列;和控制器,其用以:维持用于所述NAND阵列的第一物理块的第一表区数据结构,所述表区数据结构包含逻辑到物理映射表的含有逻辑页映射到所述物理块的物理页的逻辑到物理映射表区的指示;在所述NAND阵列的第二物理块上执行垃圾收集,为执行所述垃圾收集,所述控制器将进行以下操作:读取所述第一表区数据结构;读取所述第二物理块的第二表区数据结构;加载所述逻辑到物理映射表的在所述第二表区数据结构中具有指示的区以移动所述第二物理块的有效物理页;从所述第一表数据结构移除经加载并且不包含对所述第一物理块中的物理页的参考的所述逻辑到物理映射表区的指示,以产生经更新第一表区数据结构;和将所述经更新第一表区数据结构写入到所述NAND阵列。
在实例2中,根据实例1所述的标的物包含,其中表区数据结构是位图。
在实例3中,根据实例2所述的标的物包含,其中所述位图包含用于横跨所述逻辑到物理映射表的多个互斥区中的每一区的位。
在实例4中,根据实例3所述的标的物包含,其中所述逻辑到物理映射表区的所述指示是相应位中的逻辑一。
在实例5中,根据实例3-4所述的标的物包含,其中所述逻辑到物理映射表区经排序,且其中所述位的索引对应于逻辑到物理映射表区的次序。
在实例6中,根据实例1-5所述的标的物包含,其中所述第一表区数据结构存储于所述第一物理块中。
在实例7中,根据实例1-6所述的标的物包含工作存储器,其中所述逻辑到物理映射表比所述工作存储器大,且其中逻辑到物理映射表区中的任一个都不比所述工作存储器大。
在实例8中,根据实例1-7所述的标的物包含,其中为执行所述垃圾收集,所述控制器将在产生所述经更新第一表区数据结构之前,加载所述逻辑到物理映射表的在所述第一表区数据结构中具有指示且在所述第二表区数据结构中没有指示的区。
在实例9中,根据实例1-8所述的标的物包含,其中所述控制器将在移动所述第二物理块的所述有效物理页之后擦除所述第二物理块。
在实例10中,根据实例9所述的标的物包含,其中所述数据结构是位图,且其中初始化所述数据结构包含在所述位图的每一位中写入逻辑零。
在实例11中,根据实例1-10所述的标的物包含,其中所述控制器将进行以下操作:在所述第一物理块的垃圾收集操作期间读取所述经更新第一表区数据结构;加载所述逻辑到物理映射表的在所述经更新第一表区数据结构中具有指示的区以移动所述第一物理块的有效物理页;从第三表数据结构移除经加载并且不包含对第三物理块中的物理页的参考的所述逻辑到物理映射表区的指示,以产生经更新第三表区数据结构;和将所述经更新第三表区数据结构写入到所述NAND阵列。
实例12是一种用于同步化NAND逻辑到物理表区跟踪的方法,所述方法包括:维持用于NAND装置的第一物理块的第一表区数据结构,所述表区数据结构包含逻辑到物理映射表的含有逻辑页映射到所述物理块的物理页的逻辑到物理映射表区的指示;在所述NAND装置的第二物理块上执行垃圾收集,所述垃圾收集包含:读取所述第一表区数据结构;读取所述第二物理块的第二表区数据结构;加载所述逻辑到物理映射表的在所述第二表区数据结构中具有指示的区以移动所述第二物理块的有效物理页;从所述第一表数据结构移除经加载并且不包含对所述第一物理块中的物理页的参考的所述逻辑到物理映射表区的指示,以产生经更新第一表区数据结构;和将所述经更新第一表区数据结构写入到所述NAND装置。
在实例13中,根据实例12所述的标的物包含,其中表区数据结构是位图。
在实例14中,根据实例13所述的标的物包含,其中所述位图包含用于横跨所述逻辑到物理映射表的多个互斥区中的每一区的位。
在实例15中,根据实例14所述的标的物包含,其中所述逻辑到物理映射表区的所述指示是相应位中的逻辑一。
在实例16中,根据实例14-15所述的标的物包含,其中所述逻辑到物理映射表区经排序,且其中所述位的索引对应于逻辑到物理映射表区的次序。
在实例17中,根据实例12-16所述的标的物包含,其中所述第一表区数据结构存储于所述第一物理块中。
在实例18中,根据实例12-17所述的标的物包含,其中所述NAND装置包含工作存储器,其中所述逻辑到物理映射表比所述工作存储器大,且其中逻辑到物理映射表区中的任一个都不比所述工作存储器大。
在实例19中,根据实例12-18所述的标的物包含,其中所述垃圾收集包含在产生所述经更新第一表区数据结构之前,加载所述逻辑到物理映射表的在所述第一表区数据结构中具有指示且在所述第二表区数据结构中没有指示的区。
在实例20中,根据实例12-19所述的标的物包含,在移动所述第二物理块的所述有效物理页之后擦除所述第二物理块。
在实例21中,根据实例20所述的标的物包含,其中所述数据结构是位图,且其中初始化所述数据结构包含在所述位图的每一位中写入逻辑零。
在实例22中,根据实例12-21所述的标的物包含,在所述第一物理块的垃圾收集操作期间读取所述经更新第一表区数据结构;加载所述逻辑到物理映射表的在所述经更新第一表区数据结构中具有指示的区以移动所述第一物理块的有效物理页;从第三表数据结构移除经加载并且不包含对第三物理块中的物理页的参考的所述逻辑到物理映射表区的指示,以产生经更新第三表区数据结构;和将所述经更新第三表区数据结构写入到所述NAND装置。
实例23是一种包含用于同步化NAND逻辑到物理表区跟踪的指令的机器可读媒体,所述指令当由机器执行时致使所述机器执行包括以下操作的操作:维持用于NAND装置的第一物理块的第一表区数据结构,所述表区数据结构包含逻辑到物理映射表的含有逻辑页映射到所述物理块的物理页的逻辑到物理映射表区的指示;在所述NAND装置的第二物理块上执行垃圾收集,所述垃圾收集包含:读取所述第一表区数据结构;读取所述第二物理块的第二表区数据结构;加载所述逻辑到物理映射表的在所述第二表区数据结构中具有指示的区以移动所述第二物理块的有效物理页;从所述第一表数据结构移除经加载并且不包含对所述第一物理块中的物理页的参考的所述逻辑到物理映射表区的指示,以产生经更新第一表区数据结构;和将所述经更新第一表区数据结构写入到所述NAND装置。
在实例24中,根据实例23所述的标的物包含,其中表区数据结构是位图。
在实例25中,根据实例24所述的标的物,其中所述位图包含用于横跨所述逻辑到物理映射表的多个互斥区中的每一区的位。
在实例26中,根据实例25所述的标的物包含,其中所述逻辑到物理映射表区的所述指示是相应位中的逻辑一。
在实例27中,根据实例25-26所述的标的物包含,其中所述逻辑到物理映射表区经排序,且其中所述位的索引对应于逻辑到物理映射表区的次序。
在实例28中,根据实例23-27所述的标的物包含,其中所述第一表区数据结构存储于所述第一物理块中。
在实例29中,根据实例23-28所述的标的物包含,其中所述NAND装置包含工作存储器,其中所述逻辑到物理映射表比所述工作存储器大,且其中逻辑到物理映射表区中的任一个都不比所述工作存储器大。
在实例30中,根据实例23-29所述的标的物包含,其中所述垃圾收集包含在产生所述经更新第一表区数据结构之前,加载所述逻辑到物理映射表的在所述第一表区数据结构中具有指示且在所述第二表区数据结构中没有指示的区。
在实例31中,根据实例23-30所述的标的物包含,其中所述操作包括在移动所述第二物理块的所述有效物理页之后擦除所述第二物理块。
在实例32中,根据实例31所述的标的物,其中所述数据结构是位图,且其中初始化所述数据结构包含在所述位图的每一位中写入逻辑零。
在实例33中,根据实例23-32所述的标的物包含,其中所述操作包括:在所述第一物理块的垃圾收集操作期间读取所述经更新第一表区数据结构;加载所述逻辑到物理映射表的在所述经更新第一表区数据结构中具有指示的区以移动所述第一物理块的有效物理页;从第三表数据结构移除经加载并且不包含对第三物理块中的物理页的参考的所述逻辑到物理映射表区的指示,以产生经更新第三表区数据结构;和将所述经更新第三表区数据结构写入到所述NAND装置。
实例34是一种用于同步化NAND逻辑到物理表区跟踪的系统,所述系统包括:用于维持用于NAND装置的第一物理块的第一表区数据结构的装置,所述表区数据结构包含逻辑到物理映射表的含有逻辑页映射到所述物理块的物理页的逻辑到物理映射表区的指示;用于在所述NAND装置的第二物理块上执行垃圾收集的装置,所述垃圾收集包含:读取所述第一表区数据结构;读取所述第二物理块的第二表区数据结构;加载所述逻辑到物理映射表的在所述第二表区数据结构中具有指示的区以移动所述第二物理块的有效物理页;从所述第一表数据结构移除经加载并且不包含对所述第一物理块中的物理页的参考的所述逻辑到物理映射表区的指示,以产生经更新第一表区数据结构;和将所述经更新第一表区数据结构写入到所述NAND装置。
在实例35中,根据实例34所述的标的物包含,其中表区数据结构是位图。
在实例36中,根据实例35所述的标的物包含,其中所述位图包含用于横跨所述逻辑到物理映射表的多个互斥区中的每一区的位。
在实例37中,根据实例36所述的标的物包含,其中所述逻辑到物理映射表区的所述指示是相应位中的逻辑一。
在实例38中,根据实例36-37所述的标的物包含,其中所述逻辑到物理映射表区经排序,且其中所述位的索引对应于逻辑到物理映射表区的次序。
在实例39中,根据实例34-38所述的标的物包含,其中所述第一表区数据结构存储于所述第一物理块中。
在实例40中,根据实例34-39所述的标的物包含,其中所述NAND装置包含工作存储器,其中所述逻辑到物理映射表比所述工作存储器大,且其中逻辑到物理映射表区中的任一个都不比所述工作存储器大。
在实例41中,根据实例34-40所述的标的物包含,其中所述垃圾收集包含在产生所述经更新第一表区数据结构之前,加载所述逻辑到物理映射表的在所述第一表区数据结构中具有指示且在所述第二表区数据结构中没有指示的区。
在实例42中,根据实例34-41所述的标的物包含,在移动所述第二物理块的所述有效物理页之后擦除所述第二物理块。
在实例43中,根据实例42所述的标的物,其中所述数据结构是位图,且其中初始化所述数据结构包含在所述位图的每一位中写入逻辑零。
在实例44中,根据实例34-43所述的标的物包含,用于在所述第一物理块的垃圾收集操作期间读取所述经更新第一表区数据结构的装置;用于加载所述逻辑到物理映射表的在所述经更新第一表区数据结构中具有指示的区以移动所述第一物理块的有效物理页的装置;用于从第三表数据结构移除经加载并且不包含对第三物理块中的物理页的参考的所述逻辑到物理映射表区的指示,以产生经更新第三表区数据结构的装置;和用于将所述经更新第三表区数据结构写入到所述NAND装置的装置。
实例45是包含指令的至少一个机器可读媒体,所述指令当由处理电路执行时致使所述处理电路执行操作以实施实例1-44中的任一个。
实例46是一种设备,其包括用以实施实例1-44中的任一实例的装置。
实例47是一种用以实施实例1-44中的任一实例的系统。
实例48是一种实施实例1-44中的任一个的方法。
以上详细描述包含对附图的参考,所述附图形成所述详细描述的一部分。所述图借助于图示展示可实践本发明的具体实施例。这些实施例在本文中也称为“实例”。此类实例可包含除了所展示或描述的那些要素之外的要素。然而,本发明人还预期其中仅提供所展示或所描述的那些元件的实例。此外,本发明的发明人还预期使用相对于特定实例(或其一或多个方面)或相对于本文展示或描述的其它实例(或其一或多个方面)而展示或描述的那些元件的任何组合或排列的实例(或其一或多个方面)。
在本文件中,术语如专利文件中所常见而使用术语“一”以包含一个或多于一个,其独立于“至少一个”或“一或多个”的任何其它例子或使用。在本文件中,术语“或”用于指代非排它性,或使得除非另有指示,否则“A或B”可包含“A而非B”、“B而非A”以及“A及B”。在所附权利要求书中,术语“包含(including)”和“在其中(in which)”用作相应术语“包括(comprising)”和“其中(wherein)”的简洁英文等效术语。此外,在所附权利要求书中,术语“包含”和“包括”是开放的,也就是说,包含除了权利要求项中列在这种术语之后的那些要素之外的要素的系统、装置、物件或过程仍被认为处于所述权利要求项的范围内。此外,在所附权利要求书中,术语“第一”、“第二”和“第三”等仅用作标记,且并不意图对其对象施加数字要求。
在不同实例中,本文中所描述的组件、控制器、处理器、单元、引擎或表可尤其包含存储于物理装置上的物理电路系统或固件。如本文中所使用,“处理器”意指任何类型的计算电路,如但不限于微处理器、微控制器、图形处理器、数字信号处理器(DSP)或任何其它类型的处理器或处理电路,包含处理器或多核心装置的群组。
如在本文件中所使用的术语“水平”被定义为平行于衬底的常规平面或表面的平面,例如下伏于晶片或裸片的常规平面或表面,而不管在任一时间点所述衬底的实际定向如何。术语“竖直”指代垂直于如上文所定义的水平的方向。例如“上”、“上方”和“下方”等介词是相对于常规平面或表面在衬底的顶部或暴露表面上定义,而无论衬底的定向如何;且同时“上”既定表明一个结构相对于其位于其“上”的另一结构的直接接触(无做出相反指示的表达的情况下);除非具体地如此指示,否则术语“上方”和“下方”明确地既定识别结构(或层、特征等)的相对放置,其明确地包含但不限于所识别结构之间的直接接触。类似地,术语“上方”和“下方”并不限于水平定向,因为如果一结构在某个时间点是所论述的构造的最外部分,那么即使此类结构相对于参考结构竖直地延伸而不是在水平定向上延伸,此结构也可在参考结构“上方”。
术语“晶片”和“衬底”在本文中用于大体上指代集成电路形成于其上的任何结构,并且还指代在集成电路制造的各个阶段期间的此类结构。因此,以下详细描述不应以限制性意义来理解,并且各种实施例的范围仅由所附权利要求书连同所述权利要求书授权的等效物的完整范围定义。
根据本公开在本文中所描述的各种实施例包含使用存储器单元的竖直结构(例如,存储器单元的NAND串)的存储器。如本文中所使用,将采用相对有存储器单元形成在上面的衬底的表面的方向性形容词(即,竖直结构将被视为远离衬底表面而延伸,竖直结构的底端将被视为最接近衬底表面的端部,并且竖直结构的顶端将被视为最远离衬底表面的端部)。
如本文中所使用,例如水平、竖直、正交、平行、垂直等方向性形容词可指相对定向,并且除非另外指出,否则并不意欲需要严格遵守特定几何性质。举例来说,如本文中所使用,竖直结构无需精确地垂直于衬底的表面,而是可替代地大体上垂直于衬底的表面,并且可形成与衬底的表面的锐角(例如,在60度与120度之间,等)。
在本文所描述的一些实施例中,可将不同掺杂配置应用于源极侧选择栅极源(SGS)、控制栅极(CG)和漏极侧选择栅极(SGD),其中的每一个在此实例中可以由多晶硅形成或至少包含多晶硅,结果使得这些层次(例如,多晶硅等)当暴露于蚀刻溶液时可具有不同蚀刻速率。举例来说,在3D半导体装置中形成单体柱的过程中,SGS和CG可形成凹陷,而SGD可保持较少凹陷或甚至不凹陷。这些掺杂配置因此可通过使用蚀刻溶液(例如,四甲基铵氢氧化物(TMCH))来实现选择性蚀刻到3D半导体装置中的不同层次(例如,SGS、CG和SGD)中。
如本文所使用,操作存储器单元包含从存储器单元读取、对存储器单元写入或擦除存储器单元。使存储器单元置于既定状态中的操作在本文中被称作“编程”,且可包含对存储器单元写入或从存储器单元擦除(例如,存储器单元可经编程为擦除状态)。
根据本公开的一或多个实施例,位于存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设置、调整、计算、改变、清除、传达、调适、导出、限定、利用、修改、应用等)一定数量的损耗循环或损耗状态(例如,记录损耗循环、当其发生时对存储器装置的操作计数、跟踪其起始的存储器装置的操作、评估对应于损耗状态的存储器装置特性等)。
根据本公开的一或多个实施例,存储器存取装置可被配置成利用每一存储器操作向存储器装置提供损耗循环信息。存储器装置控制电路(例如,控制逻辑)可经编程以补偿对应于损耗循环信息的存储器装置性能改变。存储器装置可接收损耗循环信息且响应于损耗循环信息而确定一或多个操作参数(例如,值、特性)。
将理解,当一元件被称作“在另一元件上”、“连接到另一元件”或“与另一元件耦合”时,其可直接在另一元件上、与另一元件直接连接或耦合,或可存在中间元件。相比之下,当一元件被称作“直接在另一元件上”、“直接连接到另一元件”或“与另一元件直接耦合”时,不存在中间元件或层。如果两个元件在图式中展示为通过线连接,那么除非另外指明,否则所述两个元件可耦合或直接耦合。
本文所描述的方法实例可至少部分地由机器或计算机实施。一些实例可包括编码有指令的计算机可读媒体或机器可读媒体,所述指令可用于配置电子装置以执行如在以上实例中所描述的方法。这类方法的实施方案可包含代码,如微码、汇编语言代码、高级语言代码等等。这类代码可包括用于执行各种方法的计算机可读指令。代码可形成计算机程序产品的部分。此外,代码可例如在执行期间或在其它时间有形地存储于一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可包含但不限于:硬盘、可装卸式磁盘、可装卸式光盘(例如,压缩光盘和数字视频光盘)、盒式磁带、存储器卡或棒、随机存取存储器(RAM)、只读存储器(ROM)、固态驱动器(SSD)、通用快闪存储(UFS)装置、嵌入式MMC(eMMC)装置等等。
以上描述意在为说明性的而非限制性的。举例来说,上文所描述的实例(或其一或多个方面)可彼此组合使用。例如所属领域的普通技术人员在查阅以上描述后可使用其它实施例。应理解,发明内容将不会用于解释或限制权利要求书的范围或含义。另外,在以上具体实施方式中,可将各种特征分组在一起以简化本公开。不应将这一情况解释为意欲未主张的公开特征对任何权利要求来说是必需的。实际上,本发明标的物可在于比特定公开的实施例的所有特征要少。因此,特此将所附权利要求书并入到具体实施方式中,其中每一权利要求作为一单独实施例而单独存在,且预期这些实施例可以各种组合或排列彼此组合。本发明的范围应通过参考所附的权利要求书以及所述权利要求书所授予的等效物的完整范围来确定。
Claims (31)
1.一种用于同步化NAND逻辑到物理表区跟踪的NAND装置,所述NAND装置包括:
NAND阵列;和
控制器,其用以:
维持用于所述NAND阵列的第一物理块的第一表区数据结构,所述表区数据结构包含逻辑到物理映射表的含有逻辑页映射到所述物理块的物理页的逻辑到物理映射表区的指示;
在所述NAND阵列的第二物理块上执行垃圾收集,为执行所述垃圾收集,所述控制器将进行以下操作:
读取所述第一表区数据结构;
读取所述第二物理块的第二表区数据结构;
加载所述逻辑到物理映射表的在所述第二表区数据结构中具有指示的区以移动所述第二物理块的有效物理页;
从所述第一表数据结构移除经加载且不包含对所述第一物理块中的物理页的参考的所述逻辑到物理映射表区的指示,以产生经更新第一表区数据结构;和
将所述经更新第一表区数据结构写入到所述NAND阵列。
2.根据权利要求1所述的NAND装置,其中表区数据结构是位图。
3.根据权利要求2所述的NAND装置,其中所述位图包含用于横跨所述逻辑到物理映射表的多个互斥区中的每一区的位。
4.根据权利要求3所述的NAND装置,其中所述逻辑到物理映射表区的所述指示是相应位中的逻辑一。
5.根据权利要求3所述的NAND装置,其中所述逻辑到物理映射表区经排序,且其中所述位的索引对应于逻辑到物理映射表区的次序。
6.根据权利要求1所述的NAND装置,其中所述第一表区数据结构存储于所述第一物理块中。
7.根据权利要求1所述的NAND装置,其包括工作存储器,其中所述逻辑到物理映射表比所述工作存储器大,且其中逻辑到物理映射表区中的任一个都不比所述工作存储器大。
8.根据权利要求1所述的NAND装置,其中为执行所述垃圾收集,所述控制器将在产生所述经更新第一表区数据结构之前,加载所述逻辑到物理映射表的在所述第一表区数据结构中具有指示且在所述第二表区数据结构中没有指示的区。
9.根据权利要求1所述的NAND装置,其中所述控制器将在移动所述第二物理块的所述有效物理页之后擦除所述第二物理块。
10.根据权利要求9所述的NAND装置,其中所述数据结构是位图,且其中初始化所述数据结构包含在所述位图的每一位中写入逻辑零。
11.根据权利要求1所述的NAND装置,其中所述控制器将进行以下操作:
在所述第一物理块的垃圾收集操作期间读取所述经更新第一表区数据结构;
加载所述逻辑到物理映射表的在所述经更新第一表区数据结构中具有指示的区以移动所述第一物理块的有效物理页;
从第三表数据结构移除经加载并且不包含对第三物理块中的物理页的参考的所述逻辑到物理映射表区的指示,以产生经更新第三表区数据结构;和
将所述经更新第三表区数据结构写入到所述NAND阵列。
12.一种用于同步化NAND逻辑到物理表区跟踪的方法,所述方法包括:
维持用于NAND装置的第一物理块的第一表区数据结构,所述表区数据结构包含逻辑到物理映射表的含有逻辑页映射到所述物理块的物理页的逻辑到物理映射表区的指示;
在所述NAND装置的第二物理块上执行垃圾收集,所述垃圾收集包含:
读取所述第一表区数据结构;
读取所述第二物理块的第二表区数据结构;
加载所述逻辑到物理映射表的在所述第二表区数据结构中具有指示的区以移动所述第二物理块的有效物理页;
从所述第一表数据结构移除经加载并且不包含对所述第一物理块中的物理页的参考的所述逻辑到物理映射表区的指示,以产生经更新第一表区数据结构;和
将所述经更新第一表区数据结构写入到所述NAND装置。
13.根据权利要求12所述的方法,其中表区数据结构是位图。
14.根据权利要求13所述的方法,其中所述位图包含用于横跨所述逻辑到物理映射表的多个互斥区中的每一区的位。
15.根据权利要求14所述的方法,其中所述逻辑到物理映射表区的所述指示是相应位中的逻辑一。
16.根据权利要求14所述的方法,其中所述逻辑到物理映射表区经排序,且其中所述位的索引对应于逻辑到物理映射表区的次序。
17.根据权利要求12所述的方法,其中所述第一表区数据结构存储于所述第一物理块中。
18.根据权利要求12所述的方法,其中所述NAND装置包含工作存储器,其中所述逻辑到物理映射表比所述工作存储器大,且其中逻辑到物理映射表区中的任一个不比所述工作存储器大。
19.根据权利要求12所述的方法,其中所述垃圾收集包含在产生所述经更新第一表区数据结构之前,加载所述逻辑到物理映射表的在所述第一表区数据结构中具有指示且在所述第二表区数据结构中没有指示的区。
20.根据权利要求12所述的方法,其包括在移动所述第二物理块的所述有效物理页之后擦除所述第二物理块。
21.一种包含用于同步化NAND逻辑到物理表区跟踪的指令的机器可读媒体,所述指令当由机器执行时致使所述机器执行包括以下操作的操作:
维持用于NAND装置的第一物理块的第一表区数据结构,所述表区数据结构包含逻辑到物理映射表的含有逻辑页映射到所述物理块的物理页的逻辑到物理映射表区的指示;
在所述NAND装置的第二物理块上执行垃圾收集,所述垃圾收集包含:
读取所述第一表区数据结构;
读取所述第二物理块的第二表区数据结构;
加载所述逻辑到物理映射表的在所述第二表区数据结构中具有指示的区以移动所述第二物理块的有效物理页;
从所述第一表数据结构移除经加载并且不包含对所述第一物理块中的物理页的参考的所述逻辑到物理映射表区的指示,以产生经更新第一表区数据结构;和
将所述经更新第一表区数据结构写入到所述NAND装置。
22.根据权利要求21所述的机器可读媒体,其中表区数据结构是位图。
23.根据权利要求22所述的机器可读媒体,其中所述位图包含用于横跨所述逻辑到物理映射表的多个互斥区中的每一区的位。
24.根据权利要求23所述的机器可读媒体,其中所述逻辑到物理映射表区的所述指示是相应位中的逻辑一。
25.根据权利要求23所述的机器可读媒体,其中所述逻辑到物理映射表区经排序,且其中所述位的索引对应于逻辑到物理映射表区的次序。
26.根据权利要求21所述的机器可读媒体,其中所述第一表区数据结构存储于所述第一物理块中。
27.根据权利要求21所述的机器可读媒体,其中所述NAND装置包含工作存储器,其中所述逻辑到物理映射表比所述工作存储器大,且其中逻辑到物理映射表区中的任一个都不比所述工作存储器大。
28.根据权利要求21所述的机器可读媒体,其中所述垃圾收集包含在产生所述经更新第一表区数据结构之前,加载所述逻辑到物理映射表的在所述第一表区数据结构中具有指示且在所述第二表区数据结构中没有指示的区。
29.根据权利要求21所述的机器可读媒体,其中所述操作包括在移动所述第二物理块的所述有效物理页之后擦除所述第二物理块。
30.根据权利要求29所述的机器可读媒体,其中所述数据结构是位图,且其中初始化所述数据结构包含在所述位图的每一位中写入逻辑零。
31.根据权利要求21所述的机器可读媒体,其中所述操作包括:
在所述第一物理块的垃圾收集操作期间读取所述经更新第一表区数据结构;
加载所述逻辑到物理映射表的在所述经更新第一表区数据结构中具有指示的区以移动所述第一物理块的有效物理页;
从第三表数据结构移除经加载并且不包含对第三物理块中的物理页的参考的所述逻辑到物理映射表区的指示,以产生经更新第三表区数据结构;和
将所述经更新第三表区数据结构写入到所述NAND装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/115868 WO2019113820A1 (en) | 2017-12-13 | 2017-12-13 | Synchronizing nand logical-to-physical table region tracking |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112055843A true CN112055843A (zh) | 2020-12-08 |
CN112055843B CN112055843B (zh) | 2024-02-06 |
Family
ID=66818799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780098236.5A Active CN112055843B (zh) | 2017-12-13 | 2017-12-13 | 同步化nand逻辑到物理表区跟踪 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10725904B2 (zh) |
CN (1) | CN112055843B (zh) |
WO (1) | WO2019113820A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10725904B2 (en) | 2017-12-13 | 2020-07-28 | Micron Technology, Inc. | Synchronizing NAND logical-to-physical table region tracking |
JP7053399B2 (ja) * | 2018-07-31 | 2022-04-12 | キオクシア株式会社 | 情報処理システム |
US11237953B2 (en) | 2019-05-21 | 2022-02-01 | Micron Technology, Inc. | Host device physical address encoding |
KR20220080273A (ko) * | 2020-12-07 | 2022-06-14 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
US20230297501A1 (en) * | 2020-12-07 | 2023-09-21 | Micron Technology, Inc. | Techniques for accessing managed nand |
US20220391134A1 (en) * | 2021-06-03 | 2022-12-08 | Micron Technology, Inc. | Tracking data locations for improved memory performance |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101676882A (zh) * | 2008-09-16 | 2010-03-24 | 美光科技公司 | 存储器装置的内嵌映射信息 |
US20130151754A1 (en) * | 2011-12-12 | 2013-06-13 | Apple Inc. | Lba bitmap usage |
US20140258588A1 (en) * | 2013-03-05 | 2014-09-11 | Western Digital Technologies, Inc. | Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive |
US20150324284A1 (en) * | 2014-05-12 | 2015-11-12 | Hyun-cheol Kim | Nonvolatile memory system including nonvolatile memory device and memory controller and method of operating the memory controller |
CN105122220A (zh) * | 2013-03-15 | 2015-12-02 | 西部数据技术公司 | 固态驱动器中的原子写入命令支持 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2341439A1 (en) | 2009-12-30 | 2011-07-06 | Sun Microsystems, Inc. | A marking algorithm for low-bandwith memory |
KR102449192B1 (ko) | 2015-09-10 | 2022-09-29 | 삼성전자주식회사 | 데이터 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법 |
TWI609323B (zh) | 2016-01-29 | 2017-12-21 | 捷鼎國際股份有限公司 | 資料儲存方法及其系統 |
TWI653533B (zh) * | 2017-03-07 | 2019-03-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及其操作方法 |
US10725904B2 (en) | 2017-12-13 | 2020-07-28 | Micron Technology, Inc. | Synchronizing NAND logical-to-physical table region tracking |
-
2017
- 2017-12-13 US US16/075,543 patent/US10725904B2/en active Active
- 2017-12-13 CN CN201780098236.5A patent/CN112055843B/zh active Active
- 2017-12-13 WO PCT/CN2017/115868 patent/WO2019113820A1/en active Application Filing
-
2020
- 2020-07-27 US US16/940,015 patent/US11341041B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101676882A (zh) * | 2008-09-16 | 2010-03-24 | 美光科技公司 | 存储器装置的内嵌映射信息 |
US20130151754A1 (en) * | 2011-12-12 | 2013-06-13 | Apple Inc. | Lba bitmap usage |
US20140258588A1 (en) * | 2013-03-05 | 2014-09-11 | Western Digital Technologies, Inc. | Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive |
CN105122220A (zh) * | 2013-03-15 | 2015-12-02 | 西部数据技术公司 | 固态驱动器中的原子写入命令支持 |
US20150324284A1 (en) * | 2014-05-12 | 2015-11-12 | Hyun-cheol Kim | Nonvolatile memory system including nonvolatile memory device and memory controller and method of operating the memory controller |
Also Published As
Publication number | Publication date |
---|---|
WO2019113820A8 (en) | 2020-07-09 |
WO2019113820A1 (en) | 2019-06-20 |
US20200142821A1 (en) | 2020-05-07 |
US10725904B2 (en) | 2020-07-28 |
CN112055843B (zh) | 2024-02-06 |
US11341041B2 (en) | 2022-05-24 |
US20200356472A1 (en) | 2020-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220113880A1 (en) | Prioritized security | |
US20200042201A1 (en) | Managing partial superblocks in a nand device | |
US11720489B2 (en) | Scheme to improve efficiency of device garbage collection in memory devices | |
US11922053B2 (en) | NAND logical-to-physical table region tracking | |
CN111758091A (zh) | 单电平单元高速缓存管理 | |
CN111538618B (zh) | 用于一次性奇偶校验的装置和技术 | |
CN112055843B (zh) | 同步化nand逻辑到物理表区跟踪 | |
US11163692B2 (en) | Memory constrained translation table management | |
US11663120B2 (en) | Controlling NAND operation latency | |
CN112055850B (zh) | Nand装置及相关方法和机器可读媒体 | |
US11868245B2 (en) | Pre-load techniques for improved sequential memory access in a memory device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |