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

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

Info

Publication number
CN109582227A
CN109582227A CN201811359321.5A CN201811359321A CN109582227A CN 109582227 A CN109582227 A CN 109582227A CN 201811359321 A CN201811359321 A CN 201811359321A CN 109582227 A CN109582227 A CN 109582227A
Authority
CN
China
Prior art keywords
write
written
module
hard disk
solid state
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
Application number
CN201811359321.5A
Other languages
English (en)
Other versions
CN109582227B (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

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 (10)

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

Cited By (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读写性能的方法及其系统
CN110321081A (zh) * 2019-07-08 2019-10-11 深圳忆联信息系统有限公司 一种闪存读缓存的方法及其系统
CN110750215A (zh) * 2019-10-14 2020-02-04 深圳忆联信息系统有限公司 提升固态硬盘随机读性能方法、装置和计算机设备
CN111897495A (zh) * 2020-07-28 2020-11-06 深圳忆联信息系统有限公司 提高ssd写性能的实现方法、装置、计算机设备及存储介质
CN112558865A (zh) * 2020-12-02 2021-03-26 成都佰维存储科技有限公司 突发数据读写方法、装置、可读存储介质及电子设备
CN112631512A (zh) * 2020-12-11 2021-04-09 苏州浪潮智能科技有限公司 一种ssd的自适应稳态的方法和设备
CN114201331A (zh) * 2022-02-17 2022-03-18 深圳佰维存储科技股份有限公司 固态硬盘的指令冲突检测方法、装置、设备和存储介质
CN114489487A (zh) * 2021-12-29 2022-05-13 深圳星火半导体科技有限公司 一种数据存储保护方法及系统
CN116610257A (zh) * 2023-04-27 2023-08-18 上海威固信息技术股份有限公司 一种高集成的固态硬盘功耗控制方法及固态硬盘
WO2024130875A1 (zh) * 2022-12-22 2024-06-27 深圳大普微电子科技有限公司 固态硬盘数据处理方法、固态硬盘控制器及固态硬盘

Citations (7)

* 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 慧榮科技股份有限公司 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置
US20170315867A1 (en) * 2016-04-27 2017-11-02 Silicon Motion Inc. Method for accessing flash memory module and associated flash memory controller and memory device
CN107506137A (zh) * 2017-08-11 2017-12-22 记忆科技(深圳)有限公司 一种提升固态硬盘写性能的方法
US20180143876A1 (en) * 2016-04-27 2018-05-24 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
CN108549610A (zh) * 2018-03-27 2018-09-18 深圳忆联信息系统有限公司 一种NVMe扩展的实现方法及固态硬盘
CN108664218A (zh) * 2018-04-23 2018-10-16 浙江大华技术股份有限公司 一种基于数据特征的ssd存储方法、装置及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201738895A (zh) * 2016-04-27 2017-11-01 慧榮科技股份有限公司 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與記憶裝置
US20170315867A1 (en) * 2016-04-27 2017-11-02 Silicon Motion Inc. Method for accessing flash memory module and associated flash memory controller and memory device
US20180143876A1 (en) * 2016-04-27 2018-05-24 Silicon Motion Inc. Flash memory apparatus and storage management method for flash memory
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
SEUNG-HWAN SHIN: "A new 3-bit programming algorithm using SLC-to-TLC migration for 8MB/s high performance TLC NAND flash memory", 《2012 SYMPOSIUM ON VLSI CIRCUITS (VLSIC)》 *
姚雷: "面向嵌入式系统的TLC/SLC双模闪存转换层算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (16)

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

Also Published As

Publication number Publication date
CN109582227B (zh) 2022-01-21

Similar Documents

Publication Publication Date Title
CN109582227A (zh) 固态硬盘写入方法、装置、计算机设备和存储介质
US8583854B2 (en) Nonvolatile storage device with NCQ supported and writing method for a nonvolatile storage device
US20070239926A1 (en) Method and device for reduced read latency of non-volatile memory
KR102688570B1 (ko) 메모리 시스템 및 이의 동작 방법
US20200301606A1 (en) Solid state drive latency estimation interface for host performance tuning
CN104298606A (zh) 固态存储装置中垃圾搜集动作的控制方法
CN103902475B (zh) 一种基于队列管理机制的固态硬盘并行访问方法及装置
CN109918023A (zh) 基于内存受限ssd的预读取方法、装置和计算机设备
CN110175000A (zh) 基于固态硬盘的读写性能提升方法、装置和计算机设备
US11698734B2 (en) Collision reduction through just-in-time resource allocation
CN108733580A (zh) 读取命令排程方法
US10528285B2 (en) Data storage device and method for operating non-volatile memory
CN108958643A (zh) 数据存储装置及其操作方法
TW201905679A (zh) 資料儲存裝置、非揮發式記憶體操作方法及操作指令執行方法
CN107797755A (zh) 固态硬盘系统的原子写入方法以及使用该方法的装置
CN114253483B (zh) 基于命令的写缓存管理方法、装置、计算机设备及存储介质
CN108108309A (zh) 涉及多nand闪存的并行访问方法、固态硬盘和计算机
CN106033323A (zh) 读取快闪存储器中储存单元的方法以及使用该方法的装置
CN110928496A (zh) 一种在多控存储系统上的数据处理方法及装置
CN107797756A (zh) 固态硬盘系统的优先写入方法以及使用该方法的装置
CN113986773A (zh) 基于固态硬盘的写放大优化方法、装置及计算机设备
CN114022148A (zh) 基于区块链的交易冲突检测方法、装置、设备和存储介质
CN110058819A (zh) 基于可变缓存管理机制的主机命令处理方法和装置
CN111580757B (zh) 数据写入方法、系统和固态硬盘
CN108170380B (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