A Data Storage Device, DSD, comprising: at least one memory (128, 150) for storing data; at least one cache memory (12, 18, 152) for caching data to be stored in the at least one memory; and a controller, characterised by further comprising an interface configured to connect the DSD directly with at least one sensing device (101, 102, 103, 104) that is separate from the controller, wherein the interface is configured to receive data from the at least one sensing device across a network without using a host, characterized in that the controller is configured to: receive data from a sensing device of the at least one sensing device for storage in the at least one memory; determine whether to cache the received data in the at least one cache memory based on at least one of the sensing device sending the data and information related to the received data; and wherein in determining whether to cache the received data, the controller is further configured to predict whether additional data will be received from the at least one sensing device within a certain period of time, based on a profile of one or more sensing devices of the at least one sensing device or a pattern of data previously received from the one or more sensing devices, to determine an expected size of the received data based on said prediction, and to determine where to cache the received data based on a comparison of said expected size of received data with a threshold. at least one memory (128, 150) for storing data; at least one cache memory (12, 18, 152) for caching data to be stored in the at least one memory; and a controller, characterised by further comprising an interface configured to connect the DSD directly with at least one sensing device (101, 102, 103, 104) that is separate from the controller, wherein the interface is configured to receive data from the at least one sensing device across a network without using a host, characterized in that the controller is configured to: receive data from a sensing device of the at least one sensing device for storage in the at least one memory; determine whether to cache the received data in the at least one cache memory based on at least one of the sensing device sending the data and information related to the received data; and wherein in determining whether to cache the received data, the controller is further configured to predict whether additional data will be received from the at least one sensing device within a certain period of time, based on a profile of one or more sensing devices of the at least one sensing device or a pattern of data previously received from the one or more sensing devices, to determine an expected size of the received data based on said prediction, and to determine where to cache the received data based on a comparison of said expected size of received data with a threshold. receive data from a sensing device of the at least one sensing device for storage in the at least one memory; determine whether to cache the received data in the at least one cache memory based on at least one of the sensing device sending the data and information related to the received data; and wherein in determining whether to cache the received data, the controller is further configured to predict whether additional data will be received from the at least one sensing device within a certain period of time, based on a profile of one or more sensing devices of the at least one sensing device or a pattern of data previously received from the one or more sensing devices, to determine an expected size of the received data based on said prediction, and to determine where to cache the received data based on a comparison of said expected size of received data with a threshold.