검은색 기기 케이스 배경 위에 있는 Kingston eMMC 장치.

eMMC 수명 주기의 추정, 검증 및 모니터링

NAND 버스에 의해 처리되는 프로세스

NAND 플래시 저장 장치는 단순히 데이터를 읽고/쓰는 매체가 아닙니다. 신뢰성 있는 사용을 위해 몇몇 알고리즘이 실행되야 하는데, 바로 NAND 블록 관리, 가비지 콜렉션, 오류 제어, 그리고 웨어 레벨링입니다. 현대의 NAND 플래시는 저장 장치에 있는 알고리즘으로 관리되며, 호스트 프로세서에서 실행되지 않습니다. 이것은 사용자의 편의를 위함인데, 호스트 프로세서가 NAND 관리를 하는 것이 덜 복잡해지며, 제품 지원과 유지가 간단해지기 때문입니다.

호스트가 NAND 플래시에 쓰기 작업을 하는 것은 비효율적이며, 이는 매체가 더 빨리 실행되지 못하는 결과를 야기합니다. NAND의 가장 작은 조직 단위는 페이지인데, 이것은 읽고 프로그래밍할 수 있지만 지울 수는 없습니다. 지울 수 있는 단 하나의 조직 단위는 블록인데, 이는 많은 페이지로 구성됩니다. 따라서, 블록을 지울 때까지는 페이지를 덮어쓰기할 수 없습니다. 블록은 시간이 지날수록 내구성이 다 되어감에 따라 실패할 수 있습니다. 조기 불량으로 이어지는 결함도 발생할 수 있습니다.

NAND 플래시는 사용 가능한 프로그램 제거 주기가 제한되어 있습니다. 한계에 이른다는 것은 곧 장치가 EoL 상태에 빠진다는 것인데, 이는 곧 장치가 더 이상 신뢰할 수 없음을 의미합니다. 내구성은 NAND 셀의 구성에 따라서 달라집니다.

싱글 레벨 셀 구성: 이 설정에는 가장 높은 수준의 내구성과 가장 큰 오류 범위가 있습니다.

eMMC LBA 512B Sector Address

NAND Page & Block Address
0:31 Blk10, Pg101
32:63 Blk10, Pg102
64:95 Blk10, Pg103
96:127 Blk10, Pg104
128:159 Blk15, Pg57
160:191 Blk8, Pg129
192:223 Blk10, Pg107
224:255 Blk22, Pg88

eMMC는 512바이트 섹터 단위까지 읽고 쓸수 있는데, 이는 논리적인 것이지 물리적인 것이 아닙니다. 섹터 주소는 논리 블록 주소(LBA)라고 부릅니다. 데이터를 수정할 때, 전체 NAND 블록을 지우는 것은 비현실적이며, 이는 변하지 않은 페이지에 대해 비효율적인 소모를 일으키키 때문입니다. LBA-PBA(물리 블록 주소) 매핑 스킴은 밸런스 블록 웨어에게 더 작은 쓰기를 제공하는데, 이는 웨어 레벨링이라 부르는 사례입니다. 주소 변환 테이블을 이용해서, LBA는 PBA로 맵핑됩니다. 이 프로세스는 블록 웨어의 균형을 잡고 쓰기 속도를 개선시킵니다.

주소 맵핑 작업의 프로세스는 다음과 같습니다.

  • NAND 페이지가 16킬로바이트인 반면에, eMMC 섹터는 512바이트입니다. 맵핑 테이블은 32개의 순차 섹터 주소를 페이지 크기의 단위로 그룹화 합니다.
  • 페이지 그룹의 한 섹터가 수정되면, 컨트롤러는 해당 페이지에 대하여 전체 섹터 그룹을 읽고, 수정된 섹터들을 업데이트하며, 새로운 데이터를 새로운 페이지로 다시 프로그래밍합니다.
  • 업데이트된 페이지가 프로그래밍되고 나면, 테이블이 업데이트되고 이전 항목을 업데이트된 NAND 페이지의 블록과 페이지 주소로 덮어쓰기 합니다.
  • 오직 한 개의 섹터가 수정된다 하더라도, NAND 플래시는 반드시 전체 페이지를 프로그래밍해야합니다. 이와 같은 비효율성을 쓰기 증폭이라고 부릅니다. eMMC 장치 수준 쓰기에 대한 NAND 플래시 쓰기 비율은 쓰기 증폭 계수(WAF)입니다.

작고, 임의적이며, 비 페이지 정렬 다시 쓰기가 일반적으로 쓰기 비율의 가장 큰 원인입니다. WAF를 최소화하기 위해, 쓰기는 다수의 페이지 크기 장치에 속한 페이지와 연결되어야 합니다. 이와 같은 최적화 장치 크기는 연장된 CSD 레지스터의 최적화한 쓰기 크기에 속합니다.

총 기록된 바이트(TBW)를 결정하는 공식은 간단합니다.

(장치 용량 X 내구성 팩터) / WAF = TBW

때때로, WAF는 4와 8 사이에 있지만, 이것은 호스트 시스템의 쓰기 행동에 달려있습니다. 일례로, 커다란 순차적 쓰기는 낮은 WAF를 생산하며, 반면에 작은 데이터 블록의 임의 쓰기는 높은 WAF를 생산합니다. 이와 같은 행동은 때때로 저장 장치의 조기 장애를 야기하기도 합니다.

일례로, 3000의 내구성 팩터와 8의 WAF가 탑재된 4GB eMMC는 다음과 같습니다:

(4GB * 3000) / 8 = 1.5TB

eMMC 장치의 총 기록된 바이트는 1.5TB입니다. 그러므로, 제품이 EoL 상태에 이르기 전에 제품의 사용 주기동안 1.5TB 상당의 데이터를 쓸 수 있습니다.

여러분의 TBW 요구사항을 예상하기 위해서는, 하루에 장치를 얼마나 쓰는지를 예상해야 합니다. 일례로, 500MB의 일일 쓰기 사용을 하는 작업량 (5년의 사용주기 예측됨)의 경우, 915GB보다 큰 TBW를 달성할 수 있는 장치가 필요합니다.

0.5GB * 365 = ~183GB/년, 또는 915GB/5년

TBW = (DC * EF) / WAF가 성립되므로, TBW는 장치에 최대로 허용가능한 WAF를 확인하기 위해 사용됩니다. 만약 장치의 수명이 제품 사용으로 인하여 목표 TBW를 달성한 경우, 개선을 시도할 수 있습니다. 유사 싱글 레벨 셀 모드에서 활용하는 것을 생각해 보세요, 이 모드에서는 TLC 또는 MLC로부터의 장치가 셀당 단일 비트 모드로 전화하게 함으로써 내구성을 열배 증가시킵니다. 그러나, 이렇다고 해서 용량이 급격하게 줄어들지는 않습니다. 셀당 두 개 비트 MLC 장치의 경우 50%, 세 개 비트 TLC 장치의 경우 66%입니다. 이와 같은 솔루션이 여러분에게 만족스럽지 않다면, 같은 업무량을 다룰 수 있는 더 큰 장치를 고르는 것이 도움이 될 수 있습니다. 두 배의 용량을 가진 장치의 TBW도 두 배가 됩니다.

Kingston의 eMMC 알고리즘은 낮은 쓰기 증폭 계수를 달성합니다. 당사는 성능 사용주기 및 안정성의 균형을 맞추기 위해 다양한 구성을 제공합니다. 모든 eMMC 장치와 공유되는 성능인 EXT_CSD에 있는 JEDEC 사용주기 예상 도구를 사용하면서, 장비의 수명을 모니터링할 수 있습니다. 장치의 내구성을 기반으로, 장치의 수명은 10% 증가되어서 보고됩니다. 한 개의 도구는 MLC-구성의 NAND 플래시 블록의 수명을 보고하고, 반면 다른 도구는 유사-SLC 모드에서 구성된 블록의 수명을 보고합니다. Kingston eMMC 장치는 또한 장치의 일반적인 블록 수명을 되돌릴 수 있는 공급업체 명령을 갖고 있습니다. 이러한 것들은 JEDEC 도구들보다 정확하지만, 사용하기 위하여는 약간의 소프트웨어 개발을 필요로 합니다. 다른 방법으로는, 더욱 종합적인 분석을 위해 수명이 다한 장비를 Kingston에 보낼 수도 있습니다.

#KingstonIsWithYou

promo embedded

전문가에게 묻기

올바른 솔루션을 계획하려면 프로젝트와 시스템의 요구사항을 이해해야 합니다. Kingston의 전문가들이 안내해 드리겠습니다.

전문가에게 묻기

관련 영상

관련 기사