트렌드

SSD 성능 논란, 속도 저하는 필연? – 1부

2009.05.16

 

mbp-ssd0

인텔(Intel)의 솔리드 스테이트 디스크(SSD) 드라이브가 심각한 성능저하를 일으킬 수 있는 단편화를 겪을 수 있다는 최근의 발표로 인해 모든 SSD가 시간 경과에 따라 사용하면서 속도가 느려지는지에 대해 질문에 제기되고 있다.

이 질문에 대한 답은 ‘그렇다’가 되겠다. 모든 드라이브 제조사가 그 점을 알고 있다. 그러면서도 속도가 얼마나 오래 유지되는지, 또는 어디까지 저하되는지 등에 대한 정보는 아직 제대로 알려지지 않은 상태다.

확신할 수 있는 점 한 가지는 방금 막 구입한 새로운 SSD는 처음 포장을 풀었을 때와 동일한 수준으로 계속 그 성능을 유지할 가능성은 없다는 사실이다. 시장에서 SSD의 급속한 전파를 이끌었던 것이 그 속도임을 감안할 때 이 점을 알아두는 것이 중요하다. “빈 SSD는 쓴 적이 있는 것보다 성능이 더 좋다. 다 아는 사실”이라고 전자장치 공학공동 위원회(JEDEC) SSD JC-64.8 하부위원회 공동회장 알빈 콕스는 말했다. 

이 위원회는 올해 드라이브 내구성 측정을 위한 표준을 발표할 계획을 세워두고 있는데, 씨게이트의 상임 스탭 엔지니어이기도 한 콕스는 양질의 SSD라면 적어도 5년에서 10년은 너끈히 버틸 수 있어야 할 것이라 말했다. 

희소식이라면 ‘솔리드 스테이트 스토리지 이니셔티브’의 소비자 SSD 시장 개발 테스크포스의 회장 에덴 킴이 말한 부분이다. 

그는 초기의 성능 저하 이후 SSD는 안정적인 모습을 보이는 경향이 있다고 언급했다. 또 SSD가 시간이 경과하면서 성능이 떨어진다고 해도 SSD는 기존의 하드드라이브보다 훨씬 더 빠른데, 왜냐하면 이것이 초 당 이뤄지는 하드드라이브 입출력 작업의 수보다 2배에서 5배로 성능을 발휘할 수 있기 때문이라고 그는 말했다. 

표준과 스팩, 곧 개봉박두

씨게이트(Seagate)와 마이크론(Micron)이 공동의장을 맡고 있는 JEDEC 하부위원회는 2008년 5월 SSD 시장의 표준개발 필요성에 대처하기 위해 처음으로 모임을 주최했다. JEDEC는 드라이브의 표준 또는 사양을 발표하는데 역점을 두는 여러 단체 중 하나다. 

이 밖에 IDEMA(국제 디스크 드라이브 장비 및 재질 연합) 및 대만에 본부를 둔 SSD 연합과 함께, 스토리지 네트워킹 업계 협회(SNIA)의 솔리드 스테이트 스토리지 이니셔티브도 SSD 패킹에서 사용할 수 있는 성능규격을 늦어도 3분기까지 발표한다는 계획이다. 

SNIA의 사양은 사용되고 있는 어플리케이션에 따라 새로운 드라이브 성능 및 시간 경과에 따른 저하를 측정하기 위해 표준 벤치마크 방법을 규정할 것으로 전해졌다. 

솔리드 스테이트 스토리지 이니셔티브의 회장 필 밀즈는 현재 마케팅을 위해 대부분의 제조업체가 사용하는 이 성능 수치는 그것의 안정된 상태나 평균 읽기 속도가 아닌 드라이브의 “최대전송 속도”를 나타낸다고 설명했다. 

그는 “그러니 포장을 바로 푼 상태와 지속적인 사용 간의 큰 차이가 이미 있는 셈”이라면서 “또 그런 후 최대전송 모드와 안정된 상태에서 제조사마다 성능면에서 큰 차이가 있다”고 지적했다. 

구동부가 없는 SSD지만 여전히 고장 가능성은 존재했다. 비록 드물게 발생하긴 하지만 말이다. 이 중 빈도가 높은 것은  펌웨어 버그가 컴퓨터의 운영체제와 함께 입출력 작업에 영향을 미칠 수 있는 칩 레벨이나 컨트롤부에서의 고장이다. 

예컨대 지난 달 OCZ 테크놀러지에서 120GB SSD를 구입했던 컴퓨터월드의 한 편집자는 이 드라이브가 사용한지 고작 2주만에 고장 나게 된 것을 발견했다. 그는 지금 대체 제품을 사용하고 있으며 데이터 백업을 자주 하고 있다. 

성능이 저하되는 이유는?

사용자들은 보통 SSD 드라이브가 처음에는 제조사가 말한 최대 입출력 성능에서 실행되지만, 곧 떨어지기 시작한다는 점을 알아챈다. 왜냐하면 하드디스크 드라이브와는 달리 SSD에 대한 모든 쓰기 작업은 한 단계가 아닌 두 단계, 즉 지우기에 이어 쓰기를 필요로 하기 때문이다. 

SSD가 새 것일 때 그 내부의 NAND 플래시 메모리는 이미 지워져 있는 상태로 말하자면, 사용자는 깨끗한 슬레이트로 시작하는 것이다. 그러나 데이터가 드라이브에 쓰여지면서 컨트롤러의 데이트 관리 알고리즘은 마모 균등화로 알려진 작업에서 플래시 메모리 주위의 그 데이터를 움직이기 시작한다. 마모 균등화가 드라이브의 수명을 연장시키는 역할도 하지만, 이것이 결국 성능 문제로 이어질 수 있다. 

SSD 성능과 내구성은 관계가 있다. 일반적으로 드라이브의 성능이 부실할수록, 그 수명은 짧아진다. 그래서 SSD의 관리 오버헤드가 드라이브에 대한 쓰기 및 지우기 횟수가 얼마나 발생하는가에 관계되는 것이다. 쓰기/지우기 주기가 많을수록 드라이브의 수명을 짧아진다. 

소비자급 멀티레벨셀(MLC)메모리는 2,000번에서 1만 번 정도 기록될 수 있으며 기업용 싱글레벨셀(SLC)메모리는 이보다 10배까지 지속할 수 있다. 

두 기술 간의 차이를 간단히 언급하자면, SLC 는 1비트의 데이트가 각 플래시 메모리 셀에 쓰여지는 것을 의미하고 MLC는 2비트 혹은 그 이상의 비트가 셀에 쓰여질 수 있도록 허용한다. MLC 드라이브는 SLC 드라이브보다 훨씬 저렴하다. 

제조사에서는 SSD의 플래시 메모리의 지속 방법을 여러 가지 방식으로 조절한다. 이들이 사용하는 방법은 대부분 DRAM 캐시를 추가함으로써 데이터 쓰기가 쓰기/지우기 주기의 횟수를 줄이도록 버퍼링하거나 또는 효율성에 맞는 쓰기를 결합하기 위해 드라이브의 프로세서나 컨트롤러에 위치한 특수한 펌웨어를 사용하는 것이다. 

리서치 회사 컨버전스 세미컨덕터즈의 애널리스트 밥 메리트에 따르면 SSD 수명의 또 다른 요소는 추가적 메모리 셀의 가용성 여부이고 그럴 경우, 얼마나 많은가와 관계된다. 

일부 제조사는 저장 용량을 추가로 제공함으로써 플래시 블록이 마모될 때 추가적 블록을 사용할 수 있게 한다. 예컨대 120GB 드라이브가 실제로는 140GB의 용량을 담고 있을 수 있다. 이 추가적인 20GB는 그것이 소요될 때까지 여전히 사용되지 않고 남게 된다. 

인텔의 소비자급 X25-M SSD에 관계된 성능 문제는 그것의 마모 균등화 알고리즘과 관계된 것이다.   

기본적으로 마모 균등화 알고리즘은 플래시 메모리에 걸쳐 데이터를 더욱 균등하게 분배하는데 사용되고 그럼으로써 한 부분도 다른 부분보다 더 빠르게 마모되지 않도록 함으로써 전체 드라이브의 수명을 연장하는 역할을 한다. SSD의 마모 균등화 작업에 있는 컨트롤러는 그것이 한 부분에서 다른 부분으로 재배치되면서 데이터가 드라이브의 어디에 적히는지를 기록한다. 

리서치 회사 인스탯 사의 최고 기술 전략가인 짐 맥그리거는 “이를 달성하려면, 흔하게 사용되는 데이터를 다른 위치로 이동해야 하고, 이는 자연스럽게 요구되는 데이트 블록의 크기에 따라 약간의 데이터 단편화를 초래한다”라고 설명했다. 

인텔의 X25-M 문제

인텔의 사례에서 외국계 벤치마크 싸이트인 피씨 퍼스펙티브의 리뷰어들은 인텔의 고급 마모균등화 및 기록 결합 알고리즘을 조사해왔다. 이들은 수개월 동안 다수의 PC와 어플리케이션을 사용하면서 X25-M SSD를 테스트했다. 

그 결과 쓰기 속도는 30MB/sec까지 떨어졌다. 새로운 것이었을 때 80MB/sec였다. 읽기 속도는 일부 큰 블록 쓰기의 경우 250MB/sec에서 60MB/sec로 떨어졌다. 피씨 퍼스펙티브는 “언제나 ‘사용했던’  X25-M이 ‘새’ 것보다 그 성능이 더 열악했다”라고 말했다. 

인텔은 드라이브의 성능 문제는 펌웨어의 버그와도 관련 있는 것이다. 이는 인텔이 발표한 업그레이드 펌웨어로 알 수 있다. 피씨 퍼스펙티브는 이 드라이브를 다시 테스트했고 그 문제가 실제로 시정되었음을 알게 됐다고 밝혔다. 

SSD 성능과 내구성 저하에 영향을 미친 또 하나의 요인은 모든 NAND 플래시 메모리에 고유한 요소, 즉 쓰기 증폭과 관계된다. NAND 플래시 메모리로 데이터는 그것이 하드디스크 드라이브에 그러한 것처럼 블록에 놓이게 된다. 

그러나 기존의 회전형 디스크와는 달리 SSD의 블록 크기는 고정된다. 적은 4K 청크의 데이터 쓰기라도 사용되고 있는 NAND 플래시 메모리에 따라 512K 블록 공간을 차지할 수 있다. 이 드라이브에 있는 어떤 데이터 부분이라도 그것이 변경될 때 새로운 데이터의 수용을 대비하고자 블록은 삭제 여부에 대해 먼저 표시되어야 한다. 

NAND 블록 크기를 윈도우의 쓰기 요청 방식과 비교할 때, 부적합한 면이 있다. 왜냐하면 대부분의 윈도우 쓰기는 용량이 적기 때문이다. (맥 OS X는 이 문제에 영향을 덜 받는데, 그것의 쓰기 요청이 더 적기 때문이다.) 

각각의 새로운 쓰기에 요구되는 공간의 정도는 다를 수 있지만, 인텔의 연구개발 연구실의 스토리지 아키텍처 이사인 크누트 그림스러더는 많은 소비자 SSD의 쓰기 증폭이 15에서 20 사이라고 말했다. 이는 드라이브에 쓰여진 모든 1MB 데이터의 경우, 15MB에서 20MB의 공간이 실제로 필요하다는 의미다.

원문보기 : http://www.idg.co.kr/newscenter/common/newCommonView.do?newsId=55925

jay_park@idg.co.kr

세계적인 IT 미디어 그룹 IDG에서 제공하는 뉴스입니다. 블로터닷넷과 IDG코리아(www.idg.co.kr)가 제휴를 맺고 블로터닷넷 독자여러분을 찾아갑니다. IDG가 제공하는 컨텐츠는 IDG의 저작권 정책에 따릅니다.