IP Library › Granted Patent US 10,402,287
Granted Patent B2
US 10,402,287 · App. 15/500,064 · Granted Sep 3, 2019

Preventing data corruption and single point of failure in a fault-tolerant memory

Inventors: Derek Alan Sherlock (Fort Collins, CO); Harvey Ray (Fort Collins, CO); Chris Michael Brueggen (Plano, TX)
Assignee: Hewlett Packard Enterprise Development LP
G06F11/2092G06F11/108G06F11/2094G06F2201/805
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,402,287
App. No.
15/500,064
Granted
Sep 3, 2019
Kind
B2
Abstract

According to an example, data corruption and single point of failure is prevented in a fault-tolerant memory fabric with multiple redundancy controllers by granting, by a parity media controller, a lock of a stripe to a redundancy controller to perform a sequence on the stripe. The lock may be broken in response to determining a failure of the redundancy controller prior to completing the sequence. In response to breaking the lock, the parity cacheline of the stripe may be flagged as invalid. Also, a journal may be updated to document the breaking of the lock.

Claims (32)

1. A method for preventing data corruption and single point of failure in a fault-tolerant memory fabric with multiple redundancy controllers, the method comprising:

granting, by a media controller, a first lock of a stripe to a first redundancy controller to perform a sequence on the stripe;

breaking the first lock in response to determining a failure of the first redundancy controller prior to completing the sequence;

flagging a parity cacheline of the stripe as invalid in response to breaking the first lock; and

updating a journal to document the breaking of the first lock.

2. The method of claim 1 , wherein determining the failure of the first redundancy controller comprises determining that a duration of the first lock has exceeded a predetermined time threshold.

3. The method of claim 1 , wherein flagging the parity cacheline of the stripe further comprises granting a second lock for the stripe to a second redundancy controller.

4. The method of claim 3 , wherein granting the second lock for the stripe to the second redundancy controller comprises transmitting an indication that the parity cacheline of the stripe has been flagged as invalid with the grant of the second lock.

5. The method of claim 4 , wherein transmitting the indication further comprises triggering the second redundancy controller to initiate a rebuild sequence of the stripe.

6. The method of claim 1 , wherein updating the journal to document the breaking of the first lock further comprises:

transmitting an entry of the journal to a firmware health monitor, wherein the transmitted entry triggers a rebuild sequence of the stripe by a second redundancy controller.

7. A media controller to prevent data corruption and single point of failure in a fault-tolerant memory fabric with multiple redundancy controllers, the media controller comprising:

a lock grant module to grant a first lock for a stripe to a first redundancy controller;

a duration determination module to determine that a duration of the first lock has exceeded a predetermined time threshold,

a lock break module to break the first lock of the stripe;

a flag module to flag a parity cacheline of the stripe as invalid; and

a journal update module to update a journal to document the breaking of the first lock.

8. The media controller of claim 7 , wherein to flag the parity cacheline of the stripe, the flag module is to grant a second lock for the stripe to a second redundancy controller.

9. The media controller of claim 8 , wherein to grant the second lock for the stripe to the second redundancy controller, the lock grant module is to transmit an indication that the parity cacheline of the stripe has been flagged as invalid with the grant of the second lock.

10. The media controller of claim 9 , wherein to transmit the indication, the lock grant module is to initiate a rebuild sequence of the stripe.

11. The media controller of claim 7 , wherein to update the journal to document the breaking of the first lock, the journal update module is to:

transmit an entry of the journal to a firmware health monitor, wherein the transmitted entry triggers a rebuild sequence of the stripe by a second redundancy controller.

12. A non-transitory computer readable medium to prevent data corruption and single point of failure in a fault-tolerant memory, including machine readable instructions executable by a processor to:

break a first lock of a stripe in response to determining that a duration of the first lock has exceeded a predetermined time threshold;

flag a parity cacheline of the stripe as invalid; and

update a journal to document the breaking of the first lock.

13. The non-transitory computer readable medium of claim 12 , wherein to flag the parity cacheline of the stripe, the machine readable instructions are executable by the processor to:

grant a second lock for the stripe to an operating redundancy controller; and

transmit an indication that the parity cacheline of the stripe has been flagged as invalid with the grant of the second lock.

14. The non-transitory computer readable medium of claim 13 , wherein to transmit the indication, the machine readable instructions are executable by the processor to trigger the operating redundancy controller to initiate a rebuild sequence of the stripe.

15. The non-transitory computer readable medium of claim 12 , wherein to update the journal to document the breaking of the first lock, the machine readable instructions are executable by the processor to:

update an entry of the journal to a firmware health monitor, wherein the entry triggers a rebuild sequence of the stripe by a second redundancy controller.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2017
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 042599/0047 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 041171 FRAME: 0494. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 8, 2017
From: SHERLOCK, DEREK ALAN; RAY, HARVEY; BRUEGGEN, CHRIS MICHAEL
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 042419/0904 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2017
From: SHERLOCK, DEREK ALAN; RAY, HARVEY; BRUEGGEN, CHRIS MICHAEL
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 041171/0494 →
Continuity (1)
Related Publication 20170249223A1 · Aug 31, 2017