CN111290706A - Double-layer read-write wear balancing method based on bloom filter - Google Patents
Double-layer read-write wear balancing method based on bloom filter Download PDFInfo
- Publication number
- CN111290706A CN111290706A CN202010041828.7A CN202010041828A CN111290706A CN 111290706 A CN111290706 A CN 111290706A CN 202010041828 A CN202010041828 A CN 202010041828A CN 111290706 A CN111290706 A CN 111290706A
- Authority
- CN
- China
- Prior art keywords
- write
- read
- filter
- threshold
- counting
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/068—Hybrid storage device
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
The invention discloses a double-layer read-write wear balancing method based on a bloom filter, and relates to a wear balancing method of a hybrid memory controller. The invention aims to solve the problem that the space overhead of the existing table wear leveling algorithm is large. The invention applies the counting bloom filter to the design of the memory controller, and represents the time locality of the memory access program by dynamically changing the threshold value of the read-write bloom filter. Meanwhile, the reading and writing heat degree of the page is judged by comparing the numerical value in the reading and writing bloom filter with the dynamic threshold value. The highly-worn page and the slightly-worn page of the hybrid memory are exchanged, so that the effect of balanced overall wear of the hybrid memory is achieved, and the overall service life of a hybrid memory system is prolonged. The method is used for the field of wear leveling control of the hybrid memory.
Description
Technical Field
The invention relates to a wear leveling method for a hybrid memory controller.
Background
In order to meet the requirements of modern embedded systems for large capacity and low power consumption of memory, hybrid memories composed of DRAM and non-volatile memory are widely used. Phase change memory pcm (phased change memory) has become a new favorite in the academic and industrial sectors. Compared with the traditional DRAM, the PCM persistent memory has the advantages of low static power, high storage density, capability of addressing by bytes, high data endurance and the like, and the advantages bring huge challenges and opportunities to the high-efficiency performance of the memory. Despite the numerous advantages of PCM, its high write latency and low write endurance limit the service life of PCM. In the hybrid main memory design of PCM and DRAM, how to improve the service life of PCM in the parallel hybrid architecture becomes a current research focus. Wear leveling algorithms are a widely adopted method for improving hybrid memory endurance. The wear leveling technology uniformly writes the unbalanced write access of the upper layer back to the bottom physical unit after remapping, and avoids that some memory lines wear through in advance due to overhigh write times, thereby prolonging the service life of the hybrid memory system. Wear leveling needs to address the lifetime issues of hybrid memory systems under malicious attacks and normal loads. For hybrid memories, current wear leveling algorithms are classified into table-based wear leveling algorithms and algebraic-based wear leveling algorithms. The wear leveling algorithm based on the table uses an address mapping table to record the corresponding relation between the logical address and the physical address, and periodically exchanges areas with higher and lower writing times, so as to achieve the purpose of wear leveling. The algebraic wear leveling algorithm uses an algebraic function to randomly remap the logical addresses to physical space with low space overhead, and can be executed within the memory controller or chip. However, an algebraic wear-leveling algorithm generally faces the problem of inaccurate wear prediction, and the algorithm can only exchange pages in a global rotation mode and does not perform special wear-leveling processing on certain pages with high heat of writing in a targeted mode. Therefore, it is very necessary to provide a hybrid memory wear leveling algorithm with low overhead and high prediction rate.
Disclosure of Invention
The invention aims to solve the problem that the time and space overhead of the existing table wear leveling algorithm is high, and provides a double-layer read-write wear leveling method based on a bloom filter.
A bloom filter-based double-layer read-write wear leveling method comprises the following specific processes:
step 1, adding 1 to a request _ counter when an operation accesses a page P;
if the current operation is a write operation, adding 1 to the corresponding position of the write _ counting _ bloom _ filter through two hash functions, and entering the step 2;
if the current operation is a read operation, adding 1 to the corresponding position of the read _ counting _ bloom _ filter through two hash functions, and entering step 3;
the request _ counter is a memory access request counter;
the write _ counting _ bloom _ filter is a write bloom filter, and the read _ counting _ bloom _ filter is a read bloom filter;
in time T, regarding the page which is subjected to the current write operation and has two hash functions with the value of the corresponding position of the write _ counting _ block _ filter [ i ] and the value of the write _ counting _ block _ filter [ j ] both larger than the PCM _ write _ threshold as the page with more write wear;
in time T, the current reading operation enables the values of the corresponding positions of the two hash function pairs read _ counting _ block _ filter [ i ] and read _ counting _ block _ filter [ j ] to be larger than PCM _ read _ threshold, and the pages of the read _ counting _ block _ filter [ i ] > write _ counting _ block _ filter [ i ], read _ counting _ block _ filter [ j ] and read _ counting _ block _ filter [ j ] are regarded as the pages with less write wear and are read hot pages;
step 2, if the current write operation enables the values of the corresponding positions of the two hash functions to the write _ counting _ bloom _ filter [ i ] and the write _ counting _ bloom _ filter [ j ] to be larger than the PCM _ write _ threshold, exchanging the page with more write wear with the page with less write wear, and entering the step 4; otherwise, entering step 5;
the PCM _ write _ threshold is a phase change memory write threshold;
step 3, if the current read operation causes the values of the corresponding positions of the read _ counting _ block _ filter [ i ] and the read _ counting _ block _ filter [ j ] of the two hash function pairs to be larger than the PCM _ read _ threshold, and the read _ counting _ block _ filter [ i ] > write _ counting _ block _ filter [ i ], the read _ counting _ block _ filter [ j ] > write _ counting _ block _ filter [ j ], the current read operation page is placed in a hot page candidate list, and the step 6 is performed; otherwise, directly entering step 6;
the PCM _ read _ threshold is a phase change memory read threshold;
step 4, taking out the page K stored in the header in the hot page reading candidate list, exchanging the position of the page P and the page K, and entering step 5;
the HRWTH is a maximum write threshold;
step 6, if the PCM _ read _ threshold is greater than HRRTH, halving the PCM _ read _ threshold and halving all record values in the read _ counting _ bloom _ filter, and entering step 8; otherwise, directly entering the step 8;
the HRRTH is a maximum threshold value of the read operation;
step 7, if the request _ counter is an integer multiple of Tupwth, PCM _ write _ threshold + addwrite; otherwise, ending the program;
the Tupwth is a write threshold updating period;
addwrite increases the span for the write threshold;
the Tuprth is a read threshold updating period;
addread increments the span for the read threshold.
The invention has the beneficial effects that:
the invention aims to prolong the service life of a hybrid system memory, designs a memory controller of the hybrid memory, and provides a Double-Layer read-write wear leveling method (DLBF) based on a Bloom Filter, which realizes the wear leveling with proper grain size in a PCM chip under smaller hardware cost and achieves the purpose of wear leveling with smaller space cost.
The experimental result shows that compared with a non-wear equalization algorithm, a random algorithm and a Bloom Filter algorithm, the service life of the hybrid memory system is prolonged to 2.34 times, 1.22 times and 1.02 times of the service life of the hybrid memory system respectively. Meanwhile, the average variance of the write distribution is respectively reduced to 1.04%, 66.27% and 96.97% of a wear-free equalization algorithm, a random algorithm and a Bloom Filter algorithm.
Drawings
FIG. 1 is a diagram of dijkstra load write operation distribution in a wear-free leveling algorithm;
FIG. 2 is a diagram of the distribution of jpeg _ dec load write operations in a wear-free leveling algorithm;
FIG. 3 is a graph of mpeg _ dec load write operation distribution in a no wear leveling algorithm;
FIG. 4 is a diagram of dijkstra load write operation distribution in a DLBF wear leveling algorithm;
FIG. 5 is a graph of the distribution of jpeg _ dec load write operations in a DLBF wear leveling algorithm;
FIG. 6 is a graph of mpeg _ dec load write operation distribution in a DLBF wear leveling algorithm;
FIG. 7 is a graph of the service life of a normalized hybrid memory system in different algorithms, Without WL is a wear-free equalization algorithm, random is a random algorithm, Bloom Filter is a Bloom Filter algorithm, and DLBF is a double-layer Bloom Filter algorithm;
FIG. 8 is a graph of normalized write distribution mean variance.
Detailed Description
The first embodiment is as follows: the method for balancing the double-layer read-write wear based on the bloom filter comprises the following specific processes:
step 1, adding 1 to a request _ counter when an operation accesses a page P;
if the current operation is a write operation, adding 1 to the corresponding position of the write _ counting _ bloom _ filter (the address corresponding to the operation is brought into the hash function, because the hash function is two hash functions, two values i, j are obtained, namely the corresponding position of the bloom filter is determined), and entering step 2;
if the current operation is a read operation, adding 1 to the corresponding position of the read _ counting _ bloom _ filter through two hash functions, and entering step 3;
the request _ counter is a memory access request counter;
the write _ counting _ bloom _ filter is a write bloom filter, and the read _ counting _ bloom _ filter is a read bloom filter;
in time T, regarding the page which is subjected to the current write operation and has two hash functions with the value of the corresponding position of the write _ counting _ block _ filter [ i ] and the value of the write _ counting _ block _ filter [ j ] both larger than the PCM _ write _ threshold as the page with more write wear;
in time T, the current reading operation enables the values of the corresponding positions of the two hash function pairs read _ counting _ block _ filter [ i ] and read _ counting _ block _ filter [ j ] to be larger than PCM _ read _ threshold, and the pages of the read _ counting _ block _ filter [ i ] > write _ counting _ block _ filter [ i ], read _ counting _ block _ filter [ j ] and read _ counting _ block _ filter [ j ] are regarded as the pages with less write wear and are read hot pages;
step 2, if the current write operation enables the values of the corresponding positions of the two hash functions to the write _ counting _ bloom _ filter [ i ] and the write _ counting _ bloom _ filter [ j ] to be larger than the PCM _ write _ threshold, exchanging the page with more write wear with the page with less write wear, and entering the step 4; otherwise (the current page is not a page with much writing wear), the step 5 is carried out;
the PCM _ write _ threshold is a phase change memory write threshold;
step 3, if the current read operation causes the values of the corresponding positions of the read _ counting _ block _ filter [ i ] and the read _ counting _ block _ filter [ j ] of the two hash function pairs to be larger than the PCM _ read _ threshold, and the read _ counting _ block _ filter [ i ] > write _ counting _ block _ filter [ i ], the read _ counting _ block _ filter [ j ] > write _ counting _ block _ filter [ j ], the current read operation page is placed in a hot page candidate list, and the step 6 is performed; otherwise, directly entering step 6;
the PCM _ read _ threshold is a phase change memory read threshold;
step 4, taking out the page K stored in the header in the hot page reading candidate list, exchanging the position of the page P and the page K, and entering step 5;
the HRWTH is a maximum write threshold;
step 6, if the PCM _ read _ threshold is greater than HRRTH, halving the PCM _ read _ threshold and halving all record values in the read _ counting _ bloom _ filter, and entering step 8; otherwise, directly entering the step 8;
the HRRTH is a maximum threshold value of the read operation;
step 7, if the request _ counter is an integer multiple of Tupwth, PCM _ write _ threshold + addwrite; otherwise, ending the program;
the Tupwth is a write threshold updating period;
addwrite increases the span for the write threshold;
the Tuprth is a read threshold updating period;
addread increments the span for the read threshold.
The second embodiment is as follows: the difference between this embodiment and the first embodiment is that the two hash functions in step 1 are respectively
i=(R1*7+pageNo+1)%bf_size;
j=(R2*31+pageNo+1)%bf_size;
Wherein, bf _ size is the length of the bloom filter, and the value is 256; pageNo is a special code for each address; r1 and R2 are random numbers.
Other steps and parameters are the same as those in the first embodiment.
The third concrete implementation mode: the difference between this embodiment and the first embodiment is that the time T in step 1 is 10000 memory access requests.
Other steps and parameters are the same as those in the first embodiment.
The fourth concrete implementation mode: in this embodiment, the second or third embodiment is different from the second or third embodiment in that the maximum write threshold in step 5 is 200< HRWTH < 8000.
Other steps and parameters are the same as those in the second or third embodiment.
The fifth concrete implementation mode: the difference between this embodiment and one of the first to the fourth embodiments is that the maximum threshold value 10000< HRRTH <80000 for the read operation in step 6.
Other steps and parameters are the same as in one of the first to fourth embodiments.
The sixth specific implementation mode: this embodiment is different from one of the first to fifth embodiments in that in step 7, the write threshold update period 10000< Tupwth < 80000;
the write threshold increase span is 1 < addwrite < 16.
Other steps and parameters are the same as those in one of the first to fifth embodiments.
The seventh embodiment: the difference between this embodiment and one of the first to sixth embodiments is that the read threshold update period 2000 in step 8<Tuprth<20000;
The read threshold increase span is greater than or equal to 1 and less than or equal to 8.
Other steps and parameters are the same as those in one of the first to sixth embodiments.
The following examples were used to demonstrate the beneficial effects of the present invention:
the first embodiment is as follows:
the invention uses a Gem5-Nvmain system simulator to test 10 common loads, namely bitcount, CRC32, dijkstra, FFT, jpeg _ decoder, jpeg _ encoder, mpeg2_ dec, patricia, qsort and sha, which come from mediabench or Mibench. The detailed simulation configuration of the main memory is listed in table 1.
Table 1: simulation configuration
As shown in FIG. 1, the present invention distributes the write operations in the access process uniformly in the hybrid memory. Compared with the mixed memory write distribution situation without the wear leveling algorithm, when the system runs the three test loads, the DLBF wear leveling algorithm improves the service life of the system by 67.99%, 84.21% and 54.23% respectively. Meanwhile, DLBF reduces the write distribution variance to 7.2%, 0.91% and 1.15% of the wear-free equalization algorithm.
As shown in fig. 2, compared with the wear-free equalization algorithm, random algorithm, and Bloom Filter algorithm, the DLBF of the present invention respectively increases the service life of the hybrid memory system to 2.34 times, 1.22 times, and 1.02 times of those algorithms.
FIG. 3 shows the normalized mean variance of the write distribution in the hybrid memory, DLBF reduces the mean variance of the write distribution to 1.04%, 66.27%, 96.97% of the wear leveling algorithm, random algorithm, Bloom Filter algorithm, respectively.
The present invention is capable of other embodiments and its several details are capable of modifications in various obvious respects, all without departing from the spirit and scope of the present invention.
Claims (7)
1. A double-layer read-write wear balancing method based on a bloom filter is characterized by comprising the following steps: the method comprises the following specific processes:
step 1, adding 1 to a request _ counter when an operation accesses a page P;
if the current operation is a write operation, adding 1 to the corresponding position of the write _ counting _ bloom _ filter through two hash functions, and entering the step 2;
if the current operation is a read operation, adding 1 to the corresponding position of the read _ counting _ bloom _ filter through two hash functions, and entering step 3;
the request _ counter is a memory access request counter;
the write _ counting _ bloom _ filter is a write bloom filter, and the read _ counting _ bloom _ filter is a read bloom filter;
in time T, regarding the page which is subjected to the current write operation and has two hash functions with the value of the corresponding position of the write _ counting _ block _ filter [ i ] and the value of the write _ counting _ block _ filter [ j ] both larger than the PCM _ write _ threshold as the page with more write wear;
in time T, the current reading operation enables the values of the corresponding positions of the two hash function pairs read _ counting _ block _ filter [ i ] and read _ counting _ block _ filter [ j ] to be larger than PCM _ read _ threshold, and the pages of the read _ counting _ block _ filter [ i ] > write _ counting _ block _ filter [ i ], read _ counting _ block _ filter [ j ] and read _ counting _ block _ filter [ j ] are regarded as the pages with less write wear and are read hot pages;
step 2, if the current write operation enables the values of the corresponding positions of the two hash functions to the write _ counting _ bloom _ filter [ i ] and the write _ counting _ bloom _ filter [ j ] to be larger than the PCM _ write _ threshold, exchanging the page with more write wear with the page with less write wear, and entering the step 4; otherwise, entering step 5;
the PCM _ write _ threshold is a phase change memory write threshold;
step 3, if the current read operation causes the values of the corresponding positions of the read _ counting _ block _ filter [ i ] and the read _ counting _ block _ filter [ j ] of the two hash function pairs to be larger than the PCM _ read _ threshold, and the read _ counting _ block _ filter [ i ] > write _ counting _ block _ filter [ i ], the read _ counting _ block _ filter [ j ] > write _ counting _ block _ filter [ j ], the current read operation page is placed in a hot page candidate list, and the step 6 is performed; otherwise, directly entering step 6;
the PCM _ read _ threshold is a phase change memory read threshold;
step 4, taking out the page K stored in the header in the hot page reading candidate list, exchanging the position of the page P and the page K, and entering step 5;
step 5, if PCM _ write _ threshold > HRWTH, PCM _ write _ threshold is halved, all record values in write _ counting _ bloom _ filter are halved, and step 7 is entered; otherwise, directly entering step 7;
the HRWTH is a maximum write threshold;
step 6, if the PCM _ read _ threshold is greater than HRRTH, halving the PCM _ read _ threshold and halving all record values in the read _ counting _ bloom _ filter, and entering step 8; otherwise, directly entering the step 8;
the HRRTH is a maximum threshold value of the read operation;
step 7, if the request _ counter is an integer multiple of Tupwth, PCM _ write _ threshold + addwrite; otherwise, ending the program;
the Tupwth is a write threshold updating period;
addwrite increases the span for the write threshold;
step 8, if the request _ counter is an integral multiple of Tuprth, PCM _ read _ threshold + addread; otherwise, ending the program;
the Tuprth is a read threshold updating period;
addread increments the span for the read threshold.
2. The bloom filter-based double-layer read-write wear leveling method according to claim 1, characterized in that: in the step 1, the two hash functions are respectively
i=(R1*7+pageNo+1)%bf_size;
j=(R2*31+pageNo+1)%bf_size;
Wherein, bf _ size is the length of the bloom filter, and the value is 256; pageNo is a special code for each address; r1 and R2 are random numbers.
3. The bloom filter-based double-layer read-write wear leveling method according to claim 1, characterized in that: and the time T in the step 1 is 10000 memory access requests.
4. The bloom filter-based double-layer read-write wear leveling method according to claim 2 or 3, wherein: the maximum threshold for write operation 200< HRWTH <8000 in said step 5.
5. The bloom filter-based double-layer read-write wear leveling method according to claim 4, wherein: the maximum threshold for read operation 10000< HRRTH <80000 in step 6.
6. The bloom filter-based double-layer read-write wear leveling method according to claim 5, wherein: the update cycle of the write threshold value in the step 7 is 10000< Tupwth < 80000;
the write threshold increase span is 1 < addwrite < 16.
7. The bloom filter-based double-layer read-write wear leveling method according to claim 6, wherein: the read threshold update period 2000 of step 8<Tuprth<20000;
The read threshold increase span is greater than or equal to 1 and less than or equal to 8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010041828.7A CN111290706B (en) | 2020-01-15 | 2020-01-15 | Double-layer read-write wear balancing method based on bloom filter |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010041828.7A CN111290706B (en) | 2020-01-15 | 2020-01-15 | Double-layer read-write wear balancing method based on bloom filter |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111290706A true CN111290706A (en) | 2020-06-16 |
CN111290706B CN111290706B (en) | 2023-03-31 |
Family
ID=71025427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010041828.7A Active CN111290706B (en) | 2020-01-15 | 2020-01-15 | Double-layer read-write wear balancing method based on bloom filter |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111290706B (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112052190A (en) * | 2020-09-03 | 2020-12-08 | 杭州电子科技大学 | Solid state disk hot data identification method based on bloom filter and secondary LRU table |
CN114968103A (en) * | 2022-05-27 | 2022-08-30 | 厦门大学 | Fingerprint storage method based on persistent memory |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100281202A1 (en) * | 2009-04-30 | 2010-11-04 | International Business Machines Corporation | Wear-leveling and bad block management of limited lifetime memory devices |
CN106528454A (en) * | 2016-11-04 | 2017-03-22 | 中国人民解放军国防科学技术大学 | Memory system cache mechanism based on flash memory |
CN106776967A (en) * | 2016-12-05 | 2017-05-31 | 哈尔滨工业大学(威海) | Mass small documents real-time storage method and device based on sequential aggregating algorithm |
US20180129557A1 (en) * | 2016-11-10 | 2018-05-10 | Western Digital Technologies, Inc. | System and methodology for error management within a shared non-volatile memory architecture using bloom filters |
CN108710581A (en) * | 2018-05-23 | 2018-10-26 | 中国人民解放军陆军工程大学 | PCM storage medium abrasion equilibrium methods based on Bloom filter |
CN108762671A (en) * | 2018-05-23 | 2018-11-06 | 中国人民解放军陆军工程大学 | Mixing memory system and its management method based on PCM and DRAM |
US20190121742A1 (en) * | 2017-10-19 | 2019-04-25 | Samsung Electronics Co., Ltd. | System and method for identifying hot data and stream in a solid-state drive |
-
2020
- 2020-01-15 CN CN202010041828.7A patent/CN111290706B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100281202A1 (en) * | 2009-04-30 | 2010-11-04 | International Business Machines Corporation | Wear-leveling and bad block management of limited lifetime memory devices |
CN106528454A (en) * | 2016-11-04 | 2017-03-22 | 中国人民解放军国防科学技术大学 | Memory system cache mechanism based on flash memory |
US20180129557A1 (en) * | 2016-11-10 | 2018-05-10 | Western Digital Technologies, Inc. | System and methodology for error management within a shared non-volatile memory architecture using bloom filters |
CN106776967A (en) * | 2016-12-05 | 2017-05-31 | 哈尔滨工业大学(威海) | Mass small documents real-time storage method and device based on sequential aggregating algorithm |
US20190121742A1 (en) * | 2017-10-19 | 2019-04-25 | Samsung Electronics Co., Ltd. | System and method for identifying hot data and stream in a solid-state drive |
CN108710581A (en) * | 2018-05-23 | 2018-10-26 | 中国人民解放军陆军工程大学 | PCM storage medium abrasion equilibrium methods based on Bloom filter |
CN108762671A (en) * | 2018-05-23 | 2018-11-06 | 中国人民解放军陆军工程大学 | Mixing memory system and its management method based on PCM and DRAM |
Non-Patent Citations (4)
Title |
---|
J. YUN等: "Bloom filter-based dynamic wear leveling for phase-change RAM" * |
NA NIU等: "DLBF:A lowoverhead wear leveling algorithm for embedded systems with hybrid memory" * |
冒伟等: "基于相变存储器的存储技术研究综述" * |
张震;付印金;胡谷雨;: "基于布隆过滤器的新型混合内存架构磨损均衡策略" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112052190A (en) * | 2020-09-03 | 2020-12-08 | 杭州电子科技大学 | Solid state disk hot data identification method based on bloom filter and secondary LRU table |
CN114968103A (en) * | 2022-05-27 | 2022-08-30 | 厦门大学 | Fingerprint storage method based on persistent memory |
Also Published As
Publication number | Publication date |
---|---|
CN111290706B (en) | 2023-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5823469B2 (en) | Apparatus and method for low power, low latency, large capacity storage class memory | |
CN106293521B (en) | A kind of flash translation layer (FTL) management method that mapping granule is adaptive | |
CN108804350A (en) | A kind of memory pool access method and computer system | |
CN109901800B (en) | Hybrid memory system and operation method thereof | |
EP3462320B1 (en) | Dynamic page allocation in memory | |
CN106873912A (en) | The dynamic partition storage method and device, system of TLC chip solid state hard discs | |
CN105808455B (en) | Memory access method, storage-class memory and computer system | |
US8214596B2 (en) | Apparatus and method for segmented cache utilization | |
US9996292B2 (en) | Memory system and operation method thereof | |
CN113015965A (en) | Performing mixed wear leveling operations based on a subtotal write counter | |
CN111290706B (en) | Double-layer read-write wear balancing method based on bloom filter | |
CN110532200B (en) | Memory system based on hybrid memory architecture | |
CN110795363B (en) | Hot page prediction method and page scheduling method of storage medium | |
CN102681792B (en) | Solid-state disk memory partition method | |
CN109558093B (en) | Hybrid memory page migration method for image processing type load | |
US11481119B2 (en) | Limiting hot-cold swap wear leveling | |
CN109656482B (en) | Write hot page prediction method based on memory access | |
US20210019254A1 (en) | Wear leveling based on sub-group write counts in a memory sub-system | |
US9261946B2 (en) | Energy optimized cache memory architecture exploiting spatial locality | |
JP2012185764A (en) | Memory access processing system, control method, and program | |
TWI635391B (en) | Flash memory and management method thereof | |
WO2023184930A1 (en) | Wear leveling method and apparatus for memory, and memory and electronic device | |
US20230019910A1 (en) | Limiting hot-cold swap wear leveling | |
CN108292262B (en) | Computer memory management method and system | |
Liu et al. | Efficient wear leveling for PCM/DRAM-based hybrid 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 |