1. A method for transferring data between a data storage device and a host device, the data storage device storing data blocks on a data storage medium, the method comprising: receiving a file level request from the host device, the file level request associated with a host level file corresponding to a selected number of the data blocks on the storage medium; using the data storage device to identify at least one characteristic of the file level request relating to a content of said data blocks; and performing a deterministic caching operation by converting the file level request into a number of block oriented access commands to access the selected number of data blocks, assigning a sort priority to each said block oriented access command in relation to the at least one identified characteristic, and executing the number of block oriented access commands in an order determined by the assigned sort priorities.