JP2014519062A - Storage system and logical unit management method thereof - Google Patents

Storage system and logical unit management method thereof Download PDF

Info

Publication number
JP2014519062A
JP2014519062A JP2013552759A JP2013552759A JP2014519062A JP 2014519062 A JP2014519062 A JP 2014519062A JP 2013552759 A JP2013552759 A JP 2013552759A JP 2013552759 A JP2013552759 A JP 2013552759A JP 2014519062 A JP2014519062 A JP 2014519062A
Authority
JP
Japan
Prior art keywords
management information
page
access
format
pages
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.)
Granted
Application number
JP2013552759A
Other languages
Japanese (ja)
Other versions
JP5802283B2 (en
Inventor
裕太郎 川口
幸司 永田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2014519062A publication Critical patent/JP2014519062A/en
Application granted granted Critical
Publication of JP5802283B2 publication Critical patent/JP5802283B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】フォーマット管理情報を保存する管理情報用ページのサイズを最小にするとともに、管理情報用ページの管理サイズを低減すること。
【解決手段】アクセス対象用論理ユニットがフォーマット済みかを管理するフォーマット管理情報を格納する管理情報用論理ユニットの領域を前方ページ領域と後方ページ領域で管理するコントローラを有し、コントローラは、アクセス対象用論理ユニットをフォーマットする場合、アクセス対象用論理ユニットの容量を基にフォーマット管理情報の容量を算出し、算出したフォーマット管理情報の容量とページの管理単位との比から管理情報用ページのページ数を算出し、1ページのフォーマット管理情報を前方ページ領域に割り当て、その格納先を前方ページ領域アドレスで管理し、2ページ以上のフォーマット管理情報を後方ページ領域に割り当て、その格納先を、後方ページ領域アドレスとページ長で管理する。
【選択図】図6
To minimize the size of a management information page for storing format management information and to reduce the management size of the management information page.
A controller for managing a management information logical unit area for storing format management information for managing whether or not an access target logical unit has been formatted is managed in a front page area and a rear page area. When formatting the logical unit for management, the capacity of the format management information is calculated based on the capacity of the logical unit for access, and the number of pages of management information is calculated from the ratio of the calculated format management information capacity and the page management unit. And the format management information of one page is assigned to the front page area, the storage destination is managed by the front page area address, the format management information of two or more pages is assigned to the rear page area, and the storage destination is assigned to the rear page area. Manage by area address and page length.
[Selection] Figure 6

Description

本発明は、複数の記憶装置の記憶領域上に形成される論理ユニットを管理するためのストレージシステム及びその論理ユニット管理方法に関する。   The present invention relates to a storage system and a logical unit management method for managing logical units formed on storage areas of a plurality of storage devices.

近年、大規模なデータを取り扱うストレージシステムにおいて、日々増加する大容量のデータを多数のハードディスクドライブ(HDD)に格納するために、ストレージシステム自体の機能を拡張することが行われている。このため。多数のハードディスクドライブの物理的な記憶領域上に形成される論理ボリュームの数を増やすことも行われている。論理ボリュームの数が増加すると、論理ボリュームを管理するための管理情報も増やす必要がある。論理ボリュームの管理情報は、通常、半導体メモリに保存されるが、半導体メモリは容量が小さく高価である。   2. Description of the Related Art In recent years, in storage systems that handle large-scale data, functions of the storage system itself have been expanded in order to store a large amount of data that increases every day in a large number of hard disk drives (HDDs). For this reason. Increasing the number of logical volumes formed on physical storage areas of a large number of hard disk drives is also being carried out. As the number of logical volumes increases, management information for managing logical volumes also needs to be increased. The management information of the logical volume is usually stored in a semiconductor memory, but the semiconductor memory has a small capacity and is expensive.

そこで、論理ボリュームの管理情報を低価格なハードディスクドライブで構成されるRAID(Redundant Array of Inexpensive Disks)に保存し、低価格でストレージシステムの規模の拡大を達成することが行われている(特許文献1参照)。   Therefore, logical volume management information is stored in RAID (Redundant Array of Inexpensive Disks) composed of low-cost hard disk drives, and the expansion of the storage system scale is achieved at a low price (Patent Literature). 1).

一方、複数の記憶制御装置を有するストレージシステムの場合、ハードディスクドライブは、各記憶制御装置からアクセスされるため、アクセスの排他が必要となる。コントローラ間の排他制御に関する方法としは、例えば、各コントローラにキャッシュメモリの一部及び論理ボリュームを割り当て、キャッシュメモリに対するコントローラ間の排他制御を無くすようにする方法が提案されている(特許文献2参照)。   On the other hand, in the case of a storage system having a plurality of storage control devices, the hard disk drive is accessed from each storage control device, and thus access exclusion is required. As a method related to exclusive control between controllers, for example, a method has been proposed in which a part of a cache memory and a logical volume are allocated to each controller to eliminate exclusive control between the controllers with respect to the cache memory (see Patent Document 2). ).

特開2008−065706号公報JP 2008-0665706 A 特開2006−114064号公報JP 2006-1114064 A

特許文献2では、キャッシュメモリの記憶領域をセグメントに分割して管理する方法を採用しているが、この方法を、RAIDを構成するハードディスクドライブ(HDD)等の記憶デバイスの記憶領域を管理する方法に適用しても、RAIDを構成するハードディスクドライブ(HDD)等の記憶デバイスの記憶領域を特定の管理単位(ページ)で分割して管理する場合、以下の課題が生じる。   Patent Document 2 employs a method of managing a storage area of a cache memory by dividing it into segments. This method is also used for managing a storage area of a storage device such as a hard disk drive (HDD) that constitutes a RAID. However, when the storage area of a storage device such as a hard disk drive (HDD) constituting a RAID is divided and managed by a specific management unit (page), the following problems arise.

例えば、ページ単位で論理ボリュームの管理情報を保存する場合、管理情報がどんなに小さくても、管理情報を保存する記憶領域として、必ず1ページ分の記憶領域の割り当てが管理情報には必要となる。そのため、ページのサイズが大きいときに、小さな管理情報をページ単位の記憶領域に保存すると、無駄な記憶領域が発生する。逆に、管理情報が大きく、ページのサイズが小さいときには、管理情報を保存するためのページの数が増大することになる。   For example, when storing logical volume management information in units of pages, no matter how small the management information is, the management information must always be allocated to one page as a storage area for storing management information. For this reason, if small management information is stored in a page-by-page storage area when the page size is large, a useless storage area is generated. Conversely, when the management information is large and the page size is small, the number of pages for storing the management information increases.

本発明は、前記従来技術の課題に鑑みて為されたものであり、その目的は、フォーマット管理情報を保存する管理情報用ページのサイズを最小にするとともに、管理情報用ページの管理サイズを低減することができるストレージシステム及びその論理ユニット管理方法を提供することにある。   The present invention has been made in view of the above-described problems of the prior art, and its purpose is to minimize the size of the management information page for storing the format management information and reduce the management size of the management information page. It is an object of the present invention to provide a storage system and a logical unit management method thereof.

前記目的を達成するために、本発明は、複数の記憶装置の記憶領域に形成される論理ユニットであって、アクセス要求元のアクセス対象となる1又は複数のアクセス対象用論理ユニットがフォーマット済みか否かを管理するためのフォーマット管理情報を格納する管理情報用論理ユニットの領域を、前方ページ領域と後方ページ領域に分けて管理する1又は複数のコントローラを有し、前記コントローラは、前記アクセス対象用論理ユニットに対する前記フォーマット処理の実行時に、前記アクセス対象用論理ユニットの容量を基に前記フォーマット管理情報の容量を算出し、前記算出したフォーマット管理情報の容量と特定容量のページの管理単位との比から、前記フォーマット管理情報を前記管理単位で管理するのに必要な管理情報用ページのページ数を算出し、前記算出した管理情報用ページのページ数に対応する前記フォーマット管理情報のうち一部のフォーマット管理情報を前記前方ページ領域に割り当て、前記算出した管理情報用ページのページ数に対応する前記フォーマット管理情報のうち残りのフォーマット管理情報を前記後方ページ領域に割り当て、前記フォーマット処理の実行結果を前記フォーマット管理情報として、前記前方ページ領域又は前記後方ページ領域に格納することを特徴とする。この際、前記コントローラは、前記前方ページ領域に割り当てられた前記フォーマット管理情報の格納先を前方ページ領域アドレスで管理し、前記後方ページ領域に割り当てられた前記フォーマット管理情報の格納先を後方ページ領域アドレスとページ長で管理することができる。   To achieve the above object, the present invention is a logical unit formed in a storage area of a plurality of storage devices, wherein one or a plurality of access target logical units to be accessed by an access request source have been formatted. A management information logical unit area that stores format management information for managing whether or not the management information logical unit area is divided into a front page area and a rear page area, and the controller includes the access target When executing the format processing for the logical unit for use, the capacity of the format management information is calculated based on the capacity of the logical unit for access, and the calculated capacity of the format management information and the management unit of the page of the specific capacity Ratio management information required for managing the format management information in the management unit. A portion of the format management information corresponding to the calculated number of pages of the management information page is allocated to the front page area, and the page of the calculated management information page Allocating the remaining format management information among the format management information corresponding to the number to the rear page area, and storing the execution result of the format process as the format management information in the front page area or the rear page area. Features. At this time, the controller manages the storage location of the format management information allocated to the front page area by a front page area address, and stores the storage location of the format management information allocated to the rear page area as a rear page area. Can be managed by address and page length.

本発明によれば、フォーマット管理情報を保存する管理情報用ページのサイズを最小にするとともに、管理情報用ページの管理サイズを低減することができる。   According to the present invention, it is possible to minimize the size of the management information page for storing the format management information and reduce the management size of the management information page.

通常LUと差分ビットマップテーブルとの関係を説明するための構成図である。It is a block diagram for demonstrating the relationship between normal LU and a difference bitmap table. 管理情報用LUの構成図である。FIG. 6 is a configuration diagram of a management information LU. コントローラ間でアクセスが競合する処理を説明するための構成図である。It is a block diagram for demonstrating the process in which access competes between controllers. 管理単位毎にストライプ列を割り当てた管理情報用LUの構成図である。FIG. 3 is a configuration diagram of a management information LU to which a stripe column is assigned for each management unit. 計算機システムの全体構成を示す構成図である。It is a block diagram which shows the whole structure of a computer system. ディスクアレイ装置の内部構成図である。It is an internal block diagram of a disk array device. ローカルメモリの構成図である。It is a block diagram of a local memory. ドライブ管理テーブルの構成図である。It is a block diagram of a drive management table. RG管理テーブルの構成図である。It is a block diagram of an RG management table. LU管理テーブルの構成図である。It is a block diagram of an LU management table. QF管理テーブルの構成図である。It is a block diagram of a QF management table. 管理情報用仮想メモリ管理テーブルの構成図である。It is a block diagram of the virtual memory management table for management information. 管理情報用ページ管理テーブルの構成図である。It is a block diagram of the management information page management table. クイックフォーマット指示を受領したコントローラの処理を説明するためのフローチャートである。It is a flowchart for demonstrating the process of the controller which received the quick format instruction | indication. 差分ビットマップテーブルを確保するときの処理を説明するためのフローチャートである。It is a flowchart for demonstrating the process at the time of ensuring a difference bitmap table. 管理情報用仮想メモリ割当処理を説明するためのフローチャートである。It is a flowchart for demonstrating the virtual memory allocation process for management information. 前方ページ領域割当処理を説明するためのフローチャートである。It is a flowchart for demonstrating a front page area | region allocation process. 後方ページ領域割当処理を説明するためのフローチャートである。It is a flowchart for demonstrating a back page area | region allocation process. RAIDグループ上に配置されたLUに後方ページ領域を割り当てるための処理を説明するための図である。It is a figure for demonstrating the process for allocating a back page area | region to LU arrange | positioned on a RAID group. ポーリングを契機で実行されるQF登録処理を説明するためのフローチャートである。It is a flowchart for demonstrating the QF registration process performed with a polling opportunity. ジョブ起動処理を説明するためのフローチャートである。It is a flowchart for demonstrating a job starting process. 差分ビットマップ更新処理を説明するためのフローチャートである。It is a flowchart for demonstrating a difference bitmap update process. 次フォーマット領域検索処理を説明するためのフローチャートである。It is a flowchart for demonstrating a next format area | region search process. 管理情報用仮想メモリアクセス処理を説明するためのフローチャートである。It is a flowchart for demonstrating the virtual memory access process for management information. 仮想メモリアドレスから物理アドレスを算出する処理を説明するためのフローチャートである。It is a flowchart for demonstrating the process which calculates a physical address from a virtual memory address. 第1の担当コア判定処理を説明するためのフローチャートである。It is a flowchart for demonstrating a 1st charge core determination process. 第2の担当コア判定処理を説明するためのフローチャートである。It is a flowchart for demonstrating a 2nd charge core determination process. リードコマンド処理を説明するためのフローチャートである。It is a flowchart for demonstrating a read command process. 通常リード処理を説明するためのフローチャートである。It is a flowchart for demonstrating normal read processing. クロスコールリード処理を説明するためのフローチャートである。It is a flowchart for demonstrating a cross call read process. 第2実施例の構成図であって、差分ビットマップテーブルをシンプロビジョニングプールに保存する場合の構成図である。It is a block diagram of 2nd Example, Comprising: It is a block diagram in the case of preserve | saving a difference bitmap table in a thin provisioning pool.

(発明の概要)
複数の記憶デバイスで構成されたRAID上に、例えば、ユーザボリュームを構築する場合、各記憶デバイスの記憶領域に対してフォーマット処理、例えば、クイックフォーマット処理が、例えば、コントローラによって実行される。
(Summary of Invention)
For example, when a user volume is constructed on a RAID configured with a plurality of storage devices, for example, a controller performs a format process, for example, a quick format process, on the storage area of each storage device.

この際、図1に示すように、クイックフォーマット処理の対象となるLUであって、RAID上に構成された通常LU10のうち、フォーマット対象領域12を、1MBのクイックフォーマット管理単位で複数のクイックフォーマット対象領域14に分割し、各クイックフォーマット対象領域14が、フォーマット済か否かを差分ビットマップテーブル16(以下、アクセス対象用論理ユニットを示す通常LU10がフォーマット済みか否かを管理するためのフォーマット管理情報を差分ビットで登録するテーブルを差分ビットマップテーブルと称する。)で管理する。   At this time, as shown in FIG. 1, among the normal LUs 10 which are LUs to be subjected to the quick format process and are configured on the RAID, the format target area 12 is divided into a plurality of quick formats in a 1 MB quick format management unit. It is divided into target areas 14, and whether or not each quick format target area 14 has been formatted is determined based on the difference bitmap table 16 (hereinafter, a format for managing whether or not the normal LU 10 indicating the logical unit for access has been formatted). A table in which management information is registered with difference bits is referred to as a difference bitmap table).

この場合、クイックフォーマット対象領域14が、フォーマット済であれば、このクイックフォーマット対象領域14に対応した差分ビットマップテーブル16に「0」を格納し、クイックフォーマット対象領域14が、未フォーマット状態にある場合には、このクイックフォーマット対象領域14に対応した差分ビットマップテーブル16に「1」を格納する。   In this case, if the quick format target area 14 has been formatted, “0” is stored in the difference bitmap table 16 corresponding to the quick format target area 14, and the quick format target area 14 is in an unformatted state. In this case, “1” is stored in the difference bitmap table 16 corresponding to the quick format target area 14.

即ち、各クイックフォーマット対象領域14が、フォーマット済か否かを1ビットの差分ビットを用いて差分ビットマップテーブル16で管理する。   That is, whether or not each quick format target area 14 has been formatted is managed by the difference bitmap table 16 using a 1-bit difference bit.

通常LU10のサイズが7680TBであった場合、差分ビットマップテーブル16の容量は約1GBとなる。   When the size of the normal LU 10 is 7680 TB, the capacity of the differential bitmap table 16 is about 1 GB.

1GBのデータを半導体メモリに保存するのでは、多くの半導体メモリを必要とする。   In order to store 1 GB of data in a semiconductor memory, a large amount of semiconductor memory is required.

具体的には、記憶デバイスをフォーマット処理する場合、フォーマットの有無を論理ユニット(以下、LU(Logical Unit)と称することがある)毎に管理するための管理情報が登録される差分ビットマップテーブルの容量としては、LU1MB(メガバイト)当たり1ビットとなる。このため、クイックフォーマット対象の全LUの合計容量が7680TB(テラバイト)であった場合、差分ビットマップテーブルの容量は、全LUでは、約1GB(ギガバイト)となる。   Specifically, when formatting a storage device, a difference bitmap table in which management information for managing the presence / absence of formatting for each logical unit (hereinafter sometimes referred to as LU (Logical Unit)) is registered. The capacity is 1 bit per 1 MB (megabyte) of LU. Therefore, when the total capacity of all LUs subject to quick formatting is 7680 TB (terabytes), the capacity of the difference bitmap table is about 1 GB (gigabytes) for all LUs.

ここで、1GB/(ページの管理単位)=管理情報用ページ数として、各LUのフォーマット処理の実行の有無を差分ビットマップテーブルで管理する場合、ページの管理単位が小さくなればなる程、管理情報用ページの数が増大することになる。   Here, when managing the presence / absence of the format processing of each LU using the differential bitmap table with 1 GB / (page management unit) = number of pages for management information, the smaller the page management unit, the more The number of information pages will increase.

例えば、1LU当たり最大128TBの容量であって、LUとしては、最大4096個のLUが存在することを前提とし、最も単純な管理方式を考える。1LU当たりに割り当てられた管理情報用ページを全て管理するという管理方式を採用した場合、差分ビットマップテーブルのサイズは、1管理情報用ページの管理情報(アドレス情報)を4Byteとすると、以下の通りとなる。   For example, the simplest management method is considered on the assumption that there is a maximum capacity of 128 TB per LU and that there are a maximum of 4096 LUs. When the management method of managing all management information pages allocated per LU is adopted, the size of the difference bitmap table is as follows, assuming that the management information (address information) of one management information page is 4 bytes. It becomes.

まず最大128TB分の差分ビットマップテーブルのサイズは、16MBとなる。即ち、128TBをビットマップの管理単位の1MBで割り算し、割り算で得られた値を、1MB当たり1ビットで管理すると共に、バイトに変換して管理する場合、128TB分の差分ビットマップテーブルのサイズは16MBとなる。   First, the size of the difference bitmap table for a maximum of 128 TB is 16 MB. That is, when 128TB is divided by 1MB of the bitmap management unit, and the value obtained by the division is managed by 1 bit per 1MB, and converted to bytes and managed, the size of the difference bitmap table for 128TB Will be 16MB.

ここで、管理単位が小さい場合であって、ページの管理単位が4MBの場合、16MBの差分ビットマップテーブルを保存可能な管理情報用ページの数は、4管理情報ページとなる。   When the management unit is small and the page management unit is 4 MB, the number of management information pages that can store the 16 MB differential bitmap table is 4 management information pages.

1管理情報用ページの管理情報は4Byteであるので、4管理情報用ページを管理するために必要な情報量は、16Byteとなる。   Since the management information of one management information page is 4 bytes, the amount of information necessary for managing the four management information pages is 16 bytes.

16Byteの情報量を4096LU分管理するために必要なメモリサイズは、64KBとなる。   The memory size required for managing the information amount of 16 bytes for 4096 LUs is 64 KB.

次に、ページの管理単位を1MBとした場合、16MBの差分ビットマップテーブルを保存可能な管理情報用ページ数は、16管理情報用ページとなる。   Next, when the page management unit is 1 MB, the number of management information pages that can store a 16 MB differential bitmap table is 16 management information pages.

16管理情報用ページを管理するために必要な情報量は、16×4Byte=64Byteとなる。   The amount of information necessary for managing the 16 management information page is 16 × 4 bytes = 64 bytes.

64Byteの情報量を4096LU分管理するために必要なメモリサイズは、256KBとなる。   The memory size necessary to manage the amount of information of 64 bytes for 4096 LUs is 256 KB.

即ち、管理単位が小さくなればなる程、管理情報用ページの数が増大し、その分、管理情報を保存するためのメモリのサイズが増大することになる。   That is, the smaller the management unit is, the larger the number of management information pages is, and accordingly, the size of the memory for storing the management information is increased.

一方、ページの管理単位が大きい場合、例えば、ページの管理単位が10MBであって、クイックフォーマット対象のLUの容量を128TBとした場合、16MBの差分ビットマップテーブルを保存するために必要な管理情報用ページの数は、16MB/10MB=1.6となる。端数を切り上げると、2管理情報用ページとなる。   On the other hand, when the page management unit is large, for example, when the page management unit is 10 MB and the capacity of the LU to be subjected to quick formatting is 128 TB, the management information necessary for storing the 16 MB differential bitmap table The number of pages for use is 16 MB / 10 MB = 1.6. If the fraction is rounded up, the page becomes 2 management information.

即ち、差分ビットマップテーブルのサイズが、16MBである場合、この容量を保存するために必要な管理情報用ページの数は、計算上は1.6ページである。しかし、管理情報用ページは、管理情報用ページ毎に管理されるので、差分ビットマップテーブルを保存するために必要なページ数は、2管理情報用ページとなる。このため、2管理情報用ページのうち最後の管理情報用ページには、使用されない記憶領域が生じることになる。このように、ページの管理単位が大きければ大きい程、実際に使用されない無駄な記憶領域が発生することになる。   That is, when the size of the difference bitmap table is 16 MB, the number of management information pages necessary for storing this capacity is 1.6 pages in calculation. However, since the management information page is managed for each management information page, the number of pages necessary for storing the difference bitmap table is two management information pages. Therefore, a storage area that is not used is generated in the last management information page of the two management information pages. As described above, the larger the page management unit, the more useless storage areas that are not actually used are generated.

そこで、差分ビットマップテーブル16のデータを保存するためのLUとして、図2に示すように、複数の記憶デバイスで構成されたRAIDグループ上に、管理情報用LU18を形成し、管理情報用LU18に差分ビットマップテーブル16のデータを格納する。   Therefore, as an LU for storing the data of the difference bitmap table 16, as shown in FIG. 2, a management information LU 18 is formed on a RAID group composed of a plurality of storage devices, and the management information LU 18 is stored in the management information LU 18. The data of the difference bitmap table 16 is stored.

この際、管理情報用LU18の領域を、前方ページ領域20と、後方ページ領域22に分割する。   At this time, the area of the management information LU 18 is divided into a front page area 20 and a rear page area 22.

また、差分ビットマップテーブル16のデータを管理情報用LU18に格納するに際しては、差分ビットマップテーブル16のデータはLU毎の情報であって、LUの構成によっては、各LUに対応した差分ビットマップテーブル16のサイズが変化する。このため、差分ビットマップテーブル16のデータを管理情報用LU18に保存するには、LU毎に分割して管理する必要がある。   When the data of the differential bitmap table 16 is stored in the management information LU 18, the data of the differential bitmap table 16 is information for each LU. Depending on the LU configuration, the differential bitmap corresponding to each LU is stored. The size of the table 16 changes. For this reason, in order to save the data of the difference bitmap table 16 in the management information LU 18, it is necessary to divide and manage for each LU.

そこで、差分ビットマップテーブル16の容量を特定の容量、例えば、1MBのページの管理単位で分割して得られた管理情報用ページを用いて管理する。この際、管理情報用ページは、リードアクセス又はライトアクセスの最小単位であるストライプ列のサイズの整数倍に設定される。   Therefore, the capacity of the difference bitmap table 16 is managed by using a management information page obtained by dividing the capacity of the difference bitmap table 16 by a specific capacity, for example, 1 MB page management unit. At this time, the management information page is set to an integral multiple of the stripe column size, which is the minimum unit of read access or write access.

そして、管理情報用LU18のうち、前方ページ領域20には、RAID内のユーザボリュームの最大数×ページサイズ(管理情報用ページのサイズ)の容量により算出される領域を割り当てる。   In the management information LU 18, an area calculated by the capacity of the maximum number of user volumes in the RAID × page size (size of management information page) is allocated to the front page area 20.

また、後方ページ領域22には、RAIDグループ全体のサイズから算出される管理情報として必要とされる領域を割り当てる。   Further, an area required as management information calculated from the size of the entire RAID group is allocated to the rear page area 22.

この後、通常LU10を複数のLUに分割して使用する過程で、分割されたLUの容量を基に、差分ビットマップテーブル16のデータを格納するのに必要なページ数をLU毎に算出する。算出されたページ数が2以上である場合、1ページに対応する差分ビットマップテーブル16のデータを前方ページ領域20に割り当て、2ページ以降の差分ビットマップテーブル16のデータを後方ページ領域22に割り当てる。   Thereafter, in the process of dividing the normal LU 10 into a plurality of LUs, the number of pages required to store the data of the differential bitmap table 16 is calculated for each LU based on the capacity of the divided LUs. . When the calculated number of pages is 2 or more, the data of the difference bitmap table 16 corresponding to one page is assigned to the front page area 20, and the data of the difference bitmap table 16 after the second page is assigned to the rear page area 22. .

この際、前方ページ領域20に割り当てられたデータの格納先を前方ページ領域アドレスで管理し、後方ページ領域22に割り当てられたデータの格納先を、後方ページ領域アドレスと、後方ページ領域22に割り当てられたページのページ長で管理する。   At this time, the storage destination of the data allocated to the front page area 20 is managed by the front page area address, and the storage destination of the data allocated to the rear page area 22 is allocated to the rear page area address and the rear page area 22. Managed by the page length of the specified page.

また、図3に示すように、管理情報用LU18に形成される複数のストライプ列24の中に、異なるページのデータ26、28が存在する場合、ページ毎に担当コントローラを1つに定めるという方式を採用した場合、同一のストライプ列24に対して、2つのコントローラ(記憶制御装置)がアクセスすると、アクセスの競合が発生することになる。   Further, as shown in FIG. 3, when there are data 26 and 28 of different pages in the plurality of stripe columns 24 formed in the management information LU 18, one controller is determined for each page. When two controllers (storage control devices) access the same stripe row 24, an access conflict occurs.

そこで、図4に示すように、管理情報用LU18に構築されるストライプ列24の整数倍を管理情報用ページ30とし、管理情報用LU18に構築されるストライプ列24を管理情報用ページ30毎にまとめて管理すると共に、管理情報ページ30毎に担当コントローラを設定する。例えば、管理情報用ページ30には、管理情報用ページ30に対するアクセスを占有することを示すオーナー権の情報を、いずれかのコントローラに対応づけて格納される。これにより、コントローラ間でアクセスの競合が発生するのを防止することができる。   Therefore, as shown in FIG. 4, an integer multiple of the stripe column 24 constructed in the management information LU 18 is defined as the management information page 30, and the stripe column 24 constructed in the management information LU 18 is defined for each management information page 30. In addition to managing them collectively, a responsible controller is set for each management information page 30. For example, in the management information page 30, ownership information indicating that the access to the management information page 30 is occupied is stored in association with one of the controllers. Thereby, it is possible to prevent an access conflict between the controllers.

(第1実施例)
本実施例は、アクセス対象用論理ユニットがフォーマット済みかを管理するフォーマット管理情報を格納する管理情報用論理ユニットの領域を前方ページ領域と後方ページ領域で管理するコントローラを有し、このコントローラは、アクセス対象用論理ユニットをフォーマットする場合、アクセス対象用論理ユニットの容量を基にフォーマット管理情報の容量を算出し、算出したフォーマット管理情報の容量とページの管理単位との比から管理情報用ページのページ数を算出し、1ページのフォーマット管理情報を前方ページ領域に割り当て、その格納先を前方ページ領域アドレスで管理し、2ページ以上のフォーマット管理情報を後方ページ領域に割り当て、その格納先を、後方ページ領域アドレスとページ長で管理する。
(First embodiment)
This embodiment has a controller that manages the area of the management information logical unit that stores the format management information for managing whether the access target logical unit is formatted in the front page area and the rear page area. When formatting the logical unit for access, the capacity of the format management information is calculated based on the capacity of the logical unit for access, and the ratio of the calculated format management information capacity to the page management unit The number of pages is calculated, the format management information of one page is assigned to the front page area, the storage destination is managed by the front page area address, the format management information of two or more pages is assigned to the rear page area, and the storage destination is Management is based on the backward page area address and page length.

以下、本発明の第1実施例を図面に基づいて説明する。   A first embodiment of the present invention will be described below with reference to the drawings.

図5は、計算機システムの全体構成を示すブロック図である。図5において、計算機システムは、管理サーバ50と、ディスクアレイ装置52と、ネットワーク54と、複数のホスト計算機(以下、ホストと称することがある。)56から構成される。   FIG. 5 is a block diagram showing the overall configuration of the computer system. 5, the computer system includes a management server 50, a disk array device 52, a network 54, and a plurality of host computers (hereinafter sometimes referred to as hosts) 56.

各ホスト56は、CPU(Central Processing Unit)やメモリなどの情報処理資源を備えたコンピュータ装置であり、例えば、パーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。各ホスト56は、ディスクアレイ装置(ストレージサブシステム)52から提供されるLU又は論理ボリュームを指定したアクセス要求、例えば、書き込み要求あるいは読み出し要求をディスクアレイ装置(ストレージサブシステム)52に発行することで、そのLU又は論理ボリュームにアクセスすることができる。   Each host 56 is a computer device provided with information processing resources such as a CPU (Central Processing Unit) and a memory, and includes, for example, a personal computer, a workstation, a mainframe, and the like. Each host 56 issues an access request designating an LU or logical volume provided from the disk array device (storage subsystem) 52, for example, a write request or a read request to the disk array device (storage subsystem) 52. The LU or logical volume can be accessed.

また、各ホスト56は、キーボード、スイッチやポインティングデバイス、マイクロフォンなどの情報入力装置(図示せず)と、モニタディスプレイやスピーカなどの情報出力装置(図示せず)とを備える。   Each host 56 includes an information input device (not shown) such as a keyboard, a switch, a pointing device, and a microphone, and an information output device (not shown) such as a monitor display and a speaker.

ネットワーク54は、例えば、SAN(Storage Area Network)、LAN(Local Area Network)、インターネット、公衆回線または専用回線まどから構成される。このネットワーク54を介して各ホスト56とディスクアレイ装置52との間の通信は、例えば、ネットワーク54がSANである場合には、ファイバチャネルプロトコルに従って行われ、ネットワーク54がLANである場合には、TCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。   The network 54 includes, for example, a SAN (Storage Area Network), a LAN (Local Area Network), the Internet, a public line, or a dedicated line. For example, when the network 54 is a SAN, communication between each host 56 and the disk array device 52 via the network 54 is performed according to the fiber channel protocol, and when the network 54 is a LAN, This is performed according to the TCP / IP (Transmission Control Protocol / Internet Protocol) protocol.

ディスクアレイ装置52は、記憶制御装置58と、複数の増設筺体(拡張筐体)60とを有するストレージシステムとして構成される。   The disk array device 52 is configured as a storage system having a storage control device 58 and a plurality of additional enclosures (expansion housings) 60.

次に、図6に、ディスクアレイ装置の内部構成図を示す。   Next, FIG. 6 shows an internal configuration diagram of the disk array device.

図6において、ディスクアレイ装置52は、複数のコントローラ70、72と、基本筺体74とを有する記憶制御装置58を備え、基本筺体74には、複数の記憶装置76が収納される。なお、各増設筺体60にも、それぞれ複数の記憶装置76が収納される。   6, the disk array device 52 includes a storage control device 58 having a plurality of controllers 70 and 72 and a basic housing 74, and a plurality of storage devices 76 are housed in the basic housing 74. A plurality of storage devices 76 are also stored in each additional chassis 60.

記憶装置76としては、例えば、ハードディスクデバイス、半導体メモリデバイス、光ディスクデバイス、光磁気ディスクデバイス、磁気テープデバイス、フレキシブルディスクデバイス等の記憶デバイスが挙がられ、これらの記憶デバイスは、データを読み書き可能なデバイスである。   Examples of the storage device 76 include storage devices such as a hard disk device, a semiconductor memory device, an optical disk device, a magneto-optical disk device, a magnetic tape device, and a flexible disk device, and these storage devices are devices that can read and write data. It is.

記憶デバイスとしてハードディスクデバイスを用いる場合、例えば、FC(Fibre Channel)ディスク、SCSI(Small Computer System Interface)ディスク、SATA(Serial ATA)ディスク、ATA(AT Attachment)ディスク、SAS(Serial Attached SCSI)ディスク等を用いることができる。   When using hard disk devices as storage devices, for example, FC (Fibre Channel) disks, SCSI (Small Computer System Interface) disks, SATA (Serial ATA) disks, ATA (AT Attachment) disks, SAS (Serial Attached SCSI) disks, etc. Can be used.

記憶デバイスとして半導体メモリデバイスを用いる場合、SSD(Solid State Drive)(フラッシュメモリ)、FeRAM(Ferroelectric Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)、相変化メモリ(Ovonic Unified Memory)、RRAM(登録商標)(Resistance Random Access Memory)等を用いることができる。   When using a semiconductor memory device as a storage device, SSD (Solid State Drive) (flash memory), FeRAM (Ferroelectric Random Access Memory), MRAM (Magnetoresistive Random Access Memory), phase change memory (Ovonic Unified Memory), RRAM (registered trademark) ) (Resistance Random Access Memory) or the like.

また、各記憶装置76でRAIDグループ、例えば、RAID4、RAID5、RAID6等を構成したり、各記憶装置76を複数のRAIDグループに分割したりすることもできる。この際、各記憶装置76の物理的記憶領域上に複数の論理ユニット(LU)や複数の論理ボリュームを形成することもできる。   Further, each storage device 76 can form a RAID group, for example, RAID 4, RAID 5, RAID 6, etc., or each storage device 76 can be divided into a plurality of RAID groups. At this time, a plurality of logical units (LU) and a plurality of logical volumes can be formed on the physical storage area of each storage device 76.

LUは、ホスト56に、ホスト56のアクセス対象として提供される論理ユニットであって、通常LUと仮想LUとに分けられる。   The LU is a logical unit provided to the host 56 as an access target of the host 56, and is divided into a normal LU and a virtual LU.

通常LUは、記憶装置76上に形成された論理的記憶領域から構成される。それに対して、仮想LUは、Thin Provisioning機能により提供され、ページと呼ばれる記憶領域の単位から構成される。仮想LU作成当初のデータが書き込まれる前の段階では、ページには物理的記憶領域から形成される論理的記憶領域は、対応付けられていない。その後、ページに新規のデータの書込みが行われると、当該書込みが行われたページに、記憶装置76上に形成された論理的記憶領域の一部の記憶領域が割り当てられ、この割当てられた記憶領域にデータが格納される。   The normal LU is composed of logical storage areas formed on the storage device 76. On the other hand, the virtual LU is provided by the thin provisioning function, and is composed of storage unit units called pages. In the stage before the data at the time of creating the virtual LU is written, a logical storage area formed from the physical storage area is not associated with the page. Thereafter, when new data is written to the page, a partial storage area of the logical storage area formed on the storage device 76 is allocated to the page on which the writing has been performed, and this allocated storage is performed. Data is stored in the area.

通常LUと仮想LUには、識別子として、LUN(Logical Unit Number)が割り当てられ、各セグメントには、論理ブロックアドレスLBA(Logical Block Address)が割り当てられる。この際、各ホスト56は、識別子LUNと論理ブロックアドレスLBAからなる論理アドレスを含むコマンドを、ディスクアレイ装置52のコントローラ70又はコントローラ72に送信することにより、通常LUまたは仮想LUに対応した記憶領域に記憶されたデータにアクセスすることができる。   A LUN (Logical Unit Number) is assigned as an identifier to the normal LU and the virtual LU, and a logical block address LBA (Logical Block Address) is assigned to each segment. At this time, each host 56 sends a command including a logical address made up of an identifier LUN and a logical block address LBA to the controller 70 or the controller 72 of the disk array device 52, whereby a storage area corresponding to a normal LU or a virtual LU. Can access the data stored in

コントローラ70は、MPU80と、メモリコントローラ(MC)82と、ローカルメモリ(LM)84と、キャッシュメモリ(CM)86と、ホストインタフェース88、データ転送制御回路(DCTL)90と、ディスクインタフェース92と、エキスパンダ(EXP)94とを有する#0のコントローラとして構成される。   The controller 70 includes an MPU 80, a memory controller (MC) 82, a local memory (LM) 84, a cache memory (CM) 86, a host interface 88, a data transfer control circuit (DCTL) 90, a disk interface 92, It is configured as a # 0 controller having an expander (EXP) 94.

MPU80は、コントローラ70全体を統括制御するマイクロプロセッサで構成されており、このマイクロプロセッサは、例えば、多重コアで構成されている。   The MPU 80 is configured by a microprocessor that performs overall control of the entire controller 70, and this microprocessor is configured by, for example, multiple cores.

メモリコントローラ82は、MPU80からの指令を基にローカルメモリ84に対するマッピング処理などを行う。   The memory controller 82 performs a mapping process on the local memory 84 based on a command from the MPU 80.

ローカルメモリ84は、システム構成情報や管理情報、各種制御プログラムなどを記憶する記憶装置として構成される。   The local memory 84 is configured as a storage device that stores system configuration information, management information, various control programs, and the like.

キャッシュメモリ86は、ディスクアレイ装置52に入出力されるユーザデータなどを一時的に記憶する記憶装置として構成される。   The cache memory 86 is configured as a storage device that temporarily stores user data input and output to and from the disk array device 52.

ホストインタフェース88は、ディスクアレイ装置52をネットワーク54に接続するためのポート(図示せず)を備え、各ホスト56から送信される各種コマンドを解釈し、コマンドに従って処理を実行するとともに、各ホスト56とデータの授受を行う。   The host interface 88 includes a port (not shown) for connecting the disk array device 52 to the network 54, interprets various commands transmitted from each host 56, executes processing in accordance with the commands, and And exchange data.

データ転送制御回路90は、メモリコントローラ82、キャッシュメモリ86、ホストインタフェース88、ディスクインタフェース92と、データ転送制御回路110に接続され、これら接続された部位に対するデータ転送を制御する。   The data transfer control circuit 90 is connected to the memory controller 82, cache memory 86, host interface 88, disk interface 92, and data transfer control circuit 110, and controls data transfer to these connected parts.

ディスクインタフェース92は、増設筺体76に収納された記憶装置76またはエキスパンダ94とデータの授受を行うとともに、通信時におけるプロトコル制御を行うインタフェースとして機能する。   The disk interface 92 exchanges data with the storage device 76 or the expander 94 housed in the expansion chassis 76 and functions as an interface for performing protocol control during communication.

この際、ディスクインタフェース92は、MPU80からのリードアクセスを基に、エキスパンダ94を介して、基本筺体74内の記憶装置76からデータを読み出し、あるいは増設筺体60内の記憶装置76からデータを読み出し、各読み出したデータをデータ転送制御回路90に転送する。さらに、ディスクインタフェース92は、MPU80からのライトアクセスを基に、エキスパンダ94を介して、基本筺体74内の記憶装置76、あるいは増設筺体60内の記憶装置76にライトデータを格納する。   At this time, the disk interface 92 reads data from the storage device 76 in the basic chassis 74 or reads data from the storage device 76 in the expansion chassis 60 via the expander 94 based on read access from the MPU 80. Each read data is transferred to the data transfer control circuit 90. Furthermore, the disk interface 92 stores write data in the storage device 76 in the basic chassis 74 or the storage device 76 in the expansion chassis 60 via the expander 94 based on the write access from the MPU 80.

エキスパンダ94は、ディスクインタフェース92に接続されているとともに、基本筺体74内の記憶装置76と増設筺体76内の記憶装置60に接続され、ディスクインタフェース92からのデータを基本筺体74または増設筺体60に分岐させる分岐回路と構成される。   The expander 94 is connected to the disk interface 92 and is also connected to the storage device 76 in the basic chassis 74 and the storage device 60 in the extension chassis 76, and data from the disk interface 92 is transferred to the basic chassis 74 or the extension chassis 60. It is comprised with the branch circuit which branches.

コントローラ72は、MPU100と、メモリコントローラ(MC)102と、ローカルメモリ(LM)104と、キャッシュメモリ(CM)106と、ホストインタフェース108と、データ転送制御回路(DCTL)110と、ディスクインタフェース112と、エキスパンダ(EXP)114とを有する#1のコントローラとして構成される。   The controller 72 includes an MPU 100, a memory controller (MC) 102, a local memory (LM) 104, a cache memory (CM) 106, a host interface 108, a data transfer control circuit (DCTL) 110, and a disk interface 112. , And an expander (EXP) 114.

MPU100は、コントローラ72全体を統括制御するマイクロプロセッサで構成されており、このマイクロプロセッサは、例えば、多重コアで構成されている。   The MPU 100 is composed of a microprocessor that performs overall control of the entire controller 72, and this microprocessor is composed of, for example, multiple cores.

メモリコントローラ(MC)82は、MPU100からの指令を基にローカルメモリ104に対するマッピング処理などを行う。   The memory controller (MC) 82 performs mapping processing for the local memory 104 based on a command from the MPU 100.

ローカルメモリ104は、システム構成情報や管理情報、各種制御プログラムなどを記憶する記憶装置として構成される。   The local memory 104 is configured as a storage device that stores system configuration information, management information, various control programs, and the like.

キャッシュメモリ106は、ディスクアレイ装置52に入出力されるユーザデータなどを一時的に記憶する記憶装置として構成される。   The cache memory 106 is configured as a storage device that temporarily stores user data input and output to and from the disk array device 52.

ホストインタフェース108は、ディスクアレイ装置52をネットワーク54に接続するためのポート(図示せず)を備え、各ホスト56から送信される各種コマンドを解釈し、コマンドに従って処理を実行するとともに、各ホスト56とデータの授受を行う。   The host interface 108 includes a port (not shown) for connecting the disk array device 52 to the network 54, interprets various commands transmitted from each host 56, executes processing according to the command, and And exchange data.

データ転送制御回路110は、メモリコントローラ102、キャッシュメモリ106、ホストインタフェース108、ディスクインタフェース112と、データ転送制御回路90に接続され、これら接続された部位に対するデータ転送を制御する。   The data transfer control circuit 110 is connected to the memory controller 102, the cache memory 106, the host interface 108, the disk interface 112, and the data transfer control circuit 90, and controls data transfer to these connected parts.

ディスクインタフェース112は、増設筺体60に収納された記憶装置76またはエキスパンダ114とデータの授受を行うとともに、通信時におけるプロトコル制御を行うインタフェースとして機能する。   The disk interface 112 functions as an interface for exchanging data with the storage device 76 or the expander 114 housed in the expansion chassis 60 and performing protocol control during communication.

この際、ディスクインタフェース112は、MPU100からのリードアクセスを基に、エキスパンダ114を介して、基本筺体74内の記憶装置76からデータを読み出し、あるいは増設筺体60内の記憶装置76からデータを読み出し、各読み出したデータをデータ転送制御回路110に転送する。さらに、ディスクインタフェース112は、MPU110からのライトアクセスを基に、エキスパンダ114を介して、基本筺体74内の記憶装置76、あるいは増設筺体60内の記憶装置76にライトデータを格納する。   At this time, the disk interface 112 reads data from the storage device 76 in the basic chassis 74 or reads data from the storage device 76 in the expansion chassis 60 via the expander 114 based on read access from the MPU 100. Each read data is transferred to the data transfer control circuit 110. Further, the disk interface 112 stores the write data in the storage device 76 in the basic chassis 74 or the storage device 76 in the expansion chassis 60 via the expander 114 based on the write access from the MPU 110.

エキスパンダ114は、ディスクインタフェース112に接続されているとともに、基本筺体74内の記憶装置76と増設筺体60内の記憶装置76に接続され、ディスクインタフェース112からのデータを基本筺体74または増設筺体60に分岐させる分岐回路と構成される。   The expander 114 is connected to the disk interface 112 and is connected to the storage device 76 in the basic chassis 74 and the storage device 76 in the expansion chassis 60, and the data from the disk interface 112 is transferred to the basic chassis 74 or the expansion chassis 60. It is comprised with the branch circuit which branches.

次に、図7に、ローカルメモリの構成図を示す。   Next, FIG. 7 shows a configuration diagram of the local memory.

図7において、ローカルメモリ84、104には、ドライブ管理テーブル120と、RG(RAIDグループ)管理テーブル122と、LU管理テーブル124と、QF(クイックフォーマット)管理テーブル126と、管理情報用仮想メモリ管理テーブル128と、管理情報用ページ管理テーブル130が格納される。   In FIG. 7, local memories 84 and 104 include a drive management table 120, an RG (RAID group) management table 122, an LU management table 124, a QF (quick format) management table 126, and a management information virtual memory management. A table 128 and a management information page management table 130 are stored.

次に、図8に、ドライブ管理テーブルの構成図を示す。   Next, FIG. 8 shows a configuration diagram of the drive management table.

図8において、ドライブ管理テーブル20は、基本筺体74または増設筺体76に収納された記憶装置76を管理するためのテーブルであって、複数のHDU(Hard Disk Unit)用エントリ140を備えている。各HDU用エントリ140には、増設筺体番号(拡張筐体番号)142と、HDU番号144と、容量146と、種別148と、状態150に関する情報が格納される。   In FIG. 8, the drive management table 20 is a table for managing the storage device 76 housed in the basic chassis 74 or the expansion chassis 76, and includes a plurality of HDU (Hard Disk Unit) entries 140. Each HDU entry 140 stores information about an additional chassis number (extended enclosure number) 142, an HDU number 144, a capacity 146, a type 148, and a status 150.

例えば、増設筺体番号(拡張筐体番号)142には、増設筺体76の番号として、例えば、「0」が格納される。HDU番号144には、HDUの番号として、例えば「0」が格納される。容量146には、HDUの容量として、例えば、「300GB」が格納される。種別148には、記憶装置76の種別として、例えば、「SAS」が格納される。   For example, “0” is stored in the additional chassis number (extended chassis number) 142 as the number of the additional chassis 76. For example, “0” is stored in the HDU number 144 as the HDU number. For example, “300 GB” is stored in the capacity 146 as the capacity of the HDU. For example, “SAS” is stored in the type 148 as the type of the storage device 76.

状態150には、記憶装置76が正常である場合には、「Normal」が格納される。   In the state 150, “Normal” is stored when the storage device 76 is normal.

次に、図9に、RG管理テーブルの構成図を示す。   Next, FIG. 9 shows a configuration diagram of the RG management table.

図9において、RG管理テーブル122は、RAIDグループを構成する記憶装置76を管理するためのテーブルであって、複数のRG用エントリ160を備えている。各エントリ160には、RG番号162と、RAIDレベル164と、種別166と、容量168と、空き容量170と、状態172に関する情報が格納される。   In FIG. 9, the RG management table 122 is a table for managing the storage devices 76 constituting the RAID group, and includes a plurality of RG entries 160. Each entry 160 stores information about the RG number 162, RAID level 164, type 166, capacity 168, free capacity 170, and status 172.

例えば、RG番号162には、RAIDグループの番号として、「00」が格納され、RAIDレベル164には、「RAID」5(4D+1P)が格納される。   For example, “00” is stored in the RG number 162 as the RAID group number, and “RAID” 5 (4D + 1P) is stored in the RAID level 164.

種別166には、記憶装置76の種別として、「SAS」が格納される。容量168には、RAIDグループの容量として、「1.2TB」が格納される。空き容量170には、未使用の容量として、「900GB」が格納される。状態172には、正常であって、フォーマット済のときには、「Normal」が格納される。   The type 166 stores “SAS” as the type of the storage device 76. In the capacity 168, “1.2 TB” is stored as the capacity of the RAID group. In the free capacity 170, “900 GB” is stored as an unused capacity. In the state 172, “Normal” is stored when it is normal and formatted.

次に、図10に、LU管理テーブル124の構成図を示す。   Next, FIG. 10 shows a configuration diagram of the LU management table 124.

図10において、LU管理テーブル124は、クイックフォーマットの対象となる対象LUを管理するためのテーブルであって、複数のLU用エントリ180を備えている。   In FIG. 10, an LU management table 124 is a table for managing a target LU that is a target of quick formatting, and includes a plurality of LU entries 180.

各LU用エントリ180には、LU番号182と、所属RG番号184と、容量186と、ストライプサイズ188と、状態190と、オーナー権192に関する情報が格納される。   Each LU entry 180 stores information regarding the LU number 182, the belonging RG number 184, the capacity 186, the stripe size 188, the status 190, and the ownership 192.

例えば、LU番号182には、クイックフォーマットの対象となる対象LU を特定する番号として、「0000」が格納される。所属RG番号184には、対象LUが所属するRGの番号として、「00」が格納される。容量186には、対象LUの容量として、「200GB」が格納される。ストライプサイズ188には、対象LUに割り当てられるストライプ列のサイズとして、「64KB」が格納される。   For example, “0000” is stored in the LU number 182 as a number for identifying the target LU that is the target of the quick format. In the affiliation RG number 184, “00” is stored as the RG number to which the target LU belongs. In the capacity 186, “200 GB” is stored as the capacity of the target LU. In the stripe size 188, “64 KB” is stored as the size of the stripe column assigned to the target LU.

状態190には、対象LUが正常である場合には、「Normal」が格納される。オーナー権192には、対象LUに対するアクセス権を占有するコントローラ又はコア(MPU80又はMPU100を構成するコア)に関する情報が格納される。例えば、オーナー権192には、コントローラ72の場合には、「制御装置#1」が格納され、コントローラ70の場合には、「制御装置#0」が格納される。   In the state 190, “Normal” is stored when the target LU is normal. The ownership 192 stores information related to the controller or core (core constituting the MPU 80 or MPU 100) that occupies the access right to the target LU. For example, “owner 192” stores “control device # 1” in the case of the controller 72, and “control device # 0” in the case of the controller 70.

次に、図11に、QF管理テーブル126の構成図を示す。   Next, FIG. 11 shows a configuration diagram of the QF management table 126.

図11において、QF管理テーブル126は、クイックフォーマットの状態やクイックフォーマットの進捗状態を管理するためのテーブルであって、複数のLU用エントリ200を備えている。各LU用エントリ200には、クイックフォーマットの対象となる対象LUのLU番号202と、対象LUのQF進捗率204と、仮想メモリ番号206に関する情報が格納される。   In FIG. 11, a QF management table 126 is a table for managing the status of quick formatting and the progress status of quick formatting, and includes a plurality of LU entries 200. Each LU entry 200 stores information about the LU number 202 of the target LU to be subjected to quick formatting, the QF progress rate 204 of the target LU, and the virtual memory number 206.

例えば、LU番号202には、クイックフォーマットの対象となる対象LUの番号として、「0000」が格納される。QF進捗率204には、クイックフォーマットの対象となる対象LUのクイックフォーマットの進捗率として、クイックフォーマットが完了した場合には、「100%」が格納される。   For example, “0000” is stored in the LU number 202 as the number of the target LU to be subjected to quick formatting. In the QF progress rate 204, “100%” is stored as the quick format progress rate of the target LU that is the target of the quick format when the quick format is completed.

仮想メモリ番号206には、管理情報用仮想メモリ管理テーブル128をアクセスするための番号として、例えば、「0000」が格納される。   For example, “0000” is stored in the virtual memory number 206 as a number for accessing the management information virtual memory management table 128.

次に、図12に、管理情報用仮想メモリ管理テーブル128の構成図を示す。   Next, FIG. 12 shows a configuration diagram of the management information virtual memory management table 128.

図12において、管理情報用仮想メモリ管理テーブル128は、管理情報用LU18に保存された差分ビットマップテーブル16を管理するためのテーブルであって、複数の仮想メモリ用エントリ210から構成される。各仮想メモリ用エントリ210には、対象LU212と、保存先LU214と、前方ページ領域アドレス216と、後方ページ領域アドレス218と、ページ長220に関する情報が格納される。   In FIG. 12, a management information virtual memory management table 128 is a table for managing the differential bitmap table 16 stored in the management information LU 18 and is composed of a plurality of virtual memory entries 210. Each virtual memory entry 210 stores information regarding the target LU 212, the storage destination LU 214, the front page area address 216, the rear page area address 218, and the page length 220.

例えば、対象LU212には、クイックフォーマットの対象となる対象LUを特定する情報として、「LU0000」が格納される。   For example, “LU0000” is stored in the target LU 212 as information for specifying the target LU that is the target of the quick format.

保存先LU214には、差分ビットマップテーブル16を保存する管理情報用LU18を特定する情報として「LU4096」が格納される。   In the storage destination LU 214, “LU 4096” is stored as information for specifying the management information LU 18 in which the differential bitmap table 16 is stored.

前方ページ領域アドレス216には、前方ページ領域20に割り当てられたアドレスとして、例えば、「0x00001000」が格納される。   For example, “0x00001000” is stored in the front page area address 216 as an address assigned to the front page area 20.

後方ページ領域アドレス218には、後方ページ領域22に割り当てられたアドレスとして、例えば、「0x00011000」が格納される。   For example, “0x00011000” is stored in the rear page area address 218 as an address assigned to the rear page area 22.

ページ長220には、後方ページ領域22に割り当てられたページの長さに関する情報として、例えば、後方ページ領域22に割り当てられたページの長さが3ページ分であるある場合、「3」が格納される。   In the page length 220, “3” is stored as information on the length of the page allocated to the rear page area 22, for example, when the page length allocated to the rear page area 22 is three pages. Is done.

次に、図13に、管理情報用ページ管理テーブル130の構成図を示す。   Next, FIG. 13 shows a configuration diagram of the management information page management table 130.

図13において、管理情報用ページ管理テーブル130は、管理情報用LU18の領域を管理情報用ページ30の単位(管理情報用ページ単位)で管理するためのテーブルであって、複数のLU4096アドレス230から構成される。LU4096アドレス230としては、「0x00000000」〜「0x00FFF000」が割り当てられている。   In FIG. 13, the management information page management table 130 is a table for managing the area of the management information LU 18 in units of management information pages 30 (pages for management information), and from a plurality of LU 4096 addresses 230. Composed. As the LU 4096 address 230, “0x00000000” to “0x00FFF000” are assigned.

各LU4096アドレス230には、保存先LU232と、保存先アドレス234と、割当仮想メモリ236と、オーナー権238に関する情報が格納される。   Each LU 4096 address 230 stores information on the storage destination LU 232, the storage destination address 234, the allocated virtual memory 236, and the ownership 238.

保存先LU232には、差分ビットマップテーブル16を保存するための保存先LUの番号として、例えば、「4096」が格納される。   For example, “4096” is stored in the storage destination LU 232 as the storage destination LU number for storing the differential bitmap table 16.

保存先アドレス234には、LU4096アドレス230に対応したアドレスとして、例えば、「0x00000000」が格納される。   For example, “0x00000000” is stored in the storage destination address 234 as an address corresponding to the LU 4096 address 230.

割当仮想メモリ236には、管理情報用仮想メモリ管理テーブル128の仮想メモリ用エントリ210を特定するための情報として、例えば、「0000」が格納される。   For example, “0000” is stored in the allocated virtual memory 236 as information for specifying the virtual memory entry 210 of the management information virtual memory management table 128.

オーナー権238には、保存先LUを占有するコントローラ又はコア(MPU80又はMPU100を構成するコア)に関する情報が格納される。例えば、オーナー権238には、コントローラ72の場合には、「制御装置#1」が格納され、コントローラ70の場合には、「制御装置#0」が格納される。   The ownership 238 stores information related to the controller or core (core constituting the MPU 80 or MPU 100) that occupies the storage destination LU. For example, “owner 238” stores “control device # 1” in the case of the controller 72, and “control device # 0” in the case of the controller 70.

次に、クイックフォーマット処理を図14のフローチャートに従って説明する。   Next, the quick format process will be described with reference to the flowchart of FIG.

この処理は、管理サーバ50からコントローラ70またはコントローラ72に対して、クイックフォーマット処理が指示された場合に開始される。   This process is started when a quick format process is instructed from the management server 50 to the controller 70 or the controller 72.

例えば、管理サーバ50が、コントローラ70に対してクイックフォーマット処理を指示した場合、コントローラ70のMPU80は、コントローラ間の排他処理として、構成変更などの処理の実行を禁止する要求を、データ転送制御回路90を介してコントローラ72に転送する(S11)。   For example, when the management server 50 instructs the controller 70 to perform a quick format process, the MPU 80 of the controller 70 issues a request for prohibiting execution of a process such as a configuration change as an exclusive process between the controllers. The data is transferred to the controller 72 via 90 (S11).

この後、MPU80は、QF管理テーブル126の情報を更新する処理を実行する(S12)。   Thereafter, the MPU 80 executes a process of updating information in the QF management table 126 (S12).

例えば、MPU80は、QF管理テーブル126のQF進捗率204などを初期化する処理を実行する。   For example, the MPU 80 executes processing for initializing the QF progress rate 204 of the QF management table 126 and the like.

次に、MPU80は、差分ビットマップテーブル116を保存する領域を確保するための処理を実行する(S13)。   Next, the MPU 80 executes a process for securing an area for storing the difference bitmap table 116 (S13).

次に、MPU80は、クイックフォーマットの処理結果をキャッシュメモリ86、106に登録するための処理を実行する(S14)。   Next, the MPU 80 executes a process for registering the quick format process result in the cache memories 86 and 106 (S14).

この後、MPU80は、コントロール間の排他処理を終了するための処理を実行し(S15)、処理結果を管理サーバ50に応答し、このルーチンでの処理を終了する。   Thereafter, the MPU 80 executes a process for ending the exclusion process between controls (S15), returns the process result to the management server 50, and ends the process in this routine.

次に、差分ビットマップテーブルを保存する領域を確保するための処理を図15のフローチャートに従って説明する。   Next, processing for securing an area for storing the difference bitmap table will be described with reference to the flowchart of FIG.

この処理は、図14のステップS13で行われる処理である。   This process is a process performed in step S13 of FIG.

MPU80は、管理情報用仮想メモリを割り当てるための処理を実行し(S21)、このルーチンでの処理を終了する。   The MPU 80 executes processing for allocating the management information virtual memory (S21), and ends the processing in this routine.

次に、管理情報用仮想メモリ割当処理を図16のフローチャートに従って説明する。   Next, the management information virtual memory allocation process will be described with reference to the flowchart of FIG.

この処理は、図15のステップS21で実施される処理である。   This process is a process performed in step S21 of FIG.

MPU80は、LU容量から必要容量を計算する(S31)。   The MPU 80 calculates the required capacity from the LU capacity (S31).

例えば、クイックフォーマットの対象となる対象LUが、通常LU10であって、通常LU10の容量が128TBであった場合、MPU80は、差分ビットマップテーブル16を保存するのに必要な容量(必要容量)を、16MBとして計算する。   For example, when the target LU to be subjected to the quick format is a normal LU 10 and the capacity of the normal LU 10 is 128 TB, the MPU 80 sets the capacity (required capacity) necessary for storing the differential bitmap table 16. , Calculated as 16MB.

次に、MPU80は、必要容量から必要ページ数を計算する(S32)。例えば、必要容量が16MBであって、ページの管理単位が1MBである場合には、必要容量/ページの管理単位=ページ数を計算し、必要ページ数=16管理情報用ページとして算出する。   Next, the MPU 80 calculates the required number of pages from the required capacity (S32). For example, if the required capacity is 16 MB and the page management unit is 1 MB, the required capacity / page management unit = number of pages is calculated, and the required page number = 16 management information pages.

次に、MPU80は、前方ページ領域20への割り当てを実施する(S33)。例えば、ページ数が16管理情報用ページであった場合、1管理情報用ページに相当する差分ビットマップテーブル16のデータを、前方ページ領域20に割り当てるための処理を実施する。   Next, the MPU 80 performs allocation to the front page area 20 (S33). For example, when the number of pages is 16 management information pages, a process for allocating data of the difference bitmap table 16 corresponding to one management information page to the front page area 20 is performed.

次に、MPU80は、必要ページ数が2以上か否かを判定する(S34)。ステップS34で必要ページ数が1管理情報用ページであると判定した場合には、MPU80は、必要ページ数が、1管理情報用ページである旨を管理サーバ50に応答し、このルーチンでの処理を終了する。   Next, the MPU 80 determines whether the required number of pages is 2 or more (S34). If it is determined in step S34 that the required number of pages is one management information page, the MPU 80 responds to the management server 50 that the required number of pages is one management information page, and the processing in this routine is performed. Exit.

一方、ステップS34で、必要ページ数が2管理情報用ページ以上であると判定した場合、MPU80は、2管理情報用ページ以降の差分ビットマップテーブル16のデータを後方ページ領域22に割り当てるための処理を実施し(S35)、処理結果を管理サーバ50に応答し、このルーチンでの処理を終了する。   On the other hand, if it is determined in step S34 that the required number of pages is equal to or larger than the two management information pages, the MPU 80 allocates the data of the difference bitmap table 16 after the second management information page to the rear page area 22. (S35), the processing result is returned to the management server 50, and the processing in this routine is terminated.

次に、前方ページ領域の割当処理を図17のフローチャートに従って説明する。   Next, the front page area allocation processing will be described with reference to the flowchart of FIG.

この処理は、図16のステップS33で実施される処理である。   This process is a process performed in step S33 of FIG.

MPU80は、管理情報用LU18の前方ページ領域20を参照し、前方ページ領域20の中から未使用の管理情報用ページ(空き領域)を検索し(S41)、検索した未使用の管理情報用ページを、差分ビットマップテーブル16のデータを格納するための領域として割り当てる(S42)。   The MPU 80 refers to the front page area 20 of the management information LU 18, searches for an unused management information page (free area) in the front page area 20 (S41), and searches for the unused management information page thus searched. Are allocated as an area for storing data of the difference bitmap table 16 (S42).

次に、MPU80は、割り当てられた未使用の管理情報用ページに、差分ビットマップテーブル16のデータのうち、1管理情報用ページのデータを書き込むとともに、データが書き込まれた管理情報用ページのアドレスを、前方ページ領域アドレス216として管理情報用仮想メモリ管理テーブル128に登録し(S43)、処理結果を管理サーバ50に応答し、このルーチンでの処理を終了する。   Next, the MPU 80 writes the data of one management information page among the data of the difference bitmap table 16 to the allocated unused management information page, and the address of the management information page to which the data is written. Is registered in the management information virtual memory management table 128 as the front page area address 216 (S43), the processing result is returned to the management server 50, and the processing in this routine is terminated.

この際、MPU80は、管理情報用仮想メモリ管理テーブル128の仮想メモリ用エントリ210に、割り当て済みを示す使用フラグを登録することもできる。   At this time, the MPU 80 can also register a use flag indicating assigned in the virtual memory entry 210 of the management information virtual memory management table 128.

次に、後方ページ領域の割当処理を図18のフローチャートに従って説明する。   Next, rear page area allocation processing will be described with reference to the flowchart of FIG.

この処理は、図16のステップS35で実施される処理である。   This process is a process performed in step S35 of FIG.

MPU80は、RAIDグループ上のLUの配置を参照し、クイックフォーマットの対象となる対象LUが所属する後方ページ領域22を仮割り当てする(S51)。   The MPU 80 refers to the arrangement of the LU on the RAID group and provisionally allocates the rear page area 22 to which the target LU that is the target of the quick format belongs (S51).

例えば、図19に示すように、RAIDグループ上にLUとして、0000番のLUと、0001番のLUと、0002番のLUが配置されている場合であって、クイックフォーマットの対象となる対象LUが、0001番のLUである場合、後方ページ領域22に仮に割り当てるページとして、0002番のLUには、ページ22Aと、ページ22Bの一部を仮割り当てし、0001番のLUには、ページ22Bの一部と、ページ22Cと、ページ22Dの一部を仮割り当てし、0000番のLUには、ページ22Dの一部を仮割り当てする。   For example, as shown in FIG. 19, when the 0000th LU, the 0001th LU, and the 0002th LU are arranged as LUs on the RAID group, the target LUs to be subjected to the quick format. Is the 0001th LU, the page 22A and a part of the page 22B are provisionally assigned to the 0002th LU as the pages temporarily assigned to the rear page area 22, and the page 22B is assigned to the 0001th LU. , A part of page 22C and a part of page 22D are temporarily allocated, and a part of page 22D is temporarily allocated to the 0000th LU.

この後、MPU80は、各LUの容量を基に各LUの差分ビットマップテーブル16のデータを格納するのに必要な管理情報用ページ30のページ数を算出する。このページ数として、例えば、0000番のLUが、1ページ、0001番のLUが、3ページ、0002番のLUが、2ページであった場合、各LUの1ページ目は、前方ページ領域20に既に割り当て済みであるため、後方ページ領域22のページのうち、0000番のLUには、0ページを割り当て、0001番のLUには、2ページを割り当て、0002番のLUには、1ページを割り当てる。   Thereafter, the MPU 80 calculates the number of pages of the management information page 30 necessary for storing the data of the differential bitmap table 16 of each LU based on the capacity of each LU. As the number of pages, for example, when the LU of 0000 is 1 page, the LU of 0001 is 3 pages, and the LU of 0002 is 2 pages, the first page of each LU is the front page area 20. Already allocated to page 0, page 0 is allocated to the 0000th LU, page 2 is allocated to the 0001 LU, and page 1 is allocated to the 0002th LU. Assign.

即ち、MPU80は、算出したページ数を基に、仮割り当てした各LUを、前詰めで後方ページ領域22に割り当てる(S52)。   In other words, the MPU 80 assigns each temporarily assigned LU to the rear page area 22 in a left-justified manner based on the calculated number of pages (S52).

この場合、図19に示すように、MPU80は、後方ページ領域22に割り当てる管理情報用ページ30として、0002番のLUには、ページ22Aを割り当て、0001番のLUには、ページ22Bとページ22Cを割り当てる。なお、ページ22Dは使用しない領域とする。   In this case, as shown in FIG. 19, the MPU 80 assigns the page 22A to the 0002th LU as the management information page 30 to be assigned to the rear page area 22, and the pages 22B and 22C to the 0001th LU. Assign. Note that the page 22D is an unused area.

この後、MPU80は、各LUの管理情報用ページ30として、後方ページ領域22に割り当てたページ22A、22B、22Cのアドレスを、後方ページ領域アドレス218として、管理情報用仮想メモリ管理テーブル128に登録するとともに、各ページ22A、22B、22Cのページ長220を登録し(S53)、処理結果を管理サーバ50に応答し、このルーチンでの処理を終了する。   Thereafter, the MPU 80 registers the addresses of the pages 22A, 22B, and 22C allocated to the rear page area 22 as the management information page 30 of each LU in the management information virtual memory management table 128 as the rear page area address 218. At the same time, the page length 220 of each page 22A, 22B, 22C is registered (S53), the processing result is returned to the management server 50, and the processing in this routine is terminated.

次に、クイックフォーマット登録の具体的な処理内容を図20のフローチャートに従って説明する。   Next, specific processing contents of the quick format registration will be described with reference to the flowchart of FIG.

この処理は、図14のステップS14で実施される処理である。   This process is a process performed in step S14 of FIG.

まず、コントローラ70とコントローラ72間でポーリングを実施し、コントローラ70、72のうち一方のコントローラでクイックフォーマット登録を実施するための排他処理を実行する(S61)。   First, polling is performed between the controller 70 and the controller 72, and exclusive processing for performing quick format registration is executed by one of the controllers 70 and 72 (S61).

ここで、コントローラ70でクイックフォーマット登録を実施する場合、MPU80は、クイックフォーマット(QF)登録されたLU、即ち、クイックフォーマットの処理の対象となるLUが存在するか否かを判定する(S62)。   Here, when the quick format registration is performed by the controller 70, the MPU 80 determines whether there is an LU registered in the quick format (QF), that is, an LU to be processed in the quick format (S62). .

ステップS62で、クイックフォーマットの処理の対象となるLUが、存在しないと判定した場合、MPU80は、ステップS65の処理に移行する。一方、ステップS62で、クイックフォーマットの処理の対象となるLUが、存在すると判定した場合、MPU80は、LU管理テーブル124を参照し、クイックフォーマットの処理を担当するコントローラが、コントローラ70であるか否かを判定する(S63)。   If it is determined in step S62 that there is no LU to be processed by the quick format, the MPU 80 proceeds to the process of step S65. On the other hand, if it is determined in step S62 that there is an LU subject to the quick format process, the MPU 80 refers to the LU management table 124 and determines whether or not the controller in charge of the quick format process is the controller 70. Is determined (S63).

MPU80は、ステップS63で、他のコントローラ、即ち、コントローラ72が、クイックフォーマットの処理を担当するコントローラであると判定した場合、ステップS65の処理に移行し、ステップS63で、コントローラ70が、クイックフォーマットの処理を担当するコントローラであると判定した場合には、クイックフォーマットジョブを起動するための処理を実行する(S64)。   When the MPU 80 determines in step S63 that the other controller, that is, the controller 72 is the controller responsible for the quick format process, the MPU 80 proceeds to the process in step S65. In step S63, the controller 70 determines that the quick format process is performed. If it is determined that the controller is in charge of the process, the process for starting the quick format job is executed (S64).

なお、MPU80が多重コアで構成されていた場合、多重コアのうちいずれか1つのコアが、ステップS61〜ステップS63の処理を実行し、ステップS63では、ステップS61〜ステップS63の処理を実行したコアが、クイックフォーマットの処理を担当するコアが、他のコアか、あるいは自コア(ステップS61〜ステップS63の処理を実行したコア)であるか否かを判定することになる。   When the MPU 80 is configured with multiple cores, any one of the multiple cores executes the processes of Steps S61 to S63, and in Step S63, the cores that execute the processes of Steps S61 to S63. However, it is determined whether or not the core in charge of the quick format processing is another core or the own core (the core that has executed the processing in steps S61 to S63).

この後、MPU80は、コントローラ間の排他処理を完了し(S65)、このルーチンでの処理を終了する。   Thereafter, the MPU 80 completes the exclusion process between the controllers (S65) and ends the process in this routine.

次に、ジョブ起動処理を図21のフローチャートに従って説明する。   Next, job activation processing will be described with reference to the flowchart of FIG.

この処理は、図20のステップS64で実施される処理である。   This process is a process performed in step S64 of FIG.

MPU80は、ローカルメモリ84に格納された変数などを初期化するための初期化設定処理を実行し(S71)、その後、エクステントロック確保処理を実行する(S72)。   The MPU 80 executes initialization setting processing for initializing variables and the like stored in the local memory 84 (S71), and thereafter executes extent lock securing processing (S72).

例えば、MPU80は、ジョブとして、クイックフォーマット処理のみを実行するための排他処理を実行する。   For example, the MPU 80 executes an exclusive process for executing only the quick format process as a job.

次に、MPU80は、1差分フォーマット処理を実行する(S73)。   Next, the MPU 80 executes a one-difference format process (S73).

例えば、MPU80は、通常LU10を、クイックフォーマット処理の対象とする場合、1つのクイックフォーマット対象領域14に対するフォーマット処理として、1つのクイックフォーマット対象領域14の登録されたデータを、「1」から「0」に変更する処理を実行する。   For example, when the normal LU 10 is the target of the quick format process, the MPU 80 converts the registered data of one quick format target area 14 from “1” to “0” as the format process for one quick format target area 14. To change to "".

次に、MPU80は、1差分のフォーマット処理が完了したか否かを判定し(S74)、ステップS74で、1差分のフォーマット処理が未完了であると判定した場合には、ステップS73の処理に戻り、1差分のフォーマット処理が完了として判定した場合には、差分ビットマップ更新処理を実施する(S75)。   Next, the MPU 80 determines whether or not the one-difference formatting process has been completed (S74). If it is determined in step S74 that the one-difference formatting process has not been completed, the process proceeds to step S73. Returning, if it is determined that the one-difference formatting process is complete, a differential bitmap update process is performed (S75).

この際、MPU80は、差分ビットマップ更新処理を行う過程で、管理情報用仮想メモリに対するライト処理も実施する。   At this time, the MPU 80 also performs a write process on the management information virtual memory in the course of performing the differential bitmap update process.

次に、MPU80は、エクステントロックを解放する処理を実行し(S76)、次フォーマット領域検索処理を実施し(S77)、ステップS77で次フォーマット領域有と判定した場合には、次フォーマット領域を設定する処理を実行し(S78)、その後、ステップS72の処理に戻り、ステップS72〜S77の処理を繰り返す。   Next, the MPU 80 executes the process for releasing the extent lock (S76), performs the next format area search process (S77), and determines that the next format area is present in step S77, sets the next format area. (S78), and then the process returns to step S72 to repeat the processes of steps S72 to S77.

一方、ステップS77で、全ての領域に対するフォーマット処理が完了したと判定した場合、MPU80は、通常LU10に対するフォーマット処理を完了し(S79)、このルーチンでの処理を終了する。   On the other hand, if it is determined in step S77 that the formatting process for all areas has been completed, the MPU 80 completes the formatting process for the normal LU 10 (S79), and ends the process in this routine.

次に、差分ビットマップ更新処理の内容を図22のフローチャートに従って説明する。   Next, the contents of the differential bitmap update process will be described with reference to the flowchart of FIG.

この処理は、図21のステップS75で実施される処理である。   This process is a process performed in step S75 of FIG.

MPU80は、管理情報用仮想メモリに対する更新を指示し、例えば、通常LU10のクイックフォーマット対象領域14に対するクイックフォーマット処理が完了した場合には、このクイックフォーマット対象領域14に対応した差分ビットマップテーブル16の差分ビットを「1」から「0」にする処理を実施し(S81)、このルーチンでの処理を終了する。   The MPU 80 instructs to update the management information virtual memory. For example, when the quick format processing for the quick format target area 14 of the normal LU 10 is completed, the MPU 80 stores the difference bitmap table 16 corresponding to the quick format target area 14. Processing for changing the difference bit from “1” to “0” is performed (S81), and the processing in this routine is terminated.

次に、次フォーマット領域検索処理を図23のフローチャートに従って説明する。   Next, the next format area search process will be described with reference to the flowchart of FIG.

この処理は、図21のステップS77で実施される処理である。   This process is a process performed in step S77 of FIG.

MPU80は、管理情報用仮想メモリ参照指示の処理として、差分ビットマップテーブル16を参照し、差分ビットを判定するための処理を実施する(S91)。   The MPU 80 refers to the difference bitmap table 16 as a management information virtual memory reference instruction process, and performs a process for determining a difference bit (S91).

次に、MPU80は、次フォーマット領域におけるフォーマットの実施の有無を判定する(S92)。   Next, the MPU 80 determines whether or not formatting is performed in the next format area (S92).

この際、MPU80は、差分ビットマップテーブル16を参照し、次フォーマット領域が、フォーマット済であると判定した場合には、ステップS91の処理に戻り、次フォーマット領域が、未フォーマットであると判定した場合、又は、全てのフォーマット領域が、フォーマット済であると判定した場合には、このルーチンでの処理を終了する。   At this time, if the MPU 80 refers to the difference bitmap table 16 and determines that the next format area has been formatted, the MPU 80 returns to the process of step S91 and determines that the next format area is unformatted. If it is determined that all the format areas have been formatted, the processing in this routine is terminated.

次に、管理情報用仮想メモリアクセス処理を図24のフローチャートに従って説明する。   Next, the management information virtual memory access processing will be described with reference to the flowchart of FIG.

この処理は、図22のステップS81または図23のステップS91で実施される処理である。   This process is performed in step S81 in FIG. 22 or step S91 in FIG.

MPU80は、面番号(クイックフォーマットの対象となるLUであって、仮想メモリ用エントリ210を特定する番号)を基に差分ビットマップテーブル16を特定し、仮想メモリアドレスから物理アドレスを算出する処理を実施する(S102)。   The MPU 80 performs processing for specifying the difference bitmap table 16 based on the surface number (the LU that is the target of the quick format and specifying the virtual memory entry 210) and calculating the physical address from the virtual memory address. Implement (S102).

次に、MPU80は、算出された物理アドレスを基にキャッシュメモリ86を参照し、差分ビットマップテーブル16に登録されたデータが、キャッシュメモリ86上に存在するか否かを判定する(S103)。   Next, the MPU 80 refers to the cache memory 86 based on the calculated physical address, and determines whether or not the data registered in the differential bitmap table 16 exists on the cache memory 86 (S103).

MPU80は、ステップS103で、差分ビットマップテーブル16に登録されたデータが、キャッシュメモリ86上に存在すると判定した場合、ステップS105の処理に移行し、ステップS103で、差分ビットマップテーブル16に登録されたデータが、キャッシュメモリ86上に存在しないと判定した場合には、記憶装置76から、差分ビットマップテーブル16に登録されたデータをキャッシュメモリ86上にリードする(S104)。   If the MPU 80 determines in step S103 that the data registered in the differential bitmap table 16 exists in the cache memory 86, the MPU 80 proceeds to the process of step S105, and is registered in the differential bitmap table 16 in step S103. If it is determined that the data does not exist on the cache memory 86, the data registered in the differential bitmap table 16 is read from the storage device 76 onto the cache memory 86 (S104).

この後、MPU80は、キャッシュメモリ86上で、差分ビットマップテーブル16に登録されたデータに対する参照処理または更新処理を実施し(S105)、処理結果を管理サーバ50に応答し、このルーチンでの処理を終了する。   Thereafter, the MPU 80 performs reference processing or update processing on the data registered in the difference bitmap table 16 on the cache memory 86 (S105), returns the processing result to the management server 50, and performs processing in this routine. Exit.

次に、仮想メモリアドレスから物理アドレスを算出する処理を図25のフローチャートに従って説明する。   Next, processing for calculating a physical address from a virtual memory address will be described with reference to the flowchart of FIG.

この処理は、図24のステップS102で実施される処理である。   This process is a process performed in step S102 of FIG.

MPU80は、コマンドから得られた管理情報用仮想メモリアドレスを基に、何番目の管理情報用ページの情報が要求されているかを判定するために、管理情報用仮想メモリアドレス/ページの管理単位(1MB)の計算を行い、この計算によって得られた管理情報用ページ30のページ数を基に1ページ目の管理情報用ページ上であるか否かを判定する(S111)。   The MPU 80 determines, based on the management information virtual memory address obtained from the command, the management information virtual memory address / page management unit ( 1MB) is calculated, and based on the number of pages of management information page 30 obtained by this calculation, it is determined whether or not it is on the first management information page (S111).

ステップS111で、管理情報用ページ30が1ページ目であると判定した場合、MPU80は、前方ページ領域アドレス216を基にオフセット計算で、管理情報用ページ30の物理アドレスを算出する(S112)。   If it is determined in step S111 that the management information page 30 is the first page, the MPU 80 calculates the physical address of the management information page 30 by offset calculation based on the front page area address 216 (S112).

一方、ステップS111で、管理情報用ページ30が2ページ目以降であると判定した場合、MPU80は、2ページ目以降の管理情報用ページ30について、後方ページ領域アドレス218を基にオフセット計算で物理アドレスを算出する(S113)。   On the other hand, if it is determined in step S111 that the management information page 30 is the second page or later, the MPU 80 physically calculates the management information page 30 for the second and subsequent pages by offset calculation based on the rear page area address 218. An address is calculated (S113).

MPU80は、ステップS112またはステップS113の処理の後、各処理結果を管理サーバ50に応答し、このルーチンでの処理を終了する。   After the process of step S112 or step S113, the MPU 80 returns each process result to the management server 50, and ends the process in this routine.

次に、管理情報用ページのオーナー権を決定するときの処理について説明する。   Next, processing when determining ownership of the management information page will be described.

通常、管理情報用ページ30をアクセスするためのオーナー権は、管理情報用ページ30が割り当てられたLUを管理するコントローラまたはコントローラに属するコアが有する。このため、管理情報用ページ30をアクセスするコアまたはコントローラは、管理情報用ページ30をアクセスするコアまたはコントローラに制限されるので、通常の管理情報用仮想メモリへのアクセスの処理では、管理情報用ページ30のオーナー権を判定することはない。   Normally, the ownership for accessing the management information page 30 is owned by the controller that manages the LU to which the management information page 30 is assigned or the core belonging to the controller. For this reason, the core or controller that accesses the management information page 30 is limited to the core or controller that accesses the management information page 30. Therefore, in the normal access processing to the management information virtual memory, The ownership of the page 30 is not determined.

これに対して、記憶装置76の復旧処理などを行う場合には、管理情報用ページ30のオーナー権を判定することが行われる。この管理情報用ページ30のオーナー権を決定するための処理としては、以下の2通りの方法がある。   On the other hand, when the recovery process of the storage device 76 is performed, the ownership of the management information page 30 is determined. There are the following two methods for determining the ownership of the management information page 30.

次に、管理情報用ページのオーナー権を決定するための第1の担当コア判定処理を図26のフローチャートに従って説明する。   Next, the first responsible core determination process for determining the ownership of the management information page will be described with reference to the flowchart of FIG.

例えば、コントローラ70のMPU80は、管理サーバ50からの復旧指示を基に、管理情報用仮想メモリ管理テーブル128を参照し、復旧対象となる管理情報用ページ30に割り当てられた物理アドレスから仮想メモリアドレスを算出し(S121)、算出された仮想メモリアドレスを基に復旧対象となる対象LU212を算出する(S122)。   For example, the MPU 80 of the controller 70 refers to the management information virtual memory management table 128 on the basis of the recovery instruction from the management server 50, and determines the virtual memory address from the physical address assigned to the management information page 30 to be recovered. (S121), and the target LU 212 to be restored is calculated based on the calculated virtual memory address (S122).

次に、MPU80は、算出された対象LU212を基にLU管理テーブル124を参照し、LU管理テーブル124のオーナー権192から担当コアを特定し(S123)、処理結果を管理サーバ50に応答し、このルーチンでの処理を終了する。   Next, the MPU 80 refers to the LU management table 124 based on the calculated target LU 212, identifies the responsible core from the ownership 192 of the LU management table 124 (S123), returns the processing result to the management server 50, The processing in this routine is terminated.

次に、管理情報用ページのオーナー権を決定するための第2の担当コア判定処理を図27のフローチャートに従って説明する。   Next, the second assigned core determination process for determining the ownership of the management information page will be described with reference to the flowchart of FIG.

まず、コントローラ70が、管理サーバ50から復旧処理を指示された場合、コントローラ70のMPU80は、復旧対象となるLUを探索するために、管理情報用ページ管理テーブル130を参照し、復旧対象となるLUが、保存先LU232として存在する場合、LU4096アドレス230に登録されたオーナー権238を基に担当コアを決定し(S131)、処理結果を管理サーバ50に応答し、このルーチンでの処理を終了する。   First, when the controller 70 is instructed for recovery processing from the management server 50, the MPU 80 of the controller 70 refers to the management information page management table 130 in order to search for the LU to be recovered, and becomes the recovery target. If the LU exists as the storage destination LU 232, the responsible core is determined based on the ownership 238 registered in the LU 4096 address 230 (S131), the processing result is returned to the management server 50, and the processing in this routine is terminated. To do.

この場合、管理情報用ページ管理テーブル130を参照するだけで、直接担当コアを特定することができので、第1の担当コア判定処理よりも、管理情報用ページのオーナー権を決定するための処理時間が短くなる。   In this case, since the responsible core can be directly identified simply by referring to the management information page management table 130, the process for determining the ownership of the management information page rather than the first responsible core determination process. Time is shortened.

次に、通常LUに対するリード処理を図28のフローチャートに従って説明する。   Next, read processing for a normal LU will be described with reference to the flowchart of FIG.

コントローラ70が、ホスト56からリードコマンドを受信した場合、コントローラ70のMPU80は、リードコマンドを基にLU管理テーブル124のオーナー権192を参照し、リードコマンドによる処理を担当するコントローラか否かを判定する(S141)。   When the controller 70 receives a read command from the host 56, the MPU 80 of the controller 70 refers to the ownership 192 of the LU management table 124 based on the read command and determines whether the controller is in charge of processing by the read command. (S141).

ステップS141において、リードコマンドの処理を担当すべきコントローラであると判定した場合、MPU80は、通常のリード処理を実行し(S141)、このルーチンでの処理を終了する。   If it is determined in step S141 that the controller should be in charge of read command processing, the MPU 80 executes normal read processing (S141), and ends the processing in this routine.

一方、ステップS141で、リードコマンドの処理を担当すべきコントローラが、他のコントローラであると判定した場合、MPU80は、データ転送制御回路90を介して、コントローラ72にリードコマンドを転送するクロスコールリード処理を実行し(S143)、このルーチンでの処理を終了する。   On the other hand, if it is determined in step S141 that the controller that is to handle the read command is another controller, the MPU 80 transfers the read command to the controller 72 via the data transfer control circuit 90. The process is executed (S143), and the process in this routine is terminated.

次に、通常のリード処理を図29のフローチャートに従って説明する。   Next, normal read processing will be described with reference to the flowchart of FIG.

この処理は、図28のステップS142で実施される処理である。   This process is a process performed in step S142 of FIG.

まずは、MPU80は、通常LU10に存在する複数のLUのうち、リードコマンドで指定されたリード先のLUは、フォーマット済であるか否かを判定する(S151)。   First, the MPU 80 determines whether or not the read destination LU specified by the read command among the plurality of LUs existing in the normal LU 10 has been formatted (S151).

この際、MPU80は、リード先のLUに対応した差分ビットマップテーブル16を参照し、リード先のクイックフォーマット対象領域14がフォーマット済であるか否かを判定し、未フォーマットである場合には、フォーマット起動処理を開始し(S152)、ステップS153の処理に移行し、ステップS151で、フォーマット済であると判定した場合には、ステップS153の処理に移行する。   At this time, the MPU 80 refers to the difference bitmap table 16 corresponding to the LU of the read destination, determines whether or not the quick format target area 14 of the read destination has been formatted, and if it is unformatted, The format activation process is started (S152), and the process proceeds to step S153. If it is determined in step S151 that the format has been completed, the process proceeds to step S153.

ステップS153において、MPU80は、リード先のLUに対してのみリード処理を実行する排他処理として、エクテントロックを実行し、この後、キャッシュメモリ86上に、読み出し先の領域を確保するためのセグメント確保処理を実行する(S154)。   In step S153, the MPU 80 executes extent lock as an exclusive process for executing read processing only on the read destination LU, and thereafter, a segment for securing a read destination area on the cache memory 86. The securing process is executed (S154).

次に、MPU80は、キャッシュヒットであるか、あるいはキャッシュミスであるかを判定する(S155)。   Next, the MPU 80 determines whether it is a cache hit or a cache miss (S155).

即ち、MPU80は、リードデータが、キャッシュメモリ86上に存在するか否かを判定し、キャッシュミスであると判定した場合には、記憶装置76からリードデータをキャッシュメモリ86上に読み出すステージング処理を実行し(S156)、ステップS157の処理に移行する。   In other words, the MPU 80 determines whether or not the read data exists on the cache memory 86. If it is determined that there is a cache miss, the MPU 80 performs staging processing for reading the read data from the storage device 76 onto the cache memory 86. (S156), and the process proceeds to step S157.

一方、MPU80は、ステップS155でキャッシュヒットであると判定した場合、キャッシュメモリ86上に存在するリードデータまたは記憶装置からステージングされたリードデータをホスト56へ転送するためのデータ転送処理を実行する(S157)。   On the other hand, if the MPU 80 determines in step S155 that it is a cache hit, the MPU 80 executes a data transfer process for transferring the read data existing on the cache memory 86 or the read data staged from the storage device to the host 56 ( S157).

この後、MPU80は、セグメントを解放する処理を行い(S158)、続いてエクステントロックを解放する処理を実行し(S159)、このルーチンでの処理を終了する。   Thereafter, the MPU 80 performs a process for releasing the segment (S158), subsequently executes a process for releasing the extent lock (S159), and ends the process in this routine.

次に、クロスコールリード処理を図30のフローチャートに従って説明する。   Next, the cross call read process will be described with reference to the flowchart of FIG.

この処理は、図28のステップS143で実施される処理である。   This process is a process performed in step S143 of FIG.

コントローラ72のMPU100は、コントローラ70から転送されたリードコマンドを受信した場合、受信したリードコマンドを基にリード先のLUがフォーマット済か否かを判定する(S161)。   When receiving the read command transferred from the controller 70, the MPU 100 of the controller 72 determines whether or not the read destination LU has been formatted based on the received read command (S161).

この際、MPU100は、リード先のLUに対応した差分ビットマップテーブル16を参照し、リード先のクイックフォーマット対象領域14がフォーマット済であるか否かを判定し、未フォーマットである場合には、フォーマット起動処理を開始し(S162)、ステップS163の処理に移行し、ステップS161で、フォーマット済であると判定した場合には、ステップS163の処理に移行する。   At this time, the MPU 100 refers to the difference bitmap table 16 corresponding to the LU of the read destination, determines whether or not the quick format target area 14 of the read destination has been formatted, and if it is unformatted, The format activation process is started (S162), and the process proceeds to step S163. If it is determined in step S161 that the format has been completed, the process proceeds to step S163.

ステップS163において、MPU100は、リード先のLUに対してのみリード処理を実行する排他処理として、エクテントロックを実行し、この後、キャッシュメモリ106上に、読み出し先の領域を確保するためのセグメント確保処理を実行する(S164)。   In step S163, the MPU 100 executes extent lock as an exclusive process for executing read processing only on the read destination LU, and thereafter, a segment for securing a read destination area on the cache memory 106. The securing process is executed (S164).

次に、MPU100は、キャッシュヒットであるか、あるいはキャッシュミスであるかを判定する(S165)。   Next, the MPU 100 determines whether it is a cache hit or a cache miss (S165).

即ち、MPU100は、リードデータが、キャッシュメモリ106上に存在するか否かを判定し、キャッシュミスであると判定した場合には、記憶装置76からリードデータを、キャッシュメモリ106とキャッシュメモリ84上にそれぞれ読み出す二重書きステージング処理を実行し(S166)、ステップS168の処理に移行する。   That is, the MPU 100 determines whether or not the read data exists on the cache memory 106. If the MPU 100 determines that there is a cache miss, the MPU 100 transfers the read data from the storage device 76 to the cache memory 106 and the cache memory 84. The double writing staging process to be read respectively is executed (S166), and the process proceeds to step S168.

一方、MPU100は、ステップS165でキャッシュヒットであると判定した場合、キャッシュメモリ106上に存在するリードデータをコントローラ70のキャッシュメモリ84にコピーするコントロール間キャッシュコピー処理を実行しステップS168の処理に移行する。   On the other hand, if the MPU 100 determines in step S165 that there is a cache hit, the MPU 100 executes the inter-control cache copy process of copying the read data existing on the cache memory 106 to the cache memory 84 of the controller 70, and proceeds to the process of step S168. To do.

この後、MPU100は、キャッシュメモリ106上に存在するリードデータまたは記憶装置76からステージングされたリードデータをホスト56へ転送するためのデータ転送処理を実行する(S168)。   Thereafter, the MPU 100 executes data transfer processing for transferring the read data existing on the cache memory 106 or the read data staged from the storage device 76 to the host 56 (S168).

次に、MPU100は、セグメントを解放する処理を行い(S169)、続いてエクステントロックを解放する処理を実行し(S170)、このルーチンでの処理を終了する。   Next, the MPU 100 performs a process for releasing a segment (S169), subsequently executes a process for releasing an extent lock (S170), and ends the process in this routine.

以上のように、フォーマット済か否かの判定は、クイックフォーマットの対象となるLUの処理を担当するコントローラ側で実行される。また差分ビットマップテーブル16の情報を参照する処理もクイックフォーマットの処理を担当するコントローラ側で実行されるため、通常のクイックフォーマット処理やホスト56からのリードアクセスでは、管理情報用ページ30を担当するコントローラまたはコアを判定する必要はなく、コントローラ間またはコア間でアクセスが排他されることになる。   As described above, the determination as to whether or not the formatting has been completed is executed on the controller side in charge of processing of the LU to be subjected to the quick formatting. In addition, since the process of referring to the information of the difference bitmap table 16 is also executed by the controller in charge of the quick format process, the management information page 30 is in charge of the normal quick format process or read access from the host 56. There is no need to determine the controller or core, and access is exclusive between controllers or cores.

また、コントローラ70が、ホスト56からリードコマンドを受信した場合について述べたが、コントローラ70またはコントローラ72がホスト56からライトコマンドを受信した場合も、通常リード処理の代わりに、通常ライト処理を実行し、また、クロスコールリード処理の代わりに、クロスコールライト処理を実行することで、ライト先のLUに対して、ライトデータを書き込むための処理を実行することができる。   Further, although the case where the controller 70 receives a read command from the host 56 has been described, when the controller 70 or the controller 72 receives a write command from the host 56, the normal write process is executed instead of the normal read process. In addition, by executing the cross call write process instead of the cross call read process, a process for writing the write data to the write destination LU can be executed.

この際、コントローラ70は、アクセス要求元のホスト56からリードコマンド又はライトコマンドを受信した場合、リードコマンド又はライトコマンドを基に差分ビットマップテーブル(フォーマット管理情報)16上のアドレスを示す仮想メモリアドレスを算出し、算出した仮想メモリアドレスとページの管理単位(1MB)との比から、アクセス先に対応する管理情報用ページ30のページ数を算出し、算出したページ数に1ページの管理情報用ページ30が存在する場合、1ページの管理情報用ページ30に対応する前方ページ領域アドレスから、アクセス先の物理アドレスを算出し、1ページの管理情報用ページ30に対応する前方ページ領域アドレスで特定される前方ページ領域20に格納された差分ビットマップテーブル16にフォーマット済みの情報が登録されていることを条件に、算出した物理アドレスのアクセス先に対してリードアクセス又はライトアクセスを実行する。   At this time, if the controller 70 receives a read command or write command from the access request source host 56, the virtual memory address indicating the address on the differential bitmap table (format management information) 16 based on the read command or write command. And the number of pages of the management information page 30 corresponding to the access destination is calculated from the ratio between the calculated virtual memory address and the page management unit (1 MB), and the management information for one page is calculated as the calculated number of pages. When the page 30 exists, the physical address of the access destination is calculated from the front page area address corresponding to the management information page 30 of one page, and is specified by the front page area address corresponding to the management information page 30 of one page. The difference bitmap table 16 stored in the forward page area 20 On condition that the formatted information already is registered, it executes the read access or write access to the calculated physical address accessed.

また、コントローラ70は、アクセス先に対応する管理情報用ページ30のページ数を算出した際に、算出したページ数に2ページ以上の前記管理情報用ページ30が存在する場合、2ページ以上の管理情報用ページ30に対応する後方ページ領域アドレスとページ長から、アクセス先の物理アドレスを算出し、2ページ以上の前記管理情報用ページ30に対応する後方ページ領域アドレスとページ長で特定される後方ページ領域22に格納された差分ビットマップテーブル16にフォーマット済みの情報が登録されていることを条件に、算出した物理アドレスのアクセス先に対してリードアクセス又はライトアクセスを実行することになる。   Further, when the controller 70 calculates the number of pages of the management information page 30 corresponding to the access destination, if there are two or more management information pages 30 in the calculated number of pages, the controller 70 manages two or more pages. The physical address of the access destination is calculated from the rear page area address and page length corresponding to the information page 30, and the rear specified by the rear page area address and page length corresponding to the management information page 30 of two or more pages On the condition that the formatted information is registered in the differential bitmap table 16 stored in the page area 22, the read access or the write access is executed with respect to the access destination of the calculated physical address.

また、ステップS152におけるフォーマット処理の起動やステップS162におけるフォーマット起動処理では、図21におけるジョブ起動処理が行われることになる。   In the start of the format process in step S152 and the format start process in step S162, the job start process in FIG. 21 is performed.

本実施例によれば、差分ビットマップテーブル(フォーマット管理情報)16を保存する管理情報用ページ30のサイズを最小にするとともに、管理情報用ページ30の管理サイズを低減することができる。   According to the present embodiment, it is possible to minimize the size of the management information page 30 that stores the difference bitmap table (format management information) 16 and to reduce the management size of the management information page 30.

本実施例によれば、管理情報用LU18を管理するためのフォーマット管理情報(差分ビットマップテーブル16)は、ページの管理単位に関係なく、前方ページ領域アドレス216と、後方ページ領域アドレス218と、後方ページ領域22に割り当てられた管理情報用ページ30のページ長220の情報で管理することができる。このため、RAIDグループのアクセス単位として、最小であるストライプ列サイズ単位で、フォーマット管理情報を管理することができ、排他制御のために発生する無駄な領域を最小にすることができる。   According to the present embodiment, the format management information (difference bitmap table 16) for managing the management information LU 18 includes the front page area address 216, the rear page area address 218, regardless of the page management unit. Management can be performed using information on the page length 220 of the management information page 30 allocated to the rear page area 22. Therefore, the format management information can be managed in the minimum stripe column size unit as the access unit of the RAID group, and a useless area generated for exclusive control can be minimized.

また、管理情報用LU18を管理するためのフォーマット管理情報は、フォーマット対象のLUのサイズに関わらず、一定のため、ディスクアレイ装置のさらなる容量拡張にも対応できる。   Further, since the format management information for managing the management information LU 18 is constant regardless of the size of the LU to be formatted, it is possible to cope with further capacity expansion of the disk array device.

(第2実施例)   (Second embodiment)

図31に、本発明の第2実施例として、差分ビットマップテーブル16の保存先を、シンプロビジョニングプールとした場合の構成図を示す。   FIG. 31 shows a configuration diagram when the storage destination of the difference bitmap table 16 is a thin provisioning pool as a second embodiment of the present invention.

図31において、複数の記憶装置76の論理的記憶領域上にシンプロビジョニングプール500を形成した場合、シンプロビジョニングプール500に複数のチャンク502を形成し、いずれかのチャンク502に仮想ボリューム504を割り当てることができる。   In FIG. 31, when a thin provisioning pool 500 is formed on logical storage areas of a plurality of storage devices 76, a plurality of chunks 502 are formed in the thin provisioning pool 500, and a virtual volume 504 is assigned to any one of the chunks 502. Can do.

仮想ボリューム504は、ホスト56からアクセスされない初期には、その仮想記憶領域には論理ボリュームやページが割り当てられない状態にある。一方、ホスト56から仮想ボリューム504に対して、アクセス要求として、例えば、ライトアクセスが入力されたときには、ライトアクセスのタイミングで容量仮想化制御機能(容量仮想化制御プログラムの起動による処理機能)により、各仮想ボリューム504の仮想記憶領域は、複数のブロックに分割され、各ブロックには、シンプロビジョニングプール500に登録された論理ボリュームが割り当てられる。   When the virtual volume 504 is not accessed from the host 56, no logical volume or page is allocated to the virtual storage area. On the other hand, for example, when a write access is input as an access request from the host 56 to the virtual volume 504, a capacity virtualization control function (a processing function by starting a capacity virtualization control program) is performed at the write access timing. The virtual storage area of each virtual volume 504 is divided into a plurality of blocks, and a logical volume registered in the thin provisioning pool 500 is assigned to each block.

この際、いずれかのチャンク502に仮想ボリューム504を割り当てた場合、仮想ボリューム504のページ506は、例えば、32MBで構成されるので、チャンク502に空き領域508が形成され、チャンク52の領域を有効に活用することができない。   At this time, when the virtual volume 504 is allocated to any one of the chunks 502, the page 506 of the virtual volume 504 is composed of, for example, 32 MB. It cannot be used for.

それに対して、チャンク502に割り当てるページ510を、管理情報用ページサイズ=ストライプ列サイズとして、シンプロビジョニングプール500をストライプ列サイズ単位で複数のチャンク502に分割すると、各チャンク502内には、複数のページ510を、空き領域を形成させることなく割り当てることができる。これにより、シンプロビジョニングプール500をユーザの仮想LUと共有することができる。なお、チャンク502の容量としては、例えば、1GBを用いることができる。   On the other hand, when the page 510 to be allocated to the chunk 502 is divided into a plurality of chunks 502 in units of stripe column size with the management information page size = stripe column size and the thin provisioning pool 500 is divided into a plurality of chunks 502, a plurality of chunks 502 have a plurality of Pages 510 can be allocated without creating free space. Thereby, the thin provisioning pool 500 can be shared with the user's virtual LU. As the capacity of the chunk 502, for example, 1 GB can be used.

本実施例によれば、シンプロビジョニングプール500をストライプ列サイズ単位で複数のチャンク502に分割することで、各チャンク502内に、複数のページ510を、空き領域を形成させることなく割り当てることができる。   According to this embodiment, by dividing the thin provisioning pool 500 into a plurality of chunks 502 in units of stripe column size, a plurality of pages 510 can be allocated in each chunk 502 without forming a free area. .

なお、差分ビットマップテーブル16の保存先である管理情報用LU18を、RAIDを構成するSSDに形成することもできる。この場合、管理情報用LU18をHDDに形成するよりも、よりアクセス速度を高めることができる。   Note that the management information LU 18 that is the storage destination of the differential bitmap table 16 can also be formed in an SSD constituting a RAID. In this case, the access speed can be increased more than when the management information LU 18 is formed in the HDD.

また、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。   The present invention is not limited to the above-described embodiments, and includes various modifications. For example, the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. Further, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. Further, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment.

また、上記の各構成、機能等は、それらの一部又は全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、IC(Integrated Circuit)カード、SD(Secure Digital)メモリカード、DVD(Digital Versatile Disc)等の記録媒体に記録して置くことができる。   Further, each of the above-described configurations, functions, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit. Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor. Information such as programs, tables, and files for realizing each function is stored in a memory, a hard disk, a recording device such as an SSD (Solid State Drive), an IC (Integrated Circuit) card, an SD (Secure Digital) memory card, a DVD ( Digital Versatile Disc) can be recorded and placed.

10 通常LU、14 クイックフォーマット対象領域、16 差分ビットマップテーブル、l8 管理情報用LU、20 前方ページ領域、22 後方ページ領域、24 ストライプ列、30 管理単位、50 管理サーバ、52 ディスクアレイ装置、54 ネットワーク、56 ホスト、58 記憶制御装置、60 増設筺体、70、72 コントローラ、74 基本筺体、76 記憶装置、80、100 MPU、84、104 ローカルメモリ、86、106 キャッシュメモリ、88、108 ホストインタフェース、90、110 データ転送制御回路、92、112 ディスクインタフェース、120 ドライブ管理テーブル、122 RG管理テーブル、124 LU管理テーブル、126 QF管理テーブル、128 管理情報用仮想メモリ管理テーブル、130 管理情報用ページ管理テーブル。   10 Normal LU, 14 Quick Format Target Area, 16 Differential Bitmap Table, 18 Management Information LU, 20 Front Page Area, 22 Back Page Area, 24 Stripe Column, 30 Management Unit, 50 Management Server, 52 Disk Array Device, 54 Network, 56 hosts, 58 storage controllers, 60 additional chassis, 70, 72 controllers, 74 basic chassis, 76 storage devices, 80, 100 MPU, 84, 104 local memory, 86, 106 cache memory, 88, 108 host interface, 90, 110 Data transfer control circuit, 92, 112 Disk interface, 120 Drive management table, 122 RG management table, 124 LU management table, 126 QF management table, 128 Management information virtual memory management table, 1 Page management table for the 0 management information.

Claims (12)

複数の記憶装置と、前記複数の記憶装置の記憶領域に形成される論理ユニットであって、アクセス要求元のアクセス対象となる1又は複数のアクセス対象用論理ユニットと、前記複数の記憶装置の記憶領域に形成される論理ユニットであって、前記アクセス対象用論理ユニットがフォーマット済みか否かを管理するためのフォーマット管理情報を格納する領域が、前方ページ領域と後方ページ領域に分割された管理情報用論理ユニットと、前記各論理ユニットに対するデータ入出力を制御すると共に、前記アクセス対象用論理ユニットに対するフォーマット処理を実行する1又は複数のコントローラと、を備え、
前記コントローラは、
前記アクセス対象用論理ユニットに対する前記フォーマット処理の実行時に、前記アクセス対象用論理ユニットの容量を基に前記フォーマット管理情報の容量を算出し、前記算出したフォーマット管理情報の容量と特定容量のページの管理単位との比から、前記フォーマット管理情報を前記ページの管理単位で管理するのに必要な管理情報用ページのページ数を算出し、前記算出した管理情報用ページのページ数に対応する前記フォーマット管理情報のうち一部のフォーマット管理情報を前記前方ページ領域に割り当て、前記算出した管理情報用ページのページ数に対応する前記フォーマット管理情報のうち残りのフォーマット管理情報を前記後方ページ領域に割り当て、前記フォーマット処理の実行結果を前記フォーマット管理情報として、前記前方ページ領域又は前記後方ページ領域に格納するストレージシステム。
A plurality of storage devices, logical units formed in storage areas of the plurality of storage devices, one or a plurality of access target logical units to be accessed by an access request source, and storage of the plurality of storage devices Management information, which is a logical unit formed in an area, in which an area for storing format management information for managing whether or not the access-target logical unit has been formatted is divided into a front page area and a rear page area A logical unit, and one or a plurality of controllers for controlling the data input / output for each logical unit and executing the formatting process for the logical unit for access,
The controller is
When the format process is performed on the access target logical unit, the format management information capacity is calculated based on the access target logical unit capacity, and the calculated format management information capacity and page management of the specific capacity are managed. The number of management information pages required to manage the format management information in the management unit of the page is calculated from the ratio to the unit, and the format management corresponding to the calculated page number of the management information page A part of the format management information is allocated to the front page area, the remaining format management information of the format management information corresponding to the calculated number of pages of management information is allocated to the rear page area, The format management result is used as the format management information. The storage system to be stored in the front page region or the rear page area.
請求項1に記載のストレージシステムであって、
前記コントローラは、
前記算出したページ数に1つの管理情報用ページが存在する場合、前記1つの管理情報用ページに対応する前記フォーマット管理情報の格納先を前記前方ページ領域に割り当てると共に、前記1つの管理情報用ページに対応する前記フォーマット管理情報の格納先を前方ページ領域アドレスで管理し、前記算出したページ数に2以上の管理情報用ページが存在する場合、前記2以上の管理情報用ページに対応する前記フォーマット管理情報の格納先を前記後方ページ領域に割り当てると共に、前記2以上の管理情報用ページに対応する前記フォーマット管理情報の格納先を、後方ページ領域アドレスと前記2以上の管理情報用ページのページ長で管理することを特徴とするストレージシステム。
The storage system according to claim 1,
The controller is
When there is one management information page in the calculated number of pages, the storage location of the format management information corresponding to the one management information page is allocated to the front page area, and the one management information page The storage location of the format management information corresponding to is managed by a front page area address, and when there are two or more management information pages in the calculated number of pages, the format corresponding to the two or more management information pages A management information storage destination is allocated to the rear page area, and a storage destination of the format management information corresponding to the two or more management information pages is set as a rear page area address and a page length of the two or more management information pages. A storage system that is managed by
請求項1に記載のストレージシステムであって、
前記前方ページ領域又は前記後方ページ領域に割り当てられる前記管理情報ページは、前記コントローラによる、リードアクセス又はライトアクセスの最小単位であって、前記記憶装置の論理的記憶領域に形成されるストライプ列の整数倍の容量で構成されることを特徴とするストレージシステム。
The storage system according to claim 1,
The management information page allocated to the front page area or the rear page area is a minimum unit of read access or write access by the controller, and is an integer of stripe columns formed in the logical storage area of the storage device A storage system that is configured with double the capacity.
請求項1に記載のストレージシステムであって、
前記管理情報用ページには、前記管理情報用ページに対するアクセスを占有することを示すオーナー権の情報が、前記いずれかのコントローラに対応づけて格納されることを特徴とするストレージシステム。
The storage system according to claim 1,
The storage system is characterized in that the management information page stores, in association with any one of the controllers, ownership information indicating that the access to the management information page is occupied.
請求項1に記載のストレージシステムであって、
前記コントローラは、
前記アクセス要求元からリードコマンド又はライトコマンドを受信した場合、前記リードコマンド又はライトコマンドを基にアクセス先を特定し、前記管理情報用論理ユニットに格納された前記フォーマット管理情報のうち前記アクセス先に対応するフォーマット管理情報を参照し、前記アクセス先に対応するフォーマット管理情報にフォーマット済みの情報が登録されていることを条件に、前記アクセス先に対してリードアクセス又はライトアクセスを実行することを特徴とするストレージシステム。
The storage system according to claim 1,
The controller is
When a read command or a write command is received from the access request source, an access destination is specified based on the read command or the write command, and the access destination in the format management information stored in the management information logical unit is specified. Referencing the corresponding format management information, and executing read access or write access to the access destination on condition that the formatted information is registered in the format management information corresponding to the access destination And storage system.
請求項2に記載のストレージシステムであって、
前記コントローラは、
前記アクセス要求元からリードコマンド又はライトコマンドを受信した場合、前記リードコマンド又はライトコマンドを基に前記フォーマット管理情報上のアドレスを示す仮想メモリアドレスを算出し、前記算出した仮想メモリアドレスと前記ページの管理単位との比から、アクセス先に対応する管理情報用ページのページ数を算出し、前記算出したページ数に1つの管理情報用ページが存在する場合、前記1つの管理情報用ページに対応する前記前方ページ領域アドレスから前記アクセス先の物理アドレスを算出し、前記1つの管理情報用ページに対応する前記前方ページ領域アドレスで特定される前記前方ページ領域に格納された前記フォーマット管理情報にフォーマット済みの情報が登録されていることを条件に、前記算出した物理アドレスのアクセス先に対してリードアクセス又はライトアクセスを実行し、前記算出したページ数に2以上の管理情報用ページが存在する場合、前記2以上の管理情報用ページに対応する前記後方ページ領域アドレスと前記ページ長から前記アクセス先の物理アドレスを算出し、前記2以上の管理情報用ページに対応する前記後方ページ領域アドレスと前記ページ長で特定される前記後方ページ領域に格納された前記フォーマット管理情報にフォーマット済みの情報が登録されていることを条件に、前記算出した物理アドレスのアクセス先に対してリードアクセス又はライトアクセスを実行することを特徴とするストレージシステム。
The storage system according to claim 2,
The controller is
When a read command or a write command is received from the access request source, a virtual memory address indicating an address on the format management information is calculated based on the read command or the write command, and the calculated virtual memory address and the page The number of pages of management information corresponding to the access destination is calculated from the ratio with the management unit, and when one management information page exists in the calculated number of pages, it corresponds to the one management information page. The physical address of the access destination is calculated from the front page area address, and formatted into the format management information stored in the front page area specified by the front page area address corresponding to the one management information page On the condition that the above information is registered. When a read access or a write access is executed for an access destination with no access, and there are two or more management information pages in the calculated number of pages, the rear page area address corresponding to the two or more management information pages The format management stored in the rear page area specified by the page length and the rear page area address corresponding to the two or more management information pages is calculated from the page length. A storage system, wherein a read access or a write access is executed with respect to the access destination of the calculated physical address on the condition that formatted information is registered in the information.
複数の記憶装置と、前記複数の記憶装置の記憶領域に形成される論理ユニットであって、アクセス要求元のアクセス対象となる1又は複数のアクセス対象用論理ユニットと、前記複数の記憶装置の記憶領域に形成される論理ユニットであって、前記アクセス対象用論理ユニットがフォーマット済みか否かを管理するためのフォーマット管理情報を格納する領域が、前方ページ領域と後方ページ領域に分割された管理情報用論理ユニットと、前記各論理ユニットに対するデータ入出力を制御すると共に、前記アクセス対象用論理ユニットに対するフォーマット処理を実行する1又は複数のコントローラと、を備えたストレージシステムの論理ユニット管理方法であって、
前記コントローラが、前記アクセス対象用論理ユニットに対する前記フォーマット処理を実行する場合のステップとして、
前記コントローラが、前記アクセス対象用論理ユニットの容量を基に前記フォーマット管理情報の容量を算出するステップと、
前記コントローラが、前記算出したフォーマット管理情報の容量と特定容量のページの管理単位との比から、前記フォーマット管理情報を前記ページの管理単位で管理するのに必要な管理情報用ページのページ数を算出するステップと、
前記コントローラが、前記算出した管理情報用ページのページ数に対応する前記フォーマット管理情報のうち一部のフォーマット管理情報を前記前方ページ領域に割り当てるステップと、
前記コントローラが、前記算出した管理情報用ページのページ数に対応する前記フォーマット管理情報のうち残りのフォーマット管理情報を前記後方ページ領域に割り当てるステップと、
前記コントローラが、前記フォーマット処理の実行結果を前記フォーマット管理情報として、前記前方ページ領域又は前記後方ページ領域に格納するステップと、を含むことを特徴とするストレージシステムの論理ユニット管理方法。
A plurality of storage devices, logical units formed in storage areas of the plurality of storage devices, one or a plurality of access target logical units to be accessed by an access request source, and storage of the plurality of storage devices Management information, which is a logical unit formed in an area, in which an area for storing format management information for managing whether or not the access-target logical unit has been formatted is divided into a front page area and a rear page area A logical unit management method for a storage system, comprising: a logical unit for controlling data input / output to each logical unit, and one or a plurality of controllers for executing format processing for the logical unit for access ,
As a step when the controller executes the format processing for the logical unit for access,
The controller calculating the capacity of the format management information based on the capacity of the logical unit for access;
Based on the ratio between the calculated format management information capacity and the specific page management unit, the controller calculates the number of management information pages required to manage the format management information in the page management unit. A calculating step;
The controller assigning a portion of the format management information of the format management information corresponding to the calculated number of pages of management information to the front page area;
The controller assigning the remaining format management information among the format management information corresponding to the calculated number of pages of management information to the rear page area;
A logical unit management method for a storage system, comprising: a step of storing the execution result of the formatting process in the front page area or the rear page area as the format management information.
請求項7に記載のストレージシステムの論理ユニット管理方法であって、
前記コントローラが、前記算出したページ数に1つの管理情報用ページが存在する場合、前記1つの管理情報用ページに対応する前記フォーマット管理情報の格納先を前記前方ページ領域に割り当てると共に、前記1つの管理情報用ページに対応する前記フォーマット管理情報の格納先を前方ページ領域アドレスで管理し、
前記コントローラが、前記算出したページ数に2以上の管理情報用ページが存在する場合、前記2以上の管理情報用ページに対応する前記フォーマット管理情報の格納先を前記後方ページ領域に割り当てると共に、前記2以上の管理情報用ページに対応する前記フォーマット管理情報の格納先を、後方ページ領域アドレスと前記2以上の管理情報用ページのページ長で管理することを特徴とするストレージシステムの論理ユニット管理方法。
A storage unit logical unit management method according to claim 7,
When there is one management information page for the calculated number of pages, the controller allocates a storage location of the format management information corresponding to the one management information page to the front page area, and Managing the storage location of the format management information corresponding to the management information page by the front page area address;
When there are two or more management information pages in the calculated number of pages, the controller assigns the storage location of the format management information corresponding to the two or more management information pages to the rear page area, and A logical unit management method for a storage system, wherein a storage destination of the format management information corresponding to two or more management information pages is managed by a rear page area address and a page length of the two or more management information pages .
請求項7に記載のストレージシステムの論理ユニット管理方法であって、
前記前方ページ領域又は前記後方ページ領域に割り当てられる前記管理情報ページは、前記コントローラによる、リードアクセス又はライトアクセスの最小単位であって、前記記憶装置の論理的記憶領域に形成されるストライプ列の整数倍の容量で構成されることを特徴とするストレージシステムの論理ユニット管理方法。
A storage unit logical unit management method according to claim 7,
The management information page allocated to the front page area or the rear page area is a minimum unit of read access or write access by the controller, and is an integer of stripe columns formed in the logical storage area of the storage device A logical unit management method for a storage system, characterized in that it is configured with a double capacity.
請求項7に記載のストレージシステムの論理ユニット管理方法であって、
前記管理情報用ページには、前記管理情報用ページに対するアクセスを占有することを示すオーナー権の情報が、前記いずれかのコントローラに対応づけて格納されることを特徴とするストレージシステムの論理ユニット管理方法。
A storage unit logical unit management method according to claim 7,
Logical unit management of a storage system, wherein the management information page stores, in association with any one of the controllers, ownership information indicating that the access to the management information page is occupied Method.
請求項7に記載のストレージシステムの論理ユニット管理方法であって、
前記コントローラが、前記アクセス要求元からリードコマンド又はライトコマンドを受信した場合に処理するステップとして、
前記コントローラが、前記リードコマンド又はライトコマンドを基にアクセス先を特定するステップと、
前記コントローラが、前記管理情報用論理ユニットに格納された前記フォーマット管理情報のうち前記アクセス先に対応するフォーマット管理情報を参照するステップと、
前記コントローラが、前記アクセス先に対応するフォーマット管理情報にフォーマット済みの情報が登録されていることを条件に、前記アクセス先に対してリードアクセス又はライトアクセスを実行するステップと、を含むことを特徴とするストレージシステムの論理ユニット管理方法。
A storage unit logical unit management method according to claim 7,
As a step of processing when the controller receives a read command or a write command from the access request source,
The controller specifying an access destination based on the read command or the write command;
The controller refers to the format management information corresponding to the access destination among the format management information stored in the management information logical unit;
The controller executing a read access or a write access to the access destination on condition that formatted information is registered in the format management information corresponding to the access destination. A storage unit logical unit management method.
請求項8に記載のストレージシステムの論理ユニット管理方法であって、
前記コントローラが、前記アクセス要求元からリードコマンド又はライトコマンドを受信した場合に処理するステップとして、
前記コントローラが、前記リードコマンド又はライトコマンドを基に前記フォーマット管理情報上のアドレスを示す仮想メモリアドレスを算出するステップと、
前記コントローラが、前記算出した仮想メモリアドレスと前記ページの管理単位との比から、アクセス先に対応する管理情報用ページのページ数を算出するステップと、
前記コントローラが、前記算出したページ数に1つの管理情報用ページが存在する場合、前記1つの管理情報用ページに対応する前記前方ページ領域アドレスから前記アクセス先の物理アドレスを算出するステップと、
前記コントローラが、前記1つの管理情報用ページに対応する前記前方ページ領域アドレスで特定される前記前方ページ領域に格納された前記フォーマット管理情報にフォーマット済みの情報が登録されていることを条件に、前記算出した物理アドレスのアクセス先に対してリードアクセス又はライトアクセスを実行するステップと、
前記コントローラが、前記算出したページ数に2以上の管理情報用ページが存在する場合、前記2以上の管理情報用ページに対応する前記後方ページ領域アドレスと前記ページ長から前記アクセス先の物理アドレスを算出するステップと、
前記コントローラが、前記2以上の管理情報用ページに対応する前記後方ページ領域アドレスと前記ページ長で特定される前記後方ページ領域に格納された前記フォーマット管理情報にフォーマット済みの情報が登録されていることを条件に、前記算出した物理アドレスのアクセス先に対してリードアクセス又はライトアクセスを実行するステップと、を含むことを特徴とするストレージシステムの論理ユニット管理方法。
A storage system logical unit management method according to claim 8,
As a step of processing when the controller receives a read command or a write command from the access request source,
The controller calculates a virtual memory address indicating an address on the format management information based on the read command or the write command;
The controller calculates a page number of management information pages corresponding to an access destination from a ratio between the calculated virtual memory address and the management unit of the page;
The controller calculating the physical address of the access destination from the front page area address corresponding to the one management information page when there is one management information page in the calculated number of pages;
On condition that the controller has registered formatted information in the format management information stored in the front page area specified by the front page area address corresponding to the one management information page. Executing read access or write access to the access destination of the calculated physical address;
When there are two or more management information pages in the calculated number of pages, the controller determines the physical address of the access destination from the rear page area address and the page length corresponding to the two or more management information pages. A calculating step;
The controller registers formatted information in the format management information stored in the backward page area specified by the backward page area address and the page length corresponding to the two or more management information pages. And a step of executing read access or write access to the access destination of the calculated physical address on the condition of the above.
JP2013552759A 2011-07-22 2011-07-22 Storage system and logical unit management method thereof Expired - Fee Related JP5802283B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/004156 WO2013014699A1 (en) 2011-07-22 2011-07-22 Storage system and its logical unit management method

Publications (2)

Publication Number Publication Date
JP2014519062A true JP2014519062A (en) 2014-08-07
JP5802283B2 JP5802283B2 (en) 2015-10-28

Family

ID=47556625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013552759A Expired - Fee Related JP5802283B2 (en) 2011-07-22 2011-07-22 Storage system and logical unit management method thereof

Country Status (3)

Country Link
US (1) US8799573B2 (en)
JP (1) JP5802283B2 (en)
WO (1) WO2013014699A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018169040A1 (en) * 2017-03-17 2018-09-20 Necプラットフォームズ株式会社 Difference management device, storage system, difference management method, and program

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10108344B1 (en) * 2015-05-06 2018-10-23 American Megatrends, Inc. Systems, devices and methods using a solid state device as a caching medium with an SSD filtering or SSD pre-fetch algorithm
US11249968B2 (en) * 2016-05-09 2022-02-15 Sap Se Large object containers with size criteria for storing mid-sized large objects
US10402095B1 (en) * 2018-04-30 2019-09-03 EMC IP Holding Company LLC Online data expansion in redundant data storage systems
JP2020047105A (en) * 2018-09-20 2020-03-26 株式会社日立製作所 Storage controller and method for restoring obstacle track
CN115858425B (en) * 2023-01-17 2023-05-02 北京智芯微电子科技有限公司 Memory allocation method and system under MPU protection scene

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005011317A (en) * 2003-05-02 2005-01-13 Hitachi Ltd Method and device for initializing storage system
WO2010106574A1 (en) * 2009-03-18 2010-09-23 株式会社日立製作所 Memory controller and virtual volume control method
JP2010211318A (en) * 2009-03-06 2010-09-24 Fujitsu Ltd Device management apparatus, device initialization method, device initialization program, and device system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006024024A (en) 2004-07-08 2006-01-26 Toshiba Corp Logical disk management method and device
JP2006114064A (en) 2005-12-28 2006-04-27 Hitachi Ltd Storage subsystem
JP4855102B2 (en) * 2006-02-23 2012-01-18 株式会社日立製作所 Computer system, management computer, storage system, and storage area allocation control method
JP4857055B2 (en) 2006-09-08 2012-01-18 株式会社日立製作所 Storage system, control method therefor, and storage control device
EP2350805A1 (en) * 2008-10-10 2011-08-03 Hitachi, Ltd. Storage system and method for controlling the same
US8364929B2 (en) * 2009-10-23 2013-01-29 Seagate Technology Llc Enabling spanning for a storage device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005011317A (en) * 2003-05-02 2005-01-13 Hitachi Ltd Method and device for initializing storage system
JP2010211318A (en) * 2009-03-06 2010-09-24 Fujitsu Ltd Device management apparatus, device initialization method, device initialization program, and device system
WO2010106574A1 (en) * 2009-03-18 2010-09-23 株式会社日立製作所 Memory controller and virtual volume control method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018169040A1 (en) * 2017-03-17 2018-09-20 Necプラットフォームズ株式会社 Difference management device, storage system, difference management method, and program

Also Published As

Publication number Publication date
US8799573B2 (en) 2014-08-05
JP5802283B2 (en) 2015-10-28
US20130024616A1 (en) 2013-01-24
WO2013014699A1 (en) 2013-01-31

Similar Documents

Publication Publication Date Title
US10176212B1 (en) Top level tier management
US10698818B2 (en) Storage controller caching using symmetric storage class memory devices
US8032689B2 (en) Techniques for data storage device virtualization
JP5456063B2 (en) Method and system for dynamic storage tiering using allocate-on-write snapshots
JP5944587B2 (en) Computer system and control method
US10521345B2 (en) Managing input/output operations for shingled magnetic recording in a storage system
JP5309259B2 (en) Storage apparatus and control method thereof
US8359431B2 (en) Storage subsystem and its data processing method for reducing the amount of data to be stored in a semiconductor nonvolatile memory
JP2009043030A (en) Storage system
JP5802283B2 (en) Storage system and logical unit management method thereof
JP2016506585A (en) Method and system for data storage
KR20120050891A (en) Latency reduction associated with a response to a request in a storage system
US11543989B2 (en) Storage system and control method thereof
US20180267713A1 (en) Method and apparatus for defining storage infrastructure
US20120221809A1 (en) Storage apparatus and data processing method of the same
JP7054001B2 (en) Information processing system, management device and control method
WO2015068233A1 (en) Storage system
JP2017211920A (en) Storage control apparatus, storage system, storage control method and storage control program
US11526447B1 (en) Destaging multiple cache slots in a single back-end track in a RAID subsystem
US20180307427A1 (en) Storage control apparatus and storage control method
US11474750B2 (en) Storage control apparatus and storage medium
US10365846B2 (en) Storage controller, system and method using management information indicating data writing to logical blocks for deduplication and shortened logical volume deletion processing
WO2014147786A1 (en) Storage system and data management method
JP5597266B2 (en) Storage system
EP2605120A2 (en) Allocation device, allocation method and storage device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150804

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150828

R150 Certificate of patent or registration of utility model

Ref document number: 5802283

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees