This application is based upon and claims the benefit of priority of the prior Japanese Patent application No. 2021-043071, filed on Mar. 17, 2021, the entire contents of which are incorporated herein by reference.
The embodiment discussed herein is related to a control apparatus and a method for reading data.
Storage systems that store data, for example, object storage systems that handle objects, sometimes perform tiering control. The tiering control arranges, in accordance with frequency of access from applications to objects, for example, frequently accessed objects in a low latency tier and less frequently accessed objects in a high latency tier.
The low latency tier is, for example, a storage device including one or both of a magnetic disk device such as an HDD (Hard Disk Drive) and a semiconductor drive device such as an SSD (Solid State Drive), which have high accessibility (high speed) but have high cost (storage cost) per unit capacity.
The high latency tier is a storage device that uses a tape device accommodating a Physical Volume (PV) such as a magnetic tape cartridge, which has low accessibility (low speed) but has low cost (storage cost) per unit capacity. The PV is an example of a “tape volume” or a “portable recording medium”.
Hereinafter, for convenience, the low latency tier may be referred to as an “HDD tier” or an “HDD storage tier”, the high latency tier may be referred to as a “tape tier” or a “tape storage tier”, and the low latency tier and the high latency tier may be collectively referred to as a “storage tier”.
In the object storage system, for example, when receiving, from an application, a transfer-request for a less frequently accessed object arranged in the HDD tier, a control apparatus transfers the object from the HDD tier to the tape tier by the tiering control in response to the transfer-request.
Further, when receiving read-requests for objects from an application, the control apparatus performs a reading process that reads the objects from the storage tier in the order of receiving the read-requests to respond to the application.
It is assumed that multiple objects relating to multiple read-requests are stored in a certain PV of the tape tier. In the PV, when the order of receiving the read-requests (reading order of the objects) is different from the order of storing the objects, the tapes of the PV is rewound by a drive device that performs access such as reading and writing of data to the PV in the tape tier.
In the rewinding, the drive device executes a location process that feeds (moves) the tape of the PV in a direction opposite to a forward direction by using a drive mechanism such as a motor so that the head for accessing the tape is positioned at the top of the object serving as a read-target.
When the location process occurs, as compared with a case where the order of receiving the read-requests matches the order of storing the objects, the processing performance (reading performance) of the reading process may be degraded, which may lead to an increase in time period (hereinafter also referred to as “period”) of reading, in other words, time period for responding to the read-request.
According to an aspect of the embodiments, a control apparatus may control access to a recording medium recording a plurality of data. The control apparatus may include: a memory; and a processor coupled to the memory. The processor may be configured to store a first data and a second data in a storing region after reading each of the first data and the second data from the recording medium based on first information including information on respective recording positions of the plurality of data in the recording medium and respective read-times at which the plurality of data are read from the recording medium. The first data may serve as a read-target of a first read-request to the recording medium. The second data may have co-occurrence relation to the first data. The processor may be configured to transmit, in a case where a second read-request to the recording medium is detected, the second data to a transmission source of the second read-request after reading the second data stored in the storing region. The second read-request may regard the second data as a read-target.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
Hereinafter, an embodiment of the present invention will now be described with reference to the drawings. However, the embodiment described below is merely illustrative, and there is no intention to exclude application of various modifications and techniques that are not explicitly described below. For example, the present embodiment can be variously modified and implemented without departing from the scope thereof. In the drawings used in the following embodiment, the same reference symbols denote the same or similar parts, unless otherwise specified.
The example of
As illustrated in
As illustrated in
Meanwhile, there may be co-occurrence relation among the objects OBJ #2 to #0 serving as the read-targets of the multiple read-requests #0 to #2. The “co-occurrence relation” is a relationship in which reading of one (first) object causes reading of another (second) object. In such a case, it can be regarded that the one object has the co-occurrence relation to another object. The multiple objects having the co-occurrence relation may be mutually or unilaterally related, for example, may be associated with each other, or may be appropriately or sequentially read in a predetermined process in the application. In the following description, the “co-occurrence relation” is assumed to include a relationship regarding access order (e.g., reading order) of objects having the co-occurrence relation, such as the order of receiving the read-requests.
The multiple read-requests that regard multiple objects having the co-occurrence relation as the read-targets may be repeatedly issued in the same reading order, in other words, may have repeatability. For this reason, when the multiple objects having the co-occurrence relation (including a predetermined reading order) are not recorded on the PV 120 along with the forward direction of the tape, the location process occurs each time the multiple read-requests are received. As a result, reading performance may be degraded, which may lead to an increase in time period of reading.
For example, the object storage system 100 sometimes handles a large number of objects each having a size of tens of kilobytes to hundreds of megabytes, and may process read-requests or write-requests for multiple objects in the unit of hundreds of gigabytes to several terabytes. Accordingly, as the number of objects to be handled increases, the number of objects having the co-occurrence relation increases and the order of storing the objects in the PV 120 becomes less likely to conform to the forward direction of the tape, which results in a higher possibility that the time period of reading increases due to the location processes.
Therefore, in one embodiment, description will be made in relation to a method for suppressing an increase in the time period for reading the multiple objects stored in the PV.
<1-1> Configuration Example of Object Storage System:
Hereinafter, an object storage system 1 (see
(Hardware (HW) Configuration Example)
First, a HW configuration example of the system 1 according to the one embodiment will be described.
The tiered storage apparatus 2 may illustratively include one or more computers 2a and one or more storing devices 2b. In the example of
The computer 2a is an example of a control apparatus or an information processing device, and performs various types of control relating to an HDD tier and a tape tier in the tiered storage apparatus 2. In the one embodiment, the computer 2a controls operations (processes) in both the HDD tier and the tape tier, but the computer 2a is not limited to this configuration. For example, the tiered storage apparatus 2 may include a computer 2a that controls operations (processes) in the HDD tier and another computer 2a that controls operations (processes) in the tape tier. In this case, the HDD tier and the tape tier may be “storage devices” separate from each other, and may realize the tiered storage apparatus 2 by, for example, cooperative operation of the respective computers 2a of the HDD tier and the tape tier.
The storing device 2b is an example of a storing device for realizing the HDD tier, and may include, for example, one or both of one or more magnetic disk devices such as HDDs and one or more semiconductor drive devices such as SSDs.
The tape device 5 is an example of a storing device for realizing the tape tier. The tape device 5 is connected to the tiered storage apparatus 2, and may illustratively include a drive device 5a, a robot 5b, and a controller 5d. The tape device 5 may include multiple drive devices 5a and/or multiple robots 5b.
The drive device 5a is an example of a medium processing device that performs access such as recording and reproducing of data to and from PVs 5c serving as an example of portable recording media, and is also an example of an access unit that accesses the PVs 5c. The robot 5b is an example of a transporting device that performs, for example, pick-up, transfer, and insertion into the driving device 5a of a medium cartridge of the PVs 5c. The PVs 5c are an example of multiple portable recording media that record data of multiple objects. The PVs 5c may be, for example, magnetic tapes such Linear Tape Open (LTO) cartridges that record data in units of blocks (BKs).
The controller 5d performs various types of control in the tape device 5. For example, the controller 5d may control the operation of the drive device 5a and the robot 5b in response to instructions (e.g., commands) received from the tiered storage apparatus 2, and may transmit responses to the commands to the tiered storage apparatus 2.
The host device 6 is an example of a processing device or an upper device that accesses to the HDD tier or the tape tier in the tiered storage apparatus 2. The host device 6 may be, for example, a Personal Computer (PC), a server, or a mainframe.
The tiered storage apparatus 2 and the tape device 5 may be, for example, communicably connected to each other through a network such as a Storage Area Network (SAN) via a Fibre Channel (FC) cable or the like. The tiered storage apparatus 2 and the host device 6 may be, for example, communicably connected to each other through a network such as a Local Area Network (LAN).
As illustrated in
The processor 10a is an example of an arithmetic processing device that performs various types of control and calculations. The processor 10a may be communicably connected to each of the blocks 10b-10e via a bus 10i. The processor 10a may be any one of integrated circuits (ICs) such as Central Processing Units (CPUs), Micro Processing Units (MPUs), Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), and Programmable Logic Devices (PLDs) (e.g., Field Programmable Gate Arrays (FPGAs)), or combinations of two or more of these ICs.
The memory 10b is an example of a HW that stores various data and programs. The memory 10b may be a volatile memory, for example, a RAM such as a Dynamic Random Access Memory (DRAM).
The storer 10c is an example of a HW that stores various data, programs, and the likes. For example, the storer 10c may be used as a secondary storing device of the computer 10. The storer 10c may store an OS (Operating System), a program such as firmware or an application, and various types of data. Examples of the storer 10c may be various storing devices including a magnetic disk device such as an HDD, a semiconductor drive device such as an SSD, and a nonvolatile memory. The non-volatile memory may be, for example, a flash memory, a Storage Class Memory (SCM), a Persistent Memory (PM), a Read Only Memory (ROM), and the like. The storer 10c may store a program 10f that implements all or a part of various functions of the computer 10.
The tape IF 10d-1, the IO IF 10d-2, the host IF 10d-3, and the disk IF 10d-4 are examples of communication IFs that control connection and communication to the tape device 5, the IC device 10g, the host device 6, and the storing device 2b, respectively. The IC device 10g may include, for example, one or both of an input unit such as a mouse, a keyboard, a touch panel, and operation buttons, and an output unit such as a display and a printer.
Incidentally, the computer 10 may include a communication IF that controls connection and communication to a management terminal of an administrator, and may download, by using this communication IF, the program 10f from a non-illustrated network.
The reader 10e is an example of a reader that reads data and programs recorded on a recording medium 10h to output data and programs to the processor 10a. The reader 10e may include a connection terminal or a device to which the recording medium 10h can be connected or inserted. The reader 10e may be, for example, an adapter conforming to a Universal Serial Bus (USB) or the like, a drive device that accesses a recording disk, a card reader that accesses a flash memory such as an SD card, etc. The program 10f may be stored in the recording medium 10h.
The recording medium 10h may be, for example, a non-transitory computer-readable recording medium such as a magnetic/optical disk or a flash memory. Examples of the magnetic/optical disk may be a flexible disk, a Compact Disc (CD), a Digital Versatile Disc (DVD), a Blu-ray disk, a Holographic Versatile Disc (HVD), and the like. An example of the flash memory may be a semiconductor memory such as a USB memory or an SD card.
The HW configuration of the computer 10 described above is merely illustrative. Accordingly, the computer 10 may appropriately undergo an increase or a decrease (e.g., addition or deletion of arbitrary blocks), division, integration in an arbitrary combination of the HWs, addition or omission of the bus, and the like.
As illustrated in
One or both of the controller 2c and the controller 5d illustrated in
(Functional Configuration Example)
Next, description will now be made in relation to an example of a functional configuration (software (SW) configuration) of the system 1 according to the one embodiment.
In the system 1 illustrated in
For example, the APP 6a may transmit a read-request or a write-request for an object (hereinafter also referred to as “OBJ”) to the tiered storage apparatus 2, and may receive a read-result or a write-result from the tiered storage apparatus 2. Further, to the tiered storage apparatus 2, the APP 6a may transmit a tier move request (transfer-request) for moving the OBJ stored in the HDD tier 3 to the tape tier 4.
The read-request may include, for example, identification information for identifying the OBJ of the read-target. The read-result may include the OBJ designated by the read-request. For example, the APP 6a according to the one embodiment is assumed to transmit multiple read-requests which target multiple OBJs having the co-occurrence relation to each other to the tiered storage apparatus 2. The transfer-request may include, for example, identification information for identifying the OBJ of the transfer-target.
The tiered storage apparatus 2 is an example of a control apparatus that controls access to a recording medium recording a plurality of data, and performs various types of control on the HDD tier 3 or the tape tier 4 in response to receiving the read-request, the write-request, or the transfer-request from the host device 6.
As illustrated in
(Description of HDD Tier 3)
The HDD tier 3 is an example of a low latency tier, for example, a storage device that uses a storing device such as an HDD or an SSD, and may include, as illustrated in
The OBJ storing unit 31 is an example of a storing device having an access speed higher than an access speed of the PVs 5c, and stores the OBJs accessed on the HDD tier 3. For example, the OBJ storing unit 31 may store data such as OBJs to be written into the HDD tier 3 by the write-requests. The OBJ storing unit 31 may be implemented by, for example, at least a part of a storing region of the storing device 2b illustrated in
For example, in the system 1, the HDD tier 3 serves as a default storing destination of the OBJs to be written into the tiered storage apparatus 2. Thus, the OBJs written into the OBJ storing unit 31 in response to the write-requests are read and written in the OBJ storing unit 31 of the HDD tier 3 until the OBJs are transferred to the tape tier 4 in response to the transfer-requests of the OBJs.
The read-time DB 32 is a DB that manages read-times of the OBJs in the HDD tier 3. The read-time may be, for example, the time (hereinafter also referred to as “time point”) at which the read-request received from the APP 6a is detected or generated (occurred) (e.g., the time at which the read-request is transmitted from the APP 6a), the time at which the read-request is received, or the time at which the OBJ is read from the OBJ storing unit 31. Hereinafter, the read-time is assumed to be the time at which the read-request is transmitted from the APP 6a.
The OBJ transferring unit 33 performs a transferring process that transfers (moves) information on the OBJ of the transfer-target from the HDD tier 3 to the tape tier 4 in response to the transfer-request received from the APP 6a for transfer from the HDD tier 3 to the tape tier 4. The information on the OBJ of the transfer-target may include the OBJ of the transfer-target designated by the transfer-request and the metadata relating to the OBJ.
For example, in the transferring process, the OBJ transferring unit 33 may transmit the information on the OBJ of the transfer-target to a read/write-request controlling unit 41 of the tape tier 4. Further, in the transferring process, the OBJ transferring unit 33 may delete the OBJ among the information on the OBJ of the transfer-target from the OBJ storing unit 31, and may delete the entry of the read-time of the OBJ from the read-time DB 32. The term “delete” may include managing the storing region of the data to be releasable.
The read-time managing unit 34 manages the read-times of the OBJs on the basis of the read-time DB 32. For example, when acquiring the read-times of the OBJs, the read-time managing unit 34 may store the read-times of the acquired OBJs in the read-time DB 32 in association with the OBJs.
(Description of Tape Tier 4)
The tape tier 4 is an example of a high latency tier, for example, a storage device that uses the PVs 5c such as magnetic disk cartridges. As illustrated in
The read/write-request controlling unit 41 performs various types of control relating to the read-request or the write-request received from the APP 6a for the OBJ in the tape tier 4. Hereinafter, description will be made in relation to a case of receiving, from the APP 6a, multiple (first) read-requests that regard multiple different OBJs in the tape tier 4 as the read-targets.
For example, the read/write-request controlling unit 41 may record, on the tape OBJ managing DB 43, the times at which the multiple read-requests received from the APP 6a are generated (detected), and may output, to the co-occurrence relation detecting unit 44 and the read-result replying unit 48, the OBJs of the read-targets designated by the multiple read-requests as arguments. The OBJ of the read-target (read-target OBJ) is an example of a first data serving as the read-target of a first read-request to the PVs 5c.
Further, for example, when the read-target OBJ is stored in the cache unit 42, the read/write-request controlling unit 41 may cause the read-result replying unit 48 to respond (reply) with the read-target OBJ serving as the read-result from the cache unit 42 to the transmission source of the read-request, for example, the APP 6a.
Furthermore, for example, when the read-target OBJ is stored in the cache unit 42, the read/write-request controlling unit 41 may output, to the co-occurrence relation detecting unit 44, the OBJs other than the read-target OBJ stored in the cache unit 42 among the multiple read-target OBJs. In other words, the read/write-request controlling unit 41 may exclude the read-target OBJ stored in the cache unit 42 from the arguments to be outputted to the co-occurrence relation detecting unit 44.
The cache unit 42 is an example of a storing region that stores the data of the OBJs, and for example, stores the OBJs read from the PVs 5c of the tape device 5 by the read-executing unit 47. The cache unit 42 may be realized by, for example, a storing region included in at least one of the memory 10b and the storer 10c (see
The tape OBJ managing DB 43 is, for example, a database that manages storing positions and the read-times of the OBJs in the tape device 5. The tape OBJ managing DB 43 is an example of first information including information on the respective recording positions of the multiple data in the PVs 5c and the respective read-times at which the multiple data are read from the PVs 5c.
The tape OBJ managing DB 43 may store, for example, storing order (storing positions) in the PVs 5c in association with the read-times for all of the OBJs stored in the PVs 5c. The tape OBJ managing DB 43 may be generated and managed for each PV 5c, or may be generated and managed collectively for multiple PVs 5c. In the latter case, the “tape forward direction” may include information capable of identifying the PVs 5c.
As one of the timings at which the OBJs are stored in the tape tier 4, the one embodiment assumes the transferring process executed by the OBJ transferring unit 33 based on the transfer-request for the OBJ to be transferred from the HDD tier 3 to the tape tier 4. When the transferring process is performed, on the tape OBJ managing DB 43 related to the PVs 5c as the transfer destination, the OBJID and the read-time (in the HDD tier 3) read from the read-time DB 32 are recorded in association with the tape forward direction of the PVs 5c (in the order of the logical addresses).
As such, for example, when the transfer-requests for multiple data to be transferred from the OBJ storing unit 31 to the PVs 5c are generated (detected), the OBJ transferring unit 33 and the read/write-request controlling unit 41 store the multiple data in the PVs 5c. Further, the OBJ transferring unit 33 and the read/write-request controlling unit 41 record, on the tape OBJ managing DB 43, the respective read-times of the multiple data in the OBJ storing unit 31, which are stored in the read-time DB 32, as the initial values of the respective read-times of the multiple data in the PVs 5c.
The read/write-request controlling unit 41 may update the read-times of the read-target OBJs in the tape OBJ managing DB 43, at a predetermined timing, for example, after execution of the reading process in the tape tier 4.
The co-occurrence relation detecting unit 44 detects the co-occurrence relation of the read-target OBJs designated by the read-requests. For example, if there is a tendency that a reading of a certain OBJ accompanies another reading(s) of one or more OBJs having the read-time close to the (recent) read-time of the certain OBJ, the co-occurrence relation detecting unit 44 may detect the one or more OBJs to be the OBJs having the co-occurrence relation to the certain OBJ.
The OBJs having the co-occurrence relation to the read-target OBJ are, for example, the OBJs whose read-times are in the same time band as that of the read-time of the read-target OBJ in the tape OBJ managing DB 43. The “same time band” may be, for example, within a range from a predetermined time length before to after the read-time (reference time) of the OBJ of interest (reference), in other words, within a period of time between the predetermined time length before the reference time and the predetermined time length after the reference time. The predetermined time length may be, for example, a few seconds to a few hours, exemplarily several minutes or so, but is not limited to these examples.
For example, in the tape OBJ managing DB 43, the co-occurrence relation detecting unit 44 may extract the OBJs read in the same time band as that of the read-time of the read-target OBJ from the tape OBJ managing DB 43, and may generate an OBJ list 45. Incidentally, instead of generating the OBJ list 45, the co-occurrence relation detecting unit 44 may add, to the OBJs themselves or the tape OBJ managing DB 43, information (e.g., a flag) that can identify the OBJs having the co-occurrence relation.
Hereinafter, with reference to
For example, in the following description, “x” represents a time difference or error (predetermined time length) for determining that multiple OBJs have the co-occurrence relation. In
In the system 1 according to the one embodiment, for example, several to several hundred or more read-requests may be issued per second (in the frequency) for the OBJs from the APP 6a. Meanwhile, the time period of the reading process for reading the OBJs from the tape device 5 in the tape tier 4 is, for example, about 4 s/GB to 5 s/GB per OBJ.
Hence, in the system 1, during the execution of the reading process for a single read-target OBJ in the tape tier 4, for example, around several dozen read-requests may be generated. The one embodiment may judge one or more second OBJs which are the targets of the read-requests generated within the time period of the reading process for the first OBJ, in other words, within the time difference “±x” to be the OBJs having the co-occurrence relation to the first OBJ.
Here, the read-requests for the OBJIDs “6” and “1” (“OBJ6” and “OBJ1”) are assumed to be generated. For each of the OBJ6 and OBJ1 as the read-targets, the co-occurrence relation detecting unit 44 extracts, from the tape OBJ managing DB 43, the OBJs whose time differences in the read-times are in a relationship of “±x”.
For example, by referring to the tape OBJ managing DB 43, the co-occurrence relation detecting unit 44 extracts OBJ3, OBJ2, OBJ4, and OBJ1 whose read-times are in the relationship that the time difference is “±x” from the read-time T2 of OBJ6. As indicated by a symbol X in
In addition, for example, by referring to the tape OBJ managing DB 43, the co-occurrence relation detecting unit 44 extracts OBJ4, OBJ2, and OBJ6 whose read-times are in the relationship that the time difference from the read-time T1 of the OBJ1 is “±x”. As indicated by the symbol Y in
For example, as illustrated in
The read-OBJ optimizing unit 46 acquires the OBJs excluding the redundancy from the OBJ list 45 extracted by the co-occurrence relation detecting unit 44.
For example, regarding the OBJ6 and the OBJ1 serving as the read-targets, the read-OBJ optimizing unit 46 may acquire a list of OBJIDs “3, 2, 4, 1, 6” excluding the overlapping OBJIDs from OBJIDs “3, 2, 4, 1, 4, 2, 6” obtained by integrating the OBJs having the co-occurrence relation in the OBJ list 45.
The read-executing unit 47 rearranges the list of the OBJs “3, 2, 4, 1, 6” from which the redundancy has been excluded by the read-OBJ optimizing unit 46, in the recording order on the tapes of the PVs 5c, in other words, in the ascending order of the logical addresses, on the basis of the tape OBJ managing DB 43. For example, the read-executing unit 47 may sort the list of the OBJs “3, 2, 4, 1, 6” excluding the redundancy into “1, 2, 3, 4, 6” based on the tape forward direction illustrated in
Then, the read-executing unit 47 reads the OBJs from the PVs 5c in the order of the rearranged list, stores the read OBJs in the cache unit 42, and instructs the read-result replying unit 48 to respond with the read-target OBJs among the read OBJs to the APP 6a.
At this time, the read-executing unit 47 may restrict the OBJs which are to be read from the PVs 5c in the rearranged lists to the OBJs located within a range having the multiple read-target OBJs as a head point and a tail point on the tape of the PVs 5c.
For example, when the read-target OBJs are the OBJ1 and the OBJ6, the read-executing unit 47 may restrict the OBJs which are to be read from the PVs 5c to the OBJ1 to the OBJ6, in other words, the OBJs recorded within the range of the logical addresses A1 to A6 (see
Hereinafter, for convenience, among the multiple read-target OBJs, the OBJ1 having the smallest logical address may be referred to as a “head point OBJ” and the OBJ6 having the largest logical address may be referred to as a “tail point OBJ.”
As described above, the read-executing unit 47 sets, as a read-range, the range having end points defined by the head point OBJ and the tail point OBJ in the forward direction of the tapes of the PVs 5c.
As an example, when the rearranged list includes an OBJ having a logical address smaller than that of the head point OBJ1 or an OBJ having a logical address larger than that of the tail point OBJ6, the read-executing unit 47 may suppress reading the OBJ from the PVs 5c.
Accordingly, even those having the co-occurrence relation to the read-target OBJ, the OBJs stored outside the read-range are suppressed from being read from the PVs 5c, which can suppress an increase in the time period of reading.
As described above, the co-occurrence relation detecting unit 44 and the read-executing unit 47 store the read-target data (OBJ) and the second data (OBJ) having the co-occurrence relation to the read-target data in the cache unit 42 after reading those data from the PVs 5c based on the tape OBJ managing DB 43. The second data is, for example, the OBJ to be read from the PVs 5c to the cache unit 42 by the read-executing unit 47, among the OBJs having the co-occurrence relation to the read-target OBJ.
Accordingly, the OBJs having the co-occurrence relation to the read-target OBJ can be speculatively read to the cache unit 42, and thus, in the occurrence (detection) of the read-request that regards the OBJ having the co-occurrence relation to the read-target, it is possible to respond with the OBJs that have been read to the cache unit 42. That is, it is possible to suppress the occurrence of the access to the tape device 5 and to shorten the time period of responding.
At this time, by referring to the tape OBJ managing DB 43, the co-occurrence relation detecting unit 44 may detect, as (a candidate for) the second data, the OBJ whose read-time has the time difference within the predetermined time length from the read-time of the read-target OBJ.
In addition, by referring to the tape OBJ managing DB 43, the read-executing unit 47 may detect, as (a candidate for) the second data, the OBJ whose recording position in the PVs 5c is within the range having both ends defined by the recording positions of the multiple read-target OBJs in the data recording order in the PVs 5c.
Further, by referring to the tape OBJ managing DB 43, the read-executing unit 47 may store the read-target OBJ and the multiple OBJs as the multiple second data in the cache unit 42 after reading those OBJs from the PVs 5c, in an order based on the data recording order in the PVs 5c.
According to the above, it is possible to efficiently (e.g., rapidly) read the OBJs having the co-occurrence relation to the read-target OBJ from the PVs 5c to the cache unit 42, and to realize both a reduction in the processing load in the tiered storage apparatus 2 and suppression of an increase in the time period for responding with the read-target OBJ.
When the read-target OBJ exists in the cache unit 42, in response to a request from the read/write-request controlling unit 41 or the read-executing unit 47, the read-result replying unit 48 transmits the read-target OBJ to the APP 6a as a response (read-result) to the read-request.
In other words, when the second read-request to the PVs 5c, which regards the above-described second data as the read-target, is generated, the read-result replying unit 48 may transmit the second data to the transmission source of the second read-request, for example, the APP 6a after reading the second data stored in the cache unit 42.
As described above, in the system 1 according to the one embodiment, the OBJ having the co-occurrence relation to the read-target OBJ in the read-request is stored in the cache unit 42. Thus, in a case of receiving the read-requests for the multiple OBJs having the co-occurrence relation and being stored in the PVs 5c, even if the reading order does not coincide with the recording direction of the tapes of the PVs 5c, it is possible to read the OBJs from the cache unit 42 to respond. This can suppress an increase in the time period of reading.
In addition, since the read-OBJ optimizing unit 46 and the read-executing unit 47 read the OBJs having the co-occurrence relation from the PVs 5c along the recording direction of the tapes, it is possible to shorten the time period of reading. For example, it is assumed that the read-requests for relatively small OBJs each having a size from several KB to several tens of MB are generated in the order different from the recording direction of the tapes. In this case, by using the scheme according to the one embodiment, the tiered storage apparatus 2 can read the OBJs from the PVs 5c in the duration (period) two or more times shorter than (in the duration less than ½ of) the duration for reading in original order (i.e., the order of receiving the read-requests).
In
As illustrated in
Next, an operation example of the system 1 according to the one embodiment will be described.
<1-2-1> Operation Example of Read-Time Managing Process and Transfer Instructing Process:
First, with reference to
As illustrated in
If the request is a read-request (YES in Step S2; Process P1 in
If the received request is not a read-request (NO in Step S2), the request is determined whether or not a transfer-request (Step S4). When the request is a transfer-request (YES in Step S4; Process P11 in
If the received request is not a transfer-request (NO in Step S4), the request is, for example, a write-request. In this case, the HDD tier 3 may perform a process according to the write-request. As for the process according to the write-request in the HDD tier 3, various known schemes may be used, and thus, description thereof is omitted.
<1-2-2> Operation Example of Writing Process and Reading Process:
Next, with reference to
As illustrated in
If the request is not a read-request (NO in Step S12), for example, if the request is a write-request (transfer-request) from the HDD tier 3 (Process P12 in
When the received request is a read-request (YES in Step S12; Process P21 in
If the read-target OBJ exists in the cache unit 42 (YES in Step S15; YES in Process P22 of
The read-result replying unit 48 reads the read-target OBJ from the cache unit 42 on the basis of the list of the read-target OBJs existing in the cache unit 42 (Process P24 in
Further, the read/write-request controlling unit 41 updates the read-time in the tape OBJ managing DB 43 for the read-target OBJ in the received read-request (Step S17), and the process ends.
On the other hand, when the read-target OBJ does not exist in the cache unit 42 (NO in Step S15; NO in Process P22 of
The co-occurrence relation detecting unit 44 detects OBJs having the co-occurrence relation to the OBJs in the notified list (Process P27 in
The read-OBJ optimizing unit 46 outputs a list excluding the redundancy from the OBJ list 45 to the read-executing unit 47 (Step S20; Process P29 in
The read-executing unit 47 rearranges the OBJs in the list in the recording order on the tapes of the PVs 5c on the basis of the tape OBJ managing DB 43 so as to suppress the execution of the location process (Step S21; Process P30 in
The read-executing unit 47 extracts the OBJs within the range having both ends defined by the read-target OBJs at the positions on the tape in the rearranged list (Step S22). Then, the read-executing unit 47 reads the OBJs from the PVs 5c in the order of extracting the OBJs (Process P31 in
The read-executing unit 47 notifies the read-result replying unit 48 that the OBJs have been read from the PVs 5c to the cache unit 42 (Step S23; Process P33 in
The read-result replying unit 48 reads the read-target OBJ from the cache unit 42, transmits (responds with) the read-target OBJ as a read-result to the transmission source (e.g., the APP 6a) of the request (Step S24; Process P34 in
The technique according to the one embodiment described above can be changed or modified as follows.
For example, the functional blocks of the tiered storage apparatus 2 illustrated in
The tiered storage apparatus 2 according to the one embodiment may be, for example, a Virtual Machine (VM) or a physical machine. The functions of the HDD tier 3 and the tape tier 4 may be realized by one computer 2a or by two or more computers 2a. Further, at least some of the functions of the HDD tier 3 and the tape tier 4 may be implemented by using HW resources and Network (NW) resources provided by cloud environments.
In one aspect, it is possible to suppress an increase in time period for reading multiple data stored in a portable recording medium.
Throughout the descriptions, the indefinite article “a” or “an” does not exclude a plurality.
All examples and conditional language recited herein are intended for the pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed limitations to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although one or more embodiments of the present inventions have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
2021-043071 | Mar 2021 | JP | national |