CN105700822A - 非易失性存储器控制装置以及非易失性存储器控制方法 - Google Patents
非易失性存储器控制装置以及非易失性存储器控制方法 Download PDFInfo
- Publication number
- CN105700822A CN105700822A CN201510917163.0A CN201510917163A CN105700822A CN 105700822 A CN105700822 A CN 105700822A CN 201510917163 A CN201510917163 A CN 201510917163A CN 105700822 A CN105700822 A CN 105700822A
- Authority
- CN
- China
- Prior art keywords
- subregion
- data
- read
- erasing times
- erasing
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
Abstract
一种非易失性存储器控制装置以及非易失性存储器控制方法。在对可改写的半导体非易失性存储器的多个分区分别进行数据的读写控制的非易失性存储器控制装置中,具备:擦除次数计数部,对每一个分区的总计的擦除次数进行计数;读出次数计数部,将对每一个分区的同一数据的连续的读出次数进行计数;数据读出写入部,对非易失性存储器进行数据的读写;以及控制部,在特定的分区的擦除次数为规定的次数以上、存在与特定的分区相比擦除次数少、且读出次数多的分区的情况下,对数据读出写入部进行控制,以将该分区的数据和特定的分区的数据调换。
Description
技术领域
本发明涉及非易失性存储器控制装置以及非易失性存储器控制方法。
背景技术
以往,NAND型闪速存储器等的可改写的半导体非易失性存储器(简称为非易失性存储器),通过经由隧道氧化膜对浮栅内注入电子而写入数据,通过拉出电子而进行数据的擦除。另外,以由多个单元构成的页为单位进行数据的读写,在擦除数据时,进而以由多个页构成的块为单位来进行。
但是,在对一个单元的数据的改写时,由于贯穿隧道氧化膜的电子,产生隧道氧化膜的劣化,该单元的寿命会耗尽,因此对各个块的擦除次数有限制。另外,一般地,以由多个块构成的分区为单位使用的情况多,因此,实际上在对于分区的擦除次数上施加限制。
因此,为了防止仅特定的分区的擦除次数增加,而作为非易失性存储器整体的寿命耗尽,优选将分区的擦除次数均衡化。
作为这样的均衡化对策,公开了在未使用的分区数为阈值以下的情况下,通过将最多改写次数(擦除次数)的分区的数据、和最少改写次数(擦除次数)的分区的数据调换,防止改写集中到特定分区,实现在各分区间的改写次数(擦除次数)的均衡化的非易失性存储装置等(参照日本特开2008-097132号公报)。
但是,现如今,即使是在最少改写次数(擦除次数)的分区中存储的数据,也只是分区的改写次数(擦除次数)少,在该分区中存储的数据自身的改写次数(擦除次数)并不少。即,还设想即使是最少改写次数(擦除次数)的分区中存储的数据,也是该数据自身的改写次数(擦除次数)多的数据的情况。
因此,存在如下问题:在专利文献1记载的那样的仅着眼于分区的改写次数(擦除次数)的非易失性存储装置中的均衡化中,也会产生将这样的该数据自身的改写次数(擦除次数)多的数据再次储存在最多改写次数(擦除次数)的分区中的情况,反而有缩短非易失性存储器的寿命的担心。
发明内容
本发明的目的在于,提供能够将非易失性存储器的各分区的擦除次数均衡化而实现长寿命的非易失性存储器控制装置以及非易失性存储器控制方法。
为了实现上述的目的,本发明的非易失性存储器控制装置,优选为,
在对可改写的半导体非易失性存储器的多个分区分别进行数据的读写控制的非易失性存储器控制装置中,具备:
擦除次数计数部,对每一个所述分区的总计的擦除次数进行计数;
读出次数计数部,将对每一个所述分区的同一数据的连续的读出次数进行计数;
数据读出写入部,对所述可改写的半导体非易失性存储器进行数据的读写;以及
控制部,在一分区的擦除次数为规定的次数以上、存在与该一分区相比擦除次数少、且读出次数多的分区的情况下,对所述数据读出写入部进行控制,以将该分区的数据和所述一分区的数据进行调换。
在上述的非易失性存储器控制装置中,优选
与所述一分区相比擦除次数少、且读出次数多的分区存在多个的情况下,所述控制部与读出次数最多的分区的数据进行调换。
在上述的非易失性存储器控制装置中,优选
所述控制部在所述一分区的擦除次数成为所述规定的次数以上的情况下,将所述规定的次数的值变更为比该分区的擦除次数大的值。
在上述的非易失性存储器控制装置中,优选
所述控制部在所有的分区的擦除次数成为所述规定的次数以上的情况下,将所述规定的次数的值变更为比所有的分区的擦除次数都大的值。
在上述的非易失性存储器控制装置中,优选
所述控制部在擦除次数为最大的分区和擦除次数为最小的分区之间的擦除次数的差为规定的值以上、存在与所述擦除次数为最大的分区相比擦除次数少、且读出次数多的分区的情况下,将该分区的数据和所述擦除次数为最大的分区的数据进行调换。
本发明的非易失性存储器控制方法,优选
是对可改写的半导体非易失性存储器的多个分区的每一个进行数据的读写控制的非易失性存储器控制方法,包含:
擦除次数计数步骤,对每一个所述分区的总计的擦除次数进行计数;
读出次数计数步骤,将对每一个所述分区的同一数据的连续的读出次数进行计数;以及
调换步骤,在一分区的擦除次数为规定的次数以上、存在与该一分区相比擦除次数少、且读出次数多的分区的情况下,进行控制,以将该分区的数据和所述一分区的数据进行调换。
附图说明
通过以下示出的详细的说明和附图会更完全地理解本发明。但是,这些并非要用来限定本发明,这里,
图1是表示应用了本发明的实施方式的非易失性存储器控制装置的功能结构的方块图。
图2是表示非易失性存储器的结构的一例的说明图。
图3是说明控制部的计数动作的流程图。
图4是说明每一个分区的计数次数的一例的说明图。
图5是说明控制部的擦除次数的均衡化动作的流程图。
具体实施方式
(实施方式)
[1.结构的说明]
以下,对于本发明,使用附图说明具体的方式。但是,发明的范围不限于图示例子。
图1是表示应用了本发明的实施方式的非易失性存储器控制装置100的功能结构的方块图。
如图1所示,本实施方式的非易失性存储器控制装置100适当选择写入数据的非易失性存储器FM11的分区,将非易失性存储器FM11的各分区的擦除次数均衡化。
具体而言,本实施方式的非易失性存储器控制装置100具备擦除次数计数部1、读出次数计数部2、数据读出写入部3、控制部4等而构成。
擦除次数计数部1对非易失性存储器FM11的每一个分区的总计的擦除次数进行计数,并保持该擦除次数。作为擦除次数计数部1,可以是通过控制部4的控制对非易失性存储器FM11的每一个分区的总计的擦除次数进行计数的计数部,也可以通过与控制部4独立的电路的动作对该擦除次数进行计数的计数部。
读出次数计数部2对读出次数进行计数,并保持该读出次数,该读出次数是对非易失性存储器FM11的每一个分区的同一数据的连续的读出次数。由于该读出次数是对同一数据的连续读出的次数,因此在通过分区的数据的改写(也包含擦除),数据的同一性消失的情况下,将该读出次数进行复位(设为0次)。
另外,作为读出次数计数部2,可以是通过控制部4的控制,将对非易失性存储器FM11的每一个分区的同一数据的连续的读出次数进行计数的计数部,也可以是通过与控制部4独立的电路的动作将该读出次数进行计数的计数部。
数据读出写入部3与非易失性存储器FM11的输入输出端子等相互连接,对非易失性存储器FM11进行数据的读写。
控制部4例如具备CPU(CentralProcessingUnit,中央处理单元)41、ROM(ReadOnlyMemory,只读存储器)42、RAM(RandomAccessMemory,随机访问存储器)43等而构成。
CPU41从ROM42中读出与处理内容对应的程序,在RAM43中展开,与展开的程序协作,对非易失性存储器控制装置100的各块(擦除次数计数部1、读出次数计数部2、数据读出写入部3等)的动作进行集中控制。此时,例如参照在由闪速存储器或硬盘驱动器构成的存储部(未图示)中储存的各种数据。
这里,控制部4例如也可以经由由LAN卡等构成的通信部(图示略),与连接在LAN(LocalAreaNetwork,局域网)、WAN(WideAreaNetwork,广域网)等的通信网络的外部的装置(例如个人计算机)之间,进行各种数据的发送接收。
另外,通过执行程序,控制部4分别作为如下部件发挥作用:对每一个分区的总计的擦除次数进行计数的擦除次数计数部件;将对每一个分区的同一数据的连续的读出次数进行计数的读出次数计数部件;在特定的分区的擦除次数为规定的次数以上,存在与比特定的分区相比擦除次数少、且读出次数多的分区的情况下,进行控制,以将该分区的数据和特定的分区的数据进行调换的调换部件。
另外,图2是表示非易失性存储器FM11的具体的结构的一例的说明图。如图2所示,非易失性存储器FM11具有:由多个块(由多个单元构成的多个页来构成的块)构成的多个分区A、B、C、D以及E。
另外,如图2所示,在非易失性存储器FM11中,具有在数据的改写时等临时地转存数据的易失性临时保存存储器TM21(以下称为临时保存存储器TM21)。例如,在对某一分区的数据改写时,使该数据暂时移动至临时保存存储器TM21,改写临时保存存储器TM21的内容,并擦除保存源的分区,最后将临时保存存储器TM21的数据返回到该分区。
[2.计数动作的说明]
这里,使用图3所示的流程图,说明非易失性存储器控制装置100的计数动作。
如图3的流程图所示,控制部4判断非易失性存储器FM11的数据是否被读出(步骤S31)。并且,控制部4在判断为非易失性存储器FM11的数据被读出的情况下(步骤S31:“是”),将数据被读出的分区的读出次数增加(步骤S32:读出次数计数步骤),返回到步骤S31。
另一方面,控制部4在判断为非易失性存储器FM11的数据未被读出的情况下(步骤S31:“否”),判断非易失性存储器FM11的数据是否被擦除(也包含改写)(步骤S33)。并且,控制部4在判断为非易失性存储器FM11的数据未被擦除的情况下(步骤S33:“否”),返回到步骤S31。
另外,控制部4在判断为非易失性存储器FM11的数据被擦除了的情况下(步骤S33:“是”),将数据被擦除的分区的读出次数复位(步骤S34:读出次数计数步骤),并且将数据被擦除的分区的擦除次数增加(步骤S35:擦除次数计数步骤),返回到步骤S31。
如以上那样,根据本实施方式的非易失性存储器控制装置100,通过擦除次数计数部1,对每一个分区的总计的擦除次数进行计数,并通过读出次数计数部2,将对每一个分区的同一数据的连续的读出次数进行计数,保持各个次数。
例如,如图4所示,构成非易失性存储器FM11的各分区A~E中的擦除次数和读出次数被计数并被保持。从图4可知,分区A以及D的擦除次数超过了100次,相对于此,分区B、C以及E的擦除次数为100次以下。
特别地,分区B的读出次数为100次(擦除次数为50次),在该分区中存储的数据为几乎不进行改写的数据(例如,固件或字体数据等的数据)的可能性高。
顺便提一下,作为保持擦除次数以及读出次数的存储单元,在擦除次数计数部1以及读出去次数计数部2中可以分别具备非易失性存储器,也可以另行具有由非易失性存储器构成的存储部。或者,也可以将非易失性存储器FM11的特定的区域作为存储单元使用。
再有,在上述的说明中,例示了通过控制部4控制擦除次数计数部1以及读出次数计数部2,来对擦除次数以及读出次数进行计数的动作,但是,当然也可以是分别由硬件构成擦除次数计数部1以及读出次数计数部2,以与控制部4的控制独立的动作对擦除次数以及读出次数进行计数。
[3.均衡化动作的说明]
这里,使用图5所示的流程图,说明非易失性存储器控制装置100的擦除次数的均衡化动作。
如图5的流程图所示,控制部4在数据的更新时,使更新对象的数据移动到临时保存存储器TM21(步骤S51),更新在临时保存存储器TM21中储存的数据(步骤S52),对曾存储更新对象的数据的分区进行擦除(步骤S53)。
接着,控制部4参照该分区的擦除次数,判断擦除次数是否为规定的次数以上(步骤S54)。并且,控制部4在判断为擦除次数不为规定的次数以上的情况下(步骤S54:“否”),使临时保存存储器TM21的数据返回到曾存储更新对象的数据的分区(步骤S55)。
另一方面,控制部4在判断为擦除次数为规定的次数以上的情况下(步骤S54:“是”),判断除此以外是否还存在擦除次数比曾存储更新对象的数据的分区的擦除次数少的分区(步骤S56),在判断为除此以外不存在擦除次数比曾存储更新对象的数据的分区的擦除次数少的分区的情况下(步骤S56:“否”),使临时保存存储器TM21的数据返回到曾存储更新对象的数据的分区(步骤S55)。
如果控制部4判断为除此以外还存在擦除次数比曾存储更新对象的数据的分区的擦除次数少的分区(步骤S56:“是”),则判断是否存在读出次数比曾存储更新对象的数据的分区的读出次数多的分区(步骤S57),在判断为除此以外不存在读出次数比曾存储更新对象的数据的分区的读出次数多的分区的情况下(步骤S57:“否”),使临时保存存储器TM21的数据返回到曾存储更新对象的数据的分区(步骤S55)。
最后,控制部4在判断为存在读出次数比曾存储更新对象的数据的分区的读出次数多的分区的情况下(步骤S57:“是”),将满足条件的分区的数据、和临时保存存储器TM21的数据调换(步骤S58:调换步骤),使临时保存存储器TM21的数据返回到曾存储更新对象的数据的分区(步骤S55)。
即,通过步骤S58以及步骤S55的动作,成为在满足条件的分区(与曾存储更新对象的数据的分区相比擦除次数少、且读出次数多的分区)中写入更新对象数据,满足条件的分区的数据被写入曾存储更新对象的数据的分区(超过了规定的擦除次数的分区)中,换而言之,能够防止写入集中到曾存储更新对象的数据的分区(超过了规定的擦除次数的分区),因此能够实现擦除次数的均衡化。
另外,在这样的分区(与曾存储更新对象的数据的分区相比擦除次数少、且读出次数多的分区)中存储的数据是几乎不进行改写的数据(例如,固件或字体数据等的数据)的可能性高,因此,使该数据存储在擦除次数超过了规定的次数的分区中,能够将各分区的擦除次数均衡化,实现长寿命。
如以上这样,根据本实施方式的非易失性存储器控制装置100,通过具备:对每一个分区的总计的擦除次数进行计数的擦除次数计数部1;将对每一个分区的同一数据的连续的读出次数进行计数的读出次数计数部2;对非易失性存储器进行数据的读写的数据读出写入部3;以及在特定的分区的擦除次数为规定的次数以上,存在与特定的分区相比擦除次数少、且读出次数多的分区的情况下,对数据读出写入部3进行控制,使得将该分区的数据和特定的分区的数据调换的控制部4,从而能够提供能够将非易失性存储器的各分区的擦除次数均衡化、实现长寿命的非易失性存储器控制装置。
(变形例1)
[4.多个满足条件的分区]
在实施方式的说明时,非易失性存储器控制装置100的控制部4在特定的分区的擦除次数为规定的次数以上、存在与特定的分区相比擦除次数少、且读出次数多的分区的情况下,将该分区的数据和特定的分区的数据调换,但是在存在多个满足这样的条件的分区的情况下,也可以与读出次数最多的分区的数据调换。
(变形例2)
[5-1.规定的次数的值的变更]
在实施方式的说明时,非易失性存储器控制装置100的控制部4,关于与擦除次数相比较的规定的次数,作为1种规定值来处理,但是也可以预先设定多个值的规定的次数,根据条件变更规定的次数的值。
例如,控制部4在曾存储更新对象的数据的分区的擦除次数为此前所设定的规定的次数以上的情况下,也可以将规定的次数的值变更为比该分区的擦除次数大的值。
此时,能够慢慢提高规定的次数,因此能够将各分区的擦除次数更细地进行均衡化,能够使非易失性存储器为长寿命。
(变形例3)
[5-2.规定的次数的值的变更]
在实施方式的说明时,非易失性存储器控制装置100的控制部4,关于与擦除次数相比较的规定的次数,作为1种规定值来处理,但是也可以预先设定多个值的规定的次数,根据条件变更规定的次数的值。
例如,控制部4也可以在所有的分区的擦除次数成为规定的次数以上的情况下,将规定的次数的值变更为比所有的分区的擦除次数都大的值。
此时,在所有的分区的擦除次数超过了规定的次数的时刻,提高规定的次数,因此能够抑制变更规定的次数的值的频度,并能够使非易失性存储器为长寿命。
(变形例4)
[6.擦除次数最多和最小的差]
在实施方式的说明时,非易失性存储器控制装置100的控制部4,在特定的分区的擦除次数成为规定的次数以上的情况下,进行数据的调换,但是也可以在擦除次数为最大的分区和擦除次数为最小的分区之间的擦除次数的差成为规定的值以上的情况下,进行数据的调换。
例如,控制部4在擦除次数为最大的分区和擦除次数为最小的分区之间的擦除次数的差成为规定的值以上的情况下,在存在与擦除次数为最大的分区相比擦除次数少、且读出次数多的分区的情况下,将该分区的数据和擦除次数为最大的分区的数据调换。
此时,通过不是仅着眼于特定的分区的擦除次数,还着眼于擦除次数为最大的分区和擦除次数为最小的分区之间的擦除次数的差,能够抑制擦除次数为最大的分区和擦除次数为最小的分区之间的擦除次数的差变得过大。
再有,在变形例2以及3的说明时,说明了预先设定多个值的规定的次数的意思,但是该多个值不仅是单纯地以一定的值依次增加的值,而且也可以随着接近成为寿命的界限的擦除次数,将进行增加的间隔依次减小。
此时,能够使擦除次数更接近至成为寿命的界限的擦除次数为止,能够使非易失性存储器为长寿命。
另外,在搭载了被频繁地进行改写的数据(例如,图像数据)、和几乎不进行改写的数据(固件、字体数据等)混合在一起的非易失性存储器的图像形成装置中,通过应用实施方式中说明的非易失性存储器控制装置,能够防止图像数据等被进行频繁地改写的数据的写入集中到超过了规定的擦除次数的分区的情况,因此能够将非易失性存储器的各分区的擦除次数均衡化,实现长寿命。
再有,本发明的应用不限于上述的实施方式,在不脱离本发明的宗旨的范围内可适当变更。
2014年12月15日向日本专利局提出的特愿2014-252667号的所有公开内容均引入本申请。
Claims (6)
1.一种非易失性存储器控制装置,对可改写的半导体非易失性存储器的多个分区分别进行数据的读写控制,其特征在于,具备:
擦除次数计数部,对每一个所述分区的总计的擦除次数进行计数;
读出次数计数部,将对每一个所述分区的同一数据的连续的读出次数进行计数;
数据读出写入部,对所述可改写的半导体非易失性存储器进行数据的读写;以及
控制部,在特定的分区的擦除次数为规定的次数以上、并且存在与所述特定的分区相比擦除次数少、且读出次数多的分区的情况下,对所述数据读出写入部进行控制,以将该分区的数据和所述特定的分区的数据进行调换。
2.如权利要求1所述的非易失性存储器控制装置,其特征在于,
在与擦除次数成为规定的次数以上的分区相比擦除次数少、且读出次数多的分区存在多个的情况下,所述控制部将读出次数最多的分区的数据进行调换。
3.如权利要求1或2所述的非易失性存储器控制装置,其特征在于,
所述控制部具有多个预先设定的所述规定的次数的值,在某一分区的擦除次数成为所述规定的次数以上的情况下,将所述规定的次数的值变更为比该分区的擦除次数大的值。
4.如权利要求1或2所述的非易失性存储器控制装置,其特征在于,
所述控制部具有多个预先设定的所述规定的次数的值,在所有的分区的擦除次数成为所述规定的次数以上的情况下,将所述规定的次数的值变更为比所有的分区的擦除次数都大的值。
5.如权利要求1或2所述的非易失性存储器控制装置,其特征在于,
在擦除次数为最大的分区和擦除次数为最小的分区之间的擦除次数的差为规定的值以上、存在与所述擦除次数为最大的分区相比擦除次数少、且读出次数多的分区的情况下,所述控制部将该分区的数据和所述擦除次数为最大的分区的数据进行调换。
6.一种非易失性存储器控制方法,对可改写的半导体非易失性存储器的多个分区分别进行数据的读写控制,其特征在于,包括:
擦除次数计数步骤,对每一个所述分区的总计的擦除次数进行计数;
读出次数计数步骤,将对每一个所述分区的同一数据的连续的读出次数进行计数;以及
调换步骤,在特定的分区的擦除次数为规定的次数以上、并且存在与所述特定的分区相比擦除次数少、且读出次数多的分区的情况下,进行控制,以将该分区的数据和所述特定的分区的数据进行调换。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014-252667 | 2014-12-15 | ||
JP2014252667A JP6107802B2 (ja) | 2014-12-15 | 2014-12-15 | 不揮発性メモリ制御装置、不揮発性メモリ制御方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105700822A true CN105700822A (zh) | 2016-06-22 |
CN105700822B CN105700822B (zh) | 2019-01-04 |
Family
ID=56111191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510917163.0A Active CN105700822B (zh) | 2014-12-15 | 2015-12-10 | 非易失性存储器控制装置以及非易失性存储器控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9898211B2 (zh) |
JP (1) | JP6107802B2 (zh) |
CN (1) | CN105700822B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6448571B2 (ja) | 2016-03-08 | 2019-01-09 | 東芝メモリ株式会社 | ストレージシステム、情報処理システムおよび制御方法 |
KR20180014975A (ko) * | 2016-08-02 | 2018-02-12 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
CN107025066A (zh) | 2016-09-14 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 在基于闪存的存储介质中写入存储数据的方法和装置 |
US10489064B2 (en) * | 2016-10-03 | 2019-11-26 | Cypress Semiconductor Corporation | Systems, methods, and devices for user configurable wear leveling of non-volatile memory |
US11256436B2 (en) * | 2019-02-15 | 2022-02-22 | Apple Inc. | Systems and methods for balancing multiple partitions of non-volatile memory |
CN113220240A (zh) * | 2021-05-26 | 2021-08-06 | 普冉半导体(上海)股份有限公司 | 非易失性存储器芯片 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101369252A (zh) * | 2008-09-16 | 2009-02-18 | 浙江大学 | 基于nand闪存文件***中静态数据损耗均衡的方法 |
US20100017650A1 (en) * | 2008-07-19 | 2010-01-21 | Nanostar Corporation, U.S.A | Non-volatile memory data storage system with reliability management |
US20100161880A1 (en) * | 2006-12-27 | 2010-06-24 | Guangqing You | Flash initiative wear leveling algorithm |
CN102508785A (zh) * | 2011-11-02 | 2012-06-20 | 清华大学 | 一种磨损均衡方法及装置 |
US20120191900A1 (en) * | 2009-07-17 | 2012-07-26 | Atsushi Kunimatsu | Memory management device |
US20120317345A1 (en) * | 2011-06-09 | 2012-12-13 | Tsinghua University | Wear leveling method and apparatus |
CN102880556A (zh) * | 2012-09-12 | 2013-01-16 | 浙江大学 | 一种实现Nand Flash磨损均衡的方法及其*** |
US20130054878A1 (en) * | 2011-08-25 | 2013-02-28 | Lite-On It Corporation | Solid state drive and wear-leveling control method thereof |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3407317B2 (ja) * | 1991-11-28 | 2003-05-19 | 株式会社日立製作所 | フラッシュメモリを使用した記憶装置 |
JPH10320984A (ja) * | 1997-05-15 | 1998-12-04 | Sharp Corp | 記憶装置 |
JP2008097132A (ja) * | 2006-10-06 | 2008-04-24 | Matsushita Electric Ind Co Ltd | メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム |
JP2008176727A (ja) * | 2007-01-22 | 2008-07-31 | Denso Corp | 情報処理装置、ナビゲーション装置及びプログラム |
-
2014
- 2014-12-15 JP JP2014252667A patent/JP6107802B2/ja active Active
-
2015
- 2015-12-10 CN CN201510917163.0A patent/CN105700822B/zh active Active
- 2015-12-11 US US14/966,209 patent/US9898211B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100161880A1 (en) * | 2006-12-27 | 2010-06-24 | Guangqing You | Flash initiative wear leveling algorithm |
US20100017650A1 (en) * | 2008-07-19 | 2010-01-21 | Nanostar Corporation, U.S.A | Non-volatile memory data storage system with reliability management |
CN101369252A (zh) * | 2008-09-16 | 2009-02-18 | 浙江大学 | 基于nand闪存文件***中静态数据损耗均衡的方法 |
US20120191900A1 (en) * | 2009-07-17 | 2012-07-26 | Atsushi Kunimatsu | Memory management device |
US20120317345A1 (en) * | 2011-06-09 | 2012-12-13 | Tsinghua University | Wear leveling method and apparatus |
US20130054878A1 (en) * | 2011-08-25 | 2013-02-28 | Lite-On It Corporation | Solid state drive and wear-leveling control method thereof |
CN102508785A (zh) * | 2011-11-02 | 2012-06-20 | 清华大学 | 一种磨损均衡方法及装置 |
CN102880556A (zh) * | 2012-09-12 | 2013-01-16 | 浙江大学 | 一种实现Nand Flash磨损均衡的方法及其*** |
Also Published As
Publication number | Publication date |
---|---|
CN105700822B (zh) | 2019-01-04 |
JP6107802B2 (ja) | 2017-04-05 |
JP2016115105A (ja) | 2016-06-23 |
US9898211B2 (en) | 2018-02-20 |
US20160170663A1 (en) | 2016-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105700822A (zh) | 非易失性存储器控制装置以及非易失性存储器控制方法 | |
KR100874998B1 (ko) | 반도체 집적 회로 장치의 데이터 기록 방식 | |
US6871259B2 (en) | File system including non-volatile semiconductor memory device having a plurality of banks | |
JP5002201B2 (ja) | メモリシステム | |
TWI420303B (zh) | 基於寫入頻率將資料寫至記憶體不同部份之方法、非暫態電腦可讀媒體與裝置 | |
US20130311698A1 (en) | Data storage device and method for flash block management | |
CN108897492B (zh) | 一种数据写入方法和装置 | |
JP2008009919A (ja) | カードコントローラ | |
US11475964B2 (en) | Method for programming a memory system | |
US8819332B2 (en) | Nonvolatile storage device performing periodic error correction during successive page copy operations | |
TW201931374A (zh) | 儲存裝置以及資料保存方法 | |
US20110238895A1 (en) | Nonvolatile memory controller and nonvolatile storage device | |
KR100866626B1 (ko) | 스페어 영역을 갖는 비휘발성 메모리 장치 및 그의 블록소거 방법 | |
JP4235646B2 (ja) | メモリコントローラおよびフラッシュメモリシステム | |
CN113419682B (zh) | 一种数据处理方法、装置和计算机闪存设备 | |
CN105868046A (zh) | 存储装置中管理、写入及加载固件代码的方法 | |
US20160140034A1 (en) | Devices and methods for linked list array hardware implementation | |
JP2017059281A (ja) | 半導体記憶装置および半導体記憶装置におけるデータ消去方法 | |
TWI416525B (zh) | 非揮發性記憶體裝置及其損耗平均方法 | |
JP4334331B2 (ja) | フラッシュメモリのアクセス制御方法 | |
JP4513782B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2006164354A (ja) | カウンタ装置およびカウント方法 | |
US20110055459A1 (en) | Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof | |
CN102880561A (zh) | 闪存装置 | |
KR100960478B1 (ko) | 불휘발성 메모리 장치의 듀얼 플레인 카피백 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |