IP Library Granted Patent US 12,008,255
Granted Patent B2
US 12,008,255 · App. 17/538,385 · Granted Jun 11, 2024

Aligning variable sized compressed data to fixed sized storage blocks

Inventors: Ethan Miller (Santa Cruz, CA); John Colgrove (Los Altos, CA)
Assignee: PURE STORAGE, INC.
G06F3/0641G06F3/0608G06F3/0673G06F16/215G06F21/602H03M7/3095
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 12,008,255
App. No.
17/538,385
Granted
Jun 11, 2024
Kind
B2
Abstract

Preparing data for deduplication including: generating, by a storage system for a compressed data block, a padded compressed data block by padding the compressed data block to conform to a fixed block size, wherein the fixed block size is greater than a size of the compressed data block; storing, in the storage system, the padded compressed data block beginning at a block boundary of a storage device in the storage system; and performing block-based deduplication on the storage system, wherein the block-based deduplication determines whether the padded compressed data block matches one or more other padded compressed data blocks stored in the storage system.

Claims (39)

1. A method comprising:

generating a padded compressed data block by padding a previously compressed data block to conform to a fixed block size at which a storage system performs block-based deduplication, wherein the fixed block size is greater than a size of the compressed data block;

determining whether the padded compressed data block matches one or more other padded compressed data blocks stored in the storage system; and

in response to the determination:

store a reference to at least one of the one or more other padded compressed data blocks in response to the padded compressed data block matching the at least one of the one or more other padded compressed data blocks, or

apply a compression algorithm to the padded compressed data block in response to the padded compressed data block differing from the one or more other padded compressed data blocks.

2. The method of claim 1 , wherein the compressed data block is compressed using a variable-sized compression algorithm.

3. The method of claim 1 , wherein the compressed data block is padded using a repeating element.

4. The method of claim 1 , wherein the compressed data block is an encrypted compressed data block and wherein generating the padded compressed data block comprises padding the encrypted compressed data block.

5. The method of claim 1 , further comprising:

receiving, from another storage system, the compressed data block and an indication to pad the compressed block to the fixed block size.

6. The method of claim 5 , wherein performing deduplication on the storage system using the padded compressed data block comprises removing padding from the padded compressed data block.

7. An apparatus comprising:

a memory; and

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

generate a padded compressed data block by padding a previously compressed data block to conform to a fixed block size at which a storage system performs block-based deduplication, wherein the fixed block size is greater than a size of the compressed data block;

determine whether the padded compressed data block matches one or more other padded compressed data blocks stored in the storage system; and

in response to the determination:

store a reference to at least one of the one or more other padded compressed data blocks in response to the padded compressed data block matching the at least one of the one or more other padded compressed data blocks, or

apply a compression algorithm to the padded compressed data block in response to the padded compressed data block differing from the one or more other padded compressed data blocks.

8. The apparatus of claim 7 , wherein the compressed data block is compressed using a variable-sized compression algorithm.

9. The apparatus of claim 7 , wherein the compressed data block is padded using a repeating element.

10. The apparatus of claim 7 , wherein the compressed data block is an encrypted compressed data block and wherein generating the padded compressed data block comprises padding the encrypted compressed data block.

11. The apparatus of claim 7 , wherein the processing device is further configured to:

receive, from another storage system, the compressed data block and an indication to pad the compressed block to the fixed block size.

12. The apparatus of claim 11 , wherein performing deduplication on the storage system using the padded compressed data block comprises removing padding from the padded compressed data block.

13. A storage system comprising:

a plurality of storage devices; and

a processing device operatively coupled to the plurality of storage devices, configured to:

generate a padded compressed data block by padding a previously compressed data block to conform to a fixed block size at which the storage system performs block-based deduplication, wherein the fixed block size is greater than a size of the compressed data block;

determine whether the padded compressed data block matches one or more other padded compressed data blocks stored in the storage system; and

in response to the determination:

store a reference to at least one of the one or more other padded compressed data blocks in response to the padded compressed data block matching the at least one of the one or more other padded compressed data blocks, or

apply a compression algorithm to the padded compressed data block in response to the padded compressed data block differing from the one or more other padded data blocks.

14. The storage system of claim 13 , wherein the compressed data block is compressed using a variable-sized compression algorithm.

15. The storage system of claim 13 , wherein the compressed data block is padded using a repeating element.

16. The storage system of claim 13 , wherein the compressed data block is an encrypted compressed data block and wherein generating the padded compressed data block comprises padding the encrypted compressed data block.

17. The storage system of claim 13 , wherein the processing device is further configured to:

receive, from another storage system, the compressed data block and an indication to pad the compressed block to the fixed block size.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2021
From: MILLER, ETHAN; COLGROVE, JOHN
To: PURE STORAGE, INC.
Reel/Frame 058245/0328 →
Continuity (2)
Continuation 16373051 · Apr 2, 2019
Related Publication 20220091768A1 · Mar 24, 2022