System and method for improving data integrity and memory performance using non-volatile media
First Claim
1. A method of accessing a non-volatile media having a file system, the method comprising:
- temporarily storing a unit of data into a high speed memory device as a plurality of write commands is received by a driver, said driver being transparent to said file system;
setting a flag to identify whether said unit of data has been transferred from said high speed memory device to said non-volatile media, wherein said flag remains set through any subsequent power loss event and wherein said flag remains set through any subsequent reset event, and wherein a respective flag is associated with each unit of data stored in said high speed memory device;
in response to one of a power loss event and a reset event and after restoring power, checking said flag and if said unit of data has not been transferred from said high speed memory device to said non-volatile media then transferring said unit of data from said high speed memory device to said non-volatile media using a single media access operation; and
in response to a trigger event other than a power loss event and other than a reset event, checking said flag and if said unit of data has not been transferred from said high speed memory device to said non-volatile media then transferring said unit of data from said high speed memory device to said non-volatile media using a single media access operation.
10 Assignments
0 Petitions
Accused Products
Abstract
A system and computer system for improving data integrity and memory performance using non-volatile media. A system includes a non-volatile mass storage unit, e.g., a flash memory device and/or a hard drive unit for instance. A memory device is used as a high speed data buffer and/or cache for the non-volatile storage unit. The memory device may be non-volatile, e.g., magnetic random access memory (MRAM) or volatile memory, e.g., synchronous dynamic random access memory (SDRAM). By buffering and/or caching the write data, fewer accesses are required to the mass storage device thereby increasing system performance. Additionally, mechanical and electrical degradation of the mass storage device is reduced. Certain trigger events can be programmed to cause data from the memory device to be written to the mass storage device. In one embodiment, the write buffer contents are preserved across reset or power loss events. In one embodiment, the mass storage unit may be a data transport layer, e.g., Ethernet, USB, Bluetooth, etc.
-
Citations
25 Claims
-
1. A method of accessing a non-volatile media having a file system, the method comprising:
-
temporarily storing a unit of data into a high speed memory device as a plurality of write commands is received by a driver, said driver being transparent to said file system; setting a flag to identify whether said unit of data has been transferred from said high speed memory device to said non-volatile media, wherein said flag remains set through any subsequent power loss event and wherein said flag remains set through any subsequent reset event, and wherein a respective flag is associated with each unit of data stored in said high speed memory device; in response to one of a power loss event and a reset event and after restoring power, checking said flag and if said unit of data has not been transferred from said high speed memory device to said non-volatile media then transferring said unit of data from said high speed memory device to said non-volatile media using a single media access operation; and in response to a trigger event other than a power loss event and other than a reset event, checking said flag and if said unit of data has not been transferred from said high speed memory device to said non-volatile media then transferring said unit of data from said high speed memory device to said non-volatile media using a single media access operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer system having a file system, the computer system comprising:
-
a non-volatile memory for storing data; a non-volatile high speed memory device coupled to said non-volatile memory; and a processor coupled to said non-volatile memory and for issuing a plurality of write commands corresponding to a unit of data to be written to said non-volatile memory, wherein a driver, transparent to said file system, is operable for storing said unit of data into said high speed memory device as said plurality of write commands is received by said driver; wherein a flag associated with said unit of data is set to identify whether said unit of data has been written from said high speed memory device to said non-volatile memory, wherein said flag remains set through any subsequent power loss event and wherein said flag remains set through any subsequent reset event, and wherein a respective flag is associated with each unit of data stored in said high speed memory device;
wherein further, in response to one of a power loss event and a reset event and after restoring power, said flag is checked and if said unit of data has not been written from said high speed memory device to said non-volatile memory then said unit of data is written from said high speed memory device to said non-volatile memory using a single media access operation; and
wherein in response to a trigger event other than a power loss event and other than a reset event, said flag is checked and if said unit of data has not been written from said high speed memory device to said non-volatile memory then said unit of data is written from said high speed memory device to said non-volatile media using a single media access operation. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer system comprising:
-
a non-volatile memory for storing data; and a high speed non-volatile memory device;
wherein a file system issues a plurality of write commands corresponding to a unit of data to be written to said non-volatile memory; and
wherein a driver, transparent to said file system, stores said unit of data into said high speed non-volatile memory device as said plurality of write commands is received by said driver and, in response to a trigger event, writes said unit of data to said non-volatile memory in a single memory access operation;wherein a flag associated specifically with said unit of data is set to identify whether said unit of data has been written from said high speed non-volatile memory device to said non-volatile memory, wherein said flag remains set through any subsequent power loss event and wherein said flag remains set through any subsequent reset event, and wherein a respective flag is associated with each unit of data stored in said high speed memory device;
wherein further, in response to one of a power loss event and a reset event and after restoring power, said flag is checked and if said unit of data has not been written from said high speed memory device to said non-volatile memory then said unit of data is written from said high speed non-volatile memory device to said non-volatile memory using a single media access operation; and
wherein in response to a trigger event other than a power loss event and other than a reset event, said flag is checked and if said unit of data has not been written from said high speed non-volatile memory device to said non-volatile memory then said unit of data is written from said high speed non-volatile memory device to said non-volatile media using a single media access operation. - View Dependent Claims (20, 21, 22, 23, 24, 25)
-
Specification