System, method, and computer program for protecting data in persistent memory
AssigneeLenovo Enterprise Solutions (Singapore) Pte. Ltd.
InventorsMakoto Ono, Sumeet Kochar, Nagananda Chumbalkar
Life of this patent
Estimating the term…
Abstract
According to one embodiment, a computer program embodied on a tangible computer readable medium includes computer code for identifying a first write to a first persistent memory on a first channel and a second write to a second persistent memory on a second channel, computer code for performing a third write to a third persistent memory on a third channel, where the third write includes parity data associated with the first write and the second write, computer code for identifying a failure of the second persistent memory, and computer code for generating recovery data for the second persistent memory, using the first channel, the third channel, and the parity data.
Claims18
A computer program embodied on a non-transitory computer readable medium, comprising:
- computer code for identifying a first write to a first persistent memory on a first channel and a second write to a second persistent memory on a second channel, where:
- persistent memory protection logic utilizes a first snooping channel to identify the first write to the first persistent memory on the first channel,
- the second channel is separate from the first channel, and
- the persistent memory protection logic utilizes a second snooping channel separate from the first snooping channel to identify the second write to the second persistent memory on the second channel;
- computer code for performing a third write to a third persistent memory on a third channel, where the third write includes parity data associated with the first write and the second write, and where the third channel is separate from the first channel and the second channel;
- computer code for identifying a failure of the second persistent memory;
- computer code for generating recovery data for the second persistent memory, using the first channel, the third channel, and the parity data;
- and
- computer code for sending the recovery data for the second persistent memory to a replacement memory that replaced the second persistent memory, using the second channel.
A method, comprising:
- identifying a first write to a first persistent memory on a first channel and a second write to a second persistent memory on a second channel, where:
- persistent memory protection logic utilizes a first snooping channel to identify the first write to the first persistent memory on the first channel,
- the second channel is separate from the first channel, and
- the persistent memory protection logic utilizes a second snooping channel separate from the first snooping channel to identify the second write to the second persistent memory on the second channel;
- performing a third write to a third persistent memory on a third channel, where the third write includes parity data associated with the first write and the second write, and where the third channel is separate from the first channel and the second channel;
- identifying a failure of the second persistent memory;
- generating recovery data for the second persistent memory, using the first channel, the third channel, and the parity data;
- and
- sending the recovery data for the second persistent memory to a replacement memory that replaced the second persistent memory, using the second channel.
A system, comprising:
- a processor and logic integrated with and/or executable by the processor, the logic being configured to:
- identify a first write of first data to a first persistent memory on a first channel and a second write of second data to a second persistent memory on a second channel, where:
- persistent memory protection logic utilizes a first snooping channel to identify the first write to the first persistent memory on the first channel,
- the second channel is separate from the first channel, and
- the persistent memory protection logic utilizes a second snooping channel separate from the first snooping channel to identify the second write to the second persistent memory on the second channel;
- generate a parity block by performing an XOR operation on the first data and the second data;
- perform a third write of the parity block to a third persistent memory on a third channel, and where the third channel is separate from the first channel and the second channel;
- identify a failure of the second persistent memory;
- and
- recreate the second data as recovery data, using the first data, the parity block, and the XOR operation;
- and
- send the recovery data for the second persistent memory to a replacement memory that replaced the second persistent memory, using the second channel.
Dependencies are inferred from the claim text.