JP2008027316A - ディスクアレイ装置、ディスクアレイ装置におけるデータ読み出し方法及びデータ読み出しプログラム - Google Patents
ディスクアレイ装置、ディスクアレイ装置におけるデータ読み出し方法及びデータ読み出しプログラム Download PDFInfo
- 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
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【構成】 I/O処理部113は、アクセスするデータが自系キャッシュメモリ112に保管されているかどうかを検索する自系キャシュサーチ機能と、他系キャッシュメモリ114に保管されているかどうかをデータパス124を介して検索する他系キャシュサーチ機能と、検索したデータを読み出すデータ読出し機能とを備えることを特徴とする。
【選択図】 図1
Description
図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が設けられている。
この先読みにより、ホスト装置200、205から以降のI/O要求があった場合に、磁気ディスク群222、223へのアクセス頻度を少なくすることができ、これによりシーケンシャルI/Oがあったときに、その都度、磁気ディスクにアクセスする場合に比べ、スループットを多少改善することができた。
ここで、シーケンシャルI/Oの判定は次のように行われる。すなわち、前回のI/Oにおける終了アドレスを記憶しておき、その次のアドレスを開始番地とするI/Oを受け取った場合にシーケンシャルI/Oと判定する。
図6で、(a)はホスト装置200のリード要求、(b)は磁気ディスクのリードデータパターン、(c)はコントローラ(0)225のポート(A)203に現れるリード要求、(d)はコントローラ(1)226のポート(A)208に現れるリード要求、(e)は磁気ディスク内のメモリ空間のリードデータパターン、(f)はコントローラ(0)225のキャッシュメモリ212上のデータ、(g)コントローラ0(226)のキャッシュメモリ214上のデータを示す。
図6では、ホスト装置200から順にポート(0)201にR0、ポート(1)202にR1、ポート(0)201にR2、ポート(1)202にR3、ポート(0)201にR4、ポート(1)202にR5とI/Oリクエストを要求している。
次に、要求されたI/OリクエストR2に対して、I/O処理部213は、自系のキャッシュメモリ212にキャッシュサーチを実行し、データD2が保管されていなければ、磁気ディスク群222、223に対しリード要求をおこなう。このときR2の開始メモリアドレスと、前回のI/OリクエストであるR0の最終メモリアドレスを比較し、不一致であるため、シーケンシャルI/Oとは判定されず、従って先読み処理は行われず、D2のみのリードが実行される。
更に、I/OリクエストR4(あるいはR5)の開始メモリアドレスと、前回のI/OリクエストR2(あるいはR3)の最終メモリアドレスを比較し、不一致であるため、シーケンシャルI/O判定されずに先読み処理はおこなわれない。
従って、コントローラ(0)225とコントローラ(1)226の独立した同時動作によって、多少のスループットを改善できるものの、ホスト装置からのシーケンシャルI/Oを検出することができないため先読み処理は実行されず、それ以上のスループットの向上を図ることはできない。
また、特許文献2の方法では、2つのコントローラの共通のキャシュメモリへのアクセスが衝突する危険をさけるため、アクセス方法に工夫が必要になり、その分、アクセス方法が複雑になって処理時間がかかるという問題がある。
また、特許文献2の方法では、キャッシュヒット率は向上するが、キャッシュメモリへのアクセス方法が複雑になって、その分アクセスに時間がかかり、必ずしもスループットの向上につながらないという問題があった。
これにより、自系のキャッシュメモリとともに、他系のキャシュメモリをも同様に検索することができるので、シーケンシャルI/Oを処理して、両キャッシュメモリにまたがってデータを先読みすることが可能になり、これによってスループットの向上を図ることが可能なディスクアレイ装置を実現することができる。
これにより、ランダムI/Oを2つのコントローラで同時に処理することが可能になり、ランダムI/Oに対しても、スループットの向上を図ることが可能なディスクアレイ装置が得られる。
また、前記入出力処理部の他系キャシュサーチ機能は、前記データパスを介して他の前記コントローラが所有するキャッシュメモリを直接検索するようにしたことを特徴とする(請求項4)。
また、前記入出力処理部の他系キャシュサーチ機能は、自コントローラの前記入出力処理部が、前記データパスを介して他の前記コントローラが所有する前記入出力処理部に対してキャシュサーチを指示するとともに、他の前記コントローラが所有する入出力処理部からのキャシュサーチの結果の報告を受け得るようにしたことを特徴とする(請求項5)。
これらにより、自系キャッシュメモリと他系キャッシュメモリとを、滞りなく容易に検索することが可能なディスクアレイ装置が実現できる。
これにより、入出力要求の内容に応じて他系キャシュサーチ機能を実行するかしないかを選択することが可能なディスクアレイ装置を実現することができる。
これにより、ニアシーケンシャル入出力を判定して自動的に他系キャシュサーチを行い、データを先読みすることが可能になり、スループットの向上が図れるディスクアレイ装置を実現することができる。
これにより、自系のキャッシュメモリと他系のキャシュメモリとを同様に検索して、ニアシーケンシャルI/Oに対応して、両キャッシュメモリにまたがってデータを先読みすることが可能で、スループットの向上を図れるディスクアレイ装置のデータ読み出し方法を実現することができる。
これにより、自系のキャッシュメモリと他系のキャシュメモリとを同様に検索して、ニアシーケンシャルI/Oに対応して両キャッシュメモリにまたがってデータを先読みすることが可能で、スループットの向上を図れるディスクアレイ装置のデータ読み出し用のプログラムを実現することができる。
本実施の形態の構成は、基本的に先に図5で示した従来例のそれと同じである。
本実施の形態のディスクアレイ装置は、1対のコントローラ(0)125とコントローラ(1)126と複数の磁気ディスクからなるディスク群(A)122及びディスク群(B)123を備えて構成される。
さらに、磁気ディスクからの入出力データを受信、あるいは送信するためのポート(C)/(D)(ディスク側ポート)118、119、120、121と、ポート(C)/(D)118、119、120、121あるいはI/O処理部113、115からの入出力データを制御する転送制御部(B)(ディスク側転送制御部)116、117とを備えて構成されている。
また、コントローラ(0)125、コントローラ(1)126間は相互に相手のキャッシュメモリ112、114へのアクセス可能なパス(データパス)124を有する。
まず、ホスト装置(A)100のポート(0)101からコントローラ0のポート(A)103に対し、リードリクエストが要求される(ステップS101)。
コントローラ(0)125は転送制御部(A)110を介し、I/O処理部113でコマンド受信処理をおこなう(ステップS102:読み出し要求受信工程)。
コマンド受信処理後、I/O処理部113はリードリクエストに対応するデータが保管されているかどうかをまずキャッシュメモリをディスク群よりも優先して検索する。そのため、まず、自身のキャッシュメモリ112に対し、リードリクエストに対応するデータがこのキャッシュメモリ112内に保管されているかどうか、自系キャッシュサーチを実行する(ステップS103:自系キャッシュ検索工程・自系キャッシュサーチ機能)。
この判定は、例えば、手動のスイッチ(手動スイッチ手段)の切替えにより判定しても良い。あるいは自動判定としても良い。自動判定の場合は、リードリクエストデータが、ニアシーケンシャルI/Oの場合に、他系キャッシュサーチを実行する(ステップS106:他系キャッシュ検索工程・他系キャッシュサーチ機能)。
なお、ステップS104で、自系キャッシュメモリ112に要求されたリードデータ全てが存在するときには、他系キャッシュサーチは実行せずにステップS110に移行する。
全てが存在しないときには、I/O処理部113から転送制御部(B)116を介し、ポート(C)118あるいはポート(D)119を通して磁気ディスク群(A)122あるいは磁気ディスク群(B)123に対し、自系キャッシュメモリ112へのリード転送要求をおこなう(ステップS109:磁気ディスク群検索工程)。
まず、図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では、I/O処理部113で、自系及び他系のキャッシュサーチを実行し、リードデータがキャッシュメモリ112および114に保管されていないため、磁気ディスク群122、123からリードデータD0を読み出して、キャッシュメモリ112に保管し、ホスト装置(A)100に対してリプライデータD0を送信する。
同様に、コントローラ(1)126でも磁気ディスク群122、123からリードデータD1を読み出して、キャッシュメモリ114に保管し、ホスト装置(A)100に対してリプライデータD1を送信する。
このとき、I/O要求R0はニアシーケンシャルI/Oと判定されないため、他系へのキャッシュサーチは実行しない。
このとき、キャッシュヒットとはならないが、一定範囲の先読みが動作し、磁気ディスク群からリードデータD2、D3、D4をキャッシュメモリに保管し、ホスト装置に対してリプライデータD2を送信する。
そのため、R4のリード要求の際には、磁気ディスク群122、123へのアクセスをおこなわずに、ホスト装置(A)100にリードデータD4を送信する。
これにより、本実施の形態のデータ読み出し方法ではD3、D4のデータがコントローラ0、1に二重に保管することはなく、スループットとキャッシュメモリの使用効率が向上される。
110、111 転送制御部(ホスト側転送制御部)
113、115 I/O処理部(入出力処理部)
116、117 転送制御部(ディスク側転送制御部)
118、119、120、121 ポートC/D(ディスク側ポート)
122、123 ディスク群(磁気ディスク群)
125、126 コントローラ
Claims (9)
- データを記憶する複数の磁気ディスクからなる磁気ディスク群と、
データを一時的に記憶するキャシュメモリと、ホスト装置からの入出力要求に応じて、このキャシュメモリ又は外部の前記磁気ディスク群から必要なデータを読み出して出力する入出力処理部とをそれぞれが有する複数のコントローラと、
このコントローラを相互に接続するデータパスとを備えたディスクアレイ装置において、
前記入出力処理部は、前記磁気ディスク群よりも前記キャッシュメモリを優先的に読み出すキャシュメモリ優先機能と、
アクセスするデータが自コントローラが所有するキャッシュメモリに保管されているかどうかを検索する自系キャシュサーチ機能と、
アクセスするデータが他のコントローラが所有するキャッシュメモリに保管されているかどうかを前記データパスを介して検索する他系キャシュサーチ機能と、
検索したデータを読み出すデータ読出し機能とを備えることを特徴とするディスクアレイ装置。 - 前記請求項1に記載のディスクアレイ装置において、
前記コントローラは、前記ホスト装置からの入出力要求の受信やホストに対する入出力データの送受信を行うための複数のホスト側ポートと、
このホスト側ポート及び前記入出力処理部からの入出力データの転送を制御するホスト側転送制御部と、
前記磁気ディスク群からの入出力データの送受信を行うための複数のディスク側ポートと、
このディスク側ポート及び前記入出力処理部からの入出力データの転送を制御するディスク側転送制御部と
を具備することを特徴とするディスクアレイ装置。 - 前記請求項1または2に記載のディスクアレイ装置において、
前記入出力処理部のキャシュメモリ優先機能は、まず前記自系キャッシュメモリを優先的に読み出し、次に、前記磁気ディスク群よりも前に、前記他系キャッシュメモリを優先的に読み出すようにしたことを特徴とするディスクアレイ装置。 - 前記請求項1ないし3のいずれか1項に記載のディスクアレイ装置において、
前記入出力処理部の他系キャシュサーチ機能は、前記データパスを介して他の前記コントローラが所有するキャッシュメモリを直接検索するようにしたことを特徴とするディスクアレイ装置。 - 前記請求項1ないし3のいずれか1項に記載のディスクアレイ装置において、
前記入出力処理部の他系キャシュサーチ機能は、自コントローラの前記入出力処理部が、前記データパスを介して他の前記コントローラが所有する前記入出力処理部に対してキャシュサーチを指示するとともに、他の前記コントローラが所有する入出力処理部からのキャシュサーチの結果の報告を受け得るようにしたことを特徴とするディスクアレイ装置。 - 前記請求項1ないし5のいずれか1項に記載のディスクアレイ装置において、
前記入出力処理部が前記他系キャシュサーチ機能を実行するかしないかを切替える手動スイッチ手段を前記各コントローラに設けたことを特徴とするディスクアレイ装置。 - 前記請求項1ないし5のいずれか1項に記載のディスクアレイ装置において、
前記入出力処理部は、前記ホスト装置からの入出力要求を一定期間記憶して、その連続性からその入出力要求がニアシーケンシャル入出力であるかどうかを判定するニアシーケンシャル判定機能を有し、ニアシーケンシャル入出力であると判定した場合には自動的に前記他系キャシュサーチ機能を実行することを特徴とするディスクアレイ装置。 - ホスト装置に対して磁気ディスク群からのデータの読み出しを仲介する、相互にデータパスを介して接続された複数のコントローラにおけるデータ読み出し方法であって、
前記ホスト装置からのデータ読み出し要求を受信する読み出し要求受信工程と、
前記読み出し要求を分析して自コントローラが所有するキャッシュメモリから要求データを検索する自系キャッシュ検索工程と、
前記自系キャッシュ検索工程で検索した結果、全ての要求データが揃わなかった場合には他の前記コントローラが所有するキャッシュメモリから残りの要求データを検索する他系キャッシュ検索工程と、
前記自系キャッシュ検索工程と前記他系キャッシュ検索工程の検索結果をあわした結果、全ての要求データが揃わなかった場合に、前記磁気ディスク群より残りの要求データを検索する磁気ディスク群検索工程と、
以上の各検索工程で得られた要求データをホスト装置に送信する要求データ送信工程とを備えていることを特徴とするデータ読み出し方法。 - ホスト装置に対して磁気ディスク群からのデータの読み出しを仲介する、相互にデータパスを介して接続された複数のコントローラに設けられたコンピュータに実行させるデータ読み出しプログラムであって、
ホスト装置からのデータ読み出し要求を受信する読み出し要求受信機能と、
前記読み出し要求を分析して自コントローラが所有するキャッシュメモリから要求データを検索する自系キャッシュ検索機能と、
前記自系キャッシュ検索機能で検索した結果、全ての要求データが揃わなかった場合には他の前記コントローラが所有するキャッシュメモリから残りの要求データを検索する他系キャッシュ検索機能と、
前記自系キャッシュ検索機能と前記他系キャッシュ検索機能での検索結果をあわした結果、全ての要求データが揃わなかった場合に、磁気ディスク群より残りの要求データを検索する磁気ディスク群検索機能と、
以上の各検索機能で得られた要求データをホスト装置に送信する要求データ送信機能とをコンピュータに実行させることを特徴とするデータ読み出しプログラム。
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)
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)
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 | ストレージ装置 |
-
2006
- 2006-07-24 JP JP2006201346A patent/JP2008027316A/ja active Pending
Patent Citations (3)
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)
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 |