发明名称 Observation of data in persistent memory
摘要 Systems and methods for reliably using data storage media. Multiple processors are configured to access a persistent memory. For a given data block corresponding to a write access request from a first processor to the persistent memory, a cache controller prevents any read access of a copy of the given data block in an associated cache. The cache controller prevents any read access while detecting an acknowledgment that the given data block is stored in the persistent memory is not yet received. Until the acknowledgment is received, the cache controller allows write access of the copy of the given data block in the associated cache only for a thread in the first processor that originally sent the write access request. The cache controller invalidates any copy of the given data block in any cache levels below the associated cache.
申请公布号 US9367472(B2) 申请公布日期 2016.06.14
申请号 US201313914001 申请日期 2013.06.10
申请人 Oracle International Corporation 发明人 Bridge, Jr. William H.;Loewenstein Paul;Luttrell Mark A.
分类号 G06F12/08;G06F9/52 主分类号 G06F12/08
代理机构 Meyertons, Hood, Kivlin, Kowert & Goetzel, P.C. 代理人 Rankin Rory D.;Meyertons, Hood, Kivlin, Kowert & Goetzel, P.C.
主权项 1. A computing system comprising: a plurality of processors; a cache configured to be accessed by at least two of the plurality of processors; a cache controller coupled to the cache; a persistent memory coupled to the cache controller; wherein a first thread of a plurality of threads executed by a first processor of the plurality of processors is configured to send a given data block to the persistent memory for storage via the cache controller; and wherein the cache controller is configured to: in response to receiving the given data block and determining a coherence state corresponding to the given data block does not already prevent read access, increment a respective per-thread count for the first thread;prevent any read access of a copy of the given data block in said cache, in response to detecting the given data block is to be sent to be stored in the persistent memory; andin response to receiving a corresponding acknowledgment that the given data block is stored in the persistent memory, decrement the respective per-thread count for the first thread.
地址 Redwood Shores CA US