CN111208940A - Read-write separation method based on multi-channel flash memory - Google Patents
Read-write separation method based on multi-channel flash memory Download PDFInfo
- Publication number
- CN111208940A CN111208940A CN201911345681.4A CN201911345681A CN111208940A CN 111208940 A CN111208940 A CN 111208940A CN 201911345681 A CN201911345681 A CN 201911345681A CN 111208940 A CN111208940 A CN 111208940A
- Authority
- CN
- China
- Prior art keywords
- read
- write
- data
- area
- flash memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 28
- 238000000926 separation method Methods 0.000 title claims abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 17
- 238000013508 migration Methods 0.000 claims description 28
- 230000005012 migration Effects 0.000 claims description 28
- 238000013507 mapping Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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/061—Improving I/O performance
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Abstract
The invention discloses a read-write separation method based on a multi-channel flash memory, which is characterized in that the multi-channel flash memory is divided into a read area and a write area, the area where data to be accessed is placed is determined according to historical access conditions, if the data to be accessed is placed wrongly, the data needs to be migrated, so that as many read requests as possible are generated on the read area, and write requests are generated on the write area, thereby realizing the separation between read and write, reducing the read-write interference and improving the read performance. Compared with the prior art, the method has the advantages that the data placement is optimized, so that as many read requests as possible are generated on the read area, and the write requests are generated on the write area, thereby realizing the separation between reading and writing, reducing the interference between reading and writing, improving the reading performance, effectively improving the efficiency of fast page access, reducing the influence on slow page access to the maximum extent, and greatly improving the reading performance of the flash memory.
Description
Technical Field
The invention relates to the technical field of flash memory stacking, in particular to a read-write separation method based on a multi-channel flash memory.
Background
In flash memory devices, there is a serious interference between read and write operations, and especially in the case of write-intensive applications, the read operation is affected more by the write operation. When a write operation is being processed in a flash memory chip, a read operation is issued to the same chip, and read and write disturbs can occur. While read requests must wait for write requests to complete before they can be processed, a write operation in current advanced flash memory takes approximately 1 to 3 milliseconds, and a read request is processed relatively much faster, approximately 50 to 80 microseconds. The difference is approximately 60 times, which will result in a severe degradation of the read performance. Some data on the flash memory device is read-only data, some data is write-only data, and some data is mixed data. While most read operations occur on read-only data and most write operations occur on write-only data.
In the flash memory device of the prior art, the read-write requests are distributed uniformly on each chip, and then the read performance is seriously affected by the write requests. In particular, with the development of flash memories, the problem of read-write interference in flash memories becomes more and more serious, which greatly affects the read performance. Based on the read-write access characteristics of the flash memory, the read-write requests of the flash memory are separated, so that the interference between read-write can be greatly reduced, and the read performance is improved.
Disclosure of Invention
The invention aims to design a read-write separation method based on a multi-channel flash memory aiming at the defects of the prior art, which adopts a mode of selectively separating read-write requests in the flash memory and dynamically transferring according to access characteristics, so that as many read requests as possible are generated on a read area and write requests are generated on a write area, thereby realizing the separation between read-write, optimizing the placement of data, reducing the interference between read-write, improving the read performance, effectively improving the efficiency of fast page access, reducing the influence on slow page access and greatly improving the read performance of the flash memory.
The purpose of the invention is realized as follows: a read-write separation method based on a multi-channel flash memory is characterized in that the multi-channel flash memory is divided into a read area and a write area, the area where data to be accessed is placed is determined according to historical access conditions, if the data to be accessed is placed wrongly, the data needs to be migrated, so that as many read requests as possible are generated on the read area and write requests are generated on the write area, separation between read and write is achieved, read-write interference is reduced, and therefore read performance is improved.
The read area and the write area are divided by adding a read-write data placement component and a data dynamic migration component in a flash memory controller and adding and recording the times and the operation types of historical access in a mapping table.
The read-write data placement component is used for pre-judging the area where the data should be placed according to historical access, namely separating the read-write request into read-only data, write-only data and mixed data.
The data dynamic migration component dynamically identifies constantly changing read-write access according to historical access and migrates data with inaccurate placement so as to ensure that only read operation occurs on a read area and only write operation occurs on a write area.
The read-only data is data with the ratio of the number of read requests to be accessed to the total number of access times exceeding a threshold value; the write-only data is data of which the ratio of the accessed write request to the total access times exceeds a threshold value; the mixed data is the rest data except the read-only data and the write-only data.
The data dynamic migration needs to add the number of bits to each item in a mapping table, record the operation types of the previous times, set a migration threshold, namely a writing threshold Tw for migrating from a reading area to a writing area and a reading threshold Tr for migrating from the writing area to the reading area, and migrate data to the writing area when the data with the writing times exceeding Tw occurs in the reading area is subjected to updating operation; data having a number of times of reading exceeding Tr in a writing area is transferred to the writing area at the time of this reading.
Compared with the prior art, the method has the advantages that the data placement is optimized, so that as many read requests as possible are generated on the read area, and the write requests are generated on the write area, thereby realizing the separation between reading and writing, reducing the interference between reading and writing, improving the reading performance, effectively improving the efficiency of fast page access, reducing the influence on slow page access to the maximum extent, and greatly improving the reading performance of the flash memory.
Drawings
FIG. 1 is a solid state disk architecture diagram;
FIG. 2 is a diagram of a read/write separation architecture of the present invention;
FIG. 3 is a schematic diagram of read and write data placement;
FIG. 4 is a schematic diagram of data live migration.
Detailed Description
Referring to fig. 1, the present invention divides the entire flash memory device into a read area and a write area, and determines in which area the currently accessed data should be placed according to the historical access situation. If the placement is wrong, data needs to be migrated, so that as many read requests as possible occur on the read area and write requests occur on the write area, separation between reading and writing is achieved, reading and writing interference is reduced, and reading performance is improved.
The present invention is further illustrated by the following specific examples.
Example 1
Referring to fig. 2, the present invention divides the SSD into read and write areas with the channel as a granularity according to the access characteristics of the SSD, and allocates read data and write data to the two areas, respectively. In the access process, if only reading operation occurs on the reading area and only writing operation occurs on the writing area, no interference will occur between reading and writing, so that the reading performance will be greatly improved. However, the SSD exists in two area divisions of read and write: in addition to read-only and write-only data, a part is mixed data; the way of reading and writing partitions will reduce the parallelism of the regions, and the effect may not be optimistic if the load is sensitive to parallelism. In order to solve these problems, it is proposed that,
the present invention contemplates a live migration method that aims at dynamically placing data according to their access characteristics. The flash memory unit is divided into a read area and a write area by taking a channel as granularity, wherein the read area comprises two channels, the write area comprises two channels, and a read-write data placement component and a data dynamic migration component are added in a flash memory transmission layer. For placement of read and write data: after the SSD is divided into two areas, the area is determined according to the access characteristics of the data, most of the access requests are read requests for read-only data, and therefore the data are placed in the read area, and a similar method is adopted for write-only data.
Referring to fig. 3, a read/write request is received from a host, where data a and data B are read-only data and data C and data D are write-only data. Thus, data a and data B are placed in the read area, while data C and data D are placed in the write area.
The dynamic migration method of data still has a part of mixed data on the basis of the read-write data placement method, so that the proportion of read-write requests on the data is higher. For the mixed data, a data dynamic migration method is adopted, which is mainly divided into two types, wherein one type is to migrate the data from a reading area to a writing area; one is to migrate data from a write area to a read area. For the first kind of situation, if the current data is in the read area and a large number of write operations occur, the data needs to be migrated from the read area to the write area; for the second case, if the current data is in the write area and a large number of read operations occur, the data needs to be migrated from the write area where the data is currently located to the read area. However, the focus of the above solution is how to determine the threshold for migration, which has no cost for the migration of reads to the write area, but if they are incorrect, more reads will occur in the write area. For migration from the write area to the read area, it introduces additional write costs, and if they are incorrect, more writes will occur in the read area. The threshold value of the read area migration is marked as Tr and the threshold value of the write area migration is marked as Tw, and meanwhile cost and benefits are considered. Once Tr are read consecutively in the write area for a number of times, they are migrated; once Tw are continuously written in the read area for the number of times, they are migrated.
Referring to FIG. 4, where a write on data A occurs to a threshold and a read on data C occurs to a threshold, they are migrated. The read-write data placement method and the data dynamic migration method are used for separating the read request from the write request as much as possible, reducing the interference between reading and writing and improving the reading performance.
The implementation process of the read-write data placement component and the data dynamic migration component is mainly divided into the following steps:
a. preliminarily judging whether the currently accessed data is read-only data or write-only data, if the currently accessed data is the read-only data, putting the currently accessed data into a read area through the identification of a read-write data placement component; if the data is write-only data, the data is identified by the read-write data placement component and is placed in the write area.
b. And placing read-only data and write-only data into the read area and the write area respectively, but still placing a part of inaccurate mixed data, and dynamically migrating the data by identifying the data dynamic migration component.
c. In the dynamic migration process, if the currently read data is in a writing area and the continuous reading times reach a threshold value, performing migration; if the currently written data is in the read area and the number of consecutive writes reaches a threshold, then the current write request is assigned to the write area. Otherwise, the read-write operation is still performed in the original area.
The read-write data placement component and the data dynamic migration component make reasonable solutions for placement of read-only data, write-only data and mixed data. The read-write data placement component only performs data placement judgment according to the access characteristics, and the data dynamic migration component performs migration according to the historical access records. The problems with this solution are: the parallelism reduction in the flash memory not only affects the parallelism of read requests in the read area, but also affects the parallelism of write requests in the write area. A large number of loads are tested, and the requirement on parallelism of most loads is almost unchanged after the number of channels is higher than a certain number. Therefore, for the multi-channel flash memory, the number of the read channels is only required to be ensured to be above a certain threshold value, and the influence of the parallel operation is avoided. The read-write data placement method and the data dynamic migration method are used for separating the read request and the write request as much as possible, reducing the interference between reading and writing and improving the reading performance, and the mixed data occupation ratio is not high, so that the overhead generated by migration is very small.
The invention has been described in further detail in order to avoid limiting the scope of the invention, and it is intended that all such equivalent embodiments be included within the scope of the following claims.
Claims (6)
1. A read-write separation method based on a multi-channel flash memory is characterized in that the multi-channel flash memory is divided into a read area and a write area, currently accessed data is selectively separated according to historical access conditions, a read request is placed on the read area, the write request is placed on the write area, and if the placement is not accurate, the data is migrated, so that the separation between read and write is realized, the read-write interference is reduced, and the read performance is improved.
2. The method of claim 1, wherein the dividing of the read region and the write region is adding a read-write data placement component and a data migration component in the flash memory controller, and recording the number of historical accesses and operation types in the mapping table.
3. The method of claim 2, wherein the read-write data placement component is a placement area for pre-judging data according to historical access, and separates the read-write request into read-only data, write-only data, and hybrid data.
4. The method according to claim 2, wherein the data migration component dynamically identifies read and write accesses that are changing continuously according to historical accesses, and migrates data that is not accurately placed, so as to ensure that only read operations occur in the read area and only write operations occur in the write area.
5. The read-write separation method based on the multi-channel flash memory according to claim 3, wherein the read-only data is data in which the ratio of the number of read requests to the total number of accesses exceeds a threshold; the write-only data is data of which the ratio of the accessed write request to the total access times exceeds a threshold value; the hybrid data is the remaining data except for read-only and write-only data.
6. The read-write separation method based on multi-channel flash memory according to claim 2 or claim 4, wherein the dynamic data migration requires adding a bit number to each item in the mapping table, recording the operation types of previous times, and setting migration thresholds, i.e. a write threshold Tw for migrating from a read area to a write area and a read threshold Tr for migrating from the write area to the read area, and migrating data to the write area when updating operation is performed on data whose write times exceed Tw for the read area; data having a number of times of reading exceeding Tr in a writing area is transferred to the writing area at the time of this reading.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911345681.4A CN111208940A (en) | 2019-12-24 | 2019-12-24 | Read-write separation method based on multi-channel flash memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911345681.4A CN111208940A (en) | 2019-12-24 | 2019-12-24 | Read-write separation method based on multi-channel flash memory |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111208940A true CN111208940A (en) | 2020-05-29 |
Family
ID=70789318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911345681.4A Pending CN111208940A (en) | 2019-12-24 | 2019-12-24 | Read-write separation method based on multi-channel flash memory |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111208940A (en) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5970251A (en) * | 1994-06-16 | 1999-10-19 | Robert Bosch Gmbh | Process for optimizing program parts for motor vehicle controllers |
US8611151B1 (en) * | 2008-11-06 | 2013-12-17 | Marvell International Ltd. | Flash memory read performance |
CN105808156A (en) * | 2014-12-31 | 2016-07-27 | 华为技术有限公司 | Method for writing data into solid state drive and solid state drive |
CN106775453A (en) * | 2016-11-22 | 2017-05-31 | 华中科技大学 | A kind of construction method for mixing storage array |
WO2017139973A1 (en) * | 2016-02-19 | 2017-08-24 | 华为技术有限公司 | Flash memory device access method and apparatus |
CN109739442A (en) * | 2019-01-08 | 2019-05-10 | 郑州云海信息技术有限公司 | A kind of data migration method, system and associated component |
CN110515549A (en) * | 2019-08-16 | 2019-11-29 | 浪潮电子信息产业股份有限公司 | A kind of data migration method and device |
-
2019
- 2019-12-24 CN CN201911345681.4A patent/CN111208940A/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5970251A (en) * | 1994-06-16 | 1999-10-19 | Robert Bosch Gmbh | Process for optimizing program parts for motor vehicle controllers |
US8611151B1 (en) * | 2008-11-06 | 2013-12-17 | Marvell International Ltd. | Flash memory read performance |
CN105808156A (en) * | 2014-12-31 | 2016-07-27 | 华为技术有限公司 | Method for writing data into solid state drive and solid state drive |
WO2017139973A1 (en) * | 2016-02-19 | 2017-08-24 | 华为技术有限公司 | Flash memory device access method and apparatus |
CN106775453A (en) * | 2016-11-22 | 2017-05-31 | 华中科技大学 | A kind of construction method for mixing storage array |
CN109739442A (en) * | 2019-01-08 | 2019-05-10 | 郑州云海信息技术有限公司 | A kind of data migration method, system and associated component |
CN110515549A (en) * | 2019-08-16 | 2019-11-29 | 浪潮电子信息产业股份有限公司 | A kind of data migration method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9665291B2 (en) | Migration of hot and cold data between high-performance storage and low-performance storage at block and sub-block granularities | |
EP3869316B1 (en) | Hybrid storage | |
US7779215B2 (en) | Method and related apparatus for accessing memory | |
US10198211B2 (en) | Hybrid memory system and refresh method thereof based on a read-to-write ratio of a page | |
CN101777026B (en) | Memory management method, hard disk and memory system | |
TWI506422B (en) | Method for managing a memory device having multiple channels and multiple ways, and associated memory device and controller thereof | |
US9317214B2 (en) | Operating a memory management controller | |
US10235101B2 (en) | Log structured block device for hard disk drive | |
CN110377233B (en) | SSD (solid State disk) reading performance optimization method and device, computer equipment and storage medium | |
CN111880744B (en) | Data migration method and device, electronic equipment and medium | |
DE102021118940A1 (en) | MEMORY CONTROL AND STORAGE DEVICE WITH THE SAME | |
KR20100117295A (en) | Method for driving of data storage device and data storage device thereof | |
CN108563586B (en) | Method for separating garbage recovery data and user data in solid-state disk | |
CN109558093B (en) | Hybrid memory page migration method for image processing type load | |
KR20130087936A (en) | Memory device, memory system and program method of the same | |
US20120198186A1 (en) | Memory device and memory system | |
CN110618872B (en) | Hybrid memory dynamic scheduling method and system | |
CN111208940A (en) | Read-write separation method based on multi-channel flash memory | |
CN112306404A (en) | Tile recording disk data layout method, system and related equipment | |
CN113821158A (en) | Flash memory, storage medium conversion method and computing device | |
CN108170380B (en) | Method for improving sequential reading performance of solid state disk and solid state disk | |
CN113126921B (en) | Optimization method for improving write performance of 3D flash memory chip in solid-state disk | |
KR101027687B1 (en) | Solid State Storage System for Controlling Write Operation and Method of Controlling the Same | |
CN111190834B (en) | Data placement method for asymmetric read delay sensing | |
CN110083311B (en) | SSD descriptor-based software and hardware interaction issuing method and system |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200529 |
|
RJ01 | Rejection of invention patent application after publication |