Memory store error check

US10776192B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10776192-B2
Application numberUS-201515756956-A
CountryUS
Kind codeB2
Filing dateSep 17, 2015
Priority dateSep 17, 2015
Publication dateSep 15, 2020
Grant dateSep 15, 2020

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.

Techniques for memory store error checks are provided. In one aspect, a process running on a processor may execute an instruction to store a first value in memory. The processor may store a plurality of values, including the first value, from a plurality of processes to the memory. A check on a synchronous error notification path may be performed to determine whether an error in storing at least one of the plurality of values occurred.

First claim

Opening claim text (preview).

We claim: 1. A method comprising: initiating execution of a first process by a processor, wherein the first process causes a memory controller to store a first value associated with the first process in a memory; upon initiating the execution of the first process, triggering a synchronous error check process and an asynchronous error check process, wherein the synchronous error check process comprises: proactively accessing an error counter to determine a current value; determining that the first value was written to the memory; proactively accessing the error counter to determine an updated value; and when the current value and the updated value are different, indicating that a first error occurred in writing to the memory; and wherein the asynchronous error check process comprises: waiting for an operating system signal to identify whether the memory controller successfully stored the first value associated with the first process in the memory or a second error occurred; and when the operating system signal identifies that the memory controller did not successfully store the first value associated with the first process in the memory and the second error occurred, determining that incrementing the error counter during the synchronous error check process was caused by the first process. 2. The method of claim 1 , wherein the operating system signal is an interrupt signal. 3. The method of claim 1 , further comprising: initiating a corrective action in response to the identification that the memory controller did not successfully store the first value associated with the first process in the memory and the second error occurred. 4. The method of claim 3 , wherein the corrective action includes initiating a second execution of the first process. 5. The method of claim 3 , wherein the corrective action includes mirroring data between two sections of the memory. 6. The method of claim 3 , wherein the corrective action includes transmitting a notification that the first error was caused by the first process. 7. The method of claim 1 , wherein the memory controller is configured to increment the error counter when the first error occurs in writing to the memory. 8. The method of claim 1 , wherein when the first error occurred and the second error occurred, the method further comprises determining that a Dual In-Line Memory Module (DIMM) failed. 9. A non-transitory processor readable medium containing a set of instructions which, when executed by a processor, cause the processor to: initiate execution of a first process by a processor, wherein the first process causes a memory controller to store a first value associated with the first process in a memory; upon initiating the execution of the first process, trigger a synchronous error check process and an asynchronous error check process, wherein the synchronous error check process comprises: proactively accessing an error counter to determine a current value; determining that the first value was written to the memory; proactively accessing the error counter to determine an updated value; and when the current value and the updated value are different, indicating that a first error occurred in writing to the memory; and wherein the asynchronous error check process comprises: waiting for an operating system signal to identify whether the memory controller successfully stored the first value associated with the first process in the memory or a second error occurred; and when the operating system signal identifies that the memory controller did not successfully store the first value associated with the first process in the memory and the second error occurred, determining that incrementing the error counter during the synchronous error check process was caused by the first process. 10. The non-transitory processor readable medium of claim 9 , wherein the processor is further configured: map the error counter to an address space of the first process. 11. The non-transitory processor readable medium of claim 9 , wherein the processor is further configured to: obtain details related to the first error. 12. The non-transitory processor readable medium of claim 11 , wherein the obtained details related to the first error include a physical address in the memory and the processor is further configured to: determine a process whose virtual address space maps to the physical address; and transmit a notification to the process. 13. The medium of claim 11 wherein the obtained details related to the first error include: an indication of a failed memory device. 14. The medium of claim 11 wherein the obtained details related to the first error include: a range of addresses in which the first error occurred. 15. A system comprising: a memory; a memory controller to provide an error counter, the error counter changing when an error occurs in writing a value to the memory; and a processor to execute instructions to: initiate execution of a first process, wherein the first process causes the memory controller to store a first value associated with the first process in the memory; upon initiating the execution of the first process, trigger a synchronous error check process and an asynchronous error check process, wherein the synchronous error check process comprises: proactively accessing the error counter to determine a current value; determining that the first value was written to the memory; proactively accessing the error counter to determine an updated value; and when the current value and the updated value are different, indicating that a first error occurred in writing to the memory; and wherein the asynchronous error check process comprises: waiting for an operating system signal to identify whether the memory controller successfully stored the first value associated with the first process in the memory or a second error occurred; and when the operating system signal identifies that the memory controller did not successfully store the first value associated with the first process in the memory and the second error occurred, determining that incrementing the error counter during the synchronous error check process was caused by the first process.

Assignees

Inventors

Classifications

  • G06F11/073Primary

    in a memory management context, e.g. virtual memory or cache management (memory management G06F12/00; testing of static memory units G11C29/00) · CPC title

  • Routing of error reports, e.g. with a specific transmission path or data flow · CPC title

  • Address translation · CPC title

  • Reliability improvement, data loss prevention, degraded operation etc · CPC title

  • in I/O circuitry · 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 US10776192B2 cover?
Techniques for memory store error checks are provided. In one aspect, a process running on a processor may execute an instruction to store a first value in memory. The processor may store a plurality of values, including the first value, from a plurality of processes to the memory. A check on a synchronous error notification path may be performed to determine whether an error in storing at leas…
Who is the assignee on this patent?
Hewlett Packard Entpr Dev Lp
What technology area does this patent fall under?
Primary CPC classification G06F11/073. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 15 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).