CN116755623A - Method and device for improving sequential reading performance of solid state disk and computer equipment - Google Patents

Method and device for improving sequential reading performance of solid state disk and computer equipment Download PDF

Info

Publication number
CN116755623A
CN116755623A CN202310729083.7A CN202310729083A CN116755623A CN 116755623 A CN116755623 A CN 116755623A CN 202310729083 A CN202310729083 A CN 202310729083A CN 116755623 A CN116755623 A CN 116755623A
Authority
CN
China
Prior art keywords
information
ppa
command
read
cache
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
CN202310729083.7A
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.)
Suzhou Yilian Information System Co Ltd
Original Assignee
Suzhou Yilian Information System Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Yilian Information System Co Ltd filed Critical Suzhou Yilian Information System Co Ltd
Priority to CN202310729083.7A priority Critical patent/CN116755623A/en
Publication of CN116755623A publication Critical patent/CN116755623A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • 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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The application relates to a method, a device, computer equipment and a storage medium for improving the sequential reading performance of a solid state disk, wherein the method comprises the following steps: acquiring a read command issued by a host, configuring a hardware descriptor for the read command, and filling in the gppa information of the read command; judging whether the next command is a read command or not; setting next_ppa of the current read operation descriptor to a value of ppa of the next read command if the next command is a read command, and setting next_ppa to be invalid if there is no next read command or the next command is not a read command; submitting the current read operation descriptor command to NFC hardware for execution; and when the NFC hardware executes the read operation, judging whether to execute the flash memory cache read command sequence or end according to the ppa information in the descriptor and the internally recorded ppa information. The application optimizes the software processing flow, thereby effectively improving the reading performance.

Description

Method and device for improving sequential reading performance of solid state disk and computer equipment
Technical Field
The present application relates to the field of solid state hard drives, and in particular, to a method and apparatus for improving sequential reading performance of a solid state hard disk, a computer device, and a storage medium.
Background
SSDs (solid state drives) have been widely used in a variety of applications, and at present in the PC market, have gradually replaced traditional HDDs (mechanical hard drives), providing users with a better experience in terms of reliability and performance.
In the conventional technology, after receiving a read command, the SSD backend software determines a current read operation scenario according to the read command that has been processed, and for a read operation conforming to the flash cache, a flash pre-load command and a data transfer command need to be issued respectively, and a corresponding hardware descriptor is configured and submitted to hardware for execution. For the scene of finishing the flash memory cache read operation, the command of finishing the flash memory cache read operation needs to be issued first, the corresponding hardware descriptor is configured and submitted to the hardware for execution, and then the hardware descriptor of the normal read operation is issued and configured. In this way, for each command software, the corresponding hardware descriptor needs to be configured, then the hardware descriptor is submitted to the NFC hardware for execution, and after the NFC hardware completes execution, the descriptor resources are recovered one by one. Obviously, since the software is required to configure the hardware descriptor, a great deal of time is consumed, and corresponding software resources are recycled, the software processing time is also increased, and the reading performance of the solid state disk is further reduced.
Disclosure of Invention
Based on this, it is necessary to provide a method, a device, a computer device and a storage medium for improving sequential reading performance of a solid state disk in order to solve the above technical problems.
A method for improving sequential reading performance of a solid state disk comprises the following steps:
acquiring a read command issued by a host, configuring a hardware descriptor for the read command, and filling in the gppa information of the read command;
judging whether the next command is a read command or not;
setting next_ppa of the current read operation descriptor to a value of ppa of the next read command if the next command is a read command, and setting next_ppa to be invalid if there is no next read command or the next command is not a read command;
submitting the current read operation descriptor command to NFC hardware for execution;
and when the NFC hardware executes the read operation, judging whether to execute the flash memory cache read command sequence or end according to the ppa information in the descriptor and the internally recorded ppa information.
In one embodiment, the step of determining, by the NFC hardware, to start or end the flash cache read command sequence according to the ppa information in the descriptor and the internally recorded ppa information when performing the read operation further includes:
adding cache_gppa information for executing the read cache command operation and page_gppa information for executing the data transmission command in the NFC hardware;
if the internal record cache_gppa information and the page_gppa information are invalid, and the next_gppa information recorded in the descriptor is valid, the NFC hardware starts a flash memory cache read operation, and simultaneously updates the internal record cache_gppa information and the page_gppa information.
In one embodiment, the step of determining, by the NFC hardware, to start or end the flash cache read command sequence according to the ppa information in the descriptor and the internally recorded ppa information when performing the read operation further includes:
if the ppa information in the current read command is consistent with the internally recorded cache_ppa information and the ppa information of the next read command is valid, the NFC continues to execute cache read operation and updates the cache_ppa information and page_ppa information in the NFC hardware.
In one embodiment, the step of determining, by the NFC hardware, to start or end the flash cache read command sequence according to the ppa information in the descriptor and the internally recorded ppa information when performing the read operation further includes:
if the information of the ppa in the current read command is consistent with the information of the cache_ppa recorded in the internal, but the information of the ppa of the next read command is invalid, the NFC hardware firstly executes a command for ending the flash memory cache read operation, then executes a data transmission command, and simultaneously updates the value of the internal cache_ppa to be invalid, and the value of the page_ppa to be the value of the ppa of the current read command.
In one embodiment, the step of determining, by the NFC hardware, to start or end the flash cache read command sequence according to the ppa information in the descriptor and the internally recorded ppa information when performing the read operation further includes:
if the ppa information of the current read command is inconsistent with the internally recorded cache_ppa information, the NFC hardware automatically executes the command for ending the flash cache read operation, and then updates the cache_ppa information and the page_ppa information in the NFC hardware according to whether the ppa information of the next read command is effective for executing normal read operation or starting new flash cache read operation.
A device for improving sequential reading performance of a solid state disk comprises:
the configuration module is used for acquiring a read command issued by a host, configuring a hardware descriptor for the read command and filling in the gppa information of the read command;
the judging module is used for judging whether the next command is a read command or not;
the setting module is used for setting the next_gppa of the current read operation descriptor to be the value of the gppa of the next read command if the next command is the read command, and setting the next_gppa to be invalid if the next read command is not available or is not available;
the submitting module is used for submitting the current read operation descriptor command to NFC hardware for execution;
and the execution module is used for judging whether to start or end the flash memory cache read command sequence according to the ppa information in the descriptor and the internally recorded ppa information when the NFC hardware executes the read operation.
In one embodiment, the execution module is further configured to:
adding cache_gppa information for executing the read cache command operation and page_gppa information for executing the data transmission command in the NFC hardware;
if the internal record cache_gppa information and the page_gppa information are invalid, and the next_gppa information recorded in the descriptor is valid, the NFC hardware starts a flash memory cache read operation, and simultaneously updates the internal record cache_gppa information and the page_gppa information.
In one embodiment, the execution module is further configured to:
if the ppa information in the current read command is consistent with the internally recorded cache_ppa information and the ppa information of the next read command is valid, the NFC continues to execute cache read operation and updates the cache_ppa information and page_ppa information in the NFC hardware.
A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the steps of any one of the methods described above when the computer program is executed.
A computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of any of the methods described above.
According to the method, the device, the computer equipment and the storage medium for improving the sequential reading performance of the solid state disk, the hardware descriptor is configured for the reading command by acquiring the reading command issued by the host, and the gppa information of the reading command is filled in; judging whether the next command is a read command or not; setting next_ppa of the current read operation descriptor to a value of ppa of the next read command if the next command is a read command, and setting next_ppa to be invalid if there is no next read command or the next command is not a read command; submitting the current read operation descriptor command to NFC hardware for execution; and when the NFC hardware executes the read operation, judging whether to execute the flash memory cache read command sequence or end according to the ppa information in the descriptor and the internally recorded ppa information. According to the application, only the hardware descriptor of the current read command is required to be configured, and command sequences such as flash memory cache read operation, normal read operation and flash memory cache read operation finishing are automatically executed in NFC hardware according to the internally recorded information, so that the participation of a software layer is reduced, the software processing flow is optimized, and the read performance is effectively improved.
Drawings
FIG. 1 is a flow chart of a method for improving sequential read performance of a solid state disk in an embodiment;
FIG. 2 is a flowchart of a method for improving sequential read performance of a solid state disk in another embodiment;
FIG. 3 is a flowchart illustrating a method for improving sequential read performance of a solid state disk according to still another embodiment;
FIG. 4 is a block diagram illustrating a device for improving sequential read performance of a solid state disk according to an embodiment;
fig. 5 is an internal structural diagram of a computer device in one embodiment.
Detailed Description
The present application will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present application more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the application.
In the conventional technology, after receiving a read command, the SSD backend software determines a current read operation scenario according to the read command that has been processed, and for a read operation conforming to the flash cache, a flash pre-load command and a data transfer command need to be issued respectively, and a corresponding hardware descriptor is configured and submitted to hardware for execution. For the scene of finishing the flash memory cache read operation, the command of finishing the flash memory cache read operation needs to be issued first, the corresponding hardware descriptor is configured and submitted to the hardware for execution, and then the hardware descriptor of the normal read operation is issued and configured. In this way, for each command software, the corresponding hardware descriptor needs to be configured, then the hardware descriptor is submitted to the NFC hardware for execution, and after the NFC hardware completes execution, the descriptor resources are recovered one by one. Obviously, since the software is required to configure the hardware descriptor, a great deal of time is consumed, and corresponding software resources are recycled, the software processing time is also increased, and the reading performance of the solid state disk is further reduced.
Based on the above, the scheme provides a method for improving the sequential reading performance of the solid state disk, which aims to further improve the sequential reading performance of the SSD.
In one embodiment, as shown in fig. 1, a method for improving sequential reading performance of a solid state disk is provided, where the method includes:
step 102, acquiring a read command issued by a host, configuring a hardware descriptor for the read command, and filling in the gppa information of the read command;
step 104, judging whether the next command is a read command;
step 106, if the next command is a read command, setting the next_ppa of the current read operation descriptor to be the value of the ppa of the next read command, and if there is no next read command or the next command is not a read command, setting the next_ppa to be invalid;
step 108, submitting the current read operation descriptor command to NFC hardware for execution;
in step 110, the nfc hardware determines to start or end the flash cache read command sequence according to the ppa information in the descriptor and the internally recorded ppa information when performing the read operation.
In this embodiment, a method for improving sequential read performance of a solid state disk is provided, where the method includes a scenario of read hit, in an actual processing process, software directly configures and submits a hardware descriptor without performing hit processing judgment, and only issues a command for transmitting data when a current read operation command is executed inside NFC hardware.
Specifically, firstly, after receiving a read command, software directly configures a read operation descriptor command, configures the gppa information of the next read command into the current read operation descriptor, fills in an invalid value such as 0xffffffff in the corresponding information of the descriptor if the next command is not available or the next command is not a read operation, and then gives the read operation descriptor command to hardware for execution.
When the NFC hardware executes the current read operation, the cache_gppa information for executing the read cache command operation and the page_gppa information for executing the data transmission command are additionally recorded in the NFC hardware, so that the flash cache read operation sequence is automatically started or ended.
Specifically, when the NFC hardware processes the read operation command, if both the cache_ppa information of the internal record flash memory cache read operation and the page_ppa information of the record data transmission are invalid, and the ppa information of the record next read command in the descriptor is valid, the NFC hardware starts the flash memory cache read operation, and updates the cache_ppa value of the internal record read cache command and the page_ppa value of the internal record data transmission command.
Further, if the ppa information in the current read operation command is consistent with the cache_ppa information of the internal record read cache command operation and the ppa information of the next read command is valid, the NFC continues to execute the cache read operation and updates the values of the cache_ppa and the page_ppa in the NFC hardware.
Further, if the ppa information in the current read operation command is consistent with the cache_ppa information of the internal record cache read operation, but the ppa information of the next read command is invalid, the NFC hardware first executes a command for ending the flash cache read operation, then executes the data transfer command, and simultaneously updates the value of the internal cache_ppa to be invalid, and the value of the page_ppa to be the value of the ppa of the current read command.
Further, if the ppa information of the current read command is inconsistent with the cache_ppa information of the internal record cache read operation, the NFC hardware automatically executes the command of ending the flash cache read operation, and then executes the normal read operation or starts the new flash cache read operation according to whether the ppa information of the next read command is valid, and correspondingly updates the values of the internal cache_ppa and page_ppa.
In this embodiment, by acquiring a read command issued by a host, configuring a hardware descriptor for the read command, and filling in the gppa information of the read command; judging whether the next command is a read command or not; setting next_ppa of the current read operation descriptor to a value of ppa of the next read command if the next command is a read command, and setting next_ppa to be invalid if there is no next read command or the next command is not a read command; submitting the current read operation descriptor command to NFC hardware for execution; and when the NFC hardware executes the read operation, judging whether to execute the flash memory cache read command sequence or end according to the ppa information in the descriptor and the internally recorded ppa information. According to the application, only the hardware descriptor of the current read command is required to be configured, and command sequences such as flash memory cache read operation, normal read operation and flash memory cache read operation finishing are automatically executed in NFC hardware according to the internally recorded information, so that the participation of a software layer is reduced, the software processing flow is optimized, and the read performance is effectively improved.
In an embodiment, as shown in fig. 2, a method for improving sequential read performance of a solid state disk is provided, where in the method, when NFC hardware determines to execute a flash memory cache read command sequence according to the ppa information in the descriptor and the internally recorded ppa information, the step of starting or ending the flash memory cache read command sequence further includes:
step 202, adding cache_gppa information for executing the read cache command operation and page_gppa information for executing the data transmission command in the NFC hardware;
in step 204, if the internal record cache_ppa information and the page_ppa information are both invalid, and the next_ppa information recorded in the descriptor is valid, the NFC hardware starts a flash cache read operation, and updates the internal record cache_ppa information and the page_ppa information.
In one embodiment, the method further comprises:
if the ppa information in the current read command is consistent with the internally recorded cache_ppa information and the ppa information of the next read command is valid, the NFC continues to execute cache read operation and updates the cache_ppa information and page_ppa information in the NFC hardware;
if the information of the ppa in the current read command is consistent with the internally recorded cache_ppa information, but the information of the ppa of the next read command is invalid, the NFC hardware firstly executes a command for ending the flash memory cache read operation, then executes a data transmission command, and simultaneously updates the value of the internal cache_ppa to be invalid, wherein the value of the page_ppa is the value of the ppa of the current read command;
if the ppa information of the current read command is inconsistent with the internally recorded cache_ppa information, the NFC hardware automatically executes the command for ending the flash cache read operation, and then updates the cache_ppa information and the page_ppa information in the NFC hardware according to whether the ppa information of the next read command is effective for executing normal read operation or starting new flash cache read operation.
Specifically, referring to the flow chart of the method for improving the sequential reading performance of the solid state disk shown in fig. 3, the reading operation flow is as follows:
step 1, back-end software processes the received read command, configures a hardware descriptor for each read command, and fills in the gppa information of the read operation command.
Step 2, the software pre-reads the next command, and sets the next_ppa of the current read operation descriptor to the value of the ppa of the next read command. If there is no next read command, or the next command is not a read operation, then next_gppa is set to be invalid, i.e., 0xFFFFFFFF.
And 3, the software submits the current read operation descriptor command to NFC hardware for execution.
And 4, the NFC hardware reads the cache_gppa information recorded in the NFC hardware, judges whether the value is valid, if not, enters the step 5, and if so, enters the step 7.
And 5, reading the next_gppa information in the descriptor by the NFC hardware, if the value of the next_gppa information is invalid, indicating that no subsequent reading operation exists, ending the reading operation after the NFC hardware directly executes a normal reading operation command, and otherwise, entering the step 6.
And 6, the NFC hardware automatically executes a command sequence for starting the flash memory cache read operation, namely completing the data loading operation of the gppa, the cache operation of the next_gppa and the data transmission operation of the gppa. And simultaneously updating the value of the cache_gppa of the internal record to be next_gppa, updating the value of the page_gppa of the internal record to be gppa, and ending the reading operation.
And 7, judging whether the ppa of the read operation is consistent with the value of the cache_ppa recorded in the NFC hardware, if not, entering a step 8, otherwise, entering a step 11.
And 8, the NFC hardware reads the value of the page_gppa recorded in the memory, judges whether the value is consistent with the gppa information of the current read operation, if so, the NFC hardware executes a command for ending the flash memory cache read operation, then automatically executes a data transmission command, and simultaneously sets the value of the cache_gppa recorded in the memory as invalid, and ends the read operation. Otherwise, step 9 is entered.
And 9, executing a command sequence for ending the flash memory cache read operation by NFC hardware, and setting the value of the cache_gppa of the internal record as invalid.
Step 10, the NFC hardware reads the value of next_ppa in the current read operation descriptor, if the value is invalid, the NFC hardware directly executes the normal read operation, and meanwhile updates the value of page_ppa recorded in the NFC hardware to be ppa, and then ends the read operation, otherwise, the step 6 is entered.
And step 11, the NFC hardware judges whether the value of next_ppa in the current read operation descriptor is valid, if so, the NFC hardware automatically executes the cache read operation of next_ppa and the data transmission operation of ppa, simultaneously updates the value of cache_ppa of the internal record to be next_ppa, and the value of page_ppa of the internal record to be ppa, and then ends the read operation. If not, step 12 is entered.
And step 12, the NFC hardware executes a command sequence for ending the flash memory cache read operation, and the value of the cache_gppa recorded in the NFC hardware is set as invalid. The data transfer command sequence is then automatically executed while the internally recorded page_ppa value is updated to the value of the ppa of the current read operation command. And ending the reading operation.
In this embodiment, when the read operation is performed, comprehensive judgment is performed according to the ppa information in the software descriptor and the internally recorded ppa information, and the flash cache read command sequence is automatically performed on hardware that accords with the flash cache read operation scenario. For the read command which does not accord with the flash memory cache read operation scene, but the flash memory cache read operation sequence is started, the NFC hardware firstly executes the flash memory cache read operation command ending and then executes the normal read operation command sequence. And for the read command which does not accord with the flash memory cache read operation scene and the flash memory cache read operation sequence is not started, the NFC hardware directly executes the normal read operation command sequence, and meanwhile, the internal of the NFC hardware automatically updates the internally recorded gppa information.
It should be understood that, although the steps in the flowcharts of fig. 1-3 are shown in order as indicated by the arrows, these steps are not necessarily performed in order as indicated by the arrows. The steps are not strictly limited to the order of execution unless explicitly recited herein, and the steps may be executed in other orders. Moreover, at least some of the steps in fig. 1-3 may include multiple sub-steps or multiple stages that are not necessarily performed at the same time, but may be performed at different times, nor does the order in which the sub-steps or stages are performed necessarily occur in sequence, but may be performed alternately or alternately with at least a portion of the other steps or sub-steps or stages of other steps.
In one embodiment, as shown in fig. 4, there is provided a device 400 for improving sequential reading performance of a solid state disk, where the device includes:
the configuration module 401 is configured to obtain a read command issued by a host, configure a hardware descriptor for the read command, and fill in the gppa information of the read command;
a judging module 402, configured to judge whether the next command is a read command;
a setting module 403, configured to set next_ppa of the current read operation descriptor to a value of ppa of a next read command if the next command is a read command, and set next_ppa to invalid if there is no next read command or the next command is not a read command;
a submitting module 404, configured to submit the current read operation descriptor command to NFC hardware for execution;
and the execution module 405 is configured to determine, when the NFC hardware performs the read operation, to start or end the flash cache read command sequence according to the ppa information in the descriptor and the internally recorded ppa information.
In one embodiment, the execution module 405 is further to:
adding cache_gppa information for executing the read cache command operation and page_gppa information for executing the data transmission command in the NFC hardware;
if the internal record cache_gppa information and the page_gppa information are invalid, and the next_gppa information recorded in the descriptor is valid, the NFC hardware starts a flash memory cache read operation, and simultaneously updates the internal record cache_gppa information and the page_gppa information.
In one embodiment, the execution module 405 is further to:
if the ppa information in the current read command is consistent with the internally recorded cache_ppa information and the ppa information of the next read command is valid, the NFC continues to execute cache read operation and updates the cache_ppa information and page_ppa information in the NFC hardware.
In one embodiment, the execution module 405 is further to:
if the information of the ppa in the current read command is consistent with the information of the cache_ppa recorded in the internal, but the information of the ppa of the next read command is invalid, the NFC hardware firstly executes a command for ending the flash memory cache read operation, then executes a data transmission command, and simultaneously updates the value of the internal cache_ppa to be invalid, and the value of the page_ppa to be the value of the ppa of the current read command.
In one embodiment, the execution module 405 is further to:
if the ppa information of the current read command is inconsistent with the internally recorded cache_ppa information, the NFC hardware automatically executes the command for ending the flash cache read operation, and then updates the cache_ppa information and the page_ppa information in the NFC hardware according to whether the ppa information of the next read command is effective for executing normal read operation or starting new flash cache read operation.
For specific limitation of the device for improving the sequential reading performance of the solid state disk, reference may be made to the limitation of the method for improving the sequential reading performance of the solid state disk, which is not described herein.
In one embodiment, a computer device is provided, the internal structure of which may be as shown in FIG. 5. The computer device includes a processor, a memory, and a network interface connected by a system bus. Wherein the processor of the computer device is configured to provide computing 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, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The network interface of the computer device is used for communicating with an external terminal through a network connection. When the computer program is executed by a processor, the method for improving the sequential reading performance of the solid state disk is realized.
It will be appreciated by those skilled in the art that the structure shown in FIG. 5 is merely a block diagram of some of the structures associated with the present inventive arrangements and is not limiting of the computer device to which the present inventive arrangements may be applied, and that a particular computer device may include more or fewer components than shown, or may combine some of the components, or have a different arrangement of components.
In one embodiment, a computer device is provided that includes a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor implementing the steps in the method embodiments above when executing the computer program.
In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored which, when executed by a processor, carries out the steps of the above method embodiments.
Those skilled in the art will appreciate that implementing all or part of the above described embodiment methods may be accomplished by way of a computer program stored on a non-transitory computer readable storage medium, which when executed may comprise the steps of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in embodiments provided herein may include non-volatile and/or volatile memory. The 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. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double Data Rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous Link DRAM (SLDRAM), memory bus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), among others.
The technical features of the above embodiments may be arbitrarily combined, and all possible combinations of the technical features in the above embodiments are not described for brevity of description, however, as long as there is no contradiction between the combinations of the technical features, they should be considered as the scope of the description.
The above examples illustrate only a few embodiments of the application, which are described in detail and are not to be construed as limiting the scope of the application. It should be noted that it will be apparent to those skilled in the art that several variations and modifications can be made without departing from the spirit of the application, which are all within the scope of the application. Accordingly, the scope of protection of the present application is to be determined by the appended claims.

