Patents by Inventor Micha Anholt
Micha Anholt 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: 20160094689Abstract: Embodiments described herein relate to a system and method for improving a rate of success in receiving response packets, such as 802.11 Acknowledge (ACK), Block Acknowledge (BACK), and Clear-To-Send (CTS) packets. In one embodiment, a wireless device may transmit one or more first packets according to a wireless communication protocol, and may then receive a second packet. The wireless device may determine that the receiving follows the transmitting by a specific duration of time that is specified by the wireless communication protocol for a response packet to follow one or more communication packets to which it responds. Based at least in part on this determining, the wireless device may further determine that the second packet is a response packet responding to the one or more first packets, without decoding a portion of the second packet that identifies a packet type of the second packet.Type: ApplicationFiled: September 29, 2014Publication date: March 31, 2016Inventors: Koby Vainapel, Yoel Boger, Gilad Kirshenberg, Micha Anholt
-
Patent number: 9281844Abstract: A method for encoding includes receiving input data symbols to be encoded with an Error Correction Code (ECC) so as to produce a code word of the ECC including redundancy symbols. The input data symbols are applied first and second processing stages, such that the first processing stage performs a first polynomial division by a fixed-coefficient polynomial with a first degree of parallelism, and the second processing stage performs a second polynomial division by a configurable-coefficient polynomial with a second degree of parallelism that is smaller than the first degree of parallelism, so as to jointly produce the redundancy symbols.Type: GrantFiled: April 18, 2013Date of Patent: March 8, 2016Assignee: Apple Inc.Inventor: Micha Anholt
-
Patent number: 9258015Abstract: A method includes decoding 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 multiple variable nodes. For one or more selected variable nodes, a count of the check equations that are defined over one or more variables held respectively by the one or more selected variable nodes is evaluated, and, when the count meets a predefined skipping criterion, the one or more selected variable nodes are omitted from a given iteration in the sequence.Type: GrantFiled: December 23, 2013Date of Patent: February 9, 2016Assignee: Apple Inc.Inventors: Tomer Ish-Shalom, Ronen Dar, Micha Anholt
-
Patent number: 9245643Abstract: A method in a memory that includes multiple analog memory cells arranged in a three-dimensional (3-D) configuration, includes identifying multiple groups of potentially-interfering memory cells that potentially cause interference to a group of target memory cells. Partial distortion components, which are inflicted by the respective groups of the potentially-interfering memory cells on the target memory cells, are estimated. The partial distortion components are progressively accumulated so as to produce an estimated composite distortion affecting the target memory cells, while retaining only the composite distortion and not the partial distortion components. The target memory cells are read, and the interference in the target memory cells is canceled based on the estimated composite distortion.Type: GrantFiled: July 28, 2015Date of Patent: January 26, 2016Assignee: Apple Inc.Inventors: Eyal Gurgi, Micha Anholt, Yoav Kasorla
-
Publication number: 20160012883Abstract: A method for data storage includes storing data in a group of memory cells, by encoding the data using at least an outer code and an inner code, and optionally inverting the encoded data prior to storing the encoded data in the memory cells. The encoded data is read from the memory cells, and inner code decoding is applied to the read encoded data to produce a decoding result. At least part of the read data is conditionally inverted, depending on the decoding result of the inner code.Type: ApplicationFiled: September 18, 2015Publication date: January 14, 2016Inventors: Micha Anholt, Naftali Sommer
-
Patent number: 9236890Abstract: A method for decoding includes receiving channel inputs for respective bits of a super code word that includes at least first and second component code words having a shared group of bits. At least the first and second component code words are iteratively decoded, and, in response to recognizing that the first and second component code words contain errors only within the shared group of bits, the first and second component code words are jointly decoded.Type: GrantFiled: December 14, 2014Date of Patent: January 12, 2016Assignee: APPLE INC.Inventors: Micha Anholt, Moti Teitel, Tomer Ish-Shalom
-
Patent number: 9230655Abstract: A method for data storage includes, in a first programming phase, storing first data in a group of memory cells by programming the memory cells in the group to a set of initial programming levels. In a subsequent second programming phase, second data is stored in the group by identifying the memory cells in the group that were programmed in the first programming phase to respective levels in a predefined partial subset of the initial programming levels, and programming only the identified memory cells with the second data, so as to set at least some of the identified memory cells to one or more additional programming levels that are different from the initial programming levels. The memory cells to which the second data was programmed are recognized by reading only a partial subset of the first data. The second data is read from the recognized memory cells.Type: GrantFiled: December 20, 2013Date of Patent: January 5, 2016Assignee: Apple Inc.Inventors: Moti Teitel, Maya Barkon, Micha Anholt, Naftali Sommer
-
Patent number: 9225359Abstract: A method for encoding includes receiving input data symbols to be encoded with an Error Correction Code (ECC) so as to produce a code word of the ECC including redundancy symbols. The input data symbols are applied first and second processing stages, such that the first processing stage performs a first polynomial division by a fixed-coefficient polynomial with a first degree of parallelism, and the second processing stage performs a second polynomial division by a configurable-coefficient polynomial with a second degree of parallelism that is smaller than the first degree of parallelism, so as to jointly produce the redundancy symbols.Type: GrantFiled: April 18, 2013Date of Patent: December 29, 2015Assignee: Apple Inc.Inventor: Micha Anholt
-
Publication number: 20150347230Abstract: Methods for Error Correction Code (ECC) decoding include producing syndromes from a set of bits, which represent data that has been encoded with the ECC. An Error Locator Polynomial (ELP) is generated based on the syndromes. At least some of the ELP roots are identified, and the errors indicated by these roots are corrected. Each syndrome may be produced by applying to the bits vector operations in a vector space. Each syndrome is produced by applying vector operations using a different basis of the vector space. The ELP may be evaluated on a given field element by operating on ELP coefficients using serial multipliers, wherein each serial multiplier performs a sequence of multiplication cycles and produces an interim result in each cycle. Responsively to detecting at least one interim result indicating that the given element is not an ELP root, the multiplication cycles are terminated before completion of the sequence.Type: ApplicationFiled: August 7, 2015Publication date: December 3, 2015Inventors: Micha Anholt, Naftali Sommer, Gil Semo, Tal Inbar
-
Publication number: 20150332782Abstract: A method in a memory that includes multiple analog memory cells arranged in a three-dimensional (3-D) configuration, includes identifying multiple groups of potentially-interfering memory cells that potentially cause interference to a group of target memory cells. Partial distortion components, which are inflicted by the respective groups of the potentially-interfering memory cells on the target memory cells, are estimated. The partial distortion components are progressively accumulated so as to produce an estimated composite distortion affecting the target memory cells, while retaining only the composite distortion and not the partial distortion components. The target memory cells are read, and the interference in the target memory cells is canceled based on the estimated composite distortion.Type: ApplicationFiled: July 28, 2015Publication date: November 19, 2015Inventors: Eyal Gurgi, Micha Anholt, Yoav Kasorla
-
Patent number: 9171624Abstract: A method for data storage includes storing data in a group of memory cells, by encoding the data using at least an outer code and an inner code, and optionally inverting the encoded data prior to storing the encoded data in the memory cells. The encoded data is read from the memory cells, and inner code decoding is applied to the read encoded data to produce a decoding result. At least part of the read data is conditionally inverted, depending on the decoding result of the inner code.Type: GrantFiled: December 20, 2013Date of Patent: October 27, 2015Assignee: Apple Inc.Inventors: Micha Anholt, Naftali Sommer
-
Patent number: 9136879Abstract: A method for data storage includes encoding each of multiple data items individually using a first Error Correction Code (ECC) to produce respective encoded data items. The encoded data items are stored in a memory. The multiple data items are encoded jointly using a second ECC, so as to produce a code word of the second ECC, and only a part of the code word is stored in the memory. The stored encoded data items are recalled from the memory and the first ECC is decoded in order to reconstruct the data items. Upon a failure to reconstruct a given data item from a respective given encoded data item by decoding the first ECC, the given data item is reconstructed based on the part of the code word of the second ECC and on the encoded data items other than the given encoded data item.Type: GrantFiled: June 19, 2013Date of Patent: September 15, 2015Assignee: Apple Inc.Inventors: Micha Anholt, Or Ordentlich, Naftali Sommer, Ofir Shalvi
-
Patent number: 9136871Abstract: Methods for Error Correction Code (ECC) decoding include producing syndromes from a set of bits, which represent data that has been encoded with the ECC. An Error Locator Polynomial (ELP) is generated based on the syndromes. At least some of the ELP roots are identified, and the errors indicated by these roots are corrected. Each syndrome may be produced by applying to the bits vector operations in a vector space. Each syndrome is produced by applying vector operations using a different basis of the vector space. The ELP may be evaluated on a given field element by operating on ELP coefficients using serial multipliers, wherein each serial multiplier performs a sequence of multiplication cycles and produces an interim result in each cycle. Responsively to detecting at least one interim result indicating that the given element is not an ELP root, the multiplication cycles are terminated before completion of the sequence.Type: GrantFiled: February 18, 2014Date of Patent: September 15, 2015Assignee: Apple Inc.Inventors: Micha Anholt, Naftali Sommer, Gil Semo, Tal Inbar
-
Patent number: 9136015Abstract: A method, in a memory including multiple analog memory cells, includes segmenting a group of the memory cells into a common section and at least first and second dedicated sections. Each dedicated section corresponds to a read threshold that is used for reading a data page to be stored in the group. Data to be stored in the group is jointly balanced over a union of the common section and the first dedicated section, and over the union of the common section and the second dedicated section, to create a balanced page such that for each respective read threshold an equal number of memory cells will be programmed to assume programming levels that are separated by the read threshold. The balanced page is stored to the common and dedicated sections, and the read thresholds are adjusted based on detecting imbalance between data values in readout results of the balanced page.Type: GrantFiled: June 3, 2013Date of Patent: September 15, 2015Assignee: Apple Inc.Inventors: Micha Anholt, Eyal Gurgi, Barak Baum, Moshe Neerman, Moti Teitel
-
Patent number: 9122403Abstract: A method in a memory that includes multiple analog memory cells arranged in a three-dimensional (3-D) configuration, includes identifying multiple groups of potentially-interfering memory cells that potentially cause interference to a group of target memory cells. Partial distortion components, which are inflicted by the respective groups of the potentially-interfering memory cells on the target memory cells, are estimated. The partial distortion components are progressively accumulated so as to produce an estimated composite distortion affecting the target memory cells, while retaining only the composite distortion and not the partial distortion components. The target memory cells are read, and the interference in the target memory cells is canceled based on the estimated composite distortion.Type: GrantFiled: May 20, 2013Date of Patent: September 1, 2015Assignee: Apple Inc.Inventors: Eyal Gurgi, Micha Anholt, Yoav Kasorla
-
Patent number: 9075738Abstract: A method includes accepting a definition of a mother Error Correction Code (ECC) that is represented by a set of parity check equations and includes first code words, and a definition of a punctured ECC that includes second code words and is derived from the mother ECC by removal of one or more of the parity check equations and removal of one or more punctured check symbols selected from among check symbols of the first code words. A mother decoder, which is designed to decode the mother ECC by exchanging messages between symbol nodes and check nodes in accordance with a predefined interconnection scheme that represents the mother ECC, is provided. An input code word of the punctured ECC is decoded using the mother decoder by initializing one or more of the symbol nodes and controlling one or more of the messages, and while retaining the interconnection scheme.Type: GrantFiled: November 26, 2013Date of Patent: July 7, 2015Assignee: Apple Inc.Inventors: Micha Anholt, Naftali Sommer, Tal Inbar
-
Publication number: 20150180511Abstract: A method includes decoding 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 multiple variable nodes. For one or more selected variable nodes, a count of the check equations that are defined over one or more variables held respectively by the one or more selected variable nodes is evaluated, and, when the count meets a predefined skipping criterion, the one or more selected variable nodes are omitted from a given iteration in the sequence.Type: ApplicationFiled: December 23, 2013Publication date: June 25, 2015Applicant: Apple Inc.Inventors: Tomer Ish-Shalom, Ronen Dar, Micha Anholt
-
Publication number: 20150179263Abstract: A method for data storage includes storing data in a group of memory cells, by encoding the data using at least an outer code and an inner code, and optionally inverting the encoded data prior to storing the encoded data in the memory cells. The encoded data is read from the memory cells, and inner code decoding is applied to the read encoded data to produce a decoding result. At least part of the read data is conditionally inverted, depending on the decoding result of the inner code.Type: ApplicationFiled: December 20, 2013Publication date: June 25, 2015Applicant: APPLE INC.Inventors: Micha Anholt, Naftali Sommer
-
Publication number: 20150179265Abstract: A method for data storage includes, in a first programming phase, storing first data in a group of memory cells by programming the memory cells in the group to a set of initial programming levels. In a subsequent second programming phase, second data is stored in the group by identifying the memory cells in the group that were programmed in the first programming phase to respective levels in a predefined partial subset of the initial programming levels, and programming only the identified memory cells with the second data, so as to set at least some of the identified memory cells to one or more additional programming levels that are different from the initial programming levels. The memory cells to which the second data was programmed are recognized by reading only a partial subset of the first data. The second data is read from the recognized memory cells.Type: ApplicationFiled: December 20, 2013Publication date: June 25, 2015Applicant: Apple Inc.Inventors: Moti Teitel, Maya Barkon, Micha Anholt, Naftali Sommer
-
Patent number: 9053809Abstract: A method includes calculating redundancy information over a set of data items, and sending the data items for storage in a memory. The redundancy information is retained only until the data items are written successfully in the memory, and then discarded. The data items are recovered using the redundancy information upon a failure in writing the data items to the memory.Type: GrantFiled: August 23, 2012Date of Patent: June 9, 2015Assignee: Apple Inc.Inventors: Micha Anholt, Barak Baum, Alexander Paley