Method for fast wake-up of a flash memory system
DCFirst Claim
1. A system for enabling fast wake-up of a flash memory device, such that data integrity is always maintained, comprising:
- i. a hardware computing device for accessing the flash memory device;
ii. a non volatile flash memory data storage device for storing data of said hardware computing device, such that there is at least one translation table in said flash memory data storage device, for providing a translation layer with information required for converting a data access request to a flash access request;
iii. flash device low level software access routines, for providing access to content of the flash memory device;
iv. a translation layer for presenting a virtual view of said non-volatile flash memory device as a random access storage device;
v. a software mechanism selected from the group consisting of a host computer operating system and any other software program, for enabling the processing of data of said hardware computing device; and
vi. software for controlling access and use of said translation table, which enables fast wake-up of the system.
12 Assignments
Litigations
1 Petition
Accused Products
Abstract
A system and method for enabling a fast wake-up of a flash memory system, without compromising the integrity of the flash data structures and without risking loss of data. This is achieved by storing translation tables in the flash, but adding some means for the software to invalidate them in a way that is detectable whenever reading them. Possible implementations include adding a checksum value that makes the sum of all entries equal some fixed known value, or adding a validity flag to the stored tables, enabling the tables to be invalidated at will. In addition, one should ask the application software to call a specific function in the translation layer before shutting the system down. The present invention enables fast wake-ups when the application software made an orderly exit and made us store the tables. In the case an orderly exit was not made, the present invention commands a regular wake-up procedure, thereby ensuring data intengrity.
111 Citations
11 Claims
-
1. A system for enabling fast wake-up of a flash memory device, such that data integrity is always maintained, comprising:
-
i. a hardware computing device for accessing the flash memory device;
ii. a non volatile flash memory data storage device for storing data of said hardware computing device, such that there is at least one translation table in said flash memory data storage device, for providing a translation layer with information required for converting a data access request to a flash access request;
iii. flash device low level software access routines, for providing access to content of the flash memory device;
iv. a translation layer for presenting a virtual view of said non-volatile flash memory device as a random access storage device;
v. a software mechanism selected from the group consisting of a host computer operating system and any other software program, for enabling the processing of data of said hardware computing device; and
vi. software for controlling access and use of said translation table, which enables fast wake-up of the system. - View Dependent Claims (2, 3)
-
-
4. A method for enabling fast wake-up of a flash memory device, such that data integrity is ensured, comprising the steps of:
-
i. storing at least one translation table in the flash memory device;
ii. adding a software means for invalidating said table of the flash memory device; and
iii. providing a translation layer with a function for verifying an orderly shutdown of the flash memory device, such that a fast wake-up is enabled. - View Dependent Claims (5, 6, 7)
-
-
8. A method for enabling fast wake-up of a flash memory system, such that data integrity is assured, comprising the steps of:
-
I. When waking up;
i. Reading translation table from the flash memory system;
ii If said translation table is found to be valid iia.—
Invalidating said tableiib.—
using said table without having to scan the whole flash memory system;
iii. Else iiia.—
Scanning said flash memory system and constructing an updated translation table;
iiib.—
Using said table as in iib;
B. When the flash memory system is notified prior to a shutdown, storing an updated copy of said table in said flash memory system in a way that will be recognized as valid on next wake-up. - View Dependent Claims (9, 10, 11)
a. If application software using the flash memory system made an orderly exit and stored an updated translation table, then said application software enables next wake-up to use said table; and
b. If said application software made a non-orderly exit, then said application software initiates a regular wake-up procedure.
-
-
10. The method of claim 9, wherein said invalidation of said table is delayed until after wake-up, until a later time which is still prior to a first access to the flash memory system which causes a change to flash content.
-
11. The method of claim 8, wherein said invalidation of said table is delayed until after wake-up, until a later time which is still prior to a first access to the flash memory system which causes a change to flash content.
Specification