1. A method, comprising: receiving, at a solid state device, a first read request from a host device communicatively coupled to the solid state device; retrieving, using a controller of the solid state device, a first compressed data chunk from the solid state device in response to the first read request; decompressing the first compressed data chunk to produce a first decompressed data chunk, wherein the first decompressed data chunk includes: one or more first decompressed data blocks responsive to the first read request; and one or more first decompressed data blocks not responsive to the first read request; returning, to the host device, the one or more first decompressed data blocks responsive to the first read request; caching one or more additional blocks of the first decompressed data chunk in a data buffer for subsequent read requests, wherein the one or more additional blocks include the one or more first decompressed data blocks not responsive to the first read request; receiving, at the solid state device, a second read request from the host device; determining that data for the second read request is in the data buffer; and returning, to the host device, a scatter/gather list responsive to the second read request.