一种基于汉明码存取数据的方法及集成随机存取存储器的制造方法

文档序号:9305413阅读:716来源:国知局
一种基于汉明码存取数据的方法及集成随机存取存储器的制造方法
【技术领域】
[0001]本发明涉及数据存储技术领域,尤其涉及一种基于汉明码写入、读取数据的方法及实现上述方法的集成随机存取存储器(IRAM, Integrate Random Access Memory)。
【背景技术】
[0002]本申请发明人在实现本申请实施例技术方案的过程中,至少发现相关技术中存在如下技术问题:
[0003]ECC(错误检查与纠错,Error Checking and Correcting)校验是在传统奇偶校验基础上发展而来的,主要利用数据块的行列奇偶校验信息生成ECC码,检出给定数据块是否失真并具有对该数据块自动一位纠错的能力。它克服了传统奇偶校验只能检测出数据块奇数位出错、校验码冗长,不能纠错的局限性。
[0004]在计算机系统中,保持数据的正确性和一致性是计算机正常工作的一个重要基础。而数据在进行储存或者传输的过程中,由于干扰、器件故障等原因就存在着使数据失真的可能性。因此必须采取一些措施及时检出及纠正失真的数据。而目前的IRAM作为一种常用的大容量储存设备,只能用于进行大容量数据的存储,无法保证其写入的数据或读取的数据的准确率,并且在数据发生错误时无法进行纠错。

【发明内容】

[0005]有鉴于此,本发明实施例期望提供一种基于汉明码写入、读取数据的方法及实现该方法的IRAM,解决了 IRAM无法保证其写入的数据或读取的数据的准确率,并且在数据发生错误时无法进行纠错的问题。
[0006]本发明的技术方案是这样实现的:
[0007]本发明实施例提供一种基于汉明码写入数据的方法所述方法包括:对接收到的读写指令进行解析,获取所述读写指令的读写状态;确定所述读写状态为写状态时,将所述读写指令携带的待存数据进行错误检查与纠正ECC编码以生成对应的第一校验码,并将所述待存数据与所述第一校验码进行存储。
[0008]上述方案中,对接收到的读写指令进行解析之前,将所述读写指令进行格式转换。
[0009]上述方案中,在将所述读写指令携带的待存数据进行ECC编码之前,判断所述待存数据是否存在无效数据;在所述待存数据存在无效数据的情况下,获取所述读写指令携带的操作地址对应的存储数据,根据所述存储数据生成有效的待存数据。
[0010]本发明实施例还提供一种基于汉明码读取数据的方法,所述方法包括:对接收到的读写指令进行解析,获取所述读写指令的读写状态;确定所述读写状态为读状态时,根据所述读写指令获取待取数据,采用错误检查与纠正ECC编码对所述待取数据进行检测得到检测结果,根据所述检测结果将所述待取数据直接发送、或将所述待取数据进行纠错后发送、或触发告警。
[0011]上述方案中,对接收到的读写指令进行解析之前,将所述读写指令进行格式转换。
[0012]上述方案中,根据所述读写指令获取所述待取数据及所述待取数据对应的第一校验码,并将所述待取数据进行ECC编码以生成第二校验码;相应的,所述采用ECC编码对所述待取数据进行检测得到检测结果,根据所述检测结果将所述待取数据直接发送、或将所述待取数据进行纠错后发送、或触发告警包括:将所述第一校验码与所述第二校验码进行异或操作生成异或结果;根据所述异或结果将所述待取数据直接发送、或将所述待取数据进行纠错后发送、或触发告警。
[0013]上述方案中,所述根据所述检测结果将所述待取数据直接发送、或将所述待取数据进行纠错后发送、或触发告警具体为:情况一:当所述异或结果为全O或存在单比特的1,则将所述待取数据直接发送;情况二:当所述异或结果中O与I的个数相同,则将所述待取数据进行纠错后发送;若非所述情况一和所述情况二,则触发告警。
[0014]本发明实施例还提供一种基于汉明码写入数据的集成随机存取存储器IRAM,所述IRAM包括:第一控制模块、第一ECC模块以及第一存储模块;其中,所述第一控制模块,用于对接收到的读写指令进行解析,获取所述读写指令的读写状态;所述第一 ECC模块,用于确定所述读写状态为写状态时,将所述读写指令携带的待存数据进行错误检查与纠正ECC编码以生成对应的第一校验码;所述第一存储模块,用于存储所述待存数据和所述第一校验码。
[0015]上述方案中,所述第一控制模块还用于将所述读写指令进行格式转换。
[0016]上述方案中,所述第一 ECC模块包括:第一判断子模块、第一编码子模块;其中,所述第一判断子模块,用于判断所述待存数据是否存在无效数据,在所述待存数据存在无效数据的情况下,获取所述读写指令携带的操作地址对应的存储数据,根据所述存储数据生成有效的待存数据;所述第一编码子模块,用于将所述待存数据进行ECC编码以生成第一校验码。
[0017]本发明实施例还提供一种基于汉明码读取数据的集成随机存取存储器IRAM,所述IRAM包括:第二控制模块、第二 ECC模块以及第二存储模块;其中,所述第二控制模块,用于对接收到的读写指令进行解析,获取所述读写指令的读写状态;所述第二 ECC模块,用于确定所述读写状态为读状态时,根据所述读写指令获取待取数据,采用错误检查与纠正ECC编码对所述待取数据进行检测得到检测结果,根据所述检测结果将所述待取数据直接发送、或将所述待取数据进行纠错后发送、或触发告警;所述第二存储模块,用于存储所述待取数据和所述待取数据对应的第一校验码。
[0018]上述方案中,所述第二控制模块还用于将所述读写指令进行格式转换。
[0019]上述方案中,所述第二 ECC模块,包括:第二编码子模块、校验子模块;其中,所述第二编码子模块,用于根据所述读写指令获取所述待取数据及所述待取数据对应的第一校验码,并将所述待取数据进行ECC编码以生成第二校验码;所述校验子模块,用于将所述第一校验码与所述第二校验码进行异或操作生成异或结果,根据所述异或结果将所述待取数据直接发送、或将所述待取数据进行纠错后发送、或触发告警。
[0020]上述方案中,所述校验子模块具体用于情况一:当所述异或的结果为全O或存在单比特的I,则将所述待取数据直接发送;情况二:当所述异或的结果中O与I的个数相同,则将所述待取数据进行纠错后发送;若非所述情况一和所述情况二,则触发告警。
[0021]本发明实施例还提供了一种基于汉明码写入、读取数据的方法及实现该方法的IRAM,对于该写入数据的方法,包括:对接收到的读写指令进行解析,获取所述读写指令的读写状态;确定所述读写状态为写状态时,将所述读写指令携带的待存数据进行ECC编码以生成对应的第一校验码,并将所述待存数据与所述第一校验码进行存储;对于读取数据的方法,包括:确定所述读写状态为读状态时,根据所述读写指令获取待取数据,采用ECC编码对所述待取数据进行检测得到检测结果,根据所述检测结果将所述待取数据直接发送、或将所述待取数据进行纠错后发送、或触发告警。
[0022]采用本发明实施例,解决了 IRAM无法保证其写入的数据或读取的数据的准确率,并且在数据发生错误时无法进行纠错的问题;同时,本发明实施例的方法采用了汉明码,克服了传统奇偶校验只能检出数据块奇偶位的错误,校验码冗长且无法纠错的缺点,通过ECC校验的方式完成对IRAM数
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1