Multiprocessor storage controller
First Claim
1. A storage system comprising:
- a first and a second flash memory group, each group comprising a plurality of flash memory devices;
a storage controller including a first processor group, a second processor group and a third processor group, each processor group comprising one or more processors for handling a different stage of a pipelined execution of host storage commands;
the first processor group including a host interface circuit coupled to receive a first host command and a second host command from one or more hosts, the first processor group including a first processor and a second processor configured for parallel processing of the first host command and the second host command;
the second processor group including a command processing circuit, the command processing circuit including a first processor and a second processor configured for parallel processing of the first host command and the second host command, the command processing circuit configured to provide the first host command to a first processor of the third processor group and the second host command to a second processor of the third processor group;
wherein the first processor of the third processor group is associated with the first flash memory group and the second processor of the third processor group is associated with the second flash memory group, each such processor of the third processor group being configured for controlling at least some operations of the flash memory group associated therewith;
wherein the storage controller is configured to cause the first and second host commands to be carried out substantially simultaneously.
2 Assignments
0 Petitions
Accused Products
Abstract
A storage controller has multiple processors, divided into groups, each of which handles a different stage of a pipelined process of performing host reads and writes. In some embodiments, the storage controller operates with a flash memory module, and includes a first processor group, a second processor group and a third processor group, each having one or more processors for handling a different stage of a pipelined execution of host storage commands. With respect to a first host command, a first processor of the first processor group, a first processor of the second processor group, and a first processor of the third processor group comprise a first pipeline, and with respect to a second host command, a second processor of the first processor group, a second processor of the second processor group, and a second processor of the third processor group comprise a second pipeline.
-
Citations
19 Claims
-
1. A storage system comprising:
-
a first and a second flash memory group, each group comprising a plurality of flash memory devices; a storage controller including a first processor group, a second processor group and a third processor group, each processor group comprising one or more processors for handling a different stage of a pipelined execution of host storage commands; the first processor group including a host interface circuit coupled to receive a first host command and a second host command from one or more hosts, the first processor group including a first processor and a second processor configured for parallel processing of the first host command and the second host command; the second processor group including a command processing circuit, the command processing circuit including a first processor and a second processor configured for parallel processing of the first host command and the second host command, the command processing circuit configured to provide the first host command to a first processor of the third processor group and the second host command to a second processor of the third processor group; wherein the first processor of the third processor group is associated with the first flash memory group and the second processor of the third processor group is associated with the second flash memory group, each such processor of the third processor group being configured for controlling at least some operations of the flash memory group associated therewith; wherein the storage controller is configured to cause the first and second host commands to be carried out substantially simultaneously. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of operating a system including a storage controller configured on a single integrated circuit device, and a plurality of groups of flash memory devices, the storage controller including a first processor group, a second processor group and a third processor group, each processor group comprising one or more processors for handling a different stage of a pipelined execution of host storage commands, the method comprising:
-
receiving a first host command and performing a task related to the first host command in a first processor of the first processor group, the first host command being received from a first host coupled to the storage controller; passing information related to the first host command from the first processor directly or indirectly to a second processor, the second processor being part of the second processor group; performing a task at the second processor related to the first host command and directly or indirectly passing information related to the first host command to a third processor, the third processor being part of the third processor group; receiving a second host command from a second host coupled to the storage controller at a fourth processor, the fourth processor being part of the first processor group, the first processor and the fourth processor configured for parallel processing of the first host command and the second host command; and performing a task at the fourth processor related to the second host command; wherein the operations of performing the task at the first processor and performing the task at the fourth processor occur during overlapping periods of time. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
Specification