[发明专利]ECC存储器存储不同长度数据的方法有效
申请号: | 201310536363.2 | 申请日: | 2013-10-31 |
公开(公告)号: | CN103559914A | 公开(公告)日: | 2014-02-05 |
发明(设计)人: | 亚历山大;付妮 | 申请(专利权)人: | 西安华芯半导体有限公司 |
主分类号: | G11C29/42 | 分类号: | G11C29/42 |
代理公司: | 西安智邦专利商标代理有限公司 61211 | 代理人: | 杨引雪 |
地址: | 710055 陕西省西安*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | ecc 存储器 存储 不同 长度 数据 方法 | ||
技术领域
本发明涉及一种不同数据长度的存储方法,主要用于固定长度的ECC存储器存储不同长度的数据。
背景技术
对于存储器来说,ECC常采用线性码(linear codes),而出于对出错率和修复成本的折中考虑,最常见的是线性码中的SEC/DED(single error correcting/double error detecting一位纠正两位检测)码。以64位数据长度为例,可采用(72,64)的SEC/DED码,其中64表示数据位长度,72表示数据位长度和监督位长度之和,也就是说监督位长度是8,可用图1表示。其中,存储阵列被分为两部分,存储数据位的存储阵列A和存储监督位的存储阵列B;如果以存储量来分的话,可分为9个部分,存储数据位的存储阵列A7~A0和存储监督位的存储阵列B,每部分能存储8位数据。
当系统工作在不同模式下时,可能需要不同的数据位长度,例如32位,此时就不能用上面所提到的(72,64)码,而存储器的存储阵列一但固定就不能在物理上进行修改,所以在以上存储阵列的基础上可以做改进以支持不同的数据位长度的要求。
发明内容
本发明提供一种ECC存储器存储不同长度数据的方法,该方法虽然未对ECC存储器存储阵列物理上进行修改,但仍然能灵活选择存储不同长度的数据并进行ECC操作。
本发明的具体技术解决方案如下:
该ECC存储器存储不同长度数据的方法,包括以下步骤:
1]判断存入的数据长度是否与ECC存储器存储阵列数据长度相同为M位或为其1/2n倍,n为自然数,若长度相同,则进入步骤2处理,若为1/2n倍,则进入步骤3处理,若小于M位但不等于1/2n倍,则进入步骤4处理;
2]此时的ECC存储器与一般的ECC存储器相同,用M位存储数据产生长度为k的监督位并同时存入存储阵列;
3]将1/2n倍的数据存入存储阵列中的一部分,原长度为k的监督位的部分存储位置用来存储此1/2n倍数据的监督位,原监督位的剩余位为该组数据的位置判断位,监督位用于进行ECC操作验证其存储数据是否正确,位置判断位用于判断此监督位对应的数据位在存储阵列中的存储位置;此1/2n倍数据以外的存储阵列仍然可以存储数据位,只是这些数据位没有相应的监督位;
4]将小于M位的数据存入存储阵列中的一部分,原长度为k的监督位的部分存储位置用来存储此数据的监督位,原监督位的剩余位为该组数据的位置判断位,监督位用于进行ECC操作验证其存储数据是否正确,位置判断位用于判断此监督位对应的数据位在存储阵列中的存储位置;如果数据长度小于M/2位,此数据以外的存储阵列仍然可以继续存储相同长度的数据位,只是这些数据位没有相应的监督位;如果数据长度大于M/2位,将不能再进行存储。
本发明的优点在于:
存储阵列在存储器中占据了大部分的面积,该ECC存储器存储不同长度数据的方法在不改变存储阵列的情况下,可灵活地利用ECC的编解码规则满足不同长度的数据进行ECC操作的需求。
附图说明
图1为存储阵列存储原理示意图;
图2为本发明存储原理示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安华芯半导体有限公司,未经西安华芯半导体有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310536363.2/2.html,转载请声明来源钻瓜专利网。