《使用另外的错误校正编码数据的数据恢复.pdf》由会员分享,可在线阅读,更多相关《使用另外的错误校正编码数据的数据恢复.pdf(19页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103329104 A (43)申请公布日 2013.09.25 CN 103329104 A *CN103329104A* (21)申请号 201280005978.6 (22)申请日 2012.02.03 13/023,147 2011.02.08 US G06F 11/10(2006.01) (71)申请人 桑迪士克科技股份有限公司 地址 美国得克萨斯州 (72)发明人 M.A. 德阿布鲁 S. 斯卡拉 (74)专利代理机构 北京市柳沈律师事务所 11105 代理人 黄小临 (54) 发明名称 使用另外的错误校正编码数据的数据恢复 (57) 摘要 在数据存储器件。
2、中的接收包括数据块和用于 该数据块的主错误校正编码 (ECC) 数据的方法。 该数据块包括数据的第一子块和数据的第二子 块。该方法还包括开始 ECC 操作以使用该主 ECC 数据处理该数据块。响应于 ECC 操作指示该数据 块中的不可校正的错误, 获取在该数据块外部的 第一另外的 ECC 数据, 并且开始第二 ECC 操作以 使用该第一另外的 ECC 数据来处理数据的第一子 块。 (30)优先权数据 (85)PCT申请进入国家阶段日 2013.07.19 (86)PCT申请的申请数据 PCT/US2012/023735 2012.02.03 (87)PCT申请的公布数据 WO2012/1091。
3、01 EN 2012.08.16 (51)Int.Cl. 权利要求书 3 页 说明书 10 页 附图 5 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书10页 附图5页 (10)申请公布号 CN 103329104 A CN 103329104 A *CN103329104A* 1/3 页 2 1. 一种方法, 包括 : 在数据存储器件的控制器中, 进行 : 接收包括数据块和对于该数据块的主错误校正编码 (ECC) 数据的数据, 该数据块包括 数据的第一子块和数据的第二子块 ; 开始 ECC 操作以使用主 ECC 数据处理该数据块 ; 以及 响应于所述 。
4、ECC 操作指示该数据块中的不可校正的错误, 获取在该数据块外部的第一 另外的 ECC 数据, 其中, 该第一另外的 ECC 数据对应于数据的第一子块, 并且开始第二 ECC 操作以使用该第一另外的 ECC 数据来处理数据的第一子块。 2. 如权利要求 1 所述的方法, 还包括在该第二 ECC 操作期间校正该第一子块中的错误 之后, 开始第三 ECC 操作以使用该主 ECC 数据处理该数据块。 3. 如权利要求 1 所述的方法, 其中该数据对应于存储在数据存储器件中的预加载的内 容, 以及其中在数据破坏事件发生之后在用于校正该预加载的内容并将其重新存储在数据 存储器件中的数据校正过程期间, 进。
5、行开始所述 ECC 操作。 4. 如权利要求 3 所述的方法, 其中该数据破坏事件是由用于将数据存储器件粘附到印 刷电路板的焊接或回流工艺导致的。 5. 如权利要求 1 所述的方法, 其中从存储器的第一字线获取该数据块和该主 ECC 数据 作为第一 ECC 页, 以及其中从存储器的第二字线获取第一另外的 ECC 数据作为第二 ECC 页 的一部分。 6. 如权利要求 5 所述的方法, 其中该第二 ECC 页包括用于校正第一 ECC 页的第一子块 中的错误的第一另外的ECC数据以及用于校正第一ECC页的第二子块中的错误的第二另外 的 ECC 数据。 7. 如权利要求 6 所述的方法, 其中该第二。
6、 ECC 页还包括用于校正第一另外的 ECC 数据 和第二另外的 ECC 数据中的错误的主奇偶校验位。 8. 如权利要求 1 所述的方法, 其中该主 ECC 数据和该第一另外的 ECC 数据具有相同数 量的奇偶校验位。 9.如权利要求1所述的方法, 其中该主ECC数据具有第一数量的奇偶校验位, 并且该第 一另外的 ECC 数据具有第二数量的奇偶校验位, 该第二数量不同于该第一数量。 10.如权利要求1所述的方法, 其中在数据存储器件的公共ECC引擎处进行该ECC操作 和第一子块 ECC 操作。 11. 如权利要求所述的方法, 还包括进行表查找操作以基于数据的存储器地址确定第 一另外的 ECC 。
7、数据的位置。 12. 如权利要求 11 所述的方法, 其中该第一另外的 ECC 数据的位置进一步基于第一子 块在该数据块内的位置。 13. 一种方法, 包括 : 在包括存储器和错误校正编码 (ECC) 引擎的数据存储器件中, 进行 : 将包括数据块和第一主 ECC 数据的第一 ECC 页存储到该存储器, 其中该第一主 ECC 数 据可由该 ECC 引擎使用来校正该第一 ECC 页中的错误 ; 以及 将包括第一另外的 ECC 数据的第二 ECC 页存储到该存储器, 其中该第一另外的 ECC 数 据可由该 ECC 引擎使用来校正该数据块内的多个子块中的单个子块中的错误。 权 利 要 求 书 CN 。
8、103329104 A 2 2/3 页 3 14. 如权利要求 13 所述的方法, 还包括存储将该第一 ECC 页的地址与该第二 ECC 页的 位置相关联的表, 以使得当在该第一 ECC 页中发生的错误的数量超过该 ECC 引擎使用该主 ECC 数据的校正能力时, 该数据存储器件能够定位该第二 ECC 页。 15. 如权利要求 13 所述的方法, 其中该第一 ECC 页是存储到该存储器的第一部分的预 加载的内容的部分, 并且该第二 ECC 页是存储到该存储器的第二部分的另外的奇偶校验位 的部分。 16. 如权利要求 15 所述的方法, 其中在焊接或回流工艺期间升高数据存储器件的温度 之前将该预。
9、加载的内容和该另外的奇偶校验位存储到存储器。 17. 一种数据存储器件, 包括 : 存储器器件 ; 以及 控制器, 耦接到该存储器, 其中该控制器包括错误校正编码 (ECC) 引擎, 其中该控制器配置为在该 ECC 引擎处开始第一 ECC 操作以使用对于数据块的主 ECC 数 据来处理该数据块, 以及 其中该控制器配置为响应于该第一 ECC 操作指示该数据块中的不可校正的错误, 从存 储器获取在该数据块外部的第一另外的ECC数据并开始第二ECC操作以使用该第一另外的 ECC 数据来处理该数据块的第一子块。 18. 如权利要求 17 所述的数据存储器件, 其中包括该数据块和该主 ECC 数据的数。
10、据对 应于存储在存储器中的预加载的内容, 以及其中在数据破坏事件发生之后在用于校正该预 加载的内容并将其重新存储在存储器中的数据校正过程期间, 进行开始所述 ECC 操作。 19. 如权利要求 18 所述的数据存储器件, 其中该数据破坏事件是由用于将数据存储器 件粘附到印刷电路板的焊接或回流工艺导致的。 20. 如权利要求 18 所述的数据存储器件, 其中该控制器配置为在完成该数据校正过程 之后将该第一另外的 ECC 数据保持在该存储器中。 21. 如权利要求 18 所述的数据存储器件, 其中该控制器配置为在完成该数据校正过程 之后释放存储该第一另外的 ECC 数据的存储器的一部分。 22. 。
11、如权利要求 18 所述的数据存储器件, 其中该控制器配置为在完成该数据校正过程 之后保持该第一另外的 ECC 数据。 23. 如权利要求 18 所述的数据存储器件, 其中该控制器配置为从存储器的第一字线从 第一ECC页获取该数据块和该主ECC数据, 并从该存储器的第二字线获取该第一另外的ECC 数据作为第二 ECC 页的一部分。 24. 如权利要求 23 所述的数据存储器件, 其中该第二 ECC 页包括用于校正该第一 ECC 页的第一子块中的错误的第一另外的ECC数据以及用于校正该第一ECC页的第二子块中的 错误的第二另外的 ECC 数据。 25. 如权利要求 24 所述的数据存储器件, 其中。
12、该第二 ECC 页还包括用于校正该第一另 外的 ECC 数据和该第二另外的 ECC 数据中的错误的主奇偶校验位。 26. 如权利要求 17 所述的数据存储器件, 其中该主 ECC 数据和该第一另外的 ECC 数据 具有相同数量的奇偶校验位。 27. 如权利要求 17 所述的数据存储器件, 其中该主 ECC 数据具有第一数量的奇偶校验 位, 并且该第一另外的 ECC 数据具有第二数量的奇偶校验位, 该第二数量不同于该第一数 权 利 要 求 书 CN 103329104 A 3 3/3 页 4 量。 28. 如权利要求 17 所述的数据存储器件, 其中该控制器配置为进行表查找操作以基于 数据块的存。
13、储器地址确定第一另外的 ECC 数据的位置。 29. 如权利要求 28 所述的数据存储器件, 其中该第一另外的 ECC 数据的位置还基于该 第一子块在该数据块内的位置。 30. 如权利要求 17 所述的数据存储器件, 其中该存储器是快闪存储器。 31. 如权利要求 30 所述的数据存储器件, 其中该数据存储器件是以下之一 : 快闪存储卡 ; 通用串行总线 (USB) 快闪盘 ; 固态盘 (SSD) ; 以及 嵌入式快闪存储器。 32. 如权利要求 17 所述的数据存储器件, 其中该存储器是三维 (3D) 存储器。 33. 如权利要求 17 所述的数据存储器件, 其中该数据存储器件配置为耦接到主。
14、机设备 作为嵌入式存储器。 权 利 要 求 书 CN 103329104 A 4 1/10 页 5 使用另外的错误校正编码数据的数据恢复 技术领域 0001 本公开一般涉及数据恢复。 背景技术 0002 将数据存储在存储器器件中的能力随着技术的进步而不断改进。例如, 快闪存储 器使得能够以可以通过每个存储器单元存储多个数据位而增强的存储密度来非易失性地 存储数据。但是, 由于存储器的物理情况, 比如热噪声、 宇宙射线或者对存储器的物理组件 的损坏, 被写到存储器的数据可能被无意地更改。通常使用错误校正编码 (ECC) 方案来校 正在数据中可能发生的错误。这样的 ECC 方案通常包括使用冗余信息。
15、来编码数据、 提供从 错误的强健恢复, 但是也增加了制造成本并且降低了存储器器件的数据存储密度。 0003 被选择用于提供对于存储器器件的预期范围的操作情况的错误校正能力的 ECC 方案可能不足以校正在制造期间遇到的情况所产生的错误。例如, 可以在将存储器器件粘 附到印刷电路板 (PCB) 之前将内容预加载到存储器器件中。将存储器器件粘附到 PCB 可以 包括抛光、 回流 (reflow) 或者其他工艺。在这样的工艺期间对预加载的数据发生的错误可 能超过 ECC 方案的错误校正能力。由于一个或多个其他工艺, 错误可能发生在预加载的数 据中。例如, 一些存储器器件可能经历了存储的数据基于数据存储。
16、在器件中的时间长度而 带来的恶化。 发明内容 0004 通过提供在数据块外部的并且对应于数据块的子块的另外的 ECC 数据来向数据 块提供增强的错误校正。 如果数据块和该数据块的主奇偶校验位具有太多要使用该奇偶校 验位校正的错误, 则可以使用另外的 ECC 数据单独校正一个或多个子块。另外的 ECC 数据 可以包括专用于单个子块的另外的奇偶校验位以使能够校正子块中的除了可使用主奇偶 校验位校正的之外的更大数量的错误。 0005 可以在数据存储器件中提供另外的 ECC 数据以使能够保护在抛光或回流工艺期 间可能被破坏的预加载的内容。可以进行数据校正过程以在需要时使用另外的 ECC 数据来 恢复破。
17、坏的预加载的内容。在恢复预加载的内容之后, 存储了另外的 ECC 数据的存储器位 置可以保留该另外的 ECC 数据或者可选地可以被释放以增加存储器中的可用空间。 附图说明 0006 图 1 是用于提供使用另外的错误校正编码 (ECC) 数据的数据恢复的系统的具体示 例实施例的框图 ; 0007 图 2 是在图 1 的存储器 112 处存储的预加载的内容和另外的 ECC 数据的第一示例 实施例的概略图 ; 0008 图 3 是在图 1 的存储器 112 处存储的预加载的数据和另外的 ECC 数据的第二示例 实施例的概略图 ; 说 明 书 CN 103329104 A 5 2/10 页 6 000。
18、9 图 4 是提供使用另外的错误校正编码 (ECC) 数据的数据恢复的方法的第一示例实 施例的流程图 ; 0010 图 5 是提供使用另外的错误校正编码 (ECC) 数据的数据恢复的方法的第二示例实 施例的流程图 ; 以及 0011 图 6 是提供使用另外的错误校正编码 (ECC) 数据的数据恢复的方法的第三示例实 施例的流程图。 具体实施方式 0012 参考图 1, 绘出了存储使得能够恢复数据的另外的奇偶校验位的系统, 并且一般将 其指定为 100。系统 100 包括可以操作地耦接到主机设备 104 的数据存储器件 102。数据 存储器件 102 包括存储使能校正超过主 ECC 编码方案的错。
19、误校正能力的被破坏的数据。 0013 主机设备104可以配置为提供要存储在数据存储器件102处的数据或者请求从数 据存储器件 102 读取的数据。例如, 主机设备 104 可以包括移动电话、 音乐或视频播放器、 游戏控制台、 电子书阅读器、 个人数字助理 (PDA) 、 诸如膝上型计算机或笔记本计算机的计 算机、 任何其他电子设备或者其任意组合。 0014 数据存储器件 102 包括耦接到存储器 112 的控制器 110。为了例示, 数据存储器 件 102 可以是存储卡, 比如安全数据 SD卡、 微 SD卡、 迷你 SD.TM 卡 (特拉华, 威尔明顿, SD-3C LLC 的商标) 、 多媒。
20、体卡 .TM(MMC.TM) 卡 (维吉尼亚, 阿灵顿, JEDEC 固态技术协会的 商标) 或者致密快闪 (CF) 卡 (加利福尼亚、 米尔皮塔斯, 桑迪士克公司的商标) 。作为另一 例子, 数据存储器件 102 可以配置为耦接到主机设备 104 作为嵌入式存储器, 比如 eMMC (维吉尼亚, 阿灵顿, JEDEC 固态技术协会的商标) 和 eSD, 作为示例性的例子。作为另一示例 性的例子, 数据存储器件 102 可以包括包含用于数据存储的一个或多个旋转盘的硬碟盘。 0015 存储器 112 可以包括非易失性存储器器件, 比如快闪存储器。数据存储器件 102 可以是以下之一 : 快闪存储。
21、卡、 通用串行总线 (USB) 、 快闪盘、 固态盘 (SSD) 和嵌入式快闪存 储器。作为另一例子, 存储器 112 可以是三维 (3D) 存储器, 数据存储器件 102 可以配置为 耦接到主机设备 104 作为嵌入式存储器。或者, 数据存储器件 102 可以配置为可移除地耦 接到主机设备 104, 比如存储卡或者 USB 快闪驱动器 (UFD) 。在一些实现方式中, 数据存储 器件 102 可以是硬盘或者其他类型的存储器件。 0016 控制器 110 包括错误校正编码 (ECC) 引擎 114。ECC 引擎 114 配置为接收可以包 括用户数据和奇偶校验位的编码的数据并且在可能导致对存储在。
22、存储器 112 处的数据的 破坏的诸如回流事件的破坏事件之后解码该编码的数据。 0017 存储器 112 可以包括预加载的内容区 160 和另外的奇偶校验位区 162。预加载的 内容可以包括由存储器 112 或者数据存储器件 102 的制造商存储在存储器 112 处的数据。 例如, 在存储器 112 被粘附到印刷电路板 (PBC) 之前, 预加载的内容可以存储在存储器 112 中。存储器 112 到 PCB 的粘附可以包括可能将存储器 112 暴露于升高的温度的回流事件, 比如焊接、 红外线 (IR) 或者其他回流类型。因此, 存储在存储器 112 中的预加载的内容可 能经历比通常在正常操作期。
23、间经历的错误率更高的错误率。 0018 ECC 页 120 被例示为内容存储的代表单元。代表的 ECC 页 120 包括数据块 122 和 主 ECC 数据 124。例如, 数据块 122 可以包括已经存储在存储器 112 处的数据, 并且主 ECC 说 明 书 CN 103329104 A 6 3/10 页 7 数据 124 可以包括已经使用错误校正编码产生来形成 ECC 页 120 的奇偶校验位。主 ECC 数 据 124 的奇偶校验位可以由 ECC 引擎 114 使用来使能检测和校正发生在 ECC 页 120 中的一 个或多个错误。 0019 另外的奇偶校验区 162 可以包括与存储在存。
24、储器 112 中的数据、 比如预加载的内 容区 160 中的数据对应的另外的奇偶校验位。如所示, 另外的奇偶校验区 162 包括第一另 外的 ECC 数据 130、 第二另外的 ECC 数据 132 和第三另外的 ECC 数据 134。另外的 ECC 数据 130-134 的每个可以对应于预加载的内容区 160 中的数据块的一部分。例如, 第一另外的 ECC 数据 130 可以包括提供对于数据库 122 的第一子块 126 的冗余性的第一另外的奇偶校 验 (AP) 位。为了例示, 可以通过仅编码第一子块 126(即, 不编码第二子块 128) 以产生码 字来产生第一另外的 ECC 数据 130。
25、。在产生的码字中包括的奇偶校验位可以被存储为第一 另外的 ECC 数据 130, 并且当与第一子块 126 组合并且提供给 ECC 引擎 114 时可以使能检 测和校正错误。类似地, 第二另外的 ECC 数据 132 可以可由 ECC 引擎 114 使用来校正数据 块 122 内的多个子块中的另一单个子块中的错误。例如, 第二另外的 ECC 数据 132 可以可 由 ECC 引擎 114 使用来进行用于第二子块 128 的错误校正。 0020 因为诸如第一另外的 ECC 数据 130 的另外的 ECC 数据可以提供对于单个子块而不 是整个数据块的错误恢复, 所以与主ECC数据124的错误校正能。
26、力相比, 校正子块内的错误 的数据校正能力可以增强。为了例示, 发生在组合的第一子块 126 和第二子块 128 中的多 个错误可能超过使用主 ECC 数据 124 的错误校正能力, 而当单独应用于第一子块 126 时, 可 能不超过使用第一另外的 ECC 数据 130(例如使用另外的奇偶校验) 的错误校正能力。 0021 控制器110可以配置为在ECC引擎114处开始第一ECC操作150以使用诸如主ECC 数据 124 的用于数据块的主 ECC 数据来处理诸如数据块 122 的数据块。子块 126 和 128 的 每个以及主 ECC 数据 124 可能包括错误, 在图 1 中例示为阴影的数据。
27、块。响应于第一 ECC 操作150指示例示为解码失败指示156地指示数据块122中的不可校正的错误, 控制器110 可以配置为从存储器 112 取得在数据库 122 外的第一另外的 ECC 数据。例如, 控制器 110 可以从存储器 112 的另外的奇偶校验区 162 获取第一另外的 ECC 数据 130。 0022 控制器 110 可以配置为在第二 ECC 操作 152 中使用第一另外的 ECC 数据 130 来处 理数据块 122 的第一子块 126。如所示, 第二 ECC 操作 152 可以导致校正发生在第一子块 126 中的错误, 得到第一子块 127 的校正了错误的版本。 0023 。
28、在成功解码第一子块 126 以产生校正了错误的第一子块 127 之后, 控制器 110 可 以配置为在 ECC 引擎 114 处开始第三 ECC 操作 154。除了从存储器 112 原始获取的第二 子块 128 和主 ECC 数据 124 之外, 可以使用校正了错误的第一子块 127 进行第三 ECC 操作 154。因为数据的一部分已经被错误校正, 所以 ECC 页中的错误的总数可以减小并且可能落 在 ECC 引擎 114 使用主 ECC 数据 124 的错误校正能力内。因此, 第三 ECC 操作 154 可以产 生包括第一校正了错误的子块 127 和校正了错误的第二子块 129 的校正了错误。
29、的数据块。 0024 尽管图 1 例示了使用另外的奇偶校验位 (即在第二 ECC 操作 152 中) 进行单个 ECC 操作, 但是控制器 110 可以配置为进行多个第二 ECC 操作, 每个第二 ECC 操作配置为使用其 他另外的奇偶校验块来解码数据块122的其他子块。 为了例示, 当第二另外的ECC数据132 对应于第二子块 128 时, 第二 ECC 操作 152 后可以跟随使用第二另外的 ECC 数据 132 校正 第二子块 128 的另一 ECC 操作。子块的依次处理可以继续, 直到已经使用另外的 ECC 数据 说 明 书 CN 103329104 A 7 4/10 页 8 分别处理。
30、了 ECC 页 120 的所有子块。在子块的处理之后, 可以绕过使用主 ECC 数据 124 的 第三 ECC 操作 154, 因为已经检测并校正了各个子块中的所有错误。 0025 在另一实现方式中, 在进行第三ECC操作154并且确定第二子块128和其余的ECC 数据124继续具有超过ECC引擎114使用主ECC数据124的错误校正能力的多个错误之后, 可以进行使用另外的奇偶校验位的一个或多个另外的ECC操作。 例如, 在接收到在第三ECC 操作 154 期间数据块 112 中存在不可校正的错误的指示之后, 可以由控制器 110 开始第四 ECC 操作以使用第二另外的 ECC 数据 132 。
31、解码第二子块 128。 0026 尽管图 1 例示了在预加载的内容区 160 中的单个代表性 ECC 页 120, 但是应该理 解, 预加载的内容的多个 ECC 页可以被包括在存储器 112 中。另外, 尽管另外的奇偶校验区 162 被例示为包括代表性的另外的 ECC 数据 130-134, 但是应该理解, 足够量的另外的 ECC 数据可以被存储在存储器 112 中以提供对于预加载的内容的另外的错误校正能力。尽管存 储器112被例示为具有单个预加载的内容区160和另外的奇偶校验区162, 但是在其他实现 方式中, 存储器 112 可以包括多个预加载的内容区、 多个另外的奇偶校验区或者其组合。 。
32、0027 通过包括预加载的内容区 160 中的内容以及包括另外的奇偶校验位来提供对于 预加载的内容的另外的错误校正能力, 在回流工艺、 抛光工艺或者另一事件期间可能发生 的数据破坏可能是可恢复的, 即使超过使用主 ECC 数据的错误校正能力。因此, 作为例子, 在将数据存储器件 102 安装到移动或者电子设备内的印刷电路板之后, 控制器 110 可以开 始扫描预加载的内容区 160、 进行错误校正、 并将校正了错误的数据重新存储到存储器 112 的数据校正过程。可以通过开始诸如第二 ECC 操作 152 的第二 ECC 操作来校正被确定为使 用主 ECC 数据不可恢复的 ECC 页, 在该第二。
33、 ECC 操作中, 用于每个子块的另外的 ECC 数据被 获取以提供另外的错误校正能力以及从引起错误的事件的数据恢复。参考图 4 进一步详细 描述数据校正过程的例子。 0028 图 2 绘出存储预加载的内容和另外的 ECC 数据的存储器结构的第一示例实施例 200。第一字线 202 可以包括预加载的内容, 比如存储在图 1 的存储器 112 中的预加载的内 容。例如, 第一字线 202 可以包括包含第一代表性 ECC 页 206 的四个 ECC 页。每个 ECC 页 可以包括一个或多个子块, 比如第一代表性子块212和第二代表性子块214。 每个ECC页还 可以包括包含用于第一子块212和第二。
34、子块214的错误校正的奇偶校验位的诸如代表性主 ECC 数据 218 的主 ECC 数据。 0029 第二字线 204 存储另外的 ECC 数据。如所示, 第二字线 204 包括包含代表性第二 ECC 页 208 的多个 ECC 页。第二字线 204 的每个 ECC 页包括与第一字线 202 的一个或多个 子块对应的另外的 ECC 数据 (例如, 另外的奇偶校验位) 的多个块。如所示, 第二代表性 ECC 页 208 包括第一另外的 ECC 数据 220、 第二另外的 ECC 数据 222、 第三另外的 ECC 数据 224 和第四另外的 ECC 数据 226。第二 ECC 页 208 还包括。
35、主 ECC 数据 228, 其提供了对于可能发 生在另外的 ECC 数据 220-226 的任意一个中的错误的错误校正能力。 0030 另外的 ECC 数据 220-226 的每个对应于预加载的内容的子块。例如, 按照与关于 图 1 所例示和描述的方式, 第一字线 202 的每个 ECC 页的第一子块可以单独被编码并且得 到的另外的奇偶校验位被存储在第二 ECC 页 208 中。第二 ECC 页 208 包括另外的 ECC 数据 的四个集合 220-226, 因此提供了对于整个第一字线 202 的另外的 ECC 数据。这样, 第二字 线 204 可以提供对于存储了预加载的内容的总共四条字线的数。
36、据恢复的另外的 ECC 数据。 说 明 书 CN 103329104 A 8 5/10 页 9 0031 在一些实现方式中, 第一字线 202 的 ECC 页的一个或多个子块不具有对应的另外 的奇偶校验位。例如, 第二子块 214 可能未被另外的 ECC 数据保护。尽管主 ECC 数据 218 可能不足以校正组合的子块 212 和 214 中的错误, 但是主 ECC 数据 218 可能足以在已经使 用第二另外的 ECC 数据 222 校正了第一子块 212 之后校正第二子块 214 中的错误。在其他 实现方式中, 可以使用另外的 ECC 数据来保护 ECC 页的所有子块, 如关于图 3 所述。。
37、 0032 图3绘出存储预加载的内容和用于该预加载的内容的另外的ECC数据的存储器结 构。第一字线 302 在包括第一代表性 ECC 页 306 的多个 ECC 页中存储预加载的内容。第一 ECC 页 306 包括四个子块 310-316 以及主 ECC 数据部分 318。第二字线 304 包括另外的 ECC 数据。 0033 如所示, 第二字线 304 的每个 ECC 页包括四个子块, 每个子块包括与预加载的内 容对应的另外的 ECC 数据。第二字线 304 的第一页的第一子块 320 提供对于第一子块 310 的另外的 ECC 数据。第二字线 304 的第二页的第一子块 322 提供对于第。
38、二子块 312 的另外 的 ECC 数据。第二字线 304 的第三 ECC 页的第一子块 324 提供对于第三子块 314 的另外的 ECC 数据。第二字线 304 的第四 ECC 页的第一子块 326 提供对于第一 ECC 页 306 的第四子 块 316 的另外的 ECC 数据。 0034 图3例示可以提供另外的奇偶校验位用于具有预加载的内容的多个子块的ECC页 的各个子块。图 3 还例示了用于单个 ECC 页的多个子块的另外的 ECC 数据可以被存储在另 外的 ECC 数据的分离的不同的 ECC 页处。此外, 应该理解, 也可以用另外的 ECC 数据保护图 2 的第二字线 204 或者图。
39、 3 的第二字线 304, 该第二字线 204 或第二字线 304 每个存储了用 于帮助预加载的内容的数据恢复的另外的 ECC 数据。 0035 例如, 在图 2 的第二 ECC 页 208 中发生的错误可能是通过应用使用主奇偶校验位 228 的 ECC 操作可校正的。如果发生在第二 ECC 页 208 中的多个错误超出了使用主奇偶校 验位 228 的错误校正能力, 则包含另外的 ECC 数据 220-226 的一个或多个子块可以被提供 给 ECC 引擎, 作为要使用在存储器中存储的又一些另外的 ECC 奇偶校验位来以类似于图 1 的第二 ECC 操作 152 的方式解码的子块。因此, 可以提。
40、供另外的字线以包括另外的奇偶校 验位、 以使能另外的奇偶校验位的错误恢复, 这又使能预加载的数据的错误恢复。 0036 主 ECC 数据和另外的 ECC 数据、 诸如图 2 的主 ECC 数据 218 和第二另外的 ECC 数 据 222, 可以包括任意类型的 ECC 数据。例如, 主 ECC 数据 218 和第二另外的 ECC 数据 222 可以包括奇偶校验位或者根据 Bose-Chaudhuri-Hocquenghem(BCH) 编码、 Reed-Solomon 编码、 低密度奇偶校验位校验 (LDPC) 编码或者另一类型的编码的其他冗余信息。主 ECC 数 据和另外的 ECC 数据可以使。
41、用相同的编码方案, 比如 BCH 方案。或者, 主 ECC 数据和另外的 ECC 数据可以使用不同的编码方案。主 ECC 数据和另外的 ECC 数据可以包含相同数量的奇 偶校验位, 或者可以包含不同数量的奇偶校验位。 0037 内容数据可以被存储在扇区 (例如 ECC 扇区, 比如图 1 的 ECC 页 120) 中。扇区可 以被组织在字线中, 如图 2-3 所示。尽管图 2-3 例示了诸如对于 NAND 快闪存储器阵列的内 容数据和另外的 ECC 数据在字线中的组织, 但是可以使用其他类型的存储器和其他存储器 架构。 0038 错误校正可以是在 ECC 方案中使用的奇偶校验字节的数量的函数。。
42、例如, 图 2-3 中的每条字线可以存储 8 千字节 (KB) 的内容数据, 加上奇偶校验位和头部数据。每条字线 说 明 书 CN 103329104 A 9 6/10 页 10 被例示为包含四个 ECC 页, 并且每个 ECC 页 (例如第一 ECC 页 206) 可以包括 230 字节的主 ECC 数据 ( “主奇偶校验位” ) 加上 2KB 的内容数据。尽管通过增加主奇偶校验位的数量可以 改善 ECC 页的错误校正能力, 但是这样的增加能导致可能增加存储器的成本的 (例如 NAND 快闪实现方式中的) 存储器阵列的大小的增加。 0039 对于 ECC 页的大块或者子块可以产生另外的奇偶校。
43、验位。可以对于所有内容数据 产生另外的奇偶校验位。每个 ECC 页可以包括其原始的奇偶校验位 (主奇偶校验位) 以覆 盖 2 千字节的数据, 并且还可以与 (例如 230 字节的) 另外的奇偶校验位相关联以提供对于 ECC 页的最左一半 (或者最右一半) 的错误检测和校正, 比如图 2 所示。在一些实施例中, 可 以对于图 3 所示的 ECC 页的每四分之一、 对于如关于图 1 所述的 ECC 页的两个一半或者根 据一个或多个其他配置添加另外的奇偶校验位。 确定要使用哪种另外的奇偶校验位的配置 可以基于有多少存储将用于该另外的奇偶校验位。 0040 另外的奇偶校验位可以被存储在为存储另外的奇偶。
44、校验位而留出的块中。例如, 图1的另外的奇偶校验区162可以包括专用于存储另外的奇偶校验数据的存储器阵列的一 个或多个块。每个块可以包括多条字线, 每条字线包含另外的奇偶校验位的一个或多个扇 区或 ECC 页, 如图 2-3 所示。 0041 参考图 4, 绘出了校正数据存储器件中的预加载的内容的方法的具体实施例。该 方法被例示为以在 402 处, 数据存储器件制造商用内容 490、 另外的奇偶校验位 492 和用于 定位另外的数据的表 494 预加载数据存储器件而开始 . 例如, 表 494 对于诸如图 1 的控制 器 110 的数据存储器件的控制器是可访问的, 以使该控制器能够定位对于预加。
45、载的内容的 具体 ECC 页的另外的奇偶校验位。表 494 可以被布置为由字线地址和 ECC 页指示符索引以 定位包括相应的另外的 ECC 数据块的存储器地址或位置的项。数据存储器件制造商可以将 预加载的器件 404 提供给主机制造商。例如, 主机制造商可以制造包括具有预加载的内容 的嵌入式数据存储器件的便携式电子设备。 0042 在 408, 主机制造商可以接收预加载的数据存储器件 404, 并且可以将该器件 404 固定到印刷电路板 406。将器件 404 固定到印刷电路板 406 可能将器件 404 暴露于一个或 多个数据破坏事件。为了例示, 固定器件 404 可以包括抛光器件 404、。
46、 回流或可能破坏预加 载的数据的一个或多个其他事件。在处理该器件 404 之后, 比如在将器件 404 固定到 PCB 406 之后, 在 410, 主机制造商可以开始数据校正过程。 0043 数据校正过程可以由诸如图 1 的控制器 110 的数据存储器件的控制器进行。数据 校正过程可以包括在 412 处, 使用主 ECC 数据解码预加载的内容的 ECC 页。例如, 图 1 的控 制器 110 可以配置为开始扫描存储器 112 以检查预加载的内容区 160 的每个 ECC 页并使用 诸如主 ECC 数据 124 的主 ECC 数据解码每个 ECC 页。在 414, 可以确定 ECC 页是否可使。
47、用主 ECC 数据校正。响应于在 414 确定主 ECC 数据足够校正该 ECC 页, 该数据校正过程可以包 括在 416 确定是否仍存在要分析的另外的预加载的内容。当仍存在要分析的另外的预加载 的内容时, 在 418, 可以获取预加载的内容的下一 ECC 页, 并且处理返回以在 412 使用主 ECC 数据解码预加载的内容的该下一 ECC 页。 0044 响应于在 414 确定使用主 ECC 数据不可校正该 ECC 页, 在 420 处理可以通过获取 对于 ECC 页的子块的另外的奇偶校验位而继续。在 422, 子块可以单独被解码, 比如关于图 1的第二ECC操作所例示以及描述的。 在424。
48、, 可以用校正了错误的子块来更新ECC页, 并且 说 明 书 CN 103329104 A 10 7/10 页 11 处理可以返回到 412, 在那里可以使用主 ECC 数据来解码包括校正了错误的子块的 ECC 页。 例如, 该解码可以对应于图 1 的第三 ECC 操作 154。 0045 在 416 确定所有预加载的内容已经被分析之后, 该数据校正过程可以包括在 426 释放包含另外的奇偶校验位的存储器。例如, 可以通过更新文件系统表以指示包含另外的 ECC 数据的存储器位置未被使用来释放包含该另外的数据的存储器位置。在其中另外的 ECC 数据被存储在快闪存储器阵列的一个或多个块中的示例实现。
49、方式中, 包含另外的 ECC 数据的块可以被擦除并且标记为可用于存储数据。 或者, 另外的奇偶校验位可以不被释放, 并且可以由控制器保留在存储器中, 以使在预加载的内容中将来存在错误的情况下能够由 数据存储器件进行另外的 ECC 校正。 0046 尽管关于在数据破坏事件发生在制造期间之后校正预加载的内容来描述了数据 校正过程, 但是在其他实现方式中, 可以在其他情况下进行数据校正过程。例如, 数据校正 过程可以用于恢复已经由另外的 ECC 数据保护的用户数据以提供更高的错误校正能力。 0047 关于图 4 所述的数据校正过程可以是可以由存储器器件的控制器或处理器进行 的特殊固件过程。该过程可以包括读取字线中的每个 ECC 页并且确定是否可以用主奇偶校 验位校正破坏的数据内容。如果不能用主奇偶校验位校正该数据内容, 则可以获取对于该 ECC 页的另外的奇偶校验位并且将使用获取的另外的奇偶校验位来校正相应的数据字段 (例如由另外的奇偶校验位保护的一个或多个子块) 。在使用该另外的奇偶校验位校正该一 个或多个子块之后, 然后可以使用主奇偶校验位来校正其余的错误。 0048 或者, 可以随着数据从存储。