IP Library Granted Patent US 8,074,013
Granted Patent B2
US 8,074,013 · App. 12/563,915 · Granted Dec 6, 2011

Uniform coding system for a flash memory

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,074,013
App. No.
12/563,915
Granted
Dec 6, 2011
Kind
B2
Abstract

A uniform coding system for a flash memory is disclosed. A statistic decision unit determines a coding word according to a plurality of inputs. An inverse unit controllably inverts input data to be encoded. The input data are then encoded into encoded data according to a statistic determined by the statistic decision unit.

Claims (56)

1. A uniform coding system for a flash memory, comprising:

a statistic decision unit for determining a coding word according to a plurality of inputs; and

an inverse unit for controllably inverting input data to be encoded;

wherein the input data are encoded into encoded data according to a statistic determined by the statistic decision unit.

2. The system of claim 1 , further comprising a re-inverse unit for recovering the input data from the encoded data according to the coding word.

3. The system of claim 2 , further comprising a data divider for dividing a data section of the input data into a plurality of data parts.

4. The system of claim 3 , wherein the statistic decision unit performs following steps on the data parts:

counting to derive a counted number of bits “ 0 ” or bits “ 1 ” in each of the data parts;

determining deviations of the counted number and a predetermined mean for the data parts respectively; and

determining one or more of the data parts that need be inverted such that a sum of the deviations approaches zero;

wherein inversion and non-inversion of the data parts collectively generate the coding word.

5. The system of claim 4 , wherein the inverse unit inverts bits of the data part or parts that need be inverted, while the other data part or parts remain unchanged, thereby resulting in the encoded data.

6. The system of claim 5 , wherein the re-inverse unit inverts the bits of the data part or parts of the encoded data that have been inverted, while the other data part or parts remain unchanged, thereby recoverably decoding the encoded data into the input data.

7. The system of claim 6 , further comprising a combing unit for combining the data parts from the re-inverse unit, thereby forming the entire data section.

8. The system of claim 2 , wherein the inverse unit subjects the input data to exclusive-OR logical operation with a plurality of candidate words respectively, thereby resulting in a plurality of exclusive-ORed input data.

9. The system of claim 8 , wherein the statistic decision unit performs following steps:

counting bits “ 0 ” and bits “ 1 ” for each of the exclusive-ORed input data; and

selecting the candidate word corresponding to the exclusive-ORed input data having approximately equal bits “ 0 ” and bits “ 1 ” as the coding word, and the associated exclusive-ORed input data as the encoded data.

10. The system of claim 9 , wherein the re-inverse unit subjects the encoded data to a further exclusive-OR logical operation with the coding word, thereby recoverably decoding the encoded data into the input data.

11. The system of claim 8 , wherein each of the plurality of candidate words is a pseudo random number.

12. The system of claim 11 , further comprising at least one pseudo random number generator for generating the pseudo random number.

13. The system of claim 2 , wherein the statistic decision unit performs following steps on the input data:

determining occurring probabilities of data code combinations respectively;

ranking the probabilities; and

assigning more uniform code word to the data code combination with higher probability, and assigning less uniform code word to the data code combination with less probability;

wherein the data code combinations and the associated code words therefore result in a probability coding table.

14. The system of claim 13 , wherein the inverse unit controllably inverts at least part of the input data according to the associated code word as the coding word, thereby resulting in the encoded data.

15. The system of claim 14 , wherein the re-inverse unit controllably inverts at least part of the encoded data according to the probability coding table, thereby recoverably decoding the encoded data into the input data.

16. A uniform coding system for a flash memory, comprising:

a data divider for dividing a data section of input data into a plurality of data parts;

a statistic decision unit for determining a coding word according to the data parts, wherein the statistic decision unit performs following steps on the data parts:

counting to derive a counted number of bits “ 0 ” or bits “ 1 ” in each of the data parts;

determining deviations of the counted number and a predetermined mean for the data parts respectively; and

determining one or more of the data parts that need be inverted such that a sum of the deviations approaches zero, wherein inversion and non-inversion of the data parts collectively generate the coding word; and

an inverse unit for inverting bits of the data part or parts that need be inverted, while the other data part or parts remain unchanged, thereby resulting in encoded data.

17. The system of claim 16 , further comprising:

a re-inverse unit for recovering the input data from the encoded data according to the coding word; and

a combing unit for combining the data parts from the re-inverse unit, thereby forming the entire data section.

18. The system of claim 17 , wherein the re-inverse unit inverts the bits of the data part or parts of the encoded data that have been inverted, while the other data part or parts remain unchanged, thereby recoverably decoding the encoded data into the input data.

19. A uniform coding system for a flash memory, comprising:

an inverse unit for controllably inverting input data to be encoded, wherein the inverse unit subjects the input data to exclusive-OR logical operation with a plurality of candidate words respectively, thereby resulting in a plurality of exclusive-ORed input data; and

a statistic decision unit for determining a coding word according to the plurality of exclusive-ORed input data, wherein the statistic decision unit performs following steps:

counting bits “ 0 ” and bits “ 1 ” for each of the exclusive-ORed input data; and

selecting the candidate word corresponding to the exclusive-ORed input data having approximately equal bits “ 0 ” and bits “ 1 ” as the coding word, and the associated exclusive-ORed input data as encoded data.

20. The system of claim 19 , further comprising:

a re-inverse unit for subjecting the encoded data to a further exclusive-OR logical operation with the coding word, thereby recoverably decoding the encoded data into the input data.

21. The system of claim 19 , wherein each of the plurality of candidate words is a pseudo random number.

22. The system of claim 21 , further comprising at least one pseudo random number generator for generating the pseudo random number.

23. A uniform coding system for a flash memory, comprising:

a statistic decision unit for determining a coding word according to input data, wherein the statistic decision unit performs following steps on the input data:

determining occurring probabilities of data code combinations respectively;

ranking the probabilities; and

assigning more uniform code word to the data code combination with higher probability, and assigning less uniform code word to the data code combination with less probability, wherein the data code combinations and the associated code words therefore result in a probability coding table; and

an inverse unit for controllably inverting at least part of the input data according to the associated code word as the coding word, thereby resulting in the encoded data.

24. The system of claim 23 , further comprising:

a re-inverse unit for controllably inverting at least part of the encoded data according to the probability coding table, thereby recoverably decoding the encoded data into the input data.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2019
From: AUSPITEK (SHENZHEN) INC.
To: YEESTOR MICROELECTRONICS CO., LTD
Reel/Frame 048961/0085 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2016
From: SKYMEDI CORPORATION
To: AUSPITEK (SHENZHEN) INC.
Reel/Frame 038211/0263 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2009
From: HUANG, HAN-LUNG; HUANG, CHIEN-FU; CHOU, MING-HUNG; CHO, SHIH-KENG
To: SKYMEDI CORPORATION
Reel/Frame 023268/0212 →