Receiving, at a storage array controller, a write instruction that includes a logical address and write data. Using the storage array controller to generate a fingerprint from the write data and sending, from the storage array controller to one or more recipient storage devices, a query that includes the fingerprint, wherein the query asks the recipient storage devices if the fingerprint is stored on any of the recipient storage devices.