AGGREGATE INLINE DEDUPLICATION WITH VOLUME GRANULAR ENCRYPTION

Information

  • Patent Application
  • 20230297264
  • Publication Number
    20230297264
  • Date Filed
    May 26, 2023
    a year ago
  • Date Published
    September 21, 2023
    11 months ago
Abstract
Techniques are provided for aggregate inline deduplication and volume granularity encryption. For example, data that is exclusive to a volume of a tenant is encrypted using an exclusive encryption key accessible to the tenant. The exclusive encryption key of that tenant is inaccessible to other tenants. Shared data that has been deduplicated and shared between the volume and another volume of a different tenant is encrypted using a shared encryption key of the volume. The shared encryption key is made available to other tenants. In this way, data can be deduplicated across multiple volumes of different tenants of a storage environment, while maintaining security and data privacy at a volume level.
Description
Claims
  • 1. A method comprising: hosting a volume storing shared data that is referenced by a recipient volume and storing data exclusive to the volume and not shared with the recipient volume;receiving a delete command from a first tenant to delete the volume; andimplementing the delete command by: deleting the data exclusive to the volumedeleting an exclusive encryption key of the volume;marking the shared data for subsequent deletion; andmarking a shared encryption key of the volume for subsequent deletion.
  • 2. The method of claim 1, wherein the volume is a donor for the shared data of the volume, and wherein the volume is a recipient for data stored by a different volume and referenced by the volume.
  • 3. The method of claim 1, wherein the implementing the delete command comprises: deleting references within the volume to data stored by a different volume.
  • 4. The method of claim 3, wherein the implementing the delete command comprises: updating a fingerprint store to reflect that the volume has been deleted and no longer comprises the references.
  • 5. The method of claim 3, wherein the implementing the delete command comprises: updating a reference count to reflect that the volume has been deleted and no longer comprises the references.
  • 6. The method of claim 1, wherein the implementing the delete command comprises: updating a fingerprint store to reflect that the volume has been deleted and no longer comprises the data exclusive to the volume.
  • 7. The method of claim 1, wherein the implementing the delete command comprises: updating a reference count to reflect that the volume has been deleted and no longer comprises the data exclusive to the volume.
  • 8. A non-transitory machine readable medium comprising instructions, which when executed by a machine, causes the machine to: host a volume storing shared data that is referenced by a recipient volume and storing data exclusive to the volume and not shared with the recipient volume;receive a delete command from a first tenant to delete the volume; andimplement the delete command by: deleting the data exclusive to the volumedeleting an exclusive encryption key of the volume;marking the shared data for subsequent deletion; andmarking a shared encryption key of the volume for subsequent deletion.
  • 9. The non-transitory machine readable medium of claim 8, wherein the instructions cause the machine to: execute a scanner to identify and reassign the shared data of the volume to a new donor volume.
  • 10. The non-transitory machine readable medium of claim 9, wherein the instructions cause the machine to: utilizing, by the scanner, a reference count structure to identify the shared data based upon data block identifiers having reference counts greater than 1 indicating that at least one other volume references data blocks identified by the data block identifiers.
  • 11. The non-transitory machine readable medium of claim 9, wherein the instructions cause the machine to: decrypting, by the scanner, the shared data within the volume using the shared encryption key as decrypted shared data.
  • 12. The non-transitory machine readable medium of claim 11, wherein the instructions cause the machine to: re-encrypting, by the scanner, the decrypted shared data using a different shared encryption key of the new donor volume.
  • 13. The non-transitory machine readable medium of claim 12, wherein the instructions cause the machine to: in response to re-encrypted the decrypted shared data using the different shared encryption key, deleting the shared encrypted key.
  • 14. A computing device comprising: a memory comprising machine executable code; anda processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to: host a volume storing shared data that is referenced by a recipient volume and storing data exclusive to the volume and not shared with the recipient volume;receive a delete command from a first tenant to delete the volume; andimplement the delete command by: deleting the data exclusive to the volumedeleting an exclusive encryption key of the volume;marking the shared data for subsequent deletion; andmarking a shared encryption key of the volume for subsequent deletion.
  • 15. The computing device of claim 14, wherein the machine executable code causes the processor to: execute a scanner to identify and reassign the shared data of the volume to a new donor volume; andupdating a fingerprint store to reflect that the new donor volume comprises the shared data and that the shared data is no longer stored within the volume.
  • 16. The computing device of claim 14, wherein the machine executable code causes the processor to: execute a scanner to identify and reassign the shared data of the volume to a new donor volume; andupdating a reference count structure to reflect that the new donor volume comprises the shared data and that the shared data is no longer stored within the volume.
  • 17. The computing device of claim 14, wherein the machine executable code causes the processor to: execute a scanner to identify and reassign the shared data of the volume to a new donor volume, wherein the scanner is executed as a background process having lower execution priority than storage services of a storage environment hosting the volume.
  • 18. The computing device of claim 14, wherein the volume is a donor for the shared data of the volume, and wherein the volume is a recipient for data stored by a different volume and referenced by the volume.
  • 19. The computing device of claim 17, wherein the machine executable code causes the processor to: decrypt, by the scanner, the shared data within the volume using the shared encryption key as decrypted shared data.
  • 20. The computing device of claim 19, wherein the machine executable code causes the processor to: re-encrypt, by the scanner, the decrypted shared data using a different shared encryption key of the new donor volume.
Continuations (2)
Number Date Country
Parent 17676342 Feb 2022 US
Child 18324355 US
Parent 16354562 Mar 2019 US
Child 17676342 US