Patents by Inventor Moti Teitel

Moti Teitel 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).

  • Patent number: 10382069
    Abstract: A method for data encoding includes receiving a data vector to be encoded into a code word in accordance with a code defined by a parity-check matrix H. An intermediate vector s is produced by multiplying the data vector by a data sub-matrix Hs of the parity-check matrix H. A parity part of the code word is derived by applying a sequence of operations to the intermediate vector s based on a decomposition of a parity sub-matrix Hp of the matrix H using matrices A, C, U and V, in which decomposition A is a block triangular matrix that has the same size as Hp, C is matrix that is smaller than Hp, and the matrices U and V are placement matrices that are selected so that A, C, U and V satisfy a matrix equation Hp=A+UCV.
    Type: Grant
    Filed: August 11, 2015
    Date of Patent: August 13, 2019
    Assignee: APPLE INC.
    Inventors: Moti Teitel, Tomer Ish-Shalom, Yonathan Tate
  • Patent number: 10193574
    Abstract: An apparatus includes an interface, main and secondary processing modules, and circuitry. The interface is configured to receive input data to be processed in accordance with a GLDPC code defined by a parity-check-matrix including multiple sub-matrices, each sub-matrix including a main diagonal and one or more secondary diagonals, and each of the main and secondary diagonals includes N respective block matrices. The main processing module is configured to calculate N first partial syndromes based on the input data and on the block matrices of the main diagonals. The secondary processing module is configured to calculate N second partial syndromes based on the input data and on the block matrices of the secondary diagonals. The circuitry is configured to produce N syndromes by respectively combining the N first partial syndromes with the N second partial syndromes, and to encode or decode the input data, based on the N syndromes.
    Type: Grant
    Filed: May 19, 2016
    Date of Patent: January 29, 2019
    Assignee: APPLE INC.
    Inventors: Moti Teitel, Asaf Landau, Tomer Ish-Shalom
  • Patent number: 10128869
    Abstract: A decoder includes one or more Variable-Node Processors (VNPs) that hold respective variables, and logic circuitry. The logic circuitry is configured to decode a code word of an Error Correction Code (ECC), which is representable by a set of check equations, by performing a sequence of iterations such that each iteration involves processing of at least some of the variables, to hold one or more auxiliary equations derived from the check equations, so that a number of the auxiliary equations is smaller than a number of the check equations, to evaluate the auxiliary equations, during the sequence of iterations, using the variables, and, in response to detecting that the variables satisfy the auxiliary equations, to terminate the sequence of iterations and output the variables as the decoded code word.
    Type: Grant
    Filed: May 17, 2016
    Date of Patent: November 13, 2018
    Assignee: Apple Inc.
    Inventors: Yonathan Tate, Moti Teitel
  • Patent number: 10084481
    Abstract: A decoder includes circuitry and a soft decoder. The circuitry is configured to receive channel hard decisions for respective bits of a Generalized Low-Density Parity Check (GLDPC) code word that includes multiple component code words, including first and second component code words having one or more shared bits, to schedule decoding of the GLDPC code word, and following the decoding, to output the decoded GLDPC code word. The soft decoder is configured to receive the channel hard decisions corresponding to the first component code word, to further receive soft reliability measures that were assigned to the shared bits in decoding the second component code word, and to decode the first component code word based on the channel hard decisions and the soft reliability measures.
    Type: Grant
    Filed: December 18, 2014
    Date of Patent: September 25, 2018
    Assignee: APPLE INC.
    Inventors: Naftali Sommer, Moti Teitel, Micha Anholt
  • Patent number: 9971646
    Abstract: A storage device includes a memory that includes storage circuitry and a memory including multiple memory cells. The storage circuitry is configured to store in a group of the memory cells data that was encoded using an error correcting code (ECC) consisting of multiple component codes, to define multiple threshold settings, each specifying positions of one or more reading-thresholds, to read the data from the memory cells in the group using the threshold settings and decode the read data using the component codes, to calculate for the component codes respective component-code scores that are indicative of levels of confidence in the decoded data of the component-codes, to select, based on the component-code scores, a threshold setting that is expected to result in a best readout performance among the multiple threshold settings, and to read data from the memory using the selected threshold setting.
    Type: Grant
    Filed: June 1, 2016
    Date of Patent: May 15, 2018
    Assignee: APPLE INC.
    Inventors: Moti Teitel, Tomer Ish-Shalom
  • Publication number: 20170351569
    Abstract: A storage device includes a memory that includes storage circuitry and a memory including multiple memory cells. The storage circuitry is configured to store in a group of the memory cells data that was encoded using an error correcting code (ECC) consisting of multiple component codes, to define multiple threshold settings, each specifying positions of one or more reading-thresholds, to read the data from the memory cells in the group using the threshold settings and decode the read data using the component codes, to calculate for the component codes respective component-code scores that are indicative of levels of confidence in the decoded data of the component-codes, to select, based on the component-code scores, a threshold setting that is expected to result in a best readout performance among the multiple threshold settings, and to read data from the memory using the selected threshold setting.
    Type: Application
    Filed: June 1, 2016
    Publication date: December 7, 2017
    Inventors: Moti Teitel, Tomer Ish-Shalom
  • Publication number: 20170338838
    Abstract: A decoder includes one or more Variable-Node Processors (VNPs) that hold respective variables, and logic circuitry. The logic circuitry is configured to decode a code word of an Error Correction Code (ECC), which is representable by a set of check equations, by performing a sequence of iterations such that each iteration involves processing of at least some of the variables, to hold one or more auxiliary equations derived from the check equations, so that a number of the auxiliary equations is smaller than a number of the check equations, to evaluate the auxiliary equations, during the sequence of iterations, using the variables, and, in response to detecting that the variables satisfy the auxiliary equations, to terminate the sequence of iterations and output the variables as the decoded code word.
    Type: Application
    Filed: May 17, 2016
    Publication date: November 23, 2017
    Inventors: Yonathan Tate, Moti Teitel
  • Patent number: 9804828
    Abstract: A method includes receiving a first element of a Galois Field of order qm, where q is a prime number and m is a positive integer. The first element is raised to a predetermined power so as to form a second element z, wherein the predetermined power is a function of qm and an integer p, where p is a prime number which divides qm?1. The second element z is raised to a pth power to form a third element. If the third element equals the first element, the second element multiplied by a pth root of unity raised to a respective power selected from a set of integers between 0 and p?1 is output as at least one root of the first element.
    Type: Grant
    Filed: November 24, 2014
    Date of Patent: October 31, 2017
    Assignee: APPLE INC.
    Inventors: Micha Anholt, Moti Teitel
  • Patent number: 9787329
    Abstract: An apparatus for data coding includes an encoder and a decoder. The encoder is configured to receive input data including one or more m-bit data groups that are associated with respective group indices, to generate a code word that includes the input data and an m-bit redundancy that depends on the data groups and on the respective group indices, and to send the code word over a channel. The decoder is connected to the channel and is configured to produce a syndrome that equals zero when the code word is error-free, and when the code word contains a single error caused by the channel, is indicative of an erroneous group in which the single error occurred, and of a location of the single error within the erroneous group, and to recover the input data by correcting the single error at the location in the erroneous group.
    Type: Grant
    Filed: October 15, 2015
    Date of Patent: October 10, 2017
    Assignee: APPLE INC.
    Inventors: Tomer Ish-Shalom, Moti Teitel
  • Patent number: 9697075
    Abstract: A method includes storing data encoded with an ECC in a group of memory cells by writing respective storage values to the memory cells. Multiple sets of readout results are read from the memory cells by comparing the storage values to one or more threshold combinations, each including multiple read thresholds. A plurality of partial syndromes of the ECC is computed, each partial syndrome computed over the readout results that were read using a respective threshold combination. A respective syndrome is calculated for each threshold combination, in at least a subset of all possible threshold combinations, based on one or more of the partial syndromes associated with that threshold combination. A preferred threshold combination is selected, from among the threshold combinations, for which a weight of the respective syndrome is minimal, by processing less than all the partial syndromes associated with all the possible threshold combinations.
    Type: Grant
    Filed: September 8, 2015
    Date of Patent: July 4, 2017
    Assignee: APPLE INC.
    Inventors: Yonathan Tate, Barak Baum, Moti Teitel
  • Publication number: 20170111061
    Abstract: An apparatus for data coding includes an encoder and a decoder. The encoder is configured to receive input data including one or more m-bit data groups that are associated with respective group indices, to generate a code word that includes the input data and an m-bit redundancy that depends on the data groups and on the respective group indices, and to send the code word over a channel. The decoder is connected to the channel and is configured to produce a syndrome that equals zero when the code word is error-free, and when the code word contains a single error caused by the channel, is indicative of an erroneous group in which the single error occurred, and of a location of the single error within the erroneous group, and to recover the input data by correcting the single error at the location in the erroneous group.
    Type: Application
    Filed: October 15, 2015
    Publication date: April 20, 2017
    Inventors: Tomer Ish-Shalom, Moti Teitel
  • Publication number: 20170068591
    Abstract: A method includes storing data encoded with an ECC in a group of memory cells by writing respective storage values to the memory cells. Multiple sets of readout results are read from the memory cells by comparing the storage values to one or more threshold combinations, each including multiple read thresholds. A plurality of partial syndromes of the ECC is computed, each partial syndrome computed over the readout results that were read using a respective threshold combination. A respective syndrome is calculated for each threshold combination, in at least a subset of all possible threshold combinations, based on one or more of the partial syndromes associated with that threshold combination. A preferred threshold combination is selected, from among the threshold combinations, for which a weight of the respective syndrome is minimal, by processing less than all the partial syndromes associated with all the possible threshold combinations.
    Type: Application
    Filed: September 8, 2015
    Publication date: March 9, 2017
    Inventors: Yonathan Tate, Barak Baum, Moti Teitel
  • Publication number: 20170047948
    Abstract: A method for data encoding includes receiving a data vector to be encoded into a code word in accordance with a code defined by a parity-check matrix H. An intermediate vector s is produced by multiplying the data vector by a data sub-matrix Hs of the parity-check matrix H. A parity part of the code word is derived by applying a sequence of operations to the intermediate vector s based on a decomposition of a parity sub-matrix Hp of the matrix H using matrices A, C, U and V, in which decomposition A is a block triangular matrix that has the same size as Hp, C is matrix that is smaller than Hp, and the matrices U and V are placement matrices that are selected so that A, C, U and V satisfy a matrix equation Hp=A+UCV.
    Type: Application
    Filed: August 11, 2015
    Publication date: February 16, 2017
    Inventors: Moti Teitel, Tomer Ish-Shalom, Yonathan Tate
  • Patent number: 9553611
    Abstract: A method for Error Correction Code (ECC) encoding includes receiving data to be encoded. The data is encoded to produce a composite code word that includes multiple component code words. Each component code word in at least a subset of the component code words is encoded in accordance with a respective component code and has at least one respective bit in common with each of the other component code words.
    Type: Grant
    Filed: November 27, 2014
    Date of Patent: January 24, 2017
    Assignee: APPLE INC.
    Inventors: Moti Teitel, Tomer Ish-Shalom
  • Patent number: 9489257
    Abstract: A method for data storage includes reading storage values, which represent stored data, from a group of memory cells using read thresholds, and deriving respective soft reliability metrics for the storage values. The storage values are classified into two or more subgroups based on a predefined classification criterion. Independently within each subgroup, a subgroup-specific distribution of the storage values in the subgroup is estimated, and the soft reliability metrics of the storage values in the subgroup are corrected based on the subgroup-specific distribution. The stored data is decoded using the corrected soft reliability metrics.
    Type: Grant
    Filed: September 28, 2014
    Date of Patent: November 8, 2016
    Assignee: Apple Inc.
    Inventors: Tomer Ish-Shalom, Eyal Gurgi, Moti Teitel
  • Patent number: 9473176
    Abstract: A method, including factoring an order of a multiplicative group of a Galois Field to produce a first integer factor p and a second integer factor q, wherein the multiplicative group includes (2m?1) elements, m a non-negative integer, so that 2m?1=pq. The method further includes receiving an element x of the Galois Field expressible as ?(qi+j), where ? is a primitive element of the group, i is a first non-negative integer less than p, and j is a second integer less than q. An inverse or a logarithm of the element x is calculated as a function of qi and j.
    Type: Grant
    Filed: November 27, 2014
    Date of Patent: October 18, 2016
    Assignee: APPLE INC.
    Inventors: Moti Teitel, Micha Anholt
  • Publication number: 20160182087
    Abstract: A decoder includes circuitry and a soft decoder. The circuitry is configured to receive channel hard decisions for respective bits of a Generalized Low-Density Parity Check (GLDPC) code word that includes multiple component code words, including first and second component code words having one or more shared bits, to schedule decoding of the GLDPC code word, and following the decoding, to output the decoded GLDPC code word. The soft decoder is configured to receive the channel hard decisions corresponding to the first component code word, to further receive soft reliability measures that were assigned to the shared bits in decoding the second component code word, and to decode the first component code word based on the channel hard decisions and the soft reliability measures.
    Type: Application
    Filed: December 18, 2014
    Publication date: June 23, 2016
    Inventors: Naftali Sommer, Moti Teitel, Micha Anholt
  • Publication number: 20160156368
    Abstract: A method, including factoring an order of a multiplicative group of a Galois Field to produce a first integer factor p and a second integer factor q, wherein the multiplicative group includes (2m?1) elements, m a non-negative integer, so that 2m?1=pq. The method further includes receiving an element x of the Galois Field expressible as ?(qi+j), where ? is a primitive element of the group, i is a first non-negative integer less than p, and j is a second integer less than q. An inverse or a logarithm of the element x is calculated as a function of qi and j.
    Type: Application
    Filed: November 27, 2014
    Publication date: June 2, 2016
    Inventors: Moti Teitel, Micha Anholt
  • Publication number: 20160154697
    Abstract: A method for Error Correction Code (ECC) encoding includes receiving data to be encoded. The data is encoded to produce a composite code word that includes multiple component code words. Each component code word in at least a subset of the component code words is encoded in accordance with a respective component code and has at least one respective bit in common with each of the other component code words.
    Type: Application
    Filed: November 27, 2014
    Publication date: June 2, 2016
    Inventors: Moti Teitel, Tomer Ish-Shalom
  • Publication number: 20160147504
    Abstract: A method includes receiving a first element of a Galois Field of order qm, where q is a prime number and m is a positive integer. The first element is raised to a predetermined power so as to form a second element z, wherein the predetermined power is a function of qm and an integer p, where p is a prime number which divides qm?1. The second element z is raised to a pth power to form a third element. If the third element equals the first element, the second element multiplied by a pth root of unity raised to a respective power selected from a set of integers between 0 and p?1 is output as at least one root of the first element.
    Type: Application
    Filed: November 24, 2014
    Publication date: May 26, 2016
    Inventors: Micha Anholt, Moti Teitel