Network packet payload compression
First Claim
Patent Images
1. A network input/output (I/O) system comprising:
- a first hardware logic to receive an uncompressed packet payload and compress the uncompressed packet payload prior to storing the compressed packet payload in a storage device; and
a second hardware logic to decompress the stored packet payload based on one or more bits stored in a descriptor corresponding to the compressed packet payload, wherein the one or more stored bits indicate that the stored packet payload was previously compressed,wherein the descriptor is to comprise a compression type field to indicate a type of compression utilized by the first hardware logic to compress the uncompressed packet and the first hardware logic is to compress the uncompressed packet payload received from a cache coupled to a processor, wherein the cache comprises one or more of a level 1 (L1) cache, a level 2 (L2) cache, a mid-level cache (MLC), or a last level cache (LLC).
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus relating to network packet payload compression/decompression are described. In an embodiment, an uncompressed packet payload may be compressed before being transferred between various components of a computing system. For example, a packet payload may be compressed prior to transfer between network interface cards or controllers (NICs) and storage devices (e.g., including a main system memory and/or cache(s)), as well as between processors (or processor cores) and storage devices (e.g., including main system memory and/or caches). Other embodiments are also disclosed.
-
Citations
19 Claims
-
1. A network input/output (I/O) system comprising:
-
a first hardware logic to receive an uncompressed packet payload and compress the uncompressed packet payload prior to storing the compressed packet payload in a storage device; and a second hardware logic to decompress the stored packet payload based on one or more bits stored in a descriptor corresponding to the compressed packet payload, wherein the one or more stored bits indicate that the stored packet payload was previously compressed, wherein the descriptor is to comprise a compression type field to indicate a type of compression utilized by the first hardware logic to compress the uncompressed packet and the first hardware logic is to compress the uncompressed packet payload received from a cache coupled to a processor, wherein the cache comprises one or more of a level 1 (L1) cache, a level 2 (L2) cache, a mid-level cache (MLC), or a last level cache (LLC). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 14)
-
-
10. A method comprising:
-
receiving a packet payload; determining whether to compress or decompress the packet payload based on one or more bits in a stored descriptor associated with the packet payload; compressing or decompressing the packet payload in response to the determining, wherein the packet payload is to be received from a cache coupled to a processor and wherein the cache comprises one or more of a level 1 (L1) cache, a level 2 (L2) cache, a mid-level cache (MLC), or a last level cache (LLC); and storing the compressed or decompressed packet payload in a storage device. - View Dependent Claims (11, 12, 13, 15, 16)
-
-
17. A non-transitory computer-readable medium to store one or more instructions that when executed by a processor are to:
-
receive an uncompressed packet payload and compress the uncompressed packet payload prior to storing the compressed packet payload in a storage device; and decompress the stored packet payload based on one or more bits stored in a descriptor corresponding to the compressed packet payload, wherein the one or more stored bits indicate that the stored packet payload was previously compressed, wherein the descriptor is to comprise a compression type field to indicate a type of compression utilized to compress the uncompressed packet and wherein the uncompressed packet payload is to be received from a cache coupled to the processor, wherein the cache is to comprise one or more of a level 1 (L1) cache, a level 2 (L2) cache, a mid-level cache (MLC), or a last level cache (LLC). - View Dependent Claims (18, 19)
-
Specification