1% 개발, 99% 유지보수 – 3. 수동 트림

이 글이 다루는 시기: 2012년 10월 ~ 2013년 1월

= 첫 버전 공개로부터 2개월 ~ 5개월까지


트림이라는 기능이 있다. 해당 위치의 자료가 더 이상 필요가 없게 될 경우 마크하는 기능인데, 이 기능이 왜 필요한지는 이 글을 보면 좋다.

이처럼 GC를 위해서는 빈 공간이 필요한데, SSD 입장에서는 어떤 공간이 빈 공간인지 모른다는 문제가 있다. 따라서 운영체제에서 어떤 공간이 빈 공간이라는 ‘힌트’를 주어야 하는데, 이 힌트가 바로 트림이다.

따라서 SSD가 본격적으로 부상한 윈도 7부터는 자동 트림 기능을 제공했다. 그러나 당시에는 이 자동 트림 기능이 문제가 있는 것인지, 자꾸 찌꺼기가 남아서 성능이 저하되는 일이 발생했다. 이에 따라 각 벤더들은 자신들의 도구 모음을 내놓고, 수동 트림 기능을 추가하였다.

수동 트림 테스트 스크린샷

나래온 툴도 예외는 아니어서, 사용자들로부터 지속적으로 수동 트림 기능에 대한 요청을 받았었다. 결국 2012년 10월 어느 날, 칼을 뽑아 들게 되었다. WinHex는 쉐어웨어 버전도 물리 드라이브 읽기 만은 가능한데, 이 읽기 기능을 사용하여 일일이 대조해보며 테스트했다.

이 시기 가장 어려웠던 건 엔디언 문제와 파티션 구조 분석 문제였다. 특히 FAT 파일 시스템은 볼륨 비트맵 시작이 파티션 시작과 일치하지 않아서 고생을 많이 했던 기억이 난다.

윽… 소스가 더럽다. 이 소스는 2년 후에 대대적인 개편을 거치게 된다.

SSDInfo가 나래온 툴 전체를 받쳐주는 토대라면, 수동 트림 기능은 그 자체로 사용자 풀을 받쳐주는 토대라고 할 수 있겠다. 다만 제목에서 말했다시피 수많은 이슈의 근원이자 나래온 툴을 끝까지 괴롭힌 기능이기도 하다.

이 기능과 관련하여 가장 안타까운 부분은 반자동 트림이다. 완전 자동 트림으로 만들기 위한 구상이 당시에 완료되어있었는데, 바쁜 일로 인하여 시기를 놓친 게 지금도 큰 한으로 남아있다. 물론 당시에 하던 일로 인해 좋은 일도 적지 않았으나, 이 때 자동 트림 기능을 성공시켜 XP 사용자들의 Pain Point를 공략했다면 얻을 수 있는 게 더 많았으리란 아쉬움이 아직도 남아있다.