IP Library Granted Patent US 11,500,590
Granted Patent B2
US 11,500,590 · App. 17/205,542 · Granted Nov 15, 2022

Method, device and computer program product for data writing

Inventors: Leihu Zhang (Beijing, CN); Chen Gong (Beijing, CN); Shuo Lv (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0659G06F3/0626G06F3/0644G06F3/0673H03M7/30
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,500,590
App. No.
17/205,542
Granted
Nov 15, 2022
Kind
B2
Abstract

Techniques for data writing involve: determining an unavailable storage zone in multiple storage zones of a storage area, wherein each storage zone is used to store a zip header and compressed data corresponding to the zip header; acquiring a reference zip header for the unavailable storage zone, wherein the reference zip header includes metadata indicating a zone length of the unavailable storage zone; and generating consecutive write requests for the storage area based at least on target data to be written to the storage area and the reference zip header, so as to write the target data to available storage zones in the multiple storage zones. Accordingly, rewriting of data can be implemented by constructing large consecutive write requests, thus improving the write performance of the storage device.

Claims (72)

1. A method for data writing, comprising:

determining an unavailable storage zone in multiple storage zones of a storage area, wherein each storage zone is used to store a zip header and compressed data corresponding to the zip header;

acquiring a reference zip header for the unavailable storage zone, wherein the reference zip header includes metadata indicating a zone length of the unavailable storage zone; and

generating consecutive write requests for the storage area based at least on target data to be written to the storage area and the reference zip header, so as to write the target data to available storage zones in the multiple storage zones;

wherein acquiring the reference zip header includes:

determining the zone length of the unavailable storage zone;

determining an index for the reference zip header based on the zone length; and

determining, based on the index, the reference zip header from a set of candidate zip headers corresponding to different zone lengths.

2. The method according to claim 1 , wherein generating consecutive write requests for the storage area includes:

generating zone padding data for the unavailable storage zone using the reference zip header, wherein the zone padding data includes the reference zip header and first padding data that is used to overwrite compressed data previously stored in the unavailable storage zone; and

generating the consecutive write requests based at least on the target data and the zone padding data.

3. The method according to claim 2 , wherein generating the consecutive write requests based at least on the target data and the zone padding data includes:

if data in only a portion of the available storage zones in the multiple storage zones needs to be overwritten by the target data, determining a remaining portion of the available storage zones that does not need to be replaced with the target data;

generating second padding data for the remaining portion; and

generating the consecutive write requests based on the target data, the zone padding data, and the second padding data.

4. The method according to claim 3 , wherein at least one of the first padding data and the second padding data is generated based on a predetermined value.

5. The method according to claim 3 , wherein generating the consecutive write requests based on the target data, the zone padding data, and the second padding data includes:

determining multiple data portions from the target data, the zone padding data, and the second padding data according to a storage granularity associated with the storage area, wherein the size of each data portion corresponds to the storage granularity; and

generating the consecutive write requests based on the multiple data portions.

6. The method according to claim 1 , further comprising:

reconstructing, in response to a request to reconstruct backup metadata for the storage area, the backup metadata based on the zone length of the unavailable storage zone, wherein the backup metadata indicates a distribution of the multiple storage zones.

7. The method according to claim 1 , wherein the unavailable storage zone is marked as unavailable in response to being recycled.

8. An electronic device, comprising:

at least one processing unit; and

at least one memory which is coupled to the at least one processing unit and stores instructions for execution by the at least one processing unit, wherein the instructions, when executed by the at least one processing unit, cause the device to perform actions including:

determining an unavailable storage zone in multiple storage zones of a storage area, wherein each storage zone is used to store a zip header and compressed data corresponding to the zip header;

acquiring a reference zip header for the unavailable storage zone, wherein the reference zip header includes metadata indicating a zone length of the unavailable storage zone; and

generating consecutive write requests for the storage area based at least on target data to be written to the storage area and the reference zip header, so as to write the target data to available storage zones in the multiple storage zones;

wherein acquiring the reference zip header includes:

determining the zone length of the unavailable storage zone;

determining an index for the reference zip header based on the zone length; and

determining, based on the index, the reference zip header from a set of candidate zip headers corresponding to different zone lengths.

9. The device according to claim 8 , wherein generating consecutive write requests for the storage area includes:

generating zone padding data for the unavailable storage zone using the reference zip header, wherein the zone padding data includes the reference zip header and first padding data that is used to overwrite compressed data previously stored in the unavailable storage zone; and

generating the consecutive write requests based at least on the target data and the zone padding data.

10. The device according to claim 9 , wherein generating the consecutive write requests based at least on the target data and the zone padding data includes:

if data in only a portion of the available storage zones in the multiple storage zones needs to be overwritten by the target data, determining a remaining portion of the available storage zones that does not need to be replaced with the target data;

generating second padding data for the remaining portion; and

generating the consecutive write requests based on the target data, the zone padding data, and the second padding data.

11. The device according to claim 10 , wherein at least one of the first padding data and the second padding data is generated based on a predetermined value.

12. The device according to claim 10 , wherein generating the consecutive write requests based on the target data, the zone padding data, and the second padding data includes:

determining multiple data portions from the target data, the zone padding data, and the second padding data according to a storage granularity associated with the storage area, wherein the size of each data portion corresponds to the storage granularity; and

generating the consecutive write requests based on the multiple data portions.

13. The device according to claim 8 , wherein the actions further include:

reconstructing, in response to a request to reconstruct backup metadata for the storage area, the backup metadata based on the zone length of the unavailable storage zone, wherein the backup metadata indicates a distribution of the multiple storage zones.

14. The device according to claim 8 , wherein the unavailable storage zone is marked as unavailable in response to being recycled.

15. A computer program product having a non-transitory computer readable medium which stores a set of instructions to perform data writing; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

determining an unavailable storage zone in multiple storage zones of a storage area, wherein each storage zone is used to store a zip header and compressed data corresponding to the zip header;

acquiring a reference zip header for the unavailable storage zone, wherein the reference zip header includes metadata indicating a zone length of the unavailable storage zone; and

generating consecutive write requests for the storage area based at least on target data to be written to the storage area and the reference zip header, so as to write the target data to available storage zones in the multiple storage zones;

wherein acquiring the reference zip header includes:

determining the zone length of the unavailable storage zone:

determining an index for the reference zip header based on the zone length; and

determining, based on the index, the reference zip header from a set of candidate zip headers corresponding to different zone lengths.

16. The computer program product according to claim 15 , wherein generating consecutive write requests for the storage area includes:

generating zone padding data for the unavailable storage zone using the reference zip header, wherein the zone padding data includes the reference zip header and first padding data that is used to overwrite compressed data previously stored in the unavailable storage zone; and

generating the consecutive write requests based at least on the target data and the zone padding data.

17. A method for data writing, comprising:

determining an unavailable storage zone in multiple storage zones of a storage area, wherein each storage zone is used to store a zip header and compressed data corresponding to the zip header;

acquiring a reference zip header for the unavailable storage zone, wherein the reference zip header includes metadata indicating a zone length of the unavailable storage zone; and

generating consecutive write requests for the storage area based at least on target data to be written to the storage area and the reference zip header, so as to write the target data to available storage zones in the multiple storage zones;

wherein generating consecutive write requests for the storage area includes:

generating zone padding data for the unavailable storage zone using the reference zip header, wherein the zone padding data includes the reference zip header and first padding data that is used to overwrite compressed data previously stored in the unavailable storage zone; and

generating the consecutive write requests based at least on the target data and the zone padding data.

18. The method according to claim 17 , wherein generating the consecutive write requests based at least on the target data and the zone padding data includes:

if data in only a portion of the available storage zones in the multiple storage zones needs to be overwritten by the target data, determining a remaining portion of the available storage zones that does not need to be replaced with the target data;

generating second padding data for the remaining portion; and

generating the consecutive write requests based on the target data, the zone padding data, and the second padding data.

19. The method according to claim 18 , wherein at least one of the first padding data and the second padding data is generated based on a predetermined value.

20. The method according to claim 18 , wherein generating the consecutive write requests based on the target data, the zone padding data, and the second padding data includes:

determining multiple data portions from the target data, the zone padding data, and the second padding data according to a storage granularity associated with the storage area, wherein the size of each data portion corresponds to the storage granularity; and

generating the consecutive write requests based on the multiple data portions.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2021
From: ZHANG, LEIHU; GONG, CHEN; LV, SHUO
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 055889/0793 →
Priority Claims (1)
CN 202110013351.6 · Jan 6, 2021 · national
Continuity (1)
Related Publication 20220214833A1 · Jul 7, 2022