클라이언트 워크로드에 있어서 SSD 성능 향상을 위한 킹스톤의 가비지 컬렉션 방법론
SSD는 NAND 플래시 스토리지를 관리하는 고급 컨트롤러와 통합합니다. Kingston®은 특정 SSD의 LSI® SandForce® 기반 컨트롤러를 사용해 고객에게 향상된 내구성과 성능을 제공합니다. 이러한 컨트롤러는 가비지 컬렉션(GC)을 실행하기 위해 독점 기술을 사용합니다.
Windows와 같은 운영 체제(OS)에서 파일을 삭제할 때, OS는 내부 파일 테이블에 단지 파일이 삭제되었음을 나타내는 표시만 합니다. 하드 디스크 드라이브(HDD)에는 현재 유효하지 않은 데이터가 남아 있는 상태이며 시스템에서 새 데이터를 저장하기 위해 바로 그 위치에 덮어쓰기될 수 있습니다.
NAND 플래시 기반 장치는 이미 있는 데이터를 덮어쓸 수 없습니다. 프로그램/지우기 주기를 거쳐야 하며, 이미 사용한 데이터 블록에 쓰려면 SSD 컨트롤러가 우선 모든 유효 데이터(아직 사용 중인)를 복사하여 다른 블록의 빈 페이지로 쓰고, 현재 블록에 있는 모든 셀을 지운 다음, 새로운 데이터를 새롭게 지워진 블록으로 쓸 수 있습니다. 이 프로세스를 가비지 컬렉션이라 합니다. 새로운 OS는 또한 TRIM 명령을 지원하는 데, OS가 SSD에 특정 파일이 삭제되었음을 알려 SSD가 GC 프로세스를 보다 더 잘 관리해 해당 공간을 빨리 복구하고 유효하지 않은 모든 데이터가 저장 및 이동하지 않도록 방지할 수 있습니다.
LSI SandForce 컨트롤러가 탑재된 Kingston SSD는 매우 효율적인 Foreground GC를 실행하는 데, 이는 실시간으로 지워지는 블록을 매우 빠르게 준비할 수 있으며, 사용자가 다음날 데이터를 삭제하게 된다면 불필요하게 데이터를 이동하는 것일 수 있는 Background GC를 실행하지 않는다는 점을 의미합니다. Foreground GC 방법으로 SSD에 대한 내구성 및 성능이 향상되었습니다. 또한, Foreground GC는 시스템이 SSD에 액세스하지 않을 때 중단되어 저전력 유휴 상태의 이점을 최대화하고, 어떤 Background GC 프로세스는 중단되는데, 새 블록이 필요해지기 전에 새 블록을 준비하도록 데이터를 이동하기 때문입니다.
Kingston은 데이터로 SSD를 채우는 주기를 수행하는 Anvil이라 부르는 유틸리티를 활용해 테스트를 실행했으며, 모든 데이터를 지운 뒤 데이터를 작성해 다시 드라이브를 채우는 방식으로 진행했습니다. 당사는 TRIM을 활성화 및 비활성화하여 이 유틸리티를 테스트했습니다(TRIM을 비활성화한 경우는 TRIM 명령이 RAID 컨트롤러를 통과하지 않는 RAID 카드 탑재 서버에서 KC300 SSD를 사용하여 또는 Apple Mac 플랫폼상에서 Kingston SSD를 사용하여 시뮬레이션).
결과에 따르면 드라이브 채우기 시간의 절감에서 SSDNow 드라이브의 성능 우위를 보였고 전체 파일 삭제 후 다시 채우는 시간을 줄였다고 합니다. 이는 SSD 가비지 컬렉션의 효율성을 나타냅니다. 왼쪽 축은 드라이브 채우기 시간(초 단위, 낮을 수록 좋음)을 나타내며, 하단 축은 TRIM 활성화 및 비활성화한 10회의 연속 실행을 나타냅니다. KC300 클럭킹의 드라이브 채우기 및 다시 채우기 시간이 최저일뿐만 아니라 성능은 TRIM 활성화 또는 비활성화 시 전체 10회의 실행에 걸쳐 일관적이었습니다. KC300 SSD는 또한 내구성과 성능을 향상시키는 데이터 감소 기능 탑재 DuraWrite 기술을 통합합니다(자세한 정보는 kingston.com/ssd의 DuraWrite에 있는 기술 요약을 참조하십시오).