안녕하세요. 반갑습니다.
uboot의 명령어 중 nand scrub에 관한 궁금증이 있어 질문 드립니다.
일반적으로 생산할 때 nand scrub 명령을 사용해야 합니까?
동일한 제품(MLC타입)에서 특정 경우, nand erase/write로 kernel을 쓰면 kernel panic이 생기고, 몇 번을 해도 kernel panic이 났었습니다, nand scrub 후 다시 kernel을 쓰면 정상동작하는 경우가 있었습니다. 모두 다 그런 것은 아니고 몇개가 그렇습니다. 그렇다고 그냥 넘어가기엔 그 양이 조금 되어 여쭙습니다. 그리고 비슷한 유형의 다른 제품군(SLC타입)에서는 이런 현상이 보고되지 않고 있습니다.
nand scrub을 어떤 경우에 사용해야 하나요?
CPU에 따라 틀릴 듯 합니다.
MLC type의 경우는 나름 bad가 좀 있습니다.
nand scrub의 경우 제가 쓴지 오래되어서 가물하긴 하지만, bad와 상관없이 초기화 하도록 되어 있을겁니다.
그 이후에 bad 체킹을 따로해야하는 것으로 기억이 납니다.
해서, scrub 명령이 약간 fake처럼 보여질 수도 있을 겁니다만, 이 부분은 코드를 어떻게 작성했느냐에 좀 차이가 있을겁니다.
ECC 체킹부분도 다시 확인하시기 바랍니다. SLC의 경우는 H/W ECC를 쓰지 않고도 동작시키는데는 큰 문제가 없을겁니다.