CN115966242A - 用于存储器系统的参数表保护 - Google Patents
用于存储器系统的参数表保护 Download PDFInfo
- Publication number
- CN115966242A CN115966242A CN202211181525.0A CN202211181525A CN115966242A CN 115966242 A CN115966242 A CN 115966242A CN 202211181525 A CN202211181525 A CN 202211181525A CN 115966242 A CN115966242 A CN 115966242A
- Authority
- CN
- China
- Prior art keywords
- parameter data
- memory system
- memory
- errors
- counter
- 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.)
- Withdrawn
Links
- 230000015654 memory Effects 0.000 title claims abstract description 643
- 238000000034 method Methods 0.000 claims description 80
- 238000003860 storage Methods 0.000 description 37
- 238000004193 electrokinetic chromatography Methods 0.000 description 28
- 230000008569 process Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 25
- 238000012937 correction Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 21
- 238000012546 transfer Methods 0.000 description 16
- 238000011156 evaluation Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 239000000758 substrate Substances 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 6
- 238000003491 array Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000003213 activating effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 239000000969 carrier Substances 0.000 description 2
- 150000004770 chalcogenides Chemical class 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- JBRZTFJDHDCESZ-UHFFFAOYSA-N AsGa Chemical compound [As]#[Ga] JBRZTFJDHDCESZ-UHFFFAOYSA-N 0.000 description 1
- ZOXJGFHDIHLPTG-UHFFFAOYSA-N Boron Chemical compound [B] ZOXJGFHDIHLPTG-UHFFFAOYSA-N 0.000 description 1
- 229910002601 GaN Inorganic materials 0.000 description 1
- 229910001218 Gallium arsenide Inorganic materials 0.000 description 1
- JMASRVWKEDWRBT-UHFFFAOYSA-N Gallium nitride Chemical compound [Ga]#N JMASRVWKEDWRBT-UHFFFAOYSA-N 0.000 description 1
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 1
- 229910000577 Silicon-germanium Inorganic materials 0.000 description 1
- LEVVHYCKPQWKOP-UHFFFAOYSA-N [Si].[Ge] Chemical compound [Si].[Ge] LEVVHYCKPQWKOP-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 229910045601 alloy Inorganic materials 0.000 description 1
- 239000000956 alloy Substances 0.000 description 1
- 229910052785 arsenic Inorganic materials 0.000 description 1
- RQNWIZPPADIBDY-UHFFFAOYSA-N arsenic atom Chemical compound [As] RQNWIZPPADIBDY-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 229910052796 boron Inorganic materials 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- -1 but not limited to Substances 0.000 description 1
- 239000013626 chemical specie Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 229910052732 germanium Inorganic materials 0.000 description 1
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical compound [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 238000005468 ion implantation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 229910052751 metal Inorganic materials 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 150000002739 metals Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229910052698 phosphorus Inorganic materials 0.000 description 1
- 239000011574 phosphorus Substances 0.000 description 1
- 229910052594 sapphire Inorganic materials 0.000 description 1
- 239000010980 sapphire Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/20—Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0407—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals on power on
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/4402—Internal storage of test result, quality data, chip identification, repair information
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请案涉及用于存储器系统的参数表保护。在首次启动存储器系统之后,所述存储器系统或主机系统可产生与存储到所述存储器系统的参数数据相关联的错误控制码。所述错误控制码可存储到所述存储器系统且可经配置以在所述存储器系统的后续启动序列之后校正所述参数数据中的一或多个错误。因此,在第二次或后续时间启动所述存储器系统之后,所述错误控制码可用于识别及校正所述参数数据中的错误,其可减少存储到所述存储器系统的参数数据的副本数量且可防止所述存储器系统经历系统崩溃。
Description
交叉参考
本专利申请案主张由霍(HUO)在2021年10月13日申请的标题为“用于存储器系统的参数表保护(PARAMETER TABLE PROTECTION FOR A MEMORY SYSTEM)”的第17/500,676号美国专利申请案的优先权,所述美国专利申请案转让给其受让人且以引用方式明确并入本文中。
技术领域涉及用于存储器系统的参数表保护。
背景技术
存储器装置广泛用于在例如计算机、用户装置、无线通信装置、相机、数字显示器及类似者的各种电子装置中存储信息。信息通过将存储器装置内的存储器单元编程到各种状态来存储。举例来说,二进制存储器单元可编程到通常对应于逻辑1或逻辑0的两种支持状态中的一者。在一些实例中,单个存储器单元可支持多于两种可能状态,其中任一者可由存储器单元存储。为了存取由存储器装置存储的信息,组件可读取或感测存储器装置内的一或多个存储器单元的状态。为了存储信息,组件可将存储器装置内的一或多个存储器单元写入或编程到对应状态。
存在各种类型的存储器装置,其包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、静态RAM(SRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻性RAM(RRAM)、快闪存储器、相变存储器(PCM)、3维交叉点存储器(3D交叉点)、或非(NOR)及与非(NAND)存储器装置及其它。存储器装置可为易失性或非易失性的。易失性存储器单元(例如DRAM单元)可随时间丢失其编程状态,除非其由外部电源周期性刷新。非易失性存储器单元(例如NAND存储器单元)可长时间保存其编程状态,即使缺少外部电源。
发明内容
描述一种方法。所述方法可包含:在启动存储器系统首次发生之后,识别存储到所述存储器系统的非易失性存储器装置的用于操作所述存储器系统的参数数据;至少部分基于识别存储到所述存储器系统的所述非易失性存储器装置的所述参数数据而在所述存储器系统处产生与所述参数数据相关联的错误控制码;在启动所述存储器系统第二次发生之后,使用所述错误控制码识别与所述参数数据相关联的第一错误;及至少部分基于识别所述第一错误而在所述存储器系统处校正与所述参数数据相关联的所述第一错误。
描述一种方法。所述方法可包含:至少部分基于存储器系统启动首次发生而在主机系统处接收用于操作所述存储器系统的参数数据;至少部分基于从所述存储器系统接收所述参数数据而在所述主机系统处产生与所述参数数据相关联的错误控制码;至少部分基于产生与所述参数数据相关联的所述错误控制码来将与所述参数数据相关联的所述错误控制码传输到所述存储器系统;至少部分基于所述存储器系统启动第二次发生且在将与所述参数数据相关联的所述错误控制码传输到所述存储器系统之后在所述主机系统处从所述存储器系统接收所述参数数据;至少部分基于从所述存储器系统接收所述参数数据而在所述主机系统处校正与所述参数数据相关联的第一错误;及至少部分基于校正与所述参数数据相关联的所述第一错误来将经校正参数数据传输到所述存储器系统。
描述一种存储代码的非暂时性计算机可读媒体。所述代码可包含可由处理器执行以进行以下的指令:在启动存储器系统首次发生之后,识别存储到所述存储器系统的非易失性存储器装置的用于操作所述存储器系统的参数数据;至少部分基于识别存储到所述存储器系统的所述非易失性存储器装置的所述参数数据而在所述存储器系统处产生与所述参数数据相关联的错误控制码;在启动所述存储器系统第二次发生之后,使用所述错误控制码识别与所述参数数据相关联的第一错误;及至少部分基于识别所述第一错误而在所述存储器系统处校正与所述参数数据相关联的所述第一错误。
附图说明
图1说明根据本文中公开的实例的支持用于存储器系统的参数表保护的系统的实例。
图2说明根据本文中公开的实例的支持用于存储器系统的参数表保护的系统的实例。
图3到5说明根据本文中公开的实例的支持用于存储器系统的参数表保护的过程流程图的实例。
图6说明根据本文中公开的实例的支持用于存储器系统的参数表保护的系统的框图。
图7展示根据本文中公开的实例的支持用于存储器系统的参数表保护的存储器系统的框图。
图8展示根据本文中公开的实例的支持用于存储器系统的参数表保护的主机系统的框图。
图9及10展示说明根据本文中公开的实例的支持用于存储器系统的参数表保护的一或若干方法的流程图。
具体实施方式
例如非易失性存储器系统(例如包含非易失性存储器单元的存储器系统,例如NAND存储器单元或快闪存储器单元)的一些存储器系统可存储含有关于存储器系统的信息的数据(例如参数数据)。举例来说,参数数据可向存储器系统指示其可执行什么命令、如何对接主机系统、存储器系统能够采用什么标准及其它重要信息。在一些例子中,参数数据可能无法由存储器系统的用户修改(例如,用户可能无法写入、擦除或以其它方式更改数据)。因而,如果参数数据损坏(例如,如果数据的一或多个位损坏),那么存储器系统可能无法正常运转。
为了解释此问题,一些存储器系统可存储参数数据的多个副本。举例来说,存储器系统可包含数据的n个副本(例如,呈表格式),使得如果一个副本损坏,那么可替换副本以确保存储器系统正常运转。然而,参数数据的单个副本占据存储器系统的大存储区域,因此存储多个副本会减少存储器系统可用于存储其它数据的存储量。因此,期望经配置以校正参数数据中的错误且因此减少存储副本数量的存储器系统。
本文中描述经配置以校正与参数数据相关联的错误的存储器系统。在一些实例中,存储器系统可存储含有关于存储器系统可执行什么命令、存储器系统如何对接主机系统、存储器系统能够采用什么标准及其它重要信息的指令的数据。可存储于存储器系统处的表中此数据可统称为“参数数据”。在一些例子中,当参数数据损坏时(例如,当参数表的一或多个位“翻转”到不正确位值时),存储器系统或与存储器系统耦合的主机系统可使用错误控制码(ECC)识别及校正错误。
在一些实例中,当存储器系统首次启动时,可产生用于参数数据的ECC。ECC可由存储器系统或主机系统产生。因此,在后续启动序列期间,存储器系统或主机系统可使用ECC识别及校正错误。在一些例子中,当参数数据中的单个位翻转到不正确位值(例如,从“1”翻转到“0”或反之亦然)时,可发生错误。此类错误在本文中可称为“位翻转”,但参数数据可经历可由ECC校正的其它类型的错误。
另外或替代地,由存储器系统或主机系统产生的ECC可经配置以校正参数数据的有限数量的错误。因此,每当校正错误(例如,在单个启动过程期间)时,存储器系统或主机系统可使计数器递增。如果经校正错误数量满足阈值(例如ECC能够校正的错误数量),那么可产生或选择新ECC。新ECC(例如在满足阈值时选择或产生的ECC)可经配置以校正不同于(例如大于)先前ECC的错误数量。因为ECC的大小及复杂性可取决于其经配置以校正的错误数量,所以采用计数器确定何时产生或选择另一ECC可减小由ECC占据的存储器装置的存储量。此外,通过利用ECC校正参数数据中的错误,参数数据的更少副本可存储到存储器系统,其可改进存储器系统的整体存储能力。
首先在参考图1到2的系统、装置及电路的上下文中描述本公开的特征。在参考图3到6的过程流程图的上下文中描述本公开的特征。通过参考图7到10的与用于存储器系统的参数表保护相关的框图及流程图进一步说明且在所述框图及流程图的上下文中描述本公开的这些及其它特征。
图1说明根据本文中公开的实例的支持用于存储器系统的参数表保护的系统100的实例。系统100包含与存储器系统110耦合的主机系统105。
存储器系统110可为或包含任何装置或装置集合,其中装置或装置集合包含至少一个存储器阵列。举例来说,存储器系统110可为或包含通用快闪存储(UFS)装置、嵌入式多媒体控制器(eMMC)装置、快闪装置、通用串行总线(USB)快闪装置、安全数字(SD)卡、固态硬盘(SSD)、硬盘驱动器(HDD)、双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM)或非易失性DIMM(NVDIMM)以及其它可能性。
系统100可包含于例如桌面计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如飞机、无人机、火车、汽车或其它运输工具)、物联网(IoT)启用装置、嵌入式计算机(例如包含于交通工具、工业设备或联网商用装置中的嵌入式计算机)或包含存储器及处理装置的任何其它计算装置的计算装置中。
系统100可包含可与存储器系统110耦合的主机系统105。在一些实例中,此耦合可包含与主机系统控制器106的对接,主机系统控制器106可为经配置以致使主机系统105执行根据本文中描述的实例的各种操作的控制器或控制组件的实例。主机系统105可包含一或多个装置,且在一些情况中可包含处理器芯片组及由处理器芯片组执行的软件栈。举例来说,主机系统105可包含经配置以与存储器系统110或其中的装置通信的应用程序。处理器芯片组可包含一或多个核心、一或多个高速缓存(例如在主机系统105本地或包含于主机系统105中的存储器)、存储器控制器(例如NVDIMM控制器)及存储协议控制器(例如外围组件互连高速(PCIe)控制器、串行高级技术附件(SATA)控制器)。主机系统105可使用存储器系统110例如将数据写入到存储器系统110及从存储器系统110读取数据。尽管图1中展示一个存储器系统110,但主机系统105可与任何数量的存储器系统110耦合。
主机系统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耦合)。
存储器系统110可包含存储器系统控制器115及一或多个存储器装置130。存储器装置130可包含任何类型的存储器单元(例如非易失性存储器单元、易失性存储器单元或其任何组合)的一或多个存储器阵列。尽管图1的实例中展示两个存储器装置130-a及130-b,但存储器系统110可包含任何数量的存储器装置130。此外,如果存储器系统110包含多于一个存储器装置130,那么存储器系统110内的不同存储器装置130可包含相同或不同类型的存储器单元。
存储器系统控制器115可与主机系统105耦合及通信(例如,经由物理主机接口)且可为经配置以致使存储器系统110执行根据本文中描述的实例的各种操作的控制器或控制组件的实例。存储器系统控制器115还可与存储器装置130耦合及通信以在存储器装置130处执行例如读取数据、写入数据、擦除数据或刷新数据的操作及其它此类操作,其可统称为存取操作。在一些情况中,存储器系统控制器115可从主机系统105接收命令且与一或多个存储器装置130通信以执行此类命令(例如,在一或多个存储器装置130内的存储器阵列处)。举例来说,存储器系统控制器115可从主机系统105接收命令或操作且可将命令或操作转换成指令或适当命令以实现存储器装置130的期望存取。在一些情况中,存储器系统控制器115可与主机系统105及一或多个存储器装置130交换数据(例如,响应于或以其它方式相关联于来自主机系统105的命令)。举例来说,存储器系统控制器115可将与存储器装置130相关联的响应(例如数据分组或其它信号)转换成用于主机系统105的对应信号。
存储器系统控制器115可经配置用于与存储器装置130相关联的其它操作。举例来说,存储器系统控制器115可执行或管理操作,例如损耗均衡操作、废弃项目收集操作、例如错误检测操作或错误校正操作的错误控制操作、加密操作、高速缓存操作、媒体管理操作、后台刷新、健康监测及与来自主机系统105的命令相关联的逻辑地址(例如逻辑块地址(LBA))与存储器装置130内的存储器单元相关联的物理地址(例如物理块地址)之间的地址转译。
存储器系统控制器115可包含例如一或多个集成电路或离散组件、缓冲存储器或其组合的硬件。硬件可包含具有执行本文中归于存储器系统控制器115的操作的专用(例如硬编码)逻辑的电路系统。存储器系统控制器115可为或包含微控制器、专用逻辑电路系统(例如现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP))或任何其它合适处理器或处理电路系统。
存储器系统控制器115还可包含本地存储器120。在一些情况中,本地存储器120可包含只读存储器(ROM)或可存储可由存储器系统控制器115执行以执行本文中归于存储器系统控制器115的功能的操作代码(例如可执行指令)的其它存储器。在一些情况中,本地存储器120可另外或替代地包含静态随机存取存储器(SRAM)或可由存储器系统控制器115用于例如与本文中归于存储器系统控制器115的功能相关的内部存储或计算的其它存储器。另外或替代地,本地存储器120可用作用于存储器系统控制器115的高速缓存。举例来说,数据可在从存储器装置130读取或写入到存储器装置130时存储于本地存储器120中,且数据可用于本地存储器120内以由主机系统105根据高速缓存策略进行后续检索或操纵(例如更新)(例如,相对于存储器装置130具有减少延时)。
尽管图1中的存储器系统110的实例已说明为包含存储器系统控制器115,但在一些情况中,存储器系统110可不包含存储器系统控制器115。举例来说,存储器系统110可另外或替代地依赖外部控制器(例如,由主机系统105实施)或一或多个本地控制器135,一或多个本地控制器135可分别在存储器装置130内部以执行本文中归于存储器系统控制器115的功能。一般来说,本文中归于存储器系统控制器115的一或多个功能在一些情况中可代以由主机系统105、本地控制器135或其任何组合执行。在一些情况中,至少部分由存储器系统控制器115管理的存储器装置130可称为受管理存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。
存储器装置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)存储器单元。
在一些实例中,存储器装置130可包含(例如,在相同裸片上或在相同封装内)本地控制器135,其可对相应存储器装置130的一或多个存储器单元执行操作。本地控制器135可结合存储器系统控制器115操作或可执行本文中归于存储器系统控制器115的一或多个功能。举例来说,如图1中说明,存储器装置130-a可包含本地控制器135-a且存储器装置130-b可包含本地控制器135-b。
在一些情况中,存储器装置130可为或包含NAND装置(例如NAND快闪装置)。存储器装置130可为或包含存储器裸片160。举例来说,在一些情况中,存储器装置130可为包含一或多个裸片160的封装。在一些实例中,裸片160可为从晶片切割的一块电子级半导体(例如从硅晶片切割的硅裸片)。每一裸片160可包含一或多个平面165,且每一平面165可包含一组相应块170,其中每一块170可包含一组相应页面175,且每一页面175可包含一组存储器单元。
在一些情况中,NAND存储器装置130可包含经配置以各自存储一个信息位的存储器单元,其可称为单电平单元(SLC)。另外或替代地,NAND存储器装置130可包含经配置以各自存储多个信息位的存储器单元,其在配置以各自存储两个信息位时可称为多电平单元(MLC),在经配置以各自存储三个信息位时可称为三电平单元(TLC),在经配置以各自存储四个信息位时可称为四电平单元(QLC),或更一般称为多电平存储器单元。多电平存储器单元可提供相对于SLC存储器单元的更大存储密度,但在一些情况中,可涉及更窄读取或写入裕度或更大复杂性以支持电路系统。
在一些情况中,平面165可指代若干群组的块170,且在一些情况中,并发操作可发生于不同平面165内。举例来说,只要不同块170在不同平面165中,那么可对不同块170内的存储器单元执行并发操作。在一些情况中,个别块170可称为物理块,且虚拟块180可指代可在其内发生并发操作的一群组块170。举例来说,并发操作可对分别在平面165-a、165-b、165-c及165-d内的块170-a、170-b、170-c及170-d执行,且块170-a、170-b、170-c及170-d可统称为虚拟块180。在一些情况中,虚拟块可包含来自不同存储器装置130的块170(例如,包含存储器装置130-a及存储器装置130-b的一或多个平面中的块)。在一些情况中,虚拟块内的块170可在其相应平面165内具有相同块地址(例如,块170-a可为平面165-a的“块0”,块170-b可为平面165-b的“块0”,以此类推)。在一些情况中,在不同平面165中执行并发操作会受到一或多个限制,例如对在其相应平面165内具有相同页面地址的不同页面175内的存储器单元执行并发操作(例如,与命令解码、页面地址解码电路系统或在平面165之间共享的其它电路系统相关)。
在一些情况中,块170可包含组织成行(页面175)及列(例如串,未展示)的存储器单元。举例来说,相同页面175中的存储器单元可共享共同字线(例如,与共同字线耦合),且相同串中的存储器单元可共享共同数字线(其可替代地称为位线)(例如,与共同数字线耦合)。
针对一些NAND架构,存储器单元可以第一粒度级(例如,以页面粒度级)读取及编程(例如写入)但可以第二粒度级(例如,以块粒度级)擦除。即,页面175可为可独立编程或读取(例如,作为单个编程或读取操作的部分并发编程或读取)的存储器的最小单位(例如存储器单元组),且块170可为可独立擦除(例如,作为单个擦除操作的部分并发擦除)的存储器的最小单位(例如存储器单元组)。此外,在一些情况中,NAND存储器单元可在其可用新数据重写之前被擦除。因此,举例来说,旧页面175在一些情况中可直到包含页面175的整个块170被擦除才更新。
系统100可包含支持用于存储器系统的参数表保护的任何数量的非暂时性计算机可读媒体。举例来说,主机系统105、存储器系统控制器115或存储器装置130(例如本地控制器135)可包含或以其它方式可存取存储用于执行本文中归于主机系统105、存储器系统控制器115或存储器装置130的功能的指令(例如固件)的一或多个非暂时性计算机可读媒体。举例来说,此类指令在由主机系统105(例如主机系统控制器106)、存储器系统控制器115或存储器装置130(例如本地控制器135)执行时可致使主机系统105、存储器系统控制器115或存储器装置130执行本文中描述的一或多个相关联功能。
在一些情况中,存储器系统110可利用存储器系统控制器115提供受管理存储器系统,其可包含例如与本地(例如裸片上或封装内)控制器(例如本地控制器135)组合的一或多个存储器阵列及相关电路系统。受管理存储器系统的实例是受管理NAND(MNAND)系统。
在一些实例中,存储器系统110可将参数数据存储于一或多个存储器装置130或本地存储器120处。如本文中描述,主机系统105或存储器系统110(例如存储器系统控制器115)可经配置以产生ECC来校正参数数据中的错误。举例来说,在首次启动存储器系统110之后,存储器系统控制器115可产生及存储ECC。因此,在后续启动序列之后,存储器系统控制器115可识别(例如,使用ECC)参数数据中的一或多个错误。因此,ECC可用于校正错误,其可允许存储器系统110正常运转(例如,避免启动故障及随后系统崩溃)。
在其它实例中,在首次启动存储器系统110之后,存储器系统控制器115可将参数数据的副本传输到主机系统105。主机系统105在接收参数数据的副本之后可产生ECC且将ECC传输到存储器系统110进行存储。因此,在存储器系统110的后续启动序列之后,主机系统105可接收参数数据的副本且存取ECC(例如,存储于存储器系统110处)以识别及校正参数数据中的一或多个错误。因此,主机系统105可将经校正参数数据传输到存储器系统110,且存储器系统控制器115可存储经校正参数数据作为新副本或盖写现存(例如损坏)副本。通过由主机系统105或存储器系统110利用ECC校正参数数据中的错误,参数数据的更少副本可存储到存储器系统110,其可改进其整体存储能力。
图2说明根据本文中公开的实例的支持用于存储器系统的参数表保护的系统200的实例。系统200可为参考图1描述的系统100或其方面的实例。系统200可包含存储器系统210,其经配置以在由主机系统205使用存取命令(例如读取命令或写入命令)请求时存储从主机系统205接收的数据及将数据发送到主机系统205。系统200可实施参考图1描述的系统100的方面。举例来说,存储器系统210及主机系统205可分别为存储器系统110及主机系统105的实例。
存储器系统210可包含存储器装置240以例如响应于从主机系统205接收存取命令而存储在存储器系统210与主机系统205之间传送的数据,如本文中描述。存储器装置240可包含参考图1描述的一或多个存储器装置。举例来说,存储器装置240可包含NAND存储器、PCM、自选择存储器、3D交叉点、其它硫属化物基存储器、FERAM、MRAM、NOR(例如NOR快闪)存储器、STT-MRAM、CBRAM、RRAM或OxRAM。
存储器系统210可包含存储控制器230用于控制数据直接来回传递于存储器装置240,例如用于存储数据、检索数据及确定其中存储数据及从其检索数据的存储器位置。存储控制器230可使用特定于每一类型的存储器装置240的协议直接或经由总线(未展示)与存储器装置240通信。在一些情况中,单个存储控制器230可用于控制相同或不同类型的多个存储器装置240。在一些情况中,存储器系统210可包含多个存储控制器230,例如用于每一类型的存储器装置240的不同存储控制器230。在一些情况中,存储控制器230可实施参考图1描述的本地存储器135的方面。
存储器系统210可另外包含用于与主机系统205通信的接口220及用于临时存储在主机系统205与存储器装置240之间传送的数据的缓冲器225。接口220、缓冲器225及存储控制器230可用于在主机系统205与存储器装置240之间转译数据(例如,如由数据路径250展示),且可统称为数据路径组件。
在传送期间使用缓冲器225临时存储数据可允许数据缓冲为经处理命令,借此减少命令之间的延时且允许与命令相关联的任意数据大小。此还可允许处置命令突发,且一旦突发停止,则可存储或传输(或两者)缓冲数据。缓冲器225可包含相对快速存储器(例如一些类型的易失性存储器,例如SRAM或DRAM)或硬件加速器或两者以允许将数据快速存储到缓冲器225及快速从缓冲器225检索数据。缓冲器225可包含用于缓冲器225与其它组件之间的双向数据传送的数据路径切换组件。
在缓冲器225内临时存储数据可指代在存取命令执行期间在缓冲器225中存储数据。即,在存取命令完成之后,相关联数据可不再保存于缓冲器225中(例如,可用额外存取命令的数据盖写)。另外,缓冲器225可为非高速缓存缓冲器。即,数据可不由主机系统205直接从缓冲器225读取。举例来说,读取命令可添加到队列,无需使地址与已在缓冲器225中的地址匹配的操作(例如,无需高速缓存地址匹配或查找操作)。
存储器系统210可另外包含存储器系统控制器215用于执行从主机系统205接收的命令及在数据移动时控制数据路径组件。存储器系统控制器215可为参考图1描述的存储器系统控制器115的实例。总线235可用于在系统组件之间通信。
在一些情况中,一或多个队列(例如命令队列260、缓冲队列265及存储队列270)可用于控制存取命令的处理及对应数据的移动。例如,如果来自主机系统205的多于一个存取命令由存储器系统210并发处理,那么此可为有益的。作为可能实施方案的实例,命令队列260、缓冲队列265及存储队列270分别描绘于接口220、存储器系统控制器215及存储控制器230处。然而,队列在使用时可定位于存储器系统210内的任何位置。
在主机系统205与存储器装置240之间传送的数据可在存储器系统210中采用不同于非数据信息(例如命令、状态信息)的路径。举例来说,存储器系统210中的系统组件可使用总线235彼此通信,而数据可通过数据路径组件使用数据路径250而非总线235。存储器系统控制器215可通过经由总线235与数据路径组件通信(例如,使用特定于存储器系统210的协议)来控制数据如何及是否在主机系统205与存储器装置240之间传送。
如果主机系统205将存取命令传输到存储器系统210,那么命令可由接口220例如根据协议(例如UFS协议或eMMC协议)接收。因此,接口220可被视为存储器系统210的前端。在接收每一存取命令之后,接口220可例如经由总线235将命令传送到存储器系统控制器215。在一些情况中,每一命令可通过接口220添加到命令队列260以将命令传送到存储器系统控制器215。
存储器系统控制器215可基于来自接口220的通信来确定存取命令已被接收。在一些情况中,存储器系统控制器215可通过从命令队列260检索命令来确定存取命令已被接收。命令可在其从命令队列260检索之后从命令队列260移除,例如通过存储器系统控制器215。在一些情况中,存储器系统控制器215可例如经由总线235致使接口220从命令队列260移除命令。
在确定存取命令已被接收之后,存储器系统控制器215可执行存取命令。针对读取命令,此可意味着从存储器装置240获得数据且将数据传输到主机系统205。针对写入命令,此可意味着从主机系统205接收数据且将数据移动到存储器装置240。
在任一情况中,存储器系统控制器215可使用缓冲器225来临时存储从主机系统205接收或发送到主机系统205的数据等等。缓冲器225可被视为存储器系统210的中端。在一些情况中,缓冲地址管理(例如到缓冲器225中的地址位置的指针)可由接口220、缓冲器225或存储控制器230中的硬件(例如专用电路)执行。
为了处理从主机系统205接收的写入命令,存储器系统控制器215首先可确定缓冲器225是否具有足够可用空间来存储与命令相关联的数据。举例来说,存储器系统控制器215可例如经由固件(例如控制器固件)确定缓冲器225内可用于存储与写入命令相关联的数据的空间量。
在一些情况中,缓冲队列265可用于控制与存储于缓冲器225中的数据相关联的命令流,包含写入命令。缓冲队列265可包含与当前存储于缓冲器225中的数据相关联的存取命令。在一些情况中,命令队列260中的命令可由存储器系统控制器215移动到缓冲队列265且可在相关联数据存储于缓冲器225中时留在缓冲队列265中。在一些情况中,缓冲队列265中的每一命令可与缓冲器225处的地址相关联。即,可维持指示与每一命令相关联的数据存储于缓冲器225中的位置的指针。使用缓冲队列265,可从主机系统205循序接收多个存取命令,且可并发处理存取命令的至少部分。
如果缓冲器225具有足够空间来存储写入数据,那么存储器系统控制器215可致使接口220例如根据协议(例如UFS协议或eMMC协议)将可用性指示传输到主机系统205(例如“传送就绪”指示)。当接口220随后从主机系统205接收与写入命令相关联的数据时,接口220可使用数据路径250将数据传送到缓冲器225进行临时存储。在一些情况中,接口220可从缓冲器225或缓冲队列265获得缓冲器225内存储数据的位置。接口220可例如经由总线235向存储器系统控制器215指示数据传送到缓冲器225是否已完成。
一旦写入数据通过接口220存储于缓冲器225中,则数据可传送出缓冲器225且存储于存储器装置240中。此可使用存储控制器230完成。举例来说,存储器系统控制器215可致使存储控制器230使用数据路径250从缓冲器225检索数据且将数据传送到存储器装置240。存储控制器230可被视为存储器系统210的后端。存储控制器230可例如经由总线235向存储器系统控制器215指示数据传送到存储器装置240中的存储器装置已完成。
在一些情况中,存储队列270可用于辅助写入数据的传送。举例来说,存储器系统控制器215可将来自缓冲队列265的写入命令(例如,经由总线235)推送到存储队列270进行处理。存储队列270可包含用于每一存取命令的条目。在一些实例中,存储队列270可另外包含:缓冲指针(例如地址),其可指示与命令相关联的数据存储于缓冲器225中的位置;及存储指针(例如地址),其可指示与数据相关联的存储器装置240中的位置。在一些情况中,存储控制器230可从缓冲器225、缓冲队列265或存储队列270获得从其获得数据的缓冲器225内的位置。存储控制器230可管理存储器装置240内的位置以存储数据(例如,执行损耗均衡、废弃项目收集及类似者)。条目可例如由存储器系统控制器215添加到存储队列270。条目可在数据传送完成之后例如由存储控制器230或存储器系统控制器215从存储队列270移除。
为了处理从主机系统205接收的读取命令,存储器系统控制器215可再次首先确定缓冲器225是否具有足够可用空间来存储与命令相关联的数据。举例来说,存储器系统控制器215可例如经由固件(例如控制器固件)确定缓冲器225内可用于存储与读取命令相关联的数据的空间量。
在一些情况中,缓冲队列265可用于以类似于上文关于写入命令论述的方式的方式辅助与读取命令相关联的数据的缓冲存储。举例来说,如果缓冲器225具有足够空间来存储读取数据,那么存储器系统控制器215可致使存储控制器230从存储器装置240检索与读取命令相关联的数据且使用数据路径250将数据存储于缓冲器225中进行临时存储。存储控制器230可例如经由总线235向存储器系统控制器215指示数据传送到缓冲器225何时已完成。
在一些情况中,存储队列270可用于辅助读取数据的传送。举例来说,存储器系统控制器215可将读取命令推送到存储队列270进行处理。在一些情况中,存储控制器230可从缓冲器225或存储队列270获得从其检索数据的存储器装置240内的位置。在一些情况中,存储控制器230可从缓冲队列265获得缓冲器225内存储数据的位置。在一些情况中,存储控制器230可从存储队列270获得缓冲器225内存储数据的位置。在一些情况中,存储器系统控制器215可将由存储队列270处理的命令移回到命令队列260。
一旦数据已由存储控制器230存储于缓冲器225中,则数据可传送出缓冲器225且发送到主机系统205。举例来说,存储器系统控制器215可致使接口220使用数据路径250从缓冲器225检索数据且例如根据协议(例如UFS协议或eMMC协议)将数据传输到主机系统205。举例来说,接口220可处理来自命令队列260的命令且可例如经由总线235向存储器系统控制器215指示数据传输到主机系统205已完成。
存储器系统控制器215可根据一顺序(例如先进先出顺序、根据命令队列260的顺序)执行接收到的命令。针对每一命令,存储器系统控制器215可致使对应于命令的数据移进及移出缓冲器225,如上文论述。当数据移动到缓冲器225中且存储于缓冲器225内时,命令可留在缓冲队列265中。如果命令的处理已完成(例如,如果对应于存取命令的数据已传送出缓冲器225),那么可例如由存储器系统控制器215从缓冲队列265移除命令。如果命令从缓冲队列265移除,那么先前存储与所述命令相关联的数据的地址可用于存储与新命令相关联的数据。
存储器系统控制器215可另外经配置用于与存储器装置240相关联的操作。举例来说,存储器系统控制器215可执行或管理操作,例如损耗均衡操作、废弃项目收集操作操作、例如错误检测操作或错误校正操作的错误控制操作、加密操作、高速缓存操作、媒体管理操作、后台刷新、健康监测及与来自主机系统205的命令相关联的逻辑地址(例如LBA)与存储器装置240内的存储器单元相关联的物理地址(例如物理块地址)之间的地址转译。即,主机系统205可发出指示一或多个LBA的命令且存储器系统控制器215可识别由LBA指示的一或多个物理块地址。在一些情况中,一或多个连续LBA可对应于非连续物理块地址。在一些情况中,存储控制器230可经配置以结合或代替存储器系统控制器215执行上述操作中的一或多者。在一些情况中,存储器系统控制器215可执行存储控制器230的功能且存储控制器230可省略。
在一些实例中,存储器系统210可将参数数据存储于一或多个存储器装置240处。如本文中描述,主机系统205或存储器系统210(例如存储器系统控制器215)可经配置以产生ECC来校正参数数据中的错误。举例来说,在首次启动存储器系统210之后,存储器系统控制器215可产生及存储ECC。因此,在后续启动序列之后,存储器系统控制器215可识别(例如,使用ECC)参数数据中的一或多个错误。因此,ECC可用于校正错误,其可允许存储器系统210正常运转(例如,避免启动故障及随后系统崩溃)。
在其它实例中,在首次启动存储器系统210之后,存储器系统控制器215可将参数数据的副本传输到主机系统205。主机系统205在接收参数数据的副本之后可产生ECC且将ECC传输到存储器系统210进行存储。因此,在存储器系统210的后续启动序列之后,主机系统205可接收参数数据的副本且存取ECC(例如,存储于存储器系统210处)以识别及校正参数数据中的一或多个错误。因此,主机系统205可将经校正参数数据传输到存储器系统210,且存储器系统控制器215可存储经校正参数数据作为新副本或盖写现存(例如损坏)副本。通过由主机系统205或存储器系统210利用ECC校正参数数据中的错误,参数数据的更少副本可存储到存储器系统210,其可改进其整体存储能力。
图3说明根据本文中公开的实例的支持用于存储器系统的参数表保护的过程流程图300的实例。在一些实例中,过程流程图300可实施系统100、系统200或其组合的方面。因此,由过程流程图300描述的操作可在以下处或由以下执行:主机系统(例如参考图1描述的主机系统105、参考图2描述的主机系统205)、存储器系统(例如参考图1描述的存储器系统110、参考图2描述的存储器系统210)或其组合。参考图3描述的操作可导致产生ECC,其可用于识别及校正参数数据中的错误。通过由主机系统或存储器系统利用ECC校正参数数据中的错误,参数数据的更少副本可存储到存储器系统,其可改进其整体存储能力。
图3可说明在ECC产生之后由主机系统或存储器系统执行的操作。即,在首次启动存储器系统(例如在制造之后、在安装之后等首次发生)之后,存储器系统或主机系统可产生原始ECC,其可存储到存储器系统且用于识别及校正参数数据(例如存储到存储器系统的参数数据)中的错误。如本文中使用,启动存储器系统可指代向存储器系统的一或多个硬件组件提供电力或启动存储到存储器系统的一或多个方面的软件的过程。在一些例子中,如果存储器系统存储参数数据的多于一个副本,那么可针对所存储参数数据的每一副本产生ECC。此外,所产生的ECC可为错误校正码、错误控制码或错误检测码的实例。因此,图3说明其中可使用ECC来识别及校正参数数据中的错误的存储器系统的后续启动序列。
在框305,存储器系统可启动启动过程。如上文描述,存储器系统可能已经历初始启动序列,因此框305处的启动序列可为第二(或后续)启动序列(例如存储器系统启动的第二次或后续发生),其中ECC已产生且存储到存储器系统。
在框310,可从存储器系统读取参数数据及对应ECC。如本文中描述,参数数据及ECC可从存储器系统读取,但存储器系统或主机系统可使用ECC校正参数数据中的错误。因此,针对裸片上错误校正(例如由存储器系统执行的错误校正),在框310,存储器系统的存储器控制器或其它组件可读取参数数据及ECC以识别及校正参数数据中的错误。在其它实例中,针对主机系统错误校正(例如由主机系统执行的错误校正),在框310,参数数据可传输到主机系统且主机系统随后可存取存储于存储器系统处的ECC以识别及校正参数数据中的错误。
在框315,存储器系统或主机系统可确定参数数据是否包含一或多个错误(例如任何位翻转或其它类型的错误)。针对裸片上错误校正,存储器系统的存储器控制器或其它组件可基于当前参数数据产生ECC且可比较所产生ECC与原始ECC(例如在首次启动存储器系统之后产生及存储的ECC)。在其它实例中,主机系统可基于接收到的参数数据产生ECC且可比较所产生ECC与原始ECC(例如在首次启动存储器系统之后产生及存储的ECC)。在任一例子中,如果ECC匹配,那么参数数据无错误。然而,如果ECC不匹配,那么参数数据可含有一或多个错误,其可由于一或多个位“翻转”(例如,不经意地从“1”变成“0”或反之亦然)。如果参数数据正确(例如,如果参数数据不含任何错误),那么过程流程可进行到框335,而如果参数数据包含一或多个错误,那么过程流程可进行到框320。
在框320,主机系统或存储器系统可校正参数数据中的一或多个错误。举例来说,如果主机系统或存储器系统确定参数数据的位翻转的例子,那么主机系统或存储器系统可使用原始产生的ECC校正参数数据,其可允许存储器系统正常启动。针对裸片上错误校正,存储器系统的存储器控制器或其它组件可校正参数数据且可将经校正参数数据存储到存储器系统。针对由主机系统执行的错误校正,主机系统可校正参数数据且将经校正参数数据传输回存储器系统进行存储。在任一例子中,经校正参数数据可存储为新副本,而在其它例子中,损坏参数数据可由经校正参数数据盖写。
在一些实例(未展示)中,主机系统或存储器系统可使用于被校正的参数数据中的每一错误的计数器递增。计数器可定位于存储器系统(例如存储器系统的存储器控制器)或主机系统处及/或由所述存储器系统或所述主机系统管理。举例来说,在首次校正第一错误之后,计数器可递增(例如,从“0”到“1”),且在首次校正第二错误之后,计数器可再次递增(例如,从“1”到“2”),等等。在一些例子中,每当存储器系统重启时,计数器可复位。
在框325,在320处校正参数数据且使计数器的值递增之后,可比较计数器的值与阈值。阈值可小于ECC能够校正的总错误数量。举例来说,ECC可经配置以校正固定数量的错误且阈值可基于固定数量(例如,)。通过将阈值设置为小于ECC经配置以校正的总错误数量,存储器系统在后续错误校正操作期间可能不太容易出现混叠。因此,主机系统或存储器系统可经配置以比较计数器的值与阈值。如果计数器的值满足阈值,那么主机系统或存储器系统可在框330执行ECC评估,而如果计数器的值不满足阈值,那么过程流程可进行到框335。
在框330,存储器系统或主机系统可基于计数器的值满足阈值来进行ECC评估。在主机系统或存储器系统执行ECC评估的第一实例中,存储器系统或主机系统可使用经校正参数数据产生第二ECC。举例来说,第二ECC可经配置以校正比原始产生的ECC更大的错误数量。因而,在后续启动操作期间,存储器系统或主机系统可使用第二ECC识别及校正错误,其可允许存储器系统或主机系统校正比其先前能够校正的错误数量更大的错误数量。此外,在产生ECC之后,存储器系统或主机系统可更新阈值(例如在框325使用的阈值)以解释第二ECC能够校正更大错误数量。
在主机系统或存储器系统执行ECC评估的第二实例中,存储器系统或主机系统可在存储器系统的第一启动序列之后产生多个ECC。举例来说,存储器系统或主机系统可产生与参数数据相关联的一组ECC,其中每一ECC经配置以校正不同数量的错误。因此,当存储器系统或主机系统确定计数器的值超过可由ECC校正的阈值错误数量时,存储器系统或主机系统可选择新(例如第二)ECC来使用。第二ECC可经配置以校正比先前ECC更大的错误数量。在计数器的值再次满足阈值之后,存储器系统或主机系统可继续选择能够校正比先前ECC更大的错误数量的ECC。
在主机系统或存储器系统执行ECC评估的第三实例中,存储器系统或主机系统可将经校正参数数据存储于不同于先前参数数据(例如损坏参数数据)存储的位置处。举例来说,损坏参数数据可存储于存储器系统的第一部分处且在校正之后,经校正参数数据可存储到存储器系统的第二部分。在任何例子中,通过由主机系统或存储器系统利用ECC校正参数数据中的错误,参数数据的更少副本可存储到存储器系统,其可改进其整体存储能力。
图4说明根据本文中公开的实例的支持用于存储器系统的参数表保护的过程流程图400的实例。在一些实例中,过程流程图400可实施系统100、系统200或其组合的方面。因此,由过程流程图400描述的操作可在以下处或由以下执行:主机系统405、存储器系统410或其组合。参考图4描述的操作可导致由存储器系统410产生ECC,其可用于识别及校正参数数据中的错误。通过利用ECC校正参数数据中的错误,参数数据的更少副本可存储到存储器系统410,其可改进其整体存储能力。
在425,存储器系统410可首次启动(例如,第一启动序列可在存储器系统410处发生)。如本文中描述,存储器系统410启动首次发生可在制造存储器系统410之后、在存储器系统410的第一测试操作期间、在将存储器系统410安装于产品中之后或类似情形。如本文中使用,启动存储器系统410可指代向存储器系统410的一或多个硬件组件提供电力或启动存储到存储器系统410的一或多个方面的软件的过程。在一些例子中,启动存储到存储器系统410的一或多个方面的软件可由从主机系统405接收的信令启动。
在430,存储器控制器415可向存储器装置420传输对存储到存储器装置420的参数数据的请求。在一些例子中,参数数据可能在制造期间已存储到存储器装置420(例如,参数数据可硬编码到存储器装置420)。在一些例子中,参数数据可存储到存储器装置420的专用部分,例如存储器装置420专用于存储例如参数数据的操作数据的部分。在430传输的请求可启动从存储器装置420读取参数数据。在435,可将参数数据从存储器装置420传送到存储器控制器415。
在440,存储器控制器415可产生与参数数据相关联的一或多个ECC。如本文中描述,在一些实例中,存储器控制器415可产生经配置以在后续启动操作期间校正参数数据中的固定数量的错误的单个ECC。然而,在其它实例中,存储器控制器415可产生各自经配置以校正不同固定数量的错误的多个ECC。因此,当产生多个ECC时,存储器控制器415可经配置以在校正参数数据中的阈值数量的错误时选择不同ECC(例如经配置以校正更大错误数量的ECC)。在校正阈值数量的错误时选择不同ECC可防止混叠发生。
在445,存储器控制器415可将ECC存储到存储器装置420。在一些实例中,ECC可存储到相同于参数数据的存储器装置420的部分。在其它实例中,ECC可存储到专用于存储错误校正或错误检测码的存储器装置的部分。
在450,存储器系统410可第二次启动(例如,第二启动序列可在存储器系统410处发生)。如本文中描述,存储器系统410启动的第二次发生可在将电力提供到存储器系统410的一或多个硬件组件时或在启动存储到存储器系统410的一或多个方面的软件时发生。在一些例子中,启动存储到存储器系统410的一或多个方面的软件可由从主机系统405接收的信令启动。
在455,存储器控制器415可向存储器装置420传输对存储到存储器装置420(例如,在445)的参数数据及ECC的请求。在430传输的请求可启动从存储器装置420读取参数数据及ECC。在460,可将参数数据及ECC从存储器装置420传送到存储器控制器415。
在465,存储器控制器415可识别及校正包含于参数数据中的错误。在一些例子中,存储器控制器415可通过基于当前参数数据产生ECC(例如第二ECC)及比较第二ECC与从存储器装置420接收的ECC来识别及校正参数数据中的错误。如果ECC匹配,那么参数数据可不包含任何错误。然而,如果ECC不匹配,那么可存在一或多个错误且存储器控制器415可使用从存储器装置420接收的ECC校正参数数据。
在470,存储器控制器415可将经校正参数数据存储到存储器装置420。在一些实例中,存储器控制器415可用经校正参数数据盖写现存参数数据,而在其它实例中,存储器控制器415可将参数数据保存到存储器装置420的不同位置。
在475,存储器控制器415可使用于被校正的参数数据中的每一错误的计数器递增。计数器可定位于存储器控制器415处及/或由存储器控制器415管理。举例来说,在首次校正第一错误之后,计数器可递增(例如,从“0”到“1”),且在首次校正第二错误之后,计数器可再次递增(例如,从“1”到“2”),等等。在一些例子中,每当存储器系统410重启时,计数器可复位。
在480,存储器控制器415可比较计数器的值与阈值,阈值可小于ECC能够校正的总错误数量。举例来说,ECC可经配置以校正固定数量的错误且阈值可基于固定数量(例如,)。通过将阈值设置为小于ECC经配置以校正的总错误数量,存储器系统在后续错误校正操作期间可能不太容易出现混叠。因此,存储器控制器415可经配置以比较计数器的值与阈值。如果计数器的值满足阈值,那么存储器控制器415可执行ECC评估(例如,在485),而如果计数器的值不满足阈值,那么存储器系统410可继续其启动序列。
在485,存储器控制器415基于计数器的值满足阈值来进行ECC评估。在第一实例中,存储器控制器415可使用经校正参数数据产生第二ECC。举例来说,第二ECC可经配置以校正比原始产生的ECC更大的错误数量。因而,在后续启动操作期间,存储器控制器415可使用第二ECC识别及校正错误,其可允许存储器控制器415校正比其先前能够校正的错误数量更大的错误数量。此外,在产生ECC之后,存储器控制器415可更新阈值(例如,在框325使用的阈值)以解释第二ECC能够校正更大错误数量。
在第二实例中,存储器控制器415可在存储器系统410的第一启动序列之后产生多个ECC。如上文描述,存储器控制器415可能已经产生多个ECC(例如,在440)。因此,当存储器控制器415确定计数器的值超过可由ECC校正的阈值错误数量时,存储器控制器415可选择新(例如第二)ECC来使用。第二ECC可经配置以校正比先前ECC更大的错误数量。
在第三实例中,存储器控制器415可将经校正参数数据存储于不同于先前参数数据(例如损坏参数数据)存储的位置处。举例来说,损坏参数数据可存储于存储器装置420的第一部分处且在校正之后,经校正参数数据可存储到存储器装置420的第二部分。
在一些例子中,过程流程图400的一些方面可代以由主机系统405(例如,不是存储器控制器415)执行,如下文参考图5描述。举例来说,所产生的ECC(例如,在440)可代以由主机系统405产生,或主机系统405可识别及校正参数数据中的错误(例如,在465),使计数器递增(例如,在475),比较计数器与阈值(例如,在480),及/或执行ECC评估(例如,在485)。由主机系统405及存储器系统410执行的操作可为在相应组件的制造期间选择的设计选择问题。在任何例子中,通过利用ECC校正参数数据中的错误,参数数据的更少副本可存储到存储器装置420,其可改进其整体存储能力。
图5说明根据本文中公开的实例的支持用于存储器系统的参数表保护的过程流程图500的实例。在一些实例中,过程流程图500可实施系统100、系统200或其组合的方面。因此,由过程流程图500描述的操作可在以下处或由以下执行:主机系统505、存储器系统510或其组合。参考图5描述的操作可导致由主机系统505产生ECC,其可用于识别及校正参数数据中的错误。通过利用ECC校正参数数据中的错误,参数数据的更少副本可存储到存储器系统510,其可改进其整体存储能力。
在521,存储器系统510可首次启动(例如,第一启动序列可在存储器系统510处发生)。如本文中描述,存储器系统510启动首次发生可在制造存储器系统510之后、在存储器系统510的第一测试操作期间、在将存储器系统510安装于产品中之后或类似情形。如本文中使用,启动存储器系统510可指代向存储器系统510的一或多个硬件组件提供电力或启动存储到存储器系统510的一或多个方面的软件的过程。在一些例子中,启动存储到存储器系统510的一或多个方面的软件可由从主机系统505接收的信令启动。
在522,主机系统505可向存储器控制器515传输对存储到存储器装置520的参数数据的请求。在一些例子中,参数数据可能在制造期间已存储到存储器装置520(例如,参数数据可硬编码到存储器装置520)。在一些例子中,参数数据可存储到存储器装置520的专用部分,例如存储器装置520专用于存储例如参数数据的操作数据的部分。在523,存储器控制器515可将来自主机系统505的请求传输到存储器装置520。在其它实例中,存储器控制器515可接收请求且产生传输到存储器装置520的另一请求(例如第二请求)。请求(例如,在523)可启动从存储器装置520读取参数数据。在524,可将参数数据从存储器装置520传送到存储器控制器515,且在525存储器控制器515可将参数数据传输到主机系统505。在其它实例中,参数数据可直接传送到主机系统505。
在526,主机系统505可产生与参数数据相关联的一或多个ECC。如本文中描述,在一些实例中,主机系统505可产生经配置以在后续启动操作期间校正参数数据中的固定数量的错误的单个ECC。然而,在其它实例中,主机系统505可产生各自经配置以校正不同固定数量的错误的多个ECC。因此,当产生多个ECC时,主机系统505可经配置以在校正参数数据中的阈值数量的错误时选择不同ECC(例如经配置以校正更大错误数量的ECC)。在校正阈值数量的错误时选择不同ECC可防止混叠发生。
在527,主机系统505可将所产生的ECC传输到存储器控制器515,且在528,存储器控制器515可将ECC存储到存储器装置520。在一些实例中,ECC可存储到相同于参数数据的存储器装置520的部分。在其它实例中,ECC可存储到专用于存储错误校正或错误检测码的存储器装置的部分。
在529,存储器系统510可第二次启动(例如,第二启动序列可在存储器系统510处发生)。如本文中描述,存储器系统510启动第二次发生可在将电力提供到存储器系统510的一或多个硬件组件时或在启动存储到存储器系统510的一或多个方面的软件时发生。在一些例子中,启动存储到存储器系统510的一或多个方面的软件可由从主机系统505接收的信令启动。
在530,主机系统505可向存储器控制器515传输对存储到存储器装置520(例如,在528)的参数数据及ECC的请求。在531,存储器控制器515可中继从主机系统505传输的请求,其可启动从存储器装置520读取参数数据及ECC。在其它实例中,存储器控制器515可接收请求且产生传输到存储器装置520的另一请求(例如第二请求)。请求(例如,在531)可启动从存储器装置520读取参数数据。
在532,可将参数数据及ECC从存储器装置520传送到存储器控制器515,且在533,存储器控制器515可将参数数据及ECC传输到主机系统505。在其它实例中,参数数据及ECC可直接传送到主机系统505。
在534,主机系统505可识别及校正包含于参数数据中的错误。在一些例子中,主机系统505可通过基于当前参数数据产生ECC(例如第二ECC)及比较第二ECC与从存储器装置520(或存储器控制器515)接收的ECC来识别及校正参数数据中的错误。如果ECC匹配,那么参数数据可不包含任何错误。然而,如果ECC不匹配,那么可存在一或多个错误且主机系统505可使用从存储器装置520接收的ECC校正参数数据。
在535,主机系统505可将经校正参数数据传输到存储器控制器515,且在536,存储器控制器515可将经校正参数数据存储到存储器装置520。在其它实例中,主机系统505可将经校正参数数据直接传输到存储器装置520。在一些实例中,主机系统505或存储器控制器515可用经校正参数数据盖写现存参数数据,而在其它实例中,主机系统505或存储器控制器515可将参数数据保存到存储器装置520的不同位置。
在537,主机系统505可使用于被校正的参数数据中的每一错误的计数器递增。计数器可定位于主机系统505处及/或由主机系统505管理。举例来说,在首次校正第一错误之后,计数器可递增(例如,从“0”到“1”),且在首次校正第二错误之后,计数器可再次递增(例如,从“1”到“2”),等等。在一些例子中,每当存储器系统510重启时,计数器可复位。
在538,主机系统505可比较计数器的值与阈值,阈值可小于ECC能够校正的总错误数量。举例来说,ECC可经配置以校正固定数量的错误且阈值可基于固定数量(例如,)。通过将阈值设置为小于ECC经配置以校正的总错误数量,存储器系统510在后续错误校正操作期间可能不太容易出现混叠。因此,主机系统505可经配置以比较计数器的值与阈值。如果计数器的值满足阈值,那么主机系统505可执行ECC评估(例如,在539),而如果计数器的值不满足阈值,那么主机系统505可允许存储器系统510继续其启动序列。
在539,主机系统505可基于计数器的值满足阈值来进行ECC评估。在第一实例中,主机系统505可使用经校正参数数据产生第二ECC。举例来说,第二ECC可经配置以校正比原始产生的ECC更大的错误数量。因而,在后续启动操作期间,主机系统505可使用第二ECC识别及校正错误,其可允许主机系统505校正比其先前能够校正的错误数量更大的错误数量。此外,在产生ECC之后,主机系统505可更新阈值(例如,在框325使用的阈值)以解释第二ECC能够校正更大错误数量。
在第二实例中,主机系统505可在存储器系统510的第一启动序列之后产生多个ECC。如上文描述,主机系统505可能已产生多个ECC(例如,在526)。因此,当主机系统505确定计数器的值超过可由ECC校正的阈值错误数量时,主机系统505可选择新(例如第二)ECC来使用。第二ECC可经配置以校正比先前ECC更大的错误数量。
在第三实例中,主机系统505可将经校正参数数据存储于不同于先前参数数据(例如损坏参数数据)存储的位置处。举例来说,损坏参数数据可存储于存储器装置520的第一部分处且在校正之后,经校正参数数据可存储到存储器装置520的第二部分。
在一些例子中,过程流程图500的一些方面可代以由存储器系统510(例如,不是主机系统505)执行,如上文参考图4描述。举例来说,所产生的ECC(例如,在526)可代以由存储器控制器515产生,或存储器控制器515可识别及校正参数数据中的错误(例如,在534),使计数器递增(例如,在537),比较计数器与阈值(例如,在538),及/或执行ECC评估(例如,在539)。由主机系统505及存储器系统510执行的操作可为在相应组件的制造期间选择的设计选择问题。在任何例子中,通过利用ECC校正参数数据中的错误,参数数据的更少副本可存储到存储器装置520,其可改进其整体存储能力。
图6说明根据本文中公开的实例的支持用于存储器系统的参数表保护的框图600的实例。在一些实例中,存储器系统610可实施系统100、系统200或其组合的方面。因此,框图600可说明主机系统605及存储器系统610。在一些实例中,主机系统605可包含主机系统控制器615且存储器系统610可包含参数数据620,其可指代经配置以存储参数数据620的存储器系统610的部分。在一些实例中,存储器系统610可不包含存储器控制器且因此主机系统605可直接存取存储器系统610的存储器装置。主机系统控制器615可经配置以与存储器系统610通信以产生可用于识别及校正参数数据中的错误的ECC。通过利用ECC校正参数数据中的错误,参数数据的更少副本可存储到存储器系统610,其可改进其整体存储能力。
在第一实例中,主机系统控制器615可在存储器系统610首次启动之后产生与参数数据620相关联的一或多个ECC。如本文中描述,在一些实例中,主机系统控制器615可产生经配置以在后续启动操作期间校正参数数据中的固定数量的错误的单个ECC。然而,在其它实例中,主机系统控制器615可产生各自经配置以校正不同固定数量的错误的多个ECC。因此,当产生多个ECC时,主机系统控制器615可经配置以在校正参数数据中的阈值数量的错误时选择不同ECC(例如经配置以校正更大错误数量的ECC)。在校正阈值数量的错误时选择不同ECC可防止混叠发生。
主机系统控制器615可识别及校正包含于参数数据620中的错误。在一些例子中,主机系统控制器615可通过基于当前参数数据620产生ECC(例如第二ECC)及比较第二ECC与从存储器系统610接收的ECC(例如,其在存储器系统610首次启动之后产生)来识别及校正参数数据620中的错误。如果ECC匹配,那么参数数据可不包含任何错误。然而,如果ECC不匹配,那么可存在一或多个错误且主机系统控制器615可使用从存储器系统610接收的ECC校正参数数据,如本文中描述。
主机系统控制器615可将经校正参数数据620存储到存储器系统610。在一些实例中,主机系统控制器615可用经校正参数数据620盖写现存参数数据620,而在其它实例中,主机系统控制器615可将参数数据保存到存储器系统610的不同位置。
在另一实例中,存储器系统610可包含ECC能力且因此主机系统控制器615可启动由存储器系统610产生一或多个ECC。即,在存储器系统610首次启动之后,主机系统控制器615可启动产生经配置以校正参数数据620中的错误的一或多个ECC(例如,通过与存储器系统610相关联的ECC引擎或其它电路系统)。接着,主机系统控制器615可在存储器系统610在后续时间启动之后启动使用所产生的ECC校正参数数据620。因此,在本文中参考图6描述的实例中,主机系统605(例如主机系统控制器615)可校正参数数据620或启动由存储器系统610校正参数数据620。在任一例子中,通过利用ECC校正参数数据中的错误,参数数据的更少副本可存储到存储器系统610,其可改进其整体存储能力。
图7展示根据本文中公开的实例的支持用于存储器系统的参数表保护的存储器系统720的框图700。存储器系统720可为参考图1到6描述的存储器系统的方面的实例。存储器系统720或其各个组件可为用于执行用于存储器系统的参数表保护的各个方面的构件的实例,如本文中描述。举例来说,存储器系统720可包含识别组件725、产生组件730、错误控制组件735、计数器组件740、存储组件745、比较组件750、确定组件755、增大组件760或其任何组合。这些组件中的每一者可彼此直接或间接通信(例如,经由一或多个总线)。
识别组件725可经配置为或以其它方式支持用于在启动存储器系统首次发生之后识别存储到存储器系统的非易失性存储器装置的用于操作存储器系统的参数数据的构件。在一些实例中,识别组件725可经配置为或以其它方式支持用于在启动存储器系统第二次发生之后使用ECC识别与参数数据相关联的第一错误的构件。在一些实例中,识别组件725可经配置为或以其它方式支持用于在启动存储器系统第三次发生之后使用所产生的ECC识别与参数数据相关联的第二错误的构件。
产生组件730可经配置为或以其它方式支持用于基于识别存储到存储器系统的非易失性存储器装置的参数数据而在存储器系统处产生与参数数据相关联的ECC的构件。
错误控制组件735可经配置为或以其它方式支持用于基于识别第一错误而在存储器系统处校正与参数数据相关联的第一错误的构件。在一些实例中,错误控制组件735可经配置为或以其它方式支持用于基于识别与参数数据相关联的第二错误及使计数器递增而在存储器系统处校正与参数数据相关联的第二错误的构件。
在一些实例中,错误控制组件735可经配置为或以其它方式支持用于基于确定计数器的值高于第一阈值且低于第二阈值来选择第四ECC用于校正与参数数据相关联的第四数量的错误的构件,其中第四ECC经配置以校正大于第一阈值的错误数量。在一些实例中,错误控制组件735可经配置为或以其它方式支持用于基于确定计数器的值满足阈值来选择第三ECC用于校正与参数数据相关联的第三数量的错误的构件,其中第三ECC经配置以校正大于阈值的错误数量。
在一些实例中,错误控制组件735可经配置为或以其它方式支持用于基于确定计数器的值满足阈值而在存储器系统处产生与参数数据相关联的第二ECC的构件,其中第二ECC经配置以校正大于可由ECC校正的第一错误数量的第二错误数量。在一些实例中,错误控制组件735可经配置为或以其它方式支持用于基于产生与参数数据相关联的第二ECC来用第二ECC替换ECC的构件。
在一些实例中,计数器组件740可经配置为或以其它方式支持用于基于校正与参数数据相关联的第一错误来使计数器递增的构件,其中计数器的值与参数数据的经校正错误的数量相关联。在一些实例中,计数器组件740可经配置为或以其它方式支持用于基于识别与参数数据相关联的第二错误来使计数器递增的构件。
在一些实例中,参数数据存储到存储器系统的非易失性存储器装置的第一部分,且存储组件745可经配置为或以其它方式支持用于将经校正参数数据存储到不同于存储器系统的非易失性存储器装置的第一部分的存储器系统的非易失性存储器装置的第二部分的构件。
在一些实例中,比较组件750可经配置为或以其它方式支持用于基于使计数器递增来比较计数器的值和与ECC相关联的阈值的构件,其中校正与参数数据相关联的第一错误是基于计数器的值未能满足阈值。
在一些实例中,确定组件755可经配置为或以其它方式支持用于基于使计数器递增来确定计数器的值满足与可由ECC校正的第一错误数量相关联的阈值的构件。在一些实例中,确定组件755可经配置为或以其它方式支持用于基于使计数器递增来确定计数器的值高于与可由ECC校正的第一错误数量相关联的第一阈值且低于与可由ECC校正的第二错误数量相关联的第二阈值的构件。在一些实例中,确定组件755可经配置为或以其它方式支持用于基于使计数器递增来确定计数器的值满足与可由ECC校正的第一错误数量相关联的阈值的构件。
在一些实例中,增大组件760可经配置为或以其它方式支持用于基于选择第三ECC用于校正与参数数据相关联的第三数量的错误来增大阈值的构件。在一些实例中,增大组件760可经配置为或以其它方式支持用于基于产生第二ECC用于校正与参数数据相关联的第二数量的错误来增大阈值的构件。
在一些实例中,阈值是基于可由ECC校正的错误数量。
图8展示根据本文中公开的实例的支持用于存储器系统的参数表保护的主机系统820的框图800。主机系统820可为参考图1到6描述的主机系统的方面的实例。主机系统820或其各个组件可为用于执行用于存储器系统的参数表保护的各个方面的构件的实例,如本文中描述。举例来说,主机系统820可包含接收组件825、错误控制组件830、传输组件835、计数器组件840、确定组件845、增大组件850或其任何组合。这些组件中的每一者可彼此直接或间接通信(例如,经由一或多个总线)。
接收组件825可经配置为或以其它方式支持用于基于存储器系统启动首次发生而在主机系统处接收用于操作存储器系统的参数数据的构件。在一些实例中,接收组件825可经配置为或以其它方式支持用于基于存储器系统启动第二次发生且在将与参数数据相关联的ECC传输到存储器系统之后在主机系统处从存储器系统接收参数数据的构件。在一些实例中,接收组件825可经配置为或以其它方式支持用于基于存储器系统启动第三次发生而在主机系统处从存储器系统接收参数数据的构件。
错误控制组件830可经配置为或以其它方式支持用于基于从存储器系统接收参数数据而在主机系统处产生与参数数据相关联的ECC的构件。在一些实例中,错误控制组件830可经配置为或以其它方式支持用于基于从存储器系统接收参数数据而在主机系统处校正与参数数据相关联的第一错误的构件。在一些实例中,错误控制组件830可经配置为或以其它方式支持用于基于使计数器递增来比较计数器的值和与ECC相关联的阈值的构件,其中校正与参数数据相关联的第一错误是基于计数器的值未能满足阈值。
在一些实例中,错误控制组件830可经配置为或以其它方式支持用于至少部分基于确定计数器的值满足阈值而在主机系统处产生与参数数据相关联的第二ECC的构件,其中第二ECC经配置以校正大于可由ECC校正的第一错误数量的第二错误数量。在一些实例中,错误控制组件830可经配置为或以其它方式支持用于基于在存储器系统启动第三次发生之后接收参数数据来识别与参数数据相关联的第二错误的构件。在一些实例中,错误控制组件830可经配置为或以其它方式支持用于基于识别第二错误及使计数器递增而在主机系统处校正与参数数据相关联的第二错误的构件。
在一些实例中,错误控制组件830可经配置为或以其它方式支持用于基于确定计数器的值满足阈值来选择第三ECC用于校正与参数数据相关联的第三数量的错误的构件,其中第三ECC经配置以校正大于阈值的错误数量。在一些实例中,错误控制组件830可经配置为或以其它方式支持用于基于确定计数器的值高于第一阈值且低于第二阈值来选择第四ECC用于校正与参数数据相关联的第四数量的错误的构件,其中第四ECC经配置以校正大于第一阈值的错误数量。
传输组件835可经配置为或以其它方式支持用于基于产生与参数数据相关联的ECC来将与参数数据相关联的ECC传输到存储器系统的构件。在一些实例中,传输组件835可经配置为或以其它方式支持用于基于校正与参数数据相关联的第一错误来将经校正参数数据传输到存储器系统的构件。在一些实例中,传输组件835可经配置为或以其它方式支持用于基于产生第二ECC来将第二ECC传输到存储器系统的构件。
在一些实例中,计数器组件840可经配置为或以其它方式支持用于基于校正与参数数据相关联的第一错误来使计数器递增的构件,其中计数器的值与参数数据的经校正错误的数量相关联。在一些实例中,计数器组件840可经配置为或以其它方式支持用于基于识别与参数数据相关联的第二错误来使计数器递增的构件。
在一些实例中,计数器组件840可经配置为或以其它方式支持用于基于使计数器递增来确定计数器的值高于与可由ECC校正的第一错误数量相关联的第一阈值且低于与可由ECC校正的第二错误数量相关联的第二阈值的构件。
在一些实例中,确定组件845可经配置为或以其它方式支持用于基于使计数器递增来确定计数器的值满足与可由ECC校正的第一错误数量相关联的阈值的构件。在一些实例中,确定组件845可经配置为或以其它方式支持用于基于使计数器递增来确定计数器的值满足与可由ECC校正的第一错误数量相关联的阈值的构件。
在一些实例中,增大组件850可经配置为或以其它方式支持用于基于产生第二ECC用于校正与参数数据相关联的第二数量的错误来增大阈值的构件。在一些实例中,增大组件850可经配置为或以其它方式支持用于基于选择第三ECC用于校正与参数数据相关联的第三数量的错误来增大阈值的构件。
在一些实例中,阈值是基于可由ECC校正的错误数量。
图9展示说明根据本文中公开的实例的支持用于存储器系统的参数表保护的方法900的流程图。方法900的操作可由本文中描述的存储器系统或其组件实施。举例来说,方法900的操作可由参考图1到7描述的存储器系统执行。在一些实例中,存储器系统可执行一组指令以控制装置的功能元件执行所描述功能。另外或替代地,存储器系统可使用专用硬件执行所描述功能的方面。
在905,方法可包含在启动存储器系统首次发生之后识别存储到存储器系统的非易失性存储器装置的用于操作存储器系统的参数数据。操作905可根据本文中公开的实例执行。在一些实例中,操作905的方面可由参考图7描述的识别组件725执行。
在910,方法可包含基于识别存储到存储器系统的非易失性存储器装置的参数数据而在存储器系统处产生与参数数据相关联的ECC。操作910可根据本文中公开的实例执行。在一些实例中,操作910的方面可由参考图7描述的产生组件730执行。
在915,方法可包含在启动存储器系统第二次发生之后使用ECC识别与参数数据相关联的第一错误。操作915可根据本文中公开的实例执行。在一些实例中,操作915的方面可由参考图7描述的识别组件725执行。
在920,方法可包含基于识别第一错误而在存储器系统处校正与参数数据相关联的第一错误。操作920可根据本文中公开的实例执行。在一些实例中,操作920的方面可由参考图7描述的错误控制组件735执行。
在一些实例中,本文中描述的设备可执行一或若干方法,例如方法900。设备可包含用于执行本公开的以下方面的特征、电路系统、逻辑、构件或指令(例如存储可由处理器执行的指令的非暂时性计算机可读媒体)或其组合:
方面1:一种设备,其包含用于以下的特征、电路系统、逻辑、构件或指令或其任何组合:在启动存储器系统首次发生之后,识别存储到所述存储器系统的非易失性存储器装置的用于操作所述存储器系统的参数数据;基于识别存储到所述存储器系统的所述非易失性存储器装置的所述参数数据而在所述存储器系统处产生与所述参数数据相关联的ECC;在启动所述存储器系统第二次发生之后,使用所述ECC识别与所述参数数据相关联的第一错误;及基于识别所述第一错误而在所述存储器系统处校正与所述参数数据相关联的所述第一错误。
方面2:根据方面1所述的设备,其进一步包含用于基于校正与所述参数数据相关联的所述第一错误来使计数器递增的操作、特征、电路系统、逻辑、构件或指令或其任何组合,其中所述计数器的值与所述参数数据的经校正错误的数量相关联。
方面3:根据方面2所述的设备,其进一步包含用于基于使所述计数器递增来比较所述计数器的所述值和与所述ECC相关联的阈值的操作、特征、电路系统、逻辑、构件或指令或其任何组合,其中校正与所述参数数据相关联的所述第一错误是基于所述计数器的所述值未能满足所述阈值。
方面4:根据方面3所述的设备,其进一步包含用于所述阈值是基于可由所述ECC校正的错误数量的操作、特征、电路系统、逻辑、构件或指令或其任何组合。
方面5:根据方面2到4中任一方面所述的设备,其进一步包含用于以下的操作、特征、电路系统、逻辑、构件或指令或其任何组合:在启动所述存储器系统第三次发生之后,使用所述所产生的ECC识别与所述参数数据相关联的第二错误;基于识别与所述参数数据相关联的所述第二错误来使所述计数器递增;及基于识别与所述参数数据相关联的所述第二错误及使所述计数器递增而在所述存储器系统处校正与所述参数数据相关联的所述第二错误。
方面6:根据方面5所述的设备,其进一步包含用于以下的操作、特征、电路系统、逻辑、构件或指令或其任何组合:基于使所述计数器递增来确定所述计数器的所述值满足与可由所述ECC校正的第一错误数量相关联的阈值;及基于确定所述计数器的所述值满足所述阈值来选择第三ECC用于校正与所述参数数据相关联的第三数量的错误,其中所述第三ECC经配置以校正大于所述阈值的错误数量。
方面7:根据方面6所述的设备,其进一步包含用于基于选择所述第三ECC用于校正与所述参数数据相关联的所述第三数量的错误来增大所述阈值的操作、特征、电路系统、逻辑、构件或指令或其任何组合。
方面8:根据方面5到7中任一方面所述的设备,其进一步包含用于以下的操作、特征、电路系统、逻辑、构件或指令或其任何组合:基于使所述计数器递增来确定所述计数器的所述值高于与可由所述ECC校正的第一错误数量相关联的第一阈值且低于与可由所述ECC校正的第二错误数量相关联的第二阈值;及基于确定所述计数器的所述值高于所述第一阈值且低于所述第二阈值来选择第四ECC用于校正与所述参数数据相关联的第四数量的错误,其中所述第四ECC经配置以校正大于所述第一阈值的错误数量。
方面9:根据方面2到8中任一方面所述的设备,其进一步包含用于以下的操作、特征、电路系统、逻辑、构件或指令或其任何组合:基于使所述计数器递增来确定所述计数器的所述值满足与可由所述ECC校正的第一错误数量相关联的阈值;及基于确定所述计数器的所述值满足所述阈值而在所述存储器系统处产生与所述参数数据相关联的第二ECC,其中所述第二ECC经配置以校正大于可由所述ECC校正的所述第一错误数量的第二错误数量。
方面10:根据方面9所述的设备,其进一步包含用于基于产生与所述参数数据相关联的所述第二ECC来用所述第二ECC替换所述ECC的操作、特征、电路系统、逻辑、构件或指令或其任何组合。
方面11:根据方面9到10中任一方面所述的设备,其进一步包含用于基于产生所述第二ECC用于校正与所述参数数据相关联的所述第二数量的错误来增大所述阈值的操作、特征、电路系统、逻辑、构件或指令或其任何组合。
方面12:根据方面1到11中任一方面所述的设备,其中所述参数数据存储到所述存储器系统的所述非易失性存储器装置的第一部分,且所述方法、设备及非暂时性计算机可读媒体进一步包含用于将所述经校正参数数据存储到不同于所述存储器系统的所述非易失性存储器装置的所述第一部分的所述存储器系统的所述非易失性存储器装置的第二部分的操作、特征、电路系统、逻辑、构件或指令或其任何组合。
图10展示说明根据本文中公开的实例的支持用于存储器系统的参数表保护的方法1000的流程图。方法1000的操作可由本文中描述的主机系统或其组件实施。举例来说,方法1000的操作可由参考图1到6及8描述的主机系统执行。在一些实例中,主机系统可执行一组指令以控制装置的功能元件执行所描述功能。另外或替代地,主机系统可使用专用硬件执行所描述功能的方面。
在1005,方法可包含基于存储器系统启动首次发生而在主机系统处接收用于操作存储器系统的参数数据。操作1005可根据本文中公开的实例执行。在一些实例中,操作1005的方面可由参考图8描述的接收组件825执行。
在1010,方法可包含基于从存储器系统接收参数数据而在主机系统处产生与参数数据相关联的ECC。操作1010可根据本文中公开的实例执行。在一些实例中,操作1010的方面可由参考图8描述的错误控制组件830执行。
在1015,方法可包含基于产生与参数数据相关联的ECC来将与参数数据相关联的ECC传输到存储器系统。操作1015可根据本文中公开的实例执行。在一些实例中,操作1015的方面可由参考图8描述的传输组件835执行。
在1020,方法可包含基于存储器系统启动第二次发生且在将与参数数据相关联的ECC传输到存储器系统之后在主机系统处从存储器系统接收参数数据。操作1020可根据本文中公开的实例执行。在一些实例中,操作1020的方面可由参考图8描述的接收组件825执行。
在1025,方法可包含基于从存储器系统接收参数数据而在主机系统处校正与参数数据相关联的第一错误。操作1025可根据本文中公开的实例执行。在一些实例中,操作1025的方面可由参考图8描述的错误控制组件830执行。
在1030,方法可包含基于校正与参数数据相关联的第一错误来将经校正参数数据传输到存储器系统。操作1030可根据本文中公开的实例执行。在一些实例中,操作1030的方面可由参考图8描述的传输组件835执行。
在一些实例中,本文中描述的设备可执行一或若干方法,例如方法1000。设备可包含用于执行本公开的以下方面的特征、电路系统、逻辑、构件或指令(例如存储可由处理器执行的指令的非暂时性计算机可读媒体)或其组合:
方面13:一种设备,其包含用于以下的特征、电路系统、逻辑、构件或指令或其任何组合:基于所述存储器系统启动首次发生而在主机系统处接收用于操作存储器系统的参数数据;基于从所述存储器系统接收所述参数数据而在所述主机系统处产生与所述参数数据相关联的ECC;基于产生与所述参数数据相关联的所述ECC来将与所述参数数据相关联的所述ECC传输到所述存储器系统;基于所述存储器系统启动第二次发生且在将与所述参数数据相关联的所述ECC传输到所述存储器系统之后在所述主机系统处从所述存储器系统接收所述参数数据;基于从所述存储器系统接收所述参数数据而在所述主机系统处校正与所述参数数据相关联的第一错误;及基于校正与所述参数数据相关联的所述第一错误来将经校正参数数据传输到所述存储器系统。
方面14:根据方面13所述的设备,其进一步包含用于基于校正与所述参数数据相关联的所述第一错误来使计数器递增的操作、特征、电路系统、逻辑、构件或指令或其任何组合,其中所述计数器的值与所述参数数据的经校正错误的数量相关联。
方面15:根据方面14所述的设备,其进一步包含用于以下的操作、特征、电路系统、逻辑、构件或指令或其任何组合:基于使所述计数器递增来确定所述计数器的所述值满足与可由所述ECC校正的第一错误数量相关联的阈值;至少部分基于确定所述计数器的所述值满足所述阈值而在所述主机系统处产生与所述参数数据相关联的第二ECC,其中所述第二ECC经配置以校正大于可由所述ECC校正的所述第一错误数量的第二错误数量;及基于产生所述第二ECC来将所述第二ECC传输到所述存储器系统。
方面16:根据方面15所述的设备,其进一步包含用于基于产生所述第二ECC用于校正与所述参数数据相关联的所述第二数量的错误来增大所述阈值的操作、特征、电路系统、逻辑、构件或指令或其任何组合。
方面17:根据方面14到16中任一方面所述的设备,其进一步包含用于至少部分基于使所述计数器递增来比较所述计数器的所述值和与所述ECC相关联的阈值的操作、特征、电路系统、逻辑、构件或指令或其任何组合,其中校正与所述参数数据相关联的所述第一错误是基于所述计数器的所述值未能满足所述阈值。
方面18:根据方面17所述的设备,其进一步包含用于所述阈值是基于可由所述ECC校正的错误数量的操作、特征、电路系统、逻辑、构件或指令或其任何组合。
方面19:根据方面14到18中任一方面所述的设备,其进一步包含用于以下的操作、特征、电路系统、逻辑、构件或指令或其任何组合:基于所述存储器系统启动第三次发生而在所述主机系统处从所述存储器系统接收所述参数数据;基于在所述存储器系统启动所述第三次发生之后接收所述参数数据来识别与所述参数数据相关联的第二错误;基于识别与所述参数数据相关联的所述第二错误来使所述计数器递增;及基于识别所述第二错误及使所述计数器递增而在所述主机系统处校正与所述参数数据相关联的所述第二错误。
方面20:根据方面19所述的设备,其进一步包含用于以下的操作、特征、电路系统、逻辑、构件或指令或其任何组合:基于使所述计数器递增来确定所述计数器的所述值满足与可由所述ECC校正的第一错误数量相关联的阈值;及基于确定所述计数器的所述值满足所述阈值来选择第三ECC用于校正与所述参数数据相关联的第三数量的错误,其中所述第三ECC经配置以校正大于所述阈值的错误数量。
方面21:根据方面20所述的设备,其进一步包含用于基于选择所述第三ECC用于校正与所述参数数据相关联的所述第三数量的错误来增大所述阈值的操作、特征、电路系统、逻辑、构件或指令或其任何组合。
方面22:根据方面19到21中任一方面所述的设备,其进一步包含用于以下的操作、特征、电路系统、逻辑、构件或指令或其任何组合:基于使所述计数器递增来确定所述计数器的所述值高于与可由所述ECC校正的第一错误数量相关联的第一阈值且低于与可由所述ECC校正的第二错误数量相关联的第二阈值;及基于确定所述计数器的所述值高于所述第一阈值且低于所述第二阈值来选择第四ECC用于校正与所述参数数据相关联的第四数量的错误,其中所述第四ECC经配置以校正大于所述第一阈值的错误数量。
应注意,上述方法描述可能实施方案,且操作及步骤可经重新布置或以其它方式经修改,且其它实施方案是可能的。此外,可组合来自方法中的两者或更多者的部分。
本文中描述的信息及信号可使用各种不同工艺及技术中的任何者表示。举例来说,在整个上文描述中可参考的数据、指令、命令、信息、信号、位、符号及芯片可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合表示。一些图式可将信号说明为单个信号;然而,信号可表示信号总线,其中总线可具有各种位宽度。
术语“电子通信”、“导电接触”、“连接”及“耦合”可指代支持组件之间的信号流动的组件之间的关系。如果组件之间存在可在任何时间支持组件之间的信号流动的任何导电路径,那么可认为组件彼此电子通信(或导电接触或连接或耦合)。在任何给定时间,彼此电子通信(或导电接触或连接或耦合)的组件之间的导电路径可为开路或闭路,其基于包含经连接组件的装置的操作。经连接组件之间的导电路径可为组件之间的直接导电路径,或经连接组件之间的导电路径可为可包含中间组件(例如开关、晶体管或其它组件)的间接导电路径。在一些实例中,在一时间内可例如使用一或多个中间组件(例如开关或晶体管)中断经连接组件之间的信号流动。
术语“耦合”指代从组件之间的开路关系(其中信号目前不能通过导电路径传送于组件之间)转变到组件之间的闭路关系(其中信号能够通过导电路径传送于组件之间)的条件。如果例如控制器的组件将其它组件耦合在一起,那么组件引发允许信号通过先前不准许信号流动的导电路径流动于其它组件之间的变化。
术语“隔离”指代其中信号目前不能流动于组件之间的组件之间的关系。如果组件之间存在开路,那么组件彼此隔离。举例来说,如果定位于两个组件之间的开关打开,那么由开关分离的组件彼此隔离。如果控制器隔离两个组件,那么控制器引起防止信号使用先前准许信号流动的导电路径流动于组件之间的变化。
术语“如果”、“当…时”、“基于”或“至少基于”可互换使用。在一些实例中,如果术语“如果”、“当…时”、“基于”或“至少基于”用于描述条件动作、条件过程或过程的部分之间的连接,那么术语可为可互换的。
本文中论述的装置(包含存储器阵列)可经形成于例如硅、锗、硅锗合金、砷化镓、氮化镓等的半导体衬底上。在一些情况中,衬底是半导体晶片。在一些其它实例中,衬底可为绝缘体上硅(SOI)衬底(例如玻璃上硅(SOG)或蓝宝石上硅(SOP))或另一衬底上半导体材料外延层。衬底或衬底的子区域的导电性可通过使用各种化学物种(包含(但不限于)磷、硼或砷)进行掺杂来控制。掺杂可在衬底的初始形成或生长期间通过离子植入或通过任何其它掺杂方法执行。
本文中论述的开关组件或晶体管可表示场效晶体管(FET)且包括包含源极、漏极及栅极的三端子装置。端子可通过导电材料(例如金属)连接到其它电子元件。源极及漏极可导电且可包括重掺杂(例如简并)半导体区域。源极及漏极可由轻掺杂半导体区域或沟道分离。如果沟道是n型(即,多数载子是电子),那么FET可称为n型FET。如果沟道是p型(即,多数载子是空穴),那么FET可称为p型FET。沟道可由绝缘栅极氧化物覆盖。沟道导电性可通过将电压施加到栅极来控制。举例来说,分别将正电压或负电压施加到n型FET或p型FET可导致沟道变成导电。如果将大于或等于晶体管的阈值电压的电压施加到晶体管栅极,那么晶体管可“接通”或“激活”。如果将小于晶体管的阈值电压的电压施加到晶体管栅极,那么晶体管可“断开”或“取消激活”。
本文中陈述的描述结合附图描述实例配置且不表示可实施或在权利要求书的范围内的所有实例。本文中使用的术语“示范性”意味着“用作实例、例子或说明”而非“优选的”或“优于其它实例”。详细描述包含用于提供所描述技术的理解的特定细节。然而,可在没有这些特定细节的情况下实践这些技术。在一些例子中,以框图形式展示众所周知的结构及装置以免模糊所描述实例的概念。
在附图中,类似组件或特征可具有相同参考标记。此外,相同类型的各种组件可通过使参考标记后接连字符及区分类似组件的第二标记来区分。如果说明中仅使用第一参考标记,那么描述适用于具有相同第一参考标记的类似组件中的任何者,与第二参考标记无关。
本文中描述的功能可经实施于硬件、由处理器执行的软件、固件或其任何组合中。如果实施于由处理器执行的软件中,那么功能可作为一或多个指令或代码存储于计算机可读媒体上或经由计算机可读媒体传输。其它实例及实施方案在本公开及所附权利要求书的范围内。举例来说,由于软件的性质,上述功能可使用由处理器执行的软件、硬件、固件、硬连线或这些中的任何者的组合实施。实施功能的特征也可物理定位于各个位置处,其包含经分布使得功能的部分实施于不同物理位置处。
举例来说,结合本公开描述的各种说明框及组件可用经设计以执行本文中描述的功能的通用处理器、DSP、ASIC、FPGA或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合实施或执行。通用处理器可为微处理器,但替代地,处理器可为任何处理器、控制器、微控制器或状态机。处理器可实施为计算装置的组合(例如DSP与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器或任何其它此配置)。
如本文中(包含在权利要求书中)使用,项目列表(例如由例如“…中的至少一者”或“…中的一或多者”的短语开头的项目列表)中使用的“或”指示包含性列表,使得(例如)A、B或C中的至少一者的列表意味着A或B或C或AB或AC或BC或ABC(即,A及B及C)。而且,如本文中使用,短语“基于”不应被解释为参考一组封闭条件。举例来说,在不脱离本公开的范围的情况下,描述为“基于条件A”的示范性步骤可基于条件A及条件B两者。换句话说,如本文中使用,短语“基于”应以相同于短语“至少基于”的方式解释。
计算机可读媒体包括非暂时性计算机存储媒体及通信媒体两者,其包含促进计算机程序从一个位置转移到另一位置的任何媒体。非暂时性存储媒体可为可由通用或专用计算机存取的任何可用媒体。通过实例而非限制,非暂时性计算机可读媒体可包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、光盘(CD)ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置或可用于载送或存储呈指令或数据结构形式的期望程序代码构件且可由通用或专用计算机或通用或专用处理器存取的任何其它非暂时性媒体。而且,任何连接适当地称为计算机可读媒体。举例来说,如果软件使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或无线技术(例如红外线、无线电及微波)从网站、服务器或其它远程源传输,那么同轴电缆、光纤电缆、双绞线、DSL或无线技术(例如红外线、无线电及微波)包含于媒体定义中。如本文中使用,磁盘及光盘包含CD、激光盘、光盘、数字多功能光盘(DVD)、软盘及蓝光盘,其中磁盘通常磁性地复制数据,而光盘用激光光学地复制数据。上述内容的组合也包含于计算机可读媒体的范围内。
提供本文中的描述来使所属领域的技术人员能够制造或使用本公开。所属领域的技术人员将明白本公开的各种修改,且可在不脱离本公开的范围的情况下将本文中定义的一般原理应用于其它变体。因此,本公开不限于本文中描述的实例及设计,而是应被给予与本文中公开的原理及新颖特征一致的最广范围。
Claims (25)
1.一种方法,其包括:
在启动存储器系统首次发生之后,识别存储到所述存储器系统的非易失性存储器装置的用于操作所述存储器系统的参数数据;
至少部分基于识别存储到所述存储器系统的所述非易失性存储器装置的所述参数数据而在所述存储器系统处产生与所述参数数据相关联的错误控制码;
在启动所述存储器系统第二次发生之后,使用所述错误控制码识别与所述参数数据相关联的第一错误;及
至少部分基于识别所述第一错误而在所述存储器系统处校正与所述参数数据相关联的所述第一错误。
2.根据权利要求1所述的方法,其进一步包括:
至少部分基于校正与所述参数数据相关联的所述第一错误来使计数器递增,其中所述计数器的值与所述参数数据的经校正错误的数量相关联。
3.根据权利要求2所述的方法,其进一步包括:
至少部分基于使所述计数器递增来比较所述计数器的所述值和与所述错误控制码相关联的阈值,其中校正与所述参数数据相关联的所述第一错误是至少部分基于所述计数器的所述值未能满足所述阈值。
4.根据权利要求3所述的方法,其中所述阈值是至少部分基于能够由所述错误控制码校正的错误数量。
5.根据权利要求2所述的方法,其进一步包括:
在启动所述存储器系统第三次发生之后,使用所述所产生的错误控制码识别与所述参数数据相关联的第二错误;
至少部分基于识别与所述参数数据相关联的所述第二错误来使所述计数器递增;及
至少部分基于识别与所述参数数据相关联的所述第二错误及使所述计数器递增而在所述存储器系统处校正与所述参数数据相关联的所述第二错误。
6.根据权利要求5所述的方法,其进一步包括:
至少部分基于使所述计数器递增来确定所述计数器的所述值满足与能够由所述错误控制码校正的第一错误数量相关联的阈值;及
至少部分基于确定所述计数器的所述值满足所述阈值来选择第三错误控制码用于校正与所述参数数据相关联的第三数量的错误,其中所述第三错误控制码经配置以校正大于所述阈值的错误数量。
7.根据权利要求6所述的方法,其进一步包括:
至少部分基于选择所述第三错误控制码用于校正与所述参数数据相关联的所述第三数量的错误来增大所述阈值。
8.根据权利要求5所述的方法,其进一步包括:
至少部分基于使所述计数器递增来确定所述计数器的所述值高于与能够由所述错误控制码校正的第一错误数量相关联的第一阈值且低于与能够由所述错误控制码校正的第二错误数量相关联的第二阈值;及
至少部分基于确定所述计数器的所述值高于所述第一阈值且低于所述第二阈值来选择第四错误控制码用于校正与所述参数数据相关联的第四数量的错误,其中所述第四错误控制码经配置以校正大于所述第一阈值的错误数量。
9.根据权利要求2所述的方法,其进一步包括:
至少部分基于使所述计数器递增来确定所述计数器的所述值满足与能够由所述错误控制码校正的第一错误数量相关联的阈值;及
至少部分基于确定所述计数器的所述值满足所述阈值而在所述存储器系统处产生与所述参数数据相关联的第二错误控制码,其中所述第二错误控制码经配置以校正大于能够由所述错误控制码校正的所述第一错误数量的第二错误数量。
10.根据权利要求9所述的方法,其进一步包括:
至少部分基于产生与所述参数数据相关联的所述第二错误控制码来用所述第二错误控制码替换所述错误控制码。
11.根据权利要求9所述的方法,其进一步包括:
至少部分基于产生所述第二错误控制码用于校正与所述参数数据相关联的所述第二数量的错误来增大所述阈值。
12.根据权利要求1所述的方法,其中所述参数数据存储到所述存储器系统的所述非易失性存储器装置的第一部分,所述方法进一步包括:
将所述经校正参数数据存储到不同于所述存储器系统的所述非易失性存储器装置的所述第一部分的所述存储器系统的所述非易失性存储器装置的第二部分。
13.一种方法,其包括:
至少部分基于存储器系统启动首次发生而在主机系统处接收用于操作所述存储器系统的参数数据;
至少部分基于从所述存储器系统接收所述参数数据而在所述主机系统处产生与所述参数数据相关联的错误控制码;
至少部分基于产生与所述参数数据相关联的所述错误控制码来将与所述参数数据相关联的所述错误控制码传输到所述存储器系统;
至少部分基于所述存储器系统启动第二次发生且在将与所述参数数据相关联的所述错误控制码传输到所述存储器系统之后在所述主机系统处从所述存储器系统接收所述参数数据;
至少部分基于从所述存储器系统接收所述参数数据而在所述主机系统处校正与所述参数数据相关联的第一错误;及
至少部分基于校正与所述参数数据相关联的所述第一错误来将经校正参数数据传输到所述存储器系统。
14.根据权利要求13所述的方法,其进一步包括:
至少部分基于校正与所述参数数据相关联的所述第一错误来使计数器递增,其中所述计数器的值与所述参数数据的经校正错误的数量相关联。
15.根据权利要求14所述的方法,其进一步包括:
至少部分基于使所述计数器递增来确定所述计数器的所述值满足与能够由所述错误控制码校正的第一错误数量相关联的阈值;
至少部分基于确定所述计数器的所述值满足所述阈值而在所述主机系统处产生与所述参数数据相关联的第二错误控制码,其中所述第二错误控制码经配置以校正大于能够由所述错误控制码校正的所述第一错误数量的第二数量的错误;及
至少部分基于产生所述第二错误控制码来将所述第二错误控制码传输到所述存储器系统。
16.根据权利要求15所述的方法,其进一步包括:
至少部分基于产生所述第二错误控制码用于校正与所述参数数据相关联的所述第二数量的错误来增大所述阈值。
17.根据权利要求14所述的方法,其进一步包括:
至少部分基于使所述计数器递增来比较所述计数器的所述值和与所述错误控制码相关联的阈值,其中校正与所述参数数据相关联的所述第一错误是至少部分基于所述计数器的所述值未能满足所述阈值。
18.根据权利要求17所述的方法,其中所述阈值是至少部分基于能够由所述错误控制码校正的错误数量。
19.根据权利要求14所述的方法,其进一步包括:
至少部分基于所述存储器系统启动第三次发生而在所述主机系统处从所述存储器系统接收所述参数数据;
至少部分基于在所述存储器系统启动所述第三次发生之后接收所述参数数据来识别与所述参数数据相关联的第二错误;
至少部分基于识别与所述参数数据相关联的所述第二错误来使所述计数器递增;及
至少部分基于识别所述第二错误及使所述计数器递增而在所述主机系统处校正与所述参数数据相关联的所述第二错误。
20.根据权利要求19所述的方法,其进一步包括:
至少部分基于使所述计数器递增来确定所述计数器的所述值满足与能够由所述错误控制码校正的第一错误数量相关联的阈值;及
至少部分基于确定所述计数器的所述值满足所述阈值来选择第三错误控制码用于校正与所述参数数据相关联的第三数量的错误,其中所述第三错误控制码经配置以校正大于所述阈值的错误数量。
21.根据权利要求20所述的方法,其进一步包括:
至少部分基于选择所述第三错误控制码用于校正与所述参数数据相关联的所述第三数量的错误来增大所述阈值。
22.根据权利要求19所述的方法,其进一步包括:
至少部分基于使所述计数器递增来确定所述计数器的所述值高于与能够由所述错误控制码校正的第一错误数量相关联的第一阈值且低于与能够由所述错误控制码校正的第二错误数量相关联的第二阈值;及
至少部分基于确定所述计数器的所述值高于所述第一阈值且低于所述第二阈值来选择第四错误控制码用于校正与所述参数数据相关联的第四数量的错误,其中所述第四错误控制码经配置以校正大于所述第一阈值的错误数量。
23.一种存储代码的非暂时性计算机可读媒体,所述代码包括能够由处理器执行以进行以下的指令:
在启动存储器系统首次发生之后,识别存储到所述存储器系统的非易失性存储器装置的用于操作所述存储器系统的参数数据;
至少部分基于识别存储到所述存储器系统的所述非易失性存储器装置的所述参数数据而在所述存储器系统处产生与所述参数数据相关联的错误控制码;
在启动所述存储器系统第二次发生之后,使用所述错误控制码识别与所述参数数据相关联的第一错误;及
至少部分基于识别所述第一错误而在所述存储器系统处校正与所述参数数据相关联的所述第一错误。
24.根据权利要求23所述的非暂时性计算机可读媒体,其中所述指令能够进一步由所述处理器执行以:
至少部分基于校正与所述参数数据相关联的所述第一错误来使计数器递增,其中所述计数器的值与所述参数数据的经校正错误的数量相关联。
25.一种存储代码的非暂时性计算机可读媒体,所述代码包括能够由处理器执行以进行以下的指令:
至少部分基于存储器系统启动首次发生而在主机系统处接收用于操作所述存储器系统的参数数据;
至少部分基于从所述存储器系统接收所述参数数据而在所述主机系统处产生与所述参数数据相关联的错误控制码;
至少部分基于产生与所述参数数据相关联的所述错误控制码来将与所述参数数据相关联的所述错误控制码传输到所述存储器系统;
至少部分基于所述存储器系统启动第二次发生且在将与所述参数数据相关联的所述错误控制码传输到所述存储器系统之后在所述主机系统处从所述存储器系统接收所述参数数据;
至少部分基于从所述存储器系统接收所述参数数据而在所述主机系统处校正与所述参数数据相关联的第一错误;及
至少部分基于校正与所述参数数据相关联的所述第一错误来将经校正参数数据传输到所述存储器系统。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/500,676 US11861191B2 (en) | 2021-10-13 | 2021-10-13 | Parameter table protection for a memory system |
US17/500,676 | 2021-10-13 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115966242A true CN115966242A (zh) | 2023-04-14 |
Family
ID=85798645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211181525.0A Withdrawn CN115966242A (zh) | 2021-10-13 | 2022-09-27 | 用于存储器系统的参数表保护 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11861191B2 (zh) |
CN (1) | CN115966242A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11940874B2 (en) * | 2022-08-08 | 2024-03-26 | Micron Technology, Inc. | Queue management for a memory system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011065599A (ja) * | 2009-09-18 | 2011-03-31 | Toshiba Corp | メモリシステムおよびメモリシステムの制御方法 |
KR102210327B1 (ko) * | 2014-08-21 | 2021-02-01 | 삼성전자주식회사 | 에러 알림 기능이 있는 메모리 장치 |
US9606865B2 (en) * | 2015-02-23 | 2017-03-28 | Sandisk Technologies Llc | Method and apparatus for configuring a memory device |
US9633738B1 (en) * | 2016-06-28 | 2017-04-25 | Sandisk Technologies Llc | Accelerated physical secure erase |
US10083754B1 (en) * | 2017-06-05 | 2018-09-25 | Western Digital Technologies, Inc. | Dynamic selection of soft decoding information |
US10649674B2 (en) * | 2018-05-03 | 2020-05-12 | Western Digital Technologies, Inc. | Extended controller pre-initialization using boot partitions in solid state systems |
KR20200060155A (ko) * | 2018-11-22 | 2020-05-29 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US11138064B2 (en) * | 2018-12-13 | 2021-10-05 | Micron Technology, Inc. | Dynamic control of error management and signaling |
US11372700B1 (en) * | 2020-12-08 | 2022-06-28 | Xilinx, Inc. | Fault-tolerant data transfer between integrated circuits |
US11507502B2 (en) * | 2021-02-23 | 2022-11-22 | Western Digital Technologies, Inc. | Data storage device performance prediction based on valid fragment count |
-
2021
- 2021-10-13 US US17/500,676 patent/US11861191B2/en active Active
-
2022
- 2022-09-27 CN CN202211181525.0A patent/CN115966242A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US11861191B2 (en) | 2024-01-02 |
US20230110377A1 (en) | 2023-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113760183A (zh) | 存储器系统的存取操作状态信令 | |
CN115248662A (zh) | 动态超级块 | |
CN114822670A (zh) | 有效数据感知媒体可靠性扫描 | |
CN116897342A (zh) | 存储器装置的偏压控制 | |
CN115966242A (zh) | 用于存储器系统的参数表保护 | |
CN116610251A (zh) | 执行写入操作的技术 | |
US11886735B2 (en) | Data movement based on address table activity | |
US11899963B2 (en) | Suspension during a multi-plane write procedure | |
CN115951932A (zh) | 用于命令序列调整的技术 | |
US11955203B2 (en) | Techniques to mitigate memory die misalignment | |
CN115729848A (zh) | 直接逻辑到物理地址映射 | |
CN115373909A (zh) | 存储器系统中的故障管理技术 | |
CN114647378A (zh) | 用于垃圾收集的有效数据标识 | |
WO2024040569A1 (en) | Data handling during a reflow operation | |
US11687291B2 (en) | Techniques for non-consecutive logical addresses | |
US11934303B2 (en) | Atomic write operations | |
US11860714B1 (en) | Error notification using an external channel | |
US11861177B2 (en) | Configurable verify level for a set of data in a memory device | |
US11977758B2 (en) | Assigning blocks of memory systems | |
US11972109B2 (en) | Two-stage buffer operations supporting write commands | |
US20240061605A1 (en) | Techniques for priority information | |
US20240086070A1 (en) | Read disturb management for memory | |
US20230376243A1 (en) | Storing parity during refresh operations | |
US20240078031A1 (en) | Dividing blocks for special functions | |
US20230335204A1 (en) | Techniques to retire unreliable blocks |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20230414 |