IP Library Granted Patent US 11,704,035
Granted Patent B2
US 11,704,035 · App. 16/834,762 · Granted Jul 18, 2023

Unified storage on block containers

Inventors: Dirk Meister (Mountain View, CA); Matthew Paul Fay (Mountain View, CA); Subramaniam Periyagaram (Campbell, CA); Ronald Karr (Palo Alto, CA); David A. Grunwald (San Francisco, CA)
Assignee: Pure Storage, Inc.
G06F3/064G06F3/067G06F3/0608G06F3/0622G06F3/0631G06F3/0683G06F11/1464G06F2201/84
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,704,035
App. No.
16/834,762
Granted
Jul 18, 2023
Kind
B2
Abstract

An illustrative unified data storage method includes providing, by a data storage system, block containers that represent a linear address space of blocks; and using, by the data storage system, the block containers to store content for a plurality of different data storage services. In certain examples, the different data storage services include at least one of a file storage service, an object storage service, or a database service.

Claims (33)

1. A system comprising:

a memory storing instructions; and

a processor communicatively coupled to the memory and configured to execute the instructions to:

provide block containers that represent a linear address space of blocks; and

use the block containers to store content for a plurality of different data storage services comprising at least two of a file storage service, a block storage service, an object storage service, and a database service, wherein the at least two of the file storage service, the block storage service, the object storage service, and the database service share a block container, wherein the block containers are implemented using data structures that optimize a lifespan of flash storage as the block containers are updated with extending writes over time utilizing graphs of logical extents.

2. The system of claim 1 , wherein the block containers comprise a first type of block containers used to represent content for the file storage service and a second type of block containers used to represent content for the block storage service, the object storage service, or the data service.

3. The system of claim 2 , wherein the block containers support sharing of stored content across block containers of different types.

4. The system of claim 1 , wherein the block containers are configured to support snapshots, clones, replication, deduplication, compression, and encryption of the block containers.

5. The system of claim 1 , wherein the processor is configured to execute the instructions to:

provide the block containers by performing one or more operations comprising presenting handles for the block containers; and

use the block containers to store content by performing one or more operations comprising using the handles to write the content to the block containers and to read the content from the block containers.

6. The system of claim 1 , wherein the processor is configured to execute the instructions to use the block containers to store content by performing one or more operations comprising writing the content to one or more data stores operating as a bulk backend for the plurality of different data storage services.

7. The system of claim 1 , wherein the processor is configured to execute the instructions to virtually copy one or more of the block containers that are associated with one of the data storage services for use by another of the data storage services.

8. A data storage system comprising:

a memory storing instructions; and

a processor communicatively coupled to the memory and configured to execute the instructions to:

provide block containers that represent a linear address space of blocks; and

use the block containers to store content for a plurality of different data storage services that use different data storage protocols, the different data storage services comprising at least two of a file storage service, a block storage service, an object storage service, and a database service, wherein the at least two of the file storage service, the block storage service, the object storage service, and the database service share a block container, wherein the block containers are implemented using data structures that optimize a lifespan of flash storage as the block containers are updated with extending writes over time utilizing graphs of logical extents.

9. The system of claim 8 , wherein the different data storage services comprise the file storage service and the block storage service that share the block container.

10. The system of claim 8 , wherein the different data storage services comprise the file storage service and the object storage service that share the block container.

11. The system of claim 8 , wherein the different data storage services comprise the file storage service and the database service that share the block container.

12. The system of claim 8 , wherein the block containers are configured to support thin provisioning, snapshots, clones, replication, deduplication, compression, and encryption of the block containers.

13. A method comprising:

providing, by a data storage system, block containers that represent a linear address space of blocks; and

using, by the data storage system, the block containers to store content for a plurality of different data storage services comprising at least two of a file storage service, a block storage service, an object storage service, and a database service, wherein the at least two of the file storage service, the block storage service, the object storage service, and the database service share a block container, wherein the block containers are implemented using data structures that optimize a lifespan of flash storage as the block containers are updated with extending writes over time utilizing graphs of logical extents.

14. The method of claim 13 , wherein the block containers are configured to support snapshots, clones, replication, deduplication, compression, extension, and encryption of the block containers.

15. The method of claim 13 , wherein a change to content of the block container initiated by one of the file storage service, the block storage service, the object storage service, or the database service is inherited by another of the file storage service, the block storage service, the object storage service, or the database service.

16. The method of claim 13 , wherein multiple identities are provided for the block container, the multiple identities comprising a first identifier used by one of the file storage service, the block storage service, the object storage service, or the database service and a second identifier used by another of the file storage service, the block storage service, the object storage service, or the database service, the second identifier different from the first identifier.

17. The system of claim 1 , wherein the data structures are dynamically sized to represent data instances of various sizes, the data instances including a file that is represented by one of the block containers.

18. The method of claim 13 , further comprising using the graphs of logical extents to make copies of the block containers.

19. The method of claim 13 , further comprising using the graphs of logical extents to make snapshots of the block containers.

20. The method of claim 13 , wherein the graphs of logical extents support virtual range copies as part of an extended copy operation.

21. The method of claim 13 , wherein the graphs of logical extents comprise copy-on-write logical extents.

Assignments (3)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2020
From: MEISTER, DIRK; FAY, MATTHEW PAUL; PERIYAGARAM, SUBRAMANIAM; KARR, RONALD; GRUNWALD, DAVID A.
To: PURE STORAGE, INC., A DELAWARE CORPORATION
Reel/Frame 052264/0063 →
Continuity (1)
Related Publication 20210303155A1 · Sep 30, 2021