IP Library Granted Patent US 10,223,262
Granted Patent B2
US 10,223,262 · App. 15/193,071 · Granted Mar 5, 2019

Journal management

Inventors: Kelly E. Long (Westminster, CO); Sebastian P. Sobolewski (Broomfield, CO); Paul A. Ashmore (Longmont, CO)
Assignee: NexGen Storage, Inc.
G06F12/0804G06F3/064G06F3/065G06F3/067G06F3/0608G06F3/0619G06F3/0659G06F3/0679G06F3/0685G06F11/201G06F11/3034G06F11/3485G06F12/0815G06F11/2074G06F11/3419G06F2201/84G06F2201/855G06F2212/1024G06F2212/1032G06F2212/608
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,223,262
App. No.
15/193,071
Granted
Mar 5, 2019
Kind
B2
Abstract

Apparatuses, systems, methods, and computer program products are disclosed for managing a journal. A method may include reordering storage commands based on different storage volumes associated with the storage commands. A method may include reordering storage commands based on different snapshots associated with the storage commands. A method may include adjusting a frequency of writing data from a write buffer based on a rate of write requests. A method may include adjusting a ratio of storage capacity for storing mirrored write data to storage capacity for storing non-mirrored read data.

Claims (18)

1. A method comprising:

receiving a plurality of write commands for different storage volumes, the received plurality of write commands being in a first order;

adjusting the first order of the received plurality of write commands so that the received plurality of write commands is in a second order such that write commands directed to a common storage volume are grouped together; and

storing all of the data associated with each of the received plurality of write commands and metadata associated with each of the received plurality of write commands on a single page according to the second order of the received plurality of write commands.

2. The method of claim 1 , wherein the data of the write commands is stored in the adjusted order in a write combine buffer of a storage appliance.

3. The method of claim 1 , further comprising acknowledging completion of the write commands in response to storing the data of the write commands in the adjusted order in a journal preserved in a non-volatile storage medium.

4. The method of claim 1 , wherein the order of the write commands is adjusted such that write data for the write commands directed to the common storage volume is stored in the single page.

5. The method of claim 4 , wherein receiving a plurality of write commands comprises queuing the write commands in an order that write commands are received and wherein adjusting the order of the write commands comprises re-ordering at least two write commands such that the at least two write commands are ordered such that the write data for the at least two write commands will be stored in the single page.

6. The method of claim 5 , further comprising:

loading the single page into volatile memory in response to a read request; and

satisfying read requests for data of the at least two of the write commands from the single page in the volatile memory.

7. The method of claim 1 , wherein write commands for different versions of data of a storage volume of the different storage volumes are grouped together in the adjusted order.

8. The method of claim 1 , further comprising:

maintaining a mirror copy of the single page on a second page that is separate from the single page, wherein any read command, including data of the read command and metadata associated with the read command, on the second page is not part of the mirror copy.

9. The method of claim 1 , further comprising buffering the data of the write commands before storing the data of the write commands, wherein the data is stored in response to one or more of a first timer expiring without receiving a subsequent write command and a second timer expiring.

10. The method of claim 1 , wherein a write command of the plurality of write commands comprises metadata for the write command and the data of the write commands.

11. The method of claim 8 , further comprising:

adjusting a storage capacity for storing the data and metadata of the write commands and a storage capacity for storing the data and metadata of the read commands for the second page based on a ratio of the received write commands and the received read commands.

Assignments (6)
INTELLECTUAL PROPERTY RELEASE Recorded Jan 4, 2024
From: RUNWAY GROWTH FINANCE CORP.
To: PIVOT3, INC.; NEXGEN STORAGE, INC.
Reel/Frame 066193/0189 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2019
From: LONG, KELLY E.; SOBOLEWSKI, SEBASTIAN PIOTR; ASHMORE, PAUL A.
To: FUSION-IO, INC.
Reel/Frame 050318/0941 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2019
From: FUSION-IO, INC.
To: NEXGEN STORAGE, INC.
Reel/Frame 050318/0949 →
RELEASE OF SECURITY INTEREST Recorded May 15, 2019
From: PACIFIC WESTERN BANK
To: NEXGEN STORAGE, INC.
Reel/Frame 049186/0418 →
SECURITY INTEREST Recorded May 13, 2019
From: PIVOT3, INC.; NEXGEN STORAGE, INC.
To: RUNWAY GROWTH CREDIT FUND INC.
Reel/Frame 049164/0117 →
SECURITY INTEREST Recorded Jan 23, 2019
From: NEXGEN STORAGE, INC.
To: PACIFIC WESTERN BANK
Reel/Frame 048102/0622 →
Continuity (4)
Continuation 14273533 · May 8, 2014
Provisional Application 61821201 · May 8, 2013
Provisional Application 61821204 · May 8, 2013
Related Publication 20160371184A1 · Dec 22, 2016
Cited By (1)
US 12,250,221