CN111324292A - 非易失性存储器的存储器回收方法 - Google Patents

非易失性存储器的存储器回收方法 Download PDF

Info

Publication number
CN111324292A
CN111324292A CN201811535343.2A CN201811535343A CN111324292A CN 111324292 A CN111324292 A CN 111324292A CN 201811535343 A CN201811535343 A CN 201811535343A CN 111324292 A CN111324292 A CN 111324292A
Authority
CN
China
Prior art keywords
host
level
storage unit
data
level cell
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.)
Withdrawn
Application number
CN201811535343.2A
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.)
Storart Technology Co Ltd
Original Assignee
Storart Technology 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 Storart Technology Co Ltd filed Critical Storart Technology Co Ltd
Priority to CN201811535343.2A priority Critical patent/CN111324292A/zh
Publication of CN111324292A publication Critical patent/CN111324292A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

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

本申请涉及一种非易失性存储器的存储器回收方法。包括:a)提供一种固态硬盘,固态硬盘连接至主机,固态硬盘包括多个三阶储存单元区块及多个单阶储存单元区块;b)读取三阶储存单元区块中3M个三阶储存单元页;c)搬移三阶储存单元区块中的有效数据至至少一个空白三阶储存单元区块;d)发送1页的主机程序命令至主机;e)重复步骤b)到步骤d)直到8个三阶储存单元区块中的有效数据搬移完毕;f)读取单阶储存单元区块中1个单阶储存单元页;g)搬移单阶储存单元区块中的有效数据至至少一个空白三阶储存单元区块;h)发送α页的主机程序命令到主机;及i)重复步骤f)到h)直到单阶储存单元区块中的有效数据搬移完毕。

Description

非易失性存储器的存储器回收方法
技术领域
本申请涉及非易失性存储器技术领域,特别是涉及一种非易失性存储器的存储器回收方法。
背景技术
对于传统由大量非易失性存储单元组成的固态硬盘而言,针对没使用的非易失性存储单元进行存储器回收是很重要的,并可改善固态硬盘的运作。以一个三阶储存单元(Triple-Level Cell,TLC)固态硬盘为例,所述三阶储存单元固态硬盘可以由几个颗粒(die)组成,每个颗粒中有数个平面(plane)。一个平面中包含了数千个区块(block)而每一区块有几百页(page)。一页可储存4KB到8KB的数据,也正是一台主机进行存取的基本单元。主机通常通过逻辑区块地址而对固态硬盘(Logical Block Address,LBA)进行存取。当主机的操作系统发送命令将页的数据写入特定的逻辑区块地址时,它实际上被编程(program)到相应的物理页中。由于固态硬盘的工作机制,如果需要将数据更新或存储到相同的逻辑区块地址时,新的数据将不会被编程到相同的物理页中。相反地,未使用或已删除的页将用来进行编程。原始物理页中的数据变成无效,等待擦除以供进一步使用。逻辑区块地址和有效物理页之间的当前映像是非常重要的。如果映射有问题,则存储的数据将丢失。
固态硬盘控制器响应于从主机访问逻辑区块地址的请求,来处理对物理页中的数据的存取。如果固态硬盘是新的,由于存在大量未使用的物理页,因此写入速度很快。经过一段时间使用后,写入的速度变慢,这是因为需要擦除某些区块以为写入命令提供未编程的物理页。在擦除使用过的区块之前,会出现这样的问题:如何处理区块中的有效数据。解决此问题的一种实用方法是收集有用数据并在擦除之前将它们移动到保留区块,这就是所谓的存储器回收。擦除的区块可进一步被选来当作保留区块,这通常通过耗损平均技术来完成,可确保不会过度使用区块以减少其寿命。然而,随着固态硬盘的被使用过的容量接近其最大值,存储器回收就变得很难。没有更多的物理区块可用于存储器回收,且考虑到耗损平均,数据还需要经常移动,写入速度会遇到瓶颈。幸运的是,固态硬盘制造商经常为这种情况提供预留空间(Over Provisioning,OP)。预留空间是主机通过逻辑区块地址看不到的额外物理存储容量,但可以由固态硬盘控制器使用。通常来说,16个单元中的一个可以是预留空间单元。
另一方面,固态硬盘的主流是使用三阶储存单元。相较于单阶储存单元(SingleLevel Cells,SLC),三阶储存单元具有低成本的显着优点,同时具有较低的访问速度和较少的擦除次数。为了加快三阶储存单元固态硬盘的访问速度,三阶储存单元中可以混存一定数量的单阶储存单元,三阶储存单元中可以混存一定数量的单阶储存单元的特征可以很好地增强三阶储存单元固态硬盘的性能。然而,它使存储器回收因为三阶储存单元和单阶储存单元的性质以及预留空间的应用而变得复杂。因此,需要一种创新的存储器回收方法,特别是当固态硬盘几乎是存满了有效数据时,还是可行的一种存储器回收方法。
发明内容
基于此,有必要针对上述技术问题,提供一种非易失性存储器的存储器回收方法。
一种非易失性存储器的存储器回收方法,所述方法包括:a)提供一种固态硬盘,所述固态硬盘连接至主机,所述固态硬盘包括多个三阶储存单元区块及多个单阶储存单元区块,其中至少一个空白三阶储存单元区块没有数据;b)读取具有数据的三阶储存单元区块中3M个三阶储存单元页;c)搬移所述三阶储存单元区块中的有效数据至所述至少一个空白三阶储存单元区块;d)发送1页的主机程序命令至所述主机,使所述主机I/O性能更顺畅并防止所述固态硬盘与所述主机间断线;e)重复步骤b)到步骤d)直到8个具有数据的三阶储存单元区块中的有效数据被搬移完毕;f)读取具有数据的单阶储存单元区块中1个单阶储存单元页;g)搬移所述单阶储存单元区块中的有效数据至所述至少一个空白三阶储存单元区块;h)发送α页的主机程序命令至所述主机,使所述主机I/O性能更顺畅并防止所述固态硬盘与所述主机间断线;及i)重复步骤f)到步骤h)直到具有数据的所述单阶储存单元区块中的有效数据被搬移完毕;其中M是整数且α等于
Figure BDA0001906721760000031
其中n是空白单阶储存单元区块的数量与第一阈值间的差值。
在其中一个实施例中,所述M的范围由8到24。
在其中一个实施例中,进一步包括:j)重复步骤b)到步骤i)直到空白三阶储存单元区块的数量大于第二阈值。
一种非易失性存储器的存储器回收方法,其特征在于,所述方法包括:a)提供一种固态硬盘,所述固态硬盘连接至主机,包含多个三阶储存单元区块及多个单阶储存单元区块,其中至少一个空白三阶储存单元区块没有数据;b)读取具有数据的三阶储存单元区块中3M个三阶储存单元页;c)搬移所述三阶储存单元区块中的有效数据至所述至少一个空白三阶储存单元区块;d)发送1页的主机程序命令到所述主机,使所述主机I/O性能更顺畅并防止所述固态硬盘与所述主机间断线;及e)重复步骤b)到步骤d)直到空白三阶储存单元区块的数量大于第二阈值;其中M为整数。
在其中一个实施例中,所述M的范围由8到24。
一种非易失性存储器的存储器回收方法,所述方法包括:a)提供一种固态硬盘,连接至主机,包含多个三阶储存单元区块及多个单阶储存单元区块,其中至少一个空白三阶储存单元区块没有数据;b)读取具有数据的单阶储存单元区块中1个单阶储存单元页;c)搬移所述单阶储存单元区块中的有效数据至所述至少一个空白三阶储存单元区块;d)发送α页的主机程序命令到所述主机使得所述主机I/O性能更顺畅并防止所述固态硬盘与所述主机间断线;及e)重复步骤b)到步骤d)直到空白单阶储存单元区块的数量大于第三阈值;其中α等于
Figure BDA0001906721760000032
其中n是空白单阶储存单元区块的数量与第一阈值间的差值。
本申请首先处理三阶储存单元来源区块的存储器回收。在释放空间足够大以容纳来自单阶储存单元区块的有效计数后,一个单阶储存单元区块就可开始进行存储器回收。这些方法灵活有效,适用于有三阶储存单元和单阶储存单元区块混合的固态硬盘的存储器回收,特别适用于物理区块几乎耗尽的最坏情况。
附图说明
图1为一个实施例中非易失性存储器的存储器回收方法使用的固态硬盘和主机的架构示意图。
图2为一个实施例中具有数据的三阶储存单元区块与空白三阶储存单元之间的数据搬移示意图。
图3为一个实施例中非易失性存储器的存储器回收方法流程图。
图4为一个实施例中非易失性存储器的存储器回收方法的又一流程图。
图5为一个实施例中非易失性存储器的存储器回收方法的又一流程图。
附图标号说明:
固态硬盘 10
控制器 11
三阶储存单元区块 12
三阶储存单元区块 121
三阶储存单元区块 122
单阶储存单元区块 13
主机 20
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的非易失性存储器的存储器回收方法,可以应用于如图1所示的应用环境中。请参阅图1,图1为固态硬盘10与主机20的架构。其中固态硬盘10与主机20相连以便主机20能存取固态硬盘10中的数据。所述方法是用于非易失性存储器的存储器回收。如上所述,存储器回收意味有效数据(随时可被存取)能从当前位置移动到其他未使用或擦除的区块中,以便释放要擦除的物理区块以供进一步使用。非易失性存储器的存储器指的是固态硬盘10中的物理单元。例如,它可以是一个快闪存储器(NAND flash)单元。就应用来说,固态硬盘10可以有许多排列在平面上的区块。图1中只显示了25个区块,这是为了说明的目的,而不是限制固态硬盘10使用区块的实际数量。
固态硬盘10具有控制器11,所述控制器11可以负责数据I/O、耗损平均、将逻辑区块地址映像到物理位置、擦除区块等等。为了实现本申请的目的,控制器11还被设计用于执行下面方法所指示的程序。固态硬盘10具有以下特征:包含三阶储存单元区块12(由三阶储存单元组成,并以空白框标记)及单阶储存单元区块13(由单阶储存单元组成,并用斜线框标记)。实际上,固态硬盘10是个三阶储存单元固态硬盘。因此,三阶储存单元区块12的数量远多于单阶储存单元区块13的数量。混合的单阶储存单元帮助固态硬盘10快速运行并变得更加稳定。仅由25个中的一个单阶储存单元区块13作为例子说明,不应限制单阶储存单元区块13对三阶储存单元区块12数量的比例。
因为主机20是读取和写入固态硬盘10的装置,它可以具有很多种态样。主机可以是计算机、智能手机、服务器,甚至是具有ASIC的设备,有存取数据的需求。固态硬盘10可以是独立设备,也可以嵌入主机20中。
请见图2,图2显示了两个三阶储存单元区块在本方法应用前(双箭头的左侧)与后(双箭头的右侧)的状态。存在两个三阶储存单元区块:具有数据的三阶储存单元区块121和空白三阶储存单元区块122。三阶储存单元区块121具有数据,然而数据可能无效。每一格代表一页。区块中有64页,区块由一个框包围。三阶储存单元区块121中的数据被标示,标有“点”的是有效数据。有效数据位于相应的逻辑区块地址映像到的位置。标有“斜线”的是无效数据,无效数据占据了之前已经处理过数据写入的一些页,但现在被放弃而没有映像到逻辑区块地址。更新的数据存储在映像到某些逻辑区块地址的其他位置。与此同时,三阶储存单元区块121中有预留空间的三阶储存单元页。所述预留空间三阶储存单元页为空白且不包含任何数据。另一方面,空白三阶储存单元区块122也由多个三阶储存单元页组成,而三阶储存单元页是空白的,没有数据。空白三阶储存单元区块122可以来自两个方面:它们是擦除区块或是自固态硬盘10被制造以来没有使用过的。本申请可以实现的前提是固态硬盘10中应该有至少一个区块,所述区块为一个没有数据的空白三阶储存单元区块122。最好有一个单阶储存单元区块(未绘示)可供使用。
本申请中空白三阶储存单元区块122的作用是可以作为来自一个三阶储存单元区块121的有效数据移动到的标的。读取三阶储存单元区块121以找出有效数据,有效数据依次写入空白三阶储存单元区块122中。无效数据和预留空间的三阶储存单元页中的“空数据”不会被移动。如图2的右侧所示,在执行所述方法之后,三阶储存单元区块121维持不变,而空白三阶储存单元区块122进行了编程。有空白三阶储存单元页(不含数据)待用。空白三阶储存单元页是“挤压”空间(预留空间的三阶储存单元页与不具无效数据的三阶储存单元页)的结果。三阶储存单元区块121可以被擦除成为新的空白三阶储存单元区块122,持续收集有效数据直到某些预设条件发生。
请见图3,图3为根据本申请的非易失性存储器的存储器回收方法的流程图。步骤S01,提供一种固态硬盘,所述固态硬盘连接至主机,所述固态硬盘包括多个三阶储存单元区块及多个单阶储存单元区块。步骤S01要求应用的架构如上所述。应强调的是,在固态硬盘中应有至少一个空白三阶储存单元区块没有数据。步骤S02,读取具有数据的三阶储存单元区块中3M个三阶储存单元页。意味着读取如上所述的三阶储存单元区块121。然而,依照本申请,它不是一次读取三阶储存单元区块中的所有三阶储存单元页。在3M个三阶储存单元页后,读取程序停止。这里,M是一个整数。最好,M的范围由8到24。这意味着在进行下一步骤之前读取24至72个三阶储存单元页。步骤S02的限制是争取时间响应主机编程,以免主机20可能认为它与固态硬盘10断线。实作上,M可选为16。
步骤S03,搬移所述三阶储存单元区块中的有效数据至所述至少一个空白三阶储存单元区块。结果可以在图2中看到,此处不再重复。步骤S04,发送1页的主机程序命令至所述主机,使所述主机I/O性能更顺畅并防止所述固态硬盘与所述主机间断线。这意味着可使得主机I/O性能更顺畅并防止断线。至此,有效数据的一部分被移至空白三阶储存单元页,但三阶储存单元区块的存储器回收尚未完成。步骤S05,重复步骤S02至步骤S04直到8个具有数据的三阶储存单元区块中的有效数据被搬移完毕。
考虑理论上最差的条件:除了一个空白三阶储存单元区块,其它的三阶储存单元区块都储存了有效数据。主机20与固态硬盘10可记录相同数量的数据,无论是逻辑的还是物理的。在8个三阶储存单元区块执行了步骤S02到步骤S04,新增的空白区块(表示为新区块,无论所述新区块为三阶储存单元还是单阶储存单元)可以是:
Figure BDA0001906721760000071
Figure BDA0001906721760000072
单阶储存单元区块表示固态硬盘中的单阶储存单元区块的一半因数据搬移而使用。此时,单阶储存单元区块增加无用的数据而有空白三阶储存单元可使用。此时,单阶储存单元区块即可执行存储器回收。
步骤S06,读取具有数据的单阶储存单元区块中1个单阶储存单元页。目标单阶储存单元区块与图2中的单阶储存单元区块121相似,但实际上二者具有差异存储容量(一个三阶储存单元记录3位但一个单阶储存单元记录1位)。步骤S07,搬移所述单阶储存单元区块中的有效数据至所述至少一个空白三阶储存单元区块。步骤S07类似于步骤S03,并将数据移动到一个空白三阶储存单元区块中。单阶储存单元区块的关键步骤S08,发送α页的主机程序命令至所述主机,使所述主机I/O性能更顺畅并防止所述固态硬盘与所述主机间断线。步骤S08与步骤S04类似。然而,主机程序命令可能不是一个完整的页。这里,α等于
Figure BDA0001906721760000073
其中n是空白单阶储存单元区块的数量与第一阈值间的差值。第一阈值可以是任何赋值,例如,20。有22个空白单阶储存单元区块时,n等于2。对于进行存储器回收的单阶储存单元区块,进行步骤S09,重复步骤S06到步骤S08直到具有数据的所述单阶储存单元区块中的有效数据被搬移完毕。
考虑另一个理论上最差的条件,单阶储存单元区块完全存满了有效数据。在单阶储存单元区块从步骤S06到步骤S08执行之后,新增加的自由区块可以是:
Figure BDA0001906721760000081
由于一个三阶储存单元可以存储的数据量3倍于单阶储存单元,
Figure BDA0001906721760000082
三阶储存单元区块表示空白三阶储存单元区块的三分之一进一步由单阶储存单元区块的有效数据占据。固态硬盘中的-α单阶储存单元区块也因数据搬移的原因而使用。
本申请中的方法是将8个三阶储存单元区块和1个单阶储存单元区块交替进行存储器回收。从而,经过一轮8个三阶储存单元区块和1个单阶储存单元区块,新的空白区块可以最少是:
Figure BDA0001906721760000083
公式(3)是通过组合公式(1)和公式(2)而获得的。如果在存储器回收之前区块中有更多无效数据,则新的空白区块可能更多。
所述方法运行至步骤S10终止,步骤S10,重复步骤S02到步骤S09直到具有数据的所述单阶储存单元区块中的有效数据被搬移完毕。固态硬盘可以设置为具有50个空白三阶储存单元区块,以便在执行这些过程后进一步使用,“50”就是第二阈值。第二阈值是依据固态硬盘的使用而确定的。如果固态硬盘通常是写入数据,则应将第二阈值设置得更大,且执行本方法的时间应尽可能早于空白三阶储存单元区块用完的时候。
前面的实施例是同时为三阶储存单元和单阶储存单元区块执行存储器回收。事实上,本申请能仅聚焦于三阶储存单元区块。请见图4,图4是根据本申请非易失性存储器的存储器回收方法的另一流程图。步骤S11,提供一种固态硬盘,所述固态硬盘连接至主机,包含多个三阶储存单元区块及多个单阶储存单元区块,其中至少一个空白三阶储存单元区块没有数据。步骤S11同样适用于图1中的架构。步骤S12,读取具有数据的三阶储存单元区块中3M个三阶储存单元页。步骤S13,搬移所述三阶储存单元区块中的有效数据至所述至少一个空白三阶储存单元区块。步骤S14,发送1页的主机程序命令到所述主机,使所述主机I/O性能更顺畅并防止所述固态硬盘与所述主机间断线。步骤S12到步骤S14与前一实施例中的步骤S02到步骤S04中描述的相同。M是一个整数且范围可由8到24,不再重复说明。与前一实施例不同,当前方法仅聚焦于三阶储存单元区块(虽然有些单阶储存单元区块会用于数据搬移)。所述方法运行至步骤S15终止,步骤S15,重复步骤S12到步骤S14直到空白三阶储存单元区块的数量大于第二阈值。第二阈值具有与前一实施例相同的定义。
相似地,本申请仅聚焦单阶储存单元区块,而数据搬移的目标是三阶储存单元区块。请见图5,图5是根据本申请非易失性存储器的存储器回收方法的又一流程图。步骤S21,提供一种固态硬盘,连接至主机,包含多个三阶储存单元区块及多个单阶储存单元区块,其中至少一个空白三阶储存单元区块没有数据。步骤S22,读取具有数据的单阶储存单元区块中1个单阶储存单元页。步骤S23,搬移所述单阶储存单元区块中的有效数据至所述至少一个空白三阶储存单元区块。步骤S24,发送α页的主机程序命令到所述主机使得所述主机I/O性能更顺畅并防止所述固态硬盘与所述主机间断线。步骤S22至步骤S24对应步骤S06至步骤S08,这是单阶储存单元区块进行存储器回收的标准操作。然而,单阶储存单元区块的存储器回收未完成。所述方法运行至步骤S25终止,步骤S25,重复步骤S22至步骤S24直到空白单阶储存单元区块的数量大于第三阈值。与第二阈值相似,第三阈值为空白单阶储存单元区块而设置,它们在所有程序完成后可供使用。在步骤S24中,α等于
Figure BDA0001906721760000091
其中n是空白单阶储存单元区块的数量与第一阈值间的差值。n及第一阈值与第一实施例中的定义相同,不再重复。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (6)

1.一种非易失性存储器的存储器回收方法,其特征在于,所述方法包括:
a)提供一种固态硬盘,所述固态硬盘连接至主机,所述固态硬盘包括多个三阶储存单元区块及多个单阶储存单元区块,其中至少一个空白三阶储存单元区块没有数据;
b)读取具有数据的三阶储存单元区块中3M个三阶储存单元页;
c)搬移所述三阶储存单元区块中的有效数据至所述至少一个空白三阶储存单元区块;
d)发送1页的主机程序命令至所述主机,使所述主机I/O性能更顺畅并防止所述固态硬盘与所述主机间断线;
e)重复步骤b)到步骤d)直到8个具有数据的三阶储存单元区块中的有效数据被搬移完毕;
f)读取具有数据的单阶储存单元区块中1个单阶储存单元页;
g)搬移所述单阶储存单元区块中的有效数据至所述至少一个空白三阶储存单元区块;
h)发送α页的主机程序命令至所述主机,使所述主机I/O性能更顺畅并防止所述固态硬盘与所述主机间断线;及
i)重复步骤f)到步骤h)直到具有数据的所述单阶储存单元区块中的有效数据被搬移完毕;其中M是整数且α等于
Figure FDA0001906721750000011
其中n是空白单阶储存单元区块的数量与第一阈值间的差值。
2.根据权利要求1所述的方法,其特征在于,所述M的范围由8到24。
3.根据权利要求1所述的方法,其特征在于,进一步包括:j)重复步骤b)到步骤i)直到空白三阶储存单元区块的数量大于第二阈值。
4.一种非易失性存储器的存储器回收方法,其特征在于,所述方法包括:
a)提供一种固态硬盘,所述固态硬盘连接至主机,包含多个三阶储存单元区块及多个单阶储存单元区块,其中至少一个空白三阶储存单元区块没有数据;
b)读取具有数据的三阶储存单元区块中3M个三阶储存单元页;
c)搬移所述三阶储存单元区块中的有效数据至所述至少一个空白三阶储存单元区块;
d)发送1页的主机程序命令到所述主机,使所述主机I/O性能更顺畅并防止所述固态硬盘与所述主机间断线;及
e)重复步骤b)到步骤d)直到空白三阶储存单元区块的数量大于第二阈值;其中M为整数。
5.根据权利要求4所述的方法,其特征在于,所述M的范围由8到24。
6.一种非易失性存储器的存储器回收方法,其特征在于,所述方法包括:
a)提供一种固态硬盘,连接至主机,包含多个三阶储存单元区块及多个单阶储存单元区块,其中至少一个空白三阶储存单元区块没有数据;
b)读取具有数据的单阶储存单元区块中1个单阶储存单元页;
c)搬移所述单阶储存单元区块中的有效数据至所述至少一个空白三阶储存单元区块;
d)发送α页的主机程序命令到所述主机使得所述主机I/O性能更顺畅并防止所述固态硬盘与所述主机间断线;及
e)重复步骤b)到步骤d)直到空白单阶储存单元区块的数量大于第三阈值;
其中α等于
Figure FDA0001906721750000021
其中n是空白单阶储存单元区块的数量与第一阈值间的差值。
CN201811535343.2A 2018-12-14 2018-12-14 非易失性存储器的存储器回收方法 Withdrawn CN111324292A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811535343.2A CN111324292A (zh) 2018-12-14 2018-12-14 非易失性存储器的存储器回收方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811535343.2A CN111324292A (zh) 2018-12-14 2018-12-14 非易失性存储器的存储器回收方法

