JP2007102314A - ディスクキャッシュ制御装置 - Google Patents

ディスクキャッシュ制御装置 Download PDF

Info

Publication number
JP2007102314A
JP2007102314A JP2005288018A JP2005288018A JP2007102314A JP 2007102314 A JP2007102314 A JP 2007102314A JP 2005288018 A JP2005288018 A JP 2005288018A JP 2005288018 A JP2005288018 A JP 2005288018A JP 2007102314 A JP2007102314 A JP 2007102314A
Authority
JP
Japan
Prior art keywords
data
area
management information
logical volume
storage means
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.)
Pending
Application number
JP2005288018A
Other languages
English (en)
Inventor
Akito Kobayashi
明人 小林
Hidenori Yamada
秀憲 山田
Katsuhiko Nagashima
克彦 長嶋
Mikio Ito
実希夫 伊藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005288018A priority Critical patent/JP2007102314A/ja
Priority to US11/319,598 priority patent/US20070079064A1/en
Publication of JP2007102314A publication Critical patent/JP2007102314A/ja
Pending legal-status Critical Current

Links

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/0866Addressing 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/0873Mapping of cache memory to specific storage devices or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】 上位装置から論理ボリュームの任意の領域に対してアクセスが行なわれる場合であっても、上位装置からのアクセスを高速に行なうことが可能なディスクキャッシュ制御装置を提供する。
【解決手段】 ディスクキャッシュ制御装置10に、下位装置から読出したデータを一時的又は所定時間だけ記憶するデータ記憶手段11と、論理ボリュームの領域とデータ記憶手段の領域とを関連付ける管理情報を記憶する管理情報記憶手段12と、管理情報を生成する管理情報生成手段13と、上位装置からの要求に応じてデータ記憶手段又は下位装置のデータにアクセスするアクセス処理手段14と、を少なくとも備える。
【選択図】図1

Description

本発明は、上位装置から下位装置に対して論理ボリューム毎にアクセス可能に制御するディスクアレイ制御装置におけるディスクキャッシュ制御装置に関する。
ディスクアレイ装置(RAID(Redundant Arrays of Independent/Inexpensive Disks)装置)等の記憶装置では、処理を高速にするためにキャッシュメモリを搭載し、ディスクに対して読み書きすることなくREAD/WRITE I/O処理(以下、単に「アクセス」という)を行っている。
また、ディスクアレイ装置等の記憶装置は、ホストコンピュータ(上位装置のCPU)がディスクアレイに対して論理ボリューム(以下、単に「LUN(Logical Unit Number)」という)毎にアクセス可能に制御することが一般的である。
キャッシュメモリは、ディスクアレイ装置が保持するLUNより容量が小さいので、使用頻度が低いデータ等はディスクに書き戻してキャッシュメモリから追い出すようにして有効利用している。
したがって、キャッシュメモリ上にないデータやキャッシュメモリから追い出されたデータに対してREAD I/Oが発行された場合には、その都度ディスクから読み込むことになるので、I/Oレスポンスが低下することになる。
また、場合によって、使用頻度は少ないが高速に処理したいLUNや、他のLUNの負荷に影響を受けることなく高速に処理したいLUNを必要とする場合もある。
上述のような問題に対応するために、バインド・イン・キャッシュ(Bind In Cache)機能が広く使用されている。
バインド・イン・キャッシュ機能とは、あるLUNの領域をキャッシュメモリの特定の領域にあらかじめ割り当てて、当該領域に対して処理されるデータを常にキャッシュメモリ上に常駐させることにより、高速に処理する機能である。
図7は、バインド・イン・キャッシュ機能の概念を示す図である。
図7では、LUN70の領域Aがキャッシュメモリ71の特定領域A’に割当てられていることを示している。そして、ステージング処理等によって、下位装置(例えば、ディスクアレイ装置を構成するディスク装置)から読出された領域Aのデータは、特定領域A’に格納されて常駐する。
したがって、ホストコンピュータ等の上位装置からLUN70の領域Aに対してREAD/WRITE I/O要求が行なわれると、常にキャッシュメモリ71の特定領域A’に対して処理が行なわれることとなる。
すなわち、LUN70の領域Aのデータが格納されている下位装置にアクセスする必要がなくなるので、高速な処理が可能となる。
上述したバインド・イン・キャッシュ機能ではアクセスされる範囲が明確に決まっていて、その範囲全体を高速に処理させる必要がある場合には非常に有効である。
しかし、LUN70に対するアクセス範囲が分散している場合や、アクセス範囲が動的に変化する場合などには必ずしも有効とは言えない(例えば Open systemでのファイルアクセスではどの範囲にアクセスされるかはファイルシステムに依存する)。
図8は、アクセス範囲が動的に変化する場合のLUN80とキャッシュメモリ81について説明する図である。
図8に示すように、Open systemでのファイルアクセス処理では、上位装置からLUN81の領域B、C、Dといった任意の(不特定な)領域に対してアクセスが行なわれる。一般に、キャッシュメモリ81の容量は、LUN81の容量より小さいため、例えば、領域Dをキャッシュメモリ81に割当てることができないこととなる(図8の場合には、領域B、Cのデータは特定領域B’、C’に常駐されるが、領域Dのデータはキャッシュメモリ81に常駐することができない)。
このような場合、あらかじめキャッシュメモリ81に常駐させる範囲を特定することは困難であるために、ある一定の範囲(例えば、LUNやスライス単位等)でキャッシュメモリ81を割り当てる必要がある。
このため、本来必要でない多くのキャッシュメモリ81をバインド・イン・キャッシュ機能に使用しなくてはならないという問題や、LUNやスライスの容量が搭載キャッシュメモリ81より大きい場合などにはバインド・イン・キャッシュ用のキャッシュメモリ81を確保すること自体が困難になる場合があるという問題があった。
上述の理由から、バインド・イン・キャッシュ機能を有効に利用することができず、上位装置からのアクセスを高速に行なうことが難しかった。
特許文献1は、ディスクキャッシュのブロックの割り当てをファイル単位に制御することにより、アクセス性能を飛躍的に向上させるディスクキャッシュ管理装置について開示されている。
特許文献2は、ファイルのアクセスモードに見合った適切なディスクキャッシュモードを設定することにより、ディスクキャッシュを効率的に使用するディスクキャッシュ制御システムについて開示されている。
特開平09−204358号公報 特開2002−108704号公報
本発明は、上述した問題に鑑みてなされたものであり、その解決しようとする課題は、上位装置から論理ボリュームの任意の領域に対してアクセスが行なわれる場合であっても、上位装置からのアクセスを高速に行なうことが可能なディスクキャッシュ制御装置を提供することである。
上記課題を解決するために、本発明に係るディスクキャッシュ制御装置は、上位装置から下位装置に対して論理ボリューム毎にアクセス可能に制御するディスクアレイ制御装置において、前記上位装置から要求されたデータを、前記下位装置から読出して記憶するデータ記憶手段と、前記論理ボリュームの領域と前記データ記憶手段の領域とを関連付ける管理情報を記憶する管理情報記憶手段と、上位装置から要求のあった任意のデータについて、前記論理ボリュームの領域を前記データ記憶手段の所定の範囲内にある領域であって前記データを常駐させる領域に割当てる前記管理情報を、該割当てた前記論理ボリュームの全領域が所定の大きさとなるまで生成する管理情報生成手段と、上位装置から要求のあったデータの格納場所を前記管理情報から取得し、該取得した格納場所のデータに対して読み書き処理を行なうアクセス処理手段と、を備える。
本発明によると、データ記憶手段の所定の範囲内にある領域であってデータを常駐させる領域に論理ボリュームの領域を割当てることによって、当該領域にデータが常駐するので、アクセス処理手段による当該領域に対するデータの読み書き処理を高速に実行することが可能となる。
また、管理情報生成手段は、上位装置から要求のあった任意のデータを常駐させる領域に割当てた論理ボリュームの全領域が所定の大きさとなるまで管理情報を生成するので、上位装置がアクセスする論理ボリュームの領域に依存することなく、上位装置がアクセスする論理ボリュームの領域の合計サイズが所定の大きさとなるまでのアクセスについて速度を向上させることが可能となる。
すなわち、上位装置から論理ボリュームの任意の領域に対するアクセスが行なわれる場合であっても、当該アクセスを高速に実行することが可能となる。
また、本発明は、上位装置から下位装置に対して論理ボリューム毎にアクセス可能に制御するディスクアレイ制御方法であって、前記上位装置から要求のあった任意のデータについて、該データを前記下位装置から読出して記憶するデータ記憶手段の所定の範囲内にある領域であって前記データを常駐させる領域に前記論理ボリュームの領域を割当てるための管理情報を、該割当てた前記論理ボリュームの全領域が所定の大きさとなるまで生成し、前記上位装置から要求のあったデータの格納場所を前記管理情報から取得し、該取得した格納場所のデータに対して読み書き処理を行なう、ことをディスクアレイ制御装置に行なわせても同様の効果を得ることができる。
以上のように、本発明によると、上位装置から論理ボリュームの任意の領域に対してアクセスが行なわれる場合であっても、上位装置からのアクセスを高速に行なうことが可能なディスクキャッシュ制御装置を提供することが可能となる。
以下、本発明の実施形態について図1から図6に基づいて説明する。
図1は、本発明の原理を示す図である。
図1に示すディスクキャッシュ制御装置10は、下位装置から読出したデータを記憶するデータ記憶手段11と、論理ボリュームの領域とデータ記憶手段11の領域とを関連付ける管理情報を記憶する管理情報記憶手段12と、管理情報を生成する管理情報生成手段13と、上位装置からの要求に応じてデータ記憶手段11又は下位装置のデータにアクセスするアクセス処理手段14と、を少なくとも備える。
データ記憶手段11は、アクセス頻度の高いデータなど必要に応じて下位装置から読出したデータを記憶する記憶手段である。このデータ記憶手段11は、データを常駐させる常駐記憶手段11aと一時的又は所定時間記憶する一時記憶手段11bとで構成される。
管理情報記憶手段12に記憶する管理情報は、論理ボリュームの領域と常駐記憶手段11aの領域とを関連付ける常駐記憶領域管理情報12aと、論地ボリュームの領域と一時記憶手段11bの領域とを関連付ける一時記憶領域管理情報12bと、で構成される。
管理情報生成手段13は、アクセス処理手段14からの指示に応じて常駐記憶領域管理情報12a又は一時記憶領域管理情報12bを生成し、管理情報記憶手段12に格納する。また、管理情報生成手段13は、常駐記憶領域管理情報12aをあらかじめ決められた一定量だけ生成する。そして、常駐記憶領域管理情報12aが一定量を超えた後は、一時記憶領域管理情報12bのみを生成する。
アクセス処理手段14は、上位装置から論理ボリュームの領域に対するREAD/WRITE I/O要求を受けると、管理情報記憶手段12を参照して該当する管理情報をチェックする。
そして、該当する管理情報からREAD/WRITE I/O要求されたデータが格納されているデータ記憶手段11の領域を取得し、当該領域に対してアクセスする。
また、該当する管理情報が存在しない場合には、下位装置から該当するデータを読出してデータ記憶手段11に格納するとともに、当該データを常駐記憶手段11aに記憶するか一時記憶手段11bに記憶するかを判断し、新たな管理情報を管理情報生成手段13に生成させる。
以上に説明した本発明に係る実施例の概要を図2に示す。図2は、図8と同様に、Open systemでのファイルアクセス処理時の例を示している。
図2に示すように、Open systemでのファイルアクセス処理では、上位装置からLUN20の領域B、C、Dといった任意の領域に対してアクセスが行なわれる。
一方、本実施例に係るキャッシュメモリ21は、バインド・イン・キャッシュ機能を実現するための常駐記憶領域Eとそれ以外の一時記憶領域Fとで構成されている。常駐記憶領域Eは、所定の容量をもつ連続領域であり、当該容量は、LUNにアクセスされる領域のうちバインド・イン・キャッシュ機能として使用したい領域の容量で決まる。
例えば、領域B、C、Dを合計した容量分だけバインド・イン・キャッシュ機能を使用したい場合には、常駐記憶領域Eを当該合計した容量に設定する。
上位装置から領域B、C、Dにアクセスが行なわれると、管理情報生成手段13は、領域B、C、Dと常駐記憶領域E内にある所定の領域とを関連付ける常駐記憶領域管理情報をそれぞれ生成して管理情報記憶手段12に格納する。
したがって、Open systemでのファイルアクセス処理のようにLUNの任意の領域にアクセスする処理であっても、効率よくキャッシュメモリを使用してバインド・イン・キャッシュ機能を実現することが可能となる。その結果、上位装置からのアクセスを高速に行なうことが可能となる。
図3は、本発明の実施例に係るRAID装置の構成例を示す図である。
図3に示すRAID装置30は、CA(Channel Adapter)31aを介してホストコンピュータ37と接続されるRAID制御装置のCM32aと、図示しないルータ等を介してCM32aと接続されるディスクアレイ33と、を少なくとも備えている。
また、本実施例では、CA31bを介してホストコンピュータ37と接続され、図示しないルータ等を介してディスクアレイ33と接続されるRAID制御装置のCM32bを更に備え、CM32aとCM32bとは図示しないルータ等を介して接続されている。
ここで、本実施例では、RAID制御装置(CM32a、CM32b)を二重化した場合の構成例を示しているが、これに限定する趣旨ではない。二重化以上の冗長構成であってもよいし、CM32aのみを使用したシングル構成であってもよい。
CA31aは、ホストコンピュータ37に備わる図示しないI/O装置とCM32aとのインターフェースであり、ホストコンピュータ37−CM32a間のコマンドやデータの制御を行なう。
CM32aは、CPU(Central Processing Unit)34aとRAM(Random Access Memory)35aキャッシュメモリ36aとを少なくとも備える。本実施例に係るディスクキャッシュ制御装置は、CM32aによって実現される。
そして、所定のプログラムに従ってCPU34aを動作させることによって、ホストコンピュータ37のI/O処理(キャッシュ制御等)やRAID装置30全体の制御を行ない、管理情報生成手段13やアクセス処理手段14も実現する。
また、データ記憶手段11はキャッシュメモリ36aによって実現され、管理情報記憶手段12はRAM35aによって実現される。
ディスクアレイ33は、2つの論理ボリュームLUN#0及び#1で構成されている。LUN#0は、磁気ディスク装置DISK#0及び#1から成るディスクアレイ33aによって実現され、LUN#1は、磁気ディスク装置DISK#2及び#3から成るディスクアレイ33bによって実現される。
ここで、本実施例に係るディスクアレイ33は、RAID1の構成をとっているのが、これに限定する趣旨ではない。すなわち、必要に応じたレベル(RAID0〜5など)でRAIDを構成すればよい。
以上に説明したCA31a、CM32aの構成は、CA31b、CM32bも同様なので説明は省略する。
CM32aとCM32bとは図示しないルータを介して接続され、例えば、更新データがホストコンピュータ37からCA31aを介してCM32aに送られると、CPU34aは、更新データをキャッシュメモリ36aに格納すると共に、ルータを介してCM32bに送信する。そして、CM32bでは、CPU34aが受信した更新データをキャッシュメモリ36bに格納することによって、CM32a内のキャッシュメモリ36aとCM32b内のキャッシュメモリ36bとは常に同一のデータが格納される。
以上の処理によって、CM32aとCM32bとが二重化(冗長化)されることとなる。したがって、以下、説明を簡単にするためにCA31a、CM32a及びディスクアレイ33aの動作について説明をする。
図4は、本発明の実施例に係るディスクキャッシュ制御を説明する図である。なお、図4に示すLBA番号、CBE番号、Cache Page番号は16進数で示してある。例えば、LBA#10は十進数ではLBA#16を示す。
LUN40は、図3に示したLUN#0の例を示している。ホストコンピュータ37からLUN40へのアクセスは、LBA(Logical Block Address)毎に行なわれる。例えば、ホストコンピュータ37は、LBA#00から6ブロックのデータを指定して、RAID装置30にREAD/WRITE I/O要求を行なう。
また、LUN40における太線で囲まれた領域(例えば、LBA#00〜#05)は、キャッシュメモリ43の常駐記憶領域に割当てる領域(以下、「LUN BIND対象」という)であることを示している。なお、LUN40がLUN BIND対象であるか否かは、あらかじめ設定されたLUN BIND対象管理テーブル50で決定される。LUN BIND対象管理テーブル50については、後述する図5に示す。
常駐記憶領域管理テーブル41と一時記憶領域管理テーブル42は、それぞれ複数のCBE(Cache Bandle Element)で構成されている。以下、常駐記憶領域管理テーブル41を構成するCBEを「常駐記憶領域用CBE」といい、一時記憶領域管理テーブル42を構成するCBEを「一時記憶領域用CBE」という。
常駐記憶領域用CBEの数は、あらかじめ決められた有限な数であり、LUN BIND対象とするLUN40の領域の大きさにより決定する。
ここで、CBEは、キャッシュメモリ43を構成するCache Pageを管理するための管理テーブルであり、1Cache Page毎に対応するCBEが存在する。各CBEは、例えば、論理ボリュームにおけるデータ格納場所を示すLUN番号及びLBA番号と、当該格納場所として割当てられるCache Pageのアドレス及び当該Cache Page内のDirty Dataの有無(1ブロック単位)を保持する情報で構成される。
また、各CBE間は、相互に関連付けられるており、FIFO(First In First Out)を実現できる構成となっている。
そして、CPU34aは、アクセスのあったLUN40の領域がLUN BIND対象である場合には、常駐記憶領域用CBEを生成し、アクセスのあった領域が一時記憶領域(LUN BIND対象の領域以外の領域)である場合には、一時記憶領域用CBEを生成する。
例えば、ホストコンピュータ37から領域(1)(LBA#00から#05)、領域(2)(LBA#08)、領域(3)(LBA#07)、領域(4)(LBA#11から#1F)、領域(5)(LBA#21)の順にアクセスがあった場合、CPU34aは、LUN BIND対象の領域(1)、領域(3)、領域(4)について、それぞれ常駐記憶領域用CBE#00、CBE#01、CBE#02を生成し、LUN BIND対象でない領域(2)領域、(5)領域について、それぞれ一時記憶領域用CBE#08、CBE#21を生成する。
キャッシュメモリ43は一般にディスクアレイ33に比べて記憶容量が少ないため全データをキャッシュメモリ43上に展開することは不可能である。そのため、使用頻度の小さいCBEに対しては、LRU(Least Recent Used)アルゴリズムを使用して追い出しが行なわれる。すなわち、該当するCBEが解放される。なお、LRUアルゴリズムは、キャッシュメモリを管理するために一般的に利用される公知技術なので説明は省略する。
ここで、追い出しが行なわれるのは一時記憶領域管理テーブル42のCBEのみであり、常駐記憶領域管理テーブル41のCBEに対しては行なわれない。
これにより、I/Oの負荷が高い場合にあっても常駐記憶領域用CBEはその影響を受けることなく、キャッシュヒットを期待することができる。
なお、本実施例の場合、キャッシュヒットの有無はCBEの有無によって判断することができる。すなわち、該当するCBEが存在すればキャッシュメモリ43上にも該当するデータが展開されていると判断できる。
キャッシュメモリ43は、複数のCache Pageで構成され、常駐記憶領域と一時記憶領域(常駐記憶領域以外の領域)とに分かれている。
各Cache Pageは、1ブロック(512Byte)毎に8ByteのBCC(Block Check Code)が付加されて、128ブロック単位で管理される。したがって、本実施例では、1Cache Pageが66,560Byteとなっている。
ここで、図4に示したキャッシュメモリ43の常駐記憶領域及び一時記憶領域は、それぞれ連続領域の場合を示しているが、これに限定する趣旨ではなく、非連続な領域を使用してもよい。
図5は、本発明の実施例に係るLUN BIND対象管理テーブル50の例を示す図である。
図5に示すLUN BIND対象管理テーブル50は、LUN番号とLUN BINDの有無とで構成されている。BINDの有無の欄の”BIND”は、該当するLUNがLUN BIND対象であることを示している。また、BINDの有無の欄の”−−−”は、該当するLUNがLUN BIND対象でないことを示している。
このLUN BIND対象管理テーブル50は、例えば、RAM35aに格納される。そして、ホストコンピュータ37からLUNに対してアクセス要求がありキャッシュミスであった場合、CPU34aは、LUN BIND対象管理テーブル50を参照して、アクセス要求のあったLUNがLUN BIND対象であるか否かをチェックする。
LUN BIND対象である場合には、優先的に、常駐記憶領域用CBEを生成して該当するLBAをキャッシュメモリ43の常駐記憶領域に割当てる。そして、LBAを割当てる常駐記憶領域がなくなると、一時記憶領域用CBEを生成して該当するLBAをキャッシュメモリ43の一時記憶領域に割当てる。
図6は、本発明の実施例に係るディスクキャッシュ制御の処理を示すフローチャートである。
ステップS600において、ホストコンピュータ37から所定のLUN、LBAを指定してREAD/WRITE I/O要求を受けると、CPU34aは、処理をステップS601に移行する。
ステップS601において、CPU34aは、ステップS600で要求されたデータがキャッシュメモリ43に上に展開されているか否かをチェックする。すなわち、CPU34aは、常駐記憶領域管理テーブル41と一時記憶領域管理テーブル42とを参照してステップS600で指定されたLBAについてのCBEが存在するか否かをチェックする。
そして、当該LBAについてのCBEが存在する場合には、キャッシュヒット(Hit)したと判断して処理をステップS602に移行し、ヒットしたキャッシュメモリ43に対してRead/Writeを行う。
一方、当該LBAについてのCBEが存在しない場合には、キャッシュミス(Miss)したと判断して処理をステップS603に移行する。
ステップS603において、CPU34aは、RAM35aの所定のアドレスに格納されているLUN BIND対象管理テーブル50を参照する。そして、ステップS600で指定されたLUNがLUN BIND対象か否かを確認する。
当該LUNがLUN BIND対象でない場合には、処理をステップS604に移行し、当該LUNのLBAにキャッシュメモリ43の一時記憶領域を割り当てる(一時記憶領域用CBEを生成する)。
また、当該LUNがLUN BIND対象である場合には、処理をステップS605に移行してキャッシュメモリ43の常駐記憶領域に割り当てたLUNの全容量(以下、「LUN BIND割り当て容量」という)を確認する。
なお、このLUN BIND割り当て容量は、CPU34aが、ステップS600で指定されるLBAをキャッシュメモリ43の常駐記憶領域に割り当てる時(ステップS606)に、当該割り当てた容量を積算し、RAM35aの所定のアドレスに格納する(EPROM等の不揮発性メモリに保持してもよい)。
そして、LUN BIND割り当て容量と所定の容量(以下、「LUN BIND基準容量」という)とを比較して、LUN BIND割り当て容量がLUN BIND基準容量を超える場合には、処理をステップS604に移行して、キャッシュメモリ43の一時記憶領域に当該LBAを割り当てる。
また、LUN BIND割り当て容量がLUN BIND基準容量を超えない場合には、CPU34aは、処理をステップS606に移行して、当該LBAにキャッシュメモリ43の常駐記憶領域を割当てる(常駐記憶領域用CBEを生成する)。
ステップS604またはS606の処理によって当該LBAをキャッシュメモリ43に割り当てると、CPU34aは、処理をステップS607に移行する。
ステップS607において、CPU34aは、ステップS600においてホストコンピュータ37から発行されてREAD/WRITE I/O要求がWRITE要求の場合には処理をステップS608に移行し、ステップS604またはS606で割り当てたキャッシュメモリ43に対してWRITE処理を実行して処理を終了する。
また、ステップS600においてホストコンピュータ37から発行されてREAD/WRITE I/O要求がREAD要求の場合には処理をステップS609に移行し、ステップS604またはS606で割り当てたキャッシュメモリ43に対してステージング処理を行うとともに、READ処理を実行して処理を終了する。
以上に説明したように、本実施例に係るディスクキャッシュ制御装置10は、上位装置からLUN BIND対象のLUNの領域に対してアクセスがあった場合(キャッシュミス時)には、上位装置がアクセスしたLUNの領域に依存することなく当該LUNの領域をキャッシュメモリ43の常駐記憶領域に割当てるので、上位装置からLUNの任意の領域に対してアクセスが行なわれる場合であっても、上位装置からのアクセスを高速に処理することが可能となる。
また、上位装置からアクセスがあったLUN BIND対象のLUNの領域を、あらかじめ決められたサイズまで、キャッシュメモリ43の常駐記憶領域に割当てるので、キャッシュメモリを効率よく使用することが可能となり、キャッシュメモリ43のサイズがLUNのサイズより小さい場合であっても、バインド・イン・キャッシュ機能を有効に利用することが可能となる。また、その結果、上位装置からのアクセスを高速に処理することが可能となる。
本発明の原理を示す図である。 本発明の実施例に係るOpen systemでのファイルアクセス処理を説明する図である。 本発明の実施例に係るRAID装置の構成例を示す図である。 本発明の実施例に係るディスクキャッシュ制御を説明する図である。 本発明の実施例に係るLUN BIND対象管理テーブルの例を示す図である。 本発明の実施例に係るディスクキャッシュ制御の処理を示すフローチャートである。 バインド・イン・キャッシュ機能の概念を示す図である。 アクセス範囲が動的に変化する場合のLUNとキャッシュメモリについて説明する図である。
符号の説明
10 ディスクキャッシュ制御装置
11 データ記憶手段
12 管理情報記憶手段
13 管理情報生成手段
14 アクセス処理手段
30 RAID装置
31a、31b CA
32a、32b CM
33 ディスクアレイ
33a、33b ディスクアレイ
34a、34b CPU
35a、35b RAM
36a、36b キャッシュメモリ
41 常駐記憶領域管理テーブル
42 一時記憶領域管理テーブル

Claims (5)

  1. 上位装置から下位装置に対して論理ボリューム毎にアクセス可能に制御するディスクアレイ制御装置において、
    前記上位装置から要求されたデータを、前記下位装置から読出して記憶するデータ記憶手段と、
    前記論理ボリュームの領域と前記データ記憶手段の領域とを関連付ける管理情報を記憶する管理情報記憶手段と、
    上位装置から要求のあった任意のデータについて、前記論理ボリュームの領域を前記データ記憶手段の所定の範囲内にある領域であって前記データを常駐させる領域に割当てる前記管理情報を、該割当てた前記論理ボリュームの全領域が所定の大きさとなるまで生成する管理情報生成手段と、
    上位装置から要求のあったデータの格納場所を前記管理情報から取得し、該取得した格納場所のデータに対して読み書き処理を行なうアクセス処理手段と、
    を備えることを特徴とするディスクキャッシュ制御装置。
  2. 前記管理情報は、
    前記論理ボリュームの領域と前記データ記憶手段の所定の範囲内にある領域であって前記データを常駐させる領域とを関連付ける常駐記憶領域管理情報と、
    前記論理ボリュームの領域と前記データ記憶手段の前記所定の範囲外にある領域であって一時的又は所定期間だけ前記データを記憶する領域とを関連付ける一時記憶領域管理情報と、
    を備え、
    上位装置から要求のあったデータに応じて、前記常駐記憶領域管理情報と前記一時記憶領域管理情報とのいずれかの管理情報を生成するとともに、前記データを下位装置から読出して、前記管理情報によって割当てられた前記データ記憶手段の領域に記憶する請求項1に記載のディスクキャッシュ制御装置。
  3. 前記データ記憶手段は、
    前記上位装置から要求されたデータを、前記下位装置から読出して常駐させる常駐記憶手段と、
    前記上位装置から要求されたデータを、前記下位装置から読出して一時的又は所定期間だけ記憶する一時記憶手段と、
    を備える請求項1に記載のディスクキャッシュ制御装置。
  4. 上位装置から下位装置に対して論理ボリューム毎にアクセス可能に制御するディスクアレイ制御方法であって、
    前記上位装置から要求のあった任意のデータについて、該データを前記下位装置から読出して記憶するデータ記憶手段の所定の範囲内にある領域であって前記データを常駐させる領域に前記論理ボリュームの領域を割当てるための管理情報を、該割当てた前記論理ボリュームの全領域が所定の大きさとなるまで生成し、
    前記上位装置から要求のあったデータの格納場所を前記管理情報から取得し、該取得した格納場所のデータに対して読み書き処理を行なう、
    ことをディスクアレイ制御装置に行なわせることを特徴とするディスクキャッシュ制御方法。
  5. 上位装置から下位装置に対して論理ボリューム毎にアクセス可能に制御するディスクアレイ制御を実現するためのプログラムであって、
    前記上位装置から要求のあった任意のデータについて、該データを前記下位装置から読出して記憶するデータ記憶手段の所定の範囲内にある領域であって前記データを常駐させる領域に前記論理ボリュームの領域を割当てるための管理情報を、該割当てた前記論理ボリュームの全領域が所定の大きさとなるまで生成し、
    前記上位装置から要求のあったデータの格納場所を前記管理情報から取得し、該取得した格納場所のデータに対して読み書き処理を行なう、
    ことをディスクアレイ制御装置に実行させることを特徴とするディスクキャッシュ制御のためのプログラム。
JP2005288018A 2005-09-30 2005-09-30 ディスクキャッシュ制御装置 Pending JP2007102314A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005288018A JP2007102314A (ja) 2005-09-30 2005-09-30 ディスクキャッシュ制御装置
US11/319,598 US20070079064A1 (en) 2005-09-30 2005-12-29 Disk cache control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005288018A JP2007102314A (ja) 2005-09-30 2005-09-30 ディスクキャッシュ制御装置

Publications (1)

Publication Number Publication Date
JP2007102314A true JP2007102314A (ja) 2007-04-19

Family

ID=37903201

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005288018A Pending JP2007102314A (ja) 2005-09-30 2005-09-30 ディスクキャッシュ制御装置

Country Status (2)

Country Link
US (1) US20070079064A1 (ja)
JP (1) JP2007102314A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102413A (ja) * 2008-10-22 2010-05-06 Hitachi Ltd ストレージ装置およびキャッシュ制御方法
JP2010286923A (ja) * 2009-06-09 2010-12-24 Hitachi Ltd キャッシュ制御装置及び方法
JP2016051387A (ja) * 2014-09-01 2016-04-11 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム
CN108121664A (zh) * 2016-11-28 2018-06-05 慧荣科技股份有限公司 数据储存装置以及其操作方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4356686B2 (ja) * 2005-12-01 2009-11-04 ソニー株式会社 メモリ装置及びメモリ制御方法
US11422935B2 (en) * 2020-06-26 2022-08-23 Advanced Micro Devices, Inc. Direct mapping mode for associative cache

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778430A (en) * 1996-04-19 1998-07-07 Eccs, Inc. Method and apparatus for computer disk cache management
JPH11143643A (ja) * 1997-11-06 1999-05-28 Sony Corp 再生装置、及びキャッシュ処理方法
US6389510B1 (en) * 2000-04-25 2002-05-14 Lucent Technologies Inc. Method and apparatus for caching web-based information
DE60039033D1 (de) * 2000-05-25 2008-07-10 Hitachi Ltd Speichersystem zur Bestätigung der Datensynchronisierung während des asynchronen Fernkopierens
US6654856B2 (en) * 2001-05-15 2003-11-25 Microsoft Corporation System and method for managing storage space of a cache
US7301906B2 (en) * 2001-12-17 2007-11-27 Lsi Corporation Methods and structures for improved buffer management and dynamic adaption of flow control status in high-speed communication networks
JP4141391B2 (ja) * 2004-02-05 2008-08-27 株式会社日立製作所 ストレージサブシステム
JP2005293478A (ja) * 2004-04-05 2005-10-20 Hitachi Ltd 記憶制御システム、記憶制御システムに備えられるチャネル制御装置、データ転送装置
JP4892812B2 (ja) * 2004-04-28 2012-03-07 株式会社日立製作所 キャッシュ制御およびデータ処理システム並びにその処理プログラム
US7484066B2 (en) * 2005-04-15 2009-01-27 Hitachi, Ltd. Assuring performance of external storage systems

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102413A (ja) * 2008-10-22 2010-05-06 Hitachi Ltd ストレージ装置およびキャッシュ制御方法
JP2010286923A (ja) * 2009-06-09 2010-12-24 Hitachi Ltd キャッシュ制御装置及び方法
US8285935B2 (en) 2009-06-09 2012-10-09 Hitachi, Ltd. Cache control apparatus and method
JP2016051387A (ja) * 2014-09-01 2016-04-11 富士通株式会社 ストレージ制御装置およびストレージ制御プログラム
US9632950B2 (en) 2014-09-01 2017-04-25 Fujitsu Limited Storage control device controlling access to a storage device and access controlling method of a storage device
CN108121664A (zh) * 2016-11-28 2018-06-05 慧荣科技股份有限公司 数据储存装置以及其操作方法
JP2018101411A (ja) * 2016-11-28 2018-06-28 慧榮科技股▲分▼有限公司 データストレージデバイスおよびその操作方法

Also Published As

Publication number Publication date
US20070079064A1 (en) 2007-04-05

Similar Documents

Publication Publication Date Title
JP5914305B2 (ja) データ位置の管理方法および装置
JP5028381B2 (ja) ストレージ装置およびキャッシュ制御方法
KR101086857B1 (ko) 데이터 머지를 수행하는 반도체 스토리지 시스템의 제어 방법
US9792073B2 (en) Method of LUN management in a solid state disk array
EP1755042A2 (en) Storage system for controlling disk cache
JP4738038B2 (ja) メモリカード
WO2012090239A1 (en) Storage system and management method of control information therein
US20150347310A1 (en) Storage Controller and Method for Managing Metadata in a Cache Store
US20150254186A1 (en) Information processing device having a plurality of types of memory caches with different characteristics
JP2019020788A (ja) メモリシステムおよび制御方法
US9122629B2 (en) Elastic cache with single parity
JP6459644B2 (ja) ストレージ制御装置、制御システム及び制御プログラム
US8954658B1 (en) Method of LUN management in a solid state disk array
US10430346B2 (en) DDR storage adapter
JP2003131816A5 (ja) 記憶装置及びその制御方法
WO2016056104A1 (ja) ストレージ装置、及び、記憶制御方法
KR102347841B1 (ko) 메모리제어장치 및 메모리제어장치의 동작 방법
JP2007102314A (ja) ディスクキャッシュ制御装置
JP6171084B2 (ja) ストレージシステム
JP6311365B2 (ja) 記憶領域管理装置、記憶領域管理方法及び記憶領域管理プログラム
US8683161B2 (en) Method and apparatus for increasing file copy performance on solid state mass storage devices
JP2007249728A (ja) ディスクアレイ装置
JP5910596B2 (ja) ストレージ管理システム、ストレージ管理方法、プログラム、および、情報処理システム
JP4373450B2 (ja) Raid制御装置及びその制御方法
JP2010191672A (ja) データ記憶システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090811

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100112