저장장치하면 떠오르는 것이 NAND 플래시이다.

10년전에는 부트로더가 NOR플래시에 저장되어 있었는데 이 후 똑똑한 MCU들이 NAND 플래시에서 데이타를 

읽어 올수 있게 되어 난드플래시가 10년간  이쪽을 주름잡았다.

최근 몇년간 MCU들이 MMC 디바이스 부팅을 지원했지만 개인적으론 그다지 좋아하지는 않았다.

소켓을 사용하여 카드를 삽입한다는것이 미덥지 않았던 것이다.

하지만 이제 칩형태로 된 MMC 즉 eMMC 가 등장하였다.

정확히 말하면 NAND 플래시와 mmc 컨트롤러가 하나의 칩에 내장된 것이다.

eMMC 가 등장하면서 소켓의 불안감은 없어졌다. 

게다가 NAND 플래시의 단점을 한번에 날려버렸다.


난드플래시의 단점   

  • 배드블럭이 있다.
  • 쓰기위해서는 지워야 한다.
  • 데이타 버스의 속도가 느리다.
  • ECC 계산을 해줘야 한다.(에러보정을 위해)
위의 단점을 eMMC 가 해결하였다.
  • 배드블럭은 eMMC 내에서 알아서 처리하니 사용자는 신경쓰지 않아도 된다.
  • 쓰기위해서는 지우는 동작도 신경쓰지 않아도 된다.
  • 8bit 버스를 지원하며 MCU의 mmc 호스트 컨트롤러는 기본적으로 DMA 동작을 지원한다.
  • ECC 계산은 eMMC 에서 알아서 처리한다.
eMMC 를 엑세스하기 위해서는 난드플래시보다는 좀더 많은 것을 알아야 하지만...
개발자로서는 당연하게 받아들여야 하는 현실이다.. 
제로부트를 하다보니 빠른 저장매체로써 eMMC 가  나은 선택이란 판단이다.

PS. MMC 는 초기화가 되고나면 아주 쉬운 디바이스이다.   ^^