WO2014010016A1 - Programme, procédé de gestion de données et dispositif de traitement d'informations - Google Patents

Programme, procédé de gestion de données et dispositif de traitement d'informations Download PDF

Info

Publication number
WO2014010016A1
WO2014010016A1 PCT/JP2012/067478 JP2012067478W WO2014010016A1 WO 2014010016 A1 WO2014010016 A1 WO 2014010016A1 JP 2012067478 W JP2012067478 W JP 2012067478W WO 2014010016 A1 WO2014010016 A1 WO 2014010016A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
read
storage means
virtual disk
stored
Prior art date
Application number
PCT/JP2012/067478
Other languages
English (en)
Japanese (ja)
Inventor
英治 浜本
修三 西野
尚 小山内
秀行 安本
藤田 大輔
輝 中田
幸美 橋本
山上 正人
正勝 岩本
英季 堀岡
俊介 元井
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2012/067478 priority Critical patent/WO2014010016A1/fr
Publication of WO2014010016A1 publication Critical patent/WO2014010016A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Definitions

  • the present invention relates to a program for managing data stored in a plurality of storage devices, a data management method, and an information processing apparatus.
  • snapshot is saving the contents of a disc at a certain point in a reproducible state.
  • subsequent writing to the disk is prohibited and the disk is stored as an original disk.
  • Another disk is used as a new operation disk, and difference data from the time of snapshot creation is stored in the new operation disk.
  • Snap shot creation can be repeated. In the creation of the second and subsequent snapshots, subsequent writing to the active disk at that time is prohibited, and a new active disk for storing subsequent differential data is added. As described above, when snapshots are repeatedly collected, the disk for storing the difference data has a multistage configuration.
  • the data is read from the saved original disk or the disk storing the difference data. If the disk storing the difference data has a multi-stage configuration, for example, it is determined in order from the disk storing the new difference data whether or not the data to be read is stored. If no corresponding data is stored in any disk that stores the difference data, it is finally determined whether or not the original disk has the data. Then, the data to be read is read from the disk storing the data to be read.
  • the data read efficiency deteriorates as the number of snapshot creation increases. For example, if data exists on the original disk in data reading after repeated creation of snapshots, the presence / absence of data to be read is determined for a large number of disks. Therefore, when snapshot creation is repeated, it takes time to read data existing on the original disk or a disk that was used as an operational disk in the early days.
  • an object of the present invention is to provide a program, a data management method, and an information processing apparatus that improve data reading efficiency.
  • storage means is associated with each of a plurality of time zones, and the storage means stores data updated within the corresponding time zone, and receives a data read request. And determining whether or not the data is stored in a predetermined order for each storage means, and reading the data from the storage means storing the data specified by the read request, than the storage means.
  • the information processing apparatus is caused to execute the process of storing the data in the storage means having a predetermined order earlier.
  • FIG. 1 is a diagram illustrating a functional configuration example of the information processing apparatus according to the first embodiment.
  • the information processing apparatus X according to the first embodiment includes a plurality of storage units 1a, 1b, 1c, 1d, and 1e, a determination unit 2, a reading unit 3, and a storage unit 4.
  • the storage means 1a, 1b, 1c, 1d, and 1e are associated with a plurality of time zones T1, T2, T3, T4, and T5, respectively.
  • the plurality of time zones T1, T2, T3, T4, and T5 are time zones that are divided using, for example, snapshot creation request input times t1, t2, t3, and t4 as boundaries.
  • the storage means 1a, 1b, 1c, 1d, and 1e store data updated within the corresponding time zone.
  • the storage units 1a, 1b, 1c, and 1d are Writing data in response to an external write request is prohibited. Thereby, data at the time of inputting the snapshot creation request is held.
  • the storage unit 1e corresponding to the time period T5 after the input time t4 of the last snapshot creation request is a storage unit in operation, and stores data in response to an external data write request.
  • the determination unit 2 sequentially determines whether or not the data is stored in the storage unit according to a predetermined determination order. For example, the determination unit 2 sequentially selects the corresponding time zone from the later storage unit, and determines whether the data to be read is stored in the selected storage unit. In this case, selection and determination are performed in the order of the storage unit 1e, the storage unit 1d, the storage unit 1c, the storage unit 1b, and the storage unit 1a.
  • Read means 3 reads the data 5 from the storage means storing the data specified by the read request. For example, the reading unit 3 outputs the read data 5 as a response to the read request. The reading unit 3 temporarily stores, for example, the read data 5 as a cache.
  • the storage unit 4 stores the data 5 in a storage unit that is earlier in the determination order than the storage unit in which the data 5 is stored. For example, the storage unit 4 receives the data 5 held as a cache from the reading unit 3 and stores it in any storage unit. For example, the storage unit 4 stores the data in any of the storage units 1a, 1b, 1c, and 1d corresponding to the time zone before the input time point of the last snapshot creation request.
  • the storage unit 4 includes, for example, a storage unit that stores data for each storage unit that has an earlier determination order than the storage unit that stores the read data each time data is read. The value which shows the difference of the order of judgment between is calculated
  • the reading unit 3 reads the data from the storage unit storing the data specified by the reading request.
  • the storage means 4 stores the read data in the storage means that is earlier in the determination order than the read storage means.
  • the data can be read from the storage means whose judgment order is earlier than the previous time. That is, it is possible to reduce the number of storage means to be determined as to whether or not data to be read is stored. As a result, the data read efficiency is improved.
  • the determination unit 2 sequentially determines the presence / absence of data from the storage unit 1e. Then, the determination unit 2 determines that the data 5 is stored in the fifth storage unit 1a in the determination order.
  • the reading unit 3 receives the identification information of the storage unit 1a in which the data 5 is stored from the determination unit 2, and reads the data 5 from the storage unit 1a.
  • the reading unit 3 outputs the read data 5 as a response to the read request.
  • the storage unit 4 receives the data 5 from the reading unit 3 and stores the data 5 in any of the storage units whose determination order is earlier than that of the storage unit 1a. For example, the storage unit 4 stores the data 5 in the storage unit 1d corresponding to the latest time zone among the storage units corresponding to the time zone before the input time t4 of the last snapshot creation request. As a result, the data 5 is stored in the storage unit 1d having the earliest determination order among the storage units that are prohibited from writing according to a write request from the outside by the snapshot.
  • data 5 can be read from storage means 1d. Since the storage unit 1d precedes the storage unit 1a as the determination order of the presence / absence of data, the number of storage units that determine the presence / absence of data when reading the data 5 is small. As a result, the data read efficiency is improved.
  • the determination unit 2, the reading unit 3, and the storage unit 4 can be realized by a processor included in the information processing apparatus X, for example.
  • the storage units 1a, 1b, 1c, 1d, and 1e can be realized by, for example, a RAM (Random Access Memory) included in the information processing apparatus X.
  • the management server 100 is a computer that creates virtual disks using RAID devices 41, 42, 43,.
  • the management server 100 uses a software RAID technology and generates a virtual RAID group by combining LUs (Logical Units) of RAID devices 41, 42, 43,.
  • the management server 100 sets the virtual RAID group generated in this way as a virtual disk.
  • Management server 100 constructs a logical volume with one or a plurality of virtual disks. Then, the management server 100 accepts access specifying the address in the logical volume from the business servers 31, 32,. Then, the management server 100 accesses the physical area in the RAID device assigned to the designated address.
  • the management server 100 can create a snapshot of information stored in the logical volume. For example, when the management server 100 receives a snapshot creation request from the business servers 31, 32,..., The subsequent access to the data stored in the logical volume at that time is limited to read only (read only). To do. Thereafter, when there is a request to write data to the logical volume, the management server 100 stores the data as difference data.
  • FIG. 3 is a diagram illustrating a configuration example of hardware of the management server used in the present embodiment.
  • the management server 100 is entirely controlled by a processor 101.
  • a RAM 102 and a plurality of peripheral devices are connected to the processor 101 via a bus 109.
  • the processor 101 may be a multiprocessor.
  • the processor 101 is, for example, a central processing unit (CPU), a micro processing unit (MPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), or a programmable logic device (PLD).
  • the processor 101 may be a combination of two or more elements among CPU, MPU, DSP, ASIC, and PLD.
  • the RAM 102 is used as a main storage device of the management server 100.
  • the RAM 102 temporarily stores at least part of an OS (Operating System) program and application programs to be executed by the processor 101.
  • the RAM 102 stores various data necessary for processing by the processor 101.
  • Peripheral devices connected to the bus 109 include an HDD (Hard Disk Drive) 103, a graphic processing device 104, an input interface 105, an optical drive device 106, a device connection interface 107, and network interfaces 108a and 108b.
  • HDD Hard Disk Drive
  • the HDD 103 magnetically writes and reads data to and from the built-in disk.
  • the HDD 103 is used as an auxiliary storage device of the management server 100.
  • the HDD 103 stores an OS program, application programs, and various data.
  • a semiconductor storage device such as a flash memory can also be used as the auxiliary storage device.
  • a monitor 11 is connected to the graphic processing device 104.
  • the graphic processing device 104 displays an image on the screen of the monitor 11 in accordance with a command from the processor 101.
  • Examples of the monitor 11 include a display device using a CRT (Cathode Ray Tube) and a liquid crystal display device.
  • a keyboard 12 and a mouse 13 are connected to the input interface 105.
  • the input interface 105 transmits a signal transmitted from the keyboard 12 or the mouse 13 to the processor 101.
  • the mouse 13 is an example of a pointing device, and other pointing devices can also be used. Examples of other pointing devices include a touch panel, a tablet, a touch pad, and a trackball.
  • the optical drive device 106 reads data recorded on the optical disk 14 using a laser beam or the like.
  • the optical disk 14 is a portable recording medium on which data is recorded so that it can be read by reflection of light.
  • the optical disk 14 includes a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), a CD-R (Recordable) / RW (ReWritable), and the like.
  • the device connection interface 107 is a communication interface for connecting peripheral devices to the management server 100.
  • the memory device 15 and the memory reader / writer 16 can be connected to the device connection interface 107.
  • the memory device 15 is a recording medium equipped with a communication function with the device connection interface 107.
  • the memory reader / writer 16 is a device that writes data to the memory card 17 or reads data from the memory card 17.
  • the memory card 17 is a card type recording medium.
  • the network interface 108a is connected to the network 21.
  • the network interface 108a transmits / receives data to / from the business servers 31, 32,... Via the network 21.
  • the network interface 108b is connected to the network 22.
  • the network interface 108b transmits / receives data to / from the RAID devices 41, 42, 43,.
  • the information processing apparatus X shown in the first embodiment can also be realized by hardware similar to the management server 100 shown in FIG.
  • the management server 100 implements the processing functions of the second embodiment by executing a program recorded on a computer-readable recording medium, for example.
  • the program describing the processing contents to be executed by the management server 100 can be recorded in various recording media.
  • a program to be executed by the management server 100 can be stored in the HDD 103.
  • the processor 101 loads at least a part of the program in the HDD 103 into the RAM 102 and executes the program.
  • a program to be executed by the management server 100 can also be recorded on a portable recording medium such as the optical disc 14, the memory device 15, and the memory card 17.
  • the program stored in the portable recording medium becomes executable after being installed in the HDD 103 under the control of the processor 101, for example.
  • the processor 101 can also read and execute a program directly from a portable recording medium.
  • FIG. 4 is a block diagram illustrating functions of the management server.
  • the management server 100 includes a data management unit 110, a management information storage unit 120, a snapshot creation unit 130, and an access unit 140.
  • the data management unit 110 manages the logical volume 110a using the virtual disks 111, 112,.
  • the virtual disks 111, 112,... are, for example, RAID groups (or LUs within the RAID group) created by software RAID using LUs of RAID devices 41, 42, 43,.
  • the management information storage unit 120 stores management information used for creating a snapshot and accessing data. Details of the management information will be described later (see FIG. 6).
  • the snapshot creation unit 130 creates a snapshot of the logical volume 110a managed by the data management unit 110. For example, the snapshot creation unit 130 creates a snapshot in response to a snapshot creation request from the business servers 31, 32,. When creating a snapshot, the snapshot creation unit 130 causes the data management unit 110 to create a new virtual disk and sets the virtual disk as a new operational disk. Thereafter, data writing to the logical volume 110a is performed on the new operation disk. As a result, the data state at the time of creating the snapshot is stored in the virtual disk incorporated in the logical volume 110a before the creation of the snapshot.
  • the access unit 140 accesses data in the logical volume 110a managed by the data management unit 110 in response to a data access request from the business servers 31, 32,. For example, the access unit 140 writes data to the operation disk. Further, when reading data, the access unit 140 executes a data read process in response to the read request while tracing the virtual disk in order from the active disk. In the process of reading data to each virtual disk, the access unit 140 refers to the update block list corresponding to the virtual disk and determines whether or not a block including the data to be read is stored in the virtual disk. To do. When the data to be read is not stored in the virtual disk, the access unit 140 sequentially executes a read process to the next virtual disk. Then, the access unit 140 reads a block including the corresponding data from the virtual disk having the data to be read.
  • the access unit 140 is an example of a function that includes the determination unit 2, the reading unit 3, and the storage unit 4 in the first embodiment shown in FIG.
  • the virtual disks 111, 112,... are examples of the storage units 1a, 1b, 1c, 1d, and 1e in the first embodiment shown in FIG.
  • the lines connecting the elements shown in FIG. 4 indicate a part of the communication paths, and communication paths other than the illustrated communication paths can be set.
  • FIG. 5 is a diagram showing an example of the arrangement and internal structure of a virtual disk.
  • five virtual disks 111 to 115 are included in the logical volume 110a.
  • the virtual disks 111 to 115 are arranged from the left in the order of early use as the operation disks.
  • Data is written in response to a write request from the business servers 31, 32,... Reading data in response to a read request from the business servers 31, 32,... Is executed in order from a virtual disk that has been used as a working disk later.
  • data reading in response to the read request is sequentially performed from the rightmost virtual disk 115 sequentially to the left.
  • the virtual disk 111 is an original disk that stores data (original data) written before a snapshot is created once.
  • the virtual disk 111 is prohibited from writing data based on a write request from the business servers 31, 32,... After the first snapshot (snapshot # 1) is created.
  • the original data stored in the virtual disk 111 corresponds to the first snapshot.
  • the virtual disks 111 to 115 are arranged in order from the earliest used virtual disk with the virtual disk 111 as the original disk at the head.
  • the virtual disk 111 is first
  • the virtual disk 112 is second
  • the virtual disk 113 is third
  • the virtual disk 114 is fourth
  • the virtual disk 115 is fifth.
  • the virtual disk 112 stores data written between the creation of the first snapshot and the creation of the second snapshot (snapshot # 2). Data written to the virtual disk 112 is difference data from the original data. The virtual disk 112 is prohibited from writing data based on a write request from the business servers 31, 32,... After the second snapshot is created. The data stored in the virtual disks 111 and 112 corresponds to the second snapshot.
  • the virtual disk 115 stores data written after the fourth snapshot creation. Data written to the virtual disk 115 is difference data from the fourth snapshot. The virtual disk 115 is still used as an operation disk and is writable.
  • the data management unit 110 allocates a predetermined amount (for example, 2 GB) of storage area to the created virtual disks.
  • a predetermined threshold for example, 800 MB
  • the data management unit 110 adds a predetermined amount (for example, 2 GB) of storage area to the virtual disk. In this way, a certain amount of free space is always secured in the operating virtual disk. As a result, even if a large amount of data is written, it is not necessary to deplete the storage capacity of the operation disk.
  • each of the virtual disks 111 to 115 includes free space. Therefore, in the second embodiment, the free areas of the virtual disks 111 to 114 in which data writing based on the write request from the business servers 31, 32,... Is prohibited are used as the copy destination of the read data. In this way, the free space is effectively utilized.
  • Whether to copy the data to be read is determined based on the total number of movements of the data.
  • the total number of movements is a cumulative value of the number of movements obtained each time data is read.
  • the number of movements is a value indicating a difference in arrangement in the logical volume 110a from the virtual disk in which the read data is stored to the virtual disk corresponding to the read block management area.
  • the total number of data movements is counted for each virtual volume and held in the management information storage unit 120.
  • the total number of movements is an example of a determination value in the first embodiment.
  • FIG. 6 is a diagram illustrating an example of the data structure of the management information storage unit.
  • the management information storage unit 120 stores a plurality of read block management areas 121a, 121b, 121c,... And a plurality of update block lists 122a, 122b, 122c,.
  • the read block management areas 121a, 121b, 121c,... are provided for each virtual disk newly incorporated in the logical volume 110a when the snapshot is created. For example, device numbers of corresponding virtual disks are set in the read block management areas 121a, 121b, 121c,. The device number is unique information in the virtual disk system.
  • the read block management areas 121a, 121b, 121c,... Include numerical values that serve as indicators for whether or not the read data is to be copied to the corresponding virtual disk. For example, in the read block management areas 121a, 121b, 121c,..., A set of the read data offset and the number of movements is registered. The offset is an address difference from the beginning of the storage area of the logical volume 110a to the data.
  • the data read process is executed when a data read request is input.
  • the virtual disk that is the read start point can be specified.
  • the virtual disk that is used as the operation disk at that time is designated as the read start point.
  • the virtual disk that was used as the active disk until immediately before the snapshot creation is designated as the starting point.
  • FIG. 7 is the first half of a flowchart showing an example of the data reading process. In the following, the process illustrated in FIG. 7 will be described in order of step number.
  • Step S101 When a data read request is input, the access unit 140 selects a virtual disk as a starting point in the read request.
  • Step S103 The access unit 140 newly selects a virtual disk that has been used as an active disk and advances the process to step S102. For example, the access unit 140 performs a data read process on the next virtual disk as a subroutine of a read process on the currently selected virtual disk.
  • Step S113 The access unit 140 determines whether the selected virtual disk is a working disk. If the selected virtual disk is the active disk, the access unit 140 advances the process to step S117. If the selected virtual disk is not a working disk, the access unit 140 proceeds with the process to step S114.
  • the access unit 140 adds 1 to the number of movements.
  • the access unit 140 adds the current number of movements to the total number of movements of data to be read in the selected virtual disk. For example, the access unit 140 specifies the read block management area corresponding to the virtual disk based on the device number of the selected virtual disk from the management information storage unit 120. Next, the access unit 140 adds the current number of movements to the total number of movements corresponding to the offset value of the read data within the specified read block management area.
  • Step S116 The access unit 140 determines whether the selected virtual disk is a virtual disk from which data is read. If the selected virtual disk is the read start point, the access unit 140 advances the process to step S117. If the selected virtual disk is not the read start point, the access unit 140 advances the process to step S112.
  • the access unit 140 determines whether there is a virtual disk in which the total number of data to be read exceeds the threshold. For example, the access unit 140 extracts the total number of moves corresponding to the offset value of the data to be read from all the read block management areas 121a, 121b, 121c,... In the management information storage unit 120, and exceeds the threshold value. Judge whether there is a total number of moves. If there is at least one virtual disk whose total migration exceeds the threshold, the access unit 140 advances the process to step S118. If there is no virtual disk whose total migration exceeds the threshold, the access unit 140 ends the process without copying the data.
  • Step S118 When there is a virtual disk whose total number of movements exceeds the threshold, the access unit 140 determines whether or not the virtual disk has enough free space to copy the data to be read. For example, the access unit 140 compares the free capacity of the virtual disk whose total migration exceeds the threshold with the data amount of the data to be read. If the free space is greater than or equal to the data amount, the access unit 140 determines that the virtual disk has sufficient free space. If there is sufficient free space, the access unit 140 proceeds with the process to step S119. If there is not enough free space, the access unit 140 ends the data reading process.
  • the data reading process will be described using a specific example.
  • the read request other than the read request for the snapshot data created in the past starts from the operation disk.
  • FIG. 9 is a diagram showing an example of data read processing starting from the operation disk.
  • a data read request 51 stored in the virtual disk 111 which is the original disk is input.
  • a block including data to be read is designated by an offset value “xxxxx”.
  • the access unit 140 determines whether or not data to be read is stored in order from the virtual disk 115 that is the active disk. Then, the access unit 140 detects that the data to be read is stored in the virtual disk 111 determined last, and reads the corresponding data 52 from the virtual disk 111 for each block including the data 52. The read data 52 is transmitted to the business server that transmitted the read request 51.
  • FIG. 10 is a diagram illustrating an initial value of the number of movements of read data.
  • the initial value of the movement number the movement number of the virtual disk 111 from which the data 52 has been read is set to “0”.
  • the number of movements is updated while tracing the virtual disk array up to the virtual disk 115 at the starting point of the read request 51. For example, each time the user moves to the next virtual disk, the number of movements is incremented by one.
  • FIG. 11 is a diagram showing an example of updating the total number of movements based on data read processing starting from the operation disk.
  • the movement number of the virtual disk 111 from which the data 52 has been read is “0”, and the movement number of the next virtual disk 112 is “1”. Therefore, the total number of movements “1” is set in the read block management area 121 a corresponding to the virtual disk 112 in association with the offset value “xxxxx” of the block including the data 52.
  • the number of movements of the virtual disk 112 after the virtual disk 112 is “2”. Therefore, the total number of movements “2” is set in the read block management area 121 b corresponding to the virtual disk 113 in association with the offset value “xxxxx” of the block including the data 52.
  • the number of movements in the virtual disk 114 next to the virtual disk 113 is “3”. Accordingly, the total number of movements “3” is set in the read block management area 121 c corresponding to the virtual disk 114 in association with the offset value “xxxxx” of the block including the data 52.
  • the virtual disk 115 used as the operation disk is excluded from the copy destination of the read data. Therefore, the total number of movements corresponding to the virtual disk 115 is not updated.
  • FIG. 12 is a diagram illustrating an example of the second data read process.
  • the second read request 53 for the data 52 is input, the presence or absence of the data 52 is determined in order from the virtual disk 115 that is the starting point, as in the previous case.
  • the data 52 is read from the virtual disk 111 storing the data 52.
  • the total number of movements of the data 52 in each virtual disk is updated.
  • FIG. 13 is a diagram showing an example of updating the total number of movements according to the second data read.
  • the number of movements in each of the virtual disks 111 to 114 is the same as in the first case shown in FIG.
  • the number of movements in the virtual disk 112 is “1”. Therefore, in the read block management area 121a corresponding to the virtual disk 112, “1” is added to the total number of movements corresponding to the offset value “xxxxx” of the block including the data 52 and updated to “2”.
  • the number of movements in the virtual disk 113 is “2”. Therefore, in the read block management area 121b corresponding to the virtual disk 113, “2” is added to the total number of movements corresponding to the offset value “xxxxx” of the block including the data 52 and updated to “4”.
  • the number of movements in the virtual disk 114 is “3”. Therefore, in the read block management area 121c corresponding to the virtual disk 114, “3” is added to the total number of movements corresponding to the offset value “xxxxx” of the block including the data 52 and updated to “6”.
  • the total number of movements “6” corresponding to the data 52 in the virtual disk 114 exceeds the threshold value “5”. Therefore, it is determined whether or not the virtual disk 114 has enough free space to copy the data 52.
  • FIG. 14 is a diagram showing the determination status of the free capacity of the data copy destination.
  • the data amount of the data 52 stored in the virtual disk 111 is a byte (a is a positive real number), and the free space capacity of the virtual disk 114 is b bytes (b is a positive real number). .
  • FIG. 15 is a diagram showing a copy example of data.
  • the data 52 of the virtual disk 111 is copied to the virtual disk 114.
  • the copied data is stored in the virtual disk 114 as difference data.
  • the offset value of the block including the data 52 is set in the update block list (see FIG. 6) corresponding to the virtual disk 114.
  • FIG. 16 is a diagram illustrating an example of the third data read process.
  • the third read request 54 for the data 52 is input, the presence / absence of the data 52 is determined in order from the virtual disk 115 as the starting point. Then, since the offset value of the block including the data 52 is set in the update block list of the virtual disk 114, it is determined that the data 52 is stored in the virtual disk 114. Therefore, the data 52 is read from the virtual disk 114.
  • the fourth and subsequent readings of the data 52 can also be performed from the virtual disk 114.
  • the data can be quickly read out by copying the data to a virtual disk that has a fast determination order of the presence or absence of data at the time of reading. .
  • the presence / absence of the data 52 is determined for five virtual disks.
  • the data 52 is read for the third time and thereafter, it is only necessary to determine whether or not the data 52 exists by using two virtual disks. As described above, the number of virtual disks for determining the presence or absence of the data 52 is reduced, so that the data read efficiency is improved.
  • ⁇ Data read request may be made for snapshots created in the past.
  • the virtual disk that has been used as the active disk until immediately before the creation of the snapshot is the starting point for determining whether there is data.
  • FIG. 17 is a diagram illustrating an example of a process for reading snapshot data.
  • a read request 55 that requests reading of the data 52 of the offset value “xxxxx” from the snapshot (snapshot # 3) created for the third time.
  • the virtual disk 113 that has been used as the active disk until immediately before the third snapshot creation is the starting point for determining whether the data 52 exists.
  • the data 52 is stored in the virtual disk 111 that is the original disk, and the data 52 is read from the virtual disk 111.
  • the movement number is set for each of the virtual disks 111 to 113 from the virtual disk 111 from which the data 52 has been read to the starting virtual disk 113. . Based on the set number of movements, the total number of movements corresponding to the read data is set for each virtual disk.
  • FIG. 18 is a diagram showing an example of setting the total number of movements when reading snapshot data.
  • the movement number of the virtual disk 111 from which the data 52 has been read is “0”, and the movement number of the next virtual disk 112 is “1”. Therefore, in the read block management area 121a corresponding to the virtual disk 112, “1” is added to the total number of movements corresponding to the offset value “xxxxx” of the block including the data 52 and updated to “2”.
  • the number of movements of the virtual disk 112 in the next virtual disk 113 is “2”. Therefore, in the read block management area 121b corresponding to the virtual disk 113, “2” is added to the total number of movements corresponding to the offset value “xxxxx” of the block including the data 52 and updated to “4”. At this time, there is no total number of movements exceeding the threshold “5”.
  • FIG. 19 is a diagram illustrating an example of a second read process of snapshot data.
  • a third read request 56 of the data 52 from the snapshot created for the third time is input, the presence or absence of the data 52 is determined in order from the virtual disk 113 that is the starting point, as in the first time. Then, the data 52 is read from the virtual disk 111 storing the data 52. Then, in accordance with the reading of the data 52, the total number of movements of the blocks including the data 52 in the virtual disks 112 and 113 is updated.
  • the total number of movements of blocks including data 52 in the virtual disk 112 is updated to “3”, and the total number of movements of blocks including data 52 in the virtual disk 113 is updated to “6”.
  • the total number of movements of the blocks including the data 52 in the virtual disk 113 exceeds the threshold “5”. Therefore, after confirming that the virtual disk 113 has sufficient free space, the block including the data 52 is copied to the virtual disk 113.
  • FIG. 20 is a diagram showing an example of data copy in response to reading of snapshot data.
  • the data 52 of the virtual disk 111 is copied to the virtual disk 113.
  • the copied data is held in the virtual disk 113 as difference data.
  • the offset value of the block including the data 52 is set in the update block list (see FIG. 6) corresponding to the virtual disk 113.
  • the data 52 is read from the virtual disk 113.
  • the total number of moves is also updated when snapshot data is read. That is, when the virtual disk in the logical volume 110a has a plurality of tiers due to the creation of the snapshot, the data can be read out during the operation and the snapshot data can be read out.
  • the virtual disk that is the starting point for determining the presence / absence of data differs between when data is being read and when snapshot data is read.
  • read efficiency can be improved by copying data with high read frequency near the virtual disk that is the starting point. Therefore, in the second embodiment, the number of movements is added to the total number of movements without distinguishing which virtual disk is the read request. Thereby, by determining the necessity of copying and the copy destination based on the total number of movements, it is possible to perform appropriate copying for improving the overall reading efficiency.
  • the virtual disk used as the operation disk is excluded as the data copy destination, but the operation disk can be included in the data copy destination.
  • the access unit 140 also provides a corresponding read block management area for the operational disk, and manages the total number of movements for each data. Then, when the total number of movements on the active disk exceeds the threshold, the access unit 140 copies the read data to the active disk. For example, data may be copied to the active disk when there is not enough free space on the virtual disk whose total number of movements exceeds the threshold and data cannot be copied to the virtual disk.
  • the total number of data movements is calculated for each storage unit. This is also intended to improve the data reading efficiency when reading data from a created snapshot. It is.
  • the access unit 140 moves the virtual disk before the operation disk. Calculate only the total number.
  • the access unit 140 detects data in which the total number of movements in the virtual disk before the active disk exceeds the threshold, the access unit 140 stores the data in the virtual disk before the active disk.
  • the logical volume 110a is composed of one or more virtual disks, but a physical disk or SSD (Solid State Drive) can be used instead of the virtual disk.
  • SSD Solid State Drive

Abstract

La présente invention concerne l'amélioration de l'efficacité de la lecture des données. Des moyens de mémorisation (1a, 1b, 1c, 1d, 1e) sont associés, respectivement, à une pluralité de périodes (T1, T2, T3, T4, T5). Les moyens de mémorisation (1a, 1b, 1c, 1d, 1e) mémorisent des données, mises à jour dans les périodes correspondantes. Dès la réception d'une entrée d'une demande de lecture de données (5), un moyen de détermination (2) détermine, dans un ordre prescrit, si les données (5) sont mémorisées dans chacun des moyens de mémorisation. Un moyen de lecture (3) lit les données (5) à partir du moyen de mémorisation (1a), dans lequel sont mémorisées les données (5) désignées par la requête de lecture. Un moyen de stockage (4) stocke ensuite les données (5) dans un moyen de mémorisation (1d), qui présente un ordre prescrit antérieur au moyen de mémorisation (1a).
PCT/JP2012/067478 2012-07-09 2012-07-09 Programme, procédé de gestion de données et dispositif de traitement d'informations WO2014010016A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/067478 WO2014010016A1 (fr) 2012-07-09 2012-07-09 Programme, procédé de gestion de données et dispositif de traitement d'informations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/067478 WO2014010016A1 (fr) 2012-07-09 2012-07-09 Programme, procédé de gestion de données et dispositif de traitement d'informations

Publications (1)

Publication Number Publication Date
WO2014010016A1 true WO2014010016A1 (fr) 2014-01-16

Family

ID=49915519

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/067478 WO2014010016A1 (fr) 2012-07-09 2012-07-09 Programme, procédé de gestion de données et dispositif de traitement d'informations

Country Status (1)

Country Link
WO (1) WO2014010016A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017060495A1 (fr) * 2015-10-08 2017-04-13 The Roberto Giori Company Ltd Procédé et système de sauvegarde répartie dynamique

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009146228A (ja) * 2007-12-14 2009-07-02 Fujitsu Ltd バックアップ装置、バックアップ方法およびバックアッププログラム
JP2009205307A (ja) * 2008-02-26 2009-09-10 Nec Corp データ格納方法及びその装置、複製データ格納方法及びその装置並びにそれらの制御プログラム
JP2012022490A (ja) * 2010-07-14 2012-02-02 Fujitsu Ltd データ処理装置、データ処理方法、データ処理プログラムおよびストレージ装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009146228A (ja) * 2007-12-14 2009-07-02 Fujitsu Ltd バックアップ装置、バックアップ方法およびバックアッププログラム
JP2009205307A (ja) * 2008-02-26 2009-09-10 Nec Corp データ格納方法及びその装置、複製データ格納方法及びその装置並びにそれらの制御プログラム
JP2012022490A (ja) * 2010-07-14 2012-02-02 Fujitsu Ltd データ処理装置、データ処理方法、データ処理プログラムおよびストレージ装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017060495A1 (fr) * 2015-10-08 2017-04-13 The Roberto Giori Company Ltd Procédé et système de sauvegarde répartie dynamique
US10678468B2 (en) 2015-10-08 2020-06-09 The Robert Giori Company Ltd. Method and system for dynamic dispersed saving

Similar Documents

Publication Publication Date Title
US10776278B2 (en) Storage control apparatus and computer-readable storage medium storing storage control program
JP4733461B2 (ja) 計算機システム、管理計算機及び論理記憶領域の管理方法
JP6476932B2 (ja) ストレージ装置,制御プログラム,ストレージシステム及びデータ転送方法
CN102929786A (zh) 非易失性存储设备集合的易失性存储器表示
JP2013045379A (ja) ストレージ制御方法、情報処理装置およびプログラム
JP2008015623A (ja) 複数種類の記憶デバイスを備えたストレージシステムの制御装置
US20130054727A1 (en) Storage control method and information processing apparatus
US10789007B2 (en) Information processing system, management device, and control method
US9703695B2 (en) Control device, storage device, and computer-readable recording medium having stored therein control program
JP6558059B2 (ja) ストレージ制御装置、ストレージ制御プログラム、およびストレージシステム
JP6867578B2 (ja) ストレージ制御装置、ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
US11429431B2 (en) Information processing system and management device
CN107526533B (zh) 存储管理方法及设备
US10133517B2 (en) Storage control device
US11010091B2 (en) Multi-tier storage
JP7323769B2 (ja) ストレージ装置、ストレージシステムおよびプログラム
US10430287B2 (en) Computer
US20160224273A1 (en) Controller and storage system
WO2014010016A1 (fr) Programme, procédé de gestion de données et dispositif de traitement d'informations
WO2014010011A1 (fr) Programme, procédé de gestion de données et dispositif de traitement d'informations
US11803469B2 (en) Storing data in a log-structured format in a two-tier storage system
JP2011242862A (ja) ストレージサブシステム及びその制御方法
US10324631B2 (en) Control apparatus, storage apparatus and method
JP2018163457A (ja) ストレージ制御装置、キャッシュメモリ制御方法及びストレージシステム
JP5924117B2 (ja) コンピュータ、データ格納方法、データ格納プログラム及び情報処理システム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12880767

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP