(57)【要約】【課題】ストレージ増設タイミングに簡便で、速やかなストレージ増設が可能なファイル管理方法を提供する。【解決手段】増設後のアドレス管理テーブル２５ｂは、新しく増設されたディスクＤ７のブロックＡ１には、既存のディスクＤ１のブロックＡ２に記憶されていたデータ、ブロックＡ２にはディスクＤ２のブロックＡ３、ブロックＡ３にはディスクＤ３のブロックＡ４、ブロックＡ４には、ディスクＤ４のブロックＡ５のデータが移し替えられる様に対応付けられ、既存の各ディスクの移し替えられたブロックのデータは削除され、空ブロックになる。【選択図】図７
2010033161.tif 000002
【特許請求の範囲】
【請求項１】
ホストに接続され、アドレス管理テーブルと、コントローラと、ｎ台のディスクとを備え、前記各ディスクのデータの記憶エリアをブロックに分けてデータを分散して蓄積するストレージシステムにディスクを１台増設する場合のファイル管理方法において、
増設前の前記各ディスクは、順に１からｎ迄の番号が付与されると共に、前記各ディスクの前記記憶エリアは、最大でもｎ個以下のＭ個のブロックに等分され、かつ、前記Ｍ個のブロックは先頭から順に１からＭ迄の番号が付与され、
ディスクが増設されるまでの第１の前記アドレステーブルは、各前記ブロックをｎ×Ｍのマトリクスで識別可能にして各前記ブロックで蓄積されるデータが対応づけられ、
増設後は、第２の前記アドレステーブルとして、（ｎ＋１）×Ｍのマトリクスのテーブルが準備され、
前記コントローラは、
前記ホストからディスク増設のコマンドを受信すると、
前記第２のアドレス管理テーブルを参照することにより増設されたｎ＋１番目のディスクの先頭の前記ブロックから若い番号順に、更に前記第１のアドレステーブルを参照して前記ディスクについて同じく若い番号順で前記割り当てられた番号の次の番号になる前記割り当てられた番号のブロックに記憶されたデータを既存のディスクから順番に読み出して書き込み記憶する制御を行いディスクを増設する
ことを特徴とするファイル管理方法。
【請求項２】
ホストに接続され、アドレス管理テーブルと、コントローラと、ｎ台のディスクとを備え、前記各ディスクのデータの記憶エリアをブロックに分けてデータを分散して蓄積するストレージシステムにディスクを１台増設する場合のファイル管理方法において、
前記各ディスクは、順に１からｎ迄の番号が付与されると共に、前記各ディスクの前記記憶エリアは、最大でもｎ個以下のＭ個のブロックに等分され、かつ、前記Ｍ個のブロックは先頭から順に１からＭ迄の番号が付与され、
ディスクが増設されるまでは、各前記ブロックをｎ×Ｍのマトリクスでそれぞれ識別可能にして、各前記ブロックで蓄積するデータが対応づけられた第１の前記アドレステーブルが準備され、
増設後の第２の前記アドレステーブルとして、（ｎ＋１）×Ｍのマトリクスのテーブルが準備され、更に増設後、前記第２のアドレス管理テーブルに従って記憶されたデータを、再配置するための第３のアドレス管理テーブルが準備され
前記コントローラは、
前記ホストからディスク増設のコマンドを受信すると、
前記第２のアドレス管理テーブルを参照することにより増設されたｎ＋１番目のディスクの先頭の前記ブロックから若い番号順に、更に前記第１のアドレステーブルを参照して前記ディスクについて同じく若い番号順で前記割り当てられた番号の次の番号になる前記割り当てられた番号のブロックに記憶されたデータを既存のディスクから順番に読み出して書き込み記憶し、
前記第２のアドレス管理テーブルに従って前記書き込み記憶が終了した後、更に前記第２と、第３のアドレス管理テーブルとを参照して前記記憶されたデータを前記第３のアドレス管理テーブル指定のブロックへ再配置して記憶する
制御を行いディスクを増設する
ことを特徴とするファイル管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のストレージ（ディスク）装置で動作するストレージシステムのファイル管理方法に関する。
【背景技術】
【０００２】
放送局では、放送番組の素材データをＶＴＲの様な記憶媒体に蓄積保存する方法に加えて、アクセス性の良いディスク装置に蓄積保存する放送が導入されている。この方法は、即座に必要な素材を読出し、及び書込み記憶蓄積する事が容易で有るが、大量の素材データを蓄積するため、また、記憶媒体であるディスクの障害や、誤操作によるデータの紛失を防ぐため、に記憶媒体（以下、ディスクと称する。）を複数動作させる一般にＲＡＩＤ（Redundant  Arrays  of  Inexpensive Disks）と呼ばれる方法が採られている。
【０００３】
この場合、蓄積する素材のデータが増加するため、ディスクを追加してトータルの容量を増加させる処理が適時行われる。しかしながら、放送局を代表とするように動作を継続したままで、ディスクを増設しなければならないが、この増設に際しては、増設前後で、各ディスクが記憶蓄積しているデータファイルの蓄積先やファイル構造を再構成しなければならない（例えば、特許文献１。）。
【０００４】
原則的には、各ディスクの使用量と空き容量は、均一であることが望ましいが、増設されたディスクに記憶データの再配分を速やかに行わなければならない問題が有った。
【特許文献１】特許第３３８７０１７号公報  （第２０頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
増設前後で、各ディスクが記憶蓄積しているデータファイルの蓄積先やファイル構造を再構成しなければならないが、増設されたディスクに記憶データの再配分を速やかに行わなければならない問題が有った。
【０００６】
本発明は上記問題を解決するためになされたもので、ストレージのディスク増設タイミングに簡便なファイル管理により、速やかなディスク増設が可能なファイル管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明のファイル管理方法は、ホストに接続され、アドレス管理テーブルと、コントローラと、ｎ台のディスクとを備え、前記各ディスクのデータの記憶エリアをブロックに分けてデータを分散して蓄積するストレージシステムにディスクを１台増設する場合のファイル管理方法において、前記各ディスクは、順に１からｎ迄の番号が付与されると共に、前記各ディスクの前記記憶エリアは、最大でもｎ個以下のＭ個のブロックに等分され、かつ、前記Ｍ個のブロックは先頭から順に番号が１からＭまで付与され、ディスクが増設されるまでの第１の前記アドレステーブルは、各前記ブロックをｎ×Ｍのマトリクスでそれぞれ識別可能にして、各前記ブロックで蓄積するデータが対応づけられ、増設後の第２の前記アドレステーブルとして、（ｎ＋１）×Ｍのマトリクスのテーブルが準備され、前記コントローラは、前記ホストからディスク増設のコマンドを受信すると、前記第２のアドレス管理テーブルを参照することにより増設されたｎ＋１番目のディスクの先頭の前記ブロックから若い番号順に、更に前記第１のアドレステーブルを参照して前記ディスクについて同じく若い番号順で前記割り当てられた番号の次の番号になる前記割り当てられた番号のブロックに記憶されたデータを既存のディスクから順番に読み出して書き込み記憶する制御を行いディスクを増設することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ストレージ増設タイミングに簡便で、速やかなストレージ増設が可能なファイル管理方法を提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して本発明の実施例を説明する。
【実施例】
【００１０】
図１は、本発明の実施例に係るストレージシステムの構成を説明する機能ブロック図である。  
図１においてストレージシステムは、システム全体の管理制御、アプリケーション等を実行するホスト１、ストレージの管理制御を行うコントローラ２、複数の記憶媒体から構成されるストレージＤ（ここでは、各記憶媒体をディスクと称し、各ディスクについては、符号Ｄ１〜Ｄｎで区別する。ｎは自然数。）を備え、ホスト１と、コントローラ２と、各ディスクとの間はデータバスＤＢで接続されている。
【００１１】
また、コントローラ２は、それぞれの間が内部バス等で接続される、バスＩ／Ｆ（インタフェース）２１、ＣＰＵ２２、読み出しバッファ２３、書き込みバッファ２４、ワークメモリＭとを備えている。バスＩ／Ｆ（インタフェース）２１は、データバスＤＢとの間でのデータやコマンドを入出力する。アドレス管理テーブル２５は、ワークメモリＭに記憶されている各ディスクが蓄積するファイルやデータを対応つけて管理するための参照テーブルである。
【００１２】
ＣＰＵ２２は、ホスト１からのコマンドによりアドレス管理テーブル２５を参照して各ディスクＤ１〜Ｄｎとの間で、ファイルおよびデータの入出力を読み出しバッファ２３、および書き込みバッファ２４を介して行い、ストレージ追加時のファイル再構成の管理を行う。
【００１３】
図２は、ディスクを追加する前のアドレス管理テーブル２５ａ、図３はディスクを追加する前のストレージＤ内のデータを蓄積する各ディスクとその記憶ブロックに対応した物理アドレスを説明する図である。  
図２、図３を参照して、ストレージシステムのファイル管理に係わるファイルデータ（以下単にデータと称する。）蓄積（記憶）ルールについて説明する。  
ここで、ストレージＤは、ｎ台のディスクからなる記憶媒体を備えており、さらに各ディスクＤ１〜Ｄｎはそれぞれの記憶エリアがＭ個のブロックに区分され、それぞれのファイルデータ量（記憶容量）が等分されている。なお、この分割数Ｍはディスク台数以下のｎ≧Ｍに設定され、各ディスク内では、それぞれのブロックにＡ１〜ＡＭの格納アドレスを付与してデータを蓄積している。
【００１４】
さて図２において、各ディスクのそれぞれのブロックに蓄積されるデータはブロック単位で１、２・・・のように番号を付与されている。そして、ｎ台のディスクの各ブロックの先頭から順に配られて蓄積される。すなわち、データ番号１はディスクＤ１のブロックＡ１へ、データ番号２は、ディスクＤ２のブロックＡ１へと順に蓄積され、ｎ台目のディスクｎのブロックＡ１にはデータ番号ｎのデータが蓄積され、全ディスクのブロックＡ１が全て蓄積済みとなる。そして、データ番号ｎ＋１のデータは、ディスクＤ１のブロックＡ２に書き込まれることが示されている。
【００１５】
図３は、ディスクＤ１〜Ｄｎ（ｎ＝６）の各ブロックＡ１〜ＡＭ（Ｍ＝５）へ蓄積されるデータのデータ番号をマトリクス状に対照表示している。
【００１６】
図４、図５は、それぞれストレージシステムのコントローラ２におけるデータの読み出しと、書き込みの処理手順を示すフローチャートである。  
以下、図４、図５を参照しストレージシステムの基本動作を説明する。
【００１７】
ホスト１から読み出し、または書き込みのコマンドを受信した場合（図４のステップｓ２、図５のステップｓ２１）、コントローラ２は、アドレステーブル２５ａを参照（ステップｓ３、ステップｓ２２）して所要のデータ番号のデータを読み出し（ステップｓ４）、または書き込み（ステップｓ２３）を行う。
【００１８】
ディスクを増設する場合、読み出し時にはアドレステーブル２５ａを参照するが、書き込み時には、ディスクが増設された参照テーブルであるアドレステーブル２５ｂに変更されている。
【００１９】
図６、図７は、ディスクを増設した場合の図２、図３に対応するアドレス管理テーブル２５ｂである。  
本実施例では、図１におけるストレージシステムにおいてストレージＤは、ｎ台のディスクから１台増設され、（ｎ＋１）台のディスクになる。その場合、各ディスクでのブロック数は増設前と同じである。そして、（ｎ＋１）台目の先頭ブロックから順に他のディスクの後述のブロックからデータがコピーして書き込まれる。
【００２０】
すなわち、図６の矢印で示される部分には、ディスクＤｎ＋１のブロックＡ１には、増設前のデータ番号ｎ＋１のデータが蓄積されることが示されている。
【００２１】
図７（ａ）は、書き込み前のストレージ内の物理アドレスを示し、ディスクＤｎ＋１の各ブロックＡ１〜ＡＭは、空であり、図７（ｂ）は書き込み後のストレージ内の物理アドレスを示しており他のディスクからコピーされたデータが蓄積される状態を示している。
【００２２】
図７（ｂ）は、新しく追加されたディスクＤｎ＋１のブロックＡ１には、ディスク１のブロックＡ２、ブロックＡ２にはディスク２のブロックＡ３、ブロックＡ３にはディスク４のブロックＡ３の様に対応付けられている増設後のアドレス管理テーブル２５ｂである。図６、図７に示される実施例では、ディスク６台、各ディスク内はブロック数５での運用中に更に１台増設する場合を示しているが、ディスク台数ｎがブロック数Ｍよりも多い、即ち、ｎ≧Ｍの条件であれば良い。
【００２３】
図８はディスク増設時のコントローラの処理手順を説明するフローチャートである。  
図８において、ストレージシステムのホスト１は、ディスク増設をコントローラ２に通知する（ステップｓ１０）。コントローラ２は、ディスク増設指示を受信する（ステップｓ１１）と増設するディスクのマウント処理を開始し、新たなアドレス管理テーブル２５ｂを準備する（ステップｓ１２）。そして、コントローラ２の新しいディスクＤｎ＋１が装着されると、バスＩ／Ｆ２１は、ディスクＤｎ＋１が装着されたことを検出し、ＣＰＵ２２へ通知する。
【００２４】
ＣＰＵ２２は、ディスク装着の通知を受けると既存のアドレス管理テーブル２５ａから既存のディスク上のデータのアドレスを取得する（ステップｓ１３）。そしてアドレス管理テーブル２５ａを参照し、増設されるディスクＤ７に書き込むデータを既存のディスクＤ１のＡ２、ディスクＤ２のＡ３、ディスクＤ３のＡ４、ディスクＤ４のＡ５のブロックのアドレスから読み出して読み出し用バッファ２３に書き込む（ステップｓ１４）制御を行う。
【００２５】
なお、このプロセスは、図４のステップｓ３、ｓ４に対応する。そして、ＣＰＵ２２は、アドレス管理テーブル２５ｂを参照し、増設されたディスクＤ７に書き込むために読み出し用バッファ２３におかれたデータを書き込み用バッファ２４に転送する。そして、書き込み用バッファに有るデータを増設されたディスクＤ７のアドレス管理テーブル２５ｂに指定されたブロックのアドレスに書き込む（ステップｓ１５）。この時、用いられるアドレス管理テーブル２５ｂは、図７（ｂ）に示されるものである。
【００２６】
ＣＰＵ２２は、この書き込みが終了すると、増設されたディスクＤ７に書き込まれたデータを、既存のディスクＤ１〜Ｄ６から削除する。なお、この結果、例えば、図７（ｂ）に示される様に、ディスクＤ１のブロックＡ２では、データが記憶されていない空の部分になる。
【００２７】
この方法により、ディスクを増設しても蓄積中のデータの再配分は、Ｍ−１個のブロックに付いてのみ行えば済ませることが出来るので、増設のクルティカルな処理時間を短時間で済ますことが出来る。そして新たなディスクの増設、追加終了後、更にアプリケーション実行の合間に蓄積したデータの再配置やアドレス整備を行うようにすることによりストレージシステムのファイル管理を行い最適化を図ることが出来る。
【００２８】
例えば、データの再配置、更にブロック数をｍ個増やすことにより増設後に、（ｎ＋１）×（Ｍ＋ｍ）個のブロック管理をするようにして、データの読み出し書き込みの応答性を改善することが可能である。
【００２９】
この場合、予め、（ｎ×Ｍ）個のブロックを（ｎ＋１）×（Ｍ＋ｍ）個のブロックに対応してデータの移動を行う変換処理表を準備しておけば、最適化も短時間で済ませることが出来る。
【００３０】
図９は、図７に対応して７台のディスクでブロックを５から６へ増やす場合のデータ配分を示すアドレス管理表である。  
図９では、ブロック数が５から６へ増えるが、各ディスク自体の記憶容量が増えるのではないので、ブロックＡ１からブロックＢ１の様にブロック１つごとの容量は小さくなり各ブロックで蓄積されるデータも番号「１」から「１ａ」の様に変更される。
【００３１】
この様な場合の増設前後の各ブロック間でのデータ、ファイルの再配分は、例えば、ＲＡＩＤ等による従来からの変換ルールを適用して作成した変換表を作成するか、又は、ディスクＤ３のブロックＢ１に蓄積するデータは、ディスクＤ３のＡ１の先頭から８０％相当を残し、残りをディスクＤ３のブロックＢ２へ移す、等の対応付けを行う変換表を作成しておけばよい。
【００３２】
以上説明したごとく、本発明のストレージシステムでは、ディスクを増設する場合、増設前の（ｎ×Ｍ）個のブロックの置き換え配置の処理をしなければならなかったが、本実施例に拠れば、追加ディスクに書き込む（Ｍ−１）個のブロックを処理するだけでよいので、他の増設方法に比べて速やかにディスクが増設可能なホットインサージョンを提供できる。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施例に係わるストレージシステムの構成を説明する機能ブロック図。
【図２】ディスクを追加する前のアドレス管理テーブル。
【図３】ディスクを追加する前のストレージ内のデータを蓄積する各ディスクとその記憶ブロックに対応した物理アドレスを示す青ドレス管理テーブル。
【図４】コントローラにおけるデータの読み出しの処理手順を示すフローチャート。
【図５】コントローラにおけるデータの書き込みの処理手順を示すフローチャート。
【図６】ディスクを増設した場合の図２に対応するアドレス管理テーブル。
【図７】ディスクを増設した場合の図３に対応するアドレス管理テーブル。
【図８】ディスク増設時のコントローラの処理手順を説明するフローチャート。
【図９】７台のディスクでブロックを５から６へ増やす場合のデータ配分を示すアドレス管理表。
【符号の説明】
【００３４】
１  ホスト
２  コントローラ
２１  バスＩ／Ｆ
２２  ＣＰＵ
２３  読み出しバッファ
２４  書き込みバッファ
２５、２５ａ、２５ｂ、２５ｃ  アドレス管理テーブル
ＤＢ  データバス
Ｄ  ストレージ
Ｄ１〜Ｄｎ、Ｄｎ＋１  ディスク装置
【図１】
2010033161.tif 000003
【図２】
2010033161.tif 000004
【図３】
2010033161.tif 000005
【図４】
2010033161.tif 000006
【図５】
2010033161.tif 000007
【図６】
2010033161.tif 000008
【図７】
2010033161.tif 000009
【図８】
2010033161.tif 000010
【図９】
2010033161.tif 000011