CN108182034A - 存储***及其操作方法 - Google Patents
存储***及其操作方法 Download PDFInfo
- Publication number
- CN108182034A CN108182034A CN201711250890.1A CN201711250890A CN108182034A CN 108182034 A CN108182034 A CN 108182034A CN 201711250890 A CN201711250890 A CN 201711250890A CN 108182034 A CN108182034 A CN 108182034A
- Authority
- CN
- China
- Prior art keywords
- memory block
- block
- storage
- data
- cold
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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/064—Management of blocks
-
- 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
-
- 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/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/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种存储***包括:损耗均衡模块,其基于对多个存储块中的每个存储块执行写入操作的次数来检测多个存储块之中的热存储块,并且将数据从热存储块移动到备用存储块;计数单元,其在通过对多个存储块进行分组而形成的每个存储区域上,对从热存储块到备用存储块的数据移动的数量进行计数,并且输出数据移动计数;第一检测单元,其基于数据移动计数而从多个存储区域中选择一个存储区域,并且检测包括在选中的存储区域中的存储块之中的冷存储块;以及管理单元,其将数据从冷存储块移动到热存储块,并且将冷存储块作为备用存储块来管理。
Description
相关申请的交叉引用
本申请要求2016年12月06日向韩国知识产权局提交的申请号为10-2016-0165228的韩国专利申请的优先权,其公开通过引用整体合并于此。
技术领域
示例性实施例涉及一种存储***,更具体地,涉及一种用于对非易失性存储器件进行损耗均衡的存储***及其操作方法。
背景技术
半导体存储器件通常被分类为易失性存储器件和非易失性存储器件。
易失性存储器件具有高的写入和读取速度,但是当电源被切断时丢失储存在其中的数据。易失性存储器件的示例包括动态随机存取存储器(DRAM)、静态RAM(SRAM)等。可选地,非易失性存储器件具有相对较低的写入和读取速度,但是即使在电源被切断时也保留储存在其中的数据。因此,当不管电源的供给如何而需要储存应该保留的数据时,使用非易失性存储器件。非易失性存储器件的代表性示例包括只读存储器(ROM)、掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、快闪存储器、相变RAM(PCRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、铁电式RAM(FRAM)等。
诸如RRAM、PCRAM等的非易失性存储器件具有有限的写入耐久性。写入耐久性可以被定义为在储存媒介失去其可靠性之前施加到存储块的编程/写入周期的数量。写入耐久性可以通过估计使用存储器的频率和均匀度来计算。
因此,当写入操作集中在特定的存储单元区域时,存储器件的寿命可能会迅速降低。为了解决上述问题,执行损耗均衡操作,使得对存储器件的所有存储单元区域均匀地执行写入操作。损耗均衡操作是用于提高储存媒介的写入耐久性的技术。在这种技术中,当在储存媒介中写入数据时,对相应的存储单元执行分布式写入操作。因此,可以减少储存媒介的特定存储单元的重复使用,并且可以均匀地使用所有的存储单元。
通常,损耗均衡操作由存储器控制器来执行。例如,存储器控制器控制存储单元,使得当从主机输入对储存媒介的写入请求时,考虑到重写操作的次数,通过在逻辑地址与物理地址之间执行适当映射操作而主要对空白存储单元之中使用较少的存储单元执行写入操作。
发明内容
各种实施例针对一种存储***及其操作方法,该存储***能够根据对存储区域的数据访问的频率来通过在多个存储区域之间移动数据而均匀地使用包括在存储器件中的多个存储区域。
根据本发明的实施例,一种存储***包括:存储器件,其包括多个存储块和至少一个备用存储块;损耗均衡模块,其被配置为基于对多个存储块中的每个存储块执行写入操作的次数来检测多个存储块之中的热存储块,并且将数据从热存储块移动到备用存储块;计数单元,其被配置为在通过对多个存储块进行分组而形成的每个存储区域上,对从热存储块到备用存储块的数据移动的数量进行计数,并且输出数据移动计数;第一检测单元,其被配置为基于数据移动计数而从多个存储区域中选择一个存储区域,并且检测在选中的存储区域中所包括的存储块之中的冷存储块;以及管理单元,其被配置为将数据从冷存储块移动到热存储块,并且将冷存储块作为备用存储块来管理。
根据本发明的实施例,一种用于存储***的操作方法包括:提供包括多个存储块和至少一个备用存储块的存储器件;基于对多个存储块中的每个存储块执行写入操作的次数来检测多个存储块之中的热存储块;将数据从热存储块移动到备用存储块;在通过对多个存储块进行分组而形成的每个存储区域上,对从热存储块到备用存储块的数据移动的数量进行计数,并且输出数据移动计数;基于数据移动计数而从多个存储区域中选择一个存储区域;检测在选中的存储区域中所包括的存储块之中的冷存储块;以及将数据从冷存储块移动到热存储块,并且将冷存储块作为备用存储块来管理。
附图说明
图1是示出存储***的框图。
图2是示出图1所示的存储***的损耗均衡操作的示图。
图3是示出根据本发明的实施例的存储***的框图。
图4是示出图3所示的存储***的损耗均衡操作的示图。
图5是示出根据本发明的实施例的存储***的操作的流程图。
具体实施方式
下面将参考附图更详细地描述各种实施例。然而,本公开可以以不同的形式来实施,而且不应该被解释为限于本文所阐述的实施例。相反,提供这些实施例使得本公开更彻底和完整,并且将本公开的范围充分地传达给本领域技术人员。贯穿本公开,在本公开的各个附图和实施例中,相同附图标志始终指代相同部分。
图1是示出存储***100的框图。
参考图1,存储***100可以包括存储器控制器110和存储器件130。存储器控制器110可以根据来自主机(未示出)的请求而产生命令CMD和地址ADD,并且将数据DATA储存在存储器件130中。
存储器件130可以包括:多个存储块131,每个存储块包括多个存储单元;以及至少一个或更多个外加存储块132(即,备用存储块)。根据一个实施例,存储器件130可以包括PCRAM。然而,本公开不限于此,并且可以包括诸如MRAM、RRAM和FRAM的可变电阻存储器件。可变电阻存储器件可以通过存储单元的电阻的大小来划分储存在其中的数据。此外,可变电阻存储器件可以在将数据写入存储器件之前提供重写操作而不执行擦除操作。即,已经储存在存储单元中的数据“0”可以通过写入操作变成数据“1”,或者数据“1”可以变成数据“0”。
存储器件130可以基于被执行写入操作的单元而被损耗,并且还可以基于被执行写入操作的单元来执行损耗均衡操作。在这种情况下,写入操作必须基于被执行每次写入操作的单元(例如,通过页)来进行计数和分配。这可能增加控制存储器件130的存储器控制器110的操作负担(overhead)。
因此,存储器件130可以被划分成具有相同尺寸的存储块131,并且可以基于每个存储块131来执行损耗均衡操作。例如,可以基于存储块131而在改变映射表中逻辑块地址(LBA)与物理块地址(PBA)之间的映射信息的同时来执行损耗均衡操作。下面将进一步详细描述该操作。
为了执行存储器件130的损耗均衡操作,存储器控制器110可以包括损耗均衡模块120。如图1所示,损耗均衡模块120可以包括检测单元121和损耗均衡单元122。
检测单元121可以包括计数器(未示出),该计数器响应于来自主机的写入操作请求而对对存储器件130的每个存储块131执行的写入操作的次数进行计数,并且输出写入操作计数。为此,当执行写入操作时,检测单元121可以检查与从主机输入的逻辑块地址LBA相对应的数据。此外,当写入操作计数超过写入访问阈值时,检测单元121可以产生针对对应的存储块的检测信号DET。即,检测单元121可以检测存储块131之中写入操作计数大于写入访问阈值的存储块作为热存储块,然后产生针对热存储块的检测信号DET。
损耗均衡单元122可以响应于从检测单元121输入的检测信号DET来对检测到的热存储块执行损耗均衡操作。损耗均衡单元122可以将储存在热存储块中的数据移动到未储存数据的备用存储块132。损耗均衡单元122可以包括映射表123,并且当储存在热存储块中的数据被移动到备用存储块132时,更新映射表123。即,已经被映射到热存储块的物理地址的数据的逻辑地址可以被映射到备用存储块132的物理地址。
图2是示出图1所示的存储***100的损耗均衡操作的示图。根据存储***100的损耗均衡操作,损耗均衡单元122的映射表123可以在图2的第一表201至第三表203中被更新。
图2的第一表201示出与逻辑块地址LBA0至LBA11相对应的数据被顺序地储存在与物理块地址PBA0至PBA11相对应的存储块中。与物理块地址PBA12至PBA15相对应的存储块保留为备用存储块,即,作为其中未储存数据的空白空间。
当与第八逻辑块地址LBA7相对应的数据的写入操作次数超过写入访问阈值时,检测单元121将对应的数据检测为热数据。即,作为与第八物理块地址PBA7相关联的存储块的对应存储块被损耗到与写入访问阈值相对应的程度或更多,使得对应存储块可以被检测为热存储块。
参考图2的第二表202,损耗均衡单元122可以通过将检测到的热数据移动到备用存储块(即,移动到与第十三物理块地址PBA12相对应的存储块)来执行损耗均衡操作。可以通过将热数据储存在未使用的存储块中来对存储块均匀地执行写入操作。
因此,参考图2的第三表203,热存储块(即,与第八物理块地址PBA7相对应的存储块)可以被设置为备用存储块并且被重新使用。
然而,热数据可以通过存储器件130的损耗均衡操作而再次被储存在已经被设置为备用存储块的存储块(特别地,与第八物理块地址PBA7对应的存储块)中,并且可以对其频繁地执行写入操作。因此,为了增加损耗均衡操作的效果,可以将不被频繁地写入的数据(即,冷数据)储存在已被一次或更多次检测到的热存储块中。
存储器控制器110不仅可以检测热存储块,而且还可以检测储存冷数据的冷存储块,然后可以执行损耗均衡操作。但是,检测和管理冷存储块并不像检测热存储块那样容易。例如,在检测单元121中包括计数器的情况下,当对对相应的存储块执行的所有写入操作进行计数时,写入操作计数连续地增加。因此,实际上难以实现连续增加写入操作计数的操作。通常,在由于损耗而导致储存在存储块中的数据发生错误之前,写入操作计数增加直到达到写入访问阈值。此后,执行损耗均衡操作(即,移动数据的操作),然后重置写入操作计数。因此,使用可能已被重置多次的写入操作计数来检测冷存储块是不可能的。
图3是示出根据本发明实施例的存储***300的框图。
参考图3,存储***300可以包括存储器控制器310和存储器件330。
存储器控制器310可以根据来自主机(未示出)的请求而产生命令CMD和地址ADD,并且将数据DATA储存在存储器件330中。
存储器件330可以包括多个存储块332(每个存储块包括多个存储单元)以及至少一个或更多个外加存储块333(即,备用存储块)。根据一个实施例,存储器件330可以包括PCRAM。然而,本公开不限于此,并且可以包括诸如MRAM、RRAM和FRAM的可变电阻存储器件。可变电阻存储器件可以通过存储单元的电阻的大小来划分储存在其中的数据。此外,可变电阻存储器件可以在将数据写入存储器件之前提供重写操作而不执行擦除操作。即,已经储存在存储单元中的数据“0”可以通过写入操作变成数据“1”,或者数据“1”可以变成数据“0”。
存储器控制器310可以包括损耗均衡模块312和冷存储块管理模块320。图3的损耗均衡模块312具有与图1的损耗均衡模块120基本相同的结构。损耗均衡模块312可以基于对多个存储块332中的每个存储块执行的写入操作的次数来检测存储器件330中所包括的多个存储块332之中的热存储块。损耗均衡模块312可以将数据从检测到的热存储块移动到包括在存储器件330中的备用存储块333。将省略已经在图1的描述中描述的损耗均衡模块312的操作或配置。
根据一个实施例,冷存储块管理模块320可以检测多个存储块332之中的冷存储块。冷存储块管理模块320可以将数据从冷存储块移动到由损耗均衡模块312检测到的热存储块,然后将冷存储块作为备用存储块333来管理。
如图3所示,冷存储块管理模块320可以包括计数单元321、检测单元322和管理单元323。计数单元321可以包括计数器(未示出),并且在通过对多个存储块332进行分组而形成的各个存储区域331上,对从热存储块到备用存储块333的数据移动的数量进行计数。即,计数单元321可以对热存储块被损耗均衡模块312检测到和设置为备用存储块333的次数进行计数,在下文中,称为从热存储块到备用存储块333的“块移动计数BMC”。
当将数据从热存储块移动到备用存储块333时,损耗均衡模块312可以更新热存储块的物理块地址(PBA)与要被移动的数据的逻辑块地址(LBA)之间的映射关系,该映射关系被储存在映射表123(参考图1)中。计数单元321可以对包括在每个存储区域331中的存储块332的物理块地址PBA被损耗均衡模块312更新的次数进行计数。
检测单元322可以基于数据移动计数(即,由计数单元321获得的块移动计数BMC)而从多个存储区域331中选择一个存储区域。检测单元322可以从多个存储区域331中选择具有最小值的块移动计数BMC的存储区域。检测单元322可以随机地将包括在选中的存储区域中的任何一个存储块检测为冷存储块。
根据另一个实施例,冷存储块管理模块320还可以包括更新单元324。更新单元324可以定期检查是否已经对多个存储块332执行了写入操作。更新单元324可以将标志信息FLAG分配给多个存储块332的每个存储块或每组存储块332(即,每个存储区域331)。当对多个存储块332执行写入操作时,更新单元324可以设置对应的标志信息FLAG。更新单元324可以定期地将设置标志信息FLAG初始化,并且因此连续地检查当前对存储器件330执行的写入操作的特性。因此,基于标志信息FLAG,检测单元322可以将在选中的存储区域中包括的存储块中的未被更新单元324检查到写入操作的存储块检测为冷存储块。
检测单元322可以检测多个冷存储块并将它们储存在列表中。当储存在列表中的冷存储块的数量小于阈值时,检测单元322可以通过基于块移动计数BMC而从多个存储区域331中选择一个存储区域来检测冷存储块。可选地,当进程处于待机状态时,例如空闲状态时,检测单元322可以通过从多个存储区域331中选择一个存储区域来检测冷存储块。
管理单元323可以将数据从由检测单元322检测到的冷存储块移到由损耗均衡模块312检测到的热存储块。当热存储块被损耗均衡模块312检测到并且数据从热存储块移动到备用存储块333时,管理单元323可以将数据从冷存储块移动到热存储块并且将数据已被从其移动的冷存储块作为备用存储块333来管理。管理单元323可以从由检测单元322储存的冷存储块的列表中选择一个冷存储块。
图4是示出图3所示的存储***的损耗均衡操作的示图。
参考图4,存储器件330可以包括512个存储区域REGION1至REGION512。参考分配给各个区域REGION1至REGION512的物理块地址PBA,四个存储块可以被分组到存储区域REGION1至REGION512的每个存储区域中,并且因此存储器件330可以包括包含多个存储块332和备用存储块333的2048个存储块。然而,本公开不限于此。
根据一个实施例,冷存储块管理模块320的计数单元321可以对数据已被从分配给存储区域REGION1至REGION512中的每个存储区域的存储块移动到备用存储块的数据移动计数进行计数。计数单元321可以对从分配给存储区域REGION1至REGION512中的每个存储区域的存储块到备用存储块的块移动计数BMC进行计数。例如,参考图4,可以检查到从分配给第一存储区域REGION1的四个存储块到备用存储块的块移动计数BMC被计数为“10”。
当储存在列表中的冷存储块的数量小于阈值时,检测单元322可以基于块移动计数BMC而从多个存储区域REGION1至REGION512中选择一个存储区域。检测单元322可以从多个存储区域REGION1至REGION512中选择具有最小值的块移动计数BMC的存储区域。参考多个存储区域REGION1至REGION512的块移动计数BMC,可以选择具有最小值“4”的第三存储区域REGION3。检测单元322可以随机地将分配给第三存储区域REGION3的存储块(即,与第九物理块地址PBA8至第十二物理块地址PBA11相对应的存储块)中的一个存储块检测为冷存储块。
根据另一个实施例,更新单元324可以将标志信息FLAG分配给多个存储块中的每个存储块。当对存储块执行写入操作时,更新单元324可以将对应的标志信息FLAG设置为“1”。更新单元324可以定期地将设置标志信息FLAG初始化为“0”。
如上所述,当第三存储区域REGION3被选中时,检测单元322可以检查分配给第三存储区域REGION3的存储块的标志信息FLAG。作为检查标志信息FLAG的结果,检测单元322可以将具有未被设置的标志信息FLAG的存储块检测为冷存储块。参考图4,在与第九物理块地址PBA8至第十二物理块地址PBA11相对应的存储块之中,其中标志信息FLAG为“0”的存储块(即,与第十一物理块地址PBA10相对应的存储块)可以被检测为冷存储块。因此,当存在标志信息FLAG为“0”的多个存储块时,检测单元322可以随机地将它们中的一个存储块检测为冷存储块。
此外,管理单元323可以将数据从已被检测为冷存储块的、与第十一物理块地址PBA10相对应的存储块移动到由损耗均衡模块312检测到的热存储块。管理单元323可以将数据已被从其移动的、与第十一物理块地址PBA10相对应的存储块作为备用存储块333来管理。
图5是示出根据本发明的实施例的存储***的操作的流程图。
1)检测热存储块(S510)
损耗均衡模块312的检测单元121(参考图1)可以基于对多个存储块332(参考图3)执行的写入操作的写入操作计数来检测热存储块。检测单元121可以对对多个存储块332执行的写入操作的次数进行计数。检测单元121可以将多个存储块332之中具有超过写入访问阈值的写入操作计数的存储块检测为热存储块。
2)损耗均衡(S520)
当检测单元121检测热存储块时,损耗均衡模块312的损耗均衡单元122(参考图1)可以对检测到的热存储块执行损耗均衡操作。即,损耗均衡单元122可以将数据从热存储块移动到备用存储块333。为了将数据从热存储块移动到备用存储块333,损耗均衡单元122可以在损耗均衡单元122的映射表123(参考图1)中更新热存储块的物理块地址PBA与数据的逻辑块地址LBA之间的映射关系。
3)块移动计数(S530)
计数单元321(参考图3)可以对由损耗均衡单元122执行的损耗均衡操作进行计数。计数单元321可以对通过对存储块332进行分组而形成的各个存储区域331上的块移动计数BMC进行计数。即,计数单元321可以对由损耗均衡模块312将数据从热存储块移动到备用存储块333的次数进行计数。计数单元321可以对包括在存储区域331的每个存储区域中的存储块332的物理块地址PBA被损耗均衡模块312更新的次数进行计数。
4)选择冷存储区域(S540/S550)
为了检测冷存储块,检测单元322(参考图3)可以基于在步骤S530中由计数单元321获得的块移动计数BMC而从多个存储区域331中选择冷存储区域。检测单元322可以检测多个冷存储块并且将它们储存在列表中。当储存在列表中的冷存储块的数量小于阈值时,检测单元322可以基于块移动计数BMC来选择冷存储区域。检测单元322可以检查由计数单元321获得的块移动计数BMC,并且将检查到的块移动计数BMC具有最小值的存储区域检测为冷存储区域(在步骤S550为“是”)。重复检查块移动计数BMC(在步骤S550为“否”),直到检测到冷存储区域。
5)检查写入操作(S560)
根据另一个实施例,更新单元324可以定期检查是否已经对存储块332执行了写入操作。更新单元324可以将标志信息FLAG分配给每个存储块332或每组存储块332。当对存储块332执行写入操作时,更新单元324可以设置对应的标志信息FLAG。更新单元324可以定期地将所有设置标志信息FLAG初始化。
6)检测冷存储块(S570)
检测单元322可以检测在冷存储区域中所包括的存储块之中的冷存储块。根据一个实施例,检测单元322可以随机地将包括在冷存储区域中的任何一个存储块检测为冷存储块。根据另一个实施例,检测单元322可以检查包括在冷存储区域中的存储块的标志信息FLAG,并且将在冷存储区域中所包括的存储块之中具有未被设置的标志信息FLAG的存储块检测为冷存储块。
7)管理备用存储块(S580)
管理单元323可以将数据从在步骤570中由检测单元322检测到的冷存储块移动到在步骤S510中已经由损耗均衡模块312检测到的热存储块。管理单元323可以将数据已被从其移动的冷存储块作为备用存储块333来管理。在连续操作期间,当由损耗均衡模块312检测到热存储块时,来自检测到的热存储块的数据可以被移动到备用存储块333。
根据各种实施例,存储***可以将存储器件划分成具有相同尺寸的多个存储块,检测数据被频繁访问的热存储块或频繁被执行写入操作的热存储块,以及然后将数据从热存储块移到另一个存储块。因此,存在将写入操作分散到整个存储器件的效果。此外,存储***可以将数据从相对较少被执行写入操作的冷存储块移动到数据已被从其移动的热存储块,从而防止已经被检测到的热存储块被再次检测。
此外,为了检测冷存储块,存储***可以对通过写入操作的大于阈值计数的数据移动的次数进行计数,而不连续地对写入操作的次数进行计数。因此,由于通过仅对累积的写入操作进行计数来检测冷存储块,所以可以通过超过阈值来执行计数操作。因此,可以减少用于检测冷存储块的存储***的操作中的负荷。
尽管为了说明的目的已经描述了各种实施例,但是对于本领域技术人员来说明显的是,可以在不脱离所附权利要求中限定的本公开的精神和范围的情况下进行各种改变和修改。
Claims (20)
1.一种存储***,包括:
存储器件,其包括多个存储块和至少一个备用存储块;
损耗均衡模块,其被配置为基于对所述多个存储块中的每个存储块执行写入操作的次数来检测所述多个存储块之中的热存储块,并且将数据从热存储块移动到备用存储块;
计数单元,其被配置为在通过对所述多个存储块进行分组而形成的每个存储区域上,对从热存储块到备用存储块的数据移动的数量进行计数,并且输出数据移动计数;
第一检测单元,其被配置为基于数据移动计数而从所述多个存储区域中选择一个存储区域,并且检测包括在选中的存储区域中的存储块之中的冷存储块;以及
管理单元,其被配置为将数据从冷存储块移动到热存储块,并且将冷存储块作为备用存储块来管理。
2.如权利要求1所述的存储***,其中,损耗均衡模块包括:
第二检测单元,其被配置为对对所述多个存储块中的每个存储块执行写入操作的次数进行计数,并且将所述多个存储块之中已计数的写入操作的次数超过阈值的存储块检测为热存储块;以及
损耗均衡单元,其被配置为当热存储块被第二检测单元检测到时,将数据从热存储块移动到备用存储块。
3.如权利要求1所述的存储***,其中,当数据从热存储块移动到备用存储块时,损耗均衡模块更新热存储块的物理块地址与数据的逻辑块地址之间的映射关系。
4.如权利要求3所述的存储***,其中,计数单元对包括在每个存储区域中的存储块的物理块地址被损耗均衡模块更新的次数进行计数。
5.如权利要求1所述的存储***,其中,第一检测单元检测多个冷存储块并且将检测到的冷存储块储存在列表中,以及当储存在列表中的冷存储块的数量小于阈值时,通过基于数据移动计数而从所述多个存储区域中选择一个存储区域来检测冷存储块。
6.如权利要求1所述的存储***,其中,第一检测单元从所述多个存储区域中选择具有最小值的数据移动计数的存储区域。
7.如权利要求1所述的存储***,还包括:
更新单元,其被配置为定期检查是否对所述多个存储块执行了写入操作。
8.如权利要求7所述的存储***,其中,更新单元将标志信息分配给所述多个存储块的每个存储块或每组存储块,并且当对所述多个存储块执行写入操作时,更新单元设置对应的标志信息。
9.如权利要求7所述的存储***,其中,第一检测单元将包括在选中的存储区域中的存储块之中的未被更新单元检查的存储块检测为冷存储块。
10.如权利要求1所述的存储***,其中,第一检测单元随机地将在选中的存储区域中所包括的存储块中的一个存储块检测为冷存储块。
11.一种用于存储***的操作方法,所述操作方法包括:
提供包括多个存储块和至少一个备用存储块的存储器件;
基于对所述多个存储块中的每个存储块执行写入操作的次数来检测所述多个存储块之中的热存储块;
将数据从热存储块移动到备用存储块;
在通过对所述多个存储块进行分组而形成的每个存储区域上,对从热存储块到备用存储块的数据移动的数量进行计数,并且输出数据移动计数;
基于数据移动计数而从所述多个存储区域中选择一个存储区域;
检测在选中的存储区域中所包括的存储块之中的冷存储块;以及
将数据从冷存储块移动到热存储块,并且将冷存储块作为备用存储块来管理。
12.如权利要求11所述的操作方法,其中,检测热存储块的步骤包括:
对对所述多个存储块中的每个存储块执行写入操作的次数进行计数;以及
将所述多个存储块之中已计数的写入操作的次数超过阈值的存储块检测为热存储块。
13.如权利要求12所述的操作方法,其中,将数据从热存储块移动到备用存储块的步骤包括:
更新热存储块的物理块地址与数据的逻辑块地址之间的映射关系。
14.如权利要求13所述的操作方法,其中,对从热存储块到备用存储块的数据移动的数量进行计数的步骤包括:
对包括在各个存储区域中的存储块的物理块地址被更新的次数进行计数。
15.如权利要求11所述的操作方法,其中,从所述多个存储区域中选择一个存储区域的步骤包括:
检查储存在列表中的冷存储块的数量;以及
当冷存储块的数量小于阈值时,检查数据移动计数。
16.如权利要求15所述的操作方法,其中,从所述多个存储区域中选择一个存储区域的步骤还包括:
从所述多个存储区域中选择具有最小值的数据移动计数的存储区域。
17.如权利要求11所述的操作方法,还包括:
定期检查是否对所述多个存储块执行了写入操作。
18.如权利要求17所述的操作方法,其中,定期检查是否对所述多个存储块执行了写入操作的步骤包括:
将标志信息分配给所述多个存储块的每个存储块或每组存储块;以及
当对所述多个存储块执行写入操作时,设置对应的标志信息。
19.如权利要求17所述的操作方法,其中,检测冷存储块的步骤包括:
将在选中的存储区域中所包括的存储块之中未检查是否执行了写入操作的存储块检测为冷存储块。
20.如权利要求11所述的操作方法,其中,检测冷存储块的步骤包括:
随机地将在选中的存储区域中所包括的存储块中的一个存储块检测为冷存储块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2016-0165228 | 2016-12-06 | ||
KR1020160165228A KR20180065075A (ko) | 2016-12-06 | 2016-12-06 | 메모리 시스템 및 이를 이용한 웨어-레벨링 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108182034A true CN108182034A (zh) | 2018-06-19 |
CN108182034B CN108182034B (zh) | 2021-03-09 |
Family
ID=62243172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711250890.1A Active CN108182034B (zh) | 2016-12-06 | 2017-12-01 | 存储***及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10445005B2 (zh) |
KR (1) | KR20180065075A (zh) |
CN (1) | CN108182034B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI688958B (zh) * | 2019-08-23 | 2020-03-21 | 群聯電子股份有限公司 | 冷區域判斷方法、記憶體控制電路單元與記憶體儲存裝置 |
CN111290704A (zh) * | 2018-12-06 | 2020-06-16 | 爱思开海力士有限公司 | 用于控制储存在存储***中的数据的装置和方法 |
CN112306372A (zh) * | 2019-07-31 | 2021-02-02 | 伊姆西Ip控股有限责任公司 | 用于处理数据的方法、设备和程序产品 |
CN112650442A (zh) * | 2019-10-11 | 2021-04-13 | 爱思开海力士有限公司 | 存储器***、存储器控制器及操作方法 |
CN113176849A (zh) * | 2020-01-27 | 2021-07-27 | 西部数据技术公司 | 使用智能流块交换来维持均匀热计数分布的存储***和方法 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10656844B2 (en) | 2017-10-11 | 2020-05-19 | Western Digital Technologies, Inc. | Non-volatile memory with regional and inter-region wear leveling |
US11056206B2 (en) * | 2017-10-11 | 2021-07-06 | Western Digital Technologies, Inc. | Non-volatile memory with dynamic wear leveling group configuration |
KR102507646B1 (ko) * | 2018-02-01 | 2023-03-09 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
US10585795B2 (en) * | 2018-05-31 | 2020-03-10 | Micron Technology, Inc. | Data relocation in memory having two portions of data |
US10795810B2 (en) * | 2018-09-10 | 2020-10-06 | Micron Technology, Inc. | Wear-leveling scheme for memory subsystems |
KR20200076531A (ko) | 2018-12-19 | 2020-06-29 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
KR20200099882A (ko) * | 2019-02-15 | 2020-08-25 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
KR20210089853A (ko) | 2020-01-09 | 2021-07-19 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
US11640254B2 (en) * | 2021-08-25 | 2023-05-02 | Western Digital Technologies, Inc. | Controlled imbalance in super block allocation in ZNS SSD |
US20230342060A1 (en) * | 2022-04-26 | 2023-10-26 | Micron Technology, Inc. | Techniques for data transfer operations |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120023144A1 (en) * | 2010-07-21 | 2012-01-26 | Seagate Technology Llc | Managing Wear in Flash Memory |
CN102981971A (zh) * | 2012-12-25 | 2013-03-20 | 重庆大学 | 一种快速响应的相变存储器损耗均衡方法 |
CN103942148A (zh) * | 2013-01-21 | 2014-07-23 | 擎泰科技股份有限公司 | 非易失性存储器的损耗均衡***及方法 |
CN104156317A (zh) * | 2014-08-08 | 2014-11-19 | 浪潮(北京)电子信息产业有限公司 | 一种非易失性闪存的擦写管理方法及*** |
CN105183386A (zh) * | 2015-09-14 | 2015-12-23 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
US20160139812A1 (en) * | 2014-11-14 | 2016-05-19 | Sk Hynix Memory Solutions Inc. | Hot-cold data separation method in flash translation layer |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100624973B1 (ko) | 2005-06-29 | 2006-09-15 | 박상원 | 플래시 메모리의 효율적인 소거 횟수 평준화방법(k-평준화) |
KR101437123B1 (ko) | 2008-04-01 | 2014-09-02 | 삼성전자 주식회사 | 메모리 시스템 및 그것의 마모도 관리 방법 |
JP5478855B2 (ja) | 2008-08-08 | 2014-04-23 | ルネサスエレクトロニクス株式会社 | 不揮発性メモリ制御方法及び半導体装置 |
US8601202B1 (en) * | 2009-08-26 | 2013-12-03 | Micron Technology, Inc. | Full chip wear leveling in memory device |
-
2016
- 2016-12-06 KR KR1020160165228A patent/KR20180065075A/ko unknown
-
2017
- 2017-10-06 US US15/726,460 patent/US10445005B2/en active Active
- 2017-12-01 CN CN201711250890.1A patent/CN108182034B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120023144A1 (en) * | 2010-07-21 | 2012-01-26 | Seagate Technology Llc | Managing Wear in Flash Memory |
CN102981971A (zh) * | 2012-12-25 | 2013-03-20 | 重庆大学 | 一种快速响应的相变存储器损耗均衡方法 |
CN103942148A (zh) * | 2013-01-21 | 2014-07-23 | 擎泰科技股份有限公司 | 非易失性存储器的损耗均衡***及方法 |
CN104156317A (zh) * | 2014-08-08 | 2014-11-19 | 浪潮(北京)电子信息产业有限公司 | 一种非易失性闪存的擦写管理方法及*** |
US20160139812A1 (en) * | 2014-11-14 | 2016-05-19 | Sk Hynix Memory Solutions Inc. | Hot-cold data separation method in flash translation layer |
CN105183386A (zh) * | 2015-09-14 | 2015-12-23 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111290704A (zh) * | 2018-12-06 | 2020-06-16 | 爱思开海力士有限公司 | 用于控制储存在存储***中的数据的装置和方法 |
CN111290704B (zh) * | 2018-12-06 | 2023-10-27 | 爱思开海力士有限公司 | 用于控制储存在存储***中的数据的装置和方法 |
CN112306372A (zh) * | 2019-07-31 | 2021-02-02 | 伊姆西Ip控股有限责任公司 | 用于处理数据的方法、设备和程序产品 |
TWI688958B (zh) * | 2019-08-23 | 2020-03-21 | 群聯電子股份有限公司 | 冷區域判斷方法、記憶體控制電路單元與記憶體儲存裝置 |
CN112650442A (zh) * | 2019-10-11 | 2021-04-13 | 爱思开海力士有限公司 | 存储器***、存储器控制器及操作方法 |
CN112650442B (zh) * | 2019-10-11 | 2024-01-26 | 爱思开海力士有限公司 | 存储器***、存储器控制器及操作方法 |
CN113176849A (zh) * | 2020-01-27 | 2021-07-27 | 西部数据技术公司 | 使用智能流块交换来维持均匀热计数分布的存储***和方法 |
CN113176849B (zh) * | 2020-01-27 | 2024-06-18 | 西部数据技术公司 | 使用智能流块交换来维持均匀热计数分布的存储***和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108182034B (zh) | 2021-03-09 |
KR20180065075A (ko) | 2018-06-18 |
US10445005B2 (en) | 2019-10-15 |
US20180157427A1 (en) | 2018-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108182034A (zh) | 存储***及其操作方法 | |
CN103765392B (zh) | 存储器装置的损耗均衡 | |
KR102664704B1 (ko) | 메모리 시스템 및 이를 이용한 웨어-레벨링 방법 | |
CN103562842B (zh) | 用于存储设备的用低预留空间实现低写入放大的方法 | |
US9921956B2 (en) | System and method for tracking block level mapping overhead in a non-volatile memory | |
US10114562B2 (en) | Adaptive block allocation in nonvolatile memory | |
US9349479B1 (en) | Boundary word line operation in nonvolatile memory | |
US10656832B2 (en) | Memory system and operation method thereof | |
US9361991B1 (en) | Efficient scanning of nonvolatile memory blocks | |
US7797481B2 (en) | Method and apparatus for flash memory wear-leveling using logical groups | |
CN109074831A (zh) | 存储器的温度变化补偿 | |
US8503257B2 (en) | Read disturb scorecard | |
US8929169B1 (en) | Power management for nonvolatile memory array | |
CN104798055B (zh) | 存储器控制器、数据存储装置和存储器控制方法 | |
CN108701100B (zh) | 管理非易失性存储器中的阈值电压位移 | |
US9804785B2 (en) | Nonvolatile memory adaptive to host boot up routine | |
CN108628763A (zh) | 用于高效垃圾收集的预测块分配的存储***和方法 | |
US10929303B2 (en) | Data storage device utilizing virtual blocks to improve performance and data storage method thereof | |
CN108959112A (zh) | 存储***及使用其的损耗均衡方法 | |
CN110109611A (zh) | 存储***及其操作方法 | |
WO2019118125A1 (en) | Multilevel addressing | |
CN109726143A (zh) | 存储器控制器的操作方法和储存设备的操作方法 | |
CN107958690A (zh) | 数据存储装置及其操作方法 | |
CN108572923A (zh) | 管理装置、信息处理装置以及管理方法 | |
CN106257432A (zh) | 数据储存设备及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |