A Data Storage Device, DSD, comprising: at least one memory (128, 140, 150) for storing data; and a first cache memory located in a first storage medium of the DSD; characterized by: a second cache memory (12, 18) located in a second storage medium (128, 140) of the DSD, wherein the first cache memory and the second cache memory are for caching data to be stored in the at least one memory; and a controller configured to: receive data from a sensing device of at least one sensing device (101, 102, 103, 104), the received data being for storage in the at least one memory, wherein the sensing device (101, 102, 103, 104) communicates with the DSD without using a host; determine whether or not to cache the received data based on at least one of the sensing device sending the data and information related to the received data; and select the first cache memory or the second cache memory for caching the received data based on a profile for the sensing device sending the data, the profile being provided in a device table stored in the at least one memory (128, 140, 150). at least one memory (128, 140, 150) for storing data; and a first cache memory located in a first storage medium of the DSD; characterized by: a second cache memory (12, 18) located in a second storage medium (128, 140) of the DSD, wherein the first cache memory and the second cache memory are for caching data to be stored in the at least one memory; and a controller configured to: receive data from a sensing device of at least one sensing device (101, 102, 103, 104), the received data being for storage in the at least one memory, wherein the sensing device (101, 102, 103, 104) communicates with the DSD without using a host; determine whether or not to cache the received data based on at least one of the sensing device sending the data and information related to the received data; and select the first cache memory or the second cache memory for caching the received data based on a profile for the sensing device sending the data, the profile being provided in a device table stored in the at least one memory (128, 140, 150). a second cache memory (12, 18) located in a second storage medium (128, 140) of the DSD, wherein the first cache memory and the second cache memory are for caching data to be stored in the at least one memory; and a controller configured to: receive data from a sensing device of at least one sensing device (101, 102, 103, 104), the received data being for storage in the at least one memory, wherein the sensing device (101, 102, 103, 104) communicates with the DSD without using a host; determine whether or not to cache the received data based on at least one of the sensing device sending the data and information related to the received data; and select the first cache memory or the second cache memory for caching the received data based on a profile for the sensing device sending the data, the profile being provided in a device table stored in the at least one memory (128, 140, 150). receive data from a sensing device of at least one sensing device (101, 102, 103, 104), the received data being for storage in the at least one memory, wherein the sensing device (101, 102, 103, 104) communicates with the DSD without using a host; determine whether or not to cache the received data based on at least one of the sensing device sending the data and information related to the received data; and select the first cache memory or the second cache memory for caching the received data based on a profile for the sensing device sending the data, the profile being provided in a device table stored in the at least one memory (128, 140, 150).