CN112559384B - Dynamic partitioning method for hybrid solid-state disk based on nonvolatile memory - Google Patents

Dynamic partitioning method for hybrid solid-state disk based on nonvolatile memory Download PDF

Info

Publication number
CN112559384B
CN112559384B CN202011492965.9A CN202011492965A CN112559384B CN 112559384 B CN112559384 B CN 112559384B CN 202011492965 A CN202011492965 A CN 202011492965A CN 112559384 B CN112559384 B CN 112559384B
Authority
CN
China
Prior art keywords
data
group
page
area
cold
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
CN202011492965.9A
Other languages
Chinese (zh)
Other versions
CN112559384A (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.)
Nanchang Hangkong University
Original Assignee
Nanchang Hangkong 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 Nanchang Hangkong University filed Critical Nanchang Hangkong University
Priority to CN202011492965.9A priority Critical patent/CN112559384B/en
Publication of CN112559384A publication Critical patent/CN112559384A/en
Application granted granted Critical
Publication of CN112559384B publication Critical patent/CN112559384B/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
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention discloses a dynamic partitioning method of a hybrid solid-state disk based on a nonvolatile memory, which divides a PCM (pulse code modulation) of the nonvolatile memory into two areas, namely a cache area and a data area, wherein the cache area is used as a memory inside the solid-state disk, and the data area and a flash memory are uniformly addressed to store data ejected from the cache area. And dynamically partitioning the cache region and the data region to obtain the optimal proportion between the cache region and the data region, so that the hybrid solid-state disk can obtain the optimal performance under different loads.

Description

Dynamic partitioning method for hybrid solid-state disk based on nonvolatile memory
Technical Field
The invention relates to the technical field of computer external storage, in particular to a dynamic partitioning method for a hybrid solid-state disk based on a nonvolatile memory.
Background
Solid state disks are increasingly common in everyday life, and typically include multiple flash memory chips, each of which includes one or more dies, each of which includes multiple blocks, each of which contains multiple pages. A block is the smallest unit of erase in flash memory and a page is the smallest unit of write.
The solid state disk operates in a defined unit of erase (i.e., the block size of data erased during an erase operation) and a defined unit of write (i.e., the block size of data written during a write operation). The difference in block size between the unit of erase and the unit of write usually requires the use of a flash translation layer (flashtranssliationlayer). FTL is essentially an address mapping scheme, and address mapping can be implemented using page mapping, block mapping, or hybrid mapping. In the conventional solid-state disk, a DFTL algorithm of page mapping is generally adopted, the algorithm is based on a locality principle, a global mapping directory and a part of commonly used mapping tables are stored in a cache inside the solid-state disk, and the DFTL can obtain better performance in the solid-state disk with a single medium. The phase change memory is a novel low-power consumption solid-state memory device, is considered as a new generation of high-performance memory device capable of replacing a flash memory, and has the characteristics of bit-based modification, in-situ update, long service life and the like. Therefore, it can be added to a solid-state disk to constitute a hybrid solid-state disk with flash memory. In the hybrid solid-state disk, because the difference between the reading performance of the flash memory and the phase change memory is not large (the page reading time of the flash memory is 10-100 ns, but 2 KB-4 KB data can be read each time, the time of the phase change memory reading once is about 10-50 mus, and 1B data is read each time), the difference between the writing performance of the flash memory and the writing performance of the DRAM is not as large as that between the phase change memory and the DRAM, meanwhile, the flash memory has the characteristics of large capacity and the like, so that the phase change memory can be used as the memory part of the solid-state disk to enhance the reading and writing performance of the solid-state disk, and the service life of the flash memory is prolonged.
Disclosure of Invention
The invention aims to solve the problems that: a dynamic partitioning method of a hybrid solid state disk based on a nonvolatile memory is provided, wherein the nonvolatile memory PCM is divided into two areas, namely a cache area and a data area, the cache area is used as a memory inside the solid state disk, the data area and a flash memory are uniformly addressed, and data ejected from the cache area are stored. And dynamically allocating the cache region and the data region to obtain the optimal proportion between the cache region and the data region, so that the hybrid solid-state disk can obtain the optimal performance under different loads.
The technical scheme provided by the invention for solving the problems is as follows: a dynamic partitioning method for a hybrid solid-state disk based on a nonvolatile memory is characterized by comprising the following steps: the method comprises the following steps of,
(1) the initial stage, dividing PCM into a buffer area and a data area, setting a counter for each page of the PCM data area, assigning an initial value to the counter of the page written for the first time, and adding one if the page in the data area is updated, and subtracting one if the page is not updated;
(2) after a certain period, counting the value of a counter of each page in the data area, performing cluster analysis on the data by using a K-means algorithm, dividing the data into three types of data, and calculating the mass center of each type of data; dividing the three groups of data into a hot group, a warm group and a cold group from big to small according to the value of each mass center, and counting the number of the data of each group;
(3) setting two thresholds K1 and K2, which respectively represent the minimum times of page updating in a hot group and the maximum times of page updating in a cold group; if the centroid in the hot group is smaller than K1, the number of the hot group smaller than K1 is calculated, and the number of the pages is divided into cache areas; if the mass center in the cold group is larger than K2, the number of the cold group larger than K2 is calculated, and the pages of the number are divided into data areas; if neither case occurs, entering step (4);
(4) setting the sizes of the hot group and the cold group to be a certain proportion, comparing the counted data numbers of the hot group and the cold group, if the data number of the hot group is more than the proportion, dividing the redundant page number of the hot group into the data area, and if the data number of the cold area is more than the proportion, dividing the redundant page number of the cold group into the cache area.
Preferably, the capacity ratio of the buffer area to the data area in step (1) is one to one.
Preferably, the cache region part in the step (1) stores the mapping table entry which is frequently updated in the part of the global mapping table in the flash memory, and the frequently updated data of the write request from the external file system.
Compared with the prior art, the invention has the advantages that: the invention divides the non-volatile memory PCM into two areas, a cache area and a data area, the cache area is used as the internal memory of the solid state disk, and the data area and the flash memory are addressed uniformly to store the data expelled from the cache area. And dynamically allocating the cache region and the data region to obtain the optimal proportion between the cache region and the data region, so that the hybrid solid-state disk can obtain the optimal performance under different loads.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and together with the description serve to explain the invention and not to limit the invention.
FIG. 1 is a hybrid solid state disk weave architecture of the present invention
Fig. 2 is a flow chart of the present invention.
Detailed Description
The embodiments of the present invention will be described in detail with reference to the accompanying drawings and examples, so that how to implement the technical means for solving the technical problems and achieving the technical effects of the present invention can be fully understood and implemented.
A data partitioning method for a hybrid solid-state disk based on a nonvolatile memory comprises the following specific steps:
(1) in the initial stage, the PCM capacity is divided into a buffer area and a data area in a one-to-one ratio, a counter is set for each page of the PCM data area, the counter of the page written for the first time is given an initial value, and the counter is increased as long as the page in the data area is updated and decreased by one if the page is not updated.
(2) After a certain period, counting the value of a counter of each page in the data area, carrying out cluster analysis on the data by using a K-means algorithm, dividing the data into three types of data, and calculating the mass center of each type of data. And dividing the three groups of data into a hot group, a warm group and a cold group from large to small according to the value of each mass center, and counting the number of the data of each group.
(3) Two thresholds K1, K2 are set, indicating the minimum number of page updates in the hot group and the maximum number of page updates in the cold group, respectively. If the centroid in the hot group is smaller than K1, the number of the hot group smaller than K1 is calculated, and the number of the pages is divided into cache areas; if the centroid in the cold group is greater than K2, the number of cold groups greater than K2 is found and the number of pages is divided into data areas. If neither of these conditions occurs, step (4) is entered.
(4) Setting the sizes of the hot group and the cold group to be a certain proportion, comparing the counted data numbers of the hot group and the cold group, if the data number of the hot group is more than the proportion, dividing the redundant page number of the hot group into the data area, and if the data number of the cold area is more than the proportion, dividing the redundant page number of the cold group into the cache area.
In the invention, the cache region part stores the mapping table item which is frequently updated by the part of the global mapping table in the flash memory and the frequently updated data of the writing request from the external file system, so that the cache region is dynamically partitioned by utilizing the memory partitioning technology of predecessors in order to better obtain the reading and writing performance of the hybrid solid-state disk.
The method mainly comprises the steps of setting two key parameters Pb and Pm; updating two key parameters according to the read-write requests under different conditions; after a certain period, according to the change of the parameters Pb and Pm, using a group of calculation formulas to find the optimal size ratio of the data cache part and the part of the mapping relation; and adjusting the composition of the buffer area according to the composition of the current buffer area and the optimal size ratio of the data buffer part and the mapping relation part obtained before.
In the invention, when a read request reaches the solid-state disk, if the target data is in the cache region, the data in the cache can be directly read, otherwise, the data needs to be read in the PCM data region or the flash memory. When the target data is not in the cache region, the mapping address of the target data needs to be inquired first, and when the mapping address is in the PCM cache region, the address of the target data can be obtained immediately. When the mapping address is not in the PCM cache region, and if the mapping table entry portion of the PCM cache region is full, the least common mapping is evicted. If the mapping relationship is dirty, the translation page needs to be searched according to the global mapping directory and updated to make the mapping information consistent. And then further finding out the address of the data to be read according to the global mapping directory, and writing the address into the PCM cache region.
When a write request arrives, if the data of the write request exists in the data part of the cache region, the new data of the write request can be directly written to the data part of the cache region, otherwise, in order to make a position for the new data of the request, the least frequently used data of the data part of the cache region needs to be written back to the PCM data region. Then, firstly, the target address of the write-back data needs to be inquired in the mapping table entry part of the cache region, if the search is successful, whether the target address is in the data region of the PCM is judged, if so, the write-back data can be directly modified in place according to the characteristics of the PCM, the corresponding mapping relation is kept unchanged, and if the target address is in the flash memory, a space needs to be made for the write-back data in the PCM data region. Therefore, it is necessary to migrate the page with the least number of updates in the PCM data area to the flash memory, and modify the mapping relationship between the write-back page and the mapping relationship between the migrated pages. If the target address of the write-back data cannot be found in the cache region and a space needs to be made for the mapping relation of the write-back data, the least frequently used mapping relation is driven out, and if the mapping relation is dirty, the translation page needs to be searched according to the global mapping directory and updated to enable the mapping information of the translation page to be consistent. The translation page updates are all operated on in the flash memory, and the data written to the PCM data area is all evicted from the PCM cache area. Writing the write-back data back to the PCM data area, if the PCM data area is full, migrating the page with least update times in the PCM data area to the flash memory, and modifying the mapping relation of the migrated page.
The foregoing is merely illustrative of the preferred embodiments of the present invention and is not to be construed as limiting the claims. The present invention is not limited to the above embodiments, and the specific structure thereof is allowed to vary. All changes which come within the scope of the invention as defined by the independent claims are intended to be embraced therein.

Claims (2)

1. A dynamic partitioning method for a hybrid solid-state disk based on a nonvolatile memory is characterized by comprising the following steps: the method comprises the following steps of,
(1) the initial stage, dividing PCM into a buffer area and a data area, setting a counter for each page of the PCM data area, assigning an initial value to the counter of the page written for the first time, and adding one if the page in the data area is updated, and subtracting one if the page is not updated;
(2) after a certain period, counting the value of a counter of each page in the data area, performing cluster analysis on the data by using a K-means algorithm, dividing the data into three types of data, and calculating the mass center of each type of data; dividing the three groups of data into a hot group, a warm group and a cold group from big to small according to the value of each mass center, and counting the number of the data of each group;
(3) setting two thresholds K1 and K2, which respectively represent the minimum times of page updating in a hot group and the maximum times of page updating in a cold group; if the centroid in the hot group is smaller than K1, the number of the hot group smaller than K1 is calculated, and the number of the pages is divided into cache areas; if the mass center in the cold group is larger than K2, the number of the cold group larger than K2 is calculated, and the pages of the number are divided into data areas; if neither case occurs, entering step (4);
(4) setting the sizes of the hot group and the cold group to be a certain proportion, comparing the counted data numbers of the hot group and the cold group, if the data number of the hot group is more than the proportion, dividing the redundant page number of the hot group into a data area, and if the data number of the cold area is more than the proportion, dividing the redundant page number of the cold group into a cache area;
wherein, the cache region in the step (1) stores the mapping table entry frequently updated by the global mapping table in the flash memory, and the frequently updated data of the write request from the external file system.
2. A hybrid solid-state disk dynamic partitioning method based on non-volatile memory as claimed in claim 1 wherein: and (2) the capacity ratio of the buffer area to the data area in the step (1) is one to one.
CN202011492965.9A 2020-12-17 2020-12-17 Dynamic partitioning method for hybrid solid-state disk based on nonvolatile memory Active CN112559384B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011492965.9A CN112559384B (en) 2020-12-17 2020-12-17 Dynamic partitioning method for hybrid solid-state disk based on nonvolatile memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011492965.9A CN112559384B (en) 2020-12-17 2020-12-17 Dynamic partitioning method for hybrid solid-state disk based on nonvolatile memory

Publications (2)

Publication Number Publication Date
CN112559384A CN112559384A (en) 2021-03-26
CN112559384B true CN112559384B (en) 2022-04-15

Family

ID=75064334

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011492965.9A Active CN112559384B (en) 2020-12-17 2020-12-17 Dynamic partitioning method for hybrid solid-state disk based on nonvolatile memory

Country Status (1)

Country Link
CN (1) CN112559384B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115098233B (en) * 2022-06-24 2024-05-28 上海交通大学 Cache partition aware scheduling method and system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101814044A (en) * 2010-04-19 2010-08-25 中兴通讯股份有限公司 Method and device for processing metadata
CN102681792A (en) * 2012-04-16 2012-09-19 华中科技大学 Solid-state disk memory partition method
CN104050043A (en) * 2014-06-17 2014-09-17 华为技术有限公司 Share cache perception-based virtual machine scheduling method and device
CN105389135A (en) * 2015-12-11 2016-03-09 华中科技大学 Solid-state disk internal cache management method
CN106951376A (en) * 2017-02-27 2017-07-14 清华大学 Towards the fine granularity nonvolatile cache system and buffer memory management method of flash memory
CN109446117A (en) * 2018-09-06 2019-03-08 杭州电子科技大学 A kind of solid state hard disk page grade flash translation layer (FTL) design method
CN111027585A (en) * 2019-10-25 2020-04-17 南京大学 K-means algorithm hardware realization method and system based on k-means + + centroid initialization

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101640069B (en) * 2008-08-01 2013-12-18 群联电子股份有限公司 Average wear method and average wear system for flash memory
CN101794257B (en) * 2009-12-22 2012-10-03 深圳市硅格半导体有限公司 Method and device for updating data of data storage type flash and storage device
US8832411B2 (en) * 2011-12-14 2014-09-09 Microsoft Corporation Working set swapping using a sequentially ordered swap file
CN104794483A (en) * 2015-03-24 2015-07-22 江南大学 Image division method based on inter-class maximized PCM (Pulse Code Modulation) clustering technology
FR3076002B1 (en) * 2017-12-22 2021-05-07 Bull Sas PROCESS FOR IMPROVING THE EXECUTION TIME OF A COMPUTER APPLICATION

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101814044A (en) * 2010-04-19 2010-08-25 中兴通讯股份有限公司 Method and device for processing metadata
CN102681792A (en) * 2012-04-16 2012-09-19 华中科技大学 Solid-state disk memory partition method
CN104050043A (en) * 2014-06-17 2014-09-17 华为技术有限公司 Share cache perception-based virtual machine scheduling method and device
CN105389135A (en) * 2015-12-11 2016-03-09 华中科技大学 Solid-state disk internal cache management method
CN106951376A (en) * 2017-02-27 2017-07-14 清华大学 Towards the fine granularity nonvolatile cache system and buffer memory management method of flash memory
CN109446117A (en) * 2018-09-06 2019-03-08 杭州电子科技大学 A kind of solid state hard disk page grade flash translation layer (FTL) design method
CN111027585A (en) * 2019-10-25 2020-04-17 南京大学 K-means algorithm hardware realization method and system based on k-means + + centroid initialization

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Improving Hybrid FTL by Fully Exploiting Internal SSD Parallelism with Virtual Blocks;何丹 等;《ACM Transactions on Architecture and Code Optimization》;20150131;第1-19页 *

Also Published As

Publication number Publication date
CN112559384A (en) 2021-03-26

Similar Documents

Publication Publication Date Title
US10761780B2 (en) Memory system
US9652386B2 (en) Management of memory array with magnetic random access memory (MRAM)
US6675281B1 (en) Distributed mapping scheme for mass storage system
US9990277B2 (en) System and method for efficient address translation of flash memory device
US20140122774A1 (en) Method for Managing Data of Solid State Storage with Data Attributes
US10740251B2 (en) Hybrid drive translation layer
US20140129758A1 (en) Wear leveling in flash memory devices with trim commands
US9524238B2 (en) Systems and methods for managing cache of a data storage device
CN111033477A (en) Logical to physical mapping
CN109582593B (en) FTL address mapping reading and writing method based on calculation
KR20090037705A (en) Nonvolatile memory system and method managing file data thereof
JP2011522350A (en) Hybrid memory management
CN110413537B (en) Flash translation layer facing hybrid solid state disk and conversion method
KR101297442B1 (en) Nand flash memory including demand-based flash translation layer considering spatial locality
CN106873912A (en) The dynamic partition storage method and device, system of TLC chip solid state hard discs
KR101403922B1 (en) Apparatus and method for data storing according to an access degree
CN102681792B (en) Solid-state disk memory partition method
CN112130749B (en) Data storage device and non-volatile memory control method
CN116364148A (en) Wear balancing method and system for distributed full flash memory system
CN112559384B (en) Dynamic partitioning method for hybrid solid-state disk based on nonvolatile memory
CN108664217B (en) Caching method and system for reducing jitter of writing performance of solid-state disk storage system
CN113986773A (en) Write amplification optimization method and device based on solid state disk and computer equipment
KR101026634B1 (en) A method of data storage for a hybrid flash memory
CN116540950B (en) Memory device and control method for writing data thereof
CN113253926A (en) Memory internal index construction method for improving query and memory performance of novel memory

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