CN101354681B - 存储器系统、非易失性存储器的磨损均衡方法及装置 - Google Patents

存储器系统、非易失性存储器的磨损均衡方法及装置 Download PDF

Info

Publication number
CN101354681B
CN101354681B CN2008101493706A CN200810149370A CN101354681B CN 101354681 B CN101354681 B CN 101354681B CN 2008101493706 A CN2008101493706 A CN 2008101493706A CN 200810149370 A CN200810149370 A CN 200810149370A CN 101354681 B CN101354681 B CN 101354681B
Authority
CN
China
Prior art keywords
time value
data blocks
data block
abrasion equilibrium
chained list
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
CN2008101493706A
Other languages
English (en)
Other versions
CN101354681A (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.)
Intel Corp
Original Assignee
MEISHANG WEIRUI ELECTRIC Co
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 MEISHANG WEIRUI ELECTRIC Co filed Critical MEISHANG WEIRUI ELECTRIC Co
Priority to CN2008101493706A priority Critical patent/CN101354681B/zh
Publication of CN101354681A publication Critical patent/CN101354681A/zh
Priority to US12/499,859 priority patent/US20100077135A1/en
Application granted granted Critical
Publication of CN101354681B publication Critical patent/CN101354681B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明提供一种存储器系统、非易失性存储器的磨损均衡方法及装置,其中非易失性存储器包括多个数据块以及根据该多个数据块形成的一链表,磨损均衡方法包括:一移位操作步骤,根据与该多个数据块分别对应的时间值,按照上述时间值的先后顺序将该多个数据块顺序排列以形成该链表;以及一判断擦除步骤,判断是否对该多个数据块进行擦除操作;当对该多个数据块进行擦除操作时,根据该链表中的该多个数据块的时间值的先后,选择相应的数据块进行该擦除操作。本发明可在真实反映系统中可擦除块的使用寿命的情况下,做到对系统效率和磨损均衡效果的兼顾。

Description

存储器系统、非易失性存储器的磨损均衡方法及装置 
技术领域
本发明是有关于一种应用于存储介质管理系统的磨损均衡方法及装置,主要应用于大容量存储设备的介质管理系统。 
背景技术
非易失性存储器,例如电可擦除可编程只读存储器EEPROM(Electrically Erasable Programmable Read-OnlyMemory),是一种有着单位数据写入,整块数据擦除的物理特性的大容量存储介质,其由一个或多个存储单元组成,每个存储单元存储一个或多个数据位。EEPROM一般用在即插即用(Plug&Play)接口卡中,用来存放硬件设置数据,也常用在防止软件非法拷贝的“硬件锁”上面。 
EEPROM一般采用将存储单元划分为可擦除块的形式来进行擦除操作,然而由于其本身物理特性的限制,使得在使用过程中存在着可擦除块的使用寿命的问题。擦除次数一般为10万次至100万次。在其使用过程中,如果频繁地擦除某个块,则会导致该块的寿命很快被耗尽,进而影响整个存储介质的使用寿命。 
为了均衡地使用不同的可擦除块,需要使用磨损均衡技术来对擦除操作进行处理。最直接的一种方法是在可擦除块中记录下该块的擦除计数(erase count),并在擦除操作之前,通过比较块的擦除计数来选择有着小的擦除计数的块进行擦除,从而实现磨损均衡。 
但这种使用擦除计数来实现磨损均衡的方法在掉电处理中存在缺陷,如果在擦除块时系统掉电,该块的擦除计数也将随 之丢失,使得在接下来的磨损均衡时对该块的处理产生偏差,从而不能真实反映系统中可擦除块的使用寿命。 
发明内容
为了解决现有技术中所存在的在擦除块时系统掉电,该块的擦除计数也将随之丢失,使得在接下来的磨损均衡时对该块的处理产生偏差的问题,本发明提供一种存储器系统、非易失性存储器的磨损均衡方法及装置。 
本发明提供一种非易失性存储器的磨损均衡方法,该非易失性存储器包括多个数据块以及根据该多个数据块形成的一链表,该磨损均衡方法包括:一移位操作步骤,根据与该多个数据块分别对应的时间值,按照上述时间值的先后顺序将该多个数据块顺序排列以形成该链表,其中上述时间值是指在擦除该多个数据块时所记录的系统时间;以及一判断擦除步骤,判断是否对该多个数据块进行擦除操作;当对该多个数据块进行擦除操作时,根据该链表中的该多个数据块的时间值的先后,选择相应的数据块进行该擦除操作。 
本发明还提供一种非易失性存储器的磨损均衡装置,该非易失性存储器包括多个数据块以及根据该多个数据块形成的一链表,该磨损均衡装置包括:一移位模块,用于根据与该多个数据块分别对应的时间值,按照时间值的先后顺序将该多个数据块顺序排列以形成该链表,其中上述时间值是指在擦除该多个数据块时所记录的系统时间;以及一判断擦除模块,耦接到该移位模块,用于判断是否对该多个数据块进行擦除操作,如对该多个数据块进行擦除操作,根据该链表中的该多个数据块的时间值的先后,选择相应的数据块进行该擦除操作。 
本发明另提供一种存储器系统,该存储器系统包括多个数据块,该多个数据块能够被擦除,该存储器系统还包括:一地址映射装置,用于存储该数据块的物理地址以及对该数据块进行擦除后所记录的一时间值;一磨损均衡装置,连接到该地址映射装置,该磨损均衡装置包括一移位模块及一判断擦除模块,该移位模块用于根据与该多个数据块分别对应的时间值,按照时间值的 先后顺序将该多个数据块顺序排列以形成一链表,其中上述时间值是指在擦除该多个数据块时所记录的系统时间;该判断擦除模块耦接到该移位模块,用于判断是否对该多个数据块进行擦除操作,如对该多个数据块进行擦除操作,根据该链表中的该多个数据块的时间值的先后,选择相应的数据块进行该擦除操作;该判断擦除模块还用于根据一随机数除以一磨损均衡种子所得到的余数判断是否对所述多个数据块进行一回收擦除操作;以及一存储空间回收装置,对擦除后的数据块进行管理,用于数据的再写入或读取。 
本发明通过使用可擦除块的擦除时间戳作为擦除标记来反映该块的磨损情况,并且还使用磨损均衡种子来限定磨损均衡处理发生的次数,从而在真实反映系统中可擦除块的使用寿命的情况下,做到对系统效率和磨损均衡效果的兼顾。 
附图说明
图1A为根据本发明的一个实施例所述的非易失性存储器的典型应用系统模块图。 
图1B为根据本发明的一个实施例所述的磨损均衡模块的细部结构图。 
图2为根据本发明的一个实施例所述的磨损均衡擦除方法流程图。 
图3A为根据本发明的一个实施例所述的按照时间先后顺序排列的链表示意图。 
图3B为根据本发明的一个实施例所述的按擦除时间戳的时间先后顺序建立可擦除块链表的流程图。 
图4A为根据本发明的一个实施例所述的擦除时间戳链表的擦除操作示意图。 
图4B为根据本发明的一个实施例所述的将擦除时间戳记入可擦除块中的流程图。 
图5A为根据本发明的一个实施例所述的可擦除块的回收处理流程图。 
图5B根据本发明的一个实施例所述的为擦除时间戳链表 的回收操作示意图。 
具体实施方式
为使本发明的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附图示,详细说明如下。 
为解决现有技术中的问题,本发明提出一种磨损均衡方法,其可以通过使用可擦除块的擦除时间戳(time stamp)作为擦除标记来反映该块的磨损信息,并且为了防止过多的使用磨损均衡处理技术造成系统性能降低,还使用磨损均衡种子(wearleveling seed)来限定磨损均衡发生的次数。 
首先需要说明的是时间戳与磨损均衡种子的概念。时间戳指的是在擦除操作时,记录在EEPROM flash中每一个可擦除块上的系统时间,时间戳可储存于不同的位置,例如可存于擦除块中、EEPROM一个固定位置或外部空间。磨损均衡种子为一常数,其主要作用是用来限定磨损均衡发生的次数。 
图1A为非易失性存储器的典型应用系统模块图,从上至下分为四层。第一层为应用层10,第二层为文件系统层12,第三层为介质管理层软件14,第四层为硬件访问层16。其中,介质管理层软件14包括了至少三个部分,即,地址映射模块141、磨损均衡模块142以及存储空间回收模块143。其中,地址映射模块141用于存储数据块的物理地址以及对数据块进行擦除后所记录的一时间值,即时间戳;磨损均衡模块142连接到地址映射模块141,用于根据一随机数及一磨损均衡种子进行擦除次数计算,以均衡所述多个数据块中每个数据块进行擦除的次数,其中,关于随机数及磨损均衡种子将在之后进行详细说明;存储空间回收模块143用于将擦除后的数据块进行管理,用于数据的再写入或读取。在另一个实施例中,第四层为nor flash,即nor 型闪存。介质管理层软件14中还可包括坏块管理的功能,由于坏块管理非为本发明的重点,在此不作赘述。 
非易失性存储器中包括有多个数据块以及根据该多个数据块形成的一链表,本发明主要应用于介质管理层软件14的磨损均衡模块142。 
图1B为磨损均衡模块142的细部结构图。磨损均衡模块包括一移位模块1421及一判断擦除模块1422。其中,移位模块1421可进行一移位操作步骤,根据与所述多个数据块分别对应的擦除时间戳,按照时间的先后顺序将多个数据块链成链表。即,链表表头的数据块擦除时间最早,链表表尾的数据块擦除时间最晚。判断擦除模块1422耦接至移位模块1421,可进行一判断擦除步骤,判断是否对链表中的数据块进行擦除操作,并根据时间值的先后选定相应的数据块进行擦除。 
图2为本发明所述的磨损均衡擦除方法流程图。其中S201为移位操作步骤,根据多个数据块对应的时间值建立可擦除块的链表。在一个实施例中,时间值可以为最后一次访问该数据块所记录的系统时间。S203为根据S201形成的链表中的数据块时间值的先后,选择相应的数据块进行擦除操作。在S205中,判断是否需要进行回收操作,其判断条件可以为系统中的空闲空间少于外部请求所需要的空间,亦可以为磁盘整理等操作。在S207中,通过一磨损均衡种子判定是否对数据块进行回收擦除操作,从而控制发生磨损均衡的概率。以下将结合附图对上述各个步骤进行进一步的说明。 
图3A即为按照时间先后顺序排列的链表图。其中,块0~6为已使用(USED)的擦除块,块7为未使用(FREE)的擦除块。链表头的块0擦除时间最早,链表尾的块7擦除时间最晚。 
图3B为如上所述的按擦除时间戳的时间先后顺序建立可 擦除块链表的流程图,即图2中的步骤S201。一般情况下,该流程于初始化阶段完成。以nor flash为例,如步骤S310,按物理顺序,开始对nor flash的可擦除块进行遍历操作。之后,如步骤S320,取位于起始位置(第0个)可擦除块。接着,如步骤S330,判断遍历是否结束,如遍历结束,则流程结束。如遍历未结束,则进行至步骤S340,判断可擦除块链表是否为空。如可擦除块链表为空,则进行至步骤S350,将该块设为链表表头,如可擦除块链表不为空,则进行至步骤S370,从可擦除块链表的表头开始,比较待插入块与链表中遍历到的当前块二者擦除时间戳,接着进行至步骤S371,若待插入块的擦除时间戳晚于链表中遍历到的当前块的擦除时间戳,则进行至步骤S3711,继续取链表的下一块进行比较,并返回至步骤S370继续判断,若早于,则进行至步骤S3712,将该块插入到链表中当前遍历到的位置。接着进行至步骤S360,即按物理顺序,取当前块的下一块,并返回至步骤S330。另外,需要说明的是,如待插入块的擦除时间戳等于链表中遍历到的当前块的擦除时间戳,则进行至步骤S3711或S3712均可,本领域技术人员可根据需要自行设定。 
当要进行擦除操作时,则需要将擦除后的当前系统时间即擦除后的时间戳记入擦除块中,并将该块链入到链表的最后端。请参看图4A,其为擦除时间戳链表的擦除操作示意图,对块3进行擦除操作,按照块7中记录的擦除时间戳的早晚,将块3链入可擦除块队列中即链入块7之后,则擦除操作后现有链表中3至6号块为原4至7号块,现7号块为原3号块。 
图4B为将擦除时间戳记入可擦除块中的流程图。步骤S410,确定需要擦除的块A,开始擦除操作。接着进行至步骤S420,结束擦除操作,获取当前系统时间。然后,进行至步骤 S430,将获取的当前系统时间与可擦除块队列中所保存的最晚擦除时间戳进行比较。于步骤S440,判断获取的系统时间是否晚于可擦除块队列中所保存的最晚擦除时间戳,如晚于则进行至步骤S450,将所获取的系统时间记入到块A中,如不晚于则进行至步骤S470,将可擦除块队列中保存的最晚擦除时间戳加上增量,并记入到块A中。其中,增量通常为1,当然本领域技术人员也可根据需要选择不同的增量值。于步骤S450或S470结束后,均进行至步骤S460,将块A链入到按擦除时间戳先后顺序链接的可擦除块链表的尾部,继而流程结束。 
当系统中的空闲存储空间少于外部所请求的存储空间,或是系统后台本身需要进行例如磁盘整理等操作时,将进行一回收处理。在系统需要对可擦除块进行回收处理时,还可通过一磨损均衡种子来做到对系统效率和磨损均衡效果的兼顾,该磨损均衡种子可以将发生磨损均衡的概率限定为某个确定的值。 
图5A为可擦除块的回收处理流程图,即图2中的步骤S207。如步骤S510,收到需要对系统中的可擦除块的存储空间进行回收操作的请求。之后,如步骤S520,系统根据最高效率原则,查找存有无效数据最多的可擦除块,也就是最脏的块,设为块A。 
关于步骤S520中所述的最脏的块,现具体说明。以nor flash为例,假设nor flash的每个可擦除块为64k,每一个可擦除块中存储空间可按扇区的大小来组织。这里假设每个扇区大小为128字节,这样,一个可擦除块中就包含有512个128字节大小的扇区。文件系统在向nor flash的可擦除块中写入数据时,需要对其做编程操作,而且以扇区为最小写入单位,也就是每次至少写入128字节。 
由于nor flash的特性,物理上存储的数据通过编程操作 (program)只能从1变成0,而不能从0变成1。如果需要将数据从0变成1,只能通过对整个可擦除块进行擦除操作(erase),一次性将块中所有的数据重新置1。这样,当需要修改位于可擦除块中某个扇区中的数据时,并不能将当前需要写入的有效数据直接覆盖到该扇区,而是需要在当前块或别的块中寻找某个空闲即没有被写入过数据的扇区,将有效数据写入,而且需要将原来的映射到同一逻辑地址的扇区标记为无效数据扇区。 
对于如何寻找最脏的块,一般的作法为在系统初始化时,会遍历所有可擦除块,统计块中所包含的有效数据扇区数,无效数据扇区数和空闲数据扇区数,并把这些信息保存到系统内存中相应的数据结构中,并且在使用的过程中,同步更新这些数据结构。在需要查找最脏的块时,只需要访问这些位于内存中的统计信息,找出哪一块中的无效数据扇区为最多就可以了。也就是说,当一个可擦除块中的被标记为无效数据扇区的数量最多时,将该可擦除块称为最脏的块,如步骤S520中所述的块A。该部分属于现有技术,在此不再详细叙述。 
请再参看图5A,接着进行至步骤S530,根据设定的磨损均衡种子值,判断是否需要对块A进行回收操作。具体判断过程通过公式(1)进行说明: 
random%(wear-leveling seed)==1(1) 
其中,random为随机数,实际应用中为一伪随机数(近似于理想随机数),其可通过标准库函数random()或其他途径获得。wear-leveling seed为磨损均衡种子,其属于一经验常数值,假设将磨损均衡种子设置为50,则通过公式(1)的计算,如果random为理想的随机数,则发生磨损均衡处理的概率就为1/50,即将发生磨损均衡处理的概率限定为近似1/50。另外,需要说明的是,随机数除以磨损均衡种子得到的余数可以为其他值, 例如2、3等等,本领域技术人员可根据需要对余数值进行设定。 
关于磨损均衡种子值可以根据存储介质的容量灵活选定,以经验值为主。但是总的来说,由于存储介质容量增大,本身的块数增多,用户使用时所存在的随机性会使得对于磨损均衡处理的需求会降低,所以该磨损均衡种子的值可以取得较大。 
请再参看图5A,如公式(1)中random%(wear-leveling seed)的计算结果不为1,则进行至步骤S550,对块A进行回收操作,将块A中的有效数据拷贝到系统预留的空闲块B,并将块A擦除。如公式(1)中random%(wear-leveling seed)的计算结果为1,则不需要对块A进行回收操作,进行至步骤S540,取位于按擦除时间戳先后顺序链接的可擦除块链表的表头的块C,块C是系统中擦除时间戳最早的块,接着进行至步骤S570,对块C进行回收操作,将块C中的有效数据拷贝到系统预留的空闲块B,并将块C擦除。于步骤S550或S570结束后,均进行至步骤S560,按照块B即系统中擦除时间戳最晚的块中记录的擦除时间戳的早晚,将块A或C链入可擦除块队列,流程结束。 
关于步骤S530、S540、S570至S560,请参看图5B,判断是否需要对块4进行回收操作0,将块4中的有效数据拷贝到系统预留的空闲块7中。通过公式(1)计算确定需要进行磨损均衡处理,取位于按擦除时间戳先后顺序链接的可擦除块链表的表头的块0进行回收操作,将块0中的有效数据拷贝到系统预留的空闲块7,并将块0擦除,并按照块7中记录的擦除时间戳的早晚,将块0链入可擦除块队列中,链入块7之后,完成了回收处理。则回收处理后的现有链表中0至6号块为原1至7号块,现7号块为原0号块。关于步骤S530、S550至S560,可参照图4A,在此不再详细叙述。 
本发明通过使用可擦除块的擦除时间戳作为擦除标记来反 映该块的磨损情况,即使掉电后当前擦除时间信息丢失,再开机时,可选择擦除系统块中保存的系统时间最早的可擦除块,则可避免现有技术中掉电则丢失擦除次数信息而使得在接下来的磨损均衡时对该块的处理产生偏差,从而不能真实反映系统中可擦除块的使用寿命。并且,本发明还通过磨损均衡种子来限定磨损均衡处理的发生次数,从而在真实反映系统中可擦除块的使用寿命的情况下,做到对系统效率和磨损均衡效果的兼顾。 
以上所述仅为本发明较佳实施例,然其并非用以限定本发明的范围,任何熟悉本项技术的人员,在不脱离本发明的精神和范围内,可在此基础上做进一步的改进和变化,因此本发明的保护范围当以本申请的权利要求书所界定的范围为准。

Claims (15)

1.一种非易失性存储器的磨损均衡方法,该非易失性存储器包括多个数据块以及根据该多个数据块形成的一链表,其特征在于,该磨损均衡方法包括:
一移位操作步骤,根据与该多个数据块分别对应的时间值,按照上述时间值的先后顺序将该多个数据块顺序排列以形成该链表,其中上述时间值是指在擦除该多个数据块时所记录的系统时间;以及
一判断擦除步骤,判断是否对该多个数据块进行擦除操作;
当对该多个数据块进行擦除操作时,根据该链表中的该多个数据块的时间值的先后,选择相应的数据块进行该擦除操作。
2.根据权利要求1所述的非易失性存储器的磨损均衡方法,其特征在于,还包括按照该非易失性存储器的该多个数据块的物理顺序进行遍历操作,根据该多个数据块分别对应的该时间值的先后顺序将该多个数据块排成该链表。
3.根据权利要求2所述的非易失性存储器的磨损均衡方法,其特征在于,该移位操作步骤还包括:
当该链表不为空,从该链表的表头开始,比较待插入的数据块与进行遍历操作时该链表中的当前数据块的时间值先后,当该待插入的数据块的时间值早于该当前数据块的时间值,则将该当前数据块插入到该链表中当前遍历到的位置。
4.根据权利要求3所述的非易失性存储器的磨损均衡方法,其特征在于,该移位操作步骤还包括当该待插入的数据块的时间值晚于该当前数据块的时间值,则继续取该链表的下一块进行比较。
5.根据权利要求3所述的非易失性存储器的磨损均衡方法,其特征在于,该移位操作步骤还包括:
当对一数据块进行擦除操作后,获取一当前系统时间值,将该当前系统时间值与该多个数据块中所保存的最晚时间值进行比较;
当该当前系统时间值晚于所述最晚时间值,则记录该当前系统时间值;以及
当该当前系统时间值早于所述最晚时间值,则将该多个数据块中保存的最晚时间值加上一预设增量值后得到的时间值作为该当前系统时间值。
6.根据权利要求1所述的非易失性存储器的磨损均衡方法,其特征在于,该判断擦除步骤还包括:
一回收擦除操作,当一随机数除以一磨损均衡种子得到的余数为一特定值时,选取该多个数据块中时间值最早的数据块进行该回收擦除操作,其中该磨损均衡种子与该多个数据块的擦除次数相关;以及
当该随机数除以该磨损均衡种子得到的余数不为该特定值时,对无效数据最多的数据块进行该回收擦除操作。
7.根据权利要求5所述的非易失性存储器的磨损均衡方法,其特征在于,记录进行该擦除操作的数据块的该当前系统时间值,并将该当前系统时间值所对应的数据块链入该时间值最晚的数据块之后。
8.一种非易失性存储器的磨损均衡装置,该非易失性存储器包括多个数据块以及根据该多个数据块形成的一链表,其特征在于,该磨损均衡装置包括:
一移位模块,用于根据与该多个数据块分别对应的时间值,按照时间值的先后顺序将该多个数据块顺序排列以形成该链表,其中上述时间值是指在擦除该多个数据块时所记录的系统时间;以及
一判断擦除模块,耦接到该移位模块,用于判断是否对该多个数据块进行擦除操作,如对该多个数据块进行擦除操作,根据该链表中的该多个数据块的时间值的先后,选择相应的数据块进行该擦除操作。
9.根据权利要求8所述的非易失性存储器的磨损均衡装置,其特征在于,还包括按照该非易失性存储器的该多个数据块的物理顺序进行遍历操作,根据该多个数据块分别对应的该时间值的先后顺序将该多个数据块排成该链表。
10.根据权利要求9所述的非易失性存储器的磨损均衡装置,其特征在于,该移位模块还包括:
当该链表不为空时,从该链表的表头开始,比较待插入的数据块与进行遍历操作时该链表中的当前数据块的时间值先后,当该待插入的数据块的时间值早于该当前数据块的时间值,则将该当前数据块插入到该链表中当前遍历到的位置。
11.根据权利要求10所述的非易失性存储器的磨损均衡装置,其特征在于,该移位模块还包括当该插入数据块的该时间值晚于当前数据块的时间值,则继续取该链表的下一块进行比较。
12.根据权利要求10所述的非易失性存储器的磨损均衡装置,其特征在于,该移位操作还包括:
当对一数据块进行擦除操作后,获取一当前系统时间值,将该当前系统时间值与该多个数据块中所保存的最晚时间值进行比较;
当该当前系统时间值晚于所述最晚时间值,则记录该当前系统时间值;以及
当该当前系统时间值早于所述最晚时间值,则将该多个数据块中保存的最晚时间值加上一预设增量值后得到的时间值作为该当前系统时间值。
13.相据权利要求8所述的非易失性存储器的磨损均衡装置,其特征在于,该判断擦除模块还包括:
一回收擦除操作,当一随机数除以一磨损均衡种子得到的余数为一特定值时,选取该多个数据块中该时间值最早的数据块进行该回收擦除操作,其中该磨损均衡种子与该多个数据块的擦除次数相关;以及
当随机数除以该磨损均衡种子得到的余数不为该特定值时,对无效数据最多的数据块进行该回收擦除操作。
14.根据权利要求8所述的非易失性存储器的磨损均衡装置,其特征在于,当对一数据块进行擦除操作后,获取一当前系统时间值,将该当前系统时间值与该多个数据块中所保存的最晚时间值进行比较;
当该当前系统时间值晚于所述最晚时间值,则记录该当前系统时间值;以及
当该当前系统时间值早于所述最晚时间值,则将该多个数据块中保存的最晚时间值加上一预设增量值后得到的时间值作为该当前系统时间值。
15.一种存储器系统,该存储器系统包括多个数据块,该多个数据块能够被擦除,其特征在于,该存储器系统还包括:
一地址映射装置,用于存储该数据块的物理地址以及对该数据块进行擦除后所记录的一时间值;
一磨损均衡装置,连接到该地址映射装置,该磨损均衡装置包括一移位模块及一判断擦除模块,该移位模块用于根据与该多个数据块分别对应的时间值,按照时间值的先后顺序将该多个数据块顺序排列以形成一链表,其中上述时间值是指在擦除该多个数据块时所记录的系统时间;该判断擦除模块耦接到该移位模块,用于判断是否对该多个数据块进行擦除操作,如对该多个数据块进行擦除操作,根据该链表中的该多个数据块的时间值的先后,选择相应的数据块进行该擦除操作;该判断擦除模块还用于根据一随机数除以一磨损均衡种子所得到的余数判断是否对所述多个数据块进行一回收擦除操作;以及
一存储空间回收装置,对擦除后的数据块进行管理,用于数据的再写入或读取。
CN2008101493706A 2008-09-23 2008-09-23 存储器系统、非易失性存储器的磨损均衡方法及装置 Active CN101354681B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2008101493706A CN101354681B (zh) 2008-09-23 2008-09-23 存储器系统、非易失性存储器的磨损均衡方法及装置
US12/499,859 US20100077135A1 (en) 2008-09-23 2009-07-09 Memory wear leveling method, system and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101493706A CN101354681B (zh) 2008-09-23 2008-09-23 存储器系统、非易失性存储器的磨损均衡方法及装置

