IP Library › Granted Patent US 12,656,947
Granted Patent B2
US 12,656,947 · App. 18/514,888 · Granted Jun 16, 2026

Performing select input/output requests while in protected memory states

Inventors: Beth Ann Peterson (Tucson, AZ); Lokesh Mohan Gupta (Tucson, AZ); Matthew G. Borlick (Tucson, AZ); Clint A. Hardy (Tucson, AZ); Trang Thuy Le (San Jose, CA); Trinh Nguyen (San Jose, CA); Karl Allen Nielsen (Tucson, AZ)
Assignee: International Business Machines Corporation
G06F3/0604G06F3/0634G06F3/0659G06F3/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,656,947
App. No.
18/514,888
Granted
Jun 16, 2026
Kind
B2
Abstract

A computer-implemented method, according to one approach, includes: receiving an indication that memory has entered a protected state. An I/O request that is intended for a target location in the memory is also received. Moreover, the relative significance of the I/O request is evaluated, and in response to concluding the I/O request is sufficiently significant, the I/O request is performed at the target location. However, in response to concluding the I/O request is insufficiently significant, the I/O request is denied.

Claims (74)

1 . A computer-implemented method, comprising:

receiving an indication that a memory has entered a protected state in response to an error being experienced by a system having the memory;

receiving an input/output (I/O) request intended for a target location in the memory;

causing a trained machine learning model to determine an amount of available space that will be created in the memory as a result of performing the I/O request;

determining whether the target location is permitted to perform the I/O request while the memory is in the protected state by comparing the target location to memory blocks in a buffer, wherein the respective memory blocks include a number of invalid pages therein that is above a threshold; and

in response to determining the target location matches one of the memory blocks in the buffer and concluding the amount of available space that will be created in the memory as a result of performing the I/O request is in a predetermined range;

using a reserved portion of the memory to perform garbage collection on the target location, and

in response to the garbage collection being performed, causing the I/O request to be performed at the target location.

2 . The computer-implemented method of claim 1 , further comprising:

in response to determining the target location does not match any of the memory blocks in the buffer, denying the I/O request,

wherein the reserved portion of the memory is different from the target location.

3 . The computer-implemented method of claim 2 , wherein the machine learning model is trained to generate a classification value that represents a significance of the I/O request.

4 . The computer-implemented method of claim 3 , further comprising:

determining whether the classification value for the I/O request is in a predetermined range; and

in response to determining the classification value is outside the predetermined range, concluding the I/O request is sufficiently significant.

5 . The computer-implemented method of claim 4 , further comprising:

in response to determining the classification value is not outside the predetermined range, concluding the I/O request is insufficiently significant.

6 . The computer-implemented method of claim 1 , wherein the memory is non-volatile random-access memory (NVRAM).

7 . The computer-implemented method of claim 6 , wherein the memory is NAND Flash.

8 . A computer program product, comprising a computer readable storage medium having program instructions embodied therewith, the program instructions readable by a processor, executable by the processor, or readable and executable by the processor, to cause the processor to:

receive an indication that a memory has entered a protected state in response to an error being experienced by a system having the memory;

receive an input/output (I/O) request intended for a target location in the memory;

cause a trained machine learning model to determine an amount of available space that will be created in the memory as a result of performing the I/O request;

determine whether the target location is permitted to perform the I/O request while the memory is in the protected state by comparing the target location to memory blocks in a buffer, wherein the respective memory blocks include a number of invalid pages therein that is above a threshold; and

in response to determining the target location matches one of the memory blocks in the buffer and concluding the amount of available space that will be created in the memory as a result of performing the I/O request is in a predetermined range;

use a reserved portion of the memory to perform garbage collection on the target location, and

in response to the garbage collection being performed, cause the I/O request to be performed at the target location.

9 . The computer program product of claim 8 , wherein the program instructions are readable and/or executable by the processor to cause the processor to:

in response to determining the target location does not match any of the memory blocks in the buffer, denying the I/O request,

wherein the reserved portion of the memory is different from the target location.

10 . PREVIOUSLY PRESENTED) The computer program product of claim 9 , wherein the machine learning model is trained to generate a classification value that represents a significance of the I/O request.

11 . The computer program product of claim 10 , wherein the program instructions are readable and/or executable by the processor to cause the processor to:

determine whether the classification value for the I/O request is in a predetermined range; and

in response to determining the classification value is outside the predetermined range, conclude the I/O request is sufficiently significant.

12 . The computer program product of claim 11 , wherein the program instructions are readable and/or executable by the processor to cause the processor to:

in response to determining the classification value is not outside the predetermined range, conclude the I/O request is insufficiently significant.

13 . The computer program product of claim 8 , wherein the memory is non-volatile random-access memory (NVRAM).

14 . The computer program product of claim 13 , wherein the memory is NAND Flash.

15 . A system, comprising:

a memory;

a processor; and

logic integrated with the processor, executable by the processor, or integrated with and executable by the processor, the logic being configured to:

receive an indication that the memory has entered a protected state in response to an error being experienced by a system having the memory;

receive an input/output (I/O) request intended for a target location in the memory;

cause a trained machine learning model to determine an amount of available space that will be created in the memory as a result of performing the I/O request;

determine whether the target location is permitted to perform the I/O request while the memory is in the protected state by comparing the target location to memory blocks in a buffer, wherein the respective memory blocks include a number of invalid pages therein that is above a threshold; and

in response to determining the target location matches one of the memory blocks in the buffer and concluding the amount of available space that will be created in the memory as a result of performing the I/O request is in a predetermined range;

use a reserved portion of the memory to perform garbage collection on the target location, and

in response to the garbage collection being performed, cause the I/O request to be performed at the target location.

16 . The system of claim 15 , wherein the logic is further configured to:

in response to determining the target location does not match any of the memory blocks in the buffer, denying the I/O request,

wherein the reserved portion of the memory is different from the target location.

17 . The system of claim 16 , wherein the machine learning model is trained to generate a classification value that represents a significance of the I/O request.

18 . The system of claim 17 , wherein the logic is further configured to:

determine whether the classification value for the I/O request is in a predetermined range; and

in response to determining the classification value is outside the predetermined range, conclude the I/O request is sufficiently significant; and

in response to determining the classification value is not outside the predetermined range, conclude the I/O request is insufficiently significant.

19 . A computer-implemented method, comprising:

in response to an error being experienced by a system, receiving an indication that memory in the system has entered a protected state;

sending, to a host location, a request for locations in the memory that are permitted to perform I/O requests while the memory is in the protected state;

receiving, from the host location, registers of target locations in the memory that are permitted to perform I/O requests while the memory is in the protected state;

determining whether the target locations are permitted to perform a given I/O request while the memory is in the protected state by comparing the respective target locations to memory blocks in a buffer, wherein the respective memory blocks include a number of invalid pages therein that is above a threshold; and

in response to determining: one or more of the target locations match corresponding one or more of the memory blocks in the buffer, and concluding an amount of available space that will be created in the memory as a result of performing the given I/O request is in a predetermined range:

using a reserved portion of the memory to perform garbage collections on the one or more target locations.

20 . The computer-implemented method of claim 19 , wherein the host location includes a host logical partition, wherein the host logical partition is correlated with the target locations in the memory such that the host logical partition is permitted to perform I/O requests at the target locations while the memory is in the protected state.

21 . The computer-implemented method of claim 19 , further comprising:

receiving an I/O request, wherein the I/O request is an addressing and control command.

22 . A computer program product, comprising a computer readable storage medium having program instructions embodied therewith, the program instructions readable by a processor, executable by the processor, or readable and executable by the processor, to cause the processor to:

in response to an error being experienced by a system, receive an indication that memory in the system has entered a protected state;

send, to a host location, a request for locations in the memory that are permitted to perform I/O requests while the memory is in the protected state;

receive, from the host location, registers of target locations in the memory that are permitted to perform I/O requests while the memory is in the protected state;

determine whether the target locations are permitted to perform a given I/O request while the memory is in the protected state by comparing the respective target locations to memory blocks in a buffer, wherein the respective memory blocks include a number of invalid pages therein that is above a threshold; and

in response to determining: one or more of the target locations match corresponding one or more of the memory blocks in the buffer, and concluding an amount of available space that will be created in the memory as a result of performing the given I/O request is in a predetermined range:

use a reserved portion of the memory to perform garbage collections on the one or more target locations.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2023
From: PETERSON, BETH ANN; GUPTA, LOKESH MOHAN; BORLICK, MATTHEW G.; HARDY, CLINT A.; LE, TRANG THUY; NGUYEN, TRINH; NIELSEN, KARL ALLEN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 065646/0040 →
Continuity (1)
Related Publication 20250165140A1 · May 22, 2025
References Cited (51)
US 5701417A · Lewis · 1997 [cited by examiner]
US 8959305B1 · Lecrone et al. · 2015 [cited by applicant]
US 9436595B1 · Benitez · 2016 [cited by examiner]
US 10705764B2 · Wilcock · 2020 [cited by applicant]
US 11163477B2 · LeCrone et al. · 2021 [cited by applicant]
US 11194502B1 · Lin · 2021 [cited by examiner]
US 11461018B2 · Quinn et al. · 2022 [cited by applicant]
US 20040049645A1 · Lee et al. · 2004 [cited by applicant]
US 20070055837A1 · Rajagopal · 2007 [cited by examiner]
US 20080034174A1 · Traister · 2008 [cited by examiner]
US 20080126675A1 · Fu · 2008 [cited by applicant]
US 20080170436A1 · Chun et al. · 2008 [cited by applicant]
US 20090271763A1 · Varma et al. · 2009 [cited by applicant]
US 20110087870A1 · Spangler · 2011 [cited by examiner]
US 20110258410A1 · Lambert et al. · 2011 [cited by applicant]
US 20130080726A1 · Kegel et al. · 2013 [cited by applicant]
US 20130247231A1 · Sibert · 2013 [cited by examiner]
US 20160231945A1 · Choudhuri · 2016 [cited by examiner]
US 20160320985A1 · Thomas · 2016 [cited by applicant]
US 20170052719A1 · Boitei · 2017 [cited by examiner]
US 20170060783A1 · Chiu et al. · 2017 [cited by applicant]
US 20170102884A1 · Kim · 2017 [cited by examiner]
US 20170123972A1 · Gopinath · 2017 [cited by examiner]
US 20180024763A1 · Kodera · 2018 [cited by examiner]
US 20190056999A1 · Foxworth · 2019 [cited by examiner]
US 20210103390A1 · Yano · 2021 [cited by examiner]
US 20210200720A1 · Ramabhadran · 2021 [cited by examiner]
US 20210326217A1 · Martin et al. · 2021 [cited by applicant]
US 20220398029A1 · A Shaheed et al. · 2022 [cited by applicant]
US 20220414004A1 · Brewer et al. · 2022 [cited by applicant]
US 20230169156A1 · Mozano · 2023 [cited by examiner]
US 20240069729A1 · Sangle · 2024 [cited by examiner]
US 20240419326A1 · Choudhary · 2024 [cited by examiner]
US 20250165145A1 · Peterson et al. · 2025 [cited by applicant]
TW 202301133A · 2023 [cited by applicant]
TW 202531003A · 2025 [cited by applicant]
WO 2025108697A1 · 2025 [cited by applicant]
WO 2025108698A1 · 2025 [cited by applicant]
Geeks for Geeks, Memory Organisation in Computer Architecture, Feb. 13, 2020, https://www.geeksforgeeks.org/memory-organisation-in-computer-architecture/?ref=ml_lbp (Year: 2020). [cited by examiner]
Microsoft Computer Dictionary (5th Edition) (Year: 2002). [cited by examiner]
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, Feb. 13, 2… [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, Feb. 13, 2… [cited by applicant]
United States Non-Final Rejection dated Mar. 14, 2025, 40 pages in U.S. Appl. No. 18/514,965. [cited by applicant]
Dehn, B., “Reclaiming Storage in a SAN Environment: the Good, the Bad, and the Ugly,” EMC Proven Professional Sharing, 2009, 35 pages. [cited by applicant]
Vmware, “vSphere Storage,” Vmware, Inc., Update 3,2023, 421 pages. [cited by applicant]
Anonymous, “Method for Prioritizing Host I/O Over Flash Memory Garbage Collection Using Resource Awareness,” IP.com Prior Art Database, Technical Disclosure No. IPCOM000271225D, Nov. 16, 2022, 3 pages. [cited by applicant]
Anonymous, “Method for Tape to Cloud reclamation and defragmentation,” IP.com Prior Art Database, Technical Disclosure No. IPCOM000239024D, Oct. 1, 2014, 3 pages. [cited by applicant]
Anonymous, “Method and System for Coordinating Reclamation of Space in Hard Disks/Partitions in a Stream Processing Graph,” IP.com Prior Art Database, Technical Disclosure No. IPCOM000198698D, Aug. 12, 2010, 2 pages. [cited by applicant]
Biswal, D., “Adaptive Thin Reclamation on Storage Volumes,” IP.com Prior Art Database, Technical Disclosure No. IPCOM000207293D, May 24, 2011, 4 pages. [cited by applicant]
Peterson B., U.S. Appl. No. 18/514,965, filed Nov. 20, 2023. [cited by applicant]
IBM, List of IBM Patents Or Patent Applications Treated As Related, dated Nov. 21, 2023, 2 pages. [cited by applicant]