이제 yaffs FS 가 사라져 가고 있다.

우선 많은 보드들이 MMC(SD) 부팅을 지원하고 이것을 사용하고 있는것이 큰 이유이며...

 

또다른 이유는

NAND 의 oob 문제이다.

2K 페이지 난드의 oob 는 64바이트 이다.

MCU 의 난드컨트롤러는 ECC 하드웨어 블럭이 있으며 이것은 1-bit, 8-bit ECC를 지원한다.

1비트 ECC 일 경우 512바이트당 3바이트가 oob 에 저장된다.  8비트 ECC 일경우 2K 바트를 계산하면 52 바이트이다.

yaffs 파일시스템은 oob 영역에 데이타를 저장한다.  2K 페이지당 12~16바이트가 필요하다.

MTD 는 2바이트를 배드블럭정보로 사용한다.

 

oob의 크기는 64바이트

yaffs 가 사용하는 바이트 16(?)

ECC  가 사용하는 바이트 52

MTD 가 사용하는 바이트 2

... oob가 모자란다.... 즉 yaffs 가 올라가지 못한다.

 

그럼 어떤 방법이 있을까..

ECC 를 1비트로 변경하면 yaffs 를 사용할 수 있다. (SLC 만 가능하다)

하지만 MLC 난드를 사용하지 못한다. (MLC 에러가 많아 4비트 이상을 사용해야 한다)

 

yaffs 를 사용하지 않고 ubifs 를 사용한다.

ubifs 는 oob 를 사용하지 않는다.

ubifs 는 전원이 갑자기 꺼지는 장치에서 사용하기는 부담스러운 파일시스템이다.

 

또다른 방법으로 mtd 를 사용하지 않고

NAND 를 disk 로 사용하는 것이다...

fdisk 유틸을 사용하고 올라가는 파일시스템은 ext2, ext3, ext4 등등..

 

이제 nand 는 버려지는 것인가..