IP Library Granted Patent US 11,334,490
Granted Patent B2
US 11,334,490 · App. 16/879,749 · Granted May 17, 2022

Multi-value mapping for object store

Inventors: Vinod Kumar Daga (Santa Clara, CA); Vamsikrishna Sadhu (Santa Clara, CA); Angel Benedicto Aviles, Jr. (San Jose, CA); Vijaya Kumar Jakkula (San Jose, CA); Venkata Bhanu Prakash Gollapudi (Pleasanton, CA)
G06F12/0873G06F12/0692G06F12/0882G06F16/148G06F16/156G06F16/2246
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,334,490
App. No.
16/879,749
Granted
May 17, 2022
Kind
B2
Abstract

A method for mapping an object store may include storing a data entry within a mapping page for an object in the object store, wherein the data entry may include a key and a value, and the value may include an address for the object in the object store. The method may further include storing multiple data entries within the mapping page for multiple corresponding objects in the object store, wherein each data entry may include a key and one or more values for a corresponding object in the object store, and each value may include an address for the corresponding object in the object store. The data entries may be part of a mapping data structure which may include nodes, and each node may be stored within a mapping page.

Claims (58)

1. A method for mapping objects, the method comprising:

storing, by a processor, a data entry within a mapping page for an object in an object store;

wherein the data entry comprises a key and a first value for the object, and the first value for the object comprises one or more addresses for the object in the object store;

wherein the mapping page comprises a page of persistent storage; and

wherein the processor is configured to add a second value for the object in the data entry.

2. The method of claim 1 , wherein:

the one or more values comprises a first value, and the one or more addresses comprises a first address;

the object in the object store comprises a multi-value object; and

the one or more values comprises a second value, the second value comprising a second address for the object in the object store.

3. The method of claim 1 , wherein the mapping page is maintained in volatile memory during a run-time.

4. The method of claim 1 , wherein:

the data entry comprises a first data entry;

the object comprises a first object;

the method further comprises storing a second data entry within the mapping page for a second object in the object store;

the second data entry comprises a key and one or more values for the second object in the object store; and

the one or more values for the second object comprise one or more addresses in the object store.

5. The method of claim 4 , wherein:

the keys are stored in contiguous locations in a first region of the mapping page; and

the values are stored in contiguous locations in a second region of the mapping page.

6. The method of claim 5 , wherein the first and second regions are arranged to advance in opposite logical directions within the mapping page as keys and values are added to the mapping page.

7. The method of claim 4 , wherein the data entries are part of a mapping data structure.

8. The method of claim 7 , wherein:

the mapping data structure comprises nodes; and

at least one of the one or more nodes is stored within a mapping page.

9. The method of claim 8 , wherein:

a first one of the nodes comprises a data node; and

the data node comprises data entries for objects in the object store.

10. The method of claim 9 , wherein:

a second one of the nodes comprises an index node;

the index node comprises an index entry; and

the index entry comprises a key and a value, wherein the value of the index entry points to the data node.

11. The method of claim 10 , wherein:

the index node is a first index node, and the index entry is a first index entry;

a third one of the nodes comprises a second index node;

the second index node comprises a second index entry; and

the second index entry comprises a key and a value, wherein the value of the second index entry points to the first index node.

12. The method of claim 8 , wherein:

a first one of the nodes comprises a hybrid node; and

the hybrid node comprises a data entry for a corresponding object in the object store.

13. The method of claim 12 , wherein:

the hybrid node comprises an index entry; and

the index entry comprises a key and a value, wherein the value of the index entry points to a second one of the nodes.

14. The method of claim 7 , further comprising traversing the mapping data structure to access a data entry for a corresponding object in the object store.

15. A method for mapping objects, the method comprising:

maintaining, by a processor, a mapping data structure comprising one or more key-value entries;

wherein a first one of the one or more key-value entries comprises a data entry comprising a key and a first value for an object in an object store, the first value comprising one or more addresses for the object in the object store;

wherein the data entry is stored within a mapping page in persistent storage; and

wherein the processor is configured to add a second value for the object in the data entry.

16. The method of claim 15 , wherein:

the mapping data structure comprises a tree structure having one or more nodes; and

at least one of the one or more nodes is stored within a mapping page.

17. The method of claim 16 , wherein:

a second one of the one or more key value entries comprises an index entry comprising a key and a value, the value pointing to the mapping page in which the data entry is stored.

18. A mapping system for objects, the mapping system comprising:

a processor configured to store a data entry within a mapping page in persistent storage for an object in an object store;

wherein the data entry comprises a key and a first value for the object, and the first value comprises one or more addresses for the object in the object store; and

wherein the processor is configured to add a second value for the object in the data entry.

19. The mapping system of claim 18 , further comprising a paging manager configured to manage the mapping page.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2021
From: STELLUS TECHNOLOGIES, INC.
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 055122/0093 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2020
From: STELLUS TECHNOLOGIES, INC.
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 054798/0626 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2020
From: DAGA, VINOD KUMAR; SADHU, VAMSIKRISHNA; AVILES, ANGEL BENEDICTO, JR.; JAKKULA, VIJAYA KUMAR; GOLLAPUDI, VENKATA BHANU PRAKASH
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 054510/0474 →
Continuity (2)
Provisional Application 62958303 · Jan 7, 2020
Related Publication 20210209027A1 · Jul 8, 2021