CN109783001A - Data-encoding scheme, data decoding method and storage control - Google Patents

Data-encoding scheme, data decoding method and storage control Download PDF

Info

Publication number
CN109783001A
CN109783001A CN201711114340.7A CN201711114340A CN109783001A CN 109783001 A CN109783001 A CN 109783001A CN 201711114340 A CN201711114340 A CN 201711114340A CN 109783001 A CN109783001 A CN 109783001A
Authority
CN
China
Prior art keywords
data
verify
error checking
initial
initial data
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.)
Granted
Application number
CN201711114340.7A
Other languages
Chinese (zh)
Other versions
CN109783001B (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.)
Shenzhen Da Xin Electronic Technology Co Ltd
Original Assignee
Shenzhen Da Xin Electronic 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 Shenzhen Da Xin Electronic Technology Co Ltd filed Critical Shenzhen Da Xin Electronic Technology Co Ltd
Priority to CN201711114340.7A priority Critical patent/CN109783001B/en
Publication of CN109783001A publication Critical patent/CN109783001A/en
Application granted granted Critical
Publication of CN109783001B publication Critical patent/CN109783001B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The present invention provides a kind of data-encoding scheme, data decoding method and storage control.The coding method includes that the verify data of corresponding initial data is obtained according to write instruction;The verify data is added to the initial data, and data after being upset accordingly;Encoding operation is executed to data after the upset, to obtain codeword data.The coding/decoding method includes executing decoding operate to codeword data, has decoded codeword data to obtain, and obtains upset preceding data accordingly;Identify the verify data and initial data before the upset in data;One or more the first system data of the initial data are corresponded to according to reading instruction identification;Judge whether the initial data is correct with the verify data via one or more described the first system data of comparison.

Description

