US9600191B2

Systems and methods for reordering packet transmissions in a scalable memory system protocol

Summary by NHIP

Packet Reordering Memory Device

The memory device performs data operations based on memory component types indicated in packet transaction window fields. It executes low-latency requests before high-latency requests and determines operation readiness by checking specific transaction windows.

Claim Score by NHIP

Read claim 23, the broadest

Abstract

A memory device includes a plurality of memory components that stores data and a processor communicatively coupled to the plurality of memory components. The processor may receive a plurality of packets associated with a plurality of data operations, such that each of the plurality of packets includes a transaction window field indicating a type of memory component associated with a respective data operation of the respective packet. The processor may also perform the plurality of data operations in a first order based on the type of memory component indicated in the transaction window field of each of the plurality of packets.

US9600191B2, drawing sheet 1
Sheet 1 of 12

Term

8.7 yearsleft in the term

Expires 28 May 2035.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

26 claims: 5 independent, 21 dependent

  1. 1
    A memory device comprising:a plurality of memory components configured to store data;a processor communicatively coupled to the plurality of memory components, wherein the processor is configured to: receive a plurality of packets associated with a plurality of data operations, wherein each of the plurality of packets comprises a transaction window field indicating a type of memory component associated with a respective data operation of the respective packet;and perform the plurality of data operations in an order based on the type of memory component indicated in the transaction window field of each of the plurality of packets.
  2. 9
    A system, comprising:a memory device comprising a processor;a receiving component communicatively coupled to the processor, wherein the receiving component is configured to: receive a plurality of packets from the processor, wherein the plurality of packets is transmitted in a first order;determine whether a plurality of data operations that corresponds to the plurality of packets should be performed in the first order based on availability of a memory component associated with the plurality of data operations;determine a second order to perform the data operations when the plurality of data operations should not be performed in the first order, wherein each of the plurality of packets is associated with a transaction window indicating a type of memory component associated with a respective data operation of the respective packet, and wherein the receiving component determines the second order by identifying a portion of the plurality of packets having a same transaction window;and send a reorder message comprising the second order to the memory processor.
  3. 16
    A method comprising:transmitting, via a processor, a plurality of packets to a receiving component configured to perform a plurality of data operations based on the plurality of packets;receiving, via the processor, a reorder message regarding a plurality of response packets being transmitted from the receiving component, wherein the reorder message is associated with a portion of the plurality of packets transmitted to the receiving component, wherein the processor has not received a response packet associated with any packet of the portion of plurality of packets;receiving, via the processor, the plurality of response packets from the receiving component;and associating, via the processor, each of the plurality of response packets with a corresponding packet of the portion of the plurality of packets.
  4. 19
    A system, comprising:a processor configured to generate a plurality of packets associated with a plurality of data operations;and a receiving component configured to: receive the plurality of packets from the processor, wherein the plurality of packets is received in a first order that corresponds to an order in which the plurality of data operations are to be performed;send a plurality of reorder messages when the plurality of data operations cannot be performed in the order;append each received packet of a portion of the plurality of packets with a sequence number when the plurality of reorder messages exceeds a threshold;generate a response packet for each received packet of the portion, wherein the response packet for each received packet of the portion comprises a respective sequence number;and transmit the response packet for each received packet of the portion to the processor.
  5. 23
    Broadest claimClaim Score 75, broad(NHIP)A tangible, non-transitory, machine-readable medium, comprising instructions configured to:receive a plurality of packets in a first order;determine whether a plurality of data operations that corresponds to the plurality of packets should be performed in the first order based on information regarding reordering preferences provided in each packet of the plurality of packets;determine a second order to perform the data operations when the plurality of data operations should not be performed in the first order;and send a reorder message comprising the second order to a processor that transmitted the plurality of packets.