JP3431581B2 - ディスク制御システムおよびデータ再配置方法 - Google Patents

ディスク制御システムおよびデータ再配置方法

Info

Publication number
JP3431581B2
JP3431581B2 JP2000195895A JP2000195895A JP3431581B2 JP 3431581 B2 JP3431581 B2 JP 3431581B2 JP 2000195895 A JP2000195895 A JP 2000195895A JP 2000195895 A JP2000195895 A JP 2000195895A JP 3431581 B2 JP3431581 B2 JP 3431581B2
Authority
JP
Japan
Prior art keywords
logical
data
stripe
physical
disk array
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
JP2000195895A
Other languages
English (en)
Other versions
JP2002014776A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000195895A priority Critical patent/JP3431581B2/ja
Priority to US09/662,220 priority patent/US6609176B1/en
Publication of JP2002014776A publication Critical patent/JP2002014776A/ja
Application granted granted Critical
Publication of JP3431581B2 publication Critical patent/JP3431581B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はディスク制御システ
ムおよびデータ再配置方法に関し、特にログ構造化書き
込み方式を用いたディスク制御システムおよび同システ
ムに適用されるデータ再配置方法に関する。
【0002】
【従来の技術】近年、ディスクの高速化と信頼性向上の
観点から、RAID(Redundant Array
of Independent Disks)技術を
搭載した計算機システムが主流となっている。RAID
技術には0,1,10,5などの種類がある。
【0003】最近では、このようなRAIDの書き込み
性能を大幅に向上するための技術として、ログ構造化フ
ァイルシステム(LSFS:Log−Structur
edFile System)技術が考えられている。
ログ構造化ファイルシステムとは、「シーケンシャルア
クセスは、ランダムアクセスに比較して非常に高速であ
る」というディスク装置の特性を利用した性能向上の手
法である。ランダムアクセス時の性能低下はディスクの
シークおよび回転待ちによるもので出来れば無くしたい
部分である。そこで、ログ構造化ファイルシステム技術
では、書き込みデータを蓄積するためのバッファを使用
し、複数の小さなブロックの書き込みデータを、一つの
大きな塊りのデータに変換して「まとめ書き」するとい
う手法が用いられる。これにより、ランダムな書き込み
をシーケンシャルな書き込みに変更することができ、書
き込み性能の向上を図ることが可能となる。
【0004】
【発明が解決しようとする課題】しかし、ログ構造化フ
ァイルシステム技術を使用した場合には、ライト要求順
にデータが並べられて書き込まれる。このため、ランダ
ムライトが発生すると、互いに論理アドレスが離れたデ
ータ同士が一つの物理ストライプ領域に連続して書き込
まれる。これにより、ファイルシステム上では論理アド
レスが連続するデータブロックが物理的には離れた別々
の物理ストライプ領域に書き込まれる結果となる。この
ように物理的に分散して記憶されたデータに対するシー
ケンシャルリードは物理的にはランダムリードとなり効
率が悪い。
【0005】このような状態を直すためには物理的にも
連続にデータが並ぶように定期的にデータを並べ替える
必要がある。しかしながら、データを並べ替える処理自
体、多くのI/O処理を伴いシステムに対する大きな負
荷になる。
【0006】本発明は上述の事情に鑑みてなされたもの
であり、効率よくデータ再配置処理を行えるようにし、
少ない負荷で、読み出し性能の大幅な向上を図ることが
可能なディスク制御システムおよびデータ再配置方法を
提供することを目的とする。
【0007】
【課題を解決するための手段】上述の課題を解決するた
め、本発明は、ログ構造化書き込み方式のディスク制御
システムであって、複数のディスク装置で構成されるデ
ィスクアレイと、書き込み要求された複数のデータブロ
ックを蓄積するデータバッファと、前記データバッファ
に蓄積された複数のデータブロックから前記ディスクア
レイの1物理ストライプ分の書き込みデータを生成し
て、前記ディスクアレイの所定の物理ストライプに一括
して書き込むデータ書き込み手段と、前記ディスクアレ
イの論理ストライプを構成する複数の論理ブロック番号
と、その論理ブロック番号で指定されるデータブロック
が存在する前記ディスクアレイ上の物理位置を示す物理
ブロック番号との対応関係を、各論理ストライプ毎に記
憶するアドレス変換テーブルと、前記アドレス変換テー
ブルを参照して、前記論理ストライプ内における有効論
理ブロック数の割合および/または隣り合う物理ブロッ
ク番号が連続している割合を算出して、その結果が所定
の条件を満たす場合に、再配置対象の論理ストライプと
して決定する再配置対象決定手段と、前記再配置対象決
定手段により再配置が決定された前記論理ストライプの
データブロックを前記ディスクアレイから前記データバ
ッファに読み出し、前記データ書き込み手段によって前
記ディスクアレイの空き物理ストライプ領域に書き込む
データ再配置手段と、前記アドレス変換テーブルの前記
物理ブロック番号を前記空き物理ストライプの物理ブロ
ック番号に書き替えるアドレス変換テーブル書き換え手
段とを具備することを特徴とする。
【0008】このディスク制御システムにおいては、ア
ドレス変換テーブルを参照することにより、論理ブロッ
クの物理的な分散の度合いが論理ストライプ毎に調べら
れる。すなわち、各論理ストライプ毎に、それを構成す
る複数の論理ブロック内における有効論理ブロック数の
割合および/または隣り合う論理ブロックの物理ブロッ
ク番号が連続している割合が算出され、それに基づいて
再配置対象の論理ストライプが決定される。有効論理ブ
ロック数の割合が少ない論理ストライプは再配置しても
十分な効果が期待できないので、このような論理ストラ
イプについては再配置対象から除外することが好まし
い。また、有効論理ブロックがある程度含まれ、かつ、
物理ブロック番号の連続性の低い論理ストライプは、シ
ーケンシャルリードを行う際に効率が悪いが、このよう
な論理ストライプ内のデータブロックを再配置対象にす
ることによりシーケンシャルリードの効率を向上させる
ことが出来る。
【0009】また、本発明は、ログ構造化書き込み方式
のディスク制御システムであって、複数のディスク装置
で構成されるディスクアレイと、書き込み要求された複
数のデータブロックを蓄積するデータバッファと、前記
データバッファに蓄積された複数のデータブロックから
前記ディスクアレイの1物理ストライプ分の書き込みデ
ータを生成して、前記ディスクアレイの所定の物理スト
ライプに一括して書き込むデータ書き込み手段と、前記
ディスクアレイの論理アドレス空間を構成する複数の論
理ブロック番号とその論理ブロック番号で指定されるデ
ータブロックが存在する前記ディスクアレイ上の物理位
置を示す物理ブロック番号との対応関係を記憶するアド
レス変換テーブルと、前記ディスクアレイの論理アドレ
ス空間を1物理ストライプ分のデータブロックの個数分
のアドレス範囲毎に区切った各論理ストライプ毎に、そ
の論理ストライプ内に含まれる複数の論理ブロックに対
するデータリードの回数を計数するカウンタ手段と、
記カウンタ手段を参照して、前記データリードの回数が
所定値以上の論理ストライプを再配置対象の論理ストラ
イプとして決定する再配置対象決定手段と、前記再配置
対象決定手段により再配置が決定された前記論理ストラ
イプのデータブロックを前記ディスクアレイから前記デ
ータバッファに読み出し、前記データ書き込み手段によ
って前記ディスクアレイの空き物理ストライプ領域に書
き込むデータ再配置手段と、前記アドレス変換テーブル
の前記物理ブロック番号を前記空き物理ストライプの物
理ブロック番号に書き替えるアドレス変換テーブル書き
換え手段とを具備することを特徴とする。
【0010】このように、データリード回数が多い論理
ストライプに対してデータ再配置を行うことにより、リ
ードされる頻度が高い論理ストライプ内のデータブロッ
クを物理的にも連続させることが可能となり、シーケン
シャルリード性能を効率よく高めることが可能となる。
【0011】また、本発明は、ログ構造化書き込み方式
のディスク制御システムであって、複数のディスク装置
で構成されるディスクアレイと、書き込み要求された複
数のデータブロックを蓄積するデータバッファと、前記
データバッファに蓄積された複数のデータブロックから
前記ディスクアレイの1物理ストライプ分の書き込みデ
ータを生成して、前記ディスクアレイの所定の物理スト
ライプに一括して書き込むデータ書き込み手段と、前記
ディスクアレイの論理アドレス空間を構成する複数の論
理ブロック番号とその論理ブロック番号で指定されるデ
ータブロックが存在する前記ディスクアレイ上の物理位
置を示す物理ブロック番号との対応関係を記憶するアド
レス変換テーブルと、前記ディスクアレイの論理アドレ
ス空間を1物理ストライプ分のデータブロックの個数分
のアドレス範囲毎に区切った各論理ストライプ毎に、そ
の論理ストライプ内に含まれる複数の論理ブロックに対
するデータ書き込み回数を計数するカウンタ手段と、
記カウンタ手段を参照して、前記データ書き込み回数が
所定値以上の論理ストライプを再配置対象の論理ストラ
イプとして決定する再配置対象決定手段と、前記再配置
対象決定手段により再配置が決定された前記論理ストラ
イプのデータブロックを前記ディスクアレイから前記デ
ータバッファに読み出し、前記データ書き込み手段によ
って前記ディスクアレイの空き物理ストライプ領域に書
き込むデータ再配置手段と、前記アドレス変換テーブル
の前記物理ブロック番号を前記空き物理ストライプの物
理ブロック番号に書き替えるアドレス変換テーブル書き
換え手段とを具備することを特徴とする。
【0012】論理ストライプは、それを構成する論理ブ
ロックに対して書き込みが行われると、物理的に不連続
になる可能性が生じる。よって、再配置対象の論理スト
ライプを決定するための処理を、データ書き込み回数が
所定値以上の論理ストライプに対して行うことにより、
効率よくシーケンシャルアクセスの性能を高めることが
可能となる。
【0013】
【発明の実施の形態】以下、図面を参照して本発明の実
施形態を説明する。図1には、本発明の一実施形態に係
るディスク制御システムを適用した計算機システムの構
成が示されている。この計算機システムはサーバ(PC
サーバ)として利用されるものであり、複数のCPU1
1を搭載することが出来る。これら各CPU11は図示
のようにプロセッサバス1を介してブリッジ12に接続
されている。ブリッジ12はプロセッサバス1とPCI
バス2を双方向で接続するためのブリッジLSIであ
り、ここには主メモリ13を制御するためのメモリコン
トローラも内蔵されている。主メモリ13には、オペレ
ーティングシステム(OS)、実行対象のアプリケーシ
ョンプログラム、およびドライバなどがロードされる。
【0014】PCIバス2には、図示のように、RAI
Dコントローラ16、および不揮発性メモリ17が接続
されている。RAIDコントローラ16によって制御さ
れるディスクアレイ18は、各種ユーザデータ等の記録
等に用いられる。
【0015】ディスクアレイ18はRAIDコントロー
ラ16の制御により、例えばRAID5構成のディスク
アレイとして機能する。この場合、ディスクアレイ18
は、データ記憶用のN台のディスク装置にパリティ記憶
用のディスク装置を1台付加したN+1台(ここでは、
DISK0〜DISK4の5台)のディスク装置から構
成される。これらN+1台のディスク装置はグループ化
され、単一の論理ディスクドライブとして使用される。
【0016】グループ化されたディスク装置には、図示
のように、データ(DATA)とそのパリティ(PAR
ITY)とから構成される物理ストライプ(パリティグ
ループ)が割り当てられ、かつパリティ位置は物理スト
ライプ毎にN+1台のディスク装置間で順に移動され
る。例えば、物理ストライプS0では、DISK0〜D
ISK3それぞれの同一位置に割り当てられたストライ
プユニット上のデータ(DATA)群のパリティ(PA
RITY)は、DISK4の対応するストライプユニッ
ト上に記録される。次の物理ストライプS1において
は、そのストライプS1のデータに対応するパリティ
(PARITY)はDISK3の対応するストライプユ
ニット上に記録される。このようにパリティを物理スト
ライプ単位でN+1台のディスク装置に分散させること
によって、パリティディスクへのアクセスの集中を防止
することができる。
【0017】不揮発性メモリ17はログ構造化ファイル
システム(LSFS)の実現のために使用される作業用
の記憶装置であり、バッテリバックアップされたDRA
MあるいはフラッシュEEPROMなどから構成されて
いる。ログ構造化ファイルシステム(LSFS)は、R
AID5構成のディスクアレイ18に対する書き込み性
能を向上させるために用いられる。本実施形態において
は、OSのファイルシステムには改良を加えず、OSに
組み込んで用いられるドライバプログラムと不揮発性メ
モリ17とによってログ構造化ファイルシステム(LS
FS)が実現されている。ここで、図2を参照して、ロ
グ構造化ファイルシステム(LSFS)によるディスク
アレイ18の書き込み制御の原理について説明する。
【0018】ログ構造化ファイルシステム(LSFS)
技術を使用した書き込み方式では、ホスト(本実施形態
ではOSのファイルシステム)から書き込み要求された
論理アドレスに従ってデータ書き込み位置を決定するの
ではなく、ホストから書き込み要求された順番で書き込
みデータを順次蓄積することによって複数の書き込みデ
ータのブロックから構成される大きなデータブロックを
構成し、その大きなデータブロックを一括してディスク
アレイ18の空き領域に上から順番に「まとめ書き」す
る。「まとめ書き」の単位は物理ストライプである。つ
まり、「まとめ書き」の度に1つの空き物理ストライプ
を生成し、そこに1物理ストライプ分のデータブロック
がシーケンシャルに書き込まれる。これにより、ランダ
ムなアクセスをシーケンシャルなアクセスに変換するこ
とが出来、書き込み性能を大幅に向上させることができ
る。
【0019】図2は、OSのファイルシステムを介して
送られて来る書き込みデータのブロックデータサイズが
2KB、1ストライプユニットのデータサイズが64K
B、1物理ストライプ(パリティグループ)分のデータ
サイズが256KB(=64KB×4)の場合の例であ
る。2KBの書き込みデータブロックは、OSに組み込
んで用いられるRAID高速化ドライバ100によって
取得され、不揮発性メモリ17に蓄積される。RAID
高速化ドライバ100はログ構造化ファイルシステム
(LSFS)を実現するためのドライバプログラムであ
る。
【0020】基本的には、256KB分のデータブロッ
ク(2KB×128個のデータブロック)が不揮発性メ
モリ17に蓄積された時点で、RAID高速化ドライバ
100の制御の下、ディスクアレイ18の1物理ストラ
イプに対する書き込みが一度にまとめて行われる。この
場合、RAIDコントローラ16は、256KB分の書
き込みデータブロックのみからパリティを生成できるの
で、パリティ計算のために旧データを読み出す等の処理
が不要となり、良く知られたRAID5の書き込みペナ
ルティーを減らすことができる。
【0021】不揮発性メモリ17には、図1に示されて
いるように、ログメモリ(まとめ書きバッファ)17
1、アドレス変換テーブル172、論理ストライプ管理
テーブル173などが搭載されており、メモリ制御部
(図示せず)によってアクセス制御される。
【0022】ログメモリ171は、書き込みデータブロ
ックを蓄積するためのデータバッファであり、このログ
メモリ171に1物理ストライプ分の書き込みデータブ
ロックが蓄積された時点でディスクアレイ18への一括
書き込みが開始される。すなわち、物理ストライプは
「まとめ書き」の単位であり、ディスクアレイ18の全
記憶領域の内、LSFS用として生成されたパーティシ
ョン上で一続きの連続した領域から構成される。各物理
ストライプは、RAIDコントローラ16が管理するス
トライプユニットの整数倍のサイズである。
【0023】アドレス変換テーブル172は、LSFS
用として使用されるパーティションの論理アドレス空間
を構成する複数の論理ブロック番号それぞれと、それら
論理ブロック番号で指定されるデータブロックが存在す
るディスクアレイ18上の物理位置を示す物理ブロック
番号との対応関係を示すアドレス変換情報を記憶する。
ここで、論理ブロック番号とは、OSのファイルシステ
ムから見たときのディスクパーティション上の論理ブロ
ックの番号である。OSのファイルシステムがアクセス
を要求するときのブロック番号は論理ブロック番号であ
り、これは仮想的な論理アドレスである。この論理ブロ
ック番号はアドレス変換テーブル172によって物理ブ
ロック番号(ディスクパーティション上の物理的なブロ
ック番号)と対応づけられる。物理ブロック番号×ブロ
ックサイズ(バイト)によって、ディスクパーティショ
ンの先頭位置からのバイトオフセット値が求められる。
【0024】アドレス変換テーブル172は、論理ブロ
ック番号それぞれに対応する複数のエントリを有してい
る。新たにデータブロックを書き込むときには、書き込
み要求された論理ブロック番号に対応するエントリに
は、そのデータブロックを実際に書き込む物理ブロック
番号(物理アドレス)が登録される。データブロックの
読み出し時には、読み出し要求された論理ブロック番号
に対応するエントリから物理ブロック番号が調べられ、
その物理ブロック番号(物理ブロック番号×ブロックサ
イズ)で指定される、ディスクパーティション上の物理
位置からデータブロックが読み出される。
【0025】論理ストライプ管理テーブル173は、各
論理ストライプに関する情報を管理するためのものであ
り、それら各論理ストライプの情報はデータ再配置のた
めの処理などに利用される。ここで、論理ストライプと
は、ディスクパーティションの論理アドレス空間を先頭
から1物理ストライプ分のデータブロック個数ごとに区
切った場合の論理ブロックの集合である。例えば、1物
理ストライプが10個の物理ブロックを含む場合には、
1論理ストライプも10個の論理ブロックを含むことに
なる。
【0026】前述したように、本実施形態の書き込み方
式では、ランダムライトをまとめて1つの連続した領域
としての物理ストライプに書き込む。この結果、ランダ
ムライトした領域についてはOSのファイルシステム上
の論理アドレス空間では連続するデータであったとして
も、物理的に離れた別々の物理ストライプに含まれる結
果となる。このように別々な物理ストライプに書き込ま
れたデータに対するシーケンシャルリードは、物理的に
はランダムリードになり効率が悪い。このような状態を
直すためには物理的にも連続にデータが並ぶように定期
的にデータブロックを再配置する必要がある。このデー
タ再配置処理、つまり「シーケンシャルリードを効率よ
く行えることを目的としたデータ並び替え」をここでは
リパック処理と呼ぶことにする。
【0027】以下、図3および図4を用いて、第1の実
施形態におけるリパック処理の制御方法について具体的
に説明する。図3はアドレス変換テーブル172の一例
を示しており、また図4はリパック制御処理のフローチ
ャートである。
【0028】図3のアドレス変換テーブル172は物理
ストライプ(論理ストライプも)が10個のデータブロ
ックから成る場合を想定している。アドレス変換テーブ
ル172は論理ブロック番号をインデックスとする多数
のエントリを含んでおり、各エントリには物理ブロック
番号が登録されている。「−」は、無効なブロック(ま
だデータが1度も書き込まれていないブロック)である
ことを示す。
【0029】このアドレス変換テーブル172の例で
は、上から10個の論理ブロック毎に1つの論理ストラ
イプが構成される。例えば、論理ストライプ0は論理ブ
ロック番号0から9の10個の論理ブロックからなり、
論理ストライプ1は論理ブロック番号10から19の1
0個の論理ブロックからなる。即ち、1つの物理ストラ
イプ及び1つの論理ストライプがそれぞれ10のデータ
ブロックで構成される場合には、 論理ストライプ番号=論理ブロック番号/10 物理ストライプ番号=物理ブロック番号/10 の関係が成り立つ。ただし、上記で「/」は整数の割り
算(小数点以下切り捨て)を示す。
【0030】論理ストライプ0に着目すると、論理ブロ
ック番号0のデータブロックは物理ブロック番号30
(物理ストライプ3の先頭データブロック)に記憶さ
れ、同様に論理ブロック番号1のデータブロックは物理
ブロック番号31(物理ストライプ3の2番目のデータ
ブロック)に、論理ブロック番号2のデータブロックは
物理ブロック番号32(物理ストライプ3の3番目のデ
ータブロック)に、論理ブロック番号3のデータブロッ
クは物理ブロック番号33(物理ストライプ3の4番目
のデータブロック)に記憶されていることが分かる。さ
らに、論理ブロック番号6,7,8それぞれに対応する
データブロックは物理ブロック番号133,134,2
37にそれぞれ記憶されている。論理ブロック番号4,
5,9は無効ブロックである。
【0031】このように、アドレス変換テーブル172
を参照することにより、各論理ストライプ毎にそれを構
成する論理ブロックの物理的な分散の度合いを検出する
ことができる。よって、本実施形態においては、アドレ
ス変換テーブル172を参照し、各論理ストライプ毎に
それを構成する論理ブロックの物理ブロック番号をチェ
ックしていくことにより、有効ブロック数の割合(=
α)、隣あう論理ブロックの物理ブロック番号が連続し
ている割合(=β)を論理ストライプ毎に算出する。こ
のα、βの値によってその論理ストライプをリパック対
象にするか否かが決定される。
【0032】(α、βの計算例)ここで、α、βの計算
例について説明する。図3において、論理ストライプ0
に着目すると、有効ブロック数は7であるので、論理ス
トライプ0のαは、 α=7/10×100=70% で算出される。このαの値は対象の論理ストライプの容
量使用率を示す。値が小さいほど書き込まれていないブ
ロックが多く、リパック対象から除外すべき(リパック
しても並べ変えるべきブロックが少なく効果が期待でき
ない)と判断できる。
【0033】論理ストライプ0においては、論理ブロッ
ク0,1,2,3の物理ブロック番号が連続しており、
また論理ブロック6,7の物理ブロック番号が連続して
いる。このため、計9個のブロック境界の中で4つの境
界が物理的に連続していることになる。したがって、論
理ストライプ0のβは、 β=4/9×100≒44% で算出される。
【0034】同様にして、論理ストライプ1については
α=80%,β=22%、論理ストライプ2については
α=20%、β=0%、論理ストライプ3についてはα
=90%、β=44%と算出される。
【0035】(リパックの判断)「αが一定値Aより大
きくて、βが一定値B以下の場合にリパック対象とす
る」(条件1)を用いて、論理ストライプ毎にリパック
対象とすべきか否かを判定する。ここで、A=50%、
B=50%とする。
【0036】この場合、論理ストライプ2はαの値が小
さいので上記条件に合わず、リパック不要と判断され
る。「有効ブロックが少なく、並べ替えの効果が期待で
きない」ためである。論理ストライプ0,1,3は上記
条件に合致し、リパック対象と判断される。「有効ブロ
ック数が十分で、かつ連続性が低い」ためにリパック対
象となる。
【0037】なお、実際には、リパック処理が行われる
に従って各論理ストライプのα、βは変化して行くこと
になる。したがって、本実施形態では、リパック対象と
判断された論理ストライプ毎に逐次リパック処理を行
い、次の論理ストライプに関するα、βの算出は、リパ
ック処理終了後に行われる。
【0038】(リパック制御処理の手順)以下、図4の
フローチャートを参照して、リパック制御処理の手順に
ついて説明する。このリパック制御処理は、RAID高
速化ドライバ100によって行われる。
【0039】まず、アドレス変換テーブル172がイン
デックス順に参照され、該当する物理ブロック番号の値
が調べられる(ステップS11)。そして、値の小さい
論理ストライプから順に選択し(ステップS12)、そ
の選択した論理ストライプに対して以下の「リパック対
象ストライプ選択処理&リパック処理(※1)」が実行
される。
【0040】リパック対象ストライプ選択処理&リパッ
ク処理では、まず、選択された最初の論理ストライプに
関するα,βが算出される(ステップS13)。各論理
ストライプの有効ブロック数の値は、リード参照回数、
ライト回数などの情報と共に論理ストライプ管理テーブ
ル173にて論理ストライプ毎に管理されている。論理
ストライプ管理テーブル173は、アドレス変換テーブ
ル172と一緒に、本計算機システムのシャットダウン
時にはLSFS用のディスクパーティション内における
データ領域とは別の領域にセーブされ、本計算機システ
ムのブート時にはそのディスクパーティションから不揮
発性メモリ17にロードされて使用される。αの値は、
論理ストライプ管理テーブル173の有効ブロック数を
基に算出することができる。もちろん、前述したように
アドレス変換テーブル172に無効ブロックを示す情報
「−」を登録しておくことにより、アドレス変換テーブ
ル172のエントリをサーチするだけでも容易にαを求
めることができる。
【0041】「αが一定値A以下」である場合には(ス
テップS14のYES)、現在の論理ストライプはリパ
ック対象から除外される。一方、「αが一定値Aより大
きい」場合は(ステップS14のNO)、βが一定値B
以下であるか否かが判定される(ステップS15)。
「αが一定値Aより大きくて、βが一定値B以下」であ
る場合には(ステップS15のYES)、現在の論理ス
トライプはリパック対象として決定され、その論理スト
ライプに対してリパック処理が実行される(ステップS
16)。リパック処理は、論理ブロック番号が連続する
データブロックが物理的にも連続するように並べ替える
処理である。このリパック処理では、リパック対象の論
理ストライプのデータブロックがディスクアレイ18か
らログメモリ171に読み出される一方、ディスクアレ
イ18のパーティション上に空き物理ストライプが用意
され、そこに、ログメモリ171に読み出されたデータ
ブロックが論理ブロック番号順に一括して書き込まれ
る。
【0042】次いで全ての論理ストライプについての処
理が完了したかどうかの判定が行われ(ステップS1
7)、未処理の論理ストライプがなくなるまで、インデ
ックス順にリパック対象ストライプ選択処理&リパック
処理が順次行われる。
【0043】以上のリパック制御処理は例えば一定期間
毎に自動的に実行してもよいし、システム管理者による
明示的な操作指示に応答して実行するようにしてもよ
い。
【0044】図6および図7には、図3の論理ストライ
プ3をリパック処理した結果の一例が示されている。図
6は論理ストライプ3に関するリパック前及びリパック
後のアドレス変換テーブル172の内容を示しており、
また図7は論理ストライプ3に関するリパック前及びリ
パック後の物理ストライプ上のデータブロックの並びの
様子を示している。
【0045】リパック前においては、論理ストライプ3
内の9個の有効ブロック(論理ブロック番号30,3
1,…38)は3つの物理ストライプ(物理ストライプ
6,11,15)に分散して記憶されている。なお、図
7の符号30〜38は当該論理ブロック番号のデータを
意味している。この状態で論理ブロック30〜38を連
続してリードすると、実際には離れた3つの物理ストラ
イプ6,11,15にアクセスする事になり効率が悪
い。この論理ストライプ3に対してリパックを実施す
る。今、ディスクアレイ18上の空の物理ストライプ1
0を選択したと想定すると、論理ストライプ3の全ての
有効ブロックのデータが3つの物理ストライプ6,1
1,15からログメモリ171に読み出され、これが一
括して物理ストライプ10に書き込まれる。この場合、
物理ストライプ10には、9個の有効ブロック全てが論
理ブロック番号順(30,31,…38)に並べて配置
される。そして、これに合わせて、アドレス変換テーブ
ル172においては、論理ストライプ3内の9個の有効
ブロック(論理ブロック番号30,31,…38)それ
ぞれの物理ブロック番号が更新される(100,10
1,…108)。このリパック処理により、論理ブロッ
ク30〜38を連続してリードした場合には、物理スト
ライプ10内のアクセスのみになり効率よいアクセスが
実現される。結果的にシーケンシャルリード性能の向上
が実現できる。
【0046】また、このようにリパック対象の論理スト
ライプ毎に新しい物理ストライプを生成し、そこにリパ
ック対象の論理ストライプに含まれるデータブロックを
論理ブロック番号順に並べて配置する事により、リパッ
ク処理を繰り返すことにより、物理的なデータの並びが
論理的なデータの並びに近づくようになる。さらに、論
理ストライプ単位でも物理的に連続するように配置すれ
ば、物理ストライプ境界においてもデータブロックの連
続性を実現することが可能となる。なお、リパック処理
において、論理ブロック番号順に並べることが最も好ま
しいが、リパック対象の論理ストライプに属するデータ
ブロック全てを同一の物理ストライプに収容するだけで
も、リード性能を高めることができることはもちろんで
ある。
【0047】また、「βが一定値以下の場合に、リパッ
ク対象とする」という条件を追加し、βのみから、リパ
ック対象の論理ストライプを選択しても良い。
【0048】(リード参照回数に基づくリパック選択処
理)次に、図8および図9を参照して、リパック処理の
第2の実施形態について説明する。ここでは、論理スト
ライプ毎にリード参照回数を管理し、リード参照回数が
一定値以上になった論理ストライプに対して優先的に
「リパック対象ストライプ選択処理」が実行される。各
論理ストライプのリード参照回数の値とは、その論理ス
トライプに関する最後のリパック対象ストライプ選択処
理が行われた後のリード参照回数を意味する。このた
め、各論理ストライプのリード参照回数の値は、その論
理ストライプのリパック対象ストライプ選択処理が行わ
れる度に0クリアされる。なお、一度もリパック選択処
理の対象になっていない論理ストライプの場合には「パ
ーティション生成時点以降のリード参照回数」となる。
【0049】図8はデータブロックリード時にRAID
高速化ドライバ100によって実行される処理手順を示
すフローチャートである。ここでは、論理ストライプ毎
にリード参照カウンタを用意し、そのリード参照カウン
タを用いて各論理ストライプのリード参照回数を管理す
る場合を想定する。Referenced_Strip
e_Table[ ]が「リード参照カウンタ」のテー
ブルであり、論理ストライプ番号をインデックスとし
て、「リード参照カウンタ値」を値として持つ。パーテ
ィション生成時には0で初期化する。
【0050】図8に示すように、データブロックリード
時には、まず、OSのファイルシステムからリード要求
された論理ブロック番号から、それが属する論理ストラ
イプ番号Lが求められる(ステップS21)。リード対
象の論理ブロック番号をVn、各論理ストライプ内のブ
ロック総数をNbとすると、Lは、 L=Vn/Nb で与えられる。
【0051】次いで、Referenced_Stri
pe_Table[L]++として、対象の論理ブロッ
クが属する論理ストライプLの「リード参照カウンタ」
をインクリメントする(ステップS22)。その後は、
通常のリード処理が行われる(ステップS23,S2
4)。すなわち、アドレス変換テーブル172を参照し
て、論理ブロック番号Vnに対応する物理ブロック番号
Pnが求められ(ステップS23)、そしてPn×ブロ
ックサイズで与えられるディスクアドレスにより指定さ
れるディスクパーティション上の物理位置から、該当す
るデータブロックがRAIDコントローラ16を通じて
読み出される(ステップS24)。
【0052】図9はリパック処理時にRAID高速ドラ
イバ100によって実行される処理のフローチャートで
ある。図4ではアドレス変換テーブル172の内容をイ
ンデックスの順番に参照していたが、ここでは、Ref
erenced_Stripe_Table[ ]を使
い、リード参照回数が多い論理ストライプに対して前述
のα,βを用いた「リパック対象ストライプ選択処理」
が行われる。
【0053】すなわち、まず、論理ストライプ番号を
「リード参照カウンタ」の値で降順にソートして、リー
ド参照カウンタの値が大きな論理ストライプからリパッ
ク対象ストライプの選択処理を行うようにする(ステッ
プS31)。またステップS31では、新たな配列A
[ ]が作られる。配列A[ ]の各エントリは2つの
メンバLogical_Stripe_ID、およびR
eference_Countから成り、C言語で表記
すると、 A[ ].Logical_Stripe_ID A[ ].Reference_Count のように表される。A[ ].Logical_Str
ipe_IDは論理ストライプ番号(Referenc
ed_Stripe_Table[ ]のインデックス
に相当する値)を示し、A[ ].Reference
_Countはリード参照回数を示す。Referen
ced_Stripe_Table[ ]に登録されて
いる値をソートする事により、「リード参照カウンタ」
の値が大きい順にその値と、その論理ストライプの番号
とが上記配列Aの上記2つのメンバにそれぞれセットさ
れる。
【0054】その後、配列A[ ]に登録された順番に
エントリを参照し、リード参照カウンタ「A[ ].R
eference_Count」が一定値C以上の論理
ストライプがある限り「リパック対象ストライプ選択処
理&リパック処理(図4の※1の処理)」を行う。すな
わち、まず最初に、n=0として、最もリード参照回数
の多い論理ストライプ(L0=A[0].Logical
_Stripe_ID)に着目し(ステップS32,S
33)、そのリード参照カウント(A[0].Refe
rence_Count)が一定値C以下であるか否か
を判断する(ステップS34)。一定値Cよりもリード
参照回数が多い場合には、α,βに基づく前述のリパッ
ク対象ストライプ選択処理&リパック処理が実行される
(ステップS35)。リパック処理対象として選択され
たか否かにかかわらず、該当する論理ストライプのリー
ド参照カウンタは、リパック対象ストライプ選別処理の
際に0クリアされる(ステップS36)。
【0055】この後、n+1として、2番目にリード参
照回数の多い論理ストライプ(L1=A[1].Logi
cal_Stripe_ID)に着目し(ステップS3
7,S38,S33)、そのリード参照カウンタ(A
[1].Reference_Count)が一定値C
以下であるか否かを判断する(ステップS34)。
【0056】リード参照カウンタ「A[n].Refe
rence_Count」が一定値C以下の論理ストラ
イプが出現した時点で(ステップS34のYES)、処
理が終了される。よって、リード参照回数の多い論理ス
トライプを優先してリパック対象にする事ができる。ま
たリード参照カウンタ「A[ ].Reference
_Count」が一定値C以上の論理ストライプに対し
てのみリパック対象ストライプ選択処理」を行えばよい
ので、その処理に要する負荷を低減することが可能とな
る。
【0057】(書き込み回数に基づくリパック選択処
理)次に、図10および図11を参照して、リパック処
理の第3の実施形態について説明する。ここでは、論理
ストライプ毎にそれに属する論理ブロックの書き込み回
数を管理し、書き込み回数が一定値以上になった論理ス
トライプに対して優先的に「リパック対象ストライプ選
択処理」が実行される。各論理ストライプの書き込み回
数の値とは、その論理ストライプに関する最後のリパッ
ク対象ストライプ選択処理が行われた後の書き込み回数
を意味する。このため、各論理ストライプの書き込み回
数の値は、その論理ストライプのリパック対象ストライ
プ選択処理が行われる度に0クリアされる。なお、一度
もリパック選択処理の対象になっていない論理ストライ
プの場合には「パーティション生成時点以降の書き込み
回数」となる。
【0058】論理ストライプは、それを構成する論理ブ
ロックに対して書き込みが行われると、物理的に不連続
になる可能性が生じる。これは、LSFSでは、物理ス
トライプ単位で追記処理が行われ、新たに書き込まれた
物理ストライプに含まれるデータブロックに対応する別
の物理ストライプ上の旧データブロックは無効化される
からである。したがって、書き込み回数の多い論理スト
ライプほど、その論理ブロックが存在する物理位置が分
散されている可能性が高くなると考えられる。よって、
書き込み回数の多い論理ストライプを優先的にリパック
処理の候補にする事により、効率のよいリパック処理を
実現できる。
【0059】図10はデータ書き込み時にRAID高速
化ドライバ100によって実行される処理手順を示すフ
ローチャートである。ここでは、論理ストライプ毎に書
き込み回数カウンタを用意し、その書き込み回数カウン
タを用いて各論理ストライプの書き込み回数を管理する
場合を想定する。Modified_Stripe_T
able[ ]が「書き込み回数カウンタ」のテーブル
であり、論理ストライプ番号をインデックスとして、
「書き込み回数カウンタ値」を値として持つ。パーティ
ション生成時には0で初期化する。
【0060】図10に示すように、ログメモリ171に
1物理ストライプ分のデータブロックが蓄積されると、
その1物理ストライプ分のデータブロックが書き込み対
象の物理ストライプに一括して書き込まれる(ステップ
S41)。次いで、ライトしたデータブロック毎にそれ
が属する論理ストライプ番号Lが求められる(ステップ
S42)。各データブロックの論理ブロック番号をV
n、論理ストライプ内のブロック総数をNbとすると、
論理ストライプ番号Lは、 L=Vn/Nb で与えられる。
【0061】この後、Modified_Stripe
_Table[L]++として、対象の論理ブロックが
属する論理ストライプの「書き込み回数カウンタ」をイ
ンクリメントする(ステップS43)。その後は、通常
のライト処理の一環として、ライトしたデータブロック
毎にその論理ブロック番号Vnに対応するアドレス変換
テーブル172のエントリに対して、実際に書き込みを
行った物理ブロック番号Pnがセットされる(ステップ
S44)。なお、上述したステップS41〜S44は物
理ストライプ中の全ブロックに対して実行される。
【0062】図11はリパック処理時にRAID高速ド
ライバ100によって実行される処理のフローチャート
である。図4ではアドレス変換テーブル172の内容を
インデックスの順番に参照していたが、ここでは、Mo
dified_Stripe_Table[ ]を使
い、書き込み回数が多い論理ストライプに対して前述の
α,βを用いた「リパック対象ストライプ選択処理」が
行われる。
【0063】すなわち、まず、論理ストライプ番号を
「書き込み回数カウンタ」の値で降順にソートして、書
き込み回数カウンタの値が大きな論理ストライプからリ
パック対象ストライプ選択処理を行うようにする(ステ
ップS51)。またステップS51では、新たな配列A
[ ]が作られる。配列A[ ]の各エントリは2つの
メンバLogical_Stripe_ID、およびM
odified_Countから成り、C言語で表記す
ると、 A[ ].Logical_Stripe_ID A[ ].Modified_Count のように表される。A[ ].Logical_Str
ipe_IDは論理ストライプ番号(Modified
_Stripe_Table[ ]のインデックスに相
当する値)を示し、A[ ].Modified_Co
untは書き込み回数を示す。Modified_St
ripe_Table[ ]に登録されている値をソー
トする事により、「書き込み回数カウンタ」の値が大き
い順にその値と、その論理ストライプの番号とが上記配
列Aの上記2つのメンバにそれぞれセットされる。
【0064】その後、配列A[ ]に登録された順番に
エントリを参照し、書き込み回数カウンタ「A[ ].
Modified_Count」が一定値D以上の論理
ストライプがある限り「リパック対象ストライプ選択処
理&リパック処理(図4の※1の処理)」を行う。すな
わち、まず最初に、n=0として、最も書き込み回数の
多い論理ストライプ(L0=A[0].Logical_
Stripe_ID)に着目し(ステップS52,S5
3)、その書き込み回数カウンタ(A[0].Modi
fied_Count)が一定値D以下であるか否かを
判断する(ステップS54)。一定値Dよりも書き込み
回数が多い場合には、α,βに基づく前述のリパック対
象ストライプ選択処理&リパック処理が実行される(ス
テップS55)。リパック処理対象として選択されたか
否かにかかわらず、該当する論理ストライプの書き込み
回数カウンタは、リパック対象ストライプ選別処理の際
に0クリアされる(ステップS55)。
【0065】この後、n+1として、2番目に書き込み
回数の多い論理ストライプ(L1=A[1].Logic
al_Stripe_ID)に着目し(ステップS5
7,S58,S53)、その書き込み回数カウント(A
[1].Modified_Count)が一定値D以
下であるか否かを判断する(ステップS54)。
【0066】書き込み回数カウンタ「A[n].Mod
ified_Count」が一定値D以下の論理ストラ
イプが出現した時点で(ステップS54のYES)、処
理が終了される。よって、書き込み回数の多い論理スト
ライプを優先してリパック対象にする事ができる。また
書き込みカウンタ「A[ ].Modified_Co
unt」が一定値D以上の論理ストライプに対してのみ
リパック対象ストライプ選択処理」を行えばよいので、
その処理に要する負荷を低減することが可能となる。
【0067】なお、上記第2、第3の実施形態ではリー
ド参照回数の値、書き込み回数の値をそれぞれ考慮して
第1実施形態のα、βに基づくリパック対象選択処理を
優先して行うべき論理ストライプを決定するようにした
が、リード参照回数の値、書き込み回数の値の制御のみ
で、リパック対象の論理ストライプを決定したり、ある
いはリード参照回数の値と書き込み回数の値の双方を用
いてリパック対象の論理ストライプを決定する場合であ
っても十分な効果を得ることができる。
【0068】以上、本実施形態はRAID構成のディス
クアレイに対する適用が最も効果的であるが、ログ構造
化書き込み方式を利用したディスク制御システムであれ
ば、一つのディスクドライブから構成されるディスク装
置の制御に対しても同様にして適用することができる。
【0069】また、RAID高速化ドライバ100の処
理手順を含むコンピュータプログラムをコンピュータ読
み取り可能な記録媒体に記録しておくことにより、その
コンピュータプログラムを記録媒体を通じて通常の計算
機システムに導入するだけで本実施形態と同様の効果を
得ることができる。
【0070】また、本発明は、上記実施形態に限定され
るものではなく、実施段階ではその要旨を逸脱しない範
囲で種々に変形することが可能である。更に、上記実施
形態には種々の段階の発明が含まれており、開示される
複数の構成要件における適宜な組み合わせにより種々の
発明が抽出され得る。例えば、実施形態に示される全構
成要件から幾つかの構成要件が削除されても、発明が解
決しようとする課題の欄で述べた課題が解決でき、発明
の効果の欄で述べられている効果が得られる場合には、
この構成要件が削除された構成が発明として抽出され得
る。
【0071】
【発明の効果】以上説明したように、本発明によれば、
効率よくデータの並べ替え処理を行えるようになり、少
ない負荷で、読み出し性能の向上を図ることが可能とな
る。特に、有効ブロック数の割合と、論理ブロック番号
が隣り合うブロックの物理ブロック番号が連続している
割合とを使用することにより、並べ替えが必要な論理ス
トライプを効率よく選定することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係る計算機システムの構
成を示すブロック図。
【図2】同実施形態の計算機システムに設けられたディ
スク装置に対する書き込み処理の原理を説明するための
図。
【図3】同実施形態の計算機システムに設けられたアド
レス変換テーブルの内容の一例を示す図。
【図4】同実施形態の計算機システムで実行されるリパ
ック制御処理の手順を示すフローチャート。
【図5】同実施形態の計算機システムに設けられた論理
ストライプ管理テーブルの構成を示す図。
【図6】同実施形態の計算機システムにおけるリパック
処理前とリパック処理後のアドレス変換テーブルの内容
の変化の様子を示す図。
【図7】同実施形態の計算機システムにおけるリパック
処理前とリパック処理後の物理的なデータの並びの変化
の様子を示す図。
【図8】同実施形態の計算機システムにおけるデータリ
ード時の処理手順を示すフローチャート。
【図9】同実施形態の計算機システムで実行されるリパ
ック制御処理の第2の手順を示すフローチャート。
【図10】同実施形態の計算機システムにおけるデータ
ライト時の処理手順を示すフローチャート。
【図11】同実施形態の計算機システムで実行されるリ
パック制御処理の第3の手順を示すフローチャート。
【符号の説明】
11…CPU 12…ブリッジ 13…主メモリ 16…RAIDコントローラ 17…不揮発性メモリ 18…ディスクアレイ 171…ログメモリ 172…アドレス変換テーブル 173…論理ストライプ管理テーブル

Claims (14)

    (57)【特許請求の範囲】
  1. 【請求項1】 ログ構造化書き込み方式のディスク制御
    システムであって、 複数のディスク装置で構成されるディスクアレイと、 書き込み要求された複数のデータブロックを蓄積するデ
    ータバッファと、 前記データバッファに蓄積された複数のデータブロック
    から前記ディスクアレイの1物理ストライプ分の書き込
    みデータを生成して、前記ディスクアレイの所定の物理
    ストライプに一括して書き込むデータ書き込み手段と、 前記ディスクアレイの論理ストライプを構成する複数の
    論理ブロック番号と、その論理ブロック番号で指定され
    るデータブロックが存在する前記ディスクアレイ上の物
    理位置を示す物理ブロック番号との対応関係を、各論理
    ストライプ毎に記憶するアドレス変換テーブルと、 前記アドレス変換テーブルを参照して、前記論理ストラ
    イプ内における有効論理ブロック数の割合および/また
    は隣り合う物理ブロック番号が連続している割合を算出
    して、その結果が所定の条件を満たす場合に、再配置対
    象の論理ストライプとして決定する再配置対象決定手段
    と、 前記再配置対象決定手段により再配置が決定された前記
    論理ストライプのデータブロックを前記ディスクアレイ
    から前記データバッファに読み出し、前記データ書き込
    み手段によって前記ディスクアレイの空き物理ストライ
    プ領域に書き込むデータ再配置手段と、 前記アドレス変換テーブルの前記物理ブロック番号を前
    記空き物理ストライプの物理ブロック番号に書き替える
    アドレス変換テーブル書き換え手段と、 を具備することを特徴とするディスク制御システム。
  2. 【請求項2】 前記再配置対象決定手段は、前記有効な
    論理ブロックの割合が所定値よりも大きく、且つ前記隣
    り合う物理ブロック番号が連続している割合が所定値以
    下の論理ストライプを、再配置対象として条件決定する
    ことを特徴とする請求項1記載のディスク制御システ
    ム。
  3. 【請求項3】 ログ構造化書き込み方式のディスク制御
    システムであって、 複数のディスク装置で構成されるディスクアレイと、 書き込み要求された複数のデータブロックを蓄積するデ
    ータバッファと、 前記データバッファに蓄積された複数のデータブロック
    から前記ディスクアレイの1物理ストライプ分の書き込
    みデータを生成して、前記ディスクアレイの所定の物理
    ストライプに一括して書き込むデータ書き込み手段と、前記ディスクアレイの論理アドレス空間を構成する複数
    の論理ブロック番号とその論理ブロック番号で指定され
    るデータブロックが存在する前記ディスクアレイ上の物
    理位置を示す物理ブロック番号との対応関係を記憶する
    アドレス変換テーブルと、 前記ディスクアレイの論理アドレス空間を1物理ストラ
    イプ分のデータブロックの個数分のアドレス範囲毎に区
    切った各論理ストライプ毎に、その論理ストライプ内に
    含まれる複数の論理ブロックに対するデータリードの回
    数を計数するカウンタ手段と、 前記カウンタ手段を参照して、前記データリードの回数
    が所定値以上の論理ストライプを再配置対象の論理スト
    ライプとして決定する再配置対象決定手段と、 前記再配置対象決定手段により再配置が決定された前記
    論理ストライプのデータブロックを前記ディスクアレイ
    から前記データバッファに読み出し、前記データ書き込
    み手段によって前記ディスクアレイの空き物理ストライ
    プ領域に書き込むデータ再配置手段と、 前記アドレス変換テーブルの前記物理ブロック番号を前
    記空き物理ストライプの物理ブロック番号に書き替える
    アドレス変換テーブル書き換え手段と、 を具備することを特徴とするディスク制御システム。
  4. 【請求項4】 ログ構造化書き込み方式のディスク制御
    システムであって、 複数のディスク装置で構成されるディスクアレイと、 書き込み要求された複数のデータブロックを蓄積するデ
    ータバッファと、 前記データバッファに蓄積された複数のデータブロック
    から前記ディスクアレイの1物理ストライプ分の書き込
    みデータを生成して、前記ディスクアレイの所定の物理
    ストライプに一括して書き込むデータ書き込み手段と、前記ディスクアレイの論理アドレス空間を構成する複数
    の論理ブロック番号とその論理ブロック番号で指定され
    るデータブロックが存在する前記ディスクアレイ上の物
    理位置を示す物理ブロック番号との対応関係を記憶する
    アドレス変換テ ーブルと、 前記ディスクアレイの論理アドレス空間を1物理ストラ
    イプ分のデータブロックの個数分のアドレス範囲毎に区
    切った各論理ストライプ毎に、その論理ストライプ内に
    含まれる複数の論理ブロックに対するデータ書き込み回
    数を計数するカウンタ手段と、 前記カウンタ手段を参照して、前記データ書き込み回数
    が所定値以上の論理ストライプを再配置対象の論理スト
    ライプとして決定する再配置対象決定手段と、 前記再配置対象決定手段により再配置が決定された前記
    論理ストライプのデータブロックを前記ディスクアレイ
    から前記データバッファに読み出し、前記データ書き込
    み手段によって前記ディスクアレイの空き物理ストライ
    プ領域に書き込むデータ再配置手段と、 前記アドレス変換テーブルの前記物理ブロック番号を前
    記空き物理ストライプの物理ブロック番号に書き替える
    アドレス変換テーブル書き換え手段と、 を具備することを特徴とするディスク制御システム。
  5. 【請求項5】 前記再配置対象決定手段は、前記アドレ
    ス変換テーブルを参照して、前記論理ストライプ内にお
    ける有効論理ブロック数の割合および/または隣り合う
    物理ブロック番号が連続している割合を算出して、その
    結果が所定の条件を満たす場合に、再配置対象の論理ス
    トライプとして決定する手段を併せ持つことを特徴とす
    る請求項3または請求項4記載のディスク制御システ
    ム。
  6. 【請求項6】 複数のディスク装置で構成されるディス
    クアレイに記憶されたデータブロックの再配置を行うた
    めのデータ再配置方法であって、 データバッファに書き込み要求された複数のデータブロ
    ックを蓄積するステップと、 前記データバッファに蓄積された前記複数のデータブロ
    ックから前記ディスクアレイの1物理ストライプ分の書
    き込みデータを生成して、前記ディスクアレイの所定の
    物理ストライプに一括して書き込むステップと、 前記ディスクアレイの論理ストライプを構成する複数の
    論理ブロック番号と、その論理ブロック番号のデータブ
    ロックが書き込まれる前記ディスクアレイ上の物理位置
    を示す物理ブロック番号との対応関係を示すアドレス変
    換テーブルを各論理ストライプ毎に生成するステップ
    と、 前記アドレス変換テーブルを参照して、前記論理ストラ
    イプ内における有効論理ブロック数の割合および/また
    は隣り合う物理ブロック番号が連続している割合を算出
    して、その結果が所定の条件を満たす場合に、再配置対
    象の論理ストライプとして決定するステップと、 再配置が決定された前記論理ストライプのデータブロッ
    クを前記ディスクアレイから前記データバッファに読み
    出し、前記一括書き込みステップによって前記ディスク
    アレイの空き物理ストライプ領域に書き込んでデータ再
    配置を行うステップと、 前記データ再配置に伴って、前記アドレス変換テーブル
    の前記物理ブロック番号を前記空き物理ストライプの物
    理ブロック番号に書き換えるステップと、 を具備することを特徴とするデータ再配置方法。
  7. 【請求項7】 前記有効な論理ブロックの割合が所定値
    よりも大きく、且つ前記隣り合う物理ブロック番号が連
    続している割合が所定値以下の論理ストライプを、再配
    置対象として条件決定することを特徴とする請求項
    載のデータ再配置方法。
  8. 【請求項8】 複数のディスク装置で構成されるディス
    クアレイに記憶されたデータブロックの再配置を行うた
    めのデータ再配置方法であって、 データバッファに書き込み要求された複数のデータブロ
    ックを蓄積するステップと、 前記データバッファに蓄積された前記複数のデータブロ
    ックから前記ディスクアレイの1物理ストライプ分の書
    き込みデータを生成して、前記ディスクアレイの所定の
    物理ストライプに一括して書き込むステップと、前記ディスクアレイの論理アドレス空間を構成する複数
    の論理ブロック番号とその論理ブロック番号で指定され
    るデータブロックが存在する前記ディスクアレイ上の物
    理位置を示す物理ブロック番号との対応関係を記憶する
    アドレス変換テーブルを 生成するステップと、前記ディスクアレイの論理アドレス空間を1物理ストラ
    イプ分のデータブロックの個数分のアドレス範囲毎に区
    切った各論理ストライプ毎に、その論理ストラ イプ内に
    含まれる複数の論理ブロックに対するデータリードの回
    数を計数する ステップと、 前記データリードの回数が所定値以上の論理ストライプ
    を再配置対象の論理ストライプとして決定するステップ
    と、 再配置が決定された前記論理ストライプのデータブロッ
    クを前記ディスクアレイから前記データバッファに読み
    出し、前記一括書き込みステップによって前記ディスク
    アレイの空き物理ストライプ領域に書き込んでデータ再
    配置を行うステップと、 前記アドレス変換テーブルの前記物理ブロック番号を前
    記空き物理ストライプの物理ブロック番号に書き換える
    ステップと、 を具備することを特徴とするデータ再配置方法。
  9. 【請求項9】 複数のディスク装置で構成されるディス
    クアレイに記憶されたデータブロックの再配置を行うた
    めのデータ再配置方法であって、 データバッファに書き込み要求された複数のデータブロ
    ックを蓄積するステップと、 前記データバッファに蓄積された前記複数のデータブロ
    ックから前記ディスクアレイの1物理ストライプ分の書
    き込みデータを生成して、前記ディスクアレイの所定の
    物理ストライプに一括して書き込むステップと、前記ディスクアレイの論理アドレス空間を構成する複数
    の論理ブロック番号とその論理ブロック番号で指定され
    るデータブロックが存在する前記ディスクアレイ上の物
    理位置を示す物理ブロック番号との対応関係を記憶する
    アドレス変換テーブルを 生成するステップと、前記ディスクアレイの論理アドレス空間を1物理ストラ
    イプ分のデータブロックの個数分のアドレス範囲毎に区
    切った各論理ストライプ毎に、その論理ストライプ内に
    含まれる複数の論理ブロックに対するデータ書き込み回
    数を計数する ステップと、 前記データ書き込み回数が所定値以上の論理ストライプ
    を再配置対象の論理ストライプとして決定するステップ
    と、 再配置が決定された前記論理ストライプのデータブロッ
    クを前記ディスクアレイから前記データバッファに読み
    出し、前記一括書き込みステップによって前記ディスク
    アレイの空き物理ストライプ領域に書き込んでデータ再
    配置を行うステップと、 前記アドレス変換テーブルの前記物理ブロック番号を前
    記空き物理ストライプの物理ブロック番号に書き換える
    ステップと、 を具備することを特徴とするデータ再配置方法。
  10. 【請求項10】 再配置対象の論理ストライプを決定す
    るステップに、前記アドレス変換テーブルを参照して、
    前記論理ストライプ内における有効論理ブロック数の割
    合および/または隣り合う物理ブロック番号が連続して
    いる割合を算出して、その結果が所定の条件を満たす場
    合に、再配置対象の論理ストライプとして決定するステ
    ップを併せ持つことを特徴とする請求項8または請求項
    9記載のデータ再配置方法。
  11. 【請求項11】 前記各論理ストライプ毎に、そこに含
    まれる論理ブロックに対するデータリードの回数を計数
    するカウンタ手段をさらに具備し、 前記再配置対象決定手段は、前記データリードの回数が
    所定値以上の論理ストライプに対して優先的に前記再配
    置対象の論理ストライプを決定するための処理を実行す
    ることを特徴とする請求項1記載のディスク制御システ
    ム。
  12. 【請求項12】 前記各論理ストライプ毎に、そこに含
    まれる論理ブロックに対するデータ書き込み回数を計数
    するカウンタ手段をさらに具備し、 前記再配置対象決定手段は、前記データ書き込み回数が
    所定値以上の論理ストライプに対して優先的に前記再配
    置対象の論理ストライプを決定するための処理を実行す
    ることを特徴とする請求項1記載のディスク制御システ
    ム。
  13. 【請求項13】 前記各論理ストライプ毎に、そこに含
    まれる論理ブロックに対するデータリードの回数を計数
    するステップをさらに具備し、 前記有効論理ブロック数の割合および/または隣り合う
    物理ブロック番号が連続している割合が所定の条件を満
    たすかどうかを判定する処理を、前記データリードの回
    数が所定値以上の論理ストライプに対して優先的に実行
    することを特徴とする請求項6記載のデータ再配置方
    法。
  14. 【請求項14】 前記各論理ストライプ毎に、そこに含
    まれる論理ブロック に対するデータ書き込み回数を計数
    するステップをさらに具備し、 前記有効論理ブロック数の割合および/または隣り合う
    物理ブロック番号が連続している割合が所定の条件を満
    たすかどうかを判定する処理を、前記データリードの回
    数が所定値以上の論理ストライプに対して優先的に実行
    することを特徴とする請求項6記載のデータ再配置方
    法。
