CN103942148A - 非易失性存储器的损耗均衡***及方法 - Google Patents

非易失性存储器的损耗均衡***及方法 Download PDF

Info

Publication number
CN103942148A
CN103942148A CN201310089456.5A CN201310089456A CN103942148A CN 103942148 A CN103942148 A CN 103942148A CN 201310089456 A CN201310089456 A CN 201310089456A CN 103942148 A CN103942148 A CN 103942148A
Authority
CN
China
Prior art keywords
cold
zone piece
storage element
nonvolatile memory
zone
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.)
Pending
Application number
CN201310089456.5A
Other languages
English (en)
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.)
Skymedi Corp
Original Assignee
Skymedi 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 Skymedi Corp filed Critical Skymedi Corp
Publication of CN103942148A publication Critical patent/CN103942148A/zh
Pending legal-status Critical Current

Links

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/7201Logical to physical mapping or translation of blocks or pages
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices
    • 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)

Abstract

一种含有多个储存单元的非易失性存储器的损耗均衡架构,使用转换层将主机所提供的非易失性存储器的逻辑地址转换为物理地址。配置一冷区块表格,在至少一个所述储存单元内分配一个或多个冷区块,该储存单元内的冷区块的擦写计数值小于该储存单元内的非冷区块的擦写计数值。在所述冷区块表格中记录冷区块的逻辑地址和相应的物理地址,以建立含有该些冷区块的冷区块群集。

Description

非易失性存储器的损耗均衡***及方法
技术领域
本发明涉及损耗均衡(wear leveling),特别是关于一种具多储存单元的非易失性存储器的全域(global)损耗均衡的层级架构。
现有技术
一些可擦写储存介质(例如,快闪存储器)在经过一定次数的擦写周期后会变得不可靠。如果这些擦写周期集中在固定的数据区块,而其余的数据区块则少有擦写周期,则这些可擦写储存介质的寿命会大为减少。图1显示传统储存装置(例如快闪存储器),其包含四个储存单元(亦即,单元1至单元4),其可分别代表四个平面(plane)、通道或晶片。输入数据根据其逻辑区块地址(LBA)经过模数(mod)运算后的余数而写入单元1至单元4的其中之一。以图1为例,余数为{0,…,15}的数据写入单元1,余数为{16,…,31}的数据写入单元2,其余类推。数据很可能大都写入某一储存单元(例如单元1)。如前所述,这会造成图1所示的储存装置的寿命大为减少。为了延长储存装置的寿命,提出了一些损耗均衡(wear leveling)的机制,使得擦写周期得以平均分散。然而,传统的损耗均衡机制仅影响储存装置的限定区域,或者需要使用复杂的演算法。
因此,亟需提出一种新颖的机制以增强储存装置的损耗均衡,特别是针对具多个储存单元的非易失性存储器。
发明内容
本发明实施例的目的之一在于提出一种非易失性存储器(特别是具多个储存单元的非易失性存储器)的全域损耗均衡的层级架构,用以全域且预先进行非易失性存储器的损耗均衡。
根据本发明的实施例,非易失性存储器包含多个储存单元。转换层将主机所提供的非易失性存储器的逻辑地址转换为物理地址。配置冷区块表格,于至少一储存单元内分配一或多个冷区块,该储存单元内的该些冷区块的擦写计数值小于储存单元的非冷区块的擦写计数值。冷区块的逻辑地址与相应物理地址记录于冷区块表格,以建立含有该些冷区块的冷区块群集。
附图说明
图1显示传统具四储存单元的储存装置。
图2显示本发明实施例之非易失性存储器的全域损耗均衡的层级架构。
图3例示图2的非易失性存储器。
图4A至图4B显示含二个储存单元的存储器依序分配一个冷区块的例子。
图5A至图5C显示含四个储存单元的存储器依序分配六个冷区块的例子。
图6显示本发明实施例的主机从存储器读取数据的流程图。
图7显示本发明实施例的主机将数据写入存储器的流程图。
附图标记说明
2            损耗均衡的层级架构
20           非易失性存储器
201          储存单元
201A         第一储存单元
201B         第二储存单元
201C         第三储存单元
201D         第四储存单元
2011         冷区块
21           主机
22           转换层
23           存储器控制器
24           冷区块表格
61           逻辑地址是否位于冷区块表格
62           从冷区块表格得到物理地址
63           从转换层得到物理地址
64           获取数据
71           是否为热数据
72           根据冷区块表格将数据写入冷区块
73           根据转换层将数据写入非冷区块
TE           总擦写计数值
具体实施方式
图2显示本发明实施例的非易失性存储器20的全域损耗均衡(global wear leveling)的层级架构2,该非易失性存储器20可被主机21(例如电脑)存取。非易失性存储器20(以下简称存储器)可以是快闪存储器,但不限定于此。本实施例的存储器20包含多个储存单元201,例如单元1、单元2等。具储存单元201的存储器20可根据各种平行架构(parallelism)加以分割,例如平面(plane)层级架构、通道层级架构、晶片层级架构或其组合。
存储器控制器23位于主机21与存储器20之间。在存储器控制器23内,转换层22受控于存储器控制器23,将主机21提供的逻辑地址(例如逻辑区块地址(LBA))转换为存储器20的物理地址。本实施例的转换层22可以是快闪存储器转换层(flash translation layer,FTL),其可支持快闪存储器20的一般文件***(file system)。
根据本实施例的特征之一,存储器控制器23管理并建构冷区块(cold block)表格24,以全域及预先(preemptive)方式来增强损耗均衡。如图3所示,在至少一个储存单元201(例如单元1、单元2、单元3或单元4)内分配有一个或多个冷区块2011。储存单元201内的冷区块2011各具有擦写计数值(或擦写周期数),其小于同一储存单元201内的非冷(non-cold)区块(亦即,冷区块2011之外的区块)的擦写计数值。换句话说,在某一个储存单元201内,冷区块2011的擦写周期数少于非冷区块的擦写周期数。冷区块2011的逻辑地址及相应的物理地址被记录在冷区块表格24中,因而建立含有多个冷区块2011的冷区块群组(group)或池(pool)。此外,每一储存单元201分别进行损耗均衡,例如静态(static)损耗均衡。
在本实施例中,某一储存单元201的冷区块2011分配原则是:将储存单元201的总擦写计数值与存储器20的其他储存单元201的总擦写计数值做比较。由此,总擦写计数值较小的储存单元201将被分配以较多的冷区块2011。反过来说,总擦写计数值较大的储存单元201将被分配以较少的冷区块2011。以图3为例,储存单元3具最小的总擦写计数值,而储存单元4具最大的总擦写计数值。
可以动态地执行存储器20的冷区块2011的分配。例如,可周期地更新分配冷区块2011。或者,可在某一冷区块2011被填满时,进行冷区块2011的更新分配。图4A至图4B显示含有二个储存单元(亦即,第一储存单元201A及第二储存单元201B)的存储器20依序分配一冷区块2011的例子。首先,如图4A所示,由于第一储存单元201A的总擦写计数值(TE)小于第二储存单元201B的总擦写计数值,因此冷区块2011被分配至第一储存单元201A。存储器20在经过一段期间的擦写周期后,如图4B所示,由于第二储存单元201B的总擦写计数值较小,因此冷区块2011被分配至第二储存单元201B。
图5A至图5C显示含有四个储存单元(亦即,第一储存单元201A、第二储存单元201B、第三储存单元201C及第四储存单元201D)的存储器20依序分配六个冷区块2011的例子。首先,如图5A所示,根据储存单元201A~201D的各总擦写计数值,进行六个冷区块2011的分配。当第二储存单元201B的一个冷区块2011被填满后,如图5B所示,新的冷区块2011被分配至第四储存单元201D。接着,当第一储存单元201A的一个冷区块2011被填满后,如图5C所示,新的冷区块2011被分配至第三储存单元201C。
主机21根据冷区块表格24以及转换层22,可以有效地存取存储器20,使得擦写周期平均分散以延长存储器20的服务寿命。图6显示本发明实施例的主机21从存储器20读取数据的流程图。在步骤61,判断主机21提供的读取命令的逻辑地址是否位于冷区块表格24。如果步骤61的判断结果为“是”,则从冷区块表格24得到相应的物理地址(步骤62);否则,如果步骤61的判断结果为“否”,则从转换层22得到相应的物理地址(步骤63)。在步骤64,根据从冷区块表格24(步骤62)或从转换层22(步骤62)所得到的物理地址,从存储器20获取数据,并传送至主机21。
图7显示本发明实施例的主机21将数据写入存储器20的流程图。在步骤71,判断将写入存储器20的数据是否为热(hot)数据。如果该数据为热数据,则根据冷区块表格24将数据写入冷区块2011(步骤72);否则,如果数据不是热数据(亦即,是冷数据),则根据转换层22将数据写入存储器20的非冷区块(步骤73)。本实施例中的“热”数据的定义可使用传统定义。在一个例子中,某逻辑地址的数据的相应存取计数值大于预设值,则可视为热数据。在另一个例子中,具有较短长度(例如小于4K)的数据可视为热数据。
根据上述实施例,由于冷区块表格24的冷区块2011的分配是全域地考量储存单元201的擦写计数值,因而可以全面地强化个别储存单元201所执行的损耗均衡。此外,由于热数据被直接写入冷区块,而非如传统作法那样随意地写入存储器再进行损耗均衡,因此,本实施例提供一种预先机制,以强化存储器20的损耗均衡。此外,由于冷区块表格24仅记录冷区块2011,因此冷区块表格24不需要太大的储存量,然而许多传统损耗均衡机制需要庞大的储存量。
在另一个实施例中,冷区块201的数据还进行回收过程(garbagecollection)或有效数据收集机制(valid data collection),以回收不再使用的存储器空间。在本实施例中,回收过程或有效数据收集机制的执行是根据原始(或旧)数据的。例如,如图5C所示,原始存放于第二储存单元201B的热数据被重新移位至第一储存单元201A的冷区块2011,然而第一储存单元201A的该冷区块2011却缺少足够空间或者需执行回收过程。根据本实施例,关联于第二储存单元201B的第一储存单元201A的冷区块2011的数据将会被重新移回到第二储存单元201B的相关区块中。
以上所述仅仅是本发明的优选实施例,并非用以限定本发明的专利范围;凡其它未脱离发明所公开的精神的等效改变或改进,均应包含在本申请的专利范围内。

