Flash memory management method
First Claim
1. A method for writing predetermined data to a flash memory, the method comprising the steps of:
- (a) receiving a request to write the predetermined data to a page to which data has been written;
(b) writing the predetermined data to a log block corresponding to a data block containing the page;
(c) receiving a request to write the predetermined data to the page again; and
(d) writing the predetermined data to an empty free page in the log block.
1 Assignment
0 Petitions
Accused Products
Abstract
A flash memory management method is provided. According to the method, when a request to write the predetermined data to a page to which data has been written is made, the predetermined data is written to a log block corresponding to a data block containing the page. When a request to write the predetermined data to the page again is received, the predetermined data is written to an empty free page in the log block. Even if the same page is requested to be continuously written to, the management method allows this to be processed in one log block, thereby improving the effectiveness in the use of flash memory resources.
-
Citations
38 Claims
-
1. A method for writing predetermined data to a flash memory, the method comprising the steps of:
-
(a) receiving a request to write the predetermined data to a page to which data has been written;
(b) writing the predetermined data to a log block corresponding to a data block containing the page;
(c) receiving a request to write the predetermined data to the page again; and
(d) writing the predetermined data to an empty free page in the log block. - View Dependent Claims (2, 3)
-
-
4. A method for writing predetermined data to a flash memory, the method comprising the steps of:
-
(a) receiving a request to write the predetermined data to a page;
(b) allocating a log block 1-1 corresponding to a first data block containing the page;
(c) writing the predetermined data to an empty page in the log block 1-1;
(d) receiving a request to write the predetermined data to the page again; and
(e) writing the predetermined data to an empty free page in the log block 1-1. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29)
-
-
16. A method for reading predetermined data from a flash memory, the method comprising the steps of:
-
(a) searching a log pointer table for an entry in which a block address portion of a logical address of a requested page is recorded;
(b) checking whether the logical address of the requested page exists in the found entry; and
(c) referring to a physical address of a corresponding log block recorded in the found entry and a position at which the logical address of the requested page is written to the found entry and accessing a corresponding page of the log block.
-
-
18. A method for managing a flash memory including a data block and a log block for writing data for updating the data block, the method comprising the steps of:
-
(a) when pages of a first data block are arranged in the same order in which pages of a first log block corresponding to the first data block are arranged and all the pages of the first data block map one-to-one with the pages of the first log block, changing the first log block to a second data block; and
(b) updating address conversion information.
-
-
24. A method for managing a flash memory including a data block and a log block for writing data for updating the data block, the method comprising the steps of:
-
(a) when pages in a first log block are requested to be written only once, copying a corresponding page of a first data block to a free page of the first log block in order to create a second data block; and
(b) updating address conversion information.
-
-
30. A method for managing a flash memory including a data block and a log block for writing data for updating the data block, the method comprising the steps of:
-
(a) copying the latest pages in a first log block to a free block to which data has not been written and copying a corresponding page of a first data block corresponding to the first log block to a remaining free page to create a second data block; and
(b) updating address conversion information. - View Dependent Claims (31, 32, 33, 34, 35, 37, 38)
-
-
36. A method for managing a flash memory including a data block and a log block for writing data for updating the data block, the method comprising the steps of:
-
(a) allocating a predetermined region to a flash memory and writing lists of data blocks and log blocks and a data structure for managing the log blocks to the predetermined region as recovery information;
(b) checking states currently being written to the flash memory based on the recovery information in the event of a system failure to determine whether an error occurs; and
(c) if the error occurs, recovering data based on the recovery information.
-
Specification