Patents by Inventor Nikolas Ioannou

Nikolas Ioannou 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: 20240071542
    Abstract: Threshold voltage shift values, or TVS values, are calibrated for a non-volatile memory unit including strings of memory cells organized into memory pages, the memory pages being organized into blocks. The calibration involves a read operation to read a given page of the memory pages, based on given one or more TVS values for the given page. In response to a read failure of the read operation, the calibration determines one or more corrected TVS values based on one or more reference TVS values of one or more reference pages of the memory pages. The calibration subsequently performs a read operation to read the given page based on the one or more corrected TVS values. This calibration exploits TVS values of reference pages to determine corrected TVS values of the failing page, instead of finding appropriate TVS values by repeatedly re-reading the failing page.
    Type: Application
    Filed: August 23, 2022
    Publication date: February 29, 2024
    Inventors: Radu Ioan Stoica, Roman Alexander Pletka, Nikolas Ioannou, Nikolaos Papandreou, Charalampos Pozidis, Timothy J. Fisher, Aaron Daniel Fry
  • Patent number: 11908531
    Abstract: A non-volatile memory includes a plurality of cells each individually capable of storing multiple bits of data including bits of multiple physical pages. A controller of the non-volatile memory issues a command to perform a programming pass for a physical page among the multiple physical pages. The controller determines whether or not the programming pass took less than a minimum threshold time and no program fail status indication was received. Based on determining the programming pass took less than a minimum threshold time and no program fail status indication was received, the controller detects an under-programming error and performs mitigation for the detected under-programming error.
    Type: Grant
    Filed: October 6, 2021
    Date of Patent: February 20, 2024
    Assignee: International Business Machines Corporation
    Inventors: Nikolaos Papandreou, Roman Alexander Pletka, Radu Ioan Stoica, Nikolas Ioannou, Charalampos Pozidis, Timothy J. Fisher, Aaron Daniel Fry
  • Patent number: 11875831
    Abstract: A controller of a non-volatile memory detects errors in data read from a particular physical page of the non-volatile memory. Based on detecting the errors, the controller performs a read voltage threshold calibration for a page group including the particular physical page and a multiple other physical pages. Performing the read voltage threshold calibration includes calibrating read voltage thresholds based on only the particular physical page of the page group. After the controller performs the read voltage threshold calibration, the controller optionally validates the calibration. Validating the calibration includes determining whether bit error rates diverge within the page group and, if so, mitigating the divergence. Mitigating the divergence includes relocating data from the page group to another block of the non-volatile memory.
    Type: Grant
    Filed: December 27, 2021
    Date of Patent: January 16, 2024
    Assignee: International Business Machines Corporation
    Inventors: Roman Alexander Pletka, Radu Ioan Stoica, Nikolas Ioannou, Nikolaos Papandreou, Charalampos Pozidis, Timothy J. Fisher, Aaron Daniel Fry
  • Patent number: 11861175
    Abstract: A method, system, and computer program product are disclosed. The method includes receiving a write request to a system and calculating, based on operating parameters of the system, a total processing time associated with servicing the write request in the system. The method also includes determining an actual time taken to store data specified in the write request and, when the actual time is less than the total processing time, delaying sending a completion message for the write request to an I/O interface.
    Type: Grant
    Filed: March 10, 2022
    Date of Patent: January 2, 2024
    Assignee: International Business Machines Corporation
    Inventors: Radu Ioan Stoica, Aaron Daniel Fry, Nikolas Ioannou, Nikolaos Papandreou, Roman Alexander Pletka, Charalampos Pozidis, Jenny L Brown
  • Patent number: 11803779
    Abstract: In an approach for constructing an ensemble model from a set of base learners, a processor performs a plurality of boosting iterations, where: at each boosting iteration of the plurality of boosting iterations, a base learner is selected at random from a set of base learners, according to a sampling probability distribution of the set of base learners, and trained according to a training dataset; and the sampling probability distribution is altered: (i) after selecting a first base learner at a first boosting iteration of the plurality of boosting iterations and (ii) prior to selecting a second base learner at a final boosting iteration of the plurality of boosting iterations. A processor constructs an ensemble model based on base learners selected and trained during the plurality of boosting iterations.
    Type: Grant
    Filed: February 25, 2020
    Date of Patent: October 31, 2023
    Assignee: International Business Machines Corporation
    Inventors: Thomas Parnell, Andreea Anghel, Nikolas Ioannou, Nikolaos Papandreou, Celestine Mendler-Duenner, Dimitrios Sarigiannis, Charalampos Pozidis
  • Patent number: 11797199
    Abstract: A non-volatile memory includes a plurality of physical blocks each including a respective plurality of cells, where each cell is individually capable of storing multiple bits of data. A controller for the non-volatile memory maintains dynamically resizable pools of physical blocks, including at least a low-density pool of physical blocks in which cells are configured to store a fewer number of bits and a high-density pool of physical blocks in which cells are configured to store a greater number of bits. The controller detects an imbalance in utilization between the low-density and high-density pools and, based on detection of the pool imbalance, restricts data placement in the low-density pool, enables garbage collection from the low-density pool back into the low-density pool to compact the low-density pool, and re-enables data placement to the low-density pool based on availability of a threshold number of free physical blocks in the low-density pool.
    Type: Grant
    Filed: July 6, 2021
    Date of Patent: October 24, 2023
    Assignee: International Business Machines Corporation
    Inventors: Roman Alexander Pletka, Aaron Daniel Fry, Nikolaos Papandreou, Radu Ioan Stoica, 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
  • Publication number: 20230289061
    Abstract: A method, system, and computer program product are disclosed. The method includes receiving a write request to a system and calculating, based on operating parameters of the system, a total processing time associated with servicing the write request in the system. The method also includes determining an actual time taken to store data specified in the write request and, when the actual time is less than the total processing time, delaying sending a completion message for the write request to an I/O interface.
    Type: Application
    Filed: March 10, 2022
    Publication date: September 14, 2023
    Inventors: Radu Ioan Stoica, Aaron Daniel Fry, Nikolas Ioannou, Nikolaos Papandreou, Roman Alexander Pletka, Charalampos Pozidis, Jenny L. Brown
  • 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: 20230207023
    Abstract: A controller of a non-volatile memory detects errors in data read from a particular physical page of the non-volatile memory. Based on detecting the errors, the controller performs a read voltage threshold calibration for a page group including the particular physical page and a multiple other physical pages. Performing the read voltage threshold calibration includes calibrating read voltage thresholds based on only the particular physical page of the page group. After the controller performs the read voltage threshold calibration, the controller optionally validates the calibration. Validating the calibration includes determining whether bit error rates diverge within the page group and, if so, mitigating the divergence. Mitigating the divergence includes relocating data from the page group to another block of the non-volatile memory.
    Type: Application
    Filed: December 27, 2021
    Publication date: June 29, 2023
    Inventors: ROMAN ALEXANDER PLETKA, RADU IOAN STOICA, NIKOLAS IOANNOU, NIKOLAOS PAPANDREOU, CHARALAMPOS POZIDIS, TIMOTHY J. FISHER, AARON DANIEL FRY
  • Patent number: 11656792
    Abstract: A data storage system provides persistent storage in bulk non-volatile memory. A controller of the data storage system receives a host write command and buffers associated host write data in both a first write cache in non-volatile memory and a mirrored second write cache in volatile memory. The controller destages the host write data to the bulk non-volatile memory from the second write cache but not the first write cache. The controller services relocation write commands requesting data relocation within the bulk non-volatile memory by reference to the second write cache. Servicing the relocation write commands includes buffering relocation write data in the second write cache but not the first write cache and destaging the relocation write data to the bulk non-volatile memory from the second write cache.
    Type: Grant
    Filed: June 29, 2021
    Date of Patent: May 23, 2023
    Assignee: International Business Machines Corporation
    Inventors: Roman Alexander Pletka, Timothy J. Fisher, Adalberto Guillermo Yanes, Nikolaos Papandreou, Radu Ioan Stoica, Charalampos Pozidis, Nikolas Ioannou
  • Publication number: 20230153140
    Abstract: Live migration of a virtual machine (VM) includes establishing multipath connections between the VM and functions of host interface on a source host. The multipath connections include a passthrough path and a software-virtualized (or emulated) path provided by a hypervisor of the source host. A failover of the passthrough path to the emulated path is executed, and a state of the emulated path is thereafter saved. On a host interface of a destination host, functions corresponding to those of the source host are exposed. The VM is then migrated from the source host to the destination host. The VM resumes host interface communication with the host interface of the destination host from the saved state via an emulated path provided by a hypervisor of the destination host. After resuming communication, a passthrough path of communication between the VM and the host interface of the destination host is established.
    Type: Application
    Filed: November 18, 2021
    Publication date: May 18, 2023
    Inventors: JONAS ALEXANDER PFEFFERLE, NIKOLAS IOANNOU, JOSE GABRIEL CASTANOS, DANNY HARNIK, GAUTAM H. SHAH
  • Publication number: 20230108194
    Abstract: A non-volatile memory includes a plurality of cells each individually capable of storing multiple bits of data including bits of multiple physical pages. A controller of the non-volatile memory issues a command to perform a programming pass for a physical page among the multiple physical pages. The controller determines whether or not the programming pass took less than a minimum threshold time and no program fail status indication was received. Based on determining the programming pass took less than a minimum threshold time and no program fail status indication was received, the controller detects an under-programming error and performs mitigation for the detected under-programming error.
    Type: Application
    Filed: October 6, 2021
    Publication date: April 6, 2023
    Inventors: Nikolaos Papandreou, ROMAN ALEXANDER PLETKA, Radu Ioan Stoica, Nikolas Ioannou, Charalampos Pozidis, Timothy J. Fisher, Aaron Daniel Fry
  • Publication number: 20230057271
    Abstract: A data storage system includes a plurality of storage devices organized as a redundant array of inexpensive disks (RAID) storage array and a RAID controller. The RAID controller monitors the plurality of storage devices in the RAID storage array. The RAID controller also detects that a host read request of a host has a latency exceeding a latency threshold. Based on the monitoring, the RAID controller determines whether a proactive rebuild of a data requested by the host read request in absence of a data error would likely be beneficial to performance. Based on determining that a proactive rebuild of the data requested by the host read request would likely be beneficial to performance, the RAID controller initiates the proactive rebuild of the data and sends the requested data to the host.
    Type: Application
    Filed: August 18, 2021
    Publication date: February 23, 2023
    Inventors: RADU IOAN STOICA, NIKOLAS IOANNOU, ROMAN ALEXANDER PLETKA, NIKOLAOS PAPANDREOU, CHARALAMPOS POZIDIS
  • Patent number: 11573803
    Abstract: Parallel training of a machine learning model on a computerized system is described. Computing tasks of a system can be assigned to multiple workers of the system. Training data can be accessed. The machine learning model is trained, whereby the training data accessed are dynamically partitioned across the workers of the system by shuffling subsets of the training data through the workers. As a result, different subsets of the training data are used by the workers over time as training proceeds. Related computerized systems and computer program products are also provided.
    Type: Grant
    Filed: May 7, 2019
    Date of Patent: February 7, 2023
    Assignee: International Business Machines Corporation
    Inventors: Nikolas Ioannou, Celestine Duenner, Thomas Parnell
  • Patent number: 11567673
    Abstract: A data storage system includes a plurality of storage devices organized as a redundant array of inexpensive disks (RAID) storage array and a RAID controller. The RAID controller monitors the plurality of storage devices in the RAID storage array. The RAID controller also detects that a host read request of a host has a latency exceeding a latency threshold. Based on the monitoring, the RAID controller determines whether a proactive rebuild of a data requested by the host read request in absence of a data error would likely be beneficial to performance. Based on determining that a proactive rebuild of the data requested by the host read request would likely be beneficial to performance, the RAID controller initiates the proactive rebuild of the data and sends the requested data to the host.
    Type: Grant
    Filed: August 18, 2021
    Date of Patent: January 31, 2023
    Assignee: International Business Machines Corporation
    Inventors: Radu Ioan Stoica, Nikolas Ioannou, Roman Alexander Pletka, Nikolaos Papandreou, Charalampos Pozidis
  • Publication number: 20230010632
    Abstract: A non-volatile memory includes a plurality of physical blocks each including a respective plurality of cells, where each cell is individually capable of storing multiple bits of data. A controller for the non-volatile memory maintains dynamically resizable pools of physical blocks, including at least a low-density pool of physical blocks in which cells are configured to store a fewer number of bits and a high-density pool of physical blocks in which cells are configured to store a greater number of bits. The controller detects an imbalance in utilization between the low-density and high-density pools and, based on detection of the pool imbalance, restricts data placement in the low-density pool, enables garbage collection from the low-density pool back into the low-density pool to compact the low-density pool, and re-enables data placement to the low-density pool based on availability of a threshold number of free physical blocks in the low-density pool.
    Type: Application
    Filed: July 6, 2021
    Publication date: January 12, 2023
    Inventors: ROMAN ALEXANDER PLETKA, AARON DANIEL FRY, NIKOLAOS PAPANDREOU, RADU IOAN STOICA, CHARALAMPOS POZIDIS, NIKOLAS IOANNOU
  • Publication number: 20220413762
    Abstract: A data storage system provides persistent storage in bulk non-volatile memory. A controller of the data storage system receives a host write command and buffers associated host write data in both a first write cache in non-volatile memory and a mirrored second write cache in volatile memory. The controller destages the host write data to the bulk non-volatile memory from the second write cache but not the first write cache. The controller services relocation write commands requesting data relocation within the bulk non-volatile memory by reference to the second write cache. Servicing the relocation write commands includes buffering relocation write data in the second write cache but not the first write cache and destaging the relocation write data to the bulk non-volatile memory from the second write cache.
    Type: Application
    Filed: June 29, 2021
    Publication date: December 29, 2022
    Inventors: ROMAN ALEXANDER PLETKA, TIMOTHY J. FISHER, ADALBERTO GUILLERMO YANES, NIKOLAOS PAPANDREOU, RADU IOAN STOICA, CHARALAMPOS POZIDIS, NIKOLAS IOANNOU
  • 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
  • Publication number: 20220198281
    Abstract: An approach of accelerating inferences based on decision trees based on accessing one or more decision trees, wherein each decision tree of the decision trees accessed comprises decision tree nodes, including nodes grouped into one or more supersets of nodes designed for joint execution. For each decision tree of the decision trees accessed, the nodes are executed to obtain an outcome for the one or more decision trees, respectively. For each superset of the one or more supersets of said each decision tree, the nodes of each superset are jointly executed by: loading attributes of the nodes of each superset in a respective cache line of the cache memory processing said attributes from the respective cache line until an inference result is returned based on the one or more outcomes.
    Type: Application
    Filed: December 18, 2020
    Publication date: June 23, 2022
    Inventors: Jan Van Lunteren, Nikolas Ioannou, Nikolaos Papandreou, Thomas Parnell, Andreea Anghel, Charalampos Pozidis