[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN104268094B - Optimized flash memory address mapping method - Google Patents

Optimized flash memory address mapping method Download PDF

Info

Publication number
CN104268094B
CN104268094B CN201410488749.5A CN201410488749A CN104268094B CN 104268094 B CN104268094 B CN 104268094B CN 201410488749 A CN201410488749 A CN 201410488749A CN 104268094 B CN104268094 B CN 104268094B
Authority
CN
China
Prior art keywords
page
address
data
block
flash memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410488749.5A
Other languages
Chinese (zh)
Other versions
CN104268094A (en
Inventor
杨晋博
尹艳艳
张新玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201410488749.5A priority Critical patent/CN104268094B/en
Publication of CN104268094A publication Critical patent/CN104268094A/en
Application granted granted Critical
Publication of CN104268094B publication Critical patent/CN104268094B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The invention discloses an optimized flash memory address mapping method, in a demand-based page level address mapping DFTL method, a global conversion page mapping table GTD is maintained in a memory, and meanwhile, an address mapping cache CMT is used in the memory to cache frequently accessed address mapping items in a conversion page, wherein cached data units are the whole address conversion page. The invention unifies the granularity of the address mapping information in the flash memory and the cache, fully utilizes the time locality and the space locality of the data, for example, frequently accesses the local data in a short time, only needs to access the page-level address mapping cache without accessing the flash memory, and simultaneously, when a certain conversion page needs to be replaced out of the cache, all the updated address mapping information can be updated into the flash memory together, thereby improving the utilization rate of the mapping information.

Description

A kind of flash memory address mapping method of optimization
Technical field
The present invention relates to flash memory technology field, and in particular to a kind of flash memory address mapping method of optimization.
Background technology
Development and maturation with flash memory technology, flash memories are widely used to all kinds of storage systems, such as USB flash disk, intelligence Energy mobile phone, panel computer, digital memory card, solid state hard disc etc..Compared with traditional magnetic disk memorizer, flash memory has readwrite performance The advantages such as high, non-volatile, low-power consumption, high density and good shock resistance.Therefore, flash memory has become mobile embedded type equipment Storage medium.However, flash memory there is also some limitations, such as " strange land renewal " and the erasable number of times of limited block.In order to solve these Deficiency simultaneously makes flash memory work as traditional block device, and a kind of referred to as flash translation layer (FTL) (flash is occurred in that in flash-memory storage system Translation layer, abbreviation FTL) embedded software, for process exterior I/O request and management flash memory.Wherein, ground Location mapping as a significant components is responsible for that the logical address for coming from file system is converted to the physical address in flash memory. Therefore, how to efficiently perform address of cache and manage map information, become a key issue.
NAND is a kind of storage scheme more more preferable than hard disk drive, and this is showed in the low capacity application less than 4GB It is still obvious to obtain.As people persistently pursue, power consumption is lower, weight lighter and performance more preferably product.Flash chip is mainly by thing Reason block composition, each physical block is divided into a number of Physical Page:Block is the elementary cell of erasable operation, and page is read-write operation Elementary cell.One page contains data field and backup domain, and backup domain is also called OOB (out of band).OOB is typically used In storage error correcting code (ECC) and some self-defined informations.
Although nand flash memory has many advantages, some limitations are there is also:
First it is " strange land renewal ", cannot updates again after data page is written into data, until affiliated whole block quilt Erasing.Therefore, different Physical Page will be written into the different update data of same logical address, wherein, deposit latest data Page be referred to as active page, and before legacy data page is referred to as invalid page.Therefore, address mapping method conversion logic ground is needed in flash memory The physical address that location is located to latest data;Simultaneously as data page is constantly consumed, garbage reclamation mechanism is needed to go copy effective Page simultaneously wipes invalid data block, to regain sky data block.
Next to that the restriction of limited erasable number of times, for single stage unit (SLC) nand flash memory, the erasable number of times of each block is big It is approximately 100 000 times, and to multi-level unit (MLC) nand flash memory, erasable number of times only about 10 000 times.Wipe as fruit block is actual Write number of times and be then likely to become bad block more than limiting, it is impossible to used again.Consequently, it is desirable to uniform loss mechanism is balancing different masses Temperature, and choose suitable data block and carry out garbage reclamation.
In order to make up drawbacks described above, flash translation layer (FTL) (FTL) management flash memory used in nand flash memory.Flash translation layer (FTL) is located at It is fully transparent to user between file system and flash drive layer, and the operate interface for providing block device for topmost paper system.
Address of cache as the significant components of flash translation layer (FTL) is responsible for that sudden strain of a muscle will be converted to from the logical address of file system Physical address in depositing.Address mapping method is broadly divided into 3 classes:Page level mapping, the mapping of block level and mixed-use developments.
In page level address of cache, map information granularity is consistent with date read-write cell, is all data page, therefore data please Asking can write in any data page of flash memory.Meanwhile, page level address of cache can postpone the time of garbage reclamation triggering, also It is to say, until the close saturation of flash memory storage just triggers garbage reclamation, therefore, it is possible to obtain more excellent systematic function.But page level ground Location mapping method needs to safeguard huge page level address mapping table, is difficult in resource-constrained embedded system.Block level The mapping granule of address of cache is data block, and the logical address of each request of data is divided into block number and block bias internal amount, and each is patrolled Collect block and be allocated one or more physical blocks, yet with the restriction of " strange land renewal ", the data page of data storage cannot be straight Renewal is connect, therefore, there is update inconsistency in block level address of cache, may trigger substantial amounts of garbage reclamation, and systematic function is relatively low.Mixed In closing mapping method, physical block is divided into data block (primary block) and log blocks (log block), makes in data block The data write first with the mapping of block level address of cache, and log blocks are updated the data using page level address of cache storage.Although mixed Close mapping and weighed systematic function and memory cost, but need to be closed data block and log blocks in garbage reclamation mechanism And, it is possible to create substantial amounts of performance cost, therefore, mixed-use developments method is also without solving well asking for performance and memory cost Topic.
Need-based page level address of cache (DFTL) is proposed in recent years, is on the one hand carried using page level address mapping method For efficient address translation performance, on the other hand, the generation of page level address mapping table is solved by address of cache caching mechanism A large amount of memory cost problems.
Physical block in DFTL is logically divided into two classes:Data block (data block) and address conversion block (translation block).Data block is used for data storage, and conversion block is used to preserve page level address mapping table.Data block and The physical space of the shared flash memory of conversion block.Page in each address conversion block is referred to as address conversion page (translation Page), each page contains a number of logical page number (LPN) to the page level address of cache item of physical page number.It is newest to navigate to Conversion page, maintains a global transformation page map table (global translation directory, abbreviation in internal memory GTD).Meanwhile, address of cache caching (cached mapping table, abbreviation CMT) used in internal memory, to be buffered in conversion The address of cache item frequently accessed in page.. address of cache caching enters line replacement using lru algorithm to address of cache item.Due to interior GTD and CMT is only safeguarded in depositing, memory cost is significantly reduced.Meanwhile, using the temporal locality of request of data, maintain efficiently Address of cache performance.
In need-based page level mapping method, the operation to address conversion page will produce extra performance cost, open Pin is mainly derived from two aspects:
First, address of cache item is extracted from the address conversion page of flash memory and will produces the read operation of conversion page in caching, When caching is completely needed into line replacement, the more new mappings item of displacement needs first to read corresponding conversion page, and writes in the updated Backflash is deposited.Therefore, during cache miss, best situation produces 1 read operation, and worst case can produce 2 read operations and 1 Write operation.As shown in Figure 1, it is assumed that the logical address of request of data is 28, due to cache miss, GTD is accessed first and is obtained most The address of new address conversion page, then reads the page (TP1) from internal memory, navigate to corresponding address of cache item (28,56), most After put it into address of cache caching in.When CMT displace address of cache item (112, when 84), due to the mapping item in the buffer It is updated, needs to obtain the address conversion page (TP32) in flash memory according to GTD first, reads and update after the page corresponding address Mapping item, in finally writing back to new conversion page.Can see, address of cache caching can bring many address conversion page read-write behaviour Make, during these operations are interspersed in processing data request, affect systematic function.
On the other hand, performance cost derives from garbage collection procedure.When data block is by garbage reclamation, all active pages pair The conversion page answered is required for updating, as shown in Fig. 2 having 4 active pages (PPN from 10 to 13) in block is reclaimed, each page right Should be in different conversion pages (respectively TP97, TP100, TP101, TP103), after copy active page, all corresponding addresses Conversion page is also required to be read, updates, writes back to (respectively TP128, TP129, TP130, TP131 after writing back) in flash memory.Value It is noted that the actual address mapping information for updating only has 4, but cause the renewal operation of 4 conversion pages of correspondence.Therefore, When there is many valid data pages in reclaiming block, garbage reclamation will produce substantial amounts of conversion web update expense.
The content of the invention
The technical problem to be solved in the present invention is:Generally speaking, need-based page level address mapping method has two Subject matter, first, the map information utilization rate of address of cache caching is relatively low, and after whole conversion page is read, a caching is wherein One address of cache item.For continuous read-write, certain address conversion page may be repeated quickly and easily as many times as required request and produce a large amount of expenses.Its Secondary, in processing write requests, the data of Different Logic address are continuously written in same data block, will be produced in garbage reclamation Substantial amounts of conversion web update.For the problems referred to above, a kind of address mapping method of optimization is devised herein.
The present invention from need-based page level address mapping method, open by the extra performance caused with solving address of cache Pin problem.This Section Overhead be mainly derived from address of cache caching and flash memory in address conversion page.By analyzing the two Source, devises a kind of complete optimization method based on the caching mechanism of conversion page, flash data write and garbage reclamation.
The technical solution adopted in the present invention is:
A kind of flash memory address mapping method of optimization, in need-based page level address of cache (DFTL) method, internal memory In maintain a global transformation page map table (global translation directory, abbreviation GTD), meanwhile, including Address of cache caching (cached mapping table, abbreviation CMT) used in depositing, changes what is frequently accessed in page to be buffered in Address of cache item, the data cell of caching is whole address conversion page, the address mapping information unified in flash memory and caching Granularity, each address conversion page contains the map information of 1MB address spaces, local data is frequently accessed such as in the short time, only Page level address of cache caching need to be accessed without accessing flash memory;Meanwhile, when certain conversion page needs to be displaced caching, institute The address mapping information for having renewal can be updated in the lump in flash memory, improve the utilization rate of map information.
The GTD is also a page level address mapping table, the address conversion page being responsible in positioning flash memory, is turned address is read After skipping, actual address mapping information, and the flash memory address mapping method of the optimization can be obtained using the overall situation in internal memory Conversion page map table and page level address of cache caching have the access process of both same map Information Granularity, fusion, extend Global transformation page map table GTD, increased caching index (cache index, abbreviation CI), during directly positioning is cached from GTD Conversion page, make conversion page map table be directly linked to page level mapped cache;When there is logical address request, first according to request Logical address navigate to the item of global transformation page map table, because the initial logical address of each is fixed, therefore, will Logical address can have access to the item in conversion page map table, the Xiang Wei divided by the address of cache item number that each conversion page is preserved Conversion page physical address in a flash memory and caching index are protected;If caching index is 1, show the conversion page not yet Caching, needs to access flash memory acquisition address mapping information;Otherwise, according to caching index can direct access cache address of cache page To obtain the physical address of request.
The new address of cache access mode proposed by this method, simplifies the access process of address of cache, will cache In continuous or Hash lookup mode be changed into directly access, saved the cache access time.
The flash memory address mapping method of the optimization uses LRU (LRU) slow as page level address of cache The Replacement Strategy deposited, wherein, the update times for changing page are also one of foundation of selection displacement, if certain conversion page is in caching In be never updated, it will go out caching by preferential substitution, because such replacement operator will not produce extra conversion page and read Write expense.Using initial address (start logical address, the letter of the corresponding address conversion page of displacement item in caching Claim SLA) and global transformation page map table (GTD), to position flash memory in actual storage conversion page address, execution replacement operator. In the example in figure 3, when there is individual write request W, when 49, the 13rd conversion page in PAMC needs replaced.Can see, put When changing, all 4 amended map informations being capable of write-once address conversion page.
In order to further reduce because address mapping information updates the conversion page expense brought, methods described is employed to be based on and turned The data method for congregating for skipping:Using the corresponding conversion page of its logical address as guidance, logical address is corresponding to same for data write The data of one conversion page will be written into identical data block, therefore, during garbage reclamation, the corresponding conversion number of pages of data block is most For constant 1, the expense that resulting extra address mapping information updates is reduced to minimum.
In order to realize data method for congregating, the flash memory address mapping method of the optimization continues to extend the mapping of global transformation page Table, each item in table saves the physical address (available page number, abbreviation APN) of data available page, its In, physical address represents this and not yet distributes data block for 1, meanwhile, using empty block pond (free block pool, abbreviation FBP) all of empty data block in flash memory is recorded, when there is request of data, the empty data block of distribution according to need maps to global transformation page Table, in garbage reclamation, it is erasable after empty block be recovered to sky block pond, data aggregation technique optimizes the data point in data block Cloth, i.e. the logical address of data is limited in the address space range of corresponding conversion page maintenance, due to address in each data block Close data are easier to be updated together, active page number of copies when the method can indirectly reduce garbage reclamation.
In the flash memory starting stage, there is free data block to belong to sky block pond, each data available in global transformation page map table Page address is all unallocated state (1), when there is write data requests, according to computational methods mentioned above global transformation is positioned The item of page map table, if the APN in item is 1, directly writes data into corresponding data page, and it is institute subsequently to update APN Next data available page in distribution data block, if data block is full, by the address 1 is set to;Otherwise, if the conversion page Not yet distribute data block, check in empty block pond and whether there is available empty data block, the 1st is distributed according to need and recorded if existing The physical address of data page otherwise calls garbage reclamation to obtain new empty data block as APN.
Because physical block is divided into data block and address conversion block according to data storage type, accordingly there are two kinds of rubbish Rubbish is reclaimed:Data block garbage reclamation and conversion block garbage reclamation. in the garbage reclamation of data block, in order to ensure each data block Only correspondence one changes page after garbage reclamation, and the flash memory address mapping method of the optimization will be based on conversion page data aggregation side Method is multiplexed in garbage reclamation, and in address of cache, the promoter of request of data is file system, and in garbage reclamation is rubbish Rubbish withdrawer, both have similar address of cache process, therefore method can be multiplexed, in the garbage collection procedure of data block In, when Garbage Collector needs to copy an active page, the mapping of global transformation page is accessed first to obtain current available number According to the physical address (APN) of page, if data available page is that (non-1), directly writes data available by active page for presence Page;Otherwise, if the data block of current distribution has run out, using swap block (swap block) as newly assigned data Block stores active page;When garbage reclamation is completed, the empty data block after erasing is used as new swap block.
In order to the erasable number of times of equilibrium criterion block extends the durability of flash memory, the erasable of each data block is have recorded in flash memory Number of times, can safeguard the temperature information of data area in global transformation page map table, record each address conversion page correspondence continuous The access frequency of logical space, few " cold " block of erasable number of times is selected to the frequent item for accessing when write pointer request distributes, and Then distribute erasable number of times more " heat " block to what is infrequently accessed;Equally, in garbage reclamation, select erasable number of times less and The more data block of invalid page carries out erasable as recovery block;In flash memory free time, data can be carried out to hot and cold data block Exchange with erasable number of times between balance weight.
Beneficial effect of the present invention:The granularity of the address mapping information that the present invention has unified in flash memory and caching, makes full use of The temporal locality and spatial locality of data, frequently accesses local data such as in the short time, only need to access page level address of cache Cache without accessing flash memory, meanwhile, when certain conversion page needs to be displaced caching, the address of cache letter of all renewals Breath can be updated in the lump in flash memory, improve the utilization rate of map information.
Description of the drawings
Fig. 1 is that address of cache caches the expense for producing;
The conversion page behaviour that Fig. 2 is produced when being garbage reclamation(Effective page copy when data block is reclaimed);
The conversion page behaviour that Fig. 3 is produced when being garbage reclamation(The renewal of address conversion page when data block is reclaimed)
Fig. 4 is slow for page level address of cache;
Fig. 5 is based on the data aggregation of conversion page;
Fig. 6 is the data block garbage reclamation based on conversion page;
Fig. 7 is the garbage reclamation of conversion block;
Fig. 8 is the simulation frame used in experiment.
Specific embodiment
Below according to Figure of description, in conjunction with specific embodiments, the present invention is further described:
A kind of flash memory address mapping method of optimization, in need-based page level address of cache (DFTL) method, internal memory In maintain a global transformation page map table GTD, meanwhile, used in internal memory address of cache caching CMT, to be buffered in conversion The address of cache item frequently accessed in page, the data cell of caching is whole address conversion page, in having unified flash memory and caching The granularity of address mapping information, each address conversion page contains the map information of 1MB address spaces, such as in the short time frequently Local data is accessed, page level address of cache caching need to be only accessed without accessing flash memory;Meanwhile, when certain conversion page need by When displacing caching, the address mapping information of all renewals can be updated in the lump in flash memory, improve the utilization of map information Rate.
The GTD is also a page level address mapping table, the address conversion page being responsible in positioning flash memory, is turned address is read After skipping, actual address mapping information, and the flash memory address mapping method of the optimization can be obtained using the overall situation in internal memory Conversion page map table and page level address of cache caching have the access process of both same map Information Granularity, fusion, extend Global transformation page map table GTD, increased caching index (cache index, abbreviation CI), during directly positioning is cached from GTD Conversion page, make conversion page map table be directly linked to page level mapped cache;When there is logical address request, first according to request Logical address navigate to the item of global transformation page map table, because the initial logical address of each is fixed, therefore, will Logical address can have access to the item in conversion page map table, the Xiang Wei divided by the address of cache item number that each conversion page is preserved Conversion page physical address in a flash memory and caching index are protected;If caching index is 1, show the conversion page not yet Caching, needs to access flash memory acquisition address mapping information;Otherwise, according to caching index can direct access cache address of cache page To obtain the physical address of request.
The new address of cache access mode proposed by this method, simplifies the access process of address of cache, will cache In continuous or Hash lookup mode be changed into directly access, saved the cache access time.
As shown in figure 4, caching example for page level address of cache, it is assumed that each conversion page can store 6 address of cache items, It is 36 that the logical address of data is read in request, first, its map information item is positioned in global transformation page map table, by calculating 36/6=6 navigates to the 6th in mapping table, and it changes page address into 94, and caching index is 11.Because caching index is not 1, Can directly access the 11st of PAMC obtain actual address mapping (36,134), so as to obtain counterlogic address 36 physically Location is 134.
The flash memory address mapping method of the optimization uses LRU (LRU) slow as page level address of cache The Replacement Strategy deposited, wherein, the update times for changing page are also one of foundation of selection displacement, if certain conversion page is in caching In be never updated, it will go out caching by preferential substitution, because such replacement operator will not produce extra conversion page and read Write expense.Using initial address (start logical address, the letter of the corresponding address conversion page of displacement item in caching Claim SLA) and global transformation page map table (GTD), to position flash memory in actual storage conversion page address, execution replacement operator.
In the example in fig. 4, when have individual write request for (W, when 49), the 13rd in PAMC conversion page need it is replaced, Can see, during displacement, all 4 amended map informations being capable of write-once address conversion page.
In order to further reduce because address mapping information updates the conversion page expense brought, methods described is employed to be based on and turned The data method for congregating for skipping:Using the corresponding conversion page of its logical address as guidance, logical address is corresponding to same for data write The data of one conversion page will be written into identical data block, therefore, during garbage reclamation, the corresponding conversion number of pages of data block is most For constant 1, the expense that resulting extra address mapping information updates is reduced to minimum.
In order to realize data method for congregating, the flash memory address mapping method of the optimization continues to extend the mapping of global transformation page Table, each item in table saves the physical address (available page number, abbreviation APN) of data available page, its In, physical address represents this and not yet distributes data block for 1, meanwhile, using empty block pond (free block pool, abbreviation FBP) all of empty data block in flash memory is recorded, when there is request of data, the empty data block of distribution according to need maps to global transformation page Table, in garbage reclamation, it is erasable after empty block be recovered to sky block pond, data aggregation technique optimizes the data point in data block Cloth, i.e. the logical address of data is limited in the address space range of corresponding conversion page maintenance, due to address in each data block Close data are easier to be updated together, active page number of copies when the method can indirectly reduce garbage reclamation.
In the flash memory starting stage, there is free data block to belong to sky block pond, each data available in global transformation page map table Page address is all unallocated state (1), when there is write data requests, according to computational methods mentioned above global transformation is positioned The item of page map table, if the APN in item is 1, directly writes data into corresponding data page, and it is institute subsequently to update APN Next data available page in distribution data block, if data block is full, by the address 1 is set to;Otherwise, if the conversion page Not yet distribute data block, check in empty block pond and whether there is available empty data block, the 1st is distributed according to need and recorded if existing The physical address of data page otherwise calls garbage reclamation to obtain new empty data block as APN.
As shown in figure 5, assembling example for data, it is assumed that include 4 Physical Page in each block, each conversion page can preserve 6 Individual address of cache item.For the write request of logical address 36, it is 36/6=6 that the item in its global transformation page map table is calculated first, Then the address (APN) for obtaining data available page is 22.Therefore, data D can directly write to the data page 22 of data block 5 In.After write, data available page address is updated to into 23.For the write request that another logical address is 49, the 8th is calculated The APN of item is 1, illustrates that the conversion page not yet distributes data block, therefore obtains an empty data block from empty block pond, then by number Write in the 1st data page (data page 32) of empty block according to E, finally, APN is updated to next data page address 33.Can see Arrive, for data block 5, according to data method for congregating, corresponding address mapping information all belongs to change page TP48.Here, TP48 in the buffer, therefore directly can in the buffer update address mapping information.A new empty block also corresponding conversion page TP65.So, each data block at most only corresponds to 1 address conversion page, so as to by the renewal cost reduction of conversion page to minimum.
Because physical block is divided into data block and address conversion block according to data storage type, accordingly there are two kinds of rubbish Rubbish is reclaimed:Data block garbage reclamation and conversion block garbage reclamation. in the garbage reclamation of data block, in order to ensure each data block Only correspondence one changes page after garbage reclamation, and the flash memory address mapping method of the optimization will be based on conversion page data aggregation side Method is multiplexed in garbage reclamation, and in address of cache, the promoter of request of data is file system, and in garbage reclamation is rubbish Rubbish withdrawer, both have similar address of cache process, therefore method can be multiplexed, in the garbage collection procedure of data block In, when Garbage Collector needs to copy an active page, the mapping of global transformation page is accessed first to obtain current available number According to the physical address (APN) of page, if data available page is that (non-1), directly writes data available by active page for presence Page;Otherwise, if the data block of current distribution has run out, using swap block (swap block) as newly assigned data Block stores active page;When garbage reclamation is completed, the empty data block after erasing is used as new swap block.
Be illustrated in figure 6 the example of data block garbage reclamation, have in the recovered data block chosen 4 valid data pages (Q, B, D, E), when active page Q is copied, method navigates to first corresponding GTD items, and it is 68 to obtain APN, therefore, Q can be direct In copying the data page 68 of data block 23 to;After copy, APN is updated to 69 from 68.In the same manner, for data B can also be copied to In data page 69.Now, data block 23 has write full, so APN is set to 1.When next number arrives according to copy request D, Distribution swap block gives GTD items, therefore, D and E is write in swap block, and APN is also updated to next available data in swap block Page address.Finally, data block 23 will become new swap block after wiping, and be garbage reclamation service next time.To address conversion block Garbage reclamation, in flash memory safeguard a currently available address conversion page, equivalent to unified write pointer, therefore, change page To be written sequentially in the conversion block of current address.Triggering rubbish is returned when in flash memory without assignable address conversion block Receive, when garbage reclamation, reclaiming the effective conversion page in block will copy the available address conversion page of write pointer sensing to.Meanwhile, If address conversion page is located at caching, directly from the current conversion block of caching write, the read operation to effectively conversion page is reduced With the conversion web update operation that future, caching was produced.Finally, the displacement of page level address of cache caching is by the conversion page of close temperature Identical conversion block is write back, the number of active page during garbage reclamation in conversion block is reduced indirectly, so as to reduce conversion page Renewal expense.
Be illustrated in figure 7 the garbage reclamation of address conversion block, choose the address conversion block of recovery comprising TP0, TP2, TP4 this 3 address conversion pages, this 3 address conversion pages are copied into (TPPN in the conversion block of current address:146~148).Copy procedure In, if there is caching, then directly from caching write current address conversion block, corresponding GTD also updates simultaneously after copy, with true Guarantor can navigate to newest address conversion page.
In order to the erasable number of times of equilibrium criterion block extends the durability of flash memory, the erasable of each data block is have recorded in flash memory Number of times, can safeguard the temperature information of data area in global transformation page map table, record each address conversion page correspondence continuous The access frequency of logical space, few " cold " block of erasable number of times is selected to the frequent item for accessing when write pointer request distributes, and Then distribute erasable number of times more " heat " block to what is infrequently accessed;Equally, in garbage reclamation, select erasable number of times less and The more data block of invalid page carries out erasable as recovery block;In flash memory free time, data can be carried out to hot and cold data block Exchange with erasable number of times between balance weight.
In force, using the effectiveness of a series of benchmark dataset Simulation Evaluation context of methods. herein by proposition Method (abbreviation OAT) and a kind of representational need-based page level mapping method (DFTL) have carried out experiment and have compared.In experiment Using 4 performance metric:Cache hit rate, conversion page operations number, system response time and block erasing times.
Experiment simulation platform framework is illustrated in figure 8, wherein, DiskMon is disc drive data tracker, collects and accesses The I/O request of data of disk;DiskSim is a ripe disk emulation framework for being widely used in industrial quarters;FlashSim makees For an extension element of DiskSim, for emulating management method and the basic operation of flash chip.In emulation experiment, this Experiment realizes the address mapping method of DFTL and this paper in FlashSim, is configured with the nand flash memory storage system of a 32GB System.Impact of the experiment using actual I/O request of data research different address mapping method to performance.In experiment, using a series of Benchmark dataset Simulation Evaluation context of methods, it was demonstrated that text method can substantially reduce conversion page operations and improve systematicness Energy.

Claims (3)

1. a kind of flash memory address mapping method of optimization, in need-based page level address of cache DFTL method, ties up in internal memory A global transformation page map table GTD has been protected, meanwhile, address of cache caching CMT, is changed in page with being buffered in used in internal memory The address of cache item for frequently accessing, it is characterised in that:The data cell of caching is whole address conversion page;
The flash memory address mapping method of the optimization is using LRU LRU as putting that page level address of cache is cached Strategy is changed, wherein, the update times for changing page are also one of foundation of selection displacement, if certain conversion page is in the buffer not never It is updated, it will go out caching by preferential substitution, using initial address SLA of the corresponding address conversion page of displacement item in caching With global transformation page map table GTD, to position flash memory in actual storage conversion page address, perform replacement operator;
Methods described employs the data method for congregating based on conversion page:Data write is made with the corresponding conversion page of its logical address To instruct, logical address will be written into identical data block corresponding to the data of same conversion page;
In order to realize data method for congregating, the flash memory address mapping method of the optimization continues to extend global transformation page map table, Each item in table saves the physical address APN of data available page, wherein, physical address represents this and not yet distributes for 1 Data block, meanwhile, using all of empty data block in empty block pond FBP record flash memories, when there is request of data, the empty number of distribution according to need Give global transformation page map table according to block, in garbage reclamation, it is erasable after empty block be recovered to sky block pond;
In the flash memory starting stage, there is free data block to belong to sky block pond, each data available page ground in global transformation page map table Location is all unallocated state, when there is write data requests, according to computational methods mentioned above global transformation page map table is positioned Item, if the APN in item is 1, directly write data into corresponding data page, subsequently update APN to be distributed data Next data available page in block, if data block is full, by the address 1 is set to;Otherwise, if the conversion page not yet distributes Data block, checks in empty block pond and whether there is available empty data block, and the 1st data page is distributed according to need and recorded if existing Physical address otherwise calls garbage reclamation to obtain new empty data block as APN.
2. the flash memory address mapping method of a kind of optimization according to claim 1, it is characterised in that:The flash memory of the optimization Address mapping method will be multiplexed in garbage reclamation, in the garbage collection procedure of data block based on conversion page data method for congregating In, when Garbage Collector needs to copy an active page, the mapping of global transformation page is accessed first to obtain current available number According to the physical address APN of page, if data available page is exist, directly active page is write into data available page;Otherwise, such as The data block of the current distribution of fruit has run out, then store active page using swap block as newly assigned data block;When rubbish is returned When harvesting into, the empty data block after erasing is used as new swap block.
3. the flash memory address mapping method of a kind of optimization according to claim 2, it is characterised in that:Select erasable number of times compared with Less and the more data block of invalid page as reclaim block carry out it is erasable;In flash memory free time, line number is entered to hot and cold data block According to exchange with erasable number of times between balance weight.
CN201410488749.5A 2014-09-23 2014-09-23 Optimized flash memory address mapping method Active CN104268094B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410488749.5A CN104268094B (en) 2014-09-23 2014-09-23 Optimized flash memory address mapping method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410488749.5A CN104268094B (en) 2014-09-23 2014-09-23 Optimized flash memory address mapping method

Publications (2)

Publication Number Publication Date
CN104268094A CN104268094A (en) 2015-01-07
CN104268094B true CN104268094B (en) 2017-05-03

Family

ID=52159617

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410488749.5A Active CN104268094B (en) 2014-09-23 2014-09-23 Optimized flash memory address mapping method

Country Status (1)

Country Link
CN (1) CN104268094B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109308273A (en) * 2017-07-26 2019-02-05 北京兆易创新科技股份有限公司 Flash controller, the adjusting method of flash controller function and equipment

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636285B (en) * 2015-02-03 2016-03-23 北京麓柏科技有限公司 A kind of flash-memory storage system and read-write thereof, delet method
CN106326146B (en) * 2015-06-29 2019-05-14 上海华虹集成电路有限责任公司 Check the method whether cache hits
CN105005510B (en) * 2015-07-02 2018-07-17 西安交通大学 Error correction protection architecture and method applied to solid state disk resistance-variable storing device caching
CN105975215B (en) * 2016-05-25 2019-03-08 深圳大学 A kind of stacked tile type magnetic substance storage translation layer mapping table management method based on Ondemand algorithm
CN106096025A (en) * 2016-06-24 2016-11-09 北京保程保险公估有限公司 Motor vehicles maintenance program assessment system and method
CN106210037A (en) * 2016-07-08 2016-12-07 重庆市农业科学院 Interactive Management System of Crop Production andIts based on WEB and method thereof
CN106445832A (en) * 2016-09-06 2017-02-22 深圳市先天海量信息技术有限公司 Address mapping method and apparatus for flash storage system
CN106815152B (en) * 2016-12-27 2019-05-31 华中科技大学 A method of optimization page grade flash translation layer (FTL)
CN115129618A (en) * 2017-04-17 2022-09-30 伊姆西Ip控股有限责任公司 Method and apparatus for optimizing data caching
CN107256196A (en) * 2017-06-13 2017-10-17 北京中航通用科技有限公司 The caching system and method for support zero-copy based on flash array
CN107368436B (en) * 2017-06-29 2020-08-18 西安交通大学 Flash memory cold and hot data separated storage method combined with address mapping table
US10437734B2 (en) * 2017-08-31 2019-10-08 Micron Technology, Inc. Memory constrained translation table management
TWI659304B (en) * 2017-10-20 2019-05-11 慧榮科技股份有限公司 Method for accessing flash memory module and associated flash memory controller and electronic device
US10884947B2 (en) * 2017-11-17 2021-01-05 SK Hynix Inc. Methods and memory systems for address mapping
CN109840219B (en) * 2017-11-29 2024-04-05 北京忆恒创源科技股份有限公司 Address translation system and method for mass solid state storage device
CN108153682B (en) * 2017-12-12 2020-10-27 西安交通大学 Method for mapping addresses of flash translation layer by utilizing internal parallelism of flash memory
CN109960667B (en) * 2017-12-14 2023-09-15 北京忆恒创源科技股份有限公司 Address translation method and device for large-capacity solid-state storage device
CN108089993A (en) * 2017-12-29 2018-05-29 苏州大学 Multiple field memory location nand flash memory, critical data storage method and rubbish recovering method
CN108197040A (en) * 2018-01-12 2018-06-22 江苏华存电子科技有限公司 A kind of provider location reflects the high-effect method of logical image position
CN108228479B (en) * 2018-01-29 2021-04-30 深圳市泰比特科技有限公司 Embedded FLASH data storage method and system
CN108304145A (en) * 2018-01-30 2018-07-20 国科美国研究实验室 The rubbish recovering method of data container device
CN108491335B (en) * 2018-03-30 2020-12-29 深圳忆联信息系统有限公司 Method, device, equipment and medium for processing mapping table item
CN109144894B (en) * 2018-08-01 2023-04-07 浙江大学 Memory access mode protection method based on data redundancy
KR20200031924A (en) * 2018-09-17 2020-03-25 삼성전자주식회사 Memory controller, method of operating the memory controller and storage device comprising memory controller
KR102694952B1 (en) * 2018-09-20 2024-08-14 에스케이하이닉스 주식회사 Memory system and operating method thereof
CN109739780A (en) * 2018-11-20 2019-05-10 北京航空航天大学 Dynamic secondary based on the mapping of page grade caches flash translation layer (FTL) address mapping method
CN110262982A (en) * 2019-05-05 2019-09-20 杭州电子科技大学 A kind of method of solid state hard disk address of cache
CN111273860B (en) * 2020-01-15 2022-07-08 华东师范大学 Distributed memory management method based on network and page granularity management
CN112764685B (en) * 2021-01-26 2022-07-15 华中科技大学 Method and device for eliminating repeated data writing of pre-written log in solid-state disk
CN113076267B (en) * 2021-04-29 2023-05-26 华侨大学 Address conversion method and data storage device based on hot spot aggregation
CN113419678B (en) * 2021-06-18 2024-09-06 上海盈方微电子有限公司 Storage management method for embedded system
CN114676072A (en) * 2022-05-25 2022-06-28 阿里巴巴(中国)有限公司 Data processing method and device
CN115952110B (en) * 2023-03-09 2023-06-06 浪潮电子信息产业股份有限公司 Data caching method, device, equipment and computer readable storage medium
CN117724992B (en) * 2024-02-09 2024-05-28 深圳鲲云信息科技有限公司 Method for accessing memory, data storage architecture and computing device
CN118170327B (en) * 2024-05-14 2024-09-13 苏州元脑智能科技有限公司 Solid state disk address mapping method, device and product

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981963A (en) * 2012-10-30 2013-03-20 华中科技大学 Implementation method for flash translation layer of solid-state disc
CN103077119A (en) * 2012-12-31 2013-05-01 记忆科技(深圳)有限公司 Data processing system and method
CN103425600A (en) * 2013-08-23 2013-12-04 中国人民解放军国防科学技术大学 Address mapping method for flash translation layer of solid state drive

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8219776B2 (en) * 2009-09-23 2012-07-10 Lsi Corporation Logical-to-physical address translation for solid state disks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981963A (en) * 2012-10-30 2013-03-20 华中科技大学 Implementation method for flash translation layer of solid-state disc
CN103077119A (en) * 2012-12-31 2013-05-01 记忆科技(深圳)有限公司 Data processing system and method
CN103425600A (en) * 2013-08-23 2013-12-04 中国人民解放军国防科学技术大学 Address mapping method for flash translation layer of solid state drive

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109308273A (en) * 2017-07-26 2019-02-05 北京兆易创新科技股份有限公司 Flash controller, the adjusting method of flash controller function and equipment
CN109308273B (en) * 2017-07-26 2020-11-20 北京兆易创新科技股份有限公司 Flash memory controller, and method and device for adjusting functions of flash memory controller

Also Published As

Publication number Publication date
CN104268094A (en) 2015-01-07

Similar Documents

Publication Publication Date Title
CN104268094B (en) Optimized flash memory address mapping method
CN102981963B (en) A kind of implementation method of flash translation layer (FTL) of solid-state disk
Chung et al. A survey of flash translation layer
CN101673245B (en) Comprise signal conditioning package and the storage management method of memory management unit
US10387329B2 (en) Profiling cache replacement
EP2455865A1 (en) Memory management device
CN104102591A (en) Computer subsystem and method for implementing flash translation layer in computer subsystem
CN106815152B (en) A method of optimization page grade flash translation layer (FTL)
CN103019958A (en) Method for managing data in solid state memory through data attribute
US10740251B2 (en) Hybrid drive translation layer
CN110413537B (en) Flash translation layer facing hybrid solid state disk and conversion method
CN103425600A (en) Address mapping method for flash translation layer of solid state drive
CN110888600B (en) Buffer area management method for NAND flash memory
CN111580754B (en) Write-friendly flash memory solid-state disk cache management method
CN108845957A (en) It is a kind of to replace and the adaptive buffer management method of write-back
Kang et al. CLOCK-DNV: A write buffer algorithm for flash storage devices of consumer electronics
Park et al. A workload-aware adaptive hybrid flash translation layer with an efficient caching strategy
CN113253926A (en) Memory internal index construction method for improving query and memory performance of novel memory
CN105335220A (en) Transaction recovery method and apparatus for storage device
CN102521161B (en) Data caching method, device and server
Park et al. A dynamic switching flash translation layer based on page-level mapping
CN104156324A (en) Program run method for embedded system
CN104156178A (en) Data access method for embedded terminal
Pratibha et al. Efficient flash translation layer for flash memory
Lin et al. Flash-aware linux swap system for portable consumer electronics

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant