NVMe SGL Bit Bucket Transfers
AssigneeWestern Digital Technologies, Inc.
InventorShay BENISTY
Life of this patent
Estimating the term…
Abstract
Embodiments generally relate to handling of NVMe scatter gather list bit bucket transfers by a data storage device. The data storage device transfers the data associated with the bit bucket transfers to a host or to a controller memory buffer of the data storage device. The data storage device can transfer the data associated with the bit bucket transfers to the host by modifying transaction layer packets (TLPs) to indicate to the host to ignore the data payload of the TLPs.
Claims20
A process of a device-to-host transfer of data using a scatter gather list (SGL) and including one or more bit bucket transfers, the process comprising:
- receiving the transfer command of the data;
- fetching a SGL descriptor associated with the data;
- determining whether the SGL descriptor is a SGL bit bucket descriptor or a SGL data block descriptor;
- generating a modified transaction layer packet (TLP) when the SGL descriptor is determined to be the SGL bit bucket descriptor, the modified TLP having an indication to a host to ignore a data payload of the modified TLP;
- and
- transferring the modified TLP to the host.
A data storage device, comprising:
- a host interface operable to interface with a host;
- a non-volatile memory;
- and
- a storage device controller, the storage device controller operable to:
- receive a transfer command of a data written to non-volatile memory, the transfer command using a scatter gather list (SGL) and including one or more bit bucket transfers;
- fetch an SGL descriptor associated with the data;
- determine whether the SGL descriptor is a SGL bit bucket descriptor or a SGL data block descriptor;
- generate a modified transaction layer packet (TLP) when the SGL descriptor is determined to be the SGL bit bucket descriptor, the modified TLP having an indication to the host to ignore a data payload of the modified TLP;
- and
- transfer the modified TLP to the host.
A data storage device, comprising:
- a host Peripheral Component Interface Express (PCIe) interface operable to interface with a device PCIe interface of a host;
- a non-volatile memory;
- and
- a NVM Express (NVMe) storage device controller means for transferring a data in response to a device-to-host transfer request using a scatter gather list (SGL) and involving one or more bit bucket transfers to a destination selected from a group consisting of a host memory buffer of the host, a controller memory buffer of the NVMe storage device controller means, and the device PCIe interface of the host, wherein the data comprises a modified memory write request transaction layer packet (TLP), and wherein the modified memory write request TLP comprises an indication to the host to ignore a data payload of the modified memory write request TLP.
Dependencies are inferred from the claim text.