CN107066208B - Asymmetric read-write method of external memory device and NVM (non-volatile memory) external memory device - Google Patents

Asymmetric read-write method of external memory device and NVM (non-volatile memory) external memory device Download PDF

Info

Publication number
CN107066208B
CN107066208B CN201710255785.0A CN201710255785A CN107066208B CN 107066208 B CN107066208 B CN 107066208B CN 201710255785 A CN201710255785 A CN 201710255785A CN 107066208 B CN107066208 B CN 107066208B
Authority
CN
China
Prior art keywords
write
external memory
pos
data
len
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
CN201710255785.0A
Other languages
Chinese (zh)
Other versions
CN107066208A (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.)
Jiangsu King Intelligent System Co ltd
Jiangsu University
Original Assignee
Jiangsu King Intelligent System Co ltd
Jiangsu 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 Jiangsu King Intelligent System Co ltd, Jiangsu University filed Critical Jiangsu King Intelligent System Co ltd
Priority to CN201710255785.0A priority Critical patent/CN107066208B/en
Publication of CN107066208A publication Critical patent/CN107066208A/en
Application granted granted Critical
Publication of CN107066208B publication Critical patent/CN107066208B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/064Management of blocks
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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 an asymmetric read-write method of an external memory device and a novel NVM external memory device, which work by separating read-write operation and using the asymmetric read-write method; the asymmetric read-write method of the external memory device comprises a separate read-write method, a dynamic granularity write method and a multi-granularity internal and external memory mapping method; the method comprises the steps of separating read-write operation, completing write operation through a dynamic granularity write method, and completing multi-granularity mapping of an internal memory and an external memory by using a multi-granularity internal memory and external memory mapping method. The invention can avoid the problem of write amplification, reduce the data writing quantity of the NVM storage equipment of the PCIe interface, and improve the service life and the I/O performance of the NVM storage equipment of the PCIe interface.

Description

Asymmetric read-write method of external memory device and NVM (non-volatile memory) external memory device
Technical Field
The invention belongs to the technical field of storage, and particularly relates to an asymmetric read-write method of an external storage device and a novel PCIe (peripheral component interface express) port NVM (non-volatile memory) storage device. The method is mainly used for avoiding the problem of write amplification, reducing the data writing quantity of the NVM storage equipment of the PCIe interface, and improving the service life and the I/O performance of the NVM storage equipment of the PCIe interface.
Background
The NVM storage device is an important technical means for solving the problem of the storage wall of the computer system. The DIMM and the PCIe port NVM storage device are two main types of NVM storage devices at present, compared with the DIMM port NVM storage device, the PCIe port NVM storage device has larger limitation, in order to obtain higher transmission efficiency, the PCIe interface mainly supports a block access mode, although the size of each transmission can be changed, the efficiency and the flexibility are far lower than the DIMM interface. Research shows that the overhead of the storage system software when accessing the NVM storage device with the PCIe port also accounts for more than 63% of the access delay of the storage system, so it is a key to improve the efficiency of the relevant system software. The storage devices accessed through the PCIe interface are generally managed as block devices, block granularity is used in both management and reading and writing, and the advantage that the NVM storage devices support byte granularity reading and writing cannot be utilized; the write mode using the block granularity can cause the problem of write amplification, which can seriously reduce the service life of the NVM storage device of the PCIe interface; meanwhile, the data volume actually written into the NVM storage device is increased, so that the I/O performance of the NVM storage device of the PCIe interface is reduced. Based on the locality principle, the read performance of the storage device can be effectively improved through the pre-reading method, and meanwhile, the service life of the NVM storage device cannot be influenced by the read operation, so that the selection of a read mode with larger granularity is also an effective means for improving the read performance of the NVM storage device of the PCIe interface. Therefore, it is necessary to change the way of managing and accessing the PCIe port NVM storage device, distinguish the characteristics of different accesses, and obtain higher read-write performance.
Disclosure of Invention
The invention aims to provide an asymmetric read-write method of an external memory device and a novel NVM (non volatile memory) storage device, so as to reduce the data writing amount of the NVM storage device of a PCIe (peripheral component interface express) port and improve the service life and the I/O (input/output) performance of the NVM storage device of the PCIe port.
In order to reduce the data writing amount of the PCIe interface NVM storage equipment and improve the service life and I/O performance of the PCIe interface NVM storage equipment, the design separates read-write operation, completes the write operation by a dynamic granularity write method, and completes multi-granularity mapping of the internal memory and the external memory by a multi-granularity internal-external memory mapping method.
An asymmetric read-write method of an external memory device is characterized in that the operation is separated and the asymmetric read-write method is used for working; the asymmetric read-write method of the external memory device comprises a separate read-write method, a dynamic granularity write method and a multi-granularity internal and external memory mapping method; the method specifically comprises the following steps: the method comprises the steps of separating read-write operation, completing write operation through a dynamic granularity write method, and completing multi-granularity mapping of an internal memory and an external memory by using a multi-granularity internal memory and external memory mapping method.
The separated read-write operation can change the management mode of the write operation while keeping the read operation by taking a data block as a unit aiming at the characteristics of the NVM storage equipment of the PCIe interface, thereby using different characteristics of the read-write operation and improving the I/O performance of the external storage equipment.
The separate read-write method specifically comprises the following steps:
step 1, receiving a request of a file system for accessing an external storage device, analyzing the operation type, and turning to step 2 for a read operation and turning to step 3 for a write operation;
step 2, the external memory device completes the reading operation by using a reading method based on the data block and feeds back the read data to the file system;
and 3, the external memory device completes the writing operation by using a writing method of dynamic granularity and feeds back the result to the file system.
The writing method of the dynamic granularity transmits and writes data according to the actual size of the data block to be written, avoids the problem of write amplification, solves the problem of additional transmission and writing of data in the NVM storage equipment of the PCIe interface when the writing operation is executed by taking the data block as a unit, improves the execution efficiency of the writing operation, and prolongs the service life of the NVM storage equipment of the PCIe interface.
The writing method of the dynamic granularity comprises the following steps:
step 1, analyzing write operation sent by a file system, acquiring an initial address write _ pos and a length write _ len of a write data block to be written, comparing the sizes of the write data block and a system data block, if the size of the write data block is smaller than that of the system data block, turning to step 2, otherwise, turning to step 3;
step 2, setting the data volume transmitted to the external memory device according to the write _ len, constructing a write data packet by the write data, the write _ pos and the write _ len, transmitting the write data packet to the external memory device, writing the write data packet to be written into a corresponding position by the external memory device according to the write _ pos and the write _ len, and transferring to the step 8;
step 3, dividing the write-in data into a plurality of data packets according to the maximum system data block size, constructing the last data packet according to the actual size, taking the first data packet as the current data packet to be written, and turning to step 4;
step 4, if the size of the data packet to be written is equal to the system data block, turning to step 5, otherwise, turning to step 6;
step 5, setting the value of write _ pos to-1, adopting a data block unit writing method, writing the data packet into the device by the external memory device as a data block, and turning to step 7;
step 6, obtaining information of write _ pos and write _ len from the current data packet to be written, setting data volume transmitted to the external memory device, sending the write data packet, the write _ pos and the write _ len, finally writing the data packet to be written into a corresponding position by the external memory device according to the write _ pos and the write _ len, and transferring to step 8;
step 7, judging whether a next unfinished write data packet exists, if so, turning to step 4, otherwise, turning to step 8;
and 8, finishing the writing operation and feeding back writing success information to the file system.
The multi-granularity internal and external memory mapping method can flexibly correspond written data to mapping items without the limitation of data block segmentation, and the initial address and the length of the data which are actually required to be written into the external memory are saved in each mapping item, so that the problem of write amplification during internal and external memory mapping is solved, a file system can obtain the initial address and the length of the data which are actually required to be written into the NVM storage equipment of the PCIe port, data during transmission and writing can be avoided by a dynamic granularity write algorithm, and support is provided for prolonging the service life and improving the I/O performance of the NVM storage equipment of the PCIe port.
The multi-granularity internal and external memory mapping method comprises the following steps:
step 1, adding dirty _ pos and dirty _ len in each mapping item of an internal and external memory mapping table, storing multi-granularity mapping information between the internal and external memories, wherein dirty _ pos represents a start address which needs to be updated to an external memory data area in the data block, dirty _ len represents a length which needs to be updated to the external memory data area in the data block, the value of dirty _ pos is-1, which represents that the data block does not adopt a multi-granularity mapping method, S (S belongs to N) and L (L belongs to N) respectively represent a start logical address and a length of data to be written, and turning to step 2;
step 2, searching a mapping item corresponding to the internal and external memory mapping table according to S, if S is the same as the initial address of the mapping item and the value of L is the same as the size of the data block, setting dirty _ pos of the mapping item to be-1, otherwise, storing a physical address corresponding to S into dirty _ pos, and turning to the step 3;
step 3, comparing whether the value of L exceeds the length of the logical block corresponding to the mapping item, if not, setting a dirty _ len value by using L, clearing the value of L, and turning to step 4; otherwise, calculating a dirty _ len value according to the size of the data block and dirty _ pos, updating S and L, and turning to the step 4;
and 4, if the value of L is not 0, turning to the step 2, otherwise, ending the whole operation.
Novel NVM external memory equipment, including read and write separation module, the write module of dynamic granularity, the inside and outside memory mapping module of many granularities and have NVM storage equipment of PCIe mouth, its characterized in that: separating the read-write operation of the file system to the PCIe interface NVM storage equipment by using a read-write separation module; the method comprises the steps of using a writing module with dynamic granularity to obtain the actual size of a writing data block, dynamically adjusting the transmission granularity of a PCIe (peripheral component interface express) port, and only writing data which need to be written actually to avoid the operation of writing amplification; the multi-granularity internal and external memory mapping module is used, the limitation of data block segmentation is avoided, the written data is flexibly corresponding to the mapping item, and the problem of write amplification during internal and external memory mapping is avoided; and finishing the read-write operation of the received file system by using the NVM storage equipment with a PCIe (peripheral component interconnect express) port.
The invention has the beneficial effect. Aiming at different characteristics of read-write operation of a file system and the characteristics of the NVM storage equipment of the PCIe port, the invention reduces the data volume actually written into the NVM storage equipment of the PCIe port when the write operation is finished by avoiding write amplification, improves the I/O performance of the NVM storage equipment of the PCIe port and prolongs the service life.
Drawings
FIG. 1 is an overall block diagram of the present invention;
FIG. 2 is a test result of Fio sequential write performance when accessing files of different sizes;
FIG. 3 is a test result of Fio sequential read performance when accessing files of different sizes;
FIG. 4 is a test result of Fio sequential write performance when different system data block sizes are set;
FIG. 5 is the I/O performance results of the Filebench test;
FIG. 6 is a diagram of a dynamic granularity write method used when the amount of write data is less than the system block size;
FIG. 7 is a diagram of a dynamic granularity write method used when the amount of data written is greater than the system block size;
FIG. 8 is a diagram of obtaining write operation computation map entries dirty _ pos and dirty _ len using a multi-granularity internal and external memory mapping method;
FIG. 9 is a schematic diagram of a read operation.
Detailed Description
The technical solution of the present invention is further described in detail with reference to the accompanying drawings and specific embodiments.
Example 1
As shown in fig. 1, the novel NVM external memory device includes a read-write separation module, a dynamic granularity write module, a multi-granularity internal and external memory mapping module, and an NVM storage device having a PCIe port. The description of each functional block is shown in table 1.
TABLE 1 functional modules in novel NVM external memory device
Figure BDA0001273359310000041
Example 2
In order to realize a novel NVM external storage device, because no practical PCIe port NVM storage device exists at present, a PMBD is used for simulation, and a default configuration is adopted to increase the reading delay of 85ns and the writing delay of 500ns to simulate an NVM medium; meanwhile, modifying a Linux kernel, reserving a 10G kernel space at the tail of a kernel address and mounting a PMBD (physical random access memory);
and modifying the PMBD, adding a read-write separation module and a write module with dynamic granularity, and only writing the actually added data by using the NVM byte addressing characteristic when writing operation is performed. Meanwhile, a mapping buffer _ head structure of an internal memory and an external memory in a Linux kernel is modified, an internal memory and external memory mapping module with multiple granularities is added, dirty _ pos and dirty _ len are added to store data position information which needs to be written back to the external memory actually, and an internal memory and external memory mapping algorithm with multiple granularities is realized; meanwhile, modifying a bio structure of interaction between a Linux kernel and a device driver, and adding write _ pos and write _ len to store dirty _ pos and dirty _ len information obtained from a buffer _ head structure, so that position information for realizing write-back data is transmitted to the NVM storage device of the PCIe port; a prototype of a new NVM external memory device was constructed, we named APMBD.
In order to reduce the influence of network communication on the performance of the test I/O, a machine is used for building a test environment and is provided with an Intel (R) Xeon (R) E56062.13GHz processor and a 20G memory. Fio and Filebench were used as test tools.
The I/O performance of APMBD was tested using libaio in Fio and compared to Ext4on PMBD and Ext2on PMBD. Setting the size of an access block to be 4KB, testing the performance when 3 ten thousand files with the sizes of 8KB, 32KB, 128KB and 512KB are sequentially read and written, wherein FIG. 2 is the test result of the sequential write performance, and FIG. 3 is the test result of the sequential read performance; further, the system data block sizes were set to 4KB, 8KB, 16KB and 32KB, respectively, and the performance of sequentially writing 3 ten thousand files of 512KB was tested, and the results are shown in fig. 4.
Meanwhile, Filebench is used for simulating the access condition of the application server, three types of loads, namely Copyfile, Webserver and Fileserver, are selected for testing the I/O performance, the file size is set to be 32KB, the number of files is 5 thousands, the comparison is carried out with Ext4on PMBD, and the test result is shown in figure 5.
Example 3
When the prototype of the novel NVM external memory device is realized, the prototype mainly comprises a read-write separation thread, a dynamic granularity write thread and a multi-granularity internal and external memory mapping thread, and the working steps of the read-write separation thread, the dynamic granularity write thread and the multi-granularity internal and external memory mapping thread are respectively as follows.
Reading and writing separation threads:
step 1, receiving a request of a file system for accessing an external storage device, analyzing the operation type, and turning to step 2 for a read operation and turning to step 3 for a write operation;
step 2, the external memory device completes the reading operation by using a reading method based on the data block and feeds back the read data to the file system;
and 2, the external memory device completes the writing operation by using a writing method of dynamic granularity and feeds back the result to the file system.
Dynamic granularity write-thread:
step 1, analyzing write operation sent by a file system, acquiring an initial address write _ pos (write _ pos is in the middle of N) and a length write _ len (write _ len is in the middle of N) of a write data block to be written, comparing the sizes of the write data block and a system data block, if the size of the write data block is smaller than that of the system data block, turning to step 2, otherwise, turning to step 3;
step 2, setting the data volume transmitted to the external memory device according to the write _ len, constructing a write data packet by the write data, the write _ pos and the write _ len, transmitting the write data packet to the external memory device, writing the write data packet to be written into a corresponding position by the external memory device according to the write _ pos and the write _ len, and transferring to the step 8;
step 3, dividing the write-in data into a plurality of data packets according to the maximum system data block size, constructing the last data packet according to the actual size, taking the first data packet as the current data packet to be written, and turning to step 4;
step 4, if the size of the data packet to be written is equal to the system data block, turning to step 5, otherwise, turning to step 6; step 5, setting the value of write _ pos to-1, adopting a data block unit writing method, writing the data packet into the device by the external memory device as a data block, and turning to step 7;
step 6, obtaining information of write _ pos and write _ len from the current data packet to be written, setting data volume transmitted to the external memory device, sending the write data packet, the write _ pos and the write _ len, finally writing the data packet to be written into a corresponding position by the external memory device according to the write _ pos and the write _ len, and transferring to step 8;
step 7, judging whether a next unfinished write data packet exists, if so, turning to step 4, otherwise, turning to step 8;
and 8, finishing the writing operation and feeding back writing success information to the file system.
Multi-granularity internal and external memory mapping thread:
step 1, adding dirty _ pos (dirty _ pos is in the middle of N) and dirty _ len (dirty _ len is in the middle of N) in each mapping item of an internal and external memory mapping table, storing multi-granularity mapping information between the internal and external memories, wherein dirty _ pos represents a starting address which needs to be updated to an external memory data area in the data block, dirty _ len represents the length which needs to be updated to the external memory data area in the data block, the value of dirty _ pos is-1, which represents that the data block does not adopt a multi-granularity mapping method, and S (S is in the middle of N) and L (L is in the middle of N) respectively represent a starting logical address and a length of data to be written, and turning to step 2;
step 2, searching a mapping item corresponding to the internal and external memory mapping table according to S, if S is the same as the initial address of the mapping item and the value of L is the same as the size of the data block, setting dirty _ pos of the mapping item to be-1, otherwise, storing a physical address corresponding to S into dirty _ pos, and turning to the step 3;
step 3, comparing whether the value of L exceeds the length of the logical block corresponding to the mapping item, if not, setting a dirty _ len value by using L, clearing the value of L, and turning to step 4; otherwise, calculating a dirty _ len value according to the size of the data block and dirty _ pos, updating S and L, and turning to the step 4;
and 4, if the value of L is not 0, turning to the step 2, otherwise, ending the whole operation.
Fig. 6 is a schematic diagram of a dynamic-granularity write method used when the amount of write data is smaller than the system data block size.
FIG. 7 is a diagram illustrating a dynamic granularity write method used when the amount of data written is larger than the system block size.
Fig. 8 is a schematic diagram showing how write operation calculation mapping items dirty _ pos and dirty _ len are obtained by using the multi-granularity internal/external memory mapping method.
Fig. 9 gives a schematic diagram of a read operation.

Claims (1)

1. An asymmetric read-write method of an external memory device is characterized in that: work by separating read and write operations and using asymmetric read and write methods; the asymmetric read-write method of the external memory device comprises a separate read-write method, a dynamic granularity write method and a multi-granularity internal and external memory mapping method; the method specifically comprises the following steps: firstly, separating read-write operation, completing write operation by a dynamic granularity write method, and completing multi-granularity mapping of an internal memory and an external memory by using a multi-granularity internal memory and external memory mapping method;
the separate read-write method specifically comprises the following steps:
step 1.1, receiving a request of a file system for accessing an external storage device, analyzing the operation type, and switching to step 1.2 for a read operation and switching to step 1.3 for a write operation;
step 1.2, the external memory device completes the reading operation by using a reading method based on the data block and feeds back the read data to the file system;
step 1.3, the external memory device completes the writing operation by using a writing method of dynamic granularity and feeds back the result to the file system;
the writing method of the dynamic granularity comprises the following steps:
step 2.1, analyzing the write operation sent by the file system, obtaining the initial address, write _ pos, and the length, write _ len, of the write data block, wherein the write _ pos belongs to N, write _ len belongs to N, comparing the size of the write data block with the size of the system data block, if the size of the write data block is smaller than that of the system data block, going to step 2.2, otherwise going to step 2.3;
step 2.2, setting the data volume transmitted to the external memory device according to the write _ len, constructing a write data packet by the write data, the write _ pos and the write _ len, transmitting the write data packet to the external memory device, writing the write data packet to be written into a corresponding position by the external memory device according to the write _ pos and the write _ len, and turning to step 2.8;
step 2.3, dividing the write-in data into a plurality of data packets according to the maximum system data block size, constructing the last data packet according to the actual size, taking the first data packet as the current data packet to be written, and turning to the step 2.4;
step 2.4, if the size of the data packet needing to be written currently is equal to the system data block, the step 2.5 is carried out, otherwise, the step 2.6 is carried out;
step 2.5, the value of write _ pos is set to-1, a data block unit writing method is adopted, the external memory device writes the data packet into the device as a data block, and the step 2.7 is switched to;
step 2.6, obtaining information of write _ pos and write _ len from the current data packet to be written, setting data volume transmitted to the external memory device, sending the write data packet, write _ pos and write _ len, finally, the external memory device writes the data packet to be written into the corresponding position according to the write _ pos and the write _ len, and transferring to step 2.8;
step 2.7, judging whether a next unfinished write data packet exists, if so, turning to step 2.4, otherwise, turning to step 2.8;
step 2.8, ending the writing operation and feeding back writing success information to the file system;
the multi-granularity internal and external memory mapping method comprises the following steps:
step 3.1, adding dirty _ pos and dirty _ len to each mapping item of the internal and external memory mapping table, wherein the dirty _ pos is in the form of N, diry _ len is in the form of N, storing multi-granularity mapping information between the internal and external memories, wherein the dirty _ pos represents a start address which needs to be updated to an external memory data area in the data block, the dirty _ len represents a length which needs to be updated to the external memory data area in the data block, the value of the dirty _ pos is-1, which represents that the data block does not adopt a multi-granularity mapping method, and S (S) and L (L is in the form of N) respectively represent a start logical address and a length of data to be written, and going to step 3.2;
step 3.2, searching a mapping item corresponding to the internal and external memory mapping table according to S, if S is the same as the initial address of the mapping item and the value of L is the same as the size of the data block, setting dirty _ pos of the mapping item to be-1, otherwise, storing the physical address corresponding to S into dirty _ pos, and turning to the step 3.3;
step 3.3, comparing whether the value of L exceeds the length of the logical block corresponding to the mapping item, if not, setting a dirty _ len value by using L, clearing the value of L, and turning to step 3.4; otherwise, calculating the value of dirty _ len according to the size of the data block and dirty _ pos, updating S and L, and turning to the step 3.4;
and 3.4, if the value of L is not 0, turning to the step 3.2, otherwise, ending the whole operation.
CN201710255785.0A 2017-04-19 2017-04-19 Asymmetric read-write method of external memory device and NVM (non-volatile memory) external memory device Active CN107066208B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710255785.0A CN107066208B (en) 2017-04-19 2017-04-19 Asymmetric read-write method of external memory device and NVM (non-volatile memory) external memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710255785.0A CN107066208B (en) 2017-04-19 2017-04-19 Asymmetric read-write method of external memory device and NVM (non-volatile memory) external memory device

