CN103279401A - 一种访问存储器的方法及装置 - Google Patents

一种访问存储器的方法及装置 Download PDF

Info

Publication number
CN103279401A
CN103279401A CN2013102136618A CN201310213661A CN103279401A CN 103279401 A CN103279401 A CN 103279401A CN 2013102136618 A CN2013102136618 A CN 2013102136618A CN 201310213661 A CN201310213661 A CN 201310213661A CN 103279401 A CN103279401 A CN 103279401A
Authority
CN
China
Prior art keywords
data
ecc
write
storage unit
self
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
CN2013102136618A
Other languages
English (en)
Other versions
CN103279401B (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.)
Honor Device 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 CN201310213661.8A priority Critical patent/CN103279401B/zh
Publication of CN103279401A publication Critical patent/CN103279401A/zh
Application granted granted Critical
Publication of CN103279401B publication Critical patent/CN103279401B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种访问存储器的方法及装置,该方法包括:当接收到第一写入数据时,根据第一开关信号判断是否开启仅访问ECC存储单元功能;如果开启仅访问ECC存储单元功能,则第一写入数据内包含用户设置的自定义ECC数据,根据预设的数据截取方式对第一写入数据进行截取,获得自定义ECC数据;将自定义ECC数据与第一写入数据进行拼接,生成第二写入数据;获得第一控制信号,第一控制信号用于屏蔽第二写入数据中的第一写入数据写入存储器;将第二写入数据与第一控制信号发送至DDR总线,以使自定义ECC数据写入ECC存储单元。从而实现对ECC存储单元的单独访问。

Description

一种访问存储器的方法及装置
技术领域
本发明涉及计算机技术领域,具体涉及一种访问存储器的方法及装置。
背景技术
随着计算机技术与嵌入式技术的发展,DDR(Double Data Rate,双倍速率传输)即DDR SDRAM(DDR Synchronous Dynamic Random Access Memory,双倍速率同步动态随机存储器)的应用越来越广泛。而ECC(Error CorrectingCode,纠错码)技术是一种能够实现错误检查和纠正的技术,ECC DDR存储器就是应用了ECC技术的DDR,一般多应用在服务器及图形工作站上,这将使整个系统在工作时更趋于安全稳定。ECC DDR内可以分为普通DDR存储单元以及ECC存储单元两部分。
在现有技术中,访问ECC DDR存储器时,ECC存储单元中的数据是通过ECC算法产生的。但是,在某些特定情况下,用户需要构造期望的数据写入到ECC存储单元中。由于ECC存储单元中的数据只能通过ECC算法产生,因此不能将任意数据写入到ECC存储单元中,从而无法完成单独对ECC存储单元的扫描。
发明内容
有鉴于此,本发明的主要目的是提供一种访问存储器的方法及装置,以解决现有技术中无法完成单独对ECC存储单元进行扫描的问题。
为解决上述问题,本发明提供的技术方案如下:
第一方面,本发明提供了一种访问存储器的方法,所述存储器包括双倍速率同步动态随机存储器DDR存储单元以及纠错码ECC存储单元,所述方法包括:
当接收到第一写入数据时,根据第一开关信号判断是否开启仅访问ECC存储单元功能;
如果开启仅访问ECC存储单元功能,则所述第一写入数据内包含用户设置的自定义ECC数据,根据预设的数据截取方式对所述第一写入数据进行截取,获得所述自定义ECC数据;
将所述自定义ECC数据与所述第一写入数据进行拼接,生成第二写入数据;
获得第一控制信号,所述第一控制信号用于屏蔽所述第二写入数据中的所述第一写入数据写入所述存储器;
将所述第二写入数据与所述第一控制信号发送至DDR总线,以使所述自定义ECC数据写入所述ECC存储单元。
在第一方面的第一种可能的实现方式中,所述根据预设的数据截取方式对所述第一写入数据进行截取,获得所述自定义ECC数据,包括:
接收用户预设的位置信息,所述位置信息包括所述自定义ECC数据所处于写数据总线上的位置,根据所述位置信息对写数据总线相关位置上的所述第一写入数据进行截取,获得所述自定义ECC数据。
在第一方面的第二种可能的实现方式中,所述方法还包括:
如果未开启仅访问ECC存储单元功能,则根据所述第一写入数据,利用ECC算法,计算获得ECC数据;
将所述ECC数据与所述第一写入数据进行拼接,生成第三写入数据;
根据第二开关信号判断是否开启ECC校验功能;
如果开启ECC校验功能,则获得第二控制信号,所述第二控制信号用于控制所述第三写入数据写入所述存储器;
将所述第三写入数据与所述第二控制信号发送至DDR总线,以使所述第一写入数据写入所述DDR存储单元,所述ECC数据写入所述ECC存储单元;
如果未开启ECC校验功能,则获得第三控制信号,所述第三控制信号用于屏蔽所述第三写入数据中的所述ECC数据写入所述存储器;
将所述第三写入数据与所述第三控制信号发送至DDR总线,以使所述第一写入数据写入所述DDR存储单元。
第二方面,本发明提供了一种访问存储器的方法,所述存储器包括双倍速率同步动态随机存储器DDR存储单元以及纠错码ECC存储单元,所述方法包括:
当接收到所述存储器反馈的第一读出数据时,将所述第一读出数据拆分为所述DDR存储单元反馈的第二读出数据以及所述ECC存储单元反馈的ECC数据;
根据第一开关信号判断是否开启仅访问ECC存储单元功能;
如果开启仅访问ECC存储单元功能,则所述ECC数据为自定义ECC数据,根据预设的数据调整方式将所述自定义ECC数据调整至所述第二读出数据内,生成第三读出数据;
将所述第三读出数据发送到读数据总线,以使用户根据所述第三读出数据读出所述自定义ECC数据。
在第二方面的第一种可能的实现方式中,所述根据预设的数据调整方式将所述自定义ECC数据调整至所述第二读出数据内,生成第三读出数据,包括:
接收用户预设的位置信息,所述位置信息包括自定义ECC数据所处于读数据总线上的期望位置,根据所述位置信息将所述自定义ECC数据插入所述第二读出数据对应于读数据总线上的相关位置,并删除所述第二读出数据内其他位置与所述自定义ECC数据位宽相同的数据,生成第三读出数据。
在第二方面的第二种可能的实现方式中,所述方法还包括:
将第三读出数据发送到读数据总线,同时向所述读数据总线反馈读数据正确响应信息。
在第二方面的第三种可能的实现方式中,所述方法还包括:
如果未开启仅访问ECC存储单元功能,则将第二读出数据发送到读数据总线;
根据第二开关信号判断是否开启ECC校验功能;如果开启ECC校验功能,则根据所述第二读出数据,利用ECC算法,计算获得校验ECC数据;
判断所述ECC数据与所述校验ECC数据是否相同;
如果所述ECC数据与所述校验ECC数据相同,则向所述读数据总线反馈读数据正确响应信息;
如果所述ECC数据与所述校验ECC数据不相同,则向所述读数据总线反馈读数据错误响应信息;
如果未开启ECC校验功能,则向所述读数据总线反馈读数据正确响应信息。
第三方面,本发明提供了一种访问存储器的装置,所述存储器包括双倍速率同步动态随机存储器DDR存储单元以及纠错码ECC存储单元,所述装置包括:
第一判断单元,用于当接收到第一写入数据时,根据第一开关信号判断是否开启仅访问ECC存储单元功能;
截取单元,用于如果开启仅访问ECC存储单元功能,则所述第一写入数据内包含用户设置的自定义ECC数据,根据预设的数据截取方式对所述第一写入数据进行截取,获得所述自定义ECC数据;
第一拼接单元,用于将所述自定义ECC数据与所述第一写入数据进行拼接,生成第二写入数据;
第一获得单元,用于获得第一控制信号,所述第一控制信号用于屏蔽所述第二写入数据中的所述第一写入数据写入所述存储器;
第一写入单元,用于将所述第二写入数据与所述第一控制信号发送至DDR总线,以使所述自定义ECC数据写入所述ECC存储单元。
在第三方面的第一种可能的实现方式中,所述截取单元包括:
接收子单元,用于接收用户预设的位置信息,所述位置信息包括所述自定义ECC数据所处于写数据总线上的位置;
截取子单元,用于根据所述位置信息对写数据总线相关位置上的所述第一写入数据进行截取,获得所述自定义ECC数据。
在第三方面的第二种可能的实现方式中,所述装置还包括:
计算单元,用于如果未开启仅访问ECC存储单元功能,则根据所述第一写入数据,利用ECC算法,计算获得ECC数据;
第二拼接单元,用于将所述ECC数据与所述第一写入数据进行拼接,生成第三写入数据;
第二判断单元,用于根据第二开关信号判断是否开启ECC校验功能;
第二获得单元,用于如果开启ECC校验功能,则获得第二控制信号,所述第二控制信号用于控制所述第三写入数据写入所述存储器;
第二写入单元,用于将所述第三写入数据与所述第二控制信号发送至DDR总线,以使所述第一写入数据写入所述DDR存储单元,所述ECC数据写入所述ECC存储单元;
第三获得单元,用于如果未开启ECC校验功能,则获得第三控制信号,所述第三控制信号用于屏蔽所述第三写入数据中的所述ECC数据写入所述存储器;
第三写入单元,用于将所述第三写入数据与所述第三控制信号发送至DDR总线,以使所述第一写入数据写入所述DDR存储单元。
第四方面,本发明提供了一种访问存储器的装置,所述存储器包括双倍速率同步动态随机存储器DDR存储单元以及纠错码ECC存储单元,所述装置包括:
拆分单元,用于当接收到所述存储器反馈的第一读出数据时,将所述第一读出数据拆分为所述DDR存储单元反馈的第二读出数据以及所述ECC存储单元反馈的ECC数据;
第一判断单元,用于根据第一开关信号判断是否开启仅访问ECC存储单元功能;
调整单元,用于如果开启仅访问ECC存储单元功能,则所述ECC数据为自定义ECC数据,根据预设的数据调整方式将所述自定义ECC数据调整至所述第二读出数据内,生成第三读出数据;
第一读出单元,用于将所述第三读出数据发送到读数据总线,以使用户根据所述第三读出数据读出所述自定义ECC数据。
在第四方面的第一种可能的实现方式中,所述调整单元包括:
接收子单元,用于接收用户预设的位置信息,所述位置信息包括自定义ECC数据所处于读数据总线上的期望位置;
插入子单元,用于根据所述位置信息将所述自定义ECC数据插入所述第二读出数据对应于读数据总线上的相关位置;
删除子单元,用于删除所述第二读出数据内其他位置与所述自定义ECC数据位宽相同的数据,生成第三读出数据。
在第四方面的第二种可能的实现方式中,所述装置还包括:
第一反馈单元,用于将第三读出数据发送到读数据总线,同时向所述读数据总线反馈读数据正确响应信息。
在第四方面的第三种可能的实现方式中,所述装置还包括:
第二读出单元,用于如果未开启仅访问ECC存储单元功能,则将第二读出数据发送到读数据总线;
第二判断单元,用于根据第二开关信号判断是否开启ECC校验功能;
计算单元,用于如果开启ECC校验功能,则根据所述第二读出数据,利用ECC算法,计算获得校验ECC数据;
第三判断单元,用于判断所述ECC数据与所述校验ECC数据是否相同;
第二反馈单元,用于如果所述ECC数据与所述校验ECC数据相同,则向所述读数据总线反馈读数据正确响应信息;
第三反馈单元,用于如果所述ECC数据与所述校验ECC数据不相同,则向所述读数据总线反馈读数据错误响应信息;
第四反馈单元,用于如果未开启ECC校验功能,则向所述读数据总线反馈读数据正确响应信息。
本发明实施例提供的访问存储器的方法及装置,可以通过开关信号灵活控制是否开启仅访问ECC存储单元功能,当开启仅访问ECC存储单元功能时,通过预设的数据调整方式,将用户自定义的任意ECC数据写入ECC存储单元,或者从ECC存储单元读取用户自定义的ECC数据,从而实现单独对ECC存储单元进行扫描,以方便用户可以根据具体扫描算法定制自定义ECC数据完成对ECC存储单元的扫描及测试。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例应用环境的架构图;
图2为本发明实施例访问存储器的方法实施例1的流程示意图;
图3为本发明实施例访问存储器的方法实施例1的数据控制示意图;
图4为本发明实施例访问存储器的方法实施例2的流程示意图;
图5为本发明实施例访问存储器的方法实施例2的逻辑结构示意图;
图6为本发明实施例访问存储器的方法实施例3的流程示意图;
图7为本发明实施例访问存储器的方法实施例3的数据控制示意图;
图8为本发明实施例访问存储器的方法实施例4的流程示意图;
图9为本发明实施例访问存储器的方法实施例4的逻辑结构示意图;
图10为本发明实施例访问存储器的装置实施例1的构成示意图;
图11为本发明实施例访问存储器的装置实施例2的构成示意图;
图12为本发明实施例访问存储器的装置实施例3的构成示意图;
图13为本发明实施例访问存储器的装置实施例4的构成示意图;
图14为本发明实施例控制器的硬件构成示意图;
图15为本发明实施例控制器的硬件构成示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明实施例的访问存储器的方法及装置,可以应用于计算机系统或嵌入式系统,但并不仅仅局限于上述计算机系统或嵌入式系统中。参见图1所示,本发明实施例应用环境的架构图,其中控制器10与存储器20相连。该控制器为可以DMC(Dynamic Memory Controller,动态存储器控制器),该存储器为ECC DDR。ECC DDR存储器可以包括DDR存储单元以及ECC存储单元两部分,例如,一个ECC DDR有72bit位宽的存储空间,其中,DDR存储单元可以为8片8bit位宽的存储空间,ECC存储单元可以为1片8bit位宽的存储空间。
具体的,控制器可以接收写数据总线上需要写入ECC DDR内的数据,并将需要写入ECC DDR内的数据通过DDR总线写入ECC DDR内,实现存储器写入访问,或者接收DDR总线上反馈的ECC DDR内的数据,并将ECC DDR内读出的数据发送至读数据总线,实现存储器读出访问。
基于如图1所示的应用环境,现有技术存在无法实现单独访问存储器内ECC存储单元的问题,为此本发明实施例提供了如下的访问存储器的方法。
参见图2所示,是本发明实施例中访问存储器的方法实施例1的流程图,包括以下步骤:
步骤101:当接收到第一写入数据时,根据第一开关信号判断是否开启仅访问ECC存储单元功能。
第一写入数据可以从写数据总线上接收,第一写入数据的数据位宽与DDR存储单元的数据位宽相同。第一开关信号则可以根据用户选择对应于是否开启仅访问ECC存储单元功能,第一开关信号可以为软件配置寄存器信息,使用户可以灵活控制是否需要仅访问ECC存储单元。
步骤102:如果开启仅访问ECC存储单元功能,则第一写入数据内包含用户设置的自定义ECC数据,根据预设的数据截取方式对第一写入数据进行截取,获得自定义ECC数据。
当开启仅访问ECC存储单元功能,则第一写入数据内包含用户设置的自定义ECC数据,该自定义ECC数据是用户将期望写入ECC存储单元内的数据预先放置于写数据总线的特定位置的。自定义ECC数据的数据位宽与ECC存储单元的数据位宽相同。
具体的,可以接收用户预设的位置信息,位置信息包括自定义ECC数据所处于写数据总线上的位置,根据位置信息对写数据总线相关位置上的第一写入数据进行截取,获得自定义ECC数据。例如,第一写入数据位宽为64bit,自定义ECC数据位宽为8bit,用户将自定义ECC数据放置于写数据总线上bit32-bit39,则可以接收该位置信息,对写数据总线bit32-bit39上的第一写入数据进行截取,写数据总线其他位置上的第一写入数据则可以丢弃。用户预设位置信息,用户不仅可以灵活定制自定义ECC数据,而且可以将期望的自定义ECC数据安排在期望的位置上,保证了灵活性。
步骤103:将自定义ECC数据与第一写入数据进行拼接,生成第二写入数据。
可以根据DDR存储单元以及ECC存储单元相对于DDR总线的位置,对自定义ECC数据与第一写入数据进行拼接。例如,ECC DDR数据位宽为72bit,则DDR总线位宽也为72bit。ECC DDR中DDR存储单元数据位宽为64bit,ECC存储单元数据位宽为8bit,DDR存储单元与DDR总线的bit0-bit63相连,即与DDR总线的低位相连,ECC存储单元与DDR总线的bit64-bit71相连,即与DDR总线的高位相连,则可以将自定义ECC数据拼接在第一写入数据之后高8位的位置,即第二写入数据位宽共为72bit,低64bit为第一写入数据,高8bit为自定义ECC数据,以保证第一写入数据可以对应写入DDR存储单元,自定义ECC数据可以对应写入ECC存储单元。
步骤104:获得第一控制信号,第一控制信号用于屏蔽第二写入数据中的第一写入数据写入存储器。
根据数据拼接方式以及是否开启仅访问ECC存储单元功能,可以获得第一控制信号,例如当开启仅访问ECC存储单元功能,则该第一控制信号可以屏蔽72bit第二写入数据中的处于低位64bit的第一写入数据。
步骤105:将第二写入数据与第一控制信号发送至DDR总线,以使自定义ECC数据写入ECC存储单元。
将第二写入数据与第一控制信号共同发送至DDR总线,由于第一控制信号可以屏蔽第二写入数据中的第一写入数据,则最终仅将自定义ECC数据写入了ECC存储单元中。
本方法实施例是一种存储器写入数据方法,可以通过开关信号灵活控制是否开启仅访问ECC存储单元功能,当开启仅访问ECC存储单元功能时,可以通过预设的数据调整方式,将用户自定义的任意ECC数据写入ECC存储单元,从而实现单独对ECC存储单元进行扫描,以方便用户在需要时可以根据具体扫描算法定制自定义ECC数据完成对ECC存储单元的扫描及测试。
为便于理解上述方法实施例1,参见图3所示的数据控制示意图,再对开启仅访问ECC存储单元功能时,存储器写入数据的过程进行解释。
在开启仅访问ECC存储单元功能的情况下,写数据通路上可以分为写数据截取控制逻辑、写数据拼接控制逻辑以及写数据屏蔽控制逻辑三部分。写数据截取控制逻辑可以对第一写入数据Wdata的指定数据位上的数据Wdata[m:n]进行截取,获得的即为自定义ECC数据ECC Data;写数据拼接控制逻辑可以对Wdata与ECC Data进行拼接,拼接为第二写入数据;最终可以将第二写入数据写入ECC DDR,写数据屏蔽控制逻辑可以使第二写入数据中的Wdata被第一控制信号屏蔽,因此仅有ECC Data被写入到ECC存储单元中,从而实现将用户定制的任意值写入ECC存储单元。
参见图4所示,是本发明实施例中访问存储器的方法实施例2的流程图,包括以下步骤:
步骤201:当接收到第一写入数据时,根据第一开关信号判断是否开启仅访问ECC存储单元功能。
步骤202:如果开启仅访问ECC存储单元功能,则第一写入数据内包含用户设置的自定义ECC数据,根据预设的数据截取方式对第一写入数据进行截取,获得自定义ECC数据。
步骤203:将自定义ECC数据与第一写入数据进行拼接,生成第二写入数据。
步骤204:获得第一控制信号,第一控制信号用于屏蔽第二写入数据中的第一写入数据写入存储器。
步骤205:将第二写入数据与第一控制信号发送至DDR总线,以使自定义ECC数据写入ECC存储单元。
步骤206:如果未开启仅访问ECC存储单元功能,则根据第一写入数据,利用ECC算法,计算获得ECC数据。
当未开启仅访问ECC存储单元功能,则可以启动ECC校验功能,此时需要写入ECC存储单元内的则为进行数据纠错与校验的ECC数据,该ECC数据是根据需要写入DDR存储单元的第一写入数据利用ECC算法计算获得的。
步骤207:将ECC数据与第一写入数据进行拼接,生成第三写入数据。
同样的,可以根据DDR存储单元以及ECC存储单元相对于DDR总线的位置,对ECC数据与第一写入数据进行拼接。例如,对于8bit数据位宽的ECC数据可以将其拼接在第一写入数据之后高8位的位置,第三写入数据位宽为第一写入数据位宽与ECC数据位宽之和。第一写入数据可以对应写入DDR存储单元,ECC数据则可以对应写入ECC存储单元。
步骤208:根据第二开关信号判断是否开启ECC校验功能。
第二开关信号可以为软件配置寄存器信息,ECC数据产生后,也可以根据用户设置选择是否利用ECC数据进行第一写入数据的校验,可以实现根据用户不同需求采用灵活的方式实现对存储器不同形式的访问。
步骤209:如果开启ECC校验功能,则获得第二控制信号,第二控制信号用于控制第三写入数据写入存储器。
步骤210:将第三写入数据与第二控制信号发送至DDR总线,以使第一写入数据写入DDR存储单元,ECC数据写入ECC存储单元。
当开启ECC校验功能,则说明ECC数据需要写入ECC存储单元,则第二控制信号可以控制第三写入数据中的第一写入数据对应写入DDR存储单元,第三写入数据中的ECC数据写入ECC存储单元。
步骤211:如果未开启ECC校验功能,则获得第三控制信号,第三控制信号用于屏蔽第三写入数据中的ECC数据写入存储器。
步骤212:将第三写入数据与第三控制信号发送至DDR总线,以使第一写入数据写入DDR存储单元。
当未开启ECC校验功能,则说明ECC数据不需要写入ECC存储单元,仅将第一写入数据写入DDR存储单元即可,则第三控制信号可以屏蔽第三写入数据中的ECC数据,仅将第三写入数据中的第一写入数据对应写入DDR存储单元。
步骤201-205与步骤101-105类似,此处不再赘述。与方法实施例1相比,本方法实施例基于方法实施例1进一步包括了未开启仅访问ECC存储单元功能时,访问存储器的方法。在未开启仅访问ECC存储单元功能时,又可以分为将第一写入数据与ECC数据共同写入存储器ECC DDR,即对第一写入数据进行数据校验的情况,以及仅将第一写入数据写入存储器ECCDDR中DDR存储空间两种情况,即不对第一写入数据进行校验的情况,从而可以实现用户对存储器的灵活访问方式。
基于上述方法实施例2,参见图5所示的动态存储器控制器DMC逻辑结构示意图,再对存储器写入访问方法从具体实现可以采用的逻辑设计方面进行介绍。
接收到写数据总线上的第一写入数据Wdata后,根据第一开关信号sa_ecc_en可以判断是否开启仅访问ECC存储单元功能,当sa_ecc_en信号为1时,代表开启该功能,sa_ecc_en信号为0时,代表不开启该功能,则第一写入数据Wdata对应于两种不同的处理,sa_ecc_en信号为1,对Wdata的一部分Wdata[m:n]进行截取,获得的是自定义ECC数据,sa_ecc_en信号为0,对Wdata进行根据ECC算法的计算,获得的是标准ECC数据。对第一写入数据Wdata与自定义ECC数据或标准ECC数据进行拼接,获得待写入ECCDDR存储器内的数据dfi_wrdata,在Wdata与自定义ECC数据进行拼接时,dfi_wrdata为第二写入数据,在Wdata与标准ECC数据进行拼接时,dfi_wrdata为第三写入数据。
同样的,控制信号dfi_wrmask的产生也根据第一开关信号sa_ecc_en的不同而不同。sa_ecc_en信号为1,则第一控制信号作为dfi_wrmask输出,对第二写入数据中的第一写入数据进行屏蔽;sa_ecc_en信号为0且第二开关信号ecc_en为1时,代表开启ECC校验功能,则第二控制信号作为dfi_wrmask输出,不需要对第三写入数据中的ECC数据进行屏蔽;sa_ecc_en信号为0且第二开关信号ecc_en为0时,代表不开启ECC校验功能,则第三控制信号作为dfi_wrmask输出,需要对第三写入数据中的ECC数据进行屏蔽。
控制信号dfi_wrmask与dfi_wrdata共同发送至DDR总线,控制信号dfi-_wrmask可以控制dfi_wrdata如何写入ECC DDR存储器。具体的,第一控制信号,对应控制第二写入数据中的自定义ECC数据写入ECC存储单元;第二控制信号,对应控制第三写入数据中的第一写入数据写入DDR存储单元,第三写入数据中的ECC数据写入ECC存储单元;第三控制信号,对应控制第三写入数据中的第一写入数据写入DDR存储单元。
参见图6所示,是本发明实施例中访问存储器的方法实施例3的流程图,包括以下步骤:
步骤301:当接收到存储器反馈的第一读出数据时,将第一读出数据拆分为DDR存储单元反馈的第二读出数据以及ECC存储单元反馈的ECC数据。
第一读出数据可以从DDR总线上接收,即存储器ECC DDR反馈的读出数据,第一读出数据的数据位宽与存储器ECC DDR的数据位宽相同。将第一读出数据可以拆分为第二读出数据以及ECC数据两部分,第二读出数据为DDR存储单元反馈的读出数据,其数据位宽与DDR存储单元的数据位宽相同,ECC数据为ECC存储单元反馈的读出数据,其数据位宽与ECC存储单元的数据位宽相同。例如,一个ECC DDR的数据位宽为72bit,其中,DDR存储单元的数据位宽为64bit,ECC存储单元的数据位宽为8bit,则对应第一读出数据为72bit,第一读出数据可以拆分为对应于DDR存储单元的第二读出数据64bit以及对应于ECC存储单元的ECC数据8bit两部分。
步骤302:根据第一开关信号判断是否开启仅访问ECC存储单元功能。
第一开关信号可以根据用户选择对应于是否开启仅访问ECC存储单元功能,第一开关信号可以为软件配置寄存器信息,判断当前存储器读出数据时对应的存储器写入数据过程是否开启了仅访问ECC存储单元功能。
步骤303:如果开启仅访问ECC存储单元功能,则ECC数据为自定义ECC数据,根据预设的数据调整方式将自定义ECC数据调整至第二读出数据内,生成第三读出数据。
当开启仅访问ECC存储单元功能,则当前读出的ECC数据为用户设置的自定义ECC数据。
具体的,可以接收用户预设的位置信息,位置信息包括自定义ECC数据所处于读数据总线上的期望位置,根据位置信息将自定义ECC数据插入第二读出数据对应于读数据总线上的相关位置,并删除第二读出数据内其他位置与自定义ECC数据位宽相同的数据,生成第三读出数据。与存储器写入操作类似,用户同样可以设置读出自定义ECC数据时其处于读数据总线的位置,以保证灵活性。例如,在第二写入数据的bit7-bit8之间插入8bit的自定义ECC数据,此时第二写入数据由64bit变为72bit,再将第二写入数据中的bit0-bit7删除,生成第三读出数据,第三读出数据的数据位宽为64bit。自定义ECC数据则可以对应于读数据总线的bit0-bit7。这样,用户可以灵活控制将读出的自定义ECC数据安排在期望的读数据总线的相关位置上。
步骤304:将第三读出数据发送到读数据总线,以使用户根据第三读出数据读出自定义ECC数据。
另外,在步骤304的同时,还可以向读数据总线反馈读数据正确响应信息,以实现在读取自定义ECC数据时也可以有正确的响应信号。
与上述方法实施例1相比,本方法实施例是一种存储器读出数据方法,是方法实施例1存储器写入数据方法的逆过程。本方法实施例可以在判断开启仅访问ECC存储单元功能时,可以通过预设的数据调整方式,从ECC存储单元读取用户自定义的ECC数据,从而实现单独对ECC存储单元的扫描。
为便于理解上述方法实施例3,参见图7所示的数据控制示意图,再对开启仅访问ECC存储单元功能时,存储器读出数据的过程进行解释。
在开启仅访问ECC存储单元功能的情况下,读数据通路也写数据通路对应,也可以分为三部分:读数据拆分控制逻辑、读数据调整控制逻辑以及读数据反馈控制逻辑。读数据拆分控制逻辑可以将从ECC DDR读出的第一读出数据拆分第二读出数据Rdata0以及自定义ECC数据两部分,以方便读数据调整逻辑对数据进行调整;读数据调整逻辑可以将拆分后的得到的自定义ECC数据插入到第二读出数据相应的位置,并删除第二读出数据中由于插入自定义ECC数据而多余的数据位,即根据用户设定的调整方式,将自定义ECC数据调整到相应位置,生成第三读出数据Rdata;读数据反馈控制逻辑则将第三读出数据Rdata启动到读数据总线上,因此自定义ECC数据在读数据总线的期待位置可以被读出,从而实现将用户定制的任意值从ECC存储单元中读出。参见图8所示,是本发明实施例中访问存储器的方法实施例4的流程图,包括以下步骤:
步骤401:当接收到存储器反馈的第一读出数据时,将第一读出数据拆分为DDR存储单元反馈的第二读出数据以及ECC存储单元反馈的ECC数据。
步骤402:根据第一开关信号判断是否开启仅访问ECC存储单元功能。
步骤403:如果开启仅访问ECC存储单元功能,则ECC数据为自定义ECC数据,根据预设的数据调整方式将自定义ECC数据调整至第二读出数据内,生成第三读出数据。
步骤404:将第三读出数据发送到读数据总线,以使用户根据第三读出数据读出自定义ECC数据。
步骤405:将第三读出数据发送到读数据总线,同时向读数据总线反馈读数据正确响应信息。
步骤406:如果未开启仅访问ECC存储单元功能,则将第二读出数据发送到读数据总线。
当未开启仅访问ECC存储单元功能,则进入启动ECC校验时的数据读出过程,可以先将第二读出数据启动到读数据总线。
步骤407:根据第二开关信号判断是否开启ECC校验功能。
第二开关信号可以为软件配置寄存器信息,当开启ECC校验功能则说明ECC存储单元内写入了用于校验的ECC数据,反之则没有写入ECC数据。
步骤408:如果开启ECC校验功能,则根据第二读出数据,利用ECC算法,计算获得校验ECC数据。
步骤409:判断ECC数据与校验ECC数据是否相同。
步骤410:如果ECC数据与校验ECC数据相同,则向读数据总线反馈读数据正确响应信息。
步骤411:如果ECC数据与校验ECC数据不相同,则向读数据总线反馈读数据错误响应信息。
当开启ECC校验功能,则可以进入ECC校验过程,根据从DDR存储单元读出的第二读出数据,再利用ECC算法计算获得校验ECC数据,与写入过程中根据写入数据计算获得的ECC数据进行比较,相同则证明读出数据与写入数据相同,在访问存储器的过程中没有出现错误,ECC校验通过,反馈正确响应信息;若校验ECC数据与读出的ECC数据不同,则说明ECC校验未通过,需要反馈错误响应信息。
步骤412:如果未开启ECC校验功能,则向所述读数据总线反馈读数据正确响应信息。
当未开启ECC校验功能,ECC存储单元没有写入ECC数据,则不需要进行ECC校验过程,可以直接反馈读数据正确响应信息。
步骤401-404与步骤301-304类似,此处不再赘述。与方法实施例3相比,本方法实施例基于方法实施例3进一步包括了未开启仅访问ECC存储单元功能时,访问存储器的方法。在未开启仅访问ECC存储单元功能时,进一步又可以分为从DDR存储单元中读取第二读出数据,以及从DDR存储单元中读取第二读出数据的同时,通过从ECC存储单元读取的ECC数据进行ECC校验两种情况,从而可以实现用户对存储器的灵活访问方式。
基于上述方法实施例4,参见图9所示的动态存储器控制器DMC逻辑结构示意图,再对存储器读出访问方法从具体实现可以采用的逻辑设计方面进行介绍。
从DDR总线上接收到第一读出数据dfi_rdata后,对第一读出数据dfi-_rdata进行拆分,拆分为第二读出数据rdata0以及ECC数据ECC data;当第一开关信号sa_ecc_en为1时,代表开启仅访问ECC存储单元功能,则对第二读出数据rdata0进行调整,生成第三读出数据,发送到读数据总线上的数据Adjust_rdata为第三读出数据;当第一开关信号sa_ecc_en为0时,代表未开启仅访问ECC存储单元功能,则不需要对第二读出数据rdata0进行调整,发送到读数据总线上的数据Adjust_rdata为第二读出数据rdata0。
反馈响应信号rdata_responese产生后,与Adjust_rdata同时反馈至读数据总线,以反映读出数据的状态。当第一开关信号sa_ecc_en为1以及当第一开关信号sa_ecc_en为0且第二开关信号ecc_en为0,即未开启ECC校验功能时,均没有进行ECC校验,则可以直接反馈正确响应信息,即rdata_responese为OK;当第一开关信号sa_ecc_en为0且第二开关信号ecc_en为1,即开启ECC校验功能时,可以根据ECC校验结果,产生不同的反馈响应信号rdata_responese,当ECC校验通过,则rdata_responese为OK,当ECC校验未通过,则rdata_responese为ERR(错误)。从而完成从存储器ECCDDR读取数据并进行读取数据响应的过程。
与上述访问存储器的方法实施例1相对应的,参见图10所示,本发明实施例还提供一种访问存储器的装置实施例1,该装置包括:
第一判断单元501,用于当接收到第一写入数据时,根据第一开关信号判断是否开启仅访问ECC存储单元功能。
截取单元502,用于如果开启仅访问ECC存储单元功能,则第一写入数据内包含用户设置的自定义ECC数据,根据预设的数据截取方式对第一写入数据进行截取,获得自定义ECC数据。
第一拼接单元503,用于将自定义ECC数据与第一写入数据进行拼接,生成第二写入数据。
第一获得单元504,用于获得第一控制信号,第一控制信号用于屏蔽第二写入数据中的第一写入数据写入存储器。
第一写入单元505,用于将第二写入数据与第一控制信号发送至DDR总线,以使自定义ECC数据写入ECC存储单元。
具体的,其中,截取单元502可以包括:
接收子单元,用于接收用户预设的位置信息,位置信息包括自定义ECC数据所处于写数据总线上的位置。
截取子单元,用于根据位置信息对写数据总线相关位置上的第一写入数据进行截取,获得自定义ECC数据。
与上述访问存储器的方法实施例2相对应的,参见图11所示,本发明实施例还提供一种访问存储器的装置实施例2,在上述装置实施例1的基础上该装置还可以包括:
计算单元506,用于如果未开启仅访问ECC存储单元功能,则根据第一写入数据,利用ECC算法,计算获得ECC数据。
第二拼接单元507,用于将ECC数据与第一写入数据进行拼接,生成第三写入数据。
第二判断单元508,用于根据第二开关信号判断是否开启ECC校验功能。
第二获得单元509,用于如果开启ECC校验功能,则获得第二控制信号,第二控制信号用于控制第三写入数据写入存储器。
第二写入单元510,用于将第三写入数据与第二控制信号发送至DDR总线,以使第一写入数据写入DDR存储单元,ECC数据写入ECC存储单元。
第三获得单元511,用于如果未开启ECC校验功能,则获得第三控制信号,第三控制信号用于屏蔽第三写入数据中的ECC数据写入存储器。
第三写入单元512,用于将第三写入数据与第三控制信号发送至DDR总线,以使第一写入数据写入DDR存储单元。
与上述访问存储器的方法实施例3相对应的,参见图12所示,本发明实施例还提供一种访问存储器的装置实施例3,该装置包括:
拆分单元601,用于当接收到存储器反馈的第一读出数据时,将第一读出数据拆分为DDR存储单元反馈的第二读出数据以及ECC存储单元反馈的ECC数据。
第一判断单元602,用于根据开关信号判断是否开启仅访问ECC存储单元功能。
调整单元603,用于如果开启仅访问ECC存储单元功能,则ECC数据为自定义ECC数据,根据预设的数据调整方式将自定义ECC数据调整至第二读出数据内,生成第三读出数据。
第一读出单元604,用于将第三读出数据发送到读数据总线,以使用户根据第三读出数据读出自定义ECC数据。
具体的,其中,调整单元603可以包括:
接收子单元,用于接收用户预设的位置信息,位置信息包括自定义ECC数据所处于读数据总线上的期望位置。
插入子单元,用于根据位置信息将自定义ECC数据插入第二读出数据对应于读数据总线上的相关位置。
删除子单元,用于删除第二读出数据内其他位置与自定义ECC数据位宽相同的数据,生成第三读出数据。
与上述访问存储器的方法实施例4相对应的,参见图13所示,本发明实施例还提供一种访问存储器的装置实施例4,在上述装置实施例3的基础上,该装置还可以包括:
第一反馈单元605,用于将第三读出数据发送到读数据总线,同时向读数据总线反馈读数据正确响应信息。第二读出单元606,用于如果未开启仅访问ECC存储单元功能,则将第二读出数据发送到读数据总线。
第二判断单元607,用于根据第二开关信号判断是否开启ECC校验功能。
计算单元608,用于如果开启ECC校验功能,则根据第二读出数据,利用ECC算法,计算获得校验ECC数据。
第三判断单元609,用于判断ECC数据与校验ECC数据是否相同。
第二反馈单元610,用于如果ECC数据与校验ECC数据相同,则向读数据总线反馈读数据正确响应信息。
第三反馈单元611,如果ECC数据与校验ECC数据不相同,则向读数据总线反馈读数据错误响应信息。
第四反馈单元612,用于如果未开启ECC校验功能,则向读数据总线反馈读数据正确响应信息。
进一步的,本发明实施例还提供了控制器DMC的硬件构成。可以包括至少一个处理器(例如CPU),至少一个网络接口或者其他通信接口,存储器,和至少一个通信总线,用于实现这些装置之间的连接通信。处理器用于执行存储器中存储的可执行模块,例如计算机程序。存储器可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个网络接口(可以是有线或者无线)实现该系统网关与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
对于控制器DMC来说,参见图14所示,在一些实施方式中,存储器中存储了程序指令,程序指令可以被处理器执行,其中,程序指令可包括第一判断单元501、截取单元502、第一拼接单元503、第一获得单元504以及第一写入单元505,或者程序指令还可包括计算单元506、第二拼接单元507、第二判断单元508、第二获得单元509、第二写入单元510、第三获得单元511以及第三写入单元512。参见图15所示,在一些实施方式中,存储器中存储了程序指令,程序指令可以被处理器执行,其中,程序指令可包括拆分单元601、第一判断单元602、调整单元603以及第一读出单元604,或者程序指令还可包括第一反馈单元605、第二读出单元606、第二判断单元607、计算单元608、第三判断单元609、第二反馈单元610、第三反馈单元611以及第四反馈单元612。各单元的具体实现可参见上述实施例中的相应单元,这里不再赘述。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (14)

1.一种访问存储器的方法,其特征在于,所述存储器包括双倍速率同步动态随机存储器DDR存储单元以及纠错码ECC存储单元,所述方法包括:
当接收到第一写入数据时,根据第一开关信号判断是否开启仅访问ECC存储单元功能;
如果开启仅访问ECC存储单元功能,则所述第一写入数据内包含用户设置的自定义ECC数据,根据预设的数据截取方式对所述第一写入数据进行截取,获得所述自定义ECC数据;
将所述自定义ECC数据与所述第一写入数据进行拼接,生成第二写入数据;
获得第一控制信号,所述第一控制信号用于屏蔽所述第二写入数据中的所述第一写入数据写入所述存储器;
将所述第二写入数据与所述第一控制信号发送至DDR总线,以使所述自定义ECC数据写入所述ECC存储单元。
2.根据权利要求1所述的方法,其特征在于,所述根据预设的数据截取方式对所述第一写入数据进行截取,获得所述自定义ECC数据,包括:
接收用户预设的位置信息,所述位置信息包括所述自定义ECC数据所处于写数据总线上的位置,根据所述位置信息对写数据总线相关位置上的所述第一写入数据进行截取,获得所述自定义ECC数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果未开启仅访问ECC存储单元功能,则根据所述第一写入数据,利用ECC算法,计算获得ECC数据;
将所述ECC数据与所述第一写入数据进行拼接,生成第三写入数据;
根据第二开关信号判断是否开启ECC校验功能;
如果开启ECC校验功能,则获得第二控制信号,所述第二控制信号用于控制所述第三写入数据写入所述存储器;
将所述第三写入数据与所述第二控制信号发送至DDR总线,以使所述第一写入数据写入所述DDR存储单元,所述ECC数据写入所述ECC存储单元;
如果未开启ECC校验功能,则获得第三控制信号,所述第三控制信号用于屏蔽所述第三写入数据中的所述ECC数据写入所述存储器;
将所述第三写入数据与所述第三控制信号发送至DDR总线,以使所述第一写入数据写入所述DDR存储单元。
4.一种访问存储器的方法,其特征在于,所述存储器包括双倍速率同步动态随机存储器DDR存储单元以及纠错码ECC存储单元,所述方法包括:
当接收到所述存储器反馈的第一读出数据时,将所述第一读出数据拆分为所述DDR存储单元反馈的第二读出数据以及所述ECC存储单元反馈的ECC数据;
根据第一开关信号判断是否开启仅访问ECC存储单元功能;
如果开启仅访问ECC存储单元功能,则所述ECC数据为自定义ECC数据,根据预设的数据调整方式将所述自定义ECC数据调整至所述第二读出数据内,生成第三读出数据;
将所述第三读出数据发送到读数据总线,以使用户根据所述第三读出数据读出所述自定义ECC数据。
5.根据权利要求4所述的方法,其特征在于,所述根据预设的数据调整方式将所述自定义ECC数据调整至所述第二读出数据内,生成第三读出数据,包括:
接收用户预设的位置信息,所述位置信息包括自定义ECC数据所处于读数据总线上的期望位置,根据所述位置信息将所述自定义ECC数据插入所述第二读出数据对应于读数据总线上的相关位置,并删除所述第二读出数据内其他位置与所述自定义ECC数据位宽相同的数据,生成第三读出数据。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将第三读出数据发送到读数据总线,同时向所述读数据总线反馈读数据正确响应信息。
7.根据权利要求4所述的方法,其特征在于,所述方法还包括:
如果未开启仅访问ECC存储单元功能,则将第二读出数据发送到读数据总线;
根据第二开关信号判断是否开启ECC校验功能;如果开启ECC校验功能,则根据所述第二读出数据,利用ECC算法,计算获得校验ECC数据;
判断所述ECC数据与所述校验ECC数据是否相同;
如果所述ECC数据与所述校验ECC数据相同,则向所述读数据总线反馈读数据正确响应信息;
如果所述ECC数据与所述校验ECC数据不相同,则向所述读数据总线反馈读数据错误响应信息;
如果未开启ECC校验功能,则向所述读数据总线反馈读数据正确响应信息。
8.一种访问存储器的装置,其特征在于,所述存储器包括双倍速率同步动态随机存储器DDR存储单元以及纠错码ECC存储单元,所述装置包括:
第一判断单元,用于当接收到第一写入数据时,根据第一开关信号判断是否开启仅访问ECC存储单元功能;
截取单元,用于如果开启仅访问ECC存储单元功能,则所述第一写入数据内包含用户设置的自定义ECC数据,根据预设的数据截取方式对所述第一写入数据进行截取,获得所述自定义ECC数据;
第一拼接单元,用于将所述自定义ECC数据与所述第一写入数据进行拼接,生成第二写入数据;
第一获得单元,用于获得第一控制信号,所述第一控制信号用于屏蔽所述第二写入数据中的所述第一写入数据写入所述存储器;
第一写入单元,用于将所述第二写入数据与所述第一控制信号发送至DDR总线,以使所述自定义ECC数据写入所述ECC存储单元。
9.根据权利要求7所述的装置,其特征在于,所述截取单元包括:
接收子单元,用于接收用户预设的位置信息,所述位置信息包括所述自定义ECC数据所处于写数据总线上的位置;
截取子单元,用于根据所述位置信息对写数据总线相关位置上的所述第一写入数据进行截取,获得所述自定义ECC数据。
10.根据权利要求7所述的装置,其特征在于,所述装置还包括:
计算单元,用于如果未开启仅访问ECC存储单元功能,则根据所述第一写入数据,利用ECC算法,计算获得ECC数据;
第二拼接单元,用于将所述ECC数据与所述第一写入数据进行拼接,生成第三写入数据;
第二判断单元,用于根据第二开关信号判断是否开启ECC校验功能;
第二获得单元,用于如果开启ECC校验功能,则获得第二控制信号,所述第二控制信号用于控制所述第三写入数据写入所述存储器;
第二写入单元,用于将所述第三写入数据与所述第二控制信号发送至DDR总线,以使所述第一写入数据写入所述DDR存储单元,所述ECC数据写入所述ECC存储单元;
第三获得单元,用于如果未开启ECC校验功能,则获得第三控制信号,所述第三控制信号用于屏蔽所述第三写入数据中的所述ECC数据写入所述存储器;
第三写入单元,用于将所述第三写入数据与所述第三控制信号发送至DDR总线,以使所述第一写入数据写入所述DDR存储单元。
11.一种访问存储器的装置,其特征在于,所述存储器包括双倍速率同步动态随机存储器DDR存储单元以及纠错码ECC存储单元,所述装置包括:
拆分单元,用于当接收到所述存储器反馈的第一读出数据时,将所述第一读出数据拆分为所述DDR存储单元反馈的第二读出数据以及所述ECC存储单元反馈的ECC数据;
第一判断单元,用于根据第一开关信号判断是否开启仅访问ECC存储单元功能;
调整单元,用于如果开启仅访问ECC存储单元功能,则所述ECC数据为自定义ECC数据,根据预设的数据调整方式将所述自定义ECC数据调整至所述第二读出数据内,生成第三读出数据;
第一读出单元,用于将所述第三读出数据发送到读数据总线,以使用户根据所述第三读出数据读出所述自定义ECC数据。
12.根据权利要求11所述的装置,其特征在于,所述调整单元包括:
接收子单元,用于接收用户预设的位置信息,所述位置信息包括自定义ECC数据所处于读数据总线上的期望位置;
插入子单元,用于根据所述位置信息将所述自定义ECC数据插入所述第二读出数据对应于读数据总线上的相关位置;
删除子单元,用于删除所述第二读出数据内其他位置与所述自定义ECC数据位宽相同的数据,生成第三读出数据。
13.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第一反馈单元,用于将第三读出数据发送到读数据总线,同时向所述读数据总线反馈读数据正确响应信息。
14.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第二读出单元,用于如果未开启仅访问ECC存储单元功能,则将第二读出数据发送到读数据总线;
第二判断单元,用于根据第二开关信号判断是否开启ECC校验功能;
计算单元,用于如果开启ECC校验功能,则根据所述第二读出数据,利用ECC算法,计算获得校验ECC数据;
第三判断单元,用于判断所述ECC数据与所述校验ECC数据是否相同;
第二反馈单元,用于如果所述ECC数据与所述校验ECC数据相同,则向所述读数据总线反馈读数据正确响应信息;
第三反馈单元,用于如果所述ECC数据与所述校验ECC数据不相同,则向所述读数据总线反馈读数据错误响应信息;
第四反馈单元,用于如果未开启ECC校验功能,则向所述读数据总线反馈读数据正确响应信息。
CN201310213661.8A 2013-05-31 2013-05-31 一种访问存储器的方法及装置 Active CN103279401B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310213661.8A CN103279401B (zh) 2013-05-31 2013-05-31 一种访问存储器的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310213661.8A CN103279401B (zh) 2013-05-31 2013-05-31 一种访问存储器的方法及装置

Publications (2)

Publication Number Publication Date
CN103279401A true CN103279401A (zh) 2013-09-04
CN103279401B CN103279401B (zh) 2016-01-27

Family

ID=49061930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310213661.8A Active CN103279401B (zh) 2013-05-31 2013-05-31 一种访问存储器的方法及装置

Country Status (1)

Country Link
CN (1) CN103279401B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107003857A (zh) * 2014-12-19 2017-08-01 美光科技公司 用于流水线处理具有纠错译码的存储器操作的设备及方法
CN107438944A (zh) * 2015-12-22 2017-12-05 松下知识产权经营株式会社 电动机控制装置的定制方法和电动机控制装置
CN108665939A (zh) * 2017-03-31 2018-10-16 厦门鑫忆讯科技有限公司 为存储器提供ecc的方法与装置
CN110390973A (zh) * 2019-07-22 2019-10-29 上海兆芯集成电路有限公司 存储器控制器
CN111045955A (zh) * 2019-12-16 2020-04-21 瓴盛科技有限公司 架构动态配置的存储装置及其操作方法及电子设备
CN114356455A (zh) * 2022-01-06 2022-04-15 深圳忆联信息系统有限公司 提升芯片启动可靠性的方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1667755A (zh) * 2004-02-13 2005-09-14 株式会社东芝 带有存储器的半导体器件和存储器测试的方法
US20070113155A1 (en) * 2005-11-11 2007-05-17 Nec Electronics Corporation Semiconductor storage device equipped with ECC function
CN101042938A (zh) * 2006-03-24 2007-09-26 富士通株式会社 以纠错码存储器构成的具有冗余功能的半导体存储器设备
CN102279776A (zh) * 2010-06-11 2011-12-14 无锡中星微电子有限公司 一种错误检查与纠正能力的测试方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1667755A (zh) * 2004-02-13 2005-09-14 株式会社东芝 带有存储器的半导体器件和存储器测试的方法
US20070113155A1 (en) * 2005-11-11 2007-05-17 Nec Electronics Corporation Semiconductor storage device equipped with ECC function
CN101042938A (zh) * 2006-03-24 2007-09-26 富士通株式会社 以纠错码存储器构成的具有冗余功能的半导体存储器设备
CN102279776A (zh) * 2010-06-11 2011-12-14 无锡中星微电子有限公司 一种错误检查与纠正能力的测试方法及装置

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11309919B2 (en) 2014-12-19 2022-04-19 Micron Technology, Inc. Apparatuses and methods for pipelining memory operations with error correction coding
CN107003857B (zh) * 2014-12-19 2019-06-18 美光科技公司 用于流水线处理具有纠错译码的存储器操作的方法
US10447316B2 (en) 2014-12-19 2019-10-15 Micron Technology, Inc. Apparatuses and methods for pipelining memory operations with error correction coding
CN107003857A (zh) * 2014-12-19 2017-08-01 美光科技公司 用于流水线处理具有纠错译码的存储器操作的设备及方法
US11955991B2 (en) 2014-12-19 2024-04-09 Micron Technology, Inc. Apparatuses and methods for pipelining memory operations with error correction coding
CN107438944A (zh) * 2015-12-22 2017-12-05 松下知识产权经营株式会社 电动机控制装置的定制方法和电动机控制装置
CN108665939A (zh) * 2017-03-31 2018-10-16 厦门鑫忆讯科技有限公司 为存储器提供ecc的方法与装置
CN110390973A (zh) * 2019-07-22 2019-10-29 上海兆芯集成电路有限公司 存储器控制器
CN110390973B (zh) * 2019-07-22 2021-08-17 上海兆芯集成电路有限公司 存储器控制器
CN111045955A (zh) * 2019-12-16 2020-04-21 瓴盛科技有限公司 架构动态配置的存储装置及其操作方法及电子设备
CN111045955B (zh) * 2019-12-16 2023-09-22 瓴盛科技有限公司 架构动态配置的存储装置及其操作方法及电子设备
CN114356455A (zh) * 2022-01-06 2022-04-15 深圳忆联信息系统有限公司 提升芯片启动可靠性的方法及装置
CN114356455B (zh) * 2022-01-06 2023-12-05 深圳忆联信息系统有限公司 提升芯片启动可靠性的方法及装置

Also Published As

Publication number Publication date
CN103279401B (zh) 2016-01-27

Similar Documents

Publication Publication Date Title
CN103279401A (zh) 一种访问存储器的方法及装置
US10122741B2 (en) Non-harmful insertion of data mimicking computer network attacks
US20220006617A1 (en) Method and apparatus for data storage and verification
US10592873B2 (en) Edit transactions for blockchains
US7788506B2 (en) Method and device for protecting a memory against attacks by error injection
US11334415B2 (en) Data storage device and method for sharing memory of controller thereof
CN107918743A (zh) 基于静态随机存取存储器的认证电路
US9004367B2 (en) Radio frequency identification (RFID) tag and method of updating key of RFID tag
US11199970B2 (en) Data storage device and method for rewriting parameters thereof
US11663145B2 (en) Off-chip memory address scrambling apparatus and method for system on chip
CN109445705B (zh) 固件认证方法及固态硬盘
CN102163155A (zh) 存储设备的升级方法及升级控制装置
US10642747B1 (en) Virtual flash system
CN107402719A (zh) 可用于数据储存装置的数据储存方法与数据回复程序、以及采用这些方法的数据储存装置
CN115116530A (zh) 存储器的校验管脚处理方法、装置、设备和存储介质
CN106155580A (zh) 一种基于嵌入式多媒体卡eMMC的存储方法及系统
CN111913908A (zh) 具有重放攻击对抗措施的存储系统及其操作方法
CN109598137B (zh) 一种用于安全处理数据的方法及其系统
TWI275944B (en) Data access based storage device communicating method
CN107908500A (zh) 一种坏块识别方法及装置
CN115688120A (zh) 安全芯片固件导入方法、安全芯片及计算机可读存储介质
JP5435647B2 (ja) コンピュータシステム、メモリ初期化方法、及びプログラム
US10754548B2 (en) Data storage device and method for rewriting parameters thereof
CN109933458A (zh) 一种纠删池确定方法、系统、设备及计算机可读存储介质
US12008235B2 (en) Data storage device and method for rewriting parameters thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210420

Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040

Patentee after: Honor Device Co.,Ltd.

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

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right