2013.09.09

직접 확인한 SSD 조각모음의 진실

Jon L. Jacobi | PCWorld

한층 영리해진 파일 시스템과 더 빠른 디스크와 PC로 인해 파일 파편화는 과거처럼 성능의 장애 요소가 되지 못하고 있다. 구형 컴퓨터는 파일들을 하드디스크 여기저기에 흩뿌려 놓는 습관이 있었지만, 최신 컴퓨터는 그렇게 심하지 않기 때문이다. 따라서 아주 많이 사용하는 하드디스크의 경우도 두 달에 한 번 정도만 조각모음을 해주면 최고 성능을 유지하는 데 큰 문제가 없다.

하지만 디스크 플래터를 사용하는 하드디스크와는 달리 플래시 메모리를 사용하는 SSD의 경우는 완전히 다르다. 시험 결과, 여러 종류의 디스크 파편화 방지 소프트웨어를 사용도가 높은 SSD에 시험해 본 결과, 효과가 거의 또는 전혀 없는 것으로 나타났다.



일반적으로 SSD는 조각모음을 해서는 안된다고 알려져 있다. SSD 컨트롤러는 컨트롤러만이 알고 있는 알고리즘을 이용해 여러 개의 NAND 칩과 위치에 데이터를 분산해서 기록하기 때문이다. 운영체제는 이를 하드디스크의 섹터처럼 보지만, 실제로 데이터는 컨트롤러가 의도한 대로 분산되어 있는 것이다.

이런 섹터를 조각모음하는 것은 직소 퍼즐을 눈을 가리고 맞추는 것이나 마찬가지이다. 또한 NAND 칩은 기록할 수 있는 회수가 제한되어 있기 때문에 SSD를 조각모음하는 것은 불필요하게 데이터를 기록해 수명을 단축시키는 일이다.

이런 통념에도 불구하고 최소한 4가지 이상의 디스크 관리 유틸리티는 최적화를 통해 SSD의 성능을 높일 수 있다고 주장한다. 오스로직(Auslogic)의 디스크 디프래그 프로(Disk Defrag Pro), 컨두시브(Condusiv)의 디스크키퍼(Diskeeper), 락스코(Raxco)의 퍼펙트디스크(PerfectDisk), 슬림클리너 인텔리전트 디프래그(SlimCleaner Intelligent Defrag)가 그것이다.

이들 툴이 어떻게 성능을 높일 수 있는지 이해하기 위해 우선 몇 가지 사실을 확인해야 한다.

사용된 NAND 셀(데이터를 저장하고 있는 플래시 메모리의 부품)은 다시 기록하기 위해 반드시 지워져 있어야 한다.

초기의 SSD는 사용자가 파일을 삭제하면 해당 셀이 더 이상 사용되지 않는다는 것을 표시만 했다가, 사용자가 데이터를 기록하려고 할 때 빈 셀이 없으면 그때서야 이들 셀을 지우느라 성능이 느려졌다.

하지만 TRIM 명령이 등장하면서 이런 문제는 해결됐으며, 윈도우 8 이후 버전은 TRIM 명령어를 지원한다. 때문에 SSD 성능 최적화에 대한 문서의 대부분은 윈도우 7과 TRIM이 등장하기 전의 환경에 대한 것이다. 당시에는 빈 공간 최적화가 SSD로 하여금 불필요한 정보를 정리하게 해 잃어버린 성능을 되찾을 수 있었다. 하지만 최신 SSD와 최신 운영체제가 만나면서 이런 최적화의 대부분은 필요없는 일이 됐다.

그런데 한 가지 의문점이 남는다. 필자가 조사해 본 바로는 어떤 SSD 업체도 조각모음 프로그램이 TRIM을 지원하는 운영체제 상에서 구동되는 최신 SSD의 성능에 도움이 된다거나 되지 않는다고 명확하게 말하지 않는다는 것이다. 어디에서도 확고한 증거를 찾지 못한 필자는 결국 스스로 이를 확인해 보기로 했다.

결국 필자는 OCZ의 128GB SATA 6Gbps Vertex 4 SSD를 크리스털디스크마크로 초기 상태에서 성능을 측정하고, 패스마크와 조세피 콕스의 프래거(Fragger)를 이용해 심각하게 파편화를 시켰다. 그 다음 크리스털디스크마크를 다시 돌려보니 연속 읽기 성능이 10% 정도 떨어진 것을 확인할 수 있었다. 실생활에서는 눈치 채지 못할 정도일 수 있지만, 10%면 상당한 성능 하락이라고 볼 수 있다.

그 다음 앞서 언급한 4가지 유틸리티를 이용해 SSD를 최적화시켰다. 설정은 각 프로그램의 기본 설정을 그대로 사용했고, 한 프로그램의 테스트가 끝나면 SSD의 모든 셀을 안전하게 삭제하는 작업을 한 다음, 파편화된 이미지를 복구해 다른 프로그램을 테스트했다.

물론 여기에도 약간의 문제는 있다. 파편화된 이미지를 그대로 복구했지만, 각각의 데이터가 실제로 동일한 셀에 분배되었는지는 확인할 길이 없다는 것. 하지만 이미지로 복구한 SSD의 성능은 동일하게 하락되어 있었다.

아우스로직스 디스크 디프래그 프로
아우스로직스(Auslogics)의 디스크 디프래그 프로(Disk Defrag Pro) (30달러, 30일 체험 기간 제공) 는 깔끔한 인터페이스와 여러 가지 조각모음 옵션을 갖춘 아주 유능한 조각모음 프로그램이다. 간단한 조각모음(통합과 최적화 없이), SSD 최적화, 빈 공간 최적화(프리 클러스터 조각모음), 부스팅을 빠르게 만들어주는 윈도우 프리펫치 레이아웃 최적화 등의 기능이 들어있다.

또한 이 프로그램은 피리폼(Piriform)의 무료 디프래글러(Defraggler)에서 볼 수 있는 개별 파일과 폴더를 조각모음할 수 있는 옵션도 제공한다. 이 기능은 파일에 지속적으로 신속한 접속을 필요로 하는 비디오 편집기 같은 애플리케이션들에 유용하다.


아우스로직스 디스크 디프래그 프로의 정돈된 인터페이스는 결과에 집중할 수 있게 해준다.

디스크 디프래그 프로는 하드 드라이브 테스트에서 필자의 고도로 파편화된 파티션과 다른 잡동사니들을 간단히 처리하는 등 아주 훌륭한 성능을 보여주었다. 그러나 SSD 최적화는 거의 한 일이 없었고, 그런 처리 상황을 그대로 알려주었다. 조각모음 실행 이후 크리스탈디스크마크(CrystalDiskmark)에서 소폭의 성능 상승이 일어난 것으로 나왔지만, 쓰레기통을 비웠기 때문일 가능성이 크다.

디스크 디프래그 프로는 자체 예약 실행 기능과 고급 관리 기능을 갖추고 있지만, 디스키퍼(Diskeeper)와 퍼펙트디스크(PerfectDisk)에서처럼 조각난 쓰기 방지를 위한 백그라운드 프로세싱이 안된다. 하지만 이런 결점은 보통 시스템에서 그리 큰 문제는 아니다. NTFS(윈도우 NT의 파일 시스템)에서 조각난 쓰기는 드라이브가 거의 꽉 차가거나 가동 중인 서버용으로 사용되지 않는 한 비교적 흔치 않기 때문이다.

그러나 한 가지 불편한 점이 있긴 하다. 종종 프로그램 부팅 중, 하드 드라이브 상에서 읽기/쓰기 헤드가 긁히는 소리를 들을 수 있었는데 이를 좋아할 사람은 없을 것이다. 필자가 사용해본 다른 어떤 조각모 프로그램에서 읽기/쓰기 헤드에 이런 식으로 스트레스를 주는 것을 본 적이 없다. 간헐적으로 발생하긴 했지만, 상당히 마음을 불안하게 만드는 일이다.



2013.09.09

직접 확인한 SSD 조각모음의 진실

Jon L. Jacobi | PCWorld

한층 영리해진 파일 시스템과 더 빠른 디스크와 PC로 인해 파일 파편화는 과거처럼 성능의 장애 요소가 되지 못하고 있다. 구형 컴퓨터는 파일들을 하드디스크 여기저기에 흩뿌려 놓는 습관이 있었지만, 최신 컴퓨터는 그렇게 심하지 않기 때문이다. 따라서 아주 많이 사용하는 하드디스크의 경우도 두 달에 한 번 정도만 조각모음을 해주면 최고 성능을 유지하는 데 큰 문제가 없다.

하지만 디스크 플래터를 사용하는 하드디스크와는 달리 플래시 메모리를 사용하는 SSD의 경우는 완전히 다르다. 시험 결과, 여러 종류의 디스크 파편화 방지 소프트웨어를 사용도가 높은 SSD에 시험해 본 결과, 효과가 거의 또는 전혀 없는 것으로 나타났다.



일반적으로 SSD는 조각모음을 해서는 안된다고 알려져 있다. SSD 컨트롤러는 컨트롤러만이 알고 있는 알고리즘을 이용해 여러 개의 NAND 칩과 위치에 데이터를 분산해서 기록하기 때문이다. 운영체제는 이를 하드디스크의 섹터처럼 보지만, 실제로 데이터는 컨트롤러가 의도한 대로 분산되어 있는 것이다.

이런 섹터를 조각모음하는 것은 직소 퍼즐을 눈을 가리고 맞추는 것이나 마찬가지이다. 또한 NAND 칩은 기록할 수 있는 회수가 제한되어 있기 때문에 SSD를 조각모음하는 것은 불필요하게 데이터를 기록해 수명을 단축시키는 일이다.

이런 통념에도 불구하고 최소한 4가지 이상의 디스크 관리 유틸리티는 최적화를 통해 SSD의 성능을 높일 수 있다고 주장한다. 오스로직(Auslogic)의 디스크 디프래그 프로(Disk Defrag Pro), 컨두시브(Condusiv)의 디스크키퍼(Diskeeper), 락스코(Raxco)의 퍼펙트디스크(PerfectDisk), 슬림클리너 인텔리전트 디프래그(SlimCleaner Intelligent Defrag)가 그것이다.

이들 툴이 어떻게 성능을 높일 수 있는지 이해하기 위해 우선 몇 가지 사실을 확인해야 한다.

사용된 NAND 셀(데이터를 저장하고 있는 플래시 메모리의 부품)은 다시 기록하기 위해 반드시 지워져 있어야 한다.

초기의 SSD는 사용자가 파일을 삭제하면 해당 셀이 더 이상 사용되지 않는다는 것을 표시만 했다가, 사용자가 데이터를 기록하려고 할 때 빈 셀이 없으면 그때서야 이들 셀을 지우느라 성능이 느려졌다.

하지만 TRIM 명령이 등장하면서 이런 문제는 해결됐으며, 윈도우 8 이후 버전은 TRIM 명령어를 지원한다. 때문에 SSD 성능 최적화에 대한 문서의 대부분은 윈도우 7과 TRIM이 등장하기 전의 환경에 대한 것이다. 당시에는 빈 공간 최적화가 SSD로 하여금 불필요한 정보를 정리하게 해 잃어버린 성능을 되찾을 수 있었다. 하지만 최신 SSD와 최신 운영체제가 만나면서 이런 최적화의 대부분은 필요없는 일이 됐다.

그런데 한 가지 의문점이 남는다. 필자가 조사해 본 바로는 어떤 SSD 업체도 조각모음 프로그램이 TRIM을 지원하는 운영체제 상에서 구동되는 최신 SSD의 성능에 도움이 된다거나 되지 않는다고 명확하게 말하지 않는다는 것이다. 어디에서도 확고한 증거를 찾지 못한 필자는 결국 스스로 이를 확인해 보기로 했다.

결국 필자는 OCZ의 128GB SATA 6Gbps Vertex 4 SSD를 크리스털디스크마크로 초기 상태에서 성능을 측정하고, 패스마크와 조세피 콕스의 프래거(Fragger)를 이용해 심각하게 파편화를 시켰다. 그 다음 크리스털디스크마크를 다시 돌려보니 연속 읽기 성능이 10% 정도 떨어진 것을 확인할 수 있었다. 실생활에서는 눈치 채지 못할 정도일 수 있지만, 10%면 상당한 성능 하락이라고 볼 수 있다.

그 다음 앞서 언급한 4가지 유틸리티를 이용해 SSD를 최적화시켰다. 설정은 각 프로그램의 기본 설정을 그대로 사용했고, 한 프로그램의 테스트가 끝나면 SSD의 모든 셀을 안전하게 삭제하는 작업을 한 다음, 파편화된 이미지를 복구해 다른 프로그램을 테스트했다.

물론 여기에도 약간의 문제는 있다. 파편화된 이미지를 그대로 복구했지만, 각각의 데이터가 실제로 동일한 셀에 분배되었는지는 확인할 길이 없다는 것. 하지만 이미지로 복구한 SSD의 성능은 동일하게 하락되어 있었다.

아우스로직스 디스크 디프래그 프로
아우스로직스(Auslogics)의 디스크 디프래그 프로(Disk Defrag Pro) (30달러, 30일 체험 기간 제공) 는 깔끔한 인터페이스와 여러 가지 조각모음 옵션을 갖춘 아주 유능한 조각모음 프로그램이다. 간단한 조각모음(통합과 최적화 없이), SSD 최적화, 빈 공간 최적화(프리 클러스터 조각모음), 부스팅을 빠르게 만들어주는 윈도우 프리펫치 레이아웃 최적화 등의 기능이 들어있다.

또한 이 프로그램은 피리폼(Piriform)의 무료 디프래글러(Defraggler)에서 볼 수 있는 개별 파일과 폴더를 조각모음할 수 있는 옵션도 제공한다. 이 기능은 파일에 지속적으로 신속한 접속을 필요로 하는 비디오 편집기 같은 애플리케이션들에 유용하다.


아우스로직스 디스크 디프래그 프로의 정돈된 인터페이스는 결과에 집중할 수 있게 해준다.

디스크 디프래그 프로는 하드 드라이브 테스트에서 필자의 고도로 파편화된 파티션과 다른 잡동사니들을 간단히 처리하는 등 아주 훌륭한 성능을 보여주었다. 그러나 SSD 최적화는 거의 한 일이 없었고, 그런 처리 상황을 그대로 알려주었다. 조각모음 실행 이후 크리스탈디스크마크(CrystalDiskmark)에서 소폭의 성능 상승이 일어난 것으로 나왔지만, 쓰레기통을 비웠기 때문일 가능성이 크다.

디스크 디프래그 프로는 자체 예약 실행 기능과 고급 관리 기능을 갖추고 있지만, 디스키퍼(Diskeeper)와 퍼펙트디스크(PerfectDisk)에서처럼 조각난 쓰기 방지를 위한 백그라운드 프로세싱이 안된다. 하지만 이런 결점은 보통 시스템에서 그리 큰 문제는 아니다. NTFS(윈도우 NT의 파일 시스템)에서 조각난 쓰기는 드라이브가 거의 꽉 차가거나 가동 중인 서버용으로 사용되지 않는 한 비교적 흔치 않기 때문이다.

그러나 한 가지 불편한 점이 있긴 하다. 종종 프로그램 부팅 중, 하드 드라이브 상에서 읽기/쓰기 헤드가 긁히는 소리를 들을 수 있었는데 이를 좋아할 사람은 없을 것이다. 필자가 사용해본 다른 어떤 조각모 프로그램에서 읽기/쓰기 헤드에 이런 식으로 스트레스를 주는 것을 본 적이 없다. 간헐적으로 발생하긴 했지만, 상당히 마음을 불안하게 만드는 일이다.



X