A flash medium access method, including selecting, by a controller, a target function queue from N function queues according to a predefined rule, where the target function queue is a non-empty queue, a flash medium in which a die associated with the target function queue is located is in an idle state, obtaining a basic instruction from the target function queue, determining, according to preset queue mapping information, the die associated with the target function queue, where the controller is connected to at least one flash medium, and the queue mapping information indicates that the N function queues are in a one-to-one mapping relationship with the N dies, generating, according to a preset signal generation rule, a time sequence signal corresponding to the basic instruction, and sending the time sequence signal to the flash medium in which the associated die is located.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A flash medium access method, comprising: selecting, by a controller, a target function queue from a plurality of function queues by randomly selecting a non-empty function queue from the function queues each time as the target function queue, wherein a flash medium in which a die associated with the target function queue is located is in an idle state, wherein the controller is coupled to at least one flash medium, wherein each of the at least one flash medium comprises at least one die, and wherein a number of the function queues is a same as a number of dies in each flash medium; obtaining, by the controller, a basic instruction from the target function queue; identifying, by the controller according to queue mapping information, the die associated with the target function queue, wherein the queue mapping information indicates a mapping relationship between the function queues and the dies; generating, by the controller according to a signal generation rule, a time sequence signal corresponding to the basic instruction; and sending, by the controller, the time sequence signal to the flash medium in which the associated die is located.
2. The flash medium access method of claim 1 , wherein generating the time sequence signal corresponding to the basic instruction comprises: obtaining, by the controller, an identifier of the basic instruction; querying, by the controller according to the signal generation rule, output sequence information and at least one type of pin level status information associated with the identifier of the basic instruction, wherein the pin level status information indicates a level status of a specified pin in a clock cycle, wherein the output sequence information indicates an output sequence of the at least one type of the pin level status information, and wherein the specified pin is a control pin on the controller; and generating, by the controller, the time sequence signal according to the at least one type of the pin level status information and the output sequence information.
3. The flash medium access method of claim 1 , wherein generating the time sequence signal corresponding to the basic instruction comprises: obtaining, by the controller, an identifier of the basic instruction; querying, by the controller according to a preset signal generation rule, clock cycle quantity information and level status information associated with the identifier of the basic instruction, wherein the clock cycle quantity information indicates a quantity of to-be-output clock cycles, and wherein the level status information indicates a level status of a specified pin in each of the to-be-output clock cycles; and generating, by the controller, the time sequence signal according to the clock cycle quantity information and the level status information.
4. The flash medium access method of claim 1 , wherein before selecting the target function queue from the function queues, the flash medium access method further comprises: receiving, by the controller, an operation instruction from a solid state drive controller, wherein the operation instruction carries an access address; dividing, by the controller, the operation instruction into at least two basic instructions; identifying, by the controller from the function queues, a function queue associated with the access address; and placing, by the controller, the at least two basic instructions in the associated function queue.
5. The flash medium access method of claim 4 , wherein identifying the function queue associated with the access address comprises: identifying a target die according to an address range of the access address, wherein each of the dies corresponds to one address range; and identifying, according to the queue mapping information, a function queue associated with the target die, wherein the target die is one of the dies coupled to the controller.
6. The flash medium access method of claim 1 , wherein the controller is communicatively coupled to a plurality of different flash mediums, and wherein the different flash mediums are from different manufacturers.
7. The flash medium access method of claim 6 , wherein the different flash mediums comprise different modes, speeds, commands, and protocols.
8. A controller, comprising: a memory configured to store a plurality of instructions; and a processor coupled to the memory, wherein the instructions cause the processor to be configured to: select a target function queue from a plurality of function queues by randomly selecting a non-empty function queue from the function queues each time as the target function queue, wherein a flash medium in which a die associated with the target function queue is located is in an idle state, wherein the controller is coupled to at least one flash medium, wherein each of the at least one flash medium comprises at least one die, and wherein a number of the function queues is a same as a number of dies; obtain a basic instruction from the target function queue; identify, according to queue mapping information, the die associated with the target function queue, wherein the queue mapping information indicates a mapping relationship between the function queues and the dies; generate, according to a signal generation rule, a time sequence signal corresponding to the basic instruction; and send the time sequence signal to the flash medium in which the associated die is located.
9. The controller of claim 8 , wherein the instructions further cause the processor to be configured to: obtain an identifier of the basic instruction; query, according to the signal generation rule, output sequence information and at least one type of pin level status information associated with the identifier of the basic instruction, wherein the pin level status information indicates a level status of a specified pin in a clock cycle, wherein the output sequence information indicates an output sequence of the at least one type of the pin level status information, and wherein the specified pin is a control pin on the controller; and generate the time sequence signal according to the at least one type of the pin level status information and the output sequence information.
10. The controller of claim 8 , wherein the instructions further cause the processor to be configured to: obtain an identifier of the basic instruction; query, according to a preset signal generation rule, clock cycle quantity information and level status information associated with the identifier of the basic instruction, wherein the clock cycle quantity information indicates a quantity of to-be-output clock cycles, and wherein the level status information indicates a level status of a specified pin in each of the to-be-output clock cycles; and generate the time sequence signal according to the clock cycle quantity information and the level status information.
11. The controller of claim 8 , wherein the instructions further cause the processor to be configured to: receive an operation instruction from a solid state drive controller, wherein the operation instruction carries an access address; divide the operation instruction into at least two basic instructions; identify, from the function queues, a function queue associated with the access address; and place, the at least two basic instructions in the associated function queue.
12. The controller of claim 11 , wherein the instructions further cause the processor to be configured to: identify a target die according to an address range of the access address, wherein each of the dies corresponds to one address range; and identify, according to the queue mapping information, a function queue associated with the target die, wherein the target die is one of the dies coupled to the controller.
13. The controller of claim 8 , wherein the controller is communicatively coupled to a plurality of different flash mediums, and wherein the different flash mediums are from different manufacturers.
14. The controller of claim 13 , wherein the different flash mediums comprise different modes, speeds, commands, and protocols.
15. A computer-readable storage medium comprising instructions which, when executed by a computer, cause the computer to: select a target function queue from a plurality of function queues by randomly selecting a non-empty function queue from the function queues each time as the target function queue, wherein a flash medium in which a die associated with the target function queue is located is in an idle state, wherein a controller is coupled to at least one flash medium, wherein each of the at least one flash medium comprises at least one die, and wherein a number of function queues is a same as a number of dies; obtain a basic instruction from the target function queue; identify, according to queue mapping information, the die associated with the target function queue, wherein the queue mapping information indicates a mapping relationship between the function queues and the dies; generate, according to a signal generation rule, a time sequence signal corresponding to the basic instruction; and send the time sequence signal to the flash medium in which the associated die is located.
16. The computer-readable storage medium of claim 15 , wherein the instructions further cause the computer to: obtain an identifier of the basic instruction; query, according to the signal generation rule, output sequence information and at least one type of pin level status information associated with the identifier of the basic instruction, wherein the pin level status information indicates a level status of a specified pin in a clock cycle, wherein the output sequence information indicates an output sequence of the at least one type of the pin level status information, and wherein the specified pin is a control pin on the controller; and generate the time sequence signal according to the at least one type of the pin level status information and the output sequence information.
17. The computer-readable storage medium of claim 15 , wherein the instructions further cause the computer to: obtain an identifier of the basic instruction; query, according to a preset signal generation rule, clock cycle quantity information and level status information associated with the identifier of the basic instruction, wherein the clock cycle quantity information indicates a quantity of to-be-output clock cycles, and wherein the level status information indicates a level status of a specified pin in each of the to-be-output clock cycles; and generate the time sequence signal according to the clock cycle quantity information and the level status information.
18. The computer-readable storage medium of claim 15 , wherein the instructions further cause the computer to: receive an operation instruction from a solid state drive controller, wherein the operation instruction carries an access address; divide the operation instruction into at least two basic instructions; identify, from the function queues, a function queue associated with the access address; and place the at least two basic instructions in the associated function queue.
19. The computer-readable storage medium of claim 15 , wherein the controller is communicatively coupled to a plurality of different flash mediums, and wherein the different flash mediums are from different manufacturers.
20. The computer-readable storage medium of claim 19 , wherein the different flash mediums comprise different modes, speeds, commands, and protocols.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
February 28, 2019
October 13, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.