CN103425598A - 数据储存装置和快闪存储器的区块管理方法 - Google Patents

数据储存装置和快闪存储器的区块管理方法 Download PDF

Info

Publication number
CN103425598A
CN103425598A CN2013100956896A CN201310095689A CN103425598A CN 103425598 A CN103425598 A CN 103425598A CN 2013100956896 A CN2013100956896 A CN 2013100956896A CN 201310095689 A CN201310095689 A CN 201310095689A CN 103425598 A CN103425598 A CN 103425598A
Authority
CN
China
Prior art keywords
data
block
paging
spare
controller
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
Application number
CN2013100956896A
Other languages
English (en)
Other versions
CN103425598B (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.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN103425598A publication Critical patent/CN103425598A/zh
Application granted granted Critical
Publication of CN103425598B publication Critical patent/CN103425598B/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/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

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

数据储存装置和快闪存储器的区块管理方法
技术领域
本发明有关于一种快闪存储器,特别有关于一种快闪存储器的区块管理方法。
背景技术
快闪存储器是一种可被电性抹除及重新程序化的非挥发性的电脑储存芯片。快闪存储器适用于一般数据的储存和传输,主要使用在存储卡、USB快闪存储器、固态硬盘(solid-state drives)以及相似的产品。举例而言,应用快闪存储器的装置包括个人电脑、个人数字助理(PDAs)、数字声音播放装置(digital audio players)、数字相机、移动电话、影音游戏机(video games)等。除了具有非挥发性之外,快闪存储还提供如同动态随机存取存储器(dynamic RAM)般的快速读取时间,虽然速度上仍不如静态随机存取存储器(static RAM)或是只读存储器(ROM)。由于非挥发性、固态储存装置的大量需求,使得目前快闪存储器的售价已经远低于可位元组程序化(byte-programmable)的电子抹除式可复写只读存储器(EEPROM)并且已经成为主流的存储器类型。
因此,需要一种合适的快闪存储器管理方法,用来改善快闪存储器的效能。
发明内容
本发明的目的在于提供一种快闪存储器的区块管理方法,用来改善快闪存储器的效能。
一种数据储存装置,耦接至一主机,并包括一快闪存储器以及一控制器。快闪存储器包括一备用区块池以及一数据区块池,其中备用区块池包括数个备用区块以及数据区块池包括数个数据区块。控制器接收来自主机的一目标数据,将目标数据写至一目前数据区块中,决定一目前程序化的分页是否为该目前数据区块的一第一分页,当目前程序化的分页不是第一分页时,决定一数据搬移信息是否已设定,并且当数据搬移信息已设定时,在一有限的时间区间中根据数据搬移信息执行部分的一数据搬移程序。
本发明亦提供一种快闪存储器的区块管理方法,其中一数据储存装置耦接至一主机,数据储存装置包括一快闪存储器以及一控制器。快闪存储器包括一备用区块池以及一数据区块池,备用区块池包括数个备用区块,数据区块池包括数个数据区块,以及一备用区块数量用以表示备用区块的总数量。快闪存储器的区块管理方法包括从主机接收一目标数据;将目标数据写入一目前数据区块;决定一目前程序化的分页是否为目前数据区块的第一分页;当目前程序化的分页为第一分页时,决定备用区块数量是否小于一备用区块数量临界值;以及当备用区块数量小于备用区块数量临界值时,设定用于一数据合并程序的一数据搬移信息。
附图说明
图1为根据本发明数据储存装置的示意图。
图2为根据本发明快闪存储器的区块管理方法的流程图。
图3为根据本发明目前数据区块的示意图。
图4为根据本发明从数据区块池中得到备用区块的方法流程图。
图5为根据本发明用以计算监禁临界值及热门临界值的示意图。
图6为根据本发明数据合并程序的示意图。
图7为根据本发明耗损平衡程序的示意图。
图8为根据本发明数据储存装置的另一示意图。
图9为根据本发明数个存储器区域的区块管理方法的流程图。
符号说明:
100、800  数据储存装置
102、802  控制器
104  快闪存储器
120  监禁池
110、812、822、832  备用区块池
130、814、824、834  数据区块池
111~11n  备用区块
121~12k  监禁区块
131~13m  数据区块
300  目前数据区块
301~30x  分页
311~314、D5  数据
WL_TH1  第一差值
WL_TH2  第二差值
502、503、504  区块
601、602、603、604、701、701’   来源数据区块;
610、711、711’   终点备用区块
D1、D2、D3、D4  有效数据
810、820、830  快闪存储器区域
具体实施方式
以下说明是执行本发明的最佳模式。习知技艺者应能知悉在不脱离本发明的精神和架构的前提下,当可作些许更动、替换和置换。本发明的范畴当视权利要求书而定。
图1为本发明的数据储存装置100的方块图。在一实施例中,数据储存装置100包括控制器102以及快闪存储器104。快闪存储器104包括用以储存数据的数个区块。在一实施例中,快闪存储器104包括备用区块池(spare block pool)110以及数据区块池(data block pool)130。备用区块池110包括用以储存无效数据的数个备用区块111~11n。数据区块池130包括用以储存数据的数个数据区块131~13m。在一实施例中,数据储存装置100耦接至一主机。控制器102根据主机所送出的指令管理快闪存储器104内的区块。快闪存储器104根据一实体地址指定一区块,而主机根据逻一辑地址指定一区块。因此,控制器102必须将主机所送出的一逻辑地址转换成一实体地址。在一实施例中,控制器102将区块的逻辑地址及实体地址间的对应关系纪录在一地址链结表内。
每一个数据区块131~13m包括数个分页。当数据储存在数据区块的一分页时,该分页被称为一数据分页。当该分页具有一对应的逻辑地址时,该分页称为有效分页。在一实施例中,控制器102个别地计算数据区块131~13m中每一数据区块的有效分页的总数用以获得一有效分页数量,并且将数据区块131~13m的有效分页数量记录到一有效数量表中。另外,区块被抹除的次数被称为该区块的抹除次数。在一实施例中,控制器102亦将快闪存储器104中所有区块的抹除次数纪录在一抹除次数表中。
图2为根据本发明用于管理快闪存储器104的区块的方法200的流程图。当主机送出将被写入数据储存装置100的目标数据时,控制器接收该目标数据(步骤202),接着将目标数据写入目前数据区块(步骤204)。参考图3,图3为快闪存储器104中的一目前数据区块300的示意图。目前数据区块300包括数个分页。目前数据区块300可被用来储存对应到不同逻辑地址的数据分页。举例而言,储存在分页301的数据311对应到逻辑地址L1,储存在分页302的数据312对应到逻辑地址L2以及储存在分页303的数据313对应到逻辑地址L3。
在该目标数据被写入目前数据区块后,控制器102接着决定目前数据区块是否已写满数据(步骤206)。在一实施例中,当控制器102目前程序化的分页(programming page)为目前数据区块的最后分页时,则控制器102决定目前数据区块为写满的,接着控制器102根据目前数据区块的信息更新数个数据表(步骤208)。在一实施例中,所更新的该等数据表包括一地址链结表以及一有效分页数量表。因为储存在目前数据区块的分页中的数据分别地对应到不同的逻辑地址,因此控制器102必须写下目前数据区块的分页的实体地址与储存在此数据的逻辑地址两者间的映射关系(mapping relationship)至地址链结表。另外,当主机删除或更新一分页时,该分页将被标记为无效分页。控制器102必须计算在一区块中有效分页的总数用以决定在该区块中的有效分页数量,并且将有效分页数量写至有效分页数量表。在更多的数据被删除及/或被再次更新之后,在数据区块池130中的某些数据区块所储存的分页将不具有有效分页,且它们的有效分页数量将被设定为零。之后,这些有效分页数量为零的数据区块将被设为备用区块,并且由数据区块池130中移至备用区块池110(步骤210)。步骤210将在图4中被更仔细地解说。控制器102继续从备用区块池110中取得一备用区块并指派该备用区块为目前数据区块,用以接收由主机所送出的新数据(步骤212)。
图5为根据本发明用以计算监禁临界值(jail threshold value)及热门临界值(hotthreshold value)的示意图。在快闪存储器104中所有的区块皆具有一抹除次数。当控制器102将一区块设为备用区块并且将该区块放至备用区块池时,则该区块的抹除次数会增加一次。快闪存储器104的区块的最小抹除次数会随着时间而增加,且在某些情况下,具有最小抹除次数的区块会有所改变。因此,根据快闪存储器104中所有区块的抹除次数的改变,控制器102会频繁地决定该最小抹除次数。如图5所示,当最小抹除次数被决定之后,控制器102会将第一差值WL_TH1加上该最小抹除次数用以取得一热门临界值,以及将第二误差WL_TH2加上该最小抹除次数以取得一监禁临界值。在某一实施例中,该第一差值WL_TH1小于该第二差值WL_TH2。在此,该第二差值WL_TH2大于该第一差值WL_TH1,因此该监禁临界值会大于该热门临界值。当一区块的抹除次数大于热门临界值,则控制器102会将该区块决定为一热门区块。当一区块的抹除次数大于该监禁临界值,则控制器102会将该区块决定为一监禁区块,并将该监禁区块放至图1所示的监禁池(jailpool)120。举例而言,图5所示的区块502、503以及504具有抹除次数大于监禁临界值,因此被置放于监禁池120中。虽然监禁区块121~12k也是备用区块,当控制器102要从备用区块池110中撷取用于储存数据的新备用区块时,控制器102并不会撷取监禁区块。因此,除非将来该监禁区块被释出,否则该监禁区块的抹除次数不会被增加。
图4为从数据区块池130中得到备用区块的方法400的流程图。方法400包括用以执行图2所示的方法200中步骤210的详细步骤。首先,控制器102决定由快闪存储器104的区块的抹除次数的一最小抹除次数,并且根据该最小抹除次数来计算一监禁临界值。在更新监禁临界值之后,在监禁池120中的某些监禁区块121~12k的抹除次数将小于更新后的监禁临界值。因此,控制器102将监禁池120中监禁区块121~12k的抹除次数与监禁临界值比较,当监禁区块121~12k的抹除次数小于监禁临界值时,则从监禁池120将该监禁区块释出至备用区块池110(步骤402)。
在数据区块池130中的某些数据区块131~13m不具有有效数据并且有效分页数为零。因此,在步骤404中,控制器102搜寻数据区块池130中任何具有有效分页数为零的目标区块,然后进入步骤406,将该等目标区块放至备用区块池110中并且对该等目标区块的抹除次数加一。在步骤408中,控制器102将会决定是否有任何的目标区块的抹除次数大于监禁临界值。若步骤408中决定结果为是,则进入步骤412。在步骤412中,控制器102将抹除次数大于监禁临界值的目标区块放至监禁池120。若步骤408中决定结果为否,则进入步骤410。在步骤410中,控制器102将会决定是否有任何目标区块的抹除次数大于热门临界值。若步骤410中决定结果为是,则进入步骤414。在步骤414中,控制器102决定该目标区块为热门区块,并且将决定为热门区块的目标区块的数量加至热门区块的数量。
参考图2。在步骤204中,当该目标数据被写入目前数据区块之后进入步骤206。在步骤206中,控制器102将会决定目前数据区块是否已写满数据。若步骤206中决定结果为否,则进入步骤214。在步骤214中,控制器102决定目前程序化的分页是否为目前数据区块的第一分页。若决定结果为是,则进入步骤216。举例而言,控制器目前程序化的分页为图3所示的分页301,且分页301为目前数据区块300的第一分页,则控制器102决定一备用区块数量是否小于一备用区块数量临界值(步骤216)。备用区块数量为在备用区块池110中备用区块的总数。在一实施例中,备用区块数量临界值为15。假设一备用区块由备用区块池中得到,并且被抹除成为一新的目前数据区块,则在备用区块池中的备用区块总数将少一。在步骤216中,当备用区块数量小于备用区块数量临界值时,则进入步骤218。在步骤218中,控制器102设定用于一数据合并程序所需的一数据搬移信息,以便启始数据合并程序,用以增加备用区块的数量。
在一实施例中,用以启始数据合并程序的数据搬移信息包括具有将被合并数据的数个来源数据区块的实体地址以及将被写入合并数据的终点备用区块(destination spare block)的实体地址。控制器102从数据区块池130中选择具有最小有效分页数量的数个数据区块作为来源数据区块,并且取得一备用区块作为终点备用区块。图6为根据本发明的一数据合并程序的示意图。当数据合并程序开始时,从数据区块池130中选取具有最小有效分页数量的四个来源数据区块601、602、603以及604,并且从备用池中选取终点备用区块610。然后控制器102抹除终点备用区块610并且将来源数据区块601、602、603以及604的有效数据D1、D2、D3以及D4合并在RAM(未图示)中用以获得一合并数据(D1+D2+D3+D4)。控制器102将合并数据(D1+D2+D3+D4)写入终点备用区块610。最后,控制器102将来源数据区块601、602、603以及604放至备用区块池110,并且将被写入合并数据(D1+D2+D3+D4)的终点备用区块610放至数据区块池130。因此,在执行数据合并程序之后,位于备用区块池中的备用区块总数将会增加三。
参考图2。当目前程序化的分页为目前数据区块的第一分页(步骤214),并且备用区块数量大于备用区块数量临界值(步骤216)时,则控制器102将决定热门区块数量是否大于零(步骤220)。热门区块数量为在备用区块池中110具有抹除次数大于热门临界值的热门区块总数量。因为该等热门区块具有高的抹除次数,若备用区块池110中包括大量的热门区块,因此控制器102必须从备用区块池110中撷取热门区块,并且对数据池中具有最小抹除次数的一数据区块执行一耗损平衡程序(wear-level process)。因此,当备用区块数量大于备用区块数量临界值并且热门区块数量大于零(步骤220)时,则控制器102设定用以耗损平衡程序的数据搬移信息,以便启动耗损平衡程序,使得热门区块数量减少(步骤222)。
在一实施例中,用以启动耗损平衡程序的数据搬移信息包括将被复制数据的至少一来源数据区块的实体地址以及用于写入数据的至少一终点备用区块的实体地址。当在备用区块池110中具有数个热门区块时,控制器102决定该等热门区块为该等终点备用区块。因为具有低抹除次数的数据区块所储存的数据具有低的更新机率,因此控制器102从数据区块池130中选择具有低抹除次数的数个数据区块作为来源数据区块。图7为根据本发明的耗损平衡程序的示意图。当耗损平衡程序开始时,由数据区块池130中选择具有最小抹除次数的来源数据区块701以及由备用区块池110中选择终点备用区块711。接着,控制器102抹除终点备用区块711,并且将所复制的数据D5写入终点备用区块711’。然后,具有低抹除次数的来源数据区块701’被置放至备用区块池110,并且来自备用区块池110具有高抹除次数的终点备用区块711’会被置放至数据区块池130。因此,在执行完耗损平衡程序之后,备用区块池110中热门区块的总数将减少一个。
参考图2。当该目标数据所写入的目前程序化的分页不是目前数据区块的第一分页(步骤214)时,则控制器102决定数据搬移信息是否被设定(步骤224)。若用于数据合并程序或是耗损平衡程序的数据搬移信息已被设定,则控制器102在有限的时间区间中根据数据搬移信息执行部分的数据合并程序或是耗损平衡程序(步骤226)。该有限的时间区间是由主机和数据储存装置104间数据传输所需时间的标准决定。举例而言,当主机送出一写入指令以及送出目标数据到控制器102之后,该主机必须在有限的时间区间100毫秒~300毫秒间收到关于执行完毕的回应信息,并且控制器102只能在有限的时间区间执行数据合并程序或是耗损平衡程序。
控制器102会由于有限的时间区间而将数据合并程序或是耗损平衡程序中数据搬移的操作,切成数个数据搬移程序。当一新的目标数据被写入目前程序化的分页后(步骤204),若目前程序化的分页并不是目前数据区块的第一分页(步骤214),则在有限的时间区间中用于数据合并程序或是耗损平衡程序的数据搬移的数个部份操作程序的一者将会被执行。举例而言,如图6所示,当用于数据合并程序的数据搬移信息被设定(步骤224),控制器102在有限的时间区间中,从来源数据区块601、602、603以及604中选取数个具有有效数据的目标分页,并且从目标分页中将有效数据复制至终点备用区块610。举例而言,如图7所示,当用于耗损平衡程序的数据搬移信息被设定(步骤224),控制器102在有限的时间区间中,从来源数据区块701中选取数个目标分页,并且从目标分页将数据复制至终点备用区块711。在数个新的写入指令被执行之后,用于数据合并程序或是耗损平衡程序的数据搬移操作也被完成。
图8为本发明中可切换存储器区域的数据储存装置800的方块图。数据储存装置800包括控制器802以及数个快闪存储器区域810、820以及830。在一实施例中,快闪存储器区域810、820以及830分别为不同的快闪存储器芯片。举例来说,快闪存储器区域810为具有单阶储存单元(single-bit per cell;SLC)的快闪存储器,快闪存储器区域820为具有二阶储存单元(2 bi tper cell;MLC)的快闪存储器以及快闪存储器区域830为具有三阶储存单元(3 bit per cell;TLC)的快闪存储器。在另一实施例中,快闪存储器区域810、820以及830为单一快闪存储器内的数个存储器分割区间。每一快闪存储器区域810、820以及830包括一备用区块池以及一数据区块池。控制器802独立地管理位于每一快闪存储器区域810、820以及830中的区块。举例而言,控制器802在单一快闪存储器区域的备用区块池以及数据区块池之间执行数据合并程序或是耗损平衡程序。当执行区块管理时,控制器802并不会将一快闪存储器区域的区块的数据与其他快闪存储器区域的数据做交换。
图9为根据本发明中用于管理存储器区域810、820以及830的方法900的流程图。首先,控制器802接收来自主机的目标数据(步骤902)。然后,控制器802自数个快闪存储器区域810、820以及830中,决定出用以写入目标数据的一目标存储器区域(步骤904)。然后,控制器802根据该目标存储器区域,设定一实体地址范围参数(步骤906)。在一实施例中,实体地址范围参数包括一开始地址参数以及一结束地址参数,并且控制器802设定该开始地址参数为目标存储器区域的开始地址,并且设定该结束地址参数为目标存储器区域的结束地址。然后,控制器802根据目标存储器区域,设定一备用区块池参数(步骤908)。在一实施例中,控制器802将目标存储器区域的备用区块池中的备用区块的实体地址纪录至备用区块池参数中。然后,控制器802将目标数据写入目标存储器区域的目前数据区块中(步骤910)。
控制器802根据图2所示的方法200中的步骤206~226,对目标存储器区域的数个区块执行数据合并程序或是耗损平衡程序。换句话说,控制器802对目标存储器区域的数据区块池内的数个数据区块执行数据合并程序(步骤912),或于目标存储器区域的备用区块池中的数个备用区块与目标存储器区域的数据区块池中的数个数据区块之间执行耗损平衡程序(步骤914)。在步骤912中的数据合并程序或是步骤914中的耗损平衡程序中数据搬移信息的设定与步骤218或222中的所示者相同,并且执行于步骤912中的数据合并程序或是步骤914中的耗损平衡程序也与步骤226相同。因此,控制器802可以独立地管理目标存储器区域内的区块,而不需要同时管理其他快闪存储器区域内的区块。

Claims (18)

1.一种数据储存装置,耦接至一主机,其特征在于,该数据储存装置包括:
一快闪存储器,包括一备用区块池以及一数据区块池,其中该备用区块池包括数个备用区块,以及该数据区块池包括数个数据区块;以及
一控制器,接收来自该主机的一目标数据,将该目标数据写至一目前数据区块中,决定一目前程序化的分页是否为该目前数据区块的一第一分页,当该目前程序化的分页不是该第一分页时,决定一数据搬移信息是否已设定,并且当该数据搬移信息已设定时,在一有限的时间区间中根据该数据搬移信息执行部分的一数据搬移程序。
2.如权利要求1所述的数据储存装置,其特征在于,该有限的时间区间是由该主机和该数据储存装置之间的数据传输标准所决定。
3.如权利要求1所述的数据储存装置,其特征在于,该数据搬移程序为一数据合并程序或是一耗损平衡程序。
4.如权利要求3所述的数据储存装置,其特征在于,当该目前程序化的分页为该第一分页时,该控制器决定该备用区块数量是否小于一备用区块数量临界值,并且当该备用区块数量小于该备用区块数量临界值时,设定该数据合并程序所使用的该数据搬移信息,其中该数据合并程序所使用的该数据搬移信息包括数个来源数据区块的数个实体地址,以及数个终点备用区块的数个实体地址。
5.如权利要求4所述的数据储存装置,其特征在于,当该控制器已设定该数据合并程序所使用的该数据搬移信息时,则该控制器从该数据区块池中选择具有最小有效分页数量的所述数据区块作为所述来源数据区块,并且从该备用区块池中取得该终点备用区块。
6.如权利要求3所述的数据储存装置,其特征在于,该数据合并程序所使用的该数据搬移信息包括数个来源数据区块以及一终点备用区块的实体地址,并且当该控制器执行该数据合并程序时,该控制器将储存在所述来源数据区块的数据合并用以获得一合并数据,将该合并数据写入该终点备用区块。
7.如权利要求3所述的数据储存装置,其特征在于,当该目前程序化的分页为该第一分页时,该控制器决定该热门区块数量是否大于零,并且当该热门区块数量大于零时,设定用于该耗损平衡程序的一数据搬移信息,其中该耗损平衡程序所使用的该数据搬移信息包括数个来源数据区块的所述实体地址,以及数个终点备用区块的所述实体地址。
8.如权利要求7所述的数据储存装置,其特征在于,当该控制器设定该耗损平衡程序所使用的该数据搬移信息时,该控制器从该数据区块池中选择具有最小抹除次数的所述数据区块作为所述来源数据区块,并且从该备用区块池中选择具有最大抹除次数的该热门区块作为该终点备用区块。
9.如权利要求7所述的数据储存装置,其特征在于,当该控制器在该有限的时间区间中执行部份的该耗损平衡程序时,该控制器从该来源数据区块中选取一目标分页,并且在该有限的时间区间中将数据从该目标分页复制至该终点备用区块。
10.一种快闪存储器的区块管理方法,其特征在于,一数据储存装置耦接至一主机,该数据储存装置包括一快闪存储器以及一控制器,该快闪存储器包括一备用区块池以及一数据区块池,该备用区块池包括数个备用区块,以及该数据区块池包括数个数据区块,该快闪存储器的区块管理方法包括:
接收来自该主机的一目标数据;
将该目标数据写入一目前数据区块;
决定一目前程序化的分页是否为该目前数据区块的第一分页;
当该目前程序化的分页不是该第一分页时,决定一数据搬移信息是否已设定;以及
当该数据搬移信息已设定时,在一有限的时间区间中根据该数据搬移信息,执行一数据搬移程序。
11.如权利要求10所述的快闪存储器的区块管理方法,其特征在于,该有限的时间区间是由该主机和该数据储存装置之间的数据传输标准所决定。
12.如权利要求10所述的快闪存储器的区块管理方法,其特征在于,该数据搬移程序为一数据合并程序或是一耗损平衡程序。
13.如权利要求12所述的快闪存储器的区块管理方法,其特征在于,该方法更包括:
当该目前程序化的分页为该第一分页时,决定一备用区块数量是否小于一备用区块数量临界值;以及
当该备用区块数量小于该备用区块数量临界值时,设定该数据合并程序所使用的该数据搬移信息;
其中用于该数据合并程序的该数据搬移信息包括数个来源数据区块的数个实体地址,以及数个终点备用区块的数个实体地址。
14.如权利要求13所述的快闪存储器的区块管理方法,其特征在于,设定该数据合并程序所使用的该数据搬移信息的步骤包括:
从该数据区块池中选择具有最小有效分页数量的所述数据区块作为所述来源数据区块;以及
从该备用区块池中取得该终点备用区块。
15.如权利要求14所述的快闪存储器的区块管理方法,其特征在于,该数据合并程序所使用的该数据搬移信息包括数个来源数据区块以及一终点备用区块的实体地址,并且执行该数据合并程序的步骤包括:
将储存在所述来源数据区块的数据合并用以获得一合并数据;以及
将该合并数据写入该终点备用区块。
16.如权利要求10所述的快闪存储器的区块管理方法,其特征在于,该方法更包括:
其中当该目前程序化的分页为该第一分页时,决定该热门区块数量是否大于零;以及
当该热门区块数量大于零时,设定该耗损平衡程序所使用的一数据搬移信息;
其中该耗损平衡程序所使用的该数据搬移信息包括数个来源数据区块的所述实体地址,以及数个终点备用区块的所述实体地址。
17.如权利要求16所述的快闪存储器的区块管理方法,其特征在于,设定用于该耗损平衡程序的该数据搬移信息的步骤包括:
从该数据区块池中选择具有最小抹除次数的所述数据区块作为所述来源数据区块;以及
从该备用区块池中选择具有最大抹除次数的该热门区块作为该终点备用区块。
18.如权利要求17所述的快闪存储器的区块管理方法,其特征在于,在有限的时间区间中执行该耗损平衡程序的部份步骤包括:
从该来源数据区块选取一目标分页;以及
在该有限的时间区间中将数据从该目标分页复制至该终点备用区块。
CN201310095689.6A 2012-05-18 2013-03-22 数据储存装置和快闪存储器的区块管理方法 Active CN103425598B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/474,801 2012-05-18
US13/474,801 US9116792B2 (en) 2012-05-18 2012-05-18 Data storage device and method for flash block management

Publications (2)

Publication Number Publication Date
CN103425598A true CN103425598A (zh) 2013-12-04
CN103425598B CN103425598B (zh) 2017-04-19

Family

ID=49582277

Family Applications (6)

Application Number Title Priority Date Filing Date
CN201310093479.3A Active CN103425595B (zh) 2012-05-18 2013-03-22 数据储存装置和闪存的区块管理方法
CN201310096094.2A Active CN103425588B (zh) 2012-05-18 2013-03-22 数据储存装置和快闪存储器的区块管理方法
CN201310095689.6A Active CN103425598B (zh) 2012-05-18 2013-03-22 数据储存装置和快闪存储器的区块管理方法
CN2013100934859A Pending CN103425596A (zh) 2012-05-18 2013-03-22 数据储存装置和快闪存储器的区块管理方法
CN201310095017.5A Active CN103425597B (zh) 2012-05-18 2013-03-22 数据储存装置和快闪存储器的区块管理方法
CN2013100963692A Pending CN103425599A (zh) 2012-05-18 2013-03-22 数据储存装置和快闪存储器的区块管理方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN201310093479.3A Active CN103425595B (zh) 2012-05-18 2013-03-22 数据储存装置和闪存的区块管理方法
CN201310096094.2A Active CN103425588B (zh) 2012-05-18 2013-03-22 数据储存装置和快闪存储器的区块管理方法

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN2013100934859A Pending CN103425596A (zh) 2012-05-18 2013-03-22 数据储存装置和快闪存储器的区块管理方法
CN201310095017.5A Active CN103425597B (zh) 2012-05-18 2013-03-22 数据储存装置和快闪存储器的区块管理方法
CN2013100963692A Pending CN103425599A (zh) 2012-05-18 2013-03-22 数据储存装置和快闪存储器的区块管理方法

Country Status (3)

Country Link
US (6) US9116792B2 (zh)
CN (6) CN103425595B (zh)
TW (6) TWI590150B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108139980A (zh) * 2015-10-19 2018-06-08 瑞典爱立信有限公司 用于合并存储器页的方法和存储器合并功能
CN108509349A (zh) * 2017-02-27 2018-09-07 立而鼎科技(深圳)有限公司 一种nand flash的数据源区块回收方法及固态硬盘
CN110888593A (zh) * 2018-09-07 2020-03-17 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010125574A1 (en) * 2009-04-27 2010-11-04 Kamlesh Gandhi Description
KR102067029B1 (ko) * 2012-12-13 2020-01-16 삼성전자주식회사 반도체 메모리 장치 및 메모리 시스템
US9632926B1 (en) * 2013-05-16 2017-04-25 Western Digital Technologies, Inc. Memory unit assignment and selection for internal memory operations in data storage systems
KR102164630B1 (ko) * 2013-06-28 2020-10-12 삼성전자주식회사 메모리 컨트롤러 및 상기 메모리 컨트롤러의 동작 방법
US9235486B1 (en) * 2013-09-30 2016-01-12 Symantec Corporation Techniques for spare storage pool management
US9329992B2 (en) * 2013-12-04 2016-05-03 Silicon Motion, Inc. Data storage device and flash memory control method
CN103631538B (zh) * 2013-12-05 2017-04-05 华为技术有限公司 冷热数据识别门限值计算方法、装置和***
CN103761193B (zh) * 2013-12-17 2016-09-14 记忆科技(深圳)有限公司 抑制逻辑页碎片产生的方法及***
CN103823640B (zh) * 2014-03-03 2017-12-01 山西科泰航天防务技术股份有限公司 一种Flash存储器的高效率存储方法
TWI516922B (zh) * 2014-03-12 2016-01-11 慧榮科技股份有限公司 資料儲存裝置及快閃記憶體零散資料收集方法
CN105468538B (zh) * 2014-09-12 2018-11-06 华为技术有限公司 一种内存迁移方法及设备
CN105489246B (zh) * 2014-09-16 2018-10-19 华邦电子股份有限公司 Nor闪存及其修补方法
US9740425B2 (en) * 2014-12-16 2017-08-22 Sandisk Technologies Llc Tag-based wear leveling for a data storage device
KR102513491B1 (ko) * 2015-07-15 2023-03-27 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
TWI585770B (zh) * 2015-08-11 2017-06-01 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
KR102333746B1 (ko) * 2015-09-02 2021-12-01 삼성전자주식회사 재사용 주기에 따라 마모도를 관리하는 저장 장치의 동작 방법
TWI561985B (en) * 2015-10-22 2016-12-11 Silicon Motion Inc Data storage device and data maintenance method thereof
US9983963B2 (en) * 2015-11-09 2018-05-29 Alibaba Group Holding Limited System and method for exploiting hard disk drive capacity reserve and extending operating life thereof
US10387329B2 (en) * 2016-02-10 2019-08-20 Google Llc Profiling cache replacement
US20170277629A1 (en) * 2016-03-25 2017-09-28 Alibaba Group Holding Limited Extending the useful lifespan of nonvolatile memory
TWI652572B (zh) 2016-03-31 2019-03-01 慧榮科技股份有限公司 資料儲存裝置
TWI614605B (zh) * 2016-03-31 2018-02-11 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
TWI590051B (zh) 2016-06-21 2017-07-01 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法
TWI615710B (zh) * 2016-12-14 2018-02-21 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
US10423337B2 (en) * 2016-12-27 2019-09-24 SK Hynix Inc. Controller processing data based on a plurality of values and operating method thereof
US10380028B2 (en) 2016-12-30 2019-08-13 Western Digital Technologies, Inc. Recovery of validity data for a data storage system
CN108877863B (zh) * 2017-05-16 2020-08-04 华邦电子股份有限公司 快闪存储器存储装置及其操作方法
KR20180125694A (ko) * 2017-05-16 2018-11-26 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
CN108089994B (zh) * 2018-01-04 2021-06-01 威盛电子股份有限公司 存储装置以及数据保存方法
CN108563397B (zh) 2018-01-04 2021-08-24 威盛电子股份有限公司 存储装置以及数据保存方法
CN110058794B (zh) * 2018-01-19 2022-11-01 上海宝存信息科技有限公司 用于动态执行垃圾回收数据储存装置与操作方法
US10936199B2 (en) * 2018-07-17 2021-03-02 Silicon Motion, Inc. Flash controllers, methods, and corresponding storage devices capable of rapidly/fast generating or updating contents of valid page count table
US10795576B2 (en) 2018-11-01 2020-10-06 Micron Technology, Inc. Data relocation in memory
CN109669889B (zh) * 2018-12-24 2021-03-02 青岛方寸微电子科技有限公司 一种轻量型Nor Flash闪存控制方法和装置
TWI702497B (zh) * 2018-12-26 2020-08-21 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
CN111949199B (zh) * 2019-05-16 2024-04-26 兆易创新科技集团股份有限公司 一种存储设备的数据写入方法、装置及存储设备
CN110347612A (zh) * 2019-06-04 2019-10-18 华南理工大学 一种适用于固态盘的动态调整垃圾回收方法
CN112115067A (zh) 2019-06-21 2020-12-22 慧荣科技股份有限公司 闪存物理资源集合管理装置及方法及计算机可读取存储介质
CN113032288B (zh) * 2019-12-25 2023-02-28 杭州海康存储科技有限公司 冷热数据阈值的确定方法、装置及设备
TWI748410B (zh) * 2020-04-15 2021-12-01 慧榮科技股份有限公司 用來針對非揮發性記憶體進行區塊管理的方法以及設備
CN112433674B (zh) * 2020-11-16 2021-07-06 连邦网络科技服务南通有限公司 一种计算机用数据迁移***及方法
US11645198B2 (en) * 2020-12-08 2023-05-09 International Business Machines Corporation Buffer pool maintenance improvement
US11966618B2 (en) 2021-08-25 2024-04-23 Western Digital Technologies, Inc. Purposeful super device imbalance for ZNS SSD efficiency
US11960753B2 (en) 2021-08-25 2024-04-16 Western Digital Technologies, Inc. Solution for super device imbalance in ZNS SSD
US12009038B2 (en) * 2022-04-20 2024-06-11 Micron Technology, Inc. Memory device wear leveling
US20240045602A1 (en) * 2022-08-03 2024-02-08 Capital One Services, Llc Systems and methods for adaptive data partitioning within cluster systems

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1537277A (zh) * 2001-07-27 2004-10-13 ���µ�����ҵ��ʽ���� 用于合并存贮的数据项的按块擦除存储***和方法
US20090089485A1 (en) * 2007-09-27 2009-04-02 Phison Electronics Corp. Wear leveling method and controller using the same

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8027194B2 (en) * 1988-06-13 2011-09-27 Samsung Electronics Co., Ltd. Memory system and method of accessing a semiconductor memory device
US5956473A (en) * 1996-11-25 1999-09-21 Macronix International Co., Ltd. Method and system for managing a flash memory mass storage system
US20080195798A1 (en) * 2000-01-06 2008-08-14 Super Talent Electronics, Inc. Non-Volatile Memory Based Computer Systems and Methods Thereof
US20050204187A1 (en) * 2004-03-11 2005-09-15 Lee Charles C. System and method for managing blocks in flash memory
US6895464B2 (en) * 2002-06-03 2005-05-17 Honeywell International Inc. Flash memory management system and method utilizing multiple block list windows
US7254668B1 (en) * 2002-10-28 2007-08-07 Sandisk Corporation Method and apparatus for grouping pages within a block
US6985992B1 (en) 2002-10-28 2006-01-10 Sandisk Corporation Wear-leveling in non-volatile storage systems
US6973531B1 (en) * 2002-10-28 2005-12-06 Sandisk Corporation Tracking the most 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
US20050120265A1 (en) 2003-12-02 2005-06-02 Pline Steven L. Data storage system with error correction code and replaceable defective memory
US20080082736A1 (en) * 2004-03-11 2008-04-03 Chow David Q Managing bad blocks in various flash memory cells for electronic data flash card
US7984084B2 (en) * 2005-08-03 2011-07-19 SanDisk Technologies, Inc. Non-volatile memory with scheduled reclaim operations
US7853749B2 (en) * 2005-09-01 2010-12-14 Cypress Semiconductor Corporation Flash drive fast wear leveling
US7594087B2 (en) * 2006-01-19 2009-09-22 Sigmatel, Inc. System and method for writing data to and erasing data from non-volatile memory
US7653778B2 (en) * 2006-05-08 2010-01-26 Siliconsystems, Inc. Systems and methods for measuring the useful life of solid-state storage devices
JP4700562B2 (ja) 2006-05-18 2011-06-15 株式会社バッファロー データ記憶装置およびデータ記憶方法
US7953954B2 (en) * 2007-01-26 2011-05-31 Micron Technology, Inc. Flash storage partial page caching
CN101281492B (zh) * 2007-04-04 2011-02-02 扬智科技股份有限公司 恢复闪存的对照表的方法
US7689762B2 (en) 2007-05-03 2010-03-30 Atmel Corporation Storage device wear leveling
KR100857761B1 (ko) * 2007-06-14 2008-09-10 삼성전자주식회사 웨어 레벨링을 수행하는 메모리 시스템 및 그것의 쓰기방법
CN101409108B (zh) * 2007-10-09 2011-04-13 群联电子股份有限公司 平均磨损方法及使用此方法的控制器
US8122179B2 (en) * 2007-12-14 2012-02-21 Silicon Motion, Inc. Memory apparatus and method of evenly using the blocks of a flash memory
KR101454817B1 (ko) * 2008-01-11 2014-10-30 삼성전자주식회사 반도체 메모리 장치 및 그것의 마모도 관리 방법
JP4675985B2 (ja) * 2008-03-01 2011-04-27 株式会社東芝 メモリシステム
CN101566969B (zh) * 2008-04-21 2011-05-18 群联电子股份有限公司 提升非易失性存储器存储装置的管理效能的方法及控制器
US8275928B2 (en) * 2008-05-15 2012-09-25 Silicon Motion, Inc. Memory module and method for performing wear-leveling of memory module using remapping, link, and spare area tables
US8959280B2 (en) * 2008-06-18 2015-02-17 Super Talent Technology, Corp. Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear
US8843691B2 (en) * 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
TWI389125B (zh) * 2008-07-18 2013-03-11 A Data Technology Co Ltd 記憶體儲存裝置及其控制方法
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
US8219781B2 (en) * 2008-11-06 2012-07-10 Silicon Motion Inc. Method for managing a memory apparatus, and associated memory apparatus thereof
TWI413931B (zh) 2009-01-15 2013-11-01 Phison Electronics Corp 快閃記憶體資料之存取方法及其儲存系統與控制系統
US20100235605A1 (en) * 2009-02-13 2010-09-16 Nir Perry Enhancement of storage life expectancy by bad block management
TWI409819B (zh) * 2009-03-03 2013-09-21 Silicon Motion Inc 平均地使用一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
KR101586047B1 (ko) * 2009-03-25 2016-01-18 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
US8412909B2 (en) * 2009-04-08 2013-04-02 Samsung Electronics Co., Ltd. Defining and changing spare space and user space in a storage apparatus
KR101571693B1 (ko) * 2009-04-15 2015-11-26 삼성전자주식회사 동작 수행 중 다른 요청을 우선 처리할 수 있는 비휘발성 메모리 컨트롤러, 이를 포함하는 시스템 및 그 관리 방법
TWI414940B (zh) * 2009-12-30 2013-11-11 Phison Electronics Corp 區塊管理與資料寫入方法、快閃記憶體儲存系統與控制器
US8402203B2 (en) * 2009-12-31 2013-03-19 Seagate Technology Llc Systems and methods for storing data in a multi-level cell solid state storage device
TWI399643B (zh) 2009-12-31 2013-06-21 Phison Electronics Corp 快閃記憶體儲存系統及其控制器與資料寫入方法
JP2011198433A (ja) * 2010-03-23 2011-10-06 Toshiba Corp メモリシステム
KR20120002760A (ko) * 2010-07-01 2012-01-09 삼성전자주식회사 낸드 플래쉬 메모리의 동작 신뢰성을 향상시키는 데이터 기록 방법 및 데이터 기록 장치
CN102298555B (zh) * 2011-08-22 2016-04-27 宜兴市华星特种陶瓷科技有限公司 基于nand技术的模块化闪存管理***
TWI454911B (zh) * 2011-10-12 2014-10-01 Phison Electronics Corp 資料寫入方法、記憶體控制器與記憶體儲存裝置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1537277A (zh) * 2001-07-27 2004-10-13 ���µ�����ҵ��ʽ���� 用于合并存贮的数据项的按块擦除存储***和方法
US20090089485A1 (en) * 2007-09-27 2009-04-02 Phison Electronics Corp. Wear leveling method and controller using the same

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108139980A (zh) * 2015-10-19 2018-06-08 瑞典爱立信有限公司 用于合并存储器页的方法和存储器合并功能
CN108509349A (zh) * 2017-02-27 2018-09-07 立而鼎科技(深圳)有限公司 一种nand flash的数据源区块回收方法及固态硬盘
CN110888593A (zh) * 2018-09-07 2020-03-17 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法
CN110888593B (zh) * 2018-09-07 2024-01-26 慧荣科技股份有限公司 数据储存装置以及非挥发式存储器控制方法

Also Published As

Publication number Publication date
CN103425595A (zh) 2013-12-04
US20130311705A1 (en) 2013-11-21
TWI460654B (zh) 2014-11-11
US20130311704A1 (en) 2013-11-21
US9223691B2 (en) 2015-12-29
TWI489373B (zh) 2015-06-21
CN103425597A (zh) 2013-12-04
CN103425598B (zh) 2017-04-19
TW201349097A (zh) 2013-12-01
US20130311698A1 (en) 2013-11-21
CN103425599A (zh) 2013-12-04
TW201349101A (zh) 2013-12-01
TWI514260B (zh) 2015-12-21
TW201349096A (zh) 2013-12-01
TWI590150B (zh) 2017-07-01
TW201349099A (zh) 2013-12-01
CN103425588B (zh) 2017-03-01
TW201349098A (zh) 2013-12-01
US9600408B2 (en) 2017-03-21
US20130311701A1 (en) 2013-11-21
CN103425597B (zh) 2016-04-06
US9104549B2 (en) 2015-08-11
CN103425588A (zh) 2013-12-04
US20130311703A1 (en) 2013-11-21
CN103425596A (zh) 2013-12-04
US20130311702A1 (en) 2013-11-21
US9116792B2 (en) 2015-08-25
TW201349095A (zh) 2013-12-01
CN103425595B (zh) 2017-03-01

Similar Documents

Publication Publication Date Title
CN103425597B (zh) 数据储存装置和快闪存储器的区块管理方法
US20090198875A1 (en) Data writing method for flash memory, and controller and system using the same
CN101872644A (zh) 电子存储装置及其存储方法
US10013210B2 (en) Data storage device and data maintenance method thereof
US10168951B2 (en) Methods for accessing data in a circular block mode and apparatuses using the same
CN104731674A (zh) 使用mlc nvm存储电子***固件的方法与设备
CN107544922A (zh) 数据写入方法、存储器控制电路单元及存储器存储装置
TW201248404A (en) Program code loading and accessing method, memory controller and memory storage apparatus
CN102890655A (zh) 存储器储存装置、其存储器控制器与有效数据识别方法
KR102393323B1 (ko) 재사용 주기를 이용하여 사용자 데이터를 쓰기 위한 워드라인을 결정하는 저장 장치의 동작 방법
TW201734797A (zh) 資料儲存裝置及其資料維護方法
US20140089566A1 (en) Data storing method, and memory controller and memory storage apparatus using the same
US8762685B2 (en) Data writing method, memory controller and memory storage apparatus
US9710374B2 (en) Data writing method, memory controller and memory storage device
JP2008299455A (ja) データ記憶装置及びデータ管理方法
CN116954481A (zh) 区块管理方法、存储器控制器及存储***
CN102855192A (zh) 存储器抹除方法、存储器控制器与存储器储存装置
TW201812589A (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
GR01 Patent grant
GR01 Patent grant