CN104317525B - 一种随机存储器的扩展方法及装置 - Google Patents
一种随机存储器的扩展方法及装置 Download PDFInfo
- Publication number
- CN104317525B CN104317525B CN201410490508.4A CN201410490508A CN104317525B CN 104317525 B CN104317525 B CN 104317525B CN 201410490508 A CN201410490508 A CN 201410490508A CN 104317525 B CN104317525 B CN 104317525B
- Authority
- CN
- China
- Prior art keywords
- ecc
- data
- random access
- access memory
- bit
- 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
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种随机存储器的扩展装置,包括带有ECC校验位接口的随机存储器;两个ECC产生和控制器,用来产生ECC校验位和纠正发生错误的比特;ECC读处理模块,用来和主设备进行数据交互传递,并可将数据分为高比特部分和低比特部分,并分别与两个ECC产生和控制器进行数据交互传递;ECC写处理模块,用来同时与两个随机存储器、ECC产生和控制器进行数据交互,将两个ECC产生和控制器传递过来的数据和校验位进行处理;还可将从随机存储器得到的数据发送到ECC读处理模块。本发明的积极效果是:可实现将两个随机存储器扩展为具有双倍数据位宽和具有双倍检错,纠错能力的随机存储器,提高了开发设计的速度。
Description
技术领域
本发明属于计算机随机存储器技术领域,尤其是涉及一种随机存储器的扩展方法及装置。
背景技术
随着处理器技术和现代工艺的进步,处理器的运算速度越来越快,性能越来越强,同时处理器对随机存储器的容量和准确度也有了越来越高的要求。但是,新的技术和工艺的发展往往需要很长的周期,这样,仅仅依靠工艺和技术的发展来满足处理器对随机存储器的要求是远远不够的。因此,通过尽可能的复用原有IP,扩展其容量和ECC的功能可以加快开发和设计的速度。
发明内容
本发明要解决的问题是提供一种随机存储器的扩展方法及装置。
为解决上述技术问题,本发明采用的技术方案是:
一种随机存储器的扩展方法,
当向随机存储器写数据时:
将接收的主设备的数据分成高位部分和低位部分,
将高位部分和低位部分分别进行处理产生新的ECC校验位;
将数据和得到的新的ECC校验位进行综合处理,形成可纠正双倍数据比特和检测双倍比特ECC校验位的数据,并将数据分为高比特部分和低比特部分,并分别写入带有ECC校验位的两个随机存储器;
当向随机存储器读数据时:
同时从两个随机存储器中读取对应地址的数据和ECC校验位,后恢复出按上述写操作过程中的高比特部分和低比特部分;
将从两个随机存储器直接传递的数据和ECC校验位,与上步恢复后得到的数据和ECC校验位进行比较:
当读回的数据没有错误或恢复了原来正确数据的,则将读回的数据直接返回给主设备;
当前数据发生了一个不可修复的错误,此时将标记错误出现,并通知主设备此时发生了一个不可恢复的随机存储器的错误;
当高比特部分和低比特部分中只有一个发生错误,则可通过从两个随机存储器直接传递的数据和校验位,恢复高比特部分和低比特部分的正确数据。
一种随机存储器的扩展装置,包括:
随机存储器,为带有ECC校验位接口的随机存储器,用来存储主设备发送过来的数据和ECC比特位;
ECC扩展装置,用来将两个随机存储器通过较少的额外控制逻辑扩展为具有双倍数据位宽和具有双倍检错、纠错能力的随机存储器,包括两个ECC产生和控制器、ECC写处理模块和ECC读处理模块:
其中所述两个ECC产生和控制器,用来产生ECC校验位和纠正发生错误的比特,并可以提示主设备产生了不可纠正的错误;
其中所述ECC读处理模块,用来和主设备进行数据交互传递,并可将数据分为高比特部分和低比特部分,并分别与两个ECC产生和控制器进行数据交互传递;
所述ECC写处理模块,用来同时与两个随机存储器、ECC产生和控制器进行数据交互,将两个ECC产生和控制器传递过来的数据和校验位进行处理;还可将从随机存储器得到的数据发送到ECC读处理模块。
本发明具有的优点和积极效果是:
本发明方法和装置均可实现将两个随机存储器扩展为具有双倍数据位宽和具有双倍检错,纠错能力的随机存储器;这样可以在不改变原来设计的条件下扩展原来随机存储器的位宽,极大的复用了原有的IP,提高了开发设计的速度。
附图说明
图1是本发明一种随机存储器的扩展方法及装置的结构示意图。
具体实施方式
提出了一种可以很好的复用较少容量和较少位数的ECC的随机存储器,在较少的额外开销的前提下,扩展其原有的数据位宽和其ECC校验码的位数。下面结合附图对本发明的具体实施例做详细说明。
本发明一种随机存储器的扩展方法,包含:
当向随机存储器写数据时:
将接收的主设备的数据分成高位部分和低位部分,
将高位部分和低位部分分别进行处理产生新的ECC校验位;
将数据和得到的新的ECC校验位进行综合处理,形成可纠正双倍数据比特和检测双倍比特ECC校验位的数据,并将数据分为高比特部分和低比特部分,并分别写入带有ECC校验位的两个随机存储器;
当向随机存储器读数据时:
同时从两个随机存储器中读取对应地址的数据和ECC校验位,后恢复出按上述写操作过程中的高比特部分和低比特部分;
将从两个随机存储器直接传递的数据和ECC校验位,与上步恢复后得到的数据和ECC校验位进行比较:
当读回的数据没有错误或恢复了原来正确数据的,则将读回的数据直接返回给主设备;
当前数据发生了一个不可修复的错误,此时将标记错误出现,并通知主设备此时发生了一个不可恢复的随机存储器的错误;
当高比特部分和低比特部分中只有一个发生错误,则可通过从两个随机存储器直接传递的数据和校验位,恢复高比特部分和低比特部分的正确数据
一种随机存储器的扩展装置,如图1所示包括
随机存储器,为带有ECC校验位接口的随机存储器,用来存储主设备发送过来的数据和ECC比特位;
ECC扩展装置,用来将两个随机存储器通过较少的额外控制逻辑扩展为具有双倍数据位宽和具有双倍检错、纠错能力的随机存储器,包括两个ECC产生和控制器、ECC写处理模块和ECC读处理模块:
其中所述两个ECC产生和控制器,用来产生ECC校验位和纠正发生错误的比特,并可以提示主设备产生了不可纠正的错误;
其中所述ECC读处理模块,用来和主设备进行数据交互传递,并可将数据分为高[N-1:0]比特和低[N-1:0]比特分别与两个ECC产生和控制器进行数据交互传递;
所述ECC写处理模块,用来同时与两个随机存储器、ECC产生和控制器进行数据交互,将两个ECC产生和控制器传递过来的数据和校验位进行处理;还可将从随机存储器得到的数据发送到ECC读处理模块。
本发明随机存储器的扩展装置,当主设备发起一次对随机存储器的宽度为[2N-1:0]的写操作时,处理过程如下:
1)ECC读处理模块接收来自主设备的数据位宽为[2N-1:0]的数据,同时检测到此次操作为一次写操作:如此次为半字或者字节写,则先读出该地址原有数据和ECC校验位,然后再将所要写入的位置的数据用新数据替换;若为字操作,则不作任何处理;然后将数据分为高[N-1:0]比特和低[N-1:0]比特分别传递给两个ECC产生和控制器;
2)ECC产生和控制器根据ECC读处理模块传递下来的数据产生新的ECC校验位比特,并将其结果传递给ECC写处理模块;
3)ECC写处理模块综合处理来自两个ECC产生和控制器传递过来的数据和ECC校验位,同时检测到此次操作为写操作,然后经过ECC检错和纠错处理之后形成可纠正2m比特和检测2p比特的ECC校验数据,并将这些数据分为高[N+n-1:0]比特和低[N+n-1:0]比特分别写入带有ECC校验位的两个随机存储器。
本发明随机存储器的扩展装置,当主设备发起一次对随机存储器的宽度为[2N-1:0]的读操作时,处理过程如下:
1)ECC写处理模块从带有ECC校验位接口的两个随机存储器中读取对应地址的数据和ECC校验位,同时检测到此次操作为读操作:ECC写处理模块则根据读回的2n-1比特ECC校验码,恢复出原来在ECC产生和控制器规则下的高[n-1]比特ECC校验码和低[n-1]比特ECC校验码,并将其分别送回两个各自的ECC产生和控制器;同时,将读回的可纠正2m比特和检测2p(p为m的2倍)比特的2n-1比特ECC校验数据送回给ECC读处理模块;
2)两个ECC产生和控制器分别根据ECC写处理模块传递过来的数据判断当前数据是否正确,并将处理结果及数据传递给ECC读处理模块;
3)ECC读处理模块检测到此次操作为读操作,同时接收来自ECC产生和控制器的数据及数据处理结果,和来自ECC写处理模块的2n-1比特的ECC校验码;ECC读处理模块综合处理ECC产生和控制器传递过来的结果:当读回的数据没有错误或经过ECC产生和控制器后已经恢复了原来正确数据的,ECC读处理模块则将读回的数据直接返回给主设备;若两个ECC产生和控制器返回的结果都含有错误标志,则表明当前数据发生了一个不可修复的错误,此时ECC读处理模块会将错误标志置高,并通知主设备此时发生了一个不可恢复的随机存储器的错误;如果两个ECC产生和控制器返回的结果中只有一个含有错误标志,那么则说明这个ECC产生和控制器所处理的数据产生了一个p位的错误,这时,就可以利用从ECC写处理模块中传递过来的2n-1位的ECC校验码来修正发生错误的p比特数据了。
从上述过程可以看出,经过本发明的ECC扩展装置之后,原本可修正m比特错误、检测p比特错误的N位宽的随机存储器,被扩展成了2N-1位宽的、可修正最多3m比特错误(其中2m位在一个ECC产生和控制器的范围,而另m比特在另一个ECC产生和控制器的范围)、检测2p比特错误的带有ECC功能的随机存储器。这样就达到了尽可能的利用原有IP,扩展随机存储器的容量、位宽和ECC的目的,可极大地加快芯片的开发和设计效率。
以上对本发明的实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。
Claims (2)
1.一种随机存储器的扩展方法,其特征在于:
当向随机存储器写数据时:
将接收的主设备的数据分成高位部分和低位部分,
将高位部分和低位部分分别进行处理产生新的ECC校验位;
将数据和得到的新的ECC校验位进行综合处理,形成可纠正双倍数据比特和检测双倍比特ECC校验位的数据,并将数据分为高比特部分和低比特部分,并分别写入带有ECC校验位的两个随机存储器;
当向随机存储器读数据时:
同时从两个随机存储器中读取对应地址的数据和ECC校验位,后恢复出按上述写操作过程中的高比特部分和低比特部分;
将从两个随机存储器直接传递的数据和ECC校验位,与上步恢复后得到的数据和ECC校验位进行比较:
当读回的数据没有错误或恢复了原来正确数据的,则将读回的数据直接返回给主设备;
当前数据发生了一个不可修复的错误,此时将标记错误出现,并通知主设备此时发生了一个不可恢复的随机存储器的错误;
当高比特部分和低比特部分中只有一个发生错误,则可通过从两个随机存储器直接传递的数据和校验位,恢复高比特部分和低比特部分的正确数据。
2.一种随机存储器的扩展装置,其特征在于包括:
随机存储器,为带有ECC校验位接口的随机存储器,用来存储主设备发送过来的数据和ECC比特位;
ECC扩展装置,用来将两个随机存储器通过较少的额外控制逻辑扩展为具有双倍数据位宽和具有双倍检错、纠错能力的随机存储器,包括两个ECC产生和控制器、ECC写处理模块和ECC读处理模块:
其中所述两个ECC产生和控制器,用来产生ECC校验位和纠正发生错误的比特,并可以提示主设备产生了不可纠正的错误;
其中所述ECC读处理模块,用来和主设备进行数据交互传递,并可将数据分为高比特部分和低比特部分,并分别与两个ECC产生和控制器进行数据交互传递;
所述ECC写处理模块,用来同时与两个随机存储器、ECC产生和控制器进行数据交互,将两个ECC产生和控制器传递过来的数据和校验位进行处理;还可将从随机存储器得到的数据发送到ECC读处理模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410490508.4A CN104317525B (zh) | 2014-09-23 | 2014-09-23 | 一种随机存储器的扩展方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410490508.4A CN104317525B (zh) | 2014-09-23 | 2014-09-23 | 一种随机存储器的扩展方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104317525A CN104317525A (zh) | 2015-01-28 |
CN104317525B true CN104317525B (zh) | 2017-08-11 |
Family
ID=52372761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410490508.4A Active CN104317525B (zh) | 2014-09-23 | 2014-09-23 | 一种随机存储器的扩展方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104317525B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106373616B (zh) * | 2015-07-23 | 2020-02-07 | 深圳市中兴微电子技术有限公司 | 一种检测随机存储器故障的方法、装置和网络处理器 |
CN114116530B (zh) * | 2021-12-06 | 2022-09-13 | 海光信息技术股份有限公司 | 存储控制方法及装置、数据处理方法及装置以及存储介质 |
CN116594924B (zh) * | 2023-05-19 | 2023-10-24 | 无锡众星微系统技术有限公司 | 一种片上ecc存储器的访问方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064163A (zh) * | 2007-04-13 | 2007-10-31 | 清华大学 | 蓝光多阶光存储装置、编解码方法以及装置 |
CN101425993A (zh) * | 2007-10-30 | 2009-05-06 | 索尼株式会社 | 数据处理设备和方法 |
CN102171659A (zh) * | 2008-12-18 | 2011-08-31 | 英特尔公司 | 非易失性存储器中的数据错误恢复 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005004290A (ja) * | 2003-06-10 | 2005-01-06 | Hitachi Ltd | メモリ障害処理方式 |
JP2006323434A (ja) * | 2005-05-17 | 2006-11-30 | Nec Corp | データ処理装置及びそのメモリ訂正方法 |
-
2014
- 2014-09-23 CN CN201410490508.4A patent/CN104317525B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064163A (zh) * | 2007-04-13 | 2007-10-31 | 清华大学 | 蓝光多阶光存储装置、编解码方法以及装置 |
CN101425993A (zh) * | 2007-10-30 | 2009-05-06 | 索尼株式会社 | 数据处理设备和方法 |
CN102171659A (zh) * | 2008-12-18 | 2011-08-31 | 英特尔公司 | 非易失性存储器中的数据错误恢复 |
Also Published As
Publication number | Publication date |
---|---|
CN104317525A (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102190683B1 (ko) | 메모리 데이터 에러 정정 방법 | |
CN101609418A (zh) | 在具有共享错误位码的共同帧中传送数据和数据屏蔽位的系统 | |
CN103531246B (zh) | 快速以读代写的存储器纠错方法 | |
CN104932951B (zh) | 一种nand闪存出现ecc无法纠错时的数据恢复方法 | |
CN104317525B (zh) | 一种随机存储器的扩展方法及装置 | |
US20140082264A1 (en) | Nand flash storage chip checking method and device | |
US9830218B2 (en) | Cache memory with fault tolerance | |
CN108665939B (zh) | 为存储器提供ecc的方法与装置 | |
CN103218271B (zh) | 一种数据纠错方法及装置 | |
CN103594120A (zh) | 以读代写的存储器纠错方法 | |
CN111625199B (zh) | 提升固态硬盘数据通路可靠性的方法、装置、计算机设备及存储介质 | |
WO2022047266A1 (en) | Automated error correction with memory refresh | |
CN106980466A (zh) | 数据存储装置及其操作方法 | |
GB2491495A (en) | Reference cells for spin torque based memory device | |
CN209105195U (zh) | 电路 | |
US9037948B2 (en) | Error correction for memory systems | |
CN102760109A (zh) | 数据的通信方法、装置及系统 | |
CN103942119A (zh) | 一种存储器错误的处理方法和装置 | |
TWI247985B (en) | Method and circuit for command integrity checking (CIC) in a graphics controller | |
CN104182292A (zh) | 一种数据存储方法及装置 | |
US20120226957A1 (en) | Controller, data storage device and program product | |
JP2011028478A (ja) | 誤り訂正回路、誤り訂正方法 | |
US10579470B1 (en) | Address failure detection for memory devices having inline storage configurations | |
US10997040B1 (en) | System and method for weight based data protection | |
US12002532B2 (en) | Command/address channel error detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |