Methods and systems of managing memory addresses in a large capacity multi-level cell (MLC) based flash memory device
First Claim
1. A method of managing memory address of a multi-level cell (MLC) based flash memory device comprising:
- receiving, in the MLC based flash memory device, a logical sector address (LSA) along with a data transfer request from a host computing device;
extracting set, entry, page and sector numbers from the LSA with an indexing scheme;
loading a set, corresponding to the set number, of partial logical-to-physical address and page usage information (PLTPPUI) into an address correlation page usage memory (ACPUM);
reading a physical block number of flash memory of the MLC based flash memory device, the physical block number corresponds to the entry number in the ACPUM; and
when the data transfer request is a read request, reading data from a physical page corresponding to the page number to a page buffer, and sending a requested data sector from the page buffer in accordance with the sector number received from the host computing device;
when the data transfer request is a write request, writing page buffer contents to a physical page corresponding to the page number if the page buffer contents have been modified, writing a received data sector to the page buffer in accordance with the sector number received from the host computing device and setting corresponding one of a plurality of sector update flags reflecting the data sector just written into the page buffer.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems of managing memory addresses in a large capacity multi-level cell based flash memory device are described. According to one aspect, a flash memory device comprises a processing unit to manage logical-to-physical address correlation using an indexing scheme. The flash memory is partitioned into N sets. Each set includes a plurality of entries (i.e., blocks). N sets of partial logical entry number to physical block number and associated page usage information (hereinafter ‘PLTPPUI’) are stored in the reserved area of the MLC based flash memory. Only one the N sets is loaded to address correlation and page usage memory (ACPUM), which is a limited size random access memory (RAM). In one embodiment, static RAM (SRAM) is implemented for fast access time for the address correlation. LSA received together with the data transfer request dictates which one of the N sets of PLTPPUI is loaded into ACPUM.
21 Citations
17 Claims
-
1. A method of managing memory address of a multi-level cell (MLC) based flash memory device comprising:
-
receiving, in the MLC based flash memory device, a logical sector address (LSA) along with a data transfer request from a host computing device; extracting set, entry, page and sector numbers from the LSA with an indexing scheme; loading a set, corresponding to the set number, of partial logical-to-physical address and page usage information (PLTPPUI) into an address correlation page usage memory (ACPUM); reading a physical block number of flash memory of the MLC based flash memory device, the physical block number corresponds to the entry number in the ACPUM; and when the data transfer request is a read request, reading data from a physical page corresponding to the page number to a page buffer, and sending a requested data sector from the page buffer in accordance with the sector number received from the host computing device; when the data transfer request is a write request, writing page buffer contents to a physical page corresponding to the page number if the page buffer contents have been modified, writing a received data sector to the page buffer in accordance with the sector number received from the host computing device and setting corresponding one of a plurality of sector update flags reflecting the data sector just written into the page buffer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A multi-level cell (MLC) based flash memory device adapted to be accessed by a host computing device comprising:
-
an upper housing structure; a lower housing structure; and a core unit enclosed in between the upper and lower housing structures, wherein the core unit comprises an interface connector and a print circuit board with at least one MLC based flash memory chip and a flash memory controller mounted thereon, wherein the flash memory controller is configured for managing memory address of the flash memory device with following operations; receiving, in the MLC based flash memory device, a logical sector address (LSA) along with a data transfer request from a host computing device; extracting set, entry, page and sector numbers from the LSA with an indexing scheme; loading a set, corresponding to the set number, of partial logical-to-physical address and page usage information (PLTPPUI) into an address correlation page usage memory (ACPUM); reading a physical block number of flash memory of the MLC based flash memory device, the physical block number corresponds to the entry number in the ACPUM; and when the data transfer request is a read request, reading data from a physical page corresponding to the page number to a page buffer, and sending a requested data sector from the page buffer in accordance with the sector number received from the host computing device; when the data transfer request is a write request, writing page buffer contents to the physical page corresponding to the page number of if the page buffer contents have been modified, writing a received data sector to the page buffer in accordance with the sector number received from the host computing device and setting corresponding one of a plurality of sector update flags reflecting the data sector just written into the page buffer. - View Dependent Claims (15, 16, 17)
-
Specification