CN111736760B - 一种动态随机存储方法及系统 - Google Patents
一种动态随机存储方法及系统 Download PDFInfo
- Publication number
- CN111736760B CN111736760B CN202010392926.5A CN202010392926A CN111736760B CN 111736760 B CN111736760 B CN 111736760B CN 202010392926 A CN202010392926 A CN 202010392926A CN 111736760 B CN111736760 B CN 111736760B
- Authority
- CN
- China
- Prior art keywords
- error correction
- data
- groups
- codes
- bits
- 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
Images
Classifications
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/1068—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 in sector programmable memories, e.g. flash disk
-
- 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/0658—Controller construction arrangements
-
- 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
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Dram (AREA)
Abstract
一种动态随机存储方法及系统,其中包括如下步骤,当芯片的DDR控制器发出单笔burst读数据请求时,返回每组32bit,共8组数据;控制ECC纠错码按照每两组32bit合并纠错一次生成纠错码,单笔burst读数据请求返回4组纠错码。通过上述方案控制burst存储过程中每64bit生成一次纠错码,能够使得原生数据与纠错码的空间占用比例提高到8比1,从而达到了提高DRAM存储空间的技术效果。
Description
技术领域
本发明涉及动态存储技术领域,尤其涉及一种能够减少纠错码占用的动态存储方式。
背景技术
动态随机存储器(DRAM)的数据单元可能受各类因素影响,导致数据位出错,进而影响系统的稳定性。为了解决类似问题,需要引入纠错机制,目前技术采用的是ECC纠错。ECC是“Error Correcting Code”的简写,ECC是一种能够实现“错误检查和纠正”的技术,ECC内存就是应用了这种技术的内存,一般多应用在服务器及图形工作站上,可提高计算机运行的稳定性和增加可靠性。对于ECC*纠错算法,每32bit的数据就需要额外占用7bit的数据单元来保存,每64bit的数据就需要额外占用8bit的数据单元来保存,以此类推。这将导致实际DDR可用容量下降,性价比较低。并且为了不影响DDR的带宽,ECC纠错码都需要额外IO进行传输,这增加了芯片成本以及客户板级设计的难度。
发明内容
为此,需要提供一种新的适配burst存储的存储及纠错方法,能够达到提高有效数据存储空间的技术效果;
为实现上述目的,发明人提供了一种动态随机存储方法,包括如下步骤,当芯片的DDR控制器发出burst读数据请求时,返回每组32bit,共8组数据;控制ECC纠错码按照每两组32bit合并纠错一次生成纠错码,每一个时钟周期内的burst读数据请求返回4组纠错码。
具体地,每次纠错码等分成两份短码,分别随两组的32bit数据返回。
一种动态随机存储系统,包括DDR控制器模块、返回模块、纠错模块,所述DDR控制器模块用于发出burst读数据请求,所述返回模块用于返回每组32bit,共8组数据,所述纠错模块用于按照每两组32bit合并纠错一次生成纠错码,每一个时钟周期内的burst读数据请求返回4组纠错码。
具体地,所述纠错模块还用于将每次的纠错码等分成两份短码,分别随两组的32bit数据返回。
具体地,还包括主控芯片,所述主控芯片包括32个数据IO接口和4个纠错码IO接口,所述数据IO接口和纠错码IO接口分别用于接收同时返回的数据和纠错码,并将数据和纠错码分别存储。
通过上述方案控制burst存储过程中每64bit生成一次纠错码,能够使得原生数据与纠错码的空间占用比例提高到8比1,从而达到了提高DRAM存储空间的技术效果。
附图说明
图1为本发明一实施方式所述的动态随机存储方法流程图;
图2为本发明一实施方式所述的动态随机存储系统模块图;
图3为本发明一实施方式所述的主控芯片连接图。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
在通过主控芯片向DRAM颗粒通过burst模式读取数据的领域,通行做法是每个时钟周期内burst读数据是按照32bit*8来获取数据,同时需要对应生成8组7bit的ecc纠错码,获取到的数据和ecc纠错码需要存储在不同的内存颗粒,因此需要通过不同的IO接口来保证同时传输。我们的发明人发现在这种模式下,获取到的数据占用主控芯片中的32根IO线,ecc纠错码的传输需要占7根,由于DRAM颗粒没有奇数IO的,为了与常规装置适配,必须要占用8根IO接口,只不过第8根不接入数据。这些常规设置都是为了适配burst的数据吞吐,已经形成了一种技术偏见。这种设置下主控芯片总IO是40根或39根。则数据与纠错码的接口占用比值达到了4:1。对于数据来说,如果为了得到4Gb的有效寻址容量,则纠错码的存储容量则能够达到1G的容量。
为此,这里请参阅图1,为本发明一种动态随机存储方法,包括如下步骤,S100当芯片的DDR控制器发出单笔burst读数据请求时,返回每组32bit,共8组数据;控制ECC纠错码按照每两组32bit合并纠错一次生成纠错码,单笔burst读数据请求返回4组纠错码。通过设计burst数据读取中两个32bit对应生成一次纠错码,可以相当于32bit对应的纠错码只有4bit。因此将数据与纠错码的数据容量占比提高到了8:1。在一些具体的实施例中,还进行步骤,S102将每次纠错码等分成两份短码,分别随两组的32bit数据返回。即每次返回的纠错码只有4bit。当然需要注意,4bit的ecc并不能用于校验32bit数据,我们在校验环节还可以进行步骤,S104将关联的两个4bit的ecc纠错码合并为8bit纠错码,来校验关联的两笔32bit组成的64bit数据。这样主控芯片上的IO管脚设计中,数据仍然占用32跟的IO线,但是纠错码的IO管脚只需要占用到4根。这种控制逻辑下,相当于节省了4根的IO管脚。降低了芯片板上排布设计的难度,可以缩小芯片尺寸,并节省存储数据的DRAM颗粒所需贴片的容量。
综上,请看图2我们还提供一种动态随机存储系统,包括DDR控制器模块200、返回模块202、纠错模块204,所述DDR控制器模块用于发出单笔burst读数据请求,所述返货模块用于返回每组32bit,共8组数据,所述纠错模块用于按照每两组32bit合并纠错一次生成纠错码,单笔burst读数据请求返回4组纠错码。
具体地,所述纠错模块还用于将每次的纠错码等分成两份短码,分别随两组的32bit数据返回。
具体如图3所示的实施例中,还包括主控芯片SOC,我们可以看到主控芯片与数据存储器DRAM1和ECC寄存器DRAM2连接。所述主控芯片包括32个数据IO接口和4个纠错码IO接口,所述数据IO接口和纠错码IO接口分别与DRAM1和DRAM2连接,用于接收同时返回的数据和纠错码,并将数据和纠错码分别存储。
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。
Claims (3)
1.一种动态随机存储方法,其特征在于,包括如下步骤,当芯片的DDR控制器发出burst读数据请求时,返回每组32bit,共8组数据;控制ECC纠错码按照每两组32bit合并纠错一次生成纠错码,每一个时钟周期内的burst读数据请求返回4组纠错码,每次纠错码等分成两份短码,分别随两组的32bit数据返回。
2.一种动态随机存储系统,其特征在于,包括DDR控制器模块、返回模块、纠错模块,所述DDR控制器模块用于发出burst读数据请求,所述返回模块用于返回每组32bit,共8组数据,所述纠错模块用于按照每两组32bit合并纠错一次生成纠错码,每一个时钟周期内的burst读数据请求返回4组纠错码,所述纠错模块还用于将每次的纠错码等分成两份短码,分别随两组的32bit数据返回。
3.根据权利要求2所述的动态随机存储系统,其特征在于,还包括主控芯片,所述主控芯片包括32个数据IO接口和4个纠错码IO接口,所述数据IO接口和纠错码IO接口分别用于接收同时返回的数据和纠错码,并将数据和纠错码分别存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010392926.5A CN111736760B (zh) | 2020-05-11 | 2020-05-11 | 一种动态随机存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010392926.5A CN111736760B (zh) | 2020-05-11 | 2020-05-11 | 一种动态随机存储方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111736760A CN111736760A (zh) | 2020-10-02 |
CN111736760B true CN111736760B (zh) | 2022-05-13 |
Family
ID=72647042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010392926.5A Active CN111736760B (zh) | 2020-05-11 | 2020-05-11 | 一种动态随机存储方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111736760B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106527993A (zh) * | 2016-11-09 | 2017-03-22 | 北京搜狐新媒体信息技术有限公司 | 一种分布式系统中的海量文件储存方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100416057B1 (ko) * | 2000-08-23 | 2004-01-31 | 주식회사 대우일렉트로닉스 | 고밀도 디브이디에서 단연집 오류정정을 위한 인터리빙 방법 |
US7477522B2 (en) * | 2006-10-23 | 2009-01-13 | International Business Machines Corporation | High density high reliability memory module with a fault tolerant address and command bus |
US9377969B2 (en) * | 2012-03-29 | 2016-06-28 | Panasonic Intellectual Property Management Co., Ltd. | Information processing device, information processing method, and information storage medium, including storage of information indicating which medium among plural media has a recording failure area and a position in the medium of the recording failure area |
CN103198020B (zh) * | 2013-03-18 | 2016-05-25 | 山东华芯半导体有限公司 | 一种提高闪存使用寿命的方法 |
CN105468935A (zh) * | 2015-11-13 | 2016-04-06 | 福州瑞芯微电子股份有限公司 | 一种保证key安全烧录的方法、发送端、工具端及烧录端 |
KR20190086921A (ko) * | 2018-01-15 | 2019-07-24 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
-
2020
- 2020-05-11 CN CN202010392926.5A patent/CN111736760B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106527993A (zh) * | 2016-11-09 | 2017-03-22 | 北京搜狐新媒体信息技术有限公司 | 一种分布式系统中的海量文件储存方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111736760A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11854658B2 (en) | Memory buffer with data scrambling and error correction | |
US10684793B2 (en) | Semiconductor memory devices including error correction circuits and methods of operating the semiconductor memory devices | |
EP2035938B1 (en) | Improving reliability, availability, and serviceability in a memory device | |
US7275189B2 (en) | Memory module and method for operating a memory module in a data memory system | |
US11170868B2 (en) | Semiconductor memory devices and memory systems | |
US20210011629A1 (en) | Memory device | |
EP1989712A2 (en) | Systems, methods, and apparatuses for using the same memory type to support an error check mode and a non-error check mode | |
CN112540867B (zh) | 存储模块以及存储控制器的纠错方法 | |
WO2014084855A1 (en) | Memory controllers to form symbols based on bursts | |
KR20210051668A (ko) | 메모리 컨트롤러, 메모리 시스템 및 메모리 모듈 | |
CN100550189C (zh) | 存储数据的方法、映射事务的装置和写数据线的方法 | |
US20220405165A1 (en) | Semiconductor memory devices | |
US20080184002A1 (en) | Memory system, memory device and command protocol | |
CN111736760B (zh) | 一种动态随机存储方法及系统 | |
CN115016981B (zh) | 存储区域的设置方法、数据读取、写入方法及相关装置 | |
TW505849B (en) | A system for producing and testing SIMM memory modules by utilizing ARAM memory chips | |
US20240272836A1 (en) | Control circuit, memory device including the same, and method | |
CN112699066B (zh) | 一种内存寻址切分方法及装置 | |
US20240202069A1 (en) | Memory controller and memory system including the same | |
WO2024123711A1 (en) | In-package error correction for multi-die memory stacks | |
CN117632783A (zh) | 一种基于ate设备的地址分裂的方法 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 350003 building 18, No.89, software Avenue, Gulou District, Fuzhou City, Fujian Province Applicant after: Ruixin Microelectronics Co.,Ltd. Address before: 350003 building 18, No.89, software Avenue, Gulou District, Fuzhou City, Fujian Province Applicant before: FUZHOU ROCKCHIP ELECTRONICS Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |