CN107239361A - 数据处理装置及数据处理方法 - Google Patents

数据处理装置及数据处理方法 Download PDF

Info

Publication number
CN107239361A
CN107239361A CN201610188091.5A CN201610188091A CN107239361A CN 107239361 A CN107239361 A CN 107239361A CN 201610188091 A CN201610188091 A CN 201610188091A CN 107239361 A CN107239361 A CN 107239361A
Authority
CN
China
Prior art keywords
data
ecc
particle
particles
correction verification
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.)
Granted
Application number
CN201610188091.5A
Other languages
English (en)
Other versions
CN107239361B (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.)
Guangdong Gaohang Intellectual Property Operation Co ltd
Nanjing Advanced Biomaterials And Process Equipment Research Institute Co ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610188091.5A priority Critical patent/CN107239361B/zh
Priority to EP16896613.3A priority patent/EP3428800A1/en
Priority to PCT/CN2016/108290 priority patent/WO2017166845A1/zh
Priority to KR1020187030859A priority patent/KR20180123148A/ko
Publication of CN107239361A publication Critical patent/CN107239361A/zh
Priority to US16/148,478 priority patent/US20190034271A1/en
Application granted granted Critical
Publication of CN107239361B publication Critical patent/CN107239361B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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/1048Adding 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
    • 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/1064Adding 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 cache or content addressable memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明实施例提供一种数据处理装置和数据处理方法,该数据处理装置的内存和CPU集成在一个封装上,该数据处理装置包括数据颗粒,差错校验纠正ECC颗粒,双倍速率同步动态随机存储器DDR控制器,DDR物理接口PHY,数据颗粒和ECC颗粒为数据位宽相同的DDR颗粒,DDR PHY与数据颗粒和ECC颗粒的数据接口连接,DDR控制器包括第一校验模块、第二校验模块和缓存模块,第一校验模块和第二校验模块分别与缓存模块连接,第一校验模块和第二校验模块的第一类接口通过DDR PHY与数据颗粒的数据接口连接,第一校验模块和第二校验模块的第二类接口通过DDR PHY与ECC颗粒的数据接口连接。本发明实施例提高了校验效果,充分利用了ECC的存储空间。

Description

数据处理装置及数据处理方法
技术领域
本发明实施例涉及计算机领域,并且更具体地,涉及一种数据处理装置及数据处理方法。
背景技术
内存是数据处理装置(该数据处理装置可以是一个CPU系统)的重要组成部分,在现有数据处理装置中,常采用双倍速率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random Access Memory,DDR)介质作为内存来存放CPU运行所需的代码和数据。在一些对可靠性要求较高的场合,数据处理装置中还增加了差错校验纠正机制(Error Checking andCorrecting,ECC),使得整个数据处理装置在工作时趋于安全稳定。在一些对内存带宽需求很高,而CPU SoC封装出pin受限的场景中常用内存合封的方案。下面结合图1至图3对内存合封场景下的数据处理装置进行详细的描述。
如图1所示,CPU与DDR颗粒合封在一起构成数据处理装置,该数据处理装置通过将CPU和DDR颗粒合封在一起,这样就能在CPU SoC封装出的管脚不足的情况下满足内存访问带宽的需求。如图2所示,由于合封的数据处理装置的空间比较有限,一般采用3D堆叠的方式来放置这些DDR颗粒,考虑到散热或者其它因素,DDR颗粒堆放的层数在5层以内比较合适。由于堆放的层数不能过多,为了达到规定的数据位宽,需要采用数据位宽较大的DDR颗粒。例如,如果一个数据处理装置要达到64位的数据位宽,那么需要采用5片数据位宽均为16位的数据颗粒,如图3所示。四片DDR颗粒作为数据颗粒,提供64位的数据位宽,另一个DDR颗粒作为ECC颗粒用来存对数据进行校验时产生的ECC代码。一般来说,利用8位ECC校验码就可以实现对64位数据的校验,因此,在ECC颗粒中,只有一半的存储空间用于存储ECC校验码,而另一半存储处于空闲状态,没有被利用起来。
发明内容
本申请提供一种数据处理装置,以充分利用数据存储装置中的ECC颗粒的存储空间。
第一方面,提供一种数据处理装置,所述数据处理装置的内存和CPU集成在一个封装上,所述数据处理装置包括数据颗粒,差错校验纠正ECC颗粒,双倍速率同步动态随机存储器DDR控制器,DDR物理接口PHY,所述数据颗粒和所述ECC颗粒为数据位宽相同的DDR颗粒,所述DDRPHY与所述数据颗粒和所述ECC颗粒的数据接口连接,且所述DDR PHY的DDR接口的数据位宽为所述数据颗粒和所述ECC颗粒的数据位宽之和,所述DDR控制器通过所述DDR PHY与所述数据颗粒和ECC颗粒的数据接口连接,其中,所述数据颗粒的数据总位宽为k位,k=2n,n为大于等于4的整数;所述DDR控制器包括第一校验模块、第二校验模块和缓存模块,所述第一校验模块和所述第二校验模块分别与所述缓存模块连接,所述第一校验模块和第二校验模块的第一类接口通过所述DDR PHY与所述数据颗粒的数据接口连接,所述第一校验模块和所述第二校验模块的第二类接口通过所述DDR PHY与所述ECC颗粒的数据接口连接;所述第一校验模块用于从所述缓存模块获取第一组数据,对所述第一组数据进行ECC校验,产生k/8位ECC校验码,并通过所述第一校验模块的第一类接口将所述第一组数据存储在所述数据颗粒中,通过所述第一校验模块的第二类接口将所述k/8位ECC校验码存储在所述ECC颗粒中;所述第二校验模块用于从所述缓存模块获取第二组数据,对所述第二组数据进行ECC校验,产生另外k/8位ECC校验码,并通过所述第二校验模块的第一类接口将所述第二组数据存储在所述数据颗粒中,通过所述第二校验模块第二类接口将所述另外k/8位ECC校验码存储在所述ECC颗粒中,其中,所述第一组数据和第二组数据均包含k/2位缓存数据。
对于现有的数据处理装置来说,在将CPU和内存封装在一起时往往会有一些ECC颗粒的存储空间处于空闲状态,没有充分利用起来,造成了存储空间的浪费。而本申请中的数据处理装置的两个校验模块分别通过DDRPHY分别数据颗粒和ECC颗粒的数据接口相连,能将缓存数据分成两组进行ECC校验,这样能采用更多的校验码对缓存数据进行校验,能取得更好的校验效果,此外,通过将多产生的ECC校验码存储在ECC颗粒中,充分利用了ECC颗粒的存储空间。
结合第一方面,在第一方面的第一种实现方式中,n=6,所述数据颗粒为4片数据位宽均为16位的DDR颗粒,所述ECC颗粒为1片数据位宽为16位的DDR颗粒;所述第一校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第一数据颗粒和第二数据颗粒的数据接口连接,所述第二校验模块的第一类接口通过所述DDRPHY与所述数据颗粒中的第三数据颗粒和第四数据颗粒的数据接口连接;所述第一校验模块用于从所述缓存模块获取32位数据,对所述32位数据进行ECC校验,产生8位ECC校验码,并通过所述第一校验模块的第一类接口将所述32位数据存储在所述第一数据颗粒和第二数据颗粒中,通过所述第一校验模块的第二类接口将所述8位ECC校验码存储在所述ECC颗粒中;所述第二校验模块用于从所述缓存模块获取另外32位数据,对所述另外32位数据进行ECC校验,产生另外8位ECC校验码,并通过所述第二校验模块的第一类接口将所述另外32位数据存储在所述第三数据颗粒和第四数据颗粒中,通过所述第二校验模块的第二类接口将所述另外8位ECC校验码存储在所述ECC颗粒中。结合第一方面,在第一方面的第二种实现方式中,n=5,所述数据颗粒为2片数据位宽均为16位的DDR颗粒,所述ECC颗粒为1片数据位宽为16位的DDR颗粒;所述第一校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第一数据颗粒的数据接口连接,所述第二校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第二数据颗粒的数据接口连接;所述第一校验模块用于从所述缓存模块获取16位数据,对所述16位数据进行ECC校验,产生8位ECC校验码,并通过所述第一校验模块的第一类接口将所述16位数据存储在所述第一数据颗粒中,通过所述第一校验模块的第二类接口将所述8位ECC校验码存储在所述ECC颗粒中;所述第二校验模块用于从所述缓存模块获取另外16位数据,对所述另外16位数据进行ECC校验,产生另外8位ECC校验码,并通过所述第二校验模块的第一类接口将所述16位数据存储在所述第二数据颗粒中,通过所述第二校验模块的第二类接口将所述另外8位ECC校验码存储在所述ECC颗粒中。
与现有的数据处理装置相比,本发明的数据处理装置通过产生另外的8位ECC校验码能够在存储数据时产生更好的校验效果,相比于现有的数据处理装置中每64bit单元可以纠正1bit错误和检测2bit以上的错误,本发明的数据处理装置中每64bit单元可以纠正2bit错误和检测4bit以上的错误。另外,将多出的8位ECC校验码存储在ECC颗粒中也充分利用了ECC颗粒的存储空间。
结合第一方面,在第一方面的第二种实现方式中,n=5,所述数据颗粒为2片数据位宽均为16位的DDR颗粒,所述ECC颗粒为1片数据位宽为16位的DDR颗粒;所述第一校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第一数据颗粒的数据接口连接,所述第二校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第二数据颗粒的数据接口连接;所述第一校验模块用于从所述缓存模块获取16位数据,对所述16位数据进行ECC校验,产生8位ECC校验码,并通过所述第一校验模块的第一类接口将所述16位数据存储在所述第一数据颗粒中,通过所述第一校验模块的第二类接口将所述8位ECC校验码存储在所述ECC颗粒中;所述第二校验模块用于从所述缓存模块获取另外16位数据,对所述另外16位数据进行ECC校验,产生另外8位ECC校验码,并通过所述第二校验模块的第一类接口将所述16位数据存储在所述第二数据颗粒中,通过所述第二校验模块的第二类接口将所述另外8位ECC校验码存储在所述ECC颗粒中。
结合第一方面,在第一方面的第三种实现方式中,n=5,所述数据颗粒为4片数据位宽均为8位的DDR颗粒,所述ECC颗粒为1片数据位宽为8位的DDR颗粒;所述第一校验模块的第一类接口通过所述DDRPHY与所述数据颗粒中的第一数据颗粒和第二数据颗粒的数据接口连接,所述第二校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第三数据颗粒和第四数据颗粒的数据接口连接;所述第一校验模块用于从所述缓存模块获取16位数据,对所述16位数据进行ECC校验,产生4位ECC校验码,并通过所述第一校验模块的第一类接口将所述16位数据存储在所述第一数据颗粒和所述第二数据颗粒中,通过所述第一校验模块的第二类接口将所述4位ECC校验码存储在所述ECC颗粒中;所述第二校验模块用于从所述缓存模块获取另外16位数据,对所述另外16位数据进行ECC校验,产生另外4位ECC校验码,并通过所述第二校验模块的第一类接口将所述16位数据存储在所述第三数据颗粒和第四数据颗粒中,通过所述第二校验模块的第二类接口将所述另外4位ECC校验码存储在所述ECC颗粒中。
第二方面,提供一种数据处理装置,所述数据处理装置的内存和CPU集成在一个封装上,所述数据处理装置包括数据颗粒,差错校验纠正ECC颗粒,双倍速率同步动态随机存储器DDR控制器,DDR物理接口PHY,所述数据颗粒和所述ECC颗粒为数据位宽相同的DDR颗粒,所述DDRPHY与所述数据颗粒和所述ECC颗粒的数据接口连接,且所述DDR PHY的DDR接口的数据位宽为所述数据颗粒和所述ECC颗粒的数据位宽之和,所述DDR控制器通过所述DDR PHY与所述数据颗粒和ECC颗粒的数据接口连接,其中,所述数据颗粒的数据总位宽为k位,k=2n,n为大于等于4的整数,所述数据颗粒用于存储CPU运行所需的数据;所述DDR控制器包括校验模块和缓存模块,所述校验模块通过所述DDRPHY与所述数据颗粒的数据接口和所述ECC颗粒的数据接口连接,所述校验模块还与所述缓存模块连接;所述校验模块用于从所述缓存模块获取k+m位缓存数据,对所述k+m位缓存数据进行ECC校验,产生1+k/8位ECC校验码,将所述k位缓存数据存储在所述数据颗粒中,将所述1+k/8位ECC校验码和m位缓存数据存储在所述ECC颗粒中,其中0<m<k/8,且m为整数。
对于现有的数据处理装置来说,在将CPU和内存封装在一起时往往会有一些ECC颗粒的存储空间处于空闲状态,没有充分利用起来,造成了存储空间的浪费。而本申请中的数据处理装置中,校验模块通过DDR PHY与数据颗粒和ECC颗粒的全部数据接口连接,校验模块可以从缓存模块获取k+m位缓存数据,并产生1+k/8位ECC校验码,并将1+k/8位ECC校验码和m位缓存数据存储在ECC颗粒中,相对于现有技术中的ECC颗粒只存储k/8位ECC校验码的数据处理装置来说,本申请中的数据处理装置中的ECC颗粒可以多存储一些缓存数据和一些校验码,充分利用了ECC颗粒的存储空间。
结合第二方面,在第二方面的第一种实现方式中,n=6,所述数据颗粒为4片数据位宽均为16位的DDR颗粒,所述ECC颗粒为1片数据位宽为16位的DDR颗粒;所述校验模块用于从所述缓存模块获取64+m位缓存数据,对所述64+m位缓存数据进行ECC校验,产生9位ECC校验码,将所述64位缓存数据存储在所述数据颗粒中,将所述9位ECC校验码和m位缓存数据存储在所述ECC颗粒中,其中0<m<8,且m为整数。
结合第二方面,在第二方面的第二种实现方式中,n=5,所述数据颗粒为2片数据位宽均为16位的DDR颗粒,所述ECC颗粒为1片数据位宽为16位的DDR颗粒;所述校验模块用于从所述缓存模块获取32+m位缓存数据,对所述32+m位缓存数据进行ECC校验,产生9位ECC校验码,将所述32位缓存数据存储在所述数据颗粒中,将所述9位ECC校验码和m位缓存数据存储在所述ECC颗粒中,其中0<m<8,且m为整数。
结合第二方面,以及第二方面的第一种至第二种实现方式中的任意一种,在第二方面的第三种实现方式中,所述m位缓存数据为所述CPU缓存的TAG信息和/或目录信息。
第三方面,提供一种处理数据的方法,所述方法应用于数据处理装置,所述方法应用于数据处理装置,所述数据处理装置内存和CPU集成在一个封装上,所述数据处理装置包括数据颗粒,差错校验纠正ECC颗粒,双倍速率同步动态随机存储器DDR控制器,DDR物理接口PHY,所述数据颗粒和所述ECC颗粒为数据位宽相同的DDR颗粒,所述DDR PHY与所述数据颗粒和所述ECC颗粒的数据接口连接,且所述DDR PHY的DDR接口的数据位宽为所述数据颗粒和所述ECC颗粒的数据位宽之和,所述DDR控制器通过所述DDR PHY与所述数据颗粒和ECC颗粒的数据接口连接,其中,所述数据颗粒的数据总位宽为k位,k=2n,n为大于等于4的整数,所述DDR控制器包括第一校验模块、第二校验模块和缓存模块,所述第一校验模块和所述第二校验模块分别与所述缓存模块连接,所述第一校验模块和第二校验模块的第一类接口通过所述DDRPHY与所述数据颗粒的数据接口连接,所述第一校验模块和所述第二校验模块的第二类接口通过所述DDR PHY与所述ECC颗粒的数据接口连接;所述第一校验模块从所述缓存模块获取第一组数据,对所述第一组数据进行ECC校验,产生k/8位ECC校验码,并通过所述第一校验模块的第一类接口将所述第一组数据存储在所述数据颗粒中,通过所述第一校验模块的第二类接口将所述k/8位ECC校验码存储在所述ECC颗粒中;所述第二校验模块从所述缓存模块获取第二组数据,对所述第二组数据进行ECC校验,产生另外k/8位ECC校验码,并通过所述第二校验模块的第一类接口将所述第二组数据存储在所述数据颗粒中,通过所述第二校验模块第二类接口将所述另外k/8位ECC校验码存储在所述ECC颗粒中,其中,所述第一组数据和第二组数据均包含k/2位缓存数据。
现有的数据处理装置在处理数据时,由于ECC颗粒的存储空间的数据接口并没有全部与DDR控制器连接,因此,在操作或者处理数据时往往会导致一些ECC颗粒的存储空间处于空闲状态,没有充分利用起来,造成了存储空间的浪费。而本申请的处理数据的方法所应用的数据处理装置的两个校验模块分别通过DDR PHY分别数据颗粒和ECC颗粒的全部数据接口相连,这样在处理数据时就可以将缓存数据分成两组进行ECC校验,这样能采用更多的校验码对缓存数据进行校验,能取得更好的校验效果,此外,通过将多产生的ECC校验码存储在ECC颗粒中,充分利用了ECC颗粒的存储空间。
结合第三方面,在第三方面的第一种实现方式中,n=6,所述数据颗粒为4片数据位宽均为16位的DDR颗粒,所述ECC颗粒为1片数据位宽为16位的DDR颗粒,所述第一校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第一数据颗粒和第二数据颗粒的数据接口连接,所述第二校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第三数据颗粒和第四数据颗粒的数据接口连接;所述第一校验模块从所述缓存模块获取32位数据,对所述32位数据进行ECC校验,产生8位ECC校验码,并通过所述第一校验模块的第一类接口将所述32位数据存储在所述第一数据颗粒和第二数据颗粒中,通过所述第一校验模块的第二类接口将所述8位ECC校验码存储在所述ECC颗粒中;所述第二校验模块从所述缓存模块获取另外32位数据,对所述另外32位数据进行ECC校验,产生另外8位ECC校验码,并通过所述第二校验模块的第一类接口将所述另外32位数据存储在所述第三数据颗粒和第四数据颗粒中,通过所述第二校验模块的第二类接口将所述另外8位ECC校验码存储在所述ECC颗粒中。
与现有的数据处理装置处理数据相比,本发明的处理数据的方法,通过产生16位ECC校验码,能够在存储数据时产生更好的校验效果,相比于现有的数据处理装置中每64bit单元可以纠正1bit错误和检测2bit以上的错误,本发明的处理数据的方法对于每64bit单元就可以纠正2bit错误和检测4bit以上的错误。另外,将多出的8位ECC校验码存储在ECC颗粒中也充分利用了ECC颗粒的存储空间。
结合第三方面,在第三方面的第二种实现方式中,n=5,所述数据颗粒为2片数据位宽均为16位的DDR颗粒,所述ECC颗粒为1片数据位宽为16位的DDR颗粒,所述第一校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第一数据颗粒的数据接口连接,所述第二校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第二数据颗粒的数据接口连接;所述第一校验模块从所述缓存模块获取16位数据,对所述16位数据进行ECC校验,产生8位ECC校验码,并通过所述第一校验模块的第一类接口将所述16位数据存储在所述第一数据颗粒中,通过所述第一校验模块的第二类接口将所述8位ECC校验码存储在所述ECC颗粒中;所述第二校验模块从所述缓存模块获取另外16位数据,对所述另外16位数据进行ECC校验,产生另外8位ECC校验码,并通过所述第二校验模块的第一类接口将所述16位数据存储在所述第二数据颗粒中,通过所述第二校验模块的第二类接口将所述另外8位ECC校验码存储在所述ECC颗粒中。
结合第三方面,在第三方面的第三种实现方式中,n=5,所述数据颗粒为4片数据位宽均为8位的DDR颗粒,所述ECC颗粒为1片数据位宽为8位的DDR颗粒,所述第一校验模块的第一类接口通过所述DDRPHY与所述数据颗粒中的第一数据颗粒和第二数据颗粒的数据接口连接,所述第二校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第三数据颗粒和第四数据颗粒的数据接口连接;所述第一校验模块从所述缓存模块获取16位数据,对所述16位数据进行ECC校验,产生4位ECC校验码,并通过所述第一校验模块的第一类接口将所述16位数据存储在所述第一数据颗粒和所述第二数据颗粒中,通过所述第一校验模块的第二类接口将所述4位ECC校验码存储在所述ECC颗粒中;所述第二校验模块从所述缓存模块获取另外16位数据,对所述另外16位数据进行ECC校验,产生另外4位ECC校验码,并通过所述第二校验模块的第一类接口将所述16位数据存储在所述第三数据颗粒和第四数据颗粒中,通过所述第二校验模块的第二类接口将所述另外4位ECC校验码存储在所述ECC颗粒中。
第四方面,提供一种处理数据的方法,所述方法应用于数据处理装置,所述数据处理装置内存和CPU集成在一个封装上,所述数据处理装置包括数据颗粒,差错校验纠正ECC颗粒,双倍速率同步动态随机存储器DDR控制器,DDR物理接口PHY,所述数据颗粒和所述ECC颗粒为数据位宽相同的DDR颗粒,所述DDR PHY与所述数据颗粒和所述ECC颗粒的数据接口连接,且所述DDR PHY的DDR接口的数据位宽为所述数据颗粒和所述ECC颗粒的数据位宽之和,所述DDR控制器通过所述DDR PHY与所述数据颗粒和ECC颗粒的数据接口连接,其中,所述数据颗粒的数据总位宽为k位,k=2n,n为大于等于4的整数,所述DDR控制器包括校验模块和缓存模块,所述校验模块通过所述DDR PHY与所述数据颗粒的数据接口和所述ECC颗粒的数据接口连接,所述校验模块还与所述缓存模块连接;所述校验模块从所述缓存模块获取k+m位缓存数据,对所述k+m位缓存数据进行ECC校验,产生1+k/8位ECC校验码,将所述k位缓存数据存储在所述数据颗粒中,将所述1+k/8位ECC校验码和m位缓存数据存储在所述ECC颗粒中,其中0<m<k/8,且m为整数。
现有的数据处理装置在将CPU和内存封装在一起时往往会有一些ECC颗粒的存储空间处于空闲状态,没有充分利用起来,造成了存储空间的浪费。而本申请中的数据处理方法所应用的数据处理装置,通过DDR PHY将校验模块与数据颗粒和ECC颗粒的全部数据接口连接,这样在对数据进行处理时,可以利用校验模块从缓存模块获取k+m位缓存数据,并产生1+k/8位ECC校验码,并将1+k/8位ECC校验码和m位缓存数据存储在ECC颗粒中,相对于现有技术中的ECC颗粒只存储k/8位ECC校验码的数据处理方法来说,本申请中的数据处理方法可以在ECC颗粒多存储一些缓存数据和一些校验码,充分利用了ECC颗粒的存储空间。
结合第四方面,在第四方面的第一种实现方式中,n=6,所述数据颗粒为4片数据位宽均为16位的DDR颗粒,所述ECC颗粒为1片数据位宽为16位的DDR颗粒;所述校验模块从所述缓存模块获取64+m位缓存数据,对所述64+m位缓存数据进行ECC校验,产生9位ECC校验码,将所述64位缓存数据存储在所述数据颗粒中,将所述9位ECC校验码和m位缓存数据存储在所述ECC颗粒中,其中0<m<8,且m为整数。
结合第四方面,在第四方面的第二种实现方式中,n=5,所述数据颗粒为2片数据位宽均为16位的DDR颗粒,所述ECC颗粒为1片数据位宽为16位的DDR颗粒;所述校验模块从所述缓存模块获取32+m位缓存数据,对所述32+m位缓存数据进行ECC校验,产生9位ECC校验码,将所述32位缓存数据存储在所述数据颗粒中,将所述9位ECC校验码和m位缓存数据存储在所述ECC颗粒中,其中0<m<8,且m为整数。
结合第四方面,以及第四方面的第一种至第二种实现方式中的任意一种,在第四方面的第三种实现方式中,所述m位缓存数据为所述CPU缓存的TAG信息和/或目录信息。
在某些实现方式中,所述数据处理装置的DDR控制器的数据接口位宽为160位,所述数据颗粒和所述ECC颗粒的数据总位宽为80位。
在某些实现方式中,所述数据颗粒用于存储CPU运行所需的数据,所述ECC颗粒用于存储对所述数据颗粒所存储的数据进行ECC校验而产生的ECC校验码。
在某些实现方式中,所述数据处理装置为一种CPU系统。
在某些实现方式中,所述数据处理装置的内存和CPU集成在一个芯片上。
在某些实现方式中,所述数据处理装置的内存和CPU合封在一起。
在某些实现方式中,所述CPU包含CPU内核,内存控制器,以太网控制器。
本申请中,数据处理装置的DDR控制器中的两个校验模块通过DDRPHY分别与数据颗粒和ECC颗粒的数据接口相连,能将缓存数据分成两组进行ECC校验,这样能采用更多的校验码对缓存数据进行校验,能取得更好的校验效果,此外,通过将多产生的ECC校验码存储在ECC颗粒中,充分利用了ECC颗粒的存储空间。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有的数据处理装置的示意性框图。
图2是现有的数据处理装置的示意性框图。
图3是现有的数据处理装置的示意性框图。
图4是本发明实施例的数据处理装置的示意性框图。
图5是本发明实施例的数据处理装置的示意性框图。
图6是本发明实施例的数据处理装置的示意性框图。
图7是本发明实施例的数据处理装置的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在图3所示的数据处理装置中,该据处理装置的内存和CPU集成在一个封装上,该数据处理装置的ECC颗粒中有一半的存储空间处于空闲状态,没有被利用,造成了ECC存储空间的浪费。为了将ECC颗粒剩余的存储空间利用起来,可以将ECC颗粒的全部的数据接口都通过DDR PHY与DDR控制器连接,并且在现有数据处理装置的基础上对DDR控制器进行改进,使得DDR控制器能够利用更多的ECC代码实现对存储数据的更准确的校验,并将该多出来的ECC代码存储到ECC颗粒剩余的存储空间里,或者,ECC颗粒的剩余存储空间还可以一部分用来存储多出来的ECC代码,另一部分再存储一些缓存信息,或者是ECC颗粒剩余的存储空间全部用来存储缓存信息。下面,结合具体的实施例对本发明实施例的数据处理装置进行详细的描述。
图4是本发明实施例的数据处理装置,如图4所示,该数据处理装置包括DDR控制器,DDR PHY(DDR PHY是CPU与DDR颗粒和ECC颗粒相连接的物理接口),数据颗粒和ECC颗粒,该DDR控制器包括缓存模块,第一校验模块,第二校验模块。其中,数据颗粒和ECC颗粒属于相同规格的DDR颗粒,数据颗粒的数据总位宽为k位,k=2n,n为大于等于4的整数。第一校验模块和第二校验模块的一端分别与DDR控制器的缓存模块连接,第一校验模块和第二校验模块的另一端都包含两类接口,分别是第一类接口和第二类接口,其中,第一类接口通过DDR PHY与数据颗粒的数据接口连接,第二类接口通过DDR PHY与ECC颗粒的数据接口连接。应理解,这里的数据颗粒可以用于存储CPU运行过程中所需要的数据,ECC颗粒可以用于存储CPU运行过程中所需要的数据进行ECC校验而产生的ECC校验码。
缓存模块可以缓存即将要存储到数据颗粒的数据。例如,缓存模块可以缓存k位数据。第一校验模块可以从缓存模块获取第一组数据,并对第一组数据进行ECC校验,产生k/8位ECC校验码,并通过第一校验模块的第一类接口将第一组数据存储在数据颗粒中,通过第一校验模块的第二类接口将k/8位ECC校验码存储在所述ECC颗粒中。
同样,第二校验模块可以从所述缓存模块获取第二组数据,对第二组数据进行ECC校验,产生另外k/8位ECC校验码,并通过第二校验模块的第一类接口将第二组数据存储在所述数据颗粒中,通过第二校验模块第二类接口将该另外k/8位ECC校验码存储在ECC颗粒中,其中,第一组数据和第二组数据均可以均包含k/2位缓存数据。
本申请中,通过将DDR控制的两个校验模块通过DDR PHY分别与数据颗粒和ECC颗粒的数据接口相连,能将缓存数据分成两组进行ECC校验,这样能采用更多的校验码对缓存数据进行校验,能取得更好的校验效果,此外,通过将多产生的ECC校验码存储在ECC颗粒中,充分利用了ECC颗粒的存储空间。
可选地,作为一个实施例,当n=6时,数据颗粒和DDR颗粒均为数据位宽为16位的DDR颗粒时,数据处理装置中的数据颗粒为4片数据位宽均为16位的DDR颗粒,ECC颗粒为1片数据位宽为16位的DDR颗粒。此时,本发明实施例的数据处理装置可以如图5所示的数据处理装置。如图5所示,第一校验模块的第一类接口通过DDR PHY分别与数据颗粒中的第一数据颗粒和第二数据颗粒的数据接口连接,第二校验模块的第一类接口通过DDR PHY分别与数据颗粒中的第三数据颗粒和第四数据颗粒的数据接口连接。这里的DDR控制器中包含两个校验模块,而现有的数据处理装置中一般只包括一个校验模块,在现有的数据处理装置中,校验模块从缓存模块中取出64位数据,在对64位数据进行校验的过程中,产生8位ECC校验码,然后将64位数据分别存储在4片数据颗粒中,将8位ECC校验码存储在ECC颗粒中,这时,ECC颗粒中只有一半的存储空间用来存储这8位ECC校验码,而另一半存储空间处于空闲状态,存储空间没有被充分利用。而本发明实施例中的数据处理装置中的DDR控制器有两个校验模块,这样在对64位数据进行ECC校验时,可以将这64位分开成两组,每组32位数据,分别有两个校验模块(也就是第一校验模块和第二校验模块)对这两组32位数据进行校验,在校验时,为了提高校验的准确性,第一校验模块和第二校验模块在分别对32位数据进行校验时均产生8位ECC校验码,校验完毕后,64位数据仍然保存在4片数据颗粒中,而16位ECC校验码都保存在ECC颗粒中,与现有的数据处理装置相比,本发明实施例的ECC校验码的数量是现有的数据处理装置的两倍。对于现有的数据处理装置来说,利用8位ECC校验码能在64位数据中纠正1位错误,检测2位以上的错误,而在本发明实施例中,由于ECC校验码增加到了16位,因此利用16位ECC校验码能在64位数据中纠正2位错误,检测4位以上的错误,因此,本发明实施例的数据处理装置不仅提高了校验的准确性,而且还充分利用了ECC颗粒多余的存储空间。
可选地,作为一个实施例,n=5时,数据处理装置的数据位总位宽位32位,该数据处理装置中的数据颗粒和DDR颗粒均为数据位宽为16位的DDR颗粒,数据颗粒为2片数据位宽均为16位的DDR颗粒,ECC颗粒为1片数据位宽为16位的DDR颗粒。与图5中所示的数据处理装置相似,该数据处理装置也包含两个校验模块,分别是第一校验模块和第二校验模块,其中第一校验模块的第一类接口通过DDR PHY与数据颗粒中的第一数据颗粒的数据接口连接,第二校验模块的第一类接口通过DDR PHY与数据颗粒中的第二数据颗粒的数据接口连接。与图5中的数据处理装置所不同的是,该数据处理装置每次是将32位的数据存储在数据颗粒中。在存储数据的过程中将32位数据分成两组,每组16位数据,由第一校验模块和第二校验模块分别进行校验处理。第一校验模块和第二校验模块在分别对16位数据进行校验时均产生8位ECC校验码,校验完毕后,32位数据仍然保存在2片数据颗粒中,而16位ECC校验码都保存在ECC颗粒中,这样也提高了数据校验的准确性,而且还充分利用了ECC颗粒多余的存储空间。
可选地,作为一个实施例,n=5,也就是说数据处理装置的数据总位宽位32位时,该数据处理装置中的数据颗粒和DDR颗粒均为数据位宽为8位的DDR颗粒,数据颗粒为4片数据位宽均为8位的DDR颗粒,ECC颗粒为1片数据位宽为8位的DDR颗粒。与图5中所示的数据处理装置相似,该数据处理装置也包含两个校验模块,分别是第一校验模块和第二校验模块,其中第一校验模块的第一类接口通过DDR PHY分别与数据颗粒中的第一数据颗粒和第二数据颗粒的数据接口连接,第二校验模块的第一类接口通过DDR PHY分别与数据颗粒中的第三数据颗粒和第四数据颗粒的数据接口连接。与图5中的数据处理装置所不同的是,该数据处理装置每次是将32位的数据存储在数据颗粒中。在存储数据的过程中将32位数据分成两组,每组16位数据,由第一校验模块和第二校验模块分别进行校验处理。第一校验模块和第二校验模块在分别对16位数据进行校验时均产生4位ECC校验码,校验完毕后,32位数据仍然保存在4片数据颗粒中,而8位ECC校验码都保存在ECC颗粒中,这样也提高了数据校验的准确性,而且还充分利用了ECC颗粒多余的存储空间。
图6示出了是本发明实施例的数据处理装置,如图6所示,该数据处理装置包含数据颗粒,ECC颗粒,DDR控制器,数据颗粒和ECC颗粒属于相同规格的DDR颗粒。数据颗粒用于存储CPU运行过程中所需要的数据,ECC颗粒用于存储CPU运行过程中所需要的数据进行ECC校验而产生的ECC校验码。数据颗粒的数据总位宽为k位,k=2n,n为大于等于4的整数。DDR控制器包含校验模块和缓存模块,校验模块分别与数据颗粒的数据接口和ECC颗粒的数据接口连接,校验模块与还与缓存模块连接。与图4和图5所示的数据处理装置所不同的是该数据处理装置中的DDR控制器只包含一个校验模块,该校验模块在对缓存模块中的数据进行ECC校验时不再分组。这时为了充分利用ECC颗粒的存储空间,可以将存储ECC校验码剩余的存储空间用来存储一些数据和/或ECC校验码。这样也充分利用了ECC颗粒的存储空间。
本申请中,通过将校验模块与数据颗粒和ECC颗粒的全部数据接口相连,能将一些缓存数据或者新增加的ECC校验码保存在ECC颗粒多余的存储空间里,充分利用了ECC颗粒的存储空间。
可选地,作为一个实施例,如图7所示的数据处理装置,在该数据处理装置中,n=6,并且数据颗粒和DDR颗粒均为16位的DDR颗粒。例如,当校验模块从缓存模块获取的是64+m位缓存数据时,可以对这64+m位缓存数据进行ECC校验,产生9位ECC校验码,将其中64位缓存数据存储在所述数据颗粒中,将9位ECC校验码和m位缓存数据存储在所述ECC颗粒中,其中0<m<8,m为整数。可选地,当校验模块从缓存模块获取的是64+m位缓存数据时,在对这些缓存数据进行ECC校验时也可以只产生8位ECC校验码(虽然这个时候的校验效果可能比较差),然后将其中64位缓存数据存储在所述数据颗粒中,将8位ECC校验码和m位缓存数据存储在所述ECC颗粒中,其中m为大于0小于等于8的整数,也就是说这个时候ECC颗粒的剩余空间可以完全用来保存缓存数据。
更具体地,当校验模块从缓存模块获取的是71位缓存数据时,可以对这71位缓存数据进行ECC校验,产生9位ECC校验码,将其中64位缓存数据存储在所述数据颗粒中,将9位ECC校验码和7位缓存数据存储在所述ECC颗粒中。这样,ECC颗粒中剩余的存储空间不仅保存了新产生的ECC校验码,而且还保存了一些其它的缓存数据,节省了存储空间保存了一些缓存数据,提高了校验的效果。此外,上述m位缓存数据为CPU缓存的TAG信息和/或目录信息,也就是说ECC颗粒剩余的存储空间可以保存TAG信息和/或目录信息。
可选地,作为一个实施例,n=5时,该数据处理装置的数据位总位宽为32位,该数据处理装置中的数据颗粒和DDR颗粒均为数据位宽为16位的DDR颗粒,数据颗粒为2片数据位宽均为16位的DDR颗粒,ECC颗粒为1片数据位宽为16位的DDR颗粒。当校验模块从缓存模块获取的是32+m位缓存数据时,可以对这32+m位缓存数据进行ECC校验,产生9位ECC校验码,将其中32位缓存数据存储在所述数据颗粒中,将9位ECC校验码和m位缓存数据存储在所述ECC颗粒中,其中0<m<8,m为整数。
上文结合图4至图7,详细的描述了根据本发明实施例的数据处理装置,应理解,本发明实施例的数据处理的方法能够利用图4至图7数据处理装置来实现对数据的处理,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序校验码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (16)

1.一种数据处理装置,其特征在于,所述数据处理装置的内存和CPU集成在一个封装上,所述数据处理装置包括数据颗粒,差错校验纠正ECC颗粒,双倍速率同步动态随机存储器DDR控制器,DDR物理接口PHY,所述数据颗粒和所述ECC颗粒为数据位宽相同的DDR颗粒,所述DDR PHY与所述数据颗粒和所述ECC颗粒的数据接口连接,且所述DDR PHY的DDR接口的数据位宽为所述数据颗粒和所述ECC颗粒的数据位宽之和,所述DDR控制器通过所述DDR PHY与所述数据颗粒和ECC颗粒的数据接口连接,其中,所述数据颗粒的数据总位宽为k位,k=2n,n为大于等于4的整数;
所述DDR控制器包括第一校验模块、第二校验模块和缓存模块,所述第一校验模块和所述第二校验模块分别与所述缓存模块连接,所述第一校验模块和第二校验模块的第一类接口通过所述DDR PHY与所述数据颗粒的数据接口连接,所述第一校验模块和所述第二校验模块的第二类接口通过所述DDR PHY与所述ECC颗粒的数据接口连接;
所述第一校验模块用于从所述缓存模块获取第一组数据,对所述第一组数据进行ECC校验,产生k/8位ECC校验码,并通过所述第一校验模块的第一类接口将所述第一组数据存储在所述数据颗粒中,通过所述第一校验模块的第二类接口将所述k/8位ECC校验码存储在所述ECC颗粒中;
所述第二校验模块用于从所述缓存模块获取第二组数据,对所述第二组数据进行ECC校验,产生另外k/8位ECC校验码,并通过所述第二校验模块的第一类接口将所述第二组数据存储在所述数据颗粒中,通过所述第二校验模块第二类接口将所述另外k/8位ECC校验码存储在所述ECC颗粒中,其中,所述第一组数据和第二组数据均包含k/2位缓存数据。
2.如权利要求1所述的数据处理装置,其特征在于,n=6,所述数据颗粒为4片数据位宽均为16位的DDR颗粒,所述ECC颗粒为1片数据位宽为16位的DDR颗粒;
所述第一校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第一数据颗粒和第二数据颗粒的数据接口连接,所述第二校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第三数据颗粒和第四数据颗粒的数据接口连接;
所述第一校验模块用于从所述缓存模块获取32位数据,对所述32位数据进行ECC校验,产生8位ECC校验码,并通过所述第一校验模块的第一类接口将所述32位数据存储在所述第一数据颗粒和第二数据颗粒中,通过所述第一校验模块的第二类接口将所述8位ECC校验码存储在所述ECC颗粒中;
所述第二校验模块用于从所述缓存模块获取另外32位数据,对所述另外32位数据进行ECC校验,产生另外8位ECC校验码,并通过所述第二校验模块的第一类接口将所述另外32位数据存储在所述第三数据颗粒和第四数据颗粒中,通过所述第二校验模块的第二类接口将所述另外8位ECC校验码存储在所述ECC颗粒中。
3.如权利要求1所述的数据处理装置,其特征在于,n=5,所述数据颗粒为2片数据位宽均为16位的DDR颗粒,所述ECC颗粒为1片数据位宽为16位的DDR颗粒;
所述第一校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第一数据颗粒的数据接口连接,所述第二校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第二数据颗粒的数据接口连接;
所述第一校验模块用于从所述缓存模块获取16位数据,对所述16位数据进行ECC校验,产生8位ECC校验码,并通过所述第一校验模块的第一类接口将所述16位数据存储在所述第一数据颗粒中,通过所述第一校验模块的第二类接口将所述8位ECC校验码存储在所述ECC颗粒中;
所述第二校验模块用于从所述缓存模块获取另外16位数据,对所述另外16位数据进行ECC校验,产生另外8位ECC校验码,并通过所述第二校验模块的第一类接口将所述16位数据存储在所述第二数据颗粒中,通过所述第二校验模块的第二类接口将所述另外8位ECC校验码存储在所述ECC颗粒中。
4.如权利要求1所述的数据处理装置,其特征在于,n=5,所述数据颗粒为4片数据位宽均为8位的DDR颗粒,所述ECC颗粒为1片数据位宽为8位的DDR颗粒;
所述第一校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第一数据颗粒和第二数据颗粒的数据接口连接,所述第二校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第三数据颗粒和第四数据颗粒的数据接口连接;
所述第一校验模块用于从所述缓存模块获取16位数据,对所述16位数据进行ECC校验,产生4位ECC校验码,并通过所述第一校验模块的第一类接口将所述16位数据存储在所述第一数据颗粒和所述第二数据颗粒中,通过所述第一校验模块的第二类接口将所述4位ECC校验码存储在所述ECC颗粒中;
所述第二校验模块用于从所述缓存模块获取另外16位数据,对所述另外16位数据进行ECC校验,产生另外4位ECC校验码,并通过所述第二校验模块的第一类接口将所述16位数据存储在所述第三数据颗粒和第四数据颗粒中,通过所述第二校验模块的第二类接口将所述另外4位ECC校验码存储在所述ECC颗粒中。
5.一种数据处理装置,其特征在于,所述数据处理装置的内存和CPU集成在一个封装上,所述数据处理装置包括数据颗粒,差错校验纠正ECC颗粒,双倍速率同步动态随机存储器DDR控制器,DDR物理接口PHY,所述数据颗粒和所述ECC颗粒为数据位宽相同的DDR颗粒,所述DDR PHY与所述数据颗粒和所述ECC颗粒的数据接口连接,且所述DDR PHY的DDR接口的数据位宽为所述数据颗粒和所述ECC颗粒的数据位宽之和,所述DDR控制器通过所述DDR PHY与所述数据颗粒和ECC颗粒的数据接口连接,其中,所述数据颗粒的数据总位宽为k位,k=2n,n为大于等于4的整数,所述数据颗粒用于存储CPU运行所需的数据;
所述DDR控制器包括校验模块和缓存模块,所述校验模块通过所述DDR PHY与所述数据颗粒的数据接口和所述ECC颗粒的数据接口连接,所述校验模块还与所述缓存模块连接;
所述校验模块用于从所述缓存模块获取k+m位缓存数据,对所述k+m位缓存数据进行ECC校验,产生1+k/8位ECC校验码,将所述k位缓存数据存储在所述数据颗粒中,将所述1+k/8位ECC校验码和m位缓存数据存储在所述ECC颗粒中,其中0<m<k/8,且m为整数。
6.如权利要求5所述的数据处理装置,其特征在于,n=6,所述数据颗粒为4片数据位宽均为16位的DDR颗粒,所述ECC颗粒为1片数据位宽为16位的DDR颗粒;
所述校验模块用于从所述缓存模块获取64+m位缓存数据,对所述64+m位缓存数据进行ECC校验,产生9位ECC校验码,将所述64位缓存数据存储在所述数据颗粒中,将所述9位ECC校验码和m位缓存数据存储在所述ECC颗粒中,其中0<m<8,且m为整数。
7.如权利要求5所述的数据处理装置,其特征在于,n=5,所述数据颗粒为2片数据位宽均为16位的DDR颗粒,所述ECC颗粒为1片数据位宽为16位的DDR颗粒;
所述校验模块用于从所述缓存模块获取32+m位缓存数据,对所述32+m位缓存数据进行ECC校验,产生9位ECC校验码,将所述32位缓存数据存储在所述数据颗粒中,将所述9位ECC校验码和m位缓存数据存储在所述ECC颗粒中,其中0<m<8,且m为整数。
8.如权利要求5至7中任一项所述的数据处理装置,其特征在于,所述m位缓存数据为所述CPU缓存的TAG信息和/或目录信息。
9.一种数据处理的方法,所述方法应用于数据处理装置,所述数据处理装置内存和CPU集成在一个封装上,所述数据处理装置包括数据颗粒,差错校验纠正ECC颗粒,双倍速率同步动态随机存储器DDR控制器,DDR物理接口PHY,所述数据颗粒和所述ECC颗粒为数据位宽相同的DDR颗粒,所述DDR PHY与所述数据颗粒和所述ECC颗粒的数据接口连接,且所述DDR PHY的DDR接口的数据位宽为所述数据颗粒和所述ECC颗粒的数据位宽之和,所述DDR控制器通过所述DDRPHY与所述数据颗粒和ECC颗粒的数据接口连接,其中,所述数据颗粒的数据总位宽为k位,k=2n,n为大于等于4的整数,所述DDR控制器包括第一校验模块、第二校验模块和缓存模块,所述第一校验模块和所述第二校验模块分别与所述缓存模块连接,所述第一校验模块和第二校验模块的第一类接口通过所述DDR PHY与所述数据颗粒的数据接口连接,所述第一校验模块和所述第二校验模块的第二类接口通过所述DDR PHY与所述ECC颗粒的数据接口连接;
所述第一校验模块从所述缓存模块获取第一组数据,对所述第一组数据进行ECC校验,产生k/8位ECC校验码,并通过所述第一校验模块的第一类接口将所述第一组数据存储在所述数据颗粒中,通过所述第一校验模块的第二类接口将所述k/8位ECC校验码存储在所述ECC颗粒中;
所述第二校验模块从所述缓存模块获取第二组数据,对所述第二组数据进行ECC校验,产生另外k/8位ECC校验码,并通过所述第二校验模块的第一类接口将所述第二组数据存储在所述数据颗粒中,通过所述第二校验模块第二类接口将所述另外k/8位ECC校验码存储在所述ECC颗粒中,其中,所述第一组数据和第二组数据均包含k/2位缓存数据。
10.如权利要求9所述的方法,其特征在于,n=6,所述数据颗粒为4片数据位宽均为16位的DDR颗粒,所述ECC颗粒为1片数据位宽为16位的DDR颗粒,所述第一校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第一数据颗粒和第二数据颗粒的数据接口连接,所述第二校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第三数据颗粒和第四数据颗粒的数据接口连接;
所述第一校验模块从所述缓存模块获取32位数据,对所述32位数据进行ECC校验,产生8位ECC校验码,并通过所述第一校验模块的第一类接口将所述32位数据存储在所述第一数据颗粒和第二数据颗粒中,通过所述第一校验模块的第二类接口将所述8位ECC校验码存储在所述ECC颗粒中;
所述第二校验模块从所述缓存模块获取另外32位数据,对所述另外32位数据进行ECC校验,产生另外8位ECC校验码,并通过所述第二校验模块的第一类接口将所述另外32位数据存储在所述第三数据颗粒和第四数据颗粒中,通过所述第二校验模块的第二类接口将所述另外8位ECC校验码存储在所述ECC颗粒中。
11.如权利要求9所述的方法,其特征在于,n=5,所述数据颗粒为2片数据位宽均为16位的DDR颗粒,所述ECC颗粒为1片数据位宽为16位的DDR颗粒,所述第一校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第一数据颗粒的数据接口连接,所述第二校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第二数据颗粒的数据接口连接;
所述第一校验模块从所述缓存模块获取16位数据,对所述16位数据进行ECC校验,产生8位ECC校验码,并通过所述第一校验模块的第一类接口将所述16位数据存储在所述第一数据颗粒中,通过所述第一校验模块的第二类接口将所述8位ECC校验码存储在所述ECC颗粒中;
所述第二校验模块从所述缓存模块获取另外16位数据,对所述另外16位数据进行ECC校验,产生另外8位ECC校验码,并通过所述第二校验模块的第一类接口将所述16位数据存储在所述第二数据颗粒中,通过所述第二校验模块的第二类接口将所述另外8位ECC校验码存储在所述ECC颗粒中。
12.如权利要求9所述的方法,其特征在于,n=5,所述数据颗粒为4片数据位宽均为8位的DDR颗粒,所述ECC颗粒为1片数据位宽为8位的DDR颗粒,所述第一校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第一数据颗粒和第二数据颗粒的数据接口连接,所述第二校验模块的第一类接口通过所述DDR PHY与所述数据颗粒中的第三数据颗粒和第四数据颗粒的数据接口连接;
所述第一校验模块从所述缓存模块获取16位数据,对所述16位数据进行ECC校验,产生4位ECC校验码,并通过所述第一校验模块的第一类接口将所述16位数据存储在所述第一数据颗粒和所述第二数据颗粒中,通过所述第一校验模块的第二类接口将所述4位ECC校验码存储在所述ECC颗粒中;
所述第二校验模块从所述缓存模块获取另外16位数据,对所述另外16位数据进行ECC校验,产生另外4位ECC校验码,并通过所述第二校验模块的第一类接口将所述16位数据存储在所述第三数据颗粒和第四数据颗粒中,通过所述第二校验模块的第二类接口将所述另外4位ECC校验码存储在所述ECC颗粒中。
13.一种数据处理的方法,其特征在于,所述方法应用于数据处理装置,所述数据处理装置内存和CPU集成在一个封装上,所述数据处理装置包括数据颗粒,差错校验纠正ECC颗粒,双倍速率同步动态随机存储器DDR控制器,DDR物理接口PHY,所述数据颗粒和所述ECC颗粒为数据位宽相同的DDR颗粒,所述DDR PHY与所述数据颗粒和所述ECC颗粒的数据接口连接,且所述DDR PHY的DDR接口的数据位宽为所述数据颗粒和所述ECC颗粒的数据位宽之和,所述DDR控制器通过所述DDR PHY与所述数据颗粒和ECC颗粒的数据接口连接,其中,所述数据颗粒的数据总位宽为k位,k=2n,n为大于等于4的整数,所述DDR控制器包括校验模块和缓存模块,所述校验模块通过所述DDR PHY与所述数据颗粒的数据接口和所述ECC颗粒的数据接口连接,所述校验模块还与所述缓存模块连接;
所述校验模块从所述缓存模块获取k+m位缓存数据,对所述k+m位缓存数据进行ECC校验,产生1+k/8位ECC校验码,将所述k位缓存数据存储在所述数据颗粒中,将所述1+k/8位ECC校验码和m位缓存数据存储在所述ECC颗粒中,其中0<m<k/8,且m为整数。
14.如权利要求13所述的方法,其特征在于,n=6,所述数据颗粒为4片数据位宽均为16位的DDR颗粒,所述ECC颗粒为1片数据位宽为16位的DDR颗粒;
所述校验模块从所述缓存模块获取64+m位缓存数据,对所述64+m位缓存数据进行ECC校验,产生9位ECC校验码,将所述64位缓存数据存储在所述数据颗粒中,将所述9位ECC校验码和m位缓存数据存储在所述ECC颗粒中,其中0<m<8,且m为整数。
15.如权利要求13所述的方法,其特征在于,n=5,所述数据颗粒为2片数据位宽均为16位的DDR颗粒,所述ECC颗粒为1片数据位宽为16位的DDR颗粒;
所述校验模块从所述缓存模块获取32+m位缓存数据,对所述32+m位缓存数据进行ECC校验,产生9位ECC校验码,将所述32位缓存数据存储在所述数据颗粒中,将所述9位ECC校验码和m位缓存数据存储在所述ECC颗粒中,其中0<m<8,且m为整数。
16.如权利要求13-15中任一项所述的方法,其特征在于,所述m位缓存数据为所述CPU缓存的TAG信息和/或目录信息。
CN201610188091.5A 2016-03-29 2016-03-29 数据处理装置及数据处理方法 Expired - Fee Related CN107239361B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201610188091.5A CN107239361B (zh) 2016-03-29 2016-03-29 数据处理装置及数据处理方法
EP16896613.3A EP3428800A1 (en) 2016-03-29 2016-12-01 Data processing device and data processing method
PCT/CN2016/108290 WO2017166845A1 (zh) 2016-03-29 2016-12-01 数据处理装置及数据处理方法
KR1020187030859A KR20180123148A (ko) 2016-03-29 2016-12-01 데이터 처리 장치 및 데이터 처리 방법
US16/148,478 US20190034271A1 (en) 2016-03-29 2018-10-01 Data Processing Apparatus and Data Processing Method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610188091.5A CN107239361B (zh) 2016-03-29 2016-03-29 数据处理装置及数据处理方法

Publications (2)

Publication Number Publication Date
CN107239361A true CN107239361A (zh) 2017-10-10
CN107239361B CN107239361B (zh) 2019-05-07

Family

ID=59962589

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610188091.5A Expired - Fee Related CN107239361B (zh) 2016-03-29 2016-03-29 数据处理装置及数据处理方法

Country Status (5)

Country Link
US (1) US20190034271A1 (zh)
EP (1) EP3428800A1 (zh)
KR (1) KR20180123148A (zh)
CN (1) CN107239361B (zh)
WO (1) WO2017166845A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109800104A (zh) * 2018-12-18 2019-05-24 盛科网络(苏州)有限公司 数据存储的检测方法、装置、存储介质及电子装置
WO2023109571A1 (zh) * 2021-12-13 2023-06-22 华为技术有限公司 存储级内存、数据处理方法和处理器系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090249148A1 (en) * 2008-03-25 2009-10-01 Micorn Technology, Inc. Error-correction forced mode with m-sequence
CN102203740A (zh) * 2011-05-27 2011-09-28 华为技术有限公司 数据处理方法、装置及系统
CN102684976A (zh) * 2011-03-10 2012-09-19 中兴通讯股份有限公司 一种基于ddr sdram进行数据读写的方法、装置及系统
CN105183579A (zh) * 2015-09-24 2015-12-23 联想(北京)有限公司 一种数据校验方法及装置、电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100527091C (zh) * 2007-08-22 2009-08-12 杭州华三通信技术有限公司 一种实现差错检查与纠正功能的装置
CN101477480B (zh) * 2009-02-05 2011-07-20 华为技术有限公司 内存控制方法、装置及内存读写系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090249148A1 (en) * 2008-03-25 2009-10-01 Micorn Technology, Inc. Error-correction forced mode with m-sequence
CN102684976A (zh) * 2011-03-10 2012-09-19 中兴通讯股份有限公司 一种基于ddr sdram进行数据读写的方法、装置及系统
CN102203740A (zh) * 2011-05-27 2011-09-28 华为技术有限公司 数据处理方法、装置及系统
CN105183579A (zh) * 2015-09-24 2015-12-23 联想(北京)有限公司 一种数据校验方法及装置、电子设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109800104A (zh) * 2018-12-18 2019-05-24 盛科网络(苏州)有限公司 数据存储的检测方法、装置、存储介质及电子装置
US11544141B2 (en) 2018-12-18 2023-01-03 Suzhou Centec Communications Co., Ltd. Data storage detection method and apparatus, storage medium and electronic apparatus
WO2023109571A1 (zh) * 2021-12-13 2023-06-22 华为技术有限公司 存储级内存、数据处理方法和处理器系统

