IP Library › Granted Patent US 10,831,935
Granted Patent B2
US 10,831,935 · App. 16/116,772 · Granted Nov 10, 2020

Encryption management with host-side data reduction

Inventors: Kiron Vijayasankar (Santa Clara, CA); Alexandre Xavier Duchateau (San Mateo, CA); Constantine P. Sapuntzakis (Mountain View, CA); Yuval Frandzel (Foster City, CA)
Assignee: Pure Storage, Inc.
G06F21/78G06F3/064G06F3/067G06F3/0608G06F3/0623G06F3/0688G06F21/602G06F21/606G06F21/64H04L9/3239H04L63/0428H04L67/1097H04L69/04H04L2209/38
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,831,935
App. No.
16/116,772
Granted
Nov 10, 2020
Kind
B2
Abstract

A method of encryption management with host-side data reduction includes identifying data to be written to a storage array and compressing the data to generate compressed data. The method further includes encrypting the compressed data to generate an encrypted data packet. The method further includes adding, by a processing device of a host, a padding bit pattern to the encrypted data packet to generate a data block for storage. The method further includes sending the data block to the storage array.

Claims (39)

1. A method, comprising:

identifying data to be written to a storage array, the data having a first block size corresponding to a block-size requirement provided to a client device by the storage array;

compressing the data to generate compressed data;

encrypting the compressed data to generate an encrypted data packet;

adding, by a processing device of a host, a padding bit pattern to the encrypted data packet to generate a data block for storage, the data block having a second block size determined by a buffer size of the storage array; and

sending the data block to the storage array.

2. The method of claim 1 , wherein the encrypted data packet fills a first portion the data block, and wherein adding the padding bit pattern comprises filling a remaining portion of the data block.

3. The method of claim 2 , wherein the data block has a variable block size.

4. The method of claim 2 , wherein the data block has a block size of 4.5 kilobytes.

5. The method of claim 1 , further comprising adding metadata to the encrypted data packet, in addition to the padding bit pattern, to generate the data block for storage.

6. The method of claim 5 , wherein the metadata comprises a flag that indicates that the data is compressed.

7. The method of claim 5 , wherein the metadata comprises authentication data corresponding to the data.

8. The method of claim 5 , wherein the metadata comprises encryption information corresponding to the encrypted data packet.

9. The method of claim 5 , wherein the metadata comprises compression algorithm information corresponding to the compressed data.

10. A server, comprising:

a processing device to:

identify data to be written to one or more of a plurality of storage devices in a storage array, the data having a first block size corresponding to a block-size requirement provided to a client device by the storage array;

compress the data to generate compressed data;

encrypt the compressed data to generate an encrypted data packet;

add a padding bit pattern to the encrypted data packet to generate a data block for storage, the data block having a second block size determined by a buffer size of the storage array; and

send the data block to the storage array to be written to the one or more of the plurality of storage devices in the storage array.

11. The server of claim 10 , wherein the encrypted data packet fills a first portion the data block, and wherein to add the padding bit pattern the server is further to fill a remaining portion of the data block.

12. The server of claim 11 , wherein the data block has a variable block size.

13. The server of claim 11 , wherein the data block has a block size of 4.5 kilobytes.

14. The server of claim 10 , wherein the processing device is further to add metadata to the encrypted data packet, in addition to the padding bit pattern, to generate the data block for storage.

15. The server of claim 14 , wherein the metadata comprises a flag that indicates that the data is compressed and authentication data corresponding to the data.

16. The server of claim 14 , wherein the metadata comprises encryption information corresponding to the encrypted data packet.

17. The server of claim 14 , wherein the metadata comprises compression algorithm information corresponding to the compressed data.

18. A storage system comprising:

a storage array comprising one or more storage devices; and

a storage array controller coupled to the storage array, the storage array controller to:

receive a first request to write encrypted data to the storage array, wherein the request includes encryption information associated with the encrypted data, the encrypted data having a first block size corresponding to a block-size requirement provided to a client device by the storage array;

decrypt the encrypted data to generate decrypted data and store the decrypted data in the storage array, the decrypted data having a second block size determined by a buffer size of the storage array;

receive a request from a host to read the encrypted data from the storage array; and

in response to receiving the request:

encrypt the decrypted data from the storage array to generate re-encrypted data; and

provide the re-encrypted data to the host.

19. The storage system of claim 18 , wherein the encrypted data includes a padding bit pattern, and wherein the storage array controller is further to compress the padding bit pattern before storing the decrypted data in the storage array.

20. The storage system of claim 18 , wherein the encrypted data includes a padding bit pattern, and wherein to provide the re-encrypted data to the host the storage array controller is further to provide the re-encrypted data without the padding bit pattern.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2018
From: VIJAYASANKAR, KIRON; DUCHATEAU, ALEXANDRE XAVIER; SAPUNTZAKIS, CONSTANTINE P.; FRANDZEL, YUVAL
To: PURE STORAGE, INC.
Reel/Frame 046754/0344 →
Continuity (4)
Provisional Application 62651944 · Apr 3, 2018
Provisional Application 62609264 · Dec 21, 2017
Provisional Application 62552649 · Aug 31, 2017
Related Publication 20190065788A1 · Feb 28, 2019
Cited By (2)
US 12,316,617 US 12,619,693