CN111736760B - 一种动态随机存储方法及系统 - Google Patents

一种动态随机存储方法及系统 Download PDF

Info

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
Application number
CN202010392926.5A
Other languages
English (en)
Other versions
CN111736760A (zh
Inventor
汤云平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rockchip Electronics Co Ltd
Original Assignee
Rockchip Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Rockchip Electronics Co Ltd filed Critical Rockchip Electronics Co Ltd
Priority to CN202010392926.5A priority Critical patent/CN111736760B/zh
Publication of CN111736760A publication Critical patent/CN111736760A/zh
Application granted granted Critical
Publication of CN111736760B publication Critical patent/CN111736760B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-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接口分别用于接收同时返回的数据和纠错码,并将数据和纠错码分别存储。
CN202010392926.5A 2020-05-11 2020-05-11 一种动态随机存储方法及系统 Active CN111736760B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106527993A (zh) * 2016-11-09 2017-03-22 北京搜狐新媒体信息技术有限公司 一种分布式系统中的海量文件储存方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
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
WO2013145617A1 (ja) * 2012-03-29 2013-10-03 パナソニック株式会社 情報処理装置、情報処理方法及び情報記憶媒体
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 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
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
US7275189B2 (en) Memory module and method for operating a memory module in a data memory system
CN102394112B (zh) 改善存储装置的可靠性、可用性及可维修性
US11347444B2 (en) Memory device for controlling operations according to different access units of memory
US11170868B2 (en) Semiconductor memory devices and memory systems
US20060245226A1 (en) Fully buffered DIMM architecture and protocol
KR20190012566A (ko) 에러 정정 기능을 갖는 메모리 시스템, 메모리 모듈 및 메모리 컨트롤러의 동작 방법
EP1989712A2 (en) Systems, methods, and apparatuses for using the same memory type to support an error check mode and a non-error check mode
EP2926341A1 (en) Memory controllers to form symbols based on bursts
CN100550189C (zh) 存储数据的方法、映射事务的装置和写数据线的方法
KR20210051668A (ko) 메모리 컨트롤러, 메모리 시스템 및 메모리 모듈
CN112540867A (zh) 存储模块以及存储控制器的纠错方法
US11841763B2 (en) Semiconductor memory devices with ECC engine defect determination based on test syndrome, test parity, expected decoding status and received decoding status
US8045405B2 (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
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