Method of storing data in a non-volatile memory and apparatus therefor
First Claim
1. A method of storing data in a non-volatile memory, the method comprising:
- (a) in response to a data-writing request, generating and storing logs in a volatile memory, including data to be stored and an address of the non-volatile memory; and
(b) comparing addresses of the logs and storing data corresponding to the same page by the unit of page in a corresponding area of the non-volatile memory, and wherein step (b) further comprises;
(b1) copying the logs of the volatile memory to a transaction buffer of the non-volatile memory;
(b2) comparing the addresses of the data logged in the transaction buffer to addresses for the data-writing request and searching for the logs in the transaction buffer which contains the data logged with the addresses corresponding to the same page as the address for the data writing request;
(b3) copying the page of the non-volatile memory which the address for the data writing request belongs to, to the volatile-memory;
(b4) storing the data for the writing request in a page area of the volatile memory at the location with its same offset in a page of the non-volatile memory;
(b5) storing the data logged in the page area of the volatile memory according to the logs corresponding to the same page;
(b6) copying the page of the volatile memory to the page area of the non-volatile memory in order to update the page area of the non-volatile memory; and
(b7) removing the logs reflected to update the page of the non-volatile memory from the transaction buffer in the non-volatile memory.
1 Assignment
0 Petitions
Accused Products
Abstract
Provided is a method of storing data in a non-volatile memory, including generating and storing logs including data to be stored and an address of the non-volatile memory in response to a data-writing request, and comparing addresses of the logs and storing data corresponding to the same page by the unit of page in a corresponding area of the non-volatile memory. The method makes it possible to minimize delay in storing data, reduce the number of accesses to the non-volatile memory and uniformly write data in the whole non-volatile memory, thereby minimizing a response time of the non-volatile memory and increasing the lifetime of the non-volatile memory.
38 Citations
13 Claims
-
1. A method of storing data in a non-volatile memory, the method comprising:
-
(a) in response to a data-writing request, generating and storing logs in a volatile memory, including data to be stored and an address of the non-volatile memory; and (b) comparing addresses of the logs and storing data corresponding to the same page by the unit of page in a corresponding area of the non-volatile memory, and wherein step (b) further comprises; (b1) copying the logs of the volatile memory to a transaction buffer of the non-volatile memory; (b2) comparing the addresses of the data logged in the transaction buffer to addresses for the data-writing request and searching for the logs in the transaction buffer which contains the data logged with the addresses corresponding to the same page as the address for the data writing request; (b3) copying the page of the non-volatile memory which the address for the data writing request belongs to, to the volatile-memory; (b4) storing the data for the writing request in a page area of the volatile memory at the location with its same offset in a page of the non-volatile memory; (b5) storing the data logged in the page area of the volatile memory according to the logs corresponding to the same page; (b6) copying the page of the volatile memory to the page area of the non-volatile memory in order to update the page area of the non-volatile memory; and (b7) removing the logs reflected to update the page of the non-volatile memory from the transaction buffer in the non-volatile memory. - View Dependent Claims (2)
-
-
3. A method of storing data in a non-volatile memory, the method comprising:
-
(a) upon receipt of a request for start of transaction processing, generating a log including data to be stored and an address of the non-volatile memory in response to the data-writing request until a request for completion of transaction processing is received; (b) upon receipt of the request for completion of transaction processing, storing the logs in a transaction buffer of the non-volatile memory; (c) comparing addresses of the logs in the transaction buffer to addresses of the data-writing request and storing data from the transaction buffer corresponding to the same page of the data-writing request in a corresponding area of the non-volatile memory by the unit of page; (d) updating the non-volatile memory by unit of page; and
step (c) further comprises;(c1) comparing addresses of the data logged in the transaction buffer with the addresses of the data-writing request and searching for the logs in the transaction buffer corresponding to the page the data is logged belongs to, wherein the page the data is logged to belongs to the same page as the address for the data-writing request; (c2) copying the pages of the non-volatile memory which the address for the data-writing request belongs to, to the volatile memory; (c3) storing the data in a page area of the volatile-memory according to the logs corresponding to the same page as the address for the data-writing request; (c4) copying the page of the volatile memory to a page area of the non-volatile memory; and (c5) removing the logs from the transaction buffer corresponding to the same page. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A data storage device comprising:
-
a non-volatile memory; a log generating unit which in response to a data-writing request generates and stores logs having data to be stored and addresses of the non-volatile memory in response to a data-writing request in a volatile memory; and a data storage unit which compares addresses of the logs stored in the volatile memory with addresses of the data-writing request stores data corresponding to the same page in a transaction buffer of the non-volatile memory having the structure of a linked list and updates the non-volatile memory with data from the volatile memory and the transaction buffer corresponding to the same page by unit of page.
-
-
13. A computer readable medium having embodied thereon a computer program for performing the steps of:
-
(a) in response to a data-writing request, generating and storing logs in a volatile memory including data to be stored and addresses of the non-volatile memory; (b) transferring the logs of the volatile memory to a transaction buffer of a non-volatile memory having the structure of a linked list; and (c) comparing the addresses of the logs of the data-writing request to the logs of the transaction buffer and storing data corresponding to the same page in a corresponding area of the non-volatile memory by the unit of the page.
-
Specification