CN112214172A - Encoding method and encoding device for QLC NAND - Google Patents
Encoding method and encoding device for QLC NAND Download PDFInfo
- Publication number
- CN112214172A CN112214172A CN202011085907.4A CN202011085907A CN112214172A CN 112214172 A CN112214172 A CN 112214172A CN 202011085907 A CN202011085907 A CN 202011085907A CN 112214172 A CN112214172 A CN 112214172A
- Authority
- CN
- China
- Prior art keywords
- coding
- units
- unit
- error detection
- decoding
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000012937 correction Methods 0.000 claims description 70
- 238000001514 detection method Methods 0.000 claims description 70
- 238000003860 storage Methods 0.000 claims description 31
- 238000009826 distribution Methods 0.000 claims description 10
- 230000015654 memory Effects 0.000 abstract description 41
- 230000002035 prolonged effect Effects 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 11
- 238000004590 computer program Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
The application provides a coding method and a coding device of QLC NAND. The QLC NAND comprises a word line and a plurality of coding and decoding units, wherein the word line comprises a plurality of pages, and the pages comprise a lower bit page, a middle bit page, an upper bit page and a highest bit page, and the coding method comprises the following steps: splitting each coding and decoding unit into four parts, namely a first coding and decoding unit, a second coding and decoding unit, a third coding and decoding unit and a fourth coding and decoding unit; the first coding and decoding units are distributed in a lower-order page, the second coding and decoding units are distributed in a middle-order page, the third coding and decoding units are distributed in an upper-order page, and the fourth coding and decoding units are distributed in a highest-order page. According to the scheme, the encoding and decoding unit is divided into four parts, and then the parts are distributed in the corresponding pages, so that the error ratio of data of any two pages is approximately equal, and the service life of the NAND flash memory medium is prolonged.
Description
Technical Field
The present application relates to the field of NAND coding, and in particular, to a coding method, a coding apparatus, a computer-readable storage medium, a processor, and a storage system for QLC NAND.
Background
With the wide application of non-volatile solid-state storage, solid-state storage devices are increasingly applied to various storage fields, and have replaced the dominant position of a traditional magnetic disk in the storage industry at present, and become the first choice of users. Non-volatile solid state memories have absolute advantages such as high performance, low power consumption, small size, large capacity, and better stability and reliability. However, it also has a very fatal drawback: such as service life. Particularly, with the continuous progress of semiconductor technology, the service life of NAND flash memory media is greatly reduced, and the number of times of erasing or writing is reduced from original tens of thousands of times to present hundreds of times from SLC (Single-level cell) media to QLC (Quad-level cell) media. Therefore, how to effectively solve the problem of the service life of the NAND solid-state storage device is a great challenge and technical direction for various large storage manufacturers. The conventional encoding method of the QLC NAND is a horizontal encoding method, as shown in fig. 1, a word line (WorldLine) of the QLC NAND has a plurality of pages (pages), which are respectively a Lower Page, a Middle Page, an Upper Page and a Top Page, AU0 to AU15 are encoding and decoding units, and ECC0 to ECC15 are Error detection and correction units, and due to the media characteristics, the life of each Page and the data Error ratio ber (bit Error ratio) are different, and the difference is very large, and varies from several times to several tens of times, and the difference becomes larger as the unit loss increases.
Therefore, the existing horizontal encoding method adopted by various manufacturers as shown in fig. 1 can cause great service life difference of NAND media, and in the same WorldLine, because BER of one page exceeds a set threshold, the whole World Line or even the whole Block (Block) must be abandoned. Therefore, the number of blocks of the storage device is rapidly reduced sharply until the whole storage device is exhausted and can not be used any more.
The above information disclosed in this background section is only for enhancement of understanding of the background of the technology described herein and, therefore, certain information may be included in the background that does not form the prior art that is already known in this country to a person of ordinary skill in the art.
Disclosure of Invention
The present application mainly aims to provide an encoding method, an encoding device, a computer-readable storage medium, a processor and a storage system for QLC NAND, so as to solve the problem of short lifetime of NAND flash memory medium in the prior art.
In order to achieve the above object, according to one aspect of the present application, there is provided an encoding method of a QLC NAND, the QLC NAND including a word line and a plurality of codec units, the word line including a plurality of pages including a lower-order page, a middle-order page, an upper-order page, and a highest-order page, the encoding method including: splitting each coding and decoding unit into four parts, namely a first coding and decoding unit, a second coding and decoding unit, a third coding and decoding unit and a fourth coding and decoding unit; distributing the first coding and decoding units in the lower-order pages, the second coding and decoding units in the middle-order pages, the third coding and decoding units in the upper-order pages and the fourth coding and decoding units in the highest-order pages.
Further, splitting each of the coding and decoding units into four parts includes: and averagely splitting each coding and decoding unit into four parts.
Further, the QLC NAND further includes a plurality of error detection and correction units, the number of the error detection and correction units being equal to the number of the codec units, and the encoding method further includes: the error detection and correction units are sequentially distributed before the fourth coding and decoding units, or the error detection and correction units are sequentially distributed after the fourth coding and decoding units.
Further, the QLC NAND further includes a plurality of error detection and correction units, the number of the error detection and correction units being equal to the number of the codec units, and the encoding method further includes: dividing each error detection and correction unit into four parts, namely a first error detection and correction unit, a second error detection and correction unit, a third error detection and correction unit and a fourth error detection and correction unit; the first error detection and correction unit is distributed after the first codec unit, the second error detection and correction unit is distributed after the second codec unit, the third error detection and correction unit is distributed after the third codec unit, and the fourth error detection and correction unit is distributed after the fourth codec unit.
Further, splitting each of the error detection and correction units into four parts includes: each of the error detection and correction units is split equally into four of the portions.
According to another aspect of the present application, there is provided an encoding apparatus of a QLC NAND including a word line and a plurality of codec units, the word line including a plurality of pages, the pages being a lower page, a middle page, an upper page, and a highest page, respectively, the encoding apparatus including: the splitting unit is used for splitting each coding and decoding unit into four parts, namely a first coding and decoding unit, a second coding and decoding unit, a third coding and decoding unit and a fourth coding and decoding unit; the distribution unit is used for distributing the first coding and decoding units in the lower-order pages, the second coding and decoding units in the middle-order pages, the third coding and decoding units in the upper-order pages and the fourth coding and decoding units in the highest-order pages.
Further, the splitting unit is further configured to split each of the coding and decoding units into four parts on average.
According to still another aspect of the present application, there is provided a computer-readable storage medium including a stored program, wherein the program, when executed, controls an apparatus in which the computer-readable storage medium is located to perform any one of the encoding methods for the QLC NAND.
According to another aspect of the present application, there is provided a processor for executing a program, wherein the program executes any one of the encoding methods for the QLC NAND.
According to still another aspect of the present application, there is provided a memory system including a QLC NAND; encoding means communicatively coupled to the QLC NAND, the encoding means configured to perform any of the methods.
By applying the technical scheme, the coding and decoding unit is divided into four parts, and then the parts are distributed in the corresponding pages, so that the error ratio of data of any two pages is approximately equal, the phenomenon that the whole word line cannot be used due to the fact that the error ratio of the data of one page is higher is avoided, and the service life of the NAND flash memory medium is prolonged.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this application, illustrate embodiments of the application and, together with the description, serve to explain the application and are not intended to limit the application. In the drawings:
FIG. 1 shows a diagram of a prior art encoding method for QLC NAND;
FIG. 2 shows a schematic encoding principle of a QLC NAND according to an embodiment of the present application;
FIG. 3 shows a flow chart of a method of encoding a QLC NAND according to an embodiment of the present application; and
FIG. 4 shows a QLC NAND encoding device schematic according to an embodiment of the application.
Detailed Description
It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict. The present application will be described in detail below with reference to the embodiments with reference to the attached drawings.
In order to make the technical solutions better understood by those skilled in the art, 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 only partial 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.
It should be noted that the terms "first," "second," and the like in the description and claims of this application and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It should be understood that the data so used may be interchanged under appropriate circumstances such that embodiments of the application described herein may be used. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
It will be understood that when an element such as a layer, film, region, or substrate is referred to as being "on" another element, it can be directly on the other element or intervening elements may also be present. Also, in the specification and claims, when an element is described as being "connected" to another element, the element may be "directly connected" to the other element or "connected" to the other element through a third element.
As described in the background, the related art method for encoding QLC NAND results in a low lifespan of NAND flash media, and to solve the above problem of low lifespan of NAND flash media, embodiments of the present application provide an encoding method for QLC NAND, an encoding device, a computer-readable storage medium, a processor, and a storage system.
According to an embodiment of the present application, there is provided an encoding method of a QLC NAND.
Fig. 3 is a flowchart of an encoding method of a QLC NAND according to an embodiment of the present application. The QLC NAND includes a word line and a plurality of codec units, the word line includes a plurality of pages, and the plurality of pages includes a lower page, a middle page, an upper page, and a highest page, as shown in fig. 3, the method includes the steps of:
step S101, splitting each coding and decoding unit into four parts, namely a first coding and decoding unit, a second coding and decoding unit, a third coding and decoding unit and a fourth coding and decoding unit;
step S102 is to distribute the first codec units in the lower page, the second codec units in the middle page, the third codec units in the upper page, and the fourth codec units in the highest page.
In the scheme, the coding and decoding unit is divided into four parts, and then the parts are distributed in the corresponding pages, so that the error ratio of data of any two pages is approximately equal, the phenomenon that the whole word line cannot be used due to the fact that the error ratio of the data of one page is high is avoided, and the service life of the NAND flash memory medium is prolonged.
It should be noted that the steps illustrated in the flowcharts of the figures may be performed in a computer system such as a set of computer-executable instructions and that, although a logical order is illustrated in the flowcharts, in some cases, the steps illustrated or described may be performed in an order different than presented herein.
In order to further prolong the life of the NAND flash memory medium, in an embodiment of the present application, splitting each of the codec units into four parts includes: and averagely splitting each coding and decoding unit into four parts.
In another embodiment of the present application, the QLC NAND further includes a plurality of error detection and correction units, the number of the error detection and correction units is equal to the number of the codec units, and the encoding method further includes: the error detection and correction units are sequentially distributed before the fourth codec units, or the error detection and correction units are sequentially distributed after the fourth codec units. The error detection and correction unit performs detection and correction of errors.
In another embodiment of the present application, the QLC NAND further includes a plurality of error detection and correction units, the number of the error detection and correction units is equal to the number of the codec units, and the encoding method further includes: dividing each error detection and correction unit into four parts, namely a first error detection and correction unit, a second error detection and correction unit, a third error detection and correction unit and a fourth error detection and correction unit; the first error detecting and correcting means is distributed after the first codec means, the second error detecting and correcting means is distributed after the second codec means, the third error detecting and correcting means is distributed after the third codec means, and the fourth error detecting and correcting means is distributed after the fourth codec means.
In another embodiment of the present application, splitting each of the error detection and correction units into four parts includes: each of the error detection and correction units is split equally into four of the above-mentioned parts. The detection and correction of errors are realized.
The embodiment of the present application further provides an encoding device for a QLC NAND, and it should be noted that the encoding device for a QLC NAND according to the embodiment of the present application may be used to execute the encoding method for a QLC NAND according to the embodiment of the present application. The following describes an encoding apparatus for QLC NAND according to an embodiment of the present application.
FIG. 4 is a schematic diagram of an encoding device for QLC NAND according to an embodiment of the present application. The QLC NAND includes a word line including a plurality of pages, which are a lower page, a middle page, an upper page, and a highest page, respectively, and a plurality of coding and decoding units, as shown in fig. 4, the apparatus includes:
a first splitting unit 10, configured to split each of the coding and decoding units into four parts, which are a first coding and decoding unit, a second coding and decoding unit, a third coding and decoding unit, and a fourth coding and decoding unit respectively;
a first distribution unit 20 configured to distribute the first codec unit in the lower-order page, the second codec unit in the middle-order page, the third codec unit in the upper-order page, and the fourth codec unit in the highest-order page.
In the scheme, the splitting unit splits the coding and decoding unit into four parts, and the first distribution unit distributes the parts in the corresponding pages, so that the error ratios of data of any two pages are approximately equal, the phenomenon that the whole word line cannot be used due to the fact that the error ratio of the data of one page is high is avoided, and the service life of the NAND flash memory medium is prolonged.
In yet another embodiment of the present application, the first splitting unit is further configured to split each of the coding and decoding units into four parts on average.
In another embodiment of the present application, the QLC NAND further includes a plurality of error detection and correction units, the number of the error detection and correction units being equal to the number of the codec units, and the encoding apparatus further includes a second distribution unit configured to sequentially distribute the plurality of error detection and correction units before the fourth codec units or sequentially distribute the plurality of error detection and correction units after the fourth codec units. The error detection and correction unit performs detection and correction of errors.
In yet another embodiment of the present application, the QLC NAND further includes a plurality of error detection and correction units, the number of the error detection and correction units being equal to the number of the codec units, and the encoding apparatus further includes a second splitting unit and a third distribution unit, the second splitting unit being configured to split each of the error detection and correction units into four parts, which are a first error detection and correction unit, a second error detection and correction unit, a third error detection and correction unit, and a fourth error detection and correction unit, respectively; the third distribution unit is configured to distribute the first error detection and correction unit after the first codec unit, distribute the second error detection and correction unit after the second codec unit, distribute the third error detection and correction unit after the third codec unit, and distribute the fourth error detection and correction unit after the fourth codec unit.
In another embodiment of the present application, splitting each of the error detection and correction units into four parts includes: each of the error detection and correction units is split equally into four of the above-mentioned parts. The detection and correction of errors are realized.
The encoding device of the QLC NAND comprises a processor and a memory, wherein the first splitting unit, the first distributing unit and the like are stored in the memory as program units, and the processor executes the program units stored in the memory to realize corresponding functions.
The processor comprises a kernel, and the kernel calls the corresponding program unit from the memory. One or more cores can be set, and the service life of the QLC NAND is prolonged by adjusting the parameters of the cores.
The memory may include volatile memory in a computer readable medium, Random Access Memory (RAM) and/or nonvolatile memory such as Read Only Memory (ROM) or flash memory (flash RAM), and the memory includes at least one memory chip.
The embodiment of the invention provides a computer-readable storage medium, which includes a stored program, and when the program runs, the apparatus where the computer-readable storage medium is located is controlled to execute the encoding method of the QLC NAND.
The embodiment of the invention provides a processor, wherein the processor is used for running a program, and the QLC NAND coding method is executed when the program runs.
The embodiment of the invention provides equipment, which comprises a processor, a memory and a program which is stored on the memory and can run on the processor, wherein when the processor executes the program, at least the following steps are realized:
step S101, splitting each coding and decoding unit into four parts, namely a first coding and decoding unit, a second coding and decoding unit, a third coding and decoding unit and a fourth coding and decoding unit;
step S102 is to distribute the first codec units in the lower page, the second codec units in the middle page, the third codec units in the upper page, and the fourth codec units in the highest page.
The device herein may be a server, a PC, a PAD, a mobile phone, etc.
The embodiment of the invention provides a storage system, which comprises a QLC NAND and an encoding device, wherein the encoding device is in communication connection with the QLC NAND, and is used for executing any one of the methods. The system splitting unit splits the coding and decoding unit into four parts, and the first distribution unit distributes the parts in the corresponding pages, so that the error ratio of data of any two pages is approximately equal, the phenomenon that the whole word line cannot be used due to the fact that the error ratio of data of one page is high is avoided, and the service life of the NAND flash memory medium is prolonged.
The present application further provides a computer program product adapted to perform a program of initializing at least the following method steps when executed on a data processing device:
step S101, splitting each coding and decoding unit into four parts, namely a first coding and decoding unit, a second coding and decoding unit, a third coding and decoding unit and a fourth coding and decoding unit;
step S102 is to distribute the first codec units in the lower page, the second codec units in the middle page, the third codec units in the upper page, and the fourth codec units in the highest page.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). The memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in the process, method, article, or apparatus that comprises the element.
Examples
The embodiment relates to a specific encoding method of QLC NAND. AU0 to AU15 in fig. 1 represent codec units, ECC0 to ECC15 represent error detection and correction units, and fig. 2 is a diagram in which AU0 to AU15 in fig. 1 are divided into four parts, AU0 is divided into AU01 to AU04, AU1 is divided into AU11 to AU14, AU15 is divided into AU151 to AU154, and ECC0 to ECC15 in fig. 2 are distributed after AU04 to AU154, but the coding method is not limited to that shown in fig. 2, and ECC0 to ECC15 may be distributed after AU01 to AU151, ECC0 to ECC15 is distributed after AU02 to AU152, and ECC0 to ECC15 is distributed after AU03 to AU 153.
Preferably, the AU0 to AU15 are equally divided into four parts, the coding and decoding unit is divided into four parts, and then the parts are distributed in corresponding pages, so that the error ratio of data of any two pages is approximately equal, the phenomenon that the whole word line cannot be used due to the fact that the error ratio of data of a certain page is high is avoided, and the service life of the NAND flash memory medium is prolonged.
From the above description, it can be seen that the above-described embodiments of the present application achieve the following technical effects:
1) according to the encoding method of the QLC NAND, the encoding and decoding unit is divided into four parts, and then the parts are distributed in the corresponding pages, so that the error ratio of data of any two pages is approximately equal, the phenomenon that the whole word line cannot be used due to the fact that the error ratio of the data of one page is high is avoided, and the service life of the NAND flash memory medium is prolonged.
2) The utility model provides a QLC NAND's coding device, the split unit is divided into four parts with the codec unit split, and first distribution unit distributes each part in the page that corresponds for the data proportion of makeing mistakes of arbitrary two pages is approximately equal, can not be higher because of the data proportion of makeing mistakes of a certain page, and lead to whole word line to be unable to use, and then prolonged the life-span of NAND flash memory medium.
3) According to the storage system, the splitting unit splits the coding and decoding unit into four parts, and the first distribution unit distributes the parts in the corresponding pages, so that the error ratio of data of any two pages is approximately equal, the situation that the whole word line cannot be used due to the fact that the error ratio of the data of a certain page is higher is avoided, and the service life of the NAND flash memory medium is prolonged.
The above description is only a preferred embodiment of the present application and is not intended to limit the present application, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims (10)
1. An encoding method of a QLC NAND, wherein the QLC NAND comprises a word line and a plurality of codec units, the word line comprises a plurality of pages, and the plurality of pages comprise a lower page, a middle page, an upper page and a highest page, the encoding method comprises:
splitting each coding and decoding unit into four parts, namely a first coding and decoding unit, a second coding and decoding unit, a third coding and decoding unit and a fourth coding and decoding unit;
distributing the first coding and decoding units in the lower-order pages, the second coding and decoding units in the middle-order pages, the third coding and decoding units in the upper-order pages and the fourth coding and decoding units in the highest-order pages.
2. The QLC NAND coding method of claim 1, wherein splitting each codec unit into four parts comprises:
and averagely splitting each coding and decoding unit into four parts.
3. The encoding method of a QLC NAND as claimed in claim 1, wherein the QLC NAND further comprises a plurality of error detection and correction units equal in number to the number of the codec units, the encoding method further comprising:
the error detection and correction units are sequentially distributed before the fourth coding and decoding units, or the error detection and correction units are sequentially distributed after the fourth coding and decoding units.
4. The encoding method of a QLC NAND as claimed in claim 1, wherein the QLC NAND further comprises a plurality of error detection and correction units equal in number to the number of the codec units, the encoding method further comprising:
dividing each error detection and correction unit into four parts, namely a first error detection and correction unit, a second error detection and correction unit, a third error detection and correction unit and a fourth error detection and correction unit;
the first error detection and correction unit is distributed after the first codec unit, the second error detection and correction unit is distributed after the second codec unit, the third error detection and correction unit is distributed after the third codec unit, and the fourth error detection and correction unit is distributed after the fourth codec unit.
5. The QLC NAND coding method of claim 4, wherein splitting each of the error detection and correction units into four parts comprises:
each of the error detection and correction units is split equally into four of the portions.
6. An encoding apparatus of a QLC NAND, the QLC NAND comprising a word line and a plurality of codec units, the word line comprising a plurality of pages, the pages being a lower page, a middle page, an upper page, and a highest page, respectively, the encoding apparatus comprising:
the splitting unit is used for splitting each coding and decoding unit into four parts, namely a first coding and decoding unit, a second coding and decoding unit, a third coding and decoding unit and a fourth coding and decoding unit;
the distribution unit is used for distributing the first coding and decoding units in the lower-order pages, the second coding and decoding units in the middle-order pages, the third coding and decoding units in the upper-order pages and the fourth coding and decoding units in the highest-order pages.
7. The encoding apparatus as claimed in claim 6, wherein the splitting unit is further configured to split each of the codec units into four parts on average.
8. A computer-readable storage medium, comprising a stored program, wherein when the program runs, the computer-readable storage medium controls an apparatus to execute the encoding method for the QLC NAND as claimed in any one of claims 1 to 5.
9. A processor, wherein the processor is configured to execute a program, wherein the program executes the encoding method for the QLC NAND as claimed in any one of claims 1 to 5.
10. A storage system, comprising:
QLC NAND;
encoding means communicatively coupled to the QLC NAND, the encoding means configured to perform the method of any of claims 1-5.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011085907.4A CN112214172A (en) | 2020-10-12 | 2020-10-12 | Encoding method and encoding device for QLC NAND |
CN202011602957.5A CN112506446B (en) | 2020-10-12 | 2020-12-29 | Flash memory coding method and coding device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011085907.4A CN112214172A (en) | 2020-10-12 | 2020-10-12 | Encoding method and encoding device for QLC NAND |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112214172A true CN112214172A (en) | 2021-01-12 |
Family
ID=74053618
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011085907.4A Withdrawn CN112214172A (en) | 2020-10-12 | 2020-10-12 | Encoding method and encoding device for QLC NAND |
CN202011602957.5A Active CN112506446B (en) | 2020-10-12 | 2020-12-29 | Flash memory coding method and coding device |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011602957.5A Active CN112506446B (en) | 2020-10-12 | 2020-12-29 | Flash memory coding method and coding device |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN112214172A (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8020060B2 (en) * | 2006-01-18 | 2011-09-13 | Sandisk Il Ltd | Method of arranging data in a multi-level cell memory device |
CN103098378B (en) * | 2010-09-15 | 2014-08-20 | 桑迪士克科技股份有限公司 | System and method of distributive ecc processing |
CN104217761B (en) * | 2013-05-31 | 2018-12-14 | 慧荣科技股份有限公司 | Data storage device and error correction method thereof |
US9343170B2 (en) * | 2014-06-24 | 2016-05-17 | Hgst Technologies Santa Ana, Inc. | Word-line inter-cell interference detector in flash system |
CN105788647B (en) * | 2014-12-26 | 2019-02-22 | 北京兆易创新科技股份有限公司 | A kind of error correction method and device of nonvolatile storage |
US10289313B2 (en) * | 2016-06-28 | 2019-05-14 | Intel Corporation | Method and apparatus for improving sequential reading in NAND flash |
-
2020
- 2020-10-12 CN CN202011085907.4A patent/CN112214172A/en not_active Withdrawn
- 2020-12-29 CN CN202011602957.5A patent/CN112506446B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN112506446A (en) | 2021-03-16 |
CN112506446B (en) | 2024-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11287984B2 (en) | Method and device for writing stored data into storage medium based on flash memory | |
CN107968810B (en) | Resource scheduling method, device and system for server cluster | |
KR102490899B1 (en) | Changing lockstep configuration dynamically | |
TW201526010A (en) | Method for performing error correction, and associated memory apparatus thereof and associated controller thereof | |
CN103513938A (en) | System expansion method and device of redundant array of independent disks (RAID) | |
US10929033B2 (en) | Allocating variable media types of memory devices in a memory system | |
US20190205212A1 (en) | Method and apparatus for storing data and method and apparatus for recovering data | |
US20150310920A1 (en) | Storage device, memory controller and memory control method | |
CN107729174B (en) | Memory device, method of storing data thereof, and controller thereof | |
US20200401353A1 (en) | Resource allocation in memory systems based on operation modes | |
CN103713857A (en) | Data storage method and storage device | |
CN112214172A (en) | Encoding method and encoding device for QLC NAND | |
CN111399780B (en) | Data writing method, device and equipment | |
US20180373746A1 (en) | Table partition configuration method, apparatus and system for database system | |
CN114896326A (en) | Method and device for importing large-data-volume text file into database | |
WO2020238653A1 (en) | Encoding method in distributed system environment, decoding method in distributed system environment, and corresponding apparatuses | |
US20220043588A1 (en) | Localized memory traffic control for high-speed memory devices | |
CN110032446B (en) | Method and device for allocating memory space in embedded system | |
CN110377262B (en) | Data storage method and device, storage medium and processor | |
US20180150237A1 (en) | Electronic device and page merging method therefor | |
US10628061B2 (en) | Systems and methods for rebalancing striped information across multiple storage devices | |
CN111951860A (en) | Nonvolatile memory write processing method and device | |
CN110634525B (en) | Nonvolatile memory processing method and device | |
US11829623B2 (en) | Using incomplete super blocks for increased write performance | |
CN110634521B (en) | Nonvolatile memory processing method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210112 |