Memory mechanism for providing semaphore functionality in multi-master processing environment
US-2015378939-A1 · Dec 31, 2015 · US
US9515204B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9515204-B2 |
| Application number | US-201313804334-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 14, 2013 |
| Priority date | Aug 7, 2012 |
| Publication date | Dec 6, 2016 |
| Grant date | Dec 6, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A memory controller comprises a command interface to transmit a memory command to a plurality of memory devices associated with the memory controller. The memory controller also comprises an acknowledgement interface to receive an acknowledgment status packet from the plurality of memory devices over a shared acknowledgement link coupled between the memory controller and the plurality of memory devices, the acknowledgement status packet indicating whether the command was received by the plurality of memory devices. In addition, the memory controller comprises a memory controller core to decode the acknowledgment status packet to identify a portion of the acknowledgement status packet corresponding to each of the plurality of memory devices.
Opening claim text (preview).
What is claimed is: 1. A memory controller comprising: a command interface to transmit a memory command to a plurality of memory devices associated with the memory controller; an acknowledgement interface to receive an acknowledgment status packet from the plurality of memory devices over a shared acknowledgement link coupled between the memory controller component and the plurality of memory devices, wherein the acknowledgment status packet comprises a combination of a first acknowledgment packet code from a first memory device of the plurality of memory devices and a second acknowledgment packet code from a second memory device of the plurality of memory devices, wherein the first and second acknowledgment packet codes comprise a same number of bits but different values to identify the corresponding one of the first and second memory devices and whether the command was successfully received by the corresponding one of the first and second memory devices; and a memory controller core to decode the acknowledgment status packet to identify the acknowledgment packet code corresponding to the first and second memory devices. 2. The memory controller of claim 1 , wherein the acknowledgment status packet comprises a plurality of acknowledgement fields, each of the plurality of acknowledgment fields corresponding to one of the plurality of memory devices, wherein the plurality of acknowledgment fields are defined using different time slots in the acknowledgment status packet. 3. The memory controller of claim 2 , wherein each of the plurality of acknowledgment fields comprises a value to indicate a command status for a corresponding memory device, each value transmitted at a different time slot in the acknowledgment status packet. 4. The memory controller of claim 2 , wherein the acknowledgment status packet comprises a combination of acknowledgment status packets from the plurality of memory devices, wherein the combination is performed by a wired-OR connection. 5. The memory controller of claim 1 , wherein the combination is performed by a wired-OR connection. 6. The memory controller of claim 1 , wherein to decode the acknowledgment status packet, the memory controller core determines which acknowledgment packet code is associated with each of the plurality of memory devices. 7. The memory controller of claim 1 , wherein the plurality of memory devices comprise advanced random access memory (ARAM) devices. 8. A memory device comprising: a command interface to receive a memory command from a memory controller associated with the memory device; and an acknowledgment interface to generate and transmit an acknowledgment status packet to the memory controller over a shared acknowledgment link coupled between the memory controller and the memory device, wherein the acknowledgment link is shareable by a plurality of memory devices associated with the memory controller, wherein the acknowledgment status packet comprises a combination of a first acknowledgment packet code from a first memory device of the plurality of memory devices and a second acknowledgment packet code from a second memory device of the plurality of memory devices, wherein the first and second acknowledgment packet codes comprise a same number of bits but different values to identify the corresponding one of the first and second memory devices and whether the command was successfully received by the corresponding one of the first and second memory devices, and wherein the acknowledgment status packet generation and transmission is programmable based on the position of the memory device in the plurality of memory devices. 9. The memory device of claim 8 , wherein the acknowledgment status packet comprises a plurality of acknowledgement fields, each of the plurality of acknowledgment fields corresponding to one of the plurality of memory devices, wherein the plurality of acknowledgment fields are defined using different time slots in the acknowledgment status packet. 10. The memory device of claim 9 , wherein each of the plurality of acknowledgment fields comprises a value field to indicate a command status for a corresponding memory device, each value field transmitted at a corresponding one of the time slots in the acknowledgment status packet. 11. The memory device of claim 9 , wherein the acknowledgment status packets are framed by the memory device for transmission a variable number of integer command packet lengths after receipt of a command packet that is being acknowledges. 12. The memory device of claim 8 , wherein the combination is performed by a wired-OR connection. 13. The memory device of claim 8 , wherein to decode the acknowledgment status packet, the memory controller determines which acknowledgment packet code is associated with the first and second memory devices. 14. The memory device of claim 8 , wherein the plurality of memory devices comprise advanced random access memory (ARAM) devices. 15. A system comprising: a memory controller; a plurality of memory devices associated with the memory controller; and an interface operatively coupled between the memory controller and the plurality of memory devices, the interface comprising a shared acknowledgment link to transmit an acknowledgment status packet from the plurality of memory devices to the memory controller, wherein the plurality of memory devices transmit acknowledgment status information in the acknowledgment status packet in parallel, wherein the acknowledgment status packet comprises a combination of a first acknowledgment packet code from a first memory device of the plurality of memory devices and a second acknowledgment packet code from a second memory device of the plurality of memory devices, wherein the first acknowledgment packet codes comprise a same number of bits but different values to identify the corresponding one of the first and second memory devices and whether the command was successfully received by the corresponding one of the first and second memory devices. 16. The system of claim 15 , wherein the plurality of memory devices comprise a plurality of memory devices having a first rank and a plurality of memory devices having a second rank, and wherein the interface comprises a first acknowledgment link shared by the plurality of devices having the first rank and a second acknowledgment link shared by the plurality of devices having the second rank. 17. The system of claim 15 , wherein the acknowledgment packet codes each comprise a 3 bit value to indicate success, failure, or no operation of a command received from the memory controller. 18. The system of claim 17 , wherein to transmit a logic “1” in the acknowledgment packet codes, the plurality of memory devices pull the shared acknowledgment link down by a predetermined amount, and wherein to transmit a logic “0” in the acknowledgment packet codes, the plurality of memory devices do not pull the shared acknowledgment link down. 19. The system of claim 15 , wherein the acknowledgment status packet comprises a plurality of acknowledgement fields, each of the plurality of acknowledgment fields corresponding to one of the plurality of memory devices, wherein the plurality of acknowledgment fields are defined using different time slots in the acknowledgment status packet. 20. The system of claim 15 , wherein the memory controller decodes the acknowledgment status packet to identify the acknowledgment packet code corresponding to the first and second memory devices.
Controller construction arrangements · CPC title
using a time-dependent priority, e.g. individually loaded time counters or time slot · CPC title
using multiple buses · CPC title
Reducing size or complexity of storage systems · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.