Partial line cache write injector for direct memory access write
AssigneeInternational Business Machines Corporation
InventorsRobert H. Bell, Jr., Herman Dietrich Dierks, Hong Lam Hua, Mysore Sathyanarayana Srinivas
Life of this patent
Estimating the term…
Abstract
A cache within a computer system receives a partial write request and identifies a cache hit of a cache line. The cache line corresponds to the partial write request and includes existing data. In turn, the cache receives partial write data and merges the partial write data with the existing data into the cache line. In one embodiment, the existing data is “modified” or “dirty.” In another embodiment, the existing data is “shared.” In this embodiment, the cache changes the state of the cache line to indicate the storing of the partial write data into the cache line.
Claims23
A computer-implemented method comprising:
- receiving partial write data at a cache that includes a cache controller and cache storage;
- locating a cache line in the cache storage that corresponds to the received partial write data, wherein the located cache line includes modified data;
- and
- storing merged cache line data into the cache line, wherein the storing includes:
- re-circulating the modified data from a first portion of the cache line to a first multiplexer of the cache controller;
- providing the partial write data to a second multiplexer of the cache controller;
- and
- providing the merged cache line data directly from the first multiplexer and the second multiplexer to the cache storage, wherein the merged cache line data comprises the modified data from the first multiplexer and the partial write data from the second multiplexer.
An information handling system comprising:
- one or more processors;
- a cache accessible by at least one of the processors;
- a memory accessible by at least one of the processors;
- a set of instructions stored in the memory and executed by the at least one of the processors in order to perform actions of:
- receiving partial write data at the cache that includes a cache controller and cache storage;
- locating a cache line in the cache storage that corresponds to the received partial write data, wherein the located cache line includes modified data;
- and
- storing merged cache line data into the cache line, wherein the storing includes:
- re-circulating the modified data from a first portion of the cache line to a first multiplexer of the cache controller;
- providing the partial write data to a second multiplexer of the cache controller;
- and
- providing the merged cache line data directly from the first multiplexer and the second multiplexer to the cache storage, wherein the merged cache line data comprises the modified data from the first multiplexer and the partial write data from the second multiplexer.
A computer program product stored in a computer readable storage medium comprising hardware having computer program code embodied therewith that, when executed by an information handling system, causes the information handling system to perform actions that include:
- receiving partial write data at a cache that includes a cache controller and cache storage;
- locating a cache line in the cache storage that corresponds to the received partial write data, wherein the located cache line includes modified data;
- and
- storing merged cache line data into the cache line, wherein the storing includes:
- re-circulating the modified data from a first portion of the cache line to a first multiplexer of the cache controller;
- providing the partial write data to a second multiplexer of the cache controller;
- and
- providing the merged cache line data directly from the first multiplexer and the second multiplexer to the cache storage, wherein the merged cache line data comprises the modified data from the first multiplexer and the partial write data from the second multiplexer.
A computer-implemented method comprising:
- receiving partial write data at a cache that includes a cache controller and cache storage;
- locating a cache line in the cache storage that corresponds to the received partial write data, wherein the located cache line includes modified data;
- storing merged cache line data into the cache line, wherein the storing includes:
- re-circulating the modified data from a first portion of the cache line to a first multiplexer of the cache controller;
- providing the partial write data to a second multiplexer of the cache controller;
- and
- providing the merged cache line data directly from the first multiplexer and the second multiplexer to the cache storage, wherein the merged cache line data comprises the modified data from the first multiplexer and the partial write data from the second multiplexer;
- and
- in response to the storing, changing, by the cache, a cache line state of the cache line.
Dependencies are inferred from the claim text.