삼성의 S5PV210 MCU 의 경우  부팅시 반드시 HWECC-8bit 를 요구한다.

 

이번에 설계한 EM-S5PV210 모듈에는 512MByte SLC 플래시를 적용하여 생산하였다.

리눅스 커널 mtd 에서  HWECC-8bit 설정을 하여 사용하려 하는데 여기에서 문제가 발생하였다

mtd 만으로 사용할때는 문제가 발생하지 않지만 여기에  yaffs 파일시스템을 사용할 경우  문제가 발생한다.

 

512MByte SLC 플래시는 2KB page 에 oob 크기가 64바이트이다.

여기에서 배드블럭 정보를 위해 2바이트

HWECC-8bit 를 위해 52 바이트를 빼고 나면 나머지는 10바이트가 남는다.

 

yaffs 파일시스템에서 요구하는 oob 영역은 2K page 일때 15바이트 이다.

5바이트가 모자란다...

어쩔수 없이 HWECC-1bit 를 사용하여야 한다.

부트로더에서는 HWECC-8bit 를 커널에서는 HWECC-1bit 사용하는 이상한 형태가 되어 버렸다.

 

1GByte SLC 플래시의 경우 4K-page / 128-oob 이다. 이 경우 사용할 수 있는 oob 영역이 22 바이트이다.

이 경우는  yaffs  파일 시스템을 올릴 수 있을 것으로 예상한다.