Claims (20)

1.一种非易失性存储器的损耗均衡***,包含:
多个储存单元,位于所述非易失性存储器内;
转换层,用以将由主机所提供的所述非易失性存储器的逻辑地址转换为物理地址;以及
冷区块表格,在至少一个所述储存单元内分配一个或多个冷区块,该储存单元内的所述冷区块的擦写计数值小于该储存单元内的非冷区块的擦写计数值;
其中,在所述冷区块表格内记录所述冷区块的逻辑地址和相应的物理地址,以建立含有所述冷区块的冷区块群集。
2.根据权利要求1所述的非易失性存储器的损耗均衡***,其中,所述非易失性存储器包含快闪存储器。
3.根据权利要求2所述的非易失性存储器的损耗均衡***,其中,所述转换层包含快闪存储器转换层,该快闪存储器转换层支持该快闪存储器的文件***。
4.根据权利要求1所述的非易失性存储器的损耗均衡***,还包含存储器控制器,用以控制所述转换层并管理所述冷区块表格。
5.根据权利要求1所述的非易失性存储器的损耗均衡***,其中,所述储存单元还分别进行损耗均衡。
6.根据权利要求5所述的非易失性存储器的损耗均衡***,其中,所述损耗均衡包含静态损耗均衡。
7.根据权利要求1所述的非易失性存储器的损耗均衡***,其中,通过将所述储存单元的总擦写计数值与所述存储器的其他储存单元的总擦写计数值进行比较,决定所述储存单元的冷区块的分配数量。
8.根据权利要求7所述的非易失性存储器的损耗均衡***,其中,所述总擦写计数值较小的储存单元被分配以较多的冷区块,而该总擦写计数值较大的储存单元被分配以较少的冷区块。
9.根据权利要求1所述的非易失性存储器的损耗均衡***,其中,周期地更新所述非易失性存储器的冷区块的分配,或者,在一个该冷区块被填满时进行该非易失性存储器的冷区块的分配。
10.根据权利要求1所述的非易失性存储器的损耗均衡***,其中,根据原始储存单元的原始数据的地址,进行所述冷区块的数据回收过程或有效数据收集机制。
11.一种非易失性存储器的损耗均衡方法,包含:
在所述非易失性存储器内提供多个储存单元;
配置一转换层,用以将由主机所提供的该非易失性存储器的逻辑地址转换为物理地址;及
配置一冷区块表格,在至少一个所述储存单元内分配一个或多个冷区块,该储存单元内的所述冷区块的擦写计数值小于该储存单元内的非冷区块的擦写计数值;
其中,在该冷区块表格中记录所述冷区块的逻辑地址与相应物理地址,以建立含有所述冷区块的冷区块群集。
12.根据权利要求11所述的非易失性存储器的损耗均衡方法,其中,所述转换层包含快闪存储器转换层,该快闪存储器转换层支持快闪存储器的文件***。
13.根据权利要求11所述的非易失性存储器的损耗均衡方法,还包括:对所述储存单元分别进行损耗均衡。
14.根据权利要求13所述的非易失性存储器的损耗均衡方法,其中,所述损耗均衡包含静态损耗均衡。
15.根据权利要求11所述的非易失性存储器的损耗均衡方法,其中,通过将所述储存单元的总擦写计数值与所述存储器的其他储存单元的总擦写计数值进行比较,决定所述储存单元的冷区块的分配数量。
16.根据权利要求15所述的非易失性存储器的损耗均衡方法,其中所述总擦写计数值较小的储存单元被分配以较多的冷区块,而所述总擦写计数值较大的储存单元被分配以较少的冷区块。
17.根据权利要求11所述的非易失性存储器的损耗均衡方法,其中,周期地更新所述非易失性存储器的冷区块的分配,或者,在一个所述冷区块被填满时进行该非易失性存储器的冷区块的分配。
18.根据权利要求11所述的非易失性存储器的损耗均衡方法,还包括:对所述冷区块的数据进行回收过程或有效数据收集机制,并根据原始储存单元的原始数据的地址来执行所述回收过程或有效数据收集机制。
19.根据权利要求11所述的非易失性存储器的损耗均衡方法,还包括以下步骤以使所述主机从所述非易失性存储器读取数据:
判断由所述主机提供的读取命令的逻辑地址是否位于所述冷区块表格中;
如果该逻辑地址被判断为位于所述冷区块表格中,则从所述冷区块表格得到相应的物理地址;
如果该被逻辑地址被判断为不位于所述冷区块表格中,则从所述转换层得到相应的物理地址;以及
根据从所述冷区块表格或从所述转换层得到的物理地址,从所述非易失性存储器获取数据,并传送至所述主机。
20.根据权利要求11所述的非易失性存储器的损耗均衡方法,还包括以下步骤,以使所述主机将数据写入所述非易失性存储器:
判断将写入所述非易失性存储器的数据是否为热数据;
如果该数据被判断维是热数据,则根据所述冷区块表格,将该数据写入所述冷区块;以及
如果该数据被判断为不是热数据,则根据所述转换层,将该数据写入所述非冷区块。
CN201310089456.5A 2013-01-21 2013-03-20 非易失性存储器的损耗均衡***及方法 Pending CN103942148A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/746,234 US20140207998A1 (en) 2013-01-21 2013-01-21 System and method of wear leveling for a non-volatile memory
US13/746,234 2013-01-21

Publications (1)

Publication Number Publication Date
CN103942148A true CN103942148A (zh) 2014-07-23

Family

ID=51189821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310089456.5A Pending CN103942148A (zh) 2013-01-21 2013-03-20 非易失性存储器的损耗均衡***及方法

Country Status (3)

Country Link
US (1) US20140207998A1 (zh)
CN (1) CN103942148A (zh)
TW (1) TW201430563A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016101145A1 (zh) * 2014-12-23 2016-06-30 华为技术有限公司 一种控制器、识别数据块稳定性的方法和存储***
CN108182034A (zh) * 2016-12-06 2018-06-19 爱思开海力士有限公司 存储***及其操作方法
CN111459850A (zh) * 2020-05-18 2020-07-28 江苏时代全芯存储科技股份有限公司 记忆体装置以及运作方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI571882B (zh) * 2016-02-19 2017-02-21 群聯電子股份有限公司 平均磨損方法、記憶體控制電路單元及記憶體儲存裝置
TWI652571B (zh) 2017-08-09 2019-03-01 旺宏電子股份有限公司 記憶體裝置之管理系統及管理方法
US10620867B2 (en) * 2018-06-04 2020-04-14 Dell Products, L.P. System and method for performing wear leveling at a non-volatile firmware memory
TWI688958B (zh) * 2019-08-23 2020-03-21 群聯電子股份有限公司 冷區域判斷方法、記憶體控制電路單元與記憶體儲存裝置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7353325B2 (en) * 1991-09-13 2008-04-01 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
CN101162608A (zh) * 2006-10-10 2008-04-16 北京华旗资讯数码科技有限公司 闪存的存储块的标识方法
US7441067B2 (en) * 2004-11-15 2008-10-21 Sandisk Corporation Cyclic flash memory wear leveling
US20110271046A1 (en) * 2008-10-28 2011-11-03 Iyer Rahul N Wear leveling for low-wear areas of low-latency random read memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7353325B2 (en) * 1991-09-13 2008-04-01 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US7441067B2 (en) * 2004-11-15 2008-10-21 Sandisk Corporation Cyclic flash memory wear leveling
CN101162608A (zh) * 2006-10-10 2008-04-16 北京华旗资讯数码科技有限公司 闪存的存储块的标识方法
US20110271046A1 (en) * 2008-10-28 2011-11-03 Iyer Rahul N Wear leveling for low-wear areas of low-latency random read memory

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016101145A1 (zh) * 2014-12-23 2016-06-30 华为技术有限公司 一种控制器、识别数据块稳定性的方法和存储***
CN105917303A (zh) * 2014-12-23 2016-08-31 华为技术有限公司 一种控制器、识别数据块稳定性的方法和存储***
CN105917303B (zh) * 2014-12-23 2019-12-06 华为技术有限公司 一种控制器、识别数据块稳定性的方法和存储***
CN108182034A (zh) * 2016-12-06 2018-06-19 爱思开海力士有限公司 存储***及其操作方法
CN108182034B (zh) * 2016-12-06 2021-03-09 爱思开海力士有限公司 存储***及其操作方法
CN111459850A (zh) * 2020-05-18 2020-07-28 江苏时代全芯存储科技股份有限公司 记忆体装置以及运作方法

Also Published As

Publication number Publication date
US20140207998A1 (en) 2014-07-24
TW201430563A (zh) 2014-08-01

Similar Documents

Publication Publication Date Title
US9298534B2 (en) Memory system and constructing method of logical block
US9734911B2 (en) Method and system for asynchronous die operations in a non-volatile memory
US9223693B2 (en) Memory system having an unequal number of memory die on different control channels
US9336133B2 (en) Method and system for managing program cycles including maintenance programming operations in a multi-layer memory
US9734050B2 (en) Method and system for managing background operations in a multi-layer memory
CN103942148A (zh) 非易失性存储器的损耗均衡***及方法
US9348746B2 (en) Method and system for managing block reclaim operations in a multi-layer memory
US9465731B2 (en) Multi-layer non-volatile memory system having multiple partitions in a layer
EP2939100B1 (en) Method and system for asynchronous die operations in a non-volatile memory
US8873284B2 (en) Method and system for program scheduling in a multi-layer memory
US10802733B2 (en) Methods and apparatus for configuring storage tiers within SSDs
CN102713866B (zh) 减少基于闪存的存储***中的存取争用
US20060149896A1 (en) Maintaining an average erase count in a non-volatile storage system
US20130061019A1 (en) Storage control system with write amplification control mechanism and method of operation thereof
CN105653202A (zh) 一种用于逻辑存储管理的多级方案
US20100088461A1 (en) Solid state storage system using global wear leveling and method of controlling the solid state storage system
CN110781096A (zh) 用于通过预测需求时间来执行垃圾收集的设备和方法
WO2004040585A1 (en) Tracking the most frequently erased blocks in non-volatile storage systems
JP7353934B2 (ja) メモリシステムおよび制御方法
CN113924546A (zh) 非易失性存储器中的磨损感知块模式转换
WO2015114829A1 (ja) 情報処理装置
US9304906B2 (en) Memory system, controller and control method of memory
KR20210155593A (ko) 메모리 시스템 및 메모리 시스템의 동작방법
CN101739350A (zh) 存储器储存装置及其控制方法
CN105630403A (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140723

WD01 Invention patent application deemed withdrawn after publication