Publications (1)

Publication Number Publication Date
CN111324292A true CN111324292A (zh) 2020-06-23

Family

ID=71166711

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811535343.2A Withdrawn CN111324292A (zh) 2018-12-14 2018-12-14 非易失性存储器的存储器回收方法

Country Status (1)

Country Link
CN (1) CN111324292A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105867834A (zh) * 2015-01-22 2016-08-17 深圳市硅格半导体有限公司 存储装置数据整理方法
US9619321B1 (en) * 2015-10-08 2017-04-11 Seagate Technology Llc Internal copy-back with read-verify
US20170177469A1 (en) * 2015-12-17 2017-06-22 Kabushiki Kaisha Toshiba Storage system that performs host-initiated garbage collection
US20180081543A1 (en) * 2016-09-19 2018-03-22 Micron Technology, Inc. Memory devices and electronic systems having a hybrid cache with static and dynamic cells, and related methods
CN107977161A (zh) * 2016-10-25 2018-05-01 慧荣科技股份有限公司 数据储存装置及其数据写入方法
CN108255419A (zh) * 2017-12-19 2018-07-06 深圳忆联信息系统有限公司 一种用于tlc类型ssd的磨损均衡方法及ssd

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105867834A (zh) * 2015-01-22 2016-08-17 深圳市硅格半导体有限公司 存储装置数据整理方法
US9619321B1 (en) * 2015-10-08 2017-04-11 Seagate Technology Llc Internal copy-back with read-verify
US20170177469A1 (en) * 2015-12-17 2017-06-22 Kabushiki Kaisha Toshiba Storage system that performs host-initiated garbage collection
US20180081543A1 (en) * 2016-09-19 2018-03-22 Micron Technology, Inc. Memory devices and electronic systems having a hybrid cache with static and dynamic cells, and related methods
CN107977161A (zh) * 2016-10-25 2018-05-01 慧荣科技股份有限公司 数据储存装置及其数据写入方法
CN108255419A (zh) * 2017-12-19 2018-07-06 深圳忆联信息系统有限公司 一种用于tlc类型ssd的磨损均衡方法及ssd

