JP2014006811A - 不揮発性半導体記憶装置 - Google Patents

不揮発性半導体記憶装置 Download PDF

Info

Publication number
JP2014006811A
JP2014006811A JP2012143364A JP2012143364A JP2014006811A JP 2014006811 A JP2014006811 A JP 2014006811A JP 2012143364 A JP2012143364 A JP 2012143364A JP 2012143364 A JP2012143364 A JP 2012143364A JP 2014006811 A JP2014006811 A JP 2014006811A
Authority
JP
Japan
Prior art keywords
bad block
storage unit
memory cell
physical address
block storage
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
Application number
JP2012143364A
Other languages
English (en)
Inventor
Yasuichiro Yanami
泰一郎 八並
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2012143364A priority Critical patent/JP2014006811A/ja
Publication of JP2014006811A publication Critical patent/JP2014006811A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】高品質な不揮発性半導体記憶装置を提供する。
【解決手段】列方向及び行方向にマトリクス状に配置された複数のメモリセルトランジスタMTと、直列接続される複数のメモリセルトランジスタMTを備える複数のNANDセルと、複数のNANDセルを備える複数のブロックと、を備える不揮発性のメモリセルアレイ121と、メモリセルアレイ121内に設定され、複数のブロックの内、外部機器200からアクセスできないブロックの物理アドレスが登録されるバッドブロック記憶部122と、外部機器200から、コマンド、物理アドレス、及びデータを受信し、メモリセルアレイ121へ書き込むデータ、またはメモリセルアレイ121から読み出したデータのエラー訂正を行い、外部機器200から第1のコマンドCMD A及び第1の物理アドレスを受信する場合、第1の物理アドレスに対応するブロックを、バッドブロックとしてバッドブロック記憶部122に登録するコントローラ110と、を備える。
【選択図】図1

Description

本発明の実施形態は、不揮発性半導体記憶装置に関する。
NAND型フラッシュメモリには、出荷時に存在する先天性バッドブロックと、NAND型フラッシュメモリを使用することによって発生する後天性バッドブロックとが存在する。これらのバッドブロックは、メモリセルトランジスタの絶縁膜の摩耗、あるいは絶縁膜の破壊により発生してしまう。これらのバッドブロックの管理をホストデバイス(外部機器)で行う場合、ホストデバイスにバッドブロック管理の負担をかけてしまうという問題が有った。
特開平07−29392号公報
高品質な不揮発性半導体記憶装置を提供する。
実施形態に係る不揮発性半導体記憶装置は、列方向及び行方向にマトリクス状に配置された複数のメモリセルトランジスタと、直列接続される複数の前記メモリセルトランジスタを備える複数のNANDセルと、複数の前記NANDセルを備える複数のブロックとを備える不揮発性のメモリセルアレイと、前記メモリセルアレイ内に設定され、前記複数のブロックの内、外部機器からアクセスできないブロックの物理アドレスが登録されるバッドブロック記憶部と、前記外部機器から、コマンド、物理アドレス、及びデータを受信し、前記メモリセルアレイへ書き込むデータ、または前記メモリセルアレイから読み出したデータのエラー訂正を行い、前記外部機器から第1のコマンド及び第1の物理アドレスを受信する場合、前記第1の物理アドレスに対応する前記ブロックを、バッドブロックとして前記バッドブロック記憶部に登録するコントローラと、を備える。
第1の実施形態に係る不揮発性半導体記憶装置の基本的な構成を模式的に示したブロック図である。 第1の実施形態に係るメモリセルアレイの一部を示した回路図である。 第1の実施形態に係るメモリデバイスとホストデバイスとの間の通信の例を示している。 第2の実施形態に係る不揮発性半導体記憶装置の基本的な構成を模式的に示したブロック図である。 第2の実施形態に係る不揮発性半導体記憶装置の基本的な動作を模式的に示したフローチャートである。 第2の実施形態に係るメモリデバイスとホストデバイスとの間の通信の例を示している。
以下に、実施形態について図面を参照して説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。また、以下に示す各実施形態は、この実施形態の技術的思想を具体化するための装置や方法を例示するものであって、実施形態の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものでない。実施形態の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
また、以下では、論理アドレスー物理アドレス変換を行わないコントローラを有するメモリデバイスについて説明する。換言すると、外部機器から供給されるアドレスと、メモリデバイスのアドレスとは1対1対応をしている。下記の実施形態では、上記メモリデバイスの一例として、ECC機能を搭載したコントローラを有する物理アドレスアクセス方式のNAND型フラッシュメモリについて説明している。
(第1の実施形態)
<構成>
<第1の実施形態に係るメモリデバイスの概要>
図1に示すように、不揮発性半導体記憶装置(メモリデバイス)100は、メモリ制御部110、及びNAND型フラッシュメモリ(単にフラッシュメモリと称す)120を備えている。
メモリ制御部110は、ホストインタフェース(単にホストI/Fとも称す)111、CPU(central processing unit)112、ROM113、RAM114、データバッファ116、フラッシュインタフェース(単にフラッシュI/Fとも称す)117、ECC(Error correcting code)回路118、及びバス130を備えている。
ホストインタフェース111は、パーソナルコンピュータ等のホストデバイス(外部機器)200と接続され、更にバス130と接続されている。つまり、このホストインタフェース111を介して、ホストデバイス200とメモリデバイス100との間でコマンド、物理アドレス、データ、及び制御信号データの送受信等が行われる。
データバッファ116は、ホストデバイス200からメモリデバイス100に送信されたデータをホストインタフェース111、及びバス130を介して受け取り、これを一時的に保持する。また、データバッファ116は、ホストインタフェース111を介してホストデバイス200へ送信されるデータを一時的に保持する。
CPU112は、メモリデバイス100の全体の動作を司る。CPU112は、バス130を介してROM113、及びRAM114に格納されている情報を読み出し、該情報及びホストデバイス200からのアクセスに基づく所定の処理を実行する。CPU112は、今後のホストデバイス200からのアクセスに対して、メモリデバイス100内に保持されているバッドブロック(Bad Block)情報を使用しても良い。また、対応するメモリセルアレイ121内のブロックに対してバッドブロック処理を行っても良い。CPU112は、メモリデバイス100に電源が供給された際に、後述するバッドブロック記憶部122に保持されている情報を、RAM114に読み出しても良い。
ROM113は、不揮発性のメモリであり、CPU112により制御される制御プログラムなどを格納する。RAM114は、揮発性のメモリであり、CPU112の作業エリアとして使用され、CPU112の作業に必要な変数等を一時的に記憶する。また、RAM114は、後述するバッドブロック記憶部122に保持されている情報を保持しても良い。
フラッシュインタフェース117は、ECC回路118、バス130に接続されている。このフラッシュインタフェース117は、バス130を介して、ホストデバイス200とメモリデバイス100との間でコマンド、物理アドレス、及びデータの送受信等が行われる。
ECC回路118は、ホストデバイス200からの書き込みデータを、データバッファ116及びバス130を介して受け取り、書き込みデータにエラー訂正符号を付加し、エラー訂正符号を付された書き込みデータを、例えばデータバッファ116、またはフラッシュインタフェース117に供給する。また、ECC回路118は、フラッシュメモリ120から供給されたデータをフラッシュインタフェース117を介して受け取り、このデータに対してエラー訂正符号を用いてエラー訂正を行い、エラー訂正されたデータを、例えばデータバッファ116等に供給する。
フラッシュメモリ120は、メモリセルアレイ121及びバッドブロック記憶部122を備えている。メモリセルアレイ121は、複数のビット線と複数のワード線と共通ソース線を含み、例えばEEPROMセルからなる電気的にデータを書き換え可能なメモリセルがマトリクス状に配置されている。バッドブロック記憶部122は、先天性バッドブロック記憶領域122a及び後天性バッドブロック記憶領域122bを備えている。先天性バッドブロック記憶領域122aは、メモリデバイス100の出荷時等に行われる実験等に基づいて導出された出荷時に存在する先天性なバッドブロックのアドレスを保持する。後天性バッドブロック記憶領域122bは、フラッシュメモリ120を継続的に使用する際に発生する後天性なバッドブロックのアドレス等を保持する。そして、この後天性バッドブロック記憶領域122bは、後述する方法により、バッドブロックのアドレスの追加や、消去を行うことが可能である。また、ここでは、先天性バッドブロック記憶領域122aの情報は、メモリデバイス100の出荷後には書き換えできないものとし、後天性バッドブロック記憶領域122bは、メモリデバイス100の出荷後であっても書き換え可能であるとする。
尚、本実施形態では、バッドブロックにコントローラがアクセスできる場合とアクセスできない場合の二通りがある。
<コントローラがバッドブロックにアクセスする場合>
コントローラ110が、NANDフラッシュメモリ120で管理しているバッドブロック記憶部122に、バッドブロック情報(バッドブロックのアドレス等)を直に登録することがある。ホストデバイス200からメモリデバイス100に対してデータの読み出しまたは書き込み等の要求があった場合、コントローラ110からNANDフラッシュメモリ120へと該要求がされるが、NANDフラッシュメモリ120はバッドブロック記憶部122に登録されたブロックに対して読み出し動作を行わない。そのため、ホストデバイス200は実質的にバッドブロックにアクセスできない。この時、コントローラ110はAll0(エラー)をホストデバイス200に返す。
換言すると、「ホストデバイス200がバッドブロックにアクセスできない」とは、ホストデバイスによるバッドブロックに記憶されたデータの読み出し動作や、ホストデバイスによるバッドブロックへのデータの書き込み動作ができないことである。
<バッドブロックにコントローラをアクセスさせない場合>
ホストデバイス200からメモリデバイス100に対してデータの読み出しまたは書き込み等の要求があった場合、コントローラ110はホストデバイス200が要求しているアドレスを解析し、該アドレスが、バッドブロックに係るアドレスの場合、コントローラ110はAll0(エラー)をホストデバイス200に返す。
つまり、ホストデバイス200は、基本的にバッドブロック記憶部122に登録されているアドレスにはアクセスすることはできない。
ただし、ホストデバイス200は、後述する動作を行うことにより、バッドブロック記憶部122に登録されているアドレスを削除することによって、バッドブロック記憶部122に登録されていたアドレスにアクセスすることができるようになる。
また、本実施形態では、不揮発性の半導体メモリ120として、NAND型フラッシュメモリを用いているが、必ずしもこれに限らない。
また、バッドブロック記憶部122は、メモリセルアレイ121の一部を利用している。しかし、メモリデバイス100を動作させる場合、RAM114の一部をバッドブロック記憶部122として用いても良いし、メモリセルアレイ121、及びRAM114の一部をバッドブロック記憶部122として用いても良い。
<メモリセルアレイの概要>
次に、図2を用いて、本実施形態に係るメモリセルアレイ121について簡単に説明する。図2は、本実施形態に係るメモリセルアレイ121の一部を模式的に示した回路図である。
メモリセルアレイ121は、ページ単位でデータの書き込み、及び読み出しを行う。ページは、図2に示すように、複数のメモリセルトランジスタの集合のメモリ空間からなり、固有の物理アドレスを割り当てられている。
1つのメモリブロックは、ワード線WL方向(ロウ方向)に並んだ複数のNANDセル(セルユニット、またはNANDストリングス等とも称す)を含む。
1つのNANDセルは、直列接続される複数のメモリセルトランジスタ(単にメモリセルとも称す)MTと、一端のメモリセルトランジスタMTのドレインに接続される選択ゲートトランジスタST1と、他端のメモリセルのソースに接続される選択ゲートトランジスタST2とを含む。
各メモリセルトランジスタ(メモリセル、セルトランジスタ等とも称す)MTは、いわゆる積層ゲート構造のMOSFET(metal oxide semiconductor field effect transistor)である。各メモリセルトランジスタMTは、電荷蓄積層CSに蓄えられる電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じた情報を記憶する。メモリセルトランジスタMTが電流経路(ソース/ドレインSD)同士を相互に直列接続されてNANDストリングを構成し、NANDストリングの両端に選択ランジスタS1、S2が接続される。選択トランジスタS2の電流経路の他端はビット線BLに接続され、選択トランジスタS1の電流経路の他端はソース線SLに接続されている。
ワード線WL0乃至WL63は、WL方向に延び、同じ行に属する複数のメモリセルトランジスタMTの制御ゲート電極CGに接続される。メモリセルトランジスタMTは、ビット線BLとワード線WLとの各交点に設けられる。セレクトゲート線SGDは、WL方向に延び、ブロック内の全選択トランジスタS2に接続されている。セレクトゲート線SGSは、WL方向に延び、ブロック内の全選択トランジスタS1に接続されている。同じワード線WLと接続されている複数のメモリセルトランジスタMTは、ページを構成する。
メモリセルアレイ121がNAND型フラッシュメモリである場合、メモリセルトランジスタMTが2つ以上の閾値電圧の異なる状態を取り得る。つまり、1つのメモリセルが多値(多ビット)を記憶できるようにメモリセルアレイ121が構成されていてもよい。そのような多値を記憶可能なメモリの場合、1つのワード線に複数ページが割り当てられる。
また、メモリセルアレイ121がNAND型フラッシュメモリである場合、メモリセルアレイ121は、ブロック単位でデータの消去を行う。各ブロックは、連続する物理アドレスを有する複数のページからなる。換言すると、同一のワード線WLに接続された複数のメモリセルトランジスタMTには一括してデータが書き込まれ、この単位をページと呼ぶ。更に、同一行にある複数のNANDセルは一括してデータが消去され、この単位をメモリブロックと呼ぶ。以下の説明では、便宜上、書き込み単位をページとし、消去単位をブロックとする。しかしながら、メモリセルアレイ121は、必ずしもNAND型フラッシュメモリに限られない。
<バッドブロックの概要>
ところで、あるブロックにおいて、書き込みあるいは消去が規定時間で完了しないメモリセルトランジスタが、所定の数以上存在する場合、書き込みあるいは消去の実行に対し、実行結果(ステータス)がフェイルになってしまう。このようなブロックを、バッドブロックと呼ぶ。このバッドブロックは、出荷時に存在する先天性バッドブロック、及び、フラッシュメモリの継続的使用にて発生する後天性バッドブロックが存在する。
先天性バッドブロックとは、メモリデバイス100を形成する際のプロセスばらつきに起因して形成されるバッドブロックである。
この先天性バッドブロックは、メモリデバイス100の出荷時のテストなどによって導出される。そして、導出されたバッドブロックのアドレスは、先天性バッドブロック記憶領域122aに登録される。
後天性バッドブロックとは、メモリセルトランジスタMTへの書き込み、消去、読み出し等を繰り返すことによって、メモリセルトランジスタMTの絶縁膜の摩耗、あるいは絶縁膜が破壊されてしまうことに起因して形成される後発的なバッドブロックである。
この後天性バッドブロックは、ホストデバイス200が確認することによって導出される。例えば、ホストデバイス200は、メモリデバイス100にアクセスした場合に、エラーが出たブロックを、バッドブロックとして認識することができる。より具体的には、バッドブロック記憶部122が、メモリセルアレイ121内に設定されている場合、ホストデバイス200が、メモリデバイス100に対して読み出し動作を行うと、メモリセルアレイ121は、ホストデバイス200にオール0(All0)を送信する。これにより、ホストデバイス200は、データがAll0である場合にメモリセルアレイ121内のバッドブロックを認識することができる。
また、ホストデバイス200がメモリセルアレイ121内のバッドブロックを認識する他の例としては、読み出しエラーの発行が考えられる。より具体的には、バッドブロック記憶部122が、RAM114内に設定されている場合、ホストデバイス200が、メモリデバイス100に対して、読み出し動作を行うと、CPU112は、ホストデバイス200に対して読み出しエラーを発行する。この読み出しエラーは、読み出しエラーの発行は、ステータスリードのエラーbitである。このように、ステータスリードでエラーbitが立っていることで、ホストデバイス200は、バッドブロックを認識することもできる。
そして、後述する方法により、導出されたバッドブロックのアドレスは、後天性バッドブロック記憶領域122bに登録される。この後天性バッドブロック記憶領域122bに追加されたブロックは、メモリデバイス100の通常の動作時において、先天性バッドブロック記憶領域122aに登録されたブロックと同様に扱われることになる。また、ホストデバイス200は、後述する方法で、バッドブロック記憶部122からバッドブロック情報を読み出すことで、バッドブロックのアドレスを認識しても良い。
<動作>
<第1の実施形態に係るメモリデバイスの動作の概要>
次に、図3を用いて、任意のアドレスについてのバッドブロック登録、バッドブロック情報の確認及び削除を行う場合における、第1の実施形態に係るメモリデバイスの基本的な動作について説明する。図3は、ホストデバイス200からメモリデバイス100に入力されたコマンドに対するメモリデバイス100の動作の様子と、該動作時における、バッドブロック記憶部122の様子を示した図である。尚、図3では簡単のため、バッドブロック記憶部122内に保持されているデータに変化が無い場合には、バッドブロック記憶部122の図を省略している。また、ここでは、説明の理解を容易にするために、一例として本実施形態に係るバッドブロック記憶部122の先天性バッドブロック記憶領域122aには、予め導出されているバッドブロックのアドレス(Address a, Address b, Address c)が記憶され、後天性バッドブロック記憶領域122bには何も保持されていないものとする。
<バッドブロック登録>
[ステップS10]
ホストデバイス200は、例えば、メモリセルアレイ121内にバッドブロックが存在することを認識した場合に、任意のタイミングでメモリデバイス100に対して、バッドブロックを登録するための登録コマンド(CMD A)を発行する。CPU112は、この登録コマンド(CMD A)を受信すると、次にホストデバイス200から送信されるアドレスを、後天性バッドブロックとして、後天性バッドブロック記憶領域122bに記憶する。
[ステップS11]
そして、ホストデバイス200は、バッドブロックと認識したアドレス(Address d, Address e)を、メモリデバイス100に供給する。これにより、CPU112は、受信したアドレス(Address d, Address e)を、後天性バッドブロックとして、後天性バッドブロック記憶領域122bに記憶する。
ホストデバイス200は、例えば書き込みエラー、読み出しエラー、消去エラー等が所定の回数以上生じるブロックを、バッドブロックとして認定する。そして、ステップS10、S11を行うことにより、該ブロックを、バッドブロックとして登録することができる。これにより、メモリデバイス100の出荷時には検出されない後発的な後天性バッドブロックをメモリデバイス100内に記憶することができる。
また、ここでは、一例としてホストデバイス200は、メモリデバイス100に対して、登録コマンド(CMD A)と、バッドブロックとして登録したいアドレス(Address d, Address e)を別々に送信しているが、これらを同時にメモリデバイス100に供給しても良い。
<バッドブロック情報の読み出し>
[ステップS20]
次に、ホストデバイス200が、バッドブロック記憶部122内、つまり先天性バッドブロック記憶領域122a及び後天性バッドブロック記憶領域122b内に保持されているバッドブロック情報を読み出したい場合には、ホストデバイス200は、メモリデバイス100に対してバッドブロック登録データ確認コマンド(CMD B)を発行する。
[ステップS21]
CPU112は、ホストデバイス200から、バッドブロック登録データ確認コマンド(CMD B)を受信すると、先天性バッドブロック記憶領域122a及び後天性バッドブロック記憶領域122b内に保持されているバッドブロック情報を、ホストデバイス200に供給する。
これにより、例えばホストデバイス200が、メモリデバイス100にアクセスする前等に、バッドブロックのアドレスの確認を行うことが可能である。これにより、ホストデバイス200は、バッドブロック以外のアドレスへのアクセスを行うので、効率の良くメモリデバイス100にアクセスを行うことができる。
尚、メモリデバイス100がホストデバイス200にバッドブロック情報を出力する際の出力フォーマットは、バッドブロック記憶部122に登録されているアドレスでも良いし、メモリセルアレイ121の1ブロックを1Bitあるいは複数Bitに対応付けたBit列データであっても良い。
<後天性バッドブロック情報の読み出し>
[ステップS30]
次に、ホストデバイス200が、後発的に生じたバッドブロック、つまり後天性バッドブロック記憶領域122b内に保持されているバッドブロック情報を読み出したい場合には、ホストデバイス200は、メモリデバイス100に対して後天性バッドブロック登録データ確認コマンド(CMD C)を発行する。
[ステップS31]
CPU112は、ホストデバイス200から、後天性バッドブロック登録データ確認コマンド(CMD C)を受信すると、後天性バッドブロック記憶領域122b内に保持されているバッドブロック情報を、ホストデバイス200に供給する。
これにより、ホストデバイス200は、後発的に生じたバッドブロック情報の確認を行うことが可能である。
また、メモリデバイス100がホストデバイス200にバッドブロック情報を出力する際の出力フォーマットは、上述したように、後天性バッドブロック記憶領域122bに登録されているアドレスでも良いし、メモリセルアレイ121の1ブロックを1Bitあるいは複数Bitに対応付けたBit列データであっても良い。
<バッドブロック情報の削除>
[ステップS40]
次に、ホストデバイス200が、後発的に生じたバッドブロック、つまり後天性バッドブロック記憶領域122b内に保持されているバッドブロック情報を削除したい場合には、ホストデバイス200は、メモリデバイス100に対して後天性バッドブロック登録データ消去コマンド(CMD D)を発行する。
CPU112は、ホストデバイス200から、後天性バッドブロック登録データ消去コマンド(CMD D)を受信すると、次に、ホストデバイス200から供給されるアドレスを、後天性バッドブロック記憶領域122b内から削除する。
[ステップS41]
そして、ホストデバイス200は、後天性バッドブロックとして登録されているアドレスの中から、削除したいアドレス(Address d)を、メモリデバイス100に供給する。これにより、CPU112は、受信したアドレス(Address d)を、後天性バッドブロック記憶領域122bから削除する。
これにより、ホストデバイス200は、削除したアドレス(Address d)にアクセスすることができる。例えば、後天性バッドブロック記憶領域122bから対応するアドレスを削除することで、ホストデバイス200によって、バッドブロックとして認定されたブロックを、再度確認することができる。
尚、この際に、ホストデバイス200は、一括で後天性バッドブロック情報を消去しても良いし、任意のアドレスの後天性バッドブロック情報のみを消去しても良い。
<第1の実施形態に係る作用効果>
上述した第1の実施形態によれば、不揮発性半導体記憶装置100は、列方向及び行方向にマトリクス状に配置された複数のメモリセルトランジスタMTと、直列接続される複数のメモリセルトランジスタMTを備える複数のNANDセルと、複数のNANDセルを備える複数のブロックと、を備える不揮発性のメモリセルアレイ121を備えている。また、不揮発性半導体記憶装置100は、メモリセルアレイ121内に設定され、複数のブロックの内、外部機器200からアクセスできないブロックの物理アドレスが登録されるバッドブロック記憶部122を備えている。そして、不揮発性半導体記憶装置100は、更に、外部機器200から、コマンド、物理アドレス、及びデータを受信し、メモリセルアレイ121へ書き込むデータ、またはメモリセルアレイ121から読み出したデータのエラー訂正を行い、外部機器200から第1のコマンド(CMD A)及び第1の物理アドレスを受信する場合、第1の物理アドレスに対応するブロックを、バッドブロックとしてバッドブロック記憶部122に登録し、外部機器200から第2のコマンド(CMD D)及び第2の物理アドレスを受信する場合、第2の物理アドレスを、バッドブロック記憶部122から削除し、外部機器200から第3のコマンド(CMD B、CMD C)を受信する場合、バッドブロック記憶部122に登録されている物理アドレスを、外部機器200に供給するコントローラ110を備えている。
このように、上述したメモリデバイス100は、論理アドレスー物理アドレス変換を行わないコントローラを有するメモリデバイス100であり、任意のアドレスにおいて発生する後天性バッドブロックをホストデバイス200からのコマンド等を用いて、メモリデバイス100内部に登録可能としている。
ところで、ホストデバイスが、所定のアドレスをバッドブロックとしてメモリデバイスに登録できる機能がない場合、後天的に発生するバッドブロックに対しての管理をホストデバイスが行う必要があり、ホストデバイスの手間となっていた。
このように、ホストデバイス200でのバッドブロック情報の管理をメモリデバイス100で行うことができ、ホストデバイス200側のシステム構築の際にバッドブロック管理機能等の実装が容易となる。また、メモリデバイス100自身がバッドブロック情報を管理しているので、異なるホストデバイス200で用いる際に、異なるホストデバイス200は、例えばバッドブロック情報を、バッドブロック記憶部122からバッドブロック情報読み出すだけでよく、新たに後天性バッドブロックを導出する必要が無い。また、ホストデバイス200から任意のアドレスを後天性バッドブロックとして登録できるために、フラッシュメモリの開発時に任意のアドレスに対する後天性バッドブロックへのアクセスを想定したコントローラ動作検証の利便性が向上する。このように、ホストデバイス200は、上述したコマンドを用いるだけでバッドブロックを登録することができる、つまり、従来の通信プロトコルに則って容易にバッドブロック登録が可能となる。
以上のように、メモリデバイス100自身でバッドブロック情報を管理することにより、高品質な半導体記憶装置を得ることができる。
(第2の実施形態)
次に、第2の実施形態に係る不揮発性半導体記憶装置について説明する。第2の実施形態では、後天的に生じるバッドブロックを、メモリデバイス100自身で見つけだす方法を具体的に説明している。尚、第2の実施形態に係る不揮発性半導体記憶装置の基本的な構成及び基本的な動作は、上述した第1の実施形態に係る不揮発性半導体記憶装置と同様である。従って、上述した第1の実施形態で説明した事項及び上述した第1の実施形態から容易に類推可能な事項についての説明は省略する。
<構成>
<第2の実施形態に係るメモリデバイスの概要>
図4に示すように、不揮発性半導体記憶装置(メモリデバイス)100は、メモリ制御部110、及びフラッシュメモリ120を備えている。
メモリ制御部110は、ホストインタフェース(単にホストI/Fとも称す)111、CPU(central processing unit)112、ROM113、RAM114、データバッファ116、フラッシュインタフェース(単にフラッシュI/Fとも称す)117、ECC(エラー correcting code)回路118、及びバス130を備えている。
フラッシュメモリ120は、メモリセルアレイ121、バッドブロック記憶部122、及びエラーブロック(Error Block)記憶部123を備えている。エラーブロック記憶部123は、後述する方法により、CPU112がエラーブロックとして判定したブロックの情報(アドレス)が保持される領域である。そして、このエラーブロック記憶部123は、後述する方法により、エラーブロックのアドレスの追加や、消去を行うことが可能である。エラーブロックとして、エラーブロック記憶部123に登録されたアドレスには、アクセス制限がかけられないので、ホストデバイス200は、該ブロックにアクセスすることができる。
尚、エラーブロック記憶部123は、メモリセルアレイ121の一部を利用している。しかし、メモリデバイス100を動作させる場合、RAM114の一部をエラーブロック記憶部123として用いても良いし、メモリセルアレイ121、及びRAM114の一部をエラーブロック記憶部123として用いても良い。
<動作>
<第2の実施形態に係るメモリデバイスの動作の概要>
本実施形態では、ホストデバイス200が、後発的に生じたバッドブロックを見つけるために、メモリデバイス100は、アクセス時におけるエラーの多いブロックを導出している。そして、ホストデバイス200は、エラーの多いブロックを再度確認することによって、エラーブロックがバッドブロックか否かを決定する。
<エラーブロック登録方法>
次に、図5を用いて、エラーブロックを導出する方法について説明する。図5は、第2の実施形態に係るエラーブロックを導出する方法を示したフローチャートである。
[ステップS101]
ホストデバイス200は、メモリデバイス100に対して、エラーブロック登録開始コマンド(CMD E)を発行する。CPU112は、エラーブロック登録開始コマンド(CMD E)を受信すると、その後のホストデバイス200からのアクセスに対して、所定の数以上の消去エラー、書き込みエラー、読み出しエラー等が生じた場合に、該当するブロックをエラーブロックとして、エラーブロック記憶部123に登録する。
[ステップS102]
ホストデバイス200は、メモリデバイス100に対して、任意のアクセスを行う。ここで述べる任意のアクセスとはメモリセルアレイ121からのデータの読み出し、メモリセルアレイ121への書き込み、メモリセルアレイ121からのデータ消去等を意味している。これは、メモリセルアレイ121内のエラーブロックを見つける為のみのアクセスであっても良いし、エラーブロックを見つける為のみのアクセスでなくても良い。
[ステップS103]
CPU112は、エラーブロック登録開始コマンド(CMD E)を受信すると、その後のホストデバイス200からのアクセスに対して、消去エラー、書き込みエラー、読み出しエラー等が生じた場合に、該エラーが予め設定されている所定の数に達しているか否かを判定する。
[ステップS104]
CPU112は、ホストデバイス200からのアクセスに対して、所定の数以上の消去エラー、書き込みエラー、読み出しエラー等が生じたブロックの情報を、エラーブロックとして、エラーブロック記憶部123に登録する。尚、ここでは、エラーブロック記憶部123にエラーブロック情報を登録しているが、RAM114に登録しても良いし、RAM114と、エラーブロック記憶部123との両方に登録しても良い。
[ステップS105]
ホストデバイス200は、メモリデバイス100におけるエラーブロック登録動作を終了する場合は、メモリデバイス100に対して、エラーブロック登録終了コマンド(CMD F)を発行するか、Resetコマンドを発行する。
CPU112は、エラーブロック登録終了コマンド(CMD F)を受信すると、エラーブロック登録動作を終了する。また、RAM114内に、エラーブロック情報が保持されている場合、CPU112は、Resetコマンドを受信すると、RAM114内に、保持されているエラーブロック情報を、エラーブロック記憶部123内に移動させた後、RAM114内のデータを消去する。これにより、メモリデバイス100におけるエラーブロック登録動作が終了する。
つまり、メモリデバイス100は、ホストデバイス200から、エラーブロック登録終了コマンド(CMD F)または、Resetコマンドを受信するまで、ステップS102〜104の動作を繰り返す。
次に、図6を用いて、任意のアドレスについてのエラーブロック情報の確認、バッドブロック登録、エラーブロック情報の削除を行う場合における、第2の実施形態に係るメモリデバイス100の基本的な動作について説明する。図6は、ホストデバイス200からメモリデバイス100に入力されたコマンドに対するメモリデバイス100の動作の様子と、該動作時における、バッドブロック記憶部122及びエラーブロック記憶部123の様子を示した図である。ここでは、説明の理解を容易にするために、一例として本実施形態に係るバッドブロック記憶部122の先天性バッドブロック記憶領域122aには、予め導出されているバッドブロックのアドレス(Address a, Address b, Address c)が登録され、後天性バッドブロック記憶領域122bには何も登録されていないものとする。また、エラーブロック記憶部123には、図4で説明した動作により、エラーブロックのアドレス(Address d, Address e, Address f, Address g)が登録されているものとする。
<エラーブロック登録データ確認>
[ステップS50]
ホストデバイス200は、エラーブロックを確認する場合に、メモリデバイス100に対してエラーブロック情報確認コマンド(CMD G)を発行する。
[ステップS51]
CPU112は、エラーブロック情報確認コマンド(CMD G)を受信すると、エラーブロック記憶部123内に保持されているエラーブロック情報を、ホストデバイス200に供給する。
これにより、例えばホストデバイス200は、エラーブロック記憶部123に登録されたエラーブロック情報を読み出して、エラーブロックに対してバッドブロックか否かの確認を行うことができる。
尚、メモリデバイス100がホストデバイス200にバッドブロック情報を出力する際の出力フォーマットは、第1の実施形態で説明したものと同様に、エラーブロック記憶部123に登録されているアドレスでも良いし、メモリセルアレイ121の1ブロックを1Bitあるいは複数Bitに対応付けたBit列データであっても良い。
また、バッドブロックではないエラーブロックの具体例としては、リードディスターブによる劣化でデータが化けた場合がある。この場合は、該当ブロックの書き換えを行うことで正常ブロックとして動作する。 また、書き込みでのエラーも該当ページでのみ起こるので他のページの利用は可能である場合がある。このように、正常に利用可能なブロックをバッドブロックとして扱うことを防止することができる。
<バッドブロック登録>
[ステップS60]
次に、ホストデバイス200は、エラーブロック記憶部123に登録されているエラーブロックを、バッドブロックとして登録する場合、メモリデバイス100に、エラー登録コマンド(CMD H)を発行する。
[ステップS61]
ホストデバイス200は、バッドブロックとして登録するエラーブロックのアドレス(Address d, Address e)を、メモリデバイス100に供給する。
これにより、CPU112は、後にホストデバイス200から供給されたアドレス(Address d, Address e)を、バッドブロックとして、後天性バッドブロック記憶領域122bに登録することができる。
尚、この際には、ホストデバイス200は、エラーブロック記憶部123に登録されている全てのエラーブロックをバッドブロックとして、後天性バッドブロック記憶領域122bに登録しても良い。この場合は、ホストデバイス200は、例えばエラー登録コマンド(CMD H)のみを、メモリデバイス100に供給すれば良い。
また、ここでは、ホストデバイス200は、エラー登録コマンド(CMD H)と、バッドブロックとして登録するアドレスを別々にメモリデバイス100に供給しているが、これらを同時にメモリデバイス100に供給しても良い。
<エラーブロック情報の削除>
[ステップS70]
次に、ホストデバイス200が、エラーブロック、つまりエラーブロック記憶部123内に保持されているエラーブロック情報を削除したい場合、ホストデバイス200は、メモリデバイス100に対してエラーブロック情報削除コマンドI(CMD I)を発行する。
CPU112は、ホストデバイス200から、エラーブロック情報削除コマンドI(CMD I)を受信すると、次に、ホストデバイス200から供給されるアドレスを、エラーブロック記憶部123内から削除する。
[ステップS71]
そして、ホストデバイス200は、エラーブロックとして登録されているアドレスの中から、削除したいアドレス(Address d)を、メモリデバイス100に供給する。
これにより、CPU112は、受信したアドレス(Address d)を、エラーブロック記憶部123から削除する。
尚、この際に、ホストデバイス200は、一括でエラーブロック情報を消去しても良いし、任意のアドレスのエラーブロック情報のみを消去しても良い。
<第2の実施形態に係る作用効果>
上述した第2の実施形態によれば、不揮発性半導体記憶装置100は、メモリセルアレイ121内に設定されるエラーブロック記憶部123を更に備える。そして、コントローラ110は、外部機器200から第4のコマンド(CMD E)を受信する場合、外部機器(200)がメモリセルアレイ(121)にアクセスする際に、所定の数以上のエラーが発生したブロックの物理アドレスを、エラーブロック記憶部123に登録し、外部機器から第5のコマンド(CMD H)を受信する場合、エラーブロック記憶部123に登録されている物理アドレスを、バッドブロック記憶部122に登録し、外部機器200から第6のコマンド(CMD I)及び第3の物理アドレスを受信する場合、第3の物理アドレスをエラーブロック記憶部123から削除し、外部機器200から第7のコマンド(CMD H)を受信する場合、エラーブロック記憶部123に登録されている物理アドレスを、外部機器200に供給する。
本実施形態によれば、メモリデバイス100自身で、バッドブロックである可能があるエラーブロックを抽出することができる。そのため、ホストデバイス200におけるバッドブロック管理に要する負担を軽減することができる。その結果、ホストデバイス200のシステム構築の際に、バッドブロック管理機能等の実装が容易となる。また、メモリデバイス100内に、エラーブロック情報が登録されているために、使用時の履歴の役割を果たし、戻入の際の有意義な情報として利用可能である。
以上、本発明の実施形態を説明したが、本発明は上記実施形態に限定されるものではなく、その趣旨を逸脱しない範囲内において種々変形して実施することが可能である。さらに、上記実施形態には種々の段階の発明が含まれており、開示された構成要件を適宜組み合わせることによって種々の発明が抽出される。例えば、開示された構成要件からいくつかの構成要件が削除されても、所定の効果が得られるものであれば、発明として抽出され得る。
100…メモリデバイス、 101…ホストインタフェース、
110…メモリ制御部、 111…ホストインタフェース、 112…CPU
113…ROM、 114…RAM、 116…データバッファ
117…フラッシュインタフェース、 118…ECC回路
120…NAND型フラッシュメモリ、 121…メモリセルアレイ
122…バッドブロック記憶部、 122a…先天性バッドブロック記憶領域
122b…後天性バッドブロック記憶領域、 123…エラーブロック記憶部
130…バス、 200…ホストデバイス。

Claims (8)

  1. 列方向及び行方向にマトリクス状に配置された複数のメモリセルトランジスタと、直列接続される複数の前記メモリセルトランジスタを備える複数のNANDセルと、複数の前記NANDセルを備える複数のブロックと、を備える不揮発性のメモリセルアレイと、
    前記メモリセルアレイ内に設定され、前記複数のブロックの内、外部機器からアクセスできないブロックの物理アドレスが登録されるバッドブロック記憶部と、
    前記メモリセルアレイ内に設定されるエラーブロック記憶部と、
    前記外部機器から、コマンド、物理アドレス、及びデータを受信し、
    前記メモリセルアレイへ書き込むデータ、または前記メモリセルアレイから読み出したデータのエラー訂正を行い、
    前記外部機器から第1のコマンド及び第1の物理アドレスを受信する場合、前記第1の物理アドレスに対応する前記ブロックを、バッドブロックとして前記バッドブロック記憶部に登録し、
    前記外部機器から第2のコマンド及び第2の物理アドレスを受信する場合、前記第2の物理アドレスを、前記バッドブロック記憶部から削除し、
    前記外部機器から第3のコマンドを受信する場合、前記バッドブロック記憶部に登録されている物理アドレスを、前記外部機器に供給し、
    前記外部機器から第4のコマンドを受信する場合、前記外部機器が前記メモリセルアレイにアクセスする際に、所定の数以上のエラーが発生した前記ブロックの物理アドレスを、前記エラーブロック記憶部に登録し、
    前記外部機器から第5のコマンドを受信する場合、前記エラーブロック記憶部に登録されている物理アドレスを、前記バッドブロック記憶部に登録し、
    前記外部機器から第6のコマンド及び第3の物理アドレスを受信する場合、前記第3の物理アドレスを、前記エラーブロック記憶部から削除し、
    前記外部機器から第7のコマンドを受信する場合、前記エラーブロック記憶部に登録されている物理アドレスを、前記外部機器に供給するコントローラと、
    を備える不揮発性半導体記憶装置。
  2. 列方向及び行方向にマトリクス状に配置された複数のメモリセルトランジスタと、直列接続される複数の前記メモリセルトランジスタを備える複数のNANDセルと、複数の前記NANDセルを備える複数のブロックと、を備える不揮発性のメモリセルアレイと、
    前記メモリセルアレイ内に設定され、前記複数のブロックの内、外部機器からアクセスできないブロックの物理アドレスが登録されるバッドブロック記憶部と、
    前記外部機器から、コマンド、物理アドレス、及びデータを受信し、
    前記メモリセルアレイへ書き込むデータ、または前記メモリセルアレイから読み出したデータのエラー訂正を行い、
    前記外部機器から第1のコマンド及び第1の物理アドレスを受信する場合、前記第1の物理アドレスに対応する前記ブロックを、バッドブロックとして前記バッドブロック記憶部に登録するコントローラと、
    を備える不揮発性半導体記憶装置。
  3. 前記コントローラは、
    前記外部機器から第2のコマンド及び第2の物理アドレスを受信する場合、前記第2の物理アドレスを、前記バッドブロック記憶部から削除することを特徴とする請求項2に記載の不揮発性半導体記憶装置。
  4. 前記コントローラは、
    前記外部機器から第3のコマンドを受信する場合、前記バッドブロック記憶部に登録されている物理アドレスを、前記外部機器に供給することを特徴とする請求項2または3に記載の不揮発性半導体記憶装置。
  5. 前記メモリセルアレイ内に設定されるエラーブロック記憶部を更に備え、
    前記コントローラは、
    前記外部機器から第4のコマンドを受信する場合、前記外部機器が前記メモリセルアレイにアクセスする際に、所定の数以上のエラーが発生した前記ブロックの物理アドレスを、前記エラーブロック記憶部に登録することを特徴とする請求項2乃至4の何れか一項に記載の不揮発性半導体記憶装置。
  6. 前記コントローラは、
    前記外部機器から第5のコマンドを受信する場合、前記エラーブロック記憶部に登録されている物理アドレスを、前記バッドブロック記憶部に登録することを特徴とする請求項5に記載の不揮発性半導体記憶装置。
  7. 前記コントローラは、
    前記外部機器から第6のコマンド及び第3の物理アドレスを受信する場合、前記第3の物理アドレスを、前記エラーブロック記憶部から削除することを特徴とする請求項5または6に記載の不揮発性半導体記憶装置。
  8. 前記コントローラは、
    前記外部機器から第7のコマンドを受信する場合、前記エラーブロック記憶部に登録されている物理アドレスを、前記外部機器に供給することを特徴とする請求項5乃至7の何れか一項に記載の不揮発性半導体記憶装置。
JP2012143364A 2012-06-26 2012-06-26 不揮発性半導体記憶装置 Pending JP2014006811A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012143364A JP2014006811A (ja) 2012-06-26 2012-06-26 不揮発性半導体記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012143364A JP2014006811A (ja) 2012-06-26 2012-06-26 不揮発性半導体記憶装置

Publications (1)

Publication Number Publication Date
JP2014006811A true JP2014006811A (ja) 2014-01-16

Family

ID=50104446

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012143364A Pending JP2014006811A (ja) 2012-06-26 2012-06-26 不揮発性半導体記憶装置

Country Status (1)

Country Link
JP (1) JP2014006811A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017045405A (ja) * 2015-08-28 2017-03-02 株式会社東芝 メモリシステム
JP2017045288A (ja) * 2015-08-27 2017-03-02 株式会社東芝 メモリシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017045288A (ja) * 2015-08-27 2017-03-02 株式会社東芝 メモリシステム
JP2017045405A (ja) * 2015-08-28 2017-03-02 株式会社東芝 メモリシステム

Similar Documents

Publication Publication Date Title
KR102281946B1 (ko) 반도체 메모리 장치를 제어하는 컨트롤러 및 그것의 동작 방법
US10170202B2 (en) Memory system
JP5142685B2 (ja) メモリシステム
CN110096385B (zh) 存储器系统及其操作方法
JP5550386B2 (ja) 不揮発性半導体記憶装置及びメモリシステム
JP2017208149A (ja) 半導体装置
US7543104B2 (en) Non-volatile semiconductor device for use in memory card and memory system
US20170068615A1 (en) Memory system and method of controlling nonvolatile memory
US9792068B2 (en) Memory system and method of controlling nonvolatile memory
CN114664342A (zh) Ufs装置及其操作方法
TWI758888B (zh) 記憶體系統
JP2014006811A (ja) 不揮発性半導体記憶装置
JP5731622B2 (ja) フラッシュメモリ、バッドブロックの管理方法および管理プログラム
JP2010128697A (ja) メモリシステム
JP5284737B2 (ja) 不揮発性半導体記憶装置とそのフェイルビット数計数方法
US11307783B2 (en) Memory controller performing recovery operation using recovery code and operating method thereof
JP2013030251A (ja) メモリシステム
US20140281164A1 (en) Memory system and memory controller
US20240295969A1 (en) Memory system and method of controlling nonvolatile memory
US8886989B2 (en) Memory device
US11544204B2 (en) Memory system, memory controller and method for operating memory controller
US11404137B1 (en) Memory system and operating method of memory system
US11640263B2 (en) Memory system and operating method thereof
JP3908238B2 (ja) 不揮発性半導体メモリ装置のデータ書き込み方法
JP2008103076A (ja) データの一部書き換え機能を有する半導体不揮発性メモリ

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131219

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20131226

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140109