Apparatus and method for memory calibration averaging

US9666264B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9666264-B1
Application numberUS-201615187886-A
CountryUS
Kind codeB1
Filing dateJun 21, 2016
Priority dateJun 21, 2016
Publication dateMay 30, 2017
Grant dateMay 30, 2017

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 method and apparatus for memory calibration averaging is disclosed. In one embodiment, a memory subsystem includes a memory and a memory controller. The memory controller includes a calibration control circuit that periodically performs calibrations of the memory subsystem. Calibration may be performed for a delay applied to a data strobe used to synchronized transfers of data between the memory controller and the memory, and a reference voltage used to distinguish between a logic 0 and a logic 1 during memory reads. Following the performance of a calibration, the values of the delay and the reference voltage may be set based on an average of a most recent number of calibrations.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus comprising: a memory; and a memory controller coupled to the memory and configured to convey a data strobe signal to the memory during transfers of data to and from the memory, wherein the memory controller includes: a calibration control circuit configured to perform periodic calibrations of a delay applied to the data strobe signal and a reference voltage used to distinguish a logic zero from a logic one in data read from the memory, and further configured to set the delay and the reference voltage to an average value of a most recent N calibration iterations; wherein the calibration control circuit comprises: a calibration history circuit configured to store results for each iteration of the most recent N calibration iterations; and a calibration circuit configured to perform the periodic calibrations, wherein the calibration circuit is configured to, during performance of a calibration, cause multiple reads of data at a plurality of different values of the reference voltage. 2. The apparatus as recited in claim 1 , wherein the calibration history circuit comprises N entries, wherein N is an integer number, and wherein each of the N entries is configured to store calibration results for one of the most recent N calibration iterations. 3. The apparatus as recited in claim 1 , wherein the calibration control circuit further comprises a calibration averaging circuit configured to calculate an average of calibration results for each iteration of the most recent N calibration iterations. 4. The apparatus as recited in claim 1 , wherein the calibration circuit is further configured to, during performance of a calibration, cause multiple writes and reads of data at a plurality of different values of the delay. 5. A method comprising: performing, by a calibration circuit in a memory subsystem, periodic calibrations of a delay applied to the data strobe signal and a reference voltage used to distinguish a logic zero from a logic one in data read from a memory in a memory subsystem, wherein performing the periodic calibrations comprises the calibration circuit causing multiple reads of data at a plurality of different values of the reference voltage; and subsequent to performing each calibration, setting the delay and reference voltages to calculated average values based on a history of values that includes current calibrated values of the delay and the reference voltage. 6. The method as recited in claim 5 , further comprising storing, in a history buffer, results for each of a most recent N iterations of the periodic calibrations. 7. The method as recited in claim 6 , further comprising, subsequent to each iteration of the periodic calibrations, calculating an average value of each of the delay and the reference voltage based on the results stored in the history buffer. 8. The method as recited in claim 6 , further comprising, subsequent to each iteration of the periodic calibrations: storing results for a most recently performed calibration in the history buffer; and evicting oldest results from the history buffer. 9. The method as recited in claim 5 , wherein performing each calibration further comprises performing a plurality of writes to and a plurality of reads from the memory at different delay values. 10. A system comprising: a memory subsystem having a memory coupled to a memory controller, wherein the memory controller is configured to write data to the memory and read data from the memory, and wherein the memory controller includes: a calibration control unit comprising circuitry configured to perform periodic calibrations of a reference voltage and delay applied to a data strobe signal, wherein the data strobe signal is used to synchronize transfers of data between the memory controller and the memory, and wherein the reference voltage is used to distinguish a logic zero from a logic one in data read from the memory; wherein the calibration control unit is further configured to set the delay and the reference voltage to an average value of a most recent N iterations of the periodic calibrations; and wherein the calibration control unit includes a calibration circuit configured to perform each of the periodic calibrations, wherein the calibration circuit is configured to, during performance of a calibration, cause multiple reads of data at a plurality of different values of the reference voltage. 11. The system as recited in claim 10 , wherein the calibration circuit is configured to set the delay and reference voltage values subsequent to performing a periodic calibration. 12. The system as recited in claim 11 , wherein the calibration control unit includes a history buffer having N entries each configured to store calibration results for one of the most recent N iterations of the periodic calibrations, wherein subsequent to performing a calibration, the calibration control unit circuit is configured to: evict oldest results from the history buffer; and store results for a most recently performed calibration in the history buffer. 13. The system as recited in claim 12 , further comprising an averaging circuit configured to calculate average values of the delay and the reference voltage based on the calibration results stored in the history buffer, and further configured to convey the calculated average values to the calibration circuit. 14. The system as recited in claim 13 , wherein the calibration circuit is configured to set values for the delay and the reference voltage responsive to receiving updated average value from the averaging circuit. 15. The system as recited in claim 10 , wherein the calibration circuit is configured to, during performance of a calibration, cause multiple writes and reads of data at a plurality of different values of the delay.

Assignees

Inventors

Classifications

  • Timing circuits (for regeneration management G11C11/406) · CPC title

  • Input/output [I/O] data interface arrangements, e.g. data buffers · CPC title

  • being a memory bus · CPC title

  • Synchronisation and timing concerns (synchronisation on a memory bus G06F13/4234) · CPC title

  • Input synchronization · 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 US9666264B1 cover?
A method and apparatus for memory calibration averaging is disclosed. In one embodiment, a memory subsystem includes a memory and a memory controller. The memory controller includes a calibration control circuit that periodically performs calibrations of the memory subsystem. Calibration may be performed for a delay applied to a data strobe used to synchronized transfers of data between the mem…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G11C11/4076. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 30 2017 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).