《闪存的数据处理方法及装置.pdf》由会员分享,可在线阅读,更多相关《闪存的数据处理方法及装置.pdf(10页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103092717 A (43)申请公布日 2013.05.08 CN 103092717 A *CN103092717A* (21)申请号 201310020131.1 (22)申请日 2013.01.18 G06F 11/08(2006.01) (71)申请人 深圳市硅格半导体有限公司 地址 518057 广东省深圳市南山区高新区科 技南十二路长虹科技大厦 606-608 室 (72)发明人 许智鑫 (74)专利代理机构 深圳市世纪恒程知识产权代 理事务所 44287 代理人 胡海国 (54) 发明名称 闪存的数据处理方法及装置 (57) 摘要 本发明公开一种闪存。
2、的数据处理方法及装 置, 其方法包括 : 将闪存中的错误数据分为随机 错误数据和固定错误数据 ; 用错误纠错编码方式 对所述随机错误数据进行处理, 用跳列处理方法 对所述固定错误数据进行处理。本发明通过把闪 存中的固定错误数据和随机错误数据区别对待, 用跳列处理方法对固定错误数据进行处理, 使错 误纠错编码的全部性能用于处理随机错误数据, 在增加少量硬件资源的情况下获得很好的数据保 护效果, 且不影响系统性能。 (51)Int.Cl. 权利要求书 2 页 说明书 5 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书5页 附图2页 (10)申请。
3、公布号 CN 103092717 A CN 103092717 A *CN103092717A* 1/2 页 2 1. 一种闪存的数据处理方法, 其特征在于, 包括 : 将闪存中的错误数据分为随机错误数据和固定错误数据 ; 用错误纠错编码方式对所述随机错误数据进行处理, 用跳列处理方法对所述固定错误 数据进行处理。 2. 根据权利要求 1 所述的方法, 其特征在于, 所述用跳列处理方法对所述固定错误数 据进行处理的步骤包括 : 根据所述固定错误数据的信息获取坏列表格 ; 判断所述闪存当前操作的列地址位置信息是否包含在所述坏列表格中 ; 若是, 则对所述闪存当前操作的列地址进行跳列处理。 3. 。
4、根据权利要求 2 所述的方法, 其特征在于, 所述根据固定错误数据的信息获取坏列 表格的步骤包括 : 通过扫描或外部信息获取所述闪存的固定错误数据的信息 ; 将所述固定错误数据的信息整理成坏列表格。 4. 根据权利要求 3 所述的方法, 其特征在于, 所述判断闪存当前操作的列地址位置信 息是否包含在所述坏列表格中的步骤包括 : 获取所述闪存当前操作的列地址位置信息 ; 将所述列地址位置信息与所述坏列表格进行比对, 若所述列地址位置信息落在所述坏 列表格的范围内, 判断所述列地址位置信息包含在所述坏列表格中, 否则, 判断为不包含在 所述坏列表格中。 5.根据权利要求2、 3或4所述的方法, 其。
5、特征在于, 所述对闪存当前操作的列地址进行 跳列处理的步骤包括 : 写入数据时, 在所述闪存当前操作的列地址中写入数据, 所述写入的数据当作无效数 据处理 ; 读取数据时, 丢弃所述闪存当前操作的列地址中的所述无效数据。 6. 一种闪存的数据处理装置, 其特征在于, 包括 : 区分模块, 用于将闪存中的错误数据分为随机错误数据和固定错误数据 ; 处理模块, 用于对所述随机错误数据进行处理, 对所述固定错误数据进行处理。 7. 根据权利要求 6 所述的装置, 其特征在于, 所述处理模块包括 : 获取单元, 用于根据所述固定错误数据的信息获取坏列表格 ; 判断单元, 用于判断所述闪存当前操作的列地。
6、址位置信息是否包含在所述坏列表格 中 ; 若是, 则由处理单元对所述闪存当前操作的列地址进行跳列处理。 8. 根据权利要求 7 所述的装置, 其特征在于, 所述获取单元还用于 : 通过扫描或外部信息获取所述闪存的固定错误数据的信息 ; 将所述固定错误数据的信 息整理成坏列表格。 9. 根据权利要求 8 所述的装置, 其特征在于, 所述判断单元还用于 : 获取所述闪存当前操作的列地址位置信息 ; 将所述列地址位置信息与所述坏列表格进 行比对, 若所述列地址位置信息落在所述坏列表格的范围内, 判断所述列地址位置信息包 含在所述坏列表格中, 否则, 判断为不包含在所述坏列表格中。 权 利 要 求 书。
7、 CN 103092717 A 2 2/2 页 3 10. 根据权利要求 7、 8 或 9 所述的装置, 其特征在于, 所述处理单元还用于 : 写入数据时, 在所述闪存当前操作的列地址中写入数据, 所述写入的数据当作无效数 据处理 ; 读取数据时, 丢弃所述闪存当前操作的列地址中的所述无效数据。 权 利 要 求 书 CN 103092717 A 3 1/5 页 4 闪存的数据处理方法及装置 技术领域 0001 本发明涉及闪存技术领域, 尤其涉及一种闪存的数据处理方法及装置。 背景技术 0002 随着工艺水平的提升, 闪存 (Flash) 的容量越来越大, 但随之会产生一系列数据稳 定性方面的问。
8、题, 每个页 (存储单位, 一个页包含多个列地址) 固定会存在一些列地址所对 应的存储单元有缺陷的问题, 当往这些列地址写入数据后, 读出来的数据一定会出错, 对于 这些由于工艺问题导致的固定错误, 可以在使用之前预先得知。另外, 在对闪存 (Flash) 进 行数据读取的过程中, 由于各种环境因素如电流扰动、 电磁干扰等物理和电气原因, 再加上 闪存 (Flash) 本身的使用磨损等, 都可能会导致在数据交互过程中发生数据出错, 由这些原 因导致的数据错误, 这类错误不能预知, 称为随机错误。 0003 针对以上两种数据错误类型, 在各类与闪存 (Flash) 相关的系统中, 目前一般采用 。
9、ECC机制, 即错误纠错编码, 以此手段保护数据的完整性。 对于一个硬件系统, 比如一颗存储 控制芯片, 错误纠错编码 (ECC机制) 所占用的硬件资源比重是比较可观的, 要获得更大的错 误纠错编码 (ECC机制) 纠错能力, 需要增加的硬件资源开销会很大, 因此各系统中的错误纠 错编码 (ECC机制) 本身会存在纠错性能指标, 它不可能无限强, 当数据错误超过其最大纠错 能力后, 数据就不能被还原。对于目前新工艺大容量的闪存 (Flash) , 随机错误主要依靠错 误纠错编码 (ECC 机制) 进行数据保护, 但是受限于错误纠错编码 (ECC 机制) 的最大纠错能 力, 若直接使用错误纠错编。
10、码 (ECC机制) 对固定错误进行数据保护, 这些固定错误会固定占 用掉错误纠错编码 (ECC 机制) 的一部分性能, 导致错误纠错编码 (ECC 机制) 应对随机错误 的能力下降, 影响系统性能, 耗费硬件资源。 发明内容 0004 本发明的主要目的在于提供一种闪存的数据处理方法及装置, 旨在增加少量硬件 资源的情况下获得很好的数据保护效果。 0005 为了达到上述目的, 本发明提出一种闪存的数据处理方法, 包括 : 0006 将闪存中的错误数据分为随机错误数据和固定错误数据 ; 0007 用错误纠错编码方式对所述随机错误数据进行处理, 用跳列处理方法对所述固定 错误数据进行处理。 0008。
11、 优选地, 所述用跳列处理方法对所述固定错误数据进行处理的步骤包括 : 0009 根据所述固定错误数据的信息获取坏列表格 ; 0010 判断所述闪存当前操作的列地址位置信息是否包含在所述坏列表格中 ; 0011 若是, 则对所述闪存当前操作的列地址进行跳列处理。 0012 优选地, 所述根据闪存中的固定错误数据的信息获取坏列表格的步骤包括 : 0013 通过扫描或外部信息获取所述闪存的固定错误数据的信息 ; 0014 将所述固定错误数据的信息整理成坏列表格。 说 明 书 CN 103092717 A 4 2/5 页 5 0015 优选地, 所述判断闪存当前操作的列地址位置信息是否包含在所述坏列。
12、表格中的 步骤包括 : 0016 获取所述闪存当前操作的列地址位置信息 ; 0017 将所述列地址位置信息与所述坏列表格进行比对, 若所述列地址位置信息落在所 述坏列表格的范围内, 判断所述列地址位置信息是否包含在所述坏列表格中, 否则, 判断为 不包含在所述坏列表格中。 0018 优选地, 所述对闪存当前操作的列地址进行跳列处理的步骤包括 : 0019 写入数据时, 在所述闪存当前操作的列地址中写入数据, 所述写入的数据当作无 效数据处理 ; 0020 读取数据时, 丢弃所述闪存当前操作的列地址中的所述无效数据。 0021 本发明还提出一种闪存的数据处理装置, 包括 : 0022 区分模块,。
13、 用于将闪存中的错误数据分为随机错误数据和固定错误数据 ; 0023 处理模块, 用于对所述随机错误数据进行处理, 对所述固定错误数据进行处理。 0024 优选地, 所述处理模块包括 : 0025 获取单元, 用于根据所述固定错误数据的信息获取坏列表格 ; 0026 判断单元, 用于判断所述闪存当前操作的列地址位置信息是否包含在所述坏列表 格中 ; 0027 若是, 则由处理单元对所述闪存当前操作的列地址进行跳列处理。 0028 优选地, 所述获取单元还用于 : 0029 通过扫描或外部信息获取所述闪存的固定错误数据的信息 ; 将所述固定错误数据 的信息整理成坏列表格。 0030 优选地, 所。
14、述判断单元还用于 : 0031 获取所述闪存当前操作的列地址位置信息 ; 将所述列地址位置信息与所述坏列表 格进行比对, 若所述列地址位置信息落在所述坏列表格的范围内, 判断所述列地址位置信 息包含在所述坏列表格中, 否则, 判断为不包含在所述坏列表格中。 0032 优选地, 所述处理单元还用于 : 0033 写入数据时, 在所述闪存当前操作的列地址中写入数据, 所述写入的数据当作无 效数据处理 ; 0034 读取数据时, 丢弃所述闪存当前操作的列地址中的所述无效数据。 0035 本发明提出的一种闪存的数据处理方法及装置, 通过把闪存中的固定错误数据和 随机错误数据区别对待, 用跳列处理方法对。
15、固定错误数据进行处理, 使错误纠错编码的全 部性能用于处理随机错误数据, 在增加少量硬件资源的情况下获得很好的数据保护效果, 且不影响系统性能。 附图说明 0036 图 1 是本发明闪存的数据处理方法较佳实施例的流程示意图 ; 0037 图 2 是本发明闪存的数据处理方法较佳实施例中用跳列处理方法对所述固定错 误数据进行处理的流程示意图 ; 0038 图 3 是本发明闪存的数据处理装置较佳实施例的结构示意图 ; 说 明 书 CN 103092717 A 5 3/5 页 6 0039 图 4 是本发明闪存的数据处理装置较佳实施例中处理模块的结构示意图。 0040 为了使本发明的技术方案更加清楚、。
16、 明了, 下面将结合附图作进一步详述。 具体实施方式 0041 本发明实施例的解决方案主要是 : 通过把闪存中的固定错误数据和随机错误数据 区别对待, 用跳列处理方法对固定错误数据进行处理, 使错误纠错编码的全部性能用于处 理随机错误数据, 在增加少量硬件资源的情况下获得很好的数据保护效果。 0042 如图 1 所示, 本发明较佳实施例提出一种闪存的数据处理方法, 包括 : 0043 步骤 S101, 将闪存中的错误数据分为随机错误数据和固定错误数据 ; 0044 将闪存中的数据错误分为不可预知的随机错误数据和由于工艺问题导致的一些 固定列地址所对应的存储单元有缺陷的固定错误数据, 区分开来以。
17、便进行不同的处理方 式 ; 0045 步骤 S102, 用错误纠错编码方式对所述随机错误数据进行处理, 用跳列处理方法 对所述固定错误数据进行处理。 0046 对所述随机错误数据, 用错误纠错编码方式进行处理, 错误纠错编码在硬件系统 中所占用的硬件资源是比较大的, 用错误纠错编码方式专门处理不可预知的随机错误数 据, 保证了硬件资源比重大的错误纠错编码将全部性能用在处理数据交互过程中无法预知 的随机错误数据上, 可以最大限度的纠正随机错误数据, 更好的保护数据, 利用硬件资源的 效率也更高。 0047 对步骤 S101 中区分的固定错误数据用跳列处理方法进行处理, 根据闪存中的固 定错误数据。
18、的信息获取坏列表格, 对于新工艺大容量的闪存, 由于工艺问题, 固定会有一些 列地址所对应的存储单元存在缺陷, 即所述固定错误数据, 可以预先通过扫描或外部信息 如厂商提供的信息等获取所述闪存的固定错误数据的信息, 然后将所述固定错误数据的信 息整理成闪存的坏列表格, 所述坏列表格记录着存在缺陷的列地址的分布情况, 包括存在 缺陷的列地址的区间起始位置和区间长度, 区间长度可以是大于 0 的任意值, 区间长度等 于 1 时, 即表示坏列表格记录着单个存在缺陷的列地址的位置, 理论上, 每个闪存都对应着 各自不同的坏列表格, 但在实际应用中, 坏列表格不会是无限多的, 往往很多闪存可以共用 一张。
19、坏列表格, 使本实施例方法更加方便和实用。 0048 获取所述闪存当前操作的列地址位置信息, 由于闪存的读写操作是按照列地址的 位置进行顺序读写, 因此可以在一个数据通路上做一个计数装置如计数器等来计算闪存读 写时的数据数目 (byte) , 由所述计数装置计数信息获取所述闪存当前操作的列地址位置信 息, 将所述列地址位置信息与所述坏列表格中的存在缺陷的列地址的区间进行比对, 根据 比对结果判断所述列地址位置信息是否包含在所述坏列表格中。 0049 当所述列地址位置信息落在所述坏列表格中存在缺陷的列地址的区间中时, 判断 当前操作的列地址为存在缺陷的列地址即固定错误数据, 对所述闪存当前操作的。
20、列地址进 行跳列处理, 写入数据时, 在所述闪存当前操作的列地址中写入数据, 所述写入的数据当作 无效数据处理 ; 读取数据时, 丢弃所述闪存当前操作的列地址中的无效数据, 当需要跳过有 规律的坏列地址如奇数列、 偶数列等时, 也可用所述跳列处理方法实现, 这样, 通过所述跳 列处理方法, 可以避免数据读写过程中的固定错误数据, 又不占用错误纠错编码的性能, 对 说 明 书 CN 103092717 A 6 4/5 页 7 整个数据的保护效果很好, 而所述跳列处理方法需要的硬件资源也很小, 因此对系统整体 的性能影响很小。 0050 具体地, 如图 2 所示, 上述步骤 S102 可以包括 :。
21、 0051 步骤 S1021, 根据所述固定错误数据的信息获取坏列表格 ; 0052 步骤 S1022, 判断所述闪存当前操作的列地址位置信息是否包含在所述坏列表格 中 ; 0053 步骤 S1023, 对所述闪存当前操作的列地址进行跳列处理。 0054 本实施例通过上述方案, 把闪存中的固定错误数据和随机错误数据区别对待, 用 跳列处理方法对固定错误数据进行处理, 使错误纠错编码的全部性能用于处理随机错误数 据, 在增加少量硬件资源的情况下获得很好的数据保护效果, 且不影响系统性能。 0055 如图 3 所示, 本发明较佳实施例提出一种闪存的数据处理装置, 包括 : 区分模块 301、 处理。
22、模块 302, 其中 : 0056 区分模块 301, 用于将闪存中的错误数据分为随机错误数据和固定错误数据 ; 0057 将闪存中的数据错误分为不可预知的随机错误数据和由于工艺问题导致的一些 固定列地址所对应的存储单元有缺陷的固定错误数据, 区分开来以便进行不同的处理方 式 ; 0058 处理模块 302, 用于对所述随机错误数据进行处理, 对所述固定错误数据进行处 理。 0059 对所述随机错误数据, 用错误纠错编码方式进行处理, 错误纠错编码在硬件系统 中所占用的硬件资源是比较大的, 用错误纠错编码方式专门处理不可预知的随机错误数 据, 保证了硬件资源比重大的错误纠错编码将全部性能用在处。
23、理数据交互过程中无法预知 的随机错误数据上, 可以最大限度的纠正随机错误数据, 更好的保护数据, 利用硬件资源的 效率也更高。 0060 对区分模块 301 区分的固定错误数据用跳列处理方法进行处理, 根据闪存中的固 定错误数据的信息获取坏列表格, 对于新工艺大容量的闪存, 由于工艺问题, 固定会有一些 列地址所对应的存储单元存在缺陷, 即所述固定错误数据, 可以预先通过扫描或外部信息 如厂商提供的信息等获取所述闪存的固定错误数据的信息, 然后将所述固定错误数据的信 息整理成闪存的坏列表格, 所述坏列表格记录着存在缺陷的列地址的分布情况, 包括存在 缺陷的列地址的区间起始位置和区间长度, 区间。
24、长度可以是大于 0 的任意值, 区间长度等 于 1 时, 即表示坏列表格记录着单个存在缺陷的列地址的位置, 理论上, 每个闪存都对应着 各自不同的坏列表格, 但在实际应用中, 坏列表格不会是无限多的, 往往很多闪存可以共用 一张坏列表格, 使本实施例方法更加方便和实用。 0061 获取所述闪存当前操作的列地址位置信息, 由于闪存的读写操作是按照列地址的 位置进行顺序读写, 因此可以在一个数据通路上做一个计数装置如计数器等来计算闪存读 写时的数据数目 (byte) , 由所述计数装置计数信息获取所述闪存当前操作的列地址位置信 息, 将所述列地址位置信息与所述坏列表格中的存在缺陷的列地址的区间进行。
25、比对, 根据 比对结果判断所述列地址位置信息是否包含在所述坏列表格中。 0062 当所述列地址位置信息落在所述坏列表格中存在缺陷的列地址的区间中时, 判断 当前操作的列地址为存在缺陷的列地址即固定错误数据, 对所述闪存当前操作的列地址进 说 明 书 CN 103092717 A 7 5/5 页 8 行跳列处理, 写入数据时, 在所述闪存当前操作的列地址中写入数据, 所述写入的数据当作 无效数据处理 ; 读取数据时, 丢弃所述闪存当前操作的列地址中的无效数据, 当需要跳过有 规律的坏列地址如奇数列、 偶数列等时, 也可用所述跳列处理方法实现, 这样, 通过所述跳 列处理方法, 可以避免数据读写过。
26、程中的固定错误数据, 又不占用错误纠错编码的性能, 对 整个数据的保护效果很好, 而所述跳列处理方法需要的硬件资源也很小, 因此对系统整体 的性能影响很小。 0063 具体地, 如图 4 所示, 所述处理模块 302 可以包括 : 获取单元 3021、 判断单元 3022 以及处理单元 3023, 其中 : 0064 获取单元 3021, 用于根据所述固定错误数据的信息获取坏列表格 ; 0065 判断单元 3022, 用于判断所述闪存当前操作的列地址位置信息是否包含在所述坏 列表格中 ; 0066 处理单元 3023, 用于对所述闪存当前操作的列地址进行跳列处理。 0067 本实施例通过上述方。
27、案, 把闪存中的固定错误数据和随机错误数据区别对待, 用 跳列处理方法对固定错误数据进行处理, 使错误纠错编码的全部性能用于处理随机错误数 据, 在增加少量硬件资源的情况下获得很好的数据保护效果, 且不影响系统性能。 0068 以上所述仅为本发明的优选实施例, 并非因此限制本发明的专利范围, 凡是利用 本发明说明书及附图内容所作的等效结构或流程变换, 或直接或间接运用在其它相关的技 术领域, 均同理包括在本发明的专利保护范围内。 说 明 书 CN 103092717 A 8 1/2 页 9 图 1 图 2 说 明 书 附 图 CN 103092717 A 9 2/2 页 10 图 3 图 4 说 明 书 附 图 CN 103092717 A 10 。