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

안녕하세요

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 [NAND] 파일 복사 문제 [5] 김유석 2006-12-16 996
267 모듈 strip 관련 질문 [완료] [5] 박상수 2006-12-15 783
266 use-serial 컨버터 질문 [2] 이태간 2006-12-15 772
265 troll-ftp..에서요.. < === 완료 [3] 윤현승 2006-12-15 712
264 gcc컴파일러 arm버전 확인에 관하여...[완료] [2] 박상수 2006-12-15 1419
263 [NAND] NAND의 nand_scan() 에 대해 질문 드립니다.[완료] [3] 김유석 2006-12-14 950
262 busybox에서 질문입니다.. < === 완료 [4] 윤현승 2006-12-13 868
261 2.6.13 커널 clock관련 질문입니다. [완료] [6] 박기호 2006-12-13 781
260 [SMC91C113] ping 테스트를 하면 커널 패닉이 발생합니다.[완료] [4] 김유석 2006-12-12 1146
259 gdbserver & gdb 에 대해서 질문 <== 완료[자답] [5] 황기천 2006-12-12 1064
258 xinit 관련해서 질문입니다~ [3] 오용석 2006-12-12 622
257 [질문] PDS 게시판에 올린 VGA to Composite 관련 질문이요~[완... [2] 양용현 2006-12-11 713
256 I2C 통신을 하는 FOST02A칩을 보드에 달으려고 하는데요 (참조글) 방창혁 2006-12-08 712
255 I2C 통신을 하는 FOST02A칩을 보드에 달으려고 하는데요[완료] [6] 유태경 2006-12-08 1264
254 usb gadget 관련.. [완료] [1] 박기호 2006-12-08 902
253 [질문] SDL 사용시 프레임버퍼 드라이버 ??? [1] 장석원 2006-12-08 787
252 SMSC91C113 인터럽트 질문 드립니다.[완료] [6] 김유석 2006-12-08 1178
251 smdk2440 사운드 관련 질문입니다[완료] [2] 박상수 2006-12-07 806
250 이솝보드에서 SDL로 ttf 사용 가능 한가요? [1] 김증일 2006-12-07 886
249 테스트 보드 관련 질문입니다. -> 혹시 aesop 2차보드 파실분이?... [3] MrAhn 2006-12-07 845

사용자 로그인