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

안녕하세요. u-boot 또는 Kernel의 NAND 부분을 보면서 궁금한 것이 있어 메일드립니다.

u-boot 또는 Kernel의 NAND ECC Algorithm 중에는 bch가 구현되어 있습니다.
이 bch 는 1bit error correct 능력이 있고, 실제 1bit만 오류가 났을 때 correct가 됩니다.

그런데 궁금한 것은 이 BCH를 써서 구한 Key값과 Micron(1bit 이상 correct 가능) 에서 구한 ECC값이 틀려 질문드립니다.

BCH 라는 것은 기본적으로 구현 방식이 틀려져도 ECC 값은 같아 될것으로 예상되는데요.
왜 이런 차이가 보이는 걸까요?

u-boot에서 사용된 bch algorithm과 micron에서 사용하는 bch algorithm이 틀려서 그런걸까요?
이리 저리 주어든기로는 polynomials 이런게 틀려서 그럴수도 있을꺼 같은데요.(이게 뭔지는 모릅니다.)
정말 틀린 알고리즘인지 궁금합니다.

0xff 로 채워진 512 Byte의 ECC 값을 비교해 보면 다음과 같습니다.
U-Boot : D7 EC 33 C6 69 53 80 => 실제 NAND에 저장되는 것은 XOR 한 값이 저장되므로 28 13 cc 39 96 ac 7f이 저장됩니다.
Micron : 09 73 87 9a b9 d4 9d

혹시 ECC를 잘 아시는 분은 답변좀 부탁드립니다.
감사합니다.

루비니

2014.07.22 23:22:16
*.218.12.26

기본 알고리즘은 같다고 해도 아마 구현방식이 달라 그럴걸로 보입니다. Micron은 1비트 이상 복구 가능하다고 했으니 더더욱.. 그래서 MTD의 S/W ECC를 쓰느냐, NAND Controller의 H/W ECC를 쓰느냐 일관성있게 써야하고, H/W ECC는 제조사마다 (사용된 NAND Controller IP에 따라) 다르다고 보는게 좋을겁니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
6108 멀티코어에서 각 코어는 모드별 스택주소를 공유하는게 맞나요. [2] 쁘앙쁘앙 2014-08-20 1276
6107 구글 CTS 인증 문의 드릴께요... 젤리빈 4.2.2 입니다. [2] 천동이 2014-08-14 1555
6106 ARM RESET VECTOR 와 Memory remapping 헷갈려요. [8] 쁘앙쁘앙 2014-08-12 2080
6105 리눅스 파일 크기가 달라요 [1] 김민욱 2014-08-12 1209
6104 Arndale octa (exynos 5420)보드 모듈 인스톨 관련 [1] 티모 2014-08-08 1431
6103 android mediaserver 만 restart어떻게 시키나요? [1] 시안 2014-08-05 1237
6102 Arndale Board용 linaro Kernel Build 방법? [1] Supsupi 2014-08-05 1528
6101 rtems 를 kvm으로 돌리려고 하는데 문제가 생겼습니다. dudu 2014-07-29 1264
6100 안드로이드폰을 이용한 CCTV 서버 및 클라이언트 구현 관련...... [2] blue0sky 2014-07-23 1558
» BCH Algorithm 관련 질문 [1] 주니74 2014-07-22 1438
6098 system call process 질문드립니다. [4] Supsupi 2014-07-22 1462
6097 인터럽트의 우선 순위를 바꾸려면 어떻게 하면 될까요? 혜민아빠 2014-07-17 1370
6096 CHIP ID 가 안읽어지는 경우 [3] lveritas 2014-07-15 1523
6095 키 이벤트 질문 드립니다. 하하호호하하 2014-07-15 1275
6094 sleep mode진입후 wakeup시 간혹 app가 안살아나는경우가 있는데요 [2] 문철민 2014-07-15 1547
6093 혹시 구글맵 올려보신 분 계신가요?? 천동이 2014-07-11 1305
6092 임베디드 리눅스 shutdown시에 필요한 전원 on상태의 유지시간? [2] 김민욱 2014-07-11 1663
6091 소스 분석하실때 주로 어떤 방법들을 이용하는지 알고 싶습니다. [4] Supsupi 2014-07-10 1699
6090 kikat 4.2.2 에서 surfaceflinger 초기화 하는 부분에 대해서 질문 ... [3] 시안 2014-07-08 1754
6089 dtb에 대해서 궁금합니다. [9] Supsupi 2014-07-08 1737

사용자 로그인