CN109426621A - 存储器受约束的转换表管理 - Google Patents
存储器受约束的转换表管理 Download PDFInfo
- Publication number
- CN109426621A CN109426621A CN201810986453.4A CN201810986453A CN109426621A CN 109426621 A CN109426621 A CN 109426621A CN 201810986453 A CN201810986453 A CN 201810986453A CN 109426621 A CN109426621 A CN 109426621A
- Authority
- CN
- China
- Prior art keywords
- segment
- memory
- storage device
- byte
- conversion table
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 337
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 113
- 238000003860 storage Methods 0.000 claims abstract description 172
- 238000000034 method Methods 0.000 claims description 39
- 230000007246 mechanism Effects 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 16
- 238000013519 translation Methods 0.000 claims description 8
- 241000208340 Araliaceae Species 0.000 claims 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims 1
- 235000003140 Panax quinquefolius Nutrition 0.000 claims 1
- 235000008434 ginseng Nutrition 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 9
- 238000007726 management method Methods 0.000 description 19
- 239000000758 substrate Substances 0.000 description 15
- 239000004065 semiconductor Substances 0.000 description 12
- 238000012546 transfer Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000005299 abrasion Methods 0.000 description 8
- 230000008520 organization Effects 0.000 description 6
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 6
- 229920005591 polysilicon Polymers 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000005611 electricity Effects 0.000 description 5
- 238000007667 floating Methods 0.000 description 5
- 239000010410 layer Substances 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 239000002344 surface layer Substances 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000000429 assembly Methods 0.000 description 3
- 230000000712 assembly Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000005530 etching Methods 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 1
- 240000002853 Nelumbo nucifera Species 0.000 description 1
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 1
- 230000001154 acute effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- POSWICCRDBKBMH-UHFFFAOYSA-N dihydroisophorone Natural products CC1CC(=O)CC(C)(C)C1 POSWICCRDBKBMH-UHFFFAOYSA-N 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000001035 drying Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005662 electromechanics 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
- 238000007689 inspection Methods 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 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
- 230000006855 networking Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- QEMXHQIAXOOASZ-UHFFFAOYSA-N tetramethylammonium Chemical compound C[N+](C)(C)C QEMXHQIAXOOASZ-UHFFFAOYSA-N 0.000 description 1
- 238000010977 unit operation Methods 0.000 description 1
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
- 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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- 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/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Semiconductor Memories (AREA)
Abstract
本发明揭示用于存储器受约束的转换表管理的装置和技术。将转换表的层级在逻辑上分段成多个片段。此处,所述转换表的底部层级包含用于存储装置的一部分的逻辑到物理地址配对,且所述转换表的其它层级包含所述转换表内的参考。将所述多个片段写入到所述存储装置。将所述多个片段中的第一片段加载到字节可寻址存储器。接收对地址转换的请求,且确定所述请求是针对由所述多个片段中的第二片段参考的地址。随后在所述字节可寻址存储器中以所述第二片段替换所述第一片段,且使用所述第二片段定位所述转换表的包含所述地址转换的较低层级来满足所述请求。
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说明3D NAND架构半导体存储器阵列的实例的示意图。
图4说明存储器模块的实例框图。
图5说明转换表数据结构,其包含完全包含于第一存储器内的顶部层级表部分。
图6说明转换表数据结构,其包含在第一存储器与第二存储器之间划分的顶部层级表部分。
图7-8说明用于在多个存储器之间划分的单层级转换表部分的存储组织。
图9说明用于存储器受约束的转换表管理的方法的流程图。
图10是说明其上可实施一或多个实施例的机器的实例的框图。
具体实施方式
例如快闪装置等许多存储装置使用转换表将逻辑元素(例如,页或块)映射到所述逻辑元素的物理等效物。这允许装置的控制器执行多种技术以增加装置的存储元件的性能、长久性。举例来说,NAND快闪单元经历具有写入或擦除循环的物理情况。此外,这些装置需要同时擦除许多元素(例如,块擦除)。为了解决这些问题,控制器大体上扩展可用单元周围的写入(例如,以减少这些单元的磨损)且从块迁移良好页以擦除块且因此释放额外空间。在两种情况下,用于给定页或块的主机地址可为恒定的,即使其参考的数据借助于转换表移动到不同物理页或块也是如此。
转换表的组织大体上是多电平方案,由此所述表的第一或顶部层级具有参考表的较低层级的条目,所述条目又包含用于元素的逻辑到物理映射。此组织是相对紧凑且高效的存储方案。举例来说,为了转换32千兆位的存储,顶部层级可小达32千位,且第二层级存储可小达32兆位。
大体上,转换表的顶部层级高速缓冲存储于例如SRAM等快速存储器中。因此,快速存储器的大小经常限制转换表的顶部层级的大小且因此限制由转换表映射的存储的大小。这对于较大存储装置带来一直增加的高速缓冲存储器大小。
为了解决此问题,可将转换表的例如顶部层级等各种层级进行分段,以使得转换表层级可部分地高速缓冲存储于小于表层级的快速存储器上。这准许表组织保持高效,同时也解决用于大装置的一直增长的高速缓冲存储器大小的问题。可通过对表条目加强写入条件来实现分裂层级表组织,所述写入条件准许对表层级的其它片段的高效搜索。因此,如果经高速缓冲存储的给定层级的片段不含有用以完成转换的数据,那么可快速检索其对应部分以满足转换。写入约束可采取许多形式,例如要求在存储媒体上连续地写入表层级,包含表层级的片段之间的指针,或在存储装置上的特定地点存储表层级片段从而准许通过访问这些地点进行高效搜索。下文提供额外细节和实例。
采用本文中论述的转换表修改的装置可适合于许多应用。例如移动电子装置(例如,智能电话、平板计算机等)、用于汽车应用的电子装置(例如,汽车传感器、控制单元、驾驶员辅助系统、乘客安全或舒适度系统等)和因特网连接的电器或装置(例如,物联网(IoT)装置等)等电子装置尤其取决于电子装置的类型、使用环境、性能期望等而具有变化的存储需要。
电子装置可分解为若干主要组件:处理器(例如,中央处理单元(CPU)或其它主处理器);存储器(例如,一或多个易失性或非易失性随机存取存储器(RAM)存储器装置,例如动态RAM(DRAM)、移动或低功率双数据速率同步DRAM(DDR SDRAM)等);以及存储装置(例如,非易失性存储器(NVM)装置,例如快闪存储器、只读存储器(ROM)、SSD、MMC或其它存储卡结构或组合件等)。在某些实例中,电子装置可包含用户接口(例如,显示器、触摸屏、键盘、一或多个按钮等)、图形处理单元(GPU)、电力管理电路、基带处理器或者一或多个收发器电路等。
图1说明包含经配置以在通信接口上通信的主机装置105和存储器装置110的环境100的实例。主机装置105或存储器装置110可包含在多种产品150中,例如物联网(IoT)装置(例如,电冰箱或其它电器、传感器、马达或致动器、移动通信装置、汽车、无人机等),以支持产品150的处理、通信或控制。
存储器装置110包含存储器控制器115和存储器阵列120,所述存储器阵列包含例如若干个别存储器裸片(例如,三维(3D)NAND裸片的堆叠)。在3D架构半导体存储器技术中,堆叠竖直结构,从而增加层次的数目、物理页以及因此存储器装置(例如,存储装置)的密度。在一实例中,存储器装置110可为主机装置105的离散存储器或存储装置组件。在其它实例中,存储器装置110可为集成电路(例如,芯片上系统(SOC)等)的部分,其与主机装置105的一或多个其它组件一起堆叠或另外包含。
可使用一或多个通信接口在存储器装置110与主机装置105的一或多个其它组件之间传送数据,例如串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、通用快闪存储(UFS)接口、eMMCTM接口,或一或多个其它连接器或接口。主机装置105可包含主机系统、电子装置、处理器、存储卡读卡器或在存储器装置110外部的一或多个其它电子装置。在一些实例中,主机105可为具有参看图10的机器1000论述的组件的某一部分或全部的机器。
存储器控制器115可从主机105接收指令,且可与存储器阵列120通信,以便对(例如,写入或擦除)或从(例如,读取)存储器阵列120的存储器单元、平面、子块、块或页中的一或多个传送数据。存储器控制器115尤其可包含电路或固件,包含一或多个组件或集成电路。举例来说,存储器控制器115可包含一或多个存储器控制单元、电路或组件,其经配置以控制跨越存储器阵列120的存取且提供主机105与存储器装置110之间的转换层。
相对于转换,存储器控制器115可实施分裂表层级高速缓冲存储器技术。因此,存储器控制器115经布置以将转换表的层级分段为多个片段。在一实例中,所述层级是转换表的顶部层级。在一实例中,转换表的底部层级包含用于存储装置110的一部分(例如,例如阵列120中的块或页)的逻辑到物理地址配对。应注意,所述分段不更改表的元素或层级之间的逻辑关系。因此,最低层级的元素即使经分段也继续在逻辑与物理地址之间映射,总体树深度不受分段影响。
存储器控制器115可将多个片段写入到存储装置110(例如,写入到阵列120)。在一实例中,写入多个片段包含对存储装置110的可写入多个片段的位置实施约束。在一实例中,所述约束要求存储装置110的位置为邻接的(例如,邻近的页或块)。在一实例中,将多个片段中的多于一个写入到存储装置110的最小可寻址部分。在此实例中,对于典型NAND快闪装置,最小可寻址部分是页,然而在一些装置中也可使用块、平面等。约束写入位置允许对片段的高效检索。举例来说,如果表部分的第二片段含有用以完成转换的数据,那么在邻接写入约束的情况下可使用到第一片段的地址的简单偏移。
在一实例中,所述约束对应于存储装置110的物理属性。在一实例中,所述物理属性是在存储装置内重复的固定页、块或裸片。在一实例中,固定页是块集合中的第一页,块是裸片集合中的第一块,且裸片是NAND阵列中的第一裸片。这些约束,例如上文的邻接约束,准许对用于表部分的额外片段的高效检索。然而此处,可能更方便的是并行操作或其它考虑在不同位置中具有多个片段,同时仍易于定位。
存储器控制器115经布置以将所述多个片段中的第一片段加载到字节可寻址存储器。此处,存储器控制器115高速缓冲存储第一片段。字节可寻址存储器此处用以区别高速缓冲存储器和存储存储器,例如阵列120。通常字节可寻址存储器比存储存储器快得多,且因此当高速缓冲存储例如转换表的顶部层级等频繁使用的数据时有益于系统性能。
在一实例中,将所述多个片段中的第一片段加载到字节可寻址存储器包含将到第二片段的指针添加到字节可寻址存储器。所述指针可用以在未来快速定位第二片段。在一实例中,将所述多个片段中的第一片段加载到字节可寻址存储器包含将到所述多个片段中的第三第二片段的第二指针添加到字节可寻址存储器。此实例说明其中条目可具有前向和后向指针的双链表组织。在一实例中,所述多个片段经排序,且第三片段在第一片段前面,而第二片段跟随第一片段。在一实例中,所述指针是到所述多个片段中的另一片段的仅有指针。如果所述多个片段的结构具有终止(例如,第一或最后)片段,那么此实例产生。在一实例中,全部所述多个片段可通过相应指针寻址以形成环数据结构。环结构不具有终止片段。在一实例中,指针可与片段一起驻留于存储存储器中。在此实例中,当加载片段时存储器控制器将那些指针带入字节可寻址存储器中。这增加管理指针的开销,但允许定位存储存储器上的片段时的较大灵活性。在一实例中,在定位片段时指针由存储器控制器115创建。举例来说,片段可与存储器控制器115用来识别页的识别符一起存储,例如作为存储器片段。存储器控制115可在启动时扫描阵列120以识别片段且当加载到字节可寻址存储器中时存储到其相应位置的指针。
存储器控制器115经布置以接收对地址转换的请求且做出关于所述请求是针对由所述多个片段中的第一片段还是第二片段参考的地址的确定。如果请求是针对第一片段,那么存储器控制器115如传统地那样继续执行转换。然而,如果第一片段不具有转换信息,那么用例如第二片段等具有所述信息的片段替换第一片段。因此,存储器控制器115经布置以在字节可寻址存储器中用第二片段替换第一片段。在一实例中,以第二片段替换第一片段包含搜索固定页、块或裸片是否有第二片段。在一实例中,搜索第二片段包含比较固定页、块或裸片的每一重复直到找到转换表标记。这些实例利用上文所论述的写入约束、指针或片段识别(例如,制作者)。此时存储器控制器115执行对遗失片段的搜索,检索遗失片段,且使用遗失片段执行转换。再次,对于最高层级表部分,这带来存储器控制器115定位转换表的包含从第二片段的地址转换的较低层级,且返回对应于逻辑元素的物理元素。
存储器控制器115可包含一或多个输入/输出(I/O)电路、线或接口以向存储器阵列120传送数据或从所述存储器阵列传送数据。存储器控制器115可包含存储器管理器125和阵列控制器135。
存储器管理器125尤其可包含电路或固件,例如与各种存储器管理功能相关联的若干组件或集成电路。为了当前描述的目的,将在NAND存储器的背景下描述实例存储器操作和管理功能。所属领域的技术人员将认识到,其它形式的非易失性存储器可具有类似的存储器操作或管理功能。这些NAND管理功能包含耗损均衡(例如,垃圾收集或回收)、错误检测或校正、块引退或者一或多个其它存储器管理功能。存储器管理器125可将主机命令(例如,从主机接收的命令)剖析或格式化为装置命令(例如,与存储器阵列的操作相关联的命令等),或产生用于阵列控制器135或存储器装置110的一或多个其它组件的装置命令(例如,以实现各种存储器管理功能)。
存储器管理器125可包含一组管理表130,其经配置以维持与存储器装置110的一或多个组件相关联的各种信息(例如,与耦合到存储器控制器115的存储器阵列或一或多个存储器单元相关联的各种信息)。举例来说,管理表130可包含关于耦合到存储器控制器115的存储器单元的一或多个块的块年龄、块擦除计数、错误历史或一或多个错误计数(例如,写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等)的信息。在某些实例中,如果针对错误计数中的一或多个的检测到的错误的数目高于阈值,那么位错误可称为不可校正的位错误。管理表130尤其可维持可校正或不可校正的位错误的计数。
阵列控制器135尤其可包含经配置以控制存储器操作的电路或组件,所述存储器操作与对耦合到存储器控制器115的存储器装置110的一或多个存储器单元写入数据、从所述一或多个存储器单元读取数据或者擦除所述一或多个存储器单元相关联。所述存储器操作可基于例如从主机105接收的主机命令,或在内部由存储器管理器125产生(例如,与耗损均衡、错误检测或校正等结合)。
阵列控制器135可包含错误校正码(ECC)组件140,其尤其可包含ECC引擎或其它电路,所述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的数据传送大小通常称为页,而主机的数据传送大小通常称为扇区。
虽然数据页可包含若干字节的用户数据(例如,包含若干数据扇区的数据有效负载)及其对应的元数据,但页的大小经常仅指代用以存储用户数据的字节的数目。作为一实例,具有4KB的页大小的数据页可包含4KB的用户数据(例如,假定512B的扇区大小的8个扇区)以及对应于用户数据的若干字节(例如,32B、54B、224B等)的元数据,例如完整性数据(例如,错误检测或校正代码数据)、地址数据(例如,逻辑地址数据等)或与用户数据相关联的其它元数据。
不同类型的存储器单元或存储器阵列120可提供不同页大小,或可需要与其相关联的不同量的元数据。举例来说,不同存储器装置类型可具有不同位错误速率,其可导致必需要不同量的元数据来确保数据页的完整性(例如,具有较高位错误率的存储器装置可需要比具有较低位错误率的存储器装置更多字节的错误校正码数据)。作为一实例,多电平单元(MLC)NAND快闪装置可具有比对应单电平单元(SLC)NAND快闪装置高的位错误率。因此,MLC装置可需要比对应SLC装置更多的元数据字节用于错误数据。
图2说明包含若干存储器单元串(例如,第一到第三A0存储器串205A0-207A0,第一到第三An存储器串205An-207An,第一到第三B0存储器串205B0-207B0,第一到第三Bn存储器串205Bn-207Bn等)的3D NAND架构半导体存储器阵列200的实例示意图,所述存储器单元串组织成块(例如,块A 201A、块B 201B等)和子块(例如,子块A0 201A0、子块An 201An、子块B0201B0、子块Bn 201Bn等)。存储器阵列200表示在存储器装置的块、装置或其它单元中通常将找到的较大数目的相似结构的一部分。
每一存储器单元串包含若干层次的电荷存储晶体管(例如,浮动栅极晶体管、电荷截留结构等),所述电荷存储晶体管在Z方向上以源极到漏极方式堆叠于源极线(SRC)235或源极侧选择栅极(SGS)(例如,第一到第三A0SGS 231A0-233A0、第一到第三An SGS 231An-233An、第一到第三B0SGS 231B0-233B0、第一到第三Bn SGS 231Bn-233Bn等)与漏极侧选择栅极(SGD)(例如,第一到第三A0SGD 226A0-228A0、第一到第三An SGD 226An-228An、第一到第三B0SGD 226B0-228B0、第一到第三Bn SGD 226Bn-228Bn等)之间。3D存储器阵列中的每一存储器单元串可沿着X方向布置为数据线(例如,位线(BL)BL0-BL2 220-222),且沿着Y方向布置为物理页。
在物理页内,每一层次表示一行存储器单元,且每一存储器单元串表示列。子块可包含一或多个物理页。块可包含若干子块(或物理页)(例如,128、256、384等)。虽然本文中示出为具有两个块,每一块具有两个子块,每一子块具有单个物理页,每一物理页具有三个存储器单元串,且每一串具有8个层次的存储器单元,但在其它实例中,存储器阵列200可包含更多或更少的块、子块、物理页、存储器单元串、存储器单元或层次。举例来说,每一存储器单元串按需要可包含更多或更少层次(例如,16、32、64、128等),以及电荷存储晶体管(例如,选择栅极、数据线等)上方或下方的一或多个额外层次的半导体材料。作为一实例,48GBTLC NAND存储器装置可包含每页18,592字节(B)的数据(16,384+2208字节)、每块1536页、每平面548块,和每装置4个或更多个平面。
存储器阵列200中的每一存储器单元包含耦合到(例如,以电或另外以操作方式连接到)存取线(例如,字线(WL)WL00-WL70 210A-217A、WL01-WL71 210B-217B等)的控制栅极(CG),所述存取线按需要跨越特定层次或层次的一部分共同地耦合控制栅极(CG)。3D存储器阵列中的特定层次且因此串中的特定存储器单元可使用相应存取线来存取或控制。可使用各种选择线存取选择栅极的群组。举例来说,可使用A0SGD线SGDA0 225A0存取第一到第三A0SGD 226A0-228A0,可使用An SGD线SGDAn 225An存取第一到第三An SGD 226An-228An,可使用B0 SGD线SGDB0 225B0存取第一到第三B0SGD 226B0-228B0,且可使用Bn SGD线SGDBn 225Bn存取第一到第三Bn SGD 226Bn-228Bn。可使用栅极选择线SGS0 230A存取第一到第三A0SGS231A0-233A0和第一到第三An SGS 231An-233An,且可使用栅极选择线SGS1 230B存取第一到第三B0SGS 231B0-233B0和第一到第三Bn SGS 231Bn-233Bn。
在一实例中,存储器阵列200可包含若干层级的半导体材料(例如,多晶硅等),其经配置以耦合阵列的相应层次的每一存储器单元的控制栅极(CG)或选择栅极(或CG或选择栅极的一部分)。阵列中的特定存储器单元串可使用位线(BL)和选择栅极等的组合来存取、选择或控制,且在特定串中的一或多个层次处的特定存储器单元可使用一或多个存取线(例如,字线)来存取、选择或控制。
图3说明NAND架构半导体存储器阵列300的一部分的实例示意图,所述阵列包含布置于串(例如,第一到第三串305-307)和层次(例如,示出为相应字线(WL)WL0-WL7 310-317、漏极侧选择栅极(SGD)线325、源极侧选择栅极(SGS)线330等)的二维阵列中的多个存储器单元302以及感测放大器或装置360。举例来说,存储器阵列300可说明例如图2中说明的3D NAND架构半导体存储器装置的存储器单元的一个物理页的一部分的实例示意图。
每一存储器单元串使用相应源极侧选择栅极(SGS)(例如,第一到第三SGS 331-333)耦合到源极线(SRC),且使用相应漏极侧选择栅极(SGD)(例如,第一到第三SGD 326-328)耦合到相应数据线(例如,第一到第三位线(BL)BL0-BL2 320-322)。虽然在图3的实例中说明为具有8个层次(例如,使用字线(WL)WL0-WL7 310-317)和三个数据线(BL0-BL2326-328),但其它实例按需要可包含具有更多或更少层次或数据线的存储器单元串。
在例如实例存储器阵列300等NAND架构半导体存储器阵列中,可通过感测与含有所选存储器单元的特定数据线相关联的电流或电压变化而存取所选存储器单元302的状态。可使用一或多个驱动器(例如,由控制电路、一或多个处理器、数字逻辑等)存取存储器阵列300。在一实例中,取决于对特定存储器单元或存储器单元集合将执行的所需操作的类型,一或多个驱动器可通过驱动特定电位到一或多个数据线(例如,位线BL0-BL2)、存取线(例如,字线WL0-WL7)或选择栅极而激活特定存储器单元或存储器单元集合。
为了将数据编程或写入到存储器单元,可将编程电压(Vpgm)(例如,一或多个编程脉冲等)施加到选定字线(例如,WL4),且因此施加到耦合到选定字线的每一存储器单元的控制栅极(例如,耦合到WL4的存储器单元的第一到第三控制栅极(CG)341-343)。编程脉冲可例如在15V处或附近开始,并且在某些实例中,可在每一编程脉冲施加期间量值增加。在将编程电压施加于选定字线的同时,可将例如接地电位(例如,Vss)等电位施加到以编程为目标的存储器单元的数据线(例如,位线)和衬底(且因此源极与漏极之间的通道),从而导致从通道到目标存储器单元的浮动栅极的电荷转移(例如,直接注入或佛勒-诺德海姆(Fowler-Nordheim,FN)隧穿等)。
相比之下,可将传递电压(Vpass)施加到具有并不以编程为目标的存储器单元的一或多个字线,或可将禁止电压(例如,Vcc)施加到具有并不以编程为目标的存储器单元的数据线(例如,位线),以例如禁止电荷从通道传送到这些非目标存储器单元的浮动栅极。传递电压可例如取决于施加的传递电压与以编程为目标的字线的接近度而变化。禁止电压可包含相对于接地电位(例如,Vss)的供应电压(Vcc),例如来自外部源或供应(例如,电池、AC/DC转换器等)的电压。
作为一实例,如果将编程电压(例如,15V或更高)施加于特定字线,例如WL4,那么可将10V的传递电压施加到一或多个其它字线,例如WL3、WL5等,以禁止非目标存储器单元的编程,或保持并不以编程为目标的这些存储器单元上存储的值。随着施加的编程电压与非目标存储器单元之间的距离增加,制止对非目标存储器单元进行编程所需的传递电压可减小。举例来说,在将15V的编程电压施加于WL4的情况下,可将10V的传递电压施加到WL3和WL5,可将8V的传递电压施加到WL2和WL6,可将7V的传递电压施加到WL1和WL7等。在其它实例中,传递电压或字线的数目等可更高或更低,或更多或更少。
耦合到数据线(例如,第一、第二或第三位线(BL0-BL2)320-322)中的一或多个的感测放大器360可通过感测特定数据线上的电压或电流而检测相应数据线中的每一存储器单元的状态。
在一或多个编程脉冲(例如,Vpgm)的施加之间,可执行检验操作以确定所选存储器单元是否已到达其既定经编程状态。如果所选存储器单元已到达其既定经编程状态,那么可禁止其进一步编程。如果所选存储器单元尚未到达其既定经编程状态,那么可施加额外编程脉冲。如果在特定数目的编程脉冲(例如,最大数目)之后所选存储器单元尚未到达其既定经编程状态,那么所选存储器单元或与这些所选存储器单元相关联的串、块或页可标记为有缺陷的。
为了擦除存储器单元或存储器单元群组(例如,擦除通常以块或子块执行),可(例如,使用一或多个位线、选择栅极等)将擦除电压(Vers)(例如,通常Vpgm)施加到以擦除为目标的存储器单元的衬底(且因此源极与漏极之间的通道),同时目标存储器单元的字线保持在例如接地电位(例如,Vss)的电位,从而导致从目标存储器单元的浮动栅极到通道的电荷转移(例如,直接注入或佛勒-诺德海姆(FN)隧穿等)。
图4说明存储器装置400的实例框图,所述存储器装置包含具有多个存储器单元404的存储器阵列402,以及用以提供与存储器阵列402的通信或对所述存储器阵列执行一或多个存储器操作的一或多个电路或组件。存储器装置400可包含行解码器412、列解码器414、感测放大器420、页缓冲器422、选择器424、输入/输出(I/O)电路426以及存储器控制单元430。
存储器阵列402的存储器单元404可布置于块中,例如第一和第二块402A、402B。每一块可包含子块。举例来说,第一块402A可包含第一和第二子块402A0、402An,且第二块402B可包含第一和第二子块402B0、402Bn。每一子块可包含若干物理页,每一页包含若干存储器单元404。虽然本文中示出为具有两个块,每一块具有两个子块,且每一子块具有若干存储器单元404,但在其它实例中,存储器阵列402可包含更多或更少的块、子块、存储器单元等。在其它实例中,存储器单元404可布置于若干行、列、页、子块、块等中,且使用例如存取线406、第一数据线410或一或多个选择栅极、源极线等来存取。
存储器控制单元430可根据在控制线432上接收的一或多个信号或指令控制存储器装置400的存储器操作,所述一或多个信号或指令包含例如指示所需操作(例如,写入、读取、擦除等)的一或多个时钟信号或控制信号,或在一或多个地址线416上接收的地址信号(A0-AX)。在存储器装置400外部的一或多个装置可控制控制线432上的控制信号或地址线416上的地址信号的值。在存储器装置400外部的装置的实例可包含(但不限于)主机、存储器控制器、处理器或图4中未说明的一或多个电路或组件。
存储器装置400可使用存取线406和第一数据线410来对(例如,写入或擦除)或从(例如,读取)存储器单元404中的一或多个传送数据。行解码器412和列解码器414可从地址线416接收且解码地址信号(A0-AX),可确定将存取存储器单元404中的哪些,且可提供信号到例如上文描述的存取线406(例如,多个字线(WL0-WLm)中的一或多个)或第一数据线410(例如,多个位线(BL0-BLn)中的一或多个)中的一或多个。
存储器装置400可包含感测电路,例如感测放大器420,其经配置以使用第一数据线410确定存储器单元404上的数据的值(例如,读取),或确定将写入到存储器单元404的数据的值。举例来说,在存储器单元404的选定串中,感测放大器420中的一或多个可响应于读取电流在存储器阵列402中流动通过选定串到数据线410而读取所选存储器单元404中的逻辑电平。
在存储器装置400外部的一或多个装置可使用I/O线(DQ0-DQN)408、地址线416(A0-AX)或控制线432与存储器装置400通信。输入/输出(I/O)电路426可根据例如控制线432和地址线416,使用I/O线408将数据的值传送进出存储器装置400,例如进出页缓冲器422或存储器阵列402。页缓冲器422可存储从在存储器装置400外部的一或多个装置接收的数据,然后将所述数据编程到存储器阵列402的相关部分中,或者可存储从存储器阵列402读取的数据,然后将所述数据发射到在存储器装置400外部的一或多个装置。
列解码器414可将地址信号(A0-AX)接收且解码为一或多个列选择信号(CSEL1-CSELn)。选择器424(例如,选择电路)可接收列选择信号(CSEL1-CSELn)且选择页缓冲器422中表示将从存储器单元404读取或将编程到存储器单元404中的数据值的数据。选定数据可使用第二数据线418在页缓冲器422与I/O电路426之间传送。
存储器控制单元430可从外部源或供应(例如,内部或外部电池、AC/DC转换器等)接收正和负供应信号,例如供应电压(Vcc)434和负供应(Vss)436(例如,接地电位)。在某些实例中,存储器控制单元430可包含调节器428以内部地提供正或负供应信号。
图5说明转换表数据结构,其包含完全包含于第一存储器(MEM A)内的顶部层级表部分505。顶部层级表部分505包含参考较低表层级510(例如,如所说明的部分510A-510F)的条目。大体上,MEM A是快速字节可寻址存储器,例如SRAM或DRAM,且MEM B是较慢的非字节可寻址存储器,例如快闪存储器。因此,顶部层级表部分505出于性能原因而高速缓冲存储于MEM A中,而转换表的其余部分高效地存储于MEM B中。虽然高效,但此组织将顶部层级表部分505的大小限制于MEM A上的可用空间。
图6说明转换表数据结构,其包含在第一存储器与第二存储器之间划分的最高级表部分。与图5中说明的组织相比,此处顶部层级表部分在驻留于MEM A中的第一部分605与驻留于MEM B中的第二部分610之间分裂。再次,来自部分605或610的每个条目参考转换表的较低层级610。因此,对于具有此组织的转换表不存在树深度的增加。
所说明的转换表组织使顶部层级表部分的大小与MEM A的大小解耦。这允许较小的MEM A,可减少制造成本,而不会影响转换表的操作。尽管图6仅说明MEM A与MEM B之间的顶部层级表部分分裂,但相同组织也可应用于转换表的较低层级。然而在所有这些情况中,表深度不增加。
图7-8说明用于在多个存储器之间划分的单层级转换表部分的存储组织。为了将表部分分裂为两个或更多个片段,表部分经组织以允许在经高速缓冲存储(例如,MEM A)的片段不具有数据来执行转换的情况下对片段的重构。图7说明一种此类组织。此处,将表部分的条目写入到存储装置(例如,MEM B)的邻接部分,例如邻接页、块等中。因此,片段705可存储于页1中,而片段710存储于页2中。为了替换高速缓冲存储器中的片段705,控制器简单地使存储中的片段705的地址前进一偏移(例如,一个页)以找到且加载片段710。
图8说明与图7中所说明相比更复杂但更有力的组织。此处,条目包含到其它条目的指针。举例来说,条目805包含到下一条目的前向指针810,从而形成链表。如果条目805还包含到前一条目的后向指针815,那么可形成双链表。在一实例中,条目的块(例如,例如图7的片段705)包含指针。如果例如多个条目存储于存储装置的最小可寻址元素上(例如,多个条目存储于快闪页中),那么此组织可节省开销。
图9说明用于存储器受约束的转换表管理的方法900的流程图。方法900的操作由硬件执行,例如上文关于图1-4或下文关于图10(例如,处理电路)所描述的硬件。
在操作905,将转换表的层级逻辑地分段成多个片段。在一实例中,所述层级是转换表的最高层级。在一实例中,转换表的底部层级包含用于存储装置的一部分的逻辑到物理地址配对。在一实例中,存储装置是三维NAND快闪装置。在一实例中,方法900的操作由封装于存储装置中的控制器执行。
在操作910,将多个片段写入到存储装置。在一实例中,将多个片段写入到存储装置包含对存储装置的可写入多个片段的位置实施约束。在一实例中,所述约束要求存储装置的位置为邻接的。在一实例中,将所述多个片段中的多于一个写入到存储装置的最小可寻址部分。
在一实例中,所述约束对应于存储装置的物理属性。在一实例中,存储装置是NAND阵列,且所述物理属性是在存储装置内重复的固定页、块或裸片。在一实例中,固定页是块集合中的第一页,块是裸片集合中的第一块,且裸片是NAND阵列中的第一裸片。
在操作915,将所述多个片段中的第一片段加载到字节可寻址存储器。在一实例中,将所述多个片段中的第一片段加载到字节可寻址存储器包含将到第二片段的指针添加到字节可寻址存储器。在一实例中,将所述多个片段中的第一片段加载到字节可寻址存储器包含将到所述多个片段中的第三第二片段的第二指针添加到字节可寻址存储器。在一实例中,所述多个片段经排序,且第三片段在第一片段前面,而第二片段跟随第一片段。在一实例中,所述指针是到所述多个片段中的另一片段的仅有指针。在一实例中,全部所述多个片段可通过相应指针寻址以形成环数据结构。
在操作920,接收对地址转换的请求。
在决策925,做出关于所述请求是针对由所述多个片段中的第一片段还是第二片段参考的地址的确定。如果所述请求是针对第一片段,那么方法900前进到操作930。否则,方法900前进到操作935。
在操作930,在字节可寻址存储器中以第二片段替换第一片段。在一实例中,以第二片段替换第一片段包含搜索固定页、块或裸片是否有第二片段。在一实例中,搜索第二片段包含比较固定页、块或裸片的每一重复直到找到转换表标记。
在操作935,使用加载到字节可寻址存储器中的片段以定位转换表的包含地址转换的较低层级来满足所述请求。
图10说明其上可执行本文中论述的技术(例如,方法)中的任何一或多个的实例机器1000的框图。在替代实施例中,机器1000可以作为独立装置操作或可以连接(例如,联网)到其它机器。在联网部署中,机器1000可以在服务器机器、客户端机器或服务器-客户端网络环境两者的能力中操作。在实例中,机器1000可以充当对等式(P2P)(或其它分布式)网络环境中的对等式机器。机器1000可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络器具、IoT装置、汽车系统,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的指令的任何机器。此外,虽然仅说明单一机器,但术语“机器”也将被视为包含个别地或共同地执行指令集(或多个集合)以执行本文中所论述的方法中的任何一或多个(例如,云计算、软件即服务(SaaS)、其它计算机集群配置)的任何机器集合。
如本文所描述,实例可包含逻辑、组件、装置、封装或机构,或者可通过逻辑、组件、装置、封装或机构而操作。电路是在包含硬件(例如,简单电路、栅极、逻辑等)的有形实体中实施的电路的总集(例如,集合)。电路成员可以随时间和基础硬件可变性为灵活的。电路包含当操作时可单独或组合地执行特定任务的部件。在实例中,电路的硬件可以被永恒地设计成实行特定操作(例如,硬接线)。在实例中,电路的硬件可以包含可变地连接的物理组件(例如,执行单元、晶体管、简单电路等),所述物理组件包含以物理方式修改(例如,不变集中式粒子的磁性、电气可移动放置等)以编码特定操作的指令的计算机可读媒体。在连接物理组件时,硬件构成的基础电特性例如从绝缘体改变成导体或反之亦然。指令使得参与的硬件(例如,执行单元或加载机构)能够经由可变连接产生硬件中的电路的部件以当在操作中时实行特定任务的部分。因此,当装置操作时计算机可读媒体以通信方式耦合到电路的其它组件。在实例中,物理组件中的任一个可以用于多于一个电路中的多于一个部件中。例如,在操作中,执行单元在一个时间点处可以用于第一电路系统的第一电路中,且由第一电路系统中的第二电路或由第二电路系统中的第三电路在不同时间重新使用。
机器(例如,计算机系统)1000(例如,主机装置105、存储器装置110等)可包含硬件处理器1002(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合,例如存储器控制器115等)、主存储器1004和静态存储器1006,其中的一些或全部可经由互连链路(例如,总线)1008彼此通信。机器1000可进一步包含显示单元1010、字母数字输入装置1012(例如,键盘)和用户接口(UI)导航装置1014(例如,鼠标)。在一实例中,显示单元1010、输入装置1012和UI导航装置1014可为触摸屏显示器。机器1000可另外包含存储装置(例如,驱动单元)1016、信号产生装置1018(例如,扬声器)、网络接口装置1020和一或多个传感器1016,例如全球定位系统(GPS)传感器、指南针、加速度计或其它传感器。机器1000可包含输出控制器1028,例如串行(例如,通用串行总线(USB)、并行或其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接以通信或控制一或多个外围装置(例如,打印机、读卡器等)。
存储装置1016可包含机器可读媒体1022,体现本文所描述的技术或功能中的任何一或多者或由其利用的数据结构或指令1024(例如,软件)的一或多个集合存储于所述机器可读媒体上。指令1024还可在其由机器1000执行期间完全或至少部分地驻留在主存储器1004内、静态存储器1006内或硬件处理器1002内。在一实例中,硬件处理器1002、主存储器1004、静态存储器1006或存储装置1016中的一个或任何组合可构成机器可读媒体1022。
虽然机器可读媒体1022说明为单个媒体,但术语“机器可读媒体”可包含经配置以存储一或多个指令1024的单个媒体或多个媒体(例如,集中或分布式数据库,或相关联高速缓冲存储器和服务器)。
术语“机器可读媒体”可以包含能够存储、编码或载送用于由机器1000执行的指令且使机器1000执行本发明的技术中的任何一或多个,或能够存储、编码或载送由此类指令使用或与此类指令相关联的数据结构的任何媒体。非限制性机器可读媒体实例可以包含固态存储器以及光学和磁性媒体。在实例中,集中式机器可读媒体包括具有多个粒子的机器可读媒体,所述粒子具有不变(例如,静止)质量。因此,集中式机器可读媒体是非暂时性传播信号。集中式机器可读媒体的具体实例可以包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(EPROM)或电可擦除可编程只读存储器(EEPROM))和快闪存储器装置;磁盘,例如内部硬盘和可移除式盘;磁光盘;以及CD-ROM和DVD-ROM盘。
指令1024(例如,软件、程序、操作系统(OS)等)或其它数据存储于存储装置1021上,可由存储器1004存取以供处理器1002使用。存储器1004(例如,DRAM)通常是快速但易失性的,且因此是与存储装置1021(例如,SSD)不同类型的存储,所述存储装置1021适合于长期存储,包含在“断开”条件中时的长期存储。在由用户或机器1000的使用中的指令1024或数据通常加载于存储器1004中供处理器1002使用。当存储器1004装满时,可分配来自存储装置1021的虚拟空间以补充存储器1004;然而,因为存储1021装置通常比存储器1004慢,且写入速度通常比读取速度慢至少两倍,所以虚拟存储器的使用由于存储装置等待时间(与存储器1004相比,例如DRAM)可极大地降低用户体验。此外,用于虚拟存储器的存储装置1021的使用可极大地减少存储装置1021的可用使用寿命。
与虚拟存储器相比,虚拟存储器压缩(例如,内核特征“ZRAM”)使用存储器的部分作为经压缩块存储以避免对存储装置1021的分页。分页在经压缩块中发生直到必须将这些数据写入到存储装置1021为止。虚拟存储器压缩增加存储器1004的可用大小,同时减少存储装置1021上的磨损。
针对移动电子装置或移动存储而优化的存储装置传统地包含MMC固态存储装置(例如,微安全数字(microSDTM)卡等)。MMC装置包含与主机装置的若干并行接口(例如,8位并行接口),且经常是从主机装置可移除和分离的组件。相比之下,eMMCTM装置附接到电路板且视为主机装置的组件,其读取速度比得上基于串行ATATM(串行高级技术(AT)附接,或SATA)的SSD装置。然而,对移动装置性能的需求持续增加,以便完全实现虚拟或增强现实装置,利用增加的网络速度等。响应于此需求,存储装置已经从并行转移到串行通信接口。包含控制器和固件的通用快闪存储(UFS)装置使用具有专用读取/写入路径的低电压差分信令(LVDS)串行接口与主机装置通信,进一步推进了更高的读取/写入速度。
指令1024可以进一步利用多个传送协议中的任一个(例如,帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)经由网络接口装置1020使用传输媒体在通信网络1026上发射或接收。实例通信网络可以包含局域网(LAN)、广域网(WAN)、包数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、简易老式电话(POTS)网络和无线数据网络(例如,称为的电气电子工程师学会(IEEE)802.11系列标准、称为的IEEE 802.16系列标准)、IEEE 802.15.4系列标准、对等式(P2P)网络,以及其它网络。在实例中,网络接口装置1020可包含一或多个物理插口(例如,以太网、同轴或电话插口)或一或多个天线以连接到通信网络1026。在实例中,网络接口装置1020可包含多个天线以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一个无线地通信。术语“传输媒体”应被视为包含能够存储、编码或载送指令以由机器1000执行的任何无形媒体,且包含数字或模拟通信信号或用以促进此软件的通信的其它无形媒体。
额外实例:
实例1是一种用于存储器转换表管理的装置,所述装置包括:字节可寻址存储器;存储装置;以及控制器,其用以:将转换表的层级在逻辑上分段为多个片段,其中所述转换表的底部层级包含用于所述存储装置的一部分的逻辑到物理地址配对,且所述转换表的其它层级包含所述转换表内的参考;将所述多个片段写入到所述存储装置;将所述多个片段中的第一片段加载到所述字节可寻址存储器;接收对地址转换的请求;确定所述请求是针对由所述多个片段中的第二片段参考的地址;在所述字节可寻址存储器中以所述第二片段替换所述第一片段;以及使用所述第二片段定位所述转换表的包含所述地址转换的较低层级来满足所述请求。
在实例2中,实例1的标的物包含其中为了将所述多个片段写入到所述存储装置,所述控制器对所述存储装置的可写入所述多个片段的位置实施约束。
在实例3中,实例2的标的物包含其中所述约束要求所述存储装置的所述位置为邻接的。
在实例4中,实例3的标的物包含其中所述多个片段中的多于一个写入到所述存储装置的最小可寻址部分。
在实例5中,实例2到4的标的物包含其中所述约束对应于所述存储装置的物理属性。
在实例6中,实例5的标的物包含其中所述物理属性是在所述存储装置内重复的固定页、子块、块或裸片,其中所述存储装置是NAND阵列。
在实例7中,实例6的标的物包含其中所述固定页是块中的第一页,所述固定块是裸片中的第一块,且所述固定裸片是所述NAND阵列中的第一裸片。
在实例8中,实例6到7的标的物包含其中为了以所述第二片段替换所述第一片段,所述控制器搜索所述固定页、块或裸片是否有所述第二片段。
在实例9中,实例8的标的物包含其中为了搜索所述第二片段,所述控制器检查所述固定页、块或裸片的每一重复直到找到转换表标记为止。
在实例10中,实例1到9的标的物包含其中为了将所述多个片段中的所述第一片段加载到所述字节可寻址存储器,所述控制器将到所述第二片段的指针添加到所述字节可寻址存储器。
在实例11中,实例10的标的物包含其中为了将所述多个片段中的所述第一片段加载到所述字节可寻址存储器,所述控制器将到所述多个片段中的第三第二片段的第二指针添加到所述字节可寻址存储器,其中所述多个片段经排序,且其中所述第三片段在所述第一片段前面且所述第二片段跟随所述第一片段。
在实例12中,实例10到11的标的物包含其中所述指针是到所述多个片段中的另一片段的仅有指针,且其中全部所述多个片段可通过相应指针寻址以形成环数据结构。
在实例13中,实例1到12的标的物包含其中所述装置是三维NAND快闪装置。
实例14是一种用于存储器转换表管理的方法,所述方法包括:将转换表的层级在逻辑上分段为多个片段,其中所述转换表的底部层级包含用于存储装置的一部分的逻辑到物理地址配对,且所述转换表的其它层级包含所述转换表内的参考;将所述多个片段写入到所述存储装置;将所述多个片段中的第一片段加载到字节可寻址存储器;接收对地址转换的请求;确定所述请求是针对由所述多个片段中的第二片段参考的地址;在所述字节可寻址存储器中以所述第二片段替换所述第一片段;以及使用所述第二片段定位所述转换表的包含所述地址转换的较低层级来满足所述请求。
在实例15中,实例14的标的物包含其中将所述多个片段写入到所述存储装置包含对所述存储装置的可写入所述多个片段的位置实施约束。
在实例16中,实例15的标的物包含其中所述约束要求所述存储装置的所述位置为邻接的。
在实例17中,实例16的标的物包含其中所述多个片段中的多于一个写入到所述存储装置的最小可寻址部分。
在实例18中,实例15到17的标的物包含其中所述约束对应于所述存储装置的物理属性。
在实例19中,实例18的标的物包含其中所述物理属性是在所述存储装置内重复的固定页、子块、块或裸片,其中所述存储装置是NAND阵列。
在实例20中,实例19的标的物包含其中所述固定页是块中的第一页,所述固定块是裸片中的第一块,且所述固定裸片是所述NAND阵列中的第一裸片。
在实例21中,实例19到20的标的物包含其中以所述第二片段替换所述第一片段包含搜索所述固定页、块或裸片是否有所述第二片段。
在实例22中,实例21的标的物包含其中搜索所述第二片段包含检查所述固定页、块或裸片的每一重复直到找到转换表标记为止。
在实例23中,实例14到22的标的物包含其中将所述多个片段中的所述第一片段加载到所述字节可寻址存储器包含将到所述第二片段的指针添加到所述字节可寻址存储器。
在实例24中,实例23的标的物包含其中将所述多个片段中的所述第一片段加载到所述字节可寻址存储器包含将到所述多个片段中的第三第二片段的第二指针添加到所述字节可寻址存储器,其中所述多个片段经排序,且其中所述第三片段在所述第一片段前面且所述第二片段跟随所述第一片段。
在实例25中,实例23到24的标的物包含其中所述指针是到所述多个片段中的另一片段的仅有指针,且其中全部所述多个片段可通过相应指针寻址以形成环数据结构。
在实例26中,实例14到25的标的物包含其中所述存储装置是三维NAND快闪装置,且其中操作由封装于所述存储装置中的控制器执行。
实例27是至少一个机器可读媒体,其包含指令,所述指令当由处理电路执行时致使所述处理电路执行实例14到26的任一方法。
实例28是一种系统,其包括用以执行实例14到26的任一方法的机构。
实例29是至少一个机器可读媒体,其包含指令,所述指令当由处理电路执行时致使所述处理电路执行包括以下各项的操作:将转换表的层级在逻辑上分段为多个片段,其中所述转换表的底部层级包含用于存储装置的一部分的逻辑到物理地址配对,且所述转换表的其它层级包含所述转换表内的参考;将所述多个片段写入到所述存储装置;将所述多个片段中的第一片段加载到字节可寻址存储器;接收对地址转换的请求;确定所述请求是针对由所述多个片段中的第二片段参考的地址;在所述字节可寻址存储器中以所述第二片段替换所述第一片段;以及使用所述第二片段定位所述转换表的包含所述地址转换的较低层级来满足所述请求。
在实例30中,实例29的标的物包含其中将所述多个片段写入到所述存储装置包含对所述存储装置的可写入所述多个片段的位置实施约束。
在实例31中,实例30的标的物包含其中所述约束要求所述存储装置的所述位置为邻接的。
在实例32中,实例31的标的物包含其中所述多个片段中的多于一个写入到所述存储装置的最小可寻址部分。
在实例33中,实例30到32的标的物包含其中所述约束对应于所述存储装置的物理属性。
在实例34中,实例33的标的物包含其中所述物理属性是在所述存储装置内重复的固定页、子块、块或裸片,其中所述存储装置是NAND阵列。
在实例35中,实例34的标的物包含其中所述固定页是块中的第一页,所述固定块是裸片中的第一块,且所述固定裸片是所述NAND阵列中的第一裸片。
在实例36中,实例34到35的标的物包含其中以所述第二片段替换所述第一片段包含搜索所述固定页、块或裸片是否有所述第二片段。
在实例37中,实例36的标的物包含其中搜索所述第二片段包含检查所述固定页、块或裸片的每一重复直到找到转换表标记为止。
在实例38中,实例29到37的标的物包含其中将所述多个片段中的所述第一片段加载到所述字节可寻址存储器包含将到所述第二片段的指针添加到所述字节可寻址存储器。
在实例39中,实例38的标的物包含其中将所述多个片段中的所述第一片段加载到所述字节可寻址存储器包含将到所述多个片段中的第三第二片段的第二指针添加到所述字节可寻址存储器,其中所述多个片段经排序,且其中所述第三片段在所述第一片段前面且所述第二片段跟随所述第一片段。
在实例40中,实例38到39的标的物包含其中所述指针是到所述多个片段中的另一片段的仅有指针,且其中全部所述多个片段可通过相应指针寻址以形成环数据结构。
在实例41中,实例29到40的标的物包含其中所述存储装置是三维NAND快闪装置,且其中操作由封装于所述存储装置中的控制器执行。
实例42是一种用于存储器转换表管理的系统,所述系统包括:用于将转换表的层级在逻辑上分段为多个片段的机构,其中所述转换表的底部层级包含用于存储装置的一部分的逻辑到物理地址配对,且所述转换表的其它层级包含所述转换表内的参考;用于将所述多个片段写入到所述存储装置的机构;用于将所述多个片段中的第一片段加载到字节可寻址存储器的机构;用于接收对地址转换的请求的机构;用于确定所述请求是针对由所述多个片段中的第二片段参考的地址的机构;用于在所述字节可寻址存储器中以所述第二片段替换所述第一片段的机构;以及用于使用所述第二片段定位所述转换表的包含所述地址转换的较低层级来满足所述请求的机构。
在实例43中,实例42的标的物包含其中所述用于将所述多个片段写入到所述存储装置的机构包含用于对所述存储装置的可写入所述多个片段的位置实施约束的机构。
在实例44中,实例43的标的物包含其中所述约束要求所述存储装置的所述位置为邻接的。
在实例45中,实例44的标的物包含其中所述多个片段中的多于一个写入到所述存储装置的最小可寻址部分。
在实例46中,实例43到45的标的物包含其中所述约束对应于所述存储装置的物理属性。
在实例47中,实例46的标的物包含其中所述物理属性是在所述存储装置内重复的固定页、子块、块或裸片,其中所述存储装置是NAND阵列。
在实例48中,实例47的标的物包含其中所述固定页是块中的第一页,所述固定块是裸片中的第一块,且所述固定裸片是所述NAND阵列中的第一裸片。
在实例49中,实例47到48的标的物包含其中用于以所述第二片段替换所述第一片段的机构包含用于搜索所述固定页、块或裸片是否有所述第二片段的机构。
在实例50中,实例49的标的物包含其中用于搜索所述第二片段的机构包含用于检查所述固定页、块或裸片的每一重复直到找到转换表标记为止的机构。
在实例51中,实例42到50的标的物包含其中所述用于将所述多个片段中的所述第一片段加载到所述字节可寻址存储器的机构包含用于将到所述第二片段的指针添加到所述字节可寻址存储器的机构。
在实例52中,实例51的标的物包含其中所述用于将所述多个片段中的所述第一片段加载到所述字节可寻址存储器的机构包含用于将到所述多个片段中的第三第二片段的第二指针添加到所述字节可寻址存储器的机构,其中所述多个片段经排序,且其中所述第三片段在所述第一片段前面且所述第二片段跟随所述第一片段。
在实例53中,实例51到52的标的物包含其中所述指针是到所述多个片段中的另一片段的仅有指针,且其中全部所述多个片段可通过相应指针寻址以形成环数据结构。
在实例54中,实例42到53的标的物包含其中所述存储装置是三维NAND快闪装置,且其中操作由封装于所述存储装置中的控制器执行。
实例55是至少一个机器可读媒体,其包含指令,所述指令当由处理电路执行时致使所述处理电路执行操作以实施实例1到54中的任一者。
实例56是一种设备,其包括用以实施实例1到54中的任一者的机构。
实例57是一种用以实施实例1到54中的任一者的系统。
实例58是一种用以实施实例1到54中的任一者的方法。
以上详细描述包含对附图的参考,所述附图形成所述详细描述的一部分。所述图式借助于说明展示可实践本发明的特定实施例。这些实施例在本文中也称为“实例”。此类实例可包含除了所示出或所描述的那些元件之外的元件。然而,本发明人还预期其中仅提供所示出或所描述的那些元件的实例。此外,本发明的发明人还预期使用相对于特定实例(或其一或多个方面)或相对于本文展示或描述的其它实例(或其一或多个方面)而展示或描述的那些元件的任何组合或排列的实例(或其一或多个方面)。
在本文件中,术语如专利文件中所常见而使用术语“一”以包含一个或多于一个,其独立于“至少一个”或“一或多个”的任何其它例子或使用。在此文献中,术语“或”用于指代非排它性或,使得除非另有指示,否则“A或B”可包含“A而非B”、“B而非A”以及“A和B”。在所附权利要求书中,术语“包含”和“在其中(in which)”用作相应术语“包括”和“其中(wherein)”的通俗等效术语。此外,在所附权利要求书中,术语“包含”和“包括”为开放式的,也就是说,包含除权利要求书中在此术语之后列出的那些元件之外的元件的系统、装置、物品或过程仍被视为在权利要求书的范围内。此外,在随附权利要求书中,术语“第一”、“第二”和“第三”等仅用作标签,且并不在于对其对象施加数字要求。
在不同实例中,本文中所描述的组件、控制器、处理器、单元、引擎或表可包含存储于物理装置上的物理电路或固件等。如本文中所使用,“处理器”意指任何类型的计算电路,例如(但不限于)微处理器、微控制器、图形处理器、数字信号处理器(DSP),或任何其它类型的处理器或处理电路,包含处理器或多核心装置群组。
如在本文档中所使用的术语“水平”被定义为平行于衬底的常规平面或表面的平面,例如下伏于晶片或裸片的常规平面或表面,而无论在任一时间点所述衬底的实际定向如何。术语“竖直”指代垂直于如上定义的水平的方向。例如“上”、“上方”和“下方”等介词是相对于常规平面或表面在衬底的顶部或暴露表面上而定义,无论衬底的定向如何;且同时“上”既定表明一个结构相对于其位于其“上”的另一结构的直接接触(无做出相反指示的表达的存在下);术语“上方”和“下方”明确地既定识别结构(或层、特征等)的相对放置,其明确地包含但不限于所识别结构之间的直接接触,除非具体来说如此指示。类似地,术语“上方”和“下方”不限于水平定向,因为如果一结构在某个时间点是所讨论的构造的最外部分,那么即使所述结构相对于参考结构竖直延伸而不是在水平定向上延伸,此结构也可在参考结构“上方”。
本文使用术语“晶片”和“衬底”来大体上指代集成电路形成于其上的任何结构,并且还指代在集成电路制造的各个阶段期间的这些结构。因此,以下详细描述不应以限制性意义来理解,并且各种实施例的范围仅由所附权利要求书连同此权利要求书授权的等效物的完整范围定义。
根据本发明且在本文中所描述的各种实施例包含使用存储器单元的竖直结构(例如,存储器单元的NAND串)的存储器。如本文中所使用,将采用相对有存储器单元形成在上面的衬底的表面的方向性形容词(即,竖直结构将被视为远离衬底表面而延伸,竖直结构的底端将被视为最接近衬底表面的端部,并且竖直结构的顶端将被视为最远离衬底表面的端部)。
如本文中所使用,方向性形容词(例如水平、竖直、正交、平行、竖直等)可指相对定向,并且除非另外指出,否则并不意图需要严格遵守具体几何性质。举例来说,如本文中所使用,竖直结构无需精确地垂直于衬底的表面,而是可替代地大体上垂直于衬底的表面,并且可形成与衬底的表面的锐角(例如,在60度与120度之间等)。
在本文所描述的一些实施例中,可将不同掺杂配置应用于源极侧选择栅极(SGS)、控制栅极(CG)和漏极侧选择栅极(SGD),其中的每一个在此实例中可以由多晶硅形成或至少包含多晶硅,结果使得这些层次(例如,多晶硅等)当暴露于蚀刻溶液时可具有不同蚀刻速率。举例来说,在3D半导体装置中形成单片支柱的过程中,SGS和CG可形成凹部,而SGD可保持较少凹入或甚至不凹入。这些掺杂配置因此可通过使用蚀刻溶液(例如,四甲基铵氢氧化物(TMCH))实现进入3D半导体装置中的相异层次(例如,SGS、CG和SGD)中的选择性蚀刻。
如本文所使用,操作存储器单元包含从存储器单元读取、对存储器单元写入或擦除存储器单元。使存储器单元置于既定状态中的操作在本文中被称作“编程”,且可包含对存储器单元写入或从存储器单元擦除(例如,存储器单元可经编程为擦除状态)。
根据本发明的一或多个实施例,位于存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设定、调整、计算、改变、清除、传送、适配、导出、界定、利用、修改、应用等)磨损循环的数量,或磨损状态(例如,记录磨损循环、在存储器装置的操作发生时对其进行计数、跟踪其起始的存储器装置的操作、评估对应于磨损状态的存储器装置特性等)。
根据本发明的一或多个实施例,存储器存取装置可经配置以关于每一存储器操作将磨损循环信息提供到存储器装置。存储器装置控制电路(例如,控制逻辑)可经编程以补偿对应于磨损循环信息的存储器装置性能改变。存储器装置可接收磨损循环信息且响应于磨损循环信息而确定一或多个操作参数(例如,值、特性)。
将理解,当一元件被称作“在另一元件上”、“连接到另一元件”或“与另一元件耦合”时,其可直接在另一元件上、与另一元件直接连接或耦合或可存在介入元件。相比之下,当一元件被称作“直接”在另一元件“上”、“直接连接到”或“直接耦合到”另一元件时,不存在介入的元件或层。如果两个元件在图式中展示为被线连接,那么除非另外指明,否则所述两个元件可耦合、或直接耦合。
本文中所描述的方法实例可至少部分地由机器或计算机实施。一些实例可包含编码有指令的计算机可读媒体或机器可读媒体,所述指令可操作以配置电子装置以执行如在以上实例中描述的方法。这类方法的实施方案可包含代码,例如微码、汇编语言代码、高级语言代码等等。这类代码可包括用于执行各种方法的计算机可读指令。所述代码可以形成计算机程序产品的部分。此外,代码可例如在执行期间或在其它时间有形地存储于一或多个易失性或非易失性有形计算机可读媒体上。这些有形计算机可读媒体的实例可包含但不限于:硬盘、可装卸式磁盘、可装卸式光盘(例如,压缩光盘和数字视频光盘)、盒式磁带、存储器卡或棒、随机存取存储器(RAM)、只读存储器(ROM)、固态驱动器(SSD)、通用快闪存储(UFS)装置、嵌入式MMC(eMMC)装置及类似物。
以上描述预期为说明性的而非限制性的。例如,上述实例(或其一或多个方面)可以彼此组合使用。例如所属领域的技术人员在查阅以上描述后可使用其它实施例。所述摘要在遵守以下理解的情况下提交:其将不会用于解释或限制权利要求的范围或含义。另外,在以上具体实施方式中,可将各种特征分组在一起以简化本发明。不应将此情况解释为期望未主张的公开特征对任何权利要求来说是必需的。实情为,本发明标的物可在于比特定所揭示实施例的所有特征要少。因此,特此将所附权利要求书并入到具体实施方式中,其中每一权利要求作为一单独实施例而独立存在,且预期此些实施例可以各种组合或排列彼此组合。本发明的范围应该通过参考所附的权利要求书以及所述权利要求书所授予的等效物的完整范围来确定。
Claims (28)
1.一种用于存储器转换表管理的装置,所述装置包括:
字节可寻址存储器;
存储装置;以及
控制器,其用以:
将转换表的层级在逻辑上分段为多个片段,其中所述转换表的底部层级包含用于所述存储装置的一部分的逻辑到物理地址配对,且所述转换表的其它层级包含所述转换表内的参考;
将所述多个片段写入到所述存储装置;
将所述多个片段中的第一片段加载到所述字节可寻址存储器;
接收对地址转换的请求;
确定所述请求是针对由所述多个片段中的第二片段参考的地址;
在所述字节可寻址存储器中以所述第二片段替换所述第一片段;以及
使用所述第二片段定位所述转换表的包含所述地址转换的较低层级来满足所述请求。
2.根据权利要求1所述的装置,其中为了将所述多个片段写入到所述存储装置,所述控制器对所述存储装置的可写入所述多个片段的位置实施约束。
3.根据权利要求2所述的装置,其中所述约束要求所述存储装置的所述位置为邻接的。
4.根据权利要求3所述的装置,其中所述多个片段中的多于一个写入到所述存储装置的最小可寻址部分。
5.根据权利要求2所述的装置,其中所述约束对应于所述存储装置的物理属性。
6.根据权利要求5所述的装置,其中所述物理属性是在所述存储装置内重复的固定页、子块、块或裸片,其中所述存储装置是NAND阵列。
7.根据权利要求6所述的装置,其中所述固定页是块中的第一页,所述固定块是裸片中的第一块,且所述固定裸片是所述NAND阵列中的第一裸片。
8.根据权利要求6所述的装置,其中为了以所述第二片段替换所述第一片段,所述控制器搜索所述固定页、块或裸片是否有所述第二片段。
9.根据权利要求8所述的装置,其中为了搜索所述第二片段,所述控制器检查所述固定页、块或裸片的每一重复直到找到转换表标记为止。
10.根据权利要求1所述的装置,其中为了将所述多个片段中的所述第一片段加载到所述字节可寻址存储器,所述控制器将到所述第二片段的指针添加到所述字节可寻址存储器。
11.根据权利要求10所述的装置,其中为了将所述多个片段中的所述第一片段加载到所述字节可寻址存储器,所述控制器将到所述多个片段中的第三第二片段的第二指针添加到所述字节可寻址存储器,其中所述多个片段经排序,且其中所述第三片段在所述第一片段前面且所述第二片段跟随所述第一片段。
12.根据权利要求10所述的装置,其中所述指针是到所述多个片段中的另一片段的仅有指针,且其中全部所述多个片段可通过相应指针寻址以形成环数据结构。
13.根据权利要求1所述的装置,其中所述装置是三维NAND快闪装置。
14.一种用于存储器转换表管理的方法,所述方法包括:
将转换表的层级在逻辑上分段为多个片段,其中所述转换表的底部层级包含用于存储装置的一部分的逻辑到物理地址配对,且所述转换表的其它层级包含所述转换表内的参考;
将所述多个片段写入到所述存储装置;
将所述多个片段中的第一片段加载到字节可寻址存储器;
接收对地址转换的请求;
确定所述请求是针对由所述多个片段中的第二片段参考的地址;
在所述字节可寻址存储器中以所述第二片段替换所述第一片段;以及
使用所述第二片段定位所述转换表的包含所述地址转换的较低层级来满足所述请求。
15.根据权利要求14所述的方法,其中将所述多个片段写入到所述存储装置包含对所述存储装置的可写入所述多个片段的位置实施约束。
16.根据权利要求15所述的方法,其中所述约束要求所述存储装置的所述位置为邻接的。
17.根据权利要求16所述的方法,其中所述多个片段中的多于一个写入到所述存储装置的最小可寻址部分。
18.根据权利要求15所述的方法,其中所述约束对应于所述存储装置的物理属性。
19.根据权利要求18所述的方法,其中所述物理属性是在所述存储装置内重复的固定页、子块、块或裸片,其中所述存储装置是NAND阵列。
20.根据权利要求19所述的方法,其中所述固定页是块中的第一页,所述固定块是裸片中的第一块,且所述固定裸片是所述NAND阵列中的第一裸片。
21.根据权利要求19所述的方法,其中以所述第二片段替换所述第一片段包含搜索所述固定页、块或裸片是否有所述第二片段。
22.根据权利要求21所述的方法,其中搜索所述第二片段包含检查所述固定页、块或裸片的每一重复直到找到转换表标记为止。
23.根据权利要求14所述的方法,其中将所述多个片段中的所述第一片段加载到所述字节可寻址存储器包含将到所述第二片段的指针添加到所述字节可寻址存储器。
24.根据权利要求23所述的方法,其中将所述多个片段中的所述第一片段加载到所述字节可寻址存储器包含将到所述多个片段中的第三第二片段的第二指针添加到所述字节可寻址存储器,其中所述多个片段经排序,且其中所述第三片段在所述第一片段前面且所述第二片段跟随所述第一片段。
25.根据权利要求23所述的方法,其中所述指针是到所述多个片段中的另一片段的仅有指针,且其中全部所述多个片段可通过相应指针寻址以形成环数据结构。
26.根据权利要求14所述的方法,其中所述存储装置是三维NAND快闪装置,且其中操作由封装于所述存储装置中的控制器执行。
27.至少一种机器可读媒体,其包含指令,所述指令当由处理电路执行时致使所述处理电路执行根据权利要求14到26所述的任一方法。
28.一种系统,其包括用以执行根据权利要求14到26所述的任一方法的机构。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/692,622 | 2017-08-31 | ||
US15/692,622 US10437734B2 (en) | 2017-08-31 | 2017-08-31 | Memory constrained translation table management |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109426621A true CN109426621A (zh) | 2019-03-05 |
CN109426621B CN109426621B (zh) | 2024-02-23 |
Family
ID=65437261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810986453.4A Active CN109426621B (zh) | 2017-08-31 | 2018-08-28 | 存储器受约束的转换表管理 |
Country Status (2)
Country | Link |
---|---|
US (2) | US10437734B2 (zh) |
CN (1) | CN109426621B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11163692B2 (en) | 2017-08-31 | 2021-11-02 | Micron Technology, Inc. | Memory constrained translation table management |
CN114424284A (zh) * | 2019-08-28 | 2022-04-29 | 美光科技公司 | 码字内耗损均衡技术 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190095122A1 (en) * | 2017-09-28 | 2019-03-28 | Intel Corporation | Memory management system, computing system, and methods thereof |
US10956049B2 (en) | 2019-06-12 | 2021-03-23 | International Business Machines Corporation | Wear-aware block mode conversion in non-volatile memory |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103026346A (zh) * | 2010-07-27 | 2013-04-03 | 国际商业机器公司 | 包括固态存储器设备的存储系统中的逻辑到物理地址映射 |
CN103299283A (zh) * | 2011-01-06 | 2013-09-11 | 美光科技公司 | 存储器地址转译 |
CN104268094A (zh) * | 2014-09-23 | 2015-01-07 | 浪潮电子信息产业股份有限公司 | 一种优化的闪存地址映射方法 |
US20150143029A1 (en) * | 2013-11-21 | 2015-05-21 | Sandisk Technologies Inc. | Dynamic logical groups for mapping flash memory |
US20150178010A1 (en) * | 2013-12-19 | 2015-06-25 | Macronix International Co., Ltd. | Memory management based on usage specifications |
CN104885062A (zh) * | 2012-12-10 | 2015-09-02 | 谷歌公司 | 使用逻辑到物理映射以与数据存储装置进行直接用户空间通信 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10067881B2 (en) * | 2016-06-15 | 2018-09-04 | Western Digital Technologies, Inc. | Compression and caching for logical-to-physical storage address mapping tables |
JP2019020788A (ja) * | 2017-07-11 | 2019-02-07 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
US10437734B2 (en) | 2017-08-31 | 2019-10-08 | Micron Technology, Inc. | Memory constrained translation table management |
US10541009B2 (en) * | 2017-12-28 | 2020-01-21 | Intel Corporation | Write data mask for power reduction |
-
2017
- 2017-08-31 US US15/692,622 patent/US10437734B2/en active Active
-
2018
- 2018-08-28 CN CN201810986453.4A patent/CN109426621B/zh active Active
-
2019
- 2019-09-12 US US16/568,962 patent/US11163692B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103026346A (zh) * | 2010-07-27 | 2013-04-03 | 国际商业机器公司 | 包括固态存储器设备的存储系统中的逻辑到物理地址映射 |
CN103299283A (zh) * | 2011-01-06 | 2013-09-11 | 美光科技公司 | 存储器地址转译 |
CN104885062A (zh) * | 2012-12-10 | 2015-09-02 | 谷歌公司 | 使用逻辑到物理映射以与数据存储装置进行直接用户空间通信 |
US20150143029A1 (en) * | 2013-11-21 | 2015-05-21 | Sandisk Technologies Inc. | Dynamic logical groups for mapping flash memory |
US20150178010A1 (en) * | 2013-12-19 | 2015-06-25 | Macronix International Co., Ltd. | Memory management based on usage specifications |
CN104268094A (zh) * | 2014-09-23 | 2015-01-07 | 浪潮电子信息产业股份有限公司 | 一种优化的闪存地址映射方法 |
Non-Patent Citations (1)
Title |
---|
白石等: "GFTL:一种基于页组映射的低能耗闪存转换层", 《中国科技论文在线》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11163692B2 (en) | 2017-08-31 | 2021-11-02 | Micron Technology, Inc. | Memory constrained translation table management |
CN114424284A (zh) * | 2019-08-28 | 2022-04-29 | 美光科技公司 | 码字内耗损均衡技术 |
US11688477B2 (en) | 2019-08-28 | 2023-06-27 | Micron Technology, Inc. | Intra-code word wear leveling techniques |
Also Published As
Publication number | Publication date |
---|---|
CN109426621B (zh) | 2024-02-23 |
US11163692B2 (en) | 2021-11-02 |
US10437734B2 (en) | 2019-10-08 |
US20190065393A1 (en) | 2019-02-28 |
US20200004689A1 (en) | 2020-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111108499B (zh) | Nand存储器装置、相关方法及机器可读媒体 | |
US11720489B2 (en) | Scheme to improve efficiency of device garbage collection in memory devices | |
US11119933B2 (en) | Dynamic L2P cache | |
US10114557B2 (en) | Identification of hot regions to enhance performance and endurance of a non-volatile storage device | |
US20110320688A1 (en) | Memory Systems And Wear Leveling Methods | |
US10522229B2 (en) | Secure erase for data corruption | |
US10685731B2 (en) | Erase page check | |
US11163692B2 (en) | Memory constrained translation table management | |
CN109427404A (zh) | 用于电压降级感知nand阵列管理的nand装置、方法和系统 | |
US11972294B2 (en) | Allocation schema for a scalable memory area | |
KR20210099184A (ko) | 저장 디바이스의 순차적 데이터 최적화 서브 영역 | |
CN111433751B (zh) | 存储器装置及相关方法和机器可读媒体 | |
KR20210078548A (ko) | Slc 캐시 할당 | |
WO2019113820A1 (en) | Synchronizing nand logical-to-physical table region tracking | |
KR20210086990A (ko) | 패리티를 사용한 메모리 액세스 병렬성 증가 | |
CN114093407A (zh) | 一种存储器装置、数据处理系统、方法及存储介质 | |
CN111045852B (zh) | 移动nand奇偶校验信息技术 | |
CN112445717B (zh) | 用于取消映射技术的元数据分组 |
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 |