JP2013073409A - Disk array device - Google Patents

Disk array device Download PDF

Info

Publication number
JP2013073409A
JP2013073409A JP2011211668A JP2011211668A JP2013073409A JP 2013073409 A JP2013073409 A JP 2013073409A JP 2011211668 A JP2011211668 A JP 2011211668A JP 2011211668 A JP2011211668 A JP 2011211668A JP 2013073409 A JP2013073409 A JP 2013073409A
Authority
JP
Japan
Prior art keywords
logical
write
extent
physical
range
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.)
Pending
Application number
JP2011211668A
Other languages
Japanese (ja)
Inventor
Masaki Kobayashi
正樹 小林
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 JP2011211668A priority Critical patent/JP2013073409A/en
Publication of JP2013073409A publication Critical patent/JP2013073409A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To provide a disk array device for efficiently using a storage capacity by releasing a physical extent that is releasable when a release request is received from a host device.SOLUTION: The disk array device constitutes a logical disk by combining physical extent whose storage areas are divided into many areas and is provided with: a storage part for storing a prescribed number of ranges of write request and ranges of a release request with respect to logical extent from an external device; and a management part for determining whether or not the physical extent corresponding to the logical extent that is an object of the release request is releasable on the basis of the range of the write request and range of the release request stored in the storage part when the write requests and release requests from the external device exceed the prescribed number, and the release request is received from the external device.

Description

本発明の実施形態は、ディスクアレイ装置に関する   Embodiments described herein relate generally to a disk array device.

従来、ハードディスクドライブ(HDD)のような記憶装置を複数備え、アレイを構成
しているディスクアレイ装置において、ホスト装置がアクセスを行う論理ボリュームと、
その論理ボリュームを構成する1つ以上の記憶媒体から構成されるアレイとの対応関係は
固定的であって、システムによっては、実際に論理ボリュームとして使用されていない領
域の割合が高くなり、無駄が大きい。
Conventionally, in a disk array device comprising a plurality of storage devices such as hard disk drives (HDD) and constituting an array, a logical volume accessed by the host device,
Correspondence with an array made up of one or more storage media that make up the logical volume is fixed, and depending on the system, the percentage of the area that is not actually used as a logical volume is increased, which is wasteful. large.

そのような問題に対し、アレイの物理領域をエクステントという一定サイズに区切って
管理し、論理ボリュームへのライトアクセスの際に、エクステントを仮想的に割り当てる
ことで、物理容量を削減するシンプロビジョニング(Thin Provisionin
g)という技術がある。
For such problems, thin provisioning (Thin) reduces the physical capacity by managing the physical area of the array by dividing it into a certain size called an extent, and assigning extents virtually during write access to the logical volume. Provisionin
g).

シンプロビジョニングでは、物理エクステントの割り当てはホスト装置からの書き込み
を契機に行う。また、不要となった物理エクステントの開放は、ホスト装置からの開放コ
マンドで行う。開放コマンドは、例えばSCSIコマンドのWRITE SAME 16や
UNMAPコマンドである。
In thin provisioning, physical extents are allocated upon writing from the host device. The physical extent that is no longer required is released by a release command from the host device. The release command is, for example, a SCSI command WRITE SAME 16 or an UNMAP command.

物理エクステント開放の理想的な方法は、UNMAPコマンドによって示される論理ボ
リュームの記憶領域に対して割り当てられた物理エクステントが1セクタの精度で開放さ
れる方法である。しかしながら、このような方法は、物理エクステントと論理エクステン
トが1セクタの単位で対応付けられているか、ライトされた範囲を全て1セクタ単位で管
理しているかのいずれかを方法を実装しなければならず、膨大な管理情報の記憶領域が必
要であるという問題がある。
An ideal method for releasing the physical extent is a method in which the physical extent allocated to the storage area of the logical volume indicated by the UNMAP command is released with an accuracy of one sector. However, such a method must implement either a physical extent and a logical extent that are associated with each other in units of one sector or whether all written ranges are managed in units of one sector. However, there is a problem that a large storage area for management information is required.

このような問題に対して、特許文献1に示されるように、UNMAPコマンドにより指
定された記憶領域に0データをライトし、周期処理により物理エクステント内がALL0
であるかチェックを行い、ALL0の物理エクステントを見付けた場合にこの物理領域を
開放する技術がある。しかしながら、この方法では、物理エクステントの一箇所のみにラ
イトデータが存在し、UNMAP要求を受信した際にそのUNMAP範囲が当該ライトデ
ータの範囲であってもすぐに開放して再利用できるわけではない。このように上述の方法
では効率が悪い場合がある。
To deal with such a problem, as shown in Patent Document 1, 0 data is written to the storage area specified by the UNMAP command, and the physical extent is moved to ALL0 by periodic processing.
There is a technique for releasing the physical area when the physical extent of ALL0 is found. However, with this method, write data exists only in one physical extent, and when an UNMAP request is received, even if the UNMAP range is the range of the write data, it cannot be immediately released and reused. . Thus, the above-described method may be inefficient.

特開2008−217689号公報JP 2008-217689 A

本発明の実施形態が解決しようとする課題は、ホスト装置からの開放要求受信時に物理
エクステントを開放できるようにすることで、記憶装置の記憶容量を効率的に使用するこ
とを可能とするディスクアレイ装置を提供することである。
A problem to be solved by an embodiment of the present invention is to make it possible to efficiently use the storage capacity of a storage device by enabling a physical extent to be released when a release request is received from a host device. Is to provide a device.

実施形態のディスクアレイ装置は、記憶領域を複数に分割した物理エクステントを組み
合わせることによって、論理ディスクを構成するディスクアレイ装置であって、外部装置
から論理エクステントに対する書き込み要求の範囲及び開放要求の範囲を所定数格納する
記憶部と、外部装置からの書き込み要求と開放要求とが所定数を超えた場合に、外部装置
から開放要求を受信したとき、記憶部に格納された書き込み要求の範囲及び開放要求の範
囲に基づいて、開放要求の対象の論理エクステントに対応する物理エクステントが開放可
能であるか否かを判定する管理部と、を備える。
The disk array device of the embodiment is a disk array device that constitutes a logical disk by combining physical extents obtained by dividing a storage area into a plurality of storage areas. The range of write requests and the range of release requests from an external device to a logical extent The range of write requests stored in the storage unit and the release request when the release request is received from the external device when a predetermined number of storage units and the write request and release request from the external device exceed the predetermined number And a management unit that determines whether or not a physical extent corresponding to a logical extent that is a target of a release request can be released based on the range.

第1の実施形態に係るディスクアレイ装置の全体構成を示す図。1 is a diagram showing an overall configuration of a disk array device according to a first embodiment. 第1の実施形態に係るディスクアレイ装置の機能構成を示す図。1 is a diagram showing a functional configuration of a disk array device according to a first embodiment. 第1の実施形態に係る論理ディスクの概念を示す図。1 is a diagram showing a concept of a logical disk according to a first embodiment. 第1の実施形態に係る論理エクステント管理データ構造の一例を示す図。FIG. 5 is a diagram showing an example of a logical extent management data structure according to the first embodiment. 第1の実施形態に係る物理エクステント管理データ構造の一例を示す図。The figure which shows an example of the physical extent management data structure which concerns on 1st Embodiment. 第1の実施形態に係る書き込み/消去範囲管理データ構造の一例を示す図。FIG. 5 is a diagram showing an example of a write / erase range management data structure according to the first embodiment. 第1の実施形態に係るディスクアレイ装置の動作の一例を示すフローチャート。6 is a flowchart showing an example of the operation of the disk array device according to the first embodiment. 第1の実施形態に係るディスクアレイ装置の動作の一例を示すフローチャート。6 is a flowchart showing an example of the operation of the disk array device according to the first embodiment. 第1の実施形態に係るディスクアレイ装置のゼロライト処理の概念を示す図。FIG. 3 is a diagram showing a concept of zero write processing of the disk array device according to the first embodiment. 第2の実施形態2に係る物理エクステント管理データ構造の一例を示す図The figure which shows an example of the physical extent management data structure which concerns on 2nd Embodiment. 第2の実施形態2に係る書き込み/消去範囲リストの一例を示す図。FIG. 10 is a diagram showing an example of a write / erase range list according to the second embodiment. 第2の実施形態2に係るフリーリストの一例を示す図The figure which shows an example of the free list which concerns on 2nd Embodiment 2. 第2の実施形態に係るディスクアレイ装置の動作の一例を示すフローチャート。9 is a flowchart showing an example of the operation of the disk array device according to the second embodiment. 第2の実施形態に係るディスクアレイ装置の動作の一例を示すフローチャート。9 is a flowchart showing an example of the operation of the disk array device according to the second embodiment.

本発明の実施形態について図面を参照して説明する。なお、同一の構成には同一の符号
を付与する。
Embodiments of the present invention will be described with reference to the drawings. In addition, the same code | symbol is provided to the same structure.

