CN104657280B - 存储器系统 - Google Patents

存储器系统 Download PDF

Info

Publication number
CN104657280B
CN104657280B CN201510043409.6A CN201510043409A CN104657280B CN 104657280 B CN104657280 B CN 104657280B CN 201510043409 A CN201510043409 A CN 201510043409A CN 104657280 B CN104657280 B CN 104657280B
Authority
CN
China
Prior art keywords
block
erasing
unit
homogenizing
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510043409.6A
Other languages
English (en)
Other versions
CN104657280A (zh
Inventor
橘内和也
菅野伸
菅野伸一
矢野浩邦
檜田敏克
矢野纯二
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japanese Businessman Panjaya Co ltd
Kioxia Corp
Original Assignee
Toshiba Memory Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Memory Corp filed Critical Toshiba Memory Corp
Publication of CN104657280A publication Critical patent/CN104657280A/zh
Application granted granted Critical
Publication of CN104657280B publication Critical patent/CN104657280B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Abstract

本公开提供了一种存储器系统,包括:非易失性存储器,包括作为数据擦除单元的多个块;测量单元,其测量每个块的数据被擦除的擦除时间;块控制器,其具有块表,该块表指示对于每个块的状态值与擦除时间之间的对应关系,其中状态值指示空闲状态和使用中状态中的一个;第一选择器,其基于块表的信息,在从擦除时间最老的块开始的被设置为使用中状态的预设数量的块中选择擦除计数最小的第一个块;第二选择器,其基于块表的信息,在从擦除时间最老的块开始的被设置为空闲状态的预设数量的块中,选择擦除计数最大的第二个块;以及均化单元,其计算第一个块与第二个块的擦除计数之间的差,并在差超过阈值时将第一个块的数据移动到第二个块中。

Description

存储器系统
本申请是分案申请,原申请的申请号为200880006535.2,申请日为2008年9月8日,发明名称为“存储器系统”。
技术领域
本发明涉及一种存储器系统,例如具有NAND闪速存储器的存储器系统。
背景技术
近来,非易失性半导体存储器被用于例如大型计算机、个人计算机、家用电器、便携电话等的各个部分中。特别地,NAND闪速存储器是这样的非易失性半导体存储器,其是可电重写的,并且可以以大容量和高集成密度被构成。另外,最近考虑使用NAND闪速存储器来取代硬盘驱动器(HDD)。
NAND闪速存储器是一种在写处理被执行之前需要擦除处理的半导体存储器。其使用寿命取决于重写操作的数量。NAND闪速存储器中的数据写/擦除操作将通过在基底与控制栅极之间施加高电压来对浮动栅极注入/释放电子。如果以上操作被执行很多次,则围绕浮动栅极的栅极氧化膜被降级(degrade),并且注入到浮动栅极中的电子被抽出而破坏数据。也就是说,当重写操作的次数增加时,数据在被写入之后被保持的时间长度变短(保持特征被降级)。
另外,利用个人计算机等记录的数据具有时间局部性和区域局部性这两者(文献1:David A.Patterson和John L.Hennessy,“Computer Organization and Design:TheHardware/Software Interface”,Morgan Kaufmann出版,2004/8/31)。因此,如果当数据被记录时,数据项被按照被从外部指定的地址中的那样顺序地记录,则重写处理即擦除处理在短时间内被集中在指定区域中,并且因此擦除处理的数量变得很大程度上不均衡。
已知的是NAND闪速存储器的使用寿命还取决于擦除处理之间的间隔,并且,随着该间隔变得更长,保持特征变得更好,且使用寿命变得更长(文献2:Neal Mielke等,“FlashEEPROM Threshold Instabilities due to Charge Trapping During Program/EraseCycling”,IEEE设备和材料可靠性学报,第4卷,第3号,2004年9月,第335-344页)。这还表明随着擦除间隔变得更短,保持特征变得降级,且使用寿命变得更短。
另外,已知的是即使在写操作被以短间隔执行时保持特征也被恢复,除非擦除处理被以对应的长时间段执行(文献3:Neal Mielke等,“Recovery Effects in theDistributed Cycling of Flash Memories”,第44年度国际可靠性物理讨论会,圣何塞,2006,第29-35页)。
发明内容
根据本发明的一方面,提供了一种存储器系统,包括:非易失性存储器,其包括作为数据擦除单元的多个块;测量单元,其测量每个块的数据被擦除的擦除时间;以及块控制器,其将至少提供自外部的数据写入被设置为空闲状态且擦除时间最老(oldest)的第一个块。
根据本发明的一方面,提供了一种存储器系统,包括:非易失性存储器,其包括作为数据擦除单元的多个块;测量单元,其测量每个块的数据被擦除的擦除时间;块控制器,其计算每个块的擦除计数,并且具有指示对于每个块的状态值、擦除时间和擦除计数之间的对应关系的块表,其中,所述状态值指示空闲状态和使用中状态中的一个;以及第一选择器,其基于所述块表的信息,在从擦除时间最老的块开始被设置为空闲状态的预设数量的块中,选择擦除计数最小的第一个块,其中,所述块控制器将至少提供自外部的数据写入所述第一个块。
根据本发明的一方面,提供了一种存储器系统,包括:非易失性存储器,其包括作为数据擦除单元的多个块;测量单元,其测量每个块的数据被擦除的擦除时间;块控制器,其计算每个块的擦除计数,并且具有指示对于每个块的状态值、擦除时间和擦除计数之间的对应关系的块表,其中,所述状态值指示空闲状态和使用中状态中的一个;以及第一选择器,其基于所述块表的信息,从擦除时间最老的块开始,在被设置为空闲状态的预设比例的块中选择擦除计数最小的第一个块,其中,所述块控制器将至少提供自外部的数据写入所述第一个块。
根据本发明的一方面,提供了一种存储器系统,包括:非易失性存储器,其包括作为数据擦除单元的多个块;测量单元,其测量每个块的数据被擦除的擦除时间;块控制器,其计算每个块的擦除计数,并且具有指示对于每个块的状态值、擦除时间和擦除计数之间的对应关系的块表,其中,所述状态值指示空闲状态和使用中状态中的一个;以及第一选择器,其基于所述块表的信息,在被设置为空闲状态且擦除时间比预设时间老的块中选择擦除计数最小的第一个块,其中,所述块控制器将至少提供自外部的数据写入所述第一个块。
附图说明
图1是示出包括根据本发明的第一实施例的存储器系统1的计算机系统的示例的示意图;
图2是示出根据第一实施例的存储系统1的配置的示意图;
图3A是示出包括在NAND闪速存储器器10中的块的排列的电路图;
图3B是示出在四级数据记录系统中获得的阈值分布示例的图;
图4是用于阐明NAND控制器11的示例的框图;
图5是示出块控制器30和擦除时间测量单元31的配置的框图;
图6是用于示例性说明NAND控制器11的一系列写操作的流程图;
图7是用于示例性说明NAND控制器11的块释放操作的流程图;
图8是示出分配块选择器32的配置的框图;
图9是用于示例性说明分配块选择器32的分配块选择处理的流程图;
图10是用于示例性说明NAND控制器11的块分配处理的流程图;
图11是用于示例性说明NAND控制器11的块擦除处理的流程图;
图12是示出均化(leveling)单元35的配置的框图;
图13是用于示例性说明NAND控制器11的均化处理的流程图;
图14是示出替换-源块选择器33的配置的框图;
图15是用于示例性说明替换-源块选择器33的替换-源块选择处理的流程图;
图16是示出替换-目的块选择器34的配置的框图;
图17是用于示例性说明替换-目的块选择器34的替换-目的块选择处理的流程图;
图18是示出根据本发明的第二实施例的分配块选择器32的配置的框图;
图19是用于示例性说明分配块选择器32的分配块选择处理的流程图;
图20是示出根据本发明的第三实施例的均化单元35的配置的框图;
图21是示出均化限制单元37的配置的框图;
图22是用于示例性说明NAND控制器11的均化处理的流程图;
图23是用于示例性说明均化限制单元37的随机数确定处理的流程图;
图24是示出根据本发明的第四实施例的NAND控制器11的配置的框图;
图25是示出均化单元35的配置的框图;
图26是用于示例性说明NAND控制器11的均化处理的流程图;
图27是示出根据一个实施例的SSD 100的配置的框图;
图28是示出驱动控制电路102的配置的框图;
图29是示出处理器107的配置的框图;
图30是示出在其上安装了SSD 100的便携式计算机200的一个示例的透视图;以及
图31是示出使用SSD 100的便携式计算机200的系统配置示例的框图。
具体实施方式
现在将参考附图描述本发明的实施例。在以下阐述中,具有相同功能和配置的元件通过相同的符号来表示,并且仅在需要的情况下做出重复阐述。
【第一个实施例】
本实施例的存储器系统被安装在安装有主机设备的印刷电路板上,并且经由总线与所述主机设备交换数据。可替换地,本实施例的存储器系统被设计为可拆卸地附到主机设备。该存储器系统连接到所述主机设备,并且经由总线与主机设备交换数据。图1是示出包括本实施例的存储器系统1的计算机系统示例的示意图。
计算机系统包括中央处理单元(CPU)2、例如动态随机访问存储器(DRAM)的主存储器3、用于控制主存储器3的存储器控制器4和本实施例的存储器系统1。CPU 2、主存储器3和存储器系统1经由用于处理地址的地址总线5和用于处理数据的数据总线6互相连接。
在该计算机系统中,如果来自CPU 2的传输请求(读请求或写请求)是写请求,则CPU 2的数据(包括外部输入的数据)或主存储器3的数据被传输到存储器系统1。如果来自CPU 2的该传输请求是读请求,则存储器系统1的数据被传输到CPU 2或主存储器3。
存储器系统1包括作为一种非易失性半导体存储器的NAND闪速存储器10和用于控制NAND闪速存储器10的NAND控制器11。存储器系统1的配置的示例将在下面阐述。
【1.存储器系统1的配置】
图2是示出存储器系统1的配置的示意图。存储器系统1包括NAND闪速存储器10和NAND控制器11。NAND控制器11包括主机接口电路(主机I/F)21、微处理单元(MPU)22、只读存储器(ROM)23、随机访问存储器(RAM)24和NAND接口电路(NAND I/F)25。
主机接口电路21根据预定协议执行NAND控制器11与主机设备(CPU 2、主存储器3等)之间的接口处理。
MPU 22控制存储器系统1的整体运转。例如,当存储器系统1的电源被打开时,MPU22将存储在ROM 23中的固件(控制程序)读到RAM24中并执行预定处理,由此形成RAM 24上的各种表。MPU 22还接收来自主机设备的写请求、读请求和擦除请求,并根据这些请求在NAND闪速存储器10上执行预定处理。
ROM 23存储例如将由MPU 22控制的控制程序。RAM 24被用作MPU 22的工作区域,并存储从ROM 23加载的控制程序和各种表。NAND接口电路25根据预定协议执行NAND控制器11与NAND闪速存储器10之间的接口处理。
通过排列多个作为数据擦除的最小单元的块来形成NAND闪速存储器10。图3A是示出包括在NAND闪速存储器10中的块的排列的电路图。每个块包括沿X方向按顺序排列的(m+1)个NAND串(string)(m为大于等于0的整数)。包括在(m+1)个NAND串的每个串中的选择晶体管ST1具有连接到位线BL0到BLm中对应的一个的漏极,以及连接到公共选择栅极线SGD的栅极。包括在(m+1)个NAND串的每个串中的选择晶体管ST2具有连接到公共源极线SL的源极,以及连接到公共选择栅极线SGS的栅极。
在每个NAND串中,(n+1)个存储器基元晶体管MT被安排在选择晶体管ST1的源极与选择晶体管ST2的漏极之间,从而存储器基元晶体管MT的电流路径被串联地连接(n为大于等于0的整数)。也就是说,(n+1)个存储器基元晶体管MT在Y方向上被串联地连接,从而相邻晶体管共享扩散区(源极区或漏极区)。
控制栅电极从位于漏极侧最近处的存储器基元晶体管MT开始按顺序连接到字线WL0至WLn。从而连接到字线WL0的存储器基元晶体管MT的漏极被连接到选择晶体管ST1的源极,并且连接到字线WLn的存储器基元晶体管MT的源极被连接到选择晶体管ST2的漏极。
字线WL0至WLn将块中的NAND串之间的存储器基元晶体管MT的控制栅电极连接在一起。也就是说,块中同一行上的存储器基元晶体管MT的控制栅电极被连接到相同的字线WL。连接到相同字线WL的(m+1)个存储器基元晶体管MT被作为页来处理,并且,数据写和读被逐页地执行。
位线BL0至BLm将块之间的选择晶体管ST1的漏极连接在一起。也就是说,多个块中同一列中的NAND串被连接到相同的位线BL。
每个存储器基元晶体管MT是金属氧化物半导体场效应晶体管(MOSFET),其具有在半导体基底上形成的堆叠栅极结构。通过在半导体基底上顺序地堆叠栅极绝缘膜、电荷存储层(浮动栅电极)、栅极间(inter gate)绝缘膜和控制栅电极而形成所述堆叠栅极结构。存储器基元晶体管MT根据存储在浮栅电极中的电子的数量来改变其阈值电压,并根据阈值电压之间的差异来存储数据。存储器基元晶体管MT可以被设计为存储二进制数据(一位)或多级数据(具有两个或更多位的数据)。
存储器基元晶体管MT的结构不限于具有浮栅电极的结构,并且还可以是例如金属氧化物氮化物氧化物硅(MONOS)结构的结构,该结构中,可以通过在作为电荷存储层的氮化物膜界面中俘获电子来调整阈值。具有该MONOS结构的存储器基元晶体管MT也可以被设计为存储一位或多级(multilevel)数据(具有两个或更多位的数据)。
图3B示出了当四级数据记录系统被使用时获得的阈值分布的示例,即,所述系统中两个位被记录在一个存储器晶体管MT中。
在四级数据记录系统中,由上部页(upper page)数据“x”和下部页(lower page)数据“y”定义的四级数据“xy”中的一个可以被保持在存储器基元晶体管MT中。
数据“11”、“01”、“00”和“10”(其按存储器基元晶体管MT的阈值电压的升序排列)作为四级数据“xy”被指派。数据“11”代表擦除状态,该状态中存储器基元晶体管MT的阈值电压为负。
在下部页写中,通过选择性地将低位数据“y”写入处于数据“11”状态(擦除状态)的存储器基元晶体管MT来写数据“10”。
处在上部页写之前的数据“10”的阈值分布位于处在上部页写之后的数据“01”和数据“00”的阈值分布之间。数据“10”的阈值分布被允许宽于上部页写之后的数据的阈值分布。
在上部页写中,高位数据“x”被选择性地写入处于数据“11”状态的存储基元和处于数据“10”状态的存储器基元。
本发明的每个实施例中的每个功能框可以通过硬件、软件或硬件和软件的组合来实现。因此,在下面,将从其功能的角度来阐述每个功能框,以便清楚地示出该框可以是硬件和软件中的一个或两个。功能作为硬件还是软件被实现取决于实际实施例或施加于整个系统的设计限制。本领域技术人员可以针对每个实际实施例通过各种方法来实现这些功能,并且本发明的范围包括实现的确定。
NAND控制器11的具体配置的一个示例被阐述。图4是用于阐述NAND控制器11的一个示例的框图。
NAND控制器11包括块控制器30、擦除时间测量单元31、分配块选择器32、替换-源块选择器33、替换-目的块选择器34、均化单元35和NAND接口电路(NAND I/F)25。
擦除时间测量单元31测量每当NAND闪速存储器10的每个块的数据被擦除时的块擦除时间。然后,擦除时间测量单元31将擦除时间发送到块控制器30。
块控制器30管理用于每个块的各种信息项(包含擦除时间)。此外,块控制器30响应于来自CPU 2的传输请求,向NAND闪速存储器10发出写请求、读请求和擦除请求。具体地,块控制器30具有将在随后被描述的地址表30A和块表30B,并通过使用以上表来发出写请求、读请求和擦除请求。
例如,当分配块选择器32将提供自外部单元(CPU 2或主存储器3)的新数据写入NAND闪速存储器10时,其选择被分配用于写处理的块(该块在以下被称为分配块)。然后,分配块选择器32将对应于分配块的块号码(block number)(分配块号码)发送到块控制器30。作为将被写入NAND闪速存储器10的数据,两种类型的数据项被提供,其包括从存储器系统1的外部提供的用户数据和存储器系统1的内部部分管理所需的系统数据。
均化单元35执行将在随后被描述的均化处理。均化单元35在执行均化处理时向NAND闪速存储器10发出写请求、读请求和擦除请求。均化处理意味着块的擦除处理的数量被设为近似统一(所谓的磨损均化处理)。由此,由于通过将块的擦除处理的数量设为近似统一,可以防止擦除处理被集中于所述块中的一部分,因而NAND闪速存储器10的使用寿命可以被延长。
替换-源块选择器33选择用于由均化单元35进行均化处理的数据替换源的块(该块以下被称为替换-源块)。替换-目的块选择器34选择用于由均化单元35进行均化处理的数据替换目的块(该块以下被称为替换-目的块)。
NAND接口电路25接收来自块控制器30和均化单元35的写请求、读请求和擦除请求。然后,NAND接口电路25根据以上请求将数据写操作、读操作和擦除操作通知给NAND闪速存储器10。
图5是示出块控制器30和擦除时间测量单元31的配置的框图。块控制器30包括地址表30A、块表30B和算术单元30C。
地址表30A示出包含经由地址总线从主机设备(CPU 2)提供的地址的地址区域(逻辑块地址)与对应于该地址区域的NAND闪速存储器10中的块号码(物理块地址)之间的关系。块控制器30可以通过使用地址表30A来指定包含从主机设备提供的地址的地址区域中的数据所对应的一个块。例如,在将在随后描述的块释放处理和块分配处理时更新地址表30A。
块表30B存储块状态、数据被擦除的数量(擦除计数)以及作为信息被从擦除时间测量单元31提供的擦除时间,其中块状态指示在地址表30A中没有设置块号码(该状态以下被称为空闲状态)或在地址表30A中设置了块号码(该状态以下被称为使用中状态)。例如,在将在随后描述的块释放处理、块分配处理和块擦除处理时更新块表30B。
当块状态被设置为空闲状态时,不论事实上是否在NAND闪速存储器10中对该块执行了擦除处理,从主机设备角度看,对应于该块的地址区域被认为是没有任何数据被存储的空闲区域。另一方面,当块状态被设置为使用中状态时,从主机设备角度看,对应于该块的地址区域被认为是数据被存储在其中的使用中区域。
实际上,地址表30A和块表30B被存储在RAM 24中或RAM 24和NAND闪速存储器10这两者中。然而,每当RAM 24被更新时,以非易失方式存储在NAND闪速存储器10中的地址表30A和块表30B并非总是有必要被更新。
每当NAND闪速存储器10的数据被擦除时,对于包含在块表30B中的经历擦除处理的块,算术单元30C将擦除计数加“1”。实际上,算术单元30C的处理通过MPU 22来执行。
块控制器30接收来自分配块选择器32的分配块号码。然后,块控制器30通过使该分配块号码来更新地址表30A的块号码。此外,块控制单元30将对应于分配块号码的块表30B中的信息(分配块信息)和在块分配时被释放的块的信息(已释放块信息)发送到均化单元35。
块控制器30通过使用块表30B将包含在NAND闪速存储器10中的所有块的信息项(全体块信息)发送到分配块选择器32、替换-源块选择器33和替换-目的块选择器34。
擦除时间测量单元31包括计算擦除计数的擦除-计数计数器31A和更新擦除-计数计数器31A的计数值的算术单元31B。擦除时间测量单元31测量对NAND闪速存储器10中的块执行的擦除处理的数量,并将由此测量出的数作为擦除时间输出。
具体地,每当块中的任一个被擦除时,算术单元31B将擦除-计数计数器31A加“1”。擦除计数计数器31A的计数值(擦除数,erase number)被作为擦除时间提供给块控制器30(具体地,块表30B)。在该示例的擦除时间测量单元31中,随着擦除数被设置得更小,擦除时间变得更老。实际上,算术单元31B的处理通过MPU 22来执行。
作为擦除时间,除以上情况外,擦除处理被执行的时间(擦除计时,erasetiming)、NAND控制器11的电源时间等可以被使用。在擦除计时被用作擦除时间的情况下,擦除时间测量单元31具有时钟,并输出擦除处理被执行时的定时作为擦除时间。在电源时间被用作擦除时间的情况下,擦除时间测量单元31具有计时器,每当擦除处理被执行时,测量等于每个擦除处理的电源时间,并输出该电源时间作为擦除时间。由此,擦除计数、擦除定时或电源时间可以被自由地选择和用作擦除时间。如果可以指定擦除时间的信息被使用,则可使用除以上三种类型之外的信息。
【2.NAND控制器11的写操作】
接下来,NAND控制器11的写操作被阐述。图6是用于示例性说明NAND控制器11的一系列写操作的流程图。
首先,NAND控制器11接收来自CPU 2的写请求,并开始写操作(步骤S10)。然后,块控制器30通过使用地址表30A来确定块号码是否被关于包含写请求的地址的地址区域注册(块被分配)(步骤S11)。如果块号码被注册(块被分配),则所述地址区域需要数据重写处理,并且因此,NAND控制器11执行释放对应于所述块号码的块的块释放处理(步骤S12)。
如果在步骤S11中确定块号码未被注册(块未被分配),或者在块释放处理在步骤S12中被执行之后,分配块选择器32执行选择被分配给地址区域的块(分配块)的分配块选择处理(步骤S13)。
接下来,块控制器30通过使用对应于分配块的块号码(分配块号码)来执行块分配处理以便更新地址表30A和块表30B(步骤S14)。然后,块控制器30对分配块执行块擦除处理(步骤S15)。
此后,块控制器30将数据写入已被擦除的分配块(步骤S16)。也就是说,块控制器30向NAND接口电路25发出写请求。NAND接口电路25通知NAND闪速存储器10:数据基于写请求被写入分配块。
接下来,NAND控制器11执行均化处理(步骤S17)。在均化处理结束之后,终止NAND控制器11的一系列写操作。步骤S17中的均化处理可以在步骤S13中的分配块选择处理之前执行。
包含在写操作中的各个处理在下面阐述。
【2-1.块释放处理】
图7是用于示例性说明NAND控制器11的块释放处理的流程图。块控制器30将对应于包含写请求的地址并且包含在地址表30A中的地址区域的块号码设置为未分配状态(步骤S20)。接下来,块控制器30将包含在块表30B中的该块号码的状态设置为空闲状态。在块释放处理中新被设置为空闲状态的块以下被称为已释放块(步骤S21)。
然后,块控制器30将包含在块表30B中的已释放块的信息(已释放块信息)发送到均化单元35。已释放块信息至少包含已释放块号码的擦除时间。均化单元35通过使用已释放块信息来更新将在随后描述的载荷集中的程度(步骤S22).
【2-2.分配块选择处理】
图8是示出分配块选择器32的配置的框图。图9是用于示例性说明分配块选择器32的分配块选择处理的流程图。
分配块选择器32具有两个选择器32A和32B。分配块选择器32接收来自块控制器30全部块信息(步骤S30)。全部块信息被提供给选择器32A。然后,选择器32A确认所有块的状态,并从所有块中提取处于空闲状态的块(步骤S31)。在此之后,选择器32A将对应于空闲状态块的块信息(空闲状态块信息)发送到选择器32B。
接下来,选择器32B在由选择器32A提取的块中选择对应于最老擦除时间的块作为分配块(步骤S32)。对应于该分配块的分配块号码被提供给块控制器30。
【2-3.块分配处理】
图10是用于示例性说明NAND控制器11的块分配处理的流程图。块控制器30将分配块的块号码设置到包括写请求的地址并且包含在地址表30A中的地址区域(步骤S40)。然后,块控制器30将包含在块表30B中的块号码的状态设置为使用中状态(步骤S41)。
接下来,块控制器30将包含在块表30B中的分配块的信息(分配块信息)发送到均化单元35。分配块信息至少包含分配块号码的擦除时间。均化单元35通过使用分配块信息来更新将在随后描述的载荷集中的程度(步骤S42)。
【2-4.块擦除处理】
图11是用于示例性说明NAND控制器11的块擦除处理的流程图。块控制器30向NAND接口电路25发出对分配块的擦除请求(步骤S50)。响应于该擦除请求,NAND接口电路25通知NAND闪速存储器10分配块的数据被擦除(步骤S51)。然后,擦除时间测量单元31(具体地,算术单元31B)将擦除计数计数器31A的计数值(擦除数)加“1”(步骤S52)。
接下来,块控制器30更新包含在块表30B中对应于已擦除分配块的擦除计数和擦除时间(步骤S53)。具体地,块控制器30通过使用从擦除时间测量单元31提供的擦除时间,来更新包含在块表30B中对应于已擦除分配块的块号码的擦除时间。此外,算术单元30C将包含在块表30B中的对应于已擦除分配块的块号码的擦除计数加“1”。
【2-5.均化处理】
为了延长NAND闪速存储器10的使用寿命,有必要将各个块的擦除计数设置为彼此近似相等,同时避免在短时间内对特定区域频繁地执行重写处理。如果通过将各个块的擦除计数设置为彼此近似相等来尝试延长NAND闪速存储器10的使用寿命,则依据写状态,可以在短时间内过多地进行对于特定区域的重写处理。如果校正(均化)处理在短时间内被频繁地执行,则将增加由校正处理导致的擦除处理的数量,并且结果是,尽管可以使擦除计数近似统一,并且可以避免短时间内关于特定区域的写操作的集中,但使用寿命不能被延长。另一方面,如果使校正间隔过长,则具有短间隔的擦除处理被集中在特定区域,并且使用寿命被缩短。通过考虑以上事实,在本实施例的均化单元中,均化处理的数量被设为最优值,并且各个块的擦除计数被设为近似统一。
通过使用均化单元35、替换-源块选择器33和替换-目的块选择器34来执行均化处理。如之前描述的,均化处理可以在图6的分配块选择处理(步骤S13)之前被执行。图12是示出均化单元35的配置的框图。
均化单元35包括载荷集中程度管理单元36、均化确定单元35A和存储均化阈值的存储单元35B。均化确定单元35A通过使用均化阈值和从载荷集中程度管理单元36提供的载荷集中程度,来确定均化处理是否在当前写操作时被执行。当均化处理被执行时,均化确定单元35A向NAND接口电路25提供伴随均化处理的读请求、擦除请求和写请求。
载荷集中程度管理单元36包括已释放块增加值表36A、分配块增加值表36B、算术单元36C和载荷集中程度计数器36D。载荷集中程度管理单元36接收来自块控制器30的已释放块信息和分配块信息。
已释放块增加值表36A指示多个擦除时间和与其对应的多个增加值之间的对应关系。增加值的大小根据擦除时间改变,并且可以被设为正值、零和负值。所述增加值在擦除时间更新时被设置得较大,在擦除时间更老时被设置得较小。在更简化的情况下,当擦除时间超过预设值时,常数负增加值可以被输出,并且当擦除时间不超过所述预设值时,常数正增加值可以被输出。已释放块增加值表36A将与包含在已释放块信息中的擦除时间对应的增加值提供给算术单元36C。
同样,分配块增加值表36B指示多个擦除时间和与其对应的多个增加值之间的对应关系。增加值的大小根据擦除时间改变,并且可以被设为正值、零和负值。所述增加值在擦除时间更新时被设置得较大,在擦除时间更老时被设置得较小。在更简化的情况下,当擦除时间超过预设值时,常数负增加值可以被输出,当擦除时间不超过预设值时,常数正增加值可以被输出。分配块增加值表36B将与包含在分配块信息中的擦除时间对应的增加值提供给算术单元36C。
算术单元36C通过使用从已释放块增加值表36A和分配块增加值表36B提供的增加值,来更新载荷集中程度计数器36D的计数值。实际上,算术单元36C的处理通过MPU 22来执行。载荷集中程度计数器36D将计数值作为载荷集中程度提供给均化确定单元35A。可以根据载荷集中程度的值来确定具有短间隔的擦除处理是否被频繁地执行。
图13是用于示例性说明NAND控制器11的均化处理的流程图。均化确定单元35A确定从载荷集中程度管理单元36提供的载荷集中程度是否超过均化阈值(步骤S60)。均化阈值被用于确定均化处理是否将被执行,并且基于NAND闪速存储器10的使用寿命(或数据保持时间段)被延长的程度这样的准则而设置均化阈值。
每当数据被擦除时,NAND闪速存储器10的保持特性被降级(也就是说,使用寿命被缩短)。如果擦除间隔变得更长,则NAND闪速存储器10的保持特性被逐渐地恢复。也就是说,如果擦除处理被以短间隔接连地执行,则由于不能达到保持特性的足够长的恢复时间,NAND闪速存储器10的使用寿命被缩短。因此,在本实施例中,用于确定擦除间隔长还是短的准则被替换为用于确定载荷集中程度高还是低的准则。于是,基于载荷集中程度是否超过均化阈值来确定擦除处理是否被以短间隔接连地执行,并且仅在载荷集中程度已超过均化阈值时,均化处理被执行,以便防止擦除处理被集中于块的一部分。在设置均化阈值时,考虑NAND闪速存储器10的特性,所述特性指示通过将擦除间隔延长预设时间段,使用寿命可以被恢复的程度。
如果在步骤S60中确定载荷集中程度超过均化阈值,则替换-源块选择器33执行替换-源块选择处理(步骤S61)。通过替换-源块选择处理选择的替换-源块的信息(替换-源块信息)被提供给均化确定单元35A。然后,替换-目的块选择器34执行替换-目的块选择处理(步骤S62)。通过替换-目的块选择处理选择的替换-目的块的信息(替换-目的块信息)被提供给均化确定单元35A。
然后,块控制器30和载荷集中程度管理单元36执行块释放处理,以便释放通过替换-源块选择器33选择的替换-源块(步骤S63)。块释放处理与图7中的相同。接下来,块控制器30和载荷集中程度管理单元36执行块分配处理,以便将通过替换-目的块选择器34选择的替换-目的块分配为替换-源块的数据被移动到的块(步骤S64)。块分配处理与图10中的相同。
在此之后,NAND控制器11读取包含在NAND闪速存储器10中的替换-源块的数据(步骤S65)。具体地,均化确定单元35A通过使用从替换-源块选择器33提供的替换-源块信息,向NAND接口电路25发出读请求。基于该读请求,NAND接口电路25通知NAND闪速存储器10:数据被从替换-源块读取。由此读取的数据被临时存储在RAM 24等中。
然后,NAND控制器11擦除包含在NAND闪速存储器10中的替换-目的块的数据(步骤S66)。具体地,均化确定单元35A通过使用从替换-目的块选择器34提供的替换-目的块信息,向NAND接口电路25发出擦除请求。基于该擦除请求,NAND接口电路25通知NAND闪速存储器10:替换-目的块的数据被擦除。此时,替换-目的块的擦除计数和擦除时间被块控制器30更新(见图11)。
接下来,NAND控制器11将从替换-源块读取的数据写入包含在NAND闪速存储器10中的替换-目的块(步骤S67)。具体地,均化确定单元35A通过使用替换-目的块信息向NAND接口电路25发出写请求。基于该写请求,NAND接口电路25通知NAND闪速存储器10:数据被写入替换-目的块。
【2-5-1.替换-源块选择处理】
图14是示出替换-源块选择器33的配置的框图。图15是用于示例性说明替换-源块选择器33的替换-源块选择处理的流程图。
替换-源块选择器33具有33A至33C三个选择器,以及存储替换-源块设置值的存储单元33D。替换-源块选择器33接收来自块控制器30的全部块信息(步骤S70)。全部块信息被提供给选择器33A。然后,选择器33A确认所有块的状态,并从所有块中提取被设置为使用中状态的块(步骤S71)。此后,选择器33A将对应于被设置为使用中状态的块的块信息(使用中状态块信息)提供给选择器33B。
接下来,选择器33B通过根据替换-源块设置值设置的条件从使用中状态块信息中提取块信息(步骤S72)。对于替换-源块设置值,以下条件中的一个被设置。
(A)从具有最老擦除时间的块开始的预设数量的块
(B)从具有最老擦除时间的块开始的预设比例的块
(C)擦除时间比预设时间老的块
可以随意选择被用作替换-源块设置值的条件(A)至(C)中的一个。例如,如果条件(A)被用作替换-源块设置值,则选择器33B从被设置为使用中状态的块中从具有最老擦除时间的块开始提取预设数量的块。然后,选择器33B将对应于已提取块的块信息发送到选择器33C。
在条件(A)和(B)中,按照擦除时间的顺序拣选被设置为空闲状态的块,并且从具有最老擦除时间的块开始的预设数量或预设比例的块被搜索。因此,由于可以增加在步骤S72中选择的块的数量,因此具有较小擦除计数的块在步骤S73中被选择的概率被增大。在条件(C)中,由于仅对那些被设置为空闲状态并且擦除时间超过预设时间的块进行拣选就足够,所以处理载荷变得最小。在条件(A)和(B)中,总是提取从具有最老擦除时间的块开始的预设数量或预设比例的块,在条件(C)中,提取擦除时间被通过预设时间段或更长而隔开的块。因此,在条件(C)中,擦除间隔总是可以被设置为比预设间隔长,并且因此,可减少擦除计数的比较候选的数量。
接下来,选择器33C在由选择器33B提取的块中选择最小擦除计数的块作为替换-源块(步骤S73)。对应于替换-源块的替换-源块信息被提供给均化确定单元35A。
通过以上替换-源块选择处理,存储不被频繁重写的数据的具有出色保持特性的块可被选择为替换-源块。
【2-5-2.替换-目的块选择处理】
图16是示出替换-目的块选择器34的配置的框图。图17是用于示例性说明替换-目的块选择器34的替换-目的块选择处理的流程图。
替换-目的块选择器34具有34A至34C三个选择器,以及存储替换-目的块设置值的存储单元34D。替换-目的块选择器34接收来自块控制器30的全部块信息(步骤S80)。全部块信息被提供给选择器34A。然后,选择器34A确认所有块的状态,并在所有块中提取被设置为空闲状态的块(步骤S81)。此后,选择器34A将对应于被设置为空闲状态的块的块信息(空闲状态块信息)提供给选择器34B。
接下来,选择器34B通过根据替换-目的块设置值设置的条件从空闲状态块信息中提取块信息(步骤S82)。对于替换-目的块设置值,以下条件中的一个被设置。
(A)从具有最老擦除时间的块开始的预设数量的块
(B)从具有最老擦除时间的块开始的预设比例的块
(C)擦除时间比预设时间老的块
可以随意地选择被用作替换-目的块设置值的条件(A)至(C)中的一个。例如,如果条件(A)被用作替换-目的块设置值,则选择器34B从被设置为空闲状态的块中从具有最老擦除时间的块开始提取预设数量的块。然后,选择器34B将对应于已提取块的块信息发送到选择器34C。
在条件(A)和(B)中,按照擦除时间的顺序拣选被设置为空闲状态的块,并从最老块开始的预设数量或预设比例的块被搜索。因此,由于可以使在步骤S82中选择的块的数量较大,因此具有较小擦除计数的块在步骤S83中被选择的概率可以被增大。在条件(C)中,由于仅对那些被设置为空闲状态擦除时间超过预设时间的块进行拣选就足够,所以处理载荷变得最小。在条件(A)和(B)中,总是提取从具有最老擦除时间的块开始的预设数量或预设比例的块,在条件(C)中,提取擦除时间被预设时间段或更长隔开的块。因此,在条件(C)中,擦除间隔总是可以被设置为比预设间隔长,因此,擦除计数的比较候选的数量可以被减少。
接下来,选择器34C在由选择器34B提取的块中选择最大擦除计数的块作为替换-目的块(步骤S83)。对应于替换-目的块的替换-目的块信息被提供给均化确定单元35A。
通过以上替换-目的块选择处理,保持特性被降级到一定程度的被设置为空闲状态的块可被选择为替换-目的块。此后,已被存储在替换-源块中并且不被频繁重写的数据被存储在替换-目的块中。作为结果,对于替换-目的块,数据擦除计数可以被减小,并且保持特性可以被恢复。
如以上描述的,根据本实施例,每个块被擦除的时间被测量,并且,块以及以对应关系被设置的其擦除时间被存储在块表30B中。然后,当从外部提供的数据被写入NAND闪速存储器10时,被设置为空闲状态的块中对应于最老擦除时间的块被选择为分配块,以及,以上数据被写入该分配块中。
因此,根据本实施例,由于对于每个块可以设置长的擦除间隔,所以可以通过使用保持特性可以通过设置长擦除间隔来恢复的存储器基元晶体管的特性,来抑制每个块的保持特性的降级。因此,NAND存储器10的使用寿命可以被延长。
此外,在本实施例中,NAND闪速存储器10的保持特性的降级由载荷集中程度管理单元36制定为载荷集中程度,并且如果载荷集中程度超过均化阈值,则均化处理被执行。由此,均化处理的数量可以被设置为不频繁执行均化处理的最优值,并且可以使各个块的擦除计数近似统一。因此,可以防止通过增加一部分块的擦除计数而缩短NAND闪速存储器10的整体部分的使用寿命。
此外,替换-源块选择处理将数据不被频繁重写的块选择为替换-源块,以及,保持特性被降级到一定程度的块被替换-目的块选择处理选择为替换-目的块。然后,已被存储在替换-源块中并且不被频繁重写的数据被移动到替换-目的块。由此,可以通过执行均化处理来释放那些曾经被写、在长时间段内被保持已分配且不被释放的块。因此,此后对于替换-目的块执行的数据擦除处理的数量可以被减少,并且替换-目的块的保持特性的降级可以被抑制。
在多级数据记录系统被应用的情况下,需要对存储基元的晶体管MT的阈值分布的精细控制。因此,防止保持特性的降级是有利的。
【第二实施例】
本发明的第二实施例示出了由分配块选择器32进行的分配块选择处理的另一示例。当分配块被选择时,擦除时间老且擦除计数小的块被选为分配块。
图18是示出分配块选择器32的配置的框图。图19是用于示例性说明分配块选择器32的分配块选择处理的流程图。除了分配块选择器32之外NAND控制器11的配置与第一实施例中的相同。
分配块选择器32具有32A至32C三个选择器,以及存储分配块设置值的存储单元32D。分配块选择器32接收来自块控制器30的全部块信息(步骤S90)。全部块信息被提供给选择器32A。然后,选择器32A确认所有块的状态,并从所有块中提取被设置为空闲状态的块(步骤S91)。此后,选择器32A将对应于被设置为空闲状态的块的块信息(空闲状态块信息)提供给选择器32B。
接下来,选择器32B通过由分配块设置值设置的条件从空闲状态块信息中提取块信息(步骤S92)。对于分配块设置值,以下条件中的一个被设置。
(A)从具有最老擦除时间的块开始的预设数量的块
(B)从具有最老擦除时间的块开始的预设比例的块
(C)擦除时间比预设时间老的块
可以随意选择被用作分配块设置值的条件(A)至(C)中的一个。例如,如果条件(A)被用作分配块设置值,则选择器32B从被设置为空闲状态的块中从具有最老擦除时间的块开始提取预设数量的块。然后,选择器32B将对应于已提取块的块信息发送到选择器32C。
在条件(A)和(B)中,被设置为空闲状态的块被按照擦除时间的顺序拣选,并且从最老块开始的预设数量或预设比例的块被搜索。因此,由于在步骤S92中选择的块的数量可以被增大,所以具有较小擦除计数的块在步骤S93中被选择的概率被增大。在条件(C)中,由于仅对被设置为空闲状态其中擦除时间超过预设时间的块进行拣选就足够,所以处理载荷变得最小。在条件(A)和(B)中,总是提取从具有最老擦除时间的块开始的预设数量或预设比例的块,在条件(C)中,擦除时间被预设时间段或更长隔开的块被提取。因此,在条件(C)中,擦除间隔总是可以被设置为比预设间隔长,以及因此,擦除计数的比较候选的数量可以被减少。
接下来,选择器32C从由选择器32B提取的块中选择具有最小擦除计数的块作为分配块(步骤S93)。对应于分配块的分配块号码被提供给块控制器30。
如以上详细描述的,根据本实施例,当从外部提供的数据被写入到的分配块被选择时,在被设置为空闲状态的块中擦除时间老且擦除计数小的块可被选作分配块,因此,来自外部的数据可以被写入具有更优选保持特性的块,以及因此,NAND闪速存储器10的使用寿命可以被延长。
【第三实施例】
通过执行均化处理可以使包含在NAND闪速存储器10中的所有块的擦除计数近似统一。然而,如果均化处理被过于频繁地执行,则由于由均化处理导致的擦除处理频繁发生,所以出现NAND闪速存储器10的使用寿命可能被阻止延长的可能。因此,在本实施例中,即使在载荷集中程度超过均化阈值时,均化处理的数量也被限制。
图20是示出根据本发明的第三实施例的均化单元35的配置的框图。
均化单元35包括载荷集中程度管理单元36、均化确定单元35A、存储均化阈值的存储单元35B和均化限制单元37。载荷集中程度管理单元36的配置与第一实施例中的相同。
均化限制单元37接收来自载荷集中程度管理单元36的载荷集中程度。然后,其基于载荷集中程度生成用于限制均化处理数量的逻辑值。该逻辑值被提供给均化确定单元35A。当载荷集中程度超过均化阈值且来自均化限制单元37的逻辑值为真时,均化确定单元35A执行均化处理。
图21是示出均化限制单元37的配置的框图。均化限制单元37包括随机数阈值表37A、随机数生成单元37B和随机数确定单元37C。
随机数阈值表37A示出多个载荷集中程度和与其对应的多个随机数阈值之间的对应关系。随机数阈值表37A将与从载荷集中程度管理单元36提供的载荷集中程度对应的随机数发送到随机数确定单元37C。可以根据随机阈值随意设置均化处理的数量被限制的程度。例如,在载荷集中程度高(也就是说,擦除处理被以短间隔接连地执行)的应用状态下,做出通过设置大的随机阈值来不过度地限制均化处理的数量的尝试。另一方面,在载荷集中程度低(也就是说,擦除间隔长)的应用状态下,通过设置小的随机阈值来较大程度地限制均化处理的数量。
随机数生成单元37B生成随机数。随机数被提供给随机数确定单元37C。随机数确定单元37C确定该随机数是否小于随机数阈值。然后,当随机数小于随机数阈值时,随机数确定单元37C生成真逻辑值,当随机数大于或等于随机数阈值时生成假逻辑值。所述逻辑值被提供给均化确定单元35A。
接下来,具有以上配置的NAND控制器11的均化处理被阐述。图22是用于示例性说明NAND控制器11的均化处理的流程图。
首先,均化确定单元35A确定从载荷集中程度管理单元36提供的载荷集中程度是否超过均化阈值(步骤S60)。如果确定超过了均化阈值,则均化限制单元37执行随机数确定处理(步骤S100)。
图23是用于示例性说明均化限制单元37的随机数确定处理的流程图。首先,随机数生成单元37B生成随机数(步骤S101)。然后,均化限制单元37通过使用随机数阈值表37A,来计算对应于从载荷集中程度管理单元36提供的载荷集中程度的随机数阈值(步骤S102)。
接下来,随机数确定单元37C确定随机数是否小于随机数阈值(步骤S103)。然后,当随机数小于随机数阈值时,随机数确定单元37C输出真逻辑值(步骤S104)。另一方面,当随机数大于或等于随机数阈值时,随机数确定单元37C输出假逻辑值(步骤S105)。
再次参考图22,均化确定单元35A确定从随机数确定单元37C输出的逻辑值(步骤S106)。然后,当所述逻辑值为真时,均化确定单元35A执行均化处理(在第一实施例中示出的步骤S61至S67)。此外,当所述逻辑值为假时,均化确定单元35A中断均化处理。
如以上描述的,根据本实施例,即便在载荷集中程度超过均化阈值时,均化处理的数量也可以被限制。由此,可以防止增加由于由均化处理导致的擦除处理的数量,NAND闪速存储器10的使用寿命可以被延长。
此外,可以使包含在NAND闪速存储器10中的所有块的擦除计数近似统一,以及,均化处理的数量可以被设置为最优值。
【第四实施例】
本发明的第四实施例在确定均化处理是否被执行的方法上不同于第一实施例,并且示出了在替换-源块的擦除计数与替换-目的块的擦除计数之间的差超过均化阈值时,均化处理被执行的示例。
图24是示出根据本发明的第四实施例的NAND控制器11的配置的框图。基本上,NAND控制器11与第一实施例中在图4示出的相同。NAND控制器11在以下方面不同于第一实施例:均化单元35的内部部分,以及,从块控制器30提供给均化单元35的已释放块信息和分配块信息被忽略(未被使用)。
图25是示出均化单元35的配置的框图。均化单元35包括均化确定单元35A,和存储均化阈值的存储单元35B。均化确定单元35A接收从替换-源块选择器33提供的替换-源块信息和从替换-目的块选择器34提供的替换-目的块信息。然后,均化确定单元35A计算包含在替换-源块信息中的擦除计数与包含在替换-目的块信息中的擦除计数之间的差,并且通过使用上述差和均化阈值来确定在当前写操作时是否执行均化处理。如果均化处理被执行,则均化确定单元35A向NAND接口电路25发出读请求、擦除请求和写请求。
图26是用于示例性说明NAND控制器11的均化处理的流程图。首先,替换-源块选择器33执行替换-源块选择处理(步骤S110)。由替换-源块选择处理选择的替换-源块的信息(替换-源块信息)被提供给均化确定单元35A。然后,替换-目的块选择器34执行替换-目的块选择处理(步骤S111)。由替换-目的块选择处理选择的替换-目的块的信息(替换-目的块信息)被提供给均化确定单元35A。在该情况下,替换-源块选择处理和替换-目的块选择处理与第一实施例中的相同。
接下来,均化确定单元35A计算包含在替换-源块信息中的擦除计数与包含在替换-目的块信息中的擦除计数之间的差(步骤S112)。然后,均化确定单元35A确定所计算的差是否超过均化阈值(步骤S113)。均化阈值被用于确定是否执行均化处理,并且基于关于NAND闪速存储器10的使用寿命(或数据保持时间段)被延长的程度的准则来设置所述均化阈值。
如果确定超过均化阈值,则块控制器30执行释放由替换-源块选择器33选择的替换-源块的块释放处理(步骤S63)。块释放处理与第一实施例中的相同。此后,与第一实施例中图13的情况相似,NAND控制器11执行步骤S64至S67的操作。
如果在步骤S113中确定未超过均化阈值,则均化单元35中断均化处理。
如以上描述的,根据本实施例,可以检测块之间的擦除计数的不均衡,并且可以通过执行均化处理来校正该不均衡。由此,由于可以使块的擦除计数彼此近似相等,所以NAND闪速存储器10的使用寿命可以被延长。
第三实施例中所示的均化限制单元37可以被应用于第四实施例。
【实施例】
阐述了通过将以上每个实施例的存储器系统1配置为固态驱动器(SSD)而获得的实施例。图27是示出SSD 100的配置的框图。
SSD 100包括多个用于数据存储的NAND闪速存储器(NAND存储器)10、用于数据传输或用于工作区域的DRAM 101、控制以上单元的驱动器控制电路102和电源电路103。驱动器控制电路102输出控制信号以控制在SSD 100外部提供的状态显示LED。
SSD 100经由ATA接口(ATA I/F)传输关于例如个人计算机的主机设备的数据。此外,SSD 100经由RS232C接口(RS232C I/F)传输关于调试设备的数据。
电源电路103被供应外部电源电压,并且利用外部电源电压生成多个内部电源电压。内部电源电压被提供给SSD 100的各个单元。此外,电源电路103检测外部电源电压的上升或下降,并生成加电复位信号或断电复位信号。加电复位信号和断电复位信号被提供给驱动器控制电路102。
图28是示出驱动器控制电路102的配置的框图。驱动器控制电路102包括数据访问总线104、第一电路控制总线105和第二电路控制总线106。
控制驱动器控制电路102的整体部分的处理器107连接到第一电路控制总线105。此外,存储管理程序的引导程序(FW:固件)的引导ROM108经由ROM控制器109连接到第一电路控制总线105。同样,接收来自电源电路103的加电/断电复位信号并将复位信号和时钟信号提供给各个单元的时钟控制器109连接到第一电路控制总线105。
第二电路控制总线106连接到第一电路控制总线105。为状态显示LED提供状态显示信号的并行IO(PIO)电路111、以及控制RS232C接口的串行IO(SIO)电路112连接到第二电路控制总线106。
ATA接口控制器(ATA控制器)113、第一错误检查和校正(ECC)电路114、NAND控制器115和DRAM控制器119连接到数据访问总线104和第一电路控制总线105这两者。ATA控制器113经由ATA接口传输关于主机设备的数据。被用作数据工作区域的SRAM 120经由SRAM控制器121连接到数据访问总线104。
NAND控制器115包括执行关于四个NAND存储器10的接口处理的NAND I/F 118、第二ECC电路117和执行NAND存储器与DRAM之间的访问控制的DMA传输控制DMA控制器116。
图29是示出处理器107的配置的框图。处理器107包括数据管理单元122、ATA命令处理单元123、安全管理单元124、引导加载器125、初始化管理单元126和调试支持单元127。
数据管理单元122控制关联于NAND芯片的各种功能以及经由NAND控制器115和第一ECC电路114的NAND存储器与DRAM之间的数据传输。
ATA命令处理单元123经由ATA控制器113和DRAM控制器119协同数据管理单元122执行数据传输处理。安全管理单元124协同数据管理单元122和ATA命令处理单元123来管理各种安全信息。引导加载器125在加电时将各种管理程序(FW)从NAND存储器10加载到SRAM120中。
初始化管理单元126初始化驱动器控制电路102中的各种控制器/电路。调试支持单元127处理经由RS232C接口从外部提供的调试数据。
图30是示出安装有SSD 100的便携式计算机200的一个示例的透视图。便携式计算机200具有主体201和显示单元202。显示单元202包括显示外壳203和容纳在显示外壳203中的显示设备204。
主体203包括罩壳205、键盘206和用作指示设备的触摸板207。在罩壳205中容纳主电路板、光盘设备(ODD)单元、卡槽、SSD 100等。
临近罩壳205的外围壁来提供卡槽。在外围壁中,形成面对卡槽的开口208。用户可以经由开口208可移除地将附加设备从罩壳205的外部插入卡槽中。
SSD 100可以被安装在便携式计算机200的内部部分并且代替常规HDD来使用,或者被插入便携式计算机200的卡槽中并用作附加设备。
图31示出了使用SSD 100的便携式计算机200的系统配置的示例。便携式计算机200包括CPU 301、北桥302、主存储器303、视频控制器304、音频控制器305、南桥306、BIOS-ROM 307、SSD 100、ODD单元308、嵌入式控制器/键盘控制器IC(EC/KBC)309、网络控制器310等。
CPU 301是用于控制便携式计算机200的运转的处理器,并执行从SSD 100加载到主存储器303中的操作系统(OS)。当ODD单元308使得能够对已加载的光盘执行读处理和写处理中的至少一个时,CPU 301执行该处理。
CPU 301还执行存储在BIOS-ROM 307中的系统BIOS(基本输入输出系统)。系统BIOS是用于控制便携式计算机200的硬件部件的程序。
北桥302是用于连接CPU 301的本地总线和南桥306的桥设备。南桥302合并了用于控制对主存储器303的访问的存储器控制器。
北桥302具有经由AGP总线(图形加速端口总线)执行与视频控制器304和音频控制器305的通信的功能。
主存储器303临时存储程序和数据并充当CPU 301的工作区域。主存储器303例如由DRAM构成。
视频控制器304是用于控制显示单元(LCD)202的视频再现控制器。显示单元202被用作便携式计算机200的显示监视器。
音频控制器305是用于控制便携式计算机200的扬声器311的音频再现控制器。
南桥306控制LPC(低管脚数,Low Pin Count)总线上的设备和PCI(外围部件互连)总线上的设备。南桥306还通过ATA接口控制SSD 100。SSD 100是用于存储各种软件和数据的存储单元。
便携式计算机200以扇区为单位访问SSD 100。通过ATA接口将写命令、读命令、闪速命令等提供给SSD 100。
南桥306具有控制对BIOS-ROM 307和ODD单元308的访问的功能。
EC/KBC 309是单片(1-chip)微算计机,其中嵌入有用于执行电源管理的嵌入式控制器,以及用于控制键盘(KB)206和触摸板207的键盘控制器。
EC/KBC 309具有根据用户对电源按钮312的操作打开或关闭便携式计算机200的功能。网络控制器310是执行与例如互联网的外部网络的通信的通信单元。
以上实施例的存储器系统1不限于SSD,并且可被配置为由SD(商标)卡代表的存储卡。当存储器系统1被配置为存储卡时,其不仅可以被应用于便携式计算机,还可应用于其它各种电子设备,例如便携式电话、PDS、数码照相机和数码摄像机。
另外的优点和修改对于本领域技术人员将是显而易见的。因此,本发明在其较宽泛的方面不限于这里示出和描述的特定细节和代表性实施例。相应地,可以作出各种修改,而不脱离由所附权利要求及其等价方式限定的一般发明概念的精神和范围。

Claims (24)

1.一种存储器系统,包括:
非易失性存储器,包括作为数据擦除单元的多个块;
测量单元,其测量每个块的数据被擦除的擦除时间;
块控制器,其具有块表,所述块表指示对于每个块的状态值与擦除时间之间的对应关系,其中所述状态值指示空闲状态和使用中状态中的一个;
第一选择器,其基于所述块表的信息,在从擦除时间最老的块开始的被设置为使用中状态的预设数量的块中选择擦除计数最小的第一个块;
第二选择器,其基于所述块表的信息,在从擦除时间最老的块开始的被设置为空闲状态的预设数量的块中,选择擦除计数最大的第二个块;以及
均化单元,其计算所述第一个块与所述第二个块的擦除计数之间的差,并在所述差超过阈值时将所述第一个块的数据移动到所述第二个块中。
2.根据权利要求1所述的系统,其中
所述测量单元包括第一计数器,该第一计数器计数在所有块中执行的擦除次数的数量,以及
所述擦除时间对应于所述第一计数器的计数。
3.根据权利要求1所述的存储器系统,其中
所述测量单元测量每个块中的数据被擦除的时间,以及
所述擦除时间对应于该时间。
4.根据权利要求1所述的存储器系统,其中
所述测量单元测量每个块中的数据被擦除时所述存储器系统的电源时间,以及
所述擦除时间对应于该电源时间。
5.根据权利要求1所述的存储器系统,还包括管理单元,所述管理单元管理与关于所述非易失性存储器的擦除间隔对应的载荷大小,并生成指示所述载荷大小的载荷集中程度;
其中当所述载荷集中程度超过阈值时,所述均化单元将所述第一个块的数据移动到所述第二个块中。
6.根据权利要求5所述的存储器系统,其中
所述管理单元包括:增加值表,其指示多个擦除时间和对应于各个擦除时间而设置的增加值;以及第二计数器,每当块被从空闲状态更新为使用中状态时,其增加对应于该块的擦除时间的增加值,
所述载荷集中程度对应于所述第二计数器的计数值,以及
每当块被从使用中状态更新为空闲状态时,所述第二计数器增加对应于该块的擦除时间的增加值。
7.根据权利要求5所述的存储器系统,还包括均化限制单元,所述均化限制单元基于所述载荷集中程度,限制所述均化单元进行的均化处理的数量,并生成指示均化处理是否被执行的逻辑值,
其中所述均化单元基于所述逻辑值确定是否执行所述均化处理。
8.根据权利要求7所述的存储器系统,其中所述均化限制单元包括:
随机数生成单元,其生成随机数;以及
随机数确定单元,其确定所述随机数是否小于限制阈值,以及基于确定结果生成所述逻辑值。
9.一种存储器系统,包括:
非易失性存储器,包括作为数据擦除单元的多个块;
测量单元,其测量每个块的数据被擦除的擦除时间;
块控制器,其具有块表,所述块表指示对于每个块的状态值与擦除时间之间的对应关系,其中所述状态值指示空闲状态和使用中状态中的一个;
第一选择器,其基于所述块表的信息,在从擦除时间最老的块开始的被设置为使用中状态的预设比例的块中选择擦除计数最小的第一个块;
第二选择器,其基于所述块表的信息,在从擦除时间最老的块开始的被设置为空闲状态的预设比例的块中,选择擦除计数最大的第二个块;以及
均化单元,其计算所述第一个块与所述第二个块的擦除计数之间的差,并在所述差超过阈值时将所述第一个块的数据移动到所述第二个块中。
10.根据权利要求9所述的系统,其中
所述测量单元包括第一计数器,该第一计数器计数在所有块中执行的擦除次数的数量,以及
所述擦除时间对应于所述第一计数器的计数。
11.根据权利要求9所述的存储器系统,其中
所述测量单元测量每个块中的数据被擦除的时间,以及
所述擦除时间对应于该时间。
12.根据权利要求9所述的存储器系统,其中
所述测量单元测量每个块中的数据被擦除时所述存储器系统的电源时间,以及
所述擦除时间对应于该电源时间。
13.根据权利要求9所述的存储器系统,还包括管理单元,所述管理单元管理与关于所述非易失性存储器的擦除间隔对应的载荷大小,并生成指示所述载荷大小的载荷集中程度;
其中当所述载荷集中程度超过阈值时,所述均化单元将所述第一个块的数据移动到所述第二个块中。
14.根据权利要求13所述的存储器系统,其中
所述管理单元包括:增加值表,其指示多个擦除时间和对应于各个擦除时间而设置的增加值;以及第二计数器,每当块被从空闲状态更新为使用中状态时,其增加对应于该块的擦除时间的增加值,
所述载荷集中程度对应于所述第二计数器的计数值,以及
每当块被从使用中状态更新为空闲状态时,所述第二计数器增加对应于该块的擦除时间的增加值。
15.根据权利要求13所述的存储器系统,还包括均化限制单元,所述均化限制单元基于所述载荷集中程度,限制所述均化单元进行的均化处理的数量,并生成指示均化处理是否被执行的逻辑值,
其中所述均化单元基于所述逻辑值确定是否执行所述均化处理。
16.根据权利要求15所述的存储器系统,其中所述均化限制单元包括:
随机数生成单元,其生成随机数;以及
随机数确定单元,其确定所述随机数是否小于限制阈值,以及基于确定结果生成所述逻辑值。
17.一种存储器系统,包括:
非易失性存储器,包括作为数据擦除单元的多个块;
测量单元,其测量每个块的数据被擦除的擦除时间;
块控制器,其具有块表,所述块表指示对于每个块的状态值与擦除时间之间的对应关系,其中所述状态值指示空闲状态和使用中状态中的一个;
第一选择器,其基于所述块表的信息,在被设置为使用中状态且擦除时间比预设时间老的块中选择擦除计数最小的第一个块;
第二选择器,其基于所述块表的信息,在被设置为空闲状态且擦除时间比预设时间老的块中选择擦除计数最大的第二个块;以及
均化单元,其计算所述第一个块和所述第二个块的擦除计数之间的差,并且在所述差超过阈值时,将所述第一个块的数据移动到所述第二个块中。
18.根据权利要求17所述的系统,其中
所述测量单元包括第一计数器,该第一计数器计数在所有块中执行的擦除次数的数量,以及
所述擦除时间对应于所述第一计数器的计数。
19.根据权利要求17所述的存储器系统,其中
所述测量单元测量每个块中的数据被擦除的时间,以及
所述擦除时间对应于该时间。
20.根据权利要求17所述的存储器系统,其中
所述测量单元测量每个块中的数据被擦除时所述存储器系统的电源时间,以及
所述擦除时间对应于该电源时间。
21.根据权利要求17所述的存储器系统,还包括管理单元,所述管理单元管理与关于所述非易失性存储器的擦除间隔对应的载荷大小,并生成指示所述载荷大小的载荷集中程度;
其中当所述载荷集中程度超过阈值时,所述均化单元将所述第一个块的数据移动到所述第二个块中。
22.根据权利要求21所述的存储器系统,其中
所述管理单元包括:增加值表,其指示多个擦除时间和对应于各个擦除时间而设置的增加值;以及第二计数器,每当块被从空闲状态更新为使用中状态时,其增加对应于该块的擦除时间的增加值,
所述载荷集中程度对应于所述第二计数器的计数值,以及
每当块被从使用中状态更新为空闲状态时,所述第二计数器增加对应于该块的擦除时间的增加值。
23.根据权利要求21所述的存储器系统,还包括均化限制单元,所述均化限制单元基于所述载荷集中程度,限制所述均化单元进行的均化处理的数量,并生成指示均化处理是否被执行的逻辑值,
其中所述均化单元基于所述逻辑值确定是否执行所述均化处理。
24.根据权利要求23所述的存储器系统,其中所述均化限制单元包括:
随机数生成单元,其生成随机数;以及
随机数确定单元,其确定所述随机数是否小于限制阈值,以及基于确定结果生成所述逻辑值。
CN201510043409.6A 2007-12-28 2008-09-08 存储器系统 Active CN104657280B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007-339946 2007-12-28
JP2007339946A JP4461170B2 (ja) 2007-12-28 2007-12-28 メモリシステム
CN200880006535.2A CN101622608B (zh) 2007-12-28 2008-09-08 存储器系统

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN200880006535.2A Division CN101622608B (zh) 2007-12-28 2008-09-08 存储器系统

Publications (2)

Publication Number Publication Date
CN104657280A CN104657280A (zh) 2015-05-27
CN104657280B true CN104657280B (zh) 2018-01-02

Family

ID=40824014

Family Applications (2)

Application Number Title Priority Date Filing Date
CN200880006535.2A Active CN101622608B (zh) 2007-12-28 2008-09-08 存储器系统
CN201510043409.6A Active CN104657280B (zh) 2007-12-28 2008-09-08 存储器系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN200880006535.2A Active CN101622608B (zh) 2007-12-28 2008-09-08 存储器系统

Country Status (7)

Country Link
US (10) US8015347B2 (zh)
EP (2) EP2990954B1 (zh)
JP (1) JP4461170B2 (zh)
KR (1) KR100984829B1 (zh)
CN (2) CN101622608B (zh)
TW (1) TWI400613B (zh)
WO (1) WO2009084286A1 (zh)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7804718B2 (en) * 2007-03-07 2010-09-28 Mosaid Technologies Incorporated Partial block erase architecture for flash memory
JP4439569B2 (ja) * 2008-04-24 2010-03-24 株式会社東芝 メモリシステム
US8001318B1 (en) * 2008-10-28 2011-08-16 Netapp, Inc. Wear leveling for low-wear areas of low-latency random read memory
JP2010157130A (ja) 2008-12-27 2010-07-15 Toshiba Corp メモリシステム
JP5221332B2 (ja) * 2008-12-27 2013-06-26 株式会社東芝 メモリシステム
JP5317690B2 (ja) * 2008-12-27 2013-10-16 株式会社東芝 メモリシステム
KR101269366B1 (ko) 2009-02-12 2013-05-29 가부시끼가이샤 도시바 메모리 시스템 및 메모리 시스템의 제어 방법
JP5268710B2 (ja) * 2009-02-27 2013-08-21 株式会社東芝 半導体記憶装置
US8402242B2 (en) * 2009-07-29 2013-03-19 International Business Machines Corporation Write-erase endurance lifetime of memory storage devices
JP2011128998A (ja) 2009-12-18 2011-06-30 Toshiba Corp 半導体記憶装置
JP2011159364A (ja) * 2010-02-02 2011-08-18 Toshiba Corp 不揮発性半導体記憶装置および不揮発性半導体記憶装置の駆動方法
JP2010108522A (ja) * 2010-02-02 2010-05-13 Toshiba Corp メモリシステムの制御方法
JP5404483B2 (ja) * 2010-03-17 2014-01-29 株式会社東芝 メモリシステム
JP5066209B2 (ja) 2010-03-18 2012-11-07 株式会社東芝 コントローラ、データ記憶装置、及びプログラム
CN102222044B (zh) * 2010-04-16 2015-09-02 慧荣科技股份有限公司 存储器的数据写入方法及数据储存装置
JP2012008651A (ja) 2010-06-22 2012-01-12 Toshiba Corp 半導体記憶装置、その制御方法および情報処理装置
JP2012128643A (ja) 2010-12-15 2012-07-05 Toshiba Corp メモリシステム
JP2012128645A (ja) 2010-12-15 2012-07-05 Toshiba Corp メモリシステム
JP5535128B2 (ja) 2010-12-16 2014-07-02 株式会社東芝 メモリシステム
JP2012155806A (ja) 2011-01-28 2012-08-16 Toshiba Corp 不揮発性半導体記憶装置
JP5722685B2 (ja) * 2011-04-12 2015-05-27 株式会社日立製作所 半導体装置、不揮発性メモリ装置の制御方法
US8924636B2 (en) 2012-02-23 2014-12-30 Kabushiki Kaisha Toshiba Management information generating method, logical block constructing method, and semiconductor memory device
US9251055B2 (en) 2012-02-23 2016-02-02 Kabushiki Kaisha Toshiba Memory system and control method of memory system
JP5768022B2 (ja) * 2012-03-19 2015-08-26 株式会社東芝 メモリコントローラ、記憶装置、誤り訂正装置および誤り訂正方法
US9361201B2 (en) * 2012-08-07 2016-06-07 Kabushiki Kaisha Toshiba Memory system and memory controller
US9483397B2 (en) * 2013-07-16 2016-11-01 Intel Corporation Erase management in memory systems
WO2015042778A1 (zh) 2013-09-24 2015-04-02 华为技术有限公司 数据迁移方法、数据迁移装置和存储设备
TWI548991B (zh) * 2014-02-14 2016-09-11 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
KR102285462B1 (ko) * 2014-03-26 2021-08-05 삼성전자주식회사 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 메모리 시스템의 동작 방법
CN104217760A (zh) * 2014-08-26 2014-12-17 上海华虹宏力半导体制造有限公司 闪存的配置方法
KR20160059050A (ko) * 2014-11-17 2016-05-26 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US9417961B2 (en) * 2014-11-18 2016-08-16 HGST Netherlands B.V. Resource allocation and deallocation for power management in devices
KR102211868B1 (ko) * 2014-12-15 2021-02-04 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR102282952B1 (ko) 2014-12-15 2021-07-30 삼성전자주식회사 스토리지 장치의 동작 방법
US9785556B2 (en) * 2014-12-23 2017-10-10 Intel Corporation Cross-die interface snoop or global observation message ordering
US10019179B2 (en) 2015-10-16 2018-07-10 Toshiba Memory Corporation Memory device that writes data into a block based on time passage since erasure of data from the block
CN105373350A (zh) * 2015-11-23 2016-03-02 联想(北京)有限公司 一种数据管理方法及装置
KR20170075835A (ko) * 2015-12-23 2017-07-04 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
JP6444917B2 (ja) * 2016-03-08 2018-12-26 東芝メモリ株式会社 ストレージシステム、情報処理システムおよび制御方法
CN105892946A (zh) * 2016-03-30 2016-08-24 联想(北京)有限公司 一种数据存储方法及电子设备
CN107301015B (zh) * 2016-04-15 2022-05-13 恩智浦美国有限公司 用于减少存储器设备上的压力的系统和方法
KR102618699B1 (ko) 2016-09-28 2024-01-02 삼성전자주식회사 호스트에 의해 제어되는 스토리지 장치를 포함하는 컴퓨팅 시스템
KR20190072306A (ko) * 2017-12-15 2019-06-25 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR102559549B1 (ko) * 2018-09-12 2023-07-26 에스케이하이닉스 주식회사 메모리 시스템에서의 블록 상태를 관리하는 방법 및 장치
US11100222B2 (en) * 2018-11-05 2021-08-24 Nxp B.V. Method for hardening a machine learning model against extraction
KR20200110547A (ko) 2019-03-14 2020-09-24 삼성전자주식회사 스토리지 장치 및 스토리지 장치를 포함하는 컴퓨팅 장치
TWI718516B (zh) * 2019-04-01 2021-02-11 慧榮科技股份有限公司 用於快閃記憶體中保護已抹除區塊的寫入管理機制
US20200409601A1 (en) * 2019-06-28 2020-12-31 Western Digital Technologies, Inc. Hold of Write Commands in Zoned Namespaces
US11481119B2 (en) * 2019-07-15 2022-10-25 Micron Technology, Inc. Limiting hot-cold swap wear leveling
KR20210044564A (ko) 2019-10-15 2021-04-23 삼성전자주식회사 스토리지 장치 및 그것의 가비지 컬렉션 방법
JP2022016899A (ja) 2020-07-13 2022-01-25 キオクシア株式会社 メモリシステム及び情報処理システム
KR20220124318A (ko) * 2021-03-02 2022-09-14 삼성전자주식회사 쓰기 동작을 리디렉션하는 스토리지 컨트롤러 및 이의 동작 방법
US11670376B2 (en) * 2021-06-07 2023-06-06 Micron Technology, Inc. Erasing partially-programmed memory unit
JP2023044509A (ja) * 2021-09-17 2023-03-30 キオクシア株式会社 メモリシステムおよびメモリシステムの制御方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485595A (en) * 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
CN1701308A (zh) * 2002-10-28 2005-11-23 桑迪士克股份有限公司 维护非易失性存储系统中的擦除计数
CN101030166A (zh) * 2006-03-03 2007-09-05 凌阳科技股份有限公司 非易失性存储器的平均抹除方法与装置
CN101046771A (zh) * 2006-03-29 2007-10-03 株式会社日立制作所 使用闪存的存储系统及其平均读写方法和平均读写程序

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3390482B2 (ja) 1992-06-12 2003-03-24 株式会社リコー ファクシミリ装置
JP3412839B2 (ja) 1992-07-01 2003-06-03 株式会社東芝 不揮発性半導体メモリ装置
JPH0750558B2 (ja) 1992-09-22 1995-05-31 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリ
JP2856621B2 (ja) 1993-02-24 1999-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置
JPH07122083A (ja) 1993-10-20 1995-05-12 Mitsubishi Electric Corp 不揮発性半導体記憶装置
JP3507132B2 (ja) * 1994-06-29 2004-03-15 株式会社日立製作所 フラッシュメモリを用いた記憶装置およびその記憶制御方法
JPH08124393A (ja) 1994-10-20 1996-05-17 Fujitsu Ltd データ消去回数に制限のあるメモリの制御方法及びこの方法を用いた装置
JPH08273390A (ja) 1995-03-28 1996-10-18 Kokusai Electric Co Ltd フラッシュメモリの消去回数の管理方法
JP3552490B2 (ja) 1997-09-17 2004-08-11 日本ビクター株式会社 フラッシュ型メモリを備えた記憶装置,フラッシュ型メモリの管理方法
JP3549723B2 (ja) 1998-03-27 2004-08-04 富士通株式会社 半導体記憶装置
KR100716576B1 (ko) 1999-02-22 2007-05-11 가부시키가이샤 히타치세이사쿠쇼 메모리 카드, 논리 어드레스의 할당방법 및 데이터 기록방법
US7660941B2 (en) * 2003-09-10 2010-02-09 Super Talent Electronics, Inc. Two-level RAM lookup table for block and page allocation and wear-leveling in limited-write flash-memories
US7155559B1 (en) * 2000-08-25 2006-12-26 Lexar Media, Inc. Flash memory architecture with separate storage of overhead and user data
TWI240861B (en) 2002-01-11 2005-10-01 Integrated Circuit Solution In Data access method and architecture of flash memory
US7096313B1 (en) * 2002-10-28 2006-08-22 Sandisk Corporation Tracking the least frequently erased blocks in non-volatile memory systems
US7035967B2 (en) * 2002-10-28 2006-04-25 Sandisk Corporation Maintaining an average erase count in a non-volatile storage system
JP3914142B2 (ja) * 2002-11-29 2007-05-16 株式会社東芝 不揮発性半導体記憶装置及びその製造方法
TWI289855B (en) * 2005-05-30 2007-11-11 Macronix Int Co Ltd Anti-fuse one-time-programmable nonvolatile memory cell and fabricating and programming method thereof
US7558906B2 (en) * 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
JP2007058966A (ja) * 2005-08-23 2007-03-08 Renesas Technology Corp 半導体装置
JP4413840B2 (ja) 2005-09-20 2010-02-10 株式会社東芝 記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム
JP4327143B2 (ja) * 2005-09-30 2009-09-09 パナソニックEvエナジー株式会社 二次電池用の制御装置及び二次電池の出力制御方法及び二次電池の出力制御実行プログラム
JP4575288B2 (ja) 2005-12-05 2010-11-04 株式会社東芝 記憶媒体、記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム
JP4575346B2 (ja) 2006-11-30 2010-11-04 株式会社東芝 メモリシステム
JP2008217857A (ja) 2007-02-28 2008-09-18 Toshiba Corp メモリコントローラ及び半導体装置
JP4564520B2 (ja) 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
JP4538034B2 (ja) 2007-09-26 2010-09-08 株式会社東芝 半導体記憶装置、及びその制御方法
TWI348163B (en) * 2007-10-09 2011-09-01 Phison Electronics Corp Wear leveling method and controller using the same
WO2009072102A2 (en) * 2007-12-05 2009-06-11 Densbits Technologies Ltd. System and methods employing mock thresholds to generate actual reading thresholds in flash memory devices
JP5032371B2 (ja) 2008-03-01 2012-09-26 株式会社東芝 メモリシステム
JP2009211234A (ja) 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
JP2009211233A (ja) 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
JP4498426B2 (ja) 2008-03-01 2010-07-07 株式会社東芝 メモリシステム
JP4691122B2 (ja) 2008-03-01 2011-06-01 株式会社東芝 メモリシステム
JP5010505B2 (ja) 2008-03-01 2012-08-29 株式会社東芝 メモリシステム
JP4745356B2 (ja) 2008-03-01 2011-08-10 株式会社東芝 メモリシステム
US8140739B2 (en) * 2008-08-08 2012-03-20 Imation Corp. Flash memory based storage devices utilizing magnetoresistive random access memory (MRAM) to store files having logical block addresses stored in a write frequency file buffer table
JP4551958B2 (ja) 2008-12-22 2010-09-29 株式会社東芝 半導体記憶装置および半導体記憶装置の制御方法
JP2010157130A (ja) 2008-12-27 2010-07-15 Toshiba Corp メモリシステム
JP5317689B2 (ja) 2008-12-27 2013-10-16 株式会社東芝 メモリシステム
JP5198245B2 (ja) 2008-12-27 2013-05-15 株式会社東芝 メモリシステム
JP2012008651A (ja) 2010-06-22 2012-01-12 Toshiba Corp 半導体記憶装置、その制御方法および情報処理装置
JP2012128645A (ja) 2010-12-15 2012-07-05 Toshiba Corp メモリシステム
JP2012128643A (ja) 2010-12-15 2012-07-05 Toshiba Corp メモリシステム
JP5535128B2 (ja) 2010-12-16 2014-07-02 株式会社東芝 メモリシステム
JP2012155806A (ja) 2011-01-28 2012-08-16 Toshiba Corp 不揮発性半導体記憶装置
US8924636B2 (en) 2012-02-23 2014-12-30 Kabushiki Kaisha Toshiba Management information generating method, logical block constructing method, and semiconductor memory device
US9251055B2 (en) 2012-02-23 2016-02-02 Kabushiki Kaisha Toshiba Memory system and control method of memory system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5485595A (en) * 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
CN1701308A (zh) * 2002-10-28 2005-11-23 桑迪士克股份有限公司 维护非易失性存储系统中的擦除计数
CN101030166A (zh) * 2006-03-03 2007-09-05 凌阳科技股份有限公司 非易失性存储器的平均抹除方法与装置
CN101046771A (zh) * 2006-03-29 2007-10-03 株式会社日立制作所 使用闪存的存储系统及其平均读写方法和平均读写程序

Also Published As

Publication number Publication date
US20220155960A1 (en) 2022-05-19
US8886868B2 (en) 2014-11-11
US9933941B2 (en) 2018-04-03
KR20090117932A (ko) 2009-11-16
EP2225649A4 (en) 2011-10-05
US11893237B2 (en) 2024-02-06
US20100223424A1 (en) 2010-09-02
US20200133496A1 (en) 2020-04-30
EP2225649A1 (en) 2010-09-08
EP2990954A1 (en) 2016-03-02
US9280292B2 (en) 2016-03-08
EP2225649B1 (en) 2015-11-25
JP4461170B2 (ja) 2010-05-12
US20150212746A1 (en) 2015-07-30
US9483192B2 (en) 2016-11-01
US20170010818A1 (en) 2017-01-12
US8015347B2 (en) 2011-09-06
CN101622608B (zh) 2016-04-20
KR100984829B1 (ko) 2010-10-04
US10558360B2 (en) 2020-02-11
US20100049907A1 (en) 2010-02-25
TWI400613B (zh) 2013-07-01
US20240111416A1 (en) 2024-04-04
US20140351497A1 (en) 2014-11-27
JP2009163329A (ja) 2009-07-23
CN104657280A (zh) 2015-05-27
US20160041767A1 (en) 2016-02-11
EP2990954B1 (en) 2019-11-27
US20180165011A1 (en) 2018-06-14
WO2009084286A1 (en) 2009-07-09
US9026724B2 (en) 2015-05-05
US11287975B2 (en) 2022-03-29
TW200928749A (en) 2009-07-01
CN101622608A (zh) 2010-01-06

Similar Documents

Publication Publication Date Title
CN104657280B (zh) 存储器系统
EP2447849B1 (en) Memory system
JP2010108522A (ja) メモリシステムの制御方法
JP4703764B2 (ja) メモリシステムの制御方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20170725

Address after: Tokyo, Japan

Applicant after: TOSHIBA MEMORY Corp.

Address before: Tokyo, Japan

Applicant before: Toshiba Corp.

GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Tokyo, Japan

Patentee after: TOSHIBA MEMORY Corp.

Address before: Tokyo, Japan

Patentee before: Japanese businessman Panjaya Co.,Ltd.

Address after: Tokyo, Japan

Patentee after: Kaixia Co.,Ltd.

Address before: Tokyo, Japan

Patentee before: TOSHIBA MEMORY Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211021

Address after: Tokyo, Japan

Patentee after: Japanese businessman Panjaya Co.,Ltd.

Address before: Tokyo, Japan

Patentee before: TOSHIBA MEMORY Corp.