Efficient TLP Management in FLIT Mode
AssigneeSanDisk Technologies LLC
InventorShay BENISTY
Life of this patent
Estimating the term…
Abstract
Flow control units (FLITs) are constrained by not allowing more than eight transaction layer packets (TLPs) within two, specific ranges. Multiple short TLPs may not fill an entire range and thus the range will need to be filled with no operation (NOP) TLPs. NOP TLPs are likely needed when multiple short TLPs are present in the FLIT. Taking the TLPs out of order solves the issue, or at least minimizes the number of NOP TLPs in the FLIT, by inserting longer TLPs into the FLIT. The TLPs taken out of order can be arranged so that a minimum amount of or even no NOP TLPs are in the FLIT. If there are not sufficient TLPs to fill the FLIT, then the FLIT will eventually be sent regardless of the number of NOP TLPs, but when there are numerous TLPs, reordering optimizes data transmission.
Claims20
A data storage device, comprising:
- a memory device;
- and
- a controller coupled to the memory device, wherein the controller is configured to:
- detect a burst of a first plurality of transaction layer packets (TLPs) that if transmitted in order would need one or more no operation (NOP) TLPs added thereto;
- reorder the first plurality of TLPs into a first group of TLPs for a first portion of a flow control unit (FLIT), wherein the first portion having the first group contains fewer available bytes compared to the burst;
- determine whether there is at least one available byte in the first portion of the FLIT after the reordering;
- and
- add one or more first NOP TLPs to the first portion of the FLIT if the determining results in at least one available byte in the first portion of the FLIT.
A data storage device, comprising:
- a memory device;
- and
- a controller coupled to the memory device, wherein the controller is configured to:
- receive transaction layer packets (TLPs) in a first order;
- reorder the TLPs into a second order that is different from the first order;
- place the reordered TLPs into a flow control unit (FLIT);
- and
- send the FLIT to a host device.
A data storage device, comprising:
- means for storing data;
- and
- a controller coupled to the means for storing data, wherein the controller is configured to:
- keep track of a flow control unit (FLIT) boundary for a FLIT;
- perform packet arbitration by reordering packets for the FLIT;
- determine whether one or more no operation (NOP) transaction layer packets (TLPs) need to be added to the FLIT;
- assemble the FLIT with the reordered packets;
- and
- send the FLIT to a host device.
Dependencies are inferred from the claim text.