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

半導体記憶装置 Download PDF

Info

Publication number
JP5855150B2
JP5855150B2 JP2014043457A JP2014043457A JP5855150B2 JP 5855150 B2 JP5855150 B2 JP 5855150B2 JP 2014043457 A JP2014043457 A JP 2014043457A JP 2014043457 A JP2014043457 A JP 2014043457A JP 5855150 B2 JP5855150 B2 JP 5855150B2
Authority
JP
Japan
Prior art keywords
data
unit
compression
pattern
input
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
JP2014043457A
Other languages
English (en)
Other versions
JP2015170374A (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 JP2014043457A priority Critical patent/JP5855150B2/ja
Priority to KR1020140138589A priority patent/KR101632427B1/ko
Priority to US14/619,639 priority patent/US9501354B2/en
Publication of JP2015170374A publication Critical patent/JP2015170374A/ja
Application granted granted Critical
Publication of JP5855150B2 publication Critical patent/JP5855150B2/ja
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/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
    • 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)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、半導体記憶装置に関し、特に、入出力されるデータの圧縮伸長および誤り訂正に関する。
フラッシュメモリ、DRAM等の半導体メモリでは、集積度が年々増加し、不良または欠陥のない記憶素子を製造することは難しい。このため、メモリチップ上には、製造工程中に発生する記憶素子の物理的な欠陥を見かけ上救済するための冗長スキームが利用される。例えば、ある冗長スキームでは、冗長メモリを設けることで、物理的な欠陥のある記憶素子を救済している。また、半導体メモリには、冗長メモリによる物理的な救済以外に、ソフトエラー対策として誤り検出訂正回路(ECC:Error Checking Correction)がある。
NAND型フラッシュメモリでは、繰り返しデータのプログラムや消去を繰り返すことで、トンネル絶縁膜の劣化による電荷保持特性が悪化したり、トンネル絶縁膜にトラップした電荷によりしきい値変動が生じ、ビットエラーを引き起こす。特許文献1では、このようなビットエラー対策として、誤り検出訂正回路を搭載している。特に、ブロック選択トランジスタに近いセルでは、リソグラフィによるパターンのバラツキ、拡散層形成時のイオン注入のバラツキによって、ビットエラー率が高くなる傾向にあり、これをより多く救済可能にするためにECCコードを格納させている。
また、NANDフラッシュメモリに入力されるデータおよびそこから出力されるデータについてECC処理を行うECC部を備えた半導体装置が特許文献2に開示されている。この半導体装置は、NANDフラッシュメモリとECC部との接続を切替え可能にすることで回路面積の低減を図っている。
特開2010−152989号公報 特開2011−197819号公報
ECC回路をオンチップで搭載するNAND型フラッシュメモリでは、読出しおよびプログラムされるすべてのビットデータに対し誤り検出訂正を行うと、その演算に非常に時間がかかる。特に、NAND型フラッシュメモリでは、ページ単位で読出しおよびプログラムが行われるので、高集積化に伴い1ページ当たりのビット数が増加すれば、それに比例してECC回路の演算時間が増加してしまう。このことは、読出し時間およびプログラム時間の短縮の障害になり得る。
本発明は、上記従来の課題を解決するものであり、データの信頼性の維持を図りつつ、データの入出力時間の短縮を図ることができる半導体記憶装置を提供することを目的とする。
本発明に係る半導体記憶装置は、メモリアレイと、前記メモリアレイから読み出したデータを保持し、または前記メモリアレイに書込むデータを保持するデータ保持手段と、外部入出力端子と、前記データ保持手段に接続され、前記データ保持手段に入力されるデータまたは前記データ保持手段から出力されるデータの誤り検出および訂正を行う誤り検出訂正手段と、前記外部入出力端子と前記誤り検出訂正手段との間に接続され、データの圧縮および伸長を行う圧縮手段とを有し、前記圧縮手段は、前記外部入出力端子から提供されたデータを圧縮し、圧縮したデータを前記誤り訂正手段へ提供し、前記誤り訂正手段から提供されたデータを伸長し、伸長されたデータを前記外部入出力端子へ提供する。
好ましくは半導体記憶装置はさらに、前記外部入出力端子と前記圧縮手段との間に入出力バッファを含む。好ましくは前記圧縮手段は、入力されたデータを論理圧縮する。好ましくは前記圧縮手段は、入力されたデータを、データパターンと当該データパターンの一致回数を含むデータに圧縮する。好ましくは前記圧縮手段は、入力されたデータとパターンデータとを比較する比較部と、入力されたデータとパターンデータとの一致回数をカウントするカウンタとを含む。好ましくは前記圧縮手段はさらに、Nバイトのデータパターンを発生するデータパターン発生部と、前記比較部の比較結果から得られたデータパターンが前の比較部で比較されたデータパターンに一致するか否かを判定する判定部と、圧縮されたデータを生成する圧縮データ生成部とを含み、前記判定部により一致しないと判定されたとき、前記圧縮データ生成部は、パターンデータと当該パターンデータの一致回数を含む圧縮データを生成する。好ましくは前記圧縮手段は、パターンデータと当該パターンデータの一致回数を含む圧縮されたデータを元のデータに伸長する伸長部を含む。好ましくは前記圧縮手段はさらに、圧縮されたデータに含まれる一致回数を減算するカウンタと、カウンタのカウント値が所定値に到達したか否かを判定する判定部とを備え、前記判定部により所定値に到達したと判定されるまで、前記伸長部は、パターンデータの連結を生成する。好ましくは前記誤り検出訂正手段は、圧縮されたデータに論理がすべて0または1のダミーデータを付加する。
本発明によれば、外部入出力端子と誤り検出訂正手段との間にデータの圧縮および伸長可能な圧縮手段を設けることにより、誤り検出訂正手段による演算時間の短縮を図ることができる。それ故、データの入出力時間を短縮させることができる。
本発明の実施例に係るNAND型フラッシュメモリの全体の概略構成を示す図である。 本発明の実施例に係るメモリセルアレイのNANDストリングの構成を示す回路図である。 本実施例に係るフラッシュメモリのプログラム時に各部に印加される電圧の一例を示す図である。 本発明の実施例に係るフラッシュメモリにデータが入力されるときの圧縮動作を説明する図である。 データの論理圧縮の一例を示す図である。 本発明の実施例に係るフラッシュメモリからデータが出力されるときの伸長動作を説明する図である。 圧縮されたデータの伸長の一例を示す図である。 本発明の実施例に係るフラッシュメモリにデータが入力されるときの処理時間の一例である。 本発明の実施例に係るフラッシュメモリからデータが出力されるときの処理時間の一例である。 本発明の第2の実施例に係るフラッシュメモリを説明する図である。
次に、本発明の実施の形態について図面を参照して詳細に説明する。本発明は、種々のタイプの記憶構造を有する不揮発性メモリに適用することができるが、ここでは、好ましい形態としてNAND型のフラッシュメモリを例示する。なお、図面は、分かり易くするために各部を強調して示してあり、実際のデバイスのスケールとは異なることに留意すべきである。
本発明の実施例に係るフラッシュメモリの典型的な構成を図1に示す。但し、ここに示すフラッシュメモリは例示であって、本発明は、必ずしもこのような構成に限定されるものではない。本実施例のフラッシュメモリ10は、複数のメモリセルが行列状に配列されたメモリアレイ100と、外部入出力端子I/Oに接続され入出力データを保持する入出力バッファ110と、読み出されたビットデータおよびプログラムすべきビットデータの誤り検出・訂正を行うECC回路120と、入出力バッファ110とECC回路との間に接続されデータの圧縮・伸長を行う圧縮部130と、入出力バッファ110からのアドレスデータを受け取るアドレスレジスタ140と、入出力バッファ110からのコマンドデータや外部からの制御信号を受け取り、各部を制御する制御部150と、アドレスレジスタ140から行アドレス情報Axを受け取り、行アドレス情報Axをデコードし、デコード結果に基づきブロックの選択およびワード線の選択等を行うワード線選択回路160と、ワード線選択回路160によって選択されたページから読み出されたデータを保持したり、選択されたページへの書込みデータを保持するページバッファ/センス回路170と、アドレスレジスタ140から列アドレス情報Ayを受け取り、列アドレス情報Ayをデコードし、当該デコード結果に基づきページバッファ/センス回路170内のデータの選択等を行う列選択回路180と、データの読出し、プログラムおよび消去等のために必要な種々の電圧(書込み電圧Vpgm、パス電圧Vpass、読出しパス電圧Vread、消去電圧Versなど)を生成する内部電圧発生回路190とを含んで構成される。
メモリアレイ100は、列方向に配置されたm個のメモリブロックBLK(0)、BLK(1)、・・・、BLK(m-1)を有する。ブロックBLK(0)に近接して、ページバッファ/センス回路170が配置される。このような構成以外にも、ページバッファ/センス回路170は、ブロックの他方の端部、あるいは両側の端部に配置されるものであってもよい。
1つのメモリブロックには、図2に示すように、複数のメモリセルを直列に接続したNANDストリングユニットNUが複数形成され、1つのメモリブロック内にn+1個のストリングユニットNUが行方向に配列されている。セルユニットNUは、直列に接続された複数のメモリセルMCi(i=0、1、・・・、31)と、一方の端部であるメモリセルMC31のドレイン側に接続された選択トランジスタTDと、他方の端部であるメモリセルMC0のソース側に接続された選択トランジスタTSとを含み、選択トランジスタTDのドレインは、対応する1つのビット線GBLに接続され、選択トランジスタTSのソースは、共通のソース線SLに接続される。
メモリセルMCiのコントロールゲートは、ワード線WLiに接続され、選択トランジスタTD、TSのゲートは、ワード線WLと並行する選択ゲート線SGD、SGSに接続される。ワード線選択回路160は、行アドレスAxまたは変換されたアドレスに基づきブロックを選択するとき、ブロックの選択ゲート信号SGS、SGDを介して選択トランジスタTD、TSを選択的に駆動する。図2は、典型的なセルユニットの構成を示しているが、セルユニットは、NANDストリング内に1つまたは複数のダミーセルを包含するものであってもよい。
メモリセルは、典型的に、Pウエル内に形成されたN型の拡散領域であるソース/ドレインと、ソース/ドレイン間のチャンネル上に形成されたトンネル酸化膜と、トンネル酸化膜上に形成されたフローティングゲート(電荷蓄積層)と、フローティングゲート上に誘電体膜を介して形成されたコントロールゲートとを含むMOS構造を有する。フローティングゲートに電荷が蓄積されていないとき、つまりデータ「1」が書込まれているとき、しきい値は負状態にあり、メモリセルは、ノーマリオンである。フローティングゲートに電子が蓄積されたとき、つまりデータ「0」が書込まれているとき、しきい値は正にシフトし、メモリセルは、ノーマリオフである。但し、メモリセルは、1ビット(2値データ)を記憶するSLCタイプでもよいし、多ビットを記憶するMLCタイプであってもよい。
図3は、フラッシュメモリの各動作時に印加されるバイアス電圧の一例を示したテーブルである。読出し動作では、ビット線に或る正の電圧を印加し、選択されたワード線に或る電圧(例えば0V)を印加し、非選択ワード線にパス電圧Vpass(例えば4.5V)を印加し、選択ゲート線SGD、SGSに正の電圧(例えば4.5V)を印加し、ビット線選択トランジスタTD、ソース線選択トランジスタTSをオンし、共通ソース線に0Vを印加する。プログラム(書込み)動作では、選択されたワード線に高電圧のプログラム電圧Vprog(15〜20V)を印加し、非選択のワード線に中間電位(例えば10V)を印加し、ビット線選択トランジスタTDをオンさせ、ソース線選択トランジスタTSをオフさせ、「0」または「1」のデータに応じた電位をビット線GBLに供給する。消去動作では、ブロック内の選択されたワード線に0Vを印加し、Pウエルに高電圧(例えば20V)を印加し、フローティングゲートの電子を基板に引き抜くことで、ブロック単位でデータを消去する。
圧縮部130は、入出力バッファ110とECC回路120との間に配置され、入出力バッファ110から入力されたデータを論理圧縮し、論理圧縮されたデータをECC回路120へ出力する。また、圧縮部130は、ECC回路120からの圧縮されたデータを伸長し、伸長されたデータを入出力バッファ110へ出力する。
ECC回路120は、フラッシュメモリ10に入力されるすべてのビットデータについて誤り検出・訂正の演算を行い、かつ、フラッシュメモリから出力されるすべてのビットデータについて誤り検出・訂正の演算を行う。より具体的には、プログラム動作時、入出力バッファ110からのプログラムデータは、圧縮部130によって論理圧縮され、圧縮されたプログラムデータがECC回路120によってECC処理され、ECC処理されたデータがページバッファ/センス回路170へ転送される。ECC処理されたプログラムデータには、誤り訂正符号が含まれる。そして、メモリアレイ100の選択されたページにプログラムデータが書込まれる。読出し動作時、メモリアレイ100から読み出されたデータがページバッファ/センス回路170へ転送され、ページバッファ/センス回路170から転送されたデータがECC回路120によってECC処理され、ECC処理されたデータが圧縮部130によって伸長され、伸長されたデータが入出力バッファへ提供される。
図4は、フラッシュメモリにデータが入力されるときの圧縮部130の構成および動作を説明する図である。フラッシュメモリ10の外部入出力端子200に印加されたデータは、入出力バッファ110に蓄積され、次いで、入出力バッファ110から圧縮部130へ提供される。圧縮部130は、図4に示すように、Nバイトのデータパターン(Nは、1以上の整数)を発生するデータパターン発生部210、入出力バッファ110から入力されたデータDiとデータパターン発生部210で発生されたNバイトのデータパターンDpとを比較する比較部220、比較部220の比較結果に基づき一致したデータパターンDpが前回の比較部220の比較結果であるデータパターンDp−nに一致するか否かを判定する判定部230、判定部230によって前回のデータパターンDp−nに一致すると判定されたとき、その一致回数をカウントするカウンタ240、入力されたデータDiに関する圧縮されたデータDcを生成する圧縮データ生成部250を有する。
データパターン発生部210は、好ましくは、Nバイトのデータパターンを発生する。ある好ましい態様では、データパターン発生部210は、複数種のデータパターンを格納するキャッシュメモリであることができる。他の好ましい態様では、データパターン発生部210は、予め決められたアルゴリズムに従い複数種のデータパターンを発生させることができる。発生されるデータパターンは、固定長であってもよいし、可変長であってもよい。ある態様では、データパターン発生部210は、制御部150からの制御信号Sに基づき固定長のデータパターンまたは可変長のデータパターンのいずれかを発生させることができる。制御部150は、例えば、外部のコントローラからのコマンドに基づき固定長のデータパターンまたは可変長のデータパターンの設定をすることができる。もし、より高い圧縮率が要求されるならば、制御部150は、可変長のデータパターンによる圧縮を選択し、低い圧縮率が要求されるならば、固定長のデータパターンによる圧縮を選択する。
比較部220は、入力されたデータDiとデータパターンDpとの比較を行う。好ましくは比較部220は、データDiおよび/またはデータパターンDpを格納するためのレジスタ等を備える。比較部220は、データパターンDpがNバイトの固定長であれば、入力されたデータDiのNバイトのデータとNバイトのデータパターンDpとを比較する。一方、データパターンDpが可変長であれば、比較部220は、少なくとも可変長の最大サイズのデータをレジスタ等に格納し、可変長のデータパターンDpとの比較を行う。比較部220は、データDiとデータパターンDpとを比較し、比較結果として、データDiに一致したデータパターンDpを判定部230へ提供する。
判定部230は、前回に一致したデータパターンDp−nを保持し、比較部220で一致されたデータパターンDpが前回のデータパターンDp−nに一致するか否かを判定する。Dp=Dp−nと判定されたとき、カウンタ240は、カウント値を+1だけインクリメントし、このカウント値を保持する。比較部220は、カウンタ240によってカウントの終了が通知されると、次のデータDiとパターンデータDpとを比較する。また、判定部230は、Dp≠Dp−nと判定したとき、Dp−nの内容を初期化し、かつ、その判定結果を圧縮データ生成部250へ通知する。データ生成部250は、この通知に応答して圧縮データを生成する。
次に、圧縮部の圧縮動作の一例について説明する。ここでは、Nバイトの固定長のデータパターンによる圧縮が行われるものとし、入力されるデータDiは、図5(A)に示すように、Nバイトの“Pattern A”が連続して6回繰り返されるデータDi−1、Di−2、Di−3、Di−4、Di−5、Di−6が入力され、その後、“Pattern B”のデータDi−7が入力されると仮定する。
比較部220は、NバイトのデータDi−1とデータパターン発生部210で発生される、またはそこに記憶されるNバイトのデータパターンDpとを比較し、一致するデータパターンを検索する。ここでは、比較部220は、データDi−1がデータパターン“Pattern A”に一致する比較結果を判定部230へ提供する。判定部230は、Dp−nが初期化されているため、この場合、両データパターンが一致する判定結果をカウンタ240へ通知し、かつデータパターンDp−n=“Pattern A”を保持する。これに応答して、カウンタ240は、カウント値=1を保持する。
次に、比較部220は、データDi−2とデータパターンDpとを比較し、比較結果としてデータパターンDp=“Pattern A”が判定部230へ提供される。判定部230は、Dp=Dp−nであると判定し、その判定結果をカウンタ240へ通知する。これに応答して、カウンタ240は、カウント値=2を保持する。同様の処理が、データDi−6まで繰り返されたとき、カウンタ240には、カウント値=6が保持される。
次に、比較部220は、データDi−7とデータパターンDpとを比較し、比較結果としてデータパターンDp=“Pattern B”が判定部230へ提供される。判定部230は、Dp≠Dp−nであると判定し、その判定結果を圧縮データ生成部250へ通知し、かつDp−nを初期化する。
圧縮データ生成部250は、判定部230による不一致の判定結果を受け取ると、データDi−1ないしDi−6に関する圧縮データDcを生成する。圧縮データ生成部250は、一致されたデータパターンDpが何回繰り返されたのかを識別できる情報を圧縮データとして生成する。具体的には、圧縮データ生成部250は、データDi−1〜Di−6が圧縮されたことを識別する情報“Comp Yes”252と、パターンデータの一致回数または繰り返された回数(上記の例では、6回)を識別する情報254と、パターンデータ“Pattern A”を識別する情報256とを包む圧縮データDcを生成する。圧縮データ生成部250は、予め決められたアルゴリズムに従い、識別情報250、252、254の配列、データサイズを決定し、圧縮データDcを構成する。
図5(A)は、“Pattern B”が連続して繰り返されない例を示しており、それ故、識別情報252は、“Comp No”、一致回数を識別する情報254は、“1回”、パターンデータを識別する情報256は、“pattern B”となる。また、図5(B)は、パターンデータDpの可変長のときの例であり、この場合にも、固定長のときと同様の圧縮が行われるが、固定長のときよりも大きな圧縮率を期待することができる。
次に、フラッシュメモリからデータが出力されるときの圧縮部130の構成および動作を図6に示す。メインメモリ100から読み出されたページデータは、ページバッファ/センス回路170へ転送され、次いで、ECC回路120によりECC処理され、ECC処理されたデータが圧縮部130に入力される。圧縮部130は、図6に示すように、圧縮されたデータDcを受け取り、圧縮データDcに含まれる識別情報252、254、256を解析する解析部300と、解析部300によって解析された識別情報256に基づきデータパターンDpを保持するデータパターン保持部310、解析部300によって解析された識別情報254に基づきデータパターンの一致回数を保持するカウンタ320、データパターン保持部310に保持されたデータパターンをカウンタ320のカウント値の一致回数だけ繰り返すことで元のデータDiを伸長するデータ伸長部330、データ伸長部330がデータパターンを1つ結合するたびにカウンタ320のカウント値を−1デクリメントさせ、カウント値が0に到達したか否かを判定する判定部340を備えている。判定部340によってカウント値=0と判定されたとき、解析部300は、次の圧縮データを受け取り、圧縮データの伸長を行う。
次に、圧縮部130の伸長動作について図7を参照して説明する。ここでは、図5(A)に示す圧縮が行われたときの伸長を説明する。解析部300は、図7(A)に示すように、圧縮データDcを受け取ると、そこに含まれる識別情報252、254、256を抽出する。解析部300は、識別情報252に基づきデータが圧縮されていると判定すると、識別情報254から一致回数を抽出し、識別情報256からデータパターンを識別する。次に、解析部300は、データパターンとして“Pattern A”をデータパターン保持部310へ提供し、パターンデータ“Pattern A”の一致回数(この例では6回)をカウンタ320へ提供する。次に、データ伸長部330は、データパターン保持部310からのパターンデータに基づき、データDi−1を生成する。データDi−1が生成されると、判定部340は、カウント値が0か否かは判定する。カウント値は0ではないので、カウンタ320はカウント値を−1する。この例では、カウンタ320のカウント値は5になる。カウンタ320がデクリメントされると、データ伸長部330はさらにデータパターンに基づきデータDi−2を生成する。同様の処理は、カウンタ320のカウント値が1になるまで繰り返される。最終的に、データ伸長部330は、データDi−1〜Di−6のデータを生成する。
また、同様の処理により次の圧縮データDcの伸長が行われ、“Pattern B”のデータDi−7が伸長される。図7(B)の可変長の伸長例は、図5(B)の可変長の圧縮例に対応する。
次に、本実施例のフラッシュメモリのデータが入力されるときの処理時間の一例を図8に示す。図8(A)は、本実施例のような圧縮部を持たないフラッシュメモリの例である。例えば、1ページが2KBであり、クロック周波数が104MHzであるとしたとき、外部入出力端子からECC回路120へデータを入力する時間は、約20μsである。また、2KBのデータをECC回路120で演算する時間と、ECC回路からページバッファ/センス回路170までの転送する時間およびページバッファ/センス回路170から選択されたページへデータを転送する時間の合計は約30μsである。従って、外部入出力端子から選択ページに到達するまでの所要時間は、全体で約50μsである。
図8(B)は、本実施例のように外部入出力端子200または入出力バッファ110とECC回路120との間に直列に圧縮部130を設けた場合の例である。圧縮部130による遅延時間Tc=270ns(約、0.3μs)であり、全体の所要時間は、約50.3μsである。但し、この例では、圧縮部130の圧縮率を無視している。
図8(C)は、圧縮部130の圧縮率を平均で80%と想定したときの所要時間を示している。圧縮部130による圧縮率が80%であるとき、1ページの2KBのデータは、約1.6KBに圧縮される。従って、ECC回路120による演算時間は、30μs×0.8=24μsとなり、全体の所要時間を、約44.3μsに短縮させることができる。
図9は、フラッシュメモリからデータが出力されるときの処理時間の一例である。図9(A)は、本実施例のように圧縮部を持たないフラッシュメモリの例であり、この場合には、図8(A)のときと同様に、選択ページから外部入出力端子に出力されるまでの所要時間や約50μsである。図9(B)、(C)は、図8(B)、(C)にそれぞれ対応し、圧縮部130による圧縮率が80%であるとき、データが出力されるまでの所要時間を約44.3μsまで短縮させることができる。
このように本実施例によれば、入出力されるすべてのビットデータについてECC処理をフラッシュメモリにおいて、ECC回路120と外部入出力端子または入出力バッファ110との間に圧縮部130を設けることでデータを圧縮するようにしたので、ECC回路120による演算時間が短縮され、フラッシュメモリへのデータの入出力時間の短縮を図ることができる。さらに、圧縮部130による圧縮率を一定以上にすることで、メモリアレイの面積を圧縮率に応じて減少させることが可能になる。
次に、本発明の第2の実施例について説明する。上記実施例では、ECC回路120は、圧縮されたデータDcのECC処理を行うものであり、仮に、圧縮率が80%であれば、ECC回路120からページバッファ170へ転送されるデータは、1ページデータ×0.8である。これに対し、第2の実施例では、ページバッファ170へのデータの入出力を1ページ単位で行うものである。
図10に示すように、圧縮部130に入力されたページデータP−Diは、圧縮されたページデータP−DcとしてECC回路120へ出力される。ECC回路130は、圧縮
されたページデータP−DcのECC処理を行い、そこで、圧縮率に応じたダミーデータDDを付加し、1ページのデータサイズを復元する。この際、ダミーデータDDは、すべて“0”かすべて“1”に設定され、より好ましくは、ECC回路120は、ダミーデータが付加されていることを識別するためのフラグ情報も一緒に追加する。こうして、ECC回路120からページバッファ/センス回路170へ物理的に1ページサイズのデータが転送され、メモリアレイの選択されたページプログラムされる。
一方、メモリアレイの選択されたページから読み出されたデータがページバッファ/センス回路170へ転送され、さらにその1ページデータがECC回路130へ入力される。ECC回路120は、付加されたフラグ情報を参照し、圧縮されたページデータP−DcにダミーデータDDが付加されていることを判別する。ECC回路120は、ダミーデータDDをすべて消去し、それ以外の圧縮されたページデータのみをECC処理し、ECC処理したデータを圧縮部130へ提供する。圧縮部130は、圧縮されたページデータP−Dcを元のページデータP−Diに伸長する。これにより、フラッシュメモリ内部では、圧縮部130が存在しないときと同様に、ページ単位でデータの転送制御を行うことができる。
本発明の好ましい実施の形態について詳述したが、本発明は、特定の実施形態に限定されるものではなく、特許請求の範囲に記載された発明の要旨の範囲内において、種々の変形・変更が可能である。
上記実施例では、図4、図6に示すような圧縮および伸長の例を示したが、これらは一例であり、本発明は、これに限定されることなく、他の種々のアルゴリズムあるいは構成の圧縮および伸長の手段を用いることができる。さらに上記実施例では、圧縮部は、ECC回路と入出力バッファとの間に設けられたが、これに限らず、圧縮部で圧縮されたデータがECC回路に入力され、ECC回路から出力されたデータが圧縮部で伸長される関係にあれば、圧縮部の配置する位置、または接続関係は特に制限されない。
10:フラッシュメモリ
100:メモリアレイ
110:入出力バッファ
120:ECC回路
130:圧縮部
140:アドレスレジスタ
150:制御部
160:ワード線選択回路
170:ページバッファ/センス回路
180:列選択回路
190:内部電圧発生正回路
210:データパターン発生部
220:比較部
230:判定部
240:カウンタ
250:圧縮データ生成部
252、254、256:識別情報
300:解析部
310:データパターン保持部
320:データ伸長部
330:カウンタ
340:判定部

Claims (11)

  1. NAND型のメモリアレイと、
    前記メモリアレイの選択されたページから読み出したデータを保持し、または前記メモリアレイの選択されたページに書込むデータを保持するデータ保持手段と、
    外部入出力端子と、
    前記データ保持手段に接続され、前記データ保持手段に入力されるデータまたは前記データ保持手段から出力されるデータの誤り検出および訂正を行う誤り検出訂正手段と、
    前記外部入出力端子と前記誤り検出訂正手段との間に接続され、データの圧縮および伸長を行う圧縮手段とを有し、
    前記圧縮手段は、前記外部入出力端子から提供されたデータを圧縮し、圧縮したデータを前記誤り訂正手段へ提供し、前記誤り訂正手段から提供されたデータを伸長し、伸長されたデータを前記外部入出力端子へ提供し、
    前記誤り検出訂正手段はさらに、圧縮された誤り検出および訂正されたデータに、前記圧縮手段によるデータの圧縮率に応じた論理がすべて0または1のダミーデータを付加し、1ページのデータサイズを復元する、半導体記憶装置。
  2. 半導体記憶装置はさらに、前記外部入出力端子と前記圧縮手段との間に入出力バッファを含む、請求項1に記載の半導体記憶装置。
  3. 前記圧縮手段は、入力されたデータを論理圧縮する、請求項1または2に記載の半導体記憶装置。
  4. 前記圧縮手段は、入力されたデータを、データパターンと当該データパターンの一致回数を含むデータに圧縮する、請求項1ないし3いずれか1つに記載の半導体記憶装置。
  5. 半導体記憶装置はさらに、前記圧縮手段を制御する制御手段を含み、前記圧縮手段は、前記制御手段からの制御信号に基づき可変長のデータパターンまたは固定長のデータパターンのいずれかを選択し、入力データの圧縮を行う、請求項4に記載の半導体記憶装置。
  6. 前記圧縮手段は、入力されたデータとデータパターンとを比較する比較部と、入力されたデータとデータパターンとの一致回数をカウントするカウンタとを含む、請求項1ないし5いずれか1つに記載の半導体記憶装置。
  7. 前記圧縮手段はさらに、Nバイトのデータパターンを発生するデータパターン発生部と、前記比較部の比較結果から得られたデータパターンが前の比較部で比較されたデータパターンに一致するか否かを判定する判定部と、圧縮されたデータを生成する圧縮データ生成部とを含み、前記判定部により一致しないと判定されたとき、前記圧縮データ生成部は、データパターンと当該データパターンの一致回数を含む圧縮データを生成する、請求項に記載の半導体記憶装置。
  8. 前記圧縮手段は、データパターンと当該データパターンの一致回数を含む圧縮されたデータを元のデータに伸長する伸長部を含む、請求項1ないし7いずれか1つに記載の半導体記憶装置。
  9. 前記圧縮手段はさらに、圧縮されたデータに含まれる一致回数を減算するカウンタと、カウンタのカウント値が所定値に到達したか否かを判定する判定部とを備え、前記判定部により所定値に到達したと判定されるまで、前記伸長部は、データパターンの連結を生成する、請求項に記載の半導体記憶装置。
  10. 前記誤り検出訂正手段はさらに、ダミーデータの付加を識別するためのフラグ情報を追加し、メモリアレイの選択されたページからデータが読み出されるとき、前記誤り検出訂正手段は、前記フラグ情報に基づきダミーデータの付加を判別し、ダミーデータが含まれていると判別した場合には、ダミーデータを消去し、残りのデータの誤り検出および訂正を行う、請求項1に記載の半導体記憶装置。
  11. 前記制御手段は、外部のコントローラからのコマンドに基づき前記制御信号を出力する、請求項5に記載の半導体記憶装置。
JP2014043457A 2014-03-06 2014-03-06 半導体記憶装置 Active JP5855150B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014043457A JP5855150B2 (ja) 2014-03-06 2014-03-06 半導体記憶装置
KR1020140138589A KR101632427B1 (ko) 2014-03-06 2014-10-14 반도체 기억장치
US14/619,639 US9501354B2 (en) 2014-03-06 2015-02-11 Semiconductor memory device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014043457A JP5855150B2 (ja) 2014-03-06 2014-03-06 半導体記憶装置

Publications (2)

Publication Number Publication Date
JP2015170374A JP2015170374A (ja) 2015-09-28
JP5855150B2 true JP5855150B2 (ja) 2016-02-09

Family

ID=54017479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014043457A Active JP5855150B2 (ja) 2014-03-06 2014-03-06 半導体記憶装置

Country Status (3)

Country Link
US (1) US9501354B2 (ja)
JP (1) JP5855150B2 (ja)
KR (1) KR101632427B1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9858994B2 (en) * 2015-06-18 2018-01-02 Samsung Electronics Co., Ltd. Memory system with MLC memory cells and partial page compression or reduction
US9852024B2 (en) * 2016-04-19 2017-12-26 Winbond Electronics Corporation Apparatus and method for read time control in ECC-enabled flash memory
KR102633091B1 (ko) * 2016-09-19 2024-02-06 삼성전자주식회사 메모리 셀의 에러 확인 기능을 갖는 메모리 장치 및 이를 포함하는 메모리 모듈
KR102468721B1 (ko) * 2017-12-20 2022-11-21 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
KR102617411B1 (ko) * 2018-08-31 2023-12-26 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
KR102139826B1 (ko) * 2018-12-27 2020-07-31 한양대학교 산학협력단 플래시 메모리 저장장치 저장 장치 및 그 구동 방법
JP2020149195A (ja) 2019-03-12 2020-09-17 キオクシア株式会社 メモリシステム
US12019871B2 (en) 2021-12-15 2024-06-25 Samsung Electronics Co., Ltd. Storage controller compressing indicator data, storage device including the same, and method of operating the same

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57207960A (en) * 1981-06-17 1982-12-20 Toshiba Corp Method for adding error correcting code to variable length data
JP2840320B2 (ja) * 1989-09-20 1998-12-24 株式会社日立製作所 半導体記憶装置
JPH0668700A (ja) * 1992-08-21 1994-03-11 Toshiba Corp 半導体メモリ装置
JP3426385B2 (ja) * 1995-03-09 2003-07-14 富士通株式会社 ディスク制御装置
US20060271761A1 (en) 2003-04-16 2006-11-30 Riemens Abraham K Data processing apparatus that uses compression or data stored in memory
JP2005004288A (ja) * 2003-06-10 2005-01-06 Digital Electronics Corp 誤り検出回路
KR101274950B1 (ko) * 2006-05-12 2013-06-17 애플 인크. 조절가능한 용량을 가진 메모리 디바이스
JP5242264B2 (ja) * 2008-07-07 2013-07-24 株式会社東芝 データ制御装置、ストレージシステムおよびプログラム
JP2010152989A (ja) 2008-12-25 2010-07-08 Toshiba Corp 不揮発性半導体記憶装置
US8560918B1 (en) * 2009-04-21 2013-10-15 Marvell International Ltd. Method and apparatus for dynamically selecting an error correction code to be applied to data in a communication system
US8533564B2 (en) 2009-12-23 2013-09-10 Sandisk Technologies Inc. System and method of error correction of control data at a memory device
KR20110073932A (ko) * 2009-12-24 2011-06-30 주식회사 하이닉스반도체 Ecc 회로를 포함하는 반도체 스토리지 시스템 및 그 제어 방법
EP2545554A4 (en) * 2010-03-12 2015-03-11 Lsi Corp LDPC CLEARANCE DECODING FOR FLASH MEMORY
JP2011197819A (ja) 2010-03-17 2011-10-06 Toshiba Corp 半導体装置
US8495464B2 (en) * 2010-06-28 2013-07-23 Intel Corporation Reliability support in memory systems without error correcting code support
TWI455144B (zh) * 2010-07-22 2014-10-01 Silicon Motion Inc 使用於快閃記憶體的控制方法與控制器
US8458568B2 (en) * 2010-09-24 2013-06-04 International Business Machines Corporation Systems and methods for memory devices
KR101730497B1 (ko) * 2011-11-04 2017-04-27 삼성전자 주식회사 에러 정정 성능 신장 방법 및 이를 이용한 저장 장치
US9246511B2 (en) 2012-03-20 2016-01-26 Sandisk Technologies Inc. Method and apparatus to process data based upon estimated compressibility of the data

Also Published As

Publication number Publication date
US9501354B2 (en) 2016-11-22
US20150254132A1 (en) 2015-09-10
KR101632427B1 (ko) 2016-06-21
JP2015170374A (ja) 2015-09-28
KR20150105175A (ko) 2015-09-16

Similar Documents

Publication Publication Date Title
JP5855150B2 (ja) 半導体記憶装置
KR101477768B1 (ko) 메모리 장치 및 용장 방법
US7406649B2 (en) Semiconductor memory device and signal processing system
KR101950758B1 (ko) 반도체 장치
US10395753B2 (en) Semiconductor memory device and programming method thereof
US20160012902A1 (en) Nonvolatile semiconductor memory device
CN106340324B (zh) 半导体存储装置、其不良列救济方法及冗余信息设定方法
JP6131207B2 (ja) 半導体記憶装置
US10957415B2 (en) NAND flash memory and reading method thereof
US20050237824A1 (en) Semiconductor memory device including floating gates and control gates, control method for the same, and memory card including the same
JP6178909B1 (ja) 不揮発性半導体記憶装置
KR101613198B1 (ko) 반도체 기억장치 및 그 리던던시 방법
CN111564380B (zh) 半导体存储装置、存储***及不良检测方法
US10916311B2 (en) Flash memory and operation method thereof
KR101651573B1 (ko) 반도체 기억장치 및 그 프로그래밍 방법
CN111383697B (zh) 用于部分页编程的位扫描方法,部分页编程方法及非易失性存储器
TWI543180B (zh) 半導體記憶裝置
TWI539465B (zh) 半導體儲存裝置及其冗餘方法
JP5710815B1 (ja) 半導体記憶装置
TWI521530B (zh) 半導體記憶裝置及其編程方法
CN113010094A (zh) 存储器***、存储器控制器、以及操作存储器***的方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150707

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: 20151208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151208

R150 Certificate of patent or registration of utility model

Ref document number: 5855150

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250