(57)【特許請求の範囲】
【請求項１】
ＮＡＮＤ型フラッシュメモリアレイと、データレジスタおよびキャッシュレジスタを含むページバッファとを有するＮＡＮＤ型フラッシュメモリチップ上で連続ページ読み込み操作を行う方法であって、
前記ＮＡＮＤ型フラッシュメモリを有するオンチップでルックアップテーブルレジスタを維持し、前記ルックアップテーブルレジスタが、少なくとも１つの論理不良ブロックアドレスおよび前記論理不良ブロックアドレスに対応する少なくとも１つの物理置き換えブロックアドレスを保存することと、
前記キャッシュレジスタ内の複数のキャッシュレジスタ部から途切れなく連続してデータを出力し、前記データレジスタが、前記キャッシュレジスタの前記複数のキャッシュレジスタ部に対応する複数のデータレジスタ部から成ることと、
前記ＮＡＮＤ型フラッシュメモリアレイにアクセスするための論理ページアドレスを設定し、前記論理ページアドレスが、論理ブロックアドレス部を含むことと、
前記ルックアップテーブルレジスタの前記論理不良ブロックアドレスにおいて、前記論理不良ブロックアドレスのうちの１つと前記論理ブロックアドレス部が符合するかどうかを検索することと、
前記複数のキャッシュレジスタ部の第１キャッシュレジスタ部からデータを出力した時、前記キャッシュレジスタの対応部分から、前記第１キャッシュレジスタ部と異なる第２キャッシュレジスタ部にデータを転送することと、
前記第１キャッシュレジスタ部がデータを出力し、且つ前記第２キャッシュレジスタ部にデータを転送するステップの後、前記第２キャッシュレジスタ部において誤り訂正符号計算（error correcting code, ECC）を行うことと、
前記第１キャッシュレジスタ部がデータを出力し、且つ前記第２キャッシュレジスタ部にデータを転送するステップの後、検索ステップにおいて前記論理不良ブロックアドレスと前記論理ブロックアドレス部がいずれも符合しない時、前記論理ページアドレスを利用して前記ＮＡＮＤ型フラッシュメモリアレイから前記データレジスタにデータページを読み込むとともに、検索ステップにおいて前記論理不良ブロックアドレスのうちの１つと前記論理ブロックアドレス部が符合する時、前記物理置き換えブロックアドレスのうちの１つを利用して前記データレジスタに前記データページを読み込み、前記物理置き換えブロックアドレスのうちの前記１つが、前記論理ブロックアドレス部に符合する前記論理不良ブロックアドレスのうちの前記１つに対応することと、
前記第２キャッシュレジスタ部からデータを出力した時、前記データレジスタの対応部分から前記第２キャッシュレジスタ部以外のその他の前記複数のキャッシュレジスタ部のうちの１つにデータを転送するとともに、その他の前記複数のキャッシュレジスタ部のうちの前記１つに対して前記誤り訂正符号計算を行うことと
を含むＮＡＮＤ型フラッシュメモリチップ上で連続ページ読み込み操作を行う方法。
【請求項２】
前記論理ページアドレスを設定するステップが、１つのページにより前記論理ページアドレスを増やすことを含み、
ページ境界を跨ぐ時に、前記複数のキャッシュレジスタ部からデータを出力するステップ、前記論理ページアドレスを設定するステップ、前記第２キャッシュレジスタ部にデータを転送するステップ、前記誤り訂正符号計算を行うステップ、前記データページを前記データレジスタ部に読み込むステップ、および前記第２キャッシュレジスタ部以外のその他の前記複数のキャッシュレジスタ部のうちの１つにデータを転送し、その他の前記複数のキャッシュレジスタ部のうちの前記１つに対して前記誤り訂正符号計算を行うステップを繰り返し行うこと
をさらに含む請求項１に記載のＮＡＮＤ型フラッシュメモリチップ上で連続ページ読み込み操作を行う方法。
【請求項３】
前記論理ページアドレスを設定するステップが、さらに、１つのページにより前記論理ページアドレスを増やすことを含み、
ブロック境界を跨ぐ時に、前記複数のキャッシュレジスタ部からデータを出力するステップ、前記論理ページアドレスを設定するステップ、前記論理不良ブロックアドレスのうちの１つと前記論理ブロックアドレス部が符合するかどうかを検索するステップ、前記第２キャッシュレジスタ部にデータを転送するステップ、前記誤り訂正符号計算を行うステップ、前記データページを前記データレジスタ部に読み込むステップ、および前記第２キャッシュレジスタ部以外のその他の前記複数のキャッシュレジスタ部のうちの１つにデータを転送し、その他の前記複数のキャッシュレジスタ部のうちの前記１つに対して前記誤り訂正符号計算を行うステップを繰り返し行うこと
をさらに含む請求項２に記載のＮＡＮＤ型フラッシュメモリチップ上で連続ページ読み込み操作を行う方法。
【請求項４】
前記論理ページアドレスを設定するステップが、さらに、１つのページにより前記論理ページアドレスを増やすことを含み、
ページ境界を跨ぐ時に、前記複数のキャッシュレジスタ部からデータを出力するステップ、前記論理ページアドレスを設定するステップ、前記論理不良ブロックアドレスのうちの１つと前記論理ブロックアドレス部が符合するかどうかを検索するステップ、前記第２キャッシュレジスタ部にデータを転送するステップ、前記誤り訂正符号計算を行うステップ、前記データページを前記データレジスタ部に読み込むステップ、および前記第２キャッシュレジスタ部以外のその他の前記複数のキャッシュレジスタ部のうちの１つにデータを転送し、その他の前記複数のキャッシュレジスタ部のうちの前記１つに対して前記誤り訂正符号計算を行うステップを繰り返し行うこと
をさらに含む請求項１に記載のＮＡＮＤ型フラッシュメモリチップ上で連続ページ読み込み操作を行う方法。
【請求項５】
前記論理ページアドレスを設定するステップが、さらに、１つのページにより前記論理ページアドレスを増やすことを含み、
ブロック境界を跨ぐ時に、前記複数のキャッシュレジスタ部からデータを出力するステップ、前記論理ページアドレスを設定するステップ、前記論理不良ブロックアドレスのうちの１つと前記論理ブロックアドレス部が符合するかどうかを検索するステップ、前記第２キャッシュレジスタ部にデータを転送するステップ、前記誤り訂正符号計算を行うステップ、前記データページを前記データレジスタ部に読み込むステップ、および前記第２キャッシュレジスタ部以外のその他の前記複数のキャッシュレジスタ部のうちの１つにデータを転送し、その他の前記複数のキャッシュレジスタ部のうちの前記１つに対して前記誤り訂正符号計算を行うステップを繰り返し行うこと
をさらに含む請求項４に記載のＮＡＮＤ型フラッシュメモリチップ上で連続ページ読み込み操作を行う方法。
【請求項６】
前記論理ページアドレスを設定するステップが、さらに、１つのページにより前記論理ページアドレスを増やすことを含み、
ブロック境界を跨ぐ時に、前記複数のキャッシュレジスタ部からデータを出力するステップ、前記論理ページアドレスを設定するステップ、前記論理不良ブロックアドレスのうちの１つと前記論理ブロックアドレス部が符合するかどうかを検索するステップ、前記第２キャッシュレジスタ部にデータを転送するステップ、前記誤り訂正符号計算を行うステップ、前記データページを前記データレジスタ部に読み込むステップ、および前記第２キャッシュレジスタ部以外のその他の前記複数のキャッシュレジスタ部のうちの１つにデータを転送し、その他の前記複数のキャッシュレジスタ部のうちの前記１つに対して前記誤り訂正符号計算を行うステップを繰り返し行うこと
をさらに含む請求項１に記載のＮＡＮＤ型フラッシュメモリチップ上で連続ページ読み込み操作を行う方法。
【請求項７】
前記複数のキャッシュレジスタ部からデータを出力するステップが、最初の遅延期間後に開始され、前記最初の遅延期間が、前記ＮＡＮＤ型フラッシュメモリアレイから前記データレジスタに前記データページを読み込む時間を含む請求項１に記載のＮＡＮＤ型フラッシュメモリチップ上で連続ページ読み込み操作を行う方法。
【請求項８】
前記複数のキャッシュレジスタ部からデータを出力するステップが、最初の遅延期間なしで行われる請求項１に記載のＮＡＮＤ型フラッシュメモリチップ上で連続ページ読み込み操作を行う方法。
【請求項９】
ＮＡＮＤ型フラッシュメモリアレイと、データレジスタおよびキャッシュレジスタを含むページバッファとを有するＮＡＮＤ型フラッシュメモリチップ上で連続ページ読み込み操作を行う方法であって、
前記ＮＡＮＤ型フラッシュメモリを有するオンチップでルックアップテーブルレジスタを維持し、前記ルックアップテーブルレジスタが、少なくとも１つの論理不良ブロックアドレスおよび前記論理不良ブロックアドレスに対応する少なくとも１つの物理置き換えブロックアドレスを保存することと、
前記ＮＡＮＤ型フラッシュメモリアレイにアクセスするための論理ページアドレスを設定し、前記論理ページアドレスが、論理ブロックアドレス部を含むことと、
前記ルックアップテーブルレジスタの前記論理不良ブロックアドレスにおいて、前記論理不良ブロックアドレスのうちの１つと前記論理ブロックアドレス部が符合するかどうかを検索することと、
検索ステップにおいて前記論理不良ブロックアドレスと前記論理ブロックアドレス部がいずれも符合しない時、前記論理ページアドレスを利用して前記ＮＡＮＤ型フラッシュメモリアレイから前記データレジスタにデータページを読み込むとともに、検索ステップにおいて前記論理不良ブロックアドレスのうちの１つと前記論理ブロックアドレス部が符合する時、前記物理置き換えブロックアドレスのうちの１つを利用して前記データレジスタに前記データページを読み込み、前記物理置き換えブロックアドレスのうちの前記１つが、前記論理ブロックアドレス部に符合する前記論理不良ブロックアドレスのうちの前記１つに対応することと、
前記ページバッファ内の前記データページに対して誤り訂正符号計算を行うことと、
前記誤り訂正符号計算が訂正不可能なページ読み込みエラーを示した時、検索ステップにおいて前記論理不良ブロックアドレスと前記論理ブロックアドレス部がいずれも符合しない場合、前記論理ページアドレスを利用して連続ページ読み込み不良ブロックアドレスレジスタを更新し、検索ステップにおいて前記論理不良ブロックアドレスのうちの１つと前記論理ブロックアドレス部が符合する場合、前記物理置き換えブロックアドレスのうちの１つを利用して前記ページ読み込み不良ブロックアドレスレジスタを更新し、前記物理置き換えブロックアドレスのうちの前記１つが、論理ブロックアドレス部に符合する前記論理不良ブロックアドレスのうちの前記１つに対応することと
を含むＮＡＮＤ型フラッシュメモリチップ上で連続ページ読み込み操作を行う方法。
【請求項１０】
ＮＡＮＤ型フラッシュメモリアレイと、
前記ＮＡＮＤ型フラッシュメモリアレイに結合された行デコーダと、
前記ＮＡＮＤ型フラッシュメモリアレイに結合されたページバッファと、
前記ページバッファに結合された列デコーダと、
前記列デコーダに結合された入力／出力コントローラと、
前記入力／出力コントローラに結合された状態レジスタと、
前記入力／出力コントローラに結合された連続ページ読み込み不良ブロックアドレスレジスタと、
前記入力／出力コントローラに結合されたコマンドレジスタと、
前記入力／出力コントローラに結合されたアドレスレジスタと、
前記入力／出力コントローラに結合されたルックアップテーブルレジスタと、
前記行デコーダ、前記列デコーダ、前記ページバッファ、前記状態レジスタ、前記連続ページ読み込み不良ブロックアドレスレジスタ、前記コマンドレジスタ、前記アドレスレジスタおよび前記ルックアップテーブルレジスタに結合された制御論理回路と
を含むＮＡＮＤ型フラッシュメモリチップ。
【請求項１１】
前記ページバッファが、
前記ＮＡＮＤ型フラッシュメモリアレイに結合されたデータレジスタと、
前記データレジスタおよび前記列デコーダに結合されたキャッシュレジスタと
を含み、
前記キャッシュレジスタが、複数のキャッシュレジスタ部から成り、且つ前記データレジスタが、前記キャッシュレジスタの前記複数のキャッシュレジスタ部に対応する複数のデータレジスタ部から成る請求項１０に記載のＮＡＮＤ型フラッシュメモリチップ。
【請求項１２】
前記制御論理回路が、複数の論理素子を含み、前記複数の論理素子が、
前記ルックアップテーブルレジスタを維持し、前記ルックアップテーブルレジスタが、少なくとも１つの論理不良ブロックアドレスおよび前記論理不良ブロックアドレスに対応する少なくとも１つの物理置き換えブロックアドレスを保存する機能と、
前記キャッシュレジスタ内の複数のキャッシュレジスタ部から途切れなく連続してデータを出力し、前記データレジスタが、前記キャッシュレジスタの前記複数のキャッシュレジスタ部に対応する複数のデータレジスタ部から成る機能と、
前記ＮＡＮＤ型フラッシュメモリアレイにアクセスするための論理ページアドレスを設定し、前記論理ページアドレスが、論理ブロックアドレス部を含む機能と、
前記ルックアップテーブルレジスタの前記論理不良ブロックアドレスにおいて、前記論理不良ブロックアドレスのうちの１つと前記論理ブロックアドレス部が符合するかどうかを検索する機能と、
前記複数のキャッシュレジスタ部の第１キャッシュレジスタ部からデータを出力した時、前記キャッシュレジスタの対応部分から、前記第１キャッシュレジスタ部と異なる第２キャッシュレジスタ部にデータを転送する機能と、
前記第１キャッシュレジスタ部がデータを出力し、且つ前記第２キャッシュレジスタ部にデータを転送するステップの後、前記第２キャッシュレジスタ部において誤り訂正符号計算を行う機能と、
前記第１キャッシュレジスタ部がデータを出力し、且つ前記第２キャッシュレジスタ部にデータを転送するステップの後、検索ステップにおいて前記論理不良ブロックアドレスと前記論理ブロックアドレス部がいずれも符合しない時、前記論理ページアドレスを利用して前記ＮＡＮＤ型フラッシュメモリアレイから前記データレジスタにデータページを読み込み、検索ステップにおいて前記論理不良ブロックアドレスのうちの１つと前記論理ブロックアドレス部が符合する時、前記物理置き換えブロックアドレスのうちの１つを利用して前記データレジスタに前記データページを読み込み、前記物理置き換えブロックアドレスのうちの前記１つが、前記論理ブロックアドレス部に符合する前記論理不良ブロックアドレスのうちの前記１つに対応する機能と、
前記第２キャッシュレジスタ部からデータを出力した時、前記データレジスタの対応部分から前記第２キャッシュレジスタ部以外のその他の前記複数のキャッシュレジスタ部のうちの１つにデータを転送するとともに、その他の前記複数のキャッシュレジスタ部のうちの前記１つに対して前記誤り訂正符号計算を行う機能と
を実行するために使用される請求項１１に記載のＮＡＮＤ型フラッシュメモリチップ。
【請求項１３】
前記制御論理回路が、複数の論理素子を含み、前記複数の論理素子が、
前記ＮＡＮＤ型フラッシュメモリアレイにアクセスするための論理ブロックアドレスを識別し、前記論理ブロックアドレスが、消去アクセス用に完成され、且つページアドレス部を補充して読み込みアクセスおよびプログラムアクセスに使用される機能と、
前記論理ブロックアドレスの置き換えブロックの物理ブロックアドレスへのマッピングを獲得する機能と、
前記置き換えブロックの物理ブロックアドレスを利用して前記ＮＡＮＤ型フラッシュメモリアレイにアクセスする機能と
を実行するために使用される請求項１０に記載のＮＡＮＤ型フラッシュメモリチップ。
【請求項１４】
前記制御論理回路が、複数の論理素子を含み、前記複数の論理素子が、
前記ルックアップテーブルレジスタを維持し、前記ルックアップテーブルレジスタが、少なくとも１つの論理不良ブロックアドレスおよび前記論理不良ブロックアドレスに対応する少なくとも１つの物理置き換えブロックアドレスを保存する機能と、
前記ＮＡＮＤ型フラッシュメモリアレイにアクセスするための論理ページアドレスを設定し、前記論理ページアドレスが、論理ブロックアドレス部を含む機能と、
前記ルックアップテーブルレジスタの前記論理不良ブロックアドレスにおいて、前記論理不良ブロックアドレスのうちの１つと前記論理ブロックアドレス部が符合するかどうかを検索する機能と、
前記物理置き換えブロックアドレスのうちの１つを利用して前記ＮＡＮＤ型フラッシュメモリアレイから前記ページバッファにデータページを読み込み、前記物理置き換えブロックアドレスのうちの前記１つが、前記論理ブロックアドレス部に符合する前記論理不良ブロックアドレスのうちの前記１つに対応する機能と、
前記ページバッファにおいて誤り訂正符号計算を行う機能と
を実行するために使用される請求項１０に記載のＮＡＮＤ型フラッシュメモリチップ。
【請求項１５】
前記制御論理回路が、複数の論理素子を含み、前記複数の論理素子が、
前記ルックアップテーブルレジスタを維持し、前記ルックアップテーブルレジスタが、少なくとも１つの論理不良ブロックアドレスおよび前記論理不良ブロックアドレスに対応する少なくとも１つの物理置き換えブロックアドレスを保存する機能と、
前記ＮＡＮＤ型フラッシュメモリアレイにアクセスするための論理ページアドレスを設定し、前記論理ページアドレスが、論理ブロックアドレス部を含む機能と、
前記ルックアップテーブルレジスタの前記論理不良ブロックアドレスにおいて、前記論理不良ブロックアドレスのうちの１つと前記論理ブロックアドレス部が符合するかどうかを検索する機能と、
検索ステップにおいて前記論理不良ブロックアドレスと前記論理ブロックアドレス部がいずれも符合しない時、前記論理ページアドレスを利用して前記ＮＡＮＤ型フラッシュメモリアレイから前記ページバッファにデータページを読み込み、検索ステップにおいて前記論理不良ブロックアドレスのうちの１つと前記論理ブロックアドレス部が符合する時、前記物理置き換えブロックアドレスのうちの１つを利用して前記ページバッファに前記データページを読み込み、前記物理置き換えブロックアドレスのうちの前記１つが、前記論理ブロックアドレス部に符合する前記論理不良ブロックアドレスのうちの前記１つに対応する機能と、
前記ページバッファ内の前記データページに対して誤り訂正符号計算を行う機能と、
前記誤り訂正符号計算が訂正不可能なページ読み込みエラーを示した時、検索ステップにおいて前記論理不良ブロックアドレスと前記論理ブロックアドレス部がいずれも符合しない場合、前記論理ページアドレスを利用して連続ページ読み込み不良ブロックアドレスレジスタを更新し、検索ステップにおいて前記論理不良ブロックアドレスのうちの１つと前記論理ブロックアドレス部が符合する場合、前記物理置き換えブロックアドレスのうちの１つを利用して前記ページ読み込み不良ブロックアドレスレジスタを更新し、前記物理置き換えブロックアドレスのうちの前記１つが、論理ブロックアドレス部に符合する前記論理不良ブロックアドレスのうちの前記１つに対応する機能と
を実行するために使用される請求項１０に記載のＮＡＮＤ型フラッシュメモリチップ。
【請求項１６】
オンチップで実現されるＮＡＮＤ型フラッシュメモリアレイに用いる不良ブロック管理方法であって、
前記ＮＡＮＤ型フラッシュメモリアレイを有するオンチップでルックアップテーブルレジスタを維持することと、
第１不良ブロックの論理ブロックアドレスを利用して前記ＮＡＮＤ型フラッシュメモリアレイにアクセスするユーザーアクセス期間において、前記第１不良ブロックを検出することと、
オンチップの前記ルックアップテーブルレジスタにアクセスして、第１不良ブロックの論理ブロックアドレスの第１置き換えブロックの物理ブロックアドレスへのマッピングを前記ＮＡＮＤ型フラッシュメモリアレイに保存することと、
第２不良ブロックの論理ブロックアドレスを利用して前記ＮＡＮＤ型フラッシュメモリアレイにアクセスするユーザーアクセス期間において、前記第２不良ブロックを検出することと、
オンチップの前記ルックアップテーブルレジスタにアクセスして、第２不良ブロックの論理ブロックアドレスの第２置き換えブロックの物理ブロックアドレスへのマッピングを前記ＮＡＮＤ型フラッシュメモリアレイに保存することとを含み、
前記第１置き換えブロックが、前記ＮＡＮＤ型フラッシュメモリアレイの冗長ブロック領域に配置され、前記第２置き換えブロックが、前記ＮＡＮＤ型フラッシュメモリアレイのユーザーアドレス指定可能領域に配置されたＮＡＮＤ型フラッシュメモリアレイに用いる不良ブロック管理方法。
【請求項１７】
前記第１置き換えブロックが、前記ＮＡＮＤ型フラッシュメモリアレイのユーザーアドレス指定可能領域に配置され、
ユーザーによりオフチップ（off-chip）で前記マッピングを決定すること
をさらに含む請求項１６に記載のＮＡＮＤ型フラッシュメモリアレイに用いる不良ブロック管理方法。
【請求項１８】
前記第１置き換えブロックが、前記ＮＡＮＤ型フラッシュメモリアレイのユーザーアドレス指定可能領域に配置され、
オンチップで前記マッピングを決定すること
をさらに含む請求項１６に記載のＮＡＮＤ型フラッシュメモリアレイに用いる不良ブロック管理方法。
【請求項１９】
前記第１置き換えブロックが、前記ＮＡＮＤ型フラッシュメモリアレイの冗長ブロック領域に配置され、
オンチップで前記マッピングを決定すること
をさらに含む請求項１６に記載のＮＡＮＤ型フラッシュメモリアレイに用いる不良ブロック管理方法。
【請求項２０】
オンチップの前記ルックアップテーブルレジスタを維持するステップが、
ルックアップテーブル情報ブロックからルックアップテーブル情報を読み込み、前記ルックアップテーブル情報ブロックが、前記ＮＡＮＤ型フラッシュメモリアレイの前記ユーザーアドレス指定可能領域以外に配置されることと、
前記ルックアップテーブル情報ブロックからルックアップテーブル情報を読み込むステップで獲得した前記ルックアップテーブル情報をオンチップの前記ルックアップテーブルレジスタに書き込むことと
を含む請求項１６に記載のＮＡＮＤ型フラッシュメモリアレイに用いる不良ブロック管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルメモリデバイスに関するものであり、特に、オンチップのＮＡＮＤ
型フラッシュメモリ（NAND flash memory）およびその不良ブロック管理方法に関するも
のである。
【背景技術】
【０００２】
ＮＡＮＤ型フラッシュメモリは、コスト上明らかに優位であることから、市場において
ますます主流になってきている。また、ＮＡＮＤ型フラッシュメモリは、従来のＮＡＮＤ
インターフェースから低ピンカウント（low pin count, LPC）のシリアル・ペリフェラル
・インターフェース（Serial Peripheral Interfaces，SPI）に至るまで、様々な異なる
種類のインターフェースに適用可能である。
【０００３】
ＮＡＮＤ型フラッシュメモリは、メモリアレイを複数のブロック（block）に構成した
構造になっており、各ブロックは、いくつかのページ（page）を有する。標準のページの
長さは、５１２バイト（bytes）、２０４８バイトおよび４０９６バイトである。各ペー
ジ内のいくつかの特別なバイト（通常、１６／６４／１２８バイト）は、誤り訂正符号（
error correcting code, ECC）チェックサム（checksum）を保存するために使用されるが
、メタデータ（metadata）を保存するために使用されることもある。
【０００４】
不良ブロック管理は、通常、ＮＡＮＤ型フラッシュメモリ上で実行される。このような
メモリは、ブロックの製造時に欠陥メモリセルがあったり、繰り返し使用することにより
メモリセルが退化して欠陥メモリセルが生じたりするなど、不良ブロック状態の影響を受
けやすい。不良ブロック管理は、通常、ホストオペレーティングシステムのデバイスドラ
イバーソフトウェアまたは独立した専用コントローラチップにより実行される。高レベル
ソフトウェアが不良（bad）の論理ブロックにアクセスした時、デバイスドライバーまた
はコントローラは、不良ブロックマッピングテーブル（一般的に、ルックアップテーブル
（look-up table, LUT）と称す）を利用して、不良の論理ブロックを有効な（good）物理
ブロックにマッピングする。ルックアップテーブルの機能は、マッピングされなかった物
理ブロックアドレスを不良ブロックとして収集する論理ブロックアドレス（logical bloc
k address, LBA）と有効ブロックとしてマッピングした物理ブロックアドレス（physical
block address, PBA）の間のリンクの集合である。
【０００５】
ルックアップテーブルの使用は、例えば、ページ読み込みコマンドのように、標準のＮ
ＡＮＤ型フラッシュメモリデバイスに常用されるいくつかのコマンドに対して有効である
。シリアル読み込みコマンド等のいくつかのコマンドは、特定のブロック内で順番に読み
込むようコマンドを制限することにより、ルックアップテーブルの使用と両立させた状況
において行われる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ソフトウェアまたはハードウェアにおいて、ホストデバイスまたは外部コントローラを
使用して不良ブロックルックアップテーブルを実現すると、ソフトウェア開発およびハー
ドウェアコストにおける負担を増やす可能性がある。
【課題を解決するための手段】
【０００７】
本発明の１つの実施形態中、ＮＡＮＤ型フラッシュメモリアレイのアクセス方法を提供
する。ＮＡＮＤ型フラッシュメモリアレイは、ユーザーアドレス指定可能領域を有し、且
つチップ上で実現される。チップは、一部のＮＡＮＤ型フラッシュメモリアレイの読み込
み、プログラムおよび消去に使用される。上述したＮＡＮＤ型フラッシュメモリアレイの
アクセス方法は、ＮＡＮＤ型フラッシュメモリアレイにアクセスするための論理ブロック
アドレスを識別し、論理ブロックアドレスが、消去アクセス用に完成され、且つページア
ドレス部を補充して読み込みアクセスおよびプログラムアクセスに使用されることと、Ｎ
ＡＮＤ型フラッシュメモリアレイを有するオンチップのユーザーアドレス指定可能領域に
おいて、論理ブロックアドレスの置き換えブロックの物理ブロックアドレスへのマッピン
グを獲得することと、置き換えブロックの物理ブロックアドレスを利用してＮＡＮＤ型フ
ラッシュメモリアレイにアクセスすることとを含む。
【０００８】
本発明の別の実施形態中、ＮＡＮＤ型フラッシュメモリアレイおよびページバッファを
有するＮＡＮＤ型フラッシュメモリチップ上で連続ページ読み込み操作を行う方法を提供
する。ページバッファは、データレジスタと、キャッシュレジスタとを含む。上述したＮ
ＡＮＤ型フラッシュメモリチップ上で連続ページ読み込み操作を行う方法は、ＮＡＮＤ型
フラッシュメモリアレイを有するオンチップでルックアップテーブルレジスタを維持し、
ルックアップテーブルレジスタが、少なくとも１つの論理不良ブロックアドレスおよび前
記論理不良ブロックアドレスに対応する少なくとも１つの物理置き換えブロックアドレス
を保存することと、キャッシュレジスタ内の複数のキャッシュレジスタ部から途切れなく
連続してデータを出力し、データレジスタが、キャッシュレジスタの前記複数のキャッシ
ュレジスタ部に対応する複数のデータレジスタ部から成ることと、ＮＡＮＤ型フラッシュ
メモリアレイにアクセスするための論理ページアドレスを設定し、論理ページアドレスが
、論理ブロックアドレス部を含むことと、ルックアップテーブルレジスタの前記論理不良
ブロックアドレスにおいて、前記論理不良ブロックアドレスのうちの１つと論理ブロック
アドレス部が符合するかどうかを検索することと、前記複数のキャッシュレジスタ部のう
ちの第１キャッシュレジスタ部からデータを出力した時、キャッシュレジスタの対応部分
から、第１キャッシュレジスタ部と異なる第２キャッシュレジスタ部にデータを転送する
ことと、第１キャッシュレジスタ部がデータを出力し、且つ第２キャッシュレジスタ部に
データ転送するステップの後、第２キャッシュレジスタ部において、誤り訂正符号計算を
行うことと、第１キャッシュレジスタ部がデータを出力して第２キャッシュレジスタ部に
データを転送するステップの後、検索ステップにおいて前記論理不良ブロックアドレスと
論理ブロックアドレス部がいずれも符合しない時、論理ページアドレスを利用してＮＡＮ
Ｄ型フラッシュメモリアレイからデータレジスタにデータページを読み込み、検索ステッ
プにおいて前記論理不良ブロックアドレスのうちの１つと論理ブロックアドレス部が符合
する時、前記物理置き換えブロックアドレスのうちの１つを利用してデータレジスタにデ
ータページを読み込み、前記物理置き換えブロックアドレスのうちの前記１つが、論理ブ
ロックアドレス部に符合する前記論理不良ブロックアドレスのうちの前記１つに対応する
ことと、第２キャッシュレジスタ部からデータを出力した時、データレジスタの対応部分
から第２キャッシュレジスタ部以外のその他の前記複数のキャッシュレジスタ部のうちの
１つにデータを転送するとともに、その他の前記複数のキャッシュレジスタ部のうちの前
記１つに対して前記誤り訂正符号計算を行うこととを含む。
【０００９】
本発明の別の実施形態中、ＮＡＮＤ型フラッシュメモリアレイおよびページバッファを
有するＮＡＮＤ型フラッシュメモリチップ上でページ読み込み操作を行う方法を提供する
。ページバッファは、データレジスタと、キャッシュレジスタとを含む。上述したＮＡＮ
Ｄ型フラッシュメモリチップ上でページ読み込み操作を行う方法は、ＮＡＮＤ型フラッシ
ュメモリアレイを有するオンチップでルックアップテーブルレジスタを維持し、ルックア
ップテーブルレジスタが、少なくとも１つの論理不良ブロックアドレスおよび前記論理不
良ブロックアドレスに対応する少なくとも１つの物理置き換えブロックアドレスを保存す
ることと、ＮＡＮＤ型フラッシュメモリアレイにアクセスするための論理ページアドレス
を設定し、論理ページアドレスが、論理ブロックアドレス部を含むことと、ルックアップ
テーブルレジスタの前記論理不良ブロックアドレスにおいて、前記論理不良ブロックアド
レスのうちの１つと論理ブロックアドレス部が符合するかどうかを検索することと、前記
物理置き換えブロックアドレスのうちの１つを利用してＮＡＮＤ型フラッシュメモリアレ
イからデータレジスタにデータページを読み込み、前記物理置き換えブロックアドレスの
うちの前記１つが、論理ブロックアドレス部に符合する前記論理不良ブロックアドレスの
うちの前記１つに対応することと、ページバッファにおいて誤り訂正符号計算を行うこと
とを含む。
【００１０】
本発明の別の実施形態中、ＮＡＮＤ型フラッシュメモリアレイおよびページバッファを
有するＮＡＮＤ型フラッシュメモリチップ上で連続ページ読み込み操作を行う方法を提供
する。上述したＮＡＮＤ型フラッシュメモリチップ上で連続ページ読み込み操作を行う方
法は、ＮＡＮＤ型フラッシュメモリアレイを有するオンチップでルックアップテーブルレ
ジスタを維持し、ルックアップテーブルレジスタが、少なくとも１つの論理不良ブロック
アドレスおよび前記論理不良ブロックアドレスに対応する少なくとも１つの物理置き換え
ブロックアドレスを保存することと、ＮＡＮＤ型フラッシュメモリアレイにアクセスする
ための論理ページアドレスを設定し、論理ページアドレスが、論理ブロックアドレス部を
含むことと、ルックアップテーブルレジスタの前記論理不良ブロックアドレスにおいて、
前記論理不良ブロックアドレスのうちの１つと論理ブロックアドレス部が符合するかどう
かを検索することと、検索ステップにおいて前記論理不良ブロックアドレスと論理ブロッ
クアドレス部がいずれも符合しない時、論理ページアドレスを利用してＮＡＮＤ型フラッ
シュメモリアレイからデータレジスタにデータページを読み込み、検索ステップにおいて
前記論理不良ブロックアドレスのうちの１つと論理ブロックアドレス部が符合する時、前
記物理置き換えブロックアドレスのうちの１つを利用してデータレジスタにデータページ
を読み込み、前記物理置き換えブロックアドレスのうちの前記１つが、論理ブロックアド
レス部に符合する前記論理不良ブロックアドレスのうちの前記１つに対応することと、ペ
ージバッファ内のデータページに対して誤り訂正符号計算を行うことと、誤り訂正符号計
算が訂正不可能なページ読み込みエラーを示した時、検索ステップにおいて前記論理不良
ブロックアドレスと論理ブロックアドレス部がいずれも符合しない場合、論理ページアド
レスを利用して連続ページ読み込み不良ブロックアドレスレジスタを更新し、検索ステッ
プにおいて前記論理不良ブロックアドレスのうちの１つと前記論理ブロックアドレス部が
符合する場合、前記物理置き換えブロックアドレスのうちの１つを利用して前記ページ読
み込み不良ブロックアドレスレジスタを更新し、前記物理置き換えブロックアドレスのう
ちの前記１つが、論理ブロックアドレス部に符合する前記論理不良ブロックアドレスのう
ちの前記１つに対応することとを含む。
【００１１】
本発明の別の実施形態中、ＮＡＮＤ型フラッシュメモリアレイと、行デコーダと、ペー
ジバッファと、列デコーダと、入力／出力コントローラと、状態レジスタと、連続ページ
読み込み不良ブロックアドレスレジスタと、コマンドレジスタと、アドレスレジスタと、
ルックアップテーブルレジスタと、制御論理回路とを含むＮＡＮＤ型フラッシュメモリチ
ップを提供する。行デコーダは、ＮＡＮＤ型フラッシュメモリアレイに結合される。ペー
ジバッファは、ＮＡＮＤ型フラッシュメモリアレイに結合される。列デコーダは、ページ
バッファに結合される。入力／出力コントローラは、列デコーダに結合される。状態レジ
スタは、入力／出力コントローラに結合される。連続ページ読み込み不良ブロックアドレ
スレジスタは、入力／出力コントローラに結合される。コマンドレジスタは、入力／出力
コントローラに結合される。アドレスレジスタは、入力／出力コントローラに結合される
。ルックアップテーブルレジスタは、入力／出力コントローラに結合される。制御論理回
路は、行デコーダ、列デコーダ、ページバッファ、状態レジスタ、連続ページ読み込み不
良ブロックアドレスレジスタ、コマンドレジスタ、アドレスレジスタおよびルックアップ
テーブルレジスタに結合される。
【００１２】
本発明の別の実施形態中、チップ上で実現されるＮＡＮＤ型フラッシュメモリアレイに
用いる不良ブロック管理方法を提供する。上述したＮＡＮＤ型フラッシュメモリアレイに
用いる不良ブロック管理方法は、ＮＡＮＤ型フラッシュメモリアレイを有するオンチップ
でルックアップテーブルレジスタを維持することと、第１不良ブロックの論理ブロックア
ドレスを利用してＮＡＮＤ型フラッシュメモリアレイにアクセスするユーザーアクセス期
間において、第１不良ブロックを検出することと、オンチップルックアップテーブルレジ
スタにアクセスして、第１不良ブロックの論理ブロックアドレスから第１置き換えブロッ
クの物理ブロックアドレスへのマッピングをＮＡＮＤ型フラッシュメモリアレイに保存す
ることとを含む。
【００１３】
本発明の別の実施形態中、チップ上で実現されるＮＡＮＤ型フラッシュメモリアレイの
アクセス方法を提供する。チップは、一部のＮＡＮＤ型フラッシュメモリアレイの読み込
み、プログラムおよび消去に使用される。上述したＮＡＮＤ型フラッシュメモリアレイの
アクセス方法は、ＮＡＮＤ型フラッシュメモリアレイにアクセスするための論理ブロック
アドレスを識別し、論理ブロックアドレスが、消去アクセス用に完成され、且つページア
ドレス部を補充して読み込みアクセスおよびプログラムアクセスに使用されることと、Ｎ
ＡＮＤ型フラッシュメモリアレイを有するオンチップのルックアップテーブルから、論理
ブロックアドレスの置き換えブロックに対応する物理ブロックアドレスへのマッピングを
獲得し、ＮＡＮＤ型フラッシュメモリアレイが標準の読み込み、プログラムおよび消去操
作を提供している時に、ルックアップテーブルがユーザーによりアクセス可能となり、ル
ックアップテーブルが、不良ブロックの論理ブロックアドレスの置き換えブロックの物理
ブロックアドレスへのマッピングを保存するために使用されることと、対応する置き換え
ブロックの物理ブロックアドレスを利用してＮＡＮＤ型フラッシュメモリアレイにアクセ
スすることとを含む。
【発明の効果】
【００１４】
以上のように、本発明の実施形態に基づき、チップ上で不良ブロックルックアップテー
ブルの機能を実現することができる。
【００１５】
本発明の上記および他の目的、特徴、および利点をより分かり易くするため、図面と併
せた幾つかの実施形態を以下に説明する。
【図面の簡単な説明】
【００１６】
【図１】ＮＡＮＤ型フラッシュメモリデバイスの機能ブロック概略図である。
【図２】ＮＡＮＤ型フラッシュメモリアレイの組織構造およびＮＡＮＤ型フラッシュメモリアレイに関連するルックアップテーブルの概略図である。
【図３】ルックアップテーブルを初期化する１つの実施方法のステップフローチャートである。
【図４】不良ブロックマッピングを利用したページ読み込み操作のステップフローチャートである。
【図５】不良ブロックマッピングを利用した連続ページ読み込み操作のステップフローチャートである。
【図６】不良ブロックマッピングを利用したアドレス指定可能な連続ページ読み込み操作のステップフローチャートである。
【図７】不良ブロックマッピングを利用したプログラム操作のステップフローチャートである。
【図８】不良ブロックマッピングを利用した消去操作のステップフローチャートである。
【図９】不良ブロック管理技術のステップフローチャートである。
【図１０】不良ブロックマッピングを利用した連続ページ読み込み操作の特定の実施方式のステップフローチャートである。
【図１１】図１０および図１２のステップフローチャートに基づくページバッファの操作状態の概略図である。
【図１２】不良ブロックマッピングを利用したアドレス指定可能な連続ページ読み込み操作の特定の実施方式のステップフローチャートである。
【発明を実施するための形態】
【００１７】
ソフトウェアまたはハードウェアにおいて、ホストデバイスまたは外部コントローラを
使用して不良ブロックルックアップテーブルを実現すると、ソフトウェア開発およびハー
ドウェアコストにおける負担を増やす可能性がある。しかしながら、ルックアップテーブ
ルの創作および使用に関する特定の機能は、メモリデバイス自体の「チップ上（on chip
）」で実現することによって、すなわち、同じダイの付加回路上で実現するか、あるいは
、メモリデバイスのコマンドおよび制御論理内でルックアップテーブルの機能を実現する
ことによっても、負担を減らすことができる。さらに、ルックアップテーブルのオンチッ
プ実現機能は、ルックアップテーブルの機能とその他のコマンドおよび制御論理の機能を
緊密に統合することにより、ＮＡＮＤ型フラッシュメモリが連続ページ読み込みコマンド
やその変形形態等の機能性をさらに強化した新しいコマンドを利用できるようにすること
ができる。
【００１８】
図１は、ＮＡＮＤ型フラッシュメモリデバイス２０の機能ブロック概略図である。上述したＮＡＮＤ型フラッシュメモリデバイス２０は、ＮＡＮＤ型フラッシュアレイ４０と、関連するページバッファ３８とを含む。ＮＡＮＤ型フラッシュアレイ４０は、ワード線（列（column））と、ビット線（行（row））と含み、ユーザーアドレス指定可能領域４２、冗長ブロック領域４４およびルックアップテーブル情報ブロック４６で構成される。ＮＡＮＤ型フラッシュメモリデバイス２０は、メモリのプログラム、消去および読み込みをサポートするためのその他の異なる回路、例えば、行デコーダ３４、列デコーダ３６、入力出力制御２２、１つまたは複数の状態レジスタ２３、１つまたは複数の連続ページ読み込み（continuous page read, CPR）不良ブロックアドレスレジスタ２４、コマンドレジスタ２５、アドレスレジスタ２６、ルックアップテーブルレジスタ２７、制御論理３０、ＣＰＲ不良ブロック論理３１、ＣＰＲ不良ブロックレジスタ３２および高電圧発生装置３３を含んでもよい。行デコーダ３４は、ユーザー制御により（または、ＮＡＮＤ型フラッシュメモリデバイス２０の内部制御により）ユーザーアドレス指定可能領域４２の列を選択することができ、且つＮＡＮＤ型フラッシュメモリデバイス２０の内部制御により冗長ブロック領域４４およびルックアップテーブル情報ブロック４６の列を選択することができる。上述したＮＡＮＤ型フラッシュメモリデバイス２０は、任意の必要な形式で実装することができ、且つ従来のＮＡＮＤ型フラッシュメモリデバイス・インターフェース等の任意の種類のインターフェースを含むことができる。図１の制御論理３０は、例示的に、マルチ入力出力ＳＰＩインターフェースを含むＳＰＩとＱＰＩプロトコルにより実現される。ＱＰＩおよびＳＰＩインターフェースおよびメモリアレイに関連する回路のその他の詳細に関しては、２００９年７月７日付で発行されたJigour等による米国特許出願第７，５５８，９００号、および２０１１年１月１３日付で中華民国台湾新竹市のウィンボンドエレクトロニクス株式会社により公開されたW25Q64DW：“SpiFlash1.8V 64M-Bit Serial Flash Memory with Dual/Quad SPI& QPI”の予備改訂Ｃを参照することができ、以上の特許は全文を引用する形で本文に記載する。
【００１９】
ページバッファ３８は、例示的に、１ページデータレジスタ（図示せず）と、１ページ
キャッシュレジスタ（図示せず）と、データレジスタからキャッシュレジスタにデータを
コピーする１ページ伝送ゲートとを含む。本発明は、データレジスタおよびキャッシュレ
ジスタのラッチの型式を限定しないが、例示的なラッチは、背中合わせに（back-to-back
）接続されたインバータを利用して実現される。本発明は、伝送ゲートの形式を限定しな
いが、本実施形態において、上述した伝送ゲートは、ＣＭＯＳ伝送ゲートにより実現され
る。本発明は、データレジスタおよびキャッシュレジスタに必要な数量を制限しないが、
例えば、伝送ゲートの回線接続およびデータ伝送の制御操作に基づいて必要な数を決定す
ることができる。例を挙げて説明すると、データレジスタおよびキャッシュレジスタは、
それぞれの部分によって構成され、且つ対応する制御線により制御された伝送ゲートのグ
ループを利用して交互に操作することができる。ページバッファ３８は、同じ制御信号を
それぞれの伝送ゲート制御線に印加する従来の方法でデータレジスタおよびキャッシュレ
ジスタを操作するか、あるいは、適切に時間調整された制御信号を伝送ゲート制御線に印
加する交互操作方式でデータレジスタおよびキャッシュレジスタを操作することができる
。ここでは、例示的に、２つの部分により１つのページを実現し、且つ１つのページを２
Ｋバイトとする。伝送ゲートの半ページ（１Ｋ）が１本の制御線で制御され、別の半ペー
ジ（１Ｋ）が別の１本の制御線で制御されるため、データレジスタおよびキャッシュレジ
スタは、２つの半ページの部分に整理される。上述した２つの部分の操作は交互に操作さ
れるため、２つの部分により実現されたページバッファ３８は、“ピンポン”バッファ（
ping pong buffer）とみなすことができる。ＥＣＣ回路は、キャッシュレジスタの内容上
でＥＣＣ計算を行うために使用することができる。ページバッファ３８、ＥＣＣ回路、お
よびページバッファ３８とＥＣＣ回路の操作に関するその他の詳細に関しては、２０１２
年５月４日付けでGupta等により出願された米国特許出願第１３／４６４，５３５号（“M
ethod and Apparatus for Reading NAND Flash Memory”）を参照することができ、以上
の特許は全文を引用する形で本文に記載する。上述したデータレジスタとキャッシュレジ
スタを複数の部分に整理し、且つ各部分においてＥＣＣを行う方法は例示的な実施形態で
あるため、その他の技術も必要に応じて使用可能である。
【００２０】
ＮＡＮＤ型フラッシュメモリデバイス２０は、連続ページ読み込み操作および単一平面
ＮＡＮＤ構造のオンチップ誤り訂正等を含む各種読み込み操作を行うために構成および操
作されるが、上述した構造は単なる例であり、上述した構造の関連する変形形態も本発明
の範囲を離脱しないものとする。本実施形態において、全文のページ容量は２ＫＢを例と
したが、本発明は上述したページおよびブロックの容量を限定しない。ここでは、説明を
簡潔にするため、単一平面構造により説明を行ったが、本開示は多平面構造も同様に適用
可能である。
【００２１】
図１は、また、ＳＰＩインターフェースに用いる制御信号ＣＳ／、ＣＬＫ、ＤＩ、ＤＯ
、ＷＰ／、ＨＯＬＤ／を示したものである。標準ＳＰＩフラッシュインターフェースは、
制御信号ＣＳ／（チップ選択‐相補）、ＣＬＫ（クロック）、ＤＩ（シリアルデータ‐入
力）とＤＯ（シリアルデータ‐出力）、およびオプションの信号ＷＰ／（ライトプロテク
ト‐相補）とＨＯＬＤ／（保持‐相補）を提供する。標準ＳＰＩインターフェースにおけ
る１ビットシリアルデータバスは、簡単なインターフェースを提供するが、読み込みスル
ープットはやはり制限される。したがって、読み込みスループットを増加させるため、多
ビットＳＰＩインターフェースがデュアルスループット（２ビットインターフェース）お
よび／またはクワッドスループット（４ビットインターフェース）をさらにサポートする
。図１は、また、４つのピンの機能を選択的に再定義することによって、デュアルスルー
プットＳＰＩおよびクワッドスループットＳＰＩの操作に用いる別のデータバス信号、例
えば、Ｉ／Ｏ（０）、Ｉ／Ｏ（１）、Ｉ／Ｏ（２）およびＩ／Ｏ（３）を示したものであ
る。クワッドスループットＳＰＩ読み込み操作において、Ｉ／Ｏ（０）により１ビット標
準ＳＰＩインターフェースを用いて適切な読み込みコマンドを発することができるが、ア
ドレスおよびデータ出力に用いる後続のインターフェースは、クワッドスループット（例
えば、４ビットデータバス）に基づくものである。クワッドスループットＳＰＩの別の態
様では、Ｉ／Ｏ（０）により１ビット標準ＳＰＩインターフェースを用いて読み込みコマ
ンドおよびアドレスを提供するが、データ出力のための後続のインターフェースは、クワ
ッドスループット（例えば、４ビットデータバス）に基づくものである。アドレスの提供
とデータの読み込みの間において、任意に選択したダミークロックサイクルを使用しても
よい。標準ＳＰＩ読み込み操作における１ビットのデータの出力と比較して、クワッドス
ループットＳＰＩ読み込み操作は、１つのクロックサイクルで４ビットのデータを出力す
るため、クワッドスループットＳＰＩ読み込み操作は、４倍の読み込みスループットを提
供することができる。本発明は、クワッドスループットＳＰＩ読み込み操作を使用して説
明しているが、例えば、標準ＳＰＩ、デュアルスループットＳＰＩ、クワッド・ペリフェ
ラル・インターフェース（Quad Peripheral Interface, QPI）およびダブル転送速度（Do
uble Transfer Rate, DTR）読み込みモード等のその他の操作モードにも同様に適用する
ことができる。ＱＰＩプロトコルでは、完全なインターフェース（コマンド、アドレスお
よびデータ出力）は、４ビットに基づいて完了する。ＤＴＲプロトコルでは、下降および
上昇ＣＬＫエッジに出力データが提供され、下降ＣＬＫエッジにしか出力データが提供さ
れないシングル転送速度（Single Transfer Rate, STR）読み込みモードとは異なる。
【００２２】
不良ブロック管理
【００２３】
図２は、ＮＡＮＤ型フラッシュメモリアレイ１３０の組織構造およびＮＡＮＤ型フラッ
シュメモリアレイ１３０に関連するルックアップテーブル１２０の概略図である。ＮＡＮ
Ｄ型フラッシュメモリアレイ１３０は、ユーザーアドレス指定可能領域、冗長ブロック領
域およびルックアップテーブル情報領域の３つの領域を含む。ルックアップテーブル１２
０は、論理ブロックアドレスから物理ブロックアドレスへのマッピングを含み、上述した
マッピングは、不良ブロック管理に用いられる。図２を例に挙げると、製造プロセス中に
発見された不良ブロックの数をＮＡＮＤ型フラッシュメモリアレイ１３０の冗長ブロック
領域内のブロックと置き換える、つまり、ブロック５６（図示せず）は冗長ブロック領域
のブロック０により置き換えられ、ブロック２１４（図示せず）は冗長ブロック領域のブ
ロック１により置き換えられ、ブロック２１５（図示せず）は冗長ブロック領域のブロッ
ク２により置き換えられ、ブロック６４２（図示せず）は冗長ブロック領域のブロック３
により置き換えられ、ブロック７９２（図示せず）は冗長ブロック領域のブロック４によ
り置き換えられる。したがって、製造業者によって提供されるように、メモリは、１つの
使用されていない冗長ブロック５を有し、且つ１つの完全なアドレス指定可能メモリの１
０２４個のブロックを含む。
【００２４】
図２には図示していないが、製造業者は、不良ブロックを冗長ブロック領域内の全ての
ブロックと置き換えることができ、且つ不良ブロックをユーザーアドレス指定可能領域内
の一部のブロックと置き換えることもできる。ここで説明した技術は、この状況において
も応用可能である。
【００２５】
再度図２を参照すると、メモリ使用中に、ブロック１が機能しなくなり、次にブロック
５が、その次にブロック７が機能しなくなると仮定する。機能しなくなったブロックは、
ＮＡＮＤ型フラッシュメモリアレイ１３０内の有効なブロックにマッピングされることに
より、デバイスを継続して使用することができる。例を挙げて説明すると、不良ブロック
は、まず、冗長ブロック領域内の未使用ブロックにマッピングされ、続いて、ユーザーア
ドレス使用可能領域内の使用可能ブロックにマッピングされる。先に冗長ブロック領域に
マッピングすることにより、完全なユーザーアドレス指定可能メモリ負荷の時間をできる
だけ長く維持することができるが、任意の必要なマッピング方法は全てここで使用可能で
ある。図２に示すように、まず、不良ブロック１がまず冗長ブロック５にマッピングされ
、続いて、不良ブロック５がユーザーアドレス使用可能領域内のブロック１０２３にマッ
ピングされ、不良ブロックがユーザーアドレス使用可能領域内のブロック１０２２にマッ
ピングされた時、不良ブロック１が冗長ブロック５にマッピングされる。
【００２６】
本発明のルックアップテーブル１２０は、ルックアップテーブルレジスタ２７に構成さ
れ、制御論理３０およびマッピング論理２８に直接アクセスすることができる。ルックア
ップテーブルレジスタ２７は、小型で高速の揮発性メモリを用いて実現することができ、
例えば、ＳＲＡＭ（Static Random Access Memory）の容量は、ルックアップテーブルの
遅延と置き換えブロックに分配された不良ブロック数の折り合いに基づいて設計選択され
る。例を挙げて説明すると、ルックアップテーブルレジスタ２７は、２０個の不良ブロッ
クの論理ブロックアドレスと２０個の関連する置き換えブロックの物理ブロックアドレス
を保存するために設計される。ルックアップテーブルレジスタ２７は、チップの起動（po
wer-up）やリセット時に、ＮＡＮＤ型フラッシュメモリアレイ１３０のルックアップテー
ブル情報ブロックから読み込んだ論理ブロックアドレスおよび物理ブロックアドレスのデ
ータを書き込むことができる。ここで、ユーザーアドレス指定可能領域の不良ブロックは
全てマーキングされ、例えば、第１ページのスペア領域の非ＦＦｈデータを有する第１バ
イトにおいて、ブロックを読み込むことによりルックアップテーブル１２０内の論理ブロ
ックアドレスリストの正確性を確認することができる。
【００２７】
ルックアップテーブルレジスタ２７は、１つのレジスタとして示されているが、任意の
必要な方法で実現可能である。１つの実施形態において、ルックアップテーブルレジスタ
は、２つの独立した部分を用いて実現してもよく、そのうち１つの部分は、ユーザーがア
クセス可能な部分であり、この部分はユーザーアドレス指定可能領域に関連するマッピン
グ情報を含むことができるが、冗長ブロック領域に関連するマッピング情報を含まない。
また、もう１つの部分は、ＮＡＮＤ型フラッシュメモリにより内部で使用できる部分であ
り、この部分は、冗長ブロック領域に関連するマッピング情報を含むことができる。
【００２８】
図３は、ルックアップテーブルを初期化する１つの実施方法のステップフローチャート
であり、チップの起動またはリセット時にルックアップテーブルを作成するための初期化
プロセス２００を示した実施形態である。ルックアップテーブル情報ブロックのアドレス
は、内部で使用されるために提供され（ステップ２０２）、ルックアップテーブル情報ブ
ロックからルックアップテーブルレジスタにルックアップ情報を読み込むことによりルッ
クアップテーブルを作成するために用いられる（ステップ２０４）。
【００２９】
上述した方法を図２の実施形態に応用した時、開始配列（initiation sequence）は、
ルックアップテーブルが論理ブロックアドレスエントリのブロック５６、ブロック２１４
、ブロック２１５、ブロック６４２およびブロック７９２と、物理ブロックアドレスに対
応するＲＢＡブロック０、ＲＢＡブロック１、ＲＢＡブロック２、ＲＢＡブロック３およ
びＲＢＡブロック４（左から右に下向きの陰影線で表示）を有することになる可能性があ
る。これは、本実施形態において、製造業者がブロック５６、２１４、２１５、６４２お
よび７９２を不良ブロックとして表示し、上述した不良ブロックを冗長ブロック領域のブ
ロック０、１、２、３および４にマッピングし、且つこれらのマッピングした情報をルッ
クアップテーブル情報ブロック４６内に設置したためである。
【００３０】
図４、図５および図６は、それぞれ、ページ読み込みコマンド、高速連続ページモード
コマンドおよびアドレス指定可能な連続ページモードコマンドの３種の例示的なコマンド
の例示的なプロセスを示したものである。上述した読み込みコマンドの種類は、特定のＮ
ＡＮＤ型フラッシュメモリデバイスで同時に（ただし、必ずしも同時である必要はない）
実現することができる。ページ読み込みコマンドは、ページアドレスフィールドにおいて
指定されたアドレスにより、メモリ内の１ページを読み込む。高速連続ページ読み込みコ
マンドは、ページ読み込みコマンドの後に続き、且つこれらの指定されたアドレスからメ
モリのページの連続読み込みを開始する。高速連続ページ読み込みコマンドは、アドレス
フィールドを含まない。アドレス指定可能な連続ページ読み込みコマンドは、これらの指
定されたアドレスからメモリのページの連続読み込みを開始する。
【００３１】
図４に示すように、ページ読み込みコマンドを受信した時、ページ読み込みコマンドに
おいて指定されたページアドレスは、アドレスレジスタ２６に保存される（ステップ３０
２）。ページ読み込みプロセスは、置き換えブロックプロセスに続いて行われる。置き換
えブロックプロセスは、ルックアップテーブルレジスタ２７における検索に関連し、アド
レスレジスタ２６内のブロックアドレス部のアドレスがルックアップテーブルレジスタ２
７内の論理ブロックアドレスのいずれかに符合するかどうかを判断する（ステップ３０４
）。ルックアップテーブルレジスタ２７は、オンチップの小型で高速のＳＲＡＭであるた
め、制御論理３０を利用してローカルアクセスすることができ、そのため、読み込み時間
に大きな影響を与えずに上述した検索動作を素早く行うことができる。符合する検索結果
が発見されなかった時（ステップ３０４においてＮｏの時）、論理ブロックアドレスは、
ページバッファ３８にページを読み込むために使用される（ステップ３０８）。符合する
検索結果が発見された時（ステップ３０４においてＹｅｓの時）、置き換えの必要な不良
ブロックを表示して、アドレスレジスタ２６内の論理ブロックアドレスを置き換えブロッ
クの物理ブロックと置き換えることにより、必要なページを読み込む（ステップ３０６）
。必要なデータページをページバッファ３８に読み込んだ時（ステップ３０８）、上述し
たデータ上で誤り訂正手順を行い、それにより生じたＥＣＣビットを１つまたは複数の状
態レジスタに適切に設定する（ステップ３１０）。続いて、上述したページを出力し（ス
テップ３１２）、引き続きプロセス３１４を行う。
【００３２】
図５は、不良ブロックマッピングを利用した連続ページ読み込み操作のステップフロー
チャートである。図５は、基本的な連続ページ読み込みプロセス３２０を示したものであ
り、上述した連続ページ読み込みプロセス３２０は、不良ブロックマッピングと両立する
ことができ、且つ不良ブロック管理を含む。上述したプロセスは、基本的な連続ページ読
み込みプロセス３２０に基づいて定められる適切な初期条件が設定された（ステップ３２
２）後に繰り返し行われる。ＮＡＮＤ型フラッシュメモリデバイスが適切な初期条件を有
する時、連続ページ読み込みプロセス３２０は、実質的に、図面に示した方法で使用する
ことができる。ここで、連続ページ読み込みプロセス３２０では、前の操作方法に従って
適切な初期条件が生成されるが、適切な初期条件は、その他の異なる方法により作成され
てもよい。上述した前の操作方法は、例えば、コマンドの実行であり、高速連続ページ読
み込みコマンドのデコードを除いて、実行動作は遅延がない状況で開始されるため、この
場合、上述したコマンド実行操作は、高速連続ページ読み込み（fast continuous page r
ead，FCPR）とみなされる。例を挙げて説明すると、図４のページ読み込みコマンドがペ
ージデータを出力しないで終了した時、上述した初期条件を設定するために使用すること
ができる（ステップ３１２）。このステップは、アドレスレジスタ内に初期アドレス（上
述したプロセス３２０は、初期アドレス以外に収容されるアドレスに修正することができ
る）を残し、ＥＣＣ処理されたページバッファ内のデータを初期条件とするために使用さ
れる（ステップ３２２）。
【００３３】
続いて、ほぼ同時進行される３つの操作、すなわち、ページバッファの第１部分を出力
する操作（ステップ３３０）、ページバッファの第２部分でＥＣＣ計算を行う操作（ステ
ップ３３２）、および適切なルックアップテーブル手順を用いて次のデータページをペー
ジバッファに読み込む操作（ステップ３３４）を行う。上述したルックアップテーブル手
順は、例えば、図４のステップ３０４および３０６のように、不良ブロックの処理手順に
使用される。上述した次のデータページは、オンチップアドレスカウンター２９（図１）
によりアドレスレジスタ２６内のアドレスを増やすことによってアクセスすることができ
、その後、例えば、図４に示した置き換えブロックプロセスの方法で置き換えブロックプ
ロセスを行う（ステップ３０４および３０６を参照）。回路が複雑になり過ぎないよう、
置き換えブロックプロセスは、第１ページのアクセス時および各操作ステップの境界時に
のみ行う必要があり、さらに、損傷せずに各ページにアクセスする状況で置き換えブロッ
クプロセスを行う。ページ読み込みの後に続く連続読み込みの時に第１回目の繰り返しを
行う場合、ページバッファの第２部分でＥＣＣ計算（ステップ３３２）が余分なステップ
として行われるが、上述したプロセスに損傷を与えることはない。必要であれば、第１回
目の繰り返しが連続読み込み操作を行っている間に、連続読み込み操作をページバッファ
の第２部分でＥＣＣ計算を行うバイパス（bypass）のステップ（ステップ３３２）に修正
してもよい。
【００３４】
続いて、ほぼ同時進行される２つの操作、すなわち、ページバッファの第２部分を出力
する操作（ステップ３４０）およびページバッファの第１部分でＥＣＣ計算を行う操作（
ステップ３４２）を行う。完全なデータページが既に出力され、且つ状態レジスタ２３内
のＥＣＣビットが既に設定されていると、初段階の不良ブロック評価を行うことができる
（ステップ３５０）。注意すべきこととして、この時、必ずしもページの読み込みが完了
している必要はなく、必要であれば、前のステップ３３４の操作中に、もとの完了した全
てのページ読み込み操作を完了した一部のページ読み込み操作と置き換えてもよく、一部
のページ読み込みは、ページバッファの第２部分から出力する動作（ステップ３４０）と
ページバッファの第１部分でＥＣＣ計算を行う動作（ステップ３４２）をほぼ同時に進行
する操作としてもよい。
【００３５】
次に続く連続ページは、ステップ３３０、３３２および３３４から始まるステップを繰
り返し行うことによって、読み込まれ、出力される。連続読み込みは、例えば、クロック
およびチップの選択信号を中断するなど、任意の必要な方法で終了されるまで継続して行
われる。
【００３６】
初段階の不良ブロック評価（ステップ３５０）は、以下の実施方法により行うことができる。上述した評価は、ＣＰＲ不良ブロック論理３１、ＣＰＲ不良ブロックレジスタ３２および状態レジスタ２３内のＥＣＣビットにより行われる。ここで、２つのＥＣＣビットを使用して、非連続ページ読み込みエラー（００）、１つまたは複数の訂正可能なエラー（０１）、１つの訂正不可能な連続ページ読み込みエラー（１０）および１つ以上の訂正不可能な連続ページ読み込みエラー（１１）を表示するが、その他の周知の表示方法もここで適用してもよい。例えば、非連続ページ読み込みエラー（００）、１つまたは複数の訂正可能なエラー（０１）、１つの訂正不可能な連続ページ読み込みエラー（１０）および１つ以上の訂正不可能な連続ページ読み込みエラー（１１）を継続して追跡することのできる２ビットレジスタ等、必要な情報を維持できる適切な種類と容量のレジスタは全て、上述したＣＰＲ不良ブロックレジスタ３２とすることができる。ページバッファ３８内の完全なデータページで行ったＥＣＣ計算が完了した時、誤り訂正回路（図示せず）は、計算結果を状態レジスタ２３のＥＣＣビットに書き込む。上述した計算結果は、おそらく非エラー（００）、訂正可能なエラー（０１）または訂正不可能なエラー（１０）である。ＣＰＲ不良ブロック論理３１は、状態レジスタ２３内のＥＣＣビットをチェックし、ＣＰＲ不良ブロックレジスタ３２の数値を適切に調整するとともに、ＥＣＣビットが１つの訂正不可能なエラー（１０）を示した場合、ＣＰＲ不良ブロック論理３１は、論理ページアドレスをＣＰＲ不良ブロックアドレスレジスタ２４に書き込む。ＣＰＲ不良ブロック論理３１は、続いて、ＣＰＲ不良ブロックレジスタ３２の数値に基づいて、適切な数値を状態レジスタ２３のＥＣＣビットに書き込み、誤り訂正回路により前に状態レジスタ２３のＥＣＣビットに書き込んだ数値に上書きする（overwriting）。ＣＰＲ不良ブロックレジスタ３２は、ユーザーによる読み込みが可能であっても、または読み込みが不可能であってもよい。連続読み込み操作３２０がこの時に終了すると、ユーザーは、状態レジスタ２３を読み込むことにより、非連続ページ読み込みエラー（００）、１つまたは複数の訂正可能なエラー（０１）、１つの訂正不可能な連続ページ読み込みエラー（１０）および１つ以上の訂正不可能な連続ページ読み込みエラー（１１）が発生したかどうかを理解することができるとともに、ＣＰＲ不良ブロックアドレスレジスタ２４を読み込むことにより、不良ブロックを予備的に識別することもできる。ＣＰＲ不良ブロックアドレスレジスタ２４の容量が１つのブロックアドレスのみを保留するのに十分な大きさしかない場合、ＣＰＲ不良ブロックアドレスレジスタ２４は、任意の前ブロックアドレスを上書きして、最後の１つの予備的に識別した不良ブロックを含む。ＣＰＲ不良ブロックアドレスレジスタ２４の容量が複数のブロックアドレスを保留するのに十分な大きさである場合、ＣＰＲ不良ブロックアドレスレジスタ２４は、前ブロックアドレスを上書きしない状況で、レジスタの容量よりも小さい新しい不良ブロックを追加することができる。
【００３７】
不良ブロックマッピングと両立することができ、且つ不良ブロック管理を含むアドレス
指定可能な連続ページ読み込み（addressable continuous page read，ACPR）プロセス３
６０は、図６に示した通りである。図５の連続ページ読み込みプロセス３２０は、上述し
たＡＣＰＲプロセス３６０に組み込まれてもよく、上述したＡＣＰＲプロセス３６０は、
適切な初期条件を設定した後に繰り返し行われる。アドレス指定可能な連続ページ読み込
みの例において、上述した初期条件は、コマンドに提供された初期アドレスを含む。上述
した初期アドレスは、アドレスレジスタ２６に保存され（ステップ３６２）、図４のステ
ップ３０４および３０６等の不良ブロックプロセスに用いられる適切なルックアップテー
ブル手順を利用してデータページをページバッファに読み込む（ステップ３６４）。続い
て、ページバッファの第１部分でＥＣＣ計算を行う（ステップ３６６）。その後、プロセ
スは、図に示した通り、ステップ３７０、３７２、３７４、３８０、３８２および３９０
を繰り返し実行する方法で継続して行われる。上述したステップ３７０、３７２、３７４
、３８０、３８２および３９０は、図５のステップ３３０、３３２、３３４、３４０、３
４２および３５０に対応する。
【００３８】
図７は、プログラミングプロセスの例を示したものである。まず、ページプログラムコ
マンドを受信する（ステップ４００）。ページプログラムコマンドは、ページアドレスフ
ィールドを含み、プログラムしようとするページアドレスは、ページアドレスフィールド
から獲得して、アドレスレジスタ２６に設置することができる。続いて、プログラミング
プロセスは、ルックアップテーブルレジスタ２７を検索することにより、アドレスレジス
タ２６内のアドレスがルックアップテーブルレジスタ２７内の論理ブロックアドレスのい
ずれかに符合するかどうかを判断する（ステップ４１０）。ルックアップテーブルレジス
タ２７は高速のＳＲＡＭであるため、つまり、制御論理３０はローカルアクセスを行うこ
とができるため、プログラム時間に大きな影響を与えずに上述した検索操作を素早く行う
ことができる。符合する検索結果が発見されなかった場合（ステップ４１０でＮｏの時）
、論理ブロックアドレスを用いてメモリのページをプログラムする（ステップ４３０）。
符合する検索結果が発見された場合（ステップ４１０でＹｅｓの時）、不良ブロックを表
示し、且つアドレスレジスタ２６内の論理ブロックアドレスを置き換えブロックの物理ブ
ロックアドレスと置き換えることにより（ステップ４２０）、必要なページをプログラム
する（ステップ４３０）。一度正確なページアドレスを獲得すると、実際のページプログ
ラミングプロセス（ステップ４３０）およびプログラムエラーのチェックプロセス（ステ
ップ４４０）を任意の必要な方法で行うことができる。１つの実行可能なプログラム検証
操作技術を例とすると、一般的に、状態レジスタにパス／フェイルビット（pass/fail bi
t）を設定することができる。プログラムエラーのチェック後、上述したプログラム検証
操作は、必要に応じて不良ブロック管理を行うことができる（ステップ４５０）（図９を
参照）。一度任意の方法で不良ブロック管理操作が完了すると、残りのメモリ操作が継続
され、プロセス４６０が行われる。
【００３９】
図８は、消去プロセスの例を示したものである。まず、ブロック消去コマンドを受信す
る（ステップ５００）。ブロック消去コマンドは、ブロックアドレスフィールドを含み、
消去しようとするブロックアドレスは、ブロックアドレスフィールドから獲得して、アド
レスレジスタ２６に設置することができる。続いて、ブロック消去プロセスは、ルックア
ップテーブルレジスタ２７を検索することにより、アドレスレジスタ２６内のアドレスが
ルックアップテーブルレジスタ２７内の論理ブロックアドレスのいずれかに符合するかど
うかを判断する（ステップ５１０）。ルックアップテーブルレジスタ２７は高速のＳＲＡ
Ｍであるため、つまり、制御論理３０はローカルアクセスを行うことができるため、消去
時間に大きな影響を与えずに上述した検索操作を素早く行うことができる。符合する検索
結果が発見されなかった場合（ステップ５１０でＮｏの時）、論理ブロックアドレスは、
ブロックの消去に用いることができる（ステップ５３０）。符合する検索結果が発見され
た場合（ステップ５１０でＹｅｓの時）、不良ブロックを表示し、且つアドレスレジスタ
２６内の論理ブロックアドレスを置き換えブロックの物理ブロックアドレスと置き換える
ことにより（ステップ５２０）、ブロックを消去する（ステップ５３０）。一度正確なブ
ロックアドレスを獲得すると、実際のブロック消去プロセス（ステップ５３０）およびブ
ロック消去エラーのチェックプロセス（ステップ５４０）を任意の必要な方法で行うこと
ができる。１つの実行可能な消去検証操作技術を例とすると、一般的に、状態レジスタに
パス／フェイルビットを設定することができる。消去エラーのチェック後、上述した消去
検証操作は、必要に応じて不良ブロック管理を行うことができる（ステップ５５０）（図
９を参照）。一度任意の方法で不良ブロック管理操作が完了すると、残りのメモリ操作が
継続され、プロセス５６０が行われる。
【００４０】
図９は、不良ブロック管理の例を示したものであり、多種の異なる方法を利用して行う
ことができる。例を挙げて説明すると、上述した置き換えブロックを分配するためのプロ
セスは、ホストまたはコントローラによりユーザーが制御する、ホストまたはコントロー
ラにより不良ブロックマーキングに応じて半自動的に制御する、およびＮＡＮＤ型フラッ
シュメモリデバイスの制御論理により自動的に制御することができる。
【００４１】
不良ブロック管理は、不良ブロックを検査し（ステップ６１０）、不良ブロックを置き
換えるかどうかを決定する（ステップ６２０）ことにより開始される。ユーザー制御プロ
セスまたは半自動プロセスの例について説明すると、不良ブロックを検査する操作および
不良ブロックを置き換えるかどうかを決定する操作は、いずれもホストまたはコントロー
ラを介してユーザーにより行われる。自動プロセスの例について説明すると、不良ブロッ
クを検査する操作および不良ブロックを置き換えるかどうかを決定する操作は、ＮＡＮＤ
型フラッシュメモリデバイスの制御論理により実現される。読み込み操作について説明す
ると、読み込み操作は、状態レジスタ自体の数値に基づいて、ＥＣＣビットを読み込む（
ユーザー制御プロセスおよび半自動プロセスの例に対して）、または検査（自動プロセス
の例に対して）する。可能なＥＣＣビットの読み込みまたは検査結果は、例えば、エラー
なし、訂正されたエラー、訂正不可能なエラーおよび複数の訂正不可能なエラー（連続ペ
ージ読み込みに対して）を含む。複数のビットの訂正を行う時、可能なＥＣＣビットの読
み込みまたは検査結果は、さらに、訂正されたビット数を含むか、あるいは、訂正された
最大ビット数を単に表示することを含む。ＥＣＣビットの読み込みまたは検査結果に応じ
て行われる動作は、例えば、結果がエラーなしおよび訂正されたエラーであり、且つ上述
した訂正されたエラーが訂正可能な最大ビット数またはいくつかの副次的なしきい値より
も小さい場合、いかなる動作も行われない。結果が訂正されたエラーであり、且つ訂正さ
れたエラーが訂正可能な最大ビット数またはいくつかの副次的なしきい値である場合、ブ
ロック置き換え操作が行われる。繰り返し読み込みが成功し、ブロック置き換え操作が訂
正不可能なエラーに従って行われた場合、繰り返し読み込みが行われる。ページプログラ
ムおよびブロック消去操作について説明すると、状態レジスタ内の１つまたは複数のパス
／フェイルビットに基づいて、状態レジスタの読み込み（ユーザー制御プロセスおよび半
自動プロセスの例に対して）または検査（自動プロセスの例に対して）を決定する。状態
レジスタの読み込みまたは検査結果に応じて行われる動作は、例えば、状態レジスタが“
パス”を表示した場合、いかなる動作も行われず、状態レジスタが“フェイル”を表示し
た場合、プログラムまたは消去の操作を繰り返す。また、状態レジスタが“フェイル”を
表示した場合、ブロックの置き換えによりプログラムまたは消去の操作を繰り返す。
【００４２】
連続ページ読み込み操作の目的は一般的な状況で大量のページを出力することであるが
、１つの連続ページ読み込み操作期間中に複数の不良ブロックが発見される状況は、比較
的少ない。したがって、連続ページ読み込みＣＰＲビットレジスタ２４は、１つのページ
アドレスの容量のみを有していればよいが、必要に応じて複数のページアドレスの容量を
有してもよい。連続ページ読み込み操作については、不良ブロックを検査する操作（ステ
ップ６１０）および当該不良ブロックを置き換えるかどうかを決定する操作（ステップ６
２０）は、ＥＣＣビットの検査に関連する。必要であれば、連続ページ読み込み操作は、
置き換えブロックを用いて繰り返してもよい。もし別の不良ブロックが予備的に認識され
た場合、不良ブロック管理を繰り返し行う。
【００４３】
不良ブロックを置き換える場合（ステップ６２０でＹｅｓの時）、置き換えブロックを
選択する（ステップ６３０）。ユーザー制御プロセスの例について説明すると、ユーザー
は、適切なコマンドを発信して不良ブロックの論理ブロックアドレスを置き換えブロック
の物理ブロックアドレスにマッピングする。アドレスマッピングコマンドは、１つの適切
な種類のコマンドであり、このアドレスマッピングコマンドは、ユーザーがユーザーアド
レス指定可能領域４２において置き換えブロックの物理ブロックアドレスを決定し、且つ
不良ブロックの論理ブロックアドレスと選択された置き換えブロックの物理ブロックアド
レスのコマンドを指定するものである。不良ブロックマーキングコマンド自体は、もう１
つの適切な種類のコマンドである。半自動プロセスおよび自動プロセスの例について説明
すると、制御論理は、任意の適切なコマンドに応じて置き換えブロックを選択することが
できる。専用のコマンドを使用して置き換えブロック選択操作を起動することができるが
、置き換えブロック選択操作は、その他の種類のコマンドにより起動してもよい。例えば
、本分野において通常用いられる不良ブロックマーキングコマンドを置き換えブロック選
択の起動に適したコマンドとする。従来の不良ブロックマーキングの要求は既にルックア
ップテーブル情報ブロック４６（図１）に取って代わっているが、既存のシステムに上述
した不良ブロックマーキングコマンドを残しても、いかなる損傷も生じない。しかしなが
ら、上述した不良ブロックマーキングコマンドを変更して、追加的に不良ブロックの論理
ブロックアドレスを冗長ブロック領域４４の使用可能ブロックにマッピングすることによ
り、ユーザーが冗長ブロック領域４４から提供された使用可能ブロックにおいて置き換え
ブロックの論理ブロックアドレスを決定する要求を消去することができる。冗長ブロック
領域４４およびユーザーアドレス指定可能領域４２は、いずれもＮＡＮＤ型フラッシュメ
モリデバイスの制御論理にアクセスすることができるため、置き換えブロックは、ＮＡＮ
Ｄ型フラッシュアレイ４０の冗長ブロック領域４４からのみ選択するか、あるいは、ＮＡ
ＮＤ型フラッシュアレイ４０の冗長ブロック領域４４とユーザーアドレス指定可能領域４
２のうちの１つから選択してもよい。任意の必要な技術は全て、次の使用可能な置き換え
ブロックの識別に用いることができるため、例えば、置き換えブロックアドレスレジスタ
（図示せず）を用いてもよい。上述した置き換えブロックアドレスレジスタは、次の使用
可能な置き換えブロックの物理ブロックアドレスを含む。製造業者は、最初に、次に使用
可能な置き換えブロックアドレスを生成して、それをルックアップテーブル情報ブロック
４６に保存することができる。ルックアップテーブル情報ブロック４６は、デバイスの起
動時に置き換えブロックアドレスレジスタ内に読み込んで保存することができ、且つデバ
イス操作中に更新することができる。使用可能な置き換えブロックは、任意の実行可能な
方法により、例えば、冗長ブロック領域４４内で低アドレスから高アドレスへ、続いてユ
ーザーアドレス指定可能領域４２内で高アドレスから低アドレスへ向けて、使用可能な置
き換えブロックを決定することができる。置き換えブロックの目的のため、ユーザーアド
レス指定可能領域４２内のブロックを置き換えブロックとして保留することができ、ある
いは、１つ１つのブロックをチェックして、各ブロックが“使用可能”として選択される
前に使用されないよう確保することができる。
【００４４】
不良ブロックの論理ブロックアドレスおよび置き換えブロックの論理ブロックアドレス
の両方がいずれも既知の状況では、それに基づいて、ルックアップテーブルレジスタ２７
およびルックアップテーブル情報ブロック４６を更新することができる（ステップ６４０
）。更新操作は、ユーザー制御プロセスの例において、アドレスマッピングコマンドまた
は不良ブロックマーキングコマンドにより起動することができ、半自動プロセスの例にお
いては、不良ブロックマーキングコマンドにより起動することができ、自動プロセスの例
においては、制御論理により起動することができる。後続のメモリアクセスを正確にする
ため、ルックアップテーブルレジスタ２７は、更新を提示しなければならない。既に更新
されたルックアップテーブルが電源中断時に失われないよう、ルックアップテーブル情報
ブロック４６も合理的に更新を提示しなければならない。更新操作は、任意の必要な方法
により行うことができ、例えば、個別に更新操作を行っても、あるいは、ルックアップテ
ーブルレジスタ２７を更新した後に続いてルックアップテーブルレジスタ２７のルックア
ップテーブルをルックアップテーブル情報ブロック４６に書き込む方法で更新操作を行っ
てもよい。
【００４５】
続いて、不良ブロックから置き換えブロックにデータを転送する（ステップ６５０）。
例を挙げて説明すると、ルックアップテーブルレジスタ２７において、各置き換えブロッ
クに対して２つのマッピングエントリを設置し、１つ目のマッピングエントリは、ユーザ
ーアドレス指定可能領域における不良ブロック論理ブロックアドレスの有効な置き換えブ
ロックへの経路とすることができ、２つ目のマッピングエントリは、論理ブロックアドレ
スの対応する有効な置き換えブロックから対応する不良ブロックへの経路とすることがで
きる。２つ目のマッピングエントリは、不良ブロックのアクセスを提供して、不良ブロッ
クから有効な置き換えブロックにデータを転送する。ユーザー制御プロセスの例において
、上述した転送操作は、アドレスマッピングコマンドまたは不良ブロックマーキングコマ
ンドにより起動することができ、半自動プロセスの例において、上述した転送操作は、不
良ブロックマーキングコマンドにより起動することができ、自動プロセスの例において、
上述した転送操作は、制御論理により起動することができる。さらに、プロセス６６０を
継続して行うことができる。ブロック転送操作の後、不良ブロックへのアクセスを回避す
ることができる。
【００４６】
ユーザーアドレス指定可能領域４２において置き換えブロックを選択した場合、ユーザ
ーは、読み込み、プログラムまたは消去に用いる置き換えブロックにアクセスしないよう
注意しなければならない。ユーザー制御プロセスの例では、マッピング操作を制御するユ
ーザーが、読み込み、プログラムまたは消去に用いる置き換えブロックにアクセスしない
よう注意しなければならない。ユーザーは、ルックアップテーブルレジスタ２７を読み込
むことにより、特定のアクセス操作が置き換えブロックにアクセスする操作であるかどう
かを判断することができる。また、ＮＡＮＤ型フラッシュメモリデバイスの制御論理は、
特定のアクセス操作が置き換えブロックへのアクセス操作であるかどうかを自動的に判断
することができる。例を挙げて説明すると、ＮＡＮＤ型フラッシュメモリデバイスは、コ
マンドを実行する前に、まず、コマンドにおいて指定された１つまたは複数のアドレスが
ルックアップテーブルレジスタ２７内の物理ブロックアドレスに符合するかどうかを検索
する。コマンドにおいて指定されたアドレスがいずれもルックアップテーブルレジスタ２
７内の物理ブロックアドレスに符合しない場合、コマンドを実行できることを示す。コマ
ンドにおいて指定されたアドレスがルックアップテーブルレジスタ２７内の物理ブロック
アドレスに符合する場合、ユーザーが直接置き換えブロックにアクセスしようとしている
ことを示すため、コマンドは実行されない。
【００４７】
ＥＣＣを利用した連続読み込みおよび不良ブロック管理
【００４８】
“連続読み込み”は、ここでは一種のメモリ読み込み操作を示し、上述した連続読み込
みの目的は、各ページにおいてページ読み込みコマンドを繰り返し送信する必要がなく、
ページ単位（page-by-page）でメモリアレイの一部または全部を読み込めることである。
図１に示したＳＰＩインターフェースを有するＮＡＮＤ型フラッシュメモリ２０の例にお
いて、ＮＡＮＤ型フラッシュメモリ２０は、制御信号の高レベルから低レベルへの遷移に
より起動し、続いて連続ページ読み込みコマンドを送信することができる。本実施形態に
おいて、１つの連続ページ読み込みコマンドの送信は、連続ページを順番に読み込んで、
処理過程が停止するまで出力することができる。連続ページ読み込みは、任意の必要な方
法により停止可能である。例えば、連続ページ読み込みは、クロックの制御信号ＣＬＫを
停止してから、制御信号ＣＳ／を低レベルから高レベルに遷移する方法により、連続ペー
ジ読み込みをクロックの制御信号ＣＬＫに基づいて停止することができる。また、連続ペ
ージ読み込みコマンドは、その他の独立した信号に基づいて、予め設定された、または指
定された数のページを読み込んだ後、あるいは任意の必要な方法により、停止することが
できる。
【００４９】
ＮＡＮＤ型フラッシュメモリアレイに用いるページバッファを構成および操作すること
により、連続ページ読み込み中に出力データの隙間および不連続を消去することができる
。上述した連続ページ読み込み中に出力データの隙間および不連続を消去する技術につい
ての説明は、２０１２年５月４日付でGupta等により出願された米国特許出願第１３／４
６４，５３５号（“Method and Apparatus for Reading NAND Flash Memory”）を参照す
ることができ、以上の特許は全文を引用する形で本文に記載する。“アドレス指定可能な
連続ページ読み込み”は、ここではGupta等により出願された特許の“連続ページ読み込
み”に対応し、“高速連続ページ読み込み（fast continuous page read）”は、ここで
はGupta等により出願された特許の“修正連続ページ読み込み（modified continuous pag
e read）”に対応する。
【００５０】
制御論理（例えば、図１の制御論理３０）によりローカルアクセスを行うことのできる
オンチップ高速ルックアップテーブルレジスタ（例えば、図１のルックアップテーブルレ
ジスタ２７）を追加する利点は、置き換えブロックに直面した時に、ルックアップテーブ
ルレジスタが、明らかなページ読み込み時間の遅延がない状況で、ＮＡＮＤ型フラッシュ
メモリから不良ブロック管理を利用して連続ページ読み込みを起動できることであるため
、見開きページやブロック境界の隙間または不連続を回避するのにさらに役立つ。
【００５１】
図１０は、ＥＣＣを利用して連続ページ読み込み操作を完了するのに適したページバッ
ファの構成および操作のステップフローチャートである。図１１に示した異なる連続操作
の概略図は、図１０に示した異なるステップに関連する。図１１に示した各操作に対応す
る持続時間は単なる例であり、本発明は操作の持続時間を限定しない。
【００５２】
図１１は、データバス８１０、ＮＡＮＤ型フラッシュアレイ８５０およびページバッフ
ァを示したものである。ここで、上述したページバッファは、データレジスタ８４０を含
む例示的実施形態により実現される。データレジスタ８４０は、２つの部分からなるデー
タレジスタ部ＤＲ‐０およびＤＲ‐１を含む。上述したページバッファは、また、キャッ
シュレジスタ８３０を含み、キャッシュレジスタ８３０は、２つの部分からなるキャッシ
ュレジスタ部ＣＲ‐０およびＣＲ‐１を含む。したがって、ページバッファは、キャッシ
ュレジスタ部ＣＲ‐０およびデータレジスタ部ＤＲ‐０を含む第１部分と、キャッシュレ
ジスタ部ＣＲ‐１およびデータレジスタ部ＤＲ‐１を含む第２部分を有するものとみなす
ことができる。分割されていないページバッファと異なる点は、分割されていないページ
バッファは１組の制御信号しか必要としないが、ページバッファの２つの部分は２組の制
御信号を必要とすることである。また、ページバッファは、ここでは２つの部分で構成さ
れた構造を例として連続読み込み操作をサポートするが、関連する変形形態は、ユーザー
にとって明白（transparent）である。２ＫＢの標準ページ容量に対してプログラミング
操作を完了させることができ、例えば、ページ読み込み操作が完了した後にキャッシュレ
ジスタからページデータを読み込む標準読み込み操作も２ＫＢの標準ページ容量で完了さ
せることができる。このように内部構成が２つの部分に分かれたページバッファは、特に
連続ページ読み込み操作に用いるのに適しており、上述したページバッファの内部分割が
２つの部分に分かれる方法で実現された場合も、ページバッファの内部分割は、ユーザー
にとって明白である。
【００５３】
図１１は、また、誤り訂正回路８２０を例示的に示したものであり、論理上、誤り訂正
回路部ＥＣＣ‐０およびＥＣＣ‐１を有するものとみなすことができる。誤り訂正回路部
ＥＣＣ‐０は、キャッシュレジスタ部ＣＲ‐０の内容の誤り訂正を提供し、誤り訂正回路
部ＥＣＣ‐１は、キャッシュレジスタ部ＣＲ‐１の内容の誤り訂正を提供する。説明を簡
潔にするため、２つの異なる誤り訂正回路部ＥＣＣ‐０およびＥＣＣ‐１は、それぞれキ
ャッシュレジスタ部ＣＲ‐０およびＣＲ‐１と連結するよう示してあるが、単一のＥＣＣ
ブロックを用いてキャッシュレジスタ部ＣＲ‐０およびＣＲ‐１と同時に連結してもよい
。
【００５４】
高速連続読み込みコマンドは、アドレスフィールドを含まず、アドレスフィールドを含
む前のコマンド、例えば、ページ読み込みコマンドに基づく。図１０および図１１を参照
すると、ページ読み込みコマンド７００は、初期ページ８５２のアドレスを提供し、初期
ページ８５２のアドレスは、データレジスタ８４０内に読み込まれ、保存される（ステッ
プ７１０）。例を挙げて説明すると、ページ８５２からデータレジスタＤＲ‐０およびＤ
Ｒ‐１に２ＫＢのデータを転送する。ページ８５２は、配列のページ‐０とみなすことが
できる。毎回１ＫＢをデータレジスタＤＲ‐０およびＤＲ‐１に転送する操作は、同時に
行っても、あるいは同時に行わなくてもよい。ページ読み込み操作の時間は、例えば、２
０μｓである。
【００５５】
続いて、図１０および図１１に示すように、データレジスタ８４０のデータをキャッシ
ュレジスタ８３０に転送し（ステップ７２０）、キャッシュレジスタ８３０内のページデ
ータに対してＥＣＣ計算を行う（ステップ７３０）。データレジスタ８４０からキャッシ
ュレジスタ８３０への転送時間は、設計選択において決まるが、通常、約１μｓ〜約３μ
ｓである。誤り訂正回路８２０の訂正が完了するのに必要な時間は、ＥＣＣアルゴリズム
の選択、内部データバス、オンチップタイミング発振器周期およびその他の設計要素によ
って決まる。例を挙げて説明すると、いくつかの物理設計は、キャッシュレジスタ８３０
の各キャッシュレジスタ部ＣＲ‐０およびＣＲ‐１に対して単一のＥＣＣ回路ブロックを
同時に使用することができ、各キャッシュレジスタ部ＣＲ‐０およびＣＲ‐１は、例えば
、１８μｓの時間を費やして誤り訂正を行うことができるため、誤り訂正回路８２０は、
約３６μｓの時間内で訂正を完了することができる。
【００５６】
ページ読み込みは、出力データを計時しない状態で終了し、連続ページ読み込みコマン
ド７４０を続けて行う。図１０および図１１に示すように、ここではほぼ同時に複数の操
作を進行することができる。上述したほぼ同時に進行する複数の操作のうちの１つは、キ
ャッシュレジスタ部ＣＲ‐０内のページ‐０のデータをデータバス８１０に送信すること
により、データバス８１０を介してデータを出力する操作（ステップ７５０）に関し、ペ
ージ‐０のデータは、既にＥＣＣ計算が行われたものである。データバス８１０から出力
ポートへの経路は図示していないが、このような経路は、本分野において通常の知識を有
する者にとって周知である。
【００５７】
上述したほぼ同時に進行する複数の操作のうちのもう１つは、データレジスタＤＲ‐１
内のページデータの一部をキャッシュレジスタ部ＣＲ‐１に転送して、キャッシュレジス
タ部ＣＲ‐１のページデータの一部に対してＥＣＣ計算を行う操作（ステップ７６０）に
関する。データレジスタＤＲ‐１からキャッシュレジスタ部ＣＲ‐１への転送時間は、設
計の選択において決まるが、通常、約１μｓ〜約３μｓである。例を挙げて説明すると、
誤り訂正回路部ＥＣＣ‐１は、約１２μｓ内で訂正を完了することができる。しかしなが
ら、キャッシュレジスタ部ＣＲ‐０のデータを送信する時間を２０μｓと仮定し、且つデ
ータレジスタ部ＤＲ‐１からキャッシュレジスタ部ＣＲ‐１への転送時間を２μｓと仮定
すると、誤り訂正回路部ＥＣＣ‐０およびＥＣＣ‐１は、設計により、１８μｓまたはさ
らに短い時間内に完了することができる。
【００５８】
上述したほぼ同時に進行する複数の操作のうちのさらにもう１つは、ＮＡＮＤ型フラッ
シュアレイ８５０から次の順番のページデータ８５４（ページ‐１）の２ＫＢページをデ
ータレジスタ部ＤＲ‐０およびＤＲ‐１に読み込む操作（ステップ７７０）に関する。ル
ックアップテーブル置き換えブロックの処理手順は、各アクセス操作において用いても、
あるいは、最初のアクセスおよびブロックを跨ぐ境界においてのみ用いてもよい。大部分
の転送は、ステップ７６０の操作と同時に進行されるが、データレジスタ部ＤＲ‐１のデ
ータをキャッシュレジスタ部ＣＲ‐１に転送してから開始される。
【００５９】
図１１に示した各操作は、ほぼ同時に進行されるが、全ての操作を同時に進行する必要
は  なく、本文で述べた教示に基づいて出力データの隙間およびその他の不連続を回避で
きさえすればよい。
【００６０】
続いて、図１０および図１１を参照すると、ここではほぼ同時に複数の操作を進行する
ことができる。上述したほぼ同時に進行する複数の操作のうちの１つは、キャッシュレジ
スタ部ＣＲ‐１内のページ‐０のデータをデータバス８１０に送信することにより、デー
タバス８１０を介してデータを出力する操作（ステップ７８０）に関し、ページ‐０のデ
ータは、既にＥＣＣ計算が行われたものである。クロック周波数を１００ＭＨｚと仮定す
ると、約２０μｓ内でキャッシュレジスタ部ＣＲ‐１のデータ（１ＫＢ）を送信すること
ができる。
【００６１】
上述したほぼ同時に進行する複数の操作のうちのもう１つは、データレジスタＤＲ‐０
内のページデータの一部をキャッシュレジスタ部ＣＲ‐０に転送して、キャッシュレジス
タ部ＣＲ‐０のページデータの一部に対してＥＣＣ計算を行う操作（ステップ７９０）に
関する。この操作ステップは、実質的に、図１１の関連説明と同様に行われる。
【００６２】
連続ページ読み込み操作は、ステップ７５０に戻って継続して行われ、クロックおよび
制御信号ＣＳ／を停止することにより終了することができる。また、連続ページ読み込み
操作は、連続ページ読み込みコマンドを変更することにより、予め設定された数のページ
を読み込んだ後、または設計者が必要とする任意のその他の方法により終了することがで
きる。
【００６３】
連続ページ読み込みコマンドの利点は、ページまたはブロック境界において全てまたは
必要な部分のＮＡＮＤ型フラッシュアレイを読み込んだ時に、隙間または不連続がないこ
とである。この利点は、例えば、キャッシュレジスタ部ＣＲ‐０およびＣＲ‐１から交互
にデータを読み出すピンポン方式でデータを読み込むことにより実現される。
【００６４】
図１２は、ＥＣＣを利用してアドレス指定可能な連続ページ読み出し操作を完了するの
に適したページバッファの構成および操作を示すステップフローチャートである。図１２
に示した異なる連続操作の概略図は、図１１に示した異なるステップに関連する。
【００６５】
図１２に示すように、アドレス指定可能な連続ページ読み出しコマンドにおいて指定さ
れた初期ページ８５２（ページ‐０）をＮＡＮＤ型フラッシュアレイ１０５０からデータ
レジスタ８５０のデータレジスタ部ＤＲ‐０およびＤＲ‐１に転送する（ステップ９１０
）
【００６６】
続いて、図１１および図１２を同時に参照すると、データレジスタ８４０内の一部のペ
ージデータをキャッシュレジスタ８３０に転送し、キャッシュレジスタ部ＣＲ‐０内のペ
ージデータの一部に対してＥＣＣ計算を行う（ステップ９２０）。
【００６７】
アドレス指定可能な連続ページ読み出し操作は、基本的に、一般的に図１０のステップ
７５０、７６０、７７０、７８０および７９０に対応する図１２のステップ９３０、９４
０、９５０、９６０および９７０の通りである。ＥＣＣ計算が完了するまで、データは出
力に送信される準備ができていないため、ステップ９１０および９２０の操作は、初期遅
延を考慮する必要がある。この遅延は、約４０μｓと考えられる。反対に、高速連続ペー
ジ読み出しは、ユーザーがコマンド、アドレスおよび選択可能なダミークロックを提供し
た後すぐにデータを出力することができるため、高速連続ページ読み出しには遅延がない
。
【００６８】
本発明は既に実施形態により以上のように開示したが、本発明を限定するものではない
。本発明の実施形態において開示した内容に基づく変更および修正は全て可能であり、本
分野において通常の知識を有する者であれば、本特許文献を研究した後に、実施形態中の
各構成要素の置換および均等物を理解できるものとする。また、実施形態において提示し
た特定の数値は全て例であり、必要に応じて変更可能である。本発明の精神および範囲を
逸脱しない範囲では、実施形態中の各構成要素の置換および均等を含むいかなる変動およ
び修飾も全て本発明の範疇を離脱しないものとする。本発明の保護範囲は、後に添付する
特許請求の範囲の限定を基準とする。
【符号の説明】
【００６９】
２０    ＮＡＮＤ型フラッシュメモリデバイス
２２    出力入力制御
２３    状態レジスタ
２４    連続ページ読み込みアドレスレジスタ
２５    コマンドレジスタ
２６    アドレスレジスタ
２７    ルックアップテーブルレジスタ
２８    マッピング論理
２９    アドレスカウンター
３０    制御論理
３１    ＣＰＲ不良ブロック論理
３２    ＣＰＲ不良ブロックレジスタ
３３    高電圧発生装置
３４    行デコーダ
３６    列デコーダ
３８    ページバッファ
４０    ＮＡＮＤ型フラッシュアレイ
４２    ユーザーアドレス指定可能領域
４４    冗長ブロック領域
４６    ルックアップテーブル情報ブロック
１２０    ルックアップテーブル
１３０    ＮＡＮＤ型フラッシュメモリアレイ
２００    初期化手順
１００、２０２、２０４、２０６、３００、３０２、３０４、３０６、３０８、３１０
、３１２、３１４、３２０、３２２、３３０、３３２、３３４、３４０、３４２、３５０
、３６０、３６２、３６４、３６６、３７０、３７２、３７４、３８０、３８２、４００
、４１０、４２０、４３０、４４０、４５０、４６０、５００、５１０、５２０、５３０
、５４０、５５０、５６０、６００、６１０、６２０、６３０、６４０、６５０、６６０
、７００、７１０、７２０、７３０、７４０、７５０、７６０、７７０、７８０、７９０
、９００、９１０、９２０、９３０、９４０、９５０、９６０、９７０、    ステップ
７００    ページ読み込みコマンド
８１０    データバス
８２０    誤り訂正回路
８３０    キャッシュレジスタ
８４０    データレジスタ
８５０    ＮＡＮＤ型フラッシュアレイ
８５２    初期ページ
８５４    次のページデータ
ＣＲ‐０、ＣＲ‐１    キャッシュレジスタ部
ＤＲ‐０、ＤＲ‐１    データレジスタ部
ＥＣＣ‐０、ＥＣＣ‐１    誤り訂正回路部
【図１】
0005984989.tif 000002
【図２】
0005984989.tif 000003
【図３】
0005984989.tif 000004
【図４】
0005984989.tif 000005
【図５】
0005984989.tif 000006
【図６】
0005984989.tif 000007
【図７】
0005984989.tif 000008
【図８】
0005984989.tif 000009
【図９】
0005984989.tif 000010
【図１０】
0005984989.tif 000011
【図１１】
0005984989.tif 000012
【図１２】
0005984989.tif 000013