WO2015064048A1 - 情報処理装置、データキャッシュ装置、情報処理方法およびデータキャッシュ方法 - Google Patents
情報処理装置、データキャッシュ装置、情報処理方法およびデータキャッシュ方法 Download PDFInfo
- Publication number
- WO2015064048A1 WO2015064048A1 PCT/JP2014/005311 JP2014005311W WO2015064048A1 WO 2015064048 A1 WO2015064048 A1 WO 2015064048A1 JP 2014005311 W JP2014005311 W JP 2014005311W WO 2015064048 A1 WO2015064048 A1 WO 2015064048A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- request
- cache
- read
- memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/154—Networked environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/31—Providing disk cache in a specific location of a storage system
- G06F2212/314—In storage network, e.g. network attached cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/46—Caching storage objects of specific type in disk cache
- G06F2212/465—Structured object, e.g. database record
Definitions
- the present invention relates to an information processing device, a data cache device, an information processing method, and a data cache method.
- Patent Document 1 describes a method for determining which mirror site of a content provider should receive an end-user content request in a load balancing system.
- Patent Document 2 describes a method in which an intermediate node returns a cache document to a client when a cache server is installed in the entire network and a document request can be executed by the intermediate node along the routing graph.
- An in-memory information processing device that handles data on a memory is implemented in, for example, a CPU (Central Processing Unit) that processes data using a large-capacity memory in response to a read / write request input from a network.
- a data processing unit A data processing unit.
- an information processing apparatus that is faster than the in-memory type information processing apparatus mounts the data processing unit on a device different from a CPU, unlike a normal server.
- Devices different from the CPU are a field programmable gate array (FPGA), a many-core processor, and the like.
- the information processing apparatus processes a read / write request input from the network at a higher speed than the CPU (for example, Non-Patent Document 1).
- the above configuration is implemented on a board equipped with a special device. Therefore, the amount of data that can be handled is limited to a small capacity due to limitations of the board. Therefore, a large amount of data cannot be handled on the in-memory.
- Patent Documents 1 and 2 do not support data writing. Further, in the above method, an access protocol (URL (Uniform Resource Locator) etc.) used when data is cached is different from that of a large-capacity memory.
- a microprocessor cache for example, Non-Patent Document 2 is also known as a similar data arrangement mechanism, but the access protocol differs between the microprocessor cache memory and the large-capacity memory.
- the in-memory type information processing apparatus has a problem that it is difficult to handle a large amount of data at high speed.
- the present invention has been made in view of the above problems, and an object thereof is to realize an information processing apparatus capable of handling a large amount of data at high speed.
- An information processing apparatus includes a data cache device including a cache memory and a management device including a large-capacity memory having a larger capacity than the cache memory, and the data cache device includes: Data cache control means for controlling to place data of a predetermined condition stored in the cache memory in the large-capacity memory when a read request or write request is received from the outside of the data cache, the data cache control means When the received request is a write request, data to be written is written to the cache memory according to the write request, and when the request is a read request, the data read according to the read request is written to the cache memory. Write to memory.
- a data cache device is a data cache device including a cache memory and connected to a management device including a large-capacity memory having a larger capacity than the cache memory, the data cache device and the data cache device
- a data cache control means for controlling to place data of a predetermined condition stored in the cache memory in the large-capacity memory when a read request or a write request is received from outside the management device;
- the control means When the received request is a write request, the control means writes the data to be written to the cache memory according to the write request, and when the request is a read request, the control means reads the data read according to the read request. Write to the cache memory.
- An information processing method is an information processing method for an information processing apparatus including a data cache device including a cache memory and a management device including a large-capacity memory having a larger capacity than the cache memory.
- a data cache method is a data cache method for a data cache device that is connected to a management device that has a built-in cache memory and a large-capacity memory that has a larger capacity than the cache memory.
- a read request or a write request is received from outside the cache device and the management device, and when the received request is a write request, control is performed to place data of a predetermined condition in the large-capacity memory, and the write According to the request, the data to be written is written to the cache memory, and when the received request is a read request, control is performed so that data of a predetermined condition is arranged in the large-capacity memory.
- the issued data is written into the cache memory.
- FIG. 10 is a flowchart illustrating an example of a processing flow of the data cache device when the read request is a request handled by the data cache device and data corresponding to the read request does not exist in the small-capacity memory.
- FIG. 10 is a flowchart illustrating an example of a processing flow of the data cache device when the size of the free area of the small capacity memory is smaller than the data length of the data read by the read request in the case of FIG. 9.
- 10 is a flowchart illustrating an example of a processing flow of the data cache device when the write request is a request handled by the data cache device and data corresponding to the write request exists in the small-capacity memory.
- 10 is a flowchart illustrating an example of a processing flow of the data cache device when the write request is a request handled by the data cache device and data corresponding to the write request does not exist in the small-capacity memory.
- 12 is a flowchart showing another example of the processing flow of the data cache device when the write request is a request handled by the data cache device and the data corresponding to the write request does not exist in the small-capacity memory.
- It is a block diagram which shows an example of the hardware constitutions of the information processing apparatus which concerns on the 2nd Embodiment of this invention.
- It is a functional block diagram which shows an example of a function structure of the accelerator of the data cache apparatus which concerns on the 2nd Embodiment of this invention.
- FIG. 1 is a block diagram showing an example of a hardware configuration of the information processing apparatus 100 according to the first embodiment of the present invention.
- the information processing apparatus 100 includes a data cache apparatus 101, an in-memory type information processing apparatus 102, and a communication I / F (interface) 103.
- the data cache device 101 includes an accelerator 1 and a small capacity memory 2.
- the in-memory information processing apparatus 102 includes a CPU (Central Processing Unit) 4 provided in a general server, and a large capacity memory 5 having a larger capacity than the small capacity memory 2.
- the in-memory type information processing apparatus 102 according to the present embodiment functions as a database management server apparatus incorporating the large capacity memory 5.
- the communication I / F 103 receives a read / write request from the network and supplies it to the accelerator 1. Further, a read / write response to the read / write request supplied from the accelerator 1 is returned to the network.
- the accelerator 1 is connected to a small-capacity memory 2 and transmits / receives data, read / write requests, and the like to / from the CPU 4.
- the accelerator 1 is realized by an FPGA, a many core processor, or the like.
- the accelerator 1 receives the read / write request received by the communication I / F 103. Further, the accelerator 1 returns a read / write response to the communication I / F 103.
- the functional configuration of the accelerator 1 will be described with reference to different drawings.
- the CPU 4 includes a data management unit corresponding to a so-called in-memory type database management system using the large-capacity memory 5.
- the data management unit of the CPU 4 receives a read / write request from the accelerator 1 and performs corresponding processing. Then, the CPU 4 returns a read / write response to the accelerator 1. Since the CPU 4 according to the present embodiment is a general CPU, detailed description thereof is omitted.
- FIG. 2 is a diagram for explaining an example of a data structure of a read / write request and a read / write response.
- the write request # 10 includes a request type “SET”, an attribute name, unique data, a retention period, a data length, and data.
- the attribute name is for referring to the data, and is unique information for specifying the data when the data is stored in the small capacity memory 2 or the large capacity memory 5.
- the attribute name is represented by an identifier such as an ID (identifier).
- the unique data guarantees the uniqueness of the request.
- the retention period indicates a period for retaining the stored data.
- the data length indicates the length of data to be written.
- write data data to be written
- Write response # 15, which is a response to write request # 10, includes response information.
- the response information is information indicating whether or not the writing by the writing request # 10 has been normally completed.
- the read request # 20 is composed of “GET” as a request type and an attribute name.
- the read response # 25 to the read request # 20 includes a response type “VALUE”, an attribute name corresponding to the read request # 20, unique data, a data length, and data.
- the unique data corresponds to the unique data included in the write request # 10 including the attribute name corresponding to the read request # 20.
- the attribute name of the write request # 10 and the read request # 20 includes only one, but can be extended to a plurality.
- the read response # 25 includes a plurality of responses for each attribute name.
- FIG. 3 is a functional block diagram illustrating an example of a functional configuration of the accelerator 1 of the data cache device 101.
- the accelerator 1 includes a data cache unit 10 that processes requests from the network at high speed.
- the data cache unit 10 includes a command interpretation unit 11, a data cache control unit 12, a data reading unit 13, a data writing unit 14, a refill control unit 15, and a command response unit 16.
- the command interpretation unit 11 is a determination unit that receives a read / write request from the communication I / F 103 and interprets the received request to determine whether the request is a request to be processed by the data cache device 101. is there.
- the determination as to whether or not the request is processed by the data cache device 101 is based on, for example, the character string included in the attribute name included in the read request # 20 and the write request # 10, the data length included in the write request # 10, and the like. Based on. Note that the criterion of determination is not limited to this. If the command interpretation unit 11 determines that the received request is a request to be processed by the data cache device 101, the command interpretation unit 11 supplies the request to the data cache control unit 12. On the other hand, if the command interpretation unit 11 determines that the received request is not a request to be processed by the data cache device 101, the command interpretation unit 11 supplies the request to the refill control unit 15.
- the data cache device 101 can be controlled to process the received request by a suitable device. Therefore, data to be processed by the data cache device 101 can be processed by the data cache device 101 without supplying the data to the in-memory type information processing device 102. Therefore, it is possible to more suitably realize high-speed data processing. it can.
- the data cache control unit 12 receives from the command interpretation unit 11 a request that the command interpretation unit 11 determines to be a request to be processed by the data cache device 101.
- the data cache control unit 12 confirms whether or not the data to be written included in the received write request # 10 or the data to be read by the received read request # 20 exists in the small capacity memory 2 To do.
- data to be written included in write request # 10 and “data to be read by read request # 20” are respectively referred to as “data corresponding to write request # 10” and “read”. It is also called “data corresponding to request # 20”.
- the data read by the read request # 20 is also referred to as “read data”.
- the data cache control unit 12 issues a read instruction or a write instruction to the data reading unit 13 or the data writing unit 14 according to each request.
- the data cache control unit 12 checks the free area of the small capacity memory 2 and determines the size of the free area and the write data. Compare the data length.
- the data cache control unit 12 issues a write instruction to the data writing unit 14 in accordance with the write request # 10.
- the data cache control unit 12 transfers the read request # 20 to the refill control unit 15 when the data corresponding to the read request # 20 does not exist in the small capacity memory 2. Then, the data cache control unit 12 receives the read data corresponding to the read request # 20 from the refill control unit 15 and compares the data length of the read data with the size of the free area of the small capacity memory 2. .
- the data cache control unit 12 then writes a data (read data) read in accordance with the read request # 20 into the small capacity memory 2 when the data length is equal to or smaller than the size of the free area. 14 is instructed to write.
- the data cache control unit 12 confirms the date and time of the last reference of each data with respect to the data stored in the small-capacity memory 2, and selects data with a lower reference degree. .
- the size of the free area in the small capacity memory 2 is smaller than the data length included in the write request # 10 or the data length of the read data corresponding to the read request # 20. Then, the refill control unit 15 is instructed to place the selected data in the large capacity memory 5, and the data writing unit 14 is instructed to place the data corresponding to the received request in the small capacity memory 2.
- the data cache control unit 12 receives a response to the read instruction from the data reading unit 13 (read data read by the data reading unit 13) and supplies the response to the command response unit 16. Further, the data cache control unit 12 receives a response to the write instruction from the data writing unit 14 and supplies the response to the command response unit 16.
- the data reading unit 13 reads data of a specified length from the small capacity memory 2 based on an instruction from the data cache control unit 12.
- the data reading unit 13 supplies the read data to the data cache control unit 12 as a response to the read instruction.
- the data writing unit 14 writes data of a specified length to the small capacity memory 2 based on an instruction from the data cache control unit 12.
- the data writing unit 14 supplies the data cache control unit 12 with a response indicating whether or not the data writing has ended normally.
- the refill control unit 15 transmits the write request # 10 or the read request # 20 supplied from the command interpretation unit 11 or the data cache control unit 12 to the in-memory type information processing apparatus 102.
- the refill control unit 15 receives a response corresponding to the write request # 10 or the read request # 20 from the in-memory type information processing apparatus 102.
- the refill control unit 15 sends the response to the command response unit 16 and / or data depending on the request source of the request and the request type (write request # 10 or read request # 20) corresponding to the received response. This is supplied to the cache control unit 12.
- the command response unit 16 creates a write response # 15 or a read response # 25 based on the response supplied from the refill control unit 15 or the data cache control unit 12, and transmits it to the communication I / F 103.
- Data to be arranged in the small capacity memory 2 may be arranged in the order of FIFO (First In First Out) order, random order, and the like according to an instruction from the data cache control unit 12.
- FIFO First In First Out
- the data cache apparatus 101 may be configured to transmit the write request # 10 to the in-memory information processing apparatus 102.
- the data cache unit 10 of the data cache apparatus 101 parameters equivalent to the design parameters in the microprocessor cache configuration can be adopted.
- FIG. 4 is a functional block diagram showing a detailed functional configuration of the data cache control unit 12.
- the data cache control unit 12 includes a management table control unit 121, a data control unit 122, and a table storage unit 123.
- the table storage unit 123 is a means for storing the management table 124.
- the management table 124 is for managing information on data stored in the small capacity memory 2.
- FIG. 5 is a diagram illustrating an example of the management table 124 stored in the table storage unit 123.
- the management table 124 stores the data state, attribute name, data head address, and data length in association with each other.
- Each row of the management table 124 is also called an entry.
- the management table 124 according to the present embodiment includes a plurality of entries, each having a status, attribute name, data start address, and data length as one entry.
- Each column of the management table 124 is not limited to this, and may be information indicating data handled by the data cache device 101.
- the attribute name is for specifying data, and corresponds to the attribute name included in the write request # 10, the read request # 20, and the read response # 25.
- the start address of the data indicates the start address in the small capacity memory 2 of the data recorded in the small capacity memory 2.
- the data length indicates the length of the data.
- the state indicates the state of data, and is represented by “invalid”, “clean”, “dirty”, and “refill clean”, for example, in the same manner as the cache of the microprocessor.
- “Clean” indicates that the entry having the state is valid, the data exists in the small capacity memory 2, and the data is the data stored in the large capacity memory 5 of the in-memory type information processing apparatus 102. It is in a state that matches. Here, when the data stored in the small-capacity memory 2 and the data stored in the large-capacity memory 5 match, the data stored in the large-capacity memory 5 is cached in the small-capacity memory 2. Later, it is shown that the data has not been written (updated) without passing the data to the in-memory type information processing apparatus 102.
- “Dirty” indicates that an entry having the state is valid, the data exists in the small capacity memory 2, and the data is stored in the large capacity memory 5 of the in-memory type information processing apparatus 102. Is in a state that does not match.
- the data stored in the small-capacity memory 2 and the data stored in the large-capacity memory 5 do not match, the data stored in the large-capacity memory 5 is cached in the small-capacity memory 2. Further, it is shown that data has been written (updated) without passing the data to the in-memory type information processing apparatus 102.
- Refill clean is a state in which the entry having the state is valid, the data does not exist in the small-capacity memory 2, and the in-memory information processing apparatus 102 is requested to read the data. It is.
- the data state is not limited to the above four.
- it may be in various states that can constitute a cache (see Non-Patent Document 2).
- the data cache control unit 12 of the data cache device 101 uses information such as the attribute name, data start address, and data length.
- the number of cache ways (data storage candidate location) is described as fully associative (can be stored in an arbitrary location). It is possible to make variable up to an arbitrary number.
- state information indicating the state of the data is associated with the information of the data, whether the data is valid or not is stored in the large capacity memory 5 and the data stored in the small capacity memory 2. It is possible to easily confirm information such as whether or not the data matches.
- the management table control unit 121 is means for managing the management table 124.
- the management table control unit 121 updates an entry in the management table 124 or adds an entry to the management table 124.
- the management table control unit 121 receives a request from the command interpretation unit 11.
- the management table control unit 121 refers to the management table 124 to determine whether the data corresponding to the received write request # 10 or the data corresponding to the received read request # 20 exists in the small capacity memory 2. Confirm. Whether or not the data corresponding to each request exists in the small-capacity memory 2 is determined based on whether the attribute name of the entry in the management table 124 whose status is “clean” or “dirty” is included in each request. This is done by checking whether or not it matches the included attribute name. As described above, the management table control unit 121 can easily check whether the data corresponding to the read / write request exists in the small capacity memory 2 by referring to the management table 124.
- the management table control unit 121 refers to the management table 124 and manages the free area of the small capacity memory 2.
- the management table control unit 121 manages the free area of the small-capacity memory 2 based on the start address of the data included in the entry included in the management table 124 and the data length of the data.
- the present invention is not limited to this.
- the management table control unit 121 or the data control unit 122 may access the small-capacity memory 2 and check the free space.
- the management table control unit 121 (1) request type (write request # 10 or read request # 20), (2) whether or not the data corresponding to the request exists in the small-capacity memory 2, (3) each request An instruction is issued to the data control unit 122 or the refill control unit 15 depending on whether or not there is an empty area whose size is equal to or larger than the data length of the data corresponding to.
- the management table control unit 121 confirms the date and time of the last reference of each data for the data stored in the small-capacity memory 2, and selects data with a low reference degree.
- the entry of data having a low reference degree is, for example, at least one of (a) an entry whose status is invalid and (b) an entry of data whose date and time last referenced are the oldest. It is not limited. Then, the management table control unit 121 supplies the data control unit 122 with the start address and data length of the data of the selected entry.
- the order of entries that the management table control unit 121 of the data cache control unit 12 determines to have a low reference degree is the order of (a) and (b) above, but is not limited to this. Absent.
- the management table control unit 121 of the data cache control unit 12 stores information on the selected entry.
- the selected entry is referred to as “replacement target entry”, and the data corresponding to the entry is referred to as “replacement target data”.
- an LRU (Least Recently Used) table, a FIFO order table, or the like may be provided to manage additional information for each data.
- the data reference date / time information that is referred to for specifying the replacement target data is information that a general cache has, and will not be described.
- the data control unit 122 When the data control unit 122 is supplied with the head address and the data length of the data from the management table control unit 121, the data control unit 122 creates a read instruction for reading data corresponding to the data length from the head address of the data. The data control unit 122 transmits the created read instruction to the data read unit 13.
- the data control unit 122 when the data control unit 122 is supplied with the head address, data length, and data of the data from the management table control unit 121, the data control unit 122 creates a write instruction for writing the data from the head address of the data by the data length. The data control unit 122 transmits the created write instruction to the data writing unit 14.
- the data control unit 122 receives responses from the data reading unit 13 and the data writing unit 14. The data control unit 122 supplies the received response to the command response unit 16.
- the data control unit 122 when the data control unit 122 receives a response to the replacement target data read request # 20, the data control unit 122 creates a write request # 10 for writing the read data into the large-capacity memory 5. The data control unit 122 transmits the created write request # 10 to the refill control unit 15.
- FIG. 6 is a flowchart showing an example of the processing flow of the data cache device 101 according to the present embodiment. As shown in FIG. 6, the data cache device 101 performs the following steps S61 to S66.
- Step S61 The command interpretation unit 11 receives the write request # 10 or the read request # 20 from the communication I / F 103.
- Step S62 The command interpretation unit 11 determines whether the write request # 10 or the read request # 20 received in step S61 is a request handled by the data cache device 101. When the write request # 10 or the read request # 20 is a request handled by the data cache device 101 (in the case of YES), the process proceeds to step S63. When the write request # 10 or the read request # 20 is not a request handled by the data cache device 101 (in the case of NO), the process proceeds to process A (see FIG. 7).
- Step S63 The data cache control unit 12 determines whether the request supplied from the command interpretation unit 11 is the write request # 10 or the read request # 20. If the supplied request is the read request # 20, the process proceeds to step S64. When the request supplied from the command interpretation unit 11 is the write request # 10, the process proceeds to step S65.
- Step S64 The data cache control unit 12 confirms whether or not the data corresponding to the read request # 20 supplied from the command interpretation unit 11 exists in the small capacity memory 2. Specifically, the management table control unit 121 of the data cache control unit 12 checks whether or not the attribute name included in the read request # 20 is included in the management table 124. When the data corresponding to the read request # 20 exists in the small capacity memory 2 (in the case of YES), the process proceeds to process B (see FIG. 8). When the data corresponding to the read request # 20 does not exist in the small capacity memory 2 (in the case of NO), the process proceeds to the process C (see FIG. 9).
- Step S65 The data cache control unit 12 confirms whether or not the data corresponding to the write request # 10 supplied from the command interpretation unit 11 exists in the small capacity memory 2. Specifically, the management table control unit 121 of the data cache control unit 12 checks whether or not the attribute name included in the write request # 10 is included in the management table 124. When the data corresponding to the write request # 10 exists in the small capacity memory 2 (in the case of YES), the process proceeds to the process E (see FIG. 11). If the data corresponding to the write request # 10 does not exist in the small capacity memory 2 (NO), the process proceeds to step S66.
- Step S66 The data cache control unit 12 determines whether or not the size of the free area of the small capacity memory 2 is equal to or larger than the data length included in the write request # 10. If the size of the free area is equal to or greater than the data length (in the case of YES), the process proceeds to process F (see FIG. 12). When the size of the empty area is smaller than the data length (in the case of NO), the process proceeds to process G (see FIG. 13).
- FIG. 7 is a flowchart showing an example of the processing flow of the data cache device 101 when the write request # 10 or the read request # 20 is not a request handled by the data cache device 101.
- the command interpretation unit 11 supplies a write request # 10 or a read request # 20 to the refill control unit 15.
- the data cache device 101 performs the following steps S71 to S74.
- Step S71 The refill control unit 15 transmits the write request # 10 or the read request # 20 supplied from the command interpretation unit 11 to the in-memory information processing apparatus 102.
- Step S72 The refill control unit 15 stores the network information of the request source. Note that step S72 may be performed simultaneously with step S71 or may be performed before step S71.
- Step S73 The refill control unit 15 receives a response to the request transmitted in step S71 from the in-memory type information processing apparatus 102.
- Step S74 Since the request source of the request is another device connected to the network and the request is supplied from the command interpretation unit 11, the refill control unit 15 stores the network information stored in Step S72. The response received in step S73 is supplied to the command response unit 16. The command response unit 16 creates the write response # 15 or the read response # 25 including the network information based on the network information and the response received from the refill control unit 15, and transmits them to the network.
- the information processing apparatus 100 can process a request not processed by the data cache apparatus 101 by the in-memory type information processing apparatus 102.
- FIG. 8 shows an example of the processing flow of the data cache device 101 when the read request # 20 is a request handled by the data cache device 101 and the data corresponding to the read request # 20 exists in the small capacity memory 2. It is a flowchart to show. As shown in FIG. 8, the data cache device 101 performs the following steps S81 to S83.
- Step S81 The data cache control unit 12 creates a read instruction for the data read unit 13 in accordance with the read request # 20. Specifically, the data cache control unit 12 performs the following processes (1) to (3). (1) The management table control unit 121 of the data cache control unit 12 in step S64 confirms that it has the attribute name included in the read request # 20. Read the length. (2) The management table control unit 121 of the data cache control unit 12 supplies the start address and the data length of the data read from the management table 124 to the data control unit 122. (3) The data control unit 122 creates a read instruction for reading the data corresponding to the data length from the head address from the small-capacity memory 2 and transmits the read instruction to the data reading unit 13.
- Step S82 The data reading unit 13 reads data from the small-capacity memory 2 in accordance with the read instruction created in step S81.
- Step S83 The command response unit 16 receives the data read by the data reading unit 13 in step S82 from the data control unit 122 of the data cache control unit 12 as a response to the read instruction. Then, the command response unit 16 creates a read response # 25 having the attribute name included in the read request # 20 based on the received response, and transmits it to the network together with the request source network information.
- the information processing apparatus 100 is the read request # 20 determined to be processed by the data cache apparatus 101, and the data corresponding to the read request # 20 is in the small capacity memory 2, the read request # 20 is output.
- the data cache device 101 performs processing.
- FIG. 9 shows an example of the processing flow of the data cache device 101 when the read request # 20 is a request handled by the data cache device 101 and the data corresponding to the read request # 20 does not exist in the small capacity memory 2. It is a flowchart to show. As shown in FIG. 9, the data cache device 101 performs the following steps S90 to S99.
- Step S90 The management table control unit 121 of the data cache control unit 12 extracts an entry of data with a low reference degree from the entries included in the management table 124.
- entries of data with a low reference degree are extracted in the order of (a) an entry whose state is “invalid”, and (b) an entry of data having the oldest reference date and time.
- the management table control unit 121 may extract the entry having the longest data length included in the entry. .
- the management table control unit 121 may extract an entry of data having the longest data length among entries of data whose date and time last referenced is before a predetermined period.
- the management table control unit 121 of the data cache control unit 12 updates the status of the extracted entry to “refill clean”.
- the extracted entry is referred to as “replacement candidate entry”.
- the management table control unit 121 stores information on replacement candidate entries (attribute name, data start address and data length) and a state before the state is updated to “refill clean”.
- Step S91 The refill control unit 15 transmits the read request # 20 supplied from the data cache control unit 12 to the in-memory type information processing apparatus 102.
- Step S92 The refill control unit 15 stores the network information of the request source. Note that step S92 may be performed simultaneously with step S91 or may be performed before step S91.
- Step S93 The refill control unit 15 receives a response to the read request # 20 transmitted in step S91 (read data read by the in-memory type information processing apparatus 102) from the in-memory type information processing apparatus 102. Since the request source of the request is another device connected to the network and the request is supplied from the data cache control unit 12, the refill control unit 15 stores the network information stored in step S92. The received response is supplied to the command response unit 16 and the data cache control unit 12.
- Step S94 The management table control unit 121 of the data cache control unit 12 reads the data (corresponding to the read request # 20) read by the in-memory information processing apparatus 102 based on the response supplied from the refill control unit 15 in step S93. It is confirmed whether or not there is an empty area in the small-capacity memory 2 that is equal to or larger than the data length of (read data). If there is an empty area in the small capacity memory 2 that is equal to or larger than the data length of the data corresponding to the read request # 20 (YES), the process proceeds to step S96. If there is no free area in the small capacity memory 2 larger than the data length of the data corresponding to the read request # 20 (in the case of NO), the process proceeds to step S95.
- Step S95 The data cache control unit 12 performs processing when there is no free area in the small capacity memory 2 that is larger than the data length of the read data. This process will be described with reference to FIG.
- Step S96 When there is an empty area larger than the data length of the read data in the small capacity memory 2 (YES in step S94), the management table control unit 121 of the data cache control unit 12 stores the management table 124 in the management table 124. , Add a new entry. The management table control unit 121 sets the “status”, “attribute name”, “data start address”, and “data length” of the added entry to “clean”, the attribute name included in the read request # 20, and the free space, respectively. Address and the data length of the read data. Further, the state of the replacement candidate entry extracted in step S90 is updated to the original state.
- Step S97 The data cache control unit 12 creates a write instruction for writing the read data into the data writing unit 14. Specifically, the data cache control unit 12 performs the following processes (1) and (2). (1) The management table control unit 121 of the data cache control unit 12 supplies the data control unit 122 with the start address, data length, and read data of the data included in the entry added in step S96. (2) The data control unit 122 creates a write instruction for writing the data corresponding to the data length from the head address to the small-capacity memory 2 and transmits the write instruction to the data writing unit 14.
- Step S98 The data writing unit 14 writes data into the small capacity memory 2 in accordance with the write instruction created in step S97.
- Step S99 The command response unit 16 creates a read response # 25 including the network information based on the network information and the response received from the refill control unit 15, and transmits them to the network.
- the information processing apparatus 100 processes the read request # 20 in the data cache apparatus 101 when the following (A) to (C) are satisfied, and further processes the read data in a small capacity Arranged in the memory 2.
- (B) Data corresponding to the read request # 20 does not exist in the small-capacity memory 2;
- (C) The small capacity memory 2 has an empty area having a size equal to or larger than the data length of the data corresponding to the read request # 20.
- FIG. 10 is a flowchart showing an example of the processing flow of the data cache device 101 when the following (A) to (C) are satisfied, and shows the detailed processing of step S95 of FIG.
- Read request # 20 is a request handled by the data cache device 101.
- Data corresponding to the read request # 20 does not exist in the small-capacity memory 2;
- the size of the free area in the small capacity memory 2 is smaller than the data length of the read data read by the read request # 20.
- the data cache device 101 performs the following steps S100 to S110.
- Step S100 The data cache control unit 12 determines that the sum of the data length of the replacement candidate entry and the size of the free area in the small capacity memory 2 is a response to the read request # 20 (read data read by the in-memory information processing apparatus 102) It is determined whether the data length is equal to or greater than (). If it is longer than the data length (in the case of YES), the process proceeds to step S102. If the data length is smaller (NO), the process proceeds to step S101.
- Step S101 The management table control unit 121 of the data cache control unit 12 updates the status of the replacement candidate entry extracted in step S90 to “invalid”, and ends the process.
- the management table control unit 121 may update the state of the replacement candidate entry to the original state.
- Step S102 The management table control unit 121 of the data cache control unit 12 confirms whether or not the state before update of the replacement candidate entry stored in step S90 is “clean”. When the state before the update is “clean” (in the case of YES), the process proceeds to step S108. When the state before the update is not “clean” (in the case of NO), the process proceeds to step S103.
- Step S103 The data cache control unit 12 uses the replacement candidate entry as a replacement target entry, and creates a replacement target data read instruction to the data reading unit 13. Specifically, the data cache control unit 12 performs the following processes (1) and (2). (1) The management table control unit 121 of the data cache control unit 12 supplies the data control unit 122 with the data start address and the data length of the data of the replacement target entry (replacement candidate entry) stored in step S90. . (2) The data control unit 122 creates a read instruction for reading data corresponding to the data length from the head address from the small-capacity memory 2 and transmits the read instruction to the data reading unit 13.
- Step S104 The data reading unit 13 reads data (replacement target data) from the small-capacity memory 2 in accordance with the read instruction created in step S103.
- Step S105 The data control unit 122 of the data cache control unit 12 receives the replacement target data read by the data reading unit 13 in step S104 from the data reading unit 13. Then, the data control unit 122 creates the replacement request data write request # 10.
- Step S106 The refill control unit 15 transmits the replacement request data write request # 10 created by the data control unit 122 of the data cache control unit 12 to the in-memory information processing apparatus 102 in step S105.
- Step S107 The refill control unit 15 receives a response to the write request # 10 transmitted in step S106 from the in-memory information processing apparatus 102. Since the request source of the request is the data cache control unit 12, the refill control unit 15 supplies the received response to the data cache control unit 12.
- Step S108 The management table control unit 121 of the data cache control unit 12 sets the “status” and “data length” of the entry to be replaced as the data length of the data corresponding to “clean” and the read request # 20, respectively.
- the management table control The unit 121 updates the “data start address” of the replacement target entry.
- Step S109 The data cache control unit 12 creates a write instruction to the data writing unit 14 for the read data corresponding to the read request # 20. Specifically, the data cache control unit 12 performs the following processes (1) and (2). (1) The management table control unit 121 of the data cache control unit 12 supplies the data control unit 122 with the start address of the data included in the entry updated in step S108, the read data read, and the data length of the data. . (2) The data control unit 122 creates a write instruction for writing the data corresponding to the data length from the head address in the small capacity memory 2 and transmits the write instruction to the data writing unit 14.
- Step S110 The data writing unit 14 writes data into the small capacity memory 2 in accordance with the write instruction created in step S109. Then, the process proceeds to step S99 in FIG.
- the data cache control unit 12 If the response to the replacement target data write request # 10 received in S107 is a response indicating that the write has not been completed normally, the data cache control unit 12 skips steps S108 to S110. To do. Furthermore, the management table control unit 121 of the data cache control unit 12 changes the status of the entry to be replaced to “invalid” or restores the original state.
- step S110 in step S99 of FIG. 9, as described above, the command response unit 16 creates a read response # 25 including the network information based on the network information and response received from the refill control unit 15. , Send to the network.
- the information processing apparatus 100 reads the data corresponding to the read request # 20 from the in-memory information processing apparatus 102 when the following (A) to (C) are satisfied,
- the replacement target data is selected so that the data is arranged in the small capacity memory 2.
- (C) The small-capacity memory 2 does not have a vacant area larger than the data length of the data corresponding to the read request # 20.
- the data cache control unit 12 arranges the read data in the small capacity memory 2,
- the replacement target data is arranged in the large capacity memory 5.
- the information processing apparatus 100 can arrange data with a high reference degree (for example, read data) in the high-speed small-capacity memory 2 and data with a low reference degree in the large-capacity memory 5. Data processing can be performed at higher speed.
- a high reference degree for example, read data
- FIG. 11 shows an example of the processing flow of the data cache device 101 when the write request # 10 is a request handled by the data cache device 101 and the data corresponding to the write request # 10 exists in the small capacity memory 2. It is a flowchart to show. As shown in FIG. 11, the data cache device 101 performs the following steps S111 to S113.
- Step S111 The data cache control unit 12 creates a write instruction for the data write unit 14 in accordance with the write request # 10. Specifically, the data cache control unit 12 performs the following processes (1) to (3). (1) The management table control unit 121 of the data cache control unit 12 reads the head address of data in the entry confirmed to have the attribute name included in the write request # 10 in step S65. (2) The management table control unit 121 of the data cache control unit 12 supplies the start address of the read data read from the management table 124 and the data length and data included in the write request # 10 to the data control unit 122. . (3) The data control unit 122 creates a write instruction for writing the data corresponding to the data length from the head address to the small-capacity memory 2 and transmits it to the data writing unit 14.
- Step S112 The data writing unit 14 writes data into the small capacity memory 2 in accordance with the write instruction created in step S111.
- Step S113 The command response unit 16 sends response information indicating whether or not the writing based on the write request # 10 has been normally completed as a response to the data writing by the data writing unit 14 in Step S112. 12 data control units 122. Then, the command response unit 16 creates a write response # 15 including the response information based on the received response, and transmits it to the network together with the network information of the request source.
- the write request # 10 10 is processed by the data cache device 101.
- FIG. 12 is a flowchart showing an example of the processing flow of the data cache device 101 when the following (A) to (C) are satisfied.
- A) Write request # 10 is a request handled by the data cache device 101.
- B) Data corresponding to the write request # 10 does not exist in the small-capacity memory 2;
- C) The size of the free area of the small capacity memory 2 is equal to or greater than the data length included in the write request # 10.
- the data cache device 101 performs the following steps S121 to S124.
- Step S121 The management table control unit 121 of the data cache control unit 12 adds a new entry to the management table 124.
- the management table control unit 121 sets the “status”, “attribute name”, “data start address”, and “data length” of the added entry to “dirty”, the attribute name included in the write request # 10, and the free space, respectively. And the data length included in the write request # 10.
- Step S122 The data cache control unit 12 creates a write instruction for the data write unit 14 in accordance with the write request # 10. Specifically, the data cache control unit 12 performs the following processes (1) and (2). (1) The management table control unit 121 of the data cache control unit 12 supplies the data control unit 122 with the start address of the data included in the entry added in step S121 and the data length and data included in the write request # 10. To do. (2) The data control unit 122 creates a write instruction for writing the data corresponding to the data length from the head address to the small-capacity memory 2 and transmits the write instruction to the data writing unit 14.
- Step S123 The data writing unit 14 writes data in the small capacity memory 2 in accordance with the write instruction created in Step S122.
- Step S124 As a response to the data writing by the data writing unit 14 (step S123), the command response unit 16 sends response information indicating whether or not the data writing to the write request # 10 has been normally completed as a data cache. Received from the data control unit 122 of the control unit 12. Then, the command response unit 16 creates a write response # 15 including the response information based on the received response, and transmits it to the network together with the network information of the request source.
- step S124 if the response information indicates that the write request # 10 has not ended normally, the management table control unit 121 of the data cache control unit 12 deletes the entry added in step S121.
- the information processing apparatus 100 processes the write request # 10 in the data cache apparatus 101 when the following (A) to (C) are satisfied.
- (B) Data corresponding to the write request # 10 does not exist in the small-capacity memory 2;
- (C) The small capacity memory 2 has an empty area whose size is equal to or larger than the data length of the data corresponding to the write request # 10.
- FIG. 13 is a flowchart showing an example of the processing flow of the data cache device 101 when the following (A) to (C) are satisfied.
- A) Write request # 10 is a request handled by the data cache device 101.
- B) Data corresponding to the write request # 10 does not exist in the small-capacity memory 2;
- C) The size of the free area in the small-capacity memory 2 is smaller than the data length included in the write request # 10.
- the data cache device 101 performs the following steps S131 to S140.
- Step S131 The data cache control unit 12 determines that the sum of the data length of the entry included in the management table 124 and the size of the free area in the small capacity memory 2 is equal to or greater than the data length included in the write request # 10.
- An entry with a low reference degree is selected as an entry to be replaced.
- entries of data with a low reference degree are extracted in the order of (a) an entry whose state is “invalid”, and (b) an entry of data having the oldest reference date and time. An example will be explained.
- the management table control unit 121 of the data cache control unit 12 stores information on the selected replacement target entry.
- Step S132 The management table control unit 121 of the data cache control unit 12 sets the “status” and “data length” of the replacement target entry selected in step S131 to “dirty” and the data length included in the write request # 10, respectively. To do. A case will be described in which when the data included in the write request # 10 is written, the leading address of the data changes depending on the position of the free area in the small capacity memory 2 and the arrangement position of the replacement target data in the small capacity memory 2. In this case, the management table control unit 121 updates the “data start address” of the selected entry.
- Step S133 The data cache control unit 12 creates a replacement instruction data read instruction for the data reading unit 13. Specifically, the data cache control unit 12 performs the following processes (1) and (2). (1) The management table control unit 121 of the data cache control unit 12 supplies the data control unit 122 with the data start address and the data length of the replacement target entry stored in step S131. (2) The data control unit 122 creates a read instruction for reading data corresponding to the data length from the head address from the small-capacity memory 2 and transmits the read instruction to the data reading unit 13.
- Step S134 The data reading unit 13 reads data (replacement target data) from the small-capacity memory 2 in accordance with the read instruction created in step S133.
- Step S135 The data cache control unit 12 creates a write instruction for the data write unit 14 in accordance with the write request # 10. Specifically, the data cache control unit 12 performs the following processes (1) and (2).
- the management table control unit 121 of the data cache control unit 12 supplies the data control unit 122 with the start address of the data included in the entry updated in step S132 and the data length and data included in the write request # 10. To do.
- the data control unit 122 creates a write instruction for writing the data corresponding to the data length from the head address in the small capacity memory 2 and transmits the write instruction to the data writing unit 14.
- Step S136 The data writing unit 14 writes data to the small-capacity memory 2 in accordance with the write instruction created in Step S135.
- Step S137 The data control unit 122 of the data cache control unit 12 receives from the data reading unit 13 the replacement target data read by the data reading unit 13 in step S134. Then, the data control unit 122 creates the replacement request data write request # 10.
- Step S138 The refill control unit 15 transmits the replacement target data write request # 10 created by the data control unit 122 of the data cache control unit 12 in step S137 to the in-memory information processing apparatus 102.
- Step S139 The refill control unit 15 receives a response to the write request # 10 transmitted in step S138 from the in-memory type information processing apparatus 102. Since the request source of the request is the data cache control unit 12, the refill control unit 15 supplies the received response to the data cache control unit 12.
- the processing for the write request # 10 received from the network (steps S135 to S136) and the processing for the replacement request data write request # 10 created by the data cache control unit 12 (steps S137 to S139) are simultaneously performed. Either may be performed, or either may be performed first.
- Step S140 As a response to the data writing by the data writing unit 14 (step S136), the command response unit 16 displays response information indicating whether or not the data writing to the write request # 10 has been normally completed, as a data cache. Received from the data control unit 122 of the control unit 12. Then, the command response unit 16 creates a write response # 15 including the response information based on the received response, and transmits it to the network together with the network information of the request source.
- the data cache control unit 12 determines that the replacement target data write request # 10 is abnormal in step S140. Notify the end.
- the command response unit 16 receives the notification of the abnormal end, the command response unit 16 transmits a write response # 15 including response information indicating that the data writing has not ended normally as a response to the write request # 10 transmitted from the network. To do. Then, the data cache control unit 12 returns the replacement target data and the entry for the replacement target data to the state before step S131.
- step S131 the management table control unit 121 of the data cache control unit 12 determines that the sum of the size of the free area in the small capacity memory 2 and the data length of the data is equal to or greater than the data length included in the write request # 10. A case where it is determined that there is no data will be described. In this case, the data cache control unit 12 transfers a write instruction to the refill control unit 15, and the data cache device 101 performs the processes of steps S71 to S74. In this case, the source of the request is the data cache control unit 12, but the response to the request is supplied to the command response unit 16 as in step S 74.
- the information processing apparatus 100 places the replacement target data in the large-capacity memory 5 and issues the write request # 10 with the data cache apparatus 101. Process. As a result, the information processing apparatus 100 places the data corresponding to the write request # 10 in the small capacity memory 2.
- (B) Data corresponding to the write request # 10 does not exist in the small-capacity memory 2;
- (C) The small-capacity memory 2 does not have an empty area larger than the data length of the data corresponding to the write request # 10.
- the information processing apparatus 100 can handle a large amount of data at a higher speed.
- data stored in the small-capacity memory 2 with a lower reference degree is stored in the large size of the in-memory type information processing device 102. Arranged in the capacity memory 5. This is because the data cache control unit 12 writes the data to be written or the data read according to the read request into the small capacity memory 2.
- the information processing apparatus 100 can be arranged in the small-capacity memory 2 that can process, for example, data with a higher reference degree such as read data and write data at a high speed. Therefore, even a large amount of data can be handled at a higher speed.
- FIGS. 1 A second embodiment of the present invention will be described with reference to FIGS.
- the small-capacity memory 2 has been described as an example in which the small-capacity memory 2 is configured separately from the accelerator 1.
- a cache memory corresponding to the small-capacity memory 2 is built in an accelerator will be described.
- members having the same functions as those included in the drawings described in the first embodiment described above are given the same reference numerals, and descriptions thereof are omitted.
- FIG. 14 is a block diagram showing a hardware configuration of the information processing apparatus 200 according to the second embodiment of the present invention.
- the information processing device 200 includes a data cache device 201, an in-memory type information processing device 102, and a communication I / F 103.
- the data cache device 201 includes an accelerator 3.
- FIG. 15 is a functional block diagram showing a functional configuration of the accelerator 3 of the data cache device 201.
- the accelerator 3 includes a data cache unit 30 that processes requests from the network at high speed. As shown in FIG. 15, the data cache unit 30 includes a command interpretation unit 11, a data cache control unit 32, a refill control unit 15, and a command response unit 16.
- the data cache control unit 32 has the same function as that of the data cache control unit 12 of the first embodiment. The detailed configuration of the data cache control unit 32 will be described with reference to FIG.
- FIG. 16 is a functional block diagram showing a detailed functional configuration of the data cache control unit 32.
- the data cache control unit 32 includes a management table control unit 321 and a small capacity memory 323.
- the small capacity memory 323 corresponds to the table storage unit 123 and the small capacity memory 2 according to the first embodiment.
- a management table 324 is stored in the small capacity memory 323.
- the management table 324 will be described with reference to FIG.
- FIG. 17 is a diagram illustrating an example of the management table 324 stored in the small capacity memory 323.
- the management table 324 is different from the management table 124 in the first embodiment in that data corresponding to each entry is stored. As shown in FIG. 17, the management table 324 stores the data state, the attribute name, the data start address, the data length, and the data in association with each other.
- the management table control unit 321 is means for managing the management table 324.
- the management table control unit 321 updates an entry in the management table 324 or adds an entry to the management table 324.
- the management table control unit 321 determines whether or not the data corresponding to the request received from the command interpretation unit 11 exists in the small-capacity memory 323, similarly to the management table control unit 121 of the first embodiment. Check.
- management table control unit 321 refers to the management table 324 and manages the free area of the small capacity memory 323. Further, the management table control unit 321 determines (1) request type (write request # 10 or read request # 20), (2) whether data corresponding to the request exists in the small capacity memory 323, (3) An instruction is issued to the refill control unit 15 depending on whether or not there is an empty area larger than the data length of the data corresponding to each request.
- the management table control unit 321 confirms the date and time of the last reference of each data with respect to the data stored in the management table 324 of the small-capacity memory 323, and selects data with a low reference degree.
- the entry of data having a low reference degree is, for example, at least one of (a) an entry whose status is invalid and (b) an entry of data whose date and time last referenced are the oldest. It is not limited.
- the order of entries that the management table control unit 321 of the data cache control unit 32 determines that the reference degree is low is the order of (a) and (b) above, but is not limited to this. Absent.
- the management table control unit 321 of the data cache control unit 32 stores information on the selected entry.
- management table control unit 321 reads / writes data from the management table 324 according to the request. Then, these responses are supplied to the command response unit 16.
- the management table control unit 321 reads data (replacement target data) included in the replacement target entry. Then, a write request # 10 for writing the read replacement target data into the large-capacity memory 5 is created. The management table control unit 321 transmits the created write request # 10 to the refill control unit 15.
- the data cache device 201 includes the accelerator 3 incorporating the small capacity memory 323.
- data control unit 122 the data reading unit 13, and the data writing unit 14 as in the first embodiment. Therefore, according to the data cache device 201 of the present embodiment, data can be read / written without going through a plurality of means, so that data access can be further speeded up.
- FIG. 18 is a block diagram showing an example of the configuration of the information processing apparatus 300 according to the present embodiment.
- the information processing device 300 includes a data cache device 301 and a database management device 102.
- the database management device (also simply referred to as a management device) 102 has a built-in large capacity memory 5 having a larger capacity than the cache memory 303. Since the configuration of the database management apparatus 102 is the same as that of the in-memory information processing apparatus 102 according to the first and second embodiments, the description thereof is omitted.
- the data cache device 301 includes a data cache control unit 302 and a cache memory 303.
- the data cache control unit 302 is realized by an accelerator, for example. Further, the cache memory 303 may be provided in the accelerator, or may be provided separately from the accelerator.
- the data cache control unit 302 arranges data of a predetermined condition stored in the cache memory 303 in the large capacity memory 5. Control to do.
- the data of the predetermined condition is, for example, data with a lower reference degree or data of a specific type, but this embodiment is not limited to this.
- the specific type of data for example, data in which the state in the entry is “invalid” described in the first embodiment can be cited.
- the data cache control unit 302 writes the data to be written into the cache memory 303 according to the write request. Further, when the received request is a read request, the data cache control unit 302 writes the data read according to the read request into the cache memory 303.
- the information processing apparatus 300 arranges data of a predetermined condition in the large-capacity memory 5 of the database management apparatus 102 and arranges data to be read or data to be written in the cache memory 303.
- the data corresponding to the write request or the data corresponding to the read request is stored in the cache memory 303 which can be processed at high speed, and the data of a predetermined condition is arranged in the large capacity memory 5. Therefore, even a large amount of data can be handled at a higher speed.
- the information processing apparatus 400 according to the present embodiment is configured to include the second accelerator 9 in the data cache apparatus 101 of the information processing apparatus 100 according to the first embodiment. Note that the information processing apparatus 400 according to the present embodiment is not limited to this.
- the information processing device 400 may be configured to include the second accelerator 9 in the data cache device 201 of the information processing device 200 according to the second embodiment, or the information processing device according to the third embodiment.
- the data cache device 301 of the device 300 may be configured to include the second accelerator 9.
- FIG. 19 is a block diagram illustrating an example of a hardware configuration of an information processing device 400 according to the fourth embodiment of the present invention.
- the information processing device 400 includes a data cache device 401, an in-memory type information processing device 102, and a communication I / F 103.
- the data cache device 401 includes an accelerator 1, a small capacity memory 2, and a second accelerator 9.
- the in-memory type information processing apparatus 102 and the communication I / F 103 of the information processing apparatus 400 are the same as the in-memory type information processing apparatus 102 and the communication I / F 103 according to each of the above-described embodiments, and thus description thereof is omitted.
- the second accelerator 9 is realized by, for example, an FPGA, a many-core processor, or the like, similar to the accelerator 1.
- the second accelerator 9 is connected to the accelerator 1.
- the second accelerator 9 determines whether or not data having the attribute name of the read / write request exists in the in-memory information processing apparatus 102.
- the functional configuration of the second accelerator 9 will be described with reference to different drawings.
- the second accelerator 9 may be configured on the same device as the accelerator 1 or may be configured on a different device from the accelerator 1.
- FIG. 20 is a functional block diagram illustrating an example of a functional configuration of the second accelerator 9 of the data cache device 401.
- the second accelerator 9 includes a determination unit (data presence determination unit) 91, a transmission unit 92, a second table storage unit 93, and a management unit 95.
- the second table storage unit 93 is a means for storing the second management table 94.
- the second management table 94 is for managing information indicating whether or not the data specified by the attribute name is stored in the large-capacity memory 5 of the in-memory information processing apparatus 102.
- the second management table 94 includes an attribute name and information associated with the attribute name. The latter information is information indicating whether or not the data specified by the attribute name is stored in the large capacity memory 5.
- the second management table 94 may include attribute names included in the data stored in the large-capacity memory 5. According to this, the fact that the attribute name is included in the second management table 94 is information in which data specified by the attribute name is stored in the large capacity memory 5.
- the second management table 94 may further include information related to the attribute name and indicating the in-memory type information processing apparatus 102 in which data specified by the attribute name is stored. For example, it is assumed that a plurality of information processing apparatuses 400 are connected via a network and a certain information processing apparatus 400 receives a request. At this time, the in-memory type information processing apparatus 102 having the large-capacity memory 5 that stores the data specified by the attribute name included in the received request is changed to the in-memory type information processing included in another information processing apparatus. Assume that the device 102 is used. At this time, the second management table 94 includes information indicating the in-memory type information processing apparatus 102.
- the information may be information indicating the other information processing apparatus, not information indicating the in-memory type information processing apparatus 102 included in the other information processing apparatus.
- Information indicating the large-capacity memory 5 included in the in-memory type information processing apparatus 102 may be used. That is, the second management table 94 only needs to store information indicating where the data specified by the attribute name is stored.
- the second table storage unit 93 may be built in the second accelerator 9 or may be configured separately from the second accelerator 9.
- the management unit 95 is a means for managing the second management table 94 stored in the second table storage unit 93.
- the management unit 95 receives, from the in-memory type information processing apparatus 102, a response similar to the response received by the refill control unit 15 (for example, the response received in step S73). And the management part 95 updates the information of the 2nd management table 94 according to this response.
- the management unit 95 stores the data stored in the other in-memory type information processing apparatus described above in the second management table 94.
- the information shown is included, the information is managed.
- the management unit 95 transmits the other in-memory type information processing apparatus.
- the configuration may be such that information related to data stored in is acquired and updated via a network.
- the determination unit 91 receives a read / write request from the communication I / F 103. Then, the determination unit 91 refers to the second table storage unit 93 to determine whether or not the data specified by the attribute name included in the received request is stored in the in-memory type information processing apparatus 102. (Existence determination). The presence determination of the data specified by the attribute name performed by the determination unit 91 may be realized by various algorithms, and may be implemented by, for example, Counting Bloom Filter or the like. When the data is not stored in the in-memory information processing apparatus 102, the determination unit 91 supplies information indicating the transmission destination of the received request to the transmission unit 92.
- the transmission unit 92 receives information indicating the transmission destination of the request received by the determination unit 91 from the determination unit 91. Then, the transmission unit 92 stops each process in the data cache device 401 for the request received by the determination unit 91. Specifically, the transmission unit 92 transmits a stop instruction for stopping the process corresponding to the request received by the accelerator 1 to the accelerator 1. Upon receiving this instruction, the accelerator 1 can stop the process being executed.
- the transmission unit 92 transmits a response to another device via the network. Specifically, the transmission unit 92 transmits a response to the request transmission destination via the communication I / F 103 indicating that there is no data targeted for the request in its own device that has received the request. To do.
- the second management table 94 includes information indicating the in-memory type information processing apparatus 102 of another information processing apparatus in which data specified by the attribute name included in the received request is stored, determination is made.
- the unit 91 may supply information indicating the in-memory type information processing apparatus 102 of the other information processing apparatus to the transmission unit 92 together with the received request.
- the transmission unit 92 may transfer the request to the other information processing apparatus via the communication I / F 103.
- FIG. 21 is a diagram showing an example of the processing flow of the second accelerator 9 in the data cache device 401 according to the present embodiment.
- the second accelerator 9 performs the following steps S211 to S214.
- Step S211 The determination unit 91 receives the write request # 10 or the read request # 20 from the communication I / F 103.
- the request received at this time is the same as the request received by the command interpretation unit 11 of the accelerator 1 in step S61 described above.
- Step S212 The determination unit 91 determines whether or not the data specified by the attribute name included in the received request is stored in the in-memory type information processing apparatus 102. If it is stored (in the case of YES), the second accelerator 9 ends the process. Therefore, the data cache device 401 performs the same processing (the processing shown in FIGS. 6 to 13) as when the second accelerator 9 does not exist like the data cache device according to the first to third embodiments. . If not stored (NO), the process proceeds to step S213.
- Step S213 The transmission unit 92 transmits a process stop instruction to the accelerator 1 in order to stop each process in the data cache device 401 in response to the request received by the determination unit 91. As a result, the accelerator 1 stops the process being executed (for example, the process shown in FIGS. 6 to 13).
- Step S214 The transmission unit 92 transmits to the request transmission destination a response indicating that there is no data that is the target of the request, or the request received by the determination unit 91.
- the request is transmitted to another information processing apparatus in which data specified by the attribute name included in is stored. Then, the second accelerator 9 ends the process.
- steps S213 and S214 may be performed in reverse order or simultaneously.
- the second accelerator 9 of the data cache device 401 receives a read request or a write request from the outside of the information processing device 400, data corresponding to the received request is stored in the in-memory type information processing device 102. It is because it is determined whether or not. This is because the second accelerator 9 transmits a response to another device when data is not stored. Furthermore, this is because the transmission unit 92 of the second accelerator 9 of the data cache device 401 stops processing in the data cache device 401 (processing of the accelerator 1) for the request.
- the average response delay of the entire system including information processing apparatus 400 can be reduced.
- the information processing apparatus 400 stores the data in the in-memory The received request is transferred to other information processing apparatuses including the type information processing apparatus 102.
- each operation in the above-described embodiment can be executed by hardware or software, or a combination of both.
- a data cache device including a cache memory and a management device including a large-capacity memory having a capacity larger than that of the cache memory, and the data cache device receives a read request or a write request from outside the information processing device
- Data cache control means for controlling the data stored in the cache memory to be placed in the large-capacity memory when the received request is a write request.
- the write target data is written to the cache memory according to the write request, and when the request is a read request, the data read according to the read request is written to the cache memory.
- the data cache control means checks whether there is data corresponding to the received request in the cache memory, and if there is data corresponding to the request in the cache memory, According to the request, data is read from or written to the cache memory, and when there is no data corresponding to the request in the cache memory, the data of the predetermined condition is arranged in the large-capacity memory.
- the information processing apparatus according to appendix 1, wherein the data to be written or the data read according to the read request is written to the cache memory.
- the data cache control unit stores the data length of the data to be written or the data to be read in the read request in the cache memory. It is further confirmed whether or not there is a free area of the above size, and when there is a free area of a size greater than or equal to the data length in the cache memory, according to the data to be written or the read request, the large capacity The data read from the memory is written to the free area of the cache memory, and when there is no free area larger than the data length in the cache memory, the data of the predetermined condition is arranged in the large capacity memory In addition to the data to be written or the read request. Writing the read data in the cache memory, the information processing apparatus according to note 2, wherein the.
- the data cache control means includes a management table control means for controlling a management table for managing information on data stored in the cache memory, and the management table includes information on the data. , An identifier indicating data, a data length of the data, and a start address of the data in the cache memory are included, and the management table control unit refers to the management table to store the data in the cache memory. 4.
- the information processing apparatus according to appendix 2 or 3, wherein it is confirmed whether or not data corresponding to the received request exists.
- the management table control means controls the data cache control means to place the data of the predetermined condition in the large-capacity memory, and is read according to the data to be written or the read request.
- the information processing apparatus according to appendix 5, wherein the state information is updated when the data is written to the cache memory.
- the said cache memory is incorporated in the said data cache control means,
- the said management table is stored in the said cache memory,
- the information of the said data is stored in the said management table as the information with respect to the said data.
- the said transmission means transmits the response which shows that the data corresponding to the said request are not stored in the said management apparatus to the transmission destination of the said request,
- the additional remark 11 characterized by the above-mentioned. Information processing device.
- the data cache device is included in each of the management device connected to the data cache device and one or more other information processing devices connected to the data cache device via a network.
- Management means for managing information indicating data stored in another management device is further provided, and when data corresponding to the request is stored in the other management device, the transmission means The information processing apparatus according to appendix 11, wherein the received request is transmitted to the other information processing apparatus including a management apparatus.
- the data cache device receives a read request or a write request from the outside of the information processing device, and determines whether the received read request or write request is a request to be processed by the data cache device.
- a determination unit; and a refill control unit that transmits the read request or the write request to the management device and receives a read response or a write response corresponding to the read request or the write request, respectively, and the determination unit
- the read request or write request is supplied to the refill control means, and the received read request or write request is
- a data cache device connected to a management device having a built-in cache memory and a large-capacity memory having a larger capacity than the cache memory, wherein a read request or an external request from the data cache device and the management device
- data cache control means is provided for controlling the data of a predetermined condition stored in the cache memory to be placed in the large-capacity memory, and the data cache control means Writing data to be written into the cache memory according to the write request when the request is a write request, and writing data read according to the read request into the cache memory when the request is a read request;
- a data cache device is provided for controlling the data of a predetermined condition stored in the cache memory to be placed in the large-capacity memory, and the data cache control means Writing data to be written into the cache memory according to the write request when the request is a write request, and writing data read according to the read request into the cache memory when the request is a read request;
- the data cache control means checks whether or not the data corresponding to the received request exists in the cache memory, and if the data corresponding to the request exists in the cache memory, According to the request, data is read from or written to the cache memory, and when there is no data corresponding to the request in the cache memory, the data of the predetermined condition is arranged in the large-capacity memory. 16.
- the data cache device according to supplementary note 15, wherein the data cache device is controlled to write the data to be written or the data read in accordance with the read request to the cache memory.
- the data cache control unit stores the data length of the data to be written or the data to be read in the read request in the cache memory. It is further confirmed whether or not there is a free area of the above size, and when there is a free area of the data length or more in the cache memory, the large capacity memory according to the data to be written or the read request. The data read from is written to the free area of the cache memory, and when there is no free area larger than the data length in the cache memory, the data of the predetermined condition is arranged in the large capacity memory. In addition, control is performed according to the data to be written or the read request. Writing the read data in the cache memory, the data cache device according to appendix 16, wherein the.
- the data cache control means includes a management table control means for controlling a management table for managing information on data stored in the cache memory, and the management table includes information on the data. , An identifier indicating data, a data length of the data, and a start address of the data in the cache memory are included, and the management table control unit refers to the management table to store the data in the cache memory. 18.
- the data cache device according to appendix 16 or 17, wherein it is confirmed whether or not data corresponding to the received request exists.
- the management table control means controls the data cache control means to place the data of the predetermined condition in the large-capacity memory and is read according to the data to be written or the read request 20.
- the data cache device according to appendix 19, wherein the state information is updated when data is written to the cache memory.
- the cache memory is built in the data cache control means, the management table is stored in the cache memory, and information on the data is stored in the management table. 22.
- the data cache device according to any one of appendices 18 to 21, wherein a data main body is included.
- Data presence determination means for determining whether data corresponding to the received request is stored in the management device when a read request or a write request is received from outside the data cache device and the management device And transmitting means for transmitting a response to another apparatus when the data is not stored in the management apparatus, wherein the transmitting means stops processing in the data cache apparatus for the request.
- the data cache device according to any one of appendices 15 to 24, which is characterized by the following.
- the said transmission means transmits the response which shows that the data corresponding to the said request
- Determination means for receiving a read request or a write request from outside the data cache device and the management device, and determining whether the received read request or write request is a request to be processed by the own device; Refill control means for transmitting the read request or the write request to the management device and receiving a read response or a write response corresponding to the read request or the write request, respectively, and the determination means includes the reception When the read request or write request is determined not to be processed by the own device, the read request or write request is supplied to the refill control means, and the received read request or write request is processed by the own device. When it is determined that the read request or the write request is Supplied to the control means, that the data cache unit according to any of Supplementary Note 15, wherein 27.
- An information processing method for an information processing apparatus including a data cache device incorporating a cache memory and a management device incorporating a large-capacity memory having a larger capacity than the cache memory, from the outside of the information processing device
- a read request or a write request is received, and when the received request is a write request, control is performed so that data of a predetermined condition stored in the cache memory is arranged in the large-capacity memory, and the write request
- the data to be written is written to the cache memory according to the control, and when the received request is a read request, control is performed so that the data of the predetermined condition is arranged in the large-capacity memory.
- An information processing method wherein the outputted data is written into the cache memory.
- control is performed so that data of a predetermined condition stored in the cache memory is placed in the large-capacity memory when the received request is a write request.
- the data to be written is written to the cache memory, and when the received request is a read request, control is performed to place the data of the predetermined condition in the large-capacity memory, and further according to the read request
- the read data is written to the cache memory.
- Data cache how to.
- a process of receiving a write request, and when the received request is a write request, control to place data of a predetermined condition stored in the cache memory in the large-capacity memory, and further according to the write request A process of writing data to be written to the cache memory, and when the received request is a read request, control to place the data of the predetermined condition in the large-capacity memory, and further, the read request And writing the data read in accordance with the cache memory into the cache memory Program which is characterized the door.
- a read request is made from outside the data cache device and the management device to a computer including a data cache device connected to a management device having a built-in cache memory and a larger capacity memory than the cache memory. Or processing to receive a write request, and when the received request is a write request, control to place data of a predetermined condition stored in the cache memory in the large-capacity memory, and further, the write request And processing to write the data to be written to the cache memory, and when the received request is a read request, control to place the data of the predetermined condition in the large-capacity memory, and Processing to write the data read according to the request to the cache memory; A program characterized by executing.
- Appendix 33 A computer-readable recording medium for recording the program described in Appendix 31 or Appendix 32.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
以下に、本発明の第1の実施の形態について、図面を参照して詳細に説明する。
図1は、本発明の第1の実施の形態に係る情報処理装置100のハードウェア構成の一例を示すブロック図である。図1に示すように、情報処理装置100は、データキャッシュ装置101、インメモリ型情報処理装置102および通信I/F(インタフェース)103を備えている。データキャッシュ装置101は、アクセラレータ1と、小容量メモリ2とを備えている。インメモリ型情報処理装置102は、一般的なサーバに備えられるCPU(Central Processing Unit)4と、上記小容量メモリ2より容量が大きい大容量メモリ5と、を備えている。本実施の形態におけるインメモリ型情報処理装置102は、大容量メモリ5を内蔵するデータベース管理サーバ装置として機能する。
次に、図3を参照して、データキャッシュ装置101のアクセラレータ1について説明する。図3は、データキャッシュ装置101のアクセラレータ1の機能構成の一例を示す機能ブロック図である。
条件:小容量メモリ2の空き領域の大きさが書込み要求#10に含まれるデータ長または読出し要求#20に対応する読出しデータのデータ長より小さい。
そして、選択したデータを大容量メモリ5に配置するよう、リフィル制御部15に指示し、受信した要求に対応するデータを小容量メモリ2に配置するようデータ書込み部14に指示する。
次に、図4を参照して、データキャッシュ制御部12の構成の詳細について説明する。図4は、データキャッシュ制御部12の詳細な機能構成を示す機能ブロック図である。図4に示す通り、データキャッシュ制御部12は、管理テーブル制御部121、データ制御部122およびテーブル記憶部123を備えている。
次に、図6から図13を参照して、本実施の形態に係る情報処理装置100のデータキャッシュ装置101の処理の流れについて説明する。
図7を参照して、書込み要求#10または読出し要求#20がデータキャッシュ装置101で扱う要求ではない場合におけるデータキャッシュ装置101の処理の流れについて説明する。図7は、書込み要求#10または読出し要求#20がデータキャッシュ装置101で扱う要求ではない場合におけるデータキャッシュ装置101の処理の流れの一例を示すフローチャートである。図6のステップS62にてNOの場合、コマンド解釈部11が、リフィル制御部15へ書込み要求#10または読出し要求#20を供給する。そして、図7に示す通り、データキャッシュ装置101は、以下のステップS71~S74の処理を行う。
図8を参照して、読出し要求#20がデータキャッシュ装置101で扱う要求であり、かつ、読出し要求#20に対応するデータが小容量メモリ2に存在する場合におけるデータキャッシュ装置101の処理の流れについて説明する。図8は、読出し要求#20がデータキャッシュ装置101で扱う要求であり、かつ、読出し要求#20に対応するデータが小容量メモリ2に存在する場合におけるデータキャッシュ装置101の処理の流れの一例を示すフローチャートである。図8に示す通り、データキャッシュ装置101は、以下のステップS81~S83の処理を行う。
(1)データキャッシュ制御部12の管理テーブル制御部121が、ステップS64において、読出し要求#20に含まれる属性名を有していると確認されたエントリにおける、データの先頭アドレスと該データのデータ長とを読み出す。
(2)データキャッシュ制御部12の管理テーブル制御部121が、管理テーブル124から読み出した上記データの先頭アドレスおよび上記データ長をデータ制御部122へ供給する。
(3)データ制御部122が、上記先頭アドレスから上記データ長分のデータを、小容量メモリ2から読み出す読出し指示を作成し、データ読出し部13へ送信する。
図9を参照して、読出し要求#20がデータキャッシュ装置101で扱う要求であり、且つ、読出し要求#20に対応するデータが小容量メモリ2に存在しない場合におけるデータキャッシュ装置101の処理の流れについて説明する。図9は、読出し要求#20がデータキャッシュ装置101で扱う要求であり、且つ、読出し要求#20に対応するデータが小容量メモリ2に存在しない場合におけるデータキャッシュ装置101の処理の流れの一例を示すフローチャートである。図9に示す通り、データキャッシュ装置101は、以下のステップS90~S99の処理を行う。
(1)データキャッシュ制御部12の管理テーブル制御部121が、ステップS96で追加したエントリに含まれるデータの先頭アドレス、データ長、並びに、読出しデータをデータ制御部122へ供給する。
(2)データ制御部122は、上記先頭アドレスから上記データ長分の上記データを、小容量メモリ2に書き込む書込み指示を作成し、データ書込み部14へ送信する。
(A)データキャッシュ装置101で処理すると判定された読出し要求#20である、
(B)読出し要求#20に対応するデータが小容量メモリ2に存在しない、
(C)読出し要求#20に対応するデータのデータ長以上の大きさの空き領域が小容量メモリ2にある。
図10を参照して、上述したステップS95の処理の流れについて説明する。具体的には、以下の(A)~(C)を満たす場合のデータキャッシュ装置101の処理の流れについて説明する。図10は、以下の(A)~(C)を満たす場合におけるデータキャッシュ装置101の処理の流れの一例を示すフローチャートであり、図9のステップS95の詳細な処理を示すものである。
(A)読出し要求#20がデータキャッシュ装置101で扱う要求である、
(B)読出し要求#20に対応するデータが小容量メモリ2に存在しない、
(C)小容量メモリ2の空き領域の大きさが上記読出し要求#20によって読み出された読出しデータのデータ長より小さい。
図10に示す通り、データキャッシュ装置101は、以下のステップS100~S110の処理を行う。
(1)データキャッシュ制御部12の管理テーブル制御部121が、ステップS90で保存した、置換対象エントリ(置換候補エントリ)のデータの先頭アドレスと該データのデータ長とをデータ制御部122へ供給する。
(2)データ制御部122が、小容量メモリ2から、上記先頭アドレスから上記データ長分のデータを読み出す読出し指示を作成し、データ読出し部13へ送信する。
(1)データキャッシュ制御部12の管理テーブル制御部121が、ステップS108で更新したエントリに含まれるデータの先頭アドレス、並びに、読み出した読出しデータおよび該データのデータ長をデータ制御部122へ供給する。
(2)データ制御部122が、小容量メモリ2に、上記先頭アドレスから上記データ長分の上記データを書き込む書込み指示を作成し、データ書込み部14へ送信する。
(A)データキャッシュ装置101で処理すると判定された読出し要求#20である、
(B)読出し要求#20に対応するデータが小容量メモリ2に存在しない、
(C)読出し要求#20に対応するデータのデータ長以上の大きさの空き領域が小容量メモリ2にない。
そして、置換対象データのデータ長と小容量メモリ2の空き領域の大きさとの和が、読出しデータのデータ長以上の場合、データキャッシュ制御部12は、読出しデータを小容量メモリ2に配置し、置換対象データを大容量メモリ5に配置する。
図11を参照して、書込み要求#10がデータキャッシュ装置101で扱う要求であり、かつ、書込み要求#10に対応するデータが小容量メモリ2に存在する場合におけるデータキャッシュ装置101の処理の流れについて説明する。図11は、書込み要求#10がデータキャッシュ装置101で扱う要求であり、かつ、書込み要求#10に対応するデータが小容量メモリ2に存在する場合におけるデータキャッシュ装置101の処理の流れの一例を示すフローチャートである。図11に示す通り、データキャッシュ装置101は、以下のステップS111~S113の処理を行う。
(1)データキャッシュ制御部12の管理テーブル制御部121が、ステップS65において、書込み要求#10に含まれる属性名を有していると確認されたエントリにおける、データの先頭アドレスを読み出す。
(2)データキャッシュ制御部12の管理テーブル制御部121が、管理テーブル124から読み出した上記読出しデータの先頭アドレス、並びに、書込み要求#10に含まれるデータ長およびデータをデータ制御部122へ供給する。
(3)データ制御部122は、上記先頭アドレスから上記データ長分の上記データを、小容量メモリ2に書き込む書込み指示を作成し、データ書込み部14へ送信する。
図12を参照して、以下の(A)~(C)を満たす場合のデータキャッシュ装置101の処理の流れについて説明する。図12は、以下の(A)~(C)を満たす場合におけるデータキャッシュ装置101の処理の流れの一例を示すフローチャートである。
(A)書込み要求#10がデータキャッシュ装置101で扱う要求である、
(B)書込み要求#10に対応するデータが小容量メモリ2に存在しない、
(C)小容量メモリ2の空き領域の大きさが上記書込み要求#10に含まれるデータ長以上である。
図12に示す通り、データキャッシュ装置101は、以下のステップS121~S124の処理を行う。
(1)データキャッシュ制御部12の管理テーブル制御部121が、ステップS121で追加したエントリに含まれるデータの先頭アドレス、並びに、書込み要求#10に含まれるデータ長およびデータをデータ制御部122へ供給する。
(2)データ制御部122は、上記先頭アドレスから上記データ長分の上記データを、小容量メモリ2に書き込む書込み指示を作成し、データ書込み部14へ送信する。
(A)データキャッシュ装置101で処理すると判定された書込み要求#10である、
(B)書込み要求#10に対応するデータが小容量メモリ2に存在しない、
(C)書込み要求#10に対応するデータのデータ長以上の大きさの空き領域が小容量メモリ2にある。
図13を参照して、以下の(A)~(C)を満たす場合のデータキャッシュ装置101の処理の流れについて説明する。図13は、以下の(A)~(C)を満たす場合におけるデータキャッシュ装置101の処理の流れの一例を示すフローチャートである。
(A)書込み要求#10がデータキャッシュ装置101で扱う要求である、
(B)書込み要求#10に対応するデータが小容量メモリ2に存在しない、
(C)小容量メモリ2の空き領域の大きさが上記書込み要求#10に含まれるデータ長より小さい。
図13に示す通り、データキャッシュ装置101は、以下のステップS131~S140の処理を行う。
(1)データキャッシュ制御部12の管理テーブル制御部121が、ステップS131で保存した置換対象エントリのデータの先頭アドレスと該データのデータ長をデータ制御部122へ供給する。
(2)データ制御部122が、小容量メモリ2から、上記先頭アドレスから上記データ長分のデータを読み出す読出し指示を作成し、データ読出し部13へ送信する。
(1)データキャッシュ制御部12の管理テーブル制御部121が、ステップS132で更新したエントリに含まれるデータの先頭アドレス、並びに、書込み要求#10に含まれるデータ長およびデータをデータ制御部122へ供給する。
(2)データ制御部122が、小容量メモリ2に、上記先頭アドレスから上記データ長分の上記データを書き込む書込み指示を作成し、データ書込み部14へ送信する。
(A)データキャッシュ装置101で処理すると判定された書込み要求#10である、
(B)書込み要求#10に対応するデータが小容量メモリ2に存在しない、
(C)書込み要求#10に対応するデータのデータ長以上の大きさの空き領域が小容量メモリ2にない。
本実施の形態に係る情報処理装置100によれば、大容量のデータをより高速に扱うことが可能となる。
本発明の第2の実施の形態について、図14から図17を参照して説明を行う。第1の実施の形態では、小容量メモリ2がアクセラレータ1とは別個の構成であることを例に説明を行った。本実施の形態では、小容量メモリ2に相当するキャッシュメモリが、アクセラレータ内に内蔵される例について説明する。なお、説明の便宜上、前述した第1の実施の形態で説明した図面に含まれる部材と同じ機能を有する部材については、同じ符号を付し、その説明を省略する。
図14は、本発明の第2の実施の形態に係る情報処理装置200のハードウェア構成を示すブロック図である。図14に示すように、情報処理装置200は、データキャッシュ装置201、インメモリ型情報処理装置102および通信I/F103を備えている。データキャッシュ装置201は、アクセラレータ3を備えている。
次に、図15を参照して、データキャッシュ装置201のアクセラレータ3について説明する。図15は、データキャッシュ装置201のアクセラレータ3の機能構成を示す機能ブロック図である。
次に、図16を参照して、データキャッシュ制御部32の構成の詳細について説明する。図16は、データキャッシュ制御部32の詳細な機能構成を示す機能ブロック図である。図16に示す通り、データキャッシュ制御部32は、管理テーブル制御部321および小容量メモリ323を備えている。
以上のように、本実施の形態に係るデータキャッシュ装置201は、小容量メモリ323を内蔵したアクセラレータ3を備えている。
次に、第3の実施の形態について、図18を参照して説明する。なお、説明の便宜上、前述した第1の実施の形態で説明した図面に含まれる部材と同じ機能を有する部材については、同じ符号を付し、その説明を省略する。
次に、本発明の第4の実施の形態について、図19~図21を参照して説明する。なお、説明の便宜上、前述した第1から第3の実施の形態で説明した図面に含まれる部材と同じ機能を有する部材については、同じ符号を付し、その説明を省略する。
図19は、本発明の第4の実施の形態に係る情報処理装置400のハードウェア構成の一例を示すブロック図である。図19に示すように、情報処理装置400は、データキャッシュ装置401、インメモリ型情報処理装置102および通信I/F103を備えている。データキャッシュ装置401は、アクセラレータ1と、小容量メモリ2と、第2のアクセラレータ9とを備えている。情報処理装置400のインメモリ型情報処理装置102および通信I/F103は、上述した各実施の形態に係るインメモリ型情報処理装置102および通信I/F103と同様であるため、説明を省略する。
次に、図21を参照して、本実施の形態に係るデータキャッシュ装置401における第2のアクセラレータ9の処理の流れについて説明する。図21は、本実施の形態に係るデータキャッシュ装置401における第2のアクセラレータ9の処理の流れの一例を示す図である。
本実施の形態に係る情報処理装置400によれば、大容量のデータをより高速に扱うことが可能となる。
2 小容量メモリ
3 アクセラレータ
4 CPU
5 大容量メモリ
9 第2のアクセラレータ
10 データキャッシュ部
11 コマンド解釈部
12 データキャッシュ制御部
13 データ読出し部
14 データ書込み部
15 リフィル制御部
16 コマンド応答部
30 データキャッシュ部
32 データキャッシュ制御部
91 判定部
92 送信部
93 第2のテーブル記憶部
94 第2の管理テーブル
95 管理部
100 情報処理装置
101 データキャッシュ装置
102 インメモリ型情報処理装置(データベース管理装置)
103 通信I/F
121 管理テーブル制御部
122 データ制御部
123 テーブル記憶部
124 管理テーブル
200 情報処理装置
201 データキャッシュ装置
321 管理テーブル制御部
323 小容量メモリ
324 管理テーブル
300 情報処理装置
301 データキャッシュ装置
302 データキャッシュ制御部
303 キャッシュメモリ
400 情報処理装置
401 データキャッシュ装置
#10 書込み要求
#15 書込み応答
#20 読出し要求
#25 読出し応答
Claims (17)
- キャッシュメモリを内蔵するデータキャッシュ装置と、前記キャッシュメモリより容量の大きい大容量メモリを内蔵する管理装置とを備え、
前記データキャッシュ装置は、情報処理装置の外部から読出し要求または書込み要求を受信したとき、前記キャッシュメモリに格納されている所定の条件のデータを、前記大容量メモリに配置するよう制御するデータキャッシュ制御手段を備え、
前記データキャッシュ制御手段は、受信した要求が書込み要求であるとき、前記書込み要求に従って、書込み対象となるデータを前記キャッシュメモリに書込み、前記要求が読出し要求であるとき、前記読出し要求に従って読み出されたデータを前記キャッシュメモリに書込む、ことを特徴とする情報処理装置。 - 前記データキャッシュ制御手段は、
前記キャッシュメモリに、前記受信した要求に対応するデータが存在するか否かを確認し、
前記キャッシュメモリに、前記要求に対応するデータが存在する場合、前記要求に従って、前記キャッシュメモリに対し、データの読出しまたはデータの書込みを行い、
前記キャッシュメモリに、前記要求に対応するデータが存在しない場合、前記所定の条件のデータを前記大容量メモリに配置するよう制御し、前記書込み対象となるデータまたは前記読出し要求に従って読み出されたデータを前記キャッシュメモリに書込む、ことを特徴とする請求項1に記載の情報処理装置。 - 前記データキャッシュ制御手段は、
前記キャッシュメモリに前記要求に対応するデータが存在しない場合、前記キャッシュメモリに、前記書込み対象となるデータまたは前記読出し要求において読み出し対象となるデータのデータ長以上の大きさの空き領域があるか否かを更に確認し、
前記キャッシュメモリに前記データ長以上の大きさの空き領域があるとき、前記書込み対象となるデータまたは前記読出し要求に従って、前記大容量メモリから読み出されたデータを、前記キャッシュメモリの当該空き領域に書込み、
前記キャッシュメモリに前記データ長以上の大きさの空き領域がないとき、前記所定の条件のデータを前記大容量メモリに配置するよう制御し、更に、前記書込み対象となるデータまたは前記読出し要求に従って読み出されたデータを前記キャッシュメモリに書込む、ことを特徴とする請求項2に記載の情報処理装置。 - 前記データキャッシュ制御手段は、
前記キャッシュメモリに格納されているデータに対する情報を管理するための管理テーブルを制御する管理テーブル制御手段を備え、
前記管理テーブルには、前記データに対する情報として、データを示す識別子と、当該データのデータ長と、当該データの前記キャッシュメモリにおける先頭アドレスとが含まれており、
前記管理テーブル制御手段は、前記管理テーブルを参照することにより、前記キャッシュメモリに前記受信した要求に対応するデータが存在するか否かを確認する、ことを特徴とする請求項2または3に記載の情報処理装置。 - 前記管理テーブル制御手段は、前記データの状態を示す状態情報を、当該データに対する情報に対応付けて管理する、ことを特徴とする請求項4に記載の情報処理装置。
- 前記管理テーブル制御手段は、前記データキャッシュ制御手段が、前記所定の条件のデータを前記大容量メモリに配置するよう制御し、前記書込み対象となるデータまたは前記読出し要求に従って読み出されたデータを前記キャッシュメモリに書込んだとき、前記状態情報を更新する、ことを特徴とする請求項5に記載の情報処理装置。
- 前記所定の条件のデータとは、前記状態情報が、当該データが無効状態であることを示す情報であるデータである、ことを特徴とする請求項5または6に記載の情報処理装置。
- 前記所定の条件のデータとは、参照度合いがより低いデータである、ことを特徴とする請求項1から7の何れか1項に記載の情報処理装置。
- 前記参照度合いがより低いデータとは、最後に参照された日時が最も古いデータである、ことを特徴とする請求項8に記載の情報処理装置。
- 前記キャッシュメモリは、前記データキャッシュ制御手段に内蔵されており、
前記キャッシュメモリには、前記管理テーブルが格納されており、
前記管理テーブルには、前記データに対する情報として、当該データのデータ本体が含まれる、ことを特徴とする請求項4から7の何れか1項に記載の情報処理装置。 - 前記データキャッシュ装置は、前記情報処理装置の外部から読出し要求または書込み要求を受信したとき、受信した要求に対応するデータが前記管理装置に格納されているか否かを判定するデータ存在判定手段と、
前記データが前記管理装置に格納されていないとき、他の装置に応答を送信する送信手段と、を備え、
前記送信手段は、前記要求に対する前記データキャッシュ装置における処理を停止させる、ことを特徴とする請求項1から10の何れか1項に記載の情報処理装置。 - 前記送信手段は、前記要求の送信先に、前記要求に対応するデータが、前記管理装置に格納されていないことを示す応答を送信する、ことを特徴とする請求項11に記載の情報処理装置。
- 前記データキャッシュ装置は、当該データキャッシュ装置に接続された前記管理装置、および、当該データキャッシュ装置にネットワークを介して接続された1または複数の他の情報処理装置の夫々に含まれる他の管理装置に格納されているデータを示す情報を管理する管理手段を更に備え、
前記要求に対応するデータが、前記他の管理装置に格納されているとき、前記送信手段は、前記他の管理装置を含む前記他の情報処理装置に、前記受信した要求を送信する、ことを特徴とする請求項11に記載の情報処理装置。 - 前記データキャッシュ装置は、
前記情報処理装置の外部から読出し要求または書込み要求を受信し、当該受信した読出し要求または書込み要求が、当該データキャッシュ装置で処理する要求か否かを判定する判定手段と、
前記読出し要求または前記書込み要求を前記管理装置に送信し、前記読出し要求または前記書込み要求にそれぞれ対応する読出し応答または書込み応答を受信するリフィル制御手段と、を更に備え、
前記判定手段は、前記受信した読出し要求または書込み要求が前記データキャッシュ装置で処理する要求ではないと判定したとき、前記読出し要求または書込み要求を前記リフィル制御手段に供給し、前記受信した読出し要求または書込み要求が前記データキャッシュ装置で処理する要求であると判定したとき、前記読出し要求または書込み要求を前記データキャッシュ制御手段に供給する、ことを特徴とする請求項1から13の何れか1項に記載の情報処理装置。 - キャッシュメモリを内蔵し、前記キャッシュメモリより容量の大きい大容量メモリを内蔵する管理装置と接続されたデータキャッシュ装置であって、
前記データキャッシュ装置および前記管理装置の外部から読出し要求または書込み要求を受信したとき、前記キャッシュメモリに格納されている所定の条件のデータを、前記大容量メモリに配置するよう制御するデータキャッシュ制御手段を備え、
前記データキャッシュ制御手段は、受信した要求が書込み要求であるとき、前記書込み要求に従って、書込み対象となるデータを前記キャッシュメモリに書込み、前記要求が読出し要求であるとき、前記読出し要求に従って読み出されたデータを前記キャッシュメモリに書込む、ことを特徴とするデータキャッシュ装置。 - キャッシュメモリを内蔵するデータキャッシュ装置と、前記キャッシュメモリより容量の大きい大容量メモリを内蔵する管理装置とを備える情報処理装置の情報処理方法であって、
前記情報処理装置の外部から読出し要求または書込み要求を受信し、
前記受信した要求が書込み要求であるとき、前記キャッシュメモリに格納されている所定の条件のデータを前記大容量メモリに配置するよう制御し、更に、前記書込み要求に従って、書込み対象となるデータを前記キャッシュメモリに書込み、
前記受信した要求が読出し要求であるとき、前記所定の条件のデータを前記大容量メモリに配置するよう制御し、更に、前記読出し要求に従って読み出されたデータを前記キャッシュメモリに書込む、ことを特徴とする情報処理方法。 - キャッシュメモリを内蔵し、前記キャッシュメモリより容量の大きい大容量メモリを内蔵する管理装置と接続されたデータキャッシュ装置のデータキャッシュ方法であって、
前記データキャッシュ装置および前記管理装置の外部から読出し要求または書込み要求を受信し、
前記受信した要求が書込み要求であるとき、前記キャッシュメモリに格納されている所定の条件のデータを前記大容量メモリに配置するよう制御し、更に、前記書込み要求に従って、書込み対象となるデータを前記キャッシュメモリに書込み、
前記受信した要求が読出し要求であるとき、前記所定の条件のデータを前記大容量メモリに配置するよう制御し、更に、前記読出し要求に従って読み出されたデータを前記キャッシュメモリに書込む、ことを特徴とするデータキャッシュ方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/030,965 US20160253094A1 (en) | 2013-11-01 | 2014-10-20 | Information processing device, data cache device, information processing method, and data caching method |
JP2015544783A JPWO2015064048A1 (ja) | 2013-11-01 | 2014-10-20 | 情報処理装置、データキャッシュ装置、情報処理方法、データキャッシュ方法およびプログラム |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013-228291 | 2013-11-01 | ||
JP2013228291 | 2013-11-01 | ||
JP2014-082152 | 2014-04-11 | ||
JP2014082152 | 2014-04-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015064048A1 true WO2015064048A1 (ja) | 2015-05-07 |
Family
ID=53003681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/005311 WO2015064048A1 (ja) | 2013-11-01 | 2014-10-20 | 情報処理装置、データキャッシュ装置、情報処理方法およびデータキャッシュ方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20160253094A1 (ja) |
JP (1) | JPWO2015064048A1 (ja) |
WO (1) | WO2015064048A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019532416A (ja) * | 2016-09-15 | 2019-11-07 | オラクル・インターナショナル・コーポレイション | ストリームデータにおける空間変化検出器 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200082323A (ko) * | 2018-12-28 | 2020-07-08 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치의 컨트롤러 및 그 동작 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003173294A (ja) * | 2001-12-07 | 2003-06-20 | Hitachi Ltd | ディスク装置 |
JP2013164660A (ja) * | 2012-02-09 | 2013-08-22 | Nec Corp | ストレージ装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6026452A (en) * | 1997-02-26 | 2000-02-15 | Pitts; William Michael | Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data |
JP4189436B2 (ja) * | 2006-11-07 | 2008-12-03 | 日立ソフトウエアエンジニアリング株式会社 | データ処理制御方法 |
WO2014061064A1 (en) * | 2012-10-18 | 2014-04-24 | Hitachi, Ltd. | Cache control apparatus and cache control method |
-
2014
- 2014-10-20 WO PCT/JP2014/005311 patent/WO2015064048A1/ja active Application Filing
- 2014-10-20 US US15/030,965 patent/US20160253094A1/en not_active Abandoned
- 2014-10-20 JP JP2015544783A patent/JPWO2015064048A1/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003173294A (ja) * | 2001-12-07 | 2003-06-20 | Hitachi Ltd | ディスク装置 |
JP2013164660A (ja) * | 2012-02-09 | 2013-08-22 | Nec Corp | ストレージ装置 |
Non-Patent Citations (2)
Title |
---|
KEVIN LIM ET AL.: "Thin servers with smart pipes: designing SoC accelerators for memcached", ISCA '13 PROCEEDINGS OF THE 40TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE, June 2013 (2013-06-01), pages 36 - 47 * |
SAI RAHUL CHALAMALASETTI ET AL.: "An FPGA Memcached Appliance, FPGA", 13 PROCEEDINGS OF THE ACM/SIGDA INTERNATIONAL SYMPOSIUM ON FIELD PROGRAMMABLE GATE ARRAYS, February 2013 (2013-02-01), pages 245 - 254 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019532416A (ja) * | 2016-09-15 | 2019-11-07 | オラクル・インターナショナル・コーポレイション | ストリームデータにおける空間変化検出器 |
Also Published As
Publication number | Publication date |
---|---|
US20160253094A1 (en) | 2016-09-01 |
JPWO2015064048A1 (ja) | 2017-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10891228B2 (en) | Cache line states identifying memory cache | |
US8806148B2 (en) | Forward progress mechanism for stores in the presence of load contention in a system favoring loads by state alteration | |
US7613885B2 (en) | Cache coherency control method, chipset, and multi-processor system | |
CN102498476B (zh) | 在数据库服务器和存储***之间高速缓存数据 | |
US10432723B2 (en) | Storage server and storage system | |
US8762651B2 (en) | Maintaining cache coherence in a multi-node, symmetric multiprocessing computer | |
EP2541423B1 (en) | Replacement policy for resource container | |
JP2014130420A (ja) | 計算機システム及び計算機の制御方法 | |
CN110765036B (zh) | 在控制设备处管理元数据的方法和设备 | |
CN107341114B (zh) | 一种目录管理的方法、节点控制器和*** | |
WO2015118865A1 (ja) | 情報処理装置、情報処理システム及びデータアクセス方法 | |
KR102581572B1 (ko) | 허브 디바이스 및 그의 작동방법 | |
US10437725B2 (en) | Master requesting missing segments of a cache line for which the master has coherence ownership | |
WO2015064048A1 (ja) | 情報処理装置、データキャッシュ装置、情報処理方法およびデータキャッシュ方法 | |
US7136969B1 (en) | Using the message fabric to maintain cache coherency of local caches of global memory | |
JP6088853B2 (ja) | 通信装置、通信方法および通信プログラム | |
JP5481669B2 (ja) | キャッシュ制御方法、ノード装置、マネージャ装置及び計算機システム | |
JP5661355B2 (ja) | 分散キャッシュシステム | |
JP6035934B2 (ja) | データストア管理装置、データ提供システム及びデータ提供方法 | |
JP6036190B2 (ja) | 情報処理装置、情報処理システムの制御方法及び情報処理システムの制御プログラム | |
US10733118B2 (en) | Computer system, communication device, and storage control method with DMA transfer of data | |
CN110737397B (zh) | 用于管理存储***的方法、设备和计算机程序产品 | |
CN111522879B (zh) | 一种基于缓存的数据分发方法和电子设备 | |
JP6607044B2 (ja) | サーバー装置、分散ファイルシステム、分散ファイルシステム制御方法、および、プログラム | |
US8051246B1 (en) | Method and apparatus for utilizing a semiconductor memory of a node as a disk cache |
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: 14857008 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2015544783 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15030965 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14857008 Country of ref document: EP Kind code of ref document: A1 |