JP2011150433A - Storage device and storage area management method in the storage device - Google Patents

Storage device and storage area management method in the storage device Download PDF

Info

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

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To manage a storage area which is not used any more by a host device without writing any prescribed data pattern in the storage area by the host device itself. <P>SOLUTION: In a storage device 1, a data pattern generating and responding part 13 responds a prescribed data pattern to the host device 2 when a data read from an area in a logical extent to which any physical extent has not been assigned is requested in response to the command received by a host interface IF1. When the command received by the host interface IF1 is an area release command for notifying a range in the logical disk of the storage area which is not used any more by the host device 2, a data pattern write-in part 14 writes the prescribed data pattern into an area in an array 20 corresponding to the range notified by the area release command. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、アレイを備えたストレージ装置に係り、特にホスト装置で使われなくなった記憶領域を管理するストレージ装置及び同ストレージ装置における記憶領域管理方法に関する。   The present invention relates to a storage apparatus including an array, and more particularly to a storage apparatus that manages storage areas that are no longer used by a host apparatus and a storage area management method in the storage apparatus.

ストレージ装置を備えたストレージシステムでは、当該システムの運用で必要とする記憶容量(必要容量)が、当該システムの運用を開始する前に想定していた必要容量よりも増加することがある。このためストレージシステムを構築する場合、当該システムの運用を開始した後になって実際に必要とする記憶容量が増加することを想定して、運用開始時点で必要とする記憶容量よりも大きい記憶容量のストレージ装置を予め用意するのが一般的である。   In a storage system provided with a storage device, the storage capacity (required capacity) required for the operation of the system may increase more than the required capacity assumed before the operation of the system is started. For this reason, when constructing a storage system, it is assumed that the storage capacity actually required will increase after the start of operation of the system, and the storage capacity is larger than the storage capacity required at the time of starting the operation. In general, a storage device is prepared in advance.

しかし、上述のように将来の必要容量の増加を前提として過剰容量のストレージ装置を適用する場合、使われない記憶領域が多くなり、管理コストが増大する。そこで、管理コストの低減のために、以下に示すようなエクステント方式が従来から適用されている。このエクステント方式では、ストレージ装置を利用するホスト装置からアクセスされる論理ボリュームが論理エクステントという一定サイズの単位で管理される。同様に、ストレージ装置の物理領域が、物理エクステントという一定サイズの単位で管理される。エクステント方式によれば、論理ボリューム内の論理エクステントに対してライトアクセスが発生した場合に、当該論理エクステントに動的に物理エクステントが割り当てられる。   However, as described above, when an excess capacity storage device is applied on the premise of an increase in required capacity in the future, the storage area that is not used increases and the management cost increases. Therefore, in order to reduce the management cost, the following extent method has been conventionally applied. In this extent method, a logical volume accessed from a host device that uses a storage device is managed in units of a certain size called a logical extent. Similarly, the physical area of the storage device is managed in a unit of a certain size called a physical extent. According to the extent method, when a write access occurs to a logical extent in a logical volume, a physical extent is dynamically allocated to the logical extent.

ストレージ装置では、ホスト装置の例えばファイルシステム上でファイルの削除等が行われることにより、ホスト装置にとって不使用とされる論理ボリューム内の記憶領域、いわゆる不使用領域が発生する。論理エクステント全体が上記不使用領域である場合、当該論理エクステントに割り当てられている物理エクステントを、当該論理エクステントに割り当てられている状態から解放するならば、エクステント方式を適用するストレージ装置の物理領域を効率的に利用することが可能となる。しかし、ファイルシステム上でファイルの削除等によって発生する不使用領域は、ストレージ装置側からは認識できない。このためストレージ装置では、論理エクステント全体が不使用領域であっても、つまり論理エクステントに割り当てられている物理エクステント全体が不使用領域であっても、当該物理エクステントを解放できず、当該ストレージ装置の物理領域の利用効率が悪化する。   In the storage apparatus, when a file is deleted on the file system of the host apparatus, for example, a storage area in a logical volume that is not used by the host apparatus, a so-called unused area is generated. When the entire logical extent is the unused area, if the physical extent allocated to the logical extent is released from the state allocated to the logical extent, the physical area of the storage device to which the extent method is applied It can be used efficiently. However, a non-use area generated by deleting a file on the file system cannot be recognized from the storage apparatus side. For this reason, even if the entire logical extent is an unused area, that is, even if the entire physical extent allocated to the logical extent is an unused area, the physical extent cannot be released. The utilization efficiency of the physical area deteriorates.

そこで、例えば特許文献1は、ホスト装置がファイル等のデータを削除する場合に、データが削除される記憶領域をストレージ装置が識別可能とするための仕組みを開示している。つまり特許文献1に記載のホスト装置は、データが削除される記憶領域に所定のデータパターンをライトすることにより、当該領域がホスト装置で使用されなくなった不使用領域であることを、ストレージ装置に識別させるための機能を備えている。   Thus, for example, Patent Document 1 discloses a mechanism for enabling a storage apparatus to identify a storage area from which data is deleted when the host apparatus deletes data such as a file. In other words, the host device described in Patent Literature 1 writes a predetermined data pattern to the storage area from which data is deleted, thereby indicating that the area is an unused area that is no longer used by the host apparatus. It has a function for identifying.

一方、特許文献1に記載のストレージ装置は、ホスト装置からの物理エクステントが未割り当ての領域へのリード要求に対して所定のデータパターンを応答する機能を備えている。また特許文献1に記載のストレージ装置は、このようなリード要求をホスト装置から受信した場合だけでなく、データ削除時に当該ホスト装置によって所定のデータパターンがライトされた領域へのリード要求を当該ホスト装置から受信した場合にも、ホスト装置に対して所定のデータパターンを応答する機能を備えている。ストレージ装置は更に、物理エクステントに格納されているデータをチェックし、当該物理エクステント全体が所定のデータパターンと一致することを検出した場合、当該物理エクステントを、論理エクステントに割り当てられている状態から解放する機能を備えている。   On the other hand, the storage device described in Patent Document 1 has a function of responding to a predetermined data pattern in response to a read request from a host device to an area to which a physical extent is not allocated. The storage device described in Patent Document 1 not only receives such a read request from the host device, but also issues a read request to an area where a predetermined data pattern is written by the host device when data is deleted. Even when received from the device, it has a function of responding to the host device with a predetermined data pattern. The storage device further checks the data stored in the physical extent, and if it detects that the entire physical extent matches the predetermined data pattern, releases the physical extent from the state allocated to the logical extent. It has a function to do.

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

上述したように、特許文献1に記載の先行技術では、ホスト装置がファイル等のデータを削除する場合に、データが削除される記憶領域がホスト装置で使用されなくなった不使用領域であることをストレージ装置に識別させるために、所定のデータパターンをホスト装置自身が当該記憶領域に明示的にライトする機能を備えている必要がある。   As described above, in the prior art described in Patent Document 1, when the host device deletes data such as a file, the storage area from which data is deleted is an unused area that is no longer used by the host device. In order to make the storage apparatus identify, it is necessary that the host apparatus itself has a function of explicitly writing a predetermined data pattern to the storage area.

本発明は上記事情を考慮してなされたものでその目的は、ホスト装置で使われなくなった記憶領域に当該ホスト装置自身が所定のデータパターンをライトすることなく、当該記憶領域を管理することができるストレージ装置及び同ストレージ装置における記憶領域管理方法を提供することにある。   The present invention has been made in consideration of the above circumstances, and its purpose is to manage the storage area without writing a predetermined data pattern to the storage area that is no longer used by the host apparatus. And a storage area management method in the storage apparatus.

本発明の1つの観点によれば、アレイが有する物理領域を複数の物理エクステントに分割し、前記ホスト装置からのライト要求で指定された論理ディスク内の論理エクステントに物理エクステントが未割り当ての場合に、前記複数の物理エクステントのうち他の論理エクステントに未割り当ての物理エクステントを、前記指定された論理エクステントに割り当てるストレージ装置が提供される。このストレージ装置は、前記ホスト装置からのコマンドを受信するホストインタフェースと、前記ホストインタフェースで受信されたコマンドによって、物理エクステントが未割り当ての論理エクステント内の領域からのデータリードが要求されている場合、前記ホスト装置に所定のデータパターンを応答するデータパターン生成応答手段と、前記ホストインタフェースで受信されたコマンドが前記ホスト装置で使われなくなった記憶領域の論理ディスク内の範囲を通知するための領域解放コマンドである場合、前記通知された範囲に対応する前記アレイ内の領域に前記所定のデータパターンを書き込むデータパターン書き込み手段とを具備する。   According to one aspect of the present invention, when a physical area of an array is divided into a plurality of physical extents, and a physical extent is not allocated to a logical extent in a logical disk specified by a write request from the host device. A storage apparatus is provided that allocates a physical extent that is not allocated to another logical extent among the plurality of physical extents to the designated logical extent. In this storage device, when a data read from an area in a logical extent to which a physical extent is not allocated is requested by a host interface that receives a command from the host device and a command received by the host interface, Data pattern generation response means for responding a predetermined data pattern to the host device, and area release for notifying the range in the logical disk of the storage area where the command received by the host interface is no longer used by the host device In the case of a command, it comprises data pattern writing means for writing the predetermined data pattern in an area in the array corresponding to the notified range.

本発明によれば、ストレージ装置のホストインタフェースが、ホスト装置で使われなくなった記憶領域の論理ディスク内の範囲を通知するための領域解放コマンドを当該ホスト装置から受信した場合に、当該通知された範囲に対応するアレイ内の記憶領域に、ストレージ装置のデータパターン書き込み手段によって所定のデータパターンがライトされる構成を適用することにより、ホスト装置がファイル等のデータを削除する場合に、データが削除される記憶領域に当該ホスト装置自身が所定のデータパターンをライトする機能を備えている必要がなくなる。   According to the present invention, when the host interface of the storage device receives an area release command for notifying the range in the logical disk of the storage area that is no longer used by the host device, the notification is given. Data is deleted when the host device deletes data such as files by applying a configuration in which a predetermined data pattern is written by the storage device data pattern writing means to the storage area in the array corresponding to the range. This eliminates the need for the host device itself to have a function of writing a predetermined data pattern in the storage area.

本発明の一実施形態に係るストレージ装置を備えたストレージシステムの構成を示すブロック図。1 is a block diagram showing a configuration of a storage system including a storage device according to an embodiment of the present invention. 論理ディスクとアレイの物理領域との関係を示す図。The figure which shows the relationship between a logical disk and the physical area of an array. エクステント管理テーブルのデータ構造例を示す図。The figure which shows the data structure example of an extent management table. 不使用最終アドレス管理テーブルのデータ構造例を示す図。The figure which shows the example of a data structure of an unused last address management table. ホスト装置からUNMAPコマンドを受信してからホスト装置に対して当該コマンドの受信完了を応答するまでのストレージ装置の処理を説明するためのフローチャート。6 is a flowchart for explaining processing of the storage apparatus from when an UNMAP command is received from the host apparatus to when a response indicating completion of reception of the command is returned to the host apparatus. データパターンマッチング処理を説明するためのフローチャート。The flowchart for demonstrating a data pattern matching process. ホスト装置からライト要求を受信した場合の不使用最終アドレス管理部の処理を説明するためのフローチャート。6 is a flowchart for explaining processing of an unused final address management unit when a write request is received from a host device. UNMAPコマンド受信時の第1の状況下における、論理エクステント上の不使用最終アドレスの遷移と、所定のデータパターンのライトとを説明するための図。The figure for demonstrating the transition of the unused last address on a logical extent, and the write of a predetermined | prescribed data pattern in the 1st condition at the time of UNMAP command reception. UNMAPコマンド受信時の第2の状況下における、論理エクステント上の不使用最終アドレスの遷移と、所定のデータパターンのライトとを説明するための図。The figure for demonstrating the transition of the unused last address on a logical extent, and the write of a predetermined | prescribed data pattern in the 2nd condition at the time of UNMAP command reception. UNMAPコマンド受信時の第3の状況下における、論理エクステント上の不使用最終アドレスの遷移と、所定のデータパターンのライトとを説明するための図。The figure for demonstrating the transition of the unused last address on a logical extent, and the write of a predetermined | prescribed data pattern in the 3rd condition at the time of UNMAP command reception. UNMAPコマンド受信時の第4の状況下における、論理エクステント上の不使用最終アドレスの遷移と、所定のデータパターンのライトとを説明するための図。The figure for demonstrating the transition of the unused last address on a logical extent, and the write of a predetermined | prescribed data pattern in the 4th condition at the time of UNMAP command reception. UNMAPコマンド受信時の第5の状況下における、論理エクステント上の不使用最終アドレスの遷移と、所定のデータパターンのライトと、論理エクステントに割り当てられている物理エクステントの解放とを説明するための図。The figure for demonstrating the transition of the unused last address on a logical extent, the write of a predetermined | prescribed data pattern, and the release of the physical extent allocated to the logical extent under the 5th condition at the time of UNMAP command reception. . 物理エクステントの解放後のエクステント管理テーブルの状態を示す図。The figure which shows the state of the extent management table after releasing a physical extent.

以下、本発明の実施の形態につき図面を参照して説明する。
図1は本発明の一実施形態に係るストレージ装置を備えたストレージシステムの構成を示すブロック図である。本実施形態において、ストレージシステムは、ストレージ装置1と、当該ストレージ装置1を利用するホスト装置2とから構成される。なお、ストレージシステムが、ストレージ装置1を含む複数のストレージ装置を備えていても良い。また、ストレージシステムが、ホスト装置2を含む複数のホスト装置を備えていても良い。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a block diagram showing the configuration of a storage system including a storage apparatus according to an embodiment of the present invention. In the present embodiment, the storage system includes a storage device 1 and a host device 2 that uses the storage device 1. Note that the storage system may include a plurality of storage devices including the storage device 1. In addition, the storage system may include a plurality of host devices including the host device 2.

ホスト装置2は、後述するホストインタフェースIF1を介してストレージ装置1との間のデータ転送を含むデータ通信を行う。つまりホスト装置2は、ストレージ装置1に対してリードアクセスやライトアクセスを行う。   The host device 2 performs data communication including data transfer with the storage device 1 via a host interface IF1 described later. That is, the host device 2 performs read access and write access to the storage device 1.

ストレージ装置1は、ストレージコントローラ10とアレイ20とから構成される。アレイ20は、複数の記憶媒体、例えばn個のHDD21-1(#1)〜21-n(#n)から構成される。ここではアレイ20は、HDD21-1〜21-nを組み合わせて、当該HDD21-1〜21-nの記憶領域の一部または全部の集合を物理アドレスが連続した1つの物理領域として定義することによって構成されるものとする。なお、HDD21-1〜21-nを組み合わせて、複数のアレイを構成することも可能である。   The storage device 1 includes a storage controller 10 and an array 20. The array 20 includes a plurality of storage media, for example, n HDDs 21-1 (# 1) to 21-n (#n). Here, the array 20 combines the HDDs 21-1 to 21-n and defines a set of a part or all of the storage areas of the HDDs 21-1 to 21-n as one physical area with continuous physical addresses. Shall be composed. It is also possible to configure a plurality of arrays by combining the HDDs 21-1 to 21-n.

図2は、論理ディスク(LDISK)210とアレイ20の物理領域との関係を示す。アレイ20の物理領域は、物理エクステント201(A),202(B)を含む、一定サイズの複数の物理エクステントに分割して管理される。論理ディスク210は、論理エクステント211(A),212(B)を含む、一定サイズの複数の論理エクステントに分割して管理される。一般に論理エクステントと物理エクステントとは同一サイズである。本実施形態では、論理エクステント及び物理エクステントのサイズは600セクタ(ブロック)である。セクタ(ブロック)は、HDD21-1〜21-nの最小アクセス単位である。   FIG. 2 shows the relationship between the logical disk (LDISK) 210 and the physical area of the array 20. The physical area of the array 20 is managed by being divided into a plurality of physical extents of a certain size including the physical extents 201 (A) and 202 (B). The logical disk 210 is managed by being divided into a plurality of logical extents of a certain size including the logical extents 211 (A) and 212 (B). In general, the logical extent and the physical extent are the same size. In the present embodiment, the size of the logical extent and the physical extent is 600 sectors (blocks). A sector (block) is a minimum access unit of the HDDs 21-1 to 21-n.

論理ディスク210内の論理エクステントには、必要に応じてアレイ20内の物理エクステントが割り当てられる。例えば、ホスト装置2からのライト要求で指定された論理エクステントに物理エクステントが未割り当ての場合、当該指定された論理エクステントに、他の論理エクステントに未割り当ての物理エクステントが割り当てられる。ここで、指定された論理エクステントに物理エクステントが未割り当てであるかは、後述するエクステント管理テーブル120を参照することによって判定することが可能である。   A physical extent in the array 20 is allocated to a logical extent in the logical disk 210 as necessary. For example, when a physical extent is not allocated to a logical extent specified by a write request from the host device 2, a physical extent that is not allocated to another logical extent is allocated to the specified logical extent. Here, whether a physical extent has not been allocated to the designated logical extent can be determined by referring to an extent management table 120 described later.

図2の例では、論理ディスク210内の論理エクステント211(A),212(B)に、それぞれ矢印221,222で示されるように、アレイ20内の物理エクステント201(A),202(B)が割り当てられている。図2において、アレイ20内の物理エクステントの開始位置に付されている数値は物理ブロックアドレス(PBA)を示し、論理ディスク210内の論理エクステントの開始位置に付されている数値は論理ブロックアドレス(LBA)を示す。なお、論理ディスク210が1つの論理エクステントから構成されていても構わない。   In the example of FIG. 2, the physical extents 201 (A) and 202 (B) in the array 20 are respectively shown in the logical extents 211 (A) and 212 (B) in the logical disk 210 as indicated by arrows 221 and 222. Is assigned. In FIG. 2, the numerical value assigned to the physical extent start position in the array 20 indicates a physical block address (PBA), and the numerical value assigned to the logical extent start position in the logical disk 210 is a logical block address ( LBA). The logical disk 210 may be composed of one logical extent.

論理ディスク210には、当該論理ディスク210を識別するための識別情報として、例えば論理ディスク(LDISK)番号0が割り当てられているものとする。一般に、ホスト装置2からは、論理ディスク210は認識されるものの、アレイ20は認識されない。   For example, a logical disk (LDISK) number 0 is assigned to the logical disk 210 as identification information for identifying the logical disk 210. In general, the host device 2 recognizes the logical disk 210 but not the array 20.

再び図1を参照すると、ストレージコントローラ10は、ホストインタフェースIF1、ディスクインタフェースIF2、物理エクステント確保部11、エクステント管理テーブル記憶部12、データパターン生成応答部13、データパターン書き込み部14、データパターンマッチング部15、不使用最終アドレス記憶部16、不使用最終アドレス管理部17及び物理エクステント解放部18を備えている。これらのインタフェースIF1,IF2及び各部11〜18は、バス19によって相互に接続されている。   Referring to FIG. 1 again, the storage controller 10 includes a host interface IF1, a disk interface IF2, a physical extent securing unit 11, an extent management table storage unit 12, a data pattern generation response unit 13, a data pattern writing unit 14, and a data pattern matching unit. 15, an unused final address storage unit 16, an unused final address management unit 17, and a physical extent release unit 18. These interfaces IF1 and IF2 and the units 11 to 18 are connected to each other by a bus 19.

ホストインタフェースIF1は、ホスト装置2からのコマンドを受信する。ホストインタフェースIF1は、ホスト装置2からのコマンドがアクセス要求の場合、ホスト装置2とストレージ装置1との間で、リードアクセスに伴うリードデータ及びライトアクセスに伴うライトデータの転送を行う。ディスクインタフェースIF2は、例えばストレージコントローラ10からの要求に従い、ストレージコントローラ10とアレイ20内のHDD21-iとの間で、リードデータ及びライトデータの転送を行う。   The host interface IF1 receives a command from the host device 2. When the command from the host device 2 is an access request, the host interface IF1 transfers read data accompanying read access and write data accompanying write access between the host device 2 and the storage device 1. The disk interface IF2 transfers read data and write data between the storage controller 10 and the HDD 21-i in the array 20 in accordance with a request from the storage controller 10, for example.

物理エクステント確保部11は、ホスト装置2からアクセスされる、論理ディスク210内の論理エクステントと、当該論理エクステントに割り当てられる、アレイ20内の物理エクステントとの対応関係を管理する。特に物理エクステント確保部11は、ホスト装置2からのライト要求に応じて、当該ライト要求で指定された論理ディスク210内の論理エクステントに割り当てられる物理エクステントを確保し、これらの論理エクステントと物理エクステントとの対応関係を、エクステント管理テーブル記憶部12において管理する。   The physical extent securing unit 11 manages the correspondence between the logical extent in the logical disk 210 accessed from the host device 2 and the physical extent in the array 20 allocated to the logical extent. In particular, in response to a write request from the host device 2, the physical extent securing unit 11 secures a physical extent that is allocated to a logical extent in the logical disk 210 specified by the write request, and the logical extent and the physical extent. Are managed in the extent management table storage unit 12.

エクステント管理テーブル記憶部12は、エクステント管理テーブル120を記憶する。エクステント管理テーブル120の各エントリは、論理エクステントと当該論理エクステントに割り当てられる物理エクステントとの対応関係を示すエクステント管理情報を保持する
図3は、エクステント管理テーブル120のデータ構造例を示す。エクステント管理テーブル120の各エントリに保持されるエクステント管理情報は、論理エクステントの管理情報である論理エクステント情報と、当該論理エクステントに割り当てられる物理エクステントの管理情報である物理エクステント情報とから構成される。
The extent management table storage unit 12 stores an extent management table 120. Each entry of the extent management table 120 holds extent management information indicating the correspondence between a logical extent and a physical extent allocated to the logical extent. FIG. 3 shows an example of the data structure of the extent management table 120. The extent management information held in each entry of the extent management table 120 includes logical extent information that is management information of a logical extent and physical extent information that is management information of a physical extent allocated to the logical extent.

論理エクステント情報は、対応する論理エクステントが属する論理ディスクの論理ディスク(LDISK)番号と、当該論理エクステントの論理ディスク(LDISK)内の開始論理ブロックアドレス(LBA)と、当該論理エクステントのサイズ(例えばセクタ数)の各情報から構成される。物理エクステント情報は、対応する物理エクステントのアレイ内の開始物理ブロックアドレス(PBA)と、当該物理エクステントのサイズ(例えばセクタ数)の各情報から構成される。   The logical extent information includes the logical disk (LDISK) number of the logical disk to which the corresponding logical extent belongs, the start logical block address (LBA) in the logical disk (LDISK) of the logical extent, and the size (for example, sector) of the logical extent. Number) of each piece of information. The physical extent information includes information on the start physical block address (PBA) in the array of the corresponding physical extent and the size (for example, the number of sectors) of the physical extent.

図3の例では、図2からも明らかなように、論理エクステント211(A)は、当該論理エクステント211(A)が属する論理ディスク210のLDISK番号が0、当該論理エクステント211(A)の論理ディスク210内の開始LBAが0、そして当該論理エクステント211(A)のセクタサイズが600であることを示す論理エクステント情報によって管理される。また、論理エクステント211(A)に割り当てられる物理エクステント201(A)は、当該物理エクステント201(A)のアレイ20内の開始PBAが3000、当該物理エクステント201(A)のセクタサイズが600であることを示す物理エクステント情報によって管理される。   In the example of FIG. 3, as is clear from FIG. 2, the logical extent 211 (A) has the LDISK number of the logical disk 210 to which the logical extent 211 (A) belongs, and the logical extent 211 (A) has a logical extent. This is managed by logical extent information indicating that the start LBA in the disk 210 is 0 and the sector size of the logical extent 211 (A) is 600. The physical extent 201 (A) allocated to the logical extent 211 (A) has a start PBA of 3000 in the array 20 of the physical extent 201 (A) and a sector size of the physical extent 201 (A) of 600. It is managed by physical extent information indicating this.

同様に、論理エクステント212(B)は、当該論理エクステント212(B)が属する論理ディスク210のLDISK番号が0、当該論理エクステント212(B)の論理ディスク210内の開始LBAが600、そして当該論理エクステント212(B)のセクタサイズが600であることを示す論理エクステント情報によって管理される。また、論理エクステント212(B)に割り当てられる物理エクステント202(B)は、当該物理エクステント202(B)のアレイ20内の開始PBAが6600、当該物理エクステント202(B)のセクタサイズが600であることを示す物理エクステント情報によって管理される。、
物理エクステント確保部11は、論理エクステントに物理エクステントを新たに割り当てる場合、エクステント管理テーブル120に、論理エクステントと物理エクステントとの対応関係を定義するためのエントリ(行)を追加し、当該エントリに対応するエクステント管理情報を設定する。
Similarly, in the logical extent 212 (B), the LDISK number of the logical disk 210 to which the logical extent 212 (B) belongs is 0, the start LBA in the logical disk 210 of the logical extent 212 (B) is 600, and the logical extent The extent 212 (B) is managed by logical extent information indicating that the sector size is 600. The physical extent 202 (B) allocated to the logical extent 212 (B) has a start PBA of 6600 in the array 20 of the physical extent 202 (B) and a sector size of the physical extent 202 (B) of 600. It is managed by physical extent information indicating this. ,
When a physical extent is newly allocated to a logical extent, the physical extent securing unit 11 adds an entry (row) for defining a correspondence relationship between the logical extent and the physical extent to the extent management table 120, and corresponds to the entry. Set the extent management information to be used.

データパターン生成応答部13は、例えば全ビットが0であるような、所定のデータパターンを生成する機能を有する。データパターン生成応答部13はまた、ホスト装置2からストレージ装置1に、物理エクステントが未割り当ての論理エクステントに対するリード要求が送信されて、当該リード要求がストレージ装置1内のホストインタフェースIF1で受信された場合、前記所定のデータパターンをリードデータとしてホスト装置2に対してホストインタフェースIF1経由で応答する機能を有する。物理エクステントが未割り当ての論理エクステントかどうかは、エクステント管理テーブル記憶部12に記憶されているエクステント管理テーブル120を参照することによって判定される。   The data pattern generation response unit 13 has a function of generating a predetermined data pattern in which all bits are 0, for example. The data pattern generation response unit 13 also sends a read request to the storage device 1 from the host device 2 to the logical device to which the physical extent is not allocated, and the read request is received by the host interface IF1 in the storage device 1. In this case, a function of responding to the host apparatus 2 via the host interface IF1 with the predetermined data pattern as read data is provided. Whether the physical extent is an unallocated logical extent is determined by referring to the extent management table 120 stored in the extent management table storage unit 12.

データパターン書き込み部14は、ホスト装置2から不使用領域の解放のために当該不使用領域の範囲を通知する、領域解放コマンドとしての特定のSCSI(Small Computer System Interface)コマンド(以下、UNMAPコマンドと称する)をホストインタフェースIF1が受信した場合に動作する。UNMAPコマンドは、SCSIの通信用コマンドセットに属しており、現在標準化が進められている。   The data pattern writing unit 14 notifies a specific SCSI (Small Computer System Interface) command (hereinafter referred to as an UNMAP command) as an area release command that notifies the host apparatus 2 of the unused area range for releasing the unused area. Is operated by the host interface IF1. The UNMAP command belongs to the SCSI communication command set and is currently being standardized.

UNMAPコマンドは、ホスト装置2にとって不使用となった論理ディスク内の領域(不使用領域)の範囲を指定する領域情報を含む。この領域情報の指定する範囲を、指定範囲と称する。領域情報は、例えば、指定範囲が属する論理ディスクの論理ディスク番号、当該指定範囲の始端の論理ブロックアドレス(LBA)、及び当該指定範囲のサイズの情報から構成される。指定範囲のサイズは、ブロック(セクタ)数で表される。指定範囲の始端(つまり開始位置)の論理ブロックアドレスを開始アドレスと呼び、指定範囲の終端(つまり終了位置)の論理ブロックアドレスを終了アドレスと呼ぶ。データパターン書き込み部14は、UNMAPコマンドの示す指定範囲に対応するアレイ20内の領域に所定のデータパターンをライトする。   The UNMAP command includes area information for designating a range of an area (unused area) in the logical disk that is not used by the host device 2. A range designated by the area information is referred to as a designated range. The area information includes, for example, information on the logical disk number of the logical disk to which the specified range belongs, the logical block address (LBA) at the start of the specified range, and the size of the specified range. The size of the specified range is represented by the number of blocks (sectors). The logical block address at the start (that is, the start position) of the specified range is called a start address, and the logical block address at the end (that is, the end position) of the specified range is called an end address. The data pattern writing unit 14 writes a predetermined data pattern in an area in the array 20 corresponding to the designated range indicated by the UNMAP command.

データパターンマッチング部15は、物理エクステント確保部11によって確保された物理エクステント内の所定サイズの領域(以下、ブロック領域と称する)を単位に、当該ブロック領域に格納されているデータと所定のデータパターンとを比較するマッチング処理を行う。本実施形態において、ブロック領域のサイズは、例えば100ブロック(セクタ)であるものとする。マッチング処理の結果、前記ブロック領域に格納されているデータが所定のデータパターンと一致した場合、データパターンマッチング部15は、一致したブロック領域の次のアドレスのブロック領域に対してマッチング処理を行う。データパターンマッチング部15によるマッチング処理は、UNMAPコマンドの受信タイミングに依らず独立して行われるものとする。   The data pattern matching unit 15 uses data stored in a block area and a predetermined data pattern in units of a predetermined size area (hereinafter referred to as a block area) in the physical extent secured by the physical extent securing unit 11. A matching process is performed to compare with. In the present embodiment, the size of the block area is assumed to be 100 blocks (sectors), for example. If the data stored in the block area matches the predetermined data pattern as a result of the matching process, the data pattern matching unit 15 performs the matching process on the block area at the next address of the matched block area. It is assumed that the matching process by the data pattern matching unit 15 is performed independently regardless of the reception timing of the UNMAP command.

不使用最終アドレス記憶部16は、不使用最終アドレス管理テーブル160を記憶する。不使用最終アドレス管理テーブル160は、データパターンマッチング部15によって、所定のデータパターンと一致すると判定されたブロック領域のうち、物理エクステントの始端から連続するブロック領域の終端の位置に対応する論理ディスク内のアドレスを、不使用最終アドレスとして保持する。不使用最終アドレス管理テーブル160は、ホスト装置2によって認識される論理ディスク毎に1つの不使用最終アドレスを保持する。   The unused final address storage unit 16 stores an unused final address management table 160. The unused final address management table 160 is stored in the logical disk corresponding to the position of the end of the block area continuous from the start end of the physical extent among the block areas determined by the data pattern matching unit 15 to match the predetermined data pattern. Are stored as unused final addresses. The unused final address management table 160 holds one unused final address for each logical disk recognized by the host device 2.

図4は、不使用最終アドレス管理テーブル160のデータ構造例を示す。図4に示すように、不使用最終アドレス管理テーブル160は、不使用最終アドレスとしてのLBAと当該不使用最終アドレスが属する論理ディスクのLDISK番号との対を保持する。なお、LBAとLDISK番号との対を、不使用最終アドレスと定義することも可能である。以下の説明では、説明の簡略化のために、論理ディスクが論理ディスク210のみであり、不使用最終アドレスが属する論理ディスクのLDISK番号を、不使用最終アドレス管理テーブル160が必ずしも保持する必要がないものとする。不使用最終アドレスは、ストレージ装置1のアレイ20全体において不使用となった物理アドレスが連続する領域を管理するポインタである。   FIG. 4 shows an example of the data structure of the unused final address management table 160. As shown in FIG. 4, the unused final address management table 160 holds a pair of an LBA as an unused final address and the LDISK number of the logical disk to which the unused final address belongs. A pair of LBA and LDISK number can be defined as an unused final address. In the following description, for the sake of simplicity, the logical disk is only the logical disk 210, and the unused final address management table 160 does not necessarily have to hold the LDISK number of the logical disk to which the unused final address belongs. Shall. The unused final address is a pointer that manages an area in which physical addresses that are not used in the entire array 20 of the storage apparatus 1 are continuous.

不使用最終アドレス管理部17は、ホストインタフェースIF1でUNMAPコマンドが受信され、且つ当該UNMAPコマンドの示す指定範囲が不使用最終アドレスの位置を終端とする領域を含んでいる場合、データパターンマッチング部15によるマッチング処理を行うことなく、当該指定範囲の終端の論理ブロックアドレス、つまり指定範囲の終了アドレスを、不使用最終アドレスとして不使用最終アドレス管理テーブル160に登録する。また、不使用最終アドレス管理部17は、ホストインタフェースIF1がホスト装置2から不使用最終アドレスの位置または不使用最終アドレスの位置よりも前の位置(つまり不使用最終アドレスよりもアドレスが小さい位置)を終端とする領域(つまり不使用最終アドレスの位置よりも後ろにない領域)へのライトを要求するライト要求を受信した場合、不使用最終アドレス管理テーブル160に保持されている不使用最終アドレスを、当該ライト要求の指定する開始アドレスの直前のアドレスに更新する。   If the UNMAP command is received by the host interface IF1 and the specified range indicated by the UNMAP command includes an area whose end is the position of the unused final address, the unused final address management unit 17 The matching logical block address of the designated range, that is, the end address of the designated range, is registered in the unused final address management table 160 as an unused final address without performing the matching process. In addition, the unused final address management unit 17 is configured so that the host interface IF1 is located before the position of the unused final address or the position of the unused final address from the host device 2 (that is, the position whose address is smaller than the unused final address). When a write request for requesting a write to an area ending with (that is, an area not behind the position of the unused final address) is received, the unused final address held in the unused final address management table 160 is The address is updated to the address immediately before the start address specified by the write request.

物理エクステント解放部18は、不使用最終アドレス管理テーブル160に保持されている不使用最終アドレスが、物理エクステントの終端または終端よりも後ろのアドレスである場合に、当該物理エクステント全体が不使用領域であると判定し、当該物理エクステントを解放する。   When the unused final address held in the unused final address management table 160 is the end of the physical extent or an address after the end, the physical extent releasing unit 18 uses the entire physical extent as an unused area. It is determined that there is, and the physical extent is released.

次に、図1の構成のストレージ装置1が、ホスト装置2からUNMAPコマンドを受信してからホスト装置2に対して当該コマンドの受信完了を応答するまでの処理について、図5のフローチャートを参照して説明する。
今、ホスト装置2からストレージ装置1にUNMAPコマンドが送信され、当該UNMAPコマンドが、ストレージ装置1内のホストインタフェースIF1で受信されたものとする(ステップS100)。この場合、不使用最終アドレス管理部17は、UNMAPコマンドの示す指定範囲の開始アドレスの位置が、不使用最終アドレス記憶部16内の不使用最終アドレス管理テーブル160に保持されている不使用最終アドレスの次のアドレスの位置よりも後ろであるかを判定する(ステップS101)。
Next, with reference to the flowchart of FIG. 5, the storage apparatus 1 having the configuration shown in FIG. 1 receives the UNMAP command from the host apparatus 2 and responds to the host apparatus 2 with the completion of reception of the command. I will explain.
Now, it is assumed that an UNMAP command is transmitted from the host apparatus 2 to the storage apparatus 1 and the UNMAP command is received by the host interface IF1 in the storage apparatus 1 (step S100). In this case, the unused final address management unit 17 uses the unused final address in which the position of the start address in the specified range indicated by the UNMAP command is held in the unused final address management table 160 in the unused final address storage unit 16. It is determined whether it is behind the position of the next address (step S101).

