Tracking cells for a memory system
AssigneeSanDisk Corporation
InventorsDaniel C. Guterman, Stephen J. Gross, Shahzad Khalid, Geoffrey S. Gongwer
Life of this patent
Estimating the term…
Abstract
Tracking cells are used in a memory system to improve the read process. The tracking cells can provide an indication of the quality of the data and can be used as part of a data recovery operation if there is an error. The tracking cells provide a means to adjust the read parameters to optimum levels in order to reflect the current conditions of the memory system. Additionally, some memory systems that use multi-state memory cells will apply rotation data schemes to minimize wear. The rotation scheme can be encoded in the tracking cells based on the states of multiple tracking cells, which is decoded upon reading.
Claims79
A method for reading data stored in a memory system, said memory system includes a set of multi-state storage elements, said multi-state storage elements include data storage elements and tracking storage elements, said data storage elements capable of storing rotatably encoded data in a set of multiple states, said method comprising the steps of:
- reading said tracking storage elements, said step of reading said tracking storage elements includes categorizing at least a subset of said tracking storage elements into tracking states, said tracking states correspond to a subset of said multiple states, said subset of said multiple states consists of fewer than all states of said multiple states, said tracking states are separated from one another by one or more other states of said multiple states which are not in said subset of said multiple states;
- determining a rotation scheme based on said categorizing;
- and
- reading at least a subset of said data storage elements using said rotation scheme.
A method of reading data stored in a solid state memory system, said memory system includes a set of multi-state storage elements, said multi-state storage elements include data storage elements and tracking storage elements, said data storage elements capable of storing rotatably encoded data in a set of multiple states, said method comprising the steps of:
- reading non-rotatably encoded data from said tracking storage elements, said step of reading non-rotatably encoded data from said tracking storage elements includes categorizing at least a subset of said tracking storage elements into tracking states, said tracking states are separated from one another by one or more other states of said multiple states which are not tracking states;
- determining a rotation scheme for said data storage elements based on said categorizing;
- and
- reading at least a subset of said data storage elements using said rotation scheme.
A method for reading data stored in a memory system, said memory system includes a set of multi-state storage elements, said multi-state storage elements includes data storage elements and tracking storage elements, said data storage elements capable of storing rotatably encoded data in a set of multiple states, said method comprising the steps of:
- reading said tracking storage elements, said step of reading said tracking storage elements includes categorizing at least a subset of said tracking storage elements into tracking states, said tracking states correspond to a subset of said multiple states, said subset of said multiple states consists of fewer than all states of said multiple states, said tracking states are separated from one another by one or more other states of said multiple states which are not tracking states;
- determining a first rotation scheme from a set of rotation schemes based on said categorizing, said set of rotation schemes includes more rotation schemes than tracking states;
- reading at least a subset of said data storage elements using said rotation scheme;
- determining an error;
- reading said tracking storage elements a second time and determining a new set of compare points;
- and
- reading one or more data storage elements of said subset of said data storage elements using said new set of compare points.
A memory system, comprising:
- a set of multi-state storage elements, said multi-state storage elements include data storage elements and tracking storage elements, said data storage elements capable of storing rotatably encoded data in a set of multiple states;
- means for reading said tracking storage elements, said means for reading said tracking storage elements categorizing at least a subset of said tracking storage elements into tracking states, said tracking states correspond to a subset of said multiple states, said subset of said multiple states consists of fewer than all states of said multiple states, said tracking states are non-neighbor states which are separated from one another by one or more states of said multiple states which are not in said subset of said multiple states;
- means for determining a rotation scheme based on said categorizing;
- and
- means for reading at least a subset of said data storage elements using said rotation scheme.
A memory system, comprising:
- a set of multi-state storage elements, said multi-state storage elements includes data storage elements and tracking storage elements, said data storage elements capable of storing rotatably encoded data in a set of multiple states;
- a sensing circuit in communication with said set of multi-state storage elements, said sensing circuit capable of reading said data storage elements and tracking storage elements;
- and
- a controller circuit in communication with said sensing circuit, said controller circuit categorizing into tracking states at least a subset of said tracking storage elements read by said sensing circuit, said tracking states correspond to a subset of said multiple states, said subset of said multiple states consists of fewer than all states of said multiple states, said tracking states are separated from one another by one or more other states of said multiple states which are not in said subset of said multiple states, said controller circuit determines a rotation scheme based on said categorizing, and subsequent read operations on at least a subset of said data storage elements use said determined rotation scheme.
A method of reading data, comprising the steps of:
- reading a set of tracking storage elements in a flash memory system, said flash memory system includes a set of multi-state storage elements, said multi-state storage elements includes data storage elements and tracking storage elements, said data storage elements capable of storing rotatably encoded data in a set of multiple states, said tracking storage elements store data that is not rotatably encoded, said step of reading said set of tracking storage elements includes categorizing at least a subset of said tracking storage elements into tracking states;
- determining a rotation scheme based on said categorizing;
- and
- reading data from at least a subset of said data storage elements and using said rotation scheme to decode said data read from said subset of said data storage elements.
A method performed for a memory system, said memory system includes a set of storage elements, said storage elements includes data storage elements and tracking storage elements, said data storage elements store data in multiple states, said method comprising the steps of:
- performing read operations on said tracking storage elements, said tracking storage elements use a subset of said multiple states, said subset of said multiple states consists of fewer than all states of said multiple states, states in said subset of said multiple states are separated from one another by states of said multiple states which are not in said subset of said multiple states;
- recording error information from said read operations;
- determining a quality gauge based on said error information;
- and
- responding to said quality gauge if said quality gauge satisfies predetermined criteria.
A memory system, comprising:
- a set of storage elements, said storage elements include data storage elements and tracking storage elements, said data storage elements store data in multiple states, said tracking storage elements use a subset of said multiple states, said subset of said multiple states consists of fewer than all states of said multiple states, states in said subset of said multiple states are separated from one another by states of said multiple states which are not in said subset of said multiple states;
- and
- a controller in communication with said tracking storage elements, as part of a process for reading said memory system said controller is capable of causing a performance of read operations of said tracking storage elements, a recording of error information from said read operations and a determination of a quality gauge based on said read operation, if said quality gauge satisfies predetermined criteria then said process for reading said memory system performs a response to said quality gauge.
Dependencies are inferred from the claim text.