KR102085690B1 - 오류 정정 기능을 구비한 플래시 메모리 저장 장치 및 그 구동 방법 - Google Patents
오류 정정 기능을 구비한 플래시 메모리 저장 장치 및 그 구동 방법 Download PDFInfo
- Publication number
- KR102085690B1 KR102085690B1 KR1020180104832A KR20180104832A KR102085690B1 KR 102085690 B1 KR102085690 B1 KR 102085690B1 KR 1020180104832 A KR1020180104832 A KR 1020180104832A KR 20180104832 A KR20180104832 A KR 20180104832A KR 102085690 B1 KR102085690 B1 KR 102085690B1
- Authority
- KR
- South Korea
- Prior art keywords
- chunk
- data
- flash memory
- error correction
- parity
- Prior art date
Links
- 238000012937 correction Methods 0.000 title claims abstract description 77
- 238000011017 operating method Methods 0.000 title 1
- 230000005055 memory storage Effects 0.000 claims abstract description 85
- 238000000034 method Methods 0.000 claims abstract description 30
- 230000006870 function Effects 0.000 claims abstract description 25
- 239000000284 extract Substances 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
Description
도 2는 본 발명의 일 실시예에 따른 플래시 메모리 저장 장치의 패리티 코드 생성 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 오류 정정 기능을 구비한 플래시 메모리 저장 장치를 설명하기 위한 블록도이다.
도 4는 본 발명의 일 실시예에 따른 일 실시예에 따른 오류 정정 기능을 구비한 플래시 메모리 저장 장치의 독출 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 다른 실시예에 따른 오류 정정 기능을 구비한 플래시 메모리 저장 장치를 설명하기 위한 블록도이다.
도 6은 본 발명의 일 실시예에 따른 청크 집합을 설명하기 위한 도면이다.
도 7 및 8은 본 발명의 일 실시예에 따른 복수의 청크 집합을 이용한 플래시 메모리 저장 장치의 독출 방법을 설명하기 위한 도면이다.
Claims (15)
- 오류 정정 기능을 구비한 플래시 메모리 저장 장치가 데이터를 저장하는 방법에 있어서,
상기 데이터에 대응되도록 소정 개수의 청크를 상이하게 배치한 복수의 청크 집합에 기초하여, 상기 데이터에 대한 복수의 패리티 코드를 생성하는 단계; 및
상기 데이터 및 상기 복수의 패리티 코드를 플래시 메모리에 저장하는 단계를 포함하고,
상기 복수의 청크 집합은 하나의 기본 청크 집합과 적어도 하나의 예비 청크 집합을 포함하며, 상기 복수의 청크 집합 중에서 청크별 오류 분포가 가장 균일한 청크 집합은 기본 청크 집합인 것을 특징으로 하는 오류 정정 기능을 구비한 플래시 메모리 저장 장치의 저장 방법. - 제1항에 있어서,
상기 하나의 기본 청크 집합에 대응되는 패리티 코드인 기본 패리티 코드는 상기 플래시 메모리의 기본 패리티 셀에 저장되고, 상기 적어도 하나의 예비 청크 집합에 대응되는 패리티 코드인 적어도 하나의 예비 패리티 코드는 상기 플래시 메모리의 예비 패리티 셀에 저장되는 것을 특징으로 하는 오류 정정 기능을 구비한 플래시 메모리 저장 장치의 저장 방법. - 제1항에 있어서,
상기 복수의 패리티 코드를 생성하는 단계는
상기 복수의 청크 집합 각각에 대응되는 복수의 ECC 인코더를 이용하여 병렬적으로 생성하는 것을 특징으로 하는 오류 정정 기능을 구비한 플래시 메모리 저장 장치의 저장 방법. - 제1항에 있어서,
상기 데이터에 대한 복수의 패리티 코드를 생성하는 단계는
상기 복수의 청크 집합 각각에 대하여,
청크 집합을 구성하는 복수의 청크 각각에 대응되는 상기 데이터의 일부를 추출하는 단계;
ECC 인코더 및 상기 데이터의 일부를 이용하여, 상기 복수의 청크 각각에 대하여 청크 단위의 패리티 코드를 생성하는 단계; 및
상기 청크 단위의 패리티 코드로 구성되는 패리티 코드를 생성하는 단계
를 포함하는 것을 특징으로 하는 오류 정정 기능을 구비한 플래시 메모리 저장 장치의 저장 방법. - 저장할 데이터에 대응되도록 소정 개수의 청크를 상이하게 배치한 복수의 청크 집합에 기초하여, 상기 데이터에 대한 복수의 패리티 코드를 생성하는 패리티 코드 생성부; 및
상기 데이터 및 상기 복수의 패리티 코드를 플래시 메모리에 저장하는 제어부를 포함하고,
상기 복수의 청크 집합은 하나의 기본 청크 집합과 적어도 하나의 예비 청크 집합을 포함하며, 상기 복수의 청크 집합 중에서 청크별 오류 분포가 가장 균일한 청크 집합은 기본 청크 집합인 것을 특징으로 하는 오류 정정 기능을 구비한 플래시 메모리 저장 장치. - 제5항에 있어서,
상기 하나의 기본 청크 집합에 대응되는 패리티 코드인 기본 패리티 코드는 상기 플래시 메모리의 기본 패리티 셀에 저장되고, 상기 적어도 하나의 예비 청크 집합에 대응되는 패리티 코드인 적어도 하나의 예비 패리티 코드는 상기 플래시 메모리의 예비 패리티 셀에 저장되는 것을 특징으로 하는 오류 정정 기능을 구비한 플래시 메모리 저장 장치. - 제5항에 있어서,
상기 패리티 코드 생성부는
상기 복수의 청크 집합 각각에 대응되는 복수의 ECC 인코더를 이용하여 병렬적으로 생성하는 것을 특징으로 하는 오류 정정 기능을 구비한 플래시 메모리 저장 장치. - 제5항에 있어서,
상기 패리티 코드 생성부는
상기 복수의 청크 집합 각각에 대하여,
청크 집합을 구성하는 복수의 청크 각각에 대응되는 상기 데이터의 일부를 추출하고,
ECC 인코더 및 상기 데이터의 일부를 이용하여, 상기 복수의 청크 각각에 대하여 청크 단위의 패리티 코드를 생성하고,
상기 청크 단위의 패리티 코드로 구성되는 패리티 코드를 생성하는 것을 특징으로 하는 오류 정정 기능을 구비한 플래시 메모리 저장 장치. - 오류 정정 기능을 구비한 플래시 메모리 저장 장치가 데이터를 독출하는 방법에 있어서,
상기 데이터에 대응되도록 소정 개수의 청크를 상이하게 배치한 복수의 청크 집합 중 기본 청크 집합에 대응되는 기본 패리티 코드에 기초하여, 상기 데이터를 오류 정정하여 청크 단위로 제1 독출하는 단계;
상기 오류 정정에 실패하면, 상기 복수의 청크 집합 중 적어도 하나의 예비 청크 집합에 대응되는 적어도 하나의 예비 패리티 코드에 기초하여, 상기 데이터를 오류 정정하여 청크 단위로 제2 독출하는 단계; 및
상기 제2 독출 결과에 기초하여, 상기 데이터에서 상기 오류 정정에 실패한 청크인 대상청크에 대하여 오류 정정을 다시 수행하는 단계를 포함하고,
상기 기본 청크 집합은 상기 복수의 청크 집합 중에서 청크별 오류 분포가 가장 균일한 청크 집합인 것을 특징으로 하는 오류 정정 기능을 구비한 플래시 메모리 저장 장치의 독출 방법. - 삭제
- 제9항에 있어서,
상기 데이터를 오류 정정하여 청크 단위로 제2 독출하는 단계 및 상기 대상청크에 대하여 오류 정정을 다시 수행하는 단계는
상기 대상청크에 대한 오류 정정이 성공할 때까지, 상기 적어도 하나의 예비 청크 집합 각각에 대하여 순차적으로 수행되는 것을 특징으로 하는 오류 정정 기능을 구비한 플래시 메모리 저장 장치의 독출 방법. - 제9항에 있어서,
상기 제1 독출하는 단계 또는 상기 제2 독출하는 단계는
상기 청크 단위의 독출 결과 오류 정정에 성공하면, 상기 독출 결과를 소정의 메모리 버퍼에 저장하고,
상기 제2 독출하는 단계 또는 상기 오류 정정을 다시 수행하는 단계는
상기 메모리 버퍼를 더 이용하는 것을 특징으로 하는 오류 정정 기능을 구비한 플래시 메모리 저장 장치의 독출 방법. - 독출할 데이터에 대응되도록 소정 개수의 청크를 상이하게 배치한 복수의 청크 집합 중 기본 청크 집합에 대응되는 기본 패리티 코드에 기초하여, 상기 데이터를 오류 정정하여 청크 단위로 제1 독출하고, 상기 복수의 청크 집합 중 적어도 하나의 예비 청크 집합에 대응되는 적어도 하나의 예비 패리티 코드에 기초하여, 상기 데이터를 오류 정정하여 청크 단위로 제2 독출하는 독출부; 및
상기 제1 독출의 오류 정정이 실패하면 상기 제2 독출을 수행하고, 상기 제2 독출 결과에 기초하여, 상기 데이터에서 상기 오류 정정에 실패한 청크인 대상청크에 대하여 오류 정정을 다시 수행하도록 상기 독출부를 제어하는 제어부를 포함하고,
상기 기본 청크 집합은 상기 복수의 청크 집합 중에서 청크별 오류 분포가 가장 균일한 청크 집합인 것을 특징으로 하는 오류 정정 기능을 구비한 플래시 메모리 저장 장치. - 삭제
- 제13항에 있어서,
상기 제어부는
상기 대상청크에 대한 오류 정정이 성공할 때까지, 상기 적어도 하나의 예비 청크 집합 각각에 대하여 순차적으로 상기 독출부가 상기 제2 독출을 수행하고, 상기 대상청크에 대하여 오류 정정을 다시 수행하도록 제어하는 것을 특징으로 하는 오류 정정 기능을 구비한 플래시 메모리 저장 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20180049019 | 2018-04-27 | ||
KR1020180049019 | 2018-04-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190125150A KR20190125150A (ko) | 2019-11-06 |
KR102085690B1 true KR102085690B1 (ko) | 2020-03-06 |
Family
ID=68541871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180104832A KR102085690B1 (ko) | 2018-04-27 | 2018-09-03 | 오류 정정 기능을 구비한 플래시 메모리 저장 장치 및 그 구동 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102085690B1 (ko) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102081588B1 (ko) * | 2013-08-08 | 2020-02-26 | 삼성전자 주식회사 | Ecc 디코더의 동작 방법 및 그것을 포함하는 메모리 컨트롤러 |
KR20170010273A (ko) * | 2015-07-17 | 2017-01-26 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR102500616B1 (ko) * | 2016-02-26 | 2023-02-17 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20170114438A (ko) * | 2016-04-04 | 2017-10-16 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
-
2018
- 2018-09-03 KR KR1020180104832A patent/KR102085690B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20190125150A (ko) | 2019-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101576102B1 (ko) | 플래시 메모리의 블록으로부터 데이터를 판독하는 방법 및 관련 메모리 장치 | |
CN101256842B (zh) | 纠错码控制器和包括该纠错码控制器的存储器系统 | |
US9471421B2 (en) | Data accessing method, memory storage device and memory controlling circuit unit | |
US8321757B2 (en) | Method and apparatus for error correction | |
US20160350179A1 (en) | Decoding method, memory storage device and memory control circuit unit | |
KR20120137354A (ko) | 슬라이딩-윈도우 에러 정정 | |
CN111712804B (zh) | 使用数据块的可变逻辑到物理关联的增强错误校正码能力 | |
JP2012137994A (ja) | メモリシステムおよびその制御方法 | |
US9553608B2 (en) | Data storage device decoder and method of operation | |
US9507658B2 (en) | Data reading method, memory storage device and memory controlling circuit unit | |
US10756764B2 (en) | Memory system and control method | |
CN112214346B (zh) | 用于存储器子系统中的数据修改期间的错误检测的方法及装置 | |
US8856616B1 (en) | Two dimensional encoding for non-volatile memory blocks | |
US20180122494A1 (en) | Raid decoding architecture with reduced bandwidth | |
US11190217B2 (en) | Data writing method, memory controlling circuit unit and memory storage device | |
CN119380792A (zh) | 用于存储器子系统的混合迭代错误校正和冗余解码操作 | |
JP2020046823A (ja) | メモリシステム | |
KR102085690B1 (ko) | 오류 정정 기능을 구비한 플래시 메모리 저장 장치 및 그 구동 방법 | |
CN109714062B (zh) | 执行迭代解码的解码器和使用该解码器的存储设备 | |
KR20220080589A (ko) | Ecc 디코딩을 수행하는 ecc 엔진, 이의 동작 방법 및 ecc 엔진을 포함하는 스토리지 장치 | |
KR20210001927A (ko) | 국부성을 사용한 일반화된 연접 에러 정정 코딩 방법 | |
CN116743188A (zh) | 存储系统和控制存储系统的方法 | |
KR101496052B1 (ko) | 블록 단위 연접 bch 부호 성능 개선 및 오류마루 경감을 위해 순환 자리 이동을 활용하는 복호 기법 및 회로 | |
CN112562772A (zh) | 自适应低密度奇偶校验硬解码器 | |
CN112527548A (zh) | 快闪存储器控制器、储存装置及读取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20180903 |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20191126 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20200205 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20200302 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20200303 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20221219 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20241224 Start annual number: 6 End annual number: 6 |