Flash memory management
First Claim
1. A method for managing memory, said method comprising:
- accessing memory in accordance with a memory management data structure, said memory management data structure comprising information pertaining to said memory;
dynamically updating designated locations of said memory with information pertaining to memory status; and
dynamically updating said memory management data structure with information pertaining to memory status.
2 Assignments
0 Petitions
Accused Products
Abstract
Flash memory is managed utilizing memory management data structures residing in volatile memory of a flash memory device. The memory management data structures are created and updated each time power is supplied to the memory device. During write operations to the flash memory, specific locations in the flash memory are updated to reflect the current status of the flash memory. When power is interrupted, the memory management data structures are recreated upon reapplication of power. The flash memory is scanned and the information obtained from the specific locations in the flash memory is utilized to construct the memory management data structures. No bad block tables are required. Flash memory is managed to provide relatively good random write performance and to accommodate power interruptions. Applications include the use of flash memory for general purpose computing and devices in which power can fail at any time (due to being unplugged for example).
224 Citations
20 Claims
-
1. A method for managing memory, said method comprising:
-
accessing memory in accordance with a memory management data structure, said memory management data structure comprising information pertaining to said memory;
dynamically updating designated locations of said memory with information pertaining to memory status; and
dynamically updating said memory management data structure with information pertaining to memory status. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An apparatus for managing memory, said apparatus comprising:
-
a first memory portion for comprising a memory management data structure for managing a second memory portion;
said second memory portion comprising a plurality of blocks, each block comprising a plurality of pages; and
a controller portion for;
controlling access to said second memory portion; and
constructing said memory management data structure. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A computer-readable medium having computer-executable instructions for performing the acts of:
-
creating a memory management data structure in a first memory in accordance with information stored in designated locations in a second memory, wherein said memory management data structure is created each time power is applied to said first memory subsequent a lack of power to said first memory;
accessing said second memory in accordance with said memory management data structure, said memory management data structure comprising information pertaining to said second memory;
dynamically updating designated locations of said second memory with information pertaining to second memory status; and
dynamically updating said memory management data structure with information pertaining to second memory status. - View Dependent Claims (18, 19, 20)
-
Specification