CN116745849A - 存储器装置保护 - Google Patents

存储器装置保护 Download PDF

Info

Publication number
CN116745849A
CN116745849A CN202180091714.6A CN202180091714A CN116745849A CN 116745849 A CN116745849 A CN 116745849A CN 202180091714 A CN202180091714 A CN 202180091714A CN 116745849 A CN116745849 A CN 116745849A
Authority
CN
China
Prior art keywords
memory devices
data
channel
memory
channels
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.)
Pending
Application number
CN202180091714.6A
Other languages
English (en)
Inventor
T·M·布鲁尔
B·基思
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN116745849A publication Critical patent/CN116745849A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

描述与存储器装置保护相关的系统、设备及方法。可确定存储器装置内的错误数量且确定数量可用于进一步确定是利用单个还是多个存储器装置进行错误校正及/或检测操作。多个存储器装置无需用于错误校正及/或检测操作,除非存储器装置内的错误数量超过阈值数量。

Description

存储器装置保护
技术领域
本公开大体上涉及半导体存储器及方法,且更特定来说,涉及用于存储器装置保护的设备、系统及方法。
背景技术
存储器装置通常被提供为计算机或其它电子系统中的内部半导体集成电路。存在许多不同类型的存储器,其包含易失性及非易失性存储器。易失性存储器需要电力来维持其数据(例如主机数据、错误数据等)且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)及晶闸管随机存取存储器(TRAM)等。非易失性存储器可通过在未被供电时保持所存储的数据来提供持久数据且可包含NAND快闪存储器、NOR快闪存储器及电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻随机存取存储器(RRAM)及磁阻随机存取存储器(MRAM),例如自旋力矩转移随机存取存储器(STT RAM)等。
存储器装置可耦合到主机(例如主机计算装置)以存储数据、命令及/或指令以在计算机或电子系统操作时由主机使用。举例来说,数据、命令及/或指令可在计算或其它电子系统的操作期间传送于主机与存储器装置之间。
附图说明
图1是根据本公开的数个实施例的呈包含主机及呈存储器系统的形式的设备的计算系统的形式的功能框图。
图2A说明根据本公开的数个实施例的具有与通道有关的错误校正码(ECC)数据的存储器装置的实例配置。
图2B-1/2B-2说明根据本公开的数个实施例的具有与通道有关的ECC数据的存储器装置的另一实例配置。
图2C说明根据本公开的数个实施例的具有与通道有关的ECC数据的存储器装置的又一实例配置。
图2D-1/2D-2说明根据本公开的数个实施例的具有与通道有关的ECC数据的存储器装置的又一实例配置。
图2E说明根据本公开的数个实施例的具有与通道有关的ECC数据的存储器装置的又一实例配置。
图3是表示根据本公开的数个实施例的用于基于错误数量使用单个或多个通道进行存储器装置保护的实例方法的流程图。
具体实施方式
描述与存储器装置保护相关的系统、设备及方法。数据保护及恢复方案通常为与存储器系统(例如存储器模块)相关联的RAS(可靠性、可用性及可服务性)的一个重要方面。此类方案可提供“芯片猎杀”能力,其中即使构成芯片完全损坏(例如,无功能),但存储器系统可适当工作。由于对更大容量及更高带宽存储器系统的需求不断增加,提供改进数据保护及恢复方案可为有益的。
本公开的各个实施例提供一种保护方案,其可利用“独立磁盘冗余阵列”(RAID)方案来检测及/或校正跨存储器系统的多个存储器装置(例如芯片)的错误。即使构成芯片完全损坏(例如,无功能),但RAID保护可允许在存储器系统内进行数据恢复。
在一些RAID方法中,单独通道可经配置为包含用于存储错误检测/校正数据(例如错误校正码(ECC)数据)以提供错误校正/检测能力的存储器装置。如本文中使用,术语“ECC”希望涵盖各种类型的错误检测及/或校正数据,例如校验和、循环冗余校验(CRC)数据、奇偶校验数据等。在一些先前RAID方法中,执行错误校正及/或检测操作不可避免地需要存取单独通道的存储器装置,尽管单独通道的存储器装置在存储器系统的正常操作中通常不被存取。在一些RAID方法中,ECC数据分布于多个通道上用于提供错误校正/检测能力。在这些方法中,每当要执行错误校正及/或检测操作时,总是需要存取多个通道。由于需要增加数量的存储器装置由RAID涵盖,对单独通道及/或多个通道的此存取可引起延时增加,其基本上会干扰具有增加数量的存储器装置的存储器系统的操作。
相比之下,本文中描述的实施例涉及一种存储器系统,其提供一种机制来减少其中需要存取单个通道的或多个通道之上的存储器装置用于错误校正及/或检测操作的例子。这可通过允许不超过特定数量的存储器装置的错误数量在相同存储器装置内使用ECC数据处置来完成。因此,仅在确定错误的数量超过阈值数量时才存取单独通道或多个通道,且其中需要存取多个通道用于错误校正及/或检测操作的减少例子可进一步减少与错误校正及/或检测操作相关联的延时且进一步提高存储器系统的整体性能。
在一些实施例中,存储器系统可为符合计算快速链路(CXL)的存储器系统(例如,存储器系统可包含PCIe/CXL接口)。CXL是经设计以加速下一代数据中心性能的高速中央处理单元(CPU)到装置及CPU到存储器互连件。CXL技术维持附接装置上的CPU存储器空间与存储器之间的存储器一致性,这允许资源共享以提高性能、降低软件栈复杂性及降低整体系统成本。
CXL经设计为用于高速通信的行业开放标准接口,因为加速器越来越多用于补充CPU以支持新兴应用,例如人工智能及机器学习。CXL技术构建于外围组件互连快速(PCIe)基础设施上,从而利用PCIe物理及电接口在区域中提供高级协议,例如输入/输出(I/O)协议、存储器协议(例如,最初允许主机与加速器共享存储器)及一致性接口。
在本公开的以下详细描述中,参考附图,附图形成本公开的一部分且在附图中通过说明来展示可如何实践本公开的一或多个实施例。足够详细地描述这些实施例以使所属领域的一般技术人员能够实践本公开的实施例,且应理解,可利用其它实施例且可在不背离本公开的范围的情况下做出过程、电及结构变化。
如本文中使用,尤其关于图式中的元件符号的例如“N”、“M”等的标志符指示可包含所标示的特定特征的数目。还应理解,本文中使用的术语仅用于描述特定实施例且不意在限制。如本文中使用,单数形式“一”及“所述”可包含单数及复数个指涉物两者,除非上下文另外明确指示。另外,“数个”、“至少一个”及“一或多个”(例如数个存储体)可指代一或多个存储体,而“多个”希望指代多于一个此类事物。
此外,词语“可”贯穿本申请案用于意指准许(例如,有可能、能够)而非强制(例如,必须)。术语“包含”及其派生词意味着“包含(但不限于)”。根据上下文需要,术语“经耦合”及“耦合”意味着物理直接或间接连接或用于存取及移动(传输)命令及/或数据。
本文中的图遵循编号惯例,其中首位或前几位数字对应于图号且剩余数字识别图中的元件或组件。不同图之间的类似元件或组件可通过使用类似数字来识别。举例来说,110可指代图1中的元件“10”,且类似元件在图2中可称为210。一群组或多个类似元件或组件在本文中可用单个元件符号统称。举例来说,多个参考元件110-1到110-N可统称为110。应了解,本文中各个实施例中展示的元件可经添加、交换及/或消除以便提供本公开的数个额外实施例。另外,图中提供的元件的比例及/或相对尺度意在说明本公开的某些实施例且不应被视为意在限制。
图1是根据本公开的数个实施例的呈包含主机102及呈存储器系统104的形式的设备的计算系统100的形式的功能框图。如本文中使用,“设备”可指代(但不限于)各种结构或结构组合中的任何者,例如(举例来说)电路或电路系统、一或若干裸片、一或若干模块、一或若干装置或一或若干系统。
主机102可为主机系统(例如个人膝上型计算机、桌上型计算机、数码相机、智能手机、存储卡读取器及/或物联网启用装置以及各种其它类型的主机)且可包含存储器存取装置(例如处理器(或处理装置))。所属领域的一般技术人员应了解,“处理器”可意指一或多个处理器,例如并行处理系统、数个协处理器等。作为实例,主机102可包含中央处理单元(CPU)。
主机102可包含系统母板及/或背板且可包含数个处理资源(例如一或多个处理器、微处理器或某其它类型的控制电路系统)。系统100可包含单独集成电路或主机102、存储器系统104、控制器106及存储器装置110可在相同集成电路上。系统100可为例如服务器系统及/或高性能计算(HPC)系统及/或其一部分。尽管图1中展示的实例说明具有冯诺依曼(Von Neumann)架构的系统,但本公开的实施例可实施于非冯诺依曼架构中,其可不包含通常与冯诺依曼架构相关联的一或多个组件(例如CPU、ALU等)。
如图1中说明,主机120可经由接口103耦合到存储器系统104。接口103可为允许信息在主机120与存储器系统104之间传送的任何类型的通信路径、总线或类似物。接口的非限制性实例可包含外围组件互连(PCI)接口、外围组件互连快速(PCIe)接口、串行高级技术附接(SATA)接口及/或小型串行高级技术附接(mSATA)接口以及其它。然而,在至少一个实施例中,接口103是符合计算快速链路(CXL)协议标准的PCIe 5.0接口。因此,在一些实施例中,接口103可支持每秒至少32千兆次传送的传送速度。
尽管图1中未描绘,但计算系统100可包含可耦合到主机102的多于一个存储器系统(例如存储器系统104)。可耦合到主机102的一或多个存储器系统(例如存储器系统104)可包含各种类型的存储器模块,例如单列直插式存储器模块、双列直插式存储器模块等。
存储器系统104包含控制器106及经由通道108通信地耦合到控制器106的存储器装置110。在一些实施例中,控制器106可为媒体控制器,例如非易失性存储器快速(NVMe)控制器。举例来说,控制器106可经配置以对存储器装置116执行例如复制、写入、读取、错误校正等的操作。另外,控制器106可包含专用电路系统及/或指令以执行本文中描述的各种操作。举例来说,在一些实施例中,控制器106可包含电路系统及/或指令,其可经执行以控制数据及/或与数据相关联的地址在主机102与存储器装置110之间及/或在存储器装置110之间移动。
存储器装置110可为各种类型的存储器装置。例如,存储器装置可包含RAM、ROM、DRAM、SDRAM、PCRAM、RRAM及快闪存储器以及其它。在其中存储器装置110包含持久或非易失性存储器的实施例中,存储器装置110可为快闪存储器装置,例如NAND或NOR快闪存储器装置。然而,实施例不限于此,且存储器装置110可包含其它非易失性存储器装置,例如非易失性随机存取存储器装置(例如NVRAM、ReRAM、FeRAM、MRAM、PCM)、“新兴”存储器装置(例如包含可展现磁滞特性的铁电电容器的铁电RAM装置)、3D交叉点(3D XP)存储器装置等或其组合。
作为实例,铁电RAM装置可包含铁电电容器且可基于施加到其的电压或电荷量来执行位存储。在此类实例中,相对小及相对大电压允许铁电RAM装置展现类似于正常介电材料(例如具有相对高介电常数的介电材料)的特性,但在此相对小与大电压之间的各种电压处,铁电RAM装置可展现产生非线性介电行为的极化反转。
作为另一实例,3D XP非易失性存储器阵列可结合可堆叠交叉网格式数据存取阵列基于体电阻变化来执行位存储。另外,与许多基于快闪的存储器相比,3D XP非易失性存储器可执行原位写入操作,其中可在不先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。
相应数目个存储器装置可经由通道108耦合到控制器106。举例来说,数个存储器装置110-1、…、110-N分别经由通道108-1、…、108-N耦合到控制器106。实施例不限于可耦合到单个通道的特定数量的存储器装置。作为另一实例,通道(例如通道108中的一者)可耦合到单个存储器装置及/或多个存储器装置。在各个实施例中,来自多个通道的存储器装置可一起分组为阶层。控制器106与存储器装置110之间经由通道108的通信可根据各种协议进行操作。尽管实施例不限于特定协议,但实例协议可包含由电子装置工业联合会(JEDEC)定义的双倍数据速率(DDR),包含DDR1到5及/或低功耗DDR(LPDDR)1到5(例如LPDDR 1到LPDDR 5)。
可并行(例如,同时)存取耦合到不同通道108的存储器装置110。此外,可选择性地存取相同通道及/或不同通道的每一存储器装置110。举例来说,与正被存取的一个存储器装置耦合到相同通道(例如通道108中的一者)的存储器装置(例如存储器装置110)无需一起存取。类似地,耦合到一个通道的存储器装置无需与耦合到不同通道的存储器装置一起存取。
控制器106可进一步包含错误校正组件(ECC)组件105且利用ECC组件105来基于从主机102接收的数据(例如主机数据)产生ECC数据。ECC组件107可基于各种类型的ECC码进行操作,例如汉明(Hamming)码、里德-所罗门(RS)码、博斯-乔赫里-霍克文黑姆(BCH)码、循环冗余校验(CRC)码、戈莱(Golay)码、里德-穆勒(Reed-Muller)码、戈帕(Goppa)码及丹尼斯顿(Denniston)码以及其它。使用ECC组件105产生的ECC数据可依各种方式写入到且存储于存储器装置110中,如结合图2A到2E进一步描述/说明。
控制器106可使用存储于存储器装置110及ECC组件105中的ECC数据执行错误校正及/或检测操作。使用存储于存储器装置110中的ECC数据执行的错误校正及/或检测操作可对存储器装置内的错误提供多级错误校正/检测能力。如本文中描述,例如,错误校正/检测能力的(多级中)第一级可使用存储于校正不超过阈值数量的错误数量的一个存储器装置中的ECC数据及使用相同存储器装置内存储于检测到错误数量超过阈值数量的相同存储器装置中的不同ECC数据来提供。此外,错误校正/检测能力的(多级中)第二级可在指示错误数量可能超过一或多个存储器装置110内的阈值数量时提供。在一些实施例中,错误校正/检测能力的第二级可使用经配置以存储特定类型的ECC数据的一或多个存储器装置110(其经设计以提供错误校正/检测能力的第二级)来提供,存储器装置110不一定经配置以存储主机数据。
尽管实施例不限于此,但控制器106可通过基于主机数据(例如从图1中说明的主机102接收的数据)及一组预定数据模式执行数个XOR运算来产生(使用ECC组件105)ECC数据。因为在单个码字内编码有对应ECC数据的主机数据可分布于多个通道的存储器装置上,所以存储于一个通道的一或多个存储器装置中的数据值的任何改变可涉及还存取其它通道以产生新(例如,更新)ECC数据。
控制器106可用不同类型的写入将数据(例如主机数据/ECC数据)写入到存储器装置110。举例来说,数据可通过将编程信号(例如设置或复位信号)仅施加到一群组单元中数据值将改变的那些单元以执行读取-修改-写入操作来写入。读取-修改-写入操作可基于将对其执行写入操作的通道的数量来选择性地选择。举例来说,当一或多个存储器装置耦合到相对较少通道(例如单个或两个通道)时,可执行读取-修改-写入操作以将数据写入到一或多个存储器装置。当将数据写入到耦合到相对较多通道(例如多于两个通道)的存储器装置时,可执行正常写入操作(例如,将编程信号施加到一群组单元中的所有单元)以写入数据。
在一些实施例中,存储于存储器装置110中的主机数据/ECC数据还可从控制器106的高速缓存107存取。尽管高速缓存107经说明为定位于控制器106内,但实施例不限于其中可定位高速缓存107的特定位置。举例来说,高速缓存107可定位及驻留于控制器106外部。通过从高速缓存107存取主机数据/ECC数据的至少一部分,可减少将由从存储器装置110完全存取主机数据/ECC数据引起的延时及/或能耗。
图1的实施例可包含未说明以便不模糊本公开的实施例的额外电路系统。举例来说,每一存储器装置110可包含控制电路系统,其进一步包含用于锁存经由I/O连接通过I/O电路系统提供的地址信号的地址电路系统。地址信号可由行解码器及列解码器接收及解码以存取存储器装置110的存储器单元阵列。所属领域的技术人员应了解,地址输入连接的数目可取决于存储器装置110的密度及架构。
图2A说明根据本公开的数个实施例的具有与通道208有关的ECC数据的存储器装置210的实例配置。存储器装置210及通道208分别类似于图1中说明的存储器装置110及通道108。举例来说,存储器装置210中的至少一者可为“新兴”存储器装置,如上文描述。尽管图2说明8个通道,但实施例不限于特定数量的通道。
图2A中说明的实例包含8个通道208-1(通道1)到208-8(通道8)。每一通道208包括对应于4个阶层的4个存储器装置。实施例不限于特定数量的通道或每通道特定数量的存储器装置。举例来说,4个存储器装置210-1到210-4耦合到通道208-1。通道208-5(通道5)、208-6(通道6)、208-7(通道7)及208-8(通道8)分别耦合到存储器装置210-(R-3)、210-(R-2)、210-(R-1)及210-R。尽管一个存储器装置结合通道208-5、208-6、208-7及208-8中的每一者进行说明,但更多数量的存储器装置可耦合到通道208-5、208-6、208-7及208-8,例如4个存储器装置,如结合通道208-1(通道1)、208-2(通道2)、208-3(通道3)及208-4(通道4)描述。每一通道可独立操作。举例来说,耦合到不同通道的存储器装置可由控制器(例如图1中说明的控制器106)并行(例如,同时)存取。
存储器装置210可包含多个存储体。在图2A中说明的实例中,存储器装置被说明为包含第一部分212-1及第二部分212-2。部分212-1及212-2可为一个存储体的部分或不同存储体的部分。在各个实施例中,部分212-1及212-2可用于存储不同类型的数据。例如,在其中部分212-1及212-2在相同存储体内的实例中,第一部分212-1可用于存储特定量的数据(例如64B用户数据),且第二部分212-2可用于存储对应于存储于第一部分212-1中的64B数据的特定量的ECC数据(例如4B)。作为实例,存储于部分212-1中的数据可经由32的突发长度存取,且存储于部分212-2中的对应ECC数据可经由16的突发长度存取。
在一些实施例中,存储器装置210中的每一者的部分212-1及212-2可对应于单独存储体。举例来说,部分212-1可对应于第一存储体,且部分212-2可对应于第二(例如,不同)存储体。单独存储体212-1及212-2可依串行方式存取。举例来说,存储体212-2可在存储体212-1被存取之后进行存取。尽管图2A中未描绘,但存储器装置210可包含多于一个或两个存储体。举例来说,实例存储器装置可包含16或32个存储体。
在其中单个存储体将数据(包含单通道错误校正数据)存储于第一部分212-1中且将对应单通道错误检测数据(例如CRC校验数据)存储于第二部分212-2中的一些实施例中,部分212-1及212-2可并行存取(例如,经由不同引脚)。举例来说,存储单通道错误检测数据的部分212-2可经由数据掩码(DM)引脚存取,而存储于部分212-1中数据可经由不同引脚(例如双向DQ引脚)存取。存在也可经由DM引脚存取的其它类型的数据,例如元数据。如本文中使用,术语“单通道错误校正数据”指代用于执行错误校正操作的数据,错误校正操作涉及从耦合到单个通道的存储器装置读取数据。如本文中使用,术语“单通道错误检测数据”指代用于执行错误检测操作的数据,错误检测操作涉及从耦合到单个通道的存储器装置读取数据。
在图2A中说明的实施例中,存储于存储器装置210中的每一者的部分212-2中的单通道错误检测数据可提供在存储于存储器装置中(例如,在存储器装置的部分212-2中)的数据内检测超过阈值数量的错误数量的错误检测能力。
耦合到通道208-1到208-4的存储器装置可包含特定位置中(例如在部分212-1中)的主机数据(例如从图1中说明的主机102接收的数据)。在一些实施例中,耦合到通道208-1到208-4的存储器装置210中的每一者的部分212-1可进一步包含用于校正不超过阈值数量的错误数量(在相同存储器装置内)的单通道错误校正数据。举例来说,存储于存储器装置210的部分212-1中的ECC数据可用于校正不超过阈值数量的错误数量。
在图2A中说明的实施例中,存储器系统(例如图1中说明的存储器系统104)包含4个通道208-5到208-8。如本文中使用,术语“ECC通道”指代包含(例如,耦合到)存储用于校正超过阈值数量的错误数量的多通道错误校正数据的一或多个存储器装置的通道。如本文中使用,术语“多通道错误校正数据”指代用于执行错误校正操作的数据,错误校正操作涉及从耦合到多个通道的存储器装置读取数据,如本文中进一步描述。“ECC通道”在本文中也可称为“冗余通道”。
在此实例中,(ECC通道208-5到208-8的)4个存储器装置210-(R-3)、210-(R-2)、210-(R-1)及210-R可称为“冗余”存储器装置且经配置以存储多通道错误校正数据用于经由RAID方法校正超过阈值数量的错误数量。举例来说,当确定对应于通道208-1到208-4中的一者的特定存储器装置210含有超过阈值数量的错误数量时,存储于冗余存储器装置中的对应者中的多通道错误校正数据(例如奇偶校验数据)可用于校正特定存储器装置的错误数据。作为实例,如果对对应于208-4的存储器装置210中的特定者(例如与存储器装置210-1定位于相同行上且耦合到通道4的存储器装置中的一者)执行的读取操作导致不可校正错误(例如,读取数据中的错误数量超过可由单通道错误校正数据校正的阈值),那么存储于特定存储器装置中的数据可通过从对应于通道208-1到208-4中的其它者的存储器装置210(例如耦合到通道1的存储器装置210-1及与存储器装置210-1定位于相同行上且耦合到通道2到3的其它存储器装置)读取数据以及从ECC通道208-5(通道5)的对应冗余存储器装置210-(R-3)读取多通道错误校正数据来恢复。例如,从“良好”通道(例如通道1到3)读取的数据与从通道5的冗余存储器装置210-(R-3)读取的多通道错误校正数据的XOR可用于校正(例如,恢复)从通道4的装置210-1读取的错误数据。
图2A中说明的存储器系统(例如图1中说明的存储器系统104)可具有31.25%(例如25%+6.25%)的开销。举例来说,冗余存储器装置(例如存储器装置210-(R-3)、210-(R-2)、210-(R-1)、210-R)的数量与存储主机数据的那些存储器装置(16个存储器装置)的比率是1/4(25%)且存储于每一部分212-2中的单通道错误校正数据的大小与每一部分212-1(及/或存储于每一部分212中的数据)的大小的比率是4/64(6.25%)。在一些实施例中,用于提供错误校正能力的多通道错误校正数据(例如,存储于存储器装置210-(R-3)、210-(R-2)、210-(R-1)及210-R的部分212-1中)可为奇偶校验数据。
尽管实施例不限于此,但本文中描述的阈值数量可对应于单个错误。举例来说,在图2A中说明的实施例中,存储器装置210中的每一者可包含用于校正单个错误的单通道错误校正数据或多通道错误校正数据检测相同存储器装置内的多个错误(例如多于单个错误的错误),而耦合到通道的第二部分(例如通道208-5到208-8)的至少一个存储器装置可包含用于校正通道208-1到208-4以及通道208-5到208-8的一或多个存储器装置内的多个错误(例如多于单个错误)的多通道错误校正数据。
通道(例如通道208)的操作角色可经交换以平衡跨通道的存取数量及避免“热点”且防止一个通道比其它通道更频繁地被存取。如本文中描述,例如,图2A的左侧4个通道208-1到208-4经配置以将主机数据存储于其相应部分212-1中,而右侧4个通道208-5到208-8经配置为ECC通道且存储多通道错误校正数据。为了避免通道208-1到208-4比其它通道208-5到208-8更频繁地被存取(因为主机数据可能比多通道错误校正数据更频繁地被存取),在某一时刻,通道208-1到208-4可经配置为ECC通道且存储多通道错误校正数据,而先前配置为ECC通道的其它通道208-5到208-8可经配置以存储主机数据。
图2B-1/2B-2(统称为图2B)说明根据本公开的数个实施例的具有与通道208有关的ECC数据的存储器装置210的另一实例配置。图2B中说明的存储器装置210及通道208分别类似于图2A中说明的存储器装置210及通道208。举例来说,存储器装置210的部分中的一者(例如部分212-2)可存储多通道错误校正数据(例如CRC)以在相应存储器装置内提供检测超过阈值数量(例如单个错误)的错误数量的错误检测能力。在一些实施例中,存储器装置210的不同部分(例如212-1)可存储主机数据(以及用于提供校正不超过阈值数量的错误数量的错误校正能力的单通道错误校正数据)或多通道错误校正数据(例如奇偶校验数据)以提供校正超过阈值数量的错误数量的错误校正能力。存储器装置210中的至少一者可为“新兴”存储器装置,如上文描述。尽管图2说明10个通道,但实施例不限于特定数量的通道。
图2B中说明的实例包含10个通道208-1(通道1)到208-10(通道10)。每一通道208包含对应于4个相应阶层的4个存储器装置。实施例不限于特定数量的通道或每通道(或每阶层)特定数量的存储器装置。图2B进一步说明包含第一组存储器装置214-1及第二组存储器装置214-2的两组存储器装置210。每一组可包含可操作为相应组的ECC通道的其自身通道。举例来说,组214-1的通道208-5(通道5)可操作为组214-1的通道208-1到208-4(通道1到4)的ECC通道,而组214-2的通道208-10(通道10)可操作为组214-2的通道208-6到208-9(通道6到9)的ECC通道。
如本文中描述,每一ECC通道可提供校正超过阈值数量的错误的错误校正能力。举例来说,当确定对应于通道208-1到208-4中的一者的特定存储器装置210含有超过阈值数量的错误数量时,存储于冗余存储器装置中的对应者(例如对应于通道208-5的存储器装置210中的一者)中的多通道错误校正数据(例如奇偶校验数据)可用于校正特定存储器装置的错误数据。作为实例,如果对对应于208-4的存储器装置210中的特定者(例如与存储器装置210-1定位于相同行上且耦合到通道4的存储器装置中的一者)执行的读取操作导致不可校正错误(例如,读取数据中的错误数量超过可由单通道错误校正数据校正的阈值),那么存储于特定存储器装置中的数据可通过从对应于通道208-1到208-4中的其它者的存储器装置210(例如耦合到通道1的存储器装置210-1及与存储器装置210-1定位于相同行/阶层上且耦合到通道2到3的其它存储器装置)读取数据以及从与存储器装置210-1在相同行/阶层上的通道208-5(通道5)的对应冗余存储器装置读取多通道错误校正数据来恢复。
如上文描述,通道(例如通道208)的操作角色可经交换以平衡跨通道的存取数量及避免“热点”且防止一个通道比其它通道更频繁地被存取。如本文中描述,例如,图2B-1的4个通道208-1到208-4(或图2B-2的4个通道208-6到208-9)经配置以将主机数据存储于其相应部分212-1中,而图2B-1的通道208-5(或图2B-2的通道208-10)经配置为ECC通道且存储通道208-1到208-4(或通道208-6到208-9)的多通道错误校正数据。为了避免通道208-1到208-4(或通道208-6到208-9)比ECC通道208-5(或ECC通道208-10)更频繁地被存取,在某一时刻,通道208-1到208-4(或通道208-6到208-9)中的一者可经配置为ECC通道且存储多通道错误校正数据,而先前配置为ECC通道的通道208-5(或通道208-10)可经配置以存储主机数据。
作为另一实例,当确定对应于通道208-6到208-9中的一者的特定存储器装置210含有超过阈值数量的错误数量时,存储于冗余存储器装置中的对应者(例如对应于通道208-10的存储器装置210中的一者)中的多通道错误校正数据(例如奇偶校验数据)可用于校正特定存储器装置的错误数据。作为实例,如果对对应于208-9的存储器装置210中的特定者(例如与存储器装置210-5定位于相同行上且耦合到通道9的存储器装置中的一者)执行的读取操作导致不可校正错误(例如,读取数据中的错误数量超过可由单通道错误校正数据校正的阈值),那么存储于特定存储器装置中的数据可通过从对应于通道208-6到208-8中的其它者的存储器装置210(例如耦合到通道6的存储器装置210-5及与存储器装置210-5定位于相同行/阶层上且耦合到通道7到8的其它存储器装置)读取数据以及从与存储器装置210-5在相同行/阶层上的通道208-10(通道10)的对应冗余存储器装置读取多通道错误校正数据来恢复。
尽管实施例不限于此,但每一存储器装置212的部分212-1及212-2可在相同存储体内。举例来说,主机数据(例如,存储于部分212-1中)以及单通道错误检测数据(例如,存储于部分212-2中)可从相同存储体存取。在一些实施例中,存储器装置210中的一或多者的部分212-2可经由DM引脚存取,而存储器装置210中的一或多者的部分212-1可经由不同引脚(例如双向DQ引脚)存取。存在也可经由DM引脚存取的其它类型的数据,例如可存储于存储器装置210中的元数据。尽管图2B中未描绘,但每一存储器装置(例如存储器装置210)可包含多于一个或两个存储体。举例来说,实例存储器装置可包含16及/或32个存储体。
图2B中说明的与通道208有关的存储器装置210的配置可具有比图2A中说明的配置更大的容量。举例来说,图2B的配置可具有320GB容量,其中的256GB可用于存储主机数据,而图2A的配置可具有256GB容量,其中的80%可用于存储主机数据。因此,在此实例中,图2B的配置可提供2的幂次容量(例如,28=256),而图2A的配置不能。
图2C说明根据本公开的数个实施例的具有与通道208有关的ECC数据的存储器装置210的又一实例配置。图2C中说明的存储器装置210及通道208分别类似于图2A到2B中说明的存储器装置210及通道208。举例来说,存储器装置210的部分中的一者(例如部分212-2)可包含单通道错误检测数据(例如CRC)以在相应存储器装置内提供检测超过阈值数量(例如单个错误)的错误的错误检测能力。在一些实施例中,存储器装置210的不同部分(例如212-1)可包含主机数据(以及用于提供校正不超过阈值数量的错误数量的错误校正能力的单通道错误校正数据)或多通道错误校正数据(例如奇偶校验数据)以提供校正超过阈值数量的错误数量的错误校正能力。存储器装置210中的至少一者可为“新兴”存储器装置,如上文描述。图2C中说明的实例包含8个通道208-1(通道1)到208-8(通道8)。每一通道208包含对应于5个阶层的5个存储器装置。实施例不限于特定数量的通道或每通道特定数量的存储器装置。
尽管实施例不限于此,但每一存储器装置212的部分212-1及212-2可在相同存储体内。举例来说,主机数据(例如,存储于部分212-1中)以及多通道错误校正数据(例如,存储于部分212-2中)可从相同存储体存取。在一些实施例中,存储器装置210中的一或多者的部分212-2可经由DM引脚存取,而存储器装置210中的一或多者的部分212-1可经由不同引脚(例如双向DQ引脚)存取。存在也可经由DM引脚存取的其它类型的数据,例如可存储于存储器装置210中的元数据。尽管图2C中未描绘,但每一存储器装置(例如存储器装置210)可包含多于一个或两个存储体。举例来说,实例存储器装置可包含16及/或32个存储体。
图2C说明若干群组的存储器装置,例如第一群组的存储器装置220-1(例如对应于一群组的存储器装置的存储器装置的每一行)及第二群组的存储器装置220-2。尽管图2C中未描绘,每一群组的存储器装置(例如第一群组的存储器装置220-1及/或第二群组的存储器装置220-2中的每一者)可从其它群组选择性地存取。举例来说,可选择性地存取若干群组的存储器装置220-1中的一或多个存储器装置210且群组220-2的存储器装置210不一定与群组220-1的一或多个存储器装置210一起存取。
不同于图2A或图2B中说明的实施例,没有单独通道可操作为图2C中说明的存储器装置210的ECC通道。确切来说,群组220-2的存储器装置210可操作为用于为若干群组的存储器装置220-1的一或多个存储器装置210提供校正超过阈值数量的错误数量的错误校正能力。举例来说,虽然群组220-1的相应部分212-1包含主机数据,但群组212-2的相应部分212-1包含用于校正超过阈值数量的错误数量的多通道错误校正数据。作为实例,如果对存储器装置中的特定者210-1执行的读取操作导致可不校正错误(例如,读取数据中的错误数量超过可由单通道错误校正数据校正的阈值),那么存储于存储器装置210-1中的数据可通过从群组220-1的存储器装置210-2、210-3、210-4读取数据以及从群组220-2的对应冗余存储器装置210-5读取多通道错误校正数据来恢复。
在非限制性实例中,设备(例如图1中说明的计算系统100或存储器系统104)可包含一群组的存储器装置(例如图1及2中分别说明的存储器装置110/210)及耦合到存储器装置群组的控制器。控制器可使用存储于存储器装置群组的第一部分(例如部分212-1)中的第一ECC数据对第一部分执行错误检测操作以指示第一部分内的错误数量超过阈值数量。响应于第一部分内的错误数量超过阈值数量的指示,控制器可使用至少第二ECC数据对第一部分执行错误校正操作。第二数据可存储于耦合到存储器装置群组的第一部分耦合到的不同通道的存储器装置群组的第二部分(例如部分212-2)中。在一些实施例中,第二ECC数据可包含奇偶校验位。
在一些实施例中,第一ECC数据及主机数据可存储于存储器装置群组的第一部分的相同存储体中。在一些实施例中,控制器可经由包含DM引脚的多个引脚耦合到存储器装置群组的第一部分。控制器可经由多个引脚的第一部分接收主机数据且与数据并行地经由包含DM引脚的多个引脚的第二部分接收第一ECC数据。
在一些实施例中,主机数据可存储于第一存储体中且第一ECC数据可存储于第二存储体中。此外,高速缓存(例如图1中说明的高速缓存107)可耦合到控制器且控制器可响应于高速缓存存储第一ECC数据而从高速缓存接收第一ECC数据而非从第二存储体接收第一ECC数据。继续此实例,控制器可进一步从存储器装置群组的第一部分的第一存储体接收主机数据且使用存储于第一存储体中的第三ECC数据执行错误校正操作以校正不超过阈值数量的且在主机数据内的错误数量。
图2D-1/2D-2(统称为图2D)说明根据本公开的数个实施例的具有与通道208有关的ECC数据的存储器装置210的又一实例配置。图2D中说明的存储器装置210及通道208分别类似于图2C中说明的存储器装置210及通道208。举例来说,存储器装置210的部分中的一者(例如部分212-2)可包含单通道错误检测数据(例如CRC)以在相应存储器装置内提供检测超过阈值数量(例如单个错误)的错误的错误检测能力。在一些实施例中,存储器装置210的不同部分(例如212-1)可包含主机数据(以及用于提供校正不超过阈值数量的错误数量的错误校正能力的单通道错误校正数据)或多通道校正数据(例如奇偶校验数据)以提供校正超过阈值数量的错误数量的错误校正能力。存储器装置210中的至少一者可为“新兴”存储器装置,如上文描述。图2D中说明的实例包含16个通道208-1(通道1)到208-16(通道8)。每一通道208包含对应于5个阶层(或包含具有备用存储器装置210-X的阶层的6个阶层)的5个(或包含备用存储器装置210-X的6个)存储器装置。实施例不限于特定数量的通道或每通道特定数量的存储器装置。
尽管实施例不限于此,但每一存储器装置212的部分212-1及212-2可在相同存储体内。举例来说,主机数据(例如,存储于部分212-1中)以及单通道错误检测数据(例如,存储于部分212-2中)可从相同存储体存取。在一些实施例中,存储器装置210中的一或多者的部分212-2可经由DM引脚存取,而存储器装置210中的一或多者的部分212-1可经由不同引脚(例如双向DQ引脚)存取。存在也可经由DM引脚存取的其它类型的数据,例如可存储于存储器装置210中的元数据。尽管图2D中未描绘,但每一存储器装置(例如存储器装置210)可包含多于一个或两个存储体。举例来说,实例存储器装置可包含16及/或32个存储体。
此外,图2D中说明的若干群组的存储器装置220-1及一群组的存储器装置220-2类似于图2B到2C中说明的第一群组的存储器装置220-1及第二群组的存储器装置220-2。举例来说,群组220-2的存储器装置210可经配置以存储ECC数据用于为若干群组的存储器装置220-1的一或多个存储器装置提供校正超过阈值数量的错误的错误校正能力。举例来说,每一群组的存储器装置(例如第一群组的存储器装置220-1及/或第二群组的存储器装置220-2中的每一者)可从其它群组选择性地存取,如本文中描述。作为实例,如果对存储器装置中的特定者210-1执行的读取操作导致可不校正错误(例如,读取数据中的错误数量超过可由单通道错误校正数据校正的阈值),那么存储于存储器装置210-1中的数据可通过从群组220-1的存储器装置210-2、210-3、210-4读取数据以及从群组220-2的对应冗余存储器装置210-5读取多通道错误校正数据来恢复。
具有图2D中说明的配置的存储器系统(例如图1中说明的存储器系统104)可进一步包含可经配置以操作为备用装置的存储器装置(例如存储器装置210-X)。如果例如通道208-1到208-16的存储器装置210中的一者发生故障,那么经配置以操作为备用装置的存储器装置210-X可代替故障存储器装置使用(操作)。在一些实施例中,备用装置(例如存储器装置210-X)可耦合到存储器系统的额外通道(例如图2D中未描绘的第17通道)且与其它存储器装置210(例如通道208-1到208-16的存储器装置210)分离。在一些实施例中,每一通道可包含一或多个备用装置(例如存储器装置210-X)。举例来说,每一通道可包含6个存储器装置(例如,不是图2D中当前说明的5个存储器装置),其中的一个存储器装置可经配置为相应通道的备用装置。
在非限制性实例中,设备(例如图1中说明的计算系统100或存储器系统104)可包含多个通道且多个通道中的每一者可包含相应数目个存储器装置。设备可进一步包含耦合到多个通道的控制器(例如图1中说明的控制器106)。控制器可使用存储于多个通道的第一组中的第一ECC数据对第一组的数个存储器装置(例如图1及2中分别说明的存储器装置110/210)执行错误检测操作以指示第一组的一个通道的一或多个存储器装置内的错误数量超过阈值数量。响应于一或多个存储器装置内的错误数量超过阈值数量的指示,控制器可执行错误校正操作以使用存储于第一组的其它通道的数个存储器装置中的主机数据及存储于多个通道的第二组的数个存储器装置中的第二ECC数据来校正所述数量的错误。在一些实施例中,控制器可并行存取多个通道。在一些实施例中,第一ECC数据包含CRC码。
在一些实施例中,多个通道的第三组的数个存储器装置中的至少一者可为备用装置(例如存储器装置210-X)。在此实例中,控制器可响应于第一组的一个存储器装置具有超过阈值数量的错误数量而操作配置为备用装置的第三部分的数个存储器装置中的至少一者来代替所述一个存储器装置。在一些实施例中,控制器可经配置以交换多个通道的第一组及第二组的操作角色以将主机数据存储于多个通道的第二组中且将第二ECC数据存储于多个通道的第一组中。
在另一实例中,系统(例如图1中说明的计算系统100或存储器系统104)可包含多个群组的存储器装置(例如图1及2中分别说明的存储器装置110/210)且多个群组的存储器装置中的每一者可包含相应数目个存储器装置。在此实例中,多个群组的存储器装置(例如若干群组的存储器装置220-1)的第一部分的数个存储器装置中的每一者可存储第一ECC数据以校正不超过阈值数量的错误数量且存储第二ECC数据用于指示存储于第一部分的数个存储器装置中的每一者中的数据内的错误数量超过阈值数量。此外,多个群组的存储器装置的第二部分的数个存储器装置(例如存储器装置群组220-2)可存储第三ECC数据以校正存储于第一部分的数个存储器装置中的每一者中的数据内超过阈值数量的错误数量。设备进一步包含耦合到多个群组的存储器装置的控制器(例如图1中说明的控制器106)。控制器可使用第一ECC数据对多个群组的存储器装置的第一部分执行错误检测操作。响应于第一部分的数个存储器装置中的至少一者具有超过阈值数量的错误数量的指示,控制器可进一步使用第三ECC数据对第一部分的数个存储器装置中的至少一者执行错误校正操作。
在一些实施例中,控制器可经配置以使用第一ECC数据对第一部分的数个存储器装置执行错误校正操作以校正不超过阈值数量的错误数量。在一些实施例中,控制器可并行存取多个群组的存储器装置。
在一些实施例中,第一部分的数个存储器装置中的至少一者及第二部分的数个存储器装置中的至少一者耦合到相同通道。在一些实施例中,第三部分的数个存储器装置中的至少一者是备用装置。在此实例中,控制器可响应于第一部分的一个存储器装置具有超过阈值数量的错误数量而操作配置为备用装置的第三部分的数个存储器装置中的至少一者来代替第一部分的所述一个存储器装置。
图2E说明根据本公开的数个实施例的具有与通道208有关的ECC数据的存储器装置210的又一实例配置。图2E中说明的存储器装置210及通道208分别类似于图2A到2D中说明的存储器装置210及通道208。举例来说,图2E中说明的存储器装置210的部分(例如部分212-2)中的一者可包含单通道错误检测数据(例如CRC)以在相应存储器装置内提供检测超过阈值数量(例如单个错误)的错误的错误检测能力。在一些实施例中,存储器装置210的不同部分(例如212-1)可包含主机数据(以及用于提供校正不超过阈值数量的错误数量的错误校正能力的单通道错误校正数据)或多通道错误校正数据(例如奇偶校验数据)以提供校正超过阈值数量的错误数量的错误校正能力。存储器装置210中的至少一者可为“新兴”存储器装置,如上文描述。图2E中说明的实例包含8个通道208-1(通道1)到208-9(通道9)。实施例不限于特定数量的通道或每通道特定数量的存储器装置。
在一些实施例中,图2E的每一存储器装置210的每一部分(例如部分212-1或212-2)可对应于存储体。举例来说,图2E中说明的每一存储器装置(例如存储器装置210)的部分212-1可对应于一个存储体,而图2E中说明的每一存储器装置的部分212-2可对应于不同存储体。
图2E的存储器系统(例如图1中说明的存储器系统104)可包含经配置以存储用于校正超过阈值数量的错误数量的多通道错误校正数据的存储器装置210-A、210-B、…、210-P。作为实例,如果对对应于208-1(通道1)的存储器装置210-1执行的读取操作导致不可校正错误(例如,读取数据中的错误数量超过可由单通道错误校正数据校正的阈值),那么存储于存储器装置210-1中的数据可通过从对应于通道208-2到208-8中的其它者的存储器装置210(例如耦合到通道2到8且与存储器装置210-1定位于相同行/阶层上的其它存储器装置)读取数据以及从(通道208-9(通道9)的)对应冗余存储器装置201-A读取多通道错误校正数据来恢复。
如图2E中部分说明,这些存储器装置(例如存储器装置210-A、210-B、…、210-P)可分布于通道208-1、…、208-9上,使得每一通道208可包含经配置以存储ECC数据的一个存储器装置。因此,在图2E中说明的实施例中,存储器系统的开销可为12.5%(例如1/8)。存储器装置210的操作角色可经交换以将不同装置配置为冗余存储器装置。举例来说,在图2E中,虽然存储器装置210-A、210-B、…、210-P经配置为存储器装置的相应行的冗余存储器装置,但不同装置可连续配置为冗余存储器装置,使得作为冗余存储器装置的操作角色可通过/在一行的9个存储器装置中轮换。
图3是表示根据本公开的数个实施例的用于基于错误数量使用单个或多个通道进行存储器装置保护的实例方法330的流程图。方法330可由处理逻辑执行,处理逻辑可包含硬件(例如处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如运行或执行于处理装置上的指令)或其组合。在一些实施例中,方法330由图1中说明的控制器106执行。尽管以特定序列或顺序展示,但除非另外指定,否则过程的顺序可修改。因此,所说明实施例应仅被理解为实例,且所说明过程可以不同顺序执行,且一些过程可并行执行。另外,在各个实施例中,可省略一或多个过程。因此,不是每个实施例中都需要所有过程。其它过程流程是可能的。
在框332处,方法330可包含对第一通道的数个存储器装置执行读取操作以检索来自第一通道的数个存储器装置的第一部分的主机数据的第一组及来自第一通道的数个存储器装置的第二部分的第一ECC数据。数个存储器装置可类似于本文图1及2中说明的存储器装置110/210。通道(例如第一通道)可类似于图1及2中说明的通道108/208。在框334处,方法330可包含使用第一ECC数据对第一通道的数个存储器装置执行错误检测操作。
在框336处,方法330可包含(响应于经由错误检测操作指示错误数量超过第一通道的数个存储器装置中的至少一者内的阈值数量)对第二通道的数个存储器装置执行读取操作以检索主机数据的第二组及对第三通道的数个存储器装置执行读取操作以检索基于主机数据的第一组及主机数据的第二组产生的第二ECC数据。在框338处,方法330可包含(响应于经由错误检测操作检测到错误数量超过第一通道的数个存储器装置中的至少一者内的阈值数量)使用第二ECC数据及主机数据的第二组对第一通道的数个存储器装置执行错误校正操作以校正超过阈值数量的错误数量。
在一些实施例中,方法330可包含使用存储于数个存储器装置的第一部分中的第三ECC数据对第一通道的数个存储器装置执行错误校正操作。在一些实施例中,方法330可进一步包含使用第三ECC数据执行错误校正操作且不对第二通道的数个存储器装置执行读取操作以检索主机数据的第二组或不对第三通道的数个存储器装置执行读取操作以检索第二ECC数据。
在一些实施例中,方法330可包含:接收将主机数据的第三组写入到第一通道的数个存储器装置上的写入请求;至少部分基于主机数据的第三组产生第四ECC数据;及执行读取-修改-写入操作以将主机数据的第三组写入到第一通道的数个存储器装置上且将第四ECC数据写入到第三通道的数个存储器装置上。读取-修改-写入操作数据可通过将编程信号(例如设置或复位信号)仅施加到一群组单元中数据值将改变的那些单元来执行。读取-修改-写入操作可经选择性地选择以将数据值写入到一或多个存储器装置。举例来说,当一或多个存储器装置耦合到相对较少通道(例如单个或两个通道)时,可执行读取-修改-写入操作以将数据值写入到一或多个存储器装置。当将数据值写入到耦合到相对较多通道(例如多于两个通道)的存储器装置时,可执行正常写入操作(例如,将编程信号施加到一群组单元中的所有单元)以写入数据值。
尽管本文中已说明及描述特定实施例,但所属领域的一般技术人员应了解,经计算以实现相同结果的布置可代替所展示的特定实施例。本公开希望涵盖本公开的一或多个实施例的调适或变化。应理解,上文描述已依说明方式而非限制方式进行。所属领域的技术人员将在检阅上文描述之后明白上文实施例的组合及本文中未明确描述的其它实施例。本公开的一或多个实施例的范围包含其中使用上文结构及过程的其它应用。因此,应参考所附权利要求书以及此权利要求书所授权的等效物的全范围来确定本公开的一或多个实施例的范围。
在前述详细描述中,为了简化本公开,将一些特征一起分组在单个实施例中。本公开的方法不应被解译为反映本公开的公开实施例必须使用比每一权利要求中明确叙述的特征更多的特征的意图。确切来说,如所附权利要求书反映,发明标的物在于少于单个公开实施例的所有特征。因此,所附权利要求特此并入到具体实施方式中,其中每一权利要求独立作为单独实施例。

Claims (19)

1.一种设备,其包括:
一群组的存储器装置;及
控制器,其耦合到所述群组的存储器装置,所述控制器经配置以:
使用存储于所述群组的存储器装置的第一部分中的第一错误校正码(ECC)数据对所述第一部分执行错误检测操作以指示错误数量超过所述第一部分内的阈值数量;及
响应于所述第一部分内的所述错误数量超过所述阈值数量的所述指示,使用至少第二ECC数据对所述第一部分执行错误校正操作;
其中所述第二ECC数据存储于所述群组的存储器装置的第二部分中,所述第二部分耦合到与所述群组的存储器装置的所述第一部分耦合到的通道不同的通道。
2.根据权利要求1所述的设备,其中所述第一ECC数据及主机数据存储于所述群组的存储器装置的所述第一部分的相同存储体中。
3.根据权利要求2所述的设备,其中:
所述控制器经由包含数据掩码(DM)引脚的多个引脚耦合到所述群组的存储器装置的所述第一部分;且
所述控制器经配置以:
经由所述多个引脚的第一部分接收所述主机数据;及
与所述数据并行地经由包含所述DM引脚的所述多个引脚的第二部分接收所述第一ECC数据。
4.根据权利要求1所述的设备,其中主机数据存储于第一存储体中且所述第一ECC数据存储于第二存储体中。
5.根据权利要求4所述的设备,其中所述控制器经配置以:
从所述群组的存储器装置的所述第一部分的所述第一存储体接收所述主机数据;及
使用存储于所述第一存储体中的第三ECC执行错误校正操作以校正不超过所述阈值数量的错误数量。
6.根据权利要求4所述的设备,其进一步包括耦合到所述控制器的高速缓存,其中所述控制器经配置以响应于所述高速缓存存储所述第一ECC数据而从所述高速缓存接收所述第一ECC数据而非从所述第二存储体接收所述第一ECC数据。
7.一种设备,其包括:
多个通道,所述多个通道中的每一者包括相应数目个存储器装置;及
控制器,其耦合到所述多个通道,所述控制器经配置以:
使用存储于所述多个通道的第一组中的第一ECC数据对所述第一组的数个存储器装置执行错误检测操作以指示所述第一组的一个通道的一或多个存储器装置内的错误数量超过阈值数量;及
响应于所述一或多个存储器装置内的所述错误数量超过所述阈值数量的所述指示,执行错误校正操作以使用以下来校正所述错误数量:
主机数据,其存储于所述第一组的其它通道的数个存储器装置中;及
第二ECC数据,其存储于所述多个通道的第二组的数个存储器装置中。
8.根据权利要求7所述的设备,其中:
所述多个通道的第三组的数个存储器装置中的至少一者是备用装置;且
所述控制器经配置以响应于所述第一组的一个存储器装置具有超过所述阈值数量的错误数量而操作所述备用装置代替所述一个存储器装置。
9.根据权利要求7所述的设备,其中所述第一ECC数据包括循环冗余校验(CRC)。
10.根据权利要求7到9中任一权利要求所述的设备,其中所述控制器经配置以交换所述多个通道的所述第一组及所述第二组的操作角色以将所述主机数据存储于所述多个通道的所述第二组中且将所述第二ECC数据存储于所述多个通道的所述第一组中。
11.根据权利要求7到9中任一权利要求所述的设备,其中所述控制器经配置以并行存取所述多个通道。
12.一种系统,其包括:
多个群组的存储器装置,所述多个群组的存储器装置中的每一者包括相应数目个存储器装置,其中:
所述多个群组的存储器装置的第一部分的数个存储器装置中的每一者存储:
第一错误校正码(ECC)数据,其用于校正不超过阈值数量的错误数量;及
第二ECC数据,其用于指示存储于所述第一部分的所述数个存储器装置中的每一者中的数据内的错误数量超过所述阈值数量;且
所述多个群组的存储器装置的第二部分的数个存储器装置存储第三ECC数据以校正存储于所述第一部分的所述数个存储器装置中的每一者中的数据内超过所述阈值数量的所述错误数量;及
控制器,其耦合到所述多个群组的存储器装置,所述控制器经配置以:
使用所述第二ECC数据对所述多个群组的存储器装置的所述第一部分执行错误检测操作;及
响应于所述第一部分的所述数个存储器装置中的至少一者具有超过所述阈值数量的错误数量的所述指示,使用所述第三ECC数据对所述第一部分的所述数个存储器装置中的所述至少一者执行错误校正操作。
13.根据权利要求12所述的系统,其中所述控制器经配置以使用所述第一ECC数据对所述第一部分的所述数个存储器装置执行错误校正操作以校正不超过所述阈值数量的错误数量。
14.根据权利要求12到13中任一权利要求所述的系统,其中所述第一部分的所述数个存储器装置中的至少一者及所述第二部分的所述数个存储器装置中的至少一者耦合到相同通道。
15.根据权利要求12到13中任一权利要求所述的系统,其中第三部分的数个存储器装置中的至少一者是备用装置,且其中所述控制器经配置以响应于所述第一部分的一个存储器装置具有超过所述阈值数量的错误数量而操作所述备用装置代替所述第一部分的所述一个存储器装置。
16.根据权利要求12到13中任一权利要求所述的系统,其中所述控制器经配置以并行存取所述多个群组的存储器装置。
17.一种方法,其包括:
对第一通道的数个存储器装置执行读取操作以检索:
来自所述第一通道的所述数个存储器装置的第一部分的主机数据的第一组;及
来自所述第一通道的所述数个存储器装置的第二部分的第一ECC数据;
使用所述第一ECC数据对所述第一通道的所述数个存储器装置执行错误检测操作;及
响应于经由所述错误检测操作指示错误数量超过所述第一通道的所述数个存储器装置中的至少一者内的阈值数量:
对以下各者执行读取操作:
第二通道的数个存储器装置以检索主机数据的第二组;及
第三通道的数个存储器装置以检索基于主机数据的所述第一组及主机数据的所述第二组产生的第二ECC数据;及
使用所述第二ECC数据及主机数据的所述第二组对所述第一通道的所述数个存储器装置执行错误校正操作以校正超过所述阈值数量的所述错误数量。
18.根据权利要求17所述的方法,其进一步包括使用存储于所述数个存储器装置的所述第一部分中的第三ECC数据对所述第一通道的所述数个存储器装置执行错误校正操作且不对所述第二通道的所述数个存储器装置执行读取操作以检索主机数据的所述第二组或不对所述第三通道的所述数个存储器装置执行读取操作以检索所述第二ECC数据。
19.根据权利要求17所述的方法,其进一步包括:
接收将主机数据的第三组写入到所述第一通道的所述数个存储器装置上的写入请求;
至少部分基于主机数据的所述第三组来产生第四ECC数据;及
执行读取-修改-写入操作以:
将主机数据的所述第三组写入到所述第一通道的所述数个存储器装置上;及
将所述第四ECC数据写入到所述第三通道的所述数个存储器装置上。
CN202180091714.6A 2021-01-26 2021-12-01 存储器装置保护 Pending CN116745849A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/158,874 US11409601B1 (en) 2021-01-26 2021-01-26 Memory device protection
US17/158,874 2021-01-26
PCT/US2021/061354 WO2022164507A1 (en) 2021-01-26 2021-12-01 Memory device protection

Publications (1)

Publication Number Publication Date
CN116745849A true CN116745849A (zh) 2023-09-12

Family

ID=82495775

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180091714.6A Pending CN116745849A (zh) 2021-01-26 2021-12-01 存储器装置保护

Country Status (3)

Country Link
US (2) US11409601B1 (zh)
CN (1) CN116745849A (zh)
WO (1) WO2022164507A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022251019A1 (en) * 2021-05-27 2022-12-01 Micron Technology, Inc. Memory bank protection
WO2023027787A1 (en) 2021-08-26 2023-03-02 Micron Technology, Inc. Access request management using sub-commands
US20230214119A1 (en) * 2021-12-30 2023-07-06 Micron Technology, Inc. Data stripe protection
US20230223961A1 (en) * 2022-01-13 2023-07-13 Micron Technology, Inc. Iterative decoder for correcting dram device failures

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003152A (en) * 1997-06-30 1999-12-14 Sun Microsystems, Inc. System for N-bit part failure detection using n-bit error detecting codes where n less than N
US6493843B1 (en) 1999-10-28 2002-12-10 Hewlett-Packard Company Chipkill for a low end server or workstation
US7505890B2 (en) * 2003-01-15 2009-03-17 Cox Communications, Inc. Hard disk drive emulator
US7096407B2 (en) 2003-02-18 2006-08-22 Hewlett-Packard Development Company, L.P. Technique for implementing chipkill in a memory system
US9116823B2 (en) * 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US8621137B2 (en) * 2007-12-27 2013-12-31 Sandisk Enterprise Ip Llc Metadata rebuild in a flash memory controller following a loss of power
US8516343B2 (en) * 2008-11-10 2013-08-20 Fusion-Io, Inc. Apparatus, system, and method for retiring storage regions
US8291297B2 (en) * 2008-12-18 2012-10-16 Intel Corporation Data error recovery in non-volatile memory
US8281227B2 (en) * 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
US8266501B2 (en) * 2009-09-29 2012-09-11 Micron Technology, Inc. Stripe based memory operation
TWI446350B (zh) * 2009-12-08 2014-07-21 Silicon Motion Inc 用來減少無法更正的錯誤之方法以及記憶裝置及其控制器
US8418026B2 (en) 2010-10-27 2013-04-09 Sandisk Technologies Inc. Hybrid error correction coding to address uncorrectable errors
FR2979811A1 (fr) * 2011-09-12 2013-03-15 Decathlon Sa Sac de couchage apte a recevoir un matelas, et ensemble comprenant un sac de couchage et un matelas.
US9087614B2 (en) * 2012-11-27 2015-07-21 Samsung Electronics Co., Ltd. Memory modules and memory systems
US9189330B2 (en) 2013-04-11 2015-11-17 International Business Machines Corporation Stale data detection in marked channel for scrub
KR102076231B1 (ko) * 2013-07-09 2020-02-12 에스케이하이닉스 주식회사 데이터 저장 장치, 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템
US9542268B2 (en) * 2014-01-29 2017-01-10 Macronix International Co., Ltd. Dynamic data density ECC
US9472248B2 (en) 2014-03-28 2016-10-18 Intel Corporation Method and apparatus for implementing a heterogeneous memory subsystem
US9786356B2 (en) * 2015-01-30 2017-10-10 Qualcomm Incorporated Memory device with adaptive voltage scaling based on error information
US10127101B2 (en) * 2015-08-28 2018-11-13 Intel Corporation Memory device error check and scrub mode and error transparency
KR20170037705A (ko) * 2015-09-25 2017-04-05 삼성전자주식회사 입력 신호들을 랭크별로 제어하는 메모리 버퍼를 갖는 메모리 모듈
US9965352B2 (en) * 2015-11-20 2018-05-08 Qualcomm Incorporated Separate link and array error correction in a memory system
US10484014B2 (en) * 2016-07-21 2019-11-19 SK Hynix Inc. Controller, semiconductor memory system and operating method thereof
US10268541B2 (en) 2016-08-15 2019-04-23 Samsung Electronics Co., Ltd. DRAM assist error correction mechanism for DDR SDRAM interface
KR102547713B1 (ko) * 2016-09-01 2023-06-26 삼성전자주식회사 반도체 메모리 장치 및 이의 동작 방법
US10236917B2 (en) 2016-09-15 2019-03-19 Qualcomm Incorporated Providing memory bandwidth compression in chipkill-correct memory architectures
US10049047B1 (en) 2017-03-10 2018-08-14 Toshiba Memory Corporation Multibit NAND media using pseudo-SLC caching technique
US10331514B2 (en) * 2017-03-17 2019-06-25 Micron Technology, Inc. Tiered error correction code (ECC) operations in memory
KR20200085519A (ko) * 2019-01-07 2020-07-15 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US11005501B2 (en) * 2019-02-19 2021-05-11 Micron Technology, Inc. Error correction on a memory device
US11068340B2 (en) * 2019-06-19 2021-07-20 Samsung Electronics Co., Ltd. Semiconductor memory devices and memory systems
US11436082B2 (en) * 2020-02-11 2022-09-06 Micron Technology, Inc. Internal error correction for memory devices
US11221913B2 (en) * 2020-03-11 2022-01-11 Micron Technology, Inc. Error check and scrub for semiconductor memory device
US11170869B1 (en) * 2020-06-04 2021-11-09 Western Digital Technologies, Inc. Dual data protection in storage devices
US11656937B2 (en) * 2020-08-25 2023-05-23 Micron Technology, Inc. Techniques for error detection and correction in a memory system
US20230305923A1 (en) * 2022-03-25 2023-09-28 Advanced Micro Devices, Inc. Error-Tolerant Memory System for Machine Learning Systems

