CN112445721A - 提高效率的经混淆逻辑到物理映射管理 - Google Patents
提高效率的经混淆逻辑到物理映射管理 Download PDFInfo
- Publication number
- CN112445721A CN112445721A CN202010888767.8A CN202010888767A CN112445721A CN 112445721 A CN112445721 A CN 112445721A CN 202010888767 A CN202010888767 A CN 202010888767A CN 112445721 A CN112445721 A CN 112445721A
- Authority
- CN
- China
- Prior art keywords
- obfuscated
- region
- mapping
- discontinuity
- host
- 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 title claims abstract description 176
- 230000000694 effects Effects 0.000 claims abstract description 76
- 238000000034 method Methods 0.000 claims description 47
- 238000012545 processing Methods 0.000 claims description 45
- 230000008859 change Effects 0.000 claims description 36
- 230000004044 response Effects 0.000 claims description 26
- 230000015654 memory Effects 0.000 description 169
- 230000014616 translation Effects 0.000 description 34
- 238000013519 translation Methods 0.000 description 34
- 238000004891 communication Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 12
- 239000000758 substrate Substances 0.000 description 12
- 230000003936 working memory Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000003491 array Methods 0.000 description 6
- 238000012937 correction Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 2
- 229920005591 polysilicon Polymers 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- WGTYBPLFGIVFAS-UHFFFAOYSA-M tetramethylammonium hydroxide Chemical compound [OH-].C[N+](C)(C)C WGTYBPLFGIVFAS-UHFFFAOYSA-M 0.000 description 2
- 241000962514 Alosa chrysochloris Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000001154 acute effect Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000006399 behavior 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
- 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
- 239000003623 enhancer Substances 0.000 description 1
- 238000005530 etching Methods 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000006658 host protein synthesis Effects 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
- 239000002699 waste material Substances 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
- 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/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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- 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
-
- 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/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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/1048—Scalability
-
- 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/40—Specific encoding of data in memory or cache
- G06F2212/402—Encrypted data
-
- 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/7208—Multiple device management, e.g. distributing data over multiple flash devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本申请针对提高效率的经混淆逻辑到物理映射管理。例如,可跟踪对应于存储器装置的L2P映射的经混淆区域的活动。可更新所述经混淆区域与由所述活动导致的L2P映射之间的不连续性记录。可基于所述不连续性记录中的不连续性水平对所述经混淆区域进行排序。当标识到空闲周期时,基于所述排序从所述经混淆区域选择且刷新经混淆区域。
Description
技术领域
本申请涉及存储器领域,并且更具体地涉及针对提高效率的混淆逻辑到物理映射管理的技术。
背景技术
通常提供存储器装置作为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性存储器和非易失性存储器。
易失性存储器需要功率来维持其数据,并且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)或同步动态随机存取存储器(SDRAM)。
非易失性存储器在不被供电时可保留所存储的数据,并且包含闪存、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、静态RAM(SRAM)、可擦除可编程ROM(EPROM)、电阻可变存储器,诸如相变随机存取存储器(PCRAM)、电阻随机存取存储器(RRAM)、磁阻随机存取存储器(MRAM)或3D XPointTM存储器等。
存储器通常由虚拟逻辑块和物理块来描述和组织。虽然物理块是指存储器装置中的物理结构(例如,位置)(例如,其地址),但逻辑块是向物理块提供灵活接口的概念类似物。因此,举例来说,如果存储器装置将数据从一个物理块移动到另一物理块(例如以垃圾收集第一物理块),那么可在不中断经由逻辑块存取数据的主机操作的情况下转移从第一物理块到相应逻辑块的关系。物理块和逻辑块之间的关系通常被维持在数据结构中,该数据结构可被称为逻辑到物理(L2P)映射(例如,表、列表、字典或其它数据结构)。随着存储器装置的物理结构的尺寸和复杂性增加,L2P映射通常也增加。当存储器装置控制器具有有限的容量来管理大的L2P映射时,这可能是个问题。
发明内容
在一个方面中,本申请针对一种实施经混淆逻辑到物理(L2P)映射管理的存储器装置,所述存储器装置包括:处理电路***;及包含指令的存储装置,当由所述处理电路***执行时,所述指令将所述处理电路***配置为:跟踪存储器装置中的活动,所述活动对应于所述存储器装置的L2P映射的经混淆区域,所述L2P映射被存储在所述存储器装置上;更新所述经混淆区域与由所述活动导致的L2P映射之间的不连续性记录;标识空闲周期;基于所述不连续性记录中的不连续性水平对所述经混淆区域进行排序;且响应于所述空闲周期,刷新基于所述排序从所述经混淆区域选择的经混淆区域。
在另一个方面中,本申请针对一种用于经混淆逻辑到物理(L2P)映射管理的方法,所述方法包括:跟踪存储器装置中的活动,所述活动对应于所述存储器装置的L2P映射的经混淆区域,所述L2P映射被存储在所述存储器装置上;更新所述经混淆区域与由所述活动导致的L2P映射之间的不连续性记录;标识空闲周期;基于所述不连续性记录中的不连续性水平对所述经混淆区域进行排序;且响应于所述空闲周期,刷新基于所述排序从所述经混淆区域选择的经混淆区域。
在另一个方面中,本申请针对一种机器可读介质,其包含用于实施经混淆逻辑到物理(L2P)映射管理的指令,当由处理电路***执行时,所述指令使得所述处理电路***执行包括以下项的操作:跟踪存储器装置中的活动,所述活动对应于所述存储器装置的L2P映射的经混淆区域,所述L2P映射被存储在所述存储器装置上;更新所述经混淆区域与由所述活动导致的L2P映射之间的不连续性记录;标识空闲周期;基于所述不连续性记录中的不连续性水平对所述经混淆区域进行排序;且响应于所述空闲周期,刷新基于所述排序从所述经混淆区域选择的经混淆区域。
附图说明
在不必按比例绘制的附图中,相同标号可在不同的视图中描述类似的部件。具有不同字母后缀的相同标号可表示类似部件的不同实例。附图以实例而非限制的方式一般性地说明了本文档中讨论的各种实施例。
图1说明了包含存储器装置的环境的实例。
图2说明了利用主机高速缓存的逻辑到物理映射来执行读请求的实例。
图3说明了执行写请求和刷新物理地址的实例。
图4说明了混淆物理地址的实例。
图5说明了主机高速缓存的逻辑到物理映射的实例。
图6说明了用于跟踪经混淆区域以进行更新的数据结构的实例。
图7说明了用于提高效率的经混淆逻辑到物理(L2P)映射管理的方法的实例的流程图。
图8是说明可在其上实施一或多个实施例的机器的实例的框图。
具体实施方式
以下描述了在共享L2P映射时有效保护存储器装置免受主机干扰的技术。在以下实例中,主机被征用以帮助管理许多存储器装置操作(例如,读、写等)的L2P映射。为了启用主机辅助,与主机共享用于存储器装置的L2P映射。然而,这可能导致存储器装置的一些安全问题。下面描述的装置、***和技术以空间和时间有效的方式解决了这些问题中的一些。
存储器装置包含单独的存储器裸片,其可(例如)包含存储区域,该存储区域包括存储器单元的一或多个阵列,从而实施一(或多个)经选择存储技术。此些存储器裸片通常包含用于操作存储器阵列的支持电路***。其它实例(有时通常被称为“受管存储器装置”)包含与经配置以控制一或多个存储器裸片的操作的控制器功能相关联的一或多个存储器裸片的组件。此些控制器功能可简化与外部专职的互操作性,如本文稍后讨论的“主机”。在此些受管存储器装置中,控制器功能可被实施于一或多个裸片上(该一或多个裸片也并入有存储器阵列)或者被实施于单独的裸片上。在其它实例中,一或多个存储器装置可与控制器功能组合以形成固态驱动器(SSD)存储卷。
在实施NAND闪速存储器单元的受管存储器装置(被称为“受管NAND”装置)的实例中描述了本公开的实施例。然而,这些实例并不限制本公开的范围,本公开的范围可以以其它形式的存储器装置和/或用其它形式的存储技术来实施。
NOR或NAND架构半导体存储器阵列中的每一闪速存储器单元可被单独地或共同地编程为一或多个经编程状态。举例来说,单级单元(SLC)可表示两个经编程状态(例如,1或0)中的一者,从而表示一个数据位。闪速存储器单元还可表示两个以上的经编程状态,从而允许在不增加存储器单元的数目的情况下制造较高密度存储器,这是因为每一单元可表示一个以上的二进制数字(例如,一个以上的位)。此些单元可被称为多状态存储器单元、多数字单元或多级单元(MLC)。在某些实例中,MLC可指代每单元可存储两个数据位的存储器单元(例如,四个经编程状态中的一者),三级单元(TLC)可指代每单元可存储三个数据位的存储器单元(例如,八个经编程状态中的一者),并且四级单元(QLC)每单元可存储四个数据位。MLC在本文中以其更广泛的上下文使用,以指代每单元可存储一个以上的数据位(即,其可表示两个以上的经编程状态)的任何存储器单元。
可根据公认的工业标准来配置和操作受管存储器装置。例如,受管NAND装置可为(作为非限制性实例)通用闪存(UFSTM)装置或嵌入式MMC装置(eMMCTM)等。例如,在上述实例的情况下,可根据联合电子装置工程会议(Joint Electron Device EngineeringCouncil)(JEDEC)标准(例如,题为JEDEC UFS闪存3.0的JEDEC标准JESD223D等和/或此标准的更新或后续版本)来配置UFS装置。类似地,可再次根据题为“JEDEC eMMC标准5.1”的JEDEC标准JESD84-A51和/或此标准的更新或后续版本来配置经标识eMMC装置。
SSD尤其可用作计算机的主存储装置,其在(例如)性能、尺寸、重量、坚固性、工作温度范围和功耗方面优于具有移动部件的传统硬盘驱动器。例如,SSD可具有减少的寻找时间、等待时间或与磁盘驱动器(例如,机电等)相关联的其它延迟。SSD使用非易失性存储器单元(诸如闪速存储器单元)来消除内部电池供应要求,因此允许驱动器更加通用且紧凑。受管存储器装置(例如受管NAND)装置可用作各种形式的电子装置中的主存储器或辅助存储器,并且通常用于移动装置中。
SSD和受管存储器装置两者都可包含多个存储器装置,包含多个裸片或逻辑单元(例如,逻辑单元号或LUN),并且可包含执行操作存储器装置或与外部***接口所需的逻辑功能的一或多个处理器或其它控制器。此些SSD和受管存储器装置可包含一或多个闪速存储器裸片,其上包含多个存储器阵列和***电路***。闪速存储器阵列可包含被组织成多个物理页的存储器单元的多个块。在一些实例中,SSD还可包含DRAM或SRAM(或其它形式的存储器裸片或其它存储器结构)。类似地,受管NAND装置可包含与NAND存储阵列分离且在控制器内或与控制器分离的易失性存储器和/或非易失性存储器的一或多个阵列。SSD和受管NAND装置两者可从与存储器操作(诸如读操作或写操作,用于在存储器装置和主机之间传递数据(例如,用户数据和相关联的完整性数据,诸如错误数据和地址数据等),或擦除操作,用于从存储器装置擦除数据)关联的主机接收命令。
许多存储装置(诸如闪速装置)使用转换数据结构(例如,表)来将逻辑元件(例如,页或块)映射到逻辑元件的物理等效物。这允许装置的控制器执行各种技术以增加装置的存储元件的性能或寿命。举例来说,NAND闪速单元经历写循环或擦除循环的物理磨损。进一步地,这些装置需要一次擦除许多元件(例如,块擦除)。为了解决这些问题,控制器通常将写分散在可用单元周围(例如,以降低这些单元的损耗),且从块迁移良好页以擦除块并因此释放额外空间。在这两种情况下,给定页或块的主机地址可为恒定的,即使它所引用的数据借助于转换映射被移动到不同的物理页或块。
转换映射通常被加载到控制器的内部存储器中。如果映射大小大于内部存储器(例如,在随机存取存储器(RAM)中,诸如控制器的动态RAM(DRAM)或静态RAM(SRAM)中),则将映射的一部分加载到内部存储器中,且将映射的剩余部分存储在其它存储装置(诸如NAND闪速阵列元件)中。如果转换请求(例如,逻辑到物理(L2P)映射)不在内部存储器中,则控制器用来自其它存储装置的适当部分代替映射的内部存储器部分。当执行操作(诸如对存储装置进行读或写)时,该过程可增加等待时间。尽管增加的内部存储器可减少这些事件的发生,但这是以对于给定应用来说不可接受的制造和功率成本来实现的。
为了解决将转换映射的部分换入和换出内部存储器的问题,可将转换映射递送到主机(假定具有比存储装置更大的存储器资源),从而允许主机指示给定操作应用哪个物理地址。这在本文被称为主机高速缓存的L2P映射,尽管在某些上下文中也可被称为主机性能增强器(HPB)、统一存储器扩展(UME)或主机存储器缓冲器(HMB)。在这些布置中,控制器最终负责维持转换映射并利用转换映射的变化来更新主机,但是主机实际上是其中将与传统命令和逻辑地址一起操作物理地址的控制器。因为物理地址由主机提供,所以控制器可避免在执行操作时参考转换映射,从而在执行操作时增加效率或减少等待时间。可将物理地址封装到有效负载(例如,物理地址有效负载)中。例如,在一些HPB建议中,有效负载是八个字节,而物理地址是四个字节。有效负载的剩余四个字节可用于其它控制目的。
当前的主机高速缓存的L2P映射建议包含若干缺点。例如,控制器不能控制主机存储器。因此,主机对L2P映射的操纵可避开由控制器实施的数据保护。这里,当控制器仅依赖于其内部转换映射时,主机的恶意软件或有缺陷的软件可以以不可能的方式破坏存储装置上的数据。
经混淆L2P映射(其中被提供给主机的物理地址是加密的或者以其它方式被保护以免被控制器发现)使得控制器能够利用主机高速缓存的L2P映射的优点,同时还对数据进行认证,防止重放攻击,防止对数据的未经授权修改,并且可能保护存储装置的专有操作,诸如损耗均衡技术。通过使用来自请求的逻辑地址和物理地址对来计算请求的验证而实现这些目标。可针对验证的经存储版本检查该验证,以确定验证是否通过。例如,当执行写时,控制器将具有L2P映射。控制器可散列逻辑地址和物理地址并存储结果。在随后读取经写入数据时,主机从主机保存的转换映射副本提供逻辑地址和物理址。控制器可散列所提供的逻辑地址和物理地址以产生测试散列,读取在执行写时存储的散列,并且在散列匹配时验证请求是正确的。如果散列不匹配,则控制器可使用内部转换映射来查找到所提供的逻辑地址的正确物理地址且提供正确数据。因此,当所提供的L2P对正确时,控制器实施主机高速缓存的L2P映射的性能增强,并且当存在问题(例如,经由错误或恶意)时,控制器从容地回到传统转换映射查找。
额外信息可被应用于验证以提供额外功能。例如,可用L2P映射来散列序列号以防止重放攻击。此外,实际物理地址本身可被混淆,使得主机从控制器提供的转换映射提供经混淆物理地址。控制器在不参考转换映射的情况下去混淆物理地址以确定实际物理地址。以此方式,控制器可保护从主机到安全专有技术的L2P映射的内部操作,同时仍享有主机高速缓存的L2P映射的增强性能。
对上述经混淆主机高速缓存的L2P映射的改进包含在主机请求之前推测性地混淆L2P映射表的区域。根据主机的请求混淆L2P映射区域可增加处理时间(例如,完成操作的等待时间)并影响用户体验。因为受管存储器装置通常具有有限的功率和用于处理的裸片空间(例如,加密引擎),但具有大的可用存储(例如,在NAND阵列中),因此将混淆处理时移到其中此处理将减少对用户体验的影响的周期的机会。下面提供额外细节和实例。
采用本文讨论的转换映射修改的装置可适用于许多应用。电子装置(诸如移动电子装置(例如,智能电话、平板电脑等))、用于汽车应用的电子装置(例如,汽车传感器、控制单元、驾驶员辅助***、乘客安全或舒适***等)以及因特网连接的电器或装置(例如,物联网(IoT)装置等)具有变化的存储需求,这尤其取决于电子装置的类型、使用环境、性能预期等。
电子装置可被分解成若干主要部件:处理器(例如中央处理单元(CPU)或其它主处理器);存储器(例如,一或多个易失性RAM存储器装置或非易失性RAM存储器装置,诸如DRAM、移动或低功率双数据速率同步DRAM(DDR SDRAM)等);及存储装置(例如,非易失性存储器(NVM)设备,诸如闪速存储器、只读存储器(ROM)、SSD、MMC或其它存储器卡结构或组件等)。在某些实例中,电子装置可包含用户接口(例如,显示器、触摸屏、键盘、一或多个按钮等)、图形处理单元(GPU)、功率管理电路、基带处理器或者一或多个收发器电路等。
图1说明了环境100的实例,其包含经配置以经由通信接口进行通信的主机装置105和存储器装置110。主机装置105或存储器装置110可包含于各种产品150(诸如,物联网(IoT)装置(例如,冰箱或其它电器、传感器、马达或致动器、移动通信装置、汽车、无人机等))中,以支持对产品150的处理、通信或控制。
存储器装置110包含存储器控制器115和存储器阵列120,该存储器阵列120包含(例如)多个单独的存储器裸片(例如,三维(3D)NAND裸片的堆叠)。在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之间提供转换层。
关于转换,存储器控制器115可实施针对在主机高速缓存的L2P中进行有效的经混淆L2P映射的技术。在最高级,存储器控制器115在触发对主机105L2P映射的更新的事件之前预先计算L2P映射混淆。此些事件可包含主机105对刷新L2P映射区域的请求,或由控制器115递送的自动更新,例如作为控制器115执行导致改变NAND阵列120的哪个物理地址对应于逻辑地址的命令的结果。更新逻辑块或移动逻辑块(例如,经由损耗均衡或垃圾收集)的任何命令通常导致物理地址的变化。因此,存储器控制器115经布置以跟踪NAND阵列中对应于L2P映射的经混淆区域的活动。
存储器控制器115经布置以更新经混淆区域与由活动导致的L2P映射之间的不连续性记录。不连续性指代映射的多少元件在经混淆区域内不是当前的。脏区域或陈旧区域或子区域是其中经混淆L2P映射的一或多个元件不同于实际L2P映射的区域。例如,当逻辑地址从一个地址变为物理地址再到另一地址并且该区域没有被更新以反映该变化时,将发生这种情况。区域越脏,其相对于实际L2P映射的错误就越多。
在实例中,存储器控制器115经布置以保持不连续性的计数。因此,不连续性记录跟踪包含当前L2P映射与由经混淆区域表示的L2P映射之间的偏差的计数。这里,每当L2P映射在区域内变化时,单个计数器便递增以确定整个区域有多脏。在实例中,用于子区域的计数器响应于逻辑地址的写入或物理地址的变化而递增。因此,每当物理地址针对子区域中的逻辑地址变化时,用于整个子区域的单个计数器便递增。使用计数器是快速且存储有效的。然而,如果(例如)区域或子区域中的少量L2P映射被连续地更新,则它可过度表示多少L2P映射是陈旧的。
在实例中,不连续性记录是其中单元对应于经混淆区域的一部分且单元中的值指示该部分是否已变化的映射。这是不连续性的另一紧凑表示。这里,该部分由指示L2P映射是当前的还是陈旧的单个位表示。在实例中,该部分对应于子区域。这里,映射对应于经混淆区域。因此,每一经混淆区域具有单独的映射。在实例中,该部分小于子区域,诸如页或块。这里,映射对应于子区域。在实例中,该部分是四千位(例如,页)。
在实例中,不连续性的变化速率由存储器控制器115跟踪。变化速率对刷新经混淆区域的决定的效率具有重要影响。例如,如果区域正在快速变化,则提供经更新区域可能是低效的,因为更新将很快过时。
在实例中,存储器控制器115经布置以维持主机活动(除NAND阵列120上的活动外)关于经混淆区域的记录。主机活动是关于区域本身,并且不是关于区域所覆盖的NAND阵列的元件(例如,逻辑地址、物理地址等)。可被跟踪的主机活动的实例包含主机105具有什么区域、先前已经请求了什么区域、主机具有多长时间的区域、主机区域请求的定时,或主机区域请求的模式,诸如在区域M的90%的时间之后请求区域B等等。跟踪主机活动的有用性在于预测未来主机行为的能力。以这种方式,主机105即将请求的可能区域可被优先化以用于刷新(下面描述)。在不能够预测主机的下一个请求的情况下,可作出应优先化主机105已具有的区域以用于刷新的合理推断。
存储器控制器115经布置以标识空闲周期。这里,空闲周期是其中存储器装置110或存储器控制器115控制器的活动低于阈值的周期。在实例中,由存储器装置110的命令队列测量活动。可使用若干不同的标准来测量活动。举例来说,命令队列中命令的数目、进入命令队列的命令的速率、处理命令队列中的命令的能量或时间预算等。使用空闲周期来预先计算经混淆L2P映射更新避免了在使用存储器装置110时对用户体验的影响。
存储器控制器115经布置从不连续性记录开始,基于不连续性水平对经混淆区域进行排序。这里,不连续性越大(例如,区域或子区域越脏),则在排序期间其分类级别越高。在实例中,可修改分类以解决刷新期间处理的简易性(例如,操作725)。举例来说,对于具有相同不连续性级别的两个区域,但是两个区域中的一者具有将刷新的一组连续子区域,该区域的分类级别可更高。
在实例中,经混淆区域的排序使用主机活动。如上所指出,刷新主机当前正在使用的区域或主机将很快请求的区域可为更有效的。排序可以以若干方式考虑该问题。例如,可从主机活动计算将向主机请求区域的概率。概率可被应用于(例如,乘以)恒定值,并且基于区域的脏度被加到区域的分数。以这种方式,更有效(例如,微脏)的区域可基于其将被主机请求的可能性而比另一区域的分类级别更高。
存储器控制器115经布置以响应于空闲周期,基于排序选择经混淆区域并刷新所述经选择的经混淆区域。通常,选择最高分类的经混淆区域。如上所指出,该最高分类的区域通常具有最大的不连续性水平。
在实例中,排序还基于来自所跟踪的不连续性变化速率的逆排序。如上所指出,对快速变化的区域或子区域执行刷新可为资源的浪费。因此,该变化速率是排序中的因素,该排序将较慢变化的区域优先于较快变化的区域。
在实例中,区域的选择或排序可考虑是否有足够的变化来保证刷新。因此,在实例中,不执行刷新,或者不选择区域,除非存在超过变化阈值的不连续性。这里,引入了延迟,其中并非子区域的每次变化都导致刷新相应的经混淆L2P映射。因此,变化可累积直到达到阈值。这可通过针对经混淆L2P映射与实际的逻辑到物理地址映射之间的类似同步性而启用较少的L2P映射混淆来提高效率。
在实例中,为了刷新经混淆区域,混淆当前L2P映射的子区域,以创建新的经混淆子区域。可然后存储新的经混淆子区域来代替经混淆区域的相应子区域。因此,新的经混淆子区域代替经混淆L2P映射内的先前子区域。对区域的此增量更新可使得能够仅选择性地处理L2P映射中对主机高速缓存的L2P操作提供最大影响的那些元件。在实例中,区域是经混淆L2P映射的区段,主机可根据主机和存储器装置之间的通信协议来请求该区段。因此,区域的大小基于通信协议,诸如UFS。
如上所指出,混淆导致主机105不能够映射NAND阵列120的物理块。因此,例如,混淆可为加密的。混淆还可包含存储器控制器115可用于实施数据完整性(例如,纠错码(ECC))或防止重放攻击(例如,刷新值)的其它特征。
可通过控制器115上的专用硬件部件来实施混淆。此部件可实施加密技术,诸如skipjack或blowfish或其它块级编码器。在实例中,块是八个字节。在实例中,块是十六个字节。在实例中,区域的子区域的大小经设计以匹配混淆分量的块大小。
在实例中,存储器控制器115经布置以将变化从存储装置提供到主机105。这里,不是如先前所做的那样即时混淆L2P映射区域,而是存储器控制器115简单地从存储装置读取经预先计算的经混淆区域。在实例中,存储器控制器115经布置以响应于来自主机105针对L2P映射的请求而向主机105提供变化。在实例中,控制器115经布置以响应于主机105在主机105的通电之后建立与存储器装置105的通信而向主机105提供变化。控制器115为主机105提供经混淆L2P映射的该功能可极大地增加主机150的通电响应性,从而针对主机105实现更积极的节电技术而不影响用户体验。
上述存储器控制器115布置可产生若干益处。这些益处中的一些包含安全性、等待时间减少、功率节省和主机引导时间。关于安全性,主机L2P数据可能被篡改,从而允许攻击者存取不属于其分配的逻辑地址的数据。当存储器装置110仅将经混淆L2P映射存储在NAND阵列120中时,攻击者存取受保护物理位置存在较大障碍。
关于吞吐量、等待时间或服务质量(QOS),主机105可请求许多L2P映射而不停顿、等待追上即时混淆。相反,经混淆区域的高速缓存版本可与任何读取一样快地被提供给主机105。这种效率可节省一到四毫秒或更多的时间。
关于功率节省,存储装置的许多区域大部分可为只读的。为了节省功率,主机105或存储器装置110可频繁地进入降低功率状态(例如,进入休眠)。此降低的功率状态通常导致主机105丢失其L2P映射的副本,如上所指出,这通过简单地从存储装置读取高速缓存副本来改善。
存储器管理器125可尤其包含电路***或固件,诸如与各种存储器管理功能相关联的若干部件或集成电路。出于本描述的目的,将在NAND存储器的上下文中描述实例性存储器操作和管理功能。所属领域的技术人员将认识到,其它形式的非易失性存储器可具有类似的存储器操作或管理功能。此NAND管理功能包含损耗均衡(例如,垃圾收集或回收)、错误检测或校正、块弃置或者一或多个其它存储器管理功能。存储器管理器125可将主机命令(例如,从主机接收的命令)解析或格式化为装置命令(例如,与存储器阵列的操作相关联的命令等),或产生用于阵列控制器135或存储器装置110的一或多个其它部件的装置命令(例如,以实现各种存储器管理功能)。
存储器管理器125可包含一组管理表130,管理表130经配置以维持与存储器装置110的一或多个部件相关联的各种信息(例如,与耦合到存储器控制器115的存储器阵列或者一或多个存储器单元相关联的各种信息)。举例来说,管理表130可包含关于耦合到存储器控制器115的存储器单元的一或多个块的块年龄、块擦除计数、错误历史或者一或多个错误计数(例如,写操作错误计数、读位错误计数、读操作错误计数、擦除错误计数等)的信息。在某些实例中,如果针对一或多个错误计数检测到的错误数目高于阈值,则位错误可被称为不可纠正的位错误。其中,管理表130可维持可校正或不可校正位错误的计数。在实例中,管理表103可包含转换表或L2P映射。
阵列控制器135可尤其包含经配置以控制存储器操作的电路***或部件,所述存储器操作与将数据写入存储器装置110的耦合到存储器控制器115的一或多个存储器单元、从存储器装置110的耦合到存储器控制器115的一或多个存储器单元读取数据或擦除存储器装置110的耦合到存储器控制器115的一或多个存储器单元相关联。存储器操作可基于(例如)从主机105接收的主机命令,或由存储器管理器125在内部产生的主机命令(例如,与损耗均衡、错误检测或校正等相关联)。
阵列控制器135可包含纠错码(ECC)部件140,其可尤其包含ECC引擎或其它电路***,所述ECC引擎或其它电路***经配置以检测或校正与将数据写入存储器装置110的耦合到存储器控制器115的一或多个存储器单元或从存储器装置110的耦合到存储器控制器115的一或多个存储器单元读取数据相关联的错误。存储器控制器115可经配置以主动地检测与数据的各种操作或存储相关联的错误发生(例如,位错误、操作错误等)并从中进行恢复,同时维持在主机105与存储器装置110之间传递的数据的完整性,或维持经存储数据的完整性(例如,使用冗余RAID存储等),并且可移除(例如,收回)发生故障的存储器资源(例如,存储器单元、存储器阵列、页、块等)以防止将来的错误。
存储器阵列120可包含布置于(例如)多个装置、平面、子块、块或页中的若干存储器单元。作为一个实例,48GB TLC NAND存储器装置可包含每页18,592个字节(B)的数据(16,384+2208个字节)、每块1536个页、每平面548个块和每装置4个或4个以上的平面。作为另一实例,32GB MLC存储器装置(每单元存储两个数据位(即,4个可编程状态))可包含每页18,592个字节(B)的数据(16,384+2208个字节)、每块1024个页、每平面548个块和每装置4个平面,但具有所需写时间的一半和编程/擦除(P/E)循环的两倍作为相应的TLC存储器装置。其它实例可包含其它数目或布置。在一些实例中,存储器装置或其一部分可选择性地以SLC模式或以期望MLC模式(诸如TLC、QLC等)操作。
在操作中,通常在页中将数据写入NAND存储器装置110或从NAND存储器装置110读取数据,并且在块中擦除该数据。然而,可根据需要在较大或较小的存储器单元组上执行一或多个存储器操作(例如,读、写、擦除等)。NAND存储器装置110的数据传递大小通常被称为页,而主机的数据传递大小通常被称为扇区。
尽管数据的页可包含多个字节的用户数据(例如,包含多个扇区的数据的数据有效负载)及其相应元数据,但页的大小通常仅指代用于存储用户数据的字节的数目。作为实例,具有4KB的页大小的数据页可包含4KB的用户数据(例如,假定扇区大小为512B的8个扇区)以及对应于用户数据的多个字节(例如,32B、54B、224B等)的元数据(诸如完整性数据(例如,错误检测或校正代码数据)、地址数据(例如,逻辑地址数据等)或与用户数据相关联的其它元数据)。
不同类型的存储器单元或存储器阵列120可提供不同的页大小,或者可需要与其相关联的不同量的元数据。举例来说,不同的存储器装置类型可具有不同的位错误率,其可导致确保数据页的完整性所必需的不同量的元数据(例如,具有较高位错误率的存储器装置可比具有较低位错误率的存储器装置需要更多字节的纠错码数据)。作为实例,多级单元(MLC)NAND闪速装置可比相应的单级单元(SLC)NAND闪速装置具有更高的位错误率。这样,MLC装置可比相应的SLC装置需要更多的元数据字节以用于错误数据。
图2说明了利用主机高速缓存的L2P映射225执行读请求的实例。主机210可作为以上参考图1描述的主机105操作,并且存储器装置205可作为以上参考图1描述的存储器装置110操作。如所说明,主机210包含用于L2P映射的转换映射225的完全可用的副本。存储器装置205包含相同的转换映射220,除了转换映射220的仅一部分可用于存储器装置205之外。转换映射220的阴影映射当前不可用于存储器装置110(例如,被加载到其RAM中),但被存储在存储器装置205的较慢存储装置(例如,NAND单元)中。
如所说明,主机210正在进行读请求215,该读请求215包含逻辑地址(LA)和物理地址(PA),该物理地址(PA)是通过参考转换映射225来确定的。令牌可用于验证请求215的正确性。在所说明的实例中,存储器装置205使用读请求中的信息来验证请求的正确性,例如,LA和PA匹配,令牌匹配与PA一起存储的令牌,或者两者都匹配,并且在不参考转换映射220的情况下执行读。在这种情况下,如果读是针对逻辑地址‘A’,则上述操作将减少执行读时的处理,因为存储器装置205将不必将转换映射220的阴影部分加载到工作存储器(例如,RAM)中以确定物理地址‘AA’处的数据正在被读取。在实例中,存储器装置205包含指示主机的L2P映射是否是当前的映射。如果映射指示主机L2P映射不是当前的,诸如存储器装置205的L2P映射自上次主机接收到L2P映射以来已经变化,则存储器装置可跳过验证,并且简单地使用L2P映射来查找PA。这防止当主机的信息的当前性不可信时的额外验证处理和可能错误。
图3说明了执行写请求和刷新物理地址的实例。主机210可分别作为上文参考图1和2描述的主机105或主机210操作,且存储器装置305可分别作为上文参考图1和2描述的存储器装置110或存储器装置205操作。这里,存储器装置305已经将逻辑地址‘C’的物理地址更新为‘XX’。该变化反映在元件340处的转换映射320中。然而,由主机310持有的转换映射325的相应元件350没有反映正确的映射(例如,转换映射325是陈旧的)。为了对此进行校正,存储器装置305提供复制转换映射335,其中经校正条目345经由响应于写请求而产生的状态消息315到达主机310。然后,主机310可为将来的请求更新其转换映射325。由于状态消息中通常有限的空间(例如,在一些状态消息中仅可提交一个或两个更新),可在具有用于状态消息的空间的每一通信处对状态进行排队和递送。例如,在命令无错误完成时,通常不使用状态数据,因此可将更新状态消息携带到主机。
如上所指出,存储器装置305可产生对应于经更新条目340的令牌。当(例如)该令牌不被包含在转换映射335中时,也在状态请求中传输该令牌。在实例中,在生成令牌时使用存储器装置330的计数器305。如上所指出,这可防御对令牌方案的重放攻击。
同样如上所指出,映射可用于直接确定是否由于主机的映射信息不是最新的而应使用传统的L2P映射查找。
图4说明了混淆物理地址的实例。主机410可分别作为上文参考图1至3描述的主机105、主机210或主机310操作,且存储器装置405可分别作为上文参考图1至3描述的存储器装置110、存储器装置205或存储器装置305操作。这里,存储器装置405的转换映射420包含内部物理地址到逻辑地址映射,并且主机410的转换映射425包含外部物理地址到相同的逻辑地址映射。存储器装置405经由映射435中经由状态消息415或其它存储器装置到主机410通信来传送外部物理地址映射。如上所指出,为了避免查找本地转换映射420,存储器装置405可使用外部物理地址来直接推导内部物理地址。实现这种直接推导的技术是利用密钥430对称地加密映射420的内部物理地址,该秘钥430由存储器装置405持有。经加密地址被传送到更新映射435中的主机410。主机410从不对外部物理地址进行解密,而是根据主机高速缓存的L2P映射技术使用它们来指示操作属于哪个物理地址。存储器装置405然后使用密钥430来对请求(例如,读请求或写请求)中的外部物理地址进行解密,外部物理地址的解密形式是内部物理地址。如上所指出,对整个物理地址有效负载(例如,物理地址和控制数据)进行加密可提供更好的结果。因为许多安全密码技术具有最小的八字节块大小,因此这可能发生。
随着时间,可用种子、不同的密钥等来扩充该技术,以便为相同的内部物理地址提供不同的外部地址。如果内部推导元素(例如,密钥、序列号、随机种子等)与主机转换映射425同步,则存储器装置405可直接从主机405提供的外部物理地址推导内部物理地址。因此,如所说明,映射420中的逻辑地址‘C’的内部物理地址是‘CC’。地址‘CC’的先前加密产生‘KK’,如映射425中的逻辑地址‘C’所展示。然而,推导元素的变化(例如,变化的密钥、新种子等)现在已经导致‘CC’加密为在映射435中的状态消息415中被传送到主机405的逻辑元件‘C’的‘WW’。一旦接收到,映射435将被主机405用以更新其自己的映射425,以用于将来的请求。
图5和6说明了可用于跟踪区域活动的一些数据结构。然后,该信息可用于选择性地刷新区域,以提高主机高速缓存的L2P映射性能。通常,区域越脏,则主机高速缓存的L2P映射就越少有用,这是因为许多L2P物理提示将无效并被控制器丢弃。L2P映射的区域越无效,则主机越可能需要请求更新的经更新映射。因为混淆了映射,所以主机可请求新的映射,并然后停止等待其内容,同时控制器建立并将它们发送到主机。
为了解决这个问题,控制器可基于区域有多脏(例如,如在图5和6中所说明的数据结构中所跟踪的)来推测接下来要刷新或创建哪个L2P映射。控制器还可跟踪主机当前已经检查出哪些区域或子区域,以帮助确定哪些映射对于主机是重要的,或者可能在将来被重新发送到主机。
确定正在访问哪些正在变化或将变化的区域(例如,哪些区域正被写入、垃圾收集或损耗均衡)使得控制器能够正确地推测主机应当高速缓存哪个区域以改进主机高速缓存的L2P映射性能。该推测可用于预先构建这些区域并将它们存储在NAND阵列中以在适当的时候提供给主机。通过服务来自NAND阵列的经混淆L2P区域映射而节省的时间可高达一到四毫秒或更多。例如,当存储器装置受到读或写压力时,这种节省可导致异常的用户体验。
混淆L2P映射的另一问题是构建覆盖整个区域的映射所需的易失性存储器(例如,控制器SRAM)的量。如果用于更新子区域的读缓冲器命令是64kB,则表示8192个经加密L2P提示。这还表示64kB或更多的装置的工作存储器,以用于存储明文数据并然后混淆和存储数据。丢失64kB或更多的工作存储器可为关键的,因为它不再可用于缓冲对主机的读或写。如果主机正在大量写(例如,就总数据或频率而言),则存储器装置可尝试向主机发送经更新映射以提高主机的L2P提示是正确的机会。然而,如果缓冲存储器填充有主机写的数据,则可能无法混淆更新。通过将混淆任务移动到背景中,可更细粒度地进行区域的混淆(例如,在子区域或更小的级别上),这使用更少的工作存储器并且还避免与工作存储器用作缓冲器的冲突。
图5说明了主机L2P表映射505的实例。映射505具有包含组标识(例如,顶部的框)和当前性指示(底部的框)的条目。当被实施为位图(如所展示)时,位的索引是组标识,并且位指示该组是否是当前的。在实例中,零指示当前性,而一指示该组不是当前的。组或区域510指代(例如)物理块515上的一组逻辑地址。如所说明,一些逻辑地址仍然是当前的(例如,指向有效页),而其它逻辑地址已经变化(例如,它们一次指向有效页,但是现在该页对于该逻辑地址不再有效)。因此,主机的L2P映射不是当前的。如果区域510中的任何逻辑地址在主机的L2P映射中不是当前的,则整个区域被标记为不是当前的。在不同的实例中可使用不同的区域描绘。在实例中,每一区域对应于单个逻辑地址。在实例中,每一区域对应于不在同一块上的多个(例如,四个)逻辑地址。
图6说明了用于跟踪经混淆区域以进行更新的数据结构的实例。所说明的实例给出针对各种特征(诸如区域和子区域)的一些额外实例大小。
区域列表是跟踪区域的结构,所述区域具有已经或应被检出到主机的映射。子区域映射被存储在NAND阵列的非易失性存储装置中。子区域脏位图和子区域有效性映射也可作为工作存储器的高速缓存被存储在NAND阵列中。在实例中,位图可被压缩,这可进一步节省控制器的工作存储器(例如SRAM)。
经混淆L2P映射在被创建(例如,被混淆或加密)时被发送到主机以存储在其工作存储器(例如,DRAM)中。跟踪子区域有效性用于稍后的同步,例如在从睡眠中觉醒之后。如果L2P映射仅有一点无效或脏(例如,低于阈值),则它们仍可用于发送到主机,并且因此不需要被重新生成。当保持经混淆映射的效果最小时,这可节省一些能量。
图7说明了用于提高效率的经混淆逻辑到物理(L2P)映射管理的方法700的实例的流程图。由计算硬件执行方法700的操作。此计算硬件的实例可包含存储器控制器115或以上参考图1描述的存储器装置110的其它处理电路***、其它计算机部件(诸如外部存储器控制器)。
在操作705,跟踪存储器装置中的活动,所述活动对应于存储器装置的L2P映射的经混淆区域。这里,经混淆L2P映射被存储在存储器装置上。
在操作710,更新经混淆区域与由活动导致的L2P映射之间的不连续性记录。再次,不连续性指代映射的多少元件在经混淆区域内不是当前的。在实例中,跟踪不连续性的变化速率。
在实例中,不连续性记录跟踪包含当前L2P映射与由经混淆区域表示的L2P映射之间的偏差的计数。在实例中,用于子区域的计数器响应于逻辑地址的写入或物理地址的变化而递增。
在实例中,不连续性记录是其中单元对应于经混淆区域的一部分且单元中的值指示该部分是否已变化的映射。在实例中,该部分由指示L2P映射是当前的还是陈旧的单个位表示。在实例中,该部分对应于子区域。在实例中,映射对应于经混淆区域。在实例中,该部分小于子区域,诸如页或块。在实例中,映射对应于子区域。在实例中,该部分是四千位。
在实例中,方法700经扩展以包含维持关于经混淆区域的主机活动的记录。可被跟踪的主机活动的实例包含主机具有什么区域、先前已经请求了什么区域、主机具有多长时间的区域、主机区域请求的定时,或主机区域请求的模式等等。
在操作715,标识空闲周期。这里,空闲周期是其中存储器装置或NAND控制器的活动低于阈值的周期。在实例中,由存储器装置的命令队列测量活动。可使用若干不同的标准来测量活动。例如,命令队列中命令的数目、进入命令队列的命令的速率、处理命令队列中的命令的能量或时间预算等。
在操作720,从不连续性记录开始,基于不连续性水平对经混淆区域进行排序。这里,不连续性越大,则在排序期间其分类级别越高。在实例中,可修改分类以解决刷新期间处理的简易性(例如,操作725)。在实例中,经混淆区域的排序使用主机活动。在实例中,排序还基于来自所跟踪的不连续性变化速率的逆排序。
在操作725,响应于空闲周期,刷新经混淆区域。这里,基于排序从经混淆区域选择被刷新的经混淆区域。
在实例中,为了刷新经混淆区域,混淆当前L2P映射的子区域,以创建新的经混淆子区域。然后,可将新的经混淆子区域存储在存储器装置中(例如,在诸如NAND阵列的非易失性存储阵列中),以代替经混淆区域的相应子区域。
图8说明了可在其上执行本文所讨论的技术(例如,方法)中的任何一或多者的实例性机器800的框图。在替代实施例中,机器800可作为独立装置操作,或者可连接(例如,联网)到其它机器。在联网部署中,机器800可在服务器-客户机网络环境中以服务器、客户机或两者的能力操作。在实例中,机器800可充当对等(P2P)(或其它分布式)网络环境中的对等机器。机器800可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、web应用、IoT装置、汽车***或者能够执行指定将由该机器采取的行为的指令(顺序的或以其它方式)的任何机器。进一步地,虽然仅说明了单个机器,但是术语“机器”还应当被理解为包含单独地或联合地执行一组(或多组)指令以执行本文所讨论的方法(诸如云计算、软件即服务(SaaS)、其它计算机集群配置)中的任何一或多者的机器的任何集合。
如本文所描述,实例可包含逻辑、部件、装置、封装体或机构,或者可由所述逻辑、部件、装置、封装体或机构操作。电路***是在包含硬件(例如,简单电路、门、逻辑等)的有形实体中实施的电路的集合(例如,集)。电路***成员可随时间和底层硬件可变性而灵活。电路***包含在操作时可单独或组合执行特定任务的构件。在实例中,电路***的硬件可被永久地设计为执行特定操作(例如,硬连线)。在实例中,电路***的硬件可包含可变地连接的物理部件(例如,执行单元、晶体管、简单电路等),所述物理部件包含被物理地修改(例如,对不变的聚集粒子磁性地、电气地、可移动地布置等)以对特定操作的指令进行编码的计算机可读介质。在连接物理部件时,硬件组成的底层电气性质改变,例如从绝缘体改变为导体,反之亦然。所述指令使参与的硬件(例如,执行单元或加载机构)能够经由可变连接在硬件中创建电路***的成员以在操作时执行特定操作的部分。因此,机器可读介质在装置运行时通信地耦合到电路***的其它部件。在实例中,物理部件中的任一者可在一个以上的电路***的一个以上的成员中使用。例如,在操作下,执行单元可在一个时刻在第一电路***的第一电路中使用,并且在不同的时间由第一电路***中的第二电路或由第二电路***中的第三电路重新使用。
机器(例如,计算机***)800(例如,主机装置105、存储器装置110等)可包含硬件处理器802(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核或其任何组合,诸如存储器控制器115等)、主存储器804和静态存储器806,其一些或全部可经由互连(例如,总线)808彼此通信。机器800可进一步包含显示单元810、字母数字输入装置812(例如,键盘)和用户界面(UI)导航装置814(例如,鼠标)。在实例中,显示单元810、输入装置812和UI导航装置814可为触摸屏显示器。此外,机器800可包含存储装置(例如,驱动单元)821、信号生成装置818(例如,扬声器)、网络接口装置820,以及一或多个传感器816,诸如全球定位***(GPS)传感器、罗盘、加速剂或其它传感器。机器800可包含输出控制器828,诸如串行(例如,通用串行总线(USB)、并行或其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接,以通信或控制一或多个***装置(例如,打印机、读卡器等)。
存储装置816可包含机器可读介质822,该机器可读介质822上存储有一或多组数据结构或指令824(例如,软件),该数据结构或指令824实现本文所描述的技术或功能中的任何一或多者或由其使用。在由机器800执行期间,指令824还可完全地或至少部分地驻留在主存储器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装置被附接到电路板并被认为是主机装置的部件,其读速度与基于SSD装置的串行ATATM(串行AT(高级技术)附件或SATA)相匹敌。然而,对移动装置性能的需求持续增长,诸如以完全启用虚拟装置或增强现实装置、利用增长的网络速度等。响应于该需求,存储装置已经从并行通信接口转换为串行通信接口。通用闪速存储(UFS)装置(包含控制器和固件)使用具有专用读/写路径的低电压差分信令(LVDS)串行接口与主机装置通信,从而进一步促进更高的读/写速度。
可进一步利用多个传输协议(例如,帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传输协议(HTTP)等)中的任一者,经由网络接口装置820使用传输介质在通信网络826上传输或接收指令824。实例性通信网络可包含局域网(LAN)、广域网(WAN)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、普通老式电话(POTS)网络,以及无线数据网络(例如,被已知为的电气和电子工程师协会(IEEE)802.11标准族、被已知为的IEEE 802.16标准族)、IEEE 802.15.4标准族、对等(P2P)网络等。在实例中,网络接口装置820可包含一或多个物理插孔(例如,以太网、同轴或电话插孔)或者一或多个天线以连接到通信网络826。在实例中,网络接口装置820可包含多个天线,用以使用单输入多输出(SIMO)、多输入多输出(MIMO)或多输入单输出(MISO)技术中的至少一者进行无线通信。术语“传输介质”应被理解为包含能够存储、编码或承载由机器800执行的指令的任何无形介质,并且包含数字信号或模拟通信信号或其它无形介质,以促进此软件的通信。
额外实例:
实例1是一种实施经混淆逻辑到物理(L2P)映射管理的存储器装置,所述存储器装置包括:处理电路***;及包含指令的存储装置,当由所述处理电路***执行时,所述指令将所述处理电路***配置为:跟踪存储器装置中的活动,所述活动对应于所述存储器装置的L2P映射的经混淆区域,所述L2P映射被存储在所述存储器装置中;更新所述经混淆区域与由所述活动导致的L2P映射之间的不连续性记录;标识空闲周期;基于所述不连续性记录中的不连续性水平对所述经混淆区域进行排序;且响应于所述空闲周期,刷新基于所述排序从所述经混淆区域选择的经混淆区域。
在实例2中,根据实例1的主题,其中为了刷新所述经混淆区域,指令将所述处理电路***配置为:混淆当前L2P映射的子区域,以创建新的经混淆子区域;且存储所述新的经混淆子区域来代替所述经混淆区域的相应子区域。
在实例3中,根据实例1-2中任一项的主题,其中所述不连续性记录跟踪当前L2P映射与由所述经混淆区域表示的L2P映射之间的偏差的计数。
在实例4中,根据实例3的主题,其中为了更新所述不连续性记录,所述指令将所述处理电路***配置为响应于逻辑地址的写入或物理地址的变化而递增子区域的计数器。
在实例5中,根据实例3至4中任一项的主题,其中所述不连续性记录是其中单元对应于经混淆区域的一部分且所述单元中的值指示所述部分是否已变化的映射。
在实例6中,根据实例5的主题,其中所述部分对应于子区域,并且其中所述映射对应于经混淆区域。
在实例7中,根据实例5至6中任一项的主题,其中所述部分小于子区域,并且其中所述映射对应于经混淆子区域。
在实例8中,根据实例7的主题,其中所述部分是四千位。
在实例9中,根据实例1至8中任一项的主题,其中为了更新所述经混淆区域与L2P映射之间的不连续性记录,所述指令将所述处理电路***配置为跟踪所述不连续性的变化速率;并且其中为了基于所述不连续性水平对所述经混淆区域进行排序,所述指令将所述处理电路***配置为基于所述速率而应用逆排序。
在实例10中,根据实例1至9中任一项的主题,其中所述指令将所述处理电路***配置为维持关于所述经混淆区域的主机活动的记录;其中为了对所述经混淆区域进行排序,所述指令将所述处理电路***配置为使用主机活动。
在实例11中,根据实例10的主题,其中为了维持主机活动的记录,所述指令将所述处理电路***配置为跟踪所述主机具有所述经混淆区域中的哪一者。
实例12是用于经混淆逻辑到物理(L2P)映射管理的方法,所述方法包括:跟踪存储器装置中的活动,所述活动对应于所述存储器装置的L2P映射的经混淆区域,所述L2P映射被存储在所述存储器装置中;更新所述经混淆区域与由所述活动导致的L2P映射之间的不连续性记录;标识空闲周期;基于所述不连续性记录中的不连续性水平对所述经混淆区域进行排序;且响应于所述空闲周期,刷新基于所述排序从所述经混淆区域选择的经混淆区域。
在实例13中,根据实例12的主题,其中刷新所述经混淆区域包含混淆当前L2P映射的子区域,以创建新的经混淆子区域;且存储所述新的经混淆子区域来代替所述经混淆区域的相应子区域。
在实例14中,根据实例12至13中任一项的主题,其中所述不连续性记录跟踪当前L2P映射与由所述经混淆区域表示的L2P映射之间的偏差的计数。
在实例15中,根据实例14的主题,其中更新所述不连续性记录包含响应于逻辑地址的写入或物理地址的变化而递增子区域的计数器。
在实例16中,根据实例14至15中任一项的主题,其中所述不连续性记录是其中单元对应于经混淆区域的一部分且所述单元中的值指示所述部分是否已变化的映射。
在实例17中,根据实例16的主题,其中所述部分对应于子区域,并且其中所述映射对应于经混淆区域。
在实例18中,根据实例16至17中任一项的主题,其中所述部分小于子区域,并且其中所述映射对应于经混淆子区域。
在实例19中,根据实例18的主题,其中所述部分是四千位。
在实例20中,根据实例12至19中任一项的主题,其中更新所述经混淆区域与L2P映射之间的不连续性记录包含跟踪所述不连续性的变化速率;并且其中基于所述不连续性水平对所述经混淆区域进行排序包含基于所述速率而应用逆排序。
在实例21中,根据实例12至20中任一项的主题,包括维持关于所述经混淆区域的主机活动的记录;其中对所述经混淆区域进行排序包含使用所述主机活动。
在实例22中,根据实例21的主题,其中维持主机活动的记录包含跟踪所述主机具有所述经混淆区域中的哪一者。
实例23是一种机器可读介质,其包含用于实施经混淆逻辑到物理(L2P)映射管理的指令,当由处理电路***执行时,所述指令使得所述处理电路***执行包括以下项的操作:跟踪存储器装置中的活动,所述活动对应于所述存储器装置的L2P映射的经混淆区域,所述L2P映射被存储在所述存储器装置中;更新所述经混淆区域与由所述活动导致的L2P映射之间的不连续性记录;标识空闲周期;基于所述不连续性记录中的不连续性水平对所述经混淆区域进行排序;且响应于所述空闲周期,刷新基于所述排序从所述经混淆区域选择的经混淆区域。
在实例24中,根据实例23的主题,其中刷新所述经混淆区域包含混淆当前L2P映射的子区域,以创建新的经混淆子区域;且存储所述新的经混淆子区域来代替所述经混淆区域的相应子区域。
在实例25中,根据实例23至24中任一项的主题,其中所述不连续性记录跟踪当前L2P映射与由所述经混淆区域表示的L2P映射之间的偏差的计数。
在实例26中,根据实例25的主题,其中更新所述不连续性记录包含响应于逻辑地址的写入或物理地址的变化而递增子区域的计数器。
在实例27中,根据实例25至26中任一项的主题,其中所述不连续性记录是其中单元对应于经混淆区域的一部分且所述单元中的值指示所述部分是否已变化的映射。
在实例28中,根据实例27的主题,其中所述部分对应于子区域,并且其中所述映射对应于经混淆区域。
在实例29中,根据实例27至28中任一项的主题,其中所述部分小于子区域,并且其中所述映射对应于经混淆子区域。
在实例30中,根据实例29的主题,其中所述部分是四千位。
在实例31中,根据实例23至30中任一项的主题,其中更新所述经混淆区域与L2P映射之间的不连续性记录包含跟踪所述不连续性的变化速率;并且其中基于所述不连续性水平对所述经混淆区域进行排序包含基于所述速率而应用逆排序。
在实例32中,根据实例23至31中任一项的主题,其中所述操作包括维持关于所述经混淆区域的主机活动的记录;其中对所述经混淆区域进行排序包含使用所述主机活动。
在实例33中,根据实例32的主题,其中维持主机活动的记录包含跟踪所述主机具有所述经混淆区域中的哪一者。
实例34是用于经混淆逻辑到物理(L2P)映射管理的***,所述***包括:装置,用于跟踪存储器装置中的活动,所述活动对应于所述存储器装置的L2P映射的经混淆区域,所述L2P映射被存储在所述存储器装置中;装置,用于更新所述经混淆区域与由所述活动导致的L2P映射之间的不连续性记录;装置,用于标识空闲周期;装置,用于基于所述不连续性记录中的不连续性水平对所述经混淆区域进行排序;及装置,用于响应于所述空闲周期,刷新基于所述排序从所述经混淆区域选择的经混淆区域。
在实例35中,根据实例34的主题,其中用于刷新所述经混淆区域的装置包含:装置,用于混淆当前L2P映射的子区域,以创建新的经混淆子区域;及装置,用于存储所述新的经混淆子区域来代替所述经混淆区域的相应子区域。
在实例36中,根据实例34至35中任一项的主题,其中所述不连续性记录跟踪当前L2P映射与由所述经混淆区域表示的L2P映射之间的偏差的计数。
在实例37中,根据实例36的主题,其中用于更新所述不连续性记录的装置包含装置,用于响应于逻辑地址的写入或物理地址的变化而递增子区域的计数器。
在实例38中,根据实例36至37中任一项的主题,其中所述不连续性记录是其中单元对应于经混淆区域的一部分且所述单元中的值指示所述部分是否已变化的映射。
在实例39中,根据实例38的主题,其中所述部分对应于子区域,并且其中所述映射对应于经混淆区域。
在实例40中,根据实例38至39中任一项的主题,其中所述部分小于子区域,并且其中所述映射对应于经混淆子区域。
在实例41中,根据实例40的主题,其中所述部分是四千位。
在实例42中,根据实例34至41中任一项的主题,其中用于更新所述经混淆区域与L2P映射之间的不连续性记录的装置包含用于跟踪所述不连续性的变化速率的装置;并且其中用于基于所述不连续性水平对所述经混淆区域进行排序的装置包含基于所述速率而应用逆排序的装置。
在实例43中,根据实例34至42中任一项的主题,包括用于维持关于所述经混淆区域的主机活动的记录的装置;其中对所述经混淆区域进行排序的装置包含用于使用所述主机活动的装置。
在实例44中,根据实例43的主题,其中用于维持主机活动的记录的装置包含用于跟踪所述主机具有所述经混淆区域中的哪一者的装置。
实例45是包含指令的至少一种机器可读介质,当由处理电路***执行时,所述指令使得所述处理电路***执行操作以实施实例1至44中的任一项。
实例46是包括用以实施实例1至44中任一项的装置的装置。
实例47是用以实施实例1至44中任一项的***。
实例48是用以实施实例1至44中任一项的方法。
以上详细描述包括对附图的参考,所述附图形成详细描述的一部分。附图通过说明的方式展示了其中可实施本发明的具体实施例。这些实施例在本文也被称为“实例”。此些实例可包含除了所展示或描述的那些元素之外的元素。然而,本发明人还考虑了其中仅提供了所展示或描述的那些元素的实例。此外,关于特定实例(或其一或多个方面)或者关于其它实例(或其一或多个方面),本发明人还考虑了使用所展示或描述的那些元素(或其一或多个方面)的任一组合或排列的实例。
在本文件中,如在专利文件中通常使用的,术语“一”或“一个”用于包含一个或一个以上,其与“至少一个”或“一或多个”的任何其它情况或使用无关。在本文件中,术语“或”用于指代非排他性的“或”,使得除非另有指示,“A或B”可包含“A但没有B”、“B但没有A”以及“A和B”。在随附权利要求中,术语“包含”和“其中”用作各个术语“包括”和“其中”的简明英语等效物。此外,在以下权利要求中,术语“包含”和“包括”是开放式的,即,包含除权利要求中此术语之后所列举的那些之外的元素的***、装置、制品或过程仍然被认为落入该权利要求的范围内。此外,在随附权利要求中,术语“第一”、“第二”和“第三”等仅用于作为标记,而不意为对它们的物体强加数值要求。
在各种实例中,本文描述的部件、控制器、处理器、单元、引擎或表可包含被存储在物理装置上的物理电路***或固件等。如本文所使用的,“处理器”表示任何类型的计算电路,诸如但不限于微处理器、微控制器、图形处理器、数字信号处理器(DSP)或任何其它类型的处理器或处理电路,包含一组处理器或多核装置。
在本文件中使用的术语“水平”被定义为平行于衬底的常规平面或表面的平面,诸如在晶片或裸片下面的平面,而与衬底在任何时间点的实际取向无关。术语“垂直”指代与以上定义的水平方向垂直的方向。介词(诸如“在......上”、“在......上方”和“在......下”)是关于在衬底的顶部或暴露表面上的常规平面或表面定义的,而与衬底的取向无关;并且“在......上”旨在建议一个结构相对于另一结构的直接接触(在没有相反明确指示的情况下),该结构位于所述另一结构“之上”;术语“在......上方”和“在......下”明确地旨在标识结构(或层、特征等)的相对布置,其明确地包含但不限于经标识结构之间的直接接触,除非像这样特别地标识。类似地,术语“在......上方”和“在......下”不限于水平取向,因为如果在某个时间点结构是所讨论的构造的最外部分,则该结构可在所参考的结构“上方”,即使此结构相对于所参考的结构垂直地延伸,而不是在水平取向上。
本文使用的术语“晶片”和“衬底”通常指代在其上形成集成电路的任何结构,并且也指代在集成电路制造的各个阶段期间的此些结构。因此,以下详细描述不应理解为限制性的,并且各种实施例的范围仅由随附权利要求以及此些权利要求所赋予的等效物的全部范围来限定。
根据本公开且在本文描述的各种实施例包含利用存储器单元的垂直结构(例如,存储器单元的NAND串)的存储器。如本文所使用,将相对于其上形成存储器单元的衬底的表面采用方向形容词(即,将垂直结构看作为远离衬底表面延伸,将垂直结构的底端看作为最接近衬底表面的末端,并且将垂直结构的顶端看作为最远离衬底表面的末端)。
如本文所使用,方向形容词(诸如水平、垂直、法向、平行、垂直等)可指代相对取向,并且不旨在要求严格地遵守特定的几何特性,除非另外指出。举例来说,如本文所使用,垂直结构不需要严格地垂直于衬底的表面,而是可替代地大致垂直于衬底的表面,并且可与衬底的表面形成锐角(例如,在60度和120度之间等)。
在本文所描述的一些实施例中,可将不同的掺杂配置应用于源极侧选择栅极(SGS)、控制栅极(CG)和漏极侧选择栅极(SGD),在此实例中,其中的每一者可由多晶硅形成或至少包含多晶硅,结果使得这些层(例如,多晶硅等)在暴露于蚀刻溶液时可具有不同的蚀刻速率。例如,在3D半导体装置中形成单片柱的工艺中,SGS和CG可形成凹陷,而SGD可保持较少的凹陷或者甚至不凹陷。因此,通过使用蚀刻溶液(例如,四甲基氢氧化铵(TMCH)),这些掺杂配置可以能够选择性地蚀刻到3D半导体装置中的不同层(例如,SGS、CG和SGD)中。
如本文所使用,操作存储器单元包含从存储器单元读、写入存储器单元或擦除存储器单元。将存储器单元置于预期状态的操作在本文被称为“编程”,并且可包含写入存储器单元或从存储器单元擦除两者(例如,存储器单元可被编程到经擦除状态)。
根据本公开的一或多个实施例,位于存储器装置内部或外部的存储器控制器(例如,处理器、控制器、固件等)能够确定(例如,选择、设定、调整、计算、改变、清除、传送、调适、推导、定义、利用、修改、应用等)磨损周期的量或磨损状态(例如,记录磨损周期、在存储器装置的操作发生时对其进行计数、跟踪存储器装置起始的操作、评估对应于磨损状态的存储器装置特性等)。
根据本公开的一或多个实施例,存储器存取装置可经配置以在每一存储器操作的情况下向存储器装置提供磨损周期信息。存储器装置控制电路***(例如,控制逻辑)可经编程以补偿对应于磨损周期信息的存储器装置性能变化。存储器装置可接收磨损周期信息并响应于磨损周期信息确定一或多个操作参数(例如,值、特性)。
应当理解,当元件被称为在另一元件“之上”、“连接到”另一元件或与另一元件“耦合”时,它可直接在另一元件之上、与另一元件连接或耦合,或者可存在中间元件。相反,当元件被称为“直接”在另一元件“之上”、“直接连接到”另一元件或与另一元件“直接耦合”时,不存在中间元件或层。如果在附图中将两个元件展示为用线连接,则两个元件可耦合或直接耦合,除非另有指示。
本文描述的方法实例可至少部分地由机器或计算机实施。一些实例可包含用指令编码的计算机可读介质或机器可读介质,所述指令可操作用以将电子装置配置为执行以上实例中描述的方法。此些方法的实施方案可包含代码,诸如微代码、汇编语言代码、高级语言代码等。此代码可包含用于执行各种方法的计算机可读指令。代码可形成计算机程序产品的部分。进一步地,代码可被有形地存储在一或多种易失性计算机可读介质或非易失性有形计算机可读介质上,诸如在执行期间或在其它时间。这些有形计算机可读介质的实例可包含但不限于硬盘、可移动磁盘、可移动光盘(例如,压缩盘和数字视频盘)、磁带盒、存储卡或棒、随机存取存储器(RAM)、只读存储器(ROM)、固态驱动器(SSD)、通用闪速存储(UFS)装置、嵌入式MMC(eMMC)装置等。
以上描述旨在是说明性的,而不是限制性的。例如,上述实例(或其一或多个方面)可彼此组合使用。可使用其它实施例,诸如所属领域的普通技术人员在阅读以上描述时可使用的。应当理解的是,它并不用于解释或限制权利要求的范围或含义。此外,在以上详细描述中,各种特征可被组合在一起以使本公开流线化。这不应当被解释为意味着未经要求保护的公开特征对于任何权利要求是必不可少的。相反,本发明主题可在于少于特定公开实施例的所有特征。因此,随附权利要求由此被并入详细说明中,其中每一权利要求独立地作为单独的实施例,并且预期此些实施例可以以各种组合或置换而彼此组合。本发明的范围应当参考随附权利要求以及此些权利要求所赋予的等效物的全部范围来确定。
Claims (24)
1.一种实施经混淆逻辑到物理L2P映射管理的存储器装置,所述存储器装置包括:
处理电路***;及
包含指令的存储装置,当由所述处理电路***执行时,所述指令将所述处理电路***配置为:
跟踪存储器装置中的活动,所述活动对应于所述存储器装置的L2P映射的经混淆区域,所述L2P映射被存储在所述存储器装置上;
更新所述经混淆区域与由所述活动导致的L2P映射之间的不连续性记录;
标识空闲周期;
基于所述不连续性记录中的不连续性水平对所述经混淆区域进行排序;且
响应于所述空闲周期,刷新基于所述排序从所述经混淆区域选择的经混淆区域。
2.根据权利要求1所述的存储器装置,其中为了刷新所述经混淆区域,所述指令将所述处理电路***配置为:
混淆当前L2P映射的子区域,以创建新的经混淆子区域;且
存储所述新的经混淆子区域来代替所述经混淆区域的相应子区域。
3.根据权利要求1所述的存储器装置,其中所述不连续性记录跟踪当前L2P映射与由所述经混淆区域表示的L2P映射之间的偏差的计数。
4.根据权利要求3所述的存储器装置,其中为了更新所述不连续性记录,所述指令将所述处理电路***配置为响应于逻辑地址的写入或物理地址的变化而递增子区域的计数器。
5.根据权利要求3所述的存储器装置,其中所述不连续性记录是其中单元对应于经混淆区域的一部分且所述单元中的值指示所述部分是否已变化的映射。
6.根据权利要求1所述的存储器装置,其中为了更新所述经混淆区域与L2P映射之间的所述不连续性记录,所述指令将所述处理电路***配置为跟踪所述不连续性的变化速率;且
其中为了基于所述不连续性水平对所述经混淆区域进行排序,所述指令将所述处理电路***配置为基于所述速率而应用逆排序。
7.根据权利要求1所述的存储器装置,其中所述指令将所述处理电路***配置为维持关于所述经混淆区域的主机活动的记录;
其中为了对所述经混淆区域进行排序,所述指令将所述处理电路***配置为使用所述主机活动。
8.根据权利要求7所述的存储器装置,其中为了维持主机活动的记录,所述指令将所述处理电路***配置为跟踪所述主机具有所述经混淆区域中的哪一者。
9.一种用于经混淆逻辑到物理L2P映射管理的方法,所述方法包括:
跟踪存储器装置中的活动,所述活动对应于所述存储器装置的L2P映射的经混淆区域,所述L2P映射被存储在所述存储器装置上;
更新所述经混淆区域与由所述活动导致的L2P映射之间的不连续性记录;
标识空闲周期;
基于所述不连续性记录中的不连续性水平对所述经混淆区域进行排序;且
响应于所述空闲周期,刷新基于所述排序从所述经混淆区域选择的经混淆区域。
10.根据权利要求9所述的方法,其中刷新所述经混淆区域包含:
混淆当前L2P映射的子区域,以创建新的经混淆子区域;且
存储所述新的经混淆子区域来代替所述经混淆区域的相应子区域。
11.根据权利要求9所述的方法,其中所述不连续性记录跟踪当前L2P映射与由所述经混淆区域表示的L2P映射之间的偏差的计数。
12.根据权利要求11所述的方法,其中更新所述不连续性记录包含响应于逻辑地址的写入或物理地址的变化而递增子区域的计数器。
13.根据权利要求11所述的方法,其中所述不连续性记录是其中单元对应于经混淆区域的一部分且所述单元中的值指示所述部分是否已变化的映射。
14.根据权利要求9所述的方法,其中更新所述经混淆区域与L2P映射之间的所述不连续性记录包含跟踪所述不连续性的变化速率;且
其中基于所述不连续性水平对所述经混淆区域进行排序包含基于所述速率而应用逆排序。
15.根据权利要求9所述的方法,包括维持关于所述经混淆区域的主机活动的记录;
其中对所述经混淆区域进行排序包含使用所述主机活动。
16.根据权利要求15所述的方法,其中维持主机活动的记录包含跟踪所述主机具有所述经混淆区域中的哪一者。
17.一种机器可读介质,其包含用于实施经混淆逻辑到物理L2P映射管理的指令,当由处理电路***执行时,所述指令使得所述处理电路***执行包括以下项的操作:
跟踪存储器装置中的活动,所述活动对应于所述存储器装置的L2P映射的经混淆区域,所述L2P映射被存储在所述存储器装置上;
更新所述经混淆区域与由所述活动导致的L2P映射之间的不连续性记录;
标识空闲周期;
基于所述不连续性记录中的不连续性水平对所述经混淆区域进行排序;且
响应于所述空闲周期,刷新基于所述排序从所述经混淆区域选择的经混淆区域。
18.根据权利要求17所述的机器可读介质,其中刷新所述经混淆区域包含:
混淆当前L2P映射的子区域,以创建新的经混淆子区域;且
存储所述新的经混淆子区域来代替所述经混淆区域的相应子区域。
19.根据权利要求17所述的机器可读介质,其中所述不连续性记录跟踪当前L2P映射与由所述经混淆区域表示的L2P映射之间的偏差的计数。
20.根据权利要求19所述的机器可读介质,其中更新所述不连续性记录包含响应于逻辑地址的写入或物理地址的变化而递增子区域的计数器。
21.根据权利要求19所述的机器可读介质,其中所述不连续性记录是其中单元对应于经混淆区域的一部分且所述单元中的值指示所述部分是否已变化的映射。
22.根据权利要求17所述的机器可读介质,其中更新所述经混淆区域与L2P映射之间的所述不连续性记录包含跟踪所述不连续性的变化速率;且
其中基于所述不连续性水平对所述经混淆区域进行排序包含基于所述速率而应用逆排序。
23.根据权利要求17所述的机器可读介质,其中所述操作包括维持关于所述经混淆区域的主机活动的记录;
其中对所述经混淆区域进行排序包含使用所述主机活动。
24.根据权利要求23所述的机器可读介质,其中维持主机活动的记录包含跟踪所述主机具有所述经混淆区域中的哪一者。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/554,937 US11556481B2 (en) | 2019-08-29 | 2019-08-29 | Increased efficiency obfuscated logical-to-physical map management |
US16/554,937 | 2019-08-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112445721A true CN112445721A (zh) | 2021-03-05 |
CN112445721B CN112445721B (zh) | 2024-05-28 |
Family
ID=74679866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010888767.8A Active CN112445721B (zh) | 2019-08-29 | 2020-08-28 | 提高效率的经混淆逻辑到物理映射管理 |
Country Status (2)
Country | Link |
---|---|
US (3) | US11556481B2 (zh) |
CN (1) | CN112445721B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11775449B2 (en) | 2019-08-29 | 2023-10-03 | Lodestar Licensing Group, Llc | Increased efficiency obfuscated logical-to-physical map management |
CN116991757A (zh) * | 2023-09-26 | 2023-11-03 | 四川云海芯科微电子科技有限公司 | 一种l2p表增量数据压缩方法及*** |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11580017B2 (en) * | 2020-04-27 | 2023-02-14 | Silicon Motion, Inc. | Method and apparatus and computer program product for preparing logical-to-physical mapping information for host side |
US11994985B2 (en) * | 2022-10-04 | 2024-05-28 | Silicon Motion, Inc. | Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information encoding and decoding |
US11995349B2 (en) * | 2022-10-04 | 2024-05-28 | Silicon Motion, Inc. | Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information encoding and decoding |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150074329A1 (en) * | 2013-09-09 | 2015-03-12 | Kabushiki Kaisha Toshiba | Information processing device |
CN104641356A (zh) * | 2012-09-14 | 2015-05-20 | 美光科技公司 | 地址映射 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8356184B1 (en) * | 2009-06-25 | 2013-01-15 | Western Digital Technologies, Inc. | Data storage device comprising a secure processor for maintaining plaintext access to an LBA table |
US9164888B2 (en) * | 2012-12-10 | 2015-10-20 | Google Inc. | Using a logical to physical map for direct user space communication with a data storage device |
US9442670B2 (en) * | 2013-09-03 | 2016-09-13 | Sandisk Technologies Llc | Method and system for rebalancing data stored in flash memory devices |
KR102567108B1 (ko) * | 2018-11-05 | 2023-08-14 | 삼성전자주식회사 | 데이터 스토리지 디바이스 및 데이터 스토리지 시스템 |
US11481336B2 (en) * | 2019-08-19 | 2022-10-25 | Micron Technology, Inc. | Host assisted operations in managed memory devices |
US11138108B2 (en) * | 2019-08-22 | 2021-10-05 | Micron Technology, Inc. | Logical-to-physical map synchronization in a memory device |
US11556481B2 (en) | 2019-08-29 | 2023-01-17 | Micron Technology, Inc. | Increased efficiency obfuscated logical-to-physical map management |
-
2019
- 2019-08-29 US US16/554,937 patent/US11556481B2/en active Active
-
2020
- 2020-08-28 CN CN202010888767.8A patent/CN112445721B/zh active Active
-
2023
- 2023-01-16 US US18/097,429 patent/US11775449B2/en active Active
- 2023-10-03 US US18/480,368 patent/US20240037044A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104641356A (zh) * | 2012-09-14 | 2015-05-20 | 美光科技公司 | 地址映射 |
US20150074329A1 (en) * | 2013-09-09 | 2015-03-12 | Kabushiki Kaisha Toshiba | Information processing device |
Non-Patent Citations (1)
Title |
---|
朱念好;周玉洁;: "Flash存储管理的研究与设计", 计算机工程与设计, no. 03 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11775449B2 (en) | 2019-08-29 | 2023-10-03 | Lodestar Licensing Group, Llc | Increased efficiency obfuscated logical-to-physical map management |
CN116991757A (zh) * | 2023-09-26 | 2023-11-03 | 四川云海芯科微电子科技有限公司 | 一种l2p表增量数据压缩方法及*** |
CN116991757B (zh) * | 2023-09-26 | 2023-12-15 | 四川云海芯科微电子科技有限公司 | 一种l2p表增量数据压缩方法及*** |
Also Published As
Publication number | Publication date |
---|---|
US11556481B2 (en) | 2023-01-17 |
US20210064548A1 (en) | 2021-03-04 |
US11775449B2 (en) | 2023-10-03 |
US20230214332A1 (en) | 2023-07-06 |
CN112445721B (zh) | 2024-05-28 |
US20240037044A1 (en) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11983106B2 (en) | Host accelerated operations in managed NAND devices | |
US10936250B2 (en) | Host accelerated operations in managed NAND devices | |
US11914513B2 (en) | Logical-to-physical map synchronization in a memory device | |
US11704254B2 (en) | Host side caching security for flash memory | |
US11775449B2 (en) | Increased efficiency obfuscated logical-to-physical map management | |
US11341050B2 (en) | Secure logical-to-physical caching | |
CN112395211B (zh) | 受管理存储器装置中的主机辅助操作 | |
US11809311B2 (en) | Host-based flash memory maintenance techniques | |
CN113196245A (zh) | 主机常驻转换层有效性检查技术 | |
US20240256468A1 (en) | Host assisted operations in managed memory devices |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230903 Address after: Illinois, America Applicant after: North Star Franchise Group Co.,Ltd. Address before: Idaho Applicant before: MICRON TECHNOLOGY, Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |