JP4937362B2 - ストレージ装置及び同ストレージ装置における記憶領域管理方法 - Google Patents

ストレージ装置及び同ストレージ装置における記憶領域管理方法 Download PDF

Info

Publication number
JP4937362B2
JP4937362B2 JP2010009456A JP2010009456A JP4937362B2 JP 4937362 B2 JP4937362 B2 JP 4937362B2 JP 2010009456 A JP2010009456 A JP 2010009456A JP 2010009456 A JP2010009456 A JP 2010009456A JP 4937362 B2 JP4937362 B2 JP 4937362B2
Authority
JP
Japan
Prior art keywords
area
extent
data pattern
logical
final 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
JP2010009456A
Other languages
English (en)
Other versions
JP2011150433A (ja
Inventor
護 島内
和総 友永
康治 鶴久
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Toshiba Digital Solutions Corp
Original Assignee
Toshiba Corp
Toshiba Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp, Toshiba Solutions Corp filed Critical Toshiba Corp
Priority to JP2010009456A priority Critical patent/JP4937362B2/ja
Publication of JP2011150433A publication Critical patent/JP2011150433A/ja
Application granted granted Critical
Publication of JP4937362B2 publication Critical patent/JP4937362B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、アレイを備えたストレージ装置に係り、特にホスト装置で使われなくなった記憶領域を管理するストレージ装置及び同ストレージ装置における記憶領域管理方法に関する。
ストレージ装置を備えたストレージシステムでは、当該システムの運用で必要とする記憶容量(必要容量)が、当該システムの運用を開始する前に想定していた必要容量よりも増加することがある。このためストレージシステムを構築する場合、当該システムの運用を開始した後になって実際に必要とする記憶容量が増加することを想定して、運用開始時点で必要とする記憶容量よりも大きい記憶容量のストレージ装置を予め用意するのが一般的である。
しかし、上述のように将来の必要容量の増加を前提として過剰容量のストレージ装置を適用する場合、使われない記憶領域が多くなり、管理コストが増大する。そこで、管理コストの低減のために、以下に示すようなエクステント方式が従来から適用されている。このエクステント方式では、ストレージ装置を利用するホスト装置からアクセスされる論理ボリュームが論理エクステントという一定サイズの単位で管理される。同様に、ストレージ装置の物理領域が、物理エクステントという一定サイズの単位で管理される。エクステント方式によれば、論理ボリューム内の論理エクステントに対してライトアクセスが発生した場合に、当該論理エクステントに動的に物理エクステントが割り当てられる。
ストレージ装置では、ホスト装置の例えばファイルシステム上でファイルの削除等が行われることにより、ホスト装置にとって不使用とされる論理ボリューム内の記憶領域、いわゆる不使用領域が発生する。論理エクステント全体が上記不使用領域である場合、当該論理エクステントに割り当てられている物理エクステントを、当該論理エクステントに割り当てられている状態から解放するならば、エクステント方式を適用するストレージ装置の物理領域を効率的に利用することが可能となる。しかし、ファイルシステム上でファイルの削除等によって発生する不使用領域は、ストレージ装置側からは認識できない。このためストレージ装置では、論理エクステント全体が不使用領域であっても、つまり論理エクステントに割り当てられている物理エクステント全体が不使用領域であっても、当該物理エクステントを解放できず、当該ストレージ装置の物理領域の利用効率が悪化する。
そこで、例えば特許文献1は、ホスト装置がファイル等のデータを削除する場合に、データが削除される記憶領域をストレージ装置が識別可能とするための仕組みを開示している。つまり特許文献1に記載のホスト装置は、データが削除される記憶領域に所定のデータパターンをライトすることにより、当該領域がホスト装置で使用されなくなった不使用領域であることを、ストレージ装置に識別させるための機能を備えている。
一方、特許文献1に記載のストレージ装置は、ホスト装置からの物理エクステントが未割り当ての領域へのリード要求に対して所定のデータパターンを応答する機能を備えている。また特許文献1に記載のストレージ装置は、このようなリード要求をホスト装置から受信した場合だけでなく、データ削除時に当該ホスト装置によって所定のデータパターンがライトされた領域へのリード要求を当該ホスト装置から受信した場合にも、ホスト装置に対して所定のデータパターンを応答する機能を備えている。ストレージ装置は更に、物理エクステントに格納されているデータをチェックし、当該物理エクステント全体が所定のデータパターンと一致することを検出した場合、当該物理エクステントを、論理エクステントに割り当てられている状態から解放する機能を備えている。
特開2008−217689号公報
上述したように、特許文献1に記載の先行技術では、ホスト装置がファイル等のデータを削除する場合に、データが削除される記憶領域がホスト装置で使用されなくなった不使用領域であることをストレージ装置に識別させるために、所定のデータパターンをホスト装置自身が当該記憶領域に明示的にライトする機能を備えている必要がある。
本発明は上記事情を考慮してなされたものでその目的は、ホスト装置で使われなくなった記憶領域に当該ホスト装置自身が所定のデータパターンをライトすることなく、当該記憶領域を管理することができるストレージ装置及び同ストレージ装置における記憶領域管理方法を提供することにある。
本発明の1つの観点によれば、アレイが有する物理領域を複数の物理エクステントに分割し、前記ホスト装置からのライト要求で指定された論理ディスク内の論理エクステントに物理エクステントが未割り当ての場合に、前記複数の物理エクステントのうち他の論理エクステントに未割り当ての物理エクステントを、前記指定された論理エクステントに割り当てるストレージ装置が提供される。このストレージ装置は、前記ホスト装置からのコマンドを受信するホストインタフェースと、前記ホストインタフェースで受信されたコマンドによって、物理エクステントが未割り当ての論理エクステント内の領域からのデータリードが要求されている場合、前記ホスト装置に所定のデータパターンを応答するデータパターン生成応答手段と、前記ホストインタフェースで受信されたコマンドが前記ホスト装置で使われなくなった記憶領域の論理ディスク内の範囲を通知するための領域解放コマンドである場合、前記通知された範囲に対応する前記アレイ内の領域に前記所定のデータパターンを書き込むデータパターン書き込み手段とを具備する。
本発明によれば、ストレージ装置のホストインタフェースが、ホスト装置で使われなくなった記憶領域の論理ディスク内の範囲を通知するための領域解放コマンドを当該ホスト装置から受信した場合に、当該通知された範囲に対応するアレイ内の記憶領域に、ストレージ装置のデータパターン書き込み手段によって所定のデータパターンがライトされる構成を適用することにより、ホスト装置がファイル等のデータを削除する場合に、データが削除される記憶領域に当該ホスト装置自身が所定のデータパターンをライトする機能を備えている必要がなくなる。
本発明の一実施形態に係るストレージ装置を備えたストレージシステムの構成を示すブロック図。 論理ディスクとアレイの物理領域との関係を示す図。 エクステント管理テーブルのデータ構造例を示す図。 不使用最終アドレス管理テーブルのデータ構造例を示す図。 ホスト装置からUNMAPコマンドを受信してからホスト装置に対して当該コマンドの受信完了を応答するまでのストレージ装置の処理を説明するためのフローチャート。 データパターンマッチング処理を説明するためのフローチャート。 ホスト装置からライト要求を受信した場合の不使用最終アドレス管理部の処理を説明するためのフローチャート。 UNMAPコマンド受信時の第1の状況下における、論理エクステント上の不使用最終アドレスの遷移と、所定のデータパターンのライトとを説明するための図。 UNMAPコマンド受信時の第2の状況下における、論理エクステント上の不使用最終アドレスの遷移と、所定のデータパターンのライトとを説明するための図。 UNMAPコマンド受信時の第3の状況下における、論理エクステント上の不使用最終アドレスの遷移と、所定のデータパターンのライトとを説明するための図。 UNMAPコマンド受信時の第4の状況下における、論理エクステント上の不使用最終アドレスの遷移と、所定のデータパターンのライトとを説明するための図。 UNMAPコマンド受信時の第5の状況下における、論理エクステント上の不使用最終アドレスの遷移と、所定のデータパターンのライトと、論理エクステントに割り当てられている物理エクステントの解放とを説明するための図。 物理エクステントの解放後のエクステント管理テーブルの状態を示す図。
以下、本発明の実施の形態につき図面を参照して説明する。
図1は本発明の一実施形態に係るストレージ装置を備えたストレージシステムの構成を示すブロック図である。本実施形態において、ストレージシステムは、ストレージ装置1と、当該ストレージ装置1を利用するホスト装置2とから構成される。なお、ストレージシステムが、ストレージ装置1を含む複数のストレージ装置を備えていても良い。また、ストレージシステムが、ホスト装置2を含む複数のホスト装置を備えていても良い。
ホスト装置2は、後述するホストインタフェースIF1を介してストレージ装置1との間のデータ転送を含むデータ通信を行う。つまりホスト装置2は、ストレージ装置1に対してリードアクセスやライトアクセスを行う。
ストレージ装置1は、ストレージコントローラ10とアレイ20とから構成される。アレイ20は、複数の記憶媒体、例えばn個のHDD21-1(#1)〜21-n(#n)から構成される。ここではアレイ20は、HDD21-1〜21-nを組み合わせて、当該HDD21-1〜21-nの記憶領域の一部または全部の集合を物理アドレスが連続した1つの物理領域として定義することによって構成されるものとする。なお、HDD21-1〜21-nを組み合わせて、複数のアレイを構成することも可能である。
図2は、論理ディスク(LDISK)210とアレイ20の物理領域との関係を示す。アレイ20の物理領域は、物理エクステント201(A),202(B)を含む、一定サイズの複数の物理エクステントに分割して管理される。論理ディスク210は、論理エクステント211(A),212(B)を含む、一定サイズの複数の論理エクステントに分割して管理される。一般に論理エクステントと物理エクステントとは同一サイズである。本実施形態では、論理エクステント及び物理エクステントのサイズは600セクタ(ブロック)である。セクタ(ブロック)は、HDD21-1〜21-nの最小アクセス単位である。
論理ディスク210内の論理エクステントには、必要に応じてアレイ20内の物理エクステントが割り当てられる。例えば、ホスト装置2からのライト要求で指定された論理エクステントに物理エクステントが未割り当ての場合、当該指定された論理エクステントに、他の論理エクステントに未割り当ての物理エクステントが割り当てられる。ここで、指定された論理エクステントに物理エクステントが未割り当てであるかは、後述するエクステント管理テーブル120を参照することによって判定することが可能である。
図2の例では、論理ディスク210内の論理エクステント211(A),212(B)に、それぞれ矢印221,222で示されるように、アレイ20内の物理エクステント201(A),202(B)が割り当てられている。図2において、アレイ20内の物理エクステントの開始位置に付されている数値は物理ブロックアドレス(PBA)を示し、論理ディスク210内の論理エクステントの開始位置に付されている数値は論理ブロックアドレス(LBA)を示す。なお、論理ディスク210が1つの論理エクステントから構成されていても構わない。
論理ディスク210には、当該論理ディスク210を識別するための識別情報として、例えば論理ディスク(LDISK)番号0が割り当てられているものとする。一般に、ホスト装置2からは、論理ディスク210は認識されるものの、アレイ20は認識されない。
再び図1を参照すると、ストレージコントローラ10は、ホストインタフェースIF1、ディスクインタフェースIF2、物理エクステント確保部11、エクステント管理テーブル記憶部12、データパターン生成応答部13、データパターン書き込み部14、データパターンマッチング部15、不使用最終アドレス記憶部16、不使用最終アドレス管理部17及び物理エクステント解放部18を備えている。これらのインタフェースIF1,IF2及び各部11〜18は、バス19によって相互に接続されている。
ホストインタフェースIF1は、ホスト装置2からのコマンドを受信する。ホストインタフェースIF1は、ホスト装置2からのコマンドがアクセス要求の場合、ホスト装置2とストレージ装置1との間で、リードアクセスに伴うリードデータ及びライトアクセスに伴うライトデータの転送を行う。ディスクインタフェースIF2は、例えばストレージコントローラ10からの要求に従い、ストレージコントローラ10とアレイ20内のHDD21-iとの間で、リードデータ及びライトデータの転送を行う。
物理エクステント確保部11は、ホスト装置2からアクセスされる、論理ディスク210内の論理エクステントと、当該論理エクステントに割り当てられる、アレイ20内の物理エクステントとの対応関係を管理する。特に物理エクステント確保部11は、ホスト装置2からのライト要求に応じて、当該ライト要求で指定された論理ディスク210内の論理エクステントに割り当てられる物理エクステントを確保し、これらの論理エクステントと物理エクステントとの対応関係を、エクステント管理テーブル記憶部12において管理する。
エクステント管理テーブル記憶部12は、エクステント管理テーブル120を記憶する。エクステント管理テーブル120の各エントリは、論理エクステントと当該論理エクステントに割り当てられる物理エクステントとの対応関係を示すエクステント管理情報を保持する
図3は、エクステント管理テーブル120のデータ構造例を示す。エクステント管理テーブル120の各エントリに保持されるエクステント管理情報は、論理エクステントの管理情報である論理エクステント情報と、当該論理エクステントに割り当てられる物理エクステントの管理情報である物理エクステント情報とから構成される。
論理エクステント情報は、対応する論理エクステントが属する論理ディスクの論理ディスク(LDISK)番号と、当該論理エクステントの論理ディスク(LDISK)内の開始論理ブロックアドレス(LBA)と、当該論理エクステントのサイズ(例えばセクタ数)の各情報から構成される。物理エクステント情報は、対応する物理エクステントのアレイ内の開始物理ブロックアドレス(PBA)と、当該物理エクステントのサイズ(例えばセクタ数)の各情報から構成される。
図3の例では、図2からも明らかなように、論理エクステント211(A)は、当該論理エクステント211(A)が属する論理ディスク210のLDISK番号が0、当該論理エクステント211(A)の論理ディスク210内の開始LBAが0、そして当該論理エクステント211(A)のセクタサイズが600であることを示す論理エクステント情報によって管理される。また、論理エクステント211(A)に割り当てられる物理エクステント201(A)は、当該物理エクステント201(A)のアレイ20内の開始PBAが3000、当該物理エクステント201(A)のセクタサイズが600であることを示す物理エクステント情報によって管理される。
同様に、論理エクステント212(B)は、当該論理エクステント212(B)が属する論理ディスク210のLDISK番号が0、当該論理エクステント212(B)の論理ディスク210内の開始LBAが600、そして当該論理エクステント212(B)のセクタサイズが600であることを示す論理エクステント情報によって管理される。また、論理エクステント212(B)に割り当てられる物理エクステント202(B)は、当該物理エクステント202(B)のアレイ20内の開始PBAが6600、当該物理エクステント202(B)のセクタサイズが600であることを示す物理エクステント情報によって管理される。、
物理エクステント確保部11は、論理エクステントに物理エクステントを新たに割り当てる場合、エクステント管理テーブル120に、論理エクステントと物理エクステントとの対応関係を定義するためのエントリ(行)を追加し、当該エントリに対応するエクステント管理情報を設定する。
データパターン生成応答部13は、例えば全ビットが0であるような、所定のデータパターンを生成する機能を有する。データパターン生成応答部13はまた、ホスト装置2からストレージ装置1に、物理エクステントが未割り当ての論理エクステントに対するリード要求が送信されて、当該リード要求がストレージ装置1内のホストインタフェースIF1で受信された場合、前記所定のデータパターンをリードデータとしてホスト装置2に対してホストインタフェースIF1経由で応答する機能を有する。物理エクステントが未割り当ての論理エクステントかどうかは、エクステント管理テーブル記憶部12に記憶されているエクステント管理テーブル120を参照することによって判定される。
データパターン書き込み部14は、ホスト装置2から不使用領域の解放のために当該不使用領域の範囲を通知する、領域解放コマンドとしての特定のSCSI(Small Computer System Interface)コマンド(以下、UNMAPコマンドと称する)をホストインタフェースIF1が受信した場合に動作する。UNMAPコマンドは、SCSIの通信用コマンドセットに属しており、現在標準化が進められている。
UNMAPコマンドは、ホスト装置2にとって不使用となった論理ディスク内の領域(不使用領域)の範囲を指定する領域情報を含む。この領域情報の指定する範囲を、指定範囲と称する。領域情報は、例えば、指定範囲が属する論理ディスクの論理ディスク番号、当該指定範囲の始端の論理ブロックアドレス(LBA)、及び当該指定範囲のサイズの情報から構成される。指定範囲のサイズは、ブロック(セクタ)数で表される。指定範囲の始端(つまり開始位置)の論理ブロックアドレスを開始アドレスと呼び、指定範囲の終端(つまり終了位置)の論理ブロックアドレスを終了アドレスと呼ぶ。データパターン書き込み部14は、UNMAPコマンドの示す指定範囲に対応するアレイ20内の領域に所定のデータパターンをライトする。
データパターンマッチング部15は、物理エクステント確保部11によって確保された物理エクステント内の所定サイズの領域(以下、ブロック領域と称する)を単位に、当該ブロック領域に格納されているデータと所定のデータパターンとを比較するマッチング処理を行う。本実施形態において、ブロック領域のサイズは、例えば100ブロック(セクタ)であるものとする。マッチング処理の結果、前記ブロック領域に格納されているデータが所定のデータパターンと一致した場合、データパターンマッチング部15は、一致したブロック領域の次のアドレスのブロック領域に対してマッチング処理を行う。データパターンマッチング部15によるマッチング処理は、UNMAPコマンドの受信タイミングに依らず独立して行われるものとする。
不使用最終アドレス記憶部16は、不使用最終アドレス管理テーブル160を記憶する。不使用最終アドレス管理テーブル160は、データパターンマッチング部15によって、所定のデータパターンと一致すると判定されたブロック領域のうち、物理エクステントの始端から連続するブロック領域の終端の位置に対応する論理ディスク内のアドレスを、不使用最終アドレスとして保持する。不使用最終アドレス管理テーブル160は、ホスト装置2によって認識される論理ディスク毎に1つの不使用最終アドレスを保持する。
図4は、不使用最終アドレス管理テーブル160のデータ構造例を示す。図4に示すように、不使用最終アドレス管理テーブル160は、不使用最終アドレスとしてのLBAと当該不使用最終アドレスが属する論理ディスクのLDISK番号との対を保持する。なお、LBAとLDISK番号との対を、不使用最終アドレスと定義することも可能である。以下の説明では、説明の簡略化のために、論理ディスクが論理ディスク210のみであり、不使用最終アドレスが属する論理ディスクのLDISK番号を、不使用最終アドレス管理テーブル160が必ずしも保持する必要がないものとする。不使用最終アドレスは、ストレージ装置1のアレイ20全体において不使用となった物理アドレスが連続する領域を管理するポインタである。
不使用最終アドレス管理部17は、ホストインタフェースIF1でUNMAPコマンドが受信され、且つ当該UNMAPコマンドの示す指定範囲が不使用最終アドレスの位置を終端とする領域を含んでいる場合、データパターンマッチング部15によるマッチング処理を行うことなく、当該指定範囲の終端の論理ブロックアドレス、つまり指定範囲の終了アドレスを、不使用最終アドレスとして不使用最終アドレス管理テーブル160に登録する。また、不使用最終アドレス管理部17は、ホストインタフェースIF1がホスト装置2から不使用最終アドレスの位置または不使用最終アドレスの位置よりも前の位置(つまり不使用最終アドレスよりもアドレスが小さい位置)を終端とする領域(つまり不使用最終アドレスの位置よりも後ろにない領域)へのライトを要求するライト要求を受信した場合、不使用最終アドレス管理テーブル160に保持されている不使用最終アドレスを、当該ライト要求の指定する開始アドレスの直前のアドレスに更新する。
物理エクステント解放部18は、不使用最終アドレス管理テーブル160に保持されている不使用最終アドレスが、物理エクステントの終端または終端よりも後ろのアドレスである場合に、当該物理エクステント全体が不使用領域であると判定し、当該物理エクステントを解放する。
次に、図1の構成のストレージ装置1が、ホスト装置2からUNMAPコマンドを受信してからホスト装置2に対して当該コマンドの受信完了を応答するまでの処理について、図5のフローチャートを参照して説明する。
今、ホスト装置2からストレージ装置1にUNMAPコマンドが送信され、当該UNMAPコマンドが、ストレージ装置1内のホストインタフェースIF1で受信されたものとする(ステップS100)。この場合、不使用最終アドレス管理部17は、UNMAPコマンドの示す指定範囲の開始アドレスの位置が、不使用最終アドレス記憶部16内の不使用最終アドレス管理テーブル160に保持されている不使用最終アドレスの次のアドレスの位置よりも後ろであるかを判定する(ステップS101)。
もし、ステップS101の判定がYesの場合、データパターン書き込み部14が動作して、UNMAPコマンドの示す指定範囲に対応するアレイ20内の領域に所定のデータパターンをライトする(ステップS102)。以下の説明では、簡略化のために、指定範囲に対応するアレイ20内の領域を、単に指定範囲の領域と表現することもある。
データパターン書き込み部14によって、UNMAPコマンドの示す指定範囲の領域に所定のデータパターンがライトされると(ステップS102)、ホストインタフェースIF1は、ホスト装置2に対して当該UNMAPコマンドの受信完了を応答する(ステップS103)。これにより、ストレージ装置1におけるUNMAPコマンドの受信時の処理は終了する。
これに対して、ステップS101の判定がNoの場合、不使用最終アドレス管理部17は、UNMAPコマンドの示す指定範囲の終了アドレスの位置が、不使用最終アドレスの位置よりも後ろであるかを判定する(ステップS104)。もし、ステップS104の判定がNoの場合、ホストインタフェースIF1は、ホスト装置2に対してUNMAPコマンドの受信完了を応答する(ステップS103)。これにより、ストレージ装置1におけるUNMAPコマンドの受信時の処理は終了する。
このように本実施形態では、UNMAPコマンドの示す指定範囲の終了アドレスの位置が、不使用最終アドレスの位置よりも後ろにない場合(ステップS101,S104がいずれもNo)、つまり当該指定範囲の領域全体が所定のデータパターンのライトに関して後述するチェック済みの領域に含まれている場合、当該指定範囲の領域への所定のデータパターンのライトが省略される。これにより、ストレージ装置1の負荷を軽減することができる。
これに対して、ステップS104の判定がYesの場合、データパターン書き込み部14が動作して、不使用最終アドレスの次のアドレスからUNMAPコマンドの示す指定範囲の終了アドレスまでの領域に所定のデータパターンをライトする(ステップS105)。ここでは、UNMAPコマンドの示す指定範囲の開始アドレスの位置が不使用最終アドレスの位置よりも後ろにないならば、当該指定範囲の開始アドレスから不使用最終アドレスまでの領域への所定のデータパターンのライトが省略される。
このように本実施形態では、UNMAPコマンドの示す指定範囲内に不使用最終アドレスの位置よりも後ろにない第3の領域が含まれている場合、当該第3の領域に対応するアレイ20内の第4の領域への所定のデータパターンのライトが省略される。これにより、ストレージ装置1の負荷を軽減することができる。
さてステップS104の判定がYesの場合、不使用最終アドレス管理部17は、不使用最終アドレス記憶部16内の不使用最終アドレス管理テーブル160に保持されている不使用最終アドレスを、UNMAPコマンドの示す指定範囲の終了アドレスに更新する(ステップS106)。このステップS106の処理の結果、更新前の不使用最終アドレスの位置から更新後の不使用最終アドレスの位置までに対応するアレイ20内の領域が、所定のデータパターンのライトに関してチェック済みとして扱われ、当該領域を対象とする、データパターンマッチング部15によるデータパターンマッチング処理が省略される。
次に不使用最終アドレス管理部17は、UNMAPコマンドの示す指定範囲の終了アドレスの位置が、直近のステップS106で更新される前の不使用最終アドレスに該当する論理エクステントの終端のアドレスの位置より前であるかを判定する(ステップS107)。このステップS107の判定は、不使用最終アドレス管理部17が、不使用最終アドレス記憶部16内の不使用最終アドレス管理テーブル160及びエクステント管理テーブル記憶部12内のエクステント管理テーブル120を参照することによって行われる。
以降の説明では、論理エクステント(または物理エクステント)の終端のアドレスを、論理エクステント(または物理エクステント)の最終アドレスと称する。また、論理エクステント(または物理エクステント)の始端のアドレスを、論理エクステント(または物理エクステント)の先頭アドレスと称する。同様に、例えば後述するチェック領域のような領域の始端のアドレス及び終端のアドレスを、それぞれ、領域の先頭アドレス及び最終アドレスと称する。
ステップS107の判定がNoの場合、物理エクステント解放部18が動作して、直近のステップS106で更新される前の不使用最終アドレスに対応する物理エクステントから更新後の不使用最終アドレスに対応する物理エクステントの直前までを解放する(ステップS108)。このステップS108は、物理エクステント解放部18が、エクステント管理テーブル記憶部12内のエクステント管理テーブル120から、解放されるべき物理エクステントに対応する論理エクステントを定義するエントリを削除することによって実現される。
このように本実施形態では、UNMAPコマンドの示す指定範囲の終了アドレスの位置が、直近のステップS106で更新される前の不使用最終アドレスに該当する論理エクステントの終端のアドレスの位置より前になく(ステップS107がNo)、したがって、当該不使用最終アドレスの位置から論理エクステントの終端までの領域(第5の領域)が当該指定範囲に含まれている場合、当該第5の領域に対応するアレイ20内の領域(第6の領域)に格納されたデータと所定のデータパターンとの一致を検出するためのマッチング処理が省略され、且つ当該第6の領域が属する物理エクステントが解放(つまり、第6の領域が属する物理エクステントの第5の領域が属する論理エクステントへの割り当てが解除)される。このマッチング処理の省略に伴う物理エクステントの解放により、物理エクステント解放処理を簡素化できる。
ステップS108が実行されると、ホストインタフェースIF1は、ホスト装置2に対してUNMAPコマンドの受信完了を応答する(ステップS103)。これにより、ストレージ装置1におけるUNMAPコマンドの受信時の処理は終了する。
これに対し、ステップS107の判定がYesの場合、ホストインタフェースIF1は、ホスト装置2に対してUNMAPコマンドの受信完了を応答する(ステップS103)。これにより、ストレージ装置1におけるUNMAPコマンドの受信時の処理は終了する。
次に、ストレージ装置1内のデータパターンマッチング部15を中心とするデータパターンマッチング処理について、図6のフローチャートを参照して説明する。本実施形態において、データパターンマッチング処理は一定周期で繰り返し実行されるものとする。
まずデータパターンマッチング部15は、不使用最終アドレス記憶部16内の不使用最終アドレス管理テーブル160に保持されている不使用最終アドレスの次のアドレスが示すブロック領域(より詳細には、不使用最終アドレスの次のアドレスが示す論理ディスク内のブロック領域である第1の領域に対応するアレイ20内の第2の領域)を、所定のデータパターンとのマッチングに用いられるチェック領域として決定する(ステップS201)。次にデータパターンマッチング部15は、決定されたチェック領域に格納されているデータと所定のデータパターンとのマッチングをとるための比較処理を行い、マッチングがとれているか、つまりチェック領域に格納されているデータと所定のデータパターンとが一致しているかを判定する(ステップS202)。もし、不一致であった場合(ステップS202がNo)は、データパターンマッチング部15はデータパターンマッチング処理を終了する。
これに対し、一致していた場合(ステップS202がYes)、データパターンマッチング部15は、チェック領域に所定のデータパターンが書き込まれていることを確認する。すると不使用最終アドレス管理部17が動作して、一致が検出されたチェック領域をチェック済み領域として、不使用最終アドレス管理テーブル160に保持されている不使用最終アドレスを、当該チェック済み領域の最終アドレスに更新する(ステップS203)。次に不使用最終アドレス管理部17は、更新後の不使用最終アドレスが、当該不使用最終アドレスに対応する論理エクステントの最終アドレスと一致するかを判定する(ステップS204)。このステップS204の判定は、不使用最終アドレス管理部17が、不使用最終アドレス管理テーブル160及びエクステント管理テーブル120を参照することによって行われる。
もし、ステップS204の判定がYesの場合、物理エクステント解放部18が動作して、不使用最終アドレス管理テーブル160及びエクステント管理テーブル120を参照することによって不使用最終アドレスに対応する論理エクステントに割り当てられている物理エクステントを特定し、当該特定した物理エクステントを解放する(ステップS205)。このステップS205は、物理エクステント解放部18が、エクステント管理テーブル120から、解放されるべき物理エクステントに対応する論理エクステントのためのエントリを削除することによって実現される。物理エクステント解放部18によって物理エクステントが解放されると(ステップS205)、データパターンマッチング部15は、チェック領域のアドレスを次のアドレスに更新することにより、チェック領域を切り替えて(ステップS206)、ステップS202に戻る。
一方、ステップS204の判定がNoの場合、直ちにデータパターンマッチング部15によってチェック領域が切り替えられる(ステップS206)。そしてデータパターンマッチング部15はステップS202に戻る。
次に、ストレージ装置1が、ホスト装置2からライト要求を受信した場合の、不使用最終アドレス管理部17の処理について、図7のフローチャートを参照して説明する。
今、ホスト装置2からストレージ装置1にライト要求が送信され、当該ライト要求が、ストレージ装置1内のホストインタフェースIF1で受信されたものとする。このライト要求は、データが書き込まれるべき論理ディスク内の領域(以下、書き込み領域と称する)を指定する。この書き込み領域の指定のために、ライト要求は、書き込み領域が属する論理ディスクの論理ディスク番号、当該書き込み領域の始端の論理ブロックアドレス(つまり書き込み領域の開始アドレス)、及び当該書き込み領域のサイズの情報から構成される。
不使用最終アドレス管理部17は、ホストインタフェースIF1によってライト要求が受信された場合、当該ライト要求の指定する書き込み領域の終端の論理ブロックアドレスの位置、つまり書き込み領域の終了アドレスの位置が、不使用最終アドレス管理テーブル160に保持されている不使用最終アドレスの位置よりも後ろであるかを判定する(ステップS301)。もし、ステップS301の判定がYesの場合、不使用最終アドレス管理部17はライト要求受信時の処理を終了する。
これに対して、ステップS301の判定がNoの場合、不使用最終アドレス管理部17は、不使用最終アドレス管理テーブル160に保持されている不使用最終アドレスを、ライト要求の指定する書き込み領域の開始アドレスの直前のアドレスに更新する(ステップS302)。不使用最終アドレス管理部17は、ステップS302を実行すると、ライト要求受信時の処理を終了する。
次に、ホスト装置2からストレージ装置1に送られたUNMAPコマンドが、ホストインタフェースIF1で受信された場合の、それぞれ第1乃至第5の状況の下での、論理エクステント上の不使用最終アドレスpの遷移及び所定のデータパターンのライト、更には論理エクステントに割り当てられている物理エクステントの解放の具体例について、図8乃至図12を参照して説明する。
まず、第1の状況の下での具体例について図8を参照して説明する。第1の状況の特徴は、以下に述べるように、UNMAPコマンドの指定範囲が不使用最終アドレスpの次のアドレスの位置よりも前の領域に含まれている点にある。
図8において、論理エクステント211(A)の先頭LBAは0であり、最終LBAは599(600−1=599)である。図8の例では、論理エクステント211(A)は、6つのブロック領域に区分されている。各ブロック領域は、100ブロック(セクタ)から構成される。論理エクステント211(A)の例えば先頭のブロック領域の先頭LBAは0であり、最終LBAは99(100−1=99)である。論理エクステント211(A)の例えば5番目のブロック領域の先頭LBAは400であり、最終LBAは499(500−1=499)である。論理エクステント211(A)の次の論理エクステント212(B)の例えば先頭のブロック領域の先頭LBAは600であり、最終LBAは699(700−1=699)である。上述の論理エクステント211(A),212(B)は、図9乃至図12の例でも同様である。
第1の状況では、図8(a)に示すように、論理エクステント211(A)の先頭から連続する5つのブロック領域に所定のデータパターンがライトされている。論理エクステント211(A)の5番目のブロック領域の最終LBA(=499)は、不使用最終アドレスpに一致する。つまり第1の状況では、不使用最終アドレスpは、論理エクステント211(A)の5番目のブロック領域を指し示す。このときの不使用最終アドレス管理テーブル160の状態を図8(b)に示す。
また第1の状況では、UNMAPコマンドの指定範囲は、図8(a)に示すように、開始LBA=200から200セクタのサイズ、つまり論理エクステント211(A)の3番目及び4番目のブロック領域である。つまり第1の状況は、UNMAPコマンドの指定範囲の開始LBAの位置が不使用最終アドレスpの次のアドレスの位置よりも後ろになくステップS101がNo)、且つ当該指定範囲の終了LBAの位置が不使用最終アドレスpの位置よりも後ろにない場合(ステップS104がNo)である。
このような第1の状況では、図8(a)に示されるように、不使用最終アドレスpの位置のブロック領域を最終のブロック領域とする連続するブロック領域には既に所定のデータパターンがライトされている。そのため、ステップS101,S104がいずれもNoとなる第1の状況では、図8(c)に示すように、UNMAPコマンドの指定範囲(より詳細には、指定範囲に対応するアレイ20内の領域)への所定のデータパターンのライトと、不使用最終アドレスpの更新処理を省略することができる。つまり第1の状況下では、図5のフローチャートにおける処理が、開始→S100→S101→S104→S103→終了の手順で実行される。
第1の状況下で実行される図5のフローチャートにおける処理の終了時の不使用最終アドレス管理テーブル160の状態を図8(d)に示す。図8(c),(d)と図8(a),(b)との対比から明らかなように、不使用最終アドレスpは第1の状況下では、図5のフローチャートにおける処理で更新されない。
次に、第2の状況の下での具体例について図9を参照して説明する。第2の状況の特徴は、以下に述べるように、UNMAPコマンドの指定範囲内に、所定のデータパターンがライトされている領域(データパターンチェック済みの領域)と所定のデータパターンがライトされていない領域とが含まれている点にある。
第2の状況では、図9(a)に示すように、論理エクステント211(A)の先頭から連続する3つのブロック領域に所定のデータパターンがライトされている。論理エクステント211(A)の3番目のブロック領域の最終LBA(=299)は、不使用最終アドレスpに一致する。つまり第2の状況では、不使用最終アドレスpは、論理エクステント211(A)の3番目のブロック領域を指し示す。このときの不使用最終アドレス管理テーブル160の状態を図9(b)に示す。
また第2の状況では、UNMAPコマンドの指定範囲は、図9(a)に示すように、開始LBA=100から400セクタのサイズ、つまり論理エクステント211(A)の2番目乃至5番目のブロック領域である。つまり第2の状況は、UNMAPコマンドの指定範囲の開始LBAの位置が不使用最終アドレスpの次のアドレスの位置よりも後ろになく、且つ当該指定範囲の終了LBAの位置が不使用最終アドレスpの位置よりも後ろにある場合(ステップS101がNo、ステップS104がYes)である。
しかも第2の状況では、UNMAPコマンドの指定範囲内の一部領域に、既に所定のデータパターンがライトされている。ここでは、図9(a)から明らかなように、UNMAPコマンドの指定範囲のうち、論理エクステント211(A)の2番目及び3番目のブロック領域に所定のデータパターンがライトされている。
そのため第2の状況では、図9(c)に示すように、UNMAPコマンドの指定範囲のうち、不使用最終アドレスpの次のアドレス(LBA=300)から当該指定範囲の終了LBA(=499)までの領域、つまり論理エクステント211(A)の4番目及び5番目のブロック領域のみに所定のデータパターンがライトされる(ステップS105)。また、不使用最終アドレスpが、図9(a),(b)に示すLBA=299から、図9(c),(d)に示すように、LBA=499に更新される(ステップS106)。つまり第2の状況下では、図5のフローチャートにおける処理が、開始→S100→S101→S104→S105→S106→S107→S103→終了の手順で実行される。
次に、第3の状況の下での具体例について図10を参照して説明する。第3の状況の特徴は、以下に述べるように、UNMAPコマンドの指定範囲が不使用最終アドレスpの次のアドレスの位置よりも後ろの領域、つまり不使用最終アドレスpに対して連続しない領域を示している点にある。
第3の状況では、図10(a)に示すように、論理エクステント211(A)の先頭から連続する3つのブロック領域に所定のデータパターンがライトされている。論理エクステント211(A)の3番目のブロック領域の最終LBA(=299)は、不使用最終アドレスpに一致する。これらの状態は、第2の状況と同様である。このときの不使用最終アドレス管理テーブル160の状態を図10(b)に示す。
第3の状況が第2の状況と相違するのは、UNMAPコマンドの指定範囲が図10(a)に示すように、開始LBA=400から200セクタのサイズ、つまり論理エクステント211(A)の5番目及び6番目のブロック領域であり、所定のデータパターンがライトされている領域から外れている点にある。この第3の状況では、上記指定範囲の開始LBAの位置が、不使用最終アドレスpの次のアドレスの位置よりも後ろにある(ステップS101がYes)。
このような第3の状況では、図10(c)に示すように、UNMAPコマンドの指定範囲の領域である、論理エクステント211(A)の5番目及び6番目のブロック領域に、所定のデータパターンがライトされる(ステップS102)。つまり第3の状況下では、図5のフローチャートにおける処理が、開始→S100→S101→S102→S103→終了の手順で実行される。
第3の状況下で実行される図5のフローチャートにおける処理の終了時の不使用最終アドレス管理テーブル160の状態を図10(d)に示す。図10(c),(d)と図10(a),(b)との対比から明らかなように、不使用最終アドレスpは、第3の状況下では図5のフローチャートにおける処理で更新されない。
次に、第4の状況の下での具体例について図11を参照して説明する。第4の状況の特徴は、以下に述べるように、UNMAPコマンドが、不使用最終アドレスpの位置と当該不使用最終アドレスpに対して連続しない所定のデータパターンがライトされている領域とで挟まれた領域を埋めるように、当該挟まれた領域を不使用領域として指定している点にある。
第4の状況では、図11(a)に示すように、論理エクステント211(A)の先頭から連続する3つのブロック領域に所定のデータパターンがライトされている。論理エクステント211(A)の3番目のブロック領域の最終LBA(=299)は、不使用最終アドレスpに一致する。また、不使用最終アドレスpと連続しない、論理エクステント211(A)の5番目及び6番目のブロック領域にも所定のデータパターンがライトされている。このときの不使用最終アドレス管理テーブル160の状態を図11(b)に示す。
また第4の状況では、UNMAPコマンドの指定範囲は、図11(a)に示すように、開始LBA=300から100セクタのサイズであり、論理エクステント211(A)の4番目のブロック領域である。この4番目のブロック領域には、所定のデータパターンはライトされていない。つまり第4の状況では、UNMAPコマンドは、所定のデータパターンがライトされていない4番目のブロック領域を埋めるように、当該4番目のブロック領域を不使用領域として指定する。このため第4の状況では、UNMAPコマンドの指定範囲の開始LBAの位置が不使用最終アドレスpの次のアドレスの位置よりも後ろになく、且つ当該指定範囲の終了LBAの位置が不使用最終アドレスpの位置よりも後ろにある(ステップS101がNo、ステップS104がYes)。
このような第4の状況では、図11(c)に示すように、不使用最終アドレスpの次のアドレス(LBA=300)からUNMAPコマンドの指定範囲の終了LBA(=399)までの領域、つまり論理エクステント211(A)の4番目のブロック領域に所定のデータパターンがライトされる(ステップS105)。ここでは、不使用最終アドレスpの次のアドレス(LBA=300)は、UNMAPコマンドの指定範囲の開始LBAに一致する。また、不使用最終アドレスpが、図10(a),(b)に示すLBA=299から、LBA=399に更新される(ステップS106)。つまり第4の状況下では、図5のフローチャートにおける処理が、開始→S100→S101→S104→S105→S106→S107→S103→終了の手順で実行される。
さて本実施形態では、図5のフローチャートに従う処理とは独立して、図6のフローチャートに従う処理が行われる。データパターンマッチング部15は、図6のフローチャートに従う処理において、不使用最終アドレスpの指し示すブロック領域に後続する領域に対して、ブロック領域をチェック領域として、ブロック領域単位でマッチング処理を行う(ステップS201,S202)。不使用最終アドレス管理部17は、ブロック領域に格納されているデータが所定のデータパターンに一致することがデータパターンマッチング部15によって検出される間、不使用最終アドレスpを当該ブロック領域の最終アドレスに更新する(ステップS203)。図11の例では、不使用最終アドレスpは同図(c)に示すように、LBA=299からLBA=399に更新された後に、図6のフローチャートに従うデータパターンマッチング処理で、まずLBA=399からLBA=499に更新され、しかる後にLBA=499からLBA=599に更新される。図11(d)は、このときの不使用最終アドレス管理テーブル160の状態を示す。
さて、不使用最終アドレスpが図11(c),(d)に示すようにLBA=599に更新されると、図6のフローチャートに従うデータパターンマッチング処理で、不使用最終アドレスpが、当該不使用最終アドレスpに対応する論理エクステントの最終アドレスと一致することが判定される(ステップS204がYes)。つまり、不使用最終アドレスpの示す論理エクステント211(A)がホスト装置2によって使用されていないことが判定される。すると、物理エクステント解放部18は、論理エクステント211(A)に対応する物理エクステントを解放する(ステップS205)。
このように、不使用最終アドレスpが図11(a),(b)に示すLBA=299から図11(c),(d)に示すLBA=599に更新された場合、図5のフローチャートにおける処理が、開始→S201→S202→S203→S204→S205→終了の手順で実行されて、論理エクステント211(A)に対応する物理エクステント201(A)が解放される。この解放のために、エクステント管理テーブル120から、論理エクステント211(A)と物理エクステント201(A)との対応関係を定義したエントリが削除される。このときのエクステント管理テーブル120の状態を、図13に示す。
次に、第5の状況の下での具体例について図12を参照して説明する。第5の状況の特徴は、UNMAPコマンドの指定範囲が、不使用最終アドレスpの次のアドレスの位置から論理エクステント終端までの領域を含む点にある。
第5の状況では、図12(a)に示すように、論理エクステント211(A)の先頭から連続する3つのブロック領域に所定のデータパターンがライトされている。論理エクステント211(A)の3番目のブロック領域の最終LBA(=299)は、不使用最終アドレスpに一致する。これらの状態は、第2の状況と同様である。このときの不使用最終アドレス管理テーブル160の状態を図12(b)に示す。
第5の状況が第2の状況と相違するのは、UNMAPコマンドの指定範囲が図12(a)に示すように、開始LBA=300から400セクタのサイズであり、論理エクステント211(A)の4番目乃至6番目のブロック領域及び論理エクステント212(B)の1番目のブロック領域である点にある。つまり、UNMAPコマンドの指定範囲は、不使用最終アドレスpの次のアドレス(LBA=300)の位置から始まる領域であって、論理エクステント211(A)と論理エクステント212(B)との境界をまたぐ領域を示している。
このような第5の状況では、図12(c)に示すように、不使用最終アドレスpの次のアドレスからUNMAPコマンドの示す指定範囲の終了アドレスまでの領域(ここでは指定範囲の領域)である、論理エクステント211(A)の4番目乃至6番目のブロック領域及び論理エクステント212(B)の1番目のブロック領域に、所定のデータパターンがライトされる(ステップS105)。また不使用最終アドレスpが、図12(c),(d)に示すように、LBA=299から、論理エクステント212(B)の1番目のブロック領域の最終アドレスであるLBA=699に更新される(ステップS106)。
不使用最終アドレスpがLBA=299からLBA=699に更新されると(ステップS106)。UNMAPコマンドの示す指定範囲の終了アドレス(LBA=699)の位置が、更新前の不使用最終アドレスp(LBA=299)に対応する論理エクステント211(A)の終端のアドレス(LBA=599)の位置より前であるかが判定される(ステップS107)。ここでは、ステップS107の判定はNoとなる。
この場合、物理エクステント解放部18は、更新前の不使用最終アドレスp(LBA=299)に対応する物理エクステントから更新後の不使用最終アドレスp(LBA=699)に対応する物理エクステントの直前まで、つまり論理エクステント211(A)に対応する物理エクステントを解放する(ステップS108)。この解放のために、エクステント管理テーブル120から、論理エクステント211(A)と物理エクステント201(A)との対応関係を定義したエントリが削除される。図13は、このときのエクステント管理テーブル120の状態をも示す。
上述したように本実施形態によれば、ディスク容量をエクステント単位で管理(割り当て、解放)するボリューム管理方法を適用するストレージ装置1において、ホスト装置2からのUNMAPコマンドによって不使用であると通知された領域(指定範囲)に、当該領域が不使用であることを識別するための所定のデータパターンが、当該ストレージ装置1内のデータパターン書き込み部14によってライトされる。これにより、ホスト装置で使われなくなった不使用領域を識別するためのデータパターンをホスト装置自身が当該不使用領域に書き込む機能を有していなくても、当該不使用領域を管理することができる。
また本実施形態によれば、所定のデータパターンが書き込まれていることが確認されたチェック済み領域の終端に対応する論理アドレスを不使用最終アドレスとして不使用最終アドレス記憶部16に記憶する一方、不使用最終アドレスの次のアドレスから始まる論理ディスク210内の第1の領域に対応するアレイ20内の第2の領域に格納されたデータと上記所定のデータパターンとの一致をデータパターンマッチング部15が検出することにより、上記第2の領域に上記所定のデータパターンが書き込まれていることが確認される。また本実施形態によれば、データパターンマッチング部15による一致検出に応じて不使用最終アドレスが更新されるだけでなく、データパターン書き込み部14による所定のデータパターンの書き込みに応じても、所定のデータパターンが書き込まれた領域をチェック済み領域として不使用最終アドレスが更新される。これにより、UNMAPコマンドによって通知される範囲の不使用領域毎の管理情報をストレージ装置1内で別途保持・管理する必要がなく、たとえストレージ装置1内の管理サイズが、UNMAPコマンドによって通知される範囲におけるそれよりも大きい場合でも、ストレージ装置1内での管理(不使用最終アドレスの管理)に必要な記憶容量を最小限に抑えることができる。
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
1…ストレージ装置、2…ホスト装置、10…ストレージコントローラ、11…物理エクステント確保部、12…エクステント管理テーブル記憶部、13…データパターン生成応答部、14…データパターン書き込み部、15…データパターンマッチング部、16…不使用最終アドレス記憶部、17…不使用最終アドレス管理部、18…物理エクステント解放部、IF1…ホストインタフェース、IF2…ディスクインタフェース、20…アレイ、21-1〜21-n…HDD、120…エクステント管理テーブル、160…不使用最終アドレス管理テーブル。

Claims (6)

  1. アレイが有する物理領域を複数の物理エクステントに分割し、前記ホスト装置からのライト要求で指定された論理ディスク内の論理エクステントに物理エクステントが未割り当ての場合に、前記複数の物理エクステントのうち他の論理エクステントに未割り当ての物理エクステントを、前記指定された論理エクステントに割り当てるストレージ装置において、
    前記ホスト装置からのコマンドを受信するホストインタフェースと、
    前記ホストインタフェースで受信されたコマンドによって、物理エクステントが未割り当ての論理エクステント内の領域からのデータリードが要求されている場合、前記ホスト装置に所定のデータパターンを応答するデータパターン生成応答手段と、
    前記ホストインタフェースで受信されたコマンドが前記ホスト装置で使われなくなった記憶領域の、前記論理エクステントよりも小さい所定サイズの領域を単位とする、論理ディスク内の範囲を通知するための領域解放コマンドである場合、前記使われなくなった記憶領域を管理するために、前記通知された範囲に対応する前記アレイ内の領域に前記所定のデータパターンを書き込むデータパターン書き込み手段と
    を具備することを特徴とするストレージ装置。
  2. 前記所定のデータパターンが書き込まれていることが確認されたチェック済み領域の終端に対応する論理アドレスを不使用最終アドレスとして記憶する不使用最終アドレス記憶手段と、
    前記不使用最終アドレスの次のアドレスから始まる前記論理ディスク内の第1の領域に対応する前記アレイ内の第2の領域に格納されたデータと前記所定のデータパターンとの一致を検出することにより、前記第2の領域に前記所定のデータパターンが書き込まれていることを確認するデータパターンマッチング手段と、
    前記データパターンマッチング手段による一致検出に応じて前記不使用最終アドレスを更新し、且つ前記データパターン書き込み手段による前記所定のデータパターンの書き込みに応じ、前記所定のデータパターンが書き込まれた領域を前記チェック済み領域として前記不使用最終アドレスを更新する不使用最終アドレス管理手段と
    を更に具備することを特徴とする請求項1記載のストレージ装置。
  3. 前記データパターンマッチング手段による一致検出に応じて更新された前記不使用最終アドレスが論理エクステントの最終アドレスに一致する場合、当該物理エクステントの論理エクステントへの割り当てを解除する物理エクステント解放手段を更に具備することを特徴とする請求項2記載のストレージ装置。
  4. 前記データパターン書き込み手段は、前記通知された範囲の記憶領域の少なくとも一部である第3の領域が、前記不使用最終アドレスの位置よりも後ろにない場合、当該第3の領域に対応する前記アレイ内の第4の領域への前記所定のデータパターンの書き込みを省略することを特徴とする請求項2または3に記載のストレージ装置。
  5. 前記データパターンマッチング手段は、前記通知された範囲の記憶領域に、前記不使用最終アドレスの次のアドレスの位置から論理エクステントの終端までの第5の領域が含まれている場合、当該第5の領域に対応する前記アレイ内の第6の領域に格納されたデータと所定のデータパターンとの一致の検出を省略し、
    前記物理エクステント解放手段は、前記通知された範囲の記憶領域に前記第5の領域が含まれている場合、前記第6の領域が属する物理エクステントの論理エクステントへの割り当てを解除する
    ことを特徴とする請求項3記載のストレージ装置。
  6. アレイが有する物理領域を複数の物理エクステントに分割し、前記ホスト装置からのライト要求で指定された論理ディスク内の論理エクステントに物理エクステントが未割り当ての場合に、前記複数の物理エクステントのうち他の論理エクステントに未割り当ての物理エクステントを、前記指定された論理エクステントに割り当てるストレージ装置における記憶領域管理方法であって、
    前記ストレージ装置が有するホストインタフェースが、前記ホスト装置からのコマンドを受信するステップと、
    前記ホストインタフェースで受信されたコマンドによって、物理エクステントが未割り当ての論理エクステント内の領域からのデータリードが要求されている場合、前記ストレージ装置が有するデータパターン生成応答手段が前記ホスト装置に所定のデータパターンを応答するステップと、
    前記ホストインタフェースで受信されたコマンドが前記ホスト装置で使われなくなった記憶領域の、前記論理エクステントよりも小さい所定サイズの領域を単位とする、論理ディスク内の範囲を通知するための領域解放コマンドである場合、前記使われなくなった記憶領域を管理するために、前記通知された範囲に対応する前記アレイ内の領域に、前記ストレージ装置が有するデータパターン書き込み手段が前記所定のデータパターンを書き込むステップと
    を具備することを特徴とする記憶領域管理方法。
JP2010009456A 2010-01-19 2010-01-19 ストレージ装置及び同ストレージ装置における記憶領域管理方法 Active JP4937362B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010009456A JP4937362B2 (ja) 2010-01-19 2010-01-19 ストレージ装置及び同ストレージ装置における記憶領域管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010009456A JP4937362B2 (ja) 2010-01-19 2010-01-19 ストレージ装置及び同ストレージ装置における記憶領域管理方法

Publications (2)

Publication Number Publication Date
JP2011150433A JP2011150433A (ja) 2011-08-04
JP4937362B2 true JP4937362B2 (ja) 2012-05-23

Family

ID=44537366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010009456A Active JP4937362B2 (ja) 2010-01-19 2010-01-19 ストレージ装置及び同ストレージ装置における記憶領域管理方法

Country Status (1)

Country Link
JP (1) JP4937362B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014123183A (ja) * 2012-12-20 2014-07-03 Fujitsu Ltd ストレージ装置、領域解放プログラム、および領域解放方法
US9514041B2 (en) 2013-03-08 2016-12-06 Kabushiki Kaisha Toshiba Memory controller and memory system
JP6160173B2 (ja) * 2013-03-28 2017-07-12 富士通株式会社 ストレージ装置、割当解放制御方法及び割当解放制御プログラム
US10353626B2 (en) 2016-02-03 2019-07-16 Samsung Electronics Co., Ltd. Buffer memory management method and write method using the same

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4435588B2 (ja) * 2004-01-30 2010-03-17 株式会社日立製作所 ストレージシステム
JP2007249728A (ja) * 2006-03-17 2007-09-27 Toshiba Corp ディスクアレイ装置
JP2008146574A (ja) * 2006-12-13 2008-06-26 Hitachi Ltd 記憶制御装置及び記憶制御方法
JP4331220B2 (ja) * 2007-03-07 2009-09-16 株式会社東芝 未使用物理領域自律管理機能を持つストレージ装置

Also Published As

Publication number Publication date
JP2011150433A (ja) 2011-08-04

Similar Documents

Publication Publication Date Title
US10073640B1 (en) Large scale implementation of a plurality of open channel solid state drives
US8832371B2 (en) Storage system with multiple flash memory packages and data control method therefor
US8521949B2 (en) Data deleting method and apparatus
US7979663B2 (en) Storage apparatus having unused physical area autonomous management function
RU2661280C2 (ru) Контроллер массива, твердотельный диск и способ для управления твердотельным диском для записи данных
US10503424B2 (en) Storage system
JP6459644B2 (ja) ストレージ制御装置、制御システム及び制御プログラム
KR20100011698A (ko) 데이터 머지를 수행하는 반도체 스토리지 시스템 및 그제어 방법
JP4464378B2 (ja) 同一データを纏める事で格納領域を節約する計算機システム、ストレージシステム及びそれらの制御方法
JP6526235B2 (ja) データチェック方法および記憶システム
JP5734415B2 (ja) ポートマルチプライヤのためのマルチレベルポート拡張
US20180113633A1 (en) Method and system for efficient cache buffering in a system having parity arms to enable hardware acceleration
JP6142860B2 (ja) ディスクアレイ装置、ディスク制御装置、ソリッドステートドライブ、ディスク制御方法、及びそのためのプログラム
CN108089822A (zh) 存储芯片的管理方法、系统、设备及存储介质
KR101579941B1 (ko) 가상머신 i/o 관리 방법 및 장치
TW201216057A (en) Block management method, memory controller and memory storage apparatus
JP4937362B2 (ja) ストレージ装置及び同ストレージ装置における記憶領域管理方法
TW201225109A (en) Memory storage device, memory controller thereof, and method for programming data thereof
US10282116B2 (en) Method and system for hardware accelerated cache flush
US10162573B2 (en) Storage management system, storage management method, storage medium and information processing system
JP4734432B2 (ja) データ記憶システム
JP4997858B2 (ja) データ記録装置およびデータ記録プログラム
CN107562639B (zh) 擦除块读请求处理方法与装置
CN107562654B (zh) Io命令处理方法与装置
US8140800B2 (en) Storage apparatus

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120106

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120221

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

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4937362

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350