IP Library Granted Patent US 11,567,865
Granted Patent B2
US 11,567,865 · App. 16/785,542 · Granted Jan 31, 2023

Methods and apparatus for persistent data structures

Inventors: Vamsikrishna Sadhu (Santa Clara, CA); Vinod Kumar Daga (Santa Clara, CA); Angel Benedicto Aviles, Jr. (San Jose, CA); Tejas Hunsur Krishna (Sunnyvale, CA)
G06F12/0646G06F12/0638G06F2212/1032
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,567,865
App. No.
16/785,542
Granted
Jan 31, 2023
Kind
B2
Abstract

A method may include storing at least a portion of a metadata buffer of a persistent data structure in volatile memory, and storing at least a portion of a data buffer of the persistent data structure in persistent memory. A system may include a processor, a volatile memory coupled to the processor, and a persistent memory coupled to the processor. The processor may be configured to execute procedures including storing at least a portion of a metadata buffer of a persistent data structure in volatile memory, and storing at least a portion of a data buffer of the persistent data structure in persistent memory. A method may include storing at least a portion of a transient part of a persistent data structure in volatile memory, and storing at least a portion of a persistent part of the persistent data structure in persistent memory.

Claims (42)

1. A method of storing data in a data processing system, the method comprising:

storing at least a portion of a metadata element of a persistent data structure in volatile memory; and

storing at least a portion of a data element of the persistent data structure in persistent memory;

wherein the metadata element comprises information to maintain at least one of an order or a consistency of the persistent data structure.

2. The method of claim 1 , wherein:

the portion of the metadata element stored in volatile memory is stored in a first container; and

the portion of the data element stored in persistent memory is stored in a second container that is independent of the first container.

3. The method of claim 1 , wherein the portion of the metadata element stored in volatile memory includes transient data.

4. The method of claim 3 , wherein the transient data comprises an in-memory link.

5. The method of claim 3 , wherein the transient data comprises the state of at least one of the metadata element or the data element.

6. The method of claim 3 , wherein the transient data comprises a page pointer.

7. The method of claim 1 , wherein the portion of the data element stored in persistent memory includes persistent state data.

8. The method of claim 7 , wherein the persistent state data comprises a journal.

9. The method of claim 1 , wherein the persistent data structure comprises a first persistent data structure, the metadata element comprises a first metadata element, and the data element comprises a first data element, the method further comprising:

storing at least a portion of a second metadata element of a second persistent data structure in volatile memory; and

storing at least a portion of a second data element of the second persistent data structure in persistent memory.

10. The method of claim 9 , further comprising:

maintaining a first link between the first metadata element and the first data element;

maintaining a second link between the second metadata element and the second data element; and

maintaining a third link between the first metadata element and the second metadata element.

11. The method of claim 1 , wherein the metadata element comprises a link from the metadata element to the data element.

12. A system comprising:

a processor;

a volatile memory coupled to the processor; and

a persistent memory coupled to the processor;

wherein the processor is configured to execute procedures comprising:

storing at least a portion of a metadata element of a persistent data structure in volatile memory; and

storing at least a portion of a data element of the persistent data structure in persistent memory; and

wherein the metadata element comprises an in-memory link.

13. The system of claim 12 , wherein the portion of the metadata element stored in volatile memory includes transient data.

14. The system of claim 12 , wherein the portion of the data element stored in persistent memory includes persistent state data.

15. The system of claim 12 , wherein the in-memory link comprises one or more of a previous link or a next link.

16. The system of claim 12 , wherein the in-memory link comprises one or more of a sibling link or a child link.

17. The system of claim 12 , wherein the in-memory link comprises a link to maintain a pending queue.

18. A method of storing a persistent data structure in a data processing system, the method comprising:

storing at least a portion of a transient part of the persistent data structure in volatile memory; and

storing at least a portion of a persistent part of the persistent data structure in persistent memory;

wherein the portion of the transient part of the persistent data structure comprises information to indicate a clean state of a buffer.

19. The method of claim 18 , wherein:

the transient part of the persistent data structure comprises a metadata element; and

the persistent part of the persistent data structure comprises a data element.

20. The method of claim 18 , wherein the transient part of the persistent data structure comprises state data.

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: SADHU, VAMSIKRISHNA; DAGA, VINOD KUMAR; AVILES, ANGEL BENEDICTO, JR.; HUNSUR KRISHNA, TEJAS
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 054510/0494 →
Continuity (2)
Provisional Application 62956193 · Dec 31, 2019
Related Publication 20210200674A1 · Jul 1, 2021