CN117174157A - 错误校正的设备、系统和方法 - Google Patents
错误校正的设备、系统和方法 Download PDFInfo
- Publication number
- CN117174157A CN117174157A CN202310602877.7A CN202310602877A CN117174157A CN 117174157 A CN117174157 A CN 117174157A CN 202310602877 A CN202310602877 A CN 202310602877A CN 117174157 A CN117174157 A CN 117174157A
- Authority
- CN
- China
- Prior art keywords
- die
- ldio
- bits
- different
- mtb
- 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
Links
- 238000012937 correction Methods 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000015654 memory Effects 0.000 claims abstract description 90
- 230000004044 response Effects 0.000 claims abstract description 16
- 238000012546 transfer Methods 0.000 claims abstract description 12
- 230000008878 coupling Effects 0.000 claims abstract description 6
- 238000010168 coupling process Methods 0.000 claims abstract description 6
- 238000005859 coupling reaction Methods 0.000 claims abstract description 6
- 238000013507 mapping Methods 0.000 claims abstract description 4
- 238000004891 communication Methods 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 13
- 238000000638 solvent extraction Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 208000032369 Primary transmission Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000021615 conjugation Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/095—Error detection codes other than CRC and single parity bit codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3761—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请案涉及错误校正的设备、系统和方法。与将存储器传送块MTB的多个位对映射到将链接LK裸片耦合到接口IF裸片的多条LK裸片输入/输出LDIO线有关的方法、系统和装置。所述MTB的所述多个位对可经由所述多条LDIO线从所述LK裸片传达到所述IF裸片。响应于所述多条LDIO线中的一者的故障,可对映射到所述有故障LDIO线的所述位对执行博塞‑乔杜里‑霍昆格姆BCH错误校正。所述多个位对中的每一者为用于所述BCH错误校正的相应符号。
Description
技术领域
本公开大体上涉及半导体存储器和方法,且更具体地说,涉及错误校正的设备、系统和方法。
背景技术
存储器装置通常被提供为计算机或其它电子系统中的内部、半导体、集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器可能需要电力来维持其数据(例如主机数据、错误数据等),并且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同时动态随机存取存储器(SDRAM)及晶闸管随机存取存储器(TRAM)等等。非易失性存储器可通过在未供电时保持所存储数据来提供持久数据,并且可包含NAND快闪存储器、NOR快闪存储器、铁电随机存取存储器(FeRAM)和电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)和磁阻式随机存取存储器(MRAM),例如自旋力矩转移随机存取存储器(STTRAM)等。
存储器装置可耦合到主机(例如,主机计算装置)以存储数据、命令和/或指令以在操作计算机或电子系统时供主机使用。举例来说,数据、命令和/或指令可在计算或其它电子系统的操作期间在主机与存储器装置之间传送。控制器可用于管理主机和存储器装置之间的数据、命令和/或指令的传送。
发明内容
本公开的一方面提供一种用于错误校正的方法,其中所述方法包括:将存储器传送块(MTB)的多个位对映射到将链接(LK)裸片耦合到接口(IF)裸片的多条LK裸片输入/输出(LDIO)线;经由所述多条LDIO线将所述MTB的所述多个位对从所述LK裸片传达到所述IF裸片;以及响应于所述多条LDIO线中的一者的故障,对映射到所述有故障LDIO线的所述位对执行博塞-乔杜里-霍昆格姆(BCH)错误校正,其中所述多个位对中的每一者为用于所述BCH错误校正的相应符号。
本公开的另一方面提供一种用于错误校正的设备,其中所述设备包括:链接(LK)裸片;接口(IF)裸片,其通过多个LK裸片输入/输出(LDIO)线耦合到所述LK裸片;以及控制电路系统,其耦合到所述IF裸片且经配置以引导:至少部分地基于所述多条LDIO线的数量将存储器传送块(MTB)的多个位子集关联到所述多条LDIO线中的相应者;指定所述多个位子集中的每一者的多个位对;经由所述多条LDIO线将所述多个位子集从所述LK裸片传达到所述IF裸片;以及响应于所述多个位子集的传达中的错误,对所述位对执行博塞-乔杜里-霍昆格姆(BCH)错误校正,其中每一位对为用于所述BCH错误校正的相应符号。
本公开的另一方面提供一种存储指令的非暂时性媒体,所述指令能够由处理装置执行以进行以下操作:将存储器传送块(MTB)的多个位划分为多个位子集,其中所述多个位子集中的每一者包括为2的倍数的位数量;以及响应于所述MTB的有故障传达,对所述MTB执行博塞-乔杜里-霍昆格姆(BCH)错误校正,其中所述多个位对中的每一者为用于所述BCH错误校正的相应符号。
附图说明
图1绘示根据本公开的数个实施例的呈包含用于错误校正的控制器的计算系统形式的功能框图。
图2A到2B为绘示根据本公开的数个实施例的存储器装置的LK-IF架构的框图。
图3为根据本公开的数个实施例的表示来自LK裸片的MTB的数据的框图。
图4为根据本公开的数个实施例的表示来自LK裸片的MTB的数据的配对方案的框图。
图5为根据本公开的数个实施例的用于错误校正的方法的流程图。
图6为根据本公开的数个实施例的用于错误校正的计算机系统的框图。
具体实施方式
描述与错误校正有关的系统、设备和方法。在一些实施例中,存储器装置可包含链接-接口(LK-IF)架构。LK-IF架构的非限制性实例包含2个存储器裸片:IF裸片和LK裸片。IF可经由输入/输出(IO)线(也称为LK裸片IO(LDIO)线)直接耦合到LK裸片。经由IF裸片并行地存取IF和LK裸片,以便经由单个总线(例如,数据(DQ)总线)传达存储器传送块(MTB)。DQ总线可直接耦合到IF裸片,且由IF裸片而非LK裸片存取。DQ总线可具有32位的长度。32位中的十六个可来自IF裸片,且32位中的其余16个可来自LK裸片。
在一些实施例中,DQ总线可包含9条线:8个数据(DQ)线和1个奇偶校验(DMI)线。经由DQ总线传达MTB可包含经由9条线(总共144位)中的每一者从LK裸片传达16位。IF裸片可通过36条LDIO线耦合到LK裸片。经由36条LDIO线中的每一者传达144位中的四个。因此,LDIO线中的一者的故障会导致4位错误。
一些先前方法包含在LDIO线发生故障的情况下尝试校正整个4位错误。本公开的各方面通过界定待经由LDIO线中的每一者传达的位对而解决先前方法的这一及其它缺陷。这些对可对应于用于错误校正的符号,使得通过校正来自经由一或多条LDIO线的有故障通信的错误来改进存储器装置的可靠性。如本文中所描述,一些实施例可使用较少位来校正错误,使得这些所节省的位可用于其它目的。
如本文中所使用,除非内容另外清楚地指明,否则单数形式“一(a)”、“一(an)”和“所述(the)”包含单数和复数个指示物。此外,贯穿本申请以许可的意义(即,有可能、能够),而非以强制性的意义(即,必须)使用单词“可”。术语“包含”和其派生词意指“包含但不限于”。如本文中所使用,“耦合到”或“与耦合”通常是指组件之间的连接,其可为间接通信连接或直接通信连接(例如不具有介入组件),无论有线还是无线,包含例如电连接、光学连接、磁性连接等连接。视上下文而定,术语“数据”和“数据值”在本文中可互换地使用且可具有相同含义。
本文中的图遵循编号惯例,其中前一或多个数字对应于附图编号,且其余数字标识附图中的元件或组件。可通过使用类似数字来识别不同图之间的类似元件或组件。举例来说,元件122可表示图1中的元件22,并且类似元件可在图2中标记为222。可使用连字符和额外数字或字母表示图式内的类似元件。如应了解,可添加、交换和/或去除本文中的各种实施例中展示的元件,从而提供本公开的多个额外实施例。另外,如应了解,图式中所提供的元件的比例和相对标度意图说明本发明的某些实施例,且不应以限制性意义理解。
图1绘示根据本公开的数个实施例的呈计算系统101的形式的功能框图,所述计算系统包含用于错误校正的控制器100(其可称为“存储器控制器”)。计算系统101包含存储器模块111。存储器模块111可包含控制器100和耦合到其的一或多个存储器和/或存储器装置。
控制器100可包含前端部分104、中央控制器部分110和后端部分115。计算系统101可进一步包含主机103、存储器装置122-1、...、122-N(统称为存储器装置122)和存储器127。存储器127可为可经由串行外围接口(SPI)存取的快闪存储器。存储器127可包含单独或组合的其它电路系统、固件、软件,等等。
前端部分104包含用以通过输入/输出(I/O)单工通道102-1、102-2、...、102-M(统称为I/O单工通道102)将控制器100耦合到主机103的接口。前端部分包含用于管理I/O单工通道102的接口管理电路系统。前端部分可包含任何数量的I/O单工通道102(例如,八个、十六个I/O单工通道102)。在一些实施例中,I/O单工通道102可配置为单个端口。在一些实施例中,控制器100与主机103之间的接口可为根据计算高速链路(CXL)协议操作的外围组件互连高速(PCIe)物理和电接口。
在一些实施例中,计算系统101可为CXL兼容存储器系统(例如,存储器系统可包含PCIe/CXL接口)。CXL是设计成促进下一代数据中心性能的高速中央处理单元(CPU)到装置和CPU到存储器互连件。CXL技术维持CPU存储器空间与附接装置上的存储器之间的存储器相干性,其允许资源共享以实现较高性能、减小软件堆栈复杂性和降低总体系统成本。
随着越来越多地使用加速器来补充CPU以支持新兴应用,例如人工智能和机器学习,CXL被设计成用于高速通信的行业开放标准接口。CXL技术构建在外围组件互连高速(PCIe)基础结构上,其利用PCIe物理和电气接口以在例如I/O协议、存储器协议(例如,初始允许主机与加速器共享存储器)和相干性接口等领域中提供高级协议。
中央控制器部分110包含高速缓存存储器112(替代地称为高速缓存)。在一些实施例中,响应于接收到对存储于高速缓存存储器112中的数据的读取请求,可在不进一步存取存储器装置122的情况下按请求将所述数据提供到主机103。在一些实施例中,响应于接收到写入请求,可在将数据写入到存储器装置122之前将数据存储于高速缓存存储器112中。
中央控制器部分110可例如响应于从主机103接收到存储器存取请求而控制一或多个存储器操作的执行。存储器操作的非限制性实例包含从高速缓存存储器112和/或存储器装置122读取数据的存储器操作以及将数据写入到高速缓存存储器112和/或存储器装置122的操作。在一些实施例中,中央控制器部分110可大体上同时地控制多个数据页的写入。
如本文所使用,术语“大致”意指特性可能并非绝对的,而是足够接近以便实现所述特性的优点。举例来说,“大体上同时”不限于绝对同时执行操作并且可包含意在同时但归因于制造限制可能并不精确地同时的定时。举例来说,归因于各个界面可能展现的读取/写入延迟,“大体上同时”利用的媒体控制器可能不在完全相同的时间开始或完成。举例来说,可利用多个存储器控制器以使得其在同一时间将数据写入到存储器装置而不考虑媒体控制器中的一个是否在其它媒体控制器之前开始或终止。
后端部分115可包含媒体控制电路系统和将控制器100耦合到存储器装置122的物理(PHY)层。如本文中所使用,术语“PHY层”通常是指计算系统的开放系统互连(OSI)模型中的物理层。PHY层可为OSI模型的第一(例如,最低)层并且用以经由物理数据传输媒体传送数据。在一些实施例中,物理数据传输媒体可包含通道125-1、…、125-N(统称为通道125)。通道125可例如包含十六引脚数据总线和两引脚数据掩蔽反转(DMI)总线,以及其它可能总线。后端部分115可经由数据引脚将数据传达(例如,传输)到存储器装置122和/或从存储器装置传达(例如,和/或接收)数据。可经由DMI总线将错误检测信息和/或错误校正信息(例如奇偶校验位)传达到存储器装置122和/或从存储器装置传达。错误检测信息和/或错误校正信息可以与数据交换同时传达。
存储器装置122中的一或多者可包含动态随机存取存储器(DRAM)。可根据例如低功率双倍数据速率(LPDDRx)的协议操作DRAM(例如,LPDDRx DRAM装置、LPDDRx存储器等)。LPDDRx中的“x”指几代协议中的任一代(例如,LPDDR5)。在一些实施例中,存储器装置122中的至少一个作为LPDDRx DRAM装置在启用低功率特征下操作且存储器装置122中的至少一个作为LPDDRx DRAM装置在停用至少一个低功率特征下操作。在一些实施例中,存储器装置122是LPDDRx存储器装置,但存储器装置122不包含被配置成提供低功率功能性的电路系统,例如动态电压频率调整核心(DVFSC)、亚阈值电流减小电路(SCRC),或其它提供低功率功能性的电路系统。不具有这类电路系统的LPDDRx存储器装置122可有利地减小LPDDRx存储器装置122的成本、大小和/或复杂性。作为实例,减少了提供低功率功能性的电路系统的LPDDRx存储器装置可用于除移动应用程序以外的应用程序(例如,如果存储器不意在用于移动应用程序中,那么可减掉一些或所有低功率功能性以便减小产生存储器的成本)。
在一些实施例中,存储器装置122中的一或多者可具有LK-IF架构。结合图2A到2B描述LK-IF架构的实例。存储器装置122中的一或多者可包含通过LDIO线耦合到IF裸片的至少一个LK裸片。耦合到存储器装置122中的一者的通道(例如,耦合到存储器装置122-1的通道125-1)可包含耦合到存储器装置的IF裸片的DQ总线。
在一些实施例中,存储器控制器100可包含管理单元105以初始化、配置和/或监测存储器控制器100的特性。管理单元105可包含用以管理带外数据和/或命令的I/O总线、用以执行与初始化、配置和/或监测存储器控制器的特性相关联的指令的管理单元控制器,以及用以存储与初始化、配置和/或监测存储器控制器100的特性相关联的数据的管理单元存储器。如本文中所使用,术语“带外数据和/或命令”通常指代通过不同于网络的主传输媒体的传输媒体传送的数据和/或命令。举例来说,带外数据和/或命令可为使用与用于在网络内传送数据的传输媒体不同的传输媒体传送到网络的数据和/或命令。
在一些实施例中,管理单元105可经配置以根据本公开提供错误校正。然而,本公开的实施例不限于此。举例来说,根据本公开,存储器控制器100的其它部分、组件和/或电路系统可经配置以个别地或组合地提供错误校正。
在一些实施例中,存储器装置122中的一或多者的控制器100、其组件(例如,管理单元105)和/或本地控制器(未展示)可引导基于LDIO线的数量将MTB的位子集关联到将LK裸片耦合到IF裸片的LDIO线中的相应者。控制器100和/或本地控制器可引导位子集中的每一者的位对的指定。控制器100和/或本地控制器可引导将位子集经由LDIO线从LK裸片传达到IF裸片。控制器100和/或本地控制器可响应于所述位子集的传达中的错误而引导对所述位对执行博塞-乔杜里-霍昆格姆(BCH)错误校正。每一对位可为用于BCH错误校正的相应符号。本地控制器可驻留在存储器装置的IF裸片上。
在一些实施例中,存储器装置122中的一或多者可包含多组LK裸片和IF裸片。在此类实施例中,控制器100和/或本地控制器可引导基于LDIO线的数量将另一MTB的另一位子集关联到将另一LK裸片耦合到另一IF裸片的LDIO线中的相应者。控制器100和/或本地控制器可引导其它位子集中的每一者的位对的指定。控制器100和/或本地控制器可引导将其它位子集经由LDIO线从其它LK裸片传达到其它IF裸片。控制器100和/或本地控制器可响应于其它位子集的传达中的错误而引导对所述位对执行BCH错误校正(以及其它错误校正技术)。
图2A到2B为绘示根据本公开的数个实施例的存储器装置的LK-IF架构的框图。存储器装置222和通道225可类似于结合图1所描述的存储器装置122和通道125中的任一者。结合图2A到2B描述LK-IF架构的实例。然而,本公开的实施例不限于结合图2A到2B描述的LK-IF架构的特征和/或组件(或其数量)。
图2A绘示存储器装置222,其包含经由LDIO线231-1耦合到IF裸片232-1的LK裸片230-1和经由LDIO线231-2耦合到IF裸片232-2的LK裸片230-2。在一些实施例中,LK裸片230-1和IF裸片231-1可被视为存储器组件,且LK裸片230-2和IF裸片231-2可被视为另一存储器组件。
如通过图2A所绘示,LK裸片230-1通过36条LDIO线231-1耦合到IF裸片232-1,并且LK裸片230-2通过另外36条LDIO线231-2耦合到IF裸片232-2。LDIO线231-1和231-2使得能够并行地从IF裸片232-1和232-2以及从LK裸片230-1和230-2传达数据。经由DQ总线233-1传达的数据包含直接从IF裸片232-1传达的数据以及经由LDIO线231-1从LK裸片230-1传达到IF裸片232-1的数据。类似地,经由DQ总线233-2传达的数据包含直接从IF裸片232-2传达的数据以及经由LDIO线231-2从LK裸片230-2传达到IF裸片232-2的数据。DQ总线233-1及233-2可协作地形成通道225。
图2B表示MTB 241。MTB 241包含来自LK裸片230-1和230-2以及IF裸片232-1和232-2的数据。矩形234表示来自IF裸片232-1的MTB 241的数据。矩形238表示来自LK裸片230-1的MTB 241的数据。矩形236表示来自IF裸片232-2的MTB 241的数据。矩形240表示来自LK裸片230-2的MTB 241的数据。
在244处,MTB 241的“宽度”对应于通道225的“宽度”。通道225包含18个引脚:用于传达数据的16个DQ引脚和用于传达奇偶校验的2个DMI引脚。16个DQ引脚中的八个对应于包含IF裸片232-1和LK裸片230-1的存储器组件。其余8个DQ引脚对应于包含IF裸片232-2和LK裸片230-2的存储器组件。2个DMI引脚中的一个对应于包含IF裸片232-1和LK裸片230-1的存储器组件。另一DMI引脚对应于包含IF裸片232-2和LK裸片230-2的存储器组件。
MTB 241的传达包含在242处经由通道225的18个引脚中的每一者传达32位的突发长度(BL)。32位中的十六个来自IF裸片232-1和232-2。其它16位来自LK裸片230-1和230-2。因此,如通过图2B所绘示,MTB 241包含来自IF裸片232-1和232-2以及LK裸片230-1和230-2中的每一者的相应144位(总共576位,512个数据位和64个奇偶校验位)。
图3为根据本公开的数个实施例的表示来自LK裸片的MTB的数据338的框图。数据338可类似于结合图2B描述的数据238。尽管结合来自结合图2A描述的LK 230-1的数据338描述图3,但图3的描述适用于来自LK裸片230-2的数据240。
在图3中,每一正方形表示数据338的相应位。DQ总线233-1的引脚在351处表示为:DQ0、DQ1、DQ2、DQ3、DQ4、DQ5、DQ6、DQ7和DMI。数据338的位可映射到DQ总线233-1的相应引脚。如图3所绘示,可经由DQ总线233-1的对应引脚传达行的位。举例来说,可经由DQ总线233-1的DQ1引脚传达(从IF裸片232-1)对应于DQ1的行中的数据338的位。
353处的数字对应于与经由DQ总线233-1从LK裸片230-1传达数据338相关联的32位突发长度的相应16位。在经由DQ总线233-1传达数据338之前,经由36条LDIO线231-1将数据338传达到IF裸片232-1。数据338到IF裸片232-1的传达不一定包含将数据338存储在IF裸片232-1上(例如,存储在IF裸片232-1的存储器单元中)。
数据338可被划分,使得数据338的144位到IF裸片232-1的传达在36条LDIO线231-1之间均匀分布。因此,LDIO线231-1中的每一者可将数据338的4个位子集传达到IF裸片232-1。一个此类子集是子集350。子集350可经由DQ总线233-1的DQ2引脚传达。图3绘示划分方案的非限制性实例。对于每一相应引脚(在351处),列(在353处)1、5、9和13的位可为子集;列2、6、10和14的位可为子集;列3、7、11和15的位可为子集;且列4、8、12和15的位可为子集。
如果子集(例如子集350)经由LDIO线231-1中的一者的传达发生故障,那么在数据338到IF裸片232-1的传达中存在4位错误,且在包含数据338的MTB(例如MTB 241)的后续传达中存在4位错误。为了促进此类错误的校正,在一些实施例中,将子集的位配对,使得每一子集包含2个位对。举例来说,子集356包含第一位对352和第二位对354。
在一些实施例中,可实施BCH错误校正码(ECC)以校正由子集(例如,子集354)经由LDIO线的有故障传达造成的错误。BCH ECC可为四级BCH ECC。BCH ECC可经配置以校正至多两个符号。符号可为子集的位对(例如,对352)。单条LDIO线的故障对应于至多两个符号错误。因此,校正2个符号错误会校正由子集经由LDIO线的有故障传达造成的4位错误。符号的产生可基于来自LK裸片的MTB的数据(例如,数据338)的划分。在一些实施例中,用于BCHECC的码字可为MTB,例如MTB 241。举例来说,码字可为576位长,其对应于MTB 241的位的数量。
在一些实施例中,码字的符号数量可为MTB的位数量的一半(例如,n=288)。符号的字母表可为四级的(即q=2b,其中b=2位给出q=4)。覆盖n的较短的原始四级BCH ECC的长度为N=qm-1=45-1=1023。BCH EEC的生成多项式可以具有在GF(4)={0,1,β,β+1}中的系数,其中β2+β+1=0。生成多项式的根可属于GF(1024)={0,1,α,α2,…,α1022},其中且β=α341。生成多项式的窗根可为α、α2、α3、α4。生成多项式的其它根可为窗根的共轭。
α的共轭可为α、α4、α16、α64、α256。α2的共轭可为α2、α8、α32、α128、α512。α3的共轭可为α3、α12、α48、α192、α768。α4的共轭可为α4、α16、α64、α256、α。因为α4的共轭是重复的,所以存在15个唯一根,使得degg(x)=1。因此,四级BCH ECC在288个符号上的奇偶校验符号的数量可为r=15。原始BCH ECC的参数(例如,符号的数量)可以包含N=1023、K=1008、r=15。缩短的BCHECC的参数可以包含N=288、K=273、r=155。
实施具有576位长码字的此类四级BCH ECC的奇偶校验位的数量可为30位:15个根中的每一者2位。在一些先前方法中,可包含校正两个错误或检测三个错误(而不校正三个错误),这可称为双重错误校正和三重错误检测(DECTED)操作。可执行各自具有288位长码字的两个DECTED操作以校正MTB的错误。因为每一DECTED操作需要19个奇偶校验位,所以可获得38个奇偶校验位。相比之下,因为本公开的一些实施例需要30个奇偶校验位,所以与先前方法的38个奇偶校验位相比,可节省8位。在一些实施例中,对于64字节的每一用户数据块(UDB)可节省8位。节省的位可用于其它目的,例如增加针对可靠性、可用性、可服务性(RAS)的循环冗余校验(CRC)检测的强度。
图4为根据本公开的数个实施例的表示来自LK裸片的MTB的数据438的配对方案的框图。数据438可类似于结合图2B描述的数据238。尽管结合来自结合图2A描述的LK 230-1的数据438描述图4,但图4的描述适用于来自LK裸片230-2的数据240。
图4绘示经编号的数据438的位。具有相同编号的位可以配对(例如,对452和454)。举例来说,子集450可包含编号为39的位对和编号为48的另一位对。所述编号可以仅出于说明性目的。一些实施例可实施由图4所绘示的配对方案而不实际上将编号指派到位。举例来说,后续列(在453处)的位可配对:1和5、9和13、2和6、10和14、3和7、11和15、4和8,以及12和16。
图5为根据本公开的数个实施例的用于错误校正的方法560的流程图。流程图560的步骤和操作中的任一者可由结合图1描述的存储器控制器100和/或存储器装置122中的一或多者执行。
在562处,方法560可包含将MTB的多个位对映射到将LK裸片耦合到IF裸片的多条LDIO线。在564处,方法560可包含将MTB的多个位对经由多条LDIO线从LK裸片传达到IF裸片。传达所述多个位对可包含一次经由相应LDIO线传达所述多个位对中的2个。
在566处,方法560可包含响应于所述多条LDIO线中的一者的故障,对映射到有故障LDIO线的位对执行BCH错误校正,其中所述多个位对中的每一者为用于BCH错误校正的相应符号。执行BCH错误校正可包含对映射到有故障LDIO线的位对执行四级BCH ECC。
尽管图5未具体说明,但方法560可包含在多条LDIO线之间划分MTB的多个位。MTB的多个位可在多条LDIO线之间均匀地划分。划分MTB的多个位可包含将MTB的144位划分为36个位子集。每一相应位子集可包含多个位对中的2个。
图6为根据本公开的数个实施例的用于错误校正的计算机系统686的框图。计算机系统686可为机器,可执行所述机器内的指令集以使得所述机器执行本文中所论述的方法中的任一种或多种方法。在一些实施例中,计算机系统686可对应于包含、耦合到或利用一或多个存储器装置(例如,存储器装置122)或可用于执行控制器(例如,存储器控制器100)的操作以执行操作系统来执行与双层级RFM相关联的操作的主机(例如,与图1相关联地描述的主机103)。在替代性实施例中,机器可连接(例如,网络连接)到本地存取网络(LAN)、内联网、外联网和/或互联网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而以客户端-服务器网络环境中的服务器或客户端机器的容量进行操作。
所述机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络设备、服务器、网络路由器、交换机或桥接器,或能够(依序或以其它方式)执行指定待由所述机器采取的动作的指令集的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行一(或多)个指令集以进行本文中所论述的方法中的任何一或多者。
计算机系统686包含处理装置687、主存储器690(例如,ROM、快闪存储器、DRAM,例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器689(例如,快闪存储器、SRAM等)和数据存储系统693,其经由总线688彼此通信。
处理装置687表示一或多个通用处理装置,例如微处理器、中央处理单元,等等。更具体地说,处理装置687可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置687也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等等。处理装置687经配置以执行指令691以用于执行本文所论述的操作和步骤。计算机系统686可进一步包含网络接口装置695以经由网络696进行通信。
数据存储系统693可包含机器可读存储媒体694(在本文中也称为计算机可读媒体),其上存储有一或多组指令691或体现本文中所描述的方法或功能中的任何一或多者的软件。指令691还可在其由计算机系统686执行期间完全或至少部分地驻留在主存储器690内和/或处理装置687内,主存储器690和处理装置687也构成机器可读存储媒体。在一些实施例中,机器可读存储媒体694、数据存储系统693和/或主存储器690可对应于存储器装置122。
在一些实施例中,指令691可包含实施用于错误校正(图6中在692处表示)的功能性的指令。举例来说,指令691可包含用以将FW封装的第一加密片段写入到存储器装置的易失性存储器的第一部分的指令。指令691可包含致使存储器装置的DMA电路系统解密FW封装的第一加密片段以得到写入到易失性存储器的第二部分的FW封装的第一解密片段,且加密FW封装的第一解密片段以得到写入到易失性存储器的第一部分的FW封装的第一重新加密片段的指令。指令691可包含用以将FW封装的第一重新加密片段从易失性存储器的第一部分写入到存储器装置的非易失性存储器的指令。指令691可包含进行以下操作的指令:在传送FW封装的第一重新加密片段之后,将FW封装的第二加密片段写入到易失性存储器的第一部分;致使DMA电路系统解密FW封装的第二加密片段,以得到写入到易失性存储器的第二部分的FW封装的第二解密片段,且加密FW封装的第二解密片段以得到写入到易失性存储器的第一部分的FW封装的第二重新加密片段;以及将FW封装的第二重新加密片段从易失性存储器的第一部分写入到非易失性存储器。
指令691可包含用以将MTB的多个位划分为多个位子集的指令。所述多个位子集中的每一者可包含为2的倍数的位数量。指令691可包含响应于MTB的有故障传达,对MTB执行BCH错误校正的指令,其中多个位对中的每一者为用于BCH错误校正的相应符号。指令691可包含用以在划分多个位之后将MTB从CXL兼容存储器系统的LK裸片传达到CXL兼容存储器系统的IF裸片的指令。指令691可包含用以经由将LK裸片耦合到IF裸片的多条LDIO线传达多个位子集的指令。指令691可包含用以将多个位子集中的每一相应位子集映射到多条LDIO线中的一者的指令,经由所述LDIO线,MTB从CXL兼容存储器系统的LK裸片传达到CXL兼容存储器系统的IF裸片。指令691可包含用以响应于多个位子集中的一者经由所述位子集映射到的LDIO线的有故障传达而对MTB执行BCH错误校正的指令。
虽然机器可读存储媒体694在示例实施例中示出为单个媒体,但术语“机器可读存储媒体”应被认为包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集合且致使机器执行本公开的方法中的任何一种或多种的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体和磁性媒体。
虽然已在本文中绘示并描述了具体实施例,但所属领域的一般技术人员将了解,经计算以实现相同结果的布置可取代所示出的具体实施例。本公开意图覆盖本公开的一或多个实施例的修改或变化。应理解,以说明方式而非限制方式进行了以上描述。在查阅以上描述后,以上实施例和本文未具体描述的其它实施例的组合对于所属领域的技术人员来说将显而易见。本公开的一或多个实施例的范围包含其中使用以上结构和过程的其它应用。因此,应参考所附权利要求书连同此类权利要求所赋予的等效物的全范围确定本公开的一或多个实施例的范围。
在前述具体实施方式中,出于简化本公开的目的而将一些特征一起分组在单个实施例中。本公开的此方法不应被理解为反映本公开的所公开实施例必须比在每项权利要求中明确叙述那样使用更多特征的意图。实际上,如所附权利要求书所反映,本发明标的物在于单个所公开实施例的不到全部的特征。因此,所附权利要求特此并入于具体实施方式中,其中每项权利要求就其自身而言作为单独实施例。
Claims (19)
1.一种用于错误校正的方法,其包括:
将存储器传送块MTB(241)的多个位对(352、354)映射到将链接LK裸片(230-1、230-2)耦合到接口IF裸片(232-1、232-2)的多条LK裸片输入/输出LDIO线(231-1、231-2);
经由所述多条LDIO线(231-1、231-2)将所述MTB的所述多个位对从所述LK裸片(230-1、230-2)传达到所述IF裸片(232-1、232-2);以及
响应于所述多条LDIO线(231-1、231-2)中的一者的故障,对映射到所述有故障LDIO线的所述位对执行博塞-乔杜里-霍昆格姆BCH错误校正,其中所述多个位对中的每一者为用于所述BCH错误校正的相应符号。
2.根据权利要求1所述的方法,其进一步包括在所述多条LDIO线之间划分所述MTB的所述多个位。
3.根据权利要求2所述的方法,其中划分所述MTB的所述多个位包括在所述多条LDIO线之间均匀地划分所述多个位。
4.根据权利要求2所述的方法,其中划分所述MTB的所述多个位包括将所述MTB的144位划分为36个位子集,
其中每一相应位子集包括所述MTB的所述多个位对中的2个。
5.根据权利要求1至4中任一权利要求所述的方法,其中传达所述MTB的所述多个位对包括一次经由所述多条LDIO线中的相应LDIO线传达所述MTB的所述多个位对中的2个。
6.根据权利要求1至4中任一权利要求所述的方法,其中执行所述BCH错误校正包括对映射到所述有故障LDIO线的所述位对执行四级BCH错误校正码ECC。
7.一种用于错误校正的设备,其包括:
链接LK裸片(230-1、230-2);
接口IF裸片(232-1、232-2),其通过多个LK裸片输入/输出LDIO线(231-1、231-2)耦合到所述LK裸片(230-1、230-2);以及
控制电路系统,其耦合到所述IF裸片(232-1、232-2)且经配置以引导:
至少部分地基于所述多条LDIO线(231-1、231-2)的数量将存储器传送块MTB的多个位子集关联到所述多条LDIO线(231-1、231-2)中的相应者;
指定所述多个位子集中的每一者的多个位对;
经由所述多条LDIO线(231-1、231-2)将所述多个位子集从所述LK裸片(230-1、230-2)传达到所述IF裸片(232-1、232-2);以及
响应于所述多个位子集的传达中的错误,对所述位对执行博塞-乔杜里-霍昆格姆BCH错误校正,其中每一位对为用于所述BCH错误校正的相应符号。
8.根据权利要求7所述的设备,其中所述控制电路系统驻留在所述IF裸片上。
9.根据权利要求7所述的设备,其中所述控制电路系统、所述LK裸片和所述IF裸片为计算高速链路CXL兼容存储器系统的组件。
10.根据权利要求7所述的设备,其进一步包括耦合到所述IF裸片的总线,且包括:
专用于从所述IF裸片和所述LK裸片传达数据位的多个引脚;以及
专用于从所述IF裸片和所述LK裸片传达奇偶校验位的引脚。
11.根据权利要求7至10中任一权利要求所述的设备,其中所述设备包括计算高速链路CXL兼容存储器系统。
12.根据权利要求7至10中任一权利要求所述的设备,其中所述IF裸片和所述LK裸片包括存储器装置。
13.根据权利要求12所述的设备,其进一步包括耦合到所述存储器装置的通道,所述通道经配置以将数据从所述存储器装置传达到主机。
14.根据权利要求7至10中任一权利要求所述的设备,其中:
所述IF裸片和所述LK裸片包括存储器装置的第一存储器组件,
所述设备进一步包括:
不同的LK裸片;以及
不同的IF裸片,其通过不同的多条LDIO线耦合到所述不同的LK裸片,
所述不同的IF裸片和所述不同的LK裸片包括所述存储器装置的第二存储器组件,且
所述控制电路系统耦合到所述不同的IF裸片,且经进一步配置以引导:
至少部分地基于所述不同的多条LDIO线的数量将所述MTB的不同的多个位子集关联到所述不同的多条LDIO线中的相应者;
指定所述不同的多个位子集中的每一者的不同的多个位对;
经由所述不同的多条LDIO线将所述不同的多个位子集从所述不同的LK裸片传达到所述不同的IF裸片;以及
响应于传达所述不同的多个位子集中的错误,对所述不同的多个位对执行所述BCH错误校正,
其中所述多个位对中的每一者为用于所述BCH错误校正的相应符号。
15.根据权利要求14所述的设备,其进一步包括:
总线,其耦合到所述IF裸片且包括:
专用于从所述IF裸片和所述LK裸片传达数据位的多个引脚;以及
专用于从所述IF裸片和所述LK裸片传达奇偶校验位的引脚;以及
不同的总线,其耦合到所述不同的IF裸片且包括:
专用于从所述不同的IF裸片和所述不同的LK裸片传达数据位的多个引脚;以及
专用于从所述不同的IF裸片和所述不同的LK裸片传达奇偶校验位的引脚。
16.根据权利要求15所述的设备,其进一步包括耦合到所述存储器装置的通道,
其中所述通道包括所述总线和所述不同的总线,且经配置以将数据从所述存储器装置传达到主机。
17.一种存储指令的非暂时性媒体,所述指令能够由处理装置执行以进行以下操作:
将存储器传送块MTB(241)的多个位划分为多个位子集,其中所述多个位子集中的每一者包括为2的倍数的位数量;以及
响应于所述MTB的有故障传达,对所述MTB(241)执行博塞-乔杜里-霍昆格姆BCH错误校正,其中所述多个位对中的每一者为用于所述BCH错误校正的相应符号。
18.根据权利要求17所述的媒体,其进一步存储能够执行以在划分所述多个位之后将所述MTB从计算高速链路CXL兼容存储器系统的链接LK裸片传达到所述CXL兼容存储器系统的接口IF裸片的指令。
19.根据权利要求17所述的媒体,其进一步存储能够执行以将所述多个位子集中的每一相应位子集映射到多个链接LK裸片输入/输出LDIO线中的一者的指令,经由所述链接裸片输入/输出线,所述MTB从计算高速链路CXL兼容存储器系统的LK裸片传达到所述CXL兼容存储器系统的接口IF裸片。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263348438P | 2022-06-02 | 2022-06-02 | |
US63/348,438 | 2022-06-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117174157A true CN117174157A (zh) | 2023-12-05 |
Family
ID=88934277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310602877.7A Pending CN117174157A (zh) | 2022-06-02 | 2023-05-26 | 错误校正的设备、系统和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230396272A1 (zh) |
CN (1) | CN117174157A (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7562285B2 (en) * | 2006-01-11 | 2009-07-14 | Rambus Inc. | Unidirectional error code transfer for a bidirectional data link |
US9123409B2 (en) * | 2009-06-11 | 2015-09-01 | Micron Technology, Inc. | Memory device for a hierarchical memory architecture |
-
2022
- 2022-10-20 US US17/969,856 patent/US20230396272A1/en active Pending
-
2023
- 2023-05-26 CN CN202310602877.7A patent/CN117174157A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230396272A1 (en) | 2023-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8201069B2 (en) | Cyclical redundancy code for use in a high-speed serial link | |
US20210377080A1 (en) | Memory device and memory system including the same | |
CN106205728B (zh) | 奇偶校验电路及包括该奇偶校验电路的存储器装置 | |
CN116745849A (zh) | 存储器装置保护 | |
CN118103907A (zh) | 用于堆叠式存储器裸片的内部及外部数据传送 | |
CN116569264A (zh) | 使用有毒数据单位修改奇偶校验数据 | |
US20240004791A1 (en) | Controller cache architeture | |
US11416331B2 (en) | Modified checksum using a poison data pattern | |
US20240004760A1 (en) | Apparatus for redundant array of independent disks | |
KR20210156713A (ko) | 개선된 ecc 메모리 칩 인코더 및 디코더 | |
US20230289270A1 (en) | Host controlled electronic device testing | |
US20240004751A1 (en) | Intra-controllers for error correction code | |
US10866855B2 (en) | Memory system varying operation of memory controller according to internal status of memory device | |
CN117334243A (zh) | 高速缓存线数据保护 | |
CN117174157A (zh) | 错误校正的设备、系统和方法 | |
US11500719B1 (en) | Reliability improvements for memory technologies | |
US11960776B2 (en) | Data protection for stacks of memory dice | |
US20240126441A1 (en) | Controller architecture for reliability, availability, serviceability access | |
US20240087664A1 (en) | Built-in self-test burst patterns based on architecture of memory | |
US20240005010A1 (en) | Non-cached data transfer | |
TWI740009B (zh) | 編碼機制及其編碼方法 | |
US20240111629A1 (en) | Data protection and recovery | |
US20240004799A1 (en) | Memory controller architecture | |
US20240071448A1 (en) | Configurable data protection circuitry for memory devices | |
US20240028249A1 (en) | Controllers and methods for accessing memory devices via multiple modes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |