IP Library Granted Patent US 11,231,876
Granted Patent B2
US 11,231,876 · App. 16/581,127 · Granted Jan 25, 2022

Initial data placement in hybrid object storage system

Inventor: Sudhish Panamthanath Thankappan (Bangalore, IN)
Assignee: Western Digital Technologies, Inc.
G06F3/0659G06F3/0604G06F3/064G06F3/068
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,231,876
App. No.
16/581,127
Granted
Jan 25, 2022
Kind
B2
Abstract

An example system may provide for plurality of object block stores and a store management system. The store management system is configured to access a first bucket including a first storage class bucket tag identified by a first key-value pair corresponding to a first one of the plurality of object block stores with a first storage class. The store management system is further configured to write a first data object to the first one of the plurality of object block stores with a first storage class. The first one of the plurality of object block stores is represented by the first bucket. The first one of the plurality of object block stores is configured to store the first data object according to the first storage class specified by the first storage class bucket tag.

Claims (88)

1. A system, comprising:

a plurality of object block stores; and

a store management system configured to:

access a first bucket, wherein:

a first storage class bucket tag is associated with the first bucket;

the first storage class bucket tag contains a first key-value pair corresponding to a first storage class; and

the first bucket is configured to store data objects in at least one object block store of the plurality of object block stores with the first storage class;

assign a first data object to the first bucket;

determine, based on assigning the first data object to the first bucket, a first object block store from the at least one object block store of the plurality of object block stores with the first storage class; and

write the first data object to the first object block store of the plurality of object block stores with the first storage class.

2. The system of claim 1 , wherein the store management system is further configured to:

receive, at the store management system, the first key-value pair specifying a requirement of the first data object;

create the first bucket identified by the first storage class bucket tag; and

configure the first bucket to store data objects in the at least one object block store of the plurality of object block stores with the first storage class according to the requirement of the first data object.

3. The system of claim 1 , wherein the store management system is further configured to receive the first data object and a first store capability object tag specifying the first bucket and a first store capability.

4. The system of claim 3 , wherein:

the store management system is further configured to:

define a second bucket, wherein:

a second storage class bucket tag is associated with the second bucket;

the second storage class bucket tag includes a second key-value pair corresponding to a second storage class; and

the second bucket is configured to store data objects in at least one object block store of the plurality of object block stores with the second storage class;

assign a second data object to the second bucket;

determine, based on assigning the second data object to the second bucket, a second object block store from the at least one object block store of the plurality of object block stores with the second storage class; and

write the second data object to the second object block store.

5. The system of claim 4 , wherein the second data object further includes a second store capability object tag identified by the second key-value pair corresponding to the second storage class.

6. The system of claim 1 , wherein the plurality of object block stores with differing storage classes of the plurality of object block stores includes classes of one or more of:

an access speed of the plurality of object block stores;

a storage capacity of the plurality of object block stores;

a latency of the plurality of object block stores; and

a storage type of the plurality of object block stores.

7. The system of claim 1 , wherein the plurality of object block stores with differing storage classes of the plurality of object block stores includes capabilities of a solid-state drive (SSD) and a hard disk drive (HDD).

8. A computer-implemented method, comprising:

defining a first bucket in a store management system, wherein:

a first storage class bucket tag is associated with the first bucket;

the first storage class bucket tag contains a first key-value pair corresponding to a first storage class; and

the first bucket is configured to store data objects in at least one object block store of a plurality of object block stores with the first storage class;

assigning a first data object to the first bucket;

determining, based on assigning the first data object to the first bucket, a first object block store from the at least one object block store of the plurality of object block stores with the first storage class; and

writing the first data object to the first object block store.

9. The computer-implemented method of claim 8 , further comprising:

determining the first storage class bucket tag according to a first requirement of the first data object;

creating the first bucket in the store management system;

associating the first storage class bucket tag with the first bucket; and

configuring the first bucket to store data objects in the at least one object block store of the plurality of object block stores with the first storage class according to the first requirement of the first data object.

10. The computer-implemented method of claim 8 , wherein the first data object further includes a first store capability object tag identified by the first key-value pair.

11. The computer-implemented method of claim 10 , further comprising:

defining a second bucket in a store management system, wherein:

a second storage class bucket tag is associated with the second bucket;

the second storage class bucket tag contains a second key-value pair corresponding to a second storage class; and

the second bucket is configured to store data objects in at least one object block store of a plurality of object block stores with the second storage class;

assigning a second data object to the second bucket;

determining, based on assigning the second data object to the second bucket, a second object block store from the at least one object block store of the plurality of object block stores with the second storage class; and

writing the second data object to the second object block store.

12. The computer-implemented method of claim 11 , wherein the second data object further includes a second store capability object tag identified by the second key-value pair.

13. The computer-implemented method of claim 8 , wherein a plurality of differing storage classes of the plurality of object block stores includes classes of one or more of:

an access speed of the plurality of object block stores;

a storage capacity of the plurality of object block stores;

a latency of the plurality of object block stores; and

a storage type of the plurality of object block stores.

14. The computer-implemented method of claim 8 , wherein a plurality of differing storage classes of the plurality of object block stores includes capabilities of a solid-state drive (SSD) and a hard disk drive (HDD).

15. A system, comprising:

means for defining a first bucket in a store management system, wherein:

a first storage class bucket tag is associated with the first bucket;

the first storage class bucket tag contains a first key-value pair corresponding to a first storage class; and

the first bucket is configured to store data objects in at least one object block store of a plurality of object block stores with the first storage class;

means for assigning a first data object to the first bucket;

means for determining, based on assigning the first data object to the first bucket, a first object block store from the at least one object block store of the plurality of object block stores with the first storage class; and

means for writing the first data object to the first object block store.

16. The system of claim 15 , further comprising:

means for determining the first storage class bucket tag according to a first requirement of the first data object;

means for creating the first bucket in the store management system;

means for associating the first storage class bucket tag with the first bucket; and

means for configuring the first bucket to store data objects in the at least one object block store of the plurality of object block stores with the first storage class according to the first requirement of the first data object.

17. The system of claim 15 , wherein the first data object further includes a first store capability object tag identified by the first key-value pair.

18. The system of claim 17 , further comprising:

means for defining a second bucket in a store management system, wherein:

a second storage class bucket tag is associated with the second bucket;

the second storage class bucket tag contains a second key-value pair corresponding to a second storage class; and

the second bucket is configured to store data objects in at least one object block store of a plurality of object block stores with the second storage class;

means for assigning a second data object to the second bucket;

means for determining, based on assigning the second data object to the second bucket, a second object block store from the at least one object block store of the plurality of object block stores with the second storage class; and

means for writing the second data object to the second object block store.

19. The system of claim 18 , wherein the second data object further includes a second store capability object tag identified by the second key-value pair.

20. The system of claim 15 , wherein the plurality of object block stores with differing storage classes of the plurality of object block stores includes classes of one or more of:

an access speed of the plurality of object block stores;

a storage capacity of the plurality of object block stores;

a latency of the plurality of object block stores; and

a storage type of the plurality of object block stores.

Assignments (5)
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 051717 FRAME 0716 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058965/0385 →
SECURITY INTEREST Recorded Feb 4, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 051717/0716 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2019
From: THANKAPPAN, SUDHISH PANAMTHANATH
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 050656/0114 →