1. A storage device comprising: a storage medium comprising non-volatile memory; one or more processing entities configured to: execute a deduplication module to detect duplicity of data; and execute a Redundant Array of Independent Disks (RAID) module to provide fault tolerance by spreading data and parity information across the non-volatile memory; and the storage device is further configured to perform a journaling function using a journaling module only once for the deduplication module and the RAID module for an access request to the storage medium on the storage device; and perform a mapping function using a mapping module only once for the deduplication module and the RAID module for the access request to the storage medium on the storage device.