ECC存储器存储不同长度数据的方法.pdf

上传人:Y948****062 文档编号:6232934 上传时间:2019-05-23 格式:PDF 页数:5 大小:653.91KB
返回 下载 相关 举报
摘要
申请专利号:

CN201310536363.2

申请日:

2013.10.31

公开号:

CN103559914A

公开日:

2014.02.05

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||著录事项变更IPC(主分类):G11C 29/42变更事项:申请人变更前:西安华芯半导体有限公司变更后:西安紫光国芯半导体有限公司变更事项:地址变更前:710055 陕西省西安市高新6路38号腾飞创新中心A座4层变更后:710055 陕西省西安市高新6路38号腾飞创新中心A座4层|||实质审查的生效IPC(主分类):G11C 29/42申请日:20131031|||公开

IPC分类号:

G11C29/42

主分类号:

G11C29/42

申请人:

西安华芯半导体有限公司

发明人:

亚历山大; 付妮

地址:

710055 陕西省西安市高新6路38号腾飞创新中心A座4层

优先权:

专利代理机构:

西安智邦专利商标代理有限公司 61211

代理人:

杨引雪

PDF下载: PDF下载
内容摘要

本发明提供一种ECC存储器存储不同长度数据的方法,该方法虽然未对ECC存储器存储阵列物理上进行修改,但仍然能灵活选择存储不同长度的数据并进行ECC操作。存储阵列在存储器中占据了大部分的面积,该ECC存储器存储不同长度数据的方法在不改变存储阵列的情况下,可灵活地利用ECC的编解码规则满足不同长度的数据进行ECC操作的需求。

权利要求书

权利要求书
1.  一种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位,将不能再进行存储。

2.  根据权利要求1所述的ECC存储器存储不同长度数据的方法,其特征在于:所述ECC存储器存储陈列数据长度为8、16、32、64、128、256位,监督位为4、5、6、7、8、9、10位。

说明书

说明书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为本发明存储原理示意图。
具体实施方式
以数据位长度从64位变到32位为例,可以选用(39,32)的SEC/DED码,其中数据位长度为32位,监督位长度为7位,存储阵列也变为图2中的对应关系。由于一次只需要32位数据,数据位由d<63:0>变为两组32位数据d0<31:0>和d1<31:0>,相应的数据位存储阵列也变为两部分,A0(包含4个小存储阵列A0_3~A0_0)和A1(包含4个小存储阵列A1_3~A1_0),每个小存储阵列依旧存储8位数据,监督位存储阵列不变。监督位p<7:0>中,对于32位数据长度只需要7位监督位,剩余的一位可作为判断位,如果用低7位p<6:0>作为监督位,那最高位p<7>可用来做判断位用来判断这7位监督位对 应的是d0还是d1的32位数据。例如,可定义当p<7>=0时,表示监督位对应d0<31:0>的32位数据位;当p<7>=1时,表示监督位对应d1<31:0>的32位数据位。当外部写入d0<31:0>时,ECC编码产生p<6:0>,并且与p<7>=0一起写入存储阵列;读出d0<31:0>时,ECC解码先判断p<7>所存的值,如果是“0”,则用相应的p<6:0>进行解码和纠正操作。
对于256位/128位/16位/8位等以及其它数据位长度的数据,只要其长度适宜分割并且有相对应的ECC码(不限于SEC/DED码)均可以使用此方法。例如以上例子如果不是分割成32位而是分割成16位数据位长度d3<15:0>/d2<15:0>/d1<15:0>/d0<15:0>,那数据位存储阵列相应可分割成4个相同的部分A3/A2/A1/A0。每16位数据需要6位监督位,剩余的2位监督位可用来判断监督位相对应的数据位属于哪部分存储阵列。例如p<5:0>作为监督位,p<7:6>作为判断位,当p<7:6>=00,对应存储阵列A0和数据d0<15:0>;当p<7:6>=01,对应存储阵列A1和数据d1<15:0>;当p<7:6>=10,对应存储阵列A2和数据d2<15:0>;当p<7:6>=11,对应存储阵列A3和数据d3<15:0>。

ECC存储器存储不同长度数据的方法.pdf_第1页
第1页 / 共5页
ECC存储器存储不同长度数据的方法.pdf_第2页
第2页 / 共5页
ECC存储器存储不同长度数据的方法.pdf_第3页
第3页 / 共5页
点击查看更多>>
资源描述

《ECC存储器存储不同长度数据的方法.pdf》由会员分享,可在线阅读,更多相关《ECC存储器存储不同长度数据的方法.pdf(5页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103559914 A (43)申请公布日 2014.02.05 CN 103559914 A (21)申请号 201310536363.2 (22)申请日 2013.10.31 G11C 29/42(2006.01) (71)申请人 西安华芯半导体有限公司 地址 710055 陕西省西安市高新6路38号腾 飞创新中心 A 座 4 层 (72)发明人 亚历山大 付妮 (74)专利代理机构 西安智邦专利商标代理有限 公司 61211 代理人 杨引雪 (54) 发明名称 ECC 存储器存储不同长度数据的方法 (57) 摘要 本发明提供一种 ECC 存储器存储不同长度数 据。

2、的方法, 该方法虽然未对 ECC 存储器存储阵列 物理上进行修改, 但仍然能灵活选择存储不同长 度的数据并进行 ECC 操作。存储阵列在存储器中 占据了大部分的面积, 该 ECC 存储器存储不同长 度数据的方法在不改变存储阵列的情况下, 可灵 活地利用 ECC 的编解码规则满足不同长度的数据 进行 ECC 操作的需求。 (51)Int.Cl. 权利要求书 1 页 说明书 2 页 附图 1 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书2页 附图1页 (10)申请公布号 CN 103559914 A CN 103559914 A 1/1 页 2 1. 一种。

3、 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倍数据的监督位, 原监督位的剩余位为。

4、该组数据的位置判断位, 监督位 用于进行 ECC 操作验证其存储数据是否正确, 位置判断位用于判断此监督位对应的数据位 在存储阵列中的存储位置 ; 此1/2n倍数据以外的存储阵列可以用于存储没有相应的监督位 的数据 ; 4 将小于 M 位的数据存入存储阵列中的一部分, 原长度为 k 的监督位的部分存储位置 用来存储此数据的监督位, 原监督位的剩余位为该组数据的位置判断位, 监督位用于进行 ECC 操作验证其存储数据是否正确, 位置判断位用于判断此监督位对应的数据位在存储阵 列中的存储位置 ; 如果数据长度小于 M/2 位, 此数据以外的存储阵列仍然可以继续存储相 同长度的数据位, 只是这些数据。

5、位没有相应的监督位 ; 如果数据长度大于 M/2 位, 将不能再 进行存储。 2.根据权利要求1所述的ECC存储器存储不同长度数据的方法, 其特征在于 : 所述ECC 存储器存储陈列数据长度为 8、 16、 32、 64、 128、 256 位, 监督位为 4、 5、 6、 7、 8、 9、 10 位。 权 利 要 求 书 CN 103559914 A 2 1/2 页 3 ECC 存储器存储不同长度数据的方法 技术领域 0001 本发明涉及一种不同数据长度的存储方法, 主要用于固定长度的 ECC 存储器存储 不同长度的数据。 背景技术 0002 对于存储器来说, ECC常采用线性码 (line。

6、ar codes) , 而出于对出错率和修复成本 的折中考虑, 最常见的是线性码中的 SEC/DED(single error correcting/double error detecting 一位纠正两位检测) 码。以 64 位数据长度为例, 可采用 (72, 64) 的 SEC/DED 码, 其中64表示数据位长度, 72表示数据位长度和监督位长度之和, 也就是说监督位长度是8, 可用图 1 表示。其中, 存储阵列被分为两部分, 存储数据位的存储阵列 A 和存储监督位的存 储阵列 B ; 如果以存储量来分的话, 可分为 9 个部分, 存储数据位的存储阵列 A7 A0 和存 储监督位的存储。

7、阵列 B, 每部分能存储 8 位数据。 0003 当系统工作在不同模式下时, 可能需要不同的数据位长度, 例如 32 位, 此时就不 能用上面所提到的 (72, 64) 码, 而存储器的存储阵列一但固定就不能在物理上进行修改, 所 以在以上存储阵列的基础上可以做改进以支持不同的数据位长度的要求。 发明内容 0004 本发明提供一种 ECC 存储器存储不同长度数据的方法, 该方法虽然未对 ECC 存储 器存储阵列物理上进行修改, 但仍然能灵活选择存储不同长度的数据并进行 ECC 操作。 0005 本发明的具体技术解决方案如下 : 0006 该 ECC 存储器存储不同长度数据的方法, 包括以下步骤。

8、 : 0007 1 判断存入的数据长度是否与 ECC 存储器存储阵列数据长度相同为 M 位或为其 1/2n倍, n 为自然数, 若长度相同, 则进入步骤 2 处理, 若为 1/2n倍, 则进入步骤 3 处理, 若小 于 M 位但不等于 1/2n倍, 则进入步骤 4 处理 ; 0008 2 此时的 ECC 存储器与一般的 ECC 存储器相同, 用 M 位存储数据产生长度为 k 的 监督位并同时存入存储阵列 ; 0009 3将1/2n倍的数据存入存储阵列中的一部分, 原长度为k的监督位的部分存储位 置用来存储此 1/2n倍数据的监督位, 原监督位的剩余位为该组数据的位置判断位, 监督位 用于进行 。

9、ECC 操作验证其存储数据是否正确, 位置判断位用于判断此监督位对应的数据位 在存储阵列中的存储位置 ; 此 1/2n倍数据以外的存储阵列仍然可以存储数据位, 只是这些 数据位没有相应的监督位 ; 0010 4 将小于 M 位的数据存入存储阵列中的一部分, 原长度为 k 的监督位的部分存储 位置用来存储此数据的监督位, 原监督位的剩余位为该组数据的位置判断位, 监督位用于 进行 ECC 操作验证其存储数据是否正确, 位置判断位用于判断此监督位对应的数据位在存 储阵列中的存储位置 ; 如果数据长度小于 M/2 位, 此数据以外的存储阵列仍然可以继续存 储相同长度的数据位, 只是这些数据位没有相应。

10、的监督位 ; 如果数据长度大于 M/2 位, 将不 说 明 书 CN 103559914 A 3 2/2 页 4 能再进行存储。 0011 本发明的优点在于 : 0012 存储阵列在存储器中占据了大部分的面积, 该 ECC 存储器存储不同长度数据的方 法在不改变存储阵列的情况下, 可灵活地利用 ECC 的编解码规则满足不同长度的数据进行 ECC 操作的需求。 附图说明 0013 图 1 为存储阵列存储原理示意图 ; 0014 图 2 为本发明存储原理示意图。 具体实施方式 0015 以数据位长度从 64 位变到 32 位为例, 可以选用 (39, 32) 的 SEC/DED 码, 其中数 据位。

11、长度为 32 位, 监督位长度为 7 位, 存储阵列也变为图 2 中的对应关系。由于一次只需 要 32 位数据, 数据位由 d 变为两组 32 位数据 d0 和 d1, 相应的数据 位存储阵列也变为两部分, A0(包含 4 个小存储阵列 A0_3 A0_0) 和 A1(包含 4 个小存 储阵列 A1_3 A1_0) , 每个小存储阵列依旧存储 8 位数据, 监督位存储阵列不变。监督位 p中, 对于32位数据长度只需要7位监督位, 剩余的一位可作为判断位, 如果用低7位 p 作为监督位, 那最高位 p 可用来做判断位用来判断这 7 位监督位对应的是 d0 还 是 d1 的 32 位数据。例如, 。

12、可定义当 p=0 时, 表示监督位对应 d0 的 32 位数据位 ; 当 p=1 时, 表示监督位对应 d1 的 32 位数据位。当外部写入 d0 时, ECC 编 码产生 p, 并且与 p=0 一起写入存储阵列 ; 读出 d0 时, ECC 解码先判断 p 所存的值, 如果是 “0” , 则用相应的 p 进行解码和纠正操作。 0016 对于256位/128位/16位/8位等以及其它数据位长度的数据, 只要其长度适宜分 割并且有相对应的 ECC 码 (不限于 SEC/DED 码) 均可以使用此方法。例如以上例子如果不是 分割成32位而是分割成16位数据位长度d3/d2/d1/d0, 那数据 位存储阵列相应可分割成4个相同的部分A3/A2/A1/A0。 每16位数据需要6位监督位, 剩余 的2位监督位可用来判断监督位相对应的数据位属于哪部分存储阵列。 例如p作为监 督位, p作为判断位, 当p=00, 对应存储阵列A0和数据d0 ; 当p=01, 对应存储阵列 A1 和数据 d1 ; 当 p=10, 对应存储阵列 A2 和数据 d2 ; 当 p=11, 对应存储阵列 A3 和数据 d3。 说 明 书 CN 103559914 A 4 1/1 页 5 图 1 图 2 说 明 书 附 图 CN 103559914 A 5 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 信息存储


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1