IP Library Granted Patent US 8,380,689
Granted Patent B2
US 8,380,689 · App. 13/035,831 · Granted Feb 19, 2013

Systems and methods for providing nonlinear journaling

Inventors: Neal T. Fachan (Seattle, WA); Peter J. Godman (Seattle, WA); Justin M. Husted (Seattle, WA); Aaron J. Passey (Seattle, WA)
Assignee: EMC Corporation
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 8,380,689
App. No.
13/035,831
Filed
Feb 25, 2011
Granted
Feb 19, 2013
Kind
B2
Art Unit
2159
USPC
707/100
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 (19)

1. A system for journaling data to be written to a data storage node, comprising:

a processor coupled to a memory;

persistent memory configured to store journal data; and

a journal module configured to store, in the persistent memory:

a plurality of transaction descriptors, the plurality of transaction descriptors including a first transaction descriptor and a second transaction descriptor, wherein the first transaction descriptor comprises a link to the second transaction descriptor, wherein the plurality of transaction descriptors are stored such that each transaction descriptor may be removed from the plurality of transaction descriptors in an order that is different than an order in which the transaction descriptor was stored, wherein each of the plurality of transaction descriptors includes information identifying a transaction state of an associated transaction;

a plurality of block descriptors, wherein the first transaction descriptor comprises a link to a first block descriptor, the first block descriptor comprises a link to a second block descriptor, the second transaction descriptor comprises a link to a third block descriptor, and the third block descriptor comprises a link to a fourth block descriptor, wherein the plurality of block descriptors are stored such that each block descriptor may be removed from the plurality of block descriptors in an order that is different than an order in which the block descriptor was stored; and

a plurality of journal blocks, wherein each journal block of the plurality of journal blocks comprises data to be written to the data storage node;

wherein each of the plurality of block descriptors comprises a link to at least one of the plurality of journal blocks and at least one respective address in the data storage node to which the at least one journal block is to be written.

2. The system of claim 1 , wherein each transaction is a global transaction that is distributed among two or more data storage nodes, such that each global transaction is associated with a request to write data to the data storage node and a request to write different data to at least one other data storage node.

3. The system of claim 1 , wherein said journal blocks are one of the following sizes: 512 bytes and 8196 bytes.

4. The system of claim 1 , wherein at least one of the plurality of block descriptors further comprises a link to at least one other block descriptor of said plurality of block descriptors.

5. The system of claim 1 , wherein at least one of the plurality of transaction descriptors further comprises a link to at least one other transaction descriptor of said plurality of transaction descriptors.

6. The system of claim 1 , wherein each of the plurality of transaction descriptors comprises information identifying a transaction state and one or more data storage nodes participating in the associated transaction.

7. The system of claim 1 , wherein each of said links comprises an address in persistent memory associated with the data storage node.

8. A computer-implemented method of journaling data to be written to a data storage node, the computer-implemented method comprising:

storing in persistent memory a plurality of transaction descriptors, the plurality of transaction descriptors including a first transaction descriptor and a second transaction descriptor, wherein the first transaction descriptor comprises a link to the second transaction descriptor, wherein each of the plurality of transaction descriptors includes information identifying a transaction state of an associated transaction, wherein the plurality of transaction descriptors are stored such that each transaction descriptor may be removed from the plurality of transaction descriptors in an order that is different than an order in which the transaction descriptor was stored;

storing in persistent memory a plurality of block descriptors, wherein the first transaction descriptor comprises a link to a first block descriptor, the first block descriptor comprises a link to a second block descriptor, the second transaction descriptor comprises a link to a third block descriptor, and the third block descriptor comprises a link to a fourth block descriptor, wherein the plurality of block descriptors are stored such that each block descriptor may be removed from the plurality of block descriptors in an order that is different than an order in which the block descriptor was stored; and

storing in persistent memory a plurality of journal blocks, wherein each journal block of the plurality of journal blocks comprises data to be written to the data storage node, wherein each of the plurality of block descriptors comprises a link to at least one of the plurality of journal blocks and at least one respective address in the data storage node to which the at least one journal block is to be written.

9. The computer implemented method of claim 8 , wherein each of said links comprises an address in persistent memory associated with the data storage node.

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 May 19, 2011
From: FACHAN, NEAL T.; GODMAN, PETER J.; HUSTED, JUSTIN M.; PASSEY, AARON J.
To: ISILON SYSTEMS, INC.
Reel/Frame 026311/0397 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2011
From: IVY HOLDING, INC.
To: EMC CORPORATION
Reel/Frame 026312/0584 →
MERGER Recorded May 19, 2011
From: ISILON SYSTEMS, INC.
To: ISILON SYSTEMS LLC
Reel/Frame 026312/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2011
From: ISILON SYSTEMS LLC
To: IVY HOLDING, INC.
Reel/Frame 026312/0127 →
Continuity (2)
Continuation 11506597 · Aug 18, 2006
Related Publication 20110153569A1 · Jun 23, 2011