Circuit, system and method for encoding data to be stored on a non-volatile memory array
First Claim
Patent Images
1. A control circuit for storing bits of a data block on a Non-Volatile Memory (“
- NVM”
) array, said circuit comprising;
a bit scrambling block adapted to rearrange the bit of the data block according to a spreading pattern;
an Error Correction Coding (“
ECC”
) block adapted to generate an ECC based on either the original data block or on the rearranged data block;
an NVM storing circuit adapted to store in said NVM array the ECC and the block of bits from which the ECC was not derived;
a reading circuit adapted to read a stored block of bits from the NVM array;
wherein said bit scrambling block is adapted to scramble the read data block if the block was stored unscrambled; and
wherein the ECC block is adapted to manipulate the scrambled block according to an ECC which is based on a scrambled version of the original data block prior to being stored on the NVM.
5 Assignments
0 Petitions
Accused Products
Abstract
The present invention is a method, circuit and system for storing bits on a Non-Volatile Memory (“NVM”) array. According to some embodiments of the present invention, a bit scrambling block may rearrange the received block of bits according to a spreading pattern. An error correction code block may generate an error correction code (“ECC”) based on either the original block of bits or based on the rearranged block of bits, and a data storing circuit may store in the NVM array the ECC and the block of bits from which the ECC was not derived.
156 Citations
3 Claims
-
1. A control circuit for storing bits of a data block on a Non-Volatile Memory (“
- NVM”
) array, said circuit comprising;a bit scrambling block adapted to rearrange the bit of the data block according to a spreading pattern; an Error Correction Coding (“
ECC”
) block adapted to generate an ECC based on either the original data block or on the rearranged data block;an NVM storing circuit adapted to store in said NVM array the ECC and the block of bits from which the ECC was not derived; a reading circuit adapted to read a stored block of bits from the NVM array; wherein said bit scrambling block is adapted to scramble the read data block if the block was stored unscrambled; and wherein the ECC block is adapted to manipulate the scrambled block according to an ECC which is based on a scrambled version of the original data block prior to being stored on the NVM. - View Dependent Claims (2, 3)
- NVM”
Specification