WO2018109818A1 - データの格納を制御する計算機システム及び方法 - Google Patents

データの格納を制御する計算機システム及び方法 Download PDF

Info

Publication number
WO2018109818A1
WO2018109818A1 PCT/JP2016/086980 JP2016086980W WO2018109818A1 WO 2018109818 A1 WO2018109818 A1 WO 2018109818A1 JP 2016086980 W JP2016086980 W JP 2016086980W WO 2018109818 A1 WO2018109818 A1 WO 2018109818A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
value
stored
file
learning
Prior art date
Application number
PCT/JP2016/086980
Other languages
English (en)
French (fr)
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/JP2016/086980 priority Critical patent/WO2018109818A1/ja
Publication of WO2018109818A1 publication Critical patent/WO2018109818A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Definitions

  • the present invention generally relates to control of data storage.
  • Patent Document 1 discloses that when the monitored free storage capacity falls below a threshold, the free storage capacity is recovered by deleting the data segment classified at the lowest level.
  • the storage capacity can be recovered, but the free storage capacity reaches a threshold value during processing such as determination, and as a result, the write request may not be accepted. .
  • the computer system performs the following (A) to (C) (A)
  • the data subject to the write request and stored in the cache area is stored in one of the one or more storage devices before being stored in any of the one or more storage devices. Determining the data value of the write target data based on management information including stored data management information indicating the data access status and data type for each data; (B) If the data value determined for the write target data is greater than or equal to a predetermined value, storing the write target data in one or more storage devices; (C) If the data value determined for the write target data is less than a predetermined value, the write target data is not stored in any one or more storage devices; Execute.
  • FIG. 2 is a schematic diagram showing an outline of Example 1;
  • 1 is a block diagram showing an overall configuration of an information system including a computer system according to Embodiment 1.
  • FIG. The figure which shows a content management table.
  • the figure which shows a learning management table. The figure which shows the flow of a prior learning process.
  • the figure which shows the flow of a value update process The figure which shows the flow of a host I / O process.
  • the figure which shows the flow of a write process The figure which shows the flow of an update write process.
  • FIG. 10 is a diagram illustrating a flow of write processing according to the second embodiment.
  • FIG. 6 is a schematic diagram showing an outline of Example 3.
  • a common sign may be used among the reference signs, and when distinguishing the same kind of elements, the reference signs may be used.
  • PDEV 24 when PDEV is not distinguished, it is referred to as “PDEV 24”, and when PDEV is distinguished, it is referred to as “high spec PDEV 24H” or “low spec PDEV 24L”.
  • PDEV means a physical storage device, typically a nonvolatile storage device.
  • the PDEV is, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
  • the “interface unit” includes one or more interfaces.
  • the one or more interfaces may be one or more similar interface devices (for example, one or more NIC (Network Interface Card)) or two or more different interface devices (for example, NIC and HBA (Host Bus Adapter)). There may be.
  • NIC Network Interface Card
  • HBA Home Bus Adapter
  • the “storage unit” includes one or more memories.
  • the at least one memory may be a volatile memory or a non-volatile memory.
  • the storage unit is mainly used during processing by the processor unit.
  • the “processor unit” includes one or more processors.
  • the at least one processor is typically a microprocessor such as a CPU (Central Processing Unit).
  • Each of the one or more processors may be a single core or a multi-core.
  • the processor may include a hardware circuit that performs part or all of the processing.
  • the process may be described using “program” as the subject, but the program is executed by the processor unit, so that the determined process can be appropriately performed in the storage unit and the interface unit.
  • the subject of processing may be a processor unit (or a computer or a computer system having a processor unit).
  • the program may be installed in the computer from a program source.
  • the program source may be, for example, a storage medium that can be read by a program distribution server or a computer.
  • two or more programs may be realized as one program, or one program may be realized as two or more programs.
  • at least a part of the processing realized by executing the program may be realized by a hardware circuit (for example, ASIC (Application Specific Specific Integrated Circuit) or FPGA (Field-Programmable Gate Array)).
  • ASIC Application Specific Specific Integrated Circuit
  • FPGA Field-Programmable Gate Array
  • information may be described using an expression such as “xxx table”, but the information may be expressed in any data structure. That is, in order to show that the information does not depend on the data structure, the “xxx table” can be referred to as “xxx information”.
  • the configuration of each table is an example, and one table may be divided into two or more tables, or all or part of the two or more tables may be a single table. Good.
  • time is expressed in units of year / month / day / hour / hour / minute / second, but the time unit may be coarser or finer than that, or may be a different unit.
  • the “computer system” includes at least one of a physical computer and a physical storage device.
  • At least one physical computer may execute a virtual computer (for example, VM (Virtual Machine)).
  • At least one physical computer or at least one storage apparatus may execute software-defined anything (SDx).
  • SDx for example, SDS (Software Defined Storage) (an example of a virtual storage device) or SDDC (Software-defined Datacenter) can be adopted.
  • the “management system” may be composed of one or more computers.
  • the management computer when the management computer has a display device and the management computer displays information on its own display device, the management computer may be a management system.
  • a management computer for example, a server
  • transmits display information to a remote display computer for example, a client
  • the display computer displays the information (when the management computer displays information on the display computer)
  • a system including at least the management computer among the management computer and the display computer may be a management system.
  • the “host system” may be composed of one or more host computers.
  • data determined as low value is referred to as “low value data”
  • data determined as medium value is referred to as “medium value data”
  • data determined as high value is referred to as “high value data”.
  • Data The data value is not limited to three levels of low, medium and high, but may be two levels or four or more levels.
  • FIG. 1 is a schematic diagram showing an outline of the present embodiment.
  • the computer system 30 has one or more PDEVs 24, typically a plurality of PDEVs 24.
  • the plurality of PDEVs 24 include a high-spec PDEV 24H and a low-spec 24L.
  • the specifications of the PDEV may depend on at least one of the functions, storage capacity, reliability, and performance (eg, I / O speed) that the PDEV has.
  • a high-spec PDEV is a PDEV having a relatively high spec (for example, a PDEV having at least one of high function, large storage capacity, high reliability, and high performance (for example, high I / O speed), for example, SSD (
  • the low-spec PDEV 24L has at least one of a relatively low-spec PDEV (eg, low function, small storage capacity, low reliability, and low performance (eg, low I / O speed)).
  • PDEV for example, an HDD (Hard Disk Drive) having a SAS (Serial Attached SCSI) interface, and at least one of the plurality of PDEVs 24 may be outside the computer system 30.
  • the type of PDEV Are the same, the high-spec PDEV 24H may be a PDEV with a large storage capacity, and the low-spec PDEV 24L may be a PD with a small storage capacity. EV is sufficient.
  • the computer system 30 executes the learning program 16, the storage control program 18, and the reduction program 20.
  • the learning program 16 determines the data value of the write target data that is data in accordance with the write request.
  • the write request is typically a write request from a user (for example, a host system described later), but other types of write requests such as a write request corresponding to a copy request from a remote computer system (not shown) can also be used. Good.
  • the “write request” includes “update write request” using update data as write target data and “new write request” using new data as write target data.
  • Stored data is data stored in any of the plurality of PDEVs 24.
  • “Update data” is data for updating stored data corresponding to the data.
  • “New data” means new data for which no stored data corresponding to the data exists.
  • the learning program 16 executes data value determination before storing the write target data in any of the plurality of PDEVs 24. Depending on the data value determination result, the learning program 16 does not store the write target data in any PDEV 24, and returns a predetermined response (for example, a response indicating non-execution of storage) to the transmission source of the write request. .
  • the data that is the target of “determination of data value” here is non-updated data (stored data updated by updated data) or new data.
  • the “data value” depends on at least one of the data access status and the data type.
  • the “data access status” depends on at least one of the number of reads, the number of writes, and the last access time.
  • the “data type” depends on at least one of the data file identifier, the data attribute, and the data transmission source device type.
  • the storage control program 18 inputs / outputs data to / from a plurality of PDEVs 24.
  • the storage control program 18 stores the write target data according to the write request in any PDEV 24, or reads the read target data that is the data according to the read request from the PDEV storing the data and transmits the read request source. Or send to.
  • the reduction program 20 executes a data amount reduction process.
  • the data amount reduction processing is processing for reducing the data amount, and is typically at least one of compression processing and deduplication processing.
  • the reduction program 20 may be able to decompress the read target compressed data (compressed data and stored data), or find and return data that overlaps the read target data. .
  • At least a part of the processing (for example, compression processing or decompression processing) performed by the reduction program 20 may be realized by a hardware circuit.
  • the learning program 16 determines the data value of the write target data according to the write request 12.
  • the learning program 16 When it is determined that the write target data is low value, the learning program 16 outputs a low value data arrangement presentation 14 to the user.
  • the low-value data organization / presentation 14 is a presentation for organizing low-value data (for example, deleting at least one low-value data from the computer system 30).
  • the presentation 14 may include, for example, at least one of an ID (for example, a file name) of write target data determined to be low value and an ID of stored low value data other than the write target data. “Stored low-value data other than write target data” may be limited to stored low-value data similar to the write target data determined to be low value.
  • the learning program 16 stores the write target data determined to be high value or medium value in any PDEV 24 via the storage control program 18.
  • the high-value data 22 is stored in the high-spec PDEV 24.
  • the medium value data 28 is stored in the low-spec PDEV 26 via the reduction program 20.
  • the value of data is determined before data is stored, and only necessary data can be stored in the PDEV 24 according to the determination result, and unnecessary data is stored in the PDEV 24 even temporarily. You can avoid that. Therefore, the amount of data stored in the PDEV 24 is reduced. As a result, the number of PDEVs 24 can be restricted and storage management costs can be expected to be reduced. For example, particularly in an in-house document management system for enterprises, it is possible to avoid storing data that is unlikely to be actually used even if stored.
  • FIG. 2 is a block diagram showing the overall configuration of the information system including the computer system 30.
  • a management system 32 and a host system 34 are connected to the computer system 30 via a communication network (for example, an IP (Internet Protocol) network).
  • a management system 32 manages the computer system 30.
  • the host system 34 transmits an I / O (Input / Output) request to the computer system 30.
  • the computer system 30 is a file storage system in this embodiment, but may be another type of computer system such as an object storage system. That is, in this embodiment, “data” typically means a file, but may be other types of data such as an object.
  • the computer system 30 includes a network interface (I / F) 38, a plurality of PDEVs 24 (one or more high-spec PDEV 24H and one or more low-spec PDEV 24L), a memory 44, and a processor 36 connected thereto. Via the I / F 38, reception of an I / O request and transmission of a response to the I / O request are performed.
  • the processor 36 manages a plurality of PDEVs 24 by executing at least one computer program.
  • the memory 44 stores a program group 62 which is one or more computer programs executed by the processor 36 and management information 64 which is information referred to by at least one computer program.
  • the memory 44 is provided with a cache area 60 in which data input / output to / from the PDEV 24 is temporarily stored.
  • the program group 62 includes a storage control program 18, a reduction program 20, and a learning program 16.
  • the management information 64 includes a content management table 52 that holds information about files (contents) and a learning management table 58 that holds information about learning results.
  • the configuration of the computer system 30 is not limited to the configuration shown in FIG.
  • a virtual host system for example, VM (Virtual Machine)
  • the learning program 16 receives a write request from a virtual host system in the computer system 30.
  • FIG. 3 shows the content management table 52.
  • the content management table 52 is an example of stored data management information.
  • the content management table 52 holds information such as a file name 70, a read count 72, a write count 74, a data type 76, and a last access time 78 for each stored file.
  • a “stored file” is a file stored in any PDEV 24.
  • the file name 70 is the name of the file.
  • the read count 72 represents the number of times the file has been read.
  • the number of writes 74 represents the number of times the file has been written (for example, the total of new writes and updated writes).
  • the data type 76 represents a file type.
  • the last access time 78 represents the time when the file was last read or written.
  • the file type depends on at least one of the file identifier, the file attribute, and the type of the transmission source device of the data included in the file. For example, as a file type, “confidential”, which means a confidential file, “log”, which means a file containing log data, and a file containing data from a sensor There is a “sensor” to do.
  • FIG. 4 shows the learning management table 58.
  • the learning management table 58 includes two types of tables, specifically, a learning target management table 80 and a low value determination management table 90. Further, the learning management table 58 includes information such as a write count reference value 91, a read count reference value 93, and a last access time reference value 95.
  • the learning target management table 80 holds information such as a file name 82, a data value 84, and a determination time 86 for each file subjected to learning processing (data value determination).
  • the file name 82 is the name of the file.
  • the data value 84 represents the determined data value (that is, one of “high”, “medium”, and “low”).
  • the determination time 86 represents the time when the data value is determined.
  • the low-value confirmation management table 90 holds information regarding a low-value confirmation file (a file whose data value is determined to be “low” and which is determined to be unnecessary by the user (storage abandonment)).
  • the low-value confirmation management table 90 holds information such as a file name 92, a determination reason 94, and a confirmation time 96 for each low-value confirmation file.
  • the determination reason 94 represents the reason why it is determined to be low value (data value “low”).
  • the reason why it is adopted as the determination reason 94 is, for example, “There is a duplicate file” which means that another file with the same file name or a small difference in file contents is already stored, and has already been determined to be low value. "Similarity value judgment” that means that the file and file name or contents are similar, or "business unnecessary file” that means that the file contains private contents that are unnecessary for business is there.
  • a write count reference value 91 As a reference for data value determination, a write count reference value 91, a read count reference value 93, and a last access time reference value 95 are provided. For each of these reference values 91, 93 and 95, the data value is determined based on at least one of whether or not the reference value is exceeded and the magnitude of the difference from the reference value.
  • The For example, a file corresponding to the last access time 78 representing a time past the last access time reference value 95 that means half a year before the date to which the current time belongs, that is, a file that has not been accessed within half a year, The value may be lowered to a value one level lower than the current value. At least one of these reference values 91, 93, and 95 may be set at the time of system initialization, or may be set or updated as appropriate by the management system 32 during operation of the computer system 30.
  • Fig. 5 shows the flow of the pre-learning process.
  • the pre-learning process is periodically performed on all stored files asynchronously with the host I / O process. This is because the data value of the file may change due to an increase in the number of writes or reads. Note that the pre-learning process may not be performed after being repeatedly performed for a certain period. This is different from the post-storage learning process (third embodiment) described later, which is performed asynchronously with the host I / O process (write process).
  • the pre-learning collection process is a process for the purpose of making it possible to determine the data value in the write process.
  • Step 501 The learning program 16 determines whether or not there is a learning target file. If the determination result is true (step 501: Yes), the process proceeds to step 502. If the determination result is false (step 501: No), the process is completed.
  • Step 502 The learning program 16 refers to information (entry) on the file in the content management table 52 in order to determine the data value of the file. Thereafter, the process proceeds to step 503.
  • Step 503 The learning program 16 executes value update processing for determining and updating the data value of the file. Details of the value update processing are shown in FIG. Thereafter, the process returns to step 501.
  • FIG. 6 shows a flow of value update processing.
  • description will be made by taking one learning target file as an example.
  • Step 601 The learning program 16 determines whether or not the write count reference value 91 and the read count reference value 93 set in the learning management table 58 exceed the write count 74 and the read count 72 of the learning target file, respectively. To do. If the determination result is true, that is, if the write count 74 exceeds the write count reference value 91 or the read count 72 exceeds the read count reference value 93 (step 601: Yes), the process proceeds to step 602. . If the determination result is false (step 601: No), the process proceeds to step 604.
  • Step 602 The learning program 16 determines whether or not the last access time 78 of the file exceeds the last access time reference value 95 (that is, whether or not there has been no access beyond a certain period). If the determination result is true (step 602: Yes), the process proceeds to step 604. If the determination result is false (step 602: No), the process proceeds to step 603.
  • Step 604 The learning program 16 determines whether or not the data type 76 of the file is “confidential”. If the determination result is true (step 604: Yes), the process proceeds to step 603. If the determination result is false (step 604: No), the process proceeds to step 605.
  • Step 605 The learning program 16 determines whether or not the data type 76 of the file is “sensor”. If the determination result is true (step 605: Yes), the process proceeds to step 606. If the determination result is false (step 605: No), the process proceeds to step 607.
  • Step 607 The learning program 16 determines that the file is low value, that is, registers or updates the file name 82, the data value 84 “low”, and the determination time 86 of the file. Thereafter, the process proceeds to step 608.
  • Step 606 The learning program 16 determines that the file is medium value, that is, registers or updates the file name 82, the data value 84 “medium”, and the determination time 86 of the file.
  • Step 603 The learning program 16 determines that the file is high value, that is, registers or updates the file name 82, the data value 84 “high”, and the determination time 86 of the file.
  • Step 608 The learning program 16 registers the file name 92 and the determination reason 94 of the file in the low-value finalized file 90.
  • the determination reason 94 may be, for example, “low value determination”.
  • This registration is a provisional registration.
  • a storage abandonment (unnecessary) designation by the user a fixed time 96 is registered by the learning program 16, while when the user receives a storage permission designation, the file is registered this time.
  • the file name 92 and the determination reason 94 may be deleted from the low value determination management table 90 by the learning program 16.
  • Attributes other than the data access status as the actual measurement value, for example, the data type 76 are considered for a file corresponding to any of the access count of the reference value 91 or 93 or less and the file not being accessed even after a certain period of time. .
  • a file of data type 76 “confidential” is determined to be high value.
  • a file of data type 76 “sensor” is determined to be medium value. As an example of the reason, sensor data is generally used for analysis or the like after being accumulated to some extent.
  • a file whose data type 76 does not correspond to either “confidential” or “sensor” is determined to be low value.
  • FIG. 7 shows the flow of host I / O processing.
  • the host I / O process is started when the computer system 30 receives an I / O request from the host system 34.
  • Step 701 The learning program 16 determines whether or not the I / O request is a write request. If the determination result is true (step 701: Yes), the process proceeds to step 703. If the determination result is false (step 701: No), the process proceeds to step 702.
  • Step 702 The learning program 16 causes the storage control program 18 to perform read processing, that is, read the file according to the read request from the PDEV 24 and transmit it to the host system 34.
  • Step 703 The learning program 16 performs a write process. Details are shown in FIG.
  • FIG. 8 shows the flow of write processing.
  • the file (file according to the write request) is stored in the cache area 60 and not stored in the PDEV 24.
  • the file may be stored in the cache area 60 by the processor 36 or may be stored in the cache area 60 by DMA (Direct Memory Access).
  • DMA Direct Memory Access
  • Step 801 The learning program 16 determines whether or not the file (data) according to the write request is update data of the stored file. If the determination result is true (step 801: Yes), the process proceeds to step 802. If the determination result is false (step 801: No), the process proceeds to step 803.
  • Step 802 The learning program 16 performs an update write process. Details are shown in FIG.
  • Step 803 The learning program 16 performs a new write process. Details are shown in FIG.
  • FIG. 9 shows the flow of update write processing.
  • Step 901 The learning program 16 determines whether the file is of high value based on an actual measurement value such as at least one of the write count 74, data type 76, and last access time 78 of the file stored in the cache area 60. Determine whether or not. If the determination result is true (step 901: Yes), the process proceeds to step 902. If the determination result is false (step 901: No), the process proceeds to step 903. In step 901, unlike the prior value update process, the data value of the file is determined based only on the actual measurement value, and the data type 76 of the non-update file corresponding to the file may not be considered. This is because the actual value may change, and the data value may decrease or increase, but the data type 76 typically does not change.
  • an actual measurement value such as at least one of the write count 74, data type 76, and last access time 78 of the file stored in the cache area 60. Determine whether or not. If the determination result is true (step 901: Yes), the process proceeds to step 902. If the determination result is false (step 90
  • Step 903 The learning program 16 determines whether or not the file is of low value. If the determination result is true (step 903: Yes), the process proceeds to step 904. If the determination result is false (step 903: No), the process proceeds to step 905 because the file is of medium value. Note that also in step 903, unlike the previous value update process, the data value of the file may be determined based only on the actual measurement value, similarly to step 901.
  • Step 904 The learning program 16 issues a low-value data arrangement presentation 14 (see FIG. 1). Specifically, the learning program 16 notifies the host system 34 (that is, the user) to organize the data together with the file name 92 and the determination reason 94 of the file. Thereafter, the process proceeds to step 907.
  • the host system 34 that is, the user
  • Step 905 The learning program 16 instructs the storage control program 18 to perform the data amount reduction processing (compression processing or deduplication processing) of the file.
  • the storage control program 18 reduces the data capacity of the file by causing the reduction program 20 to execute the data amount reduction processing of the file in accordance with the command. Thereafter, the process proceeds to step 906.
  • Step 902 The learning program 16 causes the storage control program 18 to write the file in the cache area 60 to the high-spec PDEV 24H.
  • the storage control program 18 writes the file in the cache area 60 to the high-spec PDEV 24H. Thereafter, the process proceeds to step 907.
  • Step 906 The learning program 16 causes the storage control program 18 to write the file in the cache area 60 to the low-spec PDEV 24L.
  • the storage control program 18 writes the file in the cache area 60 to the low-spec PDEV 24L. Thereafter, the process proceeds to step 907.
  • Step 907 The learning program 16 updates the learning management table 58. For example, the learning program 16 updates at least one of the data value 84 and the determination time 86 of the file. Alternatively, for example, when the user gives a storage abandonment designation for the file in response to Step 904, the learning program 16 deletes the file from the cache area 60 and sets the file at a fixed time 96 (for example, the user The time when the storage was abandoned for the file was registered.
  • the organization notification (step 904) (low-value data organization presentation 14 (see FIG. 1)) is performed for each file, but a plurality of files may be notified together.
  • FIG. 10 shows the flow of new write processing.
  • the new write process means a write process in a case where a stored file corresponding to a file complying with the write request does not exist in the computer system 30.
  • Step 1001 The learning program 16 determines whether or not there is a stored file (similar file) similar to the file stored in the cache area 60 with reference to the content management table 52.
  • the similar file is, for example, at least one of having a file name that matches or is similar to the file name of the file, and that includes a file content whose difference from the file content of the file is a predetermined value or less.
  • a stored file that satisfies If the determination result is true (step 1001: Yes), the process proceeds to step 1002, and if the determination result is false (step 1001: No), the process proceeds to step 1004.
  • Step 1002 The learning program 16 refers to the learning management table 58 and determines whether or not the data value 84 of the similar file is “low”. If the determination result is true (step 1002: Yes), the process proceeds to step 1003. If the determination result is false (step 1002: No), the process proceeds to step 1004.
  • Step 1003 The learning program 16 performs the same processing as in Step 904. Thereafter, the process proceeds to Step 1008.
  • Step 1004 The learning program 16 determines whether or not the file is medium value based on the data type of the file. If the determination result is true (step 1004: Yes), the process proceeds to step 1005. If the determination result is false (step 1004: No), the process proceeds to step 1007.
  • step 1004 unlike the prior value update process, the data value of the file is determined based only on the data type, and the actual measurement value of the file may not be considered. This is because there are no actual measurement values (write count, read count, and last access time) described above for the new file.
  • Step 1005 The learning program 16 performs the same processing as in Step 905. Thereafter, the process proceeds to step 1006.
  • Step 1006 The learning program 16 performs the same processing as in Step 906. Thereafter, the process proceeds to Step 1008.
  • Step 1007 The learning program 16 performs the same processing as in Step 902. Thereafter, the process proceeds to Step 1008.
  • Step 1008 The learning program 16 updates the learning management table 58. For example, the learning program 16 updates at least one of the data value 84 and the determination time 86 of the file. Alternatively, for example, when the user receives a storage abandonment designation for the file in response to step 1003, the learning program 16 deletes the file from the cache area 60, and the file name 92 and the determination reason for the file. 94 and the confirmation time 96 (for example, the time when the user gave up the file for storage) is registered (the file is a new file, so an entry corresponding to the new file is registered in the low-value confirmation management table 90 for the first time). .
  • the confirmation time 96 for example, the time when the user gave up the file for storage
  • FIG. 11 shows a flow of the storage determination process performed by the user who has received the organizing notification.
  • Step 1101 The user determines whether to permit storage of the file determined to be low value. If the determination result is true (step 1101: Yes), the process proceeds to step 1103. If the determination result is false (step 1101: No), the process proceeds to step 1102.
  • Step 1102 The user notifies the computer system 30 that the file has not been stored.
  • Step 1103 The user notifies the computer system 30 of permission to store the file, and transfers the file to the computer system 30 again.
  • FIG. 12 shows a flow of permission reception processing executed by the learning program 16 that has received storage permission.
  • Step 1201 The learning program 16 performs the same processing as in Step 905. Then, it progresses to step 1202.
  • Step 1202 The learning program 16 performs the same processing as in Step 906. Thereafter, the process proceeds to step 1203.
  • Step 1203 The learning program 16 updates the data value 84 of the file from “low” to “medium”, and updates the determination time 86 of the file to the time when the data value 84 is updated to “medium”. . In addition, if there is an entry corresponding to the file (or a similar file of the file) in the low value determination management table 90, the learning program 16 deletes the entry from the table 90.
  • FIG. 13 shows a flow of abandonment reception processing executed by the learning program 16 that has received abandonment.
  • Step 1301 The learning program 16 deletes the file from the cache area 60, and registers the file name 92, the determination reason 94, and the confirmation time 96 corresponding to the file (or a similar file of the file).
  • the data value of the file is determined, and a necessary file (a file determined to be high value or medium value or determined to be low value is determined according to the determination result). Can only be stored in the PDEV 24 even if the file is allowed to be stored by the user, and the low-value file for which storage has been abandoned is prevented from being stored in the PDEV 24 (or remaining). Can do. Therefore, the data amount of the file stored in the PDEV 24 is reduced. Note that one idea that the determination of the data value is performed before storing the file instead of after storing the file is to search the similar file of the new file from the computer system 30 and find the data of the similar file found. Associate (inherit) the value with the new file.
  • Example 2 will be described. At that time, differences from the first embodiment will be mainly described, and description of common points with the first embodiment will be omitted or simplified.
  • FIG. 14 shows a flow of write processing according to the second embodiment.
  • the learning program 16 determines whether or not the file (file according to the write request) is a stored NG file. If it is determined to be NG (if the determination result is true) ) Notify the user that the file is not stored in the computer system.
  • the “stored NG file” corresponds to a private file that is not related to business or a file having a file name that matches a file name set in advance by the user as NG.
  • NG definition information which is information indicating a definition of a file regarded as a storage NG file (storage NG definition), is registered in the memory 44 in advance.
  • step 1400 is the same as step 801.
  • Step 1401 is the same as step 802.
  • Step 1403 is the same as step 803.
  • Steps 1402, 1404 and 1405 are added steps.
  • Step 1402 The learning program 16 determines whether or not the file is a stored NG file. For example, if an entry corresponding to the file exists in the low-value determination management table 90 and the file corresponds to one of the stored NG definitions represented by the above-described stored NG definition information, the determination result is true. If the determination result is true (step 1402: Yes), the process proceeds to step 1404. If the determination result is false (step 1402: No), the process proceeds to step 1403.
  • Step 1404 The learning program 16 notifies the host system 34 (that is, the user) of the data storage NG together with the file name 92 of the file and the determination reason 94 of the file. Thereafter, the process proceeds to step 1405.
  • Step 1405 The learning program 16 sets the data value 84 of the file to “low”, and registers the confirmation time 96 of the file in the low value confirmation management table 90.
  • a modified example of the low-value fixed file is shown. That is, according to the present embodiment, a file that is determined to be low value and corresponds to a predetermined storage NG definition becomes a low value fixed file. Therefore, according to the present embodiment, it is possible to find a low-value finalized file and not store (or leave) the low-value finalized file in the PDEV 24 without inquiring the user to give up storage / permit storage.
  • Example 3 will be described. At that time, the differences from the first and second embodiments will be mainly described, and the description of the common points with the first and second embodiments will be omitted or simplified.
  • FIG. 15 is a schematic diagram showing an outline of the third embodiment.
  • the same parts as those in FIG. 1 are denoted by the same reference numerals, and the configuration and operation are the same, and thus the description thereof is omitted.
  • a post-storage learning program 218 is added.
  • the post-storage learning program 218 determines the data value of the file asynchronously with the processing of the write request 12 and issues a data organization presentation 224 to the user.
  • the learning program 16 and the post-storage learning program 218 can link the data value determination results to each other by referring to and updating the same (common) learning management table 58.
  • a file determined to be low value by the post-storage learning program 218 is determined to be deletion target data 220, and after the data amount reduction processing is performed by the reduction program 20, it is temporarily stored in the minimum specification PDEV24ML. Thereafter, the post-storage learning determination program 218 receives the file deletion determination result 225 (for example, a response to the data organization presentation 224) from the user.
  • FIG. 16 shows a flow of post-storage learning processing.
  • Step 1601 The post-storage learning program 218 determines whether there is a learning target file. If the determination result is true (step 1601: Yes), the process proceeds to step 1602, and if the determination result is false (step 1601: No), the processing is completed.
  • Step 1602 The post-storage learning program 218 determines whether or not the file is of low value based on at least one of the write count 74, read count 72, data type 76, and last access time 78 of the learning target file. Alternatively, the determination is made based on the data value 84 of the file. If the determination result is true (step 1602: Yes), the process proceeds to step 1603. If the determination result is false (step 1602: No), the process returns to step 1601.
  • Step 1603 The post-storage learning program 218 issues a data arrangement presentation 224 (see FIG. 15). Specifically, the post-storage learning program 218 notifies the host system 34 (that is, the user) to organize the data together with the file name 92 and the determination reason 94 of the file. Thereafter, the process proceeds to step 1604.
  • the host system 34 that is, the user
  • Step 1604 The post-storage learning program 218 updates the learning management table 58. For example, the post-storage learning program 218 updates at least one of the data value 84 and the determination time 86 of the file. Alternatively, for example, when the user gives a storage abandonment designation for the file in response to step 1603, the post-storage learning program 218 determines the confirmation time 96 for the file (for example, the time when the user gave the storage abandonment for the file). ). Thereafter, the process proceeds to step 1605.
  • Step 1605 The post-storage learning program 218 instructs the storage control program 18 to perform the data amount reduction processing (compression processing or deduplication processing) of the file.
  • the storage control program 18 reduces the data capacity of the file by causing the reduction program 20 to execute the data amount reduction processing of the file in accordance with the command. Thereafter, the process proceeds to step 1606.
  • Step 1606 The post-storage learning program 218 causes the storage control program 18 to move the file from the PDEV 24 storing the file to the lowest specification PDEV (for example, HDD having a SATA interface) 24ML.
  • the storage control program 18 moves the file from the PDEV 24 in which the file is stored to the minimum specification PDEV 24ML. Thereby, it can be avoided that the file determined to be low value remains in the PDEV 24 having a higher specification than the minimum specification PDEV 24ML. Thereafter, the process returns to step 1601.
  • FIG. 17 shows a flow of the deletion determination process performed by the user who has received the organizing notification.
  • This process is a process in which the user who has received the notification in step 1603 of FIG. 16 determines the processing method of the file and notifies the computer system 30 of the file. The user may notify the computer system 30 of a plurality of file processing methods collectively.
  • Step 1701 The user determines whether or not the file (notified file) can be deleted. If the determination result is true (step 1701: Yes), the process proceeds to step 1704. If the determination result is false (step 1701: No), the process proceeds to step 1702.
  • Step 1704 The user notifies the computer system 30 to delete the file.
  • the post-storage learning program 218 of the computer system 30 deletes the file from the PDEV 24, and deletes the entry corresponding to the file from the content management table 52 and the learning target management table 80.
  • the post-storage learning program 218 keeps the entry corresponding to the file, which is in the low-value determination management table 90, in the low-value determination management table 90.
  • Step 1702 The user notifies the computer system 30 not to delete the file.
  • the post-storage learning program 218 of the computer system 30 that has received the notification updates the data value 84 of the file to “medium”. Thereafter, the process proceeds to step 1703.
  • Step 1703 The post-storage learning program 218 causes the storage control program 18 to move the file from the lowest spec PDEV 24ML storing the file to the low spec PDEV 24L.
  • the storage control program 18 moves the file from the lowest specification PDEV 24ML to the low specification PDEV 24L.
  • the data value automatically determined for the file can be updated to the correct data value according to the answer (notification) from the user, and the file is moved to the PDEV 24 of the specification corresponding to the updated data value. Can do.
  • a file determined to be low value is moved to the minimum specification PDEV24ML regardless of whether or not a deletion determination result is received from the user, and then whether or not a notification of deletion is received from the user. Accordingly, the file is deleted from the minimum specification PDEV 24ML or moved from the minimum specification PDEV 24ML to the low specification 24L.
  • the file is moved between the low-spec PDEV 24L and the minimum-spec PDEV 24ML, but the move source or the move destination may be the PDEV 24 according to the data value of the file. For example, when the data value of a file is changed from “high” to “low”, the file may be moved from the high spec PDEV 24H to the minimum spec PDEV 24ML.
  • the method for determining the data value of the stored file is not limited to the above example. For example, if the number of files similar to a certain stored file exceeds a threshold value K (K is an integer of 1 or more), the data value of the stored file may be determined as “low”. If it is less than or equal to K, the data value of the stored file may be determined as “medium” or “high”. Since both the pre-learning process and the post-storage learning process are executed asynchronously with the I / O request process, these processes can be collectively referred to as “asynchronous learning process”. Asynchronous learning processing may be performed only for a stored file that has exceeded a predetermined time from the determination time 86 instead of all stored files for which the processing has not been performed.

Landscapes

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

Abstract

ライト要求の処理であるライト処理において、計算機システムが、以下の(A)~(C) (A)当該ライト要求に従うデータであってキャッシュ領域に格納されているライト対象データを、1以上の記憶デバイスのいずれかに格納する前に、その1以上の記憶デバイスのいずれかに格納済のデータ毎のデータアクセス状況及びデータ種別を表す格納済データ管理情報を含んだ管理情報を基に、当該ライト対象データのデータ価値を判定すること、 (B)当該ライト対象データについて判定されたデータ価値が所定の価値以上の場合、当該ライト対象データを1以上の記憶デバイスのいずれかに格納すること、 (C)当該ライト対象データについて判定されたデータ価値が所定の価値未満の場合、当該ライト対象データを1以上の記憶デバイスのいずれにも格納しないこと、 を実行する。

Description

データの格納を制御する計算機システム及び方法
 本発明は、概して、データの格納の制御に関する。
 データ格納制御に関する技術として、例えば、特許文献1に開示の技術が知られている。特許文献1は、モニタリングされている空きストレージ容量が閾値を下回ったときに、最も低いレベルに分類されたデータ・セグメントを削除することで、空きストレージ容量を回復させることを開示している。
US2016/0062689
 特許文献1によれば、ストレージ容量を回復させることは出来るが、判定等の処理をしている間に空きストレージ容量が閾値に達してしまい、結果として、ライト要求を受け付けられない可能性がある。
 ライト要求の処理であるライト処理において、計算機システムが、以下の(A)~(C)
(A)当該ライト要求に従うデータであってキャッシュ領域に格納されているライト対象データを、1以上の記憶デバイスのいずれかに格納する前に、その1以上の記憶デバイスのいずれかに格納済のデータ毎のデータアクセス状況及びデータ種別を表す格納済データ管理情報を含んだ管理情報を基に、当該ライト対象データのデータ価値を判定すること、
(B)当該ライト対象データについて判定されたデータ価値が所定の価値以上の場合、当該ライト対象データを1以上の記憶デバイスのいずれかに格納すること、
(C)当該ライト対象データについて判定されたデータ価値が所定の価値未満の場合、当該ライト対象データを1以上の記憶デバイスのいずれにも格納しないこと、
を実行する。
 データ価値が所定の価値未満のデータを1以上の記憶デバイスのいずれにも格納しないようにすることができる。
実施例1の概略を示す模式図。 実施例1に係る計算機システムを含んだ情報システムの全体構成を示すブロック図。 コンテンツ管理テーブルを示す図。 学習管理テーブルを示す図。 事前学習処理のフローを示す図。 価値更新処理のフローを示す図。 ホストI/O処理のフローを示す図。 ライト処理のフローを示す図。 更新ライト処理のフローを示す図。 新規ライト処理のフローを示す図。 格納判定処理のフローを示す図。 許可受信処理のフローを示す図。 断念受信処理のフローを示す図。 実施例2に係るライト処理のフローを示す図。 実施例3の概略を示す模式図。 格納後学習処理のフローを示す図。 削除判定処理のフローを示す図。
 以下の説明では、同種の要素を区別しないで説明する場合には、参照符号のうち共通符号を使用し、同種の要素を区別する場合は、参照符号を使用することがある。例えば、PDEVを区別しない場合には、「PDEV24」と言い、PDEVを区別する場合には、「高スペックPDEV24H」、「低スペックPDEV24L」のように言う。
 また、以下の説明では、「PDEV」は、物理的な記憶デバイス、典型的には、不揮発性の記憶デバイスを意味する。PDEVは、例えば、HDD(Hard Disk Drive)又はSSD(Solid State Drive)である。
 また、以下の説明では、「インターフェース部」は、1以上のインターフェースを含む。1以上のインターフェースは、1以上の同種のインターフェースデバイス(例えば1以上のNIC(Network Interface Card))であってもよいし2以上の異種のインターフェースデバイス(例えばNICとHBA(Host Bus Adapter))であってもよい。
 また、以下の説明では、「記憶部」は、1以上のメモリを含む。少なくとも1つのメモリは、揮発性メモリであってもよいし不揮発性メモリであってもよい。記憶部は、主に、プロセッサ部による処理の際に使用される。
 また、以下の説明では、「プロセッサ部」は、1以上のプロセッサを含む。少なくとも1つのプロセッサは、典型的には、CPU(Central Processing Unit)のようなマイクロプロセッサである。1以上のプロセッサの各々は、シングルコアでもよいしマルチコアでもよい。プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。
 また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ部によって実行されることで、定められた処理を、適宜に記憶部及びインターフェース部のうちの少なくとも1つを用いながら行うため、処理の主語が、プロセッサ部(或いは、プロセッサ部を有する計算機又は計算機システム)とされてもよい。プログラムは、プログラムソースから計算機にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又は計算機が読み取り可能な記憶メディアであってもよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。また、プログラムが実行されることによって実現される処理のうちの少なくとも一部が、ハードウェア回路(例えばASIC(Application Specific Integrated Circuit)又はFPGA(Field-Programmable Gate Array))によって実現されてもよい。
 また、以下の説明では、「xxxテーブル」といった表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxテーブル」を「xxx情報」と言うことができる。また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部または一部が1つのテーブルであってもよい。
 また、以下の説明では、「時刻」は、年月日時分秒の単位で表現されるが、時刻の単位は、それよりも粗くても細かくてもよいし、また異なる単位でもよい。
 また、以下の説明では、「計算機システム」は、物理的な計算機と物理的なストレージ装置とのうちの少なくとも1つを含む。少なくとも1つの物理的な計算機が、仮想的な計算機(例えばVM(Virtual Machine))を実行してもよい。少なくとも1つの物理的な計算機又は少なくとも1つのストレージ装置が、SDx(Software-Defined anything)を実行してもよい。SDxとしては、例えば、SDS(Software Defined Storage)(仮想的なストレージ装置の一例)又はSDDC(Software-defined Datacenter)を採用することができる。
 また、以下の説明では、「管理システム」は、1以上の計算機で構成されてよい。具体的には、例えば、管理計算機が表示デバイスを有していて管理計算機が自分の表示デバイスに情報を表示する場合、管理計算機が管理システムでよい。また、例えば、管理計算機(例えばサーバ)が表示用情報を遠隔の表示用計算機(例えばクライアント)に送信し表示用計算機がその情報を表示する場合(管理計算機が表示用計算機に情報を表示する場合)、管理計算機と表示用計算機とのうちの少なくとも管理計算機を含んだシステムが管理システムでよい。
 また、以下の説明では、「ホストシステム」は、1以上のホスト計算機で構成されてよい。
 以下、図面を参照して、本発明の幾つかの実施例を説明する。なお、以下の説明では、低価値と判定されたデータを「低価値データ」と言い、中価値と判定されたデータを「中価値データ」と言い、高価値と判定されたデータを「高価値データ」と言う。なお、データ価値は、低・中・高の3段階に限らず、2段階であってもよいし4段階以上であってもよい。
 図1は、本実施例の概略を示す模式図である。
 計算機システム30は、1以上のPDEV24、典型的には、複数のPDEV24を有する。複数のPDEV24は、高スペックPDEV24H及び低スペック24Lを含む。PDEVのスペックは、PDEVが有する機能、記憶容量、信頼性及び性能(例えばI/O速度)のうちの少なくとも1つに依存してよい。高スペックPDEVは、相対的にスペックが高いPDEV(例えば、高機能、大記憶容量、高信頼性及び高性能(例えば高I/O速度)のうちの少なくとも1つを持つPDEV、例えば、SSD(Solid State Drive)である。低スペックPDEV24Lは、相対的にスペックが低いPDEV(例えば、低機能、小記憶容量、低信頼性及び低性能(例えば低I/O速度)のうちの少なくとも1つを持つPDEV)、例えば、SAS(Serial Attached SCSI)インターフェースを有するHDD(Hard Disk Drive)である。複数のPDEV24のうちの少なくとも1つが、計算機システム30の外にあってもよい。また、PDEVの種別が同じ場合、高スペックPDEV24Hは、大記憶容量のPDEVでよく、低スペックPDEV24Lは、小記憶容量のPDEVでよい。
 計算機システム30は、学習プログラム16、ストレージ制御プログラム18及び削減プログラム20を実行する。
 学習プログラム16は、ライト要求に従うデータであるライト対象データのデータ価値を判定する。ライト要求は、典型的にはユーザ(例えば後述のホストシステム)からのライト要求であるが、遠隔の計算機システム(図示せず)からのコピー要求相当のライト要求のような他種のライト要求でもよい。また、「ライト要求」としては、更新データをライト対象データとした「更新ライト要求」と、新規データをライト対象データとした「新規ライト要求」とがある。「格納済データ」は、複数のPDEV24のいずれかに格納されているデータである。「更新データ」は、そのデータに対応する格納済データの更新のためのデータである。「新規データ」とは、そのデータに対応する格納済データの存在しない新たなデータを意味する。
 学習プログラム16は、データ価値の判定を、ライト対象データを複数のPDEV24のいずれかに格納する前に実行する。学習プログラム16は、データ価値の判定の結果によっては、当該ライト対象データをいずれのPDEV24にも格納せず、所定の応答(例えば格納非実行を意味する応答)を、ライト要求の送信元に返す。ここで言う「データ価値の判定」の対象となるデータは、非更新データ(更新データにより更新される格納済データ)又は新規データである。「データ価値」は、データアクセス状況と、データ種別とのうちの少なくとも1つに依存する。「データアクセス状況」は、リード回数、ライト回数及び最終アクセス時刻のうちの少なくとも1つに依存する。「データ種別」は、データのファイル識別子、データの属性、及び、データの送信元デバイスの種別のうちの少なくとも1つに依存する。
 ストレージ制御プログラム18は、複数のPDEV24に対するデータの入出力を行う。例えば、ストレージ制御プログラム18は、ライト要求に従うライト対象データをいずれかのPDEV24に格納したり、リード要求に従うデータであるリード対象データをそのデータを格納しているPDEVから読み出してリード要求の送信元に送信したりする。
 削減プログラム20は、データ量削減処理を実行する。データ量削減処理とは、データ量を削減するための処理であり、典型的には、圧縮処理及び重複排除処理のうちの少なくとも1つである。削減プログラム20は、リード対象の圧縮済データ(圧縮されているデータであって格納済データ)を伸張したり、リード対象データと重複しているデータを見つけて返したりすることができてもよい。削減プログラム20が行う処理の少なくとも一部(例えば圧縮処理又は伸張処理)は、ハードウェア回路によって実現されてもよい。
 学習プログラム16は、ユーザからライト要求12を受けた場合、そのライト要求12に従うライト対象データのデータ価値を判定する。
 ライト対象データが低価値と判定された場合、学習プログラム16は、ユーザへ低価値データ整理提示14を出力する。低価値データ整理提示14とは、低価値データを整理すること(例えば少なくとも1つの低価値データを計算機システム30から削除すること)の提示である。当該提示14は、例えば、低価値と判定されたライト対象データのID(例えばファイル名)と、ライト対象データ以外の格納済の低価値データのIDとのうちの少なくとも1つも含んでよい。「ライト対象データ以外の格納済の低価値データ」は、低価値と判定されたライト対象データに類似する格納済の低価値データに限定されてもよい。
 ライト対象データが高価値又は中価値と判定された場合、学習プログラム16は、高価値又は中価値と判定されたライト対象データを、ストレージ制御プログラム18経由でいずれかのPDEV24に格納する。高価値データ22は、高スペックPDEV24へ格納される。中価値データ28は、削減プログラム20を経由し低スペックPDEV26へ格納される。
 本実施例により、データの格納前にデータ価値を判定し、その判定結果に応じて、必要なデータのみをPDEV24へ格納することができ、不要なデータが一時的にでもPDEV24に格納されてしまうことを回避することができる。故に、PDEV24に格納されるデータの量が削減される。結果として、PDEV24の数を制約でき、ストレージ管理コストを削減することが期待できる。例えば、特に、企業向け社内文書管理システムにおいて、格納しても実際には使われる可能性の低いデータの格納を避けることができる。
 以下、本実施例を詳細に説明する。
 図2は、計算機システム30を含んだ情報システムの全体構成を示すブロック図である。
 計算機システム30に、通信ネットワーク(例えばIP(Internet Protocol)ネットワーク)を介して管理システム32及びホストシステム34が接続されている。管理システム32が、計算機システム30を管理する。ホストシステム34が、計算機システム30にI/O(Input/Output)要求を送信する。
 計算機システム30は、本実施例ではファイルストレージシステムであるが、オブジェクトストレージシステムのような他種の計算機システムでも構わない。つまり、本実施例において、「データ」は、典型的にはファイルを意味するが、オブジェクトのような他種のデータでもよい。計算機システム30は、ネットワークインターフェース(I/F)38、複数のPDEV24(1以上の高スペックPDEV24H及び1以上の低スペックPDEV24L)、メモリ44、及び、それらに接続されたプロセッサ36を有する。I/F38経由で、I/O要求の受信、I/O要求に対する応答の送信が行われる。
 プロセッサ36は、少なくとも1つのコンピュータプログラムを実行することにより、複数のPDEV24を管理する。
 メモリ44は、プロセッサ36により実行される1以上のコンピュータプログラムであるプログラム群62と、少なくとも1つのコンピュータプログラムにより参照される情報である管理情報64とを格納する。メモリ44には、PDEV24に入出力されるデータが一時的に格納されるキャッシュ領域60が設けられる。
 プログラム群62は、ストレージ制御プログラム18、削減プログラム20及び学習プログラム16を含む。管理情報64は、ファイル(コンテンツ)に関する情報を保持するコンテンツ管理テーブル52及び学習結果に関する情報を保持する学習管理テーブル58を含む。
 上述したように、計算機システム30の構成は、図2に示した構成に限られない。例えば、例えば、ホストシステム34に代えて、計算機システム30において、I/O要求を発行する仮想的なホストシステム(例えばVM(Virtual Machine))が実行されてもよい。その場合、学習プログラム16は、計算機システム30内の仮想的なホストシステムからライト要求を受ける。
 図3は、コンテンツ管理テーブル52を示す。
 コンテンツ管理テーブル52は、格納済データ管理情報の一例である。コンテンツ管理テーブル52は、格納済ファイル毎に、ファイル名70、リード回数72、ライト回数74、データ種別76及び最終アクセス時刻78といった情報を保持する。「格納済ファイル」とは、いずれかのPDEV24に格納されているファイルである。
 ファイル名70は、ファイルの名称である。リード回数72は、ファイルがリードされた回数を表す。ライト回数74は、ファイルがライトされた回数(例えば、新規ライトと更新ライトの合計)を表す。データ種別76は、ファイルの種別を表す。最終アクセス時刻78は、ファイルが最後にリード又はライトされた時刻を表す。
 ファイルの種別は、ファイルの識別子、ファイルの属性、及び、ファイルに含まれるデータの送信元デバイスの種別のうちの少なくとも1つに依存する。例えば、ファイルの種別として、機密ファイルであることを意味する“機密”、ログデータを含んだファイルであることを意味する“ログ”、及び、センサからのデータを含んだファイルであることを意味する“センサ”がある。
 新規ライト処理によりいずれかのPDEV24にファイルが格納された場合、そのファイルに対応したエントリ(行)がコンテンツ管理テーブル52に追加され、且つ、そのファイルについて、ライト回数74、データ種別76及び最終アクセス時刻78が更新される。その後、そのファイルにアクセスがあると、そのファイルに対応したリード回数72又はライト回数74と、最終アクセス時刻78とが更新される。リード回数72、ライト回数74、データ種別76及び最終アクセス時刻78のうちの少なくとも1つが、データ価値を判定する際に参照される。
 図4は、学習管理テーブル58を示す。
 学習管理テーブル58は、2種類のテーブル、具体的には、学習対象管理テーブル80及び低価値確定管理テーブル90を含む。また、学習管理テーブル58は、ライト回数基準値91、リード回数基準値93及び最終アクセス時刻基準値95といった情報を含む。
 学習対象管理テーブル80は、学習処理(データ価値判定)がされたファイル毎に、ファイル名82、データ価値84及び判定時刻86といった情報を保持する。ファイル名82は、ファイルの名称である。データ価値84は、判定されたデータ価値(つまり、“高”、“中”及び“低”のいずれか)を表す。判定時刻86は、データ価値が判定された時刻を表す。
 低価値確定管理テーブル90は、低価値確定ファイル(データ価値が“低”と判定され、かつ、ユーザからも格納不要(格納断念)と判定されたファイル)に関する情報を保持する。低価値確定管理テーブル90は、低価値確定ファイル毎に、ファイル名92、判定理由94及び確定時刻96といった情報を保持する。判定理由94は、低価値(データ価値“低”)と判定された理由を表す。判定理由94として採用される理由としては、例えば、他に同じファイル名又はファイル内容の差分が少ないファイルが既に格納されていることを意味する“重複ファイルあり”、既に低価値と判定されているファイルとファイル名又は内容が類似していることを意味する“類似度価値判定”、又は、業務上不必要であるプライベートな内容を含むファイルであることを意味する“業務上不要ファイル”などがある。
 データ価値判定の基準として、ライト回数基準値91、リード回数基準値93及び最終アクセス時刻基準値95が設けられる。これらの基準値91、93及び95の各々について、当該基準値を超えているか否か、及び、当該基準値との差分の大きさ、のうちの少なくとも1つを基に、データ価値が判定される。例えば、現在時刻が属する日付から半年前を意味する最終アクセス時刻基準値95よりも過去の時刻を表している最終アクセス時刻78に対応したファイル、つまり、半年以内にアクセスがないファイルについては、データ価値が、現在の価値より1段階下の価値に下げられてもよい。これらの基準値91、93及び95のうちの少なくとも1つは、システム初期設定時に設定してもよいし、管理システム32が計算機システム30の運用中に適宜設定又は更新しもよい。
 以下、本実施例で行われる幾つかの処理を説明する。
 図5は、事前学習処理のフローを示す。
 ファイルのデータ価値を、当該ファイルをPDEVに格納する前に判定するためには、予め格納済ファイルのデータ価値を学習する必要がある。事前学習処理は、定期的に、ホストI/O処理とは非同期に、全ての格納済ファイルについて実施される。ライト回数又はリード回数が増える等によって当該ファイルのデータ価値が変わっている可能性があるためである。なお、事前学習処理は、一定期間繰り返し実施された後は、実施されないでよい。この点は、ホストI/O処理(ライト処理)とは非同期で低定期に実施される後述の格納後学習処理(実施例3)とは異なる。事前学習集処理は、ライト処理においてデータ価値を判定することを可能にすることを目的とした処理である。
 ステップ501:学習プログラム16は、学習対象ファイルが有るか否かを判定する。判定結果が真の場合(ステップ501:Yes)、ステップ502へ進み、判定結果が偽の場合(ステップ501:No)、処理完了となる。
 ステップ502:学習プログラム16は、当該ファイルのデータ価値を判定するため、コンテンツ管理テーブル52の当該ファイルについての情報(エントリ)を参照する。その後、ステップ503へ進む。
 ステップ503:学習プログラム16は、当該ファイルのデータ価値を判定し更新する価値更新処理を実行する。価値更新処理の詳細は図6に示す。その後、ステップ501へ戻る。
 図6は、価値更新処理のフローを示す。以下、1つの学習対象ファイルを例に取り説明する。
 ステップ601:学習プログラム16は、学習管理テーブル58に設定済みのライト回数基準値91とリード回数基準値93を、学習対象ファイルのライト回数74とリード回数72がそれぞれ超過しているか否かを判定する。判定結果が真の場合、すなわち、ライト回数74がライト回数基準値91を超えているか、又は、リード回数72がリード回数基準値93を超えている場合(ステップ601:Yes)、ステップ602へ進む。判定結果が偽の場合(ステップ601:No)、ステップ604へ進む。
 ステップ602:学習プログラム16は、当該ファイルの最終アクセス時刻78が最終アクセス時刻基準値95を超えているか否か(つまり、一定期間を超えてアクセスが無かった否か)を判定する。判定結果が真の場合(ステップ602:Yes)、ステップ604へ進み、判定結果が偽の場合(ステップ602:No)、ステップ603へ進む。
 ステップ604:学習プログラム16は、当該ファイルのデータ種別76が“機密”か否かを判定する。判定結果が真の場合(ステップ604:Yes)、ステップ603へ進み、判定結果が偽の場合(ステップ604:No)、ステップ605へ進む。
 ステップ605:学習プログラム16は、当該ファイルのデータ種別76が“センサ”か否かを判定する。判定結果が真の場合(ステップ605:Yes)、ステップ606へ進み、判定結果が偽の場合(ステップ605:No)、ステップ607へ進む。
 ステップ607:学習プログラム16は、当該ファイルを低価値と判定する、すなわち、当該ファイルのファイル名82、データ価値84“低”及び判定時刻86を登録又は更新する。その後、ステップ608へ進む。
 ステップ606:学習プログラム16は、当該ファイルを中価値と判定する、すなわち、当該ファイルのファイル名82、データ価値84“中”及び判定時刻86を登録又は更新する。
 ステップ603:学習プログラム16は、当該ファイルを高価値と判定する、すなわち、当該ファイルのファイル名82、データ価値84“高”及び判定時刻86を登録又は更新する。
 ステップ608:学習プログラム16は、低価値確定ファイル90に、当該ファイルのファイル名92及び判定理由94を登録する。今回の場合は、判定理由94は、例えば、“低価値判定”でよい。なお、今回の登録は、暫定的な登録である。後の処理において、当該ファイルについて、ユーザから格納断念(不要)の指定を受けた場合に、学習プログラム16により確定時刻96が登録され、一方、ユーザから格納許可の指定を受けた場合、今回登録されたファイル名92及び判定理由94は学習プログラム16により低価値確定管理テーブル90から削除されてよい。
 以上より、価値更新処理の完了となる。
 なお、図6に例示の価値更新処理の意義の一例は、以下の通りである。
 すなわち、アクセス回数(ライト回数74又はリード回数72)が基準値91又は93より多く、かつ、最終アクセス時刻78が基準値95を超えない(つまり、一定時間以内にアクセスされた)ファイルは、当該ファイルのデータ種別76に関わらず高価値と判定される。すなわち、本実施例に係るデータ価値判定では、ライト回数74、リード回数72及び最終アクセス時刻78といった実測値としてのデータアクセス状況が最も信頼される。
 アクセス回数が基準値91又は93以下、及び、一定時間経ってもアクセスされない、のうちのいずれかに該当するファイルについて、実測値としてのデータアクセス状況以外の属性、例えばデータ種別76が考慮される。データ種別76“機密”のファイルは、高価値と判定される。データ種別76“センサ”のファイルは、中価値と判定される。その理由の一例として、センサデータは、一般に、或る程度蓄積された後に分析等で使用されることがある。データ種別76が“機密”及び“センサ”のいずれにも該当しないファイルが、低価値と判定される。
 図7は、ホストI/O処理のフローを示す。ホストI/O処理は、ホストシステム34からI/O要求を計算機システム30が受信した場合に開始される。
 ステップ701:学習プログラム16は、I/O要求がライト要求か否かを判定する。判定結果が真の場合(ステップ701:Yes)、ステップ703へ進み、判定結果が偽の場合(ステップ701:No)、ステップ702へ進む。
 ステップ702:学習プログラム16は、リード処理、すなわち、当該リード要求に従うファイルをPDEV24から読み出してホストシステム34へ送信することをストレージ制御プログラム18に実施させる。
 ステップ703:学習プログラム16は、ライト処理を実施する。詳細は図8に示す。
 図8は、ライト処理のフローを示す。なお、ライト処理の開始時点では、当該ファイル(当該ライト要求に従うファイル)は、キャッシュ領域60に格納されており、PDEV24には格納されていない。当該ファイルは、プロセッサ36によりキャッシュ領域60に格納されてもよいし、DMA(Direct Memory Access)によりキャッシュ領域60に格納されてもよい。
 ステップ801:学習プログラム16は、当該ライト要求に従うファイル(データ)が格納済ファイルの更新データか否かを判定する。判定結果が真の場合(ステップ801:Yes)、ステップ802へ進み、判定結果が偽の場合(ステップ801:No)、ステップ803へ進む。
 ステップ802:学習プログラム16は、更新ライト処理を実施する。詳細は図9に示す。
 ステップ803:学習プログラム16は、新規ライト処理を実施する。詳細は図10に示す。
 図9は、更新ライト処理のフローを示す。
 ステップ901:学習プログラム16は、キャッシュ領域60に格納されている当該ファイルのライト回数74、データ種別76及び最終アクセス時刻78のうちの少なくとも1つといった実測値を基に、当該ファイルが高価値か否かを判定する。判定結果が真の場合(ステップ901:Yes)、ステップ902へ進み、判定結果が偽の場合(ステップ901:No)、ステップ903へ進む。なお、ステップ901では、事前価値更新処理とは異なり、実測値のみを基に当該ファイルのデータ価値が判定され、当該ファイルに対応した非更新ファイルのデータ種別76は考慮されないでよい。実測値は変わることがあるため、データ価値が下がる又は上がることがあり得るが、データ種別76は、典型的には変わらないためである。
 ステップ903:学習プログラム16は、当該ファイルが低価値か否かを判定する。判定結果が真の場合(ステップ903:Yes)、ステップ904へ進み、判定結果が偽の場合(ステップ903:No)、当該ファイルが中価値のためステップ905へ進む。なお、ステップ903でも、ステップ901と同様、事前価値更新処理とは異なり、実測値のみを基に当該ファイルのデータ価値が判定されてよい。
 ステップ904:学習プログラム16は、低価値データ整理提示14(図1参照)を出す。具体的には、学習プログラム16は、当該ファイルのファイル名92及び判定理由94と共にデータ整理するようホストシステム34(つまりユーザ)へ通知を出す。その後、ステップ907へ進む。
 ステップ905:学習プログラム16は、当該ファイルのデータ量削減処理(圧縮処理もしくは重複排除処理)を実施することをストレージ制御プログラム18に命じる。ストレージ制御プログラム18は、その命令に応じて、当該ファイルのデータ量削減処理を削減プログラム20に実施させることで、当該ファイルのデータ容量を削減させる。その後、ステップ906へ進む。
 ステップ902:学習プログラム16は、キャッシュ領域60内の当該ファイルを高スペックPDEV24Hへ書き込むことをストレージ制御プログラム18に実施させる。ストレージ制御プログラム18が、キャッシュ領域60内の当該ファイルを高スペックPDEV24Hへ書き込む。その後、ステップ907へ進む。
 ステップ906:学習プログラム16は、キャッシュ領域60内の当該ファイルを低スペックPDEV24Lへ書き込むことをストレージ制御プログラム18に実施させる。ストレージ制御プログラム18が、キャッシュ領域60内の当該ファイルを低スペックPDEV24Lへ書き込む。その後、ステップ907へ進む。
 ステップ907:学習プログラム16は、学習管理テーブル58を更新する。例えば、学習プログラム16は、当該ファイルのデータ価値84及び判定時刻86のうちの少なくとも1つを更新する。あるいは、例えば、ステップ904に応答してユーザから当該ファイルについて格納断念の指定を受けた場合、学習プログラム16は、当該ファイルをキャッシュ領域60から削除し、且つ、当該ファイルについて確定時刻96(例えばユーザから当該ファイルについて格納断念を受けた時刻)を登録する。
 本実施例では、ファイル毎に整理通知(ステップ904)(低価値データ整理提示14(図1参照))が実施されるが、複数ファイル分纏めて当該通知がされてもよい。
 図10は、新規ライト処理のフローを示す。新規ライト処理は、上述したように、当該ライト要求に従うファイルに対応した格納済ファイルが計算機システム30内に存在しないケースでのライト処理を意味する。
 ステップ1001:学習プログラム16は、キャッシュ領域60に格納されている当該ファイルと類似した格納済ファイル(類似ファイル)が存在するか否かを、コンテンツ管理テーブル52を参照して判定する。類似ファイルとは、例えば、当該ファイルのファイル名と一致又は類似しているファイル名を有すること、及び、当該ファイルのファイル内容との差分が所定値以下のファイル内容を含んでいることの少なくとも1つを満たす格納済ファイルである。判定結果が真の場合(ステップ1001:Yes)、ステップ1002へ進み、判定結果が偽の場合(ステップ1001:No)、ステップ1004へ進む。
 ステップ1002:学習プログラム16は、学習管理テーブル58を参照し、類似ファイルのデータ価値84が“低”か否かを判定する。判定結果が真の場合(ステップ1002:Yes)、ステップ1003へ進み、判定結果が偽の場合(ステップ1002:No)、ステップ1004へ進む。
 ステップ1003:学習プログラム16は、ステップ904と同様の処理を実施する。その後、ステップ1008へ進む。
 ステップ1004:学習プログラム16は、当該ファイルのデータ種別を基に、当該ファイルが中価値か否かを判定する。判定結果が真の場合(ステップ1004:Yes)、ステップ1005へ進み、判定結果が偽の場合(ステップ1004:No)、ステップ1007へ進む。なお、ステップ1004は、事前価値更新処理とは異なり、データ種別のみを基に当該ファイルのデータ価値が判定され、当該ファイルの実測値は考慮されないでよい。新規ファイルについて上述した実測値(ライト回数、リード回数及び最終アクセス時刻)は無いためである。
 ステップ1005:学習プログラム16は、ステップ905と同様の処理を実施する。その後、ステップ1006へ進む。
 ステップ1006:学習プログラム16は、ステップ906と同様の処理を実施する。その後、ステップ1008へ進む。
 ステップ1007:学習プログラム16は、ステップ902と同様の処理を実施する。その後、ステップ1008へ進む。
 ステップ1008:学習プログラム16は、学習管理テーブル58を更新する。例えば、学習プログラム16は、当該ファイルのデータ価値84及び判定時刻86のうちの少なくとも1つを更新する。あるいは、例えば、ステップ1003に応答してユーザから当該ファイルについて格納断念の指定を受けた場合、学習プログラム16は、当該ファイルをキャッシュ領域60から削除し、且つ、当該ファイルについてファイル名92、判定理由94及び確定時刻96(例えばユーザから当該ファイルについて格納断念を受けた時刻)を登録する(当該ファイルは新規ファイルのため、低価値確定管理テーブル90に初めて新規ファイルに対応したエントリが登録される)。
 図11は、整理通知を受けたユーザが実施する格納判定処理のフローを示す。
 ステップ1101:ユーザは、低価値と判定された当該ファイルの格納を許可するか否かを判定する。判定結果が真の場合(ステップ1101:Yes)、ステップ1103へ進み、判定結果が偽の場合(ステップ1101:No)、ステップ1102へ進む。
 ステップ1102:ユーザは、計算機システム30へ当該ファイルの格納断念を通知する。
 ステップ1103:ユーザは、計算機システム30へ当該ファイルの格納許可を通知し、かつ、当該ファイルを再度計算機システム30へ転送する。
 図12は、格納許可を受けた学習プログラム16が実施する許可受信処理のフローを示す。
 ステップ1201:学習プログラム16は、ステップ905と同様の処理を実施する。その後、ステップ1202へ進む。
 ステップ1202:学習プログラム16は、ステップ906と同様の処理を実施する。その後、ステップ1203へ進む。
 ステップ1203:学習プログラム16は、当該ファイルのデータ価値84を“低”から“中”に更新し、且つ、当該ファイルの判定時刻86を、データ価値84を“中”に更新した時刻に更新する。また、学習プログラム16は、当該ファイル(又は当該ファイルの類似ファイル)に対応したエントリが低価値確定管理テーブル90にあれば、当該エントリを当該テーブル90から削除する。
 図13は、格納断念を受けた学習プログラム16が実施する断念受信処理のフローを示す。
 ステップ1301:学習プログラム16は、当該ファイルをキャッシュ領域60から削除し、当該ファイル(又は当該ファイルの類似ファイル)に対応したファイル名92、判定理由94及び確定時刻96を登録する。
 以上が、実施例1の説明である。本実施例によれば、ファイルの格納前に、当該ファイルのデータ価値を判定し、その判定結果に応じて、必要なファイル(高価値又は中価値と判定されたファイル、或いは、低価値と判定されても格納がユーザにより許可されたファイル)のみをPDEV24へ格納することができ、格納が断念された低価値のファイルがPDEV24に格納されてしまうこと(又は残ってしまうこと)を回避することができる。故に、PDEV24に格納されるファイルのデータ量が削減される。なお、データ価値の判定を、ファイルの格納後に行うのではなくファイルの格納前に行うことが実現される1つの工夫は、新規ファイルの類似ファイルを計算機システム30から探し、見つかった類似ファイルのデータ価値を新規ファイルに関連付ける(引き継ぐ)ことが挙げられる。
 以下、実施例2を説明する。その際、実施例1との相違点を主に説明し、実施例1との共通点については説明を省略又は簡略する。
 図14は、実施例2に係るライト処理のフローを示す。
 実施例2では、実施例1に加えて、学習プログラム16において、当該ファイル(ライト要求に従うファイル)が格納NGなファイルか否かも判定し、NGと判定した場合は(判定結果が真の場合は)、計算機システム内に当該ファイルは格納させない旨をユーザへ通知する。「格納NGファイル」とは、例えば社内インフラシステムの場合、業務とは関係のない私用ファイルや、ユーザが予めNGと設定しておくファイル名に一致するファイル名を有するファイルなどが該当する。以下、格納NGファイルとみなすファイルの定義(格納NG定義)を表す情報であるNG定義情報がメモリ44に予め登録されているとする。
 具体的には、ステップ1400は、ステップ801と同じである。ステップ1401は、ステップ802と同じである。ステップ1403は、ステップ803と同じである。ステップ1402、ステップ1404及びステップ1405が追加されたステップである。
 ステップ1402:学習プログラム16は、当該ファイルが格納NGファイルか否かを判定する。例えば、当該ファイルに対応したエントリが低価値確定管理テーブル90に存在し、かつ、上述の格納NG定義情報が表すいずれかの格納NG定義に当該ファイルが該当する場合、判定結果が真となる。判定結果が真の場合(ステップ1402:Yes)、ステップ1404へ進み、判定結果が偽の場合(ステップ1402:No)、ステップ1403へ進む。
 ステップ1404:学習プログラム16は、当該ファイルのファイル名92と当該ファイルの判定理由94と共にデータ格納NGをホストシステム34(つまりユーザ)へ通知する。その後、ステップ1405へ進む。
 ステップ1405:学習プログラム16は、当該ファイルのデータ価値84を“低”とし、当該ファイルの確定時刻96を低価値確定管理テーブル90に登録する。
 以上が、実施例2の説明である。
 本実施例によれば、低価値確定ファイルの変形例が示されている。すなわち、本実施例によれば、低価値と判定され、かつ、予め定められた格納NG定義に該当したファイルが、低価値確定ファイルとなる。従って、本実施例によれば、ユーザに格納断念/格納許可を問い合わせること無しに、低価値確定ファイルを見つけ、当該低価値確定ファイルをPDEV24に格納しない(又は残さない)ことができる。
 以下、実施例3を説明する。その際、実施例1及び2との相違点を主に説明し、実施例1及び2との共通点については説明を省略又は簡略する。
 図15は、実施例3の概略を示す模式図である。図1と同じ部分には同じ符号を付してあり、構成及び動作が同じであるので、説明を省略する。
 実施例3では、格納後学習プログラム218が追加される。格納後学習プログラム218は、ライト要求12の処理とは非同期に、ファイルのデータ価値を判定しユーザへデータ整理提示224を出す。学習プログラム16と格納後学習プログラム218は、同じ(共通の)学習管理テーブル58を参照及び更新することで、お互いにデータ価値判定結果を連携できる。格納後学習プログラム218により低価値と判定されたファイルは、削除対象データ220と判定され、削減プログラム20によりデータ量削減処理が実施された後、最低スペックPDEV24MLに一旦格納される。その後、格納後学習判定プログラム218が、ユーザから、当該ファイルの削除判定結果225(例えば、データ整理提示224に対する応答)を受ける。
 図16は、格納後学習処理のフローを示す。
 ステップ1601:格納後学習プログラム218は、学習対象ファイルが有るか否かを判定する。判定結果が真の場合(ステップ1601:Yes)、ステップ1602へ進み、判定結果が偽の場合(ステップ1601:No)、処理完了となる。
 ステップ1602:格納後学習プログラム218は、当該ファイルが低価値か否かを、学習対象ファイルのライト回数74、リード回数72、データ種別76及び最終アクセス時刻78のうちの少なくとも1つに基づいて、又は、当該ファイルのデータ価値84に基づいて判定する。判定結果が真の場合(ステップ1602:Yes)、ステップ1603へ進み、判定結果が偽の場合(ステップ1602:No)、ステップ1601へ戻る。
 ステップ1603:格納後学習プログラム218は、データ整理提示224(図15参照)を出す。具体的には、格納後学習プログラム218は、当該ファイルのファイル名92及び判定理由94と共にデータ整理するようホストシステム34(つまりユーザ)へ通知を出す。その後、ステップ1604へ進む。
 ステップ1604:格納後学習プログラム218は、学習管理テーブル58を更新する。例えば、格納後学習プログラム218は、当該ファイルのデータ価値84及び判定時刻86のうちの少なくとも1つを更新する。あるいは、例えば、ステップ1603に応答してユーザから当該ファイルについて格納断念の指定を受けた場合、格納後学習プログラム218は、当該ファイルについて確定時刻96(例えばユーザから当該ファイルについて格納断念を受けた時刻)を登録する。その後、ステップ1605へ進む。
 ステップ1605:格納後学習プログラム218は、当該ファイルのデータ量削減処理(圧縮処理もしくは重複排除処理)を実施することをストレージ制御プログラム18に命じる。ストレージ制御プログラム18は、その命令に応じて、当該ファイルのデータ量削減処理を削減プログラム20に実施させることで、当該ファイルのデータ容量を削減させる。その後、ステップ1606へ進む。
 ステップ1606:格納後学習プログラム218は、当該ファイルを、当該ファイルを格納しているPDEV24から最低スペックPDEV(例えばSATAインターフェースを有するHDD)24MLへ移動することをストレージ制御プログラム18に実施させる。ストレージ制御プログラム18が、当該ファイルを、当該ファイルが格納されているPDEV24から最低スペックPDEV24MLへ移動する。これにより、低価値と判定されたファイルを、最低スペックPDEV24MLよりも高スペックのPDEV24に残ることを避けることができる。その後、ステップ1601へ戻る。
 図17は、整理通知を受けたユーザが実施する削除判定処理のフローを示す。本処理は、図16のステップ1603の通知を受けたユーザが、当該ファイルの処理方法を決定して計算機システム30へ通知する処理である。ユーザは複数ファイルの処理方法を纏めて計算機システム30に通知してもよい。
 ステップ1701:ユーザは、当該ファイル(通知されたファイル)を削除可であるか否かを判定する。判定結果が真の場合(ステップ1701:Yes)、ステップ1704へ進み、判定結果が偽の場合(ステップ1701:No)、ステップ1702へ進む。
 ステップ1704:ユーザは、当該ファイルを削除するよう計算機システム30へ通知する。当該通知を受け取った計算機システム30の格納後学習プログラム218は、当該ファイルをPDEV24から削除し、かつ、コンテンツ管理テーブル52及び学習対象管理テーブル80から、当該ファイルに対応したエントリを削除する。なお、格納後学習プログラム218は、当該ファイルに対応したエントリであって、低価値確定管理テーブル90にあるエントリを、低価値確定管理テーブル90に残したままにする。
 ステップ1702:ユーザは、当該ファイルを削除しないよう計算機システム30へ通知する。当該通知を受け取った計算機システム30の格納後学習プログラム218は、当該ファイルのデータ価値84を“中”に更新する。その後、ステップ1703へ進む。
 ステップ1703:格納後学習プログラム218は、当該ファイルを、当該ファイルを格納している最低スペックPDEV24MLから低スペックPDEV24Lへ移動することをストレージ制御プログラム18に実施させる。ストレージ制御プログラム18が、当該ファイルを、最低スペックPDEV24MLから低スペックPDEV24Lへ移動する。これにより、当該ファイルについて自動判定されたデータ価値を、ユーザからの回答(通知)に応じた正しいデータ価値に更新でき、更新後のデータ価値に対応したスペックのPDEV24に、当該ファイルを移動することができる。
 以上が、実施例3の説明である。
 本実施例によれば、低価値と判定されたファイルは、ユーザから削除判定結果を受けるか否かに関わらず最低スペックPDEV24MLに移動され、その後に、ユーザから削除する旨の通知を受けたか否かに応じて、当該ファイルが、最低スペックPDEV24MLから削除されるか、あるいは、最低スペックPDEV24MLから低スペック24Lに移動される。
 なお、ファイルの移動は、低スペックPDEV24Lと最低スペックPDEV24MLとの間で行われるが、移動元又は移動先は、ファイルのデータ価値に応じたPDEV24とされてよい。例えば、ファイルのデータ価値が“高”から“低”となった場合、高スペックPDEV24Hから最低スペックPDEV24MLに当該ファイルが移動してもよい。
 以上、幾つかの実施例を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
 例えば、事前学習処理又は格納後学習処理において、格納済ファイルのデータ価値の判定方法は、上述の例に限られない。例えば、或る格納済ファイルに類似したファイルの数が、閾値K(Kは1以上の整数)を超えていれば、当該格納済ファイルのデータ価値は“低”と判定されてもよく、閾値K以下であれば、当該格納済ファイルのデータ価値は“中”又は“高”と判定されてもよい。なお、事前学習処理も格納後学習処理も、I/O要求の処理とは非同期に実行される処理のため、それらの処理を、「非同期学習処理」と総称することができる。非同期学習処理は、当該処理が未実施の全ての格納済ファイルに代えて、判定時刻86から一定時間超えた格納済ファイルについてのみ行われてもよい。
30:計算機システム

Claims (13)

  1.  1以上の記憶デバイスに対するデータの格納を制御する計算機システムであって、
     管理情報を格納しキャッシュ領域を有する1以上のメモリを含んだ記憶部と、
     前記記憶部に接続された1以上のプロセッサを含んだプロセッサ部と
    を有し、
     前記管理情報は、前記1以上の記憶デバイスのいずれかに格納済のデータ毎のデータアクセス状況及びデータ種別を表す格納済データ管理情報を含み、
     前記キャッシュ領域は、ライト要求に従うデータであるライト対象データが一時的に格納される記憶領域であり、
     前記プロセッサ部は、前記ライト要求の処理であるライト処理において、
      (A)前記キャッシュ領域に格納されているライト対象データを前記1以上の記憶デバイスのいずれかに格納する前に、前記管理情報を基に、当該ライト対象データのデータ価値を判定し、
      (B)当該ライト対象データについて判定されたデータ価値が所定の価値以上の場合、当該ライト対象データを前記1以上の記憶デバイスのいずれかに格納し、
      (C)当該ライト対象データについて判定されたデータ価値が前記所定の価値未満の場合、当該ライト対象データを前記1以上の記憶デバイスのいずれにも格納しない、
    計算機システム。
  2.  前記プロセッサ部は、前記ライト処理と非同期の処理である非同期学習処理を実行し、
     前記管理情報は、データ価値が判定されたデータ毎にそのデータのデータ価値を表す情報である学習管理情報を含み、
     前記非同期学習集処理は、いずれかの記憶デバイスに格納済のデータである当該非同期学習処理が未実施のデータである学習対象データについて、
      前記格納済データ管理情報を参照して、当該学習対象データのデータアクセス状況及びデータ種別の少なくとも1つに基づいて、当該学習対象データのデータ価値を判定すること、及び、
      当該学習対象データについて判定されたデータ価値を前記学習管理情報に格納すること、
    を含み、
     前記キャッシュ領域に格納されているライト対象データが、前記1以上のPDEVのいずれかに格納されているいずれのデータにも対応しない新たなデータである新規データの場合、前記プロセッサ部は、(A)において、
      当該ライト対象データに類似した格納済データである類似データを探し、
      当該類似データが見つかれば、前記学習管理情報においてその類似データに関連付けられているデータ価値を、当該ライト対象データのデータ価値と判定する、
    請求項1記載の計算機システム。
  3.  前記類似データは、前記新規データのデータ名と一致又は類似しているデータ名を有すること、及び、前記新規データのデータ内容との差分が所定値以下のデータ内容を含んでいることの少なくとも1つを満たす格納済データである、
    請求項2記載の計算機システム。
  4.  前記非同期学習集処理は、前記学習対象データのデータアクセス状況及びデータ種別の両方に基づいて当該学習対象データのデータ価値を判定することを含み、
     前記ライト対象データが前記新規データの場合、前記プロセッサ部は、(A)において、前記類似データが見つからなければ、当該ライト対象データのデータ種別に基づいてデータ価値を判定する、
    請求項2記載の計算機システム。
  5.  前記キャッシュ領域に格納されているライト対象データが、前記1以上のPDEVのいずれかに格納されているいずれかのデータを更新するためのデータである更新データの場合、前記プロセッサ部は、(A)において、当該ライト対象データのデータアクセス状況に基づいてデータ価値を判定する、
    請求項4記載の計算機システム。
  6.  前記非同期学習集処理は、前記学習対象データのデータアクセス状況及びデータ種別の両方に基づいて当該学習対象データのデータ価値を判定することを含み、
     前記キャッシュ領域に格納されているライト対象データが、前記1以上のPDEVのいずれかに格納されているいずれかのデータを更新するためのデータである更新データの場合、前記プロセッサ部は、(A)において、当該ライト対象データのデータアクセス状況に基づいてデータ価値を判定する、
    請求項2記載の計算機システム。
  7.  前記プロセッサ部は、(C)において、前記ライト対象データについて判定されたデータ価値が前記所定の価値未満であり、且つ、当該ライト対象データが更なる所定の条件に該当した場合、当該ライト対象データを前記1以上の記憶デバイスのいずれにも格納しない、
    請求項1記載の計算機システム。
  8.  前記プロセッサ部は、
      前記所定の価値未満と判定されたデータの格納制御に関する提示を出力し、
      前記提示に対して当該データを格納するか否かの回答を受け、
     前記更なる所定の条件は、前記回答が、前記ライト対象データを格納しないことを意味することである、
    請求項7記載の計算機システム。
  9.  前記記憶部は、格納されないデータに関する定義である格納NG定義を表す情報を格納し、
     前記格納NG定義に該当した前記ライト対象データのデータ価値が、前記所定の価値未満である、
    請求項1記載の計算機システム。
  10.  前記プロセッサ部は、前記非同期学習処理において、前記学習対象データのデータ価値が前記所定の価値未満と判定された場合、
      前記所定の価値未満と判定された前記学習対象データの格納制御に関する提示を出力し、
      前記学習対象データを、前記1以上の記憶デバイスのうちの、前記学習対象データが格納されている記憶デバイスから、前記1以上の記憶デバイスのうちの、前記所定値未満のデータ価値のデータの格納先とされる記憶デバイスである所定の記憶デバイスに移動し、
     当該移動の後に、前記提示に対して当該データを格納しないことを意味する回答を受けた場合、前記プロセッサ部は、当該学習対象データを前記所定の記憶デバイスから削除する、
    請求項2記載の計算機システム。
  11.  前記移動の後に、前記提示に対して当該データを格納することを意味する回答を受けた場合、前記プロセッサ部は、前記学習管理情報における、当該学習対象データのデータ価値を高める更新を実行し、その更新後のデータ価値に対応した記憶デバイスに、前記所定の記憶デバイスから、当該学習対象データを移動する、
    請求項10記載の計算機システム。
  12.  前記1以上の記憶デバイスの少なくとも1つを更に有する、
    請求項1記載の計算機システム。
  13.  ライト要求の処理であるライト処理において、
      (A)当該ライト要求に従うデータであってキャッシュ領域に格納されているライト対象データを、1以上の記憶デバイスのいずれかに格納する前に、前記1以上の記憶デバイスのいずれかに格納済のデータ毎のデータアクセス状況及びデータ種別を表す格納済データ管理情報を含んだ管理情報を基に、当該ライト対象データのデータ価値を判定し、
      (B)当該ライト対象データについて判定されたデータ価値が所定の価値以上の場合、当該ライト対象データを前記1以上の記憶デバイスのいずれかに格納し、
      (C)当該ライト対象データについて判定されたデータ価値が前記所定の価値未満の場合、当該ライト対象データを前記1以上の記憶デバイスのいずれにも格納しない、
    データ格納制御方法。
PCT/JP2016/086980 2016-12-13 2016-12-13 データの格納を制御する計算機システム及び方法 WO2018109818A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/086980 WO2018109818A1 (ja) 2016-12-13 2016-12-13 データの格納を制御する計算機システム及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/086980 WO2018109818A1 (ja) 2016-12-13 2016-12-13 データの格納を制御する計算機システム及び方法

Publications (1)

Publication Number Publication Date
WO2018109818A1 true WO2018109818A1 (ja) 2018-06-21

Family

ID=62559638

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/086980 WO2018109818A1 (ja) 2016-12-13 2016-12-13 データの格納を制御する計算機システム及び方法

Country Status (1)

Country Link
WO (1) WO2018109818A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0697962A (ja) * 1992-09-11 1994-04-08 Oki Electric Ind Co Ltd 電子メールシステム
JPH06243004A (ja) * 1993-02-19 1994-09-02 Toshiba Corp 逐次データ記憶装置
JP2006252354A (ja) * 2005-03-11 2006-09-21 Nec Corp データ管理装置、携帯電話、データ管理方法、プログラム、記録媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0697962A (ja) * 1992-09-11 1994-04-08 Oki Electric Ind Co Ltd 電子メールシステム
JPH06243004A (ja) * 1993-02-19 1994-09-02 Toshiba Corp 逐次データ記憶装置
JP2006252354A (ja) * 2005-03-11 2006-09-21 Nec Corp データ管理装置、携帯電話、データ管理方法、プログラム、記録媒体

Similar Documents

Publication Publication Date Title
US11099769B1 (en) Copying data without accessing the data
US20230376460A1 (en) Consistent file system semantics with cloud object storage
US9116913B2 (en) File storage system and file cloning method
JP5586718B2 (ja) 制御プログラム、ホスト装置の制御方法、情報処理装置およびホスト装置
US8843716B2 (en) Computer system, storage apparatus and data transfer method
US9740422B1 (en) Version-based deduplication of incremental forever type backup
US10725907B2 (en) Information processing apparatus for specifying data region of garbage collection, information processing system and information processing method
KR20210092361A (ko) 스토리지 장치 및 그것의 동작 방법
CN107924324A (zh) 数据访问加速器
US10936243B2 (en) Storage system and data transfer control method
US10346077B2 (en) Region-integrated data deduplication
US11416157B2 (en) Storage device and data migration method
US10089125B2 (en) Virtual machines accessing file data, object data, and block data
US8447944B2 (en) Information processing device and data shredding method
US10430287B2 (en) Computer
US10599340B1 (en) Policy driven IO scheduler to improve read IO performance in hybrid storage systems
WO2018109818A1 (ja) データの格納を制御する計算機システム及び方法
WO2017122313A1 (ja) オブジェクト履歴として表示される情報をクライアントに提供する計算機システム及び計算機
US10664442B1 (en) Method and system for data consistency verification in a storage system
US8977814B1 (en) Information lifecycle management for binding content
US10346054B1 (en) Policy driven IO scheduler resilient to storage subsystem performance
US20240176520A1 (en) Storage system and storage control method
US9646012B1 (en) Caching temporary data in solid state storage devices
US20230214142A1 (en) System configuration management device, system configuration management method, and system configuration management program
US20210014131A1 (en) Efficient way to perform location slo validation

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

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP