Method for allocating storage area to virtual volume
3 claims: 1 independent, 2 dependent
- 1制御部とディスク装置とを有して論理ユニットを提供するストレージシステムと、 前記論理ユニットを用いて仮想ボリュームを提供する仮想化装置と、 前記仮想ボリュームをファイルシステムとして用いる計算機と、 を有するシステムであって、 前記仮想化装置は、前記計算機と接続される入力ポートと、前記ストレージシステムと接続される出力ポートと、前記入力ポートと前記出力ポートとの間でデータを転送する転送部と、制御部と、アクセス変換テーブルと、を有し、 前記アクセス変換テーブルは、前記仮想ボリューム内の仮想領域に割り当てた実領域が存在する前記論理ユニットの識別子及び前記論理ユニット内のアドレスを記録し、 前記制御部は、 前記計算機からの所定のサイズを指定した要求に応じて前記仮想ボリュームを作成した後に作成完了通知を送信し、 前記仮想ボリュームを前記計算機に検出させるために、前記仮想ボリュームの識別子及び前記仮想ボリュームの未割り当ての範囲を含めた 前記所定の サイズを、 前記計算機の要求に応じて 前記計算機に送信し、 所定の指示に従って、前記制御部は前記仮想ボリュームのフォーマット処理として、前記ファイルシステム の複 数のメタデータ領域のそれぞれに、 前記論理ユニットの領域であって、 第一の領域サイズである実領域を割り当て、 前記制御部は、前記仮想ボリュームの前記識別子及び前記仮想ボリューム内の仮想アドレスを指定した第一の書き込み要求を受信し、 前記制御部は、前記計算機から、前記仮想ボリュームの前記識別子及び前記仮想ボリューム内の仮想アドレスを指定した第一の前記第一の書き込み要求を受信した 時に 、前記仮想ボリュームの前記識別子及び前記仮想アドレスが指定し た 所定の仮想領域に、前記論理ユニット内に存在する未使用な第二の領域サイズである実領域を 新規に 割り当て、割り当て結果に基いて前記アクセス変換テーブルを更新し、 前記制御部は、更新後の前記アクセス変換テーブルに基づいて、前記第一の書き込み要求を前記所定の領域に割り当てた実領域の論理ユニットの識別子及び仮想アドレスを指定した前記第二の書き込み要求に変換し、 前記転送部は、前記第二の書き込み要求を前記ストレージシステムに送信し、 前記第一の領域サイズは前記第二の領域サイズより小さい、 ことを特徴とするシステム。
- 2請求項1記載のシステムであって、 前記計算機は、前記仮想ボリューム内のジャーナル領域に、ファイルシステム内のファイル更新及び削除に伴って更新されたメタデータの複製を記録させる書き込み要求を送信し、 前記制御部は、前記ジャーナル領域を指定した書き込み要求を受信した場合、前記書き込み要求で書き込まれた前記更新されたメタデータを参照することで、前記ファイルのデータを格納していない仮想ボリューム内の領域を特定し、前記特定した仮想ボリューム内の領域に割り当てられた実領域を開放する、 ことを特徴としたシステム。
- 3請求項2記載のシステムであって、 前記制御部は、前記実領域の開放の前に、前記実領域に格納された他のファイルのデータを、前記論理ユニットの他の領域へ移動する、 ことを特徴としたシステム。
Independent claims3
124 paragraphs, as filed
The present invention relates to a technique for allocating a storage area of a storage device system to a computer.
Patent Document 1 discloses a switch that allows a plurality of storage areas of a plurality of storage device systems to be collectively accessed by a computer as one storage area. According to Patent Document 1, the switch is connected to a plurality of storage system and a host. The switch receives an access request from the host to an integrated logical unit composed of a plurality of storage areas (logical units) of a plurality of storage device systems. Then, the switch converts the received access request into an access request for the logical unit in which the data to be accessed is stored, and sends the converted access request to the storage device system having this logical unit.
On the other hand, Non-Patent Document 1 discloses a software technique for recognizing the expansion of the storage area on the computer side when the logical storage area allocated to the computer is expanded.
<patcit num="1"><text>Japanese Unexamined Patent Publication No. 2000-242434</text></patcit><nplcit num="1"><text>LVM HOWTO 9.9, [online], Linux online, [Search February 10, 2004], Internet <URL: http: //www.linux.org/docs/ ldp / howto / LVM-HOWTO / x592.html></text></nplcit>
<p> When increasing the size of the storage area allocated to the computer, as shown in Non-Patent Document 1, software is required for the computer to recognize the increase in the size of the storage area. Therefore, in a system in which a computer is connected to a storage system and the computer accesses a storage area in the storage system and uses the data stored in this storage area, it is assigned to the computer (that is, accessed from the computer). If you want to resize the storage area (possible), you need to have this software installed on your computer.</p><p> However, if multiple computers are connected to the storage system, it is necessary to add this software to all of the multiple computers, and if the types of multiple computers are different, it depends on the type of computer. You need to install the software. Furthermore, when the operating system used in the computer is upgraded, it is necessary to update the corresponding software accordingly. Therefore, installing software to make the computer recognize the increase in the size of the storage area requires a large management load and a high cost.</p><p> By the way, the size of the storage area allocated to the computer is increased because the amount of data handled by the computer increases and the storage capacity initially allocated is insufficient. Therefore, if a large storage area is allocated to the computer from the beginning, the storage capacity will not be insufficient and it is not necessary to increase the size of the storage area allocated to the computer on the way. You don't even have to have any software installed. However, in that case, if the computer does not use such a large amount of data, an unused area is generated in the storage area allocated to the computer, and the storage area is wasted.</p><p> Therefore, we disclose a system that can efficiently allocate a storage area to a computer.</p>
<p> The system has a virtualization device connected to a computer and a plurality of storage devices connected to the virtualization device. The virtualization device issues a notification to the effect that a virtual volume of a predetermined size has been allocated to the computer in response to a request from the computer. When an access request to a virtual volume is received from a computer, the virtualization device allocates a storage area existing in a plurality of storage devices to the virtual volume, and has a storage area in which the access request received from the computer is allocated to the virtual volume. It is converted into an access request addressed to the storage device, and the converted access request is transmitted to this storage device.</p>
<p> According to the present invention, the storage area can be efficiently allocated to the computer.</p>
Hereinafter, embodiments of the present invention will be described with reference to the drawings. The present invention is not limited to the embodiments described below.
FIG. 1 is a diagram showing a configuration example of a first embodiment of a system to which the present invention is applied.
The system has at least one host processor 12, at least one storage device 13, a virtualization switch 11, and a management console 14.
The host processor 12 is a calculator that uses the data stored in the storage device 13. The host processor 12 may be a file server having a function of providing the storage area provided by the virtualization switch 11 to other computers not connected to the virtualization switch 11.
The storage device 13 is a storage device or a storage device system. Here, the storage device refers to a single storage device such as a hard disk drive or a DVD drive, and the storage device system includes a control unit and a disk device such as one or more hard disk drives connected to the control unit. , The control unit shall refer to the storage subsystem that controls the input / output to each disk device. The storage device system may be a disk array system in which a plurality of hard disk drives have a RAID configuration.
The storage device 13 has at least one logical unit (hereinafter referred to as LU) 131. The LU131 is a logical storage area composed of a physical storage area included in the storage device 13. The LU131 is recognized as one logically independent storage device by a device connected to the storage device 13 such as the host processor 12.
The LU131 is composed of a plurality of partial logical storage areas (hereinafter referred to as "real areas") 132. Each of the real areas 132 also corresponds to the physical storage area of the storage device 13. The size of the real area 132 is arbitrary, and the real area 132 is an area having consecutive addresses.
The virtualization switch 11 is a device that is connected to another device (host processor 12, management console 14, or storage device 13) by a communication line or switch as shown in the figure, and can communicate with the other device. .. Further, the virtualization switch 11 manages one or a plurality of storage areas of one or a plurality of storage devices 13 connected to the virtualization switch 11 together as one storage area (one or a plurality of storage devices). It is a virtualization device (referred to as "virtualizing") to manage one or a plurality of storage areas possessed by the above as one storage area. When the virtualization switch 11 receives an access request for the virtualized storage area from the host processor 12, the virtualization switch 11 identifies the storage area in the storage device 13 corresponding to the virtualized storage area, and receives the received access request. Converts to an access access request for the identified storage area and sends the converted access request to the storage device 13 (receives the access request for the virtualized storage area and in the corresponding storage device 13). Processing an access request to a virtualized storage area by transmitting an access request to the storage area to the storage device 13 is referred to as "providing a virtualized storage area").
Protocols such as Fiber Channel are used in the communication lines and switches used between the virtualization switch 11 and the host processor 12 and between the virtualization switch 11 and the storage device 13. However, the communication line or protocol used may be the communication line or protocol used in a local area network or the like.
The virtualization switch 11 is connected between the host processor 12 and the storage device 13, and has a function of transferring a command issued by the host processor 12 to the storage device 13. Further, the virtual storage area provided by the virtualization switch 11 to the host processor 12 (that is, the storage area virtualized by the virtualization switch) is hereinafter referred to as a virtual volume 100.
The virtual volume 100 is associated with at least one real area 132 by the virtualization switch 11. The virtualization switch 11 can provide a plurality of virtual volumes 100 to the host processor 12 and the like. Each of the virtual volumes 100 is given a unique identifier (hereinafter, "virtual volume identifier") in the virtualization switch 11 for identifying the virtual volume. Further, a continuous address (hereinafter, also referred to as a virtual address) is attached to the storage area of each virtual volume 100. Instead of directly specifying the real area 132 in the LU 131 of the storage device 13, the host processor 12 issues an access request by specifying the virtual volume identifier and the virtual address indicating the location in the virtual volume 100. The virtualization switch identifies the real area 132 in the LU 131 corresponding to the virtual volume identifier and the virtual address, and issues an access request to the specified real area 132. Therefore, the host processor 12 can use the data stored in the real area 132 of the storage device 13 by using the virtual volume identifier and the virtual address indicating the storage area in the virtual volume 100.
The management console 14 is a calculator used by the system administrator to create (set) the virtual volume 100, and includes a display device and an input device. The management console 14 is connected to the virtualization switch 11 via a network.
FIG. 2 is a diagram showing an example of the internal configuration of the virtualization switch 11.
The virtualization switch 11 has an input port 240, an output port 250, a transfer unit 230, a control unit 210, and a storage unit 220.
The input port 240 is a port connected to a communication line for the virtualization switch 11 to communicate with the host processor 12. The output port 250 is a port connected to a communication line for the virtualization switch 11 to communicate with the storage device 13. The devices constituting the input port 240 and the output port 250 may be the same. In this case, the user chooses which port to use as the input port or the output port. The virtual switch 11 has one or more input ports 240 and one or more output ports 250, respectively.
The transfer unit 230 has a memory, and holds the transfer information table 231 in the memory. The transfer information table 231 shows the correspondence between the input port 240 and the host processor 12 capable of communicating with the virtualization switch 11 via the input port 240, and virtualization via the output port 250 and the output port 250. Information about the correspondence between the switch 11 and the communicable storage device 13 is stored.
The transfer unit 230 refers to the transfer information table 231 and receives an input / output request received from the host processor 12 by the input port 240 as an output port used for communication between the request destination storage device 13 and the virtualization switch 11. Transfer to 250. Further, the transfer unit 230 transfers the response information and data received from the storage device 13 by the output port 250 to the input port 240 used for communication between the host processor 12 and the virtualization switch 11 to receive the data and the like. To do. However, if the input / output request received from the host processor 12 is an input / output request for the virtual volume 100, the input / output request is sent to the storage device 13 selected as a result of the control unit 210 executing the access conversion program 212 described later. The transfer unit 230 transfers the input / output request to the output port 250 used for communication with the storage device 13.
The control unit 210 has a processor and a memory, and each program of the virtual volume definition program 211, the access conversion program 212, and the allocation processing program 213 is stored in the memory. These programs are executed by the processor of the control unit 210.
The storage unit 220 stores the virtual volume management table 221, the real area management table 222, and the access conversion table 224.
The access translation table 224 exists for each virtual volume 100 provided by the virtualization switch 11 to the host processor 12. The access conversion table 224 holds one or more entries 331 and entry 332 that registers the virtual volume identifier of the corresponding virtual volume 100. Each entry 331 includes a virtual address range indicating a storage area in the virtual volume 100, an LU address which is an identifier specifying LU131 to which the real area 132 corresponding to the virtual address range belongs, and LU131 of the real area 132. It is registered in association with the address in the LU indicating the position in the inside. That is, the access conversion table 224 holds the correspondence information between the virtual address for designating the storage area in the virtual volume 100 and the address for designating the storage area in the storage device 13.
If there is a storage area in the virtual volume 100 to which the real area 132 is not allocated, the virtual address range of the storage area and the real area 132 are allocated as LU addresses in the entry 331 corresponding to the storage area. "-1" indicating that the real area 132 is not allocated, and "-1" indicating that the real area 132 is not allocated as the address in the LU are registered. The access conversion table 224 is updated by the control unit 210 when the configuration of the storage area of the virtual volume 100 is changed, that is, when the real area 132 associated with the storage area in the virtual volume 100 is changed. To. The control unit 210 executes the access conversion program 212, refers to the access conversion table 224, and makes an input / output request for the virtual volume 100 received from the host processor 12 to the LU 131 of the corresponding storage device 13. Convert to. Further, the control unit 210 notifies the transfer unit 230 of the storage device 13 having the LU 131 which is the target of the converted input / output request. Therefore, the transfer unit 230 refers to the transfer information table 231 and transfers the converted input / output request to the output port 250 connected to the notified storage device 13.
If the LU131 corresponding to the storage area in the virtual volume 100 specified by the input / output request received from the host processor does not exist (that is, the real area is still allocated to the storage area in the virtual volume 100). (When "-1" is registered as the LU address and the address in the LU in the entry 331 of the access conversion table 224), the control unit 210 executes the virtual volume definition program 211 to execute the virtual volume 100. Execute definition change processing.
For performance improvement, the virtualization switch 11 may have an access conversion table 224 and an access conversion program 212 for each input port 240. The real area management table 222 exists for each LU 131. The real area management table 222 is a table used to manage the real area 132 included in the LU 131. The storage device ID 321 and the LU address 322 and the real area list 324 are stored in each real area management table 222.
The storage device ID 321 is an identifier indicating the storage device 13 that holds the LU 131. LU address 322 is an identifier of the LU131.
The real region list 324 has at least one entry 325. Each entry 325 is provided corresponding to each real area 132 constituting the LU 131, and has an item for registering information of the real area ID, the size of the real area, and the virtual volume identifier. The real area ID is an identifier for identifying the real area 132 corresponding to the entry 325, and the size is the size of the real area 132. The virtual volume identifier registered in entry 325 is a virtual volume identifier for identifying the virtual volume 100 to which the real area 132 is allocated. The entries 325 in the real area list 324 are arranged in the address order of the real area 132.
In this embodiment, since it is assumed that the size of the real area 132 is fixed, it is not necessary to include the item for registering the size of the real area 132 in the entry 325. Further, for the unused real area 132, null indicating that it is unused is registered in the item for registering the virtual volume identifier of entry 325.
In this way, the real area management table 222 holds information indicating whether or not each real area 132 belonging to LU131 is used as the virtual volume 100, and the virtualization switch 11 newly adds the virtualization switch 11 to the virtual volume 100. Used when selecting the real area 132 to allocate.
The real area management table 222 is created based on the instruction of the administrator via the management terminal 14 at the timing when the storage device 13 is connected to the virtualization switch 11. Further, at this time, the storage capacity of the LU 131 and the real area 132 constituting the LU 131 is determined. When the real area management table 222 is created, for all entries 325, an identifier uniquely determined in the virtualization switch 11 is written in the real area ID, and null is set in the virtual volume identifier. To.
The virtual volume management table 221 exists for each virtual volume 100. Each virtual volume management table 221 stores an identifier entry 311 and a real area list 315. The virtual volume identifier of the virtual volume 100 corresponding to the virtual volume management table 221 is registered in the identifier entry 311. The real area list 315 is a list showing which real area 132 is allocated to the virtual volume 100 corresponding to the virtual volume management table 221. In the real area list 315, entries 317 of the real area 132 corresponding to the virtual address on the virtual volume 100 are arranged, and each entry 317 stores the real area ID of the real area 132 corresponding to the virtual address. .. In the virtual volume 100, the entry 317 corresponding to the storage area to which the real area 132 is not allocated stores a null value indicating free space instead of the valid real area ID 317.
In this way, the virtual volume management table 221 holds information indicating which real area 132 the storage area of the virtual volume 100 is associated with, and selects the real area 132 that can be released by the virtualization switch 11. Used when doing.
Hereinafter, the storage area allocation process performed by the virtualization switch 11 in the present embodiment will be described.
The control unit 210 creates or changes the definition of the virtual volume 100 by executing the virtual volume definition program 211. When the control unit 210 receives a request for creating the virtual volume 100 from the system administrator via the management console 14, the control unit 210 executes the virtual volume definition program 211 to newly create the virtual volume management table 221 and the access conversion table 224. In this case, the control unit 210 generates a virtual volume identifier that does not overlap with the other virtual volume 100 that has already been created, stores this in the identifier entry 311 of the virtual volume management table 221 and stores each in the real area list 315. Initialize real-world list 315 by setting entry 317 to an empty value (null value). As described above, immediately after the generation of the virtual volume 100, the real area 132 is not associated with the virtual volume 100. Therefore, at this time, the control unit 210 also registers the virtual volume identifier of the virtual volume 100 in the entry 332 for the access conversion table 224 corresponding to the virtual volume 100 defined by the newly created virtual volume management table 221. However, an empty value ("-1") is registered in the LU address and the address in the LU of entry 331, and the access conversion table 224 is initialized.
If the access volume management table 221 and the access conversion table 224 are initialized in this way, when the host processor 12 is connected to the virtualization switch 11 and issues a command to detect the storage area to the virtualization switch 11 The control unit 210 of the virtualization switch 11 notifies the information indicating that the virtual volume 100 of a predetermined size can be accessed from the host processor 12. The information notified by the control unit 210 to the host processor 12 includes the virtual volume identifier and the size (predetermined size) of the virtual volume. However, the real area 132, which is a logical storage area of the storage device 13, is not actually allocated to the virtual volume 100. After that, the virtualization switch 11 allocates the real area 132 to the virtual volume 100 at the timing when the data write request is received from the host processor 12 or the like. As a result, when the computer actually issues an access request to the storage device, the real area 132 can be allocated to the computer. Therefore, it is necessary to allocate the real area 132 to the computer in advance with a sufficient capacity. Therefore, it is possible to eliminate the waste of the storage area allocated to the computer.
When allocating the real area 132 to the virtual volume 100, the control unit 210 changes the virtual volume management table 221 according to a request such as a data write request of the host processor 12. In this case, the control unit 210 updates the access conversion table 224 after allocating the real area 132 to the virtual volume 100. Actually, when the destination of the input / output request received from the input port 240 is the virtual volume 100, the transfer unit 230 transfers the input / output request to the control unit 210. The control unit 210 executes the following processing shown in FIG. 3 for the transferred input / output request. After the processing of FIG. 3 is completed, the control unit 210 transmits the converted input / output request request destination information to the transfer unit 230, and the transfer unit 230 transfers the input / output request to each storage device 13 based on the information. To do.
FIG. 3 is a flowchart showing an example of processing performed when the control unit 210 receives an input / output request from the host processor 12.
First, the control unit 210 determines whether the input / output request for the virtual volume 100 received from the host processor 12 is a write request (step 2001).
When the input / output request from the host processor 12 is a write request, the control unit 210 determines in the access conversion table 224 whether or not the real area 132 is associated with the virtual address of the virtual volume 100 specified in the write request. Confirm (step 2002).
When the real area 132 corresponding to the virtual address of the specified virtual volume 100 is not registered in the access translation table 224 (that is, the access translation table 224 corresponding to the virtual volume identifier and virtual address included in the I / O request) When "-1" is registered as the LU address and the LU address in entry 331), the control unit 210 executes the virtual volume definition program 211 to change the definition of the virtual volume 100.
Specifically, the control unit 210 allocates the real area 132 to the virtual address range of the virtual volume specified in the I / O request. For this purpose, the control unit 210 first searches the real area management table 222, and the unused real area 132 (that is, the real area in which a null value is registered as a virtual volume identifier in the entry 325 of the real area management table 222). Find out 132). Then, the control unit 210 allocates the found unused real area 132 to the storage area corresponding to the virtual address of the virtual volume 100 specified in the input / output request. That is, the control unit registers the virtual volume identifier included in the I / O request in the entry 325 corresponding to the unused real area 132 in the real area management table 222, and the virtual volume included in the I / O request. Register the real area ID of the found unused real area 132 in the entry 315 of the virtual volume management table 221 corresponding to the identifier. Further, the control unit sets the LU address and the LU address of the unused real area 132 found in the entry 331 corresponding to the virtual volume identifier and the virtual address included in the I / O request in the access conversion table 224. register.
If the stored capacity of the searched unused real area 132 is insufficient for the virtual address area of the virtual volume 100 specified in the I / O request, the control unit 210 is further free (unused). The real area 132 is searched, and the search is performed until the virtual address area is allocated (step 2006).
After the processing of step 2006, or when it is determined that the real area 132 corresponding to the virtual address of the virtual volume specified in the I / O request in step 2002 is registered, or it is not a write request in step 2001. If determined, the control unit 210 refers to the access conversion table 224 and sends an I / O request for the virtual address of the virtual volume 100 received from the host processor 12 to the real area 132 of LU131 of the corresponding storage device 13. Converted to the input / output request of (step 2009), and the process is completed.
The control unit 210 passes the converted input / output request to the transfer unit 230, and the transfer unit 230 refers to the transfer information table 231 based on the storage device 13 which is the destination of the converted input / output request. The converted input / output request is transmitted to the storage device 13 via the output port 250.
As described above, by the process of step 2006 in FIG. 3, when data is written to the virtual volume 100, the real area 132 corresponding to the storage area on the virtual volume to which the data is written can be actually allocated to the virtual volume 100. .. Therefore, the computer recognizes that a storage area (virtual volume) having a large capacity is allocated from the initial setting, but in reality, it is sufficient to allocate the real area 132 of the capacity required by the computer. Efficient storage allocation is possible.
Next, a second embodiment of the present invention will be described.
In the first embodiment, after the real area 132 is allocated to the virtual volume, the case where the data stored in the real area 132 is no longer used is not considered. Therefore, in the second embodiment, in addition to the first embodiment, it is considered that the allocation of the real area 132 that is no longer used to the virtual volume 100 is stopped (hereinafter referred to as "release").
In the present embodiment, in addition to the configuration of the first embodiment, the defragmentation processing program 214 is stored in the memory of the control unit 210. The control unit 210 receives the defragmentation processing start instruction from the system administrator through the management console 14, executes the defragmentation processing program 214, and rearranges the data such as files stored in the virtual volume 100.
Specifically, the control unit 210 is a virtual device that indicates the management information of the file system stored in the storage device 13 (where the data unit of each file stored in the file system is located on the virtual volume 100). (A set of addresses) is read, and based on the management information of the read file system, the data stored in the real area 132 is stored in the continuous storage area in the virtual volume as much as possible. The layout is changed by copying to the free area inside and rewriting the virtual address stored in the management information from the value indicating the copy source to the value indicating the copy destination. In order to prevent data corruption due to this relocation process, in the present embodiment, the system administrator needs to unmount the file system that uses the virtual volume 100 before the defragmentation process start instruction.
After that, the control unit 210 identifies the virtual address range of the storage area in which the allocation of the real area 132 is no longer necessary among the storage areas in the virtual volume 100, and determines the real area 132 corresponding to the specified virtual address range. Since the storage area on the virtual volume 100 in which the data part of all files is stored can be known from the management information of the file system to be released (that is, the management information itself is stored in a storage area other than those storage areas. Searches for the real area 132 allocated to the storage area on the virtual volume 100 other than the storage area on the virtual volume 100, and releases the real area 132 identified by the search). At this time, the control unit 210 registers a null value in the entry 317 in which the real area ID of the real area 132 to be released is registered in the virtual volume management table 221 for the virtual volume 100, and the control unit 210 further registers the null value. , In the access conversion table 224 related to the virtual volume 100, the LU address and the LU address are "-1" in the entry 331 in which the LU address indicating the position of the released real area 132 in the LU 131 is registered. To register. The control unit also updates the real area management table 222 and registers a null value as the virtual volume identifier of entry 325 in which the real area ID of the real area 132 to be released is registered.
FIG. 4 is a diagram showing a concept of a process for specifying a real area 132 that can be released without being allocated to a virtual volume in the second embodiment.
FIG. 4 illustrates the arrangement of files in the virtual volume 100 and the correspondence between the virtual volume 100 and the real area 132, and FIG. 4 (1) shows an example before the defragmentation processing program 214 of the control unit 210 is executed. , FIG. 4 (2) shows an example after the defragmentation program 214 is executed.
In FIG. 4 (1), three files (file A, file B, and file C) are stored in the storage area of the virtual volume 100 in the illustrated range, and the data of the file A is in the virtual volume 100. The data of the file B is stored in the storage area 501b, and the data of the file C is stored in the storage area 501c. On the other hand, two real areas 132 (real area 132-1 and real area 132-2) are associated with the storage area in the illustrated range of the virtual volume 100.
Here, the control unit 210 executes the defragmentation processing program 214 to rearrange these files so that the files A, B, and C are stored in the continuous storage area in the virtual volume 100 in the order of addresses.
As a result, after the relocation process, as shown in FIG. 4 (2), the data of the file A is stored in the storage area 501a1 and the storage area 501a1 in order from the left side of the storage area of the virtual volume 100 (assuming that the left side has a smaller address). The data of the file B is continuously arranged in the storage area 501b and the data of the file C is continuously arranged in the storage area 501c in the storage area 501a2. Then, a large amount of free space appears behind the storage area 501c. It is not necessary to allocate the real area 132 to the free area on this virtual volume. Therefore, in the example of FIG. 4 (2), the real area 132-2 corresponding to the free area on the virtual volume can be released.
The control unit 210 searches the virtual volume management table 221 for the real area 132 corresponding to the free area on the virtual volume that appears after the execution of the defragmentation processing program 214. That is, the control unit 210 searches the virtual volume management table 211 to find the real area corresponding to the virtual address range of the free area. Then, the control unit 210 releases the found real area 132. Specifically, the control unit 210 deletes the real area ID of the real area 132 to be released from the virtual volume management table 221 and registers a null value in the entry 317 in which this real area ID is registered, and the real area management table. Delete the virtual volume identifier associated with the real area 132 released in 222 and set a null value in entry 325 where this virtual volume identifier was registered. Further, the control unit 210 registers the identification information (LU address) of the LU 131 to which the released real area 132 belongs and the position information (in the LU) of the released real area 132 in the LU 131 registered in the access conversion table 224. Address) Delete the information and set "-1" instead.
Next, a third embodiment of the present invention will be described.
In the first embodiment, the size of the real area 132 allocated to the virtual volume 100 was fixed. However, in a predetermined process, for example, a data write request based on a format process, a write process that uses a relatively small amount of storage area occurs. In this case as well, if the fixed size real area 132 is allocated to the virtual volume 100 as in the other embodiments, the allocated storage area is wasted. Therefore, in the present embodiment, the real area 132 having a size corresponding to the processing content is allocated to the virtual volume 100.
In this embodiment, in addition to the configuration of the first embodiment, the format processing program 215 is stored in the memory of the control unit 210. In addition, entry 317 of the virtual volume management table 221 contains information indicating the size of the corresponding real area 132. Further, the size of the real area 132 included in the entry 325 of the real area management table 222 is not omitted in the present embodiment unlike the first embodiment. The size is included in the entry 317 of the virtual volume management table 221 and the entry 325 of the real area management table 222 in order to increase the allocation efficiency by making the size of the real area 132 variable as described above.
By executing the format processing program 215, the control unit 210 initializes the file system that uses the virtual volume 100 instead of the host processor 12, that is, erases all the files and directories on the file system, and newly files and new files. Make the directory ready for creation. At this time, the control unit 210 issues an input / output request for writing management data called metadata to the virtual volume 100 to itself. The control unit 210 includes a special value indicating the control unit 210 itself, specifically 0xFFFF00, in the source address (specifically, the Port ID of Fiber Channel) of this input / output request. The size of the metadata written at this time is not so large, but since the metadata is written to the storage area of the virtual volume 100 at regular intervals, if the size of the virtual volume 100 is large, a large number of metadata can be stored in one virtual volume. Is written at regular storage space intervals. Therefore, if a real area 132 larger than the metadata size is allocated to the virtual volume each time metadata is written to the virtual volume, an unused area in which no data is written is included in the real area 132 allocated to the virtual volume. Occurs, and the allocation efficiency of the real area 132 decreases. The reason why the size of the real region 132 is variable is to prevent this decrease in allocation efficiency.
The format processing program 215 is executed based on an instruction from the management terminal 14 such as an administrator or based on an instruction from the host processor 12.
FIG. 5 is a flowchart showing an example of processing of the control unit 210 when an input / output request is received from the host processor 12 or when the control unit 210 itself generates an input / output request in the third embodiment. ..
In this processing procedure, in addition to the processing procedure shown in FIG. 3 of the first embodiment, a process of determining whether the input / output request is an input / output request based on the format process (step 2003), and an input based on the format process. In the case of an output request, a process of changing the size of the real area 132 allocated to the virtual volume 100 (step 2004) is included. Since the processing of the other steps is the same as that of the first embodiment, it will not be described here.
In the control unit 210, the input / output request to be processed is a write request (in the case of Y in step 2001), and the real area 132 corresponding to the virtual address of the virtual volume 100 specified in the input / output request is the access conversion table 224. If it is not registered in (in the case of N in step 2002), it is determined whether or not the input / output request is an input / output request based on format processing.
Specifically, in the control unit 210, when the input / output request is generated by the control unit 210 itself by executing the format processing program 215 (the source address of the input / output request is a value indicating the control unit 210 itself (the value indicating the control unit 210 itself). If it is 0xFFFF00)), it is determined that it is an I / O request based on formatting processing, and if it is an I / O request received from the host processor 12, it is determined that it is not an I / O request based on formatting processing (if it is 0xFFFF00). Step 2003).
When the input / output request to be processed is an input / output request based on format processing, the control unit 210 sets the size of the real area 132 allocated to the virtual volume 100 to the virtual volume 100 during other data write processing. Specify 1/32 of the size of the real area 132 to be allocated to. This divisor can be arbitrarily determined by the system administrator. Further, the control unit 210 may directly specify the size of the real area 132 to be allocated to the virtual volume 100 when there is an input / output request based on the format processing.
Further, the control unit 210 searches the real area management table 222 for the unused real area 132 as in step 2006 shown in FIG. At that time, if there is no free real area 132 of the specified size, the control unit 210 generates a process of dividing the larger real area 132 into two, and the unused real area 132 of the specified size is generated. Repeat until done. When the control unit 210 finds an unused real area 132 of the specified size, it allocates the real area 132 to the virtual volume, and accesses the access conversion table 224 and the real area in the same manner as described in step 2006 of FIG. Update management table 222 and virtual volume management table 221.
FIG. 6 is a diagram showing an outline of the format processing in the third embodiment.
FIG. 6 shows the arrangement of the metadata of the virtual volume 100 and the correspondence with the real area 132. Assuming that the size of the real area 132 is fixed in FIG. 6 (1), FIG. 6 (2) shows. The case where the size of the real area 132 is variable is shown.
In both FIG. 6 (1) and FIG. 6 (2), two metadata 502s are written to the virtual volume 100.
Since the size of the real area 132 is fixed in FIG. 6 (1), when the formatting process is executed, the control unit 210 sends the real area 132-1 to the second real area 132-1 in order to write the first metadata. Real area 132-2 needs to be allocated to each virtual volume to write the metadata. As shown in FIG. 6 (1), when the size of the metadata 502 is smaller than the size of the real area 132, the free area in which the data is not actually written is not actually written in the real area allocated to the virtual volume 100. Occurs, which hinders the efficient use of storage space.
On the other hand, in FIG. 6 (2), the size of the real area 132 is not limited to one and is variable. Therefore, when the formatting process is executed, the real area of FIG. 6 (1) is to be written in order to write the first metadata. The smaller real area 132-1 is allocated to the virtual volume 100 to write the second metadata, as is the smaller real area 132-2. Then, for the other parts of the virtual volume 100, the real area 132-3 and the real area 132-4 may be allocated when the data write request is actually issued from the host processor. Therefore, as compared with the case of FIG. 6 (1), a free area is less likely to occur in the real area allocated to the virtual volume.
In this way, by reducing the size of the real area 132 allocated to the virtual volume 100 in step 2004 of FIG. 5, the probability that an unused free storage area will occur in the real area 132 allocated to the virtual volume 100 can be obtained. It can be made smaller and the storage area can be allocated efficiently.
Next, a fourth embodiment of the present invention will be described.
In the present embodiment, as in the second embodiment, the control unit 210 searches for and releases the releasable real area 132 among the real areas 132 once allocated to the virtual volume 100. However, in order to release the real area, in this embodiment, the control unit 210 uses the log information in the journal file system.
In this embodiment, the host processor 12 uses a journal file system. Further, in the present embodiment, in addition to the configuration of the first embodiment, the journal analysis program 216 is stored in the memory of the control unit 210, and the entry 318 and the meta that register the virtual address range of the journal area in the virtual volume management table 221. Contains entry 319 to register a copy of the data.
In the present embodiment, the control unit 210 executes the journal analysis program 216 to analyze the information written in the journal area arranged in the virtual volume 100, and when there is a real area 132 that can be released, the real area 132 Release process.
The entry 318 in the virtual volume management table 221 in which the virtual address range of the journal area is registered is referred to by the control unit 210 in order to determine whether the I / O request is a write request to the journal area. If the virtual volume 100 is not formatted as a journal file system, the virtual address range entry 318 of the journal area in the virtual volume management table 221 is empty (that is, the entry 318 has a null value registered). When virtual volume 100 is initialized as a journal file system, the administrator uses the management console 14 to enter the virtual address range in the virtual volume in which the journal of the journal file system is stored, entry 318 in virtual volume management table 221. Write to. The virtual address range in the virtual volume in which the journal is stored is virtualized by executing the format program of the journal file system (the format program is stored in the memory of the control unit 210) in the control unit 210. It may be written to entry 318 of volume management table 211.
The metadata replication entry 319 in the virtual volume management table 211 is used by the control unit 210 to save a metadata replication stored in the virtual volume 100.
FIG. 7 is a flowchart showing an example of processing executed by the control unit 210 that has received the input / output request in the fourth embodiment.
In this process, in addition to the process shown in FIG. 3 of the first embodiment, the process of determining whether or not the input / output request is written to the journal area (step 2007) and the release of the releasable real area 132 are performed. The process to be performed (step 2008) is performed by the control unit 210.
In step 2007, the control unit 210 determines whether or not the write request to be processed is a write request to the journal area. At this time, the control unit 210 makes a write request in the journal area based on whether or not the write destination address included in the write request is included in the virtual address range registered in the entry 318 of the virtual volume management table 221. Judge whether it is a write request to. If the write-destination address falls within the virtual address range registered in entry 318 of the virtual volume management table 221, the write request is a write request to the journal area, so the process of the journal analysis program 216, that is, step 2008 is performed. ..
In step 2008, the control unit 210 executes the journal analysis program 216 to analyze the information written in the journal area. The information written to the journal area is specifically an offset (within the metadata) of a part of the metadata and the entire metadata of the part of the metadata. Then, the control unit 210 constructs metadata based on the information written in the journal area and stores it in the entry 319 of the virtual volume management table 221.
The metadata contains information about the correspondence between the file on the file system and the virtual address of the storage area on the virtual volume where the file is stored. Therefore, the control unit 210 can identify the virtual address of the storage area in the virtual volume in which the file is not stored by referring to the metadata. Then, when the control unit 210 specifies the virtual address range of the storage area on the virtual volume in which the file is not stored (that is, it is not necessary to allocate the real area 132), the virtual volume is based on the specified virtual address range. The management table 221 is searched and the real area 132 corresponding to the virtual address range is specified. Then, the virtual volume management table 221, the access conversion table 224, and the real area management table 222 are updated in order to release the specified real area 132. Since the update processing of the virtual volume management table 211, the access conversion table 224, and the real area management table 222 is the same as that of the second embodiment, the description thereof will be omitted.
FIG. 8 is a diagram showing an outline of the release process of the real region 132 in the fourth embodiment.
FIG. 8 shows the journal area, metadata, file arrangement in the virtual volume 100, and the correspondence between the virtual volume 100 and the real area 132.
FIG. 8 (1) shows the state before the size of the file 501 on the journal file system is reduced, and FIG. 8 (2) shows the state after the file 501 is updated and the file size is reduced.
If the size of file 501 is reduced by the update, the metadata 502 that manages the reduced file 501 is updated by the host processor 12 when the file is updated. Prior to that, the host processor 12 writes information to the journal area 503 in the virtual volume 100 in order to record the processing contents as a journal log. Since the contents of the metadata 502 are also written in the journal area 503, if the metadata 502 written in the journal area 503 is read, the control unit 210 updates the file 501 from the read metadata contents and resizes the file 501. Is reduced, and it can be seen that the updated file is stored in the storage area shown in Fig. 8 (2).
As a result, in the case of FIG. 8 (2), it can be seen that the storage area on the virtual volume 100 corresponding to the real area 132-4 becomes free, so the control unit 210 uses the virtual volume management table 211 to store this storage area. It can be specified that the real area 132-4 corresponding to the area can be released.
In the metadata 502, information indicating which storage area in the virtual volume 100 is stored for each of all the files 501 in the file system is registered. Therefore, the control unit 210 can determine the storage area in the free state of the storage area in the virtual volume 100 from the information registered in the metadata 502.
Further, when the data is written to the journal area 503, the control unit 210 saves the latest metadata constructed from the data written in the journal area 503 in the entry 319 in the virtual volume management table 221 and saves it in the entry 319. Release the real area 132-4 by referring to the latest metadata.
As described above, (1) reduction of file size by updating file 501, (2) writing of information to journal area 503 due to file update, (3) latest based on data written to journal area 503. The generation of metadata, the update of entry 319 of the virtual volume management table 211 with the latest generated metadata, and (4) the release of the real area 132-4 will be performed in this order.
The writing of the metadata 502 by the host processor 12 is performed asynchronously with the processing of the control unit 210 after the writing of the information to the journal area 503. Therefore, in the present embodiment, the control unit 210 does not read the metadata 502 written to the virtual volume 100 by the host processor, but instead is generated from the data written to the journal area 503 and is an entry in the virtual volume management table 211. Use the metadata stored in 319.
In the fourth embodiment described above, the case where the file size is reduced by updating the file has been described as an example, but the same applies when the real area 132 can be released by deleting the file 501. The real area 132 can be released by the method of. Even when the file 501 is deleted, the contents (metadata) of the deletion process are recorded in the journal area, so that the control unit 210 can release the real area 132 in the same manner as the above-mentioned process. it can.
In this way, the control unit 210 can release the real area 132 corresponding to the storage area in which the data is not actually stored in the storage area in the virtual volume 100.
Next, a fifth embodiment of the present invention will be described.
In the present embodiment, the defragmentation processing program 214, the format processing program 215, and the like executed by the virtualization switch 11 in the second and third embodiments described above are executed by a dedicated computer.
In the present embodiment, the dedicated server 15 which is a computer connected to the virtualization switch 11 is added to the configuration of the first embodiment shown in FIG. The dedicated server 15 executes the defragmentation processing program 214 and the format processing program 215 on behalf of the control unit 210. The processing capacity and memory capacity of the control unit 210 are limited, and the number of virtual volumes 100 and the types of file systems supported are limited. Therefore, the dedicated server 15 takes over the defragmentation processing and formatting processing.
Therefore, in the fifth embodiment, the defragmenter processing program 214 and the format processing program 215 described in the above-described embodiment are not stored in the memory of the control unit 210 of the virtualization switch 11, and instead, they are virtual. The server linkage program 217, which is a program executed for the control unit 210 to control the communication between the dedicated server 15 connected to the virtualization switch 11 and the virtualization switch 11, is stored in the memory.
When performing defragmentation processing, the control unit 210 executes the server linkage program 217 instead of executing the defragmentation processing program 214, sends a defragmentation processing start request to the dedicated server 15, and the dedicated server 15 on the virtual volume 100. Receive a list of free storage areas in. Next, the control unit 210 searches the virtual volume management table 221 to identify the corresponding real area 132 from the list of the vacant storage areas, and releases the specified real area 132.
When performing the format processing, the control unit 210 executes the server linkage program 217 instead of executing the format processing program 215, and sends a format processing start request to the dedicated server 15. After that, the processing of the control unit 210 is the same as that of the third embodiment.
As described above, in the present embodiment, the processing load of the virtualization switch 11 can be lightened by executing the defragmentation process, the format process, and the like on the dedicated server 15, so that the virtual volume 100 managed by the virtualization switch 11 can be reduced. You can increase the number and types of file systems that the virtualization switch 11 can support.
A sixth embodiment of the present invention will be described with reference to FIGS. 9 to 10.
The present embodiment differs from the first embodiment in that the virtualization switch 11 reports the total size of the unused real area 132 to the host processor 12. This is due to the following reasons.
In the present invention, when the virtual volume 100 is created or started to be used, the host processor 12 is notified of information indicating that a storage area (virtual volume 100) of a predetermined size has been allocated to the host processor 12 and has become available. However, in reality, the real area 132 is not allocated to the entire virtual volume 100 allocated to the host processor. Therefore, even if an attempt is made to newly allocate the real area 132 to the virtual volume 100 when a write request is received from the host processor later, the unused real area 132 is insufficient and the real area 132 of a sufficient size is used. It may not be allocated to virtual volume 100.
Therefore, in the present embodiment, the administrator can check the total size of the free (unused) real area 132 that can be allocated, and the storage device 13 is added to the virtual volume 100. It is possible to avoid the situation where the free real area 132 becomes insufficient when the area 132 is allocated.
FIG. 9 shows an example of the free space management table 225 that the virtualization switch 11 has in the storage unit 220.
The free space management table 225 is a table that lists the virtual volume identifier 332 and the free space 226. The free space 226 is the sum of the sizes of the free (ie, unused) real area 132 that can be allocated to the virtual volume 100 identified by the paired virtual volume identifier 332. The free space 226 is set individually by the system administrator. Even if the total size of all free real areas 132 registered in the real area management table 222 is equally divided by the total number of virtual volumes 100, the free space 226 of the free space management table 225 is set. Alternatively, the free space 226 may be set according to the distribution ratio of the free real area 132 to each virtual volume 100 set by the system administrator, and the total of the free space 226 is registered in the real area management table 222. As long as the total size of all free real areas 132 is not exceeded, the method of setting the free space 226 of each virtual volume 100 may be arbitrary.
This free space management table 225 can be referred to by the host processor 12 as a special virtual volume (hereinafter referred to as a free space management virtual volume), and as the virtual volume identifier, the virtual volume identifier assigned to the virtual volume 100. A virtual volume identifier different from the above (hereinafter referred to as a free space management virtual volume identifier) is assigned. The host processor uses a command in the same format as a normal I / O request, specifies the free space management virtual volume identifier, and sends a read request for the free space management table 255 to the virtualization switch. Upon receiving this, the virtualization switch returns the contents of the free space management table 225.
The free space management virtual volume identifier is written directly to the free space display program described later, or is written by the system administrator to the configuration file on the host processor referenced by the free space display program.
If the virtualization switch 11 and the host processor 12 can communicate with each other by other communication means such as LAN, the host processor 12 may read the free space management table 255 by a method according to the communication means.
FIG. 10 is a flowchart showing a procedure of processing performed when the control unit 210 receives an input / output request from the host processor 12.
Unlike FIG. 3, in FIG. 10, the control unit 210 executes step 2010 instead of executing step 2006. In step 2010, the control unit 210 executes the virtual volume definition program 211 to execute the definition change process of the virtual volume 100 and further update the free space management table 225 in the same manner as in step 2006 of FIG.
Specifically, in addition to the process of step 2006, the control unit 210 searches the free space management table 225 to find the virtual volume identifier 332 of the virtual volume 100 that is the target of the write request. Then, the control unit 210 subtracts the total size of the real area 132 allocated to the virtual volume in step 2010 from the value of the free space 226 corresponding to the virtual volume identifier 332, and writes the value in the free space 226. return.
On the other hand, the host processor 12 stores the free space display program in the built-in memory. The CPU built into the host processor 12 executes a free space display program to display to the administrator the amount of real space that can be allocated to the virtual volume 100 used by the host processor 12 in the future. As this "capacity of the real area that can be allocated in the future", the value of the free space 226 of the virtual volume 100 is used in the information of the free space management table 225 received by the host processor from the virtualization switch.
As described above, in the present embodiment, the administrator can know the total size of the real area 132 that can be allocated to the virtual volume 100. The method shown in this embodiment can also be applied to the second to fifth embodiments described above. In the embodiments shown in the first to sixth embodiments described above, a switch has been described as an example of a device for realizing virtualization, but other devices such as a computer or a router may be used.
<figref num="1">It is a figure which shows an example of the whole structure of the system to which this invention is applied.</figref><figref num="2">It is a figure which shows an example of the internal configuration of the virtualization switch 11.</figref><figref num="3">It is a flowchart which shows an example of the processing procedure of the input / output request of the control unit 210.</figref><figref num="4">It is a figure which shows an example of the process outline of the data rearrangement in 2nd Embodiment.</figref><figref num="5">It is a flowchart which shows an example of the processing procedure of the input / output request of the control unit 210 in 3rd Embodiment.</figref><figref num="6">It is a figure which shows an example of the format processing in 3rd Embodiment.</figref><figref num="7">It is a flowchart which shows an example of the processing procedure of the input / output request of the control unit 210 in 4th Embodiment.</figref><figref num="8">It is a figure which shows an example of the release processing of the real area 132 in 4th Embodiment.</figref><figref num="9">It is a figure which shows an example of the free space management table 225 in the sixth embodiment.</figref><figref num="10">It is a flowchart which shows an example of the processing procedure of the input / output request of the control unit 210 in 6th Embodiment.</figref>
Code description
11 ... Virtualization switch 12 ... host 13 ... Storage device 210 ... Control unit 220 ... Memory
10 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10
Every citation, both waysCites: the store holds 8 of 9
| Document | Relation | Office | Cited during |
|---|---|---|---|
| KR20180057374A | Cited by | Republic of Korea | Search report |
| JP2003150414A | Cites | Japan | – |
| JP2002091706A | Cites | Japan | – |
| WO03075161A1 | Cites | World Intellectual Property Organization (WIPO) | – |
| JP2003050725A | Cites | Japan | – |
| JP2003044421A | Cites | Japan | – |
| JP2003015915A | Cites | Japan | – |
| JP09311810A | Cites | Japan | – |
| JP2000242434A | Cites | Japan | – |
| 河村 義孝,ITシステムの進化を支えるシステム運用管理,日立評論 2002年9月 増刊号,日立論評社,2002年 9月 1日,p.33-38 | Non-patent | – | – |
| 根来 元,ストレージ・ネットワーキング仮想化技術,技報 UNISYS TECHNOLOGY REVIEW,日本ユニシス株式会社,2002年 8月31日,第22巻,第2号,p.126-138 | Non-patent | – | – |
| SANsymphony Version 5.0 ■データコア・ソフトウェア,SunWorld,日本,(株)IDGジャパン,2002年 8月 1日,第12巻,第8号,p.107 | Non-patent | – | – |
8 members in 2 offices
Priority claims7
| Document | Office | Kind | Date |
|---|---|---|---|
| 2003150082 | Japan | A | |
| 2003150082 | Japan | A | |
| 2003150082 | Japan | – | |
| 2004063392 | Japan | A | |
| 20032003150082 | – | – | – |
| JP20030150082 | – | – | – |
| JP20040063392 | – | – | – |
Members8
| Document | Office | Kind | |
|---|---|---|---|
| US2004260861A1 | United States of America | A1 | |
| JP2005011316A | Japan | A | |
| US2006107017A1 | United States of America | A1 | |
| US7213124B2 | United States of America | B2 | |
| US7257694B2 | United States of America | B2 | |
| US2007255925A1 | United States of America | A1 | |
| US7484071B2 | United States of America | B2 | |
| JP4438457B2This record | Japan | B2 |
15 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Cancellation because of no payment of annual feesLAPS | LAPS | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| Renewal fee payment (event date is renewal date of database)FPAY | FPAY | |
| First payment of annual fees (during grant procedure)JAPANESE INTERMEDIATE CODE: A61A61 | A61 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Written decision to grant a patent or to grant a registration (utility model)JAPANESE INTERMEDIATE CODE: A01A01 | A01 | |
| Decision of grant or rejection writtenTRDD | TRDD | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Written amendmentJAPANESE INTERMEDIATE CODE: A523A521 | A521 | |
| Notification of reasons for refusalJAPANESE INTERMEDIATE CODE: A131A131 | A131 | |
| Report on retrievalJAPANESE INTERMEDIATE CODE: A971007A977 | A977 | |
| Written request for application examinationJAPANESE INTERMEDIATE CODE: A621A621 | A621 | |
| Notification of resignation of power of attorneyJAPANESE INTERMEDIATE CODE: A7424RD04 | RD04 |
Numbers
- Publication
- 4438457
- Publication, DOCDB
- 4438457
- Publication, EPODOC
- JP4438457B
- Application
- 63392
- Application, DOCDB
- 2004063392
- Application, EPODOC
- JP20040063392
Titles2
- Japanese
- 記憶領域割当方法、システム及び仮想化装置
- English
- Storage allocation method, system and virtualization device
Classification
- CPC, 4
- G06F3/0665
- G06F3/0608
- G06F3/0631
- G06F3/0683
- IPC, 3
- G06F12 00
- G06F3 06
- G06F12 08