もし、ステップS101の判定がYesの場合、データパターン書き込み部14が動作して、UNMAPコマンドの示す指定範囲に対応するアレイ20内の領域に所定のデータパターンをライトする(ステップS102)。以下の説明では、簡略化のために、指定範囲に対応するアレイ20内の領域を、単に指定範囲の領域と表現することもある。   If the determination in step S101 is Yes, the data pattern writing unit 14 operates to write a predetermined data pattern in the area in the array 20 corresponding to the specified range indicated by the UNMAP command (step S102). In the following description, for simplification, an area in the array 20 corresponding to the specified range may be simply expressed as an area of the specified range.

データパターン書き込み部14によって、UNMAPコマンドの示す指定範囲の領域に所定のデータパターンがライトされると(ステップS102)、ホストインタフェースIF1は、ホスト装置2に対して当該UNMAPコマンドの受信完了を応答する(ステップS103)。これにより、ストレージ装置1におけるUNMAPコマンドの受信時の処理は終了する。   When the data pattern writing unit 14 writes a predetermined data pattern in the area of the specified range indicated by the UNMAP command (step S102), the host interface IF1 responds to the host device 2 with the completion of reception of the UNMAP command. (Step S103). As a result, the processing at the time of receiving the UNMAP command in the storage apparatus 1 ends.

これに対して、ステップS101の判定がNoの場合、不使用最終アドレス管理部17は、UNMAPコマンドの示す指定範囲の終了アドレスの位置が、不使用最終アドレスの位置よりも後ろであるかを判定する(ステップS104)。もし、ステップS104の判定がNoの場合、ホストインタフェースIF1は、ホスト装置2に対してUNMAPコマンドの受信完了を応答する(ステップS103)。これにより、ストレージ装置1におけるUNMAPコマンドの受信時の処理は終了する。   On the other hand, if the determination in step S101 is No, the unused final address management unit 17 determines whether the end address position of the specified range indicated by the UNMAP command is behind the unused final address position. (Step S104). If the determination in step S104 is No, the host interface IF1 responds to the host apparatus 2 with the completion of reception of the UNMAP command (step S103). As a result, the processing at the time of receiving the UNMAP command in the storage apparatus 1 ends.

このように本実施形態では、UNMAPコマンドの示す指定範囲の終了アドレスの位置が、不使用最終アドレスの位置よりも後ろにない場合(ステップS101,S104がいずれもNo)、つまり当該指定範囲の領域全体が所定のデータパターンのライトに関して後述するチェック済みの領域に含まれている場合、当該指定範囲の領域への所定のデータパターンのライトが省略される。これにより、ストレージ装置1の負荷を軽減することができる。   As described above, in this embodiment, when the position of the end address of the specified range indicated by the UNMAP command is not behind the position of the unused final address (steps S101 and S104 are No), that is, the area of the specified range. When the entirety is included in a checked area, which will be described later, regarding writing of a predetermined data pattern, the writing of the predetermined data pattern to the area of the specified range is omitted. Thereby, the load of the storage apparatus 1 can be reduced.

これに対して、ステップS104の判定がYesの場合、データパターン書き込み部14が動作して、不使用最終アドレスの次のアドレスからUNMAPコマンドの示す指定範囲の終了アドレスまでの領域に所定のデータパターンをライトする(ステップS105)。ここでは、UNMAPコマンドの示す指定範囲の開始アドレスの位置が不使用最終アドレスの位置よりも後ろにないならば、当該指定範囲の開始アドレスから不使用最終アドレスまでの領域への所定のデータパターンのライトが省略される。   On the other hand, if the determination in step S104 is Yes, the data pattern writing unit 14 operates to operate a predetermined data pattern in an area from the address next to the unused final address to the end address of the designated range indicated by the UNMAP command. Is written (step S105). Here, if the position of the start address of the specified range indicated by the UNMAP command is not behind the position of the unused final address, the predetermined data pattern of the area from the start address of the specified range to the unused final address The light is omitted.

このように本実施形態では、UNMAPコマンドの示す指定範囲内に不使用最終アドレスの位置よりも後ろにない第3の領域が含まれている場合、当該第3の領域に対応するアレイ20内の第4の領域への所定のデータパターンのライトが省略される。これにより、ストレージ装置1の負荷を軽減することができる。   As described above, in the present embodiment, when the third area that is not behind the position of the unused final address is included in the designated range indicated by the UNMAP command, the array 20 in the array 20 corresponding to the third area is included. Writing of the predetermined data pattern to the fourth area is omitted. Thereby, the load of the storage apparatus 1 can be reduced.

さてステップS104の判定がYesの場合、不使用最終アドレス管理部17は、不使用最終アドレス記憶部16内の不使用最終アドレス管理テーブル160に保持されている不使用最終アドレスを、UNMAPコマンドの示す指定範囲の終了アドレスに更新する(ステップS106)。このステップS106の処理の結果、更新前の不使用最終アドレスの位置から更新後の不使用最終アドレスの位置までに対応するアレイ20内の領域が、所定のデータパターンのライトに関してチェック済みとして扱われ、当該領域を対象とする、データパターンマッチング部15によるデータパターンマッチング処理が省略される。   If the determination in step S104 is Yes, the unused final address management unit 17 indicates the unused final address held in the unused final address management table 160 in the unused final address storage unit 16 by the UNMAP command. Update to the end address of the specified range (step S106). As a result of the processing in step S106, the area in the array 20 corresponding to the position of the unused final address before the update and the position of the unused final address after the update is handled as checked with respect to writing of a predetermined data pattern. The data pattern matching process by the data pattern matching unit 15 for the region is omitted.

次に不使用最終アドレス管理部17は、UNMAPコマンドの示す指定範囲の終了アドレスの位置が、直近のステップS106で更新される前の不使用最終アドレスに該当する論理エクステントの終端のアドレスの位置より前であるかを判定する(ステップS107)。このステップS107の判定は、不使用最終アドレス管理部17が、不使用最終アドレス記憶部16内の不使用最終アドレス管理テーブル160及びエクステント管理テーブル記憶部12内のエクステント管理テーブル120を参照することによって行われる。   Next, the unused final address management unit 17 determines the position of the end address of the designated range indicated by the UNMAP command from the position of the end address of the logical extent corresponding to the unused final address before being updated in the latest step S106. It is determined whether it is before (step S107). In step S107, the unused final address management unit 17 refers to the unused final address management table 160 in the unused final address storage unit 16 and the extent management table 120 in the extent management table storage unit 12. Done.

以降の説明では、論理エクステント(または物理エクステント)の終端のアドレスを、論理エクステント(または物理エクステント)の最終アドレスと称する。また、論理エクステント(または物理エクステント)の始端のアドレスを、論理エクステント(または物理エクステント)の先頭アドレスと称する。同様に、例えば後述するチェック領域のような領域の始端のアドレス及び終端のアドレスを、それぞれ、領域の先頭アドレス及び最終アドレスと称する。   In the following description, the end address of the logical extent (or physical extent) is referred to as the final address of the logical extent (or physical extent). In addition, the start address of the logical extent (or physical extent) is referred to as the start address of the logical extent (or physical extent). Similarly, the start address and end address of an area such as a check area, which will be described later, are referred to as the start address and end address of the area, respectively.

ステップS107の判定がNoの場合、物理エクステント解放部18が動作して、直近のステップS106で更新される前の不使用最終アドレスに対応する物理エクステントから更新後の不使用最終アドレスに対応する物理エクステントの直前までを解放する(ステップS108)。このステップS108は、物理エクステント解放部18が、エクステント管理テーブル記憶部12内のエクステント管理テーブル120から、解放されるべき物理エクステントに対応する論理エクステントを定義するエントリを削除することによって実現される。   When the determination in step S107 is No, the physical extent release unit 18 operates and the physical corresponding to the updated unused final address from the physical extent corresponding to the unused final address before being updated in the latest step S106. The area just before the extent is released (step S108). This step S108 is realized by the physical extent releasing unit 18 deleting the entry defining the logical extent corresponding to the physical extent to be released from the extent management table 120 in the extent management table storage unit 12.

このように本実施形態では、UNMAPコマンドの示す指定範囲の終了アドレスの位置が、直近のステップS106で更新される前の不使用最終アドレスに該当する論理エクステントの終端のアドレスの位置より前になく(ステップS107がNo)、したがって、当該不使用最終アドレスの位置から論理エクステントの終端までの領域(第5の領域)が当該指定範囲に含まれている場合、当該第5の領域に対応するアレイ20内の領域(第6の領域)に格納されたデータと所定のデータパターンとの一致を検出するためのマッチング処理が省略され、且つ当該第6の領域が属する物理エクステントが解放(つまり、第6の領域が属する物理エクステントの第5の領域が属する論理エクステントへの割り当てが解除)される。このマッチング処理の省略に伴う物理エクステントの解放により、物理エクステント解放処理を簡素化できる。   As described above, in this embodiment, the position of the end address in the specified range indicated by the UNMAP command is not earlier than the position of the end address of the logical extent corresponding to the unused final address before being updated in the latest step S106. (No in step S107) Therefore, when the area (fifth area) from the position of the unused final address to the end of the logical extent is included in the designated range, the array corresponding to the fifth area The matching process for detecting a match between the data stored in the area 20 (sixth area) and a predetermined data pattern is omitted, and the physical extent to which the sixth area belongs is released (that is, the first area The allocation of the physical extent to which the sixth area belongs to the logical extent to which the fifth area belongs is released). The physical extent release process can be simplified by releasing the physical extent associated with the omission of the matching process.

ステップS108が実行されると、ホストインタフェースIF1は、ホスト装置2に対してUNMAPコマンドの受信完了を応答する(ステップS103)。これにより、ストレージ装置1におけるUNMAPコマンドの受信時の処理は終了する。   When step S108 is executed, the host interface IF1 responds to the host apparatus 2 with the completion of reception of the UNMAP command (step S103). As a result, the processing at the time of receiving the UNMAP command in the storage apparatus 1 ends.

これに対し、ステップS107の判定がYesの場合、ホストインタフェースIF1は、ホスト装置2に対してUNMAPコマンドの受信完了を応答する(ステップS103)。これにより、ストレージ装置1におけるUNMAPコマンドの受信時の処理は終了する。   On the other hand, if the determination in step S107 is Yes, the host interface IF1 responds to the host device 2 that the UNMAP command has been received (step S103). As a result, the processing at the time of receiving the UNMAP command in the storage apparatus 1 ends.

次に、ストレージ装置1内のデータパターンマッチング部15を中心とするデータパターンマッチング処理について、図6のフローチャートを参照して説明する。本実施形態において、データパターンマッチング処理は一定周期で繰り返し実行されるものとする。   Next, data pattern matching processing centered on the data pattern matching unit 15 in the storage apparatus 1 will be described with reference to the flowchart of FIG. In the present embodiment, it is assumed that the data pattern matching process is repeatedly executed at a constant cycle.

まずデータパターンマッチング部15は、不使用最終アドレス記憶部16内の不使用最終アドレス管理テーブル160に保持されている不使用最終アドレスの次のアドレスが示すブロック領域(より詳細には、不使用最終アドレスの次のアドレスが示す論理ディスク内のブロック領域である第1の領域に対応するアレイ20内の第2の領域)を、所定のデータパターンとのマッチングに用いられるチェック領域として決定する(ステップS201)。次にデータパターンマッチング部15は、決定されたチェック領域に格納されているデータと所定のデータパターンとのマッチングをとるための比較処理を行い、マッチングがとれているか、つまりチェック領域に格納されているデータと所定のデータパターンとが一致しているかを判定する(ステップS202)。もし、不一致であった場合(ステップS202がNo)は、データパターンマッチング部15はデータパターンマッチング処理を終了する。   First, the data pattern matching unit 15 includes a block area indicated by the address next to the unused final address held in the unused final address management table 160 in the unused final address storage unit 16 (more specifically, the unused final address). The second area in the array 20 corresponding to the first area, which is a block area in the logical disk indicated by the address next to the address, is determined as a check area used for matching with a predetermined data pattern (step S201). Next, the data pattern matching unit 15 performs a comparison process for matching the data stored in the determined check area with a predetermined data pattern, and confirms that the matching is obtained, that is, the data is stored in the check area. It is determined whether the existing data matches a predetermined data pattern (step S202). If there is a mismatch (No in step S202), the data pattern matching unit 15 ends the data pattern matching process.

これに対し、一致していた場合(ステップS202がYes)、データパターンマッチング部15は、チェック領域に所定のデータパターンが書き込まれていることを確認する。すると不使用最終アドレス管理部17が動作して、一致が検出されたチェック領域をチェック済み領域として、不使用最終アドレス管理テーブル160に保持されている不使用最終アドレスを、当該チェック済み領域の最終アドレスに更新する(ステップS203)。次に不使用最終アドレス管理部17は、更新後の不使用最終アドレスが、当該不使用最終アドレスに対応する論理エクステントの最終アドレスと一致するかを判定する(ステップS204)。このステップS204の判定は、不使用最終アドレス管理部17が、不使用最終アドレス管理テーブル160及びエクステント管理テーブル120を参照することによって行われる。   On the other hand, if they match (Yes in step S202), the data pattern matching unit 15 confirms that a predetermined data pattern is written in the check area. Then, the unused final address management unit 17 operates to set the checked area in which the match is detected as the checked area, and the unused final address held in the unused final address management table 160 as the final of the checked area. Update to address (step S203). Next, the unused final address management unit 17 determines whether the updated unused final address matches the final address of the logical extent corresponding to the unused final address (step S204). The determination in step S204 is performed by the unused final address management unit 17 referring to the unused final address management table 160 and the extent management table 120.

もし、ステップS204の判定がYesの場合、物理エクステント解放部18が動作して、不使用最終アドレス管理テーブル160及びエクステント管理テーブル120を参照することによって不使用最終アドレスに対応する論理エクステントに割り当てられている物理エクステントを特定し、当該特定した物理エクステントを解放する(ステップS205)。このステップS205は、物理エクステント解放部18が、エクステント管理テーブル120から、解放されるべき物理エクステントに対応する論理エクステントのためのエントリを削除することによって実現される。物理エクステント解放部18によって物理エクステントが解放されると(ステップS205)、データパターンマッチング部15は、チェック領域のアドレスを次のアドレスに更新することにより、チェック領域を切り替えて(ステップS206)、ステップS202に戻る。   If the determination in step S204 is Yes, the physical extent release unit 18 operates and is assigned to the logical extent corresponding to the unused final address by referring to the unused final address management table 160 and the extent management table 120. The specified physical extent is specified, and the specified physical extent is released (step S205). This step S205 is realized by the physical extent releasing unit 18 deleting the entry for the logical extent corresponding to the physical extent to be released from the extent management table 120. When the physical extent is released by the physical extent release unit 18 (step S205), the data pattern matching unit 15 switches the check area by updating the address of the check area to the next address (step S206). Return to S202.

一方、ステップS204の判定がNoの場合、直ちにデータパターンマッチング部15によってチェック領域が切り替えられる(ステップS206)。そしてデータパターンマッチング部15はステップS202に戻る。   On the other hand, if the determination in step S204 is No, the check area is immediately switched by the data pattern matching unit 15 (step S206). Then, the data pattern matching unit 15 returns to step S202.

次に、ストレージ装置1が、ホスト装置2からライト要求を受信した場合の、不使用最終アドレス管理部17の処理について、図7のフローチャートを参照して説明する。
今、ホスト装置2からストレージ装置1にライト要求が送信され、当該ライト要求が、ストレージ装置1内のホストインタフェースIF1で受信されたものとする。このライト要求は、データが書き込まれるべき論理ディスク内の領域(以下、書き込み領域と称する)を指定する。この書き込み領域の指定のために、ライト要求は、書き込み領域が属する論理ディスクの論理ディスク番号、当該書き込み領域の始端の論理ブロックアドレス(つまり書き込み領域の開始アドレス)、及び当該書き込み領域のサイズの情報から構成される。
Next, the processing of the unused final address management unit 17 when the storage device 1 receives a write request from the host device 2 will be described with reference to the flowchart of FIG.
Now, it is assumed that a write request is transmitted from the host apparatus 2 to the storage apparatus 1 and the write request is received by the host interface IF1 in the storage apparatus 1. This write request designates an area in the logical disk in which data is to be written (hereinafter referred to as a write area). In order to specify the write area, the write request includes the logical disk number of the logical disk to which the write area belongs, the logical block address at the start of the write area (that is, the start address of the write area), and the size information of the write area. Consists of

不使用最終アドレス管理部17は、ホストインタフェースIF1によってライト要求が受信された場合、当該ライト要求の指定する書き込み領域の終端の論理ブロックアドレスの位置、つまり書き込み領域の終了アドレスの位置が、不使用最終アドレス管理テーブル160に保持されている不使用最終アドレスの位置よりも後ろであるかを判定する(ステップS301)。もし、ステップS301の判定がYesの場合、不使用最終アドレス管理部17はライト要求受信時の処理を終了する。   When a write request is received by the host interface IF1, the unused final address management unit 17 indicates that the position of the logical block address at the end of the write area specified by the write request, that is, the position of the end address of the write area is not used. It is determined whether it is behind the position of the unused final address held in the final address management table 160 (step S301). If the determination in step S301 is Yes, the unused final address management unit 17 ends the process when the write request is received.

これに対して、ステップS301の判定がNoの場合、不使用最終アドレス管理部17は、不使用最終アドレス管理テーブル160に保持されている不使用最終アドレスを、ライト要求の指定する書き込み領域の開始アドレスの直前のアドレスに更新する(ステップS302)。不使用最終アドレス管理部17は、ステップS302を実行すると、ライト要求受信時の処理を終了する。   On the other hand, if the determination in step S301 is No, the unused final address management unit 17 uses the unused final address held in the unused final address management table 160 as the start of the write area designated by the write request. Update to the address immediately before the address (step S302). When the unused final address management unit 17 executes Step S302, the unused final address management unit 17 ends the process when the write request is received.

次に、ホスト装置2からストレージ装置1に送られたUNMAPコマンドが、ホストインタフェースIF1で受信された場合の、それぞれ第1乃至第5の状況の下での、論理エクステント上の不使用最終アドレスpの遷移及び所定のデータパターンのライト、更には論理エクステントに割り当てられている物理エクステントの解放の具体例について、図8乃至図12を参照して説明する。   Next, when the UNMAP command sent from the host apparatus 2 to the storage apparatus 1 is received by the host interface IF1, the unused final address p on the logical extent under the first to fifth situations, respectively. A specific example of the transition of data, the writing of a predetermined data pattern, and the release of a physical extent allocated to a logical extent will be described with reference to FIGS.

まず、第1の状況の下での具体例について図8を参照して説明する。第1の状況の特徴は、以下に述べるように、UNMAPコマンドの指定範囲が不使用最終アドレスpの次のアドレスの位置よりも前の領域に含まれている点にある。   First, a specific example under the first situation will be described with reference to FIG. As described below, the feature of the first situation is that the specified range of the UNMAP command is included in the area before the position of the address next to the unused final address p.

図8において、論理エクステント211(A)の先頭LBAは0であり、最終LBAは599(600−1=599)である。図8の例では、論理エクステント211(A)は、6つのブロック領域に区分されている。各ブロック領域は、100ブロック(セクタ)から構成される。論理エクステント211(A)の例えば先頭のブロック領域の先頭LBAは0であり、最終LBAは99(100−1=99)である。論理エクステント211(A)の例えば5番目のブロック領域の先頭LBAは400であり、最終LBAは499(500−1=499)である。論理エクステント211(A)の次の論理エクステント212(B)の例えば先頭のブロック領域の先頭LBAは600であり、最終LBAは699(700−1=699)である。上述の論理エクステント211(A),212(B)は、図9乃至図12の例でも同様である。   In FIG. 8, the leading LBA of the logical extent 211 (A) is 0, and the final LBA is 599 (600-1 = 599). In the example of FIG. 8, the logical extent 211 (A) is divided into six block areas. Each block area is composed of 100 blocks (sectors). For example, the first LBA of the first block area of the logical extent 211 (A) is 0, and the final LBA is 99 (100-1 = 99). For example, the first LBA of the fifth block area of the logical extent 211 (A) is 400, and the final LBA is 499 (500-1 = 499). For example, the first LBA of the first block area of the logical extent 212 (B) next to the logical extent 211 (A) is 600, and the final LBA is 699 (700-1 = 699). The logical extents 211 (A) and 212 (B) described above are the same in the examples of FIGS.

第1の状況では、図8(a)に示すように、論理エクステント211(A)の先頭から連続する5つのブロック領域に所定のデータパターンがライトされている。論理エクステント211(A)の5番目のブロック領域の最終LBA(=499)は、不使用最終アドレスpに一致する。つまり第1の状況では、不使用最終アドレスpは、論理エクステント211(A)の5番目のブロック領域を指し示す。このときの不使用最終アドレス管理テーブル160の状態を図8(b)に示す。   In the first situation, as shown in FIG. 8A, a predetermined data pattern is written in five block areas continuous from the head of the logical extent 211 (A). The final LBA (= 499) of the fifth block area of the logical extent 211 (A) matches the unused final address p. That is, in the first situation, the unused final address p points to the fifth block area of the logical extent 211 (A). The state of the unused final address management table 160 at this time is shown in FIG.

また第1の状況では、UNMAPコマンドの指定範囲は、図8(a)に示すように、開始LBA=200から200セクタのサイズ、つまり論理エクステント211(A)の3番目及び4番目のブロック領域である。つまり第1の状況は、UNMAPコマンドの指定範囲の開始LBAの位置が不使用最終アドレスpの次のアドレスの位置よりも後ろになくステップS101がNo)、且つ当該指定範囲の終了LBAの位置が不使用最終アドレスpの位置よりも後ろにない場合(ステップS104がNo)である。   In the first situation, as shown in FIG. 8A, the specified range of the UNMAP command is the size of the start LBA = 200 to 200 sectors, that is, the third and fourth block areas of the logical extent 211 (A). It is. In other words, the first situation is that the position of the start LBA of the specified range of the UNMAP command is not behind the position of the address next to the unused final address p and step S101 is No), and the position of the end LBA of the specified range is This is a case where it is not behind the position of the unused final address p (No in step S104).

このような第1の状況では、図8(a)に示されるように、不使用最終アドレスpの位置のブロック領域を最終のブロック領域とする連続するブロック領域には既に所定のデータパターンがライトされている。そのため、ステップS101,S104がいずれもNoとなる第1の状況では、図8(c)に示すように、UNMAPコマンドの指定範囲(より詳細には、指定範囲に対応するアレイ20内の領域)への所定のデータパターンのライトと、不使用最終アドレスpの更新処理を省略することができる。つまり第1の状況下では、図5のフローチャートにおける処理が、開始→S100→S101→S104→S103→終了の手順で実行される。   In such a first situation, as shown in FIG. 8A, a predetermined data pattern has already been written in a continuous block area having the block area at the position of the unused final address p as the final block area. Has been. Therefore, in the first situation in which steps S101 and S104 are both No, as shown in FIG. 8C, the specified range of the UNMAP command (more specifically, the area in the array 20 corresponding to the specified range). It is possible to omit writing of a predetermined data pattern and updating of the unused final address p. That is, under the first situation, the processing in the flowchart of FIG. 5 is executed in the order of start → S100 → S101 → S104 → S103 → end.

第1の状況下で実行される図5のフローチャートにおける処理の終了時の不使用最終アドレス管理テーブル160の状態を図8(d)に示す。図8(c),(d)と図8(a),(b)との対比から明らかなように、不使用最終アドレスpは第1の状況下では、図5のフローチャートにおける処理で更新されない。   FIG. 8D shows the state of the unused final address management table 160 at the end of the process in the flowchart of FIG. 5 executed under the first situation. As is clear from the comparison between FIGS. 8C and 8D and FIGS. 8A and 8B, the unused final address p is not updated by the processing in the flowchart of FIG. 5 in the first situation. .

次に、第2の状況の下での具体例について図9を参照して説明する。第2の状況の特徴は、以下に述べるように、UNMAPコマンドの指定範囲内に、所定のデータパターンがライトされている領域(データパターンチェック済みの領域)と所定のデータパターンがライトされていない領域とが含まれている点にある。   Next, a specific example under the second situation will be described with reference to FIG. As described below, the feature of the second situation is that an area in which a predetermined data pattern is written (an area in which a data pattern has been checked) and a predetermined data pattern are not written within the specified range of the UNMAP command. And the area is included.

第2の状況では、図9(a)に示すように、論理エクステント211(A)の先頭から連続する3つのブロック領域に所定のデータパターンがライトされている。論理エクステント211(A)の3番目のブロック領域の最終LBA(=299)は、不使用最終アドレスpに一致する。つまり第2の状況では、不使用最終アドレスpは、論理エクステント211(A)の3番目のブロック領域を指し示す。このときの不使用最終アドレス管理テーブル160の状態を図9(b)に示す。   In the second situation, as shown in FIG. 9A, a predetermined data pattern is written in three block areas that are continuous from the head of the logical extent 211 (A). The final LBA (= 299) of the third block area of the logical extent 211 (A) matches the unused final address p. That is, in the second situation, the unused final address p points to the third block area of the logical extent 211 (A). The state of the unused final address management table 160 at this time is shown in FIG.

また第2の状況では、UNMAPコマンドの指定範囲は、図9(a)に示すように、開始LBA=100から400セクタのサイズ、つまり論理エクステント211(A)の2番目乃至5番目のブロック領域である。つまり第2の状況は、UNMAPコマンドの指定範囲の開始LBAの位置が不使用最終アドレスpの次のアドレスの位置よりも後ろになく、且つ当該指定範囲の終了LBAの位置が不使用最終アドレスpの位置よりも後ろにある場合(ステップS101がNo、ステップS104がYes)である。   In the second situation, as shown in FIG. 9A, the specified range of the UNMAP command is the size of the start LBA = 100 to 400 sectors, that is, the second to fifth block areas of the logical extent 211 (A). It is. That is, the second situation is that the position of the start LBA of the specified range of the UNMAP command is not behind the position of the address next to the unused final address p, and the position of the end LBA of the specified range is the unused final address p. (Step S101 is No, Step S104 is Yes).

しかも第2の状況では、UNMAPコマンドの指定範囲内の一部領域に、既に所定のデータパターンがライトされている。ここでは、図9(a)から明らかなように、UNMAPコマンドの指定範囲のうち、論理エクステント211(A)の2番目及び3番目のブロック領域に所定のデータパターンがライトされている。   Moreover, in the second situation, a predetermined data pattern has already been written in a partial area within the range specified by the UNMAP command. Here, as is apparent from FIG. 9A, a predetermined data pattern is written in the second and third block areas of the logical extent 211 (A) in the range specified by the UNMAP command.

そのため第2の状況では、図9(c)に示すように、UNMAPコマンドの指定範囲のうち、不使用最終アドレスpの次のアドレス(LBA=300)から当該指定範囲の終了LBA(=499)までの領域、つまり論理エクステント211(A)の4番目及び5番目のブロック領域のみに所定のデータパターンがライトされる(ステップS105)。また、不使用最終アドレスpが、図9(a),(b)に示すLBA=299から、図9(c),(d)に示すように、LBA=499に更新される(ステップS106)。つまり第2の状況下では、図5のフローチャートにおける処理が、開始→S100→S101→S104→S105→S106→S107→S103→終了の手順で実行される。   Therefore, in the second situation, as shown in FIG. 9C, from the specified range of the UNMAP command, the address next to the unused final address p (LBA = 300) to the end LBA (= 499) of the specified range. A predetermined data pattern is written only to the area up to, that is, the fourth and fifth block areas of the logical extent 211 (A) (step S105). Also, the unused final address p is updated from LBA = 299 shown in FIGS. 9A and 9B to LBA = 499 as shown in FIGS. 9C and 9D (step S106). . That is, under the second situation, the processing in the flowchart of FIG. 5 is executed in the order of start → S100 → S101 → S104 → S105 → S106 → S107 → S103 → end.

次に、第3の状況の下での具体例について図10を参照して説明する。第3の状況の特徴は、以下に述べるように、UNMAPコマンドの指定範囲が不使用最終アドレスpの次のアドレスの位置よりも後ろの領域、つまり不使用最終アドレスpに対して連続しない領域を示している点にある。   Next, a specific example under the third situation will be described with reference to FIG. The feature of the third situation is that, as described below, the area specified by the UNMAP command is an area after the position of the address next to the unused final address p, that is, an area that is not continuous with the unused final address p. It is in the point shown.

第3の状況では、図10(a)に示すように、論理エクステント211(A)の先頭から連続する3つのブロック領域に所定のデータパターンがライトされている。論理エクステント211(A)の3番目のブロック領域の最終LBA(=299)は、不使用最終アドレスpに一致する。これらの状態は、第2の状況と同様である。このときの不使用最終アドレス管理テーブル160の状態を図10(b)に示す。   In the third situation, as shown in FIG. 10A, a predetermined data pattern is written in three block areas that are continuous from the head of the logical extent 211 (A). The final LBA (= 299) of the third block area of the logical extent 211 (A) matches the unused final address p. These states are the same as in the second situation. The state of the unused final address management table 160 at this time is shown in FIG.

第3の状況が第2の状況と相違するのは、UNMAPコマンドの指定範囲が図10(a)に示すように、開始LBA=400から200セクタのサイズ、つまり論理エクステント211(A)の5番目及び6番目のブロック領域であり、所定のデータパターンがライトされている領域から外れている点にある。この第3の状況では、上記指定範囲の開始LBAの位置が、不使用最終アドレスpの次のアドレスの位置よりも後ろにある(ステップS101がYes)。   The third situation is different from the second situation in that the specified range of the UNMAP command is 5 from the start LBA = 400 to the size of 200 sectors, that is, the logical extent 211 (A), as shown in FIG. The sixth and sixth block areas are located outside the area where the predetermined data pattern is written. In this third situation, the position of the start LBA of the specified range is behind the position of the address next to the unused final address p (Yes in step S101).

このような第3の状況では、図10(c)に示すように、UNMAPコマンドの指定範囲の領域である、論理エクステント211(A)の5番目及び6番目のブロック領域に、所定のデータパターンがライトされる(ステップS102)。つまり第3の状況下では、図5のフローチャートにおける処理が、開始→S100→S101→S102→S103→終了の手順で実行される。   In such a third situation, as shown in FIG. 10C, a predetermined data pattern is set in the fifth and sixth block areas of the logical extent 211 (A), which is the area specified by the UNMAP command. Is written (step S102). That is, under the third situation, the processing in the flowchart of FIG. 5 is executed in the order of start → S100 → S101 → S102 → S103 → end.

第3の状況下で実行される図5のフローチャートにおける処理の終了時の不使用最終アドレス管理テーブル160の状態を図10(d)に示す。図10(c),(d)と図10(a),(b)との対比から明らかなように、不使用最終アドレスpは、第3の状況下では図5のフローチャートにおける処理で更新されない。   FIG. 10D shows the state of the unused final address management table 160 at the end of the processing in the flowchart of FIG. 5 executed under the third situation. As is clear from the comparison between FIGS. 10C and 10D and FIGS. 10A and 10B, the unused final address p is not updated by the processing in the flowchart of FIG. 5 under the third situation. .

次に、第4の状況の下での具体例について図11を参照して説明する。第4の状況の特徴は、以下に述べるように、UNMAPコマンドが、不使用最終アドレスpの位置と当該不使用最終アドレスpに対して連続しない所定のデータパターンがライトされている領域とで挟まれた領域を埋めるように、当該挟まれた領域を不使用領域として指定している点にある。   Next, a specific example under the fourth situation will be described with reference to FIG. As described below, the feature of the fourth situation is that the UNMAP command is sandwiched between the position of the unused final address p and the area where a predetermined data pattern that is not continuous with respect to the unused final address p is written. This is in that the sandwiched area is designated as a non-use area so as to fill the area.

第4の状況では、図11(a)に示すように、論理エクステント211(A)の先頭から連続する3つのブロック領域に所定のデータパターンがライトされている。論理エクステント211(A)の3番目のブロック領域の最終LBA(=299)は、不使用最終アドレスpに一致する。また、不使用最終アドレスpと連続しない、論理エクステント211(A)の5番目及び6番目のブロック領域にも所定のデータパターンがライトされている。このときの不使用最終アドレス管理テーブル160の状態を図11(b)に示す。   In the fourth situation, as shown in FIG. 11A, a predetermined data pattern is written in three block areas that are continuous from the head of the logical extent 211 (A). The final LBA (= 299) of the third block area of the logical extent 211 (A) matches the unused final address p. A predetermined data pattern is also written in the fifth and sixth block areas of the logical extent 211 (A) that are not continuous with the unused final address p. The state of the unused final address management table 160 at this time is shown in FIG.

また第4の状況では、UNMAPコマンドの指定範囲は、図11(a)に示すように、開始LBA=300から100セクタのサイズであり、論理エクステント211(A)の4番目のブロック領域である。この4番目のブロック領域には、所定のデータパターンはライトされていない。つまり第4の状況では、UNMAPコマンドは、所定のデータパターンがライトされていない4番目のブロック領域を埋めるように、当該4番目のブロック領域を不使用領域として指定する。このため第4の状況では、UNMAPコマンドの指定範囲の開始LBAの位置が不使用最終アドレスpの次のアドレスの位置よりも後ろになく、且つ当該指定範囲の終了LBAの位置が不使用最終アドレスpの位置よりも後ろにある(ステップS101がNo、ステップS104がYes)。   In the fourth situation, the specified range of the UNMAP command is the size of 100 sectors from the start LBA = 300, as shown in FIG. 11A, and is the fourth block area of the logical extent 211 (A). . A predetermined data pattern is not written in the fourth block area. In other words, in the fourth situation, the UNMAP command designates the fourth block area as an unused area so as to fill the fourth block area to which a predetermined data pattern is not written. For this reason, in the fourth situation, the position of the start LBA of the specified range of the UNMAP command is not behind the position of the address next to the unused final address p, and the position of the end LBA of the specified range is the unused final address. It is behind the position of p (Step S101 is No, Step S104 is Yes).

このような第4の状況では、図11(c)に示すように、不使用最終アドレスpの次のアドレス(LBA=300)からUNMAPコマンドの指定範囲の終了LBA(=399)までの領域、つまり論理エクステント211(A)の4番目のブロック領域に所定のデータパターンがライトされる(ステップS105)。ここでは、不使用最終アドレスpの次のアドレス(LBA=300)は、UNMAPコマンドの指定範囲の開始LBAに一致する。また、不使用最終アドレスpが、図10(a),(b)に示すLBA=299から、LBA=399に更新される(ステップS106)。つまり第4の状況下では、図5のフローチャートにおける処理が、開始→S100→S101→S104→S105→S106→S107→S103→終了の手順で実行される。   In such a fourth situation, as shown in FIG. 11C, an area from the address next to the unused final address p (LBA = 300) to the end LBA (= 399) of the specified range of the UNMAP command, That is, a predetermined data pattern is written to the fourth block area of the logical extent 211 (A) (step S105). Here, the address (LBA = 300) next to the unused final address p matches the start LBA of the specified range of the UNMAP command. Further, the unused final address p is updated from LBA = 299 shown in FIGS. 10A and 10B to LBA = 399 (step S106). That is, under the fourth situation, the processing in the flowchart of FIG. 5 is executed in the sequence of start → S100 → S101 → S104 → S105 → S106 → S107 → S103 → end.

さて本実施形態では、図5のフローチャートに従う処理とは独立して、図6のフローチャートに従う処理が行われる。データパターンマッチング部15は、図6のフローチャートに従う処理において、不使用最終アドレスpの指し示すブロック領域に後続する領域に対して、ブロック領域をチェック領域として、ブロック領域単位でマッチング処理を行う(ステップS201,S202)。不使用最終アドレス管理部17は、ブロック領域に格納されているデータが所定のデータパターンに一致することがデータパターンマッチング部15によって検出される間、不使用最終アドレスpを当該ブロック領域の最終アドレスに更新する(ステップS203)。図11の例では、不使用最終アドレスpは同図(c)に示すように、LBA=299からLBA=399に更新された後に、図6のフローチャートに従うデータパターンマッチング処理で、まずLBA=399からLBA=499に更新され、しかる後にLBA=499からLBA=599に更新される。図11(d)は、このときの不使用最終アドレス管理テーブル160の状態を示す。   In the present embodiment, the process according to the flowchart of FIG. 6 is performed independently of the process according to the flowchart of FIG. In the process according to the flowchart of FIG. 6, the data pattern matching unit 15 performs a matching process in units of block areas using the block area as a check area for the area following the block area indicated by the unused final address p (step S201). , S202). The unused final address management unit 17 sets the unused final address p to the final address of the block area while the data pattern matching unit 15 detects that the data stored in the block area matches a predetermined data pattern. (Step S203). In the example of FIG. 11, after the unused final address p is updated from LBA = 299 to LBA = 399 as shown in FIG. 11C, first in the data pattern matching process according to the flowchart of FIG. 6, LBA = 399. To LBA = 499, and then LBA = 499 to LBA = 599. FIG. 11D shows the state of the unused final address management table 160 at this time.

さて、不使用最終アドレスpが図11(c),(d)に示すようにLBA=599に更新されると、図6のフローチャートに従うデータパターンマッチング処理で、不使用最終アドレスpが、当該不使用最終アドレスpに対応する論理エクステントの最終アドレスと一致することが判定される(ステップS204がYes)。つまり、不使用最終アドレスpの示す論理エクステント211(A)がホスト装置2によって使用されていないことが判定される。すると、物理エクステント解放部18は、論理エクステント211(A)に対応する物理エクステントを解放する(ステップS205)。   When the unused final address p is updated to LBA = 599 as shown in FIGS. 11C and 11D, the unused final address p is changed to the non-used final address p in the data pattern matching process according to the flowchart of FIG. It is determined that the final address of the logical extent corresponding to the used final address p matches the final address (Yes in step S204). That is, it is determined that the logical extent 211 (A) indicated by the unused final address p is not used by the host device 2. Then, the physical extent release unit 18 releases the physical extent corresponding to the logical extent 211 (A) (step S205).

このように、不使用最終アドレスpが図11(a),(b)に示すLBA=299から図11(c),(d)に示すLBA=599に更新された場合、図5のフローチャートにおける処理が、開始→S201→S202→S203→S204→S205→終了の手順で実行されて、論理エクステント211(A)に対応する物理エクステント201(A)が解放される。この解放のために、エクステント管理テーブル120から、論理エクステント211(A)と物理エクステント201(A)との対応関係を定義したエントリが削除される。このときのエクステント管理テーブル120の状態を、図13に示す。   In this way, when the unused final address p is updated from LBA = 299 shown in FIGS. 11A and 11B to LBA = 599 shown in FIGS. 11C and 11D, the flowchart shown in FIG. The process is executed in the order of start → S201 → S202 → S203 → S204 → S205 → end, and the physical extent 201 (A) corresponding to the logical extent 211 (A) is released. For this release, the entry defining the correspondence relationship between the logical extent 211 (A) and the physical extent 201 (A) is deleted from the extent management table 120. The state of the extent management table 120 at this time is shown in FIG.

次に、第5の状況の下での具体例について図12を参照して説明する。第5の状況の特徴は、UNMAPコマンドの指定範囲が、不使用最終アドレスpの次のアドレスの位置から論理エクステント終端までの領域を含む点にある。   Next, a specific example under the fifth situation will be described with reference to FIG. A feature of the fifth situation is that the specified range of the UNMAP command includes an area from the position of the address next to the unused final address p to the end of the logical extent.

第5の状況では、図12(a)に示すように、論理エクステント211(A)の先頭から連続する3つのブロック領域に所定のデータパターンがライトされている。論理エクステント211(A)の3番目のブロック領域の最終LBA(=299)は、不使用最終アドレスpに一致する。これらの状態は、第2の状況と同様である。このときの不使用最終アドレス管理テーブル160の状態を図12(b)に示す。   In the fifth situation, as shown in FIG. 12A, a predetermined data pattern is written in three block areas that are continuous from the head of the logical extent 211 (A). The final LBA (= 299) of the third block area of the logical extent 211 (A) matches the unused final address p. These states are the same as in the second situation. The state of the unused final address management table 160 at this time is shown in FIG.

第5の状況が第2の状況と相違するのは、UNMAPコマンドの指定範囲が図12(a)に示すように、開始LBA=300から400セクタのサイズであり、論理エクステント211(A)の4番目乃至6番目のブロック領域及び論理エクステント212(B)の1番目のブロック領域である点にある。つまり、UNMAPコマンドの指定範囲は、不使用最終アドレスpの次のアドレス(LBA=300)の位置から始まる領域であって、論理エクステント211(A)と論理エクステント212(B)との境界をまたぐ領域を示している。   The fifth situation is different from the second situation in that the specified range of the UNMAP command is the size of the start LBA = 300 to 400 sectors, as shown in FIG. 12A, and the logical extent 211 (A) The fourth to sixth block areas and the first block area of the logical extent 212 (B) are. That is, the specified range of the UNMAP command is an area starting from the position of the address (LBA = 300) next to the unused final address p, and crosses the boundary between the logical extent 211 (A) and the logical extent 212 (B). Indicates the area.

このような第5の状況では、図12(c)に示すように、不使用最終アドレスpの次のアドレスからUNMAPコマンドの示す指定範囲の終了アドレスまでの領域(ここでは指定範囲の領域)である、論理エクステント211(A)の4番目乃至6番目のブロック領域及び論理エクステント212(B)の1番目のブロック領域に、所定のデータパターンがライトされる(ステップS105)。また不使用最終アドレスpが、図12(c),(d)に示すように、LBA=299から、論理エクステント212(B)の1番目のブロック領域の最終アドレスであるLBA=699に更新される(ステップS106)。   In such a fifth situation, as shown in FIG. 12C, in the area from the address next to the unused final address p to the end address of the designated range indicated by the UNMAP command (here, the designated range area). A predetermined data pattern is written to the fourth to sixth block areas of the logical extent 211 (A) and the first block area of the logical extent 212 (B) (step S105). The unused final address p is updated from LBA = 299 to LBA = 699, which is the final address of the first block area of the logical extent 212 (B), as shown in FIGS. 12 (c) and 12 (d). (Step S106).

不使用最終アドレスpがLBA=299からLBA=699に更新されると(ステップS106)。UNMAPコマンドの示す指定範囲の終了アドレス(LBA=699)の位置が、更新前の不使用最終アドレスp(LBA=299)に対応する論理エクステント211(A)の終端のアドレス(LBA=599)の位置より前であるかが判定される(ステップS107)。ここでは、ステップS107の判定はNoとなる。   When the unused final address p is updated from LBA = 299 to LBA = 699 (step S106). The position of the end address (LBA = 699) in the designated range indicated by the UNMAP command is the end address (LBA = 599) of the logical extent 211 (A) corresponding to the unused final address p (LBA = 299) before the update. It is determined whether the position is before the position (step S107). Here, the determination in step S107 is No.

この場合、物理エクステント解放部18は、更新前の不使用最終アドレスp(LBA=299)に対応する物理エクステントから更新後の不使用最終アドレスp(LBA=699)に対応する物理エクステントの直前まで、つまり論理エクステント211(A)に対応する物理エクステントを解放する(ステップS108)。この解放のために、エクステント管理テーブル120から、論理エクステント211(A)と物理エクステント201(A)との対応関係を定義したエントリが削除される。図13は、このときのエクステント管理テーブル120の状態をも示す。   In this case, the physical extent release unit 18 extends from the physical extent corresponding to the unused final address p (LBA = 299) before the update to immediately before the physical extent corresponding to the updated unused final address p (LBA = 699). That is, the physical extent corresponding to the logical extent 211 (A) is released (step S108). For this release, the entry defining the correspondence relationship between the logical extent 211 (A) and the physical extent 201 (A) is deleted from the extent management table 120. FIG. 13 also shows the state of the extent management table 120 at this time.

上述したように本実施形態によれば、ディスク容量をエクステント単位で管理(割り当て、解放)するボリューム管理方法を適用するストレージ装置1において、ホスト装置2からのUNMAPコマンドによって不使用であると通知された領域(指定範囲)に、当該領域が不使用であることを識別するための所定のデータパターンが、当該ストレージ装置1内のデータパターン書き込み部14によってライトされる。これにより、ホスト装置で使われなくなった不使用領域を識別するためのデータパターンをホスト装置自身が当該不使用領域に書き込む機能を有していなくても、当該不使用領域を管理することができる。   As described above, according to the present embodiment, in the storage apparatus 1 to which the volume management method for managing (allocating and releasing) the disk capacity in units of extents is notified by the UNMAP command from the host apparatus 2 that it is not used. A predetermined data pattern for identifying that the area is not used is written to the area (designated range) by the data pattern writing unit 14 in the storage apparatus 1. As a result, even if the host device itself does not have a function of writing a data pattern for identifying an unused area that is no longer used by the host device, the unused area can be managed. .

また本実施形態によれば、所定のデータパターンが書き込まれていることが確認されたチェック済み領域の終端に対応する論理アドレスを不使用最終アドレスとして不使用最終アドレス記憶部16に記憶する一方、不使用最終アドレスの次のアドレスから始まる論理ディスク210内の第1の領域に対応するアレイ20内の第2の領域に格納されたデータと上記所定のデータパターンとの一致をデータパターンマッチング部15が検出することにより、上記第2の領域に上記所定のデータパターンが書き込まれていることが確認される。また本実施形態によれば、データパターンマッチング部15による一致検出に応じて不使用最終アドレスが更新されるだけでなく、データパターン書き込み部14による所定のデータパターンの書き込みに応じても、所定のデータパターンが書き込まれた領域をチェック済み領域として不使用最終アドレスが更新される。これにより、UNMAPコマンドによって通知される範囲の不使用領域毎の管理情報をストレージ装置1内で別途保持・管理する必要がなく、たとえストレージ装置1内の管理サイズが、UNMAPコマンドによって通知される範囲におけるそれよりも大きい場合でも、ストレージ装置1内での管理(不使用最終アドレスの管理)に必要な記憶容量を最小限に抑えることができる。   According to the present embodiment, the logical address corresponding to the end of the checked area where it is confirmed that a predetermined data pattern is written is stored in the unused final address storage unit 16 as the unused final address. The data pattern matching unit 15 determines whether the data stored in the second area in the array 20 corresponding to the first area in the logical disk 210 starting from the address next to the unused final address matches the predetermined data pattern. Is detected, it is confirmed that the predetermined data pattern is written in the second area. Further, according to the present embodiment, not only the unused final address is updated in response to the coincidence detection by the data pattern matching unit 15 but also the predetermined data pattern is written by the data pattern writing unit 14. The unused final address is updated with the area where the data pattern is written as the checked area. Thereby, there is no need to separately hold and manage the management information for each unused area in the range notified by the UNMAP command, even if the management size in the storage apparatus 1 is notified by the UNMAP command. Even if it is larger than that, the storage capacity required for management (management of unused final addresses) in the storage apparatus 1 can be minimized.

なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment.

1…ストレージ装置、2…ホスト装置、10…ストレージコントローラ、11…物理エクステント確保部、12…エクステント管理テーブル記憶部、13…データパターン生成応答部、14…データパターン書き込み部、15…データパターンマッチング部、16…不使用最終アドレス記憶部、17…不使用最終アドレス管理部、18…物理エクステント解放部、IF1…ホストインタフェース、IF2…ディスクインタフェース、20…アレイ、21-1〜21-n…HDD、120…エクステント管理テーブル、160…不使用最終アドレス管理テーブル。   DESCRIPTION OF SYMBOLS 1 ... Storage apparatus, 2 ... Host apparatus, 10 ... Storage controller, 11 ... Physical extent securing part, 12 ... Extent management table storage part, 13 ... Data pattern generation response part, 14 ... Data pattern writing part, 15 ... Data pattern matching , 16 ... Unused final address storage unit, 17 ... Unused final address management unit, 18 ... Physical extent release unit, IF1 ... Host interface, IF2 ... Disk interface, 20 ... Array, 21-1 to 21-n ... HDD 120 ... Extent management table, 160 ... Unused final address management table.

Claims (6)

アレイが有する物理領域を複数の物理エクステントに分割し、前記ホスト装置からのライト要求で指定された論理ディスク内の論理エクステントに物理エクステントが未割り当ての場合に、前記複数の物理エクステントのうち他の論理エクステントに未割り当ての物理エクステントを、前記指定された論理エクステントに割り当てるストレージ装置において、
前記ホスト装置からのコマンドを受信するホストインタフェースと、
前記ホストインタフェースで受信されたコマンドによって、物理エクステントが未割り当ての論理エクステント内の領域からのデータリードが要求されている場合、前記ホスト装置に所定のデータパターンを応答するデータパターン生成応答手段と、
前記ホストインタフェースで受信されたコマンドが前記ホスト装置で使われなくなった記憶領域の論理ディスク内の範囲を通知するための領域解放コマンドである場合、前記通知された範囲に対応する前記アレイ内の領域に前記所定のデータパターンを書き込むデータパターン書き込み手段と
を具備することを特徴とするストレージ装置。
When the physical area of the array is divided into a plurality of physical extents and no physical extent is allocated to the logical extent in the logical disk specified by the write request from the host device, In a storage device that allocates a physical extent that is not allocated to a logical extent to the specified logical extent,
A host interface for receiving commands from the host device;
A data pattern generation response means for responding a predetermined data pattern to the host device when a data read from an area in a logical extent to which a physical extent is not allocated is requested by a command received by the host interface;
If the command received by the host interface is an area release command for notifying the range in the logical disk of the storage area that is no longer used by the host device, the area in the array corresponding to the notified range And a data pattern writing means for writing the predetermined data pattern.
前記所定のデータパターンが書き込まれていることが確認されたチェック済み領域の終端に対応する論理アドレスを不使用最終アドレスとして記憶する不使用最終アドレス記憶手段と、
前記不使用最終アドレスの次のアドレスから始まる前記論理ディスク内の第1の領域に対応する前記アレイ内の第2の領域に格納されたデータと前記所定のデータパターンとの一致を検出することにより、前記第2の領域に前記所定のデータパターンが書き込まれていることを確認するデータパターンマッチング手段と、
前記データパターンマッチング手段による一致検出に応じて前記不使用最終アドレスを更新し、且つ前記データパターン書き込み手段による前記所定のデータパターンの書き込みに応じ、前記所定のデータパターンが書き込まれた領域を前記チェック済み領域として前記不使用最終アドレスを更新する不使用最終アドレス管理手段と
を更に具備することを特徴とする請求項1記載のストレージ装置。
An unused final address storage means for storing a logical address corresponding to the end of the checked area where it is confirmed that the predetermined data pattern is written, as an unused final address;
By detecting a match between the data stored in the second area in the array corresponding to the first area in the logical disk starting from the address next to the unused final address and the predetermined data pattern Data pattern matching means for confirming that the predetermined data pattern is written in the second area;
The unused final address is updated according to the coincidence detection by the data pattern matching unit, and the area where the predetermined data pattern is written is checked according to the writing of the predetermined data pattern by the data pattern writing unit. The storage apparatus according to claim 1, further comprising: an unused final address management unit that updates the unused final address as a used area.
前記データパターンマッチング手段による一致検出に応じて更新された前記不使用最終アドレスが論理エクステントの最終アドレスに一致する場合、当該物理エクステントの論理エクステントへの割り当てを解除する物理エクステント解放手段を更に具備することを特徴とする請求項2記載のストレージ装置。   When the unused end address updated in response to the coincidence detection by the data pattern matching unit matches the final address of the logical extent, the physical extent releasing unit is further provided for releasing the allocation of the physical extent to the logical extent. The storage device according to claim 2. 前記データパターン書き込み手段は、前記通知された範囲の記憶領域の少なくとも一部である第3の領域が、前記不使用最終アドレスの位置よりも後ろにない場合、当該第3の領域に対応する前記アレイ内の第4の領域への前記所定のデータパターンの書き込みを省略することを特徴とする請求項2または3に記載のストレージ装置。   The data pattern writing means, when a third area that is at least a part of the storage area of the notified range is not behind the position of the unused final address, the data pattern writing means, corresponding to the third area 4. The storage apparatus according to claim 2, wherein writing of the predetermined data pattern to a fourth area in the array is omitted. 前記データパターンマッチング手段は、前記通知された範囲の記憶領域に、前記不使用最終アドレスの次のアドレスの位置から論理エクステントの終端までの第5の領域が含まれている場合、当該第5の領域に対応する前記アレイ内の第6の領域に格納されたデータと所定のデータパターンとの一致の検出を省略し、
前記物理エクステント解放手段は、前記通知された範囲の記憶領域に前記第5の領域が含まれている場合、前記第6の領域が属する物理エクステントの論理エクステントへの割り当てを解除する
ことを特徴とする請求項3記載のストレージ装置。
If the storage area in the notified range includes a fifth area from the position of the address next to the unused final address to the end of the logical extent, the data pattern matching means Detecting the coincidence between the data stored in the sixth area in the array corresponding to the area and the predetermined data pattern;
The physical extent release means, when the storage area in the notified range includes the fifth area, deallocates the physical extent to which the sixth area belongs to the logical extent. The storage device according to claim 3.
アレイが有する物理領域を複数の物理エクステントに分割し、前記ホスト装置からのライト要求で指定された論理ディスク内の論理エクステントに物理エクステントが未割り当ての場合に、前記複数の物理エクステントのうち他の論理エクステントに未割り当ての物理エクステントを、前記指定された論理エクステントに割り当てるストレージ装置における記憶領域管理方法であって、
前記ストレージ装置が有するホストインタフェースが、前記ホスト装置からのコマンドを受信するステップと、
前記ホストインタフェースで受信されたコマンドによって、物理エクステントが未割り当ての論理エクステント内の領域からのデータリードが要求されている場合、前記ストレージ装置が有するデータパターン生成応答手段が前記ホスト装置に所定のデータパターンを応答するステップと、
前記ホストインタフェースで受信されたコマンドが前記ホスト装置で使われなくなった記憶領域の論理ディスク内の範囲を通知するための領域解放コマンドである場合、前記通知された範囲に対応する前記アレイ内の領域に、前記ストレージ装置が有するデータパターン書き込み手段が前記所定のデータパターンを書き込むステップと
を具備することを特徴とする記憶領域管理方法。
When the physical area of the array is divided into a plurality of physical extents and no physical extent is allocated to the logical extent in the logical disk specified by the write request from the host device, A storage area management method in a storage apparatus for allocating a physical extent that is not allocated to a logical extent to the specified logical extent,
A host interface included in the storage device receiving a command from the host device;
When data read from an area in a logical extent to which a physical extent has not been allocated is requested by a command received by the host interface, a data pattern generation response unit included in the storage device sends predetermined data to the host device. Responding with a pattern;
If the command received by the host interface is an area release command for notifying the range in the logical disk of the storage area that is no longer used by the host device, the area in the array corresponding to the notified range In addition, the data pattern writing means of the storage device includes the step of writing the predetermined data pattern.
JP2010009456A 2010-01-19 2010-01-19 Storage apparatus and storage area management method in the storage apparatus Active JP4937362B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010009456A JP4937362B2 (en) 2010-01-19 2010-01-19 Storage apparatus and storage area management method in the storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010009456A JP4937362B2 (en) 2010-01-19 2010-01-19 Storage apparatus and storage area management method in the storage apparatus

Publications (2)

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

Family

ID=44537366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010009456A Active JP4937362B2 (en) 2010-01-19 2010-01-19 Storage apparatus and storage area management method in the storage apparatus

Country Status (1)

Country Link
JP (1) JP4937362B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014123183A (en) * 2012-12-20 2014-07-03 Fujitsu Ltd Storage device, area releasing program, and area releasing method
JP2014194664A (en) * 2013-03-28 2014-10-09 Fujitsu Ltd Storage device, allocation release control method, and allocation release control program
US9514041B2 (en) 2013-03-08 2016-12-06 Kabushiki Kaisha Toshiba Memory controller and memory system
US10353626B2 (en) 2016-02-03 2019-07-16 Samsung Electronics Co., Ltd. Buffer memory management method and write method using the same

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005216050A (en) * 2004-01-30 2005-08-11 Hitachi Ltd Storage system
JP2007249728A (en) * 2006-03-17 2007-09-27 Toshiba Corp Disk array device
JP2008146574A (en) * 2006-12-13 2008-06-26 Hitachi Ltd Storage controller and storage control method
JP2008217689A (en) * 2007-03-07 2008-09-18 Toshiba Corp Storage device unused physical area autonomous management function

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005216050A (en) * 2004-01-30 2005-08-11 Hitachi Ltd Storage system
JP2007249728A (en) * 2006-03-17 2007-09-27 Toshiba Corp Disk array device
JP2008146574A (en) * 2006-12-13 2008-06-26 Hitachi Ltd Storage controller and storage control method
JP2008217689A (en) * 2007-03-07 2008-09-18 Toshiba Corp Storage device unused physical area autonomous management function

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014123183A (en) * 2012-12-20 2014-07-03 Fujitsu Ltd Storage device, area releasing program, and area releasing method
US9514041B2 (en) 2013-03-08 2016-12-06 Kabushiki Kaisha Toshiba Memory controller and memory system
US10579267B2 (en) 2013-03-08 2020-03-03 Toshiba Memory Corporation Memory controller and memory system
JP2014194664A (en) * 2013-03-28 2014-10-09 Fujitsu Ltd Storage device, allocation release control method, and allocation release control program
US10353626B2 (en) 2016-02-03 2019-07-16 Samsung Electronics Co., Ltd. Buffer memory management method and write method using the same

Also Published As

Publication number Publication date
JP4937362B2 (en) 2012-05-23

Similar Documents

Publication Publication Date Title
US8832371B2 (en) Storage system with multiple flash memory packages and data control method therefor
JP5309043B2 (en) Storage system and method for duplicate data deletion in storage system
JP5104817B2 (en) Storage system, storage control apparatus and method
US7979663B2 (en) Storage apparatus having unused physical area autonomous management function
RU2661280C2 (en) Massive controller, solid state disk and data recording solid state disk control method
EP2631916A1 (en) Data deletion method and device
JP4464378B2 (en) Computer system, storage system and control method for saving storage area by collecting the same data
US20100262802A1 (en) Reclamation of Thin Provisioned Disk Storage
US10108359B2 (en) Method and system for efficient cache buffering in a system having parity arms to enable hardware acceleration
KR20100011698A (en) Solid state storage system for data merging and method of controlling the same
JP6459644B2 (en) Storage control device, control system, and control program
US10503424B2 (en) Storage system
JP2007156667A (en) Storage device and its capacity management method
JP6526235B2 (en) Data check method and storage system
CN108089822A (en) Management method, system, equipment and the storage medium of storage chip
CN103412822A (en) Operation method of non-volatile RAM, data operation method and relevant device
JP2013528868A (en) Multi-level port extension for port multiplier
EP3018573A1 (en) Disk array device, disk control device, solid state drive, disk control method, and recording medium
JP4937362B2 (en) Storage apparatus and storage area management method in the storage apparatus
CN111506269A (en) Disk storage space allocation method, device, equipment and storage medium
TW201225109A (en) Memory storage device, memory controller thereof, and method for programming data thereof
US10282116B2 (en) Method and system for hardware accelerated cache flush
US10162573B2 (en) Storage management system, storage management method, storage medium and information processing system
JP4734432B2 (en) Data storage system
CN109002255B (en) Memory system and method of operating the same

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120106

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120124

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120221

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

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4937362

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350