CN109582227B - 固态硬盘写入方法、装置、计算机设备和存储介质 - Google Patents

固态硬盘写入方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN109582227B
CN109582227B CN201811359321.5A CN201811359321A CN109582227B CN 109582227 B CN109582227 B CN 109582227B CN 201811359321 A CN201811359321 A CN 201811359321A CN 109582227 B CN109582227 B CN 109582227B
Authority
CN
China
Prior art keywords
write
writing
write command
solid state
module
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
CN201811359321.5A
Other languages
English (en)
Other versions
CN109582227A (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 Union Memory Information System Co Ltd
Original Assignee
Shenzhen Union Memory Information System 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 Union Memory Information System Co Ltd filed Critical Shenzhen Union Memory Information System Co Ltd
Priority to CN201811359321.5A priority Critical patent/CN109582227B/zh
Publication of CN109582227A publication Critical patent/CN109582227A/zh
Application granted granted Critical
Publication of CN109582227B publication Critical patent/CN109582227B/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/0614Improving the reliability of storage systems
    • 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/0629Configuration or reconfiguration of storage systems
    • 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)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请涉及一种固态硬盘写入方法、装置、计算机设备和存储介质,其中该方法包括:获取固态硬盘写入请求,所述固态硬盘写入请求中包括写命令;对所述写命令进行监测以及识别;判断所述写命令中是否包含特定的序列;当所述写命令中不包含特定的序列,则将对应的数据写入到SLC Cache;当所述写命令中包含特定的序列,则将对应的数据强制写入到普通区域。本发明实现了在系统运行时刻动态识别命令序列,如果符合一定的特征,则直接将数据写入到TLC;否则维持现有策略,根据SLC可用空间来选择。通过该策略,可降低SLC到TLC搬移引起的写放大,进而提升SSD寿命。

Description

固态硬盘写入方法、装置、计算机设备和存储介质
技术领域
本发明涉及存储技术领域,特别是涉及一种固态硬盘写入方法、装置、计算机设备和存储介质。
背景技术
目前,SSD(固态硬盘)已经被广泛应用于各种场合,由于其在性能、功耗、环境适应性等方面的优秀指标,正逐步替换传统的硬盘。
随着NAND的工艺演进,从SLC到MLC,再到TLC,颗粒的可靠性以及性能在下降,而现有的电脑应用场景中对于性能又有极高的要求,故现在的SSD厂商都会提供一块高速区域,如保留的SLC Cache,其具有读写性能高的特点,故而能够给客户提供较好的用户体验。
传统技术中,在引入SLC Cache的同时,由于其空间有限,在写满后需要搬移到TLC区域,这种复写会引起额外的写放大,进而影响固态硬盘的性能以及寿命。
发明内容
基于此,有必要针对上述技术问题,提供一种可以提升硬盘性能以及寿命的固态硬盘写入方法、装置、计算机设备和存储介质。
一种固态硬盘写入方法,所述方法包括:
获取固态硬盘写入请求,所述固态硬盘写入请求中包括写命令;
对所述写命令进行监测以及识别;
判断所述写命令中是否包含特定的序列;
当所述写命令中不包含特定的序列,则将对应的数据写入到SLC Cache;
当所述写命令中包含特定的序列,则将对应的数据强制写入到普通区域。
在其中一个实施例中,所述方法还包括:
当识别到特定的序列后,输出对应的控制信号到映射表管理模块;
将所述写命令分割成映射单元,提交到读写缓冲区;
读写缓冲区从Memory中分配缓冲区空间;
根据所述分配的缓冲区空间,建立前端与主机的数据传输。
在其中一个实施例中,在根据所述分配的缓冲区空间,建立前端与主机的数据传输的步骤之后还包括:
在完成数据传输后,提交操作请求到映射表管理模块;
映射表管理模块为对应请求分配物理地址,并更新对应的映射表项。
在其中一个实施例中,所述映射表管理模块为对应请求分配物理地址的步骤包括:
判断SLC空间是否可用;
当SLC空间不可用时,直接写入到TLC区域;
当SLC空间可用时,若没有接收到模式进入信号,则写入SLC空间;若接收到模式进入信号,则强制写入到TLC空间;若接收到模式退出信号,则恢复写入到SLC区域。
在其中一个实施例中,在所述映射表管理模块为对应请求分配物理地址,并更新对应的映射表项的步骤之后还包括:
提交操作请求到后端模块,后端模块根据物理地址发起对NAND写请求;
等待NAND操作请求完成,控制操作请求依次返回上层模块;
前端模块接收到完成的控制操作请求后,完成命令写请求。
在其中一个实施例中,所述对所述写命令进行监测以及识别的步骤包括:
默认状态,持续观测外部输入事件,若判断顺序写入成立且命令大小为128KB,则进入准备阶段;
准备阶段,持续观测外部输入事件,若输入为持续的顺序写,则累加写入量,当写入量达到阈值时,则进入到触发阶段,同时触发模式进入信号给映射表管理模块;若没有写命令或者写命令非顺序128KB写命令时,则进入到复位阶段;
触发阶段,映射表管理模块会强制TLC写入,同时持续检测外部事件,若没有写命令或者写命令非顺序128KB写命令,则进入到复位阶段;
复位阶段,清除内部计数器,恢复SLC写入,跳转到默认状态。
一种固态硬盘写入装置,所述固态硬盘写入装置包括:
获取模块,所述获取模块用于获取固态硬盘写入请求,所述固态硬盘写入请求中包括写命令;
识别模块,所述识别模块用于对所述写命令进行监测以及识别;
判断模块,所述判断模块用于判断所述写命令中是否包含特定的序列;
第一写入模块,所述第一写入模块用于当所述写命令中不包含特定的序列,则将对应的数据写入到SLC Cache;
第二写入模块,所述第二写入模块用于当所述写命令中包含特定的序列,则将对应的数据强制写入到普通区域。
在其中一个实施例中,所述固态硬盘写入装置还包括:
输出模块,所述输出模块用于当识别到特定的序列后,输出对应的控制信号到映射表管理模块;
分割模块,所述分割模块用于将所述写命令分割成映射单元,提交到读写缓冲区;
分配模块,所述分配模块用于从Memory中分配缓冲区空间;
传输建立模块,所述传输建立模块根据所述分配的缓冲区空间,建立前端与主机的数据传输。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。
上述固态硬盘写入方法、装置、计算机设备和存储介质,通过获取固态硬盘写入请求,所述固态硬盘写入请求中包括写命令;对所述写命令进行监测以及识别;判断所述写命令中是否包含特定的序列;当所述写命令中不包含特定的序列,则将对应的数据写入到SLCCache;当所述写命令中包含特定的序列,则将对应的数据强制写入到普通区域。本发明实现了在系统运行时刻动态识别命令序列,如果符合一定的特征,则直接将数据写入到TLC;否则维持现有策略,根据SLC可用空间来选择。通过该策略,可降低SLC到TLC搬移引起的写放大,进而提升SSD寿命。
附图说明
图1为一个实施例中固态硬盘写入方法的流程示意图;
图2为另一个实施例中固态硬盘写入方法的流程示意图;
图3为再一个实施例中固态硬盘写入方法的流程示意图;
图4为一个实施例中映射表管理模块为对应请求分配物理地址的步骤的流程示意图;
图5为又一个实施例中固态硬盘写入方法的流程示意图;
图6为一个实施例中对写命令进行监测以及识别的步骤的逻辑转换图;
图7为一个实施例中固态硬盘写入装置的结构框图;
图8为另一个实施例中固态硬盘写入装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种固态硬盘写入方法,该方法包括:
步骤102,获取固态硬盘写入请求,固态硬盘写入请求中包括写命令;
步骤104,对写命令进行监测以及识别;
步骤106,判断写命令中是否包含特定的序列;当写命令中不包含特定的序列,则执行步骤108,当写命令中包含特定的序列,则执行步骤110;
步骤108,将对应的数据写入到SLC Cache;
步骤110,将对应的数据强制写入到普通区域。
具体地,SSD内部NAND物理组成包括:DIE,可独立并发操作的单元;Block,可独立擦除的单元,也称为物理块,其内各个物理位置的数据写入后在下一次写之前必须要将整个Block擦除;Page,读写单元。随着NAND工艺演进,NAND普通模式下的读写性能较低,为了提供更好的用户体验,需要保留一部分物理块用作高速区,如SLC模式。工作在该模式下的物理块的读写性能较好,以东芝某款TLC NAND为例,SLC写性能是TLC的三倍左右。
传统SSD内部的写入模型如下:
1)当SLC高速区空间足够时,主机新写入的数据都会写入到SLC区域;
2)当SLC高速区空间不足时,主机新写入的数据会直接写入到TLC区域;
3)由于SLC空间较小,其被消耗完后,为了再次提供较好的读写性能,一般在主机没有命令下发时,SSD内部后台发起将SLC数据搬迁到TLC区域。在这过程中,由于主机写入的数据被复写2次,故而会导致写放大较大。在某些场景,如大文件写入时,此时先写入SLC再搬移到TLC是没有必要的,反而会降低SSD寿命。
而在本实施例中,首先,获取固态硬盘写入请求,固态硬盘写入请求中包括写命令,该写命令可以为写入序列,在SSD运行过程中监测主机的数据写入序列,当有可用SLCCache且主机数据写入序列未触发阈值时,数据写入到SLCCache,当检测到主机数据写入序列满足特定条件,如持续的顺序写入时,强制写入到普通区域如TLC,通过将不同场景下的数据写入到不同区域,在保障SSD集中突发读写性能的同时,有效降低了特定场景写入下的内部写放大,提升了SSD寿命。
在本实施例中,通过获取固态硬盘写入请求,固态硬盘写入请求中包括写命令;对写命令进行监测以及识别;判断写命令中是否包含特定的序列;当写命令中不包含特定的序列,则将对应的数据写入到SLC Cache;当写命令中包含特定的序列,则将对应的数据强制写入到普通区域。本实施例实现了在系统运行时刻动态识别命令序列,如果符合一定的特征,则直接将数据写入到TLC;否则维持现有策略,根据SLC可用空间来选择。通过该策略,可降低SLC到TLC搬移引起的写放大,进而提升SSD寿命。
在其中一个具体的实施例中,参考图2,提供了一种固态硬盘写入方法,还包括:
步骤202,当识别到特定的序列后,输出对应的控制信号到映射表管理模块;
步骤204,将写命令分割成映射单元,提交到读写缓冲区;
步骤206,读写缓冲区从Memory中分配缓冲区空间;
步骤208,根据分配的缓冲区空间,建立前端与主机的数据传输。
在其中一个具体的实施例中,参考图3,在根据分配的缓冲区空间,建立前端与主机的数据传输的步骤之后还包括:
步骤210,在完成数据传输后,提交操作请求到映射表管理模块;
步骤212,映射表管理模块为对应请求分配物理地址,并更新对应的映射表项。
在其中一个具体的实施例中,参考图4,映射表管理模块为对应请求分配物理地址的步骤包括:
步骤402,判断SLC空间是否可用;当SLC空间不可用时,执行步骤404
步骤404,直接写入到TLC区域;
当SLC空间可用时,则分别执行
步骤406,若没有接收到模式进入信号,则写入SLC空间;
步骤408,若接收到模式进入信号,则强制写入到TLC空间;
步骤410,若接收到模式退出信号,则恢复写入到SLC区域。
在其中一个具体的实施例中,参考图5,在映射表管理模块为对应请求分配物理地址,并更新对应的映射表项的步骤之后还包括:
步骤214,提交操作请求到后端模块,后端模块根据物理地址发起对NAND写请求;
步骤216,等待NAND操作请求完成,控制操作请求依次返回上层模块;
步骤218,前端模块接收到完成的控制操作请求后,完成命令写请求。
在其中一个具体的实施例中,提供了一种固态硬盘写入方法,该对写命令进行监测以及识别的步骤包括:
默认状态,持续观测外部输入事件,若判断顺序写入成立且命令大小为128KB,则进入准备阶段;
准备阶段,持续观测外部输入事件,若输入为持续的顺序写,则累加写入量,当写入量达到阈值时,则进入到触发阶段,同时触发模式进入信号给映射表管理模块;若没有写命令或者写命令非顺序128KB写命令时,则进入到复位阶段;
触发阶段,映射表管理模块会强制TLC写入,同时持续检测外部事件,若没有写命令或者写命令非顺序128KB写命令,则进入到复位阶段;
复位阶段,清除内部计数器,恢复SLC写入,跳转到默认状态。
具体地,参考图6,本实施例中对写命令进行监测以及识别的步骤的逻辑转换图:
1)模块输入事件:主机命令,超时。
2)IDLE:默认状态,在该状态下持续观测外部输入事件,若判断顺序写入成立且命令大小为128KB,则进入准备阶段。
3)准备阶段:此阶段持续观测外部输入事件,若输入为持续的顺序写,则累加写入量,当写入量达到阈值(SEQ_WRITE_TH)时,则进入到触发阶段,同时触发模式进入信号给映射表管理模块;若没有写命令(超时)或者写命令非顺序128KB写,则进入到复位阶段。
4)触发阶段:此阶段映射表管理模块会强制TLC写入,同时持续检测外部事件,若没有写命令(超时)或者写命令非顺序128KB写,则进入到Reset状态。
5)复位阶段:此阶段清除内部计数器(顺序写数据量),恢复SLC写入,然后跳转到IDLE:默认状态。
应该理解的是,虽然图1-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种固态硬盘写入装置700,该装置包括:
获取模块701,用于获取固态硬盘写入请求,固态硬盘写入请求中包括写命令;
识别模块702,用于对写命令进行监测以及识别;
判断模块703,用于判断写命令中是否包含特定的序列;
第一写入模块704,用于当写命令中不包含特定的序列,则将对应的数据写入到SLC Cache;
第二写入模块705,用于当写命令中包含特定的序列,则将对应的数据强制写入到普通区域。
在一个实施例中,如图8所示,提供了一种固态硬盘写入装置700,该固态硬盘写入装置700还包括:
输出模块706,用于当识别到特定的序列后,输出对应的控制信号到映射表管理模块;
分割模块707,用于将写命令分割成映射单元,提交到读写缓冲区;
分配模块708,用于从Memory中分配缓冲区空间;
传输建立模块709,根据分配的缓冲区空间,建立前端与主机的数据传输。
在一个实施例中,该固态硬盘写入装置700还用于:在完成数据传输后,提交操作请求到映射表管理模块;映射表管理模块为对应请求分配物理地址,并更新对应的映射表项。
在一个实施例中,该固态硬盘写入装置700还用于:判断SLC空间是否可用;当SLC空间不可用时,直接写入到TLC区域;当SLC空间可用时,若没有接收到模式进入信号,则写入SLC空间;若接收到模式进入信号,则强制写入到TLC空间;若接收到模式退出信号,则恢复写入到SLC区域。
在一个实施例中,该固态硬盘写入装置700还用于:提交操作请求到后端模块,后端模块根据物理地址发起对NAND写请求;等待NAND操作请求完成,控制操作请求依次返回上层模块;前端模块接收到完成的控制操作请求后,完成命令写请求。
在一个实施例中,该固态硬盘写入装置700中的识别模块702具体用于:
默认状态,持续观测外部输入事件,若判断顺序写入成立且命令大小为128KB,则进入准备阶段;
准备阶段,持续观测外部输入事件,若输入为持续的顺序写,则累加写入量,当写入量达到阈值时,则进入到触发阶段,同时触发模式进入信号给映射表管理模块;若没有写命令或者写命令非顺序128KB写命令时,则进入到复位阶段;
触发阶段,映射表管理模块会强制TLC写入,同时持续检测外部事件,若没有写命令或者写命令非顺序128KB写命令,则进入到复位阶段;
复位阶段,清除内部计数器,恢复SLC写入,跳转到默认状态。
关于固态硬盘写入装置700的具体限定可以参见上文中对于固态硬盘写入方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器以及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种固态硬盘写入方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种固态硬盘写入方法,所述方法包括:
获取固态硬盘写入请求,所述固态硬盘写入请求中包括写命令;
对所述写命令进行监测以及识别;
判断所述写命令中是否包含特定的序列;
当所述写命令中不包含特定的序列,则将对应的数据写入到SLC Cache;
当所述写命令中包含特定的序列,则将对应的数据强制写入到普通区域;
所述对所述写命令进行监测以及识别的步骤包括:
默认状态,持续观测外部输入事件,若判断顺序写入成立且命令大小为128KB,则进入准备阶段;
准备阶段,持续观测外部输入事件,若输入为持续的顺序写,则累加写入量,当写入量达到阈值时,则进入到触发阶段,同时触发模式进入信号给映射表管理模块;若没有写命令或者写命令非顺序128KB写命令时,则进入到复位阶段;
触发阶段,映射表管理模块会强制TLC写入,同时持续检测外部事件,若没有写命令或者写命令非顺序128KB写命令,则进入到复位阶段;
复位阶段,清除内部计数器,恢复SLC写入,跳转到默认状态。
2.根据权利要求1所述的固态硬盘写入方法,其特征在于,所述方法还包括:
当识别到特定的序列后,输出对应的控制信号到映射表管理模块;
将所述写命令分割成映射单元,提交到读写缓冲区;
读写缓冲区从Memory中分配缓冲区空间;
根据所述分配的缓冲区空间,建立前端与主机的数据传输。
3.根据权利要求2所述的固态硬盘写入方法,其特征在于,在根据所述分配的缓冲区空间,建立前端与主机的数据传输的步骤之后还包括:
在完成数据传输后,提交操作请求到映射表管理模块;
映射表管理模块为对应请求分配物理地址,并更新对应的映射表项。
4.根据权利要求3所述的固态硬盘写入方法,其特征在于,所述映射表管理模块为对应请求分配物理地址的步骤包括:
判断SLC空间是否可用;
当SLC空间不可用时,直接写入到TLC区域;
当SLC空间可用时,若没有接收到模式进入信号,则写入SLC空间;若接收到模式进入信号,则强制写入到TLC空间;若接收到模式退出信号,则恢复写入到SLC区域。
5.根据权利要求3所述的固态硬盘写入方法,其特征在于,在所述映射表管理模块为对应请求分配物理地址,并更新对应的映射表项的步骤之后还包括:
提交操作请求到后端模块,后端模块根据物理地址发起对NAND写请求;
等待NAND操作请求完成,控制操作请求依次返回上层模块;
前端模块接收到完成的控制操作请求后,完成命令写请求。
6.一种固态硬盘写入装置,其特征在于,所述固态硬盘写入装置包括:
获取模块,所述获取模块用于获取固态硬盘写入请求,所述固态硬盘写入请求中包括写命令;
识别模块,所述识别模块用于对所述写命令进行监测以及识别;
判断模块,所述判断模块用于判断所述写命令中是否包含特定的序列;
第一写入模块,所述第一写入模块用于当所述写命令中不包含特定的序列,则将对应的数据写入到SLC Cache;
第二写入模块,所述第二写入模块用于当所述写命令中包含特定的序列,则将对应的数据强制写入到普通区域;
所述识别模块还用于:
默认状态,持续观测外部输入事件,若判断顺序写入成立且命令大小为128KB,则进入准备阶段;
准备阶段,持续观测外部输入事件,若输入为持续的顺序写,则累加写入量,当写入量达到阈值时,则进入到触发阶段,同时触发模式进入信号给映射表管理模块;若没有写命令或者写命令非顺序128KB写命令时,则进入到复位阶段;
触发阶段,映射表管理模块会强制TLC写入,同时持续检测外部事件,若没有写命令或者写命令非顺序128KB写命令,则进入到复位阶段;
复位阶段,清除内部计数器,恢复SLC写入,跳转到默认状态。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
CN201811359321.5A 2018-11-15 2018-11-15 固态硬盘写入方法、装置、计算机设备和存储介质 Active CN109582227B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811359321.5A CN109582227B (zh) 2018-11-15 2018-11-15 固态硬盘写入方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811359321.5A CN109582227B (zh) 2018-11-15 2018-11-15 固态硬盘写入方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN109582227A CN109582227A (zh) 2019-04-05
CN109582227B true CN109582227B (zh) 2022-01-21

Family

ID=65922467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811359321.5A Active CN109582227B (zh) 2018-11-15 2018-11-15 固态硬盘写入方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN109582227B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175000A (zh) * 2019-05-24 2019-08-27 深圳忆联信息系统有限公司 基于固态硬盘的读写性能提升方法、装置和计算机设备
CN110209356A (zh) * 2019-06-03 2019-09-06 深圳忆联信息系统有限公司 一种提高ssd读写性能的方法及其系统
CN110321081B (zh) * 2019-07-08 2023-06-06 深圳忆联信息系统有限公司 一种闪存读缓存的方法及其系统
CN110750215A (zh) * 2019-10-14 2020-02-04 深圳忆联信息系统有限公司 提升固态硬盘随机读性能方法、装置和计算机设备
CN111897495B (zh) * 2020-07-28 2023-07-04 深圳忆联信息系统有限公司 提高ssd写性能的实现方法、装置、计算机设备及存储介质
CN112558865A (zh) * 2020-12-02 2021-03-26 成都佰维存储科技有限公司 突发数据读写方法、装置、可读存储介质及电子设备
CN112631512B (zh) * 2020-12-11 2023-01-06 苏州浪潮智能科技有限公司 一种ssd的自适应稳态的方法和设备
CN114489487A (zh) * 2021-12-29 2022-05-13 深圳星火半导体科技有限公司 一种数据存储保护方法及系统
CN114201331B (zh) * 2022-02-17 2022-05-31 深圳佰维存储科技股份有限公司 固态硬盘的指令冲突检测方法、装置、设备和存储介质
CN116028399A (zh) * 2022-12-22 2023-04-28 深圳大普微电子科技有限公司 固态硬盘数据处理方法、固态硬盘控制器及固态硬盘
CN116610257B (zh) * 2023-04-27 2024-05-17 上海威固信息技术股份有限公司 一种高集成的固态硬盘功耗控制方法及固态硬盘

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293841A (zh) * 2016-08-11 2017-01-04 青岛海信移动通信技术股份有限公司 一种烧录数据的方法和装置
TW201738895A (zh) * 2016-04-27 2017-11-01 慧榮科技股份有限公司 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置
CN107506137A (zh) * 2017-08-11 2017-12-22 记忆科技(深圳)有限公司 一种提升固态硬盘写性能的方法
CN108549610A (zh) * 2018-03-27 2018-09-18 深圳忆联信息系统有限公司 一种NVMe扩展的实现方法及固态硬盘
CN108664218A (zh) * 2018-04-23 2018-10-16 浙江大华技术股份有限公司 一种基于数据特征的ssd存储方法、装置及系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10019314B2 (en) * 2016-04-27 2018-07-10 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
US10289487B2 (en) * 2016-04-27 2019-05-14 Silicon Motion Inc. Method for accessing flash memory module and associated flash memory controller and memory device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201738895A (zh) * 2016-04-27 2017-11-01 慧榮科技股份有限公司 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置
CN106293841A (zh) * 2016-08-11 2017-01-04 青岛海信移动通信技术股份有限公司 一种烧录数据的方法和装置
CN107506137A (zh) * 2017-08-11 2017-12-22 记忆科技(深圳)有限公司 一种提升固态硬盘写性能的方法
CN108549610A (zh) * 2018-03-27 2018-09-18 深圳忆联信息系统有限公司 一种NVMe扩展的实现方法及固态硬盘
CN108664218A (zh) * 2018-04-23 2018-10-16 浙江大华技术股份有限公司 一种基于数据特征的ssd存储方法、装置及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A new 3-bit programming algorithm using SLC-to-TLC migration for 8MB/s high performance TLC NAND flash memory;Seung-Hwan Shin;《2012 Symposium on VLSI Circuits (VLSIC)》;20120719;全文 *
面向嵌入式系统的TLC/SLC双模闪存转换层算法研究;姚雷;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180615;全文 *

Also Published As

Publication number Publication date
CN109582227A (zh) 2019-04-05

Similar Documents

Publication Publication Date Title
CN109582227B (zh) 固态硬盘写入方法、装置、计算机设备和存储介质
US10552315B2 (en) Data processing method and apparatus, and flash device
US10049040B2 (en) Just in time garbage collection
RU2661280C2 (ru) Контроллер массива, твердотельный диск и способ для управления твердотельным диском для записи данных
US10871920B2 (en) Storage device and computer system
US20150317246A1 (en) Memory Reclamation Method and Apparatus
US10289317B2 (en) Memory apparatus and methods thereof for write amplification aware wear leveling
US20120254513A1 (en) Storage system and data control method therefor
US10073771B2 (en) Data storage method and system thereof
US20200110555A1 (en) Write control method, associated data storage device and controller thereof
CN104298606A (zh) 固态存储装置中垃圾搜集动作的控制方法
CN110389712B (zh) 数据写入方法及其装置、固态硬盘和计算机可读存储介质
CN110968524B (zh) 数据存储控制方法、装置、存储介质及电子装置
CN115639971B (zh) 数据写入方法、装置、电子设备、存储介质及程序产品
CN117632003A (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN114253483A (zh) 基于命令的写缓存管理方法、装置、计算机设备及存储介质
TW202242664A (zh) 以局部清理操作來進行垃圾回收的方法與相關控制器和儲存系統
KR101950759B1 (ko) 저장 장치의 메모리 컨트롤러가 수행하는 가비지 컬렉션 방법 및 메모리 컨트롤러
CN115470155A (zh) 支持固态硬盘多场景复用的l2p表缓存方法和装置
CN114816322A (zh) Ssd的外部排序方法、装置和ssd存储器
CN114138176A (zh) Nor Flash的擦除、升级方法及装置、计算机设备和存储介质
CN114168225A (zh) 固态硬盘映射表延迟更新方法、装置、计算机设备及存储介质
CN109491593B (zh) 一种数据存储管理系统及方法
CN109840217B (zh) 一种缓存资源分配和装置
CN109144399B (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