CN107423229B - Buffer area improvement method for page-level FTL - Google Patents

Buffer area improvement method for page-level FTL Download PDF

Info

Publication number
CN107423229B
CN107423229B CN201710156124.2A CN201710156124A CN107423229B CN 107423229 B CN107423229 B CN 107423229B CN 201710156124 A CN201710156124 A CN 201710156124A CN 107423229 B CN107423229 B CN 107423229B
Authority
CN
China
Prior art keywords
request
module
processing area
continuous
area module
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
CN201710156124.2A
Other languages
Chinese (zh)
Other versions
CN107423229A (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.)
HEYU HEALTH TECHNOLOGY Co.,Ltd.
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 CN201710156124.2A priority Critical patent/CN107423229B/en
Publication of CN107423229A publication Critical patent/CN107423229A/en
Application granted granted Critical
Publication of CN107423229B publication Critical patent/CN107423229B/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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention discloses a buffer area improvement method facing to a page-level FTL. The invention comprises the following steps: 1. dividing the RAM into a request type distinguishing module, a random request processing area module and a continuous request processing area module; 2. the request type distinguishing module judges the type of the arriving request and delivers the type to the corresponding request processing module for processing; 3. if the requested data page is in RAM, it is serviced immediately. During service, the read-write type of the request needs to be judged, and if the request is a write request, data coverage is carried out in a buffer area to realize updating; otherwise, the data is directly read from the buffer area. 4. And when the data page in the continuous request processing module is accessed for the second time, loading the data page into the random request processing area module. 5. When the random request processing area module is full, removing the modules in cluster units according to the LRU strategy; and when the continuous request processing area module is full, removing the cluster as a unit according to the FIFO strategy. The invention has good practicability and application prospect.

Description

Buffer area improvement method for page-level FTL
Technical Field
The invention belongs to the technical field of solid state disk algorithm design and discloses a page-level FTL-oriented buffer area improvement method.
Background
The buffer algorithm design is a very critical problem in the SSD firmware design, and especially plays a crucial role in optimizing the performance and lifetime of the middle-to-high-end SSD. Due to the fact that data access has high time locality and space locality characteristics, the buffer area algorithm design can cache frequently accessed data in the buffer area, direct access to the flash memory is reduced, and the reading and writing efficiency of the CPU is improved.
The data replacement strategy is a key problem for the design of the buffer algorithm. The conventional page-level replacement policy, i.e., the replacement granularity, is 1 page. The advantage of the page-level replacement policy is the fine-grained access characteristic for distinguishing each page, the buffer hit rate is higher, and the disadvantage is that a large amount of memory fragments can be generated in the flash memory, and the excessive memory fragments can obviously increase the overhead of garbage collection. According to the traditional block-level replacement strategy, the good sequential writing performance of the flash memory is fully considered, data pages of the same logic block in the buffer area are gathered together in a clustering mode for management, and after the buffer area is full, the data pages of the same logic block are removed according to the block, namely, all the data pages of the same logic block are replaced out of the buffer area. The advantages and disadvantages of the block-level permutation strategy are exactly opposite to the page-level permutation strategy.
Furthermore, the buffer structure design is another key issue of the buffer algorithm design. In hard disk access, the update frequency is related to the request size. When the incoming request is greater than 4KB, the update frequency is significantly reduced. If the continuous requests with low access frequency are cached in the buffer area, the buffer area is polluted, namely, the valuable storage space is occupied by data without time locality, and therefore the space utilization rate of the buffer area is reduced. However, it is not good to directly send the continuous requests to the FTL for processing, because there is a phenomenon that some data in one continuous request is accessed twice, even accessed many times.
Finally, it is important to design an excellent buffer improvement algorithm to improve the overall performance of the SSD.
Disclosure of Invention
The invention aims to overcome the defects of the prior art and provide a buffer area improvement method facing a page-level FTL. The invention has good practicability and application prospect in the design of the buffer management layer of the solid state disk.
The technical scheme adopted by the invention for solving the technical problem comprises the following steps:
step 1, dividing an RAM in a solid state disk into 3 modules, namely a request type distinguishing module, a random request processing area module and a continuous request processing area module;
a random request processing area module: the data pages used for caching the random request are also loaded into the random request processing area module if the data pages in the continuous request processing area module are accessed for the second time.
A continuous request handling zone module: for caching data pages with high spatial locality requests (i.e. consecutive requests). The high spatial locality of the continuous requests is utilized in the continuous request processing area module, and the processing capacity of the continuous request processing area module for the continuous requests is improved by prefetching a group of data pages to the continuous request processing area module, so that the overall performance of the system is further improved.
A request type distinguishing module: which is used to determine the request type of the new incoming request, i.e. to distinguish whether the request is a random request or a continuous request with high spatial locality.
And 2, when the request comes, judging the request type of the request by a request type distinguishing module. If the request is a random request, the request is delivered to a random request processing area module for processing, and if the request is a continuous request, the request is delivered to a continuous request processing area module for processing;
and 3, if the requested data page is in the random request processing area module or the continuous request processing area module, immediately obtaining service. And judging the read-write type of the request in the service process, and if the request is a write request, covering the data of the old data page in the module corresponding to the request by using the data in the request so as to realize updating. Otherwise, the data is directly read from the module.
And 4, when the requested data page is in the continuous request processing module and the data page is accessed for the second time in an accumulated mode, loading the requested data page into the random request processing area module.
Step 5, when the random request processing area module has no storage space, selecting the least recently accessed cluster for replacement each time according to the LRU strategy; when the continuous request processing area module has no storage space, selecting a group of clusters with the longest residence time for replacement each time according to the FIFO strategy.
The invention selects 3 individual performance indexes as evaluation standards: cache hit rate, average response time and flash block erase times; the specific explanation is as follows:
1) buffer hit rate: the hit ratio of the mapping item of the request in the mapping cache is referred to, that is, the proportion of the request directly served in the mapping cache to the total request.
2) Response time: the time difference between the service completion time and the arrival time of the request is the integration of garbage collection, the overhead of address mapping and data access time, and is also a key index for measuring the performance of the SSD.
3) The number of block erases: including the number of times the address translation block is erased and the number of times the data block is erased, directly determines the life of the SSD.
In the invention, the random request processing area module and the continuous request processing area module adopt the concept of clustering, that is, logical pages belonging to the same cluster number (the cluster number is the logical page number/the number of the logical pages in each cluster) are clustered together, and an LRU (least recently used) strategy is used for managing all the clusters.
Compared with the background technology, the invention has the beneficial effects that: the experimental result shows that, on average, compared with the traditional LRU algorithm, the buffer improvement algorithm of the invention has the advantages that the buffer hit rate is improved by 32.41%, the response time is reduced by 26.89%, and the flash block erasing frequency is reduced by 30.28%; compared with the CFLRU algorithm, the buffer hit rate is improved by 26.61%, the response time is reduced by 19.08%, and the flash block erasing times are reduced by 20.55%.
Drawings
FIG. 1 is a block diagram of a clustering technique employed in the present invention;
FIG. 2 is an overall architecture diagram of the present invention;
FIG. 3 is a flow chart of the present invention;
FIG. 4 is a flow chart of the present invention.
Detailed Description
The invention is further illustrated by the following figures and examples.
As shown in fig. 2-4, the technical solution adopted to solve the technical problem of the buffer improvement method for the page-level FTL of the present invention includes the following steps:
as shown in fig. 2:
step 1, dividing an RAM in a solid state disk into 3 modules, namely a request type distinguishing module, a random request processing area module and a continuous request processing area module;
a random request processing area module: the data pages used for caching the random request are also loaded into the random request processing area module if the data pages in the continuous request processing area module are accessed for the second time.
A continuous request handling zone module: for caching data pages with high spatial locality requests (i.e. consecutive requests). The high spatial locality of the continuous requests is utilized in the continuous request processing area module, and the processing capacity of the continuous request processing area module for the continuous requests is improved by prefetching a group of data pages to the continuous request processing area module, so that the overall performance of the system is further improved.
A request type distinguishing module: which is used to determine the request type of the new incoming request, i.e. to distinguish whether the request is a random request or a continuous request with high spatial locality.
And 2, when the request comes, judging the request type of the request by a request type distinguishing module. If the request is a random request, the request is delivered to a random request processing area module for processing, and if the request is a continuous request, the request is delivered to a continuous request processing area module for processing;
and 3, if the requested data page is in the random request processing area module or the continuous request processing area module, immediately obtaining service. And judging the read-write type of the request in the service process, and if the request is a write request, covering the data of the old data page in the module corresponding to the request by using the data in the request so as to realize updating. Otherwise, the data is directly read from the module.
And 4, when the requested data page is in the continuous request processing module and the data page is accessed for the second time in an accumulated mode, loading the requested data page into the random request processing area module.
Step 5, when the random request processing area module has no storage space, selecting the least recently accessed cluster for replacement each time according to the LRU strategy; when the continuous request processing area module has no storage space, selecting a group of clusters with the longest residence time for replacement each time according to the FIFO strategy.
The invention selects 3 individual performance indexes as evaluation standards: cache hit rate, average response time and flash block erase times; the specific explanation is as follows:
1) buffer hit rate: the hit ratio of the mapping item of the request in the mapping cache is referred to, that is, the proportion of the request directly served in the mapping cache to the total request.
2) Response time: the time difference between the service completion time and the arrival time of the request is the integration of garbage collection, the overhead of address mapping and data access time, and is also a key index for measuring the performance of the SSD.
3) The number of block erases: including the number of times the address translation block is erased and the number of times the data block is erased, directly determines the life of the SSD.
In the present invention, both the random request processing area module and the continuous request processing area module adopt the concept of clustering, that is, logical pages belonging to the same cluster number (cluster number: logical page number/number of logical pages in each cluster) are clustered together, and all clusters are managed using the LRU policy, as shown in fig. 1.
In fig. 2, an overall architecture diagram of a page level FTL oriented buffer improvement algorithm is depicted, which includes: 1. a request type distinguishing module; 2. a random request processing area module; 3. the processing area modules are continuously requested.
Example 1:
now, an exemplary embodiment of the present invention will be described in detail with reference to fig. 3 and 4, which describe the processing flow of the algorithm in detail.
In this example, the present invention weakens the size of the buffer space, and the clusters of the random request handling area module and the continuous request handling area module are both composed of 4 data pages. Assume that the order in which requests arrive is as follows: (131,1, W), (0,2, R), (12,4, W), (2,1, W), wherein the three parameters in parentheses represent the initial logical page number of the request, the size of the request, and the request type, respectively. It is assumed that neither the random request handling zone module nor the continuous request handling zone module has storage space, as shown in fig. 3.
The invention has the following processing procedures: when the request (131,1, W) comes, the requested data needs to be loaded into the random request processing area module because the requested data is accessed for the second time in the continuous request processing area module, and at this time, the random request processing area module is full, the data page 236 is removed and updated and then is added 239 to the flash memory, and then the data page 131 is loaded into the random request processing area module. When the request (0,2, R) arrives, page 0, 1 is read from the flash memory into the random request handling area module since the request is not in the buffer. When a request (12,4, W) comes, because the request is not in the buffer area, the request type distinguishing module judges that the data of the request needs to be loaded into the continuous request processing area module, and if the continuous request processing area module is found to be full, the data page 200 and 203 are removed and updated into the flash memory, and then the data page 12-15 is loaded into the continuous request processing area module. When the request (2,1, W) arrives, the request type discrimination module judges that the data page 2 needs to be loaded into the random request processing area module since the request is not in the buffer. The final state of the buffer is shown in fig. 4.

Claims (2)

1. A buffer improvement method facing to page-level FTL is characterized by comprising the following steps:
step 1, dividing an RAM in a solid state disk into 3 modules, namely a request type distinguishing module, a random request processing area module and a continuous request processing area module;
a random request processing area module: the data page used for caching the random request is also loaded into the random request processing area module if the data page accumulation in the continuous request processing area module is accessed for the second time;
a continuous request handling zone module: to cache data pages with high spatial locality requests; the high spatial locality of continuous requests is utilized in the continuous request processing area module, and the processing capacity of the continuous request processing area module for the continuous requests is improved by prefetching a group of data pages to the continuous request processing area module;
a request type distinguishing module: the method is used for judging the request type of a new incoming request, namely distinguishing whether the request is a random request or a continuous request with high spatial locality;
step 2, when the request comes, the request type distinguishing module judges the request type of the request; if the request is a random request, the request is delivered to a random request processing area module for processing, and if the request is a continuous request, the request is delivered to a continuous request processing area module for processing;
step 3, if the requested data page is in the random request processing area module or in the continuous request processing area module, the service can be immediately obtained; judging the read-write type of the request in the service process, if the request is a write request, covering the data of an old data page in a module corresponding to the request by using the data in the request so as to realize updating; otherwise, directly reading data from the module;
step 4, when the requested data page is in the continuous request processing module and the data page is accessed for the second time in an accumulated way, the requested data page needs to be loaded into the random request processing area module;
step 5, when the random request processing area module has no storage space, selecting the least recently accessed cluster for replacement each time according to the LRU strategy; when the continuous request processing area module has no storage space, selecting a group of clusters with the longest residence time for replacement each time according to the FIFO strategy.
2. The method of claim 1, wherein the random request processing area module and the continuous request processing area module adopt a clustering concept of clustering logical pages belonging to the same cluster number together, and manage all clusters using an LRU policy.
CN201710156124.2A 2017-03-16 2017-03-16 Buffer area improvement method for page-level FTL Active CN107423229B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710156124.2A CN107423229B (en) 2017-03-16 2017-03-16 Buffer area improvement method for page-level FTL

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710156124.2A CN107423229B (en) 2017-03-16 2017-03-16 Buffer area improvement method for page-level FTL

Publications (2)

Publication Number Publication Date
CN107423229A CN107423229A (en) 2017-12-01
CN107423229B true CN107423229B (en) 2020-09-01

Family

ID=60423534

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710156124.2A Active CN107423229B (en) 2017-03-16 2017-03-16 Buffer area improvement method for page-level FTL

Country Status (1)

Country Link
CN (1) CN107423229B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108196795B (en) * 2017-12-30 2020-09-04 惠龙易通国际物流股份有限公司 Data storage method and device and computer storage medium
CN108762664B (en) * 2018-02-05 2021-03-16 杭州电子科技大学 Solid state disk page-level cache region management method
CN109446117B (en) * 2018-09-06 2023-02-28 杭州电子科技大学 Design method for page-level flash translation layer of solid state disk
CN109918316B (en) * 2019-02-26 2021-07-13 深圳忆联信息系统有限公司 Method and system for reducing FTL address mapping space
CN110688325B (en) * 2019-09-05 2021-12-03 苏州浪潮智能科技有限公司 Garbage recycling method, device and equipment for solid state disk and storage medium
CN113076267B (en) * 2021-04-29 2023-05-26 华侨大学 Address conversion method and data storage device based on hot spot aggregation

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100169544A1 (en) * 2008-12-31 2010-07-01 Eom Young-Ik Methods for distributing log block associativity for real-time system and flash memory devices performing the same
CN103176752A (en) * 2012-07-02 2013-06-26 晶天电子(深圳)有限公司 Super-endurance solid-state drive with Endurance Translation Layer (ETL) and diversion of temp files for reduced Flash wear
CN102097128B (en) * 2010-11-25 2014-03-19 中国人民大学 Self-adaptive buffer area replacement method based on flash memory
CN104102591A (en) * 2013-04-08 2014-10-15 香港理工大学 Computer subsystem and method for implementing flash translation layer in computer subsystem
CN105224240A (en) * 2014-05-30 2016-01-06 北京忆恒创源科技有限公司 By the method for data write storage device, device and memory device
CN105917318A (en) * 2012-07-24 2016-08-31 英特尔公司 System and method for implementing SSD-based I/O caches

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9621286B2 (en) * 2011-06-29 2017-04-11 Tektronix, Inc. Apparatus for generation of corrected vector wideband RF signals

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100169544A1 (en) * 2008-12-31 2010-07-01 Eom Young-Ik Methods for distributing log block associativity for real-time system and flash memory devices performing the same
CN102097128B (en) * 2010-11-25 2014-03-19 中国人民大学 Self-adaptive buffer area replacement method based on flash memory
CN103176752A (en) * 2012-07-02 2013-06-26 晶天电子(深圳)有限公司 Super-endurance solid-state drive with Endurance Translation Layer (ETL) and diversion of temp files for reduced Flash wear
CN105917318A (en) * 2012-07-24 2016-08-31 英特尔公司 System and method for implementing SSD-based I/O caches
CN104102591A (en) * 2013-04-08 2014-10-15 香港理工大学 Computer subsystem and method for implementing flash translation layer in computer subsystem
CN105224240A (en) * 2014-05-30 2016-01-06 北京忆恒创源科技有限公司 By the method for data write storage device, device and memory device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于连续缓存和二级缓存的DFTL改进算法;姚英彪 等;《计算机研究与发展》;20141230;第51卷(第9期);第2012-2021页 *

Also Published As

Publication number Publication date
CN107423229A (en) 2017-12-01

Similar Documents

Publication Publication Date Title
CN107423229B (en) Buffer area improvement method for page-level FTL
US9128847B2 (en) Cache control apparatus and cache control method
US8990477B2 (en) System and method for limiting fragmentation
US20160217071A1 (en) Cache Allocation in a Computerized System
CN106293521B (en) A kind of flash translation layer (FTL) management method that mapping granule is adaptive
CN108845957B (en) Replacement and write-back self-adaptive buffer area management method
CN108762671A (en) Mixing memory system and its management method based on PCM and DRAM
CN110413537B (en) Flash translation layer facing hybrid solid state disk and conversion method
CN102981963A (en) Implementation method for flash translation layer of solid-state disc
CN109446117B (en) Design method for page-level flash translation layer of solid state disk
KR101017067B1 (en) Locality-Aware Garbage Collection Technique for NAND Flash Memory-Based Storage Systems
CN109783398A (en) One kind is based on related perception page-level FTL solid state hard disk performance optimization method
CN107590084A (en) A kind of page level buffering area improved method based on classification policy
CN110262982A (en) A kind of method of solid state hard disk address of cache
CN113254358A (en) Method and system for address table cache management
CN109324979B (en) Data cache dividing method and data distribution method of 3D flash memory solid-state disk system
CN110147331A (en) Caching data processing method, system and readable storage medium storing program for executing
CN108121670A (en) A kind of mapping method for reducing solid state disk metadata backwash frequency
CN111580754B (en) Write-friendly flash memory solid-state disk cache management method
Jin et al. A comprehensive survey of issues in solid state drives
CN111352593B (en) Solid state disk data writing method for distinguishing fast writing from normal writing
Yao et al. An advanced adaptive least recently used buffer management algorithm for SSD
KR101180288B1 (en) Method for managing the read and write cache in the system comprising hybrid memory and ssd
CN116364148A (en) Wear balancing method and system for distributed full flash memory system
CN111506517B (en) Flash memory page level address mapping method and system based on access locality

Legal Events

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

Effective date of registration: 20201218

Address after: 314500 Tongxiang City, Jiaxing, Zhejiang, Tung Tung Road, Wu Tung Street (East) 55, Tongxiang chamber of Commerce Building 1 unit 1702, 1703 room -A-220

Patentee after: Jiaxing Beixi Electromechanical Equipment Co.,Ltd.

Address before: Room 3003-1, building 1, Gaode land center, Jianggan District, Hangzhou City, Zhejiang Province

Patentee before: Zhejiang Zhiduo Network Technology Co.,Ltd.

Effective date of registration: 20201218

Address after: Room 3003-1, building 1, Gaode land center, Jianggan District, Hangzhou City, Zhejiang Province

Patentee after: Zhejiang Zhiduo Network Technology Co.,Ltd.

Address before: 310018 No. 2 street, Xiasha Higher Education Zone, Hangzhou, Zhejiang

Patentee before: HANGZHOU DIANZI University

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210203

Address after: Room 2003, 1801, 1804, No.13-1, Hai'an Road, Tianhe District, Guangzhou City, Guangdong Province

Patentee after: HEYU HEALTH TECHNOLOGY Co.,Ltd.

Address before: 314500 Tongxiang City, Jiaxing, Zhejiang, Tung Tung Road, Wu Tung Street (East) 55, Tongxiang chamber of Commerce Building 1 unit 1702, 1703 room -A-220

Patentee before: Jiaxing Beixi Electromechanical Equipment Co.,Ltd.

TR01 Transfer of patent right