CN113741991B - 提升ssd服务质量方法、装置、计算机设备和存储介质 - Google Patents

提升ssd服务质量方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN113741991B
CN113741991B CN202111301938.3A CN202111301938A CN113741991B CN 113741991 B CN113741991 B CN 113741991B CN 202111301938 A CN202111301938 A CN 202111301938A CN 113741991 B CN113741991 B CN 113741991B
Authority
CN
China
Prior art keywords
context
resources
ssd
resource
context resources
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
CN202111301938.3A
Other languages
English (en)
Other versions
CN113741991A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202111301938.3A priority Critical patent/CN113741991B/zh
Publication of CN113741991A publication Critical patent/CN113741991A/zh
Application granted granted Critical
Publication of CN113741991B publication Critical patent/CN113741991B/zh
Priority to PCT/CN2022/090021 priority patent/WO2023077751A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及一种提升SSD服务质量的方法、装置、计算机设备和存储介质。所述方法包括:确定SSD的上下文资源数量,并利用令牌桶算法对所述上下文资源数量进行管理;接收并处理主机IO命令,并对SSD上下文资源使用数量进行统计;根据所述上下文资源数量以及所述上下文资源使用数量判断是否接收新的主机IO命令。借助令牌桶算法以及通过在上下文资源耗尽或状态机挂起数量达到一定阈值时,不再接收处理新的IO命令,避免处理大量挂起引发的额外开销,提升了SSD的QOS,保证了用户的良好的体验,提升了产品竞争力。

Description

提升SSD服务质量方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种提升SSD服务质量的方法、装置、计算机设备和存储介质。
背景技术
大数据时代背景下,大数据保存和获取对存储设备提出了更高的性能要求,SSD作为主流存储设备应运而生,从上层应用到底层存储,每一个环节的性能都直接或间接的影响着终端用户体验,因此,如何提高数据存储和读取的性能显得至关重要。
在计算机领域,相对于进程而言,上下文即为进程执行时的环境,也就是各种变量和数据,如:所有的寄存器变量、进程打开的文件、内存信息等。也可以将上下文理解为环境的一个快照,是一个用来保存状态的对象。通常,在一个程序中大多数函数都不是独立运行的,而是需要同其他函数的一部分进行交互,且需要其他外部环境变量的支持,而上下文即用于给外部环境的变量赋值,使函数能够正常运行。
SSD对主机IO的处理需要上下文来管理,处理IO的过程因为要有元数据的更新和获取等操作,所以此过程相对比较复杂,而为了提高SSD的性能这些操作需要实现并发操作和状态机的管理,这就需要上下文来记录和管理每个状态机,受限于硬件资源和能力的限制,这些上下文资源是有限的,当处理不同主机IO的工作负载时,可能会有拿不到上下文资源的情况,这就会使状态机进入挂起状态,处理这些处于挂起状态的状态机,排队累积效应恶化了对应IO命令的相应速度,从而影响了SSD的QOS。
发明内容
基于此,有必要针对上述技术问题,提供一种提升SSD服务质量的方法、装置、计算机设备和存储介质。
一方面,提供一种提升SSD服务质量的方法,所述方法包括:
确定SSD的上下文资源数量,并利用令牌桶算法对所述上下文资源数量进行管理;
接收并处理主机IO命令,并对SSD上下文资源使用数量进行统计;
根据所述上下文资源数量以及所述上下文资源使用数量判断是否接收新的主机IO命令。
在其中一个实施例中,所述方法还包括对SSD的状态机挂起数量进行统计,其中所述根据所述上下文资源数量以及所述上下文资源使用数量判断是否接收新的主机IO命令,包括:
根据所述上下文资源数量、所述上下文资源使用数量以及所述状态机挂起数量判断是否接收新的主机IO命令。
在其中一个实施例中,所述SSD的上下文资源包括第一上下文资源和第二上下文资源,所述第一上下文资源用于管理可接收的主机IO命令数量,所述第二上下文资源用于管理IO命令拆分出的数据结构。
在其中一个实施例中,所述确定SSD的上下文资源数量,包括:
初始化第一上下文资源数量和第二上下文资源数量;
根据第一上下文资源初始数量以及第二上下文资源初始数量进行读写IOPS测试;
保持第一上下文资源数量不变以及不断增加第二上下文资源数量,并继续进行IOPS测试直至吞吐量不再增加;
将吞吐量最大所对应的最小第二上下文资源数量作为第二上下文资源数量;
根据所述第二上下文资源数量确定第一上下文资源数量。
在其中一个实施例中,第二上下文资源数量与第一上下文资源数量的比例为1:32。
在其中一个实施例中,对SSD的状态机挂起数量进行统计,包括:
统计第二上下文资源使用数量,当第二上下文资源使用数量达到第二上下文资源数量时,如果SSD接收到新的主机IO命令,则SSD的状态机挂起数量加1,如果SSD处理完一个主机IO命令,则SSD的状态机挂起数量减1。
在其中一个实施例中,所述根据所述上下文资源数量、所述上下文资源使用数量以及所述状态机挂起数量判断是否接收新的主机IO命令,包括:
若第一上下文资源使用数量达到第一上下文资源数量或状态机挂起数量达到预设阈值时,SSD停止接收新的主机IO命令。
另一方面,提供了一种提升SSD服务质量的装置,所述装置包括资源确定模块、资源统计模块、判断模块,其中:
所述资源确定模块,用于确定SSD的上下文资源数量,并利用令牌桶算法对所述上下文资源数量进行管理;
所述资源统计模块,用于接收并处理主机IO命令,并对SSD上下文资源使用数量进行统计;
所述判断模块,用于根据所述上下文资源数量以及所述上下文资源使用数量判断是否接收新的主机IO命令。
再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
确定SSD的上下文资源数量,并利用令牌桶算法对所述上下文资源数量进行管理;
接收并处理主机IO命令,并对SSD上下文资源使用数量进行统计;
根据所述上下文资源数量以及所述上下文资源使用数量判断是否接收新的主机IO命令。
又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
确定SSD的上下文资源数量,并利用令牌桶算法对所述上下文资源数量进行管理;
接收并处理主机IO命令,并对SSD上下文资源使用数量进行统计;
根据所述上下文资源数量以及所述上下文资源使用数量判断是否接收新的主机IO命令。
上述提升SSD服务质量的方法、装置、计算机设备和存储介质,通过确定SSD的上下文资源数量,并利用令牌桶算法对所述上下文资源数量进行管理;接收并处理主机IO命令,并对SSD上下文资源使用数量进行统计;根据所述上下文资源数量以及所述上下文资源使用数量判断是否接收新的主机IO命令的方式,借助令牌桶算法以及在上下文资源耗尽或状态机挂起数量达到一定阈值时,不再接收处理新的IO命令,避免处理大量挂起引发的额外开销,提升了SSD的QOS,保证了用户的良好的体验,提升了产品竞争力。
附图说明
图1为一个实施例中提升SSD服务质量的方法的流程示意图;
图2为另一个实施例中提升SSD服务质量的方法的流程示意图;
图3为一个实施例中提升SSD服务质量的装置的结构框图;
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请的主要构思在于:
在处理HOST主机IO的SQ时,利用令牌桶算法管理SSD内部的上下文资源,当桶内令牌不足或超额使用时,不再接收处理SQ内新的IO命令。
在一个实施例中,如图1所示,提供了一种提升SSD服务质量的方法,包括以下步骤:
步骤S11,确定SSD的上下文资源数量,并利用令牌桶算法对所述上下文资源数量进行管理;
具体的,上下文资源的数量即令牌桶容量根据后端nand flash处理能力和并发度确定。
在一个实施例中,所述SSD的上下文资源包括第一上下文资源和第二上下文资源,所述第一上下文资源用于管理可接收的主机IO命令数量,所述第二上下文资源用于管理IO命令拆分出的数据结构。
具体的,X和Y表示的是两种上下文资源,X用于管理IO cmd命令,Y用于管理IO命令拆分出来的数据结构资源,举例说明:主机下来的区块大小为128K,下来的这128K用X上下文来管理,SSD接下128K后,会把128K拆分成32个4K(SSD内部的数据管理单元是4K),32个4K用Y上下文资源来管理。
在一个实施例中,步骤S11中确定SSD的上下文资源数量,包括:
步骤S111,初始化第一上下文资源数量和第二上下文资源数量;
步骤S112,根据第一上下文资源初始数量以及第二上下文资源初始数量进行读写IOPS测试;
步骤S113,保持第一上下文资源数量不变以及不断增加第二上下文资源数量,并继续进行IOPS测试直至吞吐量不再增加;
步骤S114,将吞吐量最大所对应的最小第二上下文资源数量作为第二上下文资源数量;
步骤S115,根据所述第二上下文资源数量确定第一上下文资源数量。
具体的,X资源根据吞吐量测试时主机的最大压力(以顺序读写的吞吐量来计算),最大压力下4jobs*256IOD=1024个,SSD内部初始X资源为1024个,这样保证至少处理一次主机的IOD(IOD为HOST的IO队列深度)。
Y资源根据FTL和后端处理能力,假设后端处理能力的并发度为n,为了让IO命令ping-pang起来,将后端带宽压满,前端上下文资源的数量为2n~3n,实际可根据测试情况,在随机读写的IOPS测试时,不断的加大上下文资源数量,直到增大到吞吐量不再增加。
在一个实施例中,第二上下文资源数量与第一上下文资源数量的比例为1:32。
具体的,如果主机下来的区块大小为4K,那个X资源与Y资源是一对一的关系。
步骤S12,接收并处理主机IO命令,并对SSD上下文资源使用数量进行统计;
具体的,在SSD固件中增加上下文资源数量的统计,刚上电时初始化为1中确定的资源数X,SSD接收并处理IO时,会申请上下文资源,申请一次上下文资源,X减1,当IO完成释放资源时,X加1。
步骤S13,根据所述上下文资源数量以及所述上下文资源使用数量判断是否接收新的主机IO命令。
在一个实施例中,若第一上下文资源使用数量达到第一上下文资源数量,SSD停止接收新的主机IO命令。
具体的,当上下文资源X耗尽时,不再接收处理新的IO命令,把IO命令堵在SQ内,避免处理大量挂起引发的额外开销。
在一个实施例中,步骤S3之前还包括:对SSD的状态机挂起数量进行统计。
在本实施例中,如图2所示,提供了另一种提升SSD服务质量的方法,包括:
步骤S21,确定SSD的上下文资源数量,并利用令牌桶算法对所述上下文资源数量进行管理;
具体的,涉及步骤S21的具体内容同步骤S11的内容。
步骤S22,接收并处理主机IO命令,并对SSD上下文资源使用数量进行统计;
具体的,涉及步骤S22的具体内容同步骤S12的内容。
步骤S23,对SSD的状态机挂起数量进行统计;
在一个实施例中,步骤S23包括:
统计第二上下文资源使用数量,当第二上下文资源使用数量达到第二上下文资源数量时,如果SSD接收到新的主机IO命令,则SSD的状态机挂起数量加1,如果SSD处理完一个主机IO命令,则SSD的状态机挂起数量减1。
步骤S24,根据所述上下文资源数量、所述上下文资源使用数量以及所述状态机挂起数量判断是否接收新的主机IO命令。
在一个实施例中,若第一上下文资源使用数量达到第一上下文资源数量或状态机挂起数量达到预设阈值时,SSD停止接收新的主机IO命令。
具体的,当上下文资源X耗尽或状态机挂起数量Z达到一定阈值时,不再接收处理新的IO命令,把IO命令堵在SQ内,避免处理大量挂起引发的额外开销,其中挂起数量阈值根据实际测试的经验值设定,例如为10。
此外,对挂起状态的处理需要采用FIFO的管理模式,保证IO的命令的处理顺序,保证先到的IO命令能尽快得到处理;FIFO管理是先挂起的状态机先得到处理,保证顺序。
上述提升SSD服务质量的方法中,借助令牌桶算法提升了SSD的QOS,保证了用户的良好的体验,提升了产品竞争力。
应该理解的是,虽然图1-2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图3所示,提供了一种提升SSD服务质量的装置,包括:装置包括资源确定模块、资源统计模块、判断模块:
资源确定模块,用于确定SSD的上下文资源数量,并利用令牌桶算法对所述上下文资源数量进行管理;
资源统计模块,用于接收并处理主机IO命令,并对SSD上下文资源使用数量进行统计;
在其中一个实施例中,所述SSD的上下文资源包括第一上下文资源和第二上下文资源,所述第一上下文资源用于管理可接收的主机IO命令数量,所述第二上下文资源用于管理IO命令拆分出的数据结构。
判断模块,用于根据所述上下文资源数量以及所述上下文资源使用数量判断是否接收新的主机IO命令。
在其中一个实施例中,所述资源统计模块还用于对SSD的状态机挂起数量进行统计。
在其中一个实施例中,判断模块还用于根据所述上下文资源数量、所述上下文资源使用数量以及所述状态机挂起数量判断是否接收新的主机IO命令。
在其中一个实施例中,资源确定模块用于:
初始化第一上下文资源数量和第二上下文资源数量;
根据第一上下文资源初始数量以及第二上下文资源初始数量进行读写IOPS测试;
保持第一上下文资源数量不变以及不断增加第二上下文资源数量,并继续进行IOPS测试直至吞吐量不再增加;
将吞吐量最大所对应的最小第二上下文资源数量作为第二上下文资源数量;
根据所述第二上下文资源数量确定第一上下文资源数量。
在其中一个实施例中,资源确定模块中第二上下文资源数量与第一上下文资源数量的比例为1:32。
在其中一个实施例中,资源确定模块用于:
统计第二上下文资源使用数量,当第二上下文资源使用数量达到第二上下文资源数量时,如果SSD接收到新的主机IO命令,则SSD的状态机挂起数量加1,如果SSD处理完一个主机IO命令,则SSD的状态机挂起数量减1。
在其中一个实施例中,判断模块用于:
若第一上下文资源使用数量达到第一上下文资源数量或状态机挂起数量达到预设阈值时,SSD停止接收新的主机IO命令。
关于提升SSD服务质量的装置的具体限定可以参见上文中对于提升SSD服务质量的方法的限定,在此不再赘述。上述提升SSD服务质量的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种提升SSD服务质量的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
确定SSD的上下文资源数量,并利用令牌桶算法对所述上下文资源数量进行管理;
接收并处理主机IO命令,并对SSD上下文资源使用数量进行统计;
根据所述上下文资源数量以及所述上下文资源使用数量判断是否接收新的主机IO命令。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对SSD的状态机挂起数量进行统计。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据所述上下文资源数量、所述上下文资源使用数量以及所述状态机挂起数量判断是否接收新的主机IO命令。
所述SSD的上下文资源包括第一上下文资源和第二上下文资源,所述第一上下文资源用于管理可接收的主机IO命令数量,所述第二上下文资源用于管理IO命令拆分出的数据结构。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
初始化第一上下文资源数量和第二上下文资源数量;
根据第一上下文资源初始数量以及第二上下文资源初始数量进行读写IOPS测试;
保持第一上下文资源数量不变以及不断增加第二上下文资源数量,并继续进行IOPS测试直至吞吐量不再增加;
将吞吐量最大所对应的最小第二上下文资源数量作为第二上下文资源数量;
根据所述第二上下文资源数量确定第一上下文资源数量。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
统计第二上下文资源使用数量,当第二上下文资源使用数量达到第二上下文资源数量时,如果SSD接收到新的主机IO命令,则SSD的状态机挂起数量加1,如果SSD处理完一个主机IO命令,则SSD的状态机挂起数量减1。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若第一上下文资源使用数量达到第一上下文资源数量或状态机挂起数量达到预设阈值时,SSD停止接收新的主机IO命令。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
确定SSD的上下文资源数量,并利用令牌桶算法对所述上下文资源数量进行管理;
接收并处理主机IO命令,并对SSD上下文资源使用数量进行统计;
根据所述上下文资源数量以及所述上下文资源使用数量判断是否接收新的主机IO命令。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对SSD的状态机挂起数量进行统计。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据所述上下文资源数量、所述上下文资源使用数量以及所述状态机挂起数量判断是否接收新的主机IO命令。
所述SSD的上下文资源包括第一上下文资源和第二上下文资源,所述第一上下文资源用于管理可接收的主机IO命令数量,所述第二上下文资源用于管理IO命令拆分出的数据结构。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
初始化第一上下文资源数量和第二上下文资源数量;
根据第一上下文资源初始数量以及第二上下文资源初始数量进行读写IOPS测试;
保持第一上下文资源数量不变以及不断增加第二上下文资源数量,并继续进行IOPS测试直至吞吐量不再增加;
将吞吐量最大所对应的最小第二上下文资源数量作为第二上下文资源数量;
根据所述第二上下文资源数量确定第一上下文资源数量。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
统计第二上下文资源使用数量,当第二上下文资源使用数量达到第二上下文资源数量时,如果SSD接收到新的主机IO命令,则SSD的状态机挂起数量加1,如果SSD处理完一个主机IO命令,则SSD的状态机挂起数量减1。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若第一上下文资源使用数量达到第一上下文资源数量或状态机挂起数量达到预设阈值时,SSD停止接收新的主机IO命令。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (9)

1.一种提升SSD服务质量的方法,其特征在于,包括:
确定SSD的上下文资源数量,并利用令牌桶算法对所述上下文资源数量进行管理;
接收并处理主机IO命令,并对SSD上下文资源使用数量进行统计;
根据所述上下文资源数量以及所述上下文资源使用数量判断是否接收新的主机IO命令;
其中所述确定SSD的上下文资源数量,包括:
初始化第一上下文资源数量和第二上下文资源数量;
根据第一上下文资源初始数量以及第二上下文资源初始数量进行读写IOPS测试;
保持第一上下文资源数量不变以及不断增加第二上下文资源数量,并继续进行IOPS测试直至吞吐量不再增加;
将吞吐量最大所对应的最小第二上下文资源数量作为第二上下文资源数量;
根据所述第二上下文资源数量确定第一上下文资源数量。
2.根据权利要求1所述的提升SSD服务质量的方法,其特征在于,所述方法还包括对SSD的状态机挂起数量进行统计,其中所述根据所述上下文资源数量以及所述上下文资源使用数量判断是否接收新的主机IO命令,包括:
根据所述上下文资源数量、所述上下文资源使用数量以及所述状态机挂起数量判断是否接收新的主机IO命令。
3.根据权利要求2所述的提升SSD服务质量的方法,其特征在于,所述SSD的上下文资源包括第一上下文资源和第二上下文资源,所述第一上下文资源用于管理可接收的主机IO命令数量,所述第二上下文资源用于管理IO命令拆分出的数据结构。
4.根据权利要求1所述的提升SSD服务质量的方法,其特征在于,第二上下文资源数量与第一上下文资源数量的比例为1:32。
5.根据权利要求1所述的提升SSD服务质量的方法,其特征在于,对SSD的状态机挂起数量进行统计,包括:
统计第二上下文资源使用数量,当第二上下文资源使用数量达到第二上下文资源数量时,如果SSD接收到新的主机IO命令,则SSD的状态机挂起数量加1,如果SSD处理完一个主机IO命令,则SSD的状态机挂起数量减1。
6.根据权利要求2所述的提升SSD服务质量的方法,其特征在于,所述根据所述上下文资源数量、所述上下文资源使用数量以及所述状态机挂起数量判断是否接收新的主机IO命令,包括:
若第一上下文资源使用数量达到第一上下文资源数量或状态机挂起数量达到预设阈值时,SSD停止接收新的主机IO命令。
7.一种提升SSD服务质量的装置,其特征在于,所述装置包括资源确定模块、资源统计模块、判断模块,其中:
所述资源确定模块,用于确定SSD的上下文资源数量,并利用令牌桶算法对所述上下文资源数量进行管理;
所述资源统计模块,用于接收并处理主机IO命令,并对SSD上下文资源使用数量进行统计;
所述判断模块,用于根据所述上下文资源数量以及所述上下文资源使用数量判断是否接收新的主机IO命令;
其中所述确定SSD的上下文资源数量,包括:
初始化第一上下文资源数量和第二上下文资源数量;
根据第一上下文资源初始数量以及第二上下文资源初始数量进行读写IOPS测试;
保持第一上下文资源数量不变以及不断增加第二上下文资源数量,并继续进行IOPS测试直至吞吐量不再增加;
将吞吐量最大所对应的最小第二上下文资源数量作为第二上下文资源数量;
根据所述第二上下文资源数量确定第一上下文资源数量。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202111301938.3A 2021-11-04 2021-11-04 提升ssd服务质量方法、装置、计算机设备和存储介质 Active CN113741991B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111301938.3A CN113741991B (zh) 2021-11-04 2021-11-04 提升ssd服务质量方法、装置、计算机设备和存储介质
PCT/CN2022/090021 WO2023077751A1 (zh) 2021-11-04 2022-04-28 提升ssd服务质量方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111301938.3A CN113741991B (zh) 2021-11-04 2021-11-04 提升ssd服务质量方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN113741991A CN113741991A (zh) 2021-12-03
CN113741991B true CN113741991B (zh) 2022-02-18

Family

ID=78727479

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111301938.3A Active CN113741991B (zh) 2021-11-04 2021-11-04 提升ssd服务质量方法、装置、计算机设备和存储介质

Country Status (2)

Country Link
CN (1) CN113741991B (zh)
WO (1) WO2023077751A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113741991B (zh) * 2021-11-04 2022-02-18 苏州浪潮智能科技有限公司 提升ssd服务质量方法、装置、计算机设备和存储介质
CN114296639B (zh) * 2021-12-10 2024-02-20 深圳大普微电子科技有限公司 命令处理方法及闪存设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105900061A (zh) * 2014-10-22 2016-08-24 华为技术有限公司 对象存储系统中的业务流控制方法、控制器和系统
CN109245772A (zh) * 2018-08-16 2019-01-18 郑州云海信息技术有限公司 一种压缩i/o数据的方法、系统、装置及可读存储介质
CN112306415A (zh) * 2020-11-02 2021-02-02 成都佰维存储科技有限公司 Gc流控方法、装置、计算机可读存储介质及电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8424014B2 (en) * 2009-02-27 2013-04-16 International Business Machines Corporation Method for pushing work request-associated contexts into an IO device
US10268419B1 (en) * 2017-04-27 2019-04-23 EMC IP Holding Company LLC Quality of service for storage system resources
CN113741991B (zh) * 2021-11-04 2022-02-18 苏州浪潮智能科技有限公司 提升ssd服务质量方法、装置、计算机设备和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105900061A (zh) * 2014-10-22 2016-08-24 华为技术有限公司 对象存储系统中的业务流控制方法、控制器和系统
CN109245772A (zh) * 2018-08-16 2019-01-18 郑州云海信息技术有限公司 一种压缩i/o数据的方法、系统、装置及可读存储介质
CN112306415A (zh) * 2020-11-02 2021-02-02 成都佰维存储科技有限公司 Gc流控方法、装置、计算机可读存储介质及电子设备

Also Published As

Publication number Publication date
WO2023077751A1 (zh) 2023-05-11
CN113741991A (zh) 2021-12-03

Similar Documents

Publication Publication Date Title
US11106579B2 (en) System and method to manage and share managed runtime memory for java virtual machine
US9465734B1 (en) Coalition based memory management
US20180173620A1 (en) Data erasure method for solid state drive, and apparatus
CN113741991B (zh) 提升ssd服务质量方法、装置、计算机设备和存储介质
JP6509895B2 (ja) デバイス固有又はユーザー固有のリソース使用プロファイルに基づくリソース管理
US20150067238A1 (en) Computing Device and Method for Predicting Low Memory Conditions
TWI574202B (zh) 用於新應用程式之記憶體管理模型與介面
KR20160132432A (ko) 멀티 프로세스 애플리케이션들을 위한 동적 자원 관리
US9858120B2 (en) Modifying memory space allocation for inactive tasks
CN110196681B (zh) 业务写操作的磁盘数据写入控制方法及装置、电子设备
CN114096953A (zh) 内存管理方法、装置、电子设备和计算机可读介质
CN114546590B (zh) Java虚拟机堆内存集合对象监测方法及内存溢出分析方法
Li et al. SEAL: User experience-aware two-level swap for mobile devices
CN108196937B (zh) 字符串对象的处理方法、装置、计算机设备和存储介质
US20200142736A1 (en) Computer processing system with resource optimization and associated methods
US9405470B2 (en) Data processing system and data processing method
CN115617515A (zh) 智能物联网操作系统的内存分配方法、装置和存储介质
CN116048377A (zh) 固态硬盘的数据处理方法及相关设备
US10788994B1 (en) Disaggregation of flash management
KR20230057084A (ko) 블록체인 리소스 최적화 방법 및 그 장치
CN115858150A (zh) 一种基于Openstack虚拟化的网络功能节能方法
CN116185631A (zh) 多核结构固态硬盘的负载均衡方法、装置、设备及介质
CN112965789A (zh) 一种虚拟机内存空间处理方法、装置、设备和介质
JP2019035996A (ja) 分散処理システム、分散処理方法、及び分散処理プログラム

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