JP7253594B2 - 半導体記憶装置 - Google Patents

半導体記憶装置 Download PDF

Info

Publication number
JP7253594B2
JP7253594B2 JP2021138744A JP2021138744A JP7253594B2 JP 7253594 B2 JP7253594 B2 JP 7253594B2 JP 2021138744 A JP2021138744 A JP 2021138744A JP 2021138744 A JP2021138744 A JP 2021138744A JP 7253594 B2 JP7253594 B2 JP 7253594B2
Authority
JP
Japan
Prior art keywords
chip
data
terminal
ecc
nand
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.)
Active
Application number
JP2021138744A
Other languages
English (en)
Other versions
JP2023032548A (ja
Inventor
二四三 金子
真言 妹尾
央倫 葛西
Original Assignee
ウィンボンド エレクトロニクス コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ウィンボンド エレクトロニクス コーポレーション filed Critical ウィンボンド エレクトロニクス コーポレーション
Priority to JP2021138744A priority Critical patent/JP7253594B2/ja
Priority to TW111126324A priority patent/TWI827138B/zh
Priority to CN202210899471.5A priority patent/CN115732014A/zh
Priority to US17/878,847 priority patent/US12051480B2/en
Priority to KR1020220104709A priority patent/KR20230031786A/ko
Publication of JP2023032548A publication Critical patent/JP2023032548A/ja
Application granted granted Critical
Publication of JP7253594B2 publication Critical patent/JP7253594B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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
    • 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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1032Simple parity
    • 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • 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/1068Adding 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Detection And Correction Of Errors (AREA)

Description

本発明は、NAND型フラッシュメモリ等の半導体記憶装置に関し、特に誤り検出訂正に関する。
NAND型のフラッシュメモリでは、データのプログラムや消去が繰り返されることで、トンネル絶縁膜の劣化等により電荷保持特性が悪化したり、トンネル絶縁膜にトラップされた電荷によりしきい値変動が生じ、ビットエラーを引き起こすことがある。このようなビットエラー対策として、フラシュメモリにはエラー検出訂正回路(以下、ECC回路という)が用いられている(例えば、特許文献1、2)。
特許6744950号公報 特許6744951号公報
図1は、従来のオフチップECCのフラッシュメモリの構成を示す図である。フラッシュメモリ10は、NAND型のメモリセルアレイやその周辺回路を含むNANDチップ20を含んで構成され、NANDチップ20は、ECC機能40を搭載したコントローラチップ30に接続される。NANDチップ20とコントローラチップ30とは、それぞれ別個のパッケージに収容され、各パッケージが例えばプリント基板上に実装される。
NANDチップ20とコントローラチップ30は、例えば、クロック信号に同期してデータを転送することができるSPI(Serial Peripheral Interface)を搭載し、両チップには、それぞれ#CS、CLK、DI、DO、#WP、#HOLDの入出力端子が設けられる。コントローラチップ30は、SPIの入出力端子を介してNANDチップ20にコマンド、アドレス、データを送信する。
ECC機能40は、データを符号化してパリティデータを生成するエンコーダと、パリティデータに基づきデータを復号化するデコーダとを含む。ECC機能40は、例えば、BCHコードにより複数ビット(例えば、2ビット、4ビット、8ビットなど)のエラー検出・訂正を行い、この場合、BCHデコーダは、データのシンドロームを評価するシンドローム計算部と、エラー位置多項式(ELP)を計算するユークリッド互除計算部と、エラー位置多項式の根を計算し、エラー位置を探索するエラー位置探索部と、探索されたエラー位置に基づきエラーを訂正するエラー訂正部とを含む。
NANDチップ20のページバッファ/センス回路は、2つのラッチを含み、1つのラッチは、2つのキャッシュから構成され、1つのキャッシュが複数のセクタ(例えば、2セクタ、4セクタなど)のデータを格納する。NANDチップ20とコントローラチップ30との間のデータ転送は、キャッシュ単位で行われる。また、ECC機能40は、セクタ単位でパリティデータを生成し、あるいはエラー検出・訂正を行う。ECC機能40により符号された1つのセクタは、メインデータとパリティデータとを含む。
コントローラチップ30は、NANDチップ20にプログラム動作をさせるとき、ECC機能40によりプログラムすべきデータからパリティデータを生成し、生成したパリティデータとメインデータとをSPIのDO端子を介してNANDチップ20に転送する。NANDチップ20は、受け取ったメインデータとパリティデータとをラッチに保持し、ラッチに保持したデータをメモリセルアレイの選択ページにプログラムする。
一方、NANDチップ20においてメモリセルアレイから読み出されたデータは、SPIのDO端子を介してコントローラチップ30に転送される。ECC機能40は、パリティデータに基づきエラーを検出し、その検出結果に応じてメインデータやパリティデータを訂正する。
図2は、コントローラチップ30のECC機能の各部の動作を示すタイミングチャートである。NANDチップ20は、コントローラチップ30から転送された読出しコマンドに応じて読出し動作を行い、読み出したデータをコントローラチップ30に出力する。時刻t0で、コントローラチップ30のNAND_IFがNANDチップ20からセクタS0のメインデータとパリティデータPtの受け取りを開始し、時刻t1で、セクタS1のメインデータとパリティデータPtの受け取りを開始し、時刻t2、t3でセクタS2、セクタS3のメインデータとパリティデータPtの受け取りを開始する。ECC機能40は、セクタS1のデータの受け取りを行っている間に、これと並行してセクタS0のメインデータのシンドロームの計算、エラー位置多項式の計算、エラー位置の探索をパイプライン処理し、探索されたエラー位置に基づきセクタS0のメインデータのエラーを訂正する。その後、コントローラチップ30のCPU_IFは、セクタS0のエラー訂正したデータをホスト装置に転送する。セクタS1、S2、S3のECC処理も同様にパイプライン処理が行われ、各セクタのエラー訂正したデータがセクタの受信中に出力される。
NANDチップ20からコントローラチップ30に読出しデータを転送する場合、シンドローム計算はセクタのパリティデータの転送後に行う必要がある。このため、SPIのDO端子のビット幅が狭いと、データ転送に時間がかかってしまい、その間、コントローラチップ30のアイドル状態が長くなり、パインライン処理によるパフォーマンスを十分に発揮させることができないという課題がある。また、コントローラチップ30にECC機能40を搭載させているため、NANDチップ20にECC機能を望まない場合であっても、ユーザーは、コストが高いECC機能が搭載されたNANDチップを使用せざるを得ず、利便性が良くないという課題もある。
本発明は、このような従来の課題を解決し、誤り検出および訂正の処理時間の短縮を図ることができる半導体記憶装置を提供することを目的とする。
本発明に係る半導体記憶装置は、NAND型のメモリセルアレイと当該メモリセルアレイに関する動作を制御する制御手段とを含むNANDチップと、誤り検出および訂正機能を備えたECCチップとを有し、前記NANDチップは、ECCに関するデータ転送を行うための第1の専用端子を含み、前記ECCチップは、前記第1の専用端子に接続された第2の専用端子を含む。
ある態様では、前記NANDチップは、前記制御手段によってメモリセルアレイから読み出されたパリティデータを含む読出しデータを前記第1の専用端子を介して前記ECCチップに送信し、前記ECCチップは、前記第2の専用端子を介して受け取った前記読出しデータの誤り検出および訂正を行う。ある態様では、前記ECCチップは、プログラムデータに基づき生成されたパリティデータを前記第2の専用端子を介して前記NANDチップに送信し、前記制御手段は、前記第1の専用端子を介して受け取った前記パリティデータを含むプログラムデータを前記メモリセルアレイにプログラムする。ある態様では、前記第1の専用端子は、第1のクロック端子と第1のデータ端子とを含み、前記第2の専用端子は、前記第1のクロック端子に接続された第2のクロック端子と前記第1のデータ端子に接続された第2のデータ端子とを含み、前記NANDチップは、前記第1および前記第2のクロック端子に共有されるクロック信号を生成する生成回路を含み、前記第1のデータ端子と前記第2のデータ端子との間のデータは、前記クロック信号に同期して転送される。ある態様では、前記第1の専用端子はさらに、第1のVALID端子を含み、前記第2の専用端子はさらに、前記第1のVALID端子に接続された第2のVALID端子を含み、前記第1または前記第1のVALID端子には、データ転送を有効にするVALID信号が供給される。ある態様では、前記NANDチップは、前記読出しデータを前記ECCチップに送信するとき、前記VALID信号を生成し、当該生成したVALID信号を前記第1のVALID端子に供給する。ある態様では、前記ECCチップは、前記パリティデータを前記NANDチップに送信するとき、前記VALID信号を生成し、当該生成したVALID信号を前記第2のVALID端子に供給する。ある態様では、前記NANDチップはさらに、前記ECCチップとの間でデータの送受信を可能にする第1の入出力端子を含み、前記ECCチップはさらに、前記NANDチップとの間でデータの送受信を可能にする第2の入出力端子を含み、前記第1の入出力端子は前記第2の入出力端子に接続され、前記第1および第2の専用端子のデータ転送幅は、前記第1および第2の入出力端子のデータ転送幅よりも大きい。ある態様では、前記第1および第2の専用端子間のデータ転送のクロック周波数は、前記第1および第2の入出力端子のデータ転送のクロック周波数よりも高い。ある態様では、前記ECCチップはさらに、コントローラチップとの間でデータの送受信を可能にする第3の入出力端子を含み、前記第1の入出力端子は、前記第2の入出力端子と前記第3の入出力端子に共通に接続される。ある態様では、前記ECCチップは、前記第2の入出力端子を介して誤り訂正されたデータをコントローラチップへ出力する。ある態様では、前記ECCチップは、前記第1および第2の専用端子を介して誤り訂正されたデータを前記NANDチップへ出力する。ある態様では、前記ECCチップは、前記第3の入出力端子を介してプログラムデータを受け取り、前記NANDチップは、前記第2および前記3の入出力端子に接続された前記第1の入出力端子からプログラムデータを受け取る。ある態様では、前記ECCチップは、前記読出しデータの受け取りと並行して前記読出しデータの誤り検出および訂正を行う。ある態様では、前記NANDチップと前記ECCチップとは1つのパッケージ内に収容される。ある態様では、前記NANDチップは、積層された複数のNANDチップを含み、当該複数のNANDチップのそれぞれの第1の専用端子が前記ECCチップの前記第2の専用端子に共通に接続される。
本発明によれば、NANDチップとECCチップにそれぞれECCに関するデータ転送を行うための第1および第2の専用端子を設けたことにより、データ転送の時間を減らし、かつこれと並列に行われるECCチップにおけるECC処理のアイドル状態を減らすことができ、これにより誤り検出および訂正の処理時間の短縮を図ることができる。
従来のフラッシュメモリの概略構成を示す図である。 従来のフラッシュメモリのECC機能の動作を示すタイミングチャートである。 本発明の実施例に係るフラッシュメモリの概略構成を示す図である。 本発明の実施例に係るNANDチップとECCチップとの内部構成を示すブロック図である。 本発明の実施例に係るフラッシュメモリのECC動作を示すタイミングチャートである。 セクタS0のメインデータとパリティデータのデータ転送のタイミングを示す図であり、図6(A)は比較例を示し、図6(B)は本実施例を示す。 データ入力とパリティデータの生成のタイミングチャートを示し、図7(A)は従来例を示し、図7(B)は本実施例を示す。 本発明の実施例に係るECCチップを搭載しないフラッシュメモリの構成を示す図である。 本発明の実施例に係る複数のNANDチップがスタックされたフラッシュメモリの構成を示す図である。 本発明の実施例に係るフラッシュメモリの連続読出し動作のタイミングチャートを示す図である。 連続読出し動作中に中断が生じたときのタイミングチャートを示す図である。 本発明の実施例に係るフラッシュメモリによる訂正データのコピーバック動作を示すタイミングチャートである。 本発明の実施例に係るコピーバック動作時のECCチップの各部のタイミングチャートを示す図である。
次に、本発明の実施の形態について説明する。本発明に係る半導体記憶装置は、オフチップECC機能を有するNAND型フラッシュメモリに関する。本実施の形態に係るフラッシュメモリは、NAND型のメモリセルアレイを搭載するNANDチップと、ECC機能を搭載するECCチップとを含み、両チップは、ECCに関するデータを専用ポートを介して高速で転送することが可能である。ある態様では、フラッシュメモリは、積層された複数のNANDチップと1つのECCチップとを含み、複数のNANDチップおよびECCチップが1つのパッケージ内に収容される。
次に、本発明の実施例について図面を参照して詳細に説明する。図3は、本発明の実施例に係るフラッシュメモリの概略構成を示す図である。本実施例に係るフラッシュメモリ100は、NANDチップ200と、NANDチップ200に電気的に接続されたECCチップ300とを含んで構成される。
NANDチップ200は、ここには詳細を示さないが、典型的に、NAND型のメモリセルアレイおよび周辺回路を含む。周辺回路は、行デコーダ、列デコーダ、ページバッファ/センス回路、インターフェース回路、コントローラ、内部電圧生成回路などを含み、コントローラは、入力されたコマンドに応じて読出し、プログラム、消去等の動作を制御する。メモリセルアレイは、複数のブロックを含み、各ブロックには複数のNANDストリングが形成される。NANDストリングは、基板表面に2次元的に形成されてもよいし、基板表面上に3次元的に形成されてもよい。また、メモリセルは、1ビット(2値データ)を記憶するSLCタイプでもよいし、多ビットを記憶するタイプであってもよい。
NANDチップ200は、ECCチップ300とのインターフェースとして、SPI用の入出力端子210(#CS、CLK、DI、DO、#WP、#HOLD)と、ECC専用の入出力端子220(VALID、CK、DATA)とを含む。”#”は、ローアクティブを示す。#CSは、チップをイネーブルまたはディスエーブルするためのチップセレクト信号を受け取る端子、CLKは、シリアルクロック信号を受け取る端子、DIは、シリアルデータを入力する端子、DOは、シリアルデータを出力する端子、#WPは、ステータスレジスタを書込みから保護するための信号を受け取る端子、#HOLDは、チップをホールドするための信号を受け取る端子である。NANDチップ200は、SPI用の入出力端子210を介して、シリアルクロック信号CLKに同期してコマンド、アドレス、データを受け取り、あるいはシリアルクロック信号CLKに同期してデータを出力する。
ECC専用の入出力端子220として、VALIDは、NANDチップ200とECCチップ300間のデータ転送が有効か否かを示すVALID信号を入出力する端子、CKは、データ転送およびECC処理に使用されるクロック信号CKを出力する端子、DATAは、NANDチップ200とECCチップ300間のデータを入出力する端子である。ここで留意すべきことは、SPI用のDO端子/DI端子のビット幅m(データ転送幅)は、例えば、×1、×4または×8であるが、ECC専用のDATA端子のビット幅nは、SPI用のDO端子/DI端子のビット幅mよりも大きく構成され(n>m)、例えば、ビット幅nは、×32である。それ故、NANDチップ200とECCチップ300間のデータ転送時間は、クロック信号CKとクロック信号CLKの周波数が同一であれば、SPIによるデータ転送時間よりもn/m倍だけ早くなる。
なお、ここには図示しないがNANDチップ200は、SPI用の入出力端子210の他にもONFiのインターフェースを備えることができる。ONFiのインターフェースは、CLE(コマンドラッチイネーブル)、ALE(アドレスラッチイネーブル)、#WE(ライトイネーブル)等の外部制御端子とI/Oなどの入出力端子を備える。
ECCチップ300は、NANDチップ200とのインターフェースとして、SPI用の入出力端子310(#CS、CLK、DI、DO、#WP、#HOLD)と、ECC専用の入出力端子320(VALID、CK、DATA)とを含む。ECCチップ300のSPI用の入出力端子310は、NANDチップ200のSPI用の入出力端子210の対応する端子にそれぞれ電気的に結合され、ECC専用の入出力端子320は、NANDチップ200のECC専用の入出力端子220の対応する端子にそれぞれ電気的に結合される。
ECCチップ300はさらに、コントローラチップ400とのインターフェースとして、SPI用の入出力端子330(#CS、CLK、DI、DO、#WP、#HOLD)を含む。入出力端子330は、コントローラチップ400のSPI用の入出力端子410の対応する端子に電気的に結合される。入出力端子310(#CS、CLK、DI、DO、#WP、#HOLD)の各々の端子は、内部配線等によって、入出力端子330(#CS、CLK、DI、DO、#WP、#HOLD)の各々の端子にそれぞれ電気的に結合されている。すなわち、入出力端子310および入出力端子330は、NANDチップ200とコントローラチップ400との接続のために物理的に離間して配置されるが、電気的には、入出力端子310と入出力端子330は、NANDチップ200およびコントローラチップ400に共通であり、こうした接続は、NANDチップ200のSPI用の入出力端子210がコントローラチップ400のSPI用の入出力端子410に接続されていることに等しい。
図4は、NANDチップ200およびECCチップ300の内部構成を示すブロック図である。但し、NANDチップ200にはECC動作に関連する構成が示され、全ての構成は示されていないことに留意すべきである。
NANDチップ200は、ラッチL1、L2を含むページバッファ/センス回路230と、クロック信号CKを生成する発振器OSCと、ECC専用の入出力端子220を介してECCチップ300との間のデータ転送を制御するインターフェース回路(以下、ECC_IF)240と、SPI用の入出力端子210を介してコントローラチップ400との間のデータ転送を制御するインターフェース回路(以下、CTL_IF)250と、ECC制御部260と、入出力端子210から入力されたコマンドおよびアドレスを受け取り、コマンドを解読するデコーダやアドレスの保持・カウントを行うアドレスカウンタを含み、コマンドのデコード結果に基づき各部を制御するコントローラ270と、ページバッファ/センス回路230の列アドレスを制御するアドレス制御部280とを含む。
ラッチL1、L2は、それぞれキャッシュC0、C1を含み、ラッチL1とラッチL2とは、キャッシュC0、C1単位で双方向のデータ転送が可能である。ラッチL1、L2は、それぞれ1ページ分のデータ(例えば、4KB)を保持し、キャッシュC0、C1は、1/2ページ分のデータ(例えば、2KB)を保持し、例えば、1ページが8つのセクタから構成される場合には、キャッシュC0がセクタS0~S3の4つのセクタのデータを保持し(例えば、1つのセクタは512バイト)、キャッシュC1がセクタS4~S7の4つのセクタのデータを保持する。
発振器OSCは、データ転送時間およびECC動作の各部の処理時間に最適となる周波数のクロック信号CKを生成する。NANDチップ200とECCチップ300との間の
DATA端子によるデータ転送は、クロック信号CKに同期して行われ、ECCチップ300のECCコア360は、クロック信号CKに同期してECC処理を実行する。クロック信号CKの周波数は、SPIによるクロック信号CLKの周波数と無関係であり、クロック信号CLKの周波数よりも高く設定することができる。
ECC_IF240は、発振器OSCで生成されたクロック信号CKを受け取り、このクロック信号をCK端子を介してECCチップ300のCK端子に供給する。ECC_IF240は、読出し動作時にラッチL2に保持された読出しデータをクロック信号CKに同期したタイミングでDATA端子からECCチップ300のDATA端子に出力し、また、プログラム動作時にECCチップ300で生成されたパリティデータをクロック信号CKに同期したタイミングでDATA端子から受け取る。
ECC制御部260は、読出し動作時、VALID信号をECC_IF240に供給する。VALID信号は、ECC専用の入出力端子220、320間のデータ転送が有効となる期間を規定する。ECC_IF240は、VALID信号で規定された期間中、例えば、VALID信号がハイレベルの期間中、NANDチップ200のDATA端子からECCチップのDATA端子にデータを転送する。また、ECC_IF240は、ECCチップ300のNAND_IF340がNANDチップ200からのデータを受け取ることができるようにするため、VALID端子からECCチップ300のVALID端子にVALID信号を出力する。
CTL_IF250は、入出力端子210を介してのデータの入出力を制御する。CTL_IF250は、コントローラチップ400から出力されたコマンド、アドレス、データを受け取り、コマンドおよびアドレスをコントローラ270に提供し、データをラッチL2またはL1に保持する。
コントローラ270は、入力されたコマンドをデコードし、デコード結果に基づき読出し、プログラム、消去等の動作を制御する。また、コントローラ270は、デコード結果に基づき読出しまたはプログラムを識別するコントロールフラグをECC制御部260に提供したり、NANDチップ200がビジー状態かスタンバイ状態かを示すステータス信号をCTL_IF250に提供する。さらにコントローラ270は、CTL_IF250から入力された列アドレスをカウントするアドレスカウンタを含み、アドレスカウンタのアドレスをアドレス制御部280に提供する。
ECC制御部260は、ECC処理を制御するためのロジックおよびECC処理のためのアドレスの保持およびカウントを行うアドレスカウンタを含む。ECC制御部260は、ECCチップ300のECC制御部370と同様に構成され、つまり、ECCチップ300がどのようなECC動作を行っているのか認識できるようにするためECC制御部370と同期するECC制御部260を含んでいる。なお、コントロールフラグは、ECCコア360によるエンコーダまたはデコーダの切替えのために使用される。
アドレス制御部280は、コントローラ270から出力される列アドレスとECC制御部260から出力されるECC用の列アドレスを受け取り、NANDチップ200の動作に応じて選択された列アドレスをページバッファ/センス回路230に提供する。ラッチL2から読み出すデータの位置またはラッチL2に書込むデータの位置は列アドレスによって制御される。
ECCチップ300は、RAM0、RAM1と、ECC専用の入出力端子320を介してNANDチップ200との間のデータ転送を制御するインターフェース回路(以下、NAND_IF)340と、SPI用の入出力端子330、310を介してNANDチップ200およびコントローラチップ400との間のデータの入出力を制御するインターフェース回路(以下、CTL_IF)350と、エラー検出・訂正を行うECCコア360と、ECCコア360を制御するためのロジックおよびECC処理のためのアドレスの保持・カウントを行うアドレスカウンタを含むECC制御部370と、入出力端子310、330から入力されたコマンド、アドレス、データを受け取るコントローラ380と含む。
ここで留意すべきは、ECCチップ300には、NANDチップ200がどのような動作を行っているのか認識できるように、NANDチップ200のコントローラ270と同様の入力されたコマンドおよびアドレスを受け取り、コマンドを解読するデコーダやアドレスの保持・カウントを行うアドレスカウンタを含んだコントローラ380が搭載されている。また、SPI用の入出力端子330は、SPI用の入出力端子310の対応する端子に電気的に結合されているため、コントローラ400からのコマンド、アドレス、データは、ECCチップ300およびNANDチップ200の双方に供給される。
RAM0、RAM1は、それぞれ1/2ページ分のデータ、例えば、RAM0は、セクタS0~S3のデータを保持し、RAM1は、セクタS4~S7のデータを保持する。NANDチップ200において読出し動作が行われるとき、NAND_IF340は、VALID信号がハイアクティブの期間中、ECC専用の入出力端子220および320を介して、NANDチップ200から1ページ分のデータをセクタ単位で順次受け取る。受け取られたデータは、セレクタSEL1によって選択されたRAM0またはRAM1にData0(例えば、セクタS0~S3)またはData1(例えば、セクタS4~S7)として格納される。
ECC制御部370は、ECCコア360が読出しデータのエラー検出・訂正を行うとき、セレクタSEL3によってRAM0またはRAM1のアドレスを選択し、選択したRAM0またはRAM1から読み出したデータをECCコア360に提供する。ECCコア360は、ECC制御部370の制御下において、RAM0またはRAM1から読み出されたデータについて、シンドローム計算、ユークリッド互除計算、エラー位置探索をパイプラインで処理し、探索されたエラー位置に応じてエラーを訂正するため、セレクタSEL4によって選択されたRAM0またはRAM1から読み出されたデータのエラービットを反転し、訂正されたデータは、CTL_IF350によって入出力端子330を介してコントローラチップ400に出力される。
また、プログラム動作が行われるとき、コントローラチップ400からのコマンド、アドレス、データは、NANDチップ200に加えてECCチップ300にも入力される。コントローラ380は、コマンドのデコード結果に基づきプログラム動作であることを認識し、入力されたデータをRAM0およびRAM1に格納する。ECC制御部370は、コントローラ380からのコントロールフラグによりプログラム動作を認識し、ECCコア360のエンコーダを動作させ、かつVALID信号をNAND_IF340に提供する。このVALID信号は、NANDチップ200のVALID端子にも供給される。
ECCコア360は、ECC制御部370の制御下において、RAM0またはRAM1に保持された入力データを読出し、読み出したデータをセクタ単位で符号化し、各セクタのパリティデータを生成する。生成されたパリティデータは、NAND_IF340を介してDATA端子からNANDチップ200のDATA端子に転送される。NANDチップ200は、コントローラチップ400から受け取ったデータをラッチL2に保持しており、ECC_IF240を介してECCチップ300から受け取った各セクタのパリティデータは、ECC制御部260によって指定される列アドレスに従いラッチL2に保持され、ラッチL2に保持されたデータがラッチL1に転送される。その後、コントローラ270は、ラッチL1に保持されたデータをメモリセルアレイにプログラムする。
次に、本実施例のフラッシュメモリ100のECC動作の詳細について説明する。図5は、ECCコア360により読出しデータをデコードするときのタイミングチャートを示している。NANDチップ200が読出しコマンドに応じて読出し動作を行うとき、時刻t0で、NANDチップ200のECC_IF240がラッチL2に保持されたセクタS0のメインデータとパリティデータPtとをクロック信号CKに同期してDATA端子から送信し、ECCチップ300のNAND_IF340がDATA端子からセクタS0のメインデータとパリティデータPtの受け取りを開始し、時刻t1でセクタS0のメインデータとパリティデータPtの受け取りが終了する。時刻t0と時刻t1の転送時間は、ECC専用のDATA端子のデータ幅およびクロック信号CKの周波数がECC処理のために最適化されているので、SPI用の入出力端子210を介してデータを転送する時間よりも短くすることができる。同様に、時刻t2でセクタS1のメインデータとパリティデータPtの転送が終了し、時刻t3でセクタS2のメインデータとパリティデータPtの転送が終了し、時刻t4でセクタS3のメインデータとパリティデータPtの転送が終了する。
NANDチップ200から受信したセクタS0~S3のデータは順次RAM0に格納される。RAM0へのセクタS0のデータの格納と並行して、ECCコア360は、セクタS0のシンドロームの計算を開始する。ある態様では、セクタS0のシンドローム計算が時刻t1で終了するように、DATA端子のビット幅やクロック信号CKの周波数が設定される。ECCコア360は、シンドローム計算後、セクタS1の受信中に、セクタS0のエラー位置多項式計算、エラー位置探索を行う。
時刻t5で、ECCコア360は、クロック信号CLKに同期したセレクタSEL4、セレクタSEL5により選択されたRAM0からセクタS0のメインデータを読出し、ExORでセクタS0のメインデータのビットエラーを反転し、エラー訂正したセクタS0のメインデータをSPI用のクロック信号CLKに同期して入出力端子330のDO端子からコントローラチップ400に出力する。ECCコア360は、時刻t6、t7、t8で、セクタS1、S2、S3のエラー訂正を行い、エラー訂正されたセクタS1、S2、S3のメインデータを入出力端子330を介してコントローラチップ400の順次出力する。コントローラチップ400のCPU_IFは、時刻t6、t7、t8、t9で受け取ったセクタS0、S1、S2、S3のメインデータをホスト装置へ転送する。セクタS4~S7についてのECC動作を図示していないが、セクタS4~S7の処理は、セクタS0~S3の処理後に同様に行われる。
図6は、セクタS0のメインデータとそのパリティデータのデータ転送のタイミングを示す図である。図6(A)は比較例であり、時刻t0でセクタS0のメインデータの転送が開始され、時刻t1でセクタS0のパリティデータが転送され、パリティデータの転送後の時刻t2で次のセクタS1のメインデータが転送され、時刻t3でセクタS1のパリティデータが転送される。
チップ間のデータ転送と並行してシンドローム計算を行う場合には、データ転送とシンドローム計算の間でタイミングを合わせる必要がある。パリティデータはスペア領域に格納されるが、そのサイズは16×Nバイト(Nは、自然数)であり、その全ての領域がパリティデータに使用される訳ではない。本実施例では、図6(B)に示すようにスペア領域の全てをパリティデータとして転送せず、スペア領域のパリティデータだけを転送する。これにより、セクタS0のパリティデータの転送は、時刻t2より前に完了させることができる。シンドローム計算の完了は、パリティデータの転送に対してレイテンシが生じ、セクタS0のシンドローム計算が完了するタイミングでセクタS1のデータ転送が開始される。必要なデータだけを必要なタイミングで転送するために、NANDチップ200およびECCチップ300の双方には、ECC用のアドレスカウンタを含むECC制御部260およびECC制御部370が搭載され、NANDチップ200とECCチップ300のECCに関する動作が共有される。
図7は、ECCコアによるパリティデータの生成のタイミングチャートを示す図である。図7(A)は、図1の従来例の動作であり、時刻t0でコントローラチップ30がホスト装置からセクタS0のデータを受け取り、以後、一定の時間間隔でセクタS1、S2、S3のデータをホスト装置から受け取る。コントローラチップ30は、時刻t1でECC機能40によりパリティデータの生成を開始し、時刻t2でセクタS0のメインデータとパリティデータPtをSPI用の入出力端子を介してNANDチップ20に送信する。時刻t3で次のセクタS1のデータを受け取り、時刻t4でセクタS1のパリティデータの生成を開始し、時刻t5でセクタS1のパリティデータの生成が終了し、セクタS1のメインデータとパリティデータの送信を開始する。NANDチップ20は、1ページ分のセクタS0~S7のメインデータとパリティデータをコントローラチップ30から受け取ると、これらのデータをメモリセルアレイの選択ページにプログラムする。
本実施例では、図7(B)に示すように、時刻t0でコントローラチップ400がホスト装置からセクタS0のデータを受け取り、以後、一定の時間間隔でセクタS1、S2、S3のデータをホスト装置から受け取る。時刻t1でコントローラチップ400のCTL_IFがSPI用の入出力端子410を介してセクタS0のメインデータをECCチップ300に送信する。このとき、NANDチップ200の入出力端子210は、ECCチップの入出力端子310、330を介してコントローラチップ400の入出力端子410に接続されているため、セクタS0のデータがNANDチップ200に取り込まれ、取り込まれたセクタS0のデータがラッチL2に保持される。
コントローラチップ400は、時刻t2でホスト装置からセクタS1のデータを受け取り、時刻t3でセクタS1のメインデータをECCチップ300に送信する。ECCチップ300がセクタS0のメインデータの受け取りを完了すると、ECCコア360は、セクタS0のメインデータに基づきパリティデータを生成し、NAND_IF340は、時刻t4で生成されたセクタS0のパリティデータをECC専用のDATA端子からNANDチップ200に送信する。時刻t4~t5のパリティデータの転送は、ECC専用の入出力端子220、320を介して行われるため、SPIで転送するよりも高速である。こうして、NANDチップ200は、各セクタのパリティデータを順次受け取り、受け取ったパリティデータがラッチL2に保持され、ラッチL2のデータがラッチL1に転送され、その後、ラッチL1に保持された各セクタのメインデータとパリティデータとがメモリセルアレイの選択ページにプログラムされる。ECCチップ300とNANDチップ間のパリティデータの転送時間を短縮することでプログラムを実行するタイミングを速くすることができる。
図8は、本実施例のフラッシュメモリ100がECCチップ300を搭載しないときの構成を示す図である。フラッシュメモリ100は、パッケージ内にNANDチップ200のみを収容し、NANDチップ200のSPI用の入出力端子210がコントローラチップ400のSPI用の入出力端子410に接続される。ECC機能を望まないユーザーは、ECCチップを削減することで省スペース化された安価なフラッシュメモリを利用することができる。
図9は、本実施例の変形例に係るフラッシュメモリの構成を示す図であり、図3と同一構成については同一参照番号を附してある。本例では、フラッシュメモリ100Aは、スタックされた複数のNANDチップ200Aを含む。SPI用の入出力端子210およびECC専用の入出力端子220は、複数のNANDチップ200Aの相互間で電気的に接続される。例えば、スタックされたNANDチップのシリコン基板を貫通する導電性部材によって積層されたチップ間の入出力端子210、220が共通に接続される。スタックされた最上層のNANDチップ200Aの入出力端子210および220が配線等によってECCチップ300の入出力端子310および320にそれぞれ電気的に接続される。
NANDチップ200Aの入出力端子210および220が相互に共通接続されるが、NANDチップ200Aの各々は、どのチップが選択されたのかを判断することができる。例えば、各NANDチップ200Aのコントローラ270のアドレスカウンタが、全てのNANDチップ200Aによって構成される全体のメモリセルアレイのアドレス空間を監視できるようにし、つまり、アドレスカウンタのビット数は、全体のメモリセルアレイのアドレス空間を表すことができ、コントローラ270は、ユーザーから入力されるアドレスに対応するメモリセルアレイを識別することでどのチップが選択されたのかを判断する。
このように、複数のNANDチップ200Aが1つのECCチップ300を共有することで、高集積化を図りつつ誤り検出・訂正機能の処理時間を短縮したフラッシュメモリを提供することができる。
次に、本実施例のフラッシュメモリのページの連続読出し動作のタイミグチャートを図10に示す。上側半分にNANDチップ200の動作を示し、下側半分がECCチップ300のタイミングを示す。NANDチップ200は、各ページの最終アドレスのデータを出力したら次のアレイリードを開始し、ラッチL2にページP0のデータが転送された後のページP1の読出しから実質的な連続読出しが開始される。
NANDチップ200は、VALID信号がハイレベルの期間中、各ページのセクタS0~S7のデータをECCチップ300に転送し、ECCチップ300がキャッシュ単位でセクタS0~S3またはセクタS4~S7のデータをDO端子から出力すると、このタイミングに応答してNANDチップ200が次のページのデータをECCチップ300に転送する。NANDチップ200からECCチップ300にデータを転送するタイミングは、ECCチップ300がコントローラチップ400に対してキャッシュ単位の最終アドレスを出力したタイミングとなる。例えば、NANDチップ200は、ECCチップ300がページP0のセクタS0~S3の出力を完了した後、ページP1のセクタS0~S3のデータの転送を開始する。
ECCチップ300がコントローラチップ400に対してキャッシュ単位の最終アドレスを出力するタイミングは、NANDチップ200にも接続されているクロック信号CLKのトグル回数をNANDチップ200内のコントローラ270内のアドレスカウンタを使用して認識すればよい。NANDチップ200のコントローラ270内のADDカウンタは、ECCチップ300を搭載しないときや誤り訂正をしないときにはCTL_IF250から出力するデータを制御するために使用するが、誤り訂正をするときにはCTL_IF250からデータを出力しないので、上記の用途に使用することができる。
図10Aは、ページの連続読出し中に中断が生じた場合のタイミングチャートを示している。同図に示すように、クロック信号CLKの停止等により連続読出し中にDO端子からのデータ出力に中断があったとしても(DO端子に中断箇所を示す)、ECCチップ300は、RAM0、RAM1に読出しデータを保持しているため、中断によりデータが消失されることは防止される。また、NANDチップ200とECCチップ300は、読出しを行っているページのアドレスを共有しているので、中断後に連続読出しを正しく再開することができる。
次に、本実施例のフラッシュメモリのコピーバック機能について説明する。本実施例では、NANDチップ200とECCチップ300との間のECC専用の入出力端子220、320を用いてECCチップで生成した訂正データをNANDチップ200に書き戻すことができ、その際、コピーバックに必要なサイクル数を従来よりも削減する。
従来のフラッシュメモリ(図1に示す構成)において、エラー訂正後に訂正データをコピーバックするためには、NANDチップ20へのコマンド入力を必要としていた。エラーが発生したアドレスが分散している場合には、ランダムデータ入力コマンドを使用して、エラーの数だけ訂正データをNANDチップに転送している。NANDチップ20のインターフェースがONFiである場合に4ビットのエラーが連続していないアドレスで発生したときのコピーバックの動作例を図11(A)に示す。
コントローラチップ30は、エラー訂正が完了すると、訂正アドレスと訂正データとをNANDチップ20に出力する。CLE端子がHレベルの期間にI/O端子に入力されたランダムデータ入力コマンドが取り込まれ、ALEがHレベルの期間にI/O端子に入力された訂正アドレスADD0~ADD3が取り込まれ、CLE端子およびALE端子がLレベルの期間に#WEの立ち上がりエッジでI/O端子の訂正データDA0~DA3が取り込まれる。NANDチップ20は、訂正アドレスに基づき訂正データをラッチL1にセットし、その後に入力されるプログラムコマンドによってラッチL1に保持されたデータがメモリセルアレイにプログラムされる。
図11(B)は、本実施例のコピーバックの動作例を示している。ECCコア360は、エラー位置の探索後、RAM0またはRAM1に保持されたデータのエラービットを反転し、RAM0またはRAM1にエラー訂正されたデータが保持される。ECC制御部370は、VALID信号をNAND_IF340に供給し、NAND_IF340は、VALID信号に応じてRAM0またはRAM1から読み出した訂正データDA0~DA3と訂正アドレスADD0~ADD3とをECC専用のDATA端子を介してNANDチップ200に転送する。本実施例では、訂正アドレスおよび訂正データを転送するたびにコマンドの入力を必要としないため、従来よりもコピーバックを短時間で行うことができる。
図12は、本実施例によるコピーバック動作時のECCチップの各部のタイミングチャートである。時刻t0~t4までの動作は、図5の動作と同じである。時刻t4で、セクタS3のエラー位置多項式計算が開始され、時刻taでセクタS3のエラー位置探索が開始され、時刻tbでセクタS3のエラー位置探索が終了する。時刻t4~tbの間に、NAND_IF340は、セクタS0、S1、S2の各訂正データD0、D1、D2をDATA端子を介してNANDチップ200に転送し、時刻tbでセクタS3のエラー位置探索(エラー訂正を含む)が終了すると、NAND_IF340がセクタS3の訂正データD3をNANDチップ200に転送し、時刻tcで訂正データD3の転送が終了する。その後、コントローラチップ400からプログラムコマンドが入力され、ラッチL1に保持されたデータがメモリセルアレイにプログラムされる。
以上説明したように、本実施例によれば、NANDチップ200とECCチップ300にECC専用の入出力端子を設け、専用の入出力端子を介してECCに関するデータを転送するようにしたので、オフチップでありながらECC処理を高速に行うことができる。なお、上記実施例では、ECC専用のDATA端子のビット幅が32ビット(×32)の例を示したが、これは一例であることは言うまでもない。また、クロック信号CKの周波数は、必ずしもクロック信号CLKの周波数よりも高い必要はない。DATA端子のビット幅がSPIのデータ転送のビット幅よりも大きいのであれば、クロック信号CKの周波数は、クロック信号CLKの周波数と同じかそれより低くてもよい。
本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
100、100A:フラッシュメモリ
200、200A:NANDチップ
210:SPI用の入出力端子
220:ECC専用の入出力端子
300:ECCチップ
310:SPI用の入出力端子
320:ECC専用の入出力端子
400:コントローラチップ
410:SPI用の入出力端子

Claims (16)

  1. NAND型のメモリセルアレイと当該メモリセルアレイに関する動作を制御する制御手段とを含むNANDチップと、
    誤り検出および訂正機能を備えたECCチップとを有し、
    前記NANDチップは、ECCに関するデータ転送を行うための第1の専用端子を含み、前記ECCチップは、前記第1の専用端子に接続された第2の専用端子を含み、
    前記第1の専用端子は、第1のクロック端子と第1のデータ端子とを含み、
    前記第2の専用端子は、前記第1のクロック端子に接続された第2のクロック端子と前記第1のデータ端子に接続された第2のデータ端子とを含み、
    前記NANDチップは、前記第1および前記第2のクロック端子に共有されるクロック信号を生成する生成回路を含み、
    前記第1のデータ端子と前記第2のデータ端子との間のデータは、前記クロック信号に同期して転送される、半導体記憶装置。
  2. 前記NANDチップは、前記制御手段によってメモリセルアレイから読み出されたパリティデータを含む読出しデータを前記第1の専用端子を介して前記ECCチップに送信し、
    前記ECCチップは、前記第2の専用端子を介して受け取った前記読出しデータの誤り検出および訂正を行う、請求項1に記載の半導体記憶装置。
  3. 前記ECCチップは、プログラムデータに基づき生成されたパリティデータを前記第2の専用端子を介して前記NANDチップに送信し、
    前記制御手段は、前記第1の専用端子を介して受け取った前記パリティデータを含むプログラムデータを前記メモリセルアレイにプログラムする、請求項1に記載の半導体記憶装置。
  4. NAND型のメモリセルアレイと当該メモリセルアレイに関する動作を制御する制御手段とを含むNANDチップと、
    誤り検出および訂正機能を備えたECCチップとを有し、
    前記NANDチップは、ECCに関するデータ転送を行うための第1の専用端子を含み、前記ECCチップは、前記第1の専用端子に接続された第2の専用端子を含み、
    前記第1の専用端子はさらに、第1のVALID端子を含み、前記第2の専用端子はさらに、前記第1のVALID端子に接続された第2のVALID端子を含み、
    前記第1のVALID端子には、データ転送を有効にするVALID信号が供給される、半導体記憶装置。
  5. 前記第1の専用端子は、第1のクロック端子と第1のデータ端子とを含み、
    前記第2の専用端子は、前記第1のクロック端子に接続された第2のクロック端子と前記第1のデータ端子に接続された第2のデータ端子とを含み、
    前記NANDチップは、前記第1および前記第2のクロック端子に共有されるクロック信号を生成する生成回路を含み、
    前記第1のデータ端子と前記第2のデータ端子との間のデータは、前記クロック信号に同期して転送される、請求項4に記載の半導体記憶装置。
  6. 前記NANDチップは、前記メモリセルアレイから読み出された読出しデータを前記ECCチップに送信するとき、前記VALID信号を生成し、当該生成したVALID信号を前記第1のVALID端子に供給する、請求項に記載の半導体記憶装置。
  7. 前記ECCチップは、プログラムデータに基づき生成されたパリティデータを前記NANDチップに送信するとき、前記VALID信号を生成し、当該生成したVALID信号を前記第2のVALID端子に供給する、請求項に記載の半導体記憶装置。
  8. NAND型のメモリセルアレイと当該メモリセルアレイに関する動作を制御する制御手段とを含むNANDチップと、
    誤り検出および訂正機能を備えたECCチップとを有し、
    前記NANDチップは、ECCに関するデータ転送を行うための第1の専用端子を含み、前記ECCチップは、前記第1の専用端子に接続された第2の専用端子を含み、
    前記NANDチップはさらに、前記ECCチップとの間でデータの送受信を可能にする第1の入出力端子を含み、
    前記ECCチップはさらに、前記NANDチップとの間でデータの送受信を可能にする第2の入出力端子を含み、前記第1の入出力端子は前記第2の入出力端子に接続され、
    前記第1および第2の専用端子のデータ転送幅は、前記第1および第2の入出力端子のデータ転送幅よりも大きい、半導体記憶装置。
  9. 前記第1および第2の専用端子間のデータ転送のクロック周波数は、前記第1および第2の入出力端子のデータ転送のクロック周波数よりも高い、請求項8に記載の半導体記憶装置。
  10. 前記ECCチップはさらに、コントローラチップとの間でデータの送受信を可能にする第3の入出力端子を含み、
    前記第1の入出力端子は、前記第2の入出力端子と前記第3の入出力端子に共通に接続される、請求項8に記載の半導体記憶装置。
  11. 前記ECCチップは、前記第2の入出力端子を介して誤り訂正されたデータをコントローラチップへ出力する、請求項8に記載の半導体記憶装置。
  12. 前記ECCチップは、前記第1および第2の専用端子を介して誤り訂正されたデータを前記NANDチップへ出力する、請求項8に記載の半導体記憶装置。
  13. 前記ECCチップは、前記第3の入出力端子を介してプログラムデータを受け取り、
    前記NANDチップは、前記第2および前記3の入出力端子に接続された前記第1の入出力端子からプログラムデータを受け取る、請求項10に記載の半導体記憶装置。
  14. NAND型のメモリセルアレイと当該メモリセルアレイに関する動作を制御する制御手段とを含むNANDチップと、
    誤り検出および訂正機能を備えたECCチップとを有し、
    前記NANDチップは、ECCに関するデータ転送を行うための第1の専用端子を含み、前記ECCチップは、前記第1の専用端子に接続された第2の専用端子を含み、
    前記ECCチップは、前記メモリセルアレイから読み出された読出しデータの受け取りと並行して前記読出しデータの誤り検出および訂正を行う、半導体記憶装置。
  15. 前記NANDチップと前記ECCチップとは1つのパッケージ内に収容される、請求項1ないし14いずれか1つに記載の半導体記憶装置。
  16. NAND型のメモリセルアレイと当該メモリセルアレイに関する動作を制御する制御手段とを含むNANDチップと、
    誤り検出および訂正機能を備えたECCチップとを有し、
    前記NANDチップは、ECCに関するデータ転送を行うための第1の専用端子を含み、前記ECCチップは、前記第1の専用端子に接続された第2の専用端子を含み、
    前記NANDチップは、積層された複数のNANDチップを含み、当該複数のNANDチップのそれぞれの第1の専用端子が前記ECCチップの前記第2の専用端子に共通に接続される、半導体記憶装置。
JP2021138744A 2021-08-27 2021-08-27 半導体記憶装置 Active JP7253594B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2021138744A JP7253594B2 (ja) 2021-08-27 2021-08-27 半導体記憶装置
TW111126324A TWI827138B (zh) 2021-08-27 2022-07-13 半導體儲存裝置
CN202210899471.5A CN115732014A (zh) 2021-08-27 2022-07-28 半导体存储装置
US17/878,847 US12051480B2 (en) 2021-08-27 2022-08-01 Semiconductor storage device
KR1020220104709A KR20230031786A (ko) 2021-08-27 2022-08-22 반도체 기억 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021138744A JP7253594B2 (ja) 2021-08-27 2021-08-27 半導体記憶装置

Publications (2)

Publication Number Publication Date
JP2023032548A JP2023032548A (ja) 2023-03-09
JP7253594B2 true JP7253594B2 (ja) 2023-04-06

Family

ID=85288094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021138744A Active JP7253594B2 (ja) 2021-08-27 2021-08-27 半導体記憶装置

Country Status (5)

Country Link
US (1) US12051480B2 (ja)
JP (1) JP7253594B2 (ja)
KR (1) KR20230031786A (ja)
CN (1) CN115732014A (ja)
TW (1) TWI827138B (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110179212A1 (en) 2010-01-20 2011-07-21 Charles Andrew Hartman Bus arbitration for sideband signals
US20160283324A1 (en) 2014-03-05 2016-09-29 International Business Machines Corporation Error Checking and Correction for NAND Flash Devices
US20180129557A1 (en) 2016-11-10 2018-05-10 Western Digital Technologies, Inc. System and methodology for error management within a shared non-volatile memory architecture using bloom filters

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5453743B2 (ja) * 2008-07-25 2014-03-26 横河電機株式会社 二重化制御システム
KR20100114421A (ko) * 2009-04-15 2010-10-25 삼성전자주식회사 적층 패키지
US9159422B1 (en) * 2011-04-12 2015-10-13 Sk Hynix Memory Solutions Inc. Cross page management to avoid NAND physical page size limitation
KR101678919B1 (ko) 2011-05-02 2016-11-24 삼성전자주식회사 메모리 시스템 및 에러 정정 방법
KR101684045B1 (ko) * 2012-05-31 2016-12-07 휴렛 팩커드 엔터프라이즈 디벨롭먼트 엘피 로컬 에러 검출 및 글로벌 에러 정정
US9043674B2 (en) 2012-12-26 2015-05-26 Intel Corporation Error detection and correction apparatus and method
CN203745976U (zh) 2014-03-21 2014-07-30 超威半导体产品(中国)有限公司 一种独立的ecc芯片装置、母板和计算机系统
CN105912483B (zh) * 2015-02-23 2019-06-21 东芝存储器株式会社 存储系统
US10394648B2 (en) * 2016-11-07 2019-08-27 Samsung Electronics Co., Ltd. Method to deliver in-DRAM ECC information through DDR bus
CN114730584A (zh) * 2019-11-29 2022-07-08 铠侠股份有限公司 半导体存储装置以及存储系统
KR20220044015A (ko) * 2020-09-29 2022-04-06 삼성전자주식회사 메모리 장치의 에러 정정 불가를 예방하는 제어기, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110179212A1 (en) 2010-01-20 2011-07-21 Charles Andrew Hartman Bus arbitration for sideband signals
US20160283324A1 (en) 2014-03-05 2016-09-29 International Business Machines Corporation Error Checking and Correction for NAND Flash Devices
US20180129557A1 (en) 2016-11-10 2018-05-10 Western Digital Technologies, Inc. System and methodology for error management within a shared non-volatile memory architecture using bloom filters

Also Published As

Publication number Publication date
TW202309916A (zh) 2023-03-01
CN115732014A (zh) 2023-03-03
US12051480B2 (en) 2024-07-30
US20230066907A1 (en) 2023-03-02
TWI827138B (zh) 2023-12-21
KR20230031786A (ko) 2023-03-07
JP2023032548A (ja) 2023-03-09

Similar Documents

Publication Publication Date Title
TWI446347B (zh) 偵測快閃記憶體程式化失敗之方法
US8549328B2 (en) Memory controller, memory system including the same, and method for operating the same
US10824523B2 (en) Data storage device and operating method thereof
JP4247262B2 (ja) 集積回路装置
US8812942B2 (en) Interleaving apparatuses and memory controllers having the same
US7689895B2 (en) On-the fly error checking and correction CODEC system and method for supporting non-volatile memory
US20220180961A1 (en) Memory device and read method thereof
US11082068B2 (en) Error correction circuit, memory controller having error correction circuit, and memory system having memory controller
US11755209B2 (en) Semiconductor memory device and error detection and correction method
US10319455B2 (en) Semiconductor device
KR102683960B1 (ko) 반도체 기억장치 및 독출 방법
JP7253594B2 (ja) 半導体記憶装置
JP7178465B1 (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230327

R150 Certificate of patent or registration of utility model

Ref document number: 7253594

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150