JP4508608B2 - 統合キャッシュを備えた記憶装置アダプタ - Google Patents

統合キャッシュを備えた記憶装置アダプタ Download PDF

Info

Publication number
JP4508608B2
JP4508608B2 JP2003383248A JP2003383248A JP4508608B2 JP 4508608 B2 JP4508608 B2 JP 4508608B2 JP 2003383248 A JP2003383248 A JP 2003383248A JP 2003383248 A JP2003383248 A JP 2003383248A JP 4508608 B2 JP4508608 B2 JP 4508608B2
Authority
JP
Japan
Prior art keywords
cache
storage
interface device
multimedia data
data
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.)
Expired - Fee Related
Application number
JP2003383248A
Other languages
English (en)
Other versions
JP2005148961A (ja
Inventor
ダミエン レモアル
博史 峯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2003383248A priority Critical patent/JP4508608B2/ja
Priority to US10/783,753 priority patent/US7062608B2/en
Publication of JP2005148961A publication Critical patent/JP2005148961A/ja
Application granted granted Critical
Publication of JP4508608B2 publication Critical patent/JP4508608B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0888Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using selective caching, e.g. bypass

Description

本発明は、ストレージエリアネットワークからのデータの取出しとキャッシングに関し、特に、OSのサポートや変更を行うことなくストレージからアクセスされるデータのキャッシングを可能にするデバイスアダプタに関する。
SAN(Storage Area Network)を介してアクセスされる、RAID(安価なディスクの冗長アレイ)などのネットワークアクセス型ストレージシステムは、信頼性と記憶容量の拡張性の点から極めて有用であり、非常に高速なデータ入出力(I/O)を可能とする。SANを実現するために使用されるファイバーチャネル(FC)ネットワークやIPネットワークによって、さらにはネイティブSCSIコマンドやSCSI/IPプロトコル、例えばiSCSIを用いて、そのようなネットワークアクセス型ストレージシステムに非常に柔軟にアクセスでき、その結果SANに接続された複数のストレージ装置に複数のホストコンピュータから同時に直接アクセスすることが可能となる。
上述のネットワークアクセス型ストージシステムにおいては、複数のホストコンピュータがSANに接続されたストレージ装置のデータに同時にアクセスすることによって入出力速度が制限されてしまい、システム全体のパフォーマンスを低下させる可能性がある。具体的には、ストレージ装置からホストコンピュータへのデータ転送速度は、SANを構成するネットワーク媒体の使用可能な物理的帯域幅によって制限される。
これにより、ストレージ装置が高速にデータを出力できても、その性能を充分に発揮することができない。また、SANを構成するスイッチは、複数のポート間において、ホストコンピュータからストレージ装置へあるいはストレージ装置からホストコンピュータへ転送するデータを処理する。そのため、広い入出力の内部帯域幅を必要とし全ての入出力動作を効率よく処理する必要がある。
ストレージシステムに接続されたネットワークからデータをアクセスするホストコンピュータにおいては、前述の問題によって、データ転送速度の低下と、入出力要求処理に必要な時間の増加という2つの問題が生じる。ホストコンピュータをマルチメディアストリーミングサーバとして用いる場合には、クライアントに配信するためにストレージシステムからデータを取り出す能力によってサーバのパフォーマンスが制限されるため、上述の問題は特に重大である。
具体的には、データの取出速度が遅いと、ホストコンピュータの演算処理能力に関わらずサーバとしてのパフォーマンスは低下する。リアルタイム処理を必要とするマルチメディアデータの配信を考えると、入出力要求の処理時間が増えることにより、データ伝送遅延が生じるため、クライアント側に配信、復号、提供するマルチメディアの品質を劣化させる恐れがある。
多くのストレージシステムではこれらのパフォーマンス問題に取り組んでおり、それらを解決するために異なる解決法が提示されている。
まず、使用している記憶媒体(例えば磁気ディスクやテープ)のアクセス遅延を避け、ストレージシステムの入出力処理の遅延を克服するために、多くのストレージシステムでは、高速なキャッシュメモリを実装し、解決を図っている。このキャッシュメモリによって、頻繁にアクセスするデータのキャッシングが可能となり、その結果使用されている低速な記憶媒体へのアクセスが回避され、そうしたデータへの入出力要求の処理時間が削減される(例えば、特許文献1参照)。
また、データがホストコンピュータの近くにキャッシュされるキャッシング方式は、SAN内でのデータ転送帯域幅の消費量が削減できるのでより良い解決法である。ホスト拡張バスかあるいはSANにアクセスするために使用するデバイスアダプタに接続されるキャッシュデバイスが、いくつか提案されている。
たとえば、特許文献2記載のデバイスアダプタにおいては、キャッシュデバイスはホストコンピュータの拡張バス(I/Oバス)に直接接続される。この方法では、大量のデータをキャッシュするために、キャッシュ記憶媒体として非常に大容量のディスクを使用して非常に柔軟なキャッシングを実現している。
また、ストレージシステムに接続されSANからデータを取り出すために使用されるデバイス内でキャッシング作業を行う方法がある。そのデバイスを介してアクセスするストレージへのデータキャッシュの有用性は縮小するが、キャッシング作業中のホスト拡張バスの過負荷を取り除くことができる。
そのようなデバイスの実施例として、特許文献3記載のデバイスアダプタでは、IPネットワークに接続されたストレージシステムから取り出されたデータをアクセス装置に接続されたディスクにキャッシュすることができる。従って、キャッシング作業は、ホスト拡張バスに過負荷を与えることなくデバイスアダプタ内で実施することができる。
また、データキャッシュに接続されたホストコンピュータの例として、アクセスしたストレージシステムと使用しているキャッシュストレージ装置の最高データ転送速度と処理速度の違いを考慮しないキャッシング方式が提示されている。
特開第2001‐051901号公報
米国特許第6463509号公報 国際公開第03/017598号パンフレット
しかし、特許文献1に記載の方法では、キャッシングはアクセス先のストレージ装置内で行われるので、SAN内のネットワーク帯域幅の使用を削減することはできない。従って、この方法では、SAN内のデータ転送パフォーマンスの低下を解決できない。
さらに、通常キャッシュのサイズは大量のデータを保持するほど十分な大きさはなく、ストリーミングサーバによってアクセスされるマルチメディアデータファイルでは、複数のホストサーバが続けて大容量のデータファイルに同時にアクセスした場合、キャッシュ全体の効率は低下してしまう。
特許文献2に記載の方法では、異なる種類のインタフェースを介して様々な記憶装置から取り出されたデータは、ホストオペレーティングシステム内のデータ転送経路やデバイスドライバを変更することによって、それらのキャッシュデバイスにキャッシュすることができる。
この方法によって、高い柔軟性がもたらされるが、2つの重大な問題が生じる。1つは、データのキャッシングおよびキャッシュデバイスからの取出しを処理するためにはオペレーティングシステムからのサポートが必要となることである。利用対象のオペレーティングシステムは、デバイスドライバの階層構造をサポートする必要がある。
もう1つの問題は、キャッシングプロセス用拡張バスの帯域幅の消費量が過剰になることである。使用するバスの種類に応じて、キャッシュされるデータは拡張バスを介して2回転送される可能性がある。1回は記憶データにアクセスするデバイスからホストメモリへ、もう1回はホストメモリからキャッシュデバイスへと転送される。このようなホストI/Oバスの過負荷によって、マルチメディアストリーミングなどの入出力が集中する用途でのパフォーマンスが低下する可能性がある。
特許文献3に記載の方法では、デバイスは、使用しているキャッシュストレージの負荷と、キャッシュされていないデータを取り出すために使用されるインタフェースの負荷とを正確に測定するための帯域幅制御を行う機能を持たず、データの取り出し先はキャッシュ内にデータがあるか否かによって判断される。インタフェースの負荷状況を用いて動的にデータの取り出し先の決定を行う機能は、マルチメディアデータなどのリアルタイム処理を特徴とするデータの取出しの場合に必要である。
特定の種類の入出力処理に対して使用中のキャッシュデバイスがストレージ装置に接続したSANより低いパフォーマンスを示した場合、この方式ではシステム全体のパフォーマンスが低下する可能性がある。得られた入出力要求処理時間(もしくは少なくともその概算)がキャッシュデバイスの入出力要求処理に必要な入出力要求処理時間より短い場合、キャッシュ済みのデータであっても、SANを介するストレージシステムから取り出す必要が生じる可能性がある。
その典型的な例としては、小さなデータブロックのデータの取出しがある。小さなデータブロックの取出しは通常、ディスクストライピングの効果によりディスクアレイシステムでは速くなり、ディスクシークのオーバヘッドが大きいシングルディスクシステムでは遅くなる。
本発明は、ホストコンピュータがネットワークを介してメインストレージから取り出したデータを有効にかつ柔軟にキャッシュして、キャッシュストレージの柔軟な大きさと、効率的なキャッシングプロセスと、ホストコンピュータによる入出力要求の処理時間を削減するためのデータ取出し先の動的制御とを行う、ホストコンピュータとメインストレージとを接続するデバイスアダプタを提供する。
本発明による、ホストコンピュータとメインストレージとを相互接続するデバイスアダプタは、キャッシュストレージにアクセスするためのキャッシュストレージインタフェース装置、及び、ネットワークを介して前記メインストレージにアクセスするメインストレージインタフェース装置と、前記ホストコンピュータによるデータの出力要求を処理するキャッシュコントローラとを備える。
キャッシュコントローラは、メインストレージから取り出したデータを前記キャッシュストレージにキャッシュする処理部と、キャッシュストレージの記憶領域の割当と使用状況を管理する処理部と、メインストレージと前記キャッシュストレージとに関する負荷とパフォーマンスの情報を管理する処理部と、要求されたデータがキャッシュされているか否かを判断する処理部と、要求されたデータがキャッシュされている時に、要求データを取り出すストレージを、キャッシュストレージ、及び、メインストレージのいずれとするかを決定する処理部とを備える。
さらに、上記デバイスアダプタにおいて、上記キャッシュする処理部は、取り出したデータが、キャッシュストレージに既にキャッシュされている、或いは、キャッシュストレージインタフェース装置のデータ転送帯域幅が予め設定した閾値を超えている場合には、取り出したデータを、前記キャッシュストレージにキャッシュしないことを特徴とする。
また、上記負荷の情報とは、メインストレージインタフェース装置および/またはキャッシュストレージインタフェース装置の現在のデータ転送速度であって、要求データを取り出すストレージを決定する処理部は、上記現在のデータ転送速度を参照して決定することを特徴とする。
また、上記パフォーマンスの情報とは、メインストレージインタフェース装置および/またはキャッシュストレージインタフェース装置の平均要求処理時間であって、要求データを取り出すストレージを決定する処理部は、上記平均要求処理時間を参照して決定することを特徴とする。
本発明によれば、ホストコンピュータに接続されたデバイスに記憶装置にネットワークを介して接続されたストレージから取り出したデータを有効にかつ柔軟にキャッシュして、キャッシュストレージの柔軟な大きさや、システムに負荷をかけない効率的なキャッシングプロセスや、ホスト入出力要求の処理時間を削減するためのデータ取り出し先の動的制御が可能になる。
図1には、一般的なホストコンピュータ(100)に接続された、本発明のデバイスアダプタ(200)が示されている。ホストコンピュータ(100)が備える一つ以上のCPU(中央処理装置)(110)は、コントローラ/ブリッジ(130)によって管理されるメモリバスを介してメインメモリ(120)に記憶されたプログラムをアクセスし実行する。メインメモリ(120)が記憶するプログラムは、デバイスドライバプログラムによるデバイス制御などのアプリケーションに様々なサービスを提供するホストオペレーティングシステム(OS)とアプリケーションプログラムを含む。
デバイスアダプタ(200)からメインメモリ(120)へのデータ転送は拡張バス(140)を介して実施される。拡張バス(140)は、図示したような単一のバスではなく複数のバスから構成されても良い。あるいは拡張バスを備えず、デバイスアダプタ(200)がコントローラ/ブリッジ(130)によって管理されるメモリバスに直接接続されてもよい。
本実施例のデバイスアダプタ装置(200)は、拡張バスインタフェース装置(210)を用いて、拡張バス(140)を介してホストコンピュータ(100)に接続される。
デバイスアダプタ装置(200)は、キャッシュコントローラ(220)と、メインストレージインタフェース装置(240)と、キャッシュストレージインタフェース装置(250)とを備える。キャッシュコントローラ(220)は、メインストレージインタフェース装置(240)と、キャッシュストレージインタフェース装置(250)と、キャッシュディレクトリ(222)の使用量と、を監視するストレージインタフェースモニタ(221)を備え、ローカルキャッシュであるキャッシュストレージ(400)上の記憶領域割当てを管理する。
デバイスアダプタ装置(200)の各構成要素は、ハードウェアまたはプロセッサがプログラムを実行することにより具現化され、以下に説明する処理フローは、デバイスアダプタが備えるプロセッサが、プログラムを実行するかあるいはハードウェアを制御することによって達成される。
メインストレージ(500)は、コントローラ(241)を含むメインストレージインタフェース装置(240)とネットワーク300を介してアクセスされる。キャッシュストレージ(400)は、コントローラ(251)を含むキャッシュストレージインタフェース装置(250)を用いてアクセスされる。
メインストレージインタフェース装置(240)とキャッシュストレージインタフェース装置(250)は、デバイス統合バス(230)に接続され、拡張バスインタフェース装置(210)とキャッシュコントローラ(220)を、介して拡張バス(140)とのデータ転送を実施する。
デバイスアダプタ(200)は、ホストコンピュータ(100)からは、単一インタフェース、即ちメインストレージインタフェース装置(240)として動作する。すなわち、キャッシュコントローラ(220)とキャッシュストレージ(400)は隠され、キャッシュストレージ制御とキャッシング処理は、キャッシュコントローラ(220)が実装されたデバイスアダプタ(200)内でホストコンピュータ(100)に意識されずに実行される。
図2は、デバイスアダプタ(200)による、ホストコンピュータ(100)によって発せられた読出し入出力要求の処理フローを示す。
キャッシュコントローラ(220)が読出し要求を受けると(s100)、キャッシュディレクトリ(222)を使用してデータがキャッシュストレージ(400)に記録されている否かを確認(s101)する。
要求されたデータがキャッシュストレージ(400)にキャッシュされていない場合、要求はメインストレージインタフェース装置(240)に渡され(s104)、メインストレージ(500)からデータが取り出される。要求が完了すると、処理の終了がホストコンピュータ(100)に通知され(s106)、データを要求するプログラムが残りの処理の完了を待たずに実行を再開することができる。
s104で取り出されたデータが既にキャッシュされている(s107)、或いは、キャッシュストレージインタフェース装置(250)のデータ転送帯域幅が予め設定した閾値を超過、即ちキャッシュストレージ(400)が過負荷となっている(s108)場合には、データはキャッシュストレージ(400)にキャッシュされない。
s107,s108いずれも「NO」であれば、つまり取り出されたデータをキャッシュすべき場合には、キャッシュコントローラ(220)がキャッシュディレクトリ(222)を使ってキャッシュストレージ(400)上の記憶領域を割り当てる(s109)。
十分なキャッシュ領域が割り当てられると(s110)、データはキャッシュストレージ(400)に書き込まれ(s112)、キャッシュディレクトリ(222)は書込み動作の完了を更新する(s113)。キャッシュ領域割当てが失敗した場合、いくつかのキャッシュディレクトリエントリは、キャッシュストレージの領域を空けるために無効化される場合がある(s111)。そのような場合、キャッシュディレクトリエントリの最長時間未使用順を用いるか、あるいはキャッシュヒット率を最高にするのに最適な他のアルゴリズムを用いて無効化するキャッシュディレクトリエントリを選択することができる。
要求されたデータがキャッシュストレージ(400)にあると判定された(s101)場合、キャッシュコントローラ(220)は、ストレージインタフェースモニタ(221)によって監視される負荷と統計情報に応じて、
データを取り出すために使用する最適なインタフェース、すなわち、キャッシュストレージインタフェース装置(250)、メインストレージインタフェース装置(240)のいずれかを、決定する(s102)。
より具体的には、ストレージインタフェースモニタ(221)は、メインストレージインタフェース装置(240)のデータ転送速度およびキャッシュストレージインタフェース装置(250)のデータ転送速度を監視するとともに、アクセスされるメインストレージ500とキャッシュストレージ400とのパフォーマンスの統計データも管理する。ストレージインタフェースモニタ(221)は、上記の監視と管理の結果に基づき、下記の条件判断にしたがって最適なインタフェースを選択する。
(1)キャッシュストレージ(400)のデータ転送速度が最大帯域に近づき、過負荷になった場合には、メインストレージインタフェース装置(240)を使用する。
(2)メインストレージインタフェース装置(240)だけを使用することにより、要求された出力の処理時間が短縮されると判断される場合は、メインストレージインタフェース装置(240)を使用する。具体的には、キャッシュヒットに偏りがある等の理由により、部分的にキャッシュされたデータを無視して要求をメインストレージインタフェース装置(240)だけを用いて処理する方法が出力要求を二種類のストレージに対する要求に分割する方法より速い、と判断される場合である。
(3)上記(1)(2)に当てはまらない場合は、キャッシュストレージインタフェース装置(250)を使用する。
キャッシュストレージインタフェース装置(250)が選択されると、入出力要求はキャッシュディレクトリ情報に従って変えられ、キャッシュストレージ(400)からデータが取り出される(s105)。メインストレージインタフェース装置(240)が選択されると、データはメインストレージ(500)から取り出される(s104)。
ステップ(s104、s105)で行われた処理は、キャッシュストレージ(400)に部分的にキャッシュされた出力要求参照データに対して並列に行われる。しかし、そうした出力要求は、データの一部がキャッシュストレージに既にキャッシュされていても、ストレージインタフェースモニタ(221)によって提供される情報に応じてステップ104で完全に処理することができる。
図3は、図1の構成をより詳細に示すもので、デバイスアダプタ(200)として、FC/SCSIデバイスアダプタ(200)の構成を示している。
図1のネットワーク(300)とメインストレージ(500)には、SAN(300)とRAID装置(500)が相当し、キャッシュストレージ(400)にはSCSIディスク(400)が相当する。図1のメインストレージインタフェース装置(240)には、SAN(300)を介してRAID装置(500)にアクセスするためにファイバーチャネル(FC)コントローラ(241)を使用したFCインタフェース装置(240)が相当する。図1のキャッシュストレージインタフェース装置2(250)にはSCSIコントローラ(251)を使用したSCSIインタフェース装置(250)が相当する。
FC/SCSIデバイスアダプタ(200)は拡張バス(140)を用いてホストコンピュータ(100)に接続される。キャッシュコントローラ(220)は、ローカルキャッシュのSCSIディスク(400)の領域割当てを管理するキャッシュディレクトリ(222)を保持する。
ストレージインタフェースモニタ(221)は、FCインタフェース装置(240)のデータ転送速度およびSCSIインタフェース装置(250)のデータ転送速度を監視するとともに、固定の入出力要求のサイズに合わせた入出力要求の平均処理時間の形で、FCおよびSCSIインタフェースを介してアクセスされる各記憶装置のパフォーマンスの統計データも管理する。
ストレージインタフェースモニタ(221)は、上記の監視と管理の結果に基づき、前述と同様の条件判断を行って、最適なインタフェースを選択する。
図4に、キャッシュストレージ(500)の領域を固体サイズのブロック単位に分割して管理するキャッシュディレクトリ(222)の例を示す。キャッシュディレクトリエントリはブロック番号(10)ごとに、ブロックが空いているかあるいはキャッシュされたデータが格納されているかをブロック状態(11)によって示す。キャッシュされたデータはデバイス識別番号(デバイスID)(13)で示され、開始セクタ番号(14)とセクタ数(15)によって記憶装置上のアドレスとブロック内にキャッシュされたこのアドレスで始まるデータ量が特定される。
キャッシュヒットあるいはキャッシュミスは、各キャッシュ入力開始セクタ番号(14)および対象装置のキャッシュされたデータに格納されているキャッシュデータのブロックのセクタ数(15)を、SCSI入出力要求パラメータと比較することによって判断することができる。
各キャッシュエントリに、最後にデータにアクセスした時刻を示す最終使用時刻(12)を付けること
により、キャッシュストレージが一杯、即ちキャッシュブロックが全て使用されている時に、最長時間未使用法を使ってキャッシュデータの置換えを行うことが可能となる。
ホストコンピュータ(100)が、図2のs100において、読出しSCSIコマンドを発した時、キャッシュコントローラ(220)はキャッシュエントリを利用してキャッシュされたデータを探索する。キャッシュミスの時には、受け取ったSCSIコマンドをFCコントローラ(241)に直接渡して、SAN(300)を介してRAID装置(400)からデータを取り出すことができる。データを無事引き出すと、キャッシュコントローラ(220)は、キャッシュディレクトリに従ってキャッシュ領域を割り当ててデータをキャッシュすなわち、SCSIディスク(400)に書き込むと共に、キャッシュディレクトリ(222)へ、新規にキャッシュされたデータの入力を行う。キャッシュヒット時には、入出力要求完了時間の概算に応じて使用するストレージを選択することによって、最高パフォーマンスを達成し、キャッシュヒット率が高い場合にはSAN帯域幅を他の用途に有効に使用できるようにする。
本実施形態のデバイスアダプタ(200)に接続するローカルSCSIディスク(400)に大容量ディスクを用いることにより、ギガバイトのオーダーのデータをキャッシュすることが可能である。これは、アクセスしたファイルを全てローカルディスク(SCSIディスク)(400)にキャッシングすることを可能とし、大容量のデータをRAID装置(500)から取り出すビデオストリームサーバにとって特に有効である。
たとえば、SCSIディスク(400)のサイズを、ビデオストリームサーバのワーキングセット、即ちビデオストリームサーバを使用するクライアント装置が最も頻繁にアクセスしたファイルサイズの合計を含む全てのビデオファイルの合計、に応じて決定した場合、全ファイルがキャッシュストレージであるSCSIディスク(400)にキャッシュされ、RAID装置(500)への遠隔アクセスが全て抑制される。これにより、SAN(300)での実質データ転送帯域幅が拡大し、同一のSAN構成でもより多くのストリームサーバを使用可能になることから、システムの拡張性を向上させることができる。
開示したデバイスアダプタの構成を簡易化して示したブロック図である。 開示したデバイスアダプタに読出し入出力要求を発する処理を示した簡易フローチャートである。 ファイバーチャネルとSCSIインタフェースを用いた開示したデバイスアダプタの一実施形態の例を簡易化して示したブロック図である。 キャッシュディレクトリの実施形態の例である。
符号の説明
100…ホストコンピュータ、110…CPU(中央処理装置)、120…メインメモリ、130…コントローラ/ブリッジ、140…拡張バス、200…デバイスアダプタ、210…拡張バスインタフェース装置、220…キャッシュコントローラ、221…ストレージインタフェースモニタ、222…キャッシュディレクトリ、230…デバイス統合バス、240…メインストレージインタフェース装置、241…コントローラ、250…キャッシュストレージインタフェース装置、251…コントローラ、300…ネットワーク、400…キャッシュストレージ、500…メインストレージ。

Claims (7)

  1. ホストコンピュータとメインストレージとを相互接続するデバイスアダプタであって、
    前記デバイスアダプタはキャッシュストレージにアクセスするためのキャッシュストレージインタフェース装置、及び、ネットワークを介して前記メインストレージにアクセスするメインストレージインタフェース装置と、前記ホストコンピュータによるマルチメディアデータの出力要求を処理するキャッシュコントローラとを具備し、前記キャッシュコントローラは、
    前記メインストレージから取り出したマルチメディアデータを前記キャッシュストレージにキャッシュする処理部と、
    前記キャッシュストレージの記憶領域の割当と使用状況を管理する処理部と、
    前記メインストレージと前記キャッシュストレージとに関する負荷とパフォーマンスの情報を管理する処理部と、
    前記要求されたマルチメディアデータがキャッシュされているか否かを判断する処理部と、
    前記要求されたマルチメディアデータがキャッシュされている時に、前記要求マルチメディアデータを取り出すストレージを、前記キャッシュストレージ、及び、メインストレージのいずれとするかを決定する処理部とを備え、
    前記負荷の情報は、前記メインストレージインタフェース装置および/または前記キャッシュストレージインタフェース装置の現在のマルチメディア転送速度であって、
    前記パフォーマンスの情報は、前記メインストレージインタフェース装置および/または前記キャッシュストレージインタフェース装置の平均要求処理時間であって、
    前記要求マルチメディアデータを取り出すストレージを決定する処理部は、
    前記現在のマルチメディアデータ転送速度と前記平均要求処理時間を参照して前記キャッシュストレージが過負荷になった場合、又は、前記メインストレージインタフェース装置だけを使用することにより前記要求マルチメディアデータの処理時間が短縮されると判断される場合は、前記メインストレージインタフェース装置を使用して前記メインストレージから前記要求マルチメディアデータを取り出すよう決定し、それらの場合に当てはまらない場合は前記キャッシュストレージインタフェース装置を使用して前記キャッシュストレージから前記要求マルチメディアデータを取り出すよう決定するデバイスアダプタ。
  2. 請求項1に記載のデバイスアダプタであって、
    前記キャッシュする処理部は、
    前記取り出したマルチメディアデータが、前記キャッシュストレージに既にキャッシュされている、或いは、前記キャッシュストレージインタフェース装置のマルチメディアデータ転送帯域幅が予め設定した閾値を超えている場合には、前記取り出したマルチメディアデータを、前記キャッシュストレージにキャッシュしないデバイスアダプタ。
  3. 請求項1に記載のデバイスアダプタであって、
    前記メインストレージインタフェース装置は、前記キャッシュストレージインタフェース装置とは異なるインタフェースを備えるデバイスアダプタ。
  4. 請求項1に記載のデバイスアダプタであって、
    前記メインストレージインタフェース装置は、ファイバーチャネルインタフェースを備えるデバイスアダプタ。
  5. 請求項1に記載のデバイスアダプタであって、
    前記キャッシュストレージインタフェース装置は、SCSIインタフェースを備えるデバイスアダプタ。
  6. 請求項1に記載のデバイスアダプタであって、
    前記キャッシュコントローラは、さらに、前記キャッシュストレージの領域の割当て処理部を備えるデバイスアダプタ。
  7. 請求項1に記載のデバイスアダプタであって、
    前記要求されたマルチメディアデータがキャッシュされているか否かを判断する処理部は、前記判定にディスクセクタ番号を用いるデバイスアダプタ。
JP2003383248A 2003-11-13 2003-11-13 統合キャッシュを備えた記憶装置アダプタ Expired - Fee Related JP4508608B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003383248A JP4508608B2 (ja) 2003-11-13 2003-11-13 統合キャッシュを備えた記憶装置アダプタ
US10/783,753 US7062608B2 (en) 2003-11-13 2004-02-20 Storage device adapter equipped with integrated cache

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003383248A JP4508608B2 (ja) 2003-11-13 2003-11-13 統合キャッシュを備えた記憶装置アダプタ

Publications (2)

Publication Number Publication Date
JP2005148961A JP2005148961A (ja) 2005-06-09
JP4508608B2 true JP4508608B2 (ja) 2010-07-21

Family

ID=34567294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003383248A Expired - Fee Related JP4508608B2 (ja) 2003-11-13 2003-11-13 統合キャッシュを備えた記憶装置アダプタ

Country Status (2)

Country Link
US (1) US7062608B2 (ja)
JP (1) JP4508608B2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7627713B2 (en) * 2005-12-29 2009-12-01 Intel Corporation Method and apparatus to maintain data integrity in disk cache memory during and after periods of cache inaccessibility
JP2007188428A (ja) * 2006-01-16 2007-07-26 Fuji Xerox Co Ltd 半導体ストレージ装置およびストレージシステム
US8990396B2 (en) * 2006-07-07 2015-03-24 Avaya Communication Israel Ltd. Cache memory storage
US7644204B2 (en) * 2006-10-31 2010-01-05 Hewlett-Packard Development Company, L.P. SCSI I/O coordinator
US7886110B2 (en) * 2007-12-27 2011-02-08 Intel Corporation Dynamically adjusting cache policy based on device load in a mass storage system
US8949863B1 (en) 2008-04-30 2015-02-03 Netapp, Inc. Creating environmental snapshots of storage device failure events
US8972690B2 (en) * 2010-01-05 2015-03-03 Deric Horn Methods and apparatuses for usage based allocation block size tuning
US8478945B2 (en) * 2010-02-01 2013-07-02 International Business Machines Corporation Dynamic management of destage tasks in a storage controller
US8402220B2 (en) * 2010-03-18 2013-03-19 Hitachi, Ltd. Storage controller coupled to storage apparatus
WO2011156466A2 (en) * 2010-06-08 2011-12-15 Hewlett-Packard Development Company, L.P. Storage caching
US8959284B1 (en) 2010-06-28 2015-02-17 Western Digital Technologies, Inc. Disk drive steering write data to write cache based on workload
FI20105743A0 (fi) * 2010-06-29 2010-06-29 Tuxera Inc Muistista lukeminen tai muistiin kirjoittaminen
US9268499B1 (en) 2010-08-13 2016-02-23 Western Digital Technologies, Inc. Hybrid drive migrating high workload data from disk to non-volatile semiconductor memory
US9058280B1 (en) 2010-08-13 2015-06-16 Western Digital Technologies, Inc. Hybrid drive migrating data from disk to non-volatile semiconductor memory based on accumulated access time
US8775720B1 (en) * 2010-08-31 2014-07-08 Western Digital Technologies, Inc. Hybrid drive balancing execution times for non-volatile semiconductor memory and disk
US8782334B1 (en) 2010-09-10 2014-07-15 Western Digital Technologies, Inc. Hybrid drive copying disk cache to non-volatile semiconductor memory
JP5492156B2 (ja) 2011-08-05 2014-05-14 株式会社東芝 情報処理装置およびキャッシュ方法
US8959281B1 (en) 2012-11-09 2015-02-17 Western Digital Technologies, Inc. Data management for a storage device
US9141176B1 (en) 2013-07-29 2015-09-22 Western Digital Technologies, Inc. Power management for data storage device
US9070379B2 (en) 2013-08-28 2015-06-30 Western Digital Technologies, Inc. Data migration for data storage device
US8917471B1 (en) 2013-10-29 2014-12-23 Western Digital Technologies, Inc. Power management for data storage device
JP6743358B2 (ja) * 2015-09-24 2020-08-19 日本電気株式会社 情報処理システム及び情報処理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003015931A (ja) * 2001-07-02 2003-01-17 Hitachi Ltd 情報処理システムおよび記憶領域提供方法
JP2003177963A (ja) * 2001-12-12 2003-06-27 Hitachi Ltd ストレージ装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3308554B2 (ja) * 1991-02-20 2002-07-29 株式会社日立製作所 制御装置及び制御装置の制御方法
JPH06243042A (ja) * 1993-02-19 1994-09-02 Hitachi Ltd 記憶制御装置
JP3528094B2 (ja) * 1994-02-09 2004-05-17 株式会社日立製作所 バス利用方法および記憶制御装置
US5761531A (en) 1995-06-30 1998-06-02 Fujitsu Limited Input/output control apparatus and method for transfering track data from cache module to channel unit during the staging of the data track from device adapter
JP3516326B2 (ja) * 1997-03-13 2004-04-05 株式会社日立製作所 共有キャッシュメモリを有するメモリコントローラ及びこれを備えたコンピュータシステム
US6275897B1 (en) 1997-06-17 2001-08-14 Emc Corporation Remote cache utilization for mirrored mass storage subsystem
US6101588A (en) 1997-09-25 2000-08-08 Emc Corporation Device level busy arrangement for mass storage subsystem including a plurality of devices
US6865642B2 (en) * 1998-06-24 2005-03-08 International Business Machines Corporation Method and apparatus for disk caching for an intermediary controller
US6463509B1 (en) 1999-01-26 2002-10-08 Motive Power, Inc. Preloading data in a cache memory according to user-specified preload criteria
JP2001034427A (ja) 1999-07-23 2001-02-09 Fujitsu Ltd デバイス制御装置及び制御方法
JP2001051901A (ja) 1999-08-05 2001-02-23 Toshiba Corp キャッシュ記憶装置
EP1595363B1 (en) 2001-08-15 2016-07-13 The Board of Governors for Higher Education State of Rhode Island and Providence Plantations Scsi-to-ip cache storage device and method
US6615318B2 (en) 2002-01-22 2003-09-02 International Business Machines Corporation Cache management system with multiple cache lists employing roving removal and priority-based addition of cache entries
US6922754B2 (en) * 2002-12-09 2005-07-26 Infabric Technologies, Inc. Data-aware data flow manager
US7155572B2 (en) 2003-01-27 2006-12-26 Advanced Micro Devices, Inc. Method and apparatus for injecting write data into a cache

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003015931A (ja) * 2001-07-02 2003-01-17 Hitachi Ltd 情報処理システムおよび記憶領域提供方法
JP2003177963A (ja) * 2001-12-12 2003-06-27 Hitachi Ltd ストレージ装置

Also Published As

Publication number Publication date
US20050108473A1 (en) 2005-05-19
JP2005148961A (ja) 2005-06-09
US7062608B2 (en) 2006-06-13

Similar Documents

Publication Publication Date Title
JP4508608B2 (ja) 統合キャッシュを備えた記憶装置アダプタ
JP4435831B2 (ja) ストレージエリアネットワークレベルにおける代替キャッシュ方式の提供
US7899996B1 (en) Full track read for adaptive pre-fetching of data
US7447836B2 (en) Disk drive storage defragmentation system
US8397016B2 (en) Efficient use of hybrid media in cache architectures
US7996623B2 (en) Read ahead storage control
CN110058786B (zh) 用于控制存储系统中的写请求的方法、装置和计算机程序产品
US5895488A (en) Cache flushing methods and apparatus
US7769952B2 (en) Storage system for controlling disk cache
EP2502148B1 (en) Selective file system caching based upon a configurable cache map
US8972662B2 (en) Dynamically adjusted threshold for population of secondary cache
US7752395B1 (en) Intelligent caching of data in a storage server victim cache
JP5531091B2 (ja) 計算機システム及びその負荷均等化制御方法
US8140811B2 (en) Nonvolatile storage thresholding
US20120290786A1 (en) Selective caching in a storage system
JP2008225914A (ja) プリフェッチ制御装置、記憶装置システムおよびプリフェッチ制御方法
JP2008225915A (ja) プリフェッチ制御装置、記憶装置システムおよびプリフェッチ制御方法
JP2001142778A (ja) キャッシュ・メモリを管理する方法、多重細分性キャッシュ・メモリ・システム、及び該システムを制御するメモリ媒体
US7574538B1 (en) Contiguous I/O command queuing within a data storage device
US9785561B2 (en) Integrating a flash cache into large storage systems
WO2003034230A1 (en) Mass storage caching processes for power reduction
JP5020774B2 (ja) 先読みを用いたストレージ消費電力削減方法及びその方法を用いた計算機システム
US10152242B1 (en) Host based hints
WO2012023953A1 (en) Improving the i/o efficiency of persisent caches in a storage system
US11294812B2 (en) Obtaining cache resources for expected writes to tracks in a write set after the cache resources were released for the tracks in the write set

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050916

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051128

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20051128

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060523

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071012

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080821

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081017

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090827

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091026

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: 20100407

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: 20100427

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140514

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees