Patents by Inventor Andrew D. Walls

Andrew D. Walls has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20250068734
    Abstract: Provided are a computer program product, system, and method for aggregating input/output operation features extracted from storage devices to form a machine learning vector to check for malware. Feature extraction functions are generated for the storage devices, indicating I/O operation features for the storage devices to gather. The feature extraction functions are communicated to the storage devices. The feature extraction functions transmitted to the storage devices cause the storage devices to gather information on I/O operation features, identified in the feature extraction functions, from the storage devices and transmit the information on the I/O operation features to the storage controller. The information on the I/O operation features are received from the storage devices. Information based on the received information on the I/O operation features are inputted into a machine learning model to output indication whether data in the storage devices contains malware.
    Type: Application
    Filed: August 21, 2023
    Publication date: February 27, 2025
    Inventors: Roman Alexander Pletka, Dionysios Diamantopoulos, Slavisa Sarafijanovic, Charalampos Pozidis, Yves Alexandre Beraldo dos Santos, Andrew D. Walls
  • Patent number: 12222800
    Abstract: A technique for writing data to pages in a QLC block of a QLC NAND flash memory device, where the device comprises a plurality of SLC pages organized in SLC blocks and a plurality of QLC pages organized in QLC blocks. The technique comprises storing received data in SLC pages, dividing equally a QLC block in a predefined number of sub-blocks according to a corresponding QLC page health status of the pages of the QLC block. Upon determining that SLC pages are to be copied from SLC pages to QLC pages, copying device-internal the respective SLC pages to the sub-blocks of the QLC block using device-internal cache registers, where the copying is based on an error-count aware scheme.
    Type: Grant
    Filed: July 7, 2023
    Date of Patent: February 11, 2025
    Assignee: International Business Machines Corporation
    Inventors: Nikolaos Papandreou, Timothy J. Fisher, Roman Alexander Pletka, Charalampos Pozidis, Radu Ioan Stoica, Aaron Daniel Fry, Andrew D. Walls
  • Publication number: 20240427515
    Abstract: A non-volatile memory includes physical blocks each including a respective plurality of cells, where each cell is capable of storing multiple bits of data. A controller maintains dynamically resizable pools of physical blocks, including at least a low-density pool in which cells are configured to store fewer bits and a high-density pool in which cells are configured to store more bits. The controller repeatedly dynamically resizes the low-density and the high-density pools based on write utilization of the non-volatile memory.
    Type: Application
    Filed: June 23, 2023
    Publication date: December 26, 2024
    Inventors: Roman Alexander PLETKA, Nikolaos PAPANDREOU, M. Dean SCIACCA, Timothy J. Fisher, Aaron Daniel FRY, Radu Ioan STOICA, Charalampos POZIDIS, Andrew D. WALLS
  • Publication number: 20240362168
    Abstract: A computer-implemented method, a computer program product, and a computer system for handling logical-to-physical table (LPT) entries. A computer implements a class of metadata including a logical-to-physical table (LPT) and LPT entries corresponding to the class of metadata. A computer caches, from the logical-to-physical translation layer, selected metadata blocks in a non-durable cache, the selected metadata blocks being selected from the class of metadata. A computer reduces a size of the selected metadata blocks by encoding the LPT entries from the non-durable cache during write operations to a flash memory. A computer records a location in flash memory of the encoded LPT entries in the logical-to-physical translation layer.
    Type: Application
    Filed: April 27, 2023
    Publication date: October 31, 2024
    Inventors: Radu Ioan Stoica, Timothy J. Fisher, Nikolaos Papandreou, Roman Alexander Pletka, Aaron Daniel Fry, Charalampos Pozidis, Andrew D. Walls
  • Publication number: 20240330173
    Abstract: A controller of the solid-state drive (SSD) maintains a logical-to-physical translation layer, wherein metadata for the logical-to-physical translation layer is stored in metadata pages in a flash memory of the SSD. The controller tracks a write heat of the metadata pages. The controller stores relatively more frequently accessed metadata pages in a non-durable cache of the SSD. The controller prioritized metadata write operations based on write heat of the metadata pages, such that a NAND flash block of the flash memory contains metadata pages with a similar write heat, wherein extents with similar write heats are grouped together into a stripe that stores extent data, and wherein write heats of the extents with the similar write heats do not differ from each other beyond a predetermined threshold.
    Type: Application
    Filed: March 29, 2023
    Publication date: October 3, 2024
    Inventors: Radu Ioan STOICA, Dan LAZAR, Timothy J. FISHER, Nikolaos PAPANDREOU, Roman Alexander PLETKA, Charalampos POZIDIS, Aaron Daniel FRY, Andrew D. WALLS
  • Patent number: 12093171
    Abstract: A non-volatile memory includes physical blocks each including a respective plurality of cells, where each cell is capable of storing multiple bits of data. A controller maintains dynamically resizable pools of physical blocks, including at least a low-density pool in which cells are configured to store fewer bits and a high-density pool in which cells are configured to store more bits. The controller determines whe ther total utilization of physical blocks is less than a low-density pool utilization threshold above which the high-density pool of physical blocks is utilized for storing host write data and additionally identifies cold in-use logical block address (LBA) regions having low total access frequencies. Based on determining the total utilization of physical blocks is less than the low-density pool utilization threshold, the controller performs data placement of data from the cold in-use LBA regions in blocks of the high-density pool.
    Type: Grant
    Filed: May 23, 2023
    Date of Patent: September 17, 2024
    Assignee: International Business Machines Corporation
    Inventors: Roman Alexander Pletka, Andrew D. Walls, Nikolaos Papandreou, Radu Ioan Stoica, Timothy J. Fisher, Aaron Daniel Fry, Charalampos Pozidis, Nikolas Ioannou
  • Publication number: 20240296085
    Abstract: A technique for writing data to pages in a QLC block of a QLC NAND flash memory device, where the device comprises a plurality of SLC pages organized in SLC blocks and a plurality of QLC pages organized in QLC blocks. The technique comprises storing received data in SLC pages, dividing equally a QLC block in a predefined number of sub-blocks according to a corresponding QLC page health status of the pages of the QLC block. Upon determining that SLC pages are to be copied from SLC pages to QLC pages, copying device-internal the respective SLC pages to the sub-blocks of the QLC block using device-internal cache registers, where the copying is based on an error-count aware scheme.
    Type: Application
    Filed: July 7, 2023
    Publication date: September 5, 2024
    Inventors: Nikolaos Papandreou, Timothy J. Fisher, Roman Alexander Pletka, Charalampos Pozidis, Radu Ioan Stoica, Aaron Daniel Fry, Andrew D. Walls
  • Publication number: 20240256440
    Abstract: A non-volatile memory includes physical blocks each including a respective plurality of cells, where each cell is capable of storing multiple bits of data. A controller maintains dynamically resizable pools of physical blocks, including at least a low-density pool in which cells are configured to store fewer bits and a high-density pool in which cells are configured to store more bits. The controller determines whether total utilization of physical blocks is less than a low-density pool utilization threshold above which the high-density pool of physical blocks is utilized for storing host write data and additionally identifies cold in-use logical block address (LBA) regions having low total access frequencies. Based on determining the total utilization of physical blocks is less than the low-density pool utilization threshold, the controller performs data placement of data from the cold in-use LBA regions in blocks of the high-density pool.
    Type: Application
    Filed: May 23, 2023
    Publication date: August 1, 2024
    Inventors: Roman Alexander PLETKA, Andrew D. WALLS, Nikolaos PAPANDREOU, Radu Ioan STOICA, Timothy J. FISHER, Aaron Daniel FRY, Charalampos POZIDIS, Nikolas IOANNOU
  • Patent number: 11762569
    Abstract: A computer-implemented method, according to one embodiment, includes: maintaining a first subset of the plurality of blocks in a first pool, where the blocks maintained in the first pool are configured in SLC mode. A second subset of the plurality of blocks is maintained in a second pool, where the blocks maintained in the second pool are configured in multi-bit-per-cell mode. A current I/O rate for the memory is identified during runtime, and a determination is made as to whether the current I/O rate is outside a first range. In response to determining that the current I/O rate is not outside the first range, the blocks maintained in the first pool are used to satisfy incoming host writes. Moreover, in response to determining that the current I/O rate is outside the first range, the blocks maintained in the second pool are used to satisfy incoming host writes.
    Type: Grant
    Filed: October 29, 2019
    Date of Patent: September 19, 2023
    Assignee: International Business Machines Corporation
    Inventors: Radu Ioan Stoica, Roman Alexander Pletka, Timothy Fisher, Nikolaos Papandreou, Sasa Tomic, Nikolas Ioannou, Aaron Daniel Fry, Charalampos Pozidis, Andrew D. Walls
  • Patent number: 11756644
    Abstract: A memory controller receives a multi-plane read request and identifies a set of actual read offsets for a set of pages in the multi-plane read request. The memory controller calculates a common read offset using the set of actual read offsets. The memory controller calculates an offset difference for. Each page. Each offset difference reflects the difference between an actual read offset for that page and the common read offset. The memory controller compares a particular page's offset difference to an offset difference threshold. The memory controller categorizes, based on the comparing, a first subset of pages from the set of pages into a single plane group and a second subset of pages from the set of pages into a multi-plane group. The memory controller performs a multi-plane read on the multi-plane group.
    Type: Grant
    Filed: June 23, 2021
    Date of Patent: September 12, 2023
    Assignee: International Business Machines Corporation
    Inventors: Nikolaos Papandreou, Nikolas Ioannou, Roman Alexander Pletka, Radu Ioan Stoica, Charalampos Pozidis, Timothy J. Fisher, Andrew D. Walls
  • Publication number: 20220415424
    Abstract: A memory controller receives a multi-plane read request and identifies a set of actual read offsets for a set of pages in the multi-plane read request. The memory controller calculates a common read offset using the set of actual read offsets. The memory controller calculates an offset difference for. Each page. Each offset difference reflects the difference between an actual read offset for that page and the common read offset. The memory controller compares a particular page's offset difference to an offset difference threshold. The memory controller categorizes, based on the comparing, a first subset of pages from the set of pages into a single plane group and a second subset of pages from the set of pages into a multi-plane group. The memory controller performs a multi-plane read on the multi-plane group.
    Type: Application
    Filed: June 23, 2021
    Publication date: December 29, 2022
    Inventors: Nikolaos Papandreou, Nikolas Ioannou, Roman Alexander Pletka, Radu Ioan Stoica, Charalampos Pozidis, Timothy J. Fisher, Andrew D. Walls
  • Patent number: 11360903
    Abstract: A computer-implemented method, according to one approach, includes: determining a current read heat value of each logical page which corresponds to write requests that have accumulated in a destage buffer. Each of the write requests is assigned to a respective write queue based on the current read heat value of each logical page which corresponds to the write requests. Moreover, each of the write queues correspond to a different page stripe which includes physical pages, the physical pages included in each of the respective page stripes being of a same type. Other systems, methods, and computer program products are described in additional approaches.
    Type: Grant
    Filed: February 3, 2021
    Date of Patent: June 14, 2022
    Assignee: International Business Machines Corporation
    Inventors: Roman Alexander Pletka, Timothy Fisher, Aaron Daniel Fry, Nikolaos Papandreou, Nikolas Ioannou, Sasa Tomic, Radu Ioan Stoica, Charalampos Pozidis, Andrew D. Walls
  • Patent number: 11301170
    Abstract: A computer-implemented method, according to one embodiment, includes: receiving a sub-logical page read command for data stored in NVRAM at a first LBA, and creating a searchable entry which includes the first LBA. Data read from the NVRAM is also received, where the received data corresponds to a given LBA. In response to determining that the given LBA matches the first LBA of the searchable entry, a copy of the received data is stored in a buffer. Moreover, in response to determining that a received sub-logical page write command is for data stored in the NVRAM at the first LBA, the copy of the received data in the buffer is coalesced with data included in the sub-logical page write command to form a full-logical page write. Furthermore, instructions to perform the full-logical page write in the NVRAM are sent.
    Type: Grant
    Filed: March 5, 2020
    Date of Patent: April 12, 2022
    Assignee: International Business Machines Corporation
    Inventors: Kevin E. Sallese, Timothy Fisher, Andrew D. Walls
  • Patent number: 11264103
    Abstract: A computer-implemented method, according to one embodiment, includes: determining a current operating state of a block of memory. The block includes more than one type of page therein, and at least one read voltage is associated with each of the page types. The current operating state of the block is further used to produce a hybrid calibration scheme for the block which identifies a first subset of the read voltages, and a second subset of the read voltages. The read voltages in the second subset are further organized in one or more groupings. A unique read voltage offset value is calculated for each of the read voltages in the first subset, and a common read voltage offset value is also calculated for each grouping of read voltages in the second subset.
    Type: Grant
    Filed: August 28, 2019
    Date of Patent: March 1, 2022
    Assignee: International Business Machines Corporation
    Inventors: Nikolaos Papandreou, Charalampos Pozidis, Nikolas Ioannou, Roman Alexander Pletka, Radu Ioan Stoica, Sasa Tomic, Timothy Fisher, Aaron Daniel Fry, Andrew D. Walls
  • Patent number: 11182089
    Abstract: A computer-implemented method, according to one embodiment, includes: determining whether a number of blocks included in a first ready-to-use (RTU) queue is in a first range of the first RTU queue. In response to determining that the number of blocks included in the first RTU queue is in the first range, a determination is made as to whether a number of blocks included in a second RTU queue is in a second range of the second RTU queue. Moreover, in response to determining that the number of blocks included in the second RTU queue is not in the second range, valid data is relocated from one of the blocks in a first pool which corresponds to the first RTU queue. The block in the first pool is erased, and transferred from the first pool to the second RTU queue which corresponds to a second pool.
    Type: Grant
    Filed: July 1, 2019
    Date of Patent: November 23, 2021
    Assignee: International Business Machines.Corporation
    Inventors: Roman Alexander Pletka, Radu Ioan Stoica, Sasa Tomic, Nikolaos Papandreou, Nikolas Ioannou, Aaron Daniel Fry, Timothy Fisher, Charalampos Pozidis, Andrew D. Walls
  • Patent number: 11151053
    Abstract: A computer-implemented method, according to one embodiment, is for maintaining heat information of data while in a cache. The computer-implemented method includes: transferring data from non-volatile memory to the cache, such that the data is stored in a first page in the cache. Previous read and/or write heat information associated with the data is maintained by preserving one or more bits in a hash table which correspond to the data in the first page. Moreover, the data is destaged from the first page in the cache to the non-volatile memory, and the one or more bits in the hash table which correspond to the data are updated to reflect current read and/or write heat information associated with the data.
    Type: Grant
    Filed: August 7, 2019
    Date of Patent: October 19, 2021
    Assignee: International Business Machines Corporation
    Inventors: Nikolas Ioannou, Nikolaos Papandreou, Roman Alexander Pletka, Sasa Tomic, Radu Ioan Stoica, Timothy Fisher, Aaron Daniel Fry, Charalampos Pozidis, Andrew D. Walls
  • Publication number: 20210278996
    Abstract: A computer-implemented method, according to one embodiment, includes: receiving a sub-logical page read command for data stored in NVRAM at a first LBA, and creating a searchable entry which includes the first LBA. Data read from the NVRAM is also received, where the received data corresponds to a given LBA. In response to determining that the given LBA matches the first LBA of the searchable entry, a copy of the received data is stored in a buffer. Moreover, in response to determining that a received sub-logical page write command is for data stored in the NVRAM at the first LBA, the copy of the received data in the buffer is coalesced with data included in the sub-logical page write command to form a full-logical page write. Furthermore, instructions to perform the full-logical page write in the NVRAM are sent.
    Type: Application
    Filed: March 5, 2020
    Publication date: September 9, 2021
    Inventors: Kevin E. Sallese, Timothy Fisher, Andrew D. Walls
  • Patent number: 11042437
    Abstract: A computer-implemented method, according to one embodiment, includes: receiving, at a storage drive, a portion of a write command. Metadata information is extracted from the received portion of the write command, and sequentially added to a metadata buffer. Parity information is extracted from the received portion of the write command, and adding to a parity buffer. The data in the received portion of the write command is stored in a memory in the storage drive. A determination is also made as to whether an open segment in the memory which corresponds to the received portion of the write command has been filled. In response to determining that the open segment has been filled, the parity buffer is updated with the metadata information included in the metadata buffer. The metadata information and parity information is also destaged from the respective buffers to a physical storage location in the memory.
    Type: Grant
    Filed: July 10, 2019
    Date of Patent: June 22, 2021
    Assignee: International Business Machines Corporation
    Inventors: Ioannis Koltsidas, Charles J. Camp, Nikolas Ioannou, Roman A Pletka, Antonios K. Kourtis, Sasa Tomic, Radu I. Stoica, Christopher Dennett, Andrew D. Walls
  • Patent number: 11036580
    Abstract: A computer-implemented method, according to one embodiment, includes: sequentially adding metadata information that has been extracted from a received write command to a metadata buffer, and adding parity information that has been extracted from the received write command to a parity buffer. The data corresponding to the received write command is also sent to memory. A determination is made as to whether an open segment in the memory which corresponds to the write command has been filled. In response to determining that the open segment has been filled, the parity buffer is updated with the metadata information included in the metadata buffer. Moreover, the metadata information is destaged from the metadata buffer and parity information is destaged from the parity buffer to a physical storage location in the memory.
    Type: Grant
    Filed: July 10, 2019
    Date of Patent: June 15, 2021
    Assignee: International Business Machines Corporation
    Inventors: Ioannis Koltsidas, Charles J. Camp, Nikolas Ioannou, Roman A. Pletka, Antonios K. Kourtis, Sasa Tomic, Radu I. Stoica, Christopher Dennett, Andrew D. Walls
  • Patent number: 11036637
    Abstract: A computer-implemented method, according to one embodiment, includes: retrieving a physical block address corresponding to a logic block address, extracting information from the physical block address, and performing a lookup operation in cache using the extracted information. A range check of the physical block address is further performed in response to the lookup operation succeeding, while data is read from the cache in response to the range check succeeding. An architecture of the cache supports separation of data streams, as well as parallel writes to different non-volatile memory channels. The cache architecture further supports pipelining of the parallel writes to different non-volatile memory planes. Moreover, the non-volatile memory controller is configured to perform a direct memory lookup in the cache based on a physical block address.
    Type: Grant
    Filed: May 21, 2019
    Date of Patent: June 15, 2021
    Assignee: International Business Machines Corporation
    Inventors: Charles J. Camp, Timothy J. Fisher, Aaron D. Fry, Nikolas Ioannou, Ioannis Koltsidas, Roman Pletka, Sasa Tomic, Andrew D. Walls