JP5606583B2 - Storage device and control method for the same - Google Patents
Storage device and control method for the same Download PDFInfo
- Publication number
- JP5606583B2 JP5606583B2 JP2013099890A JP2013099890A JP5606583B2 JP 5606583 B2 JP5606583 B2 JP 5606583B2 JP 2013099890 A JP2013099890 A JP 2013099890A JP 2013099890 A JP2013099890 A JP 2013099890A JP 5606583 B2 JP5606583 B2 JP 5606583B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- logical
- storage area
- virtual
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 27
- 230000004044 response Effects 0.000 claims description 9
- 230000015654 memory Effects 0.000 description 57
- 238000012545 processing Methods 0.000 description 36
- 238000012546 transfer Methods 0.000 description 32
- 238000004891 communication Methods 0.000 description 29
- 238000007726 management method Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 11
- 238000013500 data storage Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 239000000835 fiber Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000001816 cooling Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、上位装置に接続された記憶制御システム及び同システムの制御方法に関する。 The present invention relates to a storage control system connected to a host device and a control method for the system.
例えば、大容量のデータを取り扱う基幹業務用の記憶システムでは、ホストコンピュータ(以下、単に「ホスト」と言う)とは、別体に構成された記憶制御サブシステムを用いてデータが管理されている。この記憶制御サブシステムは、例えば、記憶制御システムとも呼ばれ、多数のディスク型記憶装置をアレイ状に配置して構成されているRAID(Redundant Array of Independent Inexpensive Disks)である。 For example, in a mission-critical storage system that handles large volumes of data, the data is managed using a storage control subsystem that is configured separately from the host computer (hereinafter simply referred to as “host”). . This storage control subsystem is also called a storage control system, for example, and is a RAID (Redundant Array of Independent Inexpensive Disks) configured by arranging a large number of disk-type storage devices in an array.
例えば、特開平11−224164号公報には、縮小論理ボリュームと通常論理ボリュームとを有するディスクサブシステムが、LRU方式のもとにキャッシュメモリを管理し(LRU方式については段落5参照)、縮小論理ボリューム上のデータと通常論理ボリューム上のデータとでLRUのデータ列に加える位置を変えることにより、縮小論理ボリュームのデータがキャッシュメモリに長く滞在するようにすることが開示されている。 For example, in Japanese Patent Laid-Open No. 11-224164, a disk subsystem having a reduced logical volume and a normal logical volume manages cache memory under the LRU method (see paragraph 5 for the LRU method). It is disclosed that the data of the reduced logical volume stays in the cache memory for a long time by changing the position of the data on the volume and the data on the normal logical volume added to the LRU data string.
ところで、例えば、記憶制御システムは、1又は複数のディスク型記憶装置上に用意される複数の論理的な記憶デバイス(以下、Logical Deviceを略して「LDEV」と言う)のうち、1以上のLDEVから構成される1つの記憶ユニットをLU(Logical Unit)として上位装置に提供するものがある。このような記憶制御システムでは、例えば、1つのLUをプライマリLU、別の1つのLUをセカンダリLUとしたLUペアが形成されて、プライマリLU内の更新前データをセカンダリLUにコピーすること(すなわち、いわゆるスナップショットを作成すること)が行われる場合がある。 By the way, for example, the storage control system includes one or more LDEVs among a plurality of logical storage devices (hereinafter referred to as “LDEV” for short) prepared on one or a plurality of disk type storage devices. Some storage units are provided to a host device as an LU (Logical Unit). In such a storage control system, for example, an LU pair in which one LU is a primary LU and another LU is a secondary LU is formed, and the pre-update data in the primary LU is copied to the secondary LU (that is, A so-called snapshot) may be performed.
例えば、LUペアを構成する双方のLUの記憶容量は同じである。このため、プライマリLUの記憶容量が大きいと、セカンダリLUとしても記憶容量の大きいLUが必要となる。一般に、記憶制御システムでは、上位装置に提供しているLUのサイズと同じ記憶容量をディスク型記憶装置上に割当てている。ところが、例えば一般的には、上位装置が実際に使用する記憶容量は、実際に割当てられている記憶容量のごく一部であり、大半は無駄に記憶容量が確保されている場合がある。なお、LUのフォーマットを行なう場合は、LUの記憶容量と同サイズのデータがホスト端末から出力されて、そのLU全体にデータが書き込まれることになる。 For example, the storage capacities of both LUs constituting the LU pair are the same. For this reason, if the storage capacity of the primary LU is large, an LU having a large storage capacity is required as the secondary LU. Generally, in a storage control system, the same storage capacity as the size of an LU provided to a host device is allocated on a disk type storage device. However, for example, generally, the storage capacity actually used by the host device is only a small part of the storage capacity actually allocated, and most of the storage capacity may be reserved uselessly. When formatting an LU, data having the same size as the LU storage capacity is output from the host terminal, and the data is written to the entire LU.
従って、本発明は少なくとも次のいずれかの目的を達成するものである。
(1)無駄な空き記憶領域を少なくすると共に、複数種類のLUを用意し、それら複数種類のLUから選択された種類のLUにデータを格納する記憶制御システム及びそのシステムの制御方法を提供する。
(2)LDEVの記憶容量の消費を記憶制御システム及びそのシステムの制御方法を提供する。
Accordingly, the present invention achieves at least one of the following objects.
(1) To provide a storage control system that reduces useless free storage areas, prepares a plurality of types of LUs, and stores data in a type of LU selected from the plurality of types of LUs, and a control method for the system .
(2) To provide a storage control system and a control method for the storage capacity consumption of LDEV.
本発明の他の目的は、後述の説明から明らかになるであろう。 Other objects of the present invention will become clear from the following description.
本発明の観点に従う記憶制御システムは、上位装置に接続され、前記上位装置からデータを受ける複数のチャネルアダプタと、前記複数のチャネルアダプタに接続され、前記上位装置との間でやり取りされるデータ、及び前記データに関する制御情報を保存する1又は複数のメモリと、前記メモリに接続され、前記データを、前記メモリに書込むように制御する又は前記メモリから読み出すように制御する複数のディスクアダプタと、前記複数のディスアダプタに接続され、前記データが前記複数のディスクアダプタの制御の下に格納される複数のディスクドライブとを有する。前記複数のチャネルアダプタに含まれる第一チャネルアダプタは、前記複数のディスクドライブに含まれる複数の第一ディスクドライブの記憶領域を基に生成される複数の第一論理ボリュームを、前記上位装置に対して提供するものであり、前記複数の第一論理ボリュームから選択された第一論理ボリュームに対して前記上位装置から前記データのライトアクセスがあった場合、前記メモリ上に予め確保された領域に対して前記データを書き込むものである。前記複数のチャネルアダプタに含まれる第二チャネルアダプタは、前記複数のディスクドライブに含まれる複数の第二ディスクドライブの記憶領域を基に生成される複数の第二論理ボリュームを纏めて管理し、前記上位装置に提供される第三論理ボリュームについての情報を前記上位装置から受けた場合に、前記第三論理ボリュームに対して前記上位装置から前記データのライトアクセスがあったならば、前記第三論理ボリュームに対応する第二論理ボリュームとして必要とされる前記メモリ上の領域を前記データに応じた領域分確保し、その確保された領域に対して、前記データを書込み、前記第三論理ボリュームに対応する第二論理ボリュームを解放するものである。 A storage control system according to an aspect of the present invention includes a plurality of channel adapters connected to a host device and receiving data from the host device, and data exchanged between the host devices and connected to the plurality of channel adapters, And one or more memories for storing control information relating to the data; and a plurality of disk adapters connected to the memory and controlling the data to be written to or read from the memory; A plurality of disk drives connected to the plurality of disk adapters, wherein the data is stored under the control of the plurality of disk adapters. The first channel adapter included in the plurality of channel adapters is configured to transfer a plurality of first logical volumes generated based on storage areas of the plurality of first disk drives included in the plurality of disk drives to the host device. And when a data write access is made from the higher-level device to the first logical volume selected from the plurality of first logical volumes, an area reserved in advance in the memory is provided. To write the data. The second channel adapter included in the plurality of channel adapters collectively manages a plurality of second logical volumes generated based on storage areas of the plurality of second disk drives included in the plurality of disk drives, When the information about the third logical volume provided to the host device is received from the host device, if there is a write access of the data from the host device to the third logical volume, the third logical volume The area on the memory required as the second logical volume corresponding to the volume is secured for the area corresponding to the data, and the data is written to the reserved area, corresponding to the third logical volume. The second logical volume to be released is released.
本発明の観点に従うストレージ装置は、上位装置と接続され、複数の論理記憶領域を有する論理ボリュームを構成する複数の記憶装置と、上位装置からのI/O要求に基づいて、記憶装置へのデータの格納を制御する制御装置と、を有する。制御装置は、複数の仮想記憶領域を有する仮想ボリュームを上位装置に提供し、仮想記憶領域への書込み要求に応じて当該書込み要求に係る仮想記憶領域の論理記憶領域を割当て、論理記憶領域を読み出し、当該読み出した論理記憶領域内のデータが所定のデータパターンと一致する場合、当該読み出した論理記憶領域と対応する前記仮想記憶領域との間の割当を解除する。A storage device according to an aspect of the present invention is connected to a host device, and a plurality of storage devices constituting a logical volume having a plurality of logical storage areas, and data to the storage device based on an I / O request from the host device And a control device for controlling the storage of. The control device provides a virtual volume having a plurality of virtual storage areas to the host device, allocates a logical storage area of the virtual storage area related to the write request in response to a write request to the virtual storage area, and reads the logical storage area When the data in the read logical storage area matches a predetermined data pattern, the allocation between the read logical storage area and the corresponding virtual storage area is released.
本発明によれば、次のいずれかの事項の効果を奏する。
(1)無駄な空き記憶領域を少なくすると共に、複数種類の論理ボリュームを用意し、それら複数種類の論理ボリュームから選択された論理ボリュームにデータを格納することができる記憶制御システム及びそのシステムの制御方法が提供される。
(2)論理ボリュームの記憶容量の消費を抑えることができる記憶制御システム及びそのシステムの制御方法が提供される。
According to the present invention, the following effects can be achieved.
(1) A storage control system capable of reducing a useless free storage area, preparing a plurality of types of logical volumes, and storing data in a logical volume selected from the plurality of types of logical volumes, and control of the system A method is provided.
(2) A storage control system and a control method for the system capable of suppressing the consumption of the storage capacity of a logical volume are provided.
以下、図面を参照して本発明の一実施形態を説明する。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
まず、本実施形態の概念の一つを簡単に説明する。 First, one concept of this embodiment will be briefly described.
本実施形態に係る記憶制御システムは、例えば、上位装置との間でやり取りするデータ(以下、データ)のデータパターンが、予め用意されたライト対象外データパターン情報に含まれる1又は複数のライト対象外データパターンのいずれかに適合するか否かを判別する。否定的な判別結果が得られた場合、記憶制御サブシステムは、データを、ディスク型記憶装置上に形成された論理デバイスに格納する。一方、肯定的な判別結果が得られた場合、記憶制御サブシステムは、当該データをLUに格納しないで消去する。 The storage control system according to the present embodiment includes, for example, one or more write targets in which a data pattern of data exchanged with a host device (hereinafter, data) is included in data pattern information that is not prepared for write It is determined whether or not the external data pattern is met. If a negative determination result is obtained, the storage control subsystem stores the data in a logical device formed on the disk type storage device. On the other hand, if a positive determination result is obtained, the storage control subsystem deletes the data without storing it in the LU.
以下、本実施形態について詳述する。 Hereinafter, this embodiment will be described in detail.
図1は、本発明の一実施形態に係る記憶制御システムの外観の概略を示す。 FIG. 1 schematically shows the appearance of a storage control system according to an embodiment of the present invention.
記憶制御システム600は、例えば、基本筐体10と複数の増設筐体12とから構成することができる(基本筐体11のみで構成されても良い)。 The storage control system 600 can be composed of, for example, a basic chassis 10 and a plurality of additional chassis 12 (may be composed of only the basic chassis 11).
基本筐体10は、記憶制御システム600の最小構成単位である。この基本筐体10には、例えば、複数のディスク型記憶装置(例えばハードディスクドライブ(HDD))300と、複数の制御パッケージ(例えば後述するチャネル制御部又はディスク制御部)105と、複数の電源ユニット400と、複数のバッテリユニット500とがそれぞれ着脱可能に設けられている。また、基本筐体10には、複数の冷却ファン13が設けられている。 The basic chassis 10 is a minimum configuration unit of the storage control system 600. The basic housing 10 includes, for example, a plurality of disk storage devices (for example, hard disk drives (HDD)) 300, a plurality of control packages (for example, a channel control unit or a disk control unit described later) 105, and a plurality of power supply units. 400 and a plurality of battery units 500 are detachably provided. The basic housing 10 is provided with a plurality of cooling fans 13.
各増設筐体12は、記憶制御システム600のオプションであり、例えば、1つの基本筐体10に最大4個の増設筐体12を接続することができる。各増設筐体12には、複数の冷却ファン13が設けられている。また、各増設筐体12には、複数のディスク型記憶装置300と、複数の電源ユニット400と、複数のバッテリユニット500とがそれぞれ着脱可能に設けられており、それらの各々は、例えば、基本筐体10に設けられた制御パッケージ105が有する制御機能により制御される。 Each additional enclosure 12 is an option of the storage control system 600. For example, a maximum of four additional enclosures 12 can be connected to one basic enclosure 10. Each additional enclosure 12 is provided with a plurality of cooling fans 13. Each extension enclosure 12 is provided with a plurality of disk storage devices 300, a plurality of power supply units 400, and a plurality of battery units 500, which are detachably provided. Control is performed by a control function of the control package 105 provided in the housing 10.
図2は、本発明の一実施形態に係る記憶システムの全体構成例を示す。 FIG. 2 shows an example of the overall configuration of a storage system according to an embodiment of the present invention.
この記憶システム1の基本的な構成要素は、1又は複数のホスト端末200A〜200Dと、記憶制御システム600である。 The basic components of the storage system 1 are one or a plurality of host terminals 200A to 200D and a storage control system 600.
ホスト端末(上位装置)200A〜200Dの各々は、例えば、CPU(Central Processing Unit)、不揮発性及び/又は揮発性のメモリ(例えばROM又はRAM)、及びハードディスク等をハードウェア資源として備えたコンピュータシステム(例えば、パーソナルコンピュータ又はワークステーション)である。各ホスト端末200A〜200DのCPUが、メモリに格納された各種コンピュータプログラムを読込んで実行することにより、コンピュータプログラムとハードウェア資源(例えばメモリ)とが協働した処理が行われて、種々の機能が実現される。ホスト端末200A〜200Dの各々は、種々の方法で記憶制御システム600に接続することができる。 Each of the host terminals (higher-level devices) 200A to 200D includes, for example, a CPU (Central Processing Unit), a nonvolatile and / or volatile memory (for example, ROM or RAM), a hard disk, and the like as hardware resources. (For example, a personal computer or a workstation). When the CPUs of the host terminals 200A to 200D read and execute various computer programs stored in the memory, processing in which the computer program and hardware resources (for example, memory) cooperate with each other is performed, and various functions are performed. Is realized. Each of the host terminals 200A to 200D can be connected to the storage control system 600 by various methods.
例えば、ホスト端末200A〜200Bは、第一通信ネットワーク(例えば、LAN、インターネット又は専用回線、以下、LANであるとする)820を介して記憶制御システム600に接続されている。LAN820を介して行われるホスト端末200A及び200Bと記憶制御システム600との間の通信は、例えばTCP/IPプロトコルに従って行われる。ホスト端末200A及び200Bから記憶制御システム600に対して、ファイル名指定によるデータアクセス要求(ファイル単位でのデータ入出力要求、以下、「ファイルアクセス要求」と言う)が送信される。 For example, the host terminals 200 </ b> A to 200 </ b> B are connected to the storage control system 600 via a first communication network (for example, a LAN, the Internet or a dedicated line, hereinafter referred to as a LAN) 820. Communication between the host terminals 200A and 200B and the storage control system 600 performed via the LAN 820 is performed according to, for example, the TCP / IP protocol. A data access request by specifying a file name (data input / output request in units of files, hereinafter referred to as “file access request”) is transmitted from the host terminals 200A and 200B to the storage control system 600.
また、例えば、ホスト端末200B及び200Cは、第二通信ネットワーク(例えば、SAN(Storage Area Network)、以下、SANであるとする)821を介して記憶制御システム600に接続されている。SAN821を介して行われるホスト端末200B及び200Cと記憶制御システム600との間の通信は、例えばファイバチャネルプロトコルに従って行われる。ホスト端末200B及び200Cから記憶制御システム600に対して、例えば、ブロック単位のデータアクセス要求(以下、「ブロックアクセス要求」と言う)が送信される(なお、ブロック単位とは、後述のディスク型記憶装置300上の記憶領域におけるデータの管理単位であるブロックを単位としたものである)。 For example, the host terminals 200B and 200C are connected to the storage control system 600 via a second communication network (for example, SAN (Storage Area Network), hereinafter referred to as SAN) 821. Communication between the host terminals 200B and 200C and the storage control system 600 performed via the SAN 821 is performed according to, for example, a fiber channel protocol. For example, a data access request in block units (hereinafter referred to as “block access request”) is transmitted from the host terminals 200B and 200C to the storage control system 600. (A block is a unit of data management in the storage area on the apparatus 300).
また、例えば、ホスト端末200Dは、LAN820やSAN821等のネットワークを介さずに記憶制御システム600に接続されている。ホスト端末200Dは、例えば、メインフレームコンピュータとすることができる。ホスト端末200Dと記憶制御システム600との間の通信は、例えば、FICON(Fibre Connection:登録商標)、ESCON(Enterprise System Connection:登録商標)、ACONARC(Advanced Connection Architecture:登録商標)、FIBARC(Fibre Connection Architecture:登録商標)等の通信プロトコルに従って行われる。ホスト端末200Dから記憶制御システム600に対して、例えば、これらの通信プロトコルのうちのいずれかに従ってブロックアクセス要求が送信される。 For example, the host terminal 200D is connected to the storage control system 600 without going through a network such as the LAN 820 or the SAN 821. The host terminal 200D can be a mainframe computer, for example. Communication between the host terminal 200D and the storage control system 600 includes, for example, FICON (Fibre Connection: registered trademark), ESCON (Enterprise System Connection: registered trademark), ACONARC (Advanced Connection Architecture: registered trademark), and FIBARC (Fibre Connection). This is performed in accordance with a communication protocol such as Architecture (registered trademark). A block access request is transmitted from the host terminal 200D to the storage control system 600, for example, according to any of these communication protocols.
LAN820及びSAN821の少なくとも一方には、例えば、バックアップ記憶制御システム910が接続されている。バックアップ記憶制御システム910は、例えば、1又は複数個のディスク系デバイス(例えば、MO、CD−R、又はDVD−RAM)から選択されたディスク系デバイスにデータを格納する記憶制御システムであっても良いし、後に詳述する記憶制御システム600のような記憶制御システムであっても良いし、1又は複数個のテープ系デバイス(例えば、DATテープ、カセットテープ、オープンテープ又はカートリッジテープ)から選択されたテープ系デバイスにデータを格納する記憶制御システムであっても良い。バックアップ記憶制御システム910は、例えば、LAN820或いはSAN821(又は、更に、バックアップ制御システム910に接続されているホスト端末)を介して、記憶制御システム600に記憶されているデータを受信し、自分が備えている記憶装置(例えばテープ系デバイス)にそのデータを格納する。 For example, a backup storage control system 910 is connected to at least one of the LAN 820 and the SAN 821. The backup storage control system 910 may be a storage control system that stores data in a disk device selected from, for example, one or more disk devices (for example, MO, CD-R, or DVD-RAM). It may be a storage control system such as the storage control system 600 described in detail later, or selected from one or a plurality of tape-based devices (for example, DAT tape, cassette tape, open tape or cartridge tape). A storage control system that stores data in a tape device may also be used. The backup storage control system 910 receives data stored in the storage control system 600 via, for example, the LAN 820 or the SAN 821 (or a host terminal connected to the backup control system 910), and is provided in itself. The data is stored in a storage device (for example, a tape device).
また、LAN820及びSAN821のうちの少なくともLAN820には、例えば、管理サーバ819が接続されていても良い。管理サーバ819は、例えば、ホスト端末と別のホスト端末との間の通信や、ホスト端末と記憶制御システム600との間の通信の中継を行っても良い。 In addition, for example, a management server 819 may be connected to at least the LAN 820 of the LAN 820 and the SAN 821. For example, the management server 819 may perform communication between the host terminal and another host terminal, or relay communication between the host terminal and the storage control system 600.
また、ホスト端末200A〜200Dは、第三通信ネットワーク(例えばLAN)を介して相互に接続されていても良い。 The host terminals 200A to 200D may be connected to each other via a third communication network (for example, a LAN).
記憶制御システム600は、例えば、RAID((Redundant Array of Independent Inexpensive Disks))システムである。記憶制御システム600は、ホスト端末200A〜200Dから受信したコマンドに従う制御を行う。記憶制御システム600は、記憶制御サブシステム(ディスクアレイ装置)102と、保守用端末(以下、Service Processorを略して「SVP」と記載)160とを備える。記憶制御サブシステム102は、記憶制御装置100と、記憶装置ユニット101とを備える。記憶制御装置100は、1又は複数のチャネル制御部110A〜110Dと、1又は複数のキャッシュメモリ(以下、Cache Memoryを略して「CM」と記載)130と、1又は複数の共有メモリ(以下、Shared Memoryを略して「SM」と記載)120と、1又は複数のディスク制御部140A〜140Dと、接続部150とを備える。記憶装置ユニット101は、1以上の物理ディスク群5を備える。1以上の物理ディスク群5の各々は、アレイ状に配列された複数のディスク型記憶装置300を有する。 The storage control system 600 is, for example, a RAID ((Redundant Array of Independent Inexpensive Disks)) system. The storage control system 600 performs control according to commands received from the host terminals 200A to 200D. The storage control system 600 includes a storage control subsystem (disk array device) 102 and a maintenance terminal (hereinafter abbreviated as “SVP”) 160. The storage control subsystem 102 includes a storage control device 100 and a storage device unit 101. The storage controller 100 includes one or more channel controllers 110A to 110D, one or more cache memories (hereinafter abbreviated as “CM”) 130, and one or more shared memories (hereinafter referred to as “cache memories”). Shared Memory is abbreviated as “SM”) 120, one or a plurality of disk control units 140 </ b> A to 140 </ b> D, and a connection unit 150. The storage device unit 101 includes one or more physical disk groups 5. Each of the one or more physical disk groups 5 includes a plurality of disk type storage devices 300 arranged in an array.
チャネル制御部110A〜110Dの各々は、ハードウェア回路、ソフトウェア、又はそれらの組み合わせで構成することができる。各チャネル制御部110A〜110Dは、記憶制御装置100(例えば基本筐体10)に対して着脱可能であり、チャネルアダプタと呼ばれることがある。各チャネル制御部110A〜110Dは、例えば、プロセッサやメモリ等が実装されたプリント基板と、メモリに格納された制御プログラムとをそれぞれ備えており、これらのハードウェアとソフトウェアとの協働作業によって、所定の機能を実現する。チャネル制御部110A〜110Dの各々は、多重化(例えば二重化)されており、1つのチャネル制御部が破損しても他のチャネル制御部で動作するようになっている。チャネル制御部110A〜110Dは、SM120内の制御情報等(例えば後述のLU−LDEV管理テーブル)を参照しつつ、ホスト端末から受信したコマンドに従う処理を実行する。チャネル制御部110A〜110Dのうち、チャネル制御部110Cを例に採り、ディスク制御部140A〜140Dの動作も含めて先に説明すると、例えば、チャネル制御部110Cは、ホスト端末200A又は200Bから、リード要求を含んだI/O要求(入/出力要求、ここではブロックアクセス要求)を受信すると、読出しコマンドをSM120に記憶させると共に、CM130にキャッシュ領域を確保する。ディスク制御部140A〜140Dは、SM120を随時参照しており、未処理の読出しコマンドを発見すると、ディスク型記憶装置300からデータ(典型的には、ホスト端末200A〜200Dとディスク型記憶装置300との間でやり取りされるユーザデータ)を読み出して、CM130に確保された上記キャッシュ領域に記憶させる。チャネル制御部110Cは、CM130に移されたデータをキャッシュ領域から読み出し、そのデータをリード要求発行元のホスト端末200A又は200Bに送信する。 Each of the channel controllers 110A to 110D can be configured by a hardware circuit, software, or a combination thereof. Each of the channel control units 110A to 110D is detachable from the storage control device 100 (for example, the basic housing 10), and may be referred to as a channel adapter. Each of the channel control units 110A to 110D includes, for example, a printed circuit board on which a processor, a memory, and the like are mounted, and a control program stored in the memory, and through cooperation between these hardware and software, A predetermined function is realized. Each of the channel control units 110A to 110D is multiplexed (for example, duplexed) so that even if one channel control unit is damaged, it operates with another channel control unit. The channel control units 110A to 110D execute processing according to commands received from the host terminal while referring to control information in the SM 120 (for example, an LU-LDEV management table described later). Of the channel control units 110A to 110D, the channel control unit 110C is taken as an example, and the operations of the disk control units 140A to 140D will be described first. For example, the channel control unit 110C reads from the host terminal 200A or 200B. When an I / O request including the request (input / output request, here, a block access request) is received, a read command is stored in the SM 120 and a cache area is secured in the CM 130. The disk control units 140A to 140D refer to the SM 120 as needed, and when an unprocessed read command is found, data from the disk type storage device 300 (typically, the host terminals 200A to 200D, the disk type storage device 300, User data exchanged between them and read out and stored in the cache area secured in the CM 130. The channel control unit 110C reads the data transferred to the CM 130 from the cache area, and transmits the data to the host terminal 200A or 200B that issued the read request.
また、例えば、チャネル制御部110Cは、ホスト端末200B又は200Cから、ライト要求を含んだI/O要求を受信すると、書込みコマンドをSM120に記憶させると共に、CM130にキャッシュ領域を確保し、受信したI/O要求に含まれているデータを、上記確保したキャッシュ領域に記憶させる。その後、チャネル制御部110Cは、ライト要求発行元のホスト端末200B又は200Cに対して書込み完了を報告する。そして、ディスク制御部140A〜140Dは、SM120を随時参照しており、未処理の書込みコマンドを発見すると、その書込みコマンドに従って、CM130に確保された上記キャッシュ領域からデータを読出し、そのデータを所定のディスク型記憶装置300に記憶させる。 Further, for example, when the channel control unit 110C receives an I / O request including a write request from the host terminal 200B or 200C, the channel control unit 110C stores a write command in the SM 120, secures a cache area in the CM 130, and receives the received I / O request. Data included in the / O request is stored in the secured cache area. Thereafter, the channel control unit 110C reports the completion of writing to the host terminal 200B or 200C that issued the write request. Then, the disk control units 140A to 140D refer to the SM 120 as needed. When an unprocessed write command is found, the disk control unit 140A to 140D reads the data from the cache area secured in the CM 130 according to the write command, It is stored in the disk type storage device 300.
上記の処理は、他のチャネル制御部110A〜110B及び110Dも行うことができる。なお、チャネル制御部110A〜110Bは、ファイルアクセス要求をブロックアクセス要求に変換した後に(例えば、自分が持っているファイルシステムに従い、ファイル要求に含まれているファイル名を論理ブロックアドレスに変換した後に)、上記の処理を行う。 The above processing can also be performed by the other channel controllers 110A to 110B and 110D. The channel control units 110A to 110B convert the file access request into a block access request (for example, after converting the file name included in the file request into a logical block address according to the file system that the channel control unit 110A to 110B has. ), The above processing is performed.
ディスク制御部140A〜140Dは、ハードウェア回路、ソフトウェア、又はそれらの組み合わせで構成することができる。各チャネル制御部140A〜140Dは、記憶制御装置100(例えば基本筐体10又は増設筐体12)に対して着脱可能であり、ディスクアダプタと呼ばれることがある。ディスク制御部140A〜140Dは、例えば、プロセッサやメモリ等が実装されたプリント基板と、メモリに格納された制御プログラムとをそれぞれ備えており、これらのハードウェアとソフトウェアとの協働作業によって、所定の機能を実現する。ディスク制御部140A〜140Dの各々は、多重化(例えば二重化)されており、1つのディスク制御部が破損しても他のディスク制御部で動作するようになっている。ディスク制御部140A〜140Dは、SM120内の制御情報等(例えば後述のLU−LDEV管理テーブル)を参照しつつ、各物理ディスク群5に含まれる各ディスク型記憶装置300との間のデータ通信を制御するものである。各ディスク制御部140A〜140Dと各ディスク型記憶装置300とは、例えば、SAN等の通信ネットワークを介して接続されており、ファイバチャネルプロトコルに従ってブロック単位のデータ転送を行う。また、ディスク制御部140A〜140Dは、ディスク型記憶装置300の状態を随時監視しており、この監視結果は内部の通信ネットワーク(例えばLAN)151を介してSVP160に送信される。 The disk controllers 140A to 140D can be configured by hardware circuits, software, or a combination thereof. Each of the channel controllers 140A to 140D can be attached to and detached from the storage controller 100 (for example, the basic chassis 10 or the additional chassis 12), and is sometimes called a disk adapter. Each of the disk controllers 140A to 140D includes, for example, a printed circuit board on which a processor, a memory, and the like are mounted, and a control program stored in the memory. Realize the function. Each of the disk control units 140A to 140D is multiplexed (for example, duplexed) so that even if one disk control unit is damaged, it operates with another disk control unit. The disk control units 140A to 140D perform data communication with each disk type storage device 300 included in each physical disk group 5 while referring to control information in the SM 120 (for example, an LU-LDEV management table described later). To control. Each of the disk control units 140A to 140D and each of the disk storage devices 300 are connected via a communication network such as a SAN, for example, and perform data transfer in units of blocks according to a fiber channel protocol. Further, the disk control units 140A to 140D monitor the state of the disk type storage device 300 as needed, and the monitoring result is transmitted to the SVP 160 via an internal communication network (for example, LAN) 151.
1又は複数のCM130は、例えば、揮発性又は不揮発性のメモリである。CM130には、キャッシュ領域が確保され、そこに、チャネル制御部110A〜110Dとディスク制御部140A〜140Dとの間で送受されるデータが記憶される。そのデータは、複数のCM130により多重管理されても良い。 The one or more CMs 130 are, for example, volatile or nonvolatile memories. The CM 130 secures a cache area, and stores data transmitted and received between the channel controllers 110A to 110D and the disk controllers 140A to 140D. The data may be multiplexed and managed by a plurality of CMs 130.
1又は複数のSM120は、例えば不揮発性のメモリから構成され、制御情報等を記憶する(例えば、制御情報等は、複数のSM120により多重管理されても良い)。制御情報等には、例えば、チャネル制御部110A〜110Dとディスク制御部140A〜140Dとの間でやり取りされる種々のコマンドや、キャッシュ管理テーブルや、ディスク管理テーブルや、LU−LDEV管理テーブルがある。キャッシュ管理テーブルは、例えば、キャッシュ領域と、後述するLDEVの論理アドレスとの対応関係が書かれたテーブルである。ディスク管理テーブルは、各ディスク型記憶装置300を管理するためのテーブルであり、例えば、各ディスク型記憶装置300毎に、ディスクID、ベンダ、記憶容量、RAIDレベル、使用状況(例えば使用中か未使用か)等を有する。LU−LDEV管理テーブルは、後述するLDEVを管理するためのテーブルであり、例えば、各LDEV毎に、論理パス情報(例えばポート番号、ターゲットID及びLUN)、アドレス管理情報(例えば、ディスク型記憶装置300上の物理アドレスとLDEVにおける論理アドレスとの対応関係)、記憶容量及びRAIDレベルを有する。なお、物理アドレスとは、例えば、ディスク型記憶装置300のID、ディスクヘッド番号、及びセクタ数を含んだアドレス情報である。論理アドレスとは、例えば、LUN(Logica Unit Number)、LDEV番号、及び論理ブロックアドレスを含んだアドレス情報である。 One or a plurality of SMs 120 are configured from, for example, a non-volatile memory, and store control information or the like (for example, control information or the like may be multiplexed and managed by a plurality of SMs 120). The control information includes, for example, various commands exchanged between the channel controllers 110A to 110D and the disk controllers 140A to 140D, a cache management table, a disk management table, and an LU-LDEV management table. . The cache management table is, for example, a table in which a correspondence relationship between a cache area and a logical address of an LDEV described later is written. The disk management table is a table for managing each disk type storage device 300. For example, for each disk type storage device 300, the disk ID, the vendor, the storage capacity, the RAID level, the usage status (for example, in use or not used). Used) or the like. The LU-LDEV management table is a table for managing an LDEV described later. For example, for each LDEV, logical path information (for example, port number, target ID and LUN), address management information (for example, a disk type storage device) The correspondence between the physical address on 300 and the logical address in LDEV), storage capacity, and RAID level. The physical address is address information including, for example, the ID of the disk type storage device 300, the disk head number, and the number of sectors. The logical address is address information including, for example, a LUN (Logica Unit Number), an LDEV number, and a logical block address.
接続部150は、各チャネル制御部110A〜110Dと、各ディスク制御部140A〜140Dと、CM130と、SM120とを相互に接続するものである。チャネル制御部110A〜110D、CM130、SM120及びディスク制御部140A〜140D間でのデータやコマンドの授受は、接続部150を介することにより行われる。接続部150は、例えば、ユーザデータが通過する第1サブ接続部と、制御情報等が通過する第2接続部とを含んでいる。第1サブ接続部には、各チャネル制御部110A〜110D、各ディスク制御部140A〜140D及びCM130が接続され、第2サブ接続部には、各チャネル制御部110A〜110D、各ディスク制御部140A〜140D及びSM120が接続される。第1サブ接続部及び第2サブ接続部のうちの少なくとも第1サブ接続部は、例えば、高速スイッチングによりデータ伝送を行う超高速クロスバスイッチ等の高速バスである。 The connection unit 150 connects the channel control units 110A to 110D, the disk control units 140A to 140D, the CM 130, and the SM 120 to each other. Data and commands are exchanged between the channel control units 110A to 110D, the CM 130, the SM 120, and the disk control units 140A to 140D through the connection unit 150. The connection unit 150 includes, for example, a first sub-connection unit through which user data passes and a second connection unit through which control information and the like pass. The channel control units 110A to 110D, the disk control units 140A to 140D, and the CM 130 are connected to the first sub-connection unit, and the channel control units 110A to 110D and the disk control units 140A are connected to the second sub-connection unit. ~ 140D and SM120 are connected. At least the first sub-connection portion of the first sub-connection portion and the second sub-connection portion is, for example, a high-speed bus such as an ultrahigh-speed crossbar switch that performs data transmission by high-speed switching.
複数のディスク型記憶装置300の各々は、例えば、ハードディスクドライブ或いは半導体メモリ装置等である。複数のディスク型記憶装置300のうちの2以上の所定数のディスク型記憶装置300によって、RAIDグループ2が構成されている。RAIDグループ2は、例えば、パリティグループ又はエラーコレクショングループとも呼ばれることがあり、RAIDの原理に従ったディスク型記憶装置300のグループである。同じRAIDグループ2に属する2以上のディスク型記憶装置300は、例えば異なるマザーボード上に搭載され、一つのディスク型記憶装置300が故障しても、残りの他のディスク型記憶装置300のデータを用いて、その故障したディスク型記憶装置300のデータを復元できるように構成されている。このRAIDグループ2の提供する物理的な記憶領域上に、論理的な記憶デバイスである複数のLDEV(Logical Device)が設定され、複数のLDEVのうちの1以上のLDEVが、LUN(Logical Unit Number)を持った1つのLU(Logical Unit)310として、記憶制御装置100からホスト端末200A〜200Dに提供される。各LU310は、例えば、プライマリLU(データコピー元LU)として、セカンダリLU(データコピー先LU)である別LU310とペアになる場合があり、その場合、そのLU310内の全部又は一部のデータ(例えば更新前のデータ)が、別LU310にコピーされることがある。また、各LU310は、例えば、セカンダリLUとして、プライマリLUである他のLU310とペアになる場合があり、その場合、別LU310内の全部又は一部のデータ(例えば更新前のデータ)が、そのLU310にコピーされることがある。 Each of the plurality of disk type storage devices 300 is, for example, a hard disk drive or a semiconductor memory device. A RAID group 2 is configured by a predetermined number of disk storage devices 300 of two or more of the plurality of disk storage devices 300. The RAID group 2 is sometimes called, for example, a parity group or an error collection group, and is a group of the disk type storage devices 300 according to the RAID principle. Two or more disk storage devices 300 belonging to the same RAID group 2 are mounted on different motherboards, for example, and even if one disk storage device 300 fails, the data of the remaining other disk storage devices 300 are used. Thus, the data of the failed disk storage device 300 can be restored. A plurality of LDEVs (Logical Devices) that are logical storage devices are set on the physical storage area provided by the RAID group 2, and one or more LDEVs among the plurality of LDEVs are LUN (Logical Unit Number). ) Is provided from the storage control device 100 to the host terminals 200A to 200D as one LU (Logical Unit) 310. Each LU 310 may be paired, for example, as a primary LU (data copy source LU) with another LU 310 that is a secondary LU (data copy destination LU). In this case, all or a part of the data in the LU 310 ( For example, data before update) may be copied to another LU 310. Further, each LU 310 may be paired with, for example, another LU 310 that is a primary LU as a secondary LU. In this case, all or a part of the data in another LU 310 (for example, data before update) Sometimes copied to the LU 310.
SVP160は、ストレージシステム600を保守又は管理するためのコンピュータマシンである。SVP160は、例えば、内部LAN等の通信ネットワーク151を介して、記憶制御システム600の各構成要素(例えば、各チャネル制御部110A〜110D及び各ディスク制御部140A〜140D)から情報を収集することができる。具体的には、例えば、記憶制御システム600の各構成要素(例えばチャネル制御部又はディスク制御部)に搭載されているOS(オペレーティングシステム)、アプリケーションプログラム、ドライバソフトウェア等が、その構成要素で発生した障害発生に関する障害発生情報を出力するようになっていて、SVP160が、その障害発生情報を受信することができる。SVP160が受ける情報としては、例えば、装置構成、電源アラーム、温度アラーム、入出力速度(例えば、記憶制御装置100が一定時間当たりに受信したI/O要求の数)等がある。また、例えば、SVP160は、オペレータによる操作に応答して、例えば、ディスク型記憶装置300の設定や、LDEVの設定や、チャネル制御部110A〜110Dにおいて実行されるマイクロプログラムのインストール等を行うことができる。また、SVP160は、例えば、記憶制御システム600の動作状態の確認や故障部位の特定、チャネル制御部110で実行されるオペレーティングシステムのインストール等の作業を行うこともできる。また、例えば、SVP160は、LANや電話回線等の通信ネットワークを介して外部保守センタ(図示せず)と接続されていて、その外部保守センタに、記憶制御システム600の各構成要素から受信した障害発生情報等を通知しても良い。また、SVP160は、記憶制御システム600に内蔵されている形態とすることもできるし、外付けされている形態とすることもできる。 The SVP 160 is a computer machine for maintaining or managing the storage system 600. The SVP 160 can collect information from each component (for example, each channel control unit 110A to 110D and each disk control unit 140A to 140D) of the storage control system 600 via the communication network 151 such as an internal LAN. it can. Specifically, for example, an OS (operating system), application program, driver software, and the like installed in each component (for example, a channel controller or a disk controller) of the storage control system 600 are generated in the component. The failure occurrence information related to the failure occurrence is output, and the SVP 160 can receive the failure occurrence information. Information received by the SVP 160 includes, for example, a device configuration, a power supply alarm, a temperature alarm, an input / output speed (for example, the number of I / O requests received by the storage control device 100 per fixed time), and the like. Further, for example, the SVP 160 may perform setting of the disk storage device 300, setting of the LDEV, installation of a micro program executed in the channel control units 110A to 110D, and the like in response to an operation by the operator. it can. The SVP 160 can also perform operations such as confirmation of the operation state of the storage control system 600, identification of a failure part, and installation of an operating system executed by the channel control unit 110, for example. Further, for example, the SVP 160 is connected to an external maintenance center (not shown) via a communication network such as a LAN or a telephone line, and the fault received from each component of the storage control system 600 is connected to the external maintenance center. The occurrence information or the like may be notified. In addition, the SVP 160 can be built in the storage control system 600 or can be externally attached.
以上が、記憶制御システム600についての基本的な説明である。なお、この記憶制御システム600では、例えば、1つのチャネル制御部と1つのディスク制御部とが1つのモジュールとして一体的に構成されて、その1つのモジュールで、チャネル制御部及びディスク制御部の機能を発揮しても良い。また、例えば、SM120とCM130が、一体的に構成されていても良い。また、各チャネル制御部毎に1つのLUNが割当てられても良いし、複数のチャネル制御部に1つのLUNが割当てられても良い。また、記憶制御システム600には、別の記憶制御システムが接続されていても良い。その場合、例えば、記憶制御システム600が有するプライマリLUと、別の記憶制御システムが有するセカンダリLUとがペア状態にされて、記憶制御システム600に接続されているホスト端末200A〜200Dが、記憶制御システム600を介して別の記憶制御システム内のセカンダリLUにアクセスしても良い。また、例えば、記憶制御システム600は、ファイルアクセス要求及びブロックアクセス要求の双方を受けるものであっても良いし、ファイルアクセス要求のみを受けるもの(例えばNAS)であっても良いし、ブロックアクセス要求のみを受けるものであっても良い。 The above is the basic description of the storage control system 600. In the storage control system 600, for example, one channel control unit and one disk control unit are integrally configured as one module, and the functions of the channel control unit and the disk control unit are configured by the one module. May be used. For example, the SM 120 and the CM 130 may be integrally configured. Moreover, one LUN may be assigned to each channel control unit, or one LUN may be assigned to a plurality of channel control units. Further, another storage control system may be connected to the storage control system 600. In this case, for example, the primary LU included in the storage control system 600 and the secondary LU included in another storage control system are paired, and the host terminals 200A to 200D connected to the storage control system 600 perform storage control. A secondary LU in another storage control system may be accessed via the system 600. Further, for example, the storage control system 600 may receive both a file access request and a block access request, may receive only a file access request (for example, NAS), or may receive a block access request. You may receive only.
図3は、本実施形態に係る記憶制御サブシステム102の機能を示すブロック図である。なお、以下の説明では、説明を分かり易くするために、ホスト端末200A〜200Dのうちホスト端末200Cを例に採り、且つ、チャネル制御部110A〜110Dのうち、ホスト端末200Cからブロックアクセス要求を受けるチャネル制御部110Cを例に採る。 FIG. 3 is a block diagram showing functions of the storage control subsystem 102 according to the present embodiment. In the following description, for easy understanding, the host terminal 200C is taken as an example among the host terminals 200A to 200D, and a block access request is received from the host terminal 200C among the channel control units 110A to 110D. The channel control unit 110C is taken as an example.
ホスト端末200Cと記憶制御サブシステム102との間には、1又は複数の論理的な通信パス(以下、「論理パス」と言う)21A〜21Dが形成されている。各論理パス21A〜21Dは、例えば、記憶制御サブシステム102が有するポート(ホスト端末100Aが接続されるポート)の番号と、ターゲットIDと、LUNとに基づいて形成されたものである。 Between the host terminal 200C and the storage control subsystem 102, one or a plurality of logical communication paths (hereinafter referred to as “logical paths”) 21A to 21D are formed. Each of the logical paths 21A to 21D is formed based on, for example, the number of the port (port to which the host terminal 100A is connected) included in the storage control subsystem 102, the target ID, and the LUN.
1又は複数のRAIDグループ2上に用意される複数のLDEVには、例えば、通常LDEVという属性を持ったLDEV(以下、通常LDEV)61aと、プールLDEVという属性を持ったLDEV(以下、プールLDEV)61bとがある。各LDEVは、SVP160のオペレータの指示により、通常LDEV61aからプールLDEV61bになることもできるし、逆に、プールLDEV61bから通常LDEV61aになることもできる。 The plurality of LDEVs prepared on one or a plurality of RAID groups 2 include, for example, an LDEV having a normal LDEV attribute (hereinafter referred to as a normal LDEV) 61a and an LDEV having an attribute of a pool LDEV (hereinafter referred to as a pool LDEV). ) 61b. Each LDEV can be changed from the normal LDEV 61a to the pool LDEV 61b by the instruction of the operator of the SVP 160, and conversely, from the pool LDEV 61b to the normal LDEV 61a.
通常LDEV61aは、ホスト端末200Cがアクセス可能なLDEVである。換言すれば、例えば、論理パス21Aが有するLUNがホスト端末200Cから指定された場合、そのLUNに対応付けられている2つの通常LDEV61aが、LU310Aとしてホスト端末200Cに提供される。また、例えば、論理パス21Bが有するLUNがホスト端末200Cから指定された場合、そのLUNに対応付けられている1つの通常LDEV61aが、LU310Bとしてホスト端末200Cに提供される。 The normal LDEV 61a is an LDEV accessible by the host terminal 200C. In other words, for example, when the LUN included in the logical path 21A is designated from the host terminal 200C, two normal LDEVs 61a associated with the LUN are provided to the host terminal 200C as the LU 310A. For example, when the LUN included in the logical path 21B is designated from the host terminal 200C, one normal LDEV 61a associated with the LUN is provided to the host terminal 200C as the LU 310B.
プールLDEV61bは、LDEVプール68を構成するメンバであり、ホストがアクセス不可能なLDEVである。換言すれば、プールLDEV61bは、ホスト端末200Cから指定され得るLUNに対応付けられておらず、LUNが指定されても、プールLDEV61bそれ自体は、ホスト端末200Cに提供されないようになっている。 The pool LDEV 61b is a member constituting the LDEV pool 68, and is an LDEV that cannot be accessed by the host. In other words, the pool LDEV 61b is not associated with a LUN that can be designated from the host terminal 200C, and even if a LUN is designated, the pool LDEV 61b itself is not provided to the host terminal 200C.
LDEVプール68の上位には、ホスト端末200Cに対して提供される1又は複数の仮想LU310Cが存在する。仮想LU310Cは、ホスト端末200Cに提供されるLUであるが、他のLU310A、310Bと違い、RAIDグループ2上に物理的なデータ格納領域を持たない仮想的なLUである。具体的に言えば、仮想LU310Cは、1つの(又は複数の)仮想LDEV61cから構成されるが、その仮想LDEV61cは、通常LDEV61aやプールLDEV61bと異なり、RAIDグループ2上に物理的なデータ格納領域を持たない仮想的なLDEVである。仮想LDEV61cが有する複数の仮想アドレスの各々は、動的アドレッシングテーブル(以下、「DAT」と略記)64を介して、動的に、プールLDEV68が有する複数の論理アドレスから選択された論理アドレスに対応付けられたり、その対応付けが解除されてその論理アドレスが開放されたりする。 One or more virtual LUs 310C provided to the host terminal 200C exist above the LDEV pool 68. The virtual LU 310C is an LU provided to the host terminal 200C. However, unlike the other LUs 310A and 310B, the virtual LU 310C is a virtual LU that does not have a physical data storage area on the RAID group 2. More specifically, the virtual LU 310C is composed of one (or a plurality) of virtual LDEVs 61c. Unlike the normal LDEV 61a and the pool LDEV 61b, the virtual LDEV 61c has a physical data storage area on the RAID group 2. It is a virtual LDEV that does not have. Each of the plurality of virtual addresses included in the virtual LDEV 61c dynamically corresponds to a logical address selected from the plurality of logical addresses included in the pool LDEV 68 via the dynamic addressing table (hereinafter abbreviated as “DAT”) 64. Or the association is released and the logical address is released.
図4は、仮想LDEV61c、LDEVプール68、及びDAT64の構成例を示す。 FIG. 4 shows a configuration example of the virtual LDEV 61c, the LDEV pool 68, and the DAT 64.
仮想LDEV61cは、例えば、一定サイズ(例えば64キロバイト)を有する複数の仮想チャンク410c、410c、…から成っている。各仮想チャンク410cは、所定個数(例えば128個)の論理ブロック(例えば1個が512バイト)から構成されている。各仮想チャンク410cには、先頭論理ブロックアドレス(以下、「仮想先頭LBA」と略記)が存在し、仮想先頭LBAから、どの仮想チャンク410cであるかを特定することができるようになっている。 The virtual LDEV 61c is composed of a plurality of virtual chunks 410c, 410c,... Having a certain size (for example, 64 kilobytes), for example. Each virtual chunk 410c is composed of a predetermined number (for example, 128) of logical blocks (for example, one is 512 bytes). Each virtual chunk 410c has a head logical block address (hereinafter abbreviated as “virtual head LBA”), and the virtual chunk 410c can be identified from the virtual head LBA.
各LDEVプール68は、1以上のLDEV61bの集合であり、例えば、一定サイズ(例えば64キロバイト)を有する複数の論理チャンク410b、410b、…から成っている。各論理チャンク61bは、所定個数(例えば128個)の論理ブロック(例えば1個が512バイト)から構成されている。各論理チャンク410bには、先頭論理ブロックアドレス(以下、「論理先頭LBA」と略記)が存在し、論理先頭LBAから、どの論理チャンク410cであるかを特定することができるようになっている。なお、例えば、アクセスする論理先頭LBAが決まれば、対応するチャンクの番号が決まる。具体的には、例えば、論理チャンクサイズを64KB(=128ブロック)とすると、論理チャンク番号nは、論理ブロック番号m/128の整数部となる(例えば、論理ブロック番号が0〜127の論理ブロックを有する論理チャンク番号はゼロであり、論理ブロック番号が128〜255の論理ブロックを有する論理チャンクの番号は1である)。 Each LDEV pool 68 is a set of one or more LDEVs 61b, and includes a plurality of logical chunks 410b, 410b,... Having a certain size (for example, 64 kilobytes), for example. Each logical chunk 61b is composed of a predetermined number (for example, 128) of logical blocks (for example, one is 512 bytes). Each logical chunk 410b has a head logical block address (hereinafter abbreviated as “logical head LBA”), and the logical chunk 410c can be specified from the logical head LBA. For example, if the logical head LBA to be accessed is determined, the corresponding chunk number is determined. Specifically, for example, when the logical chunk size is 64 KB (= 128 blocks), the logical chunk number n is an integer part of the logical block number m / 128 (for example, logical blocks with logical block numbers 0 to 127). The logical chunk number having the logical block number is zero, and the logical chunk number having the logical block number of 128 to 255 is 1).
DAT64は、外部端末(例えばSVP160)から記憶制御サブシステム102内の記憶領域(例えばSM120)に登録される。DAT64は、各仮想LDEV61c毎に用意され、その仮想LDEV61cの各仮想チャンク410cと、1以上のLDEVプール68の各々における各論理チャンク410bとを対応付けるためのテーブルである。具体的には、例えば、DAT64には、各仮想先頭LBA毎に、その仮想先頭LBAに対応付けられたLDEVプール68の識別情報(例えばLDEVプール番号)と、そのLDEVプール68における論理先頭LBAとが記述される。このDAT64の記述内容は、所定のタイミング、例えば、チャネル制御部110AがI/O要求を受けた場合に、チャネル制御部110Aによって更新される。チャネル制御部110Aは、プールマネジメントテーブル(以下、「PMT」と略記)63を参照して、DAT64の記述内容の更新を更新する。 The DAT 64 is registered in a storage area (eg, SM 120) in the storage control subsystem 102 from an external terminal (eg, SVP 160). The DAT 64 is prepared for each virtual LDEV 61c, and is a table for associating each virtual chunk 410c of the virtual LDEV 61c with each logical chunk 410b in each of the one or more LDEV pools 68. Specifically, for example, the DAT 64 includes, for each virtual head LBA, the identification information (for example, LDEV pool number) of the LDEV pool 68 associated with the virtual head LBA, and the logical head LBA in the LDEV pool 68. Is described. The description content of the DAT 64 is updated by the channel control unit 110A at a predetermined timing, for example, when the channel control unit 110A receives an I / O request. The channel control unit 110 </ b> A refers to a pool management table (hereinafter abbreviated as “PMT”) 63 to update the description content of the DAT 64.
図5は、PMT63の構成例を示す。 FIG. 5 shows a configuration example of the PMT 63.
PMT63は、LDEVプール68毎に存在するものであり、外部端末(例えばSVP160)から記憶制御サブシステム102内の記憶領域(例えばSM120)に登録される。LDEVプール68の各論理チャンク401b毎に、エントリ番号が割り当てられる。各PMT63には、それに対応したLDEVプール68における初めの空きエントリの番号(換言すれば、論理先頭LBAが最も若いチャンク番号)を筆頭に、キュー形式で、他の空きエントリの番号が書かれる。 The PMT 63 exists for each LDEV pool 68, and is registered in a storage area (for example, SM 120) in the storage control subsystem 102 from an external terminal (for example, the SVP 160). An entry number is assigned to each logical chunk 401b of the LDEV pool 68. In each PMT 63, the number of the first empty entry in the corresponding LDEV pool 68 (in other words, the chunk number having the smallest logical head LBA) is written in the queue format in the queue format.
以下、図6を参照して、仮想LDEV61cとLDEVプール68とを動的に対応付けるチャネル制御部110Cの処理流れについて説明する。 Hereinafter, the processing flow of the channel control unit 110C that dynamically associates the virtual LDEV 61c and the LDEV pool 68 will be described with reference to FIG.
ホスト端末200Cは、通常のLU310Aにアクセスする場合と同様の方法で、仮想LU310Cに対するI/O要求を出力する。チャネル制御部110Cは、例えば、ホスト端末200CからそのI/O要求を受けた場合(ステップS11)、そのI/O要求から割り出された仮想先頭LBAと、LDEVプール68の論理先頭LBAとの対応付けを行う。具体的には、例えば、チャネル制御部110Cは、I/O要求を受けた仮想LU310Cが有する仮想LDEV61cに対応したDAT64を参照し、上記割り出された仮想先頭LBAに対応したLDEVプール番号を取得する(S12)。次に、チャネル制御部110Cは、取得したLDEVプール番号に対応したPMT63から、そのPMT63に書かれている最初の空きエントリ番号に対応した論理先頭LBAを取得し、その論理先頭LBAを、上記仮想先頭LBAに対応した場所(DAT64上の場所)に登録する(S13)。それにより、上記仮想先頭LBAに論理先頭LBAが対応付けられ、その論理先頭LBAを持つ論理チャンクからデータが読み出されたり、その論理チャンクにデータが書き込まれたりすることができるようになる。 The host terminal 200C outputs an I / O request for the virtual LU 310C in the same manner as when accessing the normal LU 310A. For example, when the channel control unit 110C receives the I / O request from the host terminal 200C (step S11), the channel control unit 110C determines whether the virtual head LBA calculated from the I / O request and the logical head LBA of the LDEV pool 68 are Perform the association. Specifically, for example, the channel control unit 110C refers to the DAT 64 corresponding to the virtual LDEV 61c included in the virtual LU 310C that has received the I / O request, and acquires the LDEV pool number corresponding to the calculated virtual head LBA. (S12). Next, the channel control unit 110C acquires the logical head LBA corresponding to the first empty entry number written in the PMT 63 from the PMT 63 corresponding to the acquired LDEV pool number, and uses the logical head LBA as the virtual head LBA. Registration is made at a location corresponding to the first LBA (location on DAT 64) (S13). As a result, the logical head LBA is associated with the virtual head LBA, and data can be read from or written to the logical chunk having the logical head LBA.
また、チャネル制御部110Cは、例えば、上記I/O要求に基づく処理の終了後に(S14でY)、DAT64に書かれた論理先頭LBAを開放することができる。具体的には、例えば、チャネル制御部110Cは、DAT64に登録した上記論理先頭LBAをDAT64から削除し、PMT63に、その論理先頭LBA及びそれに対応するエントリ番号をPMT64に格納する(S15)。 For example, the channel control unit 110C can release the logical head LBA written in the DAT 64 after the processing based on the I / O request is completed (Y in S14). Specifically, for example, the channel control unit 110C deletes the logical head LBA registered in the DAT 64 from the DAT 64, and stores the logical head LBA and the corresponding entry number in the PMT 64 in the PMT 64 (S15).
以上のような流れで、仮想LU310C(仮想LDEV61c)とLDEVプール68との動的な対応付けやそれの解除が行われる。このように、どのホスト端末からアクセスされるかが予め割当てられていないプールLDEV61b、61b、…から成るLDEVプール68を用意し、そのLDEVプール68における記憶領域をフレキシブルに仮想LU310C(仮想LDEV61c)に対応付けることにより、空いている記憶領域を有効に活用することができる。 Through the flow as described above, the dynamic association between the virtual LU 310C (virtual LDEV 61c) and the LDEV pool 68 and the cancellation thereof are performed. As described above, an LDEV pool 68 composed of pool LDEVs 61b, 61b,... To which access from which host terminal is not assigned in advance is prepared, and a storage area in the LDEV pool 68 is flexibly allocated to a virtual LU 310C (virtual LDEV 61c). By associating, a free storage area can be used effectively.
図7は、この実施形態に係るLU−LDEV管理テーブル162bの構成例を示す。 FIG. 7 shows a configuration example of the LU-LDEV management table 162b according to this embodiment.
LU−LDEV管理テーブル162bは、記憶制御サブシステム102内の記憶領域(例えばSM120)に登録されるものである。LU−LDEV管理テーブル162bには、例えば、記憶制御システム600が備える各ポート(ホスト端末が接続されるポート)毎に、ポート番号と、そのポート番号に属する1以上のターゲットIDと、各ターゲットIDに属する1以上のLUNと、各LUNに属する1以上のLDEVに関するLDEV情報が記録されている。各LDEVのLDEV情報としては、例えば、LDEV番号、記憶容量、RAIDレベル、上述したアドレス管理情報、LDEV属性、DAT−ID、LDEVプール番号及び状態がある。 The LU-LDEV management table 162b is registered in a storage area (for example, SM 120) in the storage control subsystem 102. In the LU-LDEV management table 162b, for example, for each port (port to which a host terminal is connected) included in the storage control system 600, a port number, one or more target IDs belonging to the port number, and each target ID LDEV information relating to one or more LUNs belonging to and one or more LDEVs belonging to each LUN are recorded. The LDEV information of each LDEV includes, for example, an LDEV number, storage capacity, RAID level, the above-described address management information, LDEV attribute, DAT-ID, LDEV pool number, and status.
LDEV属性としては、例えば、上述したプールLDEV、通常LDEV及び仮想LDEVというものがある。 Examples of the LDEV attribute include the above-described pool LDEV, normal LDEV, and virtual LDEV.
「プールLDEV」というLDEV属性を持つLDEV(前述したプールLDEV61b)は、ホスト端末にアクセスされないようになっているため、プールLDEV61bには、論理パス情報(例えばLUN)は対応付けられていない。また、プールLDEV61bには、どのLDEVプール68のメンバであるかが識別されるようにLDEVプール番号が対応付けられている。 Since the LDEV having the LDEV attribute “pool LDEV” (the aforementioned pool LDEV 61b) is not accessed by the host terminal, logical path information (for example, LUN) is not associated with the pool LDEV 61b. Further, an LDEV pool number is associated with the pool LDEV 61b so as to identify which LDEV pool 68 is a member of.
「仮想LDEV」というLDEV属性を有するLDEV(前述した仮想LDEV61c)には、そのLDEV61cに対応するDAT64のID(例えばゼロ)が対応付けられる。このDAT−IDを参照することにより、どの仮想LDEV61c(仮想LU310C)にアクセスされた場合にはどのDATを参照すれば良いかがわかるようになっている。また、仮想LDEV61cには、どのLDEVプール68のメンバであるかが識別されるようにLDEVプール番号が対応付けられている。 The LDEV having the LDEV attribute “virtual LDEV” (the above-described virtual LDEV 61c) is associated with the ID (for example, zero) of the DAT 64 corresponding to the LDEV 61c. By referring to this DAT-ID, it is possible to know which DAT should be referred to when which virtual LDEV 61c (virtual LU 310C) is accessed. Further, the LDEV pool number is associated with the virtual LDEV 61c so as to identify which LDEV pool 68 is a member of.
「通常LDEV」というLDEV属性を有するLDEV(前述した通常LDEV61a)には、DAT−ID及びLDEVプール番号は対応付けられていない。 The DEV-ID and the LDEV pool number are not associated with the LDEV having the LDEV attribute “normal LDEV” (the above-described normal LDEV 61a).
LDEVの状態としては、例えば、アクセス可能な状態であることを表す「Ready」(例えば実装状態)と、アクセス不可能な状態であることを表す「Not Ready」(例えば未実装状態)とがある。 The LDEV status includes, for example, “Ready” (for example, mounting state) indicating an accessible state and “Not Ready” (for example, unmounted state) indicating an inaccessible state. .
ところで、チャネル制御部110Cは、ホスト端末200Cから受けたデータ(又はLUから取得されたデータ、以下、「ホストデータ」と言う)のデータパターンに基づき、CM130を介してホストデータをディスク制御部140A〜140Dに渡すか、或いは、ホストデータをディスク制御部140A〜140Dに渡さずに消去するかを決定する処理(換言すれば、ホストデータをディスク型記憶装置300に格納するか、或いは、ホストデータをディスク型記憶装置300には格納せずに消去するかを決定する処理)を行う。この処理は、例えば、LU(1以上のLDEV)をフォーマットするためにホスト端末200Cから後述のフォーマットデータが出力された場合に有用である。以下、詳述する。 By the way, the channel control unit 110C sends the host data to the disk control unit 140A via the CM 130 based on the data pattern of data received from the host terminal 200C (or data acquired from the LU, hereinafter referred to as “host data”). To 140D, or a process for determining whether to erase the host data without passing it to the disk control units 140A to 140D (in other words, storing the host data in the disk-type storage device 300, or host data To determine whether to delete the data without storing it in the disk-type storage device 300. This process is useful, for example, when format data described later is output from the host terminal 200C in order to format an LU (one or more LDEVs). Details will be described below.
図8は、ホスト端末200Cにおけるソフトウェア構成例及びホスト端末200Cから出力されるライト要求の例を示す。 FIG. 8 shows a software configuration example in the host terminal 200C and an example of a write request output from the host terminal 200C.
ホスト端末200Cの内部バス324に、制御部(例えばCPU)323と、メモリ321と、記憶装置(例えばハードディスクドライブ)322と、ユーザインターフェース(例えばキーボード等の入力装置)474とが接続されている。ホスト端末200Cのメモリ321に、UNIX(登録商標)等のオペレーティングシステム(以下、「OS」と言う)472と、OS472上で動作するアプリケーションプログラム471とが、例えば記憶装置322からロードされて記憶される。OS472及びアプリケーションプログラム471は、制御部323に読み込まれることにより機能する。 A control unit (for example, CPU) 323, a memory 321, a storage device (for example, a hard disk drive) 322, and a user interface (for example, an input device such as a keyboard) 474 are connected to the internal bus 324 of the host terminal 200C. An operating system (hereinafter referred to as “OS”) 472 such as UNIX (registered trademark) 472 and an application program 471 operating on the OS 472 are loaded from the storage device 322 and stored in the memory 321 of the host terminal 200C. The The OS 472 and the application program 471 function by being read by the control unit 323.
ユーザインターフェース474は、ユーザによる操作の結果をアプリケーションプログラム471又はOS472に通知する。 The user interface 474 notifies the application program 471 or the OS 472 of the result of the user operation.
アプリケーションプログラム471は、例えば、ユーザインタフェースから、ユーザ指定のLUにデータファイルを書込むことの指示を受けた場合、そのデータファイルをユーザ指定のLUに書込むことを意味するファイル書込み指示をOS472に送信する。 For example, when the application program 471 receives an instruction to write a data file to a user-specified LU from the user interface, the application program 471 issues a file write instruction to the OS 472 to write the data file to the user-specified LU. Send.
OS472は、例えば、アプリケーションプログラム471からファイル書込み指示を受けた場合、自分が持っているファイルシステム475を参照して、データファイルをブロックデータ476に変換し、そのブロックデータ476をユーザ指定のLUに書き込むことを意味する第一ライト要求(ブロックアクセス要求、例えばSCSIコマンド)を生成して、その第一ライト要求を記憶制御サブシステム102に送信する。 For example, when receiving a file write instruction from the application program 471, the OS 472 refers to the file system 475 that the OS 472 owns, converts the data file into block data 476, and converts the block data 476 into a user-specified LU. A first write request (block access request, for example, a SCSI command) meaning writing is generated, and the first write request is transmitted to the storage control subsystem 102.
また、例えば、OS472は、所定のイベントが発生した場合(例えば、電源がターンオンされた場合又はOS472が再起動する場合)、記憶制御サブシステム102に関するシステム情報を記憶制御サブシステム102に対して要求するためのシステム情報要求コマンド(例えばリードキャパシティコマンド又はデバイスディスカバリーコマンド)を、記憶制御サブシステム102に送信する。その場合、ホスト端末200Cは、記憶制御サブシステム102からシステム情報(例えば、ホスト端末200Cがアクセス可能な全てのLUに関する情報(例えば、論理パス情報及び記憶容量))を受信し、そのシステム情報を、ホスト端末200C内の記憶装置(例えばメモリ又はハードディスク)に格納する。 For example, when a predetermined event occurs (for example, when the power is turned on or when the OS 472 is restarted), the OS 472 requests the storage control subsystem 102 for system information related to the storage control subsystem 102. A system information request command (for example, a read capacity command or a device discovery command) is transmitted to the storage control subsystem 102. In this case, the host terminal 200C receives system information (for example, information (for example, logical path information and storage capacity) regarding all LUs accessible by the host terminal 200C) from the storage control subsystem 102, and receives the system information. The data is stored in a storage device (for example, a memory or a hard disk) in the host terminal 200C.
また、例えば、OS472は、アプリケーションプログラム471を介さずにユーザインターフェース474から所定の命令を受けた場合、その命令に基づいて、一定のデータパターンを持ったホストデータを有する第二ライト要求を生成して記憶制御サブシステム102に送信する。具体的には、例えば、OS472は、ユーザ指定のLUをフォーマットすることを意味するフォーマット指示をユーザインターフェース474から受けた場合、ユーザ指定のLUの記憶容量と同サイズのフォーマットデータ473を含んだ第二ライト要求(ブロックアクセス要求、例えばSCSIライトコマンド)を生成し、その第二ライト要求を記憶制御サブシステム102に送信する。 For example, when the OS 472 receives a predetermined command from the user interface 474 without going through the application program 471, the OS 472 generates a second write request having host data having a certain data pattern based on the command. To the storage control subsystem 102. Specifically, for example, when the OS 472 receives a format instruction meaning that the user-specified LU is formatted from the user interface 474, the OS 472 includes format data 473 having the same size as the storage capacity of the user-specified LU. A second write request (block access request, for example, a SCSI write command) is generated, and the second write request is transmitted to the storage control subsystem 102.
すなわち、本実施形態では、記憶制御サブシステム102のチャネル制御部110Cがホスト端末300Cから受けるライト要求には、データパターンが一定ではないホストデータ(つまり、データの並びに法則性の無いブロックデータ)476を有する第一ライト要求と、データパターンが一定であるホストデータ(つまり、データの並びに法則性の有るブロックデータ、例えばフォーマットデータ473)を有する第二ライト要求とがある。もし、チャネル制御部110Cが受けたライト要求が第二ライト要求であって、その第二ライト要求にフォーマットデータ473が含まれている場合には、そのフォーマットデータ473は、ユーザ指定のLUの記憶容量と同サイズなので、本実施形態の特徴点の一つに係る後述の工夫を施さないと、ユーザ指定のLU全体にフォーマットデータ473が書き込まれることになる。このため、ユーザデータ(例えばユーザによって作成された文書データ等)が格納されていないために本来空きとなる論理記憶領域(LDEV記憶領域)にデータが格納されてしまうことになる。このデメリットは、ユーザ指定の書込み先LUが、通常のLU310A、310Bの場合よりも、仮想LU310Cの場合の方が大きい。なぜなら、通常LU310A、310Bが有する通常LDEV61aの空き記憶領域(例えば空きチャンク)は、論理パスによって予め定められたホスト端末に割当てられており動的に割当てられるものではないが、仮想LU310Cが動的に対応付けられるLDEVプール68の空き記憶領域(例えば空きチャンク)は、予め決まったホスト端末に割当てられておらず動的に割当てられるものであるためである。すなわち、LDEVプール68の空き記憶領域が無駄に減ってしまうと、仮想LU310Cが備えられて上述した動的な対応付けが行われることのメリットが表れにくくなるのである。 In other words, in the present embodiment, host data with a non-constant data pattern (that is, block data with no regularity of data) 476 is included in the write request received from the host terminal 300C by the channel control unit 110C of the storage control subsystem 102. And a second write request having host data having a constant data pattern (that is, block data having a regularity of data, for example, format data 473). If the write request received by the channel control unit 110C is the second write request, and the format data 473 is included in the second write request, the format data 473 is stored in the LU specified by the user. Since the size is the same as the capacity, the format data 473 is written in the entire user-specified LU unless the device described below is applied to one of the feature points of this embodiment. For this reason, since user data (for example, document data created by the user) is not stored, data is stored in a logical storage area (LDEV storage area) that is originally free. This disadvantage is greater when the user-specified write destination LU is a virtual LU 310C than when it is a normal LU 310A, 310B. This is because the free storage area (for example, free chunk) of the normal LDEV 61a included in the normal LUs 310A and 310B is allocated to a host terminal predetermined by a logical path and is not dynamically allocated, but the virtual LU 310C is dynamically allocated. This is because the free storage area (for example, free chunks) of the LDEV pool 68 associated with is not assigned to a predetermined host terminal but is dynamically assigned. In other words, if the free storage area of the LDEV pool 68 is unnecessarily reduced, the merit of providing the virtual LU 310C and performing the above-described dynamic association becomes difficult to appear.
そこで、本実施形態では、以下に説明する工夫が施されている。以下、本実施形態における主要な部分の基本的概念と、具体例とに分けて説明する。 Therefore, in the present embodiment, the device described below is provided. Hereinafter, the basic concept of the main part in this embodiment and a specific example will be described separately.
(1)本実施形態の基本的概念。 (1) Basic concept of this embodiment.
図8に示すように、記憶制御サブシステム102が備えるメモリ520(例えばSM120)が、LU310(1以上のLDEV)に存在してはならないデータ(以下、「ライト対象外データ」と言う)が有する1又は複数のデータパターンを示すデータパターン情報530(例えば、後述のデータパターンテーブル(以下、「DPT」と略記)800)を記憶する。 As shown in FIG. 8, the memory 520 (for example, SM 120) included in the storage control subsystem 102 has data (hereinafter referred to as “data not to be written”) that should not exist in the LU 310 (one or more LDEVs). Data pattern information 530 (for example, a data pattern table (hereinafter abbreviated as “DPT”) 800 described later) indicating one or more data patterns is stored.
記憶制御サブシステム102は、データ格納制御部481(例えば、データチェック回路67を有するチャネル制御部110C、110D又はディスク制御部140A〜140C)を備える。データ格納制御部481は、ホスト端末200Cとの間でやり取りするデータ(以下、ホストデータ)のデータパターンが、上記データパターン情報に含まれる1又は複数のデータパターンのいずれかに適合するか(例えば一致するか)否かを判別する。否定的な判別結果が得られた場合、データ格納制御部481は、ホストデータをLU310に格納する又はホスト端末200Cにホストデータを転送する。一方、肯定的な判別結果が得られた場合、データ格納制御部481は、当該ホストデータはライト対象外データなので、そのホストデータをLUに格納しない(もし、LUに存在してれば消去する)。 The storage control subsystem 102 includes a data storage control unit 481 (for example, channel control units 110C and 110D having the data check circuit 67 or disk control units 140A to 140C). The data storage control unit 481 determines whether the data pattern of data exchanged with the host terminal 200C (hereinafter referred to as host data) matches either one or a plurality of data patterns included in the data pattern information (for example, Whether or not they match) is determined. When a negative determination result is obtained, the data storage control unit 481 stores the host data in the LU 310 or transfers the host data to the host terminal 200C. On the other hand, if a positive determination result is obtained, the data storage control unit 481 does not store the host data in the LU because the host data is data not to be written (if it exists in the LU, it is deleted. ).
この基本的概念によれば、例えば、記憶制御サブシステム102が第一ライト要求を受けた場合、第一ライト要求に含まれているブロックデータ476のデータパターンは一定ではないので、データパターン情報530に含まれている1又は複数のデータパターンのいずれにも適合することはなく、そのブロックデータ476はLU310に格納される。しかし、記憶制御サブシステム102が第二ライト要求を受けた場合、第二ライト要求に含まれているブロックデータ(例えばフォーマットデータ473)のデータパターンは一定であるので、データパターン情報530に含まれている1又は複数のデータパターンのいずれか1つに適合し、そのブロックデータはLU310には格納されない(もしLU310にあったら消去される)。 According to this basic concept, for example, when the storage control subsystem 102 receives a first write request, the data pattern of the block data 476 included in the first write request is not constant. And the block data 476 is stored in the LU 310. However, when the storage control subsystem 102 receives the second write request, the data pattern of the block data (for example, format data 473) included in the second write request is constant and therefore included in the data pattern information 530. The block data is not stored in the LU 310 (if it exists in the LU 310, it is erased).
(2)本実施形態の第一具体例。 (2) First specific example of this embodiment.
第一具体例は、仮想LU310C(仮想LDEV61c)に対するI/O要求をチャネル制御部110Cがホスト端末300Cから受ける場合の例である。以下、詳述する。 The first specific example is an example in which the channel control unit 110C receives an I / O request for the virtual LU 310C (virtual LDEV 61c) from the host terminal 300C. Details will be described below.
図9は、図3に示したDPT800の構成例を示す。 FIG. 9 shows a configuration example of the DPT 800 shown in FIG.
DPT800は、例えば、チャネル制御部110Cに搭載されたメモリ、ディスク制御部140A〜140Dに搭載されたメモリ、CM130及びSM120の少なくとも1つに登録される。DPT800は、例えば、外部端末(例えばSVP160)から登録される。DPT800には、各LDEV(例えば仮想LDEV61c)毎に、1又は複数のデータパターンと、そのLDEVに登録されたデータパターンが有効か否かを示す有効フラグとが登録される。 For example, the DPT 800 is registered in at least one of a memory mounted in the channel control unit 110C, a memory mounted in the disk control units 140A to 140D, the CM 130, and the SM 120. The DPT 800 is registered from, for example, an external terminal (for example, SVP 160). In the DPT 800, for each LDEV (for example, virtual LDEV 61c), one or a plurality of data patterns and a valid flag indicating whether or not the data pattern registered in the LDEV is valid are registered.
1又は複数のデータパターンの各々は、一定のパターンを有するもの、例えばフォーマットデータのデータパターンである。フォーマットデータのデータパターンは、例えばOS(例えば種類又はバージョン)毎に異なるので、どのLDEVに格納されるデータはどんなOSから出力されるものかに基づいて入力される。DPT800に1又は複数のデータパターンを登録するのは、外部端末のユーザによって手動で行なわれても良いし、コンピュータプログラムによって自動で行われてもよい。また、データパターンのデータ長及び最大データ長の少なくとも一方は予め決められている。例えば、データパターンのデータ長及びデータ最大長の少なくとも一方は、論理チャンクの記憶サイズの倍数又は約数である。 Each of the one or more data patterns has a certain pattern, for example, a data pattern of format data. Since the data pattern of the format data is different for each OS (for example, type or version), for example, data stored in which LDEV is input based on what OS is output. The registration of one or more data patterns in the DPT 800 may be performed manually by a user of an external terminal or automatically by a computer program. Further, at least one of the data length and the maximum data length of the data pattern is determined in advance. For example, at least one of the data length and the maximum data length of the data pattern is a multiple or a divisor of the storage size of the logical chunk.
各LDEVの有効フラグは、例えば「1」であれば、そのLDEVに対応付けられたデータパターンが有効であることを示し、例えば「0」であれば、無効であることを示す。有効であれば、そのデータパターンを用いて、ホストデータのデータパターンとの比較処理が行われ、無効であれば(例えば、対応するエントリにデータパターンが登録されていなければ)、そのような比較処理は行われない。 For example, if the valid flag of each LDEV is “1”, it indicates that the data pattern associated with the LDEV is valid, and if it is “0”, for example, it indicates that it is invalid. If valid, the data pattern is used to compare with the data pattern of the host data, and if invalid (for example, if no data pattern is registered in the corresponding entry), such comparison is performed. No processing is performed.
このDPT800に登録されるLDEVの情報は、仮想LDEV61cの情報であっても通常LDEV61aの情報であっても良いが、仮想LDEV61cの情報の方が望ましいと考えられる。また、DPT800には、OS毎に、データパターンが登録されても良い。 The LDEV information registered in the DPT 800 may be virtual LDEV 61c information or normal LDEV 61a information, but the virtual LDEV 61c information is considered to be more desirable. In the DPT 800, a data pattern may be registered for each OS.
図10は、チャネル制御部110Cの構成例を示す。 FIG. 10 shows a configuration example of the channel control unit 110C.
チャネル制御部110Cは、ハードウェア要素が一体的にユニット化されたボードで構成される。チャネル制御部110Cは、図示しないボード接続用コネクタを備えており、そのボード接続用コネクタが記憶制御装置100の所定コネクタに嵌合することにより、チャネル制御部110Cは記憶制御装置100と電気的に接続される。チャネル制御部110Cは、例えば、ホストインターフェース部(以下、「ホストI/F」と記載)711、SVPインターフェース部(以下、「SVPI/F」と記載)51、ホスト側メモリ113、1又は複数の入出力制御部771、CMデータ転送回路710、SMデータ転送回路740、内部バス750、及びデータチェック回路67を備える。内部バス750に、後述のCHP(チャネルプロセッサ)119、ホスト側メモリ113、CMデータ転送回路710、及びSMデータ転送回路740が接続されている。 The channel control unit 110C is configured by a board in which hardware elements are integrated into a unit. The channel control unit 110 </ b> C includes a board connection connector (not shown), and the channel control unit 110 </ b> C is electrically connected to the storage control device 100 by fitting the board connection connector to a predetermined connector of the storage control device 100. Connected. The channel control unit 110C includes, for example, a host interface unit (hereinafter referred to as “host I / F”) 711, an SVP interface unit (hereinafter referred to as “SVPI / F”) 51, a host-side memory 113, one or more An input / output control unit 771, a CM data transfer circuit 710, an SM data transfer circuit 740, an internal bus 750, and a data check circuit 67 are provided. A CHP (channel processor) 119, a host-side memory 113, a CM data transfer circuit 710, and an SM data transfer circuit 740, which will be described later, are connected to the internal bus 750.
ホストI/F711は、ホスト端末200Cとの間で通信を行うための通信インタフェースであり、例えば、ファイバチャネルプロトコルに従ってホスト端末200Cから送信されたブロックアクセス要求を受信する。 The host I / F 711 is a communication interface for performing communication with the host terminal 200C, and receives, for example, a block access request transmitted from the host terminal 200C according to the fiber channel protocol.
SVPI/F51は、内部LAN150等の通信ネットワークを介してSVP160に接続され、且つ、後述のCHP119に接続される。SVPI/F51は、SVP160とCHP119との間の通信を制御するための通信インタフェース(例えばLANコントローラ)である。 The SVPI / F 51 is connected to the SVP 160 via a communication network such as the internal LAN 150 and is connected to a CHP 119 described later. The SVPI / F 51 is a communication interface (for example, a LAN controller) for controlling communication between the SVP 160 and the CHP 119.
ホスト側メモリ113には、例えば、CHP119で使用される様々なプログラムやデータが格納される。具体的には、例えば、ホスト側メモリ113の予め定められたアドレスに、データチェック回路67が使用するデータパターン等のデータが格納される。このデータパターン等は、例えば、SM120から読み出されたDPT800それ自体であっても良いし、チャネル制御部110Cから出力されるデータが格納され得るLDEVについてのデータパターンであっても良い。 The host-side memory 113 stores various programs and data used by the CHP 119, for example. Specifically, for example, data such as a data pattern used by the data check circuit 67 is stored at a predetermined address in the host-side memory 113. This data pattern or the like may be, for example, the DPT 800 itself read from the SM 120, or a data pattern for an LDEV in which data output from the channel control unit 110C can be stored.
データチェック回路67は、チャネル制御部110Cの所定の場所、例えば、CMデータ転送回路710とCM130との間に設けられる。データチェック回路67は、ハードウェア、ソフトウェア又はそれらの組合せで構成することができる(例えば純粋なハードウェア回路である)。データチェック回路67は、ホストデータのデータパターンと、ホスト側メモリ1103に格納された1又は複数のデータパターン(例えばDPT800)との比較(以下、「データパターン比較」と言う)を行う。データチェック回路67は、図示しないレジスタを有しており、そのレジスタに、データパターン比較の結果(すなわち、上記1又は複数のデータパターンの中に、ホストデータのデータパターンに適合するものがあるか否か)を書き込む。 The data check circuit 67 is provided at a predetermined location of the channel control unit 110C, for example, between the CM data transfer circuit 710 and the CM 130. The data check circuit 67 can be configured by hardware, software, or a combination thereof (for example, a pure hardware circuit). The data check circuit 67 compares the data pattern of the host data with one or more data patterns (for example, DPT 800) stored in the host-side memory 1103 (hereinafter referred to as “data pattern comparison”). The data check circuit 67 has a register (not shown), and the register has a result of data pattern comparison (that is, whether one or a plurality of data patterns conforms to the data pattern of the host data). Or not).
CMデータ転送回路710は、ホスト端末110CとCM130間のデータ転送を実行するハードウエアである。CMデータ転送回路710は、CHP119の指示に従って、CM130からのデータをホスト端末110Cへ転送したり、逆に、ホスト端末110CからのデータをCM130へ転送したりする。 The CM data transfer circuit 710 is hardware that executes data transfer between the host terminal 110 </ b> C and the CM 130. The CM data transfer circuit 710 transfers the data from the CM 130 to the host terminal 110C according to the instruction of the CHP 119, or conversely transfers the data from the host terminal 110C to the CM 130.
SMデータ転送回路740は、ホスト側メモリ113とSM120との間のデータ転送を実行するためのハードウェアである。SMデータ転送回路740は、CHP119の指示に従って、SM120からホスト側メモリ113へデータを転送したり、逆に、ホスト側メモリ113からSM120へデータを転送したりする。 The SM data transfer circuit 740 is hardware for executing data transfer between the host side memory 113 and the SM 120. The SM data transfer circuit 740 transfers data from the SM 120 to the host side memory 113 in accordance with an instruction from the CHP 119, and conversely transfers data from the host side memory 113 to the SM 120.
各入出力制御部771は、ディスク制御部140A〜140D、CM130、SM120及びSVP160との間でデータやコマンドの授受を行うもの(例えばマイクロプロセッサユニット)である。各入出力制御部771は、CHP(チャネルプロセッサ)121や、CHPメモリ119を備える。 Each input / output control unit 771 exchanges data and commands with the disk control units 140A to 140D, the CM 130, the SM 120, and the SVP 160 (for example, a microprocessor unit). Each input / output control unit 771 includes a CHP (channel processor) 121 and a CHP memory 119.
CHP(チャネルプロセッサ)121は、例えば、マイクロプロセッサであり、チャネル制御部110C全体の制御を司ると共に、ディスク制御部140A〜140Dや、ホスト端末200Cや、SVP160との間の通信を制御する。CHP121は、CHPメモリ121(又はホスト側メモリ113)に格納された各種コンピュータプログラムを実行することにより、チャネル制御部110Cとしての機能を発揮する。例えば、CHP121は、データチェック回路67のレジスタ(図示せず)を読み出すことで、上記データパターン比較の結果を検出し、その比較の結果に応じて、ホストデータを消去するか否かを決定する。 The CHP (channel processor) 121 is, for example, a microprocessor, and controls the entire channel control unit 110C, and controls communication with the disk control units 140A to 140D, the host terminal 200C, and the SVP 160. The CHP 121 functions as the channel control unit 110C by executing various computer programs stored in the CHP memory 121 (or the host-side memory 113). For example, the CHP 121 detects a result of the data pattern comparison by reading a register (not shown) of the data check circuit 67 and determines whether to erase the host data according to the result of the comparison. .
CHPメモリ119は、揮発性又は不揮発性のメモリ(例えばNVRAM(Non Volatile RAM))であり、例えば、CHP121の制御を司るコンピュータプログラムを格納する。 The CHP memory 119 is a volatile or nonvolatile memory (for example, NVRAM (Non Volatile RAM)) and stores, for example, a computer program that controls the CHP 121.
以上が、チャネル制御部110Cの構成例である。図10に示した構成は、単なる一例であって、上記構成以外の構成も採用することができる。また、その構成は、ブロックアクセス要求を受ける他のチャネル制御部110Dにも適用することができる。 The above is the configuration example of the channel control unit 110C. The configuration shown in FIG. 10 is merely an example, and a configuration other than the above configuration can also be employed. The configuration can also be applied to another channel control unit 110D that receives a block access request.
図11は、LUが設定される場合に行なわれる記憶制御サブシステム102での処理流れを示す。 FIG. 11 shows a processing flow in the storage control subsystem 102 performed when an LU is set.
この図に示す処理は、例えば、チャネル制御部110Cが実行する。 The process shown in this figure is executed by, for example, the channel control unit 110C.
チャネル制御部110Cは、仮想LUと通常LUのいずれを定義するかの選択をSVP160から受付ける(ステップS290)。 The channel control unit 110C receives from the SVP 160 a selection as to whether to define a virtual LU or a normal LU (step S290).
S290において、仮想LUの選択を受けた場合(S290でYES)、チャネル制御部110Cは、SVP160(又はそれに接続された外部端末)から、LDEVプールの作成依頼を受ける。チャネル制御部110Cは、その依頼に応答して、LDEVプール編集画面552をSVP160に提供する。この画面552には、例えば、作成対象のLDEVプール番号の入力欄と、そのLDEVプールに対して追加、除去又は編集するためのLDEV番号の入力欄とがある。また、例えば、その画面552には、LDEV番号の入力に入力されたLDEV番号を追加、除去又は編集のいずれを行うかの選択を受け付けるツールが設けられている。 In S290, when a virtual LU is selected (YES in S290), the channel control unit 110C receives an LDEV pool creation request from the SVP 160 (or an external terminal connected thereto). In response to the request, the channel control unit 110C provides the LDEV pool edit screen 552 to the SVP 160. This screen 552 includes, for example, an input field for an LDEV pool number to be created and an LDEV number input field for adding, removing, or editing the LDEV pool. Further, for example, the screen 552 is provided with a tool for accepting selection of whether to add, remove, or edit the LDEV number input in the input of the LDEV number.
チャネル制御部110Cは、そのLDEVプール編集画面552に入力された情報に従って、LDEVプールの作成(又は編集)を行う(換言すれば、LU−LDEV管理テーブル162bを更新する)(ステップS300)。 The channel control unit 110C creates (or edits) the LDEV pool according to the information input on the LDEV pool edit screen 552 (in other words, updates the LU-LDEV management table 162b) (step S300).
その後、チャネル制御部110Cは、LU設定画面551をSVP160に提供する。その画面551には、その仮想LU(仮想LDEV)に対応付けるポート番号、ターゲットID、LUN、LDEV番号及び記憶容量の入力欄がある。 Thereafter, the channel control unit 110C provides the LU setting screen 551 to the SVP 160. The screen 551 includes input fields for a port number, target ID, LUN, LDEV number, and storage capacity associated with the virtual LU (virtual LDEV).
チャネル制御部110Cは、そのLU設定画面551に入力された情報に従って、仮想LUを定義する(換言すれば、「仮想LDEV」というLDEV属性を持った新たな仮想LDEVに関する情報をLU−LDEV管理テーブル162bに登録する)(S310)。 The channel control unit 110C defines a virtual LU according to the information input on the LU setting screen 551 (in other words, information on a new virtual LDEV having the LDEV attribute “virtual LDEV” is stored in the LU-LDEV management table). 162b) (S310).
S310の後、チャネル制御部110Cは、仮想LU設定画面551を用いて登録された仮想LDEV(仮想LU)に対応付けるデータパターン(すなわち、ライト対象外データのデータパターン)の入力を受けるためのライト対象外データパターン登録画面553をSVP160に提供する。この画面553に、1又は複数のデータパターンが入力された場合、チャネル制御部110Cは、入力された1又は複数のデータパターンを、仮想LU設定画面551に入力された情報(例えばLDEV番号)に対応付けて、DPT800に登録する(S320)。 After S310, the channel control unit 110C receives the input of the data pattern (that is, the data pattern of the data not to be written) associated with the virtual LDEV (virtual LU) registered using the virtual LU setting screen 551. An external data pattern registration screen 553 is provided to the SVP 160. When one or more data patterns are input to this screen 553, the channel control unit 110C converts the input one or more data patterns into information (for example, LDEV number) input to the virtual LU setting screen 551. Correspondingly, it is registered in the DPT 800 (S320).
その後、チャネル制御部110Cは、S310で定義した仮想LUがどのLDEVプールを使用するかの指定を受け(例えば、そのLDEVプールの番号の入力を受け)、指定されたLDEVプールを仮想LU(仮想LDEV)に対応付ける(換言すれば、入力されたLDEVプール番号をLU−LDEV管理テーブル162bに登録する)(S320)。 After that, the channel control unit 110C receives designation of which LDEV pool the virtual LU defined in S310 uses (for example, receives input of the number of the LDEV pool), and designates the designated LDEV pool as a virtual LU (virtual LU). (In other words, the input LDEV pool number is registered in the LU-LDEV management table 162b) (S320).
S290において、仮想LUの選択を受けた場合(S290でYES)、チャネル制御部110Cは、上述したLU設定画面551をSVP160に提供する。チャネル制御部110Cは、そのLU設定画面551に入力された情報に従って、LUを定義する(ここでは、「通常LDEV」というLDEV属性を持った1以上の新たな通常LDEVに関する情報をLU−LDEV管理テーブル162bに登録する)(S291)。 In S290, when a virtual LU is selected (YES in S290), the channel control unit 110C provides the above-described LU setting screen 551 to the SVP 160. The channel control unit 110C defines the LU according to the information input on the LU setting screen 551 (in this case, information on one or more new normal LDEVs having an LDEV attribute of “normal LDEV” is managed by LU-LDEV). Registered in the table 162b) (S291).
以上の流れにより、仮想LU(仮想LDEV)又は通常LU(1以上の通常LDEV)の定義付けが完了する。この処理フローにより、ホスト端末300Cが、仮想LUと通常LUのいずれか一方にI/O要求を発行することが可能になる。 With the above flow, the definition of the virtual LU (virtual LDEV) or the normal LU (one or more normal LDEVs) is completed. With this processing flow, the host terminal 300C can issue an I / O request to either the virtual LU or the normal LU.
なお、チャネル制御部110Cは、この処理フローにおいて入力された複数種類の情報のうちの少なくとも1つの情報(例えば、仮想LDEVであれば仮想記憶容量)を、ホスト端末200Cからの所定コマンド(例えば、SCSIプロトコルに基づくInquiryコマンド又はリードキャパシティコマンド)に応答して、そのホスト端末200Cに通知する。また、例えば、チャネル制御部110Cは、仮想LU310Cに対するI/O要求をホスト端末200Cから受けた場合、その仮想LU310C(仮想LDEV61c)が少なくとも1つのLDEVプール68に対応付けられていなければ、そのI/O要求を拒否する。この場合、例えば、チャネル制御部110Cは、ホスト端末200Cにその旨を通知しても良いし、何のレスポンスも返さずにホスト端末200Cでタイムアウトを発生させても良い。 Note that the channel control unit 110C receives at least one piece of information (for example, virtual storage capacity in the case of a virtual LDEV) from among a plurality of types of information input in this processing flow, as a predetermined command (for example, In response to the SCSI command (Inquiry command or read capacity command), the host terminal 200C is notified. Further, for example, when the channel control unit 110C receives an I / O request for the virtual LU 310C from the host terminal 200C, if the virtual LU 310C (virtual LDEV 61c) is not associated with at least one LDEV pool 68, the I / O request is made. / O Reject the request. In this case, for example, the channel control unit 110C may notify the host terminal 200C of that fact, or may cause the host terminal 200C to time out without returning any response.
図12は、仮想LU310Cに対するライト要求をホスト端末110Cから受信した場合のチャネル制御部110Cの処理フローを示す。 FIG. 12 shows a processing flow of the channel control unit 110C when a write request for the virtual LU 310C is received from the host terminal 110C.
チャネル制御部110Cがホスト端末200Cから受けるライト要求には、ホストデータの他に、そのホストデータをどの記憶領域に書くかという情報、具体的には、例えば、どのLU(例えばLUN)のどのブロック(例えば先頭論理ブロックアドレス)から何ブロック(例えばブロック数)書くかという情報が含まれている。本実施形態では、各LDEVでのデータ記憶単位である1ブロックは例えば512バイトである。 In the write request received from the host terminal 200C by the channel control unit 110C, in addition to the host data, information indicating in which storage area the host data is written, specifically, for example, which block of which LU (for example, LUN) The number of blocks (for example, the number of blocks) to be written from (for example, the top logical block address) is included. In this embodiment, one block which is a data storage unit in each LDEV is, for example, 512 bytes.
チャネル制御部110Cがホスト端末200Cから仮想LU310Cに対するライト要求を受信した場合、チャネル制御部110CのCHP119は、その仮想LU310(仮想LDEV61c)に対応付けられたDAT64を参照して、ホスト端末200Cから指定された仮想記憶領域(例えば仮想先頭LBA)が、LDEVプール68の論理記憶領域(例えば論理先頭LBA)に対応付けられているか否かを判断する(S510)。 When the channel control unit 110C receives a write request for the virtual LU 310C from the host terminal 200C, the CHP 119 of the channel control unit 110C specifies from the host terminal 200C with reference to the DAT 64 associated with the virtual LU 310 (virtual LDEV 61c). It is determined whether the virtual storage area (for example, the virtual head LBA) that has been assigned is associated with the logical storage area (for example, the logical head LBA) of the LDEV pool 68 (S510).
S510の判断の結果、肯定的な結果が得られた場合(S510でYES)、CHP119は、後述するS540の処理を実行する。 If a positive result is obtained as a result of the determination in S510 (YES in S510), the CHP 119 executes a process of S540 described later.
一方、S510の判断の結果、否定的な結果が得られた場合(S510でNO)、CHP119は、図6を参照して説明した処理を行って、LDEVプール68における空き論理記憶領域から、ライト要求に含まれた仮想記憶領域と同サイズの論理記憶領域(ホストデータを格納できるだけの論理記憶領域)を確保し、その論理記憶領域を仮想記憶領域に対応付ける(S520)。また、CHP119は、確保した論理記憶領域と同サイズのキャッシュ領域をCM130上に確保する(S530)。 On the other hand, if a negative result is obtained as a result of the determination in S510 (NO in S510), the CHP 119 performs the process described with reference to FIG. 6 to write from the free logical storage area in the LDEV pool 68. A logical storage area having the same size as the virtual storage area included in the request (a logical storage area that can store host data) is secured, and the logical storage area is associated with the virtual storage area (S520). Further, the CHP 119 secures a cache area on the CM 130 having the same size as the secured logical storage area (S530).
S510でYESの後又はS530の後、CHP119は、DPT800に書かれている全部又は一部のデータパターン(例えば、ライト要求で指定された仮想LDEV61cに対応したデータパターンのみ)を読出し、その読み出したデータパターンをデータチェック回路67(例えばその回路67のレジスタ)にセットして、データチェック回路67を起動する(S540)。次に、CHP119は、受信したライト要求に含まれているホストデータを、CMデータ転送回路710及びデータチェック回路67を介して、S530で確保したキャッシュ領域に格納する(S550)。 After YES in S510 or after S530, the CHP 119 reads and reads all or a part of the data pattern written in the DPT 800 (for example, only the data pattern corresponding to the virtual LDEV 61c specified in the write request). The data pattern is set in the data check circuit 67 (for example, the register of the circuit 67), and the data check circuit 67 is activated (S540). Next, the CHP 119 stores the host data included in the received write request in the cache area secured in S530 via the CM data transfer circuit 710 and the data check circuit 67 (S550).
また、このS550において、データチェック回路67は、CMデータ転送回路710から入力されてくるホストデータが、S540でセットされたデータパターンに適合するか否かの比較を行う。データチェック回路67は、データパターン比較結果をレジスタに書き込む。 In S550, the data check circuit 67 compares whether the host data input from the CM data transfer circuit 710 conforms to the data pattern set in S540. The data check circuit 67 writes the data pattern comparison result to the register.
ここで、例えば、ホストデータが、フォーマットデータ等のように一定のパターンを有するものであれば、データパターン比較結果は肯定的なものになり、一方、一定のパターンを持たないものであれば、データパターン比較結果は否定的なものになる。 Here, for example, if the host data has a certain pattern such as format data, the data pattern comparison result is positive, while if the host data does not have a certain pattern, The data pattern comparison result is negative.
CHP119は、データチェック回路67のレジスタにアクセスし、そのレジスタに、肯定的なデータ比較結果が書かれていた場合には、S520で仮想記憶領域に割当てた論理記憶領域(LDEVプール68における記憶領域)を解放する(すなわち、DAT64に対応付けた論理先頭LBAを除去する)(S570)。更に、CHP119は、S530で確保したキャッシュ領域を解放する(S580)。これにより、キャッシュ領域に書かれたホストデータは削除され、LDEVプール68内に書き込まれることは無い。 The CHP 119 accesses the register of the data check circuit 67, and when a positive data comparison result is written in the register, the logical storage area (the storage area in the LDEV pool 68) allocated to the virtual storage area in S520. ) Is released (that is, the logical head LBA associated with DAT64 is removed) (S570). Further, the CHP 119 releases the cache area secured in S530 (S580). As a result, the host data written in the cache area is deleted and never written into the LDEV pool 68.
一方、CHP119は、データチェック回路67のレジスタに否定的なデータ結果が書かれていた場合には、この処理フローを終了する。これにより、キャッシュ領域に書かれたホストデータが、ディスク制御部140A〜140Dのいずれかに取得されて、S520で割当てられた論理記憶領域(つまりLDEVプール内のプールLDEV61b)に格納される。 On the other hand, if a negative data result is written in the register of the data check circuit 67, the CHP 119 ends this processing flow. As a result, the host data written in the cache area is acquired by any of the disk controllers 140A to 140D and stored in the logical storage area allocated in S520 (that is, the pool LDEV 61b in the LDEV pool).
図13は、仮想LU310Cに対するリード要求をホスト端末110Cから受信した場合のチャネル制御部110Cの処理フローを示す。 FIG. 13 shows a processing flow of the channel control unit 110C when a read request for the virtual LU 310C is received from the host terminal 110C.
チャネル制御部110Cがホスト端末200Cから受けるリード要求には、どの記憶領域からデータをリードするかという情報、具体的には、例えば、どのLU(例えばLUN)のどのブロック(例えば先頭論理ブロックアドレス)から何ブロック(例えばブロック数)分のデータをリードするかという情報が含まれている。 In the read request received from the host terminal 200C by the channel control unit 110C, information on which storage area data is read from, specifically, for example, which block (for example, the first logical block address) of which LU (for example, LUN) The number of blocks (for example, the number of blocks) of data to be read is included.
チャネル制御部110Cがホスト端末200Cから仮想LU310Cに対するリード要求を受信した場合、チャネル制御部110CのCHP119は、その仮想LU310(仮想LDEV61c)に対応付けられたDAT64を参照して、ホスト端末200Cから指定された仮想記憶領域(例えば仮想先頭LBA)が、LDEVプール68の論理記憶領域(例えば論理先頭LBA)に対応付けられているか否かを判断する(S601)。 When the channel control unit 110C receives a read request for the virtual LU 310C from the host terminal 200C, the CHP 119 of the channel control unit 110C designates from the host terminal 200C with reference to the DAT 64 associated with the virtual LU 310 (virtual LDEV 61c). It is determined whether or not the virtual storage area (for example, the virtual head LBA) is associated with the logical storage area (for example, the logical head LBA) of the LDEV pool 68 (S601).
S601の判断の結果、肯定的な結果が得られた場合(S510でYES)、CHP119は、キャッシュ領域確保済みでなければ(S602でNO)、図6を参照して説明した処理を行って、LDEVプール68における空き論理記憶領域から、リード要求に含まれた仮想記憶領域と同サイズの論理記憶領域を確保し、その論理記憶領域を仮想記憶領域に対応付ける(S603)。また、CHP119は、確保した論理記憶領域と同サイズのキャッシュ領域をCM130上に確保する(S604)。 If a positive result is obtained as a result of the determination in S601 (YES in S510), the CHP 119 performs the process described with reference to FIG. 6 if the cache area is not secured (NO in S602). A logical storage area having the same size as the virtual storage area included in the read request is secured from the free logical storage area in the LDEV pool 68, and the logical storage area is associated with the virtual storage area (S603). Also, the CHP 119 reserves a cache area on the CM 130 having the same size as the secured logical storage area (S604).
S602において、CHP119は、キャッシュ領域確保済みであれば(S602でYES)、以下のS605を行う。 In S602, if the cache area has been secured (YES in S602), the CHP 119 performs the following S605.
S602でYESの後又はS604の後、CHP119は、DPT800に書かれている全部又は一部のデータパターン(例えば、リード要求で指定された仮想LDEV61cに対応したデータパターンのみ)を読出し、その読み出したデータパターンをデータチェック回路67にセットして、データチェック回路67を起動する(S605)。次に、CHP119は、確保されているキャッシュ領域からデータを読出し、そのデータをホスト端末200Cに転送する(S606)。 After YES in S602 or after S604, the CHP 119 reads and reads all or a part of the data pattern written in the DPT 800 (for example, only the data pattern corresponding to the virtual LDEV 61c specified in the read request). The data pattern is set in the data check circuit 67 and the data check circuit 67 is activated (S605). Next, the CHP 119 reads data from the secured cache area and transfers the data to the host terminal 200C (S606).
また、このS606において、データチェック回路67は、CMデータ転送回路710から出力されたデータが、S605でセットされたデータパターンに適合するか否かの比較を行う。データチェック回路67は、データパターン比較結果をレジスタに書き込む。 In S606, the data check circuit 67 compares whether the data output from the CM data transfer circuit 710 conforms to the data pattern set in S605. The data check circuit 67 writes the data pattern comparison result to the register.
CHP119は、データチェック回路67のレジスタにアクセスし、そのレジスタに、肯定的なデータ比較結果が書かれていた場合には、S606で転送したデータをLDEVプールから消去すると共に、仮想記憶領域に割当てられている論理記憶領域を解放する(S608)。このS608により、何らかの原因でLDEVプール68に存在していたライト対象外データが、LDEVプール68から消去される。 The CHP 119 accesses the register of the data check circuit 67, and when a positive data comparison result is written in the register, the data transferred in S606 is erased from the LDEV pool and assigned to the virtual storage area. The allocated logical storage area is released (S608). By this S608, the non-write target data that existed in the LDEV pool 68 for some reason is erased from the LDEV pool 68.
その後、CHP119は、確保されているキャッシュ領域を解放する(S609)。 Thereafter, the CHP 119 releases the secured cache area (S609).
S601の判断の結果、否定的な結果が得られた場合(S601でYES)、すなわち、CHP119は、論理記憶領域が割当てられていない仮想記憶領域に対するリード要求を受けた場合、DPT800に書かれている全部又は一部のデータパターン(例えば、リード要求で指定された仮想LDEV61cに対応したデータパターンのみ)を読出し、その読み出したデータパターンをホスト端末200Cに通知する(S610)。 When a negative result is obtained as a result of the determination in S601 (YES in S601), that is, when the CHP 119 receives a read request for a virtual storage area to which a logical storage area is not allocated, it is written in the DPT 800. All or a part of the data pattern (for example, only the data pattern corresponding to the virtual LDEV 61c specified by the read request) is read, and the read data pattern is notified to the host terminal 200C (S610).
以上、上述した第一具体例によれば、チャネル制御部110Cは、ホスト端末200Cからライト要求を受けた場合、そのライト要求に含まれているホストデータのデータパターンが、予め登録されている1又は複数のデータパターン(ライト対象外データのデータパターン)のいずれかに適合するか否かを比較し、その比較結果が肯定的であれば、そのホストデータをLDEVに格納せずに消去する。また、チャネル制御部110Cは、ホスト端末200Cからリード要求を受けた場合、LDEVからリードされたデータ(ホスト端末200Cに転送されるデータ)のデータパターンが、予め登録されている1又は複数のデータパターン(ライト対象外データのデータパターン)のいずれかに適合するか否かを比較し、その比較結果が肯定的であれば、そのリードされたデータをLDEVから消去する。これにより、LDEVにより多くの空き記憶領域を作ることができる。 As described above, according to the first specific example described above, when the channel control unit 110C receives a write request from the host terminal 200C, the data pattern of the host data included in the write request is registered in advance 1 Or, it is compared whether or not it matches one of a plurality of data patterns (data patterns of data not to be written), and if the comparison result is affirmative, the host data is deleted without being stored in the LDEV. When the channel control unit 110C receives a read request from the host terminal 200C, the data pattern of data read from the LDEV (data transferred to the host terminal 200C) is registered in advance as one or a plurality of data It is compared whether or not it matches any of the patterns (data patterns of data not to be written), and if the comparison result is affirmative, the read data is erased from the LDEV. As a result, more free storage areas can be created in the LDEV.
(2)本実施形態の第二具体例。 (2) Second specific example of the present embodiment.
図14は、第二具体例を説明するための図である。図15は、この第二具体例において、ホスト端末200Cからライト要求を受信した場合の処理フローを示す。以下、両図を参照して第二具体例について説明する。 FIG. 14 is a diagram for explaining a second specific example. FIG. 15 shows a processing flow when a write request is received from the host terminal 200C in the second specific example. Hereinafter, a second specific example will be described with reference to both the drawings.
例えば、ディスク型記憶装置300における記憶領域を割当てる単位が、LDEVを構成する論理チャンクである。論理チャンク(及び仮想チャンク)の記憶容量は、LDEVにおける1ブロックをNバイト(Nは自然数)とした場合、M×Nバイトである(Mは自然数)。例えば、N=512、M=128とした場合、論理チャンクの記憶容量は64キロバイト(KB)である。 For example, a unit for allocating a storage area in the disk type storage device 300 is a logical chunk constituting an LDEV. The storage capacity of logical chunks (and virtual chunks) is M × N bytes (M is a natural number) when one block in the LDEV is N bytes (N is a natural number). For example, when N = 512 and M = 128, the storage capacity of the logical chunk is 64 kilobytes (KB).
そして、この第二具体例では、ホストから受信するホストデータのデータサイズは、論理チャンクの記憶容量の約数(つまりその記憶容量未満)、例えば論理チャンクの記憶容量の4分の1であるとする。具体的には、例えば、論理チャンク410bの記憶容量が64KB16である場合に、16KBのホストデータ610を受信するとする。そして、DPT800に登録されるライト対象外データのデータパターンのデータサイズは、論理チャンクの記憶容量未満、例えば512Bであるとする。 In this second specific example, the data size of the host data received from the host is a divisor of the storage capacity of the logical chunk (that is, less than the storage capacity), for example, a quarter of the storage capacity of the logical chunk. To do. Specifically, for example, when the storage capacity of the logical chunk 410b is 64 KB16, it is assumed that 16 KB of host data 610 is received. It is assumed that the data size of the data pattern of the non-write target data registered in the DPT 800 is less than the storage capacity of the logical chunk, for example, 512B.
この場合であっても、チャネル制御部110Cのデータチェック回路67は、図12のS510〜S550の処理を行なって、16KBのホストデータ610と、512Bのライト対象外データパターンとの比較を行う。この場合、ホストデータ610のデータサイズは、論理チャンクの記憶容量未満であるが、そのデータ601を構成する全ての512B部分がライト対象外データパターンに適合すれば、データパターン比較の比較結果として肯定的な結果がデータチェック回路67のレジスタ602に書かれる。 Even in this case, the data check circuit 67 of the channel control unit 110C performs the processing of S510 to S550 in FIG. 12, and compares the 16 KB host data 610 with the 512B non-write target data pattern. In this case, the data size of the host data 610 is less than the storage capacity of the logical chunk, but if all 512B parts constituting the data 601 match the non-write target data pattern, the comparison result of the data pattern comparison is positive. A typical result is written in the register 602 of the data check circuit 67.
CHP119は、レジスタ602を参照して肯定的な比較結果(すなわち、ホストデータ610がライト対象外データパターンに適合した旨)を得た場合(図15のS560でYES)、受信したホストデータ610のデータサイズが論理チャンクの記憶容量未満であるか否かの判別を行う(S560A)。 When the CHP 119 refers to the register 602 and obtains a positive comparison result (that is, the fact that the host data 610 matches the non-write target data pattern) (YES in S560 of FIG. 15), the CHP 119 It is determined whether the data size is less than the storage capacity of the logical chunk (S560A).
S560Aの判別の結果、肯定的な判別結果が得られた場合(S560AでYES)、CHP119は、この処理フローを終了し、一方、否定的な判別結果が得られた場合(S560でNO)、S570〜S580の処理を行う。 If a positive determination result is obtained as a result of the determination in S560A (YES in S560A), the CHP 119 ends this processing flow, whereas if a negative determination result is obtained (NO in S560), The processing of S570 to S580 is performed.
このように、ホストデータのデータサイズが、論理チャンクの記憶容量未満である場合、データパターン比較結果が肯定的であっても、論理チャンク410bに書き込まれることになる。このようなことが繰り返されると、論理チャンク410b一杯にホストデータが書き込まれた結果、論理チャンク410b全体には、一定のデータパターンを有するホストデータの集合が存在することになる。具体的には、例えば、4つの16KBホストデータをそれぞれ有する4つのライト要求を受けた場合、全てのホストデータについて肯定的なデータ比較結果が得られても、全てのホストデータ(つまりデータパターン適合ホストデータ)が論理チャンク410bに書き込まれて、64KBの記憶容量を有する論理チャンク410は、4つの16KBホストデータで満たされる。 Thus, when the data size of the host data is less than the storage capacity of the logical chunk, even if the data pattern comparison result is affirmative, the data is written in the logical chunk 410b. If this is repeated, as a result of the host data being written to the full logical chunk 410b, a set of host data having a certain data pattern exists in the entire logical chunk 410b. Specifically, for example, when four write requests each having four 16 KB host data are received, even if a positive data comparison result is obtained for all host data, all host data (that is, data pattern conformance) is obtained. Host data) is written into the logical chunk 410b, and the logical chunk 410 having a storage capacity of 64 KB is filled with four 16 KB host data.
図14に示すように、ホストデータがLDEVから読み出される場合、ホストデータは論理チャンク単位で読み出される。このため、上述のように、1つの論理チャンクに、複数のデータパターン適合ホストデータが存在する場合、複数のデータパターン適合ホストデータから成るデータグループが1つのホストデータとして読み出される。 As shown in FIG. 14, when the host data is read from the LDEV, the host data is read in units of logical chunks. For this reason, as described above, when a plurality of data pattern compatible host data exist in one logical chunk, a data group including a plurality of data pattern compatible host data is read as one host data.
データチェック回路67は、読み出されたホストデータについても、データパターン比較を行い、その比較結果をレジスタ602に書き込む。CHP119は、論理チャンク410bから読み出されたホストデータについて、レジスタ602から肯定的なデータパターン比較結果を取得した場合、その論理チャンク410b内のホストデータを消去して、その論理チャンク410bを空き論理チャンク410bとする。これにより、LDEVプール68に存在するその論理チャンク410bは、空き論理チャンク410bとなり、動的に仮想チャンク410cに対応付けることが可能になる。 The data check circuit 67 also performs data pattern comparison on the read host data and writes the comparison result in the register 602. When the CHP 119 acquires a positive data pattern comparison result from the register 602 for the host data read from the logical chunk 410b, the CHP 119 deletes the host data in the logical chunk 410b and makes the logical chunk 410b free logical. Let it be a chunk 410b. As a result, the logical chunk 410b existing in the LDEV pool 68 becomes a free logical chunk 410b and can be dynamically associated with the virtual chunk 410c.
なお、論理チャンク単位でホストデータを読み出す契機としては、例えば、ホスト端末200Cからリード要求を受けた場合、ホスト端末200Cからのライト要求で指定された論理チャンク内のスナップショットを作成する場合、各論理チャンク内のホストデータを使用してパリティデータを生成する場合等がある。 The trigger for reading the host data in units of logical chunks includes, for example, when receiving a read request from the host terminal 200C, creating a snapshot in the logical chunk specified by the write request from the host terminal 200C, In some cases, parity data is generated using host data in a logical chunk.
この第二具体例によれば、論理チャンクにデータパターンが一定のホストデータが存在してもそれを無くすことができる。 According to this second specific example, even if host data having a constant data pattern exists in a logical chunk, it can be eliminated.
(3)本実施形態の第三具体例。 (3) A third specific example of the present embodiment.
第三具体例では、データチェック回路67がディスク制御部にある。 In the third specific example, the data check circuit 67 is in the disk control unit.
図16は、第三具体例に係るディスク制御部140Aの構成例を示す。ディスク制御部140A〜140Dは実質的にどれも同じ構成なので、ディスク制御部140Aを代表的に例に採り説明する。 FIG. 16 shows a configuration example of the disk control unit 140A according to the third specific example. Since the disk controllers 140A to 140D are substantially the same in configuration, the disk controller 140A will be described as a representative example.
ディスク制御部140Aは、ユニット化されたボード(例えばディスクアダプタ)として形成されている。このディスク制御部140Aは、図示しないボード接続用コネクタを備えており、そのボード接続用コネクタが記憶制御装置100の所定コネクタに嵌合することにより、ディスク制御部140Aは記憶制御装置100と電気的に接続される。ディスク制御部140Aには、ディスクインターフェース部(以下、「ディスクI/F」と略記)141、ディスク側メモリ115、1又は複数の入出力制御部591、SVPインターフェース部(以下、「SVPI/F」と略記)50、CMデータ転送回路713及びSMデータ転送回路741が搭載されている。 The disk control unit 140A is formed as a unitized board (for example, a disk adapter). The disk control unit 140A includes a board connection connector (not shown). The disk control unit 140A is electrically connected to the storage control device 100 by fitting the board connection connector to a predetermined connector of the storage control device 100. Connected to. The disk control unit 140A includes a disk interface unit (hereinafter abbreviated as “disk I / F”) 141, a disk-side memory 115, one or a plurality of input / output control units 591, and an SVP interface unit (hereinafter “SVPI / F”). 50), a CM data transfer circuit 713, and an SM data transfer circuit 741 are mounted.
ディスクI/F711は、ディスク型記憶装置300との間で通信を行うための通信インタフェースであり、例えば、SAN等の通信ネットワークを介してディスク型記憶装置300に接続される。 The disk I / F 711 is a communication interface for performing communication with the disk storage device 300, and is connected to the disk storage device 300 via a communication network such as a SAN, for example.
1又は複数の入出力制御部591の各々は、ホスト端末200A〜200Dから受信したI/O要求に基づいて行われる処理を制御するものであり、例えばマイクロプロセッサユニットである。入出力制御部591には、例えば、DKP123やDKPメモリ122が搭載される。 Each of the one or more input / output control units 591 controls processing performed based on the I / O request received from the host terminals 200A to 200D, and is, for example, a microprocessor unit. For example, the DKP 123 and the DKP memory 122 are mounted on the input / output control unit 591.
DKP123は、例えば、マイクロプロセッサであり、ディスク制御部140全体の制御を司ると共に、チャネル制御部110A〜110Dや、ディスク型記憶装置300や、SVP160との間の通信を制御する。DKP123は、DKPメモリ122(又はディスク側メモリ115)に格納された各種コンピュータプログラムを実行することにより、ディスク制御部140Aとしての機能を発揮する。ディスク制御部140Aが発揮する機能としては、例えば、RAIDレベルに基づくディスク型記憶装置300へのデータ格納及び読み出し制御や、ディスク型記憶デバイス300に記憶されたデータの複製及びバックアップ等の制御である。 The DKP 123 is, for example, a microprocessor, and controls the entire disk control unit 140, and controls communication with the channel control units 110A to 110D, the disk storage device 300, and the SVP 160. The DKP 123 functions as the disk control unit 140A by executing various computer programs stored in the DKP memory 122 (or the disk-side memory 115). The functions exhibited by the disk control unit 140A include, for example, control of data storage and reading to the disk type storage device 300 based on the RAID level, and control of copying and backup of data stored in the disk type storage device 300. .
DKPメモリ122は、揮発性又は不揮発性のメモリ(例えばNVRAM(Non Volatile RAM))であり、例えば、DKP123の制御を司るコンピュータプログラムを格納する。DKPメモリ122に記憶されるプログラムの内容は、例えば、SVP160や、後述するNASマネージャ806からの指示により書き込みや書き換えを行うことができる。 The DKP memory 122 is a volatile or non-volatile memory (for example, NVRAM (Non Volatile RAM)), and stores, for example, a computer program that controls the DKP 123. The contents of the program stored in the DKP memory 122 can be written or rewritten by an instruction from the SVP 160 or a NAS manager 806 described later, for example.
SVPI/F50は、内部LAN150等の通信ネットワークを介してSVP160に接続され、且つ、DKP123に接続される。SVPI/F50は、SVP160とDKP123との間の通信を制御するための通信インタフェース(例えばLANコントローラ)である。 The SVPI / F 50 is connected to the SVP 160 via a communication network such as the internal LAN 150 and is connected to the DKP 123. The SVPI / F 50 is a communication interface (for example, a LAN controller) for controlling communication between the SVP 160 and the DKP 123.
CMデータ転送回路713は、例えば、DKP123の制御の下で、CM130からユーザデータを受信してディスク側メモリ115に転送したり、ディスク型記憶装置300から取得されたユーザデータをCM713に転送したりする。 For example, the CM data transfer circuit 713 receives user data from the CM 130 and transfers it to the disk-side memory 115 under the control of the DKP 123, or transfers user data acquired from the disk-type storage device 300 to the CM 713. To do.
SMデータ転送回路741は、例えば、DKP123の制御の下で、DKP123からCHP(チャネルプロセッサ)への制御情報(例えばプロセッサ間メッセージ)をSM120に転送したり、SM120から受信した制御情報をDKP123に転送したりする。 For example, under the control of the DKP 123, the SM data transfer circuit 741 transfers control information (for example, an interprocessor message) from the DKP 123 to the CHP (channel processor) to the SM 120, or transfers control information received from the SM 120 to the DKP 123. To do.
ディスク側メモリ115は、揮発性又は不揮発性のメモリであり、例えば、ユーザデータを一時的に記憶したり、DKP123によって読み出された1又は複数のライト対象外データパターンを記憶したりする。 The disk-side memory 115 is a volatile or non-volatile memory, for example, temporarily storing user data, or storing one or more non-write target data patterns read by the DKP 123.
この第三具体例では、上述したデータチェック回路67は、CM130とCMデータ転送回路713との間に設けられるが、そこに限らずディスク制御部140A上の別の場所に設けられても良い。 In the third specific example, the data check circuit 67 described above is provided between the CM 130 and the CM data transfer circuit 713, but is not limited thereto, and may be provided at another location on the disk control unit 140A.
この第三具体例では、DKP123は、ホストデータのデーパターンとライト対象外データパターンとの比較結果に基づく処理において、CHP119と同様の処理を行う。 In the third specific example, the DKP 123 performs the same process as the CHP 119 in the process based on the comparison result between the host data data pattern and the non-write target data pattern.
例えば、データチェック回路67が、ディスク型記憶装置300に出力された(又はディスク型記憶装置300から読み出された)ホストデータのデータパターンが、ディスク側メモリ115に登録されたライト対象外データパターンに適合するか否かの比較を行い、比較結果を図示しないレジスタに書き込む。DKP123は、そのレジスタから肯定的なデータパターン比較結果を取得した場合、そのホストデータを消去する。 For example, the data pattern of the host data output by the data check circuit 67 to the disk type storage device 300 (or read from the disk type storage device 300) is the non-write target data pattern registered in the disk side memory 115. Are compared, and the comparison result is written in a register (not shown). When the DKP 123 acquires a positive data pattern comparison result from the register, the DKP 123 deletes the host data.
なお、この第三具体例のように、データチェック回路67がディスク制御部140Aに搭載されている場合、更に、以下の処理を実行することができる。 If the data check circuit 67 is mounted on the disk control unit 140A as in the third specific example, the following processing can be further executed.
(A)コレクションリードが行われる場合。 (A) When collection read is performed.
コレクションリードとは、ディスク制御部が一台のディスク型記憶装置300にアクセス不可能になった場合に、同じRAIDグループ2の他の複数のディスク型記憶装置300がそれぞれ有する複数の論理チャンクからデータを読み出すことである。この場合、ディスク制御部140Aは、複数の論理チャンクからそれぞれ読み出された複数のデータの排他的ORを取り、データをリストアすることができる。このコレクションリードにおいて論理チャンクからデータを読み出した場合に、LDEVプールの論理記憶領域の解放処理を実行する。 Collection read refers to data from a plurality of logical chunks respectively possessed by a plurality of other disk storage devices 300 in the same RAID group 2 when the disk control unit becomes inaccessible to one disk storage device 300. Is to read. In this case, the disk control unit 140A can perform exclusive OR of a plurality of data respectively read from the plurality of logical chunks and restore the data. When data is read from a logical chunk in this collection read, a logical storage area release process of the LDEV pool is executed.
この第三具体例によれば、ディスク制御部140A〜140Dにおいて、データパターンの比較及びそれの比較結果に基づく処理が行われる。 According to the third specific example, the disk controllers 140A to 140D perform comparison of data patterns and processing based on the comparison result.
(B)ドライブコピーが行われる場合。 (B) When drive copy is performed.
ドライブコピーとは、一台のディスク型記憶装置300の故障が予見される場合に、そのディスク型記憶装置300内のデータを、スペアのディスク型記憶装置300にコピーすることである。この場合、ディスク制御部140Aは、故障が予見されるディスク型記憶装置300上の論理チャンク410b内のデータを読み出し、その場合、LDEVプール68における論理記憶領域の解放処理を実行する。 The drive copy is copying data in the disk type storage device 300 to a spare disk type storage device 300 when a failure of one disk type storage device 300 is predicted. In this case, the disk control unit 140A reads the data in the logical chunk 410b on the disk type storage device 300 where a failure is predicted, and in that case, executes the logical storage area release processing in the LDEV pool 68.
(4)本実施形態の第四具体例。 (4) Fourth specific example of this embodiment.
第四具体例は、通常LUと仮想LUが混在する場合の例である。 The fourth specific example is an example where a normal LU and a virtual LU coexist.
図17は、この第四具体例において、ライト要求をホスト端末110Cから受信した場合のチャネル制御部110Cの処理フローを示す。 FIG. 17 shows a processing flow of the channel control unit 110C when a write request is received from the host terminal 110C in the fourth specific example.
チャネル制御部110Cは、ホスト端末200Cから受信したライト要求が仮想LU310Cに対するものか否かを判別する(S500)。 The channel control unit 110C determines whether or not the write request received from the host terminal 200C is for the virtual LU 310C (S500).
S500の判別の結果、肯定的な判別結果が得られた場合(S500でYES)、チャネル制御部110Cは、図12を参照して説明したS510〜S580の処理を実行する。 When a positive determination result is obtained as a result of the determination in S500 (YES in S500), the channel control unit 110C executes the processes of S510 to S580 described with reference to FIG.
一方、S500の判別の結果、否定的な判別結果が得られた場合(S500でNO)、換言すれば、ライト要求が通常LUに対するものであると判断だれた場合、チャネル制御部110CのCHP119は、CM130上に、ホストデータを格納できるだけのキャッシュ領域を確保する(S590)。そして、CHP119は、確保したキャッシュ領域にホストデータを格納する(S591)。 On the other hand, if a negative determination result is obtained as a result of the determination in S500 (NO in S500), in other words, if it is determined that the write request is for a normal LU, the CHP 119 of the channel control unit 110C A cache area sufficient to store host data is secured on the CM 130 (S590). Then, the CHP 119 stores the host data in the secured cache area (S591).
図18は、この第四具体例において、リード要求をホスト端末110Cから受信した場合のチャネル制御部110Cの処理フローを示す。 FIG. 18 shows a processing flow of the channel control unit 110C when a read request is received from the host terminal 110C in the fourth specific example.
チャネル制御部110Cは、ホスト端末200Cから受信したリード要求が仮想LU310Cに対するものか否かを判別する(S600)。 The channel control unit 110C determines whether or not the read request received from the host terminal 200C is for the virtual LU 310C (S600).
S600の判別の結果、肯定的な判別結果が得られた場合(S600でYES)、チャネル制御部110Cは、図13を参照して説明したS601〜S610の処理を実行する。 If a positive determination result is obtained as a result of the determination in S600 (YES in S600), the channel control unit 110C executes the processes in S601 to S610 described with reference to FIG.
一方、S600の判別の結果、否定的な判別結果が得られた場合(S600でNO)、換言すれば、リード要求が通常LUに対するものであると判断だれた場合、チャネル制御部110CのCHP119は、CM130上に、ホストデータを格納できるだけのキャッシュ領域が確保されているか否かを判別する(S611)。CHP119は、キャッシュ領域済みであれば(S611でYES)、そのキャッシュ領域にホストデータを格納させるようディスク制御部に命令し(S613)、一方、キャッシュ領域確保済みでなければ(S611でNO)、キャッシュ領域を確保して(S612)、S613を実行する。その後、CHP119は、キャッシュ領域からホストデータをホスト端末200Cに転送する(S614)。 On the other hand, if a negative determination result is obtained as a result of the determination in S600 (NO in S600), in other words, if it is determined that the read request is for a normal LU, the CHP 119 of the channel control unit 110C Then, it is determined whether or not a cache area sufficient to store host data is secured on the CM 130 (S611). If the cache area has been completed (YES in S611), the CHP 119 instructs the disk controller to store the host data in the cache area (S613). On the other hand, if the cache area has not been secured (NO in S611), A cache area is secured (S612), and S613 is executed. Thereafter, the CHP 119 transfers host data from the cache area to the host terminal 200C (S614).
この第四具体例によれば、I/O要求の発行先が通常LUが仮想LUかに基づく処理が実行される。 According to the fourth specific example, processing is executed based on whether the I / O request issuance destination is a normal LU or a virtual LU.
(5)本実施形態の第五具体例。 (5) A fifth specific example of the present embodiment.
図19は、第五具体例に係る構成及び処理流れを示す。 FIG. 19 shows a configuration and a processing flow according to the fifth specific example.
第五具体例において、ホスト端末200Cの制御部323(OS472)は、システム情報要求コマンドを送信する(S701)。このシステム情報要求コマンドとは、例えば、SCSIプロトコルに従うInquiryコマンド又はデバイスディスカバリーコマンドである。制御部323は、例えば、ホスト端末200Cの電源がターンオンされた場合、又はOS472が再起動する場合に、Inquiryコマンドを送信する。また、例えば、制御部323は、ホスト端末200Cの電源がターンオンされた場合、又は、ユーザからユーザインターフェース474を介して所定の指示を受けた場合、デバイスディスカバリーコマンドを送信する。 In the fifth specific example, the control unit 323 (OS 472) of the host terminal 200C transmits a system information request command (S701). This system information request command is, for example, an Inquiry command or a device discovery command according to the SCSI protocol. For example, when the power of the host terminal 200C is turned on or when the OS 472 is restarted, the control unit 323 transmits an Inquiry command. For example, when the power of the host terminal 200C is turned on or when a predetermined instruction is received from the user via the user interface 474, the control unit 323 transmits a device discovery command.
システム情報要求コマンドを受信したチャネル制御部110Cは、SM120に登録されているLU−LDEV管理テーブル162bからシステム情報を取得し、そのシステム情報をホスト端末200Cに送信する。ホスト端末200Cに送信されたシステム情報は、ホスト端末200Cのメモリ321に登録される。システム情報とは、例えば、各LUNに対応付けられた情報であり、少なくとも、そのLUNに対応付けられたLDEV属性を含んでいる。 The channel control unit 110C that has received the system information request command acquires system information from the LU-LDEV management table 162b registered in the SM 120, and transmits the system information to the host terminal 200C. The system information transmitted to the host terminal 200C is registered in the memory 321 of the host terminal 200C. The system information is information associated with each LUN, for example, and includes at least an LDEV attribute associated with the LUN.
制御部323は、I/O要求をチャネル制御部110Cに送信する場合、メモリ321に登録されたシステム情報に含まれているLDEV属性に基づいて、通常LU310Bと仮想LU310CのどちらにI/O要求を発行するのかを選択する(S703)。 When transmitting an I / O request to the channel control unit 110C, the control unit 323 requests an I / O request to either the normal LU 310B or the virtual LU 310C based on the LDEV attribute included in the system information registered in the memory 321. Is selected (S703).
具体的には、例えば、制御部323は、メモリ321に登録されたLDEV属性に基づいて、ホスト端末200Cがアクセス可能な複数のLUの属性を表示し、ユーザにどのLUにI/O要求を発行するかを選択させ、ユーザに選択されたLUを、I/O要求発行先のLUとして選択しても良い。また、例えば、制御部323は、メモリ321等に予め記憶されているホストデータ属性(例えばホストデータのメタデータ)を参照して、書込み対象又は読出し対象のホストデータのデータ属性を把握し、そのデータ属性と、LDEV属性とに基づいて、通常LU310Bと仮想LU310CのどちらにI/O要求を発行するのかを自動で選択しても良い。より具体的には、例えば、制御部323は、高い信頼性が求められるホストデータの場合には、通常LU310Bを選択し、高速なデータアクセスが求められるホストデータの場合には、仮想LU310Cを選択する。 Specifically, for example, the control unit 323 displays the attributes of a plurality of LUs that can be accessed by the host terminal 200C based on the LDEV attributes registered in the memory 321, and makes an I / O request to which LU to the user. It may be selected whether to issue, and the LU selected by the user may be selected as an I / O request issue destination LU. In addition, for example, the control unit 323 refers to the host data attribute (for example, metadata of the host data) stored in advance in the memory 321 or the like, grasps the data attribute of the host data to be written or read, and Based on the data attribute and the LDEV attribute, it may be automatically selected whether the I / O request is issued to the normal LU 310B or the virtual LU 310C. More specifically, for example, the control unit 323 selects the normal LU 310B in the case of host data that requires high reliability, and selects the virtual LU 310C in the case of host data that requires high-speed data access. To do.
制御部323は、S703において選択されたLUに対して、I/O要求を送信する(S704)。 The control unit 323 transmits an I / O request to the LU selected in S703 (S704).
この第五具体例によれば、ホスト端末200Cが、どれが通常LUでどれが仮想LUであるかを識別して、通常LUと仮想LUとの選択をすることができる。 According to the fifth specific example, the host terminal 200C can identify which is a normal LU and which is a virtual LU, and can select a normal LU and a virtual LU.
(6)本実施形態の第六具体例。 (6) Sixth specific example of the present embodiment.
図20は、第六具体例に関わる構成及び処理流れを示す。 FIG. 20 shows a configuration and a processing flow related to the sixth specific example.
記憶制御装置100は、2つのLUから成るLUペアを形成し、一方のLUをプライマリLU310P、他方のLUをセカンダリLU310Sとして、プライマリLU310P内のデータをセカンダリLU310Sにコピーするスナップショットを行うようになっている。 The storage controller 100 forms an LU pair composed of two LUs, and performs snapshots for copying data in the primary LU 310P to the secondary LU 310S, with one LU as the primary LU 310P and the other LU as the secondary LU 310S. ing.
具体的には、例えば、記憶制御装置100は、外部端末(例えばSVP160)からの要求に手動で、又は、ライト要求を示すI/O要求を受領した場合(S51)に自動で、通常LU310AをプライマリLU310Pとし、仮想LU310CをセカンダリLU310SとしたLUペアを形成する。 Specifically, for example, the storage control device 100 manually sets the normal LU 310A to a request from an external terminal (for example, the SVP 160) or automatically when an I / O request indicating a write request is received (S51). An LU pair is formed with the primary LU 310P and the virtual LU 310C as the secondary LU 310S.
その後、記憶制御装置100は、受領したライト要求から、通常LU310Aにおける書込み先チャンク(例えば先頭LBA)410Pを特定する(S52)。そして、記憶制御装置100は、特定されたチャンク410P内の一部のデータ(斜線で示した部分)しか更新されなくても、そのチャンク410P内の全てのデータを読み出す(S53)。 Thereafter, the storage controller 100 identifies the write destination chunk (for example, the head LBA) 410P in the normal LU 310A from the received write request (S52). Then, the storage control device 100 reads out all the data in the chunk 410P even if only a part of the data in the specified chunk 410P (the portion indicated by the hatched line) is updated (S53).
その際、記憶制御装置100内のデータチェック回路67が、そのデータが、ライト対象外データパターンに適合するか否かの比較を行う(S54)。 At that time, the data check circuit 67 in the storage control device 100 compares whether the data conforms to the non-write target data pattern (S54).
その比較の結果、否定的な比較結果が得られた場合、記憶制御装置100は、そのデータを、仮想LU310Cに書き込む(S55)。具体的には、記憶制御装置100は、前述したように、仮想LU310C内の仮想チャンク410Sと、LDEVプール68内の論理チャンクとを動的に対応付けて、そのデータを、仮想チャンク410Sに対応付けられたLDEVチャンクに書き込む。 If a negative comparison result is obtained as a result of the comparison, the storage control device 100 writes the data in the virtual LU 310C (S55). Specifically, as described above, the storage control device 100 dynamically associates the virtual chunk 410S in the virtual LU 310C with the logical chunk in the LDEV pool 68, and associates the data with the virtual chunk 410S. Write to the attached LDEV chunk.
このようにして、スナップショットを作成した後、記憶制御装置100は、上記特定されたチャンク410Pに、S51で受領したライト要求に含まれているデータを書き込む(S56)。 After creating the snapshot in this way, the storage controller 100 writes the data included in the write request received in S51 to the specified chunk 410P (S56).
一方、S54の比較結果として、否定的な比較結果が得られた場合、記憶制御装置100は、S53で読み出されたデータを消去する(S57)。 On the other hand, when a negative comparison result is obtained as the comparison result in S54, the storage control device 100 deletes the data read in S53 (S57).
なお、上記流れにおいて、記憶制御装置100は、LUペアを形成しようとする場合、LU−LDEV管理テーブル162bを参照し、プライマリLU310PとセカンダリLU310Sとの記憶容量値が一致した場合にのみLUペアを形成し、それらが一致しない場合、LUペアの形成を拒否しても良い。 In the above flow, when the storage control device 100 attempts to form an LU pair, it refers to the LU-LDEV management table 162b and creates an LU pair only when the storage capacity values of the primary LU 310P and the secondary LU 310S match. If they are formed and they do not match, the LU pair formation may be rejected.
プライマリLU310PとセカンダリLU310Sとの記憶容量値が同一でないとLUペアが形成されないようになっている場合、プライマリLU310Pの記憶容量が大容量であると、セコンダリLU310Sの記憶容量も大容量である必要がある。しかし、スナップショット作成では、プライマリLU310PからセコンダリLU310Sにコピーするデータサイズが、プライマリLU310Pの容量よりも小さい場合がある。それにもかかわらず、大容量の通常LU310AをセコンダリLU310Sとしてしまうと、大量の無駄な空き記憶領域が生じてしまうことが考えられる。 If the LU pair is not formed unless the storage capacity values of the primary LU 310P and the secondary LU 310S are the same, if the storage capacity of the primary LU 310P is large, the storage capacity of the secondary LU 310S must also be large. is there. However, in snapshot creation, the data size to be copied from the primary LU 310P to the secondary LU 310S may be smaller than the capacity of the primary LU 310P. Nevertheless, if the large-capacity normal LU 310A is used as the secondary LU 310S, a large amount of useless free storage areas may occur.
しかし、以上のように、スナップショットの作成において、セカンダリLU310Sを仮想LU310CとしてLUペアを形成することにより、その仮想LU310Cに対応付けられ得るLDEVプール68の空き領域は動的に別の仮想LU310Cに対応付けられるようになっているので、無駄に空き記憶領域が生じてしまうことを防ぐことができる。 However, as described above, in creating a snapshot, by forming an LU pair with the secondary LU 310S as the virtual LU 310C, the free space in the LDEV pool 68 that can be associated with the virtual LU 310C is dynamically allocated to another virtual LU 310C. Since they are associated with each other, it is possible to prevent an unnecessary storage area from being generated.
図21は、第六具体例に関わる具体的な処理流れを示す。 FIG. 21 shows a specific processing flow related to the sixth specific example.
例えば、記憶制御サブシステム102におけるメモリ(例えばSM120)には、各LU(又は各LDEV)毎にスナップショット管理ビットマップ794が登録されている。スナップショット管理ビットマップ794には、対応するLU(又はLDEV)の各チャンク毎に、スナップショット済みか否かを示す情報(例えば1か0)が登録されている。 For example, in the memory (for example, SM 120) in the storage control subsystem 102, a snapshot management bitmap 794 is registered for each LU (or each LDEV). In the snapshot management bitmap 794, information (for example, 1 or 0) indicating whether the snapshot has been completed is registered for each chunk of the corresponding LU (or LDEV).
チャネル制御部110CのCHP119は、ライト要求を受信した場合、ライト要求の対象であるプライマリLU310Pに対応したスナップショット管理ビットマップ794を参照し、データが書き込まれる論理チャンクについてスナップショット作成済みか否かを判別する(S651)。 When receiving the write request, the CHP 119 of the channel control unit 110C refers to the snapshot management bitmap 794 corresponding to the primary LU 310P that is the target of the write request, and whether or not the snapshot has been created for the logical chunk to which data is written. Is discriminated (S651).
S651の結果、スナップショット作成済みであれば(S651でYES)、CHP119は、ライト要求に含まれるホストデータを、プライマリLU310Pの論理チャンク410Pに格納する(S660)。 If the snapshot has been created as a result of S651 (YES in S651), the CHP 119 stores the host data included in the write request in the logical chunk 410P of the primary LU 310P (S660).
一方、S651の結果、スナップショット作成済みでなければ(S651でNO)、CHP119は、コピー元(例えば論理チャンク410P)のキャッシュ領域を確保し、そのコピー元のデータをキャッシュ領域に格納する(S653)。 On the other hand, if the snapshot has not been created as a result of S651 (NO in S651), the CHP 119 secures a cache area for the copy source (eg, logical chunk 410P) and stores the copy source data in the cache area (S653). ).
その後、CHP119は、コピー先(例えば仮想チャンク410S)のキャッシュ領域を確保すると共に(S654)、データチェック回路67を起動して、そのキャッシュ領域内のデータをコピー先に格納する(S656)。 Thereafter, the CHP 119 secures a cache area of the copy destination (for example, the virtual chunk 410S) (S654), activates the data check circuit 67, and stores the data in the cache area in the copy destination (S656).
その際、データチェック回路67は、コピー元からコピー先に格納されるデータのデータパターンが、ライト対象外データパターンに適合するか否かの比較を行う。 At that time, the data check circuit 67 compares whether or not the data pattern of the data stored from the copy source to the copy destination matches the non-write target data pattern.
もし、否定的な比較結果が得られたならば(S657でNO)、CHP119は、上述したS660を実行する。 If a negative comparison result is obtained (NO in S657), the CHP 119 executes S660 described above.
一方、もし、肯定的な比較結果が得られたならば(S657でYES)、CHP119は、コピー先のために確保したキャッシュ領域を破棄すると共に、コピー先へ格納したデータを消去する(S658)。また、CHP119は、スナップショット管理ビットマップ794にアクセスし、コピー元に対応する情報を、スナップショット取得済みに更新する(S659)。 On the other hand, if a positive comparison result is obtained (YES in S657), the CHP 119 discards the cache area reserved for the copy destination and erases the data stored in the copy destination (S658). . Also, the CHP 119 accesses the snapshot management bitmap 794, and updates the information corresponding to the copy source so that the snapshot has been acquired (S659).
以上、本発明の実施形態を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこの実施形態にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、上述の説明では、データチェック回路67によるデータパターン比較は、仮想LU310C(仮想LDEV61c)に格納されるデータに対してのみ行われるが、それに限らず、通常LU310A、310B(通常LDEV61a)に格納されるデータに対しても行われても良い(すなわち、例えばその比較で肯定的な結果が得られた場合、そのデータは通常LDEVに格納されること無く又は格納された後に消去されても良い)。また、例えば、仮想LU同士のペアが形成された後に、スナップショットの作成が行われても良い(すなわち、1又は複数のLDEVプール68における論理チャンク同士でデータコピーが行われても良い)。また、例えば、仮想LUがプライマリLUとなり、通常LUがセカンダリLUになっても良い。 As mentioned above, although embodiment of this invention was described, these are illustrations for description of this invention, Comprising: It is not the meaning which limits the scope of the present invention only to this embodiment. The present invention can be implemented in various other forms. For example, in the above description, the data pattern comparison by the data check circuit 67 is performed only on the data stored in the virtual LU 310C (virtual LDEV 61c), but is not limited thereto, and is stored in the normal LU 310A, 310B (normal LDEV 61a). (I.e., if the comparison yields a positive result, for example, the data may normally be deleted without being stored in the LDEV or after being stored) ). Further, for example, a snapshot may be created after a pair of virtual LUs is formed (that is, data copy may be performed between logical chunks in one or a plurality of LDEV pools 68). Further, for example, the virtual LU may be the primary LU and the normal LU may be the secondary LU.
1…記憶システム、2…RAIDグループ、10…基本筐体、12…増設筐体、100…記憶制御装置、101…記憶装置ユニット、102…記憶制御サブシステム、110A〜110D…チャネル制御部、120…共有メモリ、130…キャッシュメモリ、140A〜140D…ディスク制御部、160…保守用端末、200A〜200D…ホスト端末、300…ディスク型記憶装置、310…論理ユニット、600…記憶制御システム DESCRIPTION OF SYMBOLS 1 ... Storage system, 2 ... RAID group, 10 ... Basic enclosure, 12 ... Expansion enclosure, 100 ... Storage controller, 101 ... Storage device unit, 102 ... Storage control subsystem, 110A-110D ... Channel control part, 120 ... Shared memory, 130 ... Cache memory, 140A to 140D ... Disk controller, 160 ... Maintenance terminal, 200A to 200D ... Host terminal, 300 ... Disk type storage device, 310 ... Logical unit, 600 ... Storage control system
Claims (10)
複数の論理記憶領域を有する論理ボリュームを構成する複数の記憶装置と、
前記上位装置からのブロックアクセス要求に基づいて、前記記憶装置へのデータの格納を制御する制御装置と、
を有し、
前記制御装置は、
複数の仮想記憶領域を有する仮想ボリュームを前記上位装置に提供し、
前記仮想記憶領域へのブロック書込み要求を受信すると、当該書込み要求に応じて当該書込み要求に係る仮想記憶領域に前記論理記憶領域を割当てるストレージ装置であって、
前記制御装置は、
前記論理記憶領域のデータを読み出し、当該読み出したデータが前記制御装置に登録されている所定のデータパターンと一致する場合、当該読み出した論理記憶領域と対応する前記仮想記憶領域との間の割当を解除することを特徴とするストレージ装置。 Connected to the host device,
A plurality of storage devices constituting a logical volume having a plurality of logical storage areas;
A control device that controls storage of data in the storage device based on a block access request from the host device;
I have a,
The controller is
Providing a virtual volume having a plurality of virtual storage areas to the host device;
Upon receiving a block write request to the virtual storage area, a storage device to assign the logical storage area in the virtual storage area according to the write request in response to the write request,
The controller is
When the data in the logical storage area is read and the read data matches a predetermined data pattern registered in the control device, allocation between the read logical storage area and the corresponding virtual storage area is performed. A storage apparatus characterized by being released.
前記制御装置は、
前記第1論理ボリュームと前記仮想ボリュームとを前記上位装置に提供し、
前記第2論理ボリュームの論理記憶領域を前記仮想ボリュームの前記仮想記憶領域に割り当てることを特徴とする請求項1に記載のストレージ装置。 The plurality of logical volumes include a first logical volume and a second logical volume;
The controller is
Providing the first logical volume and the virtual volume to the host device;
The storage apparatus according to claim 1, wherein a logical storage area of the second logical volume is allocated to the virtual storage area of the virtual volume.
前記論理記憶領域の割当てが解除されると、当該論理記憶領域を未割当論理記憶領域として管理し、
前記上位装置から前記論理記憶領域が割当てられいない前記仮想記憶領域への書込み要求を受信すると、当該書込み要求に係る仮想記憶領域に前記未割当論理記憶領域から論理記憶領域を割当ることを特徴とする請求項1に記載のストレージ装置。 The controller is
When the allocation of the logical storage area is released, the logical storage area is managed as an unallocated logical storage area,
When a write request to the virtual storage area to which the logical storage area is not allocated is received from the host device, the logical storage area is allocated from the unallocated logical storage area to the virtual storage area related to the write request. The storage device according to claim 1.
複数の論理記憶領域を有する論理ボリュームを構成する複数の記憶装置と、
前記上位装置からのブロックアクセス要求に基づいて、前記記憶装置へのデータの格納を制御する制御装置と、を有し、
複数の仮想記憶領域を有する仮想ボリュームを前記上位装置に提供し、
前記仮想記憶領域へのブロック書込み要求を受信すると、当該書込み要求に応じて当該書込み要求に係る仮想記憶領域の前記論理記憶領域を割当てるストレージ装置の制御方法であって、
前記論理記憶領域のデータを読み出し、当該読み出したデータが前記制御装置に登録されている所定のデータパターンと一致する場合、当該読み出した論理記憶領域と対応する前記仮想記憶領域との間の割当を解除することを特徴とするストレージ装置。 Connected to the host device,
A plurality of storage devices constituting a logical volume having a plurality of logical storage areas;
Based on the block access request from the host system, it has a, and a control unit for controlling the storage of data in the storage device,
Providing a virtual volume having a plurality of virtual storage areas to the host device;
Wherein upon receiving a block write request to the virtual storage area, a control method of the assign to a storage device the logical storage area of the virtual storage area according to the write request in response to the write request,
When the data in the logical storage area is read and the read data matches a predetermined data pattern registered in the control device, allocation between the read logical storage area and the corresponding virtual storage area is performed. A storage apparatus characterized by being released.
前記第1論理ボリュームと前記仮想ボリュームとを前記上位装置に提供し、
前記第2論理ボリュームの論理記憶領域を前記仮想ボリュームの前記仮想記憶領域に割り当てることを特徴とする請求項6に記載のストレージ装置の制御方法。 The plurality of logical volumes include a first logical volume and a second logical volume;
Providing the first logical volume and the virtual volume to the host device;
7. The storage apparatus control method according to claim 6, wherein the logical storage area of the second logical volume is allocated to the virtual storage area of the virtual volume.
前記上位装置から前記論理記憶領域が割当てられいない前記仮想記憶領域への書込み要求を受信すると、当該書込み要求に係る仮想記憶領域に前記割当論理記憶領域から論理記憶領域を割当ることを特徴とする請求項6に記載のストレージ装置の制御方法。 When the logical storage area is deallocated, the logical storage area is managed as an unallocated logical storage area in the virtual storage area,
When a write request to the virtual storage area to which the logical storage area is not allocated is received from the host device, the logical storage area is allocated from the allocated logical storage area to the virtual storage area related to the write request. The storage apparatus control method according to claim 6.
The storage apparatus control method according to claim 6, wherein the deallocated logical storage area can be newly allocated to any virtual storage area included in the virtual logical device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013099890A JP5606583B2 (en) | 2013-05-10 | 2013-05-10 | Storage device and control method for the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013099890A JP5606583B2 (en) | 2013-05-10 | 2013-05-10 | Storage device and control method for the same |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010140720A Division JP2010257477A (en) | 2010-06-21 | 2010-06-21 | Storage control system and method of controlling the same |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013157033A JP2013157033A (en) | 2013-08-15 |
JP5606583B2 true JP5606583B2 (en) | 2014-10-15 |
Family
ID=49052070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013099890A Expired - Fee Related JP5606583B2 (en) | 2013-05-10 | 2013-05-10 | Storage device and control method for the same |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5606583B2 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03259320A (en) * | 1990-03-08 | 1991-11-19 | Nec Corp | Striping area allocating system |
JP3481391B2 (en) * | 1996-05-23 | 2003-12-22 | 日本電気株式会社 | File data distributed storage method |
JP2003067259A (en) * | 2001-08-28 | 2003-03-07 | Canon Electronics Inc | Information recording apparatus |
JP4646526B2 (en) * | 2004-02-18 | 2011-03-09 | 株式会社日立製作所 | Storage control system and control method thereof |
JP4331220B2 (en) * | 2007-03-07 | 2009-09-16 | 株式会社東芝 | Storage device with autonomous management function of unused physical area |
-
2013
- 2013-05-10 JP JP2013099890A patent/JP5606583B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013157033A (en) | 2013-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4646526B2 (en) | Storage control system and control method thereof | |
US7949828B2 (en) | Data storage control on storage devices | |
US8627038B2 (en) | Storage controller and storage control method | |
US9400618B2 (en) | Real page migration in a storage system comprising a plurality of flash packages | |
US7401197B2 (en) | Disk array system and method for security | |
JP2007141216A (en) | System, method and apparatus for multiple-protocol-accessible osd storage subsystem | |
JP2006113648A (en) | Disk array device | |
JP2006072789A (en) | Storage system and data management device of the same | |
JP2012505441A (en) | Storage apparatus and data control method thereof | |
JP2005222404A (en) | Storage control subsystem having virtual storage unit | |
US8799573B2 (en) | Storage system and its logical unit management method | |
US8539156B2 (en) | Storage subsystem and its logical unit processing method | |
JP5597266B2 (en) | Storage system | |
JP5606583B2 (en) | Storage device and control method for the same | |
JP2010257477A (en) | Storage control system and method of controlling the same | |
JP4075790B2 (en) | Compound computer system and compound I / O system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130527 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130527 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130614 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140218 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140418 |
|
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: 20140729 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140826 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5606583 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |