얼마 전에 SSD 대란이 있어서 직구로 M.2 NVME SSD를 하나 샀었습니다.
그걸 설치하고 나니, 기존에 사용하던 M.2 SATA SSD가 남아서 어떻게 할까 하다가 시험삼아 테무에서 저렴하게 파는 M.2 SATA SSD 케이스를 하나 사보았습니다.
받고 나니 써멀패드도 들어있고 기대보다는 괜찮은 완성도라서 SSD를 넣고 PC에 꽂아서 포맷을 한 후에 속도 측정을 해보았습니다.
테스트 결과를 보니, Sequential Read/Write 값은 나쁘지 않은데, 문제는 Random Read/Write 값이 생각보다 너무 낮게 나왔습니다.
그래서 USB 외장 케이스를 사용하면 저렇게 낮게 나오는 것이 맞나 싶어서 인터넷 검색을 해보니 외장 케이스를 쓰면서도 Random R/W 값이 높게 나오는 벤치 결과들이 있더군요.
그래서 싸구려라서 그런가 하고 검색을 좀 하다가 이 케이스가 사용하는 칩셋인 JMS578을 쓰면서도 random R/W가 높게 나온 사례를 발견하고 좀 더 찾아보니 UASP를 지원하지 않으면 성능이 낮게 나온다는 글을 찾았습니다.
Inateck FE2010 and UA1001 SATA - USB 3.0 Storage Bridges Review (anandtech.com)
해당 문서를 보면 아래와 같은 내용이 있습니다.
소비자는 USB 인터페이스가 있는 외부 저장 장치/인클로저의 경우 다음 사항을 염두에 두어야 합니다:
- 성능 향상을 위한 UASP(USB 연결 SCSI 프로토콜) 지원(프로토콜 오버헤드 감소 및 SATA 네이티브 명령 대기열(NCQ) 지원)
- 외부 인클로저의 SSD가 장기적으로 최적으로 작동할 수 있도록 TRIM을 지원합니다.
- 호스트 OS에서 내부 SATA 장치를 모니터링할 수 있도록 S.M.A.R.T 패스스루를 지원합니다.
'4K Q32T1'과 '4K' 숫자를 비교하면 저장 장치가 NCQ(네이티브 명령 대기열)/UASP(USB 연결 SCSI 프로토콜)를 지원하는지 빠르게 알 수 있습니다. 두 액세스 트레이스의 숫자가 같은 경우, NCQ / UASP가 지원되지 않습니다. 이는 PC의 호스트 포트/드라이버가 UASP를 지원한다고 가정합니다.
이 문서를 통해 이 케이스가 사용하는 JMS578 칩셋은 UASP를 지원하나, 위와 같이 random R/W 성능이 낮게 나오는 현상은 USAP를 지원하지 않아서 발생하는 것을 확인하고 최종적으로 CrystalDiskInfo를 통해 이 케이스는 현재 USAP가 지원되지 않는 것을 확인하였습니다.
그래서 그럼 해당 칩셋을 쓰면서 어떻게 USAP를 활성화시킬 수 있을지 다시 폭풍 검색을 해본 결과, 칩셋 펌웨어를 업데이트하면 가능할 수 있다는 글들을 다수 찾았고, 아래 사이트에서 칩셋 펌웨어 업데이트를 할 수 있는 툴과 펌웨어를 다운받았습니다.
External Drive Enclosures? (S.M.A.R.T.+UASP+TRIM) : r/DataHoarder (reddit.com)
두번째 사이트에서 받은 툴을 통해 현재 이 케이스의 펌웨어 버전은 00.04.00.04 인 것을 확인했고, 다운받은 파일에 있는 펌웨어 중 가장 최신으로 보이는 00.04.01.04로 업그레이드를 한 후에 드디어 인터페이스가 USB에서 USAP로 바뀐 것을 확인하였습니다.
그리고 다시 벤치마크를 돌려보니, 이제 예전과 다르게 Random R/W 값이 개선이 된 것을 확인하였습니다.
추가로 버전에 따라 TRIM에 문제가 있다는 글들도 있어서 확인해보니 TRIM도 잘 동작합니다.
사실 다른 믿음직한(이라고 쓰고 비싼) 케이스로 다시 구매할까도 생각해봤지만, 덕분에 돈을 아낄 수 있게 되었습니다.
혹시 저와 같이 외장 SSD 케이스를 샀는데 성능이 안나오면 펌웨어 업그레이드를 고려해보시기 바랍니다.
3줄 요약
- 테무에서 저렴한 케이스를 샀음
- 성능이 기대보다 안나왔는데, 문제 원인은 USAP가 지원되지 않았음
- 펌웨어 구해서 업데이트하니 USAP가 지원되서 성능이 향상됨.
usb 3.1 gen2 이상으로 연결하셨는데 저렇다면 케이블을 10gbps 지원되는 걸로 바꿔 보시면 어떨까요?
이 케이스는 USB 3.0 까지만 지원되는 제품입니다. 어짜피 SATA 한계가 6Gbps라서 5Gbps가 나오는 USB 3.0으로도 충분하다고 생각했었습니다.
물론 처음 속도가 안나왔었을 때는 다시 구매할까 하고 USB 3.1 gen2 까지 지원되는 제품들도 찾아봤었죠. ^^
알리 5달러 내외 저가형 인클로저로 JMS576, 578 칩셋 제품이 많은데, 장점은 저렴하다는 것, 단점은 5Gbps까지만 지원된다는 점+자동 트림이 안된다는 점(HDD로 인식)이었습니다. 이것저것 쓰다보니까, 최종적으로 M.2 SATA는 JMS580, ASM235CM 칩셋, 2.5인치 SATA 인클로저는 VL716과 ASM235CM 칩셋을 사용한 제품이 6Gbps까지 지원+자동 트림 가능하라고요.(VL716은 랜덤 4k 속도가 다른 칩셋 대비 좀 낮습니다.)
자동트림이 필수는 아닙니다. 5Gbps나 6Gbps나 실체감은 크게 다르지 않고요. 4k 쓰기 속도는 비슷합니다. 또, 자동 트림이 되지 않더라도 자체 GC, 수동 트림 등 활용할 방법은 얼마든지 있습니다. 무엇보다 JMS578 칩셋 인클로저의 가격이 굉장한 장점입니다. JMS578도 충분히 활용할 만한 스펙입니다.
꼭 VL716, JMS580, ASM235CM을 써야한다는 뜻이 아니고, 컨트롤러 펌웨어까지 올리면서 사용하는 유저가 드문데 적극적으로 활용하시는 듯하여 제 경험도 참고되실까 하여 댓글로 보탭니다. 사용기 잘 봤습니다.
* ASM225CM 칩셋 제품도 더러 있는데, 이 제품은 쓰기 버퍼 활성화를 하지 않으면 제 속도가 나오지 않았습니다.
네 말씀하신대로 확인해보니 드라이브 최적화로 들어가니 하드 디스크 드라이브로 인식하네요. ㅠㅠ
수동 트림을 어떻게 할 수 있을지 찾아봐야겠군요.
다행히 누군가 펌웨어를 추출해 인터넷에 올려 놓아. 최저가 급매 땡처리 제품 사다가 펌웨어만 올리면 됩니다.
0.2.x.x는 bus power 펌웨어이며, 2.5" 케이스에 hdd 사용하시는 분은 0.2.1.4 를 까시면 됩니다. ( 파일명은 0.5.0.14라고 적혀 있습니다.)
0.4.1.4는 self power + odd 지원 펌웨어라, 주로 3.5" 케이스나 임베디드기기 용이고,
아래 odroid만드는 hardkernel사 전용 펌웨어 173.1.0.2가 ssd 최적 펌웨어 입니다.
아래는 리눅스 용이라, 펌웨어만 다운받아 윈도우 펌웨어 업데이트 툴로 업그레이드 하면 됩니다.
https://github.com/hferreira23/JMS578
https://wiki.odroid.com/odroid-xu4/software/jms578_fw_update
감사합니다. 말씀하신 173.1.0.2로 펌웨어 변경했습니다. ^^
제가 산 건 위와같은 우여곡절을 거쳐야하기 때문에 추천드리긴 좀 그럴 거 같고, 위에 뽀이아님께서 말씀하신 칩셋을 쓴 제품을 사시는 것이 좋을 거 같습니다.
제가 산 건 테무에서 8400원 정도였는데, USB 3.1에 UASP와 TRIM을 지원한다고 하는 제품을 10700원 정도에 파네요. 다만 어떤 칩셋인지 명시는 안되어 있긴 합니다.
테무 특성 상 얼마 이상 구매 시 할인되는 각종 쿠폰 or 장바구니 몇개 이상 담으면 그 중 일부 무료 등으로 저 가격보다 실 구매가는 많이 낮아질거 같습니다. 물론 쓰잘데기없는 것들을 많이 사는 단점이 있지만요. ㅎㅎ