Ordering updates for nonvolatile memory accesses

    公开(公告)号:US10372602B2

    公开(公告)日:2019-08-06

    申请号:US15545901

    申请日:2015-01-30

    摘要: Examples relate to ordering updates for nonvolatile memory accesses. In some examples, a first update that is propagated from a write-through processor cache of a processor is received by a write ordering buffer, where the first update is associated with a first epoch. The first update is stored in a first buffer entry of the write ordering buffer. At this stage, a second update that is propagated from the write-through processor cache is received, where the second update is associated with a second epoch. A second buffer entry of the write ordering buffer is allocated to store the second update. The first buffer entry and the second buffer entry can then be evicted to non-volatile memory in epoch order.

    DETERMINING CACHE VALUE CURRENCY USING PERSISTENT MARKERS

    公开(公告)号:US20190121750A1

    公开(公告)日:2019-04-25

    申请号:US15789431

    申请日:2017-10-20

    IPC分类号: G06F12/14 G06F12/128

    摘要: Determining cache value currency using persistent markers is disclosed herein. In one example, a cache entry is retrieved from a local cache memory device. The cache entry includes a key, a value to be used by the computing device, and a marker flag to determine whether the cache entry is current. The local cache memory device also includes a marker location that indicates a location of a marker in a shared persistent fabric-attached memory (FAM). Using a marker location, the marker is retrieved from the shared persistent FAM. From the marker and the marker flag, it is determined whether the cache entry is current. The shared FAM pool is connected to the local cache memory devices of multiple computing devices.

    WRITE-AHEAD LOGGING THROUGH A PLURALITY OF LOGGING BUFFERS USING NVM

    公开(公告)号:US20180300083A1

    公开(公告)日:2018-10-18

    申请号:US15485399

    申请日:2017-04-12

    IPC分类号: G06F3/06

    摘要: An example system for write-ahead logging through a plurality of logging buffers using a non-volatile memory (NVM) is disclosed. The example disclosed herein comprises a processing unit coupled to one or more controllers from one or more client applications. The example also comprises a plurality of logging buffers to receive a plurality of first log data threads based on a predetermined timestamp range, wherein each log buffer stores a single first timestamp log data thread from a plurality of timestamp log data threads. The example further comprises a flusher to flush the plurality of first timestamp log data threads from the plurality of logging buffers to a first timestamp log data. The flusher stores the first timestamp log data to an NVM to build flushed timestamp log data. The example further comprises a syncer to sync the flushed timestamp log data from the NVM to an HD device in time stamp sequential order.