Patents by Inventor Thomas Parnell

Thomas Parnell 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: 20190043588
    Abstract: A controller adapts the read voltage thresholds of a memory unit in a non-volatile memory. In one embodiment, the controller determines, based on statistics for a memory unit of the non-volatile memory, an operating state of the memory unit from among a plurality of possible operating states and adapts at least one read voltage threshold for a memory cell in the memory unit based on the determined operating state.
    Type: Application
    Filed: August 2, 2017
    Publication date: February 7, 2019
    Inventors: TIMOTHY J. FISHER, THOMAS MITTELHOLZER, NIKOLAOS PAPANDREOU, THOMAS PARNELL, CHARALAMPOS POZIDIS
  • Patent number: 10176867
    Abstract: Methods and apparatus are provided for determining level-thresholds for q-level memory cells. A group of the memory cells are read to obtain respective read signal components. The read signal components are processed in dependence on signal level to produce a signal level vector, comprising a series of elements, indicative of the distribution of read signal components in order of signal level. A plurality of possible sets of q?1 elements corresponding, respectively, to q?1 level-thresholds which partition the signal level vector into q segments, is then defined. The q?1 level-thresholds for the group of memory cells are then determined by selecting from said possible sets that set for which a predetermined difference function, dependent on differences in signal level for elements in each of said q segments for the set, has an optimum value.
    Type: Grant
    Filed: January 12, 2017
    Date of Patent: January 8, 2019
    Assignee: International Business Machines Corporation
    Inventors: Thomas Mittelholzer, Nikolaos Papandreou, Thomas Parnell, Charalampos Pozidis, Milos Stanisavljevic
  • Patent number: 10162700
    Abstract: A method, according to one embodiment, includes selecting, from a buffer, a combination of compressed logical pages of data to maximize an amount of used space in an error correction code container. The method also preferably includes processing the combination of compressed logical pages to generate error correction code data. Furthermore, the method may include writing the data corresponding to the combination of compressed logical pages and the associated error correction code data to a non-volatile random access memory. Other systems, methods, and computer program products are described in additional embodiments.
    Type: Grant
    Filed: December 23, 2014
    Date of Patent: December 25, 2018
    Assignee: International Business Machines Corporation
    Inventors: Charles J. Camp, Thomas Mittelholzer, Nikolaos Papandreou, Thomas Parnell, Charalampos Pozidis
  • Patent number: 10147103
    Abstract: Methods and apparatus are provided to determine entities and attributes dependencies for creating recommendations of items or entities using a highly scalable architecture. For example, a user may be recommended an item if a probability model of the method determines that the user relates to the item although the user has no contact to the item before the method is performed. The methods and apparatus provide a data structure representing a matrix having rows representing entities and columns representing attributes of the entities. Each entity of the entities of the data structure may include a user and each attribute of the attributes of the data structure may include an item. A cell of the matrix may be formed by a component pair including an entity and an attribute. In this manner, the methods and apparatus provide an efficient way for processing the probability model.
    Type: Grant
    Filed: March 24, 2017
    Date of Patent: December 4, 2018
    Assignee: International Business Machines Corproation
    Inventors: Celestine Duenner, Thomas Parnell, Charalampos Pozidis, Vasileios Vasileiadis, Michail Vlachos
  • Publication number: 20180337694
    Abstract: Symbols are loaded into a diagonal anti-diagonal structure. To provide for fast loading, the symbols may be shifted by one or more shift registers associated with the diagonal or anti-diagonal structure. The two locations at which each symbol are positioned are included within different diagonals or anti-diagonals making it possible to load or unload either symbol or multiple symbols in a single clock cycle. Further, by partitioning the diagonal anti-diagonal structure, multiple respective symbols or plurality of symbols may be loaded or unloaded in a single clock cycle.
    Type: Application
    Filed: July 27, 2018
    Publication date: November 22, 2018
    Inventors: Tobias Blaettler, Charles J. Camp, Thomas Mittelholzer, Nikolaos Papandreou, Thomas Parnell, Charalampos Pozidis
  • Publication number: 20180330192
    Abstract: A method for parallelizing a training of a model using a matrix-factorization-based collaborative filtering algorithm may be provided. The model can be used in a recommender system for a plurality of users and a plurality of items. The method includes providing a sparse training data matrix, selecting a number of user-item co-clusters, and building a user model data matrix by matrix factorization such that a computational load for executing the determining updated elements of the factorized sparse training data matrix is evenly distributed across the heterogeneous computing resources.
    Type: Application
    Filed: May 15, 2017
    Publication date: November 15, 2018
    Inventors: Kubilay Atasu, Celestine Duenner, Thomas Mittelholzer, Thomas Parnell, Charalampos Pozidis, Michail Vlachos
  • Patent number: 10128871
    Abstract: A quarter product code codeword includes various R code symbols and C code symbols each including a plurality of symbols. Each symbol is loaded into a diagonal anti-diagonal structure in two unique locations. To provide for fast loading, the symbols may be shifted by one or more shift registers associated with the diagonal or anti-diagonal structure. The two locations at which each symbol is positioned are included within different diagonals or anti-diagonals making it possible to load or unload either symbol or multiple symbols in a single clock cycle. Further, by partitioning the diagonal anti-diagonal structure, multiple respective symbols or plurality of symbols may be loaded or unloaded in a single clock cycle.
    Type: Grant
    Filed: February 23, 2017
    Date of Patent: November 13, 2018
    Assignee: International Business Machines Corporation
    Inventors: Tobias Blaettler, Charles J. Camp, Thomas Mittelholzer, Nikolaos Papandreou, Thomas Parnell, Charalampos Pozidis
  • Patent number: 10115472
    Abstract: A data storage system includes a non-volatile memory array controlled by a controller. In response to receipt of write data to be written to the non-volatile memory array, the controller determines whether a read count of an unfinalized candidate block of storage within the non-volatile memory array satisfies a read count threshold applicable to the block. In response to determining that the read count of the unfinalized candidate block satisfies the read count threshold, the controller finalizing programming of the candidate block and programming an alternative block with the write data.
    Type: Grant
    Filed: August 2, 2017
    Date of Patent: October 30, 2018
    Assignee: International Business Machines Corporation
    Inventors: Charles J. Camp, Timothy J. Fisher, Thomas J. Griffin, Thomas Mittelholzer, Nikolaos Papandreou, Thomas Parnell, Roman Pletka, Charalampos Pozidis, Gary A. Tressler, Sasa Tomic
  • Patent number: 10101931
    Abstract: Read errors following programming in a multi-level non-volatile memory are mitigated by a controller of the non-volatile memory. The controller temporarily buffers, in a cache, pages of data programmed into the non-volatile memory. In response to receiving a read request for a target page of data programmed into the non-volatile memory, where the read request is received during a delay time affecting the target page, the controller services the read request by accessing data of the target page in the cache in response to the read request hitting in the cache. The controller instead services the read request from the non-volatile memory in response to the read request missing in the cache. When servicing the read request from the non-volatile memory, the controller preferably reads the target page from the non-volatile memory utilizing a set of read voltage thresholds determined based on the read-after-write delay.
    Type: Grant
    Filed: June 4, 2017
    Date of Patent: October 16, 2018
    Assignee: International Business Machines Corporation
    Inventors: Charles J. Camp, Timothy J. Fisher, Aaron D. Fry, Nikolas Ioannou, Thomas Mittelholzer, Nikolaos Papandreou, Thomas Parnell, Roman Pletka, Charalampos Pozidis, Sasa Tomic
  • Publication number: 20180276688
    Abstract: Methods and apparatus are provided to determine entities and attributes dependencies for creating recommendations of items or entities using a highly scalable architecture. For example, a user may be recommended an item if a probability model of the method determines that the user relates to the item although the user has no contact to the item before the method is performed. The methods and apparatus provide a data structure representing a matrix having rows representing entities and columns representing attributes of the entities. Each entity of the entities of the data structure may include a user and each attribute of the attributes of the data structure may include an item. A cell of the matrix may be formed by a component pair including an entity and an attribute. In this manner, the methods and apparatus provide an efficient way for processing the probability model.
    Type: Application
    Filed: March 24, 2017
    Publication date: September 27, 2018
    Inventors: Celestine Duenner, Thomas Parnell, Charalampos Pozidis, Vasileios Vasileiadis, Michail Vlachos
  • Publication number: 20180269897
    Abstract: A technique for non-binary context mixing in a compressor includes generating, by a plurality of context models, model predictions regarding a value of a next symbol to be encoded. A mixer generates a set of final predictions from the model predictions. An arithmetic encoder generates compressed data based on received input symbols and the set of final predictions. The received input symbols belong to an alphabet having a size greater than two and the mixer generates a feature matrix from the model predictions and trains a classifier that generates the set of final predictions.
    Type: Application
    Filed: March 14, 2017
    Publication date: September 20, 2018
    Inventors: TOBIAS BLAETTLER, THOMAS MITTELHOLZER, THOMAS PARNELL, CHARALAMPOS POZIDIS
  • Publication number: 20180267732
    Abstract: A technique for selecting context models (CMs) for a CM ensemble (CME) in a context mixing compressor includes measuring compression ratios (CRs) of the compressor on a dataset for each CM included in a base set of CMs. A first CM that has a maximum CR for the dataset is added to the CME. In response to a desired number of the CMs not being in the CME, subsequent CRs for the compressor are measured on the dataset for each of the CMs in the base set of CMs that are not in the CME in conjunction with one or more CMs in the CME. In response to a desired number of the CMs not being in the CME, subsequent CMs that in conjunction with the one or more CMs in the CME result in a maximum subsequent CR for the dataset are added to the CME.
    Type: Application
    Filed: March 14, 2017
    Publication date: September 20, 2018
    Inventors: TOBIAS BLAETTLER, THOMAS MITTELHOLZER, THOMAS PARNELL, CHARALAMPOS POZIDIS
  • Patent number: 10042699
    Abstract: A multi-chip device and method for storing input data. The multi-chip device includes: a plurality of memory chips being adapted to store encoded input data, wherein each of the plurality of memory chips includes a detection unit that outputs detection information; an evaluation unit being adapted to perform an evaluation of the detection information from each of the plurality of memory chips, and to adapt the detection algorithm of any of the detection units depending on the performed evaluation; a combination unit being adapted to receive the detected bits and to combine the detected bits; and a decoding unit being adapted to output decoded data by decoding the combined detected bits. The present invention also provides a method and a computer program product for storing input data.
    Type: Grant
    Filed: October 26, 2015
    Date of Patent: August 7, 2018
    Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Tobias Blaettler, Thomas Mittelholzer, Nikolaos Papandreou, Thomas Parnell, Charalampos Pozidis, Milos Stanisavljevic
  • Patent number: 9996418
    Abstract: A data encoding method includes storing K input data symbols; assigning the symbols to respective symbol locations in a notional square array, having n rows and n columns of locations, to define a plurality of k-symbol words in respective rows; encoding the words by encoding rows and columns of the array dependent on a product code having identical row and column codes, each being a reversible error-correction code of dimension k and length n=2n?, thereby to define a codeword, having n2 code symbols corresponding to respective locations of the array, of a quarter product code defined by CQ={X?XT?(X?XT)F: X?C} where X is an n by n-symbol matrix defining a codeword of the product code, XT is the transpose matrix of X, and (X?XT)F is a reflection of matrix (X?XT) in the anti-diagonal thereof.
    Type: Grant
    Filed: April 1, 2015
    Date of Patent: June 12, 2018
    Assignee: International Business Machines Corporation
    Inventors: Thomas Mittelholzer, Nikolaos Papandreou, Thomas Parnell, Charalampos Pozidis
  • Patent number: 9996420
    Abstract: A data encoding method includes storing K input data symbols; assigning the symbols to respective symbol locations in a notional square array, having n rows and n columns of locations, to define a plurality of k-symbol words in respective rows; encoding the words by encoding rows and columns of the array dependent on a product code having identical row and column codes, each being a reversible error-correction code of dimension k and length n=2n?, thereby to define a codeword, having n2 code symbols corresponding to respective locations of the array, of a quarter product code defined by CQ={X?XT?(X?XT)F: X?C} where X is an n by n-symbol matrix defining a codeword of the product code, XT is the transpose matrix of X, and (X?XT)F is a reflection of matrix (X?XT) in the anti-diagonal thereof.
    Type: Grant
    Filed: June 22, 2015
    Date of Patent: June 12, 2018
    Assignee: International Business Machines Corporation
    Inventors: Thomas Mittelholzer, Nikolaos Papandreou, Thomas Parnell, Charalampos Pozidis
  • Patent number: 9990279
    Abstract: According to one embodiment, a method includes assigning a subset of physical pages within a block of non-volatile memory to a pseudo-physical block, wherein a number of pages in the pseudo-physical block is less than a number of physical pages within the non-volatile memory block, and reassigning physical pages within the block of non-volatile memory to the pseudo-physical block upon occurrence of an event. The assigning includes: determining a health metric for each of the physical pages within the block of non-volatile memory, and selecting a subset of the physical pages for assignment to the pseudo-physical block based on the health metric. Moreover, the subset of pages has a fixed size for at least a number of reassignments.
    Type: Grant
    Filed: December 23, 2014
    Date of Patent: June 5, 2018
    Assignee: International Business Machines Corporation
    Inventors: Charles J. Camp, Thomas Mittelholzer, Nikolaos Papandreou, Thomas Parnell, Charalampos Pozidis
  • Publication number: 20180115325
    Abstract: A decoder performs iterative decoding of a codeword encoded by a binary symmetry-invariant product code, such as a half product code or quarter product code. In response to the iterative decoding reaching a stopping set, the decoder determines by reference to an ambient error graph formed from the stopping set whether or not the stopping set is correctable by post-processing. If not, the decoder outputs the uncorrected codeword and signals a decoding failure. In response to determining that the stopping set is correctable by post-processing, the decoder inverts all bits of the codeword corresponding to edges of the ambient error graph, applies an additional round of iterative decoding to the codeword to obtain a corrected codeword, and outputs the corrected codeword. Post-processing in this manner substantially lowers an error floor associated with the binary symmetry-invariant product code.
    Type: Application
    Filed: October 25, 2016
    Publication date: April 26, 2018
    Inventors: TOBIAS BLAETTLER, THOMAS MITTELHOLZER, NIKOLAOS PAPANDREOU, THOMAS PARNELL, CHARALAMPOS POZIDIS
  • Patent number: 9940034
    Abstract: A mechanism is provided in a non-volatile memory controller for reducing read access latency by straddling pages across non-volatile memory channels. Responsive to a request to write a logical page to a non-volatile memory array, the non-volatile memory controller determines whether the logical page fits into a current physical page. Responsive to determining the logical page does not fit into the current physical page, the non-volatile memory controller writes a first portion of the logical page to a first physical page in a first block and writes a second portion of the logical page to a second physical page in a second block. The first physical page and the second physical page are on different non-volatile memory channels.
    Type: Grant
    Filed: January 25, 2016
    Date of Patent: April 10, 2018
    Assignee: International Business Machines Corporation
    Inventors: Charles J. Camp, Timothy J. Fisher, Aaron D. Fry, Nikolas Ioannou, Thomas Parnell, Roman Pletka, Sasa Tomic
  • Publication number: 20180081752
    Abstract: Techniques for data deduplication in a data storage system include comparing a first attribute of a received data page to first attributes of one or more stored data pages. In response to the first attribute matching one of the first attributes, a second attribute of the received data page is compared to second attributes of the one or more data pages. In response to the second attribute of the received data page matching one of the second attributes, a fingerprint of the received data page is compared to fingerprints of the one or more data pages. In response to the fingerprint of the received data page matching one of the fingerprints, the received data page is discarded and replaced with a reference to the corresponding data page already stored in the storage system. In response to first attribute, the second attribute, or the fingerprint of the received data page not matching, the received data page is stored.
    Type: Application
    Filed: November 28, 2017
    Publication date: March 22, 2018
    Inventors: TIMOTHY J. FISHER, NIKOLAS IOANNOU, THOMAS PARNELL, ROMAN A. PLETKA, SASA TOMIC
  • Publication number: 20180059940
    Abstract: A computer program product according to one embodiment includes a computer readable storage medium having program instructions embodied therewith. The program instructions are executable by a processing circuit to cause the circuitry to perform a method including determining, after writing data to a non-volatile memory block, one or more delta threshold voltage shift (TVS?) values. One or more overall threshold voltage shift values for the data written to the non-volatile memory block are calculated, the values being a function of the one or more TVS? values to be used when writing data to the non-volatile memory block. The overall threshold voltage shift values are stored. A base threshold voltage shift (TVSBASE) value, the one or more TVS? values, or both the TVSBASE value and the one or more TVS? values are re-calibrated during a background health check after a predetermined number of background health checks without calibration are performed.
    Type: Application
    Filed: November 6, 2017
    Publication date: March 1, 2018
    Inventors: Charles J. Camp, Timothy J. Fisher, Aaron D. Fry, Nikolas Ioannou, Ioannis Koltsidas, Nikolaos Papandreou, Thomas Parnell, Roman A. Pletka, Charalampos Pozidis, Sasa Tomic