CN111208940A - Read-write separation method based on multi-channel flash memory - Google Patents

Read-write separation method based on multi-channel flash memory Download PDF

Info

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
Application number
CN201911345681.4A
Other languages
Chinese (zh)
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.)
East China Normal University
Original Assignee
East China Normal 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 East China Normal University filed Critical East China Normal University
Priority to CN201911345681.4A priority Critical patent/CN111208940A/en
Publication of CN111208940A publication Critical patent/CN111208940A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-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

Read-write separation method based on multi-channel flash memory
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.
CN201911345681.4A 2019-12-24 2019-12-24 Read-write separation method based on multi-channel flash memory Pending CN111208940A (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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