CN112420118B - 存储器及其存储方法和对应的电子设备 - Google Patents
存储器及其存储方法和对应的电子设备 Download PDFInfo
- Publication number
- CN112420118B CN112420118B CN202011440154.4A CN202011440154A CN112420118B CN 112420118 B CN112420118 B CN 112420118B CN 202011440154 A CN202011440154 A CN 202011440154A CN 112420118 B CN112420118 B CN 112420118B
- Authority
- CN
- China
- Prior art keywords
- bit data
- data
- module
- ecc
- control instruction
- 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.)
- Active
Links
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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/10—Decoders
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本发明涉及存储器及其存储方法和对应的电子设备。本发明的存储器中引入了写选择模块和/或读选择模块,可以很容易地直接访问到ECC阵列模块,能够在写操作和读操作的过程中非常灵活地切换多种模式。
Description
技术领域
本发明涉及存储器领域。具体地,本发明涉及可以很容易地直接访问到ECC阵列模块从而在读操作和写操作的过程中很容易地切换多种模式的存储器及其存储方法和对应的电子设备。
背景技术
纠错码(Error Correction Code,ECC)是一种对数据进行检错和纠错的方法。它利用在一定长度数据位的基础上增加额外的数据来实现检错和纠错功能,这些额外的数据称为校验位。校验位的长度根据选定的ECC算法来确定。
在选定ECC算法之后,一定长度的数据位都存在与其对应的校验位,而这些校验位也需要阵列来存储。选定ECC算法之后的写入和读出过程如下:当N位数据从系统被写入存储器时,首先通过ECC编码模块经由选定的ECC算法产生该N位数据的M位校验位,然后N位数据和M位校验位一起被写入相应的存储阵列(如图1中所示)。当从存储器读出N位数据时,N位数据和M位校验位从各自的存储阵列中读出,被放大后送入ECC解码模块。ECC解码模块可以对错误进行检测和纠正,得到经纠正的N位数据(如图2中所示)。
然而,在这种情况下,当对存储器进行测试时,为了实现不同的测试目标,可能会需要不同的特殊的数据拓扑。例如,可能需要为‘b11111111、‘b00000000、b10101010、‘b01010101、‘b11101111、‘b00010000等或者其他的任何数据拓扑。
对于数据阵列而言,很容易实现这样的数据拓扑,因为数据阵列中存储的值就是外部系统所写入的值。但是,对于ECC阵列而言,ECC阵列中所存储的校验位是通过选定ECC算法由相应的数据位计算得到的。也就是说,校验位既与相应的数据位的值相关,又与所选定的ECC算法相关。因此,对于ECC阵列,很难或者不能得到特殊的数据拓扑。这就意味着对ECC阵列的测试结果将会是不真实或者不准确或者不精确的。
因此,亟需解决现有技术中的上述技术问题。
发明内容
基于上述技术问题,本发明提出了一种存储器及其存储方法和对应的电子设备。本发明是基于这样的认识而提出的:如果存储器能够直接访问到ECC阵列模块,则它就可以很容易地控制在ECC阵列模块中实际所存储的数据的值,从而能够在ECC阵列模块中存储特殊拓扑数据;当然,同时,在这一过程中,不能够影响到ECC阵列模块的正常功能。针对此,本发明的存储器中引入了写选择模块和/或读选择模块,可以很容易地直接访问到ECC阵列模块,能够在写操作和读操作的过程中非常灵活地切换多种模式。
根据本发明的第一方面,提供了一种存储器,包括:
第一数据阵列模块,所述第一数据阵列模块用于存储第一N-M位数据;
第二数据阵列模块,所述第二数据阵列模块用于存储第一M位数据;
纠错码ECC阵列模块,所述第二数据阵列模块与所述ECC阵列模块的容量相同,所述ECC阵列模块用于存储第二M位数据;
ECC处理模块,所述ECC处理模块与所述第一数据阵列模块、所述第二数据阵列模块、所述ECC阵列模块连接,且所述ECC处理模块从所述第一数据阵列模块接收第一N-M位数据、从所述第二数据阵列模块接收第一M位数据以及从所述ECC阵列模块接收第二M位数据,以及所述ECC处理模块对所述第一N-M位数据、所述第一M位数据、所述第二M位数据进行处理,得到经处理的数据;
选择模块,所述选择模块与所述第一数据阵列模块、所述第二数据阵列模块、所述ECC阵列模块、所述ECC处理模块连接,所述选择模块从所述第一数据阵列模块接收所述第一N-M位数据、从所述第二数据阵列接收第一M位数据、从所述ECC阵列模块接收所述第二M位数据以及从所述ECC处理模块接收所述经处理的数据,且根据一个选择控制指令而选择性地输出;
其中,N、M均为正整数,且N大于M。
根据本发明的存储器的一个优选实施方案,所述选择控制指令为第一读选择控制指令,所述选择模块根据所述第一读选择控制指令输出所述第一N-M位数据以及所述第一M位数据。
根据本发明的存储器的一个优选实施方案,所述选择控制指令为第二读选择控制指令,所述选择模块根据所述第二读控制指令输出所述第一N-M位数据、所述第一M位数据以及所述第二M位数据。
根据本发明的存储器的一个优选实施方案,所述ECC处理模块包括ECC解码模块,所述ECC解码模块对所述第一N-M位数据、所述第一M位数据和所述第二M位数据进行ECC解码,得到第一经纠正的N位数据以及第一经纠正的M位数据,且将所述第一经纠正的N位数据以及所述第一经纠正的M位数据输出至所述选择模块。
根据本发明的存储器的一个优选实施方案,所述选择控制指令为第三读选择控制指令,所述选择模块根据所述第三读选择控制指令输出所述第一经纠正的N位数据以及所述第一经纠正的M位数据。
根据本发明的存储器的一个优选实施方案,所述ECC处理模块包括ECC解码模块,所述ECC解码模块根据所述第二M位数据对所述第一N-M位数据和所述第一M位数据进行ECC解码,得到第二经纠正的N位数据,且将所述第二经纠正的N位数据输出至所述选择模块。
根据本发明的存储器的一个优选实施方案,所述选择控制指令为第四读选择控制指令,所述选择模块根据所述第四读选择控制指令输出所述第二经纠正的N位数据。
根据本发明的存储器的一个优选实施方案,所述选择控制指令为第五读选择控制指令,所述选择模块根据所述第五读选择控制指令输出所述第二经纠正的N位数据以及所述第二M位数据。
根据本发明的存储器的一个优选实施方案,所述ECC处理模块包括ECC编码模块,所述ECC编码模块从输入端接收第二N位数据,对所述第二N位数据进行编码,得到第一M位数据,且将所述第一M位数据输出至所述选择模块。
根据本发明的存储器的一个优选实施方案,所述选择模块从输入端接收第二M位数据。
根据本发明的存储器的一个优选实施方案,所述第二M位数据是所述第二N位数据的一部分。
根据本发明的存储器的一个优选实施方案,所述选择控制指令为第一写选择控制指令,所述选择模块根据所述第一写选择控制指令将所述第一M位数据输出至所述ECC阵列模块,以及将所述第二M位数据输出至所述第二数据阵列模块。
根据本发明的存储器的一个优选实施方案,所述选择控制指令为第二写选择控制指令,所述选择模块根据所述第二写选择控制指令将所述第一M位数据输出至所述第二数据阵列模块,以及将所述第二M位数据输出至所述ECC阵列模块。
根据本发明的第二方面,提供了一种用于存储器的存储方法,所述存储器包括:第一数据阵列模块,所述第一数据阵列模块用于存储第一N-M位数据;第二数据阵列模块,所述第二数据阵列模块用于存储第一M位数据;纠错码ECC阵列模块,所述ECC阵列模块用于存储第二M位数据,所述第二数据阵列模块与所述ECC阵列模块的容量相同;ECC处理模块,所述ECC处理模块与所述第一数据阵列模块、所述第二数据阵列模块、所述ECC阵列模块连接;以及,选择模块,所述选择模块与所述第一数据阵列模块、所述第二数据阵列模块、所述ECC阵列模块、所述ECC处理模块连接;所述存储方法包括:
所述ECC处理模块从所述第一数据阵列模块接收第一N-M位数据、从所述第二数据阵列模块接收第一M位数据以及从所述ECC阵列模块接收第二M位数据,以及所述ECC处理模块对所述第一N-M位数据、所述第一M位数据、所述第二M位数据进行处理,得到经处理的数据;
所述选择模块从所述第一数据阵列模块接收所述第一N-M位数据、从所述第二数据阵列接收第一M位数据、从所述ECC阵列模块接收所述第二M位数据以及从所述ECC处理模块接收所述经处理的数据,且所述选择模块根据一个选择控制指令而选择性地输出;
其中,N、M均为正整数,且N大于M。
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
当所述选择控制指令为第一读选择控制指令时,所述选择模块根据所述第一读选择控制指令输出所述第一N-M位数据以及所述第一M位数据。
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
当所述选择控制指令为第二读选择控制指令时,所述选择模块根据所述第二读控制指令输出所述第一N-M位数据、所述第一M位数据以及所述第二M位数据。
根据本发明的存储方法的一个优选实施方案,所述ECC处理模块包括ECC解码模块;所述存储方法还包括:
所述ECC解码模块对所述第一N-M位数据、所述第一M位数据和所述第二M位数据进行ECC解码,得到第一经纠正的N位数据以及第一经纠正的M位数据,且将所述第一经纠正的N位数据以及所述第一经纠正的M位数据输出至所述选择模块。
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
当所述选择控制指令为第三读选择控制指令时,所述选择模块根据所述第三读选择控制指令输出所述第一经纠正的N位数据以及所述第一经纠正的M位数据。
根据本发明的存储方法的一个优选实施方案,所述ECC处理模块包括ECC解码模块;所述存储方法还包括:
所述ECC解码模块根据所述第二M位数据对所述第一N-M位数据和所述第一M位数据进行ECC解码,得到第二经纠正的N位数据,且将所述第二经纠正的N位数据输出至所述选择模块。
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
当所述选择控制指令为第四读选择控制指令时,所述选择模块根据所述第四读选择控制指令输出所述第二经纠正的N位数据。
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
当所述选择控制指令为第五读选择控制指令时,所述选择模块根据所述第五读选择控制指令输出所述第二经纠正的N位数据以及所述第二M位数据。
根据本发明的存储方法的一个优选实施方案,所述ECC处理模块包括ECC编码模块;所述存储方法还包括:
所述ECC编码模块从输入端接收第二N位数据,对所述第二N位数据进行编码,得到第一M位数据,且将所述第一M位数据输出至所述选择模块。
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
所述选择模块从输入端接收第二M位数据。
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
所述第二M位数据是所述第二N位数据的一部分。
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
当所述选择控制指令为第一写选择控制指令,所述选择模块根据所述第一写选择控制指令将所述第一M位数据输出至所述ECC阵列模块,以及将所述第二M位数据输出至所述第二数据阵列模块。
根据本发明的存储方法的一个优选实施方案,所述存储方法还包括:
当所述选择控制指令为第二写选择控制指令时,所述选择模块根据所述第二写选择控制指令将所述第一M位数据输出至所述第二数据阵列模块,以及将所述第二M位数据输出至所述ECC阵列模块。
根据本发明的第三方面,提供了一种电子设备,所述电子设备包括:
至少一个上述的存储器;以及
至少一个处理器,所述处理器与所述存储器连接,且所述处理器与所述存储器通过所述总线进行通信,所述处理器对所述存储器中数据进行处理。
根据本发明的第四方面,提供了一种电子设备,所述电子设备包括:
至少一个存储器,在所述存储器上存储有计算机可执行指令;以及
至少一个处理器,所述处理器与所述存储器连接,且所述处理器与所述存储器通过所述总线进行通信,当所述处理器执行所述计算机可执行指令时,所述计算机可执行指令使得所述处理器执行上述的存储方法。
附图说明
通过下文结合对附图的说明,将更容易理解本发明,在附图中:
图1示出了已知的包含ECC功能的存储器的写入过程。
图2示出了已知的包含ECC功能的存储器的读出过程。
图3是根据本发明的一个实施方案的写入过程的示意图。
图4是根据本发明的一个实施方案的读出过程的示意图。
图5是根据本发明的另一实施方案的读出过程的示意图。
图6是根据本发明的一个实施方案的读出方法的流程图。
图7是根据本发明的一个实施方案的写入方法的流程图。
具体实施方式
下面将结合附图来对本发明的实施方案进行进一步详述。
图3是根据本发明的一个实施方案的写入过程的示意图。
图3中也示意性示出了写入过程中所涉及的存储器的构成,所述存储器包括:第一数据阵列模块310、第二数据阵列模块320、纠错码ECC阵列模块330、ECC编码模块340和写选择模块350。
从图3中可以看到,ECC编码模块340与写选择模块350连接,且ECC编码模块340从一个输入端接收N位数据,对N位数据进行编码,得到M位校验数据,且将所述M位校验数据输出至写选择模块350。
从图3中还可以看到,写选择模块350除了从ECC编码模块340接收M位校验数据之外,还可以从所述输入端接收N位数据中的M位数据,且根据写选择控制指令sel_wr_mode而将M位校验数据或者所述N位数据中的M位数据选择性地写入至第二数据阵列模块320或者ECC阵列模块340。
图3中所涉及的写选择控制指令sel_wr_mode主要分为如下两种:
(1)测试模式,将所述M位校验数据写入至第二数据阵列模块320,以及将所述N位数据中的M位数据写入至ECC阵列模块330(此时,假定N位数据为特殊拓扑数据,从而所述N位数据中的M位数据也为特殊拓扑数据);
(2)正常模式,将所述N位数据中的M位数据写入至第二数据阵列模块320,以及将所述M位校验数据写入至ECC阵列模块330(此时,假定N位数据为非特殊拓扑数据且非校验数据的数据,从而所述N位数据中的M位数据也为所述非特殊拓扑数据且非校验数据的数据)。
然而,应理解,图3不限制于如上两种写选择控制指令sel_wr_mode。
图3中的写选择控制指令sel_wr_mode也可以包括诸如:正常模式,将M位校验数据写入至第二数据阵列模块320,以及将所述N位数据中的M位数据写入至ECC阵列模块330(此时,假定N位数据为特殊拓扑数据,从而所述N位数据中的M位数据也为特殊拓扑数据);测试模式,将所述N位数据中的M位数据写入至第二数据阵列模块320,以及将M位校验数据写入至ECC阵列模块330(此时,假定N位数据为非特殊拓扑数据且非校验数据的数据,从而所述N位数据中的M位数据也为所述非特殊拓扑数据且非校验数据的数据);等等。在本发明中,根据需要,可以在任意模式中将M位校验数据或者从输入端所接收的N位数据中的M位数据选择性地写入至第二数据阵列模块320或者ECC阵列模块340。
对比图1,可以看到本发明的图3中将数据阵列模块分成第一数据阵列模块310和第二数据阵列模块320,其中第二数据阵列模块320与ECC阵列模块330的容量相同。另外,引入了写选择模块350,写选择模块350用于选择性地将M位校验数据或者从输入端所接收的N位数据中的M位数据写入至第二数据阵列模块320或者ECC阵列模块340。在图3中,存储器通过写选择模块350可以直接地访问到第二数据阵列模块320和ECC阵列模块330。这样,如果需要,可以直接对ECC阵列模块330第二数据阵列模块320和ECC阵列模块330进行写操作,在这两个模块中实现特殊拓扑数据。例如,在背景技术部分所提及的测试模式中,如果需要在ECC阵列中写入特殊拓扑数据,则可以直接通过写选择模块350将特殊拓扑数据写入ECC阵列模块330中。
图4和图5示出了在图3的写入过程之后的读出过程。此时,ECC阵列模块中可能存储的是M位校验数据,也可能存储的是从输入端所接收的N位数据中的M位数据。
图4是根据本发明的一个实施方案的读出过程的示意图。
图4中也示意性示出了读出过程中所涉及的存储器的构成,所述存储器包括第一数据阵列模块410、第二数据阵列模块420、纠错码ECC阵列模块430、ECC解码模块440和读选择模块450,其中第二数据阵列模块420与ECC阵列模块430的容量相同。
从图4中可以看到,ECC解码模块440与第一数据阵列模块410、第二数据阵列模块420、ECC阵列模块430连接,且ECC解码模块440从第一数据阵列模块410接收N-M位数据、从第二数据阵列模块420接收第一M位数据以及从ECC阵列模块430接收第二M位数据,ECC解码模块440对所述N-M位数据、所述第一M位数据、所述第二M位数据进行解码,得到经解码的数据,其中N、M均为正整数。
读选择模块450与第一数据阵列模块410、第二数据阵列模块420、ECC阵列模块430、ECC解码模块440连接,且读选择模块450从第一数据阵列模块410接收所述N-M位数据、从第二数据阵列模块420接收第一M位数据、从ECC阵列模块430接收所述第二M位数据以及从所述ECC解码模块440接收所述经解码的数据,且根据读选择控制指令sel_rd_mode而选择性地输出。在图4中,读选择模块450从ECC解码模块440所接收的经处理的数据为经纠正的N位数据。
图4中所涉及的读选择控制指令sel_rd_mode主要分为如下几种:
(1)测试模式,读出N-M位数据以及第一M位数据(假定测试模式时,M位校验数据写入至第二数据阵列模块,M位特殊拓扑数据写入至ECC阵列模块,则第一M位数据为M位校验数据,第二M位数据为M位特殊拓扑数据);
(2)测试模式,读出N-M位数据位数据、第一M位数据以及第二M位数据(也延续上述(1)中的假定);
(3)正常模式,读出经纠正的N位数据(假定正常模式时,N位数据中的M位数据写入至第二数据阵列模块,M位校验数据写入至ECC阵列模块,则第一M位数据为N位数据中的M位数据,第二M位数据为M位校验数据);
(4)正常模式,读出经纠正的N位数据以及第二M位数据(也延续上述(4)中的假定)。
然而,应理解,图4不限制于如上几种读选择控制指令sel_rd_mode。
图4中的读选择控制指令sel_rd_mode也可以包括诸如:
正常模式,读出N-M位数据以及第一M位数据(假定正常模式时,M位校验数据写入至第二数据阵列模块,M位特殊拓扑数据写入至ECC阵列模块,则第一M位数据为M位校验数据,第二M位数据为M位特殊拓扑数据);或者
正常模式,读出N-M位数据位数据、第一M位数据以及第二M位数据(也延续上述正常模式的假定);或者
测试模式,读出经纠正的N位数据(假定测试模式时,N位数据中的M位数据写入至第二数据阵列模块,M位校验数据写入至ECC阵列模块,则第一M位数据为N位数据中的M位数据,第二M位数据为M位校验数据);或者
测试模式,读出经纠正的N位数据以及第二M位数据(也延续上述测试模式的假定);等等。
在本发明中,根据需要,可以在任意模式中读出N-M位数据、第一M位数据、第二M位数据、经纠正的N位数据中的一个或多个。
对比图2,可以看到本发明的图4中将数据阵列模块分成第一数据阵列模块410和第二数据阵列模块420,其中第二数据阵列模块420与ECC阵列模块430的容量相同。另外,引入了读选择模块450,读选择模块450用于选择性地读出N-M位数据、第一M位数据、第二M位数据、经纠正的N位数据中的一个或多个。在图4中,存储器通过读选择模块450可以直接地访问到第二数据阵列模块420和ECC阵列模块430。这样,如果需要,可以直接对ECC阵列模块430第二数据阵列模块420和ECC阵列模块430进行读操作,在这两个模块中实现特殊拓扑数据。例如,在背景技术部分所提及的测试模式中,如果需要在ECC阵列中测试特殊拓扑数据,则可以直接通过读选择模块450将特殊拓扑数据从ECC阵列模块430读出。
图5是根据本发明的另一实施方案的读出过程的示意图。
与图4中类似,图5中也示意性示出了读出过程中所涉及的存储器的构成,所述存储器包括第一数据阵列模块510、第二数据阵列模块520、纠错码ECC阵列模块530、ECC解码模块540和读选择模块550,其中第二数据阵列模块520与ECC阵列模块530的容量相同。
从图5中可以看到,ECC解码模块540与第一数据阵列模块510、第二数据阵列模块520、ECC阵列模块530连接,且ECC解码模块540从第一数据阵列模块510接收N-M位数据、从第二数据阵列模块520接收第一M位数据以及从ECC阵列模块530接收第二M位数据,ECC解码模块540对所述N-M位数据、所述第一M位数据、所述第二M位数据进行解码,得到经解码的数据,其中N、M均为正整数。
读选择模块550与第一数据阵列模块510、第二数据阵列模块520、ECC阵列模块530、ECC解码模块540连接,且读选择模块550从第一数据阵列模块510接收所述N-M位数据、从第二数据阵列模块520接收第一M位数据、从ECC阵列模块530接收所述第二M位数据以及从所述ECC解码模块540接收所述经解码的数据,且根据读选择控制指令sel_rd_mode而选择性地输出。在图5中,读选择模块550从ECC解码模块540所接收的经处理的数据为经纠正的N位数据以及经纠正的第二M位数据。
图5中的上述布置的考虑因素为:如果ECC阵列模块所存储的M位校验数据也出错,也可以根据ECC算法进行检测纠正,一般经纠正的M位校验数据是不需要输出的。然而,在一些情况下,如果测试需要,也可以将经纠正的M位校验数据输出,以供分析或者其他需求。
图5中所涉及的读选择控制指令sel_rd_mode主要分为如下几种:
(1)测试模式,读出N-M位数据以及第一M位数据(假定测试模式时,M位校验数据写入至第二数据阵列模块,M位特殊拓扑数据写入至ECC阵列模块,则第一M位数据为M位校验数据,第二M位数据为M位特殊拓扑数据);
(2)测试模式,读出N-M位数据位数据、第一M位数据以及第二M位数据(也延续上述(1)中的假定);
(3)测试模式,读出经纠正的N位数据以及经纠正的第二M位数据(假定测试模式时,N位数据中的M位数据写入至第二数据阵列模块,M位校验数据写入至ECC阵列模块,则第一M位数据为N位数据中的M位数据,第二M位数据为M位校验数据;则ECC解码模块540针对N位数据解码,得到经纠正的N位数据,且针对M位校验数据解码,得到经纠正的第二M位数据);
(4)正常模式,读出经纠正的N位数据(假定正常模式时,N位数据中的M位数据写入至第二数据阵列模块,M位校验数据写入至ECC阵列模块,则第一M位数据为N位数据中的M位数据,第二M位数据为M位校验数据);
(5)正常模式,读出经纠正的N位数据以及第二M位数据(也延上述(4)中的假定)。
然而,应理解,图5不限制于如上几种读选择控制指令sel_rd_mode。
图5中的读选择控制指令sel_rd_mode也可以包括诸如:
正常模式,读出N-M位数据以及第一M位数据(假定正常模式时,M位校验数据写入至第二数据阵列模块,M位特殊拓扑数据写入至ECC阵列模块,则第一M位数据为M位校验数据,第二M位数据为M位特殊拓扑数据);或者
正常模式,读出N-M位数据位数据、第一M位数据以及第二M位数据(延续上述正常模式的假定);或者
正常模式,读出经纠正的N位数据以及经纠正的第二M位数据(假定正常模式时,N位数据中的M位数据写入至第二数据阵列模块,M位校验数据写入至ECC阵列模块,则第一M位数据为N位数据中的M位数据,第二M位数据为M位校验数据;则ECC解码模块540针对N位数据解码,得到经纠正的N位数据,且针对M位校验数据解码,得到经纠正的第二M位数据);或者
测试模式,读出经纠正的N位数据(假定测试模式时,N位数据中的M位数据写入至第二数据阵列模块,M位校验数据写入至ECC阵列模块,则第一M位数据为N位数据中的M位数据,第二M位数据为M位校验数据);或者
测试模式,读出经纠正的N位数据以及第二M位数据(延续上述测试模式的假定);等等。
在本发明中,根据需要,可以在任意模式中读出N-M位数据、第一M位数据、第二M位数据、经纠正的N位数据、经纠正的第二M位数据(当第二M位数据为M位校验数据时)中的一个或多个。
类似于图4,本发明的图5中将数据阵列模块分成第一数据阵列模块510和第二数据阵列模块520,其中第二数据阵列模块520与ECC阵列模块530的容量相同。另外,引入了读选择模块550,读选择模块550用于选择性地读出N-M位数据、第一M位数据、第二M位数据、经纠正的N位数据、经纠正的第二M位数据(当第二M位数据为M位校验数据时)中的一个或多个。在图5中,存储器通过读选择模块550可以直接地访问到第二数据阵列模块520和ECC阵列模块530。这样,如果需要,可以直接对ECC阵列模块530第二数据阵列模块520和ECC阵列模块530进行读操作,在这两个模块中实现特殊拓扑数据。
图6是根据本发明的一个实施方案的读出方法的流程图。图6中的读出方法如上针对图3所描述的存储器。所述读出方法包括:
步骤S610:ECC解码模块从第一数据阵列模块接收N-M位数据、从第二数据阵列模块接收第一M位数据以及从ECC阵列模块接收第二M位数据,且所述ECC解码模块对所述N-M位数据、所述第一M位数据、所述第二M位数据进行解码,得到经解码的数据;
步骤S620:读选择模块从第一数据阵列模块接收所述N-M位数据、从第二数据阵列接收所述第一M位数据、从ECC阵列模块接收所述第二M位数据以及从ECC解码模块接收所述经解码的数据,且读选择模块根据一个选择控制指令而选择性地输出。
图7是根据本发明的一个实施方案的写入方法的流程图。图7中的写入方法如上针对图4至图5中的任一个所描述的存储器。所述写入方法包括:
步骤S710:ECC编码模块从输入端接收N位数据,对所述N位数据进行编码,得到M位校验数据;
步骤S720:写选择模块从ECC编码模块接收所述M位校验数据以及从所述输入端接收N位数据中的M位数据,且根据一个写选择控制指令而选择性地将所述M位校验数据或者从所述输入端所接收的所述N位数据中的M位数据写入至所述ECC阵列模块或者所述第二数据阵列模块。
本发明提出的存储器及其存储方法可以很容易地直接访问到所述ECC阵列模块或者所述第二数据阵列模块,能够在写操作和读操作的过程中非常灵活地切换多种模式。
本发明中所提出的存储器是存储芯片(例如,ROM、SDRAM、RAM、DRAM、SRAM、FLASH、EPROM、EEPROM、CD-ROM或其他光盘存储装置、磁盘存储装置或其他磁性存储装置),以用于存储数据和/或计算机代码。存储器可以是或包括非瞬态易失性存储器或非易失性存储器等。
应注意,上文所提及的实施方案例示而非限制本发明,且在不脱离所附权利要求的范围的前提下,本领域技术人员将能够设计许多替代实施方案。应理解,本发明的范围由权利要求限定。
Claims (28)
1.一种存储器,其特征在于,包括:
第一数据阵列模块,所述第一数据阵列模块用于存储第一N-M位数据;
第二数据阵列模块,所述第二数据阵列模块用于存储第一M位数据;
纠错码ECC阵列模块,所述第二数据阵列模块与所述ECC阵列模块的容量相同,所述ECC阵列模块用于存储第二M位数据;
ECC处理模块,所述ECC处理模块与所述第一数据阵列模块、所述第二数据阵列模块、所述ECC阵列模块连接,且所述ECC处理模块从所述第一数据阵列模块接收第一N-M位数据、从所述第二数据阵列模块接收第一M位数据以及从所述ECC阵列模块接收第二M位数据,以及所述ECC处理模块对所述第一N-M位数据、所述第一M位数据、所述第二M位数据进行处理,得到经处理的数据;
选择模块,所述选择模块与所述第一数据阵列模块、所述第二数据阵列模块、所述ECC阵列模块、所述ECC处理模块连接,所述选择模块从所述第一数据阵列模块接收所述第一N-M位数据、从所述第二数据阵列接收第一M位数据、从所述ECC阵列模块接收所述第二M位数据以及从所述ECC处理模块接收所述经处理的数据,且根据一个选择控制指令而选择性地进行如下之一的输出:
在测试模式时,输出所述第一N-M位数据以及所述第一M位数据;或者
在测试模式时,输出所述第一N-M位数据、所述第一M位数据以及所述第二M位数据;或者
在测试模式时,输出第一经处理的N位数据以及第一经处理的M位数据;或者
在正常模式时,输出第二经处理的N位数据;或者
在正常模式时,输出第二经处理的N位数据以及第二M位数据;
其中,N、M均为正整数,且N大于M。
2.根据权利要求1所述的存储器,其特征在于,所述选择控制指令为第一读选择控制指令,所述选择模块根据所述第一读选择控制指令输出所述第一N-M位数据以及所述第一M位数据。
3.根据权利要求1或2所述的存储器,其特征在于,所述选择控制指令为第二读选择控制指令,所述选择模块根据所述第二读选择控制指令输出所述第一N-M位数据、所述第一M位数据以及所述第二M位数据。
4.根据权利要求1或2所述的存储器,其特征在于,所述ECC处理模块包括ECC解码模块,所述ECC解码模块对所述第一N-M位数据、所述第一M位数据和所述第二M位数据进行ECC解码,得到第一经纠正的N位数据以及第一经纠正的M位数据,且将所述第一经纠正的N位数据以及所述第一经纠正的M位数据输出至所述选择模块。
5.根据权利要求4所述的存储器,其特征在于,所述选择控制指令为第三读选择控制指令,所述选择模块根据所述第三读选择控制指令输出所述第一经纠正的N位数据以及所述第一经纠正的M位数据。
6.根据权利要求1或2所述的存储器,其特征在于,所述ECC处理模块包括ECC解码模块,所述ECC解码模块根据所述第二M位数据对所述第一N-M位数据和所述第一M位数据进行ECC解码,得到第二经纠正的N位数据,且将所述第二经纠正的N位数据输出至所述选择模块。
7.根据权利要求6所述的存储器,其特征在于,所述选择控制指令为第四读选择控制指令,所述选择模块根据所述第四读选择控制指令输出所述第二经纠正的N位数据。
8.根据权利要求6所述的存储器,其特征在于,所述选择控制指令为第五读选择控制指令,所述选择模块根据所述第五读选择控制指令输出所述第二经纠正的N位数据以及所述第二M位数据。
9.根据权利要求1所述的存储器,其特征在于,所述ECC处理模块包括ECC编码模块,所述ECC编码模块从输入端接收第二N位数据,对所述第二N位数据进行编码,得到第一M位数据,且将所述第一M位数据输出至所述选择模块。
10.根据权利要求9所述的存储器,其特征在于,所述选择模块从输入端接收第二M位数据。
11.根据权利要求10所述的存储器,其特征在于,
所述第二M位数据是所述第二N位数据的一部分。
12.根据权利要求10或11所述的存储器,其特征在于,所述选择控制指令为第一写选择控制指令,所述选择模块根据所述第一写选择控制指令将所述第一M位数据输出至所述ECC阵列模块,以及将所述第二M位数据输出至所述第二数据阵列模块。
13.根据权利要求10或11所述的存储器,其特征在于,所述选择控制指令为第二写选择控制指令,所述选择模块根据所述第二写选择控制指令将所述第一M位数据输出至所述第二数据阵列模块,以及将所述第二M位数据输出至所述ECC阵列模块。
14.一种用于存储器的存储方法,其特征在于,所述存储器包括:第一数据阵列模块,所述第一数据阵列模块用于存储第一N-M位数据;第二数据阵列模块,所述第二数据阵列模块用于存储第一M位数据;纠错码ECC阵列模块,所述ECC阵列模块用于存储第二M位数据,所述第二数据阵列模块与所述ECC阵列模块的容量相同;ECC处理模块,所述ECC处理模块与所述第一数据阵列模块、所述第二数据阵列模块、所述ECC阵列模块连接;以及,选择模块,所述选择模块与所述第一数据阵列模块、所述第二数据阵列模块、所述ECC阵列模块、所述ECC处理模块连接;所述存储方法包括:
所述ECC处理模块从所述第一数据阵列模块接收第一N-M位数据、从所述第二数据阵列模块接收第一M位数据以及从所述ECC阵列模块接收第二M位数据,以及所述ECC处理模块对所述第一N-M位数据、所述第一M位数据、所述第二M位数据进行处理,得到经处理的数据;
所述选择模块从所述第一数据阵列模块接收所述第一N-M位数据、从所述第二数据阵列接收第一M位数据、从所述ECC阵列模块接收所述第二M位数据以及从所述ECC处理模块接收所述经处理的数据,且所述选择模块根据一个选择控制指令而选择性地进行如下之一的输出:
在测试模式时,输出所述第一N-M位数据以及所述第一M位数据;或者
在测试模式时,输出所述第一N-M位数据、所述第一M位数据以及所述第二M位数据;或者
在测试模式时,输出第一经处理的N位数据以及第一经处理的M位数据;或者
在正常模式时,输出第二经处理的N位数据;或者
在正常模式时,输出第二经处理的N位数据以及第二M位数据;
其中,N、M均为正整数,且N大于M。
15.根据权利要求14所述的存储方法,其特征在于,所述存储方法还包括:
当所述选择控制指令为第一读选择控制指令时,所述选择模块根据所述第一读选择控制指令输出所述第一N-M位数据以及所述第一M位数据。
16.根据权利要求14或15所述的存储方法,其特征在于,所述存储方法还包括:
当所述选择控制指令为第二读选择控制指令时,所述选择模块根据所述第二读选择控制指令输出所述第一N-M位数据、所述第一M位数据以及所述第二M位数据。
17.根据权利要求14或15所述的存储方法,其特征在于,所述ECC处理模块包括ECC解码模块;所述存储方法还包括:
所述ECC解码模块对所述第一N-M位数据、所述第一M位数据和所述第二M位数据进行ECC解码,得到第一经纠正的N位数据以及第一经纠正的M位数据,且将所述第一经纠正的N位数据以及所述第一经纠正的M位数据输出至所述选择模块。
18.根据权利要求17所述的存储方法,其特征在于,所述存储方法还包括:
当所述选择控制指令为第三读选择控制指令时,所述选择模块根据所述第三读选择控制指令输出所述第一经纠正的N位数据以及所述第一经纠正的M位数据。
19.根据权利要求14或15所述的存储方法,其特征在于,所述ECC处理模块包括ECC解码模块;所述存储方法还包括:
所述ECC解码模块根据所述第二M位数据对所述第一N-M位数据和所述第一M位数据进行ECC解码,得到第二经纠正的N位数据,且将所述第二经纠正的N位数据输出至所述选择模块。
20.根据权利要求19所述的存储方法,其特征在于,所述存储方法还包括:
当所述选择控制指令为第四读选择控制指令时,所述选择模块根据所述第四读选择控制指令输出所述第二经纠正的N位数据。
21.根据权利要求19所述的存储方法,其特征在于,所述存储方法还包括:
当所述选择控制指令为第五读选择控制指令时,所述选择模块根据所述第五读选择控制指令输出所述第二经纠正的N位数据以及所述第二M位数据。
22.根据权利要求14所述的存储方法,其特征在于,所述ECC处理模块包括ECC编码模块;所述存储方法还包括:
所述ECC编码模块从输入端接收第二N位数据,对所述第二N位数据进行编码,得到第一M位数据,且将所述第一M位数据输出至所述选择模块。
23.根据权利要求22所述的存储方法,其特征在于,所述存储方法还包括:
所述选择模块从输入端接收第二M位数据。
24.根据权利要求23所述的存储方法,其特征在于,所述存储方法还包括:
所述第二M位数据是所述第二N位数据的一部分。
25.根据权利要求23或24所述的存储方法,其特征在于,所述存储方法还包括:
当所述选择控制指令为第一写选择控制指令,所述选择模块根据所述第一写选择控制指令将所述第一M位数据输出至所述ECC阵列模块,以及将所述第二M位数据输出至所述第二数据阵列模块。
26.根据权利要求23或24所述的存储方法,其特征在于,所述存储方法还包括:
当所述选择控制指令为第二写选择控制指令时,所述选择模块根据所述第二写选择控制指令将所述第一M位数据输出至所述第二数据阵列模块,以及将所述第二M位数据输出至所述ECC阵列模块。
27.一种电子设备,其特征在于,所述电子设备包括:
至少一个如权利要求1至13中的任一项所述的存储器;以及
至少一个处理器,所述处理器与所述存储器连接,且所述处理器与所述存储器通过总线进行通信,所述处理器对所述存储器中数据进行处理。
28.一种电子设备,其特征在于,所述电子设备包括:
至少一个存储器,在所述存储器上存储有计算机可执行指令;以及
至少一个处理器,所述处理器与所述存储器连接,且所述处理器与所述存储器通过总线进行通信,当所述处理器执行所述计算机可执行指令时,所述计算机可执行指令使得所述处理器执行根据权利要求14至26中的任一项所述的存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011440154.4A CN112420118B (zh) | 2020-12-11 | 2020-12-11 | 存储器及其存储方法和对应的电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011440154.4A CN112420118B (zh) | 2020-12-11 | 2020-12-11 | 存储器及其存储方法和对应的电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112420118A CN112420118A (zh) | 2021-02-26 |
CN112420118B true CN112420118B (zh) | 2023-08-11 |
Family
ID=74775407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011440154.4A Active CN112420118B (zh) | 2020-12-11 | 2020-12-11 | 存储器及其存储方法和对应的电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112420118B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6848070B1 (en) * | 1999-11-24 | 2005-01-25 | Intel Corporation | Error correcting code scheme |
CN103531246A (zh) * | 2013-10-31 | 2014-01-22 | 西安华芯半导体有限公司 | 快速以读代写的存储器纠错方法 |
CN103594120A (zh) * | 2013-10-31 | 2014-02-19 | 西安华芯半导体有限公司 | 以读代写的存储器纠错方法 |
CN107039086A (zh) * | 2017-05-17 | 2017-08-11 | 西安紫光国芯半导体有限公司 | 具有兼容不同数据长度的纠错功能的存储器和纠错方法 |
CN109767806A (zh) * | 2017-11-09 | 2019-05-17 | 三星电子株式会社 | 自适应错误检查与校正的半导体存储器装置和存储器系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7779334B2 (en) * | 2006-06-26 | 2010-08-17 | Taiwan Semiconductor Manufacturing Company, Ltd. | Memory having an ECC system |
US8914687B2 (en) * | 2011-04-15 | 2014-12-16 | Advanced Micro Devices, Inc. | Providing test coverage of integrated ECC logic en embedded memory |
KR102193682B1 (ko) * | 2014-08-01 | 2020-12-21 | 삼성전자주식회사 | 선택적 ecc 기능을 갖는 반도체 메모리 장치 |
-
2020
- 2020-12-11 CN CN202011440154.4A patent/CN112420118B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6848070B1 (en) * | 1999-11-24 | 2005-01-25 | Intel Corporation | Error correcting code scheme |
CN103531246A (zh) * | 2013-10-31 | 2014-01-22 | 西安华芯半导体有限公司 | 快速以读代写的存储器纠错方法 |
CN103594120A (zh) * | 2013-10-31 | 2014-02-19 | 西安华芯半导体有限公司 | 以读代写的存储器纠错方法 |
CN107039086A (zh) * | 2017-05-17 | 2017-08-11 | 西安紫光国芯半导体有限公司 | 具有兼容不同数据长度的纠错功能的存储器和纠错方法 |
CN109767806A (zh) * | 2017-11-09 | 2019-05-17 | 三星电子株式会社 | 自适应错误检查与校正的半导体存储器装置和存储器系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112420118A (zh) | 2021-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101750662B1 (ko) | 데이터 에러 교정용 회로, 장치, 및 방법 | |
US10803971B2 (en) | Device for supporting error correction code and test method thereof | |
US20090319864A1 (en) | Method and apparatus for dynamically configurable multi level error correction | |
KR101860809B1 (ko) | 메모리 시스템 및 메모리 에러 정정 방법 | |
CN107025948B (zh) | 具有标志位指示数据长度的纠错功能的存储器和纠错方法 | |
US20220004457A1 (en) | Nonvolatile memory device and memory system including nonvolatile memory device | |
US10992322B2 (en) | Data storage system and associated method for saving storage space and eliminating data errors | |
US10790038B2 (en) | Semiconductor apparatus and test system including the semiconductor apparatus | |
US7913110B2 (en) | Electronic circuit with a memory matrix that stores pages including extra data | |
CN108664362B (zh) | 内存镜像的处理方法、内存控制器及用户设备 | |
US7075851B2 (en) | Semiconductor memory device inputting/outputting data and parity data in burst operation | |
CN112420118B (zh) | 存储器及其存储方法和对应的电子设备 | |
US9613717B2 (en) | Error correction circuit and semiconductor memory device including the same | |
CN112466380B (zh) | 存储器及其存储方法 | |
US9361180B2 (en) | Storing data by an ECC memory | |
US10867663B2 (en) | Control method for memory and non-transitory computer-readable media | |
KR20180055148A (ko) | 반도체장치 및 반도체시스템 | |
US20160335157A1 (en) | Semiconductor memory system and data writing method | |
KR102629457B1 (ko) | 반도체 메모리 장치, 제어 장치, 및 메모리 시스템 | |
JP2003100095A (ja) | 半導体集積回路装置 | |
KR20180027655A (ko) | 테스트방법 및 이를 이용한 반도체시스템 | |
US9053772B2 (en) | Method for conducting reference voltage training | |
US11698835B2 (en) | Memory and operation method of memory | |
CN112397133A (zh) | 存储器、阵列单元模块及其存储方法、构建方法 | |
CN115691641A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |