CN113821175A - SSD instruction scheduling method and system based on storage content priority - Google Patents

SSD instruction scheduling method and system based on storage content priority Download PDF

Info

Publication number
CN113821175A
CN113821175A CN202111136497.6A CN202111136497A CN113821175A CN 113821175 A CN113821175 A CN 113821175A CN 202111136497 A CN202111136497 A CN 202111136497A CN 113821175 A CN113821175 A CN 113821175A
Authority
CN
China
Prior art keywords
queue
data
command
data read
write
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
Application number
CN202111136497.6A
Other languages
Chinese (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.)
Shandong Sinochip Semiconductors Co Ltd
Original Assignee
Shandong Sinochip Semiconductors 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 Shandong Sinochip Semiconductors Co Ltd filed Critical Shandong Sinochip Semiconductors Co Ltd
Priority to CN202111136497.6A priority Critical patent/CN113821175A/en
Publication of CN113821175A publication Critical patent/CN113821175A/en
Pending legal-status Critical Current

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/061Improving I/O performance
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention discloses an SSD instruction scheduling method and system based on storage content priority, aiming at a large amount of data read-write commands issued to an SSD by a server host, when a data queue is constructed, the identification and priority factor of operated data are increased; when the priority factor is started, the data read-write command sent by the server host to the SSD solid state disk comprises a data identifier and the priority factor, the priority factor is added in a management command sent to the SSD solid state disk, the management command is placed at the head of a management queue, the management command with the priority factor is preferentially delivered to the microprocessor to be executed in the next cycle through the scheduling of the command queue control module, and the microprocessor starts the command queue control module based on the priority factor according to the latest management command and starts polling the data queue. The invention can adapt to the application environment with large capacity, high concurrency and multi-cross read-write access.

Description

SSD instruction scheduling method and system based on storage content priority
Technical Field
The invention belongs to the field of solid-state storage, in particular to instruction scheduling of solid-state storage, and particularly relates to a storage content priority-based ssd instruction scheduling method and system.
Background
The data storage scale in a large-scale data center is rapidly increased, the data processing performance is rapidly improved, the traditional HDD mechanical disk adopting the SATA interface and the AHCI storage protocol exposes a bottleneck in the aspects of reading and writing bandwidth and concurrency IOPS, and the high-concurrency and high-bandwidth data reading and writing application of a novel data center cannot be met. The SSD solid state disk is used as a substitute of a traditional HDD mechanical disk, adopts an updated storage medium, a brand new host interface and a storage protocol, and has a better storage effect.
In a standard SSD solid state disk, in order to fully exert the concurrent read-write performance of a server host multi-core processor, a PCIe host interface in the SSD solid state disk and a NAND Flash memory medium and ensure the data consistency in the concurrent data writing process, a concurrent multi-queue mechanism of data read-write commands is designed. Each read-write command queue can correspond to a single CPU core of the server host and is used for transmitting data read-write commands between the SSD solid-state disk and the server host, and in the server host configured with a plurality of CPU cores, a plurality of read-write command queues can be arranged in the SSD solid-state disk, so that each host core can access the solid-state disk, and the plurality of read-write queues can be executed in parallel. The mode of setting the plurality of parallel read-write command queues ensures the concurrent read-write of the multi-core processor of the server host, the PCIe host interface of the SSD solid-state disk and the multi-NAND Flash storage medium, and greatly improves the parallel read-write bandwidth.
In a novel data center, the number of concurrent accesses to be processed by a server host is continuously increased, and the data volume to be read and written gradually rises to GB-level hundreds of GB. When tens of GB-hundreds of GB and tens of thousands of concurrent data are continuously written into and read from the SSD solid state disk, the total amount of the latest written data is close to the vacant space of the SSD solid state disk quickly, and at the moment, the solid state disk needs to activate garbage recycling action to release the vacant space for subsequent data. In order to ensure the consistency state of data reading and writing, the speed of processing a reading and writing command queue by the SSD solid state disk is reduced, and at the moment, a server host still issues a large number of data reading and writing commands and puts the large number of reading and writing commands into the data reading and writing queue to wait.
Because NAND Flash is a nonvolatile storage medium and has a high probability of bit inversion and bit errors, a large amount of redundant error correction operations need to be performed for each data read/write operation, and the probability of errors is high when a large amount of data is continuously written. Under the condition, the SSD solid-state disk needs to firstly ensure the data consistency, the processing speed of the existing data read-write queue is reduced, the read-write operation in the data read-write queue can only wait, and the waiting time length completely depends on the processing speed of the microkernel and the number of read-write instructions in the data read-write queue. Under a normal condition, the waiting state of data read-write operation in the SSD solid state disk is further negatively fed back to the host application, which increases the waiting time, and this causes massive access to contend for limited resources, resulting in that all operations fall into a long mutual waiting state.
As can be seen from the above description, in a large-scale, high-concurrency, multi-cross access application for the same data, once the high-performance and large-capacity SSD solid state disk enters a "busy" state, the host application can only wait for the "slow execution" of the read/write command in the queue to obtain the final state of the accessed data, and cannot accelerate or adjust the priority, which exposes the defects of the SSD solid state disk in the design of the multi-concurrency queue.
Disclosure of Invention
Aiming at the defects of the prior art, the invention designs an SSD instruction scheduling method and system based on storage content priority, designs a read-write command queue which is oriented to the storage content and can adjust the priority, and can adapt to the application environment with large capacity, high concurrency and multi-cross read-write access.
In order to solve the technical problem, the technical scheme adopted by the invention is as follows: the method is based on the SSD instruction scheduling method with the prior storage content, and aims at a large amount of data read-write commands issued by a server host to an SSD solid-state disk, and increases the identification and priority factor of the operated data when a data queue is constructed; when the priority factor is not started, the data read-write command sent to the SSD solid state disk by the server host is queued according to a first-in first-out mode, and the command queue control module polls and takes out the management command and the data read-write command from each queue and delivers the management command and the data read-write command to the microprocessor for execution; when the priority factor is started, the data read-write command sent by the server host to the SSD solid state disk comprises a data identifier and the priority factor, the data read-write command is inserted into the tail of the data queue according to a first-in first-out mode, the priority factor is added in the management command sent to the SSD solid state disk, the management command is placed at the head of the management queue, the management command with the priority factor is preferentially delivered to the microprocessor to be executed in the next cycle through the scheduling of the command queue control module, and the microprocessor starts the command queue control module based on the priority factor according to the latest management command and starts polling the data queue.
Further, the microprocessor starts a command queue control module based on the priority factor according to the latest management command, and starts a process of polling the data queue as follows:
A. traversing the data queue, and taking out the data read-write command with high priority from the queue;
B. traversing all the data read-write commands of the queue where the data read-write commands taken out in the step A are located one by one, taking out all the data read-write commands with the same data identification as the data read-write commands one by one, and forming a temporary data queue with the data read-write commands taken out in the step A;
C. arranging the sequence of the data read-write commands in the temporary data queue according to the sequence of the data read-write commands in the original queue, and setting the priority of each data read-write command to be the same as the priority of the last command;
D. and inserting the constructed temporary queue into the head of the original data queue to form a new data queue.
Furthermore, in the subsequent execution cycle of the microprocessor, the data queue with the priority is scheduled preferentially, and the data read-write command with the priority is completed preferentially.
The invention also discloses an SSD instruction scheduling system based on storage content priority, which comprises a management queue, a data queue, a command queue control module and a microcontroller, wherein only one management queue is arranged in the SSD solid-state disk and used for storing all management commands, the number of the data queue is generated according to the concurrent read-write requirements of a server host, the management queue and the data queue are respectively connected with the command queue control module, the command queue control module is used for maintaining the management command queue and the data read-write command queue generated in the running process of the SSD solid-state disk, and the microcontroller is connected with the command queue control module and is responsible for controlling and executing all management commands and controlling and executing all data read-write commands in the SSD solid-state disk, and the SSD instruction scheduling system is characterized in that: the system adds a priority polling processing mechanism in a command queue control module, and adds an identifier and a priority factor of operated data in a data read-write command; when the priority factor is not started, the data read-write command sent to the SSD solid state disk by the server host is queued according to a first-in first-out mode, and the command queue control module polls and takes out the management command and the data read-write command from each queue and delivers the management command and the data read-write command to the microprocessor for execution; when the priority factor is started, the data read-write command sent by the server host to the SSD solid state disk comprises a data identifier and the priority factor, the data read-write command is inserted into the tail of the data queue according to a first-in first-out mode, the priority factor is added in the management command sent to the SSD solid state disk, the management command is placed at the head of the management queue, the management command with the priority factor is preferentially delivered to the microprocessor to be executed in the next cycle through the scheduling of the command queue control module, and the microprocessor starts the command queue control module based on the priority factor according to the latest management command and starts polling the data queue.
Further, the microprocessor starts a command queue control module based on the priority factor according to the latest management command, and starts a process of polling the data queue as follows:
A. traversing the data queue, and taking out the data read-write command with high priority from the queue;
B. traversing all the data read-write commands of the queue where the data read-write commands taken out in the step A are located one by one, taking out all the data read-write commands with the same data identification as the data read-write commands one by one, and forming a temporary data queue with the data read-write commands taken out in the step A;
C. arranging the sequence of the data read-write commands in the temporary data queue according to the sequence of the data read-write commands in the original queue, and setting the priority of each data read-write command to be the same as the priority of the last command;
D. and inserting the constructed temporary queue into the head of the original data queue to form a new data queue.
Furthermore, in the subsequent execution cycle of the microprocessor, the data queue with the priority is scheduled preferentially, and the data read-write command with the priority is completed preferentially.
The invention has the beneficial effects that:
the data read-write command priority queue based on the data identification has the advantages that when the priority factor is not enabled, the executed queue building process and the data command queue composition are the same as those of the standard data read-write command and queue, and the method is suitable for the use scene of the standard SSD solid-state disk;
after the priority factor is enabled, the constructed management command comprises a priority field, and the data read-write command comprises a data identification field and a priority factor field. The command queue control module can execute the data read-write command according to the priority in the data read-write command in turn, and can preferentially execute the data read-write command with high priority, so that the data read-write efficiency of the high-priority application is ensured.
In the process of reconstructing the queue, the same priority is set for the data read-write commands with the same data identification, the original sequence is kept, and the data consistency of a plurality of read-write commands aiming at the same data after being merged and executed is ensured.
The data read-write queue priority mode based on the data identification ensures that high-priority application data can complete read-write operation preferentially in a busy state of the SSD solid-state disk, and further prolongs the waiting time for low-priority application to complete read-write operation.
Drawings
FIG. 1 is a schematic diagram of a command queue of a conventional SSD solid-state disk;
FIG. 2 is a schematic diagram of an SSD solid state disk command queue for configuration data identification and priority;
FIG. 3 is a diagram illustrating a normal command queue execution order and a priority-based command queue execution order.
Detailed Description
The invention is further described with reference to the following figures and specific embodiments.
Example 1
Fig. 1 is a schematic diagram of a command queue of an existing SSD solid state disk, including a management queue, a data queue, a command queue control module, and a microcontroller, where only one management queue is in the SSD solid state disk and is used to store all management commands, the number of data queues is generated (4) according to concurrent read-write needs of a server host, the management queue and the data queue are respectively connected to the command queue control module, the command queue control module is used to maintain the management command queue and the data read-write command queue generated during the operation of the SSD solid state disk, and the microcontroller is connected to the command queue control module and is responsible for controlling and executing all management commands and controlling and executing all data read-write commands in the SSD solid state disk. The mode ensures that each host kernel can access the solid state disk, and a plurality of read-write queues can be executed in parallel. The mode of setting the plurality of parallel read-write command queues ensures the concurrent read-write of the multi-core processor of the server host, the PCIe host interface of the SSD solid-state disk and the multi-NAND Flash storage medium, and greatly improves the parallel read-write bandwidth. However, in a novel data center, the number of concurrent accesses to be processed by a server host is continuously increased, and the waiting time of the existing SSD solid state disk scheduling mode is increased, so that a large amount of accesses compete for limited resources, and all operations are trapped in a long mutual waiting state.
To this end, the present embodiment discloses an SSD instruction scheduling system based on storage content priority, as shown in fig. 2, the system adds a priority polling processing mechanism in the existing command queue control module, and adds an identifier and a priority factor of operated data in a data read/write command; when the priority factor is not started, the data read-write command sent to the SSD solid state disk by the server host is queued according to a first-in first-out mode, and the command queue control module polls and takes out the management command and the data read-write command from each queue and delivers the management command and the data read-write command to the microprocessor for execution; when the priority factor is started, the data read-write command sent by the server host to the SSD solid state disk comprises a data identifier and the priority factor, the data read-write command is inserted into the tail of the data queue according to a first-in first-out mode, the priority factor is added in the management command sent to the SSD solid state disk, the management command is placed at the head of the management queue, the management command with the priority factor is preferentially delivered to the microprocessor to be executed in the next cycle through the scheduling of the command queue control module, and the microprocessor starts the command queue control module based on the priority factor according to the latest management command and starts polling the data queue.
As shown in fig. 3, the process of starting the command queue control module based on the priority factor and starting polling the data queue by the microprocessor according to the latest management command is as follows:
A. traversing the data queue, and taking out the data read-write command with high priority from the queue;
B. traversing all the data read-write commands of the queue where the data read-write commands taken out in the step A are located one by one, taking out all the data read-write commands with the same data identification as the data read-write commands one by one, and forming a temporary data queue with the data read-write commands taken out in the step A;
C. arranging the sequence of the data read-write commands in the temporary data queue according to the sequence of the data read-write commands in the original queue, and setting the priority of each data read-write command to be the same as the priority of the last command;
E. and inserting the constructed temporary queue into the head of the original data queue to form a new data queue.
In the subsequent execution period of the microprocessor, the data queue with the priority is scheduled preferentially, and the data read-write command with the priority is completed preferentially.
Example 2
The embodiment discloses an SSD instruction scheduling method based on storage content priority, aiming at a large amount of data read-write commands issued to an SSD solid-state disk by a server host, the method increases the identification and priority factor of operated data when a data queue is constructed; when the priority factor is not started, the data read-write command sent to the SSD solid state disk by the server host is queued according to a first-in first-out mode, and the command queue control module polls and takes out the management command and the data read-write command from each queue and delivers the management command and the data read-write command to the microprocessor for execution; when the priority factor is started, the data read-write command sent by the server host to the SSD solid state disk comprises a data identifier and the priority factor, the data read-write command is inserted into the tail of the data queue according to a first-in first-out mode, the priority factor is added in the management command sent to the SSD solid state disk, the management command is placed at the head of the management queue, the management command with the priority factor is preferentially delivered to the microprocessor to be executed in the next cycle through the scheduling of the command queue control module, and the microprocessor starts the command queue control module based on the priority factor according to the latest management command and starts polling the data queue.
The microprocessor starts a command queue control module based on the priority factor according to the latest management command, and starts the process of polling the data queue as follows:
A. traversing the data queue, and taking out the data read-write command with high priority from the queue;
B. traversing all the data read-write commands of the queue where the data read-write commands taken out in the step A are located one by one, taking out all the data read-write commands with the same data identification as the data read-write commands one by one, and forming a temporary data queue with the data read-write commands taken out in the step A;
C. arranging the sequence of the data read-write commands in the temporary data queue according to the sequence of the data read-write commands in the original queue, and setting the priority of each data read-write command to be the same as the priority of the last command;
E. and inserting the constructed temporary queue into the head of the original data queue to form a new data queue.
In the subsequent execution period of the microprocessor, the data queue with the priority is scheduled preferentially, and the data read-write command with the priority is completed preferentially.
In summary, in the present invention, for a large number of data read/write commands issued by a server host to an SSD solid state disk, when a read/write command queue is constructed, an identifier (data ID) and a priority factor (Pri) of operated data are added. When the command queue is executed, a plurality of commands with the same data identification are taken out from the queue to complete merging, early or late execution, and the final consistent storage state of corresponding data is obtained. The design mode can more accurately control the read-write command in the solid-state disk, and is particularly suitable for the read-write control of high-capacity SSD solid-state disk data in a high-concurrency and multi-cross application environment.
Through the round training scheduling process, the data read-write commands with priorities in all the data read-write command queues can be executed preferentially.
In the command queue designed by the invention, each read-write command contains an identifier (data ID) of the operated data, and a plurality of commands with the same data identifier are taken out from the queue to complete merging, early or late execution, so that the final consistent storage state of the corresponding data is obtained; and continuously executing the read-write commands staying in the original queue according to the sequence in the queue.
The read-write command queue management mode which aims at the storage content and can adjust the priority can adapt to the application environment with large capacity, high concurrency and multi-cross read-write access, can provide high-priority data read-write operation for high-priority application, and provides low-priority data read-write operation for low-priority application. In the SSD solid state disk application environment of the server, aiming at the read-write command issued by the server host, the invention can adjust the read-write priority aiming at a certain appointed storage data, and can combine and execute a plurality of read-write commands of the appointed data, thereby realizing more accurate control of the read-write command in the disk, and being particularly suitable for accurate scheduling of data read-write in a large-capacity SSD solid state disk in a high-concurrency and multi-cross application environment.
The foregoing description is only for the basic principle and the preferred embodiments of the present invention, and modifications and substitutions by those skilled in the art are included in the scope of the present invention.

Claims (6)

1. The SSD instruction scheduling method based on the priority of the storage content is characterized in that: the method aims at a large amount of data read-write commands issued by a server host to the SSD solid state disk, and increases the identification and priority factor of the operated data when a data queue is constructed; when the priority factor is not started, the data read-write command sent to the SSD solid state disk by the server host is queued according to a first-in first-out mode, and the command queue control module polls and takes out the management command and the data read-write command from each queue and delivers the management command and the data read-write command to the microprocessor for execution; when the priority factor is started, the data read-write command sent by the server host to the SSD solid state disk comprises a data identifier and the priority factor, the data read-write command is inserted into the tail of the data queue according to a first-in first-out mode, the priority factor is added in the management command sent to the SSD solid state disk, the management command is placed at the head of the management queue, the management command with the priority factor is preferentially delivered to the microprocessor to be executed in the next cycle through the scheduling of the command queue control module, and the microprocessor starts the command queue control module based on the priority factor according to the latest management command and starts polling the data queue.
2. The SSD instruction scheduling method based on storage content precedence according to claim 1, wherein: the microprocessor starts a command queue control module based on the priority factor according to the latest management command, and starts the process of polling the data queue as follows:
A. traversing the data queue, and taking out the data read-write command with high priority from the queue;
B. traversing all the data read-write commands of the queue where the data read-write commands taken out in the step A are located one by one, taking out all the data read-write commands with the same data identification as the data read-write commands one by one, and forming a temporary data queue with the data read-write commands taken out in the step A;
C. arranging the sequence of the data read-write commands in the temporary data queue according to the sequence of the data read-write commands in the original queue, and setting the priority of each data read-write command to be the same as the priority of the last command;
D. and inserting the constructed temporary queue into the head of the original data queue to form a new data queue.
3. The SSD instruction scheduling method based on storage content precedence according to claim 1, wherein: in the subsequent execution period of the microprocessor, the data queue with the priority is scheduled preferentially, and the data read-write command with the priority is completed preferentially.
4. The SSD instruction scheduling system based on storage content priority comprises a management queue, a data queue, a command queue control module and a microcontroller, wherein only one management queue is arranged in an SSD solid-state disk and used for storing all management commands, the number of the data queues is generated according to concurrent read-write requirements of a server host, the management queue and the data queue are respectively connected with the command queue control module, the command queue control module is used for maintaining the management command queue and the data read-write command queue generated in the running process of the SSD solid-state disk, and the microcontroller is connected with the command queue control module and is responsible for controlling and executing all the management commands and all the data read-write commands in the SSD solid-state disk, and the SSD instruction scheduling system is characterized in that: the system adds a priority polling processing mechanism in a command queue control module, and adds an identifier and a priority factor of operated data in a data read-write command; when the priority factor is not started, the data read-write command sent to the SSD solid state disk by the server host is queued according to a first-in first-out mode, and the command queue control module polls and takes out the management command and the data read-write command from each queue and delivers the management command and the data read-write command to the microprocessor for execution; when the priority factor is started, the data read-write command sent by the server host to the SSD solid state disk comprises a data identifier and the priority factor, the data read-write command is inserted into the tail of the data queue according to a first-in first-out mode, the priority factor is added in the management command sent to the SSD solid state disk, the management command is placed at the head of the management queue, the management command with the priority factor is preferentially delivered to the microprocessor to be executed in the next cycle through the scheduling of the command queue control module, and the microprocessor starts the command queue control module based on the priority factor according to the latest management command and starts polling the data queue.
5. The system according to claim 4, wherein the SSD instruction scheduling system based on storage content precedence is characterized in that: the microprocessor starts a command queue control module based on the priority factor according to the latest management command, and starts the process of polling the data queue as follows:
A. traversing the data queue, and taking out the data read-write command with high priority from the queue;
B. traversing all the data read-write commands of the queue where the data read-write commands taken out in the step A are located one by one, taking out all the data read-write commands with the same data identification as the data read-write commands one by one, and forming a temporary data queue with the data read-write commands taken out in the step A;
C. arranging the sequence of the data read-write commands in the temporary data queue according to the sequence of the data read-write commands in the original queue, and setting the priority of each data read-write command to be the same as the priority of the last command;
D. and inserting the constructed temporary queue into the head of the original data queue to form a new data queue.
6. The system according to claim 4, wherein the SSD instruction scheduling system based on storage content precedence is characterized in that: in the subsequent execution period of the microprocessor, the data queue with the priority is scheduled preferentially, and the data read-write command with the priority is completed preferentially.
CN202111136497.6A 2021-09-27 2021-09-27 SSD instruction scheduling method and system based on storage content priority Pending CN113821175A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111136497.6A CN113821175A (en) 2021-09-27 2021-09-27 SSD instruction scheduling method and system based on storage content priority

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111136497.6A CN113821175A (en) 2021-09-27 2021-09-27 SSD instruction scheduling method and system based on storage content priority

Publications (1)

Publication Number Publication Date
CN113821175A true CN113821175A (en) 2021-12-21

Family

ID=78915649

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111136497.6A Pending CN113821175A (en) 2021-09-27 2021-09-27 SSD instruction scheduling method and system based on storage content priority

Country Status (1)

Country Link
CN (1) CN113821175A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116302105A (en) * 2023-03-17 2023-06-23 平头哥(上海)半导体技术有限公司 Access instruction scheduling method, system, hard disk, controller, storage medium and program product

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116302105A (en) * 2023-03-17 2023-06-23 平头哥(上海)半导体技术有限公司 Access instruction scheduling method, system, hard disk, controller, storage medium and program product
CN116302105B (en) * 2023-03-17 2024-03-12 平头哥(上海)半导体技术有限公司 Access instruction scheduling method, system, hard disk, controller, storage medium and program product

Similar Documents

Publication Publication Date Title
JP6134453B2 (en) Command queuing
WO2018103685A1 (en) Operation instruction scheduling method and apparatus for nand flash memory device
US8832333B2 (en) Memory system and data transfer method
US9460763B2 (en) Holding by a memory controller multiple central processing unit memory access requests, and performing the multiple central processing unit memory request in one transfer cycle
US8996794B2 (en) Flash memory controller
US11726704B2 (en) Buffer optimization for solid-state drives
CN113168374A (en) Write command retention in partition namespaces
US11307801B2 (en) Method, apparatus, device and storage medium for processing access request
US11429315B1 (en) Flash queue status polling
CN113821175A (en) SSD instruction scheduling method and system based on storage content priority
CN111432899A (en) System and method for managing multi-core access to shared ports
KR102366512B1 (en) logical block addressing range collision crawler
CN114138200A (en) Pre-writing log method and system based on rocksDB
CN113688099A (en) Database storage engine acceleration method and system based on SPDK
CN108762682B (en) Thread model
CN111831227A (en) NVME protocol command acceleration processing system
CN112711442A (en) Host command writing method, device and system and readable storage medium
CN110659122A (en) SSD interruption implementation method and device
US11726713B2 (en) Systems and methods for priority command data fetching management
CN116820333B (en) SSDRAID-5 continuous writing method based on multithreading
CN112306927A (en) IO request processing method, device and system
TWI822517B (en) Method and computer program product and apparatus for executing host write commands
TW201721439A (en) Methods for scheduling read and write commands and apparatuses using the same
CN117331492A (en) Command processing method, device, equipment and readable storage medium

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