KR20000020028A - 플래시 메모리의 엔코딩 및 디코딩 방법 - Google Patents
플래시 메모리의 엔코딩 및 디코딩 방법 Download PDFInfo
- Publication number
- KR20000020028A KR20000020028A KR1019980038438A KR19980038438A KR20000020028A KR 20000020028 A KR20000020028 A KR 20000020028A KR 1019980038438 A KR1019980038438 A KR 1019980038438A KR 19980038438 A KR19980038438 A KR 19980038438A KR 20000020028 A KR20000020028 A KR 20000020028A
- Authority
- KR
- South Korea
- Prior art keywords
- ecc
- memory array
- user data
- sector
- encoding
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
본 발명은 플래시 메모리의 엔코딩 및 디코딩 방법에 관한 것으로, 종래의 기술에 있어서는 메모리 어레이의 오버헤드 영역의 데이터중 디펙션 정보등 섹터의 상태를 나타내는 정보는 에러를 대비한 어떠한 정보도 포함되어 있지 않으므로 이 영역에 에러가 발생했을 때는 복구가 불가능할 뿐 아니라, 상기와 같은 이유로 섹터의 상태정보를 저장하는 위치가 디펙트 프리 영역(defect free area)으로만 제한 되는 문제점이 있었다. 따라서, 본 발명은 오버헤드 영역을 따로 구분하지 않고 데이터 엔코딩시 섹터의 상태정보를 함께 엔코딩시킴으로써 오버헤드 영역의 설정이 자유롭게 되고, 섹터내의 어떤 부분에서 발생된 에러도 ECC에 의한 에러정정이 가능해져 플래시 메모리의 에러 대처 능력을 향상시키는 효과가 있다.
Description
본 발명은 플래시 메모리의 엔코딩 및 디코딩 방법에 관한 것으로, 특히 에러 발생시 메모리 셀의 오버헤드 영역에 대해서도 에러 정정 코드(ECC : Error Correction Code)를 이용하여 에러를 보정할 수 있도록 한 플래시 메모리의 엔코딩 및 디코딩 방법에 관한 것이다.
일반적으로 플래시 메모리 시스템은 유저 데이터 및 메모리의 각종 상태 정보를 저장할 수 있는 다수의 메모리 셀로 된 메모리 어레이와 상기 메모리 셀에 데이터의 리드 및 라이트 수행시 주소 변환 및 그 동작을 제어하는 메모리 제어부와 상기의 각종 제어시 발생되는 데이터등을 필요한 조작을 위해 임시 저장하는 버퍼와 에러 발생시 ECC를 이용하여 에러를 보정하는 ECC 유니트로 구성이 되는데, 특히 상기 메모리 어레이는 도1에 도시된 바와 같이 다수개의 섹터(sector0∼sectorn)로 구분되고, 각 섹터는 또한 호스트 또는 외부의 시스템에서 제공하는 데이터를 저장하기 위한 유저 영역(user area)과; 메모리를 관리하기 위한 ECC 패리티 정보(정보 전달 동작 중에 에러가 발생했을 때 이를 검출하기 위해 이용되는 것) 및 디펙션 정보 등을 저장하는 오버헤드 영역(overhead area)으로 구성되어 있다.
도2는 종래 방법에 의한 플래시 메모리의 엔코딩 및 디코딩 과정을 개략적으로 보인 모식도로서, 이에 도시된 바와 같이 엔코딩 과정은 일단, 호스트(50)로 부터 유저 데이터를 받아 버퍼(10)에 저장하는 단계(ST1)와; 상기 단계(ST1)에서 버퍼(10)에 저장된 모든 유저 데이터에서 각각의 ECC 블록에 해당하는 정보를 메모리 어레이(20)와 ECC 유니트(30)로 입력하여 ECC 패리티를 생성 후 그 패리티를 임시저장하는 단계(ST2)와; 상기 단계(ST2)에서 임시로 저장된 패리티 정보와 각 섹터의 상태정보를 메모리 어레이(20)의 오버헤드 영역에 저장하는 단계(ST3)로 이루어 진다.
이때, 상기 과정에서 보듯이 섹터의 상태정보는 에러에 대비하기 위한 어떠한 동작도 포함되어 있지 않다.
도3은 상기 도2의 엔코딩 과정에서 메모리 어레이(20)에 기록되는 섹터정보의 배열을 보인 구성도로서, 이에 도시된 바와 같이 상기 도1에서 설명한 유저영역은 n개의 ECC 블록으로 나뉘어져 있고, 오버헤드 영역에는 상기 각 ECC 블록에 대한 패리티 및 디펙트 정보 등 각종 정보들이 나열되어 있다.
이와 같이 논리적으로 구분된 각 영역의 정보들의 디코딩 과정을 보면 도2에서 메모리 제어부(40)가 오버헤드 영역에 저장되어 있는 패리티 및 각각의 ECC 블록에 해당되는 데이터를 함께 리드하는 단계(ST4)와; 상기 단계(ST4)에서 리드된 패리티를 ECC 유니트(30)로 전송하여 신드롬(Syndrome)을 계산하는 단계(ST5)와; 상기 단계(ST5)에서 계산된 신드롬이 0이 아닐 경우 즉, 에러가 발생한 경우 ECC를 이용하여 에러 정정을 수행하는 단계(ST6)로 이루어 졌다.
여기서, 신드롬(Syndrome)이란 상기의 패리티를 이용하여 디코딩된 정보의 열중에서 오류가 발생한 위치를 찾아 내는 것이다.
그러나, 상기 종래의 기술에 있어서는 메모리 어레이의 오버헤드 영역의 데이터중 디펙션 정보등 섹터의 상태를 나타내는 정보는 에러를 대비한 어떠한 정보도 포함되어 있지 않으므로 이 영역에 에러가 발생했을 때는 복구가 불가능할 뿐 아니라, 상기와 같은 이유로 섹터의 상태정보를 저장하는 위치가 디펙트 프리 영역(defect free area)으로만 제한 되는 문제점이 있었다.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 창출한 것으로, 오버헤드 영역을 따로 구분하지 않고 데이터 엔코딩시 섹터의 상태정보를 함께 엔코딩시킴으로써 오버헤드 영역의 설정이 자유롭게 되고, 섹터내의 어떤 부분에서 발생된 에러도 ECC에 의한 에러정정이 가능한 플래시 메모리의 엔코딩 및 디코딩 방법을 제공 하는데 그 목적이 있다.
도1은 플래시 메모리의 기본 어레이 구성을 보인 예시도.
도2는 종래 방법에 의한 플래시 메모리의 엔코딩 및 디코딩 과정을 개략적으로 보인 모식도.
도3은 상기 도2의 엔코딩 과정에서 메모리 어레이에 기록되는 섹터정보의 배열을 보인 구성도.
도4는 본 발명에 의한 엔코딩 및 디코딩 과정을 개략적으로 보인 모식도.
도5는 상기 도4의 엔코딩 과정에 의해서 메모리 어레이에 기록되는 섹터정보의 배열을 보인 구성도.
이와 같은 목적을 달성하기 위한 본 발명의 엔코딩 방법은, 데이터를 저장할 메모리 어레이의 각 섹터의 섹터정보를 리드하여 임시 저장하는 단계(ST1)와; 호스트로 부터 유저 데이터를 버퍼에 저장하는 단계(ST2)와; 상기 단계(ST2)에서 저장된 유저 데이터에 상기 단계(ST1)에서 리드한 섹터정보를 추가하는 단계(ST3)와; 상기 단계(ST3)에서 섹터정보가 추가된 모든 유저 데이터를 N개의 블록으로 나누어 각 블록에 해당하는 데이터를 메모리 어레이및 ECC 유니트에 입력하여 ECC 패리티를 생성후 그 패리티를 메모리 어레이에 바로 이어서 입력시키는 단계(ST4)로 이루어지는 것을 특징으로 한다.
또한, 디코딩 방법은 메모리 어레이로 부터 섹터정보와 유저 데이터가 포함된 하나의 ECC 블록과 패리티를 리드하여 신드롬을 계산하는 단계(ST5)와; 상기 단계(ST6)에서 계산된 신드롬이 0이 아닐 경우 즉, 에러가 발생할 경우 ECC에 의해 에러를 정정을 하는 단계(ST6)로 이루어져 달성되는 것으로, 본 발명에 의한 플래시 메모리의 엔코딩 및 디코딩 방법에 대한 작용 및 효과를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
도4는 본 발명에 의한 엔코딩 및 디코딩 과정을 개략적으로 보인 모식도로서, 이에 도시한 바와 같이 엔코딩 방법은, 데이터를 저장할 메모리 어레이(20)의 각 섹터에 대한 섹터정보를 리드(ST1)하여 내부의 레지스터(미도시) 등에 임시 저장한 다음 호스트(50)로 부터 유저 데이터를 입력받아 버퍼(10)에 저장한다(ST2).
다음, 상기 버퍼(10)에 저장된 유저 데이터에 메모리 어레이(20)의 각 섹터에 대한 섹터정보를 추가하여(ST3) 이를 N개의 블록으로 나누고, 각 블록에 해당하는 데이터를 메모리 어레이(20)및 ECC 유니트(30)에 입력하고, ECC 유니트(30)에서는 ECC 패리티를 생성하여 메모리 어레이(20)에 상기에서 입력시킨 블록에 바로 이어서 입력시킨다(ST4).
도5는 상기 도4의 엔코딩에 의해서 메모리 어레이(20)에 기록되는 섹터정보의 배열을 보인 구성도로서, 이에 도시된 바와 같이 따로 유저영역과 오버헤드 영역의 구분이 없이 유저 데이터와 섹터정보가 포함된 데이터가 N개의 ECC 블록으로 나뉘어져 있고, 바로 뒤에 해당하는 블록의 패리티가 나열되어 있다.
이와 같은 구성으로 엔코딩되어 있는 데이터의 디코딩 방법은 메모리 어레이(20)로 부터 섹터정보와 유저 데이터가 포함되어 나뉜 하나의 ECC 블록과 패리티를 리드하여 신드롬을 계산하고(ST5), 상기 계산된 신드롬에 의해 0일 경우는 에러가 발생되지 않은 것이고, 0이 아닐 경우는 에러가 발생할 경우로 이때는 ECC에 의해 에러 정정(ST6) 하도록 이루어 졌다.
이상에서 설명한 바와 같이 본 발명 플래시 메모리의 엔코딩 및 디코딩 방법은 오버헤드 영역을 따로 구분하지 않고 데이터 엔코딩시 섹터의 상태정보를 함께 엔코딩시킴으로써 오버헤드 영역의 설정이 자유롭게 되고, 섹터내의 어떤 부분에서 발생된 에러도 ECC에 의한 에러정정이 가능해져 플래시 메모리의 에러 대처 능력을 향상시키는 효과가 있다.
Claims (2)
- 데이터를 저장할 메모리 어레이의 각 섹터의 섹터정보를 리드하여 임시 저장하는 단계(ST1)와; 호스트로 부터 유저 데이터를 버퍼에 저장하는 단계(ST2)와; 상기 단계(ST2)에서 저장된 유저 데이터에 상기 단계(ST1)에서 리드한 섹터정보를 추가하는 단계(ST3)와; 상기 단계(ST3)에서 섹터정보가 추가된 모든 유저 데이터를 N개의 블록으로 나누어 각 블록에 해당하는 데이터를 메모리 어레이및 ECC 유니트에 입력하여 ECC 패리티를 생성후 그 패리티를 메모리 어레이에 바로 이어서 입력시키는 단계(ST4)로 이루어진 것을 특징으로 하는 플래시 메모리의 엔코딩 방법.
- 메모리 어레이로 부터 섹터정보와 유저 데이터가 포함된 하나의 ECC 블록과 패리티를 리드하여 신드롬을 계산하는 단계(ST5)와; 상기 단계(ST6)에서 계산된 신드롬이 0이 아닐 경우 즉, 에러가 발생할 경우 ECC에 의해 에러를 정정을 하는 단계(ST6)로 이루어진 것을 특징으로 하는 플래시 메모리의 디코딩 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980038438A KR100328818B1 (ko) | 1998-09-17 | 1998-09-17 | 플래시 메모리의 데이타 저장방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019980038438A KR100328818B1 (ko) | 1998-09-17 | 1998-09-17 | 플래시 메모리의 데이타 저장방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20000020028A true KR20000020028A (ko) | 2000-04-15 |
KR100328818B1 KR100328818B1 (ko) | 2002-10-19 |
Family
ID=19550924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980038438A KR100328818B1 (ko) | 1998-09-17 | 1998-09-17 | 플래시 메모리의 데이타 저장방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100328818B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100781952B1 (ko) * | 2000-10-25 | 2007-12-06 | 후지쯔 가부시끼가이샤 | 플래시 메모리 내의 결함 관리 방법 |
US7412575B2 (en) | 2004-11-03 | 2008-08-12 | Samsung Electronics Co., Ltd. | Data management technique for improving data reliability |
-
1998
- 1998-09-17 KR KR1019980038438A patent/KR100328818B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100781952B1 (ko) * | 2000-10-25 | 2007-12-06 | 후지쯔 가부시끼가이샤 | 플래시 메모리 내의 결함 관리 방법 |
US7412575B2 (en) | 2004-11-03 | 2008-08-12 | Samsung Electronics Co., Ltd. | Data management technique for improving data reliability |
Also Published As
Publication number | Publication date |
---|---|
KR100328818B1 (ko) | 2002-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3405712B2 (ja) | データ回復方法およびデータ記憶装置 | |
US5757824A (en) | Code error correction apparatus | |
US4785451A (en) | Generator for an error correcting code, a decoder therefore, and a method for the same | |
US6158038A (en) | Method and apparatus for correcting data errors | |
US6367047B1 (en) | Multi-level error detection and correction technique for data storage recording device | |
US7188295B2 (en) | Method and apparatus for embedding an additional layer of error correction into an error correcting code | |
US8448045B2 (en) | Outer code error correction | |
EP1640988B1 (en) | Method and apparatus for decoding multiword information | |
KR950007947B1 (ko) | 에러 정정 장치 | |
JPH04320114A (ja) | 符号化/復号化回路 | |
US20220004457A1 (en) | Nonvolatile memory device and memory system including nonvolatile memory device | |
US6662335B1 (en) | Method and apparatus for accessing DVD data | |
KR900003603B1 (ko) | Pcm신호의 에러 플래그 처리를 위한 방법 및 장치 | |
JP2009529172A (ja) | エクストラデータを含むページを記憶するメモリーマトリックスを有する電子回路 | |
US9015560B1 (en) | Method and apparatus for ceasing access to a portion of a flash memory when less than a number of errors correctable by an error correction code exists | |
US6697921B1 (en) | Signal processor providing an increased memory access rate | |
KR20000020028A (ko) | 플래시 메모리의 엔코딩 및 디코딩 방법 | |
US6167549A (en) | Memory access control device, and its control method | |
US6675343B1 (en) | Code error correcting and detecting apparatus | |
KR100189531B1 (ko) | Cd-rom 드라이브에 있어서 섹터 데이타 디코딩방법 및 회로 | |
EP0803094B1 (en) | Method and device for error protection of programmable memories | |
US6694473B1 (en) | Parallel signal decoding method | |
US6615384B1 (en) | Encoding/decoding method and apparatus and disk storage device | |
JPH0816488A (ja) | 電子ディスク装置 | |
JPH0628343B2 (ja) | 積符号の復号方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
B701 | Decision to grant | ||
N231 | Notification of change of applicant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20110222 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |