CN111506517A - Flash memory page level address mapping method and system based on access locality - Google Patents

Flash memory page level address mapping method and system based on access locality Download PDF

Info

Publication number
CN111506517A
CN111506517A CN202010148662.9A CN202010148662A CN111506517A CN 111506517 A CN111506517 A CN 111506517A CN 202010148662 A CN202010148662 A CN 202010148662A CN 111506517 A CN111506517 A CN 111506517A
Authority
CN
China
Prior art keywords
mapping
clustering
center
address
page
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.)
Granted
Application number
CN202010148662.9A
Other languages
Chinese (zh)
Other versions
CN111506517B (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.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
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 Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN202010148662.9A priority Critical patent/CN111506517B/en
Publication of CN111506517A publication Critical patent/CN111506517A/en
Application granted granted Critical
Publication of CN111506517B publication Critical patent/CN111506517B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/0253Garbage collection, i.e. reclamation of unreferenced 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
    • 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/7205Cleaning, compaction, garbage collection, erase control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The invention discloses a flash memory page-level address mapping method and a flash memory page-level address mapping system based on access locality. The existing traditional flash memory address mapping method has the defects of high garbage recovery cost, low mapping efficiency and serious space waste. The invention adopts a sequential mapping item compression and pre-fetching mechanism and a page temperature detection and write-back aggregation mechanism based on clustering, thereby reducing the space occupation of a mapping item buffer area, improving the hit rate of the buffer area, reducing the garbage recovery cost and ensuring the durability of a flash memory storage system.

Description

Flash memory page level address mapping method and system based on access locality
Technical Field
The invention relates to the field of flash memory storage systems, in particular to a flash memory page level address mapping method and a flash memory page level address mapping system based on access locality.
Background
Flash memory is a nonvolatile memory, has the characteristics of high performance, low energy consumption, small volume, large capacity and the like, is increasingly and widely applied to embedded equipment and cloud data centers at present, and replaces the traditional magnetic disk type storage medium. However, the flash memory is different from the inherent characteristics of the magnetic disk, including characteristics of erasing before writing, asymmetric read-write delay, limited service life and the like, so that the traditional magnetic disk algorithm cannot be directly applied to a flash memory storage system, a special flash memory storage system algorithm needs to be designed, a flash memory conversion layer is formed to provide a block device interface for an operating system, and the high-performance characteristic of the flash memory is fully exerted, so more and more researches are focused on the flash memory storage algorithm.
The traditional algorithm of the current flash memory address mapping mainly comprises DFT L and BAST, mapping algorithms with different mapping granularities respectively have the defects that a page level address mapping buffer area occupies a large space, block level address mapping flexibility is low, hybrid address mapping has high garbage recovery cost and reduces the service life of a flash memory, and the traditional flash memory mapping algorithm cannot meet the requirements for storage and calculation of current mass data.
In the page level address mapping algorithm, the most classical DFT L algorithm does not consider the access locality of the flash memory system, writes back pages into the same data block, and causes high page recovery cost in garbage recovery.
Therefore, in view of the above-mentioned disadvantages of the prior art, it is necessary to research to provide a solution to improve the deficiencies of the prior art solutions.
Disclosure of Invention
The invention aims to solve the problems of high garbage recovery cost, low mapping efficiency and serious space waste in the traditional flash memory address mapping method, and provides a flash memory page-level address mapping method based on access locality.
In order to solve the problems, the invention adopts a sequential mapping item compression and pre-fetching mechanism and a page temperature detection and write-back aggregation mechanism based on clustering, thereby reducing the space occupation of a mapping item buffer area, improving the hit rate of the buffer area, reducing the garbage recovery cost and ensuring the durability of a flash memory storage system.
In order to overcome the defects in the prior art, the technical scheme of the invention is as follows:
a flash memory page level address mapping method based on access locality comprises an address mapping process and a clustering process.
The address mapping process includes the following steps S1 to S6:
step S1, initializing a flash memory area and a buffer area, dividing the flash memory area into a data block DB and a mapping block MB, and dividing the buffer area into a cache mapping table CMT and a global translation table GTT, specifically:
step S11, initializing the flash memory area, dividing the flash memory area into a plurality of data blocks DB and a plurality of mapping blocks MB, wherein each data block is used for storing data information, and each mapping block is used for storing address mapping information so as to find a corresponding data block; the set of all mapping blocks forms a global mapping table GMT, and the data blocks in the flash memory area occupy most block resources, namely the resource proportion of the mapping blocks in the flash memory area is greater than that of the data blocks; the mapping block MB is composed of a number of mapping pages, which are composed of a number of mapping entries;
step S12, initializing the buffer area, dividing the buffer area into a CMT table and a GTT table, wherein the GTT table is used for storing the position information of each mapping block in the flash memory; the CMT table comprises a sequential cache mapping table SCMT, a working cache mapping table WCMT and an exchange cache mapping table ECMT, and the three tables are all used for recording current active cache mapping items;
the SCMT is used to record continuous address mapping entries, i.e. mapping entries mapping from continuous logical addresses to corresponding continuous physical addresses, the continuous mapping entries are composed of logical address L PN, physical address PPN and mapping length Range, the WCMT and the ECMT are both used to record mapping entries from a single logical address to a single physical address, the mapping entries are composed of both logical address L PN and physical address PPN, wherein the WCMT is used to store transfer mapping entries caused by ECMT hits, and the ECMT is used to store address mapping entries cached for the first time and mapping entries eliminated from the WCMT.
Step S2, after the initialization of the flash memory area and the buffer area is completed, judging whether the buffer area is hit or not according to the logic address in the request information for each arriving address mapping request Req, and judging whether the hit type is miss, full hit or partial hit;
the request information of the address mapping request Req comprises Req L PN, ReqRange and ReqMode, wherein the Req L PN represents the logical address of the request, the ReqRange represents the range size of the request, and the ReqMode represents the read-write mode of the request.
Step S3, according to different hit conditions, respectively performing different buffer maintenance and address mapping inquiry, specifically:
step S31, if the address mapping request is totally hit in the buffer, transferring the hit item in SCMT and WCMT to the most recently accessed position (MRU position for short) of the current mapping table, and transferring the hit item in ECMT to the MRU position of WCMT, if the WCMT is full before adding the mapping item into WCMT, then ejecting the mapping item of L RU position to ECMT according to the least recently accessed strategy (L RU strategy for short);
step S32, if the address mapping request hits in the buffer, buffer maintenance is carried out on the hit part as the strategy in step S31 (namely, as in S31, the hit items in SCMT and WCMT are transferred to the MRU position of the current mapping table, the hit items in ECMT are transferred to the MRU position of WCMT, if the mapping item is added to WCMT, the mapping item of L RU position is evicted to ECMT according to L RU strategy, if the mapping item is full, the missing part finds the mapping block in the buffer according to GTT, the mapping item needing to be searched is found in the mapping block according to the requested Req L PN, then whether a continuous address mapping item appears around the mapping item is judged (the continuous address mapping item refers to a set of adjacent mapping items with continuous logical page addresses and physical page addresses), if yes, the whole continuous mapping item is prefetched and added to the MRU position of SCMT, if no, the mapping item is added to the MRU position of SCMT or the ECT, the ECT or the ECT is kept to the RU position of contiguous mapping item, and the RU 64 is evicted RU position;
step S33, if the address mapping request is not hit in the buffer, buffer maintenance is performed using the missed portion in S32 (i.e. as S32 finds the mapping block in the buffer according to GTT, finds the mapping item to be searched in the mapping block according to the requested Req L PN, then determines whether there is a continuous mapping item around the mapping item, if so, the whole continuous mapping item is prefetched to be added to the MRU location of SCMT, if not, the MRU location of ECMT is added, and if the mapping item is full before adding the ECMT or SCMT, the L RU policy is performed to evict the mapping item at the RU L RU location to the flash memory).
The method is different from other technical schemes in that a sequential address mapping compression technology is adopted, continuous address mapping items are compressed into single continuous mapping items in the SCMT, space loss of a buffer area is reduced, and in addition, the utilization rate of the buffer area and the hit rate of the mapping items are improved through a continuous mapping item prefetching technology;
step S34, inquiring the address mapping item corresponding to the address mapping request Req to find the physical address ReqPPN corresponding to the request item logical address Req L PN;
step S4, judging whether the ReqMode type in the mapping request information is in a writing mode or not for the mapping request Req, if so, entering step S5, otherwise, entering step S6;
step S5, the off-site update is executed to the writing request, and the original mapping item is set as invalid, which is specifically:
step S51, obtaining the current latest clustering center, calculating the access frequency of the current request logic address and the cold clustering center mu according to the access frequency of the current request logic addresscAnd the center of the warm focus muwAnd heat-induced polymerization center muhDistance of (d), calculated as follows:
Figure BDA0002401663880000041
where d is the logical address access frequency f and the dimension of the cluster center mu, fiAnd muiRespectively representing the access frequency f and the size of the ith dimension of the clustering center mu, and d is a constant of 1 because the access frequency dimensions are all one-dimensional.
Step S52, page temperature assessment:
according to the formula (1), clustering attribution is an aggregation center corresponding to the minimum distance, if the clustering attribution is a cold aggregation center, a page is evaluated as a cold page, if the clustering attribution is a warm aggregation center, the page is evaluated as a warm page, and if the clustering attribution is a hot aggregation center, the page is evaluated as a hot page; and distributing corresponding write blocks according to the cluster attribution, and setting the original mapping item as invalid. Wherein the write block is a cold write block CB, a warm write block WB, or a hot write block HB.
The page in the page temperature evaluation refers to the page pointed to by the requested logical address Req L PN;
different from the prior art, the method and the device evaluate the page based on the access locality characteristics of the page, and allocate the remote updating of the page to the blocks with different physical addresses, so that the page in the same block has similar locality characteristics, thereby reducing the garbage recycling cost and the access delay of the page;
and step S6, returning the physical address ReqPPN corresponding to the request logical address.
The clustering process includes step S1, as follows:
step S1, adopting the improved K-means clustering method to cluster the mapping items to obtain the cold-clustering center mucAnd the center of the warm focus muwAnd heat-induced polymerization center muhThe method specifically comprises the following steps:
and step S11, judging whether the interval between the current request sequence number and the request sequence number in the last clustering execution reaches a sequence number threshold lambda, if so, entering step S12, and otherwise, entering step S17.
Different from the existing clustering scheme, the invention adopts improved clustering based on the request interval period to reduce the clustering frequency, and in addition, the clustering algorithm is independent of the address mapping request logic and can not block the address mapping request, thereby reducing the performance consumption of the clustering on the flash memory storage system and reducing the delay of the address request;
step S12, calculating the access frequency f of the mapping item in the mapping table according to the formula (2)LPNThe calculation formula is as follows:
Figure BDA0002401663880000051
wherein n is the access times of mapping entries corresponding to the logical address L PN, and ln (range) is the logarithm of the mapping range of the continuous mapping entries in the SCMT;
further, an access frequency set S of all mapping entries in the buffer is obtained as follows:
S={fmin,…,fLPN.…,fmax|min≤LPN≤max,LPN∈CMT} (3)
step S13, sampling the set S, and forming a set Sample by the sampling result; if the initial clustering is performed, the random three items in the Sample set are used as the initial clustering centers of the clustering, otherwise, the result of the previous round of clustering (namely the cold clustering center mu) is adoptedcAnd the center of the warm focus muwAnd heat-induced polymerization center muh) As the initial cluster center.
The initialization optimization strategy of the invention is different from the conventional clustering, only random sample initialization is adopted in the initial clustering, the subsequent clustering all adopts the clustering result of the previous round as the initial clustering center of the new clustering, and the convergence can be faster under the condition of little access load change, in addition, the method is different from the prior technical scheme, the sampling is further carried out on the basis of the access frequency data of the original mapping item, and the performance consumption of the clustering is further reduced;
step S14, calculating the Euclidean distance between the access frequency of all the logical addresses in the Sample set and all the cluster centers, wherein the distance is calculated as follows:
Figure BDA0002401663880000052
where d is the logical address access frequency f and the dimension of the cluster center mu, fiAnd muiThe access frequency f and the size of the ith dimension of the clustering center mu are represented, and d is a constant of 1 because the access frequency dimensions are all one-dimensional. According to the calculated distance, allocating the access frequency of the logic address to the cluster with the nearest distance;
step S15, for each cluster, calculating a new mean point according to formula (5)
Figure BDA0002401663880000053
And as the cluster center of the next iteration, returning to the step S14, namely, alternately performing the steps S14 and S15 until the cluster center is unchanged in the two previous and next iterations, and stopping the iteration.
Figure BDA0002401663880000054
Wherein
Figure BDA0002401663880000055
Representing the ith cluster set in the current iteration t, k being the total number of cluster sets.
The mean set M after the iteration is completed is as follows:
Figure BDA0002401663880000061
wherein ω represents the total number of iterations when clustering iteration stops;
step S16, calculating the final cold focusing center mucAnd the center of the warm focus muwAnd heat-induced polymerization center muhAs the latest clustering result, the following is calculated:
Figure BDA0002401663880000062
a flash memory page-level address mapping system based on access locality comprises a buffer area, a flash memory area, a clustering execution module, a clustering center module and a page distribution module; the buffer area comprises a sequential cache mapping table SCMT, a working cache mapping table WCMT, an exchange cache mapping table ECMT and a global translation table GTT, and an address mapping item is cached to provide quick access without accessing a mapping block in the flash memory area; the flash memory area comprises a data block DB and a mapping block MB, the data block DB stores data information, and the mapping block MB stores mapping item information and provides access to an address mapping item which is missed in the buffer area; the clustering execution module executes clustering operation and obtains a clustering center by clustering the mapping items; the cluster center module stores and updates the current cluster center information; and the page distribution module performs page judgment and distribution operation on the remote updated pages according to the information in the clustering center module.
The SCMT records continuous address mapping entries, namely mapping entries which are mapped from continuous logical addresses to corresponding continuous physical addresses; the WCMT records a single address mapping item, and the mapping item is from a transfer mapping item caused by an ECMT hit; the ECMT records a single address mapping item, wherein the address mapping item cached for the first time and the address mapping item eliminated in the WCMT are stored; the GTT records location information of the mapping block in the flash memory.
The cache of the buffer is respectively maintained in different buffers according to different hitting conditions of address mapping requests in the buffer, if all the hits are hit, the hit items in the SCMT and the WCMT are transferred to the MRU position of a mapping table where the hit items are located, the hit items in the ECMT are transferred to the MRU position of the WCMT, if part of the hits are hit, the hit parts are maintained in the buffer as a whole hit strategy, if the miss parts are not hit, corresponding mapping blocks are found according to GTT, mapping items needing to be searched are found in the mapping blocks according to Req L PN of the requests, then whether continuous address mapping items appear around the mapping items is judged, if yes, the whole continuous mapping items are prefetched and added to the MRU position of the SCMT, otherwise, the MRU position of the ECMT is added, and if all the hits are not hit, the buffer maintenance is performed by adopting the miss strategy in the part of hits.
If the WCMT is full before the mapping item is added into the WCMT, the mapping item of the L RU position is evicted to the ECMT according to L RU strategies;
if the ECMT or SCMT is full before the mapping item is added to the ECMT or SCMT, L RU policy eviction L RU location of the mapping item to flash is performed.
The cluster execution module comprises a loop check module, an initialization module, an iterative computation module and an updating module;
the loop checking module checks whether the current clustering condition is met, namely whether the interval between the current request sequence number and the request sequence number when clustering is executed last time reaches a sequence number threshold lambda;
the initialization module performs initialization work on an initial clustering center, including initial random initialization and subsequent initialization by adopting a previous round of clustering results;
the iterative computation module performs an iterative computation part in the cluster, namely, the access frequency f of the mapping items in the mapping table is computed according to formula (2)LPNFurther obtaining an access frequency set S of all mapping items in the buffer area; sampling the set S, and forming a set Sample by a sampling result; calculate all the logical grounds in the set Sample according to equation (4)Allocating the access frequency of the logical address to the cluster with the nearest distance according to the Euclidean distance between the access frequency of the address and all cluster centers; for each cluster, a new mean point is calculated according to equation (6)
Figure BDA0002401663880000071
As the clustering center of the next iteration, until the clustering center is unchanged in the previous iteration and the next iteration; obtaining the final cold focusing center mu according to the formula (7)cAnd the center of the warm focus muwAnd heat-induced polymerization center muhAs the latest clustering result.
And the updating module performs updating operation on three kinds of clustering centers in the clustering center module.
The cluster center module comprises a cold cluster center, a warm cluster center and a hot cluster center; the cold clustering center is the clustering center with the minimum access frequency of the mapping items in the clustering center; the warm clustering center is a clustering center with medium access frequency of mapping items in the clustering center; the hot cluster center is the cluster center in which the mapping entries in the cluster center have the greatest frequency of access.
The page distribution module comprises a page discrimination module and a write-in block distribution module; the page judging module judges the cold and hot attributes of the page according to the distance between the current page and each center in the clustering center module; and the writing block distribution module distributes a cold writing block CB, a warm writing block WB and a hot writing block HB to different pages according to the page judgment result.
Compared with the prior art, the invention has the following beneficial effects:
(1) the mapping efficiency is high: the invention adopts sequential address mapping compression and prefetching technology, improves the buffer area hit rate under the condition of maintaining lower buffer area space overhead, and overcomes the defects of high space occupation and low address mapping hit rate of the existing page-level address mapping method;
(2) the access delay is low: the invention initiatively divides the page into the blocks with similar access locality through the page temperature detection and write-back aggregation mechanism, thereby reducing the garbage recovery overhead, reducing the influence of the garbage recovery on the page access delay and improving the stability of the page access;
(3) the calculation cost is small: in addition, the clustering result of the previous round is adopted as the initial clustering center of the clustering of the current round in the initialization stage, and the convergence can be faster under the condition of small access load variation.
Drawings
FIG. 1 is a flow chart of the method of the present invention;
FIG. 2 is a block diagram of the system of the present invention;
FIG. 3(1) is a diagram of a buffer structure of the system of the present invention;
FIG. 3(2) is a diagram of a page allocation module of the system of the present invention;
FIG. 3(3) is a diagram of a flash memory structure of the system of the present invention;
FIG. 3(4) is a block diagram of a cluster execution module of the system of the present invention;
FIG. 3(5) is a block diagram of a cluster center module of the system of the present invention;
FIG. 4 is a comparative experimental plot of the process of the present invention versus a prior art protocol.
Detailed Description
The technical solution provided by the present invention will be further explained with reference to the accompanying drawings, and the flow chart of the method is shown in fig. 1.
A flash memory page level address mapping method based on access locality comprises an address mapping process and a clustering process.
The address mapping process includes the following steps S1 to S6:
step S1, initializing a flash memory area and a buffer area, dividing the flash memory area into a data block DB and a mapping block MB, and dividing the buffer area into a cache mapping table CMT and a global translation table GTT, specifically:
step S11, initializing the flash memory area, dividing the flash memory area into a plurality of data blocks DB and a plurality of mapping blocks MB, wherein each data block is used for storing data information, and each mapping block is used for storing address mapping information so as to find a corresponding data block; the set of all mapping blocks forms a global mapping table GMT, and the data blocks in the flash memory area occupy most block resources, namely the resource proportion of the mapping blocks in the flash memory area is greater than that of the data blocks; the mapping block MB is composed of a number of mapping pages, which are composed of a number of mapping entries;
step S12, initializing the buffer area, dividing the buffer area into a CMT table and a GTT table, wherein the GTT table is used for storing the position information of each mapping block in the flash memory; the CMT table comprises a sequential cache mapping table SCMT, a working cache mapping table WCMT and an exchange cache mapping table ECMT, and the three tables are all used for recording current active cache mapping items;
the SCMT is used to record continuous address mapping entries, i.e. mapping entries mapping from continuous logical addresses to corresponding continuous physical addresses, the continuous mapping entries are composed of logical address L PN, physical address PPN and mapping length Range, the WCMT and the ECMT are both used to record mapping entries from a single logical address to a single physical address, the mapping entries are composed of both logical address L PN and physical address PPN, wherein the WCMT is used to store transfer mapping entries caused by ECMT hits, and the ECMT is used to store address mapping entries cached for the first time and mapping entries eliminated from the WCMT.
Step S2, after the initialization of the flash memory area and the buffer area is completed, judging whether the buffer area is hit or not according to the logic address in the request information for each arriving address mapping request Req, and judging whether the hit type is miss, full hit or partial hit;
the request information of the address mapping request Req comprises Req L PN, ReqRange and ReqMode, wherein the Req L PN represents the logical address of the request, the ReqRange represents the range size of the request, and the ReqMode represents the read-write mode of the request.
Step S3, according to different hit conditions, respectively performing different buffer maintenance and address mapping inquiry, specifically:
step S31, if the address mapping request is totally hit in the buffer, transferring the hit item in SCMT and WCMT to the most recently accessed position (MRU position for short) of the current mapping table, and transferring the hit item in ECMT to the MRU position of WCMT, if the WCMT is full before adding the mapping item into WCMT, then ejecting the mapping item of L RU position to ECMT according to the least recently accessed strategy (L RU strategy for short);
step S32, if the address mapping request hits in the buffer, buffer maintenance is carried out on the hit part as the strategy in step S31 (namely, as in S31, the hit items in SCMT and WCMT are transferred to the MRU position of the current mapping table, the hit items in ECMT are transferred to the MRU position of WCMT, if the mapping item is added to WCMT, the mapping item of L RU position is evicted to ECMT according to L RU strategy, if the mapping item is full, the missing part finds the mapping block in the buffer according to GTT, the mapping item needing to be searched is found in the mapping block according to the requested Req L PN, then whether a continuous address mapping item appears around the mapping item is judged (the continuous address mapping item refers to a set of adjacent mapping items with continuous logical page addresses and physical page addresses), if yes, the whole continuous mapping item is prefetched and added to the MRU position of SCMT, if no, the mapping item is added to the MRU position of SCMT or the ECT, the ECT or the ECT is kept to the RU position of contiguous mapping item, and the RU 64 is evicted RU position;
step S33, if the address mapping request is not hit in the buffer, buffer maintenance is performed using the missed portion in S32 (i.e. as S32 finds the mapping block in the buffer according to GTT, finds the mapping item to be searched in the mapping block according to the requested Req L PN, then determines whether there is a continuous mapping item around the mapping item, if so, the whole continuous mapping item is prefetched to be added to the MRU location of SCMT, if not, the MRU location of ECMT is added, and if the mapping item is full before adding the ECMT or SCMT, the L RU policy is performed to evict the mapping item at the RU L RU location to the flash memory).
The method is different from other technical schemes in that a sequential address mapping compression technology is adopted, continuous address mapping items are compressed into single continuous mapping items in the SCMT, space loss of a buffer area is reduced, and in addition, the utilization rate of the buffer area and the hit rate of the mapping items are improved through a continuous mapping item prefetching technology;
step S34, inquiring the address mapping item corresponding to the address mapping request Req to find the physical address ReqPPN corresponding to the request item logical address Req L PN;
step S4, judging whether the ReqMode type in the mapping request information is in a writing mode or not for the mapping request Req, if so, entering step S5, otherwise, entering step S6;
step S5, the off-site update is executed to the writing request, and the original mapping item is set as invalid, which is specifically:
step S51, obtaining the current latest clustering center, calculating the access frequency of the current request logic address and the cold clustering center mu according to the access frequency of the current request logic addresscAnd the center of the warm focus muwAnd heat-induced polymerization center muhDistance of (d), calculated as follows:
Figure BDA0002401663880000101
where d is the logical address access frequency f and the dimension of the cluster center mu, fiAnd muiRespectively representing the access frequency f and the size of the ith dimension of the clustering center mu, and d is a constant of 1 because the access frequency dimensions are all one-dimensional.
Step S52, page temperature assessment:
according to the formula (1), clustering attribution is an aggregation center corresponding to the minimum distance, if the clustering attribution is a cold aggregation center, a page is evaluated as a cold page, if the clustering attribution is a warm aggregation center, the page is evaluated as a warm page, and if the clustering attribution is a hot aggregation center, the page is evaluated as a hot page; and distributing corresponding write blocks according to the cluster attribution, and setting the original mapping item as invalid. Wherein the write block is a cold write block CB, a warm write block WB, or a hot write block HB.
The page in the page temperature evaluation refers to the page pointed to by the requested logical address Req L PN;
different from the prior art, the method and the device evaluate the page based on the access locality characteristics of the page, and allocate the remote updating of the page to the blocks with different physical addresses, so that the page in the same block has similar locality characteristics, thereby reducing the garbage recycling cost and the access delay of the page;
and step S6, returning the physical address ReqPPN corresponding to the request logical address.
The clustering process includes step S1, as follows:
step S1, adopting the improved K-means clustering method to cluster the mapping items to obtain the cold-clustering center mucAnd the center of the warm focus muwAnd heat-induced polymerization center muhThe method specifically comprises the following steps:
and step S11, judging whether the interval between the current request sequence number and the request sequence number in the last clustering execution reaches a sequence number threshold lambda, if so, entering step S12, and otherwise, entering step S17.
Different from the existing clustering scheme, the invention adopts improved clustering based on the request interval period to reduce the clustering frequency, and in addition, the clustering algorithm is independent of the address mapping request logic and can not block the address mapping request, thereby reducing the performance consumption of the clustering on the flash memory storage system and reducing the delay of the address request;
step S12, calculating the access frequency f of the mapping item in the mapping table according to the formula (2)LPNThe calculation formula is as follows:
Figure BDA0002401663880000111
wherein n is the access times of mapping entries corresponding to the logical address L PN, and ln (range) is the logarithm of the mapping range of the continuous mapping entries in the SCMT;
further, an access frequency set S of all mapping entries in the buffer is obtained as follows:
S={fmin,…,fLPN.…,fmax|min≤LPN≤max,LPN∈CMT} (3)
step S13, sampling the set S, and forming a set Sample by the sampling result; if the initial clustering is performed, the random three items in the Sample set are used as the initial clustering centers of the clustering, otherwise, the result of the previous round of clustering (namely the cold clustering center mu) is adoptedcAnd the center of the warm focus muwAnd heat-induced polymerization center muh) As the initial cluster center.
The initialization optimization strategy of the invention is different from the conventional clustering, only random sample initialization is adopted in the initial clustering, the subsequent clustering all adopts the clustering result of the previous round as the initial clustering center of the new clustering, and the convergence can be faster under the condition of little access load change, in addition, the method is different from the prior technical scheme, the sampling is further carried out on the basis of the access frequency data of the original mapping item, and the performance consumption of the clustering is further reduced;
step S14, calculating the Euclidean distance between the access frequency of all the logical addresses in the Sample set and all the cluster centers, wherein the distance is calculated as follows:
Figure BDA0002401663880000121
where d is the logical address access frequency f and the dimension of the cluster center mu, fiAnd muiThe access frequency f and the size of the ith dimension of the clustering center mu are represented, and d is a constant of 1 because the access frequency dimensions are all one-dimensional. According to the calculated distance, allocating the access frequency of the logic address to the cluster with the nearest distance;
step S15, for each cluster, calculating a new mean point according to formula (5)
Figure BDA0002401663880000122
And as the cluster center of the next iteration, returning to the step S14, namely, alternately performing the steps S14 and S15 until the cluster center is unchanged in the two previous and next iterations, and stopping the iteration.
Figure BDA0002401663880000123
Wherein
Figure BDA0002401663880000124
Representing the ith cluster set in the current iteration t, k being the total number of cluster sets.
The mean set M after the iteration is completed is as follows:
Figure BDA0002401663880000125
wherein ω represents the total number of iterations when clustering iteration stops;
step S16, calculating the final cold focusing center mucAnd the center of the warm focus muwAnd heat-induced polymerization center muhAs the latest clustering result, the following is calculated:
Figure BDA0002401663880000126
the corresponding system modules and their sub-modules of the method are shown in fig. 2 and fig. 3.
A flash memory page-level address mapping system based on access locality comprises a buffer area 100, a flash memory area 300, a clustering execution module 400, a clustering center module 500 and a page distribution module 200; the buffer area 100 comprises a sequential cache mapping table SCMT101, a working cache mapping table WCMT102, an exchange cache mapping table ECMT103 and a global translation table GTT104, and caches address mapping items to provide quick access without accessing a mapping block 302 in a flash area; the flash memory area comprises a data block DB301 and a mapping block MB302, wherein the data block DB301 stores data information, and the mapping block MB302 stores mapping item information and provides access to address mapping items missed in the buffer area; the clustering execution module 400 executes clustering operation to obtain a clustering center by clustering the mapping items; the cluster center module 500 stores and updates the current cluster center information; the page distribution module 200 performs page discrimination and distribution operation on the remote updated pages according to the information in the cluster center module 500.
The SCMT101 records continuous address mapping entries, i.e. mapping entries mapping from continuous logical addresses to corresponding continuous physical addresses; the WCMT102 records a single address mapping item, and the mapping item is from a transfer mapping item caused by the hit of the ECMT 103; the ECMT103 records a single address mapping item, wherein the primarily cached address mapping item and the deselected address mapping item in the WCMT102 are stored; GTT104 records location information of the mapped block in the flash memory.
The cache of the buffer 100 is respectively maintained in different buffers according to different hit conditions of address mapping requests in the buffers, if all the hits are hit, hit items in the SCMT101 and the WCMT102 are transferred to the MRU position of a mapping table where the hit items are located, the hit items in the ECMT103 are transferred to the MRU position of the WCMT102, if part of the hits are hit, buffer maintenance is carried out on hit parts like all hit strategies, if the miss parts are not hit, corresponding mapping blocks are found according to the GTT104, mapping items needing to be searched are found in the mapping blocks according to the requested Req L PN, then whether continuous address mapping items appear around the mapping items is judged, if yes, the whole continuous mapping items are added to the MRU position of the pre-fetched SCMT101, if not, the MRU position of the ECMT103 is added, and if all the hits are not hit, buffer maintenance is carried out by adopting the miss strategies in the part of the hits.
If the WCMT102 is full before the mapping entry joins the WCMT102, evicting the mapping entry of L RU location into the ECMT according to L RU policy;
if the ECMT103 or SCMT101 is full before the mapping item is added to the ECMT103 or SCMT101, L RU policy eviction L RU location of the mapping item to flash is performed.
The cluster executing module 400 includes a loop checking module 401, an initialization module 402, an iterative computation module 403, and an updating module 404;
the loop checking module 401 checks whether the current clustering condition is satisfied, that is, whether the interval between the current request sequence number and the request sequence number when clustering was performed last time reaches a sequence number threshold λ;
the initialization module 402 performs initialization work on the initial clustering center, including initial random initialization and subsequent initialization by using the clustering result of the previous round;
the iterative computation module 403 performs an iterative computation part of the clustering, i.e. computes the access frequency f of the mapping items in the mapping table according to formula (2)LPNFurther obtaining an access frequency set S of all mapping items in the buffer area; sampling the set S, and forming a set Sample by a sampling result; calculating the Euclidean distance between the access frequency of all the logical addresses in the Sample set and all the cluster centers according to a formula (4), and allocating the access frequency of the logical addresses to the cluster with the nearest distance; for each cluster, a new mean point is calculated according to equation (6)
Figure BDA0002401663880000141
As belowClustering centers of one iteration until the clustering centers of the two iterations are unchanged; obtaining the final cold focusing center mu according to the formula (7)cAnd the center of the warm focus muwAnd heat-induced polymerization center muhAs the latest clustering result.
The update module 404 performs an update operation on three cluster centers in the cluster center module.
The cluster center module 500 includes a cold cluster center 501, a warm cluster center 502, and a hot cluster center 503; the cold clustering center 501 is the clustering center with the smallest access frequency of the mapping items in the clustering center; the warm cluster center 502 is a cluster center with a medium access frequency of mapping items in the cluster center; the hot cluster center 503 is the cluster center in which the mapping entries in the cluster center have the greatest frequency of access.
The page allocation module 200 includes a page discrimination module 201 and a write block allocation module 202; the page judging module judges the cold and hot attributes of the page according to the distance between the current page and each center in the clustering center module; and the writing block distribution module distributes a cold writing block CB, a warm writing block WB and a hot writing block HB to different pages according to the page judgment result.
The method and the system are evaluated by adopting a real load simulation platform, an experiment host is configured to be an Intel i 78700K processor, a 32GB 3200mhz memory and an Ubuntu 10.04L TS operating system, the experiment platform is selected to be a FlashSim flash memory simulation platform based on DiskSim, and a plurality of real scene data sets are adopted in the aspect of experiment data, wherein the real scene data sets comprise a data set Finanic 1 and Finanic 2 from a Financial institution O L AP and a data set WebSearch1 and WebSearch2 from a well-known search engine.
In the experiment, DFT L is used as a comparison algorithm, and the experimental result shows that compared with DFT L, the method and the system of the invention reduce the garbage recovery overhead, improve the hit rate of the buffer mapping table and reduce the block erasure times, wherein, FIG. 4 is a comparison graph of the normalization experiment of the method and the comparison method.
Compared with the prior art, the invention adopts the sequential address mapping compression and prefetching technology, improves the buffer area hit rate under the condition of maintaining lower buffer area space overhead, and overcomes the defects of high space occupation and low address mapping hit rate of the existing page-level address mapping method; in addition, the invention initiatively divides the page into the blocks with similar access locality through the page temperature detection and write-back aggregation mechanism, thereby reducing the garbage recovery overhead, reducing the influence of the garbage recovery on the page access delay and improving the stability of the page access; an access interval mechanism and a sampling mechanism are adopted during clustering, and a clustering result of the previous round is adopted as an initial clustering center of the clustering of the current round in an initialization stage, so that the clustering method can converge more quickly under the condition of small access load change, and the calculation amount required by clustering is reduced.
The above description of the embodiments is only intended to facilitate the understanding of the method of the invention and its core idea. It will be apparent to those skilled in the art that various changes and modifications can be made in the invention without departing from the principles of the invention, and it is intended that such changes and modifications also fall within the scope of the appended claims.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (6)

1. A flash memory page level address mapping method based on access locality is characterized in that the method comprises an address mapping process and a clustering process;
the address mapping process includes the following steps S1 to S6:
step S1, initializing a flash memory area and a buffer area, dividing the flash memory area into a data block DB and a mapping block MB, and dividing the buffer area into a cache mapping table CMT and a global translation table GTT, specifically:
step S11, initializing the flash memory area, dividing the flash memory area into a plurality of data blocks DB and a plurality of mapping blocks MB, wherein each data block is used for storing data information, and each mapping block is used for storing address mapping information so as to find a corresponding data block; the set of all mapping blocks forms a global mapping table GMT, and the data blocks in the flash memory area occupy most block resources, namely the resource proportion of the mapping blocks in the flash memory area is greater than that of the data blocks; the mapping block MB is composed of a number of mapping pages, which are composed of a number of mapping entries;
step S12, initializing the buffer area, dividing the buffer area into a CMT table and a GTT table, wherein the GTT table is used for storing the position information of each mapping block in the flash memory; the CMT table comprises a sequential cache mapping table SCMT, a working cache mapping table WCMT and an exchange cache mapping table ECMT, and the three tables are all used for recording current active cache mapping items;
the SCMT is used for recording continuous address mapping entries, namely mapping entries which are mapped from continuous logical addresses to corresponding continuous physical addresses, wherein the continuous mapping entries are composed of a logical address L PN, a physical address PPN and a mapping length Range;
step S2, after the initialization of the flash memory area and the buffer area is completed, judging whether the buffer area is hit or not according to the logic address in the request information for each arriving address mapping request Req, and judging whether the hit type is miss, full hit or partial hit;
the request information of the address mapping request Req comprises Req L PN, ReqRange and ReqMode, wherein the Req L PN represents the logic address of the request, the ReqRange represents the range size of the request, and the ReqMode represents the read-write mode of the request;
step S3, according to different hit conditions, respectively performing different buffer maintenance and address mapping inquiry, specifically:
step S31, if the address mapping request is totally hit in the buffer, transferring the hit items in the SCMT and the WCMT to the latest accessed position (MRU position for short) of the current mapping table, and transferring the hit items in the ECMT to the MRU position of the WCMT;
step S32, if the address mapping request is partially hit in the buffer, the hit part is maintained in the buffer as the strategy in step S31, if the hit part is not hit, the mapping block in the buffer is found according to GTT, the mapping item needing to be searched is found in the mapping block according to the requested Req L PN, then whether the continuous address mapping item appears around the mapping item is judged, if yes, the whole continuous mapping item is prefetched and added into the MRU position of SCMT, if not, the MRU position of ECMT is added;
step S33, if the address mapping request is not hit in the buffer, adopting the miss part in S32 to maintain the buffer;
step S34, searching an address mapping item corresponding to the address mapping request Req in the flash memory area, and finding a physical address ReqPPN corresponding to a logical address Req L PN of the request item;
step S4, judging whether the ReqMode type in the mapping request information is a writing mode, if so, entering step S5, otherwise, entering step S6;
step S5, the off-site update is executed to the writing request, and the original mapping item is set as invalid, which is specifically:
step S51, obtaining the current latest clustering center, calculating the access frequency of the current request logic address and the cold clustering center mu according to the access frequency of the current request logic addresscAnd the center of the warm focus muwAnd heat-induced polymerization center muhDistance of (d), calculated as follows:
Figure FDA0002401663870000021
where d is the logical address access frequency f and the dimension of the cluster center mu, fiAnd muiRespectively representing the access frequency f and the ith dimension of the clustering center mu, wherein d is a constant 1 because the access frequency dimensions are one-dimensional;
step S52, page temperature assessment:
according to the formula (1), clustering attribution is an aggregation center corresponding to the minimum distance, if the clustering attribution is a cold aggregation center, a page is evaluated as a cold page, if the clustering attribution is a warm aggregation center, the page is evaluated as a warm page, and if the clustering attribution is a hot aggregation center, the page is evaluated as a hot page; distributing corresponding write-in blocks according to clustering attribution, and setting original mapping items as invalid; wherein the writing block is a cold writing block CB, a warm writing block WB or a hot writing block HB;
step S6, returning the physical address ReqPPN corresponding to the request logical address;
the clustering process is to cluster the mapping items by adopting an improved K-means clustering method to obtain a cold clustering center mucAnd the center of the warm focus muwAnd heat-induced polymerization center muh
2. The method for mapping page-level addresses of flash memories based on access locality as claimed in claim 1, wherein the clustering process is specifically:
step S11, judging whether the interval between the current request sequence number and the request sequence number when clustering was executed last time reaches the sequence number threshold lambda, if yes, entering step S12, otherwise, entering step S17;
step S12, calculating the access frequency f of the mapping item in the mapping table according to the formula (2)LPNThe calculation formula is as follows:
Figure FDA0002401663870000031
wherein n is the access times of mapping entries corresponding to the logical address L PN, and ln (range) is the logarithm of the mapping range of the continuous mapping entries in the SCMT;
further, an access frequency set S of all mapping entries in the buffer is obtained as follows:
S={fmin,…,fLPN.…,fmax|min≤LPN≤max,LPN∈CMT} (3)
step S13, sampling the set S, and forming a set Sample by the sampling result; if the initial clustering is carried out, using three random items in the Sample set as initial clustering centers of the clustering, and otherwise, using the clustering result of the previous round as the initial clustering centers;
step S14, calculating the Euclidean distance between the access frequency of all the logical addresses in the Sample set and the centers of all the clusters according to a formula, and allocating the access frequency of the logical addresses to the cluster with the nearest distance;
Figure FDA0002401663870000032
where d is the logical address access frequency f and the dimension of the cluster center mu, fiAnd muiRepresenting the access frequency f and the size of the ith dimension of the clustering center mu;
step S15, for each cluster, calculating a new mean point according to formula (5)
Figure FDA0002401663870000033
As the clustering center of the next iteration, returning to step S14, that is, alternately performing steps S14 and S15, and stopping the iteration until the clustering center is unchanged in the previous iteration and the next iteration;
Figure FDA0002401663870000034
wherein
Figure FDA0002401663870000035
Representing the ith cluster set in the current iteration t, and k is the total number of the cluster sets;
the mean set M after the iteration is completed is as follows:
Figure FDA0002401663870000041
wherein ω represents the total number of iterations when clustering iteration stops;
step S16, calculating the final cold focusing center mucAnd the center of the warm focus muwAnd heat-induced polymerization center muhAs the latest clustering result, the following is shown:
Figure FDA0002401663870000042
3. the method as claimed in claim 1 or 2, wherein in step S3, if the WCMT is full before the map entry is added to the WCMT, the map entry in L RU location is evicted to the ECMT according to the least recently accessed policy (L RU policy), and if the ECMT or SCMT is full before the map entry is added to the ECMT or SCMT, the map entry in L RU location is evicted to the flash memory according to the L RU policy.
4. A flash memory page-level address mapping system based on access locality is characterized by comprising a buffer area, a flash memory area, a clustering execution module, a clustering center module and a page distribution module; the buffer area comprises a sequential cache mapping table SCMT, a working cache mapping table WCMT, an exchange cache mapping table ECMT and a global translation table GTT, and an address mapping item is cached to provide quick access without accessing a mapping block in the flash memory area; the flash memory area comprises a data block DB and a mapping block MB, the data block DB stores data information, and the mapping block MB stores mapping item information and provides access to an address mapping item which is missed in the buffer area; the clustering execution module executes clustering operation and obtains a clustering center by clustering the mapping items; the cluster center module stores and updates the current cluster center information; the page distribution module carries out page discrimination and distribution operation on the remote updated pages according to the information in the clustering center module;
the SCMT records continuous address mapping entries, namely mapping entries which are mapped from continuous logical addresses to corresponding continuous physical addresses; the WCMT records a single address mapping item, and the mapping item is from a transfer mapping item caused by an ECMT hit; the ECMT records a single address mapping item, wherein the address mapping item cached for the first time and the address mapping item eliminated in the WCMT are stored; GTT records the position information of the mapping block in the flash memory;
the clustering module comprises a loop checking module, an initialization module, an iterative computation module and an updating module;
the loop checking module checks whether the current clustering condition is met, namely whether the interval between the current request sequence number and the request sequence number when clustering is executed last time reaches a sequence number threshold lambda;
the initialization module performs initialization work on an initial clustering center, including initial random initialization and subsequent initialization by adopting a previous round of clustering results;
the iterative computation module performs an iterative computation part in the cluster, namely, the access frequency f of the mapping items in the mapping table is computed according to formula (2)LPNFurther obtaining an access frequency set S of all mapping items in the buffer area; sampling the set S, and forming a set Sample by a sampling result; calculating the Euclidean distance between the access frequency of all the logical addresses in the Sample set and all the cluster centers according to a formula (4), and allocating the access frequency of the logical addresses to the cluster with the nearest distance; for each cluster, a new mean point is calculated according to equation (6)
Figure FDA0002401663870000051
As the clustering center of the next iteration, until the clustering center is unchanged in the previous iteration and the next iteration; obtaining a final cold focusing center mu c, a final warm focusing center mu w and a final hot focusing center mu h as latest clustering results according to the formula (7);
the updating module carries out updating operation on three kinds of clustering centers in the clustering center module;
the cluster center module comprises a cold cluster center, a warm cluster center and a hot cluster center; the cold clustering center is the clustering center with the minimum access frequency of the mapping items in the clustering center; the warm clustering center is a clustering center with medium access frequency of mapping items in the clustering center; the hot clustering center is the clustering center with the maximum access frequency of the mapping items in the clustering center;
the page distribution module comprises a page discrimination module and a write-in block distribution module; the page judging module judges the cold and hot attributes of the page according to the distance between the current page and each center in the clustering center module; and the writing block distribution module distributes a cold writing block CB, a warm writing block WB and a hot writing block HB to different pages according to the page judgment result.
5. The system according to claim 4, wherein the cache of the buffer is respectively maintained in different buffers according to different hit conditions of the address mapping requests in the buffer, if all hits are hit, the hits in the SCMT and the WCMT are transferred to the MRU position of the mapping table where the hits are located, the hits in the ECMT are transferred to the MRU position of the WCMT, if part hits are hit, the hits are maintained as the whole hit policies in the buffer, if not, the missed parts find corresponding mapping blocks according to the GTT, find the mapping entries to be searched in the mapping blocks according to the requested Req L PN, and then determine whether the continuous address mapping entries appear around the mapping entries, if yes, the whole continuous mapping entries are prefetched and added to the SCMT MRU position, otherwise, the MRU position of the ECMT is added, and if all misses are hit, the buffer maintenance is performed by the missed policies in the part hits.
6. The memory page level address mapping system of claim 5, wherein the means for performing the access locality based on the mapping policy is further configured to perform the L RU policy eviction of the mapping entry in the L RU location to the ECMT if the WCMT is full before the mapping entry is added to the WCMT, and the means for performing the L RU policy eviction of the mapping entry in the L RU location to the flash memory if the ECMT or SCMT is full before the mapping entry is added to the ECMT or SCMT.
CN202010148662.9A 2020-03-05 2020-03-05 Flash memory page level address mapping method and system based on access locality Active CN111506517B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010148662.9A CN111506517B (en) 2020-03-05 2020-03-05 Flash memory page level address mapping method and system based on access locality

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010148662.9A CN111506517B (en) 2020-03-05 2020-03-05 Flash memory page level address mapping method and system based on access locality

Publications (2)

Publication Number Publication Date
CN111506517A true CN111506517A (en) 2020-08-07
CN111506517B CN111506517B (en) 2022-05-17

Family

ID=71871386

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010148662.9A Active CN111506517B (en) 2020-03-05 2020-03-05 Flash memory page level address mapping method and system based on access locality

Country Status (1)

Country Link
CN (1) CN111506517B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116010298A (en) * 2023-03-24 2023-04-25 温州市特种设备检测科学研究院(温州市特种设备应急处置中心) NAND type flash memory address mapping method and device, electronic equipment and storage medium
CN117056087A (en) * 2023-10-11 2023-11-14 深圳云天畅想信息科技有限公司 Cloud data center hybrid memory optimization method, computer device and storage medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100023674A1 (en) * 2008-07-28 2010-01-28 Aviles Joaquin J Flash DIMM in a Standalone Cache Appliance System and Methodology
US20140122774A1 (en) * 2012-10-31 2014-05-01 Hong Kong Applied Science and Technology Research Institute Company Limited Method for Managing Data of Solid State Storage with Data Attributes
CN104025010A (en) * 2011-09-30 2014-09-03 净睿存储股份有限公司 Variable length encoding in a storage system
US20180189675A1 (en) * 2016-12-31 2018-07-05 Intel Corporation Hardware accelerator architecture and template for web-scale k-means clustering
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
CN109766502A (en) * 2018-12-13 2019-05-17 平安普惠企业管理有限公司 Page improved method, device, computer equipment and storage medium
CN109783012A (en) * 2017-11-15 2019-05-21 忆锐公司 Reservoir and its controller based on flash memory
CN110413537A (en) * 2019-07-25 2019-11-05 杭州电子科技大学 A kind of flash translation layer (FTL) and conversion method towards hybrid solid-state hard disk

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100023674A1 (en) * 2008-07-28 2010-01-28 Aviles Joaquin J Flash DIMM in a Standalone Cache Appliance System and Methodology
CN104025010A (en) * 2011-09-30 2014-09-03 净睿存储股份有限公司 Variable length encoding in a storage system
US20140122774A1 (en) * 2012-10-31 2014-05-01 Hong Kong Applied Science and Technology Research Institute Company Limited Method for Managing Data of Solid State Storage with Data Attributes
US20180189675A1 (en) * 2016-12-31 2018-07-05 Intel Corporation Hardware accelerator architecture and template for web-scale k-means clustering
CN109783012A (en) * 2017-11-15 2019-05-21 忆锐公司 Reservoir and its controller based on flash memory
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
CN109766502A (en) * 2018-12-13 2019-05-17 平安普惠企业管理有限公司 Page improved method, device, computer equipment and storage medium
CN110413537A (en) * 2019-07-25 2019-11-05 杭州电子科技大学 A kind of flash translation layer (FTL) and conversion method towards hybrid solid-state hard disk

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YOUWEI YUAN: "DPW-LRU: An Efficient Buffer Management Policy Based on Dynamic Page Weight for Flash Memory in Cyber-Physical Systems", 《IEEE ACCESS》 *
刘翠梅等: "一种代价感知的细粒度闪存缓冲区替换算法", 《小型微型计算机***》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116010298A (en) * 2023-03-24 2023-04-25 温州市特种设备检测科学研究院(温州市特种设备应急处置中心) NAND type flash memory address mapping method and device, electronic equipment and storage medium
CN116010298B (en) * 2023-03-24 2023-09-22 温州市特种设备检测科学研究院(温州市特种设备应急处置中心) NAND type flash memory address mapping method and device, electronic equipment and storage medium
CN117056087A (en) * 2023-10-11 2023-11-14 深圳云天畅想信息科技有限公司 Cloud data center hybrid memory optimization method, computer device and storage medium
CN117056087B (en) * 2023-10-11 2024-01-26 深圳云天畅想信息科技有限公司 Cloud data center hybrid memory optimization method, computer device and storage medium

Also Published As

Publication number Publication date
CN111506517B (en) 2022-05-17

Similar Documents

Publication Publication Date Title
CN107193646B (en) High-efficiency dynamic page scheduling method based on mixed main memory architecture
US10248576B2 (en) DRAM/NVM hierarchical heterogeneous memory access method and system with software-hardware cooperative management
US10241919B2 (en) Data caching method and computer system
CN104834607B (en) A kind of hit rate for improving distributed caching and the method for reducing solid state hard disc abrasion
CN108762664B (en) Solid state disk page-level cache region management method
US10387329B2 (en) Profiling cache replacement
CN109446117B (en) Design method for page-level flash translation layer of solid state disk
CN109739780A (en) Dynamic secondary based on the mapping of page grade caches flash translation layer (FTL) address mapping method
CN108845957B (en) Replacement and write-back self-adaptive buffer area management method
CN104166634A (en) Management method of mapping table caches in solid-state disk system
CN107423229B (en) Buffer area improvement method for page-level FTL
CN103942157A (en) Method and system for data processing in computing storage environment
CN111506517B (en) Flash memory page level address mapping method and system based on access locality
CN105975215B (en) A kind of stacked tile type magnetic substance storage translation layer mapping table management method based on Ondemand algorithm
CN111580754B (en) Write-friendly flash memory solid-state disk cache management method
CN110888600A (en) Buffer area management method for NAND flash memory
CN111352593B (en) Solid state disk data writing method for distinguishing fast writing from normal writing
CN108459972B (en) Efficient cache management design method for multi-channel solid state disk
CN109478164A (en) For storing the system and method for being used for the requested information of cache entries transmission
CN109002400B (en) Content-aware computer cache management system and method
Chen et al. HCFTL: A locality-aware page-level flash translation layer
US20130282977A1 (en) Cache control device, cache control method, and program thereof
CN116048402A (en) Cache replacement method, device and storage medium
CN115562592A (en) Memory and disk hybrid caching method based on cloud object storage
CN111008158B (en) Flash memory cache management method based on page reconstruction and data temperature identification

Legal Events

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