CN117519594A - 提升qlc固态硬盘写性能的方法、装置及计算机设备 - Google Patents
提升qlc固态硬盘写性能的方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN117519594A CN117519594A CN202311568991.9A CN202311568991A CN117519594A CN 117519594 A CN117519594 A CN 117519594A CN 202311568991 A CN202311568991 A CN 202311568991A CN 117519594 A CN117519594 A CN 117519594A
- Authority
- CN
- China
- Prior art keywords
- qlc
- mode
- write
- writing
- command
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 239000007787 solid Substances 0.000 title claims abstract description 33
- 238000004590 computer program Methods 0.000 claims description 23
- 230000009286 beneficial effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 8
- 230000009191 jumping Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005299 abrasion Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
Abstract
本发明提供了一种提升QLC固态硬盘写性能的方法、装置及计算机设备,方法包括QLC直写模式进入流程,QLC直写模式进入流程包括:判断当前QLC块是否已写完;若当前QLC块已写完,则判断当前主机提交的写命令包含的数据量是否足够完成QLC的完整编程;若当前主机提交的写命令包含的数据量足够完成QLC的完整编程,且当前是SLC缓存模式,则从SLC缓存模式切换到QLC直写模式;在QLC直写模式下,分配新的QLC块,主机新写入数据就直接写入QLC而不经过SLC缓存。本发明的有益效果在于:避免用户数据经SLC缓存,从而提升QLC写性能。
Description
技术领域
本发明涉及固态硬盘技术领域,尤其是指一种提升QLC固态硬盘写性能的方法、装置及计算机设备。
背景技术
QLC NAND通常需要多次编程才能真正完成数据存储,另外,由于需要消除相邻的Word line之间的影响,两次编程需要在多个Word line之间交错,故而使得处于不稳定状态的Word line数量较多。QLC SSD无法在自身的RAM中缓存不稳定Word line包含的数据,一般采用SLC缓存这些数据,即主机写入的数据都必须先写入到SLC缓存,然后再写入QLC区域,如此不但增加了NAND的磨损,也降低了QLC的写入性能。
发明内容
本发明所要解决的技术问题是:如何提升QLC固态硬盘写性能。
为了解决上述技术问题,本发明采用的技术方案为:一种提升QLC固态硬盘写性能的方法,包括QLC直写模式进入流程,QLC直写模式进入流程包括:
判断当前QLC块是否已写完;
若当前QLC块已写完,则判断当前主机提交的写命令包含的数据量是否足够完成QLC的完整编程;
若当前主机提交的写命令包含的数据量足够完成QLC的完整编程,且当前是SLC缓存模式,则从SLC缓存模式切换到QLC直写模式;
在QLC直写模式下,分配新的QLC块,主机新写入数据就直接写入QLC而不经过SLC缓存。
进一步的,提升QLC固态硬盘写性能的方法还包括,在QLC直写模式下,将SLC缓存数据搬入QLC块中。
进一步的,提升QLC固态硬盘写性能的方法,还包括QLC直写模式退出流程,QLC直写模式退出流程包括:
在QLC直写模式下,判断写命令处理时间是否超过预设阈值;
若写命令处理时间超过预设阈值,则切换到SLC缓存模式,分配SLC缓存块供用户数据写入;
QLC块从SLC缓存搬入数据或填充无效数据使超时命令所在的Word line完成最后的编程,完成超时命令。
进一步的,在完成超时命令后,再次判断写命令处理时间是否超过预设阈值,若写命令处理时间没有超过预设阈值,则结束流程。
本发明还提供了一种提升QLC固态硬盘写性能的装置,包括QLC直写模式进入模块,QLC直写模式进入模块包括:
第一判断单元,用于判断当前QLC块是否已写完;
第二判断单元,用于若当前QLC块已写完,则判断当前主机提交的写命令包含的数据量是否足够完成QLC的完整编程;
QLC直写模式切换单元,用于若当前主机提交的写命令包含的数据量足够完成QLC的完整编程,且当前是SLC缓存模式,则从SLC缓存模式切换到QLC直写模式;
QLC直写单元,用于在QLC直写模式下,分配新的QLC块,主机新写入数据就直接写入QLC而不经过SLC缓存。
进一步的,所述QLC直写单元,还用于在QLC直写模式下,将SLC缓存数据搬入QLC块中。
进一步的,提升QLC固态硬盘写性能的装置,还包括QLC直写模式退出模块,QLC直写模式退出模块包括:
第三判断单元,用于在QLC直写模式下,判断写命令处理时间是否超过预设阈值;
SLC缓存模式切换单元,用于若写命令处理时间超过预设阈值,则切换到SLC缓存模式,分配SLC缓存块供用户数据写入;
超时命令完成单元,用于QLC块从SLC缓存搬入数据或填充无效数据使超时命令所在的Word line完成最后的编程,完成超时命令。
进一步的,提升QLC固态硬盘写性能的装置,还包括第四判断单元,用于在完成超时命令后,再次判断写命令处理时间是否超过预设阈值,若写命令处理时间没有超过预设阈值,则结束流程。
本发明还提供一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的提升QLC固态硬盘写性能的方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如上所述的提升QLC固态硬盘写性能的方法。
本发明的有益效果在于:当监测到主机提交的写命令包含的数据量足够完成QLC的多次编程时,即进入到QLC直写模式,在此模式下,将主机写命令状态的完成标记由硬件自动设置调整为软件控制。在写命令第一次写入QLC后,不会通知主机命令执行完成,在进行第二次QLC编程时,再次从主机获取数据进行编程,待二次编程完成后,才由软件通知主机命令完成。在这种场景下,可以避免用户数据经SLC缓存,从而提升QLC写性能。
附图说明
下面结合附图详述本发明的具体结构。
图1为本发明实施例的QLC直写模式进入流程图;
图2为本发明实施例的QLC直写模式退出流程图;
图3为本发明实施例的QLC直写模式进入模块框图;
图4为本发明实施例的QLC直写模式退出模块框图;
图5为本发明另一实施例的进入QLC直写模式流程图;
图6为本发明另一实施例的退出QLC直写模式流程图;
图7为本发明实施例的第一QLC直写模式示意图;
图8为本发明实施例的第二QLC直写模式示意图;
图9为本发明实施例的第三QLC直写模式示意图;
图10为本发明实施例的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
英文或缩写的中文名称和解释:
Block:闪存块,作为闪存的最小擦除单元,一个Block包含多个闪存页。
QLC:英文全称:Quad-Level Cell,每个闪存的最小存储单元能保存4bit数据,写入速度慢,但存储密度高。
SLC:英文全称:Single Level Cell,即单层式储存,每个闪存的最小存储单元能只保存1bit数据,写入速度快,但存储密度小。
Word Line:字线,同一个字线可以包含多个NAND页。
如图1所示,本发明第一实施例为:一种提升QLC固态硬盘写性能的方法,包括QLC直写模式进入流程,QLC直写模式进入流程包括步骤:
S10、判断当前QLC块是否已写完;
S20、若当前QLC块已写完,则判断当前主机提交的写命令包含的数据量是否足够完成QLC的完整编程;
S30、若当前主机提交的写命令包含的数据量足够完成QLC的完整编程,且当前是SLC缓存模式,则从SLC缓存模式切换到QLC直写模式;
S40、在QLC直写模式下,分配新的QLC块,主机新写入数据就直接写入QLC而不经过SLC缓存。
进一步的,提升QLC固态硬盘写性能的方法还包括,在步骤S40中,在QLC直写模式下,将SLC缓存数据搬入QLC块中。
本技术方案中,在每组QLC块写完后,检查当前主机提交的命令包含的数据量是否足以完成QLC完整编程,如果可以切当前是SLC缓存模式,则切换到QLC直写模式。
在分配新QLC块后,主机新写入数据就直接写入QLC而不经过SLC缓存,同时SLC缓存中剩余的数据也会继续搬移到新分配QLC块。
完成QLC完整编程所需的数据量和SSD的配置有关,如图7所示包含8个平面的SSD,假定页大小16KB,Word line能完成最后编程最大距离为12个Word line,则完成QLC完整编程所需的数据量为16KB*4*8*12=6144KB。
如图7所示,在QLC直写模式下,用户数据直接写入QLC块,每组Word line会记录一个主机命令列表,其中的命令的最后写入的数据包含此Word line中。
当每组Word line完成最后编程后,即意味它的命令列表中的所有主机命令数据都完成QLC写入,可以释放了,如图8、图9描述了这一过程。
如图2所示,提升QLC固态硬盘写性能的方法,还包括QLC直写模式退出流程,QLC直写模式退出流程包括步骤:
S50、在QLC直写模式下,判断写命令处理时间是否超过预设阈值;
S60、若写命令处理时间超过预设阈值,则切换到SLC缓存模式,分配SLC缓存块供用户数据写入;
S70、QLC块从SLC缓存搬入数据或填充无效数据使超时命令所在的Word line完成最后的编程,完成超时命令。
进一步的,QLC直写模式退出流程还包括步骤S80、在完成超时命令后,再次判断写命令处理时间是否超过预设阈值,若写命令处理时间没有超过预设阈值,则结束流程。
本技术方案中,在QLC直写模式下,会监测主机写命令的执行时间,如果写命令执行时间超过阈值,将主机写入模式切换到SLC缓存模式。分配SLC缓存块后,用户数据先写入缓存块。对于超时命令所在的QLC Word line,优先通过SLC缓存搬移的数据来完成这些Word line的编程,完成主机命令;如无SLC缓存数据,则需要通过填充无效数据出发这些Word line完成最后一次编程,以完成相应的主机命令。
写命令执行时间超过阈值可设定为预期完成时间的2倍,按图三配置,假定每个QLC页的一次编程时间为1ms,则直写命令的预期完成时间约为1ms*4*12=48ms,超时阈值可设计为48ms*2=96ms。
本实施例中,当监测到主机提交的写命令包含的数据量足够完成QLC的多次编程时,即进入到QLC直写模式,在此模式下,将主机写命令状态的完成标记由硬件自动设置调整为软件控制。在写命令第一次写入QLC后,不会通知主机命令执行完成,在进行第二次QLC编程时,再次从主机获取数据进行编程,待二次编程完成后,才由软件通知主机命令完成。在这种场景下,可以避免用户数据经SLC缓存,从而提升QLC写性能。
本发明另一实施例为:一种提升QLC固态硬盘写性能的方法,如图5所示,QLC直写模式进入流程包括:
1.1、判断当前QLC块是否已写完,若写完则执行步骤1.2;
1.2、判断当前主机提交的数据量是否足以完成QLC完整编程,若是,则执行步骤1.3;若否,则跳转步骤1.6;
1.3、则判断当前是否为SLC缓存模式,若是,执行步骤1.4;若否,则跳转步骤1.6;
1.4、切换到QLC直写模式;
1.5、分配新的QLC块,将SLC缓存数据搬入,同时新主机数据直接写入QLC块;
1.6、结束流程。
如图6所示,QLC直写模式退出流程包括:
2.1、判断写命令处理时间是否超过阈值,若是,则执行步骤2.2;若否,则跳转到步骤2.5;
2.2、切换到SLC缓存模式,分配SLC缓存块供用户数据写入;
2.3、搬入数据或填充无效数据使超时命令所在的Word line完成最后编程,完成超时命令;
2.4、判断写命令处理时间是否超过阈值,若是,则跳转到步骤2.3;若否,则跳转到步骤2.5;
2.5、结束流程。
本发明的一实施例为一种提升QLC固态硬盘写性能的装置,包括QLC直写模式进入模块,如图3所示,QLC直写模式进入模块包括:
第一判断单元10,用于判断当前QLC块是否已写完;
第二判断单元20,用于若当前QLC块已写完,则判断当前主机提交的写命令包含的数据量是否足够完成QLC的完整编程;
QLC直写模式切换单元30,用于若当前主机提交的写命令包含的数据量足够完成QLC的完整编程,且当前是SLC缓存模式,则从SLC缓存模式切换到QLC直写模式;
QLC直写单元40,用于在QLC直写模式下,分配新的QLC块,主机新写入数据就直接写入QLC而不经过SLC缓存。
进一步的,所述QLC直写单元40,还用于在QLC直写模式下,将SLC缓存数据搬入QLC块中。
进一步的,提升QLC固态硬盘写性能的装置,还包括QLC直写模式退出模块,如图4所示,QLC直写模式退出模块包括:
第三判断单元50,用于在QLC直写模式下,判断写命令处理时间是否超过预设阈值;
SLC缓存模式切换单元60,用于若写命令处理时间超过预设阈值,则切换到SLC缓存模式,分配SLC缓存块供用户数据写入;
超时命令完成单元70,用于QLC块从SLC缓存搬入数据或填充无效数据使超时命令所在的Word line完成最后的编程,完成超时命令。
进一步的,提升QLC固态硬盘写性能的装置,还包括第四判断单元,用于在完成超时命令后,再次判断写命令处理时间是否超过预设阈值,若写命令处理时间没有超过预设阈值,则结束流程。
本发明还提供一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的提升QLC固态硬盘写性能的方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如上所述的提升QLC固态硬盘写性能的方法。
本发明的有益效果在于:当监测到主机提交的写命令包含的数据量足够完成QLC的多次编程时,即进入到QLC直写模式,在此模式下,将主机写命令状态的完成标记由硬件自动设置调整为软件控制。在写命令第一次写入QLC后,不会通知主机命令执行完成,在进行第二次QLC编程时,再次从主机获取数据进行编程,待二次编程完成后,才由软件通知主机命令完成。在这种场景下,可以避免用户数据经SLC缓存,从而提升QLC写性能。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述提升QLC固态硬盘写性能的装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述提升QLC固态硬盘写性能的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图10所示的计算机设备上运行。
请参阅图10,图10是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图10,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种提升QLC固态硬盘写性能的方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种提升QLC固态硬盘写性能的方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如上所述的提升QLC固态硬盘写性能的方法。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时使处理器执行如上所述的提升QLC固态硬盘写性能的方法。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种提升QLC固态硬盘写性能的方法,其特征在于,包括QLC直写模式进入流程,QLC直写模式进入流程包括:
判断当前QLC块是否已写完;
若当前QLC块已写完,则判断当前主机提交的写命令包含的数据量是否足够完成QLC的完整编程;
若当前主机提交的写命令包含的数据量足够完成QLC的完整编程,且当前是SLC缓存模式,则从SLC缓存模式切换到QLC直写模式;
在QLC直写模式下,分配新的QLC块,主机新写入数据就直接写入QLC而不经过SLC缓存。
2.如权利要求1所述的提升QLC固态硬盘写性能的方法,其特征在于,还包括,在QLC直写模式下,将SLC缓存数据搬入QLC块中。
3.如权利要求1所述的提升QLC固态硬盘写性能的方法,其特征在于,还包括QLC直写模式退出流程,QLC直写模式退出流程包括:
在QLC直写模式下,判断写命令处理时间是否超过预设阈值;
若写命令处理时间超过预设阈值,则切换到SLC缓存模式,分配SLC缓存块供用户数据写入;
QLC块从SLC缓存搬入数据或填充无效数据使超时命令所在的Word line完成最后的编程,完成超时命令。
4.如权利要求3所述的提升QLC固态硬盘写性能的方法,其特征在于,在完成超时命令后,再次判断写命令处理时间是否超过预设阈值,若写命令处理时间没有超过预设阈值,则结束流程。
5.一种提升QLC固态硬盘写性能的装置,其特征在于,包括QLC直写模式进入模块,QLC直写模式进入模块包括:
第一判断单元,用于判断当前QLC块是否已写完;
第二判断单元,用于若当前QLC块已写完,则判断当前主机提交的写命令包含的数据量是否足够完成QLC的完整编程;
QLC直写模式切换单元,用于若当前主机提交的写命令包含的数据量足够完成QLC的完整编程,且当前是SLC缓存模式,则从SLC缓存模式切换到QLC直写模式;
QLC直写单元,用于在QLC直写模式下,分配新的QLC块,主机新写入数据就直接写入QLC而不经过SLC缓存。
6.如权利要求5所述的提升QLC固态硬盘写性能的装置,其特征在于,所述QLC直写单元,还用于在QLC直写模式下,将SLC缓存数据搬入QLC块中。
7.如权利要求5所述的提升QLC固态硬盘写性能的装置,其特征在于,还包括QLC直写模式退出模块,QLC直写模式退出模块包括:
第三判断单元,用于在QLC直写模式下,判断写命令处理时间是否超过预设阈值;
SLC缓存模式切换单元,用于若写命令处理时间超过预设阈值,则切换到SLC缓存模式,分配SLC缓存块供用户数据写入;
超时命令完成单元,用于QLC块从SLC缓存搬入数据或填充无效数据使超时命令所在的Word line完成最后的编程,完成超时命令。
8.如权利要求7所述的提升QLC固态硬盘写性能的装置,其特征在于,还包括第四判断单元,用于在完成超时命令后,再次判断写命令处理时间是否超过预设阈值,若写命令处理时间没有超过预设阈值,则结束流程。
9.一种计算机设备,其特征在于:所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的提升QLC固态硬盘写性能的方法。
10.一种存储介质,其特征在于:所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如权利要求1至4中任一项所述的提升QLC固态硬盘写性能的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311568991.9A CN117519594A (zh) | 2023-11-23 | 2023-11-23 | 提升qlc固态硬盘写性能的方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311568991.9A CN117519594A (zh) | 2023-11-23 | 2023-11-23 | 提升qlc固态硬盘写性能的方法、装置及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117519594A true CN117519594A (zh) | 2024-02-06 |
Family
ID=89741676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311568991.9A Pending CN117519594A (zh) | 2023-11-23 | 2023-11-23 | 提升qlc固态硬盘写性能的方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117519594A (zh) |
-
2023
- 2023-11-23 CN CN202311568991.9A patent/CN117519594A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10296231B2 (en) | Data-storage device and data maintenance method thereof | |
US11036646B2 (en) | Data storage device and method of writing logical-to-physical mapping table thereof | |
KR100939145B1 (ko) | 메모리 디바이스 | |
US7562180B2 (en) | Method and device for reduced read latency of non-volatile memory | |
CN111694510B (zh) | 数据储存装置与数据处理方法 | |
US9846643B2 (en) | Methods for maintaining a storage mapping table and apparatuses using the same | |
CN111459844B (zh) | 数据储存装置及用于存取逻辑至物理地址映射表的方法 | |
CN109213696B (zh) | 用于缓存管理的方法和设备 | |
CN111563052B (zh) | 降低读延时的缓存方法、装置、计算机设备及存储介质 | |
US20210149594A1 (en) | Solid-state devices to reduce latency by employing instruction time slicing to non-volatile memory (nvm) sets mapped to independently programmable nvm planes | |
CN111752484A (zh) | 一种ssd控制器、固态硬盘及数据写入方法 | |
CN110968529A (zh) | 无缓存固态硬盘的实现方法、装置、计算机设备及存储介质 | |
CN106445401B (zh) | 表格更新方法、存储器储存装置及存储器控制电路单元 | |
CN110704084A (zh) | 固件升级中内存动态分配的方法、装置、计算机设备及存储介质 | |
CN111897743A (zh) | 数据储存装置及逻辑至物理地址映射表的载入方法 | |
CN109426445B (zh) | 用以优化数据储存装置的数据储存方法及其数据储存装置 | |
CN111625197A (zh) | 存储器控制方法、存储器存储装置及存储器控制器 | |
US9852068B2 (en) | Method and apparatus for flash memory storage mapping table maintenance via DRAM transfer | |
CN111597127B (zh) | 混合slc缓存的方法、装置、计算机设备及存储介质 | |
CN116974491A (zh) | 固态硬盘的存储优化方法、装置、计算机设备及存储介质 | |
US20050144389A1 (en) | Method, system, and apparatus for explicit control over a disk cache memory | |
CN117519594A (zh) | 提升qlc固态硬盘写性能的方法、装置及计算机设备 | |
CN114217750B (zh) | Ssd低功耗优化方法、装置、计算机设备及存储介质 | |
US11900102B2 (en) | Data storage device firmware updates in composable infrastructure | |
CN115543183A (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 |