IP Library › Granted Patent US 11,436,378
Granted Patent B2
US 11,436,378 · App. 16/943,843 · Granted Sep 6, 2022

Block-based compression

Inventors: Kiron Vijayasankar (Santa Clara, CA); Alexandre Xavier Duchateau (Bellevue, WA); Constantine P. Sapuntzakis (Mountain View, CA); Yuval Frandzel (Foster City, CA)
Assignee: Pure Storage, Inc.
G06F21/78G06F3/064G06F3/067G06F3/0608G06F3/0623G06F3/0661G06F3/0664G06F3/0673G06F3/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 11,436,378
App. No.
16/943,843
Filed
Jul 30, 2020
Granted
Sep 6, 2022
Kind
B2
Art Unit
2435
USPC
713/160
Abstract

A method includes compressing data to generate compressed data having a first block size corresponding to a block-size requirement of a client device. The method further includes encrypting the compressed data to generate an encrypted data packet. The method further includes adding, by a processing device, 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 a storage array.

Claims (32)

1. A method, comprising:

compressing data to generate compressed data having a first block size corresponding to a block-size requirement of a client device wherein the block-size requirement is provided to the client device by the storage array;

encrypting the compressed data to generate an encrypted data packet; and

adding, by a processing device, 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 a storage array.

2. The method of claim 1 , wherein the encrypted data packet fills a first portion of 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. An apparatus, comprising:

a memory to store data; and

a processing device, operatively coupled to the memory, the processing device to:

compress the data to generate compressed data having a first block size corresponding to a block-size requirement of a client device wherein the block-size requirement is provided to the client device by the storage array;

encrypt the compressed data to generate an encrypted data packet; and

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 a storage array.

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

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

13. The apparatus of claim 11 , the processing device further to add metadata to the encrypted data packet, in addition to the padding bit pattern, to generate the data block for storage.

14. The apparatus of claim 13 , wherein the metadata comprises a flag that indicates that the data is compressed.

15. The apparatus of claim 13 , wherein the metadata comprises authentication data corresponding to the data.

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

17. The apparatus of claim 13 , 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, operatively coupled to the storage array, the storage array controller to:

compress data to generate compressed data having a first block size corresponding to a block-size requirement of a client device wherein the block-size requirement is provided to the client device by the storage array;

encrypt the compressed data to generate an encrypted data packet; and

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.

19. The storage system of claim 18 , the storage array controller further to add metadata to the encrypted data packet, in addition to the padding bit pattern, to generate the data block for storage, wherein the metadata comprises encryption information corresponding to the encrypted data packet.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2020
From: VIJAYASANKAR, KIRON; DUCHATEAU, ALEXANDRE XAVIER; SAPUNTZAKIS, CONSTANTINE P.; FRANDZEL, YUVAL
To: PURE STORAGE, INC.
Reel/Frame 053360/0044 →
Continuity (5)
Continuation 16116772 · Aug 29, 2018
Provisional Application 62651944 · Apr 3, 2018
Provisional Application 62609264 · Dec 21, 2017
Provisional Application 62552649 · Aug 31, 2017
Related Publication 20200364379A1 · Nov 19, 2020
Cited By (1)
US 12,561,655