(57)【要約】      （修正有）【課題】パフォーマンスを向上させる技術“レディブースト”が要求するランダムライト性能を得ることができる半導体記憶装置を提供する。【解決手段】論理アドレスから物理アドレスへの第１の変換が行われ、変換された物理アドレスが指定する領域への書き込みが行われる通常データ領域１２と、論理アドレスから物理アドレスへ、第１の変換とは異なる方式の第２の変換が行われ、第２の変換により変換された論理アドレスが指定する領域への書き込みが行われる追記バッファ領域１３と、コントローラ２０とを備える。コントローラ２０は、所定長以上のシーケンシャルライトを検出した場合は通常データ領域１２への書き込みを行う第１書き込みモードに移行し、前回の書き込み終了時の論理アドレスと次回の書き込み開始時の論理アドレスとの差分が所定範囲内にないことを検出した場合は追記バッファ領域１３への追記書き込みを行う第２書き込みモードに移行する。【選択図】図１
2010211618.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリセルを有するブロックを複数備え、ブロック単位で消去が行われる半導体記憶装置において、
複数のブロックを有し、論理アドレスから物理アドレスへの第１の変換が行われ、変換された前記物理アドレスが指定する領域への書き込みが行われる第１の記憶領域と、
複数のブロックを有し、論理アドレスから物理アドレスへ、前記第１の変換とは異なる方式の第２の変換が行われ、前記第２の変換により変換された物理アドレスが指定する領域への書き込みが行われる第２の記憶領域と、
前記第１の記憶領域及び前記第２の記憶領域への書き込みを制御するコントローラとを具備し、
前記コントローラは、所定長以上のシーケンシャルライトを検出した場合は前記第１の記憶領域への書き込みを行う第１の書き込みモードに移行し、
前回の書き込み終了時の論理アドレスと次回の書き込み開始時の論理アドレスとの差分が所定範囲内にないことを検出した場合は前記第２の記憶領域への追記書き込みを行う第２の書き込みモードに移行することを特徴とする半導体記憶装置。
【請求項２】
複数のメモリセルを有するブロックを複数備え、ブロック単位で消去が行われる半導体記憶装置において、
複数のブロックを有し、論理アドレスから物理アドレスへの変換が行われ、変換された前記物理アドレスが指定する領域への書き込みが行われる第１の記憶領域と、
複数のブロックを有し、論理アドレスから物理アドレスへ、前記第１の変換とは異なる方式の第２の変換が行われ、前記第２の変換により変換された物理アドレスが指定する領域への書き込みが行われる第２の記憶領域と、
前記第１の記憶領域及び前記第２の記憶領域への書き込みを制御するコントローラとを具備し、
前記コントローラは、所定記憶容量単位のランダムアドレスへの書き込みを検出したかどうかにより、前記第１の記憶領域への書き込みを行う第１の書き込みモード、あるいは前記第２の記憶領域への追記書き込みを行う第２の書き込みモードのいずれかに移行することを特徴とする半導体記憶装置。
【請求項３】
前記コントローラは、前記第１の書き込みモードにおける書き込みと並行して、前記第２の記憶領域から前記第１の記憶領域へのデータ移動を行うことを特徴とする請求項１または２に記載の半導体記憶装置。
【請求項４】
前記コントローラは、初期化処理の際に、前記第２の記憶領域から前記第１の記憶領域へのデータ移動を行うことを特徴とする請求項１乃至３のいずれかに記載の半導体記憶装置。
【請求項５】
外部から前記コントローラへのアクセスがない期間中に、前記第２の記憶領域から前記第１の記憶領域へのデータ移動を行うことを特徴とする請求項１乃至４のいずれかに記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置に関し、例えばフラッシュメモリデバイスに関するものである。
【背景技術】
【０００２】
従来、パーソナルコンピュータ（以下、ＰＣ）の主記憶（例えば、ＤＲＡＭ）の仮想記憶領域のスワップデータ保存先としてはハードディスク（ＨＤＤ）が使用されていたが、近年、ＵＳＢフラッシュメモリなどのフラッシュメモリ媒体をそのスワップデータ保存先として使用して、スワップ時の性能向上を図る動きがある。Microsoft（登録商標）がWindows（登録商標） Vista（登録商標）で搭載している“Readyboost(レディブースト)（登録商標）”機能はその代表的な例である。
【０００３】
このパフォーマンスを向上させる技術“レディブースト”機能を有効に使用するために、ＵＳＢフラッシュメモリには高速なランダムライト性能が要求される。Microsoftではレディブーストに使用できるＵＳＢフラッシュメモリとして、以下のような性能基準を決めている。ランダムライトとは、ランダムな論理アドレスへのデータ書き込みをいう。
【０００４】
（１）使用可能基準(Basic Logo)…５１２ＫＢ単位のランダムライト性能が２ＭＢ/sec以上
（２）推奨基準(Premium Logo)…５１２ＫＢ単位のランダムライト性能が３ＭＢ/sec以上
一方、ＵＳＢフラッシュメモリに使用されているＮＡＮＤフラッシュメモリは、大容量化の中で物理ブロックサイズが大きくなってきている（１ＭＢ以上）。ＮＡＮＤフラッシュメモリは、物理ブロック単位で消去し、かつ、ページ（１６ＫＢなど）単位でのブロック内のシーケンシャルライト（ページアドレスが小さい方から大きいほうへの順次書き込み）しかできないため、通常のデータ書き込み方式ではランダムライトに対してはデータ引越し（引越しコピー）が発生する。
【０００５】
ＵＳＢフラッシュメモリでは、物理ブロックサイズが大きいほどデータ引越しに伴う書き込み性能へのオーバーヘッドの影響が大きくなるため、レディブーストが要求するランダムライト性能を得ることが困難になる可能性がある。
【０００６】
なお、例えば特許文献１には、“Readyboost”と“Readydrive（登録商標）”のWindows PC アクセラレータを実装するためのフラッシュメモリとコントローラのシステムが開示されている。しかし、レディブーストが要求するランダムライト性能を得るための技術を提供するものではない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】米国特許出願公開第２００８／０１７２５１８ Ａ１号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、パフォーマンスを向上させる技術“レディブースト”が要求するランダムライト性能を得ることができる半導体記憶装置を提供する。
【課題を解決するための手段】
【０００９】
本発明の一実施態様の半導体記憶装置は、複数のメモリセルを有するブロックを複数備え、ブロック単位で消去が行われる半導体記憶装置において、複数のブロックを有し、論理アドレスから物理アドレスへの第１の変換が行われ、変換された前記物理アドレスが指定する領域への書き込みが行われる第１の記憶領域と、複数のブロックを有し、論理アドレスから物理アドレスへ、前記第１の変換とは異なる方式の第２の変換が行われ、前記第２の変換により変換された物理アドレスが指定する領域への書き込みが行われる第２の記憶領域と、前記第１の記憶領域及び前記第２の記憶領域への書き込みを制御するコントローラとを具備し、前記コントローラは、所定長以上のシーケンシャルライトを検出した場合は前記第１の記憶領域への書き込みを行う第１の書き込みモードに移行し、前回の書き込み終了時の論理アドレスと次回の書き込み開始時の論理アドレスとの差分が所定範囲内にないことを検出した場合は前記第２の記憶領域への追記書き込みを行う第２の書き込みモードに移行することを特徴とする。
【００１０】
本発明の他の実施態様の半導体記憶装置は、複数のメモリセルを有するブロックを複数備え、ブロック単位で消去が行われる半導体記憶装置において、複数のブロックを有し、論理アドレスから物理アドレスへの変換が行われ、変換された前記物理アドレスが指定する領域への書き込みが行われる第１の記憶領域と、複数のブロックを有し、論理アドレスから物理アドレスへ、前記第１の変換とは異なる方式の第２の変換が行われ、前記第２の変換により変換された物理アドレスが指定する領域への書き込みが行われる第２の記憶領域と、前記第１の記憶領域及び前記第２の記憶領域への書き込みを制御するコントローラとを具備し、前記コントローラは、所定記憶容量単位のランダムアドレスへの書き込みを検出したかどうかにより、前記第１の記憶領域への書き込みを行う第１の書き込みモード、あるいは前記第２の記憶領域への追記書き込みを行う第２の書き込みモードのいずれかに移行することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、パフォーマンスを向上させる技術“レディブースト”が要求するランダムライト性能を得ることができる半導体記憶装置を提供することが可能である。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１，第２実施形態のＵＳＢフラッシュメモリの構成を示すブロック図である。
【図２】第１，第２実施形態のＵＳＢフラッシュメモリにおける書き込み動作を示すフローチャートである。
【図３】第１，第２実施形態のＵＳＢフラッシュメモリにおける書き込み動作を示すフローチャートである。
【図４】第１実施形態のＵＳＢフラッシュメモリにおける書き込み動作を示すフローチャートである。
【図５】第１，第２実施形態の前記書き込み動作における追記バッファ領域への書き込みを示す図である。
【図６】第１，第２実施形態の前記書き込み動作における通常データ領域への書き込みを示す図である。
【図７】第１，第２実施形態の前記書き込み動作における追記バッファ領域から通常データ領域へのデータ移動を示す図である。
【図８】第２実施形態のＵＳＢフラッシュメモリにおける書き込み動作を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施形態について説明する。ここでは、半導体記憶装置としてＵＳＢフラッシュメモリを例に取る。説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【００１４】
［第１実施形態］
まず、本発明の第１実施形態のＵＳＢフラッシュメモリについて説明する。
【００１５】
図１は、第１実施形態のＵＳＢフラッシュメモリの構成を示すブロック図である。ＵＳＢフラッシュメモリは、ＮＡＮＤフラッシュメモリ１０とこのＮＡＮＤフラッシュメモリの動作を制御するコントローラ２０とを有する。ＮＡＮＤフラッシュメモリ１０は、複数のメモリセルを有するブロック（論理ブロック）を複数備え、ブロック単位で消去が行われる。ブロックサイズ（ブロックの記憶容量）は、例えば１ＭＢまたは１．５ＭＢである。
【００１６】
ＮＡＮＤフラッシュメモリ１０の各ブロックは、用途によって、論理物理変換テーブルやコントローラ制御情報などを記憶するシステムデータ領域１１、通常のデータを記憶する通常データ領域１２、ランダムライトを高速に処理するための追記バッファ領域１３に分類される。また、この他に、データ引越し用や不良ブロックの置き換えに使用するスペアブロック領域１４もある。論理物理変換テーブルは、論理アドレスを物理アドレスに変換するために使用するテーブルである。システムデータ領域１１、通常データ領域１２、追記バッファ領域１３、及びスペアブロック領域１４の各々は、複数の不揮発性メモリセルを有するブロックを複数備える。
【００１７】
例えば、記憶容量が４ＧＢのＵＳＢフラッシュメモリの場合、通常データ領域１２を４ＧＢ、追記バッファ領域１３を１２８ＭＢ、システムデータ領域１１を３２ＭＢ程度用意する。
【００１８】
コントローラ２０は、ＭＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、ＵＳＢインタフェース（ＵＳＢ Ｉ／Ｆ）２４、及びＮＡＮＤインタフェース（ＮＡＮＤ Ｉ／Ｆ）２５を含む。ＵＳＢインタフェース２４は、外部のホスト機器、例えばＰＣ（以下、ホストＰＣと記す）とコントローラ２０との間のインタフェース処理を行う。ＭＰＵ２１は、ＵＳＢフラッシュメモリにおける動作を制御する。詳述すると、ＭＰＵ２１は、書き込みコマンド、読み出しコマンド、及び消去コマンドをホストＰＣから受け取り、ＮＡＮＤフラッシュメモリ１０に対して所定の処理を実行したり、追記バッファ領域１３から通常データ領域１２へのデータ移動処理を実行したりする。
【００１９】
ＲＯＭ２２は、ＭＰＵ用のファームウェア（制御プログラム）、及び固定データなどを格納する。ＲＡＭ２３は、各種の変換テーブルや変数などを格納すると共に、ＭＰＵ２１のワークエリアとして使用される。ＮＡＮＤインタフェース２５は、コントローラ２０とＮＡＮＤフラッシュメモリ１０との間のインタフェース処理を行う。
【００２０】
以下に、第１実施形態のＵＳＢフラッシュメモリにおけるデータ書き込み動作を説明する。図２〜図４は、第１実施形態のＵＳＢフラッシュメモリにおけるデータ書き込み動作を示すフローチャートである。
【００２１】
書き込み動作がスタートすると、まず、ＲＡＭ２３が持つ「書き込み先フラグ」が追記バッファ領域１３に設定される、すなわち書き込み時の動作が「追記バッファ書き込みモード」に設定される（ステップＳ１）。続いて、ＭＰＵ２１は、書き込みデータをパケット通信にて受信する（ステップＳ２）。次に、ＭＰＵ２１はＲＡＭ２３に設定された「書き込み先フラグ」が追記バッファ領域１３に設定されているか否かを判定する（ステップＳ３）。
【００２２】
すなわち、コントローラ２０内のＲＡＭ２３には「書き込み先フラグ」があり、ＭＰＵ２１は「書き込み先フラグ」の状態を判定することにより、「追記バッファ書き込みモード」あるいは「通常書き込みモード」のいずれのモードを行うかを識別する。「追記バッファ書き込みモード」は、ホストＰＣから受信した書き込みデータを追記バッファ領域１３に書き込むモードであり、「通常書き込みモード」は書き込みデータを通常データ領域１２に書き込むモードである。パワーオン後の初期状態では、「書き込み先フラグ」は「追記バッファ書き込みモード」になっている。
【００２３】
次に、「書き込み先フラグ」が追記バッファ領域１３に設定されているときは、（１）へ進み、ステップＳ４以降の「追記バッファ書き込みモード」の処理を行う。
【００２４】
ステップＳ４では、書き込みデータの書き込み論理アドレス及び書き込みデータサイズをＲＡＭ２３に記憶する。続いて、追記バッファ領域１３に空き領域があるか否かを判定する（ステップＳ５）。追記バッファ領域１３に空き領域があるときは、受信した書き込みデータを追記バッファ領域１３に追記書き込みする（ステップＳ６）。さらに、書き込みデータの書き込み論理アドレス及び書き込みデータサイズをシステムデータ領域１１に記憶する（ステップＳ７）。
【００２５】
すなわち、図２のステップＳ３で、「追記バッファ書き込みモード」にあるとき（（１）へ）、かつ、追記バッファ領域１３にデータ書き込みのための空き領域があるとき（図３のステップＳ５でＹＥＳのとき）は、ＭＰＵ２１はホストＰＣから受信した書き込みデータを追記バッファ領域１３に追記書き込みする（ステップＳ４〜Ｓ６）。さらに、書き込みデータの書き込み論理アドレス及び書き込みデータサイズ（データ長）をシステムデータ領域１１に記憶する（ステップＳ７）。
【００２６】
ここで、「追記書き込み」とは、図５に示すように、受信した書き込みデータをそのまま追記バッファ領域１３に書き込み、その書き込み論理アドレスと書き込みデータサイズをシステムデータ領域１１に記憶テーブルとして記憶する処理をいう。追記書き込みでは、図６に示すように、通常の書き込みのような引越し処理が発生しないため、ランダムライトを高速に処理できる。
【００２７】
なお、追記書き込みによって、通常データ領域１２にそれまでに保存されたデータやそれまでに追記書き込みされたデータとの間に論理アドレスの重複が生じる。そこで、追記書き込みした書き込み論理アドレス、及び書き込みデータサイズをシステムデータ領域１１に書き込む必要がある。また、追記バッファ領域１３は追記書き込みを繰り返すうちにいつかあふれるので、図７に示すように、所定のタイミングで追記バッファ領域１３に記憶されているデータを通常データ領域１２に移動させて、追記バッファ領域１３の空き領域を確保する処理が必要になる。所定のタイミングは、後述のステップＳ１４に記したように、通常データ領域１２への書き込みを行った直後でもよいし、あるいは通常データ領域１２への書き込みと並行であってもよい。さらに、初期化処理の際でもよいし、外部からコントローラへのアクセスがない期間中であってもよい。
【００２８】
次に、ＭＰＵ２１は、これまでのデータパケット通信を含めて、１ＭＢ以上の連続した論理アドレスへの書き込みが発生したか否かを判定する（ステップＳ８）。１ＭＢ以上の連続した論理アドレスへの書き込みが発生していないときは、（２）へ進み、ステップＳ２へ戻り、ステップＳ２以降の処理を行う。
【００２９】
一方、１ＭＢ以上の連続した論理アドレスへの書き込みが発生したときは、「書き込み先フラグ」が通常データ領域１２に設定される、すなわち書き込み時の動作が「通常書き込みモード」に設定される（ステップＳ９）。その後、（２）へ進み、ステップＳ２へ戻り、ステップＳ２以降の処理を行う。
【００３０】
すなわち、「追記バッファ書き込みモード」にあるときに、ＭＰＵ２１が一定長（図３の例では１ＭＢ）以上のシーケンシャルライトを検出すると、ＭＰＵ２１は、以後「書き込み先フラグ」を「通常書き込みモード」に設定する（ステップＳ８、Ｓ９）。
【００３１】
次に、ステップＳ３における「書き込み先フラグ」が追記バッファ領域１３に設定されているか否かを判定において、「書き込み先フラグ」が追記バッファ領域１３に設定されていないとき、すなわち「書き込み先フラグ」が通常データ領域１２に設定されているときは、（３）へ進み、ステップＳ１０へ移行して、ステップＳ１０以降の「通常書き込みモード」の処理を行う。
【００３２】
ステップＳ１０では、書き込みデータの書き込み論理アドレス及び書き込みデータサイズをＲＡＭ２３に記憶する。続いて、現行の書き込みが“書き込み終了時の論理アドレス＋２５６ＫＢ”以内の論理アドレスからの書き込みか否かを判定する（ステップＳ１１）。現行の書き込みが“書き込み終了時の論理アドレス＋２５６ＫＢ”以内の論理アドレスからの書き込みであるときは、ステップＳ１３へ移行する。ステップＳ１３では、ホストＰＣから受信したデータを通常データ領域１２に書き込む（このとき、状況に応じてデータの「引越しコピー」を伴う）。
【００３３】
すなわち、「通常書き込みモード」にあるときは、ホストＰＣから受信した書き込みデータは通常データ領域１２に直接書き込まれる。書き込み論理アドレスによっては「引越しコピー」に伴うオーバーヘッドが発生するが、以後の書き込みでシーケンシャルライトが続くか、あるいは完全なシーケンシャルライトでなくてもアドレスの不連続性が小さければ（ステップＳ１１）、引越しデータ量は少なくてすむため、「引越しコピー」に伴うオーバーヘッドは小さくて済み、データの書き込み速度は低下しない。
【００３４】
次に、追記バッファ領域１３に記憶されているデータがあれば、その一部のデータを通常データ領域１２に書き込む（ステップＳ１４）。「通常書き込みモード」にあるときに、通常データ領域１２へのデータ書き込みと共に、図７に示すように、追記バッファ領域１３のデータを通常データ領域１２に移動させることで、追記バッファ領域１３の空き領域を増やす処理を行う。一度に大量のデータを移動させると、そのときの処理時間が長くなり、ホストＰＣからみたビジー時間が長くなりすぎる。このため、このデータ移動は１回のデータ書き込み処理ごとに一部のデータずつ行う。
【００３５】
続いて、通常データ領域１２の論理ブロックアドレスから物理ブロックアドレスへの変換テーブルを更新する（ステップＳ１５）。その後、（２）へ進み、ステップＳ２へ移行して、ステップＳ２以降の処理を行う。
【００３６】
一方、ステップＳ１１において、現行の書き込みが“書き込み終了時の論理アドレス＋２５６ＫＢ”以内の論理アドレスからの書き込みでないときは、「書き込み先フラグ」が追記バッファ領域１３に設定される（ステップＳ１２）。その後、（１）へ進み、ステップＳ４へ戻り、ステップＳ４以降の「追記バッファ書き込みモード」の処理を行う。
【００３７】
すなわち、「通常書き込みモード」にあるときに、“前回の書き込み終了時の論理アドレス＋２５６ＫＢ”以内にない論理アドレスからのデータ書き込みを受信したときは、以後、ランダムライトが続くことを想定して「追記バッファ書き込みモード」に移行する（ステップＳ１１、Ｓ１２）。
【００３８】
また、ステップＳ５において、「追記バッファ書き込みモード」にあるときに、追記バッファ領域１３に空き領域がないときは、（４）へ進み、ステップＳ１３へ移行する。すなわち、追記バッファ領域１３に空き領域がない場合は、書き込み先モードに関わらず、通常データ領域１２への直接書き込みを行う（ステップＳ５→Ｓ１３）。以上が第１実施形態における書き込み動作の詳細である。
【００３９】
以上説明したように第１実施形態における「通常書き込みモード」と「追記バッファ書き込みモード」では、前述したように管理方法が異なる。「通常書き込みモード」では、論理アドレスから物理アドレスへの第１の変換が行われ、第１の変換により変換された物理アドレスが指定する領域への書き込みが行われる。「追記バッファ書き込みモード」では、論理アドレスから物理アドレスへ、第１の変換とは異なる方式の第２の変換が行われ、第２の変換により変換された物理アドレスが指定する領域への書き込みが行われる。
【００４０】
上記の処理によって、追記バッファ領域１３に空き領域がある間はランダムライトを高速に処理することができる。ランダムライトのみが続く場合、追記バッファ領域１３がデータで一杯になった後はランダムライト性能が低下するが、Windows Vistaでレディブースト機能を使用している場合でも、書き込みデータが５１２ＫＢのランダムライトが常時継続するわけではなく、その間に一定長以上のシーケンシャルライトも含まれる。このため、シーケンシャルライトを行っている間に、追記バッファ領域１３のクリアを行うことができる。すなわち、シーケンシャルライトを行っている間に、追記バッファ領域１３から通常データ領域１２へのデータ移動を行って、追記バッファ領域１３の空き容量を増やすことができる。これにより、一定のランダムライト性能を維持することができる。
【００４１】
［第２実施形態］
次に、本発明の第２実施形態のＵＳＢフラッシュメモリについて説明する。第２実施形態は、第１実施形態と書き込み動作（アルゴリズム）が異なる。ハード構成は、図１に示した第１実施形態と同様である。
【００４２】
図２、図３、図８は、第２実施形態のＵＳＢフラッシュメモリのデータ書き込み動作を示すフローチャートである。この実施形態では、ステップＳ１６において、ステップＳ１２の「追記バッファ書き込みモード」への移行条件として、「５１２ＫＢ単位の書き込みが開始された後である」という条件を追加している。その他は、前述した第１実施形態と同様である。
【００４３】
詳述すると、ステップＳ３において、「書き込み先フラグ」が追記バッファ領域１３に設定されていないときは、ステップＳ１０へ移行する。ステップＳ１０では、書き込みデータの書き込み論理アドレス及び書き込みデータサイズをＲＡＭ２３に記憶する（ステップＳ１０）。続いて、ＭＰＵ２１は、５１２ＫＢ単位の連続アドレスへの書き込みを行った後であり、かつ前回の書き込みデータの“書き込み終了時の論理アドレス＋２５６ＫＢ”以内ではない論理アドレスからの書き込みか否かを判定する（ステップＳ１６）。
【００４４】
ステップＳ１６の条件を満足する場合、５１２ＫＢ単位の連続アドレスへの書き込みを行った後であり、かつ前回の書き込みデータの“書き込み終了時の論理アドレス＋２５６ＫＢ”以内ではない論理アドレスからの書き込みであるときは、「書き込み先フラグ」が追記バッファ領域１３に設定される（ステップＳ１２）。その後、（１）へ進み、ステップＳ４へ移行して、ステップＳ４以降の処理を行う。
【００４５】
一方、ステップＳ１６の条件を満足しない場合、ホストＰＣから受信した書き込みデータを通常データ領域１２に書き込む（状況に応じてデータの「引越しコピー」を伴う）（ステップＳ１３）。その後、ステップＳ１４へ移行し、ステップＳ１４以降の処理を行う。
【００４６】
この第２実施形態では、追記バッファ領域１３への書き込みが、レディブーストが要求する５１２ＫＢ単位の書き込み時に限定されるため、第１実施形態と比べて、追記バッファ領域１３をレディブースト用により効率的に利用できる（その反面、５１２ＫＢ単位以外のランダムライトへの効果は低くなる）。
【００４７】
なお、追記バッファ領域１３のクリア処理（追記バッファ領域１３から通常データ領域１２へのデータ移動を行って、追記バッファ領域１３の空き容量を増やす）をより効率よく実施して、ランダムライト性能の低下を防ぐためには、以下のような処理も有効である。
【００４８】
ＵＳＢフラッシュメモリのパワーオン時の初期化処理中に、追記バッファ領域１３に記憶されているデータの全部、または一部を通常データ領域１２に移動する。また、ホストＰＣからＵＳＢフラッシュメモリへアクセスがないアイドル期間中に、追記バッファ領域１３に記憶されているデータを通常データ領域１２に移動する。
【００４９】
なお、前記実施形態では、通常データ領域において物理ブロック単位で論理アドレスから物理アドレスにアドレス変換が行われる例を説明したが、物理ブロックの１／２、あるいは１／３などの単位や、物理ブロックの２倍の単位で論理／物理アドレス変換が行われる場合にも適用できる。
【００５０】
本発明の実施形態によれば、パフォーマンスを向上させる技術“レディブースト”が要求するランダムライト性能を得ることができる半導体記憶装置を提供可能である。
【００５１】
また、前述した各実施形態はそれぞれ、単独で実施できるばかりでなく、適宜組み合わせて実施することも可能である。さらに、前述した各実施形態には種々の段階の発明が含まれており、各実施形態において開示した複数の構成要件の適宜な組み合わせにより、種々の段階の発明を抽出することも可能である。
【符号の説明】
【００５２】
１０…ＮＡＮＤフラッシュメモリ、２０…コントローラ、１１…システムデータ領域、１２…通常データ領域、１３…追記バッファ領域、１４…スペアブロック領域、２１…ＭＰＵ、２２…ＲＯＭ、２３…ＲＡＭ、２４…ＵＳＢインタフェース（ＵＳＢ Ｉ／Ｆ）、２５…ＮＡＮＤインタフェース（ＮＡＮＤ Ｉ／Ｆ）。
【図１】
2010211618.tif 000003
【図２】
2010211618.tif 000004
【図３】
2010211618.tif 000005
【図４】
2010211618.tif 000006
【図５】
2010211618.tif 000007
【図６】
2010211618.tif 000008
【図７】
2010211618.tif 000009
【図８】
2010211618.tif 000010