최근 스토리지 시장을 보면 과연 SSD(Solid State Disk)의 전성기라고 할만하다. 올 플래시 어레이(All Flash Array)라는 이름으로 많은 신생 벤처기업들이 나와 있고, 공격적으로 마케팅을 하고 있다. 일부는 EMC나 IBM 등 거대기업에 인수되기도 했다.
사실 컴퓨터 역사상 저장 미디어는 CPU의 성능을 따라가지 못하고 있다. CPU는 18개월마다 2배의 성능 향상이 있다’는 무어의 법칙대로 CPU는 무섭게 성능이 향상되고 있지만, 대표적인 저장 미디어인 하드디스크는 기계적인 한계로 15,000rpm의 속도에 멈춰 있다.
이런 상황에서 성능의 한계를 뛰어 넘는 대안으로 플래시 메모리(Flash Memory) 기술이 집중 조명을 받으면서 많은 SSD 업체와 관련 업체들이 속속 등장하기 시작했다. 이는 SSD 시장 활성화를 통한 플래시 메모리 공급 확대를 꾀하는 삼성전자와 같은 메모리 업체의 이해와도 맞아 떨어진다. 가격도 규모 경제를 갖춰 가기 시작하면서 하드디스크와의 격차를 줄여가고 있다.
휘발성 메모리의 단점 보강한 플래시 메모리
플래시 메모리는 1984년 도시바에서 탄생된 것으로, 기존의 휘발성 메모리의 단점을 보강해 비휘발성 메모리로 개발되었다. 플래시 메모리는 일반적으로 SLC, MLC로 나뉜다. SLC는 하나의 셀(Cell)에 1bit만 저장하는 방식이고 MLC는 2bit를 저장하는 방식이다. <그림 1>을 보면, 하나의 셀에 전자(-)를 다 채워 넣으면 0, 빼면 1이 된다. MLC는 하나의 셀에 2bit를 저장할 수 있다. <그림 1>에서 전자(-)의 양으로 bit 수를 조정하며 11, 10, 01, 00의 정보를 하나의 셀에 저장할 수 있게 한다.
<그림 1> SLC, MLC의 Bit 표현 방식
전자의 양을 조절하는 방식을 MLC의 예로 들어보자. 붉은 줄의 산화막을 사이에 두고 전자를 Control Gate의 전압을 조절하는 방식으로 끌어 당겨 bit 상태를 표현한다. <그림 2>에서 보는 것 같이 Control Gate의 (+) 볼트를 1, 5, 9, 13V와 같이 조절하면서 셀 영역에 전자의 수를 조절한다.
<그림 2> MLC의 Bit 변화 메카니즘
플래시 메모리의 경우 쓰기(Write) 횟수의 제약을 받는 것은 전자가 옮겨질 때 통로 역할을 하는 산화막의 내구성 때문이다. 전자의 이동이 잦아지면서 산화막을 통과하지 못한 전자가 생기게 되고 특정 횟수가 지나면서 산화막에 쌓이게 된 전자로 인해 더 이상 전자가 통과하지 못하게 된다. 즉, 더 이상 쓰기(Write)를 할 수 없는 상태가 되는 것이다. MLC는 SLC에 비해 동일한 셀에 이런 동작(Operation)이 2배 이상 발생하기 때문에 Write 가능 횟수가 떨어지게 된다. 또한, 이런 특성으로 인해 이동하는 전자량이 일정하지 않아 원하는 bit를 표현하지 못할 수 있다. 보통의 경우 SLC에 비해 MLC가 동일한 셀에 더 미세한 전자량 조절이 필요한데 전자량이 비정상적으로 조절될 경우 오류 bit가 발생할 가능성이 높다. 따라서 이런 오류를 수정하기 위한 ECC(Error Correcting Code: 에러정정코드. bit 전송 때 자동으로 에러를 정정하는 코드) 영역의 크기가 SLC보다 더 커지고 더 중요한 역할을 할 수밖에 없다. 일반적으로 MLC의 경우는 1KB당 24bit의 ECC 값을 갖는다. (그림 3 참조)
<그림 3> SLC보다 크고 복잡한 MLC의 ECC
플래시 메모리는 셀에 대한 수정 동작이 없다. 대신 Program이라는 쓰기 동작과 Erase라는 삭제 동작으로 이루어진다. 보통 쓰기 횟수를 얘기할 경우 P/E cycle이라 부른다. 쓰기 횟수를 줄이기 위해 수정 시에는 새로운 셀에 저장하고 삭제 시에는 바로 삭제하지 않고 삭제했다는 표시만 한다. 이런 과정이 전체 셀에 골고루 수행되도록 하는 것을 ‘웨어 레벨링’이라고 한다.
이런 과정이 반복되다 보면 데이터가 있지만 사용하지 못하는 셀이 생기게 되고 실제 쓰기 가능한 부분이 적어지는 문제가 생긴다. 그래서 이런 셀들을 다시 쓰기 가능한 공간으로 만들기 위해 백그라운드에서 가비지 컬렉션(Garbage Collection: 메모리 관리 기법 중의 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요 없게 된 영역을 해제하는 기능)을 수행하게 된다.
가비지 컬렉션이 제때 이루어지지 않거나, 쓰기 진행 중에 발생할 경우에는 성능에 영향을 주게 되어 쓰기 성능이 급격하게 떨어지는 Write Cliff(쓰기 절벽) 현상이 일어나게 된다. 따라서 SSD 혹은 Flash controller는 이런 Write Cliff가 발생하지 않도록 충분한 프로세싱 파워를 제공해 가비지 컬렉션을 신속하게 수행하고 있다.
오버 프로비저닝 영역 클수록 성능 저하 최소화
또 하나의 문제는 플래시 메모리의 지우기 방식이다. 쓰기를 할 경우 4~16KB 단위의 페이지 단위로 저장되지만, 지우기는 페이지의 모음인 블록 단위(보통 128~4,096KB)로 이루어진다. 즉, 지우려는 블록에 유효한 페이지와 가비지가 혼재될 경우 유효한 페이지를 다른 저장 공간으로 이동시키고 지워야 하는 문제가 발생한다. 이 경우 임시 영역이 필요하게 되는데 이 영역을 오버 프로비저닝 영역이라고 한다. 오버 프로비저닝 영역이 많을수록 동시에 가비지 컬렉션을 할 수 있는 용량이 증가해 성능 저하를 최소화할 수 있다. 또한 웨어 레벨링을 할 때나 ECC 체크로 인한 오류 셀 발생 시 쓰기 가능한 셀을 더 많이 확보할 수 있기 때문에 SSD의 수명을 연장시킬 수 있다.
동일한 MLC를 사용하더라도 오버 프로비저닝 영역을 많이 구성하면 내구성이 증가하기 때문에 엔터프라이즈용으로 사용하는 SSD의 경우 20%이상의 오버 프로비저닝 공간을 제공한다. 반면 일반 소비자가 사용하는 SSD의 경우는 10% 이하의 오버 프로비저닝 영역을 제공한다. 통상 메모리 용량이 256GB, 512GB, 1,024GB, 2,048GB로 표시되는데, 엔터프라이즈용의 경우는 200GB, 400GB, 800GB, 1.6TB로 용량을 표시하고 각각 숨은 영역을 오버 프로비저닝 영역으로 사용하는 것이다. 반면 소비자용 SSD의 경우는 사용 가능 용량이 그보다는 많게 표시된다. 삼성의 경우는 256GB, 512GB를 250GB, 500GB 등으로 표시하고 있다.
용량 스펙으로 도입 규모 확인
업계에서 아직 논란이 많은 용어가 있는데, eMLC가 그것이다. 필자가 인터넷에서 SSD 미디어를 제공하는 업체들을 검색해 보았지만, eMLC라는 용어를 사용하는 업체는 샌디스크(SANdisk) 한 군데뿐이었다. 기업용 스토리지에 많이 채용되는 삼성전자, 도시바, HGST 등 업체의 홈페이지에서 확인한 결과, 대부분은 서버용 혹은 enterprise SSD로 표현하고 사용 메모리를 MLC라고 표기하고 있다. 일부 스토리지 벤더에서 eMLC SSD를 사용한다고 표기를 하는데, 샌디스크가 아닌 삼성전자나 HGST, 도시바의 SSD를 사용하는 것으로 파악된다. 따라서 eMLC는 업계에서 표준으로 사용하는 용어는 아니다. 오히려 enterprise SSD라고 표현하는 것이 더 적합하다.
enterprise SSD의 사용 여부를 굳이 확인하고 싶다면 간단하게 SSD의 용량 스펙을 확인하면 된다. 200GB, 400GB, 800GB, 1.6TB의 SSD는 오버 프로비저닝 영역이 대폭 확대되어 쓰기 횟수를 늘린 enterprise SSD혹은 eMLC (Enterprise-grade MLC) SSD 라고 판단하면 되며, 256GB, 512GB, 1,024GB, 2,048GB와 같거나 이보다 약간 적은 용량이라면 일반용 혹은 cMLC (Consumer-grade MLC) SSD라고 판단하면 된다.
HDS만의 뛰어난 플래시 메모리 처리 기술 ‘HAF’
HAF(Hitachi Accelerated Flash)는 HDS(Hitachi Data Systems)만의 독특한 플래시 메모리 처리 기술이다. 기존의 스토리지 OS 기능에 Flash Acceleration 기능을 탑재해 이미 검증 받은 스토리지 기능인 프로비저닝, 티어링, 데이터 보호, 모니터링 기능 등을 그대로 사용하면서 플래시의 특성을 반영한 향상 ECC, 가비지 컬렉션, 글로벌 웨어 레벨링 뿐만 아니라 플래시 성능 가속화 기능을 포함해 플래시의 활용성을 최대로 높였다.
반면, 최근 나오는 올 플래시 어레이 제품들은 새로운 스토리지 OS를 탑재한다. 플래시 기능에 대해서는 최적화 되었을지 모르나, 프로비저닝, 티어링, 데이터 보호 등의 기능이 없거나 개발된 지 얼마 안된 OS라 불안정성이 존재한다. <그림 4>에서 보는 바와 같이 VSP G 시리즈에 탑재된 HAF는 기존 코드의 안정성 위에 플래시 기능을 가속화함으로써 안정성과 성능을 동시에 잡는 방법을 취하고 있다.
<그림 4> VSP G Family HAF와 타 AFA 벤더의 아키텍처 비교
특히, 일반 SSD를 사용할 수도 있고 최적화된 전용 Flash Module Drive(이하 FMD)를 이용해 플래시의 성능을 최적화 한다. FMD는 전용의 쿼드 코어를 내부에 내장하고 있는데 일반 범용 enterprise SSD에 비해 프로세싱 파워가 4배에 이른다. 가비지 컬렉션, ECC, 웨어 레벨링 등 플래시의 특화 기능을 스토리지 컨트롤러의 프로세싱을 사용하지 않고 모듈당 제공되는 전용 쿼드 프로세서를 통해 빠르게 처리한다. 특히, 대규모 가비지 컬렉션으로 인한 Write Cliff를 방지하는 역할을 해준다. (그림 5 참조)
<그림 5> Hitachi Accelerated Flash File Module Drive
FMD는 현재 1.6TB, 3.2TB를 출시했으며 각각 400GB, 800GB 이상의 오버 프로비저닝 영역을 보유하고 있어 쿼드코어 프로세서와 함께 엔터프라이즈급 성능과 쓰기 횟수를 보장한다. 조만간 6.4TB급의 FMD가 출시되면 플래시의 성능 개선이 많이 이루어질 것으로 예상하고 있다.
HAF 탑재한 VSP G 시리즈 올 플래시 인프라를 구축해야 하는 9가지 이유
HAF(Hitachi Accelerated Flash)를 탑재한 VSP G 시리즈 올 플래시는 미션 크리티컬한 비즈니스 환경에 가장 신뢰할 수 있는 플래시 성능과 내구성을 보장한다. 일반 범용 SSD와 올 플래시 어레이(AFA) 솔루션을 조합할 경우와 비교할 때 HAF를 탑재한 VSP G 시리즈 올 플래시의 장점은 9가지나 된다. 플래시 스토리지의 인프라 적용에 참고가 될 것이다.
가장 안정된 Hitachi 스토리지만의 하이엔드 코드를 통해 기존의 안정성, 데이터 보호, 관리 기능 등을 포기하지 않아도 된다. | |
범용 SSD가 아닌 스토리지에 최적화한 자체 제작한 SSD 모듈인 FMD는 25% 이상의 오버 프로비저닝과 확장 ECC 기능, 인라인 압축(여기서 압축되는 영역은 오버프로비저닝 영역으로 사용하여 내구성을 늘려 준다)기능을 이용해 일반 범용 enterprise MLC SSD보다 우수한 성능과 내구성을 보장한다. | |
200개 이상의 Hitachi만의 플래시 관련 자체 특허를 적용한 Flash Acceleration 소프트웨어와 전용 Enterprise SSD인 FMD의 조합을 이용해 고성능과 안정성, 그리고 내구성을 보장한다. 특히 쓰기 절벽(Write Cliff)과 같이 타 벤더의 SSD를 사용할 때 발생할 수 있는 급격한 성능 저하 현상이 없다. | |
플래시를 위해 별도의 모니터링 및 성능 튜닝 도구 설치가 필요 없다. HDS의 공통 관리 툴인 Hitachi Command Suite를 이용해 일반 스토리지와 하나의 뷰로 관리가 가능하다. | |
언제든지 Tiering 등의 무중단 마이그레이션을 이용해 SSD에서 HDD로의 이동을 혹은 반대로 구성하는 것도 보장하기 때문에 비즈니스 환경에 맞는 저장 미디어의 선택을 자유롭게 해준다. | |
다양한 애플리케이션과 상호운용성을 보장한다. 오라클, VMware, MS exchange, 오픈스택(Openstack) 등 다양한 어댑터를 제공한다. | |
유니파이드 기능을 이용해 블록뿐 아니라, 파일/오브젝트 등 다양한 데이터 서비스가 가능하다. | |
검증된 최고 성능(SPC-1 벤치마크)을 보유하고 있다. | |
|
투자를 보호해 준다. 올 플래시 구성에서 하이브리드 형태 혹은 Full HDD 구성으로 자유롭게 전환할 수 있다. 이를 통해 비싼 플래시 미디어를 적절하게 배치할 수 있으며, 더 이상 플래시급 성능이 필요하지 않은 데이터는 저가의 HDD로 전환해 불필요한 투자를 최소화할 수 있다. |
'TECH ZOOM' 카테고리의 다른 글
Hitachi Hyper Scale-out Platform (0) | 2015.10.22 |
---|---|
Hitachi UCP 1000 for VMware EVO:RAIL (0) | 2015.09.22 |
Hitachi UCP 1000 하이퍼 컨버지드의 새 지평을 열다 (0) | 2015.09.21 |