Storage control system and method, and replacing system and method
AssigneeFujitsu Limited
InventorsTakatsugu Ono, Takeshi Shimizu
Life of this patent
Estimating the term…
Abstract
A row buffer 102 in DRAM 100 stores any data read from a memory array 101 in a specified data length unit. An LLC 206 is cache memory, and extracts and stores a part of data stored in the row buffer 102 as cache data. In a MAC 701, when push-out control of the LLC 206 is performed, it is predicted that data at which DIMM address is stored in the row buffer 102 in the near future based on the queuing state of an MRQ 203. In the MAC 701, each physical address of the cache data in a push-out target range 702 on the LLC 206 is converted into a DIMM address. If the converted address matches the predicted address of the data, then the cache data corresponding to the matching addresses is pushed out on a priority basis from the LLC 206.
Claims7
A storage control system comprising:
- a first storage unit that enables to read and write data in a specified data length unit;
- a second storage unit that reads any piece of the data in the specified data length unit from the first storage unit and stores the data;
- a third storage unit that extracts and stores a part of the data stored in the second storage unit as partial data;
- and
- a processor that performs a process including:
- setting to Least Recently Used position of the third storage unit a deletable range in which the partial data or updated partial data obtained by updating the partial data is deletable;
- changing a size of the deletable range in accordance with a probability that data to be accessed in response to an access request to the first storage unit is stored in the third storage unit;
- reading extraction source data of the partial data from the first storage unit, stores the extraction source data in the second storage unit, partially overwrites the extraction source data using the partial data or the updated partial data, and then writes the extraction source data to the first storage unit when the partial data or the updated partial data is deletable from the deletable range in the third storage unit, and when the extraction source data of the partial data is not stored in the second storage unit;
- partially overwriting the extraction source data of the partial data stored in the second storage unit using the partial data or the updated partial data when the extraction source data of the partial data is stored in the second storage unit, and then writes the extraction source data to the first storage unit;
- and
- deleting the partial data or the updated partial data whose extraction source data is stored in the second storage unit on a priority basis from the deletable range in the third storage unit, wherein
- changing the size of the deletable range includes changing a size of the deletable range for each function in accordance with a cache hit rate in each of Least Recently Used positions, measured in units of the functions determined by a user.
A replacing system comprising:
- a first storage unit that enables to read and write data in a specified data length unit;
- a second storage unit that reads any piece of the data in the specified data length unit from the first storage unit and stores the data;
- a third storage unit that extracts and stores a part of the data stored in the second storage unit as partial data;
- and
- a processor that executes a procedure, the procedure including:
- setting to Least Recently Used position of the third storage unit a deletable range in which the partial data or updated partial data obtained by updating the partial data is deletable;
- changing a size of the deletable range in accordance with a probability that data to be accessed in response to an access request to the first storage unit is stored in the third storage unit;
- predicting data at which storage address of the first storage unit is stored in the second storage unit when the partial data or the updated partial data is deletable from the deletable range in the third storage unit;
- converting each address of one or more pieces of the partial data and the updated partial data which are deletable from the deletable range in the third storage unit into each address on the first storage unit;
- and
- detecting matching of address portions in the specified data length unit based on each of a converted address and a predicted data address, and deleting the partial data or the updated partial data corresponding to a matching detected address on a priority basis from the deletable range in the third storage unit, wherein
- changing the size of the deletable range includes changing a size of the deletable range for each function in accordance with a cache hit rate in each of Least Recently Used positions, measured in units of the functions determined by a user.
A storage control method by a processor, the storage control method comprising:
- writing and reading data in a specified data length unit to and from a first storage unit by the processor;
- reading any piece of the data in the specified data length unit from the first storage unit and storing the data in a second storage unit by the processor;
- extracting a part of the data stored in the second storage unit as partial data and storing the partial data in a third storage unit by the processor;
- setting to Least Recently Used position of the third storage unit a deletable range in which the partial data or updated partial data obtained by updating the partial data is deletable by the processor;
- changing a size of the deletable range in accordance with a probability that data to be accessed in response to an access request to the first storage unit is stored in the third storage unit;
- reading extraction source data of the partial data from the first storage unit, storing the extraction source data in the second storage unit, partially overwriting the extraction source data using the partial data or the updated partial data, and then writing the extraction source data to the first storage unit by the processor when the partial data or the updated partial data is deletable from the deletable range in the third storage unit, and when the extraction source data of the partial data is not stored in the second storage unit;
- partially overwriting the extraction source data of the partial data stored in the second storage unit by the processor using the partial data or the updated partial data when the extraction source data of the partial data is stored in the second storage unit, and then writing the extraction source data to the first storage unit by the processor, and
- deleting the partial data or the updated partial data whose extraction source data is stored in the second storage unit on a priority basis from the deletable range in the third storage unit by the processor, wherein
- changing the size of the deletable range includes changing a size of the deletable range for each function in accordance with a cache hit rate in each of Least Recently Used positions, measured in units of the functions determined by a user.
A cache memory replacing method by a processor, the cache memory replacing method comprising:
- writing and reading data in a specified data length unit to and from a first storage unit by the processor;
- reading any piece of the data in the specified data length unit from the first storage unit and storing the data in a second storage unit by the processor;
- extracting a part of the data stored in the second storage unit as partial data and storing the partial data in a third storage unit by the processor;
- setting to Least Recently Used position of the third storage unit a deletable range in which the partial data or updated partial data obtained by updating the partial data is deletable by the processor;
- changing a size of the deletable range in accordance with a probability that data to be accessed in response to an access request to the first storage unit is stored in the third storage unit;
- predicting data at which storage address in the first storage unit is stored in the second storage unit by the processor when one of the partial data and the updated partial data is deletable from the deletable range in the third storage unit;
- converting each address of the partial data or the updated partial data which is deletable from the deletable range in the third storage unit into each address on the first storage unit by the processor;
- and
- detecting matching of address portions in the specified data length unit based on each of a converted address and a predicted data address, and deleting the partial data or the updated partial data corresponding to a matching detected address on a priority basis from the deletable range in the third storage unit by the processor, wherein
- changing the size of the deletable range includes changing a size of the deletable range for each function in accordance with a cache hit rate in each of Least Recently Used positions, measured in units of the functions determined by a user.
Dependencies are inferred from the claim text.