METHODS FOR DISTRIBUTING LOG BLOCK ASSOCIATIVITY FOR REAL-TIME SYSTEM AND FLASH MEMORY DEVICES PERFORMING THE SAME
First Claim
1. A method for distributing a log block associativity in a log buffer-based flash translation layer (FTL) of a flash memory with physical blocks which include a plurality of data blocks which are identified by different logical block numbers and a plurality of log blocks which are identified by different logical log block numbers, the method comprising:
- if a write request to write a page p into a log block is generated, checking whether a log block associated with a corresponding data block that the write request is generated exists or not by checking a log block mapping table which stores mapping information between the data blocks and the log blocks, where the associativity of each of the plurality of log blocks to a data block is set to equal to or less than a predetermined value K in advance, and K is a natural number;
if a log block associated with a corresponding data block that the write request is generated exists, checking whether the associated log block is a random log block or a sequential log block; and
if the associated log block is a random log block, writing data that the write request is generated in a first free page of the random log block.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for distributing log block associativity in log buffer-based flash translation layer (FTL) includes, if write request on page p is generated, checking whether log block associated with corresponding data block that write request is generated exists or not by checking log block mapping table storing mapping information between data blocks and log blocks, wherein the associativity of each log block to data block is set to equal to or less than predetermined value K in advance, and K is a natural number, if log block associated with corresponding data block that write request is generated exists, checking whether associated log block is random log block or sequential log block, and if associated log block is random log block, writing data that write request is generated in first free page of random log block.
-
Citations
16 Claims
-
1. A method for distributing a log block associativity in a log buffer-based flash translation layer (FTL) of a flash memory with physical blocks which include a plurality of data blocks which are identified by different logical block numbers and a plurality of log blocks which are identified by different logical log block numbers, the method comprising:
-
if a write request to write a page p into a log block is generated, checking whether a log block associated with a corresponding data block that the write request is generated exists or not by checking a log block mapping table which stores mapping information between the data blocks and the log blocks, where the associativity of each of the plurality of log blocks to a data block is set to equal to or less than a predetermined value K in advance, and K is a natural number; if a log block associated with a corresponding data block that the write request is generated exists, checking whether the associated log block is a random log block or a sequential log block; and if the associated log block is a random log block, writing data that the write request is generated in a first free page of the random log block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A flash memory device, comprising:
-
a flash memory which includes a plurality of blocks each of which includes a plurality of pages; and a flash translation layer (FTL) which maps a logical address transmitted from a file system with a physical address of the flash memory using an address translation mapping table, wherein the FTL identifies a plurality of data blocks using different logical block numbers and a plurality of log blocks using different logical log block numbers, and the FTL performs if a write request to write a page p in a log block is generated, checking whether a log block associated with a corresponding data block that the write request is generated exists or not by checking a log block mapping table which stores mapping information between the data blocks and the log blocks, where the associativity of each of the plurality of log blocks to a data block is set to equal to or less than a predetermined value K in advance, and K is a natural number; if a log block associated with a corresponding data block that the write request is generated exists, checking whether the associated log block is a random log block or a sequential log block; and if the associated log block is a random log block, writing data that the write request is generated in a first free page of the random log block. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
Specification