Also Published As

Publication number Publication date
US20190034271A1 (en) 2019-01-31
KR20180123148A (ko) 2018-11-14
WO2017166845A1 (zh) 2017-10-05
EP3428800A1 (en) 2019-01-16
CN107239361B (zh) 2019-05-07

Similar Documents

Publication Publication Date Title
US8270246B2 (en) Optimized selection of memory chips in multi-chips memory devices
WO2015081757A1 (zh) 冷热数据识别门限值计算方法、装置和系统
US20130060992A1 (en) Data compression method
CN101286358B (zh) 具有错误检测/校正处理的系统和设备以及输出数据的方法
CN107220187A (zh) 一种缓存管理方法、装置及现场可编程门阵列
CN102075430B (zh) 深度报文检测dfa状态转移表的压缩与报文匹配方法
CN102571259B (zh) 一种用于数控总线的安全可控通信方法
CN104461388B (zh) 一种存储阵列配置保存及仲裁方法
CN106897342A (zh) 一种数据校验方法和设备
CN106407128B (zh) 用于向持久性存储器多播数据的方法和系统
CN107239361A (zh) 数据处理装置及数据处理方法
CN107766180A (zh) 存储介质的管理方法、装置及可读存储介质
CN107705814A (zh) 闪存读阈值预测电平确定方法、设备及可读存储介质
CN108874314A (zh) 一种独立冗余磁盘阵列的重构方法及装置
CN105139890B (zh) 一种信息处理方法及固态硬盘
CN106708445B (zh) 链路选择方法及装置
EP2954418A1 (en) System and method for management of unique alpha-numeric order message identifiers within ddr memory space
CN104461956A (zh) 访问同步动态随机访问存储器的方法、装置及系统
US20230244409A1 (en) Continuous monotonic counter for memory devices
CN107977159A (zh) 一种数据存储方法以及装置
CN110162495A (zh) Ddr自适应方法及装置
CN109597587A (zh) 一种数据写入方法、介质及非易失性内存
CN108345429A (zh) 一种Nand flash元件
CN107592368A (zh) 分布式数据同步路由选择方法、存储介质、设备及系统
CN108647152A (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191211

Address after: 211200 No.1, Xiushan Middle Road, Lishui Economic Development Zone, Nanjing City, Jiangsu Province

Patentee after: NANJING ADVANCED BIOMATERIALS AND PROCESS EQUIPMENT RESEARCH INSTITUTE Co.,Ltd.

Address before: 510000 unit 2414-2416, building, No. five, No. 371, Tianhe District, Guangdong, China

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Effective date of registration: 20191211

Address after: 510000 unit 2414-2416, building, No. five, No. 371, Tianhe District, Guangdong, China

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190507

Termination date: 20210329