Publications (2)

Publication Number Publication Date
CN107066208A CN107066208A (en) 2017-08-18
CN107066208B true CN107066208B (en) 2020-04-03

Family

ID=59600355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710255785.0A Active CN107066208B (en) 2017-04-19 2017-04-19 Asymmetric read-write method of external memory device and NVM (non-volatile memory) external memory device

Country Status (1)

Country Link
CN (1) CN107066208B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111341374B (en) * 2018-12-18 2022-03-15 炬芯科技股份有限公司 Memory test method and device and readable memory

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103268292A (en) * 2013-06-13 2013-08-28 江苏大学 Method for prolonging life of non-volatile external memory and high-speed long-life external memory system
CN103942159A (en) * 2014-03-19 2014-07-23 华中科技大学 Data read-write method and device based on mixed storage device
CN105335100A (en) * 2015-09-29 2016-02-17 华为技术有限公司 Method and device for processing data, and flash memory device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103268292A (en) * 2013-06-13 2013-08-28 江苏大学 Method for prolonging life of non-volatile external memory and high-speed long-life external memory system
CN103942159A (en) * 2014-03-19 2014-07-23 华中科技大学 Data read-write method and device based on mixed storage device
CN105335100A (en) * 2015-09-29 2016-02-17 华为技术有限公司 Method and device for processing data, and flash memory device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
NVMCFS: Complex File System for Hybrid NVM;Cai Tao etc.;《2016 IEEE 22nd International Conference on Parallel and Distributed Systems》;20161231;577 - 584 *
面向NVM的混合粒度文件系统;何耀等;《软件导刊》;20160731;第15卷(第7期);17-20 *

Also Published As

Publication number Publication date
CN107066208A (en) 2017-08-18

Similar Documents

Publication Publication Date Title
US11151052B2 (en) Reading sequential data from memory using a pivot table
US11210020B2 (en) Methods and systems for accessing a memory
CN105095116A (en) Cache replacing method, cache controller and processor
CN105094686A (en) Data caching method, cache and computer system
CN109164976B (en) Optimizing storage device performance using write caching
JP6139711B2 (en) Information processing device
CN102681946A (en) Memory access method and device
CN111258925B (en) Nonvolatile memory access method, nonvolatile memory access device, memory controller, nonvolatile memory device and nonvolatile memory medium
WO2015176664A1 (en) Data operation method, device and system
CN112506823B (en) FPGA data reading and writing method, device, equipment and readable storage medium
CN111752484A (en) SSD controller, solid state disk and data writing method
CN109213693A (en) Memory management method, storage system and computer program product
CN102999441A (en) Fine granularity memory access method
CN113407120B (en) Mapping table management method and device based on HMB and computer equipment
CN116795735B (en) Solid state disk space allocation method, device, medium and system
CN107066208B (en) Asymmetric read-write method of external memory device and NVM (non-volatile memory) external memory device
JP6100927B2 (en) Information processing device
EP4307129A1 (en) Method for writing data into solid-state hard disk
CN102591816A (en) Multichannel Nandflash storage system
CN116340203A (en) Data pre-reading method and device, processor and prefetcher
CN111913662B (en) SLC writing performance improving method and device, computer equipment and storage medium
CN111143313A (en) Method for improving log block read-write performance of hybrid mapping algorithm
CN115826882B (en) Storage method, device, equipment and storage medium
CN112988074B (en) Storage system management software adaptation method and device
US20240061786A1 (en) Systems, methods, and apparatus for accessing data in versions of memory pages

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