2009년 4월 4일 토요일

파일시스템 비교 넷북에 적합한 파일시스템 선택 (File system comparison and choose the right one for netbook)

친구의 부탁으로 넷북을 구입하여 포맷을 한 다음 윈도우 XP를 클린인스톨을 하게 되었다.


처음에 SSD를 포맷을 할 때 별 생각없이 파일 시스템을 NTFS로 선택하였다. 설치에 별다른 문제는 없었지만 설치하는데 엄청난 시간이 걸렸고 특히 sp2를 설치했기 때문에 sp3로 업데이트 할 때 역시 거의 1시간 이상 걸렸다.

어플리케이션 역시 일단 실행이 되면 동작속도는 괜찮았지만 윈도우의 반응속도나 초기 로딩속도가 엄청나게 오래 걸렸다. 물론 인텔 아톰 프로세서가 고성능은 아니어도 램도 2G, SSD 32G로 확장된 시스템이 무슨 셀러론 500MHz 프로세서에 램 512M 보다 눈에 띄게 느리게 움직이는 것이었다.

구글신의 도움을 받아 원인을 찾아 본 결과 범인(?)은 NTFS 파일시스템이었다.

아래 표가 FAT과 NTFS 파일시스템을 비교해 놓은 것이다.



위의 표에서 볼 수 있는것처럼 대용량의 하드를 사용하는 멀티유저 시스템인 경우 security, recoverability, fault tolerance가 중요하기 때문에 NTFS가 훨씬 유용하지만 주로 개인용 서브로 사용하고 사용되는 SSD도 32G이하인 경우가 많은 넷북에서는 NTFS를 사용하는게 별다른 이득이 없다.

또한 NTFS 파티션의 경우 모든 파일과 폴더에 대해 last access timestamp를 저장하고 있다. 이 timestamp는 파일이나 폴더가 억세스 (쓰기 뿐 아니고 읽기도 포함)될 때 마다 업데이트 된다. 즉 폴더를 브라우징 하거나 파일 내용을 보기만 해도 계속 timestamp가 업데이트 되어야만 한다. 특히 대량의 파일을 가지고 있는 폴더를 브라우징하면  log file이 쌓여서 OS가 이 로그를 하드디스크에 다 기록할 때 까지 윈도우가 느려지거나 반응이 없어질 수 있다.

고속 하드에서라면 큰 문제가 되지 않지만 넷북에 주로 사용되는 저속의 MLC SSD에서는 이게 엄청난 문제를 일으킬 수 있다.

특히 MLC SSD의 경우 한번에 writing하는 블럭 크기가 작으면 아래 그래프에서 볼 수 있는것처럼 기록속도가 매우 느려진다. Timestamp 로그는 사이즈가 작아서 가장 writing 속도가 느리다. 폴더를 한번만 열어봐도 그 폴더 안에 들어있는 모든 파일에 대해 가장 느린 operation을 해 줘야 하니 윈도우의 동작 속도가 엄청나게 느려지게 된다.

물론 FAT32에도 timestamp를 관리하지만 파일을 만들거나 내용을 수정하는 경우만 timestamp를 업데이트하고 읽기만 하는 경우는 timestamp를 업데이트 하지 않기 때문에 MLC 타입의 SSD를 사용하는 넷북의 경우 FAT32를 사용하는게 NTFS보다 훨씬 빠르게 동작한다.

넷북의 SSD를 FAT32로 포맷하고 윈도우를 다시 설치한 결과 NTFS를 설치한 경우보다 체감상으로 배 이상 빠르게 동작하는걸 확인할 수 있었다.

* NTFS를 사용하는 경우에도 last access timestamp 기능을 꺼 줄 수 있다. 이 경우는 테스트 해 보지 않았지만 이 기능을 꺼 주면 FAT32와 비슷한 속도로 동작할 수 있을것으로 생각된다. 이 기능을 꺼 주려면 레지스트리를 다음과 같이 수정해주면 된다.

Hive: HKEY_LOCAL_MACHINE

Key: SYSTEM\CurrentControlSet\Control\FileSystem

Name: NtfsDisableLastAccessUpdate

Type: REG_DWORD

Value: 1

댓글 1개: