IP Library Granted Patent US 8,996,793
Granted Patent B1
US 8,996,793 · App. 13/454,750 · Granted Mar 31, 2015

System, method and computer readable medium for generating soft information

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,996,793
App. No.
13/454,750
Granted
Mar 31, 2015
Kind
B1
Abstract

A system, a method and a non-transitory computer readable medium for generating soft information. The method may include performing a first set of read attempts of flash memory cells using a first set of read thresholds to provide first read results; calculating for each flash memory cell in response to the first read results, first cell information indicative of a first change-inducing read threshold; performing a second set of read attempts of the flash memory cells using a second set of read thresholds to provide second read results, calculating for each flash memory cell in response to the second read results, second cell information indicative of a second change-inducing read threshold; and generating, for each flash memory cell soft information in response to the first cell information and the second cell information of the flash memory cell.

Claims (48)

1. A method for generating soft information, the method comprising: performing by a flash memory controller a first set of read attempts of flash memory cells using a first set of read thresholds to provide first read results; calculating, by the flash memory controller, for each flash memory cell of the flash memory cells and in response to the first read results, first cell information indicative of a first change-inducing read threshold; performing by the flash memory controller a second set of read attempts of the flash memory cells using a second set of read thresholds to provide second read results; wherein at least one read threshold of the second set of read thresholds substantially equals at least one read threshold of the first set of read thresholds; calculating, by the flash memory controller, for each flash memory cell of the flash memory cells and in response to the second read results, second cell information indicative of a second change-inducing read threshold; and generating, for each flash memory cell of the flash memory cells, soft information in response to the first cell information and the second cell information of the flash memory cell;

wherein the first set of read thresholds virtually partitions a threshold voltage distribution of the flash memory cells to multiple first voltage ranges; and

wherein the second set of read thresholds virtually partitions the threshold voltage distribution of the flash memory cells to multiple second voltage ranges.

2. The method according to claim 1 wherein each read threshold of the second set of read thresholds is included in the first set of read thresholds.

3. The method according to claim 2 , wherein the first cell information of each flash memory cell represents a first voltage range that starts by the first change-inducing read threshold; and wherein the second cell information of each flash memory cell represents a second voltage range that starts by the second change-inducing read threshold.

4. The method according to claim 3 , wherein the first cell information comprises a first label that represents a location of the first voltage range and wherein the second cell information comprises a second label that represents a location of the second voltage range.

5. The method according to claim 4 , wherein the generating of the soft information comprises adding, for each flash memory cell, the first label and the second label to provide a combined label.

6. The method according to claim 5 , wherein the adding comprises a coherent combining, for each flash memory cell, the first label and the second label of the flash memory cell to provide the combined label of the flash memory cell.

7. The method according to claim 4 , comprising compressing the combined label of each flash memory cell.

8. The method according to claim 4 , comprising feeding the first label and the second label of each flash memory cell of the multiple flash memory cells to a lookup table that outputs a combined label.

9. The method according to claim 3 , wherein the first cell information represents a reliability of the first voltage range and wherein the second cell information represents a reliability of the second voltage range.

10. The method according to claim 3 , wherein the first cell information comprises a first log likelihood ratio (LLR) value associated with the first voltage range.

11. The method according to claim 10 , wherein the generating of the soft information comprises adding, for each flash memory cell, the first LLR value and the second LLR value to provide a combined LLR value.

12. The method according to claim 11 , wherein the adding comprises a coherent combining, for each flash memory cell, of the first LLR value and the second LLR value to provide a combined LLR value.

13. The method according to claim 12 , comprising compressing the combined LLR value.

14. The method according to claim 1 , wherein the second set of read thresholds is a subset of the first set of read thresholds and wherein the method comprises selecting the second read thresholds in response to an estimated reliability of first voltage ranges.

15. The method according to claim 14 , comprising selecting second read thresholds associated with first voltage ranges that exhibit a reliability that is smaller than a reliability threshold.

16. A method for generating soft information, the method comprising: performing by a flash memory controller a first set of read attempts of flash memory cells using a first set of read thresholds to provide first read results; calculating, by the flash memory controller, for each flash memory cell of the flash memory cells and in response to the first read results, first cell information indicative of a first change-inducing read threshold; performing by the flash memory controller a second set of read attempts of the flash memory cells using a second set of read thresholds to provide second read results; wherein at least one read threshold of the second set of read thresholds substantially equals at least one read threshold of the first set of read thresholds; calculating, by the flash memory controller, for each flash memory cell of the flash memory cells and in response to the second read results, second cell information indicative of a second change-inducing read threshold; generating, for each flash memory cell of the flash memory cells, soft information in response to the first cell information and the second cell information of the flash memory cell; and

determining an amount of second read thresholds to be applied during the second set of read attempts based upon an outcome of an at least partial soft decoding attempt that is applied on the first read results.

17. A method for generating soft information, the method comprising: performing by a flash memory controller a first set of read attempts of flash memory cells using a first set of read thresholds to provide first read results; calculating, by the flash memory controller, for each flash memory cell of the flash memory cells and in response to the first read results, first cell information indicative of a first change-inducing read threshold; performing by the flash memory controller a second set of read attempts of the flash memory cells using a second set of read thresholds to provide second read results; wherein at least one read threshold of the second set of read thresholds substantially equals at least one read threshold of the first set of read thresholds; calculating, by the flash memory controller, for each flash memory cell of the flash memory cells and in response to the second read results, second cell information indicative of a second change-inducing read threshold; generating, for each flash memory cell of the flash memory cells, soft information in response to the first cell information and the second cell information of the flash memory cell; and

performing an additional set of read attempts of the flash memory cells using an additional set of read thresholds to provide additional read results; wherein at least one additional read threshold of the additional set of read thresholds substantially equals at least one read thresholds of the first set of read thresholds;

calculating, by the flash memory controller, for each flash memory cell and in response to the additional read results, additional cell information indicative of an additional change-inducing read threshold; and

generating, for each flash memory cell, soft information in response to the first, second and additional cell information of the flash memory cell.

18. The method according to claim 17 , comprising:

performing at least a partial soft decoding attempt after a completion of a re-sampling iteration; wherein the re-sampling iteration comprises the performing of the additional set of read attempts, the calculating of the additional cell information and the generating of the soft information; and

determining whether to perform a further re-sampling iteration based upon an amount of success of the at least partial soft decoding attempt.

19. The method according to claim 17 comprising determining to perform the further re-sampling iteration until the at least partial soft decoding attempt succeeds.

20. A method for generating soft information, the method comprising: performing by a flash memory controller a first set of read attempts of flash memory cells using a first set of read thresholds to provide first read results; calculating, by the flash memory controller, for each flash memory cell of the flash memory cells and in response to the first read results, first cell information indicative of a first change-inducing read threshold; performing by the flash memory controller a second set of read attempts of the flash memory cells using a second set of read thresholds to provide second read results; wherein at least one read threshold of the second set of read thresholds substantially equals at least one read threshold of the first set of read thresholds; calculating, by the flash memory controller, for each flash memory cell of the flash memory cells and in response to the second read results, second cell information indicative of a second change-inducing read threshold; generating, for each flash memory cell of the flash memory cells, soft information in response to the first cell information and the second cell information of the flash memory cell; and

determining at least one parameter of the second set of read attempts in response to a state of the flash memory cells.

21. A non-transitory computer readable medium that stores instructions for:

performing, by a flash memory controller, a first set of read attempts of flash memory cells using a first set of read thresholds to provide first read results;

calculating, by the flash memory controller, for each flash memory cell of the flash memory cells and in response to the first read results, first cell information indicative of a first change-inducing read threshold;

performing, by the flash memory controller, a second set of read attempts of the flash memory cells using a second set of read thresholds to provide second read results;

wherein at least one read threshold of the second set of read thresholds substantially equals at least one read threshold of the first set of read thresholds;

calculating, by the flash memory controller, for each flash memory cell of the flash memory cells and in response to the second read results, second cell information indicative of a second change-inducing read threshold; and

generating, for each flash memory cell of the flash memory cells, soft information in response to the first cell information and the second cell information of the flash memory cell;

wherein the first set of read thresholds virtually partitions a threshold voltage distribution of the flash memory cells to multiple first voltage ranges; and

wherein the second set of read thresholds virtually partitions the threshold voltage distribution of the flash memory cells to multiple second voltage ranges.

22. A system comprising a flash memory controller, the flash memory controller comprises:

a read circuit that is arranged to perform:

a first set of read attempts of flash memory cells using a first set of read thresholds to provide first read results;

a second set of read attempts of the flash memory cells using a second set of read thresholds to provide second read results; wherein at least one read threshold of the second set of read thresholds substantially equals at least one read threshold of the first set of read thresholds;

a soft information circuit arranged to:

calculate, for each flash memory cell of the flash memory cells and in response to the first read results, first cell information indicative of a first change-inducing read threshold;

calculate, for each flash memory cell of the flash memory cells and in response to the second read results, second cell information indicative of a second change-inducing read threshold; and

generate, for each flash memory cell of the flash memory cells, soft information in response to the first cell information and the second cell information of the flash memory cell;

wherein the first set of read thresholds virtually partitions a threshold voltage distribution of the flash memory cells to multiple first voltage ranges; and

wherein the second set of read thresholds virtually partitions the threshold voltage distribution of the flash memory cells to multiple second voltage ranges.

Assignments (9)
MERGER Recorded Mar 3, 2023
From: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED; BROADCOM INTERNATIONAL PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 062952/0850 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2020
From: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
To: BROADCOM INTERNATIONAL PTE. LTD.
Reel/Frame 053771/0901 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
RELEASE OF SECURITY INTEREST Recorded Jan 11, 2017
From: KREOS CAPITAL IV (EXPERT FUND) LIMITED
To: DENSBITS TECHNOLOGIES LTD.
Reel/Frame 041339/0921 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2016
From: DENSBITS TECHNOLOGIES LTD.
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 037622/0224 →
SECURITY INTEREST Recorded Mar 18, 2015
From: DENSBITS TECHNOLOGIES LTD.
To: KREOS CAPITAL IV (EXPERT FUND) LIMITED
Reel/Frame 035222/0547 →
SECURITY INTEREST Recorded Jul 30, 2014
From: DENSBITS TECHNOLOGIES LTD.
To: KREOS CAPITAL IV (EXPERT FUND) LIMITED
Reel/Frame 033444/0628 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2012
From: STEINER, AVI; WEINGARTEN, HANAN
To: DENSBITS TECHNOLOGIES LTD.
Reel/Frame 029476/0523 →