CN117352037A - 三维存储器及用于三维存储器的ecc方法 - Google Patents
三维存储器及用于三维存储器的ecc方法 Download PDFInfo
- Publication number
- CN117352037A CN117352037A CN202210760863.3A CN202210760863A CN117352037A CN 117352037 A CN117352037 A CN 117352037A CN 202210760863 A CN202210760863 A CN 202210760863A CN 117352037 A CN117352037 A CN 117352037A
- Authority
- CN
- China
- Prior art keywords
- error correction
- ecc
- algorithm
- data
- configuration
- 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
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000012937 correction Methods 0.000 claims abstract description 254
- 238000012545 processing Methods 0.000 claims abstract description 58
- 238000001514 detection method Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 5
- 235000012431 wafers Nutrition 0.000 abstract description 21
- 230000006870 function Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本申请公开了一种三维存储器及用于三维存储器的ECC方法,该三维存储器包括:层叠设置的存储晶圆以及逻辑晶圆。逻辑晶圆中设置有ECC电路,存储晶圆中设置有存储阵列。其中,ECC电路支持多种纠错能力,且能够根据外部控制指令进行纠错能力配置,然后再根据所配置的纠错能力对存储阵列的写入数据以及读出数据进行相应的ECC处理,实现了对三维存储器纠错能力的灵活配置,有利于满足三维存储器在大容量、高带宽趋势下的实时多bit纠错需求。
Description
技术领域
本发明涉及存储器技术领域,尤其涉及一种三维存储器及用于三维存储器的ECC方法。
背景技术
目前,二维存储器的ECC(Error Checking and Correcting,错误检查与纠正)机制主要有片外和片内两种,片外是指由外部控制器产生ECC码,并将其存储在附加的DRAM(Dynamic Random Access Memory,动态随机存储器)中,片内是指在DRAM内嵌ECC单元,由ECC单元产生ECC码,将数据和ECC码一起存储到DRAM中。采用片外ECC方式,需要附加的DRAM,因此会增加PCB尺寸,增加功耗及成本,并且随着总容量需求的增加,附加的DRAM数量也随之增加。相对片外ECC方式,采用片内ECC方式,会减小PCB尺寸,降低功耗和成本。
三维存储器相比普通的二维存储器具有更高的带宽和更大的容量等特性,现有的ECC方式无论是片外还是片内,纠错能力单一,且通常为固定的1bit,无法满足三维存储器在大容量、高带宽趋势下的实时多bit纠错需求。
发明内容
本申请实施例提供了一种三维存储器及用于三维存储器的ECC方法,能够有效地改善上述纠错能力单一,无法满足多bit纠错需求的问题。
第一方面,本申请实施例提供了一种三维存储器,包括:层叠设置的存储晶圆以及逻辑晶圆,所述逻辑晶圆中设置有ECC电路,所述存储晶圆中设置有存储阵列,所述ECC电路与所述存储阵列连接,其中,所述ECC电路用于:
根据外部控制指令进行纠错能力配置,并根据所配置的纠错能力对所述存储阵列的写入数据以及读出数据进行相应的ECC处理,其中,所述ECC电路支持多种纠错能力,所配置的纠错能力为所述多种纠错能力中的任意一种。
进一步地,所述ECC电路包括:
配置寄存器,用于根据外部控制指令,设置ECC配置信息,所述ECC配置信息包括:纠错能力配置信息;
ECC处理模块,与所述配置寄存器连接,所述ECC处理模块利用从所述配置寄存器读取的纠错能力配置信息进行纠错能力配置,并根据所配置的纠错能力对所述存储阵列的写入数据以及读出数据进行相应的ECC处理。
进一步地,所述ECC配置信息还包括:纠错算法配置信息,所述ECC处理模块具体用于:
利用从所述配置寄存器读取的纠错算法配置信息,从预设的多种不同纠错算法中确定目标纠错算法,并根据从所述配置寄存器读取的纠错能力配置信息对所述目标纠错算法进行纠错能力配置;
利用配置后的目标纠错算法,对所述存储阵列的写入数据以及读出数据进行相应的ECC处理。
进一步地,所述多种不同纠错算法包括以下几种算法中的两种或两种以上:
Hamming算法、BCH算法、RS算法以及LDPC算法。
进一步地,所述ECC配置信息还包括:使能信息,所述使能信息用于使能所述ECC处理模块。
进一步地,所述配置寄存器为8位寄存器,其中,[0]位用于存储所述使能信息,[3:1]位用于存储所述纠错算法配置信息;[7:4]位用于存储所述纠错能力配置信息。
进一步地,所述配置寄存器[3:1]位的配置方式包括以下几种方式中的两种或两种以上:
所述配置寄存器的[3:1]位为000,对应的纠错算法为Hamming算法;
所述配置寄存器的[3:1]位为001,对应的纠错算法为BCH算法;
所述配置寄存器的[3:1]位为010,对应的纠错算法为RS算法;
所述配置寄存器的[3:1]位为011,对应的纠错算法为LDPC算法。
进一步地,所述配置寄存器[7:4]位的配置方式包括以下几种方式中的两种或两种以上:
所述配置寄存器的[7:4]位为0000,对应的纠错能力为1bit;
所述配置寄存器的[7:4]位为0001,对应的纠错能力为4bit;
所述配置寄存器的[7:4]位为0010,对应的纠错能力为24bit;
所述配置寄存器的[7:4]位为0011,对应的纠错能力为40bit;
所述配置寄存器的[7:4]位为0100,对应的纠错能力为60bit;
所述配置寄存器的[7:4]位为0101,对应的纠错能力为72bit。
进一步地,所述ECC处理模块包括ECC编码子模块和ECC解码子模块,所述ECC编码子模块和ECC解码子模块均与所述配置寄存器连接,其中:
所述ECC编码子模块响应于数据写入操作,对待写入数据进行编码,得到与所配置的纠错能力对应的纠错码,将所述纠错码与所述待写入数据对应存储到所述存储阵列中;
所述ECC解码子模块响应于数据读出操作,利用与读出数据对应的纠错码,对所述读出数据进行错误检测以及纠正处理,输出纠错后的读出数据。
进一步地,所述多种纠错能力包括以下几种纠错能力中的两种或两种以上:
1bit、4bit、24bit、40bit、60bit以及72bit。
第二方面,本申请实施例提供了一种用于三维存储器的ECC方法,所述方法包括:
接收外部控制指令;
根据所述外部控制指令进行纠错能力配置,并根据所配置的纠错能力对写入数据以及读出数据进行相应的ECC处理,其中,所述三维存储器支持多种纠错能力,所配置的纠错能力为所述多种纠错能力中的任意一种。
进一步地,所述根据所述外部控制指令进行纠错能力配置,并根据所配置的纠错能力对写入数据以及读出数据进行相应的ECC处理,包括:
根据所述外部控制指令确定纠错能力配置信息以及纠错算法配置信息;
根据所述纠错算法配置信息,从预设的多种不同纠错算法中确定目标纠错算法;
根据所述纠错能力配置信息对所述目标纠错算法进行纠错能力配置;
利用配置后的目标纠错算法,对写入数据以及读出数据进行相应的ECC处理。
进一步地,所述利用配置后的目标纠错算法,对写入数据以及读出数据进行相应的ECC处理,包括:
响应于数据写入操作,对待写入数据进行编码,得到与所配置的纠错能力对应的纠错码,将所述纠错码与所述待写入数据对应存储到存储阵列中;
响应于数据读出操作,从所述存储阵列读数据以及对应的纠错码,利用读出的纠错码,对读出数据进行错误检测以及纠正处理,输出纠错后的读出数据。
本申请实施例提供的三维存储器,通过在逻辑晶圆中设置支持多种纠错能力的ECC电路,并使得ECC电路根据外部控制指令进行纠错能力配置,然后根据所配置的纠错能力对存储阵列的写入数据以及读出数据进行相应的ECC处理。这样就可以根据实际场景的容量、带宽以及功耗需求,对三维存储器的纠错能力进行灵活配置,从而提高三维存储器的灵活性,满足三维存储器在大容量、高带宽趋势下的实时多bit纠错需求。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请实施例第一方面提供的三维存储器的结构示意图;
图2示出了本申请实施例第一方面提供的ECC电路的结构示意图;
图3示出了本申请实施例第二方面提供的用于三维存储器的ECC方法的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
第一方面,本申请实施例提供了一种三维存储器,如图1所示,该三维存储器包括:层叠设置的存储晶圆120以及逻辑晶圆110。需要说明的是,存储晶圆120可以是一个,也可以是多个,图1中示出的两个存储晶圆120仅为示意,具体根据容量需求设置。相邻晶圆层之间键合连接,例如,可以通过混合键合(Hybrid Bonding)技术直连。逻辑晶圆110中设置有ECC电路100,存储晶圆120中设置有存储阵列,ECC电路100与存储阵列的接口连接。
当然,三维存储器除了存储晶圆120以及逻辑晶圆110以外,还包括封装基板130,封装基板130的正面通过凸块(bump)131与逻辑晶圆110连接,封装基板130背面设置有外接焊球132。
具体实施时,如图2所示,ECC电路100可以通过DDR总线与外部控制器200如CPU或FPGA连接。由外部控制器200发送外部控制指令到ECC电路100,对ECC电路100进行配置,例如,可以进行纠错能力的配置。本实施例中,纠错能力是指ECC电路100最多可纠错的数据位(bit)数,如若将纠错能力配置为4bit,则ECC电路100最多可纠错4bit的错误。ECC电路100支持多种不同大小的纠错能力。例如,可以根据应用场景存储容量、带宽以及功耗的需要,从ECC电路100支持的多种纠错能力中选择合适的纠错能力进行灵活配置。
可以理解的是,ECC电路100中预先设置有纠错算法包括编码算法和解码算法来实现ECC功能,而一些纠错算法可以支持多种不同的纠错能力,通过对算法参数进行调整实现不同纠错能力的配置,例如,可以采用BCH、RS算法或LDPC算法。
举例来讲,ECC电路100可以支持以下几种纠错能力中的两种或两种以上:1bit、4bit、24bit、40bit、60bit以及72bit。另外,ECC电路100的数据编解码长度可以根据实际需要设置,例如,可以设置为1KB,或者,也可以是512B等。以数据编解码长度为1KB,纠错能力配置为4bit为例,则每1KB的数据最多可以纠错4bit。
由此,ECC电路100可以根据外部控制指令进行纠错能力配置,并根据所配置的纠错能力对存储阵列121的写入数据以及读出数据进行相应的ECC处理,即对写入数据进行ECC编码处理,对读出数据进行ECC解码处理,具体编码过程以及解码过程可以参照相关技术,此处不做详述。其中,所配置的纠错能力可以为上述ECC电路100支持的多种纠错能力中的任意一种。这样就可以根据应用需求和功耗要求,灵活配置ECC纠错能力,有效提高三维存储器的可靠性以及灵活性。通过配置合适的纠错能力,即可满足三维存储器在大容量、高带宽趋势下的实时多bit纠错需求。
具体来讲,在一种可选的实施方式中,ECC电路100可以包括:配置寄存器101以及ECC处理模块。配置寄存器101用于根据外部控制指令,设置ECC配置信息,ECC配置信息包括:纠错能力配置信息,用于配置ECC处理模块的纠错能力。ECC处理模块与配置寄存器101连接,用于实现ECC功能。例如,外部控制器200可以通过DDR总线向配置寄存器101传输外部控制指令,配置寄存器101通过解析外部控制指令得到并存储ECC配置信息。然后,ECC处理模块就可以从配置寄存器101读取ECC配置信息来对自身ECC功能进行配置,例如,利用读取的纠错能力配置信息对自身的纠错能力进行配置。配置完成后,就可以根据所配置的纠错能力对存储阵列121的写入数据以及读出数据进行相应的ECC处理,从而实现对数据错误bit的检测与纠正。需要说明的是,数据纠错位数最多不超过所配置的纠错能力。
可以理解的是,ECC处理模块的ECC功能由预先设置的纠错算法实现。在一种可选的实施方式中,ECC处理模块中可以预先设置有多种纠错算法,例如,可以包括以下几种算法中的两种或两种以上:Hamming(汉明)算法、BCH(缩短循环码)算法、RS(Reed-Solomon,里所)算法以及LDPC(低密度校验码)算法。相应地,上述ECC配置信息还包括:纠错算法配置信息,用于配置ECC处理模块所使用的纠错算法。
此时,ECC处理模块具体用于:利用从配置寄存器101读取的纠错算法配置信息,从预设的多种不同纠错算法中确定目标纠错算法,并根据从配置寄存器101读取的纠错能力配置信息对目标纠错算法进行纠错能力配置;然后,利用配置后的目标纠错算法,对存储阵列121的写入数据以及读出数据进行相应的ECC处理。这样就可以根据实际应用场景的需要以及功耗要求,从支持的多种纠错算法中灵活配置适用的纠错算法,能够进一步提高ECC纠错性能以及灵活性。
在一种可选的实施方式中,ECC配置信息还可以包括:使能信息,用于使能ECC处理模块的ECC功能。具体实施时,ECC处理模块会从配置寄存器101读取使能信息,根据读取的使能信息来控制ECC功能的开启和关闭。这样用户通过配置使能信息就可以控制三维存储器ECC功能的开闭,可以方便对ECC功能的测试,也有利于适用低功耗且无需ECC功能的场景。可以理解的是,当ECC功能处于关闭状态时,数据可以经由ECC处理模块直接写入存储阵列121以及从存储阵列121读出,不会进行ECC处理。
具体实施时,外部控制器200如CPU或FPGA可以通过DDR总线设置配置寄存器101,例如可以将配置寄存器101命名为ECC_CFG_REG。以ECC配置信息包括:使能信息、纠错算法配置信息以及纠错能力配置信息的场景为例,配置寄存器101能够存储N位二进制编码,分别对应表征各种ECC配置信息包含的各种信息。例如,配置寄存器101为8位寄存器,即ECC_CFG_REG[7:0],具体可以定义为:
ECC_CFG_REG[0]:使能配置位(ecc_enable),用于存储使能信息。例如,ECC_CFG_REG[0]为1时有效,ECC功能开启,为0时ECC功能关闭。
ECC_CFG_REG[3:1]:算法类型配置位(ecc_type),用于存储纠错算法配置信息。ECC_CFG_REG[3:1]的配置方式需要根据ECC处理模块支持的纠错算法类型预先确定。例如,ECC_CFG_REG[3:1]可以有以下几种配置方式:
ECC_CFG_REG[3:1]为“000”,对应的纠错算法为Hamming算法;
ECC_CFG_REG[3:1]为“001”,对应的纠错算法为BCH算法;
ECC_CFG_REG[3:1]为“010”,对应的纠错算法为RS算法;
ECC_CFG_REG[3:1]为“011”,对应的纠错算法为LDPC算法。
或者,ECC_CFG_REG[3:1]也可以仅包括上述四种配置方式中的两种或三种。具体实施时,可以根据实际应用需要从支持的纠错算法中选取一种,然后对ECC_CFG_REG[3:1]进行相应配置。当然,除了上述几种情况以外,ECC_CFG_REG[3:1]还包括其他预留配置方式,如“100”以及“101”,这些预留配置方式可以方便后续扩展ECC电路100支持的算法类型时,对扩展的算法进行配置。
ECC_CFG_REG[7:4]:纠错能力配置位(ecc_cr_num),用于存储纠错能力配置信息。ECC_CFG_REG[3:1]的配置方式需要根据支持的纠错算法能够达到的纠错能力预先确定。例如,ECC_CFG_REG[7:4]位可以有以下几种配置方式:
ECC_CFG_REG[7:4]位为“0000”,对应的纠错能力为1bit;
ECC_CFG_REG[7:4]位为“0001”,对应的纠错能力为4bit;
ECC_CFG_REG[7:4]位为“0010”,对应的纠错能力为24bit;
ECC_CFG_REG[7:4]位为“0011”,对应的纠错能力为40bit;
ECC_CFG_REG[7:4]位为“0100”,对应的纠错能力为60bit;
ECC_CFG_REG[7:4]位为“0101”,对应的纠错能力为72bit。
或者,ECC_CFG_REG[7:4]也可以仅包括上述六种配置方式中的两种、三种、四种或五种。具体实施时,可以根据实际需要选择一种纠错能力,然后对ECC_CFG_REG[7:4]进行相应配置。当然,除了上述几种配置方式以外,ECC_CFG_REG[7:4]还可以有其他预留配置方式如“1000”以及“1001”等,这些预留配置方式可以方便后续扩展ECC电路100支持的纠错能力时,对所扩展的纠错能力进行配置。
需要说明的是,在配置纠错算法和纠错能力时,需要注意两者的适配,所选择的纠错能力应是算法所能支持的。
具体来讲,ECC处理模块包括ECC编码子模块102和ECC解码子模块103,需要说明的是,ECC编码子模块102和ECC解码子模块103可以集成在一起,或者,也可以相互独立设置。
如图2所示,ECC编码子模块102和ECC解码子模块103均与配置寄存器101连接。这样ECC编码子模块102和ECC解码子模块103均可以从配置寄存器101读取的ECC配置信息来进行自身ECC功能的配置,例如,可以对纠错能力、所使用的纠错算法类型等进行配置。另外,为了便于控制数据的传输,ECC电路100还包括连接于ECC处理模块与外部控制器200之间,以及ECC处理模块与存储阵列121之间的缓存FIFO 104。
ECC编码子模块102以及ECC解码子模块103均通过缓存FIFO 104(先入先出队列,First Input First Output)分别与外部控制器200以及存储阵列121接口连接。ECC编码子模块102响应于数据写入操作,对经过缓存FIFO 104输入的待写入数据进行编码,得到与所配置的纠错能力对应的纠错码,将纠错码与待写入数据经由缓存FIFO 104对应存储到存储阵列121中。ECC解码子模块103响应于数据读出操作,经由缓存FIFO 104从存储阵列121读取数据以及对应的纠错码,然后利用与读出数据对应的纠错码,对读出数据进行错误检测以及纠正处理,经由缓存FIFO 104输出纠错后的读出数据。
举例来讲,以数据编解码长度为1KB为例,配置ECC_CFG_REG[0](ecc_enable)为1使能ECC功能,配置ECC_CFG_REG[3:1]为“001”,即选择BCH纠错算法,具体为ECC编码子模块102采用BCH编码算法,ECC解码子模块103采用BCH解码算法,以及配置ECC_CFG_REG[7:4]为“0010”,即选择纠错能力为24bit。基于上述配置,在向存储阵列121写入数据时,数据先进入ECC编码子模块102,通过ECC编码子模块102对原始数据进行编码,编码完成后,每1KB的原始数据会生成与24bit纠错能力对应的纠错码(如对于BCH编码算法来讲,可以生成336bit的纠错码),然后将1KB的原始数据和所生成的纠错码对应存储到存储阵列121中。相应地,从存储阵列121读取数据时,读出的数据和对应纠错码先进入ECC解码子模块103,ECC解码子模块103根据每次读出的1KB数据和对应纠错码计算出错误bit的位置码,将数据和错误位置码进行异或后,就可以得到正确的数据,然后将其输出。对于其余纠错算法,纠错过程类似,不同之处在于纠错能力不同,对应的纠错码也就不同。各纠错算法的具体编解码过程可以参照相关技术,此处就不再一一详述。
本申请实施例通过在三维存储器的逻辑晶圆110内实现片内ECC电路100,且支持多种纠错能力,使用时,用户可以根据应用场景的数据纠错需求以及功耗要求,灵活配置ECC电路100的纠错能力,从而能够适用于更多的场景。例如,当场景需求为小容量、低带宽以及低功耗时,可以选择配置相对较低的纠错能力,当场景需求为大容量、高带宽且不要求低功耗时,可以选择配置相对较高的纠错能力,从而满足三维存储器在大容量、高带宽趋势下的实时多bit纠错需求。并且,在逻辑晶圆110内实现片内ECC有利于缩小基于三维存储器的板卡的面积,降低板卡功耗以及成本。
另外,除了支持多种纠错能力以外,ECC电路100还支持多种纠错算法,用户可以根据实际需求对所使用的纠错算法进行灵活配置,有利于进一步提高三维存储器的灵活性。
第二方面,本申请实施例还提供了一种用于三维存储器的ECC方法。其中,三维存储器支持多种纠错能力。如图3所示,该方法至少可以包括以下步骤S301至步骤S302。
步骤S301,接收外部控制指令;
步骤S302,根据外部控制指令进行纠错能力配置,并根据所配置的纠错能力对写入数据以及读出数据进行相应的ECC处理。
需要说明的是,所配置的纠错能力可以是三维存储器支持的多种纠错能力中的任意一种。步骤S301和步骤S302的具体实施过程可以参照上述第一方面提供的三维存储器实施例中的相应描述,此处不再赘述。
在一种可选的实施方式中,三维存储器还支持多种纠错算法,在配置过程中,除了实现对ECC功能的纠错能力配置以外,还可以实现纠错算法的配置。此时,上述步骤S302可以包括:根据外部控制指令确定纠错能力配置信息以及纠错算法配置信息;根据所纠错算法配置信息,从预设的多种不同纠错算法中确定目标纠错算法;根据纠错能力配置信息对目标纠错算法进行纠错能力配置;利用配置后的目标纠错算法,对写入数据以及读出数据进行相应的ECC处理。具体实施过程可以参照上述第一方面提供的三维存储器实施例中的相应描述,此处不再赘述。
在一种可选的实施方式中,上述利用配置后的目标纠错算法,对写入数据以及读出数据进行相应ECC处理的过程包括:响应于数据写入操作,对待写入数据进行编码,得到与所配置的纠错能力对应的纠错码,将纠错码与待写入数据对应存储到存储阵列中;响应于数据读出操作,从存储阵列读数据以及对应的纠错码,利用读出的纠错码,对读出数据进行错误检测以及纠正处理,输出纠错后的读出数据。具体实施过程可以参照上述第一方面提供的三维存储器实施例中的相应描述,此处不再赘述。
需要说明的是,本申请实施例所提供的用于三维存储器的ECC方法,其产生的技术效果和前述第一方面提供的三维存储器实施例相同,为简要描述,本实施例部分未提及之处,可参考前述第一方面提供的三维存储器实施例中相应内容。
还需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本说明书是参照根据本申请实施例的方法、系统、设备以及计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。术语“多个”表示两个以上,包括两个或大于两个的情况。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。
Claims (13)
1.一种三维存储器,其特征在于,包括:层叠设置的存储晶圆以及逻辑晶圆,所述逻辑晶圆中设置有ECC电路,所述存储晶圆中设置有存储阵列,所述ECC电路与所述存储阵列连接,其中,所述ECC电路用于:
根据外部控制指令进行纠错能力配置,并根据所配置的纠错能力对所述存储阵列的写入数据以及读出数据进行相应的ECC处理,其中,所述ECC电路支持多种纠错能力,所配置的纠错能力为所述多种纠错能力中的任意一种。
2.根据权利要求1所述的三维存储器,其特征在于,所述ECC电路包括:
配置寄存器,用于根据外部控制指令,设置ECC配置信息,所述ECC配置信息包括:纠错能力配置信息;
ECC处理模块,与所述配置寄存器连接,所述ECC处理模块利用从所述配置寄存器读取的纠错能力配置信息进行纠错能力配置,并根据所配置的纠错能力对所述存储阵列的写入数据以及读出数据进行相应的ECC处理。
3.根据权利要求2所述的三维存储器,其特征在于,所述ECC配置信息还包括:纠错算法配置信息,所述ECC处理模块具体用于:
利用从所述配置寄存器读取的纠错算法配置信息,从预设的多种不同纠错算法中确定目标纠错算法,并根据从所述配置寄存器读取的纠错能力配置信息对所述目标纠错算法进行纠错能力配置;
利用配置后的目标纠错算法,对所述存储阵列的写入数据以及读出数据进行相应的ECC处理。
4.根据权利要求3所述的三维存储器,其特征在于,所述多种不同纠错算法包括以下几种算法中的两种或两种以上:
Hamming算法、BCH算法、RS算法以及LDPC算法。
5.根据权利要求3所述的三维存储器,其特征在于,所述ECC配置信息还包括:使能信息,所述使能信息用于使能所述ECC处理模块。
6.根据权利要求5所述的三维存储器,其特征在于,所述配置寄存器为8位寄存器,其中,[0]位用于存储所述使能信息,[3:1]位用于存储所述纠错算法配置信息;[7:4]位用于存储所述纠错能力配置信息。
7.根据权利要求6所述的三维存储器,其特征在于,所述配置寄存器[3:1]位的配置方式包括以下几种方式中的两种或两种以上:
所述配置寄存器的[3:1]位为000,对应的纠错算法为Hamming算法;
所述配置寄存器的[3:1]位为001,对应的纠错算法为BCH算法;
所述配置寄存器的[3:1]位为010,对应的纠错算法为RS算法;
所述配置寄存器的[3:1]位为011,对应的纠错算法为LDPC算法。
8.根据权利要求6所述的三维存储器,其特征在于,所述配置寄存器[7:4]位的配置方式包括以下几种方式中的两种或两种以上:
所述配置寄存器的[7:4]位为0000,对应的纠错能力为1bit;
所述配置寄存器的[7:4]位为0001,对应的纠错能力为4bit;
所述配置寄存器的[7:4]位为0010,对应的纠错能力为24bit;
所述配置寄存器的[7:4]位为0011,对应的纠错能力为40bit;
所述配置寄存器的[7:4]位为0100,对应的纠错能力为60bit;
所述配置寄存器的[7:4]位为0101,对应的纠错能力为72bit。
9.根据权利要求2所述的三维存储器,其特征在于,
所述ECC处理模块包括ECC编码子模块和ECC解码子模块,所述ECC编码子模块和ECC解码子模块均与所述配置寄存器连接,其中:
所述ECC编码子模块响应于数据写入操作,对待写入数据进行编码,得到与所配置的纠错能力对应的纠错码,将所述纠错码与所述待写入数据对应存储到所述存储阵列中;
所述ECC解码子模块响应于数据读出操作,利用与读出数据对应的纠错码,对所述读出数据进行错误检测以及纠正处理,输出纠错后的读出数据。
10.根据权利要求1所述的三维存储器,其特征在于,所述多种纠错能力包括以下几种纠错能力中的两种或两种以上:
1bit、4bit、24bit、40bit、60bit以及72bit。
11.一种用于三维存储器的ECC方法,其特征在于,所述方法包括:
接收外部控制指令;
根据所述外部控制指令进行纠错能力配置,并根据所配置的纠错能力对写入数据以及读出数据进行相应的ECC处理,其中,所述三维存储器支持多种纠错能力,所配置的纠错能力为所述多种纠错能力中的任意一种。
12.根据权利要求11所述的方法,其特征在于,所述根据所述外部控制指令进行纠错能力配置,并根据所配置的纠错能力对写入数据以及读出数据进行相应的ECC处理,包括:
根据所述外部控制指令确定纠错能力配置信息以及纠错算法配置信息;
根据所述纠错算法配置信息,从预设的多种不同纠错算法中确定目标纠错算法;
根据所述纠错能力配置信息对所述目标纠错算法进行纠错能力配置;
利用配置后的目标纠错算法,对写入数据以及读出数据进行相应的ECC处理。
13.根据权利要求12所述的方法,其特征在于,所述利用配置后的目标纠错算法,对写入数据以及读出数据进行相应的ECC处理,包括:
响应于数据写入操作,对待写入数据进行编码,得到与所配置的纠错能力对应的纠错码,将所述纠错码与所述待写入数据对应存储到存储阵列中;
响应于数据读出操作,从所述存储阵列读数据以及对应的纠错码,利用读出的纠错码,对读出数据进行错误检测以及纠正处理,输出纠错后的读出数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210760863.3A CN117352037A (zh) | 2022-06-29 | 2022-06-29 | 三维存储器及用于三维存储器的ecc方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210760863.3A CN117352037A (zh) | 2022-06-29 | 2022-06-29 | 三维存储器及用于三维存储器的ecc方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117352037A true CN117352037A (zh) | 2024-01-05 |
Family
ID=89354523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210760863.3A Pending CN117352037A (zh) | 2022-06-29 | 2022-06-29 | 三维存储器及用于三维存储器的ecc方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117352037A (zh) |
-
2022
- 2022-06-29 CN CN202210760863.3A patent/CN117352037A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10324793B2 (en) | Reduced uncorrectable memory errors | |
US11687404B2 (en) | Technologies for preserving error correction capability in compute-in-memory operations | |
EP3754563A1 (en) | Technologies for performing in-memory training data augmentation for artificial intelligence | |
US11625346B2 (en) | Interface for memory readout from a memory component in the event of fault | |
KR20160143744A (ko) | 로컬 메모리를 갖는 제어기를 가진 메모리 디바이스 | |
KR20150135311A (ko) | 에러 정정 로직을 갖는 메모리 디바이스 | |
US11237903B2 (en) | Technologies for providing ECC pre-provisioning and handling for cross-point memory and compute operations | |
US20210357287A1 (en) | Memory controllers, memory systems and memory modules | |
JP2008090419A (ja) | 集積回路装置 | |
US12019516B2 (en) | Instant write scheme with delayed parity/raid | |
US11030040B2 (en) | Memory device detecting an error in write data during a write operation, memory system including the same, and operating method of memory system | |
US8719669B2 (en) | Error correction decoder and error correction method thereof | |
US11101822B1 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US11023320B2 (en) | Technologies for providing multiple levels of error correction | |
EP3499376B1 (en) | Memory system varying operation of memory controller according to internal status of memory device | |
CN117352037A (zh) | 三维存储器及用于三维存储器的ecc方法 | |
US10140025B2 (en) | Memory system including memory controller and operation method thereof | |
US11960776B2 (en) | Data protection for stacks of memory dice | |
US20220300370A1 (en) | Configurable Error Correction Code (ECC) Circuitry and Schemes | |
US11256565B2 (en) | Transaction metadata | |
TW202329106A (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 |