IP Library Granted Patent US 11,763,913
Granted Patent B2
US 11,763,913 · App. 17/373,648 · Granted Sep 19, 2023

Automated testing of functionality of multiple NVRAM cards

Inventors: Steven Soumpholphakdy (Chicago, IL); Daniel Richard Thyken (Anoka, MN); Bradley Brian Bushard (Chaska, MN)
Assignee: EMC IP HOLDING COMPANY LLC
G11C29/50004G06F1/3203G11C14/00G11C2029/5004
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,763,913
App. No.
17/373,648
Granted
Sep 19, 2023
Kind
B2
Abstract

A system can validate multiple nonvolatile random-access memory (NVRAM) devices in parallel. The system can concurrently write a first data to a first volatile memory of a first NVRAM device and a second NVRAM device. The system can modify a first electrical power source that provides an electrical power output that is received by the first NVRAM device and is received by the second NVRAM device to modify a voltage of the electrical power from a first value to a second value to initiate the first NVRAM device and the second NVRAM device to respectively perform a vault. The system can reset the first electrical power source, causing the first NVRAM device and the second NVRAM device to reset. The system can verify whether the first NVRAM device and the second NVRAM device respectively store the first data in volatile memory subsequent to performing the resetting.

Claims (49)

1. A system, comprising:

a processor; and

a memory that stores executable instructions that, when executed by the processor, facilitate performance of operations, comprising:

writing a first data to a first volatile memory of a first nonvolatile random-access memory (NVRAM) device concurrently with writing the first data to a second volatile memory of a second NVRAM device;

modifying a first electrical power source that provides an electrical power output that is received by the first NVRAM device and is received by the second NVRAM device to modify a voltage of the electrical power from a first value to a second value to initiate the first NVRAM device and the second NVRAM device to respectively store the first data from the first volatile memory to a nonvolatile storage and store the data from the second volatile memory to a second nonvolatile storage;

resetting the first electrical power source, causing the first NVRAM device and the second NVRAM device to reset; and

verifying whether the first NVRAM device stores the first data in the first volatile memory subsequent to performing the resetting of the first electrical power source concurrently with verifying whether the second NVRAM device stores the first data in the second volatile memory subsequent to performing the resetting of the first electrical power source.

2. The system of claim 1 , wherein the operations further comprise:

writing random data to a file that is stored external to the first NVRAM device and the second NVRAM device before performing the modifying of the voltage of the first NVRAM device; and

performing the verifying of whether the first NVRAM device stores the first data in the first volatile memory subsequent to performing the resetting of the first electrical power source based on comparing the first data to the file.

3. The system of claim 1 , wherein the first value of the voltage is in a range of 4.75-5.25 volts.

4. The system of claim 3 , wherein the second value of the voltage is in a range of 2.945-3.255 volts.

5. The system of claim 1 , wherein the operations further comprise:

after decreasing the voltage from the second value to a third value, determining that the first NVRAM device has completed the storing of the first data from the first volatile memory to the first nonvolatile storage.

6. The system of claim 5 , wherein the third value of the voltage is in a range of 2.375-2.625 volts.

7. The system of claim 5 , wherein the operations further comprise:

verifying that the voltage has been decreased from the second value to the third value based on utilizing a remote input/output operation on the first NVRAM device.

8. A method, comprising:

writing, by a system comprising a processor, data to a first volatile memory of a first nonvolatile random-access memory (NVRAM) device in parallel with writing the data to a second volatile memory of a second NVRAM device;

modifying, by the system, a first electrical power source that provides an electrical power output that is received by the first NVRAM device and is received by the second NVRAM device to modify a voltage of the electrical power from a first value to a second value to initiate the first NVRAM device and the second NVRAM device to respectively store the first data from the first volatile memory to a first nonvolatile storage of the first NVRAM device and store the data from the second volatile memory to a second nonvolatile storage of the second NVRAM device;

resetting, by the system, the first NVRAM device in parallel with resetting the second NVRAM device; and

verifying, by the system, whether the first NVRAM device stores the data in the first volatile memory subsequent to performing the resetting of the first NVRAM device and the second NVRAM device in parallel with verifying whether the second NVRAM device stores the data in the second volatile memory subsequent to performing the resetting of the first NVRAM device and the second NVRAM device.

9. The method of claim 8 , wherein the resetting of the first NVRAM device in parallel with the resetting of the second NVRAM device comprises:

resetting, by the system, a hardware device that connects the first NVRAM device and the second NVRAM device to the electrical power source.

10. The method of claim 8 , wherein the verifying of whether the first NVRAM device stores the data in the first volatile memory subsequent to performing the resetting of the first NVRAM device comprises:

determining, by the system, that the first NVRAM device stores the data where the data matches a version of the data as stored in a memory external to the first NVRAM device.

11. The method of claim 8 , wherein the verifying of whether the first NVRAM device stores the data in the first volatile memory subsequent to performing the resetting of the first NVRAM device comprises:

determining, by the system, that the first NVRAM device does not store the data where the data does not match a version of the data as stored in a memory external to the first NVRAM device.

12. The method of claim 8 , further comprising;

polling, by the system, a digital input signal from the first NVRAM device that is available after power is no longer supplied to the first NVRAM device to determine that the first NVRAM device has completed storing the data from the first volatile memory to the first nonvolatile storage.

13. The method of claim 8 , further comprising:

programming, by the system, a first firmware of the first NVRAM device and a second firmware of a second NVRAM device before performing the writing of the data to the first volatile memory of the first NVRAM device.

14. The method of claim 13 , further comprising:

setting, by the system, the first NVRAM device and the second NVRAM device into a respective manufacturing mode using a remote input/output operation via a digital output signal of a remote input/output controller before performing the programming.

15. A non-transitory computer-readable medium comprising instructions that, in response to execution, cause a system comprising a processor to perform operations, comprising:

writing a data to a first volatile memory of a first nonvolatile random-access memory (NVRAM) device to produce a first data, in parallel with writing the data to a second volatile memory of a second NVRAM device to produce a second data;

modifying a first electrical power source that provides an electrical power output that is received by the first NVRAM device and is received by the second NVRAM device to set a first margin voltage of the electrical power to initiate the first NVRAM device and the second NVRAM device to respectively store the first data from the first volatile memory to a first nonvolatile storage of the first NVRAM device and store the second data from the second volatile memory to a second nonvolatile storage of the second NVRAM device;

resetting the first NVRAM device in parallel with resetting the second NVRAM device; and

verifying whether the first NVRAM device has restored first data associated with the first NVRAM device to the first volatile memory subsequent to performing the resetting of the first NVRAM device in parallel with verifying whether the second NVRAM device has restored second data associated with the second NVRAM device to the second volatile memory.

16. The non-transitory computer-readable medium of claim 15 , wherein the verifying whether the first NVRAM device has restored the first data comprises:

determining that verification is successful where the first NVRAM device indicates a status indicative of a success of vaulting and restoring.

17. The non-transitory computer-readable medium of claim 15 , wherein the verifying whether the first NVRAM device has restored the first data comprises:

determining that verification is unsuccessful where the first NVRAM device indicates a status indicative of a failure of vaulting and restoring.

18. The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise:

programming a firmware of the first NVRAM device before performing the writing of the data to the first volatile memory of the first NVRAM device.

19. The non-transitory computer-readable medium of claim 18 , wherein the operations further comprise:

using a first board present signal from a first remote input/output operation of the first NVRAM device to determine to perform the programming of the firmware.

20. The non-transitory computer-readable medium of claim 19 , wherein the firmware is first firmware, and wherein the operations further comprise:

using a second board present signal from a second remote input/output operation of the second NVRAM device to determine to program second firmware of the second NVRAM device serially with the using of the first board present signal from the first remote input/output operation of the first NVRAM device to determine to perform the programming of the first firmware.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (058014/0560) Recorded Jun 10, 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 062022/0473 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057931/0392) Recorded Jun 10, 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 062022/0382 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (057758/0286) Recorded Jun 10, 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 061654/0064 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 058014/0560 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057758/0286 →
SECURITY INTEREST Recorded Oct 6, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 057931/0392 →
SECURITY AGREEMENT Recorded Oct 1, 2021
From: DELL PRODUCTS, L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 057682/0830 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2021
From: SOUMPHOLPHAKDY, STEVEN; THYKEN, DANIEL RICHARD; BUSHARD, BRADLEY BRIAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 056829/0443 →
Continuity (1)
Related Publication 20230018476A1 · Jan 19, 2023