JP2012252514A - 情報処理装置およびキャッシュ制御方法 - Google Patents
情報処理装置およびキャッシュ制御方法 Download PDFInfo
- Publication number
- JP2012252514A JP2012252514A JP2011124542A JP2011124542A JP2012252514A JP 2012252514 A JP2012252514 A JP 2012252514A JP 2011124542 A JP2011124542 A JP 2011124542A JP 2011124542 A JP2011124542 A JP 2011124542A JP 2012252514 A JP2012252514 A JP 2012252514A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- driver
- data
- storage unit
- processing apparatus
- 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 OR CALCULATING; 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
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/217—Hybrid disk, e.g. using both magnetic and solid state storage devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
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の不揮発性記憶部と前記第1の不揮発性記憶部よりアクセス速度が速い第2の不揮発性記憶部とを有する。プロセッサは、前記揮発性メモリにロードされた、オペレーティングシステムとキャッシュドライバとを実行する。キャッシュドライバは前記第2の不揮発性記憶部の少なくとも一部の領域を第1の不揮発性記憶部のキャッシュとして用いる。
【選択図】 図2
Description
情報処理装置10はオペレーティングシステム(OS)が制御し、オペレーティングシステム110からH−HDD18へのアクセスはすべてH−HDDドライバ120を介して行われる。H−HDDドライバ120はATAコントローラ14Aを直接的または間接的に制御する。ATAコントローラ14Aを介してH−HDD18が接続されている。また、H−HDDドライバ120は、メモリコントローラ12Aを介して、主メモリ13へのデータのアクセスを行う。
第1の実施形態では、起動の度にキャッシュ管理情報201を破棄しているので、起動の度にキャッシュデータ領域212内にキャッシュデータを書き込むことになるので、SSDの寿命が短くなる。また、起動時にキャッシュデータ212がHDD18Bのデータと一致していることが保証できれば、キャッシュ管理情報201を不揮発性記憶領域に保存し、起動時にロードすることによってキャッシュデータ212を破棄せずに使用することができ、H−HDD18の性能向上も図れる。この実施形態では、SSDの寿命が短くなることを抑制し、H−HDDの性能を向上させることが可能な手法について説明する。
H−HDDドライバ320はシステムの起動時に主メモリ13にロードされ、SSD18C内に格納されているキャッシュ管理情報211をキャッシュ管理情報201として主メモリ13内に格納した後、動作を開始する。キャッシュ管理情報211は、キャッシュディレクトリなどのキャッシュデータを管理するためのデータを有する。H−HDDドライバ320の動作時、H−HDDドライバ320は、主メモリ13内のキャッシュ管理情報201にライトキャッシュおよびリードキャッシュの学習データを記録する。シャットダウン時、H−HDDドライバ320は、SSD18C内に主メモリ13内のキャッシュ管理情報201をキャッシュ管理情報211として格納する。
電源が投入されると、制御部18AがSSD18C内のキャッシュデータの管理を開始する(ステップ401)。H−HDDドライバ320が主メモリ13にロードされ、H−HDDドライバ320が処理を実行できるようになると、H−HDDドライバ320は、制御部18Aに対してドライバ動作開始通知を発行する(ステップ402)。制御部18Aは、ドライバ動作開始通知を受信すると、キャッシュデータの管理を停止する(ステップ403)。制御部18Aは、H−HDDドライバ320に対して管理動作停止通知を発行する(ステップ404)。管理動作停止通知を受信すると、H−HDDドライバ320は、制御部18Aにキャッシュ管理情報211のリードアクセス要求を発行する(ステップ405)。制御部18Aは、要求に応じてキャッシュ管理情報211をH−HDDドライバ320に転送する(ステップ406)。H−HDDドライバ320は、転送されたキャッシュ管理情報211をキャッシュ管理情報201として主メモリ13内に格納する(ステップ407)。キャッシュ管理情報201の格納後、H−HDDドライバ320は、ハードディスクドライブ18Bのキャッシュデータの管理を開始する(ステップ408)。
電源断を伴わないリブートの場合、H−HDD18の制御部18Aは、ホストがリブートしたことを認識することができないので、リブートが行われてもH−HDD18の制御部18Aはキャッシュデータの管理を行うことができない。本実施形態では、H−HDD18の制御部18Aが正常な電源断を伴わないリブートを認識し、リブート後に制御部18Aがキャッシュデータを管理することが可能にする手法について説明する。
H−HDDドライバ120は、H−HDD18の不揮発性メモリ、例えばSSD18C内に2値でキャッシュの管理主体を表す管理主体フラグ813を書き込む領域を確保する。管理主体フラグ813には、管理主体が制御部18Aであることを示す“HHDD”に対応する値、管理主体が制H−HDDドライバ120であることを示す“DRVR”に対応する値の値が書き込まれる。H−HDDドライバ120および制御部18は、管理主体フラグ813の値の参照および変更を行うことが可能である。なお、管理主体フラグ813の初期値は、“DRVR“である。
起動後、制御部18Aは、管理主体フラグ813の値を参照する(ステップ901A)。制御部18Aは、管理主体フラグ813の値が“HHDD”であるかを判定する(ステップ902A)。“HHDD”であると判定した場合(ステップ902AのYes)、制御部18AがSSD18C内のキャッシュデータの管理を開始する(ステップ903)。
オペレーティングシステム110からシャットダウンが通知されると、H−HDDドライバ120は、キャッシュ制御処理を停止する(ステップ1101)。H−HDDドライバ120は、制御部18Aにキャッシュ管理情報201のSSD18Cへのライトアクセスを要求する(ステップ1102)。制御部18Aは、キャッシュ管理情報201をキャッシュ管理情報211としてSSD18Cに書き込む(ステップ1103)。書き込み終了後、制御部18Aは、キャッシュ管理情報211の書き込み終了をH−HDDドライバ120に通知する(ステップ1104)。
本実施形態では、起動を高速化する手法について説明する。
図12のブロック図を参照して第4の実施形態のH−HDD18およびH−HDDドライバの機能を説明する。図12は、第4の実施形態の情報処理装置の主要部を示すブロック図である。
本実施形態のH−HDDドライバ1220によって生成されたキャッシュ管理情報1201(1211)は、図13に示すように、管理データ1301およびキャッシュディレクトリ1302を有する。管理データ1301内には、後述するトレース領域1301Aが確保されている。
上記実施形態では、起動時に学習されたデータが削除されないため、起動時の学習されたデータが多いと、キャッシュデータ領域212のうち稼働中に使用可能な領域が少なくなり、十分なキャッシュの効果を発揮できなくなってしまう。本実施形態では、起動に学習するデータの量を制限する手法について説明する。
本実施形態のH−HDDドライバ1720によって生成されたキャッシュ管理情報1701(1711)は、図18に示すように、管理データ1801およびキャッシュディレクトリ1302を有する。キャッシュ管理情報1701(1711)内には、第4の実施形態と同様にトレース領域1801Aが確保されている。キャッシュディレクトリ1302によって管理される各タグデータ1900の管理データ1902内に起動フラグ1902AとLRUカウンタ1902Bを設ける。LRUカウンタ1902Bは、同一Index内でアクセスされた順番を記録するフィールドで、例えば16ウェイのとき、LRUカウンタ1902Bが0のデータは最も最近アクセスされたことを表し、LRUカウンタ1902Bが15のときは最も昔にアクセスされたことを表す。制御部1718Aがキャッシュデータを管理している状態において、制御部1718Aは、リードアクセス要求に対してキャッシュデータがヒットしたときは、キャッシュディレクトリ1701内の起動フラグ1902Aの値を“1”に書き換え、同一IndexのLRUカウンタ1902Bを更新する。リードアクセス要求に対してキャッシュデータがミスしたときは、制御部1718Aは、トレース領域1801Aにリードアクセス要求のパラメータ(LBA,セクタ数)1801Bをリードされた順番に記録する。
H−HDDドライバ1720は、キャッシュディレクトリ内のIndexごとに起動フラグ1902Aの値が“1”のタグデータ数を算出する(ステップ2001)。H−HDDドライバ1720は、Indexごとに起動フラグ1902Aの値が“1”のタグデータ数が設定数より多いかを判定する(ステップ2002)。設定数より多いと判定した場合(ステップ2002のYes)、H−HDDドライバ1720は、LRUカウンタ1902Bを参照して同一Indexのキャッシュディレクトリの起動フラグ1902Aの値が“1”のタグデータのうちアクセス日時が最も新しいタグデータの起動フラグ1902Aの値を“0”にする(ステップ2009)。H−HDDドライバ1720は、ステップ2001からの処理を実行する。
本実施形態では、次回起動時にリードされる可能性の低いデータを極力残さないようにする手法について説明する。
本実施形態のH−HDDドライバおよび制御部の構成は、第4の実施形態と同様なので図示を省略する。
H−HDDドライバ1220は、起動フラグの値が“1”であるタグデータに対応するキャッシュデータにライトアクセス要求があったときは、起動フラグの値を“0”にする。 起動時にリードアクセスされ、その後ライトアクセスが発生したキャッシュデータは次の起動時にリードされない可能性が高い。起動フラグの値が“0”のタグデータに対応するキャッシュデータは削除されても、ブート時間が長くなることがない。
図21は、第7の実施形態の情報処理装置の主要部を示すブロック図である。
本実施形態のH−HDDドライバは、SSD18Cの少なくとも一部の領域をHDD18BおよびHDD2130のキャッシュとして用いる。
H−HDDドライバ2120によって管理されるキャッシュ管理情報2011(2111)内のタグデータを図22を参照して説明する。タグデータ2200内の管理データ2202内には学習対象のHDDを識別するためのHDD_ID2202Aが記録されている。HDD_ID2202Aのビット数は、キャッシュ管理情報2101を作成時に設定される。
本実施形態は、磁気ディスクのように比較的大容量、安価、低速、高消費電力の第1の記憶装置(HDD)と、半導体不揮発性メモリのように、比較的小容量、高価、高速、低消費電力の第2の記憶装置(SSD)を、外部記憶装置が接続される計算機システム(PC)上で動作する外部記憶装置制御手段(HDDドライバ)がSSDをHDDのキャッシュとして使用することにより、比較的大容量、安価、高速、低消費電力のストレージシステムを提供する。
図24に示すように、USB−HDD2040は、コントローラ2341、HDD2342、およびSSD2343等を備えている。
電源が投入されると、コントローラ2341は、HDD2342をコンピュータ(PC)2300に対して見せる(ステップ2501)。キャッシュドライバ2320が主メモリ13にロードされ、キャッシュドライバ2320が処理を実行できるようになると、キャッシュドライバ2320は、コントローラ2341に対してドライバ動作開始通知を発行する(ステップ2502)。コントローラ2341は、ドライバ動作開始通知を受信すると、SSD2343をコンピュータ2300に見せる(ステップ2503)。キャッシュドライバ2320は、コントローラ2341にキャッシュ管理情報2411のリードアクセス要求を発行する(ステップ405)。コントローラ2341は、要求に応じてキャッシュ管理情報2411をキャッシュドライバ2320に転送する(ステップ406)。キャッシュドライバ2320は、転送されたキャッシュ管理情報2411をキャッシュ管理情報2401として主メモリ13内に格納する(ステップ407)。キャッシュ管理情報2401の格納後、キャッシュドライバ2320は、ハードディスクドライブ2342のキャッシュデータの管理を開始する(ステップ408)。
USB−HDD2040およびUSB−HDD2040を制御する情報処理装置の構成について図26を参照して説明する。図26は、第9の実施形態の情報処理装置の主要部を示すブロック図である。
キャッシュドライバ2320は、コンピュータが起動するときに主メモリ13にロードされ動作を開始する。OS110からシャットダウンの通知を受け取ると、キャッシュドライバ2320はキャッシュディレクトリなどのキャッシュ管理情報2401をSSD2343の管理データ領域内にキャッシュ管理情報2411として格納する。
コントローラ2641は、動作開始時にトレース有効フラグ2701の値を参照し、値が“ON”であるかを判定する(ステップ2801)。“ON”であると判定した場合(ステップ2801のYes)、コントローラ2641は、アクセスがあったらライトアクセスであるかを判定する(ステップ2802)。ライトアクセスであると判定した場合(ステップ2802のNo)、コントローラ2641は、トレース領域2702内にトレースデータを記録することが可能であるかを判定する(ステップ2803)。記録可能であると判定した場合(ステップ2803のYes)、コントローラ2641は、トレース領域2702にトレースデータを記録する(ステップ2803)。記録可能ではないと判定した場合(ステップ2803のNo)、コントローラ2641は、トレース有効フラグ2701の値を“OFF”に書き替える(ステップ2805)。
キャッシュドライバ2320は、動作開始時にトレース有効フラグ2701の値を参照し、値が“ON”であるかを判定する(ステップ2901)。“ON”ではないと判定した場合(ステップ2901のNo)、キャッシュドライバ2320は、主メモリ13内のキャッシュ管理情報2401を初期化してキャッシュデータ2412になにも記録されていない状態にする(ステップ2908)。“ON”であると判定した場合(ステップ2901のYes)、キャッシュドライバ2320は、SSD2343内のキャッシュ管理情報2411を主メモリ13のキャッシュ管理情報2401領域に読み出し、トレースデータを処理する。キャッシュドライバ2320は、トレース領域2702内に読み出されていないトレースデータがあるかを判定する(ステップ2902)。トレースデータがあると判定した場合(ステップ2902のYes)、トレース領域2702内から一つのトレースデータを読み出す(ステップ2903)。キャッシュドライバ2320は、キャッシュ管理情報2401に基づいてトレースデータに記録されているアドレス対応するデータがキャッシュデータにヒットするかを判定する(ステップ2904)。ヒットしたと判定した場合(ステップ2904のYes)、キャッシュドライバ2320は、トレースデータに対応するタグデータを破棄する(ステップ2905)。ヒットしないと判定した場合(ステップ2904のNo)、またはステップ2905の後、キャッシュドライバ2320は、キャッシュドライバ2320は、ステップ2902からの処理を順次実行する。トレースデータがないと判定した場合(ステップ2902のNo)、キャッシュドライバ2320は、トレース有効フラグ2701の値を“OFF”に書き替える(ステップ2906)。ステップ2906の後、シャットダウン処理が完了した場合、またはUSB−HDD2340の安全な取り外しに伴う処理が完了した場合、キャッシュドライバ2320は、トレース有効フラグ2701の値を“ON”に書き替える(ステップ2907)。
本実施形態では、HDD制御部に機能を追加することにより、計算機システムの再起動後にも、再起動前に学習したデータを使用できるようにし、同じキャッシュドライバを有する他の計算機システムでHDDが書き換えられてもデータの整合性を保証するものである。
USB−HDD2340のコントローラ3141は、ホストから発行されたライトコマンドをトレースする機能と、キャッシュドライバ識別子を管理する機能を有する。
コントローラ3141は、動作開始時に識別子がクリア状態であるかを判定する(ステップ3301)。クリア状態でないと判定した場合(ステップ3301のNo)、コントローラ3141は、アクセスがあったらライトアクセスであるかを判定する(ステップ3302)。ライトアクセスであると判定した場合(ステップ3302のNo)、コントローラ3141は、トレース領域2702内にトレースデータを記録することが可能であるかを判定する(ステップ3303)。記録可能であると判定した場合(ステップ3303のYes)、コントローラ3141は、トレース領域2702にトレースデータを記録する(ステップ3303)。記録可能ではないと判定した場合(ステップ3303のNo)、コントローラ3141は、キャッシュドライバ識別子格納領域3201の値をクリアする(ステップ3305)。
キャッシュドライバ3120は、動作開始時に識別子3120Aの値とキャッシュドライバ識別子格納領域3201に格納されている値とが一致するかを判定する(ステップ3401)。一致していないと判定した場合(ステップ3401のNo)、キャッシュドライバ3120は、主メモリ13内のキャッシュ管理情報2401を初期化し、キャッシュデータ2412に何も記録されていない状態にする(ステップ3408)。一致すると判定した場合(ステップ3401のYes)、キャッシュドライバ3120は、SSD2343内のキャッシュ管理情報を主メモリ13内のキャッシュ管理情報2401領域に読み出し、トレースデータを処理する。キャッシュドライバ3120は、トレース領域2702内にトレースデータがあるかを判定する(ステップ3402)。トレースデータがあると判定した場合(ステップ3402のYes)、トレース領域2702内から一つのトレースデータを読み出す(ステップ3403)。キャッシュドライバ3120は、キャッシュ管理情報2401に基づいてトレースデータに記録されているアドレス対応するデータがキャッシュデータにヒットするかを判定する(ステップ3404)。ヒットしたと判定した場合(ステップ3404のYes)、キャッシュドライバ3120は、トレースデータに対応するタグデータを破棄する(ステップ3405)。ヒットしないと判定した場合(ステップ3404のNo)、またはステップ3405の後、キャッシュドライバ3120は、ステップ3402からの処理を順次実行する。トレースデータがないと判定した場合(ステップ3402のNo)、キャッシュドライバ3120は、キャッシュドライバ識別子格納領域3201内のデータをクリアする(ステップ3406)。ステップ3406の後、ステップ3408の後、シャットダウン処理が完了した場合、またはUSB−HDD2340の安全な取り外しに伴う処理が完了した場合、キャッシュドライバ3120は、キャッシュドライバ識別子格納領域3201に識別子3120Aの値を書き込む(ステップ3407)。
Claims (17)
- 制御部と、第1の不揮発性記憶部と前記第1の不揮発性記憶部よりアクセス速度が速い第2の不揮発性記憶部とを有する記憶装置と、
揮発性メモリと、
前記揮発性メモリにロードされた、オペレーティングシステムとキャッシュドライバとを実行するプロセッサであって、前記キャッシュドライバは前記第2の不揮発性記憶部の少なくとも一部の領域を前記第1の不揮発性記憶部のキャッシュとして用いる、プロセッサと、
を具備する情報処理装置。 - 前記キャッシュドライバは、前記第2の不揮発性記憶部に格納されたキャッシュデータを管理するための第1のキャッシュ管理情報を前記揮発性メモリに格納し、
前記情報処理装置のシャットダウン時に、前記キャッシュドライバは、前記揮発性メモリに格納された前記第1のキャッシュ管理情報を第2のキャッシュ管理情報として前記第1の不揮発性記憶部または前記第2の不揮発性記憶部に格納する、
請求項1に記載の情報処理装置。 - 前記情報処理装置の起動時、前記制御部は、前記第2のキャッシュ管理情報に基づいて前記第2の不揮発性記憶部の少なくとも一部の領域を第1の不揮発性記憶部のリードキャッシュデバイスとして用いるリードキャッシュ制御処理と、キャッシュ管理情報管理処理とを実行する、
請求項2に記載の情報処理装置。 - 前記キャッシュドライバは、前記揮発性メモリにキャッシュドライバにロードされた後に動作開始通知を前記制御部に発行し、
前記制御部は、前記動作開始通知に応じて前記リードキャッシュ制御処理およびキャッシュ管理情報管理処理の実行を停止する、
請求項3に記載の情報処理装置。 - 前記情報処理装置の起動時、前記制御部は、リードアクセス要求されたデータを識別するデータを前記第2のキャッシュ管理情報内に書き込む、
請求項3に記載の情報処理装置。 - 前記キャッシュドライバは、前記起動時にリードアクセス要求されたデータが格納されている領域に対してライトアクセス要求が発行された場合、前記起動時にリードアクセス要求されたデータを識別するデータを起動時にリードアクセス要求されていない状態に書き替える、
請求項5に記載の情報処理装置。 - 前記制御部は、前記情報処理装置の正常なシャットダウン時に不揮発性メモリに第1の値を書き込み、
前記キャッシュドライバは、前記揮発性メモリにロードされた後に前記不揮発性メモリに第1の値が書き込まれているかを判定し、前記第1の値が書き込まれていると判定した場合に前記第1の値を第2の値に書き換え、前記第1の値が書き込まれていないと判定した場合に前記第2の不揮発性記憶部内のキャッシュデータを無効にする、
請求項2に記載の情報処理装置。 - 前記情報処理装置に第2の記憶装置が接続されている場合、前記キャッシュドライバは前記第2の不揮発性記憶部の少なくとも一部の領域を前記第1の不揮発性記憶部および前記第2の記憶装置のキャッシュとして用いる、
請求項1に記載の情報処理装置。 - 前記オペレーティングシステムは前記第1の不揮発性記憶部と前記第2の不揮発性記憶部とを独立な記憶装置として認識する、
請求項1に記載の情報処理装置。 - 前記第1の不揮発性記憶部はハードディスクドライブを有し、
前記第2の不揮発性記憶部はフラッシュメモリを有する、
請求項1に記載の情報処理装置。 - 第1の不揮発性記憶装置と、
前記第1の不揮発性記憶部よりアクセス速度が速い第2の不揮発性記憶装置と、
揮発性メモリと、
前記揮発性メモリにロードされた、オペレーティングシステムとキャッシュドライバとを実行するプロセッサであって、前記キャッシュドライバは前記第2の不揮発性記憶装置の少なくとも一部の領域を第1の不揮発性記憶装置のキャッシュとして用いる、プロセッサと、
を具備する情報処理装置。 - 前記情報処理装置は外部増設バスを更に有し、
前記第2の不揮発性記憶装置は、前記外部増設バスに接続されている、
請求項11に記載の情報処理装置。 - 前記第1の不揮発性記憶装置は、制御部を具備し、
前記制御部は、
不揮発性記憶部のフラグ領域に記録されている値が第1の値の場合にライトアクセス要求されたデータのアドレスを前記不揮発性記憶部に記録し、
前記アドレスを前記不揮発性記憶部に記録できなくなった場合に、前記フラグ領域内の前記第1の値を第2の値に書き換え、
前記キャッシュドライバは、
起動時に前記キャッシュドライバの動作開始時に前記フラグ領域に前記第1の値が記録されているかを判定し、
前記第1の値が記録されていないと判定した場合に前記第2の不揮発性記憶装置内の全てのキャッシュデータを無効化し、
前記第1の値が記録されていると判定した場合に、前記ライトアクセス要求されたデータのアドレスに基づいて前記第2の不揮発性記憶装置内のキャッシュデータを無効化し、
前記第2の不揮発性記憶装置内の全てのキャッシュデータを無効化した後、または前記ライトアクセス要求されたデータのアドレスに基づいて前記第2の不揮発性記憶装置内のキャッシュデータを無効化した後に、前記フラグ領域内の値を前記第2の値に書き換え、
前記情報処理装置のシャットダウン時および正常な前記第2の不揮発性記憶装置の取り外しに伴う前記オペレーティングシステムの処理が完了した場合、前記フラグ領域に第1の値を記録する、
請求項11に記載の情報処理装置。 - 前記制御部は、
不揮発性記憶部の識別子格納領域に記録されている識別子が無効な値の場合にライトアクセス要求されたデータのアドレスを前記不揮発性記憶部に記録し、
前記アドレスを前記不揮発性記憶部に記録できなくなった場合に、前記識別子格納領域内の値を無効な値にし、
前記キャッシュドライバは、
前記識別子を生成し、
起動時に前記キャッシュドライバの動作開始時に前記識別子格納領域と識別子とが一致するかを判定し、
前記一致しないと判定した場合に前記第2の不揮発性記憶装置内の全てのキャッシュデータを無効化し、
前記一致すると判定した場合に、前記ライトアクセス要求されたデータのアドレスに基づいて前記第2の不揮発性記憶装置内のキャッシュデータを無効化し、
前記第2の不揮発性記憶装置内の全てのキャッシュデータを無効化した後、または前記ライトアクセス要求されたデータのアドレスに基づいて前記第2の不揮発性記憶装置内のキャッシュデータを無効化した後に、前記フラグ領域内の値を無効な値にし、
前記情報処理装置のシャットダウン時および正常な前記第2の不揮発性記憶装置の取り外しに伴う前記オペレーティングシステムの処理が完了した場合、前記識別子格納領域に前記識別子を記録する、
請求項11に記載の情報処理装置。 - 前記第1の不揮発性記憶部はハードディスクドライブを有し、
前記第2の不揮発性記憶部はフラッシュメモリを有する、
請求項11に記載の情報処理装置。 - 制御部と、第1の不揮発性記憶部と前記第1の不揮発性記憶部よりアクセス速度が速い第2の不揮発性記憶部とを記憶装置と、を具備する情報処理装置のキャッシュ制御方法であって、
オペレーティングシステムを実行するプロセッサによって、前記第2の不揮発性記憶部の少なくとも一部の領域を第1の不揮発性記憶部のキャッシュとして用いるキャッシュドライバを実行する、
キャッシュ制御方法。 - 不揮発性の記憶部と制御部を具備し、
前記制御部は、
不揮発性記憶部の識別子格納領域に記録されている識別子が無効な値の場合にライトアクセス要求されたデータのアドレスを前記不揮発性記憶部に記録し、
前記アドレスを前記不揮発性記憶部に記録できなくなった場合に、前記識別子格納領域内の値を無効な値にする
データ記憶装置。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011124542A JP5175953B2 (ja) | 2011-06-02 | 2011-06-02 | 情報処理装置およびキャッシュ制御方法 |
| US13/333,795 US8677061B2 (en) | 2011-06-02 | 2011-12-21 | Information processing apparatus and cache control method |
| US15/073,618 USRE49417E1 (en) | 2011-06-02 | 2016-03-17 | Information processing apparatus and cache control method |
| US16/209,330 USRE49418E1 (en) | 2011-06-02 | 2018-12-04 | Information processing apparatus and cache control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2011124542A JP5175953B2 (ja) | 2011-06-02 | 2011-06-02 | 情報処理装置およびキャッシュ制御方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2012252514A true JP2012252514A (ja) | 2012-12-20 |
| JP5175953B2 JP5175953B2 (ja) | 2013-04-03 |
Family
ID=47262582
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2011124542A Expired - Fee Related JP5175953B2 (ja) | 2011-06-02 | 2011-06-02 | 情報処理装置およびキャッシュ制御方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (3) | US8677061B2 (ja) |
| JP (1) | JP5175953B2 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014164510A (ja) * | 2013-02-25 | 2014-09-08 | Fujitsu Ltd | ストレージ制御プログラム、ストレージ制御装置、ストレージシステム、及びストレージ制御方法 |
| JP2014170325A (ja) * | 2013-03-01 | 2014-09-18 | Nec Corp | ストレージ装置と方法並びにプログラム |
| CN104969170A (zh) * | 2014-01-31 | 2015-10-07 | 株式会社东芝 | 层次化存储系统、存储控制器以及代替层次间的数据移动的方法 |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2014102886A1 (en) * | 2012-12-28 | 2014-07-03 | Hitachi, Ltd. | Information processing apparatus and cache control method |
| CN104699422B (zh) * | 2015-03-11 | 2018-03-13 | 华为技术有限公司 | 缓存数据的确定方法及装置 |
| US9990285B2 (en) | 2015-07-16 | 2018-06-05 | Toshiba Memory Corporation | Data access control apparatus |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH1040170A (ja) * | 1996-07-26 | 1998-02-13 | Toshiba Corp | ディスクキャッシュシステム |
| JPH10154101A (ja) * | 1996-11-26 | 1998-06-09 | Toshiba Corp | データ記憶システム及び同システムに適用するキャッシュ制御方法 |
| JP2006134321A (ja) * | 2004-10-21 | 2006-05-25 | Microsoft Corp | システムパフォーマンスを改善するための外部メモリデバイスの使用 |
| JP2008538437A (ja) * | 2005-04-15 | 2008-10-23 | マイクロソフト コーポレーション | インライン不揮発性メモリ・ディスク読み取りキャッシュおよび書き込みバッファ |
| JP2010257481A (ja) * | 2010-07-02 | 2010-11-11 | Toshiba Corp | データ記憶システムおよびキャッシュデータの一貫性保証方法 |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5420998A (en) * | 1992-04-10 | 1995-05-30 | Fujitsu Limited | Dual memory disk drive |
| US5577226A (en) * | 1994-05-06 | 1996-11-19 | Eec Systems, Inc. | Method and system for coherently caching I/O devices across a network |
| US7603516B2 (en) * | 2000-12-15 | 2009-10-13 | Stmicroelectronics Nv | Disk controller providing for the auto-transfer of host-requested-data from a cache memory within a disk memory system |
| US7299379B2 (en) * | 2003-06-27 | 2007-11-20 | Intel Corporation | Maintaining cache integrity by recording write addresses in a log |
| JP4836647B2 (ja) * | 2006-04-21 | 2011-12-14 | 株式会社東芝 | 不揮発性キャッシュメモリを用いる記憶装置とその制御方法 |
| KR101128234B1 (ko) * | 2006-08-23 | 2012-03-23 | 엘지전자 주식회사 | 메모리 접근 제어 장치 및 방법 |
| JPWO2008129616A1 (ja) * | 2007-04-09 | 2010-07-22 | 東芝ストレージデバイス株式会社 | 記憶装置、記憶装置の制御装置、記憶装置の制御方法 |
| JPWO2009004674A1 (ja) * | 2007-06-29 | 2010-08-26 | 東芝ストレージデバイス株式会社 | 記憶装置、ディスク装置、書込み判定方法、制御装置 |
| KR20090034087A (ko) * | 2007-10-02 | 2009-04-07 | 삼성전자주식회사 | 비휘발성 저장매체를 이용한 미디어 컨텐츠 재생 방법 및그 장치 |
| JP2009104687A (ja) * | 2007-10-22 | 2009-05-14 | Fujitsu Ltd | 記憶装置及び制御回路 |
| US8195878B2 (en) * | 2009-02-19 | 2012-06-05 | Pmc-Sierra, Inc. | Hard disk drive with attached solid state drive cache |
| JP2011022657A (ja) * | 2009-07-13 | 2011-02-03 | Fujitsu Ltd | メモリシステムおよび情報処理装置 |
| JP2011090460A (ja) * | 2009-10-21 | 2011-05-06 | Toshiba Corp | データ記憶装置およびデータ記憶装置における制御方法 |
| JP4988007B2 (ja) * | 2010-05-13 | 2012-08-01 | 株式会社東芝 | 情報処理装置およびドライバ |
| JP4988008B2 (ja) * | 2010-05-13 | 2012-08-01 | 株式会社東芝 | 情報処理装置およびドライバ |
-
2011
- 2011-06-02 JP JP2011124542A patent/JP5175953B2/ja not_active Expired - Fee Related
- 2011-12-21 US US13/333,795 patent/US8677061B2/en not_active Ceased
-
2016
- 2016-03-17 US US15/073,618 patent/USRE49417E1/en active Active
-
2018
- 2018-12-04 US US16/209,330 patent/USRE49418E1/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH1040170A (ja) * | 1996-07-26 | 1998-02-13 | Toshiba Corp | ディスクキャッシュシステム |
| JPH10154101A (ja) * | 1996-11-26 | 1998-06-09 | Toshiba Corp | データ記憶システム及び同システムに適用するキャッシュ制御方法 |
| JP2006134321A (ja) * | 2004-10-21 | 2006-05-25 | Microsoft Corp | システムパフォーマンスを改善するための外部メモリデバイスの使用 |
| JP2008538437A (ja) * | 2005-04-15 | 2008-10-23 | マイクロソフト コーポレーション | インライン不揮発性メモリ・ディスク読み取りキャッシュおよび書き込みバッファ |
| JP2010257481A (ja) * | 2010-07-02 | 2010-11-11 | Toshiba Corp | データ記憶システムおよびキャッシュデータの一貫性保証方法 |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014164510A (ja) * | 2013-02-25 | 2014-09-08 | Fujitsu Ltd | ストレージ制御プログラム、ストレージ制御装置、ストレージシステム、及びストレージ制御方法 |
| JP2014170325A (ja) * | 2013-03-01 | 2014-09-18 | Nec Corp | ストレージ装置と方法並びにプログラム |
| CN104969170A (zh) * | 2014-01-31 | 2015-10-07 | 株式会社东芝 | 层次化存储系统、存储控制器以及代替层次间的数据移动的方法 |
| US9454317B2 (en) | 2014-01-31 | 2016-09-27 | Kabushiki Kaisha Toshiba | Tiered storage system, storage controller and method of substituting data transfer between tiers |
Also Published As
| Publication number | Publication date |
|---|---|
| US20120311234A1 (en) | 2012-12-06 |
| USRE49418E1 (en) | 2023-02-14 |
| JP5175953B2 (ja) | 2013-04-03 |
| USRE49417E1 (en) | 2023-02-14 |
| US8677061B2 (en) | 2014-03-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4988008B2 (ja) | 情報処理装置およびドライバ | |
| JP4988007B2 (ja) | 情報処理装置およびドライバ | |
| USRE49418E1 (en) | Information processing apparatus and cache control method | |
| JP5117608B1 (ja) | 情報処理装置、ハイブリッド記憶装置、およびキャッシュ方法 | |
| KR101044220B1 (ko) | 비휘발성 메모리 캐시 성능 향상 | |
| JP5492156B2 (ja) | 情報処理装置およびキャッシュ方法 | |
| TWI556104B (zh) | 用以執行無原子元資料之電力故障安全快取的技術 | |
| JP2011128998A (ja) | 半導体記憶装置 | |
| WO2014138411A1 (en) | System and method for tiered caching and storage allocation | |
| CN101968721A (zh) | 提高对外部存储装置的访问速度的方法以及外部存储系统 | |
| US8112589B2 (en) | System for caching data from a main memory with a plurality of cache states | |
| JP2008276555A (ja) | 情報処理装置、およびファームウェア更新方法 | |
| JP2014534520A (ja) | セグメント化されたキャッシュ | |
| JP2012053572A (ja) | 情報処理装置およびキャッシュの制御方法 | |
| US20130166847A1 (en) | Information processing apparatus and cache control method | |
| JP5025670B2 (ja) | 情報処理装置およびデータ記憶装置 | |
| JP6100750B2 (ja) | メモリおよびコントローラを備える装置およびデータ記憶装置を備える装置 | |
| US9513824B2 (en) | Control method, control device, and recording medium | |
| JP2010176305A (ja) | 情報処理装置およびデータ記憶装置 | |
| USRE49818E1 (en) | Information processing method in a multi-level hierarchical memory system | |
| US20130326146A1 (en) | Information processing apparatus, memory apparatus, and data management method | |
| JP4724253B2 (ja) | データ記憶システムおよびキャッシュデータの一貫性保証方法 | |
| JP2012216033A (ja) | 情報処理装置および情報処理装置の起動方法 | |
| JP2011113129A (ja) | 情報記録装置及び情報記録方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120918 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121119 |
|
| 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: 20121211 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130107 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160111 Year of fee payment: 3 |
|
| LAPS | Cancellation because of no payment of annual fees |