IP Library Granted Patent US 11,726,851
Granted Patent B2
US 11,726,851 · App. 16/674,477 · Granted Aug 15, 2023

Storage management system and method

Inventors: Vamsi K. Vankamamidi (Newton, MA); Philippe Armangau (Acton, MA); Socheavy D. Heng (Framingham, MA)
Assignee: EMC IP Holding Company, LLC
G06F11/073G06F1/30G06F11/1435G06F11/1469G06F11/2084G06F11/3037G06F12/0882
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,726,851
App. No.
16/674,477
Granted
Aug 15, 2023
Kind
B2
Abstract

A method, computer program product, and computing system for processing memory page metadata received from a cache memory system within a data storage system to determine if the memory page metadata includes corruption due to a power failure event; if the memory page metadata includes post-acknowledgement data corruption, initiating a data recovery process to attempt to recover content associated with the post-acknowledgement data corruption; and if the memory page metadata includes pre-acknowledgement data corruption, reobtaining content associated with the pre-acknowledgement data corruption.

Claims (49)

1. A computer-implemented method, executed on a computing device, comprising:

processing memory page metadata received from a cache memory system within a data storage system to determine if the memory page metadata includes corruption due to a power failure event, wherein the memory page metadata identifies a location of a memory page within the cache memory system and includes header information, a payload, and footer information, wherein processing memory page metadata received from a cache memory system within a data storage system to determine if the memory page metadata includes corruption due to a power failure event includes:

comparing a sequence ID included within the header information of the memory page metadata to a sequence ID included within the footer information, and

examining a checksum included within the memory page metadata to determine if the memory page metadata was corrupted during the power failure event, wherein the checksum is a checksum of the header information and the payload,

wherein a bad checksum in combination with a mismatch between the sequence ID included within the header information and the sequence ID included within the footer information indicates a write split due to the power failure event, and

wherein a bad checksum in combination with the sequence IDs in both the header information and the footer information being either invalid or matched indicates data corruption during the power failure event;

in response to the sequence IDs in both the header information and the footer information being invalid, initiating a data recovery process to attempt to recover content associated with data corruption, wherein the data recovery process includes a File System Consistency Check (FSCK); and

in response to a bad checksum in combination with a mismatch between the sequence ID included within the header information and the sequence ID included within the footer information, reobtaining content associated with pre-acknowledgement data corruption.

2. The computer-implemented method of claim 1 wherein reobtaining content associated with the pre-acknowledgement data corruption includes:

deleting the memory page metadata that includes the pre-acknowledgement data corruption; and

deleting content currently associated with the pre-acknowledgement data corruption.

3. The computer-implemented method of claim 2 wherein reobtaining content associated with the pre-acknowledgement data corruption further includes:

obtaining replacement content associated with the pre-acknowledgement data corruption from a client; and

generating replacement memory page metadata for the replacement content.

4. The computer-implemented method of claim 3 wherein reobtaining content associated with the pre-acknowledgement data corruption further includes:

storing the replacement content and the replacement memory page metadata on the cache memory system.

5. A computer program product residing on a computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:

processing memory page metadata received from a cache memory system within a data storage system to determine if the memory page metadata includes corruption due to a power failure event, wherein the memory page metadata identifies a location of a memory page within the cache memory system and includes header information, a payload, and footer information, wherein processing memory page metadata received from a cache memory system within a data storage system to determine if the memory page metadata includes corruption due to a power failure event includes:

comparing a sequence ID included within the header information of the memory page metadata to a sequence ID included within the footer information, and

examining a checksum included within the memory page metadata to determine if the memory page metadata was corrupted during the power failure event, wherein the checksum is a checksum of the header information and the payload,

wherein a bad checksum in combination with a mismatch between the sequence ID included within the header information and the sequence ID included within the footer information indicates a write split due to the power failure event, and

wherein a bad checksum in combination with the sequence IDs in both the header information and the footer information being either invalid or matched indicates data corruption during the power failure event;

in response to the sequence IDs in both the header information and the footer information being invalid, initiating a data recovery process to attempt to recover content associated with data corruption, wherein the data recovery process includes a File System Consistency Check (FSCK); and

in response to a bad checksum in combination with a mismatch between the sequence ID included within the header information and the sequence ID included within the footer information, reobtaining content associated with pre-acknowledgement data corruption.

6. The computer program product of claim 5 wherein reobtaining content associated with the pre-acknowledgement data corruption includes:

deleting the memory page metadata that includes the pre-acknowledgement data corruption; and

deleting content currently associated with the pre-acknowledgement data corruption.

7. The computer program product of claim 6 wherein reobtaining content associated with the pre-acknowledgement data corruption further includes:

obtaining replacement content associated with the pre-acknowledgement data corruption from a client; and

generating replacement memory page metadata for the replacement content.

8. The computer program product of claim 7 wherein reobtaining content associated with the pre-acknowledgement data corruption further includes:

storing the replacement content and the replacement memory page metadata on the cache memory system.

9. A computing system including a processor and memory configured to perform operations comprising:

processing memory page metadata received from a cache memory system within a data storage system to determine if the memory page metadata includes corruption due to a power failure event, wherein the memory page metadata identifies a location of a memory page within the cache memory system and includes header information, a payload, and footer information, wherein processing memory page metadata received from a cache memory system within a data storage system to determine if the memory page metadata includes corruption due to a power failure event includes:

comparing a sequence ID included within the header information of the memory page metadata to a sequence ID included within the footer information, and

examining a checksum included within the memory page metadata to determine if the memory page metadata was corrupted during the power failure event, wherein the checksum is a checksum of the header information and the payload,

wherein a bad checksum in combination with a mismatch between the sequence ID included within the header information and the sequence ID included within the footer information indicates a write split due to the power failure event, and

wherein a bad checksum in combination with the sequence IDs in both the header information and the footer information being either invalid or matched indicates data corruption during the power failure event;

in response to the sequence IDs in both the header information and the footer information being invalid, initiating a data recovery process to attempt to recover content associated with data corruption, wherein the data recovery process includes a File System Consistency Check (FSCK); and

in response to a bad checksum in combination with a mismatch between the sequence ID included within the header information and the sequence ID included within the footer information, reobtaining content associated with pre-acknowledgement data corruption.

10. The computing system of claim 9 wherein reobtaining content associated with the pre-acknowledgement data corruption includes:

deleting the memory page metadata that includes the pre-acknowledgement data corruption; and

deleting content currently associated with the pre-acknowledgement data corruption.

11. The computing system of claim 10 wherein reobtaining content associated with the pre-acknowledgement data corruption further includes:

obtaining replacement content associated with the pre-acknowledgement data corruption from a client; and

generating replacement memory page metadata for the replacement content.

12. The computing system of claim 11 wherein reobtaining content associated with the pre-acknowledgement data corruption further includes:

storing the replacement content and the replacement memory page metadata on the cache memory system.

13. The computer-implemented method of claim 1 , wherein the payload includes client-specific information.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 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 060438/0742 →
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 (052216/0758) Recorded Jun 23, 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 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
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 053311/0169 →
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 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2019
From: VANKAMAMIDI, VAMSI K.; ARMANGAU, PHILIPPE; HENG, SOCHEAVY D.
To: EMC IP HOLDING COMPANY, LLC
Reel/Frame 050919/0647 →