Claims (10)

1. A method for improving sequential reading performance of a solid state disk comprises the following steps:
acquiring a read command issued by a host, configuring a hardware descriptor for the read command, and filling in the gppa information of the read command;
judging whether the next command is a read command or not;
setting next_ppa of the current read operation descriptor to a value of ppa of the next read command if the next command is a read command, and setting next_ppa to be invalid if there is no next read command or the next command is not a read command;
submitting the current read operation descriptor command to NFC hardware for execution;
and when the NFC hardware executes the read operation, judging whether to execute the flash memory cache read command sequence or end according to the ppa information in the descriptor and the internally recorded ppa information.
2. The method for improving sequential read performance of a solid state disk according to claim 1, wherein the step of determining whether to start or end a flash memory cache read command sequence according to the ppa information in the descriptor and the internally recorded ppa information when the NFC hardware performs the read operation further comprises:
adding cache_gppa information for executing the read cache command operation and page_gppa information for executing the data transmission command in the NFC hardware;
if the internal record cache_gppa information and the page_gppa information are invalid, and the next_gppa information recorded in the descriptor is valid, the NFC hardware starts a flash memory cache read operation, and simultaneously updates the internal record cache_gppa information and the page_gppa information.
3. The method for improving sequential read performance of a solid state disk according to claim 2, wherein the step of determining whether to start or end a flash memory cache read command sequence according to the ppa information in the descriptor and the internally recorded ppa information when the NFC hardware performs the read operation further comprises:
if the ppa information in the current read command is consistent with the internally recorded cache_ppa information and the ppa information of the next read command is valid, the NFC continues to execute cache read operation and updates the cache_ppa information and page_ppa information in the NFC hardware.
4. The method for improving sequential read performance of a solid state disk according to claim 3, wherein the step of determining whether to start or end a flash memory cache read command sequence according to the ppa information in the descriptor and the internally recorded ppa information when the NFC hardware performs the read operation further comprises:
if the information of the ppa in the current read command is consistent with the information of the cache_ppa recorded in the internal, but the information of the ppa of the next read command is invalid, the NFC hardware firstly executes a command for ending the flash memory cache read operation, then executes a data transmission command, and simultaneously updates the value of the internal cache_ppa to be invalid, and the value of the page_ppa to be the value of the ppa of the current read command.
5. The method for improving sequential read performance of a solid state disk according to claim 4, wherein the step of determining whether to start or end a flash memory cache read command sequence according to the ppa information in the descriptor and the internally recorded ppa information when the NFC hardware performs the read operation further comprises:
if the ppa information of the current read command is inconsistent with the internally recorded cache_ppa information, the NFC hardware automatically executes the command for ending the flash cache read operation, and then updates the cache_ppa information and the page_ppa information in the NFC hardware according to whether the ppa information of the next read command is effective for executing normal read operation or starting new flash cache read operation.
6. The utility model provides a device for improving solid state disk order reading performance which characterized in that, the device includes:
the configuration module is used for acquiring a read command issued by a host, configuring a hardware descriptor for the read command and filling in the gppa information of the read command;
the judging module is used for judging whether the next command is a read command or not;
the setting module is used for setting the next_gppa of the current read operation descriptor to be the value of the gppa of the next read command if the next command is the read command, and setting the next_gppa to be invalid if the next read command is not available or is not available;
the submitting module is used for submitting the current read operation descriptor command to NFC hardware for execution;
and the execution module is used for judging whether to start or end the flash memory cache read command sequence according to the ppa information in the descriptor and the internally recorded ppa information when the NFC hardware executes the read operation.
7. The device for improving sequential read performance of a solid state disk according to claim 6, wherein the execution module is further configured to:
adding cache_gppa information for executing the read cache command operation and page_gppa information for executing the data transmission command in the NFC hardware;
if the internal record cache_gppa information and the page_gppa information are invalid, and the next_gppa information recorded in the descriptor is valid, the NFC hardware starts a flash memory cache read operation, and simultaneously updates the internal record cache_gppa information and the page_gppa information.
8. The device for improving sequential read performance of a solid state disk according to claim 7, wherein the execution module is further configured to:
if the ppa information in the current read command is consistent with the internally recorded cache_ppa information and the ppa information of the next read command is valid, the NFC continues to execute cache read operation and updates the cache_ppa information and page_ppa information in the NFC hardware.
9. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the steps of the method according to any one of claims 1 to 5 when the computer program is executed by the processor.
10. A computer readable storage medium, on which a computer program is stored, characterized in that the computer program, when being executed by a processor, implements the steps of the method of any of claims 1 to 5.
CN202310729083.7A 2023-06-19 2023-06-19 Method and device for improving sequential reading performance of solid state disk and computer equipment Pending CN116755623A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310729083.7A CN116755623A (en) 2023-06-19 2023-06-19 Method and device for improving sequential reading performance of solid state disk and computer equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310729083.7A CN116755623A (en) 2023-06-19 2023-06-19 Method and device for improving sequential reading performance of solid state disk and computer equipment

