An apparatus for cache management operations to perform cache operations for a host system in a solid state drive, comprising: a cache memory comprising non-volatile memory, the cache memory to store data at addresses for a cache memory namespace; the apparatus being characterised by comprising a cache manager to: determine whether data for a requested storage address (200, 200 R) in a primary storage namespace received from the host system is stored at an address in the cache memory namespace to which the requested storage address maps according to a cache mapping scheme, wherein multiple of the storage addresses in the primary storage map to one address in the cache memory namespace; and return to the host system the data at the requested address stored in the cache memory namespace in response to determining that the data for the requested storage address is stored in the cache memory namespace receive, from the host system, data for a target storage address (200 W) of the primary storage namespace to add to the cache memory namespace; determine whether there is an available address in the cache memory namespace for the received data to which the storage address maps according to the cache mapping scheme; store the data for the target storage address in the determined available address in the cache memory namespace; return a message to the host system indicating that there is no available space in the cache memory namespace for the data at the target storage address; receive a delete request from the host system to delete data for an eviction storage address (200 E) in the primary storage different from the target storage address, wherein both the target storage address and the eviction storage address map to a same set of addresses in the cache memory namespace; determine an eviction address in the cache memory namespace having data for the eviction storage address; delete the data at the eviction address in the cache memory namespace; and write the data for the target storage address to the eviction address in the cache memory namespace. a cache memory comprising non-volatile memory, the cache memory to store data at addresses for a cache memory namespace; the apparatus being characterised by comprising a cache manager to: determine whether data for a requested storage address (200, 200 R) in a primary storage namespace received from the host system is stored at an address in the cache memory namespace to which the requested storage address maps according to a cache mapping scheme, wherein multiple of the storage addresses in the primary storage map to one address in the cache memory namespace; and return to the host system the data at the requested address stored in the cache memory namespace in response to determining that the data for the requested storage address is stored in the cache memory namespace receive, from the host system, data for a target storage address (200 W) of the primary storage namespace to add to the cache memory namespace; determine whether there is an available address in the cache memory namespace for the received data to which the storage address maps according to the cache mapping scheme; store the data for the target storage address in the determined available address in the cache memory namespace; return a message to the host system indicating that there is no available space in the cache memory namespace for the data at the target storage address; receive a delete request from the host system to delete data for an eviction storage address (200 E) in the primary storage different from the target storage address, wherein both the target storage address and the eviction storage address map to a same set of addresses in the cache memory namespace; determine an eviction address in the cache memory namespace having data for the eviction storage address; determine whether data for a requested storage address (200, 200 R) in a primary storage namespace received from the host system is stored at an address in the cache memory namespace to which the requested storage address maps according to a cache mapping scheme, wherein multiple of the storage addresses in the primary storage map to one address in the cache memory namespace; and return to the host system the data at the requested address stored in the cache memory namespace in response to determining that the data for the requested storage address is stored in the cache memory namespace receive, from the host system, data for a target storage address (200 W) of the primary storage namespace to add to the cache memory namespace; determine whether there is an available address in the cache memory namespace for the received data to which the storage address maps according to the cache mapping scheme; store the data for the target storage address in the determined available address in the cache memory namespace; return a message to the host system indicating that there is no available space in the cache memory namespace for the data at the target storage address; receive a delete request from the host system to delete data for an eviction storage address (200 E) in the primary storage different from the target storage address, wherein both the target storage address and the eviction storage address map to a same set of addresses in the cache memory namespace; determine an eviction address in the cache memory namespace having data for the eviction storage address; delete the data at the eviction address in the cache memory namespace; and write the data for the target storage address to the eviction address in the cache memory namespace.