(第1の実施形態)
図1は、本実施形態のディスクアレイ装置100の全体構成を示すブロック図である。
図1に示すように、ディスクアレイ装置100は、記録装置20と当該記録装置20を制
御する制御部10とを備える。制御部10は、データ通信路30を介して接続されるホス
ト装置と記録装置20との間に介在して設けられる。
(First embodiment)
FIG. 1 is a block diagram showing the overall configuration of the disk array device 100 of the present embodiment.
As shown in FIG. 1, the disk array device 100 includes a recording device 20 and a control unit 10 that controls the recording device 20. The control unit 10 is provided between the host device connected via the data communication path 30 and the recording device 20.

記録装置20は、複数のHDD(Hard Disk Drive)21、22で構成さ
れるRAID(Redundant Arrays of Inexpensive Dis
ks)1とRAID2とを含んで構成される。なお、HDD21、22は、SSD(So
lid State Drive)でもよい。また、本実施形態では、RAID1に含まれ
るn個のHDDをHDD21(#1)〜(#n)と示す。同様にRAID2に含まれるn
個のHDDをHDD22(#1)〜(#n)と示す。
The recording device 20 includes a plurality of HDDs (Hard Disk Drives) 21 and 22 and a RAID (Redundant Arrays of Inexpensive Disc).
ks) 1 and RAID2. The HDDs 21 and 22 are SSD (So
lid State Drive). In the present embodiment, n HDDs included in RAID 1 are denoted as HDDs 21 (# 1) to (#n). Similarly, n included in RAID2
The HDDs are denoted as HDDs 22 (# 1) to (#n).

ここではRAID1とRAID2とに含まれるHDDの個数が同一だが、異なる個数で
も良い。また、記録装置20に含まれるRAIDは2つでなくても良い。また、記録装置
20は、RAIDを構成せず、HDD21(#1)〜HDD21(#n)及びHDD22
(#1)〜(#n)の各記憶領域を連続した1つのRAIDとして構成してもよい。
Here, the number of HDDs included in RAID 1 and RAID 2 is the same, but they may be different. Further, the number of RAIDs included in the recording device 20 may not be two. Further, the recording device 20 does not constitute a RAID, and the HDD 21 (# 1) to the HDD 21 (#n) and the HDD 22 are not included.
The storage areas (# 1) to (#n) may be configured as one continuous RAID.

制御部10は、ホストインタフェース部(HOST I/F)11、CPU12、プロ
グラムメモリ13、キャッシュメモリ14、及びHDDインタフェース部(HDD I/
F)15を有している。
The control unit 10 includes a host interface unit (HOST I / F) 11, a CPU 12, a program memory 13, a cache memory 14, and an HDD interface unit (HDD I / F).
F) 15 is included.

HOST I/F部11は、外部接続されるホスト装置との間の通信を制御する。すな
わち、HOST I/F部11はデータ通信路30側との通信を制御する。また、HDD
I/F部15は記録装置20側の通信を制御する。
The HOST I / F unit 11 controls communication with an externally connected host device. That is, the HOST I / F unit 11 controls communication with the data communication path 30 side. HDD
The I / F unit 15 controls communication on the recording device 20 side.

CPU12は、プログラムメモリ13に格納されている各種プログラムを実行すること
により、制御部10における機能を実現する。なお、プログラムメモリ13には、上述の
プログラムを格納するための領域に加えて、CPU12が利用するデータ等を格納するた
めの領域も確保されている。
The CPU 12 implements functions in the control unit 10 by executing various programs stored in the program memory 13. The program memory 13 has an area for storing data used by the CPU 12 in addition to the area for storing the above-described program.

キャッシュメモリ14は、データ通信路30を介して接続されるホスト装置または他の
データ記憶装置からディスクアレイ装置100内の記録装置20に対して発行される書き
込み/読み出し要求において、書き込みまたは読み出しされるデータを一時的に格納する
The cache memory 14 is written or read in a write / read request issued from the host device or other data storage device connected via the data communication path 30 to the recording device 20 in the disk array device 100. Store data temporarily.

なお、ディスクアレイ装置100において、外部の装置、例えばホスト装置からの入力
要求に対する書き込み処理は次のように行われる。まず、入力要求(以下書き込み要求と
いう)で指定された入力データ(以下、書き込みデータという)がキャッシュメモリ14
にエントリされた時点で、要求元のホスト装置に対して書き込み処理完了が通知される。
その後に、キャッシュメモリ14から記録装置20に対する実際のデータ書き込みが実行
される。
In the disk array device 100, a write process in response to an input request from an external device such as a host device is performed as follows. First, input data (hereinafter referred to as write data) designated by an input request (hereinafter referred to as write request) is transferred to the cache memory 14.
When the entry is entered, the completion of the writing process is notified to the requesting host apparatus.
Thereafter, actual data writing from the cache memory 14 to the recording device 20 is executed.

また、ホスト装置からの読み出し要求に対する読み出し処理は次のように行われる。ま
ず、該当するデータがキャッシュメモリ14にエントリされているか否かが判定され、エ
ントリされていれば、そのデータがキャッシュメモリ14からデータ通信路30を介して
ホスト装置に返される。これに対し、該当するデータがキャッシュメモリ14にエントリ
されていないならば、そのデータが記録装置20からキャッシュメモリ14に読み出され
る。そして、読み出されたデータが要求元のホスト装置に対してデータ通信路30を介し
て送信される。
In addition, a read process in response to a read request from the host device is performed as follows. First, it is determined whether or not the corresponding data is entered in the cache memory 14, and if it is entered, the data is returned from the cache memory 14 to the host device via the data communication path 30. On the other hand, if the corresponding data is not entered in the cache memory 14, the data is read from the recording device 20 to the cache memory 14. Then, the read data is transmitted via the data communication path 30 to the requesting host device.

図2に、本実施形態のディスクアレイ装置100の機能ブロック図を示す。図2に示し
た機能は、例えば制御部10のプログラムメモリ13に格納されるプログラムをCPU1
2が読み取って実行することによって実現される。
FIG. 2 shows a functional block diagram of the disk array device 100 of the present embodiment. The function shown in FIG.
2 is realized by reading and executing.

図2に示すように、制御部10は、HOST I/F制御部111、キャッシュメモリ
管理部112、構成管理部113、論理/物理アドレス管理部114、RAID制御部1
15、及びHDD I/F制御部116を備え、記録装置20によって実現される論理デ
ィスク200と接続される。すなわち、論理ディスク200はHDD21(#1)〜(#
n)及びHDD22(#1)〜(#n)によって構成される。
As shown in FIG. 2, the control unit 10 includes a HOST I / F control unit 111, a cache memory management unit 112, a configuration management unit 113, a logical / physical address management unit 114, and a RAID control unit 1.
15 and an HDD I / F control unit 116, and is connected to a logical disk 200 realized by the recording device 20. That is, the logical disk 200 includes HDDs 21 (# 1) to (#
n) and HDDs 22 (# 1) to (#n).

なお、本実施形態では論理ディスク200は1つだが、複数の論理ディスク200を構
成してもよい。
In the present embodiment, the number of logical disks 200 is one, but a plurality of logical disks 200 may be configured.

HOST I/F制御部111は、ディスクアレイ装置100とホスト装置との間のイ
ンタフェース処理を担当する。キャッシュメモリ管理部112は、ホスト装置からキャッ
シュメモリに対するアクセスを管理する。
The HOST I / F control unit 111 is in charge of interface processing between the disk array device 100 and the host device. The cache memory management unit 112 manages access to the cache memory from the host device.

構成管理部113は、論理ディスクとRAIDの構成のマッピングを管理する。例えば
、どのHDDの組み合わせでRAIDが構成されているか、どの論理ディスクにどのRA
IDが所属しているかなどを管理する。また、構成管理部113は、物理アドレスと論理
アドレスを変換するマッピング情報を管理している。マッピング情報は例えばHDD21
(1)にマッピング情報テーブル(図示しない)としてあらかじめ格納され、構成管理部
113よって更新される。
The configuration management unit 113 manages mapping between logical disks and RAID configurations. For example, which combination of HDDs configures a RAID, which RAID on which logical disk
It manages whether the ID belongs. The configuration management unit 113 manages mapping information for converting physical addresses and logical addresses. The mapping information is, for example, HDD 21
(1) is stored in advance as a mapping information table (not shown) and updated by the configuration management unit 113.

論理/物理アドレス管理部114は、論理/物理エクステント管理データ記憶部120
と接続されている。論理/物理アドレス管理部114は、構成管理部113の管理してい
るマッピング情報に基づいて、論理ディスク200におけるアドレス(以下、論理アドレ
スという)とRAID1及び2におけるアドレス(以下、物理アドレスという)の変換を
行う。
The logical / physical address management unit 114 is a logical / physical extent management data storage unit 120.
Connected with. Based on the mapping information managed by the configuration management unit 113, the logical / physical address management unit 114 determines the addresses in the logical disk 200 (hereinafter referred to as logical addresses) and the addresses in RAID 1 and 2 (hereinafter referred to as physical addresses). Perform conversion.

なお、RAIDのマッピング単位、すなわち、物理的なマッピング単位を物理エクステ
ントと呼ぶ。また、論理ディスクのマッピング単位、すなわち論理的なマッピング単位を
論理エクステントと呼ぶ。
A RAID mapping unit, that is, a physical mapping unit is referred to as a physical extent. A mapping unit of a logical disk, that is, a logical mapping unit is called a logical extent.

すなわち、論理/物理アドレス管理部114は、ホスト装置からアクセスされる論理デ
ィスク200と、HDD21(#1)〜(#n)によって構成されるRAID1及びHD
D22(#1)〜(#n)によって構成されるRAID2との対応関係をエクステント単
位で管理する論理/物理エクステント管理データを作成し、論理/物理エクステント管理
データ記憶部120に記憶する。
In other words, the logical / physical address management unit 114 includes the RAID 1 and the HD configured by the logical disk 200 accessed from the host device and the HDDs 21 (# 1) to (#n).
Logical / physical extent management data for managing the correspondence relationship with RAID 2 configured by D22 (# 1) to (#n) in units of extents is created and stored in the logical / physical extent management data storage unit 120.

HDD I/F制御部116は、論理ディスク200に対するホスト装置からのアクセ
スを制御する。
The HDD I / F control unit 116 controls access from the host device to the logical disk 200.

ここで、図3を参照して、論理ディスク200の概念について説明する。図3に示すよ
うに、本実施形態に係る論理ディスク200は、HDD21(#1)〜(#n)の記憶領
域を連続した1つの記憶領域として定義するRAID1、もしくは、HDD22(#1)
〜(#n)の記憶領域を連続した1つの記憶領域として定義するRAID2の記憶領域を
一定サイズに分割した物理エクステント201と同一のサイズに分割された論理エクステ
ント211によって構成される。
Here, the concept of the logical disk 200 will be described with reference to FIG. As shown in FIG. 3, the logical disk 200 according to the present embodiment has RAID 1 or HDD 22 (# 1) that defines the storage areas of HDDs 21 (# 1) to (#n) as one continuous storage area.
A storage area of RAID 2 that defines the storage areas of (#n) as one continuous storage area is configured by logical extents 211 that are divided into the same size as the physical extent 201 that is divided into a fixed size.

物理エクステント201は、ホスト装置からの書き込み要求を論理ディスク200が受
信した際に、論理/物理エクステント管理部114によって確保される。書き込み要求に
含まれる論理エクステント211と確保された物理エクステント201は対応付けられて
論理/物理エクステント管理記憶部120に記憶される。
The physical extent 201 is secured by the logical / physical extent management unit 114 when the logical disk 200 receives a write request from the host device. The logical extent 211 included in the write request and the reserved physical extent 201 are associated with each other and stored in the logical / physical extent management storage unit 120.

図3に示すように、本実施形態では、RAID1はm個の物理エクステント201(0
)〜物理エクステント201(m−1)を含む。RAID2はk個の物理エクステント2
01(0)〜物理エクステント201(k−1)を含む。論理ディスク200は、h個の
論理エクステント211(0)〜(h−1)を含む。
As shown in FIG. 3, in this embodiment, RAID1 has m physical extents 201 (0
) To physical extent 201 (m−1). RAID2 is k physical extents 2
01 (0) to physical extent 201 (k-1). The logical disk 200 includes h logical extents 211 (0) to (h-1).

論理/物理エクステント管理部114はRAID1の物理エクステント201(0)〜
(m−1)及びRAID2の物理エクステント201(0)〜(k−1)と論理エクステ
ント211(0)〜(h−1)との対応関係を管理する。
The logical / physical extent management unit 114 uses RAID 1 physical extents 201 (0) to
The correspondence relationship between the physical extents 201 (0) to (k-1) of (m-1) and RAID2 and the logical extents 211 (0) to (h-1) is managed.

すなわち、論理/物理エクステント管理部114は、当該対応関係を管理するための管
理データ(論理エクステント管理データ130及び物理エクステント管理データ140)
を作成し、論理/物理エクステント管理データ記憶部120に格納する。
In other words, the logical / physical extent management unit 114 manages the correspondence (logical extent management data 130 and physical extent management data 140).
Is created and stored in the logical / physical extent management data storage unit 120.

図4と図5を参照して、論理/物理エクステント管理データ記憶部120に格納された
論理エクステント管理データ130の構造と、物理エクステント管理データ140の構造
について説明する。
The structure of the logical extent management data 130 stored in the logical / physical extent management data storage unit 120 and the structure of the physical extent management data 140 will be described with reference to FIGS.

図4に示すように、論理エクステント管理データ130は、論理ディスク番号131と
、論理エクステント番号132と、物理エクステントポインタ133とから構成されてい
る。論理エクステント番号132は論理エクステントの番号が格納される。物理エクステ
ントポインタ133は後述する物理エクステント管理データ140のアドレスが格納され
る。
As shown in FIG. 4, the logical extent management data 130 includes a logical disk number 131, a logical extent number 132, and a physical extent pointer 133. The logical extent number 132 stores the logical extent number. The physical extent pointer 133 stores the address of physical extent management data 140 described later.

図3に示した論理ディスク200に含まれる論理エクステント211(0)は、RAI
D1に含まれる物理エクステント201(1)に対応する。本実施形態では論理ディスク
は1つなので、論理ディスク番号131は「1」が格納される。論理エクステント番号1
32は「0」、物理エクステントポインタ133は「1,1」が格納される。なお、物理
エクステントポインタ133の左はRAID番号が格納され、右には物理エクステント番
号が格納される。もしくは、物理エクステントポインタ133はRAID1の物理エクス
テント201(1)を示すアドレスが格納されても良い。
The logical extent 211 (0) included in the logical disk 200 shown in FIG.
This corresponds to the physical extent 201 (1) included in D1. In this embodiment, since there is one logical disk, “1” is stored as the logical disk number 131. Logical extent number 1
32 stores “0”, and the physical extent pointer 133 stores “1, 1”. A RAID number is stored on the left of the physical extent pointer 133, and a physical extent number is stored on the right. Alternatively, the physical extent pointer 133 may store an address indicating the RAID1 physical extent 201 (1).

また、図3に示した論理ディスク200に含まれる論理エクステント211(h−3)
は、RAID1の物理エクステント201(m−1)と対応する。この場合、論理ディス
ク番号131は「1」、論理エクステント番号132は「h−3」、物理エクステントポ
インタ133は「1,(m−1)」が格納される。
Further, the logical extent 211 (h-3) included in the logical disk 200 shown in FIG.
Corresponds to the physical extent 201 (m−1) of RAID1. In this case, the logical disk number 131 is “1”, the logical extent number 132 is “h-3”, and the physical extent pointer 133 is “1, (m−1)”.

また、図3に示した論理ディスク200に含まれる論理エクステント211(h−1)
は、RAID2の物理エクステント201(k−3)と対応する。この場合、論理ディス
ク番号131は「2」、論理エクステント番号132は「h−1」、物理エクステントポ
インタ133は「2,(k−3)」が格納される。
Also, the logical extent 211 (h-1) included in the logical disk 200 shown in FIG.
Corresponds to the physical extent 201 (k-3) of RAID2. In this case, the logical disk number 131 is “2”, the logical extent number 132 is “h−1”, and the physical extent pointer 133 is “2, (k−3)”.

すなわち、物理エクステント201が論理エクステント211に割り当てられている場
合は、物理エクステントポインタ133に後述する物理エクステント管理データ140を
指すメモリアドレスが保持されている。物理エクステント201が論理エクステント21
1に割り当てられていない場合は、物理エクステントポインタ133には「NULL」が
保持されている。
That is, when the physical extent 201 is allocated to the logical extent 211, a memory address indicating physical extent management data 140 (to be described later) is held in the physical extent pointer 133. Physical extent 201 is logical extent 21
If it is not assigned to 1, the physical extent pointer 133 holds “NULL”.

論理/物理アドレス管理部114は、論理エクステント管理データ130の物理エクス
テントポインタ133に基づいて特定の論理エクステント211に対応する物理エクステ
ント管理データ140を取得する。
The logical / physical address management unit 114 acquires physical extent management data 140 corresponding to a specific logical extent 211 based on the physical extent pointer 133 of the logical extent management data 130.

なお、論理ディスクに何も物理エクステントが割り当てられていない場合は、論理エク
ステント管理データ130に含まれる物理リストポインタ133は全て「NULL」であ
る。ホスト装置からの書き込み要求を受信すると、構成管理部113は、論理エクステン
ト211に物理エクステント201の割り当てを行う。
When no physical extent is allocated to the logical disk, all physical list pointers 133 included in the logical extent management data 130 are “NULL”. When receiving a write request from the host device, the configuration management unit 113 allocates the physical extent 201 to the logical extent 211.

続いて、図5を参照して物理エクステント管理データ140について説明する。図5に
示したように、物理エクステント管理データ140は、RAID番号141、物理エクス
テント番号142、論理エクステントポインタ143、物理エクステント管理フラグ14
4、及び書き込み/消去範囲管理データ145によって構成されている。
Next, the physical extent management data 140 will be described with reference to FIG. As shown in FIG. 5, the physical extent management data 140 includes a RAID number 141, a physical extent number 142, a logical extent pointer 143, and a physical extent management flag 14.
4 and write / erase range management data 145.

RAID番号141は、記録装置20を構成する各RAIDの番号を示す。物理エクス
テント番号142は各RAIDに含まれる物理エクステントの番号を示す。論理エクステ
ントポインタ144は、物理エクステント番号142が示す物理エクステントに割り当て
られている論理エクステントを示す。
The RAID number 141 indicates the number of each RAID constituting the recording device 20. The physical extent number 142 indicates the number of the physical extent included in each RAID. The logical extent pointer 144 indicates a logical extent allocated to the physical extent indicated by the physical extent number 142.

RAID番号141及び物理エクステント番号142に基づいて一意に特定される物理
エクステント201が、論理エクステントポインタ143に格納された論理エクステント
211に対応することを示す。論理エクステント211に物理エクステント201が割り
当てられていない場合、論理エクステントポインタ143は「NULL」である。
The physical extent 201 uniquely specified based on the RAID number 141 and the physical extent number 142 corresponds to the logical extent 211 stored in the logical extent pointer 143. When the physical extent 201 is not allocated to the logical extent 211, the logical extent pointer 143 is “NULL”.

すなわち、論理/物理アドレス管理部114は、物理エクステント管理データ140の
論理エクステントポインタ143に基づいて特定の物理エクステント201に対応する論
理エクステント211を取得する。
That is, the logical / physical address management unit 114 acquires the logical extent 211 corresponding to the specific physical extent 201 based on the logical extent pointer 143 of the physical extent management data 140.

物理エクステント管理フラグ144は、後述する書き込み/消去範囲管理データ145
に含まれる書き込み/消去範囲配列146に格納すべきデータ数が、書き込み/消去範囲
管理データ145に含まれる書き込み/消去範囲配列146の個数を超えたかどうかを示
すフラグである。
The physical extent management flag 144 is write / erase range management data 145 described later.
Is a flag indicating whether or not the number of data to be stored in the write / erase range array 146 included in the number exceeds the number of write / erase range arrays 146 included in the write / erase range management data 145.

書き込み/消去範囲管理データ145は、s個の配列データである書き込み/消去範囲
配列146[0]〜[s−1]によって構成されている。sは任意の自然数であり、あら
かじめ設定されている。
The write / erase range management data 145 is composed of write / erase range arrays 146 [0] to [s-1] which are s pieces of array data. s is an arbitrary natural number and is set in advance.

書き込み/消去範囲管理データ145は、ホスト装置からの書き込み要求の範囲もしく
は開放要求の範囲が、それぞれの要求毎に書き込み/消去範囲配列146[0]〜[s−
1]のいずれか1つの配列に格納される。
The write / erase range management data 145 includes a write request range or a release request range from the host device, and the write / erase range array 146 [0] to [s-
1].

本実施形態では、物理エクステント管理フラグ144が「1」の場合、書き込み/消去
範囲管理データ145に含まれる書き込み/消去範囲配列146がすべて使用中である(
データが格納されている)とする。物理エクステント管理フラグ144が「0」の場合、
書き込み/消去範囲管理データ145に使用中でない書き込み/消去範囲配列146が存
在するとする。
In this embodiment, when the physical extent management flag 144 is “1”, all the write / erase range arrays 146 included in the write / erase range management data 145 are in use (
Data is stored). When the physical extent management flag 144 is “0”,
It is assumed that a write / erase range array 146 that is not in use exists in the write / erase range management data 145.

すなわち、論理/物理アドレス管理部114は、書き込み/消去範囲管理データ145
を用いてホスト装置からの書き込み要求の範囲もしくは開放要求の範囲を管理する。具体
的には、論理/物理アドレス管理部114は、ホスト装置から書き込み要求もしくは開放
要求を受信すると、書き込み/消去範囲管理データ145に含まれる書き込み/消去範囲
配列146[0]〜[s−1]のうち、未使用の配列に受信した書き込み要求もしくは開
放要求の範囲を格納する。
That is, the logical / physical address management unit 114 writes the write / erase range management data 145.
Is used to manage the range of write requests or release requests from the host device. Specifically, when the logical / physical address management unit 114 receives a write request or release request from the host device, the write / erase range array 146 [0] to [s−1] included in the write / erase range management data 145. ], The received write request or release request range is stored in an unused array.

図6を参照して書き込み/消去範囲管理データ145を構成する書き込み/消去範囲配
列146[0]〜[s−1]のデータ構造について説明する。
The data structure of the write / erase range array 146 [0] to [s-1] constituting the write / erase range management data 145 will be described with reference to FIG.

図6に示すように、書き込み/消去範囲管理データ145を構成する書き込み/消去範
囲配列146には、書き込み/消去フラグ147、オフセット148、サイズ149が格
納される。
As shown in FIG. 6, the write / erase range array 146 constituting the write / erase range management data 145 stores a write / erase flag 147, an offset 148, and a size 149.

書き込み/消去フラグ147は、この書き込み/消去フラグ147が含まれる書き込み
/消去範囲配列146に格納されるホスト装置からの要求が書き込み要求であるか、開放
要求であるかを示す。例えば書き込み要求の場合、書き込み/消去範囲フラグ146には
「0」が格納される。開放要求の場合、書き込み/消去範囲フラグ146には「1」が格
納される。
The write / erase flag 147 indicates whether the request from the host device stored in the write / erase range array 146 including the write / erase flag 147 is a write request or an open request. For example, in the case of a write request, “0” is stored in the write / erase range flag 146. In the case of the release request, “1” is stored in the write / erase range flag 146.

オフセット148は、このオフセット148が含まれる書き込み/消去範囲配列146
を有する物理エクステント管理データ140の物理エクステント番号142によって特定
される物理エクステント201の先頭アドレスから、当該物理エクステント201におけ
る、このオフセット148が含まれる書き込み/消去範囲配列146に格納された書き込
み要求の範囲もしくは開放要求の範囲の先頭アドレスまでの距離を示す。すなわち、オフ
セット148はホスト装置からの書き込みもしくは消去されるデータの当該物理エクステ
ント201における開始位置のアドレスを示す。
The offset 148 is a write / erase range array 146 including the offset 148.
Range of the write request stored in the write / erase range array 146 including the offset 148 in the physical extent 201 from the start address of the physical extent 201 specified by the physical extent number 142 of the physical extent management data 140 having Alternatively, it indicates the distance to the start address of the release request range. That is, the offset 148 indicates the address of the start position in the physical extent 201 of data to be written or erased from the host device.

サイズ149は、ホスト装置から書き込みもしくは消去されるデータのサイズを示す。
例えばディスクアレイ装置100がホスト装置から書き込み要求を受信した場合、オフセ
ット148には物理エクステント番号142で示される物理エクステント201において
、書き込みを開始する位置のアドレスが格納され、サイズ149には、書き込まれるデー
タのサイズが格納される。
The size 149 indicates the size of data written or erased from the host device.
For example, when the disk array device 100 receives a write request from the host device, the offset 148 stores the address of the write start position in the physical extent 201 indicated by the physical extent number 142, and the size 149 is written. Stores the size of the data.

また、ディスクアレイ装置100がホスト装置から開放要求を受信した場合、オフセッ
ト148には消去処理を開始する位置が格納され、サイズ149には、消去されるデータ
のサイズが格納される。
When the disk array device 100 receives a release request from the host device, the offset 148 stores the position where the erasing process starts, and the size 149 stores the size of the data to be deleted.

図7を参照して、ホスト装置から書き込み要求を受信した場合の本実施形態のディスク
アレイ装置100の処理の動作について説明する。
With reference to FIG. 7, the processing operation of the disk array device 100 of the present embodiment when a write request is received from the host device will be described.

ディスクアレイ装置100のHOST I/F制御部111がホスト装置から書き込み
要求を受信すると、論理/物理アドレス管理部114は、論理/物理エクステント管理デ
ータ記憶部120から、この書き込み要求の範囲にあたる論理エクステント211の論理
エクステント管理データ130を抽出する(ステップS10)。検索は、例えはハッシュ
やツリー等に基づいて行われる。
When the HOST I / F control unit 111 of the disk array device 100 receives a write request from the host device, the logical / physical address management unit 114 receives a logical extent corresponding to the range of the write request from the logical / physical extent management data storage unit 120. The logical extent management data 130 of 211 is extracted (step S10). The search is performed based on, for example, a hash or a tree.

続いて、論理/物理アドレス管理部114は、ステップS10で抽出された論理エクス
テント管理データ130に対応する物理エクステント管理データ140に含まれる物理エ
クステントポインタ133がNULLかどうかを確認する(ステップS11)。なお、物
理エクステントポインタ133がNULLであるということは書き込み要求の対象の論理
エクステント211に物理エクステント201が未割り当てであるということである。
Subsequently, the logical / physical address management unit 114 checks whether or not the physical extent pointer 133 included in the physical extent management data 140 corresponding to the logical extent management data 130 extracted in step S10 is NULL (step S11). Note that the physical extent pointer 133 being NULL means that the physical extent 201 has not been allocated to the logical extent 211 that is the target of the write request.

物理リストポインタ133がNULLでない場合(ステップS11がYes)、すなわ
ち、既にホスト装置からの書き込み対象の論理エクステント211に物理エクステント2
01が割り当て済みである場合は、論理/物理アドレス管理部114は、物理エクステン
ト管理フラグ144をチェックする(ステップS12)。
When the physical list pointer 133 is not NULL (Yes in step S11), that is, the physical extent 2 is already added to the logical extent 211 to be written from the host device.
If 01 is already assigned, the logical / physical address management unit 114 checks the physical extent management flag 144 (step S12).

物理エクステント管理フラグ144が「1」であれば(ステップS12がNo)、制御
部10は、ホスト装置からの書き込み要求の範囲に基づいて記録装置20に書き込み処理
をして(ステップS15)終了する。
If the physical extent management flag 144 is “1” (No in Step S12), the control unit 10 performs a write process on the recording device 20 based on the range of the write request from the host device (Step S15) and ends. .

物理エクステント管理フラグ144が「0」である場合(ステップS12がYes)、
論理/物理アドレス管理部114は、論理/物理アドレス管理部114は、割り当てられ
た物理エクステント201の管理データ140に未使用の書き込み/消去範囲配列146
があるかを確認する(ステップS13)。
When the physical extent management flag 144 is “0” (step S12 is Yes),
The logical / physical address management unit 114 determines that the logical / physical address management unit 114 uses an unused write / erase range array 146 for the management data 140 of the allocated physical extent 201.
It is confirmed whether there is any (step S13).

書き込み/消去範囲配列146が全て使用中である場合(ステップS13がNo)、論
理/物理アドレス管理部114は、書き込み/消去範囲管理データ145に含まれる書き
込み/消去範囲配列146に記録されているデータ初期化し、論理エクステント管理デー
タ140の物理エクステント管理フラグ144を1にセットする(ステップS14)。そ
の後、制御部10はホスト装置から受信した書き込み要求に基づいて、記録装置20に書
き込み処理を行い(ステップS15)、処理を終了する。
When the write / erase range array 146 is all in use (No in step S13), the logical / physical address management unit 114 is recorded in the write / erase range array 146 included in the write / erase range management data 145. Data initialization is performed, and the physical extent management flag 144 of the logical extent management data 140 is set to 1 (step S14). Thereafter, the control unit 10 performs a write process on the recording apparatus 20 based on the write request received from the host apparatus (step S15), and ends the process.

未使用の書き込み/消去範囲配列146がある場合(ステップS13がYes)、論理
/物理アドレス管理部114は、当該未使用の書き込み/消去範囲配列146に、ホスト
装置からの書き込み要求の範囲を格納する(ステップS16)。未使用の書き込み/消去
範囲配列146が複数ある場合は、例えば一番若い書き込み/消去範囲配列146に記録
する。
When there is an unused write / erase range array 146 (Yes in step S13), the logical / physical address management unit 114 stores the write request range from the host device in the unused write / erase range array 146. (Step S16). If there are a plurality of unused write / erase range arrays 146, they are recorded in the youngest write / erase range array 146, for example.

すなわち論理/物理アドレス管理部114は、書き込み/消去範囲配列146のオフセ
ット148に、ホスト装置からの書き込み要求先の論理エクステント211に割り当てら
れた物理エクステント201において、書き込みが行なわれる開始位置のアドレスを格納
する。サイズ149には、ホスト装置からの書き込み要求のデータサイズを格納する。
In other words, the logical / physical address management unit 114 sets the address of the start position where writing is performed in the physical extent 201 assigned to the logical extent 211 of the write request destination from the host device to the offset 148 of the write / erase range array 146. Store. The size 149 stores the data size of the write request from the host device.

その後、論理/物理アドレス管理部114は、書き込み/消去範囲配列146の書き込
み/消去フラグ147を、当該書き込み/消去配列146に格納されたデータが書き込み
処理のデータであることを示す「0」にセットし(ステップS17)、処理を終了する。
Thereafter, the logical / physical address management unit 114 sets the write / erase flag 147 of the write / erase range array 146 to “0” indicating that the data stored in the write / erase array 146 is data for the write process. Set (step S17), the process ends.

物理エクステントポインタ133がNULLである場合(ステップS11がNo)、構
成管理部113は、フリーリスト(図示しない)等で管理された未使用物理エクステント
から1つの物理エクステントを確保する(ステップS18)。構成管理部113は、ステ
ップS12で確認した物理エクステントポインタ133に、ステップS13で確保した物
理エクステントのアドレスをセットする(ステップS19)。
When the physical extent pointer 133 is NULL (No in step S11), the configuration management unit 113 secures one physical extent from unused physical extents managed by a free list (not shown) or the like (step S18). The configuration management unit 113 sets the address of the physical extent secured in step S13 to the physical extent pointer 133 confirmed in step S12 (step S19).

その際、論理/物理アドレス管理部114は、論理エクステント管理データ140の物
理エクステント管理フラグ144を「0」にする(ステップS20)。続いて、制御部1
0は、ホスト装置から受信した書き込み要求に基づいて、記録装置20に書き込み処理を
行う(ステップS21)。ステップS21における書き込み処理はステップS15と同様
の処理である。
At that time, the logical / physical address management unit 114 sets the physical extent management flag 144 of the logical extent management data 140 to “0” (step S20). Subsequently, the control unit 1
0 performs a write process on the recording device 20 based on the write request received from the host device (step S21). The writing process in step S21 is the same as that in step S15.

その後、論理/物理アドレス管理部114は、ステップS16及びステップS17の処
理に進み、処理を終了する。
Thereafter, the logical / physical address management unit 114 proceeds to the processing of step S16 and step S17, and ends the processing.

次に、図8を参照して、ホスト装置からデータの開放要求を受信した場合の本実施形態
のディスクアレイ装置100の動作について説明する。なお、本実施形態のデータの開放
要求は例えばUNMAPコマンドによって行なわれる。
Next, with reference to FIG. 8, the operation of the disk array device 100 of this embodiment when a data release request is received from the host device will be described. Note that the data release request of the present embodiment is made by, for example, an UNMAP command.

ホスト装置からUNMAPコマンドを受信した論理/物理アドレス管理部114は、UN
MAP範囲の論理エクステント管理データ130を取得する(ステップS30)。
Upon receiving the UNMAP command from the host device, the logical / physical address management unit 114 receives the UN
The logical extent management data 130 in the MAP range is acquired (step S30).

論理/物理アドレス管理部114は、取得した論理エクステント管理データ130に対応
する物理エクステント管理データ140に含まれる物理エクステント管理フラグ144が
0か否かをチェックする(ステップS31)。
The logical / physical address management unit 114 checks whether or not the physical extent management flag 144 included in the physical extent management data 140 corresponding to the acquired logical extent management data 130 is 0 (step S31).

物理エクステント管理フラグ144が「1」である場合(ステップS31がNo)、すな
わち、書き込み/消去範囲管理データ145に含まれる書き込み/消去範囲配列146が
すべて使用中である場合、論理/物理アドレス管理部114は、UNMAP要求先の論理
エクステント211に割り当てられた物理エクステント211におけるUNMAP範囲に
ゼロライト処理を行う(ステップS39)。ゼロライト処理とは、ホスト装置から受信し
たUNMAP要求先の論理エクステント211に割り当てられた物理エクステント211
におけるUNMAP範囲すべてに「0」をライトする処理であり、既知技術のため詳細は
割愛する。
If the physical extent management flag 144 is “1” (No in step S31), that is, if all the write / erase range arrays 146 included in the write / erase range management data 145 are in use, logical / physical address management The unit 114 performs zero write processing on the UNMAP range in the physical extent 211 assigned to the logical extent 211 of the UNMAP request destination (step S39). Zero write processing refers to the physical extent 211 allocated to the logical extent 211 of the UNMAP request destination received from the host device.
In this process, “0” is written in all the UNMAP ranges in FIG.

物理エクステント管理フラグ144が「0」である場合(ステップS31がYes)、論
理/物理アドレス管理部114は、ステップS30で取得した論理エクステント管理デー
タ130に対応する物理エクステント管理データ140に未使用の書き込み/消去範囲配
列146があるかどうかを確認する(ステップS32)。
When the physical extent management flag 144 is “0” (Yes in step S31), the logical / physical address management unit 114 is unused in the physical extent management data 140 corresponding to the logical extent management data 130 acquired in step S30. It is confirmed whether or not there is a write / erase range array 146 (step S32).

未使用の書き込み/消去範囲配列146がある場合(ステップS32がYes)、論理/
物理アドレス管理部114は、当該書き込み/消去範囲配列146に、ステップS30で
取得した論理エクステント管理データ130に対応する物理エクステント管理データ14
0の物理エクステント番号133が示す物理エクステント201におけるUNMAP範囲
を格納する(ステップS33)。このとき、論理/物理アドレス管理部114は、該当す
る書き込み/消去範囲配列146の書き込み/消去フラグ147を「1」にする(ステッ
プS34)。
When there is an unused write / erase range array 146 (Yes in step S32), logical /
The physical address management unit 114 stores the physical extent management data 14 corresponding to the logical extent management data 130 acquired in step S30 in the write / erase range array 146.
The UNMAP range in the physical extent 201 indicated by the physical extent number 133 of 0 is stored (step S33). At this time, the logical / physical address management unit 114 sets the write / erase flag 147 of the corresponding write / erase range array 146 to “1” (step S34).

ステップS33においてUNMAP範囲を記録後、もしくは、未使用の書き込み/消去範
囲配列146がない場合(ステップS32がNo)、論理/物理アドレス管理部114は
、ステップS30で受信したUNMAPコマンドによって物理エクステント201が開放
可能となったかを確認する(ステップS35)。
After recording the UNMAP range in step S33, or when there is no unused write / erase range array 146 (No in step S32), the logical / physical address management unit 114 uses the physical extent 201 by the UNMAP command received in step S30. It is confirmed whether or not can be opened (step S35).

物理エクステント201が開放可能となったかを確認する方法の概念図を図9に示す。図
9に示すように論理/物理アドレス管理部114は、例えば物理エクステントのセクタ数
分のビット数をもつビットマップを作成し、このビットマップをすべて1に初期化する。
FIG. 9 shows a conceptual diagram of a method for confirming whether the physical extent 201 can be opened. As shown in FIG. 9, the logical / physical address management unit 114 creates a bitmap having the number of bits corresponding to the number of sectors of the physical extent, for example, and initializes all of the bitmaps to 1.

論理/物理アドレス管理部114は、書き込み/消去範囲管理データ145の書き込み/
消去範囲配列146を昇順に確認し、書き込み/消去フラグ147が0である場合、すな
わち対象の書き込み/消去範囲に格納された処理が書き込み処理である場合、対応するビ
ットを0に変更する。
The logical / physical address management unit 114 writes / writes the write / erase range management data 145.
The erase range array 146 is confirmed in ascending order, and if the write / erase flag 147 is 0, that is, if the process stored in the target write / erase range is a write process, the corresponding bit is changed to 0.

書き込み/消去フラグ147が1であれば対応するビットは1にする。最後の配列まで確
認を行い、その結果のビットマップがALL1になった場合は物理エクステントを開放可
能であると判定する。
If the write / erase flag 147 is 1, the corresponding bit is set to 1. Confirmation is performed up to the last array, and if the resulting bitmap becomes ALL1, it is determined that the physical extent can be released.

例えば、図9に示すような書き込み/消去範囲配列146[0]〜[2]が書き込み/消
去範囲管理データ145に存在するとする。上述のように書き込み/消去範囲配列146
[0]から順に書き込み/消去フラグ147、オフセット148、サイズ149に基づい
てビットマップを変更すると、書き込み/消去範囲配列146[2]を確認し終えた後の
ビットマップには「0」が存在している。このため、図9に示した配列の場合物理エクス
テントは開放可能ではない。
For example, it is assumed that the write / erase range array 146 [0] to [2] as shown in FIG. 9 exists in the write / erase range management data 145. Write / erase range array 146 as described above
When the bitmap is changed based on the write / erase flag 147, the offset 148, and the size 149 in order from [0], “0” exists in the bitmap after checking the write / erase range array 146 [2]. doing. For this reason, in the case of the arrangement shown in FIG. 9, the physical extent is not releasable.

図8の説明に戻る。確認の結果、物理エクステント201が開放可能と判定された場合(
ステップS36がYes)、論理/物理アドレス管理部114は、物理エクステント20
1を開放する(ステップS37)。
Returning to the description of FIG. As a result of confirmation, when it is determined that the physical extent 201 can be released (
In step S36, the logical / physical address management unit 114 determines that the physical extent 20
1 is released (step S37).

物理エクステント201の開放は、物理/論理アドレス管理部114が、論理エクステン
ト管理データ130内の物理リストポインタをNULLにし、開放した物理エクステント
201の物理エクステント管理データ140をフリーリスト等で実装された、未割り当て
物理エクステント管理方法によるフリー状態に戻すことによって行なわれる。このとき物
理/論理アドレス管理部114は、構成管理部113に物理エクステントの開放要求を送
信する。構成管理部113は受信した開放要求に基づいて、当該物理エクステント201
を開放する。すなわち、構成管理部113は開放要求に基づいて、当該物理エクステント
201が開放された構成をマッピング情報テーブルに保存する。すなわち、当該物理エク
ステント201が未使用であることをマッピングする。
The physical extent 201 is released when the physical / logical address management unit 114 sets the physical list pointer in the logical extent management data 130 to NULL and the physical extent management data 140 of the released physical extent 201 is implemented as a free list. This is done by returning to the free state by the unallocated physical extent management method. At this time, the physical / logical address management unit 114 transmits a physical extent release request to the configuration management unit 113. Based on the received release request, the configuration management unit 113 executes the physical extent 201.
Is released. That is, the configuration management unit 113 stores the configuration in which the physical extent 201 is released in the mapping information table based on the release request. That is, it is mapped that the physical extent 201 is unused.

物理エクステントが開放可能でない場合(ステップS36がNo)、論理/物理アドレ
ス管理部114は、物理エクステント管理フラグ144に「1」をセットする(ステップ
S38)。その後、論理/物理アドレス管理部114はゼロライト処理を行う(ステップ
S39)。ゼロライト処理は、書き込み/消去範囲管理データ145の配列[0]から[
s−1]を昇順でチェックし、時系列で後のライトによって上書きされた箇所以外の消去
範囲をゼロライトする処理である。このゼロライト処理は、ステップS35におけるエク
ステント開放チェックと同様に物理エクステントのセクタ数分のビットマップを作成し、
初期値をすべて0のビットパターンにして、1が残っている範囲をゼロライトするなどの
方法で実現する。
If the physical extent cannot be released (No in step S36), the logical / physical address management unit 114 sets “1” in the physical extent management flag 144 (step S38). Thereafter, the logical / physical address management unit 114 performs zero write processing (step S39). Zero write processing is performed from the array [0] of the write / erase range management data 145 [
s-1] is checked in ascending order, and the erasure range other than the portion overwritten by subsequent writing in time series is zero-written. This zero write process creates bitmaps for the number of sectors of the physical extent in the same manner as the extent release check in step S35.
The initial value is set to a bit pattern of all 0s, and the range in which 1 remains is written to zero.

以上、説明したように、本実施形態のディスクアレイ装置100は、ホスト装置から書
き込み要求もしくは開放要求を受信した場合、当該書き込み要求もしくは開放要求先の論
理エクステント211に割り当てられた物理エクステント201の管理データ140内に
未使用の書き込み/消去範囲配列146があれば、当該書き込み/消去範囲配列146に
受信した書き込み要求の範囲もしくは消去要求の範囲を格納する。
As described above, when the disk array device 100 of this embodiment receives a write request or a release request from the host device, the management of the physical extent 201 allocated to the logical extent 211 of the write request or release request destination. If there is an unused write / erase range array 146 in the data 140, the received write request range or erase request range is stored in the write / erase range array 146.

また、本実施形態のディスクアレイ装置100は、ホスト装置から開放要求を受信した
場合、開放要求先の論理エクステント211に割り当てられた物理エクステント201が
開放可能か否かを判定する。
Further, when receiving a release request from the host device, the disk array device 100 according to the present embodiment determines whether or not the physical extent 201 allocated to the release request destination logical extent 211 can be released.

判定の結果、開放可能であれば、構成管理部113が、当該開放要求先の論理エクステ
ント211に割り当てられた物理エクステント201を開放する。
As a result of the determination, if the release is possible, the configuration management unit 113 releases the physical extent 201 assigned to the logical extent 211 of the release request destination.

すなわち、本実施形態では、物理エクステント201は、物理エクステント201ごと
にあらかじめ設定された所定の数であるs回目までの書き込み要求もしくは開放要求を受
信するまで、受信した書き込み要求もしくは開放要求の範囲を当該物理エクステントの管
理データを用いて管理する。これにより、本実施形態のディスクアレイ装置100は、s
回目までの書き込み要求もしくは開放要求までは、開放要求に同期して物理エクステント
の開放を可能とする。このため、本実施形態のディスクアレイ装置100は、容量効率を
向上することが可能となる。
In other words, in the present embodiment, the physical extent 201 indicates the range of the received write request or release request until the s-th write request or release request, which is a predetermined number preset for each physical extent 201, is received. Management is performed using the management data of the physical extent. As a result, the disk array device 100 according to the present embodiment performs s
Until the first write request or release request, the physical extent can be released in synchronization with the release request. For this reason, the disk array device 100 of this embodiment can improve the capacity efficiency.

(第2の実施形態)
本発明の第2の実施形態について図面を参照して説明する。なお、第1の実施形態と同
一の構成には同一の符号を付与する。
(Second Embodiment)
A second embodiment of the present invention will be described with reference to the drawings. In addition, the same code | symbol is provided to the structure same as 1st Embodiment.

本実施形態のディスクアレイ装置100は、第1の実施形態と機能構成は同一である。
本実施形態のディスクアレイ装置100は、フリーリストを用いた管理方式によって、書
き込み要求の範囲および開放要求の範囲を管理する。すなわち、本実施形態の論理/物理
アドレス管理部114は、フリーリストの管理方式を用いて論理エクステント211及び
物理エクステント201の確保や開放を行なう。すなわち、論理/物理アドレス管理部1
14はアロケータの機能を有する。
The disk array device 100 of this embodiment has the same functional configuration as that of the first embodiment.
The disk array device 100 of this embodiment manages the range of write requests and the range of release requests by a management method using a free list. That is, the logical / physical address management unit 114 of this embodiment secures and releases the logical extent 211 and the physical extent 201 using a free list management method. That is, the logical / physical address management unit 1
14 has an allocator function.

したがって、論理/物理エクステント管理データ記憶部120に格納される物理エクス
テント管理データの構造が第1の実施形態と異なる。
Therefore, the structure of the physical extent management data stored in the logical / physical extent management data storage unit 120 is different from that of the first embodiment.

図10に、第2の実施形態における物理エクステント管理データ240の構造を示す。   FIG. 10 shows the structure of the physical extent management data 240 in the second embodiment.

図10に示したように、物理エクステント管理データ240の構造は、RAID番号1
41、物理エクステント番号142、論理エクステントポインタ143、物理エクステン
ト管理フラグ144、書き込み/消去範囲リストポインタ245を含む構造である。
As shown in FIG. 10, the structure of the physical extent management data 240 is RAID number 1
41, a physical extent number 142, a logical extent pointer 143, a physical extent management flag 144, and a write / erase range list pointer 245.

RAID番号141、物理エクステント番号142、論理エクステントポインタ143
、物理エクステント管理フラグ144は、実施例1と同様であるため、説明は省略する。
RAID number 141, physical extent number 142, logical extent pointer 143
Since the physical extent management flag 144 is the same as that of the first embodiment, description thereof is omitted.

書き込み/消去範囲リストポインタ245は、ホスト装置からの書き込み要求もしくは
開放要求によって示される論理エクステント211に割り当てられた物理エクステント2
01において、書き込み範囲もしくは消去範囲を管理するための書き込み/消去範囲リス
ト246示すポインタである。書き込み/消去範囲リスト246のデータ構造を図11に
示す。
The write / erase range list pointer 245 is the physical extent 2 allocated to the logical extent 211 indicated by the write request or release request from the host device.
Reference numeral 01 denotes a pointer indicating a write / erase range list 246 for managing a write range or an erase range. The data structure of the write / erase range list 246 is shown in FIG.

図11に示すように書き込み/消去範囲リスト246は、ネクストポインタ247、オ
フセット148、サイズ149を含むデータ構造である。オフセット148とサイズ14
9については実施例1と同様であるため、説明は省略する。ネクストポインタ247は、
次の書き込み/消去範囲リスト246を示す。
As shown in FIG. 11, the write / erase range list 246 has a data structure including a next pointer 247, an offset 148, and a size 149. Offset 148 and size 14
Since 9 is the same as that of the first embodiment, description thereof is omitted. Next pointer 247 is
The next write / erase range list 246 is shown.

なお、本実施形態で管理する書き込み/消去範囲リスト246の個数は、論理ディスク
200ごとにあらかじめ設定されているとする。ここでは、書き込み/消去範囲リストの
個数をt個とする。
Note that the number of write / erase range lists 246 managed in this embodiment is set in advance for each logical disk 200. Here, the number of write / erase range lists is t.

図12に書き込み/消去範囲リスト246のうち、未使用のものを管理するフリーリス
ト251を示す。
FIG. 12 shows a free list 251 for managing unused ones of the write / erase range list 246.

図12に示すように、フリーリスト251には、書き込み要求もしくは開放要求の範囲
が格納されていない、すなわち未使用の書き込み/消去範囲リスト246がリストヘッド
250を先頭にポインタで格納されている。
As shown in FIG. 12, the free list 251 does not store a write request or release request range, that is, an unused write / erase range list 246 is stored with the list head 250 at the head by a pointer.

論理/物理アドレス管理部114は、ホスト装置からの書き込み要求もしくは開放要求
を受信すると、フリーリスト251のリストヘッド250のポインタの指す先頭の書き込
み/消去範囲リスト246を確保する。そして、論理/物理アドレス管理部114は確保
した書き込み/消去範囲リスト246をフリーリストから外し、そのネクストポインタ2
47に基づいてリストヘッド250を更新する。確保した書き込み/消去範囲リスト24
6は、物理エクステント管理データ240の書き込み/消去範囲リストポインタを先頭と
するリストの最後尾に繋げる。
When the logical / physical address management unit 114 receives a write request or a release request from the host device, the logical / physical address management unit 114 secures a head write / erase range list 246 pointed to by the pointer of the list head 250 of the free list 251. Then, the logical / physical address management unit 114 removes the reserved write / erase range list 246 from the free list, and the next pointer 2
47, the wrist head 250 is updated. Secured write / erase range list 24
6 is linked to the tail of the list starting from the write / erase range list pointer of the physical extent management data 240.

フリーリスト251に格納された最後の書き込み/消去範囲リスト246のネクストポ
インタ247にはNULLが格納されている。すなわち、論理/物理アドレス管理部11
4は、フリーリスト251のリストヘッド250に格納されたネクストポインタ247が
NULLである場合に、これ以上未使用の書き込み/消去範囲リスト246は無いと判定
する。
NULL is stored in the next pointer 247 of the last write / erase range list 246 stored in the free list 251. That is, the logical / physical address management unit 11
4 determines that there is no more unused write / erase range list 246 when the next pointer 247 stored in the list head 250 of the free list 251 is NULL.

ここで、図13を参照して、第2の実施形態のディスクアレイ装置100がホスト装置
から書き込み要求を受信した際の処理について説明する。
Here, with reference to FIG. 13, processing when the disk array device 100 of the second embodiment receives a write request from the host device will be described.

なお、図13に示した処理のうち、図7に示した処理と同様であるステップには同一の
番号を振っており、説明は省略する。そのため、図13のステップS113とステップS
116の処理について説明する。
Of the processes shown in FIG. 13, steps that are the same as the processes shown in FIG. Therefore, step S113 and step S in FIG.
The process 116 will be described.

論理/物理アドレス管理部114は、書き込み/消去範囲のフリーリスト251に基づい
て、未使用の書き込み/消去範囲リスト246があるかを判定する(ステップS113)
The logical / physical address management unit 114 determines whether there is an unused write / erase range list 246 based on the write / erase range free list 251 (step S113).
.

未使用の書き込み/消去範囲リスト246がある場合(ステップS113がYes)、論
理/物理アドレス管理部114は、未使用の書き込み/消去範囲リストをフリーリストか
ら外し、物理エクステント管理データ240のリストに繋げる。ホスト装置から受信した
書き込み要求の範囲を当該書き込み/消去範囲リスト246に格納し(ステップS116
)、書き込み処理を終了する。
When there is an unused write / erase range list 246 (Yes in step S113), the logical / physical address management unit 114 removes the unused write / erase range list from the free list and adds it to the list of physical extent management data 240. Connect. The write request range received from the host device is stored in the write / erase range list 246 (step S116).
), The writing process is terminated.

続いて、図14を参照して、ホスト装置から開放要求を受信した際のディスクアレイ装置
100の動作について説明する。図13と同様に、図14についてもステップS132と
ステップS133の処理について説明する。
Next, the operation of the disk array device 100 when receiving a release request from the host device will be described with reference to FIG. Similar to FIG. 13, the processing of step S <b> 132 and step S <b> 133 will also be described for FIG.

論理/物理アドレス管理部114は、フリーリスト251に基づいて、未使用の書き込み
/消去範囲リスト246があるか否かを判定する(ステップS132)。未使用の書き込
み/消去範囲リスト246がある場合(ステップS132がYes)、論理/物理アドレ
ス管理部114は、ホスト装置から受信した開放要求先の論理エクステント211に割り
当てられた物理エクステント201におけるUNMAP範囲を、フリーリストから獲得し
物理エクステント管理データ240に繋げた書き込み/消去範囲リスト246に格納する
(ステップS133)。
The logical / physical address management unit 114 determines whether there is an unused write / erase range list 246 based on the free list 251 (step S132). If there is an unused write / erase range list 246 (Yes in step S132), the logical / physical address management unit 114 receives the UNMAP range in the physical extent 201 allocated to the release request destination logical extent 211 received from the host device. Is acquired from the free list and stored in the write / erase range list 246 linked to the physical extent management data 240 (step S133).

続いて、論理/物理アドレス管理部114は、エクステント開放チェックを行う(ステッ
プS35)。ステップS35以降の処理は図8のステップS35以降の処理と同一である
ため、説明を省略する。
Subsequently, the logical / physical address management unit 114 performs an extent release check (step S35). Since the process after step S35 is the same as the process after step S35 of FIG. 8, description is abbreviate | omitted.

なお、未使用の書き込み/消去範囲リスト246がない場合も(ステップS132がNo
)、論理/物理アドレス管理部114は、エクステント開放チェックを行う(ステップS
35)。
Even when there is no unused write / erase range list 246 (No in step S132).
), The logical / physical address management unit 114 performs an extent release check (step S).
35).

なお、物理エクステント201あたりの書き込み/消去範囲リスト246のアロケートは
無制限に出来るとしても良いが、多数のライトが要求された場合に、少数の物理エクステ
ントで論理ディスク200あたりに設定されたt個の書き込み/消去範囲リスト246を
使い切る可能性がある。そのため、1つ物理エクステント毎にアロケート可能な書き込み
/消去範囲リスト246の個数に上限値を設けても良い。
The allocation of the write / erase range list 246 per physical extent 201 may be unlimited. However, when a large number of writes are requested, t number of logical extents set per logical disk 200 with a small number of physical extents. The write / erase range list 246 may be used up. Therefore, an upper limit value may be set for the number of write / erase range lists 246 that can be allocated for each physical extent.

上述のように、本実施形態では、開放要求に同期して物理エクステント211を開放す
ることが可能となる。また、本実施形態では、フリーリスト方式でホスト装置からの書き
込要求の範囲及び開放要求の範囲を記録し、管理することによって、論理ディスク毎に所
定の回数の書き込み要求と開放要求を管理することが可能となる。このため、ホスト装置
の書き込み要求や開放要求が局所的であっても書き込み/消去範囲リストを管理すること
ができる。これにより記憶領域の使用効率が高いディスクアレイ装置を提供することが可
能である。
As described above, in the present embodiment, the physical extent 211 can be released in synchronization with the release request. In the present embodiment, the write request range and the release request range from the host device are recorded and managed by the free list method, thereby managing a predetermined number of write requests and release requests for each logical disk. It becomes possible. Therefore, the write / erase range list can be managed even if the write request or release request of the host device is local. As a result, it is possible to provide a disk array device with high use efficiency of the storage area.

以上、本発明の実施形態を説明したが、これら実施形態はあくまでも例として提示した
ものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、そ
の他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々
の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲
や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれ
る。
As mentioned above, although embodiment of this invention was described, these embodiment was shown as an example to the last and is not intending limiting the range of invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.

10…制御部、11、HOST I/F部、12…CPU、13…プログラムメモリ、1
4…キャッシュメモリ、15…HDD I/F部、20…記録装置、21、22…HDD
、30…接続路、100…ディスクアレイ装置
DESCRIPTION OF SYMBOLS 10 ... Control part 11, HOST I / F part, 12 ... CPU, 13 ... Program memory, 1
4 ... Cache memory, 15 ... HDD I / F unit, 20 ... Recording device, 21, 22 ... HDD
30 ... Connection path, 100 ... Disk array device

Claims (4)

記憶領域を複数に分割した物理エクステントを組み合わせることによって、論理ディス
クを構成するディスクアレイ装置であって、
前記外部装置から前記論理エクステントに対する書き込み要求の範囲及び開放要求の範
囲を所定数格納する記憶部と、
前記外部装置からの前記書き込み要求と前記開放要求とが前記所定数を超えた場合に、
前記外部装置から前記開放要求を受信したとき、前記記憶部に格納された前記書き込み要
求の範囲及び前記開放要求の範囲に基づいて、前記開放要求の対象の論理エクステントに
対応する前記物理エクステントが開放可能であるか否かを判定する管理部と、
を備えるディスクアレイ装置。
A disk array device that configures a logical disk by combining physical extents obtained by dividing a storage area into a plurality of storage areas,
A storage unit for storing a predetermined number of write request ranges and release request ranges for the logical extents from the external device;
When the write request and the release request from the external device exceed the predetermined number,
When the release request is received from the external device, the physical extent corresponding to the logical extent that is the target of the release request is released based on the range of the write request and the range of the release request stored in the storage unit. A management unit for determining whether or not it is possible;
A disk array device comprising:
前記記憶部は、前記書き込み/消去範囲配列に格納された前記書き込み要求の範囲及び
前記開放要求の範囲が前記所定数を超えたか否かを示すフラグを記憶する請求項1に記載
のディスクアレイ装置。
2. The disk array device according to claim 1, wherein the storage unit stores a flag indicating whether or not the write request range and the release request range stored in the write / erase range array exceed the predetermined number. .
記憶領域を複数に分割した物理エクステントを組み合わせることによって、論理ディス
クを構成するディスクアレイ装置であって、
前記外部装置から前記論理エクステントに対する書き込み要求の範囲及び開放要求の範
囲を所定数格納する管理リストと、当該管理リストのうち書き込み要求の範囲及び開放要
求の範囲が格納されていない管理リストを示すフリーリストとを格納する記憶部と、
前記外部装置からのアクセスが前記フリーリストに格納された管理リスト数を超えた場
合に、前記外部装置から開放要求を受信したとき、前記管理データに基づいて、開放対象
の論理エクステントに対応する前記物理エクステントが開放可能であるか否かを判定する
管理部と、
を備えるディスクアレイ装置。
A disk array device that configures a logical disk by combining physical extents obtained by dividing a storage area into a plurality of storage areas,
A free management list that stores a predetermined number of write request ranges and release request ranges for the logical extents from the external device, and a management list that does not store the write request range and release request range in the management list. A storage unit for storing the list;
When an access from the external device exceeds the number of management lists stored in the free list, and when a release request is received from the external device, based on the management data, the logical extent corresponding to the release target A management unit that determines whether a physical extent can be released; and
A disk array device comprising:
前記管理部の判定結果が開放可能な場合に当該物理エクステントを未使用とする開放部
を備える請求項1乃至請求項3のいずれか1項に記載のディスクアレイ装置。
The disk array device according to any one of claims 1 to 3, further comprising: an opening unit that makes the physical extent unused when the determination result of the management unit is openable.
JP2011211668A 2011-09-27 2011-09-27 Disk array device Pending JP2013073409A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011211668A JP2013073409A (en) 2011-09-27 2011-09-27 Disk array device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011211668A JP2013073409A (en) 2011-09-27 2011-09-27 Disk array device

Publications (1)

Publication Number Publication Date
JP2013073409A true JP2013073409A (en) 2013-04-22

Family

ID=48477863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011211668A Pending JP2013073409A (en) 2011-09-27 2011-09-27 Disk array device

Country Status (1)

Country Link
JP (1) JP2013073409A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015203908A (en) * 2014-04-11 2015-11-16 富士通株式会社 Storage management apparatus and storage management program
EP3018573A1 (en) 2014-11-05 2016-05-11 NEC Corporation Disk array device, disk control device, solid state drive, disk control method, and recording medium
US10353626B2 (en) 2016-02-03 2019-07-16 Samsung Electronics Co., Ltd. Buffer memory management method and write method using the same
CN114442914A (en) * 2020-11-04 2022-05-06 爱思开海力士有限公司 Memory system and operating method thereof

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015203908A (en) * 2014-04-11 2015-11-16 富士通株式会社 Storage management apparatus and storage management program
EP3018573A1 (en) 2014-11-05 2016-05-11 NEC Corporation Disk array device, disk control device, solid state drive, disk control method, and recording medium
US10353626B2 (en) 2016-02-03 2019-07-16 Samsung Electronics Co., Ltd. Buffer memory management method and write method using the same
CN114442914A (en) * 2020-11-04 2022-05-06 爱思开海力士有限公司 Memory system and operating method thereof
CN114442914B (en) * 2020-11-04 2024-03-08 爱思开海力士有限公司 Memory system

Similar Documents

Publication Publication Date Title
US10289304B2 (en) Physical address management in solid state memory by tracking pending reads therefrom
US11640353B2 (en) Memory system, data storage device, user device and data management method thereof
US11481144B1 (en) Techniques for directed data migration
US10176212B1 (en) Top level tier management
TWI507869B (en) System,apparatus,and method for virtualizing storage devices
KR101086857B1 (en) Control Method of Solid State Storage System for Data Merging
US8103847B2 (en) Storage virtual containers
CN106164883B (en) For the method and apparatus of the storage system of network connection
US9251053B2 (en) Managing configuration parameters for a non-volatile medium
US11461033B2 (en) Attribute-driven storage for storage devices
US10956071B2 (en) Container key value store for data storage devices
US9104554B2 (en) Storage apparatus, storage controller and method for relocating data in solid state drive
US10423339B2 (en) Logical block address mapping for hard disk drives
US9229860B2 (en) Storage system
US10073774B2 (en) Managing input/output operations for shingled magnetic recording in a storage system
KR102649131B1 (en) Apparatus and method for checking valid data in block capable of large volume data in memory system
US10552045B2 (en) Storage operation queue
JP2013210749A (en) Program, control method, storage device, and system
JP2013073409A (en) Disk array device
US20230075437A1 (en) Techniques for zoned namespace (zns) storage using multiple zones
KR20210039185A (en) Apparatus and method for providing multi-stream operation in memory system
JP2017219913A (en) Storage control device, storage system and storage control program
JP2013089225A (en) Hierarchy changing method and device
US20150324127A1 (en) Storage control apparatus and storage control method
JP2021114264A (en) Storage control device and storage control program

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130830

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131220