Flash Memory Controller For Electronic Data Flash Card
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.
Claims
exact text as granted — not AI-modified1 . A storage system comprising:
a host computer including an interface bus; and an electronic data flash card adapted to communicate with the host computer through a communication link established by the host computer over the interface bus, the electronic data 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, the memory cells being arranged in at least one of a plurality of memory blocks, and a plurality of pages, and a plurality of sectors, wherein the flash memory device comprises one of a Multi-Level Cell flash memory device and a Single Level Cell flash memory device;
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 the flash memory device and the 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;
(b) an index for storing a plurality of logical addresses and a plurality of physical addresses such that each physical address is assigned to an associated logical address, where each 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, each LUT including static random access memory(SRAM) cells;
(c) means for operating in one of:
a data writing mode in which the flash memory controller activates the input/output interface circuit to receive the data file from the host computer, and to store the data file in a physical address of the flash memory device associated with a 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 the flash memory controller receives a standard USB BOT read command issued from the host computer including the logical address and transfer length, and activates the input/output interface circuit to transmit the data file read from the physical address of the flash memory device associated with the logical address to the host computer; and
a data resetting mode in which data from one or more memory cells is erased from the flash memory device, wherein the data resetting mode is initiated and performed by the flash memory controller after receiving the standard USB BOT write command using arbitration logic and data that is stored on the flash memory device;
(d) a read-only memory (ROM) for storing boot code (BC) that provides initial executing sequences for the processor unit to initialize the flash memory controller; and
(e) one or more look-up-tables (LUTs)
implemented by at least one synchronous random-access memory (SRAM) for translation of a logical address received from the host computer into a corresponding flash physical address for use during operation in one of the data writing mode and the retrieving mode.
2 . An electronic flash card adapted to be accessed by a host computer that is capable of establishing a communication link, the 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, the memory cells being arranged in at least one of a plurality of memory blocks, and a plurality of pages, and a plurality of sectors, wherein the flash memory device comprises one of a Multi-Level Cell flash memory device and a Single Level Cell flash memory device; 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 the flash memory device and the 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;
(b) an index for storing a plurality of logical addresses and a plurality of physical addresses such that each physical address is assigned to an associated logical address, where each 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, each LUT including static random access memory(SRAM) cells;
(c) means for operating in one of:
a data writing mode in which the flash memory controller activates the input/output interface circuit to receive the data file from the host computer, and to store the data file in a physical address of the flash memory device associated with a 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 the flash memory controller receives a standard USB BOT read command issued from the host computer including the logical address and transfer length, and activates the input/output interface circuit to transmit the data file read from the physical address of the flash memory device associated with the logical address to the host computer; and
a data resetting mode in which data from one or more memory cells is erased from the flash memory device, wherein the data resetting mode is initiated and performed by the flash memory controller after receiving the standard USB BOT write command using arbitration logic and data that is stored on the flash memory device;
(d) a read-only memory (ROM) for storing boot code (BC) that provides initial executing sequences for the processor unit to initialize the flash memory controller; and
(e) one or more look-up-tables (LUTs)
implemented by at least one synchronous random-access memory (SRAM) for translation of a logical address received from the host computer into a corresponding flash physical address for use during operation in one of the data writing mode and the retrieving mode.
3 . A electronic flash card adapted to be accessed by a host computer that is capable of establishing a communication link, the 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, the memory cells being arranged in at least one of a plurality of memory blocks, and a plurality of pages, and a plurality of sectors, wherein the flash memory device comprises one of a Multi-Level Cell flash memory device and a Single Level Cell flash memory device; 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 (USE) 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 the flash memory device and the 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;
(b) an index for storing a plurality of logical addresses and a plurality of physical addresses such that each physical address is assigned to an associated logical address, where each 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, each LUT including static random access memory(SRAM) cells;
(c) means for operating in one of:
a data writing mode in which the flash memory controller activates the input/output interface circuit to receive the data file from the host computer, and to store the data file in a physical address of the flash memory device associated with a 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 the flash memory controller receives a standard USB BOT read command issued from the host computer including the logical address and transfer length, and activates the input/output interface circuit to transmit the data file read from the physical address of the flash memory device associated with the logical address to the host computer; and
a data resetting mode in which data from one or more memory cells is erased from the flash memory device, wherein the data resetting mode is initiated and performed by the flash memory controller after receiving the standard USB BOT write command using arbitration logic and data that is stored on the flash memory device; and
(d) a read-only memory (ROM) for storing boot code (BC) that provides initial executing sequences for the processor unit to initialize the flash memory controller,
wherein the card body comprises a substrate on which the non-volatile memory device, the card reader interface circuit, and the flash memory controller are mounted using integrated circuits packaging technology.
4 . A flash memory controller for an electronic flash card adapted to be accessed by a host computer that is capable of establishing a communication link, the electronic flash card including:
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, the memory cells being arranged in at least one of a plurality of memory blocks, and a plurality of pages, and a plurality of sectors, wherein the flash memory device comprises one of a Multi-Level Cell flash memory device and a Single Level Cell flash memory device, and 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, a flash memory controller mounted on the card body and electrically connected to the flash memory device and the input/output interface circuit, and 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;
(b) an index for storing a plurality of logical addresses and a plurality of physical addresses such that each physical address is assigned to an associated logical address, where each 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, each LUT including static random access memory(SRAM) cells;
(c) means for operating in one of:
a data writing mode in which the flash memory controller activates the input/output interface circuit to receive the data file from the host computer, and to store the data file in a physical address of the flash memory device associated with a 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 the flash memory controller receives a standard USB BOT read command issued from the host computer including the logical address and transfer length, and activates the input/output interface circuit to transmit the data file read from the physical address of the flash memory device associated with the logical address to the host computer; and
a data resetting mode in which data from one or more memory cells is erased from the flash memory device, wherein the data resetting mode is initiated and performed by the flash memory controller after receiving the standard USB BOT write command using arbitration logic and data that is stored on the flash memory device; and
(d) a read-only memory (ROM) for storing boot code (BC) that provides initial executing sequences for the processor unit to initialize the flash memory controller.
5 . A method for managing a flash memory device in an electronic data flash card adapted to be accessed by a host computer that is capable of establishing a communication link, the electronic flash card including:
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, the memory cells being arranged in at least one of a plurality of memory blocks, and a plurality of pages, and a plurality of sectors, wherein the flash memory device comprises one of a Multi-Level Cell flash memory device and a Single Level Cell flash memory device, 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 the flash memory device and the input/output interface circuit, wherein the method comprises:
(a) determining whether the flash memory device is supported by a processing unit of the flash memory controller;
(b) storing a plurality of logical addresses and a plurality of physical addresses in an index such that each physical address is assigned to an associated logical address, where each 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, each LUT including static random access memory(SRAM) cells;
(c) operating in one of:
a data writing mode in which the flash memory controller activates the input/output interface circuit to receive the data file from the host computer, and to store the data file in a physical address of the flash memory device associated with a 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 the flash memory controller receives a standard USB BOT read command issued from the host computer including the logical address and transfer length, and activates the input/output interface circuit to transmit the data file read from the physical address of the flash memory device associated with the logical address to the host computer; and
a data resetting mode in which data from one or more memory cells is erased from the flash memory device, wherein the data resetting mode is initiated and performed by the flash memory controller after receiving the standard USB BOT write command using arbitration logic and data that is stored on the flash memory device; and
(d) storing boot code (BC) in a read-only memory (ROM) such that the BC provides initial executing sequences for the processor unit to initialize the flash memory controller.
6 . A computer readable medium for managing a flash memory device in an electronic data flash card adapted to be accessed by a host computer that is capable of establishing a communication link, the electronic flash card including:
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, the memory cells being arranged in at least one of a plurality of memory blocks, and a plurality of pages, and a plurality of sectors, wherein the flash memory device comprises one of a Multi-Level Cell flash memory device and a Single Level Cell flash memory device, 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 the flash memory device and the input/output interface circuit, wherein the computer readable medium contain program instructions which, when executed by the flash memory controller, cause the electronic data flash card to execute a method comprising:
(a) determining whether the flash memory device is supported by a processing unit of the flash memory controller;
(b) storing a plurality of logical addresses and a plurality of physical addresses in an index such that each physical address is assigned to an associated logical address, where each 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, each LUT including static random access memory(SRAM) cells;
(c) operating in one of:
a data writing mode in which the flash memory controller activates the input/output interface circuit to receive the data file from the host computer, and to store the data file in a physical address of the flash memory device associated with a 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 the flash memory controller receives a standard USB BOT read command issued from the host computer including the logical address and transfer length, and activates the input/output interface circuit to transmit the data file read from the physical address of the flash memory device associated with the logical address to the host computer; and
a data resetting mode in which data from one or more memory cells is erased from the flash memory device, wherein the data resetting mode is initiated and performed by the flash memory controller after receiving the standard USB BOT write command using arbitration logic and data that is stored on the flash memory device; and
(d) storing boot code (BC) in a read-only memory (ROM) such that the BC provides initial executing sequences for the processor unit to initialize the flash memory controller.
7 . A storage system comprising:
a host computer including an interface bus; and a single chip electronic data flash card adapted to communicate with the host computer through a communication link established by the host computer over the interface bus, the single chip electronic data 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, the memory cells being arranged in at least one of a plurality of memory blocks, and a plurality of pages, and a plurality of sectors, wherein the flash memory device comprises one of a Multi-Level Cell flash memory device and a Single Level Cell flash memory device; 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 the flash memory device and the 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;
(b) an index for storing a plurality of logical addresses and a plurality of physical addresses such that each physical address is assigned to an associated logical address, where each 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, each LUT including static random access memory(SRAM) cells;
(c) means for operating in one of:
a data writing mode in which the flash memory controller activates the input/output interface circuit to receive the data file from the host computer, and to store the data file in a physical address of the flash memory device associated with a 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 the flash memory controller receives a standard USB BOT read command issued from the host computer including the logical address and transfer length, and activates the input/output interface circuit to transmit the data file read from the physical address of the flash memory device associated with the logical address to the host computer; and
a data resetting mode in which data from one or more memory cells is erased from the flash memory device, wherein the data resetting mode is initiated and performed by the flash memory controller after receiving the standard USB BOT write command using arbitration logic and data that is stored on the flash memory device;
(d) a read-only memory (ROM) for storing boot code (BC) that provides initial executing sequences for the processor unit to initialize the flash memory controller; and
(e) a SRAM for storing look-up-tables (LUT) for translation of a logical address from the host computer and a flash physical address for the data writing mode and the retrieving mode operations,
wherein the flash memory controller further comprises means for assigning each the physical address to its associated the logical address, and wherein the card body comprises a substrate on which the non-volatile memory device, the input/output interface circuit, and the flash memory controller are mounted using integrated circuits packaging technology such that the non-volatile memory device, the card reader interface circuit and the flash memory controller are integrated into one integrated circuit package.
8 . An single chip electronic data flash card adapted to be accessed by a host computer that is capable of establishing a communication link, the single chip electronic data 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, the memory cells being arranged in at least one of a plurality of memory blocks, and a plurality of pages, and a plurality of sectors, wherein the flash memory device comprises one of a Multi-Level Cell flash memory device and a Single Level Cell flash memory device; 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 the flash memory device and the 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;
(b) an index for storing a plurality of logical addresses and a plurality of physical addresses such that each physical address is assigned to an associated logical address, where each 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, each LUT including static random access memory(SRAM) cells;
(c) means for operating in one of:
a data writing mode in which the flash memory controller activates the input/output interface circuit to receive the data file from the host computer, and to store the data file in a physical address of the flash memory device associated with a 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 the flash memory controller receives a standard USB BOT read command issued from the host computer including the logical address and transfer length, and activates the input/output interface circuit to transmit the data file read from the physical address of the flash memory device associated with the logical address to the host computer; and
a data resetting mode in which data from one or more memory cells is erased from the flash memory device, wherein the data resetting mode is initiated and performed by the flash memory controller after receiving the standard USB BOT write command using arbitration logic and data that is stored on the flash memory device;
(d) a read-only memory (ROM) for storing boot code (BC) that provides initial executing sequences for the processor unit to initialize the flash memory controller; and
(e) a SRAM for storing look-up-tables (LUT) for translation of a logical address from the host computer and a flash physical address for the data writing mode and the retrieving mode operations, wherein the card body comprises a substrate on which the non-volatile memory device, the input/output interface circuit, and the flash memory controller are mounted using integrated circuits packaging technology such that the non-volatile memory device, the card reader interface circuit and the flash memory controller are integrated into one integrated circuit package.
9 . A single chip electronic data flash card adapted to be accessed by a host computer that is capable of establishing a communication link, the single chip electronic data 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, the memory cells being arranged in at least one of a plurality of memory blocks, and a plurality of pages, and a plurality of sectors, wherein the flash memory device comprises one of a Multi-Level Cell flash memory device and a Single Level Cell flash memory device; 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 the flash memory device and the 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;
(b) an index for storing a plurality of logical addresses and a plurality of physical addresses such that each physical address is assigned to an associated logical address, where each 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, each LUT including static random access memory(SRAM) cells;
(c) means for operating in one of:
a data writing mode in which the flash memory controller activates the input/output interface circuit to receive the data file from the host computer, and to store the data file in a physical address of the flash memory device associated with a 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 the flash memory controller receives a standard USB BOT read command issued from the host computer including the logical address and transfer length, and activates the input/output interface circuit to transmit the data file read from the physical address of the flash memory device associated with the logical address to the host computer; and
a data resetting mode in which data from one or more memory cells is erased from the flash memory device, wherein the data resetting mode is initiated and performed by the flash memory controller after receiving the standard USB BOT write command using arbitration logic and data that is stored on the flash memory device;
(d) a read-only memory (ROM) for storing boot code (BC) that provides initial executing sequences for the processor unit to initialize the flash memory controller,
wherein the card body comprises a substrate on which the non-volatile memory device, the input/output interface circuit, and the flash memory controller are mounted using integrated circuits packaging technology such that the non-volatile memory device, the card reader interface circuit and the flash memory controller are integrated into one integrated circuit package.
10 . A flash memory controller for an single chip electronic data flash card adapted to be accessed by a host computer that is capable of establishing a communication link, the single chip electronic data flash card including:
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, the memory cells being arranged in at least one of a plurality of memory blocks, and a plurality of pages, and a plurality of sectors, wherein the flash memory device comprises one of a Multi-Level Cell flash memory device and a Single Level Cell flash memory device; 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; a flash memory controller mounted on the card body and electrically connected to the flash memory device and the input/output interface circuit, wherein the card body comprises a substrate on which the non-volatile memory device, the input/output interface circuit, and the flash memory controller are mounted using integrated circuits packaging technology such that the non-volatile memory device, the card reader interface circuit and the flash memory controller are integrated into one integrated circuit package, and 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;
(b) an index for storing a plurality of logical addresses and a plurality of physical addresses such that each physical address is assigned to an associated logical address, where each 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, each LUT including static random access memory(SRAM) cells;
(c) means for operating in one of:
a data writing mode in which the flash memory controller activates the input/output interface circuit to receive the data file from the host computer, and to store the data file in a physical address of the flash memory device associated with a 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 the flash memory controller receives a standard USB BOT read command issued from the host computer including the logical address and transfer length, and activates the input/output interface circuit to transmit the data file read from the physical address of the flash memory device associated with the logical address to the host computer; and
a data resetting mode in which data from one or more memory cells is erased from the flash memory device, wherein the data resetting mode is initiated and performed by the flash memory controller after receiving the standard USB BOT write command using arbitration logic and data that is stored on the flash memory device; and
(d) a read-only memory (ROM) for storing boot code (BC) that provides initial executing sequences for the processor unit to initialize the flash memory controller.
11 . A method for managing a flash memory device in an single chip electronic data flash card adapted to be accessed by a host computer that is capable of establishing a communication link, the single chip electronic data flash card including:
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, the memory cells being arranged in at least one of a plurality of memory blocks, and a plurality of pages, and a plurality of sectors, wherein the flash memory device comprises one of a Multi-Level Cell flash memory device and a Single Level Cell flash memory device; and 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; a flash memory controller mounted on the card body and electrically connected to the flash memory device and the input/output interface circuit, wherein the card body comprises a substrate on which the non-volatile memory device, the input/output interface circuit, and the flash memory controller are mounted using integrated circuits packaging technology such that the non-volatile memory device, the card reader interface circuit and the flash memory controller are integrated into one integrated circuit package, and wherein the method comprises:
(a) determining whether the flash memory device is supported by a processing unit of the flash memory controller;
(b) storing a plurality of logical addresses and a plurality of physical addresses in an index such that each physical address is assigned to an associated logical address, where each 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, each LUT including static random access memory(SRAM) cells;
(c) operating in one of:
a data writing mode in which the flash memory controller activates the input/output interface circuit to receive the data file from the host computer, and to store the data file in a physical address of the flash memory device associated with a 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 the flash memory controller receives a standard USB BOT read command issued from the host computer including the logical address and transfer length, and activates the input/output interface circuit to transmit the data file read from the physical address of the flash memory device associated with the logical address to the host computer; and
a data resetting mode in which data from one or more memory cells is erased from the flash memory device, wherein the data resetting mode is initiated and performed by the flash memory controller after receiving the standard USB BOT write command using arbitration logic and data that is stored on the flash memory device; and
(d) storing boot code (BC) in a read-only memory (ROM) that provides initial executing sequences for the processor unit to initialize the flash memory controller.
12 . A computer readable medium for managing a flash memory device in an single chip single chip electronic data flash card adapted to be accessed by a host computer that is capable of establishing a communication link, the single chip electronic data flash card including:
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, the memory cells being arranged in at least one of a plurality of memory blocks, and a plurality of pages, and a plurality of sectors, wherein the flash memory device comprises one of a Multi-Level Cell flash memory device and a Single Level Cell flash memory device; and 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; a flash memory controller mounted on the card body and electrically connected to the flash memory device and the input/output interface circuit, wherein the card body comprises a substrate on which the non-volatile memory device, the input/output interface circuit, and the flash memory controller are mounted using integrated circuits packaging technology such that the non-volatile memory device, the card reader interface circuit and the flash memory controller are integrated into one integrated circuit package, and wherein the computer readable medium contain program instructions which, when executed by the flash memory controller, cause the single chip electronic data flash card to execute a method comprising:
(a) determining whether the flash memory device is supported by a processing unit of the flash memory controller;
(b) storing a plurality of logical addresses and a plurality of physical addresses in an index such that each physical address is assigned to an associated logical address, where each 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, each LUT including static random access memory(SRAM) cells;
(c) operating in one of:
a data writing mode in which the flash memory controller activates the input/output interface circuit to receive the data file from the host computer, and to store the data file in a physical address of the flash memory device associated with a 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 the flash memory controller receives a standard USB BOT read command issued from the host computer including the logical address and transfer length, and activates the input/output interface circuit to transmit the data file read from the physical address of the flash memory device associated with the logical address to the host computer; and
a data resetting mode in which data from one or more memory cells is erased from the flash memory device, wherein the data resetting mode is initiated and performed by the flash memory controller after receiving the standard USB BOT write command using arbitration logic and data that is stored on the flash memory device; and
(d) storing boot code (BC) in a read-only memory (ROM) that provides initial executing sequences for the processor unit to initialize the flash memory controller.Join the waitlist — get patent alerts
Track US2010082892A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.