1. A method comprising: in a data storage device that includes a controller and a non-volatile memory, performing by the controller: receiving a read command from an accessing device, wherein the read command includes a starting logical block address (LBA) of the non-volatile memory, a number of logical blocks to read (NLB), and a pointer to a scatter gather list (SGL); instructing the non-volatile memory to read a plurality of logical blocks from the non-volatile memory based on the starting LBA and the NLB; after instructing the non-volatile memory to read the plurality of logical blocks, retrieving the SGL based on the pointer; and transferring a subset of the plurality of logical blocks to the accessing device based on the SGL, wherein the SGL identifies at least one logical block, and wherein transferring the subset of the plurality of logical blocks comprises transferring at least one of the plurality of logical blocks, other than the at least one logical block, to the accessing device.