[주의] 이 방법은 제조사/컨트롤러/펌웨어마다 Smart정보를 표기하는 방법이 다르므로 일관성이 없으며, 글은 삼성전자 제품을 기준으로 작성했다.
글을 읽고 방법 습득후에 각자 Smart정보를 보고 그에맞게 변형해서 사용해야 하며, 예측된 수명도 사용환경 변화에 따라 변동되므로 100% 일치하지 않는다.
대략적인 예측값이므로 참고정도로만 활용하자.
[서문] 그 옛날 레코드판(LP)과 그다지 크게 다를바 없는(물리적 홈파기 → 여전히 물리적 자성체기록) HDD에 비해 SSD는 실제 기록매체인 낸드플래시가
정해진 P/E Cycle을 다 채우면 죽기때문에 기록방식과 고장원리가 상당히 디지털스럽지만 먼저 경고한대로 웨어레벨링(+FTL), 가비지컬렉터(+TRIM),
오버프로비저닝 등등의 셀관리기술과 사후서비스중 펌웨어 업데이트를 통한 관리 알고리즘의 변화가능성, 그리고 시시각각으로 변화하는 사용환경&패턴의
변화때문에 남은수명이 얼마라고 칼같이 예측하기란 여전히 불가능에 가깝다. 하지만 역으로, 그러한 장치특성 덕분에 예상수명계산이 가능해졌다.
따라서, 이번글에서는 장치에서 보내주는 Smart정보를 해석해서 기기의 남은수명을 대략적으로 계산하는 방법에 대해서 알아볼거다. 흥미롭게 봐주길 바란다.
[본문] Smart정보를 볼수있는 유틸리티를 아무거나 실행해서 값을 살펴보자. 그중에 Wear Leveling Count, Used Reserved Block Count 값이 중요하다.
전문적인 설명을 보면 머리아프니까 대충 개념만 요약하면 이렇다.
* WLC : 모든 셀이 균등하게 1회 기록되면 카운트 +1.
예를 들어서 실용량 59GB제품(64GB라인업)에 약 59GB의 데이터가 기록되면 카운트 +1.
논리적으로는 그런데, 실제로는 WL알고리즘에 따라 실용량보다 약간 더 써야 카운트가 올라가기도 한다.
* URBC : 사용자영역의 셀(블럭)중에 수명이 다해서 예비영역(OP)으로 주소가 치환된 셀(블럭)의 갯수.
S470은 TLC 840모델처럼 OP영역이 GB급으로 크게있지는 않지만 아예 없는건 아니다. HDD도 마찬가지다.
WLC를 중점적으로 보고 URBC를 참조하면 된다. 참고로, 컨트롤러나 펌웨어에 따라서 항목이름은 약간씩 다를수 있지만 대충보면 뭐가 뭔지 알아챌 정도는 된다.
현재값(Current)은 원시값으로부터 계산된 100 to 0 -카운팅 %값이다. 제조사/컨트롤러/펌웨어마다 다를수있다. %가 아니고 0 to 255 +카운팅 되기도 한다.
그리고 원시값(Raw)은 정해진 한계없이 +카운팅되는 값이다. 그러니까 원시값과 현재값으로 계산을 하면 대략적인 잔여수명 계산이 가능하다.
URBC는 장치의 상태를 가늠해볼수 있는데, WLC가 86%로 양호한 수치임에도 불구하고 URBC가 벌써 252개나 치환되었는데 이건 WL알고리즘의 문제이거나
낸드칩 자체의 하드웨어적인 불안정성 등등 자세한 원인은 나도 알수없지만 상태가 썩 좋지는 않다는걸 눈치챌 수 있다. 다만 아직도 교체가능한 블럭의 갯수는
한참 남아있으므로 여전히 크게 신경안쓰고 사용해도 될만한 수준임을 나타내고 있다. 보통 WLC가 20%이하로 떨어져야 치환되는게 슬슬 생기던데? 어쨌든...
지금 예시로 든 SSD는 WLC가 86%/663값을 보이고있다. 그런데 이건 원시값이 상승할수록 퍼센테이지가 낮아지는 결과를 보이기 때문에 일반적인 퍼센테이지
계산법을 쓰면 엉뚱하게 771이 나온다. 그 반대로 해야한다. 그렇게 계산하면 약 4800이 나온다. 이건 낸드플래시의 P/E Cycle 총 수치라고 보면 된다. 검증해보자.
3000 - 10000이라고 나와있는데 이건 4Xnm대 구형공정에서나 그렇고 3Xnm공정에서는 5000쯤 된다. S470은 34nm공정으로 알려져있는데 대강 들어맞는다.
그러니까 해석하면, 총 P/E Cycle횟수인 약 4800회 중에서 14%가 줄어든 잔량 86%수준(실제값은 663)을 나타내고 있는거다. 당연하지만 한번더 언급하자면,
웨어레벨링 알고리즘은 완벽하지 않기때문에 모든셀이 칼같이 663일수는 없고, 대략적인 평균치가 663이라는거다. 하지만 저 수치에서 크게 벗어나지는 않는다.
그러면 이 SSD에 지금까지 기록된 데이터는 얼마나 되는지 계산해보자. [SSD 실제사이즈] * [WLC Raw]를 하면 된다. S470 64GB는 실용량이 59GB니까...
59GB * 663 = 39117GB / 1024 = 지금까지 대략 38.2TB가 기록되었다고 보면된다. S470은 TBW값을 제공하지 않기때문에 WLC로 계산하는 방법을 알아봤다.
S470 64GB의 한계수명을 계산해볼까? [SSD 실제사이즈] * [P/E Cycle]를 해보면 대략적으로 추측가능하다. 59GB * 4800 = 283200GB / 1024 = 약 277TB
MLC라면서 TLC 840 120GB(약 300TB)보다도 못하노? TLC라도 2배에 가까운 용량 + OP영역 덕분인것 같다. 어쨌든 예상수치일 뿐이니 목매달지 말자.
그럼 이글의 본 주제인 남은 수명을 계산해볼까? 간단하게 위에서 계산한 결과값을 이용하면 되는거 아니겠노!
277TB - 38.2TB = 약 238.8TB 남은걸로 보인다. KIA! 아직까정 한참남았으니 안심하고써도 되지않겠나 이기야!
이렇게, Smart의 표기정보를 이용하는 방법에 대해서 알아봤다. 흥미롭게 읽어주었길 바라면서 글을 마친다.
항상 양질의 정보글을 작성하려고 노력하고 있다. 읽어줘서 고맙다! SSD 수명드립은 이렇게 치는겁니다 형님들 헤헤