JP2000195895A 1999-12-27 2000-06-29 ディスク制御システムおよびデータ再配置方法 Expired - Fee Related JP3431581B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000195895A JP3431581B2 (ja) 2000-06-29 2000-06-29 ディスク制御システムおよびデータ再配置方法
US09/662,220 US6609176B1 (en) 1999-12-27 2000-09-14 Disk control system and data rearrangement method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000195895A JP3431581B2 (ja) 2000-06-29 2000-06-29 ディスク制御システムおよびデータ再配置方法

Publications (2)

Publication Number Publication Date
JP2002014776A JP2002014776A (ja) 2002-01-18
JP3431581B2 true JP3431581B2 (ja) 2003-07-28

Family

ID=18694483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000195895A Expired - Fee Related JP3431581B2 (ja) 1999-12-27 2000-06-29 ディスク制御システムおよびデータ再配置方法

Country Status (1)

Country Link
JP (1) JP3431581B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3785127B2 (ja) * 2002-09-11 2006-06-14 株式会社東芝 ディスクアレイ制御装置及びディスクアレイ制御装置におけるデータ書き込み方法
US7216207B1 (en) 2004-03-08 2007-05-08 International Business Machines Corporation System and method for fast, secure removal of objects from disk storage
CN1306381C (zh) * 2004-08-18 2007-03-21 华为技术有限公司 一种磁盘阵列数据的读写方法及并行读写方法
JP5141402B2 (ja) * 2008-06-26 2013-02-13 富士通株式会社 ストレージシステム,コピー制御方法およびコピー制御装置
US9588886B2 (en) * 2013-03-15 2017-03-07 Seagate Technology Llc Staging sorted data in intermediate storage
WO2016051492A1 (ja) * 2014-09-30 2016-04-07 株式会社日立製作所 データベース管理システム、データベース管理方法及び記憶媒体
US10579680B2 (en) 2016-05-13 2020-03-03 Tibco Software Inc. Using a B-tree to store graph information in a database
CN111338559B (zh) * 2018-12-19 2023-11-10 深圳市茁壮网络股份有限公司 数据处理方法、用户模块、信息管理模块及***
US10977181B2 (en) 2019-07-10 2021-04-13 International Business Machines Corporation Data placement in write cache architecture supporting read heat data separation
JP7440167B2 (ja) * 2020-02-19 2024-02-28 Necソリューションイノベータ株式会社 情報格納方法
CN113625959B (zh) * 2021-06-30 2023-12-29 济南浪潮数据技术有限公司 一种数据处理方法和装置

Also Published As

Publication number Publication date
JP2002014776A (ja) 2002-01-18

Similar Documents

Publication Publication Date Title
US6609176B1 (en) Disk control system and data rearrangement method
US9569130B2 (en) Storage system having a plurality of flash packages
US9152332B2 (en) Storage system and method for reducing energy consumption
US9081690B2 (en) Storage system and management method of control information therein
US8838887B1 (en) Drive partitioning for automated storage tiering
JP3862274B2 (ja) Raidディスクサブシステムと統合されたファイルシステムのファイル割り当て方法
US20220137849A1 (en) Fragment Management Method and Fragment Management Apparatus
JP3245001B2 (ja) データ処理システムおよびその操作方法
US6941420B2 (en) Log-structure array
US6675176B1 (en) File management system
US7584229B2 (en) Method and system for priority-based allocation in a storage pool
US9323655B1 (en) Location of data among storage tiers
US20130232297A1 (en) Storage System Comprising Flash Memory Modules Subject to Two Wear - Leveling Process
US20110179219A1 (en) Hybrid storage device
US20120254513A1 (en) Storage system and data control method therefor
US9965381B1 (en) Indentifying data for placement in a storage system
US7603337B2 (en) Storage system operation management method and storage system
US8694563B1 (en) Space recovery for thin-provisioned storage volumes
US20150143021A1 (en) Equalizing wear on storage devices through file system controls
US20180253252A1 (en) Storage system
JP3431581B2 (ja) ディスク制御システムおよびデータ再配置方法
US7032093B1 (en) On-demand allocation of physical storage for virtual volumes using a zero logical disk
US20070106868A1 (en) Method and system for latency-directed block allocation
US9189407B2 (en) Pre-fetching in a storage system
WO2011135622A1 (en) Storage device and method of controlling storage system

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090523

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090523

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100523

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100523

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110523

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120523

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130523

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20140523

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees