存储系统 【技术领域】
本发明的实施方式涉及采用例如 NAND 型闪速存储器的存储系统。背景技术 作为硬盘装置的替代, 例如开发了采用 NAND 型闪速存储器的 SSD(Solid State Drive, 固态硬盘 )。 近年, 伴随 NAND 型闪速存储器的微细化的进行, 相邻单元间的干涉噪音 的影响相对地扩大, 可能产生写入错误。另外, 通过反复进行 NAND 型闪速存储器的写入、 读 出, 可能在存储单元存储的数据产生错误。因而, 采用 NAND 型闪速存储器的存储系统为了 修复读出数据, 进行采用 ECC(Error Correction Code, 错误校正码 ) 的纠错。
发明内容 本发明提供可降低编写干扰、 读取干扰的影响和 / 或数据保留的劣化的影响, 提 高可靠性的存储系统。
本发明的存储系统的方式具备 : 非易失性半导体存储装置, 其具有包含多个存储 单元的多个块的存储单元阵列和可变更上述存储单元的读出电平的电压生成部 ; 和控制上 述非易失性半导体存储装置的写入、 读出和 / 或删除的控制部。上述控制部在上述非易失 性半导体存储装置的使用开始时和时间经过后改变读出电平。
附图说明
图 1 是第 1 实施方式的存储系统的构成图。
图 2A 是表示 NAND 存储芯片所包含的物理块的一例的电路图。
图 2B 是存储单元晶体管的阈值分布的例的示意图。
图 3 是图 1 所示驱动控制电路的一例的构成图。
图 4 是图 1 所示 1 个芯片所包含的 NAND 型闪速存储器一例的构成图。
图 5 是存储单元阵列的 1 页面的构成的一例示图。
图 6 是图 1 所示 DRAM 的存储内容的一例示图。
图 7A 是存储多值电平的存储单元的阈值变化的一例示图。
图 7B 是存储单元的阈值变化的其他例的示图。
图 8A 是存储 2 值电平的存储单元的阈值变化的一例示图。
图 8B 是存储单元的阈值变化的其他例示图。
图 9 是管理表的字段构成的一例示图。
图 10 是第 1 实施方式的偏移 (shift) 读出的动作一例的流程图。
图 11 是管理表的字段构成的其他例的示图。
图 12 是第 1 实施方式的变形例的流程图。
图 13 是第 2 实施方式的重试 (retry) 读出动作的一例的流程图。
图 14 是第 2 实施方式的重试读出动作的一例的流程图。图 15 是第 3 实施方式的读出动作的流程图。 图 16 是第 4 实施方式的读出动作的流程图。具体实施方式
NAND 型闪速存储器的存储单元的尺寸微细化, 使存储单元内存储的电子数减少。 因而, 相邻单元间的干涉噪音的影响相对地增大, 通过在一方的存储单元进行数据的写入 ( 编写 ) 和 / 或读出可以改变相邻的另一方的存储单元的数据。
例如数据的写入对由字线和位线选择的存储单元进行。但是, 产生与选择字线连 接的非写入存储单元被施加强的应力 (stress), 阈值电压变高的第 1 编写干扰以及与非 选择字线连接的存储单元成为弱写入状态, 阈值电压变高的第 2 编写干扰的 2 种编写干扰 ( 以下也称为 PD) 的现象。
另外, 数据读出中, 与非选择字线连接的存储单元被施加电压。因而, 产生与非选 择字线连接的存储单元成为弱写入状态, 阈值电压变高的读取干扰 ( 以下, 也称为 RD) 的现 象。
而且, 向存储单元写入的数据在长时间未访问的场合, 从存储单元的浮置栅极放 出电子, 产生阈值电压变低的现象。从而数据保留 ( 以下, 也称为 DR) 劣化。 如 SSD 的大容量的存储系统在个人电脑和服务器安装, 被长期间使用。因而伴随 PD、 RD 的产生、 DR 劣化的影响被系统地修复, 可以实现稳定动作的高可靠性。
以下, 参照附图说明本发明的实施方式。
( 第 1 实施方式 )
图 1 是作为存储系统的 SSD100 构成例的方框图。SSD100 经由 ATA 接口 (ATA I/ F)2 等的存储器连接接口与个人电脑或 CPU 核心等的主机装置 ( 以下, 简称主机 )1 连接, 起 到主机 1 的外部存储器的功能。另外, SSD100 经由 RS232C 接口 (RS232C I/F) 等的通信接 口 3, 可以在调试用 / 制造检查用设备 200 之间收发数据。
SSD100 具备 : 作为非易失性半导体存储器的 NAND 型闪速存储器 ( 以下, 简称为 NAND 存储器 )10 ; 作为控制器的驱动控制电路 4 ; 作为易失性半导体存储器的 DRAM20 ; 电源 电路 5 ; 状态显示用的 LED6 ; 检测驱动器内部的温度的温度传感器 7 ; 和熔断器 8。
电源电路 5, 根据从主机 1 侧的电源电路供给的外部直流电源生成多个不同的内 部直流电源电压, 将这些内部直流电源电压向 SSD100 内的各电路供给。另外, 电源电路 5 检测外部电源的提升, 生成电源导通复位信号, 供给驱动控制电路 4。
熔断器 8 设置在主机 1 侧的电源电路和 SSD100 内部的电源电路 5 之间。从外部 电源电路供给过电流的场合, 熔断器 8 切断, 防止内部电路的误动作。
NAND 存储器 10 具有例如进行 4 并行动作的 4 个并行动作要素 10a ~ 10d, 4 个并 行动作要素 10a ~ 10d 通过 4 个沟道 (ch0 ~ ch3) 与驱动控制电路 4 连接。各并行动作要 素 10a ~ 10d 包括可以组交错 (bank interleave) 的多个组 (bank)。即, 各并行动作要素 包括例如 4 组 (Bank0 ~ Bank3), 各组包括多个 NAND 存储芯片、 例如 2 个存储芯片 (Chip0、 Chip1)。
各存储芯片例如分割为包含多个物理块的平面 (plane)0、 平面 1 的 2 个区域 (District)。平面 0 及平面 1 具备相互独立的周边电路 ( 例如, 行解码器、 列解码器、 页面
缓冲器、 数据缓存 (cache, 高速缓冲存储器 ) 等 )。因而, 通过使用倍速模式, 可以在平面 0 及平面 1 同时进行删除 / 写入 / 读出。
这样, NAND 存储器 10 的各 NAND 存储芯片可以进行多个沟道的并行动作、 多个组 的组交错动作、 同一组内的多个芯片的交错动作、 采用多个平面的倍速模式的并行动作。 另 外, 各存储芯片也可以采用分割为 2 个以上的多个平面的构成, 或, 也可以完全不分割。
DRAM20 在主机 1 和 NAND 存储器 10 之间起到数据转送用缓存及操作区域用存储器 等的功能。在 DRAM20 的操作区域用存储器存储的内容, 例如在 NAND 存储器 10 存储的各种 管理表, 是启动时等展开的主表 ( 快照 ), 或管理表的变更差分即日志信息等。
另外, 也可以取代 DRAM20 使用 FeRAM(Ferroelectric Random Access Memory, 铁 电随机存取存储器 )、 MRAM(Magnetoresistive Random Access Memory, 磁阻随机存取存储 器 )、 PRAM(Phase change Random Access Memory, 相变随机存取存储器 ) 等的非易失性随 机存取存储器。 利用非易失性随机存取存储器的场合, 在电源切断时, 可以省略将各种管理 表等向 NAND 存储器 10 转移的动作的一部分或全部。
驱动控制电路 4 在主机 1 和 NAND 存储器 10 之间经由 DRAM20 进行数据转送控制, 并控制 SSD100 内的各构成要素。另外, 驱动控制电路 4 还具有向状态显示用 LED6 供给状 态显示用信号, 并接受来自电源电路 5 的电源导通复位信号, 将复位信号及时钟信号供给 驱动控制电路 4 内及 SSD100 内的各部的功能。
各 NAND 存储芯片由数据删除的单位即物理块多个排列而构成。
图 2A 是 NAND 存储芯片所包含的 1 个物理块的构成例的电路图。各物理块具备沿 X 方向顺序排列的 (p+1) 个 NAND 串 (p 是 0 以上的整数 )。各 NAND 串所包含的选择晶体管 ST1 的漏极与位线 BL0 ~ BLp 连接, 栅极与选择栅极线 SGD 共同连接。 另外, 选择晶体管 ST2 的源极与源极线 SL 共同连接, 栅极与选择栅极线 SGS 共同连接。
各存储单元晶体管 ( 也称为存储单元 )MCT, 包括具备在半导体基板上形成的层叠 栅极构造的 MOSFET(Metal Oxide Semiconductor Field Effect Transistor, 金属氧化物 半导体场效应晶体管 )。层叠栅极构造包含在半导体基板上隔着栅极绝缘膜形成的电荷蓄 积层 ( 浮置栅极电极 ) 及在电荷蓄积层上隔着栅极间绝缘膜形成的控制栅极电极。存储单 元晶体管 MCT 根据在浮置栅极电极积蓄的电子的数改变阈值电压, 根据该阈值电压的差异 存储数据。存储单元晶体管 MCT 可以构成为存储 1 比特, 也可以构成为存储多值 (2 比特以 上的数据 )。
另外, 存储单元晶体管 MCT 不限于具有浮置栅极电极的构造, 也可以是 MONOS(Met al-Oxide-Nitride-Oxide-Silicon, 金属 - 氧化物 - 氮化物 - 氧化物 - 硅 ) 型等通过在作 为电荷蓄积层的氮化膜界面捕获电子可调节阈值电压的构造。MONOS 构造的存储单元晶体 管 MCT 也同样, 可以构成为存储 1 比特, 也可以构成为存储多值 (2 比特以上的数据 )。
各 NAND 串中, (q+1) 个存储单元晶体管 MCT 在选择晶体管 ST1 的源极和选择晶体 管 ST2 的漏极之间, 使各个电流通路配置为串联连接。即, 多个存储单元晶体管 MCT 在彼此 相邻处以共有扩散区域 ( 源极区域或漏极区域 ) 的形态在 Y 方向串联连接。
各 NAND 串中, 从最靠漏极侧的存储单元晶体管 MCT 开始按顺序, 控制栅极电极与 字线 WL0 ~ WLq 分别连接。从而, 与字线 WL0 连接的存储单元晶体管 MCT 的漏极与选择晶 体管 ST1 的源极连接, 与字线 WLq 连接的存储单元晶体管 MCT 的源极与选择晶体管 ST2 的漏极连接。
字线 WL0 ~ WLq 在物理块内的 NAND 串间共同连接到存储单元晶体管 MCT 的控制 栅极电极。即, 块内同一行的存储单元晶体管 MCT 的控制栅极电极与同一字线 WL 连接。与 该同一字线 WL 连接的 (p+1) 个存储单元晶体管 MCT 作为 1 个页面 ( 物理页面 ) 处理, 按该 物理页面进行数据的写入及数据的读出。
另外, 位线 BL0 ~ BLp 在块间共同连接到选择晶体管 ST1 的漏极。即, 多个块内同 一列的 NAND 串与同一位线 BL 连接。
图 2B 是在例如 1 个存储单元晶体管 MCT 进行 2 比特的存储的 4 值数据存储方式 的阈值分布的示意图。4 值数据存储方式可以在存储单元晶体管 MCT 保持由上位页面数据 “x” 和下位页面数据 “y” 定义的 4 值数据 “xy” 的任一个。
4 值数据 “xy” 按照存储单元晶体管 MCT 的阈值电压的顺序例如分配数据 “11” 、 “01” 、 “00” 、 “10” 。数据 “11” 是存储单元晶体管 MCT 的阈值电压设为例如负的删除状态。 另外, 数据的分配规则不限于此。另外, 也可以是在 1 个存储单元晶体管 MCT 进行 3 比特以 上的存储的构成。
下位页面的写入动作中, 通过向数据 “11” ( 删除状态 ) 的存储单元晶体管 MCT 选 择地写入下位比特数据 “y” , 写入数据 “10” 。上位页面的写入前的数据 “10” 的阈值分布也 可以位于上位页面写入后的数据 “01” 和数据 “00” 的阈值分布的中间程度, 比上位页面的 写入后的阈值分布宽广。上位页面的写入动作中, 通过向数据 “11” 的存储单元和数据 “10” 的存储单元分别选择写入上位比特数据 “x” , 写入数据 “01” 及数据 “00” 。虚拟 SLC 模式仅 仅使用下位页面进行写入。下位页面的写入比上位页面的写入高速。 图 3 是驱动控制电路 4 的硬件的内部构成例的方框图。驱动控制电路 4 具备数据 访问用总线 101、 第 1 电路控制用总线 102 及第 2 电路控制用总线 103。第 1 电路控制用总 线 102 与控制驱动控制电路 4 全体的处理器 104 连接。引导 ROM105 经由 ROM 控制器 106 与第 1 电路控制用总线 102 连接。在引导 ROM105, 存储了引导在 NAND 存储器 10 存储的各 管理程序 (FW : 固件 ) 的引导 (boot) 用程序。
另外, 第 1 电路控制用总线 102 与时钟控制器 107 连接。此时钟控制器 107 接收 来自图 1 所示的电源电路 5 的电源导通复位信号, 向各部供给复位信号及时钟信号。
第 2 电路控制用总线 103 与第 1 电路控制用总线 102 连接。第 2 电路控制用总线 103 与用于接收来自图 1 所示的温度传感器 7 的数据的 I2C 电路 108、 向状态显示用 LED6 供 给状态显示用信号的并行 IO(PIO) 电路 109、 控制 RS232CI/F3 的串行 IO(SIO) 电路 110 连 接。
ATA 接口控制器 (ATA 控制器 )111、 第 1ECC(Error Checking and Correction, 错 误检测和校正 ) 电路 112、 NAND 控制器 113 及 DRAM 控制器 114 将数据访问用总线 101 和第 1 电路控制用总线 102 的两方连接。ATA 控制器 111 经由 ATA 接口 2 在与主机 1 之间收发 数据。作为数据操作区域及固件展开区域使用的 SRAM115 经由 SRAM 控制器 116 与数据访 问用总线 101 连接。在 NAND 存储器 10 存储的固件启动时, 通过引导在 ROM105 存储的引导 用程序向 SRAM115 转送。
NAND 控制器 113 具备 NAND I/F117、 第 2ECC 电路 118 及 DMA 转送控制用 DMA 控制 器 119。NAND I/F117 进行与 NAND 存储器 10 的接口处理。DMA 转送控制用 DMA 控制器 119
进行 NAND 存储器 10 和 DRAM20 间的访问控制。第 2ECC 电路 118 进行第 2 纠错码的编码, 另外, 进行第 1 纠错码的编码及解码。
第 1ECC 电路 112 进行第 2 纠错码的解码。 第 1 纠错码、 第 2 纠错码是例如汉明码、 BCH(Bose Chaudhuri Hocqenghem, 博斯 - 查德胡里 - 霍昆格姆 ) 码、 RS(Reed Solomon, 里 德 - 索罗蒙 ) 码或者 LDPC(Low Density Parity Check, 低密度奇偶校验 ) 码等, 第 2 纠错 码的纠错能力设为比第 1 纠错码的纠错能力高。第 1 纠错码根据例如从主机 1 到 SSD100 的访问单位即扇区单位的数据生成。另一方面, 第 2 纠错码根据例如将多个扇区汇总的 页面单位的数据生成。另外, 为了检测错误, 也可以向扇区单位的数据赋予 CRC(Cyclic Redundancy Check, 循环冗余校验 ) 码。
如图 1 所示, NAND 存储器 10 中, 4 个并行动作要素 10a ~ 10d 经由各多个比特的 4 个沟道, 与驱动控制电路 4 内部的 NAND 控制器 112 并列连接, 可使 4 个并行动作要素 10a ~ 10d 并行动作。另外, 各沟道的 NAND 存储器 10 分割为可组交错的 4 个组, 也可以对各存储 芯片的平面 0 及平面 1 同时进行访问。从而, 对每 1 沟道可大致同时控制最大 8 个物理块 (4 组 ×2 平面 )。即, 可对最大 8 个物理块同时执行写入等的处理。
图 4 是图 1 所示一个 NAND 存储芯片所包含的 NAND 型闪速存储器的一例的功能方 框图。 存储单元阵列 201 包含多个位线、 多个字线和共同源极线, 矩阵状配置包括例如 EEPROM 单元的可电气改写数据的存储单元。 该存储单元阵列 201 与用于控制位线的位线控 制电路 202 和字线控制电路 206 连接。
位线控制电路 202 经由位线读出存储单元阵列 201 中的存储单元的数据, 并且, 经 由位线检测存储单元阵列 201 中的存储单元的状态。而且, 位线控制电路 202 经由位线向 存储单元阵列 201 中的存储单元施加写入控制电压, 对存储单元进行写入。位线控制电路 202 与列解码器 203、 数据输入输出缓冲器 204 连接。
位线控制电路 202 内的数据存储电路通过列解码器 203 选择。从数据存储电路读 出的存储单元的数据经由上述数据输入输出缓冲器 204 从数据输入输出端子 205 向外部输 出。数据输入输出端子 205 与存储芯片外部的驱动控制电路 4 连接。
该驱动控制电路 4 接受从数据输入输出端子 205 输出的数据。而且, 驱动控制电 路 4 输出控制 NAND 型闪速存储器的动作的各种指令 CMD、 地址 ADD 及数据 DT。从驱动控制 电路 4 向数据输入输出端子 205 输入的写入数据, 经由数据输入输出缓冲器 204 向由列解 码器 203 选择的数据存储电路供给。另外, 从驱动控制电路 4 向数据输入输出端子 205 输 入的指令及地址向控制信号及控制电压产生电路 207 供给。
字线控制电路 206 与存储单元阵列 201 连接。该字线控制电路 206 选择存储单元 阵列 201 中的字线, 向选择的字线施加读出、 写入或删除所必要的电压。
存储单元阵列 201、 位线控制电路 202、 列解码器 203、 数据输入输出缓冲器 204 及 字线控制电路 206 与控制信号及控制电压产生电路 207 连接, 由该控制信号及控制电压产 生电路 207 控制。
控制信号及控制电压产生电路 207 与控制信号输入端子 208 连接, 由从驱动控制 电路 4 经由控制信号输入端子 208 输入的 /ALE( 地址、 锁存、 使能 )、 /CLE( 指令、 锁存、 使 能 )、 /WE( 写入、 使能 ) 等的各种控制信号及从驱动控制电路 4 经由数据输入输出端子 205
及数据输入输出缓冲器 204 输入的指令 CMD 控制。
该控制信号及控制电压产生电路 207 在数据写入时产生字线、 位线的电压并产生 供给阱区的电压。控制信号及控制电压产生电路 207 包含例如充电泵电路那样的升压电 路, 可生成编写电压、 读出电压、 删除电压。
而且, 控制信号及控制电压产生电路 207 如后述, 可变更读出电压的电平。即, 控 制信号及控制电压产生电路 207 具有接受经由控制信号输入端子 208 输入的各种控制信 号、 经由数据输入输出端子 205 及数据输入输出缓冲器 204 输入的指令 CMD, 在读出动作时 使向字线施加的电压向 + 方向或 - 方向偏移 (shift) 的功能。
上述位线控制电路 202、 列解码器 203、 字线控制电路 206、 控制信号及控制电压产 生电路 207 构成写入电路及读出电路。
存 储 单 元 阵 列 201 除 了 用 于 存 储 本 体 数 据 的 存 储 区 域, 还 有 存 储 ECC(Error Correction Code) 的存储区域 201-1。
图 5 表示存储单元阵列 201 的 1 页面的构成。各页面包括存储用户数据的数据区 域和存储 ECC 的 ECC 区域。另外, 各页面也可以包含控制信号及控制电压产生电路 207 所 利用的内部标志数据等。 图 6 表示图 1 的 DRAM20 的存储内容。DRAM20 包括固件区域 20-1、 表区域 20-2、 数 据区域 20-3。在固件区域 20-1 存储驱动控制电路 4 的动作所必要的固件。在表区域 20-2 存储例如后述读出动作所必要的管理表。数据区域 20-3 用作例如写入缓存或读取缓存。
固件区域 20-1 可以用作驱动控制电路 4 的动作所必要的固件中, 图 3 所示的 SRAM115 存储不下的部分的展开区域。表区域 20-2 包含用于管理 DRAM20 的数据区域 20-3 中的写入缓存、 读取缓存机构的缓存管理表及用于管理从主机装置 1 输入的逻辑地址和 NAND 存储器 10 的物理地址的对应关系的逻辑 - 物理地址变换表等。
DRAM20 的存储内容中, 特别是表区域 20-2 所包含的逻辑 - 物理地址变换表等的主 表在存储系统的电源截止时, 在 NAND 存储器 10 的保存区域保存。另外, 该主表在存储系统 的电源导通时, 从 NAND 存储器 10 的保存区域读出, 在 DRAM20 的表区域 20-2 加载。另外, 数据区域 20-3 所包含的最新的数据在存储系统的电源截止时, 在由逻辑 - 物理地址变换表 指示的 NAND 存储器 10 的预定的位置存储而非易失化。
( 偏移读出动作 )
第 1 实施方式为了提高存储系统的可靠性, 在存储系统的使用的初期和预定的时 间经过后, 改变 NAND 型闪速存储器的读出电平。使用的初期是指例如存储系统出厂后, 用 户实际开始使用存储系统时。预定的时间经过后可以通过计测实际时间确定, 也可以根据 在存储系统内部对 NAND 型闪速存储器反复预定的动作 ( 写入、 读出或删除动作 ) 的次数确 定。
与存储单元存储的数据对应的阈值电压如前述, 通过编写干扰 (PD)、 读取干扰 (RD)、 数据保留 (DR) 变化。
如图 7A 所示, 在存储单元接受 PD 及 RD 的影响的场合, 存储单元的阈值电压的分 布如虚线所示变高。因而, 用于读出缺省设定的各阈值电压的读出电压 ( 电平 )VA、 VB、 VC 及向非选择单元供给的读出电压 Vread 变得比变化的各阈值电压低。从而, 这样的场合, 无 法读出正确的数据。
存储单元受到的编写干扰的影响例如在日本特开 2008-117471 号公报 ( 作为美国 专利编号 7613048 登记的美国申请 11/934330 作为优先权基础主张 ) 中公开。关于存储 单元受到的读取干扰的影响, 例如, 在日本特开 2004-326867 号公报 ( 作为美国专利编号 7099190 登记的美国申请 10/822177 作为优先权基础主张 ) 中公开。这些全内容通过参照 结合。
另一方面, 如图 7B 所示, 存储单元受到 DR 的影响的场合, 存储单元的阈值电压的 分布如虚线所示变低, 因而, 用于读出缺省设定的各阈值电压的读出电平 VA、 VB、 VC 变得比 变化的各阈值电压高, 因此无法读出正确数据。
存 储 单 元 的 数 据 保 留 特 性 例 如 在 日 本 特 开 2008-269473 号 公 报 ( 美 国 申 请 12/107984 作为优先权基础主张 ) 公开, 这些全内容通过参照结合。
与 PD、 RD、 DR 关联的现象如图 7A、 7B 所示, 不限于存储 3 值以上的数据的存储单 元 (MLC : Multi Level Cell) 的场合, 在如图 8A、 8B 所示, 存储 2 值数据的存储单元 (SLC : Single Level Cell) 的场合也同样。但是, MLC 的场合与 SLC 的场合比较, 阈值分布间的余 裕的制约更严, 因此 PD、 RD、 DR 的影响更显著。
第 1 实施方式中, 根据非易失性半导体存储装置的使用状况可改变读出电平。即, 从受到 PD、 RD 的影响的存储单元读出数据的场合, 如图 7A、 图 8A 的虚线所示, 读出电平 VA、 VB、 VC 设定得比缺省的读出电平高。结果, 各读出电平 VA、 VB、 VC 位于各阈值电压分布间, 因此可以读出正确数据。另外, 读出电压 Vread 也设定得比缺省的读出电平高。结果, 读出 电压 Vread 设定得比最高阈值电压分布高, 因此可以读出正确数据。
另一方面, 在从受到 DR 的影响的存储单元读出数据的场合, 如图 7B、 图 8B 的虚线 所示, 读出电平 VA、 VB、 VC 设定得比缺省的读出电平低。结果, 各读出电平 VA、 VB、 VC 位于 各阈值电压分布间, 可以读出正确数据。
存储单元是否受到 PD、 RD 的影响可以根据例如存储单元的写入次数、 删除次数、 读出次数、 1 次写入中编写电压施加的次数 ( 编写循环次数 ), 1 次删除中删除电压施加的次 数 ( 删除循环次数 ) 等判别。
另外, 存储单元是否受到 DR 的影响可以根据存储单元是否长时间未被访问来判 断。存储单元是否长时间放置可以根据例如存储系统搭载的个人电脑的日志等判断。而 且, 存储单元的数据保留特性也根据存储系统所处环境温度变化, 因此, 也可以将环境温度 作为是否受到 DR 的影响的判断基准。例如, 在高温放置存储系统的场合, 阈值电压分布降 低的时间一般认为比在低温放置存储系统的场合阈值电压分布降低的时间短。 环境温度例 如可以采用温度传感器 7 取得。
上述写入次数、 删除次数、 读出次数、 循环次数、 放置时间、 环境温度通过存储系统 内的管理表管理。
图 9 表示在图 6 所示 DRAM20 的表区域 20-2 存储的管理表 MT 的字段构成的一例。 在管理表记录的数据可以根据存储系统的用途任意设定。图 9 所示管理表的场合, 例如与 物理块编号对应, 设定删除次数、 写入次数、 循环次数、 读出次数、 放置时间、 环境温度。
这里, 随着按块的删除次数或写入次数规定的改写次数 (W(Write)/E(Erase) 次 数 ) 增加, 栅极绝缘膜劣化, 写入速度加快。从而, 改写次数多的 ( 预定的时间经过后 ) 存 储单元与改写次数少的 ( 初期 ) 存储单元比较, 容易受到 PD 及 RD 的影响。即, 改写次数多的存储单元与改写次数少的存储单元比较, 即使受到相同应力的场合, 阈值电压变高的量 也大。
因而, 本实施方式的存储系统在规定改写次数的删除次数或写入次数达到预定值 的场合, 通过使读出电平 VA、 VB、 VC、 读出电压 Vread 稍微向高偏移 (+ 偏移, 即向高侧偏 移 ), 可以进行正确读出。预定值例如由 NAND 型闪速存储器制造时的存储单元特性的评价 阶段确定, 也可以设定成比改写保证次数小的值。
为了规定改写次数, 可任意采用删除次数和写入次数, 可以采用任一方, 也可以采 用两方。 写入以页面单位进行, 删除以块单位进行。 但是, NAND 型闪速存储器一般在删除之 前仅仅对 1 页面进行 1 次写入。因而, 在监视改写次数的用途中, 往往管理删除次数即可。
另一方面, 也估计到各块中的写入次数本身对 PD 也有某程度的影响。对构成块的 各页面以怎样的顺序编写由规格确定, 对各页面逐一进行写入。 因而, 若对写入是否进行到 块内的某页面进行管理, 则可以判断在该块内的存储单元存储的数据是否以某程度向 + 方 向偏移。
因而, 各块中的写入次数达到预定值 ( 例如, 写入进行到构成块的全页面的一半 时的写入次数 ) 的场合, 也可以使读出电平 VA、 VB、 VC、 读出电压 Vread 稍微向高偏移 (+ 偏 移 )。 预定值例如根据 NAND 型闪速存储器制造时的存储单元特性的评价阶段和 / 或对各页 面的写入顺序等确定。 另外, 循环次数表示 1 次写入中施加编写电压 ( 编写脉冲 ) 的次数及 1 次删除中 施加删除电压 ( 删除脉冲 ) 的次数的至少一方。
如上所述, 存储单元随着写入次数增加而栅极绝缘膜劣化, 写入速度加快。因而, 为了设定与预定数据对应的阈值电压, 例如需要 10 次编写电压的施加时, 通过 8 次编写电 压的施加而结束写入意味着存储单元劣化。在存储单元劣化的状态下受到 PD 的影响的场 合, 认为阈值电压的变化量变得更大。
因而, 本实施方式的存储系统在写入循环次数达到预定值的场合, 通过使读出电 平 VA、 VB、 VC 和 / 或读出电压 Vread 稍微向高偏移 (+ 偏移 ) 可以正确读出。预定值例如在 NAND 型闪速存储器制造时的存储单元特性的评价阶段确定。
另外, 存储单元随着写入次数增加而栅极绝缘膜劣化, 删除速度变慢。因而, 为了 设定与删除状态对应的阈值电压例如需要 1 次删除电压的施加时, 通过 3 次删除电压的施 加结束删除意味着存储单元劣化。在存储单元劣化的状态下受到 PD 的影响的场合, 认为阈 值电压的变化量变得更大。
因而, 本实施方式的存储系统在删除循环次数达到预定值的场合, 通过使读出电 平 VA、 VB、 VC 和 / 或读出电压 Vread 稍微向高偏移 (+ 偏移 ), 可以正确读出。预定值在例 如 NAND 型闪速存储器制造时的存储单元特性的评价阶段确定。
另一方面, 随着读出次数增加, RD 的影响累积, 向非选择存储单元注入的电子量增 加。NAND 型闪速存储器存储的数据中, 存在例如一次写入驱动控制电路 4 的固件等后不再 更新而仅仅进行读出动作的数据。从而, 即使改写次数少的场合, 由于反复受到 RD 的影响, 阈值电压分布可能向 + 方向偏移。
因而, 本实施方式的存储系统在读出次数达到预定值的场合, 通过使读出电平 VA、 VB、 VC 和 / 或读出电压 Vread 稍微向高偏移 (+ 偏移 ), 可以正确读出。预定值在例如 NAND
型闪速存储器制造时的存储单元特性的评价阶段确定。
另外, 随着读出次数的增加, 栅极绝缘膜也可能劣化, 写入速度加快。 从而, 读出次 数多的存储单元与读出次数少的存储单元比较, 可能容易受到 PD 及 RD 的影响。因而, 读出 次数达到任意的预定值的场合, 也可以使读出电平 VA、 VB、 VC 和 / 或读出电压 Vread 稍微向 高偏移。即, 读出次数也可以与改写次数同样, 用作指示绝缘膜的劣化的因子。
对各块的删除次数、 写入次数、 读出次数、 循环次数由例如驱动控制电路 4 计数, 计数值写入管理表 MT。另外, 在估计 RD 造成的阈值电压的偏移量中采用读出次数的场合, 在块内的数据被删除或无效化时使值复位。 这是因为, 新写入该块的数据在最初读出前, 不 受 RD 的影响。另一方面, 将读出次数与改写次数同样用作指示绝缘膜的劣化的因子的场 合, 即使在块内的数据被删除或无效化时也继续保持值。这是因为绝缘膜的劣化是该块固 有的物理问题。
放置时间如前述, 由系统日志等设定。 例如, 写入各块的数据的放置时间可以预先 存储最初向存储单元写入数据时的时刻, 根据该写入的时刻和从例如主机装置 1 通知的当 前时刻的差值求出。或, 也可以根据在存储系统内进行特定事件的次数求出放置时间。例 如, 若在 NAND 型闪速存储器具备每次删除块内的数据时加一的计数器并在数据写入时存 储计数值, 也可以根据与当前的计数值的差值估计某程度的放置时间。 或, 也可以由存储系 统内部的定时器测定放置时间。 环境温度根据例如温度传感器 7 的输出信号, 通过驱动控制电路 4 在管理表 MT 记 录。例如, 向块写入数据时的温度在管理表 MT 记录。或, 上述放置时间内的平均温度也可 以在预定的定时存储。取得环境温度的场合, 温度传感器 7 优选与 NAND 存储器 10 接近设 置。
图 10 表示偏移读出动作的一例。偏移读出动作可以是各种方法, 可根据存储系统 的使用环境选择使用最佳读出。换言之, 图 10 中的各步骤不必全部执行, 可以根据存储系 统的使用环境仅仅执行特定的步骤。 另外, 各步骤的执行顺序为一例, 可以根据存储系统的 使用环境变更顺序。
图 10 中, 驱动控制电路 4 在偏移读出动作时, 首先参照管理表 MT(S11)。然后, 判 别管理表 MT 记录的删除次数、 写入次数、 循环次数、 读出次数是否在预定值内 (S12-S15)。 即, 判别存储单元是否受到 PD、 RD 的影响。其结果, 全部次数在预定值以内的场合, 驱动控 制电路 4 判断不受 PD、 RD 的影响, 用缺省的读出电平执行读出动作 (S16)。
另一方面, 在删除次数、 写入次数、 循环次数、 读出次数中任一个超过预定值的场 合, 驱动控制电路 4 判别放置时间是否长 (S17)。放置时间的判断基准是例如 1 日以上的 任意确定的时间。在放置时间短的场合, 认为 PD、 RD 的影响比 DR 的影响大, 因此, 读出电平 VA、 VB、 VC 及读出电压 Vread 向高偏移, 执行 + 偏移读出动作 (S18)。另外, 步骤 S17 中, 在 判断放置时间长的场合, 认为 DR 的影响比 PD、 RD 的影响大, 因此, 读出电平 VA、 VB、 VC 向低 偏移 ( 即向低侧偏移 ), 执行 - 偏移读出动作 (S19)。
驱动控制电路 4 在 + 偏移读出动作、 - 偏移读出动作时, 可以根据向 NAND 存储器 10 输入的指令 CMD、 地址 ADD 及数据 DT 设定读出电平 VA、 VB、 VC 及 Vread。驱动控制电路 4 通过例如指令指定 + 偏移或 - 偏移, 根据地址指定读出电平 VA、 VB、 VC 或读出电压 Vread。 而且, 根据数据指定偏移量。图 4 所示控制信号及控制电压产生电路 207 根据这些指令和
地址信号及数据, 产生 + 偏移读出动作及 - 偏移读出动作所必要的电压。
另外, + 偏移读出动作 (S18) 及 - 偏移读出动作 (S19) 不限于 1 次, 也可以多次执 行。多次执行的场合, 也可以在各偏移读出动作中使 + 方向的偏移量或 - 方向的偏移量变 化。
上述各读出动作后, 驱动控制电路 4 进行 ECC 判定 (S20)。 错误比特数比预定值多 时, 即即使可进行 + 偏移或 - 偏移读出动作, 进行读出数据的 ECC 纠错的场合, 错误比特数 也比预定值多时, 今后即使进行偏移读出也不可能进行数据的读出, 因此, 对该块执行刷新 动作 (S21, S22)。即, 将读出对象的块的数据拷贝到新的删除块。
通过刷新动作拷贝数据的目的地的删除块优选是删除次数、 编写次数少的块, 绝 缘膜的劣化小。通过刷新动作可以消除至少 DR 的影响导致的阈值电压的降低, 但是本实施 方式中, 也可以不一定执行 S21、 S22 的步骤。
另外, 例如 S12 中, 删除次数即使在预定值内, 若放置时间长, 则存储单元的阈值 电压也可能向 - 方向偏移。从而, 即使 S12-S15 的判断中判断在预定值以内的场合, 也可以 采用与 S17 相同或不同的基准, 判断放置时间是否长, 根据判断结果进行缺省读出、 + 偏移 读出、 - 偏移读出。 另外, 也可以在 S17 中的放置时间设置多个阶段, 若未超过使 PD、 RD 的影响和 DR 的影响平衡的时间即第 1 放置时间则执行 + 偏移读出, 若超过第 1 放置时间而未超过低于 缺省的阈值的时间即第 2 放置时间则执行缺省读出, 若超过第 2 放置时间, 则执行 - 偏移读 出。
根据上述第 1 实施方式, 考虑编写干扰 PD、 读取干扰 RD、 数据保留 DR 的影响, 使读 出电平 VA、 VB、 VC 及读出电压 VREAD 向 + 方向或 - 方向偏移。因而, 可以与 PD、 RD、 DR 的影 响无关地正确读出数据。从而, 可构筑可靠性高的存储系统。
图 11 表示第 1 实施方式的变形例, 是采用状态数据的管理表的例。驱动控制电路 4 在例如电源启动时或预定定时, 对每页面或块进行监视读取, 在管理表记录此时的状态。 监视读取改变读出电平, 例如进行 3 次。
具体地说, 例如进行采用缺省的读出电平的读出、 使读出电平向高偏移 (+ 偏移 ) 后的读出及使读出电平向低偏移 (- 偏移 ) 后的读出。在这些读出的每一个都检测 ( 检测 ) ECC 错误比特数, 将错误比特数最少的读出电平作为状态数据在管理表记录。 状态数据是缺 省读取、 + 偏移读出、 - 偏移读出中的一个。实际读出时, 根据管理表存储的状态数据, 设定 读出电平。另外, 此时的偏移值可以在上述的改写次数的每一次设定任意的电压。
图 12 表示第 1 实施方式的变形例, 是采用状态数据的读出动作的例。该例的场 合, 读出动作开始后, 参照管理表 MT(S11), 判别状态数据的内容 (S23)。这里, 管理表例如 将各页面、 块、 平面或芯片以怎样的条件读出的情况作为状态数据持有。 以怎样的条件读取 是缺省读取、 + 偏移读出、 - 偏移读出等的条件。其结果, 状态数据为缺省读取的场合, 读出 电平及读出电压 Vread 以缺省的电平执行读出动作 (S16)。另外, 为 + 偏移读出的场合, 以 读出电平 VA、 VB、 VC 及读出电压 Vread 向高偏移的状态执行读出动作 (S18)。而且, 状态数 据为 - 偏移读出的场合, 以读出电平 VA、 VB、 VC 向低偏移的状态执行读出动作 (S19)。
这些读出动作后, 与图 10 所示例同样, 进行 ECC 判定 (S20)。其结果, 错误比特数 比预定值多的场合, 对该块执行刷新动作 (S21, S22)。即, 将块的数据拷贝到新删除块。
即使图 11 及图 12 所示变形例, 考虑编写干扰 PD、 读取干扰 RD、 数据保留 DR 的影 响, 使读出电平 VA、 VB、 VC 及读出电压 Vread 向 + 方向或 - 方向偏移, 因此, 与 PD、 RD、 DR 的 影响无关, 可以正确读出数据。
偏移读出动作不限于图 10 至图 12 所示场合, 例如也可以采用管理表记录的温度 数据改变读出电平、 读出电压。例如温度高时, 在进行降低 PD、 RD 的影响的读出的场合, 执 行使读出电平 VA、 VB、 VC, 及读出电压 Vread 向 + 方向偏移的 + 偏移读出动作即可。另外, 在进行降低 DR 的影响的读出的场合, 执行使读出电平 VA、 VB、 VC 向 - 方向偏移的 - 偏移读 出动作即可。即使该读出动作, 也与 PD、 RD、 DR 的影响无关, 可以正确读出数据。
另外, 在可忽视 DR 的系统, 例如不断高速覆写数据的系统和具有更新 DR 劣化的块 的刷新功能的系统 ( 例如, 日本特开 2009-205578 号公报 ( 美国申请 12/529282 作为优先 权基础主张 )) 适用本实施方式的场合, 考虑 DR 的劣化的必要性小。因而, 也可以采用省 略 - 方向的偏移读出, 使读出电平向 + 方向 ( 阈值电压变高的方向 ) 偏移, 仅仅读取 1 次的 构成。
另外, 在控制服务器等的读出动作的常时运行系统适用本实施方式的场合, 省略 + 方向的偏移读出, 参照放置时间, 在放置时间为预定值以上的场合, 也可以采用仅仅执行一 次使读出电平 VA、 VB、 VC 向 - 方向偏移的 - 偏移读出动作的构成。
而且, 从存储单元读出数据的场合, 改变读出时间而读出也有效。即, 读出时, 可 以改变消除存储单元间的耦合的读出、 消除相邻位线的噪音的读出, 或者存储单元的读出 (sense) 节点的预充电电压, 改变读出时的读出次数、 读出时间。
另外, 本实施方式中, 说明了由管理表 MT 逐块管理改写次数, 但是不限于此。例 如, 由驱动控制电路 4 执行使 NAND 存储器 10 中的各块的改写次数 ( 删除次数或写入次数 ) 实质平均化的损耗均衡处理的场合, 不必逐块判断偏移读出的必要性。驱动控制电路 4 在 任意的块的改写次数达到预定值的场合, 看作是 NAND 存储器 10 的全块大致达到同样的改 写次数, 在以下的读出动作中, 也可以对 NAND 存储器 10 的全块适用共同的条件 ( 缺省读 出、 + 偏移读出、 - 偏移读出 )。
( 第 2 实施方式 )
接着, 说明第 2 实施方式。上述第 1 实施方式为了降低 PD、 RD、 DR 的影响, 参照管 理表 MT, 使读出电平 VA、 VB、 VC 和读出电压 Vread 向 + 方向或 - 方向变化, 进行读出动作。 该读出动作后, 判定 ECC, 在错误比特数多的场合, 刷新该块。
相对地, 第 2 实施方式在最初读出时的 ECC 的纠错中错误比特数多而无法进行 ECC 的纠错 (ECC 错误 ) 的场合, 进行偏移读出 ( 重试读出 )。而且, 通过再度执行 ECC 的纠错, 改善系统的不良率。
图 13、 图 14 表示第 2 实施方式。如图 13 所示, 首先, 例如通过缺省的读出电平从 存储单元读出数据 (S31)。然后, 判定是否可 ECC 纠错 (S32)。其结果, 在错误比特数少, 可 进行 ECC 纠错的场合, 读出动作结束。另外, 在错误比特数多, 不可 ECC 纠错的场合, 执行重 试读出 (S33)。
图 14 表示重试读出的一例。该重试读出中, 首先, 读出电平与缺省的读出电平相 比例如向高偏移, 进行 + 偏移读出动作 (S41)。 然后, 判定是否可 ECC 纠错, 是否可以正常执 行纠错 (S42)。纠错无法正常执行的场合, 判别 + 偏移读出动作是否执行预定次数, 例如 2 次 (S43)。其结果, 在 2 次以下的场合, 再度进行 + 偏移读出动作 (S41)。此时, 读出电平与前 次相比向高偏移, 进行 + 偏移读出动作。然后, 判定是否可 ECC 纠错, 是否可以正常执行纠 错 (S42)。
可以正常执行纠错的场合, 重试读出结束, 纠错无法正常执行的场合, 判别 + 偏移 读出动作是否进行了预定次数, 例如 2 次 (S43)。 该场合, 由于是第 2 次, 因此使读出电平的 偏移方向反转。
即, 与缺省的读出电平相比例如向低偏移, 进行 - 偏移读出动作 (S44)。 然后, 判定 是否可 ECC 纠错, 是否可以正常执行纠错 (S45)。
纠错无法正常执行的场合, 判别 - 偏移读出动作是否执行了预定次数, 例如 2 次 (S46)。其结果, 在 2 次以下的场合, 再度进行 - 偏移读出动作 (S44)。此时, 读出电平与前 次相比向低偏移, 进行 - 偏移读出动作。然后, 判定 ECC, 是否可以正常执行纠错 (S45)。
可以正常执行纠错的场合, 重试读出结束, 纠错无法正常执行的场合, 判别 - 偏移 读出动作是否执行了预定次数, 例如 2 次 (S46)。该场合, 由于是第 2 次, 因此, 即使进行偏 移读出, 也判断数据读出不可能, 驱动控制电路 4 对主机装置 1 返回表示读出错误结束的状 态 (S47)。
上述重试读出中, 重试次数在 + 方向、 - 方向都设为 2 次。但是不限于此, +方 向、 - 方向也可以都设为 1 次或 3 次以上。另外, 上述重试读出中, 读出电平最初向 + 方向 偏移后, 进一步向 - 方向偏移, 但是不限于此, 也可以使读出电平最初向 - 方向偏移后, 进一 步向 + 方向偏移。另外, 根据存储系统的使用环境, 也可以仅仅执行 + 偏移读出或者 - 偏移 读出。
另外, 上述重试读出中, S47 中, 返回表示读出错误结束的状态。但是, 存储系统进 行图 3 所示 2 阶段的纠错的场合, 也可以在 S32、 S42、 S45 的 ECC 纠错中, 判断第 2ECC 电路 118 可否进行纠错, S47 中, 进行第 1ECC 电路 112 的纠错。从而, 可以减少消耗功率大、 处理 时间长的第 1ECC 电路 112 的纠错发动的机会。
根据上述第 2 实施方式, 数据读出中, 不可纠错 (ECC 错误 ) 的场合, 使读出电平向 + 方向或 - 方向偏移, 进行重试读出。因而, 可以除去编写干扰 PD、 读取干扰 RD 的影响或数 据保留 DR 的劣化的影响, 正确读出数据。从而, 可以提高存储系统的可靠性。
上述第 2 实施方式中, 重试读出动作不限于图 14 所示方法, 也可以改变读出时间 进行读出。具体地说, 可以采用例如相邻存储单元的先读技术。该先读技术在日本特开 2004-326866 号公报 ( 作为美国专利编号 6879520 登记的美国申请 10/601006 作为优先权 基础主张 )、 日本特开 2009-70501 号公报 ( 美国申请 12/209486 作为优先权基础主张 ) 公 开。这些全内容通过参照结合于此。
日本特开 2004-326866 号公报公开的先读技术中, 例如读出与字线 WLn 连接的存 储单元的数据场合, 首先, 读出与字线 WLn+1 连接的存储单元的数据。读出与字线 WLn 连接 的存储单元时, 根据从与字线 WLn+1 连接的存储单元读出的数据的阈值电压, 使读出电平 VA、 VB、 VC 稍微向高偏移, 进行读出动作。从而可以除去相邻单元的写入的影响, 正确读出 数据。
另外, 日本特开 2009-70501 号公报公开的先读技术中, 例如读出与字线 WLn 连接的存储单元的数据场合, 首先, 读出与字线 WLn+1 连接的存储单元的数据。读出与字线 WLn 连接的存储单元时, 根据从与字线 WLn+1 连接的存储单元读出的数据的阈值电压, 使向非 选择字线 WLn+1 施加的读出电压 Vread 向高偏移, 通过耦合, 选择字线 WLn 的电平上升。从 而可以除去相邻单元的写入的影响, 正确读出数据。
上述相邻存储单元的先读技术在读出与选择字线连接的存储单元的数据前, 必须 读出与非选择字线连接的存储单元的数据, 因此读出时间慢。 因而, 存储系统采用相邻存储 单元的先读技术采用的 NAND 型闪速存储器的场合, 可以根据系统的用途切换先读技术。例 如, 在重试读出时使先读打开, 通常读出时使先读关闭即可。
而且, 第 2 实施方式也可以变更读出时的读出时间。如上所述, 受到 PD 的影响的 存储单元的阈值电压向高偏移。 因而, 相对于读出电压 Vread, 单元晶体管难以导通。 因而, 使向非选择字线施加的读出电压 Vread 上升, 进行重试读出。该场合, 选择字线的电位通 过与非选择字线的耦合而上升。因而, 可以增加流向与选择字线连接的单元晶体管的电流 Icell。从而, 可以正确读出数据, 提高系统的可靠性。
另外, 重试读出中, 也可以改变读出时的读出节点的预充电电压, 改变读出时的读 出次数。 ( 第 3 实施方式 )
图 15 表示第 3 实施方式。第 3 实施方式是将第 1、 第 2 实施方式组合的读出动作。 即, 第 1 实施方式中说明的监视读取在电源启动时或任意的定时执行。相对地, 第 3 实施方 式在读出动作中, 在 ECC 错误产生的场合, 使读出电平向 +/- 的两方偏移, 进行读出动作, 在 管理表记录此时的状态数据, 在下一读出动作中, 根据管理表记录的状态数据, 进行读出动 作。
如图 15 所示, 例如通过缺省的读出电平进行读出动作 (S51)。然后, 判定是否可 ECC 纠错 (S52)。 该判定的结果为 ECC 错误产生的场合, 例如首先使读出电平稍微向高偏移, 执行 + 偏移读出 (S53)。该读出后, 再度判定是否可 ECC 纠错 (S54)。该判定的结果为 ECC 错误不产生的场合, 表示 + 偏移的状态数据在管理表 MT 记录 (S55)。该场合状态数据包含 例如表示 + 方向的偏移的数据及表示偏移量的数据。
另一方面, 在步骤 S54 的判定的结果为 ECC 错误产生的场合, 例如使缺省的读出电 平稍微向低偏移, 执行 - 偏移读出 (S56)。该读出后, 判定是否可 ECC 纠错 (S57)。该判定 的结果为 ECC 错误不产生的场合, 表示 - 偏移的状态数据在管理表 MT 记录 (S58)。该场合 状态数据包含例如表示 - 方向的偏移的数据及表示偏移量的数据。
另外, S57 的判定的结果为 ECC 错误产生的场合, 意味着即使向 + 方向偏移读出电 平 (S53), 或者向 - 方向偏移读出电平 (S56), ECC 错误都未消除, 因此, 驱动控制电路 4 对 主机装置 1 返回表示读出错误结束的状态 (S59)。在管理表记录了例如表示读出对象的区 域不可使用的数据。
另外, 本实施方式中, 分别执行一次 + 方向的偏移读出和 - 方向的偏移读出, 但是 也可以如第 2 实施方式那样, 执行多次偏移读出。 例如, S53 中, 即使进行 + 偏移读出也未消 除 ECC 错误的场合, 也可以使 + 方向的偏移量增加后, 再度进行 ECC 判定。另外, 例如, S56 中, 即使进行 - 偏移读出也未消除 ECC 错误的场合, 也可以使 - 方向的偏移量增加后, 再度 进行 ECC 判定。
另外, S52 的 ECC 判定也可以不是判断 ECC 错误是否产生, 而是判断即使可 ECC 纠 错的场合, 错误比特数是否也在预定值以下。例如, S52 中, 虽然在可纠错范围但是错误比 特数超过预定值的场合, S53 中, 执行 + 偏移读出。S54 中, 再度进行 ECC 判定时, 错误比特 数若比 S52 的场合减少, 则 S55 中, 在管理表记录 + 偏移量。
另一方面, S53 中, 执行 + 偏移读出, S54 中, 再度进行 ECC 判定时, 错误比特数增 加, 或 ECC 错误产生的场合, S56 中, 执行 - 偏移读出。S57 中, 再度执行 ECC 判定时, 错误 比特数若比 S52 的场合减少, 则 S58 中, 在管理表记录 - 偏移量。S56 中, 执行 - 偏移读出, S57 中, 再度执行 ECC 判定时, 错误比特数增加, 或 ECC 错误产生的场合, 认为缺省的读出电 平最佳。因而, 在管理表记录缺省的读出电平即可。该场合, + 方向的偏移读出和 - 方向的 偏移读出分别执行一次, 但是也可以如第 2 实施方式那样, 执行多次偏移读出。进行多次偏 移读出的场合, 即使不进行预定次数的偏移, 与用前次偏移量进行 ECC 判定的场合相比, 错 误比特数也可能增加。该场合, 也可以在同方向不再度偏移, 使偏移方向反转。
这样, 在管理表 MT 记录用于读取该块的最佳读出电平的偏移数据。然后, 执行该 块的读出动作的场合, 与第 1 实施方式同样, 首先, 参照管理表 MT, 读出在该管理表 MT 记录 的偏移数据。根据该读出的偏移数据设定读出电平, 执行读出动作。 根据上述第 3 实施方式, ECC 错误产生的场合, 使读出电平向 +/- 的两方偏移, 进 行读出动作, 检测 ECC 错误不产生的读出电平, 在管理表 MT 记录此时的偏移数据, 在下一读 出动作中, 根据管理表 MT 记录的偏移数据, 设定读出电平, 进行读出动作。因而, 可以通过 最佳读出电平在该块读出数据, 从而, 可以正确读出数据, 提高系统的可靠性。
另外, 根据第 3 实施方式, 读出动作中, 在 ECC 错误产生的场合, 或者错误比特数超 过预定值的场合, 立即更新管理表, 因此与前述监视读取比, 具有即时性。
而且, 读出块的数据时, 根据管理表 MT 记录的偏移数据, 可以从最初开始以最佳 读出电平读出数据, 因此, 与重试读出比, 可以使读出速度高速化, 提高性能。
( 第 4 实施方式 )
图 16 表示第 4 实施方式。第 4 实施方式适用于通过刷新动作降低 DR 的影响的系 统。在这样的系统的场合, 考虑 PD、 RD 的影响, 执行读出动作。
如图 16 所示, 首先, 用缺省的读出电平读出数据, 判定是否可 ECC 纠错 (S61, S62)。 其结果, 可 ECC 纠错的场合, 处理结束。另一方面, ECC 错误产生的场合, 进行 + 偏移读出动 作及 ECC 判定 (S63, S64)。其结果, 可 ECC 纠错的场合, 处理结束。另一方面, ECC 错误产生 的场合, 通过比缺省的读出电平低的电平, 执行 - 偏移读出动作 (S71)。然后, 进行 ECC 判 定 (S72)。其结果, 可 ECC 纠错的场合, 虽然可以直接结束, 但是由于知道是 DR 劣化, 因此 例如可执行刷新动作, 改善 DR(S73)。另外, ECC 错误产生的场合, 向主机 1 返回错误状态。 或者, 驱动控制电路可执行 2 阶段的纠错的场合, 通过第 1ECC 电路 112 执行例如读取所罗 门处理, 尝试数据的复活。
另一方面, 步骤 S64 中, 在可 ECC 纠错的状态下, 处理结束后, 设定了例如其他读出 用的指令的场合 (S65), 用与步骤 S63 相同的偏移电平, 进行 + 偏移读出动作 (S66)。然后, 进行 ECC 判定 (S67), 在可 ECC 纠错的场合, 处理结束, 在 ECC 错误产生的场合, 例如用缺省 的读出电平执行读出动作 (S68)。然后, 进行 ECC 判定 (S69), 可 ECC 纠错的场合, 虽然可以 直接结束, 但是由于知道是 DR 劣化, 因此例如可执行刷新动作, 改善 DR(S70)。另外, ECC 错
误产生的场合, 控制向步骤 S71 转移。
根据上述第 4 实施方式, 在 DR 的影响降低的系统中, 可以降低偏移读出的次数, 因 此可以使读出动作高速化。而且, 由于执行了必要的偏移读出, 可以进行正确读出动作, 提 高系统的可靠性。
其他, 本发明不限于上述各实施方式, 在实施阶段不脱离其要旨的范围, 可以使构 成要素变形而具体化。 另外, 通过上述各实施方式公开的多个构成要素的适宜组合, 可形成 各种发明。例如, 也可以从实施方式的全构成要素删除几个构成要素。而且, 可以将不同实 施方式的构成要素适宜组合。