CN111951855A - Method for accessing flash memory module and related flash memory controller and memory device - Google Patents

Method for accessing flash memory module and related flash memory controller and memory device Download PDF

Info

Publication number
CN111951855A
CN111951855A CN202010697066.6A CN202010697066A CN111951855A CN 111951855 A CN111951855 A CN 111951855A CN 202010697066 A CN202010697066 A CN 202010697066A CN 111951855 A CN111951855 A CN 111951855A
Authority
CN
China
Prior art keywords
flash memory
data
super block
memory module
flash
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
CN202010697066.6A
Other languages
Chinese (zh)
Other versions
CN111951855B (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.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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
Priority claimed from TW106110436A external-priority patent/TWI665679B/en
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Priority claimed from CN201710279848.6A external-priority patent/CN107403640B/en
Publication of CN111951855A publication Critical patent/CN111951855A/en
Application granted granted Critical
Publication of CN111951855B publication Critical patent/CN111951855B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • G11C11/5635Erasing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

The invention discloses a method for accessing a flash memory module, wherein the flash memory module is a three-dimensional flash memory module comprising a plurality of flash memory chips, each flash memory chip comprises a plurality of blocks, and each block comprises a plurality of data pages; and the method comprises the following steps: programming the plurality of flash memory chips to make the plurality of flash memory chips have at least one first super block and at least one second super block; and assigning the at least one second super block for storing a plurality of temporary check codes encoded during a data write to the at least one first super block. The invention has the advantages that the invention can correct data writing errors, word line open circuit and data reading errors caused by word line short circuit, and can greatly reduce the capacity requirement of the buffer memory in the flash memory controller, thereby greatly reducing the cost of the flash memory controller and the use efficiency of the flash memory module.

Description

Method for accessing flash memory module and related flash memory controller and memory device
The present application is a divisional application of the chinese invention application entitled "method for accessing a flash memory module and related flash memory controller and memory device" filed as 26.04.2017. 201710279848.6.
Technical Field
The present invention relates to flash memory, and more particularly, to a method for accessing a flash memory module and a related flash memory controller and memory device.
Background
In order to enable flash memories with higher density and larger capacity, the flash memory process is also going towards three-dimensional development, and several different three-dimensional NAND-type flash memories (3D NAND-type flash memories) are being produced. In the three-dimensional NAND flash memory, due to the difference of the overall structure and the change of the shape and position of the floating gate, there are some problems in writing and reading data compared with the conventional planar NAND flash memory. For example, in some stereo NAND-type flash memories, word lines (word lines) are defined as a word line group, and the word line group has a part of control circuits in common, which may cause a failure in writing data to a floating gate transistor of one word line of the word line group (write failure), and in conjunction cause an error in data of floating gate transistors of other word lines of the word line group; in addition, if one word line in the word line group is open or short-circuited, data errors will also occur in the floating gate transistors of other word lines in the word line group, so how to provide an error correction method to maintain the correctness of data as much as possible without wasting memory space and saving cost is an important issue.
Disclosure of Invention
Therefore, an objective of the present invention is to provide a method for accessing a flash memory module and related flash memory controller and memory device, which use an error correction method similar to a Redundant Array of Independent Disks (RAID), but do not waste the flash memory space significantly, and only require a small amount of buffer memory space during the processing of the flash memory controller, so as to solve the problems in the prior art.
In one embodiment of the present invention, a method for accessing a flash memory module is disclosed, wherein the flash memory module is a three-dimensional flash memory module, the flash memory module comprises a plurality of flash memory chips, each flash memory chip comprises a plurality of multi-layer storage blocks and a plurality of single-layer storage blocks, and each block comprises a plurality of data pages; each block comprises a plurality of floating gate transistors which are respectively positioned on a plurality of different planes and controlled by a plurality of word lines and bit lines, and the floating gate transistor of each word line forms at least one data page in the plurality of data pages; and the method comprises the following steps: encoding data to generate at least one set of check codes, wherein the data is to be written into a first super block of the plurality of flash memory chips, wherein the first super block comprises a multi-level storage block of each of the plurality of flash memory chips; writing the data to the first superblock; and writing the at least one group of check codes into a second super block, wherein the second super block comprises a single-layer storage block of each of the plurality of flash memory chips.
In another embodiment of the present invention, a flash memory controller is disclosed, wherein the flash memory controller is used for accessing a flash memory module, the flash memory module is a three-dimensional flash memory module, the flash memory module comprises a plurality of flash memory chips, each flash memory chip comprises a plurality of multi-layer storage blocks and a plurality of single-layer storage blocks, and each block comprises a plurality of data pages; each block comprises a plurality of floating gate transistors which are respectively positioned on a plurality of different planes and controlled by a plurality of word lines and bit lines, and the floating gate transistor of each word line forms at least one data page in the plurality of data pages; and the flash memory controller includes: a memory, a microprocessor and a codec. The memory is used for storing a program code; the microprocessor is used for executing the program codes to control the access to the flash memory module; in operation of the present embodiment, the codec encodes data to generate at least one set of check codes, wherein the data is to be written to a first super block of the plurality of flash memory chips, wherein the first super block comprises a multi-level storage block of each of the plurality of flash memory chips; and the microprocessor writes the data into the first super block and writes the at least one group of check codes into a second super block, wherein the second super block comprises a single-layer storage block of each of the plurality of flash memory chips.
In another embodiment of the present invention, a memory device is disclosed, which comprises a flash memory module and a flash memory controller, wherein the flash memory module is a three-dimensional flash memory module, the flash memory module comprises a plurality of flash memory chips, each flash memory chip comprises a plurality of multi-layer storage blocks and a plurality of single-layer storage blocks, and each block comprises a plurality of data pages; each block comprises a plurality of floating gate transistors which are respectively positioned on a plurality of different planes and controlled by a plurality of word lines and bit lines, and the floating gate transistor of each word line forms at least one data page in the plurality of data pages; when a write command from a host computer is received to request to write data into the flash memory module, the flash memory controller encodes the data to generate at least one group of check codes and writes the data into a first super block of the flash memory chips, wherein the first super block comprises a multi-layer storage block of each of the flash memory chips; and writing the at least one group of check codes into a second super block, wherein the second super block comprises a single-layer storage block of each of the plurality of flash memory chips.
In another embodiment of the present invention, a method of accessing a flash memory module is disclosed, wherein the flash memory module is a three-dimensional flash memory module, the flash memory module comprising a plurality of flash memory chips, each flash memory chip comprising a plurality of blocks, each block comprising a plurality of data pages; each block comprises a plurality of floating gate transistors which are respectively positioned on a plurality of different planes and controlled by a plurality of word lines and bit lines, and the floating gate transistor of each word line forms at least one data page in the plurality of data pages; and the method comprises the following steps: programming the plurality of flash memory chips such that the plurality of flash memory chips have at least a first super block (superblock) and at least a second super block; and assigning the at least one second super block for storing a plurality of temporary check codes encoded during a data write to the at least one first super block.
In another embodiment of the present invention, a flash memory controller is disclosed, wherein the flash memory controller is used for accessing a flash memory module, wherein the flash memory module is a three-dimensional flash memory module, the flash memory module comprises a plurality of flash memory chips, each flash memory chip comprises a plurality of blocks, and each block comprises a plurality of data pages; each block comprises a plurality of floating gate transistors which are respectively positioned on a plurality of different planes and controlled by a plurality of word lines and bit lines, and the floating gate transistor of each word line forms at least one data page in the plurality of data pages; and the flash memory controller comprises a memory, a microprocessor and a coder-decoder. The memory is used for storing a program code; the microprocessor is used for executing the program codes to control the access to the flash memory module; and in operation of this embodiment, the microprocessor programs the plurality of flash memory chips such that the plurality of flash memory chips have at least a first superblock and at least a second superblock; and assigning the at least one second super block for storing a plurality of temporary check codes encoded during a data write to the at least one first super block.
In another embodiment of the present invention, a memory device is disclosed, which comprises a flash memory module and a flash memory controller. The flash memory module is a three-dimensional flash memory module, the flash memory module comprises a plurality of flash memory chips, each flash memory chip comprises a plurality of blocks, and each block comprises a plurality of data pages; each block comprises a plurality of floating gate transistors which are respectively positioned on a plurality of different planes and controlled by a plurality of word lines and bit lines, and the floating gate transistor of each word line forms at least one data page in the plurality of data pages; and the flash controller programs the flash memory chips to enable the flash memory chips to have at least one first super block and at least one second super block, and assigns the at least one second super block to be used for storing a plurality of groups of temporary check codes generated by encoding in the process of writing data into the at least one first super block.
Drawings
FIG. 1 is a diagram illustrating a memory device according to an embodiment of the invention.
FIG. 2 is an exemplary diagram of a stereo NAND type flash memory.
Fig. 3 is a conceptual diagram of a floating gate transistor structure.
FIG. 4 is a diagram of a plurality of word line groups in a block.
FIG. 5 is a diagram illustrating a flash memory controller writing data to a flash memory module and a super block.
FIG. 6 is a diagram illustrating a flash memory controller writing data to a super block according to a first embodiment of the present invention.
FIG. 7 is a diagram illustrating generation of 8 final check codes SF 0-SF 7 according to the 1 st to 192 th check codes S0-S191.
FIG. 8 is a flowchart illustrating a method for accessing a flash memory module according to an embodiment of the present invention.
Wherein the reference numerals are as follows:
100 memory device
110 flash memory controller
112 microprocessor
112C program code
112M read-only memory
114 control logic
116 buffer memory
118 interface logic
120 flash memory module
132 first codec
134 second codec
202 floating gate transistor
510. 520 channel
512. 514, 516, 518 flash memory chip
530. 540 superblock
800 to 814 steps
B1-B3 bit line
WL 0-WL 47 word lines
WL _ G0-WL _ G47 word line group
Detailed Description
Referring to fig. 1, fig. 1 is a schematic diagram of a memory device 100 according to an embodiment of the invention, wherein the memory device 100 of the embodiment is especially a portable memory device (e.g., a memory card conforming to SD/MMC, CF, MS, XD standards). The Memory device 100 includes a Flash Memory (Flash Memory) module 120 and a Flash Memory controller 110, and the Flash Memory controller 110 is used for accessing the Flash Memory module 120. According to the present embodiment, the flash controller 110 includes a microprocessor 112, a Read Only Memory (ROM) 112M, a control logic 114, a buffer 116, and an interface logic 118. The rom is used to store a program code 112C, and the microprocessor 112 is used to execute the program code 112C to control Access (Access) to the flash memory module 120.
Typically, the flash memory module 120 comprises a plurality of flash memory chips, each of which comprises a plurality of blocks (blocks), and the controller (e.g., the flash memory controller 110 executing the program code 112C via the microprocessor 112) copies, erases, merges, etc. the data of the flash memory module 120 are copied, erased, merged in blocks. In addition, a block can record a specific number of pages (pages), wherein the controller (e.g., the memory controller 110 executing the program code 112C by the microprocessor 112) writes data to the flash memory module 120 in units of pages.
In practice, the flash controller 110 executing the program code 112C via the microprocessor 112 can utilize its internal components to perform various control operations, such as: the control logic 114 is used to control the access operations of the flash memory module 120 (especially the access operations to at least one block or at least one data page), the buffer memory 116 is used to perform the required buffering, and the interface logic 118 is used to communicate with a Host Device (Host Device).
On the other hand, in the present embodiment, the control logic 114 includes a first codec (codec)132 and a second codec 134, wherein the first codec 132 is used to encode data written into a block of the flash memory module 120 to generate corresponding error correction codes (error correction codes), wherein the error correction codes generated by the first codec 132 are generated only according to the content of a sector (sector) written into a data page, and the generated error correction codes are written into the data page together with the data content of the sector. In addition, the second codec 134 is a fault-tolerant disk array (RAID) codec, which is used to encode data written into a plurality of flash memory chips to generate corresponding check codes, and the operation thereof will be described in detail below.
In the present embodiment, the flash memory module 120 is a three-dimensional NAND-type flash memory (3D NAND-type flash) module, referring to fig. 2, which is an exemplary schematic diagram of a three-dimensional NAND-type flash memory, as shown in fig. 2, the three-dimensional NAND-type flash memory includes a plurality of floating gate transistors 202, which form a three-dimensional NAND-type flash memory architecture by a plurality of bit lines (only BL 1-BL 3 are shown) and a plurality of word lines (e.g., WL 0-WL 2, WL 4-WL 6 are shown). In fig. 2, taking the top plane as an example, all the floating-gate transistors on word line WL0 constitute at least one data page, all the floating-gate transistors on word line WL1 constitute another at least one data page, and all the floating-gate transistors on word line WL2 constitute yet another at least one data page … in such a stack. In addition, the definition of the word line WL0 is different from that of the data page (logical data page) according to the writing method of the flash memory, and in detail, when the Single-Level Cell (SLC) is used for writing, all the floating gate transistors on the word line WL0 only correspond to a Single logical data page; when writing using Multi-Level Cell (MLC), all floating gate transistors on the word line WL0 correspond to two, three or four logical data pages, where the case where all floating gate transistors on the word line WL0 correspond to three logical data pages may be referred to as Triple-Level Cell (TLC) architecture, and the case where all floating gate transistors on the word line WL0 correspond to four logical data pages may be referred to as Quad-Level Cell (QLC) architecture. Since one skilled in the art should understand the structure of the three-dimensional NAND-type flash memory and the relationship between the word lines and the data pages, the details thereof are not repeated herein. In addition, in the operation of the flash memory controller 110, a "page of data" is a minimum write unit, and a "block" is a minimum erase unit.
Referring to fig. 3, which is a conceptual diagram of the structure of the floating gate transistors 202, as shown in fig. 3, the gate and the floating gate of each floating gate transistor are surrounded by the source and the drain (gate all around) to enhance the channel sensing capability.
It is noted that fig. 2 and 3 illustrate only an example of a three-dimensional NAND flash memory and floating gate transistor 202, and are not intended to limit the present invention, and those skilled in the art will appreciate that there are other types of three-dimensional NAND flash memories, such as some word lines may be connected to each other.
As described in the prior art, in some stereo NAND-type flash memories, a plurality of word lines are defined as a word line group, and the word line group has a part of control circuits in common, which may cause a data error in the floating gate transistors of other word lines of the word line group when a data write failure occurs in the floating gate transistors of one word line of the word line group (write failure). In one embodiment, the word lines in the same plane are set as a word line group, and referring to FIG. 2, the word lines WL 0-WL 2 are assigned to the first word line group, the word lines WL 4-WL 6 are assigned to the second word line group …, and so on. Referring to FIG. 4, which is a schematic diagram of multiple word line groups in a block, it is assumed in FIG. 4 that the block includes all floating gate transistors of 192 word lines, and a word line group includes 4 word lines, so that the block in FIG. 4 includes 48 word line groups WL _ G0-WL _ G47; in addition, in the drawings, the block is a triple layer storage (TLC) block, that is, the floating gate transistors of each word line can be used to store data of three data pages, as shown in fig. 4, for example, a word line group WL _ G0, which includes floating gate transistors on a word line WL0 for storing a low data page P0L, an intermediate data page P0M and a high data page P0U, floating gate transistors on a word line WL1 for storing a low data page P1L, an intermediate data page P1M and a high data page P1U, floating gate transistors on a word line WL2 for storing a low data page P2L, an intermediate data page P2M and a high data page P2U, and floating gate transistors on a word line WL3 for storing a low data page P3L, an intermediate page P3M and a high data page P3U. When data is written to the data page of the word line group WL _ G0 in the controller, the data is written to the floating gate transistors in the word lines WL0, WL1, WL2, WL3 in sequence, assuming that the data on the word lines WL0, WL1 are all successfully written, but when a write error occurs while the data is written to the word line WL2, the data that was successfully written on the word lines WL0, WL1 is also erroneously written.
In addition, in some cases, even though the data is successfully written, the data cannot be read or read error may occur in the subsequent reading, for example, the word line is open (open) to cause the data cannot be read. On the other hand, if two word lines in different word line groups are shorted, such as the word line WL3 and the word line WL4 in fig. 4, the data in both word line groups WL _ G0 and WL _ G1 cannot be read successfully.
As described above, since the flash memory encounters the situations of write failure, word line open and word line short during writing data and subsequent reading, which causes data errors in the entire word line group, the present invention provides a method for accessing the flash memory module 120 that can solve the above problems, and can be implemented with only few resources (e.g., few memory spaces). The details are as follows.
Referring to fig. 5, fig. 5 is a schematic diagram illustrating the flash controller 110 writing data to the flash memory module 120. As shown in fig. 5, the flash memory module 120 includes a plurality of channels (in the embodiment, two channels 510, 520 are taken as an example), and each channel has a respective serial transmitter (sequence) in the flash memory controller 110 and includes a plurality of flash memory chips, whereas in the embodiment, the channel 510 includes the flash memory chips 512, 514, and the channel 520 includes the flash memory chips 522, 524. In addition, one block of each flash memory chip 512, 514, 522, 524 is configured as a super block (superblock), and the flash controller 110 writes data in units of superblocks. In the present embodiment, the super block 530 includes a triple-layered storage block in each of the flash memory chips 512, 514, 522, 524, and the super block 540 includes a single-layered storage block in each of the flash memory chips 512, 514, 522, 524. It is noted that in other embodiments of the present invention, super block 530 may also comprise a four-tier storage block in each of flash memory chips 512, 514, 522, 524.
Referring to fig. 5 and 6, fig. 6 is a schematic diagram illustrating a flash controller 110 writing data into a super block 530 according to a first embodiment of the present invention, wherein each data is written into one data page of each of the flash memory chips 512, 514, 522, 524, that is, the 1 st data is written into the first data page P0 of each of the flash memory chips 512, 514, 522, 524, the 2 nd data is written into the second data pages P1, … of each of the flash memory chips 512, 514, 522, 524, and the nth data is written into the nth data page P (N-1) of each of the flash memory chips 512, 514, 522, 524. Referring to fig. 6, when the flash controller 110 needs to write the 1 st data into the super block 530, first, the first codec 132 encodes the 1 st data to generate corresponding error correction codes, and writes the 1 st data and the error correction codes generated by the first codec 132 into the first data page P0 of each of the flash memory chips 512, 514, 522, 524, specifically, the first codec 132 encodes the first part of the 1 st data to generate error correction codes, and writes the first part of the data and the error correction codes into the first data page P0 of the flash memory chip 512; the first codec 132 encodes the second part of the data in the first data to generate an error correction code, and writes the second part of the data and the error correction code to the first data page P0 of the flash chip 514; the first codec 132 encodes the third part of the data in the first stroke of data to generate an error correction code, and writes the third part of the data and the error correction code to the first data page P0 of the flash memory chip 522; and the first codec 132 encodes the fourth portion of data (the last portion of data) in the 1 st data to generate the error correction code, and writes the fourth portion of data and the error correction code thereof to the first data page P0 of the flash memory chip 524. It should be noted that the operation required by the first codec 132 may be performed in units of one sector (sector), wherein each data page is composed of a plurality of sectors. Before the 1 st data and the ECC code generated by the first codec 132 are written into the super block 530, the second codec 134 in the flash controller 110 encodes the 1 st data and the ECC code thereof to generate a 1 st set of check codes S0. In one embodiment, the second codec 134 may encode the data written into the first data page P0 of each of the flash chips 512, 514, 522, 524 by using Reed-Solomon (RS) encoding OR exclusive-OR (XOR) operation to generate the 1 st set of error correction codes S0. For example, and not by way of limitation, the second codec 134 may exclusive-OR the first bits of the first data page P0 of the flash chips 512, 514, 522, 524 with each other to obtain the first bits of the group 1 parity code S0, exclusive-OR the second bits of the first data page P0 of the flash chips 512, 514, 522, 524 with each other to obtain the second bits … of the group 1 parity code S0, and so on.
The group 1 check code S0 generated by the second codec 134 is used to perform error correction when the first data page P0 of one of the flash chips 512, 514, 522 or 524 has data errors, for example, if the data of the first data page P0 of the flash chip 512 has errors that cannot be corrected by its own data (i.e. cannot be corrected by the error correction code generated by the first codec 132), the second codec 134 can read the data of all the first data pages P0 of the flash chips 514, 522 and 524, and then add the group 1 check code S0 to determine the error correction to determine the data of the first data page P0 of the flash chip 512.
In addition, the group 1 parity check code S0 generated by the second codec 134 is temporarily stored in the buffer memory 116 of the flash controller 110.
In addition, during the 1 st data writing process, the flash controller 110 performs a read check operation on the written data to determine whether the data is successfully written. When the data is written incorrectly, the second codec 134 can directly use the group 1 parity S0 stored in the buffer 116 to correct the read data, and since the flash memory module 120 cannot directly correct the written data, the corrected data (corrected group 1 data) can be written into another superblock together with other data in the superblock 530 for a suitable time. After the flash controller 110 determines that the 1 st data has been successfully written into the first data page P0 of the flash memory chips 512, 514, 522 and 524, the flash controller 110 moves the 1 st parity code S0 from the buffer memory 116 to the super block 540.
Then, when the flash controller 110 needs to write the 2 nd data into the super block 530, first, the first codec 132 encodes the 2 nd data to generate corresponding error correction codes, and writes the 2 nd data and the error correction codes generated by the first codec 132 into the second data page P1 of each of the flash memory chips 512, 514, 522, 524. Before the 2 nd data and the ECC generated by the first codec 132 are written into the super block 530, the second codec 134 in the flash controller 110 encodes the 2 nd data and the ECC thereof to generate a 2 nd set of check codes S1. In one embodiment, the second codec 134 may encode the data written to the second data page P1 of each of the flash chips 512, 514, 522, 524 by reed-solomon encoding or exclusive-or operation to generate the 2 nd set of error correction codes S1.
In addition, the 2 nd parity code S1 generated by the second codec 134 is temporarily stored in the buffer memory 116 of the flash controller 110.
Similarly, during the 2 nd data writing process, the flash controller 110 also performs a read check operation on the written data to determine whether the data was successfully written. When the data is wrongly written, the second codec 134 can directly use the group 2 parity S1 stored in the buffer 116 to correct the read data, and the corrected data (corrected group 2 data) can wait for a suitable time to be written into another superblock together with other data in the superblock 530. After the flash controller 110 determines that the 2 nd data has been successfully written into the second data page P1 of the flash memory chips 512, 514, 522 and 524, the flash controller 110 moves the 2 nd parity code S1 from the buffer memory 116 to the super block 540.
It should be noted that, when a write error occurs during the writing of the 2 nd data, the data pages P1 and P0 belong to the same word line group WL _ G0, and therefore, the data page P0 in the flash memory chips 512, 514, 522 and 524 may be damaged. For example, if the data page P1 of the flash chip 514 is erroneous during the data writing process, the data page P0 of the flash chip 514 that has been successfully written previously is also erroneous. At this time, since the buffer memory 116 does not store the group 1 parity S0, the flash controller 110 reads the group 1 parity S0 from the super block 540 to correct the 1 st data read from the super block 530.
Based on the same operation, the flash controller 110 continues to write the 3 rd data into the third data page P2 in the flash memory chips 512, 514, 522 and 524, and generates the corresponding 3 rd group check code S2; and writing the 4 th data into the fourth data page P3 in the flash memory chips 512, 514, 522 and 524, and generating the corresponding 4 th group check code S3 to complete the data writing operation on the word line group WL _ G0.
Then, similar to the above steps, the flash controller 110 writes the next 5 th to 184 th data into the flash chips 512, 514, 522 and 524, and the second codec 134 encodes the 5 th to 184 th data to generate 5 th to 183 th parity codes S4 to S183, respectively, and stores the 5 th to 183 th parity codes S4 to S183 into the super block 540.
For the 185 th datum, the flash controller 110 only writes the 185 th datum to the data page P184 in the flash memory chips 512, 514, 522 along with the error correction code generated by the first codec 132, but does not write the datum to the data page P184 in the flash memory chip 524. Before the 185 th data is written into the superblock 530, the second codec 134 encodes the 185 th data and its error correction code to generate a 185 th set of check codes S184. Then, the flash controller 110 reads the first parity codes S0, S8, S16, …, S176 of each of the word line groups WL _ G0-WL _ G45 from the superblock 540, and the second codec exclusive-ors the parity codes S0, S8, S16, …, S176 and the parity code S184 together to obtain the first final parity code SF 0. Then, the flash controller 110 writes the 185 th data to the data page P184 in the flash chips 512, 514, 522, and writes the first set of final check codes SF0 to the data page P184 in the flash chip 524. In one embodiment, the second codec 134 performs exclusive-or operation on the first bits of the check codes S0, S8, S16, …, and S184 together to generate the first bit of the final check code SF0, performs exclusive-or operation on the second bits of the check codes S0, S8, S16, …, and S184 together to generate the second bit … of the final check code SF0, and so on until the last bit of the final check code SF0 is completed. Additionally, the parity code S184 can be stored in the super block 540.
For the 186 th data, the flash controller 110 only writes the 186 th data and the ECC code generated by the first codec 132 into the page P185 of the flash memory chips 512, 514, 522, but does not write the data into the page P185 of the flash memory chip 524. Before the 186 th data is written into the superblock 530, the second codec 134 encodes the 186 th data and its error correction code to generate the 186 th set of check codes S185. Then, the flash controller 110 reads the second set of check codes S1, S9, S17, …, S177 of each of the word line groups WL _ G0-WL _ G45 from the superblock 540, and the second codec exclusive-ors the check codes S1, S9, S17, …, S177 and the check code S185 together to obtain a second final check code SF 1. Then, the flash controller 110 writes the 186 th data to the data page P185 in the flash chips 512, 514, 522, and writes the second set of final check codes SF1 to the data page P185 in the flash chip 524. In one embodiment, the second codec 134 performs exclusive-or operation on the first bits of the check codes S1, S9, S17, …, and S185 together to generate the first bit of the final check code SF1, performs exclusive-or operation on the second bits of the check codes S1, S9, S17, …, and S185 together to generate the second bit … of the final check code SF1, and so on until the last bit of the final check code SF1 is completed. In addition, the parity code S185 may be stored in the super block 540.
Based on similar operations, for the 187-192 data, the flash controller 110 writes the 187-192 data together with the error correction code generated by the first codec 132 into the data pages P186-P191 of the flash memory chips 512, 514, 522; the second codec 134 also generates the third through eighth final check codes SF 2-SF 7 according to the similar operation described above, and writes the third through eighth final check codes SF 2-SF 7 into the data pages P186-P191 of the flash chip 524, respectively.
The concept of generating 8 final check codes SF0 SF7 according to the 1 st to 192 th check codes S0S 191 can be referred to the contents shown in FIG. 7.
In this embodiment, the check code stored in superblock 540 is only a temporary check code, that is, the sets of check codes S0-S191 stored in superblock 540 are only used when an error occurs during the writing of data into superblock 530. Therefore, after the final check codes SF 0-SF 7 are written into superblock 530, the sets of check codes S0-S191 stored in superblock 540 need not be used any more, so that the flash controller 110 can erase or mark the contents of superblock 540 as invalid if the data stored in the subsequent superblock 530 is still valid.
It should be noted that, since the final check codes SF 0-SF 7 are generated from the check codes S0-S191, the final check codes SF 0-SF 7 carry the information of each previous group of check codes S0-S191. That is, in the subsequent read operation, each group of check codes S0-S191 can be obtained according to the corresponding data page content again (for example, the check code S1 is obtained by reading the data page P1 of the flash memory chips 512, 514, 522, 524), and if an error occurs, the error can be corrected by the corresponding final check codes SF 0-SF 7. For example, if one word line in the word line group WL _ G0 is open, for example, the word line corresponding to the data page P0 of the flash chip 514 is open, the flash controller 110 can read the data in the other word line groups to regenerate the check codes S8, S16, the parity, S184 and the final check code SF0 to regenerate the check code S0, and then use the check code S0 and the contents read from the data page P0 of the flash chips 512, 522 and 524 to regenerate the data of the data page P0 of the flash chip 514; the flash controller 110 reads the data in the other word line groups to regenerate the check codes S9, S17, and S185 and the final check code SF1 to regenerate the check code S1, and then regenerates the data of the data page P1 of the flash chip 514 using the check code S1 and the contents read from the data page P1 of the flash chips 512, 522, 524; and regenerating the data of the data pages P2, P3 of the flash chip 514 according to the similar operations described above. As described above, by the above operation, as long as the superblock 530 does not have a plurality of data lines open, the data can be successfully restored without the data being unable to be repaired.
In addition, if two data lines are shorted between the word line groups WL _ G0 and WL _ G1, for example, the word lines corresponding to the data pages P3 and P4 of the flash memory chip 514 are shorted, the data in the word line groups WL _ G0 and WL _ G1 can be restored more correctly by the method mentioned in the previous paragraph, and the situation that the data cannot be repaired does not occur.
It should be noted that each of P0-P191 shown in fig. 6 is not limited to three data pages, but may be 2 or 4 data pages.
In addition, in the embodiments shown in FIGS. 6-7, the final check codes SF 0-SF 7 are generated by reading the check codes previously stored in superblock 540, however, the invention is not limited thereto. In another embodiment, the check codes stored in the super block 540 may be encoded together with the check codes of the previous word line group during the generation process, for example, the second codec 134 may encode the 9 th data (written to the 9 th data page P8 in each of the flash memory chips 512, 514, 522, 524) and the 1 st check code S0 together to generate the 9 th group check code S8, encode the 17 th data (written to the 17 th data page P16 in each of the flash memory chips 512, 514, 522, 524) and the 9 th group check code S8 together to generate the 17 th group check code S16, …, and encode the 185 th data (written to the 185 th data page P184 in each of the flash memory chips 512, 514, 522, 524) and the 177 th group check code S176 together to generate the 185 th group check code S184. In this way, the 185 th group of check codes S184 carries the information of the previous check codes S0, S8, S16, …, and S176, so the 185 th group of check codes S184 can be directly used as the first final group of check codes SF0 and stored in the super block 530 corresponding to the data page P184 of the flash chip 524. Similarly, the final check codes SF 1-SF 7 can be generated as described above and stored in the data pages P185-P191 of the superblock 530 corresponding to the flash chip 524, respectively.
In addition, in fig. 5, the super block 530 includes only one triple-layered storage block in each of the flash chips 512, 514, 522, 524, however, in other embodiments, for example, in the case where the flash module 120 is configured with two block planes, the super block 530 may include two triple-layered storage blocks in each of the flash chips 512, 514, 522, 524, and the two triple-layered storage blocks in each of the flash chips 512, 514, 522, 524 are controlled by different chip enable (chip enable) signals. Similarly, the super block 540 may also include two single-layer storage blocks in each of the flash memory chips 512, 514, 522, 524.
Please refer to fig. 8, which is a flowchart illustrating a method for accessing a flash memory module according to an embodiment of the invention. With reference to the above disclosure, the process is as follows:
step 800: the process begins.
Step 802: the plurality of flash memory chips are programmed to have at least one first super block and at least one second super block.
Step 804: writing a data into the at least one superblock.
Step 806: the data is encoded to generate a plurality of temporary check codes, and the plurality of temporary check codes are stored in the at least one second superblock.
Step 808: and generating a final check code according to the plurality of groups of temporary check codes.
Step 810: and writing the final check code into the at least one first super block.
Step 812: erasing or marking the at least one second superblock as invalid.
Step 814: the flow ends.
Briefly summarized, in the embodiment of the method for accessing a flash memory module of the present invention, the second codec sequentially encodes a plurality of data written into the hierarchically stored superblock, stores the generated temporary check codes into the hierarchically stored superblock, reads the temporary check codes stored in the hierarchically stored superblock to generate the final check code with a very low data size, and stores the final check code into the hierarchically stored superblock. By the above access method, not only can the data read error caused by data write error, word line open circuit and word line short circuit be corrected, but also the capacity requirement of the buffer memory in the flash memory controller can be greatly reduced, and the flash memory module does not need to waste too much space for storing the check code, so the cost of the flash memory controller and the use efficiency of the flash memory module can be greatly reduced.
The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (6)

1. A method for accessing a flash memory module, wherein the flash memory module is a three-dimensional flash memory module, the flash memory module comprises a plurality of flash memory chips, each flash memory chip comprises a plurality of blocks, the plurality of blocks comprise a plurality of multi-layer storage blocks and a plurality of single-layer storage blocks, and each block comprises a plurality of data pages; each block comprises a plurality of floating gate transistors which are respectively positioned on a plurality of different planes and controlled by a plurality of word lines and bit lines, and the floating gate transistor of each word line forms at least one data page in the plurality of data pages; and the method comprises the following steps:
encoding data to generate at least one set of check codes, wherein the data is to be written into a first super block of the plurality of flash memory chips, wherein the first super block comprises a multi-level storage block of each of the plurality of flash memory chips;
writing the data to the first superblock; and
writing the at least one set of check codes into a second super block, wherein the second super block comprises a single-layer storage block of each of the plurality of flash memory chips;
before the data is written into the first super block, encoding the data to generate the at least one group of check codes, and storing the at least one group of check codes into a buffer memory of a flash controller; and
when the data has write error, the at least one group of check codes stored in the buffer memory is directly used for correcting the data.
2. The method of claim 1, wherein the at least one parity check code is a temporary parity check code, and the method further comprises:
reading the at least one check code from the second superblock and generating a final check code according to the at least one check code;
writing the set of final check codes into the first superblock.
3. A flash memory controller is used for accessing a flash memory module, wherein the flash memory module is a three-dimensional flash memory module, the flash memory module comprises a plurality of flash memory chips, each flash memory chip comprises a plurality of blocks, the blocks comprise a plurality of multi-layer storage blocks and a plurality of single-layer storage blocks, and each block comprises a plurality of data pages; each block comprises a plurality of floating gate transistors which are respectively positioned on a plurality of different planes and controlled by a plurality of word lines and bit lines, and the floating gate transistor of each word line forms at least one data page in the plurality of data pages; and the flash memory controller includes:
a memory for storing a program code;
a microprocessor for executing the program code to control access to the flash memory module; and
a codec;
the codec encodes data to generate at least one set of check codes, wherein the data is to be written to a first super block of the flash memory chips, wherein the first super block comprises a multi-level storage block of each of the flash memory chips; and the microprocessor writing the data to the first super block and writing the at least one set of check codes to a second super block, wherein the second super block comprises a single-layered storage block for each of the plurality of flash memory chips;
wherein before the data is written into the first superblock, the codec encodes the data to generate the at least one set of parity codes and stores the set of parity codes into a buffer memory of a flash memory controller; and when the data has write error, the codec directly corrects the data by using the at least one group of check codes stored in the buffer memory.
4. The flash controller of claim 3, wherein the at least one parity check code is a temporary parity check code, and the microprocessor reads the at least one parity check code from the second superblock, and the codec generates a final parity check code based on the at least one parity check code and writes the final parity check code into the first superblock.
5. A memory device, comprising:
a flash memory module, wherein the flash memory module is a three-dimensional flash memory module, the flash memory module comprises a plurality of flash memory chips, each flash memory chip comprises a plurality of blocks, the plurality of blocks comprise a plurality of multi-layer storage blocks and a plurality of single-layer storage blocks, and each block comprises a plurality of data pages; each block comprises a plurality of floating gate transistors which are respectively positioned on a plurality of different planes and controlled by a plurality of word lines and bit lines, and the floating gate transistor of each word line forms at least one data page in the plurality of data pages; and
a flash memory controller for accessing the flash memory module;
when a write command from a host computer is received to request to write data into the flash memory module, the flash memory controller encodes the data to generate at least one group of check codes and writes the data into a first super block of the flash memory chips, wherein the first super block comprises a multi-layer storage block of each of the flash memory chips; writing the at least one group of check codes into a second super block, wherein the second super block comprises a single-layer storage block of each of the plurality of flash memory chips;
wherein during the writing of the data to the at least one first superblock: the flash controller reading a portion of the data from the first superblock that has been written to the at least one first superblock; and when an uncorrectable error occurs during reading of a part of the content of the data, the flash memory controller reads at least a part of the check code from the second super block and performs error correction on the read data by using the at least a part of the check code.
6. The memory device as in claim 5, wherein the at least one parity code is a temporary parity code, and the flash controller reads the at least one parity code from the second super block, generates a final parity code according to the at least one parity code, and writes the final parity code into the first super block.
CN202010697066.6A 2016-04-27 2017-04-26 Method for accessing flash memory module and related flash memory controller and memory device Active CN111951855B (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201662328025P 2016-04-27 2016-04-27
US201662328027P 2016-04-27 2016-04-27
US62/328,025 2016-04-27
US62/328,027 2016-04-27
TW106110436A TWI665679B (en) 2016-04-27 2017-03-29 Method for accessing flash memory module and associated flash memory controller and memory device
TW106110436 2017-03-29
CN201710279848.6A CN107403640B (en) 2016-04-27 2017-04-26 Method for accessing flash memory module and related flash memory controller and memory device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201710279848.6A Division CN107403640B (en) 2016-04-27 2017-04-26 Method for accessing flash memory module and related flash memory controller and memory device

Publications (2)

Publication Number Publication Date
CN111951855A true CN111951855A (en) 2020-11-17
CN111951855B CN111951855B (en) 2022-05-10

Family

ID=81437225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010697066.6A Active CN111951855B (en) 2016-04-27 2017-04-26 Method for accessing flash memory module and related flash memory controller and memory device

Country Status (1)

Country Link
CN (1) CN111951855B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022217845A1 (en) * 2021-04-13 2022-10-20 长鑫存储技术有限公司 Data transmission circuit and method, and storage apparatus
US11810637B2 (en) 2021-04-13 2023-11-07 Changxin Memory Technologies, Inc. Data transmission circuit, data transmission method, and storage apparatus with read-write conversion circuit
US11901028B2 (en) 2021-04-13 2024-02-13 Changxin Memory Technologies, Inc. Data transmission circuit, data transmission method, and storage apparatus

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010004326A1 (en) * 1999-12-20 2001-06-21 Yukio Terasaki Memory controller for flash memory system and method for writing data to flash memory device
US20040156251A1 (en) * 2003-02-07 2004-08-12 Renesas Technology Corp. Nonvolatile memory system
US20080189466A1 (en) * 2007-02-06 2008-08-07 Hitachi, Ltd. Storage system and control method thereof
US20110066877A1 (en) * 2009-09-04 2011-03-17 Po-Syuan Chen Method for accessing flash memory and associated memory device
CN102033814A (en) * 2009-09-25 2011-04-27 慧荣科技股份有限公司 Method for accessing flash memory and relevant memory device
CN103473146A (en) * 2012-06-06 2013-12-25 慧荣科技股份有限公司 Memory control method, memory controller and electronic device
CN103544073A (en) * 2012-07-17 2014-01-29 慧荣科技股份有限公司 Method for reading data of block in flash memory and related memory device
US20140129874A1 (en) * 2012-11-07 2014-05-08 Apple Inc. Redundancy schemes for non-volatile memory using parity zones having new and old parity blocks
CN104282340A (en) * 2014-09-30 2015-01-14 华中科技大学 Threshold voltage sensing method and threshold voltage sensing system for solid-state disk flash memory chip

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010004326A1 (en) * 1999-12-20 2001-06-21 Yukio Terasaki Memory controller for flash memory system and method for writing data to flash memory device
US20040156251A1 (en) * 2003-02-07 2004-08-12 Renesas Technology Corp. Nonvolatile memory system
CN1571069A (en) * 2003-02-07 2005-01-26 株式会社瑞萨科技 Nonvolatile memory system
US20080189466A1 (en) * 2007-02-06 2008-08-07 Hitachi, Ltd. Storage system and control method thereof
US20110066877A1 (en) * 2009-09-04 2011-03-17 Po-Syuan Chen Method for accessing flash memory and associated memory device
CN102033814A (en) * 2009-09-25 2011-04-27 慧荣科技股份有限公司 Method for accessing flash memory and relevant memory device
CN103473146A (en) * 2012-06-06 2013-12-25 慧荣科技股份有限公司 Memory control method, memory controller and electronic device
CN103544073A (en) * 2012-07-17 2014-01-29 慧荣科技股份有限公司 Method for reading data of block in flash memory and related memory device
US20140129874A1 (en) * 2012-11-07 2014-05-08 Apple Inc. Redundancy schemes for non-volatile memory using parity zones having new and old parity blocks
CN104282340A (en) * 2014-09-30 2015-01-14 华中科技大学 Threshold voltage sensing method and threshold voltage sensing system for solid-state disk flash memory chip

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022217845A1 (en) * 2021-04-13 2022-10-20 长鑫存储技术有限公司 Data transmission circuit and method, and storage apparatus
US11810637B2 (en) 2021-04-13 2023-11-07 Changxin Memory Technologies, Inc. Data transmission circuit, data transmission method, and storage apparatus with read-write conversion circuit
US11901028B2 (en) 2021-04-13 2024-02-13 Changxin Memory Technologies, Inc. Data transmission circuit, data transmission method, and storage apparatus

Also Published As

Publication number Publication date
CN111951855B (en) 2022-05-10

Similar Documents

Publication Publication Date Title
CN107403640B (en) Method for accessing flash memory module and related flash memory controller and memory device
CN110147295B (en) Method for accessing flash memory module, flash memory controller and memory device
CN107391296B (en) Method for accessing flash memory module and related flash memory controller and memory device
CN107423158B (en) Method for accessing flash memory module and related flash memory controller and memory device
US10635585B2 (en) On-chip copy with data folding in three-dimensional non-volatile memory array
TWI674586B (en) Method for accessing flash memory module and associated flash memory controller and memory device
CN112463433B (en) Method for accessing flash memory module, and related flash memory controller and memory device
CN111951855B (en) Method for accessing flash memory module and related flash memory controller and memory device
CN112214348B (en) Method for accessing flash memory module, and related flash memory controller and memory device
TWI575530B (en) Method for accessing flash memory module and associated flash memory controller and memory device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant