IP Library Granted Patent US 12,469,573
Granted Patent B2
US 12,469,573 · App. 18/320,318 · Granted Nov 11, 2025

Storage controller generating read voltages for soft decision decoding based on read information and decoding information, storage device including the same, and operating method thereof

Inventors: YongSung Kil (Suwon-si, KR); Soonyoung Kang (Suwon-si, KR); Hong Rak Son (Suwon-si, KR); Kangseok Lee (Suwon-si, KR)
Assignee: Samsung Electronics Co., Ltd.
G11C29/021G11C11/4087G11C29/52
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 12,469,573
App. No.
18/320,318
Granted
Nov 11, 2025
Kind
B2
Abstract

Disclosed is a method of operating a storage controller which is configured to communicate with a non-volatile memory device. The method includes receiving count data from the non-volatile memory device, determining a pre-read voltage based on the count data, sending a pre-read request using the pre-read voltage to the non-volatile memory device, receiving pre-read data from the non-volatile memory device responsive to sending the pre-read request, calculating a decoding value corresponding to the pre-read data, and generating read voltage information based on the count data and the decoding value, and the decoding value predicts an error voltage of the pre-read data.

Claims (84)

1 . A method of operating a storage controller that is configured to communicate with a non-volatile memory device, the method comprising:

receiving count data from the non-volatile memory device;

determining a pre-read voltage based on the count data;

sending a pre-read request using the pre-read voltage to the non-volatile memory device;

receiving pre-read data from the non-volatile memory device responsive to sending the pre-read request;

calculating a decoding value corresponding to the pre-read data; and

generating read voltage information based on the count data and the decoding value,

wherein the decoding value is indicative of an error voltage of the pre-read data,

wherein the count data are generated while the non-volatile memory device performs read operations by using a first voltage, a second voltage, and a third voltage,

wherein the count data comprises a first count and a second count, and

wherein the determining of the pre-read voltage based on the count data comprises:

comparing the first count and the second count; and

calculating a difference between the first count and the second count;

when the first count is less than the second count based on a result of comparing the first count and the second count, comparing the difference and a first reference; and

when the difference is greater than the first reference, setting the first voltage as the pre-read voltage.

2 . The method of claim 1 , further comprising:

sending an OVS (On-chip Valley Search) read request to the non-volatile memory device,

wherein the receiving of the count data from the non-volatile memory device comprises:

receiving the count data from the non-volatile memory device, responsive to sending the OVS read request.

3 . The method of claim 1 ,

wherein the first count is obtained by counting a number of memory cells whose threshold voltages are between the first voltage and the second voltage, and

wherein the second count is obtained by counting a number of memory cells whose threshold voltages are between the second voltage and the third voltage.

4 . The method of claim 1 , further comprising:

when the first count is greater than the second count based on the result of comparing the first count and the second count, comparing the difference and the first reference;

when the difference is less than the first reference, setting the second voltage as the pre-read voltage; and

when the difference is greater than the first reference, setting the third voltage as the pre-read voltage.

5 . The method of claim 1 , wherein the calculating of the decoding value corresponding to the pre-read data comprises:

calculating the decoding value corresponding to the pre-read data by using a hamming weight function.

6 . The method of claim 1 , wherein, as the decoding value increases, a number of error bits of the pre-read data increases.

7 . The method of claim 1 , wherein the generating the read voltage information based on the count data and the decoding value comprises:

determining an offset set comprising a plurality of offsets based on the count data, the pre-read voltage, and the decoding value; and

generating one of a plurality of read voltages of the read voltage information by adding at least one of the plurality of offsets of the offset set and the pre-read voltage.

8 . The method of claim 1 , wherein the generating of the read voltage information based on the count data and the decoding value comprises:

performing hard decision decoding on the pre-read data;

determining whether the hard decision decoding fails; and

when the hard decision decoding fails, generating the read voltage information based on the count data and the decoding value.

9 . The method of claim 8 , wherein the performing of the hard decision decoding on the pre-read data comprises:

performing low density parity check (LDPC) decoding on the pre-read data.

10 . The method of claim 1 , further comprising:

sending a read request using the read voltage information to the non-volatile memory device;

receiving read data from the non-volatile memory device based on sending the read request; and

performing soft decision decoding based on the read data.

11 . A storage controller comprising:

a cell count management circuit configured to determine a pre-read voltage based on count data received from a non-volatile memory device;

an exponent calculator circuit configured to calculate a decoding value corresponding to pre-read data that is read from the non-volatile memory device by using the pre-read voltage; and

a read voltage calculator circuit configured to generate read voltage information based on the count data received from the non-volatile memory device and the decoding value,

wherein the decoding value is indicative of an error voltage of the pre-read data,

wherein the count data comprises a first count and a second count,

wherein the count data are generated while the non-volatile memory device performs read operations by using a first voltage, a second voltage, and a third voltage, and

wherein the cell count management circuit is configured to perform operations comprising:

when the first count is less than the second count and when a difference between the first count and the second count is greater than a first reference, determining that the first voltage is the pre-read voltage;

when the first count is greater than the second count and when the difference between the first count and the second count is less than the first reference, determining that the second voltage is the pre-read voltage; and

when the first count is greater than the second count and when the difference between the first count and the second count is greater than the first reference, determining that the third voltage is the pre-read voltage.

12 . The storage controller of claim 11 ,

wherein the first count is obtained by counting a number of memory cells whose threshold voltages are between the first voltage and the second voltage, and

wherein the second count is obtained by counting a number of memory cells whose threshold voltages are between the second voltage and the third voltage.

13 . The storage controller of claim 11 , wherein the exponent calculator circuit is further configured to perform operations comprising:

calculating the decoding value corresponding to the pre-read data by using a hamming weight function.

14 . The storage controller of claim 11 , wherein, as the decoding value increases, a number of error bits of the pre-read data increases.

15 . The storage controller of claim 11 , wherein the read voltage calculator circuit is further configured to perform operations comprising:

determining an offset set comprising a plurality of offsets based on the count data, the pre-read voltage, and the decoding value; and

generating one of a plurality of read voltages of the read voltage information by adding at least one of the plurality of offsets of the offset set and the pre-read voltage.

16 . The storage controller of claim 11 , further comprising:

an error correction code (ECC) engine,

wherein the ECC engine is configured to perform operations comprising:

performing hard decision decoding on the pre-read data; and

sending information indicating whether the hard decision decoding fails to the read voltage calculator circuit, and

wherein the read voltage calculator circuit is further configured to generate, when the hard decision decoding fails, the read voltage information based on the count data and the decoding value.

17 . The storage controller of claim 16 , wherein the hard decision decoding comprises low density parity check (LDPC) decoding.

18 . A method of operating a storage device that comprises a non-volatile memory device and a storage controller, the method comprising:

generating count data, by the non-volatile memory device;

determining a pre-read voltage based on the count data, by the storage controller;

sending a pre-read request using the pre-read voltage to the non-volatile memory device, by the storage controller;

sending pre-read data read by the pre-read request to the storage controller, by the non-volatile memory device;

calculating a decoding value corresponding to the pre-read data, by the storage controller; and

generating read voltage information based on the count data and the decoding value, by the storage controller,

wherein the decoding value is indicative of an error voltage of the pre-read data,

wherein the count data are generated while the non-volatile memory device performs read operations by using a first voltage, a second voltage, and a third voltage,

wherein the count data comprises a first count and a second count, and

wherein the determining of the pre-read voltage based on the count data comprises:

comparing the first count and the second count; and

calculating a difference between the first count and the second count;

when the first count is less than the second count based on a result of comparing the first count and the second count, comparing the difference and a first reference; and

when the difference is greater than the first reference, setting the first voltage as the pre-read voltage.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2023
From: KIL, YONGSUNG; KANG, SOONYOUNG; SON, HONG RAK; LEE, KANGSEOK
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 063698/0852 →
Priority Claims (1)
KR 10-2022-0112489 · Sep 6, 2022 · national
Continuity (1)
Related Publication 20240079073A1 · Mar 7, 2024
References Cited (20)
US 8856621B2 · Eun et al. · 2014 [cited by applicant]
US 9576671B2 · Karakulak et al. · 2017 [cited by applicant]
US 9639419B2 · Lin et al. · 2017 [cited by applicant]
US 9898363B2 · Kim et al. · 2018 [cited by applicant]
US 10083754B1 · Chen et al. · 2018 [cited by applicant]
US 10521291B2 · Ha et al. · 2019 [cited by applicant]
US 10636495B2 · Chen et al. · 2020 [cited by applicant]
US 10789124B2 · Chen et al. · 2020 [cited by applicant]
US 20180350441A1 · Kim · 2018 [cited by applicant]
US 20190155546A1 · Cai · 2019 [cited by examiner]
US 20190198097A1 · Kim · 2019 [cited by examiner]
US 20190348133A1 · Chen · 2019 [cited by examiner]
US 20200159464A1 · Park · 2020 [cited by applicant]
US 20200162108A1 · Kim · 2020 [cited by examiner]
US 20210202012A1 · Han · 2021 [cited by examiner]
US 20220051745A1 · You · 2022 [cited by applicant]
US 20220051746A1 · Zamir et al. · 2022 [cited by applicant]
US 20220180957A1 · Yang et al. · 2022 [cited by applicant]
US 20220222139A1 · Shin et al. · 2022 [cited by applicant]
KR 102345067B1 · 2021 [cited by applicant]