CN111159058B - 一种磨损均衡方法、装置及非易失性的存储设备 - Google Patents

一种磨损均衡方法、装置及非易失性的存储设备 Download PDF

Info

Publication number
CN111159058B
CN111159058B CN201911379424.2A CN201911379424A CN111159058B CN 111159058 B CN111159058 B CN 111159058B CN 201911379424 A CN201911379424 A CN 201911379424A CN 111159058 B CN111159058 B CN 111159058B
Authority
CN
China
Prior art keywords
physical block
linked list
slc
data
tail
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
CN201911379424.2A
Other languages
English (en)
Other versions
CN111159058A (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.)
Shenzhen Dapu Microelectronics Co Ltd
Original Assignee
Shenzhen Dapu Microelectronics Co Ltd
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 Shenzhen Dapu Microelectronics Co Ltd filed Critical Shenzhen Dapu Microelectronics Co Ltd
Priority to CN201911379424.2A priority Critical patent/CN111159058B/zh
Publication of CN111159058A publication Critical patent/CN111159058A/zh
Application granted granted Critical
Publication of CN111159058B publication Critical patent/CN111159058B/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
    • 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/0253Garbage collection, i.e. reclamation of unreferenced memory
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache

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

本发明实施例涉及存储设备应用领域,公开了一种磨损均衡方法、装置及非易失性的存储设备。其中所述的磨损均衡方法,包括:建立空闲物理块链表和数据物理块链表,空闲物理块链表和数据物理块链表均由按照擦除次数从大到小排序的非SLC物理块组成;将所述空闲物理块链表划分为SLC链表和非SLC链表;每间隔预设时间阈值,开启静态磨损均衡任务;若数据物理块链表的头部物理块与尾部物理块的擦除次数大于预设次数阈值,则将头部物理块中的热数据搬移到所述SLC链表尾部的SLC物理块,将尾部物理块中的冷数据搬移到头部物理块。通过上述方式,本发明实施例能够延长非易失性的存储设备中的非SLC物理块的使用寿命。

Description

一种磨损均衡方法、装置及非易失性的存储设备
技术领域
本发明涉及存储设备应用领域,特别是涉及一种磨损均衡方法、装置及非易失性的存储设备。
背景技术
固态硬盘(Solid State Drives,SSD),是采用固态电子存储芯片阵列而制成的硬盘,固态硬盘会包括控制单元和存储单元(FLASH存储芯片以及DRAM存储芯片),在固态硬盘中,已写入数据的物理块(block),不能直接改写,只有先通过垃圾回收才能写入新的数据。
为了减少SSD数据的写放大,主要的研究方向是想通过数据分组的方法将冷热数据分离开,在数据写入的时候分别存储在不同的物理块(Block)中。目前,可以通过统计的方法针对不同逻辑区块地址(Logical Block Address,LBA)的数据生命周期进行预测,进而根据生命周期的长短对数据存放的物理块进行分组,但是,数据生命周期的统计和预测会带来比较大的硬件开销,预测准确度目前也满足不了产品期望。
基于此,现有技术亟待改进。
发明内容
本发明实施例旨在提供一种磨损均衡方法、装置及非易失性的存储设备,其能够延长非易失性的存储设备中的非SLC物理块的使用寿命。
为解决上述技术问题,本发明实施例提供以下技术方案:
第一方面,本发明实施例提供一种磨损均衡方法,应用于非易失性的存储设备,所述方法包括:
建立空闲物理块链表和数据物理块链表,其中,所述空闲物理块链表和数据物理块链表均由按照擦除次数从大到小排序的非SLC物理块组成;
将所述空闲物理块链表划分为SLC链表和非SLC链表,其中,所述SLC链表由SLC物理块组成;
每间隔预设时间阈值,开启静态磨损均衡任务,判断所述数据物理块链表的头部物理块与尾部物理块的擦除次数的差值是否大于预设次数阈值;
若所述数据物理块链表的头部物理块与尾部物理块的擦除次数的差值大于预设次数阈值,则将所述头部物理块中的热数据搬移到所述SLC链表尾部的SLC物理块,并将所述尾部物理块中的冷数据搬移到所述头部物理块。
在一些实施例中,所述方法还包括:
建立隔离链表,所述隔离链表由按照擦除次数从大到小排序的非SLC物理块组成,并且,所述隔离链表中的非SLC物理块不会被所述静态磨损均衡任务选中;
在将所述头部物理块中的热数据搬移到所述SLC Cache链表尾部的SLC物理块之后,擦除所述头部物理块,并且,根据所述头部物理块的擦除次数,将所述头部物理块迁移到所述隔离链表。
在一些实施例中,所述方法还包括:
在将所述尾部物理块中的冷数据搬移到头部物理块之后,擦除所述尾部物理块,并且,根据所述尾部物理块的擦除次数,将尾部物理块迁移到所述非SLC链表。
在一些实施例中,所述方法还包括:
判断所述隔离链表的尾部物理块的擦除次数是否小于所述数据物理块链表的尾部物理块的擦除次数;
若是,则将所述隔离链表的尾部物理块迁移到所述数据物理块链表的尾部。
在一些实施例中,所述方法还包括:
若所述隔离链表的尾部物理块的擦除次数不小于所述数据物理块链表的尾部物理块的擦除次数,则终止当前的静态磨损均衡任务。
在一些实施例中,所述方法还包括:
若所述数据物理块链表的头部物理块与尾部物理块的擦除次数的差值不大于预设次数阈值,则终止当前的静态磨损均衡任务。
在一些实施例中,所述方法还包括:
若后续的垃圾回收任务确定的源物理块为所述SLC链表尾部的SLC物理块,则将所述SLC链表尾部的SLC物理块的有效数据搬移到所述非SLC链表尾部的非SLC物理块,并擦除所述SLC链表尾部的SLC物理块。
在一些实施例中,所述非易失性的存储设备为固态硬盘,所述非SLC物理块为TLC物理块、QLC物理块或MLC物理块。
第二方面,本发明实施例提供一种磨损均衡装置,应用于非易失性的存储设备,包括:
链表建立单元,用于建立空闲物理块链表和数据物理块链表,其中,所述空闲物理块链表和数据物理块链表均由按照擦除次数从大到小排序的非SLC物理块组成;
链表划分单元,用于将所述空闲物理块链表划分为SLC链表和非SLC链表,其中,所述SLC链表由SLC物理块组成;
静态磨损任务单元,用于每间隔预设时间阈值,开启静态磨损均衡任务,判断所述数据物理块链表的头部物理块与尾部物理块的擦除次数的差值是否大于预设次数阈值;
数据搬移单元,用于若所述数据物理块链表的头部物理块与尾部物理块的擦除次数的差值大于预设次数阈值,则将所述头部物理块中的热数据搬移到所述SLC链表尾部的SLC物理块,将所述尾部物理块中的冷数据搬移到所述头部物理块。
在一些实施例中,所述链表建立单元,还用于:
建立隔离链表,所述隔离链表由按照擦除次数从大到小排序的非SLC物理块组成,并且,所述隔离链表中的非SLC物理块不会被所述静态磨损均衡任务选中;
在将所述头部物理块中的热数据搬移到所述SLC Cache链表尾部的SLC物理块之后,擦除所述头部物理块,并且,根据所述头部物理块的擦除次数,将所述头部物理块迁移到所述隔离链表。
在一些实施例中,所述磨损均衡装置,还包括:
迁移单元,用于在将所述尾部物理块中的冷数据搬移到头部物理块之后,擦除所述尾部物理块,并且,根据所述尾部物理块的擦除次数,将尾部物理块迁移到所述非SLC链表。
在一些实施例中,所述迁移单元,还用于:
判断所述隔离链表的尾部物理块的擦除次数是否小于所述数据物理块链表的尾部物理块的擦除次数;
若是,则将所述隔离链表的尾部物理块迁移到所述数据物理块链表的尾部。
若否,则终止当前的静态磨损均衡任务。
在一些实施例中,所述数据搬移单元,还用于:
若后续的垃圾回收任务确定的源物理块为所述SLC链表尾部的SLC物理块,则将所述SLC链表尾部的SLC物理块的有效数据搬移到所述非SLC链表尾部的非SLC物理块,并擦除所述SLC链表尾部的SLC物理块。
在一些实施例中,所述非易失性的存储设备为固态硬盘,所述非SLC物理块为TLC物理块、QLC物理块或MLC物理块。
第三方面,本发明实施例提供一种非易失性的存储设备,包括:
闪存芯片,所述闪存芯片包括多个晶圆,每一所述晶圆包括多个分组,每一所述分组包括多个物理块,每一所述物理块包括多个物理页;
主控制器,所述主控制器包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的磨损均衡方法。
第四方面,本发明实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使非易失性的存储设备能够执行如上所述的磨损均衡方法。
本发明实施例的有益效果是:区别于现有技术的情况下,本发明实施例提供的一种磨损均衡方法,包括:建立空闲物理块链表和数据物理块链表,空闲物理块链表和数据物理块链表均由按照擦除次数从大到小排序的非SLC物理块组成;将所述空闲物理块链表划分为SLC链表和非SLC链表;每间隔预设时间阈值,开启静态磨损均衡任务;判断所述数据物理块链表的头部物理块与尾部物理块的擦除次数的差值是否大于预设次数阈值;若数据物理块链表的头部物理块与尾部物理块的擦除次数的差值大于预设次数阈值,则将头部物理块中的热数据搬移到所述SLC链表尾部的SLC物理块,将尾部物理块中的冷数据搬移到所述头部物理块。通过上述方式,本发明实施例能够延长非易失性的存储设备中的非SLC物理块的使用寿命。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是现有技术的垃圾回收的示意图;
图2是现有技术的磨损均衡的示意图;
图3是现有技术的磨损均衡的流程图;
图4是本发明实施例提供的一种磨损均衡方法的流程图;
图5是本发明实施例提供的一种磨损均衡的示意图;
图6是本发明实施例提供的另一种磨损均衡的示意图;
图7是本发明实施例提供的一种磨损均衡方法的整体流程图;
图8是本发明实施例提供的磨损均衡的示意图;
图9是本发明实施例提供的磨损均衡的工作示意图;
图10是本发明实施例提供的磨损均衡的另一工作示意图;
图11是本发明实施例提供的一种磨损均衡装置的结构示意图;
图12是本发明实施例提供的一种固态硬盘的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在本发明实施例中,存储设备包括为具有垃圾回收机制的非易失性存储设备,非易失性存储器(Non-Volatile Memory,NVM)是所有形式的固态(没有可动部分)存储器的一个一般的术语,它不用定期地刷新存储器内容。这包括所有形式的只读存储器(Read-OnlyMemory,ROM),例如:可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、电可擦除只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、闪存(FlashMemory)以及电池供电的随机存取储存器(Random Access Memory,RAM)。
具体的,本发明实施例以非易失性的存储设备为固态硬盘为例进行阐述。
在固态硬盘中,由于NAND FLASH读写原理,不能对已写入的数据在其存储物理位置上直接改写。需要首先以物理块(Block)为单位执行擦除操作,然后才允许对该块包含的数据页(Page)执行写操作,这使得SSD具有非常低效的就地更新操作的关键弱点。为此,SSD系统通常采用异地更新操作,即将数据复制到缓冲区进行更新,更新后存储至新位置,包含原数据的旧位置标记为“垃圾”,须经由“垃圾回收(Garbage Collection,GC)”才能将一个物理块Block包含的全部物理页Page重新转换为可用空间。
垃圾回收(Garbage Collection,GC)是将NAND FLASH中一个物理块里的有效页的数据复制到另一个空闲块(未被使用的物理块)里,然后把这个物理块完全擦除,其中,当NAND FLASH中任意一个物理页中有数据需要修改时,该物理页会被标识为无效页,该无效页内的数据均成为无效数据,并在其他物理块上申请页空间大小进行数据写入,而未被标记为无效页且已使用的物理页被称为有效页。其中,固态硬盘(Solid State Drives,SSD)的编程/擦除次数(Program/Erase Cycles,P/E),简称为擦除次数,决定固态硬盘的寿命。
磨损均衡任务目的是使得所有物理块的擦除次数趋于一致,随着主机数据持续写入,物理块的擦除(PE:Program/Erase)次数是整体向上涨的,但是由于主机写入的数据有冷热之分,冷数据为主机很少复写的LBA(Logical Block Address)数据,这些数据存储在某些物理块上基本不会被垃圾回收任务选为源物理块(因为物理块中有效物理页比较多),所以这些物理块的擦除次数基本不变,然而热数据(主机频繁复写的LBA数据)所在的物理块中有效物理页很快就会降得很低,所以大概率会被垃圾回收任务选为源物理块,数据搬移后被擦除,所以这些物理块的擦除次数上升的很快,渐渐的物理块之间的擦除次数就变得不均衡了。
请参阅图1,图1是现有技术的垃圾回收的示意图;
如图1所示,存储设备包括Free block链表以及Data block链表,其中,Freeblock链表挂载空闲物理块,Data block链表挂载存储了主机数据的物理块,按照擦除次数从大到小排序,如上所述,SSD固件从Free block链表的尾部(擦除次数最小)拿出物理块Q存储主机数据,写满后将它迁移到Data block链表上,根据Q的擦除次数插入到对应的位置(插入排序),这种选择最小擦除次数空闲物理块存储主机数据的做法就是所谓的动态磨损均衡,因为它能帮助均衡磨损所有物理块。
Data block链表上的物理块有的存储了热数据,有的存储了冷数据,存储热数据的物理块由于主机复写,有效页很快降低,会被垃圾回收任务选中,擦除之后迁移(排序插入)到Free block链表,后又写入主机数据迁移到Data block链表,如此循环它的擦除次数会较快增长,渐渐排在Data block链表头部;而存储了冷数据的物理块,由于几乎不会被主机复写,块中有效页数据保持较高水平,所以也几乎不会被垃圾回收,它的擦除次数几乎不变,渐渐的就会排在Data block链表的尾部,这就导致了磨损不均衡。
为了实现磨损均衡,Data block链表的尾部也需要参与到磨损均衡任务中,请参阅图2,图2是现有技术的磨损均衡的示意图;
如图2所示,通过将Data block链表中的头部物理块A的热数据与尾部物理块B的冷数据交互,从而实现磨损均衡。
请再参阅图3,图3是现有技术的磨损均衡的流程图;
如图3所示,PE(A)为头部物理块的擦除次数,PE(B)为尾部物理块的擦除次数,通过检查Data block链表头部和尾部物理块的擦除次数的差值PE(A)–PE(B)是否大于预设次数阈值EC_TH,若小于,表示磨损还算均衡,则退出静态磨损均衡任务,否则将物理块A中的热数据与物理块B中的冷数据互换,具体的,通过将物理块B中的有效数据缓存到Buffer,并擦除物理块B,其中,Buffer指的是一个物理块大小的缓存区,之后,将物理块A中的有效数据搬移到物理块B,并擦除物理块A,将Buffer中的数据写入到物理块A,从而使得此后物理块A中存储了冷数据擦除次数基本保持不变(垃圾回收不会选中它),B中存了热数据,主机复写降低有效页数量,B将会很快被垃圾回收任务选中,擦除后存储新的主机热数据,所以B的擦除次数会渐渐变大,总体的磨损渐渐趋于均衡。
但是,静态磨损均衡后,A中热数据搬移到B中,热数据被主机复写后,B很快被垃圾回收任务选中而被擦除一次。而非SLC闪存,例如TLC闪存的擦除次数是比较珍贵的(当前主流TLC物理块的寿命为1500左右的总擦除次数,QLC物理块的寿命为1000左右的总擦除次数),因此,当前急需提高非SLC物理块的使用寿命。
基于此,本发明提供一种磨损均衡方法,以延长非易失性的存储设备中的非SLC物理块的使用寿命。
下面结合附图对该方法进行进一步的阐述。
请参阅图4,图4是本发明实施例提供的一种磨损均衡方法的流程图;
如图4所示,该磨损均衡方法,应用于非易失性的存储设备,例如:固态硬盘,所述包括:
步骤S10:建立空闲物理块链表和数据物理块链表,其中,所述空闲物理块链表和数据物理块链表均由按照擦除次数从大到小排序的非SLC物理块组成;
具体的,所述空闲物理块链表为空闲物理块的组合,所述空闲物理块链表挂载空闲物理块(Free block),多个空闲物理块按照擦除次数从大到小的顺序组合形成所述空闲物理块,所述数据物理块链表为数据物理块的组合,所述数据物理块链表挂载存储有主机数据的物理块(Data block),在本发明实施例中,所述空闲物理块链表和数据物理块链表均由非SLC物理块组成,例如:TLC物理块、MLC物理块或者QLC物理块。
步骤S20:将所述空闲物理块链表划分为SLC链表和非SLC链表,其中,所述SLC链表由SLC物理块组成;
具体的,将所述空闲物理块链表划分成SLC链表和非SLC链表,其中,所述SLC链表由SLC物理块组成,例如:将预定比例的非SLC物理块设置成SLC物理块,其余的物理块仍然为非SLC物理块,比如所述非SLC物理块为TLC物理块,则将所述空闲物理块链表中的0.1%的TLC物理块设置成SLC模式,其余的物理块仍然为TLC物理块,从而实现将所述空闲物理块链表划分为SLC链表和非SLC链表。
步骤S30:每间隔预设时间阈值,开启静态磨损均衡任务;
具体的,所述静态磨损均衡任务为后台任务,每间隔预设时间阈值触发一次,从而检查是否需要启动静态磨损均衡算法,假设所述预设时间阈值为Time_TH,所述预设时间阈值Time_TH可以人为设置,例如:设置为5s。
步骤S40:判断所述数据物理块链表的头部物理块与尾部物理块的擦除次数的差值是否大于预设次数阈值;
具体的,假设所述数据物理块链表的头部物理块为A,所述数据物理块链表的尾部物理块为B,则所述头部物理块A的擦除次数为PE(A),所述尾部物理块B的擦除次数为PE(B),假设所述预设次数阈值为EC-TH,所述预设次数阈值EC-TH表征所述数据物理块链表上所有物理块的不均衡程度,用于决定是否触发静态磨损均衡算法。所述预设次数阈值EC-TH可以人为设置,例如:设置所述预设次数阈值EC-TH为15。通过计算所述数据物理块链表的头部物理块与尾部物理块的擦除次数的差值,并判断所述差值是否大于预设次数阈值,从而确定是否进行冷热数据的互换。
步骤S50:将所述头部物理块中的热数据搬移到所述SLC链表尾部的SLC物理块,并将所述尾部物理块中的冷数据搬移到头部物理块。
具体的,假设所述SLC链表尾部的SLC物理块为M,TLC链表尾部的TLC物理块为N,若PE(A)-PE(B)>EC-TH,即所述头部物理块A与尾部物理块B的擦除次数的差值大于所述预设次数阈值EC-TH,则将所述头部物理块A中的热数据搬移到所述SLC链表尾部的SLC物理块M,并将所述尾部物理块B中的冷数据搬移到头部物理块A。本发明通过将现有技术中物理块A中热数据搬移到物理块B中的操作更改为:将物理块A中的热数据搬到SLC Cache链表尾部的SLC物理块M中,后续主机复写物理块M中的热数据,物理块M中有效物理页快速降低,然后被垃圾回收任务选中将残留的少数有效数据搬移到TLC链表尾部的TLC物理块N中,然后擦除物理块M,由于M是SLC物理块,相比TLC物理块具有几十倍的寿命,从而能够延长非易失性的存储设备中的非SLC物理块的使用寿命。
步骤S60:结束当前的静态磨损均衡任务;
具体的,结束当前的静态磨损均衡任务,以等到间隔预设时间阈值之后,重新开始新的静态磨损均衡任务。
下面以非SLC物理块为TLC物理块为例,进行说明:
请再参阅图5,图5是本发明实施例提供的一种磨损均衡的示意图;
如图5所示,该存储设备包括空闲物理块链表(Free block链表)以及数据物理块链表(Data block链表),将该Free block链表分为SLC链表(SLC Cache链表)和非SLC链表(TLC链表),通过将Data block链表的头部物理块A的热数据搬移到所述SLC Cache链表的尾部物理块M中,后续主机复写所述物理块M中的热数据,使得所述物理块M被垃圾回收任务选中,将物理块M中的有效数据搬移到所述TLC链表的尾部物理块N中,并且,在物理块B被擦除后,将物理块B迁移到Free block链表中。
通过将Free block链表划分为SLC Cache链表和TLC链表的方式,本发明实施例能够延长非易失性的存储设备中的非SLC物理块的使用寿命。
在一些极端的情况下,静态磨损均衡后,存储冷数据的物理块A,虽然在后续的时间间隔Time_TH内,基本不会被垃圾回收任务选中,因此其擦除次数不会增大,但是如果A的擦除次数比排在第二位的物理块D大很多,那么可能过了Time_TH后,A依然排在Data block链表的头部,如图6所示,此时如果再次触发静态磨损均衡任务,将会发生不期望的一幕:物理块A(冷)与C(冷)进行数据互换,即A中冷数据存到了擦除次数较低的C中,那么在后续的时间间隔Time_TH内物理块C的擦除次数是不会增加的,即达不到均衡磨损的目的。
因此,为了提高磨损均衡任务的均衡效果,本发明实施例还提出了通过设置隔离链表的方式,以避免Data block链表头部的物理块A经第一次静态磨损均衡任务后存储冷数据,在第二次静态磨损均衡任务时可能又会被选中。
因此,本发明实施例通过建立隔离链表,所述隔离链表由按照擦除次数从大到小排序的非SLC物理块组成,并且,所述隔离链表中的非SLC物理块不会被所述静态磨损均衡任务选中;
在将所述头部物理块A中的热数据搬移到所述SLC Cache链表尾部的SLC物理块M之后,擦除所述头部物理块A,并且,根据所述头部物理块A的擦除次数,将所述头部物理块A迁移到所述隔离链表。
具体的,请再参阅图7,图7是本发明实施例提供的一种磨损均衡方法的整体流程图;
如图7所示,该磨损均衡方法,包括:
开始;
步骤S71:每间隔预设时间阈值,开启静态磨损均衡任务;
步骤S72:判断所述数据物理块链表的头部物理块与尾部物理块的擦除次数的差值是否大于预设次数阈值;
具体的,检查Data block链表头部和尾部物理块的擦除次数的差值PE(A)-PE(B)是否大于预设值EC_TH,若不大于,则退出当前的静态磨损均衡任务,若大于,则进入步骤S73:将所述尾部物理块中的冷数据搬移到头部物理块。
步骤S73:将所述尾部物理块中的冷数据搬移到头部物理块;
具体的,将所述数据物理块链表的尾部物理块B中的冷数据搬移到所述数据物理块链表的头部物理块A中。具体的,所述将所述数据物理块链表的尾部物理块B中的冷数据搬移到所述数据物理块链表的头部物理块A中,包括:通过将所述数据物理块链表的尾部物理块B中的冷数据缓存到Buffer,并擦除所述尾部物理块B,其中,Buffer指的是一个物理块大小的缓存区,之后,将所述Buffer中的数据写入到头部物理块A,以实现将所述尾部物理块B中的冷数据搬移到所述头部物理块A。
步骤S74:将所述头部物理块迁移到所述隔离链表;
具体的,在将所述头部物理块A中的热数据搬移到所述SLC Cache链表尾部的SLC物理块M之后,擦除所述头部物理块A,并且,根据所述头部物理块A的擦除次数,将所述头部物理块A迁移到所述隔离链表。
步骤S75:将尾部物理块迁移到所述非SLC链表;
具体的,在将所述尾部物理块B中的冷数据搬移到头部物理块A之后,擦除所述尾部物理块B,并且,根据所述尾部物理块B的擦除次数,将尾部物理块B迁移到所述非SLC链表。
步骤S76:判断所述隔离链表的尾部物理块的擦除次数是否小于所述数据物理块链表的尾部物理块的擦除次数;
具体的,由于存储了冷数据的物理块A迁移到隔离链表之后,就不会参与静态磨损均衡任务的选源,那么每触发一次静态磨损均衡任务都会有一个物理块被迁移到隔离链表上且存储的基本都是冷数据,基本不会被垃圾回收任务GC选中,所以隔离链表上物理块的擦除次数基本维持不变。而Data block链表上的物理块大多存储热数据,在主机复写和垃圾回收的作用下整体的擦除次数会渐渐变大,长此以往,Data block链表和隔离链表上物理块的磨损情况将变得不均衡。所以需要引入Step6和7,假设此时隔离链表上最小擦除次数的物理块Q,Data block链表上最小擦除次数的物理块为C,即所述隔离链表的尾部物理块为Q,所述Data block链表的尾部物理块为C,当隔离链表上最小擦除次数的物理块Q小于Data block链表上最小擦除次数的物理块C时,将Q迁移到Data block上,那么下一次触发静态磨损均衡算法时就会选中物理块Q了,以此达到所有闪存物理块的磨损均衡。
步骤S77:将所述隔离链表的尾部物理块迁移到所述数据物理块链表的尾部;
具体的,若所述隔离链表的尾部物理块的擦除次数小于所述数据物理块链表的尾部物理块的擦除次数,则证明所述隔离链表的尾部物理块需要参与到静态磨损均衡任务中以提高均衡效果,因此,由于所述隔离链表的尾部物理块的擦除次数小于所述数据物理块链表的尾部物理块的擦除次数,因此所述隔离链表的尾部物理块的擦除次数为最小的,所以将所述隔离链表的尾部物理块迁移到所述数据物理块链表的尾部,以满足擦除次数从大到小排序的需求。
在本发明实施例中,所述方法还包括:
若所述隔离链表的尾部物理块Q的擦除次数不小于所述数据物理块链表的尾部物理块C的擦除次数,则终止当前的静态磨损均衡任务。
在本发明实施例中,所述方法还包括:
若所述数据物理块链表的头部物理块A与尾部物理块B的擦除次数不大于预设次数阈值,则终止当前的静态磨损均衡任务。
在本发明实施例中,所述方法还包括:
若后续的垃圾回收任务确定的源物理块为所述SLC链表尾部的SLC物理块,则将所述SLC链表尾部的SLC物理块的有效数据搬移到所述非SLC链表尾部的非SLC物理块,并擦除所述SLC链表尾部的SLC物理块。
具体的,假设所述SLC链表尾部的SLC物理块为M,所述非SLC链表尾部的非SLC物理块为N,若后续的垃圾回收任务确定的源物理块为所述SLC链表尾部的SLC物理块M,则将所述SLC链表尾部的SLC物理块M的有效数据搬移到所述非SLC链表尾部的非SLC物理块N,并擦除所述SLC链表尾部的SLC物理块M。
在本发明实施例中,非易失性的存储设备为固态硬盘,所述非SLC物理块为TLC物理块、QLC物理块或MLC物理块。
在本发明实施例中,通过设置隔离链表,静态磨损均衡后将存储了冷数据的物理块(Data block链表头部)搬移到隔离链表上,防止下一次的静态磨损均衡算法又选中该物理块,从而提高静态磨损均衡任务的均衡效果。
具体的,结合图示解释其工作原理,请参阅图8,图8是本发明实施例提供的磨损均衡的示意图;
如图8所示,通过将Data block链表中的头部物理块A迁移到隔离链表中,以防止下一次的静态磨损均衡算法又选中该头部物理块A,并且,还可以通过将隔离链表中的尾部物理块Q迁移到所述Data block链表中,以使所述隔离链表中的物理块参与到静态磨损均衡任务中,以提高均衡效果。
请再参阅图9,图9是本发明实施例提供的磨损均衡的工作示意图;
如图9所示,该磨损均衡的工作步骤,包括:
Step1:每隔预设时间间隔Time_TH,检查Data block链表的头部物理块和尾部物理块的擦除次数是否满足PE(A)-PE(B)>EC_TH,如果不满足,则退出当前的磨损均衡任务,否则进入Step2;
Step2:将TLC物理块A中有效热数据搬移到Free block链表的SLC Cache链表尾部的SLC物理块M中;
Step3:将TLC物理块B中冷数据搬移到物理块A中;
Step4:将物理块A迁移(排序插入)到隔离链表上;
具体的,根据所述物理块A的擦除次数,按照顺序迁移到所述隔离链表上。
Step5:物理块B迁移(排序插入)到Free block链表的TLC链表中;
具体的,根据所述物理块B的擦除次数,按照顺序迁移到所述TLC链表中,此时物理块和链表之间的关系,请参阅图10,图10是本发明实施例提供的磨损均衡的另一工作示意图;
如图10所示,Step6:检查隔离链表尾部的物理块Q的擦除次数是否小于Datablock链表尾部物理块C的擦除次数,如果不小于,则退出当前的磨损均衡任务,否则进行Step7;
Step7:将物理块Q迁移到Data block链表尾部,参与静态磨损均衡任务。
在本发明实施例中,通过提供一种磨损均衡方法,包括:建立空闲物理块链表和数据物理块链表,空闲物理块链表和数据物理块链表均由按照擦除次数从大到小排序的非SLC物理块组成;将所述空闲物理块链表划分为SLC链表和非SLC链表;每间隔预设时间阈值,开启静态磨损均衡任务;若数据物理块链表的头部物理块A与尾部物理块B的擦除次数大于预设次数阈值,则将头部物理块A中的热数据搬移到所述SLC链表尾部的SLC物理块M,将尾部物理块B中的冷数据搬移到头部物理块A。通过上述方式,本发明实施例能够延长非易失性的存储设备中的非SLC物理块的使用寿命。
请再参阅图11,图11是本发明实施例提供的一种磨损均衡装置的结构示意图;
如图11所示,该磨损均衡装置110,应用于非易失性的存储设备,包括:
链表建立单元111,用于建立空闲物理块链表和数据物理块链表,其中,所述空闲物理块链表和数据物理块链表均由按照擦除次数从大到小排序的非SLC物理块组成;
链表划分单元112,用于将所述空闲物理块链表划分为SLC链表和非SLC链表,其中,所述SLC链表由SLC物理块组成;
静态磨损任务单元113,用于每间隔预设时间阈值,开启静态磨损均衡任务,判断所述数据物理块链表的头部物理块与尾部物理块的擦除次数的差值是否大于预设次数阈值;
数据搬移单元114,用于若所述数据物理块链表的头部物理块与尾部物理块的擦除次数的差值大于预设次数阈值,则将所述头部物理块中的热数据搬移到所述SLC链表尾部的SLC物理块,将所述尾部物理块中的冷数据搬移到所述头部物理块。
在本发明实施例中,所述链表建立单元111,还用于:
建立隔离链表,所述隔离链表由按照擦除次数从大到小排序的非SLC物理块组成,并且,所述隔离链表中的非SLC物理块不会被所述静态磨损均衡任务选中;
在将所述头部物理块中的热数据搬移到所述SLC Cache链表尾部的SLC物理块之后,擦除所述头部物理块,并且,根据所述头部物理块的擦除次数,将所述头部物理块迁移到所述隔离链表。
在本发明实施例中,所述磨损均衡装置110,还包括:
迁移单元115,用于在将所述尾部物理块中的冷数据搬移到头部物理块之后,擦除所述尾部物理块,并且,根据所述尾部物理块的擦除次数,将尾部物理块迁移到所述非SLC链表。
在本发明实施例中,所述迁移单元115,还用于:
判断所述隔离链表的尾部物理块的擦除次数是否小于所述数据物理块链表的尾部物理块的擦除次数;
若是,则将所述隔离链表的尾部物理块迁移到所述数据物理块链表的尾部。
若否,则终止当前的静态磨损均衡任务。
在本发明实施例中,所述数据搬移单元114,还用于:
若后续的垃圾回收任务确定的源物理块为所述SLC链表尾部的SLC物理块,则将所述SLC链表尾部的SLC物理块的有效数据搬移到所述非SLC链表尾部的非SLC物理块,并擦除所述SLC链表尾部的SLC物理块。
在本发明实施例中,所述非易失性的存储设备为固态硬盘,所述非SLC物理块为TLC物理块、QLC物理块或MLC物理块。
由于装置实施例和方法实施例是基于同一构思,在内容不互相冲突的前提下,装置实施例的内容可以引用方法实施例的,在此不赘述。
请参阅图12,图12是本发明实施例提供的一种固态硬盘的结构示意图;
如图12所示,该固态硬盘120,包括:主控制器121以及闪存芯片122,所述主控制器121连接所述闪存芯片122;
具体的,所述主控制器121,包括:一个或多个处理器1211以及存储器1212。其中,图12中以一个处理器1211为例。
处理器1211和存储器1212可以通过总线或者其他方式连接,图12中以通过总线连接为例。
存储器1212作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器1211通过运行存储在存储器1212中的非易失性软件程序、指令以及模块,从而执行本发明实施例的磨损均衡方法的各种功能应用以及数据处理。
存储器1212可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器1212可选包括相对于处理器1211远程设置的存储器,这些远程存储器可以通过网络连接至处理器1211。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。所述模块存储在所述存储器1212中,当被所述一个或者多个处理器111执行时,执行本发明实施例中的磨损均衡方法。
具体的,所述闪存芯片122,包括多个晶圆(die),每个晶圆由多个分组(plane)组成,每个分组由多个块(block)组成,即本发明中所述的物理块(block),其中,块是闪存芯片122擦除的基本单位,每个块有多个页(page),即物理页,物理页(page)是闪存芯片122读写的基本单位。
本发明实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图12中的一个处理器1211,可使得上述一个或多个处理器可执行上述任意方法实施例中的磨损均衡方法,例如,执行上述任意方法实施例中的磨损均衡方法,例如,执行以上描述的图4所示的各个步骤;也可实现图11所示的各个单元的功能。
以上所描述的装置或设备实施例仅仅是示意性的,其中所述作为分离部件说明的单元模块可以是或者也可以不是物理上分开的,作为模块单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络模块单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用直至得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种磨损均衡方法,应用于非易失性的存储设备,其特征在于,包括:
建立空闲物理块链表和数据物理块链表,其中,所述空闲物理块链表和数据物理块链表均由按照擦除次数从大到小排序的非SLC物理块组成;
将所述空闲物理块链表中的预定比例的非SLC物理块设置成SLC物理块,以将所述空闲物理块链表划分为SLC链表和非SLC链表;
每间隔预设时间阈值,开启静态磨损均衡任务,判断所述数据物理块链表的头部物理块与尾部物理块的擦除次数的差值是否大于预设次数阈值;
若所述数据物理块链表的头部物理块与尾部物理块的擦除次数的差值大于预设次数阈值,则将所述头部物理块中的热数据搬移到所述SLC链表尾部的SLC物理块,并将所述数据物理块链表的尾部物理块中的冷数据搬移到所述头部物理块。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
建立隔离链表,所述隔离链表由按照擦除次数从大到小排序的非SLC物理块组成,并且,所述隔离链表中的非SLC物理块不会被所述静态磨损均衡任务选中;
在将所述头部物理块中的热数据搬移到所述SLC Cache链表尾部的SLC物理块之后,擦除所述头部物理块,并且,根据所述头部物理块的擦除次数,将所述头部物理块迁移到所述隔离链表。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在将所述尾部物理块中的冷数据搬移到头部物理块之后,擦除所述尾部物理块,并且,根据所述尾部物理块的擦除次数,将尾部物理块迁移到所述非SLC链表。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
判断所述隔离链表的尾部物理块的擦除次数是否小于所述数据物理块链表的尾部物理块的擦除次数;
若是,则将所述隔离链表的尾部物理块迁移到所述数据物理块链表的尾部。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述隔离链表的尾部物理块的擦除次数不小于所述数据物理块链表的尾部物理块的擦除次数,则终止当前的静态磨损均衡任务。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述数据物理块链表的头部物理块与尾部物理块的擦除次数的差值不大于预设次数阈值,则终止当前的静态磨损均衡任务。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若后续的垃圾回收任务确定的源物理块为所述SLC链表尾部的SLC物理块,则将所述SLC链表尾部的SLC物理块的有效数据搬移到所述非SLC链表尾部的非SLC物理块,并擦除所述SLC链表尾部的SLC物理块。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述非易失性的存储设备为固态硬盘,所述非SLC物理块为TLC物理块、QLC物理块或MLC物理块。
9.一种磨损均衡装置,应用于非易失性的存储设备,其特征在于,包括:
链表建立单元,用于建立空闲物理块链表和数据物理块链表,其中,所述空闲物理块链表和数据物理块链表均由按照擦除次数从大到小排序的非SLC物理块组成;
链表划分单元,用于将所述空闲物理块链表中的预定比例的非SLC物理块设置成SLC物理块,以将所述空闲物理块链表划分为SLC链表和非SLC链表;
静态磨损任务单元,用于每间隔预设时间阈值,开启静态磨损均衡任务,判断所述数据物理块链表的头部物理块与尾部物理块的擦除次数的差值是否大于预设次数阈值;
数据搬移单元,用于若所述数据物理块链表的头部物理块与尾部物理块的擦除次数的差值大于预设次数阈值,则将所述头部物理块中的热数据搬移到所述SLC链表尾部的SLC物理块,并将所述数据物理块链表的尾部物理块中的冷数据搬移到所述头部物理块。
10.一种非易失性的存储设备,其特征在于,包括:
闪存芯片,所述闪存芯片包括多个晶圆,每一所述晶圆包括多个分组,每一所述分组包括多个物理块,每一所述物理块包括多个物理页;
主控制器,所述主控制器包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8任一项所述的磨损均衡方法。
CN201911379424.2A 2019-12-27 2019-12-27 一种磨损均衡方法、装置及非易失性的存储设备 Active CN111159058B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911379424.2A CN111159058B (zh) 2019-12-27 2019-12-27 一种磨损均衡方法、装置及非易失性的存储设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911379424.2A CN111159058B (zh) 2019-12-27 2019-12-27 一种磨损均衡方法、装置及非易失性的存储设备

Publications (2)

Publication Number Publication Date
CN111159058A CN111159058A (zh) 2020-05-15
CN111159058B true CN111159058B (zh) 2022-03-04

Family

ID=70558547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911379424.2A Active CN111159058B (zh) 2019-12-27 2019-12-27 一种磨损均衡方法、装置及非易失性的存储设备

Country Status (1)

Country Link
CN (1) CN111159058B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111694765A (zh) * 2020-06-05 2020-09-22 重庆大学 一种面向移动应用特征的非易失性内存文件系统多粒度空间管理方法
US11687449B2 (en) * 2020-09-10 2023-06-27 International Business Machines Corporation Concurrent marking garbage collection
CN115989485A (zh) * 2020-11-30 2023-04-18 华为技术有限公司 一种数据处理方法、装置及系统
CN113986140B (zh) * 2021-11-03 2023-10-27 深圳市源微创新实业有限公司 一种高传输率大容量云存储固态硬盘
CN114442946A (zh) * 2022-01-06 2022-05-06 联芸科技(杭州)有限公司 物理块管理方法和固态硬盘

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102419735A (zh) * 2010-09-24 2012-04-18 株式会社东芝 存储器系统
CN102789423A (zh) * 2012-07-11 2012-11-21 山东华芯半导体有限公司 四池闪存磨损均衡方法
CN106951187A (zh) * 2017-03-07 2017-07-14 记忆科技(深圳)有限公司 一种固态存储静态磨损均衡的实现方法
CN107291381A (zh) * 2017-05-18 2017-10-24 记忆科技(深圳)有限公司 一种固态硬盘动态加速区的实现方法及固态硬盘
CN107357534A (zh) * 2017-07-18 2017-11-17 深圳市德名利电子有限公司 一种闪存块模式的动态切换方法及系统
CN108255419A (zh) * 2017-12-19 2018-07-06 深圳忆联信息系统有限公司 一种用于tlc类型ssd的磨损均衡方法及ssd
CN109254926A (zh) * 2017-07-13 2019-01-22 慧荣科技股份有限公司 数据储存装置及非挥发式存储器操作方法
CN109656483A (zh) * 2018-12-19 2019-04-19 中国人民解放军国防科技大学 一种固态盘静态磨损均衡方法及装置
CN110413224A (zh) * 2019-06-26 2019-11-05 深圳佰维存储科技股份有限公司 数据存储方法、装置及存储器

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102419735A (zh) * 2010-09-24 2012-04-18 株式会社东芝 存储器系统
CN102789423A (zh) * 2012-07-11 2012-11-21 山东华芯半导体有限公司 四池闪存磨损均衡方法
CN106951187A (zh) * 2017-03-07 2017-07-14 记忆科技(深圳)有限公司 一种固态存储静态磨损均衡的实现方法
CN107291381A (zh) * 2017-05-18 2017-10-24 记忆科技(深圳)有限公司 一种固态硬盘动态加速区的实现方法及固态硬盘
CN109254926A (zh) * 2017-07-13 2019-01-22 慧荣科技股份有限公司 数据储存装置及非挥发式存储器操作方法
CN107357534A (zh) * 2017-07-18 2017-11-17 深圳市德名利电子有限公司 一种闪存块模式的动态切换方法及系统
CN108255419A (zh) * 2017-12-19 2018-07-06 深圳忆联信息系统有限公司 一种用于tlc类型ssd的磨损均衡方法及ssd
CN109656483A (zh) * 2018-12-19 2019-04-19 中国人民解放军国防科技大学 一种固态盘静态磨损均衡方法及装置
CN110413224A (zh) * 2019-06-26 2019-11-05 深圳佰维存储科技股份有限公司 数据存储方法、装置及存储器

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Garbage collection and wear leveling for flash memory: Past and future";Ming-Chang Yang等;《IEEE》;20151219;第66-73页 *
"Rejuvenator: A static wear leveling algorithm for NAND flash memory with minimized overhead";Muthukumar Murugan等;《IEEE》;20110705;第1-12页 *
"混合固态硬盘的磨损均衡算法研究";蔡红卫;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20190115(第01期);第I137-185页 *

Also Published As

Publication number Publication date
CN111159058A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
CN111159058B (zh) 一种磨损均衡方法、装置及非易失性的存储设备
KR100974954B1 (ko) 플래시 메모리를 이용한 저장장치에서의 읽기 웨어 레벨링방법
US11704239B2 (en) Garbage collection method for storage medium, storage medium, and program product
TWI632457B (zh) 用於資料儲存裝置的損耗平均方法
US10296231B2 (en) Data-storage device and data maintenance method thereof
US9898212B1 (en) Method and apparatus for selecting a memory block for writing data, based on a predicted frequency of updating the data
CN106874217B (zh) 存储器系统及控制方法
US20180373428A1 (en) Methods and systems for managing data migration in solid state non-volatile memory
US8392649B2 (en) Memory storage device, controller, and method for responding to host write commands triggering data movement
US9776673B2 (en) Write-erase endurance lifetime of memory storage devices
US9933975B1 (en) Data transmission method, memory storage device and memory control circuit unit
US10310766B2 (en) Memory system and data relocating method
CN110673789B (zh) 固态硬盘的元数据存储管理方法、装置、设备及存储介质
WO2011061724A1 (en) Memory controller and methods for enhancing write performance of a flash device
CN111159059B (zh) 一种垃圾回收方法、装置及非易失性的存储设备
US20170003911A1 (en) Information processing device
CN113924546A (zh) 非易失性存储器中的磨损感知块模式转换
JP6805110B2 (ja) ストレージシステム及びその制御方法
CN110704332B (zh) 一种闪存介质优化方法及非易失性存储设备
KR20220103166A (ko) 메모리 디바이스에서 소거 일시중단 및 재개 동작의 관리
CN116027981A (zh) 数据存储器及其数据回收方法
CN112400156A (zh) 同时并基于对数据块的另一操作的执行速率对数据块执行操作
CN109656835B (zh) 非易失性存储器的数据改写方法以及半导体装置
KR20220052353A (ko) 조정된 파라미터를 사용한 메모리 컴포넌트의 가비지 수집
US20230297262A1 (en) Memory system and control method

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