IP Library Granted Patent US 12,468,469
Granted Patent B2
US 12,468,469 · App. 18/684,927 · Granted Nov 11, 2025

Data processing method and system, device, storage system and medium based on access units with different data capacities

Inventors: Peng Xu (Hangzhou, CN); Zhongjie Wu (Beijing, CN); Yu Du (Shanghai, CN)
Assignee: HANGZHOU ALICLOUD FEITIAN INFORMATION TECHNOLOGY CO., LTD.
G06F3/0644G06F3/0604G06F3/0679
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,468,469
App. No.
18/684,927
Granted
Nov 11, 2025
Kind
B2
Abstract

Embodiments of the present disclosure provide a data processing method and system, a device, a storage system, and a medium. The data processing method includes: receiving a logic address corresponding to data to be processed; storing the logic address as a first access unit in a first storage pool; and in a case that the quantity of the stored first access units in the first storage pool meets a requirement, combining a plurality of first access units into a logic address group and storing the logic address group as a second access unit in a second storage pool so as to process the data based on the second access unit.

Claims (77)

1 . A data processing method, comprising:

receiving a logical address corresponding to data to be processed;

storing the logical address into a first storage pool as a first access unit;

determining a mapping relationship between a physical address of the data to be processed and the logical address, after storing the logical address to the first access unit;

based on the mapping relationship and a data capacity of the first access unit, generating a first mapping table corresponding to the first access unit;

combining, according to a data capacity of a second access unit, a plurality of logical addresses of a plurality of first access units into a logic address group and storing the logic address group into a second storage pool as the second access unit so as to process the data based on the second access unit in a case that a quantity of the stored first access units in the first storage pool meets a requirement;

generating, based on the data capacity of the second access unit, a second mapping table corresponding to the second access unit.

2 . The method of claim 1 , wherein the storing the logical address into the first storage pool as the first access unit comprises:

storing the logical address corresponding to the data to be processed to the first access unit;

determining a sequential stream identifier of the logical address and a first unit order of the first access units;

forming the plurality of first access units into a first logical block based on the first unit order; and

storing a plurality of first logical blocks into the first storage pool.

3 . The method of claim 1 , wherein the combining the plurality of first access units into the logic address group and storing the logic address group into the second storage pool as the second access unit so as to process the data based on the second access unit in the case that the quantity of the stored first access units in the first storage pool meets the requirement, comprises:

if a data amount of the logical addresses in the first storage pool is greater than a first threshold; or if a data amount of the first access units is an integer multiple of the data capacity of one of the second access units,

combining a plurality of first access units into a logical address group and storing the logical address group into the second storage pool as the second access unit so as to process data based on the second access unit.

4 . The method of claim 2 , wherein the combining the plurality of first access units into the logical address group and storing the logical address group into the second storage pool as the second access unit comprises:

sequentially combining the logical addresses into the logical address group according to the sequential stream identifiers of the logical addresses in the first access units and taking the logical address group as the second access unit; and

storing a second logical block constituted by the second access unit into in the second storage pool.

5 . The method of claim 4 , wherein the sequentially combining the logical addresses into the logical address group according to the sequential stream identifiers of the logical addresses in the first access unit and taking the logical address group as the second access unit comprises:

if a plurality of first access units are respectively stored in a plurality of first logical blocks, respectively obtaining the sequential stream identifiers of the logical addresses in the plurality of first logical units;

grouping and combining the logical addresses according to the data capacity of the second access unit based on an order of the sequential stream identifiers; and

generating the second access unit.

6 . The method of claim 4 , further comprising:

after storing the second logical block constituted by the second access unit into in the second storage pool,

determining a plurality of first mapping tables corresponding to the plurality of first access units for combining the second access unit;

deleting the plurality of first mapping tables from the first storage pool; and

generating the second mapping table corresponding to the second access unit based on the mapping relationship contained in the plurality of first mapping tables.

7 . The method of claim 6 , wherein the deleting the plurality of first mapping tables from the first storage pool comprises:

determining a first logical block marked as a deleted state and the corresponding plurality of first mapping tables; and

determining a recoverable first logical block in the first storage pool according to the first logical block marked as the deleted state and the corresponding plurality of first mapping tables and performing a garbage collection on the recoverable first logical block so as to delete the plurality of first mapping tables from the first storage pool.

8 . The method of claim 1 , further comprising:

if a data amount of the logical addresses in the first storage pool is smaller than the data capacity of the second access unit, waiting for the host to send a logical address corresponding to new data to be processed.

9 . The method of claim 1 , wherein a flash memory cell density of the second storage pool is greater than that of the first storage pool.

10 . A data processing system, comprising:

a first storage pool for; receiving a logical address corresponding to data to be processed; storing the logical address as a first access unit; determining a mapping relationship between a physical address of the data to be processed and the logical address, after storing the logical address to the first access unit; based on the mapping relationship and a data capacity of the first access unit, generating a first mapping table corresponding to the first access unit; combining, according to a data capacity of a second access unit, a plurality of logical addresses of a plurality of first access units into a logic address group and storing the logic address group into a second storage pool as the second access unit in a case that a quantity of the stored first access units meets a requirement; and

the second storage pool for storing the second access unit obtained by combining logical addresses in the plurality of first access units and processing data based on the second access unit, and generating, based on the data capacity of the second access unit, a second mapping table corresponding to the second access unit.

11 . An electronic device, comprising: a memory and a processor;

the memory comprises: a non-solid state drive and a solid state drive, wherein the non-solid state drive stores a data processing program, and the solid state drive is configured to store data to be processed;

the processor is coupled to the memory and configured to execute the data processing program to:

receive a logical address corresponding to data to be processed sent by a host;

store the logical address into a first storage pool as a first access unit;

determine a mapping relationship between a physical address of the data to be processed and the logical address, after storing the logical address to the first access unit;

based on the mapping relationship and a data capacity of the first access unit, generate a first mapping table corresponding to the first access unit;

combine, according to a data capacity of a second access unit, a plurality of logical addresses of a plurality of first access units into a logic address group and store the logic address group into a second storage pool as the second access unit so as to process the data based on the second access unit in a case that a quantity of the stored first access units in the first storage pool meets a requirement;

generate, based on the data capacity of the second access unit, a second mapping table corresponding to the second access unit.

12 . A solid state drive-based storage system, comprising: a host and a solid state drive mounted on the host;

the solid state drive is configured to:

receive a logical address corresponding to data to be processed sent by the host;

store the logical address into a first storage pool as a first access unit;

determine a mapping relationship between a physical address of the data to be processed and the logical address, after storing the logical address to the first access unit;

based on the mapping relationship and a data capacity of the first access unit, generate a first mapping table corresponding to the first access unit;

combine, according to a data capacity of a second access unit, a plurality of logical addresses of a plurality of first access units into a logic address group and store the logic address group into a second storage pool as the second access unit so as to process the data based on the second access unit in a case that a quantity of the stored first access units in the first storage pool meets a requirement;

generate, based on the data capacity of the second access unit, a second mapping table corresponding to the second access unit.

13 . A non-transitory computer-readable medium having stored thereon at least one instruction, at least one program, a set of codes or a set of instructions, wherein the at least one instruction, the at least one program, the set of codes or the set of instructions is loaded and executed by a processor to implement the method of claim 1 .

14 . The non-transitory computer-readable medium of claim 13 , wherein the storing the logical address into the first storage pool as the first access unit comprises:

storing the logical address corresponding to the data to be processed to the first access unit;

determining a sequential stream identifier of the logical address and a first unit order of the first access units;

forming the plurality of first access units into a first logical block based on the first unit order; and

storing a plurality of first logical blocks into the first storage pool.

15 . The non-transitory computer-readable medium of claim 14 , further comprising: after the storing the logical address corresponding to the data to be processed to the first access unit,

determining a mapping relationship between a physical address of the data to be processed and the logical address; and

based on the mapping relationship, generating a first mapping table corresponding to the first access unit.

16 . The non-transitory computer-readable medium of claim 13 , wherein the combining the plurality of first access units into the logic address group and storing the logic address group into the second storage pool as the second access unit so as to process the data based on the second access unit in the case that the quantity of the stored first access units in the first storage pool meets the requirement, comprises:

if a data amount of the logical addresses in the first storage pool is greater than a first threshold; or if a data amount of the first access units is an integer multiple of the data capacity of one of the second access units,

combining a plurality of first access units into a logical address group and storing the logical address group into the second storage pool as the second access unit so as to process data based on the second access unit.

17 . The non-transitory computer-readable medium of claim 16 , wherein the combining the plurality of first access units into the logical address group and storing the logical address group into the second storage pool as the second access unit comprises:

sequentially combining the logical addresses into the logical address group according to the sequential stream identifiers of the logical addresses in the first access unit and taking the logical address group as the second access unit; and

storing a second logical block constituted by the second access unit into in the second storage pool.

18 . The non-transitory computer-readable medium of claim 17 , wherein the sequentially combining the logical addresses into the logical address group according to the sequential stream identifiers of the logical addresses in the first access unit and taking the logical address group as the second access unit comprises:

if a plurality of first access units are respectively stored in a plurality of first logical blocks, respectively obtaining the sequential stream identifiers of the logical addresses in the plurality of first logical units;

grouping and combining the logical addresses according to the data capacity of the second access unit based on an order of the sequential stream identifiers; and

generating the second access unit.

19 . The non-transitory computer-readable medium of claim 17 , further comprising:

after storing the second logical block constituted by the second access unit into in the second storage pool,

determining a plurality of first mapping tables corresponding to the plurality of first access units for combining the second access unit;

deleting the plurality of first mapping tables from the first storage pool; and

generating a second mapping table corresponding to the second access unit based on the mapping relationship contained in the plurality of first mapping tables.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2026
From: HANGZHOU ALICLOUD FEITIAN INFORMATION TECHNOLOGY CO., LTD.
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075366/0376 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2024
From: XU, PENG; WU, ZHONGJIE; DU, YU
To: HANGZHOU ALICLOUD FEITIAN INFORMATION TECHNOLOGY CO., LTD.
Reel/Frame 068211/0627 →
Priority Claims (1)
CN 202111600004.X · Dec 24, 2021 · national
Continuity (1)
Related Publication 20240354023A1 · Oct 24, 2024
References Cited (14)
US 11036407B1 · Tikoo · 2021 [cited by examiner]
US 20120124276A1 · Ahn · 2012 [cited by examiner]
US 20170031631A1 · Lee · 2017 [cited by examiner]
US 20170115884A1 · Bhalerao · 2017 [cited by examiner]
US 20190146705A1 · Lin · 2019 [cited by examiner]
US 20190179698A1 · Liu · 2019 [cited by examiner]
US 20220066648A1 · Gunda · 2022 [cited by examiner]
US 20220155999A1 · Sikarwar · 2022 [cited by examiner]
US 20220187999A1 · Lam · 2022 [cited by examiner]
CN 104503710A · 2015 [cited by applicant]
CN 106802777A · 2017 [cited by applicant]
CN 106021159A · 2020 [cited by applicant]
CN 114297092A · 2022 [cited by applicant]
International Search Report English Translation PCT/CN2022/129853, Jan. 18, 2023, pp. 1-2. [cited by applicant]