JP3616487B2 - ディスクアレイ装置 - Google Patents

ディスクアレイ装置 Download PDF

Info

Publication number
JP3616487B2
JP3616487B2 JP32129297A JP32129297A JP3616487B2 JP 3616487 B2 JP3616487 B2 JP 3616487B2 JP 32129297 A JP32129297 A JP 32129297A JP 32129297 A JP32129297 A JP 32129297A JP 3616487 B2 JP3616487 B2 JP 3616487B2
Authority
JP
Japan
Prior art keywords
access
area
log
array
storage device
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
JP32129297A
Other languages
English (en)
Other versions
JPH11154057A (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.)
Alps Alpine Co Ltd
Original Assignee
Alps Electric Co 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 Alps Electric Co Ltd filed Critical Alps Electric Co Ltd
Priority to JP32129297A priority Critical patent/JP3616487B2/ja
Priority to US09/182,373 priority patent/US6223300B1/en
Priority to EP98309088A priority patent/EP0918286A3/en
Publication of JPH11154057A publication Critical patent/JPH11154057A/ja
Application granted granted Critical
Publication of JP3616487B2 publication Critical patent/JP3616487B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O 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
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more 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
    • 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/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Description

【0001】
【発明の属する技術分野】
本発明はディスクアレイ装置に係り、特に、予め設定したアレイパラメータを記憶装置へのアクセスログに基づいて変更して記憶装置のデータ領域を再構成するのに好適なディスクアレイ装置に関する。
【0002】
【従来の技術】
従来から、記憶装置の性能を改善することを目的として、複数のハードディスクドライブ(以下、「ディスク」という)を並列のインタフェースを介して接続することによりアクセス時間の短い大容量のディスクサブシステムを構築するディスクアレイ装置が開発されている。
【0003】
このようなディスクアレイ装置によれば、データを各ディスクに分散して記録するので並列に高速アクセスが可能となるし、パリティディスクを設けておけば、1台のディスクが壊れてもパリティ情報によりデータを復旧するも可能となり、故障ディスクを新しいディスクに活線挿抜することにより故障ディスクのデータを復旧することも可能である。
【0004】
また、非常用のスペアディスクを装備しておけば、1台のディスクが故障してもスペアディスク上に故障ディスクのデータを生成し故障ディスクをシステムから切り離すことができる。
【0005】
そして、従来のディスクアレイ装置においては、前記各ディスクを並列にアクセスするために、前記各ディスクのデータの記録領域をストライプ単位で管理、すなわち、連続するアドレスの記憶場所に対応するセグメント単位で管理している。
【0006】
このため、図7(a)に示すように、大容量の読込みや書込み処理命令を複数のディスクの並列アクセスで高速処理することができたり、あるいは、図7(b)に示すように、複数のアプリケーションからの別々の読込みや書込み処理命令を各ディスクに振り分けて並列に高速処理することができるようになっていた。
【0007】
【発明が解決しようとする課題】
しかし、従来のディスクアレイ装置においては、通常、ディスクサブシステムを構成した後に、各ディスクのストライプサイズ等のアレイパラメータを使用頻度等に応じて当初設定した値から変更されることはほとんどなかった。このため、各ディスクへのアクセスに対して設定されているアレイパラメータが必ずしも最適な状態といえない場合があった。
【0008】
すなわち、各ディスクへのアクセス傾向は、アプリケーションの種類、データサイズ、クライアント数および使用頻度等によって大きく異なっており、最初に設定したストライプサイズやディスクの台数あるいはRAIDレベル等のアレイパラメータが最適である可能性はむしろ低く、運用中のディスクアクセスの効率が悪い場合も多かった。
【0009】
たとえば、図8(a)に示すように、大きいアクセスサイズの処理命令が重複して出された場合に、これらの複数の命令を並行に処理することができなかったり、図8(b)に示すように、特定のディスクに小さいサイズの要求が集中してしまって複数のディスクに並行してアクセスできないことがあった。
【0010】
かかる問題があったにもかかわらず、従来のディスクアレイ装置においては、当初設定したストライプサイズ等のアレイパラメータを変更することはほとんどなかった。
【0011】
もし、ストライプサイズを変更する場合には、そのためにホストシステムを長時間停止させて必要なデータのバックアップをとり、元のストライプサイズを新たなストライプサイズに変更してリストアしなければならなかった。
【0012】
また、ストライプサイズの妥当性を検証するためには、アクセス履歴を取り出して人間の手により分析しなければならず、膨大な労力と時間とを要するという問題があり、若しくはアクセス履歴を取り出す手段がない場合もあった。
【0013】
本発明はこのような問題点に鑑みてなされたもので、ホストシステムを停止することなく、ディスクアクセスの傾向に応じて最適なアレイパラメータを割出してディスク等の記憶装置のデータ領域を再構成するディスクアレイ装置を提供することを目的とするものである。
【0014】
【課題を解決するための手段】
前記目的を達成するため本発明に係る請求項1に記載のディスクアレイ装置の特徴は、それぞれが予めストライプサイズ単位に設定されたデータ領域と、アクセスされる毎にアクセス状態を示すログを記録するログ保存領域と、データ領域の構成を変更する際にデータ操作を行うワーク領域と、を有してなる複数の記憶装置を備え、これらの各記憶装置に並列にアクセスして処理を行うディスクアレイ装置であって、前記各記憶装置の論理ドライブを管理する論理ドライブ管理手段と、前記記憶装置群2の各記憶装置のうちからどの記憶装置のストライプにアクセスするかの割り振りを行う記録領域割振手段と、前記各記憶装置の利用状況や処理内容を時間の流れに沿って記録したアクセスログをログ1次保存領域に1次的に保存しておくためのアクセスログ1次保存手段と、このアクセスログ1次保存手段により1次的に保存された各アクセスログを前記各記憶装置のログ保存領域に保存するアクセスログ2次保存手段と、所定のログサイクル経過ごとまたはユーザの指令に従って前記各記憶装置から前記アクセスログを読み出してその内容を分析するアクセスログ分析手段と、このアクセスログ分析手段の分析結果に基づいてアレイパラメータの妥当性を判定するとともに妥当でないと判定した場合に前記アレイパラメータの変更処理を行うアレイパラメータ判定・変更手段と、変更後のアレイパラメータに基づいて前記各記憶装置のデータ領域を再構成する再構成手段と、変更後のアレイパラメータを不揮発性メモリ上に記録するためのアレイパラメータ格納手段と新たなストライプサイズを設定する際に新パリティを生成する機能を有するパリティ生成手段と、ホストシステムとの仲介を行う第1のインタフェースと、前記記憶装置群へのアクセスの仲介を行う第2のインタフェースと、前記各手段の動作全般を統一的に制御するCPU等の制御手段とを有する点にある。そして、このような構成を採用したことにより、ホストシステムを停止することなく、ディスクアクセスの傾向に応じて最適なアレイパラメータを割り出して記憶装置のデータ領域を再構成することができる。
【0015】
また、請求項2に記載のディスクアレイ装置の特徴は、請求項1において、アレイパラメータ判定・変更手段がアレイパラメータのうちのストライプサイズを大きくする必要があると判定した場合に、再構成手段が記憶装置のデータ領域から新ストライプサイズ単位ごとに記録データをワーク領域にコピーし、このワーク領域において新ストライプサイズでの新パリティを生成した後に再び元のデータ領域に記録データをコピーすることにより前記各記憶装置の前記データ領域を再構成するようにした点にある。そして、このような構成を採用したことにより、複数の大容量の読込みおよび書込み処理命令に対して迅速かつ効率的に処理することができる。
【0016】
また、請求項3に記載のディスクアレイ装置の特徴は、アレイパラメータ判定・変更手段がアレイパラメータのうちのストライプサイズを小さくする必要があると判定した場合に、再構成手段が記憶装置のデータ領域から旧ストライプサイズ単位ごとに記録データをワーク領域にコピーし、このワーク領域において新ストライプサイズでの新パリティを生成した後に再び元のデータ領域に記録データをコピーすることにより前記各記憶装置の前記データ領域を再構成するようにした点にある。そして、このような構成を採用したことにより、複数の小容量の読込みおよび書込み処理命令に対して迅速かつ効率的に処理することができる。
【0017】
また、請求項4に記載のディスクアレイ装置の特徴は、ログ保存領域とワーク領域とを記憶装置の同一領域に形成した点にある。そして、このような構成を採用したことにより、アクセスログの分析が終了した後はこのアクセスログを前記ログ保存領域から消去してワーク領域として使用することができ、記憶装置の容量を有効に利用することができる。
【0018】
【発明の実施の形態】
以下、本発明の実施の形態を図1乃至図6を参照して説明する。
【0019】
本実施形態のディスクアレイ装置1は、図1に示すように、複数の記憶装置の例としてディスク#0,#1,#2から構成されるディスク群2と、これら各ディスク#0,#1,#2の論理ドライブを管理する論理ドライブ管理手段3と、前記ディスク群2の各ディスク#0,#1,#2のうちからどのディスク#0,#1,#2のストライプにアクセスするかの割り振りを行うディスク記録領域割振手段4と、各ディスク#0,#1,#2の利用状況や処理内容を時間の流れに沿って記録した、いわゆるアクセスログをログ1次保存領域21に1次的に保存しておくためのアクセスログ1次保存手段5と、このアクセスログ1次保存手段5により1次的に保存された各アクセスログをディスク#0,#1,#2のログ保存領域18に保存するアクセスログ2次保存手段6と、所定のログサイクル経過ごとまたはユーザの指令に従って前記ディスク#0,#1,#2から前記アクセスログを読み出してその内容を分析するアクセスログ分析手段7と、このアクセスログ分析手段7の分析結果に基づいてアレイパラメータの妥当性を判定するとともに妥当でないと判定した場合に前記アレイパラメータの変更処理を行うアレイパラメータ判定・変更手段8と、この変更後のアレイパラメータに基づいて論理ディスク#0,#1,#2を再構成する再構成手段9と、新たに設定したアレイパラメータを不揮発性メモリ上に記録するためのアレイパラメータ格納手段10と、新たなストライプサイズを設定する際に新パリティを生成する機能を有するパリティ生成手段11と、ホストシステム12およびディスクアレイ装置1間の仲介を行うホストシステムインタフェース13と、ディスク群2へのアクセスの仲介を行うディスクインタフェース14と、前記各手段の動作全般を統一的に制御するCPU等の制御手段15とから構成されている。
【0020】
以下、これらの各手段についてより具体的に説明する。
【0021】
前記ディスク群2の各ディスク#0,#1,#2は、不揮発でランダムにアドレスが設定できて書き換え可能な大容量記憶装置であって、例えば、磁気ディスク、光ディスクおよび半導体ディスク等が相当する。
【0022】
なお、本実施形態における前記ディスク群2は、3台のディスク#0,#1,#2により構成されているが、この台数に限る必要はなく、2台、あるいは3台以上でもよい。
【0023】
また、前記各ディスク#0,#1,#2は、図2に示すように、ディスク#0,#1,#2の管理情報を記憶しておくシステム領域16と、予めストライプサイズ単位に設定されたデータ領域17と、前記ディスク#0,#1,#2にアクセスする毎にアクセス状態を示すログを記録するログ保存領域18と、論理ディスク#0,#1,#2の構成を変更する際にデータ操作を行うワーク領域19とを有している。
【0024】
そして、各領域は、例えば、前記ディスク#0,#1,#2の総容量を2.1GB(ギガバイト)とすると、前記システム領域16は0.5MB(メガバイト)、前記データ領域17は2000MB、前記ログ保存領域18および前記ワーク領域19は、併せて99.5MBとされている。このように前記システム領域、前記ログ保存領域および前記ワーク領域を予め固定しておくと、ホストシステム12側の認識が円滑に維持されて、アクセスログの記録をサイクリックにすることができる。
【0025】
なお、本実施形態の前記ログ保存領域18と前記ワーク領域19とは、別領域に設定されているが、これに限る必要はなく、両者を前記ディスク#0,#1,#2の同一領域に形成してもよい。
【0026】
このように、前記ログ保存領域18と前記ワーク領域19とを同一領域に形成した場合には、後述するアクセスログ分析手段7によるアクセス傾向の分析が終了した後は前記ログ保存領域18からそれまでのアクセスログを削除して、この領域を前記ワーク領域19として利用すればよく、前記ディスク#0,#1,#2の容量を有効に利用することができる。
【0027】
前記論理ドライブ管理手段3は、論理ドライブを構成するディスク番号およびデータの記録領域ブロック番号等の相関情報や、各ディスク#0,#1,#2の容量および性能等のアレイパラメータたる状態情報を論理ドライブ番号ごとに管理情報として整理して管理するようになっている。
【0028】
前記ディスク記録領域割振手段4は、ディスク#0,#1,#2へのアクセスを制御するもので、ディスク台数、RAIDレベル、ストライプサイズ等によって論理アドレスから物理アドレスに変換し、各ディスク#0,#1,#2へのコマンドを割り振るものである。
【0029】
前記アクセスログ1次保存手段5は、DRAM等の揮発性または不揮発性メモリであるログ1次保存領域21を有しており、このログ1次保存領域21に前記ホストシステム12から前記各ディスク#0,#1,#2へ出力されたアクセスの内容やそのアクセスサイズ等を1次的に保存するようになっている。
【0030】
そして、前記アクセスログ2次保存手段6は、前記ログ1次保存領域21に1次的に保存されている各アクセスログを前記ディスク#0,#1,#2のログ保存領域18に2次的に順次保存するようになっている。
【0031】
前記アクセスログ分析手段7は、周期的に起動命令を出力するタイマ22に接続されており、このタイマ22からログ分析起動命令が出力されると、まず予め指定された分析時期であるか否かを確認するようになっている。すなわち、アクセスログはディスク#0,#1,#2の一定領域をサイクリックに利用するようになっているので、定期的に分析してもアクセスコマンドが出力された回数の大小によって各ディスク#0,#1,#2に保存されているアクセスログの量は異なってしまう。したがって、前記アクセスログ分析手段7は、所定のログサイクルが経過するまでログ分析を開始しないようになっている。
【0032】
そして、所定のログサイクルが経過すると、前記アクセスログ分析手段7は前記ディスク#0,#1,#2からアクセスログを読み出して、アクセス要求のサイズや回数、ディスク#0,#1,#2上の位置等のアクセス傾向を分析するようになっている。
【0033】
なお、このようにログ分析の開始を自動的に行うのではなく、ユーザの分析開始指令により行うようにしてもよい。
【0034】
ここで、前記アクセスログ分析手段7によるログ分析処理の実施例を図3および図4に示す。
【0035】
図3および図4は1回の分析処理単位を示したものであり、左から右へ時系列に従って処理が進行するように示されている。
【0036】
図3中において、「LogID」はコマンド発行かコマンド終了かを識別するためのものであり、01hがコマンド発行、02hがコマンド完了をそれぞれ意味している。
【0037】
また、図3中の「TAG」はディスク#0,#1,#2に発行するコマンドの順序識別子を示しており、このTAGを目印としてコマンド順序を判断するようになっている。これは、制御手段15からコマンドが発行されると、前記ディスク#0,#1,#2はコマンド発行順に実行するとは限らず、最も処理速度が速くなるように順番を変更して実行するようになっている。このため、コマンド発行側の発行順にコマンドが終了しない場合があることから、コマンド発行側がコマンドに前記TAG番号を付加して発行し、当該コマンドの完了を識別できるようにしているのである。
【0038】
図3中の「Ch/SCSI−ID」は、SCSI BUS番号(SCSIチャネル番号)と、SCSIデバイス、つまりディスク#0,#1,#2の識別子を示しており、具体的には、00hはディスク#0、01hはディスク#1、02hはディスク#2にそれぞれ相当する。この図3では、全て同一BUSに接続されている例が示されている。
【0039】
また、図3のCDBはCommand Descripter Blockの略であって、コマンドそのものを意味している。StartBlockは、ディスク#0,#1,#2におけるアドレス番地を示しており、BlockLenは、どの程度の領域をアクセスしたかを示している。
【0040】
以上の要素に基づいて、前記ディスク群2へのアクセスサイズの傾向が導かれる。この場合、1BlockSizeは512バイトであるため、例えば、40hは、40h×512バイト=20h×1Kバイト=32×1Kバイト=32KBのストライプサイズに相当することになる。同様に、10h=8KBであり、80h=64KBである。
【0041】
このようなアクセスログの分析結果より、図4に示すように、この例の場合にはストライプサイズが64KB以上が適当であり、ディスク#0,#1,#2の並列アクセスが可能であり、ディスク#0,#1,#2内で連続領域アクセスも可能となる。
【0042】
また、アクセスログに基づく分析方法についての具体例を示す。
【0043】
まず、第1の分析方法について説明する。この第1の分析方法は、時系列に従ってアクセスログのデータを分析する方法であって、発行したコマンドが全て完了(正常終了)するまでを処理単位とするようになっている。そして、処理単位中のディスク番号やアクセス位置、アクセスサイズの分布を作成し、ディスク#0,#1,#2の並列アクセス性および連続アクセス性を検証するようになっている。
【0044】
また、第2の分析方法は、アクセスサイズによりソートして分析する方法であり、アクセスログのアクセスサイズを、サポートするストライプサイズ別にカウントし、要求されたアクセスサイズの発生頻度によりアクセスの傾向を把握するようになっている。アクセスログの分析は統計的手法を用いることもできる。
【0045】
つぎに、アレイパラメータ判定・変更手段8について説明する。
【0046】
このアレイパラメータ判定・変更手段8は、前述したアクセスログ分析手段7による分析結果に基づいて既定したアレイパラメータの妥当性を判定し、変更する必要があれば変更するようになっている。
【0047】
例えば、特定のディスク#0,#1,#2の不連続領域にアクセスが集中する傾向がある場合にはストライプサイズの変更を必要とする。アクセスサイズが小さいときはストライプサイズを大きくし、アクセスサイズが大きいときはストライプサイズを小さくするようになっている。
【0048】
あるいは、前記各ディスク#0,#1,#2について並列アクセスを行っているが、ストライプサイズの単位で同時期に実行されている場合には、複数のコマンドが並列に実行されていないため、ストライプサイズが大きくなるように変更するようになっている。
【0049】
また、RAID5により大容量のアクセスがシーケンシャルに実行されている場合には、RAIDレベルをRAID5からRAID3に変更するようになっている。
【0050】
前記再構成手段9は、アレイパラメータ判定・変更手段8により変更された後のアレイパラメータに基づいて論理ディスク#0,#1,#2を再構成、すなわち、各ディスク#0,#1,#2のデータ領域17を再構成するものである。
【0051】
この再構成処理の具体例について図5を参照しつつ説明する。例えば、旧ストライプサイズが8KBであったものを16KBの新ストライプサイズに変更して再構成する場合について説明する。
【0052】
この場合には、まず、各ディスク#0,#1,#2のデータ領域17に予め設定されている8KBの旧ストライプサイズを新ストライプサイズ単位である16KBの単位でワーク領域19にコピーする。そして、このワーク領域19において、後述するパリティ生成手段11により新ストライプサイズでの新パリティを生成する。この新パリティが完成したら元のデータ領域17にコピーする。このような処理を各ストライプについて繰り返し行って最終的に全ストライプについて再構成が完成するようになっている。
【0053】
また、もし、ストライプサイズを小さくして再構成する場合には、旧ストライプサイズ単位にワーク領域19にコピーし、このワーク領域19においてパリティ生成手段11により新ストライプサイズでの新パリティを生成した後に元のデータ領域17に戻すようになっている。
【0054】
前記アレイパラメータ格納手段10は、新たに設定したストライプ等のアレイパラメータを不揮発性メモリ上に記録しておくためのものである。
【0055】
前記パリティ生成手段11は、論理ディスク#0,#1,#2の再構成の際に新たなストライプサイズを設定する必要がある場合に新パリティを生成するためのものである。
【0056】
前記制御手段15は、前述した各手段の動作が円滑に行われるように制御するものであり、例えば、アクセスログのディスク#0,#1,#2への保存からこれを読み出して分析し、アレイパラメータの判定変更および論理ディスク#0,#1,#2の再構成までの各手段による一連の動作を制御するようになっている。
【0057】
また、前記ホストシステムインタフェース13は、ホストシステム12とディスクアレイ装置1との間における電圧や電流、作動タイミング等の相違を調整するようになっており、ソフト的にはホストシステムからのコマンド発行、完了等を制御するもので、前記ディスクインターフェース14は、前記制御手段15と前記ディスク群2との間における作動タイミング等の相違を調整するもので、ソフト的にはSCSI BUSの制御を行い、ディスクとインタフェースするようになっている。
【0058】
なお、前記ディスクインタフェース14とディスク群2との間には、前記制御手段15から前記ディスク群2へ出力された信号が通るSCSI BUS23が配設されている。
【0059】
つぎに、本発明の実施形態による論理ドライブの自動再構成処理について図6を参照しつつ説明する。
【0060】
本実施形態は、ホストシステム12からディスク#0,#1,#2へアクセスがあると、このアクセス情報をアクセスログ1次保存手段5がログ1次保存領域21に1次的に保存する。その後、アクセスログ2次保存手段6が、前記アクセスログをアクセスされた当該ディスク#0,#1,#2のログ保存領域18に順次保存する。
【0061】
つぎに、ステップST1において、アクセスログ分析手段7がタイマ22により周期的に起動され、ステップST2において、前記各ディスク#0,#1,#2に予め指定された分析時期となったか否かを判定する。この分析時期の指定は、例えばアクセス回数あるいはアクセスサイズ等を基準として設定されている。
【0062】
そして、YESの場合、つまり分析時期となったことを認識したときはステップST3に進行し、NOの場合、つまり分析時期となっていないことを認識したときはステップST4に進行する。
【0063】
ステップST3においては、アクセスログの分析およびディスク#0,#1,#2のデータ領域再構成処理を起動する旨の信号をタスク間通信手段により通知し、ステップST5に進行する。
【0064】
一方、ステップST4に進行した場合には、その他の処理を行った後にステップST1に戻って閉ループを形成し、つぎの分析時期の確認判定処理を待つ。
【0065】
つぎに、ステップST5において、アクセスログ分析起動判定処理から起動命令が通知されると、ステップST6に進行し、前記アクセスログ分析手段7が各ディスク#0,#1,#2に保存されているアクセスログを読み出してステップST7に進行する。
【0066】
つぎに、ステップST7において、前記アクセスログ分析手段7がアクセスログの分析を開始し、ステップST8に進行する。
【0067】
つぎに、ステップST8において、前記アレイパラメータ判定・変更手段8が、ストライプサイズやディスク台数、RAIDレベル等のアレイパラメータの妥当性を判定する。この判定の結果、アレイパラメータが妥当であると判断した場合には、アレイパラメータを変更する必要はないためステップST5に戻る。一方、アレイパラメータが妥当でないと判断した場合には、ステップST9に進行する。
【0068】
つぎに、ステップST9において、アレイパラメータのうちで変更が必要な要素について変更処理を行い、前記アレイパラメータ格納手段10により所定の領域に格納した後、ステップST10に進行する。
【0069】
つぎに、ステップST10において、再構成手段9が変更後のアレイパラメータに基づいてディスク#0,#1,#2のデータ領域17を再構成する。この場合、ストライプサイズを変更する必要があるときには、前記パリティ生成手段11により新パリティを生成し、新ストライプサイズを再構成する。
【0070】
そして、ステップST11に進行して、ホストシステム12の監視処理へ通知した後に、ステップST5に戻って閉ループを形成し次のアクセスログ分析起動処理を待つようになっている。
【0071】
したがって、本発明の実施形態によれば、ホストシステム12を停止することなく、ディスクアクセスの傾向に応じて最適なアレイパラメータを割出してディスク#0,#1,#2のデータ領域17を再構成することができる。
【0072】
なお、本発明は前記実施の形態のものに限定されるものではなく、必要に応じて種々変更することが可能である。
【0073】
【発明の効果】
以上述べたように本発明に係るディスクアレイ装置によれば、ホストシステムを停止することなく、ディスクアクセスの傾向に応じて最適なアレイパラメータを割出してディスクのデータ領域を再構成することができる。
【0074】
また、記憶装置のログ領域とワーク領域とを同一領域に形成することにより記憶装置の容量を有効に利用できる等の効果を奏する。
【図面の簡単な説明】
【図1】本発明に係るディスクアレイ装置の実施形態を示すブロック図
【図2】本実施形態における各ディスクの記憶領域に関する説明図
【図3】本実施形態におけるアクセスログの1例を示す説明図
【図4】本実施形態におけるアクセスログの1例を示す説明図
【図5】本実施形態における再構成手段によるディスクのデータ領域再構成処理の1例を示す説明図
【図6】本実施形態における自動再構成処理を示すフローチャート図
【図7】(a)は従来のディスクアレイ装置における大容量の読み込みおよび書き込み命令に対する処理を示す説明図であり、(b)は複数の読み込みおよび書き込み命令に対する処理を示す説明図
【図8】(a)は従来のディスクアレイ装置における複数の大容量の読み込みおよび書き込み命令に対する処理を示す説明図であり、(b)は特定のディスクに対する小容量の読み込みおよび書き込み命令に対する処理を示す説明図
【符号の説明】
1 ディスクアレイ装置
2 ディスク群
3 論理ドライブ管理手段
4 ディスク記録領域割振手段
5 アクセスログ1次保存手段
6 アクセスログ2次保存手段
7 アクセスログ分析手段
8 アレイパラメータ判定・変更手段
11 パリティ生成手段
15 制御手段
16 システム領域
17 データ領域
18 ログ保存領域
19 ワーク領域

Claims (4)

  1. それぞれが予めストライプサイズ単位に設定されたデータ領域と、アクセスされる毎にアクセス状態を示すログを記録するログ保存領域と、データ領域の構成を変更する際にデータ操作を行うワーク領域と、を有してなる複数の記憶装置を備え、これらの各記憶装置に並列にアクセスして処理を行うディスクアレイ装置であって、
    前記各記憶装置の論理ドライブを管理する論理ドライブ管理手段と、
    前記記憶装置群2の各記憶装置のうちからどの記憶装置のストライプにアクセスするかの割り振りを行う記録領域割振手段と、
    前記各記憶装置の利用状況や処理内容を時間の流れに沿って記録したアクセスログをログ1次保存領域に1次的に保存しておくためのアクセスログ1次保存手段と、
    このアクセスログ1次保存手段により1次的に保存された各アクセスログを前記各記憶装置のログ保存領域に保存するアクセスログ2次保存手段と
    所定のログサイクル経過ごとまたはユーザの指令に従って前記各記憶装置から前記アクセスログを読み出してその内容を分析するアクセスログ分析手段と、
    このアクセスログ分析手段の分析結果に基づいてアレイパラメータの妥当性を判定するとともに妥当でないと判定した場合に前記アレイパラメータの変更処理を行うアレイパラメータ判定・変更手段と、
    変更後のアレイパラメータに基づいて前記各記憶装置のデータ領域を再構成する再構成手段と、
    変更後のアレイパラメータを不揮発性メモリ上に記録するためのアレイパラメータ格納手段と
    新たなストライプサイズを設定する際に新パリティを生成する機能を有するパリティ生成手段と、
    ホストシステムとの仲介を行う第1のインタフェースと
    前記記憶装置群へのアクセスの仲介を行う第2のインタフェースと、
    前記各手段の動作全般を統一的に制御するCPU等の制御手段とを有することを特徴とするディスクアレイ装置。
  2. 前記アレイパラメータ判定・変更手段が前記アレイパラメータのうちのストライプサイズを大きくする必要があると判定した場合に、前記再構成手段が前記記憶装置の前記データ領域から新ストライプサイズ単位ごとに記録データを前記ワーク領域にコピーし、このワーク領域において新ストライプサイズでの新パリティを生成した後に再び元のデータ領域に記録データをコピーすることにより前記各記憶装置の前記データ領域を再構成するようにしたことを特徴とする請求項1に記載のディスクアレイ装置。
  3. 前記アレイパラメータ判定・変更手段が前記アレイパラメータのうちのストライプサイズを小さくする必要があると判定した場合に、前記再構成手段が前記記憶装置の前記データ領域から旧ストライプサイズ単位ごとに記録データを前記ワーク領域にコピーし、このワーク領域において新ストライプサイズでの新パリティを生成した後に再び元のデータ領域に記録データをコピーすることにより前記各記憶装置の前記データ領域を再構成するようにしたことを特徴とする請求項1に記載のディスクアレイ装置。
  4. 前記ログ保存領域と前記ワーク領域とを前記記憶装置の同一領域に形成したことを特徴とする請求項1乃至請求項3のいずれか1項に記載のディスクアレイ装置。
