Flash memory device comprising host interface for processing a multi-command descriptor block in order to exploit concurrency
First Claim
1. A flash memory device comprising:
- a plurality of flash memories, including a first flash memory and a second flash memory;
a flash controller for accessing the first flash memory over a first channel and the second flash memory over a second channel; and
a host interface operable to;
receive a multi-command descriptor block from a host, wherein the multi-command descriptor block comprises identifiers for identifying a plurality of access commands that the host is preparing to request;
select a first group of the access commands to execute concurrently and select a second group of the access commands to execute concurrently;
after receiving the multi-command descriptor block, receive the first group of access commands from the host;
execute the first group of access commands concurrently by accessing at least the first and second flash memories concurrently;
after receiving the multi-command descriptor block, receive the second group of access commands from the host; and
execute the second group of access commands concurrently by accessing at least the first and second flash memories concurrently.
10 Assignments
0 Petitions
Accused Products
Abstract
A flash memory device is disclosed comprising a flash controller for accessing a first flash memory over a first channel and a second flash memory over a second channel. A multi-command descriptor block is received from a host, wherein the multi-command descriptor block comprises identifiers for identifying a plurality of access commands that the host is preparing to request. A first group of the access commands are selected to execute concurrently and a second group of the access commands are selected to execute concurrently. The first group of access commands are received from the host and executed concurrently by accessing at least the first and second flash memories concurrently. The second group of access commands are received from the host and executed concurrently by accessing at least the first and second flash memories concurrently.
-
Citations
24 Claims
-
1. A flash memory device comprising:
-
a plurality of flash memories, including a first flash memory and a second flash memory; a flash controller for accessing the first flash memory over a first channel and the second flash memory over a second channel; and a host interface operable to; receive a multi-command descriptor block from a host, wherein the multi-command descriptor block comprises identifiers for identifying a plurality of access commands that the host is preparing to request; select a first group of the access commands to execute concurrently and select a second group of the access commands to execute concurrently; after receiving the multi-command descriptor block, receive the first group of access commands from the host; execute the first group of access commands concurrently by accessing at least the first and second flash memories concurrently; after receiving the multi-command descriptor block, receive the second group of access commands from the host; and execute the second group of access commands concurrently by accessing at least the first and second flash memories concurrently. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of operating a flash memory device comprising, the flash memory device comprising a plurality of flash memories, including a first flash memory and a second flash memory, and a flash controller for accessing the first flash memory over a first channel and the second flash memory over a second channel, the method comprising:
-
receiving a multi-command descriptor block from a host, wherein the multi-command descriptor block comprises identifiers for identifying a plurality of access commands that the host is preparing to request; selecting a first group of the access commands to execute concurrently and selecting a second group of the access commands to execute concurrently; after receiving the multi-command descriptor block, receiving the first group of access commands from the host; executing the first group of access commands concurrently by accessing at least the first and second flash memories concurrently; after receiving the multi-command descriptor block, receiving the second group of access commands from the host; and executing the second group of access commands concurrently by accessing at least the first and second flash memories concurrently. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
Specification