WO2015132873A1 - 階層化ブロックストレージ装置を有するコンピュータシステム、ストレージコントローラ、及びプログラム - Google Patents
階層化ブロックストレージ装置を有するコンピュータシステム、ストレージコントローラ、及びプログラム Download PDFInfo
- Publication number
- WO2015132873A1 WO2015132873A1 PCT/JP2014/055424 JP2014055424W WO2015132873A1 WO 2015132873 A1 WO2015132873 A1 WO 2015132873A1 JP 2014055424 W JP2014055424 W JP 2014055424W WO 2015132873 A1 WO2015132873 A1 WO 2015132873A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- file
- block
- hierarchical
- hierarchy
- storage
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0692—Multiconfiguration, e.g. local and global addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
- G06F3/0649—Lifecycle management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1008—Correctness of operation, e.g. memory ordering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
Definitions
- Embodiments described herein relate generally to a computer system having a hierarchical block storage device, a storage controller, and a program.
- the storage tiering technology bundles physical storage areas (hereinafter referred to as physical volumes) of a plurality of types of storage apparatuses having different access response performance. Thereby, the storage tiering technology forms at least one virtual storage area (hereinafter referred to as a logical volume) having a plurality of physical volumes as entities.
- a logical volume is also called a logical disk and can be recognized from a host device (computer).
- the hierarchical block storage apparatus includes a plurality of types of storage apparatuses having different hierarchies, and the logical disk is configured using physical volumes of such storage apparatuses having different hierarchies.
- a specified file is required to be arranged in a specified hierarchy.
- a hierarchical block storage device cannot recognize a file. Therefore, in the prior art, a special file system (file system program) is provided in the hierarchical block storage apparatus.
- This special file system associates a file used by a host device with a position on a logical disk of a block constituting the file.
- the hierarchical block storage device (more specifically, the storage controller of the hierarchical block storage device) can specify the blocks constituting the specified file and place the specified blocks in the specified hierarchy. it can.
- the function of arranging a specified file in a specified hierarchy is realized by a special file system provided in the hierarchical block storage device.
- the hierarchical block storage device requires a special file system.
- a problem to be solved by the present invention is to provide a computer system, a storage controller, and a program capable of arranging a specified file in a specified hierarchy without requiring a file system on the hierarchical block storage device side There is to do.
- the computer system includes a hierarchical block storage system and a host device.
- the host device accesses the hierarchical block storage system.
- the hierarchical block storage system includes a hierarchical block storage device and a storage controller.
- the hierarchical block storage device includes a plurality of types of storage devices having different access response performance.
- the plurality of types of storage apparatuses are assigned to tiers corresponding to the access response performances.
- At least a part of the storage area of each of the at least two types of storage devices of the plurality of types of storage devices is allocated to a logical disk having a plurality of blocks of the first size.
- the logical disk is used to store files used by the host device.
- the storage controller includes a mode switching unit, a data input / output control unit, and a data arrangement control unit.
- the host device includes a file system, a rule input unit, a hierarchical arrangement instruction unit, and a file designation unit.
- the mode switching unit switches the operation mode of the hierarchical block storage system from the first mode to the second mode in response to a request from the host device.
- the data input / output control unit accesses the logical disk in response to an access request from the host device. For each file stored in the logical disk, the file system manages a correspondence between a file path indicating a corresponding file and a logical address range in which the corresponding file is stored.
- the file designation unit when the file designation unit requests access to a logical address range in which a block sequence constituting a file is stored, the data input / output is performed on the block sequence in the requested logical address range. Access through the control unit.
- the rule input unit inputs a hierarchy arrangement rule including file path information for designating a file and hierarchy information for designating a hierarchy in which the file is to be arranged based on an external request.
- the tier placement instruction unit requests the storage controller to switch to the second mode based on the tier placement rule.
- the file designating unit accesses the file system to access a logical address range in which a first block sequence constituting a first file indicated by a file path indicated by the file path information in the hierarchical arrangement rule is stored. Request.
- the data arrangement control unit is an extent including a block string within a logical address range accessed in the second mode, and stores data in an extent composed of a second number of blocks having consecutive logical addresses. , Move to the storage area of the hierarchy specified by the hierarchy arrangement rule.
- FIG. 1 is a block diagram illustrating a typical hardware configuration of a computer system according to one embodiment.
- FIG. 2 is a block diagram mainly showing typical functional configurations of the hierarchical storage system and the host device shown in FIG.
- FIG. 3 is a diagram showing an example of the data structure of the extent management table in the embodiment.
- FIG. 4 is a diagram showing an example of the data structure of the file-logical address management table in the embodiment.
- FIG. 5 is a diagram showing an example of the data structure of the hierarchical arrangement rule list in the embodiment.
- FIG. 6 is a diagram showing an example of the data structure of the file path list in the embodiment.
- FIG. 7 is a flowchart for explaining a typical procedure of hierarchical arrangement processing executed on the host device side in the embodiment.
- FIG. 1 is a block diagram illustrating a typical hardware configuration of a computer system according to one embodiment.
- FIG. 2 is a block diagram mainly showing typical functional configurations of the hierarchical storage system and the host device shown in FIG
- FIG. 8 is a flowchart for explaining a typical procedure of block access processing included in the hierarchical arrangement processing shown in FIG.
- FIG. 9 is a flowchart for explaining a typical procedure of the tier arrangement processing executed on the hierarchical storage system side in the same embodiment.
- FIG. 10 is a diagram for explaining the outline of the file arrangement process in the first modification of the embodiment.
- FIG. 11 is a flowchart for explaining a typical procedure of file arrangement processing executed on the host device side in the first modification.
- FIG. 12 is a diagram for explaining the outline of the partial read process in the second modification of the embodiment.
- FIG. 13 is a flowchart for explaining a typical procedure of partial read processing executed on the host device side in the second modification.
- FIG. 1 is a block diagram illustrating a typical hardware configuration of a computer system according to one embodiment.
- the computer system includes a hierarchical storage system 10 and a host device 20.
- the hierarchical storage system 10 (more specifically, the storage controller 12 of the hierarchical storage system 10) includes Fiber Channel (FC), Small Computer System Interface (SCSI), Serial Attached SCSI (SAS), and Internet SCSI (iSCSI). , Ethernet (registered trademark), or serial AT attachment (SATA), is connected to the host device 20 via a host interface bus 30.
- the host device 20 uses the hierarchical storage system 10 as an external storage device.
- the hierarchical storage system 10 may be connected to the host device 20 via a network such as a storage area network (SAN), the Internet, or an intranet.
- the hierarchical storage system 10 may be connected to a plurality of host devices including the host device 20.
- the hierarchical storage system 10 includes a hierarchical block storage device 11 and a storage controller 12.
- the hierarchical block storage device 11 includes a high-speed storage device (first type storage device) 111 and a low-speed storage device (second type storage device) 112.
- the high-speed storage device 111 and the low-speed storage device 112 are connected to the storage controller 12 via a storage interface bus 13 such as FC, SCSI, SAS, iSCSI, Ethernet, or SATA.
- the high-speed storage device 111 is composed of a flash storage device with excellent access response performance (that is, high access speed) such as a flash array.
- the flash storage device is realized using a plurality of flash memory boards.
- Each of the flash memory boards includes a collection of flash memories.
- HDD hard disk drive
- SSDs solid state drives
- the low-speed storage device 112 is composed of, for example, a hard disk drive (HDD) array having lower access response performance (that is, lower access speed) than the high-speed storage device 111 (flash storage device).
- the HDD array is a storage device having a RAID (Redundant Arrays of Inexpensive Disks or Redundant Arrays of Independent Disks) configuration including a plurality of HDDs, for example.
- the high-speed storage device 111 and the low-speed storage device 112 do not necessarily have an array configuration.
- the high-speed storage device 111 and the low-speed storage device 112 can be accessed using a block of data of the first size as a minimum unit. This block of data of the first size is called a block. For this reason, the high-speed storage device 111 and the low-speed storage device 112 are called block storage devices.
- the hierarchical storage system 10 (hierarchical block storage apparatus 11) shown in FIG. 1 includes two (two types) storage apparatuses (that is, high-speed storage apparatuses) having different access response performance (access speed). 111 and low-speed storage device 112).
- the high speed storage device 111 is assigned to the upper tier (high speed tier, first tier)
- the low speed storage device 112 is assigned to the lower tier (low speed tier, second tier).
- the hierarchical storage system 10 includes a storage device (third tier storage device) of lower speed (lower tier, third tier) than the low speed storage device 112 such as a magnetic tape device. Also good.
- the storage controller 12 includes a host interface controller (hereinafter referred to as HIFC) 120, a storage interface controller (hereinafter referred to as SIFC) 121, a memory 122, an HDD 123, and a CPU 124.
- HIFC host interface controller
- SIFC storage interface controller
- the HIFC 120 controls data transfer (data transfer protocol) with the host device 20.
- the HIFC 120 receives a data access request (read request or write request) for the logical volume from the host device 20, and returns a response to the data access request.
- a data access request read request or write request
- the HIFC 120 transmits the request to the CPU 124.
- the CPU 124 that has received the data access request processes the data access request.
- the SIFC 121 receives an input / output (I / O) request based on a data access request (write request or read request for a logical volume) received from the host device 20 by the CPU 124.
- the SIFC 121 executes access to the high speed storage device 111 or the low speed storage device 112 in accordance with the received I / O request.
- the memory 122 is a rewritable volatile memory such as a DRAM. A part of the memory 122 is used to store a storage control program loaded from the HDD 123. Another part of the memory 122 is used as a work area for the CPU 124.
- the HDD 123 stores a storage control program.
- the CPU 124 loads the storage control program stored in the HDD 123 into the memory 122 by executing an initial program loader (IPL) when the storage controller 12 is activated.
- IPL is stored in a non-volatile memory such as a read only memory (ROM) or a flash ROM (FROM).
- the CPU 124 functions as a mode switching unit 125, a data input / output control unit 126, and a data arrangement control unit 127, which will be described later, according to the storage control program loaded in the memory 122. That is, the CPU 124 executes the storage control program stored in the memory 122 to control the entire hierarchical storage system 10 (particularly, each unit in the storage controller 12).
- the host device 20 includes an SIFC (interface controller) 201, a memory 202, an HDD 203, and a CPU 204.
- the SIFC 201 controls data transfer with the storage controller 12 of the hierarchical storage system 10 (more specifically, the HIFC 120 of the storage controller 12).
- the SIFC 201 transmits a data access request from the CPU 204 to the storage controller 12 and receives a response from the storage controller 12 to the data access request.
- the SIFC 201 transmits the response to the CPU 204.
- the memory 202 is a rewritable volatile memory such as a DRAM.
- a part of the memory 202 is used for storing an operating system (OS) and various programs loaded from the HDD 203.
- Another part of the memory 202 is used as a work area for the CPU 204.
- the HDD 203 stores an OS and a plurality of programs.
- the plurality of programs include application programs (hereinafter referred to as applications) and utility programs.
- applications application programs
- utility programs utility programs.
- the CPU 204 loads the OS stored in the HDD 203 into the memory 202 by executing an IPL stored in a non-volatile memory such as ROM or FROM.
- the CPU 204 loads a program stored in the HDD 203 into the memory 202 as appropriate.
- the CPU 204 follows a specific program (for example, a specific utility program) loaded in the memory 202 and the OS, and will be described later, a rule input unit 21, a hierarchy placement instruction unit 22, a file extraction unit 23, a file specification unit 24, and a file system 25. (More specifically, the file access control unit 251 of the file system 25) and the file arrangement unit 26 function.
- the CPU 204 functions as the rule input unit 21, the hierarchy arrangement instruction unit 22, the file extraction unit 23, and the file arrangement unit 26 according to a specific utility program, and according to the OS, the file designation unit 24 and the file system 25 ( It functions as a file access control unit 251).
- FIG. 2 is a block diagram mainly showing typical functional configurations of the hierarchical storage system 10 and the host device 20 shown in FIG.
- the hierarchical block storage device 11 of the hierarchical storage system 10 includes a logical disk 110.
- the hierarchical block storage apparatus 11 includes one logical disk (110) for the sake of simplification of description.
- the hierarchical block storage device 11 may include a plurality of logical disks.
- the logical disk 110 is also called a logical volume and has a virtual storage area (so-called logical address space). This virtual storage area is divided into a plurality of logical blocks of the first size for management. In other words, the logical disk 110 includes a plurality of logical blocks. Each of the plurality of logical blocks is designated by a logical block address (LBA).
- LBA logical block address
- the virtual storage area is further divided into a plurality of logical extents of the second size for management.
- the second size is N times the first size, where N is an integer greater than one. That is, each logical extent is composed of N logical blocks specified by N consecutive LBAs. In this embodiment, N is 8,192. However, N may be an integer larger than 1 other than 8,192.
- a logical block and a logical extent may be simply referred to as a block and an extent, respectively.
- a part of the virtual storage area of the logical disk 110 is assigned (that is, mapped) at least a part of the storage area (that is, physical volume) of the high-speed storage device 111. Further, at least a part of the storage area of the low-speed storage device 112 is allocated to another part of the virtual storage area.
- the logical disk 110 has a plurality of physical volumes having different tiers (here, a physical volume of an upper tier and a physical volume of a lower tier) as entities. That is, the logical disk 110 (more specifically, the entity of the logical disk 110) is configured by combining physical volumes (first and second physical volumes) in the high-speed storage device 111 and the low-speed storage device 112.
- Each of the first and second physical volumes includes a plurality of physical blocks having the same size (first size) as the logical block.
- files used by the host device 20 are stored in the logical disk 110. This file is composed of one or more blocks.
- the storage controller 12 of the hierarchical storage system 10 includes a mode switching unit 125, a data input / output control unit 126, and a data arrangement control unit 127.
- These functional elements 125 to 127 are software modules realized by the CPU 124 of the storage controller 12 shown in FIG. 1 executing a storage control program. However, at least one of the functional elements 125 to 127 may be realized by a hardware module.
- the mode switching unit 125 switches the operation mode of the tiered storage system 10.
- the storage controller 12 of the hierarchical storage system 10 can operate at least in the normal mode (first mode) and the area arrangement mode (second mode).
- the normal mode refers to an operation mode for executing access to one or more blocks in the logical disk 110 requested by the host device 20. In the following description, for the sake of simplification, access to more than one block is assumed unless otherwise specified.
- the area arrangement mode refers to an operation mode mainly for executing the following first and second operations in addition to access to a block requested by the host device 20.
- the first operation includes turning on the hierarchy movement flag associated with the extent including the accessed block. The hierarchy movement flag will be described later.
- the data input / output control unit 126 accesses a block in the logical disk 110 requested by the host device 20.
- the data arrangement control unit 127 operates the above-described hierarchy movement flag and arranges all extents corresponding to the hierarchy movement flag in the on state in the storage area of the designated hierarchy.
- the storage controller 12 further includes an extent management table 128.
- the extent management table 128 is stored in the HDD 123 of the storage controller 12 shown in FIG. 1, and is loaded from the HDD 123 to the memory 122 as necessary (for example, when the storage controller 12 is activated).
- FIG. 3 shows an example of the data structure of the extent management table 128.
- the extent management table 128 has entries associated with the extents of the logical disk 110, respectively.
- Each entry in the extent management table 128 includes an extent identifier (ID) field, an LBA field, a physical storage ID field, a physical storage address field, and a tier migration flag field.
- the hierarchy movement flag field is used to hold a hierarchy movement flag indicating whether the corresponding extent should be moved to a specified hierarchy.
- the extent ID field is used to hold an ID (extent ID) for identifying the corresponding extent.
- the LBA field is used to hold LBA information related to N consecutive blocks (logical blocks) constituting the corresponding extent.
- the LBA information includes the LBA of each of the first block and the last block of the corresponding extent. That is, the LBA information indicates the LBA range of the corresponding extent.
- the physical storage ID field holds an ID (physical storage ID) for identifying a storage device (physical storage device) including N physical blocks allocated to N consecutive blocks in the corresponding extent. Used for.
- the physical storage address field is used to hold physical storage address information regarding N physical blocks allocated to N consecutive logical blocks (that is, a column of N logical blocks) in the corresponding extent. .
- N physical blocks are continuous in the corresponding physical storage device.
- the physical storage address information includes the physical storage addresses of the first physical block and the last physical block of the N consecutive physical blocks. That is, the physical storage address information indicates the physical address range of the corresponding extent.
- each entry of the extent management table 128 holds extent information used for managing the corresponding extent.
- This extent information includes extent ID, LBA information, physical storage ID, physical storage address information, and tier migration flag.
- the same number of extent management tables 128 as the plurality of logical disks may be prepared in association with the plurality of logical disks. Further, if a logical disk ID field is added to each entry of the extent management table 128, the extent management table 128 can be used in common for a plurality of logical disks. The same applies to, for example, a file-logical address management table 252 described later.
- the host device 20 includes a rule input unit 21, a hierarchy arrangement instruction unit 22, a file extraction unit 23, a file designation unit 24, a file system 25, and a file arrangement unit 26.
- the file system 25 includes a file access control unit 251.
- these functional elements 21 to 26 are executed by the CPU 204 of the host device 20 shown in FIG. This is a software module realized by. However, at least one of the functional elements 21 to 26 may be realized by a hardware module.
- the file system 25 further includes a file-logical address management table 252.
- the host device 20 also includes a hierarchical arrangement rule list 27, a file path list 28, and an application 29.
- the hierarchical arrangement rule list 27, the file path list 28, the application 29, and the file-logical address management table 252 are stored in the HDD 203 of the host device 20 shown in FIG. 20 is loaded into the memory 202 from the HDD 203.
- the rule input unit 21 inputs a hierarchical arrangement rule (more specifically, hierarchical arrangement rule information describing the hierarchical arrangement rule) from the outside of the host device 20.
- the hierarchy arrangement rule refers to a rule for moving (arranging) an extent including a block constituting a designated file to a designated hierarchy. Details of the hierarchical arrangement rule will be described later.
- the hierarchical arrangement rule input by the rule input unit 21 is held in the hierarchical arrangement rule list 27.
- the tier placement instructing unit 22 performs mode switching in the storage controller 12 in order to move an extent including a block constituting a file designated by the tier placement rule in the tier placement rule list 27 to the tier designated by the rule.
- the unit 125 controls the file extraction unit 23, the file designation unit 24, and the file arrangement unit 26 in the host device 20.
- the file extraction unit 23 extracts all file paths indicated by the hierarchical arrangement rules. The extracted file path is held in the file path list 28.
- the file specification unit 24 requests the file access control unit 251 of the file system 25 to access the file specified by the corresponding file path for each file path held in the file path list 28.
- the file system 25 includes a file stored in a logical disk (logical disk 110 in the example of FIG. 2) in the hierarchical block storage device 11 and a set of blocks constituting the file (more specifically, one or more blocks). And a well-known function for managing access to the logical disk.
- the hierarchical storage system 10 (more specifically, the storage controller 12 of the hierarchical storage system 10) does not consider which set of blocks in the logical disk is associated with which file.
- the file access control unit 251 of the file system 25 accesses the block constituting the file requested by the file specifying unit 24 via the data input / output control unit 126 of the storage controller 12.
- the file placement unit 26 rearranges so that a set of blocks constituting the file specified by the file path held in the file path list 28 is continuous in the logical disk 110.
- the file placement unit 26 is used in a first modification described later.
- FIG. 4 shows an example of the data structure of the file-logical address management table 252.
- the file-logical address management table 252 has an entry associated with each file managed by the file system 25.
- Each entry of the file-logical address management table 252 includes a file path field and an LBA field.
- the file path field is used to hold the file path of the corresponding file (more specifically, information indicating the file path).
- the LBA field is used to hold LBA information related to a set of blocks constituting the corresponding file.
- the LBA information includes the LBAs of the first block and the last block in the continuous block (that is, the row of blocks in which the LBA is continuous). That is, the LBA information indicates the LBA range of the continuous block. This LBA range may be indicated by the LBA of the head block in the continuous block and the number of the continuous blocks (or the size of the entire continuous block).
- the corresponding file may be composed of one block. In this case, the LBAs of the first block and the last block included in the LBA information match.
- the corresponding file is fragmented, and the set of blocks constituting the corresponding file is divided into a plurality of segments in the hierarchical storage system 10.
- Each of the plurality of segments is composed of continuous blocks (that is, a row of blocks) in the logical disk 110.
- the LBA information includes, for each segment, the LBA of the first block and the last block of the corresponding segment. That is, the LBA information indicates the LBA range of the corresponding segment for each segment. Note that at least one of the plurality of segments may be composed of one block.
- a file is assumed to be composed of one or more segments.
- FIG. 5 shows an example of the data structure of the hierarchical arrangement rule list 27.
- Each element of the hierarchical arrangement rule list 27 (that is, the hierarchical arrangement rule) includes a rule ID, hierarchical information, rule type, rule content, start time information, and discontinuation time information.
- the rule ID indicates an ID unique to the corresponding hierarchical arrangement rule.
- the hierarchy information indicates the hierarchy where data is to be arranged.
- the rule type indicates the type of hierarchical arrangement rule, for example, whether it is file designation (first type) or application linkage (second type).
- the file designation indicates that a file is designated as data to be arranged in a hierarchy (that is, a designated hierarchy) indicated by the hierarchy information.
- Application cooperation indicates that data to be arranged in a designated hierarchy is a block accessed by a specific application activated by a predetermined program (hereinafter referred to as a cooperation program).
- a hierarchical arrangement rule whose rule type is file designation is referred to as a file designation arrangement rule
- a hierarchical arrangement rule whose rule type is application cooperation is referred to as an application cooperation arrangement rule.
- the rule contents depend on the rule type.
- the file path is described as the rule content (first rule content).
- the file path it is possible to specify a regular expression or a wild card using a special symbol such as *, for example. That is, the file designation arrangement rule indicates a rule for moving (arranging) an extent including a block (a set of blocks) constituting a file designated by the rule contents to a designated hierarchy.
- the rule type is application cooperation
- program information for designating a cooperation program is described as rule contents (second rule contents). That is, the application cooperation arrangement rule indicates a rule for moving an extent including a block accessed by a specific application (in this embodiment, the application 29) started by the cooperation program specified in the rule contents to a specified hierarchy.
- Information specifying a program such as a batch file (batch program) or a script may be described as the second rule content.
- the start time information indicates the time when the hierarchical arrangement process to which the corresponding hierarchical arrangement rule is applied is started.
- the discontinuation time information indicates the time at which the corresponding hierarchical arrangement process is discontinued. Note that the start time information may indicate the date and time when the corresponding hierarchy arrangement process is started, and the discontinuation time information may indicate the date and time when the corresponding hierarchy arrangement process is aborted.
- FIG. 6 shows an example of the data structure of the file path list 28.
- the file path list 28 is used to hold the file path extracted by the file extraction unit 23.
- Each element of the file path list 28 includes a file path ID and a file path (file path information).
- the file path ID indicates the ID of the corresponding file path.
- FIG. 7 is a flowchart for explaining a typical procedure of a hierarchical arrangement process (hereinafter referred to as a first hierarchical arrangement process) executed on the host device 20 side
- FIG. 8 is a first flowchart shown in FIG. It is a flowchart for demonstrating the typical procedure of the block access process included in a hierarchy arrangement
- FIG. 9 shows a tier placement process executed on the side of the hierarchical storage system 10 in response to the mode switching command issued in the first tier placement process shown in FIG. 7 (hereinafter referred to as the second tier placement process). It is a flowchart for demonstrating the typical procedure of.
- the hierarchical arrangement instructing unit 22 monitors the start times of all hierarchical arrangement rules held in the hierarchical arrangement rule list 27, and determines whether the start time has arrived (step S1).
- the start time (0:00) of the hierarchical arrangement rule with the rule ID 1 has arrived (Yes in step S1).
- the hierarchy arrangement instructing unit 22 proceeds to step S2 in order to start applying the hierarchy arrangement rule whose start time has arrived.
- step S2 the tier placement instructing unit 22 issues a mode switching command for instructing to switch the tiered storage system 10 from the normal mode to the region placement mode to the storage controller 12 of the tiered storage system 10.
- This mode switching command also designates a hierarchy in which all extents corresponding to the hierarchy movement flag set to the on state are to be arranged in the area arrangement mode.
- the mode switching command issued by the hierarchical arrangement instructing unit 22 is received by the mode switching unit 125 of the storage controller 12. Then, the storage controller 12 starts the second tier arrangement process shown in the flowchart of FIG. 9 as follows. First, the mode switching unit 125 switches the hierarchical storage system 10 from the normal mode to the area arrangement mode (step S31). Then, the mode switching unit 125 determines whether the mode switching has succeeded (step S32). If the mode switching is successful (Yes in step S32), the mode switching unit 125 notifies the host device 20 of the successful mode switching as a response to the mode switching command (step S33). On the other hand, if mode switching has failed (No in step S32), the mode switching unit 125 notifies the host device 20 of mode switching failure (step S34). In this case, the second hierarchical arrangement process ends.
- step S3 The notification returned from the mode switching unit 125 to the host device 20 is received by the hierarchical arrangement instructing unit 22. Then, the hierarchy arrangement instructing unit 22 determines whether it is a mode switching success notification (step S3). If it is a mode switching failure notification (No in step S3), the first hierarchical arrangement process ends. On the other hand, if it is a mode switching success notification (Yes in step S3), the block access process (step S4) is executed as follows according to the flowchart shown in FIG.
- the hierarchical arrangement instruction unit 22 determines whether the rule type of the hierarchical arrangement rule whose start time has arrived is file designation or application cooperation (step S11).
- step S11 the rule type of the hierarchical arrangement rule whose start time has arrived is file designation or application cooperation.
- 2a) block access processing in the case of file designation and 2b) block access processing in the case of application cooperation will be described in order.
- Step S11 Block access processing in the case of file designation
- the hierarchical arrangement instruction unit 22 issues a file extraction command to the file extraction unit 23.
- This file extraction command includes the rule contents of the hierarchical arrangement rule whose start time has arrived, that is, file path information.
- the file extraction unit 23 receives the file extraction command issued by the hierarchy arrangement instruction unit 22. Then, the file extraction unit 23 extracts all the file paths indicated by the file path information included in the received file extraction command (that is, the file paths indicated by the hierarchical arrangement rule) from the file-logical address management table 252.
- the rule ID of this hierarchical arrangement rule is 1, the rule content is file path / var / log / *. log.
- file path / var / log / message Assume that a set of file paths including log is extracted. A set of extracted file paths is held in the file path list 28.
- the hierarchical arrangement instructing unit 22 issues an access command for instructing access to each set of files indicated by the extracted file path to the file specifying unit 24.
- the file designation unit 24 selects one unselected file path from the file path list 28 (step S13). Then, the file specifying unit 24 inquires of the file access control unit 251 about the LBA (logical block address) range associated with the selected file path.
- LBA logical block address
- the file access control unit 251 refers to the file-logical address management table 252 and specifies all the LBA ranges associated with the selected file path (step S14). The file access control unit 251 notifies the file designation unit 24 of all the specified LBA ranges.
- the file specification unit 24 selects one LBA range from the notified LBA range (step S15). Then, the file designation unit 24 requests the file access control unit 251 to access a block (block row) within the selected LBA range.
- the file access control unit 251 exists in the logical disk 110 in the hierarchical block storage device 11 and is within the selected LBA range (more specifically, a sequence of blocks with consecutive LBAs, That is, the segment is accessed via the data input / output control unit 126 of the storage controller 12 (step S16).
- this access is a read access, and data of a block within the selected LBA range is read.
- the file designating unit 24 determines whether there is an unselected LBA range in the specified LBA range (step S17). If there is an unselected LBA range (Yes in step S17), the file designating unit 24 returns to step S15 and selects one unselected LBA range.
- the file access control unit 251 accesses the block within the LBA range selected by the file specifying unit 24 via the data input / output control unit 126 (step S16).
- the hierarchical storage system 10 is set to the area arrangement mode by the mode switching unit 125 (steps S31 to S33).
- the mode switching unit 125 notifies the host device 20 of the successful mode switching (step S33)
- the data input / output control unit 126 performs access (that is, block access) from the file access control unit 251 of the host device 20, for example,
- the first time is monitored with the upper limit (step S35).
- block access is performed by the file access control unit 251 before the first time elapses in the area arrangement mode (Yes in step S35)
- the data input / output control unit 126 is within the accessed LBA range.
- the data placement control unit 127 is requested to turn on the hierarchy movement flag corresponding to the extent including the block.
- the data arrangement control unit 127 executes the first operation. That is, the data placement control unit 127 refers to the extent management table 128, identifies an extent that includes a block within the accessed LBA range, and turns on the tier migration flag associated with the identified extent (step S1). S36). The data arrangement control unit 127 passes control to the mode switching unit 125. Then, the mode switching unit 125 determines whether an area arrangement mode end command has been received (step S37). If the mode switching unit 125 has not received the region arrangement mode end command (No in step S37), the mode switching unit 125 passes control to the data input / output control unit 126.
- step S35 the data input / output control unit 126 waits for the next block access with the first time as an upper limit. If the next block access is performed by the file access control unit 251 before the first time elapses (Yes in step S35), the data input / output control unit 126 determines that the hierarchy movement flag as described above. Is requested to the data arrangement control unit 127 to turn on.
- the file access control unit 251 has accessed all the blocks within the specified LBA range.
- the file designating unit 24 determines that access to the file designated by the selected file path has been completed. Then, the file designation unit 24 determines whether there is an unselected file path in the file path list 28 (step S18).
- step S18 If there is an unselected file path (Yes in step S18), the file designating unit 24 returns to step S13 and selects one unselected file path. Then, as described above, the file specifying unit 24 inquires the file access control unit 251 about the LBA range associated with the selected file path. Then, the file access control unit 251 specifies all the LBA ranges associated with the selected file path (step S14). Then, Steps S15 to S17 are executed for all the specified LBA ranges. That is, the file indicated by the selected file path is accessed.
- step S4 ends.
- the hierarchical arrangement instructing unit 22 issues an area arrangement mode end command for instructing the end of the area arrangement mode to the storage controller 12 (step S5). Thereby, the first hierarchical arrangement process in the host device 20 is completed.
- the area arrangement mode end command issued by the tier arrangement instruction unit 22 is received by the mode switching unit 125 of the storage controller 12.
- the storage controller 12 passes control to the mode switching unit 125 when the next block access is not performed even after the above-described first time has elapsed (No in step S35). Even when the hierarchy movement flag is turned on (step S36), the control is passed to the mode switching unit 125 as described above. In such a case, the mode switching unit 125 determines whether an area arrangement mode end command has been received (step S37).
- the mode switching unit 125 If the mode switching unit 125 has received the region arrangement mode end command (Yes in step S37), the mode switching unit 125 passes control to the data arrangement control unit 127. Then, the data arrangement control unit 127 executes the second operation.
- the data placement control unit 127 refers to the extent management table 128, identifies all extents corresponding to the tier migration flag that is currently in the on state, and identifies all of the identified extents (more specifically, the identified extents). (Data in all extents) are arranged (moved) in the storage area of the physical storage of the designated hierarchy (step S38).
- step S38 the data placement control unit 127, for example, updates the contents of the physical storage ID field and the physical storage address field of the corresponding entry of the extent management table 128 every time an extent is placed in the physical storage of the specified hierarchy.
- the physical storage of the designated tier is the high speed storage device 111 and the first extent is arranged in the first physical storage address range of the high speed storage device 111.
- the data arrangement control unit 127 uses the contents of the physical storage ID field and physical storage address field of the entry of the extent management table 128 corresponding to the first extent as the ID of the high speed storage device 111 and the first physical storage address. Update to range.
- the data arrangement control unit 127 turns off the hierarchy movement flag in the corresponding entry.
- the data placement control unit 127 selects the placement destination of the first extent from a set of free extents in the high-speed storage device 111 (physical storage of the designated tier). If there is no free extent in the high-speed storage device 111 that can be used for the placement of the first extent, the data placement control unit 127 starts from the high-speed storage device 111 before placing the first extent. A second extent to which data is to be moved (evicted) to the storage device 112 is selected. Then, the data arrangement control unit 127 secures a free extent that can be used for the arrangement of the first extent by moving the data of the second extent to the low-speed storage device 112. The second extent is, for example, an extent having the lowest access frequency among all extents arranged in the high speed storage device 111.
- step S17 if there is no unselected LBA range (No in step S17), the file specifying unit 24 proceeds to step S18.
- the file path selected in step S13 is, for example, / var / log / message. In the case of log, as apparent from the file-logical address management table 252 shown in FIG. 4, only one LBA range 000-015 is specified. In this case, when a block in the LBA range 000-015 is accessed (step S16), since there is no unselected LBA range (No in step S17), the file designation unit 24 proceeds to step S18.
- step S38 If all the specified extents have been placed in the physical storage of the designated tier (step S38), the mode switching unit 125 is notified accordingly. Then, the mode switching unit 125 ends the area allocation mode and returns the operation mode of the hierarchical storage system 10 to the normal mode (step S39). Thereby, the second tier arrangement processing in the tiered storage system 10 (storage controller 12) ends.
- step S11 Block Access Processing in Case of Application Cooperation
- the hierarchical arrangement instructing unit 22 activates the cooperation program indicated by the rule content of the hierarchical arrangement rule whose start time has arrived (step S19). That is, the hierarchical arrangement instructing unit 22 executes the cooperation program. Then, the cooperation program starts a specific application, for example, the application 29, which is predetermined so as to cooperate with the cooperation program (step S20).
- the hierarchical arrangement instruction unit 22 waits for the cooperation program to end (step S21).
- the application 29 requests block access (read access or write access) to the hierarchical storage system 10 (more specifically, the logical disk 110 in the hierarchical storage system 10) as appropriate in the operation state of the application 29.
- the file access control unit 251 sends the data input / output control unit 126 of the storage controller 12 to a block (block row) within the requested LBA range. (Step S23).
- the hierarchical storage system 10 is set to the area arrangement mode (steps S31 to S33).
- step S35 block access is performed by the file access control unit 251 in the area allocation mode
- step S35 the data allocation control unit 127 specifies an extent including a block within the accessed LBA range
- step S36 The hierarchy movement flag associated with the specified extent is turned on.
- step S4 ends.
- the subsequent operations are the same as when the rule type is file designation. That is, the hierarchical arrangement instructing unit 22 issues an area arrangement mode end command to the storage controller 12 (step S5).
- the data arrangement control unit 127 of the storage controller 12 identifies all extents corresponding to the currently-on tier migration flag, and designates all the identified extents in the specified tier. It is arranged in the storage area of the physical storage (step S38).
- the layer arrangement instruction unit 22 ends the block access process (step S4). More specifically, after waiting for the end of the currently executing block access, the hierarchy placement instructing unit 22 ends the block access process (step S4). Then, the hierarchical arrangement instructing unit 22 issues an area arrangement mode end command to the storage controller 12 (step S5).
- the host device 20 uses the mode switching unit 125 to place the hierarchical storage system 10 in an area layout in order to place the specified file in the storage area of the specified hierarchy in the hierarchical storage system 10.
- the mode is set (step S2).
- the host device 20 specifies blocks constituting the designated file based on the file system 25 as in the case of normal file access (steps S13 and S14).
- the host device 20 accesses the specified block without recognizing the correspondence between the specified block and the extent in the hierarchical storage system 10 necessary for the arrangement of the specified file (step S15). And S16).
- the storage controller 12 of the hierarchical storage system 10 manages the correspondence between blocks and extents using the extent management table 128.
- the storage controller 12 identifies an extent including the accessed block in response to a block access from the host device 20 in the area allocation mode, and turns on the tier migration flag associated with the identified extent (that is, (Hierarchy movement instruction state) is set (steps S35 and S36).
- the above-mentioned designated file (more specifically, the file path) is described in the hierarchical arrangement rule.
- the host device 20 specifies a designated file based on the hierarchical arrangement rule whose start time has arrived, and accesses a block constituting the designated file.
- the file described in the hierarchical arrangement rule may be a file scheduled to be used by the host device 20 when the start time indicated by the hierarchical arrangement rule arrives.
- the host device 20 can use the file described in the tier placement rule, and at the same time, the file can be placed in the storage area of the specified tier in the hierarchical block storage device 11.
- the block access based on the hierarchical arrangement rule may be a kind of dummy access (when the type of the hierarchical arrangement rule is file designation).
- block access based on the hierarchy placement rule specifies an extent including the accessed block (that is, an extent to be placed in the specified hierarchy), and turns on the hierarchy move flag associated with the extent. It may be used as a trigger for setting the state. In this case, the accessed block data may be discarded without being used by the host device 20.
- the host device 20 issues an area placement mode end command to the storage controller 12 when accessing the blocks constituting all the specified files. Then, the storage controller 12 arranges all extents associated with the tier migration flag in the on state in the storage area of the designated tier in the tiered block storage apparatus 11 (steps S37 and S38). As described above, according to this embodiment, the storage controller 12 arranges a file (designated file) to be arranged in a designated hierarchy in a storage area of the designated hierarchy without requiring a special file system. can do.
- the host device 20 does not need to handle the correspondence between blocks and extents, and the storage controller 12 does not need to access the file system 25 in the host device 20.
- the storage controller 12 when the rule type of the hierarchical arrangement rule is application cooperation, the storage controller 12 according to the access to the block requested from the application 29 (that is, a specific application) started by the cooperation program. Sets the hierarchy movement flag associated with the extent including the accessed block to the ON state (steps S35 and S36). Therefore, according to the present embodiment, in response to a block access request from the application 29, the extent including the requested block can be arranged in the storage area of the designated hierarchy.
- a block access is requested to the file access control unit 251 from a normal application operating on the host device 20 in a state where the hierarchical storage system 10 is set to the area arrangement mode. To do.
- the file access control unit 251 accesses the requested block via the data input / output control unit 126.
- the hierarchy movement flag corresponding to the extent including the accessed block is turned on. That is, an extent including a block accessed from a normal application is also arranged in a storage area of a hierarchy specified by the hierarchy arrangement rule applied in the current area arrangement mode. Therefore, an access request from a normal application may be waited during the area arrangement mode.
- FIG. 10 is a diagram for explaining the outline of the file arrangement processing.
- blocks Ba, Bb, Bc, Bd. Be, Bf, Bg, and Bh constitute a specified file.
- blocks Ba and Bb are included in extent EXTa1
- blocks Bc and Bd are included in extent EXTa2.
- the block Be is included in the extent EXTa3, and the blocks Bf and Bg are included in the extent EXTa4.
- the block Bh is included in the extent EXTa5.
- the extents EXTa1 to EXTa5 are arranged in the storage area of the designated hierarchy.
- the blocks Ba, Bb, Bc, Bd. Be, Bf, Bg, and Bh are arranged in the extent EXTb as shown in FIG.
- this extent EXTb is arranged in the storage area of the designated hierarchy. Therefore, in the example of FIG. 10, the number of extents arranged in the storage area of the designated hierarchy is reduced from 5 to 1 as compared with the embodiment.
- FIG. 11 is a flowchart for explaining a typical procedure of file arrangement processing executed on the host device 20 side.
- the file extraction unit 23 has extracted all the file paths indicated by the hierarchical arrangement rules from the file-logical address management table 252 (step S12).
- the hierarchical arrangement instructing unit 22 issues a file arrangement instruction to the file arrangement unit 26 before issuing an access instruction instructing access to the set of files indicated by the extracted file path to the file specifying unit 24.
- This file placement instruction instructs to place the blocks constituting the file in the same extent as much as possible.
- the file placement unit 26 executes the file placement process as follows in accordance with the file placement command from the hierarchy placement instruction unit 22. First, the file placement unit 26 selects one unselected file path from the file path list 28 (step S41). Then, the file placement unit 26 transfers the blocks (a set of blocks) constituting the file indicated by the selected file path (that is, the designated file) to the logical disk 110 via the data input / output control unit 126 of the storage controller 12. It replicates in the area
- Step S42 will be described in detail.
- the file allocation unit 26 copies the blocks constituting the specified file to the area where the LBAs in the logical disk 110 are continuous, and the data input / output of the storage controller 12 via the file access control unit 251 of the file system 25. Requests to the control unit 126. Then, the data input / output control unit 126 copies the requested block to a free extent in the logical disk 110.
- the area used for the duplication is an area starting from the head of the free extent. By this duplication, there is a high possibility that the blocks (a set of blocks) constituting the designated file are arranged in the same extent.
- a method for managing which of the extents indicated by the extent management table 128 is a free extent has been well known.
- One method is to use a free extent list that holds a set of free extent IDs. Further, a flag field indicating whether the corresponding extent is a free extent may be prepared in each entry of the extent management table 128.
- the data input / output control unit 126 When the data input / output control unit 126 replicates the requested block to a free extent in the logical disk 110, the data input / output control unit 126 notifies the file placement unit 26 of the LBA range of the area where the block is replicated. Then, the file placement unit 26 uses the temporary file path as the copy destination file path, and enters an entry including a pair of the copy destination file path and the notified LBA range via the file access control unit 251. Add to the logical address management table 252.
- the file placement unit 26 renames (overwrites) the copy destination (provisional) file path to the same file path name (file name) as the copy source via the file access control unit 251 (step S43). Upon this renaming, the file placement unit 26 deletes the entry including the copy source file path from the file-logical address management table 252 via the file access control unit 251. The file placement unit 26 repeats the above operation (steps S41 to S43) until there is no unselected file path in the file path list 28 (step S44).
- the set of files indicated by the file paths in the file path list 28 includes the first and second files. Further, it is assumed that the first block (first block set) constituting the first file is copied to the first area starting from the head of the first extent in the first step S42. Further, in this state, the first extent is free, and the remaining area of the first extent is larger than the size of the second block (second block set) constituting the second file. Shall. In such a case, in the second step S42, the set of the second blocks may be copied to the second area subsequent to the first area of the first extent.
- the remaining area of the first extent is smaller than the size of the second block set
- a part of the second block set is copied to the remaining area of the first extent
- the second extent For example, the rest of the set of blocks may be copied to an area starting from the beginning of the second extent different from the first extent.
- step S44 the file placement unit 26 notifies the hierarchical placement instruction unit 22 of completion of the file placement process. Then, the hierarchical arrangement instructing unit 22 instructs the access to the set of files indicated by the extracted file paths in the same manner as when all the file paths indicated by the hierarchical arrangement rules are extracted in the embodiment (step S12). An access command to be issued is issued to the file designation unit 24. Thereby, similarly to the above-described embodiment, the process starting from step S13 is executed.
- a set of blocks included in a file to be arranged in the storage area of the designated hierarchy is arranged in the same extent as much as possible.
- the designated hierarchy is an upper hierarchy
- the probability that blocks not included in the designated file are mixed into the extent arranged in the upper hierarchy is reduced. Therefore, according to the first modification, the use efficiency of the storage area of the high-speed storage device 111 can be increased.
- a process for reading only a part of the blocks (a set of blocks) constituting the designated file is applied. That is, in the second modification, the partial read process is applied to block access based on the hierarchical arrangement rule.
- This partial read process is a dummy access process and is used as a trigger for setting the hierarchy movement flag associated with the extent including the accessed block to the ON state.
- the specified file is composed of a plurality of segments, and each of the plurality of segments extends over a plurality of extents.
- one block is selected from each of a plurality of extents in which the corresponding segment exists.
- the selected block (block data) is read.
- the segment is divided into small segments from the beginning of the segment with the extent size N (here, the number of blocks constituting the extent).
- the final small segment size is N or less.
- the head block in the corresponding small segment is selected.
- the final block in the final small segment is also selected. If the segment size (number of blocks) is N or less, the first block and the last block in the segment may be selected.
- FIG. 12 is a diagram for explaining the outline of the partial read process in the second modification.
- the extents EXTc1 to EXTc8 are assumed to be continuous in the logical disk 110.
- the segments SEGa and SEGb constitute a designated file.
- the segment SEGa is composed of blocks Ba1 to Ba23 and exists across the extents EXTc1 to EXTc4.
- the segment SEGb is composed of blocks Bb1 to Bb13, and exists across the extents EXTc5 and EXTc6.
- N 8
- the first (first) block Ba1, the ninth block Ba9, the 17th block Ba17, and the last (23rd) block Ba23 in the segment SEGa are selected as blocks to be read.
- the Similarly, the first (first) block Bb1, the ninth block Bb9, and the last (13th) block Ba13 in the segment SEGb are selected as blocks to be read. Blocks selected from these segments SEGa and SEGb are indicated by black squares in FIG. 12, and blocks not selected from the segments SEGa and SEGb are indicated by white squares in FIG.
- a total of 36 blocks that is, blocks Ba1 to Ba23 and Bb1 to Bb13 constituting the segments SEGa and SEGb are read.
- only seven blocks selected from the segments SEGa and SEGb that is, the blocks Ba1, Ba9, Ba17, Ba23, Bb1, Bb9, and Bb13 are read.
- the hierarchy movement flags respectively associated with the extents EXTc1, EXTc2, EXTc3, EXTc4 and EXTc5 are turned on. Further, according to the reading of the blocks Bb9 and Bb13, the hierarchy movement flag associated with the extent EXTc6 is turned on. Thereafter, the extents EXTc1 to EXTc6 are arranged in the designated hierarchy.
- the second modification example reads only a part of the blocks in the file, turns on the hierarchy movement flag associated with all the extents in which the file exists, and sets all the extents. Can be placed in a specified hierarchy. That is, according to the second modification, it is possible to access all extents in which a file exists with a minimum block read.
- FIG. 13 is a flowchart for explaining a typical procedure of partial read processing executed on the host device 20 side.
- the file extraction unit 23 has extracted all the file paths indicated by the hierarchical arrangement rules from the file-logical address management table 252 (step S12).
- the hierarchical arrangement instructing unit 22 issues an access command for instructing access to the set of files indicated by the extracted file path to the file specifying unit 24
- the file specifying unit 24 reads from the file path list 28.
- One unselected file path is selected (step S51).
- the file specifying unit 24 inquires of the file access control unit 251 about the LBA (logical block address) range associated with the selected file path.
- the file access control unit 251 specifies all the LBA ranges associated with the selected file path (step S52).
- the file access control unit 251 notifies the file designation unit 24 of all the specified LBA ranges.
- the file designation unit 24 selects one LBA range from the notified LBA range (step S53). Steps S51 to S53 described above are the same as Steps 13 to S15 shown in FIG.
- the file designation unit 24 sets the pointer P to the initial value 1 (step S54).
- Pointer P points to the relative position of the block to be accessed in the selected LBA range (ie segment).
- the pointer P points to the first (first) block in the selected LBA range.
- the file designation unit 24 requests the file access control unit 251 to access the Pth block within the selected LBA range. That is, the file designation unit 24 requests the file access control unit 251 to access a block whose LBA is LBA_P.
- the file access control unit 251 accesses the P-th block existing in the logical disk 110 and within the selected LBA range via the data input / output control unit 126 (step S55). That is, the file access control unit 251 accesses the block located at LBA_P in the logical disk 110 via the data input / output control unit 126 of the storage controller 12. In response to this block access (Yes in step S35), the data arrangement control unit 127 of the storage controller 12 turns on the tier migration flag corresponding to the extent including the accessed block (step S36).
- the file designation unit 24 increments the pointer P by N (step S56).
- the incremented pointer P points to a block that is N blocks ahead in the direction in which the LBA increases from the block pointed to by the pointer P before being incremented. For example, when the pointer P before being incremented points to the block Ba1 shown in FIG. 12, the incremented pointer P points to the block Ba9.
- the file designation unit 24 determines whether the incremented pointer P is greater than or equal to M (step S57).
- the file designating unit 24 determines that the pointer P has not reached the last block in the selected LBA range. In this case, the file designation unit 24 requests the file access control unit 251 to access the block indicated by the incremented pointer P. Then, the file access control unit 251 accesses the P-th block existing in the logical disk 110 and within the selected LBA range via the data input / output control unit 126 (step S55).
- the file designating unit 24 determines whether the pointer P has reached the last block in the selected LBA range, or It is determined that the last block has been passed. In this case, the file designation unit 24 requests the file access control unit 251 to access the last block in the selected LBA range. Then, the file access control unit 251 accesses the last block in the logical disk 110 and within the selected LBA range via the data input / output control unit 126 (step S58).
- step S58 the file designating unit 24 determines whether there is an unselected LBA range in the specified LBA range.
- step S59 If there is an unselected LBA range (Yes in step S59), the file designating unit 24 returns to step S53 and selects one unselected LBA range. On the other hand, if there is no unselected LBA range (No in step S59), the file designating unit 24 determines whether there is an unselected file path in the file path list 28 (step S60).
- step S60 If there is an unselected file path (Yes in step S60), the file designation unit 24 returns to step S51. On the other hand, if there is no unselected file path (No in step S60), the block access process (step S4) ends.
- the second modification only a part of the blocks constituting the designated file is read, and the respective hierarchy migration flags corresponding to the extents including the read block are turned on. That is, in the second modification, the partial read process is applied to block access for designating an extent to be arranged in the designated hierarchy. Therefore, according to the second modification, it is possible to reduce the time required for block access for designating an extent to be arranged in the designated hierarchy, and to prevent the throughput of the hierarchical storage system 10 from being lowered by the block access. it can.
- a specified file can be arranged in a specified tier without requiring a file system on the hierarchical block storage device side.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
図1は、1つの実施形態に係るコンピュータシステムの典型的なハードウェア構成を示すブロック図である。コンピュータシステムは、階層化ストレージシステム10及びホスト機器20から構成される。階層化ストレージシステム10(より詳細には、階層化ストレージシステム10のストレージコントローラ12)は、ファイバチャネル(FC)、スモールコンピュータシステムインタフェース(SCSI)、シリアルアタッチドSCSI(SAS)、インターネットSCSI(iSCSI)、イーサネット(登録商標)、或いはシリアルATアタッチメント(SATA)のようなホストインタフェースバス30を介してホスト機器20と接続されている。ホスト機器20は、階層化ストレージシステム10を外部ストレージ装置として利用する。なお、階層化ストレージシステム10が、ストレージエリアネットワーク(SAN)、インターネット或いはイントラネットのようなネットワークを介してホスト機器20と接続されていても良い。更に、階層化ストレージシステム10が、ホスト機器20を含む複数のホスト機器と接続されていても良い。
(1)階層配置ルールの登録
まず、階層配置ルールの登録について説明する。今、ホスト機器20の外部から当該ホスト機器20に対して、階層配置ルールの登録が要求されたものとする。ここでは、階層配置ルールの登録が、ユーザの操作に従って要求されたものとする。この場合、ホスト機器20のルール入力部21は、ユーザの操作によって指定された階層配置ルールを当該ホスト機器20の外部から入力し、当該入力された階層配置ルールを階層配置ルールリスト27に追加する。なお、ユーザの操作は、例えば、ホスト機器20に接続されたキーボード、或いは当該ホスト機器20にネットワークを介して接続された端末のような外部機器を用いて行われる。
次に、階層配置処理について、図7乃至図9を参照して説明する。図7は、ホスト機器20側で実行される階層配置処理(以下、第1の階層配置処理と称する)の典型的な手順を説明するためのフローチャート、図8は図7に示される第1の階層配置処理に含まれているブロックアクセス処理の典型的な手順を説明するためのフローチャートである。図9は、図7に示される第1の階層配置処理で発行されるモード切替命令に応じて階層化ストレージシステム10側で実行される階層配置処理(以下、第2の階層配置処理と称する)の典型的な手順を説明するためのフローチャートである。
ステップS11においてルール種別がファイル指定であると判定された場合、階層配置指示部22は、ファイル抽出部23にファイル抽出命令を発行する。このファイル抽出命令は、開始時刻が到来した階層配置ルールのルール内容、つまりファイルパス情報を含む。ファイル抽出部23は、階層配置指示部22によって発行されたファイル抽出命令を受信する。するとファイル抽出部23は、受信されたファイル抽出命令に含まれているファイルパス情報の示すファイルパス(つまり、階層配置ルールによって示されるファイルパス)を、ファイル-論理アドレス管理テーブル252から全て抽出する(ステップS12)。この階層配置ルールのルールIDが1である場合、ルール内容は、ファイルパス/var/log/*.logを含む。ここでは、例えば、ファイルパス/var/log/message.logを含むファイルパスの集合が抽出されたものとする。抽出されたファイルパスの集合はファイルパスリスト28に保持される。
次に、開始時刻が到来した階層配置ルールのルール種別がアプリケーション連携であるとステップS11で判定された場合のブロックアクセス処理について説明する。この場合、階層配置指示部22は、開始時刻が到来した階層配置ルールのルール内容の示す連携プログラムを起動する(ステップS19)。即ち階層配置指示部22は、連携プログラムを実行する。すると連携プログラムは、当該連携プログラムと連携するように予め定められた特定のアプリケーション、例えばアプリケーション29を起動する(ステップS20)。
次に、前記実施形態の第1の変形例について説明する。まず前記実施形態において、指定ファイルのサイズが小さく、当該指定ファイルを構成するブロックが、対応するエクステントのごく一部だけを占めているものとする。このような場合、指定階層の記憶領域に配置(つまり移動)されるエクステント内の殆どのブロックは、指定ファイルとは無関係である。つまり、前記実施形態では、指定ファイルとは無関係のブロックのデータも指定階層の記憶領域に移動される。したがって、指定階層が上位階層である場合、当該上位階層(高速ストレージ装置111)の記憶領域の利用効率が低下する。
次に、前記実施形態の第2の変形例について説明する。まず前記実施形態において、指定ファイルのサイズが大きいものとする。このような場合、指定ファイルを構成する全てのブロックのデータをリードするのに多大な時間を要し、階層化ストレージシステム10のスループットが低下する。一方、階層配置ルールに基づくブロックアクセスがダミーアクセスであるならば(階層配置ルールの種別がファイル指定の場合)、指定ファイルを構成するブロックを必ずしも全てリードする必要はない。
するとファイル指定部24は、ファイルパスリスト28から1つの未選択のファイルパスを選択する(ステップS51)。そしてファイル指定部24は、選択されたファイルパスに対応付けられているLBA(論理ブロックアドレス)範囲を、ファイルアクセス制御部251に問い合わせる。
LBA_P=LBA_1+(P-1)
次にファイル指定部24は、選択されたLBA範囲内のP番目のブロックへのアクセスをファイルアクセス制御部251に要求する。即ちファイル指定部24は、LBAがLBA_Pであるブロックへのアクセスをファイルアクセス制御部251に要求する。するとファイルアクセス制御部251は、論理ディスク110に存在し、且つ選択されたLBA範囲内のP番目のブロックに、データ入出力制御部126を介してアクセスする(ステップS55)。即ちファイルアクセス制御部251は、論理ディスク110内のLBA_Pに位置するブロックに、ストレージコントローラ12のデータ入出力制御部126を介してアクセスする。ストレージコントローラ12のデータ配置制御部127は、このブロックアクセスに応じて(ステップS35のYes)、アクセスされたブロックを含むエクステントに対応する階層移動フラグをオンする(ステップS36)。
選択されたLBA範囲内の最終ブロックへのアクセス(ステップS58)が完了すると、ファイル指定部24は、特定されたLBA範囲の中に未選択のLBA範囲があるかを判定する(ステップS59)。もし、未選択のLBA範囲があるならば(ステップS59のYes)、ファイル指定部24はステップS53に戻って、未選択の1つのLBA範囲を選択する。これに対し、未選択のLBA範囲がないならば(ステップS59のNo)、ファイル指定部24は、ファイルパスリスト28内に未選択のファイルパスがあるかを判定する(ステップS60)。
Claims (11)
- 階層化ブロックストレージシステムと、前記階層化ブロックストレージシステムにアクセスするホスト機器とを備えるコンピュータシステムにおいて、
前記階層化ブロックストレージシステムは、階層化ブロックストレージ装置と、ストレージコントローラとを備え、
前記階層化ブロックストレージ装置は、アクセス応答性能の異なる複数種類のストレージ装置であって、前記アクセス応答性能にそれぞれ対応した階層に割り当てられた複数種類のストレージ装置を備え、
前記複数種類のストレージ装置の少なくとも2種類のストレージ装置のそれぞれ少なくとも一部の記憶領域は、第1のサイズの複数のブロックを備えた論理ディスクであって、前記ホスト機器によって利用されるファイルを格納するのに用いられる論理ディスクに割り当てられ、
前記ストレージコントローラは、モード切替部と、データ入出力制御部と、データ配置制御部とを備え、
前記ホスト機器は、ファイルシステムと、ルール入力部と、階層配置指示部と、ファイル指定部とを備え、
前記モード切替部は、前記ホスト機器からの要求に応じて、前記階層化ブロックストレージシステムの動作モードを第1のモードから第2のモードに切り替え、
前記データ入出力制御部は、前記ホスト機器からのアクセス要求に応じて前記論理ディスクにアクセスし、
前記ファイルシステムは、前記論理ディスクに格納されるファイル毎に、対応するファイルを示すファイルパスと当該対応するファイルが格納されている論理アドレス範囲との対応を管理し、前記ファイル指定部から、ファイルを構成するブロック列が格納された論理アドレス範囲へのアクセスが要求された場合、前記要求された論理アドレス範囲内のブロック列に前記データ入出力制御部を介してアクセスし、
前記ルール入力部は、外部からの要求に基づいて、ファイルを指定するためのファイルパス情報と、当該ファイルが配置されるべき階層を指定するため階層情報とを含む階層配置ルールを入力し、
前記階層配置指示部は、前記階層配置ルールに基づいて、前記第2のモードへの切り替えを前記ストレージコントローラに要求し、
前記ファイル指定部は、前記階層配置ルール内の前記ファイルパス情報によって示されるファイルパスの示す第1のファイルを構成する第1のブロック列が格納された論理アドレス範囲へのアクセスを前記ファイルシステムに要求し、
前記データ配置制御部は、前記第2のモードにおいてアクセスされた論理アドレス範囲内のブロック列を含むエクステントであって、論理アドレスが連続する第2の数のブロックから構成されるエクステント内のデータを、前記階層配置ルールによって指定される階層の記憶領域に移動する
コンピュータシステム。 - 前記第1のファイルへのアクセスがリードアクセスである請求項1記載のコンピュータシステム。
- 前記ファイル指定部は、前記第1のファイルを構成する第1のブロック列から一部のブロックを選択し、当該選択されたブロックが格納された論理アドレス範囲へのリードアクセスを、前記ファイルシステムを介して前記データ入出力制御部に要求する請求項2記載のコンピュータシステム。
- 前記ファイル指定部は、前記第1のファイルを構成する前記第1のブロック列から、前記第2の数のブロック毎に先頭のブロックを選択し、且つ前記第1のブロック列の最終のブロックを選択する請求項3記載のコンピュータシステム。
- 前記第1のファイルが断片化を起こしているために、当該第1のファイルが複数のセグメントから構成され、且つ前記複数のセグメントの各々が、論理アドレスが連続するブロック列から構成されている場合、前記ファイル指定部は、前記複数のセグメントのそれぞれから、前記第2の数のブロック毎に先頭のブロックを選択し、且つ対応するセグメントの最終のブロックを選択する請求項4記載のコンピュータシステム。
- 前記ホスト機器は、前記第1のファイルを構成する前記第1のブロック列を、前記論理ディスク内の論理アドレスが連続する記憶領域に前記ファイルシステムによって複製させるファイル配置部を更に具備し、
前記ファイル指定部は、前記複製の後に、前記複製されたファイルを構成する前記第1のブロック列が格納された論理アドレス範囲へのリードアクセスを前記ファイルシステムを介して前記データ入出力制御部に要求する
請求項2記載のコンピュータシステム。 - 前記階層配置ルールは、当該階層配置ルールの種別が第1の種別であるか、或いは第2の種別であるかを示すルール種別を含み、
前記階層配置ルールの種別が前記第1の種別である場合、前記階層配置ルールは前記ファイルパス情報を含み、前記階層配置ルールの種別が前記第2の種別である場合、前記階層配置ルールは、特定のアプリケーションを起動する第1のプログラムを指定するプログラム指定情報を含み、
前記階層配置指示部は、前記階層配置ルールの種別が前記第2の種別である場合、前記プログラム指定情報によって指定される第1のプログラムを起動し、
前記ファイルシステムは、前記第1のプログラムによって前記特定のアプリケーションが起動されて、前記特定のアプリケーションから前記論理ディスクへのアクセスが要求された場合、要求された論理アドレス範囲内のブロック列に前記データ入出力制御部を介してアクセスする
請求項1記載のコンピュータシステム。 - 前記ストレージコントローラは、前記第2の数のブロックから構成されるそれぞれのエクステントに対応付けられたエントリを含むエクステント管理テーブルを更に備え、
前記エントリの各々にはエクステント情報が保持され、
前記エクステント情報は、対応するエクステントの論理アドレス範囲及び物理アドレス範囲を示すアドレス情報と、当該対応するエクステントが移動されるべき階層を指定する階層情報と、当該対応するエクステントが指定の階層に移動されるべきかを示す階層移動フラグとを含み、
前記データ配置制御部は、前記第2のモードにおいて、前記データ入出力制御部が前記ホスト機器からのアクセス要求に応じて前記論理ディスクにアクセスした場合、前記アクセスされた論理アドレス範囲内のブロック列を含むエクステントに対応付けられた、前記エクステント管理テーブルのエントリ内の前記階層移動フラグを、当該エクステントが指定の階層に移動されるべきであることを示す第1の状態に設定し、
前記データ配置制御部は、前記階層配置指示部によって前記第2のモードから前記第1のモードへの切り替えが要求された場合、前記エクステント管理テーブルを参照し、前記第1の状態に設定されている階層移動フラグを含むエントリに対応するエクステントを、指定される階層に移動されるべきエクステントと特定する
請求項1記載のコンピュータシステム - 前記ホスト機器は、ファイル抽出部を更に備え、
前記階層配置指示部は、前記階層配置ルールに基づいてファイルパスの抽出を前記ファイル抽出部に要求し、
前記ファイル抽出部は、前記ファイルパス抽出要求に応じて、前記階層配置ルール内の前記ファイルパス情報の示すファイルパスを前記ファイルシステムから抽出し、
前記第1のファイルは、前記抽出されたファイルパスによって示される
請求項1記載のコンピュータシステム。 - アクセス応答性能の異なる複数種類のストレージ装置であって、前記アクセス応答性能にそれぞれ対応した階層に割り当てられた複数種類のストレージ装置を備え、前記複数種類のストレージ装置の少なくとも2種類のストレージ装置のそれぞれ少なくとも一部の記憶領域が、第1のサイズの複数のブロックを備えた論理ディスクであって、ホスト機器によって利用されるファイルを格納するのに用いられる論理ディスクに割り当てられる階層化ブロックストレージ装置を具備する階層化ストレージシステムにおいて、前記ホスト機器からのアクセス要求を処理するストレージコントローラにおいて、
前記ホスト機器への外部から要求に基づいて、前記ホスト機器に入力された階層配置ルールであって、ファイルを指定するためのファイルパス情報と、当該ファイルが配置されるべき階層を指定するため階層情報とを含む階層配置ルールに基づいて、前記ホスト機器から前記ストレージコントローラに第1のモードから第2のモードへの切り替えが要求された場合、前記階層化ブロックストレージシステムの動作モードを前記第1のモードから前記第2のモードに切り替えるモード切り替え部と、
前記階層配置ルール内の前記ファイルパス情報によって示されるファイルパスの示す第1のファイルを構成する第1のブロック列が格納された論理アドレス範囲へのアクセスが、前記ホスト機器から前記ストレージコントローラに要求された場合、前記論理ディスクの前記要求された論理アドレス範囲内の前記第1のブロック列にアクセスするデータ入出力制御部と、
前記第2のモードにおいてアクセスされた論理アドレス範囲内のブロック列を含むエクステントであって、論理アドレスが連続する第2の数のブロックから構成されるエクステント内のデータを、前記階層配置ルールによって指定される階層の記憶領域に移動するデータ配置制御部と
を具備するストレージコントローラ。 - アクセス応答性能の異なる複数種類のストレージ装置であって、前記アクセス応答性能にそれぞれ対応した階層に割り当てられた複数種類のストレージ装置を備え、前記複数種類のストレージ装置の少なくとも2種類のストレージ装置のそれぞれ少なくとも一部の記憶領域が、第1のサイズの複数のブロックを備えた論理ディスクであって、ホスト機器によって利用されるファイルを格納するのに用いられる論理ディスクに割り当てられる階層化ブロックストレージ装置を具備する階層化ストレージシステムにおいて、前記ホスト機器からのアクセス要求を処理するストレージコントローラに、
前記ホスト機器への外部から要求に基づいて、前記ホスト機器に入力された階層配置ルールであって、ファイルを指定するためのファイルパス情報と、当該ファイルが配置されるべき階層を指定するため階層情報とを含む階層配置ルールに基づいて、前記ホスト機器から前記ストレージコントローラに第1のモードから第2のモードへの切り替えが要求された場合、前記階層化ブロックストレージシステムの動作モードを前記第1のモードから前記第2のモードに切り替えることと、
前記階層配置ルール内の前記ファイルパス情報によって示されるファイルパスの示す第1のファイルを構成する第1のブロック列が格納された論理アドレス範囲へのアクセスが、前記ホスト機器から前記ストレージコントローラに要求された場合、前記論理ディスクの前記要求された論理アドレス範囲内の前記第1のブロック列にアクセスすることと、
前記第2のモードにおいてアクセスされた論理アドレス範囲内のブロック列を含むエクステントであって、論理アドレスが連続する第2の数のブロックから構成されるエクステント内のデータを、前記階層配置ルールによって指定される階層の記憶領域に移動すること
を実行させるためのプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014534841A JP5797848B1 (ja) | 2014-03-04 | 2014-03-04 | 階層化ブロックストレージ装置を有するコンピュータシステム、ストレージコントローラ、及びプログラム |
CN201480000789.9A CN105074675B (zh) | 2014-03-04 | 2014-03-04 | 具有层级化块存储装置的计算机系统、存储控制器及介质 |
PCT/JP2014/055424 WO2015132873A1 (ja) | 2014-03-04 | 2014-03-04 | 階層化ブロックストレージ装置を有するコンピュータシステム、ストレージコントローラ、及びプログラム |
US14/482,311 US9594508B2 (en) | 2014-03-04 | 2014-03-04 | Computer system having tiered block storage device, storage controller, file arrangement method and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2014/055424 WO2015132873A1 (ja) | 2014-03-04 | 2014-03-04 | 階層化ブロックストレージ装置を有するコンピュータシステム、ストレージコントローラ、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015132873A1 true WO2015132873A1 (ja) | 2015-09-11 |
Family
ID=54054713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/055424 WO2015132873A1 (ja) | 2014-03-04 | 2014-03-04 | 階層化ブロックストレージ装置を有するコンピュータシステム、ストレージコントローラ、及びプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US9594508B2 (ja) |
JP (1) | JP5797848B1 (ja) |
CN (1) | CN105074675B (ja) |
WO (1) | WO2015132873A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022548642A (ja) * | 2019-09-17 | 2022-11-21 | マイクロン テクノロジー,インク. | タイプ付けされていないメモリアクセスのタイプ付けされているメモリアクセスに対するマッピング |
JP2022548886A (ja) * | 2019-09-17 | 2022-11-22 | マイクロン テクノロジー,インク. | メモリ名前空間へデータをバインドするためのメモリシステム |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11789631B2 (en) * | 2010-11-29 | 2023-10-17 | Pure Storage, Inc. | Utilizing metadata storage trees in a vast storage network |
JP6307962B2 (ja) * | 2014-03-19 | 2018-04-11 | 日本電気株式会社 | 情報処理システム、情報処理方法、及び、情報処理プログラム |
JP6067819B1 (ja) * | 2015-10-21 | 2017-01-25 | 株式会社東芝 | 階層化ストレージシステム、ストレージコントローラ、並びに重複排除及びストレージ階層化のための方法 |
JP6165909B1 (ja) * | 2016-03-16 | 2017-07-19 | 株式会社東芝 | 階層化ストレージシステム、ストレージコントローラ、及び階層化制御方法 |
JP6814020B2 (ja) * | 2016-10-26 | 2021-01-13 | キヤノン株式会社 | 情報処理装置とその制御方法、及びプログラム |
JP6253752B1 (ja) | 2016-11-29 | 2017-12-27 | 株式会社東芝 | 階層化ストレージシステム |
JP7244551B2 (ja) | 2018-06-27 | 2023-03-22 | 華為技術有限公司 | ストレージシステム及びストレージシステムの稼働モードを切り替えるための方法 |
US11494311B2 (en) | 2019-09-17 | 2022-11-08 | Micron Technology, Inc. | Page table hooks to memory types |
US11650742B2 (en) | 2019-09-17 | 2023-05-16 | Micron Technology, Inc. | Accessing stored metadata to identify memory devices in which data is stored |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007305012A (ja) * | 2006-05-15 | 2007-11-22 | Fujitsu Ltd | Hsm制御プログラム、hsm制御装置、hsm制御方法 |
JP2009251751A (ja) * | 2008-04-02 | 2009-10-29 | Fujitsu Ltd | データ管理方法及びスイッチ装置 |
JP2014500542A (ja) * | 2010-10-27 | 2014-01-09 | エンモータス・インコーポレイテッド | データ管理を有する階層データ記憶システムおよびその操作方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4322031B2 (ja) | 2003-03-27 | 2009-08-26 | 株式会社日立製作所 | 記憶装置 |
JP2004310621A (ja) * | 2003-04-10 | 2004-11-04 | Hitachi Ltd | 記憶装置システムにおけるファイルアクセス方法及びファイルアクセスのためのプログラム |
US7185020B2 (en) * | 2003-10-01 | 2007-02-27 | Hewlett-Packard Development Company, L.P. | Generating one or more block addresses based on an identifier of a hierarchical data structure |
JP2005228170A (ja) * | 2004-02-16 | 2005-08-25 | Hitachi Ltd | 記憶装置システム |
JP2010257094A (ja) | 2009-04-23 | 2010-11-11 | Hitachi Ltd | 階層ストレージ管理システムにおける移動候補ファイルの抽出方法 |
US8402205B2 (en) * | 2010-03-18 | 2013-03-19 | Seagate Technology Llc | Multi-tiered metadata scheme for a data storage array |
US8639899B2 (en) * | 2011-04-26 | 2014-01-28 | Hitachi, Ltd. | Storage apparatus and control method for redundant data management within tiers |
WO2013065081A1 (en) * | 2011-10-31 | 2013-05-10 | Hitachi, Ltd. | Storage apparatus and data management method |
US9703500B2 (en) * | 2012-04-25 | 2017-07-11 | International Business Machines Corporation | Reducing power consumption by migration of data within a tiered storage system |
US9092461B1 (en) * | 2012-06-30 | 2015-07-28 | Emc Corporation | System and method for tiering data storage |
-
2014
- 2014-03-04 WO PCT/JP2014/055424 patent/WO2015132873A1/ja active Application Filing
- 2014-03-04 JP JP2014534841A patent/JP5797848B1/ja active Active
- 2014-03-04 CN CN201480000789.9A patent/CN105074675B/zh active Active
- 2014-03-04 US US14/482,311 patent/US9594508B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007305012A (ja) * | 2006-05-15 | 2007-11-22 | Fujitsu Ltd | Hsm制御プログラム、hsm制御装置、hsm制御方法 |
JP2009251751A (ja) * | 2008-04-02 | 2009-10-29 | Fujitsu Ltd | データ管理方法及びスイッチ装置 |
JP2014500542A (ja) * | 2010-10-27 | 2014-01-09 | エンモータス・インコーポレイテッド | データ管理を有する階層データ記憶システムおよびその操作方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022548642A (ja) * | 2019-09-17 | 2022-11-21 | マイクロン テクノロジー,インク. | タイプ付けされていないメモリアクセスのタイプ付けされているメモリアクセスに対するマッピング |
JP2022548886A (ja) * | 2019-09-17 | 2022-11-22 | マイクロン テクノロジー,インク. | メモリ名前空間へデータをバインドするためのメモリシステム |
JP7427081B2 (ja) | 2019-09-17 | 2024-02-02 | マイクロン テクノロジー,インク. | メモリ名前空間へデータをバインドするためのメモリシステム |
Also Published As
Publication number | Publication date |
---|---|
CN105074675A (zh) | 2015-11-18 |
JP5797848B1 (ja) | 2015-10-21 |
JPWO2015132873A1 (ja) | 2017-03-30 |
US20160371001A1 (en) | 2016-12-22 |
US9594508B2 (en) | 2017-03-14 |
CN105074675B (zh) | 2017-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5797848B1 (ja) | 階層化ブロックストレージ装置を有するコンピュータシステム、ストレージコントローラ、及びプログラム | |
JP4869368B2 (ja) | ストレージ装置及び仮想化装置 | |
US7975115B2 (en) | Method and apparatus for separating snapshot preserved and write data | |
US7574577B2 (en) | Storage system, storage extent release method and storage apparatus | |
US8639899B2 (en) | Storage apparatus and control method for redundant data management within tiers | |
JP5707540B1 (ja) | 階層化ストレージシステム、ストレージコントローラ、及び階層間のデータ移動を代替する方法 | |
US8392685B2 (en) | Arrangements for managing metadata of an integrated logical unit including differing types of storage media | |
US8639876B2 (en) | Extent allocation in thinly provisioned storage environment | |
JP4990828B2 (ja) | ストレージ装置及びこれの制御方法 | |
KR20150105323A (ko) | 데이터 스토리지 방법 및 시스템 | |
WO2015162758A1 (ja) | ストレージシステム | |
JP5944001B2 (ja) | ストレージシステム、管理計算機、ストレージ装置及びデータ管理方法 | |
JP2004295457A (ja) | 記憶装置 | |
JP2008015769A (ja) | ストレージシステム及び書き込み分散方法 | |
US7343465B2 (en) | Storage system | |
US8849966B2 (en) | Server image capacity optimization | |
JP2005228170A (ja) | 記憶装置システム | |
US20140075111A1 (en) | Block Level Management with Service Level Agreement | |
WO2018051505A1 (ja) | ストレージシステム | |
JP4409521B2 (ja) | 記憶装置 | |
JP2001337850A (ja) | 記憶装置および記憶装置の制御方法 | |
US10089125B2 (en) | Virtual machines accessing file data, object data, and block data | |
JP5910596B2 (ja) | ストレージ管理システム、ストレージ管理方法、プログラム、および、情報処理システム | |
JP5355603B2 (ja) | ディスクアレイ装置及び論理ボリュームアクセス方法 | |
JP5691234B2 (ja) | ディスクアレイ装置、及び、ミラーリング制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201480000789.9 Country of ref document: CN |
|
ENP | Entry into the national phase |
Ref document number: 2014534841 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 14482311 Country of ref document: US |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14884398 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14884398 Country of ref document: EP Kind code of ref document: A1 |