SSD에서 Wear-Leveling과 TRIM기능이 정상적인 동작을 하기 위해서는 파일시스템으로부터 긴밀하게 관련 정보를 받아야 한다고 합니다.
Linux kernel v2.6.28을 기점으로 ATA/ATAPI device의 RPM회전수 정의에 의해서 SSD를 감지할수 있다고 합니다.
Linux kernel v2.6.33을 기점으로 TRIM에 대한 공식적인 지원을 통해서 mount 시에 "discard" 옵션을 주어 이를 활성화 할수 있다고 합니다.
그리고 SSD는 탐색시간이 일반 HDD와는 비교가 안될정도로 빠르므로 Noop scheduler를 선택하는것도 필요합니다. 다행히 이것은 꽤 오래된 커널버젼도 지원하고 있고 필수적인 요소도 아닙니다.
SLC type의 NAND flash는 10만회정도 쓰기가 가능하고 MLC type의 NAND flash는 1만회 정도의 쓰기가 가능합니다. 대부분의 보급형 SSD는 MLC이므로 1만여회만 동일한 곳에 쓰기를 하게 되면 수명이 끝날수 밖에 없습니다. 때문에 일단 Wear-Leveling을 하지 않으면 결코 SSD는 수명단축을 초래할수 밖에 없다는 것이 문제입니다.