Autonomous dram scrub and error counting

US10628248B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10628248-B2
Application numberUS-201615070273-A
CountryUS
Kind codeB2
Filing dateMar 15, 2016
Priority dateMar 15, 2016
Publication dateApr 21, 2020
Grant dateApr 21, 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.

An aspect includes a method for dynamic random access memory (DRAM) scrub and error counting. A scrub operation is performed at memory locations in a DRAM. The performing includes, for each of the memory locations: receiving a refresh command at the DRAM; executing a read/modify/write (RMW) operation at the memory location, the executing including writing corrected bits to the memory location; and incrementing an error count in response to detecting an error during the executing. The method also includes comparing the error count to an error threshold. An alert is initiated in response to the error count exceeding the error threshold.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of dynamic random access memory (DRAM) scrub and error counting in a memory of a computer system, the method comprising: performing autonomous scrub operations at memory locations in a DRAM based on a timing of refresh operations at the DRAM, the DRAM comprising a memory array, and one or more registers for storing an internal address pointer, an error count, and an error threshold, the performing including repeating a cycle that includes a scrub operation and a refresh operation until a read/modify/write (RMW) operation has been performed at each of the memory locations in the memory array, the cycle comprising: receiving an indication that a refresh command has been registered at the DRAM; triggering execution of the RMW operation based on receiving the indication that a refresh command has been registered at the DRAM; based on the triggering, executing the RMW operation at a memory location in the memory array indicated by the internal address pointer, the executing including writing corrected bits to the memory location; incrementing the error count in response to detecting an error during the executing; and incrementing the internal address pointer to indicate a next memory location in the memory array; comparing the error count to the error threshold, wherein the error threshold indicates a number of errors in excess of an expected number of errors, the expected number of errors set by a manufacturer of the DRAM and not visible to purchasers or users of the DRAM; and initiating an alert in response to the error count exceeding the error threshold. 2. The method of claim 1 , wherein the performing is independent of a memory controller. 3. The method of claim 1 , wherein the comparing and the initiating are in response to a request from a memory controller. 4. The method of claim 1 , wherein the refresh command is registered by a memory controller. 5. The method of claim 1 , wherein the DRAM is in a self-refresh mode and the refresh command is registered by the DRAM. 6. The method of claim 1 , further comprising: resetting the error count to zero subsequent to the comparing; and repeating the performing and comparing. 7. The method of claim 1 , wherein the alert is sent to a memory controller via a dedicated pin on the DRAM, and the alert includes the number of errors in excess of an expected number of errors. 8. The method of claim 1 further comprising: resetting the error count to zero subsequent to the comparing; and repeating the performing and comparing, wherein the DRAM is in a self-refresh mode, the refresh command is registered by the DRAM., the alert includes the number of errors in excess of an expected number of errors, and the alert is sent to a memory controller via a dedicated pin on the DRAM, and the method further comprises. 9. A memory system comprising: a memory device, the memory device including a dynamic random access memory (DRAM), the DRAM comprising a memory array, and one or more registers for storing an internal address pointer, an error count, and an error threshold, the memory device configured for: performing autonomous scrub operations at memory locations in the DRAM based on a timing of refresh operations at the DRAM, the performing including repeating a cycle that includes a scrub operation and a refresh operation until a read/modify/write (RMW) operation has been performed at each of the memory locations in the memory array, the cycle comprising: receiving an indication that a refresh command has been registered at the DRAM; triggering execution of the RMW operation based on receiving the indication that a refresh command has been registered at the DRAM; based on the triggering, executing the RMW operation at a memory location in the memory array indicated by the internal address pointer, the executing including writing corrected bits to the memory location; incrementing the error count in response to detecting an error during the executing; and incrementing the internal address pointer to indicate a next memory location in the memory array; comparing the error count to an error threshold, wherein the error threshold indicates a number of errors in excess of an expected number of errors, the expected number of errors set by a manufacturer of the DRAM and not visible to purchasers or users of the DRAM; and initiating an alert in response to the error count exceeding the error threshold. 10. The memory system of claim 9 , wherein the performing is independent of a memory controller. 11. The memory system of claim 9 , wherein the comparing and the initiating are in response to a request from a memory controller. 12. The memory system of claim 9 , wherein the refresh command is registered by a memory controller. 13. The memory system of claim 9 , wherein the DRAM is in a self-refresh mode and the refresh command is registered by the DRAM. 14. The memory system of claim 9 , wherein the memory device is further configured for: resetting the error count to zero subsequent to the comparing; and repeating the performing and comparing. 15. The memory system of claim 9 , wherein the alert is sent to a memory controller via a dedicated pin on the DRAM, and the alert includes the number of errors in excess of an expected number of errors. 16. The memory system of claim 9 , wherein the memory device is further configured for: resetting the error count to zero subsequent to the comparing; and repeating the performing and comparing, wherein the DRAM is in a self-refresh mode, the refresh command is registered by the DRAM., the alert includes the number of errors in excess of an expected number of errors, and the alert is sent to a memory controller via a dedicated pin on the DRAM, and the method further comprises. 17. A computer program product for dynamic random access memory (DRAM) scrub and error counting in a memory of a computer system, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by processing circuitry to cause the processing circuitry to: perform autonomous scrub operations at memory locations in the DRAM based on timing of refresh operations at the DRAM, the DRAM comprising a memory array, and one or more registers for storing an internal address pointer, an error count, and an error threshold, the performing including repeating a cycle that includes a scrub operation and a refresh operation until a read/modify/write (RMW) operation has been performed at each of the memory locations in the memory array, the cycle comprising: receiving an indication that a refresh command has been registered at the DRAM; triggering an execution of the RMW operation based on receiving the indication that a refresh command has been registered at the DRAM; based on the triggering, executing the RMW operation at a memory location in the memory array indicated by the internal address pointer, the executing including writing corrected bits to the memory location; incrementing the error count in response to detecting an error during the executing; and incrementing the internal address pointer to indicate a next memory location in the memory array; compare the error count to an error threshold, wherein the error threshold indicates a number of errors in excess of an expected number of errors, the expected number of errors set by a manufacturer of the DRAM and not visible to purchasers or users of the DRAM; and initiate an alert in response to the error count exce

Assignees

Inventors

Classifications

  • in a storage system, e.g. in a DASD or network based storage system (drivers for digital recording or reproducing units G06F3/06; circuits for error detection or correction within digital recording or reproducing units G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097) · CPC title

  • G06F11/076Primary

    by exceeding a count or rate limit, e.g. word- or bit count limit · CPC title

  • Correcting systematically all correctable errors, i.e. scrubbing · CPC title

  • 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

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 US10628248B2 cover?
An aspect includes a method for dynamic random access memory (DRAM) scrub and error counting. A scrub operation is performed at memory locations in a DRAM. The performing includes, for each of the memory locations: receiving a refresh command at the DRAM; executing a read/modify/write (RMW) operation at the memory location, the executing including writing corrected bits to the memory location; …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/076. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 21 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 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).