JP2024046239A - Memory system and control method - Google Patents
Memory system and control method Download PDFInfo
- Publication number
- JP2024046239A JP2024046239A JP2022151503A JP2022151503A JP2024046239A JP 2024046239 A JP2024046239 A JP 2024046239A JP 2022151503 A JP2022151503 A JP 2022151503A JP 2022151503 A JP2022151503 A JP 2022151503A JP 2024046239 A JP2024046239 A JP 2024046239A
- Authority
- JP
- Japan
- Prior art keywords
- page
- pages
- data
- code
- storage unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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 sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1072—Adding 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
本実施形態は、メモリシステムおよび制御方法に関する。 This embodiment relates to a memory system and a control method.
ソリッドステートドライブ(SSD)等のメモリシステムにおいてデータ記憶のために不揮発性メモリが用いられている。例えば、不揮発性メモリとして知られるNAND型フラッシュメモリは、1つのメモリセルに2ビット以上の複数のデータを記憶(多値記憶)することが可能である。ところで、多値記憶を実現するためには、複数の多値データ(4値の場合、2ビットデータ“00”、“01”、“10”、“11”)に対応して複数の閾値分布(4値の場合、4つの閾値分布)のそれぞれを所定範囲内に収まるように制御する必要がある。このため、記憶するビット数が増えると、1つのデータに対応する閾値分布をより狭い範囲で制御する必要がある。 Non-volatile memory is used for data storage in memory systems such as solid state drives (SSDs). For example, NAND-type flash memory, known as a non-volatile memory, is capable of storing two or more bits of data (multi-value storage) in one memory cell. However, in order to achieve multi-value storage, it is necessary to control each of multiple threshold distributions (four threshold distributions in the case of four values) corresponding to multiple multi-value data (two-bit data "00", "01", "10", and "11" in the case of four values) so that they fall within a predetermined range. For this reason, as the number of bits to be stored increases, it is necessary to control the threshold distribution corresponding to one piece of data within a narrower range.
ここで、例えば、4値記憶のメモリセルへの書き込みを行う場合、下位ページへの書き込み後に上位ページに対する書き込みを行い、2ビット(4値)のデータを記憶させる。この下位ページから上位ページへの一連のプログラム動作において、例えば、上位ページの書き込み中に電源の異常遮断など(以下、瞬断ともいう)により書き込み中断が生じた場合、先に書込まれた下位ページのデータも巻き添えで破壊されてしまう可能性がある。このように瞬断に伴うデータ破壊は、8値記憶や16値記憶など他の多値記憶の場合でも生じ得る。 For example, when writing to a memory cell that stores four values, writing is performed to the lower page and then to the upper page, storing two bits (four values) of data. In this series of program operations from the lower page to the upper page, if writing is interrupted during writing to the upper page due to an abnormal power interruption (hereinafter also referred to as a momentary power outage), the data in the lower page that was written earlier may also be destroyed as a result. Data destruction due to a momentary power outage like this can also occur in other multi-value storage methods such as 8-value storage and 16-value storage.
本発明の一実施形態では、多値メモリの上位ページ書き込み中等プログラムの途中で瞬電が発生した場合でも、先に書き込まれた下位ページ等のデータを維持することのできるメモリシステム及び制御方法を提供する。 An embodiment of the present invention provides a memory system and a control method that can maintain the data of the lower page written earlier even if an instantaneous power failure occurs in the middle of a program such as writing an upper page of a multilevel memory. provide.
本発明の実施形態によれば、複数のページを有し多値データを記憶可能な複数のメモリセルが複数配列して構成される不揮発性の記憶部と、記憶部に記憶されたデータをページ単位で誤り訂正可能な訂正処理部と、記憶部への多値データの書き込み、及び、記憶部から書き込んだ多値データの読み出しを行うコントローラと、を有する。そして、コントローラは、記憶部に記憶された多値データの格納位置を管理し、複数のページのうち最も下位のページのみにデータが記憶されているページを検出し、検出されたページすべてを1つのフレームとした誤り訂正符号を訂正処理部に生成させ、最も下位のページのうち1つのフレームを構成するページに続いて書き込み可能であるページに誤り訂正符号を書き込む。 According to an embodiment of the present invention, a non-volatile memory unit having multiple pages and configured with multiple memory cells capable of storing multi-value data is provided, a correction processing unit capable of error correcting data stored in the memory unit on a page-by-page basis, and a controller that writes multi-value data to the memory unit and reads the multi-value data written from the memory unit. The controller manages the storage location of the multi-value data stored in the memory unit, detects a page in which data is stored only in the lowest page of the multiple pages, causes the correction processing unit to generate an error correction code with all the detected pages as one frame, and writes the error correction code to a page that can be written to following the page that constitutes one frame of the lowest page.
(実施形態の構成)
以下、図面を参照して本発明の実施形態に係るメモリシステムの一例を詳細に説明する。本実施形態では、上位ブロックの書き込み中(書き込み直前又は書き込み途中を含む)にデータ破壊の巻き添えを受けやすい書き込み済みの下位ブロックに対して誤り訂正を行う。これにより、書き込み中に電源の異常遮断など瞬電が発生し、下位ブロックが巻き添えを受けてデータ破壊されたとしてもデータを復元することを可能とする。
(Configuration of embodiment)
Hereinafter, an example of a memory system according to an embodiment of the present invention will be described in detail with reference to the drawings. In this embodiment, error correction is performed on a written lower block that is susceptible to data destruction during writing of an upper block (including immediately before or during writing). This makes it possible to restore data even if an instantaneous power failure occurs during writing, such as an abnormal power cutoff, and the data is destroyed as a result of the lower block being affected.
図1は、本発明の一実施形態に適用可能なメモリシステム1の一例の構成を示す。図1の例では、メモリシステム1は、ホストインターフェース(I/F)10、バッファメモリ11、メモリコントローラ12、および、フラッシュメモリ部13を含む。
FIG. 1 shows the configuration of an example of a
ホストインターフェース10は、メモリシステム1とメモリシステム1と接続されるホスト14とのインターフェースである。ホスト14は、例えば、パーソナルコンピュータ(PC)のような情報処理装置である。ホストインターフェース10としては、例えば、SCSI、Serial Attached SCSI(SAS)、ATA、Serial ATA(SATA)、PCI Express(PCIe)(登録商標)、Ethernet(登録商標)、Fibre channel、NVM Express(NVMe)(登録商標)等が使用され得る。
The
バッファメモリ11は、ホスト14からホストインターフェース10を介して入力される書き込みデータを一時的に保持するライトバッファ11Aと、フラッシュメモリ部13から読み出された読み出しデータをホスト14に転送する前に一時的に保持するリードバッファ11Bとを有する。メモリコントローラ12は、例えば、CPU(Central Processing Unit)(図示せず)を含み、ホストインターフェース10およびバッファメモリ11を制御して、フラッシュメモリ部13へのデータ書き込みや、フラッシュメモリ部13からのデータ読み出しを行う。
The
メモリコントローラ12は、ホスト14からフラッシュ(Flush)処理を要求するコマンド(以下「フラッシュコマンド」と称する。)を受けることがある。フラッシュ処理とは、ホスト14がメモリシステム1に対してデータの不揮発化を要求する処理であり、ホスト14からのフラッシュコマンドにより実行される。メモリシステム1は、ホスト14からフラッシュコマンドを受けると、ライトバッファ11Aに格納されている未書き込みデータをNANDフラッシュメモリチップ23に書き込む処理(不揮発化処理とも呼ぶ)を実行する。フラッシュコマンド発行時にライトバッファ11Aに格納されている未書き込みデータの終端位置までが、このフラッシュコマンドに対応する不揮発化処理の対象データとなる。
The
フラッシュメモリ部13は、NANDフラッシュコントローラ(コントローラ)20と複数のNANDフラッシュメモリチップ(記憶部)23を有すると共に、各NANDフラッシュメモリチップ23にそれぞれ対応する複数のエンコーダ(Encoder)及びデコーダ(Decoder)22(以下、E/D部22と呼ぶ)を有する。フラッシュメモリ部13は、さらに、リード・ソロモン符号のエンコーダ及びデコーダ(以下、RS-E/D部と呼ぶ)21を有する。NANDフラッシュメモリチップ23は、チップ内に3次元状に配列された多数のメモリセルにビットデータを書き込み、又は、書込まれたデータを読み出し、又は、書込まれたデータをブロック単位で消去したりできるように構成される。
The flash memory section 13 includes a NAND flash controller (controller) 20 and a plurality of NAND flash memory chips (storage section) 23, and a plurality of encoders and decoders corresponding to each NAND
NANDフラッシュコントローラ20は、各NANDフラッシュメモリチップ23に対する前記データの書き込み、読み出し、及び消去を制御する。また、NANDフラッシュコントローラ20は、各E/D部22、RS-E/D部21の動作を制御する。NANDフラッシュコントローラ20は、データの記憶位置や、データが有効または無効なページを検出し、管理することができる。
The
例えば、NANDフラッシュコントローラ20は、ライトバッファ11Aに所定量のデータ(原データ)が保持されると、ライトバッファ11Aから、NANDフラッシュメモリチップ23の記憶単位分のデータをE/D部22に供給する。書き込みデータは、そこでエラー訂正符号化され、NANDフラッシュコントローラ20の制御によりNANDフラッシュメモリチップ23に記憶される。また、NANDフラッシュコントローラ20は、メモリコントローラ12がホスト14からフラッシュコマンドを受けると、NANDフラッシュメモリチップ23への書き込みを実行する。
For example, when a predetermined amount of data (original data) is held in the
RS-E/D部(訂正処理部)21は、データ書き込み時、ライトバッファ11Aから入力された入力データ(原データ)に対してリード・ソロモン符号(以下、RS符号と略称する)を用いた誤り訂正符号化を行う。また、データ読み出し時、NANDフラッシュメモリチップ23に記憶されたデータに付随するRS符号をデコードし、当該データに対して誤り訂正を行う。このように、RS-E/D部21は、エンコードおよびデコード対象となるデータを用いて誤り訂正符号化および誤り訂正などを行う。なお、この実施形態では、リード・ソロモン符号を生成し、誤り訂正を実現しているが、これには限定されない。誤り訂正符号は消失訂正できればよいので、例えばXORなどを用いてもよい。RS-E/D部21で生成されたRS符号は、NANDフラッシュコントローラ20の制御に応じてE/D部22に供給される。
When writing data, the RS-E/D unit (correction processing unit) 21 uses a Reed-Solomon code (hereinafter abbreviated as RS code) for input data (original data) input from the
E/D部22は、データ書き込み時、ライトバッファ11Aから読み出された入力データ(原データ)に対してCRC(Cyclic Redundancy Check)符号を生成すると共に、原データおよび生成されたCRC符号に対してBCH(Bose-Chaudhuri-Hocquenghem)符号などの組織符号を用いた誤り訂正符号化を行う。また、データ読み出し時、NANDフラッシュメモリチップ23に記憶されたデータに付随するBCH符号をデコードして誤り訂正を行うと共に、CRC符号をデコードして誤り位置を求める。このようにE/D部22は、それぞれエンコードおよびデコード対象となるデータを用いて誤り訂正符号化および誤り訂正などを行う。
When writing data, the E/
また、E/D部22は、RS-E/D部21が生成したRS符号に対してCRC符号を生成すると共に、RS符号およびCRC符号に対してBCH符号を生成し、誤り訂正符号化する。
Further, the E/
なお、E/D部22で行う誤り訂正符号化に用いる符号は、組織符号であれば、BCH符号に限らず他の符号を用いてもよい。例えば、RS符号やLDPC(Low-Density Parity-Check)符号などを用いてもよい。また、CRC符号も、これに限らず、チェックサムなど十分な誤り検出能力があれば、他の符号を用いてもよい。
Note that the code used for error correction encoding performed by the E/
NANDフラッシュメモリチップ23は、メモリセルアレイを有する。メモリセルアレイは、マトリクス状に配列された複数のメモリセルを有する。NANDフラッシュメモリチップ23のメモリセルアレイは、複数のブロック(物理ブロック)を含む。このブロックは、データを消去する単位である。複数のブロックそれぞれは、複数のページを含む。各ページは、データの書き込み及び読み出しの単位である。
NAND
図2は、フラッシュメモリ部13内の1つのE/D部22についての詳細な構成の一例を示す。E/D部22は、CRCエンコーダ26およびBCHエンコーダ27と、BCHデコーダ28およびCRCデコーダ29とを有する。
FIG. 2 shows an example of a detailed configuration of one E/
データ書き込み時、エンコードのためにE/D部22に入力された入力データ(原データ)は、CRCエンコーダ26およびBCHエンコーダ27にそれぞれ供給される。
When writing data, input data (original data) input to the E/
CRCエンコーダ26は、供給された原データのCRCを計算し、計算結果から誤り検査符号であるCRC符号を生成する。CRC符号は、BCHエンコーダ27に供給される。BCHエンコーダ27は、原データと、CRCエンコーダ26から供給されたCRC符号とに対して誤り訂正符号であるBCH符号を生成して、原データおよびCRC符号に対する誤り訂正符号化を行う。BCH符号、原データおよびCRC符号がE/D部22から出力され、NANDフラッシュメモリチップ23の所定の領域にデータとして記憶される。
The CRC encoder 26 calculates the CRC of the supplied original data, and generates a CRC code, which is an error checking code, from the calculation result. The CRC code is supplied to the
一方、データ読み出し時、BCH符号により誤り訂正符号化されたデータは、NANDフラッシュメモリチップ23から読み出されると、E/D部22のBCHデコーダ28に入力される。BCHデコーダ28は、入力されたデータのBCH符号をデコードし、BCH符号の符号訂正能力で訂正可能な誤りを訂正する。CRCデコーダ29は、BCHデコーダ28の出力に含まれるCRC符号をデコードしてエラー検査を行う。BCHデコーダ28の出力と、エラー検査結果とがE/D部22からNANDフラッシュコントローラ20に出力される。
On the other hand, when reading data, the data that has been error correction coded using the BCH code is read from the NAND
NANDフラッシュメモリチップ23からのデータの読み出し時の動作は、概略的には、次のようになる。各NANDフラッシュメモリチップ23から読み出されたデータが各E/D部22に供給される。E/D部22では、供給されたデータに対してBCHデコーダ28がBCH符号のデコードを行い、原データおよびCRC符号に対する誤り訂正を行うと共に、CRCデコーダ29がBCHデコーダ28の出力に含まれるCRC符号をデコードして誤り検査を行う。誤り訂正を施された原データと、誤り検査結果とがNANDフラッシュコントローラ20およびRS-E/D部21にそれぞれ供給される。
The operation when reading data from the NAND
RS-E/D部21はRS符号をデコードし、E/D部22から出力されたBCH符号による誤り訂正を施された原データと、RS符号自身とに対して、RS符号による誤り訂正が施される。このとき、詳細を後述する誤り数に関する条件に応じて、通常の誤り訂正を行うか、消失訂正を行うかが選択される。消失訂正を行うように選択された場合は、誤り訂正された原データが出力データとしてNANDフラッシュコントローラ20に供給される。
The RS-E/
一方、通常の誤り訂正を行うように選択された場合は、RS-E/D部21によりRS符号による誤り訂正が施された原データに対して、さらに、各E/D部22でBCH符号による誤り訂正が施される。この誤り訂正で誤りが全て訂正されたら、誤り訂正された原データが出力データとしてNANDフラッシュコントローラ20に供給される。誤りが全て訂正されていなければ、再びRS-E/D部21および各E/D部22での誤り訂正が行われる。
On the other hand, when it is selected to perform normal error correction, each E/
NANDフラッシュコントローラ20は、詳細を後述する一連の誤り訂正を終了し、最終的に各E/D部22およびRS-E/D部21から供給されたデータを、リードバッファ11Bに書き込む。
The
(メモリチップの構成)
次に、NANDフラッシュメモリチップの構成について、概略的に説明する。NANDフラッシュメモリチップは、データ消去の単位である複数のメモリブロックBLKから構成されている。メモリブロックBLKの構成について、図3を用いて説明する。
(Memory chip configuration)
Next, the configuration of a NAND flash memory chip will be briefly described. A NAND flash memory chip is composed of a plurality of memory blocks BLK, which are units for erasing data. The configuration of a memory block BLK will be described with reference to FIG.
図3は、本発明の実施形態に係るNANDフラッシュメモリチップ23の構成例を示す図である。一つのブロックBLK(ここではBLK0)は、ストリングユニットSt0~St3を含んでもよい。これらストリングユニットSt0~St3は同一の構成を有するので、ここでは、ストリングユニットSt0の構成を説明する。
Figure 3 is a diagram showing an example of the configuration of a NAND
ストリングユニットSt0は、複数のワード線WL0~WL7、および複数のビット線BL0~BL(L-1)に接続されている。ストリングユニットSt0は、複数のNANDストリングSTRを含む。各NANDストリングSTRは、1つの選択ゲートトランジスタST0と、複数(例えば8つ)のメモリセルトランジスタMT0~MT7と、1つの選択ゲートトランジスタDT0とを含む。選択ゲートトランジスタST0、メモリセルトランジスタMT0~MT7、選択ゲートトランジスタDT0は、この順で、ソース線CELSRCと1つのビット線BLとの間に直列に接続されている。 String unit St0 is connected to multiple word lines WL0 to WL7 and multiple bit lines BL0 to BL(L-1). String unit St0 includes multiple NAND strings STR. Each NAND string STR includes one selection gate transistor ST0, a plurality (for example, eight) of memory cell transistors MT0 to MT7, and one selection gate transistor DT0. The selection gate transistor ST0, memory cell transistors MT0 to MT7, and selection gate transistor DT0 are connected in series between the source line CELSRC and one bit line BL in this order.
各メモリセルトランジスタMTは、メモリセルとして機能する。各メモリセルトランジスタMTは、制御ゲート、および電荷蓄積層を含む。メモリセルトランジスタMT0~MT7の制御ゲートは、ワード線WL0~WL7にそれぞれ接続されている。選択ゲートトランジスタST0のゲートは、選択ゲート線SGSL0に接続されている。選択ゲートトランジスタDT0のゲートは、選択ゲート線SGDL0に接続されている。 Each memory cell transistor MT functions as a memory cell. Each memory cell transistor MT includes a control gate and a charge storage layer. Control gates of memory cell transistors MT0 to MT7 are connected to word lines WL0 to WL7, respectively. The gate of the selection gate transistor ST0 is connected to the selection gate line SGSL0. The gate of selection gate transistor DT0 is connected to selection gate line SGDL0.
例えばストリングユニットSt0において、同一ワード線WL(例えばWL7)に接続されるメモリセルトランジスタMT(例えばMT7)の組はページと称される。NANDフラッシュメモリチップ23がTLC-NANDフラッシュNAND(TLC)である場合は、同一ワード線WLに接続されるメモリセルトランジスタMTの組は3つのページ(下位ページ(Lower Page)、中位ページ(Middle Page)、上位ページ(Upper Page))として機能する。
For example, in string unit St0, a set of memory cell transistors MT (e.g., MT7) connected to the same word line WL (e.g., WL7) is called a page. When the NAND
また、複数のワード線WLは、ストリングユニットSt0~St3に共通接続されている。したがって、ある一つのワード線に関しては、このワード線に接続されるメモリセルトランジスタMTの集合は4つのグループ(つまり、ストリングユニットSt0に属するメモリセルトランジスタMT群、ストリングユニットSt1に属するメモリセルトランジスタMT群、ストリングユニットSt2に属するメモリセルトランジスタMT群、ストリングユニットSt3に属するメモリセルトランジスタMT群)を分割される。一つのグループが一つの書き込み単位として使用される。 Further, the plurality of word lines WL are commonly connected to string units St0 to St3. Therefore, for one word line, the set of memory cell transistors MT connected to this word line is divided into four groups (that is, a group of memory cell transistors MT belonging to string unit St0, a group of memory cell transistors MT belonging to string unit St1). a group of memory cell transistors MT belonging to string unit St2, a group of memory cell transistors MT belonging to string unit St3). One group is used as one writing unit.
NANDフラッシュメモリチップ内の、それぞれ図示されないセンスアンプおよび電位発生回路などを含む制御回路は、NANDフラッシュメモリチップに供給されたデータをメモリセルトランジスタMTに書き込み、メモリセルトランジスタMTに記憶されているデータをNANDフラッシュメモリチップの外部に出力することが可能な構成を有している。 The control circuit in the NAND flash memory chip, which includes a sense amplifier and a voltage generating circuit (not shown), is configured to write data supplied to the NAND flash memory chip to the memory cell transistor MT and to output data stored in the memory cell transistor MT to the outside of the NAND flash memory chip.
上述したように、NANDフラッシュメモリチップでは、1のメモリブロックBLKに複数のページが含まれる。また、複数のメモリブロックBLKでプレーンが構成される。1のNANDフラッシュメモリチップ内の異なるプレーンは、並列的にアクセス可能とされている。一方、1のプレーン内の異なるブロックは、並列アクセス不可とされている。 As described above, in the NAND flash memory chip, one memory block BLK includes a plurality of pages. Further, a plane is configured by a plurality of memory blocks BLK. Different planes within one NAND flash memory chip can be accessed in parallel. On the other hand, different blocks within one plane cannot be accessed in parallel.
図4、図5A、図5Bを用いて、本実施形態によるデータ書き込み時の誤り訂正符号化について説明する。図4は、誤り訂正符号化のフローチャートの一例である。図5A及び図5Bは、メモリコントローラ12がフラッシュコマンドを受け、NANDフラッシュコントローラ20がNANDフラッシュメモリチップ23のあるメモリブロックBLKの複数のページにデータを書き込む様子を説明するための図である。
Using Figures 4, 5A, and 5B, the error correction coding during data writing according to this embodiment will be described. Figure 4 is an example of a flowchart of the error correction coding. Figures 5A and 5B are diagrams for explaining how the
図5A及び図5Bは、あるメモリブロックAにおけるワードラインWL0及びWL1のページの状態を表している。図中、St0~St3は、ワードラインそれぞれのストリング(String)を表し、「L」「M」「U」は、それぞれ下位ページ、中位ページ、上位ページを表している。多値メモリの場合、下位ページ、中位ページ、及び、上位ページへの一連のデータ書き込みが行われる。一方、ホスト14からメモリシステム1に対して前述した瞬断に対応すべくフラッシュ処理が要求される場合もある。
5A and 5B represent the page states of word lines WL0 and WL1 in a certain memory block A. In the figure, St0 to St3 represent strings of word lines, and "L", "M", and "U" represent lower pages, middle pages, and upper pages, respectively. In the case of a multilevel memory, a series of data writes are performed to a lower page, a middle page, and an upper page. On the other hand, the
例えば、メモリシステム1が下位ページへの書き込みが終了し、中位ページから上位ページへデータ書き込みが完了する前に、ホストからフラッシュ要求を受けることがある。この場合、未書き込みの中位ページや上位ページの無効データをメモリチップ23に書込む必要があるため、書き込み効率が悪化する。また、無効データによる書き込み量が多い場合は、フラッシュ処理完了までの応答時間が長くなり、ホスト14を含むシステム全体の性能悪化を招いてしまう。本実施形態では、瞬断に対応するフラッシュ処理を行う際に、以下に説明するような書き込み制御を行う。図5Aはフラッシュ実行前のページの状態を示し、図5Bはフラッシュ実行後の状態を示している。
For example, the
ワードラインWL0は下位ページL、中位ページM、上位ページUを含む。さらに、ワードラインWL0の下位ページには、4つのストリングSt0~St3にそれぞれ対応する4つのページP00L~P03Lが含まれる。同様に、中位ページには、ストリングSt0~St3にそれぞれ対応するページP00M~P03M、上位ページには、ストリングSt0~St3にそれぞれ対応するページP00U~P03Uが含まれる。同様に、ワードラインWL1の下位ページ、中位ページ、及び、上位ページには、ストリングSt0~St3に対応してそれぞれ、ページP10L~P13L、ページP10M~P13M、及び、ページP10U~P13Uが含まれる。 The word line WL0 includes a lower page L, a middle page M, and an upper page U. Furthermore, the lower page of the word line WL0 includes four pages P00L to P03L corresponding to the four strings St0 to St3, respectively. Similarly, the middle page includes pages P00M to P03M corresponding to the strings St0 to St3, respectively, and the upper page includes pages P00U to P03U corresponding to the strings St0 to St3, respectively. Similarly, the lower page, middle page, and upper page of the word line WL1 include pages P10L to P13L, pages P10M to P13M , and pages P10U to P13U corresponding to the strings St0 to St3, respectively.
この図5A,5Bにおいて、1つの枠がページ単位を表し、枠内に記載された数字は書き込みが行われるべきページの順序を示している。左下がりの斜線で表された枠は書き込み済みで有効データが存在するページを示している。空白の枠は未書き込みのページである。 In Figures 5A and 5B, each box represents a page unit, and the numbers written within the box indicate the order in which the pages should be written. Boxes with diagonal lines slanting downwards to the left indicate pages that have been written and contain valid data. Blank boxes are pages that have not been written to.
E/D部22は、NANDフラッシュコントローラ20を介してライトバッファ11Aに保持されている所定量(例えば512バイト)の入力データ(原データ)を取得する(S100)。このとき、RS-E/D部21も原データを取得する。
The E/
E/D部22は、CRCエンコーダ26が原データの8ビット毎にCRCを計算し、CRC符号を生成する(S110)。この例では、512バイトの原データから、4バイトのCRC符号が生成されている。CRC符号は、BCHエンコーダ27に供給される。
In the E/
次いで、BCHエンコーダ27は、原データの8ビット毎にBCH符号を生成すると共に、ステップS110で生成されたCRC符号の8ビット毎にBCH符号を生成する(S120)。この例では、512バイトの原データと、4バイトのCRC符号とから、26バイトのBCH符号が生成されている。
Next, the
そして、NANDフラッシュコントローラ20は、原データと、原データから生成したCRC符号と、原データおよびCRC符号から生成したBCH符号とを、NANDフラッシュメモリチップ23のプレーンの1ページに記憶する(S130)。
Then, the
NANDフラッシュコントローラ20は、規定数のデータ処理を行ったか否かを判定する(S140)。未だ規定数のデータ処理が行われていないと判定されたら(S140のNo)、処理がステップS100に戻され、次の所定量の原データが取得される。ステップS100~S140の処理により、図5A中のページP00L、P01L・・の順に書き込みが行われる。NANDフラッシュコントローラ20は、ホスト14からフラッシュのプログラム指示がなされたことをもって既定数のデータ処理を行ったものと判定してもよい。
The
ここで、フラッシュ実行前に下位ページのみが書き込まれているページ(複数のページのうち上位側に書き込みがない最も下位のページ)P02L、P03L、P10L、P11Lは、第2ステージプログラムが未完了の状態である。したがって、ページP02L、P03L、P10L、P11Lは、より上位側の対応する中位ページや上位ページ(例えばページP02MやP03Mなど)の書き込み時において不正電源遮断等が発生すると、その巻き添えを受けてデータが破壊される恐れがある。そこで、実施形態のメモリシステムでは、さらにステップS150以下の処理を実行する。 Here, pages P 02L , P 03L , P 10L , and P 11L to which only the lower page is written before flash execution (the lowest page among multiple pages with no writing on the upper side) are the second stage programs. is in an incomplete state. Therefore, pages P 02L , P 03L , P 10L , and P 11L are affected by unauthorized power interruption when writing to the corresponding middle page or upper page (for example, pages P 02M and P 03M ) on the higher level side. There is a risk that the data will be destroyed as a result of this. Therefore, the memory system of the embodiment further executes the processing from step S150 onwards.
ステップS140で、規定数のデータ処理が行われた(あるいはフラッシュコマンドを受けた)と判定されたら、NANDフラッシュコントローラ20は、第2ステージプログラムが未完了であるページを検出する(S150)。図5Bに示す例では、書き込みがある最も下位のページP02L、P03L、P10L、P11Lよりも上位側のページに書き込みが完了したデータがないから、これらのページが検出される。
When it is determined in step S140 that a prescribed number of data processes have been performed (or a flash command has been received), the
NANDフラッシュコントローラ20は、検出されたページP02L、P03L、P10L、P11LをRSフレームに設定する(S160)。図5Bにおいて、RSフレームは太線黒枠にて囲われて示されている。
The
RS-E/D部21は、設定されたRSフレームのデータについてRS符号を生成する(S170)。RS-E/D部21は、取得したデータから、データブロックを横断して、データブロック内の位置が対応する8ビット(1シンボル)ずつデータを取り出して、RS符号を生成する。
The RS-E/
NANDフラッシュコントローラ20は、NANDフラッシュメモリチップ23の次に書き込み可能なページ(図5AではページP12L)に、生成されたRS符号を書き込む(S180)。すなわち、図5BにおけるページP02L、P03L、P10L、P11LのRSパリティとしてRS符号等がページP12Lに書き込まれる。右下がりの斜線で表された枠は、書き込み済でRSパリティが存在するページを示している。
The
以上述べたように、この実施形態のメモリシステムでは、フラッシュにおいて下位ページのみ書かれているページ(不正電源遮断で巻き添え破壊が発生する可能性のあるページ)のデータを読み出し、そのページ群で構成されるRSフレームを構成し、RSパリティを生成している。生成したRSパリティは、次の書き込み可能ページに追記される。かかる構成によれば、下位ページのみデータが書かれているページの上位側のページ(例えばページP02M、P03M、P10M、P11M)の書き込み時に不正に電源遮断が発生してページP02L、P03L、P10L、P11Lのどれか一つが破壊されたとしても、NANDフラッシュコントローラ20は、データの読み出し時に、RSパリティが記載されたページP12Lを利用して誤り訂正することが可能になる。
As described above, in the memory system of this embodiment, data is read from pages in which only lower pages are written in the flash (pages where collateral damage may occur due to unauthorized power shutoff), and the memory system is configured by a group of pages. RS frames are configured to be used, and RS parity is generated. The generated RS parity is added to the next writable page. According to such a configuration, an unauthorized power shutoff occurs when writing a page on the upper side of a page (for example, pages P 02M , P 03M , P 10M , P 11M ) in which data is written only in the lower page, and page P 02L is written. , P 03L , P 10L , or P 11L is destroyed, the
ここで、図6、図7A、図7Bを用いて、比較例によるデータ書き込み時の誤り訂正符号化について説明する。図6は、比較例による誤り訂正符号化のフローチャートの一例である。図7A及び図7Bは、比較例においてメモリコントローラ12がフラッシュコマンドを受け、NANDフラッシュコントローラ20がNANDフラッシュメモリチップ23のあるメモリブロックBLKの複数のページにデータを書き込む様子を説明するための図である。
Here, using Figures 6, 7A, and 7B, we will explain the error correction encoding when writing data in the comparative example. Figure 6 is an example of a flowchart of the error correction encoding in the comparative example. Figures 7A and 7B are diagrams for explaining how the
図7A及び図7Bにおいても、あるメモリブロックAにおけるワードラインWL0及びWL1のページの状態を表している。図中、St0~St3は、ワードラインそれぞれのストリング(String)を表し、「L」「M」「U」は、それぞれ下位ページ(Lower page)、中位ページ(Middle page)、上位ページ(Upper page)を表している。比較例においても、多値メモリの場合、下位ページ、中位ページ、及び、上位ページへの一連のデータ書き込みが行われる。一方、ホスト14からメモリシステム1に対して前述した瞬断に対応すべくフラッシュ処理が要求される場合もある。本比較例においては、瞬断に対応するフラッシュ処理を行う際に、以下に説明するような書き込み制御行う。図7Aはフラッシュ実行前のページの状態を示し、図7Bはフラッシュ実行後の状態を示している。
7A and 7B also show the page states of word lines WL0 and WL1 in a certain memory block A. In the figure, St0 to St3 represent strings for each word line, and "L", "M", and "U" represent lower page, middle page, and upper page, respectively. page). In the comparative example as well, in the case of a multilevel memory, a series of data writing is performed to the lower page, middle page, and upper page. On the other hand, the
ワードラインWL0は下位ページL、中位ページM、上位ページUを含む。さらに、ワードラインWL0の下位ページには、4つのストリングSt0~St3にそれぞれ対応する4つのページP00L~P03Lが含まれる。同様に、中位ページにはストリングSt0~St3にそれぞれ対応するページP00M~P03M、上位ページには、ストリングSt0~St3それぞれに対応するページP00U~P03Uが含まれている。同様に、ワードラインWL1の下位ページ、中位ページ、及び、上位ページには、ストリングSt0~St3に対応してそれぞれ、ページP10L~P13L、ページP10M~P13M、及び、ページP10U~P13Uが含まれる。 Word line WL0 includes a lower page L, a middle page M, and an upper page U. Further, the lower page of the word line WL0 includes four pages P 00L to P 03L corresponding to the four strings St0 to St3, respectively. Similarly, the middle page includes pages P 00M to P 03M corresponding to the strings St0 to St3, respectively, and the upper page includes pages P 00U to P 03U corresponding to the strings St0 to St3, respectively. Similarly, the lower page, middle page, and upper page of word line WL1 include pages P 10L to P 13L, pages P 10M to P 13M , and page P 10U corresponding to strings St0 to St3, respectively. ~P 13U is included.
この図7A,7Bにおいて、1つの枠がページ単位を表し、枠内に記載された数字は書き込みが行われるべきページの順序を示している。左下がりの斜線で表された枠は書き込み済みで有効データが存在するページを示している。空白の枠は未書き込みのページである。ドット柄の枠、すなわちページP12L、P13L、P03M、P03Uは、書き込み済で有効データが存在しないページである。 In FIGS. 7A and 7B, one frame represents a page unit, and the numbers written within the frame indicate the order of pages to be written. A frame indicated by a diagonal line downward to the left indicates a page that has been written and contains valid data. Blank frames are unwritten pages. The dot-patterned frames, that is, pages P 12L , P 13L , P 03M , and P 03U are pages that have been written and have no valid data.
E/D部22は、NANDフラッシュコントローラ20を介してライトバッファ11Aに保持されている所定量(例えば512バイト)の入力データ(原データ)を取得する(S100)。このとき、RS-E/D部21も原データを取得する。
The E/
E/D部22は、CRCエンコーダ26が原データの8ビット毎にCRCを計算し、CRC符号を生成する(S110)。この例では、512バイトの原データから、4バイトのCRC符号が生成されている。CRC符号は、BCHエンコーダ27に供給される。
In the E/
次いで、BCHエンコーダ27は、原データの8ビット毎にBCH符号を生成すると共に、ステップS110で生成されたCRC符号の8ビット毎にBCH符号を生成する(S120)。この例では、512バイトの原データと、4バイトのCRC符号とから、26バイトのBCH符号が生成されている。
Next, the
そして、NANDフラッシュコントローラ20は、原データと、原データから生成したCRC符号と、原データおよびCRC符号から生成したBCH符号とが、NANDフラッシュメモリチップ23のプレーンの1ページに記憶する(S130)。
Then, the
NANDフラッシュコントローラ20は、規定数のデータ処理を行ったか否かが判別する(S140)。未だ規定数のデータ処理が行われていないと判定されたら(S140のNo)、処理がステップS100に戻され、次の所定量の原データが取得される。
The
ここで、フラッシュ実行前に下位ページのみが書き込まれているページ(複数のページのうち上位側に書き込みがない最も下位のページ)P02L、P03L、P10L、P11Lは、第2ステージプログラムが未完了の状態である。したがって、ページP02L、P03L、P10L、P11Lは、より上位側の対応する中位ページや上位ページの書き込み時において不正電源遮断等が発生すると、その巻き添えを受けてデータが破壊される恐れがある。そこで、比較例のメモリシステムでは、さらにステップS145以下の処理を実行する。 Here, the pages P02L , P03L , P10L , and P11L , in which only the lower page is written before the flush is executed (the lowest page among the multiple pages with no writing on the upper side), are in a state where the second stage program is incomplete. Therefore, if an illegal power interruption or the like occurs when writing to the corresponding middle page or upper page on the upper side, there is a risk that the data of the pages P02L , P03L , P10L , and P11L will be involved and destroyed. Therefore, in the memory system of the comparative example, the process from step S145 onwards is further executed.
ステップS140で、規定数のデータ処理が行われた(あるいはフラッシュコマンドを受けた)と判定されたら、NANDフラッシュコントローラ20は、第2ステージプログラムが未完了であるページP02L、P03L、P10L、P11Lの一部の有効データを、より上位側に当たる中位ページや上位ページに書き込み、また、必要に応じて中位ページや上位ページに無効なデータ(ダミーデータ)を書き込むことで、上位のページが未書き込みな下位ページに有効なデータが存在する状態をなくす(S145)。
If it is determined in step S140 that a prescribed number of data processes have been performed (or a flash command has been received), the
具体的には、NANDフラッシュコントローラ20は、第2ステージプログラムが未完了であるページを検出する。図7Aに示す例では、書き込みがある最も下位のページP02L、P03L、P10L、P11Lよりも上位側のページに書き込みが完了したデータがないから、これらのページが検出される。続いて、検出されたページP02L、P03L、P10L、P11Lのうち、ページP10L、P11LのデータをページP02M、P02Uに書き込み、元のページP10L、P11Lのデータを無効化(図7B)する。これによりページP10L、P11LのデータをページP02M、P02Uに移動する。さらに、ページP03Lの上位に当たるページP03M、P03Uにダミーデータを書き込む。その際、書き込み順に従い、下位ページのP12L、P13Lにもダミーデータを書き込む。ドット柄の枠で示されるP03M、P03U、P12L、P13Lは、書き込み済で有効データが存在しない(無効データ)ページを示している。
Specifically, the
かかる処理により、下位ページのみが書き込まれたページ内の有効データが全て移動され、有効データはすべて上位ページまで書き込み完了済みのページに存在する状態になる。これにより、中位ページや上位ページの書き込み中に電源遮断が発生しても、それによって破壊される下位ページに有効データが存在しなくなる。 Through this process, all the valid data in the page to which only the lower page has been written is moved, and all the valid data exists in the page to which writing has been completed up to the upper page. As a result, even if power is cut off during writing to a middle page or an upper page, valid data will not exist in the lower pages that are destroyed thereby.
図5A及び図5Bに示す動作の本実施形態のメモリシステムでは、一つのブロック内の異なるストリングに属する(同時にProgramできない)ページ群でRSフレームを組み、そのRSパリティを当該ページ群に続くページに追記している。かかる構成により、RSフレーム内の複数の下位ページが同時に巻き添え破壊されない状態を作ることで、最小限のページの追記によりフラッシュコマンド以前に書き込みプログラムされたデータが不正電源遮断で巻き添え破壊されたとしても、当該データを復元することを可能にする。 In the memory system of this embodiment, whose operation is shown in Figures 5A and 5B, an RS frame is made up of a group of pages (which cannot be programmed simultaneously) belonging to different strings in one block, and the RS parity is added to the page following the group of pages. This configuration creates a state in which multiple lower pages in the RS frame are not simultaneously destroyed, making it possible to restore data that was written and programmed before the flash command by adding a minimum number of pages, even if the data is destroyed by an unauthorized power interruption.
一方、図7A及び図7Bに示す動作の比較例のメモリシステムでは、フラッシュコマンドが実行されるたびに巻き添え破壊の可能性があるページの移動(書き込み+無効化)が発生し、さらにダミーページの書き込みが発生する可能性もある。 On the other hand, in the memory system of the comparative example of the operation shown in Figures 7A and 7B, every time a flash command is executed, a page movement (write + invalidation) occurs that may cause collateral damage, and there is also a possibility that a dummy page may be written.
本実施形態と比較例とを対比すると、図5Bに示す動作の本実施形態では、フラッシュコマンド実行後、ページP02L、P03L、P10L、P11Lの読み込みと、RS符号が書き込まれるページP12Lの書き込みと、第1ステージプログラムとが必要である。一方、図7Bに示す動作の比較例では、ページP10L、P11Lの読み込み及びページP02M、P02Uの書き込みと、ページP03M、P03Uの書き込みと、第1ステージプログラム及び第2ステージプログラムとが必要である。したがって、本実施形態のメモリシステムは、最小限のページ読み書きとプログラムにより、より短い応答時間で巻き添えデータ破壊からの復元を実現することができる。 Comparing this embodiment with the comparative example, in the embodiment of the operation shown in Fig. 5B, after the flash command is executed, it is necessary to read pages P02L , P03L , P10L , and P11L , write page P12L to which the RS code is written, and perform the first stage program. On the other hand, in the comparative example of the operation shown in Fig. 7B, it is necessary to read pages P10L and P11L , write pages P02M and P02U , write pages P03M and P03U , and perform the first stage program and the second stage program. Therefore, the memory system of this embodiment can realize recovery from collateral data destruction with a shorter response time by minimizing page reads, writes, and programs.
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although several embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the gist of the invention. These embodiments and their modifications are included in the scope and gist of the invention, and are included in the scope of the invention and its equivalents described in the claims.
1…メモリシステム、10…ホストインターフェース、11…バッファメモリ、12…メモリコントローラ、13…フラッシュメモリ部、20…NANDフラッシュコントローラ、21…RS-E/D部、22…E/D部、23…NANDフラッシュメモリチップ。 1... memory system, 10... host interface, 11... buffer memory, 12... memory controller, 13... flash memory section, 20... NAND flash controller, 21... RS-E/D section, 22... E/D section, 23... NAND flash memory chip.
Claims (6)
前記記憶部に記憶されたデータを前記ページ単位で誤り訂正可能な訂正処理部と、
前記記憶部への前記多値データの書き込み、及び、前記記憶部から書き込んだ前記多値データの読み出しを行うコントローラとを含み、
前記コントローラは、
前記記憶部に記憶された前記多値データの格納位置を管理し、
前記複数のページのうち最も下位のページのみにデータが記憶されているページを検出し、
前記検出されたページすべてを1つのフレームとした誤り訂正符号を前記訂正処理部に生成させ、
前記最も下位のページのうち前記1つのフレームを構成するページに続いて書き込み可能であるページに前記誤り訂正符号を書き込む
メモリシステム。 a non-volatile storage unit configured by arranging a plurality of memory cells each having a plurality of pages and capable of storing multi-level data;
a correction processing unit capable of error correcting data stored in the storage unit in units of pages;
A controller that writes the multi-value data to the storage unit and reads the multi-value data written from the storage unit,
The controller includes:
managing a storage location of the multivalued data stored in the storage unit;
detecting a page in which data is stored only in the lowest page among the plurality of pages;
causing the correction processing unit to generate an error correction code that includes all of the detected pages as one frame;
A memory system in which the error correction code is written to a writable page following the page constituting the one frame among the lowest pages.
前記記憶部に記憶されたデータを前記ページ単位で誤り訂正可能な訂正処理部と、
前記記憶部への前記多値データの書き込み、及び、前記記憶部から書き込んだ前記多値データの読み出しを行うコントローラと、を有するメモリシステムの制御方法であって、
前記記憶部に記憶された前記多値データの格納位置を管理し、
前記複数のページのうち最も下位のページのみにデータが記憶されているページを検出し、
前記検出されたページすべてを1つのフレームとした誤り訂正符号を前記訂正処理部に生成させ、
前記最も下位のページのうち前記1つのフレームを構成するページに続いて書き込み可能であるページに前記誤り訂正符号を書き込む
制御方法。 a non-volatile storage unit including a plurality of memory cells arranged in a plurality of rows and each of which has a plurality of pages and is capable of storing multi-value data;
a correction processing unit capable of correcting errors in the data stored in the storage unit on a page-by-page basis;
A control method for a memory system having a controller that writes the multi-value data to the storage unit and reads the written multi-value data from the storage unit, comprising:
managing a storage location of the multi-valued data stored in the storage unit;
detecting a page having data stored only in a lowest page among the plurality of pages;
generating an error correction code in which all of the detected pages are one frame in the correction processing unit;
A control method for writing the error correction code into a page that can be written into subsequent to a page that constitutes one of the frames among the lowest pages.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022151503A JP2024046239A (en) | 2022-09-22 | 2022-09-22 | Memory system and control method |
| US18/459,365 US20240103968A1 (en) | 2022-09-22 | 2023-08-31 | Memory system and control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022151503A JP2024046239A (en) | 2022-09-22 | 2022-09-22 | Memory system and control method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2024046239A true JP2024046239A (en) | 2024-04-03 |
Family
ID=90359229
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022151503A Pending JP2024046239A (en) | 2022-09-22 | 2022-09-22 | Memory system and control method |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20240103968A1 (en) |
| JP (1) | JP2024046239A (en) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102567134B (en) * | 2012-01-06 | 2015-01-07 | 威盛电子股份有限公司 | Error checking and correcting system and method for memory module |
| US9032271B2 (en) * | 2012-12-07 | 2015-05-12 | Western Digital Technologies, Inc. | System and method for lower page data recovery in a solid state drive |
| US10229000B2 (en) * | 2016-08-09 | 2019-03-12 | Seagate Llc | Erasure codes to prevent lower page corruption in flash memory |
| TWI680375B (en) * | 2018-08-23 | 2019-12-21 | 慧榮科技股份有限公司 | Multi-processor system having distributed mailbox architecture and processor error checking method thereof |
| US11436083B2 (en) * | 2020-09-04 | 2022-09-06 | Western Digital Technologies, Inc. | Data address management in non-volatile memory |
-
2022
- 2022-09-22 JP JP2022151503A patent/JP2024046239A/en active Pending
-
2023
- 2023-08-31 US US18/459,365 patent/US20240103968A1/en active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| US20240103968A1 (en) | 2024-03-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR101633048B1 (en) | Memory system and data processing method thereof | |
| KR101736792B1 (en) | Flash memory and self interleaving method thereof | |
| CN110444246B (en) | Adjacent auxiliary correction error recovery for memory system and method thereof | |
| US7751238B2 (en) | Memory system protected from errors due to read disturbance and reading method thereof | |
| TWI594254B (en) | Method for reading data from block of flash memory and associated memory device | |
| US9639419B2 (en) | Read voltage level estimating method, memory storage device and memory control circuit unit | |
| CN109285582B (en) | Memory systems, non-transitory computer-readable media, and methods of error checking and correction | |
| KR102714845B1 (en) | Error correction decoder and memory system having the error correction decoder | |
| US20160350179A1 (en) | Decoding method, memory storage device and memory control circuit unit | |
| KR20180010448A (en) | Ldpc decoder, semiconductor memory system and operating method thereof | |
| US20090265598A1 (en) | Using programming-time information to support error correction | |
| KR102617832B1 (en) | Memory controller, semiconductor memory system and operating method thereof | |
| KR20180027803A (en) | Memory controller, semiconductor memory system and operating method thereof | |
| US11095316B2 (en) | Controller and operating method for performing read operation to read data in memory device | |
| US11966589B2 (en) | Controller and operating method thereof | |
| KR102706981B1 (en) | Controller, semiconductor memory system and operating method thereof | |
| KR20160113001A (en) | Ldpc decoder, semiconductor memory system and operating method thereof | |
| CN106297883A (en) | Decoding method, memory storage device and memory control circuit unit | |
| KR20210115961A (en) | Ldpc decoder and operating method thereof | |
| CN111538621B (en) | Soft chip hunting recovery for bit line faults | |
| US20160077913A1 (en) | Method of controlling nonvolatile memory | |
| KR20180123393A (en) | Siso decoding method, decoder and semiconductor memory system using the same | |
| US11770133B1 (en) | Exact ber reporting in the presence of CRC termination | |
| US20240103968A1 (en) | Memory system and control method | |
| US20230039982A1 (en) | Memory system and operating method of memory system |