IP Library Granted Patent US 12,373,337
Granted Patent B2
US 12,373,337 · App. 18/214,924 · Granted Jul 29, 2025

Method and system for in-memory metadata reduction in cloud storage system

Inventors: Yu Du (Hangzhou, CN); Rui Wang (Redmond, WA); Peng Xu (Milpitas, CA); Yikang Xu (Redmond, WA)
Assignee: Alibaba Group Holding Limited
G06F12/0246G06F12/0833G06F13/1668G06F2212/7201
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,373,337
App. No.
18/214,924
Granted
Jul 29, 2025
Kind
B2
Abstract

Methods and systems for in-memory metadata reduction in cloud storage system are provided. According to an aspect, a method comprises receiving a first command to write a data stream to a storage device; writing the data stream into a plurality of fragments having logical addresses corresponding to physical addresses on the storage device; and generating an index for individual fragment of the plurality of fragments, the index indicating information to locate the physical addresses of the individual fragment. Individual records in the individual fragment have a same pre-set logical size and all individual records in the individual fragment are continuous, and the index indicates the information including at least: an offset value of the individual record in the individual fragment; the pre-set logical size of the individual record; and a pre-set physical size of the individual record.

Claims (73)

1. A method comprising:

receiving a first command to write a data stream to a storage device;

writing the data stream into a plurality of fragments having logical addresses corresponding to physical addresses on the storage device; and

generating an index for an individual fragment of the plurality of fragments, the index indicating information to locate the physical addresses of the individual fragment, the individual fragment including a plurality of groups, an individual group having a same number of individual records and all individual records in the individual group being continuous.

2. The method of claim 1 , wherein individual records in the individual fragment have a same pre-set logical size and all individual records in the individual fragment are continuous.

3. The method of claim 2 , wherein the index indicates the information including at least:

an offset value of an individual record in the individual fragment;

a pre-set logical size of the individual record; and

a pre-set physical size of the individual record.

4. The method of claim 3 , further comprising:

receiving a second command to read the data stream from the storage device;

mapping the logical addresses of the plurality of fragments into the physical addresses based at least in part on the offset value of the individual record in the individual fragment, the pre-set logical size of the individual record, and the pre-set physical size of the individual record; and

read the data stream from the storage device according to the physical addresses of the plurality of fragments.

5. The method of claim 3 , further comprising:

receiving a third command to delete a portion of individual records from the individual fragment;

labeling the portion of individual records as invalid records; and

converting the index of the individual fragment to include a parameter associated with the invalid records.

6. The method of claim 5 , further comprising:

mapping the logical addresses of the plurality of fragments into the physical addresses based at least in part on the offset value of the individual record in the individual fragment, the pre-set logical size of the individual record, the pre-set physical size of the individual record, and the parameter associated with the invalid records.

7. The method of claim 1 , wherein the index indicates the information including at least:

a first offset value of an individual record in the individual fragment;

a group record count;

a pre-set logical size of the individual record;

a pre-set physical size of the individual record; and

second offset values associated with individual groups.

8. The method of claim 7 , further comprising:

mapping the logical addresses of the plurality of fragments into the physical addresses based at least in part on the first offset value of the individual record in the individual fragment, the group record count, the pre-set logical size of the individual record, the pre-set physical size of the individual record, and the second offset values associated with individual groups.

9. A system comprising:

one or more processors, and

memory communicatively coupled to the one or more processors, the memory storing computer-executable modules executable by the one or more processors that, when executed by the one or more processors, perform actions including:

receiving a first command to write a data stream to a storage device;

writing the data stream into a plurality of fragments having logical addresses corresponding to physical addresses on the storage device; and

generating an index for an individual fragment of the plurality of fragments, the index indicating information to locate the physical addresses of the individual fragment, the individual fragment including a plurality of groups, an individual group having a same number of individual records and all individual records in the individual group being continuous.

10. The system of claim 9 , wherein individual records in the individual fragment have a same pre-set logical size and all individual records in the individual fragment are continuous, and the index indicates the information including at least:

an offset value of an individual record in the individual fragment;

a pre-set logical size of the individual record; and

a pre-set physical size of the individual record.

11. The system of claim 10 , wherein the actions further comprises:

receiving a second command to read the data stream from the storage device;

mapping the logical addresses of the plurality of fragments into the physical addresses based at least in part on the offset value of the individual record in the individual fragment, the pre-set logical size of the individual record, and the pre-set physical size of the individual record; and

read the data stream from the storage device according to the physical addresses of the plurality of fragments.

12. The system of claim 10 , wherein the actions further comprises:

receiving a third command to delete a portion of individual records from the individual fragment;

labeling the portion of individual records as invalid records; and

converting the index of the individual fragment to include a parameter associated with the invalid records.

13. The system of claim 12 , wherein the actions further comprises:

mapping the logical addresses of the plurality of fragments into the physical addresses based at least in part on the offset value of the individual record in the individual fragment, the pre-set logical size of the individual record, the pre-set physical size of the individual record, and the parameter associated with the invalid records.

14. The system of claim 9 , wherein the index indicates the information including at least:

a first offset value of an individual record in the individual fragment;

a group record count;

a pre-set logical size of the individual record;

a pre-set physical size of the individual record; and

second offset values associated with individual groups.

15. One or more non-transitory computer-readable storage media storing computer-readable instructions executable by one or more processors of a video compression system, that when executed by the one or more processors, cause the one or more processors to perform actions comprising:

receiving a first command to write a data stream to a storage device;

writing the data stream into a plurality of fragments having logical addresses corresponding to physical addresses on the storage device; and

generating an index for an individual fragment of the plurality of fragments, the index indicating information to locate the physical addresses of the individual fragment, the individual fragment including a plurality of groups, an individual group having a same number of individual records and all individual records in the individual group being continuous.

16. The one or more non-transitory computer-readable storage media of claim 15 , wherein individual records in the individual fragment have a same pre-set logical size and all individual records in the individual fragment are continuous, and the index indicates the information including at least:

an offset value of an individual record in the individual fragment;

a pre-set logical size of the individual record; and

a pre-set physical size of the individual record.

17. The one or more non-transitory computer-readable storage media of claim 15 , wherein the actions further comprises:

receiving a third command to delete a portion of individual records from the individual fragment;

labeling the portion of individual records as invalid records; and

converting the index of the individual fragment to include a parameter associated with the invalid records.

18. The one or more non-transitory computer-readable storage media of claim 15 , wherein the index indicates the information including at least:

a first offset value of an individual record in the individual fragment;

a group record count;

a pre-set logical size of the individual record;

a pre-set physical size of the individual record; and

second offset values associated with individual groups.

19. The system of claim 9 , wherein individual records in the individual fragment have a same pre-set logical size and all individual records in the individual fragment are continuous.

20. The one or more non-transitory computer-readable storage media of claim 15 , wherein individual records in the individual fragment have a same pre-set logical size and all individual records in the individual fragment are continuous.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075499/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2024
From: DU, YU; WANG, RUI; XU, PENG; XU, YIKANG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 069124/0024 →
Continuity (1)
Related Publication 20230342293A1 · Oct 26, 2023
References Cited (18)
US 9965394B2 · Romanovskiy · 2018 [cited by applicant]
US 10102150B1 · Visvanathan et al. · 2018 [cited by applicant]
US 10558618B1 · Bent et al. · 2020 [cited by applicant]
US 11023318B1 · Volkov · 2021 [cited by examiner]
US 11036799B2 · Sengupta et al. · 2021 [cited by applicant]
US 11256720B1 · Hoffman · 2022 [cited by applicant]
US 20130024460A1 · Peterson et al. · 2013 [cited by applicant]
US 20170123714A1 · Smith · 2017 [cited by examiner]
US 20170286287A1 · Hady · 2017 [cited by examiner]
US 20170300424A1 · Beaverson · 2017 [cited by examiner]
US 20170357462A1 · Walker · 2017 [cited by examiner]
US 20200364197A1 · Larson · 2020 [cited by examiner]
US 20210255949A1 · Guda · 2021 [cited by examiner]
US 20220342610A1 · Nirmale et al. · 2022 [cited by applicant]
CN 107066393A · 2017 [cited by applicant]
CN 110187999A · 2019 [cited by applicant]
Yiu, Matt MT, Helen HW Chan, and Patrick PC Lee. “Erasure coding for small objects in in-memory KV storage.” Proceedings of the 10th ACM International Systems and Storage Conference. 2017. [cited by examiner]
International Search Report and Written Opinion for related PCT/CN2020/140152, dated Jul. 13, 2023, 5 pages. [cited by applicant]