A method for managing a cache of a non-volatile storage device, the method comprising: caching data on a non-volatile storage device using an index maintained by a storage layer of the non-volatile storage device, the index associating logical identifiers of a logical address space corresponding to a backing store with physical storage locations of the non-volatile storage device; and maintaining access metadata separate from the index indicating access frequency of logical identifiers within the logical address space; characterised in that the method further comprises: in response to a request to access data of a logical identifier corresponding to data that is not cached on the non-volatile storage device: determining an access metric of the logical identifier using the access metadata; and determining a sequentiality metric of the request to access the logical identifier, wherein the sequentiality metric indicates a likelihood that the request is part of a sequential data access; and admitting data associated with the logical identifier into the cache in response to the access metric satisfying an access threshold and the sequentiality metric satisfying a sequentiality threshold. caching data on a non-volatile storage device using an index maintained by a storage layer of the non-volatile storage device, the index associating logical identifiers of a logical address space corresponding to a backing store with physical storage locations of the non-volatile storage device; and maintaining access metadata separate from the index indicating access frequency of logical identifiers within the logical address space; characterised in that the method further comprises: in response to a request to access data of a logical identifier corresponding to data that is not cached on the non-volatile storage device: determining an access metric of the logical identifier using the access metadata; and determining a sequentiality metric of the request to access the logical identifier, wherein the sequentiality metric indicates a likelihood that the request is part of a sequential data access; and admitting data associated with the logical identifier into the cache in response to the access metric satisfying an access threshold and the sequentiality metric satisfying a sequentiality threshold. in response to a request to access data of a logical identifier corresponding to data that is not cached on the non-volatile storage device: determining an access metric of the logical identifier using the access metadata; and determining a sequentiality metric of the request to access the logical identifier, wherein the sequentiality metric indicates a likelihood that the request is part of a sequential data access; and determining an access metric of the logical identifier using the access metadata; and determining a sequentiality metric of the request to access the logical identifier, wherein the sequentiality metric indicates a likelihood that the request is part of a sequential data access; and admitting data associated with the logical identifier into the cache in response to the access metric satisfying an access threshold and the sequentiality metric satisfying a sequentiality threshold.