JP3373360B2 - ディスクアレイ装置 - Google Patents
ディスクアレイ装置Info
- Publication number
- JP3373360B2 JP3373360B2 JP15193896A JP15193896A JP3373360B2 JP 3373360 B2 JP3373360 B2 JP 3373360B2 JP 15193896 A JP15193896 A JP 15193896A JP 15193896 A JP15193896 A JP 15193896A JP 3373360 B2 JP3373360 B2 JP 3373360B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- area
- parity
- log
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、複数の磁気ディス
ク装置を備え、これらの磁気ディスク装置を用いてあた
かも1台の記憶装置として機能するディスクアレイ装置
に関するものである。
ク装置を備え、これらの磁気ディスク装置を用いてあた
かも1台の記憶装置として機能するディスクアレイ装置
に関するものである。
【0002】
【従来の技術】ディスクアレイ装置とは、カリフォルニ
ア大学バークレー校において提案された「RAID(Re
dundant Arrays of Independent Disks )アーキテクチ
ャ」を用いたもので、複数の磁気ディスク装置(Hard D
isk Drive;以下、HDDと略す)とこれらの制御を行う
コントローラとを備え、データを各HDDに分散して記
憶し、上位からのアクセスを並行に処理することによ
り、高い性能を実現するものである。「RAIDアーキ
テクチャ」にはデータの分散方式により幾つかのレベル
があるが、ディスクアレイ装置では、一般に、高いラン
ダムアクセス性能と信頼性の得られる「RAIDレベル
5」と呼ばれるアーキテクチャが用いられている。
ア大学バークレー校において提案された「RAID(Re
dundant Arrays of Independent Disks )アーキテクチ
ャ」を用いたもので、複数の磁気ディスク装置(Hard D
isk Drive;以下、HDDと略す)とこれらの制御を行う
コントローラとを備え、データを各HDDに分散して記
憶し、上位からのアクセスを並行に処理することによ
り、高い性能を実現するものである。「RAIDアーキ
テクチャ」にはデータの分散方式により幾つかのレベル
があるが、ディスクアレイ装置では、一般に、高いラン
ダムアクセス性能と信頼性の得られる「RAIDレベル
5」と呼ばれるアーキテクチャが用いられている。
【0003】「RAIDレベル5アーキテクチャ」を用
いたディスクアレイ装置では、複数のHDDが、図25
に示すように、データの記憶を行っている。なお、ディ
スクアレイ装置が備えるHDDの台数は「RAIDアー
キテクチャ」では特に規定されていないが、ここでは最
も一般的な5台構成を例に挙げて説明する。5台構成の
中の各HDDでは、アクセスの最小単位であるデータブ
ロック単位でデータを記憶しており、これらデータブロ
ックの所定数の集合により1つのチャンクを形成し、か
つ、各HDD内の記憶位置が対応するチャンクの集合に
よりストライプを形成している。また、各HDDでは、
ストライプの中の1つのチャンクをパリティチャンクと
し、このパリティチャンクにストライプの中の他のチャ
ンクから算出される排他的論理和をパリティデータとし
て記憶している。さらに、パリティチャンクは、各スト
ライプ毎に異なるHDDに分散して記憶されている。
いたディスクアレイ装置では、複数のHDDが、図25
に示すように、データの記憶を行っている。なお、ディ
スクアレイ装置が備えるHDDの台数は「RAIDアー
キテクチャ」では特に規定されていないが、ここでは最
も一般的な5台構成を例に挙げて説明する。5台構成の
中の各HDDでは、アクセスの最小単位であるデータブ
ロック単位でデータを記憶しており、これらデータブロ
ックの所定数の集合により1つのチャンクを形成し、か
つ、各HDD内の記憶位置が対応するチャンクの集合に
よりストライプを形成している。また、各HDDでは、
ストライプの中の1つのチャンクをパリティチャンクと
し、このパリティチャンクにストライプの中の他のチャ
ンクから算出される排他的論理和をパリティデータとし
て記憶している。さらに、パリティチャンクは、各スト
ライプ毎に異なるHDDに分散して記憶されている。
【0004】このようなデータ構造によりデータの記憶
を行うので、ディスクアレイ装置では、複数のHDDの
うちの1つに障害が発生した場合であっても、他のHD
Dに記憶されているデータ及びパリティデータを用い
て、障害を起こしたHDDに記憶されていたデータを回
復させることができ、装置全体としての信頼性を高くす
ることが可能となる。また、ディスクアレイ装置では、
複数のHDDに対して、コントローラが可能な限り並行
に処理を実行するので、1つのアクセス当たりの処理時
間を見かけ上減少させることができ、TPC(Transact
ion Per Second)を向上することが可能となる。
を行うので、ディスクアレイ装置では、複数のHDDの
うちの1つに障害が発生した場合であっても、他のHD
Dに記憶されているデータ及びパリティデータを用い
て、障害を起こしたHDDに記憶されていたデータを回
復させることができ、装置全体としての信頼性を高くす
ることが可能となる。また、ディスクアレイ装置では、
複数のHDDに対して、コントローラが可能な限り並行
に処理を実行するので、1つのアクセス当たりの処理時
間を見かけ上減少させることができ、TPC(Transact
ion Per Second)を向上することが可能となる。
【0005】
【発明が解決しようとする課題】ところで、上述したデ
ィスクアレイ装置では、HDD内に新たなデータを記憶
する場合に、コントローラがHDDから既に記憶されて
いるデータとこれに対応するパリティデータとを読み出
して、これらを基に新たなパリティデータを生成し、そ
の後に新たなデータと新たなパリティデータとをHDD
に記憶するようになっている。
ィスクアレイ装置では、HDD内に新たなデータを記憶
する場合に、コントローラがHDDから既に記憶されて
いるデータとこれに対応するパリティデータとを読み出
して、これらを基に新たなパリティデータを生成し、そ
の後に新たなデータと新たなパリティデータとをHDD
に記憶するようになっている。
【0006】例えば、図26に示すように、互いに異な
るストライプ内にある4つのデータチャンクA〜Dに新
たなデータを記憶させる場合に、コントローラは、複数
のHDDに対して16回のアクセスを行う。すなわち、
コントローラは、1つのデータチャンク、例えばデータ
チャンクAについて、既にデータチャンクAに記憶され
ている旧データの読み取りと、このデータチャンクAに
対応するパリティチャンクAPに記憶されている旧パリ
ティデータの読み取りと、データチャンクAに対する新
たなデータの書き込みと、パリティチャンクAPに対す
る新たなパリティデータの書き込みとの4回のアクセス
を行うので、データチャンクA〜Dの4箇所で合わせて
16回のアクセスを行う。
るストライプ内にある4つのデータチャンクA〜Dに新
たなデータを記憶させる場合に、コントローラは、複数
のHDDに対して16回のアクセスを行う。すなわち、
コントローラは、1つのデータチャンク、例えばデータ
チャンクAについて、既にデータチャンクAに記憶され
ている旧データの読み取りと、このデータチャンクAに
対応するパリティチャンクAPに記憶されている旧パリ
ティデータの読み取りと、データチャンクAに対する新
たなデータの書き込みと、パリティチャンクAPに対す
る新たなパリティデータの書き込みとの4回のアクセス
を行うので、データチャンクA〜Dの4箇所で合わせて
16回のアクセスを行う。
【0007】つまり、ディスクアレイ装置では、パリテ
ィデータを記憶することにより装置全体としての信頼性
を高くすることが可能であるが、そのために新たなデー
タを記憶する場合などに、コントローラと複数のHDD
との間で多くのアクセスが必要になってしまう。また、
データの読み取りを行う場合であっても、データが複数
のHDDに分散して記憶されていると、各HDDに対し
てアクセスしなければならないので、多くのアクセスが
必要になってしまう。よって、このディスクアレイ装置
では、コントローラと複数のHDDとの間で多くのアク
セスを行うことによって、迅速な処理動作の実現が困難
になってしまうとともに、装置全体としてのスループッ
ト向上の妨げとなってしまう。
ィデータを記憶することにより装置全体としての信頼性
を高くすることが可能であるが、そのために新たなデー
タを記憶する場合などに、コントローラと複数のHDD
との間で多くのアクセスが必要になってしまう。また、
データの読み取りを行う場合であっても、データが複数
のHDDに分散して記憶されていると、各HDDに対し
てアクセスしなければならないので、多くのアクセスが
必要になってしまう。よって、このディスクアレイ装置
では、コントローラと複数のHDDとの間で多くのアク
セスを行うことによって、迅速な処理動作の実現が困難
になってしまうとともに、装置全体としてのスループッ
ト向上の妨げとなってしまう。
【0008】そこで、本発明は、装置全体としての高信
頼性を確保しつつ、コントローラと複数のHDDとの間
のアクセスを減らすことにより、迅速な処理動作の実現
と装置全体としてのスループット向上とが可能であるデ
ィスクアレイ装置を提供することを目的とする。
頼性を確保しつつ、コントローラと複数のHDDとの間
のアクセスを減らすことにより、迅速な処理動作の実現
と装置全体としてのスループット向上とが可能であるデ
ィスクアレイ装置を提供することを目的とする。
【0009】
【課題を解決するための手段】本発明は、上記目的を達
成するために案出されたディスクアレイ装置で、ホスト
装置に接続されるとともに、データを記憶する複数の記
憶手段を備え、前記ホスト装置から論理アドレスの指定
されたデータが送信されると、そのデータを受け取って
前記複数の記憶手段に分散して記憶し、かつ、これら複
数の記憶手段の中のいずれか1つに他の記憶手段内のデ
ータに対応するパリティデータを記憶するものであっ
て、さらに、前記複数の記憶手段の記憶領域をログ領域
とし、このログ領域に付したログアドレスの順に従っ
て、前記ログ領域内に前記ホスト装置からのデータを受
け取り順に記憶させる書き込み制御手段と、前記ログア
ドレスと前記ログ領域内のデータの論理アドレスとの対
応関係をアドレス情報として記憶するアドレス管理手段
と、前記書き込み制御手段が前記ログ領域内に所定量の
データを記憶させると、その時点で前記所定量のデータ
に対応するパリティデータを前記いずれか1つの記憶手
段に記憶させるパリティ制御手段と、前記ホスト装置か
らデータを受け取る毎に、そのデータに対応するパリテ
ィデータを生成するパリティ生成手段と、そのパリティ
生成手段が生成したパリティデータを保持するパリティ
保持手段とを備え、前記パリティ制御手段が、前記ログ
領域内に所定量のデータが記憶されると、前記パリティ
保持手段が保持しているパリティデータを、前記いずれ
か1つの記憶手段に転送し記憶させるものであることを
特徴とする。また、本発明のディスクアレイ装置は、ホ
スト装置に接続されるとともに、データを記憶する複数
の記憶手段を備え、前記ホスト装置から論理アドレスの
指定されたデータが送信されると、そのデータを受け取
って前記複数の記憶手段に分散して記憶し、かつ、これ
ら複数の記憶手段の中のいずれか1つに他の記憶手段内
のデータに対応するパリティデータを記憶するものであ
って、さらに、前記複数の記憶手段の記憶領域をログ領
域とし、このログ領域に付したログアドレスの順に従っ
て、前記ログ領域内に前記ホスト装置からのデータを受
け取り順に記憶させる書き込み制御手段と、前記ログア
ドレスと前記ログ領域内のデータの論理アドレスとの対
応関係をアドレス情報として記憶するアドレス管理手段
と、前記書き込み制御手段が前記ログ領域内に所定量の
データを記憶させると、その時点で前記所定量のデータ
に対応するパリティデータを前記いずれか1つの記憶手
段に記憶させるパリティ制御手段と、前記ホスト装置か
らデータを受け取る毎に、そのデータに対応するパリテ
ィデータを生成するパリティ生成手段と、前記所定量の
データ及びそのデータに対応するパリティデータを保持
可能な容量を有し、前記ホスト装置からデータを受けと
ると、そのデータ及びそのデータに対応して前記パリテ
ィ生成手段が生成したパリティデータを保持するデータ
保持手段とを備え、前記書き込み制御手段が、前記デー
タ保持手段が前記所定量のデータを保持すると、その所
定量のデータを前記データ保持手段から前記ログ領域内
に転送し記憶させるものであり、前記パリティ制御手段
は、前記書き込み制御手段が前記所定量のデータの転送
を行うと、そのデータに対応するパリティデータを前記
データ保持手段から前記いずれか1つの記憶手段に転送
し記憶させるものであることを特徴とする。
成するために案出されたディスクアレイ装置で、ホスト
装置に接続されるとともに、データを記憶する複数の記
憶手段を備え、前記ホスト装置から論理アドレスの指定
されたデータが送信されると、そのデータを受け取って
前記複数の記憶手段に分散して記憶し、かつ、これら複
数の記憶手段の中のいずれか1つに他の記憶手段内のデ
ータに対応するパリティデータを記憶するものであっ
て、さらに、前記複数の記憶手段の記憶領域をログ領域
とし、このログ領域に付したログアドレスの順に従っ
て、前記ログ領域内に前記ホスト装置からのデータを受
け取り順に記憶させる書き込み制御手段と、前記ログア
ドレスと前記ログ領域内のデータの論理アドレスとの対
応関係をアドレス情報として記憶するアドレス管理手段
と、前記書き込み制御手段が前記ログ領域内に所定量の
データを記憶させると、その時点で前記所定量のデータ
に対応するパリティデータを前記いずれか1つの記憶手
段に記憶させるパリティ制御手段と、前記ホスト装置か
らデータを受け取る毎に、そのデータに対応するパリテ
ィデータを生成するパリティ生成手段と、そのパリティ
生成手段が生成したパリティデータを保持するパリティ
保持手段とを備え、前記パリティ制御手段が、前記ログ
領域内に所定量のデータが記憶されると、前記パリティ
保持手段が保持しているパリティデータを、前記いずれ
か1つの記憶手段に転送し記憶させるものであることを
特徴とする。また、本発明のディスクアレイ装置は、ホ
スト装置に接続されるとともに、データを記憶する複数
の記憶手段を備え、前記ホスト装置から論理アドレスの
指定されたデータが送信されると、そのデータを受け取
って前記複数の記憶手段に分散して記憶し、かつ、これ
ら複数の記憶手段の中のいずれか1つに他の記憶手段内
のデータに対応するパリティデータを記憶するものであ
って、さらに、前記複数の記憶手段の記憶領域をログ領
域とし、このログ領域に付したログアドレスの順に従っ
て、前記ログ領域内に前記ホスト装置からのデータを受
け取り順に記憶させる書き込み制御手段と、前記ログア
ドレスと前記ログ領域内のデータの論理アドレスとの対
応関係をアドレス情報として記憶するアドレス管理手段
と、前記書き込み制御手段が前記ログ領域内に所定量の
データを記憶させると、その時点で前記所定量のデータ
に対応するパリティデータを前記いずれか1つの記憶手
段に記憶させるパリティ制御手段と、前記ホスト装置か
らデータを受け取る毎に、そのデータに対応するパリテ
ィデータを生成するパリティ生成手段と、前記所定量の
データ及びそのデータに対応するパリティデータを保持
可能な容量を有し、前記ホスト装置からデータを受けと
ると、そのデータ及びそのデータに対応して前記パリテ
ィ生成手段が生成したパリティデータを保持するデータ
保持手段とを備え、前記書き込み制御手段が、前記デー
タ保持手段が前記所定量のデータを保持すると、その所
定量のデータを前記データ保持手段から前記ログ領域内
に転送し記憶させるものであり、前記パリティ制御手段
は、前記書き込み制御手段が前記所定量のデータの転送
を行うと、そのデータに対応するパリティデータを前記
データ保持手段から前記いずれか1つの記憶手段に転送
し記憶させるものであることを特徴とする。
【0010】上記構成のディスクアレイ装置によれば、
ホスト装置から論理アドレスの指定されたデータが送信
されると、書き込み制御手段が、そのデータを、複数の
記憶手段のログ領域に付したログアドレスの順に従っ
て、受け取り順でログ領域内に記憶させる。このとき、
アドレス管理手段は、ホスト装置からのデータがログ領
域内の何処に記憶されているかが分かるように、ログア
ドレスと論理アドレスとの対応関係をアドレス情報とし
て記憶している。そして、書き込み制御手段がログ領域
内に所定量のデータを記憶させると、パリティ制御手段
は、その時点でこの所定量のデータに対応するパリティ
データを、複数の記憶手段の中のいずれか1つに記憶さ
せる。つまり、このディスクアレイ装置では、ホスト装
置から受け取ったデータを、論理アドレス順ではなく、
ログ領域に付したログアドレスに従って受け取った順で
複数の記憶手段に記憶する。さらに、パリティデータ
を、ホスト装置からデータを受け取る毎ではなく、ログ
領域に所定量のデータを記憶した時点で複数の記憶手段
に記憶する。しかも、ホスト装置からデータを受け取る
毎に、パリティ生成手段がそのデータに対応するパリテ
ィデータを生成し、そのパリティデータがパリティ保持
手段に保持されるので、パリティ制御手段は、ログ領域
内に所定量のデータが記憶されると、パリティ保持手段
が保持しているパリティデータを、いずれか1つの記憶
手段に転送し記憶させればよいことになる。 あるいは、
ホスト装置からデータを受け取る毎に、パリティ生成手
段がそのデータに対応するパリティデータを生成し、そ
のデータ及びこれに対応するパリティデータがデータ保
持手段に保持されるので、書き込み制御手段は、データ
保持手段が所定量のデータを保持すると、その所定量の
データをデータ保持手段からログ領域内に転送し記憶さ
せればよく、またパリティ制御手段は、書き込み制御手
段が所定量のデータの転送を行うと、そのデータに対応
するパリティデータをデータ保持手段からいずれか1つ
の記憶手段に転送し記憶させればよいことになる。
ホスト装置から論理アドレスの指定されたデータが送信
されると、書き込み制御手段が、そのデータを、複数の
記憶手段のログ領域に付したログアドレスの順に従っ
て、受け取り順でログ領域内に記憶させる。このとき、
アドレス管理手段は、ホスト装置からのデータがログ領
域内の何処に記憶されているかが分かるように、ログア
ドレスと論理アドレスとの対応関係をアドレス情報とし
て記憶している。そして、書き込み制御手段がログ領域
内に所定量のデータを記憶させると、パリティ制御手段
は、その時点でこの所定量のデータに対応するパリティ
データを、複数の記憶手段の中のいずれか1つに記憶さ
せる。つまり、このディスクアレイ装置では、ホスト装
置から受け取ったデータを、論理アドレス順ではなく、
ログ領域に付したログアドレスに従って受け取った順で
複数の記憶手段に記憶する。さらに、パリティデータ
を、ホスト装置からデータを受け取る毎ではなく、ログ
領域に所定量のデータを記憶した時点で複数の記憶手段
に記憶する。しかも、ホスト装置からデータを受け取る
毎に、パリティ生成手段がそのデータに対応するパリテ
ィデータを生成し、そのパリティデータがパリティ保持
手段に保持されるので、パリティ制御手段は、ログ領域
内に所定量のデータが記憶されると、パリティ保持手段
が保持しているパリティデータを、いずれか1つの記憶
手段に転送し記憶させればよいことになる。 あるいは、
ホスト装置からデータを受け取る毎に、パリティ生成手
段がそのデータに対応するパリティデータを生成し、そ
のデータ及びこれに対応するパリティデータがデータ保
持手段に保持されるので、書き込み制御手段は、データ
保持手段が所定量のデータを保持すると、その所定量の
データをデータ保持手段からログ領域内に転送し記憶さ
せればよく、またパリティ制御手段は、書き込み制御手
段が所定量のデータの転送を行うと、そのデータに対応
するパリティデータをデータ保持手段からいずれか1つ
の記憶手段に転送し記憶させればよいことになる。
【0011】
【発明の実施の形態】以下、図面に基づき本発明に係る
ディスクアレイ装置について説明する。
ディスクアレイ装置について説明する。
【0012】〔第1の実施の形態〕
ここでは、本発明に係るディスクアレイ装置の概要及び
請求項5記載の発明に係るディスクアレイ装置について
説明する。本実施の形態のディスクアレイ装置は、図1
に示すようなデータ構造でデータの記憶を行うものであ
り、図2に示すような概略構成を有するものである。す
なわち、このディスクアレイ装置は、図2のように、パ
ーソナルコンピュータやワークステーション等のホスト
装置10に接続されて用いられるものであり、5台のH
DD#1〜#5と、これらの制御を行うコントローラ2
0と、これらを互いに接続するディスクインターフェー
ス(以下、インターフェースをI/Fと略す)31と、
ホスト装置10とコントローラ20とを接続するホスト
I/F32とから構成されているものである。
請求項5記載の発明に係るディスクアレイ装置について
説明する。本実施の形態のディスクアレイ装置は、図1
に示すようなデータ構造でデータの記憶を行うものであ
り、図2に示すような概略構成を有するものである。す
なわち、このディスクアレイ装置は、図2のように、パ
ーソナルコンピュータやワークステーション等のホスト
装置10に接続されて用いられるものであり、5台のH
DD#1〜#5と、これらの制御を行うコントローラ2
0と、これらを互いに接続するディスクインターフェー
ス(以下、インターフェースをI/Fと略す)31と、
ホスト装置10とコントローラ20とを接続するホスト
I/F32とから構成されているものである。
【0013】5台のHDD#1〜#5は、その記憶領域
が全てログ領域として使用されるものであり、ホスト装
置10からホストI/F32を介して送信されたデータ
を受け取った順に、冗長データとしてのパリティデータ
を含めて、コントローラ20による制御に従って、各H
DD#1〜#5に分散して記憶するものである。
が全てログ領域として使用されるものであり、ホスト装
置10からホストI/F32を介して送信されたデータ
を受け取った順に、冗長データとしてのパリティデータ
を含めて、コントローラ20による制御に従って、各H
DD#1〜#5に分散して記憶するものである。
【0014】例えば、HDD#1〜#5では、図1に示
すように、任意のブロックサイズのデータ(以下、デー
タブロックと称す)1、2、3…を、データチャンク上
に受け取った順に記憶し、さらに、ストライプ内のデー
タチャンクから算出されたパリティデータを、ストライ
プ内に1つ用意されているパリティチャンクに記憶する
ようになっている。また、これらHDD#1〜#5で
は、パリティチャンクをストライプ毎に異なるHDD#
1〜#5に分散して記憶している。ただし、HDD#1
〜#5では、ログ領域に付したログアドレスの順に従っ
てデータを記憶している。また、パリティチャンクには
アドレスを付していない。
すように、任意のブロックサイズのデータ(以下、デー
タブロックと称す)1、2、3…を、データチャンク上
に受け取った順に記憶し、さらに、ストライプ内のデー
タチャンクから算出されたパリティデータを、ストライ
プ内に1つ用意されているパリティチャンクに記憶する
ようになっている。また、これらHDD#1〜#5で
は、パリティチャンクをストライプ毎に異なるHDD#
1〜#5に分散して記憶している。ただし、HDD#1
〜#5では、ログ領域に付したログアドレスの順に従っ
てデータを記憶している。また、パリティチャンクには
アドレスを付していない。
【0015】また図2において、コントローラ20は、
主制御部21と、データ転送・パリティ生成部22と、
アドレスマップ23とを備えているものである。主制御
部21は、例えばCPU(Central Processing Unit )
からなるものであり、ホスト装置10からの書き込み
(以下、ライトと称す)要求や読み出し(以下、リード
と称す)要求等のコマンド解析や、これらの要求に対す
る処理動作の実行等を行うものである。また、主制御部
21は、本発明における書き込み制御手段、領域認識手
段、及び再利用手段としての機能を有している。なお、
これらの各手段は、主制御部21における所定プログラ
ムの実行により実現されるものである。
主制御部21と、データ転送・パリティ生成部22と、
アドレスマップ23とを備えているものである。主制御
部21は、例えばCPU(Central Processing Unit )
からなるものであり、ホスト装置10からの書き込み
(以下、ライトと称す)要求や読み出し(以下、リード
と称す)要求等のコマンド解析や、これらの要求に対す
る処理動作の実行等を行うものである。また、主制御部
21は、本発明における書き込み制御手段、領域認識手
段、及び再利用手段としての機能を有している。なお、
これらの各手段は、主制御部21における所定プログラ
ムの実行により実現されるものである。
【0016】書き込み制御手段は、ホスト装置10から
ライト要求と共に受け取ったデータを、受け取った順に
HDD#1〜#5のログ領域に記憶させるための機能で
ある。領域認識手段は、HDD#1〜#5のログ領域の
中でデータの記憶に使用していない未使用領域の記憶容
量を認識するための機能である。再利用手段は、領域認
識手段によって未使用領域の記憶容量が一定値以下であ
ると認識されると、HDD#1〜#5のログ領域の中の
データの記憶に使用している領域の一部を再利用領域と
し、この再利用領域内のデータを削除あるいは移動する
ガベージコレクションを行って、これを未使用領域とす
るための機能である。
ライト要求と共に受け取ったデータを、受け取った順に
HDD#1〜#5のログ領域に記憶させるための機能で
ある。領域認識手段は、HDD#1〜#5のログ領域の
中でデータの記憶に使用していない未使用領域の記憶容
量を認識するための機能である。再利用手段は、領域認
識手段によって未使用領域の記憶容量が一定値以下であ
ると認識されると、HDD#1〜#5のログ領域の中の
データの記憶に使用している領域の一部を再利用領域と
し、この再利用領域内のデータを削除あるいは移動する
ガベージコレクションを行って、これを未使用領域とす
るための機能である。
【0017】データ転送・パリティ生成部22は、例え
ばCPUからなるもので、ディスクI/F31の制御や
パリティデータの生成等を行うものであり、本発明にお
けるパリティ生成手段及びパリティ制御手段としての機
能を有するものである。なお、これらの各手段は、デー
タ転送・パリティ生成部22における所定プログラムの
実行により実現されるものである。
ばCPUからなるもので、ディスクI/F31の制御や
パリティデータの生成等を行うものであり、本発明にお
けるパリティ生成手段及びパリティ制御手段としての機
能を有するものである。なお、これらの各手段は、デー
タ転送・パリティ生成部22における所定プログラムの
実行により実現されるものである。
【0018】パリティ生成手段は、主制御部21の書き
込み制御手段がHDD#1〜#5のログ領域内に所定
量、例えば1ストライプ分のデータを記憶させると、こ
れらのデータの排他的論理和を算出して、その算出結果
をパリティデータとするための機能である。パリティ制
御手段は、ログ領域内に例えば1ストライプ分のデータ
が記憶された時点で、パリティ生成手段によって生成さ
れたパリティデータをHDD#1〜#5内のパリティチ
ャンクに記憶させるための機能である。
込み制御手段がHDD#1〜#5のログ領域内に所定
量、例えば1ストライプ分のデータを記憶させると、こ
れらのデータの排他的論理和を算出して、その算出結果
をパリティデータとするための機能である。パリティ制
御手段は、ログ領域内に例えば1ストライプ分のデータ
が記憶された時点で、パリティ生成手段によって生成さ
れたパリティデータをHDD#1〜#5内のパリティチ
ャンクに記憶させるための機能である。
【0019】アドレスマップ23は、例えばバッテリバ
ックアップされたRAM(Random Access Memory)また
は不揮発性の半導体メモリからなるものであり、本発明
におけるアドレス管理手段としての機能を有するもので
ある。すなわち、アドレスマップ23は、例えば図3に
示すように、ホスト装置10から見た論理アドレス(Lo
gic Block Adress;以下LBAと略す)と、HDD#1
〜#5のログ領域に付されたログアドレスとを変換する
ための情報、すなわちLBAとログアドレスとの対応関
係に関する情報を記憶するものである。
ックアップされたRAM(Random Access Memory)また
は不揮発性の半導体メモリからなるものであり、本発明
におけるアドレス管理手段としての機能を有するもので
ある。すなわち、アドレスマップ23は、例えば図3に
示すように、ホスト装置10から見た論理アドレス(Lo
gic Block Adress;以下LBAと略す)と、HDD#1
〜#5のログ領域に付されたログアドレスとを変換する
ための情報、すなわちLBAとログアドレスとの対応関
係に関する情報を記憶するものである。
【0020】次に、以上のように構成されたディスクア
レイ装置における動作について説明する。ディスクアレ
イ装置の動作には、ライト動作、リード動作、ガベージ
コレクション動作、及びHDDの障害発生時の動作があ
る。ただし、HDDの障害発生時の動作については、従
来のものと同じであるためここでは説明を省略する。
レイ装置における動作について説明する。ディスクアレ
イ装置の動作には、ライト動作、リード動作、ガベージ
コレクション動作、及びHDDの障害発生時の動作があ
る。ただし、HDDの障害発生時の動作については、従
来のものと同じであるためここでは説明を省略する。
【0021】〔ライト動作〕ホスト装置10からのライ
ト要求があると、主制御部21は、これを解析し、ホス
ト装置10からライト要求と共に受け取ったデータを、
HDD#1〜#5のログ領域の最新部に記憶させる。
ト要求があると、主制御部21は、これを解析し、ホス
ト装置10からライト要求と共に受け取ったデータを、
HDD#1〜#5のログ領域の最新部に記憶させる。
【0022】例えば、図1に示すように、データブロッ
ク1〜8が既にログ領域内に記憶されていると、主制御
部21は、新たに記憶させるデータをデータブロック9
の位置に記憶させる。そして、このデータブロック9の
ログアドレスに相当するアドレスマップ23上のLBA
の値を更新する。また、1つのストライプ内のデータチ
ャンクが揃った場合、すなわちデータブロック1〜9が
全て記憶された場合に、データ転送・パリティ生成部2
2は、そのストライプ内に記憶されている全てのデータ
ブロック1〜9を基にパリティデータを生成し、さらに
そのパリティデータをHDD#5のパリティチャンク0
に記憶させる。
ク1〜8が既にログ領域内に記憶されていると、主制御
部21は、新たに記憶させるデータをデータブロック9
の位置に記憶させる。そして、このデータブロック9の
ログアドレスに相当するアドレスマップ23上のLBA
の値を更新する。また、1つのストライプ内のデータチ
ャンクが揃った場合、すなわちデータブロック1〜9が
全て記憶された場合に、データ転送・パリティ生成部2
2は、そのストライプ内に記憶されている全てのデータ
ブロック1〜9を基にパリティデータを生成し、さらに
そのパリティデータをHDD#5のパリティチャンク0
に記憶させる。
【0023】〔リード動作〕ホスト装置10からのリー
ド要求があると、主制御部21は、これを解析し、その
リード要求によってホスト装置10から指定されたLB
Aを基に、アドレスマップ23上でログ領域の最新位置
に相当するログアドレスから古い位置に向かって検索す
る。そして、検索されたLBAに対応するログアドレス
に記憶されているデータをログ領域から取り出して、ホ
スト装置10へ送信する。
ド要求があると、主制御部21は、これを解析し、その
リード要求によってホスト装置10から指定されたLB
Aを基に、アドレスマップ23上でログ領域の最新位置
に相当するログアドレスから古い位置に向かって検索す
る。そして、検索されたLBAに対応するログアドレス
に記憶されているデータをログ領域から取り出して、ホ
スト装置10へ送信する。
【0024】例えば、ログ領域内にデータブロック1〜
10が記憶されている場合に、ホスト装置10からデー
タブロック8のLBAを指定するリード要求があると、
主制御部21は、アドレスマップ23上でデータブロッ
ク10のログアドレスからデータブロック9、8…へと
一致するLBAを検索する。そして、データブロック8
のログアドレスでLBAが一致すると、そのログアドレ
スを基にログ領域からデータブロック8を取り出して、
ホスト装置10へ送信する。
10が記憶されている場合に、ホスト装置10からデー
タブロック8のLBAを指定するリード要求があると、
主制御部21は、アドレスマップ23上でデータブロッ
ク10のログアドレスからデータブロック9、8…へと
一致するLBAを検索する。そして、データブロック8
のログアドレスでLBAが一致すると、そのログアドレ
スを基にログ領域からデータブロック8を取り出して、
ホスト装置10へ送信する。
【0025】〔ガベージコレクション動作〕ログ領域は
ライト動作を続けていくうちにその領域が飽和してしま
うため、主制御部21は、ガベージコレクション動作を
行ってログ領域の一部を解放する。例えば図4に示すよ
うに、データの記憶に使用していない未使用領域(ログ
領域の最後尾と最新部との間)がある一定量より小さく
なってしまうと、主制御部21は、ログ領域の最後尾近
傍(ログ領域の中で最も古いデータが記憶されている部
分)の一定量をガベージコレクションの対象となる再利
用領域とする。そして、アドレスマップ23を参照し
て、再利用領域のログアドレスに対応するLBAを求
め、このLBAと同じLBAがアドレスマップ23上の
より新しいログ領域に相当する部分にあるか否かを判断
する。
ライト動作を続けていくうちにその領域が飽和してしま
うため、主制御部21は、ガベージコレクション動作を
行ってログ領域の一部を解放する。例えば図4に示すよ
うに、データの記憶に使用していない未使用領域(ログ
領域の最後尾と最新部との間)がある一定量より小さく
なってしまうと、主制御部21は、ログ領域の最後尾近
傍(ログ領域の中で最も古いデータが記憶されている部
分)の一定量をガベージコレクションの対象となる再利
用領域とする。そして、アドレスマップ23を参照し
て、再利用領域のログアドレスに対応するLBAを求
め、このLBAと同じLBAがアドレスマップ23上の
より新しいログ領域に相当する部分にあるか否かを判断
する。
【0026】ここで、同じLBAが再利用領域以外のロ
グ領域内にあると、そのLBAに関するより新しいデー
タがログ領域上の他の部分に存在するので、主制御部2
1では、そのデータを再利用領域から削除する。一方、
同じLBAがなければ他に新しいデータが存在しないた
めに、再利用領域内のデータが最新かつ有効であるの
で、主制御部21では、そのデータをログ領域内の最新
部、すなわち未使用領域にライト動作を用いて移動させ
る。このようにして、主制御部21では、再利用領域内
の全てのデータを削除あるいは移動するガベージコレク
ションを行って、再利用領域を解放して未使用領域とす
る。
グ領域内にあると、そのLBAに関するより新しいデー
タがログ領域上の他の部分に存在するので、主制御部2
1では、そのデータを再利用領域から削除する。一方、
同じLBAがなければ他に新しいデータが存在しないた
めに、再利用領域内のデータが最新かつ有効であるの
で、主制御部21では、そのデータをログ領域内の最新
部、すなわち未使用領域にライト動作を用いて移動させ
る。このようにして、主制御部21では、再利用領域内
の全てのデータを削除あるいは移動するガベージコレク
ションを行って、再利用領域を解放して未使用領域とす
る。
【0027】以上のように、本実施の形態のディスクア
レイ装置は、ホスト装置10から受け取ったデータを、
LBA順ではなくログ領域に付したログアドレスに従っ
て受け取った順で記憶し、さらにパリティデータを、ホ
スト装置10からデータを受け取る毎ではなくログ領域
に例えば1ストライプ分のデータを記憶した時点で記憶
するようになっている。したがって、このディスクアレ
イ装置では、パリティチャンクへのパリティデータの記
憶をホスト装置10からのライト要求があった毎に行う
必要がないので、HDD#1〜#5にデータを記憶させ
る際に、従来のものに比べてコントローラ20との間に
おけるアクセスを削減することができ、データのライト
に要する時間を短縮することができる。つまり、このデ
ィスクアレイ装置によれば、迅速な処理動作の実現と装
置全体としてのスループット向上とが可能となる。
レイ装置は、ホスト装置10から受け取ったデータを、
LBA順ではなくログ領域に付したログアドレスに従っ
て受け取った順で記憶し、さらにパリティデータを、ホ
スト装置10からデータを受け取る毎ではなくログ領域
に例えば1ストライプ分のデータを記憶した時点で記憶
するようになっている。したがって、このディスクアレ
イ装置では、パリティチャンクへのパリティデータの記
憶をホスト装置10からのライト要求があった毎に行う
必要がないので、HDD#1〜#5にデータを記憶させ
る際に、従来のものに比べてコントローラ20との間に
おけるアクセスを削減することができ、データのライト
に要する時間を短縮することができる。つまり、このデ
ィスクアレイ装置によれば、迅速な処理動作の実現と装
置全体としてのスループット向上とが可能となる。
【0028】例えば、図5に示すように、4つのデータ
チャンクA〜Dにデータを記憶させる場合に、このディ
スクアレイ装置では、コントローラ20がHDD#1〜
#5に対して9回のアクセスを行う。すなわち、コント
ローラ20は、データチャンクAへのライトと、データ
チャンクBへのライトと、データチャンクCへのライト
と、データチャンクDへのライトとの4回のライトを行
い、さらに4回のライトが終了した時点でパリティチャ
ンクPにパリティデータを記憶させるために、データチ
ャンクAからのリードと、データチャンクBからのリー
ドと、データチャンクCからのリードと、データチャン
クDからのリードとの4回のリードを行ってパリティデ
ータを生成し、このパリティデータをパリティチャンク
Pにライトする。よって、従来のもののように16回の
アクセスを行う必要がないので(図26参照)、迅速な
処理動作の実現と装置全体としてのスループット向上と
が可能となる。
チャンクA〜Dにデータを記憶させる場合に、このディ
スクアレイ装置では、コントローラ20がHDD#1〜
#5に対して9回のアクセスを行う。すなわち、コント
ローラ20は、データチャンクAへのライトと、データ
チャンクBへのライトと、データチャンクCへのライト
と、データチャンクDへのライトとの4回のライトを行
い、さらに4回のライトが終了した時点でパリティチャ
ンクPにパリティデータを記憶させるために、データチ
ャンクAからのリードと、データチャンクBからのリー
ドと、データチャンクCからのリードと、データチャン
クDからのリードとの4回のリードを行ってパリティデ
ータを生成し、このパリティデータをパリティチャンク
Pにライトする。よって、従来のもののように16回の
アクセスを行う必要がないので(図26参照)、迅速な
処理動作の実現と装置全体としてのスループット向上と
が可能となる。
【0029】また、本実施の形態のディスクアレイ装置
は、ログ領域内の未使用領域がある一定量以下になる
と、ガベージコレクション動作を行って再利用領域を解
放するようになっている。したがって、ホスト装置10
からライト要求のあったデータを受け取った順に記憶し
ていっても、ガベージコレクション動作を行えば、ログ
領域内がデータで飽和してしまうことがない。これによ
り、ログ領域の容量が限られたものであっても、ホスト
装置10からのデータを受け取り順に記憶することがで
きるようになり、結果として迅速な処理動作の実現と装
置全体としてのスループット向上とが可能となる。
は、ログ領域内の未使用領域がある一定量以下になる
と、ガベージコレクション動作を行って再利用領域を解
放するようになっている。したがって、ホスト装置10
からライト要求のあったデータを受け取った順に記憶し
ていっても、ガベージコレクション動作を行えば、ログ
領域内がデータで飽和してしまうことがない。これによ
り、ログ領域の容量が限られたものであっても、ホスト
装置10からのデータを受け取り順に記憶することがで
きるようになり、結果として迅速な処理動作の実現と装
置全体としてのスループット向上とが可能となる。
【0030】〔第2の実施の形態〕
ここでは、請求項1記載の発明に係るディスクアレイ装
置について説明する。本実施の形態のディスクアレイ装
置は、図6に示すように、第1の実施の形態に加えて、
コントローラ20にパリティ用バッファ24が設けられ
ているものである。また、このディスクアレイ装置で
は、データ転送・パリティ生成部22が、ホスト装置1
0からのライト要求があった毎、すなわちホスト装置1
0からデータを受け取った毎に、そのデータに対するパ
リティデータを生成するようになっている。
置について説明する。本実施の形態のディスクアレイ装
置は、図6に示すように、第1の実施の形態に加えて、
コントローラ20にパリティ用バッファ24が設けられ
ているものである。また、このディスクアレイ装置で
は、データ転送・パリティ生成部22が、ホスト装置1
0からのライト要求があった毎、すなわちホスト装置1
0からデータを受け取った毎に、そのデータに対するパ
リティデータを生成するようになっている。
【0031】パリティ用バッファ24は、パリティチャ
ンク1つまたは複数分のパリティデータを保持可能なR
AM等の半導体メモリからなるものであり、本発明にお
けるパリティ保持手段としての機能を有するものであ
る。すなわち、パリティ用バッファ24は、データ転送
・パリティ生成部22がパリティデータを生成すると、
そのパリティデータをHDD#1〜#5内のパリティチ
ャンクに記憶させるまでの間、保持しておくものであ
る。なお、パリティ用バッファ24は、半導体メモリか
らなるものであるため、データ転送・パリティ生成部2
2との間でのパリティデータのやりとりに要する時間
が、データ転送・パリティ生成部22とHDD#1〜#
5との間に比べて小さくなっている。
ンク1つまたは複数分のパリティデータを保持可能なR
AM等の半導体メモリからなるものであり、本発明にお
けるパリティ保持手段としての機能を有するものであ
る。すなわち、パリティ用バッファ24は、データ転送
・パリティ生成部22がパリティデータを生成すると、
そのパリティデータをHDD#1〜#5内のパリティチ
ャンクに記憶させるまでの間、保持しておくものであ
る。なお、パリティ用バッファ24は、半導体メモリか
らなるものであるため、データ転送・パリティ生成部2
2との間でのパリティデータのやりとりに要する時間
が、データ転送・パリティ生成部22とHDD#1〜#
5との間に比べて小さくなっている。
【0032】次に、以上のように構成されたディスクア
レイ装置における動作について説明する。ただし、ここ
では、第1の実施の形態の場合と異なるライト動作につ
いてのみ説明する。
レイ装置における動作について説明する。ただし、ここ
では、第1の実施の形態の場合と異なるライト動作につ
いてのみ説明する。
【0033】〔ライト動作〕例えば、図7に示すよう
に、1つのストライプ中にデータブロックaとデータブ
ロックbとが記憶され、このストライプ中のパリティチ
ャンクにパリティデータPが記憶されている場合に、新
たにデータブロックcを記憶させた後の新しいパリティ
データP’は、古いパリティデータPとデータブロック
cとから算出される。
に、1つのストライプ中にデータブロックaとデータブ
ロックbとが記憶され、このストライプ中のパリティチ
ャンクにパリティデータPが記憶されている場合に、新
たにデータブロックcを記憶させた後の新しいパリティ
データP’は、古いパリティデータPとデータブロック
cとから算出される。
【0034】したがって、ホスト装置10から新たなデ
ータブロックcのライト要求があると、主制御部21が
そのデータブロックcをHDD#3に記憶させるととも
に、データ転送・パリティ生成部22がデータブロック
cとパリティ用バッファ24内のパリティデータPとか
ら新しいパリティデータP’を生成し、さらにパリティ
用バッファ24がこの新しいパリティデータP’をパリ
ティデータPに替わって保持する。そして、1ストライ
プ分のデータのライトとパリティ用バッファ24内のパ
リティデータの更新が完了すると、データ転送・パリテ
ィ生成部22は、そのストライプ中のパリティチャンク
に、パリティ用バッファ24内のパリティデータを転送
し記憶させる。
ータブロックcのライト要求があると、主制御部21が
そのデータブロックcをHDD#3に記憶させるととも
に、データ転送・パリティ生成部22がデータブロック
cとパリティ用バッファ24内のパリティデータPとか
ら新しいパリティデータP’を生成し、さらにパリティ
用バッファ24がこの新しいパリティデータP’をパリ
ティデータPに替わって保持する。そして、1ストライ
プ分のデータのライトとパリティ用バッファ24内のパ
リティデータの更新が完了すると、データ転送・パリテ
ィ生成部22は、そのストライプ中のパリティチャンク
に、パリティ用バッファ24内のパリティデータを転送
し記憶させる。
【0035】以上のように、本実施の形態のディスクア
レイ装置は、ホスト装置10からのライト要求がある毎
にパリティデータが生成され、そのパリティデータがパ
リティ用バッファ24に保持されるので、1ストライプ
分のデータに対応するパリティデータをパリティチャン
クに記憶させる際に、パリティ用バッファ24内のパリ
ティデータをHDD#1〜#5に転送すればよく、これ
らHDD#1〜#5からのデータのリードが不要とな
る。
レイ装置は、ホスト装置10からのライト要求がある毎
にパリティデータが生成され、そのパリティデータがパ
リティ用バッファ24に保持されるので、1ストライプ
分のデータに対応するパリティデータをパリティチャン
クに記憶させる際に、パリティ用バッファ24内のパリ
ティデータをHDD#1〜#5に転送すればよく、これ
らHDD#1〜#5からのデータのリードが不要とな
る。
【0036】例えば図5に示すように、4つのデータチ
ャンクA〜Dにデータを記憶させる場合に、コントロー
ラ20は、各データチャンクA〜Dへの4回のライト
と、パリティ用バッファ24内のパリティデータのパリ
ティチャンクPへのライト、すなわち計5回のアクセス
を行う。したがって、このディスクアレイ装置では、コ
ントローラ20とHDD#1〜#5との間で、より一層
アクセスの回数を削減することができる。
ャンクA〜Dにデータを記憶させる場合に、コントロー
ラ20は、各データチャンクA〜Dへの4回のライト
と、パリティ用バッファ24内のパリティデータのパリ
ティチャンクPへのライト、すなわち計5回のアクセス
を行う。したがって、このディスクアレイ装置では、コ
ントローラ20とHDD#1〜#5との間で、より一層
アクセスの回数を削減することができる。
【0037】また、本実施の形態のディスクアレイ装置
は、例えばログ領域内にデータが1ストライプ分揃って
いない場合であっても、これらデータに対応するパリテ
ィデータをパリティ用バッファ24が保持している。よ
って、データが1ストライプ分揃っておらず、そのスト
ライプ中のパリティチャンクにパリティデータが記憶さ
れていないときに、HDD#1〜#5の中の1つに障害
が発生しても、障害を起こしたHDDに記憶されていた
データを回復させることができ、装置全体としての信頼
性を維持することができる。
は、例えばログ領域内にデータが1ストライプ分揃って
いない場合であっても、これらデータに対応するパリテ
ィデータをパリティ用バッファ24が保持している。よ
って、データが1ストライプ分揃っておらず、そのスト
ライプ中のパリティチャンクにパリティデータが記憶さ
れていないときに、HDD#1〜#5の中の1つに障害
が発生しても、障害を起こしたHDDに記憶されていた
データを回復させることができ、装置全体としての信頼
性を維持することができる。
【0038】〔第3の実施の形態〕
ここでは、請求項2記載の発明に係るディスクアレイ装
置について説明する。本実施の形態のディスクアレイ装
置は、図8に示すように、第1の実施の形態に加えて、
コントローラ20にデータバッファ25が設けられてい
るものである。また、このディスクアレイ装置では、デ
ータ転送・パリティ生成部22が、ホスト装置10から
のライト要求があった毎、すなわちホスト装置10から
データを受け取った毎に、そのデータに対するパリティ
データを生成するようになっている。
置について説明する。本実施の形態のディスクアレイ装
置は、図8に示すように、第1の実施の形態に加えて、
コントローラ20にデータバッファ25が設けられてい
るものである。また、このディスクアレイ装置では、デ
ータ転送・パリティ生成部22が、ホスト装置10から
のライト要求があった毎、すなわちホスト装置10から
データを受け取った毎に、そのデータに対するパリティ
データを生成するようになっている。
【0039】データバッファ25は、複数ストライプ分
に相当する容量のRAM等の半導体メモリからなるもの
であり、本発明におけるデータ保持手段としての機能を
有するものである。すなわち、データバッファ25は、
HDD#1〜#5のログ領域にライトされるべきデータ
及びこれに対応するパリティデータの、最新の複数スト
ライプ分を、HDD#1〜#5内に記憶されるまでの
間、保持しておくものである。
に相当する容量のRAM等の半導体メモリからなるもの
であり、本発明におけるデータ保持手段としての機能を
有するものである。すなわち、データバッファ25は、
HDD#1〜#5のログ領域にライトされるべきデータ
及びこれに対応するパリティデータの、最新の複数スト
ライプ分を、HDD#1〜#5内に記憶されるまでの
間、保持しておくものである。
【0040】なお、データバッファ25は、半導体メモ
リからなるものであるので、主制御部21及びデータ転
送・パリティ生成部22との間でのデータのやりとりに
要する時間が、HDD#1〜5との間で行う場合に比べ
て小さくなっている。また、主制御部21では、データ
バッファ25がログ領域のどの部分に対応するデータ及
びパリティデータを保持しているかを表す制御情報、具
体的にはデータバッファ25内の最初のデータに対応す
るログアドレスを管理するようになっている。
リからなるものであるので、主制御部21及びデータ転
送・パリティ生成部22との間でのデータのやりとりに
要する時間が、HDD#1〜5との間で行う場合に比べ
て小さくなっている。また、主制御部21では、データ
バッファ25がログ領域のどの部分に対応するデータ及
びパリティデータを保持しているかを表す制御情報、具
体的にはデータバッファ25内の最初のデータに対応す
るログアドレスを管理するようになっている。
【0041】次に、以上のように構成されたディスクア
レイ装置における動作について説明する。ただし、ここ
では、第1の実施の形態の場合と異なるライト動作及び
リード動作についてのみ説明する。
レイ装置における動作について説明する。ただし、ここ
では、第1の実施の形態の場合と異なるライト動作及び
リード動作についてのみ説明する。
【0042】〔ライト動作〕ホスト装置10からのライ
ト要求があると、主制御部21はデータをデータバッフ
ァ25に保持させ、さらにデータ転送・パリティ生成部
22はそのデータに対応するパリティデータの更新を行
う。例えば図9に示すように、データバッファ25内が
空いている状態で、ホスト装置10からのライト要求が
あると、主制御部21は、そのデータをデータバッファ
25内のデータチャンク1の位置に保持させ、これと同
時にデータ転送・パリティ生成部22は、そのストライ
プaの中のパリティチャンクPaに保持されているパリ
ティデータを更新する。
ト要求があると、主制御部21はデータをデータバッフ
ァ25に保持させ、さらにデータ転送・パリティ生成部
22はそのデータに対応するパリティデータの更新を行
う。例えば図9に示すように、データバッファ25内が
空いている状態で、ホスト装置10からのライト要求が
あると、主制御部21は、そのデータをデータバッファ
25内のデータチャンク1の位置に保持させ、これと同
時にデータ転送・パリティ生成部22は、そのストライ
プaの中のパリティチャンクPaに保持されているパリ
ティデータを更新する。
【0043】このとき、アドレスマップ23では、デー
タバッファ25内のデータが、あとでログ領域内の最新
部に記憶されることを想定して、LBAとログアドレス
との対応関係を更新されている。そして、ある一定スト
ライプ分(例えば3ストライプ分)のデータとこれに対
応するパリティデータとがデータバッファ25に保持さ
れると、主制御部21及びデータ転送・パリティ生成部
22は、これらのデータ及びパリティデータを、HDD
#1〜#5のログ領域の最新部に一度で転送して記憶さ
せ、さらに主制御部21は制御情報の更新を行う。
タバッファ25内のデータが、あとでログ領域内の最新
部に記憶されることを想定して、LBAとログアドレス
との対応関係を更新されている。そして、ある一定スト
ライプ分(例えば3ストライプ分)のデータとこれに対
応するパリティデータとがデータバッファ25に保持さ
れると、主制御部21及びデータ転送・パリティ生成部
22は、これらのデータ及びパリティデータを、HDD
#1〜#5のログ領域の最新部に一度で転送して記憶さ
せ、さらに主制御部21は制御情報の更新を行う。
【0044】〔リード動作〕ホスト装置10からのリー
ド要求があると、主制御部21は、アドレスマップ23
上を検索するとともに、主制御部21における制御情報
を調べ、リード要求によって指定されたデータがデータ
バッファ25内にあるか、あるいはHDD#1〜#5の
ログ領域内にあるかを判定する。この判定の結果、デー
タバッファ25内にある場合には、データをデータバッ
ファ25から取り出して、ホスト装置10へ送信する。
ド要求があると、主制御部21は、アドレスマップ23
上を検索するとともに、主制御部21における制御情報
を調べ、リード要求によって指定されたデータがデータ
バッファ25内にあるか、あるいはHDD#1〜#5の
ログ領域内にあるかを判定する。この判定の結果、デー
タバッファ25内にある場合には、データをデータバッ
ファ25から取り出して、ホスト装置10へ送信する。
【0045】以上のように、本実施の形態のディスクア
レイ装置では、データバッファ25でデータの保持とこ
れに対応するパリティデータの更新とを行い、ある一定
量保持した後にこれらをHDD#1〜#5に記憶させる
ようになっているので、多数の短ブロックランダムライ
トが少数の長ブロックシーケンシャルライトに変換され
る。したがって、このディスクアレイ装置では、コント
ローラ20とHDD#1〜#5との間で、より一層アク
セスの回数を削減することができ、ライトアクセスのス
ループットが高くなる。
レイ装置では、データバッファ25でデータの保持とこ
れに対応するパリティデータの更新とを行い、ある一定
量保持した後にこれらをHDD#1〜#5に記憶させる
ようになっているので、多数の短ブロックランダムライ
トが少数の長ブロックシーケンシャルライトに変換され
る。したがって、このディスクアレイ装置では、コント
ローラ20とHDD#1〜#5との間で、より一層アク
セスの回数を削減することができ、ライトアクセスのス
ループットが高くなる。
【0046】また、本実施の形態のディスクアレイ装置
は、第2の実施の形態の場合と同様に、データが1スト
ライプ分揃っていない場合に、HDD#1〜#5の中の
1つに障害が発生しても、障害を起こしたHDDに記憶
されていたデータを回復させることができ、装置全体と
しての信頼性を維持することができる。
は、第2の実施の形態の場合と同様に、データが1スト
ライプ分揃っていない場合に、HDD#1〜#5の中の
1つに障害が発生しても、障害を起こしたHDDに記憶
されていたデータを回復させることができ、装置全体と
しての信頼性を維持することができる。
【0047】〔第4の実施の形態〕
ここでは、請求項3記載の発明に係るディスクアレイ装
置について説明する。本実施の形態のディスクアレイ装
置は、第3の実施の形態に加えて、主制御部21に通知
手段としての機能が設けられているものである。通知手
段は、主制御部21における所定プログラムの実行によ
り実現されるものであり、データバッファ25がホスト
装置10からのデータを保持すると、その時点でそのデ
ータについての記憶が完了した旨を、ホスト装置10に
対して通知するための機能である。
置について説明する。本実施の形態のディスクアレイ装
置は、第3の実施の形態に加えて、主制御部21に通知
手段としての機能が設けられているものである。通知手
段は、主制御部21における所定プログラムの実行によ
り実現されるものであり、データバッファ25がホスト
装置10からのデータを保持すると、その時点でそのデ
ータについての記憶が完了した旨を、ホスト装置10に
対して通知するための機能である。
【0048】このように構成されたディスクアレイ装置
では、ライト動作を行う場合に、ホスト装置10からの
データをデータバッファ25に保持するが、そのデータ
に対応するパリティデータをデータバッファ25上で更
新する前に、主制御部21が、ホスト装置10に対して
ライトの完了を通知する。その後に、データ転送・パリ
ティ生成部22は、パリティデータの更新を行う。
では、ライト動作を行う場合に、ホスト装置10からの
データをデータバッファ25に保持するが、そのデータ
に対応するパリティデータをデータバッファ25上で更
新する前に、主制御部21が、ホスト装置10に対して
ライトの完了を通知する。その後に、データ転送・パリ
ティ生成部22は、パリティデータの更新を行う。
【0049】したがって、本実施の形態のディスクアレ
イ装置では、パリティデータの生成を行う時間の分、ホ
スト装置10からのライト要求に対する応答が速くな
る。すなわち、ホスト装置10から見た場合の処理動作
が、より一層迅速化される。
イ装置では、パリティデータの生成を行う時間の分、ホ
スト装置10からのライト要求に対する応答が速くな
る。すなわち、ホスト装置10から見た場合の処理動作
が、より一層迅速化される。
【0050】〔第5の実施の形態〕
ここでは、請求項4記載の発明に係るディスクアレイ装
置について説明する。本実施の形態のディスクアレイ装
置は、第1、第2、第3または第4の実施の形態に加え
て、主制御部21に圧縮手段としての機能が設けられて
いるものである。
置について説明する。本実施の形態のディスクアレイ装
置は、第1、第2、第3または第4の実施の形態に加え
て、主制御部21に圧縮手段としての機能が設けられて
いるものである。
【0051】圧縮手段は、主制御部21における所定プ
ログラムの実行により実現されるものであり、アドレス
マップ23が記憶するLBAとログアドレスとの対応関
係に関する情報、すなわちLBA→ログアドレス情報に
対して、LBAの最上位ビット(Most Significant Bi
t;以下、MSBと略す)をキーにして、ページ化して
ハッシングを行い、アドレスマップ23の圧縮を図るた
めの機能である。また、圧縮手段では、ページ溢れに対
して、他のページのエントリを用いて、アドレス情報を
保持させるようになっている。
ログラムの実行により実現されるものであり、アドレス
マップ23が記憶するLBAとログアドレスとの対応関
係に関する情報、すなわちLBA→ログアドレス情報に
対して、LBAの最上位ビット(Most Significant Bi
t;以下、MSBと略す)をキーにして、ページ化して
ハッシングを行い、アドレスマップ23の圧縮を図るた
めの機能である。また、圧縮手段では、ページ溢れに対
して、他のページのエントリを用いて、アドレス情報を
保持させるようになっている。
【0052】ここで、この圧縮手段によるハッシング技
法について、図10を参照して説明する。アドレスマッ
プ23は、LBAのMSBに対応した複数のページによ
り構成される。よって、各LBAについて多対1に対応
するページが存在する。各ページは、それぞれページ管
理情報と、複数のエントリにより構成される。
法について、図10を参照して説明する。アドレスマッ
プ23は、LBAのMSBに対応した複数のページによ
り構成される。よって、各LBAについて多対1に対応
するページが存在する。各ページは、それぞれページ管
理情報と、複数のエントリにより構成される。
【0053】各エントリは、それぞれLBAの最下位ビ
ット(Least Significant Bit;以下、MSBと略す)
と、ログアドレスと、フラグとから構成され、ログ領域
上のデータとLBAとの関係を記憶している。各ページ
におけるエントリの数は、一般にページに対応するLB
Aの数より少ない。したがって、エントリが足りなくな
る可能性があり、その場合に他の空いているページを用
いて代用する。こうしたページ溢れを含めてエントリを
管理するために、各エントリ中のフラグでは「無効」、
「有効」、「他ページからの引き受け」を識別する。ま
た、ページ管理情報は、自ページ分の有効エントリ数を
保持する情報と、他ページに掃き出したエントリの数と
ページNo. の情報を複数個と、他ページから引き受けた
エントリの数とページNo. の情報と、から構成される。
ット(Least Significant Bit;以下、MSBと略す)
と、ログアドレスと、フラグとから構成され、ログ領域
上のデータとLBAとの関係を記憶している。各ページ
におけるエントリの数は、一般にページに対応するLB
Aの数より少ない。したがって、エントリが足りなくな
る可能性があり、その場合に他の空いているページを用
いて代用する。こうしたページ溢れを含めてエントリを
管理するために、各エントリ中のフラグでは「無効」、
「有効」、「他ページからの引き受け」を識別する。ま
た、ページ管理情報は、自ページ分の有効エントリ数を
保持する情報と、他ページに掃き出したエントリの数と
ページNo. の情報を複数個と、他ページから引き受けた
エントリの数とページNo. の情報と、から構成される。
【0054】このように構成されたアドレスマップ23
において、LBAとログアドレスとの関係を更新(削除
を含む)する場合は、先ずLBAのMSBに応じたペー
ジを選択する。このページの「自ページ」フラグを持っ
た各エントリについて、LBAのLSBが一致するもの
を検索する。一致するものが無い場合は、他ページに掃
き出したエントリ数を調べ、掃き出したエントリが存在
する場合には保持されているページNo. を基に、そのペ
ージを検索する。
において、LBAとログアドレスとの関係を更新(削除
を含む)する場合は、先ずLBAのMSBに応じたペー
ジを選択する。このページの「自ページ」フラグを持っ
た各エントリについて、LBAのLSBが一致するもの
を検索する。一致するものが無い場合は、他ページに掃
き出したエントリ数を調べ、掃き出したエントリが存在
する場合には保持されているページNo. を基に、そのペ
ージを検索する。
【0055】LBAとログアドレスとの関係を追加する
場合には、対応するページの有効エントリ数と、他ペー
ジから引き受けたエントリ数とにより、エントリに空き
があるか否かを調べる。空きがある場合は、無効フラグ
を持ったエントリを使用してLBAとログアドレスとの
情報を保持し、そのエントリのフラグを「自ページ」に
変更し、有効エントリ数をインクリメントする。空きが
無い場合は、他のページの空きが十分であり、かつ、他
のページからの引き受けを行っていないページを選択
し、その中で空きのあるエントリを選択する。このと
き、エントリに情報を保持するとともに、フラグを「他
ページからの引き受け」に変更し、相手のページの他ペ
ージから引き受けたエントリ数とページNo. の情報と、
元のページの他ページに掃き出したエントリ数とページ
No. の情報とを、更新する。
場合には、対応するページの有効エントリ数と、他ペー
ジから引き受けたエントリ数とにより、エントリに空き
があるか否かを調べる。空きがある場合は、無効フラグ
を持ったエントリを使用してLBAとログアドレスとの
情報を保持し、そのエントリのフラグを「自ページ」に
変更し、有効エントリ数をインクリメントする。空きが
無い場合は、他のページの空きが十分であり、かつ、他
のページからの引き受けを行っていないページを選択
し、その中で空きのあるエントリを選択する。このと
き、エントリに情報を保持するとともに、フラグを「他
ページからの引き受け」に変更し、相手のページの他ペ
ージから引き受けたエントリ数とページNo. の情報と、
元のページの他ページに掃き出したエントリ数とページ
No. の情報とを、更新する。
【0056】ログアドレスからLBAを求める場合は、
このアドレスマップ23内の全てを検索し、一致するロ
グアドレスを保持するエントリのフラグを調べる。そし
て、フラグが「無効」の場合には検索を続行し、「自ペ
ージ」の場合にはLBAのLSBとページNo. によりL
BAが求められ、「他ページからの引き受け」の場合に
はそのページの他ページから引き受けたページNo. を用
いて求められる。
このアドレスマップ23内の全てを検索し、一致するロ
グアドレスを保持するエントリのフラグを調べる。そし
て、フラグが「無効」の場合には検索を続行し、「自ペ
ージ」の場合にはLBAのLSBとページNo. によりL
BAが求められ、「他ページからの引き受け」の場合に
はそのページの他ページから引き受けたページNo. を用
いて求められる。
【0057】次に、以上のように構成されたディスクア
レイ装置におけるガベージコレクション動作について説
明する。ガベージコレクション動作を行う場合に、主制
御部21は、再利用領域内の各データについて、そのロ
グアドレスを基に、アドレスマップ23を検索する。ア
ドレスマップ23内に該当するログアドレスがない場合
には、新しいデータがログ領域上の他の部分に存在する
ので、主制御部21は、そのデータを再利用領域から削
除する。また、アドレスマップ23内に該当するログア
ドレスがある場合には、そのデータは有効であるため、
主制御部21は、LBAを求めてから、そのデータの移
動を行う。
レイ装置におけるガベージコレクション動作について説
明する。ガベージコレクション動作を行う場合に、主制
御部21は、再利用領域内の各データについて、そのロ
グアドレスを基に、アドレスマップ23を検索する。ア
ドレスマップ23内に該当するログアドレスがない場合
には、新しいデータがログ領域上の他の部分に存在する
ので、主制御部21は、そのデータを再利用領域から削
除する。また、アドレスマップ23内に該当するログア
ドレスがある場合には、そのデータは有効であるため、
主制御部21は、LBAを求めてから、そのデータの移
動を行う。
【0058】以上のように、本実施の形態のディスクア
レイ装置は、LBA→ログアドレス情報を記憶するアド
レスマップ23に対して、LBAのMSBをキーにペー
ジ化し、ハッシングを行うことで、容量の圧縮を図るよ
うになっている。よって、リード動作を行う際にアドレ
スマップ23の全項目を検索する必要があっても、その
検索は数ページ分で済み、検索時間を短くすることがで
きる。また、LBA→ログアドレス情報を記憶するアド
レスマップ23をそのまま構成すると、膨大な容量が必
要となってしまうが、容量の圧縮を図ることによって、
半導体メモリを用いての実現が容易になる。
レイ装置は、LBA→ログアドレス情報を記憶するアド
レスマップ23に対して、LBAのMSBをキーにペー
ジ化し、ハッシングを行うことで、容量の圧縮を図るよ
うになっている。よって、リード動作を行う際にアドレ
スマップ23の全項目を検索する必要があっても、その
検索は数ページ分で済み、検索時間を短くすることがで
きる。また、LBA→ログアドレス情報を記憶するアド
レスマップ23をそのまま構成すると、膨大な容量が必
要となってしまうが、容量の圧縮を図ることによって、
半導体メモリを用いての実現が容易になる。
【0059】なお、本実施の形態では、アドレスマップ
23の各エントリが、フラグと、LBAのMSBと、ロ
グアドレスとから構成されている場合について説明した
が、これらに対して、例えば図11に示すように、ブロ
ックサイズの情報を格納するための項目(Block Numbe
r;以下、BNと略す)を加えてもよい。BNは、アド
レスの連続するLBAとログアドレスとの数を記憶する
ためのものであり、これによりアドレスの連続するLB
Aとログアドレスとを1つのエントリに記憶することが
できる。ただし、エントリの中で、BNに続くLBAの
MSBとログアドレスとには、連続する中の先頭のLB
Aとログアドレスが記憶される。
23の各エントリが、フラグと、LBAのMSBと、ロ
グアドレスとから構成されている場合について説明した
が、これらに対して、例えば図11に示すように、ブロ
ックサイズの情報を格納するための項目(Block Numbe
r;以下、BNと略す)を加えてもよい。BNは、アド
レスの連続するLBAとログアドレスとの数を記憶する
ためのものであり、これによりアドレスの連続するLB
Aとログアドレスとを1つのエントリに記憶することが
できる。ただし、エントリの中で、BNに続くLBAの
MSBとログアドレスとには、連続する中の先頭のLB
Aとログアドレスが記憶される。
【0060】アドレスマップ23の各エントリにBNを
加えると、連続する複数のLBAとログアドレスとの関
係を記憶する場合に、そのBNの項目にブロック数を記
憶することができるようになる。また、エントリのLB
Aの範囲が複数のページにまたがる場合には、ページの
区切りでエントリを分割し、各ページに配置するように
なる。ただし、LBAやログアドレスを検索する場合
は、各エントリ毎にそのBNも調べる必要がある。
加えると、連続する複数のLBAとログアドレスとの関
係を記憶する場合に、そのBNの項目にブロック数を記
憶することができるようになる。また、エントリのLB
Aの範囲が複数のページにまたがる場合には、ページの
区切りでエントリを分割し、各ページに配置するように
なる。ただし、LBAやログアドレスを検索する場合
は、各エントリ毎にそのBNも調べる必要がある。
【0061】このように、アドレスマップ23の項目と
してBNを加えれば、1まとまりのデータのアドレス情
報が、アドレスマップ23内の1つの項目に記憶できる
ようになる。そのために、アドレスマップ23のページ
内のエントリ数を減らすことができるようになり、結果
としてより一層のアドレスマップ23の容量の削減と検
索時間の短縮が可能となる。
してBNを加えれば、1まとまりのデータのアドレス情
報が、アドレスマップ23内の1つの項目に記憶できる
ようになる。そのために、アドレスマップ23のページ
内のエントリ数を減らすことができるようになり、結果
としてより一層のアドレスマップ23の容量の削減と検
索時間の短縮が可能となる。
【0062】〔第6の実施の形態〕
ここでは、請求項6記載の発明に係るディスクアレイ装
置について説明する。本実施の形態のディスクアレイ装
置は、図12に示すように、第1、第2、または第3の
実施の形態とは異なり、HDD#1〜#5の記憶領域
が、ログ領域と通常領域とに分割されている。通常領域
は、ホスト装置10によって指定されるLBA順に通常
の「RAIDレベル5」と同様のデータ配置がなされて
いる領域である。すなわち、通常領域では、この通常領
域に付されたLBAの順に従ってデータを記憶してい
る。
置について説明する。本実施の形態のディスクアレイ装
置は、図12に示すように、第1、第2、または第3の
実施の形態とは異なり、HDD#1〜#5の記憶領域
が、ログ領域と通常領域とに分割されている。通常領域
は、ホスト装置10によって指定されるLBA順に通常
の「RAIDレベル5」と同様のデータ配置がなされて
いる領域である。すなわち、通常領域では、この通常領
域に付されたLBAの順に従ってデータを記憶してい
る。
【0063】このディスクアレイ装置では、ホスト装置
10からのライト要求があると、第1の実施の形態の場
合と同様に、主制御部21がデータを受け取った順にH
DD#1〜5のログ領域に記憶させるようになってい
る。また、ガベージコレクション動作を行う場合に、主
制御部21では、再利用領域から移動するデータを、未
使用領域ではなく通常領域に移動するようになってい
る。したがって、このディスクアレイ装置では、通常領
域内に書き換えの少ない固定的なデータが存在するよう
になり、ログ領域内には頻繁に書き換えられるデータが
存在するようになる。
10からのライト要求があると、第1の実施の形態の場
合と同様に、主制御部21がデータを受け取った順にH
DD#1〜5のログ領域に記憶させるようになってい
る。また、ガベージコレクション動作を行う場合に、主
制御部21では、再利用領域から移動するデータを、未
使用領域ではなく通常領域に移動するようになってい
る。したがって、このディスクアレイ装置では、通常領
域内に書き換えの少ない固定的なデータが存在するよう
になり、ログ領域内には頻繁に書き換えられるデータが
存在するようになる。
【0064】次に、以上のように構成されたディスクア
レイ装置における動作について説明する。ただし、ここ
では、第1の実施の形態の場合と異なるガベージコレク
ション動作及びリード動作についてのみ説明する。
レイ装置における動作について説明する。ただし、ここ
では、第1の実施の形態の場合と異なるガベージコレク
ション動作及びリード動作についてのみ説明する。
【0065】〔ガベージコレクション動作〕第1の実施
の形態の場合と同様に、再利用領域のデータのLBAと
同じLBAが、他のログ領域内にあるか否かを判断した
結果、同じLBAが再利用領域以外のログ領域内にある
と、主制御部21は、そのデータを再利用領域から削除
する。一方、同じLBAがなければ、主制御部21は、
そのデータを通常領域内の該当するLBAの位置へ、通
常の「RAIDレベル5」アルゴリズムを用いて記憶さ
せる。
の形態の場合と同様に、再利用領域のデータのLBAと
同じLBAが、他のログ領域内にあるか否かを判断した
結果、同じLBAが再利用領域以外のログ領域内にある
と、主制御部21は、そのデータを再利用領域から削除
する。一方、同じLBAがなければ、主制御部21は、
そのデータを通常領域内の該当するLBAの位置へ、通
常の「RAIDレベル5」アルゴリズムを用いて記憶さ
せる。
【0066】〔リード動作〕ホスト装置10からのリー
ド要求に対して、主制御部21は、そのリード要求によ
って指定されたLBAを基にアドレスマップ23を検索
し、指定されたLBAに対応するログアドレスに記憶さ
れているデータをログ領域から取り出してホスト装置1
0へ送信する。ただし、アドレスマップ23に指定され
たLBAが存在しないと、通常領域内のデータが有効で
あるため、主制御部21は、通常領域から該当するLB
Aの位置に記憶されたデータを取り出して、ホスト装置
10へ送信する。
ド要求に対して、主制御部21は、そのリード要求によ
って指定されたLBAを基にアドレスマップ23を検索
し、指定されたLBAに対応するログアドレスに記憶さ
れているデータをログ領域から取り出してホスト装置1
0へ送信する。ただし、アドレスマップ23に指定され
たLBAが存在しないと、通常領域内のデータが有効で
あるため、主制御部21は、通常領域から該当するLB
Aの位置に記憶されたデータを取り出して、ホスト装置
10へ送信する。
【0067】以上のように、本実施の形態のディスクア
レイ装置は、HDD#1〜#5の記憶領域がログ領域と
通常領域とに分割され、この通常領域に書き換えの少な
い固定的なデータを記憶するようになっている。これに
より、固定的なデータをガベージコレクション動作によ
って再びログ領域の最新部に記憶させることがなくなる
ため、ログ領域内の未使用領域がある一定量以下になる
度合いが減り、結果としてログ領域におけるガベージコ
レクション動作の回数を減少することができる。つま
り、ガベージコレクション動作の回数が減少することに
より、HDD#1〜#5とコントローラ20との間にお
けるアクセスを削減することができ、装置全体としての
スループット向上が可能となる。
レイ装置は、HDD#1〜#5の記憶領域がログ領域と
通常領域とに分割され、この通常領域に書き換えの少な
い固定的なデータを記憶するようになっている。これに
より、固定的なデータをガベージコレクション動作によ
って再びログ領域の最新部に記憶させることがなくなる
ため、ログ領域内の未使用領域がある一定量以下になる
度合いが減り、結果としてログ領域におけるガベージコ
レクション動作の回数を減少することができる。つま
り、ガベージコレクション動作の回数が減少することに
より、HDD#1〜#5とコントローラ20との間にお
けるアクセスを削減することができ、装置全体としての
スループット向上が可能となる。
【0068】〔第7の実施の形態〕
ここでは、請求項7記載の発明に係るディスクアレイ装
置について説明する。本実施の形態のディスクアレイ装
置は、第6の実施の形態に加えて、主制御部21が、ホ
スト装置10からのブロックサイズの大きいデータのラ
イト要求に対して、そのデータをログ領域ではなく、直
接通常領域に記憶させるようになっているものである。
置について説明する。本実施の形態のディスクアレイ装
置は、第6の実施の形態に加えて、主制御部21が、ホ
スト装置10からのブロックサイズの大きいデータのラ
イト要求に対して、そのデータをログ領域ではなく、直
接通常領域に記憶させるようになっているものである。
【0069】このように構成されたディスクアレイ装置
では、ホスト装置10からある一定量以上、例えば1ス
トライプ分以上のデータブロックのライト要求に対して
ライト動作を行う場合に、その一定量以上のデータブロ
ックをログ領域ではなく通常領域にライトし、その後に
このデータブロックに対応するストライプ中のパリティ
データを更新する。
では、ホスト装置10からある一定量以上、例えば1ス
トライプ分以上のデータブロックのライト要求に対して
ライト動作を行う場合に、その一定量以上のデータブロ
ックをログ領域ではなく通常領域にライトし、その後に
このデータブロックに対応するストライプ中のパリティ
データを更新する。
【0070】また、コントローラ20がパリティ用バッ
ファ24を備えていれば、データブロックを通常領域に
ストライプ毎にライトしながら、パリティ用バッファ2
4上でパリティデータを更新し、1つのストライプのデ
ータのライトが終了した時点でそのパリティデータをパ
リティチャンクへライトする。また、コントローラ20
がデータバッファ25を備えていれば、このデータバッ
ファ25の一部を使用し、ホスト装置10からのデータ
を一旦保持し、このデータバッファ25上でパリティ生
成を行い、通常領域にライトする。
ファ24を備えていれば、データブロックを通常領域に
ストライプ毎にライトしながら、パリティ用バッファ2
4上でパリティデータを更新し、1つのストライプのデ
ータのライトが終了した時点でそのパリティデータをパ
リティチャンクへライトする。また、コントローラ20
がデータバッファ25を備えていれば、このデータバッ
ファ25の一部を使用し、ホスト装置10からのデータ
を一旦保持し、このデータバッファ25上でパリティ生
成を行い、通常領域にライトする。
【0071】以上のように、本実施の形態のディスクア
レイ装置は、ブロックサイズの大きいデータをログ領域
ではなく通常領域に直接記憶させるようになっている。
したがって、ブロックサイズの大きいデータをログ領域
に記憶させた場合に比べて、その後に行うガベージコレ
クション動作の回数を減少することができる。つまり、
ガベージコレクション動作の回数が減少することによ
り、HDD#1〜#5とコントローラ20との間におけ
るアクセスを削減することができ、装置全体としてのス
ループット向上が可能となる。
レイ装置は、ブロックサイズの大きいデータをログ領域
ではなく通常領域に直接記憶させるようになっている。
したがって、ブロックサイズの大きいデータをログ領域
に記憶させた場合に比べて、その後に行うガベージコレ
クション動作の回数を減少することができる。つまり、
ガベージコレクション動作の回数が減少することによ
り、HDD#1〜#5とコントローラ20との間におけ
るアクセスを削減することができ、装置全体としてのス
ループット向上が可能となる。
【0072】〔第8の実施の形態〕
ここでは、請求項8記載の発明に係るディスクアレイ装
置について説明する。本実施の形態のディスクアレイ装
置は、第3の実施の形態に加えて、データバッファ25
が、このデータバッファ25内のデータについてのLB
Aとログアドレスとの対応関係に関する情報を保持する
ようになっているものである。すなわち、データバッフ
ァ25には、図13に示すように、主制御部21によっ
て一度にHDD#1〜#5のログ領域にライトされる単
位毎、例えばストライプ1〜n毎に、ログアドレス→L
BAマップが設けられている。このログアドレス→LB
Aマップでは、ストライプ1〜nのデータの各ログアド
レスに対応するLBAを保持するものである。
置について説明する。本実施の形態のディスクアレイ装
置は、第3の実施の形態に加えて、データバッファ25
が、このデータバッファ25内のデータについてのLB
Aとログアドレスとの対応関係に関する情報を保持する
ようになっているものである。すなわち、データバッフ
ァ25には、図13に示すように、主制御部21によっ
て一度にHDD#1〜#5のログ領域にライトされる単
位毎、例えばストライプ1〜n毎に、ログアドレス→L
BAマップが設けられている。このログアドレス→LB
Aマップでは、ストライプ1〜nのデータの各ログアド
レスに対応するLBAを保持するものである。
【0073】また、主制御部21では、データバッファ
25が例えばストライプ1〜n分のデータを保持する
と、これらのデータと、これに対応するログアドレス→
LBAマップとを、データバッファ25からHDD#1
〜#5のログ領域に転送し記憶させるようになってい
る。さらに、主制御部21では、ガベージコレクション
動作を行う場合に、ログ領域内のログアドレス→LBA
マップを基に、再利用領域内のデータのLBAを求める
ようになっている。
25が例えばストライプ1〜n分のデータを保持する
と、これらのデータと、これに対応するログアドレス→
LBAマップとを、データバッファ25からHDD#1
〜#5のログ領域に転送し記憶させるようになってい
る。さらに、主制御部21では、ガベージコレクション
動作を行う場合に、ログ領域内のログアドレス→LBA
マップを基に、再利用領域内のデータのLBAを求める
ようになっている。
【0074】次に、以上のように構成されたディスクア
レイ装置における動作について説明する。ただし、ここ
では、第3の実施の形態の場合と異なるライト動作及び
ガベージコレクション動作についてのみ説明する。
レイ装置における動作について説明する。ただし、ここ
では、第3の実施の形態の場合と異なるライト動作及び
ガベージコレクション動作についてのみ説明する。
【0075】〔ライト動作〕ホスト装置10からのライ
ト要求があると、データバッファ25では、データの保
持とパリティデータの更新とが行われ、さらにアドレス
マップ23では、LBA→ログアドレス情報の更新が行
われる。このとき、データバッファ25内のログアドレ
ス→LBAマップでは、ホスト装置10からのデータの
ログアドレスに相当する項目のLBAが更新される。し
たがって、ログアドレス→LBAマップでは、データバ
ッファ25内の各データに対するLBAを保持すること
となる。そして、一定量のストライプ分に相当するデー
タが揃うと、このログアドレス→LBAマップ内の情報
は、ログ領域内の最新部にライトされる。
ト要求があると、データバッファ25では、データの保
持とパリティデータの更新とが行われ、さらにアドレス
マップ23では、LBA→ログアドレス情報の更新が行
われる。このとき、データバッファ25内のログアドレ
ス→LBAマップでは、ホスト装置10からのデータの
ログアドレスに相当する項目のLBAが更新される。し
たがって、ログアドレス→LBAマップでは、データバ
ッファ25内の各データに対するLBAを保持すること
となる。そして、一定量のストライプ分に相当するデー
タが揃うと、このログアドレス→LBAマップ内の情報
は、ログ領域内の最新部にライトされる。
【0076】〔ガベージコレクション動作〕再利用領域
内のデータを処理するときに、主制御部21は、先ず対
応するログアドレス→LBAマップをログ領域から読み
出してLBAを得る。そして、そのLBAを基にアドレ
スマップ23を検索し、検索の結果得られたログアドレ
スが元のものと一致すればそのデータを有効として再利
用領域から他の領域へ移動する。また、ログアドレスが
元のものと一致しなければ、そのデータを無効として再
利用領域から削除する。
内のデータを処理するときに、主制御部21は、先ず対
応するログアドレス→LBAマップをログ領域から読み
出してLBAを得る。そして、そのLBAを基にアドレ
スマップ23を検索し、検索の結果得られたログアドレ
スが元のものと一致すればそのデータを有効として再利
用領域から他の領域へ移動する。また、ログアドレスが
元のものと一致しなければ、そのデータを無効として再
利用領域から削除する。
【0077】以上のように、本実施の形態のディスクア
レイ装置では、データバッファ25内の各データについ
てそのLBAをデータバッファ25に保持し、一定量の
データのログ領域へのライトの際に、そのLBAの情報
をデータと一緒にライトするようになっている。よっ
て、通常では、ガベージコレクション動作を行う場合
に、アドレスマップ23内の全項目を検索しなければデ
ータの有効・無効を判定できないが、このディスクアレ
イ装置では、ログ領域にLBAの情報をライトすること
により、ガベージコレクション動作の際にこのLBAの
情報が直ちに得られ、LBAをキーにアドレスマップ2
3を検索して、データの有効・無効が判定できるように
なる。したがって、このディスクアレイ装置では、各デ
ータのガベージコレクション毎に、ログアドレスをキー
に検索するときとLBAをキーに検索するときの差分の
時間短縮が図れるようになり、処理動作がより一層迅速
化される。
レイ装置では、データバッファ25内の各データについ
てそのLBAをデータバッファ25に保持し、一定量の
データのログ領域へのライトの際に、そのLBAの情報
をデータと一緒にライトするようになっている。よっ
て、通常では、ガベージコレクション動作を行う場合
に、アドレスマップ23内の全項目を検索しなければデ
ータの有効・無効を判定できないが、このディスクアレ
イ装置では、ログ領域にLBAの情報をライトすること
により、ガベージコレクション動作の際にこのLBAの
情報が直ちに得られ、LBAをキーにアドレスマップ2
3を検索して、データの有効・無効が判定できるように
なる。したがって、このディスクアレイ装置では、各デ
ータのガベージコレクション毎に、ログアドレスをキー
に検索するときとLBAをキーに検索するときの差分の
時間短縮が図れるようになり、処理動作がより一層迅速
化される。
【0078】〔第9の実施の形態〕
ここでは、請求項9記載の発明に係るディスクアレイ装
置について説明する。本実施の形態のディスクアレイ装
置は、第3の実施の形態に加えて、データバッファ25
に再利用領域保持手段としての機能が設けられているも
のである。再利用領域保持手段は、データバッファ25
内の領域の一部からなるもので、主制御部21によって
再利用領域とされた中の全てのデータを保持するための
ものである。
置について説明する。本実施の形態のディスクアレイ装
置は、第3の実施の形態に加えて、データバッファ25
に再利用領域保持手段としての機能が設けられているも
のである。再利用領域保持手段は、データバッファ25
内の領域の一部からなるもので、主制御部21によって
再利用領域とされた中の全てのデータを保持するための
ものである。
【0079】このように構成されたディスクアレイ装置
では、ガベージコレクション動作を行う場合に、主制御
部21が再利用領域内の全データをHDD#1〜#5か
ら取り出してデータバッファ25に保持させる。そし
て、主制御部21は、データバッファ25に保持された
ガベージコレクション対象データに対してガベージコレ
クションを実行する。
では、ガベージコレクション動作を行う場合に、主制御
部21が再利用領域内の全データをHDD#1〜#5か
ら取り出してデータバッファ25に保持させる。そし
て、主制御部21は、データバッファ25に保持された
ガベージコレクション対象データに対してガベージコレ
クションを実行する。
【0080】したがって、本実施の形態のディスクアレ
イ装置では、ガベージコレクション動作に際し、再利用
領域内の全データをデータバッファ25に保持させるこ
とにより、個々のデータ毎に読み出すのに比較してHD
D#1〜#5を占有している時間が短くなり、ガベージ
コレクションのオーバーヘッドが削減される。
イ装置では、ガベージコレクション動作に際し、再利用
領域内の全データをデータバッファ25に保持させるこ
とにより、個々のデータ毎に読み出すのに比較してHD
D#1〜#5を占有している時間が短くなり、ガベージ
コレクションのオーバーヘッドが削減される。
【0081】〔第10の実施の形態〕
ここでは、請求項10記載の発明に係るディスクアレイ
装置について説明する。本実施の形態のディスクアレイ
装置は、第9の実施の形態に加えて、主制御部21に本
発明におけるアクセス判断手段及び再利用指示手段とし
ての機能が設けられているものである。なお、これらの
各手段は、主制御部21における所定プログラムの実行
により実現されるものである。
装置について説明する。本実施の形態のディスクアレイ
装置は、第9の実施の形態に加えて、主制御部21に本
発明におけるアクセス判断手段及び再利用指示手段とし
ての機能が設けられているものである。なお、これらの
各手段は、主制御部21における所定プログラムの実行
により実現されるものである。
【0082】アクセス判断手段は、ホスト装置10から
のアクセス、すなわちホスト装置10からのライト要求
あるいはリード要求があるか否かを判断するための機能
である。再利用指示手段は、アクセス判断手段によって
ホスト装置10からのアクセスが一定時間(例えば1秒
間)無いと判断されると、主制御部21の再利用手段に
ガベージコレクション動作の実行を指示するための機能
である。
のアクセス、すなわちホスト装置10からのライト要求
あるいはリード要求があるか否かを判断するための機能
である。再利用指示手段は、アクセス判断手段によって
ホスト装置10からのアクセスが一定時間(例えば1秒
間)無いと判断されると、主制御部21の再利用手段に
ガベージコレクション動作の実行を指示するための機能
である。
【0083】このように構成されたディスクアレイ装置
では、ガベージコレクション動作を行う場合に、再利用
領域を処理するにあたって、ホスト装置10からのアク
セスが一定時間無いと、処理を開始する。例えば、図1
4に示すように、ログ領域内の未使用領域が一定量を下
回ってから、その後に1秒以上ホスト装置10からのア
クセスが無い状態が発生すると、主制御部21は、ガベ
ージコレクション動作を開始する。ただし、1秒以上ホ
スト装置10からのアクセスが無い状態が発生しない場
合に、未使用領域がある限界量を下回ったら、主制御部
21では、ホスト装置10からのアクセスの有無に関わ
らず、ガベージコレクション動作を開始する。
では、ガベージコレクション動作を行う場合に、再利用
領域を処理するにあたって、ホスト装置10からのアク
セスが一定時間無いと、処理を開始する。例えば、図1
4に示すように、ログ領域内の未使用領域が一定量を下
回ってから、その後に1秒以上ホスト装置10からのア
クセスが無い状態が発生すると、主制御部21は、ガベ
ージコレクション動作を開始する。ただし、1秒以上ホ
スト装置10からのアクセスが無い状態が発生しない場
合に、未使用領域がある限界量を下回ったら、主制御部
21では、ホスト装置10からのアクセスの有無に関わ
らず、ガベージコレクション動作を開始する。
【0084】以上のように、本実施の形態のディスクア
レイ装置は、ホスト装置10からのアクセスが一定時間
無いことを確認してからガベージコレクション動作を開
始するようになっている。したがって、通常、ガベージ
コレクション動作を行っている間はHDD#1〜#5が
占有されるため、ホスト装置10からのアクセスが待た
されることとなるが、このディスクアレイ装置では、ガ
ベージコレクション動作とホスト装置10からのアクセ
スとが重なることが少なくなる。これにより、ホスト装
置10から見た場合の処理動作が迅速化される。
レイ装置は、ホスト装置10からのアクセスが一定時間
無いことを確認してからガベージコレクション動作を開
始するようになっている。したがって、通常、ガベージ
コレクション動作を行っている間はHDD#1〜#5が
占有されるため、ホスト装置10からのアクセスが待た
されることとなるが、このディスクアレイ装置では、ガ
ベージコレクション動作とホスト装置10からのアクセ
スとが重なることが少なくなる。これにより、ホスト装
置10から見た場合の処理動作が迅速化される。
【0085】なお、本実施の形態では、ホスト装置10
からのアクセスが一定時間無いことを確認してからガベ
ージコレクション動作を開始する場合について説明した
が、これに対して、ガベージコレクション動作を複数の
不可分な処理に分割し、各処理をホスト装置10からの
アクセスが一定時間無いことを契機に開始してもよい。
からのアクセスが一定時間無いことを確認してからガベ
ージコレクション動作を開始する場合について説明した
が、これに対して、ガベージコレクション動作を複数の
不可分な処理に分割し、各処理をホスト装置10からの
アクセスが一定時間無いことを契機に開始してもよい。
【0086】例えば、図15に示すように、ガベージコ
レクション動作を「再利用領域の一定量をデータバッフ
ァ25の取り出す」、複数の「有効データを通常領域に
ライトする」といった、幾つかの不可分な処理に分割
し、各処理の開始にホスト装置10からのアクセスに関
する条件を付加する。つまり、それぞれの処理の開始に
あたってホスト装置10からのアクセスが、例えば1秒
以上無いことを確認する。それぞれの処理の途中でホス
ト装置10からのアクセスがあった場合には、その処理
が終了したところでガベージコレクション動作を中断
し、ホスト装置10からのアクセスを処理する。
レクション動作を「再利用領域の一定量をデータバッフ
ァ25の取り出す」、複数の「有効データを通常領域に
ライトする」といった、幾つかの不可分な処理に分割
し、各処理の開始にホスト装置10からのアクセスに関
する条件を付加する。つまり、それぞれの処理の開始に
あたってホスト装置10からのアクセスが、例えば1秒
以上無いことを確認する。それぞれの処理の途中でホス
ト装置10からのアクセスがあった場合には、その処理
が終了したところでガベージコレクション動作を中断
し、ホスト装置10からのアクセスを処理する。
【0087】このように、ガベージコレクション動作を
幾つかの処理に分割し、各処理毎にホスト装置10から
のアクセスを確認すれば、ガベージコレクション動作の
途中でホスト装置10からのアクセスがあっても、ガベ
ージコレクション動作を中断することができるようにな
るので、より一層ガベージコレクション動作とホスト装
置10からのアクセスとが重なることが少なくなり、か
つ、ホスト装置10からのアクセスを待たせる時間が短
くなる。
幾つかの処理に分割し、各処理毎にホスト装置10から
のアクセスを確認すれば、ガベージコレクション動作の
途中でホスト装置10からのアクセスがあっても、ガベ
ージコレクション動作を中断することができるようにな
るので、より一層ガベージコレクション動作とホスト装
置10からのアクセスとが重なることが少なくなり、か
つ、ホスト装置10からのアクセスを待たせる時間が短
くなる。
【0088】〔第11の実施の形態〕
ここでは、請求項11記載の発明に係るディスクアレイ
装置について説明する。本実施の形態のディスクアレイ
装置は、図16に示すように、第3の実施の形態に加え
て、アドレスマップ23の一部にリードアドレスマップ
26が設けられているものである。
装置について説明する。本実施の形態のディスクアレイ
装置は、図16に示すように、第3の実施の形態に加え
て、アドレスマップ23の一部にリードアドレスマップ
26が設けられているものである。
【0089】リードアドレスマップ26は、本発明にお
けるアドレス記憶手段としての機能を有するもので、ホ
スト装置10からのリード要求に関する最新のアドレス
情報を一定量記憶するものである。すなわち、リードア
ドレスマップ26は、複数個の要素から構成されてお
り、各要素にホスト装置10からのリード要求に関する
LBAとBNとを記憶するようになっている。
けるアドレス記憶手段としての機能を有するもので、ホ
スト装置10からのリード要求に関する最新のアドレス
情報を一定量記憶するものである。すなわち、リードア
ドレスマップ26は、複数個の要素から構成されてお
り、各要素にホスト装置10からのリード要求に関する
LBAとBNとを記憶するようになっている。
【0090】また、リードアドレスマップ26は、図1
7に示すように、その全体が循環して使用され、常に最
新のm個のリード要求についての情報が記憶されてい
る。例えば、nの位置の要素が最新であるとき、次のリ
ード要求にに対して、そのアドレス情報は、n+1の位
置に上書きされる。つまり、リードアドレスマップ26
は、ホスト装置10によるデータの読み出し順を記憶す
るものである。
7に示すように、その全体が循環して使用され、常に最
新のm個のリード要求についての情報が記憶されてい
る。例えば、nの位置の要素が最新であるとき、次のリ
ード要求にに対して、そのアドレス情報は、n+1の位
置に上書きされる。つまり、リードアドレスマップ26
は、ホスト装置10によるデータの読み出し順を記憶す
るものである。
【0091】このように構成されたディスクアレイ装置
では、ホスト装置10からのリード要求がある毎に、主
制御部21がこのリード要求によって指定されたデータ
のLBAとBNとにより、リードアドレスマップ26の
最新部を更新する。また、ホスト装置10からのライト
要求があると、主制御部21がログアドレス→LBAマ
ップに保持させる情報を、各ライトアクセス単位毎のL
BAとBNとする。
では、ホスト装置10からのリード要求がある毎に、主
制御部21がこのリード要求によって指定されたデータ
のLBAとBNとにより、リードアドレスマップ26の
最新部を更新する。また、ホスト装置10からのライト
要求があると、主制御部21がログアドレス→LBAマ
ップに保持させる情報を、各ライトアクセス単位毎のL
BAとBNとする。
【0092】また、このディスクアレイ装置では、ガベ
ージコレクション動作を行う場合に、主制御部21が再
利用領域内の全データについて「有効」か「無効」かを
判定するとともに、「有効」であるデータ(以下、有効
データと称す)のアドレス情報と、リードアドレスマッ
プ26に記憶されているアドレス情報とを比較する。そ
して、有効データの中にリードアドレスマップ26に記
憶された読み出し順と同一順で記憶されたデータ群があ
ると、そのデータ群を「再利用」として再度ログ領域の
最新部にライトする。その他の有効データは、通常領域
にライトする。
ージコレクション動作を行う場合に、主制御部21が再
利用領域内の全データについて「有効」か「無効」かを
判定するとともに、「有効」であるデータ(以下、有効
データと称す)のアドレス情報と、リードアドレスマッ
プ26に記憶されているアドレス情報とを比較する。そ
して、有効データの中にリードアドレスマップ26に記
憶された読み出し順と同一順で記憶されたデータ群があ
ると、そのデータ群を「再利用」として再度ログ領域の
最新部にライトする。その他の有効データは、通常領域
にライトする。
【0093】ここで、有効データのアドレス情報とリー
ドアドレスマップ26内のアドレス情報との比較につい
て、図18を参照して説明する。ライト動作によって各
データに関するLBAとBNのアドレス情報がログ領域
中に記憶されているため、主制御部21では、予め再利
用領域に関するアドレス情報を取り出しておく。アドレ
ス情報の比較は、先ず再利用領域の有効データのアドレ
ス情報について、リードアドレスマップ26内に同じも
のがあるか否かを検索する。同じものがあれば、後続の
有効データのアドレス情報と、リードアドレスマップ2
6内における後続のアドレス情報との比較を行う。この
ようにして、一定量以上の一連のアドレス情報が一致す
ると、対応する有効データ群を「再利用」とする。例え
ば、図中において、一定量の有効データ5〜9のアドレ
ス情報が、リードアドレスマップ26内のアドレス情報
f〜jと一致するので、この有効データ群を「再利用」
とする。
ドアドレスマップ26内のアドレス情報との比較につい
て、図18を参照して説明する。ライト動作によって各
データに関するLBAとBNのアドレス情報がログ領域
中に記憶されているため、主制御部21では、予め再利
用領域に関するアドレス情報を取り出しておく。アドレ
ス情報の比較は、先ず再利用領域の有効データのアドレ
ス情報について、リードアドレスマップ26内に同じも
のがあるか否かを検索する。同じものがあれば、後続の
有効データのアドレス情報と、リードアドレスマップ2
6内における後続のアドレス情報との比較を行う。この
ようにして、一定量以上の一連のアドレス情報が一致す
ると、対応する有効データ群を「再利用」とする。例え
ば、図中において、一定量の有効データ5〜9のアドレ
ス情報が、リードアドレスマップ26内のアドレス情報
f〜jと一致するので、この有効データ群を「再利用」
とする。
【0094】以上のように、本実施の形態のディスクア
レイ装置では、ガベージコレクション動作を行う場合
に、近い過去にリード要求のあった一連のデータを通常
領域に戻してしまうのではなく、ログ領域内に記憶させ
るようになっている。つまり、これら一連のデータがロ
グ領域内にシーケンシャルに記憶されているため、再び
これら一連のデータ対するリード要求があっても、通常
領域に対するランダムアクセスを行う必要がなくなり、
HDD#1〜#5に対するアクセス時間が短縮される。
一般に、ファイルシステム等のディスクアクセスを考え
ると、1つのファイルは、アドレス上で分散されたブロ
ックから構成されていても1まとまりとして扱われるこ
とが多いため、これらをシーケンシャルにアクセスする
ことによりアクセス時間を短縮すれば、処理動作が迅速
化が可能になる。
レイ装置では、ガベージコレクション動作を行う場合
に、近い過去にリード要求のあった一連のデータを通常
領域に戻してしまうのではなく、ログ領域内に記憶させ
るようになっている。つまり、これら一連のデータがロ
グ領域内にシーケンシャルに記憶されているため、再び
これら一連のデータ対するリード要求があっても、通常
領域に対するランダムアクセスを行う必要がなくなり、
HDD#1〜#5に対するアクセス時間が短縮される。
一般に、ファイルシステム等のディスクアクセスを考え
ると、1つのファイルは、アドレス上で分散されたブロ
ックから構成されていても1まとまりとして扱われるこ
とが多いため、これらをシーケンシャルにアクセスする
ことによりアクセス時間を短縮すれば、処理動作が迅速
化が可能になる。
【0095】〔第12の実施の形態〕
ここでは、請求項12記載の発明に係るディスクアレイ
装置について説明する。本実施の形態のディスクアレイ
装置は、図19に示すように、第11の実施の形態に加
えて、データバッファ25の一部にキャッシュメモリ2
7が設けられているとともに、主制御部21の一部にキ
ャッシュ制御部28が設けられているものである。
装置について説明する。本実施の形態のディスクアレイ
装置は、図19に示すように、第11の実施の形態に加
えて、データバッファ25の一部にキャッシュメモリ2
7が設けられているとともに、主制御部21の一部にキ
ャッシュ制御部28が設けられているものである。
【0096】キャッシュメモリ27は、本発明における
データキャッシュ手段としての機能を有するもので、ホ
スト装置10とHDD#1〜#5との間でキャッシュメ
モリとして機能し、リードキャッシングしたデータの保
持に使用されるものである。なお、キャッシュの実現方
法については、本発明との関連が低いため、ここでは詳
細には説明しない。ただし、キャッシュメモリ27が、
保持可能なデータの数は、リードアドレスマップ26で
管理できるアドレス情報の数よりも少ないものとする。
データキャッシュ手段としての機能を有するもので、ホ
スト装置10とHDD#1〜#5との間でキャッシュメ
モリとして機能し、リードキャッシングしたデータの保
持に使用されるものである。なお、キャッシュの実現方
法については、本発明との関連が低いため、ここでは詳
細には説明しない。ただし、キャッシュメモリ27が、
保持可能なデータの数は、リードアドレスマップ26で
管理できるアドレス情報の数よりも少ないものとする。
【0097】キャッシュ制御部28は、キャッシュメモ
リ27に保持されているデータを、それぞれLBA及び
BNを用いて管理し、リードキャッシングを実現するも
のであり、さらに本発明におけるキャッシュ管理手段と
しての機能を有するものである。なお、このキャッシュ
管理手段は、キャッシュ制御部28における所定プログ
ラムの実行により実現されるものである。キャッシュ管
理手段は、再利用領域内のデータに対するリード要求が
あった場合に、そのデータに続いて記憶されている一連
のデータのアドレス情報について、リードアドレスマッ
プ26内に一致する一連のアドレス情報があると、これ
ら一連のデータをログ領域から取り出してキャッシュメ
モリ27に保持させるための機能である。
リ27に保持されているデータを、それぞれLBA及び
BNを用いて管理し、リードキャッシングを実現するも
のであり、さらに本発明におけるキャッシュ管理手段と
しての機能を有するものである。なお、このキャッシュ
管理手段は、キャッシュ制御部28における所定プログ
ラムの実行により実現されるものである。キャッシュ管
理手段は、再利用領域内のデータに対するリード要求が
あった場合に、そのデータに続いて記憶されている一連
のデータのアドレス情報について、リードアドレスマッ
プ26内に一致する一連のアドレス情報があると、これ
ら一連のデータをログ領域から取り出してキャッシュメ
モリ27に保持させるための機能である。
【0098】次に、以上のように構成されたディスクア
レイ装置における動作について説明する。ただし、ここ
では、第11の実施の形態の場合と異なるリード動作に
ついてのみ説明する。
レイ装置における動作について説明する。ただし、ここ
では、第11の実施の形態の場合と異なるリード動作に
ついてのみ説明する。
【0099】〔リード動作〕ホスト装置10からのリー
ド要求があると、キャッシュ制御部28は、そのリード
要求によって指定されるデータがキャッシュメモリ27
に保持されているか否かを判断する。そのデータがキャ
ッシュメモリ27に保持されていると判断した場合、す
なわちキャッシュにヒットした場合に、キャッシュ制御
部28は、そのデータをキャッシュメモリ27からホス
ト装置10へ転送する。なお、キャッシュへのヒットあ
るいはミスに関わらず、リードアドレスマップ26の更
新は行われる。
ド要求があると、キャッシュ制御部28は、そのリード
要求によって指定されるデータがキャッシュメモリ27
に保持されているか否かを判断する。そのデータがキャ
ッシュメモリ27に保持されていると判断した場合、す
なわちキャッシュにヒットした場合に、キャッシュ制御
部28は、そのデータをキャッシュメモリ27からホス
ト装置10へ転送する。なお、キャッシュへのヒットあ
るいはミスに関わらず、リードアドレスマップ26の更
新は行われる。
【0100】また、ホスト装置10からのリード要求に
より指定されるデータがキャッシュメモリ27内ではな
くHDD#1〜#5のログ領域内にある場合に、主制御
部21は、そのデータをログ領域から取り出してホスト
装置10へ転送する。その後、キャッシュ制御部28
は、リードアドレスマップ26内のアドレス情報を検索
して、ホスト装置10へ転送したデータに関するアドレ
ス情報と一致するアドレス情報を持つ項目があるか否か
を判断する。一致するアドレス情報を持つ項目があれ
ば、キャッシュ制御部28は、リードアドレスマップ2
6内でその項目に続く各項目について、そのアドレス情
報を基にアドレスマップ23を検索し、ログ領域内でデ
ータが連続しているか否かを検索する。連続しているデ
ータがあれば、キャッシュ制御部28は、これらのデー
タをログ領域から取り出してキャッシュメモリ27に保
持させて、ルックアヘッドキャッシュの効果を実現す
る。
より指定されるデータがキャッシュメモリ27内ではな
くHDD#1〜#5のログ領域内にある場合に、主制御
部21は、そのデータをログ領域から取り出してホスト
装置10へ転送する。その後、キャッシュ制御部28
は、リードアドレスマップ26内のアドレス情報を検索
して、ホスト装置10へ転送したデータに関するアドレ
ス情報と一致するアドレス情報を持つ項目があるか否か
を判断する。一致するアドレス情報を持つ項目があれ
ば、キャッシュ制御部28は、リードアドレスマップ2
6内でその項目に続く各項目について、そのアドレス情
報を基にアドレスマップ23を検索し、ログ領域内でデ
ータが連続しているか否かを検索する。連続しているデ
ータがあれば、キャッシュ制御部28は、これらのデー
タをログ領域から取り出してキャッシュメモリ27に保
持させて、ルックアヘッドキャッシュの効果を実現す
る。
【0101】例えば図20に示すように、ログ領域内の
データ1に対するリード要求があると、キャッシュ制御
部28は、リードアドレスマップ26を検索し、アドレ
ス情報の一致する項目aを検出する。次に、キャッシュ
制御部28は、リードアドレスマップ26内において項
目aに続く項目bに保持されているアドレス情報を基に
アドレスマップ23を検索し、検出したエントリのログ
アドレスで示されるデータ2が元のデータ1に続くもの
であるか否かを判断する。そして、データ2がデータ1
に続くものであれば、キャッシュ制御部28は、リード
アドレスマップ26内でさらに続く項目について同様の
判断を行う。
データ1に対するリード要求があると、キャッシュ制御
部28は、リードアドレスマップ26を検索し、アドレ
ス情報の一致する項目aを検出する。次に、キャッシュ
制御部28は、リードアドレスマップ26内において項
目aに続く項目bに保持されているアドレス情報を基に
アドレスマップ23を検索し、検出したエントリのログ
アドレスで示されるデータ2が元のデータ1に続くもの
であるか否かを判断する。そして、データ2がデータ1
に続くものであれば、キャッシュ制御部28は、リード
アドレスマップ26内でさらに続く項目について同様の
判断を行う。
【0102】このような判断により、データnまでが続
いていることを確認すると、キャッシュ制御部28は、
データ2〜データnをログ領域から取り出してキャッシ
ュメモリ27に保持させる。この後に、ホスト装置10
からデータ2〜データnについてのリード要求がある
と、主制御部21は、キャッシュメモリ27からホスト
装置10へデータを転送する。また、データ2〜データ
n以外のデータについてのリード要求があると、キャッ
シュ制御部28は、データ2〜データnをキャッシュメ
モリ27内から削除する。
いていることを確認すると、キャッシュ制御部28は、
データ2〜データnをログ領域から取り出してキャッシ
ュメモリ27に保持させる。この後に、ホスト装置10
からデータ2〜データnについてのリード要求がある
と、主制御部21は、キャッシュメモリ27からホスト
装置10へデータを転送する。また、データ2〜データ
n以外のデータについてのリード要求があると、キャッ
シュ制御部28は、データ2〜データnをキャッシュメ
モリ27内から削除する。
【0103】以上のように、本実施の形態のディスクア
レイ装置は、ログ領域内のデータについてのリード要求
があると、そのデータに続く一連のデータを予めキャッ
シュメモリ27に保持しておくようになっているので、
ランダムリードに対するルックアヘッドキャッシュのよ
うな効果が現れる。例えば、パーソナルコンピュータ等
で用いられるアプリケーションソフトでは、複数のファ
イルから構成されているものが、1日に数回立ち上げら
れることがある。すなわち、ホスト装置10からの一連
のリード要求は同じ順序で繰り返されることが多い。し
たがって、この場合に、このディスクアレイ装置では、
ルックアヘッドキャッシュの効果により、HDD#1〜
#5に対するアクセス時間が削減される。
レイ装置は、ログ領域内のデータについてのリード要求
があると、そのデータに続く一連のデータを予めキャッ
シュメモリ27に保持しておくようになっているので、
ランダムリードに対するルックアヘッドキャッシュのよ
うな効果が現れる。例えば、パーソナルコンピュータ等
で用いられるアプリケーションソフトでは、複数のファ
イルから構成されているものが、1日に数回立ち上げら
れることがある。すなわち、ホスト装置10からの一連
のリード要求は同じ順序で繰り返されることが多い。し
たがって、この場合に、このディスクアレイ装置では、
ルックアヘッドキャッシュの効果により、HDD#1〜
#5に対するアクセス時間が削減される。
【0104】〔第13の実施の形態〕
ここでは、請求項13記載の発明に係るディスクアレイ
装置について説明する。本実施の形態のディスクアレイ
装置は、第12の実施の形態に加えて、キャッシュ制御
部28に本発明におけるデータ削除手段としての機能が
設けられているものである。なお、データ削除手段は、
キャッシュ制御部28における所定プログラムの実行に
より実現されるものである。データ削除手段は、キャッ
シュメモリ27に保持されているデータ群を、このキャ
ッシュメモリ27内から削除する場合に、そのデータ群
の中に、リードアドレスマップ26内でアドレス情報が
連続するデータがあると、これらのデータをアドレス情
報が連続する順に従ってログ領域内に記憶させるための
機能である。
装置について説明する。本実施の形態のディスクアレイ
装置は、第12の実施の形態に加えて、キャッシュ制御
部28に本発明におけるデータ削除手段としての機能が
設けられているものである。なお、データ削除手段は、
キャッシュ制御部28における所定プログラムの実行に
より実現されるものである。データ削除手段は、キャッ
シュメモリ27に保持されているデータ群を、このキャ
ッシュメモリ27内から削除する場合に、そのデータ群
の中に、リードアドレスマップ26内でアドレス情報が
連続するデータがあると、これらのデータをアドレス情
報が連続する順に従ってログ領域内に記憶させるための
機能である。
【0105】次に、以上のように構成されたディスクア
レイ装置における動作について説明する。ただし、ここ
では、第12の実施の形態の場合と異なるリード動作に
ついてのみ説明する。
レイ装置における動作について説明する。ただし、ここ
では、第12の実施の形態の場合と異なるリード動作に
ついてのみ説明する。
【0106】〔リード動作〕複数のリード要求に対する
処理が行われると、キャッシュメモリ27の容量が足り
なくなるので、キャッシュ制御部28は、キャッシュメ
モリ27内の一部のデータの削除を行う。このとき、キ
ャッシュ制御部28では、削除するべき各データについ
てのアドレス情報と、リードアドレスマップ26内のア
ドレス情報とを比較する。ここで、リードアドレスマッ
プ26内である一定数以上連続するアドレス情報と一致
するアドレス情報を持つデータ群がキャッシュメモリ2
7内にあれば、キャッシュ制御部28では、そのデータ
群をリードアドレスマップ26に記憶されている順序に
従ってログ領域の最新部に記憶させる。
処理が行われると、キャッシュメモリ27の容量が足り
なくなるので、キャッシュ制御部28は、キャッシュメ
モリ27内の一部のデータの削除を行う。このとき、キ
ャッシュ制御部28では、削除するべき各データについ
てのアドレス情報と、リードアドレスマップ26内のア
ドレス情報とを比較する。ここで、リードアドレスマッ
プ26内である一定数以上連続するアドレス情報と一致
するアドレス情報を持つデータ群がキャッシュメモリ2
7内にあれば、キャッシュ制御部28では、そのデータ
群をリードアドレスマップ26に記憶されている順序に
従ってログ領域の最新部に記憶させる。
【0107】例えば図21に示すように、キャッシュ制
御部28は、削除されるデータのアドレス情報a〜gを
リードアドレスマップ26内のアドレス情報と比較す
る。このとき、リードアドレスマップ26内における一
定数以上の連続項目3〜6とアドレス情報の一致するデ
ータb、d、e、gが存在するため、キャッシュ制御部
28では、これらのデータ群をデータb、d、e、gの
順でログ領域の最新部に記憶させる。
御部28は、削除されるデータのアドレス情報a〜gを
リードアドレスマップ26内のアドレス情報と比較す
る。このとき、リードアドレスマップ26内における一
定数以上の連続項目3〜6とアドレス情報の一致するデ
ータb、d、e、gが存在するため、キャッシュ制御部
28では、これらのデータ群をデータb、d、e、gの
順でログ領域の最新部に記憶させる。
【0108】以上のように、本実施の形態のディスクア
レイ装置は、キャッシュメモリ27から削除するデータ
を、過去にリード要求のあった順序を保存した状態で、
ログ領域に記憶させるようになっている。過去にあった
リード要求と同一のリード要求が再びあった場合に、こ
のディスクアレイ装置では、シーケンシャルにログ領域
にアクセスすることができるようになり、HDD#1〜
#5に対するアクセス時間を短縮することが可能とな
る。
レイ装置は、キャッシュメモリ27から削除するデータ
を、過去にリード要求のあった順序を保存した状態で、
ログ領域に記憶させるようになっている。過去にあった
リード要求と同一のリード要求が再びあった場合に、こ
のディスクアレイ装置では、シーケンシャルにログ領域
にアクセスすることができるようになり、HDD#1〜
#5に対するアクセス時間を短縮することが可能とな
る。
【0109】〔第14の実施の形態〕
ここでは、請求項14記載の発明に係るディスクアレイ
装置について説明する。本実施の形態のディスクアレイ
装置は、図22に示すように、第3の実施の形態と異な
り、アドレスマップ23a、23b、23c、23d、
23e及びデータバッファ25a、25b、25c、2
5d、25eが、各HDD#1〜#5に対応して個別に
設けられているものである。アドレスマップ23a、2
3b、23c、23d、23e及びデータバッファ25
a、25b、25c、25d、25eは、それぞれが不
揮発性の半導体メモリ等によって独立して設けられてい
るものであり、アドレス情報やデータなどを「RAID
レベル5」と同様の形式で保持するものである。
装置について説明する。本実施の形態のディスクアレイ
装置は、図22に示すように、第3の実施の形態と異な
り、アドレスマップ23a、23b、23c、23d、
23e及びデータバッファ25a、25b、25c、2
5d、25eが、各HDD#1〜#5に対応して個別に
設けられているものである。アドレスマップ23a、2
3b、23c、23d、23e及びデータバッファ25
a、25b、25c、25d、25eは、それぞれが不
揮発性の半導体メモリ等によって独立して設けられてい
るものであり、アドレス情報やデータなどを「RAID
レベル5」と同様の形式で保持するものである。
【0110】このような構成のディスクアレイ装置で
は、図23に示すように、アドレスマップの内容が、各
アドレスマップ23a、23b、23c、23d、23
eでエントリ毎に分散され、かつ、ストライプ毎にパリ
ティデータが配置される。よって、アドレスマップ内の
エントリの更新を行う際に、該当するストライプ中のパ
リティデータも「RAIDレベル5」のライトアルゴリ
ズムに従って更新する。また、データバッファの内容は
既に論理的に複数の分割されているため、その論理的な
1つの部分が各データバッファ25a、25b、25
c、25d、25eに割り当てられる。
は、図23に示すように、アドレスマップの内容が、各
アドレスマップ23a、23b、23c、23d、23
eでエントリ毎に分散され、かつ、ストライプ毎にパリ
ティデータが配置される。よって、アドレスマップ内の
エントリの更新を行う際に、該当するストライプ中のパ
リティデータも「RAIDレベル5」のライトアルゴリ
ズムに従って更新する。また、データバッファの内容は
既に論理的に複数の分割されているため、その論理的な
1つの部分が各データバッファ25a、25b、25
c、25d、25eに割り当てられる。
【0111】したがって、このディスクアレイ装置で
は、物理的に分割された各バッファの1つが故障(バッ
テリ異常、ゲート破壊等)した場合であっても、「RA
IDレベル5」の通常の障害時リードライト、障害回復
動作と同じ動作を行う。
は、物理的に分割された各バッファの1つが故障(バッ
テリ異常、ゲート破壊等)した場合であっても、「RA
IDレベル5」の通常の障害時リードライト、障害回復
動作と同じ動作を行う。
【0112】以上のように、本実施の形態のディスクア
レイ装置では、アドレスマップ及びデータバッファを物
理的に分割してRAID化するようになっているので、
装置としての信頼性を高めることができる。特に、アド
レスマップが壊れた場合には、ログ領域中のデータ全て
が破壊されてしまうこととなるので、この信頼性を高く
維持することは重要となる。
レイ装置では、アドレスマップ及びデータバッファを物
理的に分割してRAID化するようになっているので、
装置としての信頼性を高めることができる。特に、アド
レスマップが壊れた場合には、ログ領域中のデータ全て
が破壊されてしまうこととなるので、この信頼性を高く
維持することは重要となる。
【0113】〔第15の実施の形態〕
ここでは、請求項15記載の発明に係るディスクアレイ
装置について説明する。本実施の形態のディスクアレイ
装置は、第14の実施の形態に加えて、主制御部21
が、各データバッファ25a、25b、25c、25
d、25e内のデータをHDD#1〜#5のログ領域に
転送して記憶させる際に、各HDD#1〜#5毎に独立
してアクセスを行うようになっているものである。
装置について説明する。本実施の形態のディスクアレイ
装置は、第14の実施の形態に加えて、主制御部21
が、各データバッファ25a、25b、25c、25
d、25e内のデータをHDD#1〜#5のログ領域に
転送して記憶させる際に、各HDD#1〜#5毎に独立
してアクセスを行うようになっているものである。
【0114】このような構成のディスクアレイ装置で
は、各データバッファ25a、25b、25c、25
d、25eがデータを一定ストライプ以上保持すると、
主制御部21がそのデータの転送を、各HDD#1〜#
5の空き状況に応じて独立して実行する。
は、各データバッファ25a、25b、25c、25
d、25eがデータを一定ストライプ以上保持すると、
主制御部21がそのデータの転送を、各HDD#1〜#
5の空き状況に応じて独立して実行する。
【0115】例えば、図24に示すように、HDD#1
がリードアクセスを処理しているときに各データバッフ
ァ25a、25b、25c、25d、25e内のデータ
の転送が可能になると、主制御部21では、HDD#2
〜#5へのアクセスを開始し、HDD#1へのアクセス
を処理中のリードアクセスが終了してから開始する。つ
まり、従来のもののように、HDD#1でのリードアク
セスが終了してからHDD#1〜#5へのアクセスを開
始するのではないので、HDD#2〜#5へのアクセス
がHDD#1へのアクセスよりも早く終了し、その後H
DD#2〜#5は他の処理、例えばHDD#3、#4に
対するリードアクセスの実行が可能となる。
がリードアクセスを処理しているときに各データバッフ
ァ25a、25b、25c、25d、25e内のデータ
の転送が可能になると、主制御部21では、HDD#2
〜#5へのアクセスを開始し、HDD#1へのアクセス
を処理中のリードアクセスが終了してから開始する。つ
まり、従来のもののように、HDD#1でのリードアク
セスが終了してからHDD#1〜#5へのアクセスを開
始するのではないので、HDD#2〜#5へのアクセス
がHDD#1へのアクセスよりも早く終了し、その後H
DD#2〜#5は他の処理、例えばHDD#3、#4に
対するリードアクセスの実行が可能となる。
【0116】以上のように、本実施の形態のディスクア
レイ装置では、HDD#1〜#5へのアクセスを各HD
D#1〜#5毎に独立して実行するようになっているの
で、他のアクセスとオーバーラップさせることができる
ようになり、他のアクセスの実行を待たせることが確率
的に小さくなる。すなわち、このディスクアレイ装置で
は、HDD#1〜#5へのアクセスを効率良く、かつ、
迅速に行うことができる。
レイ装置では、HDD#1〜#5へのアクセスを各HD
D#1〜#5毎に独立して実行するようになっているの
で、他のアクセスとオーバーラップさせることができる
ようになり、他のアクセスの実行を待たせることが確率
的に小さくなる。すなわち、このディスクアレイ装置で
は、HDD#1〜#5へのアクセスを効率良く、かつ、
迅速に行うことができる。
【0117】
【発明の効果】以上に説明したように、本発明のディス
クアレイ装置は、複数のHDDの記憶領域をログ領域と
し、このログ領域に付したログアドレスに従って、ホス
ト装置からのデータを受け取った順に記憶し、このログ
領域に所定量のデータを記憶した時点で、パリティデー
タをHDDに記憶するようになっている。したがって、
このディスクアレイ装置では、パリティデータの記憶を
ホスト装置からのデータを受け取った毎に行う必要がな
いので、従来のものに比べて複数のHDDに対するアク
セスを削減することができ、結果として迅速な処理動作
の実現と装置全体としてのスループット向上とが実現で
きる。
クアレイ装置は、複数のHDDの記憶領域をログ領域と
し、このログ領域に付したログアドレスに従って、ホス
ト装置からのデータを受け取った順に記憶し、このログ
領域に所定量のデータを記憶した時点で、パリティデー
タをHDDに記憶するようになっている。したがって、
このディスクアレイ装置では、パリティデータの記憶を
ホスト装置からのデータを受け取った毎に行う必要がな
いので、従来のものに比べて複数のHDDに対するアク
セスを削減することができ、結果として迅速な処理動作
の実現と装置全体としてのスループット向上とが実現で
きる。
【図1】本発明に係わるディスクアレイ装置のログ領域
に記憶されるデータ構造を示す説明図である。
に記憶されるデータ構造を示す説明図である。
【図2】本発明に係わるディスクアレイ装置の第1の実
施の形態における概略構成を示すブロック図である。
施の形態における概略構成を示すブロック図である。
【図3】アドレスマップに記憶されるアドレス情報のデ
ータ構造を示す説明図である。
ータ構造を示す説明図である。
【図4】ガベージコレクション動作の概念を示す説明図
である。
である。
【図5】本発明に係わるディスクアレイ装置におけるラ
イト動作の具体例を示す説明図である。
イト動作の具体例を示す説明図である。
【図6】本発明に係わるディスクアレイ装置の第2の実
施の形態における概略構成を示すブロック図である。
施の形態における概略構成を示すブロック図である。
【図7】図6のディスクアレイ装置におけるライト動作
の具体例を示す説明図である。
の具体例を示す説明図である。
【図8】本発明に係わるディスクアレイ装置の第3の実
施の形態における概略構成を示すブロック図である。
施の形態における概略構成を示すブロック図である。
【図9】図8のディスクアレイ装置におけるライト動作
の具体例を示す説明図である。
の具体例を示す説明図である。
【図10】ハッシングを用いたアドレスマップにおける
データ構造を示す説明図(その1)である。
データ構造を示す説明図(その1)である。
【図11】ハッシングを用いたアドレスマップにおける
データ構造を示す説明図(その2)である。
データ構造を示す説明図(その2)である。
【図12】ログ領域と通常領域とを有する場合の記憶領
域の構成を示す説明図である。
域の構成を示す説明図である。
【図13】ログアドレス→LBAマップを保持している
場合にデータバッファにおけるデータ構造を示す説明図
である。
場合にデータバッファにおけるデータ構造を示す説明図
である。
【図14】ガベージコレクション動作開始の一例を説明
するタイミングチャート(その1)である。
するタイミングチャート(その1)である。
【図15】ガベージコレクション動作開始の一例を説明
するタイミングチャート(その2)である。
するタイミングチャート(その2)である。
【図16】本発明に係わるディスクアレイ装置の第11
の実施の形態における概略構成を示すブロック図であ
る。
の実施の形態における概略構成を示すブロック図であ
る。
【図17】図16のディスクアレイ装置におけるリード
アドレスマップにおけるデータ構造を示す説明図であ
る。
アドレスマップにおけるデータ構造を示す説明図であ
る。
【図18】図16のディスクアレイ装置における再利用
領域内のアドレス情報とリードアドレスマップ内のアド
レス情報との比較の具体例を示す説明図である。
領域内のアドレス情報とリードアドレスマップ内のアド
レス情報との比較の具体例を示す説明図である。
【図19】本発明に係わるディスクアレイ装置の第12
の実施の形態における概略構成を示すブロック図であ
る。
の実施の形態における概略構成を示すブロック図であ
る。
【図20】ログ領域内でのルックアヘッドキャッシュの
具体例を示す説明図である。
具体例を示す説明図である。
【図21】キャッシュメモリ内からデータを削除する場
合に行うアドレス情報の比較の具体例を示す説明図であ
る。
合に行うアドレス情報の比較の具体例を示す説明図であ
る。
【図22】本発明に係わるディスクアレイ装置の第14
の実施の形態における概略構成を示すブロック図であ
る。
の実施の形態における概略構成を示すブロック図であ
る。
【図23】図22のディスクアレイ装置におけるアドレ
スマップのRAID化を示す説明図である。
スマップのRAID化を示す説明図である。
【図24】複数のHDDへのアクセスの具体例を示すタ
イミングチャートである。
イミングチャートである。
【図25】従来のディスクアレイ装置に記憶されるデー
タ構造を示す説明図である。
タ構造を示す説明図である。
【図26】従来のディスクアレイ装置におけるライト動
作の具体例を示す説明図である。
作の具体例を示す説明図である。
10 ホスト装置 21 主
制御部 22 データ転送・パリティ生成手段 23 ア
ドレスマップ 24 パリティ用バッファ 25 デ
ータバッファ 26 リードアドレスマップ 27 キ
ャッシュメモリ 28 キャッシュ制御部 #1、#2、#3、#4、#5 HDD
制御部 22 データ転送・パリティ生成手段 23 ア
ドレスマップ 24 パリティ用バッファ 25 デ
ータバッファ 26 リードアドレスマップ 27 キ
ャッシュメモリ 28 キャッシュ制御部 #1、#2、#3、#4、#5 HDD
─────────────────────────────────────────────────────
フロントページの続き
(56)参考文献 特開 平5−298161(JP,A)
特開 平8−6728(JP,A)
茂木和彦 喜連川優,ストライプの動
的再編成を伴うRAID5型ディスクア
レイに於けるアクセスローカリティが存
在する場合の更,情報処理学会研究報
告,日本,社団法人情報処理学会,1994
年 7月21日,Vol.94 No.66
(94−ARC−107),P193−200
(58)調査した分野(Int.Cl.7,DB名)
G06F 3/06 - 3/08
G06F 13/10
Claims (15)
- 【請求項1】 ホスト装置に接続されるとともに、デー
タを記憶する複数の記憶手段を備え、 前記ホスト装置から論理アドレスの指定されたデータが
送信されると、該データを受け取って前記複数の記憶手
段に分散して記憶し、かつ、該複数の記憶手段の中のい
ずれか1つに他の記憶手段内のデータに対応するパリテ
ィデータを記憶するディスクアレイ装置であって、 前記複数の記憶手段の記憶領域をログ領域とし、該ログ
領域に付したログアドレスの順に従って、前記ログ領域
内に前記ホスト装置からのデータを受け取り順に記憶さ
せる書き込み制御手段と、 前記ログアドレスと前記ログ領域内のデータの論理アド
レスとの対応関係をアドレス情報として記憶するアドレ
ス管理手段と、 前記書き込み制御手段が前記ログ領域内に所定量のデー
タを記憶させると、その時点で前記所定量のデータに対
応するパリティデータを前記いずれか1つの記憶手段に
記憶させるパリティ制御手段と、 前記ホスト装置からデータを受け取る毎に、該データに
対応するパリティデータを生成するパリティ生成手段
と、 該パリティ生成手段が生成したパリティデータを保持す
るパリティ保持手段とを備え、 前記パリティ制御手段は、前記ログ領域内に所定量のデ
ータが記憶されると、前記パリティ保持手段が保持して
いるパリティデータを、前記いずれか1つの記憶手段に
転送し記憶させるものであることを特徴とする ディスク
アレイ装置。 - 【請求項2】 ホスト装置に接続されるとともに、デー
タを記憶する複数の記憶手段を備え、 前記ホスト装置から論理アドレスの指定されたデータが
送信されると、該データを受け取って前記複数の記憶手
段に分散して記憶し、かつ、該複数の記憶手段の中のい
ずれか1つに他の記憶手段内のデータに対応するパリテ
ィデータを記憶するディスクアレイ装置であって、 前記複数の記憶手段の記憶領域をログ領域とし、該ログ
領域に付したログアド レスの順に従って、前記ログ領域
内に前記ホスト装置からのデータを受け取り順に記憶さ
せる書き込み制御手段と、 前記ログアドレスと前記ログ領域内のデータの論理アド
レスとの対応関係をアドレス情報として記憶するアドレ
ス管理手段と、 前記書き込み制御手段が前記ログ領域内に所定量のデー
タを記憶させると、その時点で前記所定量のデータに対
応するパリティデータを前記いずれか1つの記憶手段に
記憶させるパリティ制御手段と、 前記ホスト装置からデータを受け取る毎に、該データに
対応するパリティデータを生成するパリティ生成手段
と、 前記所定量のデータ及び該データに対応するパリティデ
ータを保持可能な容量を有し、前記ホスト装置からデー
タを受けとると、該データ及び該データに対応して前記
パリティ生成手段が生成したパリティデータを保持する
データ保持手段とを備え、 前記書き込み制御手段は、前記データ保持手段が前記所
定量のデータを保持すると、該所定量のデータを前記デ
ータ保持手段から前記ログ領域内に転送し記憶させるも
のであり、 前記パリティ制御手段は、前記書き込み制御手段が前記
所定量のデータの転送を行うと、該データに対応するパ
リティデータを前記データ保持手段から前記いずれか1
つの記憶手段に転送し記憶させるものであることを特徴
とする ディスクアレイ装置。 - 【請求項3】 前記データ保持手段が前記ホスト装置か
ら受け取ったデータを保持すると、その時点で該データ
についての記憶が完了した旨を前記ホスト装置に対して
通知する通知手段が設けられたことを特徴とする請求項
2記載のディスクアレイ装置。 - 【請求項4】 前記アドレス管理手段が記憶するアドレ
ス情報に対するデータ圧縮処理を行う圧縮手段が設けら
れたことを特徴とする請求項1、2または3記載のディ
スクアレイ装置。 - 【請求項5】 前記複数の記憶手段のログ領域の中でデ
ータの記憶に使用していない未使用領域の記憶容量を認
識する領域認識手段と、 該領域認識手段によって前記未使用領域の記憶容量が一
定値以下であると認識されると、前記ログ領域の中のデ
ータの記憶に使用している領域の一部を再利用領域と
し、該再利用領域内のデータを削除あるいは移動するガ
ベージコレクションを行って、該再利用領域を未使用領
域とする再利用手段とが設けられたことを特徴とする請
求項1、2、3または4記載のディスクアレイ装置。 - 【請求項6】 前記複数の記憶手段は、前記ログ領域
と、論理アドレスを付した記憶領域である通常領域との
両方を有し、 前記再利用手段は、ガベージコレクションを行う場合
に、前記再利用領域内から移動するデータを、該データ
の論理アドレスを基に通常領域内へ移動するものである
ことを特徴とする請求項5記載のディスクアレイ装置。 - 【請求項7】 前記書き込み制御手段は、前記複数の記
憶手段に所定量以上のデータを一度に記憶させる場合
に、該データを前記ログ領域内ではなく前記通常領域内
に記憶させるものであることを特徴とする請求項6記載
のディスクアレイ装置。 - 【請求項8】 前記複数の記憶手段のログ領域には、デ
ータと共に該データに対応するアドレス情報が記憶さ
れ、 前記再利用手段は、ガベージコレクションを行う場合
に、前記ログ領域に記憶されたアドレス情報を基に、前
記再利用領域内のデータの削除あるいは移動を行うもの
であることを特徴とする請求項5、6または7記載のデ
ィスクアレイ装置。 - 【請求項9】 前記再利用領域内の全データを前記複数
の記憶手段から取り出して保持する再利用領域保持手段
が設けられ、 前記再利用手段は、前記再利用領域保持手段に保持され
た再利用領域内の全データに対してガベージコレクショ
ンを行うものであることを特徴とする請求項5、6、7
または8記載のディスクアレイ装置。 - 【請求項10】 前記ホスト装置からのデータの送信あ
るいは前記ホスト装置による前記複数の記憶手段からの
データの読み出しがあるか否かを判断するアクセス判断
手段と、 該アクセス判断手段によってデータの送信あるいは読み
出しが一定時間ないと判断されると、前記再利用手段に
ガベージコレクションの実行を指示する再利用指示手段
とが設けられたことを特徴とする請求項5、6、7、8
または9記載のディスクアレイ装置。 - 【請求項11】 前記ホスト装置が前記複数の記憶手段
から読み出したデータの論理アドレスを、読み出し順に
記憶する読み出しアドレス記憶手段が設けられ、 前記再利用手段は、ガベージコレクションを行う場合
に、前記読み出しアドレス記憶手段に記憶された読み出
し順と同一順で記憶されたデータ群が前記再利用領域内
にあると、該データ群を記憶された順のまま前記未使用
領域内へ移動するものであることを特徴とする請求項
5、6、7、8、9または10記載のディスクアレイ装
置。 - 【請求項12】 前記ホスト装置と前記複数の記憶手段
との間でキャッシュメモリとして機能するデータキャッ
シュ手段と、 前記ホスト装置から前記ログ領域内のデータに対する読
み出しがあった場合に、読み出しのあったデータに続い
て記憶されているデータの記憶順が、前記読み出しアド
レス記憶手段に記憶された読み出し順と同一であれば、
前記続いて記憶されているデータを前記ログ領域内から
取り出して前記データキャッシュ手段に保持させるキャ
ッシュ管理手段とが設けられたことを特徴とする請求項
11記載のディスクアレイ装置。 - 【請求項13】 前記データキャッシュ手段に保持され
ているデータ群を前記データキャッシュ手段内から削除
する場合に、前記読み出しアドレス記憶手段内で読み出
し順が連続しているデータ群を、該読み出し順に従って
前記ログ領域内に記憶させるデータ削除手段とが設けら
れたことを特徴とする請求項12記載のディスクアレイ
装置。 - 【請求項14】 前記アドレス管理手段と前記データ保
持手段とを前記複数の記憶手段の中の各記憶手段に対応
して個別に設けたことを特徴とする請求項2記載のディ
スクアレイ装置。 - 【請求項15】 前記書き込み制御手段は、前記ホスト
装置から受け取ったデータを前記複数の記憶手段のログ
領域に記憶させる際に、該データを記憶させるためのア
クセスを前記複数の記憶手段の中の各記憶手段毎に独立
して行うものであることを特徴とする請求項14記載の
ディスクアレイ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15193896A JP3373360B2 (ja) | 1996-06-13 | 1996-06-13 | ディスクアレイ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15193896A JP3373360B2 (ja) | 1996-06-13 | 1996-06-13 | ディスクアレイ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09330185A JPH09330185A (ja) | 1997-12-22 |
JP3373360B2 true JP3373360B2 (ja) | 2003-02-04 |
Family
ID=15529495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15193896A Expired - Fee Related JP3373360B2 (ja) | 1996-06-13 | 1996-06-13 | ディスクアレイ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3373360B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001337860A (ja) * | 2000-05-24 | 2001-12-07 | Newsoft Technology Corp | ファイルの保存及び読出しの確実且つ安全な方法 |
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 |
JP4558003B2 (ja) * | 2007-05-22 | 2010-10-06 | 株式会社東芝 | データアクセス処理方法及び記憶制御装置 |
JP5347657B2 (ja) | 2009-03-31 | 2013-11-20 | 富士通株式会社 | データ記憶プログラム、方法、及び情報処理装置 |
JP5279785B2 (ja) * | 2010-09-17 | 2013-09-04 | 株式会社東芝 | コントローラ、記憶装置、およびプログラム |
JP6901427B2 (ja) * | 2018-03-27 | 2021-07-14 | キオクシア株式会社 | ストレージ装置、コンピュータシステムおよびストレージ装置の動作方法 |
-
1996
- 1996-06-13 JP JP15193896A patent/JP3373360B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
茂木和彦 喜連川優,ストライプの動的再編成を伴うRAID5型ディスクアレイに於けるアクセスローカリティが存在する場合の更,情報処理学会研究報告,日本,社団法人情報処理学会,1994年 7月21日,Vol.94 No.66(94−ARC−107),P193−200 |
Also Published As
Publication number | Publication date |
---|---|
JPH09330185A (ja) | 1997-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6216199B1 (en) | Hardware mechanism for managing cache structures in a data storage system | |
US10402091B1 (en) | Managing data in log-structured storage systems | |
US6542960B1 (en) | System and method for parity caching based on stripe locking in raid data storage | |
CN108459826B (zh) | 一种处理io请求的方法及装置 | |
US9600184B2 (en) | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment | |
US6738863B2 (en) | Method for rebuilding meta-data in a data storage system and a data storage system | |
US5568628A (en) | Storage control method and apparatus for highly reliable storage controller with multiple cache memories | |
JP6345698B2 (ja) | 格納されたデータにおける冗長削減 | |
US8392798B2 (en) | Apparatus, system, and method for validating that correct data is read from a storage device | |
JP5431453B2 (ja) | 記憶要求を追加データ記憶コマンドに変換するための装置、システム及び方法 | |
US6901479B2 (en) | Disk array apparatus for and method of expanding storage capacity dynamically | |
US7487289B2 (en) | Apparatus and method for detecting disk write omissions | |
US8122216B2 (en) | Systems and methods for masking latency of memory reorganization work in a compressed memory system | |
TWI771933B (zh) | 借助命令相關過濾器來進行重複資料刪除管理的方法、主裝置以及儲存伺服器 | |
WO2015145647A1 (ja) | ストレージ装置とデータ処理方法及びストレージシステム | |
US6101574A (en) | Disk control unit for holding track data in non-volatile cache memory | |
US11263147B2 (en) | Memory system including logical-to-physical address translation table in a first cache and a compressed logical-to-physical address translation table in a second cache | |
CN111124258A (zh) | 全闪存阵列的数据存储方法、装置、设备及可读存储介质 | |
JP3373360B2 (ja) | ディスクアレイ装置 | |
US20090164721A1 (en) | Hierarchical storage control apparatus, hierarchical storage control system, hierarchical storage control method, and program for controlling storage apparatus having hierarchical structure | |
WO2014057518A1 (en) | Storage apparatus and data processing method | |
US11592988B2 (en) | Utilizing a hybrid tier which mixes solid state device storage and hard disk drive storage | |
CN115421648A (zh) | 内存垃圾回收方法、装置、设备、存储介质和程序产品 | |
JP2010160544A (ja) | キャッシュメモリシステム及びキャッシュメモリの制御方法 | |
JP3861061B2 (ja) | ディスクキャッシュ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081122 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |