Flash memory controller and system including data pipelines incorporating multiple buffers
First Claim
Patent Images
1. A flash memory controller configured to be coupled to external flash memory devices, the flash memory controller comprising:
- one or more ports for coupling to one or more host devices;
a set of flash stage buffers, each configured for holding a page of data read from one of the external flash memory devices pursuant to a respective host command, each flash stage buffer coupled to a respective external flash memory device by a first transmission path; and
a set of host port buffers configured for holding data read from a second set of buffers, the set of host port buffers coupled to the second set of buffers by a third transmission path and to the one or more host ports;
wherein the flash memory controller is further configured to be coupled to and control operation of an external data path RAM memory, the external data path RAM memory including the second set of buffers, the flash memory controller further configured to hold in the second set of buffers data read from any of the buffers in the set of flash stage buffers, the data stored in the second set of buffers related to a plurality of host commands, the flash memory controller further configured to couple the second set of buffers to the set of flash stage buffers by a second transmission path that includes a path through the external data path RAM memory.
11 Assignments
0 Petitions
Accused Products
Abstract
A storage controller connected to a flash memory storage module, the controller and module including multiple sets of buffers. The buffers are part of one or more pipelines through which data is moved between the storage module and one or more hosts.
192 Citations
24 Claims
-
1. A flash memory controller configured to be coupled to external flash memory devices, the flash memory controller comprising:
-
one or more ports for coupling to one or more host devices; a set of flash stage buffers, each configured for holding a page of data read from one of the external flash memory devices pursuant to a respective host command, each flash stage buffer coupled to a respective external flash memory device by a first transmission path; and a set of host port buffers configured for holding data read from a second set of buffers, the set of host port buffers coupled to the second set of buffers by a third transmission path and to the one or more host ports; wherein the flash memory controller is further configured to be coupled to and control operation of an external data path RAM memory, the external data path RAM memory including the second set of buffers, the flash memory controller further configured to hold in the second set of buffers data read from any of the buffers in the set of flash stage buffers, the data stored in the second set of buffers related to a plurality of host commands, the flash memory controller further configured to couple the second set of buffers to the set of flash stage buffers by a second transmission path that includes a path through the external data path RAM memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system including a flash memory controller, an external data path RAM memory coupled to the flash memory controller, the flash memory controller coupled to external flash memory devices, the system configured for pipelined execution of host commands, the system comprising:
-
one or more ports for coupling to one or more host devices; a set of flash stage buffers, each configured for holding a page of data read from one of the external flash memory devices pursuant to a respective host command, each flash stage buffer coupled to a respective external flash memory device by a first transmission path; a second set of buffers in the external data path RAM memory, the second set of buffers configured for holding data read from any of the buffers in the set of flash stage buffers, the data stored in the second set of buffers related to a plurality of host commands, the second set of buffers coupled to the set of flash stage buffers by a second transmission path that includes a path through the external data path RAM memory; and a set of host port buffers configured for holding data read from the second set of buffers, the set of host port buffers coupled to the second set of buffers by a third transmission path and to the one or more host ports. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method of operating a system, the system including a flash memory controller, an external data path RAM memory coupled to the flash memory controller, the flash memory controller coupled to external flash memory devices, the system configured for pipelined execution of host commands, the method comprising:
-
for a set of flash stage buffers, for each respective flash stage buffer, reading data from one of the external flash memory devices pursuant to a respective host command, each flash stage buffer coupled to a respective external flash memory device by a first transmission path; transferring data from any of the buffers in the set of flash stage buffers to a second set of buffers in the external data path RAM memory, the data stored in the second set of buffers related to a plurality of host commands, the second set of buffers coupled to the set of flash stage buffers by a second transmission path that includes a path through the external data path RAM memory; and transferring data from the second set of buffers to a set of host port buffers, the set of host port buffers coupled to the second set of buffers by a third transmission path and to one or more host ports. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification