JP2008027316A - ディスクアレイ装置、ディスクアレイ装置におけるデータ読み出し方法及びデータ読み出しプログラム - Google Patents

ディスクアレイ装置、ディスクアレイ装置におけるデータ読み出し方法及びデータ読み出しプログラム Download PDF

Info

Publication number
JP2008027316A
JP2008027316A JP2006201346A JP2006201346A JP2008027316A JP 2008027316 A JP2008027316 A JP 2008027316A JP 2006201346 A JP2006201346 A JP 2006201346A JP 2006201346 A JP2006201346 A JP 2006201346A JP 2008027316 A JP2008027316 A JP 2008027316A
Authority
JP
Japan
Prior art keywords
data
input
request
cache
cache memory
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
JP2006201346A
Other languages
English (en)
Inventor
Eijin Ushijima
英尋 牛島
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2006201346A priority Critical patent/JP2008027316A/ja
Publication of JP2008027316A publication Critical patent/JP2008027316A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【目的】 ホスト装置に対する接続ポートが複数あるようなディスクアレイ装置において、I/Oを複数ポートに分割して要求されてもスループットの向上を図ることができ、キャッシュの使用効率を向上させることができるディスクアレイ装置の実現を目的とする。
【構成】 I/O処理部113は、アクセスするデータが自系キャッシュメモリ112に保管されているかどうかを検索する自系キャシュサーチ機能と、他系キャッシュメモリ114に保管されているかどうかをデータパス124を介して検索する他系キャシュサーチ機能と、検索したデータを読み出すデータ読出し機能とを備えることを特徴とする。
【選択図】 図1

Description

本発明は、ディスクアレイ装置、ディスクアレイ装置におけるデータ読み出し方法およびそのプログラムに関し、特にスループットの向上を図ったディスクアレイ装置、ディスクアレイ装置におけるデータ読み出し方法およびそのプログラムに関する。
ディスク装置を複数備え、複数のコントローラで共有することによって、コントローラの不具合に対して信頼性を向上させるとともに、並列動作や後述するような先読みによってデータの記録再生処理を高速化するディスクアレイ装置が知られている。
従来のディスクアレイ装置の一例のブロック図を図5に示す。
図5のディスクアレイ装置は、コントローラ(0)225とコントローラ(1)226と、ディスク群(A)222とディスク群(B)223とから構成される。
コントローラ(0)225とコントローラ(1)226とは、ホスト装置200、205からの入出力要求を受信あるいは送信するためのポート(A)/(B)203、204、208、209と、ポート(A)/(B)203、204、208、209あるいは入出力(以後入出力をI/Oで表す)処理部213、215からのI/Oデータを制御する転送制御部210、211と、I/Oデータをキャッシュメモリ212、214に一時的に保管するための処理をおこなうI/O処理部213、215と、一時的にメモリ上にホスト装置の入出力データを保管するキャッシュメモリ212、214とを備えている。
さらに、磁気ディスク群222、223からの入出力データを受信あるいは送信するためのポート(C)/(D)218、219、220、221と、ポート(C)/(D)218、219、220、221あるいはI/O処理部213、215からの入出力データを制御する転送制御部216、217とを備えて構成される。
また、コントローラ(0)225、コントローラ(1)226間には、相互にキャッシュメモリ212、214へのアクセスを可能にするデータパス224が設けられている。
ここで、磁気ディスクの連続したメモリ空間に、順次アクセスするI/OパターンをシーケンシャルI/Oと呼ぶ。また、これに対し磁気ディスクの不連続なメモリ空間に、無作為にアクセスするI/OパターンをランダムI/Oと呼ぶ。
図5のような従来のディスクアレイ装置において、コントローラ(0)225又はコントローラ(1)226が、ホスト装置200、205から要求される複数のI/O命令がシーケンシャルI/Oであると判断した場合、指定された範囲よりも、先のデータまで磁気ディスク群222、223からキャッシュメモリ212、214に先読みする方法がある。
この先読みにより、ホスト装置200、205から以降のI/O要求があった場合に、磁気ディスク群222、223へのアクセス頻度を少なくすることができ、これによりシーケンシャルI/Oがあったときに、その都度、磁気ディスクにアクセスする場合に比べ、スループットを多少改善することができた。
ここで、シーケンシャルI/Oの判定は次のように行われる。すなわち、前回のI/Oにおける終了アドレスを記憶しておき、その次のアドレスを開始番地とするI/Oを受け取った場合にシーケンシャルI/Oと判定する。
また、図5のような系において、ホスト装置200がランダムI/O要求を行うとき、ディスクアレイ装置に対する接続ポートがポート(0)201とポート(1)202と複数パスあることから、I/Oをこの2つのポートに分割して要求するときがある。これにより、ランダムI/O要求をコントローラ(0)225とコントローラ(1)226の独立した処理部で同時に処理されるため、ポート(0)201あるいはポート(1)202にのみI/O要求を行った場合に比べてデータ転送を幾分かは改善することができる。
しかしながら、図5のような系において、ホスト装置200がシーケンシャルI/O要求を行うとき、ディスクアレイ装置に対する接続ポートがポート(0)201とポート(1)202の複数パスあることから、I/Oをこの2つのポートに分割して要求するときがある。このときのI/Oリクエストパターンの例を図6に示す。
図6で、(a)はホスト装置200のリード要求、(b)は磁気ディスクのリードデータパターン、(c)はコントローラ(0)225のポート(A)203に現れるリード要求、(d)はコントローラ(1)226のポート(A)208に現れるリード要求、(e)は磁気ディスク内のメモリ空間のリードデータパターン、(f)はコントローラ(0)225のキャッシュメモリ212上のデータ、(g)コントローラ0(226)のキャッシュメモリ214上のデータを示す。
ホスト装置200からのシーケンシャルI/OリクエストR0、R1、R2、R3、R4、R5は、それぞれ磁気ディスク群の連続したメモリ空間D0、D1、D2、D3、D4、D5に対応するリクエストである。
図6では、ホスト装置200から順にポート(0)201にR0、ポート(1)202にR1、ポート(0)201にR2、ポート(1)202にR3、ポート(0)201にR4、ポート(1)202にR5とI/Oリクエストを要求している。
このとき、ホスト装置のポート0に接続されているディスクアレイ装置のコントローラ(0)225のポート(A)203は、R0のI/Oリクエストを受信し、I/O処理部213は自系のキャッシュメモリ212にデータD0が保管されているかどうかのキャッシュメモリの検索(以下、キャッシュメモリーの検索をキャッシュサーチと呼ぶ)を実行し、データD0が保管されていなければ、R0の終了メモリアドレスを記憶し、磁気ディスク群222、223に対しデータD0のリード要求をおこなう。
次に、要求されたI/OリクエストR2に対して、I/O処理部213は、自系のキャッシュメモリ212にキャッシュサーチを実行し、データD2が保管されていなければ、磁気ディスク群222、223に対しリード要求をおこなう。このときR2の開始メモリアドレスと、前回のI/OリクエストであるR0の最終メモリアドレスを比較し、不一致であるため、シーケンシャルI/Oとは判定されず、従って先読み処理は行われず、D2のみのリードが実行される。
同様に、ホスト装置200のポート(1)202に接続されているディスクアレイ装置のコントローラ(1)226のポート(A)208は、R1のI/Oリクエストを受信すると、I/O処理部215は自系のキャッシュメモリ214にキャッシュサーチを実行し、データD1が保管されていなければ、R1の終了メモリアドレスを記憶する。次に要求されたI/OリクエストR3に対して、I/O処理部215は自系のキャッシュメモリ214にキャッシュサーチを実行し、データD3が保管されていなければ、磁気ディスク群222、223に対しリード要求をおこなう。このときR3の開始メモリアドレスと、R1の終了メモリアドレスを比較し、不一致であるため、シーケンシャルI/Oとは判定されず、従って先読み処理は行われず、D3のみのリードを実行する。
以上に述べたように、この後コントローラ(0)225のポート(A)203(あるいはコントローラ1のポート(A)208)がR4(あるいはR5)のI/Oリクエストを受信しても、I/O処理部213(215)はキャッシュサーチを実行した結果、キャッシュメモリにリードデータD4(あるいはD5)が保管されていないため、磁気ディスク群222、223からリードデータD4(あるいはD5)の読み出しをおこなう。
更に、I/OリクエストR4(あるいはR5)の開始メモリアドレスと、前回のI/OリクエストR2(あるいはR3)の最終メモリアドレスを比較し、不一致であるため、シーケンシャルI/O判定されずに先読み処理はおこなわれない。
従って、コントローラ(0)225とコントローラ(1)226の独立した同時動作によって、多少のスループットを改善できるものの、ホスト装置からのシーケンシャルI/Oを検出することができないため先読み処理は実行されず、それ以上のスループットの向上を図ることはできない。
これに対し、特許文献1では、ニアシーケンシャルI/O検出をおこなうことにより、先読み処理をおこなうことを提案している。特許文献1では、シーケンシャルI/Oの途中が少し欠けるアクセスパターンをニアシーケンシャルI/Oと呼ぶことにしている。この方法により、ホスト装置からのシーケンシャルI/Oの複数パスへの分割転送に対し、ニアシーケンシャルI/O判定されるため、磁気ディスクからキャッシュメモリへ先読みを行うことができ、多少のスループット向上が見込める。
また、特許文献2では、2つのコントローラに共通の1つのキャシュメモリを用い、2つのコントローラから共通にアクセスできるようにして、ホスト装置からの指令が複数のコントローラに別々に送られても、データの連続性が確認でき、磁気ディスクからキャッシュメモリへの先読みを行うことができ、多少のスループット向上が見込める。
特開2000−76017号公報 特開2001−125753号公報
しかしながら、特許文献1の方法では、磁気ディスク群からキャッシュメモリへの先読みによって、図5のコントローラ0とコントローラ1のキャッシュメモリ内で同一のデータが保管されていることになるため、コントローラ0、コントローラ1のキャッシュデータが二重に消費される部分ができ、キャッシュの使用効率が悪化してしまうという問題がある。
また、特許文献2の方法では、2つのコントローラの共通のキャシュメモリへのアクセスが衝突する危険をさけるため、アクセス方法に工夫が必要になり、その分、アクセス方法が複雑になって処理時間がかかるという問題がある。
このように、ディスクアレイ装置に対する接続ポートが複数パスあるようなホスト装置において、I/Oを2つのポートに分割して要求する場合に、特許文献1の方法では、キャッシュメモリのキャッシュヒット率が下がるという問題があった。また、キャッシュの使用効率が悪化してしまうという問題もあった。ここでキャッシュヒット率とは、キャッシュメモリにキャッシュサーチを実行し、要求されたデータが保管されている場合の割合を指す。
また、特許文献2の方法では、キャッシュヒット率は向上するが、キャッシュメモリへのアクセス方法が複雑になって、その分アクセスに時間がかかり、必ずしもスループットの向上につながらないという問題があった。
本発明の目的は、かかる従来例の有する不都合を改善し、ディスクアレイ装置に対する接続ポートが複数パスあるようなホスト装置において、I/Oを複数ポートに分割して要求されてもスループットの向上を図ることができ、キャッシュメモリの使用効率を向上させることができるディスクアレイ装置およびこの装置でのデータ読み出し方法およびそのプログラムを提供することにある。
上記課題を解決するため、本発明にかかるディスクアレイ装置は、データを記憶する複数の磁気ディスクからなる磁気ディスク群と、データを一時的に記憶するキャシュメモリと、ホスト装置からの入出力要求に応じて、このキャシュメモリ又は外部の前記磁気ディスク群から必要なデータを読み出して出力する入出力処理部とをそれぞれが有する複数のコントローラと、このコントローラを相互に接続するデータパスとを備えたディスクアレイ装置において、前記入出力処理部は、前記磁気ディスク群よりも前記キャッシュメモリを優先的に読み出すキャシュメモリ優先機能と、アクセスするデータが自コントローラが所有するキャッシュメモリに保管されているかどうかを検索する自系キャシュサーチ機能と、アクセスするデータが他のコントローラが所有するキャッシュメモリに保管されているかどうかを前記データパスを介して検索する他系キャシュサーチ機能と、検索したデータを読み出すデータ読出し機能とを備えることを特徴とする(請求項1乃至7)。
これにより、自系のキャッシュメモリとともに、他系のキャシュメモリをも同様に検索することができるので、シーケンシャルI/Oを処理して、両キャッシュメモリにまたがってデータを先読みすることが可能になり、これによってスループットの向上を図ることが可能なディスクアレイ装置を実現することができる。
また、前記コントローラは、前記ホスト装置からの入出力要求の受信やホストに対する入出力データの送受信を行うための複数のホスト側ポートと、このホスト側ポート及び前記入出力処理部からの入出力データの転送を制御するホスト側転送制御部と、前記磁気ディスク群からの入出力データの送受信を行うための複数のディスク側ポートと、このディスク側ポート及び前記入出力処理部からの入出力データの転送を制御するディスク側転送制御部とを具備することを特徴とする(請求項2)。
これにより、ランダムI/Oを2つのコントローラで同時に処理することが可能になり、ランダムI/Oに対しても、スループットの向上を図ることが可能なディスクアレイ装置が得られる。
ここで、前記入出力処理部のキャシュメモリ優先機能では、前記入出力処理部のキャシュメモリ優先機能は、まず前記自系キャッシュメモリを優先的に読み出し、次に、前記磁気ディスク群よりも前に、前記他系キャッシュメモリを優先的に読み出すようにしたことを特徴とする(請求項3)。
また、前記入出力処理部の他系キャシュサーチ機能は、前記データパスを介して他の前記コントローラが所有するキャッシュメモリを直接検索するようにしたことを特徴とする(請求項4)。
また、前記入出力処理部の他系キャシュサーチ機能は、自コントローラの前記入出力処理部が、前記データパスを介して他の前記コントローラが所有する前記入出力処理部に対してキャシュサーチを指示するとともに、他の前記コントローラが所有する入出力処理部からのキャシュサーチの結果の報告を受け得るようにしたことを特徴とする(請求項5)。
これらにより、自系キャッシュメモリと他系キャッシュメモリとを、滞りなく容易に検索することが可能なディスクアレイ装置が実現できる。
ここで、前記入出力処理部が前記他系キャシュサーチ機能を実行するかしないかを切替える手動スイッチ手段を前記各コントローラに設けたことを特徴とする(請求項6)。
これにより、入出力要求の内容に応じて他系キャシュサーチ機能を実行するかしないかを選択することが可能なディスクアレイ装置を実現することができる。
また、前記入出力処理部は、前記ホスト装置からの入出力要求を一定期間記憶して、その連続性からその入出力要求がニアシーケンシャル入出力であるかどうかを判定するニアシーケンシャル判定機能を有し、ニアシーケンシャル入出力であると判定した場合には自動的に前記他系キャシュサーチ機能を実行することを特徴とする(請求項7)。
これにより、ニアシーケンシャル入出力を判定して自動的に他系キャシュサーチを行い、データを先読みすることが可能になり、スループットの向上が図れるディスクアレイ装置を実現することができる。
上記課題を解決するため、本発明にかかるディスクアレイ装置でのデータ読み出し方法は、ホスト装置に対して磁気ディスク群からのデータの読み出しを仲介する、相互にデータパスを介して接続された複数のコントローラにおけるデータ読み出し方法であって、前記ホスト装置からのデータ読み出し要求を受信する読み出し要求受信工程と、前記読み出し要求を分析して自コントローラが所有するキャッシュメモリから要求データを検索する自系キャッシュ検索工程と、前記自系キャッシュ検索工程で検索した結果、全ての要求データが揃わなかった場合には他の前記コントローラが所有するキャッシュメモリから残りの要求データを検索する他系キャッシュ検索工程と、前記自系キャッシュ検索工程と前記他系キャッシュ検索工程の検索結果をあわした結果、全ての要求データが揃わなかった場合に、前記磁気ディスク群より残りの要求データを検索する磁気ディスク群検索工程と、以上の各検索工程で得られた要求データをホスト装置に送信する要求データ送信工程とを備えていることを特徴とする(請求項8)。
これにより、自系のキャッシュメモリと他系のキャシュメモリとを同様に検索して、ニアシーケンシャルI/Oに対応して、両キャッシュメモリにまたがってデータを先読みすることが可能で、スループットの向上を図れるディスクアレイ装置のデータ読み出し方法を実現することができる。
上記課題を解決するため、本発明にかかるディスクアレイ装置でのデータ読み出し用のプログラムは、ホスト装置に対して磁気ディスク群からのデータの読み出しを仲介する、相互にデータパスを介して接続された複数のコントローラに設けられたコンピュータに実行させるデータ読み出しプログラムであって、ホスト装置からのデータ読み出し要求を受信する読み出し要求受信機能と、前記読み出し要求を分析して自コントローラが所有するキャッシュメモリから要求データを検索する自系キャッシュ検索機能と、前記自系キャッシュ検索機能で検索した結果、全ての要求データが揃わなかった場合には他の前記コントローラが所有するキャッシュメモリから残りの要求データを検索する他系キャッシュ検索機能と、前記自系キャッシュ検索機能と前記他系キャッシュ検索機能での検索結果をあわした結果、全ての要求データが揃わなかった場合に、磁気ディスク群より残りの要求データを検索する磁気ディスク群検索機能と、以上の各検索機能で得られた要求データをホスト装置に送信する要求データ送信機能とをコンピュータに実行させることを特徴とする(請求項9)。
これにより、自系のキャッシュメモリと他系のキャシュメモリとを同様に検索して、ニアシーケンシャルI/Oに対応して両キャッシュメモリにまたがってデータを先読みすることが可能で、スループットの向上を図れるディスクアレイ装置のデータ読み出し用のプログラムを実現することができる。
本発明は以上のように構成され機能するので、ホスト装置によるI/O要求が冗長化されて、複数の独立したコントローラに要求され、複数のコントローラ内のキャッシュメモリにデータが分散されて保管されていた場合でも、スループットの向上を図ることができ、キャッシュメモリの使用効率を向上させることができる。
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
図1に本発明のディスクアレイ装置の一実施の形態のブロック図を示す。
本実施の形態の構成は、基本的に先に図5で示した従来例のそれと同じである。
本実施の形態のディスクアレイ装置は、1対のコントローラ(0)125とコントローラ(1)126と複数の磁気ディスクからなるディスク群(A)122及びディスク群(B)123を備えて構成される。
各々のコントローラは、ホスト装置100、105からの入出力要求を、受信あるいは送信するためのポート(A)/(B)(ホスト側ポート)103、104、108、109と、ポート(A)/(B)103、104、108、109あるいはI/O処理部113、115からの入出力データを制御する転送制御部(A)(ホスト側転送制御部)110、111と、入出力データをキャッシュメモリに一時的に保管するための処理をおこなうI/O処理部113、115と、一時的にメモリ上にホスト装置100、105への入出力データを保管するキャッシュメモリ112、114とを備えている。
さらに、磁気ディスクからの入出力データを受信、あるいは送信するためのポート(C)/(D)(ディスク側ポート)118、119、120、121と、ポート(C)/(D)118、119、120、121あるいはI/O処理部113、115からの入出力データを制御する転送制御部(B)(ディスク側転送制御部)116、117とを備えて構成されている。
I/O処理部113、115は、キャッシュメモリ112、114をディスク群122、123よりも先に優先してサーチするキャッシュメモリ優先機能、自系のキャッシュメモリのサーチを実行する自系キャシュサーチ機能、他系のキャッシュメモリのサーチを実行する他系キャシュサーチ機能、及び読み出したデータを一旦自系のキャッシュメモリに記憶した後、読み出してホスト装置100、105に返却するデータ読み出し機能を有している。
また、コントローラ(0)125、コントローラ(1)126間は相互に相手のキャッシュメモリ112、114へのアクセス可能なパス(データパス)124を有する。
次に、図1のブロック図と図2のフローチャートを参照して、本実施の形態のデータ読み出し動作について詳細に説明する。
まず、ホスト装置(A)100のポート(0)101からコントローラ0のポート(A)103に対し、リードリクエストが要求される(ステップS101)。
コントローラ(0)125は転送制御部(A)110を介し、I/O処理部113でコマンド受信処理をおこなう(ステップS102:読み出し要求受信工程)。
コマンド受信処理後、I/O処理部113はリードリクエストに対応するデータが保管されているかどうかをまずキャッシュメモリをディスク群よりも優先して検索する。そのため、まず、自身のキャッシュメモリ112に対し、リードリクエストに対応するデータがこのキャッシュメモリ112内に保管されているかどうか、自系キャッシュサーチを実行する(ステップS103:自系キャッシュ検索工程・自系キャッシュサーチ機能)。
この自系キャッシュサーチの結果、自系キャッシュメモリ112に要求されたリードデータ全てが存在しているかどうかを判断し(ステップS104)、全てが存在しないときには、他系キャッシュサーチ実行すべきかどうかの判定をおこなう(ステップS105)。
この判定は、例えば、手動のスイッチ(手動スイッチ手段)の切替えにより判定しても良い。あるいは自動判定としても良い。自動判定の場合は、リードリクエストデータが、ニアシーケンシャルI/Oの場合に、他系キャッシュサーチを実行する(ステップS106:他系キャッシュ検索工程・他系キャッシュサーチ機能)。
他系キャッシュサーチに際しては、自系I/O処理部113がデータパス124を介して直接、他系キャッシュメモリ114を検索してもよいし、自系I/O処理部113がデータパス124を介して他系I/O処理部115に他系キャッシュメモリ114の検索を依頼し、他系I/O処理部115の自系キャシュサーチ機能によるキャッシュメモリ114の検索結果を、他系I/O処理部115から報告を受けるようにしてもよい。
なお、ステップS104で、自系キャッシュメモリ112に要求されたリードデータ全てが存在するときには、他系キャッシュサーチは実行せずにステップS110に移行する。
他系キャッシュサーチは、コントローラ(0)125とコントローラ(1)126を結ぶパス124を介しておこなわれる。他系キャッシュサーチ後に、自系および他系のキャッシュサーチ結果を統合し(ステップS107)、要求されたリードデータ全てが揃ったかどうかを判断する(ステップS108)。
全てが存在しないときには、I/O処理部113から転送制御部(B)116を介し、ポート(C)118あるいはポート(D)119を通して磁気ディスク群(A)122あるいは磁気ディスク群(B)123に対し、自系キャッシュメモリ112へのリード転送要求をおこなう(ステップS109:磁気ディスク群検索工程)。
ステップS108で、自系および他系のキャッシュサーチ結果を統合すると、リードデータ全てが存在するときにはステップS110に移行する。キャッシュメモリ112にリードデータ全てが格納されると、I/O処理部113はキャッシュメモリ112からホスト装置(A)100に対してリードデータを送信し(ステップS110:要求データ送信工程・データ読み出し機能)、受信処理を終了する(ステップS111)。
ここで更に本実施の形態の動作の細部を説明する。
まず、図2のフローチャートのステップS105の他系キャッシュサーチを実行するかどうかの判定を、手動設定によって選択可能にした場合を説明する。
ここで他系のキャッシュサーチを実行しないようにする設定を行うと、ホスト装置からのシーケンシャルI/O要求を2つのコントローラに分割して転送されるときに、先読みを行わないことになり、その分のスループットの低下がある。
ここで、ニアシーケンシャルI/O判定によって先読みをおこなっても、メモリの使用効率の低下が発生する。しかしながら、ホスト装置からのシーケンシャルI/O要求を2つのコントローラに分割して転送しない場合には、シーケンシャルI/O要求が片方のコントローラで処理されることにより、先読み処理が有効に働き、自系のキャッシュヒットによりスループットの向上が図れる。
次に、他系のキャッシュサーチを実行するように設定した場合を説明する。
図1に示す本実施の形態のディスクアレイ装置に対して、図3に示すようなリード要求をホスト装置(A)100から受けた場合を考える。
なお、図3において、(a)はホスト装置100からのリード要求、(b)は磁気ディスクのリードデータパターン、(c)はコントローラ(0)125のポート(A)103に現れるリード要求、(d)はコントローラ(1)126のポート(A)108に現れるリード要求、(e)は磁気ディスク内のメモリ空間のリードデータパターン、(f)はコントローラ(0)125のキャッシュメモリ112上のデータ、(g)コントローラ0(126)のキャッシュメモリ114上のデータを示す。
ここで、リード要求R0、R1は、それぞれ磁気ディスク群122、123内のリードデータD0、D1に対応し、ホスト装置(A)100は、ホスト装置(A)100のポート(0)101とポート(1)102にリード要求を分割している。
このとき、本実施の形態のディスクアレイ装置では、コントローラ(0)125のポート(A)103は、R0のI/O要求を受信し、コントローラ(1)126のポート(A)108では、次のR1のI/O要求を受信する。
受信したコントローラ(0)125では、I/O処理部113で、自系及び他系のキャッシュサーチを実行し、リードデータがキャッシュメモリ112および114に保管されていないため、磁気ディスク群122、123からリードデータD0を読み出して、キャッシュメモリ112に保管し、ホスト装置(A)100に対してリプライデータD0を送信する。
同様に、コントローラ(1)126でも磁気ディスク群122、123からリードデータD1を読み出して、キャッシュメモリ114に保管し、ホスト装置(A)100に対してリプライデータD1を送信する。
その後に、再度ホスト装置(A)100からリード要求R1に対し、コントローラ(0)125のポート(A)103はR1のI/O要求を受信し、I/O処理部113で自系キャッシュサーチと他系キャッシュサーチの結果、コントローラ1のキャッシュメモリ114にリプライデータD1が保管されているため、磁気ディスク群122、123からリードすることなく、コントローラ1のキャッシュメモリ114からコントローラ0のポート(A)103を介してホスト装置(A)100にリプライデータを送信する。
次に、図2のステップS105での他系キャッシュサーチ実行判定を、ホスト装置100、105からのI/O要求がニアシーケンシャルI/O判定であったときに、他系のキャッシュサーチを自動でおこなう場合について、図4を用いて説明する。
図4において、(a)はホスト装置100からのリード要求、(b)は磁気ディスクのリードデータパターン、(c)はコントローラ(0)125のポート(A)103に現れるリード要求、(d)はコントローラ(1)126のポート(A)108に現れるリード要求、(e)は磁気ディスク内のメモリ空間のリードデータパターン、(f)はコントローラ(0)125のキャッシュメモリ112上のデータ、(g)コントローラ(1)126のキャッシュメモリ114上のデータを示す。
コントローラ(0)125のポート(A)103で、順にホスト装置(A)100からのR0、R2のリード要求を受信するとする。I/O処理部113では自系のキャッシュサーチを実行し、リードデータが保管されていないため、R0を、まず磁気ディスク群122、123から読み出して、キャッシュメモリ112にこのリードデータD0を保管し、ホスト装置(A)100に対してリプライデータD0を送信する。
このとき、I/O要求R0はニアシーケンシャルI/Oと判定されないため、他系へのキャッシュサーチは実行しない。
次に、R2のリード要求を処理するときに、アドレスの比較から、ニアシーケンシャルI/O判定となるため、自系及び他系両方のキャッシュサーチを実行する。
このとき、キャッシュヒットとはならないが、一定範囲の先読みが動作し、磁気ディスク群からリードデータD2、D3、D4をキャッシュメモリに保管し、ホスト装置に対してリプライデータD2を送信する。
そのため、R4のリード要求の際には、磁気ディスク群122、123へのアクセスをおこなわずに、ホスト装置(A)100にリードデータD4を送信する。
一方で、コントローラ(1)126のポート(A)108では、順にR1、R3、R5のリード要求を受信する。このとき、I/O処理部115ではR1を磁気ディスク群122、123から読みだし、キャッシュメモリ114に、このリードデータD1を保管し、R3のリード要求の際には、他系のキャッシュサーチでコントローラ(0)125のキャッシュメモリ112にD3が保管されていることを検出し、コントローラ(0)125のキャッシュメモリ112からホスト装置(A)100に対し、リプライデータを送信させる。
これにより、本実施の形態のデータ読み出し方法ではD3、D4のデータがコントローラ0、1に二重に保管することはなく、スループットとキャッシュメモリの使用効率が向上される。
以上の説明では、本発明のディスクアレイ装置及びそこで用いられるデータ読み出し方法について述べたが、以上のデータ読み出し方法の各工程での実行内容をプログラム化してコンピュータに実行させるように構成しても良い。このようにしても、上述した方法で行った場合と同等なスループットの向上と、キャッシュメモリの使用効率の向上が得られる。
本発明は、以上のように構成され、機能するので、2つの入出力コントローラで冗長化されたディスクアレイ装置において、コントローラが自系のキャッシュサーチだけでなく、他系のキャッシュサーチをおこなうことで、処理の高速化が図られ、スループットを大幅に改善することができる。従って、ディスクアレイを用いる情報処理などの産業分野で広範な利用の可能性が見込める。
本発明のディスクアレイ装置の一実施の形態のブロック図である。 図1に示す実施形態のデータ読み出し方法を示すフローチャートである。 図1に示す実施形態へのリード要求の一例とそれに対する読み出し手順を示す説明図である。 図1に示す実施形態へのリード要求の他の例とそれに対する読み出し手順を示す説明図である。 従来のディスクアレイ装置の一例のブロック図である。 図5に示す従来例へのリード要求の例とそれに対する読み出し手順を示す説明図である。
符号の説明
103、104、108、109 ポートA/B(ホスト側ポート)
110、111 転送制御部(ホスト側転送制御部)
113、115 I/O処理部(入出力処理部)
116、117 転送制御部(ディスク側転送制御部)
118、119、120、121 ポートC/D(ディスク側ポート)
122、123 ディスク群(磁気ディスク群)
125、126 コントローラ

Claims (9)

  1. データを記憶する複数の磁気ディスクからなる磁気ディスク群と、
    データを一時的に記憶するキャシュメモリと、ホスト装置からの入出力要求に応じて、このキャシュメモリ又は外部の前記磁気ディスク群から必要なデータを読み出して出力する入出力処理部とをそれぞれが有する複数のコントローラと、
    このコントローラを相互に接続するデータパスとを備えたディスクアレイ装置において、
    前記入出力処理部は、前記磁気ディスク群よりも前記キャッシュメモリを優先的に読み出すキャシュメモリ優先機能と、
    アクセスするデータが自コントローラが所有するキャッシュメモリに保管されているかどうかを検索する自系キャシュサーチ機能と、
    アクセスするデータが他のコントローラが所有するキャッシュメモリに保管されているかどうかを前記データパスを介して検索する他系キャシュサーチ機能と、
    検索したデータを読み出すデータ読出し機能とを備えることを特徴とするディスクアレイ装置。
  2. 前記請求項1に記載のディスクアレイ装置において、
    前記コントローラは、前記ホスト装置からの入出力要求の受信やホストに対する入出力データの送受信を行うための複数のホスト側ポートと、
    このホスト側ポート及び前記入出力処理部からの入出力データの転送を制御するホスト側転送制御部と、
    前記磁気ディスク群からの入出力データの送受信を行うための複数のディスク側ポートと、
    このディスク側ポート及び前記入出力処理部からの入出力データの転送を制御するディスク側転送制御部と
    を具備することを特徴とするディスクアレイ装置。
  3. 前記請求項1または2に記載のディスクアレイ装置において、
    前記入出力処理部のキャシュメモリ優先機能は、まず前記自系キャッシュメモリを優先的に読み出し、次に、前記磁気ディスク群よりも前に、前記他系キャッシュメモリを優先的に読み出すようにしたことを特徴とするディスクアレイ装置。
  4. 前記請求項1ないし3のいずれか1項に記載のディスクアレイ装置において、
    前記入出力処理部の他系キャシュサーチ機能は、前記データパスを介して他の前記コントローラが所有するキャッシュメモリを直接検索するようにしたことを特徴とするディスクアレイ装置。
  5. 前記請求項1ないし3のいずれか1項に記載のディスクアレイ装置において、
    前記入出力処理部の他系キャシュサーチ機能は、自コントローラの前記入出力処理部が、前記データパスを介して他の前記コントローラが所有する前記入出力処理部に対してキャシュサーチを指示するとともに、他の前記コントローラが所有する入出力処理部からのキャシュサーチの結果の報告を受け得るようにしたことを特徴とするディスクアレイ装置。
  6. 前記請求項1ないし5のいずれか1項に記載のディスクアレイ装置において、
    前記入出力処理部が前記他系キャシュサーチ機能を実行するかしないかを切替える手動スイッチ手段を前記各コントローラに設けたことを特徴とするディスクアレイ装置。
  7. 前記請求項1ないし5のいずれか1項に記載のディスクアレイ装置において、
    前記入出力処理部は、前記ホスト装置からの入出力要求を一定期間記憶して、その連続性からその入出力要求がニアシーケンシャル入出力であるかどうかを判定するニアシーケンシャル判定機能を有し、ニアシーケンシャル入出力であると判定した場合には自動的に前記他系キャシュサーチ機能を実行することを特徴とするディスクアレイ装置。
  8. ホスト装置に対して磁気ディスク群からのデータの読み出しを仲介する、相互にデータパスを介して接続された複数のコントローラにおけるデータ読み出し方法であって、
    前記ホスト装置からのデータ読み出し要求を受信する読み出し要求受信工程と、
    前記読み出し要求を分析して自コントローラが所有するキャッシュメモリから要求データを検索する自系キャッシュ検索工程と、
    前記自系キャッシュ検索工程で検索した結果、全ての要求データが揃わなかった場合には他の前記コントローラが所有するキャッシュメモリから残りの要求データを検索する他系キャッシュ検索工程と、
    前記自系キャッシュ検索工程と前記他系キャッシュ検索工程の検索結果をあわした結果、全ての要求データが揃わなかった場合に、前記磁気ディスク群より残りの要求データを検索する磁気ディスク群検索工程と、
    以上の各検索工程で得られた要求データをホスト装置に送信する要求データ送信工程とを備えていることを特徴とするデータ読み出し方法。
  9. ホスト装置に対して磁気ディスク群からのデータの読み出しを仲介する、相互にデータパスを介して接続された複数のコントローラに設けられたコンピュータに実行させるデータ読み出しプログラムであって、
    ホスト装置からのデータ読み出し要求を受信する読み出し要求受信機能と、
    前記読み出し要求を分析して自コントローラが所有するキャッシュメモリから要求データを検索する自系キャッシュ検索機能と、
    前記自系キャッシュ検索機能で検索した結果、全ての要求データが揃わなかった場合には他の前記コントローラが所有するキャッシュメモリから残りの要求データを検索する他系キャッシュ検索機能と、
    前記自系キャッシュ検索機能と前記他系キャッシュ検索機能での検索結果をあわした結果、全ての要求データが揃わなかった場合に、磁気ディスク群より残りの要求データを検索する磁気ディスク群検索機能と、
    以上の各検索機能で得られた要求データをホスト装置に送信する要求データ送信機能とをコンピュータに実行させることを特徴とするデータ読み出しプログラム。
JP2006201346A 2006-07-24 2006-07-24 ディスクアレイ装置、ディスクアレイ装置におけるデータ読み出し方法及びデータ読み出しプログラム Pending JP2008027316A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006201346A JP2008027316A (ja) 2006-07-24 2006-07-24 ディスクアレイ装置、ディスクアレイ装置におけるデータ読み出し方法及びデータ読み出しプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006201346A JP2008027316A (ja) 2006-07-24 2006-07-24 ディスクアレイ装置、ディスクアレイ装置におけるデータ読み出し方法及びデータ読み出しプログラム

Publications (1)

Publication Number Publication Date
JP2008027316A true JP2008027316A (ja) 2008-02-07

Family

ID=39117870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006201346A Pending JP2008027316A (ja) 2006-07-24 2006-07-24 ディスクアレイ装置、ディスクアレイ装置におけるデータ読み出し方法及びデータ読み出しプログラム

Country Status (1)

Country Link
JP (1) JP2008027316A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2782002A2 (en) 2013-03-21 2014-09-24 Fujitsu Limited Control device, storage system, and control program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076017A (ja) * 1998-08-31 2000-03-14 Nec Corp 磁気ディスク制御装置
JP2003099384A (ja) * 2001-09-20 2003-04-04 Nec Corp 負荷分散システム、負荷分散システムのホストコンピュータ、及び負荷分散プログラム
JP2005284343A (ja) * 2004-03-26 2005-10-13 Hitachi Ltd ストレージ装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000076017A (ja) * 1998-08-31 2000-03-14 Nec Corp 磁気ディスク制御装置
JP2003099384A (ja) * 2001-09-20 2003-04-04 Nec Corp 負荷分散システム、負荷分散システムのホストコンピュータ、及び負荷分散プログラム
JP2005284343A (ja) * 2004-03-26 2005-10-13 Hitachi Ltd ストレージ装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2782002A2 (en) 2013-03-21 2014-09-24 Fujitsu Limited Control device, storage system, and control program
US9529721B2 (en) 2013-03-21 2016-12-27 Fujitsu Limited Control device, and storage system

Similar Documents

Publication Publication Date Title
US8868851B2 (en) Data access method of a memory device
US9021178B2 (en) High performance path for command processing
US7979631B2 (en) Method of prefetching data in hard disk drive, recording medium including program to execute the method, and apparatus to perform the method
US9141549B2 (en) Memory system with read and write caches and method of controlling memory system with read and write caches
US8874826B2 (en) Programming method and device for a buffer cache in a solid-state disk system
US11630766B2 (en) Memory system and operating method thereof
JP2007241927A (ja) データ記憶装置及び方法
US20050114559A1 (en) Method for efficiently processing DMA transactions
JP2005284343A (ja) ストレージ装置
EP3647932B1 (en) Storage device processing stream data, system including the same, and operation method thereof
KR102558947B1 (ko) 데이터 저장 장치
JP2009505180A (ja) 少なくとも2つの処理ユニットと、及び少なくとも1つのメモリとを有する計算機システム内に形成される及び記憶装置、及びそれによる記憶方法
JP2015158910A (ja) ラップ読出しから連続読出しを行うメモリサブシステム
US20200004463A1 (en) Storage system and control method thereof
JP2001306265A5 (ja)
US20030172229A1 (en) Systems and methods for detecting and compensating for runt block data transfers
KR101876574B1 (ko) 데이터 입출력 컨트롤러 및 이를 포함하는 시스템
US10564847B1 (en) Data movement bulk copy operation
US8176218B2 (en) Apparatus and methods for real-time routing of received commands in a split-path architecture storage controller
US10817445B2 (en) Semiconductor devices including command priority policy management and related systems
JP2008027316A (ja) ディスクアレイ装置、ディスクアレイ装置におけるデータ読み出し方法及びデータ読み出しプログラム
US7007137B2 (en) Method and architecture capable of accessing data and instructions using store and forward
JP3747213B1 (ja) シーケンシャルromインターフェース対応nand型フラッシュメモリーデバイス及びそのコントローラ
US10747445B2 (en) Memory system that selects data to be transmitted from a data buffer through a port
JP4431492B2 (ja) 複数のコヒーレンシー・グラニュールをサポートするデータ転送ユニット

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100506

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100817

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101117

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20101124

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110128