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: 20250068734Abstract: 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: ApplicationFiled: August 21, 2023Publication date: February 27, 2025Inventors: Roman Alexander Pletka, Dionysios Diamantopoulos, Slavisa Sarafijanovic, Charalampos Pozidis, Yves Alexandre Beraldo dos Santos, Andrew D. Walls
-
Patent number: 12222800Abstract: 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: GrantFiled: July 7, 2023Date of Patent: February 11, 2025Assignee: International Business Machines CorporationInventors: Nikolaos Papandreou, Timothy J. Fisher, Roman Alexander Pletka, Charalampos Pozidis, Radu Ioan Stoica, Aaron Daniel Fry, Andrew D. Walls
-
Publication number: 20240427515Abstract: 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: ApplicationFiled: June 23, 2023Publication date: December 26, 2024Inventors: Roman Alexander PLETKA, Nikolaos PAPANDREOU, M. Dean SCIACCA, Timothy J. Fisher, Aaron Daniel FRY, Radu Ioan STOICA, Charalampos POZIDIS, Andrew D. WALLS
-
Publication number: 20240362168Abstract: 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: ApplicationFiled: April 27, 2023Publication date: October 31, 2024Inventors: Radu Ioan Stoica, Timothy J. Fisher, Nikolaos Papandreou, Roman Alexander Pletka, Aaron Daniel Fry, Charalampos Pozidis, Andrew D. Walls
-
Publication number: 20240330173Abstract: 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: ApplicationFiled: March 29, 2023Publication date: October 3, 2024Inventors: Radu Ioan STOICA, Dan LAZAR, Timothy J. FISHER, Nikolaos PAPANDREOU, Roman Alexander PLETKA, Charalampos POZIDIS, Aaron Daniel FRY, Andrew D. WALLS
-
Patent number: 12093171Abstract: 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: GrantFiled: May 23, 2023Date of Patent: September 17, 2024Assignee: International Business Machines CorporationInventors: Roman Alexander Pletka, Andrew D. Walls, Nikolaos Papandreou, Radu Ioan Stoica, Timothy J. Fisher, Aaron Daniel Fry, Charalampos Pozidis, Nikolas Ioannou
-
Publication number: 20240296085Abstract: 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: ApplicationFiled: July 7, 2023Publication date: September 5, 2024Inventors: Nikolaos Papandreou, Timothy J. Fisher, Roman Alexander Pletka, Charalampos Pozidis, Radu Ioan Stoica, Aaron Daniel Fry, Andrew D. Walls
-
Publication number: 20240256440Abstract: 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: ApplicationFiled: May 23, 2023Publication date: August 1, 2024Inventors: Roman Alexander PLETKA, Andrew D. WALLS, Nikolaos PAPANDREOU, Radu Ioan STOICA, Timothy J. FISHER, Aaron Daniel FRY, Charalampos POZIDIS, Nikolas IOANNOU
-
Patent number: 11762569Abstract: 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: GrantFiled: October 29, 2019Date of Patent: September 19, 2023Assignee: International Business Machines CorporationInventors: Radu Ioan Stoica, Roman Alexander Pletka, Timothy Fisher, Nikolaos Papandreou, Sasa Tomic, Nikolas Ioannou, Aaron Daniel Fry, Charalampos Pozidis, Andrew D. Walls
-
Patent number: 11756644Abstract: 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: GrantFiled: June 23, 2021Date of Patent: September 12, 2023Assignee: International Business Machines CorporationInventors: Nikolaos Papandreou, Nikolas Ioannou, Roman Alexander Pletka, Radu Ioan Stoica, Charalampos Pozidis, Timothy J. Fisher, Andrew D. Walls
-
Publication number: 20220415424Abstract: 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: ApplicationFiled: June 23, 2021Publication date: December 29, 2022Inventors: Nikolaos Papandreou, Nikolas Ioannou, Roman Alexander Pletka, Radu Ioan Stoica, Charalampos Pozidis, Timothy J. Fisher, Andrew D. Walls
-
Patent number: 11360903Abstract: 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: GrantFiled: February 3, 2021Date of Patent: June 14, 2022Assignee: International Business Machines CorporationInventors: Roman Alexander Pletka, Timothy Fisher, Aaron Daniel Fry, Nikolaos Papandreou, Nikolas Ioannou, Sasa Tomic, Radu Ioan Stoica, Charalampos Pozidis, Andrew D. Walls
-
Patent number: 11301170Abstract: 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: GrantFiled: March 5, 2020Date of Patent: April 12, 2022Assignee: International Business Machines CorporationInventors: Kevin E. Sallese, Timothy Fisher, Andrew D. Walls
-
Patent number: 11264103Abstract: 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: GrantFiled: August 28, 2019Date of Patent: March 1, 2022Assignee: International Business Machines CorporationInventors: Nikolaos Papandreou, Charalampos Pozidis, Nikolas Ioannou, Roman Alexander Pletka, Radu Ioan Stoica, Sasa Tomic, Timothy Fisher, Aaron Daniel Fry, Andrew D. Walls
-
Patent number: 11182089Abstract: 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: GrantFiled: July 1, 2019Date of Patent: November 23, 2021Assignee: International Business Machines.CorporationInventors: Roman Alexander Pletka, Radu Ioan Stoica, Sasa Tomic, Nikolaos Papandreou, Nikolas Ioannou, Aaron Daniel Fry, Timothy Fisher, Charalampos Pozidis, Andrew D. Walls
-
Patent number: 11151053Abstract: 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: GrantFiled: August 7, 2019Date of Patent: October 19, 2021Assignee: International Business Machines CorporationInventors: Nikolas Ioannou, Nikolaos Papandreou, Roman Alexander Pletka, Sasa Tomic, Radu Ioan Stoica, Timothy Fisher, Aaron Daniel Fry, Charalampos Pozidis, Andrew D. Walls
-
Publication number: 20210278996Abstract: 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: ApplicationFiled: March 5, 2020Publication date: September 9, 2021Inventors: Kevin E. Sallese, Timothy Fisher, Andrew D. Walls
-
Patent number: 11042437Abstract: 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: GrantFiled: July 10, 2019Date of Patent: June 22, 2021Assignee: International Business Machines CorporationInventors: 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: 11036580Abstract: 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: GrantFiled: July 10, 2019Date of Patent: June 15, 2021Assignee: International Business Machines CorporationInventors: 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: 11036637Abstract: 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: GrantFiled: May 21, 2019Date of Patent: June 15, 2021Assignee: International Business Machines CorporationInventors: Charles J. Camp, Timothy J. Fisher, Aaron D. Fry, Nikolas Ioannou, Ioannis Koltsidas, Roman Pletka, Sasa Tomic, Andrew D. Walls