JP32129297A 1997-11-21 1997-11-21 ディスクアレイ装置 Expired - Fee Related JP3616487B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP32129297A JP3616487B2 (ja) 1997-11-21 1997-11-21 ディスクアレイ装置
US09/182,373 US6223300B1 (en) 1997-11-21 1998-10-29 Disk array apparatus
EP98309088A EP0918286A3 (en) 1997-11-21 1998-11-05 Disk array apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32129297A JP3616487B2 (ja) 1997-11-21 1997-11-21 ディスクアレイ装置

Publications (2)

Publication Number Publication Date
JPH11154057A JPH11154057A (ja) 1999-06-08
JP3616487B2 true JP3616487B2 (ja) 2005-02-02

Family

ID=18130949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32129297A Expired - Fee Related JP3616487B2 (ja) 1997-11-21 1997-11-21 ディスクアレイ装置

Country Status (3)

Country Link
US (1) US6223300B1 (ja)
EP (1) EP0918286A3 (ja)
JP (1) JP3616487B2 (ja)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6516425B1 (en) * 1999-10-29 2003-02-04 Hewlett-Packard Co. Raid rebuild using most vulnerable data redundancy scheme first
US6581185B1 (en) * 2000-01-24 2003-06-17 Storage Technology Corporation Apparatus and method for reconstructing data using cross-parity stripes on storage media
JP3592640B2 (ja) * 2001-01-09 2004-11-24 株式会社東芝 ディスク制御システムおよびディスク制御方法
JP2003085118A (ja) * 2001-09-13 2003-03-20 Fujitsu Ltd 周辺装置のパラメータ設定方法、及び、周辺装置
US6851082B1 (en) 2001-11-13 2005-02-01 Network Appliance, Inc. Concentrated parity technique for handling double failures and enabling storage of more than one parity block per stripe on a storage device of a storage array
US7346831B1 (en) 2001-11-13 2008-03-18 Network Appliance, Inc. Parity assignment technique for parity declustering in a parity array of a storage system
US7055058B2 (en) * 2001-12-26 2006-05-30 Boon Storage Technologies, Inc. Self-healing log-structured RAID
US7073115B2 (en) * 2001-12-28 2006-07-04 Network Appliance, Inc. Correcting multiple block data loss in a storage array using a combination of a single diagonal parity group and multiple row parity groups
US6993701B2 (en) * 2001-12-28 2006-01-31 Network Appliance, Inc. Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array
US7640484B2 (en) * 2001-12-28 2009-12-29 Netapp, Inc. Triple parity technique for enabling efficient recovery from triple failures in a storage array
US7613984B2 (en) 2001-12-28 2009-11-03 Netapp, Inc. System and method for symmetric triple parity for failing storage devices
US8402346B2 (en) * 2001-12-28 2013-03-19 Netapp, Inc. N-way parity technique for enabling recovery from up to N storage device failures
US7080278B1 (en) 2002-03-08 2006-07-18 Network Appliance, Inc. Technique for correcting multiple storage device failures in a storage array
US7539991B2 (en) * 2002-03-21 2009-05-26 Netapp, Inc. Method and apparatus for decomposing I/O tasks in a raid system
US7437727B2 (en) * 2002-03-21 2008-10-14 Network Appliance, Inc. Method and apparatus for runtime resource deadlock avoidance in a raid system
US7254813B2 (en) * 2002-03-21 2007-08-07 Network Appliance, Inc. Method and apparatus for resource allocation in a raid system
US7200715B2 (en) * 2002-03-21 2007-04-03 Network Appliance, Inc. Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes
US6976146B1 (en) 2002-05-21 2005-12-13 Network Appliance, Inc. System and method for emulating block appended checksums on storage devices by sector stealing
KR100490723B1 (ko) * 2002-11-29 2005-05-24 한국전자통신연구원 파일 레벨 스트라이핑 장치 및 방법
US7185144B2 (en) 2003-11-24 2007-02-27 Network Appliance, Inc. Semi-static distribution technique
US7111147B1 (en) * 2003-03-21 2006-09-19 Network Appliance, Inc. Location-independent RAID group virtual block management
US7424637B1 (en) 2003-03-21 2008-09-09 Networks Appliance, Inc. Technique for managing addition of disks to a volume of a storage system
US7143235B1 (en) 2003-03-21 2006-11-28 Network Appliance, Inc. Proposed configuration management behaviors in a raid subsystem
US7328364B1 (en) 2003-03-21 2008-02-05 Network Appliance, Inc. Technique for coherent suspension of I/O operations in a RAID subsystem
US7664913B2 (en) * 2003-03-21 2010-02-16 Netapp, Inc. Query-based spares management technique
US7275179B1 (en) 2003-04-24 2007-09-25 Network Appliance, Inc. System and method for reducing unrecoverable media errors in a disk subsystem
US7328305B2 (en) 2003-11-03 2008-02-05 Network Appliance, Inc. Dynamic parity distribution technique
US7366837B2 (en) * 2003-11-24 2008-04-29 Network Appliance, Inc. Data placement technique for striping data containers across volumes of a storage system cluster
US7647451B1 (en) 2003-11-24 2010-01-12 Netapp, Inc. Data placement technique for striping data containers across volumes of a storage system cluster
US7263629B2 (en) * 2003-11-24 2007-08-28 Network Appliance, Inc. Uniform and symmetric double failure correcting technique for protecting against two disk failures in a disk array
US8140860B2 (en) * 2003-12-15 2012-03-20 International Business Machines Corporation Policy-driven file system with integrated RAID functionality
US20050166022A1 (en) * 2004-01-28 2005-07-28 Hitachi, Ltd. Method and apparatus for copying and backup in storage systems
US7171518B2 (en) * 2004-04-02 2007-01-30 Lsi Logic Corporation Data storage system recovery from disk failure during system off-line condition
US7350046B2 (en) * 2004-04-02 2008-03-25 Seagate Technology Llc Managed reliability storage system and method monitoring storage conditions
US20060075281A1 (en) * 2004-09-27 2006-04-06 Kimmel Jeffrey S Use of application-level context information to detect corrupted data in a storage system
US7263583B2 (en) * 2004-10-05 2007-08-28 International Business Machines Corporation On demand, non-capacity based process, apparatus and computer program to determine maintenance fees for disk data storage system
US7398460B1 (en) 2005-01-31 2008-07-08 Network Appliance, Inc. Technique for efficiently organizing and distributing parity blocks among storage devices of a storage array
JP4671738B2 (ja) * 2005-04-01 2011-04-20 株式会社日立製作所 ストレージシステム及び記憶領域割当て方法
US8560503B1 (en) 2006-01-26 2013-10-15 Netapp, Inc. Content addressable storage system
US7822921B2 (en) 2006-10-31 2010-10-26 Netapp, Inc. System and method for optimizing write operations in storage systems
US7613947B1 (en) 2006-11-30 2009-11-03 Netapp, Inc. System and method for storage takeover
US7647526B1 (en) 2006-12-06 2010-01-12 Netapp, Inc. Reducing reconstruct input/output operations in storage systems
US8209587B1 (en) 2007-04-12 2012-06-26 Netapp, Inc. System and method for eliminating zeroing of disk drives in RAID arrays
JP5041860B2 (ja) * 2007-04-20 2012-10-03 株式会社日立製作所 ストレージ装置及び管理単位設定方法
US7840837B2 (en) * 2007-04-27 2010-11-23 Netapp, Inc. System and method for protecting memory during system initialization
US8898536B2 (en) * 2007-04-27 2014-11-25 Netapp, Inc. Multi-core engine for detecting bit errors
US7836331B1 (en) 2007-05-15 2010-11-16 Netapp, Inc. System and method for protecting the contents of memory during error conditions
US7975102B1 (en) 2007-08-06 2011-07-05 Netapp, Inc. Technique to avoid cascaded hot spotting
US8020074B2 (en) * 2007-08-24 2011-09-13 Datadirect Networks, Inc. Method for auto-correction of errors in a RAID memory system
US8181089B1 (en) 2007-08-24 2012-05-15 Datadirect Networks, Inc. Method for auto-correction of errors in a solid-state memory system
US9158579B1 (en) 2008-11-10 2015-10-13 Netapp, Inc. System having operation queues corresponding to operation execution time
US8495417B2 (en) * 2009-01-09 2013-07-23 Netapp, Inc. System and method for redundancy-protected aggregates
JP5884602B2 (ja) * 2012-03-30 2016-03-15 富士通株式会社 ストレージ制御装置、およびストレージシステム
JP6171478B2 (ja) 2013-03-28 2017-08-02 富士通株式会社 ストレージシステム、情報処理装置、情報処理装置の制御プログラム、および情報処理装置の制御方法
US9830110B2 (en) * 2014-06-20 2017-11-28 Dell Products, Lp System and method to enable dynamic changes to virtual disk stripe element sizes on a storage controller

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3178909B2 (ja) * 1992-01-10 2001-06-25 株式会社東芝 半導体メモリ装置
US5724539A (en) * 1992-03-19 1998-03-03 Digital Equipment Corporation System for selectively storing stripes of data in tracks of disks so that sum of transfer rates of stripes match communication bandwidth to host
US5408644A (en) * 1992-06-05 1995-04-18 Compaq Computer Corporation Method and apparatus for improving the performance of partial stripe operations in a disk array subsystem
US5574851A (en) 1993-04-19 1996-11-12 At&T Global Information Solutions Company Method for performing on-line reconfiguration of a disk array concurrent with execution of disk I/O operations
US5619690A (en) * 1993-06-21 1997-04-08 Hitachi, Ltd. Computer system including a computer which requests an access to a logical address in a secondary storage system with specification of a local address in the secondary storage system
US5511227A (en) 1993-09-30 1996-04-23 Dell Usa, L.P. Method for configuring a composite drive for a disk drive array controller
JP3201219B2 (ja) 1995-05-29 2001-08-20 三菱電機株式会社 入出力処理システム
US5657468A (en) 1995-08-17 1997-08-12 Ambex Technologies, Inc. Method and apparatus for improving performance in a reduntant array of independent disks
US5809224A (en) * 1995-10-13 1998-09-15 Compaq Computer Corporation On-line disk array reconfiguration
US5961652A (en) * 1995-10-13 1999-10-05 Compaq Computer Corporation Read checking for drive rebuild
US5765204A (en) * 1996-06-05 1998-06-09 International Business Machines Corporation Method and apparatus for adaptive localization of frequently accessed, randomly addressed data
US5950230A (en) * 1997-05-28 1999-09-07 International Business Machines Corporation RAID array configuration synchronization at power on
US6058455A (en) * 1997-07-02 2000-05-02 International Business Corporation RAID system having a selectable unattended mode of operation with conditional and hierarchical automatic re-configuration

Also Published As

Publication number Publication date
US6223300B1 (en) 2001-04-24
JPH11154057A (ja) 1999-06-08
EP0918286A2 (en) 1999-05-26
EP0918286A3 (en) 2000-10-18

Similar Documents

Publication Publication Date Title
JP3616487B2 (ja) ディスクアレイ装置
US7774540B2 (en) Storage system and method for opportunistic write-verify
US7330931B2 (en) Method and system for accessing auxiliary data in power-efficient high-capacity scalable storage system
US5737745A (en) Redundant array of disks with host notification process for improved storage and recovery speed
US8423739B2 (en) Apparatus, system, and method for relocating logical array hot spots
JP5074601B2 (ja) 揮発性メモリと不揮発性メモリとを備えたストレージシステム
US8140747B2 (en) Operating method for a memory subsystem and devices for executing the operating method
US20120110259A1 (en) Tiered data storage system with data management and method of operation thereof
US8914340B2 (en) Apparatus, system, and method for relocating storage pool hot spots
TWI385516B (zh) 快閃記憶體儲存系統及其資料寫入方法
US7266668B2 (en) Method and system for accessing a plurality of storage devices
KR101384438B1 (ko) 데이터를 사전 각색하는 방법 및 컴퓨터 판독가능 매체
US6272571B1 (en) System for improving the performance of a disk storage device by reconfiguring a logical volume of data in response to the type of operations being performed
US8924659B2 (en) Performance improvement in flash memory accesses
CN105103140A (zh) 存储系统中的数据硬化
CN101661473A (zh) 固态存储器、计算机系统以及操作固态存储器的方法
CN102508724A (zh) 一种基于软raid的磁盘坏块处理方法
JP2019074897A (ja) ストレージ制御装置、及びプログラム
US20050033933A1 (en) Systems and methods for modifying disk drive firmware in a raid storage system
JPH09282104A (ja) 記憶装置のデータ記憶性能向上方法とその装置
JP2003131818A (ja) クラスタ構成ストレージにおけるクラスタ間raid構成
EP1126366A2 (en) Storage apparatus and access control method
JP2015014963A (ja) ストレージ制御装置、制御プログラム及び制御方法
JP7100253B2 (ja) ストレージ制御装置およびストレージ制御プログラム
JPH07306758A (ja) ディスクアレイ装置及びその制御方法

Legal Events

Date Code Title Description
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: 20041019

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041105

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081112

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091112

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees