Memory channels calibration during boot wherein channels are calibrated in parallel based on identifers

US11527269B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11527269-B2
Application numberUS-201916716616-A
CountryUS
Kind codeB2
Filing dateDec 17, 2019
Priority dateDec 17, 2019
Publication dateDec 13, 2022
Grant dateDec 13, 2022

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.

In an embodiment, a system includes an energy source and an integrated circuit that is coupled to one or more memory devices via a plurality of memory channels. A memory controller in the integrated circuit is programmable with a plurality of identifiers corresponding to the plurality of channels, and is further programmable with a command and a first identifier associated with the command. Responsive to the command, the memory controller is configured to perform one or more calibrations on a subset of the plurality of channels for which corresponding identifiers of the plurality of identifiers match the first identifier. Other ones of the plurality of channels, for which the corresponding identifiers do not match the first identifier, do not perform the calibration.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: reading a charge state from an energy source in an electronic device during boot of the electronic device; determining a number of a plurality of memory channels to calibrate in parallel based on the charge state; triggering a calibration on the number of the plurality of memory channels in parallel while a remaining number of the plurality of memory channels are idle; and repeating the reading, determining, and triggering for one or more additional iterations until the plurality of memory channels are calibrated, wherein triggering the calibration comprises: programming selected channels of the plurality of memory channels to be calibrated in parallel with an identifier, wherein non-selected channels of the plurality of memory channels are not programmed with the identifier; writing a command including the identifier to a memory controller that includes the plurality of memory channels; and broadcasting the command with the identifier by the memory controller to control circuitry associated with the plurality of memory channels. 2. The method as recited in claim 1 wherein the number of the plurality of memory channels on a first iteration and the number of the plurality of memory channels on a second iteration differ when the charge state differs. 3. The method as recited in claim 1 further comprising: comparing the identifier to a first identifier programmed into a first channel of the plurality of memory channels by a first control circuit associated with the first channel. 4. The method as recited in claim 3 further comprising: performing the calibration responsive to a match in the comparing; and responding with a result of the calibration responsive to completing the calibration. 5. The method as recited in claim 3 further comprising responding with an identifier mismatch indication responsive to a mismatch in the comparing. 6. A memory controller comprising: a control circuit comprising a command register; and a plurality of channel control circuits coupled to the control circuit, wherein: a given channel control circuit of the plurality of channel control circuits includes an identifier register, the given channel control circuit is coupled to a memory channel to a memory during use, the identifier register is programmable with a first identifier, the command register is programmable with a command and a second identifier, the control circuit is configured to broadcast the command and the second identifier to the plurality of channel control circuits, and the given channel control circuit is configured to perform a calibration on the memory channel responsive to the command and the second identifier matching the first identifier. 7. The memory controller as recited in claim 6 wherein the given channel control circuit is configured not to perform the calibration responsive to the command and the second identifier mismatching the first identifier. 8. The memory controller as recited in claim 7 wherein the given channel control circuit is configured to respond to the command with an identifier mismatch response responsive to the second identifier mismatching the first identifier. 9. The memory controller as recited in claim 8 wherein the given channel control circuit is configured to respond to the command with a result of the calibration. 10. The memory controller as recited in claim 9 wherein the control circuit is configured to collect responses from the plurality of channel control circuits and generate a composite response from the responses, wherein the control circuit is configured to write the composite response to the command register. 11. The memory controller as recited in claim 10 wherein the command register includes a first indication to cause the control circuit to perform the command, wherein the control circuit is configured to broadcast the command to the plurality of channel control circuits responsive to the first indication. 12. The memory controller as recited in claim 11 wherein the control circuit is configured to change the first indication responsive to writing the composite response to the command register to indicate that the command is complete. 13. The memory controller as recited in claim 10 wherein the composite response is error responsive to the response from at least one of the plurality of channel control circuits indicating error. 14. The memory controller as recited in claim 13 wherein the composite response is complete responsive to none of the responses from the plurality of channel control circuits indicating error. 15. The memory controller as recited in claim 6 wherein the plurality of channel control circuits are configured to perform the calibration in parallel responsive to the command and the second identifier having a predetermined value that is not matched to the first identifier. 16. A system comprising: an energy source; a power management unit coupled to the energy source; one or more memory devices; and an integrated circuit coupled to the power management unit, wherein the integrated circuit includes a plurality of channels coupled to the one or more memory devices, and wherein the integrated circuit comprises a memory controller coupled to the plurality of channels, wherein the memory controller is programmable with a plurality of identifiers corresponding to the plurality of channels, and wherein the memory controller is programmable with a command specifying one or more calibrations to be performed and a first identifier, wherein the memory controller is configured to broadcast the command and the first identifier to a plurality of channel control circuits coupled to the plurality of channels, and wherein the plurality of channel control circuits are configured to perform the one or more calibrations on a subset of the plurality of channels for which the first identifier matches a corresponding one of the plurality of identifiers while remaining ones of the plurality of channels that are not in the subset do not perform the calibration. 17. The system as recited in claim 16 wherein the integrated circuit includes at least one processor configured to execute a plurality of instructions to program the memory controller and to communicate with the power management unit to determine a charge state in the energy source to program the plurality of identifiers. 18. The system as recited in claim 16 wherein the energy source comprises a battery. 19. The system as recited in claim 16 wherein a given channel control circuit of the plurality of channel control circuits is configured to respond to the command with a result of the calibration based on a match between the first identifier and a corresponding identifier of the plurality of identifiers, and wherein the given channel control circuit is configured to respond to the command with an identifier mismatch response based on the first identifier mismatching with the corresponding identifier. 20. The system as recited in claim 19 wherein the given channel control circuit is configured to collect responses from the plurality of channel control circuits and generate a composite response from the responses, wherein the composite response is error responsive to the response from at least one of the plurality of channel control circuits indicating error, and wherein the composite response is complete responsive to none of the responses from the plurality of channel control circuits indicating error.

Assignees

Inventors

Classifications

  • G11C5/148Primary

    Details of power up or power down circuits, standby circuits or recovery circuits · CPC title

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

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • Calibration · 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 US11527269B2 cover?
In an embodiment, a system includes an energy source and an integrated circuit that is coupled to one or more memory devices via a plurality of memory channels. A memory controller in the integrated circuit is programmable with a plurality of identifiers corresponding to the plurality of channels, and is further programmable with a command and a first identifier associated with the command. Res…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G11C5/148. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 13 2022 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).