CN107039086B - 具有兼容不同数据长度的纠错功能的存储器和纠错方法 - Google Patents
具有兼容不同数据长度的纠错功能的存储器和纠错方法 Download PDFInfo
- Publication number
- CN107039086B CN107039086B CN201710348736.1A CN201710348736A CN107039086B CN 107039086 B CN107039086 B CN 107039086B CN 201710348736 A CN201710348736 A CN 201710348736A CN 107039086 B CN107039086 B CN 107039086B
- Authority
- CN
- China
- Prior art keywords
- data
- module
- ecc
- length
- array
- 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
- 238000000034 method Methods 0.000 title claims abstract description 34
- 230000006870 function Effects 0.000 title claims abstract description 19
- 230000004044 response Effects 0.000 claims abstract description 27
- 238000001514 detection method Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 12
- 230000035772 mutation Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本发明提供了一种具有纠错功能的存储器,包括:数据阵列、ECC阵列、ECC编码模块、ECC解码模块、第一数据选择模块、第二数据选择模块和数据输出模块,其中,当写入数据时,该第一数据选择模块接收该写入的数据,并且响应于影响数据长度的控制信号来确定是否还接收来自该数据阵列的数据;当读出数据时,该第二数据选择模块响应于影响数据长度的控制信号来控制该数据输出模块输出的数据的长度。本发明还涉及一种存储器纠错方法。
Description
技术领域
本发明涉及一种具有纠错功能的存储器以及一种存储器纠错方法。
背景技术
ECC(Error Correction Code,纠错码)通过在一定长度数据位的基础上增加监督位来检测和纠正出错的数据。具有纠错功能的存储器的常规读写过程如图1和图2所示,其中图1示意性示出了写入过程。数据阵列1用于存储数据,ECC阵列2用于存储ECC的监督位。当从系统将N位数据写入存储器时,将利用此N位数据通过ECC编码模块3生成M位监督位,然后N位数据和M位监督位一起写入相应的存储阵列。其中数据长度N大于0,并小于等于存储器进行一次读写操作的数据长度。监督位长度M大于0,其值取决于选取的ECC算法。
图2示意性示出了读出过程。N位数据和M位监督位被从相应的存储阵列中读出,被放大之后被传送到ECC解码模块4,ECC解码模块4可以对出错的数据进行检测和纠正,并且读出纠正后的N位数据。
从图1的写入过程可以知道,在ECC编码模块3生成M位监督位时,需要数据长度为N的数据位,这是由所选取的ECC算法决定的。但对于存储器来说,其有效的输入数据的长度不是一成不变的,例如动态随机存取存储器DRAM(Dynamic Random Access Memory),其规范里就有规定,当存在突发突变模式(Burst Chop Mode,在下文中简称BC模式)时,其数据长度就会改变,使得数据长度小于N;或者对于不同数据长度的结构,例如在X4,X8,X16等模式下,其数据长度也会随着外部控制而变化,使得数据长度不等于N。但是一旦ECC算法选定,其对应的ECC的编码模块所需要的数据长度是一定的,如果数据长度变化就不能顺利生成ECC的监督位。除非在这些可能遇到的所有限制条件里面找到一个最小的数据长度,根据这个最小的数据长度选择ECC算法,这样就能支持所有模式。如果这个最小的数据长度是8,即使是对于最高效的汉明码来说,最少也需要4位的监督位,这会增加至少50%的存储面积来存储ECC的监督位,这使得存储器的成本大大增加,并降低了ECC算法选取的灵活性和高效性。
因此,需要提供一种兼容不同数据长度的具有纠错功能的存储器。
发明内容
为此,在根据本发明的第一方面,提供了一种具有纠错功能的存储器,其中,包括:数据阵列、ECC阵列、ECC编码模块、ECC解码模块、第一数据选择模块、第二数据选择模块和数据输出模块,其中,当写入数据时:该数据阵列被配置成存储写入的数据;该第一数据选择模块被配置成接收该写入的数据,并且响应于影响数据长度的控制信号来确定是否还接收来自该数据阵列的数据;该ECC编码模块被配置成接收该第一数据选择模块输出的数据,并且根据其内预先设置的ECC算法对该数据进行编码以生成监督位;且该ECC阵列被配置成存储生成的监督位;当读出数据时:该数据阵列被配置成输出存储的数据;该ECC阵列被配置成输出存储的监督位;该ECC解码模块被配置成同时接收该数据阵列输出的数据和该ECC阵列输出的监督位来进行数据的检测和纠正;该第二数据选择模块被配置成响应于影响数据长度的控制信号生成数据输出模块控制信号;该数据输出模块被配置成接收经纠正的数据并且响应于该数据输出模块控制信号来控制该数据输出模块输出的数据的长度。
根据一个优选实施方案,所述影响数据长度的控制信号是与X4、X8、X16模式或者X4、X8以及X16模式之一与突发突变模式的组合模式对应的信号。
根据一个优选实施方案,在写入数据时,若影响数据长度的控制信号有效,则该第一数据选择模块还接收来自该数据阵列的数据,以将来自该数据阵列的数据与写入的数据组合成符合该ECC编码模块内预先设置的ECC算法的数据。
根据一个优选实施方案,在写入数据时,若影响数据长度的控制信号无效,则该第一数据选择模块不接收来自该数据阵列的数据而只接收写入的数据就能够输出符合该ECC编码模块内预先设置的ECC算法的数据。
根据一个优选实施方案,在读出数据时,若该数据输出模块控制信号有效,则该数据输出模块输出的数据的长度不对应于该ECC算法所需要的数据的长度。
根据一个优选实施方案,在读出数据时,若该数据输出模块控制信号无效,则该数据输出模块输出的数据的长度对应于该ECC算法所需要的数据的长度。
在根据本发明的第二方面,提供了一种具有纠错功能的存储器,其中,包括:数据阵列、ECC阵列、ECC编码模块、ECC解码模块、数据选择模块和数据输出模块,其中,当写入数据时:该数据阵列被配置成存储写入的数据;该ECC编码模块被配置成接收来自该数据阵列的数据,并且根据其内预先设置的ECC算法对该数据进行编码以生成监督位;且该ECC阵列被配置成存储生成的监督位;当读出数据时:该数据阵列被配置成输出存储的数据;该ECC阵列被配置成输出存储的监督位;该ECC解码模块被配置成同时接收该数据阵列输出的数据和该ECC阵列输出的监督位来进行数据的检测和纠正;该数据选择模块被配置成响应于影响数据长度的控制信号生成数据输出模块控制信号;该数据输出模块被配置成接收经纠正的数据并且响应于该数据输出模块控制信号来控制该数据输出模块输出的数据的长度。
根据一个优选实施方案,所述影响数据长度的控制信号是与X4、X8、X16模式或者X4、X8以及X16模式之一与突发突变模式的组合模式对应的信号
根据一个优选实施方案,在读出数据时,若该数据输出模块控制信号有效,则该数据输出模块输出的数据的长度不对应于该ECC算法所需要的数据的长度。
根据一个优选实施方案,在读出数据时,若该数据输出模块控制信号无效,则该数据输出模块输出的数据的长度对应于该ECC算法所需要的数据的长度。
在根据本发明的第三方面,提供了一种存储器纠错方法,其中,该存储器包括数据阵列、ECC阵列、ECC编码模块、ECC解码模块、第一数据选择模块、第二数据选择模块和数据输出模块,该存储器纠错方法包括:当写入数据时:将写入的数据存储在该数据阵列中;通过该第一数据选择模块接收该写入的数据,并且通过该第一数据选择模块响应于影响数据长度的控制信号来确定是否还接收来自该数据阵列的数据;通过该ECC编码模块接收该第一数据选择模块输出的数据,并且通过该ECC编码模块根据其内预先设置的ECC算法对该数据进行编码以生成监督位;且将生成的监督位存储在该ECC阵列中;当读出数据时:从该数据阵列输出存储的数据;从该ECC阵列输出存储的监督位;通过该ECC解码模块同时接收该数据阵列输出的数据和该ECC阵列输出的监督位来进行数据的检测和纠正;通过该第二数据选择模块响应于影响数据长度的控制信号生成数据输出模块控制信号;通过该数据输出模块接收经纠正的数据并且响应于该数据输出模块控制信号来控制该数据输出模块输出的数据的长度。
根据一个优选实施方案,所述影响数据长度的控制信号是与X4、X8、X16模式或者X4、X8以及X16模式之一与突发突变模式的组合模式对应的信号。
根据一个优选实施方案,在写入数据时,若影响数据长度的控制信号有效,则该第一数据选择模块还接收来自该数据阵列的数据,以将来自该数据阵列的数据与写入的数据组合成符合该ECC编码模块内预先设置的ECC算法的数据。
根据一个优选实施方案,在写入数据时,若影响数据长度的控制信号无效,则该第一数据选择模块不接收来自该数据阵列的数据而只接收写入的数据就能够输出符合该ECC编码模块内预先设置的ECC算法的数据。
根据一个优选实施方案,在读出数据时,若该数据输出模块控制信号有效,则该数据输出模块输出的数据的长度不对应于该ECC算法所需要的数据的长度。
根据一个优选实施方案,在读出数据时,若该数据输出模块控制信号无效,则该数据输出模块输出的数据的长度对应于该ECC算法所需要的数据的长度。
在根据本发明的第四方面,提供了一种存储器纠错方法,其特征在于,该存储器包括数据阵列、ECC阵列、ECC编码模块、ECC解码模块、数据选择模块和数据输出模块,该存储器纠错方法包括:当写入数据时:将写入的数据存储在该数据阵列中;通过该ECC编码模块接收来自该数据阵列的数据,并且通过该ECC编码模块根据其内预先设置的ECC算法对该数据进行编码以生成监督位;且将生成的监督位存储在该ECC阵列中;当读出数据时:从该数据阵列输出存储的数据;从该ECC阵列输出存储的监督位;通过该ECC解码模块同时接收该数据阵列输出的数据和该ECC阵列输出的监督位来进行数据的检测和纠正;通过该数据选择模块响应于影响数据长度的控制信号生成数据输出模块控制信号;通过该数据输出模块接收经纠正的数据并且响应于该数据输出模块控制信号来控制该数据输出模块输出的数据的长度。
根据一个优选实施方案,所述影响数据长度的控制信号是与X4、X8、X16模式或者X4、X8以及X16模式之一与突发突变模式的组合模式对应的信号。
根据一个优选实施方案,在读出数据时,若该数据输出模块控制信号有效,则该数据输出模块输出的数据的长度不对应于该ECC算法所需要的数据的长度。
根据一个优选实施方案,在读出数据时,若该数据输出模块控制信号无效,则该数据输出模块输出的数据的长度对应于该ECC算法所需要的数据的长度。
根据本发明所述的存储器和存储器纠错方法至少具有以下优点:适用于任何ECC算法,增加了ECC算法选取的灵活性和高效性;可兼容不同数据长度;不受突发突变模式、X4、X8和X16模式的影响;可以减少功耗;以及不会影响到常规的写入操作和读出操作的功能和时序。
附图说明
本发明的优点和特征通过如下的参照附图描述的实施方案会变得明显,在附图中:
图1示意性示出了存储器的写入过程;
图2示意性示出了存储器的读出过程;
图3示意性示出了根据本发明的具有纠错功能的存储器的第一种写入过程;
图4示意性示出了根据本发明的具有纠错功能的存储器的第二种写入过程;以及
图5示意性示出了根据本发明的具有纠错功能的存储器的读出过程。
具体实施方式
应当理解,此处所描述的具体实施例仅是为了便于更好地理解本发明,而并非限制本发明。
现在将参照图3和图5详细描述根据本发明的第一方面的具有纠错功能的存储器以及该存储器的读写过程。
该存储器总体包括数据阵列1、ECC阵列2、ECC编码模块3、ECC解码模块4、第一数据选择模块5、第二数据选择模块6和数据读出模块7。当写入数据时:该数据阵列1被配置成存储写入的数据A;该第一数据选择模块5被配置成接收该写入的数据A,并且响应于影响数据长度的控制信号(例如,与X4、X8、X16模式或者X4、X8以及X16模式之一与BC模式的组合模式对应的信号,以及其他未示出的可以影响到数据长度的控制信号)来确定是否还接收来自该数据阵列1的数据B;该ECC编码模块3被配置成接收该第一数据选择模块5输出的数据C,并且根据其内预先设置的ECC算法对该数据C进行编码以生成监督位;且该ECC阵列2被配置成存储生成的监督位。当读出数据时:该数据阵列1被配置成输出存储的数据(例如,N位数据);该ECC阵列2被配置成输出存储的监督位(例如,M位监督位);该ECC解码模块4被配置成同时接收该数据阵列输出的数据和该ECC阵列输出的监督位来进行数据的检测和纠正;该第二数据选择模块被配置成响应于影响数据长度的控制信号(例如,与X4、X8、X16模式或者X4、X8以及X16模式之一与BC模式的组合模式对应的信号,以及其他未示出的可以影响到数据长度的控制信号)生成数据输出模块控制信号;该数据输出模块7被配置成接收经纠正的数据(例如,N位数据)并且响应于该数据输出模块控制信号来控制该数据输出模块7输出的数据的长度。
更具体而言,在写入数据时,若影响数据长度的控制信号有效(换言之,当与X4、X8、X16模式或者X4、X8以及X16模式之一与BC模式的组合模式对应的信号令数据A的长度不等于预先设置的ECC算法的数据长度时),则该第一数据选择模块5还接收来自该数据阵列1的数据B,以将来自该数据阵列1的数据B与写入的数据A组合成符合该ECC编码模块3内预先设置的ECC算法的数据。举例而言,若与该预先设置的ECC算法对应的数据长度为N位,则当写入的数据A为K位数据时(换言之,当与X4、X8、X16模式或者X4、X8以及X16模式之一与BC模式的组合模式对应的信号令数据A的长度为K时),该第一数据选择模块5还接收来自该数据阵列的N-K位数据,并且将该K位数据与该N-K位数据组合成符合该ECC编码模块3内预先设置的ECC算法的N位数据C。如图3所示,对于地址1,该第一数据选择模块5接收写入的K1(K1=N/2)位数据且还接收来自该数据阵列的N-K1位数据;对于地址2,该第一数据选择模块5接收写入的K2(K2=3*N/4)位数据且还接收来自该数据阵列的N-K2位数据。
若影响数据长度的控制信号无效(换言之,当与X4、X8、X16模式或者X4、X8以及X16模式之一与BC模式的组合模式对应的信号令数据A的长度等于预先设置的ECC算法的数据长度时),则该第一数据选择模块5只接收写入的数据A而不接收来自该数据阵列1的数据B就能够输出符合该ECC编码模块3内预先设置的ECC算法的数据。举例而言,若与该预先设置的ECC算法对应的数据长度为N位,则当与X4、X8、X16模式或者X4、X8以及X16模式之一与BC模式的组合模式对应的信号令数据A的长度为N时,该第一数据选择模块5只接收写入的数据A就能够输出符合该ECC编码模块3内预先设置的ECC算法的N位数据C。如图3所示,对于地址0,第一数据选择模块5只接收N位数据A而不接收来自该数据阵列1的数据B。
在读出数据时,M位监督位和N位数据都被同时读出传送到ECC解码模块4来进行数据的检测和纠正。若该数据输出控制信号有效(换言之,当与X4、X8、X16模式或者X4、X8以及X16模式之一与BC模式的组合模式对应的信号令数据A的长度不等于预先设置的ECC算法的数据长度时),则该数据输出模块7输出的数据的长度不对应于该ECC算法所需要的数据的长度,如图5所示,对于地址1,该数据输出模块7输出K1位数据;对于地址2,该数据输出模块7输出K2位数据。在读出数据时,若该数据输出模块控制信号无效(换言之,当与X4、X8、X16模式或者X4、X8以及X16模式之一与BC模式的组合模式对应的信号令数据A的长度等于预先设置的ECC算法的数据长度时),则该数据输出模块7输出的数据的长度对应于该ECC算法所需要的数据的长度,如图5所示,对于地址0,该数据输出模块7输出N位数据。
现在将参照图4和图5详细描述根据本发明的第二方面的具有纠错功能的存储器以及该存储器的读写过程。根据本发明的第二方面的具有纠错功能的存储器与根据本发明的第一方面的具有纠错功能的存储器相比仅写入过程不同。
该存储器总体包括数据阵列1、ECC阵列2、ECC编码模块3、ECC解码模块4、数据选择模块6(其对应于关于本发明的第一方面所述的第二数据选择模块)和数据读出模块7。当写入数据时:该数据阵列1被配置成存储写入的数据A;该ECC编码模块3被配置成接收来自数据阵列的数据(该数据的长度对应于ECC编码模块3中预先存储的ECC算法所需要的数据的长度,例如N位)并且对该数据进行编码以生成监督位;且该ECC阵列2被配置成存储生成的监督位(例如,M位监督位)。当读出数据时:该数据阵列1被配置成输出存储的数据(例如,N位数据);该ECC阵列2被配置成输出存储的监督位(例如,M位监督位);该ECC解码模块4被配置成同时接收该数据阵列1输出的数据和该ECC阵列2输出的监督位来进行数据的检测和纠正;该数据选择模块6被配置成响应于影响数据长度的控制信号(例如,与X4、X8、X16模式或者X4、X8以及X16模式之一与BC模式的组合模式对应的信号,以及其他可以影响数据长度的控制信号)生成数据输出模块控制信号;该数据输出模块7被配置成接收经纠正的数据并且响应于该数据输出模块控制信号来控制该数据输出模块7输出的数据的长度。
更具体而言,在写入数据时,无论写入的数据A是否为N位数据,该ECC编码模块3所需要的N位数据输入都来自该数据阵列1。如图4所示,对于地址0、地址1和地址2,该ECC编码模块3接收N位数据。
由于根据本发明的第二方面的具有纠错功能的存储器的读出过程与根据本发明的第一方面的具有纠错功能的存储器的读出过程相同,因此不再详述根据本发明的第二方面的具有纠错功能的存储器的读出过程。
需要说明的是,上面所提到的地址0、地址1和地址2仅是为了指示不同的地址,不是存储器的真正的地址0、1和2。与N不一致的数据长度也不仅限于K1=N/2和K2=3*N/4两种,任何与N不一致的数据长度均适用。
对本发明的以上描述,并不旨在是穷举性的或限于所公开的确切形式。尽管出于例示目的在本文中描述了本发明的具体实施方案和实施例,但是在不偏离本发明的精神和范围的前提下,还可能有多种等同改型。
Claims (16)
1.一种具有纠错功能的存储器,其特征在于,包括:数据阵列、ECC阵列、ECC编码模块、ECC解码模块、第一数据选择模块、第二数据选择模块和数据输出模块,其中,
当写入数据时:该数据阵列被配置成存储写入的数据;该第一数据选择模块被配置成接收该写入的数据,并且响应于影响数据长度的控制信号来确定是否还接收来自该数据阵列的数据,其中该影响数据长度的控制信号有效指示该写入的数据的长度不等于该ECC编码模块内预先设置的ECC算法所需要的数据长度,其中该影响数据长度的控制信号无效指示该写入的数据的长度等于该ECC编码模块内预先设置的ECC算法所需要的数据长度;该ECC编码模块被配置成接收该第一数据选择模块输出的数据,并且根据其内预先设置的ECC算法对该数据进行编码以生成监督位;且该ECC阵列被配置成存储生成的监督位;
当读出数据时:该数据阵列被配置成输出存储的数据;该ECC阵列被配置成输出存储的监督位;该ECC解码模块被配置成同时接收该数据阵列输出的数据和该ECC阵列输出的监督位来进行数据的检测和纠正;该第二数据选择模块被配置成响应于影响数据长度的控制信号生成数据输出模块控制信号;该数据输出模块被配置成接收经纠正的数据并且响应于该数据输出模块控制信号来控制该数据输出模块输出的数据的长度。
2.根据权利要求1所述的存储器,其特征在于,所述影响数据长度的控制信号是与X4、X8、X16模式或者X4、X8以及X16模式之一与突发突变模式的组合模式对应的信号。
3.根据权利要求1或2所述的存储器,其特征在于,在写入数据时,若影响数据长度的控制信号有效,则该第一数据选择模块还接收来自该数据阵列的数据,以将来自该数据阵列的数据与写入的数据组合成符合该ECC编码模块内预先设置的ECC算法的数据。
4.根据权利要求1或2所述的存储器,其特征在于,在写入数据时,若影响数据长度的控制信号无效,则该第一数据选择模块不接收来自该数据阵列的数据而只接收写入的数据就能够输出符合该ECC编码模块内预先设置的ECC算法的数据。
5.根据权利要求1或2所述的存储器,其特征在于,在读出数据时,若该数据输出模块控制信号有效,则该数据输出模块输出的数据的长度不对应于该ECC算法所需要的数据的长度。
6.根据权利要求1或2所述的存储器,其特征在于,在读出数据时,若该数据输出模块控制信号无效,则该数据输出模块输出的数据的长度对应于该ECC算法所需要的数据的长度。
7.一种具有纠错功能的存储器,其特征在于,包括:数据阵列、ECC阵列、ECC编码模块、ECC解码模块、数据选择模块和数据输出模块,其中,
当写入数据时:该数据阵列被配置成存储写入的数据;该ECC编码模块被配置成接收来自该数据阵列的数据,并且根据其内预先设置的ECC算法对该数据进行编码以生成监督位;且该ECC阵列被配置成存储生成的监督位;
当读出数据时:该数据阵列被配置成输出存储的数据;该ECC阵列被配置成输出存储的监督位;该ECC解码模块被配置成同时接收该数据阵列输出的数据和该ECC阵列输出的监督位来进行数据的检测和纠正;该数据选择模块被配置成响应于影响数据长度的控制信号生成数据输出模块控制信号,其中在读出数据时,若该数据输出模块控制信号有效,则该数据输出模块输出的数据的长度不对应于该ECC算法所需要的数据的长度,若该数据输出模块控制信号无效,则该数据输出模块输出的数据的长度对应于该ECC算法所需要的数据的长度;该数据输出模块被配置成接收经纠正的数据并且响应于该数据输出模块控制信号来控制该数据输出模块输出的数据的长度。
8.根据权利要求7所述的存储器,其特征在于,所述影响数据长度的控制信号是与X4、X8、X16模式或者X4、X8以及X16模式之一与突发突变模式的组合模式对应的信号。
9.一种存储器纠错方法,其特征在于,该存储器包括数据阵列、ECC阵列、ECC编码模块、ECC解码模块、第一数据选择模块、第二数据选择模块和数据输出模块,该存储器纠错方法包括:
当写入数据时:将写入的数据存储在该数据阵列中;通过该第一数据选择模块接收该写入的数据,并且通过该第一数据选择模块响应于影响数据长度的控制信号来确定是否还接收来自该数据阵列的数据,其中该影响数据长度的控制信号有效指示该写入的数据的长度不等于该ECC编码模块内预先设置的ECC算法所需要的数据长度,其中该影响数据长度的控制信号无效指示该写入的数据的长度等于该ECC编码模块内预先设置的ECC算法所需要的数据长度;通过该ECC编码模块接收该第一数据选择模块输出的数据,并且通过该ECC编码模块根据其内预先设置的ECC算法对该数据进行编码以生成监督位;且将生成的监督位存储在该ECC阵列中;
当读出数据时:从该数据阵列输出存储的数据;从该ECC阵列输出存储的监督位;通过该ECC解码模块同时接收该数据阵列输出的数据和该ECC阵列输出的监督位来进行数据的检测和纠正;通过该第二数据选择模块响应于影响数据长度的控制信号生成数据输出模块控制信号;通过该数据输出模块接收经纠正的数据并且响应于该数据输出模块控制信号来控制该数据输出模块输出的数据的长度。
10.根据权利要求9所述的存储器纠错方法,其特征在于,所述影响数据长度的控制信号是与X4、X8、X16模式或者X4、X8以及X16模式之一与突发突变模式的组合模式对应的信号。
11.根据权利要求9或10所述的存储器纠错方法,其特征在于,在写入数据时,若影响数据长度的控制信号有效,则该第一数据选择模块还接收来自该数据阵列的数据,以将来自该数据阵列的数据与写入的数据组合成符合该ECC编码模块内预先设置的ECC算法的数据。
12.根据权利要求9或10所述的存储器纠错方法,其特征在于,在写入数据时,若影响数据长度的控制信号无效,则该第一数据选择模块不接收来自该数据阵列的数据而只接收写入的数据就能够输出符合该ECC编码模块内预先设置的ECC算法的数据。
13.根据权利要求9或10所述的存储器纠错方法,其特征在于,在读出数据时,若该数据输出模块控制信号有效,则该数据输出模块输出的数据的长度不对应于该ECC算法所需要的数据的长度。
14.根据权利要求9或10所述的存储器纠错方法,其特征在于,在读出数据时,若该数据输出模块控制信号无效,则该数据输出模块输出的数据的长度对应于该ECC算法所需要的数据的长度。
15.一种存储器纠错方法,其特征在于,该存储器包括数据阵列、ECC阵列、ECC编码模块、ECC解码模块、数据选择模块和数据输出模块,该存储器纠错方法包括:
当写入数据时:将写入的数据存储在该数据阵列中;通过该ECC编码模块接收来自该数据阵列的数据,并且通过该ECC编码模块根据其内预先设置的ECC算法对该数据进行编码以生成监督位;且将生成的监督位存储在该ECC阵列中;
当读出数据时:从该数据阵列输出存储的数据;从该ECC阵列输出存储的监督位;通过该ECC解码模块同时接收该数据阵列输出的数据和该ECC阵列输出的监督位来进行数据的检测和纠正;通过该数据选择模块响应于影响数据长度的控制信号生成数据输出模块控制信号,其中在读出数据时,若该数据输出模块控制信号有效,则该数据输出模块输出的数据的长度不对应于该ECC算法所需要的数据的长度,若该数据输出模块控制信号无效,则该数据输出模块输出的数据的长度对应于该ECC算法所需要的数据的长度;通过该数据输出模块接收经纠正的数据并且响应于该数据输出模块控制信号来控制该数据输出模块输出的数据的长度。
16.根据权利要求15所述的存储器纠错方法,其特征在于,所述影响数据长度的控制信号是与X4、X8、X16模式或者X4、X8以及X16模式之一与突发突变模式的组合模式对应的信号。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710348736.1A CN107039086B (zh) | 2017-05-17 | 2017-05-17 | 具有兼容不同数据长度的纠错功能的存储器和纠错方法 |
US15/982,297 US10761930B2 (en) | 2017-05-17 | 2018-05-17 | Memory with error correction function that is compatible with different data length and an error correction method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710348736.1A CN107039086B (zh) | 2017-05-17 | 2017-05-17 | 具有兼容不同数据长度的纠错功能的存储器和纠错方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107039086A CN107039086A (zh) | 2017-08-11 |
CN107039086B true CN107039086B (zh) | 2024-08-30 |
Family
ID=59537604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710348736.1A Active CN107039086B (zh) | 2017-05-17 | 2017-05-17 | 具有兼容不同数据长度的纠错功能的存储器和纠错方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10761930B2 (zh) |
CN (1) | CN107039086B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108519928A (zh) * | 2018-03-31 | 2018-09-11 | 北京联想核芯科技有限公司 | 一种动态调整ecu的处理方法和装置 |
US10963336B2 (en) | 2019-08-29 | 2021-03-30 | Micron Technology, Inc. | Semiconductor device with user defined operations and associated methods and systems |
US11042436B2 (en) * | 2019-08-29 | 2021-06-22 | Micron Technology, Inc. | Semiconductor device with modified access and associated methods and systems |
US11200118B2 (en) | 2019-08-29 | 2021-12-14 | Micron Technology, Inc. | Semiconductor device with modified command and associated methods and systems |
CN111352876B (zh) | 2020-02-29 | 2021-07-27 | 苏州浪潮智能科技有限公司 | 一种Redriver芯片编码误改写监控系统及方法 |
CN111506452B (zh) * | 2020-04-21 | 2023-04-28 | 记忆科技(深圳)有限公司 | 数据存储保护方法、装置、计算机设备及存储介质 |
CN112466380B (zh) * | 2020-12-11 | 2023-08-11 | 西安紫光国芯半导体有限公司 | 存储器及其存储方法 |
CN112420118B (zh) * | 2020-12-11 | 2023-08-11 | 西安紫光国芯半导体有限公司 | 存储器及其存储方法和对应的电子设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN207165240U (zh) * | 2017-05-17 | 2018-03-30 | 西安紫光国芯半导体有限公司 | 具有兼容不同数据长度的纠错功能的存储器 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005327437A (ja) * | 2004-04-12 | 2005-11-24 | Nec Electronics Corp | 半導体記憶装置 |
KR100827662B1 (ko) * | 2006-11-03 | 2008-05-07 | 삼성전자주식회사 | 반도체 메모리 장치 및 이 장치의 데이터 오류 검출 및정정 방법 |
US7861014B2 (en) * | 2007-08-31 | 2010-12-28 | International Business Machines Corporation | System for supporting partial cache line read operations to a memory module to reduce read data traffic on a memory channel |
US9323608B2 (en) * | 2012-06-07 | 2016-04-26 | Micron Technology, Inc. | Integrity of a data bus |
KR102002925B1 (ko) * | 2012-11-01 | 2019-07-23 | 삼성전자주식회사 | 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법 |
US9588840B2 (en) * | 2013-04-18 | 2017-03-07 | Samsung Electronics Co., Ltd. | Memory devices that perform masked write operations and methods of operating the same |
CN103594120B (zh) * | 2013-10-31 | 2018-08-21 | 西安紫光国芯半导体有限公司 | 以读代写的存储器纠错方法 |
US10140175B2 (en) * | 2015-11-20 | 2018-11-27 | Qualcomm Incorporated | Protecting an ECC location when transmitting correction data across a memory link |
US10331517B2 (en) * | 2016-08-26 | 2019-06-25 | Qualcomm Incorporated | Link error correction in memory system |
-
2017
- 2017-05-17 CN CN201710348736.1A patent/CN107039086B/zh active Active
-
2018
- 2018-05-17 US US15/982,297 patent/US10761930B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN207165240U (zh) * | 2017-05-17 | 2018-03-30 | 西安紫光国芯半导体有限公司 | 具有兼容不同数据长度的纠错功能的存储器 |
Also Published As
Publication number | Publication date |
---|---|
US20180336094A1 (en) | 2018-11-22 |
US10761930B2 (en) | 2020-09-01 |
CN107039086A (zh) | 2017-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107039086B (zh) | 具有兼容不同数据长度的纠错功能的存储器和纠错方法 | |
CN107025948B (zh) | 具有标志位指示数据长度的纠错功能的存储器和纠错方法 | |
US10467091B2 (en) | Memory module, memory system including the same, and error correcting method thereof | |
KR101750662B1 (ko) | 데이터 에러 교정용 회로, 장치, 및 방법 | |
KR101860809B1 (ko) | 메모리 시스템 및 메모리 에러 정정 방법 | |
US11164651B2 (en) | Semiconductor devices and semiconductor systems including the same | |
US7477563B2 (en) | Dynamic random access memory device and associated refresh cycle | |
US10665317B2 (en) | Method of ECC encoding a DRAM and a DRAM | |
US20090319864A1 (en) | Method and apparatus for dynamically configurable multi level error correction | |
CN109542666B (zh) | 用于支持纠错码的装置及其测试方法 | |
US10949294B2 (en) | Method of correcting an error in a memory array in a DRAM during a read operation and a DRAM | |
US8977944B2 (en) | DRAM address protection | |
US11354189B2 (en) | Semiconductor devices and semiconductor systems including the same | |
US10062452B2 (en) | Semiconductor memory device and operating method thereof | |
JP2007066423A (ja) | 半導体集積回路装置 | |
US11881277B2 (en) | Memory device and operating method thereof | |
KR20190033410A (ko) | 오류 정정 코드를 지원하는 장치 및 그것의 테스트 방법 | |
US7075851B2 (en) | Semiconductor memory device inputting/outputting data and parity data in burst operation | |
US10180877B2 (en) | Selective error correction in a data storage device | |
US10665297B2 (en) | Memory systems for memory devices and methods of operating the memory systems | |
KR102629457B1 (ko) | 반도체 메모리 장치, 제어 장치, 및 메모리 시스템 | |
US11276451B2 (en) | Error correction methods and semiconductor devices and semiconductor systems using the same | |
CN112420118B (zh) | 存储器及其存储方法和对应的电子设备 | |
US11921578B2 (en) | Error correction methods and semiconductor devices and semiconductor systems using the error correction methods and the semiconductor devices | |
CN112466380B (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 |