Storage device and data processing method thereof

By converting data processing commands into multiple sets of subcommands and preloading the data address of the next subcommand when submitting the previous subcommand, the problem of low data processing efficiency of storage devices is solved, and efficient data processing of storage devices is achieved.

CN115220641BActive Publication Date: 2026-01-16ZHONGSHAN JIANGBOLONG ELECTRONICS CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202110412151.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-04-16
Publication Date
2026-01-16
Estimated Expiration
2041-04-16

AI Technical Summary

Technical Problem

Existing storage devices process commands sequentially, one command at a time, before moving on to the next, resulting in low data processing efficiency.

Method used

The data processing command is converted into multiple sub-commands, and the data address of the next sub-command is submitted at the same time as the previous sub-command. By preloading the data address of the next sub-command, the processing time is superimposed, thereby improving the data processing efficiency.

Benefits of technology

By stacking processing times, the processing time of the storage device is reduced, improving data processing efficiency, especially in random read operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115220641B_ABST
    Figure CN115220641B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of data processing, and discloses a storage device and a data processing method thereof. The method comprises the following steps: receiving a data processing command; converting the data processing command into multiple groups of subcommands; wherein each group of subcommands comprises at least one subcommand; buffering each group of subcommands in a corresponding storage unit; submitting the subcommands in each storage unit to a storage medium controller in sequence to execute the subcommands; wherein when there are at least two subcommands in the storage unit, the data address of the next subcommand is submitted at the same time when the previous subcommand is submitted. In the above manner, the data processing efficiency of the storage device can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of data processing, in particular to a storage device and a data processing method thereof. BACKGROUND

[0002] Storage devices are important parts of computer systems and have been developed rapidly in recent years. For example, magnetic disks and tapes have been the main storage devices for computers. There are two types of magnetic disks, i.e., hard disks and floppy disks. The access speed of hard disks is much higher than that of floppy disks. The capacity of hard disks used in microcomputers has reached tens of GB, and the capacity of hard disks used in workstations has exceeded hundreds of GB. In recent years, the storage technology of optical disks has been commercialized, and the storage capacity of optical disks is generally 650 MB. Another type of optical disk that can be erased and written has also been put into the market, and it can access data at a higher data density.

[0003] In the related art, when processing commands, the storage device processes one command in a first-in-first-out manner and then processes the next command, which results in low data processing efficiency. SUMMARY

[0004] The present application mainly solves the technical problem of providing a storage device and a data processing method thereof, which can improve the data processing efficiency of the storage device.

[0005] To solve the above problem, one technical solution of the present application is to provide a data processing method of a storage device, which comprises the following steps: receiving a data processing command; converting the data processing command into a plurality of groups of sub-commands; wherein each group of sub-commands comprises at least one sub-command; buffering each group of sub-commands in a corresponding storage unit; submitting the sub-commands in each storage unit to a storage medium controller in sequence to execute the sub-commands; wherein when there are at least two sub-commands in the storage unit, the data address of the next sub-command is submitted at the same time as the previous sub-command is submitted.

[0006] In the above method, the step of converting the data processing command into a plurality of groups of sub-commands comprises the following steps: disassembling the data processing command to obtain a plurality of sub-commands; converting the plurality of sub-commands based on a preset mapping table and grouping the converted sub-commands according to the corresponding storage units of each sub-command.

[0007] In the above method, the step of buffering each group of sub-commands in a corresponding storage unit comprises the following steps: buffering each group of sub-commands in a buffer queue of the corresponding storage unit; and the step of submitting the sub-commands in each storage unit to the storage medium controller in sequence to execute the sub-commands comprises the following step: submitting the sub-commands in each buffer queue to the storage medium controller in sequence to execute the sub-commands.

[0008] When there are at least two sub-commands in the storage unit, the data address of the next sub-command is submitted at the same time when the previous sub-command is submitted, including: when there are at least two sub-commands in the cache queue, obtaining the command type of the next sub-command; when the command type of the next sub-command is a read command, the data address of the next sub-command is submitted at the same time when the previous sub-command is submitted.

[0009] When the sub-commands in each storage unit are sequentially submitted to the storage medium controller to execute the sub-commands, including:

[0010] When the previous sub-command is submitted, the data address of the next sub-command is submitted to the storage medium controller at the same time, so that the storage medium controller reads data based on the data address of the next sub-command when executing the previous sub-command;

[0011] The data read by the storage medium controller is stored in the buffer area.

[0012] When the data address of the next sub-command is submitted to the storage medium controller at the same time when the previous sub-command is submitted, the data read based on the data address of the next sub-command includes: judging whether there is target data corresponding to the data address in the buffer area of the storage device; if yes, reading the target data; if not, reading the target data corresponding to the data address from the storage area of the storage device.

[0013] When the sub-commands are converted based on the preset mapping table and grouped according to the storage unit corresponding to each converted sub-command, including: converting the logical address of each sub-command to a physical address based on the preset mapping table; grouping according to the storage unit corresponding to each physical address.

[0014] The method further includes: when the command types of at least two sub-commands in the cache queue are read commands, the data addresses of the at least two sub-commands are not continuous.

[0015] To solve the above problems, another technical solution adopted by the present application is to provide a storage device, which includes a main controller, a storage and a storage medium controller connected with the main controller; the storage is used to store program data; the main controller is used to execute the program data to realize the method provided by the above technical solution.

[0016] The storage device is a solid state disk, a U disk, a TF card or an eMMC (Embedded Multi Media Card) storage device.

[0017] The beneficial effects of the present application are: different from the prior art, the data processing method of the storage device of the present application, the method comprises: receiving a data processing command; converting the data processing command into a plurality of groups of sub-commands; wherein each group of sub-commands comprises at least one sub-command; cache each group of sub-commands in the corresponding storage unit; submit the sub-commands in each storage unit to the storage medium controller in order to execute the sub-commands; wherein when there are at least two sub-commands in the storage unit, the data address of the next sub-command is submitted at the same time when the previous sub-command is submitted. In the above manner, the data address of the next sub-command is submitted at the same time when the previous sub-command is submitted, so that the storage device can preload the subsequent data while executing the previous sub-command, the processing time of the two sub-commands is overlapped, the processing time is reduced, and the data processing efficiency of the storage device can be improved. BRIEF DESCRIPTION OF DRAWINGS

[0018] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor. Among them:

[0019] Figure 1 is an embodiment flowchart of the data processing method of the storage device provided by the present application;

[0020] Figure 2 is another embodiment flowchart of the data processing method of the storage device provided by the present application;

[0021] Figure 3 is an embodiment flowchart of step 23 provided by the present application;

[0022] Figure 4 is an embodiment flowchart of step 25 provided by the present application;

[0023] Figure 5 is an embodiment flowchart of step 41 provided by the present application;

[0024] Figure 6 is another embodiment flowchart of step 25 provided by the present application;

[0025] Figure 7 is an embodiment structure diagram of the storage device provided by the present application. DETAILED DESCRIPTION

[0026] With reference to the drawings, the technical solutions in the embodiments of the present application will be clearly and completely described below. It can be understood that the specific embodiments described here are only used to explain the present application, but not to limit the present application. In addition, it should be noted that, in order to facilitate description, only the parts related to the present application are shown in the drawings, rather than all the structures. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor fall within the scope of the present application.

[0027] The terms "first", "second", and the like in the present application are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but can optionally include steps or units not listed, or can optionally include other steps or units inherent to the process, method, product or device.

[0028] In this document, referring to "embodiments" means that the specific features, structures or characteristics described in connection with the embodiments can be included in at least one embodiment of the present application. The phrase appears at various places in the specification does not necessarily all refer to the same embodiment, nor is it necessarily mutually exclusive of other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.

[0029] Referring to Figure 1 , Figure 1 is an embodiment flow diagram of a data processing method of a storage device provided by the present application. The method comprises:

[0030] Step 11: receiving a data processing command.

[0031] In this embodiment, the storage device is arranged in an external device. For example, the external device can be a host, and the storage device can be used to interact with the host to realize operations such as reading, writing and deleting data. The storage device can be any one of a solid state disk, a U disk, a TF card or an eMMC storage device.

[0032] The data processing command can be a set of a series of read, write and delete commands. For example, the data processing command includes three read commands, two write commands and one delete command.

[0033] Step 12: converting the data processing command into a plurality of groups of sub-commands; wherein each group of sub-commands includes at least one sub-command.

[0034] The storage device includes a plurality of storage units, each of which is used to store data, and thus each of which corresponds to a data address. Sub-commands belonging to the same storage unit are grouped.

[0035] For example, the storage device includes four storage units A, B, C, and D, and the data processing command includes four read commands (R1, R2, R3, and R4), two write commands (W1 and W2), and one delete command (S1). The order of the above commands is R1-W1-R2-R3-W2-R4-S1. After conversion, the data processing command includes read commands R1, R2, R3, and R4, write commands W1 and W2, and delete command S1, and each command corresponds to a storage unit.

[0036] In which, R1 corresponds to storage unit A, W1, R2, and R3 correspond to storage unit B, R4 corresponds to storage unit C, W2 and S1 correspond to storage unit D. Then R1 is a group, W1, R2, and R3 are a group, R4 is a group, and W2 and S1 are a group.

[0037] Step 13: cache each group of sub-commands in the corresponding storage unit.

[0038] In this embodiment, each sub-command in each group of sub-commands can be cached in the corresponding storage unit according to the order in the data processing command.

[0039] For example, the order of the data processing command is R1-W1-R2-R3-W2-R4-S1, and when caching W1, R2, and R3, they are stored in the order of W1, R2, and R3.

[0040] For example, the order of the data processing command is R1-W1-R2-R3-W2-R4-S1, and when caching W1, R2, and R3, they are stored in the order of R3, R2, and W1.

[0041] Step 14: submit the sub-commands in each storage unit to the storage medium controller in order to execute the sub-commands; wherein when there are at least two sub-commands in the storage unit, the data address of the next sub-command is submitted at the same time as the previous sub-command is submitted.

[0042] In some embodiments, each storage unit corresponds to a storage medium controller, which corresponds to processing the sub-commands cached in the storage unit.

[0043] For example, the above storage unit B corresponding to W1, R2, and R3 is used as an example for illustration:

[0044] If the storage unit B is stored in the order of W1, R2 and R3, the storage medium controller is submitted in the order of W1, R2 and R3 to make the storage medium controller execute the corresponding sub-commands. As W1 is submitted, the data address in R2 is submitted at the same time. It can be understood that the storage medium controller executes W1, and after the execution of W1 is completed, the storage medium controller feeds back information to the main controller of the storage device. When the feedback information is fed back, R2 can be executed. After R2 is executed, the data read by R2 is sent to the main controller of the storage device. At this time, the data address in R3 is executed synchronously to obtain the data corresponding to R3.

[0045] If the storage unit B is stored in the order of R3, R2 and W1, the storage medium controller is submitted in the order of W1, R2 and R3.

[0046] In the embodiment, the data processing command is received, the data processing command is converted into a plurality of groups of sub-commands, each group of sub-commands includes at least one sub-command, each group of sub-commands is buffered in a corresponding storage unit, and the sub-commands in each storage unit are submitted to the storage medium controller in order to execute the sub-commands. When there are at least two sub-commands in the storage unit, the data address of the next sub-command is submitted at the same time as the previous sub-command is submitted. In the above manner, the data address of the next sub-command is submitted at the same time as the previous sub-command is submitted, so that the storage device can pre-load the subsequent data while executing the previous sub-command, the processing time of the two sub-commands is overlapped, the processing time is reduced, and the data processing efficiency of the storage device can be improved.

[0047] Reference Figure 2 , Figure 2 is another embodiment of the data processing method of the storage device provided by the present application. The method comprises:

[0048] Step 21: receiving a data processing command.

[0049] Step 22: decomposing the data processing command to obtain a plurality of sub-commands.

[0050] Steps 21-22 have the same or similar technical solutions as the above embodiments, which will not be described here.

[0051] Step 23: converting the plurality of sub-commands based on a preset mapping table, and grouping the converted sub-commands according to the storage unit corresponding to each sub-command.

[0052] The preset mapping table records the correspondence between the logical address and the physical address. The logical address refers to the address of a memory cell, a storage element, or a network host as viewed from the perspective of an application program in a computer architecture. The physical address refers to the address of a byte or a bit unit in a storage device for storing information. Each byte or bit unit is given a unique storage address, referred to as a physical address, an actual address, or an absolute address.

[0053] In some embodiments, referring to Figure 3 , step 23 can be as follows:

[0054] Step 231: converting the logical addresses of the plurality of sub-commands into physical addresses based on the preset mapping table.

[0055] In some embodiments, if the data processing command is a series of read commands, it can be understood that, in the case of random reading of the plurality of read commands, the physical addresses corresponding to the plurality of read commands are discontinuous.

[0056] For example, taking a Flash storage device as an example, the Flash storage device stores data in units of pages, and a plurality of pages form a storage unit. For example, the storage unit includes page 1-page 10. The logical addresses corresponding to two adjacent read commands are page 1 and page 9.

[0057] Step 232: grouping the storage units corresponding to each physical address.

[0058] The sub-commands corresponding to the physical addresses belonging to the same storage unit are grouped.

[0059] Step 24: caching each group of sub-commands in a cache queue corresponding to the storage unit.

[0060] In some embodiments, when the storage device is initialized, a cache queue is established for each storage unit, and the sub-commands grouped into a group are cached in the cache queue.

[0061] Optionally, the cache queue can be a FIFO (First Input First Output) queue. The sub-commands stored in the FIFO queue are executed in the order of storage, i.e., the sub-commands stored first are executed first.

[0062] Step 25: submitting the sub-commands in each cache queue to the storage medium controller in order to execute the sub-commands.

[0063] When the sub-command in the cache queue is a write command, the storage medium controller writes the data in the write command to the corresponding data address in the storage unit.

[0064] When the sub-command in the cache queue is an erase command, the storage medium controller erases the data corresponding to the data address in the storage unit according to the data address in the erase command.

[0065] In some embodiments, referring to Figure 4 , step 25 can be as follows:

[0066] Step 41: When there are at least two sub-commands in the cache queue, the data address of the latter sub-command is submitted to the storage medium controller at the same time as the former sub-command is submitted, so that the storage medium controller performs data reading based on the data address of the latter sub-command while executing the former sub-command.

[0067] It can be understood that the latter sub-command is a read command. In this way, the latter sub-command can be accurately preloaded while the former sub-command is executed, which can improve the hit rate and reading efficiency of data reading.

[0068] In some embodiments, referring to Figure 5 , the data reading method can be as follows:

[0069] Step 411: Determine whether there is target data corresponding to the data address in the cache area of the storage device.

[0070] In some embodiments, the cache area of the storage device stores data processed within a preset time. In this way, if the cache area contains the data when reading next time, it is not necessary to read the data from the storage area again, but directly read the data in the cache area, which can improve the reading efficiency.

[0071] In step 411, if it is determined that there is target data corresponding to the data address in the cache area of the storage device, step 412 is performed; if it is determined that there is no target data corresponding to the data address in the cache area of the storage device, step 413 is performed.

[0072] Step 412: Read the target data.

[0073] If there is target data corresponding to the data address in the cache area, the target data is directly read from the cache area.

[0074] Step 413: Read the target data corresponding to the data address from the storage area of the storage device.

[0075] In step 413, the target data read this time is stored in the cache area.

[0076] Step 42: The data read by the storage medium controller is stored in the buffer.

[0077] The buffer can be set when the logical address conversion is performed as described above. When it is determined that the data processing command includes a read command, the buffer corresponding to the read command is allocated to perform subsequent storage.

[0078] In some embodiments, referring to Figure 6 , step 25 can be as follows:

[0079] Step 61: When there are at least two sub-commands in the cache queue, the command type of the next sub-command is obtained.

[0080] It can be understood that each sub-command has a corresponding command identifier, and the command type of the sub-command is determined according to the command identifier when the sub-command is executed.

[0081] Step 62: When the command type of the next sub-command is a read command, the data address of the next sub-command is submitted at the same time when the previous sub-command is submitted.

[0082] In some embodiments, the storage device is provided with a Cache read function. The Cache read function is to enable the storage medium controller to start loading the data required by the host controller at the same time when the host controller starts data transmission.

[0083] The storage medium controller reads data according to the data address of the submitted next sub-command at the same time when the previous sub-command is completed.

[0084] In some embodiments, submitting the previous sub-command can mean that the host controller submits the command processing result to the host, such as submitting the read data to the host when the previous command is a read command. Or submitting the previous sub-command can mean that the storage medium controller submits the command processing result to the host controller, such as submitting the read data to the host controller when the previous command is a read command. The data address of the next sub-command is submitted.

[0085] In some embodiments, when the command type of the next sub-command is not a read command, the data address of the next sub-command is submitted at the same time when the previous sub-command is submitted. Since the sub-command is not a read command, the storage medium controller does not perform the Cache read function.

[0086] The above method can be applied to a random read scenario. When the command types of at least two sub-commands in the cache queue are read commands, the data addresses of the at least two sub-commands are discontinuous. In this way, the problem that the next read sub-command cannot be executed until the current read sub-command is executed in a random read process can be solved, and the storage device can accurately cache the data of the next sub-command each time.

[0087] In an application scenario, the storage device is a solid state disk. It can be understood that the solid state disk uses a Flash die as a storage medium. After the storage device is powered on and initialized, a FIFO structure is created for each die of the Flash. A sequence of commands issued by a host is then decomposed and converted into sub-commands for corresponding dies on each physical channel of the Flash. These sub-commands are cached in corresponding FIFOs according to the channels and chip selects. Then, the sub-commands are executed in the manner of the above embodiment. When the number of sub-commands in the FIFO is greater than or equal to 2, the sub-commands are submitted to the Flash controller for execution. The data address of the next sub-command is obtained and submitted to the Flash controller at the same time. When the next sub-command is a read command, the cache read function is executed. If the next sub-command is not a read command, the cache read function is not initiated.

[0088] It can be understood that when the number of sub-commands in the FIFO is less than 2, the host controller can directly execute the sub-commands.

[0089] In this way, the data address of the next sub-command is submitted at the same time as the previous sub-command, so that the storage device can preload the data of the next sub-command while executing the previous sub-command. The processing time of the two sub-commands is overlapped, the processing time is reduced, the data processing efficiency of the storage device is improved, the problem that the next read sub-command cannot be executed until the current read sub-command is executed in a random read process can be solved, and the storage device can accurately cache the data of the next sub-command each time.

[0090] Referring to Figure 7 , Figure 7 FIG. 1 is a structural schematic diagram of an embodiment of a storage device provided by the present application. The storage device 70 includes a host controller 71, a storage 72, and a storage medium controller 73 connected to the host controller 71. The storage 72 is used to store program data. The host controller 71 is used to execute the program data to implement the following method.

[0091] receiving a data processing command; converting the data processing command into a plurality of groups of sub-commands; wherein each group of sub-commands comprises at least one sub-command; buffering each group of sub-commands in a corresponding storage unit; submitting the sub-commands in each storage unit to a storage medium controller in order to execute the sub-commands; wherein when there are at least two sub-commands in a storage unit, the data address of a next sub-command is submitted at the same time as a previous sub-command is submitted.

[0092] It can be understood that the main controller 71 in the embodiment is further configured to execute program data to implement the method of any of the above embodiments, and the specific implementation steps can refer to the above embodiments, which will not be described here.

[0093] In some embodiments, the memory 72 is divided into a program data area and a read-write data area. The program data is stored in the program data area, and the data, writing, erasing, etc. in any of the above embodiments are all completed in the read-write data area.

[0094] In other embodiments, the storage device 70 is a Flash storage device. Specifically, it can be a NAND Flash storage device or a NOR Flash storage device, and the storage medium controller 73 can be a Flash controller.

[0095] In some embodiments, the storage medium controller 73 can be integrated into the main controller 71.

[0096] In other embodiments, the storage device 70 can also be any one of a solid state disk, a U disk, a TF card, or an eMMC storage device.

[0097] Any of the above embodiments of the present application can enable the storage device to preload the data of the next sub-command while executing the previous sub-command by submitting the data address of the next sub-command at the same time as the previous sub-command is submitted, so that the processing time of the two sub-commands is overlapped, the processing time is reduced, and the data processing efficiency of the storage device is improved. It can also solve the problem of low random read efficiency in a solid state disk.

[0098] In addition, the method of any of the above embodiments can be applied to the test scene of the storage device. Generally, when testing the storage device, the read-write performance of the storage device, such as sequential reading and random reading, will be repeatedly tested. By using the method provided in the above embodiments, the read-write performance can be improved, the test time can be reduced, and the test efficiency can be improved.

[0099] In several embodiments provided in the present application, it should be understood that the disclosed methods and devices can be implemented in other manners. For example, the embodiments of the device described above are merely schematic. For example, the division of the modules or units is merely logical function division. There can be another division manner for the actual implementation. For example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In this way, the actual division of the present application can vary: the division can be one way or more ways while the essence lies in the division.

[0100] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, i.e., they can be located in one place or distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the present embodiment.

[0101] In addition, each functional unit in each embodiment of the present application can be integrated into a processing unit, or each unit can exist physically, or two or more units can be integrated into one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit.

[0102] The integrated unit in the above other embodiments, if realized in the form of a software functional unit and sold or used as an independent product, can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the present application essentially or the part that contributes to the prior art or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor to execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk or an optical disk, and various media that can store program codes.

[0103] The above description is merely an embodiment of the present application, and does not limit the patent scope of the present application. Any equivalent structure or equivalent flow transformation made by using the contents of the present application specification and drawings, or directly or indirectly applied to other related technical fields, is also included in the patent protection scope of the present application.

Claims

1. A data processing method of a storage device, characterized by, The method comprises: receiving a data processing command; converting the data processing command into a plurality of groups of sub-commands; wherein each group of sub-commands comprises at least one sub-command; buffering each group of sub-commands in a corresponding cache queue of a storage unit; sequentially submitting the sub-commands in each cache queue to a storage medium controller to execute the sub-commands; wherein when there are at least two sub-commands in the cache queue, the command type of the next sub-command is obtained; when the command type of the next sub-command is a read command, the data address of the next sub-command is submitted at the same time as the previous sub-command is submitted. The sequentially submitting the sub-commands in each storage unit to the storage medium controller to execute the sub-commands comprises: submitting the data address of the next sub-command to the storage medium controller at the same time as the previous sub-command is submitted, so that the storage medium controller reads data based on the data address of the next sub-command when executing the previous sub-command.

2. The method of claim 1, wherein the converting the data processing command into a plurality of groups of sub-commands comprises: disassembling the data processing command to obtain a plurality of sub-commands; based on a preset mapping table, converting the plurality of sub-commands and grouping them according to the storage unit corresponding to each converted sub-command.

3. The method of claim 1, wherein, The method further comprises storing the data read by the storage medium controller in a buffer.

4. The method of claim 1, wherein the reading data based on the data address of the next sub-command comprises: determining whether there is target data corresponding to the data address in the buffer of the storage device; if yes, reading the target data; if no, reading the target data corresponding to the data address from the storage area of the storage device.

5. The method of claim 2, wherein the converting the plurality of sub-commands based on the preset mapping table and grouping them according to the storage unit corresponding to each converted sub-command comprises: based on the preset mapping table, converting the logical addresses of the plurality of sub-commands into physical addresses respectively; grouping according to the storage unit corresponding to each physical address.

6. The method of claim 1, wherein the method further comprises: when the command types of at least two sub-commands in the cache queue are both read commands, the data addresses of the at least two sub-commands are not continuous.

7. A memory device, comprising: The storage device comprises a main controller, a memory connected to the main controller, and a storage medium controller; the memory is used to store program data; the main controller is used to execute the program data to realize the method of any one of claims 1-6.

8. The storage device of claim 7, wherein the storage device is a solid state disk, a U disk, a TF card, or an eMMC storage device.

Citation Information

Patent Citations

  • Parallel processing of IO commands in storage device

    CN110554833A