Publications (2)

Publication Number Publication Date
CN101354681A CN101354681A (zh) 2009-01-28
CN101354681B true CN101354681B (zh) 2010-12-01

Family

ID=40307498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101493706A Active CN101354681B (zh) 2008-09-23 2008-09-23 存储器系统、非易失性存储器的磨损均衡方法及装置

Country Status (2)

Country Link
US (1) US20100077135A1 (zh)
CN (1) CN101354681B (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4987997B2 (ja) * 2010-02-26 2012-08-01 株式会社東芝 メモリシステム
CN102201259A (zh) * 2010-03-24 2011-09-28 建兴电子科技股份有限公司 非易失性存储器的平均抹写方法
CN101819821B (zh) * 2010-03-25 2012-08-29 清华大学深圳研究生院 一种固态硬盘动态损耗均衡方法
JP5538970B2 (ja) * 2010-03-25 2014-07-02 キヤノン株式会社 情報処理装置、データ処理方法、プログラム
CN102385902A (zh) * 2010-09-01 2012-03-21 建兴电子科技股份有限公司 固态储存装置及其数据控制方法
IT1404161B1 (it) * 2010-12-30 2013-11-15 Incard Sa Metodo e sistema per migliorare il controllo del limite dei cicli di scrittura di una carta a circuito integrato
CN102073595A (zh) * 2011-01-24 2011-05-25 华亚微电子(上海)有限公司 防断电的损耗平衡存储方法
CN102622310A (zh) * 2011-01-30 2012-08-01 成都市华为赛门铁克科技有限公司 无效数据擦除方法、装置及系统
CN102495806B (zh) * 2011-11-25 2014-09-03 清华大学 相变内存周期性磨损均衡方法及其内存管理方法
US9268686B2 (en) 2011-12-05 2016-02-23 Intel Corporation Background reordering—a preventive wear-out control mechanism with limited overhead
CN102880570B (zh) * 2012-09-05 2016-04-27 记忆科技(深圳)有限公司 固态硬盘的加权磨损均衡方法及系统
TWI524180B (zh) * 2014-08-15 2016-03-01 財團法人資訊工業策進會 位元組定址儲存系統
TWI563509B (en) * 2015-07-07 2016-12-21 Phison Electronics Corp Wear leveling method, memory storage device and memory control circuit unit
CN106354651B (zh) * 2015-07-14 2020-05-26 群联电子股份有限公司 平均磨损方法、存储器控制电路单元及存储器储存装置
CN105550122B (zh) * 2015-12-07 2019-08-30 深圳忆联信息系统有限公司 一种数据处理方法、存储设备、电子设备
CN107368257B (zh) * 2016-05-12 2019-11-12 华为技术有限公司 固态存储器中的数据巡检方法及装置
CN108733577B (zh) * 2017-04-21 2021-10-22 群联电子股份有限公司 存储器管理方法、存储器控制电路单元及存储器存储装置
KR102530583B1 (ko) * 2017-10-31 2023-05-09 삼성전자주식회사 저장 장치 및 메모리 시스템
CN108255740A (zh) * 2017-12-07 2018-07-06 深圳市中易通安全芯科技有限公司 一种flash均衡擦写方法及系统
CN108920386B (zh) * 2018-07-20 2020-06-26 中兴通讯股份有限公司 面向非易失性内存的磨损均衡及访问方法、设备和存储介质
CN111324288B (zh) * 2018-12-14 2024-02-23 兆易创新科技集团股份有限公司 一种存储器
CN111324284B (zh) * 2018-12-14 2024-02-23 兆易创新科技集团股份有限公司 一种存储器
CN111949561B (zh) * 2019-05-17 2024-03-29 兆易创新科技集团股份有限公司 一种存储设备及其控制方法和控制装置
CN111258925B (zh) * 2020-01-20 2022-05-27 中国科学院微电子研究所 非易失内存的访问方法、装置、内存控制器、设备及介质
CN111414138B (zh) * 2020-03-19 2024-02-13 镕铭微电子(济南)有限公司 一种固态硬盘磨损均衡方法和装置
CN113641304B (zh) * 2021-07-05 2023-10-20 深圳市宏旺微电子有限公司 用于管理数据块的方法、装置、终端设备及存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60030876T2 (de) * 1999-04-01 2007-05-03 Lexar Media, Inc., Fremont Bereichsverwaltung eines nichtflüchtigen Speichers mit hoher Kapazität
US7035967B2 (en) * 2002-10-28 2006-04-25 Sandisk Corporation Maintaining an average erase count in a non-volatile storage system
US7441067B2 (en) * 2004-11-15 2008-10-21 Sandisk Corporation Cyclic flash memory wear leveling
US7831783B2 (en) * 2005-12-22 2010-11-09 Honeywell International Inc. Effective wear-leveling and concurrent reclamation method for embedded linear flash file systems
JP4863749B2 (ja) * 2006-03-29 2012-01-25 株式会社日立製作所 フラッシュメモリを用いた記憶装置、その消去回数平準化方法、及び消去回数平準化プログラム
US7409490B2 (en) * 2006-04-15 2008-08-05 Yi-Chun Liu Method of flash memory management
KR100881669B1 (ko) * 2006-12-18 2009-02-06 삼성전자주식회사 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치
US8386697B2 (en) * 2008-09-09 2013-02-26 Phison Electronics Corp. Memory managing method for non-volatile memory and controller using the same

Also Published As

Publication number Publication date
CN101354681A (zh) 2009-01-28
US20100077135A1 (en) 2010-03-25

Similar Documents

Publication Publication Date Title
CN101354681B (zh) 存储器系统、非易失性存储器的磨损均衡方法及装置
CN107066393B (zh) 提高地址映射表中映射信息密度的方法
KR100526190B1 (ko) 플래시 메모리의 재사상 방법
US11232041B2 (en) Memory addressing
US8291155B2 (en) Data access method, memory controller and memory storage system
CN100419714C (zh) 闪存存取方法、闪存文件系统的块替换方法及其管理装置
USRE44052E1 (en) Flash memory management method
CN102841851B (zh) 闪存管理方法和闪存设备
US20050015557A1 (en) Nonvolatile memory unit with specific cache
US20140129758A1 (en) Wear leveling in flash memory devices with trim commands
US20140089564A1 (en) Method of data collection in a non-volatile memory
CN106557432B (zh) 缓冲存储器管理方法、存储器控制电路单元及存储装置
CN107817945B (zh) 一种混合内存结构的数据读取方法和系统
CN109669889B (zh) 一种轻量型Nor Flash闪存控制方法和装置
CN104598386A (zh) 通过追踪和利用二级映射索引重复利用固态驱动器块
KR100914646B1 (ko) 멀티-플레인 구조의 플래시 메모리 관리 방법
US20070005929A1 (en) Method, system, and article of manufacture for sector mapping in a flash device
CN116540950B (zh) 一种存储器件及其写入数据的控制方法
TW201040717A (en) Flash memory managing methods and computing systems utilizing the same
WO2009045010A2 (en) Flash memory mapping management method
CN101739350B (zh) 存储器储存装置及其控制方法
CN113190180A (zh) 一种基于混合介质的存储装置及分布式存储系统
KR100533683B1 (ko) 플래시 메모리의 데이터 관리 장치 및 방법
CN113010091A (zh) 数据写入固态硬盘的方法、垃圾回收的方法、装置
CN106205707A (zh) 存储器装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: VIA TELECOM CO., LTD.

Free format text: FORMER OWNER: MEISHANG WEIRUI ELECTRIC COMPANY

Effective date: 20131025

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20131025

Address after: The Cayman Islands, British West Indies

Patentee after: VIA Telecom Co., Ltd.

Address before: California, Santiago, USA

Patentee before: Meishang Weirui Electric Company

ASS Succession or assignment of patent right

Owner name: WEIRUI DIANTONG (HANGZHOU) CO., LTD.

Free format text: FORMER OWNER: VIA TELECOM CO., LTD.

Effective date: 20140324

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; TO: 310053 HANGZHOU, ZHEJIANG PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20140324

Address after: 310053, Hangzhou, Zhejiang province Binjiang District Jiangnan Avenue innovation building, 16 floor

Patentee after: Via Telecom (Hangzhou) Co., Ltd.

Address before: The Cayman Islands, British West Indies

Patentee before: VIA Telecom Co., Ltd.

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20151208

Address after: The Cayman Islands, British West Indies

Patentee after: VIA Telecom Co., Ltd.

Address before: 310053, Hangzhou, Zhejiang province Binjiang District Jiangnan Avenue innovation building, 16 floor

Patentee before: Via Telecom (Hangzhou) Co., Ltd.

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160829

Address after: American California

Patentee after: Intel Corporation

Address before: The Cayman Islands, British West Indies

Patentee before: VIA Telecom Co., Ltd.