Advanced Bitwise Operations and Apparatus in a Multi-Level System with Nonvolatile Memory
First Claim
Patent Images
1. In a digital system configured with a nonvolatile memory for storing digital data, an apparatus comprising:
- a Reed Solomon encoder for receiving an input data stream including input data that is provided through the digital system to produce a Reed Solomon encoded stream that is made up of a series of Reed Solomon symbols;
a packing arrangement that receives said Reed Solomon encoded stream for producing a re-blocked output data stream such that at least one portion but not all of the re-blocked output data stream is configured to be subject to a code efficiency based on a convolutional code and said packing arrangement is adapted to modify the re-blocked output data stream to support changes in the code efficiency of the convolutional code which is associated with a predetermined number of Reed Solomon symbols in the input stream based on changing one or more values of one or more input parameters that are provided to the packing arrangement; and
a mapping arrangement for receiving the re-blocked output data stream and applying a TCM code to produce a TCM encoded output data stream, said mapping arrangement including a convolutional encoder for convolutionally encoding said portion of the TCM encoded output stream according to the code efficiency of said convolutional code to support said changes in the code efficiency as based on the values of the input parameters to produce a mapped output data stream for direction to the nonvolatile memory for storage therein as stored data.
3 Assignments
0 Petitions
Accused Products
Abstract
A digital system, components and method are configured with nonvolatile memory for storing digital data using codewords. The data is stored in the memory using multiple bits per memory cell of the memory. A code efficiency, for purposes of write operations and read operations relating to the memory, can be changed on a codeword to codeword basis based on input parameters. The code efficiency can change based on changing any one of the input parameters including bit density that is stored by the memory. Storing and reading fractional bit densities is described.
-
Citations
44 Claims
-
1. In a digital system configured with a nonvolatile memory for storing digital data, an apparatus comprising:
-
a Reed Solomon encoder for receiving an input data stream including input data that is provided through the digital system to produce a Reed Solomon encoded stream that is made up of a series of Reed Solomon symbols; a packing arrangement that receives said Reed Solomon encoded stream for producing a re-blocked output data stream such that at least one portion but not all of the re-blocked output data stream is configured to be subject to a code efficiency based on a convolutional code and said packing arrangement is adapted to modify the re-blocked output data stream to support changes in the code efficiency of the convolutional code which is associated with a predetermined number of Reed Solomon symbols in the input stream based on changing one or more values of one or more input parameters that are provided to the packing arrangement; and a mapping arrangement for receiving the re-blocked output data stream and applying a TCM code to produce a TCM encoded output data stream, said mapping arrangement including a convolutional encoder for convolutionally encoding said portion of the TCM encoded output stream according to the code efficiency of said convolutional code to support said changes in the code efficiency as based on the values of the input parameters to produce a mapped output data stream for direction to the nonvolatile memory for storage therein as stored data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. In a digital system configured with nonvolatile memory for storing digital data, a method comprising:
-
receiving an input data stream including input data that is provided through the digital system to produce a Reed Solomon encoded stream that is made up of a series of Reed Solomon symbols; producing a re-blocked output data stream from said Reed Solomon encoded stream such that at least one portion of the re-blocked output data stream is configured to be subject to a code efficiency based on a convolutional code; changing the code efficiency of the convolutional code which is associated with a predetermined number of Reed Solomon symbols in the input stream based on one or more input parameters; and convolutionally encoding said portion of the TCM encoded output stream according to the code efficiency and based on the input parameters to produce a mapped output data stream for direction to the nonvolatile memory for storage therein as stored data.
-
-
19. In a digital system configured with nonvolatile memory for storing digital data, an apparatus comprising:
-
a block code encoder for receiving an input data stream including input data that is provided through the digital system to produce a block code encoded stream that is made up of a series of block code symbols; a packing arrangement that receives said block code encoded stream for producing a re-blocked output data stream such that at least one portion but not all of the re-blocked output data stream is configured to be subject to a code efficiency based on a convolutional code and said packing arrangement is adapted to modify the re-blocked output data stream to support changes in the code efficiency of the convolutional code which is associated with a predetermined number of block code symbols in the input stream based on changing one or more values of one or more input parameters that are provided to the packing arrangement; and a mapping arrangement for receiving the re-blocked output data stream and applying a TCM code to produce a TCM encoded output data stream, said mapping arrangement including a convolutional encoder for convolutionally encoding said portion of the TCM encoded output stream according to the code efficiency of said convolutional code to support said changes in the code efficiency as based on the values of the input parameters to produce a mapped output data stream for direction to the nonvolatile memory for storage therein as stored data.
-
-
20. In a digital system configured with nonvolatile memory for storing digital data, a method comprising:
-
receiving an input data stream including input data that is provided through the digital system to produce a block code encoded stream that is made up of a series of block code symbols; producing a re-blocked output data stream from said block code encoded stream such that at least one portion of the re-blocked output data stream is configured to be subject to a code efficiency based on a convolutional code; changing the code efficiency of the convolutional code which is associated with a predetermined number of block code symbols in the input stream based on one or more input parameters; and convolutionally encoding said portion of the TCM encoded output stream according to the code efficiency and based on the input parameters to produce a mapped output data stream for direction to the nonvolatile memory for storage therein as stored data.
-
-
21. In a digital system configured with nonvolatile memory for storing digital data, an apparatus comprising:
a packing arrangement that is configured to receive a Reed Solomon encoded stream for producing a re-blocked output data stream such that at least one portion of the re-blocked output data stream is configured to be subject to a code efficiency based on a convolutional code and said packing arrangement is adapted for changes in the code efficiency of the convolutional code which is associated with a predetermined number of Reed Solomon symbols in the input stream based on given values of one or more input parameters that are provided to the packing arrangement as an intermediate step preparatory to storing the input data in the nonvolatile memory.
-
22. In a digital system configured with nonvolatile memory for storing digital data, a method comprising:
configuring a packing arrangement for receiving a Reed Solomon encoded stream for producing a re-blocked output data stream such that at least one portion of the re-blocked output data stream is configured to be subject to a code efficiency based on a convolutional code and adapting the packing arrangement for changes in the code efficiency of the convolutional code which is associated with a predetermined number of Reed Solomon symbols in the input stream based on given values of one or more input parameters that are provided to the packing arrangement as an intermediate step preparatory to storing the input data in the nonvolatile memory.
-
23. As part of a digital system using nonvolatile memory including a plurality of memory cells for storing digital data, an apparatus comprising:
a packing arrangement that receives an input data stream that is provided by the system for producing an output data stream that is based on a block size for storage in the memory cells and said packing arrangement is selectively operable in a first mode based on one or more input parameters to produce a first block size for storage in the memory cells and operable at least in a second mode to produce a second block size that is different than the first block size responsive to a change in said input parameters for selectably changing the block size during operation thereof. - View Dependent Claims (24)
-
25. As part of a digital system using nonvolatile memory including a plurality of memory cells for storing digital data such that at least some of the memory cells can store more than one bit, an apparatus comprising:
an encoder arrangement that receives an input data stream that is provided by the system for producing an output data stream that is based on a selected number of bits per cell coding for storage in the memory cells and said encoder arrangement is selectively operable in a first mode based on one or more input parameters to produce a first bit density for storage in the memory cells as the selected number of bits per cell and operable at least in a second mode to produce a second bit density that is different than the first bit density responsive to a change in said input parameters for selectably changing the number of bits per cell coding during operation thereof. - View Dependent Claims (26, 36)
-
27. In a digital system using nonvolatile memory including a plurality of memory cells for storing digital data such that at least some of the memory cells can store more than one bit, a method comprising:
configuring an encoder arrangement for receiving an input data stream that is provided by the system for producing an output data stream that is based on a selected number of bits per cell coding for storage in the memory cells and selectively operating said encoder arrangement in a first mode based on one or more input parameters to produce a first bit density for storage in the memory cells as the selected number of bits per cell and at least in a second mode to produce a second bit density that is different than the first bit density responsive to a change in said input parameters for selectably changing the number of bits per cell coding during operation thereof.
-
28. As part of a digital system using nonvolatile memory including a plurality of memory cells for storing digital data such that at least some of the memory cells can store more than one bit, an apparatus comprising:
an encoder arrangement that receives an input data stream that is provided by the system as a series of input symbols for producing an output data stream that is based on a selected number of bits per cell coding for storage in the memory cells and said encoder arrangement is reconfigurable based on one or more input parameters for changing at least the selected number of bits per cell coding to be stored in the memory cells of the nonvolatile memory. - View Dependent Claims (37)
-
29. In a digital system using nonvolatile memory including a plurality of memory cells for storing digital data such that at least some of the memory cells can store more than one bit, a method comprising:
configuring an encoder arrangement for receiving an input data stream that is provided by the system as a series of input symbols for producing an output data stream that is based on a selected number of bits per cell coding for storage in the memory cells such that said encoder arrangement is reconfigurable based on one or more input parameters for changing at least the selected number of bits per cell coding to be stored in the memory cells of the nonvolatile memory.
-
30. As part of a digital system using nonvolatile memory including a plurality of memory cells for storing digital data such that at least some of the memory cells can store more than one bit, an apparatus comprising:
a decoder arrangement that receives a read data stream that is provided responsive to reading a data structure that is stored in the nonvolatile memory to provide a series of read symbols, containing a user data stream originally encoded during a write operation as part of the data structure, and stored in a series of the memory cells for reproducing the user data stream based on a selected one of a number of different bit densities per cell coding as stored in the series of memory cells and said decoder arrangement is reconfigurable based on one or more input parameters for changing at least the selected one of said bit densities to match the bit densities as stored in the series of memory cells as part of reproducing said user data stream.
-
31. In a digital system using nonvolatile memory including a plurality of memory cells for storing digital data such that at least some of the memory cells can store more than one bit, a method comprising:
configuring a decoder arrangement for receiving a read data stream that is provided responsive to reading a data structure that is stored in the nonvolatile memory to provide a series of read symbols, containing a user data stream originally encoded during a write operation as part of the data structure, and stored in a series of the memory cells for reproducing the user data stream based on a selected one of a number of different bit densities per cell coding as stored in the series of memory cells such that said decoder arrangement is reconfigurable based on one or more input parameters for changing at least the selected one of said bit densities to match the bit densities as stored in the series of memory cells as part of reproducing said user data stream.
-
32. As part of a digital system configured with nonvolatile memory including a plurality of memory cells for storing digital data such that at least some of the memory cells can store more than one bit, an apparatus comprising:
-
a demapping arrangement for receiving a memory output stream based on reading the stored data from the nonvolatile memory where the memory output stream is in the form of a TCM encoded output data stream having one portion but not all of the TCM encoded output data stream being subject to a code efficiency that is established by given values of a set of parameters during an encoding operation and for convolutionally decoding the TCM encoded output data stream based on the code efficiency to reproduce said TCM encoded output data stream as a demapped output stream based on corresponding ones of the given values of the input parameters as provided during the encoding operation which demapped output stream contains a Reed Solomon encoded stream; an unpacking arrangement for receiving the demapper output stream and reproducing therefrom said Reed Solomon encoded stream based on said code efficiency and said unpacking arrangement is responsive to changing the code efficiency of the convolutional code associated with said predetermined number of Reed Solomon symbols based on corresponding ones of the given values of said one or more input parameters as provided during said encoding operation; and a Reed Solomon decoder for receiving the Reed Solomon encoded stream from the unpacking arrangement to decode therefrom a read data stream that includes said input data for use by the digital system as read data.
-
-
33. In a digital system configured with nonvolatile memory including a plurality of memory cells for storing digital data such that at least some of the memory cells can store more than one bit, a method comprising:
-
configuring a demapping arrangement for receiving a memory output stream based on reading the stored data from the nonvolatile memory where the memory output stream is in the form of a TCM encoded output data stream having one portion but not all of the TCM encoded output data stream being subject to a code efficiency that is established by given values of a set of parameters during an encoding operation and for convolutionally decoding the TCM encoded output data stream based on the code efficiency to reproduce said TCM encoded output data stream as a demapped output stream based on corresponding ones of the given values of the input parameters as provided during the encoding operation which demapped output stream contains a Reed Solomon encoded stream; receiving the demapper output stream, using an unpacking arrangement, and reproducing therefrom said Reed Solomon encoded stream based on said code efficiency such that the unpacking arrangement is responsive to changing the code efficiency of the convolutional code associated with said predetermined number of Reed Solomon symbols based on corresponding ones of the given values of said one or more input parameters as provided during said encoding operation; and providing a Reed Solomon decoder for receiving the Reed Solomon encoded stream from the unpacking arrangement to decode therefrom a read data stream that includes said input data for use by the digital system as read data.
-
-
34. In a digital system configured with nonvolatile memory for storing digital data responsive to a host device, an apparatus comprising:
an encoder/decoder arrangement for interfacing the host device with the nonvolatile memory for transferring read data and write data therebetween in a series of codewords with each codeword having a codeword size such that an encoded data flow from the host device to the nonvolatile memory and a decoded data flow from the nonvolatile memory to the host device are each subject at least to a code efficiency that is based on a convolutional code and the encoder/decoder arrangement is configured for receiving one or more input parameters such that the code efficiency is changeable responsive to a change in the input parameters on a codeword to codeword basis. - View Dependent Claims (35)
-
38. In a digital system configured with nonvolatile memory for storing digital data, a data structure that is stored in the nonvolatile memory, said data structure comprising:
a series of TCM symbols, stored in the nonvolatile memory, each of which represents at least two bits having at least the least significant bit of each TCM symbol subject to a convolutional code and at least one other bit of each symbol is not convolutionally encoded and the TCM symbols make up a series of Reed Solomon symbols forming a series of codewords such that a code efficiency of the convolutional code for at least one codeword in the data structure is different from the code efficiency of an adjacent codeword in the data structure.
-
39. For use with a digital system configured with nonvolatile memory for storing digital data, a method for storing a data structure in the nonvolatile memory, said method comprising:
writing a series of TCM symbols to the nonvolatile memory, each of which TCM symbols represents at least two bits having at least the least significant bit of each TCM symbol subject to a convolutional code and at least one other bit of each symbol is not convolutionally encoded and the TCM symbols make up a series of Reed Solomon symbols forming a series of codewords such that a code efficiency of the convolutional code for at least one codeword in the data structure is different from the code efficiency of an adjacent codeword in the data structure.
-
40. In a digital system configured with nonvolatile memory for storing digital data, a data structure that is stored in the nonvolatile memory, said data structure comprising:
a series of TCM symbols, stored in the nonvolatile memory in a series of memory cells that form part of the nonvolatile memory, with each TCM symbol including at least one bit and making up a data transfer previously written to the nonvolatile memory such that, at least on average, a fractional number of bits per cell is stored by the series of memory cells as representing said data transfer.
-
41. In a digital system configured with nonvolatile memory for storing digital data, a method comprising:
writing a series of TCM symbols as a data transfer to said nonvolatile memory in a series of memory cells that form part of the nonvolatile memory with each TCM symbol including at least one bit such that, at least on average, a fractional number of bits per cell is stored by the series of memory cells as representing said data transfer. - View Dependent Claims (42)
-
43. In a digital system configured with nonvolatile memory for storing digital data, an apparatus comprising:
a write arrangement for writing, in a data transfer operation, a data structure to the nonvolatile memory as a series of TCM symbols in a series of memory cells that form part of the nonvolatile memory, with each TCM symbol including at least one bit and which data structure includes user data such that, at least on average, a fractional number of bits per cell is stored by the series of memory cells. - View Dependent Claims (44)
Specification