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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 239000007787 solid Substances 0.000 title claims abstract description 33
- 230000005540 biological transmission Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 3
- 230000036316 preload Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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
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.
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) |
-
2023
- 2023-06-19 CN CN202310729083.7A patent/CN116755623A/en active Pending
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 |