Data-encoding scheme, data decoding method and storage control
Technical field
The present invention relates to a kind of data-encoding scheme and data decoding methods, more particularly to one kind to be suitable for being configured with and can answer Write the data-encoding scheme, data decoding method and storage control of the storage device of formula non-volatile memory module.
Background technique
Digital camera, mobile phone and MP3 player are very rapid in growth over the years, so that consumer is to storage The demand of media also rapidly increases.Since reproducible nonvolatile memorizer module (for example, flash memory) has data It is non-volatile, power saving, small in size, and without characteristics such as mechanical structures, so being very suitable to be built into above-mentioned illustrated various In portable multimedia device.
In general, the correctness of the data stored in order to ensure reproducible nonvolatile memorizer module is being incited somebody to action A certain data are stored to before reproducible nonvolatile memorizer module, this data can be first encoded.Data (packet after coding Containing initial data and error correcting code) it can be stored in reproducible nonvolatile memorizer module.Backward, the number after coding According to that can be read and be decoded from reproducible nonvolatile memorizer module, to correct wherein mistake that may be present. Previous error correcting code uses algebraic decoding algorithms more, such as (BCH code), and probability decoding algorithm at present, such as low-density parity Check code (low density parity code, hereinafter also referred to LDPC), then gradually mature.LDPC coder/decoder can make It is encoded with a sparse matrix (sparse matrix) and iterative decoding.However, some special error in data the case where Under, the data after the successfully decoded of LDPC coder/decoder club passback are but still mistake.Above-mentioned responded successfully decoded Data itself be still the phenomenon of mistake and can be described as approximate code word (Near Codeword) phenomenon, and the data can claim For approximate code word.Above-mentioned approximation code word phenomenon may also appear in the coder/decoder using other algorithms.
It, can be before initial data be encoded, to original in traditional practice in order to solve the problems, such as this approximate code word Beginning data carry out cyclic redundancy check (Cyclic redundancy check, CRC) operation to obtain corresponding cyclic redundancy school Code is tested, and is appended to initial data, then is performed the encoding operation via coder/decoder.It thereafter, can be superfluous by recycling Whether remaining check code is correct come the data for checking successfully decoded that coder/decoder is responded.
However, whether executing cyclic redundancy check operation or cyclic redundancy check code itself, can all need additionally to consume The additional calculation resources of charge system or space.Therefore, it is whether correct that decoded data how is verified with more advanced mode, To solve the problems, such as approximation code word and promote the accuracy of coding/decoding operation, and then promote asking Ding Du and imitating for storage device Rate, thus field technical staff subject under discussion of concern.
Summary of the invention
The present invention provides a kind of data-encoding scheme, data decoding method and storage control, can be intended to encode according to correspondence The known verify datas of data the data are performed the encoding operation.Also, using to known to desire target data Verify data, it is whether correct to verify decoded data manipulation.
One embodiment of the invention, which provides, to be suitable for encoding the original for being intended to store to reproducible nonvolatile memorizer module A kind of data-encoding scheme of beginning data, wherein the reproducible nonvolatile memorizer module has multiple solid elements, And each solid element of the multiple solid element includes multiple entity subelements, and plurality of physical address is configured To the multiple entity subelement.The method includes starting to execute write instruction, wherein institute is written in said write instruction instruction State one or more the target entity addresses of initial data into the multiple physical address;It is corresponded to according to said write instruction The verify data of the initial data;Adding the verify data to the initial data becomes data before upset;It is disturbed to described Data, which execute, before unrest upsets operation, with data after being upset;Encoding operation is executed to data after the upset, to obtain code word Data;And after obtaining the codeword data, the codeword data is written to one or more described target entity addresses, with complete The execution instructed at said write.
One embodiment of the invention is provided for decoding the code word being stored in reproducible nonvolatile memorizer module A kind of data decoding method of data, wherein the reproducible nonvolatile memorizer module has multiple solid elements, and And each solid element of the multiple solid element includes multiple entity subelements, plurality of physical address is configured to The multiple entity subelement.It instructs the method includes starting to execute to read instruction, and according to the reading from described more Read the codeword data in one or more target entity addresses in a physical address;Decoding behaviour is executed to the codeword data Make, has decoded codeword data to obtain;Unscrambling operation is executed to the codeword data that decoded, upsets preceding data to obtain; Identify the verify data and initial data before the upset in data;The initial data is corresponded to according to the reading instruction identification One or more the first system data;Via one or more described the first system data of comparison and the verify data to judge Whether correct initial data is stated, wherein determining the original if the verify data is equal to one or more described the first system data Beginning data are correct;And when it is correct for determining the initial data, determines the codeword data successfully decoded, transmit the original Beginning data, to complete the execution for reading instruction.
One embodiment of the invention is provided to be filled for controlling the storage configured with reproducible nonvolatile memorizer module A kind of storage control set, wherein the reproducible nonvolatile memorizer module has multiple solid elements, wherein institute Stating reproducible nonvolatile memorizer module has multiple solid elements, and each entity of the multiple solid element Unit includes multiple entity subelements, and plurality of physical address is configured to the multiple entity subelement.The storage control Device processed includes memory interface control circuit, error checking and correcting circuit and processor.Memory interface control circuit to It is coupled to the reproducible nonvolatile memorizer module.Error checking and correcting circuit to encode be intended to store to it is described can The initial data of manifolding formula non-volatile memory module.Processor is coupled to the memory interface control circuit and the mistake Erroneous detection is looked into and correcting circuit.The processor executes write instruction to start, and the initial data is sent to the mistake Check and correcting circuit, wherein said write instruction instruction be written the initial data into the multiple physical address one or Multiple target entity addresses.The error checking and correcting circuit are to instruct the corresponding original number of acquisition according to said write According to verify data, wherein the error checking and correcting circuit more to add the verify data to the initial data at Data before being upset for one, wherein the error checking and correcting circuit are more grasped to execute a upset to data before the upset Make, to obtain data after a upset.In addition, the error checking and correcting circuit are more to execute volume to data after the upset Code operation to obtain codeword data, and responds the processor and corresponds to the codeword data of initial data warp knit Code is completed, wherein the processor is more to be written the codeword data to one or more described target entity addresses, to complete The execution of said write instruction.
One embodiment of the invention is provided to be filled for controlling the storage configured with reproducible nonvolatile memorizer module A kind of storage control set, wherein the reproducible nonvolatile memorizer module has multiple solid elements, wherein institute Stating reproducible nonvolatile memorizer module has multiple solid elements, and each entity of the multiple solid element Unit includes multiple entity subelements, and plurality of physical address is configured to the multiple entity subelement.The storage control Device processed includes memory interface control circuit, error checking and correcting circuit and processor.Memory interface control circuit to It is coupled to the reproducible nonvolatile memorizer module.Error checking and correcting circuit described can be answered for decoding to be stored in Write the codeword data in formula non-volatile memory module.Processor is coupled to the memory interface control circuit and the mistake Erroneous detection is looked into and correcting circuit.The processor reads instruction to start to execute, and is instructed according to the reading from the multiple reality The codeword data is read in one or more target entity addresses in body address, and the codeword data is sent to the mistake Erroneous detection is looked into and correcting circuit.The error checking and correcting circuit are to execute decoding operate to the codeword data, to obtain Codeword data is decoded, wherein the error checking and correcting circuit are more to execute solution upset to the codeword data that decoded Operation upsets preceding data to obtain.In addition, the error checking and correcting circuit are more to identify before the upset in data Verify data and initial data, wherein the error checking and correcting circuit are more to according to the corresponding institute of the reading instruction identification One or more the first system data of initial data are stated, wherein the error checking and correcting circuit are more to described via comparing One or more the first system data judge whether the initial data is correct with the verify data, wherein if the verifying number According to one or more described the first system data are equal to, the error checking determines that the initial data is correct with correcting circuit.When When determining that the initial data is correct, the error checking and correcting circuit determine the codeword data successfully decoded, transmission The initial data, and respond the processor and correspond to the initial data of the codeword data successfully decoded, with Complete the execution for reading instruction.
Based on above-mentioned, data-encoding scheme, data decoding method provided by the embodiment of the present invention and storage control, In encoding operation, verify data can be obtained according to the write instruction of corresponding initial data, with additional authentication data to original Data execute encoding operation again, and do not need attached cyclic redundancy check code to initial data, and then reduce whole code word The consuming space of data.In addition, in decoding operate, can according to the reading instruction identification of corresponding codeword data one or more first System data, and original obtained after decoding is judged according to one or more described the first system data and the verify data Whether beginning data are correct.In particular, above-mentioned coding/decoding operation can save consuming in the money of cyclic redundancy check code operation Source/calculation amount.In this way, which decoded data can still be checked in the case where not needing via cyclic redundancy check code It is whether correct, so can solve the problems, such as approximate code word and the storage device that is enhanced in the case where saving resource encode/ The whole efficiency of decoding data.
To make the foregoing features and advantages of the present invention clearer and more comprehensible, special embodiment below, and it is detailed to cooperate attached drawing to make Carefully it is described as follows.
Detailed description of the invention
Fig. 1 is the block schematic diagram of host system shown by an embodiment according to the present invention and storage device;
Fig. 2 is that coding/decoding performed by error checking circuit shown by an embodiment according to the present invention operates Schematic diagram;
Fig. 3 A is the schematic diagram that the initial data of codeword data is encoded as according to one embodiment of the invention;
Fig. 3 B is the schematic diagram that the codeword data of initial data is decoded as according to one embodiment of the invention;
Fig. 4 A is the flow chart of the data-encoding scheme according to one embodiment of the invention;
Fig. 4 B is the flow chart of the step S42 in Fig. 4 A according to one embodiment of the invention;
Fig. 5 A is the flow chart of the data decoding method according to one embodiment of the invention;
Fig. 5 B is the flow chart of the step S55 in Fig. 5 A according to one embodiment of the invention.
Drawing reference numeral explanation:
10: host system
20: storage device
110,211: processor
120: mainframe memory
130: data transmission interface circuit
210: storage control 212: data transfer management circuit
213: memory interface control circuit
214: error checking and correcting circuit
220: reproducible nonvolatile memorizer module
230: connecting interface circuit
2140: inspection unit
2141: disarrangement device
2142: descrambler
2143: encoder
2144: decoder
2145:CRC (cyclic redundancy checker)
A10, A11, A12, A13, A20, A21, A22, A23: arrow
RD1, RD2: initial data
CD1, CD2: codeword data
VD1, VD2: verify data
RVD1, RVD2: data before upsetting
RVSD1, RVSD2: data after upset
ECC1, ECC2: error checking and correcting code
S41, S42, S43, S44, S45, S46: the process step of data-encoding scheme
S421, S423, S425: the process step of step S42
S51, S52, S53, S54, S55, S56, S57: the process step of data decoding method
S551, S553, S555: the process step of step S55
Specific embodiment
In the present embodiment, storage device includes reproducible nonvolatile memorizer module (rewritable non- Volatile memory module) and storage controller (also referred to as, storage control or storage control circuit).In addition, Storage device is used together with host system, so that host system can write data into storage device or from storage device Read data.
Fig. 1 is the block schematic diagram of host system shown by an embodiment according to the present invention and storage device.
Fig. 1 is please referred to, host system (Host System) 10 includes processor (Processor) 110, mainframe memory (Host Memory) 120 and data transmission interface circuit (Data Transfer Interface Circuit) 130.In this reality It applies in example, the coupling of data transmission interface circuit 130 (also referred to as, being electrically connected) to processor 110 and mainframe memory 120.Another In one embodiment, system bus is utilized between processor 110, mainframe memory 120 and data transmission interface circuit 130 (System Bus) is coupled to each other.
Storage device 20 includes storage control (Storage Controller) 210, duplicative non-volatile memories Device module (Rewritable Non-Volatile Memory Module) 220 and connecting interface circuit (Connection Interface Circuit)230.Wherein, storage control 210 includes processor 211, data transfer management circuit (Data Transfer Management Circuit) 212 and memory interface control circuit (Memory Interface Control Circuit)213。
In the present embodiment, host system 10 is connect by data transmission interface circuit 130 and the connection of storage device 20 Mouth circuit 230 is coupled to storage device 20 to carry out the accessing operation of data.It is connect for example, host system 10 can be transmitted via data Data are stored to storage device 20 or read data from storage device 20 by mouth circuit 130.
In the present embodiment, processor 110, mainframe memory 120 and data transmission interface circuit 130 may be provided at host On the motherboard of system 10.The number of data transmission interface circuit 130 can be one or more.Pass through data transmission interface circuit 130, motherboard can be coupled to storage device 20 via wired or wireless way.Storage device 20 can be for example portable disk, deposit Card storage, solid state hard disk (Solid State Drive, SSD) or radio memory storage device.Radio memory storage device can E.g. close range wireless communication (Near Field Communication, NFC) memory storage apparatus, radio facsimile (WiFi) memory storage apparatus, bluetooth (Bluetooth) memory storage apparatus or low-power consumption bluetooth memory storage apparatus The memory storage apparatus based on various wireless communication technique such as (for example, iBeacon).In addition, motherboard can also lead to It crosses system bus and is coupled to global positioning system (Global Positioning System, GPS) module, network interface card, nothing The various I/O device such as line transmitting device, keyboard, screen, loudspeaker.
In the present embodiment, data transmission interface circuit 130 and connecting interface circuit 230 are to be compatible to high-speed peripheral part The interface electricity of connecting interface (Peripheral Component Interconnect Express, PCI Express) standard Road.It also, is to utilize flash non-volatile memory interface between data transmission interface circuit 130 and connecting interface circuit 230 Standard (Non-Volatile Memory express, NVMe) communications protocol carries out the transmission of data.
However, it is necessary to be appreciated that, the invention is not limited thereto, data transmission interface circuit 130 and connecting interface circuit 230 It is also possible to meet advanced attachment (Parallel Advanced Technology Attachment, PATA) standard, electricity arranged side by side Gas and Electronic Engineering Association (Institute of Electrical and Electronic Engineers, IEEE) 1394 The advanced attachment of standard, sequence (Serial Advanced Technology Attachment, SATA) standard, universal sequence are total Line (Universal Serial Bus, USB) standard, SD interface standard, a ultrahigh speed generation (Ultra High Speed-I, UHS-I) interface standard, two generation of ultrahigh speed (Ultra High Speed-II, UHS-II) interface standard, memory stick (Memory Stick, MS) interface standard, multi-chip package (Multi-Chip Package) interface standard, multimedia storage card (Multi Media Card, MMC) interface standard, eMMC interface standard, general flash memory (Universal Flash Storage, UFS) interface standard, eMCP interface standard, CF interface standard, integrated driving electrical interface (Integrated Device Electronics, IDE) standard or other suitable standards.In addition, in another embodiment, connecting interface circuit 230 can be with Storage control 210 is encapsulated in a chip or connecting interface circuit 230 is to be laid in one to include storage control 210 Chip outside.
In the present embodiment, mainframe memory 120 is configured to temporarily store instruction performed by processor 110 or data.For example, In this exemplary embodiment, mainframe memory 120 can be dynamic random access memory (Dynamic Random Access Memory, DRAM), static random access memory (Static Random Access Memory, SRAM) etc..However, it is necessary to It is appreciated that, the invention is not limited thereto, and mainframe memory 120 is also possible to other suitable memories.
Storage control 210 is to execute with the multiple logic gates or control instruction of hardware pattern or firmware pattern implementation simultaneously And carried out in reproducible nonvolatile memorizer module 220 according to the instruction of host system 10 data write-in, read with It the running such as erases.
In more detail, the processor 211 in storage control 210 is the hardware for having operational capability, to control The overall operation of storage control 210.Specifically, processor 211 has multiple control instructions, and transports in storage device 20 When making, the runnings such as these control instructions can be performed to carry out the write-in of data, read and erase.
It is noted that in the present embodiment, processor 110 and processor 211 are, for example, central processing unit The place of (Central Processing Unit, CPU), microprocessor (micro-processor) or other programmables Manage unit (Microprocessor), digital signal processor (Digital Signal Processor, DSP), programmable Controller, special application integrated circuit (Application Specific Integrated Circuits, ASIC), can program Change logic device (Programmable Logic Device, PLD) or other similar circuit element, the present invention is not limited thereto.
In one embodiment, storage control 210 also has read-only memory (not shown) and random access memory (not Display).In particular, this read-only memory has boot code (boot code), and when storage control 210 is enabled, place Reason device 211 can first carry out the control instruction that this boot code will be stored in reproducible nonvolatile memorizer module 220 and carry Enter into the random access memory of storage control 210.Later, processor 211 can operate these control instructions to be counted According to write-in, the running such as read and erase.In another embodiment, the control instruction of processor 211 can also be with procedure code pattern It is stored in the specific region of reproducible nonvolatile memorizer module 220, for example, reproducible nonvolatile memorizer module It is exclusively used in 220 in the entity storage unit of storage system data.
In the present embodiment, as described above, storage control 210 further includes that data transfer management circuit 212, memory connect Mouth control circuit 213 and error checking and correcting circuit 214.It should be noted that behaviour performed by each component of storage control 220 Also it can be considered operation performed by storage control 220.
Wherein, data transfer management circuit 212 is coupled to processor 211, memory interface control circuit 213 connects with connection Mouth circuit 230.Data transfer management circuit 212 carries out the transmission of data to receive the instruction of processor 211.For example, through Data are read from host system 10 (e.g., mainframe memory 120) by connecting interface circuit 230, and read data are passed through By the write-in of memory interface control circuit 213 into reproducible nonvolatile memorizer module 220 (e.g., according to from host The write instruction of system 10 carries out write operation).In another example non-from duplicative via memory interface control circuit 213 Data are read in one or more solid elements of volatile 220, and (data are readable to be derived from one or more solid elements In one or more storage units/entity subelement), and by read data via connecting interface circuit 230 be written extremely (behaviour e.g., is read out according to the reading instruction from host system 10 in host system 10 (e.g., mainframe memory 120) Make).In another embodiment, data transfer management circuit 212 can also be integrated into processor 211.
Instruction of the memory interface control circuit 213 to receive processor 211 cooperates data transfer management circuit 212 To carry out write-in (also referred to as, sequencing, Programming) operation, the reading for reproducible nonvolatile memorizer module 220 Extract operation or operation of erasing.
For example, write instruction sequence (or 211 designation date transfer management circuit of processor can be performed in processor 211 212 send write instruction sequence to memory interface control circuit 213), to indicate memory interface control circuit 213 by data One or more physical address (also referred to as, target entity address) into reproducible nonvolatile memorizer module 220 are written;Place The executable reading instruction sequence of reason device 211 (or 211 designation date transfer management circuit 212 of processor sends and reads instruction sequence To memory interface control circuit 213), to indicate memory interface control circuit 213 from type nonvolatile Data are read in corresponding one or more physical address (also referred to as, target entity address) for reading instruction of module 220;Processor 211 executable instruction sequences of erasing (or the transmission of 211 designation date transfer management circuit 212 of processor erases instruction sequence to depositing Memory interface control circuit 213), to indicate memory interface control circuit 213 to reproducible nonvolatile memorizer module 220 carry out operation of erasing.Write instruction sequence reads instruction sequence and instruction sequence of erasing can distinctly include one or more programs Code or instruction code and to indicate to execute reproducible nonvolatile memorizer module 220 corresponding write-in, read and It the operation such as erases.In one embodiment, processor 211 can also assign other kinds of instruction sequence and control to memory interface Circuit 213, to execute corresponding operation to reproducible nonvolatile memorizer module 220.
In addition, being intended to be written to the data of reproducible nonvolatile memorizer module 220 can control via memory interface Circuit 213 is converted to the 220 receptible format of institute of reproducible nonvolatile memorizer module.Specifically, if processor 211 Reproducible nonvolatile memorizer module 220 is accessed, processor 211 can transmit corresponding instruction sequence to memory interface Control circuit 213 is to indicate that memory interface control circuit 213 executes corresponding operation.For example, these instruction sequences may include The instruction of erasing for data that the write instruction sequence of instruction write-in data, instruction read the reading instruction sequence of data, instruction is erased Sequence and the corresponding finger to indicate various storage operations (e.g., garbage collection operation, loss balancing operation etc.) Enable sequence.These instruction sequences may include one or more signals, or the data in bus.These signals or data may include Instruction code or procedure code.For example, will include the information such as identification code, the storage address of reading in reading instruction sequence.
Fig. 2 is that coding/decoding performed by error checking circuit shown by an embodiment according to the present invention operates Schematic diagram.Referring to figure 2., in the present embodiment, error checking and correcting circuit 214 include inspection unit (checking Unit) 2140, disarrangement device (scrambler) 2141, descrambler (descrambler) 2142, encoder (encoder) 2143 With decoder (decoder) 2144.In another embodiment, error checking and correcting circuit 214 further include cyclic redundancy check Device (Cyclic Redundancy Checker, CRC) 2145.
In the present embodiment, inspection unit 2140, encoder 2143 and decoder 2144 are come in a manner of hardware circuit Implementation.It should be noted that in one embodiment, disarrangement device 2141 can be integrated into a upset/solution with descrambler 2142 and upset Device (scrambler/descrambler), and encoder 2143 can integrate a coder/decoder with decoder 2144.This Outside, in another embodiment, disarrangement device 2141 can also be integrated into encoder 2143, and descrambler 2142 can also be integrated into In decoder 2144.
Error checking ensures to be stored in duplicative non-with correcting circuit 214 to execute error checking and correction program Data (also referred to as, code word/codeword data, codeword/codeword data) in volatile 220 it is correct Property.The error checking and correction program can divide into (1) again and initial data compiled the coded program (coding that seal character is codeword data Operation), and codeword data is decoded as the decoding program (decoding operate) of initial data by (2).
In coded program, inspection unit 2140 is to the additional verify data for corresponding to initial data to initial data;It disturbs Random device 2141 has upset data to carry out upset operation to received data, with output;Encoder 2143 is will be connect The data (e.g., having upset data) of receipts perform the encoding operation, and are formed with additional error inspection and correcting code to received data For codeword data.
In decoding program, decoder 2144 received data (e.g., codeword data) is decoded operation, with According to error checking therein and correcting code to decode/correct received codeword data, and then output data (e.g., has been upset Data) give descrambler 2142;Descrambler 2142 is received to carry out unscrambling operation to received data with reduction Data be upset preoperative data (data before also referred to as, upsetting);Inspection unit 2140 is to according to correspondence code number of words Received data is examined (e.g., to upset according to the verify data of (or expected by initial data obtained by decoding program) Preceding data), and then determine whether the codeword data is correctly decoded as initial data.The verify data can be metadata (metadata), system data (system data) or other given datas.
In the present embodiment, encoder 2143 and algorithm used in decoder 2144 are identical algorithm.The algorithm For example, low-density parity check code (low density parity code, LDPC) algorithm.However, in another embodiment, Algorithm used in encoder 2143 and decoder 2144 is also possible to BCH code, convolution code (convolutional code), whirlpool Take turns the coding/decodings algorithms such as code (turbo code), bit overturning (bit flipping).
It should be noted that above-mentioned inspection unit 2140 can also be integrated into processor 211, that is, processor 211 can have The function of inspection unit 2140, error checking is sent to again with additional authentication data to initial data and correcting circuit 214 come into Row encoding operation, or after error checking and the reception initial data of correcting circuit 214, via the system data of corresponding initial data Check whether initial data obtained is correct with verify data.Error checking and school can be described in detail by multiple attached drawings below The function and Collaboration mode of each element in positive circuit 214.
Reproducible nonvolatile memorizer module 220 is coupled to 210 (memory interface control circuit of storage control 213) data and to host system 10 being written.Reproducible nonvolatile memorizer module 220 can be list Rank storage unit (Single Level Cell, SLC) NAND type flash memory module in a storage unit (that is, can store The flash memory module of 1 bit), multi-level cell memory (Multi Level Cell, MLC) NAND type flash memory mould Block (that is, flash memory module that 2 bits can be stored in a storage unit), three rank storage unit (Triple Level Cell, TLC) NAND type flash memory module be (that is, can store the flash memory mould of 3 bits in a storage unit Block), three dimensional NAND type flash memory module (3D NAND flash memory module) or vertical nand type flash Other flash memory modules such as device module (Vertical NAND flash memory module) or other with identical spy The memory module of property.Storage unit in reproducible nonvolatile memorizer module 220 is to be arranged in array fashion.
In the present embodiment, multiple storage units of reproducible nonvolatile memorizer module 220 can constitute multiple realities Body programmed cell (also referred to as, entity subelement), and (also referred to as, these entity program units can constitute multiple physical blocks Entity erased cell or solid element).Specifically, the storage unit meeting on same word-line (or same word-line layer) Form one or more entity program units.It is single to the multiple entity that multiple physical address can be respectively configured in processor 211 Member.
It in the examples below, is using storage unit as the minimum unit that (sequencing) data are written.Solid element is The minimum unit erased, that is, each solid element contains the storage unit of minimal amount being erased together.In addition, entity list Member is physical blocks, and entity subelement is physical page, and ground of each physical address to refer to corresponding physical page Location.
It should be noted that in the present embodiment, can be described as entity to record the system data of information of a solid element Unit information, and it can be recorded using one or more entity subelements in the solid element, or utilize a system It is recorded in area to record one or more entity subelements of the special entity unit of all system datas.In the present embodiment In, the solid element information includes time numerical value (Program erase cycle, PEC), timestamp of erasing of the solid element Remember (Timestamp), reading times value (Read counter value), solid element index code (Physical Unit The information such as Index).In more detail, it when processor 211, which erase to a solid element, to be operated, smears described in the completion After operation, processor 211 can add 1 to time numerical value of erasing for currently corresponding to the solid element, and (e.g., erasing time numerical value can be with every Secondary erasing is operated and is added up since 0).That is, time numerical value of erasing can reflect being erased for solid element corresponding to it The summation of number.The time stab is to indicate that corresponding solid element stores the time of the first stroke data therein.Time The size (numerical value difference) of stamp can be used to indicate the sequencing of time.The present invention does not limit the detailed of the time stab Format.The total degree that the reading times value is read to count corresponding solid element.The solid element index code is used To represent the unique identification code of corresponding solid element, processor 211 can identify that its institute is right according to solid element index code The solid element answered and relevant data.
Storage control 210 can configure multiple logic units to reproducible nonvolatile memorizer module 220.Host system System 10 is the logic unit by being configured to access the user's data being stored in multiple solid elements.Here, each Logic unit can be to be made of one or more logical addresses.For example, logic unit can be logical blocks (Logical Block), logical page (LPAGE) (Logical Page) or logic sector (Logical Sector).One logic unit can be Map to one or more solid elements, wherein solid element can be one or more physical address, one or more entities fan, one or Multiple entity program units or one or more entity erased cells.In the present embodiment, logic unit is logical blocks, and And logical subunit is logical page (LPAGE).Each logic unit has multiple logical subunits.
In addition, storage control 210, which can establish logic, turns physical address mapping table (Logical To Physical Address mapping table) with entity turn logical address mapping table (Physical To Logical address Mapping table), to record logic unit (e.g., the logic area for being allocated to reproducible nonvolatile memorizer module 220 Block, logical page (LPAGE) or logic sector) with solid element (e.g., entity erased cell, entity program unit, entity sector) between Mapping relations.In other words, storage control 210 can be turned physical address mapping table by logic and be reflected to search a logic unit The solid element penetrated, and storage control 210 can be turned logical address mapping table by entity and be reflected to search a solid element The logic unit penetrated.However, the above-mentioned technological concept in relation to logic unit and solid element mapping is those skilled in the art's Conventional techniques are repeated no more in this.
In one embodiment, storage control 210 further includes buffer storage and electric power management circuit.Buffer storage is Be coupled to processor 211 and be configured to temporarily store data from host system 10 with instruction, it is non-volatile from duplicative The data of property memory module 220 or other system datas to managing storage 20, to allow processor 211 can be rapidly The data, instruction or system data are accessed from buffer storage.Electric power management circuit is coupled to processor 211 and uses To control the power supply of storage device 20.
Fig. 3 A is the schematic diagram that the initial data of codeword data is encoded as according to one embodiment of the invention. Fig. 4 A is the flow chart of the data-encoding scheme according to one embodiment of the invention.Referring to Fig. 2, Fig. 3 A, figure 4A, in step S41, processor 211 starts to execute write instruction, and wherein the initial data is written in said write instruction instruction To one or more target entity addresses in the multiple physical address.
For example, in this example, it is assumed that host system 10 sends write instruction and initial data RD1 to processor 211, and write instruction instruction stores the initial data RD1 to one or more logical addresses (also referred to as, target logic Location).It is instructed according to said write, processor 211 can be from all available realities of reproducible nonvolatile memorizer module 220 One or more physical address (also referred to as, target entity address) are selected to store the initial data RD1 in body address.Processor 211 can send initial data RD1 to error checking and correcting circuit 214 to start to carry out the coding for initial data RD1 Program (arrow A10 as shown in Figure 2).
Then, after receiving the initial data RD1, in step S42, inspection unit 2140 is instructed from said write The middle verify data VD1 for obtaining the corresponding initial data.That is, inspection unit 2140 can directly be read from write instruction The verify data VD1 of the corresponding initial data.The verify data VD1 can be for store the one or more of initial data RD1 A destination logical address.Below by way of Fig. 4 B, the details of the step S42 and verify data VD1 is more described in detail.
Fig. 4 B is the flow chart of the step S42 in Fig. 4 A according to one embodiment of the invention.B referring to figure 4., In the present embodiment, in step S421, the corresponding initial data of identification from said write instruction of inspection unit 2140 Multiple the first system data.In the present embodiment, write instruction includes multiple the first system data, and instruction narration.It is described The first system data include one or more destination logical address to store initial data RD1;To store initial data RD1 One or more target entity addresses;And the solid element information of the target entity unit to store initial data RD1.It is real Body unit information has been illustrated as above, is repeated no more in this.Above-mentioned the first system data can have respective data length respectively.This Outside, the processor 211 can know that said write instruction is intended to original number according to the information for the instruction narration that said write instructs According to write-in to one or more described destination logical address.
Then, in step S423, inspection unit 2140 determines the verify data according to preset checking ability Length.Specifically, manufacturer can set the height of the checking ability of inspection unit 2140 according to demand.With checking ability The range of the length of the different verify datas of height also can and then change.For example, the range of the length of verify data can be 1~16 Tuple.That is, the length of verify data can be preset.
Then, in step S425, inspection unit 2140 is according to the length of the verify data from the multiple One or more second system data are selected in one system data, combine one or more selected described second system data At the verify data, wherein the total data length of selected one or more second system data is equal to the verifying number According to the length.Specifically, due to the length of verify data it is determined that, inspection unit 2140 can come accordingly from the multiple One or more are selected in the first system data, so that the first system data (also referred to as, one or more the second system numbers selected According to) the summation (also referred to as, total data length) of data length can be equal to the length of preset verify data.Then, it is determining After one or more second system data, inspection unit 2140 can read one or more second system data from write instruction One or more described second system data are combined, to constitute a verify data (inspection unit 2140 obtains verify data). That is, inspection unit 2140 can accordingly change the type of second system data when the length of verify data changes, with Form different verify datas.In addition, in one embodiment, also one or more cleavable specific first systems of inspection unit 2140 It unites data, to become second system data, so that via verify data made of combined by one or more second system data Length meets preset value.
It should be noted that multiple second system data for constituting verify data put in order can according to demand or It is setting to be changed.In addition, via the explanation of Fig. 4 B, it is to be understood that verify data can direct writing from the correspondence initial data Enter and read in instruction, does not need in addition to expend resource to calculate or encoding verification data.
Fig. 4 A please be return, after obtaining verify data, in step S43, as shown in the arrow A11 in Fig. 2, Fig. 3 A, Inspection unit 2140, which adds the verify data VD1 to the initial data RD1, becomes data RVD1 before upset.In addition, upsetting Preceding data RVD1 can be transmitted to disarrangement device 2141, to carry out upset operation.
Before obtaining upset after data RVD1, in step S44, as shown in the arrow A12 in Fig. 2, Fig. 3 A, disarrangement device Data RVD1, which is executed, before 2141 pairs of upsets upsets operation, with data RVSD1 after being upset.In addition, data after upsetting RVSD1 can be transmitted to encoder 2143, to perform the encoding operation.
After being upset after data RVSD1, in step S45, as shown in the arrow A13 in Fig. 2, Fig. 3 A, encoder Data RVSD1 executes encoding operation after 2143 pairs of upsets, to obtain codeword data CD1.Specifically, to the upset After data RVSD1 executes encoding operation afterwards, encoder 2143 can generate error checking and correcting code ECC1, and encoder 2143 Error checking and correcting code ECC1 are attached to data RVSD1 after upsetting, to form codeword data CD1 (as shown in Fig. 3 A).
Finally, in step S46, after obtaining the codeword data, be written the codeword data to it is described one or more Target entity address, to complete the execution of said write instruction.Specifically, after obtaining codeword data CD1, error checking with The codeword data encoded completion of the corresponding initial data RD1 of the meeting response handler 211 of correcting circuit 214.Processor 211 can incite somebody to action The codeword data CD1 that coding is completed is written to one or more described target entity addresses, to complete the execution of said write instruction. In addition, one or more described destination logical address can also be mapped to one or more described target entity addresses by processor 211, and And it responds initial data RD1 described in host system 10 and has been written into 220 (write instruction of reproducible nonvolatile memorizer module It is completed).
It should be noted that in the above-described embodiments, write instruction is transmitted by host system, to be written as user's data Initial data.However, in another embodiment, write instruction can be used to execute processor 211 also in order to manage and be stored The corresponding data write operation executed of the management operation (e.g., data union operation, garbage collection operation etc.) of data.
Fig. 3 B is the schematic diagram that the initial data of codeword data is encoded as according to one embodiment of the invention. Fig. 5 A is the flow chart of the data decoding method according to one embodiment of the invention.Referring to Fig. 2, Fig. 3 B, figure 5A, in step s 51, processor 211 start execute read instruction, and according to readings instruct from it is the multiple physically Read the codeword data in one or more target entity addresses in location.
For example, in this example, it is assumed that host system 10, which is sent, reads instruction to processor 211, and it is described It reads instruction instruction and reads initial data from one or more logical addresses (also referred to as, destination logical address).Referred to according to the reading It enables, processor 211 can map to described from all available physical address of reproducible nonvolatile memorizer module 220 One or more physical address (also referred to as, target entity address) of one or more destination logical address read codeword data CD2 (code Digital data CD2 is encoded by the initial data to be read of host system 10 and is written to the data of target entity address).Processing Codeword data CD2 can be sent to error checking and correcting circuit 214 to start to carry out the solution for codeword data CD2 by device 211 Coded program (arrow A20 as shown in Figure 2).
Then, after receiving the codeword data CD2, in step S52, as shown in the arrow A21 in Fig. 2, Fig. 3 A, Decoder 2144 executes decoding operate to the codeword data CD2, has decoded codeword data RVSD2 (also referred to as, after upset to obtain Data RVSD2).Specifically, B, decoder 2144 can identify error checking and correction in codeword data CD2 referring to figure 3. Code ECC2 and data RVSD2 after upset, and decoder 2144 can be checked and be corrected with correcting code ECC2 according to error checking Data RVSD2 after upset is finally exported and decoded has been decoded codeword data RVSD2.Having decoded codeword data RVSD2 can be passed It send to descrambler 2142, to carry out unscrambling operation.
Fig. 4 A please be return, after acquisition has decoded codeword data RVSD2, in step S53, such as the arrow in Fig. 2, Fig. 3 A Shown in head A22, descrambler 2142 executes unscrambling operation to the codeword data RVSD2 that decoded, and upsets preceding number to obtain According to RVD2.In addition, data RVD2 can be transmitted to inspection unit 2140 before upsetting, to carry out inspection operation.
Before obtaining upset after data RVD2, in step S54, inspection unit 2140 identifies data RVD2 before the upset In verify data VD2 and initial data RD2 (as shown in Figure 3B).
Then, in step S55, inspection unit 2140 obtains the corresponding initial data RD2 from reading instruction One or more the first system data.That is, inspection unit 2140, which can directly be read from reading instruction, can check verifying The whether correct system data of data VD2.The system data can be one or more target logics of storage initial data RD2 Location.Below by way of Fig. 5 B, the more details of detailed description step S55 and the system data.
Fig. 5 B is the flow chart of the step S55 in Fig. 5 A according to one embodiment of the invention.B referring to figure 5., In the present embodiment, in step 551, inspection unit 2140 reads the more of the corresponding initial data of identification in instruction from described A second system data.In the present embodiment, the multiple second system data are the multiple the in above-mentioned encoding operation One system data, that is, correspond to the general designation of the various system datas of initial data, and reading instruction include instruction description with And the multiple second system data.Wherein, the described instruction description for reading instruction to indicate processor 211 from one or Initial data RD2 is read in multiple destination logical address.Then, processor 211 according to logic turn entity table can find out to One or more the target entity addresses for the codeword data that storage is obtained via the coding initial data.The second system number According to whether can be used to check via the decoding program for executing codeword data initial data RD2 obtained from reading Instruct the destination logical address to be read.
Then, in step S553, inspection unit 2140 determines the verify data VD2 according to preset checking ability Length.This step is identical to step S423.
Then, in step S555, inspection unit 2140 is according to the length of the verify data from the multiple One or more the first system data are selected in two system data, combine one or more selected described the first system data At the verify data, wherein the total data length of selected one or more the first system data is equal to the verifying number According to the length.Specifically, it is similar to the explanation of above-mentioned steps S425, in the decoding program described in the present embodiment, One or more described selected described the first system data be in coded program described in selecting one or more the Two system data are used to be selected and read according to the length of preset verify data, to be combined into verify data.It changes Yan Zhi, in step S555, inspection unit 2140 can be identified according to the length of verify data VD2, be read described in instruction Answering in multiple second system data described is which system data (in the present embodiment, referred to as the first system data) to form State verify data.In this way, via the explanation of Fig. 4 B, it is to be understood that processor 211 can be directly from the correspondence initial data It reads in instruction and reads system data, checked via the comparison with verify data VD2 from codeword data CD2 original obtained Beginning, whether data RD2 was correct.In addition the above-mentioned system data to compare with verify data VD2 is not needed via consuming resource It could be obtained to calculate or decode.
Fig. 5 A is gone back to, then, in step S56, inspection unit 2140 is via one or more described the first systems of comparison Data judge whether the initial data RD2 is correct with the verify data VD2, wherein if the verify data is equal to described One or more the first system data determine that the initial data RD2 is correct.Specifically, identify it is described one or more the After one system data, inspection unit 2140 can go comparison data VD2 whether be equal to identified it is described one or more The first system data are (that is, whether the total data bit of inspection unit 2140 is equal to one or more described the first system data institutes Multiple data bit elements made of sequence).If equal, inspection unit 2140 can determine that initial data RD2 is correct.
Then, in step S57, when it is correct for determining the initial data RD2, determine that the codeword data is decoded into Function, error checking and correcting circuit 214 transmit the initial data RD2, to complete the execution for reading instruction.
Specifically, after determining that initial data RD2 is correct, error checking and correcting circuit 214 can response handlers The decoding program of 211 corresponding codeword data CD2 has been completed, and obtains corresponding initial data RD2.The initial data RD2 is the corresponding initial data for reading instruction.In addition, processor 211 can respond host system 10 be stored in described one or The initial data RD2 of multiple logical addresses, which has been read, to be finished, and the initial data RD2 is back to host system 10, to complete the execution for reading instruction.
It should be noted that in the above-described embodiments, reading instruction is transmitted by host system, to be read as user's data Initial data.However, in another embodiment, reading instruction can be used to execute processor 211 also in order to manage and be stored The corresponding data read operation executed of the management operation (e.g., data union operation, garbage collection operation etc.) of data.
It should be noted that the operation of each element of above-mentioned error checking and correcting circuit 214 also can be considered error checking with Operation performed by correcting circuit 214.
Data-encoding scheme, data decoding method and the storage control for implementing the method illustrated according to above-described embodiment Device processed, it may be unnecessary in the case where CRC is arranged, can still check whether decoded data are correct.
However, another combinable existing CRC technological means and above-mentioned data-encoding scheme and data can be reintroduced below Another embodiment of coding/decoding method place different from above-described embodiment.
Specifically, in coded program, after the verify data for obtaining corresponding initial data, 2140 pairs of institutes of inspection unit It states verify data and the initial data executes cyclic redundancy check operation, to obtain cyclic redundancy check code.Then, checklist Member 2140 executes mutual exclusion or operation according to the cyclic redundancy check code and the verify data, to verify number after being adjusted According to.Then, adding the verify data to the initial data in above-mentioned inspection unit 2140 becomes the running of the preceding data of upset In (as shown in arrow A11), inspection unit 2140 by verify data after the adjustment replace the verify data to be attached to Initial data is stated as data before the upset.
On the other hand, in decoding program, after identifying one or more described the first system data, inspection unit 2140 Cyclic redundancy check operation is executed to one or more described the first system data and the initial data, to obtain cyclic redundancy school Test code.Then, inspection unit 2140 executes mutual exclusion or operation according to the cyclic redundancy check code and the verify data, to obtain Verify data after must adjusting.Then, next with the verify data via one or more described the first system data are compared above-mentioned In judging whether the initial data correctly operates, inspection unit 2140 is changed to verify data after adjusting and replaces verify data To be compared with one or more described the first system data.If verify data is equal to one or more described the first systems after adjustment Data, then inspection unit 2140 determines that the initial data RD2 is correct.In this way, can be by being obtained via CRC operation Adjustment after verify data replace verify data to reinforce the reliability of coded program and decoding program.
In conclusion data-encoding scheme, data decoding method provided by the embodiment of the present invention and storage control, In encoding operation, verify data can be obtained according to the write instruction of corresponding initial data, with additional authentication data to original Data execute encoding operation again, and do not need attached cyclic redundancy check code to initial data, and then reduce whole code word The consuming space of data.In addition, in decoding operate, can according to the reading instruction identification of corresponding codeword data one or more first System data, and original obtained after decoding is judged according to one or more described the first system data and the verify data Whether beginning data are correct.In particular, above-mentioned coding/decoding operation can save consuming in the money of cyclic redundancy check code operation Source/calculation amount.In this way, which decoded data can still be checked in the case where not needing via cyclic redundancy check code It is whether correct, so can solve the problems, such as approximate code word and the storage device that is enhanced in the case where saving resource encode/ The whole efficiency of decoding data.
Although the present invention is disclosed as above with embodiment, however, it is not to limit the invention, any technical field Middle technical staff, without departing from the spirit and scope of the present invention, when can make a little change and retouching, therefore protection of the invention Subject to range ought be defined depending on claim.

Claims (16)

1. a kind of data-encoding scheme, suitable for encoding the original number for being intended to store to reproducible nonvolatile memorizer module According to, which is characterized in that the reproducible nonvolatile memorizer module has multiple solid elements, and the multiple entity Each solid element of unit includes multiple entity subelements, and plurality of physical address is configured to the multiple entity Unit, which comprises
Start to execute write instruction, wherein the initial data is written into the multiple physical address in said write instruction instruction One or more target entity addresses;
The verify data of the corresponding initial data is obtained from said write instruction;
Adding the verify data to the initial data becomes data before upset;
Data before the upset are executed and upset operation, with data after being upset;
Encoding operation is executed to data after the upset, to obtain codeword data;And
After obtaining the codeword data, the codeword data is written to one or more described target entity addresses, to complete State the execution of write instruction.
2. data-encoding scheme according to claim 1, which is characterized in that obtain the corresponding original in said write instruction The step of verify data of beginning data includes:
Multiple the first system data of the corresponding initial data of identification from said write instruction;
The length of the verify data is determined according to a preset checking ability;And
One or more second system numbers are selected from the multiple the first system data according to the length of the verify data According to one or more selected described second system data being combined into the verify data, wherein selected described one Or the total data length of multiple second system data is equal to the length of the verify data.
3. data-encoding scheme according to claim 2, which is characterized in that
The multiple the first system data include one or more destination logical address to store the initial data;To deposit Store up one or more target entity addresses of the initial data;And the target entity unit to store the initial data Solid element information.
4. data-encoding scheme according to claim 3, which is characterized in that further include:
After the verify data for obtaining the corresponding initial data, the verify data and initial data execution are followed Ring redundancy check operation, to obtain cyclic redundancy check code;
Mutual exclusion or operation are executed according to the cyclic redundancy check code and the verify data, with verify data after being adjusted; And
In adding the step of verify data becomes data before the upset to the initial data, by the adjustment posteriority Card data replace the verify data to be attached to the initial data as data before the upset.
5. a kind of data decoding method, for decoding the codeword data being stored in reproducible nonvolatile memorizer module, It is characterized in that, the reproducible nonvolatile memorizer module has multiple solid elements, and the multiple entity list Each solid element of member includes multiple entity subelements, and it is single that plurality of physical address is configured to the multiple entity Member, which comprises
Start to execute and read instruction, and is real according to described one or more targets for reading instruction from the multiple physical address Read the codeword data in body address;
Decoding operate is executed to the codeword data, has decoded codeword data to obtain;
Unscrambling operation is executed to the codeword data that decoded, upsets preceding data to obtain;
Identify the verify data and initial data before the upset in data;
One or more the first system data for corresponding to the initial data are obtained in instruction from described read;
Judge whether the initial data is correct with the verify data via one or more described the first system data of comparison, If wherein the verify data is equal to one or more described the first system data, determine that the initial data is correct;And
When it is correct for determining the initial data, determines the codeword data successfully decoded, the initial data is transmitted, with complete At the execution for reading instruction.
6. data decoding method according to claim 5, which is characterized in that the reading instruction identification corresponds to described original The step of one or more described the first system data of data includes:
From the multiple second system data for reading the corresponding initial data of identification in instruction;
The length of the verify data is determined according to preset checking ability;And
According to the length of the verify data identify in the multiple second system data described in one or more first systems System data, wherein the total data length of one or more the first system data is equal to the length of the verify data.
7. data decoding method according to claim 6, which is characterized in that
The multiple second system data include one or more destination logical address to store the initial data;To deposit Store up one or more target entity addresses of the initial data;And the target entity unit to store the initial data Solid element information.
8. data decoding method according to claim 7, which is characterized in that further include:
After identifying one or more described the first system data, to one or more described the first system data and the original number According to cyclic redundancy check operation is executed, to obtain cyclic redundancy check code;
Mutual exclusion or operation are executed according to the cyclic redundancy check code and the verify data, with verify data after being adjusted; And
Judge that the initial data is with the verify data via one or more described the first system data of comparison above-mentioned In no correct step, by verify data after the adjustment replace the verify data with one or more described the first system numbers According to comparison.
9. a kind of storage control, special for controlling the storage device for being configured with reproducible nonvolatile memorizer module Sign is that the reproducible nonvolatile memorizer module has multiple solid elements, wherein the duplicative is non-volatile Property memory module there are multiple solid elements, and each solid element of the multiple solid element includes multiple entities Subelement, plurality of physical address are configured to the multiple entity subelement, and the storage control includes:
Memory interface control circuit, to be coupled to the reproducible nonvolatile memorizer module;
Error checking and correcting circuit, to encode the original number for being intended to store to the reproducible nonvolatile memorizer module According to;And
Processor is coupled to the memory interface control circuit and the error checking and correcting circuit,
Wherein the processor executes write instruction to start, and the initial data is sent to the error checking and correction Circuit, wherein it is real that one or more targets of the initial data into the multiple physical address are written in said write instruction instruction Body address,
The wherein verifying of the error checking and correcting circuit to instruct the corresponding initial data of acquisition according to said write Data,
Wherein the error checking and correcting circuit are also to add before the verify data to the initial data becomes and upset Data,
Wherein the error checking and correcting circuit also upset operation to execute to data before the upset, after being upset Data,
Wherein the error checking and correcting circuit are also to execute encoding operation to data after the upset, to obtain code word number According to, and the codeword data encoded completion that the processor corresponds to the initial data is responded,
Wherein the processor is also to be written the codeword data to one or more described target entity addresses, described in completing The execution of write instruction.
10. storage control according to claim 9, which is characterized in that the error checking and correcting circuit also to In the running for instructing the verify data for obtaining the corresponding initial data according to said write,
The error checking and correcting circuit are according to multiple the first systems of the corresponding initial data of said write instruction identification Data,
Wherein the error checking and correcting circuit determine the length of the verify data according to preset checking ability,
Wherein the error checking and correcting circuit are according to the length of the verify data from the multiple the first system number According to middle one or more second system data of selection, one or more selected described second system data are combined into described test Data are demonstrate,proved, wherein the total data length of selected one or more second system data is equal to the length of the verify data Degree.
11. storage control according to claim 10, which is characterized in that
The multiple the first system data include one or more destination logical address to store the initial data;To deposit Store up one or more target entity addresses of the initial data;And the target entity unit to store the initial data Solid element information.
12. storage control according to claim 11, which is characterized in that
After the verify data for obtaining the corresponding initial data, the error checking and correcting circuit are to the verifying number Cyclic redundancy check operation is executed according to the initial data, to obtain cyclic redundancy check code,
Wherein the error checking and correcting circuit according to the cyclic redundancy check code and the verify data execute mutual exclusion or Operation, with verify data after being adjusted,
Wherein the error checking is also disturbed to the initial data as described to add the verify data with correcting circuit Before unrest in the running of data, the error checking and correcting circuit by verify data after the adjustment replace the verify data with The initial data is attached to as data before the upset.
13. a kind of storage control, special for controlling the storage device for being configured with reproducible nonvolatile memorizer module Sign is that the reproducible nonvolatile memorizer module has multiple solid elements, wherein the duplicative is non-volatile Property memory module there are multiple solid elements, and each solid element of the multiple solid element includes multiple entities Subelement, plurality of physical address are configured to the multiple entity subelement, and the storage control includes:
Memory interface control circuit, to be coupled to the reproducible nonvolatile memorizer module;
Error checking and correcting circuit, for decoding the code word number being stored in the reproducible nonvolatile memorizer module According to;And
Processor is coupled to the memory interface control circuit and the error checking and correcting circuit,
Wherein the processor reads instruction to start to execute, according to reading instruction from the multiple physical address The codeword data is read in one or more target entity addresses, and the codeword data is sent to the error checking and school Positive circuit,
Wherein the error checking and correcting circuit have decoded code word to execute decoding operate to the codeword data to obtain Data,
Wherein the error checking and correcting circuit are also to execute unscrambling operation to the codeword data that decoded, to obtain Data before upsetting,
Wherein the error checking and correcting circuit be also to identify verify data and initial data before the upset in data,
Wherein the error checking and correcting circuit are also to according to the one of the corresponding initial data of the reading instruction identification Or multiple the first system data,
Wherein the error checking and correcting circuit with described also to test via comparing one or more described the first system data Data are demonstrate,proved to judge whether the initial data is correct, wherein if the verify data is equal to one or more described the first system numbers According to, the error checking determines that the initial data is correct with correcting circuit,
Wherein when it is correct for determining the initial data, the error checking and correcting circuit determine that the codeword data decodes Success, transmits the initial data, and responds the processor and correspond to the initial data of the codeword data and solved Code success, to complete the execution for reading instruction.
14. storage control according to claim 13, which is characterized in that in error checking described above and correcting circuit Also to be corresponded in the running of one or more the first system data described in the initial data according to the reading instruction identification,
The error checking and correcting circuit are according to multiple second systems of the corresponding initial data of said write instruction identification Data,
Wherein the error checking and correcting circuit determine the length of the verify data according to preset checking ability,
Wherein the error checking and correcting circuit are according to the multiple second system of the length of verify data identification One or more described the first system data in data, wherein the total data length of one or more the first system data is equal to The length of the verify data.
15. storage control according to claim 14, which is characterized in that
The multiple second system data include one or more destination logical address to store the initial data;To deposit Store up one or more target entity addresses of the initial data;And the target entity unit to store the initial data Solid element information.
16. storage control according to claim 15, which is characterized in that
After identifying one or more described the first system data, the error checking and correcting circuit to it is described one or more the One system data and the initial data execute cyclic redundancy check operation, to obtain cyclic redundancy check code,
Wherein the error checking and correcting circuit according to the cyclic redundancy check code and the verify data execute mutual exclusion or Operation, with verify data after being adjusted,
Wherein the original number is judged via one or more described the first system data and the verify data is compared above-mentioned Correctly whether according in running, verify data after the adjustment is replaced the verify data by the error checking and correcting circuit With with one or more described the first system comparings.
CN201711114340.7A 2017-11-13 2017-11-13 Data encoding method, data decoding method, and storage controller Active CN109783001B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711114340.7A CN109783001B (en) 2017-11-13 2017-11-13 Data encoding method, data decoding method, and storage controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711114340.7A CN109783001B (en) 2017-11-13 2017-11-13 Data encoding method, data decoding method, and storage controller

Publications (2)

Publication Number Publication Date
CN109783001A true CN109783001A (en) 2019-05-21
CN109783001B CN109783001B (en) 2022-04-22

Family

ID=66493072

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711114340.7A Active CN109783001B (en) 2017-11-13 2017-11-13 Data encoding method, data decoding method, and storage controller

Country Status (1)

Country Link
CN (1) CN109783001B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112099985A (en) * 2019-06-17 2020-12-18 慧荣科技股份有限公司 Data storage device and non-volatile memory control method
CN113053451A (en) * 2021-03-05 2021-06-29 深圳三地一芯电子有限责任公司 Method, system, host and storage medium for generating softbit in Nandflash
CN114860170A (en) * 2022-05-17 2022-08-05 深圳宏芯宇电子股份有限公司 Data access method, memory storage device and memory controller

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188472A (en) * 2007-12-10 2008-05-28 华中科技大学 Self-adapted coding modulator with dynamic configuration
US20110320914A1 (en) * 2010-06-24 2011-12-29 International Business Machines Corporation Error correction and detection in a redundant memory system
US9354872B2 (en) * 2014-04-24 2016-05-31 Xitore, Inc. Apparatus, system, and method for non-volatile data storage and retrieval

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188472A (en) * 2007-12-10 2008-05-28 华中科技大学 Self-adapted coding modulator with dynamic configuration
US20110320914A1 (en) * 2010-06-24 2011-12-29 International Business Machines Corporation Error correction and detection in a redundant memory system
US9354872B2 (en) * 2014-04-24 2016-05-31 Xitore, Inc. Apparatus, system, and method for non-volatile data storage and retrieval

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112099985A (en) * 2019-06-17 2020-12-18 慧荣科技股份有限公司 Data storage device and non-volatile memory control method
CN112099985B (en) * 2019-06-17 2023-09-12 慧荣科技股份有限公司 Data storage device and non-volatile memory control method
CN113053451A (en) * 2021-03-05 2021-06-29 深圳三地一芯电子有限责任公司 Method, system, host and storage medium for generating softbit in Nandflash
CN113053451B (en) * 2021-03-05 2022-05-10 深圳三地一芯电子有限责任公司 Method, system, host and storage medium for generating softbit in Nandflash
CN114860170A (en) * 2022-05-17 2022-08-05 深圳宏芯宇电子股份有限公司 Data access method, memory storage device and memory controller

Also Published As

Publication number Publication date
CN109783001B (en) 2022-04-22

Similar Documents

Publication Publication Date Title
TWI646543B (en) Data encoding method, data decoding method and storage controller
CN106843771B (en) Memory reads method, memorizer control circuit unit and memory storage apparatus again
CN106158040B (en) Read voltage quasi position estimating and measuring method, memory storage apparatus and control circuit unit
TW201810025A (en) Decoding method, memory storage device and memory control circuit unit
TW202009942A (en) Data access method,memory control circuit unit and memory storage device
CN109783001A (en) Data-encoding scheme, data decoding method and storage control
CN113140253A (en) Memory management method, memory storage device and memory control circuit unit
CN111580741B (en) Data writing method, memory control circuit unit and memory storage device
CN109491828A (en) Coding/decoding method, memory storage apparatus and memorizer control circuit unit
TWI689816B (en) Block management method, memory control circuit unit and memory storage apparatus
TWI732642B (en) Data writing method, memory control circuit unit and memory storage apparatus
CN107331420A (en) Coding/decoding method, memory storage apparatus and memorizer control circuit unit
CN109901784A (en) Data access method, memorizer control circuit unit and memorizer memory devices
TWI709850B (en) Data writing method, memory control circuit unit and memory storage device
TWI575533B (en) Data correcting method, memory control circuit unit and memory storage device
TWI805379B (en) Risk assessment method based on data priority, memory storage device and memory control circuit unit
CN109559774B (en) Decoding method, memory control circuit unit and memory storage device
CN113724774B (en) Decoding method, memory storage device and memory control circuit unit
TW202009944A (en) Memory testing method and memory testing system
CN115202933A (en) Mapping table rebuilding method, memory storage device and memory control circuit unit
CN106897023B (en) Data reading method, memory control circuit unit and memory storage device
CN110275668A (en) Block management method, memorizer control circuit unit and memory storage apparatus
TWI541809B (en) Data accessing method, memory controlling circuit unit and memory storage apparatus
CN109508252B (en) Data coding method, memory control circuit unit and memory storage device
CN109308930A (en) Method for writing data, memorizer control circuit unit and memory storage apparatus

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