JP4333846B2 - 磁気ディスク装置、その制御方法並びに制御プログラム - Google Patents

磁気ディスク装置、その制御方法並びに制御プログラム Download PDF

Info

Publication number
JP4333846B2
JP4333846B2 JP2005170283A JP2005170283A JP4333846B2 JP 4333846 B2 JP4333846 B2 JP 4333846B2 JP 2005170283 A JP2005170283 A JP 2005170283A JP 2005170283 A JP2005170283 A JP 2005170283A JP 4333846 B2 JP4333846 B2 JP 4333846B2
Authority
JP
Japan
Prior art keywords
load
algorithm
disk
read command
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
JP2005170283A
Other languages
English (en)
Other versions
JP2006344088A (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.)
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 JP2005170283A priority Critical patent/JP4333846B2/ja
Priority to US11/214,871 priority patent/US7487292B2/en
Publication of JP2006344088A publication Critical patent/JP2006344088A/ja
Application granted granted Critical
Publication of JP4333846B2 publication Critical patent/JP4333846B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0653Monitoring storage devices or 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2087Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring with a common controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

本発明は、同一のデータが二つのディスクのそれぞれに書き込まれるRAID1、RAID0+1のRAID構成を有する磁気ディスク装置、その制御方法並びに制御プログラムに関し、特にそのI/Oレスポンスの高速化に関するものである。
同一のデータが二つのディスクのそれぞれに書き込まれるRAID1、RAID0+1のRAID構成を有する磁気ディスク装置において、ホストからデータ読み込み要求があった場合、それぞれのディスクに同一のリードコマンドを発行し、該コマンドに対し最初に応答したデータをリードコマンドの結果として採用するようにした磁気ディスク装置が知られる(例えば、特許文献1参照)。
特開平4−205518号公報
しかしながら、複数のディスクにおける各ディスクはそれぞれ負荷が異なっており、あるアルゴリズムによるリードコマンドと他のアルゴリズムによるリードコマンドとでは、それらに対するレスポンスが異なる場合がある。このような場合にも一律に定められたアルゴリズムによるリードコマンドによる読み込みを行っていたのでは、レスポンスの高速化を効率的に行うことができない。
本発明は、上述した従来の問題点を解決するためになされたものであり、リード要求に対するレスポンスの高速化を効率的に図ることができる磁気ディスク装置、その制御方法並びに制御プログラムを提供することを目的としている。
上述した課題を解決するため、本発明は、同一のデータが二つのディスクのそれぞれに書き込まれるRAID構成を有する磁気ディスク装置であって、ディスクに書き込まれているデータに対し、複数の異なるアルゴリズムの中から任意のアルゴリズムを選択し、該アルゴリズムに基づいたリードコマンドを前記二つのディスクそれぞれに書き込まれているデータに対しそれぞれ発行するリードコマンド発行部と、前記リードコマンド発行部により各ディスクに対して発行されたリードコマンドそれぞれによって、より早くデータの読み込みが行われたデータをリードデータとして採用するデータ取得部とを備えてなる。
また、本発明の磁気ディスク装置において、前記リードコマンド発行部は、前記二つのディスクの負荷を判断し、該判断された負荷に基づいてそれぞれのディスクに対するリードコマンドのアルゴリズムを選択し、該選択されたアルゴリズムに基づくリードコマンドを発行することを特徴とする。
なお、本発明の磁気ディスク装置において、前記リードコマンド発行部は、前記二つのディスクに対し、それぞれ異なるアルゴリズムに基づくリードコマンドを発行することを特徴とすることができる。また、前記リードコマンド発行部は、前記二つのディスクに対し同一のアルゴリズムに基づくリードコマンドを発行することを特徴とすることもできる。そして、前記アルゴリズムには、第1のアルゴリズムとして、ディスクに対して、読み込むべきLBA(ロジカルブロックアドレス)であって、離散するLBA毎にアクセスを行うリードコマンドを発行するアルゴリズムと、第2のアルゴリズムとして、1回のアクセスで読み込むべきLBAを含む連続するLBAを読み込み、不要なLBAを破棄するリードコマンドを発行するアルゴリズムが備えられていることを特徴とすることもできる。
また、本発明の磁気ディスク装置において、前記リードコマンド発行部は、各ディスクに対するスループットを用いて負荷を判断し、負荷の高い方のディスクに対して第1のアルゴリズムによるリードコマンドを発行することを特徴とすることができ、また、前記リードコマンド発行部は、各ディスクに対するコマンド数を用いて各ディスクの負荷を判断し、負荷の高い方のディスクに対して、第2のアルゴリズムによるリードコマンドを発行することを特徴とすることができ、更に、前記リードコマンド発行部は、各ディスクに対するスループットを用いて第1負荷を判断し、各ディスクに対するコマンド数を用いて第2負荷を判断し、第1負荷と第2負荷とを用いて前記アルゴリズムを選択することを特徴とすることができる。
なお、前記リードコマンド発行部は、二つのディスク間における第1負荷と第2負荷のそれぞれの差に基づいて前記アルゴリズムを選択することを特徴とすることもできる。
また、本発明は、同一のデータが二つのディスクのそれぞれに書き込まれるRAID構成を有する磁気ディスク装置のデータリード処理をコンピュータに実行させる磁気ディスク装置の制御プログラムであって、ディスクに書き込まれているデータに対し、複数の異なるアルゴリズムの中から任意のアルゴリズムを選択し、該アルゴリズムに基づいたリードコマンドを前記二つのディスクそれぞれに書き込まれているデータに対しそれぞれ発行するリードコマンド発行ステップと、前記リードコマンド発行ステップにより各ディスクに対して発行されたリードコマンドそれぞれによって、より早くデータの読み込みが行われたデータをリードデータとして採用するデータ取得ステップとをコンピュータに実行させる。
また、本発明の磁気ディスク装置の制御プログラムにおいて、前記リードコマンド発行ステップは、前記二つのディスクの負荷を判断し、該判断された負荷に基づいてそれぞれのディスクに対するリードコマンドのアルゴリズムを選択し、該選択されたアルゴリズムに基づくリードコマンドを発行することを特徴とする。
なお、前記リードコマンド発行ステップは、前記二つのディスクに対し、それぞれ異なるアルゴリズムに基づくリードコマンドを発行することを特徴とすることができ、また、前記リードコマンド発行ステップは、前記二つのディスクに対し同一のアルゴリズムに基づくリードコマンドを発行することを特徴とすることができる。
また、本発明の磁気ディスク装置の制御プログラムにおいて、前記リードコマンド発行ステップは、各ディスクに対するスループットを用いて負荷を判断し、負荷の高い方のディスクに対して第1のアルゴリズムによるリードコマンドを発行することを特徴とすることができ、また、前記リードコマンド発行ステップは、各ディスクに対するコマンド数を用いて各ディスクの負荷を判断し、負荷の高い方のディスクに対して、第2のアルゴリズムによるリードコマンドを発行することを特徴とすることができる。
また、前記リードコマンド発行ステップは、各ディスクに対するスループットを用いて第1負荷を判断し、各ディスクに対するコマンド数を用いて第2負荷を判断し、第1負荷と第2負荷とを用いて前記アルゴリズムを選択することを特徴とすることもできる。
なお、前記リードコマンド発行ステップは、二つのディスク間における第1負荷と第2負荷のそれぞれの差に基づいて前記アルゴリズムを選択することを特徴とすることができる。
また、本発明は、同一のデータが二つのディスクのそれぞれに書き込まれるRAID構成を有する磁気ディスク装置の制御方法であって、ディスクに書き込まれているデータに対し、複数の異なるアルゴリズムの中から任意のアルゴリズムを選択し、該アルゴリズムに基づいたリードコマンドを前記二つのディスクそれぞれに書き込まれているデータに対しそれぞれ発行するリードコマンド発行ステップと、前記リードコマンド発行ステップにより各ディスクに対して発行されたリードコマンドそれぞれによって、より早くデータの読み込みが行われたデータをリードデータとして採用するデータ取得ステップとを備えるものである。
上述したように、本発明によれば、リード要求に対するレスポンスの高速化を効率的に図ることができるという効果を奏する。
以下、本発明の実施の形態について図面を用いて説明する。
図1は本発明の実施の形態における磁気ディスク装置を示すブロック図である。図1においては、ホスト1に磁気ディスク装置10が接続されている。磁気ディスク装置10は、CM(コントローラモジュール)11と、CM11に接続されたFC(ファイバチャネル)ループAとFCループBの二つのFCループと、各FCループにおいて接続される複数のディスク11a,11bとを備えて構成されている。CM11はCPU12とメモリ13を備え、本発明のリードコマンド発行部、データ取得部を構成するものである。
本実施の形態においてRAID構成は、RAID1構成で説明するが、RAID1+0のRAID構成を有する磁気ディスク装置にも同様に適用することができる。図1において、RAID1を構成するディスクAとディスクBとは同一のデータが記憶されている(書き込まれている)。
本実施の形態では、このRAID1構成において、CM11は、ディスクAとディスクBに記憶されたデータをそれぞれ異なるアルゴリズムに基づくリードコマンドを発行して読み込み、早く読み込まれたデータをホストに送出する構成としている。ここで用いられるアルゴリズムには、第1アルゴリズムと第2アルゴリズムの2種を用いる。
(第1アルゴリズム)
第1アルゴリズムは、FCループの負荷が大きい(スループットが高い)場合に、読み込みが有利となるアルゴリズムであり、図2に示すように、ディスクに対して、読み込むべきLBA(ロジカルブロックアドレス)であって、離散するLBA毎にアクセスを行うリードコマンドを発行するアルゴリズムである。
図2について、説明すると、ディスクはLBAと呼ばれる固定長(520byte)のブロックから成り立ち、CM11はディスクに対して、アクセス開始LBA位置、及び処理LBA数を指定してディスクアクセスを行う。
一例として、ホストより、LBA0,LBA2、LBA4の3つの離散するLBAに対してリード要求が行われたとする。第1アルゴリズムでは、CMはディスクに対して以下のように各LBAを指定して各LBA毎に離散的にリードコマンドを発行する。
リードコマンド1回目: アクセス開始LBA=0,処理LBA数=1.
リードコマンド2回目: アクセス開始LBA=2,処理LBA数=1.
リードコマンド3回目: アクセス開始LBA=4,処理LBA数=1.
(第2アルゴリズム)
第2アルゴリズムは、ディスクの負荷(コマンド数)が大きい場合に、読み込みが有利となるアルゴリズムであり、図3に示すように、1回のアクセスで読み込むべきLBAを含む連続するLBAを読み込み、不要なLBAを破棄するリードコマンドを発行するアルゴリズムである。
図3について説明すると、例えば、ホストよりLBA0,2,4とリード要求が発行された場合、CM11はディスクに1回のコマンドでLBA0〜4のデータを読み込む。具体的にはCM11はディスクより、LBA0,1,2,3,4の全てを読み込み、LBA1,3はCM11上で破棄する(図示しないトラッシュバッファとよばれるメモリに破棄する)。
第2アルゴリズムは、離散するLBAのデータが書き込まれたディスクアクセスにおいて、1回のコマンドでCM11がディスクに対してアクセスを行うことにより、CM11及びディスクのファームオーバーヘッドを無くすメリットがある。すなわち、リードコマンド数が減るため、ファームオーバーヘッドが減ることとなる。なお、第1アルゴリズムとは、逆にデメリットとして余計なデータ(LBA1,3)も読み込むため、CM,DISK間のFC伝送路上に余計なデータが流れFC伝送路ネックになる可能性もある。
なお、第2アルゴリズムについて、具体例で上述したLBA0,2,4についてデータを読み込む場合について説明すると、CM11内のファームは、ディスクにアクセスを行う際、図示しないQX4とよばれるFC(Fiber Channel)のチップに対してパラメータを設定し、起動を行う。本パラメータの設定において、FCセグメントなるものが存在し、ディスクから読み込んだデータを、CM内のどのバッファに格納するか指定することが可能である。
[CMファームのQX4に対する設定]
CMがディスクに対するコマンド: アクセス開始LBA=0、処理LBA数=5FCセグメント
0x00000208 # LBA0のデータの長さ
0xF0000000 # LBA0の格納先アドレス(データ格納バッファの先頭アドレス)
0x00000208 # LBA1のデータの長さ
0xF0000000 # LBA1の格納先アドレス(Trashバッファの先頭アドレス)
0x00000208 # LBA2のデータの長さ
0xF0000208 #LBA2の格納先アドレス(データ格納バッファ先頭アドレス+520byte)
0x00000208 # LBA3のデータの長さ
0xF0000000 # LBA3の格納先アドレス(Trashバッファの先頭アドレス)
0xF0000410 #LBA4の格納先アドレス(データ格納バッファ先頭アドレス+1040byte)
0x00000208 # LBA4のデータの長さ
本実施の形態では、以上に述べたそれぞれ異なるメリットとデメリットを有する二つのアルゴリズムに基づくリードコマンドを選択的に用いてディスクアクセスを行い、早く読み込まれたデータを採用することにより、より効率的に早くデータの読み込みが行えるようになる。なお、「選択的に用いる」とは、二つのディスクそれぞれに対し、それぞれ異なるアルゴリズムを用いても良いし、共通のアルゴリズムを用いても良いことを含む意味である。
更に、本実施の形態では、第1、第2アルゴリズムの各メリットをより有効に活用するため、FCループ(A,B)の負荷とディスク(A,B)の負荷を検出判断し、その判断結果に基づいて、第1アルゴリズムと第2アルゴリズムによるリードコマンドを割り当てることにより早くデータの読み込みが行えるようにしている。なお、本発明では、後述する二つの負荷のいずれか一方のみを検出判断し、それに基づいて各アルゴリズムを割り当てるようにしてもよいことは言うまでもない。以下、負荷の検出判断について説明する。
(FCループ負荷:第1負荷)
CM11はFCループA,B配下のディスクに対してスループット(M byte/sec)を常に計算してもっている。この2つのFCループA,BのスループットをFCループ負荷として、アルゴリズムの選択に用いる。なお、後述するディスク負荷との関係もあるが、FCループ負荷のみを考えるならば、スループットが低い方(FCループの負荷が低い)のディスクには第2アルゴリズムでリードコマンドを発行し、一方、スループットが高い方(FCループの負荷が高い)のディスクには第1アルゴリズムでリードコマンドを発行することが好ましい。
例えば、後述するディスク負荷を考慮しない場合、ディスクAのFCループは40Mbps、ディスクBのFCループは75Mbpsであったとすると、その場合、ディスクAに対して、第2アルゴリズムによるリードコマンドを発行し、ディスクBに対して、第1アルゴリズムによるリードコマンドを発行することが好ましい。
(ディスク負荷:第2負荷)
ディスクの負荷の検出(計算)について、CM11はディスクA,Bに対してどれだけのコマンドを発行しているかをカウントしている。そして、2つのディスクの発行コマンド数をそれぞれのディスク負荷としてアルゴリズムの選択に用いる。なお、上述したFCループ負荷との関係もあるが、ディスク負荷のみを考えるならば、発行コマンド数が少ない(負荷が小さい)ディスクには第1アルゴリズムでリードコマンドを発行し、発行コマンド数が多い(負荷が大きい)ディスクには第1アルゴリズムよりリードコマンド数を少なくすることができる可能性の高い第2アルゴリズムでリードコマンドを発行することが好ましい。
例えば、上述したディスク負荷を考慮しない場合、ディスクAに対しては35コマンド発行中であり、ディスクBに対しては50コマンド発行中であったとすると、その場合、ディスクAに対して、第1アルゴリズムを選択することが好ましい。
(FC負荷とディスク負荷のそれぞれの判断で選択されるアルゴリズムに矛盾が生じ得る場合)
ディスク負荷とFC負荷に基づくアルゴリズムの選択判断で矛盾が生じるような場合、複数のアルゴリズムをどのように用いるかを定める必要がある。
(第1例)
例えば、FCループ負荷を基準とすると、ディスクA(負荷がディスクBよりも小さい)に対して第2アルゴリズムでリードコマンドを発行した方が良いと判断され、一方、ディスク負荷を基準とすると、ディスクA(負荷がディスクBよりも小さい)でリードコマンドを発行した方が良いと判断される場合は、ディスク負荷の方を優先して、或いはFCループ負荷の方を優先してアルゴリズムを選択するようにすることができる。
(第2例)
例えば、二つのディスク間におけるFCループ負荷及びディスク負荷のそれぞれの差に基づいて前記アルゴリズムを選択するようにする。この場合、それぞれの差の負荷に対する比率を求め、その比率が大きい方の負荷についての負荷判断におけるアルゴリズムを選択することとする。
例えば、ディスク負荷についてコマンド発行数を比較した場合、少ないディスクでは、多い方のディスクの−5%以内であり、FCループ負荷についてスループットを比較した場合、高いループは低いループの+50%以上であったというような場合には、FCループ負荷の判断におけるアルゴリズムを適用し、FCループ負荷の低い方に第2アルゴリズムを適用し、FCループ負荷の高い方に第1アルゴリズムを適用することとする。
なお、本例は一例に過ぎず、どのような負荷の値に対して、アルゴリズムをどのように選択するかは、装置環境、ポリシー等による設計事項に過ぎない。
以下、本実施の形態のリードコマンド発行動作について図4のフローチャートを用いて説明する。
ホストからデータのリード指示があると、CM11は、ディスク負荷とFCループ負荷の検出を行う(ステップS1,2)。次に、検出されたFCループ負荷が共に設定値より大きく、且つディスク負荷が共に設定値より小さい場合は(ステップS3,yes)、両ディスク(ディスクA,B)に対し第1アルゴリズムを適用したリードコマンドを発行し、FCループ負荷の増大に伴うデータの早期読み込みが妨げられるのを防止する。
一方、ステップS3の判断が肯定的でない場合(ステップS3,no)において、検出されたFCループ負荷が共に設定値より小さく、且つディスク負荷が共に設定値より大きい場合は(ステップS5,yes)、両ディスクに対し第2アルゴリズムを適用したリードコマンドを発行し、ディスク負荷の増大に伴うデータの早期読み込みが妨げられるのを防止する。
なお、以上の動作において、各設定値は、適宜発行コマンド数及びスループットを定めることにより設定することができる。
次に、ステップS5の判断が肯定的でない場合(ステップS5,no)において、FCループ負荷について一方(例えばディスクA)が他方(ディスクB)より小さく、且つディスク負荷について一方(ディスクA)が他方(ディスクB)より大きい場合は(ステップS7,yes)、一方(ディスクA)に第2アルゴリズムを適用し、他方に第1アルゴリズムを適用したリードコマンドを発行する(ステップS8)。
ステップS7の判断が肯定的でない場合(ステップS7,no)において、FCループ負荷について一方(ディスクA)が他方(ディスクB)より大きく、且つディスク負荷について一方(ディスクA)が他方(ディスクB)より小さい場合は(ステップS9,yes)、一方(ディスクA)に第1アルゴリズムを適用し、他方(ディスクB)に第2アルゴリズムを適用したリードコマンドを発行する。
ステップS9の判断が肯定的でない場合は(ステップS9,no)、上述した第1例(設定された負荷優先度の高い方を用いて判断する)、又は第2例(差の比率を用いて採用する負荷を判断する)を適用したリードコマンドを発行する。
なお、以上の動作はリードコマンド発行処理動作を示し、CMは上述のように二つのディスクに対して発行されたリードコマンドに対して早く応答のあったデータを採用してホストに送信する。
以上、本発明の一実施の形態について説明したが、本発明はかかる実施の形態に限定されるものではなく、例えば、負荷の検出を行わずに、二つのアルゴリズムによるリードコマンドを発行して早く応答のあったデータをホストに通知するようにしてもよい。また負荷検出もFCループ負荷とディスク負荷を検出するようにしたが、いずれか一方のみを採用してアルゴリズムを選択するようにしても良い。
なお、図4に示した動作を行うプログラムを磁気ディスク装置の制御プログラムとして、コンピュータにより読取り可能な記録媒体に記憶させることによって、磁気ディスクの制御方法をコンピュータに実行させることが可能となる。なお、本発明において、上記コンピュータにより読取り可能な記録媒体は、CD−ROMやフレキシブルディスク、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
(付記1)同一のデータが二つのディスクのそれぞれに書き込まれるRAID構成を有する磁気ディスク装置であって、
ディスクに書き込まれているデータに対し、複数の異なるアルゴリズムの中から任意のアルゴリズムを選択し、該アルゴリズムに基づいたリードコマンドを前記二つのディスクそれぞれに書き込まれているデータに対しそれぞれ発行するリードコマンド発行部と、
前記リードコマンド発行部により各ディスクに対して発行されたリードコマンドそれぞれによって、より早くデータの読み込みが行われたデータをリードデータとして採用するデータ取得部と
を備えてなる磁気ディスク装置。
(付記2)付記1に記載の磁気ディスク装置において、
前記リードコマンド発行部は、前記二つのディスクの負荷を判断し、該判断された負荷に基づいてそれぞれのディスクに対するリードコマンドのアルゴリズムを選択し、該選択されたアルゴリズムに基づくリードコマンドを発行することを特徴とする磁気ディスク装置。
(付記3)付記2に記載の磁気ディスク装置において、
前記リードコマンド発行部は、前記二つのディスクに対し、それぞれ異なるアルゴリズムに基づくリードコマンドを発行することを特徴とする磁気ディスク装置。
(付記4)付記2に記載の磁気ディスク装置において、
前記リードコマンド発行部は、前記二つのディスクに対し同一のアルゴリズムに基づくリードコマンドを発行することを特徴とする磁気ディスク装置。
(付記5)付記1に記載の磁気ディスク装置において、
前記アルゴリズムには、第1のアルゴリズムとして、ディスクに対して、読み込むべきLBA(ロジカルブロックアドレス)であって、離散するLBA毎にアクセスを行うリードコマンドを発行するアルゴリズムと、
第2のアルゴリズムとして、1回のアクセスで読み込むべきLBAを含む連続するLBAを読み込み、不要なLBAを破棄するリードコマンドを発行するアルゴリズムが備えられていることを特徴とする磁気ディスク装置。
(付記6)付記2に記載の磁気ディスク装置において、
前記リードコマンド発行部は、各ディスクに対するスループットを用いて負荷を判断し、負荷の高い方のディスクに対して第1のアルゴリズムによるリードコマンドを発行することを特徴とする磁気ディスク装置。
(付記7)付記2に記載の磁気ディスク装置において、
前記リードコマンド発行部は、各ディスクに対するコマンド数を用いて各ディスクの負荷を判断し、負荷の高い方のディスクに対して、第2のアルゴリズムによるリードコマンドを発行することを特徴とする磁気ディスク装置。
(付記8)付記2に記載の磁気ディスク装置において、
前記リードコマンド発行部は、各ディスクに対するスループットを用いて第1負荷を判断し、各ディスクに対するコマンド数を用いて第2負荷を判断し、第1負荷と第2負荷とを用いて前記アルゴリズムを選択することを特徴とする磁気ディスク装置。
(付記9)付記6に記載の磁気ディスク装置において、
前記リードコマンド発行部は、二つのディスク間における第1負荷と第2負荷のそれぞれの差に基づいて前記アルゴリズムを選択することを特徴とする磁気ディスク装置。
(付記10)同一のデータが二つのディスクのそれぞれに書き込まれるRAID構成を有する磁気ディスク装置のデータリード処理をコンピュータに実行させる磁気ディスク装置の制御プログラムであって、
ディスクに書き込まれているデータに対し、複数の異なるアルゴリズムの中から任意のアルゴリズムを選択し、該アルゴリズムに基づいたリードコマンドを前記二つのディスクそれぞれに書き込まれているデータに対しそれぞれ発行するリードコマンド発行ステップと、
前記リードコマンド発行ステップにより各ディスクに対して発行されたリードコマンドそれぞれによって、より早くデータの読み込みが行われたデータをリードデータとして採用するデータ取得ステップと
をコンピュータに実行させる磁気ディスク装置の制御プログラム。
(付記11)付記10に記載の磁気ディスク装置の制御プログラムにおいて、
前記リードコマンド発行ステップは、前記二つのディスクの負荷を判断し、該判断された負荷に基づいてそれぞれのディスクに対するリードコマンドのアルゴリズムを選択し、該選択されたアルゴリズムに基づくリードコマンドを発行することを特徴とする磁気ディスク装置の制御プログラム。
(付記12)付記10に記載の磁気ディスク装置の制御プログラムにおいて、
前記リードコマンド発行ステップは、前記二つのディスクに対し、それぞれ異なるアルゴリズムに基づくリードコマンドを発行することを特徴とする磁気ディスク装置の制御プログラム。
(付記13)付記10に記載の磁気ディスク装置の制御プログラムにおいて、
前記リードコマンド発行ステップは、前記二つのディスクに対し同一のアルゴリズムに基づくリードコマンドを発行することを特徴とする磁気ディスク装置。
(付記14)付記10に記載の磁気ディスク装置の制御プログラムにおいて、
前記アルゴリズムには、第1のアルゴリズムとして、ディスクに対して、読み込むべきLBA(ロジカルブロックアドレス)であって、離散するLBA毎にアクセスを行うリードコマンドを発行するアルゴリズムと、
第2のアルゴリズムとして、1回のアクセスで読み込むべきLBAを含む連続するLBAを読み込み、不要なLBAを破棄するリードコマンドを発行するアルゴリズムが備えられていることを特徴とする磁気ディスク装置の制御プログラム。
(付記15)付記11に記載の磁気ディスク装置の制御プログラムにおいて、
前記リードコマンド発行ステップは、各ディスクに対するスループットを用いて負荷を判断し、負荷の高い方のディスクに対して第1のアルゴリズムによるリードコマンドを発行することを特徴とする磁気ディスク装置の制御プログラム。
(付記16)付記11に記載の磁気ディスク装置の制御プログラムにおいて、
前記リードコマンド発行ステップは、各ディスクに対するコマンド数を用いて各ディスクの負荷を判断し、負荷の高い方のディスクに対して、第2のアルゴリズムによるリードコマンドを発行することを特徴とする磁気ディスク装置の制御プログラム。
(付記17)付記11に記載の磁気ディスク装置の制御プログラムにおいて、
前記リードコマンド発行ステップは、各ディスクに対するスループットを用いて第1負荷を判断し、各ディスクに対するコマンド数を用いて第2負荷を判断し、第1負荷と第2負荷とを用いて前記アルゴリズムを選択することを特徴とする磁気ディスク装置の制御プログラム。
(付記18)付記17に記載の磁気ディスク装置の制御プログラムにおいて、
前記リードコマンド発行ステップは、二つのディスク間における第1負荷と第2負荷のそれぞれの差に基づいて前記アルゴリズムを選択することを特徴とする磁気ディスク装置の制御プログラム。
(付記19)同一のデータが二つのディスクのそれぞれに書き込まれるRAID構成を有する磁気ディスク装置の制御方法であって、
ディスクに書き込まれているデータに対し、複数の異なるアルゴリズムの中から任意のアルゴリズムを選択し、該アルゴリズムに基づいたリードコマンドを前記二つのディスクそれぞれに書き込まれているデータに対しそれぞれ発行するリードコマンド発行ステップと、
前記リードコマンド発行ステップにより各ディスクに対して発行されたリードコマンドそれぞれによって、より早くデータの読み込みが行われたデータをリードデータとして採用するデータ取得ステップと
を備える磁気ディスク装置の制御方法。
(付記20)付記19に記載の磁気ディスク装置の制御方法において、
前記リードコマンド発行ステップは、前記二つのディスクの負荷を判断し、該判断された負荷に基づいてそれぞれのディスクに対するリードコマンドのアルゴリズムを選択し、該選択されたアルゴリズムに基づくリードコマンドを発行することを特徴とする磁気ディスク装置の制御方法。
本発明の実施の形態を示すブロック図である。 第1アルゴリズムを示す説明図である。 第2アルゴリズムを示す説明図である。 CMによるリードコマンド発行処理動作を示すフローチャートである。
符号の説明
1 ホスト、10 磁気ディスク装置、11 CM、11a,11b ディスク、12 CPU、13 メモリ。

Claims (5)

  1. 同一のデータが二つのディスクのそれぞれに書き込まれるRAID構成を有する磁気ディスク装置であって、
    前記二つのディスクの負荷と前記二つのディスクに対する異なったアクセス経路の負荷とを検出する負荷検出部と、
    前記負荷検出部によって検出された負荷のうち、アクセス経路の負荷がディスクの負荷よりも大きい場合には、読み込むべきデータ領域毎にアクセスを行う第1のアルゴリズムを選択し、アクセス経路の負荷がディスクの負荷よりも小さい場合には、読み込むべきデータ領域を含む連続領域に一回のアクセスを行う第2のアルゴリズムを選択するアルゴリズム選択部と、
    ディスクに書き込まれているデータに対し、前記アルゴリズム選択部によって選択されたそれぞれのディスクに対するアルゴリズムに基づいリードコマンドを前記二つのディスクそれぞれに対し発行するリードコマンド発行部と、
    前記リードコマンド発行部により各ディスクに対して発行されたリードコマンドそれぞれによって、より早くデータの読み込みが行われたデータをリードデータとして採用するデータ取得部と
    を備えてなる磁気ディスク装置。
  2. 請求項1に記載の磁気ディスク装置において、
    前記リードコマンド発行部は、前記二つのディスクの負荷を判断し、該判断された負荷に基づいてそれぞれのディスクに対するリードコマンドのアルゴリズムを選択し、該選択されたアルゴリズムに基づくリードコマンドを発行することを特徴とする磁気ディスク装置。
  3. 同一のデータが二つのディスクのそれぞれに書き込まれるRAID構成を有する磁気ディスク装置のデータリード処理をコンピュータに実行させる磁気ディスク装置の制御プログラムであって、
    前記二つのディスクの負荷と前記二つのディスクに対する異なったアクセス経路の負荷とを検出する負荷検出ステップと、
    前記負荷検出ステップによって検出された負荷のうち、アクセス経路の負荷がディスクの負荷よりも大きい場合には、読み込むべきデータ領域毎にアクセスを行う第1のアルゴリズムを選択し、アクセス経路の負荷がディスクの負荷よりも小さい場合には、読み込むべきデータ領域を含む連続領域に一回のアクセスを行う第2のアルゴリズムを選択するアルゴリズム選択ステップと、
    ディスクに書き込まれているデータに対し、前記アルゴリズム選択ステップによって選択されたそれぞれのディスクに対するアルゴリズムに基づいリードコマンドを前記二つのディスクそれぞれに対し発行するリードコマンド発行ステップと、
    前記リードコマンド発行ステップにより各ディスクに対して発行されたリードコマンドそれぞれによって、より早くデータの読み込みが行われたデータをリードデータとして採用するデータ取得ステップと
    をコンピュータに実行させる磁気ディスク装置の制御プログラム。
  4. 請求項3に記載の磁気ディスク装置の制御プログラムにおいて、
    前記リードコマンド発行ステップは、前記二つのディスクの負荷を判断し、該判断された負荷に基づいてそれぞれのディスクに対するリードコマンドのアルゴリズムを選択し、該選択されたアルゴリズムに基づくリードコマンドを発行することを特徴とする磁気ディスク装置の制御プログラム。
  5. 同一のデータが二つのディスクのそれぞれに書き込まれるRAID構成を有する磁気ディスク装置の制御方法であって、
    前記二つのディスクの負荷と前記二つのディスクに対する異なったアクセス経路の負荷とを検出する負荷検出ステップと、
    前記負荷検出ステップによって検出された負荷のうち、アクセス経路の負荷がディスクの負荷よりも大きい場合には、読み込むべきデータ領域毎にアクセスを行う第1のアルゴリズムを選択し、アクセス経路の負荷がディスクの負荷よりも小さい場合には、読み込むべきデータ領域を含む連続領域に一回のアクセスを行う第2のアルゴリズムを選択するアルゴリズム選択ステップと、
    ディスクに書き込まれているデータに対し、前記アルゴリズム選択ステップによって選択されたそれぞれのディスクに対するアルゴリズムに基づいリードコマンドを前記二つのディスクそれぞれに対し発行するリードコマンド発行ステップと、
    前記リードコマンド発行ステップにより各ディスクに対して発行されたリードコマンドそれぞれによって、より早くデータの読み込みが行われたデータをリードデータとして採用するデータ取得ステップと
    を備える磁気ディスク装置の制御方法。
