기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하세요

nand 에 관해서 궁금한점이 있어서 글올립니다.

nand쪽 소스를 보면
ecc mode라는것이 있는데요
ecc mode 중에는

ecc_soft , ecc_hw3_256, ecc_hw3_512, ecc_hw6_512, ecc_diskonchip

이런게 있더라고요.

이런 옵션이 bad와 관련이 있는듯해서요.

위에 것들에 대해서 설명 좀 부탁드려도 될까요? ^^

이세종

2008.06.13 06:28:05
*.62.58.102

MP2530용쪽 낸드 소스를 봤는데, 말씀하신 부분을 못찼았습니다. 소스라도 올려주시면...

문철민

2008.06.13 18:25:54
*.41.109.56

linux-2.4.18 int __init s3c2410_nand_init (void) 소스 중 발췌한것입니다.

#ifdef CONFIG_MTD_NAND_S3C2410_HWECC
this->calculate_ecc = s3c2410_calculate_ecc;//s3c2410_calculate_ecc_16;
this->enable_hwecc = s3c2410_enable_hwecc;
this->eccmode = NAND_ECC_HW3_256;//NAND_ECC_HW6_512;
#ifdef CONFIG_MTD_NAND_S3C2410_HWECC_DEBUG
this->correct_data = s3c2410_correct_data_debug;
printk(__FILE__": Using NAND H/W ECC, debug moden");
#else
this->correct_data = nand_correct_data;
printk(__FILE__": Using NAND H/W ECCn");
#endif /* CONFIG_S3C2410_HWECC_DEBUG */
#else
this->eccmode = NAND_ECC_SOFT;
printk(__FILE__": Using NAND S/W ECCn");
#endif /* CONFIG_S3C2410_HWECC */



- 여기서 this->eccmode = NAND_ECC_SOFT; 이렇게 설정하는부분에서요
define값을보면
#define NAND_ECC_NONE 0
#define NAND_ECC_SOFT 1
#define NAND_ECC_HW3_256 2
#define NAND_ECC_HW3_512 3
#define NAND_ECC_HW6_512 4
#define NAND_ECC_DISKONCHIP 5

이렇게되어있는데요. ecc mode를 설정하는 플레그인것 같은데
소스상에는 이것에 관한 설명이 없어서요.
ecc mode라는것과 ecc mode 설정값들의 역활이 알고싶어서요.

관심 감사합니다.

이제현

2008.06.14 03:48:22
*.41.109.34

2410에는 기본적으로 HW ECC가 내장되어 있지 않습니다.
그래서, 외부에 ECC 가속기칩을 달아서 사용한적이 있고요.

소프트웨어로 구현한 ECC를 사용하는 방법은 NAND_ECC_SOFT를 선택하시면 됩니다.
Access 속도가 엄청 느려지는 문제가 있습니다.

ECC는 1개의 Page에서 1~2비트 깨졌을때 복구하기 위한 것이며,
Bad block 관리와는 직접적인 관련은 없습니다.

최근 CPU들은 대부분 하드웨어 ECC를 포함하고 있으나,
그 구성과 사용 방법이 모두 상이하여, MTD 드라이버를 많이 수정해야 합니다.
또한 MLC/SLC/Large-block/Small-block에 따라 ECC 구성 방법도 다르고요.

이세종

2008.06.14 08:31:46
*.62.58.102

Bad Block은 각 Block의 첫번째와 두번째 Page의 Spare영역(16바이트)을 읽어서 체크합니다.
Spare영역의 특정 부분에 0xFF가 마킹되어 있지 않으면 배드블록으로 간주합니다.
AESOP-MP2530F 보드에 사용된 K9F1208U0M 낸드플래시의 경우 Spare영역의 6번째 바이트가 0xFF이면 Good 블록이고 0xFF 아니면 배드블록으로 처리합니다.

문철민

2008.06.16 17:22:32
*.41.109.56

자세한 답변 감사합니다^^
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
268 odroid vista용 드라이버는 별도로 없나요? [3] 오영종 2009-11-07 479
267 odroid를 지금 받았습니다...그런데... [6] pertboy 2009-11-19 479
266 오드로이드 센서 질문이요.. [1] 조용수 2009-11-21 479
265 odroid suspend에서요 [1] nicknam 2010-02-12 479
264 jni로 디바이스 제어 문의드립니다 file [1] 김승한 2010-03-10 479
263 권한 변경 관련 문의 드립니다. [1] 김정희 2010-03-29 479
262 gstreamer 컴파일 에러 질문입니다. [1] 아싸랄리아 2010-05-07 479
261 lcd_density 문의 [1] 준2 2010-08-05 479
260 aesop c100의 part datasheet 한기태 2010-11-29 479
259 odroids-20110119 자료로 부팅이 안됩니다. file [2] 바람돌이0 2011-01-23 479
258 이솝 6410보드 USB인식 [1] 다크썩흘 2011-03-29 479
257 s5pc110 회로도 구할 수 없을까요? [1] 최원철 2011-05-16 479
256 오드로이드 관련 질문입니다. [1] 박정락 2009-11-07 478
255 aESOP의 문서양식이 있나요? [2] just4you 2010-01-05 478
254 omap_hsmmc driver 문의입니다. file [1] 김병종 2010-01-21 478
253 qt 에러 ....2440보드 문제 입니다 file [1] 지승화 2010-03-18 478
252 6410 H.264 인코딩 Container 처리 예제 좀 없을까요? 꿈꾸는자 2010-04-09 478
251 cat /dev/tts/0 nothing echo but I have connected GPS in ... [1] mosquitos 2010-05-22 478
250 6410에서 SDIO작업하는중인데.. [1] 박상민 2010-05-25 478
249 serial port를 통해 flash로 download할수있나요? [1] 김태현 2010-06-15 478

사용자 로그인