(57)【要約】【課題】ミラーリング書き込み時間を短縮する。【解決手段】実施形態に係わる不揮発性半導体メモリは、１チップ内に設けられる２つのメモリプレーンＰ１，Ｐ２を有する。２つのメモリプレーンＰ１，Ｐ２の各々は、メモリセルアレイ１１と、書き込みデータを一時的に記憶するデータレジスタ１２とを有する。制御回路２２は、ミラーリング書き込みモードのとき、２つのメモリプレーンＰ１，Ｐ２内のデータレジスタ１２に書き込みデータを同時に転送し、書き込み動作及びベリファイ動作をメモリプレーン毎に実行する手段を備える。【選択図】図１
2012119038.tif 000002
【特許請求の範囲】
【請求項１】
１チップ内に設けられる２つのメモリプレーンと、前記１チップ内に設けられ、前記２つのメモリプレーンに共有されるＩ／Ｏ回路と、前記１チップ内に設けられ、前記２つのメモリプレーンに対する書き込み及び読み出しを独立に制御する制御回路とを具備し、
前記２つのメモリプレーンの各々は、メモリセルアレイと、書き込みデータを一時的に記憶するデータレジスタとを有し、
前記制御回路は、
ミラーリング書き込みモードのとき、前記２つのメモリプレーン内の前記データレジスタに前記書き込みデータを同時に転送し、書き込み動作及びベリファイ動作をメモリプレーン毎に実行する手段と、
通常書き込みモードのとき、前記２つのメモリプレーンのうちの１つ内の前記データレジスタに前記書き込みデータを転送し、前記書き込み動作及び前記ベリファイ動作を実行する手段とを備える
ことを特徴とする不揮発性半導体メモリ。
【請求項２】
前記制御回路は、前記ミラーリング書き込みモードのとき、前記２つのメモリプレーン内の前記ベリファイ動作の結果の論理積を実行し、ステータスパス／ステータスフェイルの判断を行う手段をさらに備えることを特徴とする請求項１に記載の不揮発性半導体メモリ。
【請求項３】
前記制御回路は、読み出しモードのとき、前記２つのメモリプレーンのうちの一方から第１の読み出しデータを読み出し、前記第１の読み出しデータの訂正が失敗したときに前記２つのメモリプレーンのうちの他方から第２の読み出しデータを読み出し、前記第２の読み出しデータの訂正が失敗したときに、読み出し閾値をシフトさせて、再度、前記２つのメモリプレーンのうちの一方から第３の読み出しデータを読み出す手段を備えることを特徴とする請求項１に記載の不揮発性半導体メモリ。
【請求項４】
請求項１乃至３のいずれか１項に記載の不揮発性半導体メモリと、
前記不揮発性半導体メモリを制御するメモリコントローラと、
前記不揮発性半導体メモリと前記メモリコントローラとを接続するデータバスとを具備し、
前記メモリコントローラは、前記ミラーリング書き込みモード及び前記通常書き込みモードのうちの１つを選択するコマンド信号を前記不揮発性半導体メモリに転送し、
前記メモリコントローラから前記不揮発性半導体メモリへの前記書き込みデータの転送ビット幅は、前記ミラーリング書き込みモード及び前記通常書き込みモードで同じである
ことを特徴とする記憶装置。
【請求項５】
前記通常書き込みモードは、ユーザデータの保存時に選択され、前記ミラーリング書き込みモードは、前記ユーザデータ以外のデータの保存時に選択されることを特徴とする請求項４に記載の記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、不揮発性半導体メモリ及び記憶装置(storage device)に関する。
【背景技術】
【０００２】
不揮発性半導体メモリ、例えば、ＮＡＮＤフラッシュメモリは、微細化などの原因により、書き込み時にエラービットが発生する確率が高い。その対策として、書き込み時に、書き込みデータにエラー訂正コードを付加し、読み出し時に、ＥＣＣ(error correct circuit)によりエラー訂正コードに基づいて読み出しデータの訂正を行うことが一般的に行われている。
【０００３】
しかし、ＥＣＣのエラー訂正能力は、無限ではなく、エラービット数が一定の許容範囲内にある場合に限り、エラー訂正が可能になる。
【０００４】
そこで、データストレージの信頼性の向上のため、例えば、ＲＡＩＤ (Redundant Arrays of Inexpensive Disks)を用いて、同じデータを２ヶ所に同時に書き込むいわゆる二重化（ミラーリング）という技術が開発されている。
【０００５】
また、不揮発性半導体メモリを用いたメモリシステムの分野においても、書き込みデータのミラーリングによりデータストレージの信頼性を向上する試みがなされている。
【０００６】
例えば、特許文献１に開示されるメモリシステムでは、メモリコントローラからメモリ部（２つの不揮発性半導体メモリ）に同じデータを同時に書き込む。しかし、この技術では、メモリコントローラは、ＮビットデータをＮ／２ビットデータにする処理を行い、このデータを２つのデータバスを介してメモリ部に転送する。このため、ミラーリング書き込みに必要とする時間は、ミラーリング書き込みを行わないときの書き込み時間の２倍以上を要することになる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−１５７５１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
実施形態は、ミラーリング書き込み時間を短縮する技術について提案する。
【課題を解決するための手段】
【０００９】
実施形態によれば、不揮発性半導体メモリは、１チップ内に設けられる２つのメモリプレーンと、前記１チップ内に設けられ、前記２つのメモリプレーンに共有されるＩ／Ｏ回路と、前記１チップ内に設けられ、前記２つのメモリプレーンに対する書き込み及び読み出しを独立に制御する制御回路とを備え、前記２つのメモリプレーンの各々は、メモリセルアレイと、書き込みデータを一時的に記憶するデータレジスタとを有し、前記制御回路は、ミラーリング書き込みモードのとき、前記２つのメモリプレーン内の前記データレジスタに前記書き込みデータを同時に転送し、書き込み動作及びベリファイ動作をメモリプレーン毎に実行する手段と、通常書き込みモードのとき、前記２つのメモリプレーンのうちの１つ内の前記データレジスタに前記書き込みデータを転送し、前記書き込み動作及び前記ベリファイ動作を実行する手段とを備える。
【００１０】
実施形態によれば、記憶装置は、前記不揮発性半導体メモリと、前記不揮発性半導体メモリを制御するメモリコントローラと、前記不揮発性半導体メモリと前記メモリコントローラとを接続するデータバスとを備え、前記メモリコントローラは、前記ミラーリング書き込みモード及び前記通常書き込みモードのうちの１つを選択するコマンド信号を前記不揮発性半導体メモリに転送し、前記メモリコントローラから前記不揮発性半導体メモリへの前記書き込みデータの転送ビット幅は、前記ミラーリング書き込みモード及び前記通常書き込みモードで同じである。
【図面の簡単な説明】
【００１１】
【図１】不揮発性半導体メモリを示す図。
【図２】不揮発性半導体メモリを示す図。
【図３】書き込み動作を示す図。
【図４】読み出し動作を示す図。
【図５】記憶装置を示す図。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら実施形態を説明する。
【００１３】
実施形態は、２つのメモリプレーン(two memory planes)を有する不揮発性半導体メモリ（例えば、ＮＡＮＤフラッシュメモリ）において、各メモリプレーンに同じデータを同時に書き込むミラーリング書き込み技術を提案する。
【００１４】
各メモリプレーンは、データレジスタを有し、メモリコントローラから転送される書き込みデータは、２つのメモリプレーン内のデータレジスタに同時に一時記憶される。そして、書き込み及びベリファイは、メモリプレーン毎に行われる。
【００１５】
これにより、メモリコントローラと不揮発性半導体メモリとを接続するデータバスのビット幅を減らす必要がなくなり、また、メモリコントローラ側で書き込みデータの転送ビット数を減らす処理も不要になるため、ミラーリング書き込み時間を短縮できる。
【００１６】
図１及び図２は、実施形態の不揮発性半導体メモリを示している。  
この不揮発性半導体メモリ１は、１チップ（メモリチップ）内に形成される。
【００１７】
不揮発性半導体メモリ１は、４つのメモリプレーン（Districtと称することもある）Ｐ１，Ｐ２，Ｐ３，Ｐ４を有する。本例では、メモリプレーン数は、４つであるが、実施形態のミラーリング書き込みに対応させるためには、メモリプレーン数は、２つ以上であればよい。
【００１８】
４つのメモリプレーンＰ１，Ｐ２，Ｐ３，Ｐ４の各々は、メモリセルアレイ１１と、書き込みデータ／読み出しデータを一時的に記憶するデータレジスタ１２とを有する。
【００１９】
センスアンプ１３は、読み出しデータをセンスし、これを増幅する。カラムアドレスバッファ１４は、カラムアドレス信号をバッファリングする。カラムアドレスデコーダ１５は、カラムアドレス信号をデコードし、メモリセルアレイ１１のカラムの選択を行う。
【００２０】
本例では、選択された８カラムについて、データレジスタ１２と入出力（Ｉ／Ｏ）回路１６との間で書き込みデータ／読み出しデータ（８ビットＤＡＴ［７：０］）の転送が行われる。
【００２１】
ロウアドレスバッファ１７は、ロウアドレス信号をバッファリングする。ロウアドレスデコーダ１８は、ロウアドレス信号をデコードし、書き込み／読み出しの対象となるメモリセルアレイ１１の１つのロウ（例えば、１ページ）の選択を行う。
【００２２】
アドレスレジスタ１９は、ロウアドレス信号及びカラムアドレス信号を一時的に記憶する。コマンドレジスタ２０は、例えば、ミラーリング書き込みモード、通常書き込みモード、読み出しモードなどを選択するコマンド信号を一時的に記憶する。
【００２３】
ステータスレジスタ２１は、ベリファイ動作の結果（ステータスパス／ステータスフェイル）を一時的に記憶する。この結果は、Ｉ／Ｏ回路１６を介して、不揮発性半導体メモリ１の外部にあるメモリコントローラ、さらにホストコントローラに転送される。
【００２４】
制御回路２２は、４つのメモリプレーンＰ１，Ｐ２，Ｐ３，Ｐ４に対する書き込み／読み出しを含む各種の動作を独立に制御する。
【００２５】
ロジック回路２３は、チップイネーブル信号ＣＥ、コマンドラッチイネーブル信号ＣＬＥ、アドレスラッチイネーブル信号ＡＬＥ、ライトイネーブル信号ＷＥ、リードイネーブル信号ＲＥ、及び、ライトプロテクト信号ＷＰを受け、これら制御信号に基づいて、制御回路２２が行うべき動作を指示する。
【００２６】
チップイネーブル信号ＣＥは、チップの選択／非選択を決定する。
【００２７】
コマンドラッチイネーブル信号ＣＬＥがイネーブル状態のとき、入力データ（コマンド信号）は、コマンドレジスタ２０に転送される。アドレスラッチイネーブル信号ＡＬＥがイネーブル状態のとき、入力データ（ロウ／カラムアドレス信号）は、アドレスレジスタ１９に転送される。
【００２８】
ライトイネーブル信号ＷＥがイネーブル状態のとき、書き込み動作が行われ、リードイネーブル信号ＲＥがイネーブル状態のとき、読み出し動作が行われる。ライトプロテクト信号ＷＰは、書き込みの許可／禁止を示す信号である。ライトプロテクト信号ＷＰがイネーブル状態のとき、書き込みが禁止されるため、既に保存されているデータが変更されることはない。
【００２９】
高電圧発生回路２４は、書き込み動作時に使用する高電圧を発生し、これをメモリセルアレイ１１に供給する。
【００３０】
状態検出回路２５は、不揮発性半導体メモリ１の現在の状態を検出し、これをメモリコントローラに知らせる。例えば、不揮発性半導体メモリ１が動作中のときは、レディ／ビジー信号ＲＹ／ＢＹは、ビジー状態を示し、不揮発性半導体メモリ１が待機中のときは、レディ／ビジー信号ＲＹ／ＢＹは、レディ状態を示す。
【００３１】
以上の構成を有する不揮発性半導体メモリ１において、制御回路２２は、ミラーリング書き込みモードのとき、例えば、図１に示すように、選択された２つのメモリプレーンＰ１，Ｐ２内のデータレジスタ１２に書き込みデータを同時に転送し、書き込み動作及びベリファイ動作をメモリプレーン毎に実行する。
【００３２】
また、制御回路２２は、通常書き込みモードのとき、例えば、図２に示すように、選択された１つのメモリプレーンＰ１内のデータレジスタ１２に書き込みデータを転送し、書き込み動作及び前記ベリファイ動作を実行する。
【００３３】
上記構成によれば、１チップ内、即ち、１つの不揮発性半導体メモリ内の２つのメモリプレーンを使用してミラーリングを行うため、例えば、２つのチップ、即ち、２つの不揮発性半導体メモリを使用してミラーリングを行う場合に比べて、アクセス性能の向上による書き込み時間の短縮を図ることができる。
【００３４】
具体的には、２つの不揮発性半導体メモリを使用してミラーリングを行う場合は、製造ロットの違いなどに起因し、２つの不揮発性半導体メモリに電気特性の差が生じ、ビジー期間の差によるアクセス性能の低下が予想されるが、上記構成によれば、１つの不揮発性半導体メモリ内の２つのメモリプレーンを使用してミラーリングを行うため、そのようなアクセス性能の低下が発生することはない。
【００３５】
また、１つの不揮発性半導体メモリ内の２つのメモリプレーンを使用してミラーリングを行う場合は、メモリコントローラと不揮発性半導体メモリとを接続するデータバスのビット幅を変更する必要がなく、また、メモリコントローラ側で書き込みデータの転送ビット数を変更する処理も不要であるため、ミラーリング書き込み時間を短縮できる。
【００３６】
但し、１つの不揮発性半導体メモリ内でミラーリングを実行するために、従来製品に対してメモリコントローラのファームウエアに修正を加える必要がある。言い換えれば、メモリコントローラのファームウエアを差し替えるだけで、従来製品と本実施形態に係わる製品とを選択的に製造できる。
【００３７】
さらに、１つの不揮発性半導体メモリ内において、コマンド信号により、ミラーリング書き込みと通常書き込みとを選択的に実行することができるため、ファイルの種類に応じて、ミラーリングの実行の有無を判断することができる。例えば、ユーザデータに対しては、メモリ容量を優先し、通常書き込みでそのデータを保存し、ユーザデータ以外のデータ、例えば、ブート情報やシステム情報などは、信頼性を優先し、ミラーリングでそのデータを保存しておくことが可能である。
【００３８】
但し、これらの操作を行うために、メモリコントローラ内に保存データの管理テーブルを設けることが必要である。
【００３９】
図３は、図１及び図２の不揮発性半導体メモリの書き込み動作を示している。  
この書き込み動作は、図１及び図２の制御回路２２により制御される。
【００４０】
まず、コマンド信号に基づいて、ミラーリング書き込みモードであるか、又は、通常書き込みモードであるか、を判定する（ステップＳＴ１）。
【００４１】
ミラーリング書き込みモードのとき、書き込み対象となる２つのメモリプレーンを選択する（ステップＳＴ２１）。
【００４２】
この後、書き込みデータを選択された２つのメモリプレーン内のデータレジスタに同時に転送する（ステップＳＴ３１）。
【００４３】
そして、書き込みは、データレジスタに記憶された書き込みデータの値に基づいて行われる。ここで、書き込み動作及びベリファイ動作は、プレーン毎に行われる。但し、選択された２つのメモリプレーン内での書き込み動作及びベリファイ動作は、それぞれ同期して行うのが望ましい（ステップＳＴ４１〜ＳＴ５１）。
【００４４】
また、ベリファイ動作の結果がＮＧのときは、書き込み回数が最大値に達したか否かを判定する。書き込み回数が最大値に達していないときは、書き込み動作及びベリファイ動作を繰り返す（ステップＳＴ６１〜ＳＴ７１）。
【００４５】
ここで、２つのメモリプレーン内のベリファイ動作の結果は、ステータスレジスタに記憶されると共に、ホストコントローラからのステータスリード要求に基づいて、Ｉ／Ｏ回路からチップ外部にステータスリードとして出力される。
【００４６】
ベリファイ動作の結果は、例えば、２つのメモリプレーン内のベリファイ動作の結果が共に書き込み完了を示すベリファイＯＫであるときに、ステータスパスとするのが望ましい。ステータスパスであるか否かは、２つのメモリプレーン内のベリファイ動作の結果の論理積（アンド）を実行することにより判断できる。但し、ベリファイＯＫのときを“１”とする。
【００４７】
同様に、ベリファイ動作の結果は、例えば、２つのメモリプレーン内のベリファイ動作の結果の少なくとも１つが書き込み未完了を示すベリファイＮＧであるときに、ステータスフェイルとすることも可能である。ステータスフェイルであるか否かは、２つのメモリプレーン内のベリファイ動作の結果の論理和（オア）を実行することにより判断できる。但し、ベリファイＮＧのときを“１”とする。
【００４８】
尚、ステータスリードは、これら情報の他に、ビット毎のベリファイ情報などのさらに詳細な情報を出力してもよい。
【００４９】
一方、通常書き込みモードのとき、書き込み対象となる１つのメモリプレーンを選択する（ステップＳＴ２２）。
【００５０】
この後、書き込みデータを選択された１つのメモリプレーン内のデータレジスタに転送する（ステップＳＴ３２）。
【００５１】
そして、書き込み動作及びベリファイ動作は、例えば、全ビット又は所定数以上のビットの書き込みが完了するまで、又は、書き込み回数が最大値に達するまで、繰り返し行われる（ステップＳＴ４２〜ＳＴ７２）。
【００５２】
尚、上述の書き込み動作において、ミラーリング書き込みを行うか否かは、ホストコントローラからのコマンド信号に基づいて決定することができる。また、ホストコントローラは、例えば、書き込みデータの種類に応じて、ミラーリング書き込みを行うか、又は、通常書き込みを行うかを決定する。
【００５３】
図４は、図１及び図２の不揮発性半導体メモリの読み出し動作を示している。  
この読み出し動作は、図１及び図２の制御回路２２により制御される。
【００５４】
まず、読み出しデータのアドレスや種類などに基づいて、読み出しデータがミラーリング書き込みされているか否か、を判定する（ステップＳＴ１）。
【００５５】
ミラーリング書き込みされているとき、ミラーリングデータが記憶されている２つのメモリプレーンのうちの一方（第１のメモリプレーン）から第１の読み出しデータを読み出す。第１の読み出しデータに対してＥＣＣによる訂正処理を行う。この訂正処理が成功したときは、読み出し成功となる（ステップＳＴ２１〜ＳＴ３１）。
【００５６】
これに対し、ＥＣＣによる訂正処理が失敗したときは、ミラーリングデータが記憶されている２つのメモリプレーンのうちの他方（第２のメモリプレーン）から第２の読み出しデータを読み出す。第２の読み出しデータに対してＥＣＣによる訂正処理を行う。この訂正処理が成功したときは、読み出し成功となる（ステップＳＴ４１〜ＳＴ５１）。
【００５７】
これに対し、ＥＣＣによる訂正処理が失敗したときは、読み出し回数が最大値に達したか否かを判定する。
【００５８】
読み出し回数が最大値に達していないときは、読み出し閾値をシフトさせて、再度、ミラーリングデータが記憶されている２つのメモリプレーンのうちの一方（第１のメモリプレーン）から第３の読み出しデータを読み出す。読み出し回数が最大値に達しているときは、読み出し失敗となる（ステップＳＴ６１）。
【００５９】
ここで、読み出し閾値とは、例えば、選択されたワード線に印加する読み出し電圧に相当する。
【００６０】
一方、ミラーリング書き込みされていないとき、選択された１つのメモリプレーンから読み出しデータを読み出す。その読み出しデータに対してＥＣＣによる訂正処理を行う。この訂正処理が成功したときは、読み出し成功となる（ステップＳＴ２２〜ＳＴ３２）。
【００６１】
これに対し、ＥＣＣによる訂正処理が失敗したときは、読み出し回数が最大値に達したか否かを判定する。
【００６２】
読み出し回数が最大値に達していないときは、読み出し閾値をシフトさせて、再度、選択された１つのメモリプレーンから読み出しデータを読み出す。読み出し回数が最大値に達しているときは、読み出し失敗となる（ステップＳＴ６２）。
【００６３】
尚、ミラーリング書き込みされているときの読み出し動作において、まず、２つのメモリプレーンの一方の読み出しが失敗したとき、２つのメモリプレーンの他方の読み出し（メモリプレーンの切り替え）を読み出し閾値のシフトよりも優先するのは、メモリプレーンの切り替え時間が読み出し閾値をシフトさせる時間よりも短いからである。
【００６４】
図５は、記憶装置を示している。
【００６５】
記憶装置２６は、例えば、メモリカード、ＵＳＢメモリ、ＳＳＤ（solid state drive）などのデータストレージ製品である。
【００６６】
記憶装置２６は、メモリ部２７及びメモリコントローラ２８を備える。メモリ部２７は、複数の不揮発性半導体メモリ１，１’を備える。メモリコントローラ２８と複数の不揮発性半導体メモリ１，１’とは、データバスを介して互いに接続される。
【００６７】
実施例では、メモリコントローラ２８は、ホストコントローラ２からのコマンド信号を不揮発性半導体メモリ１，１’に転送する。ここでのコマンド信号は、ミラーリング書き込みモード及び通常書き込みモードのうちの１つを選択するコマンド信号である。
【００６８】
また、メモリコントローラ２８から選択された１つの不揮発性半導体メモリ１への書き込みデータの転送ビット幅ＤＡＴ［７：０］は、ミラーリング書き込みモード及び通常書き込みモードで同じである。
【００６９】
尚、通常書き込みモードは、ユーザデータの保存時に選択され、ミラーリング書き込みモードは、ユーザデータ以外のデータ（ブート情報やシステム情報など）の保存時に選択される。
【００７０】
これに対し、コンベンショナルな技術では、常にミラーリング書き込みが行われるシステムであるため、ホストコントローラ２は、ミラーリング書き込みモード及び通常書き込みモードのうちの１つを選択するコマンド信号を出力することはない。
【００７１】
また、メモリコントローラ２８から選択された２つの不揮発性半導体メモリ１’への書き込みデータの転送ビット幅ＤＡＴ［３：０］，ＤＡＴ［３：０］’は、ミラーリング書き込みを行うために、通常書き込みを行う場合の半分となる。
【００７２】
このように、実施例は、コンベンショナルな技術に比べて、ミラーリング書き込み時間を短縮することができる。
【００７３】
尚、ＳＳＤのような大容量データストレージ製品においては、専用の管理ツールを用いることにより、ミラーリング書き込みのオン（選択）／オフ（非選択）の設定や、ファイルの種類に応じたミラーリング書き込みのオン／オフの設定などがエンドユーザにおいて行えるようにしてもよい。
【００７４】
上述の実施形態によれば、ミラーリング書き込み時間を短縮することができる。
【００７５】
尚、１つの不揮発性半導体メモリ内でミラーリングを行う場合は、上述の実施形態に示すように、コマンド信号を用いて選択的にミラーリングを行うことも可能であるし、これに代えて、例えば、常にミラーリング書き込みを行うときは、ハードウエア的に不揮発性半導体メモリをミラーリング対応構成にしても構わない。
【００７６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７７】
１，１’：  不揮発性半導体メモリ、  ２：  ホストコントローラ、  １１：  メモリセルアレイ、  １２：  データレジスタ、  １３：  センスアンプ、  １４：  カラムアドレスバッファ、  １５：  カラムアドレスデコーダ、  １６：  Ｉ／Ｏ回路、  １７：  ロウアドレスバッファ、  １８：  ロウアドレスデコーダ、  １９：  アドレスレジスタ、  ２０：  コマンドレジスタ、  ２１：  ステータスレジスタ、  ２２：  制御回路、  ２３：  ロジック回路、  ２４：  高電圧発生回路、  ２５：  状態検出回路、  ２６：  記憶装置、  ２７：  メモリ部、  ２８：  メモリコントローラ。
【図１】
2012119038.tif 000003
【図２】
2012119038.tif 000004
【図３】
2012119038.tif 000005
【図４】
2012119038.tif 000006
【図５】
2012119038.tif 000007