IP Library Granted Patent US 7,676,691
Granted Patent B2
US 7,676,691 · App. 11/507,073 · Granted Mar 9, 2010

Systems and methods for providing nonlinear journaling

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 7,676,691
App. No.
11/507,073
Granted
Mar 9, 2010
Kind
B2
Abstract

In one embodiment, systems and methods are provided for nonlinear journaling. In one embodiment, groups of data designated for storage in a data storage unit are journaled into persistent storage. In one embodiment, the journal data is recorded nonlinearly. In one embodiment, a linked data structure records data and data descriptors in persistent storage.

Claims (29)

1. A method of journaling data for a data storage unit with multiple storage devices, wherein the data storage unit may continue to accept requests to write data while one of the storage devices is unavailable for storage, comprising:

journaling data to be written on a plurality of storage devices of a data storage unit, wherein data that is journaled corresponds to a plurality of transactions, and the data to be written for each of the plurality of transactions is to be distributed among two or more of the plurality of storage devices;

determining when one of said storage devices is unavailable; and

keeping the data journaled for said one storage device while said storage device is unavailable for storage, while data journaled for an available storage device may be removed from a journal once the data has been written to the available storage device; and

replaying journal data for said one unavailable storage device after said one unavailable storage device becomes available for storage.

2. The method of claim 1 , wherein said replaying does is not done for any of said plurality of storage devices other than said one unavailable storage device.

3. The method of claim 1 , wherein said replaying is conditioned on whether said data corresponds to a transaction with a transaction state specified for replay.

4. The method of claim 3 , wherein the data storage unit is part of a system comprising a plurality of storage units that execute transactions global to the system, and wherein said transaction state specified for replay is a state indicating that the system has committed to execute said transaction.

5. The method of claim 1 , wherein the journaled data to be written on a plurality of storage devices is written redundantly for a subset of said plurality of storage devices.

6. A system supporting per-drive journal replay for a data storage unit with multiple storage devices, wherein the data storage unit may continue to accept requests to write data while one or more of the storage devices are unavailable for storage, comprising:

a plurality of storage devices;

persistent memory; and

a program module configured to journal data to be written on the plurality of storage devices, wherein data that is journaled corresponds to a plurality of transactions, and the data to be written for each of the plurality of transactions is to be distributed among two or more of the plurality of storage devices;

said program module further configured to keep in said persistent memory journal data corresponding to a subset of said plurality of storage devices that are temporarily unavailable to store said journaled data;

wherein data journaled for an available storage device may be removed from a journal once the data has been written to the available storage device;

said program module further configured to replay journal data for an unavailable storage device after said unavailable storage device becomes available for storage.

7. The system of claim 6 , wherein said plurality of storage devices are an array of hard-disk drives.

8. The system of claim 6 , wherein said persistent memory resides on the data storage unit, and said program module is executed on the storage unit.

9. The system of claim 6 , wherein said replaying is not done for any of said plurality of storage devices other than said unavailable storage device.

10. The system of claim 6 , wherein said replaying is conditioned on whether said data corresponds to a transaction with a transaction state specified for replay.

11. The system of claim 10 , wherein the data storage unit is part of a distributed system comprising a plurality of storage units that execute transactions global to the distributed system, and wherein said transaction state specified for replay is a state indicating that the distributed system has committed to execute said transaction.

12. A method of journaling data for a data storage unit with multiple storage devices, wherein said data storage unit is part of a system comprising a plurality of data storage units that execute transactions global to the system, wherein the data storage unit may continue to accept requests to write data while one of the storage devices is unavailable for storage, comprising:

journaling data to be written on a plurality of storage devices of the data storage unit, wherein data that is journaled corresponds to transactions that are distributed among two or more of the plurality of storage devices;

determining when one of said storage devices is unavailable;

keeping the data journaled for said one storage device while said storage device is unavailable for storage; and

replaying journal data for said one storage device after said one storage device becomes available for storage, wherein journal data corresponding to a given transaction is only replayed if said transaction includes a data write to said one storage device.

13. The method of claim 12 , wherein said replaying is not done for any of said plurality of storage devices other than said one storage device.

14. The method of claim 12 , wherein said replaying is conditioned on whether said data corresponds to a transaction with a transaction state specified for replay.

15. The method of claim 14 , wherein said transaction is global to the system, and said transaction state specified for replay is a state indicating that the system has committed to execute said transaction.

Assignments (13)
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 (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2011
From: IVY HOLDING, INC.
To: EMC CORPORATION
Reel/Frame 026083/0036 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2011
From: ISILON SYSTEMS LLC
To: IVY HOLDING, INC.
Reel/Frame 026069/0925 →
MERGER Recorded Mar 31, 2011
From: ISILON SYSTEMS, INC.
To: ISILON SYSTEMS LLC
Reel/Frame 026066/0785 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2006
From: FACHAN, NEAL T.; GODMAN, PETER J.; HUSTED, JUSTIN M.; PASSEY, AARON J.
To: ISILON SYSTEMS, INC.
Reel/Frame 018508/0278 →