Serializing access to fault tolerant memory
AssigneeHewlett Packard Enterprise Development LP
InventorsHarvey Ray, Gary Gostin, Derek Alan Sherlock, Gregg B. Lesartre
Life of this patent
Estimating the term…
Abstract
According to an example, a lock may be requested by a first redundancy controller from a parity media controller to perform a first sequence that accesses multiple memory modules in a stripe. The lock may be acquired for the stripe so that the first sequence may be performed on the stripe. The lock may then be released from the stripe.
Claims14
A method to serialize concurrent accesses by multiple redundancy controllers to fault tolerant memory, the method comprising:
- requesting, by a first redundancy controller, a lock from a parity media controller to perform a first sequence that accesses multiple memory modules in a stripe
- acquiring the lock for the stripe;
- performing the first sequence on the stripe;
- and
- releasing the lock for the stripe,
- wherein acquiring the lock for the stripe comprises:
- determining from a stripe-specific flag in the parity media controller whether the stripe is locked or unlocked;
- and
- in response to the stripe being currently locked, adding the lock request to a conflict queue of the parity media controller for later grant of the lock when the current lock is released, and
- in response to the stripe being unlocked, acquiring the lock for the stripe;
- and
- wherein releasing the lock for the stripe comprises:
- identifying that a duration of the lock has exceeded a predetermined time threshold;
- removing the lock for the stripe;
- flagging the stripe's parity cacheline as invalid.
A computing device to serialize concurrent accesses by multiple redundancy controllers to fault tolerant memory, comprising:
- a hardware redundancy controller to:
- access a media controller that hosts a parity cacheline in a stripe prior to performing a sequence that accesses multiple memory modules in the stripe;
- and
- obtain a lock for the stripe from the media controller, wherein to obtain the lock for the stripe, the media controller is to:
- determine from a stripe-specific flag in the media controller whether the stripe is locked or unlocked;
- and
- in response to the stripe being currently locked, add the lock request to a conflict queue for later granting of the lock when the current lock is released, and
- in response to the stripe being unlocked, obtain the lock for the stripe;
- and
- wherein the media controller is to:
- identify that a duration of the lock has exceeded a predetermined time thershold;
- release the lock for the stripe;
- and
- flag the stripe's parity as invalid.
A system to serialize concurrent accesses by multiple redundancy controllers to fault tolerant memory, comprising:
- a plurality of servers comprising a plurality of redundancy controllers, each of the redundancy controllers being dedicated to one of the plurality of servers;
- a plurality of memory modules each including a media controller and a memory, wherein the memory modules are connected to the plurality of redundancy controllers through a memory fabric,
- wherein each of the redundancy controllers is to:
- determine that a first sequence accesses multiple memory modules in a stripe;
- acquire a lock for the stripe from a parity media controller to perform the first sequence;
- perform the first sequence on the stripe;
- and
- release the lock for the stripe;
- wherein to release the lock for the stripe, the media controller is to:
- identify that a duration of the lock has exceeded a predetermined time thershold;
- release the lock for the stripe;
- and
- flag the stripe's parity cacheline as invalid.
Dependencies are inferred from the claim text.