Store forwarding cache

US9400752B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9400752-B1
Application numberUS-201615086546-A
CountryUS
Kind codeB1
Filing dateMar 31, 2016
Priority dateFeb 5, 2015
Publication dateJul 26, 2016
Grant dateJul 26, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A load request is received to retrieve a piece of data from a location in memory and the load request follows one or more store requests in a set of instructions to store a piece of data in the location in memory. One or more possible locations in a cache for a piece of data corresponding to the location in memory is determined. Each possible location of the one or more possible locations in the cache is determined. It is then determined if at least one location of the one or more possible locations contains data to be stored in the location in memory. Data in one location of the at least one location is loaded, the data in the one location is from a store request of the one or more store requests and the store request is closest in the set of instructions to the load request.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for executing a load with store forwarding data, the method comprising the steps of: receiving a load request, wherein the load request is a request to retrieve a piece of data from a location in memory, and wherein the load request follows one or more store requests in a set of instructions to store a piece of data in the location in memory, and wherein memory is one or more of the following: volatile computer readable storage media, non-volatile computer readable storage media, random access memory (RAM), cache, optical and magnetic drives, thumb drives, or smart cards; determining one or more possible locations in a cache for a piece of data corresponding to the location in memory, wherein the cache is an n-way associative cache, and wherein the cache contains a plurality of entries and wherein each entry includes the following: a logical address tag, a directory hit way tag, an instruction age/identifier tag, a byte validity indicator, and store data; utilizing a table, wherein the table includes a list of all store requests, processed but not retired, in the set of store instructions to store a piece of data in the location in memory; determining whether the one or more possible locations contain data corresponding to each store request of the store requests in the table; responsive to determining the one or more possible locations does not contain data corresponding to each store request of the store requests in the table, rejecting the loaded data; responsive to determining the one or more possible locations in the cache, reading each possible location of the one or more possible locations in the cache; determining if at least one location of the one or more possible locations contains data to be stored in the location in memory; responsive to determining that the at least one location of the one or more possible locations contains data to be stored in the location in memory, loading data in one location of the at least one location, wherein the data in the one location is from a store request of the one or more store requests, and wherein the store request is closest in the set of instructions to the load request; determining that the loaded data contained a portion of total data requested by the load request; and responsive to determining the loaded data contained a portion of total data requested by the load request, loading, from memory, a remaining portion of the total data requested by the load request.

Assignees

Inventors

Classifications

  • using pseudo-associative means, e.g. set-associative or hashing · CPC title

  • Details of cache memory · CPC title

  • Instruction code · CPC title

  • in combination with broadcast means (e.g. for invalidation or updating) · CPC title

  • Cache access modes · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9400752B1 cover?
A load request is received to retrieve a piece of data from a location in memory and the load request follows one or more store requests in a set of instructions to store a piece of data in the location in memory. One or more possible locations in a cache for a piece of data corresponding to the location in memory is determined. Each possible location of the one or more possible locations in th…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F12/0864. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 26 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).