WO2023077751A1 - 提升ssd服务质量方法、装置、计算机设备和存储介质 - Google Patents
提升ssd服务质量方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- WO2023077751A1 WO2023077751A1 PCT/CN2022/090021 CN2022090021W WO2023077751A1 WO 2023077751 A1 WO2023077751 A1 WO 2023077751A1 CN 2022090021 W CN2022090021 W CN 2022090021W WO 2023077751 A1 WO2023077751 A1 WO 2023077751A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- context
- ssd
- resource
- resources
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection 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/2221—Detection 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
Definitions
- the present application relates to the field of computer technology, and in particular to a method, device, computer equipment and storage medium for improving SSD service quality.
- the context is the environment when the process is executed, that is, various variables and data, such as: all register variables, files opened by the process, memory information, etc.
- the context can also be understood as a snapshot of the environment, an object used to save state.
- most functions in a program do not run independently, but need to interact with a part of other functions, and need the support of other external environment variables, and the context is used to assign values to the variables of the external environment, so that the function can normal operation.
- the process of processing IO requires operations such as updating and obtaining metadata, so this process is relatively complicated. In order to improve the performance of SSD, these operations need to be implemented concurrently.
- Operation and state machine management which requires context to record and manage each state machine, limited by hardware resources and capabilities, these context resources are limited, when dealing with different host IO workloads, there may be If the context resource cannot be obtained, the state machine will enter the suspended state, and the state machine in the suspended state will be processed. The cumulative effect of queuing will deteriorate the corresponding speed of the corresponding IO command, thereby affecting the QOS of the SSD.
- the present application provides a method for improving SSD service quality, the method comprising:
- the above method also includes counting the number of suspended state machines of the SSD, wherein judging whether to receive a new host IO command according to the number of context resources and the number of context resources used, including:
- the context resources of the SSD include a first context resource and a second context resource
- the first context resource is used to manage the number of host IO commands that can be received
- the second context resource is used to manage the IO command split out data structure.
- determining the quantity of context resources of the SSD includes:
- the ratio of the quantity of the second context resource to the quantity of the first context resource is 1:32.
- statistics are made on the number of suspended state machines of the SSD, including:
- judging whether to receive a new host IO command is based on the number of context resources, the number of context resources used, and the number of state machine suspensions, including:
- the SSD stops receiving new host IO commands.
- the present application also provides a device for improving SSD service quality, the device includes a resource determination module, a resource statistics module, and a judgment module, wherein:
- a resource determination module configured to determine the quantity of context resources of the SSD, and manage the quantity of context resources by using the token bucket algorithm
- the resource statistics module is used to receive and process host IO commands, and to make statistics on the usage of SSD context resources;
- a judging module configured to judge whether to receive a new host IO command according to the quantity of context resources and the quantity of context resources used.
- the present application also provides a computer device, including a memory and one or more processors, where computer-readable instructions are stored in the memory, and when the computer-readable instructions are executed by the one or more processors, the one or more or multiple processors execute the steps of the method for improving SSD service quality provided by any one of the above embodiments.
- the present application also provides one or more non-volatile computer-readable storage media storing computer-readable instructions that, when executed by one or more processors, cause the one or more The processor executes the steps of the method for improving SSD service quality provided by any one of the above embodiments.
- FIG. 1 is a schematic flow diagram of a method for improving SSD service quality provided by the present application according to one or more embodiments;
- FIG. 2 is a schematic flow diagram of a method for improving SSD service quality provided by the present application according to one or more embodiments;
- FIG. 3 is a structural block diagram of a device for improving SSD service quality provided by the present application according to one or more embodiments;
- Fig. 4 is an internal structure diagram of a computer device provided by the present application according to one or more embodiments.
- the token bucket algorithm When processing the SQ of the HOST host IO, the token bucket algorithm is used to manage the context resources inside the SSD. When the tokens in the bucket are insufficient or overused, new IO commands in the SQ are no longer received and processed.
- a method for improving the service quality of SSD is provided, and the method is applied to computer equipment as an example for illustration, including the following steps:
- Step S11 determining the quantity of context resources of the SSD, and using the token bucket algorithm to manage the quantity of context resources;
- the number of context resources that is, the capacity of the token bucket is determined according to the processing capability and concurrency of the backend nand flash.
- the context resource of the SSD includes a first context resource and a second context resource
- the first context resource is used to manage the number of host IO commands that can be received
- the second context resource is used to manage the data split by the IO command structure.
- X and Y represent two context resources.
- X is used to manage IO cmd commands
- Y is used to manage data structure resources split from IO commands.
- the 128K is managed by the X context. After the SSD receives the 128K, it will split the 128K into 32 4K (the internal data management unit of the SSD is 4K), and the 32 4K are managed by the Y context resource.
- determining the context resource quantity of SSD in step S11 includes:
- Step S111 initializing the first context resource quantity and the second context resource quantity
- Step S112 performing a read/write IOPS test according to the initial quantity of the first context resource and the initial quantity of the second context resource;
- Step S113 keep the number of the first context resource unchanged and continuously increase the number of the second context resource, and continue the IOPS test until the throughput no longer increases;
- Step S114 taking the smallest second context resource quantity corresponding to the maximum throughput as the second context resource quantity
- Step S115 determining the first context resource quantity according to the second context resource quantity.
- Y resources are based on FTL and back-end processing capabilities, assuming that the concurrency of the back-end processing capabilities is n, in order to allow IO commands to ping-pang and fill up the back-end bandwidth, the number of front-end context resources is 2n to 3n, which can be determined according to In the test situation, during the random read and write IOPS test, the number of context resources was continuously increased until the throughput no longer increased.
- the ratio of the quantity of the second context resource to the quantity of the first context resource is 1:32.
- the X resource and the Y resource are in a one-to-one relationship.
- Step S12 receiving and processing host IO commands, and counting the usage of SSD context resources
- Step S13 judging whether to receive a new host IO command according to the number of context resources and the number of context resources used.
- the SSD in response to the usage quantity of the first context resource reaching the first context resource quantity, the SSD stops receiving new host IO commands.
- the SSD stops receiving new host IO commands.
- step S3 further includes: counting the number of state machine suspensions of the SSD.
- Step S21 determining the quantity of context resources of the SSD, and using the token bucket algorithm to manage the quantity of context resources;
- step S21 the specific content related to step S21 is the same as that of step S11.
- Step S22 receiving and processing the host IO command, and counting the usage of SSD context resources
- step S22 the specific content related to step S22 is the same as that of step S12.
- Step S23 counting the number of suspended state machines of the SSD
- step S23 includes:
- Step S24 judging whether to receive a new host IO command according to the number of context resources, the number of context resources used, and the number of state machine suspensions.
- the SSD stops receiving new host IO commands.
- the number threshold is set according to the empirical value of the actual test, for example, 10.
- FIFO management means that the state machine that is suspended first is processed first to ensure the order.
- the QOS of the SSD is improved by means of the token bucket algorithm, which ensures a good user experience and enhances product competitiveness.
- a device for improving SSD service quality including: the device includes a resource determination module, a resource statistics module, and a judgment module:
- a resource determination module configured to determine the quantity of context resources of the SSD, and manage the quantity of context resources by using the token bucket algorithm
- the resource statistics module is used to receive and process host IO commands, and make statistics on the usage of SSD context resources;
- the context resources of the SSD include a first context resource and a second context resource
- the first context resource is used to manage the number of host IO commands that can be received
- the second context resource is used to manage the IO command split out data structure.
- a judging module configured to judge whether to receive a new host IO command according to the quantity of context resources and the quantity of context resources used.
- the resource statistics module is also used to count the number of suspended state machines of the SSD.
- the judging module is further configured to judge whether to receive a new host IO command according to the number of context resources, the number of context resources used, and the number of state machine suspensions.
- the resource determination module is used for:
- the ratio of the quantity of the second context resource to the quantity of the first context resource in the resource determination module is 1:32.
- the resource determination module is used for:
- the judging module is used to:
- the SSD stops receiving new host IO commands.
- Each module in the above-mentioned device for improving service quality of SSD can be fully or partially realized by software, hardware and combinations thereof.
- the above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, and can also be stored in the memory of the computer device in the form of software, so that the processor can invoke and execute the corresponding operations of the above-mentioned modules.
- a computer device is provided.
- the computer device may be a terminal, and its internal structure may be as shown in FIG. 4 .
- the computer device includes a processor, a memory, a network interface, a display screen and an input device connected through a system bus. Wherein, the processor of the computer device is used to provide calculation and control capabilities.
- the memory of the computer device includes a non-volatile storage medium and an internal memory.
- the non-volatile storage medium stores an operating system and computer readable instructions.
- the internal memory provides an environment for the execution of the operating system and computer readable instructions in the non-volatile storage medium.
- the network interface of the computer device is used to communicate with an external terminal via a network connection.
- the display screen of the computer device may be a liquid crystal display screen or an electronic ink display screen
- the input device of the computer device may be a touch layer covered on the display screen, or a button, a trackball or a touch pad provided on the casing of the computer device , and can also be an external keyboard, touchpad, or mouse.
- FIG. 4 is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation to the computer equipment on which the solution of the application is applied.
- the specific computer equipment can be More or fewer components than shown in the figures may be included, or some components may be combined, or have a different arrangement of components.
- the embodiment of the present application also provides a non-volatile computer-readable storage medium, the non-volatile computer-readable storage medium stores computer-readable instructions, and the computer-readable instruction computer program is executed by one or more processors During execution, the steps of the method for SSD quality of service provided by any one of the above embodiments can be realized.
- Nonvolatile memory can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
- Volatile memory can include random access memory (RAM) or external cache memory.
- RAM random access memory
- RAM is available in many forms such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDRSDRAM), Enhanced SDRAM (ESDRAM), Synchronous Chain Synchlink DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
Claims (9)
- 一种提升SSD服务质量的方法,其特征在于,包括:确定SSD的上下文资源数量,并利用令牌桶算法对所述上下文资源数量进行管理;接收并处理主机IO命令,并对SSD上下文资源使用数量进行统计;和根据所述上下文资源数量以及所述上下文资源使用数量判断是否接收新的主机IO命令。
- 根据权利要求1所述的提升SSD服务质量的方法,其特征在于,所述方法还包括对SSD的状态机挂起数量进行统计,其中所述根据所述上下文资源数量以及所述上下文资源使用数量判断是否接收新的主机IO命令,包括:根据所述上下文资源数量、所述上下文资源使用数量以及所述状态机挂起数量判断是否接收新的主机IO命令。
- 根据权利要求2所述的提升SSD服务质量的方法,其特征在于,所述SSD的上下文资源包括第一上下文资源和第二上下文资源,所述第一上下文资源用于管理可接收的主机IO命令数量,所述第二上下文资源用于管理IO命令拆分出的数据结构。
- 根据权利要求3所述的提升SSD服务质量的方法,其特征在于,所述确定SSD的上下文资源数量,包括:初始化第一上下文资源数量和第二上下文资源数量;根据第一上下文资源初始数量以及第二上下文资源初始数量进行读写IOPS测试;保持第一上下文资源数量不变以及不断增加第二上下文资源数量,并继续进行IOPS测试直至吞吐量不再增加;将吞吐量最大所对应的最小第二上下文资源数量作为第二上下文资源数量;和根据所述第二上下文资源数量确定第一上下文资源数量。
- 根据权利要求4所述的提升SSD服务质量的方法,其特征在于,第二上下文资源数量与第一上下文资源数量的比例为1:32。
- 根据权利要求4所述的提升SSD服务质量的方法,其特征在于,对SSD的状态机挂起数量进行统计,包括:统计第二上下文资源使用数量,当第二上下文资源使用数量达到第二上下文资源数量时,如果SSD接收到新的主机IO命令,则SSD的状态机挂起数量加1,如果SSD处理完一个主机IO命令,则SSD的状态机挂起数量减1。
- 根据权利要求4所述的提升SSD服务质量的方法,其特征在于,所述根据所述上 下文资源数量、所述上下文资源使用数量以及所述状态机挂起数量判断是否接收新的主机IO命令,包括:在第一上下文资源使用数量达到第一上下文资源数量或状态机挂起数量达到预设阈值时,SSD停止接收新的主机IO命令。
- 一种提升SSD服务质量的装置,其特征在于,所述装置包括资源确定模块、资源统计模块、判断模块,其中:所述资源确定模块,用于确定SSD的上下文资源数量,并利用令牌桶算法对所述上下文资源数量进行管理;所述资源统计模块,用于接收并处理主机IO命令,并对SSD上下文资源使用数量进行统计;和所述判断模块,用于根据所述上下文资源数量以及所述上下文资源使用数量判断是否接收新的主机IO命令。
- 一种计算机设备,其特征在于,包括存储器及一个或多个处理器,所述存储器中储存有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-7任意一项所述的方法的步骤。10.一个或多个存储有计算机可读指令的非易失性计算机可读存储介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1-7任意一项所述的方法的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/567,276 US12373317B2 (en) | 2021-11-04 | 2022-04-28 | Method and apparatus for improving quality of service of SSD, and computer device and storage medium |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202111301938.3A CN113741991B (zh) | 2021-11-04 | 2021-11-04 | 提升ssd服务质量方法、装置、计算机设备和存储介质 |
| CN202111301938.3 | 2021-11-04 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2023077751A1 true WO2023077751A1 (zh) | 2023-05-11 |
Family
ID=78727479
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2022/090021 Ceased WO2023077751A1 (zh) | 2021-11-04 | 2022-04-28 | 提升ssd服务质量方法、装置、计算机设备和存储介质 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US12373317B2 (zh) |
| CN (1) | CN113741991B (zh) |
| WO (1) | WO2023077751A1 (zh) |
Families Citing this family (3)
| 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 | 深圳大普微电子科技有限公司 | 命令处理方法及闪存设备 |
| CN119960694B (zh) * | 2025-01-14 | 2026-01-02 | 成都芯忆联信息技术有限公司 | 固态硬盘的多命名空间流量控制方法、设备及存储介质 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100223624A1 (en) * | 2009-02-27 | 2010-09-02 | International Business Machines Corporation | Method for pushing work request-associated contexts into an io device |
| CN105900061A (zh) * | 2014-10-22 | 2016-08-24 | 华为技术有限公司 | 对象存储系统中的业务流控制方法、控制器和系统 |
| US10268419B1 (en) * | 2017-04-27 | 2019-04-23 | EMC IP Holding Company LLC | Quality of service for storage system resources |
| CN112306415A (zh) * | 2020-11-02 | 2021-02-02 | 成都佰维存储科技有限公司 | Gc流控方法、装置、计算机可读存储介质及电子设备 |
| CN113741991A (zh) * | 2021-11-04 | 2021-12-03 | 苏州浪潮智能科技有限公司 | 提升ssd服务质量方法、装置、计算机设备和存储介质 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7254813B2 (en) * | 2002-03-21 | 2007-08-07 | Network Appliance, Inc. | Method and apparatus for resource allocation in a raid system |
| US9329964B2 (en) * | 2014-06-20 | 2016-05-03 | Dell International L.L.C. | Shaping I/O traffic by managing queue depth in fractional increments |
| CN109245772A (zh) * | 2018-08-16 | 2019-01-18 | 郑州云海信息技术有限公司 | 一种压缩i/o数据的方法、系统、装置及可读存储介质 |
| US11775186B1 (en) * | 2021-08-04 | 2023-10-03 | Amazon Technologies, Inc. | Dynamic usage-metric-based configuration of storage volumes |
-
2021
- 2021-11-04 CN CN202111301938.3A patent/CN113741991B/zh active Active
-
2022
- 2022-04-28 WO PCT/CN2022/090021 patent/WO2023077751A1/zh not_active Ceased
- 2022-04-28 US US18/567,276 patent/US12373317B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100223624A1 (en) * | 2009-02-27 | 2010-09-02 | International Business Machines Corporation | Method for pushing work request-associated contexts into an io device |
| CN105900061A (zh) * | 2014-10-22 | 2016-08-24 | 华为技术有限公司 | 对象存储系统中的业务流控制方法、控制器和系统 |
| US10268419B1 (en) * | 2017-04-27 | 2019-04-23 | EMC IP Holding Company LLC | Quality of service for storage system resources |
| CN112306415A (zh) * | 2020-11-02 | 2021-02-02 | 成都佰维存储科技有限公司 | Gc流控方法、装置、计算机可读存储介质及电子设备 |
| CN113741991A (zh) * | 2021-11-04 | 2021-12-03 | 苏州浪潮智能科技有限公司 | 提升ssd服务质量方法、装置、计算机设备和存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| US12373317B2 (en) | 2025-07-29 |
| CN113741991A (zh) | 2021-12-03 |
| US20240272998A1 (en) | 2024-08-15 |
| CN113741991B (zh) | 2022-02-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12578864B2 (en) | Optimized I/O performance regulation for non-volatile storage | |
| WO2023077751A1 (zh) | 提升ssd服务质量方法、装置、计算机设备和存储介质 | |
| US10949103B2 (en) | Native storage quality of service for virtual machines | |
| US9465734B1 (en) | Coalition based memory management | |
| US9286199B2 (en) | Modifying memory space allocation for inactive tasks | |
| CN114830098B (zh) | 考虑耗损均衡的存储器操作 | |
| CN109840047A (zh) | 一种降低读延时的方法及装置 | |
| CN114328281A (zh) | 固态硬盘异常掉电处理方法、装置、电子设备及介质 | |
| US11256621B2 (en) | Dual controller cache optimization in a deterministic data storage system | |
| CN107402863B (zh) | 一种用于通过日志系统处理业务系统的日志的方法与设备 | |
| US10210035B2 (en) | Computer system and memory dump method | |
| US12360814B2 (en) | Computing resource management method, electronic equipment and program product | |
| TW202538525A (zh) | 儲存系統的運作方法、儲存裝置及非暫態儲存媒體 | |
| CN116185631A (zh) | 多核结构固态硬盘的负载均衡方法、装置、设备及介质 | |
| CN116048377A (zh) | 固态硬盘的数据处理方法及相关设备 | |
| CN114595063A (zh) | 确定数据的访问频繁程度的方法及装置 | |
| CN114185682A (zh) | 日志输出方法、装置、电子设备及存储介质 | |
| US10788994B1 (en) | Disaggregation of flash management | |
| CN119226108B (zh) | 数据操作性能统计方法、装置、设备及可读存储介质 | |
| CN121070287B (zh) | NVMe固态硬盘的调度方法、装置、数据处理器和设备 | |
| US20260065411A1 (en) | Adaptive memory management system for efficient training of large language models | |
| CN115794367A (zh) | 计算引擎及其运行方法、介质和系统 | |
| CN114641024A (zh) | 确定网络功能网元的资源使用率的方法和装置 | |
| CN120704593A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
| KR20230102877A (ko) | 다수의 ssd로 구성된 논리적 볼륨의 효율적인 입출력 자원 분배를 위한 블록 재배치 가능한 ssd 장치 및 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22888790 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 18567276 Country of ref document: US |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 22888790 Country of ref document: EP Kind code of ref document: A1 |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 22888790 Country of ref document: EP Kind code of ref document: A1 |
|
| 32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 27/11/2024) |
|
| WWG | Wipo information: grant in national office |
Ref document number: 18567276 Country of ref document: US |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 22888790 Country of ref document: EP Kind code of ref document: A1 |