IP Library Granted Patent US 12,554,397
Granted Patent B2
US 12,554,397 · App. 18/745,293 · Granted Feb 17, 2026

Data validation checkpoint and flash memory rollback

Inventors: Lee Jason Sanders (Chichester, GB); Roderick Guy Charles Moore (Bournemouth, GB); Florent Christian Rostagni (Eastleigh, GB); Paul Nicholas Cashman (Burnham-on-Sea, GB)
Assignee: International Business Machines Corporation
G06F3/0604G06F3/0655G06F3/0676G06F3/0679
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 12,554,397
App. No.
18/745,293
Granted
Feb 17, 2026
Kind
B2
Abstract

A method, system, computer program product, and computer program for managing data in a storage system, the storage system comprising: a set of subsystems comprising: a structure comprising a set of mappings between logical and mapped addresses; and a storage device comprising a first data version at a first mapped address; the method comprising: for at least one substructure: providing, in the structure, for the first logical address, a verified pointer to the first mapped address; writing a second data version for a second mapped address, the second mapped address different from the first mapped address; providing, in the structure, for the first logical address a write-head pointer to the second mapped address; gathering the second data version to determine metadata for the second data version, the metadata associated with an indicator; in response to the indicator comprising a verify indicator; updating the verify pointer to the second mapped address.

Claims (60)

1 . A method for managing data in a storage system, the storage system comprising: a set of subsystems, each subsystem comprising:

a structure comprising a set of mappings between logical addresses and mapped addresses; and a storage device comprising a first data version for the first logical address at a first mapped address; the method comprising:

for at least one substructure:

providing, in the structure, for the first logical address, a verified pointer to the first mapped address;

writing a second data version for the first logical address at a second mapped address, the second mapped address different from the first mapped address;

providing, in the structure, for the first logical address a write-head pointer to the second mapped address;

gathering the second data version to determine metadata for the second data version, the metadata associated with an indicator; and

in response to the indicator comprising a verify indicator, updating the verify pointer to the second mapped address.

2 . The method of claim 1 , further comprising, in response to the indicator comprising a non-verify indicator, reading the first data version and the second data version.

3 . The method of claim 1 , further comprising, in response to the indicator comprising a non-verify indicator, updating the write-head pointer to the first mapped address.

4 . The method of claim 1 , wherein the storage device comprises a set of further data versions at respective further addresses, the method further comprising, in response to the indicator comprising a verify indicator, adding the first data version at the first mapped address to the set of further data versions.

5 . The method of claim 4 further comprising, in response to the indicator comprising a non-verify indicator, adding the second data version at the second mapped address to the set of further data versions.

6 . The method of claim 4 further comprising garbage collecting the set of further data versions by deleting the set of further data versions.

7 . The method of claim 1 , wherein the mapped address comprises a physical address of the storage device.

8 . The method of claim 1 , wherein the storage device is one of a list, the list comprising: a storage controller; Flash memory; a disk drive; and other writable storage devices that allow for logical to physical mappings.

9 . The method of claim 1 , wherein the structure is a log structured array.

10 . The method of claim 1 , wherein the storage device is operable for storing data sequentially.

11 . The method of claim 1 , further comprising:

identifying a set of first logical addresses identified with a storage volume;

for each subsystem associated with the storage volume;

analysing the second data version to determine a collated metadata set;

analysing the collated metadata set to determine the indicator for the storage volume; and

providing the indicator to each of the subsystems associated with the storage volume.

12 . The method of claim 11 , wherein analysing the collated metadata set comprises performing a Shannon entropy analysis.

13 . The method of claim 11 , wherein in response to the indicator comprising a non-verify indicator, for each subsystem associated with the storage volume reading the first data version and the second data version;

collating each of the first data versions into a first volume version;

collating each of the second data versions to a second volume version; and

comparing the first volume version with the second volume version to select a chosen volume version.

14 . The method of claim 13 , wherein in response to the chosen volume version being the first volume version, for each of the storage devices associated with the storage volume, updating the write-head pointer to the first mapped address.

15 . The method of claim 13 , wherein in response to the chosen volume version being the second volume version, for each of the storage devices associated with the storage volume, updating the verify pointer to the second mapped address.

16 . A system for managing data in a storage system, the storage system comprising: a set of subsystems, each subsystem comprising:

a structure comprising a set of mappings between logical addresses and mapped addresses; and a storage device comprising a first data version for the first logical address at a first mapped address; the system comprising:

for at least one substructure:

providing, in the structure, for the first logical address, a verified pointer to the first mapped address;

writing a second data version for the first logical address at a second mapped address, the second mapped address different from the first mapped address;

providing, in the structure, for the first logical address a write-head pointer to the second mapped address;

gathering the second data version to determine metadata for the second data version, the metadata associated with an indicator; and

responsive to the indicator comprising a verify indicator; updating the verify pointer to the second mapped address.

17 . The system of claim 16 , further comprising, responsive to the indicator comprising a non-verify indicator, reading the first data version and the second data version.

18 . The system of claim 16 , further comprising, responsive to the indicator comprising a non-verify indicator, updating the write-head pointer to the first mapped address.

19 . The system of claim 16 , wherein the storage device comprises

a set of further data versions at respective further addresses, the system further comprising, responsive to the indicator comprising a verify indicator, adding the first data version at the first mapped address to the set of further data versions.

20 . The system of claim 19 further comprising, responsive to the indicator comprising a non-verify indicator, adding the second data version at the second mapped address to the set of further data versions.

21 . The system of claim 19 further comprising garbage collecting the set of further data versions by deleting the set of further data versions.

22 . The system of claim 16 , further comprising:

identifying a set of first logical addresses identified with a storage volume;

for each subsystem associated with the storage volume:

analysing the second data version to determine a collated metadata set; and

analysing the collated metadata set to determine the indicator for the storage volume; and

providing the indicator to each of the subsystems associated with the storage volume.

23 . The system of claim 22 , wherein analysing the collated metadata set comprises performing a Shannon entropy analysis.

24 . A computer program product for managing a storage system,

the storage system comprising: a set of subsystems, each subsystem comprising,

a structure comprising a set of mappings between logical addresses and mapped addresses; and a computer readable storage medium comprising a first data version for the first logical address at a first mapped address; the computer program product comprising:

for at least one substructure:

providing, in the structure, for the first logical address, a verified pointer to the first mapped address;

writing a second data version for the first logical address at a second mapped address, the second mapped address different from the first mapped address;

providing, in the structure, for the first logical address a write-head pointer to the second mapped address;

gathering the second data version to determine metadata for the second data version, the metadata associated with an indicator; and

in response to the indicator comprising a verify indicator, updating the verify pointer to the second mapped address.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2024
From: SANDERS, LEE JASON; MOORE, RODERICK GUY CHARLES; ROSTAGNI, FLORENT CHRISTIAN; CASHMAN, PAUL NICHOLAS
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 067745/0916 →
Priority Claims (1)
GB 2406583 · May 10, 2024 · national
Continuity (1)
Related Publication 20250348212A1 · Nov 13, 2025
References Cited (12)
US 10409986B1 · Natanzon · 2019 [cited by applicant]
US 11663336B1 · Armangau · 2023 [cited by applicant]
US 20110078407A1 · Lewis · 2011 [cited by examiner]
US 20160147468A1 · Desai et al. · 2016 [cited by applicant]
US 20200097653A1 · Mehta · 2020 [cited by applicant]
US 20200250305A1 · Pendyala · 2020 [cited by applicant]
US 20200342106A1 · Chelarescu · 2020 [cited by applicant]
US 20210011845A1 · Huang · 2021 [cited by applicant]
US 20230252165A1 · De'Souza · 2023 [cited by applicant]
US 20230325504A1 · Armangau · 2023 [cited by applicant]
Intellectual Property Office, Patents Act 1977: Examination Report under Section 17(5), Dec. 18, 2024, 3 Pages, GB Application No. 2406583.1. [cited by applicant]
International Searching Authority, “Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or Declaration,” Patent Cooperation Treaty, Jul. 10, 2… [cited by applicant]