Publications (1)

Publication Number Publication Date
CN116755623A true CN116755623A (en) 2023-09-15

Family

ID=87949248

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310729083.7A Pending CN116755623A (en) 2023-06-19 2023-06-19 Method and device for improving sequential reading performance of solid state disk and computer equipment

Country Status (1)

Country Link
CN (1) CN116755623A (en)

Similar Documents

Publication Publication Date Title
US10649905B2 (en) Method and apparatus for storing data
CN110888602A (en) Method and device for improving reading performance based on solid state disk and computer equipment
CN113094296B (en) SSD read acceleration realization method, SSD read acceleration realization device, computer equipment and storage medium
CN112306969A (en) Method and system for reversely reading distributed storage file system
CN115563021A (en) Method and device for improving repeated reading performance based on solid state disk and computer equipment
CN116755623A (en) Method and device for improving sequential reading performance of solid state disk and computer equipment
CN114115745B (en) RAID optimization method and device for multi-Pass programming NAND and computer equipment
CN115878041A (en) Method and device for improving writing performance of RAID (redundant array of independent disks) of solid state disk and computer equipment
CN109933479B (en) Fault simulation and emulation method and related equipment
CN109634875A (en) Order data method for caching and processing, device, computer equipment and storage medium
CN112114757B (en) Storage method and system in object storage system, computing device and medium
CN110275596B (en) Solid state disk-based power-on initialization acceleration method and device and computer equipment
CN111897495B (en) Implementation method, device, computer equipment and storage medium for improving SSD writing performance
CN109933293B (en) Data writing method and device based on SpiFlash and computer equipment
US10977119B2 (en) Techniques for utilizing volatile memory buffers to reduce parity information stored on a storage device
CN109582516B (en) SSD back-end performance analysis method and device, computer equipment and storage medium
CN116909478A (en) TLC writing performance improving method and device for solid state disk and computer equipment
CN114047880B (en) NAND write power consumption optimization method and device for multi-Pass programming and computer equipment
CN112764673A (en) Storage rate optimization method and device, computer equipment and storage medium
CN114327274B (en) Mapping table loading checking method and device based on solid state disk and computer equipment
CN115878038A (en) Implementation method and device for improving reading performance of solid state disk and computer equipment
CN117785049A (en) Method and device for optimizing Write Zero command under abnormal power failure
CN109686394B (en) Nand Flash Phy parameter configuration method and device
CN114185620B (en) Method and device for realizing acceleration of SSD firmware loading, computer equipment and storage medium
CN116955218A (en) Method and device for accelerating write command of solid state disk and computer equipment

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