Similar Documents

Publication Publication Date Title
CN106448737B (zh) 读取闪存数据的方法、装置以及固态驱动器
US8892814B2 (en) Data storing method, and memory controller and memory storage apparatus using the same
KR101464338B1 (ko) 불휘발성 메모리 장치를 이용한 데이터 저장장치, 메모리시스템, 그리고 컴퓨터 시스템
CN110955384B (zh) 数据储存装置以及非挥发式存储器控制方法
US9666244B2 (en) Dividing a storage procedure
US8489942B1 (en) Memory management method, and memory controller and memory storage device using the same
US9141530B2 (en) Data writing method, memory controller and memory storage device
US20100169586A1 (en) Memory storage device and a control method thereof
US10503433B2 (en) Memory management method, memory control circuit unit and memory storage device
CN112130749B (zh) 数据储存装置以及非挥发式存储器控制方法
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
CN112015329A (zh) 存储系统及其操作方法
US9009442B2 (en) Data writing method, memory controller and memory storage apparatus
CN110674056A (zh) 一种垃圾回收方法及装置
US20130332653A1 (en) Memory management method, and memory controller and memory storage device using the same
US20140089566A1 (en) Data storing method, and memory controller and memory storage apparatus using the same
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
CN113885808A (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
KR101070511B1 (ko) Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법
US10824340B2 (en) Method for managing association relationship of physical units between storage area and temporary area, memory control circuit unit, and memory storage apparatus
CN111831586A (zh) 数据存储设备及其操作方法、使用数据存储设备的控制器
US20110087828A1 (en) Method for enhancing performance of accessing a flash memory, and associated memory device and controller thereof
US10990520B2 (en) Method for gabage collecting for non-volatile memory
CN111324284B (zh) 一种存储器
CN111324292A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20200623

WW01 Invention patent application withdrawn after publication