快闪存储器中的错误校正方案.pdf

上传人:n****g 文档编号:10125247 上传时间:2021-06-04 格式:PDF 页数:28 大小:1.61MB
收藏 版权申诉 举报 下载
快闪存储器中的错误校正方案.pdf_第1页
第1页 / 共28页
快闪存储器中的错误校正方案.pdf_第2页
第2页 / 共28页
快闪存储器中的错误校正方案.pdf_第3页
第3页 / 共28页
文档描述:

《快闪存储器中的错误校正方案.pdf》由会员分享,可在线阅读,更多相关《快闪存储器中的错误校正方案.pdf(28页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010227491.9 (22)申请日 2020.03.27 (30)优先权数据 16/455,857 2019.06.28 US (71)申请人 西部数据技术公司 地址 美国加利福尼亚州 (72)发明人 C.伊普P.萨格迪奥G.杜西加 V.古普塔 (74)专利代理机构 北京市柳沈律师事务所 11105 代理人 邱军 (51)Int.Cl. G06F 11/10(2006.01) (54)发明名称 快闪存储器中的错误校正方案 (57)摘要 一种快闪存储器中的错误校正方案。 。

2、方法包 含延长存储器块的寿命, 包含: 接收在写入操作 期间在存储器块中的第一位置处发生错误的指 示, 所述第一位置与所述存储器块的有错误页相 关联; 以及通过以下操作来对所述存储器块执行 修改后的异或(XOR)方案: 执行生成所述有错误 页的恢复数据的去XOR操作; 将所述恢复数据存 储在不同于所述有错误存储器页的位置中; 将所 述有错误页标记为在将来去XOR操作中排除; 以 及执行生成更新后的奇偶校验值的奇偶校验计 算, 所述更新后的奇偶校验值包含除了所述有错 误页外的所述存储器块的所有已编程页。 权利要求书3页 说明书12页 附图12页 CN 112148522 A 2020.12.29。

3、 CN 112148522 A 1.一种延长存储器块的寿命的方法, 其包括: 接收在写入操作期间在存储器块中的第一位置处发生错误的指示, 所述第一位置与所 述存储器块的有错误页相关联; 以及 通过以下操作来对所述存储器块执行修改后的异或方案: 执行生成所述有错误页的恢复数据的去异或操作; 将所述恢复数据存储在不同于所述有错误存储器页的位置中; 将所述有错误页标记为在将来去异或操作中排除; 以及 执行生成更新后的奇偶校验值的奇偶校验计算, 所述更新后的奇偶校验值包含除了所 述有错误页外的所述存储器块的所有已编程页。 2.根据权利要求1所述的方法, 其中将所述有错误页标记为用于排除进一步包括更新 。

4、位图中的状态数据, 其中所述状态数据与所述有错误页的状态相关联, 其中所述位图位于 奇偶校验页的标头中。 3.根据权利要求2所述的方法, 其中执行所述去异或操作进一步包括从所述存储器块 的第一有效页开始。 4.根据权利要求1所述的方法, 其进一步包括: 接收在对所述存储器块的不同写入操作期间发生额外错误的第二指示, 其中所述额外 错误与第二有错误页相关联; 通过以下操作来又一次对所述存储器块执行所述修改后的异或方案: 从所述存储器块的第一有效页开始执行额外去异或操作, 其中所述额外去异或操作生 成第二恢复数据; 确定所述第二有错误页位于所述存储器块的末端处; 响应于确定所述第二有错误页位 于所。

5、述存储器块的所述末端处, 从所述存储器块移动所述第二恢复数据; 以及 将所述存储器块标记为用于垃圾收集。 5.根据权利要求4所述的方法, 其中又一次执行所述修改后的异或方案进一步包括在 执行所述额外去异或操作之前, 读取奇偶校验页的标头; 以及 基于所述标头中的信息, 确定从所述修改后的异或方案中排除所述有错误页。 6.根据权利要求1所述的方法, 其中排除所述有错误页的结果为使用两个非邻近页执 行后续去异或操作。 7.根据权利要求1所述的方法, 其进一步包括: 跟踪从所述修改后的异或方案中排除的页的数量, 其中所述页被标记为无效; 以及 响应于确定页的所述数量高于阈值量而收回所述存储器块。 8。

6、.一种存储器控制器, 其包括: 第一端子, 其配置成耦合到存储器阵列, 所述存储器控制器配置成: 接收在写入操作期间在存储器块中的第一位置处发生错误的指示, 所述第一位置与所 述存储器块的有错误页相关联; 以及 第一次对所述存储器块执行修改后的异或方案, 其中所述存储器控制器进一步配置 权利要求书 1/3 页 2 CN 112148522 A 2 成: 从所述存储器块的有效页开始执行去异或操作, 其中所述去异或操作生成所述有错误 页的恢复数据; 将所述恢复数据存储在不同于所述有错误页的位置中; 将所述有错误页标记为在将来去异或操作中排除; 以及 执行生成更新后的奇偶校验值的奇偶校验计算, 所述。

7、更新后的奇偶校验值包含除了所 述有错误页外的所述存储器块的所有已编程页。 9.根据权利要求8所述的存储器控制器, 其中将所述有错误页标记为用于排除进一步 包括更新位图中的状态数据, 其中所述状态数据与所述有错误页的状态相关联, 其中所述 位图位于奇偶校验页的标头中。 10.根据权利要求8所述的存储器控制器, 所述存储器控制器进一步配置成: 接收在对所述存储器块的不同写入操作期间发生额外错误的第二指示, 其中所述额外 错误与第二有错误页相关联; 第二次对所述存储器块执行所述修改后的异或方案, 其中所述存储器控制器进一步配 置成: 执行从所述存储器块的页开始的额外去异或操作, 其中所述额外去异或操。

8、作生成第二 恢复数据; 确定所述第二有错误存储器页位于所述存储器块的末端处; 响应于确定所述第二有错 误页位于所述存储器块的所述末端处, 从所述存储器块移动所述第二恢复数据; 以及 将所述存储器块标记为用于垃圾收集。 11.根据权利要求10所述的存储器控制器, 其中当所述存储器控制器第二次执行所述 修改后的异或方案时, 所述存储器控制器进一步配置成在执行所述额外去异或操作之前, 读取奇偶校验页的标头; 以及 基于所述标头中的信息, 确定从所述修改后的异或方案中排除所述有错误页。 12.根据权利要求8所述的存储器控制器, 其中排除所述有错误页的结果为使用两个非 邻近页执行后续去异或操作。 13.。

9、根据权利要求8所述的存储器控制器, 其进一步配置成: 跟踪从所述修改后的异或方案中排除的页的数量, 其中所述页被标记为无效; 以及 响应于确定页的所述数量高于阈值量而收回所述存储器块。 14.根据权利要求13所述的存储器控制器, 其中所述存储器控制器配置成通过将所述 存储器块标记为用于垃圾收集而收回所述存储器块。 15.一种配置成延长存储器块的寿命的非易失性存储系统, 其包括: 存储器阵列, 其包含存储器块; 控制器, 其耦合到所述存储器阵列, 其中所述控制器配置成: 将第一数据编程到所述存储器块中的第一位置中; 响应于遇到与之前位置相关联的故 障指示符, 所述之前位置在所述第一位置之前; 确。

10、定所述之前位置是否在所述存储器块的末端处; 响应于确定所述之前位置是不同于 所述存储器块的所述末端的位置; 权利要求书 2/3 页 3 CN 112148522 A 3 从锁存器读取第一数据并将所述第一数据存储在随机存取存储器位置中; 接着 在所述存储器块中的所述之前位置中执行修改后的异或方案, 其中所述控制器进一步 配置成: 执行生成所述之前位置的恢复数据的去异或操作; 将所述恢复数据存储在不同位置中, 以及 将所述之前位置标记为从对所述存储器块执行的后续去异或操作中排除。 16.根据权利要求15所述的非易失性存储系统, 其中所述故障指示符为写入后读取故 障。 17.根据权利要求15所述的非。

11、易失性存储系统, 其中: 所述第一位置为第二存储器页, 所述之前位置为第一存储器页, 且 在执行生成所述之前位置的恢复数据的所述去异或操作之前, 更新后的奇偶校验值包 含所述第一和第二存储器页。 18.根据权利要求15所述的非易失性存储系统, 所述控制器进一步配置成: 将第二数据编程到所述存储器块中的末端位置中, 所述末端位置位于所述存储器块的 所述末端处; 遇到与所述末端位置相关联的程序故障错误; 响应于确定所述末端位置位于所述存储 器块的所述末端处, 在所述末端位置中执行生成末端位置恢复数据的修改后的异或操作; 将所述末端位置恢复数据存储在不同于所述末端位置的位置中; 以及 将所述存储器块。

12、标记为用于垃圾收集。 19.根据权利要求15所述的非易失性存储系统, 其中当所述控制器将所述之前位置标 记为用于排除时, 所述控制器进一步配置成更新奇偶校验页的标头, 所述标头包含存储所 述之前位置的状态信息的位图。 20.根据权利要求19所述的非易失性存储系统, 所述控制器进一步配置成: 跟踪从所述修改后的异或方案中排除的位置的数量; 以及 当位置的所述数量高于阈值量时收回所述存储器块。 权利要求书 3/3 页 4 CN 112148522 A 4 快闪存储器中的错误校正方案 背景技术 0001 非易失性存储器系统不需要外部电源就能保留存储的信息。 在各种计算 装置当 中以及独立存储器装置中。

13、普遍使用的一种非易失性存储器类型是快 闪存储器。 例如, 可以 在膝上型计算机、 数字音频播放器、 数字照相机、 智 能电话、 视频游戏、 科学仪器、 工业机器 人、 医疗电子装置、 固态驱动器和 USB驱动器中找到快闪存储器。 0002 快闪存储器会经历各种故障模式, 这些故障模式是由快闪存储器的硬件 或软件 配置中存在的各种问题引起的。 可以用错误校正码, 例如异或(XOR) 奇偶校验来校正一些 故障, 然而错误校正码对可以校正的错误类型和数量具 有限制。 常常, 如果存储器控制器 无法使用错误校正码来校正错误, 则控制 器会将存储器块标记为用于垃圾收集。 垃圾收集 操作将存储器块内的有效。

14、数 据复制到存储器中的新位置, 且接着擦除整个存储器块。 存储 器块接着可以 被收回或可用于将来数据写入。 发明内容 0003 各种实施例包含一种延长存储器块的寿命的方法, 所述方法包含: 接收 在写入操 作期间在存储器块中的第一位置处发生错误的指示, 第一位置与存 储器块的有错误页相 关联; 以及通过以下操作来对存储器块执行修改后的异 或(XOR)方案: 执行生成有错误页 的恢复数据的去XOR操作; 将恢复数 据存储在不同于有错误存储器页的位置中; 将有错误 页标记为在将来去XOR 操作中排除; 以及执行生成更新后的奇偶校验值的奇偶校验计算, 所述更新 后的奇偶校验值包含除了有错误页外的存储。

15、器块的所有已编程页。 0004 其它实施例包含一种存储器控制器, 其包含: 配置成耦合到存储器阵列 的第一端 子, 所述存储器控制器配置成: 接收在写入操作期间在存储器块中 的第一位置处发生错误 的指示, 第一位置与存储器块的有错误页相关联; 以 及第一次对存储器块执行修改后的异 或(XOR)方案, 其中存储器控制器进 一步配置成: 从存储器块的有效页开始执行去XOR操 作, 其中去XOR操作 生成有错误页的恢复数据; 将恢复数据存储在不同于有错误页的位置 中; 将 有错误页标记为在将来去XOR操作中排除; 以及执行生成更新后的奇偶校 验值的奇 偶校验计算, 所述更新后的奇偶校验值包含除了有错。

16、误页外的存储 器块的所有已编程页。 0005 额外实施例包含一种配置成延长存储器块的寿命的非易失性存储系统, 其包含: 包含存储器块的存储器阵列; 耦合到存储器阵列的控制器, 其中控 制器配置成: 将第一数 据编程到存储器块中的第一位置中, 响应于遇到与之 前位置相关联的故障指示符, 之前位 置在第一位置之前; 确定之前位置是否 在存储器块的末端处, 响应于确定之前位置是不同 于存储器块的末端的位置; 从锁存器读取第一数据, 并将第一数据存储在随机存取存储器 位置中; 接着 在存储器块中的之前位置中执行修改后的异或(XOR)方案, 其中控制器进 一 步配置成: 执行生成之前位置的恢复数据的去X。

17、OR操作, 将恢复数据存 储在不同位置中, 以 及将之前位置标记为从对存储器块执行的后续去XOR 操作中排除。 说明书 1/12 页 5 CN 112148522 A 5 附图说明 0006 为了详细描述示例实施例, 现在参考随附图式, 其中: 0007 图1示出根据一些实施例的示例非易失性存储器系统的框图。 0008 图2A示出根据一些实施例的控制器的示例组件的框图。 0009 图2B示出根据一些实施例的非易失性存储器存储系统的示例组件的框 图。 0010 图3示出根据一些实施例的存储器裸片的框图。 0011 图4A示出根据一些实施例的对存储器块执行修改后的XOR方案的概 念和方法图。 00。

18、12 图4B示出根据一些实施例的对存储器块执行修改后的XOR方案的概念 和方法图。 0013 图5A示出根据一些实施例的对存储器块执行修改后的XOR方案的概 念和方法图。 0014 图6A示出根据一些实施例的对存储器块执行修改后的XOR方案的概 念和方法图。 0015 图6B示出根据一些实施例的对存储器块执行修改后的XOR方案的概念 和方法图。 0016 图7示出根据一些实施例的方法图。 0017 图8示出根据一些实施例的方法图。 0018 图9示出根据一些实施例的方法图。 具体实施方式 0019 以下论述针对本发明的各种实施例。 尽管这些实施例中的一个或多个可 能是优 选的, 但不应将所公开。

19、的实施例解释为限制包含权利要求书的本发明 的范围, 或以其它方 式作为限制包含权利要求书的本发明的范围来使用。 另 外, 所属领域的技术人员将理解以 下描述具有广泛的应用, 并且任何实施例 的论述仅意味着所述实施例示例性的论述, 而并 非意图暗示将本发明的范围 (包含权利要求书)限制于所述实施例。 0020 使用各种术语来指代特定系统组件。 不同公司可指具有不同名称的组件, 本文献 并不意图对具有不同名称而非功能的组件加以区分。 在以下讨论中并 且在权利要求书中, 术语 “包含” 和 “包括” 以开放式方式使用, 并且因此 应解释为意指 “包含(但不限于)” 。 并且, 术语 “耦合” 意指间。

20、接或 直接连接。 因此, 如果第一装置耦合到第二装置, 则所述连接 可能是通过直 接连接, 或通过经由其它装置和连接的间接连接。 对控制器的参考应意指个 别电路组件、 专用集成电路(ASIC)、 具有控制软件的微控制器、 数字信号 处理器(DSP)、 具 有控制软件的处理器、 现场可编程门阵列(FPGA)或其 组合。 0021 示例实施例中的至少一些涉及延长存储器块的寿命, 其包含: 接收在写 入操作期 间在存储器块中的第一位置处发生错误的指示, 第一位置与存储器 块的有错误页相关联; 以及通过以下操作来对存储器块执行修改后的异或 (XOR)方案: 执行生成有错误页的恢复 数据的去XOR操作;。

21、 将恢复数据 存储在不同于有错误存储器页的位置中; 将有错误页标记 为在将来去XOR 操作中排除; 以及执行生成更新后的奇偶校验值的奇偶校验计算, 所述更 新 后的奇偶校验值包含除了有错误页外的存储器块的所有已编程页。 0022 修改后的XOR方案使得控制器能够从未必彼此邻近的存储器页恢复数 据。 例如, 假定页与字线相关的平面存储器结构, 如果存在跨越三个字线的 短路, 则存储器控制器可 以使用修改后的XOR方案从第一和第三字线恢复 数据, 其中第二字线安置于第一与第三字 线之间。 也就是说, 修改后的XOR 方案使得存储器控制器能够从也不彼此邻近的字线恢复 数据。 从故障字块中 的非邻近字。

22、线恢复数据的能力可以延长存储器的寿命。 例如, 在短路 说明书 2/12 页 6 CN 112148522 A 6 跨越多 于两个字线延伸的情况中, 在未存取修改后的XOR方案的情况下, 控制器 惯常将存 储器块标记为用于垃圾收集, 借此将存储器块内的有效数据复制到 存储器中的新位置且 接着擦除整个存储器块。 然而, 通过使用修改后的XOR 方案, 控制器可以继续使用故障块, 并延迟将故障块标记为用于垃圾收集直 到稍后时间为止。 0023 下文所描述的方法另外包含一种控制器, 其配置成: 将第一数据编程到 存储器块 中的第一位置中; 响应于遇到与之前位置相关联的故障指示符, 之 前位置在第一位。

23、置之 前; 确定之前位置是否在存储器块的末端处; 响应于确 定之前位置是不同于存储器块的末 端的位置; 从锁存器读取第一数据并将第 一数据存储在随机存取存储器位置中; 接着在存 储器块中的之前位置中执行 修改后的异或(XOR)方案, 其中控制器进一步配置成: 执行生 成之前位置 的恢复数据的去XOR操作, 将恢复数据存储在不同位置中, 以及将之前位 置标 记为从对存储器块执行的后续去XOR操作中排除。 0024 图1示出包含非易失性存储器110的示例系统架构100的框图。 特定来 说, 示例系 统架构100包含存储系统102, 存储系统102进一步包含由总线 112以通信方式耦合到主机 106。

24、的控制器104。 总线112实施使得存储系统 102与主机106能够通信的任何已知或后开发 的通信协议。 通信协议的一些 非限制性实例包含安全数字(SD)协议、 记忆棒(MS)协议、 通 用串行总 线(USB)协议或高级微控制器总线架构(AMBA)。 0025 控制器104具有至少一第一端口116, 其借助于通信接口114耦合到下 文中称为 “存储器110” 的非易失性存储器( “NVM” )110。 存储器110安 置于存储系统102内。 控制器114 借助于第二端口118和总线112耦合到主 机106。 控制器的第一端口116和第二端口118分别 可以包含耦合到存储器 110或主机106的。

25、一个或若干个通道。 0026 存储系统102的存储器110包含若干存储器裸片110-1到110-N。 图1 中限定存储器 110的方式并不意味着具有限制性。 在一些实施例中, 存储器 110限定一组物理存储器裸 片, 例如存储器裸片110-1到110-N。 在其它实施 例中, 存储器110限定一组逻辑存储器裸 片, 其中存储器110包含来自物理 上不同的若干组存储器裸片的存储器裸片。 存储器裸片 110包含即使在电力 供应中断时仍保留数据的非易失性存储器单元。 因此, 存储系统102可 易于 输送, 且存储系统102可以用于未必总是连接到电力供应器的存储卡和其它 存储器 装置中。 0027 在。

26、各种实施例中, 存储器裸片110中的存储器单元是一次可编程、 几次 可编程或 多次可编程的固态存储器单元(例如, 快闪)。 另外, 存储器裸片 110中的存储器单元可以包 含单层级单元(SLC)、 多层级单元(MLC)或三 层级单元(TLC)。 在一些实施例中, 存储器单元 是以平面方式(例如, 2D NAND(与非)快闪), 或堆栈或层化方式(例如, 3D NAND快闪)制造。 0028 仍参考图1, 控制器104和存储器110由接口114以通信方式耦合, 所 述接口由安置 于控制器104与个别存储器裸片110-1到110-N之间的若干通 道(例如, 物理连接)实施。 单 个接口114的描绘。

27、并不意味着限制性, 这是 由于一个或多个接口可以用于将前述组件以通 信方式耦合。 在其上建立接口 114的通道数量基于控制器104的能力而变化。 另外, 单个通 道可以配置成 以通信方式耦合多于一个存储器裸片。 因此, 第一端口116可以耦合实施接 口114的一个或若干个通道。 接口114实施任何已知或已开发通信协议。 在 存储系统102是 快闪存储器的实施例中, 接口114是快闪接口, 例如Toggle Mode 200、 400、 800或通用快闪 存储器接口(CFI)。 说明书 3/12 页 7 CN 112148522 A 7 0029 在各种实施例中, 主机106包含利用存储系统10。

28、2的任何装置或系统, 例如计算装 置、 存储卡、 快闪驱动器。 在一些示例实施例中, 存储系统102 嵌入于主机106内, 例如安装 于膝上型计算机中之固态磁盘(SSD)驱动器。 在额外实施例中, 系统架构100嵌入于主机 106内, 使得主机106和包含控 制器104的存储系统102形成于单个集成电路芯片上。 在系统 架构100实施 于存储卡内的实施例中, 主机106可以包含用于一种或多种类型的存储卡或 快闪驱动器的内置式插座或适配器(例如, 通用串行总线(USB)端口或外 置存储卡槽)。 0030 尽管, 存储系统102包含其自身的存储器控制器和驱动器(例如, 控制 器104) 如将在下文。

29、图2A中进一步描述但图1中描述的实例并不 意味着限制性。 存储系统102 的其它实施例包含替代地由主机106上的控制 器执行的软件控制的仅存储器单元(例如, 计算装置的处理器控制存储单元 102包含存储单元的错误处理)。 另外, 本文中描述为 由控制器104执行 的任何方法也可以由主机106的控制器执行。 0031 在各种实施例中, 控制器104充当主机106与存储系统102之间的接口, 且管理存 储系统102上存储的数据。 控制器104可以包含个别电路组件、 处 理电路系统(例如, 逻辑门 和开关)、 处理器、 微处理器、 具有控制软件的 微控制器或现场可编程门阵列(FPGA)。 示例 控制。

30、器104可以包含存储可由 处理器执行的计算机可读程序代码(例如, 软件或固件)的计 算机可读介质。 在一些实施例中, 控制器104是快闪存储器控制器。 在其它实施例中, 控制 器104的功能性由主机106内执行的处理器实施。 0032 仍参考图1, 主机106包含配置成执行存储在存储系统102中的指令的 其自身的控 制器(例如, 处理器), 且主机106进一步存取存储在存储系统 102中的数据, 所述数据在本 文中被称作 “主机数据” 。 主机数据包含源自且 关于在主机106上执行的应用程序的数据。 在一个实例中, 主机106通过向 控制器104提供逻辑地址来存取存储在存储系统102中的主 机。

31、数据, 控制器 104将所述逻辑地址转换成物理地址。 控制器104存取与物理地址相关联的 数据或特定存储位置, 且促进存储系统102与主机106之间的数据传送。 在 存储系统102包 含快闪存储器的实施例中, 控制器104格式化快闪存储器以 确保存储器适当地操作, 标出 不良快闪存储器单元, 并分配备用单元以取代 将来故障单元或用于保存固件以操作快闪 存储器控制器(例如, 控制器104)。 因此, 控制器104执行各种存储器管理功能, 例如耗损均 衡(例如, 分散写 入以延长存储器块的寿命)、 垃圾收集(例如, 将有效数据页移动到新块并 擦除先前使用的块), 以及错误检测和校正(例如, 读取错。

32、误处理、 修改后 的XOR操作)。 0033 接下来在图2A和2B中描述控制器104和存储器110的额外细节。 具 体来说, 图2A以 框图形式展示关于存储系统102的控制器104(图1中介 绍)的额外细节。 图2A示出先前描述 的控制器104、 存储器110以及端口 116和118, 且另外示出随机存取存储器(RAM)230和只读 存储器(ROM) 232。 RAM 230和ROM 232分别由RAM端口272和ROM端口274耦合到 控制器104。 0034 尽管RAM 230和ROM 232展示为存储系统102内的分开的模块, 但所 示架构并不意 味着限制性。 例如, RAM 230和R。

33、OM 232可以位于控制器104 内。 在其它情况下, RAM 230或 ROM 232的部分分别可以位于控制器104 外部。 在其它实施例中, 控制器104、 RAM 230和ROM 232位于分开的半 导体裸片上。 在一些实施例中, ROM 232存储系统启动代码。 论述现在转 向 包含于控制器104内的各种示例模块。 0035 控制器104内描绘的各种模块的以下论述意味着说明性而非限制性。 例 如, 不限 于在控制器104内执行图2A中描述的各种模块; 可以在控制器104 外部执行一个或多个模 说明书 4/12 页 8 CN 112148522 A 8 块。 如本文中所使用, 术语模块可。

34、以包含设计为与其 它组件一起使用的封装型功能硬件单 元、 可由控制器(例如, 执行软件或固 件的处理器)执行的指令集、 配置成执行特定功能的 处理电路系统, 以及与 大型系统对接的独立硬件或软件组件。 例如, 模块可以包含专用集 成电路 (ASIC)、 现场可编程门阵列(FPGA)、 电路、 数字逻辑电路、 模拟电路、 离散电路、 门 和其它类型的硬件的组合或其组合。 在其它实施例中, 模块可 以包含存储器, 所述存储器 存储可由控制器执行以实施模块的特征的指令。 因此, 控制器可以配置有硬件和/或固件 以执行本文中所描述的各种功能。 0036 控制器内的模块(例如, 模块202和204)由总。

35、线206以通信方式彼此 耦合。 模块202 与主机106对接且包含主机接口208和物理层接口210, 所 述物理层接口在主机106或下一 层级存储控制器与控制器104之间提供电接 口。 主机接口208促进数据、 控制信号和时序信 号的传送。 主机接口208的 实例包含SATA、 SATA Express、 串行连接的SCSI(SAS)、 光纤通 道、 USB、 PCIe和NVMe。 0037 仍参考图2A, 模块204配置成借助于端口116与存储器110通信, 且 包含错误校正 码(ECC)引擎212、 定序器214、 独立驱动器冗余阵列(RAID) 模块216、 快闪控制层220和存储 器接。

36、口218。 在一些实施例中, ECC引擎 212编码从主机106接收到的主机数据, 且将已编码 主机数据存储在存储器 110中。 当从存储器110读出主机数据时, ECC引擎212解码主机数据 并校 正在主机数据内检测到的错误。 在各种实施例中, 定序器214生成命令序列, 例如传 输到存储器110的程序和擦除命令序列。 0038 RAID模块216生成RAID奇偶校验和故障数据的恢复。 RAID奇偶校 验可以用于为写 入到存储器110中的数据提供额外完整性保护级别。 在一些 实施例中, ECC引擎212实施 RAID模块216的功能。 另外, ECC引擎212 实施如本文中进一步描述的修改后。

37、的XOR方案。 0039 存储器接口218向存储器110提供命令序列且从存储器110接收状态信 息。 例如, 存储器接口218实施任何已知或已开发通信协议, 包含双数据速 率(DDR)接口, 例如切换模 式(Toggle Mode)200、 400或800。 快闪控 制层220控制模块204的总体操作。 0040 仍参考图2A, 控制器104内的额外模块包含虚拟字线(DW)模式生成 模块222、 DW错 误分析模块224和参数调整模块226。 在各种实施例中, DW模式生成模块222将已知数据模 式放入虚拟字线中, 且通过从虚拟字线 中读回数据并将数据与已知数据模式进行比较来 跟踪或周期性地检。

38、查错误。 在各种实施例中, 参数调整模块226调整与特定非易失性存储 器裸片, 或更 具体来说, 特定存储器块相关联的参数。 0041 示例控制器104包含缓冲器管理器/总线控制器228, 其管理例如RAM 230中的缓冲 器且控制控制器104中的总线206的内部总线仲裁。 另外, 示 例控制器104包含执行存储器 110的耗损均衡的介质管理层236。 在存储系 统102包含快闪存储器的实施例中, 介质管理 层236可以集成为处理快闪错 误且与主机106对接的快闪管理的部分。 特定来说, 介质管理 层236可以包 含将从主机106接收到的写入命令转译成到存储器110的写入的演算法(例 如, 存。

39、储器装置中的固件)。 因此, 已描述示例控制器104内的模块和组件。 0042 图2B以框图形式展示存储系统102内的存储器110的各种特征和示例 布局。 为了 便于读者定位, 图2B中包含先前描述的控制器104、 RAM 230 和ROM 232。 尽管图2B中的论述 重点是存储器裸片110-1, 但相对于存储 器裸片110-1论述的特征中的每一个同样适用于 存储器110内的所有存储器 裸片。 说明书 5/12 页 9 CN 112148522 A 9 0043 在各种实施例中, 示例存储器裸片110-1包含控制电路250、 读取/写入 电路252、 行解码器254、 列解码器256和存储器。

40、阵列260。 示例控制电路 250包含电力控制电路266、 地 址解码器268和状态机270。 在一些实施例中, 电力控制电路266、 地址解码器268和状态机 270在本文中统称为 “管理电 路” 。 控制电路250和其各种管理电路由各种接口(例如, 接口 262和264) 以通信方式耦合到行解码器254和列解码器256。 在各种实施例中, 控制电 路 250对存储器阵列260执行各种操作, 包含借助于行解码器254和列解码 器256读取或写入 到存储器单元。 在一些实施例中, 读取/写入电路252配置 成并行地读取和编程存储器裸片 110-1内的存储器页。 0044 电力控制电路266在存。

41、储器阵列260的操作期间控制供应到字线和位线 的功率和 电压。 地址解码器268提供地址接口, 所述地址接口在由主机106 提供的地址与由行解码器 254和列解码器256使用的地址, 或反过来之间转 译地址。 状态机270提供存储器操作的芯 片层级控制。 0045 存储器裸片110-1的架构并不意味着限制性, 且在不脱离本发明的范围 的情况下 可以使用可以执行存取存储器阵列260的功能的任何已知架构。 例 如, 在各种实施例中, 可 以以对称的方式在存储器阵列260的相对侧上实施 由各种外围电路对存储器阵列260的存 取, 这降低了存取线和存储器阵列 260的每一侧上的电路系统的密度。 004。

42、6 图3以框图形式示出根据一些实施例的示例存储器裸片110-1。 具体来 说, 图3示 出存储器裸片110-1内的存储器单元的一个示例逻辑分组。 示例 存储器裸片110-1可以以 物理或逻辑方式分组成一个或多个存储器平面302。 将存储器平面302-1作为实例, 可以进 一步以逻辑或物理方式将每一存储器 平面进一步分组成存储器块304, 其中存储器块中的 每一个进一步划分成存 储器页308, 其中页被定义为可以被编程或写入的最小单位。 存储 器块定义 可以被擦除的最小单位。 在一些实例中, 存储器页308可以与字线和字线的 相应 字符串相关(例如, 在3-D NAND中)。 在其它实例中, 存。

43、储器页308 可以与基础字线相关(例 如, 在平面NAND中)。 0047 在传统XOR方案下, 可使用XOR奇偶校验方案恢复邻近存储器页308。 例如, 如果存 储器页308-2含有无法读出的数据, 则控制器104可以对页308-1 和先前计算出的奇偶校验 信息执行去XOR操作, 以恢复页308-2的数据。 然而, 如果短路延伸穿过页308-1、 308-2、 308-3和308-4, 则传统XOR方 案将不能够恢复来自存储器页308-2的数据。 在传统XOR方案 下, 控制器 104将存储器块304-1标记为用于垃圾收集。 在垃圾收集操作期间, 控制器 104 将存储在存储器块304-1中。

44、的数据移动到不同存储器块(例如, 存储器 块304-x), 且接着收 回存储器块304-1, 使得其不再由系统使用。 0048 然而, 修改后的XOR方案使得控制器104也能够恢复来自非邻近存储 器页的数据。 因此, 本文中所描述的方法通过允许控制器104继续使用原本 将被收回的存储器块而有助 于延长存储器块304-1的寿命。 也就是说, 通过 实施本文中描述的技术, 对于短路延伸穿过 存储器页308-1、 308-2、 308-3 和308-4的上文给定实例, 控制器104将能够继续利用存储器 块304-1。 0049 图4A到4B示出根据一些实施例的对存储器块执行修改后的XOR方案 的概念。

45、和方 法图。 响应于在编程操作期间接收到包含例如写入后读取和程序 故障的故障指示符, 执行 修改后的XOR方案。 如本文中所使用, 写入后读 取为在数据写入到存储器块之后不久从块 说明书 6/12 页 10 CN 112148522 A 10 读取数据的任何操作。 执行写入后 读取以验证从存储器块读出的数据是否匹配写入到存 储器块的数据。 在一些 实施例中, 写入后读取包含定义为在写入操作之后执行的读取操作 的增强型 写入后读取(EPWR), 其中读取操作甚至在读出的数据的子集中存在错误时, 仍 使用错误校正码来重建构最初写入的数据。 程序故障为写入操作期间发生 的任何故障。 0050 在图4。

46、A中, 由控制器104(图1中所出)接收关于存储器块401的故 障指示符。 在各 种实施例中, 故障指示符含有关于存储器块和存储器块内正 发生故障的存储器页的信息。 在图4A中, 例如, 控制器104接收识别出存 储器块401和存储器页402(C)的故障指示符。 因 此, 控制器104对存储器块 401执行修改后的XOR方案。 0051 如本文中所使用, 修改后的XOR方案可以包含一个或多个修改后的 XOR操作, 包含 (例如)对存储器块执行的修改后的去XOR操作(可互换 地称为去XOR操作)和与存储器块相 关联的奇偶校验计算。 在执行修改后 的XOR方案时, 奇偶校验标头404中的数据指示从。

47、修改 后的XOR方案中排 除的存储器页。 也就是说, 修改后的XOR方案包含考虑被排除的存储器页 的去XOR操作和奇偶校验计算。 去XOR操作和奇偶校验计算定义为修改后 的XOR方案的部分 的修改后的XOR操作。 根据本文中描述的实施例执行的 奇偶校验计算生成更新后的奇偶校 验值。 值得注意的是, 对奇偶校验值的参 考可以与更新后的奇偶校验值互换使用。 0052 图4A中示出的示例描述控制器104在编程操作期间第一次遇到错误的 示例情境。 因此, 奇偶校验标头404最初是空的。 如本文中所描述, 在遇到 第一故障后, 且随着控制器 104继续编程存储器块401, 奇偶校验标头404 跟踪控制器。

48、104在编程期间已在上面遇到错 误的存储器页。 在各种实施例中, 奇偶校验标头404为存储和跟踪从修改后的XOR方案中排 除的存储器页的 任何方案或方法的表示。 0053 存储在奇偶校验标头404中的数据可以用于至少两个不同情境。 一个情 境包含当 控制器104遇到程序故障(例如, 写入后读取或程序故障)时。 另 一情境包含当控制器104在 某一将来时间读取数据且遇到页故障(例如, 读 取故障)时。 0054 奇偶校验标头404存储为XOR奇偶校验页403的标头中的位图。 奇偶 校验标头404 和奇偶校验页403可以存储在存储器110中的各种位置中 例如, 存储为存储器块401中 的存储器页或。

49、特殊块304-x(图3中所描述) 中的页, 或存储在RAM 230(图2A中所描述)中。 奇偶校验标头404跟踪 存储器页的状态(例如, 有效或无效)。 在一个实例中, 单个位状态指 示页 是否有效。 例如, 存储在奇偶校验标头404中的 “1” 是归因于无效页, 而 存储在奇偶校 验标头404中的 “0” 是归因于有效页。 0055 当控制器104识别出存储器块401中存在有错误页时, 更新奇偶校验标 头404中的 信息。 由于奇偶校验标头404中的信息可以改变, 因此控制器104 在对存储器页执行修改后 的去XOR操作之前检查其状态位。 如果页标记为 无效(例如,“1” 存储在奇偶校验标头。

50、404 中), 则修改后的去XOR操作从 修改后的去XOR操作中排除任何已识别有错误页。 0056 在操作中, 控制器104使用示例写入操作将数据编程到存储器块401中。 对于图4A 中的实例, 在示例写入操作期间, 控制器104遇到与存储器页 402(C)相关联的故障指示符。 在各种实例中, 相应存储器页可以出于不同原 因而在不同时间变得有错误。 0057 在示例写入操作期间, 控制器104在将数据写入到页之后计算更新后的 奇偶校验 值。 例如, 在选择将数据写入到存储器块401后, 控制器104将数 据写入到第一可用页, 例如 页402(A), 且计算包含页402(A)中的数据的更新 后的。

展开阅读全文
内容关键字: 闪存 中的 错误 校正 方案
关于本文
本文标题:快闪存储器中的错误校正方案.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/10125247.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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