최종수정 25.02.12 23:06 (Steady State를 측정하는 이유 추가)


벤치마크를 하는 이유는 성능 측정, 그 중에서도 이상적인 것이 아닌 실제 성능을 측정하기 위해서 하는 것이라 생각합니다.

그렇기에 올바른 벤치마크라면 재현이 가능해야하는 것은 당연한 일.


SSD의 경우에는...

Write History and Pre-conditioning, Workload Pattern, Data Pattern

에 따라서 성능이 상당히 변합니다.


지세한 것은 생략하고, FOB 상태와 Steady State의 성능 괴리감은 상당합니다. 둘 다 일반소비자가 체감하긴 힘든 성능 부분이에요.

하지만, 비교를 한다면 최악의 상황에서 재현가능한 성능을 비교해야 올바르지 않을까요? FOB는 두 번 다시 경험할 수 없는 최고성능의 영역이니까요

벤치마크에서 Steady State에 도달하기 위해선 올바른 Pre-Conditioning을 시행하는 등의 준비가 필요한데, 대부분은 전혀 고려하지 않습니다.

Pre-Conditioning을 진행하고 올바르게 SSD의 벤치마크를 한다면 좋겠지만 시간적으로도 오래 걸리고 툴딸깍하는 것에 비해선 학습곡선이 꽤 있습니다.


그러니까, 최소한 비교적 쉬운 FOB상태의 벤치마크라도 최대한 재현 가능하도록 진행합시다.

FOB는 Fresh Out of Box를 의미하며, 포장을 갓 벗긴 상태를 뜻합니다. 다시 말해서, 새 제품이라는 말이에요.

FOB상태가 다른상태와 대비되는 점은 크게 2가지 있습니다.

셀이 전부 기록되지 않은 상태라는 것과 셀이 마모되지 않은 상태라는 것인데요, 후자는 우리가 여러번 재현할 수 없습니다. 셀은 결국 마모되니까요. 하지만 전자의 경우엔 모든 셀을 0으로 재작성해주는 것으로 재현이 가능한데, 이것을 Purge라고 부릅니다.


드라이브에 따른 Purge의 방법의 예시는 아래와 같습니다.

ATA: SECURITY ERASE, SANITIZE DEVICE(BLOCK ERASE EXT)
SCSI: FORMAT UNIT
NVMe: FORMAT namespace

그외에도 벤더에서 정하는 방법을 기준으로 할 수 있습니다.


FOB 상태의 성능을 올바르게 측정하기 위해서는 매 벤치마크 직전에 Purge를 수행해야겠죠?

근데 솔직히 귀찮기도 하고 시간도 오래걸립니다.



그러니까 SSD에 대한 저장장치 갤러리의 벤치마크탭 규칙은 아래와 같이 하겠습니다.

1. 새제품이 아니라면, 첫 벤치마크 이전에는 반드시 Purge를 수행하고 그 "방법을 반드시 기"할 것.

2. 여러 벤치마크 도구를 사용했다면 "순서를 반드시 기"할 것. (도구에 별도의 제한은 두지 않겠습니다.)

3. 제품의 펌웨어 버전과 생산일자, 테스트 시스템의 사양도 기록해주시면 더욱 좋습니다.


그럼 모두 즐거운 벤치마크 생활되길~☆



그래도 Purge를 잘 모르겠다면...


https://m.dcinside.com/board/storage/97


배치파일을 하나 만들어봤으니 써보시는건 어떠신지요?