JP2008225914A - プリフェッチ制御装置、記憶装置システムおよびプリフェッチ制御方法 - Google Patents

プリフェッチ制御装置、記憶装置システムおよびプリフェッチ制御方法 Download PDF

Info

Publication number
JP2008225914A
JP2008225914A JP2007064025A JP2007064025A JP2008225914A JP 2008225914 A JP2008225914 A JP 2008225914A JP 2007064025 A JP2007064025 A JP 2007064025A JP 2007064025 A JP2007064025 A JP 2007064025A JP 2008225914 A JP2008225914 A JP 2008225914A
Authority
JP
Japan
Prior art keywords
prefetch
cache memory
prefetch amount
read data
amount
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
JP2007064025A
Other languages
English (en)
Inventor
Katsuhiko Shioya
克彦 塩屋
Hidekazu Yamanaka
英一 山中
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 JP2007064025A priority Critical patent/JP2008225914A/ja
Priority to US12/046,090 priority patent/US20080229027A1/en
Publication of JP2008225914A publication Critical patent/JP2008225914A/ja
Pending 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/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

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

Description

本発明は、記憶装置とコンピュータ装置との間で送受されるデータをキャッシュして該記憶装置からの読み出しデータの読み出し効率を向上させるキャッシュメモリへの該読み出しデータのプリフェッチを制御するプリフェッチ制御装置、記憶装置システムおよびプリフェッチ制御方法に関し、特に、キャッシュメモリがプリフェッチによって枯渇してしまうことを回避するプリフェッチ制御装置、記憶装置システムおよびプリフェッチ制御方法に関する。
近年のコンピュータの処理能力の向上に伴って、コンピュータが利用するデータは肥大化の一途をたどっており、記憶装置との間で膨大なデータを効率的に読み書きする技術が検討されている。
例えば、複数の記憶装置を制御装置で集中管理し、データ読み書きの高速化、データ記憶領域の大容量化、データ読み書きおよびデータ記憶の高信頼化を実現するRAID(Redundant Arrays of Inexpensive Disks)と呼ばれる記憶システムが知られている。
かかる記憶システムの制御装置は、データを効率的に読み書きするため、コンピュータからの書き込みデータおよびコンピュータへの読み出しデータを一時的に記憶するキャッシュメモリを有していることが一般的である。キャッシュメモリは、記憶装置と比較して、高速アクセス可能である。
キャッシュメモリに使用頻度の高いデータを配置しておき、コンピュータからの記憶装置への書き込みデータおよび記憶装置からコンピュータへの読み出しデータがキャッシュメモリに存在する場合に、記憶装置へアクセスせずキャッシュメモリにアクセスして、当該データ処理をおこなう。このようにすることによって、記憶装置との間でデータを効率的かつ迅速に読み書きすることが可能となる。
かかるキャッシュメモリにおいては、コンピュータへのデータの読み出しを効率よく、高速におこなう制御が課題となってくる。特に、音声データや動画データなどのデータ量が多くかつシーケンシャルアクセスデータである場合に、シーケンシャルアクセスデータを記憶装置から先読み(プリフェッチ)してキャッシュメモリに一時記憶しておく制御をおこなうことによって、記憶装置の読み出し性能を高めることが可能となる。
この例として、例えば特許文献1には、ディスクキャッシュシステムのメモリ管理方式において、記憶装置からの読み出しデータがシーケンシャルアクセスデータかランダムアクセスデータかに応じて、特に該データがシーケンシャルアクセスデータである場合にプリフェッチ量を増加させるメモリ管理方式が開示されている。
また、特許文献2には、階層構造ファイルシステムを有するディスク装置と、ファイルを管理するファイル管理システムと、キャッシュメモリと、読み込もうとするファイルがキャッシュメモリ内に存在するか確認するためのキャッシュヒット確認手段と、プリフェッチするファイルを選出するための学習情報管理テーブルとを備え、キャッシングを行なう際、ユーザのファイル読み込み方法とその方法の利用回数を学習情報管理テーブルに登録する。この情報を利用し、ユーザのファイル運用に合わせてプリフェッチ量を動的に変化させるディスクキャッシュ制御システムおよび制御方法が開示されている。
特開平2−18645号公報 特開平5−189286号公報
しかしながら、上記特許文献1および2に代表される従来技術では、プリフェッチ量を増加させる制御をおこない、所定の条件が成立する限りプリフェッチをおこない続けるため、プリフェッチ量が増加したプリフェッチによってキャッシュメモリが枯渇してしまうおそれがあった。
本発明は、上記問題点(課題)を解消するためになされたものであって、記憶装置とコンピュータ装置との間で送受されるデータをキャッシュするキャッシュメモリが、該記憶装置からの読み出しデータのプリフェッチによって枯渇してしまうことを回避するプリフェッチ制御装置、記憶装置システムおよびプリフェッチ制御方法を提供することを目的とする。
上述した問題を解決し、目的を達成するため、本発明は、記憶装置とコンピュータ装置との間で送受されるデータをキャッシュして該記憶装置からの読み出しデータの読み出し効率を向上させるキャッシュメモリへの該読み出しデータのプリフェッチを制御するプリフェッチ制御装置であって、前記記憶装置から前記コンピュータ装置へと読み出される読み出しデータがシーケンシャルアクセスデータであるか否かを判定するシーケンシャル判定部と、前記シーケンシャル判定部によって前記読み出しデータがシーケンシャルアクセスデータであると判定された場合に所定条件に基づいて該読み出しデータのプリフェッチ量を決定するプリフェッチ量決定部と、前記プリフェッチ量決定部によって決定されたプリフェッチ量だけ前記読み出しデータのプリフェッチをおこなうプリフェッチ部とを有することを特徴とする。
また、本発明は、上記発明において、前記プリフェッチ量決定部は、前記キャッシュメモリの空き容量が所定閾値を下回った場合に前記プリフェッチ量を減少させ、前記キャッシュメモリの空き容量が所定閾値を下回っていない場合に前記プリフェッチ量を増加させることを特徴とする。
また、本発明は、上記発明において、前記プリフェッチ量決定部は、前記キャッシュメモリのヒット率が所定閾値を下回った場合に前記プリフェッチ量を減少させ、前記キャッシュメモリのヒット率が所定閾値を下回っていない場合に前記プリフェッチ量を増加させることを特徴とする。
また、本発明は、上記発明において、前記記憶装置は、複数の記憶装置を含み、前記プリフェッチ量決定部は、前記複数の記憶装置ごとの前記キャッシュメモリのヒット率が所定閾値を下回った場合に該複数の記憶装置ごとの前記プリフェッチ量を減少させ、前記複数の記憶装置ごとの前記キャッシュメモリのヒット率が所定閾値を下回っていない場合に該複数の記憶装置ごとの前記プリフェッチ量を増加させることを特徴とする。
また、本発明は、上記発明において、前記プリフェッチ部は、前記プリフェッチ量決定部によって決定されたプリフェッチ量が0となった場合にはプリフェッチを停止し、前記プリフェッチ量決定部によって決定されたプリフェッチ量が0でなくなった場合にはプリフェッチを開始することを特徴とする。
また、本発明は、記憶装置とコンピュータ装置との間で送受されるデータをキャッシュして該記憶装置からの読み出しデータの読み出し効率を向上させるキャッシュメモリへの該読み出しデータのプリフェッチを制御するプリフェッチ制御装置とを有する記憶装置システムであって、前記記憶装置から前記コンピュータ装置へと読み出される読み出しデータがシーケンシャルアクセスデータであるか否かを判定するシーケンシャル判定部と、前記シーケンシャル判定部によって前記読み出しデータがシーケンシャルアクセスデータであると判定された場合に所定条件に基づいて該読み出しデータのプリフェッチ量を決定するプリフェッチ量決定部と、前記プリフェッチ量決定部によって決定されたプリフェッチ量だけ前記読み出しデータのプリフェッチをおこなうプリフェッチ部とを有することを特徴とする。
また、本発明は、上記発明において、前記プリフェッチ量決定部は、前記キャッシュメモリの空き容量が所定閾値を下回った場合に前記プリフェッチ量を減少させ、前記キャッシュメモリの空き容量が所定閾値を下回っていない場合に前記プリフェッチ量を増加させることを特徴とする。
また、本発明は、記憶装置とコンピュータ装置との間で送受されるデータをキャッシュして該記憶装置からの読み出しデータの読み出し効率を向上させるキャッシュメモリへの該読み出しデータのプリフェッチを制御するプリフェッチ制御方法であって、前記記憶装置から前記コンピュータ装置へと読み出される読み出しデータがシーケンシャルアクセスデータであるか否かを判定するシーケンシャル判定工程と、前記シーケンシャル判定工程によって前記読み出しデータがシーケンシャルアクセスデータであると判定された場合に所定条件に基づいて該読み出しデータのプリフェッチ量を決定するプリフェッチ量決定工程と、前記プリフェッチ量決定工程によって決定されたプリフェッチ量だけ前記読み出しデータのプリフェッチをおこなうプリフェッチ工程とを含んだことを特徴とする。
本発明によれば、読み出しデータがシーケンシャルアクセスデータであると判定された場合に所定条件に基づいて決定された該読み出しデータのプリフェッチ量に基づいて該読み出しデータのプリフェッチをおこなうので、記憶装置へのアクセス効率を高めつつプリフェッチによるキャッシュメモリの枯渇を防止することができるという効果を奏する。
また、本発明によれば、キャッシュメモリの空き容量が所定閾値を下回った場合にプリフェッチ量を減少させ、キャッシュメモリの空き容量が所定閾値を下回っていない場合にプリフェッチ量を増加させるので、キャッシュメモリの空き容量に応じてプリフェッチ量を動的に変更し、効率的なプリフェッチをおこなうことができるという効果を奏する。
また、本発明によれば、キャッシュメモリのヒット率が所定閾値を下回った場合にプリフェッチ量を減少させ、キャッシュメモリのヒット率が所定閾値を下回っていない場合にプリフェッチ量を増加させるので、キャッシュメモリのヒット率に応じてプリフェッチ量を動的に変更し、効率的なプリフェッチをおこなうことができるとともに、キャッシュメモリのヒット率を向上させるという効果を奏する。
また、本発明によれば、複数の記憶装置を含む場合において、複数の記憶装置ごとのキャッシュメモリのヒット率が所定閾値を下回った場合に該複数の記憶装置ごとのプリフェッチ量を減少させ、キャッシュメモリのヒット率が所定閾値を下回っていない場合に該複数の記憶装置ごとのプリフェッチ量を増加させるので、複数の記憶装置ごとのキャッシュメモリのヒット率に応じてプリフェッチ量を動的に変更し、複数の記憶装置ごとに効率的なプリフェッチをおこなうことができるとともに、複数の記憶装置ごとのキャッシュメモリのヒット率を向上させるという効果を奏する。
また、本発明によれば、キャッシュメモリの空き容量またはキャッシュメモリのヒット率に応じて、プリフェッチを停止したり再開したりするという制御を行うことができるという効果を奏する。
以下に添付図面を参照し、本発明のプリフェッチ制御装置、記憶装置システムおよびプリフェッチ制御方法にかかる実施例を詳細に説明する。なお、以下の実施例では本発明を、RAID(Redundant Arrays of Inexpensive Disks)と呼ばれ、複数の磁気ディスク装置を組み合わせることにより、高速・大容量・高信頼性を実現するディスクシステムに適用した場合を示すこととする。
この場合、プリフェッチ制御装置は、複数の磁気ディスク装置を集中的に制御し、該複数の磁気ディスク装置とコンピュータ装置とを接続するRAID制御装置(RAIDコントローラ)の制御回路(例えばLSI(Large Scale Integration))である。
なお、以下に示す実施例では、記憶媒体として磁気ディスク、記憶装置として磁気ディスク装置に本発明を適用した場合を示すこととするが、本発明はこれに限らず、他の記憶媒体およびディスク装置、例えば光ディスクおよび光ディスク装置、もしくは光磁気ディスクまたは光磁気ディスク装置などにも適用可能である。
先ず、実施例の概要および特徴を説明する。図1は、実施例の概要および特徴を説明するための図である。同図に示すように、コンピュータ装置と磁気ディスク装置とがキャッシュメモリを介して接続されている磁気ディスクシステムを想定する。この状態で、(1)コンピュータ装置から磁気ディスク装置へ読み出し要求が出される。
(2)そして、この読み出し要求に対する読み出しデータがシーケンシャル性を有すると判定される場合、一定サイズで一定量のプリフェッチをおこなう。ここで、シーケンシャル性とは、読み書きデータが連続性を有するファイルアクセスをいい、シーケンシャル性のある読み書きデータのことをシーケンシャルアクセスデータという。また、プリフェッチとは、磁気ディスク装置からキャッシュメモリへのデータの先読みをいう。データの先読みは、読み出しデータがシーケンシャルアクセスデータである場合に有効である。
(3)ここで、キャッシュメモリの残容量に無関係で、一定サイズで一定量のプリフェッチをおこなうと、プリフェッチによってキャッシュメモリの枯渇が発生し、システム全体の性能が低下するという問題があった。
(4)そこで、本実施例では、キャッシュメモリの残容量に応じてプリフェッチサイズおよびプリフェッチ量を動的に変更し、キャッシュメモリの枯渇を防止し、システム全体の性能の低下を回避する。
キャッシュメモリの残容量に応じたプリフェッチサイズおよびプリフェッチ量の動的な変更とは、例えばキャッシュメモリの残容量が閾値以下となった場合に、プリフェッチサイズまたはプリフェッチ量を小さくしたり、キャッシュメモリの残容量が閾値を超えている場合に、プリフェッチサイズまたはプリフェッチ量を大きくしたりすることをいう。特に、キャッシュメモリの残容量が極端に少なくなった場合には、プリフェッチを停止し、キャッシュメモリの残容量がある程度まで回復した場合にプリフェッチを再開するという制御も含む。
次に、実施例にかかるRAID制御装置の構成について説明する。図2は、実施例にかかるRAID制御装置の構成を示す機能ブロック図である。同図に示すように、RAID制御装置100は、磁気ディスク装置200(磁気ディスク装置200a1、・・・、200an)と、図示しないホストコンピュータと接続され、磁気ディスク装置200とホストコンピュータとの間で読み書きデータを中継する。なお磁気ディスク装置200ai(i=1、・・・、n)をlun(logical unit number)という。ここでは、lunは、物理的な磁気ディスク装置単位とするが、論理的な磁気ディスク装置単位であってもよい。
RAID制御装置100は、制御部101と、キャッシュメモリ部102と、記憶部103と、RAID制御装置100とのデータ送受のインターフェースである磁気ディスク装置インターフェース部104と、図示しないホストコンピュータとのデータ送受のインターフェースであるホストインターフェース部105とを有する。
制御部101は、RAID制御装置100全体の制御をつかさどる制御部であり、磁気ディスク装置200からの読み出しデータをキャッシュメモリ部102にキャッシュするとともに、ホストコンピュータから磁気ディスク装置200への書き込みデータをキャッシュメモリ部102にキャッシュする。
制御部101は、実施例に関係する構成として、プリフェッチ制御部101aと、キャッシュメモリ状態監視部101bとをさらに有する。プリフェッチ制御部101aは、磁気ディスク装置200からの読み出しデータのシーケンシャル性を判定し、シーケンシャル性があると判定される場合は、該読み出しデータをプリフェッチしてキャッシュメモリ部102にキャッシュする。
さらに、プリフェッチ制御部101aは、読み出しデータがシーケンシャル性を有する場合に、記憶部103に記憶される各種条件(キャッシュメモリ残容量、キャッシュヒット率、lun単位キャッシュヒット率など)に応じてプリフェッチ量を制御する。実施例では、制御されるプリフェッチ量は、プリフェッチされるデータの数を指すものとするが、これに限らず、1回にプリフェッチされるデータ長であってもよい。
キャッシュメモリ状態監視部101bは、キャッシュメモリ部102の残容量、キャッシュメモリのヒット率を監視する。また、lun単位にキャッシュメモリのヒット率を常時監視する。これら監視結果を記憶部103の所定領域に記憶する。
キャッシュメモリ部102は、高速で読み書き可能なRAM(Random Access Memory)であり、図示しないホストコンピュータから磁気ディスク装置200への書き込みデータおよび磁気ディスク装置200からの読み出しデータを一時記憶(キャッシュ)する。なお、キャッシュメモリ部102に一時記憶されるデータは、LRU(Least Recently Used)のアルゴリズムにより古いデータをパージする(追い出す)。
記憶部103は、揮発性または不揮発性の記憶手段であって、キャッシュメモリ状態103aと、lun単位キャッシュヒット率103bとを記憶する。キャッシュメモリ状態103aは、キャッシュメモリ部102の残容量およびキャッシュヒット率の最新値とその閾値とを、例えばテーブル形式で記憶する。また、lun単位キャッシュヒット率103bは、キャッシュメモリ部102におけるlun単位のキャッシュヒット率を例えばテーブル形式で記憶する。
キャッシュメモリ状態103aのテーブルの例は、例えば図3に示すように、“キャッシュメモリ状態項目”、“最新値”、“閾値”のカラムを有する。“キャッシュメモリ状態項目”には、“キャッシュメモリ残容量”と、“キャッシュヒット率”とがある。“キャッシュメモリ残容量”は、キャッシュメモリの全体容量に対する残りの空き容量の比率で表される。“キャッシュヒット率”は、図示しないホストコンピュータから磁気ディスク装置200へのすべての入出力要求に対して、対象とする入出力データがキャッシュメモリ部102に存在した確率で表される。“最新値”は、キャッシュメモリ状態監視部101bによる最新の監視結果であり、監視ごとに常時更新される“キャッシュメモリ残容量”および“キャッシュヒット率”である。また、“閾値”は、“キャッシュメモリ残容量”および“キャッシュヒット率”の多寡または高低を判定するための基準値であり、外部から任意に設定可能である。
lun単位キャッシュヒット率103bのテーブルの例は、例えば図4に示すように、“lun番号”、“キャッシュヒット率最新値”、“閾値”のカラムを有する。“lun番号”は、磁気ディスク装置200の装置番号である。“キャッシュヒット率最新値”は、図示しないホストコンピュータから磁気ディスク装置200へのすべての入出力要求に対して、対象とする入出力データがキャッシュメモリ部102に存在した確率をlun単位で表す。この確率は、キャッシュメモリ状態監視部101bによる最新の監視結果であり、監視ごとに常時更新される。また、“閾値”は、“キャッシュヒット率最新値”の高低を判定するための基準値であり、外部から任意に設定可能である。
なお、上述の比率で表されるとした“キャッシュメモリ残容量”、“キャッシュヒット率”の“最新値”および“閾値”、lun単位の“キャッシュヒット率最新値”および“閾値”は、実容量(例えばbyte単位)で表されるとしてもよい。
次に、シーケンシャル性の検出とプリフェッチ動作について説明する。図5は、シーケンシャル性の検出とプリフェッチ動作を説明するための図である。なお、図5では、磁気ディスク装置200からのデータ読み出しの単位を、512byteのデータに8byteのチェックコードが付加されたLBA(Logical Block Addressing)とし、これを1回のプリフェッチサイズとしている。
同図に示すように、ホストコンピュータからの1回目の読み出し要求(以下、ホストIO(ホストInput Output)と呼ぶ)に応じて1個目のLBAが磁気ディスク装置200から読み出され、キャッシュメモリ部102へキャッシュされる。次に、2回目および3回目のホストIOに応じて2個目および3個目のLBAが磁気ディスク装置200から順次読み出され、キャッシュメモリ部102へキャッシュされる。
ここで、1個目〜3個目のLBAがシーケンシャルデータであった場合に、これら1回目〜3回目のホストIOはシーケンシャル性があると判定され、このシーケンシャル性検出に応じて、以後8個のLBAをプリフェッチすることとなる。
このように、カウントされた一定個のLBAがシーケンシャルデータであった場合には、以降のホストIOによる読み出し対象のLBAも、さらに続くシーケンシャルデータである可能性が高いことから、このように所定個のシーケンシャルなLBAを先読み(プリフェッチ)してキャッシュメモリ部102に読み出しでおくと、キャッシュヒット率の向上を図ることができる。
次に、プリフェッチ動作について説明する。図6は、プリフェッチ動作を説明するための図である。同図に示すように、連続したLBAに関するホストIOに対しては、図5で示したように、例えば連続したLBAに関するホストIOが3回連続した場合に、8個のLBAをプリフェッチする。このように、連続したLBAに関するホストIOが3回連続するごとに8個のLBAをプリフェッチしていくが、不連続なLBAのホストIOに対しては、シーケンシャル性のあるLBAのカウントを初期化する。このようにして、キャッシュヒット率の向上を図る。
しかし、図5および図6に示したように、カウントされた一定個のLBAがシーケンシャルデータであった場合に、キャッシュメモリ部102の有限な容量を考慮せずに、所定個のシーケンシャルなLBAをプリフェッチしてキャッシュメモリ部102に読み出すと、キャッシュヒット率が低い場合には、キャッシュメモリの容量を圧迫するというおそれがあった。しかし、本実施例で示される方法によって、キャッシュメモリの残容量およびキャッシュヒット率などに応じて、プリフェッチサイズおよびプリフェッチ量を変化させると、プリフェッチによってキャッシュメモリの容量が圧迫されるというおそれを低減することができる。
次に、プリフェッチ量制御処理について説明する。図7は、プリフェッチ量制御処理手順を示すフローチャートである。なお、プリフェッチ量制御処理の前提として、後述の「最大プリフェッチ量」、「キャッシュメモリ残容量の閾値」、「キャッシュヒット率の閾値」、「lun単位のキャッシュヒット率の閾値」が予め設定されているとする。同図に示すように、先ず、プリフェッチ制御部101aは、ホストコンピュータからホストIOを受領する(ステップS101)。続いて、プリフェッチ制御部101aは、ステップS101で受領したホストIOに基づいて磁気ディスク装置200から読み出したLBAのシーケンシャル性を解析する(ステップS102)。
続いて、プリフェッチ制御部101aは、ステップS102で解析された磁気ディスク装置200から読み出したLBAがシーケンシャル性を有するか否かを判定する(ステップS103)。すなわち、先行するホストIOのLBAと比較し、連続性があればシーケンシャルアクセスと判定する。磁気ディスク装置200から読み出したLBAがシーケンシャル性を有すると判定される場合(ステップS103肯定)にステップS104へ移り、磁気ディスク装置200から読み出したLBAがシーケンシャル性を有すると判定されない場合(ステップS103否定)は、本プリフェッチ量制御処理を終了する。
ステップS104では、プリフェッチ制御部101aは、キャッシュメモリ状態103aのキャッシュメモリ残容量が閾値を超えたか否かを判定する。キャッシュメモリ残容量が閾値を超えたと判定される場合(ステップS104肯定)にステップS105へ移り、キャッシュメモリ残容量が閾値を超えたと判定されない場合(ステップS104否定)にステップS112へ移る。
ステップS105では、プリフェッチ制御部101aは、キャッシュメモリ状態103aのキャッシュヒット率が閾値を超えたか否かを判定する。キャッシュヒット率が閾値を超えたと判定される場合(ステップS105肯定)にステップS106へ移り、キャッシュヒット率が閾値を超えたと判定されない場合(ステップS105否定)にステップS112へ移る。
ステップS106では、プリフェッチ制御部101aは、lun単位キャッシュヒット率103bのlun単位のキャッシュヒット率がそれぞれの閾値を超えたか否かを判定する。lun単位のキャッシュヒット率がそれぞれの閾値を超えたと判定される場合(ステップS106肯定)にステップS107へ移り、lun単位のキャッシュヒット率がそれぞれの閾値を超えたと判定されない場合(ステップS106否定)にステップS112へ移る。
ステップS107では、プリフェッチ制御部101aは、1つのLBAをプリフェッチする。続いて、所定の記憶領域に記憶されるカウンタ変数である「プリフェッチ量」に“1”を加算する(ステップS108)。
続いて、プリフェッチ制御部101aは、カウンタ変数である「プリフェッチ量」が、所定の記憶領域に記憶されるカウンタ変数である「最大プリフェッチ量」を下回るか否かを判定する(ステップS109)。ここで、「最大プリフェッチ量」とは、「プリフェッチ量」がステップS108で1ずつ加算されていくが、この加算の限界を示す。「プリフェッチ量」が「最大プリフェッチ量」を下回ると判定される場合(ステップS109肯定)にステップS104へ移り、「プリフェッチ量」が「最大プリフェッチ量」を下回ると判定されない場合(ステップS109否定)にステップS110へ移る。
ステップS110では、プリフェッチ制御部101aは、「最大プリフェッチ量」が例えば“8”を下回るか否かを判定する。なお、この“8”という数値に限定されるものではなく、記憶装置システムの性能規定する数値として適宜設定変更可能である。「最大プリフェッチ量」が例えば“8”を下回ると判定される場合(ステップS110肯定)にステップS111へ移り、「最大プリフェッチ量」が例えば“8”を下回ると判定されない場合(ステップS110否定)には、本プリフェッチ量制御処理は終了する。そして、ステップS111で、プリフェッチ制御部101aは、「最大プリフェッチ量」に“1”を加算する。一方、ステップS112では、プリフェッチ制御部101aは、「最大プリフェッチ量」から“1”を減算する。
以上、本発明の実施例を説明したが、本発明は、これに限られるものではなく、特許請求の範囲に記載した技術的思想の範囲内で、更に種々の異なる実施例で実施されてもよいものである。また、実施例に記載した効果は、これに限定されるものではない。
上記実施例では、プリフェッチ制御装置は、RAIDコントローラの制御回路とした。しかし、これに限らず、プリフェッチ制御装置は、RAIDコントローラ自体であってもよい。
上記実施例では、記憶システムをRAIDとして説明したが、RAIDに限られるものではなく、単体の磁気ディスク装置を使用する場合であってもよい。また、磁気ディスク装置は、コンピュータ装置に外部接続されるものであっても、コンピュータ装置に内蔵されるものであってもいずれであってもよい。磁気ディスク装置がコンピュータ装置に内蔵されるものである場合は、プリフェッチ制御装置も当然コンピュータ装置に内蔵される。あるいは、プリフェッチ制御装置がコンピュータ装置の制御装置で実現され、キャッシュメモリは、コンピュータ装置の内部記憶メモリであってもよい。
また、上記実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記実施例で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPU(Central Processing Unit)(またはMPU(Micro Processing Unit)、MCU(Micro Controller Unit)などのマイクロ・コンピュータ)および当該CPU(またはMPU、MCUなどのマイクロ・コンピュータ)にて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現されてもよい。
(付記1)記憶装置とコンピュータ装置との間で送受されるデータをキャッシュして該記憶装置からの読み出しデータの読み出し効率を向上させるキャッシュメモリへの該読み出しデータのプリフェッチを制御するプリフェッチ制御装置であって、
前記記憶装置から前記コンピュータ装置へと読み出される読み出しデータがシーケンシャルアクセスデータであるか否かを判定するシーケンシャル判定部と、
前記シーケンシャル判定部によって前記読み出しデータがシーケンシャルアクセスデータであると判定された場合に所定条件に基づいて該読み出しデータのプリフェッチ量を決定するプリフェッチ量決定部と、
前記プリフェッチ量決定部によって決定されたプリフェッチ量だけ前記読み出しデータのプリフェッチをおこなうプリフェッチ部と
を有することを特徴とするプリフェッチ制御装置。
(付記2)前記プリフェッチ量決定部は、前記キャッシュメモリの空き容量が所定閾値を下回った場合に前記プリフェッチ量を減少させ、前記キャッシュメモリの空き容量が所定閾値を下回っていない場合に前記プリフェッチ量を増加させることを特徴とする付記1に記載のプリフェッチ制御装置。
(付記3)前記プリフェッチ量決定部は、前記キャッシュメモリのヒット率が所定閾値を下回った場合に前記プリフェッチ量を減少させ、前記キャッシュメモリのヒット率が所定閾値を下回っていない場合に前記プリフェッチ量を増加させることを特徴とする付記1または2に記載のプリフェッチ制御装置。
(付記4)前記記憶装置は、複数の記憶装置を含み、
前記プリフェッチ量決定部は、前記複数の記憶装置ごとの前記キャッシュメモリのヒット率が所定閾値を下回った場合に該複数の記憶装置ごとの前記プリフェッチ量を減少させ、前記複数の記憶装置ごとの前記キャッシュメモリのヒット率が所定閾値を下回っていない場合に該複数の記憶装置ごとの前記プリフェッチ量を増加させることを特徴とする付記1、2または3に記載のプリフェッチ制御装置。
(付記5)前記プリフェッチ部は、前記プリフェッチ量決定部によって決定されたプリフェッチ量が0となった場合にはプリフェッチを停止し、前記プリフェッチ量決定部によって決定されたプリフェッチ量が0でなくなった場合にはプリフェッチを開始することを特徴とする付記1〜4のいずれか一つに記載のプリフェッチ制御装置。
(付記6)記憶装置とコンピュータ装置との間で送受されるデータをキャッシュして該記憶装置からの読み出しデータの読み出し効率を向上させるキャッシュメモリへの該読み出しデータのプリフェッチを制御するプリフェッチ制御装置とを有する記憶装置システムであって、
前記記憶装置から前記コンピュータ装置へと読み出される読み出しデータがシーケンシャルアクセスデータであるか否かを判定するシーケンシャル判定部と、
前記シーケンシャル判定部によって前記読み出しデータがシーケンシャルアクセスデータであると判定された場合に所定条件に基づいて該読み出しデータのプリフェッチ量を決定するプリフェッチ量決定部と、
前記プリフェッチ量決定部によって決定されたプリフェッチ量だけ前記読み出しデータのプリフェッチをおこなうプリフェッチ部と
を有することを特徴とする記憶装置システム。
(付記7)前記プリフェッチ量決定部は、前記キャッシュメモリの空き容量が所定閾値を下回った場合に前記プリフェッチ量を減少させ、前記キャッシュメモリの空き容量が所定閾値を下回っていない場合に前記プリフェッチ量を増加させることを特徴とする付記6に記載の記憶装置システム。
(付記8)前記プリフェッチ量決定部は、前記キャッシュメモリのヒット率が所定閾値を下回った場合に前記プリフェッチ量を減少させ、前記キャッシュメモリのヒット率が所定閾値を下回っていない場合に前記プリフェッチ量を増加させることを特徴とする付記6または7に記載の記憶装置システム。
(付記9)前記記憶装置は、複数の記憶装置を含み、
前記プリフェッチ量決定部は、前記複数の記憶装置ごとの前記キャッシュメモリのヒット率が所定閾値を下回った場合に該複数の記憶装置ごとの前記プリフェッチ量を減少させ、前記複数の記憶装置ごとの前記キャッシュメモリのヒット率が所定閾値を下回っていない場合に該複数の記憶装置ごとの前記プリフェッチ量を増加させることを特徴とする付記6、7または8に記載の記憶装置システム。
(付記10)記憶装置とコンピュータ装置との間で送受されるデータをキャッシュして該記憶装置からの読み出しデータの読み出し効率を向上させるキャッシュメモリへの該読み出しデータのプリフェッチを制御するプリフェッチ制御方法であって、
前記記憶装置から前記コンピュータ装置へと読み出される読み出しデータがシーケンシャルアクセスデータであるか否かを判定するシーケンシャル判定工程と、
前記シーケンシャル判定工程によって前記読み出しデータがシーケンシャルアクセスデータであると判定された場合に所定条件に基づいて該読み出しデータのプリフェッチ量を決定するプリフェッチ量決定工程と、
前記プリフェッチ量決定工程によって決定されたプリフェッチ量だけ前記読み出しデータのプリフェッチをおこなうプリフェッチ工程と
を含んだことを特徴とするプリフェッチ制御方法。
本発明は、記憶装置とコンピュータ装置との間で送受されるデータをキャッシュするキャッシュメモリが、該記憶装置からの読み出しデータのプリフェッチによって枯渇してしまうことを回避したい場合に有用である。
実施例の概要および特徴を説明するための図である。 実施例にかかるRAID制御装置の構成を示す機能ブロック図である。 キャッシュメモリ状態テーブルの例を示す図である。 lun単位キャッシュヒット率テーブルの例を示す図である。 シーケンシャル性の検出とプリフェッチ動作を説明するための図である。 プリフェッチ動作を説明するための図である。 プリフェッチ量制御処理手順を示すフローチャートである。
符号の説明
100 RAID制御装置
101 制御部
101a プリフェッチ制御部
101b キャッシュメモリ状態監視部
102 キャッシュメモリ部
103 記憶部
103a キャッシュメモリ状態
103b lun単位キャッシュヒット率
104 磁気ディスク装置インターフェース部
105 ホストインターフェース部
200、200a1、・・・、200an 磁気ディスク装置

Claims (8)

  1. 記憶装置とコンピュータ装置との間で送受されるデータをキャッシュして該記憶装置からの読み出しデータの読み出し効率を向上させるキャッシュメモリへの該読み出しデータのプリフェッチを制御するプリフェッチ制御装置であって、
    前記記憶装置から前記コンピュータ装置へと読み出される読み出しデータがシーケンシャルアクセスデータであるか否かを判定するシーケンシャル判定部と、
    前記シーケンシャル判定部によって前記読み出しデータがシーケンシャルアクセスデータであると判定された場合に所定条件に基づいて該読み出しデータのプリフェッチ量を決定するプリフェッチ量決定部と、
    前記プリフェッチ量決定部によって決定されたプリフェッチ量だけ前記読み出しデータのプリフェッチをおこなうプリフェッチ部と
    を有することを特徴とするプリフェッチ制御装置。
  2. 前記プリフェッチ量決定部は、前記キャッシュメモリの空き容量が所定閾値を下回った場合に前記プリフェッチ量を減少させ、前記キャッシュメモリの空き容量が所定閾値を下回っていない場合に前記プリフェッチ量を増加させることを特徴とする請求項1に記載のプリフェッチ制御装置。
  3. 前記プリフェッチ量決定部は、前記キャッシュメモリのヒット率が所定閾値を下回った場合に前記プリフェッチ量を減少させ、前記キャッシュメモリのヒット率が所定閾値を下回っていない場合に前記プリフェッチ量を増加させることを特徴とする請求項1または2に記載のプリフェッチ制御装置。
  4. 前記記憶装置は、複数の記憶装置を含み、
    前記プリフェッチ量決定部は、前記複数の記憶装置ごとの前記キャッシュメモリのヒット率が所定閾値を下回った場合に該複数の記憶装置ごとの前記プリフェッチ量を減少させ、前記複数の記憶装置ごとの前記キャッシュメモリのヒット率が所定閾値を下回っていない場合に該複数の記憶装置ごとの前記プリフェッチ量を増加させることを特徴とする請求項1、2または3に記載のプリフェッチ制御装置。
  5. 前記プリフェッチ部は、前記プリフェッチ量決定部によって決定されたプリフェッチ量が0となった場合にはプリフェッチを停止し、前記プリフェッチ量決定部によって決定されたプリフェッチ量が0でなくなった場合にはプリフェッチを開始することを特徴とする請求項1〜4のいずれか一つに記載のプリフェッチ制御装置。
  6. 記憶装置とコンピュータ装置との間で送受されるデータをキャッシュして該記憶装置からの読み出しデータの読み出し効率を向上させるキャッシュメモリへの該読み出しデータのプリフェッチを制御するプリフェッチ制御装置とを有する記憶装置システムであって、
    前記記憶装置から前記コンピュータ装置へと読み出される読み出しデータがシーケンシャルアクセスデータであるか否かを判定するシーケンシャル判定部と、
    前記シーケンシャル判定部によって前記読み出しデータがシーケンシャルアクセスデータであると判定された場合に所定条件に基づいて該読み出しデータのプリフェッチ量を決定するプリフェッチ量決定部と、
    前記プリフェッチ量決定部によって決定されたプリフェッチ量だけ前記読み出しデータのプリフェッチをおこなうプリフェッチ部と
    を有することを特徴とする記憶装置システム。
  7. 前記プリフェッチ量決定部は、前記キャッシュメモリの空き容量が所定閾値を下回った場合に前記プリフェッチ量を減少させ、前記キャッシュメモリの空き容量が所定閾値を下回っていない場合に前記プリフェッチ量を増加させることを特徴とする請求項6に記載の記憶装置システム。
  8. 記憶装置とコンピュータ装置との間で送受されるデータをキャッシュして該記憶装置からの読み出しデータの読み出し効率を向上させるキャッシュメモリへの該読み出しデータのプリフェッチを制御するプリフェッチ制御方法であって、
    前記記憶装置から前記コンピュータ装置へと読み出される読み出しデータがシーケンシャルアクセスデータであるか否かを判定するシーケンシャル判定工程と、
    前記シーケンシャル判定工程によって前記読み出しデータがシーケンシャルアクセスデータであると判定された場合に所定条件に基づいて該読み出しデータのプリフェッチ量を決定するプリフェッチ量決定工程と、
    前記プリフェッチ量決定工程によって決定されたプリフェッチ量だけ前記読み出しデータのプリフェッチをおこなうプリフェッチ工程と
    を含んだことを特徴とするプリフェッチ制御方法。
JP2007064025A 2007-03-13 2007-03-13 プリフェッチ制御装置、記憶装置システムおよびプリフェッチ制御方法 Pending JP2008225914A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007064025A JP2008225914A (ja) 2007-03-13 2007-03-13 プリフェッチ制御装置、記憶装置システムおよびプリフェッチ制御方法
US12/046,090 US20080229027A1 (en) 2007-03-13 2008-03-11 Prefetch control device, storage device system, and prefetch control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007064025A JP2008225914A (ja) 2007-03-13 2007-03-13 プリフェッチ制御装置、記憶装置システムおよびプリフェッチ制御方法

Publications (1)

Publication Number Publication Date
JP2008225914A true JP2008225914A (ja) 2008-09-25

Family

ID=39763837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007064025A Pending JP2008225914A (ja) 2007-03-13 2007-03-13 プリフェッチ制御装置、記憶装置システムおよびプリフェッチ制御方法

Country Status (2)

Country Link
US (1) US20080229027A1 (ja)
JP (1) JP2008225914A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014038511A (ja) * 2012-08-17 2014-02-27 Fujitsu Ltd 情報処理装置、情報処理方法、及び情報処理プログラム
JP2015069353A (ja) * 2013-09-27 2015-04-13 富士通株式会社 ストレージ装置,ステージング制御方法及びステージング制御プログラム
JP2015069405A (ja) * 2013-09-30 2015-04-13 日本電気株式会社 ディスク装置、ディスク装置における先読み制御方法およびプログラム
US9213498B2 (en) 2013-09-03 2015-12-15 Kabushiki Kaisha Toshiba Memory system and controller
JP2017117145A (ja) * 2015-12-24 2017-06-29 ルネサスエレクトロニクス株式会社 半導体装置、データ処理システム及び半導体装置の制御方法
KR101833416B1 (ko) * 2011-04-27 2018-04-13 시게이트 테크놀로지 엘엘씨 데이터 리드 방법 및 이를 적용한 저장 장치

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429351B1 (en) * 2008-03-28 2013-04-23 Emc Corporation Techniques for determining an amount of data to prefetch
US8239482B2 (en) * 2008-11-13 2012-08-07 At&T Intellectual Property I, Lp System and method for selectively caching hot content in a content delivery system
WO2010116735A1 (ja) * 2009-04-10 2010-10-14 パナソニック株式会社 キャッシュメモリ装置、キャッシュメモリ制御方法、プログラムおよび集積回路
US8291171B2 (en) * 2009-11-30 2012-10-16 Hewlett-Packard Development Company, L.P. Altering prefetch depth based on ready data
US20160034023A1 (en) * 2014-07-31 2016-02-04 Advanced Micro Devices, Inc. Dynamic cache prefetching based on power gating and prefetching policies
US20170116127A1 (en) * 2015-10-22 2017-04-27 Vormetric, Inc. File system adaptive read ahead
US9830097B2 (en) * 2016-02-12 2017-11-28 Netapp, Inc. Application-specific chunk-aligned prefetch for sequential workloads
US10204175B2 (en) 2016-05-18 2019-02-12 International Business Machines Corporation Dynamic memory tuning for in-memory data analytic platforms
US10467152B2 (en) * 2016-05-18 2019-11-05 International Business Machines Corporation Dynamic cache management for in-memory data analytic platforms
CN106569961B (zh) * 2016-10-31 2023-09-05 珠海市一微半导体有限公司 一种基于访存地址连续性的cache模块及其访存方法
US11520703B2 (en) * 2019-01-31 2022-12-06 EMC IP Holding Company LLC Adaptive look-ahead configuration for prefetching data in input/output operations
US10871902B2 (en) 2019-04-29 2020-12-22 EMC IP Holding Company LLC Adaptive look-ahead configuration for prefetching data in input/output operations based on request size and frequency
US10977177B2 (en) * 2019-07-11 2021-04-13 EMC IP Holding Company LLC Determining pre-fetching per storage unit on a storage system
CN112445417B (zh) * 2019-09-05 2023-02-28 群联电子股份有限公司 存储器控制方法、存储器存储装置及存储器控制电路单元
US20210019069A1 (en) * 2019-10-21 2021-01-21 Intel Corporation Memory and storage pool interfaces
US11182321B2 (en) * 2019-11-01 2021-11-23 EMC IP Holding Company LLC Sequentiality characterization of input/output workloads
CN114691024A (zh) * 2020-12-31 2022-07-01 华为技术有限公司 数据预取的方法、装置和设备
US20240028512A1 (en) * 2022-07-25 2024-01-25 Samsung Electronics Co., Ltd. Adaptive cache indexing for a storage device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5958040A (en) * 1997-05-28 1999-09-28 Digital Equipment Corporation Adaptive stream buffers
US6868439B2 (en) * 2002-04-04 2005-03-15 Hewlett-Packard Development Company, L.P. System and method for supervising use of shared storage by multiple caching servers physically connected through a switching router to said shared storage via a robust high speed connection

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101833416B1 (ko) * 2011-04-27 2018-04-13 시게이트 테크놀로지 엘엘씨 데이터 리드 방법 및 이를 적용한 저장 장치
JP2014038511A (ja) * 2012-08-17 2014-02-27 Fujitsu Ltd 情報処理装置、情報処理方法、及び情報処理プログラム
US9213498B2 (en) 2013-09-03 2015-12-15 Kabushiki Kaisha Toshiba Memory system and controller
JP2015069353A (ja) * 2013-09-27 2015-04-13 富士通株式会社 ストレージ装置,ステージング制御方法及びステージング制御プログラム
JP2015069405A (ja) * 2013-09-30 2015-04-13 日本電気株式会社 ディスク装置、ディスク装置における先読み制御方法およびプログラム
JP2017117145A (ja) * 2015-12-24 2017-06-29 ルネサスエレクトロニクス株式会社 半導体装置、データ処理システム及び半導体装置の制御方法
US10229063B2 (en) 2015-12-24 2019-03-12 Renesas Electronics Corporation Semiconductor device, data processing system, and semiconductor device control method

Also Published As

Publication number Publication date
US20080229027A1 (en) 2008-09-18

Similar Documents

Publication Publication Date Title
JP2008225914A (ja) プリフェッチ制御装置、記憶装置システムおよびプリフェッチ制御方法
JP2008225915A (ja) プリフェッチ制御装置、記憶装置システムおよびプリフェッチ制御方法
US10482032B2 (en) Selective space reclamation of data storage memory employing heat and relocation metrics
US10152423B2 (en) Selective population of secondary cache employing heat metrics
US8972662B2 (en) Dynamically adjusted threshold for population of secondary cache
US9858197B2 (en) Cache management apparatus of hybrid cache-based memory system and the hybrid cache-based memory system
US8095738B2 (en) Differential caching mechanism based on media I/O speed
JP4435831B2 (ja) ストレージエリアネットワークレベルにおける代替キャッシュ方式の提供
US8719494B2 (en) Management of partial data segments in dual cache systems
WO2012090239A1 (en) Storage system and management method of control information therein
US20090204765A1 (en) Data block frequency map dependent caching
US9591096B2 (en) Computer system, cache control method, and server
US8060707B2 (en) Minimization of read response time
JP2013511081A (ja) デバイス・アダプタを介して、データをキャッシュから複数のストレージ・デバイスの各々にデステージするための方法、システム及びコンピュータ・プログラム
US20170185520A1 (en) Information processing apparatus and cache control method
US20050108473A1 (en) Storage device adapter equipped with integrated cache
WO2003034230A1 (en) Mass storage caching processes for power reduction
US20120047330A1 (en) I/o efficiency of persistent caches in a storage system
US20200073823A1 (en) Data cache performance
JP6919277B2 (ja) ストレージシステム、ストレージ管理装置、ストレージ管理方法、及びプログラム
US8364893B2 (en) RAID apparatus, controller of RAID apparatus and write-back control method of the RAID apparatus
JP6928247B2 (ja) ストレージ制御装置およびストレージ制御プログラム
US9952969B1 (en) Managing data storage
KR20120044717A (ko) 패리티 캐시를 이용한 raid 레벨 5의 고속화를 위한 raid 제어 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090526

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090727

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090901