IP Library Granted Patent US 11,656,767
Granted Patent B2
US 11,656,767 · App. 17/227,516 · Granted May 23, 2023

Nonvolatile storage device with volatile memory

Inventors: Robert I. Walker (Clearwater Beach, FL); Marc A. Smith (Flushing, MI); Don Doerner (San Jose, CA)
Assignee: QUANTUM CORPORATION
G06F3/0619G06F1/30G06F3/0659G06F3/0689G06F11/1451G06F11/1461G06F11/1469
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,656,767
App. No.
17/227,516
Granted
May 23, 2023
Kind
B2
Abstract

Nonvolatile data storage systems, methods, and devices are disclosed. In one example, a nonvolatile storage device includes a volatile memory, a controller electrically coupled to the volatile memory, a nonvolatile memory electrically coupled to the controller, and a backup power source electrically coupled to the controller, the volatile memory, and the nonvolatile memory. The controller is configured to read and write primary data from a primary host and mirrored data from a secondary host in the volatile memory. The backup power source is configured to store sufficient energy to power the nonvolatile storage device during a backup operation. The controller is configured to, in response to a backup signal, copy the primary data and the mirrored data stored in the volatile memory to the nonvolatile memory.

Claims (53)

1. A nonvolatile storage device, comprising:

a volatile memory;

a controller that is electrically coupled to the volatile memory, the controller including (i) a first port to receive requests from a primary host that cause the controller to write primary data in the volatile memory; and (ii) a second port to receive requests from a secondary host that cause the controller to write mirrored data in the volatile memory;

a nonvolatile memory that is electrically coupled to the controller; and

a backup power source that is electrically coupled to the controller, the volatile memory, and the nonvolatile memory, the backup power source being configured to store sufficient energy to power the nonvolatile storage device during a backup operation;

wherein the primary data is stored in a first namespace of the volatile memory, the first namespace being part of a RAID 1 mirror protected unit with a second namespace in second volatile memory of a second nonvolatile storage device in which the secondary host reads and writes primary data;

wherein the mirrored data is stored in a third namespace of the volatile memory, the third namespace being part of a RAID 1 mirror protected unit with a fourth namespace of the second volatile memory in the second nonvolatile storage device; and

wherein, in response to a backup signal, the controller is configured to perform the backup operation including copying one of the primary data and the mirrored data stored in the volatile memory to the nonvolatile memory.

2. The nonvolatile storage device of claim 1 , wherein, in response to a restore trigger, the controller is configured to copy the one of the primary data and the mirrored data stored in the nonvolatile memory to the volatile memory.

3. The nonvolatile storage device of claim 1 , wherein

the controller is configured according to a nonvolatile memory express (NVMe) interface protocol.

4. The nonvolatile storage device of claim 1 , wherein the controller includes a field programmable gate array (FPGA) including a first portion electrically coupled to the first port and a second portion electrically coupled to the second port, and wherein the first portion and the second portion operate independently of one another to process the requests from the primary host and the secondary host, respectively.

5. The nonvolatile storage device of claim 1 , wherein the nonvolatile memory includes solid state drive (SSD) memory.

6. The nonvolatile storage device of claim 5 , wherein the controller is configured to perform a sanitize operation on the SSD memory periodically as a function of a number of backup operations that have been performed utilizing the nonvolatile storage device.

7. The nonvolatile storage device of claim 1 , wherein the controller is configured to periodically check one or more of: (i) a state of the nonvolatile storage device, (ii) a status of a link between the nonvolatile storage device and a second nonvolatile storage device, (iii) completion status of last initialization, (iv) completion status of a last backup operation, (v) completion status of a last restore operation, (vi) a status of the backup power source, (vii) a number of backup operations performed since a last sanitize operation, (viii) an enablement status of the backup operation, and (ix) an estimated remaining life for the nonvolatile memory.

8. The nonvolatile storage device of claim 1 , wherein the backup signal is indicative of one or more of a failure of a system power source for the nonvolatile storage device, and a failure of the volatile memory.

9. The nonvolatile storage device of claim 1 , wherein the controller is configured to perform at least one of a de-duplication operation, a hashing operation, and a compression operation on the one of the primary data and the mirrored data prior to storing the one of the primary data and the mirrored data in one of the volatile memory and the nonvolatile memory.

10. A method for providing a nonvolatile storage device, the method comprising:

receiving primary data and mirrored data;

electrically coupling a controller to volatile memory;

receiving requests from a primary host via a first port of the controller that cause the controller to write the primary data in the volatile memory;

receiving requests from a secondary host via a second port of the controller that cause the controller to write the mirrored data in the volatile memory;

storing the primary data in a first namespace of the volatile memory, the first namespace being part of a RAID 1 mirror protected unit with a second namespace in second volatile memory of a second nonvolatile storage device in which the secondary host reads and writes primary data;

storing the mirrored data in a third namespace of the volatile memory, the third namespace being part of a RAID 1 mirror protected unit with a fourth namespace of the second volatile memory in the second nonvolatile storage device;

receiving a backup signal; and

in response to the backup signal:

coupling a backup power source to the controller; and

copying one of the primary data and the mirrored data stored in the volatile memory to a nonvolatile memory with the controller.

11. The method of claim 10 , further comprising de-duplicating the one of the primary data and the mirrored data prior to storing the one of the primary data and the mirrored data in the volatile memory.

12. The method of claim 10 , further comprising performing a hashing operation on the one of the primary data and the mirrored data prior to storing the one of the primary data and the mirrored data in the volatile memory.

13. The method of claim 10 , further comprising compressing the one of the primary data and the mirrored data prior to storing the one of the primary data and the mirrored data in the volatile memory.

14. The method of claim 10 , further comprising de-duplicating the one of the primary data and the mirrored data prior to copying the one of the primary data and the mirrored data to the nonvolatile memory.

15. The method of claim 10 , further comprising performing a hashing operation on the one of the primary data and the mirrored data prior to copying the one of the primary data and the mirrored data to the nonvolatile memory.

16. The method of claim 10 , further comprising compressing the one of the primary data and the mirrored data prior to copying the one of the primary data and the mirrored data to the nonvolatile memory.

17. The method of claim 10 , further comprising:

receiving a restore signal; and

in response to the restore signal, copying data from the nonvolatile memory to the volatile memory.

18. A nonvolatile data storage system, comprising:

a first nonvolatile storage device including a first controller, a first backup power source, a first volatile memory, and a first nonvolatile memory, the first controller being configured to:

independently process requests received from a primary host and a secondary host to write data to the first volatile memory; and

in response to a backup signal;

couple the first backup power source to the first controller; and

copy the data in the first volatile memory to the first nonvolatile memory; and

a second nonvolatile storage device including a second controller, a second backup power source, a second volatile memory, and a second nonvolatile memory, the second controller being configured to:

independently process requests received from the primary host and the secondary host to write data to the second volatile memory; and

in response to a second backup signal;

couple the second backup power source to the second controller; and

copy the data in the second volatile memory to the second nonvolatile memory;

wherein in the first nonvolatile storage device, primary data from the primary host is stored in a first namespace of the first volatile memory, the first namespace being part of a RAID 1 mirror protected unit with a second namespace in the second volatile memory, and mirrored data from the secondary host is stored in a third namespace of the first volatile memory, the third namespace being part of a RAID 1 mirror protected unit with a fourth namespace of the second volatile memory; and

wherein in the second nonvolatile storage device, primary data from the secondary host is stored in the fourth namespace of the second volatile memory, and mirrored data from the primary host is stored in the second namespace of the second volatile memory.

19. The nonvolatile data storage system of claim 18 , wherein

the first and second controllers are configured according to a nonvolatile memory express (NVMe) interface protocol.

20. The method of claim 10 further comprising periodically checking with the controller one or more of: (i) a state of the nonvolatile storage device, (ii) a status of a link between the nonvolatile storage device and a second nonvolatile storage device, (iii) completion status of last initialization, (iv) completion status of a last backup operation, (v) completion status of a last restore operation, (vi) a status of the backup power source, (vii) a number of backup operations performed since a last sanitize operation, (viii) an enablement status of the backup operation, and (ix) an estimated remaining life for the nonvolatile memory.

Assignments (6)
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 18, 2025
From: QUANTUM CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 074024/0084 →
TERMINATION AND RELEASE OF SUPPLEMENT TO INTELLECTUAL PROPERTY SECURITY AGREEMENT AT REEL/FRAME NO. 64053/0051 Recorded Aug 19, 2025
From: PNC BANK, NATIONAL ASSOCIATION, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 072522/0968 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2025
From: BLUE TORCH FINANCE LLC, AS AGENT FOR THE SECURED PARTIES
To: ALTER DOMUS (US) LLC, AS AGENT FOR THE SECURED PARTIES
Reel/Frame 071019/0850 →
SECURITY INTEREST Recorded Jun 26, 2023
From: QUANTUM CORPORATION
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 064053/0051 →
SUPPLEMENT TO INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 22, 2023
From: QUANTUM CORPORATION; QUANTUM LTO HOLDINGS, LLC
To: BLUE TORCH FINANCE, LLC
Reel/Frame 064069/0563 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2021
From: WALKER, ROBERT I.; SMITH, MARC A.; DOERNER, DON
To: QUANTUM CORPORATION
Reel/Frame 055888/0491 →