IP Library Granted Patent US 11,055,224
Granted Patent B2
US 11,055,224 · App. 16/294,092 · Granted Jul 6, 2021

Data processing apparatus and prefetch method

Inventors: Yuji Saeki (Tokyo, JP); Takashige Baba (Tokyo, JP)
Assignee: HITACHI, LTD.
G06F12/0862G06F12/0868G06N3/08G06N7/00G06F12/0246G06F16/903
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,055,224
App. No.
16/294,092
Granted
Jul 6, 2021
Kind
B2
Abstract

An area for prefetching is determined while accommodating an increase in a block address space. A prediction model predicts prefetch addresses for each of bit ranges into which block addresses are split by using a plurality of neural networks assuming charge of the different bit ranges having performed machine learning on I/O trace data, a prediction accuracy determination section determines a size of an area for prefetching on the basis of addresses in the bit range for which prediction accuracy in prefetch is lower than a predetermined value, a predicted value determination section determines addresses of the area for prefetching on the basis of addresses in the bit range for which the prediction accuracy in the prefetch is equal to or higher than the predetermined value, and a prefetch issuance section caches data in the area for prefetching in a storage class memory from a NAND flash memory.

Claims (42)

1. A data processing apparatus, wherein

the data processing apparatus splits block addresses into a plurality of bit ranges on the basis of bit positions;

the data processing apparatus determines prediction accuracy of addresses used in prefetch for each of the bit ranges;

the data processing apparatus determines an area to be prefetched on the basis of the prediction accuracy determined for each of the bit ranges;

the data processing apparatus determines a size of the area to be prefetched on the basis of addresses in the bit range for which the prediction accuracy is lower than a predetermined value; and

the data processing apparatus determines addresses of the area to be prefetched on the basis of addresses in the bit range for which the prediction accuracy is equal to or higher than the predetermined value.

2. The data processing apparatus according to claim 1 , wherein

the bit range used in determining the size of the area to be prefetched is closer to a low-order bit than the bit range used in determining the addresses of the area to be prefetched.

3. The data processing apparatus according to claim 2 , wherein the predetermined value is defined by formula 1:

C/2(b−a+1)  Formula 1

a is a least significant bit position in each of the bit ranges that the block addresses are split,

b is a most significant bit position in each of the bit ranges that the block addresses are split, and

c is a constant.

4. The data processing apparatus according to claim 1 , wherein

the data processing apparatus uses a plurality of prediction models using I/O trace data in which block addresses used in previous reads or writes are recorded and which assume charge of the different bit ranges, and predict the addresses of the area to be prefetched for each of the bit ranges.

5. The data processing apparatus according to claim 4 , wherein

the data processing apparatus manages a plurality of neural networks each associated with a query and a database name,

the data processing apparatus selects neural networks on the basis of the query, and

the selected neural networks learn the I/O trace data accompanying execution of the query, and predict the addresses of the area to be prefetched.

6. The data processing apparatus according to claim 5 , wherein

the data processing apparatus manages training history information and prediction accuracy information about the neural networks corresponding to the bit ranges of the block addresses, the query, and the database name, and

the data processing apparatus operates application of the prefetch on the basis of learning by the neural networks and the prediction of the block addresses.

7. The data processing apparatus according to claim 4 , wherein

the data processing apparatus allocates cache areas to sequential access and random access on the basis of a ratio of the sequential access to the random access, and

the data processing apparatus predicts the addresses of the areas to be prefetched for each of the bit ranges with respect to the cache for the random access.

8. The data processing apparatus according to claim 7 , wherein

the data processing apparatus allocates cache areas to random reads and random writes on the basis of a ratio of the random reads to the random writes, and

the data processing apparatus uses neural networks separately learned by the reads and the writes, and predicts the addresses of the area to be prefetched for each of the bit ranges.

9. The data processing apparatus according to claim 1 , wherein

in a case in which a ratio of sequential access to random access is high, the data processing apparatus uses the prediction models using I/O trace data in which block addresses used in previous reads or writes are recorded, predicts the number of blocks accessed at continuous addresses, and prefetches data accessed at the continuous addresses.

10. The data processing apparatus according to claim 1 , wherein

the data processing apparatus calculates a maximum value of each of the bit positions; and

the data processing apparatus determines a size of the area to be perfected is equal to two to the power of the maximum value of each of the bit positions.

11. A prefetch method,

wherein a data processing apparatus includes a processor executing a prefetch processing program, the prefetch method comprising,

by executing the prefetch processing program by the processor,

splitting block addresses into a plurality of bit ranges on the basis of bit positions,

determining an area to be prefetched on the basis of a probability of matching of addresses in the bit ranges used in prefetch with addresses in the bit ranges used in reads or writes after the prefetch,

determining a size of the area to be prefetched on the basis of addresses in the bit range for which the probability is lower than a predetermined value, and

determining addresses of the area to be prefetched on the basis of the addresses in the bit range for which the probability is equal to or higher than the predetermined value.

12. The prefetch method according to claim 11 , wherein

the bit range used in determining the size of the area to be prefetched is closer to a low-order bit than the bit range used in determining the addresses of the area to be prefetched.

Assignments (3)
COMPANY SPLIT Recorded Aug 20, 2024
From: HITACHI, LTD.
To: HITACHI VANTARA, LTD.
Reel/Frame 069518/0761 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PUNCTUATION OF THE ASSIGNEE'S NAME PREVIOUSLY RECORDED ON REEL 048525 FRAME 0904. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT OF ASSIGNOR(S) INTEREST. Recorded Mar 9, 2021
From: SAEKI, YUJI; BABA, TAKASHIGE
To: HITACHI, LTD.
Reel/Frame 055531/0175 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2019
From: SAEKI, YUJI; BABA, TAKASHIGE
To: HITACHI LTD.
Reel/Frame 048525/0904 →
Priority Claims (1)
JP JP2018-099700 · May 24, 2018 · national
Continuity (1)
Related Publication 20190361811A1 · Nov 28, 2019