CN112732182A - NAND data writing method and related device - Google Patents

NAND data writing method and related device Download PDF

Info

Publication number
CN112732182A
CN112732182A CN202011605204.XA CN202011605204A CN112732182A CN 112732182 A CN112732182 A CN 112732182A CN 202011605204 A CN202011605204 A CN 202011605204A CN 112732182 A CN112732182 A CN 112732182A
Authority
CN
China
Prior art keywords
data
physical page
physical
performance
read
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
CN202011605204.XA
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.)
Beijing Inspur Data Technology Co Ltd
Original Assignee
Beijing Inspur Data Technology Co Ltd
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 Beijing Inspur Data Technology Co Ltd filed Critical Beijing Inspur Data Technology Co Ltd
Priority to CN202011605204.XA priority Critical patent/CN112732182A/en
Publication of CN112732182A publication Critical patent/CN112732182A/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
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • 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/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 application discloses a NAND data writing method, which comprises the following steps: performing performance classification on physical pages in the SSD to obtain physical pages with a plurality of performance levels; when data is written into an idle physical page of the NAND, judging whether the data and subsequent data corresponding to the data are continuous read data or not; and if so, writing the subsequent data corresponding to the data into the physical page with the same performance level as the idle physical page so as to read the data from the physical page with the same performance level. The physical pages in the SSD are classified firstly, the physical pages are classified into a plurality of performance levels, and the continuously read data are written into the physical pages with the same performance levels, so that the data can be read from the physical pages with the same performance levels, the total time delay of data reading is reduced, and the storage performance of the SSD is improved. The application also discloses a NAND data writing device, a computing device and a computer readable storage medium, which have the beneficial effects.

Description

NAND data writing method and related device
Technical Field
The present application relates to the field of data storage technologies, and in particular, to a NAND data writing method, a NAND data writing device, a NAND data writing apparatus, and a NAND data writing program.
Background
A solid State disk (ssd) is a device used to store user data. The solid state disk is composed of modules such as a controller and a storage medium NAND (NAND flash memory). The controller runs firmware to control resources, store and schedule user data, maintain NAND equipment and the like. Among them, NAND is a storage medium of SSD, which is a chip, and there are often a plurality of NAND particles in one solid state disk. The current mainstream SSD generally adopts TLC NAND, namely Triple-Level Cell. The NAND is provided with a plurality of luns, each lun comprises a plurality of blocks, and each block is a component unit of the lun and is a minimum unit of erase operation. Each block comprises a plurality of pages, and the pages are the composition units of the block and are the minimum units of read operation and write operation.
The solid state disk can provide high concurrent read-write performance because the solid state disk is internally provided with a plurality of storage units which can be operated in parallel, and the data of a user can be distributed into different NAND particles according to the algorithm of firmware. When the user reads and writes, the SSD controller is informed of the data length, logical address, etc. of the operation. When the controller receives a read-write command, the firmware running on the controller processes the command, and if the command is a write-in command, the data of a user is often split and distributed to different NAND particles, so that the parallel capability of a plurality of NAND particles is fully utilized. The NAND address read is deterministic when read because the address where the data is stored in the NAND is predetermined by the write operation.
In the related art, in the case of TLC NAND or QLC NAND, the reading speed and delay are different due to different attributes of pages (such as lower Page/middle Page). If a read operation has a large read size and tends to fall on multiple pages that have different latencies, such as fast or slow speeds, the firmware will read data from all the corresponding pages (address mapping table determined by the write process), and when the data read is complete, notify the host that the command processing is complete. It is conceivable that if different pages are delayed to be close to each other, higher performance is brought, because the physical Page corresponding to one-time reading is performed, if the physical Page is slow, the reading command can be completed only after the slowest Page data is returned to the host. Although the Page with the faster speed is read at this time, a block with the corresponding performance is not obtained, another read command can be processed, but the fact that the read delay is longer is not changed, and due to the limitation of the host, the next command cannot be sent when the previous command is not completed, and the parallelism of the NAND medium cannot be effectively utilized. The efficiency of data reading is reduced, i.e., the performance of the SSD is reduced.
Therefore, how to improve the storage performance of the SSD is a key issue of attention by those skilled in the art.
Disclosure of Invention
The application aims to provide a NAND data writing method, a data writing device, a computing device and a computer readable storage medium, which classify physical pages in an SSD at first, classify the physical pages into a plurality of performance levels, and then write data into the physical pages with the same performance levels when continuously reading the data, so that the data can be read from the physical pages with the same performance levels instead of reading the data from the physical pages with different performance levels, thereby avoiding the situation that the reading delay is different when continuously reading the data, reducing the total delay of data reading and improving the storage performance of the SSD.
In order to solve the above technical problem, the present application provides a NAND data writing method, including:
performing performance classification on physical pages in the SSD to obtain physical pages with a plurality of performance levels;
when data is written into an idle physical page of the NAND, judging whether the data and subsequent data corresponding to the data are continuous read data or not;
and if so, writing the subsequent data corresponding to the data into the physical page with the same performance level as the idle physical page so as to read the data from the physical page with the same performance level.
Optionally, the performance classification is performed on the physical pages in the SSD to obtain physical pages of multiple performance levels, including:
when a reading instruction is received, reading a physical page address and reading delay data corresponding to the reading instruction;
and calculating the read delay data according to a preset performance classification algorithm to obtain the performance level of the physical page corresponding to the physical page address.
Optionally, the performance classification is performed on the physical pages in the SSD to obtain physical pages of multiple performance levels, including:
acquiring attribute data of a physical page in the SSD;
and classifying the physical page according to the attribute data to obtain the performance level corresponding to the physical page.
Optionally, the performance classification is performed on the physical pages in the SSD to obtain physical pages of multiple performance levels, including:
when a reading instruction is received, reading a physical page address and reading delay data corresponding to the reading instruction;
acquiring attribute data of a physical page corresponding to the physical page address;
and classifying the physical page according to the read delay data and the attribute data to obtain the performance level corresponding to the physical page.
Optionally, when data is written into an idle physical page of the NAND, determining whether the data and subsequent data corresponding to the data are continuous read data, including:
and when the data is written into the free physical page of the NAND, judging whether the logical address of the data and the logical address of the subsequent data corresponding to the data are continuous logical addresses.
The present application also provides a NAND data writing device, including:
the physical page classification module is used for performing performance classification on the physical pages in the SSD to obtain physical pages with a plurality of performance levels;
the continuous reading judging module is used for judging whether the data and the subsequent data corresponding to the data are continuous reading data or not when the data are written into the idle physical page of the NAND;
and a continuous data writing module, configured to, when the data and subsequent data corresponding to the data are continuous read data, write the subsequent data corresponding to the data into a physical page at the same performance level as the idle physical page, so as to read the data from the physical page at the same performance level.
Optionally, the physical page classification module includes:
the time delay data acquisition unit is used for reading a physical page address and time delay data corresponding to a reading instruction when the reading instruction is received;
and the performance classification unit is used for calculating the read delay data according to a preset performance classification algorithm to obtain the performance level of the physical page corresponding to the physical page address.
Optionally, the physical page classification module includes:
an attribute data acquisition unit, configured to acquire attribute data of a physical page in the SSD;
and the attribute data classification unit is used for classifying the physical page according to the attribute data to obtain the performance level corresponding to the physical page.
The present application further provides a computing device comprising:
a memory for storing a computer program;
a processor for implementing the steps of the data writing method as described above when executing the computer program.
The present application also provides a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the data writing method as described above.
The application provides a data writing method of a NAND, which comprises the following steps: performing performance classification on physical pages in the SSD to obtain physical pages with a plurality of performance levels; when data is written into an idle physical page of the NAND, judging whether the data and subsequent data corresponding to the data are continuous read data or not; and if so, writing the subsequent data corresponding to the data into the physical page with the same performance level as the idle physical page so as to read the data from the physical page with the same performance level.
The physical pages in the SSD are classified firstly, the physical pages are classified into a plurality of performance levels, and then when data are continuously read, the data are written into the physical pages with the same performance level, so that the data are read from the physical pages with the same performance level instead of reading the data from the physical pages with different performances, the condition that the reading delay is different when the data are continuously read is avoided, the total delay of data reading is reduced, and the storage performance of the SSD is improved.
The application also provides a NAND data writing device, a computing device and a computer readable storage medium, which have the above beneficial effects and are not described herein again.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, it is obvious that the drawings in the following description are only embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the provided drawings without creative efforts.
FIG. 1 is a flowchart of a NAND data writing method according to an embodiment of the present disclosure;
FIG. 2 is a schematic structural diagram of a NAND data writing device according to an embodiment of the present disclosure.
Detailed Description
The core of the application is to provide a NAND data writing method, a data writing device, a computing device and a computer readable storage medium, by classifying physical pages in an SSD first, classifying the physical pages into a plurality of performance levels, and then writing data into the physical pages with the same performance levels when writing continuous read data, so as to read data from the physical pages with the same performance levels instead of reading data from physical pages with different performance levels, avoid the situation that the read delay is different when continuously reading data, reduce the total delay of data reading, and improve the storage performance of the SSD.
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
In the related art, in the case of TLC NAND or QLC NAND, the reading speed and delay are different due to the different properties of Page. If the read size of a read operation is large, it will often fall on multiple pages, and these pages have different delays, such as fast or slow, then the firmware will read data from all the corresponding pages, and when the data read is completed, notify the host, and then the command processing is completed. It is conceivable that if different pages are delayed to be close to each other, higher performance is brought, because the physical Page corresponding to one-time reading is performed, if the physical Page is slow, the reading command can be completed only after the slowest Page data is returned to the host. Although the Page with the faster speed is read at this time, a block with the corresponding performance is not obtained, another read command can be processed, but the fact that the read delay is longer is not changed, and due to the limitation of the host, the next command cannot be sent when the previous command is not completed, and the parallelism of the NAND medium cannot be effectively utilized. The efficiency of data reading is reduced, i.e., the performance of the SSD is reduced.
Therefore, the application provides a data writing method of a NAND, which classifies physical pages in an SSD into a plurality of performance levels by classifying the physical pages in the SSD, and then writes data into the physical pages with the same performance levels when writing continuous read data so as to read the data from the physical pages with the same performance levels instead of reading the data from the physical pages with different performances, thereby avoiding the situation that the read delay is different when continuously reading the data, reducing the total delay of data reading, and improving the storage performance of the SSD.
The following describes a NAND data writing method according to an embodiment of the present invention.
Referring to fig. 1, fig. 1 is a flowchart illustrating a NAND data writing method according to an embodiment of the present disclosure.
In this embodiment, the method may include:
s101, performing performance classification on physical pages in the SSD to obtain physical pages with multiple performance levels;
it can be seen that this step aims to perform performance classification on the physical pages in the SSD, resulting in physical pages of multiple performance levels. The physical page subjected to performance classification may be all physical pages in the SSD, may be a physical page to which data has not been written, or may be a physical page of a specific area.
The performance classification mode may be classified according to the data reading delay of each physical page, or according to the attribute data of each physical page, or according to the reading delay and the attribute data. It is to be understood that the classification is not exclusive and is not limited thereto.
Optionally, this step may include:
step 1, when a reading instruction is received, reading a physical page address and reading delayed data corresponding to the reading instruction;
and 2, calculating the read delay data according to a preset performance classification algorithm to obtain the performance level of the physical page corresponding to the physical page address.
It can be seen that the present alternative is mainly illustrative of how the classification of performance levels may be performed. In the alternative, when a reading instruction is received, a physical page address and reading delay data corresponding to the reading instruction are read; and then, calculating the read delay data according to a preset performance classification algorithm to obtain the performance level of the physical page corresponding to the physical page address. Therefore, the performance classification is carried out on the physical page through the delay data, and the delay data is adopted as the data in the actual application environment, so that the performance condition of the physical page can be effectively fed back, and the accuracy of the performance classification is improved.
Optionally, this step may include:
step 1, acquiring attribute data of a physical page in an SSD;
and 2, classifying the physical pages according to the attribute data to obtain the performance levels corresponding to the physical pages.
It can be seen that the present alternative is mainly illustrative of how the classification of performance levels may be performed. In the alternative, firstly, the attribute data of the physical page in the SSD is acquired; and then, classifying the physical pages according to the attribute data to obtain the performance level corresponding to the physical pages. It can be seen that in the alternative, the performance classification is mainly performed by the attribute data of each physical page, and the difference of the physical page performance is basically from the attribute of the physical page. Thus, the performance level can be determined directly from the attribute data without wasting time acquiring the delay data.
Optionally, this step may include:
step 1, when a reading instruction is received, reading a physical page address and reading delayed data corresponding to the reading instruction;
step 2, acquiring attribute data of a physical page corresponding to the physical page address;
and 3, classifying the physical page according to the read delay data and the attribute data to obtain the performance level corresponding to the physical page.
It can be seen that the present alternative is mainly illustrative of how the classification of performance levels may be performed. In the alternative scheme, when a reading instruction is received, a physical page address and reading delay data corresponding to the reading instruction are read, and attribute data of a physical page corresponding to the physical page address are obtained; and then, classifying the physical page according to the read delay data and the attribute data to obtain the performance level corresponding to the physical page. Therefore, in the alternative scheme, the performance classification is mainly carried out through the delay data and the attribute data, and the accuracy of the performance classification is kept.
S102, when data are written into an idle physical page of the NAND, judging whether the data and subsequent data corresponding to the data are continuous read data or not;
on the basis of S101, this step is intended to determine whether the currently written data is continuously read data. The continuous read data refers to data that is continuously read at the time of data reading. The judgment can be made by whether the logical addresses are continuous or not, by the correlation of data, or by the writing time of data. As can be seen, the manner for determining whether the data is continuous data in this step is not unique, and is not limited in detail here.
Optionally, this step may include:
when data is written into an idle physical page of the NAND, whether the logical address of the data and the logical address of subsequent data corresponding to the data are continuous logical addresses is judged.
It can be seen that in the present alternative scheme, the determination is mainly made by whether or not there are consecutive logical addresses.
And S103, if so, writing the subsequent data corresponding to the data into the physical page with the same performance level as the idle physical page so as to read the data from the physical page with the same performance level.
On the basis of S102, when the data and the corresponding subsequent data are continuous data, writing the subsequent data corresponding to the data into a physical page of the same performance level as the idle physical page, so as to read the data from the physical page of the same performance level. That is, data that may be read continuously is stored in physical pages of the same performance level, so that the data is read from the physical pages of the same performance level when being read, thereby avoiding the situation of delay waiting occurring in different performances and reducing the total data reading delay of the SSD.
In summary, in the embodiment, the physical pages in the SSD are classified into a plurality of performance levels, and then when data is continuously read, the data is written into the physical pages with the same performance level, so that the data is read from the physical pages with the same performance level instead of reading the data from the physical pages with different performances, thereby avoiding a situation that read delays are different when the data is continuously read, reducing a total delay of data reading, and improving storage performance of the SSD.
The following further describes a data writing method for NAND according to a specific embodiment.
In this embodiment, the method may include:
step 1, when a firmware receives a reading command, recording in each reading operation sent to NAND particles, and recording the address of a physical page read at the time and the delay data read at the time;
step 2, after obtaining the delay data obtained in the operation 1, the firmware obtains attribute data of the physical page, judges whether the current physical page is a fast physical page or a slow physical page based on the attribute data and the delay data according to an algorithm, and records the classification in a data structure;
in the NAND principle, the speed of a physical page is related to the attribute of the physical page, and also related to the Program/Erase times of the physical page. In this step, it is determined whether the physical page is a fast physical page or a slow physical page, that is, the physical page is subjected to performance classification.
Step 3, recording each physical page by the data structure;
wherein, the corresponding storage space is needed according to the type of the classification, and for 2 types of classifications, 1 bit is used for representing the fast full attribute of one physical page. For more classes, more bits are required.
Since the attribute obtained in operation 2 is generally more significant, the physical attribute of the physical page and the Program/Erase frequency of the Block in which the physical page is located may be used to perform the determination, instead of storing each physical page, so as to save the memory space. When the classification information of the physical page needs to be used, the attribute data is used for calculating to obtain the performance classification corresponding to the physical page.
Step 4, the firmware also needs to classify the writing of the user to judge whether the user can be continuously read in the future (read in the same reading operation);
in this embodiment, since consecutive reads are necessarily consecutive logical addresses following a first address, when the addresses written by the user are consecutive, there is a possibility of being read consecutively in the future.
If the user write size is small, recognition is required, n data elements are reserved, the most recently written n addresses are reserved, and if the current address and any one of the n addresses are continuous, the current address and one of the n addresses are considered to be continuously read.
And step 5, when the NAND operation is written, the physical pages are allocated to the continuous reading operation, and the physical pages with the same attribute are allocated to the physical pages.
When the data of a user is written into the NAND, the firmware finds the writable free physical pages from the data structure of the firmware, generally, the free physical pages are obtained from a plurality of available resources, so that more candidates exist, a linked list can be respectively reserved for the fast and slow physical pages, and when the data needs to be used, the corresponding physical pages are popped out from the linked list.
Sometimes the fast and slow physical pages are inside one physical Block, so the data of the Block physical page and the slow physical page need to be sent to the NAND medium at the same time. In such applications, advanced caching of user-written data is required. When a minimum write unit is reached, the allocation of fast and slow physical pages is performed.
And allocating a slower physical page for the data which cannot be judged whether the data can be read continuously or not so as to reserve a faster physical page for the identified continuous read address.
It can be seen that, in this embodiment, the physical pages in the SSD are classified into a plurality of performance levels, and then when data is continuously read, the data is written into the physical pages with the same performance level, so that the data is read from the physical pages with the same performance level, instead of reading the data from the physical pages with different performances, thereby avoiding a situation that the read delays are different when the data is continuously read, reducing the total delay of data reading, and improving the storage performance of the SSD.
The following describes a NAND data writing device according to an embodiment of the present invention, and the NAND data writing device described below and the NAND data writing method described above are referred to in correspondence with each other.
Referring to fig. 2, fig. 2 is a schematic structural diagram of a NAND data writing device according to an embodiment of the present disclosure.
In this embodiment, the apparatus may include:
a physical page classification module 100, configured to perform performance classification on physical pages in the SSD to obtain physical pages at multiple performance levels;
a continuous reading judgment module 200, configured to judge whether data and subsequent data corresponding to the data are continuous reading data when the data are written in an idle physical page of the NAND;
the continuous data writing module 300 is configured to, when the data and the subsequent data corresponding to the data are continuous read data, write the subsequent data corresponding to the data into a physical page at the same performance level as the idle physical page, so as to read the data from the physical page at the same performance level.
Optionally, the physical page classification module 100 may include:
the time delay data acquisition unit is used for reading a physical page address and time delay data corresponding to a reading instruction when the reading instruction is received;
and the performance classification unit is used for calculating the read delay data according to a preset performance classification algorithm to obtain the performance level of the physical page corresponding to the physical page address.
Optionally, the physical page classification module 100 may include:
an attribute data acquisition unit, configured to acquire attribute data of a physical page in an SSD;
and the attribute data classification unit is used for classifying the physical page according to the attribute data to obtain the performance level corresponding to the physical page.
An embodiment of the present application further provides a computing device, including:
a memory for storing a computer program;
a processor for implementing the steps of the data writing method as described in the above embodiments when executing the computer program.
The embodiments of the present application also provide a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the steps of the data writing method according to the above embodiments are implemented.
The embodiments are described in a progressive manner in the specification, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other. The device disclosed by the embodiment corresponds to the method disclosed by the embodiment, so that the description is simple, and the relevant points can be referred to the method part for description.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative components and steps have been described above generally in terms of their functionality in order to clearly illustrate this interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in Random Access Memory (RAM), memory, Read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
The NAND data writing method, the NAND data writing device, the NAND data writing apparatus, and the NAND data writing apparatus provided in the present application are described in detail above. The principles and embodiments of the present application are explained herein using specific examples, which are provided only to help understand the method and the core idea of the present application. It should be noted that, for those skilled in the art, it is possible to make several improvements and modifications to the present application without departing from the principle of the present application, and such improvements and modifications also fall within the scope of the claims of the present application.

Claims (10)

1. A method for writing data to a NAND, comprising:
performing performance classification on physical pages in the SSD to obtain physical pages with a plurality of performance levels;
when data is written into an idle physical page of the NAND, judging whether the data and subsequent data corresponding to the data are continuous read data or not;
and if so, writing the subsequent data corresponding to the data into the physical page with the same performance level as the idle physical page so as to read the data from the physical page with the same performance level.
2. The data writing method according to claim 1, wherein the performance classification of the physical pages in the SSD to obtain the physical pages with a plurality of performance levels comprises:
when a reading instruction is received, reading a physical page address and reading delay data corresponding to the reading instruction;
and calculating the read delay data according to a preset performance classification algorithm to obtain the performance level of the physical page corresponding to the physical page address.
3. The data writing method according to claim 1, wherein the performance classification of the physical pages in the SSD to obtain the physical pages with a plurality of performance levels comprises:
acquiring attribute data of a physical page in the SSD;
and classifying the physical page according to the attribute data to obtain the performance level corresponding to the physical page.
4. The data writing method according to claim 1, wherein the performance classification of the physical pages in the SSD to obtain the physical pages with a plurality of performance levels comprises:
when a reading instruction is received, reading a physical page address and reading delay data corresponding to the reading instruction;
acquiring attribute data of a physical page corresponding to the physical page address;
and classifying the physical page according to the read delay data and the attribute data to obtain the performance level corresponding to the physical page.
5. The data writing method according to claim 1, wherein when data is written into a free physical page of a NAND, determining whether the data and subsequent data corresponding to the data are continuous read data includes:
and when the data is written into the free physical page of the NAND, judging whether the logical address of the data and the logical address of the subsequent data corresponding to the data are continuous logical addresses.
6. A NAND data writing apparatus, comprising:
the physical page classification module is used for performing performance classification on the physical pages in the SSD to obtain physical pages with a plurality of performance levels;
the continuous reading judging module is used for judging whether the data and the subsequent data corresponding to the data are continuous reading data or not when the data are written into the idle physical page of the NAND;
and a continuous data writing module, configured to, when the data and subsequent data corresponding to the data are continuous read data, write the subsequent data corresponding to the data into a physical page at the same performance level as the idle physical page, so as to read the data from the physical page at the same performance level.
7. The data writing apparatus of claim 6, wherein the physical page classification module comprises:
the time delay data acquisition unit is used for reading a physical page address and time delay data corresponding to a reading instruction when the reading instruction is received;
and the performance classification unit is used for calculating the read delay data according to a preset performance classification algorithm to obtain the performance level of the physical page corresponding to the physical page address.
8. The data writing apparatus of claim 6, wherein the physical page classification module comprises:
an attribute data acquisition unit, configured to acquire attribute data of a physical page in the SSD;
and the attribute data classification unit is used for classifying the physical page according to the attribute data to obtain the performance level corresponding to the physical page.
9. A computing device, comprising:
a memory for storing a computer program;
a processor for implementing the steps of the data writing method according to any one of claims 1 to 5 when executing said computer program.
10. A computer-readable storage medium, characterized in that a computer program is stored on the computer-readable storage medium, which computer program, when being executed by a processor, carries out the steps of the data writing method according to any one of claims 1 to 5.
CN202011605204.XA 2020-12-29 2020-12-29 NAND data writing method and related device Pending CN112732182A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011605204.XA CN112732182A (en) 2020-12-29 2020-12-29 NAND data writing method and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011605204.XA CN112732182A (en) 2020-12-29 2020-12-29 NAND data writing method and related device

Publications (1)

Publication Number Publication Date
CN112732182A true CN112732182A (en) 2021-04-30

Family

ID=75610820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011605204.XA Pending CN112732182A (en) 2020-12-29 2020-12-29 NAND data writing method and related device

Country Status (1)

Country Link
CN (1) CN112732182A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114415944A (en) * 2021-12-27 2022-04-29 深圳忆联信息系统有限公司 Solid state disk physical block management method and device, computer equipment and storage medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1950792A (en) * 2004-07-12 2007-04-18 株式会社东芝 Storage device and host apparatus
CN101118516A (en) * 2006-07-31 2008-02-06 松下电器产业株式会社 Non-volatile storage device, data storage system, and data storage method
CN101458662A (en) * 2007-12-14 2009-06-17 创惟科技股份有限公司 Storage system and method for improving flash memory access efficiency
CN103294604A (en) * 2012-02-23 2013-09-11 三星电子株式会社 Flash memory device and electronic device employing thereof
CN106802777A (en) * 2017-01-20 2017-06-06 杭州电子科技大学 A kind of flash translation layer (FTL) control method for solid storage device
CN107665097A (en) * 2017-08-22 2018-02-06 深圳市硅格半导体股份有限公司 A kind of method, apparatus and computer-readable recording medium of solid state hard disc subregion
CN110968253A (en) * 2018-09-29 2020-04-07 阿里巴巴集团控股有限公司 Data storage method, device and system
CN111240887A (en) * 2020-01-07 2020-06-05 苏州大学 Error page identification method based on three-dimensional flash memory storage structure

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1950792A (en) * 2004-07-12 2007-04-18 株式会社东芝 Storage device and host apparatus
CN101118516A (en) * 2006-07-31 2008-02-06 松下电器产业株式会社 Non-volatile storage device, data storage system, and data storage method
CN101458662A (en) * 2007-12-14 2009-06-17 创惟科技股份有限公司 Storage system and method for improving flash memory access efficiency
CN103294604A (en) * 2012-02-23 2013-09-11 三星电子株式会社 Flash memory device and electronic device employing thereof
CN106802777A (en) * 2017-01-20 2017-06-06 杭州电子科技大学 A kind of flash translation layer (FTL) control method for solid storage device
CN107665097A (en) * 2017-08-22 2018-02-06 深圳市硅格半导体股份有限公司 A kind of method, apparatus and computer-readable recording medium of solid state hard disc subregion
CN110968253A (en) * 2018-09-29 2020-04-07 阿里巴巴集团控股有限公司 Data storage method, device and system
CN111240887A (en) * 2020-01-07 2020-06-05 苏州大学 Error page identification method based on three-dimensional flash memory storage structure

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114415944A (en) * 2021-12-27 2022-04-29 深圳忆联信息系统有限公司 Solid state disk physical block management method and device, computer equipment and storage medium

Similar Documents

Publication Publication Date Title
CN105930282B (en) A kind of data cache method for NAND FLASH
CN109358809B (en) RAID data storage system and method
US8667209B2 (en) Non-volatile memory access method and system, and non-volatile memory controller
CN106802870B (en) high-efficiency Nor-Flash controller of embedded system chip and control method
US20130007370A1 (en) Method and apparatus for minimizing working memory contentions in computing systems
CN110377233B (en) SSD (solid State disk) reading performance optimization method and device, computer equipment and storage medium
US11157399B2 (en) Data storage devices and data processing methods with dynamic programming scheme
CN110362275B (en) Method for improving service quality of solid state disk and solid state disk
CN111324303A (en) SSD garbage recycling method and device, computer equipment and storage medium
KR20140006234A (en) Data storage device and operating method thereof
CN103559146A (en) Method for increasing reading and writing speeds of NAND flash controller
TWI437569B (en) Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof
US20170003911A1 (en) Information processing device
US9037781B2 (en) Method for managing buffer memory, memory controllor, and memory storage device
CN114063893A (en) Data storage device and data processing method
CN110389712B (en) Data writing method and device, solid state disk and computer readable storage medium
JP2023508676A (en) Memory manipulation considering wear leveling
CN109491592B (en) Storage device, data writing method thereof and storage device
CN108664217B (en) Caching method and system for reducing jitter of writing performance of solid-state disk storage system
CN112732182A (en) NAND data writing method and related device
US10007601B2 (en) Data storage device and operating method for flash memory
CN112783424B (en) Memory device and control method thereof
CN110119245B (en) Method and system for operating NAND flash memory physical space to expand memory capacity
CN108170380B (en) Method for improving sequential reading performance of solid state disk and solid state disk
WO2015118623A1 (en) Information processing device

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