Also Published As

Publication number Publication date
WO2022164507A1 (en) 2022-08-04
US20220237077A1 (en) 2022-07-28
US11928025B2 (en) 2024-03-12
US11409601B1 (en) 2022-08-09
US20220382631A1 (en) 2022-12-01

Similar Documents

Publication Publication Date Title
US9767920B2 (en) Semiconductor memory devices and memory systems including the same
US11409601B1 (en) Memory device protection
US11714704B2 (en) Modified checksum using a poison data pattern
US20230100557A1 (en) Host-based error correction
CN111566738A (zh) 存储器系统中的有效和选择性的备用位
CN114446346A (zh) 存储器装置、存储器系统及存储器系统的操作方法
US11775382B2 (en) Modified parity data using a poison data unit
US11868210B2 (en) Memory device crossed matrix parity
US9916196B2 (en) Memory module with dedicated repair devices
US20240004791A1 (en) Controller cache architeture
US11237901B2 (en) Error correction using hierarchical decoders
US10917111B2 (en) Error correction code unit and error correction method
US11994946B2 (en) Memory bank protection
KR20230121611A (ko) 시스템 메모리 신뢰성, 가용성 및 서비스 가능성(ras)을개선하기 위한 적응형 오류 정정
US20230214119A1 (en) Data stripe protection
US20240086090A1 (en) Memory channel disablement
US11789813B2 (en) Memory device crossed matrix parity
US11960770B2 (en) Access request management using sub-commands
US20240004799A1 (en) Memory controller architecture
US20240126441A1 (en) Controller architecture for reliability, availability, serviceability access
CN117331866A (zh) 控制器高速缓存架构

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination