Method and system for facilitating fast wake-up of a flash memory system
First Claim
1. ) A method of maintaining flash data structures in accordance with events of a flash memory system, the method comprising a) maintaining in flash memory at least one flash management table whose contents are indicative of a state of the flash memory system;
- b) maintaining in said flash memory an events log, wherein, for at least one point in time, i) a most recently stored said at least one flash management table is indicative of an earlier state of the flash memory system; and
ii) at least one event more recent than said earlier state is stored in said events log.
12 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems and computer-readable code for maintaining flash data structures in accordance with events of a flash memory system are disclosed. Both an events log as well as at least one flash management table are maintained in flash memory. For at least one point in time, a most recently stored flash memory table is indicative of an earlier state of the flash memory system, while at least one event that is more recent than the earlier state is stored in the events log. During power-up, the flash management table is retrieved from flash memory. If the most recent event of the flash memory table is earlier than the most recent event of the events log, events are retrieved from the events log in order to update the flash memory table. Optionally, the updated flash memory table is saved to flash memory.
-
Citations
27 Claims
-
1. ) A method of maintaining flash data structures in accordance with events of a flash memory system, the method comprising
a) maintaining in flash memory at least one flash management table whose contents are indicative of a state of the flash memory system; b) maintaining in said flash memory an events log, wherein, for at least one point in time, i) a most recently stored said at least one flash management table is indicative of an earlier state of the flash memory system; and
ii) at least one event more recent than said earlier state is stored in said events log. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
18. ) A method of waking up in a flash memory system, the method comprising:
I) When waking up, a) reading from flash memory at least one flash management table describing a state of the flash memory system;
b) reading from said flash memory an events log containing records of pre-stored events of the flash memory system;
c) for at least one event stored in said events log, updating said at least one flash management table in accordance with changes effected by said at least one event. - View Dependent Claims (19, 20, 21, 22)
-
23. ) A flash memory system comprising:
-
a) a flash memory for storing data; and
b) flash management software for maintaining data structures used for accessing said flash memory, wherein said flash management software is operative to;
i) maintain in said flash memory at least one flash management table whose contents are indicative of a state of the flash memory system; and
b) maintain in said flash memory an events log, such that, for at least one point in time, I) a most recently stored said at least one flash management table is indicative of an earlier state of the flash memory system; and
II) at least one event more recent than said earlier state is stored in said events log.
-
-
24. ) A flash memory system comprising:
-
a) a flash memory for storing data; and
b) flash management software for maintaining at least one data structure used for accessing said flash memory, wherein, when waking up, said flash management software is operative to;
i) read from flash memory at least one flash management table describing a state of the flash memory system;
ii) read from said flash memory an events log containing records of pre-stored events of the flash memory system;
iii) for at least one event stored in said events log, update said at least one flash management table in accordance with changes effected by said at least one event.
-
-
25. ) A computer readable storage medium having computer readable code embodied in said computer readable storage medium, said computer readable code comprising instructions for maintaining flash data structures in accordance with events of a flash memory system, wherein said instructions comprise instructions to:
-
a) maintain in flash memory at least one flash management table whose contents are indicative of a state of the flash memory system;
b) maintain in said flash memory an events log, wherein, for at least one point in time, i) a most recently stored said at least one flash management table is indicative of an earlier state of the flash memory system; and
ii) at least one event more recent than said earlier state is stored in said events log.
-
-
26. ) A computer readable storage medium having computer readable code embodied in said computer readable storage medium, said computer readable code comprising instructions for maintaining flash data structures in accordance with events of a flash memory system, wherein said instructions comprise instructions to:
I) When waking up, a) read from flash memory at least one flash management table describing a state of the flash memory system;
b) read from said flash memory an events log containing records of pre-stored events of the flash memory system;
c) for at least one event stored in said events log, update said at least one flash management table in accordance with changes effected by said at least one event.
-
27. ) A method of maintaining flash data structures in accordance with events of a flash memory system, the method comprising:
-
a) maintaining in flash memory at least one flash management table whose contents are indicative of a state of the flash memory system;
b) maintaining in said flash memory an events log; and
c) concurrent with said maintaining of said at least one flash management table, maintaining in said flash memory data uniquely identifying a specific event of said events log, wherein said specific event is a most recent event corresponding to said contents of said at least one table.
-
Specification