受管理存储器装置中的主机辅助操作
文献发布时间:2023-06-19 09:58:59
技术领域
本申请案涉及存储器装置,特定来说,涉及受管理存储器装置中的主机辅助操作。
背景技术
存储器装置通常提供为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。
易失性存储器需要电力来维持其数据,且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)或同步动态随机存取存储器(SDRAM)等等。
非易失性存储器可在不被供电时保存所存储的数据,且包含闪存存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、静态RAM(SRAM)、可擦除可编程ROM(EPROM)、电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)、磁阻式随机存取存储器(MRAM)或3D XPoint
存储器通常是由虚拟逻辑块和物理块描述和组织。虽然物理块是指存储器装置中的物理结构(例如,方位)(例如,其地址),但逻辑块在概念上类似,其为物理块提供柔性接口。因此,举例来说,如果存储器装置将数据从一个物理块移动到另一物理块,例如以对第一物理块进行垃圾收集,那么可在不中断经由逻辑块存取数据的主机操作的情况下传送从第一物理块到对应逻辑块的关系。物理块与逻辑块之间的关系通常维持在数据结构中,所述数据结构可以被称作逻辑到物理(L2P)映射(例如,表、列表、字典或其它数据结构)。随着存储器装置的物理结构的大小和复杂性增加,通常,L2P映射的的大小和复杂性也会增加。这可为当存储器装置控制器具有管理大L2P映射的有限能力时出现的问题。
发明内容
本申请案的一个方面涉及一种实施被混淆逻辑到物理(L2P)映射的存储器装置,所述存储器装置包括:处理电路系统;和存储装置,其包含指令,所述指令当由所述处理电路系统执行时配置所述处理电路系统进行以下操作:执行引起存储器装置的与逻辑地址对应的物理地址发生改变的命令;将所述改变混淆为用于所述存储器装置的被混淆L2P映射的部分;将所述改变写入到所述存储器装置上的存储装置;和将所述改变从所述存储装置提供到主机。
本申请案的另一方面涉及一种用于被混淆逻辑到物理(L2P)映射的方法,所述方法包括:执行引起存储器装置的与逻辑地址对应的物理地址发生改变的命令;将所述改变混淆为用于所述存储器装置的被混淆L2P映射的部分;将所述改变写入到所述存储器装置上的存储装置;和将所述改变从所述存储装置提供到主机。
本申请案的又一方面涉及一种包含用以实施被混淆逻辑到物理(L2P)映射的指令的机器可读媒体,所述指令当由处理电路系统执行时致使所述处理电路系统执行包括以下操作的操作:执行引起存储器装置的与逻辑地址对应的物理地址发生改变的命令;将所述改变混淆为用于所述存储器装置的被混淆L2P映射的部分;将所述改变写入到所述存储器装置上的存储装置;和将所述改变从所述存储装置提供到主机。
附图说明
在不一定按比例绘制的图式中,相似标号可在不同视图中描述类似组件。具有不同字母后缀的相似标号可表示类似组件的不同例子。图式借助于实例而非限制性地总体上说明本文件中所论述的各种实施例。
图1说明包含存储器装置的环境的实例。
图2说明通过由主机高速缓存的逻辑到物理表执行读取请求的实例。
图3说明执行写入请求并且刷新物理地址的实例。
图4说明混淆物理地址的实例。
图5说明穿过用于高效的被混淆逻辑到物理映射的系统的实例的数据流。
图6说明由主机高速缓存的逻辑到物理表映射的实例。
图7说明跟踪被混淆区以进行更新的数据结构的实例。
图8说明用于高效的被混淆逻辑到物理映射的方法的实例的流程图。
图9是说明可在上面实施一或多个实施例的机器的实例的框图。
具体实施方式
下文描述用以当共享L2P映射时有效地保护存储器装置免受主机干扰的技术。在以下实例中,寻求主机帮助管理用于多个存储器装置操作(例如,读取、写入等)的L2P映射。为取得主机辅助,与主机共享用于存储器装置的L2P映射。然而,这可能会给存储器装置带来一些安全性问题。下文描述的装置、系统和技术以空间和时间高效方式解决这些问题中的一些问题。
存储器装置包含各个存储器裸片,所述存储器裸片可以例如包含存储区,所述存储区包括一或多个存储器单元阵列,从而实现一种(或多种)所选存储技术。这类存储器裸片通常包含用于操作存储器阵列的支持电路系统。有时通常被称为“受管理存储器装置”的其它实例包含与被配置成控制一或多个存储器裸片的操作的控制器功能性相关联的一或多个存储器裸片的组合件。这类控制器功能性可以简化与作为如本文稍后所论述的“主机”的外部装置的互操作性。在这类受管理存储器装置中,控制器功能性可以在也合并了存储器阵列的一或多个裸片上或在单独的裸片上实现。在其它实例中,一或多个存储器装置可以与控制器功能性组合以形成固态驱动器(SSD)存储卷。
在实施被称为“受管理NAND”装置的NAND快闪存储器单元的受管理存储器装置的实例中描述了本公开的实施例。然而,这些实例不限制本公开的范围,本公开的范围可以其它形式的存储器装置和/或以其它形式的存储技术来实现。
NOR或NAND架构半导体存储器阵列中的每个快闪存储器单元可以个别地或共同地编程到一或数个经编程状态。举例来说,单层级单元(SLC)可表示两个经编程状态(例如,1或0)中的一个,从而表示一个数据位。快闪存储器单元也可表示大于两个的经编程状态,从而允许制造较高密度的存储器而不增加存储器单元的数目,这是因为每一单元可表示大于一个的二进制数字(例如,大于一个位)。这类单元可被称为多状态存储器单元、多数字单元或多层级单元(MLC)。在某些实例中,MLC可指代每单元可存储两个数据位(例如,四个经编程状态中的一个)的存储器单元,三层级单元(TLC)可指代每单元可存储三个数据位(例如,八个经编程状态中的一个)的存储器单元,且四层级单元(QLC)可每单元存储四个数据位。MLC在本文中在其更广泛的上下文中用以指代可以在每单元存储多于一个数据位(即,可以表示大于两个经编程状态)的任何存储器单元。
可以根据公认的行业标准来配置和操作受管理存储器装置。举例来说,经管理NAND装置可以是(作为非限制性实例)通用快闪存储(UFS
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存储器装置,例如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接口、eMMC
存储器控制器115可从主机105接收指令,并且可与存储器阵列120通信,以便将数据传送到存储器阵列120的存储器单元、平面、子块、块或页中的一或多个(例如,写入或擦除)或传送来自存储器阵列120的存储器单元、平面、子块、块或页中的一或多个的数据(例如,读取)。存储器控制器115可尤其包含电路系统或固件,包含一或多个组件或集成电路。举例来说,存储器控制器115可以包含一或多个存储器控制单元、电路或组件,其被配置成控制跨越存储器阵列120的存取以及提供主机105与存储器装置110之间的转换层。
关于转换,存储器控制器115可实施用于由主机高速缓存的L2P中的高效的被混淆L2P映射的技术。在最高层级,存储器控制器115在触发对主机105L2P表的更新的事件之前预计算L2P表混淆。这类事件可包含由主机105发出的对刷新L2P表区的请求,或例如,由于控制器115执行引起NAND阵列120的与逻辑地址对应的物理地址发生改变的命令而致使控制器115递送的自动更新。更新逻辑块或移动逻辑块(例如,经由耗损均衡或垃圾收集)的任何命令通常造成对物理地址的改变。
因此,控制器115被布置成将所述改变混淆为用于存储器装置110的被混淆L2P表的部分。在实例中,使所述改变混淆包含通过所述改变更新被混淆L2P表的区的子区并且接着使子区再混淆。对区的这类递增更新可实现对L2P映射的仅那些对由主机高速缓存的L2P操作具有最大影响的元素的选择性处理。在实例中,区是被混淆L2P表的可被主机根据主机和存储器装置之间的通信协议请求的片段。因此,区的大小是基于通信协议,例如UFS。
如上所述,所述混淆使得主机105无法映射NAND阵列120的物理块。因此,举例来说,所述混淆可为加密。所述混淆还可包含存储器控制器115可借以实施数据完整性(例如,错误校正码(ECC))或阻止重放攻击(例如,新鲜度值)的其它特征。
所述混淆可由控制器115上的专用硬件组件实施。这类组件可实施加密技术,例如skipjack加密法或blowfish加密法,或其它块层级编码器。在实例中,块是八个字节。在实例中,块是十六个字节。在实例中,区的子区的大小设定成匹配混淆分量的块大小。
在实例中,改变的混淆(操作810)是响应于存储器装置的空闲时段而执行。此处,空闲时段是由存储器装置110的工作负载定义,例如由命令队列测量。当工作负载低于阈值,例如命令队列中的命令数目或命令到达速率低于阈值时,存储器装置110空闲。使用空闲时段预计算被混淆L2P表更新会避免当使用存储器装置110时对用户体验的影响。
在实例中,对改变的混淆是响应于被混淆L2P表的子区中发生的改变超过改变阈值而执行。此处,引入延迟,其中并非对子区的每个改变都会引起刷新对应的被混淆L2P映射。因此,改变可累积直到达到阈值。这可通过针对被混淆L2P映射和实际逻辑到物理地址映射之间的类似同步性启用较少L2P表混淆来提高效率。在实例中,方法800扩展到包含维持有效位或脏位的映射以跟踪对子区的改变。此映射使得存储器控制器115能够评估关于子区“脏”程度的度量。这些度量接着可用以将在空闲时段期间进行更新的子区进行优先级排序。通过首先处理最脏子区,存储器控制器115可在通过其空闲时间使被混淆L2P区保持最新方面实现最大影响。
存储器控制器115被布置成将所述改变写入到存储器装置110上的存储装置,例如NAND阵列120。此存储装置不与控制器115的SRAM或DRAM工作存储器混淆。改变的经更新混淆的所存储副本被高速缓存以供在未来使用。
存储器控制器115被布置成将所述改变从存储装置提供到主机105。此处,代替如先前进行的一样实时地使L2P表区混淆,存储器控制器115仅从存储装置读取预计算的被混淆区。在实例中,存储器控制器115被布置成响应于来自主机105的对L2P映射的请求而将所述改变提供到主机105。在实例中,控制器115被布置成响应于在主机105通电之后,主机105建立与存储器装置105的通信而将改变提供到主机105。此开机是否启动(on-boot)设施可极大地增加主机150的开机响应度,从而在不影响用户体验的情况下实现用于主机105的更积极的电力节约技术。
虽然以上实例是在存储器控制器115将L2P映射的明文版本和L2P映射的被混淆版本维持在存储装置中的上下文中,但存在另一可能性;仅存储L2P映射的被混淆版本。如上所述,并且如下文在图2和3中说明,存储器控制器115通常可不将所有L2P映射都保持于其工作存储器中。而是,存储器控制器115将L2P映射表的部分从存储装置调换到工作(例如,易失性)存储器中以执行操作,例如读取、写入、耗损均衡、垃圾收集等。
代替对L2P映射的明文版本执行L2P区调换,在实例中,存储器控制器115被布置成在调换程序期间,将L2P映射的被混淆版本去混淆(例如,解密)。这使得存储器控制器115能够将单个L2P映射维持于存储装置中,同时仍将预计算的被混淆L2P表区的有效性提供给主机105。因此,存储器装置110不将L2P表的被去混淆版本维持于存储装置中。通过替换存储装置中的L2P映射的明文版本,在仍提供预计算的被混淆L2P表区的益处的同时实现存储减小。此外,因为被混淆L2P表供存储器控制器115直接使用,所以被混淆L2P映射在存储器控制器115不进行同步明文L2P表和被混淆L2P表的额外工作的情况下将是最新的。
上文所描述的存储器控制器115布置可具有数个益处。这些益处中的一些包含安全性、时延减小、电力节约和主机启动时间。关于安全性,主机L2P数据可被窜改,从而允许攻击者存取不属于其被指配逻辑地址的数据。当存储器装置110仅将被混淆L2P映射存储于NAND阵列120中时,对攻击者存取受保护物理位置的障碍较多。
关于处理量、时延或服务质量(QOS),主机105可请求多个L2P映射而无暂停,以等待赶上实时混淆。确切地说,被混淆区的高速缓存的版本可使得主机105赶上与任何读取一样快速。此效率可产生一到四毫秒或更多的时间节约。
关于电力节约,存储装置的多个区可能大多是只读的。为节约电力,主机105或存储器装置110可频繁进入功率降低状态(例如,进入睡眠)。这类功率降低状态通常引起主机105丢失L2P映射的副本,如上所述,此问题通过仅从存储装置读取高速缓存副本来得以缓解。
存储器管理器125可尤其包含电路系统或固件,例如与各种存储器管理功能相关联的若干组件或集成电路。出于当前描述的目的,将在NAND存储器的背景下描述实例存储器操作和管理功能。所属领域的技术人员将认识到,其它形式的非易失性存储器可具有类似的存储器操作或管理功能。这类NAND管理功能包含损耗均衡(例如,垃圾收集或回收)、错误检测或校正、块引退,或一或多个其它存储器管理功能。存储器管理器125可将主机命令(例如,从主机接收到的命令)解析或格式化为装置命令(例如,与存储器阵列的操作相关联的命令等),或产生用于阵列控制器135或存储器装置110的一或多个其它组件的装置命令(例如,以实现各种存储器管理功能)。
存储器管理器125可包含一组管理表130,其被配置成维持与存储器装置110的一或多个组件相关联的各种信息(例如,与耦合到存储器控制器115的存储器阵列或一或多个存储单元相关联的各种信息)。举例来说,管理表130可以包含关于耦合到存储器控制器115的一或多个存储器单元块的块年龄、块擦除计数、错误历史或一或多个错误计数(例如,写入操作错误计数、读取位错误计数、读取操作错误计数、擦除错误计数等)的信息。在某些实例中,如果针对错误计数中的一或多个检测到的错误的数目高于阈值,则位错误可称为不可校正位错误。管理表130可以维持可校正或不可校正位错误的计数等。在实例中,管理表103可以包含转换表或L2P映射。
阵列控制器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读取,且成块地擦除。然而,可视需要对存储器单元的更大或更小群组执行一或多个存储器操作(例如,读取、写入、擦除等)。NAND存储器装置110的数据传送大小通常被称作页,而主机的数据传送大小通常被称作扇区。
虽然数据页可包含数个字节的用户数据(例如,包含数个数据扇区的数据有效负载)和其对应的元数据,但页的大小经常仅指代用以存储用户数据的字节的数目。作为一实例,具有4KB的页大小的数据页可包含4KB的用户数据(例如,假定扇区大小为512B的8个扇区)以及对应于用户数据的数个字节(例如,32B、54B、224B等)的元数据,例如完整性数据(例如,错误检测或校正码数据)、地址数据(例如,逻辑地址数据等)或与用户数据相关联的其它元数据。
不同类型的存储器单元或存储器阵列120可提供不同的页大小,或可能需要与其相关联的不同量的元数据。举例来说,不同存储器装置类型可具有不同位错误率,这可导致必需要不同量的元数据来确保数据页的完整性(例如,具有较高位错误率的存储器装置可要求比具有较低位错误率的存储器装置更多字节的错误校正码数据)。举例来说,多层级单元(MLC)NAND快闪装置可具有比对应单层级单元(SLC)NAND快闪装置高的位错误率。因此,相比于对应SLC装置,MLC装置可能需要更多的元数据字节用于错误数据。
图2说明通过由主机高速缓存的L2P表225执行读取请求的实例。主机210可操作为上文关于图1所描述的主机105,且存储器装置205可操作为也在上文关于图1所描述的存储器装置110。如所说明,主机210包含用于L2P映射的转换表225的完全可用的副本。存储器装置205包含同一转换表220,不同之处在于转换表220的仅一部分可用于存储器装置205。转换表220的加阴影的映射当前不可用于存储器装置110(例如,不加载到存储器装置110的RAM中),而是存储于存储器装置205的较慢存储装置(例如,NAND单元)中。
如所说明,主机210正在发出读取请求215,其包含参考转换表225确定的逻辑地址(LA)和物理地址(PA)两者。令牌可用以验证请求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’。此改变反映在转换表320中元素340处。然而,由主机310保持的转换表325的对应元素350不会反映正确映射(例如,转换表325过期)。为校正此,存储器装置305将具有经校正条目345的重复转换表335经由响应于写入请求产生的状态消息315提供到主机310。主机310接着可更新其转换表325以用于未来的请求。归因于状态消息中通常有限的空间(例如,在一些状态消息中仅可提交一个或两个更新),可在具有用于状态消息的空间的每一通信处将状态列队和递送。举例来说,在命令的无错误完成上,通常不使用状态数据,且因此所述状态数据可将更新状态消息携带到主机。
如上所述,存储器装置305可产生对应于已更新条目340的令牌。此令牌当例如不包含在转换表335中时,还在状态请求中发射。在实例中,存储器装置305的计数器330用于产生令牌。如上所述,这可抵御令牌方案的重放攻击。
还如上所述,因为主机的映射信息不是现用的,所以映射可用以直接确定是否应使用传统的L2P表查找。
图4说明混淆物理地址的实例。主机410可操作为上文分别关于图1-3所描述的主机105、主机210或主机310,且存储器装置405可操作为也在上文分别关于图1-3所描述的存储器装置110、存储器装置205或存储器装置305。此处,存储器装置405的转换表420包含内部物理地址到逻辑地址映射,且主机410的转换表425包含外部物理地址到同一逻辑地址映射。存储器装置405经由状态消息415或其它存储器装置到主机410通信传送表435中的外部物理地址映射。如上所述,为避免查找局部转换表420,存储器装置405可使用外部物理地址直接导出内部物理地址。用以实现此直接导出的技术用存储器装置405保持的密钥430将表420的内部物理地址对称地加密。经加密地址在更新表435中传送到主机410。主机410从不解密外部物理地址,而是根据由主机高速缓存的L2P映射技术使用其指示操作涉及哪个物理地址。存储器装置405接着使用密钥430解密请求(例如,读取或写入请求)中的外部物理地址,外部物理地址的经解密形式是内部物理地址。如上所述,加密整个物理地址有效负载(例如,物理地址和控制数据)可提供更佳结果。这可因为多种安全加密技术具有最小的八字节块大小而发生。
此技术可随时间用种子、不同密钥等增强以提供用于同一内部物理地址的不同外部地址。如果内部导出元素(例如,密钥、序号、随机种子等)与主机转换表425同步,那么存储器装置405可直接从主机405提供的外部物理地址导出内部物理地址。因此,如所说明,表420中的逻辑地址‘C’的内部物理地址是‘CC’。地址‘CC’的先前加密产生如所示针对表425中的逻辑地址‘C’的‘KK’。然而,导出元素的改变(例如,改变的密钥、新种子等)现在引起‘CC’加密为用于逻辑要素‘C’的‘WW’,所述逻辑要素‘C’正在表435中的状态消息415中传送到主机405。一旦接收到,表435将供主机405用以更新其自身的表425以供用于未来的请求。
图5说明穿过用于高效的被混淆逻辑到物理映射的系统的实例的数据流。主机505可操作为上文分别关于图1-4所描述的主机105、主机210、主机310或主机410,且存储器装置510可操作为也在上文分别关于图1-4所描述的存储器装置110、存储器装置205、存储器装置305或存储器装置405。如所说明,主机505具有托管L2P区映射的DRAM缓冲器。DRAM的使用不是必需的,而是可能归因于DRAM与SRAM等相比可接受的性能和减小的成本。当主机505向存储器装置510请求逻辑块地址(LBA)时,存储器装置510咨询主机已经检查过的区列表和区。此信息用以更新子区有效映射和脏映射(数据路径515),其稍后可用以更新L2P映射的被混淆版本。数据路径525说明存储器装置510使用加密块520混淆来自L2P高速缓存器的L2P映射的至少一子区并且将结果存储于NAND阵列530中。
如关于图1所提及,存储器装置可被配置成仅将子区L2P映射的被混淆版本存储于NAND阵列530中。此处,加密块520提供去混淆设施以为L2P高速缓存器加载固件正在使用的子区的明文版本。
对L2P映射的匹配加密组件520的片段执行混淆使得L2P映射的混淆能够按需要暂停和恢复。使用有效映射和脏映射,存储器装置510可优先化正在运行的片段,从而通过保持主机的区映射为现用的来提供对主机505效率的较大影响。数据流535说明借以满足来自NAND阵列530的LBA的原始主机505请求的路径。
使用本文中所描述的技术,获得数个益处。举例来说,当例如,L2P映射以被混淆形式存储时,存储器装置510的安全性增加。此外,经由NAND阵列530中被混淆L2P映射的预计算和高速缓存达成将L2P映射提供到主机505的较低时延。也可通过将预计算的被混淆映射从NAND阵列530发送到主机来实现用于主机505的更快启动时间。
主机505也可得益于使较少DRAM致力于L2P映射,这是因为被混淆L2P更快地从存储器装置510递送到主机505。
图6说明主机L2P表映射605的实例。映射605具有包含群组识别(例如,顶部的方框)和现用性指示(底部的方框)的条目。当实施为位图(如所示)时,位的索引是群组识别符且所述位指示群组是否是现用的。在实例中,零指示现用,而一指示群组不是现用的。群组或区610参考例如物理块615上的逻辑地址集。如所说明,逻辑地址中的一些仍是现用的(例如,指向有效页),而其它逻辑地址已经改变(例如,其同时指向有效页,但现在所述页对于所述逻辑地址不再有效)。因此,主机的L2P表不是现用的。如果区610中的任何逻辑地址在主机的L2P表中不是现用的,那么整个区标记为不现用。可在不同实例中使用不同区描绘。在实例中,每一区对应于单个逻辑地址。在实例中,每一区对应于不在同一块上的多个(例如,四个)逻辑地址。
图7说明跟踪被混淆区以进行更新的数据结构的实例。所说明的实例为例如区和子区的多种特征提供一些额外实例大小。
区列表是跟踪具有由主机或应由主机检查映射的区的结构。子区映射存储于NAND阵列的非易失性存储中。子区脏位图和子区有效性映射也可存储于NAND阵列中。
被混淆L2P映射在产生(例如,被混淆或加密)后发送到主机以存储于其工作存储器(例如,DRAM)中。跟踪子区有效性是用于稍后同步,例如在从睡眠唤醒之后用于同步。如果L2P映射仅略微位无效或脏(例如,低于阈值),那么其仍可适用于发送到主机且因此不需要重新生成。这在保持被混淆映射的效应最小时可节省一些能量。
图8说明用于高效的被混淆逻辑到物理映射的方法800的实例的流程图。方法800的操作是由计算硬件执行。这类计算硬件的实例可包含上文关于图1所描述的存储器控制器115或存储器装置110的其它处理电路系统、其它计算机组件,例如外部存储器控制器。
在操作805处,执行引起关于存储器装置的与逻辑地址对应的物理地址发生改变的命令。如上所述,因为NAND单元通常无法现场更新,所以针对逻辑地址对逻辑块的大部分更新引起对应物理地址的改变。
在操作810处,将所述改变混淆为用于存储器装置的被混淆L2P表的部分。在实例中,混淆所述改变包含通过所述改变更新被混淆L2P表的区的子区并且再混淆所述子区。在实例中,区是被混淆L2P表的主机可根据主机和存储器装置之间的通信协议请求的片段。在实例中,子区是可通过存储器装置混淆的最小位数。举例来说,如果所述混淆是通过八位块的块加密,那么子区是区的八位片段。
在实例中,混淆所述改变(操作810)是响应于存储器装置的空闲时段而执行。在实例中,混淆所述改变是响应于被混淆L2P表的子区中发生的改变超过改变阈值而执行。在实例中,方法800扩展到包含维持有效位或脏位的映射跟踪对子区的改变。此映射使得NAND控制器能够评估关于子区“脏”程度的度量。这些度量接着可用以将在空闲时段期间进行更新的子区进行优先级排序。通过首先处理最脏子区,控制器可在通过其具有的空闲时间将被混淆L2P区保持最新方面达成最大影响。
在操作815处,将改变写入到存储器装置上的存储装置。此处存储装置是NAND阵列,或存储器装置的与供控制器使用的SRAM缓冲器相反的其它非易失性组件。
在操作820处,将所述改变从存储装置提供给主机。因此,代替实时地混淆L2P表区,控制器仅提供预计算的混淆区。在实例中,将改变提供给主机是响应于来自主机的对L2P映射的请求而执行。在实例中,将改变提供给主机是响应于在主机通电之后,主机建立与存储器装置的通信而执行。此开机是否启动(on-boot)设施可极大地增加主机的开机响应度,从而在不影响用户体验的情况下实现用于主机的更积极的电力节约技术。
在实例中,方法800可扩展到包含将L2P表的从NAND阵列到易失性存储器的部分去混淆以对存储器装置执行操作。在实例中,由控制器执行的操作是读取、写入、耗损均衡或垃圾收集中的一个,其中存储器装置不将L2P表的被去混淆版本维持于NAND阵列中。此处,被混淆L2P表替换明文L2P表用于NAND操作。这使得L2P表消耗的存储量减小,且同时仍提供预计算的被混淆L2P表区的益处。此外,因为控制器直接使用被混淆L2P表,所以其在无需同步明文L2P表和被混淆L2P表的额外处理的情况下就是最新的。
图9说明其上可执行本文中论述的技术(例如,方法)中的任何一或多种的实例机器900的框图。在替代性实施例中,机器900可操作为独立装置或可连接(例如,联网)到其它机器。在联网部署中,机器900可在服务器-客户端网络环境中以服务器机器、客户端机器或这两者的容量操作。在实例中,机器900可充当对等(P2P)(或其它分布式)网络环境中的对等机器。机器900可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、网络器具、IoT装置、汽车系统,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的指令的任何机器。另外,虽然仅说明单个机器,但术语“机器”也将视为包含个别地或共同地执行一(或多个)指令集以进行本文中所论述的方法中的任何一或多种(例如云计算、软件即服务(SaaS)、其它计算机集群配置)的任何机器总集。
如本文所描述,实例可包含逻辑、组件、装置、封装或机构,或者可通过逻辑、组件、装置、封装或机构操作。电路系统是在包含硬件(例如,简单电路、门、逻辑等)的有形实体中实施的电路的总集(例如,集合)。电路成员可以随时间和基础硬件可变性而为灵活的。电路系统包含操作时可单独或组合地执行特定任务的部件。在一实例中,可将电路系统的硬件不变地设计成执行特定操作(例如,硬连线)。在实例中,电路系统的硬件可以包含可变地连接的物理组件(例如,执行单元、晶体管、简单电路等),所述物理组件包含以物理方式经修改(例如,不变集中式粒子的磁性、电气可移动放置等)以对特定操作的指令进行编码的计算机可读媒体。在连接物理组件时,硬件构成的基础电特性例如从绝缘体改变成导体或从导体改变成绝缘体。指令使得参与的硬件(例如,执行单元或加载机构)能够经由可变连接产生硬件中的电路系统的部件以当在操作中时进行特定任务的部分。因此,当装置操作时计算机可读媒体以通信方式耦合到电路系统的其它组件。在实例中,物理组件中的任一个可以用于多于一个电路系统中的多于一个部件中。举例来说,在操作下,执行单元可在一个时间点用于第一电路系统中的第一电路,且由第一电路系统中的第二电路重新使用,或在不同时间由第二电路系统中的第三电路重新使用。
机器(例如,计算机系统)900(例如,主机装置105、存储器装置110等)可包含硬件处理器902(例如,中央处理单元(CPU)、图形处理单元(GPU)、硬件处理器核心或其任何组合,例如存储器控制器115等)、主存储器904和静态存储器906,其中的一些或全部可经由互联件(例如,总线)908彼此通信。机器900可另外包含显示单元910、字母数字输入装置912(例如,键盘)和用户接口(UI)导航装置914(例如,鼠标)。在一实例中,显示单元910、输入装置912和UI导航装置914可为触摸屏显示器。机器900可另外包含存储装置(例如,驱动单元)921、信号产生装置918(例如,扬声器)、网络接口装置920,以及一或多个传感器916,例如全球定位系统(GPS)传感器、指南针、加速度计或其它传感器。机器900可以包含输出控制器928,例如串行(例如,通用串行总线(USB)、并行或其它有线或无线(例如,红外(IR)、近场通信(NFC)等)连接,以与一或多个外围装置(例如,打印机、读卡器等)通信或控制所述一或多个外围装置。
存储装置916可包含机器可读媒体922,在所述机器可读媒体922上存储体现本文中所描述的技术或功能中的任何一或多个或者供本文中所描述的技术或功能中的任何一或多个利用的一或多个数据结构或指令集924(例如,软件)。指令924还可以在其由机器900执行期间完全或至少部分地驻留于主存储器904内、静态存储器906内或硬件处理器902内。在实例中,硬件处理器902、主存储器904、静态存储器906或存储装置916中的一个或任何组合可构成机器可读媒体922。
虽然机器可读媒体922说明为单个媒体,但术语“机器可读媒体”可包含被配置成存储一或多个指令924的单个媒体或多个媒体(例如,集中式或分布式数据库,或相关联的高速缓冲存储器和服务器)。
术语“机器可读媒体”可包含能够存储、编码或承载供机器900执行且使机器900执行本公开的技术中的任何一或多者的指令的任何媒体,或能够存储、编码或承载由这类指令使用或与这类指令相关联的数据结构的任何媒体。非限制性机器可读媒体实例可以包含固态存储器以及光学和磁性媒体。在实例中,大容量机器可读媒体包括具有质量不变(例如静止)的多个粒子的机器可读媒体。因此,大容量机器可读媒体是非暂时性传播信号。大容量机器可读媒体的特定实例可以包含:非易失性存储器,例如半导体存储器装置(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和快闪存储器装置;磁盘,例如内部硬盘和可拆卸磁盘;磁光盘;和CD-ROM和DVD-ROM盘。
指令924(例如,软件、程序、操作系统(OS)等)或其它数据存储在存储装置921上,可由存储器904存取以供处理器902使用。存储器904(例如,DRAM)通常是快速但易失性的,且因此是不同于适用于长期存储(包含在处于“关断”状态时的存储)的存储装置921(例如,SSD)的类型的存储装置。供用户或机器900使用的指令924或数据通常加载于主存储器904中以供处理器902使用。当存储器904已满时,可分配来自存储装置921的虚拟空间以增补存储器904;然而,因为存储装置921通常比存储器904慢且写入速度通常比读取速度慢至少两倍,所以虚拟存储器的使用由于存储装置等待时间(相比于存储器904,例如DRAM)可能极大地降低用户体验。此外,用于虚拟存储器的存储装置921的使用可极大地减少存储装置921的可用的使用寿命。
与虚拟存储器相比,虚拟存储器压缩(例如,
针对移动电子装置优化的存储装置或移动存储装置传统上包含MMC固态存储装置(例如,微安全数字(microSD
指令924可以进一步利用多个传送协议中的任一个(例如,帧中继、因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)、超文本传送协议(HTTP)等)经由网络接口装置920使用发射媒体在通信网络926上发射或接收。实例通信网络可以包含局域网(LAN)、广域网(WAN)、分组数据网络(例如,因特网)、移动电话网络(例如,蜂窝网络)、简易老式电话(POTS)网络和无线数据网络(例如,称为
额外实例:
实例1是一种实施被混淆逻辑到物理(L2P)映射的存储器装置,所述存储器装置包括:处理电路系统;和存储装置,其包含指令,所述指令当由所述处理电路系统执行时配置所述处理电路系统进行以下操作:执行引起存储器装置的与逻辑地址对应的物理地址发生改变的命令;将所述改变混淆为用于所述存储器装置的被混淆L2P映射的部分;将所述改变写入到所述存储器装置上的存储装置;和将所述改变从所述存储装置提供到主机。
在实例2中,根据实例1所述的标的物,其中为将所述改变混淆为所述被混淆L2P映射的部分,所述指令配置所述处理电路系统进行以下操作:通过所述改变更新所述被混淆L2P映射的区的子区;和使所述子区再混淆。
在实例3中,根据实例2所述的标的物,其中区是所述被混淆L2P表的可被所述主机根据所述主机和所述存储器装置之间的通信协议请求的片段。
在实例4中,根据实例2至3中任一实例所述的标的物,其中子区是可通过所述存储器装置混淆的最小位数。
在实例5中,根据实例1至4中任一实例所述的标的物,其中所述指令配置所述处理电路系统响应于来自主机的对L2P映射的请求而将所述改变提供给主机。
在实例6中,根据实例1至5中任一实例所述的标的物,其中所述指令配置所述处理电路系统响应于在主机通电之后,主机建立与所述存储器装置的通信而将所述改变提供给主机。
在实例7中,根据实例1至6中任一实例所述的标的物,其中所述指令配置所述处理电路系统将所述L2P映射的从非易失性存储阵列到易失性存储器的部分去混淆以对所述存储器装置执行操作,所述操作是读取、写入、耗损均衡或垃圾收集中的一个,其中所述存储器装置不将所述L2P映射的被去混淆版本维持于所述非易失性存储阵列中。
在实例8中,根据实例1至7中任一实例所述的标的物,其中所述指令配置所述处理电路系统响应于所述存储器装置的空闲时段而混淆所述改变。
在实例9中,根据实例8所述的标的物,其中所述指令配置所述处理电路系统响应于所述被混淆L2P映射的子区中发生的所述改变超过改变阈值而混淆所述改变。
在实例10中,根据实例9所述的标的物,其中所述指令配置所述处理电路系统维持有效位或脏位的映射以跟踪对所述子区的改变。
实例11是一种用于被混淆逻辑到物理(L2P)映射的方法,所述方法包括:执行引起存储器装置的与逻辑地址对应的物理地址发生改变的命令;将所述改变混淆为用于所述存储器装置的被混淆L2P映射的部分;将所述改变写入到所述存储器装置上的存储装置;和将所述改变从所述存储装置提供到主机。
在实例12中,根据实例11所述的标的物,其中将所述改变混淆为所述被混淆L2P映射的部分包含:通过所述改变更新所述被混淆L2P映射的区的子区;和使所述子区再混淆。
在实例13中,根据实例12所述的标的物,其中区是所述被混淆L2P表的可被所述主机根据所述主机和所述存储器装置之间的通信协议请求的片段。
在实例14中,根据实例12至13中任一实例所述的标的物,其中子区是可通过所述存储器装置混淆的最小位数。
在实例15中,根据实例11至14中任一实例所述的标的物,其中将所述改变提供给主机是响应于来自主机的对L2P映射的请求而执行。
在实例16中,根据实例11至15中任一实例所述的标的物,其中将所述改变提供给主机是响应于在主机通电之后,主机建立与所述存储器装置的通信而执行。
在实例17中,根据实例11至16中任一实例所述的标的物,其包括将所述L2P映射的从非易失性存储阵列到易失性存储器的部分去混淆以对所述存储器装置执行操作,所述操作是读取、写入、耗损均衡或垃圾收集中的一个,其中所述存储器装置不将所述L2P映射的被去混淆版本维持于所述非易失性存储阵列中。
在实例18中,根据实例11至17中任一实例所述的标的物,其中混淆所述改变是响应于所述存储器装置的空闲时段而执行。
在实例19中,根据实例18所述的标的物,其中混淆所述改变是响应于所述被混淆L2P映射的子区中发生的所述改变超过改变阈值而执行。
在实例20中,根据实例19所述的标的物,其包括维持有效位或脏位的映射以跟踪对所述子区的改变。
实例21是一种包含用以实施被混淆逻辑到物理(L2P)映射的指令的机器可读媒体,所述指令当由处理电路系统执行时致使所述处理电路系统执行包括以下操作的操作:执行引起存储器装置的与逻辑地址对应的物理地址发生改变的命令;将所述改变混淆为用于所述存储器装置的被混淆L2P映射的部分;将所述改变写入到所述存储器装置上的存储装置;和将所述改变从所述存储装置提供到主机。
在实例22中,根据实例21所述的标的物,其中将所述改变混淆为所述被混淆L2P映射的部分包含:通过所述改变更新所述被混淆L2P映射的区的子区;和使所述子区再混淆。
在实例23中,根据实例22所述的标的物,其中区是所述被混淆L2P表的可被所述主机根据所述主机和所述存储器装置之间的通信协议请求的片段。
在实例24中,根据实例22至23中任一实例所述的标的物,其中子区是可通过所述存储器装置混淆的最小位数。
在实例25中,根据实例21至24中任一实例所述的标的物,其中将所述改变提供给主机是响应于来自主机的对L2P映射的请求而执行。
在实例26中,根据实例21至25中任一实例所述的标的物,其中将所述改变提供给主机是响应于在主机通电之后,主机建立与所述存储器装置的通信而执行。
在实例27中,根据实例21至26中任一实例所述的标的物,其中所述操作包括将所述L2P映射的从非易失性存储阵列到易失性存储器的部分去混淆以对所述存储器装置执行操作,所述操作是读取、写入、耗损均衡或垃圾收集中的一个,其中所述存储器装置不将所述L2P映射的被去混淆版本维持于所述非易失性存储阵列中。
在实例28中,根据实例21至27中任一实例所述的标的物,其中混淆所述改变是响应于所述存储器装置的空闲时段而执行。
在实例29中,根据实例28所述的标的物,其中混淆所述改变是响应于所述被混淆L2P映射的子区中发生的所述改变超过改变阈值而执行。
在实例30中,根据实例29所述的标的物,其中所述操作包括维持有效位或脏位的映射以跟踪对所述子区的改变。
实例31是一种用于被混淆逻辑到物理(L2P)映射的系统,所述系统包括:用于执行引起存储器装置的与逻辑地址对应的物理地址发生改变的命令的装置;用于将所述改变混淆为用于所述存储器装置的被混淆L2P映射的部分的装置;用于将所述改变写入到所述存储器装置上的存储装置的装置;和用于将所述改变从所述存储装置提供到主机的装置。
在实例32中,根据实例31所述的标的物,其中所述用于将所述改变混淆为所述被混淆L2P映射的部分的装置包含:用于通过所述改变更新所述被混淆L2P映射的区的子区的装置;和用于使所述子区再混淆的装置。
在实例33中,根据实例32所述的标的物,其中区是所述被混淆L2P表的可被所述主机根据所述主机和所述存储器装置之间的通信协议请求的片段。
在实例34中,根据实例32至33中任一实例所述的标的物,其中子区是可通过所述存储器装置混淆的最小位数。
在实例35中,根据实例31至34中任一实例所述的标的物,其中所述用于将所述改变提供给主机的装置是响应于来自主机的对L2P映射的请求而执行。
在实例36中,根据实例31至35中任一实例所述的标的物,其中所述用于将所述改变提供给主机的装置是响应于在主机通电之后,主机建立与所述存储器装置的通信而执行。
在实例37中,根据实例31至36中任一实例所述的标的物,其包括用于将所述L2P映射的从非易失性存储阵列到易失性存储器的部分去混淆以对所述存储器装置执行操作的装置,所述操作是读取、写入、耗损均衡或垃圾收集中的一个,其中所述存储器装置不将所述L2P映射的被去混淆版本维持于所述非易失性存储阵列中。
在实例38中,根据实例31至37中任一实例所述的标的物,其中所述用于混淆所述改变的装置是响应于所述存储器装置的空闲时段而执行。
在实例39中,根据实例38所述的标的物,其中所述用于混淆所述改变的装置是响应于所述被混淆L2P映射的子区中发生的所述改变超过改变阈值而执行。
在实例40中,根据实例39所述的标的物,其包括用于维持有效位或脏位的映射以跟踪对所述子区的改变的装置。
实例41是包含指令的至少一种机器可读媒体,所述指令当由处理电路系统执行时致使所述处理电路系统执行操作以实施实例1-40中的任一实例。
实例42是一种设备,其包括用以实施实例1-40中的任一实例的装置。
实例43是一种用以实施实例1-40中的任一实例的系统。
实例44是一种用以实施实例1-40中的任一实例的方法。
以上详细描述包含对附图的参考,所述附图形成所述详细描述的一部分。所述图借助于图示展示可实践本发明的具体实施例。这些实施例在本文中也称为“实例”。这类实例可包含除了所展示或描述的那些要素之外的要素。然而,本发明人还预期其中仅提供所展示或所描述的那些元件的实例。此外,本发明的发明人还预期使用相对于特定实例(或其一或多个方面)或相对于本文展示或描述的其它实例(或其一或多个方面)而展示或描述的那些元件的任何组合或排列的实例(或其一或多个方面)。
在本文件中,术语如专利文件中所常见而使用术语“一”以包含一个或多于一个,其独立于“至少一个”或“一或多个”的任何其它例子或使用。在本文件中,术语“或”用于指代非排它性,或使得除非另有指示,否则“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)装置等等。
以上描述意在为说明性的而非限制性的。举例来说,上文所描述的实例(或其一或多个方面)可彼此组合使用。例如所属领域的普通技术人员在查阅以上描述后可使用其它实施例。应理解,提交的描述将不会用于解释或限制权利要求书的范围或含义。另外,在以上具体实施方式中,可将各种特征分组在一起以简化本公开。不应将这一情况解释为希望未主张的公开特性对任何权利要求来说是必需的。实际上,本发明标的物可在于比特定公开的实施例的所有特征要少。因此,特此将所附权利要求书并入到具体实施方式中,其中每一权利要求作为一单独实施例而独立存在,且预期这些实施例可以各种组合或排列彼此组合。本发明的范围应通过参考所附的权利要求书以及所述权利要求书所授予的等效物的完整范围来确定。
- 受管理存储器装置中的主机辅助操作
- 在受管理NAND装置中的主机加速操作