JP2011238175A - 情報処理装置およびドライバ - Google Patents
情報処理装置およびドライバ Download PDFInfo
- Publication number
- JP2011238175A JP2011238175A JP2010111280A JP2010111280A JP2011238175A JP 2011238175 A JP2011238175 A JP 2011238175A JP 2010111280 A JP2010111280 A JP 2010111280A JP 2010111280 A JP2010111280 A JP 2010111280A JP 2011238175 A JP2011238175 A JP 2011238175A
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage device
- external storage
- cache area
- area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】実施形態の情報処理装置は、第1の外部記憶装置を第2の外部記憶装置のキャッシュとして用いて第2の外部記憶装置に対するデータアクセスを所定のデータ長のブロック単位で処理するドライバを具備する。ドライバは、ホストシステムとの間でデータの受け渡しを行うためにメインメモリ上に確保されるバッファ領域と第1の外部記憶装置および第2の外部記憶装置との間に介在させるキャッシュ領域をメインメモリ上に確保するキャッシュ確保手段を有し、メインメモリ上に確保したキャッシュ領域を利用して、第1の外部記憶装置と第2の外部記憶装置との間におけるブロック単位でのデータの受け渡し等を実行する。
【選択図】図2
Description
まず、ホストシステムからデータの読み出しを要求された場合のHDD/SSDドライバ120の基本動作を説明する。
次に、ホストシステムからデータの書き込みを要求された場合のHDD/SSDドライバ120の基本動作を説明する。
また、HDD/SSDドライバ120は、HDD18への未書き込みデータをHDDに書き出すフラッシュ動作を行う。HDD/SSDドライバ120は、L1キャッシュ領域201上の未書き込みデータをHDD18に書き込み(図2の(6))、SSD19上の未書き込みデータについては、L1キャッシュ領域201で、HDD18への書き込みを実行する(図2の(7),(6))。
HDD/SSDドライバ120は、主メモリ13上に確保したL1キャッシュ領域201をブロック単位で管理し、HDD18へのデータの書き込みやHDD18からのデータの読み出しを、このブロック単位で処理することを先に述べた。そこで、次に、HDD/SSDドライバ120が実行するデータの管理処理について説明する。
次に、SSD19に蓄積したデータを本情報処理装置の再起動後にも使用可能とするためのHDD/SSDドライバ120による不揮発性動作について説明する。この不揮発性動作は、ホストシステムが、HDD/SSDドライバ120に対してシャットダウン通知を送信する機能を有することを前提とする。また、シャットダウン通知後にもデータの書き込み要求や読み出し要求がホストシステムから発行されても良いが、これらすべての要求は、HDD/SSDドライバ120に対して発行され、HDD/SSDドライバ120を経由しない書き込み処理は発生しないことを前提とする。これらの前提の下、不揮発性動作を行う場合、HDD/SSDドライバ120は、主メモリ13上の管理データ領域202で管理する管理データを保存するための管理データ保存領域191をSSD19上に設ける。
次に、HDD/SSDドライバ120が備える、SSD19に蓄積したデータがHDD19と一貫性を有するか否かをロード時にチェックする機能について説明する。この機能によって一貫性が保証できない場合、HDD/SSDドライバ120は、SSD19に蓄積したデータを破棄する揮発動作に切り替える。
次に、HDD/SSDドライバ120に加えて、BIOS17も、SSD19上に蓄積したデータを活用する例を説明する。
情報処理装置において、ブートに使用するデータは、毎回同じ領域から読み出されることが多い。この点に着目して、次に、本情報処理装置が備えるブートを高速化するための仕組みについて説明する。
Flush/Write FUA要求は、厳密に処理すると、ライトバック動作の性能を著しく劣化させてしまう。そこで、HDD/SSDドライバ120は、Flush/Write FUA要求に対して、”オプションFlush処理"機能を設け、"Enable"または"Disable"のいずれかを設定可能として、以下の通りに動作する。
前述したように、HDD/SSDドライバ120は、主メモリ13上のユーザバッファ250とHDD18およびSSD19との間に介在させるL1キャッシュ領域201を主メモリ13上に確保し、かつ、その管理をブロック単位で実行する。そこで、次に、L1キャッシュ領域201またはSSD19のデータと、HDD19のデータとを、L1キャッシュ領域201上で効率的に組み合わせる(マージ)ためにHDD/SSDドライバ120が備える仕組みについて説明する。
次に、SSD19への効率的な書き込みを実現するためにHDD/SSDドライバ120が備える仕組みについて説明する。
また、HDD/SSDドライバ120は、キャッシュの検索速度向上を図るために、L1キャッシュ領域201上および(HDD18のキャッシュとして利用される)SSD19上のデータを管理するための方式として、セットアソシアティブ方式を採用することができる。より具体的には、図11に示すようなテーブルを主メモリ13上の管理データ領域202内でL1キャッシュ領域201およびSSD19のそれぞれについて管理し、各ブロックを示すLBA中、テーブルのエントリ数を表現可能な下位nビットを"Index"と位置づけて、当該"Index"部分の値が一致するブロック毎に最大Way数分だけ蓄積されるように制御する。
Claims (25)
- メインメモリと、
第1の外部記憶装置と、
第2の外部記憶装置と、
前記第1の外部記憶装置と前記第2の外部記憶装置とを制御し、前記第1の外部記憶装置を前記第2の外部記憶装置のキャッシュとして用いて、前記第2の外部記憶装置へのデータの書き込みおよび前記第2の外部記憶装置からのデータの読み出しを所定のデータ長のブロック単位で処理するドライバと
を具備し、
前記ドライバは、
データの書き込みおよびデータの読み出しを要求するホストシステムとの間でデータの受け渡しを行うために前記メインメモリ上に確保されるバッファ領域と前記第1の外部記憶装置および前記第2の外部記憶装置との間に介在させるキャッシュ領域を前記メインメモリ上に確保するキャッシュ確保手段と、
前記ホストシステムからデータの読み出しが要求されたとき、
(a1)読み出し対象データのすべてが前記キャッシュ領域内に存在する場合、前記キャッシュ領域内のデータを前記バッファ領域内に格納し、
(a2)読み出し対象データの一部が前記キャッシュ領域内に存在する場合、前記キャッシュ領域内に存在しないその他のデータを前記第2の外部記憶装置から前記キャッシュ領域に読み出し、前記キャッシュ領域に存在していた一部のデータと前記キャッシュ領域に読み出したその他のデータとを前記バッファ領域に格納して、前記バッファ領域に格納したデータを前記第1の外部記憶装置に蓄積し、
(a3)読み出し対象データが前記キャッシュ領域内に存在しておらず、そのすべてが前記第1の外部記憶装置上に存在する場合、前記第1の外部記憶装置上のデータを読み出して前記バッファ領域に格納し、
(a4)読み出し対象データが前記キャッシュ領域内に存在しておらず、その一部が前記第1の外部記憶装置上に存在する場合、前記第1の外部記憶装置上の一部のデータと前記第2の外部記憶装置上のその他のデータとを前記キャッシュ領域内に読み出し、前記バッファ領域に格納して、前記キャッシュ領域に読み出したデータを前記第1の外部記憶装置に蓄積し、
(a5)読み出し対象データが前記キャッシュ領域内および前記第1の外部記憶装置上のいずれにも存在しない場合、前記第2の外部記憶装置上のデータを前記キャッシュ領域内に読み出し、前記バッファ領域に格納して、前記キャッシュ領域に読み出したデータを前記第1の外部記憶装置に蓄積する
リード制御手段と、
前記ホストシステムからデータの書き込みが要求されたとき、
(b1)更新対象となるデータが前記キャッシュ領域内に存在し、前記第1の外部記憶装置に存在しない場合、前記キャッシュ領域内のデータを書き込み対象データに書き換えて、前記キャッシュ領域内の書き換え後のデータを前記第1の外部記憶装置に蓄積し、
(b2)更新対象となるデータが前記キャッシュ領域内および前記第1の外部記憶装置上の両方に存在する場合、前記第1の外部記憶装置上のデータを無効化し、前記キャッシュ領域内のデータを書き込み対象データに書き換えて、前記キャッシュ領域内の書き換え後のデータを前記第1の外部記憶装置に蓄積し、
(b3)更新対象となるデータが前記キャッシュ領域内に存在せず、前記第1の外部記憶装置上に存在する場合、前記第1の外部記憶装置上のデータを書き込み対象データに書き換え、
(b4)更新対象となるデータが前記キャッシュ領域内および前記第1の外部記憶装置上のいずれにも存在しない場合、書き込み対象データを前記キャッシュ領域に格納して、前記キャッシュ領域に格納したデータを前記第1の外部記憶装置に蓄積する
ライト制御手段と、
前記キャッシュ領域内に存在する前記第2の外部記憶装置への未書き込みデータを前記第2の外部記憶装置に格納し、前記第1の外部記憶装置上に存在する前記第2の外部記憶装置への未書き込みデータを前記キャッシュ領域経由で前記第2の外部記憶装置に格納するフラッシュ制御手段と
を有する
ことを特徴とする情報処理装置。 - 前記ライト制御手段は、ライトスルー方式で書き込み処理を実行することを要求するライトFUA(Force unit access)要求を前記ホストシステムから受けた場合、前記キャッシュ領域内へのデータの格納または前記キャッシュ領域内もしくは前記第1の外部記憶装置上のデータの書き換えを状況に応じて行うと共に、書き込み対象データの書き込み処理を前記第2の外部記憶装置にライトスルー方式で実行させるためのライトFUA要求を前記第2の外部記憶装置に対して発行することを特徴とする請求項1記載の情報処理装置。
- 前記リード制御手段は、読み出し対象データが前記キャッシュ領域内に存在しておらず、そのすべてが前記第1の外部記憶装置上に存在する場合(a3)における前記第1の外部記憶装置上のデータの前記バッファ領域への格納を、前記キャッシュ領域経由で実行することを特徴とする請求項1または2記載の情報処理装置。
- 前記リード制御手段は、読み出し対象データが前記キャッシュ領域内に存在しておらず、そのすべてが前記第1の外部記憶装置上に存在する場合(a3)における前記第1の外部記憶装置上のデータの前記バッファ領域への格納を、前記キャッシュ領域を経由させないモードと、前記キャッシュ領域を経由させることによって当該データを前記キャッシュ領域に蓄積するモードとの2つのモードで実行可能であることを特徴とする請求項3記載の情報処理装置。
- 前記ライト制御手段は、
(b1’)更新対象となるデータが前記キャッシュ領域内に存在し、前記第1の外部記憶装置に存在しない場合、前記キャッシュ領域内のデータおよび前記第2の外部記憶装置上のデータを書き込み対象データに書き換えて、前記キャッシュ領域内の書き換え後のデータを前記第1の外部記憶装置に蓄積し、
(b2’)更新対象となるデータが前記キャッシュ領域内および前記第1の外部記憶装置上の両方に存在する場合、前記キャッシュ領域内のデータ、前記第1の外部記憶装置上のデータおよび前記第2の外部記憶装置上のデータを書き込み対象データに書き換え、
(b3’)更新対象となるデータが前記キャッシュ領域内に存在せず、前記第1の外部記憶装置上に存在する場合、前記第1の外部記憶装置上のデータおよび前記第2の外部記憶装置上のデータを書き込み対象データに書き換え、
(b4’)更新対象となるデータが前記キャッシュ領域内および前記第1の外部記憶装置上のいずれにも存在しない場合、前記第2の外部記憶装置上のデータを書き込み対象データに書き換える
ように動作するライトスルーモードをさらに有する
ことを特徴とする請求項1記載の情報処理装置。 - 前記ライト制御手段は、前記ライトスルーモード時、前記第1の外部記憶装置上に更新対象データが存在した場合における前記第1の外部記憶装置上のデータの書き換えに代えて、前記第1の外部記憶装置上のデータの無効化を実行するモードで動作可能であることを特徴とする請求項5記載の情報処理装置。
- 前記ドライバは、
ブロック内のデータが有効か無効かを所定のデータ長のセクタ単位で示す第1のセクタビットマップと、ブロック内のいずれのデータが前記第2の外部記憶装置への未書き込みデータであるのかを前記セクタ単位で示す第2のセクタビットマップとを、前記キャッシュ領域および前記第1の外部記憶装置の各ブロック毎に設け、前記メインメモリ上に確保される管理データ領域内で管理データとして管理するブロック内データ管理手段
をさらに有することを特徴とする請求項1記載の情報処理装置。 - 前記ドライバは、
ブロック内のデータが有効か無効かを所定のデータ長のセクタ単位で示すセクタビットマップと、ブロック内に前記第2の外部記憶装置への未書き込みデータが存在するか否かを示す第1のフラグと、ブロック内にすべてのデータが存在するのか一部のデータが存在するのかを示す第2のフラグとを、前記キャッシュ領域および前記第1の外部記憶装置の各ブロック毎に設け、前記メインメモリ上に確保される管理データ領域内で管理データとして管理するブロック内データ管理手段
をさらに有することを特徴とする請求項1記載の情報処理装置。 - 前記ドライバは、
前記ホストシステムからシャットダウン通知を受けたとき、
前記キャッシュ領域内および前記第1の外部記憶装置上に存在する前記第2の外部記憶装置への未書き込みデータを前記第2の外部記憶装置に格納する動作を前記フラッシュ制御手段に行わせ、
前記フラッシュ制御手段の動作完了後、前記メインメモリ上に確保される管理データ領域内の管理データを前記第1の外部記憶装置上に確保される管理データ保存領域に格納する動作を前記ブロック内データ管理手段に行わせ、
起動時、前記第1の外部記憶装置上に確保される管理データ保存領域内の管理データを前記メインメモリ上に確保される管理データ領域に格納した後、前記キャッシュ領域に関する管理データを初期化する動作を前記ブロック内データ管理手段に行わせる
データ保証手段
をさらに有することを特徴とする請求項7または8記載の情報処理装置。 - 前記データ保証手段は、
前記第1の外部記憶装置に蓄積したデータが前記第2の外部記憶装置と一貫性を有するか否かを判定するための第3のフラグであって、前記ドライバが動作中である場合に第1の値を示し、前記ドライバが非動作中である場合に第2の値を示す第3のフラグを前記第1の外部記憶装置上に確保される管理データ保存領域内に設け、
前記キャッシュ領域内および前記第1の外部記憶装置上に存在する前記第2の外部記憶装置への未書き込みデータを前記第2の外部記憶装置に格納する動作を前記フラッシュ制御手段に開始させる際、前記第3のフラグの値を前記第2の値に更新し、
前記ドライバの起動時、前記第3のフラグの値が前記第2の値を示している場合、前記第1の外部記憶装置上に確保される管理データ保存領域内の管理データを前記メインメモリ上に確保される管理データ領域に格納する動作を前記ブロック内データ管理手段に行わせた後、前記第3のフラグの値を前記第1の値に更新し、前記第3のフラグの値が前記第1の値を示している場合、前記第1の外部記憶装置上に確保される管理データ保存領域内の管理データを初期化すると共に、前記第1の外部記憶装置上のデータを破棄した後、前記第3のフラグの値を前記第1の値に更新する
ことを特徴とする請求項9記載の情報処理装置。 - 前記ドライバが動作を開始する前、前記第2の外部記憶装置へのデータの書き込みおよび前記第2の外部記憶装置からのデータの読み出しを処理する起動手段を具備し、
前記データ保証手段は、
前記第1の外部記憶装置に蓄積したデータが前記第2の外部記憶装置と一貫性を有するか否かを判定するための第3のフラグであって、前記ドライバが動作中である場合に第1の値を示し、前記起動手段が動作中である場合に第2の値を示し、前記ドライバおよび前記起動手段のいずれもが非動作中である場合に第3の値を示す第3のフラグを前記第1の外部記憶装置上に確保される管理データ保存領域内に設け、
前記起動手段は、
起動時、前記フラグの値が前記第3の値であった場合、前記第3のフラグを前記第2の値に更新し、前記第2の外部記憶装置に対して発行したライト要求を前記第1の外部記憶装置上に確保される管理データ保存領域内にトレースデータとして蓄積し、
前記データ保証手段は、
前記キャッシュ領域内および前記第1の外部記憶装置上に存在する前記第2の外部記憶装置への未書き込みデータを前記第2の外部記憶装置に格納する動作を前記フラッシュ制御手段に開始させる際、前記第3のフラグの値を前記第3の値に更新し、
前記ドライバの起動時、前記第3のフラグの値が前記第2の値を示している場合、前記第1の外部記憶装置上に確保される管理データ保存領域内の管理データを前記メインメモリ上に確保される管理データ領域に格納する動作を前記ブロック内データ管理手段に行わせ、前記トレースデータを参照して、前記第1の外部記憶装置上に存在する更新対象データを無効化した後、前記第3のフラグの値を前記第1の値に更新し、前記第3のフラグの値が前記第2の値以外の値を示している場合、前記第1の外部記憶装置上に確保される管理データ保存領域内の管理データを初期化すると共に、前記第1の外部記憶装置上のデータを破棄した後、前記第3のフラグの値を前記第1の値に更新する
ことを特徴とする請求項9記載の情報処理装置。 - 前記起動手段は、前記トレースデータが所定の量を越えた場合、前記トレースデータの蓄積を終了し、前記第3のフラグを前記第3の値に更新することを特徴とする請求項11記載の情報処理装置。
- 前記データ保証手段は、
前記第2の外部記憶装置の個体情報および電源投入回数を前記第1の外部記憶装置上に確保される管理データ保存領域内で管理し、
前記ドライバの起動時、前記第2の外部記憶装置から個体情報および電源投入回数を取得し、前記取得した個体情報と前記管理データ保存領域内で管理している個体情報とが異なっていた場合、または、前記取得した電源投入回数から1を減じた値と前記管理データ保存領域内で管理している電源投入回数とが異なっていた場合、前記第1の外部記憶装置上に確保される管理データ保存領域内の前記第2の外部記憶装置に関する管理データを初期化すると共に、前記第1の外部記憶装置上の前記第2の外部記憶装置に関するデータを無効化する
ことを特徴とする請求項9記載の情報処理装置。 - 前記ドライバが動作を開始する前、前記第2の外部記憶装置へのデータの書き込みおよび前記第2の外部記憶装置からのデータの読み出しを処理する起動手段を具備し、
前記起動手段は、
起動時、前記第2の外部記憶装置から個体情報および電源投入回数を取得し、前記取得した個体情報と前記管理データ保存領域内で管理している個体情報とが一致しており、かつ、前記取得した電源投入回数から1を減じた値と前記管理データ保存領域内で管理している電源投入回数とが一致している場合、読み出し対象データが前記第1の外部記憶装置に存在していたならば、前記第1の外部記憶装置からの読み出し処理を実行し、前記第2の外部記憶装置への書き込み処理に伴う更新対象データが前記第1の外部記憶装置に存在していたならば、前記第1の外部記憶装置上の当該更新対象データの無効化を実行する
ことを特徴とする請求項13記載の情報処理装置。 - 前記データ保証手段は、前記メインメモリ上に確保される管理データ領域内の管理データを前記第1の外部記憶装置上に確保される管理データ保存領域内に格納する動作を前記ブロック内データ管理手段に行わせる際、前記第2のフラグによって一部のデータが存在する旨が示されている前記第1の外部記憶装置上のブロックのデータを無効化することを特徴とする請求項14記載の情報処理装置。
- 前記起動手段は、読み出し対象データが前記第1の外部記憶装置に存在する場合、前記第1の外部記憶装置上の読み出し対象データに対応する前記第2のフラグがすべてのデータが存在する旨を示しているときにのみ、前記第1の外部記憶装置からの読み出し処理を実行し、
前記データ保証手段は、前記ドライバの起動時、前記第2のフラグによって一部のデータが存在する旨が示されている前記第1の外部記憶装置上のブロックのデータを無効化する
ことを特徴とする請求項14記載の情報処理装置。 - 前記ドライバは、前記ホストシステムの起動時に読み出しが要求されたデータか否かを示すための第4のフラグを前記キャッシュ領域および前記第1の外部記憶装置の各ブロック毎に設けるブートデータ管理手段を具備し、
前記起動手段は、読み出し対象データが前記第1の外部記憶装置に存在した場合、前記第1の外部記憶装置上のデータに対応する前記第4のフラグをオンに設定し、読み出し対象データが前記第1の外部記憶装置に存在しない場合、前記第2の外部記憶装置に対して発行したリード要求を前記第1の外部記憶装置上に確保される管理データ保存領域内にトレースデータとして蓄積し、
前記リード制御手段は、前記ドライバの起動時または前記ホストシステムからの起動完了通知受領時、前記トレースデータとして蓄積されるリード要求の読み出し対象データを前記第2の外部記憶装置から読み出して前記第1の外部記憶装置に蓄積し、前記第1の外部記憶装置上のデータに対応する前記第4のフラグをオンに設定すると共に、前記起動完了通知を前記ホストシステムから受領するまでの間、前記ホストシステムからデータの書き込みが要求された際、読み出し対象データが前記キャッシュ領域または前記第1の外部記憶装置に存在した場合、前記第1の外部記憶装置上のデータに対応する前記第4のフラグをオンに設定し、読み出し対象データが前記第1の外部記憶装置に存在しない場合、前記第2の外部記憶装置から読み出したデータを前記第1の外部記憶装置に蓄積し、前記第1の外部記憶装置上のデータに対応する前記第4のフラグをオンに設定し、
前記リード制御手段および前記ライト制御手段は、前記第4のフラグがオンに設定された前記第1の外部記憶装置上のデータが前記第1の外部記憶装置上で維持されるように前記第1の外部記憶装置上のデータの入れ替えを制御し、
前記ブートデータ管理手段は、前記ホストシステムからシャットダウン通知を受けたとき、前記第4のフラグをすべてオフに初期化する
ことを特徴とする請求項14記載の情報処理装置。 - 前記起動手段および前記ライト制御手段は、更新対象データが、前記第4のフラグがオンに設定されて前記第1の外部記憶装置上に存在する場合、前記第1の外部記憶装置上のデータに対応する前記第4のフラグをオフに設定することを特徴とする請求項17記載の情報処理装置。
- 前記リード制御手段は、前記第4のフラグがオンに設定されたデータの量が所定量に達した場合、前記起動完了通知の受領前に、前記第4のフラグをオンにする処理を終了することを特徴とする請求項17または18記載の情報処理装置。
- 前記フラッシュ制御手段は、キャッシング状態にある未書き込みデータの書き込みを要求するフラッシュ要求を前記ホストシステムから受けた場合に、即応的に、前記キャッシュ領域内および前記第1の外部記憶装置上に存在する未書き込みデータを前記第2の外部記憶装置に書き込むためのライト要求を前記第2の外部記憶装置に対して発行すると共に、前記ライト要求をすべて発行し終えた後、前記第2の外部記憶装置内においてキャッシング状態にある未書き込みデータを書き込ませるためのフラッシュ要求を前記第2の外部記憶装置に対して発行する第1のモードと、何もせずに書き込み完了を前記ホストシステムに通知し、前回のフラッシュ動作時から一定時間が経過した時または前記キャッシュ領域内および前記第1の外部記憶装置上に存在する未書き込みデータのデータ量が所定量に達した時に、前記キャッシュ領域内および前記第1の外部記憶装置上に存在する未書き込みデータを前記第2の外部記憶装置に書き込むためのライト要求を前記第2の外部記憶装置に対して発行すると共に、前記ライト要求をすべて発行し終えた後、前記第2の外部記憶装置内においてキャッシング状態にある未書き込みデータを書き込ませるためのフラッシュ要求を前記第2の外部記憶装置に対して発行する第2のモードとの2つのモードで動作可能であることを特徴とする請求項1記載の情報処理装置。
- 前記ライト制御手段は、前記ライトFUA要求を受けた場合に、前記キャッシュ領域内へのデータの格納または前記キャッシュ領域内もしくは前記第1の外部記憶装置上のデータの書き換えを行った後、書き込み対象データの書き込み処理を前記第2の外部記憶装置にライトスルー方式で実行させるためのライトFUA要求を前記第2の外部記憶装置に対して発行することなく、前記ホストシステムに対して書き込み処理の完了を通知するように動作するモードをさらに有することを特徴とする請求項2記載の情報処理装置。
- 前記リード制御手段は、
前記キャッシュ領域内または前記第1の外部記憶装置上に存在する読み出し対象データの一部と前記第2の外部記憶装置上のその他のデータとを組み合わせるためのマージバッファ領域を前記メインメモリ上に確保する手段と、
前記第2の外部記憶装置から読み出し対象データの組み合わせに十分な最小限のデータを前記マージバッファ領域内に読み出し、前記キャッシュ領域内または前記第1の外部記憶装置上において欠損しているデータを前記マージバッファ領域内から前記キャッシュ領域内に転送する手段と
を有することを特徴とする請求項1記載の情報処理装置。 - 前記フラッシュ制御手段は、前記キャッシュ領域内において未書き込みデータが分散している場合、前記マージバッファ領域を用いて、前記第2の外部記憶装置上のデータと前記前記キャッシュ領域内において分散する未書き込みデータとを組み合わせた後、前記第2の外部記憶装置への格納を実行することを特徴とする請求項1記載の情報処理装置。
- 前記ドライバは、
前記第1の外部記憶装置におけるデータの管理単位であるページサイズを取得し、前記ブロック単位とする前記所定のデータ長を前記ページサイズの倍数とし、かつ、前記第1の外部記憶装置のページ境界を基点に前記第1の外部記憶装置に対する各ブロックの割り付けを行う設定手段
をさらに有することを特徴とする請求項1記載の情報処理装置。 - 前記キャッシュ領域および前記第1の外部記憶装置は、セットアソシアティブ方式によってデータの入れ替えが制御されることを特徴とする請求項1記載の情報処理装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010111280A JP4988007B2 (ja) | 2010-05-13 | 2010-05-13 | 情報処理装置およびドライバ |
US13/079,621 US8639881B2 (en) | 2010-05-13 | 2011-04-04 | Information processing apparatus and driver |
US13/756,230 US20130145094A1 (en) | 2010-05-13 | 2013-01-31 | Information Processing Apparatus and Driver |
US15/009,093 USRE48127E1 (en) | 2010-05-13 | 2016-01-28 | Information processing apparatus and driver |
US16/939,224 USRE49818E1 (en) | 2010-05-13 | 2020-07-27 | Information processing method in a multi-level hierarchical memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010111280A JP4988007B2 (ja) | 2010-05-13 | 2010-05-13 | 情報処理装置およびドライバ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011238175A true JP2011238175A (ja) | 2011-11-24 |
JP4988007B2 JP4988007B2 (ja) | 2012-08-01 |
Family
ID=44912752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010111280A Expired - Fee Related JP4988007B2 (ja) | 2010-05-13 | 2010-05-13 | 情報処理装置およびドライバ |
Country Status (2)
Country | Link |
---|---|
US (3) | US8639881B2 (ja) |
JP (1) | JP4988007B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015511350A (ja) * | 2012-01-26 | 2015-04-16 | メモリー テクノロジーズ リミティド ライアビリティ カンパニー | 不揮発性大容量メモリ・システムによるキャッシュ移動を提供するための装置および方法 |
US9412455B2 (en) | 2013-09-11 | 2016-08-09 | Kabushiki Kaisha Toshiba | Data write control device and data storage device |
US9983800B2 (en) | 2009-06-04 | 2018-05-29 | Memory Technologies Llc | Apparatus and method to share host system RAM with mass storage memory RAM |
US10042586B2 (en) | 2012-04-20 | 2018-08-07 | Memory Technologies Llc | Managing operational state data in memory module |
US10540094B2 (en) | 2008-02-28 | 2020-01-21 | Memory Technologies Llc | Extended utilization area for a memory device |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8909850B2 (en) * | 2011-03-10 | 2014-12-09 | Deere & Company | Memory life extension method and apparatus |
JP5175953B2 (ja) * | 2011-06-02 | 2013-04-03 | 株式会社東芝 | 情報処理装置およびキャッシュ制御方法 |
US8977799B2 (en) * | 2011-09-26 | 2015-03-10 | Lsi Corporation | Storage caching/tiering acceleration through staggered asymmetric caching |
US9081665B2 (en) * | 2012-02-02 | 2015-07-14 | OCZ Storage Solutions Inc. | Apparatus, methods and architecture to increase write performance and endurance of non-volatile solid state memory components |
US8984267B2 (en) * | 2012-09-30 | 2015-03-17 | Apple Inc. | Pinning boot data for faster boot |
AU2015100549B4 (en) * | 2012-09-30 | 2015-12-17 | Apple Inc. | Pinning boot data for faster boot |
CN104104710B (zh) * | 2013-04-15 | 2017-05-24 | 同济大学 | 一种移动云计算环境中基于低能耗的数据缓存方法 |
US9009355B1 (en) * | 2013-12-17 | 2015-04-14 | Emc Corporation | Processing requests to a data store during back up |
CN103744624B (zh) * | 2014-01-10 | 2017-09-22 | 浪潮电子信息产业股份有限公司 | 一种实现存储系统ssd缓存数据选择性升级的系统架构 |
US9658966B2 (en) * | 2014-11-24 | 2017-05-23 | Sandisk Technologies Llc | Systems and methods of write cache flushing |
US9891846B2 (en) * | 2015-03-31 | 2018-02-13 | Dell Products, Lp | System and method for preventing solid state drive corruption after dirty shutdown power loss |
TWI727203B (zh) * | 2018-09-07 | 2021-05-11 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
KR102605566B1 (ko) * | 2018-11-22 | 2023-11-24 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
CN113095471B (zh) * | 2020-01-09 | 2024-05-07 | 北京君正集成电路股份有限公司 | 一种提高检测模型效率的方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63247853A (ja) * | 1987-03-30 | 1988-10-14 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | Dasdキヤツシユ管理方法 |
JPH04111113A (ja) * | 1990-08-31 | 1992-04-13 | Kawasaki Steel Corp | ハードディスクエミュレータ |
JPH0519981A (ja) * | 1991-07-12 | 1993-01-29 | Kawasaki Steel Corp | 光デイスク装置のデータ書込み正常終了判定方法 |
JPH06139027A (ja) * | 1992-10-28 | 1994-05-20 | Hitachi Ltd | ディスクドライバ,ディスクアレイ装置,データ記憶システム及びディスクアレイシステムのデータバックアップ方法 |
JPH07225652A (ja) * | 1994-02-14 | 1995-08-22 | Hitachi Ltd | 集合型ファイル装置の制御方式 |
JPH09147497A (ja) * | 1995-11-24 | 1997-06-06 | Toshiba Corp | 情報記憶装置および情報記憶方法 |
JP2006139478A (ja) * | 2004-11-11 | 2006-06-01 | Hitachi Ltd | ディスクアレイシステム |
JP2007528079A (ja) * | 2004-03-08 | 2007-10-04 | サンディスク コーポレイション | フラッシュコントローラのキャッシュ構造 |
JP2008181382A (ja) * | 2007-01-25 | 2008-08-07 | Hitachi Ltd | ストレージ装置及び負荷分散方法 |
JP2009163647A (ja) * | 2008-01-10 | 2009-07-23 | Hitachi Ltd | ディスクアレイ装置 |
JP2010102369A (ja) * | 2008-10-21 | 2010-05-06 | Hitachi Ltd | ストレージシステム |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0475639A3 (en) | 1990-08-31 | 1992-06-03 | Kawasaki Steel Corporation | Hard disk emulator |
JPH076093A (ja) | 1993-06-15 | 1995-01-10 | Hitachi Ltd | 記憶制御装置 |
JPH07230411A (ja) | 1994-02-18 | 1995-08-29 | Fujitsu Ltd | フラッシュメモリカード装置 |
JPH07253929A (ja) | 1994-03-14 | 1995-10-03 | Hitachi Ltd | 半導体記憶装置 |
JPH10154101A (ja) | 1996-11-26 | 1998-06-09 | Toshiba Corp | データ記憶システム及び同システムに適用するキャッシュ制御方法 |
US6567889B1 (en) * | 1997-12-19 | 2003-05-20 | Lsi Logic Corporation | Apparatus and method to provide virtual solid state disk in cache memory in a storage controller |
US7136883B2 (en) * | 2001-09-08 | 2006-11-14 | Siemens Medial Solutions Health Services Corporation | System for managing object storage and retrieval in partitioned storage media |
US7149846B2 (en) * | 2002-04-17 | 2006-12-12 | Lsi Logic Corporation | RAID protected external secondary memory |
US7076605B1 (en) * | 2003-04-25 | 2006-07-11 | Network Appliance, Inc. | Method and apparatus for writing data to a storage device |
JP4111113B2 (ja) | 2003-09-25 | 2008-07-02 | 三菱電機株式会社 | 空気調和機 |
US7127549B2 (en) * | 2004-02-04 | 2006-10-24 | Sandisk Corporation | Disk acceleration using first and second storage devices |
US20110179219A1 (en) * | 2004-04-05 | 2011-07-21 | Super Talent Electronics, Inc. | Hybrid storage device |
US20110145489A1 (en) * | 2004-04-05 | 2011-06-16 | Super Talent Electronics, Inc. | Hybrid storage device |
US9104315B2 (en) | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
JP2008046964A (ja) | 2006-08-18 | 2008-02-28 | Toshiba Corp | 情報記録装置及びその制御方法 |
US20080172518A1 (en) * | 2007-01-11 | 2008-07-17 | Sandisk Il Ltd. | Systems For Supporting Readydrive And Readyboost Accelerators In A Single Flash-Memory Storage Device |
JP5019981B2 (ja) | 2007-07-06 | 2012-09-05 | 矢崎総業株式会社 | ガスメータ |
-
2010
- 2010-05-13 JP JP2010111280A patent/JP4988007B2/ja not_active Expired - Fee Related
-
2011
- 2011-04-04 US US13/079,621 patent/US8639881B2/en not_active Ceased
-
2013
- 2013-01-31 US US13/756,230 patent/US20130145094A1/en not_active Abandoned
-
2016
- 2016-01-28 US US15/009,093 patent/USRE48127E1/en active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63247853A (ja) * | 1987-03-30 | 1988-10-14 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | Dasdキヤツシユ管理方法 |
JPH04111113A (ja) * | 1990-08-31 | 1992-04-13 | Kawasaki Steel Corp | ハードディスクエミュレータ |
JPH0519981A (ja) * | 1991-07-12 | 1993-01-29 | Kawasaki Steel Corp | 光デイスク装置のデータ書込み正常終了判定方法 |
JPH06139027A (ja) * | 1992-10-28 | 1994-05-20 | Hitachi Ltd | ディスクドライバ,ディスクアレイ装置,データ記憶システム及びディスクアレイシステムのデータバックアップ方法 |
JPH07225652A (ja) * | 1994-02-14 | 1995-08-22 | Hitachi Ltd | 集合型ファイル装置の制御方式 |
JPH09147497A (ja) * | 1995-11-24 | 1997-06-06 | Toshiba Corp | 情報記憶装置および情報記憶方法 |
JP2007528079A (ja) * | 2004-03-08 | 2007-10-04 | サンディスク コーポレイション | フラッシュコントローラのキャッシュ構造 |
JP2006139478A (ja) * | 2004-11-11 | 2006-06-01 | Hitachi Ltd | ディスクアレイシステム |
JP2008181382A (ja) * | 2007-01-25 | 2008-08-07 | Hitachi Ltd | ストレージ装置及び負荷分散方法 |
JP2009163647A (ja) * | 2008-01-10 | 2009-07-23 | Hitachi Ltd | ディスクアレイ装置 |
JP2010102369A (ja) * | 2008-10-21 | 2010-05-06 | Hitachi Ltd | ストレージシステム |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11182079B2 (en) | 2008-02-28 | 2021-11-23 | Memory Technologies Llc | Extended utilization area for a memory device |
US11907538B2 (en) | 2008-02-28 | 2024-02-20 | Memory Technologies Llc | Extended utilization area for a memory device |
US11829601B2 (en) | 2008-02-28 | 2023-11-28 | Memory Technologies Llc | Extended utilization area for a memory device |
US11550476B2 (en) | 2008-02-28 | 2023-01-10 | Memory Technologies Llc | Extended utilization area for a memory device |
US10540094B2 (en) | 2008-02-28 | 2020-01-21 | Memory Technologies Llc | Extended utilization area for a memory device |
US11494080B2 (en) | 2008-02-28 | 2022-11-08 | Memory Technologies Llc | Extended utilization area for a memory device |
US11775173B2 (en) | 2009-06-04 | 2023-10-03 | Memory Technologies Llc | Apparatus and method to share host system RAM with mass storage memory RAM |
US10983697B2 (en) | 2009-06-04 | 2021-04-20 | Memory Technologies Llc | Apparatus and method to share host system RAM with mass storage memory RAM |
US11733869B2 (en) | 2009-06-04 | 2023-08-22 | Memory Technologies Llc | Apparatus and method to share host system RAM with mass storage memory RAM |
US9983800B2 (en) | 2009-06-04 | 2018-05-29 | Memory Technologies Llc | Apparatus and method to share host system RAM with mass storage memory RAM |
US10877665B2 (en) | 2012-01-26 | 2020-12-29 | Memory Technologies Llc | Apparatus and method to provide cache move with non-volatile mass memory system |
JP2015511350A (ja) * | 2012-01-26 | 2015-04-16 | メモリー テクノロジーズ リミティド ライアビリティ カンパニー | 不揮発性大容量メモリ・システムによるキャッシュ移動を提供するための装置および方法 |
US11797180B2 (en) | 2012-01-26 | 2023-10-24 | Memory Technologies Llc | Apparatus and method to provide cache move with non-volatile mass memory system |
US11226771B2 (en) | 2012-04-20 | 2022-01-18 | Memory Technologies Llc | Managing operational state data in memory module |
US10042586B2 (en) | 2012-04-20 | 2018-08-07 | Memory Technologies Llc | Managing operational state data in memory module |
US11782647B2 (en) | 2012-04-20 | 2023-10-10 | Memory Technologies Llc | Managing operational state data in memory module |
US9412455B2 (en) | 2013-09-11 | 2016-08-09 | Kabushiki Kaisha Toshiba | Data write control device and data storage device |
Also Published As
Publication number | Publication date |
---|---|
US20130145094A1 (en) | 2013-06-06 |
JP4988007B2 (ja) | 2012-08-01 |
US8639881B2 (en) | 2014-01-28 |
USRE48127E1 (en) | 2020-07-28 |
US20110283066A1 (en) | 2011-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4988008B2 (ja) | 情報処理装置およびドライバ | |
JP4988007B2 (ja) | 情報処理装置およびドライバ | |
TWI438628B (zh) | 資料儲存系統及資料儲存媒介 | |
JP5117608B1 (ja) | 情報処理装置、ハイブリッド記憶装置、およびキャッシュ方法 | |
US20110179219A1 (en) | Hybrid storage device | |
JP5492156B2 (ja) | 情報処理装置およびキャッシュ方法 | |
JP2011128998A (ja) | 半導体記憶装置 | |
US8112589B2 (en) | System for caching data from a main memory with a plurality of cache states | |
USRE49418E1 (en) | Information processing apparatus and cache control method | |
JP2005301591A (ja) | 不揮発性メモリを備えた装置及びメモリコントロ−ラ | |
JP6746747B2 (ja) | 記憶システム | |
US8433847B2 (en) | Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive | |
JP5290446B2 (ja) | ネットワークブートシステム | |
JP2006099802A (ja) | 記憶制御装置およびキャッシュメモリの制御方法 | |
US20110167214A1 (en) | Method And Apparatus To Manage Non-Volatile Disk Cache | |
JP5025670B2 (ja) | 情報処理装置およびデータ記憶装置 | |
JP7132491B2 (ja) | メモリ制御装置、メモリ制御プログラムおよびメモリ制御方法 | |
JP2012078939A (ja) | 情報処理装置およびキャッシュ制御方法 | |
JP2010191672A (ja) | データ記憶システム | |
USRE49818E1 (en) | Information processing method in a multi-level hierarchical memory system | |
JP2010176305A (ja) | 情報処理装置およびデータ記憶装置 | |
JP4724253B2 (ja) | データ記憶システムおよびキャッシュデータの一貫性保証方法 | |
JP2010170268A (ja) | ストレージシステムの制御方法、ストレージ制御装置及びプログラム | |
JP2010152517A (ja) | 不揮発性半導体メモリドライブ装置および不揮発性半導体メモリドライブ装置のアドレス管理方法 | |
JP2018005371A (ja) | 情報処理システム、情報処理方法、記憶制御装置、記憶制御方法および記憶制御プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110902 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120110 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120307 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120403 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120425 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150511 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |