管理非易失性存储器的页面引退的制作方法
未命名
08-03
阅读:63
评论:0

管理非易失性存储器的页面引退
1.交叉参考
2.本专利申请案主张摩根(morgan)等人在2020年11月25日申请的标题为“管理非易失性存储器的页面引退(managing page retirement for non-volatile memory)”的第17/105,000号美国专利申请案的优先权,所述专利申请案被让转让其受让人且所述专利申请案以全文引用的方式明确并入本文中。
技术领域
3.技术领域涉及管理非易失性存储器的页面引退。
背景技术:
4.存储器装置广泛用于将信息存储于各种电子装置中,例如计算机、无线通信装置、相机、数字显示器及类似物。通过将存储器装置内的存储器单元编程到各种状态来存储信息。例如,二进制存储器单元可被编程到通常对应于逻辑1或逻辑0的两个受支持状态中的一者。在一些实例中,单个存储器单元可支持多于两种可能状态,可由存储器单元存储所述状态中的任一者。为存取由存储器装置存储的信息,组件可读取或感测存储器装置内的一或多个存储器单元的状态。为存储信息,组件可将存储器装置内的一或多个存储器单元写入或编程到对应状态。
5.存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(ram)、只读存储器(rom)、动态ram(dram)、同步动态ram(sdram)、铁电ram(feram)、磁性ram(mram)、电阻式ram(rram)、快闪存储器、相变存储器(pcm)、三维交叉点存储器(3d交叉点)、或非(nor)及与非(nand)存储器装置等等。存储器装置可为易失性的或非易失性的。易失性存储器单元(例如,dram单元)可能随着时间的推移失去其经编程状态,除非其由外部电源周期性地刷新。非易失性存储器单元(例如,nand存储器单元)可甚至在不存在外部电源的情况下维持其经编程状态达延长时段。
附图说明
6.图1说明根据如本文中公开的实例的支持用于引退存储器装置的页面的方法的系统的实例。
7.图2说明根据如本文中公开的实例的支持用于引退存储器装置的页面的方法的系统的实例。
8.图3a及3b说明根据如本文中公开的实例的页面的布局及使用所述页面的系统的实例,其两者支持用于引退存储器装置的页面的方法。
9.图4到6展示说明根据如本文中公开的实例的支持用于引退存储器装置的页面的方法的方法的流程图。
10.图7展示根据本公开的方面的支持用于引退存储器装置的页面的方法的存储器装置的框图。
11.图8及9展示说明根据如本文中公开的实例的支持用于引退存储器装置的页面的方法的方法的流程图。
具体实施方式
12.针对存储器及其它装置,可将装置信息(例如配置、状态或安全信息)存储于非易失性存储器单元中,因此在从装置移除电力时信息不会丢失。例如,为了安全起见,最后一次电力循环的知识可用于加扰(scramble)或以其它方式使数据模糊。非易失性单元可为非易失性存储器装置的情况下的主存储器单元或可为包含于不同类型的装置上的非易失性存储器。虽然非易失性存储器可有利于存储装置信息,但非易失性存储器在其可靠性劣化之前一般具有有限数目次存取循环。因此,应在信息的完整性丢失之前引退保持装置信息的非易失性存储器单元。
13.根据本文中描述的各种方面,一组有序装置信息页面可用于存储装置信息。装置信息页面可在非易失性存储器中。每一页面可包含存取次数的计数器值以关于可靠性限制跟踪页面的使用。可在计数器值达到阈值时设置与页面相关联的旗标以引退页面。在加电时,装置可基于旗标确定使用哪一页面。旗标可存储于页面中,或可为单独的(例如,熔丝元件)。如果使用熔丝元件,那么页面可在熔丝元件的编程在失电之前可能尚未完成时存储编程过程中旗标以进行指示,在所述情况中,编程可在电力恢复之后再起动。如本文中使用,熔丝元件可指熔丝(例如,在编程之后电阻较高)或反熔丝(例如,在编程之后电阻较低),例如通过逻辑反转。
14.最初在如关于图1到3描述的系统、装置及电路的上下文中描述本公开的特征。通过如关于图4到9描述的与用于引退存储器装置的页面的方法有关的设备图式及流程图进一步说明且参考所述设备图式及流程图描述本公开的这些及其它特征。
15.图1是根据如本文中公开的实例的支持用于引退存储器装置的页面的方法的系统100的实例。系统100包含与存储器系统110耦合的主机系统105。
16.存储器系统110可为或包含任何装置或装置集合,其中所述装置或装置集合包含至少一个存储器阵列。例如,存储器系统110可为或包含通用快闪存储(ufs)装置、嵌入式多媒体控制器(emmc)装置、快闪装置、通用串行总线(usb)快闪装置、安全数字(sd)卡、固态驱动器(ssd)、硬盘驱动器(hdd)、双列直插存储器模块(dimm)、小型dimm(so-dimm)或非易失性dimm(nvdimm)以及其它可能性。
17.系统100可包含于计算装置中,例如台式计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如,飞机、无人机、火车、汽车或其它运输工具)、具备物联网(iot)能力的装置、嵌入式计算机(例如,包含于运载工具、工业装备或网络商业装置中的嵌入式计算机),或包含存储器及处理装置的任何其它计算装置。
18.系统100可包含可与存储器系统110耦合的主机系统105。在一些实例中,此耦合可包含与主机系统控制器106的接口,主机系统控制器106可为经配置以引起主机系统105执行根据如本文中描述的实例的各种操作的控制组件的实例。主机系统105可包含一或多个装置,且在一些情况中可包含处理器芯片组及由所述处理器芯片组执行的软件堆叠。例如,主机系统105可包含经配置用于与存储器系统110或其中的装置通信的应用程序。处理器芯片组可包含一或多个核心、一或多个高速缓存区(例如,在主机系统105本地或包含于主机
系统105中的存储器)、存储器控制器(例如,nvdimm控制器)及存储协议控制器(例如,pcie控制器、sata控制器)。主机系统105可使用存储器系统110以例如将数据写入到存储器系统110及从存储器系统110读取数据。尽管图1中展示一个存储器系统110,但主机系统105可与任何数量的存储器系统110耦合。
19.主机系统105可经由至少一个物理主机接口与存储器系统110耦合。在一些情况中,主机系统105及存储器系统110可经配置以经由物理主机接口使用相关联协议进行通信(例如,在存储器系统110与主机系统105之间交换或以其它方式传递控制、地址、数据及其它信号)。物理主机接口的实例可包含(但不限于)串行高级技术附接(sata)接口、ufs接口、emmc接口、高速外围组件互连(pcie)接口、usb接口、光纤通道接口、小型计算机系统接口(scsi)、串行附接scsi(sas)、双倍数据速率(ddr)接口、dimm接口(例如,支持ddr的dimm插槽接口)、开放式nand快闪存储器接口(onfi)及低功率双倍数据速率(lpddr)接口。在一些实例中,一或多个此类接口可包含于主机系统105的主机系统控制器106及存储器系统110的存储器系统控制器115中或以其它方式在其之间支持。在一些实例中,主机系统105可经由包含于存储器系统110中的每一存储器装置130的相应物理主机接口或经由包含于存储器系统110中的每一类型的存储器装置130的相应物理主机接口与存储器系统110耦合(例如,主机系统控制器106可与存储器系统控制器115耦合)。
20.存储器系统110可包含存储器系统控制器115及一或多个存储器装置130。存储器装置130可包含任何类型的存储器单元(例如,非易失性存储器单元、易失性存储器单元或其任何组合)的一或多个存储器阵列。尽管图1的实例中展示两个存储器装置130-a及130-b,但存储器系统110可包含任何数量的存储器装置130。此外,在存储器系统110包含多于一个存储器装置130的情况下,存储器系统110内的不同存储器装置130可包含相同或不同类型的存储器单元。
21.存储器系统控制器115可与主机系统105耦合及通信(例如,经由物理主机接口),且可为经配置以引起存储器系统110执行根据如本文中描述的实例的各种操作的控制组件的实例。存储器系统控制器115还可与存储器装置130耦合及通信以执行例如在存储器装置130处读取数据、写入数据、擦除数据或刷新数据的操作,以及其它此类操作,其可通称为存取操作。在一些情况中,存储器系统控制器115可从主机系统105接收命令且与一或多个存储器装置130通信以执行此类命令(例如,在一或多个存储器装置130内的存储器阵列处)。例如,存储器系统控制器115可从主机系统105接收命令或操作且可将所述命令或操作转换成指令或适当命令以实现对存储器装置130的所要存取。且在一些情况中,存储器系统控制器115可与主机系统105及一或多个存储器装置130交换数据(例如,响应于来自主机系统105的命令或以其它方式与所述命令相关联)。例如,存储器系统控制器115可将与存储器装置130相关联的响应(例如,数据分组或其它信号)转换成用于主机系统105的对应信号。
22.存储器系统控制器115可经配置用于与存储器装置130相关联的其它操作。例如,存储器系统控制器115可执行或管理操作,例如损耗均衡操作、废弃项目收集操作、错误控制操作(例如错误检测操作或错误校正操作)、加密操作、高速缓存操作、媒体管理操作、后台刷新、健康监测,及与来自主机系统105的命令相关联的逻辑地址(例如,逻辑块地址(lba))与和存储器装置130内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转译。
23.存储器系统控制器115可包含硬件,例如一或多个集成电路或离散组件、缓冲存储器或其组合。硬件可包含具有专用(例如,硬编码)逻辑的电路系统以执行本文中归于存储器系统控制器115的操作。存储器系统控制器115可为或包含微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)、数字信号处理器(dsp)),或任何其它适合处理器或处理电路系统。
24.存储器系统控制器115还可包含本地存储器120。在一些情况中,本地存储器120可包含只读存储器(rom)或可存储可由存储器系统控制器115执行以执行本文中归于存储器系统控制器115的功能的操作码(例如,可执行指令)的其它存储器。在一些情况中,本地存储器120可额外地或替代地包含静态随机存取存储器(sram)或可由存储器系统控制器115用于例如与本文中归于存储器系统控制器115的功能有关的内部存储或计算的其它存储器。
25.存储器装置130可包含一或多个非易失性存储器单元阵列。例如,存储器装置130可包含nand(例如,nand快闪)存储器、rom、相变存储器(pcm)、自选择存储器、其它基于硫属化物的存储器、铁电ram(feram)、磁性ram(mram)、nor(例如,nor快闪)存储器、自旋转移力矩(stt)-mram、导电桥接ram(cbram)、电阻式随机存取存储器(rram)、基于氧化物的rram(oxram)及电可擦除可编程rom(eeprom)。额外地或替代地,存储器装置130可包含一或多个易失性存储器单元阵列。例如,存储器装置130可包含随机存取存储器(ram)存储器单元,例如动态ram(dram)存储器单元及同步dram(sdram)存储器单元。
26.在一些实例中,存储器装置130可分别包含(例如,在相同裸片上或在相同封装内)本地控制器135,本地控制器135可对存储器装置130的一或多个存储器单元执行操作。本地控制器135可结合存储器系统控制器115操作或可执行本文中归于存储器系统控制器115的一或多个功能。
27.在一些情况中,存储器装置130可为或包含nand装置(例如,nand快闪存储器装置)。存储器装置130可为或包含存储器裸片160。例如,在一些情况中,存储器装置130可为包含一或多个裸片160的封装。在一些实例中,裸片160可为从晶片切割的块电子级半导体(例如,从硅晶片切割的硅裸片)。每一裸片160可包含一或多个平面165,且每一平面165可包含一组相应块170,其中每一块170可包含一组相应页面175,且每一页面175可包含一组存储器单元。
28.在一些情况中,nand存储器装置130可包含经配置以各自存储一个信息位的存储器单元,其可被称为单电平单元(slc)。额外地或替代地,nand存储器装置130可包含经配置以各自存储多个信息位的存储器单元,其可在经配置以各自存储两个信息位的情况下被称为多电平单元(mlc),在经配置以各自存储三个信息位的情况下被称为三电平单元(tlc),在经配置以各自存储四个信息位的情况下被称为四电平单元(qlc),或更一般地被称为多电平存储器单元。多电平存储器单元可提供相对于slc存储器单元的较大存储密度,但在一些情况中可涉及较窄读取或写入边限或用于支持电路系统的较大复杂性。
29.在一些情况中,平面165可指块170的群组,且在一些情况中,同步操作可发生在不同平面165内。例如,只要不同块170在不同平面165中,就可对不同块170内的存储器单元执行同步操作。在一些情况中,在不同平面165中执行同步操作可经受一或多个限制,例如对在其相应平面165内具有相同页面地址的不同页面175内的存储器单元执行相同操作(例
如,与命令解码、页面地址解码电路系统或跨平面165共享的其它电路系统有关)。
30.在一些情况中,块170可包含组织成行(页面175)及列(例如,串,未展示)的存储器单元。例如,相同页面175中的存储器单元可共享共同字线(例如,与其耦合),且相同串中的存储器单元可共享共同数字线(其可替代地被称为位线)(例如,与其耦合)。
31.对于一些nand架构,可在第一粒度级(例如,在页面粒度级)读取及编程(例如,写入)存储器单元但可在第二粒度级(例如,在块粒度级)擦除存储器单元。即,页面175可为可独立编程或读取(例如,作为单个编程或读取操作的部分同时编程或读取)的最小存储器单元(例如,存储器单元组),且块170可为可独立擦除(例如,作为单个擦除操作的部分同时擦除)的最小存储器单元(例如,存储器单元组)。此外,在一些情况中,可在可用新数据重写nand存储器单元之前擦除nand存储器单元。因此,例如,在一些情况中可不更新经使用页面175,直到已擦除包含页面175的整个块170。
32.系统100可包含支持用于引退存储器装置的页面的方法的任何数量的非暂时性计算机可读媒体。例如,主机系统105、存储器系统控制器115或存储器装置130可包含或以其它方式可存取存储用于执行本文中归于主机系统105、存储器系统控制器115或存储器装置130的功能的指令(例如,固件)的一或多个非暂时性计算机可读媒体。例如,此类指令在由主机系统105(例如,由主机系统控制器106)、由存储器系统控制器115或由存储器装置130(例如,由本地控制器135)执行时可引起主机系统105、存储器系统控制器115或存储器装置130执行如本文中描述的一或多个相关联功能。
33.图2说明根据如本文中公开的实例的支持用于引退存储器装置的页面的方法的存储器装置200的实例。系统200可为如关于图1或其方面描述的系统100的实例。系统200可包含存储器系统210,存储器系统210经配置以在由主机系统205使用存取命令(例如,读取命令或写入命令)请求时存储从主机系统205接收的数据及将数据发送到主机系统205。系统200可实施如关于图1描述的系统100的方面。例如,存储器系统210及主机系统205可分别为存储器系统110及主机系统105的实例。
34.存储器系统210可包含存储器装置240以存储例如响应于从主机系统205接收存取命令而在存储器系统210与主机系统205之间传送的数据,如下文描述。存储器装置240可包含如关于图1描述的一或多个存储器装置。例如,存储器装置240可包含nand存储器、pcm、自选择存储器、3d xpoint、其它基于硫属化物的存储器、feram、mram、nor(例如,nor快闪)存储器、stt-mram、cbram、rram或oxram。
35.存储器系统210可包含用于控制直接向及从存储器装置240传递数据例如用于存储数据、检索数据及确定将数据存储于其中及从其检索数据的存储器位置的存储控制器230。存储控制器230可直接或经由总线(未展示)使用特定于每一类型的存储器装置的协议与存储器装置240通信。在一些情况中,可使用单个存储控制器230来控制相同或不同类型的多个存储器装置。在一些情况中,存储器系统210可包含多个存储控制器230,例如,用于每一类型的存储器装置240的不同存储控制器230。在一些情况中,存储控制器230可实施如关于图1描述的本地控制器135的方面。
36.存储器系统210可额外地包含用于与主机系统205通信的接口220,及用于暂时存储在主机系统与存储器装置240之间传送的数据的缓冲器225。接口220、缓冲器225及存储控制器230可用于在主机系统205与存储器装置240之间转译数据(例如,如由数据路径250
展示)且可统称为数据路径组件。
37.在传送期间使用缓冲器225暂时存储数据可允许在处理命令时缓冲数据,借此减少命令之间的延时且允许与命令相关联的任意数据大小。此还可允许处置命令的突发,且一旦突发已停止就可存储或传输(或两者)经缓冲数据。缓冲器225可包含相对快速存储器(例如,一些类型的易失性存储器,例如sram或dram)或硬件加速器或两者以允许往返于缓冲器225的数据的快速存储及检索。缓冲器225可包含用于缓冲器225与其它组件之间的双向数据传送的数据路径开关组件。
38.将数据暂时存储于缓冲器225内可指在执行存取命令期间将数据存储于缓冲器225中。即,在完成存取命令后,相关联数据可能不再保持于缓冲器225中(例如,可被用于额外存取命令的数据盖写)。另外,缓冲器225可为非高速缓存缓冲器。即,可能无法由主机系统205直接从缓冲器225读取数据。例如,可将读取命令放置于队列上而无需将地址与缓冲器中已有的地址匹配的操作(例如,无需高速缓存地址匹配或查找操作)。
39.存储器系统210可额外地包含用于执行从主机系统205接收的命令且控制数据的移动中的数据路径组件的存储器系统控制器215。存储器系统控制器215可为如关于图1描述的存储器系统控制器115的实例。总线235可用于在系统组件之间通信。
40.在一些情况中,可使用一或多个队列(例如,命令队列260、缓冲队列265及存储队列270)来控制存取命令的处理及对应数据的移动。例如,当由存储器系统210同时处理来自主机系统205的多于一个存取命令时,此可为有益的。分别在接口220、存储器系统控制器215及存储控制器230处描绘命令队列260、缓冲队列265及存储队列270作为可能实施方案的实例。队列(如果使用)可定位于存储器系统210内的任何位置。
41.在主机系统205与存储器装置240之间传送的数据可采用不同于非数据信息(例如,命令、状态信息)的存储器系统210中的路径。例如,存储器系统210中的系统组件可使用总线235彼此通信,而数据可使用通过数据路径组件而非总线235的数据路径250。存储器系统控制器215可通过经由总线235与数据路径组件通信(例如,使用特定于存储器系统210的协议)而控制如何及何时在主机系统205与存储器装置240之间传送数据。
42.当主机系统205将存取命令传输到存储器系统210时,可由接口220例如根据协议(例如,通用快闪存储(ufs)协议或emmc协议)接收命令。因此,接口220可被视为存储器系统210的前端。在接收每一存取命令后,接口220可例如经由总线235将命令传送到存储器系统控制器215。在一些情况中,可由接口220将每一命令添加到命令队列260以将命令传送到存储器系统控制器215。
43.存储器系统控制器215可基于来自接口220的通信而确定已接收存取命令。在一些情况中,存储器系统控制器215可通过从命令队列260检索命令而确定已接收存取命令。在已例如由存储器系统控制器215从命令队列260检索命令之后,可从命令队列260移除命令。在一些情况中,存储器系统控制器215可引起接口220例如经由总线235从命令队列260移除命令。
44.在确定已接收存取命令后,存储器系统控制器215可执行存取命令。对于读取命令,此可意味着从存储器装置240获得数据且将数据传输到主机系统205。对于写入命令,此可意味着从主机系统205接收数据且将数据移动到存储器装置240。
45.在任一情况中,存储器系统控制器215可使用缓冲器225来尤其暂时存储从主机系
统205接收或发送到主机系统205的数据。缓冲器225可被视为存储器系统210的中间端。在一些情况中,可由接口220、缓冲器225或存储控制器230中的硬件(例如,专用电路)来执行缓冲器地址管理(例如,到缓冲器中的地址位置的指针)。
46.为处理从主机系统205接收的写入命令,存储器系统控制器215可首先确定缓冲器225是否具有足够可用空间以存储与命令相关联的数据。例如,存储器系统控制器215可例如经由固件(例如,控制器固件)确定可用于存储与写入命令相关联的数据的缓冲器225内的空间量。
47.在一些情况中,可使用缓冲队列265来控制与存储于缓冲器225中的数据相关联的命令(包含写入命令)的流量。缓冲队列265可包含与当前存储于缓冲器225中的数据相关联的存取命令。在一些情况中,命令队列260中的命令可由存储器系统控制器215移动到缓冲队列265,且可在相关联数据存储于缓冲器225中的同时保持在缓冲队列265中。在一些情况中,缓冲队列265中的每一命令可与缓冲器225处的地址相关联。即,可保持指示与每一命令相关联的数据存储于缓冲器225中的何处的指标。使用缓冲队列265,可从主机系统205循序接收多个存取命令且可同时处理存取命令的至少部分。
48.如果缓冲器225具有足够空间以存储写入数据,那么存储器系统控制器215可引起接口220例如根据协议(例如,ufs协议或emmc协议)将可用性指示传输到主机系统205(例如,“准备好传送”指示)。在接口220随后从主机系统205接收与写入命令相关联的数据时,接口220可使用数据路径250将数据传送到缓冲器225以用于暂时存储。在一些情况中,接口220可从缓冲器225或缓冲队列265获得缓冲器225内用以存储数据的位置。接口220可例如经由总线235向存储器系统控制器215指示何时已完成到缓冲器225的数据传送。
49.一旦已由接口220将写入数据存储于缓冲器225中,数据就可从缓冲器225传送出且存储于存储器装置240中。此可使用存储控制器230来完成。例如,存储器系统控制器215可引起存储控制器230使用数据路径250从缓冲器225中检索数据且将数据传送到存储器装置240。存储控制器230可被视为存储器系统210的后端。存储控制器230可例如经由总线235向存储器系统控制器215指示何时已完成到存储器装置240的存储器装置的数据传送。
50.在一些情况中,存储队列270可用于辅助写入数据的传送。例如,存储器系统控制器215可将写入命令从缓冲队列265推送(例如,经由总线235)到存储队列270以进行处理。存储队列270可包含每一存取命令的条目,且可包含例如可指示与命令相关联的数据存储于缓冲器225中的何处的缓冲指针(例如,地址)及可指示与数据相关联的存储器装置240中的位置的存储指针(例如,地址)。在一些情况中,存储控制器230可从缓冲器225、缓冲队列265或存储队列270获得从其获得数据的缓冲器225内的位置。存储控制器230可管理存储器装置240内的位置以存储数据(例如,执行损耗均衡、废弃项目收集及类似物)。可例如由存储器系统控制器215将条目添加到存储队列270。在完成数据的传送后,可例如由存储控制器230或存储器系统控制器215从存储队列270移除条目。
51.为处理从主机系统205接收的读取命令,存储器系统控制器215可再次首先确定缓冲器225是否具有足够可用空间以存储与命令相关联的数据。例如,存储器系统控制器215可例如经由固件(例如,控制器固件)确定可用于存储与读取命令相关联的数据的缓冲器225内的空间量。
52.在一些情况中,缓冲队列265可用于以类似于上文关于写入命令论述的方式辅助
与读取命令相关联的数据的缓冲存储。例如,如果缓冲器225具有足够空间以存储读取数据,那么存储器系统控制器215可引起存储控制器230使用数据路径250从存储器装置240检索与读取命令相关联的数据及将数据存储于缓冲器225中以进行暂时存储。存储控制器230可例如经由总线235向存储器系统控制器215指示何时已完成到缓冲器225的数据传送。
53.在一些情况中,存储队列270可用于辅助读取数据的传送。例如,存储器系统控制器215可将读取命令推送到存储队列270以进行处理。在一些情况中,存储控制器230可从缓冲器225或存储队列270获得从其检索数据的存储器装置240内的位置。在一些情况中,存储控制器230可从缓冲队列265获得缓冲器225内用以存储数据的位置。在一些情况中,存储控制器230可从存储队列270获得缓冲器225内用以存储数据的位置。在一些情况中,存储器系统控制器215可将由存储队列270处理的命令移动回到命令队列260。
54.一旦已由存储控制器230将数据存储于缓冲器225中,数据就可从缓冲器225传送出且发送到主机系统205。例如,存储器系统控制器215可引起接口220使用数据路径250从缓冲器225中检索数据且例如根据协议(例如,通用快闪存储(ufs)协议或emmc协议)将数据传输到主机系统205。例如,接口220可处理来自命令队列260的命令且可例如经由总线235向存储器系统控制器215指示何时已完成到主机系统205的数据传输。
55.存储器系统控制器215可根据某种顺序(例如,先进先出顺序,根据命令队列260的顺序)执行经接收命令。对于每一命令,存储器系统控制器215可引起对应于命令的数据移入及移出缓冲器225,如上文论述。当数据被移入缓冲器225中且存储于缓冲器225内时,命令可保持在缓冲队列265中。当已完成命令的处理时(例如,当对应于存取命令的数据已从缓冲器225传送出时),可例如由存储器系统控制器215从缓冲队列265移除所述命令。当从缓冲队列265移除命令时,先前存储与所述命令相关联的数据的地址可用于存储与新命令相关联的数据。
56.存储器系统控制器215可额外地经配置用于与存储器装置240相关联的操作。例如,存储器系统控制器215可执行或管理操作,例如损耗均衡操作、废弃项目收集操作、错误控制操作(例如错误检测操作或错误校正操作)、加密操作、高速缓存操作、媒体管理操作、后台刷新、健康监测,及与来自主机系统205的命令相关联的逻辑地址(例如,逻辑块地址(lba))与和存储器装置240内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转译。即,主机系统205可发出指示一或多个lba的命令且存储器系统控制器215可识别由lba指示的一或多个物理块地址。在一些情况中,一或多个连续lba可为非连续物理块地址。在一些情况中,存储控制器230可经配置以结合或代替存储器系统控制器215执行上述操作的一或多者。在一些情况中,存储器系统控制器215可执行存储控制器230的功能且可省略存储控制器230。
57.图3a说明根据如本文中公开的实例的支持用于引退存储器装置的页面的方法的装置信息页面300的布局的实例。页面可包括非易失性存储器单元。一组有序的此类页面可用于存储供装置使用的装置信息,例如配置、状态或安全信息,因此其可在装置加电时使用。归因于基于页面存取的次数的可靠性劣化,可在丢失信息的完整性之前引退装置信息页面。
58.装置信息页面300可包含多个位310(例如,位310-a到310-n)。在一些实例中,装置信息页面300可包含用于存储对应于页面的旗标的旗标部分315。在一些实例中,可使用旗
标作为页面选择器以反映页面何时已被引退或达到耐久极限。例如,当“经设置”时,旗标可指示装置信息页面300已被引退,且当“未经设置”(或“经清除”或“经复位”)时,旗标可指示页面尚未被引退且可被使用。
59.在一些实例中,可使用旗标来反映与装置信息页面300相关联的熔丝元件的编程何时正在进行中。例如,当经设置时,旗标可指示熔丝元件的编程已起始但尚未完成,且当未经设置时,旗标可指示无熔丝元件的编程正在进行中(例如,编程曾被起始且完成,或无编程被起始)。
60.在一些实例中,旗标部分可为单个位(例如,位310-a),且旗标可在其是逻辑“1”时经设置且在其是逻辑“0”时未经设置。替代地,旗标可在其是逻辑“0”时经设置且在其是逻辑“1”时未经设置。在一些实例中,旗标部分可包含多个位,且旗标可在旗标部分的位的百分比(例如,75%或更高,80%或更高)经设置时经设置。
61.在一些实例中,装置信息页面300可包含用于存储对应于页面的计数器值的计数器部分320。在一些实例中,可使用计数器值来确定页面何时已达到或超过单元耐久极限。在一些实例中,计数器值可反映对装置信息页面执行的存取次数;每次可存取装置页面300时,计数器值可递增。可例如通过将计数器值读取到计数器中,递增计数器,且将计数器值写回到页面的计数器部分中而执行递增计数器值。以此方式,页面的计数器部分可反映已存取页面的次数。可监测计数器值以检测其何时达到预定次数,其可反映页面何时已达到或已几乎达到耐久极限。当计数器值反映已达到耐久极限时,可设置页面的旗标以指示此。
62.装置信息页面300的计数器部分320可并入任何数目个位(例如,位310-b到310-f)。例如,如果装置信息页面300的耐久极限是32次存取,那么计数器部分320可并入6个位,此将允许运用额外位达到二进制计数32以允许超过32的计数。典型耐久极限可为数千、数万、数十万、数百万或可能更高。在一些情况中,每次使用页面可被视为一次存取,且可涉及一次读取(例如,在加电时)及一次写入(例如,在掉电时)。替代地,当装置在操作中时,页面可被存取额外次数。例如,可在于操作期间更新新信息时写入新信息。在一些情况中,计数器部分320可单独地记录读取及写入,或可不同地加权操作。例如,计数器部分320可包含用于读取操作的计数器及用于写入操作的计数器,或可包含其中例如使用加权因子记录写入操作的一个计数器。在一个实例中,计数器部分320可针对每一读取操作递增1,且针对每一写入操作递增大于1的整数(例如,5、10)。
63.装置信息页面300可包含用于存储例如与装置相关联的数据的数据部分325。此可包含例如最后一次电力循环的知识、安全数据、状态数据及类似物。可在电力循环之后使用此信息以例如恢复计算机的状态,或确认用户的存取特权。数据部分325可并入任何数目个位(例如,位310-g到310-n)。
64.图3b说明根据如本文中公开的实例的支持用于引退存储器装置的页面的方法的系统305的实例。系统305可包含一组装置信息页面300(例如,装置信息页面300-a到300-f),其各自具有计数器部分320及数据部分325。在一些实例中,每一装置信息页面300还可包含旗标部分315(例如,作为页面选择器)。在一些实例中,装置信息页面300可属于相同块,例如关于图1论述的块170。在一些实例中,系统305可包含一组熔丝元件335(例如,熔丝元件335-a到335-f),其各自从与装置信息页面300相关联(例如,作为页面选择器)。代替或结合旗标部分315,可包含熔丝元件335,如下文更详细地论述。
65.在一些实例中,装置信息页面300可依特定顺序定位且可依所述特定顺序一次一个地使用。例如,可从第一装置信息页面300-a存储及检索装置信息,直到确定(例如,使用页面的计数器值)页面的存取次数已达到或超过单元耐久极限。当此发生时,可引退(例如,使用页面的旗标或相关联熔丝元件335-a)装置信息页面300-a且可使用顺序中的下一页面(例如,装置信息页面300-b)。即,可从第二装置信息页面300-b而非第一装置信息页面300-a存储及检索系统信息。类似于第一页面,可使用第二页面直到确定第二页面的存取次数已达到或超过单元耐久极限,此时还可引退第二页面且可使用顺序中的下一页面(例如,装置信息页面300-c)。此可继续,直到已使用全部装置信息页面。
66.在图3b中展示的实例中,第三装置信息页面300-c是在使用中的页面且已引退先前页面(装置信息页面300-a及300-b)。鉴于此,页面300-a及300-b的页面选择器(例如,旗标315)可经设置(例如,“1”)且页面300-c的页面选择器可未经设置(例如,“0”)。其余页面(例如,装置信息页面300-d到300-f)的旗标315还可未经设置(例如,“0”)以指示所述页面还尚未被引退。替代地,如果使用熔丝元件作为页面选择器,那么与前两个装置信息页面300a及300-b相关联的熔丝元件335-a及335-b可已经编程(例如,经熔断)以指示所述页面的引退。
67.在加电期间,第一装置信息页面300-a的旗标315可经检索且被确定为经设置。此可指示第一页面300-a已被引退且其数据可能无效。下一页面(第二装置信息页面300-b)的旗标315可经检索且还被确定为经设置。此可指示第二页面300-b也已被引退且其数据可能无效。下一页面(第三装置信息页面300-c)的旗标315可经检索且被确定为未经设置。此可指示第三页面300-c是尚未被引退的顺序中的第一页面且页面可含有有效数据。
68.替代地,可检索展示每一熔丝元件335的状态的数据消息(例如,数据消息340)。在一些实例中,可在消息中的不同位中反映每一熔丝元件的状态。可分析消息以确定装置信息页面300-a及300-b已被引退且装置信息页面300-c是尚未被引退的顺序中的第一页面。
69.在确定应使用装置信息页面300-c之后,存储于页面300-c的数据部分325中的数据可经检索且用于恢复装置。存储于页面300-c的计数器部分320中的计数器值可递增以反映页面的存取(例如,通过将值读取到计数器330中,递增计数器,且将计数器值写回到页面的计数器部分中)。接着,可比较计数器值与阈值(例如,页面耐久电平)以确定是否应引退页面300-c。如果页面300-c的计数器值大于或等于阈值,那么可设置页面的旗标315(例如,通过将“1”写入到页面的旗标部分中)或可编程与页面相关联的熔丝元件335-c(例如,通过命令系统熔断熔丝元件)以指示页面300-c的引退。从装置信息页面300-c获得的装置信息可被保存到原始装置信息页面300-c(如果页面未被引退)或下一装置信息页面300-d(如果原始页面300-c被引退)的数据字段325以用作向前移动的有效数据。
70.图4到6展示说明根据如本文中公开的实例的支持用于引退存储器装置的页面的方法的方法400、500及600的实例的流程图。在方法400、500及600中,使用与装置信息页面相关联的选择器(例如,旗标及熔丝元件)及计数器来确定使用哪一页面及何时切换到下一页面。可由如本文中描述的存储器系统或其组件来实施方法400、500或600中的任何者的操作。例如,可由如关于图1描述的存储器装置130来执行方法400、500或600中的任何者的操作。在一些实例中,存储器系统可执行指令集以控制存储器装置的功能元件以执行所描述功能。额外地或替代地,存储器装置可使用专用硬件来执行所描述功能的方面。
71.图4展示说明根据如本文中公开的实例的支持用于引退存储器装置的页面的方法的方法400的实例的流程图。可在加电时使用方法400来确定哪一装置信息页面可在使用中及何时且如何切换到下一页面。在方法400中,可在进行此时采用嵌入装置信息页面的旗标及计数。
72.在405,可确定加电是否已完成。在一些实例中,此可通过监测pwrup信号进行确定。如果加电尚未完成,那么方法可在405等待直到加电已完成。一旦加电完成,方法就可继续到410。
73.在410,可使用装置信息页面的旗标来确定待使用页面。在一些实例中,可读取每一页面的旗标直到获得指示对应页面可含有有效数据的旗标值。在一些实例中,可按某种顺序定位页面,且可从第一页面开始且按所述顺序以其它页面继续来读取页面的旗标。在一些实例中,旗标可为单个位且可含有逻辑“1”以指示对应页面可含有有效数据且可被使用。在其它实例中,旗标可含有逻辑“0”以指示页面可含有有效数据且可被使用。在一些实例中,旗标可包含多个位且可设置位的百分比(例如,66%或更高,75%或更高,80%或更高)以指示对应页面可被使用。一旦可能遇到指示页面可被使用的旗标,对应页面就可被视为用于方法的原始“在使用中”装置信息页面。
74.在415,可将装置信息从原始页面恢复且由存储器系统使用。也在415,可递增对应于原始页面的计数器值以反映存取页面。
75.在420,可比较在415获得的计数器值与阈值(例如,单元耐久极限)。如果原始页面的计数器值尚未超过阈值,那么原始页面的单元可被视为含有有效数据,且方法可继续到435。
76.如果原始页面的计数器值已超过阈值,那么页面的单元可接近页面中所含的数据可例如归因于页面的单元的崩溃而变得易受无效问题的影响的点。为缓解这些问题,可引退原始页面使得可停止使用与其相关联的单元。如果原始页面的计数器值已超过阈值,那么方法可继续到425以引退页面。
77.在425,可引退原始页面。在一些实例中,可通过改变(例如,设置或清除)页面的旗标而完成页面的引退。在旗标可为单个位的一些实例中,可将旗标改变为逻辑“0”以设置旗标。在一些实例中,可将旗标改变为逻辑“1”以设置旗标。设置旗标可引起在下一加电时不使用原始页面。
78.在430,可设立顺序中的下一页面以将最近引退的页面替换为待使用的新装置信息页面。在一些实例中,可复位对应于下一页面的计数器值(例如,复位为值0或1)。在一些实例中,可设置或清除下一页面的旗标。在一些实例中,旗标可能已反映正确值,使得其可能不会发生变化。也在430,可将装置信息写入到下一页面。在一些实例中,此可包含先前存储于原始(现被引退的)页面中的装置信息。可递增对应于下一页面的计数器值以反映存取页面。下一页面可被视为新的“在使用中”装置信息页面。
79.在435,可确定是否已接收复位命令。在一些实例中,复位命令可为可指示存储器装置的掉电即将来临的系统命令。如果尚未接收复位命令,那么方法可在435等待直到已接收复位命令。一旦接收复位命令,方法就可继续到440。
80.在440,可将装置信息写入到在使用中页面。取决于是否使用步骤425及430,在使用中页面可为原始页面或新页面。在一些实例中,可由原始页面的旗标确定在使用中页面:
如果旗标是1值,那么原始页面可为在使用中页面;如果其是不同值,那么原始页面可能已被引退且新页面可为在使用中页面。也在440,可递增对应于在使用中页面的计数器值以反映存取页面。
81.图5展示说明根据如本文中公开的实例的支持用于引退存储器装置的页面的方法的方法500的实例的流程图。类似于方法400,可在加电时使用方法500来确定哪一装置信息页面可在使用中及何时且如何切换到下一页面。但代替采用嵌入页面的旗标,方法500可使用与页面相关联的熔丝元件。一旦已基于熔丝元件确定原始页面,方法500就可大体上遵循与方法400相同的步骤,归因于熔丝元件的使用而具有少数例外。
82.在加电期间,关于系统熔丝元件的信息(例如,哪些熔丝短路及哪些被熔断)可变得可用。在505,方法可等待直到熔丝元件信息可用。在一些实例中,此可通过监测tmbroadcast信号来完成。一旦熔丝元件信息变得可用,方法就可继续到510。
83.在510,可获得与装置信息页面相关联的熔丝元件信息且将其用于确定使用哪一页面。在一些实例中,可检验与每一装置信息页面相关联的熔丝信息以识别未经编程(例如,未熔断)的第一熔丝。此可指示可将与所述熔丝相关联的页面用作在使用中页面。在一些实例中,可按某种顺序定位页面且可按相同顺序读取与页面相关联的熔丝信息。在一些实例中,可从加电信息获得熔丝信息。在一些实例中,可使用单个位来指示与每一页面相关联的熔丝元件的状态且可检验位以确定未熔断的第一熔丝。一旦确定指示页面可被使用的熔丝值,对应页面就可被视为用于方法的原始“在使用中”装置信息页面。
84.在515,可将装置信息数据从原始页面恢复且由存储器系统使用。也在515,可递增对应于原始页面的计数器值以反映存取页面。此步骤可类似于方法400的步骤415。
85.在520,可比较在515获得的计数器值与阈值。如果原始页面的计数器值已超过阈值,那么方法可继续到525以引退页面。否则,方法可继续到535。此步骤可类似于方法400的步骤420。
86.在525,可引退原始页面。但代替改变旗标值(如在方法400中),引退页面可涉及改变熔丝元件的值。在一些实例中,可通过编程(例如,熔断或设置)与页面相关联的熔丝元件来完成原始页面的引退。在一些实例中,非易失性变量可经设置使得在下一次加电时,其可触发存储器系统以编程与原始页面相关联的熔丝元件。不管怎样,编程熔丝元件可引起在未来加电期间不使用原始页面。
87.在530,可设立顺序中的下一页面以将最近引退的页面替换为新装置信息页面。在一些实例中,可复位对应于下一页面的计数器值。也在530,可将装置信息写入到下一页面。可递增对应于下一页面的计数器值以反映存取页面。下一页面可被视为新的“在使用中”装置信息页面。
88.在535,可确定是否已接收复位命令。如果尚未接收复位命令,那么方法可在535等待直到已接收复位命令。一旦接收复位命令,方法就可继续到540。此步骤可类似于方法400的步骤435。
89.在540,可将装置信息写入到在使用中装置页面。取决于是否使用步骤525及530,在使用中页面可为原始页面或新页面。也在540,可递增对应于在使用中装置页面的计数器值以反映存取页面。此步骤可类似于方法400的步骤440。
90.使用熔丝元件作为页面选择器可产生的一个问题是编程(例如,熔断)熔丝元件可
花费的时间量。有时熔丝元件的编程可能花费很长时间,以至于其在电力循环发生之前未完成。因此,当系统加电时,熔丝可能人仍未经编程(例如,熔丝短路,反熔丝断开)。此可允许使用相关联页面作为装置页面,因为熔丝信息仍可反映熔丝尚未被熔断。
91.图6展示说明根据如本文中公开的实例的支持用于引退存储器装置的页面的方法的方法600的实例的流程图。类似于方法500,方法600可在加电时采用熔丝元件且计数以确定哪一装置信息页面可在使用中及何时且如何切换到下一页面。方法600还使用嵌入于页面中的旗标来识别熔丝元件的编程在电力循环之前可能尚未完成的情形。
92.在605,方法可等待直到熔丝信息可用。此步骤可类似于方法500的步骤505。一旦熔丝信息变得可用,方法就可继续到610。
93.在610,可获得且检验与页面相关联的熔丝信息以确定使用哪一页面作为用于方法的原始“在使用中”装置信息页面。此步骤可类似于方法500的步骤510。
94.在615,可读取且分析原始页面的旗标以确定与页面相关联的熔丝元件的状态。例如,当经设置时,旗标可指示熔丝元件的编程已起始但尚未完成,且当未经设置时,旗标可指示无熔丝元件的编程正在进行中。
95.在620,如果旗标未经设置,那么与原始页面相关联的熔丝元件可未处在正在被编程的过程中。即,熔丝元件的任何编程(例如,熔断)可能已完成。在所述情况中,用于原始页面的装置信息可为有效的且方法可继续到625。
96.然而,如果原始页面的旗标经设置,那么与页面相关联的熔丝元件可处在正在被编程(例如,熔断)的过程中。即,与原始页面相关联的熔丝元件的编程可能已起始但可能尚未完成。在所述情况中,在610用于识别原始页面的熔丝信息可能尚未考虑此。换句话说,因为熔丝元件的编程可能尚未完成,所以相关联页面可能已被错误地识别为待使用原始页面。如果旗标经设置,那么方法可继续到645以校正此错误。
97.在625,可将装置信息从原始页面恢复且由存储器系统使用。也在625,可递增对应于原始页面的计数器值以反映存取页面。此步骤可类似于方法500的步骤615。
98.在630,可比较在625获得的计数器值与阈值。如果原始页面的计数器值已超过阈值,那么方法可继续到635以引退页面。否则,方法可继续到655。此步骤可类似于方法500的步骤520。
99.在635,可设置原始页面中的旗标(例如,通过将“1”写入到页面的旗标部分)以指示与页面相关联的熔丝元件的编程即将开始。旗标可保持经设置直到已完成熔丝元件的编程(参见670)。也在635,可复位对应于下一页面的计数器值。
100.在640,可起始与原始页面相关联的熔丝元件的编程(例如,熔断或设置)以引退页面。在一些实例中,非易失性变量可经设置使得在下一次加电时,其可触发存储器系统以编程与原始页面相关联的熔丝元件。
101.在645,由于原始页面的旗标可经设置,因此即使与原始页面相关联的熔丝元件的编程可能尚未完成,下一页面仍可希望为在使用中装置信息页面。因此在645,可将装置信息从下一页面恢复且由存储器系统使用。也在645,可复位对应于下一页面的计数器值(例如,复位为值0或1)。
102.在650,可继续或再起始与原始页面相关联的熔丝元件的编程(例如,熔断或设置)以引退页面。
103.在655,可确定是否已接收复位命令。如果尚未接收复位命令,那么方法可在655等待直到已接收复位命令。一旦接收复位命令,方法就可继续到660。
104.在660,可再次分析原始页面的旗标以确定与页面相关联的熔丝元件的状态。如果旗标经设置,那么可能已例如在640或650起始相关联熔丝元件的编程。在所述情况中,方法可继续到665。如果旗标未经设置,那么所起始的熔丝元件的任何编程可能已完成。在所述情况中,方法可继续到675。
105.在665,可确定与原始页面相关联的熔丝元件的经起始编程是否已完成。在一些实例中,此可通过获得且分析反映熔丝的状态的经更新信息来完成。如果熔丝元件的编程已完成,那么方法可继续到670,否则,方法可继续到675。
106.在670,可清除原始页面的旗标(例如,通过将“0”写入到页面的旗标部分)以指示与页面相关联的熔丝元件的编程的完成。
107.在675,可将装置信息写入到在使用中装置页面。取决于是否使用步骤640或650,在使用中页面可为原始页面或新页面。如果从665直接进入675,那么原始页面的旗标可经设置,此指示与原始页面相关联的熔丝元件的编程可能尚未完成。可在615在下一加电时读取旗标(现可经设置)且接着可完成熔丝元件编程。也在675,可递增对应于在使用中页面的计数器值以反映存取页面。
108.图7展示根据如本文中公开的实例的支持用于引退存储器装置的页面的方法的存储器装置705的框图700。存储器装置705可为如关于图1及2描述的存储器装置的方面的实例。存储器装置705可包含选择器读取组件710、页面确定组件715、选择器更新组件720、数据读取器/写入器725、计数器控制器730、命令接收器735、旗标控制器740及熔丝编程组件745。这些模块中的每一者可彼此直接地或间接地通信(例如,经由一或多个总线)。
109.选择器读取组件710可在加电时从与非易失性存储器的一组页面的第一页面相关联的第一选择器获得第一选择器值。在一些实例中,选择器读取组件710可获得与所述一组页面的第三页面相关联的第三选择器值。在一些情况中,第一选择器可包含与第一页面相关联的熔丝元件。在一些情况中,第一选择器可包含存储于第一页面中的旗标。在一些情况中,旗标可包含一组位。
110.页面确定组件715可基于第一选择器值确定第一页面含有有效数据。在一些实例中,确定第一页面含有有效数据可包含:当旗标的一组位的阈值百分比经设置时确定第一页面含有有效数据。在一些实例中,页面确定组件715可基于与第一页面相关联的计数器值确定应引退第一页面。在一些实例中,确定应引退第一页面可包含:确定计数器值高于阈值。
111.在一些实例中,页面确定组件715可按某种顺序从在第一位置中的页面开始且根据所述顺序执行页面确定过程,直到发现所述一组页面的页面尚未被引退。页面确定过程可包含获得对应于页面的选择器值及基于所述选择器值确定页面是否已被引退。在一些实例中,按所述顺序定位于第一页面之前的页面可能已被引退,如对应选择器值中所反映。在一些实例中,按所述顺序定位于第一页面之后的页面可能尚未被引退,如对应选择器值中所反映。
112.在一些实例中,页面确定组件715可基于第三选择器值确定第三页面已被引退。在一些实例中,获得与第一页面相关联的第一选择器值可基于确定第三页面已被引退。
113.选择器更新组件720可更新与第一页面相关联的第一选择器值以反映第一页面的引退。在一些实例中,更新第一选择器值以反映第一页面的引退包含:设置存储于第一页面中的第一旗标。在一些实例中,更新第一选择器值以反映第一页面的引退包含:编程与第一页面相关联的第一熔丝元件。在一些实例中,选择器更新组件720可更新与第二页面相关联的第二选择器值以反映第二页面含有有效数据。
114.数据读取器/写入器725可将数据写入到所述一组页面的第二页面来代替第一页面。在一些实例中,数据读取器/写入器725可基于确定第一页面含有有效数据而从第一页面获得状态数据。在一些实例中,数据读取器/写入器725可将状态数据写入到第二页面。在一些实例中,将数据写入到第二页面是基于接收复位命令。在一些实例中,数据读取器/写入器725可基于确定熔丝元件的编程尚未完成而从第二页面获得数据。
115.计数器控制器730可获得与第一页面相关联的计数器值。在一些实例中,获得与第一页面相关联的计数器值可包含:从第一页面读取计数器值。在一些实例中,计数器控制器730可确定与第一页面相关联的计数器值。在一些实例中,确定与第一页面相关联的计数器值可包含:从第一页面读取计数器值。在一些实例中,计数器控制器730可获得与第一页面相关联的第二计数器值。在一些实例中,计数器控制器730可递增第二计数器值以获得计数器值。在一些实例中,计数器控制器730可在存储器装置的加电之前获得页面的计数器值。
116.命令接收器735可接收复位命令。
117.旗标控制器740可在存储器装置的加电时从非易失性存储器的一组页面的页面的旗标获得第一旗标值。在一些实例中,旗标控制器740可基于确定应引退页面而将页面的旗标设置为第一旗标值。在一些实例中,旗标控制器740可基于确定熔丝元件的编程已完成而将第二旗标值写入到页面的旗标。在一些实例中,旗标控制器740可基于设置旗标而起始存储器装置的页面改变操作。页面改变操作可包含编程熔丝元件。
118.在一些实例中,熔丝编程组件745可确定熔丝元件的编程已完成。熔丝编程组件745可基于旗标值确定与页面相关联的熔丝元件的编程尚未完成。在一些实例中,确定与页面相关联的熔丝元件的编程尚未完成可包含:当旗标的一组位的阈值百分比经设置时确定与页面相关联的熔丝元件的编程尚未完成。在一些实例中,熔丝编程组件745可基于确定熔丝元件的编程尚未完成而继续熔丝元件的编程。在一些情况中,熔丝元件的编程可指示页面被引退。
119.图8展示说明根据本公开的方面的支持用于引退存储器装置的页面的方法的方法800的流程图。可由如本文中描述的存储器装置或其组件来实施方法800的操作。例如,可由如关于图7描述的存储器装置来执行方法800的操作。在一些实例中,存储器装置可执行指令集以控制存储器装置的功能元件以执行所描述功能。额外地或替代地,存储器装置可使用专用硬件来执行所描述功能的方面。
120.在805,存储器装置可在加电时从与非易失性存储器的一组页面的第一页面相关联的第一选择器获得第一选择器值。可根据本文中描述的方法来执行805的操作。在一些实例中,可由如关于图7描述的选择器读取组件来执行805的操作的方面。
121.在810,存储器装置可基于第一选择器值确定第一页面含有有效数据。可根据本文中描述的方法来执行810的操作。在一些实例中,可由如关于图7描述的页面确定组件来执行810的操作的方面。
122.在815,存储器装置可基于与第一页面相关联的计数器值确定应引退第一页面。可根据本文中描述的方法来执行815的操作。在一些实例中,可由如关于图7描述的页面确定组件来执行815的操作的方面。
123.在820,存储器装置可更新与第一页面相关联的第一选择器值以反映第一页面的引退。可根据本文中描述的方法来执行820的操作。在一些实例中,可由如关于图7描述的选择器更新组件来执行820的操作的方面。
124.在825,存储器装置可将数据写入到所述一组页面的第二页面来代替第一页面。可根据本文中描述的方法来执行825的操作。在一些实例中,可由如关于图7描述的数据读取器/写入器来执行825的操作的方面。
125.在一些实例中,如本文中描述的设备可执行一方法或若干方法,例如方法800。设备可包含用于以下的特征、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):在加电时从与非易失性存储器的一组页面的第一页面相关联的第一选择器获得第一选择器值;基于第一选择器值确定第一页面含有有效数据;基于与第一页面相关联的计数器值确定应引退第一页面;更新与第一页面相关联的第一选择器值以反映第一页面的引退;及将数据写入到所述一组页面的第二页面来代替所述第一页面。
126.本文中描述的方法800及设备的一些实例可进一步包含用于更新与第二页面相关联的第二选择器值以反映第二页面含有有效数据的操作、特征、构件或指令。
127.本文中描述的方法800及设备的一些实例可进一步包含用于按某种顺序从在第一位置中的页面开始且根据所述顺序执行页面确定过程,直到可发现所述一组页面的页面可能尚未被引退的操作、特征、构件或指令。在本文中描述的方法800及设备的一些实例中,执行页面确定过程可包含用于获得对应于页面的选择器值,及基于选择器值确定页面是否可能已被引退的操作、特征、构件或指令。
128.在本文中描述的方法800及设备的一些实例中,确定可能应引退第一页面可包含用于确定计数器值可高于阈值的操作、特征、构件或指令。
129.本文中描述的方法800及设备的一些实例可进一步包含用于以下的操作、特征、构件或指令:获得与所述一组页面的第三页面相关联的第三选择器值;及基于第三选择器值确定第三页面可能已被引退,其中获得与第一页面相关联的第一选择器值可基于确定第三页面可能已被引退。
130.在本文中描述的方法800及设备的一些实例中,第一选择器可包含与第一页面相关联的熔丝元件。在本文中描述的方法800及设备的一些实例中,更新第一选择器值以反映第一页面的引退可包含用于编程与第一页面相关联的第一熔丝元件的操作、特征、构件或指令。
131.在本文中描述的方法800及设备的一些实例中,第一选择器可包含存储于第一页面中的旗标。在本文中描述的方法800及设备的一些实例中,更新第一选择器值以反映第一页面的引退可包含用于设置存储于第一页面中的第一旗标的操作、特征、构件或指令。在本文中描述的方法800及设备的一些实例中,旗标可包含一组位。在本文中描述的方法800及设备的一些实例中,确定第一页面含有有效数据可包含:当旗标的所述一组位的阈值百分比可经设置时确定第一页面含有有效数据。
132.在本文中描述的方法800及设备的一些实例中,确定计数器值可包含用于从第一
页面读取计数器值的操作、特征、构件或指令。在本文中描述的方法800及设备的一些实例中,确定计数器值可包含用于获得与第一页面相关联的第二计数器值,及递增第二计数器值以获得计数器值的操作、特征、构件或指令。
133.本文中描述的方法800及设备的一些实例可进一步包含用于接收复位命令的操作、特征、构件或指令。在本文中描述的方法800及设备的一些实例中,将数据写入到第二页面可基于接收复位命令。
134.本文中描述的方法800及设备的一些实例可进一步包含用于基于确定第一页面含有有效数据而从第一页面获得状态数据的操作、特征、构件或指令。在本文中描述的方法800及设备的一些实例中,将数据写入到第二页面可包含用于将状态数据写入到第二页面的操作、特征、构件或指令。
135.图9展示说明根据本公开的方面的支持用于引退存储器装置的页面的方法的方法900的流程图。可由如本文中描述的存储器装置或其组件来实施方法900的操作。例如,可由如关于图7描述的存储器装置来执行方法900的操作。在一些实例中,存储器装置可执行指令集以控制存储器装置的功能元件以执行所描述功能。额外地或替代地,存储器装置可使用专用硬件来执行所描述功能的方面。
136.在905,存储器装置可在存储器装置的加电时从非易失性存储器的一组页面的页面的旗标获得第一旗标值。可根据本文中描述的方法来执行905的操作。在一些实例中,可由如关于图7描述的旗标控制器来执行905的操作的方面。
137.在910,存储器装置可基于旗标值确定与页面相关联的熔丝元件的编程尚未完成。可根据本文中描述的方法来执行910的操作。在一些实例中,可由如关于图7描述的熔丝编程组件来执行910的操作的方面。
138.在915,存储器装置可基于确定熔丝元件的编程尚未完成而继续熔丝元件的编程,其中熔丝元件的编程指示页面被引退。可根据本文中描述的方法来执行915的操作。在一些实例中,可由如关于图7描述的熔丝编程组件来执行915的操作的方面。
139.在920,存储器装置可确定熔丝元件的编程已完成。可根据本文中描述的方法来执行920的操作。在一些实例中,可由如关于图7描述的熔丝编程组件来执行920的操作的方面。
140.在925,存储器装置可基于确定熔丝元件的编程已完成而将第二旗标值写入到页面的旗标。可根据本文中描述的方法来执行925的操作。在一些实例中,可由如关于图7描述的旗标控制器来执行925的操作的方面。
141.在一些实例中,如本文中描述的设备可执行一方法或若干方法,例如方法900。设备可包含用于以下的特征、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):在存储器装置的加电时从非易失性存储器的一组页面的页面的旗标获得第一旗标值;基于旗标值确定与页面相关联的熔丝元件的编程尚未完成;基于确定熔丝元件的编程尚未完成而继续熔丝元件的编程,其中熔丝元件的编程指示页面被引退;确定熔丝元件的编程已完成;及基于确定熔丝元件的编程已完成而将第二旗标值写入到页面的旗标。
142.本文中描述的方法900及设备的一些实例可进一步包含用于基于确定熔丝元件的编程可能尚未完成而从第二页面获得数据的操作、特征、构件或指令。
143.在本文中描述的方法900及设备的一些实例中,旗标可包含一组位。在本文中描述的方法900及设备的一些实例中,确定与页面相关联的熔丝元件的编程可能尚未完成包含:当旗标的所述一组位的阈值百分比可经设置时确定与页面相关联的熔丝元件的编程可能尚未完成。
144.本文中描述的方法900及设备的一些实例可进一步包含用于以下的操作、特征、构件或指令:在存储器装置的加电之前获得页面的计数器值;基于计数器值确定应引退页面;基于确定应引退页面而将页面的旗标设置为第一旗标值;及基于设置旗标而起始存储器装置的页面改变操作。在本文中描述的方法900及设备的一些实例中,页面改变操作可包含编程熔丝元件。
145.应注意,上文描述的方法描述可能实施方案,且可重新布置或以其它方式修改操作及步骤,且其它实施方案是可能的。此外,可组合来自两种或更多种方法的部分。
146.描述一种存储器装置。存储器装置可包含非易失性存储器的多个页面及控制器。控制器可经配置以:在加电时从与多个页面中的第一页面相关联的第一选择器获得第一选择器值;至少部分基于所述第一选择器值确定第一页面含有有效数据;至少部分基于与第一页面相关联的计数器值确定应引退第一页面;更新与第一页面相关联的第一选择器值以反映第一页面的引退;及将数据写入到多个页面中的第二页面来代替第一页面。
147.在一些实例中,可根据预定顺序定位多个页面的页面,且控制器可进一步经配置以按所述顺序从在第一位置中的页面开始且根据所述顺序执行页面确定过程,直到发现多个页面的页面尚未被引退。页面确定过程可包含:获得对应于页面的选择器值;及至少部分基于选择器值确定页面是否已被引退。在一些实例中,按所述顺序定位于第一页面之前的多个页面的页面可能已被引退,如对应选择器值中所反映,且按所述顺序定位于第一页面之后的多个页面的页面可能尚未被引退,如对应选择器值中所反映。
148.在一些实例中,控制器可进一步经配置以更新与第二页面相关联的第二计数器值。
149.在一些实例中,控制器可进一步经配置以至少部分基于确定计数器值高于阈值而确定应引退第一页面。
150.在一些实例中,控制器可进一步经配置以:获得与多个页面中的第三页面相关联的第三选择器值;及至少部分基于第三选择器值确定第三页面已被引退,其中获得与第一页面相关联的第一选择器值至少部分基于确定第三页面已被引退。
151.可使用多种不同科技及技术中的任何者来表示本文中描述的信息及信号。例如,可由电压、电流、电磁波、磁场或粒子、光场或粒子或其任何组合来表示可在整个上文描述中引用的数据、指令、命令、信息、信号、位、符号及芯片。一些图式可将信号说明为单个信号;然而,所属领域的一般技术人员将理解,信号可表示信号总线,其中总线可具有多种位宽度。
152.本文中论述的装置(包含存储器阵列)可形成于半导体衬底(例如硅、锗、硅锗合金、砷化镓、氮化镓等)上。在一些实例中,衬底是半导体晶片。在其它实例中,衬底可为绝缘体上硅(soi)衬底,例如玻璃上硅(sog)或蓝宝石上硅(sop),或另一衬底上的半导体材料的外延层。可通过使用各种化学物种(包含(但不限于)磷、硼或砷)进行掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间由离子植入或由任何其它掺杂手段来
执行掺杂。
153.本文中论述的开关组件或晶体管可表示场效晶体管(fet),且包括包含源极、漏极与栅极的三端装置。端子可通过导电材料(例如,金属)连接到其它电子元件。源极及漏极可为导电的且可包括重掺杂(例如,简并(degenerate))半导体区。源极及漏极可由轻掺杂半导体区或沟道分隔。如果沟道是n型(即,多数载子是电子),那么fet可被称为n型fet。如果沟道是p型(即,多数载子是空穴),那么fet可被称为p型fet。沟道可由绝缘栅极氧化物罩盖。可通过将电压施加到栅极来控制沟道导电性。例如,分别将正电压或负电压施加到n型fet或p型fet可导致沟道变得导电。当将大于或等于晶体管的阈值电压的电压施加到晶体管栅极时,晶体管可“导通”或“激活”。当将小于晶体管的阈值电压的电压施加到晶体管栅极时,晶体管可“关闭”或“撤销激活”。
154.本文中陈述的描述结合附图描述实例配置且不表示可实施或在权利要求书的范围内的全部实例。本文中使用的术语“示范性”意味着“用作实例、例子或说明”且并非“优选的”或“优于其它实例”。具体实施方式包含具体细节以提供对所描述技术的理解。然而,可在不具有这些具体细节的情况下实践这些技术。在一些例子中,以框图形式展示众所周知的结构及装置以避免使所描述实例的概念不清楚。
155.在附图中,类似组件或特征可具有相同元件符号。此外,可由在元件符号后加一破折号及在类似组件间区分的第二标签来区分相同类型的各个组件。如果在说明书中仅使用第一元件符号,那么描述适用于具有相同第一元件符号的类似组件中的任一者,而与第二参考标签无关。
156.可在硬件、由处理器执行的软件、固件或其任何组合中实施本文中描述的功能。如果在由处理器执行的软件中实施,那么功能可作为一或多个指令或代码存储于计算机可读媒体上或经由计算机可读媒体传输。其它实例及实施方案在本公开及随附权利要求书的范围内。例如,归因于软件的性质,可使用由处理器执行的软件、硬件、固件、硬接线或这些中的任何者的组合来实施上文描述的功能。实施功能的特征还可物理上定位于各种位置处,包含经分布使得在不同物理位置处实施功能的部分。
157.例如,可运用经设计以执行本文中描述的功能的通用处理器、dsp、asic、fpga或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行结合本文中的公开内容描述的各种说明性块及模块。通用处理器可为微处理器,但在替代例中,处理器可为任何处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合(例如,dsp及微处理器的组合、多个微处理器、结合dsp核心的一或多个微处理器,或任何其它此配置)。
158.如本文中使用,包含在权利要求书中,如在项目列表(例如,后加例如“至少一者”或“一或多者”的词组的项目列表)中使用的“或”指示包含性列表,使得例如a、b或c中的至少一者的列表意味着a或b或c或ab或ac或bc或abc(即,a及b及c)。此外,如本文中使用,词组“基于”不应被解释为对一组封闭条件的引用。例如,在不脱离本公开的范围的情况下,被描述为“基于条件a”的示范性步骤可基于条件a及条件b两者。换句话说,如本文中使用,词组“基于”应以相同于词组“至少部分基于”的方式进行解释。
159.计算机可读媒体包含非暂时性计算机存储媒体及包含促进计算机程序从一处传送到另一处的任何媒体的通信媒体两者。非暂时性存储媒体可为可由通用或专用计算机存
取的任何可用媒体。通过实例且非限制地,非暂时性计算机可读媒体可包括ram、rom、电可擦除可编程只读存储器(eeprom)、光盘(cd)rom或其它光盘存储器、磁盘存储器或其它磁性存储装置,或可用来以指令或数据结构的形式载送或存储所要程序代码构件,且可由通用或专用计算机或通用或专用处理器存取的任何其它非暂时性媒体。此外,任何连接被适当地称为计算机可读媒体。例如,如果使用同轴电缆、光纤缆线、双绞线、数字用户线(dsl)或例如红外线、无线电及微波的无线技术从网站、服务器或其它远程源传输软件,那么同轴电缆、光纤缆线、双绞线、数字用户线(dsl)或例如红外线、无线电及微波的无线技术被包含在媒体的定义中。如本文中所使用,磁盘及光盘包含cd、激光光盘、光盘、数字多功能光盘(dvd)、软盘及蓝光光盘,其中磁盘通常磁性地再现数据,而光盘运用激光光学地再现数据。上述的组合也被包含在计算机可读媒体的范围内。
160.提供本文中的描述以使所属领域的技术人员能够进行或使用本公开。所属领域的技术人员将明白本公开的各种修改,且本文中定义的一般原理可应用于其它变动而不脱离本公开的范围。因此,本公开不限于本文中描述的实例及设计,而是应符合与本文中公开的原理及新颖特征一致的最广范围。
技术特征:
1.一种方法,其包括:在加电时从与非易失性存储器的多个页面中的第一页面相关联的第一选择器获得第一选择器值;至少部分基于所述第一选择器值确定所述第一页面含有有效数据;至少部分基于与所述第一页面相关联的计数器值确定应引退所述第一页面;更新与所述第一页面相关联的所述第一选择器值以反映所述第一页面的引退;及将数据写入到所述多个页面中的第二页面来代替所述第一页面。2.根据权利要求1所述的方法,其进一步包括:更新与所述第二页面相关联的第二选择器值以反映所述第二页面含有有效数据。3.根据权利要求1所述的方法,其中根据预定顺序定位所述多个页面的所述页面,所述方法进一步包括:按所述顺序从在第一位置中的页面开始且根据所述顺序执行页面确定过程,直到发现所述多个页面的页面尚未被引退,所述页面确定过程包括:获得对应于所述页面的选择器值;及至少部分基于所述选择器值确定所述页面是否已被引退,其中:按所述顺序定位于所述第一页面之前的所述多个页面的页面已被引退,如所述对应选择器值中所反映,及按所述顺序定位于所述第一页面之后的所述多个页面的页面尚未被引退,如所述对应选择器值中所反映。4.根据权利要求1所述的方法,其进一步包括更新与所述第二页面相关联的第二计数器值。5.根据权利要求1所述的方法,其中确定应引退所述第一页面包括:确定所述计数器值高于阈值。6.根据权利要求1所述的方法,其进一步包括:获得与所述多个页面中的第三页面相关联的第三选择器值;及至少部分基于所述第三选择器值确定所述第三页面已被引退,其中获得与所述第一页面相关联的所述第一选择器值至少部分基于确定所述第三页面已被引退。7.根据权利要求1所述的方法,其中所述第一选择器包括与所述第一页面相关联的熔丝元件。8.根据权利要求1所述的方法,其中所述第一选择器包括存储于所述第一页面中的旗标。9.根据权利要求8所述的方法,其中所述旗标包括多个位,且其中确定所述第一页面含有有效数据包括:当所述旗标的所述多个位的阈值百分比经设置时确定所述第一页面含有有效数据。10.根据权利要求1所述的方法,其中确定所述计数器值包括:从所述第一页面读取所述计数器值。11.根据权利要求1所述的方法,其中确定所述计数器值包括:获得与所述第一页面相关联的第二计数器值;及
递增所述第二计数器值以获得所述计数器值。12.根据权利要求1所述的方法,其进一步包括:接收复位命令,其中将数据写入到所述第二页面至少部分基于接收所述复位命令。13.根据权利要求1所述的方法,其进一步包括:至少部分基于确定所述第一页面含有有效数据而从所述第一页面获得状态数据。14.根据权利要求13所述的方法,其中将数据写入到所述第二页面包括:将所述状态数据写入到所述第二页面。15.根据权利要求1所述的方法,其中:更新所述第一选择器值以反映所述第一页面的引退包括:设置存储于所述第一页面中的第一旗标。16.根据权利要求1所述的方法,其中:更新所述第一选择器值以反映所述第一页面的引退包括:编程与所述第一页面相关联的第一熔丝元件。17.一种方法,其包括:在存储器装置的加电时从非易失性存储器的多个页面的页面的旗标获得旗标值;至少部分基于所述旗标值确定与所述页面相关联的熔丝元件的编程尚未完成;至少部分基于确定所述熔丝元件的所述编程尚未完成而继续所述熔丝元件的所述编程,其中所述熔丝元件的所述编程指示所述页面被引退;确定所述熔丝元件的所述编程已完成;及至少部分基于确定所述熔丝元件的所述编程已完成而将第二旗标值写入到所述页面的所述旗标。18.根据权利要求17所述的方法,其进一步包括:至少部分基于确定所述熔丝元件的所述编程尚未完成而从第二页面获得数据。19.根据权利要求17所述的方法,其中所述旗标包括多个位,且其中确定与所述页面相关联的所述熔丝元件的所述编程尚未完成包括:当所述旗标的所述多个位的阈值百分比经设置时确定与所述页面相关联的所述熔丝元件的所述编程尚未完成。20.根据权利要求17所述的方法,其进一步包括:在所述存储器装置的所述加电之前获得所述页面的计数器值;至少部分基于所述计数器值确定应引退所述页面;至少部分基于确定应引退所述页面而将所述页面的所述旗标设置为所述旗标值;及至少部分基于设置所述旗标而起始所述存储器装置的页面改变操作,其中所述页面改变操作包括编程所述熔丝元件。21.一种存储器装置,其包括:非易失性存储器的多个页面;及控制器,其经配置以:在加电时从与所述多个页面中的第一页面相关联的第一选择器获得第一选择器值;至少部分基于所述第一选择器值确定所述第一页面含有有效数据;至少部分基于与所述第一页面相关联的计数器值确定应引退所述第一页面;更新与所述第一页面相关联的所述第一选择器值以反映所述第一页面的引退;及
将数据写入到所述多个页面中的第二页面来代替所述第一页面。22.根据权利要求21所述的存储器装置,其中根据预定顺序定位所述多个页面的所述页面,且其中所述控制器进一步经配置以:按所述顺序从在第一位置中的页面开始且根据所述顺序执行页面确定过程,直到发现所述多个页面的页面尚未被引退,所述页面确定过程包括:获得对应于所述页面的选择器值;及至少部分基于所述选择器值确定所述页面是否已被引退,其中:按所述顺序定位于所述第一页面之前的所述多个页面的页面已被引退,如所述对应选择器值中所反映,及按所述顺序定位于所述第一页面之后的所述多个页面的页面尚未被引退,如所述对应选择器值中所反映。23.根据权利要求21所述的存储器装置,其中所述控制器进一步经配置以更新与所述第二页面相关联的第二计数器值。24.根据权利要求21所述的存储器装置,其中所述控制器进一步经配置以至少部分基于确定所述计数器值高于阈值而确定应引退所述第一页面。25.根据权利要求21所述的存储器装置,其中所述控制器进一步经配置以:获得与所述多个页面中的第三页面相关联的第三选择器值;及至少部分基于所述第三选择器值确定所述第三页面已被引退,其中获得与所述第一页面相关联的所述第一选择器值至少部分基于确定所述第三页面已被引退。
技术总结
本发明描述用于引退存储器装置的页面的方法、系统及装置。可使用一组有序装置信息页面来存储装置信息。所述装置信息页面可在非易失性存储器中。每一页面可包含存取次数的计数器值以指示所述页面是否包含有效数据。可在所述计数器值达到阈值时设置与所述页面相关联的旗标以引退所述页面。在加电时,所述装置可基于所述旗标确定使用哪一页面。所述旗标可存储于所述页面中,或可为单独的(例如,熔丝元件)。如果使用熔丝元件,那么所述页面可在所述熔丝元件的编程在失电之前可能尚未完成时存储编程过程中旗标以进行指示,在所述情况中,所述编程可在电力恢复之后再起动。所述编程可在电力恢复之后再起动。所述编程可在电力恢复之后再起动。
技术研发人员:D
受保护的技术使用者:美光科技公司
技术研发日:2021.11.10
技术公布日:2023/8/1
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:用于与气溶胶生成装置一起使用的筒的制作方法 下一篇:荧光X射线分析装置的制作方法