본문 바로가기

TECH ZOOM

SSD라고 무조건 빠를까? SW에 따라 좌우되는 SSD의 성능

스핀들 모터(Spindle Motors), 엑츄에이터 암(Actuator Arms), 서보 메커니즘(Servo Mechanisms), 스핀 코팅 디스크 (Spin Coated Disks) 등 하드웨어로 정의되는 HDD와 달리 SSD는 소프트웨어에 따라 좌우됩니다. HDD의 경우 어떤 공급업체의 제품을 선택하든 일단 비트 당 밀도 및 회전 속도가 정의되면 거의 변하지 않습니다. 차이점이라 하면 소비자용 혹은 기업용 등 타깃 시장에 따라 제조 및 패키징 비용이 달라지는 정도 입니다. 1018번의 수명을 제공하는 HDD는, 유지보수 및 시설 비용이 고밀도의 저비용 드라이브 가격 보다 높아지거나 혹은 HDD를 탑재한 스토리지가 기술 및 투자의 관점에서 리프레시 될 때를 제외하고는 거의 교체될 일이 없습니다.


SSD는 HDD와 이러한 점에서 매우 다른데, 특히 이동 부품이 없으므로 보다 심플하다고 할 수 있습니다. 그러나 SSD는 성능 및 용량, 내구성을 최적화 하기 위해서는 다양한 소프트웨어 및 처리 능력이 요구 됩니다. SSD의 기본 하드웨어는 플래시 칩을 탑재한 Dual Interface Memory Module (DIMM)입니다. 나머지는 모두 소프트웨어 및 소프트웨어를 실행시키는 프로세서 그리고 버스 등으로 구성되어 있습니다. SSD는 공급업체에 따라 제품에 담을 수 있는 처리 능력 및 대역폭이 그 성능 및 내구성을 좌우합니다.


플래시 메모리는 랜덤 액세스 시 1 바이트의 읽기 및 프로그래밍이 가능합니다. 하지만 한번에 하나의 “블록”만을 제거할 수 있습니다. 블록이 지워지면 모든 비트는 1로 셋팅됩니다. 블록이 삭제되어 1로 셋팅되면, 전 블록의 모든 지점에 프로그래밍이 가능합니다. 1 비트가 0으로 셋팅된 후에는 전체 블록을 삭제해야만 리셋팅이 가능합니다.



플래시의 읽기 및 쓰기는 블록 내의 페이지에서 수행됩니다. 페이지가 업데이트 된 경우 블록 내 새로운 지점에 쓰기를 수행해야 하며, 구 페이지의 기타 포맷 블록 및 다른 공간은 사용 불가능한 것으로 표시됩니다. 레코드를 한번 쓰는 방식인 HDD 쓰기와 달리 SSD 쓰기작업은 새로운 블록에 대한 유효 페이지 수요에 따라 증폭되며, 유효하지 않은 페이지를 다시 사용하게 하기 위해 구 블록에 대한 리포맷 작업이 진행됩니다.


이러한 블록 리포맷은 하나의 정리 작업이라고 할 수 있습니다. 정리 도중에 발생하는 데이터 접근은 프로세싱을 방해합니다. 일부 SSD의 경우 블록 리포맷 과정 중 성능이 급격히 저하되는 “쓰기 절벽 (write cliff)”을 경험하기도 합니다.


플래시는 전력 없이도 전자 비트를 유지할 수 있는 비휘발성으로 인식되고 있지만 비휘발성 셀은 모든 쓰기/포맷에 따라 성능이 저하됩니다. 전자 또한 시간이 지날수록 유실되며, 페이지 읽기에 전압이 적용되는 경우 밀려 나가게 됩니다. 즉 오류 수정 코드가 속도 저하 페이지 읽기에 적용되어야 한다는 것입니다. 오류 수정 코드가 길어질수록 리프레시 및 재-쓰기되어야 하는 페이지의 빈도가 낮아지지만, 오류 수정 코드를 길게 작업하기 위해서는 보다 뛰어난 처리 능력이 요구 됩니다.


Multi-Level Cell (MLC) 플래시의 쓰기/포맷 수는 103 가량으로, 1018 인 HDD에 비하면 매우 부족한 수치입니다. SSD의 수명을 연장시키기 위해서는 25%~30%의 여유 셀 및 wear leveling기능이 요구됩니다. 수명 연장을 위한 다른 방법으로는 데이터를 쓰는 횟수를 줄이는 것입니다. 이를 위해서는 오류 수정 코드를 확장시켜 리프레시 페이지를 줄이고 및 “0”으로 된 페이지 압축, 논리-물리 맵핑을 줄임으로써 페이지 배치를 최적화해야 할 것입니다.


Hitachi Data Systems는 플래시 메모리를 위한 컨트롤러를 독자 개발하여 충분한 처리 능력과 멀티패스를 제공함으로써 정리 작업, ECC 처리, 압축, 포맷팅, 물리-논리 맵핑 등에 미치는 영향을 최소화합니다. 이를 통해 1.6 TB~3.2TB의 대용량 플래시 모듈을 구축하였고, 내년에는 6.4TB까지 확대할 계획입니다.



이러한 SSD 자체 개선 외에도 (Hitachi에서는 이 부분을 Hitachi Accelerated Flash (HAF)라고 명명합니다), HAF 모듈을 탑재해 실제 플래시 기술을 구현하는 스토리지 어레이 컨트롤러 또한 많은 개선이 이루어 졌습니다. 30여개 이상의 기본 소프트웨어를 통해 엔터프라이즈 스토리지 컨트롤러의 마이크로코드를 수정함으로써 플래시 성능에 터보 엔진을 부여했습니다. 새로운 익스프레스I/O 프로세싱 및 캐시 슬롯 할당 방법론의 변화, 마이크로코드 오버헤드 및 패스 길이 감소 등을 통해 응답 시간을 최대 65% 단축하였고, 랜덤 I/O 확장성을 4배 가량 증가시켰습니다. 이러한 개선을 바탕으로 플래시의 100만분의 1초 성능을 구현하는 한편, HDD 성능에 미치는 영향을 1000분의 1초 수준으로 최소화 하였습니다. 이러한 성능 개선 외에도, HAF와 HDD 기술을 통합함으로써 동적 티어링 등 스토리지 컨트롤러의 모든 엔터프라이즈 기능을 비용 효율적으로 사용할 수 있게 되었습니다. 스토리지 어레이 컨트롤러는 최신 VSP 및 HUS VM에 적용이 가능하며 가까운 시일 내에 HUS에도 적용할 수 있도록 할 예정입니다.


HAF가 적용된 VSP는 최근 SPC-1 벤치마크를 마쳤고, 해당 웹사이트에서 결과를 확인하실 수 있습니다.


VSP와 15K HDD의 주요 수치를 비교하면 다음과 같습니다.



비교 결과에서도 나타나듯 플래시가 스토리지 시스템의 성능을 좌우한다는 것은 명백한 사실입니다. 다만 그 동안 잘 알려지지 않았으나 중요한 사실은, Hitachi VSP 및 HUS VM 등의 스토리지 어레이에 탑재된 HAF와 같이, SSD는 소프트웨어에 의해 차별화 된다는 것입니다.