IP Library › Granted Patent US 12,430,064
Granted Patent B2
US 12,430,064 · App. 18/737,403 · Granted Sep 30, 2025

Memory controller, operation method thereof, and memory system

Inventors: Soonyoung Kang (Suwon-si, KR); Dongmin Shin (Suwon-si, KR)
Assignee: Samsung Electronics Co., Ltd.
G06F3/0655G06F3/0608G06F3/0679
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,430,064
App. No.
18/737,403
Granted
Sep 30, 2025
Kind
B2
Abstract

An example memory system includes a memory device and a memory controller. The memory device is configured to read, from a memory cell array, hard decision data based on a hard read voltage and first soft decision data based on first soft read voltages obtained based on the hard read voltage and a first voltage offset, generate a first compressed sub-segment based on encoding a position of a bit having a first value into a position value for each of first soft decision sub-segments in the first soft decision data, and output first compressed data including first compressed sub-segments. The memory controller is configured to receive the first compressed data, count the number of position values in each of the first compressed sub-segments, and provide, to the memory device based on the counted number, a command to request a change of a voltage offset and a recompression operation.

Claims (72)

1. A memory system comprising:

a memory device configured to

read hard decision data from a memory cell array based on a hard read voltage,

read first soft decision data from the memory cell array based on two or more first soft read voltages, the two or more first soft read voltages obtained based on the hard read voltage and a first voltage offset,

generate a first compressed sub-segment based on encoding a position of a bit having a first value into a position value for each first soft decision sub-segment of a plurality of first soft decision sub-segments in the first soft decision data, and

output first compressed data including a plurality of first compressed sub-segments; and

a memory controller configured to

receive the first compressed data,

count the number of position values in each first compressed sub-segment of the plurality of first compressed sub-segments, and

provide, to the memory device, a command based on the counted number, the command requesting a change of a voltage offset and a recompression operation.

2. The memory system of claim 1 , wherein the memory device is configured to:

change the voltage offset to a second voltage offset based on the command;

read second soft decision data from the memory cell array based on the hard read voltage and the second voltage offset;

generate a second compressed sub-segment based on encoding a position of a bit having the first value into the position value for each second soft decision sub-segment of a plurality of second soft decision sub-segments in the second soft decision data; and

output second compressed data including a plurality of second compressed sub-segments.

3. The memory system of claim 2 , wherein the second voltage offset is less than the first voltage offset.

4. The memory system of claim 1 , wherein the memory controller is configured to:

count the number of first compressed sub-segments, in which the number of position values is equal to or greater than a first reference number, from the plurality of first compressed sub-segments; and

provide the command to the memory device based on the counted number of first compressed sub-segments being equal to or greater than a second reference value.

5. The memory system of claim 4 , wherein the memory controller is configured to:

based on the counted number of first compressed sub-segments being less than the second reference value, generate the first soft decision data based on performing a decompression operation on the first compressed data; and

perform error correction on the hard decision data based on the first soft decision data being decompressed.

6. The memory system of claim 1 , wherein the memory controller is configured to:

calculate a weighted sum based on the number of position values in each first compressed sub-segment of the plurality of first compressed sub-segments and a plurality of weights; and

provide the command to the memory device based on the weighted sum being equal to or greater than a third reference value.

7. The memory system of claim 1 , wherein the memory controller is configured to:

receive, from the memory device, the hard decision data;

based on the number of changes of the voltage offset, obtain soft decision data based on performing decompression on compressed data received from the memory device; and

perform error correction on the hard decision data based on the soft decision data.

8. The memory system of claim 1 , wherein the memory controller is configured to:

count the number of first compressed sub-segments, in which the number of position values is equal to or greater than a first reference number, from the plurality of first compressed sub-segments;

based on the counted number of first compressed sub-segments being equal to or greater than a second reference value, obtain soft decision data based on performing decompression on the first compressed data;

obtain a plurality of log-likelihood ratio (LLR) values for the hard decision data and the soft decision data based on an LLR mapping table; and

adjust an LLR value corresponding to a bit having a second value in the soft decision data.

9. A method of operating a memory controller, the method comprising:

providing a read command to a memory device;

receiving, from the memory device, hard decision data that is read based on a hard read voltage;

receiving first compressed data, the first compressed data including a plurality of first compressed sub-segments respectively corresponding to a plurality of first soft decision sub-segments, the plurality of first soft decision sub-segments included in first soft decision data that is read based on a plurality of first soft read voltages, the plurality of first soft read voltages obtained based on the hard read voltage and a voltage offset;

based on the number of position values of bits each having a first value in each first soft decision sub-segment of the plurality of first soft decision sub-segments, providing, to the memory device, a command, the command requesting a change of the voltage offset, the position values being included in each first compressed sub-segment of the plurality of first compressed sub-segments;

receiving, from the memory device, second compressed data of second soft decision data that is read based on a plurality of second soft read voltages, the plurality of second soft read voltages obtained based on the hard read voltage and the changed voltage offset;

obtaining the second soft decision data based on performing a decompression operation on the second compressed data; and

performing error correction on the hard decision data based on the second soft decision data.

10. The method of claim 9 , wherein the providing of the command to the memory device comprises:

counting the number of first compressed sub-segments, in which the number of position values is equal to or greater than a first reference number, from the plurality of first compressed sub-segments;

providing the command to the memory device based on the counted number of first compressed sub-segments being equal to or greater than a second reference value; and

based on the counted number of first compressed sub-segments being less than the second reference value, obtaining the first soft decision data based on performing a decompression operation on the first compressed data, and performing error correction on the hard decision data based on the first soft decision data.

11. The method of claim 9 , wherein the providing of the command to the memory device comprises:

calculating a weighted sum based on the number of position values in each first compressed sub-segment of the plurality of first compressed sub-segments and a plurality of weights;

providing the command to the memory device based on the weighted sum being equal to or greater than a third reference value; and

based on the weighted sum being less than the third reference value, obtaining the first soft decision data based on performing a decompression operation on the first compressed data, and performing error correction on the hard decision data based on the first soft decision data.

12. The method of claim 9 , wherein the performing of the error correction on the hard decision data based on the second soft decision data comprises:

obtaining a plurality of log-likelihood ratio (LLR) values for the hard decision data and the second soft decision data based on an LLR mapping table; and

adjusting an LLR value corresponding to a bit having a second value in the second soft decision data.

13. The method of claim 9 , wherein the number of position values of bits each having the first value in the second compressed data is less than the number of position values of bits each having the first value in the first compressed data.

14. The method of claim 9 , wherein the obtaining of the second soft decision data based on performing the decompression operation on the second compressed data comprises:

for each second compressed sub-segment of a plurality of second compressed sub-segments in the second compressed data, generating a soft decision sub-segment based on including a bit having the first value in each position of a plurality of positions, the plurality of positions respectively indicated by a plurality of position values included in each second compressed sub-segment of the plurality of second compressed sub-segments; and

generating the second soft decision data based on a plurality of soft decision sub-segments that are generated.

15. The method of claim 9 , wherein the plurality of first compressed sub-segments have the same size.

16. A memory controller comprising:

a memory interface configured to receive, from a memory device, hard decision data and first compressed data, the hard decision data being read based on a hard read voltage, and the first compressed data including a plurality of first compressed sub-segments respectively corresponding to a plurality of first soft decision sub-segments of first soft decision data, the first soft decision data being read based on a plurality of first soft read voltages, the plurality of first soft read voltages obtained based on the hard read voltage and a voltage offset; and

an error correction circuit configured to output a signal based on the number of position values of bits each having a first value in each first soft decision sub-segment of the plurality of first soft decision sub-segments, the signal requesting a change of the voltage offset, the position values being included in each first compressed sub-segment of the plurality of first compressed sub-segments.

17. The memory controller of claim 16 , wherein the memory interface is configured to:

provide, to the memory device, a command, the command requesting the change of the voltage offset; and

receive, from the memory device, second compressed data of second soft decision data that is read based on a plurality of second soft read voltages, the plurality of second soft read voltages obtained based on the hard read voltage and the changed voltage offset, and

wherein the error correction circuit is configured to:

obtain the second soft decision data based on performing a decompression operation on the second compressed data; and

perform error correction on the hard decision data based on the second soft decision data.

18. The memory controller of claim 17 , wherein the number of position values of bits each having the first value in the second compressed data is less than the number of position values of bits each having the first value in the first compressed data.

19. The memory controller of claim 16 , wherein the error correction circuit is configured to:

count the number of first compressed sub-segments, in which the number of position values is equal to or greater than a first reference number, from the plurality of first compressed sub-segments; and

based on the counted number of first compressed sub-segments being less than a second reference value, obtain the first soft decision data based on performing a decompression operation on the first compressed data, and perform error correction on the hard decision data based on the first soft decision data.

20. The memory controller of claim 19 , wherein the memory interface is configured to provide, to the memory device, a command based on the counted number of first compressed sub-segments being equal to or greater than the second reference value, the command requesting the change of the voltage offset.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2024
From: KANG, SOONYOUNG; SHIN, DONGMIN
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 067684/0990 →
Priority Claims (2)
KR 10-2023-0079935 · Jun 21, 2023 · national
KR 10-2023-0124276 · Sep 18, 2023 · national
Continuity (1)
Related Publication 20240427520A1 · Dec 26, 2024
References Cited (14)
US 9575833B2 · Jeon · 2017 [cited by applicant]
US 11456758B1 · Zamir et al. · 2022 [cited by applicant]
US 11799497B2 · Lee et al. · 2023 [cited by applicant]
US 12032851B2 · Sohn · 2024 [cited by examiner]
US 20220164143A1 · Kim et al. · 2022 [cited by applicant]
US 20230164143A1 · Richardson, IV · 2023 [cited by examiner]
US 20230402071A1 · Park · 2023 [cited by examiner]
US 20240079073A1 · Kil et al. · 2024 [cited by applicant]
KR 101711056 · 2017 [cited by applicant]
KR 102265220 · 2021 [cited by applicant]
KR 102345067 · 2021 [cited by applicant]
KR 1020220072398 · 2022 [cited by applicant]
KR 1020230049537 · 2023 [cited by applicant]
KR 1020240033792 · 2024 [cited by applicant]