(57)【要約】【課題】データの書き込み時に、データの消去回数を抑えながら、データを書き込む同一ブロック内にある以前に記憶した有効データが破壊されて読み出せなくなることを防止すること。【解決手段】外部から供給されるデータを記憶するブロックを複数個備える第１の記憶部９と、当該ブロックへデータの書き込みを指示する書き込み／読み出し指示部１３と、データの外部アドレスとデータが記憶されたブロックの記憶位置とを対応付けたアドレス変換テーブル８を用いて、外部アドレスをブロックの記憶位置に変換するアドレス変換部１４と、複数のブロックに外部アドレスと対応付けられたデータが記憶されているかを判定する判定部１５とを備え、書き込み／読み出し指示部１３は、判定部１５が、複数のブロックのいずれかに、外部アドレスと対応付けられたデータが記憶されていないと判定した場合、当該ブロックに対して、新たなデータの書き込みを指示する。【選択図】        図１
2010146469.tif 000002
【特許請求の範囲】
【請求項１】
外部から供給されるデータを記憶するブロックを複数個備える第１の記憶手段と、
前記第１の記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示手段と、
前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換手段と、
前記アドレス変換手段で変換されたブロックにおける記憶位置を利用して、前記第１の記憶手段が備える複数の前記ブロックに、前記外部アドレスと対応付けられた前記データが記憶されているかを判定する判定手段と、を備え、
前記書き込み指示手段は、前記判定手段が、前記第１の記憶手段が備える複数の前記ブロックのいずれかに、前記外部アドレスと対応付けられた前記データが記憶されていないと判定した場合、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする半導体記憶装置。
【請求項２】
前記ブロックを複数個備える第２の記憶手段と、
前記第１の記憶手段が備える前記ブロックが記憶する前記データを、前記第２の記憶手段が備える前記ブロックに移動する移動手段と、をさらに備え、
前記移動手段は、前記判定手段が、前記第１の記憶手段が備える複数の前記ブロックの全てに、前記外部アドレスと対応付けられた前記データが記憶されていると判定した場合、前記第１の記憶手段が備える複数の前記ブロックが記憶する、前記外部アドレスと対応付けられた前記データを、前記第２の記憶手段が備える前記ブロックに移動し、
前記書き込み指示手段は、前記外部アドレスと対応付けられた前記データが移動した後の前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
前記書き込み指示手段は、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックのうち、前記データの書き込み量が少ない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする請求項１または２に記載の半導体記憶装置。
【請求項４】
前記第１の記憶手段が備える前記ブロックと、前記第２の記憶手段が備える前記ブロックとを入れ替える入れ替え手段をさらに備えたこと、
を特徴とする請求項１から３のいずれか一項に記載の半導体記憶装置。
【請求項５】
外部から供給されるデータを記憶する前記ブロックを複数個備える第１の記憶手段と、
前記第１の記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示手段と、
前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換手段と、
前記アドレス変換手段で変換されたブロックにおける記憶位置を利用して、前記第１の記憶手段が備える複数の前記ブロックに記憶されている前記外部アドレスと対応付けられた前記データの合計数を判定する判定手段と、を備え、
前記書き込み指示手段は、前記判定手段が、前記第１の記憶手段が備える複数の前記ブロックに記憶されている前記外部アドレスと対応付けられた前記データの合計数が、特定数になっていないと判定した場合、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする半導体記憶装置。
【請求項６】
前記ブロックを複数個備える第２の記憶手段と、
前記第１の記憶手段が備える前記ブロックが記憶する前記データを、前記第２の記憶手段が備える前記ブロックに移動する移動手段と、をさらに備え、
前記移動手段は、前記判定手段が、前記第１の記憶手段が備える複数の前記ブロックに記憶されている前記外部アドレスと対応付けられた前記データの合計数が、前記特定数になっていると判定した場合、前記第１の記憶手段が備える複数の前記ブロックが記憶する、前記外部アドレスと対応付けられた前記データを、前記第２の記憶手段が備える前記ブロックに移動し、
前記書き込み指示手段は、前記外部アドレスと対応付けられた前記データが移動した後の前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする請求項５に記載の半導体記憶装置。
【請求項７】
前記書き込み指示手段は、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックのうち、前記データの書き込み量が少ない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする請求項５または６に記載の半導体記憶装置。
【請求項８】
前記第１の記憶手段が備える前記ブロックと、前記第２の記憶手段が備える前記ブロックとを入れ替える入れ替え手段をさらに備えたこと、を特徴とする請求項５から７のいずれか一項に記載の半導体記憶装置。
【請求項９】
前記特定数は、前記ブロックの１ブロック分に相当する数であること、を特徴とする請求項５から８のいずれか一項に記載の半導体記憶装置。
【請求項１０】
前記特定数は、前記ブロックの複数ブロック分に相当する数であること、を特徴とする請求項５から８のいずれか一項に記載の半導体記憶装置。
【請求項１１】
外部から供給されるデータを記憶するブロックを複数個備える第１の記憶手段と、
前記第１の記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示手段と、
前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換手段と、
前記ブロックにおける前記データの記憶状態を管理する管理手段と、
前記アドレス変換手段で変換されたブロックにおける記憶位置、および、前記管理手段で管理された前記データの記憶状態を利用して、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失するブロックがあるかを判定する判定手段と、を備え、
前記書き込み指示手段は、前記判定手段が、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失する可能性のない前記ブロックがあると判定した場合、前記外部アドレスと対応付けられた前記データが消失しない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする半導体記憶装置。
【請求項１２】
前記ブロックを複数個備える第２の記憶手段と、
前記第１の記憶手段が備える前記ブロックが記憶する前記データを、前記第２の記憶手段が備える前記ブロックに移動する移動手段と、をさらに備え、
前記移動手段は、前記判定手段が、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失する可能性のない前記ブロックがないと判定した場合、前記第１の記憶手段が備える複数の前記ブロックが記憶する、前記外部アドレスと対応付けられた前記データを、前記第２の記憶手段が備える前記ブロックに移動し、
前記書き込み指示手段は、前記外部アドレスと対応付けられた前記データが移動した後の前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする請求項１１に記載の半導体記憶装置。
【請求項１３】
前記書き込み指示手段は、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックのうち、前記データの書き込み量が少ない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする請求項１１または１２に記載の半導体記憶装置。
【請求項１４】
前記第１の記憶手段が備える前記ブロックと、前記第２の記憶手段が備える前記ブロックとを入れ替える入れ替え手段をさらに備えたこと、
を特徴とする請求項１１から１３のいずれか一項に記載の半導体記憶装置。
【請求項１５】
外部から供給されるデータを記憶するブロックを複数個備える記憶手段を備える半導体記憶装置の制御方法であって、
書き込み指示手段が、前記記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示ステップと、
アドレス変換手段が、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換ステップと、
判定手段が、前記アドレス変換ステップで変換されたブロックにおける記憶位置を利用して、前記記憶手段が備える複数の前記ブロックに、前記外部アドレスと対応付けられた前記データが記憶されているかを判定する判定ステップと、を含み、
前記書き込み指示ステップは、前記判定手段ステップで、前記記憶手段が備える複数の前記ブロックのいずれかに、前記外部アドレスと対応付けられた前記データが記憶されていないと判定した場合、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする半導体記憶装置の制御方法。
【請求項１６】
外部から供給されるデータを記憶するブロックを複数個備える記憶手段を備える半導体記憶装置の制御方法であって、
書き込み指示手段が、前記記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示ステップと、
アドレス変換手段が、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換ステップと、
判定手段が、前記アドレス変換ステップで変換されたブロックにおける記憶位置を利用して、前記記憶手段が備える複数の前記ブロックに記憶されている前記外部アドレスと対応付けられた前記データの合計数を判定する判定ステップと、を含み、
前記書き込み指示ステップは、前記判定ステップで、前記記憶手段が備える複数の前記ブロックに記憶されている前記外部アドレスと対応付けられた前記データの合計数が、特定数になっていないと判定した場合、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする半導体記憶装置の制御方法。
【請求項１７】
外部から供給されるデータを記憶するブロックを複数個備える記憶手段を備える半導体記憶装置の制御方法であって、
書き込み指示手段が、前記第１の記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示ステップと、
アドレス変換手段が、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換ステップと、
管理手段が、前記ブロックにおける前記データの記憶状態を管理する管理ステップと、
判定手段が、前記アドレス変換ステップで変換されたブロックにおける記憶位置、および、前記管理ステップで管理された前記データの記憶状態を利用して、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失するブロックがあるかを判定する判定ステップと、を含み、
前記書き込み指示ステップは、前記判定ステップで、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失する可能性のない前記ブロックがあると判定した場合、前記外部アドレスと対応付けられた前記データが消失しない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする半導体記憶装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置および半導体記憶装置の制御方法に関する。
【背景技術】
【０００２】
ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭなどを用いた半導体記憶装置では、データの書き込み中に不意に電源の供給が遮断されるなどして書き込みに失敗した場合においても、過去に記憶したデータは破壊されることがないように確実に保護する必要がある。複数の電圧の大きさで複数のビットを記憶するＭＬＣ（多値）型ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭでは、メモリセルに対して１ビットずつ複数回に分けて情報を記憶する書き込みモードが存在する。この書き込みモードでは、情報を記憶したメモリセルへさらに情報を追加する際に電源の供給が遮断されると、以前にメモリセルへ記憶した情報までも失ってしまうという問題がある。
【０００３】
この問題に対して、例えば特許文献１では、メモリセルを共有するブロック内のページの関係を管理し、ブロック内のメモリセルに対して一回ずつ書き込みを行うように制御することで外部から供給されたデータを一時的に保存し、特定のタイミングで一時保存したデータを他のブロックへコピーすることでデータ破壊の対策を図っている。
【０００４】
具体的には、ＭＬＣ型ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭを一時的にＳＬＣ（二値）型ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭのように使用することで、一度書き込みが完了したデータの消失を防ぎ、その後、一時保存したデータを他のブロックへ通常の記憶方法でコピーすることで、ＭＬＣ型ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭへの安全なデータの書き込みを実現している。この方法では、一時保存したデータを他のブロックへコピーする時に電源の瞬断が発生しても、コピー元のデータが破壊されることがないので容易にデータの復元が可能である。
【０００５】
【特許文献１】特開２００６−２２１７４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の場合、ブロックに対して１回の消去で書き込めるデータ量は、「１／メモリセルに書き込めるビット数」へ減少するため、同じデータ量を書き込むとすると、ＭＬＣ型ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭへ書き込むデータ量の「メモリセルへ書き込めるビット数」倍の消去を必要とする。さらに、特許文献１の場合、一時的に保存したデータは別のブロックへコピーする必要があるので、最終的には（「メモリセルへ書き込めるビット数」＋１）倍の消去が必要となる。
【０００７】
例えば、メモリセルあたり２ビットの情報を記憶できるＭＬＣ型ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭにおいて、この方式で利用する場合、最終的には、書き込みたいデータ量の２＋１＝３倍の消去が必要になるため非常に無駄が大きいという問題がある。また、書き換え回数の制限を考慮すると、データの消去回数はできるだけ少ない方がよい。
【０００８】
本発明は、上記に鑑みてなされたものであって、データの書き込み時に、データの消去回数を抑えながら、データを書き込む同一ブロック内にある以前に記憶した有効データが破壊されて読み出せなくなることを防止することのできる半導体記憶装置および半導体記憶装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、外部から供給されるデータを記憶するブロックを複数個備える第１の記憶手段と、前記第１の記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示手段と、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換手段と、前記アドレス変換手段で変換されたブロックにおける記憶位置を利用して、前記第１の記憶手段が備える複数の前記ブロックに、前記外部アドレスと対応付けられた前記データが記憶されているかを判定する判定手段と、を備え、前記書き込み指示手段は、前記判定手段が、前記第１の記憶手段が備える複数の前記ブロックのいずれかに、前記外部アドレスと対応付けられた前記データが記憶されていないと判定した場合、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、を特徴とする。
【００１０】
また、本発明は、外部から供給されるデータを記憶するブロックを複数個備える第１の記憶手段と、前記第１の記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示手段と、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換手段と、前記アドレス変換手段で変換されたブロックにおける記憶位置を利用して、前記第１の記憶手段が備える複数の前記ブロックに記憶されている前記外部アドレスと対応付けられた前記データの合計数を判定する判定手段と、を備え、前記書き込み指示手段は、前記判定手段が、前記第１の記憶手段が備える複数の前記ブロックに記憶されている前記外部アドレスと対応付けられた前記データの合計数が、特定数になっていないと判定した場合、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、を特徴とする。
【００１１】
また、本発明は、外部から供給されるデータを記憶するブロックを複数個備える第１の記憶手段と、前記第１の記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示手段と、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換手段と、前記ブロックにおける前記データの記憶状態を管理する管理手段と、前記アドレス変換手段で変換されたブロックにおける記憶位置、および、前記管理手段で管理された前記データの記憶状態を利用して、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失するブロックがあるかを判定する判定手段と、を備え、前記書き込み指示手段は、前記判定手段が、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失する可能性のない前記ブロックがあると判定した場合、前記外部アドレスと対応付けられた前記データが消失しない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、を特徴とする。
【００１２】
また、本発明は、外部から供給されるデータを記憶するブロックを複数個備える記憶手段を備える半導体記憶装置の制御方法であって、書き込み指示手段が、前記記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示ステップと、アドレス変換手段が、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換ステップと、判定手段が、前記アドレス変換ステップで変換されたブロックにおける記憶位置を利用して、前記記憶手段が備える複数の前記ブロックに、前記外部アドレスと対応付けられた前記データが記憶されているかを判定する判定ステップと、を含み、前記書き込み指示ステップは、前記判定手段ステップで、前記記憶手段が備える複数の前記ブロックのいずれかに、前記外部アドレスと対応付けられた前記データが記憶されていないと判定した場合、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、を特徴とする。
【００１３】
また、本発明は、外部から供給されるデータを記憶するブロックを複数個備える記憶手段を備える半導体記憶装置の制御方法であって、書き込み指示手段が、前記記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示ステップと、アドレス変換手段が、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換ステップと、判定手段が、前記アドレス変換ステップで変換されたブロックにおける記憶位置を利用して、前記記憶手段が備える複数の前記ブロックに記憶されている前記外部アドレスと対応付けられた前記データの合計数を判定する判定ステップと、を含み、前記書き込み指示ステップは、前記判定ステップで、前記記憶手段が備える複数の前記ブロックに記憶されている前記外部アドレスと対応付けられた前記データの合計数が、特定数になっていないと判定した場合、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、を特徴とする。
【００１４】
また、本発明は、外部から供給されるデータを記憶するブロックを複数個備える記憶手段を備える半導体記憶装置の制御方法であって、書き込み指示手段が、前記第１の記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示ステップと、アドレス変換手段が、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換ステップと、管理手段が、前記ブロックにおける前記データの記憶状態を管理する管理ステップと、判定手段が、前記アドレス変換ステップで変換されたブロックにおける記憶位置、および、前記管理ステップで管理された前記データの記憶状態を利用して、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失するブロックがあるかを判定する判定ステップと、を含み、前記書き込み指示ステップは、前記判定ステップで、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失する可能性のない前記ブロックがあると判定した場合、前記外部アドレスと対応付けられた前記データが消失しない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、を特徴とする。
【発明の効果】
【００１５】
本発明によれば、判定手段が、第１の記憶手段が備える複数のブロックのいずれかに、外部アドレスと対応付けられたデータが記憶されていないと判定した場合、外部アドレスと対応付けられたデータが記憶されていないブロックに対して、新たに外部から供給されるデータを書き込むことができるので、データの消去回数を抑えながら、データを書き込む同一ブロック内にある以前に記憶した有効データが破壊されて読み出せなくなることを防止することができ、データの書き込み速度が向上するという効果を奏する。
【００１６】
また、本発明によれば、判定手段が、第１の記憶手段が備える複数のブロックに記憶されている外部アドレスと対応付けられたデータの合計数が、特定数になっていないと判定した場合、外部アドレスと対応付けられたデータが記憶されていないブロックに対して、新たに外部から供給されるデータを書き込むことができるので、データの消去回数を抑えながら、データを書き込む同一ブロック内にある以前に記憶した有効データが破壊されて読み出せなくなることを防止することができ、データの書き込み速度が向上するという効果を奏する。
【００１７】
また、本発明によれば、判定手段が、第１の記憶手段が備える複数のブロックのいずれかに、新たなデータの書き込みにより外部アドレスと対応付けられたデータが消失するブロックがないと判定した場合、外部アドレスと対応付けられたデータが消失しないブロックに対して、新たに外部から供給されるデータを書き込むことができるので、データの消去回数を抑えながら、データを書き込む同一ブロック内にある以前に記憶した有効データが破壊されて読み出せなくなることを防止することができ、データの書き込み速度が向上するという効果を奏する。
【発明を実施するための最良の形態】
【００１８】
以下に添付図面を参照して、この発明にかかる半導体記憶装置および半導体記憶装置の制御方法の最良な実施の形態を詳細に説明する。
【００１９】
（第１の実施の形態）
図１は、第１の実施の形態にかかる半導体記憶装置の構成を示すブロック図である。半導体記憶装置１は、データを記憶し、ホストＩＦ２、ＤＲＡＭ３、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４、および、コントローラ５を備えて構成されている。ホストＩＦ２は、パーソナルコンピュータなどのホスト機器６とのデータ通信を行い、データを送受信する。
【００２０】
ＤＲＡＭ３は、稼働時には、ホスト機器６から供給された書き込みデータ、および、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４から読み出された読み出しデータである書き込み／読み出しデータ７を一時的に保存するメモリである。また、ＤＲＡＭ３は、稼働時には、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４から読み出されたアドレス変換テーブル８を一時的に保存する。アドレス変換テーブル８についての詳しい説明は、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４の説明の際に行う。
【００２１】
ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４は、ＭＬＣ型ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭであり、ＤＲＡＭ３に一時的に保存されているホスト機器６から供給されたデータを記憶する。ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４は、アドレス変換テーブル８、第１の記憶部９、第２の記憶部１０、および、ブロック管理リスト１１を備えて構成されている。
【００２２】
ここで、一般的なＭＬＣ型ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭの構造とその問題点について説明する。図２は、一般的なＭＬＣ型ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭの構造を説明する図である。なお、本図のＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭは、メモリセル当り２ビットの情報を記憶する。
【００２３】
ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭは、ブロックと呼ばれる消去動作の単位毎に区分されている。さらにブロックは、ページと呼ばれる書き込み／読み出しの単位毎に区分されていおり、ページ毎にメモリセルの何番目のビットに対応するかが決まっている。図の例では、１ブロックのページ番号は０〜７あり、ページ数は全部で８ページある。そして、データのページへの書き込みは、０、１、２、・・・７の順番に規定されている。さらに、図のページ番号４までデータが既に記憶されている。
【００２４】
通常、同一のメモリセルにおいて、最初に書き込むビットに対応するページをＬｏｗｅｒ  Ｐａｇｅと呼び、２番目に書き込むビットに対応するページをＵｐｐｅｒ  Ｐａｇｅと呼ぶ。従って、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭでは、同一のメモリセルを共有するＬｏｗｅｒ  ＰａｇｅとＵｐｐｅｒ  Ｐａｇｅの間では、Ｌｏｗｅｒ  Ｐａｇｅへのデータの書き込みが終了した後でなければ、Ｕｐｐｅｒ  Ｐａｇｅへのデータの書き込みをすることができない。ここでは、ページ番号０と１、２と３、４と５、および、６と７がそれぞれ同一のメモリセルを共有している。
【００２５】
このような構造のＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭでは、Ｕｐｐｅｒ  Ｐａｇｅへのデータの書き込み中に電源の供給が遮断されると、同一メモリセルのＬｏｗｅｒ  Ｐａｇｅに既に書き込んだデータも消失してしまうという問題がある。一方、Ｌｏｗｅｒ  Ｐａｇｅへデータを書き込んでいる最中に電源の供給が遮断された場合には、別のメモリセル（Ｌｏｗｅｒ  ＰａｇｅおよびＵｐｐｅｒ  Ｐａｇｅ）に既に書き込んだデータが消失する事態は発生しない。
【００２６】
つまり、Ｕｐｐｅｒ  Ｐａｇｅへデータを書き込みする場合にのみ、対応する同一メモリセルのＬｏｗｅｒ  Ｐａｇｅに書き込み済みのデータが破壊され消失してしまうという問題が発生する。図の例では、ページ番号５（Ｕｐｐｅｒ  Ｐａｇｅ）へのデータの書き込み中に電源の供給が遮断されると、同一のメモリセルを共有するページ番号４（Ｌｏｗｅｒ  Ｐａｇｅ）に記憶されていたデータも破壊されてしまう。
【００２７】
なお、同一メモリセルのＬｏｗｅｒ  ＰａｇｅおよびＵｐｐｅｒ  Ｐａｇｅが、複数のページを構成している場合には、同一メモリセルで構成される複数のページに対して、本問題が同様に発生する。
【００２８】
本問題は、本実施の形態にかかるＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４でも同じであり、前述した、アドレス変換テーブル８、第１の記憶部９、第２の記憶部１０、および、ブロック管理リスト１１も基本的には同じ構造である。そして、本実施の形態では、本問題が発生することを未然に防ぐことを目的としている。
【００２９】
アドレス変換テーブル８は、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４において、ホスト機器６から供給されたデータが記憶されているブロックのページ位置（アドレス）を示すテーブルである。従って、アドレス変換テーブル８は、ホスト機器６から供給されたデータがＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４に記憶されている位置（アドレス）を１ページ単位でテーブル内に記憶している。ここで、アドレス変換テーブル８にアドレスが記憶されているページのデータ（アドレス変換テーブル８が指すデータ）を有効データと呼ぶ。一方、アドレス変換テーブル８にアドレスが記憶されていないページのデータ（何らかのデータは記憶されているが、アドレス変換テーブル８が指さないデータ）を無効データと呼ぶ。
【００３０】
なお、アドレス変換テーブル８は、半導体記憶装置１が稼働を停止している時は、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４にのみ存在するが、ホスト機器６から半導体記憶装置１にデータの書き込み／読み出し指示があると、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４からアドレス変換テーブル８が読み出され、ＤＲＡＭ３に一時的に保存される。そして、後述するコントローラ５のアドレス変換部１４は、ＤＲＡＭ３に一時的に保存されたアドレス変換テーブル８に対してアドレス更新を行う。なお、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４におけるアドレス変換テーブル８のアドレス更新は、例えば半導体記憶装置１が稼働を停止する時など、任意のタイミングで行われる。
【００３１】
第１の記憶部９および第２の記憶部１０は、それぞれ前述したブロックを複数個備えており、各ブロックには、ホスト機器６から供給後ＤＲＡＭ３に一時保存されているデータが記憶される。なお、実際にデータが記憶されるブロックは、後述するコントローラ５の書き込み／読み出し指示部１３が、第１の記憶部９および第２の記憶部１０に属するブロックの中から選択する。図１では、第１の記憶部９には、ブロックＡ〜Ｄの４つのブロックが属しており、第２の記憶部１０には、ブロックＥ、Ｆの２つのブロックが属していることを示している。
【００３２】
ここで、第１の記憶部９に属するブロックには、ホスト機器６から供給後ＤＲＡＭ３に一時保存されている全てのデータが最初に書き込まれる。一方、第２の記憶部１０に属するブロックには、第１の記憶部９に書き込み可能なブロックが存在しない場合に、第１の記憶部９に属するブロックから後述するコントローラ５の移動部１６により指示されたデータのみが書き込まれる。
【００３３】
なお、第１の記憶部９に属するブロックと第２の記憶部１０に属するブロックとは、固定されているものではなく、後述するコントローラ５のブロック管理部１７により、動的に変更される。
【００３４】
ブロック管理リスト１１は、第１の記憶部９に属するブロックと、第２の記憶部１０に属するブロックとを管理するリストである。図３は、ブロック管理リスト１１を示す図である。本図では、第１の記憶部９に属するブロックは、ブロックＡ〜Ｄの４つのブロックであり、第２の記憶部１０に属するブロックは、ブロックＥ、Ｆの２つのブロックであることを示している。
【００３５】
なお、ブロック管理リスト１１は、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４にのみ存在しているが、ホスト機器６から半導体記憶装置１にデータの書き込み／読み出し指示があると、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４からブロック管理リスト１１が読み出され、ＤＲＡＭ３に一時的に保存されるようにしてもよい。その場合、後述するコントローラ５のブロック管理部１７は、ＤＲＡＭ３に一時的に保存されたブロック管理リスト１１に対して更新を行い、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４におけるブロック管理リスト１１の更新は、例えば半導体記憶装置１が稼働を停止する時など、任意のタイミングで行われる。
【００３６】
コントローラ５は、半導体記憶装置１の動作を制御する。コントローラ５は、ＣＰＵ１２を備えて構成されており、ＣＰＵ１２が実行する命令により半導体記憶装置１を制御する。ＣＰＵ１２は、書き込み／読み出し指示部１３、アドレス変換部１４、判定部１５、移動部１６、および、ブロック管理部１７を備えて構成されている。なお、実際には、ＣＰＵ１２が実行するプログラムが、書き込み／読み出し指示部１３、アドレス変換部１４、判定部１５、移動部１６、および、ブロック管理部１７を含むモジュール構成となっており、ＣＰＵ１２がＲＯＭなど（図示せず）から当該プログラムを読み出して実行することにより、書き込み／読み出し指示部１３、アドレス変換部１４、判定部１５、移動部１６、および、ブロック管理部１７がＣＰＵ１２に生成される。
【００３７】
書き込み／読み出し指示部１３は、ホスト機器６からの要求に従い、ＤＲＡＭ３からＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４（判定部１５が特定した第１の記憶部９に属するブロック）へのデータの書き込み、および、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４（第１の記憶部９または第２の記憶部１０に属するブロック）からＤＲＡＭ３へのデータの読み出しを指示する。
【００３８】
アドレス変換部１４は、ホスト機器６から供給されるデータの外部アドレスから、実際にＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４中のデータが記憶されているブロックのページ位置を変換する。アドレス変換部１４は、具体的には、ホスト機器６から供給されたデータがＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４に記憶された時に、データの外部アドレスと記憶されたブロックのページ位置とを対応付けてアドレス変換テーブル８に記憶し、後ほど、ホスト機器６から読み出し要求があると、その外部アドレスを対応するブロックのページ位置に変換する。従って、アドレス変換は、１ページ単位で行われる。
【００３９】
図４は、アドレス変換部１４によるアドレス変換方法を説明する図である。アドレス変換部１４は、アドレス変換テーブル８を用いて、ホスト機器６から供給される外部アドレスから、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４内のブロックのページ位置を変換する。なお、アドレス変換部１４による変換は、具体的には、ホスト機器６から供給される外部アドレスの上位部分の数ビットをＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４のブロックのページ位置に変換し、残りの下位部分の数ビットをページ内のデータ位置に変換することにより行われる。
【００４０】
本図では、外部アドレスから供給されるアドレスは４８ビットであり、外部アドレスのうち、ブロックのページ位置への変換には上位３７ビットが使用され、ページ内のデータ位置への変換には下位１１ビットが使用されているが、これは１ページあたりの記憶容量により異なる。ここで、アドレス変換テーブル８が記憶するＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４のブロックのページ位置のデータは、各外部アドレスに対応して記憶された有効データであり、このデータを消失することは許されない。
【００４１】
なお、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭを用いた半導体記憶装置では、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭへの書き込みの前には消去動作が必要であることや、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭの特定個所に集中して書き換えを行うと寿命を縮めてしまうといった理由から、ホスト機器から供給される外部アドレスのデータを任意のブロックのページに記憶できるように、アドレス変換部を導入することが一般的である。
【００４２】
判定部１５は、ホスト機器６からデータの書き込み要求がきた場合に、第１の記憶部９に有効データが記憶されていないブロックがあるかを判定し、そのブロックを特定する。具体的には、判定部１５は、第１の記憶部９に属するブロックのうち、アドレス変換テーブル８が指すデータ（有効データ）が記憶されていないブロックを特定する。そして、特定されたブロックに、書き込み／読み出し指示部１３がホスト機器６からのデータの書き込みを行う。
【００４３】
図５は、判定部１５による判定方法を説明する図である。本図では、第１の記憶部９に属するブロックは、ブロックＡ〜Ｄである。そして、ブロックＡ〜Ｄのなかで、有効データが記憶されていないブロック（アドレス変換テーブル８が指すデータが記憶されていないブロック）は、ブロックＡだけであり、判定部１５は、ブロックＡを特定する。
【００４４】
移動部１６は、ホスト機器６からデータの書き込み要求があり、第１の記憶部９に有効データが記憶されていないブロックがない場合、第１の記憶部９の各ブロックに記憶されている有効データを、第２の記憶部１０に属するブロックに移動する。移動部１６は、具体的には、第１の記憶部９の各ブロックに記憶されている有効データを、一旦ＤＲＡＭ３に読み出し、第２の記憶部１０のブロックへまとめて書き込む。
【００４５】
図６および図７は、移動部１６によるデータの移動方法を説明する図である。なお、図６は、移動部１６によるデータの移動前を表し、図７は、移動部１６によるデータの移動後を表している。図６では、第１の記憶部９に属するブロックＡ〜Ｄには、全て有効データが記憶されている。このため、移動部１６は、図７のように、ブロックＡ〜Ｄに記憶されている有効データを、第２の記憶部１０に属するブロックＥに移動する。なお、移動部１６がデータを移動した後、アドレス変換テーブル８のデータ位置は、アドレス変換部１４により移動先のデータ位置を指すように更新される。これにより、これまでブロックＡ〜Ｄに記憶されていた有効データはすべて無効データとなる。
【００４６】
ブロック管理部１７は、ブロック管理リスト１１、すなわち、第１の記憶部９に属するブロックと第２の記憶部１０に属するブロックをそれぞれ管理する。前述したように、ホスト機器６から供給されるデータの書き込みには、第１の記憶部のブロック９が使用され、移動部１６によるデータの移動時にのみ第２の記憶部１０のブロックが使用される。
【００４７】
そして、ブロック管理部１７は、移動部１６により第１の記憶部９のブロックに記憶されたデータが第２の記憶部１０のブロックに移動された後、データが移動されたブロックを第１の記憶部９に移動し、代わりに第１の記憶部９に属していたブロックのうち１つを第２の記憶部１０に移動するようにブロック管理リスト１１を変更する。前提条件として、第２の記憶部１０に移動されるブロックは、有効データが記憶されていないブロックである。
【００４８】
ここで、図６および図７をみると、図６の移動前にはブロック管理リスト１１の第２の記憶部１０に属していたブロックＥが、図７の移動後には第１の記憶部１０に移動し、代わりに、移動前には第１の記憶部９に属していたブロックＡが、第２の記憶部１０に移動していることがわかる。この例では、ブロックＡ〜Ｄのうち未使用のページが最も少ないブロックＡを第２の記憶部１０に移動している。これは、第２の記憶部１０に属するブロックの未使用ページは使用されていなくても、ブロックで一括の消去処理がされてしまうため、未使用ページが最も少ないブロックを第２の記憶部１０に移動することで無駄を少なくするためである。
【００４９】
そして、移動部１６およびブロック管理部１７により、第１の記憶部９に属していたブロックＡ〜Ｄの有効データは全てブロックＥに移動され、第２の記憶部１０に移動したブロックＡ以外のブロックＢ〜Ｄに対して、データの書き込みを行うことができる状態となる。
【００５０】
（データの書き込み方法）
次に、本実施の形態にかかる半導体記憶装置１において、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４に新しいデータを書き込みする方法について説明する。図８は、半導体記憶装置１がＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４に新しいデータを書き込みする方法を説明するフローチャートである。ホスト機器６から半導体記憶装置１に対して、データの書き込み指示があると、ホスト機器６から供給された書き込みデータは、ＤＲＡＭ３に一時的に保存される。
【００５１】
そして、判定部１５は、第１の記憶部９に有効なデータが記憶されていないブロックがあるか否かを判定する（ステップＳ１１）。具体的には、判定部１５は、第１の記憶部９に属するブロックのうち、アドレス変換テーブル８が指すデータ（有効データ）が記憶されていないブロックがあるか否かを判定する。
【００５２】
判定部１５は、第１の記憶部９に有効なデータが記憶されていないブロックがあると判定すると（ステップＳ１１：Ｙｅｓ）、そのブロックを特定し、書き込み／読み出し指示部１３は、第１の記憶部９の有効データが記憶されていないブロックに対してデータの書き込みを指示し（ステップＳ１２）、ブロックへのデータの書き込みが行われる。
【００５３】
一方、判定部１５は、第１の記憶部９に有効なデータが記憶されていないブロックがないと判定すると（ステップＳ１１：Ｎｏ）、移動部１６は、第１の記憶部９のブロックのうちいくつかのブロックの有効データを第２の記憶部１０のブロックに移動する（ステップＳ１３）。この場合、該当するブロックに存在する有効データを全て移動するようにし、移動後は、該当するブロックに有効データが一切残らないようにすることが望ましい。また、第２の記憶部１０のブロックが複数存在する場合には、有効データをまとめて複数のブロックに一度に移動してもよいが、移動する有効データの合計が、ブロック単位にまとまることが望ましい。
【００５４】
なお、前述したように、移動部１６は、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４のブロックに記憶されている有効データを、一旦ＤＲＡＭ３に読み出し、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４の他のブロックへ書き込んでいる。しかし、今回のホスト機器６からの書き込み指示以前に行われたホスト機器６からの読み出し指示により、該当する有効データがＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４から読み出され、ＤＲＡＭ３に一時的に保存されている場合には、そのデータを用いて書き込みを直接行ってもよい。この場合、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４のブロックに記憶されている有効データを、ＤＲＡＭ３に読み出す時間を省略することができる。
【００５５】
次に、アドレス変換部１４は、第２の記憶部１０のブロックに移動した有効データについてのアドレス変換テーブル８における内容を、有効データの移動先（第２の記憶部１０のブロック／ページ位置）を指すように更新する（ステップＳ１４）。
【００５６】
次に、ブロック管理部１７は、有効データの移動先の第２の記憶部１０のブロックを第１の記憶部９のリストに移動し、有効データの移動元であり現在は有効データが記憶されていない第１の記憶部９のブロックを第２の記憶部１０のリストに移動する（ステップＳ１５）。この場合、移動するブロックは、いくつでも構わない。
【００５７】
その後、ステップＳ１２で、書き込み／読み出し指示部１３は、第１の記憶部９の有効データが記憶されていないブロック（有効データが移動したブロック）に対してデータの書き込みを指示し、ブロックへのデータの書き込みが行われる。
【００５８】
最後に、アドレス変換部１４は、ブロックへの書き込みが行われたデータについてのアドレス変換テーブル８における内容を、データの移動先（第１の記憶部９のブロック／ページ位置）を指すように更新する（ステップＳ１６）。以上のステップを経て、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４に対する新しいデータの書き込みが終了する。
【００５９】
なお、ステップＳ１２で、第１の記憶部９の有効データが無いブロックが複数存在する場合は、書き込み／読み出し指示部１３は、いずれかのブロックを選択する必要がある。この場合、データの書き込みがされていない未使用のページが最も少ないブロックを選択すれば、未使用のページが多いブロックが残ることになる。そうすれば、この後、数ページにもわたる大きいサイズのデータの書き込み要求が来た時にも、消去操作なしでデータを書き込むことができるため、消去回数を削減し、半導体記憶装置１（ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４）の寿命を延ばすことが期待できる。ただし、選択方法はこれに限定されるものではなく、任意で選択することも可能である。
【００６０】
（変形例）
本実施の形態にかかる半導体記憶装置１では、判定部１５は、ホスト機器６からデータの書き込み要求がきた場合に、第１の記憶部９に有効データが記憶されていないブロックがあるかを判定し、そのブロックを特定する。しかしながら、この場合、第１の記憶部９に有効データが記憶されていないブロックがなくなるまで、移動部１６による有効データの移動は行わない。このため、判定部１５が有効データが記憶されていないブロックがないと判定すると、その際のデータの書き込み要求の開始から終了までの時間が非常に長くなってしまう。
【００６１】
これに対して、変形例として、判定部１５は、ホスト機器６からデータの書き込み要求がきた場合に、第１の記憶部９の各ブロックに記憶されている有効なデータの合計が１ブロック以上あるかどうかを判定し、それらのブロックを特定する。そして、移動部１６は、有効なデータの合計が１ブロック以上溜まるごとに、第１の記憶部９の各ブロックに記憶されている有効データを、第２の記憶部１０に属するブロックに移動することにより、データの書き込み要求の開始から終了までの時間を平均化（最も長くなる場合の時間を改善）することができる。
【００６２】
図９は、半導体記憶装置１がＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ４に新しいデータを書き込みする方法の変形例を説明するフローチャートである。ホスト機器６から半導体記憶装置１に対して、データの書き込み指示があると、判定部１５は、第１の記憶部９の各ブロックに記憶されている有効なデータの合計が１ブロック以上あるか否かを判定する（ステップＳ２１）。具体的には、判定部１５は、第１の記憶部９に属するブロックにおいて、アドレス変換テーブル８が指すデータ（有効データ）の合計が１ブロック以上あるか否かを判定する。
【００６３】
そして、判定部１５は、第１の記憶部９の各ブロックに記憶されている有効なデータの合計が１ブロック以上ないと判定すると（ステップＳ２１：Ｎｏ）、第１の記憶部９に有効なデータが記憶されていないブロックを特定し、書き込み／読み出し指示部１３は、第１の記憶部９の有効データが記憶されていないブロックに対してデータの書き込みを指示し（ステップＳ２２）、ブロックへのデータの書き込みが行われる。なお、この場合は、第１の記憶部９の各ブロックに記憶されている有効なデータの合計が１ブロック以上ない場合には、第１の記憶部９に有効なデータが記憶されていないブロックがあることを前提としている。
【００６４】
一方、判定部１５は、第１の記憶部９の各ブロックに記憶されている有効なデータの合計が１ブロック以上あると判定すると（ステップＳ２１：Ｙｅｓ）、移動部１６は、第１の記憶部９のブロックのうちいくつかのブロックの有効データ１ブロック分を第２の記憶部１０のブロックに移動する（ステップＳ２３）。その後のステップＳ２４〜Ｓ２６は、図８のステップＳ１４〜Ｓ１６と同じであるので説明を省略する。
【００６５】
なお、変形例では、第１の記憶部９の各ブロックに記憶されている有効なデータの合計が１ブロック以上あるかどうかを、移動部１６によるデータ移動の判定基準としているが、ｎ（ｎは自然数）ブロック以上あるかどうかを判定基準としてもよい。
【００６６】
このように、第１の実施の形態にかかる半導体記憶装置によれば、判定部が、第１の記憶部が備える複数のブロックのいずれかに、外部アドレスと対応付けられたデータが記憶されていないと判定した場合、外部アドレスと対応付けられたデータが記憶されていないブロックに対して、新たに外部から供給されるデータを書き込むことができるので、データの消去回数を抑えながら、データを書き込む同一ブロック内にある以前に記憶した有効データが破壊されて読み出せなくなることを防止することができ、データの書き込み速度を向上させることが可能となる。
【００６７】
さらに、第１の実施の形態にかかる半導体記憶装置によれば、判定部が、第１の記憶部が備える複数のブロックの全てに、外部アドレスと対応付けられたデータが記憶されていると判定した場合、移動部が、第１の記憶部が備える複数のブロックが記憶する外部アドレスと対応付けられたデータを、第２の記憶部が備えるブロックに移動し、外部アドレスと対応付けられたデータが移動した後のブロックに対して、新たに外部から供給されるデータを書き込むことができるので、データの消去回数を抑えながら、データを書き込む同一ブロック内にある以前に記憶した有効データが破壊されて読み出せなくなることを防止することができ、データの書き込み速度を向上させることが可能となる。
【００６８】
さらに、第１の実施の形態にかかる半導体記憶装置によれば、判定部が、第１の記憶部が備える複数のブロックに記憶されている外部アドレスと対応付けられたデータの合計数が、特定数になっていないと判定した場合、外部アドレスと対応付けられたデータが記憶されていないブロックに対して、新たに外部から供給されるデータを書き込むことができるので、データの消去回数を抑えながら、データを書き込む同一ブロック内にある以前に記憶した有効データが破壊されて読み出せなくなることを防止することができ、データの書き込み速度を向上させるとともに、データの書き込み要求の開始から終了までの時間を平均化させることが可能となる。
【００６９】
（第２の実施の形態）
第１の実施の形態では、第１の記憶部に有効なデータが記憶されていないブロックがない場合に、第１の記憶部のブロックの有効データを第２の記憶部のブロックに移動するが、第２の実施の形態では、第１の記憶部にデータが消失する可能性のある有効なデータが記憶されていないブロックがない場合に、第１の記憶部のブロックの有効データを第２の記憶部のブロックに移動する。第２の実施の形態について、添付図面を参照して説明する。本実施の形態にかかる半導体記憶装置の構成について、第１の実施の形態と異なる部分を説明する。他の部分については第１の実施の形態と同様であるので、同一の符号が付された箇所については、上述した説明を参照し、ここでの説明を省略する。
【００７０】
第１の実施の形態の図２で説明したように、Ｕｐｐｅｒ  Ｐａｇｅへデータを書き込みする場合には、対応する同一メモリセルのＬｏｗｅｒ  Ｐａｇｅに書き込み済みのデータが破壊され消失してしまうという問題が発生する。図２の例では、ページ番号５（Ｕｐｐｅｒ  Ｐａｇｅ）へのデータの書き込み中に電源の供給が遮断されると、同一のメモリセルを共有するページ番号４（Ｌｏｗｅｒ  Ｐａｇｅ）に記憶されているデータが破壊される。
【００７１】
ここで、Ｌｏｗｅｒ  Ｐａｇｅ（ページ番号４）に記憶されているデータが無効データであれば、万が一、書き込みに失敗したとしても、有効データが消失することがないため書き込みを行っても問題はない。同様に、Ｌｏｗｅｒ  Ｐａｇｅから書き込みを開始する場合にも、書き込みの失敗により、有効データが消失することはない。本実施の形態にかかる半導体記憶装置では、この点に着目している。
【００７２】
図１０は、第２の実施の形態にかかる半導体記憶装置の構成を示すブロック図である。半導体記憶装置２１は、ホストＩＦ２、ＤＲＡＭ３、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ２２、および、コントローラ２３を備えて構成されている。また、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ２２は、アドレス変換テーブル８、第１の記憶部９、第２の記憶部１０、ブロック管理リスト１１、および、ブロック記憶管理リスト２４を備えて構成されている。
【００７３】
ブロック記憶管理リスト２４は、各ブロックの何ページまでデータが記憶されているかを示すリストである。図１１は、ブロック記憶管理リスト２４を示す図である。本図では、あるブロックについてブロック内の４ページまでデータが記憶されており、５ページ以降は未使用であることを示している。ブロック記憶管理リスト２４は、第１の記憶ブロック９および第２の記憶部１０に属する全てのブロックの記憶状態について記憶している。
【００７４】
なお、ブロック記憶管理リスト２４は、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ２２にのみ存在しているが、ホスト機器６から半導体記憶装置２１にデータの書き込み／読み出し指示があると、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ２２からブロック記憶管理リスト２４が読み出され、ＤＲＡＭ３に一時的に保存されるようにしてもよい。その場合、後述するコントローラ２３のブロック記憶管理部２７は、ＤＲＡＭ３に一時的に保存されたブロック記憶管理リスト２４に対して更新を行い、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ２２におけるブロック記憶管理リスト２４の更新は、半導体記憶装置２１が稼働を停止する時など、例えば任意のタイミングで行われる。
【００７５】
コントローラ２３は、ＣＰＵ２５を備えて構成されており、ＣＰＵ２５が実行する命令により半導体記憶装置２１を制御する。ＣＰＵ２５は、書き込み／読み出し指示部１３、アドレス変換部１４、判定部２６、移動部１６、ブロック管理部１７、および、ブロック記憶管理部２７を備えて構成されている。
【００７６】
判定部２６は、ホスト機器６からデータの書き込み要求がきた場合に、第１の記憶部９に属するブロックの中で、新たなデータの書き込みにより有効データが消失する可能性のないブロックがあるかを判定し、そのブロックを特定する。判定部２６は、具体的には、アドレス変換テーブル８、および、ブロック記憶管理リスト２４を用いて、新たなデータの書き込みの開始がＵｐｐｅｒ  Ｐａｇｅからであり、かつ、そのページのＬｏｗｅｒ  Ｐａｇｅに記憶されているデータが無効データであるブロック、または、新たなデータの書き込みの開始がＬｏｗｅｒ  Ｐａｇｅからであるブロックがあるかを判定し、そのブロックを特定する。
【００７７】
図１２は、判定部２６による判定方法を説明する図である。ここで、図の各ブロックに記述されているＬは、Ｌｏｗｅｒ  Ｐａｇｅであることを意味し、図の各ブロックに記述されているＵは、Ｕｐｐｅｒ  Ｐａｇｅであることを意味する。本図では、第１の記憶部９に属するブロックは、ブロックＡ〜Ｄである。そして、ブロックＡ〜Ｄのなかで、ブロックＡは、新たなデータの書き込みの開始がＬｏｗｅｒ  Ｐａｇｅからであり、新たなデータの書き込み先として使用することが可能となる。同様に、ブロックＤは、新たなデータの書き込みの開始がＵｐｐｅｒ  Ｐａｇｅからであり、かつ、そのページのＬｏｗｅｒ  Ｐａｇｅに記憶されているデータが無効データであるので、新たなデータの書き込み先として使用することが可能となる。図では、判定部２６は、ブロックＤを特定しているが、ブロックＡを特定してもよい。
【００７８】
そして、移動部１６は、ホスト機器６からデータの書き込み要求があり、第１の記憶部９に属するブロックの中で、新たなデータの書き込みにより有効データが消失する可能性のないブロックがない場合、第１の記憶部９の各ブロックに記憶されている有効データを、第２の記憶部１０に属するブロックに移動する。
【００７９】
ブロック記憶管理部２７は、ブロック記憶管理リスト２４、すなわち、第１の記憶部９および第２の記憶部１０に属するブロックの各ページの記憶状態をそれぞれ管理する。
【００８０】
（データの書き込み方法）
次に、本実施の形態にかかる半導体記憶装置２１において、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ２２に新しいデータを書き込みする方法について説明する。図１３は、半導体記憶装置２１がＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ２２に新しいデータを書き込みする方法を説明するフローチャートである。ホスト機器６から半導体記憶装置２１に対して、データの書き込み指示があると、ホスト機器６から供給された書き込みデータは、ＤＲＡＭ３に一時的に保存される。
【００８１】
そして、判定部２６は、第１の記憶部９に属するブロックの中で、新たなデータの書き込みにより有効データが消失する可能性のないブロックがあるか否かを判定する（ステップＳ３１）。具体的には、判定部２６は、新たなデータの書き込みの開始がＵｐｐｅｒ  Ｐａｇｅからであり、かつ、そのページのＬｏｗｅｒ  Ｐａｇｅに記憶されているデータが無効データであるブロック、または、新たなデータの書き込みの開始がＬｏｗｅｒ  Ｐａｇｅからであるブロックがあるか否かを判定する。
【００８２】
判定部２６は、第１の記憶部９に属するブロックの中で、新たなデータの書き込みにより有効データが消失する可能性のないブロックがあると判定すると（ステップＳ３１：Ｙｅｓ）、そのブロックを特定し、書き込み／読み出し指示部１３は、第１の記憶部９の有効データが記憶されていないブロックに対してデータの書き込みを指示し（ステップＳ３２）、ブロックへのデータの書き込みが行われる。
【００８３】
一方、判定部２６は、第１の記憶部９に属するブロックの中で、新たなデータの書き込みにより有効データが消失する可能性のないブロックがないと判定すると（ステップＳ３１：Ｎｏ）、移動部１６は、第１の記憶部９のブロックのうちいくつかのブロックの有効データを第２の記憶部１０のブロックに移動する（ステップＳ３３）。この場合、該当するブロックに存在する有効データを全て移動するようにし、移動後は、該当するブロックに有効データが一切残らないようにすることが望ましい。また、第２の記憶部１０のブロックが複数存在する場合には、有効データをまとめて複数のブロックに一度に移動してもよいが、移動する有効データの合計が、ブロック単位にまとまることが望ましい。
【００８４】
次に、アドレス変換部１４は、第２の記憶部１０のブロックに移動した有効データについてのアドレス変換テーブル８における内容を、有効データの移動先（第２の記憶部１０のブロック／ページ位置）を指すように更新する（ステップＳ３４）。
【００８５】
次に、ブロック管理部１７は、有効データの移動先の第２の記憶部１０のブロックを第１の記憶部９のリストに移動し、有効データの移動元であり現在は有効データが記憶されていない第１の記憶部９のブロックを第２の記憶部１０のリストに移動する（ステップＳ３５）。この場合、移動するブロックは、いくつでも構わない。
【００８６】
その後、ステップＳ３２で、書き込み／読み出し指示部１３は、第１の記憶部９の有効データが記憶されていないブロック（有効データが移動したブロック）に対してデータの書き込みを指示し、ブロックへのデータの書き込みが行われる。
【００８７】
次に、ブロック記憶管理部２７は、ブロック記憶管理リスト２４の内容、すなわち、第１の記憶部９および第２の記憶部１０に属するブロックの各ページの記憶状態をそれぞれ更新する（ステップＳ３６）。
【００８８】
最後に、アドレス変換部１４は、ブロックへの書き込みが行われたデータについてのアドレス変換テーブル８における内容を、データの移動先（第１の記憶部９のブロック／ページ位置）を指すように更新する（ステップＳ３７）。以上のステップを経て、ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ２２に対する新しいデータの書き込みが終了する。
【００８９】
このように、第２の実施の形態にかかる半導体記憶装置によれば、判定部が、第１の記憶部に、新たなデータの書き込みにより外部アドレスと対応付けられたデータが消失するブロックがないと判定した場合、外部アドレスと対応付けられたデータが消失しないブロックに対して、新たに外部から供給されるデータを書き込むことができるので、データの消去回数を抑えながら、データを書き込む同一ブロック内にある以前に記憶した有効データが破壊されて読み出せなくなることを防止することができ、データの書き込み速度を向上させることが可能となる。
【００９０】
さらに、第２の実施の形態にかかる半導体記憶装置によれば、判定部が、書き込みに失敗したとしても有効データが消失することがないブロックを、新たに外部から供給されるデータを書き込むブロックとして特定することができるので、書き込み先のブロックとして選択できるブロックが増え、移動部によるデータの移動を実行する機会を少なくすることができ、書き換え寿命を延ばすことが可能となる。
【産業上の利用可能性】
【００９１】
本発明は、データを記憶する全ての半導体記憶装置に有用である。
【図面の簡単な説明】
【００９２】
【図１】第１の実施の形態にかかる半導体記憶装置の構成を示すブロック図である。
【図２】一般的なＭＬＣ型ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭの構造を説明する図である。
【図３】ブロック管理リストを示す図である。
【図４】アドレス変換部によるアドレス変換方法を説明する図である。
【図５】判定部による判定方法を説明する図である。
【図６】移動部によるデータの移動方法を説明する図である。
【図７】移動部によるデータの移動方法を説明する図である。
【図８】半導体記憶装置がＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭに新しいデータを書き込みする方法を説明するフローチャートである。
【図９】半導体記憶装置がＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭに新しいデータを書き込みする方法の変形例を説明するフローチャートである。
【図１０】第２の実施の形態にかかる半導体記憶装置の構成を示すブロック図である。
【図１１】ブロック記憶管理リストを示す図である。
【図１２】判定部による判定方法を説明する図である。
【図１３】半導体記憶装置がＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭに新しいデータを書き込みする方法を説明するフローチャートである。
【符号の説明】
【００９３】
１、２１  半導体記憶装置
２  ホストＩＦ
３  ＤＲＡＭ
４、２２  ＮＡＮＤ  Ｆｌａｓｈ  ＲＯＭ
５、２３  コントローラ
６  ホスト機器
７  書き込み／読み出しデータ
８  アドレス変換テーブル
９  第１の記憶部
１０  第２の記憶部
１１  ブロック管理リスト
１２、２５  ＣＰＵ
１３  書き込み／読み出し指示部
１４  アドレス変換部
１５、２６  判定部
１６  移動部
１７  ブロック管理部
２４  ブロック記憶管理リスト
２７  ブロック記憶管理部
【図１】
2010146469.tif 000003
【図２】
2010146469.tif 000004
【図３】
2010146469.tif 000005
【図４】
2010146469.tif 000006
【図５】
2010146469.tif 000007
【図６】
2010146469.tif 000008
【図７】
2010146469.tif 000009
【図８】
2010146469.tif 000010
【図９】
2010146469.tif 000011
【図１０】
2010146469.tif 000012
【図１１】
2010146469.tif 000013
【図１２】
2010146469.tif 000014
【図１３】
2010146469.tif 000015
【手続補正書】
【提出日】平成22年2月25日(2010.2.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
外部から供給されるデータを記憶するブロックを複数個備える第１の記憶手段と、
前記第１の記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示手段と、
前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換手段と、
前記アドレス変換手段で変換されたブロックにおける記憶位置を利用して、前記第１の記憶手段が備える複数の前記ブロックに、前記外部アドレスと対応付けられた前記データが記憶されているかを判定する判定手段と、
前記ブロックを複数個備える第２の記憶手段と、
前記第１の記憶手段が備える前記ブロックが記憶する前記データを、前記第２の記憶手段が備える前記ブロックに移動する移動手段と、を備え、
前記書き込み指示手段は、前記判定手段が、前記第１の記憶手段が備える複数の前記ブロックのいずれかに、前記外部アドレスと対応付けられた前記データが記憶されていないと判定した場合、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示し、
前記移動手段は、前記判定手段が、前記第１の記憶手段が備える複数の前記ブロックの全てに、前記外部アドレスと対応付けられた前記データが記憶されていると判定した場合、前記第１の記憶手段が備える複数の前記ブロックが記憶する、前記外部アドレスと対応付けられた前記データを、前記第２の記憶手段が備える前記ブロックに移動し、
前記書き込み指示手段は、前記外部アドレスと対応付けられた前記データが移動した後の前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする半導体記憶装置。
【請求項２】
前記第１の記憶手段が備える前記ブロックと、前記第２の記憶手段が備える前記ブロックとを入れ替える入れ替え手段をさらに備えたこと、
を特徴とする請求項１に記載の半導体記憶装置。
【請求項３】
外部から供給されるデータを記憶するブロックを複数個備える第１の記憶手段と、
前記第１の記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示手段と、
前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換手段と、
前記アドレス変換手段で変換されたブロックにおける記憶位置を利用して、前記第１の記憶手段が備える複数の前記ブロックに、前記外部アドレスと対応付けられた前記データが記憶されているかを判定する判定手段と、を備え、
前記書き込み指示手段は、前記判定手段が、前記第１の記憶手段が備える複数の前記ブロックのいずれかに、前記外部アドレスと対応付けられた前記データが記憶されていないと判定した場合、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックのうち、前記データの書き込み量が多い前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする半導体記憶装置。
【請求項４】
外部から供給されるデータを記憶する前記ブロックを複数個備える第１の記憶手段と、
前記第１の記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示手段と、
前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換手段と、
前記アドレス変換手段で変換されたブロックにおける記憶位置を利用して、前記第１の記憶手段が備える複数の前記ブロックに記憶されている前記外部アドレスと対応付けられた前記データの合計数を判定する判定手段と、を備え、
前記書き込み指示手段は、前記判定手段が、前記第１の記憶手段が備える複数の前記ブロックに記憶されている前記外部アドレスと対応付けられた前記データの合計数が、特定数になっていないと判定した場合、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする半導体記憶装置。
【請求項５】
前記ブロックを複数個備える第２の記憶手段と、
前記第１の記憶手段が備える前記ブロックが記憶する前記データを、前記第２の記憶手段が備える前記ブロックに移動する移動手段と、をさらに備え、
前記移動手段は、前記判定手段が、前記第１の記憶手段が備える複数の前記ブロックに記憶されている前記外部アドレスと対応付けられた前記データの合計数が、前記特定数になっていると判定した場合、前記第１の記憶手段が備える複数の前記ブロックが記憶する、前記外部アドレスと対応付けられた前記データを、前記第２の記憶手段が備える前記ブロックに移動し、
前記書き込み指示手段は、前記外部アドレスと対応付けられた前記データが移動した後の前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする請求項４に記載の半導体記憶装置。
【請求項６】
前記書き込み指示手段は、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックのうち、前記データの書き込み量が多い前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする請求項４または５に記載の半導体記憶装置。
【請求項７】
前記第１の記憶手段が備える前記ブロックと、前記第２の記憶手段が備える前記ブロックとを入れ替える入れ替え手段をさらに備えたこと、を特徴とする請求項４から６のいずれか一項に記載の半導体記憶装置。
【請求項８】
前記特定数は、前記ブロックの１ブロック分に相当する数であること、を特徴とする請求項４から７のいずれか一項に記載の半導体記憶装置。
【請求項９】
前記特定数は、前記ブロックの複数ブロック分に相当する数であること、を特徴とする請求項４から７のいずれか一項に記載の半導体記憶装置。
【請求項１０】
外部から供給されるデータを記憶するブロックを複数個備える第１の記憶手段と、
前記第１の記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示手段と、
前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換手段と、
前記ブロックにおける前記データの記憶状態を管理する管理手段と、
前記アドレス変換手段で変換されたブロックにおける記憶位置、および、前記管理手段で管理された前記データの記憶状態を利用して、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失するブロックがあるかを判定する判定手段と、
前記ブロックを複数個備える第２の記憶手段と、
前記第１の記憶手段が備える前記ブロックが記憶する前記データを、前記第２の記憶手段が備える前記ブロックに移動する移動手段と、を備え、
前記書き込み指示手段は、前記判定手段が、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失する可能性のない前記ブロックがあると判定した場合、前記外部アドレスと対応付けられた前記データが消失しない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示し、
前記移動手段は、前記判定手段が、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失する可能性のない前記ブロックがないと判定した場合、前記第１の記憶手段が備える複数の前記ブロックが記憶する、前記外部アドレスと対応付けられた前記データを、前記第２の記憶手段が備える前記ブロックに移動し、
前記書き込み指示手段は、前記外部アドレスと対応付けられた前記データが移動した後の前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする半導体記憶装置。
【請求項１１】
前記第１の記憶手段が備える前記ブロックと、前記第２の記憶手段が備える前記ブロックとを入れ替える入れ替え手段をさらに備えたこと、
を特徴とする請求項１０に記載の半導体記憶装置。
【請求項１２】
外部から供給されるデータを記憶するブロックを複数個備える第１の記憶手段と、
前記第１の記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示手段と、
前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換手段と、
前記ブロックにおける前記データの記憶状態を管理する管理手段と、
前記アドレス変換手段で変換されたブロックにおける記憶位置、および、前記管理手段で管理された前記データの記憶状態を利用して、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失するブロックがあるかを判定する判定手段と、を備え、
前記書き込み指示手段は、前記判定手段が、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失する可能性のない前記ブロックがあると判定した場合、前記外部アドレスと対応付けられた前記データが消失しない前記ブロックのうち、前記データの書き込み量が多い前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする半導体記憶装置。
【請求項１３】
外部から供給されるデータを記憶するブロックを複数個備える第１の記憶手段と、前記ブロックを複数個備える第２の記憶手段と、を備える半導体記憶装置の制御方法であって、
書き込み指示手段が、前記第１の記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示ステップと、
アドレス変換手段が、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換ステップと、
判定手段が、前記アドレス変換ステップで変換されたブロックにおける記憶位置を利用して、前記第１の記憶手段が備える複数の前記ブロックに、前記外部アドレスと対応付けられた前記データが記憶されているかを判定する判定ステップと、
移動手段が、前記第１の記憶手段が備える前記ブロックが記憶する前記データを、前記第２の記憶手段が備える前記ブロックに移動する移動ステップと、を含み、
前記書き込み指示ステップは、前記判定手段ステップで、前記第１の記憶手段が備える複数の前記ブロックのいずれかに、前記外部アドレスと対応付けられた前記データが記憶されていないと判定した場合、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示し、
前記移動ステップは、前記判定ステップで、前記第１の記憶手段が備える複数の前記ブロックの全てに、前記外部アドレスと対応付けられた前記データが記憶されていると判定した場合、前記第１の記憶手段が備える複数の前記ブロックが記憶する、前記外部アドレスと対応付けられた前記データを、前記第２の記憶手段が備える前記ブロックに移動し、
前記書き込み指示ステップは、前記外部アドレスと対応付けられた前記データが移動した後の前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする半導体記憶装置の制御方法。
【請求項１４】
外部から供給されるデータを記憶するブロックを複数個備える記憶手段を備える半導体記憶装置の制御方法であって、
書き込み指示手段が、前記記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示ステップと、
アドレス変換手段が、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換ステップと、
判定手段が、前記アドレス変換ステップで変換されたブロックにおける記憶位置を利用して、前記記憶手段が備える複数の前記ブロックに、前記外部アドレスと対応付けられた前記データが記憶されているかを判定する判定ステップと、を含み、
前記書き込み指示ステップは、前記判定手段ステップで、前記記憶手段が備える複数の前記ブロックのいずれかに、前記外部アドレスと対応付けられた前記データが記憶されていないと判定した場合、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックのうち、前記データの書き込み量が多い前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする半導体記憶装置の制御方法。
【請求項１５】
外部から供給されるデータを記憶するブロックを複数個備える記憶手段を備える半導体記憶装置の制御方法であって、
書き込み指示手段が、前記記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示ステップと、
アドレス変換手段が、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換ステップと、
判定手段が、前記アドレス変換ステップで変換されたブロックにおける記憶位置を利用して、前記記憶手段が備える複数の前記ブロックに記憶されている前記外部アドレスと対応付けられた前記データの合計数を判定する判定ステップと、を含み、
前記書き込み指示ステップは、前記判定ステップで、前記記憶手段が備える複数の前記ブロックに記憶されている前記外部アドレスと対応付けられた前記データの合計数が、特定数になっていないと判定した場合、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする半導体記憶装置の制御方法。
【請求項１６】
外部から供給されるデータを記憶するブロックを複数個備える第１の記憶手段と、前記ブロックを複数個備える第２の記憶手段と、を備える半導体記憶装置の制御方法であって、
書き込み指示手段が、前記第１の記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示ステップと、
アドレス変換手段が、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換ステップと、
管理手段が、前記ブロックにおける前記データの記憶状態を管理する管理ステップと、
判定手段が、前記アドレス変換ステップで変換されたブロックにおける記憶位置、および、前記管理ステップで管理された前記データの記憶状態を利用して、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失するブロックがあるかを判定する判定ステップと、
移動手段が、前記第１の記憶手段が備える前記ブロックが記憶する前記データを、前記第２の記憶手段が備える前記ブロックに移動する移動ステップと、を含み、
前記書き込み指示ステップは、前記判定ステップで、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失する可能性のない前記ブロックがあると判定した場合、前記外部アドレスと対応付けられた前記データが消失しない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示し、
前記移動ステップは、前記判定ステップで、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失する可能性のない前記ブロックがないと判定した場合、前記第１の記憶手段が備える複数の前記ブロックが記憶する、前記外部アドレスと対応付けられた前記データを、前記第２の記憶手段が備える前記ブロックに移動し、
前記書き込み指示ステップは、前記外部アドレスと対応付けられた前記データが移動した後の前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする半導体記憶装置の制御方法。
【請求項１７】
外部から供給されるデータを記憶するブロックを複数個備える記憶手段を備える半導体記憶装置の制御方法であって、
書き込み指示手段が、前記記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示ステップと、
アドレス変換手段が、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換ステップと、
管理手段が、前記ブロックにおける前記データの記憶状態を管理する管理ステップと、
判定手段が、前記アドレス変換ステップで変換されたブロックにおける記憶位置、および、前記管理ステップで管理された前記データの記憶状態を利用して、前記記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失するブロックがあるかを判定する判定ステップと、を含み、
前記書き込み指示ステップは、前記判定ステップで、前記記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失する可能性のない前記ブロックがあると判定した場合、前記外部アドレスと対応付けられた前記データが消失しない前記ブロックのうち、前記データの書き込み量が多い前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、
を特徴とする半導体記憶装置の制御方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】変更
【補正の内容】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、外部から供給されるデータを記憶するブロックを複数個備える第１の記憶手段と、前記第１の記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示手段と、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換手段と、前記アドレス変換手段で変換されたブロックにおける記憶位置を利用して、前記第１の記憶手段が備える複数の前記ブロックに、前記外部アドレスと対応付けられた前記データが記憶されているかを判定する判定手段と、前記ブロックを複数個備える第２の記憶手段と、前記第１の記憶手段が備える前記ブロックが記憶する前記データを、前記第２の記憶手段が備える前記ブロックに移動する移動手段と、を備え、前記書き込み指示手段は、前記判定手段が、前記第１の記憶手段が備える複数の前記ブロックのいずれかに、前記外部アドレスと対応付けられた前記データが記憶されていないと判定した場合、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示し、前記移動手段は、前記判定手段が、前記第１の記憶手段が備える複数の前記ブロックの全てに、前記外部アドレスと対応付けられた前記データが記憶されていると判定した場合、前記第１の記憶手段が備える複数の前記ブロックが記憶する、前記外部アドレスと対応付けられた前記データを、前記第２の記憶手段が備える前記ブロックに移動し、前記書き込み指示手段は、前記外部アドレスと対応付けられた前記データが移動した後の前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、を特徴とする。
また、本発明は、外部から供給されるデータを記憶するブロックを複数個備える第１の記憶手段と、前記第１の記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示手段と、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換手段と、前記アドレス変換手段で変換されたブロックにおける記憶位置を利用して、前記第１の記憶手段が備える複数の前記ブロックに、前記外部アドレスと対応付けられた前記データが記憶されているかを判定する判定手段と、を備え、前記書き込み指示手段は、前記判定手段が、前記第１の記憶手段が備える複数の前記ブロックのいずれかに、前記外部アドレスと対応付けられた前記データが記憶されていないと判定した場合、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックのうち、前記データの書き込み量が多い前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、を特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
また、本発明は、外部から供給されるデータを記憶するブロックを複数個備える第１の記憶手段と、前記第１の記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示手段と、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換手段と、前記ブロックにおける前記データの記憶状態を管理する管理手段と、前記アドレス変換手段で変換されたブロックにおける記憶位置、および、前記管理手段で管理された前記データの記憶状態を利用して、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失するブロックがあるかを判定する判定手段と、前記ブロックを複数個備える第２の記憶手段と、前記第１の記憶手段が備える前記ブロックが記憶する前記データを、前記第２の記憶手段が備える前記ブロックに移動する移動手段と、を備え、前記書き込み指示手段は、前記判定手段が、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失する可能性のない前記ブロックがあると判定した場合、前記外部アドレスと対応付けられた前記データが消失しない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示し、前記移動手段は、前記判定手段が、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失する可能性のない前記ブロックがないと判定した場合、前記第１の記憶手段が備える複数の前記ブロックが記憶する、前記外部アドレスと対応付けられた前記データを、前記第２の記憶手段が備える前記ブロックに移動し、前記書き込み指示手段は、前記外部アドレスと対応付けられた前記データが移動した後の前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、を特徴とする。
また、本発明は、外部から供給されるデータを記憶するブロックを複数個備える第１の記憶手段と、前記第１の記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示手段と、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換手段と、前記ブロックにおける前記データの記憶状態を管理する管理手段と、前記アドレス変換手段で変換されたブロックにおける記憶位置、および、前記管理手段で管理された前記データの記憶状態を利用して、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失するブロックがあるかを判定する判定手段と、を備え、前記書き込み指示手段は、前記判定手段が、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失する可能性のない前記ブロックがあると判定した場合、前記外部アドレスと対応付けられた前記データが消失しない前記ブロックのうち、前記データの書き込み量が多い前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、を特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
また、本発明は、外部から供給されるデータを記憶するブロックを複数個備える第１の記憶手段と、前記ブロックを複数個備える第２の記憶手段と、を備える半導体記憶装置の制御方法であって、書き込み指示手段が、前記第１の記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示ステップと、アドレス変換手段が、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換ステップと、判定手段が、前記アドレス変換ステップで変換されたブロックにおける記憶位置を利用して、前記第１の記憶手段が備える複数の前記ブロックに、前記外部アドレスと対応付けられた前記データが記憶されているかを判定する判定ステップと、移動手段が、前記第１の記憶手段が備える前記ブロックが記憶する前記データを、前記第２の記憶手段が備える前記ブロックに移動する移動ステップと、を含み、前記書き込み指示ステップは、前記判定手段ステップで、前記第１の記憶手段が備える複数の前記ブロックのいずれかに、前記外部アドレスと対応付けられた前記データが記憶されていないと判定した場合、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示し、前記移動ステップは、前記判定ステップで、前記第１の記憶手段が備える複数の前記ブロックの全てに、前記外部アドレスと対応付けられた前記データが記憶されていると判定した場合、前記第１の記憶手段が備える複数の前記ブロックが記憶する、前記外部アドレスと対応付けられた前記データを、前記第２の記憶手段が備える前記ブロックに移動し、前記書き込み指示ステップは、前記外部アドレスと対応付けられた前記データが移動した後の前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、を特徴とする。
また、本発明は、外部から供給されるデータを記憶するブロックを複数個備える記憶手段を備える半導体記憶装置の制御方法であって、書き込み指示手段が、前記記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示ステップと、アドレス変換手段が、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換ステップと、判定手段が、前記アドレス変換ステップで変換されたブロックにおける記憶位置を利用して、前記記憶手段が備える複数の前記ブロックに、前記外部アドレスと対応付けられた前記データが記憶されているかを判定する判定ステップと、を含み、前記書き込み指示ステップは、前記判定手段ステップで、前記記憶手段が備える複数の前記ブロックのいずれかに、前記外部アドレスと対応付けられた前記データが記憶されていないと判定した場合、前記外部アドレスと対応付けられた前記データが記憶されていない前記ブロックのうち、前記データの書き込み量が多い前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、を特徴とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
また、本発明は、外部から供給されるデータを記憶するブロックを複数個備える第１の記憶手段と、前記ブロックを複数個備える第２の記憶手段と、を備える半導体記憶装置の制御方法であって、書き込み指示手段が、前記第１の記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示ステップと、アドレス変換手段が、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換ステップと、管理手段が、前記ブロックにおける前記データの記憶状態を管理する管理ステップと、判定手段が、前記アドレス変換ステップで変換されたブロックにおける記憶位置、および、前記管理ステップで管理された前記データの記憶状態を利用して、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失するブロックがあるかを判定する判定ステップと、移動手段が、前記第１の記憶手段が備える前記ブロックが記憶する前記データを、前記第２の記憶手段が備える前記ブロックに移動する移動ステップと、を含み、前記書き込み指示ステップは、前記判定ステップで、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失する可能性のない前記ブロックがあると判定した場合、前記外部アドレスと対応付けられた前記データが消失しない前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示し、前記移動ステップは、前記判定ステップで、前記第１の記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失する可能性のない前記ブロックがないと判定した場合、前記第１の記憶手段が備える複数の前記ブロックが記憶する、前記外部アドレスと対応付けられた前記データを、前記第２の記憶手段が備える前記ブロックに移動し、前記書き込み指示ステップは、前記外部アドレスと対応付けられた前記データが移動した後の前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、を特徴とする。
また、本発明は、外部から供給されるデータを記憶するブロックを複数個備える記憶手段を備える半導体記憶装置の制御方法であって、書き込み指示手段が、前記記憶手段が備える前記ブロックへ前記データの書き込みを指示する書き込み指示ステップと、アドレス変換手段が、前記データの外部アドレスと、前記データが記憶された前記ブロックにおける記憶位置とを対応付けた変換テーブルを用いて、前記データの外部アドレスをブロックにおける記憶位置に変換するアドレス変換ステップと、管理手段が、前記ブロックにおける前記データの記憶状態を管理する管理ステップと、判定手段が、前記アドレス変換ステップで変換されたブロックにおける記憶位置、および、前記管理ステップで管理された前記データの記憶状態を利用して、前記記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失するブロックがあるかを判定する判定ステップと、を含み、前記書き込み指示ステップは、前記判定ステップで、前記記憶手段に、新たな前記データの書き込みにより前記外部アドレスと対応付けられた前記データが消失する可能性のない前記ブロックがあると判定した場合、前記外部アドレスと対応付けられた前記データが消失しない前記ブロックのうち、前記データの書き込み量が多い前記ブロックに対して、新たに外部から供給される前記データの書き込みを指示すること、を特徴とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
本発明によれば、判定手段が、第１の記憶手段が備える複数のブロックのいずれかに、外部アドレスと対応付けられたデータが記憶されていないと判定した場合、外部アドレスと対応付けられたデータが記憶されていないブロックに対して、新たに外部から供給されるデータを書き込むことができるので、データの消去回数を抑えながら、データを書き込む同一ブロック内にある以前に記憶した有効データが破壊されて読み出せなくなることを防止することができ、データの書き込み速度が向上するという効果を奏する。
また、本発明によれば、判定手段が、第１の記憶手段が備える複数のブロックの全てに、外部アドレスと対応付けられたデータが記憶されていると判定した場合、移動手段が、第１の記憶手段が備える複数のブロックが記憶する外部アドレスと対応付けられたデータを、第２の記憶手段が備えるブロックに移動し、外部アドレスと対応付けられたデータが移動した後のブロックに対して、新たに外部から供給されるデータを書き込むことができるので、データの消去回数を抑えながら、データを書き込む同一ブロック内にある以前に記憶した有効データが破壊されて読み出せなくなることを防止することができ、データの書き込み速度が向上するという効果を奏する。
また、本発明によれば、判定手段が、第１の記憶手段が備える複数のブロックのいずれかに、外部アドレスと対応付けられたデータが記憶されていないと判定した場合、外部アドレスと対応付けられたデータが記憶されていないブロックのうち、データの書き込み量が多いブロックに対して、新たに外部から供給されるデータを書き込むことができるので、データの消去回数を更に抑えながら、データを書き込む同一ブロック内にある以前に記憶した有効データが破壊されて読み出せなくなることを防止することができ、データの書き込み速度が向上するという効果を奏する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
また、本発明によれば、判定手段が、第１の記憶手段が備える複数のブロックのいずれかに、新たなデータの書き込みにより外部アドレスと対応付けられたデータが消失するブロックがないと判定した場合、外部アドレスと対応付けられたデータが消失しないブロックに対して、新たに外部から供給されるデータを書き込むことができるので、データの消去回数を抑えながら、データを書き込む同一ブロック内にある以前に記憶した有効データが破壊されて読み出せなくなることを防止することができ、データの書き込み速度が向上するという効果を奏する。
また、本発明によれば、判定手段が、第１の記憶手段が備える複数のブロックのいずれかに、新たなデータの書き込みにより外部アドレスと対応付けられたデータが消失しないブロックがないと判定した場合、移動手段が、第１の記憶手段が備える複数のブロックが記憶する外部アドレスと対応付けられたデータを、第２の記憶手段が備えるブロックに移動し、外部アドレスと対応付けられたデータが移動した後のブロックに対して、新たに外部から供給されるデータを書き込むことができるので、データの消去回数を抑えながら、データを書き込む同一ブロック内にある以前に記憶した有効データが破壊されて読み出せなくなることを防止することができ、データの書き込み速度が向上するという効果を奏する。
また、本発明によれば、判定手段が、第１の記憶手段が備える複数のブロックのいずれかに、新たなデータの書き込みにより外部アドレスと対応付けられたデータが消失するブロックがないと判定した場合、外部アドレスと対応付けられたデータが消失しないブロックのうち、データの書き込み量が多いブロックに対して、新たに外部から供給されるデータを書き込むことができるので、データの消去回数を更に抑えながら、データを書き込む同一ブロック内にある以前に記憶した有効データが破壊されて読み出せなくなることを防止することができ、データの書き込み速度が向上するという効果を奏する。