IP Library Granted Patent US 12,236,088
Granted Patent B2
US 12,236,088 · App. 18/269,918 · Granted Feb 25, 2025

Recycle optimization in storage engine

Inventors: Peng Xu (Milpitas, CA); Yikang Xu (Redmond, WA); Yu Du (Hangzhou, CN); Rui Wang (Redmond, WA)
Assignee: Alibaba Group Holding Limited
G06F3/0608G06F3/0656G06F3/0659G06F3/067
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,236,088
App. No.
18/269,918
Granted
Feb 25, 2025
Kind
B2
Abstract

When performing a recycling operation on a storage device, a storage system may use or create a data buffer in the storage device, and designate the data buffer to temporarily store data of data blocks to be recycled in the storage device using direct memory access (DMA) operations that are performed internally in the storage device, without the need of reading the data of the data blocks from the storage device and writing the data into a host memory of the storage system, thereby saving or reducing the consumptions of the communication bandwidth of a communication channel between the storage system and the storage device, and the memory bandwidth of the host memory.

Claims (43)

1. A method implemented by one or more processors of a storage system, the method comprising:

performing a recycle read for a first storage device, performing the recycle read comprising:

sending a first instruction to the first storage device to transfer record data from a plurality of sectors of the first storage device to a data buffer of the first storage device; and

reading corresponding sector metadata of the plurality of sectors of the first storage device into a host memory of the storage system; and

performing a recycle write for a second storage device, performing the recycle write comprising:

sending a second instruction to the first storage device to transfer valid records of the record data in the data buffer of the first storage device to one or more new sectors of the second storage device;

creating new sector metadata for the one or more sectors in the host memory; and

transferring the new sector metadata from the host memory to the one or more new sectors of the second storage device.

2. The method of claim 1 , wherein the record data is transferred from the plurality of sectors of the first storage device to the data buffer of the first storage device using direct memory access operations.

3. The method of claim 1 , wherein the corresponding sector metadata of the plurality of sectors of the first storage device is read into the host memory of the storage system through a communication channel between the first storage device and the storage system.

4. The method of claim 1 , wherein the recycle read and the recycle write are performed in response to one of: a garbage collection operation, a record merging operation, a wear-leveling operation, a read disturb operation, an error handling operation.

5. The method of claim 1 , wherein the record data in the plurality of sectors of the first storage device comprises the valid records, and records that are labeled as deleted.

6. The method of claim 1 , further comprising: updating a record mapping table in the host memory, the record mapping table comprising at least relationships between identifiers of the valid records and locations of the valid records.

7. The method of claim 1 , wherein the first storage device is identical to the second storage device, and sending the second instruction to the first storage device to transfer the valid records of the record data in the data buffer of the first storage device to the one or more new sectors of the second storage device comprises causing the first storage device to perform direct memory access operations to transfer the valid records of the record data in the data buffer to the one or more new sectors.

8. The method of claim 1 , wherein the first storage device is different from the second storage device, and sending the second instruction to the first storage device to transfer the valid records of the record data in the data buffer of the first storage device to the one or more new sectors of the second storage device comprises causing the first storage device to transfer the valid records of the record data in the data buffer to the one or more new sectors of the second storage device through a communication channel between the first storage device and the second storage device.

9. The method of claim 1 , wherein the corresponding sector metadata of the plurality of sectors comprises location information of record headers of respective first records in the plurality of sectors.

10. One or more processor readable media storing executable instructions that, when executed by one or more processors of a storage system, cause the one or more processors to perform acts comprising:

performing a recycle read for a first storage device, performing the recycle read comprising:

sending a first instruction to the first storage device to transfer record data from a plurality of sectors of the first storage device to a data buffer of the first storage device; and

reading corresponding sector metadata of the plurality of sectors of the first storage device into a host memory of the storage system; and

performing a recycle write for a second storage device, performing the recycle write comprising:

sending a second instruction to the first storage device to transfer valid records of the record data in the data buffer of the first storage device to one or more new sectors of the second storage device;

creating new sector metadata for the one or more sectors in the host memory; and

transferring the new sector metadata from the host memory to the one or more new sectors of the second storage device.

11. The one or more processor readable media of claim 10 , wherein the record data is transferred from the plurality of sectors of the first storage device to the data buffer of the first storage device using direct memory access operations.

12. The one or more processor readable media of claim 10 , wherein the corresponding sector metadata of the plurality of sectors of the first storage device is read into the host memory of the storage system through a communication channel between the first storage device and the storage system.

13. The one or more processor readable media of claim 10 , wherein the recycle read and the recycle write are performed in response to one of: a garbage collection operation, a record merging operation, a wear-leveling operation, a read disturb operation, an error handling operation.

14. The one or more processor readable media of claim 10 , wherein the record data in the plurality of sectors of the first storage device comprises the valid records, and records that are labeled as deleted.

15. The one or more processor readable media of claim 10 , the acts further comprising: updating a record mapping table in the host memory, the record mapping table comprising at least relationships between identifiers of the valid records and locations of the valid records.

16. The one or more processor readable media of claim 10 , wherein the first storage device is identical to the second storage device, and sending the second instruction to the first storage device to transfer the valid records of the record data in the data buffer of the first storage device to the one or more new sectors of the second storage device comprises causing the first storage device to perform direct memory access operations to transfer the valid records of the record data in the data buffer to the one or more new sectors.

17. The one or more processor readable media of claim 10 , wherein the first storage device is different from the second storage device, and sending the second instruction to the first storage device to transfer the valid records of the record data in the data buffer of the first storage device to the one or more new sectors of the second storage device comprises causing the first storage device to transfer the valid records of the record data in the data buffer to the one or more new sectors of the second storage device through a communication channel between the first storage device and the second storage device.

18. The one or more processor readable media of claim 10 , wherein the corresponding sector metadata of the plurality of sectors comprises location information of record headers of respective first records in the plurality of sectors.

19. A storage system comprising:

one or more processors; and

host memory storing executable instructions that, when executed by the one or more processors, cause the one or more processors to perform acts comprising:

performing a recycle read for a first storage device, performing the recycle read comprising:

sending a first instruction to the first storage device to transfer record data from a plurality of sectors of the first storage device to a data buffer of the first storage device; and

reading corresponding sector metadata of the plurality of sectors of the first storage device into the host memory; and

performing a recycle write for a second storage device, performing the recycle write comprising:

sending a second instruction to the first storage device to transfer valid records of the record data in the data buffer of the first storage device to one or more new sectors of the second storage device;

creating new sector metadata for the one or more sectors in the host memory; and

transferring the new sector metadata from the host memory to the one or more new sectors of the second storage device.

20. The storage system of claim 19 , wherein the record data is transferred from the plurality of sectors of the first storage device to the data buffer of the first storage device using direct memory access operations, and the corresponding sector metadata of the plurality of sectors of the first storage device is read into the host memory through a communication channel between the first storage device and the second storage device.

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 Oct 4, 2024
From: XU, PENG; XU, YIKANG; WANG, RUI; DU, YU
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 068799/0143 →
Continuity (1)
Related Publication 20240061577A1 · Feb 22, 2024
References Cited (19)
US 8521972B1 · Boyle et al. · 2013 [cited by applicant]
US 10817185B1 · Dumitru et al. · 2020 [cited by applicant]
US 11094365B1 · Jang · 2021 [cited by examiner]
US 20160306577A1 · Canepa et al. · 2016 [cited by applicant]
US 20170220463A1 · Malina · 2017 [cited by examiner]
US 20180088810A1 · Ramalingam · 2018 [cited by examiner]
US 20200042180A1 · Byun · 2020 [cited by applicant]
US 20200042181A1 · Lee · 2020 [cited by examiner]
US 20200042223A1 · Li · 2020 [cited by examiner]
US 20200065259A1 · Byun · 2020 [cited by applicant]
US 20200272574A1 · Shen · 2020 [cited by examiner]
US 20200341844A1 · Shivanand · 2020 [cited by examiner]
US 20210098070A1 · Lee · 2021 [cited by examiner]
US 20210326068A1 · Li · 2021 [cited by examiner]
US 20210334203A1 · Helmick · 2021 [cited by examiner]
US 20230207023A1 · Pletka · 2023 [cited by examiner]
CN 103677674A · 2014 [cited by applicant]
International Search Report mailed Sep. 29, 2021, from PCT/CN2020/140149, filed Dec. 28, 2020, 3 pages. [cited by applicant]
Written Opinion mailed Sep. 23, 2021, from PCT/CN2020/140149, filed Dec. 28, 2020, 3 pages. [cited by applicant]