JP2005170283A 2005-06-10 2005-06-10 磁気ディスク装置、その制御方法並びに制御プログラム Expired - Fee Related JP4333846B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005170283A JP4333846B2 (ja) 2005-06-10 2005-06-10 磁気ディスク装置、その制御方法並びに制御プログラム
US11/214,871 US7487292B2 (en) 2005-06-10 2005-08-31 Magnetic disk apparatus, control method and control program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005170283A JP4333846B2 (ja) 2005-06-10 2005-06-10 磁気ディスク装置、その制御方法並びに制御プログラム

Publications (2)

Publication Number Publication Date
JP2006344088A JP2006344088A (ja) 2006-12-21
JP4333846B2 true JP4333846B2 (ja) 2009-09-16

Family

ID=37525383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005170283A Expired - Fee Related JP4333846B2 (ja) 2005-06-10 2005-06-10 磁気ディスク装置、その制御方法並びに制御プログラム

Country Status (2)

Country Link
US (1) US7487292B2 (ja)
JP (1) JP4333846B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110737393B (zh) * 2018-07-20 2023-08-11 伊姆西Ip控股有限责任公司 数据读取方法、设备和计算机程序产品

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04205518A (ja) 1990-11-30 1992-07-27 Casio Comput Co Ltd デイスク装置の制御方式
US6834326B1 (en) * 2000-02-04 2004-12-21 3Com Corporation RAID method and device with network protocol between controller and storage devices
US6924780B1 (en) * 2000-08-09 2005-08-02 3Ware, Inc. Spatial display of disk drive activity data
US6832330B1 (en) * 2001-09-05 2004-12-14 Emc Corporation Reversible mirrored restore of an enterprise level primary disk
US6898668B2 (en) * 2002-06-24 2005-05-24 Hewlett-Packard Development Company, L.P. System and method for reorganizing data in a raid storage system
JP2004126850A (ja) 2002-10-01 2004-04-22 Hitachi Ltd ディスクアレイ装置
US20060155944A1 (en) * 2005-01-13 2006-07-13 Hitachi, Ltd. System and method for data migration and shredding
US7272687B2 (en) * 2005-02-01 2007-09-18 Lsi Corporation Cache redundancy for LSI raid controllers
JP2006227964A (ja) * 2005-02-18 2006-08-31 Fujitsu Ltd ストレージシステム、処理方法及びプログラム
JP4832862B2 (ja) * 2005-11-18 2011-12-07 株式会社日立製作所 ディスクアレイシステム及びセキュリティ方法

Also Published As

Publication number Publication date
US7487292B2 (en) 2009-02-03
JP2006344088A (ja) 2006-12-21
US20060282616A1 (en) 2006-12-14

Similar Documents

Publication Publication Date Title
JP3588311B2 (ja) ディスク・ドライブへコマンドを出すかどうかを決定する方法及びディスク・コントローラ
JP6007667B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP4402997B2 (ja) ストレージ装置
US6553476B1 (en) Storage management based on predicted I/O execution times
JP4788528B2 (ja) ディスク制御装置、ディスク制御方法、ディスク制御プログラム
JP5057792B2 (ja) 性能ボトルネックを緩和する機能を備えたストレージシステム
JP4836647B2 (ja) 不揮発性キャッシュメモリを用いる記憶装置とその制御方法
JP4992835B2 (ja) ディスク記憶装置およびプログラム
JP2005309653A (ja) ディスク装置及びキャッシュ制御方法
US7694037B2 (en) Information processing apparatus and command multiplicity control method wherein commands are sent from a host to a target using iSCSI control protocol
JP2012508921A (ja) メモリバンクにおけるアクセスを制御するssdコントローラ
US9465745B2 (en) Managing access commands by multiple level caching
JP4333846B2 (ja) 磁気ディスク装置、その制御方法並びに制御プログラム
JP2001125829A (ja) コントローラ装置、ディスクコントローラ、補助記憶装置、コンピュータ装置、および補助記憶装置の制御方法
US20030172229A1 (en) Systems and methods for detecting and compensating for runt block data transfers
JP2019215759A (ja) 記憶制御システム及び消費電力制御方法
WO2015170702A1 (ja) ストレージ装置と情報処理システム及びストレージ制御方法とプログラム
JP4373450B2 (ja) Raid制御装置及びその制御方法
JP5907189B2 (ja) ストレージ制御装置、ストレージ制御方法、及び、プログラム
JP5678923B2 (ja) ストレージシステム、入出力制御装置、入出力制御方法、および、コンピュータ・プログラム
US9058113B2 (en) Storage region providing device, storage region providing method, and recording medium
JP6919277B2 (ja) ストレージシステム、ストレージ管理装置、ストレージ管理方法、及びプログラム
JP2009093225A (ja) ストレージ制御装置、方法及びプログラム並びにストレージ装置
JP2000235456A (ja) 磁気ディスク装置およびそのディスクアクセス方法
JP4757320B2 (ja) コピー制御装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090318

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

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

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

Free format text: PAYMENT UNTIL: 20120703

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130703

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees