IP Library Granted Patent US 10,402,262
Granted Patent B1
US 10,402,262 · App. 15/663,198 · Granted Sep 3, 2019

Fencing for zipheader corruption for inline compression feature system and method

Inventors: Marshall Wu (Shanghai, CN); Maher Kachmar (Marlborough, MA); Ivan Bassov (Brookline, MA); Yining Si (Sherborn, MA); Philippe Armangau (Acton, MA); Yaming Kuang (Shanghai, CN)
Assignee: EMC IP Holding Company LLC
G06F11/0793G06F11/073G06F11/079G06F11/0751G06F11/0772G06F16/11
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 10,402,262
App. No.
15/663,198
Filed
Jul 28, 2017
Granted
Sep 3, 2019
Kind
B1
Art Unit
2112
USPC
714/799
Abstract

A method, computer program product, and computer system for receiving, at a computing device, an I/O request directed to a compressed data portion of a file system. A field associated with the compressed data portion may be determined to be invalid. An error may be generated in response to determining that the field associated with the compressed data portion is invalid. The file system may be maintained in an online status while the compressed data portion is invalid.

Claims (32)

1. A computer-implemented method comprising:

receiving, at a computing device, an I/O request directed to a compressed data portion of a file system;

determining that a field associated with the compressed data portion is invalid, wherein the field associated with the compressed data portion includes one of a header version in a ZipHeader and a checksum value for the ZipHeader, wherein the ZipHeader is stored in memory as a global value;

generating an error in response to determining that the field associated with the compressed data portion is invalid;

maintaining the file system in an online status while the compressed data portion is invalid; and

allocating a new block for the compressed data portion when the I/O request is a write request.

2. The computer-implemented method of claim 1 further comprising returning the error for the I/O request, when the I/O request is a read request, based upon, at least in part, determining that the field associated with the compressed data portion is invalid.

3. The computer-implemented method of claim 1 wherein allocating the new block for the compressed data portion, when the I/O request is the write request, is based upon, at least in part, determining that the field associated with the compressed data portion is invalid.

4. The computer-implemented method of claim 3 further comprising filling the new block with zeros.

5. The computer-implemented method of claim 4 further comprising marking the new block as invalid.

6. The computer-implemented method of claim 5 further comprising writing new data for the write request in the new block.

7. A computer program product residing on a non-transitory computer readable storage medium having a plurality of instructions stored thereon which, when executed across one or more processors, causes at least a portion of the one or more processors to perform operations comprising:

receiving an I/O request directed to a compressed data portion of a file system;

determining that a field associated with the compressed data portion is invalid, wherein the field associated with the compressed data portion includes one of a header version in a ZipHeader and a checksum value for the ZipHeader, wherein the ZipHeader is stored in memory as a global value;

generating an error in response to determining that the field associated with the compressed data portion is invalid;

maintaining the file system in an online status while the compressed data portion is invalid; and

allocating a new block for the compressed data portion when the I/O request is a write request.

8. The computer program product of claim 7 wherein the operations further comprise returning the error for the I/O request, when the I/O request is a read request, based upon, at least in part, determining that the field associated with the compressed data portion is invalid.

9. The computer program product of claim 7 wherein allocating the new block for the compressed data portion, when the I/O request is the write request, is based upon, at least in part, determining that the field associated with the compressed data portion is invalid.

10. The computer program product of claim 9 wherein the operations further comprise filling the new block with zeros.

11. The computer program product of claim 10 wherein the operations further comprise marking the new block as invalid.

12. The computer program product of claim 11 wherein the operations further comprise writing new data for the write request in the new block.

13. A computing system including one or more processors and one or more memories configured to perform operations comprising:

receiving an I/O request directed to a compressed data portion of a file system;

determining that a field associated with the compressed data portion is invalid, wherein the field associated with the compressed data portion includes one of a header version in a ZipHeader and a checksum value for the ZipHeader, wherein the ZipHeader is stored in memory as a global value;

generating an error in response to determining that the field associated with the compressed data portion is invalid;

maintaining the file system in an online status while the compressed data portion is invalid; and

allocating a new block for the compressed data portion when the I/O request is a write request.

14. The computing system of claim 13 wherein the operations further comprise returning the error for the I/O request, when the I/O request is a read request, based upon, at least in part, determining that the field associated with the compressed data portion is invalid.

15. The computing system of claim 13 wherein allocating the new block for the compressed data portion, when the I/O request is the write request, is based upon, at least in part, determining that the field associated with the compressed data portion is invalid.

16. The computing system of claim 15 wherein the operations further comprise filling the new block with zeros.

17. The computing system of claim 16 wherein the operations further comprise marking the new block as invalid and writing new data for the write request in the new block.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (043775/0082) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060958/0468 →
RELEASE OF SECURITY INTEREST AT REEL 043772 FRAME 0750 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0606 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043772/0750 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 043775/0082 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2017
From: WU, MARSHALL; KACHMAR, MAHER; BASSOV, IVAN; SI, YINING; ARMANGAU, PHILIPPE; KUANG, YAMING
To: EMC IP HOLDING COMPANY, LLC
Reel/Frame 043133/0470 →
Cited By (1)
US 12,346,612