Standardized flash controller
First Claim
1. A flash array controller system, comprising a plurality of flash array controllers, each of said controllers serving to control a flash chip of the flash array, each of said controllers including a translation apparatus for translating commands received from the CPU into commands particular to the flash chip, each of said controllers featuring:
- a. a count register,b. a data register,c. a status register,d. a command register that recognizes the following commands;
read;
write;
erase; and
identify;
wherein each of said controllers is located on one of said flash chips of the flash array, and wherein said controller features a protocol for communicating with another of said controllers, said controller system being configured such that flash addresses are divided and assigned to the various flash chips, said controller system featuring a method for summing up the total memory contained in the entire flash array and returning that sum to the CPU in response to an identify command.
3 Assignments
0 Petitions
Accused Products
Abstract
A flash memory controller operates a flash memory array comprising a plurality of different types of flash memory chips. The CPU interacts with the array by issuing generic commands through a single Memory Technology Driver (MTD), while the controller translates the generic commands into commands specific to the chip comprising the portion of the array being addressed. The controller operates each of the flash chips which comprises the flash memory array, and presents to the CPU a memory system comprised of a single addressable entity. According to a further feature of the invention, the controller is embedded into each of the flash chips in an array in order to further reduce overhead costs.
234 Citations
29 Claims
-
1. A flash array controller system, comprising a plurality of flash array controllers, each of said controllers serving to control a flash chip of the flash array, each of said controllers including a translation apparatus for translating commands received from the CPU into commands particular to the flash chip, each of said controllers featuring:
-
a. a count register, b. a data register, c. a status register, d. a command register that recognizes the following commands; read;
write;
erase; and
identify;wherein each of said controllers is located on one of said flash chips of the flash array, and wherein said controller features a protocol for communicating with another of said controllers, said controller system being configured such that flash addresses are divided and assigned to the various flash chips, said controller system featuring a method for summing up the total memory contained in the entire flash array and returning that sum to the CPU in response to an identify command.
-
-
2. A flash array controller system, comprising a plurality of flash array controllers, each of said controllers serving to control a flash chip of the flash array, each of said controllers including a translation apparatus for translating commands received from the CPU into commands particular to the flash chip, said translation apparatus being a simple discrete logic for translating commands received from the CPU into commands particular to the flash chip, each of said controllers featuring:
-
a. a count register, b. a data register, c. a status register, d. a command register that recognizes the following commands; read;
write;
erase; and
identify;said controller further comprising particular data embedded into the controller that includes information about the flash chip, said information being at least one from the group consisting of the size of the flash chip, the size of the minimal erasable block, and the programming voltage needed; wherein each of said controllers is located on one of said flash chips of the flash array, and wherein said controller features a protocol for communicating with another of said controllers, said controller being configured such that flash addresses are divided and assigned to the various flash chips, said controller system featuring a method for summing up the total memory contained in the entire flash array and returning that sum to the CPU in response to an identify command.
-
-
3. A flash array controller for controlling a flash array of a plurality of flash chips, the flash chips being of any type, the controller interacting with a driver on a CPU, the controller comprising a command register for receiving commands from the driver on the CPU and translating said commands into commands particular to the flash array, such that the type of flash chip is not restricted by the driver of the CPU, said command register recognizing the following commands:
- read, write, erase and identify.
- View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11)
- 12. A flash array controller for controlling a flash array of a plurality of flash chips, the flash chips being of any type, the controller interacting with a driver on a CPU, the controller comprising an address register for assigning an address to each of the plurality of flash chips such that the flash chip is an assigned flash chip, and for receiving a requested address from the driver on the CPU and locating said requested address on said assigned flash chip having said requested address, such that the driver on the CPU is able to issue a command to an address on any of the plurality of flash chips.
-
22. A flash array controller for controlling a flash array of a plurality of flash chips, the flash chips being of any type, the controller interacting with a driver on a CPU and with each flash chip in the array, the controller comprising:
-
(a) a count register for specifying a quantity of bytes for a read/write operation, as said count register recording said quantity of bytes according to a command from the CPU; (b) a data register for sequentially passing data between the CPU and the flash array; (c) a status register for giving a status of the flash array to the CPU; (d) an address register for specifying a flash address for a read/write operation, said flash address being specified by the CPU; and (e) a command register for receiving commands from the driver on the CPU and translating said commands into commands particular to the flash array, such that the type of flash chip is not restricted by the driver of the CPU, said command register recognizing and translating said commands such that said commands from the driver on the CPU are executed on the flash array, said commands including read, write, erase and identify. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29)
-
Specification