Flash memory controller for electronic data flash card
First Claim
1. An electronic Multi Bit Cell (MBC) flash card adapted to be accessed by a host computer that is capable of establishing a communication link, said electronic MBC flash card comprising:
- a card body;
a MBC flash memory device mounted on the card body, the MBC flash memory device including a plurality of non volatile memory cells for storing a data file, said memory cells being arranged in at least one of a plurality of memory blocks, a plurality of pages, and a plurality of sectors;
an input/output interface circuit mounted on the card body for establishing communication with the host computer, wherein the input/output interface circuit includes a Universal Serial Bus (USB) interface circuit including means for transmitting said data file using a Bulk Only Transport (BOT) protocol; and
a MBC flash memory controller mounted on the card body and electrically connected to said MBC flash memory device and said input/output interface circuit, wherein the MBC flash memory controller comprises;
(a) means for determining whether the MBC flash memory device is supported by a processing unit of the MBC flash memory controller in accordance with a MBC flash detection algorithm code,(b) an index for storing a plurality of logical addresses and a plurality of physical addresses such that each said physical address is assigned to an associated said logical address, where each said physical address corresponds to an associated plurality of memory cells of the MBC flash memory device, and wherein the index comprises at least one look-up-table (LUT) for storing the logical addresses and the associated physical addresses,(c) means for selectively operating in one of;
a programming mode in which said MBC flash memory controller activates said input/output interface circuit to receive the data file from the host computer, and to store the data file in a first physical address of said MBC flash memory device associated with a first logical address and transfer length received with a standard USB BOT write command issued from the host computer to the MBC flash memory controller;
a data retrieving mode in which said MBC flash memory controller receives a standard USB BOT read command issued from the host computer including the first logical address and transfer length, and activates said input/output interface circuit to transmit the data file read from the first physical address of said MBC flash memory device associated with said first logical address to the host computer; and
a data resetting mode in which data from one or more memory blocks is erased from the MBC flash memory device, wherein said data resetting mode is initiated and performed automatically by said MBC flash memory controller after receiving said standard USB BOT write command using arbitration logic and data that is entirely stored on said MBC flash memory device;
(d) a ROM for storing boot code (BC) that provides initial executing sequences for said processor unit to initialize said MBC flash memory controller; and
(e) a SRAM for storing look-up-tables (LUT) for translation of a logical address from said host computer and a MBC flash physical address for said programming mode and said retrieving mode operations,wherein the MBC flash memory controller further comprises arbitration logic including means for assigning each said physical address to its associated said logical address.
2 Assignments
0 Petitions
Accused Products
Abstract
An electronic data flash card is accessible by a host computer, and includes a processing unit connected to a flash memory device that stores a data file, and an input-output interface circuit activated so as to establish a communication with the host computer. In an embodiment, the electronic data flash card uses a USB input/output interface circuit for communication with the host computer. A flash memory controller includes an index for converting logical addresses sent by the host computer into physical addresses associated with sectors of the flash memory device. The index is controlled by arbitration logic referencing to values from various look up tables and valid data stored in the flash memory device. The flash memory controller further includes a first-in-first-out unit (FIFO) for recycling obsolete sectors of the flash memory device in the background process so that they are available for reprogramming.
122 Citations
10 Claims
-
1. An electronic Multi Bit Cell (MBC) flash card adapted to be accessed by a host computer that is capable of establishing a communication link, said electronic MBC flash card comprising:
-
a card body; a MBC flash memory device mounted on the card body, the MBC flash memory device including a plurality of non volatile memory cells for storing a data file, said memory cells being arranged in at least one of a plurality of memory blocks, a plurality of pages, and a plurality of sectors; an input/output interface circuit mounted on the card body for establishing communication with the host computer, wherein the input/output interface circuit includes a Universal Serial Bus (USB) interface circuit including means for transmitting said data file using a Bulk Only Transport (BOT) protocol; and a MBC flash memory controller mounted on the card body and electrically connected to said MBC flash memory device and said input/output interface circuit, wherein the MBC flash memory controller comprises; (a) means for determining whether the MBC flash memory device is supported by a processing unit of the MBC flash memory controller in accordance with a MBC flash detection algorithm code, (b) an index for storing a plurality of logical addresses and a plurality of physical addresses such that each said physical address is assigned to an associated said logical address, where each said physical address corresponds to an associated plurality of memory cells of the MBC flash memory device, and wherein the index comprises at least one look-up-table (LUT) for storing the logical addresses and the associated physical addresses, (c) means for selectively operating in one of; a programming mode in which said MBC flash memory controller activates said input/output interface circuit to receive the data file from the host computer, and to store the data file in a first physical address of said MBC flash memory device associated with a first logical address and transfer length received with a standard USB BOT write command issued from the host computer to the MBC flash memory controller; a data retrieving mode in which said MBC flash memory controller receives a standard USB BOT read command issued from the host computer including the first logical address and transfer length, and activates said input/output interface circuit to transmit the data file read from the first physical address of said MBC flash memory device associated with said first logical address to the host computer; and a data resetting mode in which data from one or more memory blocks is erased from the MBC flash memory device, wherein said data resetting mode is initiated and performed automatically by said MBC flash memory controller after receiving said standard USB BOT write command using arbitration logic and data that is entirely stored on said MBC flash memory device; (d) a ROM for storing boot code (BC) that provides initial executing sequences for said processor unit to initialize said MBC flash memory controller; and (e) a SRAM for storing look-up-tables (LUT) for translation of a logical address from said host computer and a MBC flash physical address for said programming mode and said retrieving mode operations, wherein the MBC flash memory controller further comprises arbitration logic including means for assigning each said physical address to its associated said logical address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An electronic flash card adapted to be accessed by a host computer that is capable of establishing a communication link, said electronic flash card comprising:
-
a card body; a flash memory device mounted on the card body, the flash memory device including a plurality of non volatile memory cells for storing a data file, said memory cells being arranged in at least one of a plurality of memory blocks, a plurality of pages, and a plurality of sectors; an input/output interface circuit mounted on the card body for establishing communication with the host computer, wherein the input/output interface circuit includes a Universal Serial Bus (USB) interface circuit including means for transmitting said data file using a Bulk Only Transport (BOT) protocol; and a flash memory controller mounted on the card body and electrically connected to said flash memory device and said input/output interface circuit, wherein the flash memory controller comprises; (a) means for determining whether the flash memory device is supported by a processing unit of the flash memory controller in accordance with a flash detection algorithm code, (b) an index for storing a plurality of logical addresses and a plurality of physical addresses such that each said physical address is assigned to an associated said logical address, where each said physical address corresponds to an associated plurality of memory cells of the flash memory device, and wherein the index comprises at least one look-up-table (LUT) for storing the logical addresses and the associated physical addresses, (c) means for selectively operating in one of; a programming mode in which said flash memory controller activates said input/output interface circuit to receive the data file from the host computer, and to store the data file in a first physical address of said flash memory device associated with a first logical address and transfer length received with a standard USB BOT write command issued from the host computer to the flash memory controller; a data retrieving mode in which said flash memory controller receives a standard USB BOT read command issued from the host computer including the first logical address and transfer length, and activates said input/output interface circuit to transmit the data file read from the first physical address of said flash memory device associated with said first logical address to the host computer; and a data resetting mode in which obsolete data previously written into one or more memory cells is erased from the flash memory device, wherein said data resetting mode is initiated and performed automatically by said flash memory controller after receiving said standard USB BOT write command using arbitration logic and data that is entirely stored on said flash memory device, wherein said data resetting mode includes utilizing a recycling first-in-first out (FIFO) circuit to perform recycle operations on said memory blocks containing said obsolete data, and wherein the flash memory controller further comprises arbitration logic including means for assigning each said physical address to its associated said logical address.
-
Specification