(57)【要約】【課題】データストレージデバイスの操作効率を向上させることができるハイブリッドデータストレージ技術を提供する。【解決手段】不揮発性メモリ、揮発性メモリ、および揮発性メモリを割り当て、特定使用領域を提供し、不揮発性メモリのデータストレージの負担をシェアし、前記特定使用領域内に書き込まれたデータは、前記特定使用領域に留まり、読み出しリクエストに応答するマイクロコントローラを含むデータストレージデバイス。【選択図】図３
2018101411.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリと、
揮発性メモリと、
揮発性メモリを割り当て、特定使用領域を提供し、不揮発性メモリのデータストレージの負担をシェアするマイクロコントローラと、を含み、
前記特定使用領域内に書き込まれたデータは、読み出しリクエストに応答するために前記特定使用領域に留まるデータストレージデバイス。
【請求項２】
前記マイクロコントローラは、前記不揮発性メモリの固定のセクタに対応する前記特定使用領域を割り当てる請求項１に記載のデータストレージデバイス。
【請求項３】
前記データストレージデバイスが電源オンにされたとき、前記マイクロコントローラは、前記固定のセクタからデータを読み出し、それに従って前記特定使用領域を復元し、且つ
前記マイクロコントローラは、前記特定使用領域にアクセスし、前記不揮発性メモリの前記固定のセクタに対応する前記読み出しリクエストに応答する請求項２に記載のデータストレージデバイス。
【請求項４】
オペレーティングシステムファイルまたはアプリケーションファイルは、前記固定のセクタから読み出され、前記マイクロコントローラによって前記特定使用領域内に復元される請求項３に記載のデータストレージデバイス。
【請求項５】
前記マイクロコントローラは、前記特定使用領域を割り当て、特定のファイルのデータストレージの負担をシェアし、前記特定のファイルは、前記不揮発性メモリの動的に割り当てられた空間に対応する請求項１に記載のデータストレージデバイス。
【請求項６】
前記データストレージデバイスが電源オンにされたとき、前記マイクロコントローラは、前記不揮発性メモリの動的に割り当てられた空間からデータを読み出し、それに従って前記特定使用領域を復元し、且つ
前記マイクロコントローラは、前記特定使用領域にアクセスし、前記特定のファイルの前記読み出しリクエストに応答する請求項５に記載のデータストレージデバイス。
【請求項７】
前記マイクロコントローラは、前記特定使用領域の前記特定のファイルをアップデートし、前記特定のファイルの書き込みリクエストに応答し、
同期条件が満足である場合、前記マイクロコントローラは、前記特定使用領域の前記特定のファイルを前記不揮発性メモリに同期させ、且つ
同期条件は、時間制限に到達する、または特定使用領域のアップデートの回数の上限に到達する、またはシャットダウンリクエストを受けることである請求項６に記載のデータストレージデバイス。
【請求項８】
前記特定のファイルは、ゲームのログファイルである請求項７に記載のデータストレージデバイス。
【請求項９】
プリンタに実装され、前記プリンタと接続した使用者からアップロードした印刷データを保存し、前記マイクロコントローラは、前記特定使用領域を用いて機密性の高い印刷データを保存する請求項１に記載のデータストレージデバイス。
【請求項１０】
前記マイクロコントローラは、第１のマッピングテーブルおよび第２のマッピングテーブルを保持し、
前記第１のマッピングテーブルは、ホストでリクエストされた論理アドレスをリスト化し、前記特定使用領域に対応し、且つ
前記第２のマッピングテーブルは、前記ホストと前記不揮発性メモリでリクエストされた論理アドレス間のマッピング情報を記録する請求項１に記載のデータストレージデバイス。
【請求項１１】
データストレージデバイスの揮発性メモリを割り当て、特定使用領域を提供するステップ、および
前記特定使用領域を用いて、前記データストレージデバイスの不揮発性メモリのデータストレージの負担をシェアし、前記特定使用領域内に書き込まれたデータは、前記特定使用領域に留まり、読み出しリクエストに応答するステップを含むデータストレージデバイスの操作方法。
【請求項１２】
前記前記不揮発性メモリの固定のセクタに対応する前記特定使用領域を割り当てるステップを更に含む請求項１１に記載の方法。
【請求項１３】
前記データストレージデバイスが電源オンにされたとき、前記固定のセクタからデータを読み出し、それに従って前記特定使用領域を復元するステップ、および
前記特定使用領域にアクセスし、前記不揮発性メモリの前記固定のセクタに対応する前記読み出しリクエストに応答するステップを更に含む請求項１２に記載の方法。
【請求項１４】
オペレーティングシステムファイルまたはアプリケーションファイルは、前記固定のセクタから読み出され、前記特定使用領域内に復元される請求項１３に記載の方法。
【請求項１５】
前記特定使用領域を割り当て、特定のファイルのデータストレージの負担をシェアし、前記特定のファイルは、前記不揮発性メモリの動的に割り当てられた空間に対応する請求項１１に記載の方法。
【請求項１６】
前記データストレージデバイスが電源オンにされたとき、前記不揮発性メモリの動的に割り当てられた空間からデータを読み出し、それに従って前記特定使用領域を復元するステップ、および
前記特定使用領域にアクセスし、前記特定のファイルの前記読み出しリクエストに応答するステップを更に含む請求項１５に記載の方法。
【請求項１７】
前記特定使用領域の前記特定のファイルをアップデートし、前記特定のファイルの書き込みリクエストに応答するステップ、および
同期条件が満足である場合、前記特定使用領域の前記特定のファイルを前記不揮発性メモリに同期させるステップを更に含み、
前記同期条件は、時間制限に到達する、または特定使用領域のアップデートの回数の上限に到達する、またはシャットダウンリクエストを受けることである請求項１６に記載の方法。
【請求項１８】
前記特定のファイルは、ゲームのログファイルである請求項１７に記載の方法。
【請求項１９】
前記データストレージデバイスは、プリンタに実装され、前記プリンタと接続した使用者からアップロードした印刷データを保存し、且つ
機密性の高い印刷データは、前記特定使用領域に保存される請求項１１に記載の方法。
【請求項２０】
第１のマッピングテーブルおよび第２のマッピングテーブルを保持するステップを更に含み、
前記第１のマッピングテーブルは、ホストでリクエストされた論理アドレスをリスト化し、前記特定使用領域に対応し、且つ
前記第２のマッピングテーブルは、前記ホストと前記不揮発性メモリでリクエストされた論理アドレス間のマッピング情報を記録する請求項１１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１６年１１月２８日に出願された米国特許仮出願番号第６２／４２７０９０号についての優先権を主張するものであり、これらの全ては引用によって本願に援用される。
【０００２】
本出願は、２０１７年２月６日に出願された台湾特許出願番号第１０６１０３７８７号についての優先権を主張するものであり、これらの全ては引用によって本願に援用される。
【０００３】
本発明は、データストレージデバイスに関するものであり、特に、ハイブリッドデータストレージ技術に関するものである。
【背景技術】
【０００４】
長時間のデータ保存用のデータストレージデバイスに用いられる各種の形式の不揮発性メモリ、例えば、フラッシュメモリ、磁気抵抗ランダムアクセスメモリ（ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ ＲＡＭ）、強誘電体メモリ（ｆｅｒｒｏｅｌｅｃｔｒｉｃ ＲＡＭ；  ＦｅＲＡＭ）、抵抗性ランダムアクセスメモリなどがあるが、しかしながら、データストレージデバイスの操作効率は、不揮発性メモリの物理的特性に制限される。如何にしてデータストレージデバイスの操作効率を向上させるかが本技術領域の重要な課題である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
データストレージデバイスの操作効率を向上させることができるハイブリッドデータストレージ技術を提供する。
【課題を解決するための手段】
【０００６】
不揮発性メモリを用いるデータストレージデバイスでは、データストレージデバイスの制御ユニットは、揮発性メモリを更に操作する。本発明に基づいて、揮発性メモリは、特定使用領域を提供するように割り当てられ、不揮発性メモリのデータストレージの負担をシェアする。このように、データストレージデバイスの操作効率は、不揮発性メモリの物理的特性に過度に制限されない。
【０００７】
本発明の例示的な実施形態に基づいたデータストレージデバイスは、不揮発性メモリ、揮発性メモリ、およびマイクロコントローラを有する。マイクロコントローラは、揮発性メモリを割り当て、特定使用領域を提供し、不揮発性メモリのデータストレージの負担をシェアする。特定使用領域内に書き込まれたデータは、特定使用領域に留まり、読み出しリクエストに応答する。
【０００８】
本発明の例示的な実施形態に基づいたデータストレージデバイスの操作方法は、以下のステップ、データストレージデバイスの揮発性メモリを割り当て、特定使用領域を提供するステップ、および特定使用領域を用いて、データストレージデバイスの不揮発性メモリのデータストレージの負担をシェアし、特定使用領域内に書き込まれたデータは、特定使用領域に留まり、読み出しリクエストに応答するステップを含む。
【０００９】
詳細な説明は、添付の図面と併せて以下の実施形態に説明される。
【図面の簡単な説明】
【００１０】
添付の図面とともに以下の本発明の様々な実施形態の詳細な説明を検討することで、本発明はより完全に理解できる。
【図１】フラッシュメモリ１００の記憶空間を示している。
【図２Ａ】本発明の異なる例示的な実施形態に係る、ＤＲＡＭの特定使用領域を描いている。
【図２Ｂ】本発明の異なる例示的な実施形態に係る、ＤＲＡＭの特定使用領域を描いている。
【図２Ｃ】本発明の異なる例示的な実施形態に係る、ＤＲＡＭの特定使用領域を示している。
【図３】本発明の異なる例示的な実施形態に係る、データストレージデバイス３００を示すブロック図である。
【図４】データストレージデバイス３００に保持されるべきマッピング情報を示している。
【図５】本発明の例示的な実施形態に係る、データストレージデバイス３００の操作を示すフローチャートである。
【図６】本発明のもう１つの例示的な実施形態に係る、データストレージデバイス３００の操作を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下の説明は、本発明を実施するベストモードが開示されている。この説明は、本発明の一般原理を例示する目的のためのもので本発明を限定するものではない。本発明の範囲は、添付の請求の範囲を参考にして決定される。
【００１２】
不揮発性メモリは、長時間のデータ保存用のストレージデバイス、例えば、フラッシュメモリ、磁気抵抗ＲＡＭ、強誘電体ＲＡＭ、抵抗性ＲＡＭ、スピントランスファトルクＲＡＭ（ＳＴＴ−ＲＡＭ）などであることができる。以下は、特にフラッシュメモリを例に討論しているが、これに限定されるものではない。図１は、フラッシュメモリ１００の記憶空間を示しており、物理ブロックＢＬＫ＃１、ＢＬＫ＃２．．．ＢＬＫ＃Ｚなどに分割れ、Ｚは、正の整数である。各物理ブロックは、複数の物理ページを含む。例えば、１つの物理ブロックは、２５６の物理ページを含む。各物理ページは、所定の長さのデータを保存するように割り当てられる。例えば、各物理ページは、１６ＫＢのデータを保存するように割り当てられる。
【００１３】
フラッシュメモリ１００は、現在のデータストレージデバイスの記憶媒体としてしばしば用いられ、メモリカード、ＵＳＢフラッシュデバイス、ＳＳＤなどを実現するように用いられている。他の例示的な実施形態では、フラッシュメモリ１００は、コントローラとともにパッケージされ、マルチチップパッケージを形成し、埋め込み型マルチメディアカード（ｅＭＭＣ）と呼ばれる。
【００１４】
フラッシュメモリ１００に保存されたデータをアップデートするとき、新しいデータは、古いデータの記憶空間に再書き込みされず、スペア領域に書き込まれる。古いデータは、無効化する。頻繁な書き込み操作は記憶層を無効なデータで溢れさせる。従って、フラッシュメモリ１００の記憶空間は、効率的に用いられず、フラッシュメモリ１００の読み／書き速度が低下する。フラッシュメモリ１００の読み／書き性能も影響を受ける。
【００１５】
多くの無効なデータを含む物理ブロックを処理するためにガベージコレクション操作が導入されている。電源ブロック（ｓｏｕｒｃｅ  ｂｌｏｃｋ）内の有効ページは、他の物理ブロックにコピーされる。従って、電源ブロックは、ようやく有効なページだけを含有し、消去操作によって開放されることができる。しかしながら、各物理ブロックにおいて、可能な消去操作の回数は制限がある。頻繁な書き込み操作は、物理ブロックが過度な消去によりデータ保存に支障をきたす可能性がある。フラッシュメモリの物理ブロックの消去制限（ｅｒａｓｅ ｅｎｄｕｒａｎｃｅ）は、フラッシュデバイスを設計するとき、考慮に入れるべきである。
【００１６】
フラッシュメモリは、読み出し妨害の課題を更に含む。読み出し操作では、高電圧がターゲットのワード線を囲むワード線に印加される。メモリセルは、囲まれたワード線によって操作されるため、妨害される。フラッシュメモリの信頼度が低下する。
【００１７】
フラッシュメモリの少なくとも上述の操作上のネックに応じて、本発明は、ハイブリッドデータストレージデバイスを提供する。このデータストレージデバイスは、不揮発性のストレージ用のフラッシュメモリ１００以外に、揮発性メモリもデータストレージデバイスの制御ユニットに結合するように導入される。揮発性メモリは、特定使用領域を提供し、フラッシュメモリ１００のデータストレージの負担をシェアする。電源がオンにされた後、データストレージデバイスで受けた書き込みリクエストの一部は、記憶先として特定使用領域に変えられ、フラッシュメモリ１００への頻繁な書き込みデータを回避する。特定使用領域へのデータ書き込みは、読み出しリクエストに応じて保持されるため、フラッシュメモリ１００は、頻繁にアクセスされない。従って、上述の読み書きの性能の問題、および物理ブロックの消去制限と読み出し妨害の問題も効果的に解決する。揮発メモリは、ＤＲＡＭであることができる。
【００１８】
図２Ａは、フラッシュメモリに割り当てられた初期領域に応じて、特定使用領域を提供するように割り当てられたＤＲＡＭを描いている。例示的な実施形態では、特定使用領域は、１２８ＭＢであり、８ＧＢのフラッシュメモリの最前端の１２８ＭＢシステムファイルに対応することができる。他の例示的な実施形態では、ＤＲＡＭは、他の固定のセクタに対応する特定使用領域を提供するように割り当てられる。
【００１９】
他の例示的な実施形態では、ＤＲＡＭは、１２８ＭＢの特定使用領域を提供し、論理ブロックアドレス（ＬＢＡ）の所定範囲内のデータを記憶する。例えば、ＤＲＡＭで提供された特定使用領域は、ＬＢＡ＃０〜ＬＢＡ＃２６２，１４３内のデータ、すなわち最初に確立された２６２，１４４個のＬＢＡのデータの一時記憶に用いられることができる。最初に確立されたＬＢＡは、オペレーティングシステム（ＯＳ）ファイルまたはアプリケーションファイルに対応することができ、頻繁にアクセスされる。本発明では、ＯＳファイルまたはアプリケーションファイルは、ＤＲＡＭがリアルタイムでアクセスされる特定使用領域内に保存される。従って、データアクセスの効率は、著しく向上する。フラッシュメモリの物理ブロックの消去制限および読み出し妨害に関する課題は、解決される。
【００２０】
図２Ｂは、本発明の異なる例示的な実施形態に係る、ＤＲＡＭの特定使用領域を描いている。ＤＲＡＭを用いてフラッシュメモリの固定のセクタに対応する特定使用領域を提供する図２Ａの例示的な実施形態と異なり、図２Ｂの例示的な実施形態は、特定のファイル用にフラッシュメモリに動的に割り当てられた、動的に割り当てられた空間に対応して特定使用領域を割り当てている。例えば、ＤＲＡＭの１２８ＭＢの特定使用領域は、データストレージデバイス内に保存されるために発行された特定のファイルの一時記憶に提供される。例えば、ＤＲＡＭの特定使用領域は、ゲームのログファイルの一時記憶に割り当てられることができる。ゲームのログファイルの頻繁な読み書き操作は、フラッシュメモリよりもＤＲＡＭで実行される。従って、ゲームのログファイルの頻繁な読み書き操作は、著しく向上する。フラッシュメモリの物理ブロックの消去制限および読み出し妨害に関する課題は、解決される。
【００２１】
図２Ｃは、本発明の異なる例示的な実施形態に係る、ＤＲＡＭの特定使用領域を描いており、プリンタの操作を助ける。データストレージデバイスは、プリンタに実装されることができる。データストレージデバイスは、フラッシュメモリを含むことができ、プリンタと接続した使用者によってアップロードした印刷データを保存するように動作する。アップロードした印刷データは、プリントアウトするようにスケジュールされるデータストレージデバイスで待機している。上述のように、ＤＲＡＭは、データストレージデバイスの制御ユニットによって操作され、特定使用領域を提供するように割り当てられる。図２Ｃに示されるように、特定使用領域は、プリント側の機密性の高い印刷データのストレージを実現するように提供される。留意すべきことは、機密性の高い印刷データは、フラッシュメモリ内に書き込まれず、ＤＲＡＭ内の特定使用領域に限定される。データストレージデバイスは、機密性の高い印刷データを更に暗号化することができる。機密性の高くない印刷データは、フラッシュメモリに保存される。プリンタが電源オフにされた、または不測の電源障害が生じたとき、機密性の高い印刷データは、ＤＲＡＭの電源断により永久に破壊される。従って、データの機密性は、確保される。ＤＲＡＭと異なり、フラッシュメモリは、不測の電源障害の事象が生じたとき、またはデータが無効化されたときでもデータを保持する。機密性の高い印刷データがフラッシュメモリに保存された場合、データの機密性には多少のリスクがある。
【００２２】
図３は、本発明の例示的な実施形態に係る、データストレージデバイス３００を示すブロック図であり、フラッシュメモリ１００および制御ユニット３０４を含む。制御ユニット３０４は、ホスト３０６およびフラッシュメモリ１００の間に結合され、ホスト３０６から発行されたコマンドに基づいてフラッシュメモリ１００を操作する。
【００２３】
例示的な実施形態では、フラッシュメモリ１００は、オンラインバーンインブロックプール（ｏｎｌｉｎｅ ｂｕｒｎ-ｉｎ ｂｌｏｃｋ ｐｏｏｌ）３１０、システム情報ブロックプール３１２、スペア（ｓｐａｒｅ）ブロックプール３１４、アクティブ（ａｃｔｉｖｅ）ブロック３１６、およびデータブロックプール３１８を提供するように割り当てられる。オンラインバーンインブロックプール３１０内のブロックは、インシステムプログラミング（ＩＳＰ）コードを保存する。システム情報ブロックプール３１２内のブロックは、マッピングテーブルなどのシステム情報を保存する。アクティブブロック３１６は、スペアブロックプール３１４から提供され、ホスト３０６からデータを受ける。アクティブブロック３１６がデータ受信を終えた後、アクティブブロック３１６は、データブロックプール３１８内に押し込まれる。
【００２４】
制御ユニット３０４は、マイクロコントローラ３２０、ランダムアクセスメモリ空間３２２および読み出し専用メモリ３２４を含む。ランダムアクセスメモリ空間３２２は、内部ＲＡＭおよび外部ＲＡＭに分けられる。マイクロコントローラ３２０と同じダイに形成されていない外部ＲＡＭと異なり、内部ＲＡＭとマイクロコントローラ３２０は、同じダイに形成されることができる。ランダムアクセスメモリ空間３２２は、ＤＲＡＭまたは／およびＳＲＡＭで実現されることができる。読み出し専用メモリ３２４は、ＲＯＭコードを保存する。マイクロコントローラ３２０は、読み出し専用メモリ３２４から得られたＲＯＭコード、または／およびフラッシュメモリ１００のオンラインバーンインブロックプール３１０から得られたＩＳＰコードを実行することで操作する。
【００２５】
例示的な実施形態では、ランダムアクセスメモリ空間３２２に属するＤＲＡＭ３３０（上述の内部ＲＡＭまたは外部ＲＡＭに限定されない）は、動的（ｄｙｎａｍｉｃ）領域３３２と共に特定使用領域３３４を提供する。動的領域３３２は、マッピングテーブルまたはコンピューティングデータの一時記憶に用いられるものである。そのコンピューティングデータの一時記憶は、キャッシュ機能を実現し、命令予測またはデータの先読みに用いられる。フラッシュメモリ１００のストレージ機能は、特定使用領域３３４によってシェアされる。従って、データストレージデバイス３００の操作性能は、フラッシュメモリ１００の物理的特性に過度に制限されない。特定使用領域３３４は、図２Ａ、図２Ｂ、または図２Ｃで述べたように操作することができる。図２Ａに基づいて、特定使用領域３３４は、ＯＳフィルターまたはＡＰＰフィルターを保存し、フラッシュメモリ１００のデータストレージの負担をシェアすることができる。図２Ｂに基づいて、特定使用領域３３４は、ゲームのログファイルを保存し、フラッシュメモリ１００のデータストレージの負担をシェアすることができる。図２Ｃに基づいて、特定使用領域３３４は、機密性の高い印刷データを保存し、フラッシュメモリ１００のデータストレージの負担をシェアすることができる。
【００２６】
図３は、特定使用領域３３４に一時的に保存されたデータの不揮発性のストレージの制御ユニット３０４とフラッシュメモリ１００間の通信を更に示している。データストレージデバイス３００が電源オンにされたとき、マイクロコントローラ３２０によって、特定のデータがフラッシュメモリ１００から特定使用領域３３４にダウンロードされ、特定のデータのための読み書きリクエストは、特定使用領域３３４で実行されるように変えられる。このように、特定のデータのアップデートされたバージョンをリアルタイムで特定使用領域３３４からフラッシュメモリ１００にアップロードする（同期させる）必要がない。また、特定のデータの読み出しリクエストが発行されたとき、フラッシュメモリ１００へのアクセスを要求しない。特定のデータの読み出しリクエストは、特定使用領域３３４から読み出されたデータで応答される。特定使用領域３３４の特定のデータの更新されたバージョンに関しては、特定使用領域３３４とフラッシュメモリ１００間の同期の同期条件は、使用者によって決まる。例えば、特定使用領域３３４の特定データのアップデートされたバージョンは、時間毎に周期的に（時間制限に応じて）フラッシュメモリ１００にアップロードされ、不測の電源障害の事象に対応する。データストレージデバイス３００を電源オフする前に、特定使用領域３３４の特定データのアップデートされたバージョンもフラッシュメモリ１００にアップロードされる。従って、特定のデータの最新のバージョンは、データストレージデバイス３００が電源オフにされた後、フラッシュメモリ１００に保持されて確保される。
【００２７】
図４は、データストレージデバイス３００に保持されるべきマッピング情報を示している。マッピングテーブルＤＲＡＭ＿Ｔａｂは、ホスト３０６でリクエストされ、かつＤＲＡＭ３３０内の特定使用領域３３４に対応している論理アドレスをリスト化する。図に示されるように、マッピングテーブルＤＲＡＭ＿Ｔａｂは、ＤＲＡＭアドレスＤＲＡＭ＿Ａｄｄｒに基づいて検索される。特定使用領域３３４の異なるアドレスに対応する論理ブロックアドレスＬＢＡ＃は、マッピングテーブルＤＲＡＭ＿Ｔａｂにリスト化される。マッピングテーブルＦｌａｓｈ＿Ｔａｂは、ホスト３０６でリクエストされた異なる論理アドレスのフラッシュメモリ空間を示すように提供される。図に示されたように、各物理ブロックアドレスＬＢＡ＃は、１つの物理ブロックＢ＃の１つのユニットＵ＃に対応する。一般的に１つの物理ページは、Ｕ０〜Ｕ３に番号付けされた４つのユニットに分割される。もう１つの例示的な実施形態では、マッピングテーブルＤＲＡＭ＿Ｔａｂは、ＤＲＡＭアドレスＤＲＡＭ＿Ａｄｄｒに基づくのでなく、物理ブロックアドレスＬＢＡ＃に基づいて検索される。マッピングテーブルＦｌａｓｈ＿Ｔａｂは、フラッシュメモリ１００を操作するホスト３０６用の論理‐物理マッピング関係も示す他のテーブルで置き替えられることができる。
【００２８】
ホスト３０６が特定の論理ブロックアドレスＬＢＡ＃のデータにアクセスするようにリクエストしたとき、制御ユニット３０４は、マッピングテーブルＤＲＡＭ＿Ｔａｂをチェックし、特定の論理ブロックアドレスＬＢＡ＃が任意のＤＲＡＭアドレスＤＲＡＭ＿Ａｄｄｒに対応するかどうかを判定する。ＤＲＡＭアドレスＤＲＡＭ＿Ａｄｄｒが取得されたとき、特定の論理ブロックアドレスＬＢＡ＃の読み書きリクエストは、ＤＲＡＭアドレスＤＲＡＭ＿Ａｄｄｒに基づいて、ＤＲＡＭ３３０をアクセスすることによって実現されなければならないということを意味する。マッピングテーブルＤＲＡＭ＿Ｔａｂが特定の論理ブロックアドレスＬＢＡ＃が対応するＤＲＡＭアドレスがないと示したとき、特定の論理ブロックアドレスＬＢＡ＃の読み書きリクエストは、マッピングテーブルＤＲＡＭ＿Ｔａｂに基づいて行われ、フラッシュメモリ１００を読み書きする。
【００２９】
特定使用領域３３４のマッピングテーブルＤＲＡＭ＿Ｔａｂに保存されたマッピング情報の他に、マッピングテーブルＦｌａｓｈ＿Ｔａｂは特定使用領域３３４に一時保存されたデータの不揮発性のストレージ用のマッピング情報をも含む。マイクロコントローラ３２０は、動的領域３３２を用いてマッピング情報（例えば、マッピングテーブルＤＲＡＭ＿ＴａｂおよびＦｌａｓｈ＿Ｔａｂ）を動的に管理することができる。マイクロコントローラ３２０は、不揮発性のストレージ用に、動的領域３３２からフラッシュメモリ１００にマッピング情報を更にアップロードする。
【００３０】
図５は、本発明の例示的な実施形態に係る、データストレージデバイス３００の操作を示すフローチャートである。データストレージデバイス３００が電源オンにされた後、ステップＳ５０２が行われ、マイクロコントローラ３２０は、フラッシュメモリ１００からマッピングテーブルＤＲＡＭ＿ＴａｂとＦｌａｓｈ＿Ｔａｂを動的領域３３２にダウンロードし、マッピングテーブルＤＲＡＭ＿ＴａｂとＦｌａｓｈ＿Ｔａｂに基づいて、特定使用領域３３４を用いるように割り当てられたデータがフラッシュメモリ１００から特定使用領域３３４にダウンロードされる。アクセスリクエストステップ（読み書き）が生じたとステップＳ５０４で判定されたとき、ステップＳ５０６が行われ、マッピングテーブルＤＲＡＭ＿Ｔａｂをチェックして、アクセスリクエストが特定使用領域３３４に対応するかどうかを判定し、特定使用領域３３４に行うべきかを判定する。そうでない場合、マイクロコントローラ３２０は、ステップＳ５０８でマッピングテーブルＦｌａｓｈ＿Ｔａｂをチェックし、フラッシュメモリ１００にアクセスする。そうである場合、ステップＳ５１０が行われ、マイクロコントローラ３２０は、マッピングテーブルＤＲＡＭ＿Ｔａｂから得られたマッピング情報に基づいて、特定使用領域３３４にアクセスする。従って、フラッシュメモリ１００は、特定使用領域３３４の設計のために頻繁にアクセスされない。ステップＳ５１２では、特定使用領域３３４とフラッシュメモリ１００間の同期を満足させるべき同期条件がチェックされる。同期条件が満足である場合、マイクロコントローラ３２０は、ステップＳ５１４を行い、データを特定使用領域３３４からフラッシュメモリ１００にアップロードし、マッピングテーブルＦｌａｓｈ＿Ｔａｂは、同期とアップデートされる。アクセスリクエストのモニタリングステップＳ５０４では、データストレージデバイス３００が電源オフになるまで持続することができる。
【００３１】
図６は、本発明のもう１つの例示的な実施形態に係る、データストレージデバイス３００の操作を示すフローチャートである。データの損失を防ぐために、フラッシュメモリ１００は、リアルタイムで特定使用領域３３４と同期する。特定使用領域３３４を用いてフラッシュメモリ１００のデータストレージの負担をシェアし、フラッシュメモリ１００が過度にアクセスされるのを防ぐための概念は、図５に討論された概念と同様である。簡素化のために、図６は書き込み操作に焦点を当てる。データストレージデバイス３００が電源オンにされたとき、ステップＳ６０２が行われ、マイクロコントローラ３２０は、フラッシュメモリ１００からマッピングテーブルＤＲＡＭ＿ＴａｂとＦｌａｓｈ＿Ｔａｂを動的領域３３２にダウンロードする。マッピングテーブルＤＲＡＭ＿ＴａｂとＦｌａｓｈ＿Ｔａｂに基づいて、特定使用領域３３４に対応するデータは、フラッシュメモリ１００から特定使用領域３３４にダウンロードされる。書き込みリクエストが受信されたとステップＳ６０４で判定されたとき、ステップＳ６０６が行われ、マイクロコントローラ３２０は、書き込みデータをフラッシュメモリ１００内に書き込み、それに従ってマッピングテーブルＦｌａｓｈ＿Ｔａｂをアップデートする。ステップＳ６０８では、マイクロコントローラ３２０は、マッピングテーブルＤＲＡＭ＿Ｔａｂを更にチェックし、書き込みリクエストが特定使用領域３３４にコピーを有するべき、書き込み特定データに関するものであるかどうかを判定して、フラッシュメモリ１００のデータストレージの負担をシェアし、フラッシュメモリ１００が過度にアクセスされるのを防ぐため、フラッシュメモリ１００の読み出し妨害の問題を解決する。そうである場合、マイクロコントローラ３２０は、ステップＳ６１０を行い、特定使用領域３３４のデータをアップロードし、特定使用領域３３４のデータをフラッシュメモリ１００と同期させる。書き込みリクエストのモニタリングステップＳ６０４は、データストレージデバイス３００が電源オフになるまで持続することができる。
【００３２】
ハイブリッドデータストレージ技術の上述の概念を用いる他の技術は、本発明の範囲内にある。上述の内容に基づいて、本発明は、データストレージデバイスを操作する方法に更に関連する。
【００３３】
本発明は、例として及び望ましい実施の形態によって記述されているが、本発明は開示された実施形態に限定されるものではない。逆に、当業者には自明の種々の変更及び同様の配置をカバーするものである。よって、添付の特許請求の範囲は、最も広義な解釈が与えられ、全てのこのような変更及び同様の配置を含むべきである。
【符号の説明】
【００３４】
１００  フラッシュメモリ
３００  データストレージデバイス
３０４  制御ユニット
３０６  ホスト
３１０  オンラインバーンインブロックプール
３１２  システム情報ブロックプール
３１４  スペアブロックプール
３１６  アクティブブロック
３１８  データブロックプール
３２０  マイクロコントローラ
３２２  ランダムアクセスメモリ空間
３２４  読み出し専用メモリ
３３０  ＤＲＡＭ
３３２  動的領域
３３４  特定使用領域
ＢＬＫ＃１、ＢＬＫ＃２、ＢＬＫ＃Ｚ  物理ブロック
Ｂ＃  物理ブロック
ＤＲＡＭ＿Ａｄｄｒ  ＤＲＡＭアドレス
ＤＲＡＭ＿Ｔａｂ  マッピングテーブル
Ｆｌａｓｈ＿Ｔａｂ  マッピングテーブル
ＬＢＡ＃  論理ブロックアドレス
Ｓ５０２・・・Ｓ５１２、Ｓ６０２・・・Ｓ６１０  ステップ
Ｕ＃  ユニット
【図１】
2018101411.tif 000003
【図２Ａ】
2018101411.tif 000004
【図２Ｂ】
2018101411.tif 000005
【図２Ｃ】
2018101411.tif 000006
【図３】
2018101411.tif 000007
【図４】
2018101411.tif 000008
【図５】
2018101411.tif 000009
【図６】
2018101411.tif 000010
【外国語明細書】
2018101411000001.pdf