《半导体存储装置和存储控制方法.pdf》由会员分享,可在线阅读,更多相关《半导体存储装置和存储控制方法.pdf(25页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103151073 A (43)申请公布日 2013.06.12 CN 103151073 A *CN103151073A* (21)申请号 201310053280.8 (22)申请日 2009.09.14 325632/2008 2008.12.22 JP 200910169039.5 2009.09.14 G11C 16/10(2006.01) G11C 11/56(2006.01) (71)申请人 株式会社 东芝 地址 日本东京都 (72)发明人 菅野伸一 浅野滋博 橘内和也 矢野浩邦 檜田敏克 (74)专利代理机构 北京市中咨律师事务所 11247 代理人 。
2、杨晓光 于静 (54) 发明名称 半导体存储装置和存储控制方法 (57) 摘要 本发明涉及半导体存储装置和存储控制方 法。一种半导体存储装置包括 : 第一存储单元, 其具有作为数据写入区域的多个第一块 ; 指令单 元, 其发出将数据写入所述第一块中的写入指令 ; 转换单元, 其参考转换表将输入数据的外部地址 转换成在所述第一块中的存储位置, 在所述地址 转换表中所述数据的外部地址与所述第一块中 的所述数据的所述存储位置相关联 ; 以及判断单 元, 其基于所述输入数据的所述存储位置而判断 所述第一块中的任何块是否存储有效数据, 其中 当所述第一块中的任何块没有存储所述有效数据 时, 所述指令单元。
3、发出将数据写入其中没有存储 所述有效数据的所述第一块中的写入指令。 (30)优先权数据 (62)分案原申请数据 (51)Int.Cl. 权利要求书 2 页 说明书 10 页 附图 12 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书10页 附图12页 (10)申请公布号 CN 103151073 A CN 103151073 A *CN103151073A* 1/2 页 2 1. 一种半导体存储装置, 包括 : 第一存储单元, 其具有作为数据写入区域的多个第一块 ; 指令单元, 其发出将数据写入所述第一块中的写入指令 ; 转换单元, 其参考转换表而将输入。
4、数据的外部地址转换成在所述第一块中的存储位 置, 在所述转换表中所述数据的外部地址与所述第一块中的所述数据的所述存储位置相关 联 ; 以及 判断单元, 其基于所述输入数据的所述存储位置而判断存储在所述第一块中的所述有 效数据的项的总数目, 所述有效数据为与所述外部地址相关联的数据, 其中 当所述总数目小于预定的数目时, 所述指令单元发出将数据写入其中没有存储有效数 据的所述第一块中的写入指令。 2. 一种半导体存储装置, 包括 : 第一存储单元, 其具有作为数据写入区域的多个第一块 ; 指令单元, 其发出将数据写入所述第一块中的写入指令 ; 转换单元, 其参考转换表而将输入数据的外部地址转换成。
5、在所述第一块中的存储位 置, 在所述转换表中所述数据的外部地址与所述块中的所述数据的存储位置相关联 ; 管理单元, 其管理在所述第一块中的所述数据的存储状态 ; 以及 判断单元, 其基于所述输入数据的所述存储位置以及所述数据的所述存储状态而判断 所述第一块是否包括其中数据写入不会造成有效数据损失的任何第一块, 所述有效数据为 与所述外部地址相关联的数据, 其中 当存在安全的第一块时, 所述指令单元发出将数据写入在所述安全的第一块当中的这 样的安全的第一块中的写入指令, 在该安全的第一块中写入最大的数据量, 当所述第一块包括其中数据写入不会造成所述有效数据损失的第一块时, 所述指令单 元发出将数。
6、据写入其中所述数据写入不会造成所述有效数据损失的所述第一块当中的这 样的第一块中的写入指令, 在该第一块中写入最大的数据量。 3. 一种半导体存储装置, 包括 : 第一存储单元, 其具有作为数据写入区域的多个第一块 ; 指令单元, 其发出将数据写入所述第一块中的写入指令 ; 转换单元, 其参考转换表而将输入数据的外部地址转换成在所述第一块中的存储位 置, 在所述转换表中所述数据的外部地址与所述第一块中的所述数据的所述存储位置相关 联 ; 以及 判断单元, 其基于所述输入数据的所述存储位置而判断所述第一块中的任何块是否存 储有效数据, 所述有效数据为与所述外部地址相关联的数据, 其中 所述指令单。
7、元发出将数据写入其中没有存储有效数据的所述第一块当中的这样的第 一块中的写入指令, 在该第一块中写入最大的数据量。 4. 一种在半导体存储装置中实施的存储控制方法, 所述方法包括以下步骤 : 发出将数据写入第一存储单元中的作为数据写入区域的块中的写入指令 ; 参考转换表将输入数据的外部地址转换成在所述块中的存储位置, 在所述转换表中所 述数据的外部地址与所述块中的所述数据的所述存储位置相关联 ; 以及 基于所述输入数据的所述存储位置而判断所述块中的任何块是否存储有效数据, 所述 权 利 要 求 书 CN 103151073 A 2 2/2 页 3 有效数据为与所述外部地址相关联的数据, 其中 。
8、当存在没有存储有效数据的块时, 所述发出步骤发出将数据写入在所述没有存储有效 数据的块当中的这样的块中的写入指令, 在该块中写入最大的数据量, 当所述块中的任何块没有存储所述有效数据时, 所述发出步骤发出将数据写入其中没 有存储有效数据的第一块当中的这样的块中的写入指令, 在该块中写入最大的数据量。 权 利 要 求 书 CN 103151073 A 3 1/10 页 4 半导体存储装置和存储控制方法 0001 本申请是申请日为 2009 年 9 月 14 日、 申请号为 200910169039.5、 发明名称为 “半 导体存储装置和存储控制方法” 的申请的分案申请。 0002 相关领域的交叉。
9、引用 0003 本申请基于在 2008 年 12 月 22 日提交的在先的日本专利申请 No.2008-325632 并 要求其优先权, 在此引入其全部内容作为参考。 技术领域 0004 本发明涉及对半导体存储装置的存储控制。 背景技术 0005 在安装有 NAND 闪速 (flash) ROM 等的半导体存储装置中, 需要安全地保护先前存 储的数据, 以便在数据写入操作期间突然切断电源时这些先前存储的数据不被破坏而导致 写入失败。多级基元 (MLC) 型 NAND 闪速 ROM 具有通过执行每次写入一个位的写入几次而 将信息写入存储器基元中的模式, 其中, 在该 MLC 型 NAND 闪速 。
10、ROM 中根据不同的电压而存 储有多个位。 在该写入模式中存在这样的问题, 即, 如果在信息正被添加到其中具有信息的 存储器基元中时电源被切断, 则会丢失先前存储的信息。 0006 为了解决该问题, JP-A2006-221743(KOKAI) 提出了一种技术, 其管理在共享存储 器基元的块中的页的关系并控制一次将数据写入每一个块的存储器基元中的写入操作。 以 该方式, 暂时存储外部提供的数据, 并以特定的时序将暂时存储的数据复制到另一块。从 而, 可以避免数据破坏。 0007 更具体而言, 将 MLC NAND 闪速 ROM 暂时用作 SLC(两态) NAND 闪速 ROM, 以便保护 已完。
11、成写入操作的数据不被破坏。然后, 通过常规写入方法将暂时存储的数据复制到另一 个块。这实现了 MLC NAND 闪速 ROM 的安全的数据写入操作。通过该方法, 即使在暂时存储 的数据正被复制到另一个块时电源被突然切断, 所存储的原始数据也不会受到破坏, 因此 可以容易地恢复数据。 0008 然而, 根据 JP-A2006-221743(KOKAI) 的技术, 在一次擦除之后可被写入块中的数 据量被减小到 “1/ 存储器基元中可写入的位的数目” 。这意味着, 为了在 MLC NAND 闪速 ROM 中写入特定的数据量, 必须擦除将要写入的数据量乘以存储器基元中可写入的位的数目而 得到的量。此外。
12、, 根据该技术, 总是将暂时存储的数据复制到另一个块。这意味着, 在最后, 需要擦除数据量乘以 “ (存储器基元中可写入的位的数目) +1” 而得到的量。 0009 例如, 当在该系统中采用其中可以在每个存储器基元中写入两个位的MLC NAND闪 速 ROM 时, 需要擦除将要写入的数据量的 2+1=3 倍的数据量, 这是非常不必要的量。此外, 考虑到重写的次数是有限的, 应该最小化数据擦除的次数。 发明内容 0010 根据本发明的一个方面, 一种半导体存储装置包括 : 第一存储单元, 其具有作为数 说 明 书 CN 103151073 A 4 2/10 页 5 据写入区域的多个第一块 ; 指。
13、令单元, 其发出将数据写入所述第一块中的写入指令 ; 转换 单元, 其参考转换表而将输入数据的外部地址转换成在所述第一块中的存储位置, 在所述 转换表中所述数据的外部地址与所述第一块中的所述数据的所述存储位置相关联 ; 以及判 断单元, 其基于所述输入数据的所述存储位置而判断所述第一块中的任何块是否存储有效 数据, 所述有效数据为与所述外部地址相关联的数据, 其中当所述第一块中的任何块没有 存储所述有效数据时, 所述指令单元发出将数据写入其中没有存储所述有效数据的所述第 一块中的写入指令。 0011 根据本发明的另一方面, 一种半导体存储装置包括 : 第一存储单元, 其具有作为数 据写入区域的。
14、多个第一块 ; 指令单元, 其发出将数据写入所述第一块中的写入指令 ; 转换 单元, 其参考转换表而将输入数据的外部地址转换成在所述第一块中的存储位置, 在所述 转换表中所述数据的外部地址与所述块中的所述数据的所述存储位置相关联 ; 管理单元, 其管理在所述第一块中的所述数据的存储状态 ; 以及判断单元, 其基于所述输入数据的所 述存储位置以及所述数据的所述存储状态而判断所述第一块是否包括其中数据写入不会 造成有效数据损失的任何第一块, 所述有效数据为与所述外部地址相关联的数据, 其中当 所述第一块包括其中数据写入不会造成所述有效数据损失的第一块时, 所述指令单元发出 将数据写入其中所述数据写。
15、入不会造成所述有效数据损失的所述第一块中的写入指令。 0012 根据本发明的又一方面, 一种在半导体存储装置中实施的存储控制方法, 所述方 法包括 : 第二存储单元, 其具有作为数据写入区域的多个第二块 ; 以及移动单元, 当所述第 一块不包括其中所述数据写入不会造成所述有效数据损失的任何第一块时, 该移动单元将 存储在所述第一块中的有效数据移动到所述第二块, 其中所述指令单元发出将数据写入已 从其中移出所述有效数据的所述第一块的写入指令。 附图说明 0013 图 1 是根据第一实施例的半导体存储装置的框图 ; 0014 图 2 是用于解释 MLC NAND 闪速 ROM 的结构的图 ; 00。
16、15 图 3 是示例块管理列表的图 ; 0016 图 4 是用于解释地址转换方法的图 ; 0017 图 5 是用于解释根据第一实施例的判断方法的图 ; 0018 图 6 是用于解释根据第一实施例的数据移动方法的图 ; 0019 图 7 也是用于解释根据第一实施例的数据移动方法的图 ; 0020 图 8 是根据第一实施例将新数据写入 NAND 闪速 ROM 中的过程的流程图 ; 0021 图 9 是根据修改实例将新数据写入 NAND 闪速 ROM 的过程的流程图 ; 0022 图 10 是根据第一实施例的半导体存储装置的框图 ; 0023 图 11 是示例根据第二实施例的块存储管理列表的图 ; 。
17、0024 图 12 是用于解释根据第二实施例的判断方法的图 ; 以及 0025 图 13 是根据第二实施例将新数据写入 NAND 闪速 ROM 的过程的流程图。 具体实施方式 0026 下面, 将参考附图详细解释根据本发明的半导体存储装置和控制半导体存储装置 说 明 书 CN 103151073 A 5 3/10 页 6 的方法的示例性实例。 0027 (第一实施例) 0028 如图1所示例的, 根据第一实施例的半导体存储装置1在其中存储数据, 并包括主 机接口 2、 动态随机存取存储器 (DRAM) 3、 NAND 闪速只读存储器 (ROM) 4、 以及控制器 5。主 机接口 2 执行与主机。
18、装置 6(例如, 个人计算机) 的数据通信以传输和接收数据。 0029 DRAM3是在其中暂时存储由主机装置6提供的写入数据和在操作期间从NAND闪速 ROM4 读取的写入 / 读出数据 7 的存储器。DRAM3 还在其中暂时存储在操作期间从 NAND 闪 速 ROM4 读取的地址转换表 8。稍后在解释 NAND 闪速 ROM4 时, 将详细讨论地址转换表 8。 0030 NAND 闪速 ROM4 为 MLC 类型并在其中存储由主机装置 6 提供且在 DRAM3 中暂时存 储的数据。NAND 闪速 ROM4 包括地址转换表 8、 第一存储单元 9、 第二存储单元 10 以及块管 理列表 11。。
19、 0031 参考图 2 解释常规 MLC NAND 闪速 ROM 的结构和该结构中存在的问题。在图 2 中, 假设 NAND 闪速 ROM 在每个存储器基元中存储两个位。 0032 NAND 闪速 ROM 被分割为块, 块是擦除操作的单位区域。每一个块被进一步分割为 页, 页是写入 / 读取操作的单位区域, 每一个页依次与存储器基元的位之一相关联。在图 2 的实例中, 1 个块包括 8 个页, 即页 0 至 7。将数据写入页中的次序被限定为页 0、 1、 2、 7。在该图中, 目前, 直到页 4 都存储有数据。 0033 通常, 在存储器基元中的与首先写入的位对应的页称为下位页, 而在同一存储。
20、器 基元中的与第二写入的位对应的页称为上位页。由此, 在共享 NAND 闪速 ROM 的同一存储器 基元的下位页和上位页中, 除非完成了对下位页的写入, 否则不能将数据写入上位页中。 在 该实例中, 页 0 和 1、 页 2 和 3、 页 4 和 5、 以及页 6 和 7 的每一对共享存储器基元。 0034 在该结构的 NAND 闪速 ROM 中, 如果在数据被写入上位页期间切断电源, 同样会破 坏已被写入同一存储器基元的下位页中的数据。另一方面, 如果在数据被写入下位页期间 切断电源, 将不会破坏被写入不同的基元 (其下位页和上位页) 中的数据。 0035 换言之, 仅仅当数据正被写入上位页。
21、时, 会发生破坏和丢失在同一存储器基元的 下位页中写入的数据的问题。在图 2 的实例中, 如果在数据被写入页 5(上位页) 期间切断 电源, 会一起破坏存储在同一存储器基元的页 4(下位页) 中的数据。 0036 如果存储器基元的下位页和上位页包括多个页, 对于存储器基元的所有页会类似 地发生该问题。 0037 在根据本实施例的NAND闪速ROM4中产生相同的问题。 地址转换表8、 第一存储单 元 9、 第二存储单元 10、 以及块管理列表 11 基本上具有相同的结构。本实施例旨在防止这 样的问题发生。 0038 地址转换表 8 指示 NAND 闪速 ROM4 的其中存储有主机装置 6 所提供。
22、的数据的块的 页位置 (地址) 。因此, 地址转换表 8 在其中存储 NAND 闪速 ROM4 的位置 (地址) , 在该位置处 为每一页存储由主机装置 6 提供的数据。这里, 其地址存储在地址转换表 8 中的页中的数 据, 或换言之, 由地址转换表 8 指派的数据, 称为有效数据。另一方面, 其地址没有存储在地 址转换表 8 中的页中的数据, 或换言之, 被存储但没有被地址转换表 8 指派的数据, 称为无 效数据。 0039 当半导体存储装置 1 不是正在操作时, 地址转换表 8 仅仅存在于 NAND 闪速 ROM4 说 明 书 CN 103151073 A 6 4/10 页 7 中。 然而。
23、, 当主机装置6向半导体存储装置1发出数据写入/读取指令时, 从NAND闪速ROM4 读取地址转换表 8, 并将地址转换表 8 暂时存储在 DRAM3 中。然后, 稍后描述的控制器 5 的 地址转换单元 14 对在 DRAM3 中暂时存储的地址转换表 8 执行地址更新处理。可以以任何 给定的时序, 例如, 当半导体存储装置 1 停止其操作时, 执行对 NAND 闪速 ROM4 中的地址转 换表 8 的地址更新处理。 0040 如上所述, 第一存储单元 9 和第二存储单元 10 中的每一个都包括多个块。在每一 个块中, 写入由主机装置 6 提供并暂时存储在 DRAM3 中的数据。当实际写入数据时。
24、, 稍后描 述的控制器 5 的写入 / 读取指令单元 13 从第一存储单元 9 和第二存储单元 10 的块中选择 块。在图 1 中, 第一存储单元 9 包括四个块, 即块 A 到 D, 而第二存储单元 10 包括两个块, 即 块 E 和 F。 0041 首先将由主机装置 6 提供并暂时存储在 DRAM3 中的所有数据写入第一存储单元 9 的块 (第一块) 中。另一方面, 当在第一存储单元 9 中没有可写入的块时, 仅仅从第一存储单 元 9 移动由稍后描述的控制器 5 的移动单元 16 指派的数据, 并将该数据写入第二存储单元 10 的块 (第二块) 中。 0042 应注意, 第一存储单元 9 。
25、的块和第二存储单元 10 的块并不是固定的, 而是可以通 过稍后描述的控制器 5 的块管理单元 17 而动态地改变。 0043 如图3所示, 块管理列表11管理第一存储单元9的块和第二存储单元10的块。 在 该图中, 四个块 A 到 D 属于第一存储单元 9, 而两个块 E 和 F 属于第二存储单元 10。 0044 块管理列表 11 仅仅存在于 NAND 闪速 ROM4 中。然而, 该结构可被如此配置, 以便 当主机装置 6 向半导体存储装置 1 发出数据写入 / 读取指令时, 从 NAND 闪速 ROM4 读取块 管理列表 11, 并将块管理列表 11 暂时存储在 DRAM3 中。在这样的。
26、结构中, 应该由控制器 5 的稍后描述的块管理单元17来更新暂时存储在DRAM3中的块管理列表11, 而应该在任何给 定的时序, 例如, 当半导体存储装置 1 关闭时, 更新在 NAND 闪速 ROM4 中的块管理列表 11。 0045 控制器 5 控制半导体存储装置 1 的操作。控制器 5 包括 CPU12, 并根据 CPU12 所执 行的指令来控制半导体存储装置 1。CPU12 包括写入 / 读取指令单元 13、 地址转换单元 14、 判断单元 15、 移动单元 16 以及块管理单元 17。实际上, CPU12 所执行的程序具有这样的模 块结构, 该模块结构包括写入 / 读取指令单元 13。
27、、 地址转换单元 14、 判断单元 15、 移动单元 16 以及块管理单元 17。当 CPU12 从 ROM 等等 (未示出) 读取并执行程序时, 在 CPU12 上产生 写入 / 读取指令单元 13、 地址转换单元 14、 判断单元 15、 移动单元 16 以及块管理单元 17。 0046 响应于来自主机装置 6 的请求, 写入 / 读取指令单元 13 发出将 DRAM3 的数据写入 NAND 闪速 ROM4(由判断单元 15 指派的第一存储单元 9 的块) 的数据写入指令, 或者将数据 从 NAND 闪速 ROM4(第一存储单元 9 或第二存储单元 10 的块) 读取到 DRAM3 的数据。
28、读取指 令。 0047 地址转换单元 4 将由主机装置 6 提供的数据的外部地址转换成实际存储数据的 NAND 闪速 ROM4 的块的页。更具体而言, 当在 NAND 闪速 ROM4 中存储由主机装置 6 提供的数 据时, 地址转换单元 14 使数据的外部地址与存储数据的块的页相关联, 并将其存储在地址 转换表 8 中。当从主机装置 6 接收读取请求时, 地址转换单元 14 将外部地址转换成块的对 应页。换言之, 对各页执行地址转换。 0048 如图 4 所示, 地址转换单元 14 参考地址转换表 8 而将由主机装置 6 提供的数据的 说 明 书 CN 103151073 A 7 5/10 页。
29、 8 外部地址转换成 NAND 闪速 ROM4 中的块的页。具体而言, 在由地址转换单元 14 执行的转换 中, 将主机装置 6 所提供的外部地址的一些最高位转换成 NAND 闪速 ROM4 的块的页, 并将剩 余的较低位转换成页内的数据位置。 0049 根据图 4, 从外部地址提供的地址具有 48 个位。在外部地址中, 将较高的 37 个位 用于向块的页的转换, 而将较低的 11 个位用于向页的数据位置的转换。位的数目根据页的 容量而变化。在地址转换表 8 中存储的 NAND 闪速 ROM4 中的块的页位置处的数据是与各外 部地址相关联地存储的有效数据, 并由此将不允许破坏该数据。 0050。
30、 在安装有 NAND 闪速 ROM 的半导体存储装置中, 在写入 NAND 闪速 ROM 之前需要进 行擦除操作。此外, 仅仅在 NAND 闪速 ROM 的特定区域中频繁的重写将缩短 ROM 的寿命。出 于这些原因, 通常在这样的装置中提供地址转换单元, 以在任意块和页中存储由主机装置 提供的外部地址的数据。 0051 当从主机装置 6 接收数据写入请求时, 判断单元 15 判断在第一存储单元 9 中是否 存在在其中存储有效数据的任何块, 并识别这样的块。更具体而言, 判断单元 15 从第一存 储单元 9 的块识别在其中没有存储由地址转换表 8 指派的数据 (有效数据) 的块。然后, 写 入 。
31、/ 读取指令单元 13 将从主机装置 6 接收的数据写入所识别的块中。 0052 下面, 参考图 5 解释判断单元 15 所采用的判断方法。在该图中, 块 A 到 D 属于第 一存储单元 9。在块 A 到 D 当中, 块 A 是在其中没有存储任何有效数据 (或换言之, 由地址转 换表 8 指派的数据) 的唯一的一个块。判断单元 15 由此识别块 A。 0053 当从主机装置6接收数据写入请求时以及当第一存储单元9不包括在其中没有存 储有效数据的块时, 或换言之, 当第一存储单元 9 的所有块在其中存储有至少一项有效数 据时, 移动单元 16 将在第一存储单元 9 的块中所存储的有效数据移动到第。
32、二存储单元 10 的块中。更具体而言, 移动单元 16 将在第一存储单元 9 的块中所存储的有效数据暂时读取 到 DRAM3, 并将该数据一次写入第二存储单元 10 的块中。 0054 下面, 参考图 6 和 7 解释移动单元 16 所采用的数据移动方法。图 6 是用于示出在 被移动单元 16 移动之前的数据的图, 图 7 是用于示出在被移动单元 16 移动之后的数据的 图。在图 6 中, 在第一存储单元 9 的块 A 到 D 中的每一个块中存储有至少一个有效数据项。 由此, 如图 7 所示, 移动单元 16 将存储在块 A 到 D 中的有效数据移动到第二存储单元 10 的 块 E。在移动单元。
33、 16 移动数据之后, 数据转换单元 14 更新地址转换表 8 中的数据项的位 置, 以指示数据项被移动到的位置。相应地, 将存储在块 A 到 D 中的所有有效数据项改变为 无效数据项。 0055 块管理单元 17 管理块管理列表 11, 或换言之, 第一存储单元 9 和第二存储单元 10 的块。如上所述, 第一存储单元 9 的块用于写入由主机装置 6 提供的数据, 而仅仅在移动单 元 6 移动数据时才使用第二存储单元 10 的块。 0056 在移动单元 16 将存储在第一存储单元 9 的块中的数据移动到第二存储单元 10 的 块之后, 块管理单元 17 更新块管理列表 11, 以便在将存储在。
34、第一存储单元 9 的块中的数据 移动到第二存储单元 10 的块之后, 将第二存储单元 10 的数据被从第一存储单元 9 的块移 动至其的块移动到第一存储单元 9, 并将第一存储单元 9 的块中的一个移动到第二存储单 元 10。假设 : 在数据被移动到第二存储单元 10 之后, 在第一存储单元 9 的被移动到第二存 储单元 10 的块中没有存储有效数据。 说 明 书 CN 103151073 A 8 6/10 页 9 0057 从图 6 和 7 可以看出, 在图 7 的数据移动之后, 在图 6 的数据移动之前属于块管理 列表11中的第二存储单元10的块E被移动到第一管理单元9, 并且在数据移动之。
35、前属于第 一存储单元 9 的块 A 被移动到第二存储单元 10。在该实例中, 将当前没有存储有效数据的 块 A 到 D 当中的具有最少未使用的页的块 A 移动到第二存储单元 10。这是因为, 在第二存 储单元 10 中对每一个块的所有页执行擦除处理而无论这些页是已使用还是未使用, 并因 此通过将具有最少的未使用页的块移动到第二存储单元 10 而消除不必要的操作。 0058 然后, 移动单元 16 和块管理单元 17 将第一存储单元 9 的块 A 至 D 中的所有有效 数据移动至块 E, 从而可以将数据写入块 B 到 D 中而不写入已被移动到第二存储单元 10 的 块 A 中。 0059 接下来。
36、, 参考图 8 解释根据本实施例将新数据写入半导体存储装置 1 的 NAND 闪速 ROM4 的方法。当半导体存储装置 1 接收来自主机装置 6 的数据写入指令时, 将由主机装置 6 提供的将要写入的数据暂时存储在 DRAM3 中。 0060 然后, 判断单元15判断第一存储单元9是否包括其中没有存储有效数据的任何块 (步骤 S11) 。更具体而言, 判断单元 15 判断在第一存储单元 9 的块当中是否存在其中没有 存储由地址转换表 8 指派的数据 (有效数据) 的任何块。 0061 当判断单元 15 判断第一存储单元 9 包括其中没有存储有效数据的块 (步骤 S11 : 是) 时, 判断单元。
37、 15 识别该块。写入 / 读取指令单元 13 发出将数据写入第一存储单元 9 的 其中没有存储有效数据的块中的指令 (步骤 S12) 。由此, 数据被写入该块中。 0062 另一方面, 当判断单元15判断第一存储单元9中不存在其中没有存储有效数据的 块 (步骤 S11 : 否) 时, 移动单元 16 将第一存储单元 9 中的某些块中的有效数据移动到第二 存储单元 10 的块 (步骤 S13) 。优选地, 移动块中的所有有效数据, 以便在该移动之后, 在这 些块中不保留有效数据。当第二存储单元 10 包括多于一个的块时, 可以一次将有效数据移 动到多个块。然而, 优选一次对每个块处理有效数据项。
38、。 0063 如上所述, 移动单元 16 首先将在 NAND 闪速 ROM4 的块中所存储的有效数据读取到 DRAM3, 然后将所述有效数据写入 NAND 闪速 ROM 的另一块。然而, 如果在当前的写入指令之 前响应于先前从主机装置 6 发出的读取指令已经从 NAND 闪速 ROM4 读取有效数据并将其暂 时存储在 DRAM3 中, 则该数据可被直接写入。在该情况下, 可以节省将 NAND 闪速 ROM4 的块 中的有效数据读取到 DRAM3 中所需的时间。 0064 接下来, 地址转换单元 14 针对移动到第二存储单元 10 的块的有效数据来更新地 址转换表 8, 以使其指示该有效数据被移。
39、动到的位置 (第二存储单元 10 的块 / 页位置) (步 骤 S14) 。 0065 然后, 块管理单元 17 将第二存储单元 10 的有效数据移动到其的块移动到第一存 储单元 9 的列表, 并将第一存储单元 9 的从其中移出有效数据的无有效数据块移动到第二 存储单元 10 的列表 (步骤 S15) 。在该步骤, 可以移动任何数目的块。 0066 此后, 在步骤S12, 写入/读取指令单元13发出将数据写入第一存储单元9的其中 没有存储有效数据的块 (从其中移出有效数据的块) 中的指令, 并由此将数据写入该块中。 0067 最后, 地址转换单元 14 针对被写入该块中的数据而以这样的方式更新。
40、地址转换 表 8, 以便该表指示数据被移动到的位置 (第一存储单元 9 的块 / 页位置) (步骤 S16) 。在 上述步骤之后, 便完成将新数据写入 NAND 闪速 ROM4 中的操作。 说 明 书 CN 103151073 A 9 7/10 页 10 0068 在步骤 S12, 当第一存储单元 9 包括其中没有存储有效数据的多于一个的块时, 写 入 / 读取指令单元 13 需要选择这些块中的一个块。如果选择具有最少的未使用页 (其中没 有写入数据的页) 的块, 或换言之, 如果块具有最大量的已写入数据, 则保留具有最多的未 使用页的块。 然后, 即使在之后接收到写入跨过几个页的大尺寸的数据。
41、的请求时, 也可以写 入数据而不执行擦除操作。因此, 可以减小擦除的次数, 这增加了半导体存储装置 1(NAND 闪速 ROM4) 的寿命。应该注意, 选择方法不局限于上述方法, 而是可以任意地选择块。 0069 在根据第一实施例的半导体存储装置中, 当判断单元判断在第一存储单元中的任 何块在其中都没有存储与外部地址相关联的数据时, 可以在没有存储与外部地址相关联的 任何数据的块中写入外部提供的新数据。 因此, 可以减少数据擦除的次数, 同时可以防止在 将要在其中写入新数据的那个块中先前所存储的有效数据被破坏或变得不可读。 还可以提 高数据写入速度。 0070 此外, 在根据第一实施例的半导体。
42、存储装置中, 当判断单元判断第一存储单元的 所有块在其中存储与外部地址相关联的一些数据时, 移动单元将与该外部地址相关联并存 储在第一存储单元的块中的数据移动到第二存储单元的块, 以便外部提供的数据可以被新 写入从其中移出了与外部地址相关联的数据的块中。 由此, 可以减少数据擦除的次数, 同时 防止在将要向其中写入新数据的块中先前所存储的有效数据被破坏或变得不可读, 并且提 高数据写入速度。 0071 在根据第一实施例的半导体存储装置1中, 当从主机装置6接收数据写入请求时, 判断单元15判断第一存储单元9是否包括其中没有存储有效数据的任何块, 并且如果存在 便识别这样的块。然而, 移动单元 。
43、16 将不移动任何有效数据, 直到第一存储单元 9 中不再 存在其中没有存储有效数据的块。出于该原因, 一旦判断单元 15 判断不存在在其中没有存 储有效数据的块, 从数据写入请求的开始到结束的处理花费很长时间。 0072 相反地, 以这样的方式配置修改实例, 以便基于来自主机装置 6 的数据写入请求, 判断单元 15 判断在第一存储单元 9 的块中所存储的有效数据的总量是否超过与一个块对 应的数据量, 并识别这样的块。然后, 每当有效数据的总量变为对应于一个块的量时, 移动 单元 16 将在第一存储单元 9 的块中所存储的有效数据移动到第二存储单元 10 的块。由 此, 可以使从数据写入请求。
44、的开始到结束所需要的时间平均化 (可以改善需要最长时间的 情况) 。 0073 在该修改实例中, 当主机装置6向半导体存储装置1发出数据写入指令时, 判断单 元 15 判断在第一存储单元 9 的块中所存储的有效数据的总量是否等于或大于对应于一个 块的数据量 (步骤 S21) , 如图 9 所示。更具体而言, 判断单元 15 判断在第一存储单元 9 的块 中的由地址转换表 8 指派的数据的总量是否等于或大于对应于一个块的数据量。 0074 当判断单元 15 判断在第一存储单元 9 的块中所存储的有效数据的总量不大于对 应于一个块的数据量 (步骤 S21 : 否) 时, 判断单元 15 识别在第一。
45、存储单元 9 中的其中没有 存储任何有效数据的块。然后, 写入 / 读取指令单元 13 发出将数据写入第一存储单元 9 中 的其中没有存储有效数据的块的指令 (步骤 S22) , 并将数据写入该块中。这里假设 : 当在第 一存储单元 9 的块中所存储的有效数据的总量没有达到对应于一个块的数据量时, 第一存 储单元 9 总是包括其中没有存储有效数据的块。 0075 另一方面, 当判断单元15判断在第一存储单元9的块中所存储的有效数据的总量 说 明 书 CN 103151073 A 10 8/10 页 11 等于或大于对应于一个块的数据量 (步骤 S21 : 是) 时, 移动单元 6 将在第一存储。
46、单元 9 的一 些块中所存储的有效数据 (其等价于一个块) 移动到第二存储单元 10 的块 (步骤 S23) 。下 列步骤 S24 到 S26 的操作与图 8 的步骤 S14 到 S16 相同, 因此省略对其的解释。 0076 在该修改实例中, 基于关于在第一存储单元 9 的块中所存储的有效数据的总量是 否等于或大于等价于一个块的数据量的判断, 来判定移动单元 16 是否移动数据。然而, 可 以基于有效数据是否等于或大于等价于 n 个块 (其中 n 为正整数) 的数据量而进行判断。 0077 在根据第一实施例的修改实例的半导体存储装置中, 当判断单元判断与外部地址 相关联并存储在第一存储单元的。
47、块中的总数据量没有达到特定的数据量时, 可以将外部提 供的数据新写入其中没有存储任何与外部地址相关联的数据的块中。由此, 在减小数据擦 除次数的同时, 防止在新数据被写入其中的块中先前存储的有效数据被破坏或变得不可 读。 可以提高数据写入速度, 且可以使从数据写入请求的开始到结束所需要的时间平均化。 0078 (第二实施例) 0079 根据第一实施例, 当第一存储单元不具有在其中没有存储任何有效数据的块时, 将第一存储单元的块的有效数据移动到第二存储单元的块。 比较而言, 根据第二实施例, 当 第一存储单元不具有在其中没有存储会丢失的任何有效数据的块时, 将存储在第一存储单 元的块中的有效数据。
48、移动到第二存储单元的块。将针对第一和第二实施例之间的差异, 来 解释根据本实施例的半导体存储装置的结构。该结构的其余部分与第一实施例的相同, 因 此将相同的标号赋予这样的部分。其解释应参考上述描述, 因此在这里省略其解释。 0080 如对于第一实施例参考图 2 所解释的, 当数据被写入上位页时, 会造成破坏或丢 失已写入同一存储器基元的下位页中的数据的问题。在图 2 的实例中, 如果在数据被写入 页 5(上位页) 期间电源被切断, 会破坏存储在共享同一存储器基元的页 4(下位页) 中的数 据。 0081 当存储在下位页 (页 4) 中的数据为无效数据时, 即使失败, 写入操作也不会造成任 何问。
49、题, 因为会丢失的数据不是有效数据。类似地, 当写入操作从下位页开始时, 写入失败 不会造成有效数据的损失。根据本实施的半导体存储装置以这一点为特征。 0082 如图 10 所示, 根据第二实施例的半导体存储装置 21 包括主机接口 2、 DRAM3、 NAND 闪速 ROM22、 以及控制器 23。NAND 闪速 ROM22 包括地址转换表 8、 第一存储单元 9、 第二存储 单元 10、 块管理列表 11、 以及块存储管理列表 24。 0083 块存储管理列表 24 指示块的哪一页在其中存储数据, 如图 11 所示。在该图中, 直 到块的页 4 已经存储有数据, 并且页 5 和随后的页未使用。块存储管理列表 24 存储第一存 储单元 9 和第二存储单元 10 的所有块的存储状态。 0084 块存储管理列表 24 仅存在于 NAND 闪速 ROM22 中。然而, 当主机装置 6 向半导体 存储装置 21 发出数据写入 / 读取指令时, 块存储管理列。