CN110427158B - 固态硬盘的写入方法及固态硬盘 - Google Patents

固态硬盘的写入方法及固态硬盘 Download PDF

Info

Publication number
CN110427158B
CN110427158B CN201910690881.7A CN201910690881A CN110427158B CN 110427158 B CN110427158 B CN 110427158B CN 201910690881 A CN201910690881 A CN 201910690881A CN 110427158 B CN110427158 B CN 110427158B
Authority
CN
China
Prior art keywords
area
data
flash memory
cache area
cache
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
CN201910690881.7A
Other languages
English (en)
Other versions
CN110427158A (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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Huayi Core 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 Zhejiang Huayi Core Technology Co ltd filed Critical Zhejiang Huayi Core Technology Co ltd
Priority to CN201910690881.7A priority Critical patent/CN110427158B/zh
Publication of CN110427158A publication Critical patent/CN110427158A/zh
Application granted granted Critical
Publication of CN110427158B publication Critical patent/CN110427158B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/061Improving I/O performance
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种固态硬盘的写入方法,包括:启动将待写入数据写入缓存区域的任务;判断所述缓存区域的剩余空间是否小于第一阈值;若所述缓存区域的剩余空间小于所述第一阈值,则启动垃圾回收机制,将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到闪存区域。此外,本申请还提供了一种固态硬盘的写入装置、固态硬盘以及计算机可读存储介质。本申请所提供的技术方案能够使固态硬盘长时间的保持高性能写入。

Description

固态硬盘的写入方法及固态硬盘
技术领域
本申请涉及计算机存储技术领域,具体是涉及一种固态硬盘的写入方法及固态硬盘。
背景技术
传统的机械硬盘(HDD)内部包含机械部件,磁头必须在快速旋转的磁盘上移动至目标位置才能进行写入和读取,因此大量都消耗在机械动作上,效率较低。固态硬盘(SSD)的读取速度远远超过了机械硬盘,并且比机械硬盘更加防震抗摔,原因在于固态硬盘采用固态电子存储芯片阵列制成,用集成电路代替了传统的旋转磁盘。但是,为了满足用户日益增长的需求,固态硬盘的写入性能有待进一步提高。
发明内容
发明人经长期研究发现,相关技术中为提高固态硬盘写入性能而采用的方案,虽然能从一定程度上提高固态硬盘的写入性能,但持久度不高,仍然无法支持长时间的高性能写入。
为解决上述问题,本申请实施例一方面提供了一种固态硬盘的写入方法,包括:启动将待写入数据写入缓存区域的任务;判断所述缓存区域的剩余空间是否小于第一阈值;若所述缓存区域的剩余空间小于所述第一阈值,则启动垃圾回收机制,将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到闪存区域。
可选的,所述若所述缓存区域的剩余空间小于所述第一阈值,则启动垃圾回收机制,将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到闪存区域的步骤包括:若所述缓存区域的剩余空间小于所述第一阈值,则启动垃圾回收机制,统计所述缓存区域内的有效数据,所述有效数据包括所述热数据和所述冷数据;判断所述有效数据是否大于第二阈值;若所述有效数据大于所述第二阈值,则执行所述将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到闪存区域的步骤。
可选的,所述若所述缓存区域的剩余空间小于所述第一阈值,则启动垃圾回收机制,将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到闪存区域的步骤之后包括:判断所述闪存区域的剩余空间是否小于第三阈值;若所述闪存区域的剩余空间小于所述第三阈值,则将至少部分所述缓存区域切换为所述闪存区域,并更新所述第一阈值。
可选的,所述若所述缓存区域的剩余空间小于所述第一阈值,则启动垃圾回收机制,将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到闪存区域的步骤包括:若所述缓存区域的剩余空间小于所述第一阈值,则启动垃圾回收机制,判断所述闪存区域的剩余空间是否大于第四阈值;若所述闪存区域的剩余空间大于所述第四阈值,将所述闪存区域的至少部分区域切换为所述缓存区域,并更新所述第一阈值;执行所述将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到闪存区域的步骤。
可选的,所述若所述缓存区域的剩余空间小于所述第一阈值,则启动垃圾回收机制,将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到闪存区域的步骤之后包括:判断所述闪存区域的剩余空间是否小于所述第三阈值;若所述闪存区域的剩余空间小于所述第三阈值,则将所述切换为所述缓存区域的至少部分区域还原为所述闪存区域,并更新所述第一阈值。
可选的,所述接收写入指令,响应所述写入指令启动将待写入数据写入缓存区域的任务的步骤之前包括:将所述固态硬盘划分为所述缓存区域以及所述闪存区域,其中,所述缓存区域的空间大于所述闪存区域的空间。
可选的,所述若所述缓存区域的剩余空间小于所述第一阈值,则启动垃圾回收机制,将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到闪存区域的步骤之后还包括:判断所述待写入数据是否写入完成;若所述待写入数据未写入完成,则将未写完的剩余所述待写入数据继续写入所述缓存区域。
本申请实施例另一方面还提供一种固态硬盘的写入装置,包括写入模块、判断模块以及垃圾回收模块,写入模块用于启动将待写入数据写入缓存区域的任务;判断模块用于判断所述缓存区域的剩余空间是否小于第一阈值;垃圾回收模块用于在所述判断模块判断出所述缓存区域的剩余空间小于所述第一阈值时,启动垃圾回收机制,将所述缓存区域内的热数据保留在所述缓存区域将所述缓存区域内的冷数据搬移到闪存区域。
本申请实施例另一方面还提供一种固态硬盘,包括存储空间、相互耦接的处理器及存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述存储空间划分有缓存区域和闪存区域;所述处理器运行所述计算机程序时执行以上所述的写入方法。
此外,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器运行时执行以上所述的写入方法。
本申请实施例提供的技术方案在缓存区域剩余空间不足时,启动垃圾回收机制,对冷、热数据进行分流:通过将冷数据搬移到闪存区域,为待写入数据的写入提供了足够的空间;通过将热数据继续保留在缓存区域,节约了带宽,为待写入数据的写入提供足够的带宽,从而使得所述固态硬盘能够长时间的保持高性能写入。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例所提供的固态硬盘的写入方法的流程示意图;
图2是本申请实施例所提供的另一写入方法的流程示意图;
图3是本申请实施例所提供的另一写入方法的流程示意图;
图4是本申请实施例所提供的另一写入方法的流程示意图;
图5是本申请实施例所提供的另一写入方法的流程示意图;
图6是本申请实施例所提供的另一写入方法的流程示意图;
图7是本申请实施例所提供的固态硬盘的结构示意图;
图8是本申请实施例所提供的固态硬盘的写入装置的结构示意图。
具体实施方式
发明人经长期研究发现,为了提高固态硬盘的写入性能,可以采用开盘时开辟一个固定区域作为缓存区域的方法,所有的主机数据都先写入缓存区域,在缓存区域快写满时启动垃圾回收机制,将缓存区域内的有效数据搬移到闪存区域。该方法的不足之处在于,由于固态硬盘的存储空间是有限的,用于作为缓存区域的固定区域的大小也是有限的,一旦缓存区域即将写满,由于有效数据的搬移要占用一定的带宽,将不能继续保持高性能的写入。需要说明的是,本申请中的术语“缓存区域”为固态硬盘内用于数据缓存的SLC区域;本申请中的术语“闪存区域”包括固态硬盘内用于数据闪存的MLC区域、TLC区域、以及QLC区域的至少一种;本申请中缓存区域内的有效数据的搬移隐含了将所述有效数据所在的block中的无效数据删除。
为了提高固态硬盘的写入性能,还可以采用开盘时开辟一个固定区域作为缓存区域,在缓存区域快写满时,将部分闪存区域临时切换为缓存区域的方法,当原有的缓存区域和切换而来的缓存区域再次即将写满时,启动垃圾回收机制,将原有的缓存区域和切换而来的缓存区域内的有效数据搬移到闪存区域,并将切换而来的缓存区域再次切换回闪存区域。该方法的不足之处在于,一旦原有的缓存区域和切换而来的缓存区域即将写满,由于有效数据的搬移要占用一定的带宽,将不能继续保持高性能的写入。
为了使固态硬盘能够保持长时间的高性能写入,本申请提供了一种用于固态硬盘的写入方法。下面结合附图和实施例,对本申请作进一步的详细描述。特别指出的是,以下实施例仅用于说明本申请,但不对本申请的范围进行限定。同样的,以下实施例仅为本申请的部分实施例而非全部实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
请参阅图1,图1是本申请实施例所提供的写入方法的流程示意图。需要说明的是,本申请中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。本申请实施例提供了一种固态硬盘的写入方法,所述写入方法包括:
S10:启动将待写入数据写入缓存区域的任务。
举例而言,可以在接收写入指令之后,响应所述写入指令启动将待写入数据写入缓存区域的任务,具体的,本申请实施例对所述写入指令的类型不作限制,比如,所述写入指令可以是下载文件的指令,也可以是安装操作系统的指令,也可以是安装软件的指令。所述缓存区域可以是一个固定空间,比如,开盘时开辟一个固定空间作为缓存区域;所述缓存区域也可以包括一固定空间和一活动空间,比如,开盘时开辟一个固定空间作为缓存区域,固态硬盘内的其余空间可以在缓存区域和闪存区域之间切换;所述缓存区域还可以是一活动空间,比如,固定硬盘内的所有空间都可以在缓存区域和闪存区域之间切换。可选的,在本申请实施例中,所述缓存区域是一活动空间,固定硬盘内的所有空间都可以在缓存区域和闪存区域之间切换。
S20:判断所述缓存区域的剩余空间是否小于第一阈值。
具体的,在启动将待写入数据写入缓存区域的任务之后,待写入数据的写入还具有其他限制条件,比如,待写入数据的写入需要一定的带宽,缓存区域还有足够的剩余空间,待写入数据才能顺利写入。因此,需要判断缓存区域是否有足够的剩余空间供待写入数据写入使用。本申请实施例对所述第一阈值不作限定,可以根据实际需要对第一阈值进行设定。需要说明的是,本申请中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。
S30:若所述缓存区域的剩余空间小于所述第一阈值,则启动垃圾回收机制,将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到闪存区域。
当所述缓存区域的剩余空间小于所述第一阈值时,说明缓存区域的剩余空间已经不足以供待写入数据写入使用,需要启动垃圾回收机制,为待写入数据的写入提供空间。具体的,对冷、热数据进行分流:将缓存区域内的冷数据搬移到闪存区域,为待写入数据的写入提供足够的空间;将缓存区域内的热数据保留在缓存区域,以节约带宽,为待写入数据的写入提供足够的带宽。需要说明的是,本申请中的术语“热数据”为缓存区域中被频繁擦写的block中的有效数据;本申请中的术语“冷数据”为缓存区域中擦写频率较低的block中的有效数据;本申请中缓存区域内的冷数据的搬移隐含了将所述冷数据所在的block中的无效数据删除。
在进行垃圾回收机制时,可以将缓存区域内的热数据从缓存区域的第一区域搬移到缓存区域的第二区域,也可以不对缓存区域内的热数据进行搬移。可选的,在本申请实施例中,将缓存区域内的热数据从缓存区域的第一区域搬移到缓存区域的第二区域,以删除缓存区域内的无效数据,为待写入数据的写入提供更多的空间,并且在缓存区域内进行搬移并不会占用过多的带宽,有利于待写入数据的快速写入。需要说明的是,本申请中的术语“第一区域”、“第二区域”仅用于描述目的,缓存区域的第一区域及缓存区域的第二区域并不能理解为缓存区域的某个特定区域,本申请所述的将数据从缓存区域的第一区域搬移到缓存区域的第一区域仅表示数据从缓存区域的一个区域搬移到另外一个区域;本申请中缓存区域内的热数据的搬移隐含了将所述热数据所在的block中的无效数据删除。
可以理解的是,在固态硬盘实际工作过程中,可能会出现,待写入数据的写入进行到一半,缓存区域的剩余空间不足的情况,在这种情况下,也可以对刚刚写入的数据进行搬移,比如,把刚刚写入到缓存区域的第一区域的热数据搬移到缓存区域的第二区域,把刚刚写入的冷数据搬移到闪存区域。
请参阅图2,图2是本申请实施例所提供的另一写入方法的流程示意图。图2中的写入方法与图1中的写入方法的不同之处在于,所述若所述缓存区域的剩余空间小于所述第一阈值,则启动垃圾回收机制,将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到闪存区域的步骤可以进一步包括:
S31:若所述缓存区域的剩余空间小于所述第一阈值,则启动垃圾回收机制,统计所述缓存区域内的有效数据,所述有效数据包括所述热数据和所述冷数据。
如前文所述,当所述缓存区域的剩余空间小于所述第一阈值时,说明缓存区域的剩余空间已经不足以供待写入数据写入使用,需要启动垃圾回收机制,为待写入数据的写入提供空间。具体的,该步骤的主要目的在于,先统计所述缓存区域内的有效数据,计算缓存区域内的有效数据,判断是否需要执行将所述缓存区域内的热数据保留在所述缓存区域,将所述缓存区域内的冷数据搬移到闪存区域的步骤。
S32:判断所述有效数据是否大于第二阈值。
可选的,该步骤进一步包括,
S321:若所述有效数据小于等于第二阈值,则将所述有效数据从所述缓存区域的第一区域搬移到所述缓存区域的第二区域。
具体的,若所述有效数据小于等于第二阈值,说明缓存区域内的有效数据所占的比例较小,无效数据所占的比例较大,此时无须执行将所述缓存区域内的热数据保留在所述缓存区域,将所述缓存区域内的冷数据搬移到闪存区域的步骤,将缓存区域内的有效数据全部从缓存区域的第一区域搬移到缓存区域的第二区域之后,已经有足够的空间供待写入数据写入使用。由于缓存区域内部不同区域之间的数据搬移速度较快,不会占用较多的带宽,所以当所述有效数据小于等于第二阈值时,将所述有效数据从所述缓存区域的第一区域搬移到所述缓存区域的第二区域相比将所述缓存区域内的热数据保留在所述缓存区域,将所述缓存区域内的冷数据搬移到闪存区域更有利于待写入数据的快速写入。本申请实施例对所述第二阈值不作限制,可以根据实际需求进行选择。
S33:若所述有效数据大于所述第二阈值,则执行所述将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到闪存区域的步骤。
若所述有效数据大于所述第二阈值,说明缓存区域内的有效数据所占的比例较大,无效数据所占的比例较小,此时若不执行将所述缓存区域内的热数据保留在所述缓存区域,将所述缓存区域内的冷数据搬移到闪存区域的步骤,仅执行将所述有效数据从所述缓存区域的第一区域搬移到所述缓存区域的第二区域,仍然没有足够的空间供待写入数据写入使用。因此,当所述有效数据大于所述第二阈值时,执行将所述缓存区域内的热数据保留在所述缓存区域,将所述缓存区域内的冷数据搬移到闪存区域的步骤,为待写入数据的写入提供足够的空间,更有利于待写入数据的快速写入。
请参阅图3,图3是本申请实施例所提供的另一写入方法的流程示意图。图3中的写入方法与图2中的写入方法的不同之处在于,所述若所述缓存区域的剩余空间小于所述第一阈值,则启动垃圾回收机制,将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到闪存区域的步骤之后还可以包括:
S34:判断所述闪存区域的剩余空间是否小于第三阈值。
该步骤的主要目的在于判断闪存区域的剩余空间是否够用。具体的,在将所述缓存区域内的热数据保留在所述缓存区域,将所述缓存区域内的冷数据搬移到闪存区域的步骤之后,可能会出现闪存区域的剩余空间不够用的情况。若闪存区域的剩余空间不足,在接下来的写入过程中,有效数据只能存储在缓存区域中,由于缓存区域的贮存密度小于闪存区域,固态硬盘很快就会被存满。本申请实施例对所述第三阈值不作限制,可以根据实际需求自行选择。
S35:若所述闪存区域的剩余空间小于所述第三阈值,则将至少部分所述缓存区域切换为所述闪存区域,并更新所述第一阈值。
具体的,若所述闪存区域的剩余空间小于所述第三阈值,说明闪存区域的剩余空间不足,可以将至少部分所述缓存区域切换为所述闪存区域,以扩大闪存区域的空间,由于闪存区域贮存数据的密度大于缓存区域,有利于增加固态硬盘的容量。
请参阅图4,图4是本申请实施例所提供的另一写入方法的流程示意图。图4中的写入方法与图1中的写入方法的不同之处在于,所述若所述缓存区域的剩余空间小于所述第一阈值,则启动垃圾回收机制,将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到闪存区域的步骤可以进一步包括:
S36:若所述缓存区域的剩余空间小于所述第一阈值,则启动垃圾回收机制,判断所述闪存区域的剩余空间是否大于第四阈值。
如前文所述,当所述缓存区域的剩余空间小于所述第一阈值时,说明缓存区域的剩余空间已经不足以供待写入数据写入使用,需要启动垃圾回收机制,为待写入数据的写入提供空间。该步骤的主要目的在于,判断闪存区域的剩余空间是否足够大,能否将至少部分闪存区域切换为缓存区域。具体的,若闪存区域的剩余空间足够大,可以将至少部分闪存区域切换为缓存区域,扩大缓存区域的空间,从而为待写入数据的写入提供空间,有利于待写入数据的快速写入。若闪存区域的剩余空间不足,则直接执行所述将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到闪存区域的步骤,该写入方法结束。需要说明的是,本申请实施例对所述第四阈值不作限制,可以根据实际需求自行选择。
S37:若所述闪存区域的剩余空间大于所述第四阈值,将所述闪存区域的至少部分区域切换为所述缓存区域,并更新所述第一阈值。
具体的,若所述闪存区域的剩余空间大于所述第四阈值,说明闪存区域的剩余空间足够大,可以将至少部分闪存区域切换为缓存区域,扩大缓存区域的空间,从而为待写入数据的写入提供空间,有利于待写入数据的快速写入。
S38:执行所述将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到闪存区域的步骤。
具体的,如前文所述,将缓存区域内的冷数据搬移到闪存区域,有利于为待写入数据的写入提供更多的空间;将缓存区域内的热数据保留在缓存区域,有利于节约带宽,为待写入数据的写入提供足够的带宽。
请继续参阅图4,可选的,所述若所述缓存区域的剩余空间小于所述第一阈值,则启动垃圾回收机制,将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到闪存区域的步骤之后包括:
S39:判断所述闪存区域的剩余空间是否小于所述第三阈值。
该步骤的主要目的在于判断闪存区域的剩余空间是否够用。具体的,在将所述缓存区域内的热数据保留在所述缓存区域,将所述缓存区域内的冷数据搬移到闪存区域的步骤之后,可能会出现闪存区域的剩余空间不够用的情况。若闪存区域的剩余空间不足,在接下来的写入过程中,有效数据只能存储在缓存区域中,由于缓存区域的贮存密度小于闪存区域,固态硬盘很快就会被存满。本申请实施例对所述第三阈值不作限制,可以根据实际需求自行选择。
S40:若所述闪存区域的剩余空间小于所述第三阈值,则将所述切换为所述缓存区域的至少部分区域还原为所述闪存区域,并更新所述第一阈值。
具体的,若所述闪存区域的剩余空间小于所述第三阈值,说明闪存区域的剩余空间不足,需要将所述切换为所述缓存区域的至少部分区域还原为所述闪存区域,以扩大闪存区域的空间,由于闪存区域贮存数据的密度大于缓存区域,有利于增加固态硬盘的容量。
请参阅图5,图5是本申请实施例所提供的另一写入方法的流程示意图。图5中的写入方法与图1中的写入方法的不同之处在于,所述接收写入指令,响应所述写入指令启动将待写入数据写入缓存区域的任务的步骤之前可以包括:
S01:将所述固态硬盘划分为所述缓存区域以及所述闪存区域,其中,所述缓存区域的空间大于所述闪存区域的空间。
开盘时,可以将固态硬盘全部设置为缓存区域;也可以将固态硬盘划分为缓存区域以及闪存区域;还可以将固态硬盘全部设置为闪存区域。可选的,在本申请实施例中,将固态硬盘划分为缓存区域以及闪存区域,以兼顾固态硬盘的写入性能和容量。具体的,如前文所述,缓存区域用于数据缓存,将待写入数据直接写入缓存区域有利于提高写入速度;闪存区域用于数据闪存,贮存数据的密度较大,有利于增加固态硬盘的容量。进一步的,缓存区域的空间可以大于闪存区域的空间,因为刚开盘时,固态硬度内比较空,没有过多数据,不需要很大的容量,使缓存区域的空间大于闪存区域的空间有利于提升固态硬盘的写入性能。
请参阅图6,图6是本申请实施例所提供的另一写入方法的流程示意图。图6中的写入方法与图1中的写入方法的不同之处在于,所述若所述缓存区域的剩余空间小于所述第一阈值,则启动垃圾回收机制,将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到闪存区域的步骤之后还可以包括:
S41:判断所述待写入数据是否写入完成。
该步骤的主要目的在于判断待写入数据是否写入完成。具体的,在固态硬盘的实际使用过程当中,可能会出现待写入数据量较大,垃圾回收机制结束之后,写入仍未完成的情况。
S42:若所述待写入数据未写入完成,则将未写完的剩余所述待写入数据继续写入所述缓存区域。
若待写入数据未写入完成,垃圾回收机制结束之后,已经有足够的空间和带宽供待写入数据写入使用,可以将未写完的剩余所述待写入数据继续写入缓存区域。
本申请实施例提供的写入方法在缓存区域剩余空间不足时,启动垃圾回收机制,对冷、热数据进行分流:通过将冷数据搬移到闪存区域,为待写入数据的写入提供了足够的空间;通过将热数据继续保留在缓存区域,节约了带宽,为待写入数据的写入提供足够的带宽,从而使得所述固态硬盘能够长时间的保持高性能写入。
可以理解的是,以上只是给出了本申请所提供的写入方法几个实施例,并不是本申请所提供的写入方法的全部实施例,并且,以上所给出的几个实施例之间可以相互结合。比如,图2中的写入方法和图4中的写入方法可以结合,图2中的写入方法、图4中的写入方法、图5中的写入方法以及图6中的写入方法可以结合,图3中的写入方法、图5中的写入方法以及图6中的写入方法可以结合等等,此处不再一一赘述。
请参阅图7,图7是本申请实施例所提供固态硬盘100的结构示意图。本申请实施例还提供了一种固态硬盘100,所述固态硬盘100包括存储空间10、相互耦接的处理器20及存储器30以及存储在所述存储器30上并可在所述处理器20上运行的计算机程序31,所述存储空间10划分有缓存区域11和闪存区域12;所述处理器20运行所述计算机程序31时执行以上所述的写入方法。可选的,所述存储空间10还可以进一步包括预留区域(附图中未示出),所述预留区域主要用于坏块替换。
本申请实施例提供的固态硬盘在缓存区域剩余空间不足时,启动垃圾回收机制,对冷、热数据进行分流:通过将冷数据搬移到闪存区域,为待写入数据的写入提供了足够的空间;通过将热数据继续保留在缓存区域,节约了带宽,为待写入数据的写入提供足够的带宽,从而使得所述固态硬盘能够长时间的保持高性能写入。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机指令,其上存储有计算机指令,该指令被处理器执行时运行以上所述的写入方法。具体的,所述计算机可读存储介质可以是内部存储单元,例如硬盘或内存;可以是外部存储设备,例如插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等;所述计算机可读存储介质也可以既包括内部存储单元又包括外部存储设备。
本申请实施例提供的计算机可读存储介质在缓存区域剩余空间不足时,启动垃圾回收机制,对冷、热数据进行分流:通过将冷数据搬移到闪存区域,为待写入数据的写入提供了足够的空间;通过将热数据继续保留在缓存区域,节约了带宽,为待写入数据的写入提供足够的带宽,从而使得所述固态硬盘能够长时间的保持高性能写入。
请参阅图8,图8是本申请实施例所提供的固态硬盘的写入装置200的结构示意图。本申请实施例还提供了一种固态硬盘的写入装置200,包括写入模块210、判断模块220以及垃圾回收模块230,写入模块210用于启动将待写入数据写入缓存区域的任务;判断模块220用于判断所述缓存区域的剩余空间是否小于第一阈值;垃圾回收模块230用于在所述判断模块判断出所述缓存区域的剩余空间小于所述第一阈值时,启动垃圾回收机制,将所述缓存区域内的热数据保留在所述缓存区域将所述缓存区域内的冷数据搬移到闪存区域。
以上所述仅为本申请的部分实施例,并非因此限制本申请的保护范围,凡是利用本申请说明书及附图内容所作的等效装置或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (9)

1.一种固态硬盘的写入方法,所述固态硬盘包括存储空间,所述存储空间划分有缓存区域和闪存区域,其特征在于,所述方法包括:
启动将待写入数据写入所述缓存区域的任务;
判断所述缓存区域的剩余空间是否小于第一阈值;
若所述缓存区域的剩余空间小于所述第一阈值,则启动垃圾回收机制,统计所述缓存区域内的有效数据,所述有效数据包括热数据和冷数据;
判断所述有效数据是否大于第二阈值;
若所述有效数据大于所述第二阈值,则将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到所述闪存区域;
若所述有效数据小于或等于第二阈值,则将所述有效数据从所述缓存区域的第一区域搬移到所述缓存区域的第二区域。
2.根据权利要求1所述写入方法,其特征在于,所述将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到所述闪存区域的步骤之后包括:
判断所述闪存区域的剩余空间是否小于第三阈值;
若所述闪存区域的剩余空间小于所述第三阈值,则将至少部分所述缓存区域切换为所述闪存区域,并更新所述第一阈值。
3.根据权利要求1所述的写入方法,其特征在于,所述将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到所述闪存区域的步骤包括:
若所述缓存区域的剩余空间小于所述第一阈值,则启动垃圾回收机制,判断所述闪存区域的剩余空间是否大于第四阈值;
若所述闪存区域的剩余空间大于所述第四阈值,将所述闪存区域的至少部分区域切换为所述缓存区域,并更新所述第一阈值;
执行所述将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到闪存区域的步骤。
4.根据权利要求3所述的写入方法,其特征在于,所述将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到所述闪存区域的步骤之后包括:
判断所述闪存区域的剩余空间是否小于第三阈值;
若所述闪存区域的剩余空间小于所述第三阈值,则将所述切换为所述缓存区域的至少部分区域还原为所述闪存区域,并更新所述第一阈值。
5.根据权利要求1所述的写入方法,其特征在于,所述启动将待写入数据写入所述缓存区域的任务的步骤之前包括:
将所述固态硬盘划分为所述缓存区域以及所述闪存区域,其中,所述缓存区域的空间大于所述闪存区域的空间。
6.根据权利要求1所述的写入方法,其特征在于,所述将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到所述闪存区域的步骤之后还包括:
判断所述待写入数据是否写入完成;
若所述待写入数据未写入完成,则将未写完的剩余所述待写入数据继续写入所述缓存区域。
7.一种固态硬盘的写入装置,所述固态硬盘包括存储空间,所述存储空间划分有缓存区域和闪存区域,其特征在于,所述装置包括:
写入模块,用于启动将待写入数据写入所述缓存区域的任务;
判断模块,用于判断所述缓存区域的剩余空间是否小于第一阈值;
垃圾回收模块,用于在所述判断模块判断出所述缓存区域的剩余空间小于所述第一阈值时,启动垃圾回收机制,统计所述缓存区域内的有效数据,所述有效数据包括热数据和冷数据;判断所述有效数据是否大于第二阈值;若所述有效数据大于所述第二阈值,则将所述缓存区域内的热数据保留在所述缓存区域;将所述缓存区域内的冷数据搬移到所述闪存区域;若所述有效数据小于或等于第二阈值,则将所述有效数据从所述缓存区域的第一区域搬移到所述缓存区域的第二区域。
8.一种固态硬盘,其特征在于,包括存储空间、相互耦接的处理器及存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,
所述存储空间划分有缓存区域和闪存区域;
所述处理器运行所述计算机程序时执行权利要求1至6中任一项所述的写入方法。
9.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器运行时执行权利要求1至6中任一项所述的写入方法。
CN201910690881.7A 2019-07-29 2019-07-29 固态硬盘的写入方法及固态硬盘 Active CN110427158B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910690881.7A CN110427158B (zh) 2019-07-29 2019-07-29 固态硬盘的写入方法及固态硬盘

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910690881.7A CN110427158B (zh) 2019-07-29 2019-07-29 固态硬盘的写入方法及固态硬盘

Publications (2)

Publication Number Publication Date
CN110427158A CN110427158A (zh) 2019-11-08
CN110427158B true CN110427158B (zh) 2023-06-20

Family

ID=68411203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910690881.7A Active CN110427158B (zh) 2019-07-29 2019-07-29 固态硬盘的写入方法及固态硬盘

Country Status (1)

Country Link
CN (1) CN110427158B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111104066B (zh) * 2019-12-17 2021-07-27 华中科技大学 数据写入方法、装置及存储服务器和计算机可读存储介质
CN114327240A (zh) * 2020-09-29 2022-04-12 慧荣科技股份有限公司 计算机可读存储介质、闪存存储器的数据存储方法及装置
CN112988618B (zh) * 2021-02-20 2023-02-28 山东英信计算机技术有限公司 一种固态硬盘的垃圾回收方法、装置、设备及存储介质
CN112905129B (zh) * 2021-05-06 2021-08-13 蚂蚁金服(杭州)网络技术有限公司 缓存内存块的淘汰方法、装置及电子设备
US11556275B2 (en) 2021-05-18 2023-01-17 Micron Technology, Inc. Techniques for page line filler data
CN113645402B (zh) * 2021-07-27 2022-05-17 深圳市阿达视高新技术有限公司 摄像设备的比特率控制方法、系统、存储介质及摄像设备
CN115469797B (zh) * 2021-09-09 2023-12-29 上海江波龙数字技术有限公司 一种数据写入方法、存储装置及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106843762A (zh) * 2017-01-17 2017-06-13 北京联想核芯科技有限公司 管理存储区域的方法及固态硬盘
CN107450858A (zh) * 2017-08-11 2017-12-08 湖南国科微电子股份有限公司 一种固态硬盘分级存储方法及系统
CN107506137A (zh) * 2017-08-11 2017-12-22 记忆科技(深圳)有限公司 一种提升固态硬盘写性能的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101861170B1 (ko) * 2011-08-17 2018-05-25 삼성전자주식회사 마이그레이션 관리자를 포함하는 메모리 시스템
US9229644B2 (en) * 2013-11-25 2016-01-05 Sandisk Technologies Inc. Targeted copy of data relocation
US10318414B2 (en) * 2014-10-29 2019-06-11 SK Hynix Inc. Memory system and memory management method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106843762A (zh) * 2017-01-17 2017-06-13 北京联想核芯科技有限公司 管理存储区域的方法及固态硬盘
CN107450858A (zh) * 2017-08-11 2017-12-08 湖南国科微电子股份有限公司 一种固态硬盘分级存储方法及系统
CN107506137A (zh) * 2017-08-11 2017-12-22 记忆科技(深圳)有限公司 一种提升固态硬盘写性能的方法

Also Published As

Publication number Publication date
CN110427158A (zh) 2019-11-08

Similar Documents

Publication Publication Date Title
CN110427158B (zh) 固态硬盘的写入方法及固态硬盘
TWI389125B (zh) 記憶體儲存裝置及其控制方法
US8392662B2 (en) Methods of data management in non-volatile memory devices and related non-volatile memory systems
US8386713B2 (en) Memory apparatus, memory control method, and program
KR101447188B1 (ko) 플래시 메모리에 최적화된 입출력 제어 방법 및 장치
US7647470B2 (en) Memory device and controlling method for elongating the life of nonvolatile memory
US8060684B2 (en) Memory control apparatus, memory control method and program
WO2017088185A1 (zh) 一种存储设备存储数据的方法及存储设备
US20130227198A1 (en) Flash memory device and electronic device employing thereof
WO2014074449A2 (en) Wear leveling in flash memory devices with trim commands
JP2009181314A (ja) 情報記録装置およびその制御方法
KR100703807B1 (ko) 블록 방식의 메모리에서 데이터의 변경 유형에 따라 블록을관리하는 방법 및 장치
CN109558456A (zh) 一种文件迁移方法、装置、设备及可读存储介质
CN110377233A (zh) Ssd读性能优化方法、装置、计算机设备及存储介质
CN100580669C (zh) 在Flash存储介质上的关于文件分配表的缓存实现方法
CN108334383B (zh) 一种信息处理方法及电子设备
CN105138277A (zh) 一种固态盘阵列的缓存管理方法
US11249920B2 (en) Non-volatile memory device using efficient page collection mapping in association with cache and method of operating the same
CN114238162B (zh) 垃圾回收方法、装置、可读存储介质及电子设备
CN106021124B (zh) 一种数据的存储方法及存储系统
US20220365677A1 (en) Storage management device, storage management method, and program
CN101339490A (zh) 闪存的驱动装置及方法
JP2008262452A (ja) 記録デバイスのキャッシュ方法および記録装置
US20210011859A1 (en) Method and computer program product and apparatus for controlling data access of a flash memory device
CN111949212A (zh) 基于自定义开放通道ssd的文件系统及文件管理方法

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210224

Address after: 310051 room 512, building 2, 2930 South Ring Road, Puyan street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Zhejiang Dahua Technology Co.,Ltd.

Address before: No.1187 Bin'an Road, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: ZHEJIANG DAHUA TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 1202, Floor 12, Building 3, No. 126, Yueda Lane, Changhe Street, Binjiang District, Hangzhou City, Zhejiang Province, 310056

Applicant after: Zhejiang Huayi Core Technology Co.,Ltd.

Address before: 310051 room 512, building 2, 2930 South Ring Road, Puyan street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: Zhejiang Dahua Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant