(57)【要約】【課題】冗長系を持ちつつ、なお、データ転送速度の要求と書換回数に抗した信頼性の維持が可能とする。【解決手段】複数のバス（バス０〜３）の各々に接続される複数の不揮発性半導体素子（ＮＡＮＤ−Ｆｌａｓｈ７）で構成される系をＡ系とＢ系の両方の系を有し、Ａ系の不揮発性半導体素子（ＮＡＮＤ−Ｆｌａｓｈ７）が接続されるバス（バス０〜３）が異なるとＢ系の不揮発性半導体素子が接続されるバス（バス４〜７）が異なるように対応づけ、書込要求或いは読出要求に対して、同じバスに接続された不揮発性半導体素子（ＮＡＮＤ−Ｆｌａｓｈ７）が続けて選択されないようにＡ系とＢ系の一方の系における不揮発性半導体素子（ＮＡＮＤ−Ｆｌａｓｈ７）を選択し、選択された不揮発性半導体素子（ＮＡＮＤ−Ｆｌａｓｈ７）に対して前記対応付けに基づいて他方の系における不揮発性半導体素子（ＮＡＮＤ−Ｆｌａｓｈ７）を選択する。【選択図】  図１
2011138243.tif 000002
【特許請求の範囲】
【請求項１】
複数のバスを含む系を複数有し、前記複数のバスの各々に複数の不揮発性半導体素子が接続され、前記複数の系には第１の系と第２の系が含まれるものであって、前記第１の系の不揮発性半導体素子の各々と前記第２の系の不揮発性半導体素子の各々は、前記第１の系の不揮発性半導体素子が接続されるバスが異なると前記第２の系の不揮発性半導体素子が接続されるバスが異なるように互いに対応づけられ、書込要求或いは読出要求に対して、所定の回の不揮発性半導体素子の選択とその前回の不揮発性半導体素子の選択とでは異なるバスに接続された不揮発性半導体素子が選択されるように第１の系と第２の系の一方の系における不揮発性半導体素子を選択し、前記選択された不揮発性半導体素子に対して前記対応付けに基づいて他方の系における不揮発性半導体素子を選択することを特徴とする記憶装置。
【請求項２】
請求項１において、前記不揮発性半導体素子の各々にチップアドレスが付され、前回のチップアドレスの選択に基づいて今回のチップアドレスの選択を行うことを特徴とする記憶装置。
【請求項３】
請求項２において、前記不揮発性半導体素子の各々に、前記チップアドレスに相当する情報を含んで物理的に素子を特定する物理アドレスを付し、論理アドレスに対し、不揮発性半導体素子の前記選択に基づいて、論理アドレスと物理アドレスとを対応させる情報をテーブルとして格納することを特徴とする記憶装置。
【請求項４】
請求項１乃至３のいずれかにおいて、前回選択された第１の系と第２の系の一方の系の不揮発性半導体素子に異常があるときには、他方の系の不揮発性半導体素子の情報で代替することを特徴とする記憶装置。
【請求項５】
請求項１において、前記不揮発性半導体素子の各々に、バスを特定するバス符号と、前記バスに接続された不揮発性半導体素子のいずれかを特定する素子特定符号とが付され、前記バス符号及び前記素子特定符号を変更することで選択する不揮発性半導体素子を特定することを特徴とする記憶装置。
【請求項６】
請求項５において、前記不揮発性半導体素子の読出しに要する時間が経過してから、前記バス符号を変更することを特徴とする記憶装置。
【請求項７】
請求項６において、前記第１の系と第２の系の一方の系についての前記不揮発性半導体素子の読出しが一巡してから次の一巡の不揮発性半導体素子の読出しを始めることを特徴とする記憶装置。
【請求項８】
複数のバスを含む系を複数有し、前記複数のバスの各々に複数の不揮発性半導体素子が接続され、前記複数の系には第１の系と第２の系が含まれるものであって、前記第１の系の不揮発性半導体素子の各々と前記第２の系の不揮発性半導体素子の各々は、前記第１の系の不揮発性半導体素子が接続されるバスが異なると前記第２の系の不揮発性半導体素子が接続されるバスが異なるように互いに対応づけられ、書込要求或いは読出要求に対して、書込要求或いは読出要求に対して、同じバスに接続された不揮発性半導体素子が続けて選択されないように第１の系と第２の系の一方の系における不揮発性半導体素子を選択することを特徴とする記憶装置。
【請求項９】
複数のバスを含む系を複数有し、前記複数のバスの各々に複数の不揮発性半導体素子が接続され、前記複数の系には第１の系と第２の系が含まれるものであって、前記第１の系の不揮発性半導体素子の各々と前記第２の系の不揮発性半導体素子の各々は、前記第１の系の不揮発性半導体素子が接続されるバスが異なると前記第２の系の不揮発性半導体素子が接続されるバスが異なるように互いに対応づけられ、書込要求或いは読出要求に対して、所定の回の選択に係る不揮発性半導体素子の読込み或いは書込みと前回の選択に係る不揮発性半導体素子の読込み或いは書込みとが少なくとも一部の時間で重複されるように前記所定の回の選択を行うことを特徴とする記憶装置。
【請求項１０】
複数のバスの各々に複数の不揮発性半導体素子が接続されるよう構成された第１の系と第２の系における、前記第１の系の不揮発性半導体素子の各々と前記第２の系の不揮発性半導体素子の各々を、前記第１の系の不揮発性半導体素子が接続されるバスが異なると前記第２の系の不揮発性半導体素子が接続されるバスが異なるように互いに対応づけておき、書込要求或いは読出要求に対して、所定の回の不揮発性半導体素子の選択とその前回の不揮発性半導体素子の選択とでは異なるバスに接続された不揮発性半導体素子が選択されるように第１の系と第２の系の一方の系における不揮発性半導体素子を選択し、前記選択された不揮発性半導体素子に対して前記対応付けに基づいて他方の系における不揮発性半導体素子を選択する記憶装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置及び記憶装置の制御方法に係り、特に、不揮発性半導体記憶素子を用いて記憶することに好適な記憶装置、及び記憶装置の制御方法に関する。
【背景技術】
【０００２】
計算機には、演算実行に供されるプログラムを保持したり、或いは演算の過程で必要な情報を一時的に格納するため、記憶装置が備えられる。この記憶装置として、固定型ディスクが用いられることが多いが、これと共に、情報の消失に対する耐性が強いとの利点から不揮発性半導体記憶素子が用られるようになった。この不揮発性半導体記憶素子を用いた記憶装置は、不揮発性との利点があるものの、しなしながら、他の種類の記憶装置と同様に、書込命令された情報が正常に保持されないとの記憶異常の可能性が依然として残る。
【０００３】
そのため、この不揮発性半導体記憶素子を用いた記憶装置でも、多重化して、その多重化の一方の系を主記憶とし、残りの系を補助的記憶とするように併わせ設け、プログラム或いは一時的保持情報を重畳的に記憶させるものが知られている。このようにすれば、例えば、多重化された系のうちの主記憶の装置に異常を呈しても、補助的記憶の装置の記憶内容を用いて演算が継続可能となるのである。このような技術は、例えば、特開２００８−１２３４８１号公報に知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１２３４８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
不揮発性半導体素子は、素子特有な特性として書換回数の問題を避けることができない。すなわち、書換回数が制限回数を超えると記憶内容の信頼性が低下する。そのため、多重化された系を有する半導体装置において、いずれかの系において、特定の素子に書き換えが集中すると、その不揮発性半導体素子の信頼性の低下がその系全体に影響を及ぼし、さらに、他の系の不揮発性半導体素子において書換が制限回数までに余裕があっても、多重系としての記憶装置に影響を及ぼしてしまう。
【０００６】
さらに、素子特有な特性から、データ転送速度の問題も避けることができない。すなわち、記憶素子に書込んだり或いは記憶素子から読出したりする速度（データ転送速度）は、その書込むデータを準備したり或いはその読出したデータを転送したり速度（データ転送速度）よりも低いのが通常である。そのため、多重化された系を有する半導体装置において、いずれかの系において、転送速度の遅れが生じると、他の系での転送が要求通りの速度で行われても、多重系としての記憶装置としてはデータ転送速度不足が生じてしまう。
【０００７】
本発明の目的は、冗長系を持つものにおいて、なお且つ、データ転送速度の要求と書換回数に抗した信頼性の維持が可能な、不揮発性半導体記憶素子を用いた記憶装置、及び記憶装置の制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明では、複数のバスを含む系を複数有し、前記複数のバスの各々に複数の不揮発性半導体素子が接続され、前記複数の系には第１の系と第２の系が含まれるものであって、前記第１の系の不揮発性半導体素子の各々と前記第２の系の不揮発性半導体素子の各々は、前記第１の系の不揮発性半導体素子が接続されるバスが異なると前記第２の系の不揮発性半導体素子が接続されるバスが異なるように互いに対応づけられ、書込要求或いは読出要求に対して、所定の回の不揮発性半導体素子の選択とその前回の不揮発性半導体素子の選択とでは異なるバスに接続された不揮発性半導体素子が選択されるように第１の系と第２の系の一方の系における不揮発性半導体素子を選択し、前記選択された不揮発性半導体素子に対して前記対応付けに基づいて他方の系における不揮発性半導体素子を選択するように構成した。
【０００９】
また、上記において、書込要求或いは読出要求に対して、所定の回の不揮発性半導体素子の選択とその前回の不揮発性半導体素子の選択とでは異なるバスに接続された不揮発性半導体素子が選択されるように第１の系と第２の系の一方の系における不揮発性半導体素子を選択する構成を、書込要求或いは読出要求に対して、同じバスに接続された不揮発性半導体素子が続けて選択されないように第１の系と第２の系の一方の系における不揮発性半導体素子を選択する構成に置き換える。
【００１０】
あるいは、書込要求或いは読出要求に対して、所定の回の不揮発性半導体素子の選択とその前回の不揮発性半導体素子の選択とでは異なるバスに接続された不揮発性半導体素子が選択されるように第１の系と第２の系の一方の系における不揮発性半導体素子を選択する構成を、書込要求或いは読出要求に対して、所定の回の選択に係る不揮発性半導体素子の読込み或いは書込みと前回の選択に係る不揮発性半導体素子の読込み或いは書込みとが少なくとも一部の時間が重複するような選択である構成に置き換える。
【発明の効果】
【００１１】
本発明によれば、冗長された互いの系のバランスをとって、データ転送速度の要求と書換回数に抗した信頼性の維持が可能になる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係わる不揮発性半導体記憶装置の構成の例を示した図。
【図２】本発明の実施形態に係わる不揮発性半導体素子のアクセスタイミング制約の例を示した図。
【図３】本発明の実施形態に係わる不揮発性半導体素子のデータ領域とライトおよび消去の制約の例を示した図。
【図４】図１をＭ＝４，Ｎ＝３にした場合の構成で先頭論理アドレス＋０のライトの処理を示した図。
【図５】図１をＭ＝４，Ｎ＝３にした場合の構成で先頭論理アドレス＋１のライトの処理を示した図。
【図６】図１をＭ＝４，Ｎ＝３にした場合の構成で先頭論理アドレス＋２のライトの処理を示した図。
【図７】図１をＭ＝４，Ｎ＝３にした場合の構成で先頭論理アドレス＋３のライトの処理を示した図。
【図８】図１をＭ＝４，Ｎ＝３にした場合の構成で先頭論理アドレス＋４のライトの処理を示した図。
【図９】図１をＭ＝４，Ｎ＝３にした場合の構成で先頭論理アドレス＋５のライトの処理を示した図。
【図１０】図１をＭ＝４，Ｎ＝３にした場合の構成で先頭論理アドレス＋６のライトの処理を示した図。
【図１１】図１をＭ＝４，Ｎ＝３にした場合の構成で先頭論理アドレス＋７のライトの処理を示した図。
【図１２】図１をＭ＝４，Ｎ＝３にした場合の構成で次のコマンドの先頭論理アドレスのライトの処理を示した図。
【図１３】チップ選択処理のフローチャートの例を示した図。
【図１４】チップ選択処理の模式図。
【図１５】論理アドレスと物理アドレスの対応付けの図。
【図１６】図１をＭ＝４，Ｎ＝３にした場合の構成でリードの処理を示した図。
【図１７】図１をＭ＝４，Ｎ＝３にした場合の構成でリードにおけるバッファからの読出し処理を示した図。
【図１８】ホストからのライトコマンドに対するＮＡＮＤ−Ｆｌａｓｈ７へのライトアクセスのタイムチャートを示した図。
【図１９】ホストからのリードコマンドに対するＮＡＮＤ−Ｆｌａｓｈ７へのリードアクセスのタイムチャートを示した図。
【図２０】チップ選択処理のフローチャートのもう一つの形態を示した図。
【図２１】チップ選択処理のもう一つの模式図。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について、図面を参照して詳細に説明する。
【００１４】
図１は、本発明の実施形態に係わる不揮発性半導体記憶装置の構成の例を示した図である。不揮発性半導体記憶装置２は、ホストＣＰＵ１とホスト接続バスで接続される。不揮発性半導体記憶装置２は、論理アドレス／物理アドレス変換処理３と、チップ選択処理４と、バッファメモリ５と、データ転送制御部６と、不揮発性半導体記憶素子の一つであるＮＡＮＤ−Ｆｌａｓｈ７と、バッファ８とで構成される。このＮＡＮＤ−Ｆｌａｓｈ７は、チップあるいは「素子」と総称するが、これは物理的にいくつかの半導体で構成され、あたかも一つのチップ（「素子」）として機能するようなものを含む。ＮＡＮＤ−Ｆｌａｓｈ７はＡ系とＢ系で２重化構成となっている。ＮＡＮＤ−Ｆｌａｓｈ７はバス０からバス２Ｍ−１の２Ｍ本のデータ転送経路であるバスで接続される。一つのバスには、Ｎ個のＮＡＮＤ−Ｆｌａｓｈ７が接続される。不揮発性半導体記憶装置２には、Ａ系とＢ系で合わせて、Ｍ×Ｎ×２個のＮＡＮＤ−Ｆｌａｓｈ７がある。図のようにＮＡＮＤ−Ｆｌａｓｈ７の座標はそれぞれチップ（０，０）〜チップ（２Ｍ−１，２Ｎ−１）のように表現する。バッファメモリ５のデータ転送速度は、ホストＣＰＵ１と不揮発性半導体装置２とを接続するホスト接続バスのデータ転送速度より十分はやい。また、ホスト接続バスのデータ転送速度は、ＮＡＮＤ−Ｆｌａｓｈ７単体のデータ転送速度より十分はやい。この構成で、ホストから要求されたデータ転送におけるボトルネックは、ＮＡＮＤ−Ｆｌａｓｈ７単体のデータ転送である。Ａ系とＢ系により、データは２重化されており、Ａ系とＢ系は同じデータを持つミラー構成である。これは、データ転送制御６がホストからのライトデータをＡ系とＢ系の両方にライトすることで行う。また、データが欠損した場合は、反対系のデータで補完する。
【００１５】
次に、ＮＡＮＤ−Ｆｌａｓｈ７のアクセスタイミング制約について説明する。図２は、本発明の実施形態に係わる不揮発性半導体素子のアクセスタイミング制約の例を示した図である。ＮＡＮＤ−Ｆｌａｓｈ７のアクセスには、データを書き込む際に行うページライトアクセスと、データを読み出す際に行うページリードアクセスと、データを消去する際に行うブロック消去アクセスの３つがある。ページライトアクセスでは、ライトデータの転送時間Ｔｗ２０の間バスを占有しライトデータをＮＡＮＤ−Ｆｌａｓｈ７に転送した後、ＮＡＮＤ−Ｆｌａｓｈ７をチップ単位で占有するプログラム時間Ｔｐ２１経過後、ライトデータが実際にＮＡＮＤ−Ｆｌａｓｈ７に書き込まれる。ページリードアクセスでは、リードデータの転送時間Ｔｒ２２の間バスを占有しリードデータをＮＡＮＤ−Ｆｌａｓｈ７から読み出す。ブロック消去アクセスでは、消去時間Ｔｅ２３の間ＮＡＮＤ−Ｆｌａｓｈ７をチップ単位で占有し、ブロック単位で消去する。
【００１６】
次に、データ領域とライトおよび消去の制約について説明する。図３は、本発明の実施形態に係わる不揮発性半導体素子のデータ領域とライトおよび消去の制約の例を示した図である。ＮＡＮＤ−Ｆｌａｓｈ７のデータ領域は複数のブロック７０で構成される。一つのブロック７０は複数のページ７１で構成される。ページ７１は、一つのブロック内でページの小さい順にしかライトを行うことができない。また、データの消去は一つのブロック毎にしか行うことができない。
【００１７】
次に、ホストＣＰＵからのライトデータ転送要求に対する処理について説明する。図４は、図１をＭ＝４，Ｎ＝３にした場合の構成を示した図である。ホストＣＰＵからライトコマンドとして、先頭論理アドレス（Logical Address：ＬＡ）＝５，データサイズ＝８ページを受け付けた場合を例に説明する。図中の太線がデータパスである。
【００１８】
不揮発性半導体記憶装置２のデータ転送制御部６がライトコマンドを受け付けると、データ転送制御部６は、ライトデータをバッファメモリ５に転送する。
【００１９】
次に、データ転送制御部６はチップ選択処理４にライトを行うチップを問い合わせる。チップ選択処理４はチップを選択し、選択したチップの座標をデータ転送制御部６に応答する。図４は、データ転送制御部６がチップ選択処理４からＡ系チップとして（０，０）、Ｂ系チップとして（４，０）を応答された場合を示している。
【００２０】
図１３にチップ選択処理４のフローチャートの例を示す。Ｓ０でチップ選択を開始する。Ｓ１で前回選択したＡ系チップの座標を（ｘ，ｙ）とする。Ｓ２でバスを一巡したか判定する。ｘがＭ−１に一致していなければ、バスを一巡していないとみなしＳ３の処理を行う。ｘがＭ−１に一致していれば、バスを一巡したとみなしＳ６の処理を行う。Ｓ３ではバスを一巡していないとみなし、ｘをｘ＋１に更新する。Ｓ４にて、Ａ系チップとして（ｘ，ｙ）を選択、Ｂ系はＡ系のミラーであり、Ｂ系チップとして（ｘ＋Ｍ，ｙ）を選択する。Ｓ５でチップ選択を終了し、データ転送制御部６に選択したチップの座標を応答する。Ｓ６ではバスを一巡したとみなし、ｘを０に更新する。次にＳ７で全チップを一巡したか判定する。ｙがＮ−１に一致していなければ、全チップを一巡していないとみなしＳ８の処理を行う。ｙがＮ−１に一致していれば、全チップを一巡したとみなしＳ９の処理を行う。Ｓ８では全チップを一巡していないとみなし、ｙをｙ＋１に更新する。その後、前述のＳ４，Ｓ５の処理を行う。Ｓ９では全チップを一巡したとみなし、ｙを０に更新する。その後、前述のＳ４，Ｓ５の処理を行う。
【００２１】
次に、データ転送制御部６は、論理アドレス／物理アドレス変換処理３に選択したＡ系チップの座標と論理アドレスを出力し、論理アドレス／物理アドレス変換処理３から物理アドレスを応答される。物理アドレスは、チップの座標とＮＡＮＤ−Ｆｌａｓｈ７のブロック（番号）７０とページ（番号）７１であり、ＮＡＮＤ−Ｆｌａｓｈ７の物理的なデータ格納領域を指定するアドレスである。論理アドレス／物理アドレス変換処理３は、論理アドレスと物理アドレスの対応付けを管理する。データ転送制御部６は、論理アドレス／物理アドレス変換処理３から応答された物理アドレスでＮＡＮＤ−Ｆｌａｓｈへのページライトアクセスを行う。図４は、コマンド要求の８ページのうち、先頭の論理アドレス（ＬＡ＝５）のデータを（０，０），（４，０）にライトした処理を示している。
【００２２】
先頭論理アドレス＋１の論理アドレス（ＬＡ＝６）のライト処理を図５に示す。データ転送制御部６はホストＣＰＵ１からのライトデータをバッファメモリ５に格納しつつ、チップ選択処理４にライトを行うチップを問い合わせる。
【００２３】
図１３にチップ選択処理４のフローチャートの例を示す。Ｓ０でチップ選択を開始する。Ｓ１で前回選択したＡ系チップの座標を（０，０）とする。Ｓ２でバスを一巡したか判定する。ｘ＝０はＭ−１＝３に一致していないので、バスを一巡していないとみなしＳ３の処理を行う。Ｓ３ではバスを一巡していないとみなし、（０，０）を（１，０）に更新する。Ｓ４にて、Ａ系チップとして（１，０）を選択、Ｂ系はＡ系のミラーであり、Ｂ系チップとして（１＋４＝５，０）を選択する。Ｓ５でチップ選択を終了し、データ転送制御部６に選択したチップの座標として、Ａ系の（１，０）とＢ系の（５，０）を応答する。
【００２４】
データ転送制御部６は、論理アドレス／物理アドレス変換処理３に選択したＡ系チップの座標と論理アドレスを出力し、論理アドレス／物理アドレス変換処理３から物理アドレスを応答される。図５は、コマンド要求の８ページのうち、先頭論理アドレス＋１の論理アドレス（ＬＡ＝６）のデータを（１，０），（５，０）にライトした処理を示している。
【００２５】
先頭論理アドレス＋２の論理アドレス（ＬＡ＝７）のライト処理を図６に示す。データ転送制御部６はホストＣＰＵ１からのライトデータをバッファメモリ５に格納しつつ、チップ選択処理４にライトを行うチップを問い合わせる。
【００２６】
図１３にチップ選択処理４のフローチャートの例を示す。Ｓ０でチップ選択を開始する。Ｓ１で前回選択したＡ系チップの座標を（１，０）とする。Ｓ２でバスを一巡したか判定する。ｘ＝１がＭ−１＝３に一致していないので、バスを一巡していないとみなしＳ３の処理を行う。Ｓ３ではバスを一巡していないとみなし、（１，０）を（２，０）に更新する。Ｓ４にて、Ａ系チップとして（２，０）を選択、Ｂ系はＡ系のミラーであり、Ｂ系チップとして（２＋４＝６，０）を選択する。Ｓ５でチップ選択を終了し、データ転送制御部６に選択したチップの座標として、Ａ系の（２，０）とＢ系の（６，０）を応答する。
【００２７】
データ転送制御部６は、論理アドレス／物理アドレス変換処理３に選択したＡ系チップの座標と論理アドレスを出力し、論理アドレス／物理アドレス変換処理３から物理アドレスを応答される。図６は、コマンド要求の８ページのうち、先頭論理アドレス＋２の論理アドレス（ＬＡ＝７）のデータを（２，０），（６，０）にライトした処理を示している。
【００２８】
先頭論理アドレス＋３の論理アドレス（ＬＡ＝８）のライト処理を図７に示す。データ転送制御部６はホストＣＰＵ１からのライトデータをバッファメモリ５に格納しつつ、チップ選択処理４にライトを行うチップを問い合わせる。
【００２９】
図１３にチップ選択処理４のフローチャートの例を示す。Ｓ０でチップ選択を開始する。Ｓ１で前回選択したＡ系チップの座標を（２，０）とする。Ｓ２でバスを一巡したか判定する。ｘ＝２がＭ−１＝３に一致していないので、バスを一巡していないとみなしＳ３の処理を行う。Ｓ３ではバスを一巡していないとみなし、（２，０）を（３，０）に更新する。Ｓ４にて、Ａ系チップとして（３，０）を選択、Ｂ系はＡ系のミラーであり、Ｂ系チップとして（３＋４＝７，０）を選択する。Ｓ５でチップ選択を終了し、データ転送制御部６に選択したチップの座標として、Ａ系の（３，０）とＢ系の（７，０）を応答する。データ転送制御部６は、論理アドレス／物理アドレス変換処理３に選択したＡ系チップの座標と論理アドレスを出力し、論理アドレス／物理アドレス変換処理３から物理アドレスを応答される。図７は、コマンド要求の８ページのうち、先頭論理アドレス＋３の論理アドレス（ＬＡ＝８）のデータを（３，０），（７，０）にライトした処理を示している。
【００３０】
先頭論理アドレス＋４の論理アドレス（ＬＡ＝９）のライト処理を図８に示す。データ転送制御部６はホストＣＰＵ１からのライトデータをバッファメモリ５に格納しつつ、チップ選択処理４にライトを行うチップを問い合わせる。
【００３１】
図１３にチップ選択処理４のフローチャートの例を示す。Ｓ０でチップ選択を開始する。Ｓ１で前回選択したＡ系チップの座標を（３，０）とする。Ｓ２でバスを一巡したか判定する。ｘ＝３がＭ−１＝３に一致しているので、バスを一巡したとみなしＳ６の処理を行う。Ｓ６ではバスを一巡したとみなし、（３，０）を（０，０）に更新する。次にＳ７で全チップを一巡したか判定する。ｙ＝０がＮ−１＝２に一致しているので、全チップを一巡していないとみなしＳ８の処理を行う。Ｓ８では全チップを一巡していないとみなし、（０，０）を（０，１）に更新する。Ｓ４にて、Ａ系チップとして（０，１）を選択、Ｂ系はＡ系のミラーであり、Ｂ系チップとして（０＋４＝４，１）を選択する。Ｓ５でチップ選択を終了し、データ転送制御部６に選択したチップの座標として、Ａ系の（０，１）とＢ系の（４，１）を応答する。データ転送制御部６は、論理アドレス／物理アドレス変換処理３に選択したＡ系チップの座標と論理アドレスを出力し、論理アドレス／物理アドレス変換処理３から物理アドレスを応答される。図７は、コマンド要求の８ページのうち、先頭論理アドレス＋４の論理アドレス（ＬＡ＝９）のデータを（０，１），（４，１）にライトした処理を示している。
【００３２】
先頭論理アドレス＋５の論理アドレス（ＬＡ＝１０）のライト処理を図９に示す。データ転送制御部６はホストＣＰＵ１からのライトデータをバッファメモリ５に格納しつつ、チップ選択処理４にライトを行うチップを問い合わせる。
【００３３】
図１３にチップ選択処理４のフローチャートの例を示す。Ｓ０でチップ選択を開始する。Ｓ１で前回選択したＡ系チップの座標を（０，１）とする。Ｓ２でバスを一巡したか判定する。ｘ＝０がＭ−１＝３に一致していないので、バスを一巡していないとみなしＳ３の処理を行う。Ｓ３ではバスを一巡していないとみなし、（０，１）を（１，１）に更新する。Ｓ４にて、Ａ系チップとして（１，１）を選択、Ｂ系はＡ系のミラーであり、Ｂ系チップとして（１＋４＝５，１）を選択する。Ｓ５でチップ選択を終了し、データ転送制御部６に選択したチップの座標として、Ａ系の（１，１）とＢ系の（５，１）を応答する。データ転送制御部６は、論理アドレス／物理アドレス変換処理３に選択したＡ系チップの座標と論理アドレスを出力し、論理アドレス／物理アドレス変換処理３から物理アドレスを応答される。図９は、コマンド要求の８ページのうち、先頭論理アドレス＋５の論理アドレス（ＬＡ＝１０）のデータを（１，１），（５，１）にライトした処理を示している。
【００３４】
先頭論理アドレス＋６の論理アドレス（ＬＡ＝１１）のライト処理を図１０に示す。データ転送制御部６はホストＣＰＵ１からのライトデータをバッファメモリ５に格納しつつ、チップ選択処理４にライトを行うチップを問い合わせる。
【００３５】
図１３にチップ選択処理４のフローチャートの例を示す。Ｓ０でチップ選択を開始する。Ｓ１で前回選択したＡ系チップの座標を（１，１）とする。Ｓ２でバスを一巡したか判定する。ｘ＝１がＭ−１＝３に一致していないので、バスを一巡していないとみなしＳ３の処理を行う。Ｓ３ではバスを一巡していないとみなし、（１，１）を（２，１）に更新する。Ｓ４にて、Ａ系チップとして（２，１）を選択、Ｂ系はＡ系のミラーであり、Ｂ系チップとして（２＋４＝６，１）を選択する。Ｓ５でチップ選択を終了し、データ転送制御部６に選択したチップの座標として、Ａ系の（２，１）とＢ系の（６，１）を応答する。データ転送制御部６は、論理アドレス／物理アドレス変換処理３に選択したＡ系チップの座標と論理アドレスを出力し、論理アドレス／物理アドレス変換処理３から物理アドレスを応答される。図１０は、コマンド要求の８ページのうち、先頭論理アドレス＋６の論理アドレス（ＬＡ＝１１）のデータを（２，１），（６，１）にライトした処理を示している。
【００３６】
先頭論理アドレス＋７の論理アドレス（ＬＡ＝１２）のライト処理を図１１に示す。データ転送制御部６はホストＣＰＵ１からのライトデータをバッファメモリ５に格納しつつ、チップ選択処理４にライトを行うチップを問い合わせる。
【００３７】
図１３にチップ選択処理４のフローチャートの例を示す。Ｓ０でチップ選択を開始する。Ｓ１で前回選択したＡ系チップの座標を（２，１）とする。Ｓ２でバスを一巡したか判定する。ｘ＝２がＭ−１＝３に一致していないので、バスを一巡していないとみなしＳ３の処理を行う。Ｓ３ではバスを一巡していないとみなし、（２，１）を（３，１）に更新する。Ｓ４にて、Ａ系チップとして（３，１）を選択、Ｂ系はＡ系のミラーであり、Ｂ系チップとして（３＋４＝７，１）を選択する。Ｓ５でチップ選択を終了し、データ転送制御部６に選択したチップの座標として、Ａ系の（３，１）とＢ系の（７，１）を応答する。
【００３８】
データ転送制御部６は、論理アドレス／物理アドレス変換処理３に選択したＡ系チップの座標と論理アドレスを出力し、論理アドレス／物理アドレス変換処理３から物理アドレスを応答される。図１１は、コマンド要求の８ページのうち、先頭論理アドレス＋７の論理アドレス（ＬＡ＝１２）のデータを（３，１），（７，１）にライトした処理を示している。この処理でコマンドで要求されたデータサイズ分の転送が完了する。
【００３９】
次のライトコマンドの先頭論理アドレス（ＬＡ＝ＬＡ＋Ｘ）の処理を図１２に示す。データ転送制御部６はホストＣＰＵ１からのライトデータをバッファメモリ５に格納しつつ、チップ選択処理４にライトを行うチップを問い合わせる。図１３にチップ選択処理４のフローチャートの例を示す。Ｓ０でチップ選択を開始する。Ｓ１で前回選択したＡ系チップの座標を（３，１）とする。Ｓ２でバスを一巡したか判定する。ｘ＝３がＭ−１＝３に一致しているので、バスを一巡したとみなしＳ６の処理を行う。Ｓ６ではバスを一巡したとみなし、（３，１）を（０，１）に更新する。次にＳ７で全チップを一巡したか判定する。ｙ＝１がＮ−１＝２に一致しているので、全チップを一巡していないとみなしＳ８の処理を行う。Ｓ８では全チップを一巡していないとみなし、（０，１）を（０，２）に更新する。Ｓ４にて、Ａ系チップとして（０，２）を選択、Ｂ系はＡ系のミラーであり、Ｂ系チップとして（０＋４＝４，２）を選択する。Ｓ５でチップ選択を終了し、データ転送制御部６に選択したチップの座標として、Ａ系の（０，２）とＢ系の（４，２）を応答する。データ転送制御部６は、論理アドレス／物理アドレス変換処理３に選択したＡ系チップの座標と論理アドレスを出力し、論理アドレス／物理アドレス変換処理３から物理アドレスを応答される。図１２は、次のコマンドの先頭論理アドレス（ＬＡ＝ＬＡ＋Ｘ）のデータを（０，２），（４，２）にライトした処理を示している。
【００４０】
このように、チップ選択処理４は、コマンドの範囲内か否かに係わらず、前回選択したチップの座標に従って、ＮＡＮＤ−Ｆｌａｓｈ７を選択する。コマンドの範囲内では論理アドレスは連続しており、連続した論理アドレスの順序と選択したＮＡＮＤ−Ｆｌａｓｈ７の順序は一致する。
【００４１】
図１４にチップ選択処理の模式図を示す。前回選択したＮＡＮＤ−Ｆｌａｓｈ７のチップを太矢印の元、選択するＮＡＮＤ−Ｆｌａｓｈ７のチップを太矢印の先で示している。Ａ系とＢ系はミラーで、ライトでは常にＡ系チップの座標（ｘ，ｙ）に対しＢ系チップは（ｘ＋Ｍ，ｙ）を選択する。つまり、（ｘ，ｙ）と（ｘ＋Ｍ，ｙ）のデータは一致する。選択するチップは、論理アドレスに係わらず、ライトアクセス毎に更新し均等に一巡させる。
【００４２】
図１５に、論理アドレス／物理アドレス変換処理が認識する論理アドレスと物理アドレスの対応付けを示す。これは、図４から図１２までの論理アドレス（ＬＡ＝５〜８，ＬＡ＋Ｘ）のライトを行った後の状態を示している。論理アドレスに対し、物理アドレスとしてＮＡＮＤ−Ｆｌａｓｈ７チップの座標Ｘと座標Ｙとブロック番号とページ番号が対応付けられている。論理アドレス／物理アドレス変換処理３は、ブロックとページの使用状況に応じて、データ転送制御６が出力する論理アドレスとチップ座標に対する、ブロック番号とページ番号を付与する。
【００４３】
引き続き、ホストＣＰＵからのリードデータ転送要求に対する処理について説明する。図１６にホストＣＰＵからコマンドとして、先頭論理アドレス（ＬＡ＝５），データサイズ＝８ページを受け付けた場合の処理を示す。図中の太線がデータパスである。
【００４４】
不揮発性半導体記憶装置２のデータ転送制御部６がリードコマンドを受け付けると、データ転送制御部６は、論理アドレス／物理アドレス変換処理３に、論理アドレスに対応する物理アドレスを問い合わせる。
【００４５】
データ転送制御部６は、先頭論理アドレス＝５の物理アドレスを論理アドレス／物理アドレス変換処理３に問い合わせる。論理アドレス／物理アドレス変換処理３は、図１５の論理アドレスと物理アドレスの対応付けに従い、物理アドレスとして、チップ座標（０，０），ブロック番号１，ページ番号１を応答する。データ転送制御部６は、この物理アドレスで先頭論理アドレス＝５のページリードを要求する。
【００４６】
次に、データ転送制御部６は、先頭論理アドレス＋１の論理アドレス＝６の物理アドレスを論理アドレス／物理アドレス変換処理３に問い合わせる。論理アドレス／物理アドレス変換処理３は、図１５の論理アドレスと物理アドレスの対応付けに従い、物理アドレスとして、チップ座標（１，０），ブロック番号１，ページ番号１を応答する。データ転送制御部６は、この物理アドレスで論理アドレス＝６のページリードを要求する。
【００４７】
次に、データ転送制御部６は、先頭論理アドレス＋２の論理アドレス＝７の物理アドレスを論理アドレス／物理アドレス変換処理３に問い合わせる。論理アドレス／物理アドレス変換処理３は、図１５の論理アドレスと物理アドレスの対応付けに従い、物理アドレスとして、チップ座標（２，０），ブロック番号１，ページ番号１を応答する。データ転送制御部６は、この物理アドレスで論理アドレス＝６のページリードを要求する。
【００４８】
次に、データ転送制御部６は、先頭論理アドレス＋３の論理アドレス＝８の物理アドレスを論理アドレス／物理アドレス変換処理３に問い合わせる。論理アドレス／物理アドレス変換処理３は、図１５の論理アドレスと物理アドレスの対応付けに従い、物理アドレスとして、チップ座標（３，０），ブロック番号１，ページ番号１を応答する。データ転送制御部６は、この物理アドレスで論理アドレス＝６のページリードを要求する。
【００４９】
次に、データ転送制御部６は、先頭論理アドレス＋４の論理アドレス＝９の物理アドレスを論理アドレス／物理アドレス変換処理３に問い合わせる。論理アドレス／物理アドレス変換処理３は、図１５の論理アドレスと物理アドレスの対応付けに従い、物理アドレスとして、チップ座標（０，１），ブロック番号１，ページ番号１を応答する。データ転送制御部６は、既にチップ座標（０，０）へのページリードを要求しており、バス０が占有されていることを認識してＢ系の（４，１）に対しページリードを要求する。
【００５０】
次に、データ転送制御部６は、先頭論理アドレス＋５の論理アドレス＝１０の物理アドレスを論理アドレス／物理アドレス変換処理３に問い合わせる。論理アドレス／物理アドレス変換処理３は、図１５の論理アドレスと物理アドレスの対応付けに従い、物理アドレスとして、チップ座標（１，１），ブロック番号１，ページ番号１を応答する。データ転送制御部６は、既にチップ座標（１，０）へのページリードを要求しており、バス１が占有されていることを認識してＢ系の（５，１）に対しページリードを要求する。
【００５１】
次に、データ転送制御部６は、先頭論理アドレス＋６の論理アドレス＝１１の物理アドレスを論理アドレス／物理アドレス変換処理３に問い合わせる。論理アドレス／物理アドレス変換処理３は、図１５の論理アドレスと物理アドレスの対応付けに従い、物理アドレスとして、チップ座標（２，１），ブロック番号１，ページ番号１を応答する。データ転送制御部６は、既にチップ座標（１，０）へのページリードを要求しており、バス２が占有されていることを認識してＢ系の（６，１）に対しページリードを要求する。
【００５２】
次に、データ転送制御部６は、先頭論理アドレス＋７の論理アドレス＝１２の物理アドレスを論理アドレス／物理アドレス変換処理３に問い合わせる。論理アドレス／物理アドレス変換処理３は、図１５の論理アドレスと物理アドレスの対応付けに従い、物理アドレスとして、チップ座標（３，１），ブロック番号１，ページ番号１を応答する。データ転送制御部６は、既にチップ座標（３，０）へのページリードを要求しており、バス３が占有されていることを認識してＢ系の（７，１）に対しページリードを要求する。
【００５３】
このように、ライト時のチップ選択でＮＡＮＤ−Ｆｌａｓｈ７を一巡させることにより、ホストからのライト要求の論理アドレスの範囲内では、２×Ｍページ分のページリードにおいてバスを待つ必要がなくなる。
【００５４】
図２０にチップ選択処理のもう一つの形態を示す。図１３ではＳ４の処理にてＢ系チップは（ｘ＋Ｍ，ｙ）を選択するが、図２０ではＳ４０の処理にてＢ系チップを（２Ｍ−１−ｘ，２Ｎ−１−ｙ）を選択するようにしている。このように変更した場合のチップ選択処理の模式図を図２１に示す。前回選択したＮＡＮＤ−Ｆｌａｓｈ７のチップを太矢印の元、選択するＮＡＮＤ−Ｆｌａｓｈ７のチップを太矢印の先で示している。Ａ系とＢ系はミラーで、ライトでは常にＡ系チップの座標（ｘ，ｙ）に対しＢ系チップは（２Ｍ−１−ｘ，２Ｎ−１−ｙ）を選択する。このように一巡させた場合でも、データ転送制御部６がＡ系とＢ系の対応づけに従うことで、２×Ｍページ分のページリードにおいてバスを待つ必要がなくなる。図２０のチップ選択処理のもう一つの形態が示すように、ＮとＭの更新の条件を一致させておけば、Ａ系とＢ系は物理的に完全なミラーである必要はない。
【００５５】
図１７に、データ転送制御部６がページリードを要求し読み出したデータをバッファメモリに格納しバッファメモリから読み出す処理を示す。データ転送制御部６は、ＮＡＮＤ−Ｆｌａｓｈ７にページリードを要求し読出したデータをバッファメモリ５に転送しつつ、バッファメモリ５からホスト接続バスを経由してホストＣＰＵ１に転送する。
【００５６】
図１８にホストからのライトコマンドに対するＮＡＮＤ−Ｆｌａｓｈ７へのライトアクセスのタイムチャートを示す。これは、Ｍ＝４，Ｎ＝３の構成で、チップ（０，０）から２４ページ分のページライトを行った場合を示している。ＮＡＮＤ−Ｆｌａｓｈ７へのライトアクセスには、図２のページライトアクセスのタイミング制約がある。
【００５７】
バッファメモリ５を経由するデータ転送遅延時間をＴｄとすると、バスを占有するライトデータ転送時間Ｔｗ２０がＴｄ×Ｍより小さければ、バスを一巡した際にバスを待たなくてよい。不揮発性半導体装置の構成として、ＭをＴｗ÷Ｔｄより大きくすることがライト性能確保の条件の一つである。
【００５８】
また、チップを占有するプログラム時間Ｔｐ２１とＴｗ２０の和がＴｄ×Ｍ×Ｎより小さければ、チップを一巡した際にチップを待たなくてよい。不揮発性半導体装置の構成として、Ｍ×Ｎを（Ｔｐ＋Ｔｗ）÷Ｔｄより大きくすることがライト性能確保の条件の一つである。
【００５９】
また、上記条件において、ホスト接続バスの転送速度より、ページデータサイズ÷Ｔｄで示すデータ転送速度が大きければ、ブロック消去等の処理を除き、ボトルネックは不揮発性半導体装置ではなくなる。
【００６０】
図１９にホストからのリードコマンドに対するＮＡＮＤ−Ｆｌａｓｈ７へのリードアクセスのタイムチャートを示す。これは、Ｍ＝４，Ｎ＝３の構成で、チップ（０，０）から４８ページ分のページライトを行った場合を示している。ＮＡＮＤ−Ｆｌａｓｈ７へのリードアクセスには、図２のページリードアクセスのタイミング制約がある。バッファメモリを経由するデータ転送遅延時間をＴｔとすると、ホストＣＰＵ１と不揮発性半導体装置２とを接続するホスト接続バスの転送速度より、２×Ｍ×ページデータサイズ÷（Ｔｔ＋Ｔｒ）で示すデータ転送速度が大きければ、最初のリードデータ出力までの時間を除き、ボトルネックは不揮発性半導体装置ではなくなる。
【符号の説明】
【００６１】
１  ホストＣＰＵ
２  不揮発性半導体記憶装置
３  論理アドレス／物理アドレス変換処理
４  チップ選択処理
５  バッファメモリ
６  データ転送制御部
７  
２０  Ｔｗ（ライトデータ転送時間）
２１  Ｔｐ（プログラム時間）
２２  Ｔｒ（リードデータ転送時間）
２３  Ｔｅ（消去時間）
７０  ブロック
７１  ページ
【図１】
2011138243.tif 000003
【図２】
2011138243.tif 000004
【図３】
2011138243.tif 000005
【図４】
2011138243.tif 000006
【図５】
2011138243.tif 000007
【図６】
2011138243.tif 000008
【図７】
2011138243.tif 000009
【図８】
2011138243.tif 000010
【図９】
2011138243.tif 000011
【図１０】
2011138243.tif 000012
【図１１】
2011138243.tif 000013
【図１２】
2011138243.tif 000014
【図１３】
2011138243.tif 000015
【図１４】
2011138243.tif 000016
【図１５】
2011138243.tif 000017
【図１６】
2011138243.tif 000018
【図１７】
2011138243.tif 000019
【図１８】
2011138243.tif 000020
【図１９】
2011138243.tif 000021
【図２０】
2011138243.tif 000022
【図２１】
2011138243.tif 000023