JP6427913B2 - ストレージシステム、制御装置、ストレージ装置、入出力制御方法、及びプログラム - Google Patents

ストレージシステム、制御装置、ストレージ装置、入出力制御方法、及びプログラム Download PDF

Info

Publication number
JP6427913B2
JP6427913B2 JP2014068143A JP2014068143A JP6427913B2 JP 6427913 B2 JP6427913 B2 JP 6427913B2 JP 2014068143 A JP2014068143 A JP 2014068143A JP 2014068143 A JP2014068143 A JP 2014068143A JP 6427913 B2 JP6427913 B2 JP 6427913B2
Authority
JP
Japan
Prior art keywords
logical
data
disk
logical address
address
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.)
Active
Application number
JP2014068143A
Other languages
English (en)
Other versions
JP2015191443A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2014068143A priority Critical patent/JP6427913B2/ja
Publication of JP2015191443A publication Critical patent/JP2015191443A/ja
Application granted granted Critical
Publication of JP6427913B2 publication Critical patent/JP6427913B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージシステム、制御装置、ストレージ装置、入出力制御方法、及びプログラムに関する。
アクセス性能の異なる2以上のストレージ装置と、ストレージ装置を制御する制御装置とを含むストレージシステムを構成する場合がある。そのようなストレージシステムにおいては、データを効率的に格納し、各ストレージ装置を有効に利用することが好ましい。また、そのようなストレージシステムにおいては、ストレージ装置に格納されたデータに、効率的にアクセスすることが好ましい。
そこで、2以上のストレージ装置から割り当てられた論理ディスクを、1又は2以上に分割したデータブロックに分割して、仮想的に1つのディスクとする、RAID(Redundant Arrays of Independent Disks)技術が普及している。また、RAIDを用いてストレージシステムを構成する場合、各データブロックのパリティを計算し、データを保障することが一般的である。
特許文献1においては、2以上のストレージ装置を、一つの仮想的なストレージ装置として、ホストが認識するストレージシステムが記載されている。そして、特許文献1に記載されたストレージシステムにおいては、各ストレージ装置は、所定のポリシ(信頼性、コスト等)に応じてグループ化された、ボリューム群により構成される。そして、特許文献1に記載されたストレージシステムは、ユーザが、グループ単位でボリュームを指定し、データの移動先のストレージを指定すると、データを再配置する。
特開2013−033515号公報
なお、上記先行技術文献の開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明の観点からなされたものである。
上述の通り、特許文献1に記載されたストレージシステムにおいては、効率的にデータの格納、及びアクセス可能であることが好ましい。そこで、適宜、ストレージ装置のデータ領域を解放し、ストレージ装置のアクセス性能を向上させる場合がある。ストレージ装置のデータ領域を解放した場合、そのデータ領域を含むデータブロックのデータ構成が変更されてしまう。そのため、当該データブロックのパリティを再計算する必要が生じる。
ここで、ストレージ装置が、データブロックの一部のデータ領域に対して、解放要求を受け付け、解放要求を受け付けた時に、データブロックのパリティを再計算する場合を考える。その場合、解放要求を受け付けていない領域に対しても、データブロックのパリティの計算のために、入出力処理(I/O(Input / Output)処理)が発生する。その結果、ストレージ装置において、計算負荷が不要に増大してしまう恐れがある。その結果、ストレージ装置のアクセス性能を劣化させる恐れがある。
また、所定のサイズのデータ領域が解放されるまで、パリティを再計算することを保留すると、実際のデータ領域と、パリティを用いて保障されるデータ領域と、の不整合が生じる。その結果、解放されたデータ領域に対する入出力処理が発生し、ストレージ装置のアクセス性能を劣化させる恐れがある。
そこで、本発明は、アクセス性能の劣化を抑制することに貢献するストレージシステム、制御装置、ストレージ装置、入出力制御方法、及びプログラムを提供することを目的とする。
本発明の第1の視点によれば、制御装置と、前記制御装置と接続する1又は2以上のストレージ装置と、を含むストレージシステムであって、
前記ストレージ装置は、1又は2以上の物理領域を含む階層化ディスクプールと、
前記物理領域を仮想化し、任意の容量で切り出した論理ディスクと、を備え、
前記制御装置は、1又は2以上の前記論理ディスクを割り当てられた仮想ディスクと、要求を受け付け、当該要求に応じて動作する制御手段と、を備え、前記制御手段は第1の仮想アドレスに対して、解放要求を受け付けると、当該第1の仮想アドレスに対応する第1の論理ディスク及び第1の論理アドレスを特定し、前記第1の論理ディスクの前記第1の論理アドレスに対応するデータの実体を、前記データの実体を含む第1の物理領域から、前記第1の物理領域より容量コストが低い第2の物理領域に移動するように、前記ストレージ装置に要求し第1のデータセットが、前記第1の論理ディスクにおいて第2の論理アドレスと前記第1の論理アドレスとを含む第1の論理アドレス範囲に割り当てられた第1のデータブロックと、前記第1の論理ディスクとは異なる第2の論理ディスクにおいて前記第1の論理アドレス範囲に割り当てられた第2のデータブロックと、前記第1の論理ディスク及び前記第2の論理ディスクとは異なる第3の論理ディスクにおいて前記第1の論理アドレス範囲に割り当てられたパリティブロックとを含む場合、前記制御手段は、前記第2の論理ディスクの前記第2の論理アドレスに対応する第2の仮想アドレスに対して、書き込み要求を受け付けると、前記第2のデータブロックと、前記第1のデータセットにおける前記パリティブロックと、を読み込み、パリティを再計算し、前記第2の論理ディスクの前記第2の論理アドレスに、書き込み対象データが書き込まれるように前記第2のデータブロックを更新し、前記第3の論理ディスクの前記第2の論理アドレスに当該再計算されたパリティ書き込まれるように前記パリティブロックを更新する、ストレージシステムが提供される。
本発明の第2の視点によれば、1又は2以上の論理ディスクを割り当てられた、仮想ディスクと、
要求を受け付け、当該要求に応じて動作する制御手段と、を備え、
前記制御手段は、第1の論理アドレスに対応する第1の仮想アドレスに対して、解放要求を受け付けると、前記第1の論理アドレスに対応するデータの実体を、前記第1のデータの実体を含む第1の物理領域から、前記第1の物理領域より容量コストが低い第2の物理領域に移動し、第1のデータブロックが前記第1の論理アドレスを含み、第1のデータセットが、前記第1のデータブロック、及び第1のデータブロックと異なる第2のデータブロックと、パリティブロックとを含み、前記第2のデータブロックが第2の論理アドレスを含み、前記第1のデータブロックと、前記第2のデータブロックと、前記パリティブロックとに、異なる論理ディスクから論理アドレスが割り当てられる場合、前記制御手段は、前記第2の論理アドレスに対応する第2の仮想アドレスに対して、書き込み要求を受け付けると、前記第2のデータブロックと、前記第1のデータセットにおける前記パリティブロックと、を読み込み、パリティを再計算し、前記第2の論理アドレスに、書き込み対象データと、当該再計算されたパリティと、を書き込む、制御装置が提供される。
本発明の第3の視点によれば、制御装置と接続し、1又は2以上の物理領域を含む階層化ディスクプールと、前記物理領域を仮想化した論理ディスクと、前記制御装置からの要求に応じて動作する入出力制御手段と、前記論理ディスクを識別する情報と、前記物理領域を識別する情報と、前記論理アドレスと、優先度とを対応付けた論理アドレス管理テーブルとを備え、前記入出力制御手段は、前記制御装置が第1の前記論理アドレスに対応する解放要求を受け付けた場合、前記論理アドレス管理テーブルに基づいて、前記第1の論理アドレスに対応する前記優先度を取得し、取得した当該優先度が、第1の優先度より高い第2の優先度である場合、当該優先度を、前記第1の優先度に変更し、前記論理アドレス管理テーブルに登録する、ストレージ装置が提供される。
本発明の第4の視点によれば、1又は2以上の物理領域を含む階層化ディスクプールと、前記物理領域を仮想化し、任意の容量で切り出した論理ディスクと、を備える、1又は2以上のストレージ装置に接続する、制御装置が実行する入出力制御方法であって、1の仮想アドレスに対して、解放要求を受け付けると、当該第1の仮想アドレスに対応する第1の論理ディスク及び第1の論理アドレスを特定し、前記第1の論理ディスクの前記第1の論理アドレスに対応するデータの実体を、前記データの実体を含む第1の物理領域から、前記第1の物理領域より容量コストが低い第2の前記物理領域に移動するように、前記ストレージ装置に要求する工程と、第1のデータブロックが前記第1の論理アドレスを含み、第1のデータセットが、前記第1の論理ディスクにおいて第2の論理アドレスと前記第1の論理アドレスとを含む第1の論理アドレス範囲に割り当てられた第1のデータブロックと、前記第1の論理ディスクとは異なる第2の論理ディスクにおいて前記第1の論理アドレス範囲に割り当てられた第2のデータブロックと、前記第1の論理ディスク及び前記第2の論理ディスクとは異なる第3の論理ディスクにおいて前記第1の論理アドレス範囲に割り当てられたパリティブロックとを含む場合前記第2の論理ディスクの前記第2の論理アドレスに対応する第2の仮想アドレスに対して、書き込み要求を受け付けると、前記第2のデータブロックと、前記第1のデータセットにおける前記パリティブロックと、を読み込み、パリティを再計算し、前記第2の論理ディスクの前記第2の論理アドレスに、書き込み対象データが書き込まれるように前記第2のデータブロックを更新し、前記第3の論理ディスクの前記第2の論理アドレスに当該再計算されたパリティ書き込まれるように前記パリティブロックを更新する工程とを含む、入出力制御方法が提供される。
なお、本方法は、データの格納先を制御する制御装置という、特定の機械に結び付けられている。
本発明の第5の視点によれば、1又は2以上の物理領域を含む階層化ディスクプールと、前記物理領域を仮想化し、任意の容量で切り出した論理ディスクと、を備える、1又は2以上のストレージ装置に接続する、制御装置を制御するコンピュータに実行させるプログラムであって、1の仮想アドレスに対して、解放要求を受け付けると、当該第1の仮想アドレスに対応する第1の論理ディスク及び第1の論理アドレスを特定し、前記第1の論理ディスクの前記第1の論理アドレスに対応するデータの実体を、前記データの実体を含む第1の物理領域から、前記第1の物理領域より容量コストが低い第2の物理領域に移動するように、前記ストレージ装置に要求する処理と、第1のデータセットが、前記第1の論理ディスクにおいて第2の論理アドレスと前記第1の論理アドレスとを含む第1の論理アドレス範囲に割り当てられた第1のデータブロックと、前記第1の論理ディスクとは異なる第2の論理ディスクにおいて前記第1の論理アドレス範囲に割り当てられた第2のデータブロックと、前記第1の論理ディスク及び前記第2の論理ディスクとは異なる第3の論理ディスクにおいて前記第1の論理アドレス範囲に割り当てられたパリティブロックとを含む場合前記第2の論理ディスクの前記第2の論理アドレスに対応する第2の仮想アドレスに対して、書き込み要求を受け付けると、前記第2のデータブロックと、前記第1のデータセットにおける前記パリティブロックと、を読み込み、パリティを再計算し、前記第2の論理ディスクの前記第2の論理アドレスに、書き込み対象データが書き込まれるように前記第2のデータブロックを更新し、前記第3の論理ディスクの前記第2の論理アドレスに当該再計算されたパリティ書き込まれるように前記パリティブロックを更新する処理と、を前記コンピュータに実行させるプログラムが提供される。
なお、本プログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
本発明の各視点によれば、アクセス性能の劣化を抑制することに貢献するストレージシステム、制御装置、ストレージ装置、入出力制御方法、及びプログラムが提供される。
一実施形態の概要を説明するための図である。 第1の実施形態に係るストレージシステム1の全体構成を示すブロック図である。 RAID管理テーブル30の一例を示す図である。 解放領域管理テーブル31の一例を示す図である。 論理アドレス管理テーブル10の一例を示す図である。 データ格納ポリシテーブル11の一例を示す図である。 RAID制御手段32の動作の一例を示すフローチャートである。 入出力制御手段12の動作の一例を示すフローチャートである。 データ格納先確認手段13の動作の一例を示すフローチャートである。
初めに、図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
上述の通り、アクセス性能の劣化を抑制することに貢献するとともに、容量コストを低減することに貢献するストレージシステムが望まれる。
そこで、一例として図1に示すストレージシステム1000を提供する。ストレージシステム1000は、制御装置1001と、1又は2以上のストレージ装置1002とを含む。制御装置1001は、仮想ディスク1011と、制御手段(制御ユニット)1012とを備える。ストレージ装置1002は、階層化ディスクプール1021と、論理ディスク1022と、を備える。
階層化ディスクプール1021は、1又は2以上の物理領域を含む。論理ディスク1022は、物理領域を仮想化した記憶領域である。
仮想ディスク1011は、1又は2以上の論理ディスク1022を割り当てられた記憶領域である。制御手段1012は、要求を受け付け、当該要求に応じて動作する。
制御手段1012は、第1の論理アドレスに対応する第1の仮想アドレスに対して、解放要求を受け付けるとする。その場合、制御手段1012は、第1の論理アドレスに対応する第1のデータ領域を、第1のデータ領域を含む第1の物理領域から、第1の物理領域より容量コストが低い第2の物理領域に移動する。
ここで、第1のデータブロックが第1の論理アドレスを含むとする。また、第1のデータセットが、第1のデータブロック、及び第1のデータブロックと異なる第2のデータブロックを含むとする。また、第2のデータブロックが第2の論理アドレスを含むとする。
制御手段1012は、第2の論理アドレスに対応する第2の仮想アドレスに対して、書き込み要求を受け付けるとする。その場合、制御手段1012は、第2のデータブロックと、第1のデータセットにおけるパリティブロックと、を読み込む。そして、制御手段1012は、パリティを再計算し、第2の論理アドレスに、書き込み対象データと、当該再計算されたパリティと、を書き込む。
そのため、ストレージシステム1000は、解放要求を受け付けた場合に、パリティの再計算を抑制しつつ、格納先の容量コストを下げた格納先に、不要になったデータを格納する。また、解放要求を受け付けたデータブロックが含まれるデータセットにおいて、解放要求を受け付けたデータブロックと異なるデータブロックに対して、書き込み要求を受け付けた場合、不要になったデータを格納する領域を読み込まないように制御する。そのため、ストレージシステム1000は、アクセス性能の劣化を抑制することに貢献する。
[第1の実施形態]
第1の実施形態について、図面を用いてより詳細に説明する。なお、以下の説明では、上記の制御装置1001を、仮想化コントローラと呼ぶ。また、以下の説明では、上記の制御手段(制御ユニット)1012を、RAID制御手段(RAID制御ユニット)と呼ぶ。
図2は、本実施形態に係るストレージシステム1の全体構成を示すブロック図である。
図2に示すストレージシステム1は、ストレージ装置A101〜ストレージ装置D104と、外部ストレージ200と、仮想化コントローラ300と、ホスト計算機400とを含んで構成される。なお、図2は、本実施形態に係るストレージシステム1の構成を、図2に示す構成に限定する趣旨ではない。また、以下の説明では、特に区別する必要がないときは、ストレージ装置A101〜ストレージ装置D104を、ストレージ装置100と呼ぶ。
ストレージ装置100は、階層化機能を持つ。
外部ストレージ200は、ストレージ装置100とネットワークで接続される。また、外部ストレージ200は、ストレージ装置100が記憶領域として利用する、外部ボリュームを提供する。
仮想化コントローラ300は、SAN(Storage Area Network)を介して、ストレージ装置100と接続する。また、仮想化コントローラ300は、各ストレージ装置100から割り当てられた論理ディスクを、仮想ディスクとして管理する。
ホスト計算機400は、SANを介して、仮想化コントローラ300と接続する。また、ホスト計算機400は、仮想化コントローラ300から仮想ディスクを割り当てられ、その仮想ディスクに読み書き可能である。
次に、ストレージ装置100の内部構成について詳細に説明する。
ストレージ装置100は、論理アドレス管理テーブル10と、データ格納ポリシテーブル11と、入出力制御手段(入出力制御ユニット)12と、データ格納先確認手段(データ格納先確認ユニット)13と、階層化ディスクプール120と、論理ディスク130とを含んで構成される。なお、図2において図示しないが、ストレージ装置B102、ストレージ装置C103、ストレージ装置D104は、ストレージ装置A101と同様の内部構成であり、夫々、論理ディスク131、論理ディスク132、論理ディスク133を含む。なお、以下の説明では、論理ディスク130〜133を特に区別しないときは、論理ディスク130と記載する。
階層化ディスクプール120は、SSD(Solid State Drive)110と、SAS(Serial Attached SCSI(Small Computer System Interface))111と、SATA(Serial ATA(Advanced Technology Attachment))112と、外部ボリューム113とを含んで構成される。一般的に、SSD110>SAS111>SATA112>外部ボリューム113の順にアクセス性能が高くなる。また、一般的に、SSD110>SAS111>SATA112の順に高価となる。また、一般的に、SATA112>SAS111>SSD110の順に容量が大きい。
論理ディスク130は、階層化ディスクプール内のドライブ群と、外部ボリューム113とを仮想化したディスクである。
ストレージ装置100が持つ階層化機能においては、論理ディスク130上のデータが持つ、アクセス頻度や優先度に応じて、データの実体を移動し、容量コストの最適化を行う。具体的には、ストレージ装置100が持つ階層化機能において、アクセス頻度や優先度が高いデータは、SSD110、SAS111にデータの実体が移動する。ここで、例えば、ストレージ装置100は、所定の閾値を超えるアクセス頻度のデータを、「アクセス頻度が高いデータ」として決定しても良い。
一方、ストレージ装置100が持つ階層化機能において、アクセス頻度や優先度が低いデータは、SATA112、外部ボリューム113にデータの実体が移動する。ここで、例えば、ストレージ装置100は、所定の閾値以下のアクセス頻度のデータを、「アクセス頻度が低いデータ」として決定しても良い。
外部ストレージ200は、クラウドサービス等が提供するストレージサービス、又はオンプレミスにある他のストレージ装置により実現される。
入出力制御手段12は、仮想化コントローラ300からの要求に応じて、動作する。入出力制御手段12は、仮想化コントローラ300からI/O(Input / Output)要求を受け付けた場合、物理領域(SSD110、SAS111、SATA112、外部ボリューム113)に対して、入出力処理を実行する。具体的には、入出力制御手段12は、論理アドレス管理テーブル10を参照し、どの物理領域へのI/O要求であるかを判断する。そして、入出力制御手段12は、該当する物理領域に対して入出力処理を実行する。
また、入出力制御手段12は、優先度変更要求を受け付けた場合、論理アドレスの優先度を変更する。具体的には、入出力制御手段12は、論理アドレス管理テーブル10を参照し、該当する論理アドレスの優先度を「低」に変更する。
データ格納先確認手段13は、格納先を変更するデータが存在するかどうかを確認する。例えば、データ格納先確認手段13は、所定の時間周期で、格納先を変更するデータが存在するかどうかを確認することが好ましい。具体的には、データ格納先確認手段13は、論理アドレス管理テーブル10と、データ格納ポリシテーブル11とを参照する。ここで、論理アドレスの優先度が低になっているが、データ格納ポリシテーブル11で設定されている物理領域に格納されていないデータがあるとする。その場合、データ格納先確認手段13は、当該データを、データ格納ポリシテーブル11で設定されている物理領域に格納する。
次に、仮想化コントローラ300の内部構成について詳細に説明する。
仮想化コントローラ300は、RAID管理テーブル30と、解放領域管理テーブル31と、RAID制御手段32と、仮想ディスク301とを備える。
仮想ディスク301は、論理ディスク130を、ソフトウェアRAID等を用いて、データを複数に分割したブロックと、それらのブロックから生成したパリティを1つのデータセットとして扱い、それらを複数の論理ディスク130に分割して配置される。
RAID制御手段32は、ホスト計算機400からの要求に応じて、動作する。RAID制御手段32は、解放要求を受け付けた場合、要求が来た仮想アドレスを記録する。そして、RAID制御手段32は、要求が来た仮想アドレスに対応する、論理アドレスに対して、優先度変更要求を行う。
次に、RAID制御手段32が、読み込み要求を受け付けた場合を考える。まず、要求が来た仮想アドレスが解放されていない場合、RAID制御手段32は、当該仮想アドレスに対応する論理アドレスから、データを読み込む。一方、要求が来た仮想アドレスが解放されている場合、RAID制御手段32は、当該仮想アドレスに対応する論理アドレスからデータを読み込まずに、要求元にゼロを返却する。
次に、RAID制御手段32が、書き込み要求を受け付けた場合、要求が来た仮想アドレスを含む、データブロックと、当該データブロックのパリティブロックの論理アドレスのデータとを読み込む。そして、RAID制御手段32は、パリティを再計算し、データと、新たな論理パリティとを論理アドレスに書き込む。
なお、ホスト計算機400から不要になったストレージのブロックを解放する、解放要求の種類として、TRIMコマンド、UNMAPコマンド、WRITE SAMEコマンド等がある。また、解放要求は、ストレージのコントローラが内部で判断する処理であっても良い。
次に、RAID管理テーブル30について、図3を参照して説明する。
RAID管理テーブル30は、データセット番号と、仮想アドレスと、論理アドレスと、論理ディスクを識別するための情報とを含んで構成される。具体的には、データセット番号とは、パリティ計算のためのデータのまとまりを示す情報である。また、仮想アドレスは、ホスト計算機400が認識し、I/O要求の対象となる仮想アドレスである。また、論理ディスクを識別するための情報とは、仮想アドレスのデータの格納先を識別するための情報である。なお、図3においては、論理ディスクを識別するための情報を、LD1〜LD4で示す。
図2に示すストレージシステム1においては、4つの論理ディスク130〜133から仮想ディスクを構成している。そのため、図3に示すRAID管理テーブル30においては、1つのデータセット番号に対して、4つのブロックが存在する。パリティブロックは、特定の論理ディスクに集中しないように、各論理ディスクLD1〜LD4に対して順番に割り付けられる。例えば、論理アドレスのサイズが4KBであり、ブロックのサイズが128KBである場合、各ブロックに対して32個の論理アドレスが割り当てられる。ここで、本実施形態に係るストレージシステム1においては、仮想アドレスと、論理アドレスとが、1対1対応である。そのため、各ブロックに対して、32個の仮想アドレスが割り当てられている。
次に、解放領域管理テーブル31について、図4を参照して説明する。
図4に示す通り、解放領域管理テーブル31は、ホスト計算機400から解放要求を受けた仮想アドレスを含んで構成される。
次に、論理アドレス管理テーブル10について、図5を参照して説明する。
論理アドレス管理テーブル10は、論理ディスク番号と、論理アドレスと、物理領域を識別するための格納先を示す情報と、物理アドレス/マッピングと、優先度とを含んで構成される。ここで、論理ディスク番号は、論理ディスクを識別するための番号を意味する。また、論理アドレスは、仮想化コントローラ300が認識し、I/O要求を出すために使用するアドレスを意味する。また、格納先とは、データの実体が格納されている物理領域を識別するための格納先を意味する。また、物理アドレス/マッピングは、格納先のデータの位置を識別するための情報を意味する。また、優先度は、データの格納先を決定するための優先度を意味する。
本実施形態に係る論理アドレス管理テーブル10においては、各論理アドレスに対して、初めは、優先度は、「高」に設定されている。そして、ストレージ装置100は、優先度変更要求を受けた場合、優先度を「低」に変更する。
次に、データ格納ポリシテーブル11について、図6を参照して説明する。
データ格納ポリシテーブル11は、論理アドレスに対して設定される優先度と、その優先度に対応するデータの格納先とを含んで設定される。本実施形態に係るデータ格納ポリシテーブルにおいては、優先度は、「高」、又は「低」のどちらかである。優先度が「高」の場合、ストレージ装置100の物理ドライブ(SSD110、SAS111、SATA112)に、データを格納することが好ましい。一方、優先度が「低」の場合、ストレージ装置100の外部ボリューム113にデータを格納することが好ましい。なお、ユーザが、優先度と、データの格納先との対応関係を設定できるようにしても良い。
次に、本実施形態に係るストレージシステム1の動作について説明する。
図7は、RAID制御手段32の動作の一例を示すフローチャートである。
ステップS101において、RAID制御手段32は、ホスト計算機400から要求を受けると動作し、その要求が解放要求であるか、又はI/O要求であるかを判断する。
RAID制御手段32が解放要求を受けた場合、RAID制御手段32は要求のあった仮想アドレスを、解放領域管理テーブル31に登録する(ステップS102)。そして、RAID制御手段32は、RAID管理テーブル30を参照し、要求のあった仮想アドレスに対応する論理ディスクと、論理アドレスとを確認する(ステップS103)。そして、RAID制御手段32は、上記論理ディスクが属しているストレージ装置の入出力制御手段12に対して、当該論理アドレスの低優先度変更を要求する(ステップS104)。
一方、RAID制御手段32がI/O要求を受けた場合、受信した要求が読み込み要求であるか、書き込み要求であるかを、RAID制御手段32は判断する(ステップS105)。受信した要求が読み込み要求である場合には、ステップS106に遷移する。一方、受信した要求が書き込み要求である場合には、ステップS110に遷移する。
読み込み要求を受信した場合には、要求のあった仮想アドレスが解放領域管理テーブル31に登録されているか否かを、RAID制御手段32は判断する(ステップS106)。
要求のあった仮想アドレスが解放領域管理テーブル31に登録されている場合(ステップS106のYes分岐)には、RAID制御手段32は、論理ディスクから論理アドレスを読み込まずに、ホスト計算機400に対してゼロを返却する(ステップS107)。
一方、要求のあった仮想アドレスが解放領域管理テーブル31に登録されていない場合(ステップS106のNo分岐)には、RAID制御手段32は、RAID管理テーブル30を参照し、対応する論理ディスクと、論理アドレスとを確認する(ステップS108)。そして、RAID制御手段32は、該当論理ディスクが属しているストレージ装置の入出力制御手段12に対して、該当論理アドレスからの読み込みを要求する(ステップS109)。
一方、書き込み要求を受信した場合には、RAID制御手段32は、RAID管理テーブル30を参照し、要求のあった仮想アドレスが属するデータブロックと、そのデータブロックが属するデータセットにおける、パリティブロックに対応する論理ディスクと、論理アドレスの範囲とを確認する(ステップS110)。
次に、RAID制御手段32は、該当論理ディスクが属しているストレージ装置の入出力制御手段12に対して、該当論理アドレスからの読み込みを要求する(ステップS111)。
次に、RAID制御手段32は、書き込み後のデータブロックと、書き込み前のデータブロックと、書き込み前のパリティブロックとに基づいて、パリティを再計算する(ステップS112)。
次に、RAID制御手段32は、ステップS111で読み込みを行った論理ディスクの論理アドレスに対する、書き込み後のデータブロックと、再計算したパリティブロックの書き込みとを入出力制御手段12に対して要求する(ステップS113)。
そして、RAID制御手段32は、解放領域管理テーブル31を参照し、書き込み要求のあった仮想アドレスが登録されている場合には、解放領域管理テーブル31から該当仮想アドレスを削除する(ステップS114)。
次に、入出力制御手段12の動作について説明する。
図8は、入出力制御手段12の動作の一例を示すフローチャートである。
ステップS201において、入出力制御手段12は、RAID制御手段32から要求を受けると、受け付けた要求が低優先度変更要求であるか、I/O要求であるかを判断する。
入出力制御手段12が低優先度変更要求を受けた場合には、入出力制御手段12は論理アドレス管理テーブル10を参照し、要求のあった論理アドレスの優先度を「低」に変更する(ステップS202)。
一方、入出力制御手段12がI/O要求を受けた場合には、入出力制御手段12は論理アドレス管理テーブル10を参照し、要求のあった論理アドレスに対応するデータの格納先と、物理アドレス/マッピングとを確認する(ステップS203)。そして、入出力制御手段12は、確認した格納先の物理アドレス/マッピングに対して、I/Oを実施する(ステップS204)。そして、入出力制御手段12は、書き込み処理を実行した場合には、論理アドレス管理テーブル10を参照し、書き込み先の論理アドレスの優先度が「低」である場合、優先度を「高」に変更する(ステップS205)。
次に、データ格納先確認手段13の動作について説明する。
図9は、データ格納先確認手段13の動作の一例を示すフローチャートである。
データ格納先確認手段13は、論理アドレス管理テーブル10と、データ格納ポリシテーブル11とを参照し、各論理アドレスの格納先がポリシ通りの格納先になっているか否かを確認する(ステップS301)。ここで、データ格納先確認手段13は、予め定めた、所定の時間周期で動作することが好ましい。
そして、ポリシ通りの格納先になっていない論理アドレスがある場合には、データ格納先確認手段13は、ポリシとしている格納先にデータを移動し、論理アドレス管理テーブル10の格納先と、物理アドレス/マッピングとを更新する(ステップS302)。
以上のように、本実施形態に係るストレージシステム1は、データの解放要求を受けた場合、パリティ再計算を抑制しながら、不要になったデータを、容量コストが低い格納先に格納する。また、本実施形態に係るストレージシステム1において、優先度を「低」に設定した領域を含むブロックが属する、データセットに対して、他のブロックへの書き込み要求を受けたとする。その場合、本実施形態に係るストレージシステム1は、優先度を「低」に設定した領域を、論理ディスクから読み込まないように制御する。従って、本実施形態に係るストレージシステム1は、アクセス性能の劣化を抑制することに貢献するとともに、容量コストを低減することに貢献する。
なお、上記の実施形態においては、論理アドレスの優先度を、「高」、又は「低」に設定する場合を例示して説明した。しかし、これは、本発明に係るストレージシステム1において、論理アドレスの優先度を、2段階に限定する趣旨ではない。本発明に係るストレージシステム1において、論理アドレスの優先度を、3段階以上に設定しても良い。
上述の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)上記第1の視点に係るストレージシステムの通りである。
(付記2)前記ストレージ装置は、前記論理ディスクを識別する情報と、前記物理領域を識別する情報と、論理アドレスと、優先度とを対応付けた論理アドレス管理テーブルをさらに備え、前記入出力制御手段は、前記解放要求を受け付けた仮想アドレスに対応する、論理アドレスを取得し、当該論理アドレスに対応付けられた第1の優先度より低い、第2の優先度と、当該論理アドレスと、を対応付けて、前記論理アドレス管理テーブルを更新する、付記1に記載のストレージシステム。
(付記3)前記ストレージ装置は、前記優先度と、前記優先度に対応するデータの格納先とを対応付けたデータ格納ポリシテーブルをさらに備える、付記2に記載のストレージシステム。
(付記4)前記制御装置は、解放要求を受けた前記仮想アドレスが登録された解放領域管理テーブルをさらに備え、前記制御手段は、解放要求を受け付けた場合、当該解放要求に対応する仮想アドレスに基づいて、当該仮想アドレスに対応する論理アドレスに対して、前記優先度の変更を要求し、前記解放要求に対応する仮想アドレスを、前記解放領域管理テーブルに登録する、付記3に記載のストレージシステム。
(付記5)前記制御手段は、読み込み要求を受け付けた場合、当該読み込み要求に対応する仮想アドレスが、前記解放領域管理テーブルに登録されている場合、当該仮想アドレスに対応する論理アドレスからデータを読み込まず、当該仮想アドレスが、前記解放領域管理テーブルに登録されていない場合、当該仮想アドレスに対応する論理アドレスから、データを読み込む、付記4に記載のストレージシステム。
(付記6)上記第2の視点に係る制御装置の通りである。
(付記7)上記第3の視点に係るストレージ装置の通りである。
(付記8)上記第4の視点に係る入出力制御方法の通りである。
(付記9)上記第5の視点に係るプログラムの通りである。
なお、上記の特許文献の開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
1、1000 ストレージシステム
10 論理アドレス管理テーブル
11 データ格納ポリシテーブル
12 入出力制御手段(入出力制御ユニット)
13 データ格納先確認手段(データ格納先確認ユニット)
30 RAID管理テーブル
31 解放領域管理テーブル
32 RAID制御手段(RAID制御ユニット)
100、1002 ストレージ装置
101 ストレージ装置A
102 ストレージ装置B
103 ストレージ装置C
104 ストレージ装置D
110 SSD
111 SAS
112 SATA
113 外部ボリューム
120、1021 階層化ディスクプール
130〜133、1022 論理ディスク
200 外部ストレージ
300 仮想化コントローラ
301、1011 仮想ディスク
400 ホスト計算機
1001 制御装置
1012 制御手段(制御ユニット)

Claims (7)

  1. 制御装置と、前記制御装置と接続する1又は2以上のストレージ装置と、を含むストレージシステムであって、
    前記ストレージ装置は、
    1又は2以上の物理領域を含む階層化ディスクプールと、
    前記物理領域を仮想化し、任意の容量で切り出した論理ディスクと、
    を備え、
    前記制御装置は、
    1又は2以上の前記論理ディスクを割り当てられた仮想ディスクと、
    要求を受け付け、当該要求に応じて動作する制御手段と、を備え、
    前記制御手段は第1の仮想アドレスに対して、解放要求を受け付けると、当該第1の仮想アドレスに対応する第1の論理ディスク及び第1の論理アドレスを特定し、前記第1の論理ディスクの前記第1の論理アドレスに対応するデータの実体を、前記データの実体を含む第1の物理領域から、前記第1の物理領域より容量コストが低い第2の物理領域に移動するように、前記ストレージ装置に要求し
    第1のデータセットが、前記第1の論理ディスクにおいて第2の論理アドレスと前記第1の論理アドレスとを含む第1の論理アドレス範囲に割り当てられた第1のデータブロックと、前記第1の論理ディスクとは異なる第2の論理ディスクにおいて前記第1の論理アドレス範囲に割り当てられた第2のデータブロックと、前記第1の論理ディスク及び前記第2の論理ディスクとは異なる第3の論理ディスクにおいて前記第1の論理アドレス範囲に割り当てられたパリティブロックとを含む場合
    前記制御手段は、前記第2の論理ディスクの前記第2の論理アドレスに対応する第2の仮想アドレスに対して、書き込み要求を受け付けると、前記第2のデータブロックと、前記第1のデータセットにおける前記パリティブロックと、を読み込み、パリティを再計算し、前記第2の論理ディスクの前記第2の論理アドレスに、書き込み対象データが書き込まれるように前記第2のデータブロックを更新し、前記第3の論理ディスクの前記第2の論理アドレスに当該再計算されたパリティ書き込まれるように前記パリティブロックを更新する、ストレージシステム。
  2. 前記ストレージ装置は、前記論理ディスクを識別する情報と、前記物理領域を識別する情報と、論理アドレスと、優先度とを対応付けた論理アドレス管理テーブルと、
    前記解放要求を受け付けた仮想アドレスに対応する、論理アドレスを取得し、当該論理アドレスに対応付けられた第1の優先度より低い、第2の優先度と、当該論理アドレスと、を対応付けて、前記論理アドレス管理テーブルを更新する、入出力制御手段と、をさらに備える、請求項1に記載のストレージシステム。
  3. 前記ストレージ装置は、前記優先度と、前記優先度に対応するデータの格納先とを対応付けたデータ格納ポリシテーブルをさらに備える、請求項2に記載のストレージシステム。
  4. 前記制御装置は、解放要求を受けた前記仮想アドレスが登録された解放領域管理テーブルをさらに備え
    前記制御手段は、解放要求を受け付けた場合、当該解放要求に対応する仮想アドレスに基づいて、当該仮想アドレスに対応する論理アドレスを特定し、特定した前記論理アドレスに対応する前記優先度を、低優先度に変更するように前記ストレージ装置に対して要求し、前記解放要求に対応する仮想アドレスを、前記解放領域管理テーブルに登録する、請求項3に記載のストレージシステム。
  5. 前記制御手段は、読み込み要求を受け付けた場合、当該読み込み要求に対応する仮想アドレスが、前記解放領域管理テーブルに登録されている場合、当該仮想アドレスに対応する論理アドレスからデータを読み込まず、当該仮想アドレスが、前記解放領域管理テーブルに登録されていない場合、当該仮想アドレスに対応する論理アドレスから、データを読み込む、請求項4に記載のストレージシステム。
  6. 1又は2以上の物理領域を含む階層化ディスクプールと、
    前記物理領域を仮想化し、任意の容量で切り出した論理ディスクと、
    を備える、1又は2以上のストレージ装置に接続する、制御装置が実行する入出力制御方法であって、
    1の仮想アドレスに対して、解放要求を受け付けると、当該第1の仮想アドレスに対応する第1の論理ディスク及び第1の論理アドレスを特定し、前記第1の論理ディスクの前記第1の論理アドレスに対応するデータの実体を、前記データの実体を含む第1の物理領域から、前記第1の物理領域より容量コストが低い第2の物理領域に移動するように、前記ストレージ装置に要求する工程と、
    第1のデータセットが、前記第1の論理ディスクにおいて第2の論理アドレスと前記第1の論理アドレスとを含む第1の論理アドレス範囲に割り当てられた第1のデータブロックと、前記第1の論理ディスクとは異なる第2の論理ディスクにおいて前記第1の論理アドレス範囲に割り当てられた第2のデータブロックと、前記第1の論理ディスク及び前記第2の論理ディスクとは異なる第3の論理ディスクにおいて前記第1の論理アドレス範囲に割り当てられたパリティブロックとを含む場合前記第2の論理ディスクの前記第2の論理アドレスに対応する第2の仮想アドレスに対して、書き込み要求を受け付けると、前記第2のデータブロックと、前記第1のデータセットにおける前記パリティブロックと、を読み込み、パリティを再計算し、前記第2の論理ディスクの前記第2の論理アドレスに、書き込み対象データが書き込まれるように前記第2のデータブロックを更新し、前記第3の論理ディスクの前記第2の論理アドレスに当該再計算されたパリティ書き込まれるように前記パリティブロックを更新する工程と、
    を含む、入出力制御方法。
  7. 1又は2以上の物理領域を含む階層化ディスクプールと、
    前記物理領域を仮想化し、任意の容量で切り出した論理ディスクと、
    を備える、1又は2以上のストレージ装置に接続する、制御装置を制御するコンピュータに実行させるプログラムであって、
    1の仮想アドレスに対して、解放要求を受け付けると、当該第1の仮想アドレスに対応する第1の論理ディスク及び第1の論理アドレスを特定し、前記第1の論理ディスクの前記第1の論理アドレスに対応するデータの実体を、前記データの実体を含む第1の物理領域から、前記第1の物理領域より容量コストが低い第2の物理領域に移動するように、前記ストレージ装置に要求する処理と、
    第1のデータセットが、前記第1の論理ディスクにおいて第2の論理アドレスと前記第1の論理アドレスとを含む第1の論理アドレス範囲に割り当てられた第1のデータブロックと、前記第1の論理ディスクとは異なる第2の論理ディスクにおいて前記第1の論理アドレス範囲に割り当てられた第2のデータブロックと、前記第1の論理ディスク及び前記第2の論理ディスクとは異なる第3の論理ディスクにおいて前記第1の論理アドレス範囲に割り当てられたパリティブロックとを含む場合前記第2の論理ディスクの前記第2の論理アドレスに対応する第2の仮想アドレスに対して、書き込み要求を受け付けると、前記第2のデータブロックと、前記第1のデータセットにおける前記パリティブロックと、を読み込み、パリティを再計算し、前記第2の論理ディスクの前記第2の論理アドレスに、書き込み対象データが書き込まれるように前記第2のデータブロックを更新し、前記第3の論理ディスクの前記第2の論理アドレスに当該再計算されたパリティ書き込まれるように前記パリティブロックを更新する処理と、を前記コンピュータに実行させるプログラム。
JP2014068143A 2014-03-28 2014-03-28 ストレージシステム、制御装置、ストレージ装置、入出力制御方法、及びプログラム Active JP6427913B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014068143A JP6427913B2 (ja) 2014-03-28 2014-03-28 ストレージシステム、制御装置、ストレージ装置、入出力制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014068143A JP6427913B2 (ja) 2014-03-28 2014-03-28 ストレージシステム、制御装置、ストレージ装置、入出力制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2015191443A JP2015191443A (ja) 2015-11-02
JP6427913B2 true JP6427913B2 (ja) 2018-11-28

Family

ID=54425880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014068143A Active JP6427913B2 (ja) 2014-03-28 2014-03-28 ストレージシステム、制御装置、ストレージ装置、入出力制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6427913B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6942163B2 (ja) * 2019-08-06 2021-09-29 株式会社日立製作所 ドライブボックス、ストレージシステム及びデータ転送方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7822921B2 (en) * 2006-10-31 2010-10-26 Netapp, Inc. System and method for optimizing write operations in storage systems
US8239648B2 (en) * 2009-04-13 2012-08-07 Microsoft Corporation Reclamation of thin provisioned disk storage
JP5070315B2 (ja) * 2010-04-28 2012-11-14 株式会社日立製作所 ストレージ装置及びストレージ装置におけるデータ階層管理方法

Also Published As

Publication number Publication date
JP2015191443A (ja) 2015-11-02

Similar Documents

Publication Publication Date Title
US11994984B2 (en) Namespace mapping optimization in non-volatile memory devices
US10176212B1 (en) Top level tier management
US8639899B2 (en) Storage apparatus and control method for redundant data management within tiers
US8447946B2 (en) Storage apparatus and hierarchical data management method for storage apparatus
US9317436B2 (en) Cache node processing
US10037161B2 (en) Tiered storage system, storage controller, and method for deduplication and storage tiering
US8650381B2 (en) Storage system using real data storage area dynamic allocation method
JP6459644B2 (ja) ストレージ制御装置、制御システム及び制御プログラム
US20130138908A1 (en) Storage system and pool capacity scale-down control method
JP2020533694A (ja) クラウド・ベースのランクを使用するデータの動的再配置
JP5080611B2 (ja) ThinProvisioningが適用されたストレージ装置
JP2015520876A (ja) 情報記憶システム及び情報記憶システムの制御方法
US9361033B2 (en) Compound storage system and storage control method
US20150032699A1 (en) Storage controller, non-transitory computer-readable recording medium having stored therein controlling program, and method for controlling
US10579540B2 (en) Raid data migration through stripe swapping
US11175831B2 (en) Read and write load sharing in a storage array via partitioned ownership of data blocks
KR101579941B1 (ko) 가상머신 i/o 관리 방법 및 장치
US20170262220A1 (en) Storage control device, method of controlling data migration and non-transitory computer-readable storage medium
WO2015001620A1 (ja) ストレージシステム、記憶制御方法、及び計算機システム
US8713257B2 (en) Method and system for shared high speed cache in SAS switches
US10365846B2 (en) Storage controller, system and method using management information indicating data writing to logical blocks for deduplication and shortened logical volume deletion processing
US9547450B2 (en) Method and apparatus to change tiers
JP2019003416A (ja) ストレージ制御装置、制御プログラム及び制御方法
JP6427913B2 (ja) ストレージシステム、制御装置、ストレージ装置、入出力制御方法、及びプログラム
US20150324127A1 (en) Storage control apparatus and storage control method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180821

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180913

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181002

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181015

R150 Certificate of patent or registration of utility model

Ref document number: 6427913

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150