KR20120038076A - 낸드 플래시 메모리의 데이터 입출력 방법과 그 방법을 이용한 임베디드 시스템 - Google Patents
낸드 플래시 메모리의 데이터 입출력 방법과 그 방법을 이용한 임베디드 시스템 Download PDFInfo
- Publication number
- KR20120038076A KR20120038076A KR1020100099612A KR20100099612A KR20120038076A KR 20120038076 A KR20120038076 A KR 20120038076A KR 1020100099612 A KR1020100099612 A KR 1020100099612A KR 20100099612 A KR20100099612 A KR 20100099612A KR 20120038076 A KR20120038076 A KR 20120038076A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- error correction
- nand flash
- flash memory
- correction code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000001514 detection method Methods 0.000 claims description 14
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 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/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6569—Implementation on processors, e.g. DSPs, or software implementations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
본 발명의 실시 예에 따른 낸드 플래시 메모리의 데이터 입력 방법은 낸드 플래시 메모리의 데이터 영역에 데이터를 쓰고자 할 경우 데이터의 크기가 기준 값 미만인인 경우 소프트웨어 ECC를 이용하여 데이터에 대한 에러정정코드를 계산하고, 데이터를 데이터 영역에 기록함과 더불어 에러정정코드를 낸드 플래시 메모리에 기록한다.
Description
도 2는 본 발명의 실시 예에 따른 낸드 플래시 메모리에 데이터를 기록하는 과정을 도시한 흐름도,
도 3은 본 발명의 실시 예에 따른 낸드 플래시 메모리에서 데이터를 출력하는 과정을 도시한 흐름도,
도 4a 내지 도 4b는 본 발명의 실시 예에 따른 낸드 플래시 메모리의 성능을 도시한 도면이다.
105 : 인터페이스
110 : 코드 발생부
120 : 기록 제어부
130 : 코드 제어부
140 : 에러 검출 및 정정부
Claims (12)
- 낸드 플래시 메모리의 데이터 영역에 데이터를 쓰고자 할 경우 상기 데이터의 크기가 기준 값 미만인지를 판단하는 단계와,
상기 데이터의 크기가 기준 값 미만인 경우 소프트웨어 ECC를 이용하여 상기 데이터에 대한 에러정정코드를 계산하는 단계와,
상기 데이터를 상기 데이터 영역에 기록함과 더불어 상기 에러정정코드를 상기 낸드 플래시 플래시에 기록하는 단계를 포함하는
낸드 플래시 메모리의 데이터 입력 방법.
- 제 1 항에 있어서,
상기 데이터의 크기가 기준 값 이상인 경우 하드웨어 ECC를 이용하여 상기 데이터에 대한 에러정정코드를 계산하는 단계를 수행한 후 상기 기록하는 단계로 진행하는 것을 특징으로 하는
낸드 플래시 메모리의 데이터 입력 방법.
- 제 1 항 또는 제 2 항에 있어서,
상기 기준 값은, 상기 낸드 플래시 메모리의 데이터 영역 크기 또는 상기 데이터 영역 크기보다 작은 값인 것을 특징으로 하는
낸드 플래시 메모리의 데이터 입력 방법.
- 데이터가 저장되는 낸드 플래시 메모리와,
상기 낸드 플래시 메모리의 데이터 입력을 제어 및 중계하는 인터페이스와,
상기 인터페이스와 동기화되어 데이터 입력 시 소프트웨어 ECC 방법으로 에러정정코드를 발생시키는 소프트웨어 ECC 발생부와,
상기 입력 데이터에 대한 쓰 과정에서 하드웨어 ECC 방법으로 에러정정코드를 발생시키는 하드웨어 ECC 발생부와,
상기 인터페이스를 통해 입력되는 데이터의 크기와 기 설정된 기준 값간의 비교를 통해 상기 소프트웨어 ECC 발생부 또는 상기 하드웨어 ECC 발생부를 선택적으로 구동시켜 에러정정코드를 발생시키고, 상기 발생된 에러정정코드와 상기 입력되는 데이터가 상기 낸드 플래시 메모리에 기록되도록 상기 인터페이스를 제어하는 기록 제어부를 포함하는
임베디드 시스템.
- 제 4 항에 있어서,
상기 기록 제어부는,
상기 입력된 데이터의 크기가 기 설정된 기준 값 미만 인 경우 상기 소프트웨어 ECC 발생부를 구동시키고, 상기 입력된 데이터의 크기가 상기 기준 값 이상인 경우 상기 하드웨어 ECC 발생부를 구동시켜 상기 에러정정코드를 발생시키는 것을 특징으로 하는
임베디드 시스템.
- 제 4 항 또는 제 5 항에 있어서,
상기 기준 값은 상기 낸드 플래시 메모리의 데이터 영역 크기 또는 상기 데이터 영역의 크기보다 작은 값인 것을 특징으로 하는
임베디드 시스템.
- 낸드 플래시 메모리에 기록된 데이터를 읽고자 하는 경우 상기 데이터의 크기가 기준 값 미만인지를 판단하는 단계와,
상기 데이터와 기록된 에러정정코드를 읽어드리는 단계와,
상기 읽어드린 데이터의 크기가 기준 값 미만인 경우 상기 읽어드린 데이터에 대한 에러정정코드를 소프트웨어 ECC 방법으로 계산하는 단계와,
상기 계산된 에러정정코드와 상기 읽어드린 에러정정코드간의 비교를 통해 에러 검출 및 정정을 수행하는 단계를 포함하는
낸드 플래시 메모리의 데이터 출력 방법.
- 제 7 항에 있어서,
상기 데이터의 크기가 기준 값 이상인 경우 상기 읽어드린 데이터의 에러정정코드를 하드웨어 ECC 방법을 이용하여 계산하는 단계를 포함하는
낸드 플래시 메모리의 데이터 출력 방법.
- 제 7 항 또는 제 8 항에 있어서,
상기 기준 값은, 상기 낸드 플래시 메모리의 데이터 영역 크기 또는 상기 데이터 영역 크기보다 작은 값인 것을 특징으로 하는
낸드 플래시 메모리의 데이터 출력 방법.
- 다수의 데이터와 상기 데이터 각각에 대한 에러정정코드를 저장하고 있는 낸드 플래시 메모리와,
상기 낸드 플래시 메모리의 데이터 출력을 제어 및 중계하는 인터페이스와,
상기 인터페이스와 동기화되어 데이터 출력 시 소프트웨어 ECC 방법으로 에러정정코드를 발생시키는 소프트웨어 ECC 발생부와,
상기 인터페이스와 동기화되어 데이터 출력 시 하드웨어 ECC 방법으로 에러정정코드를 발생시키는 하드웨어 ECC 발생부와,
상기 읽어드린 데이터의 크기에 의거하여 상기 소프트웨어 ECC 발생부 또는 상기 하드웨어 ECC 발생부를 선택적으로 구동시켜 상기 읽어드린 데이터에 대한 에러정정코드를 발생시키는 코드 제어부와,
상기 코드 제어부에서 발생된 에러정정코드와 상기 낸드 플래시 메모리에 저장된 에러정정코드간의 비교를 통해 에러 검출 및 정정을 수행하는 에러 검출 및 정정부를 포함하는
임베디드 시스템.
- 제 10 항에 있어서,
상기 코드 제어부는, 상기 읽어드린 데이터의 크기가 기 설정된 기준 값 미만인 경우 상기 소프트웨어 ECC 발생부를 구동시켜 상기 읽어드린 데이터의 에러정정코드를 계산하며, 상기 기준 값 이상인 경우 상기 하드웨어 ECC 발생부를 구동시켜 상기 읽어드린 데이터의 에러정정코드를 계산하는
임베디드 시스템.
- 제 10 항 또는 제 11 항에 있어서,
상기 기준 값은 상기 낸드 플래시 메모리의 데이터 영역 크기 또는 상기 데이터 영역 크기보다 작은 값인 것을 특징으로 하는
임베디드 시스템.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100099612A KR101401379B1 (ko) | 2010-10-13 | 2010-10-13 | 낸드 플래시 메모리의 데이터 입출력 방법과 그 방법을 이용한 임베디드 시스템 |
US12/984,984 US8850291B2 (en) | 2010-10-13 | 2011-01-05 | Data input and output method of NAND flash memory and embedded system using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100099612A KR101401379B1 (ko) | 2010-10-13 | 2010-10-13 | 낸드 플래시 메모리의 데이터 입출력 방법과 그 방법을 이용한 임베디드 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120038076A true KR20120038076A (ko) | 2012-04-23 |
KR101401379B1 KR101401379B1 (ko) | 2014-05-30 |
Family
ID=45935177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100099612A Expired - Fee Related KR101401379B1 (ko) | 2010-10-13 | 2010-10-13 | 낸드 플래시 메모리의 데이터 입출력 방법과 그 방법을 이용한 임베디드 시스템 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8850291B2 (ko) |
KR (1) | KR101401379B1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101979734B1 (ko) | 2012-08-07 | 2019-05-17 | 삼성전자 주식회사 | 메모리 장치의 독출 전압 제어 방법 및 이를 이용한 데이터 독출 방법 |
US9417945B2 (en) | 2014-03-05 | 2016-08-16 | International Business Machines Corporation | Error checking and correction for NAND flash devices |
KR102739276B1 (ko) | 2016-09-20 | 2024-12-05 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법과, 이를 포함하는 장치들의 동작 방법들 |
US10606690B2 (en) * | 2017-09-29 | 2020-03-31 | Intel Corporation | Memory controller error checking process using internal memory device codes |
CN112540723B (zh) * | 2020-11-06 | 2023-02-03 | 深圳市民德电子科技股份有限公司 | 一种NOR Flash坏点补偿的方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4047151A (en) * | 1974-12-24 | 1977-09-06 | Rydbeck Nils R C | Adaptive error correcting transmission system |
US5828677A (en) * | 1996-03-20 | 1998-10-27 | Lucent Technologies Inc. | Adaptive hybrid ARQ coding schemes for slow fading channels in mobile radio systems |
KR100246184B1 (ko) | 1997-07-02 | 2000-03-15 | 김영환 | 리드-솔로몬 에러 정정 코드를 이용한 프레쉬 메모리 시스템의 운영 방법 |
JP3998307B2 (ja) * | 1997-12-25 | 2007-10-24 | 富士通株式会社 | 磁気ディスク装置及び磁気ディスク装置のエラー訂正方法 |
US6904492B2 (en) * | 2001-12-19 | 2005-06-07 | Hewlett-Packard Development Company, L.P. | Write-once memory device including non-volatile memory for temporary storage |
US20060143368A1 (en) * | 2004-12-23 | 2006-06-29 | M-Systems Flash Disk Pioneers Ltd. | Method for using a multi-bit cell flash device in a system not designed for the device |
US7631245B2 (en) * | 2005-09-26 | 2009-12-08 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
US7511646B2 (en) * | 2006-05-15 | 2009-03-31 | Apple Inc. | Use of 8-bit or higher A/D for NAND cell value |
JP4901334B2 (ja) * | 2006-06-30 | 2012-03-21 | 株式会社東芝 | メモリコントローラ |
US9356730B2 (en) * | 2007-01-30 | 2016-05-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for adding error protection bits to match codeword length |
KR20090014828A (ko) | 2007-08-07 | 2009-02-11 | 삼성전자주식회사 | 에러 정정 코드를 암호화하는 플래시 메모리 시스템 및플래시 메모리 시스템의 암호화 방법 |
KR100949471B1 (ko) * | 2008-04-03 | 2010-03-29 | 주식회사 코아로직 | 소프트웨어(s/w) 에러정정코드(ecc)를 이용한낸드 플래시에서의 데이터 입출력 방법 및 그 방법을이용한 임베디드 시스템 |
-
2010
- 2010-10-13 KR KR1020100099612A patent/KR101401379B1/ko not_active Expired - Fee Related
-
2011
- 2011-01-05 US US12/984,984 patent/US8850291B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20120096333A1 (en) | 2012-04-19 |
US8850291B2 (en) | 2014-09-30 |
KR101401379B1 (ko) | 2014-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI473117B (zh) | 具資料修正功能之快閃記憶體儲存裝置 | |
TWI604308B (zh) | 資料儲存裝置及其資料維護方法 | |
CN100495370C (zh) | 根据优先级次序操作闪存的设备和方法 | |
JP4901987B1 (ja) | 記憶装置、電子機器及び誤りデータの訂正方法 | |
KR101401379B1 (ko) | 낸드 플래시 메모리의 데이터 입출력 방법과 그 방법을 이용한 임베디드 시스템 | |
TWI479313B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
JP2008198310A (ja) | ビットエラーの修復方法および情報処理装置 | |
JP2008192054A (ja) | 半導体メモリシステム | |
US9983560B2 (en) | Positioning device and PLC system | |
KR20130069364A (ko) | 비휘발성 반도체 기억 장치 및 그 관리 방법 | |
US8713410B2 (en) | Data storage apparatus, memory control apparatus and method for controlling flash memories | |
JP2012079100A (ja) | ディスク制御装置及びディスク制御方法、並びにプログラム | |
JP2008070561A5 (ko) | ||
JP6052288B2 (ja) | ディスクアレイ制御装置、ディスクアレイ制御方法及びディスクアレイ制御プログラム | |
JP6009290B2 (ja) | 車両の電子制御装置 | |
US20070189107A1 (en) | Nonvolatile memory and apparayus and method for deciding data validity for the same | |
JP2008310896A (ja) | 不揮発性記憶装置、不揮発性記憶システムおよび不揮発性記憶装置の制御方法 | |
JP6941971B2 (ja) | 半導体記憶装置、メモリコントローラ及びメモリの監視方法 | |
JP2012252557A (ja) | メモリコントローラ | |
US10019186B2 (en) | Data maintenance method for error control and data storage device using the same | |
CN111736763B (zh) | 一种存储数据读取控制方法和装置 | |
JP4742553B2 (ja) | 記憶装置 | |
KR20100138145A (ko) | 플래시 메모리 프리프로세싱 시스템 및 그 방법 | |
JP2014134932A (ja) | 半導体装置及びデータアクセス方法 | |
TWI582582B (zh) | 提高raid讀取性能的系統及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20101013 |
|
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: 20131017 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: 20140520 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20140523 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20140526 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20170427 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20170427 Start annual number: 4 End annual number: 4 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20190303 |