2. HDD와 SSD의 읽기, 쓰기 원리와 속도 비교

HDD와 SSD의 가장 큰 차이는 바로 데이터의 읽기, 쓰기 속도이다. 컴퓨터에서의 데이터의 처리 및 저장은 모두 0과 1을 이용하는 이진법 원리로 작동된다. 이 0과 1로 이루어진 데이터들이 반도체의 AND, OR, NOT 등의 논리 회로들을 지나면서 연산이 이루어지게 되고 이 데이터들을 필요한 경우 역시 0과 1의 형태로 저장하게 된다.

지금 알아볼 HDD와 SSD의 읽기, 쓰기 속도 차이를 비교할 때 특히 주목해야 할 점은 바로 작은 파일들을 처리할 때의 속도이다. 작은 파일보다 큰 파일들을 처리하는 속도가 더 중요하다고 생각할 수도 있지만 사실은 작은 파일들을 처리하는 속도가 전반적인 시스템 속도를 결정짓는다고 할 수 있다.

Fig. 2-1은 윈도우 7 운영 체제가 설치되어 있는 드라이브의 사용량과 파일 수이다. 전체 사용량을 파일 수로 나누면 평균적인 파일의 크기를 얻을 수 있을 것이다. 전체 사용량은 약 10507384KB이고 파일 수는 65983개이다. 평균 파일 크기를 계산해보면 159KB라는 생각보다 훨씬 작은 값을 얻을 수 있다. 이는 일반적인 MP3 파일과 사진 파일들의 크기가 3MB 내외라는 것을 고려하면 매우 작은 값이다. 여기에 프로그램의 실행 파일들의 크기가 꽤 큰 것을 고려하면 전반적인 실제 시스템 파일의 크기는 매우 작은 것을 알 수 있다. 이제 왜 작은 파일들을 처리하는 속도가 전반적인 시스템 속도를 결정짓는지 이해할 수 있을 것이다.

Fig. 2-1 운영체제가 설치되어 있는 드라이브 사용량과 파일 수

HDD의 구동 원리에 대해 이해하기 위해서는 먼저 HDD의 주요 부품에 대해 알아야 한다. HDD는 플래터와 헤드, 스핀들, 헤드 구동 장치, 카트리지 등 많은 부품들로 이루어져 있지만 여기서는 HDD의 데이터 기록 원리와 직접적으로 관련이 있는 플래터와 헤드에 대해서만 다루기로 한다.

Fig. 2-2 HDD의 내부구조

플래터는 데이터가 실제로 기록되는 얇은 판으로 플래터 자체의 재질로 사용되는 알루미늄이나 유리가 자성을 갖지 못하기 때문에 표면에 자성을 가질 수 있는 산화물 층 또는 합금을 도금한다. HDD는 플래터가 회전하며 헤드가 플래터에 자기 데이터를 읽고 쓰는 원리로 구동되는데 플래터가 한 바퀴 돌 때마다 헤드가 일정량의 데이터 처리를 한다. 그러므로 플래터의 회전 속도는 HDD의 성능에 큰 영향을 미치는데 발열과 소음 문제 때문에 일반적인 HDD의 회전 속도는 7200rpm 이하로 작동한다. 그리고 플래터에서 데이터의 기록 단위를 섹터라고 하는데 헤드는 플래터에 데이터를 기록하는 장치로 플래터와 보이지 않을 정도의 간격을 두고 떨어져 있으며 플래터의 읽기, 쓰기를 원하는 섹터 위로 이동할 수 있다.

Fig. 2-3 HDD에서 헤드의 끝 부분이 읽기, 쓰기를 원하는 섹터 위의 위치한 모습[1]

Fig. 2-3은 헤드의 끝 부분이 읽기, 쓰기를 원하는 섹터 위에 위치한 모습을 나타내는 모식도이다. HDD의 쓰기 원리는 전자석의 원리를 이용한 것이다. Controller에서 쓰기 작업을 할 0과 1로 이루어진 디지털 신호를 전송하면 이것이 Fig. 2-3의 코일에 흐르는 전류의 방향을 결정하게 된다. 그리고 코일에 흐르는 전류의 방향이 결정되면 전자석의 원리에 의해 코어를 중심으로 하는 일정한 방향의 자기장이 형성되게 되고 이 자기의 방향이 섹터에 저장된다.

읽기는 쓰기의 원리를 거꾸로 생각하면 쉽다. 헤드가 읽기를 원하는 데이터가 저장되어 있는 섹터 위로 이동하면 섹터에는 이미 데이터가 저장되어 자기를 띄고 있으므로 코일 내부의 자기장의 변화가 생기게 된다. 따라서 전자기 유도의 원리에 의해 코일에 전류가 흐르게 되어 데이터를 읽게 된다. 즉 기록되어 있었던 데이터의 자기의 방향에 따라 코일에 유도되는 전류의 방향이 결정되고 이를 통해 데이터를 읽는 것이다.

이처럼 HDD는 기계적인 원리로 작동하기 때문에 전반적인 데이터 처리 속도가 느리다.  헤드가 데이터를 처리할 섹터 위로 이동해야 하기 때문에 10ms가 넘는 Access Time이 발생하고 데이터가 저장되는 플래터의 회전 속도가 일반적으로 7200rpm을 넘지 못하는 등 데이터 처리 속도가 느려질 수밖에 없다. 기본적으로 전자석 및 전자기 유도의 원리에 의해 작동한다는 점도 다른 전기적 원리로 작동하는 부품들에 비해 성능이 떨어질 수 밖에 없는 이유이다.

Fig. 2-4 SDD의 구성요소

SSD의 읽기, 쓰기 원리는 HDD 의 그것에 비하면 훨씬 간단하다. 기계적인 방법은 전혀 없이 전기적으로만 구동된다. SSD는 크게 Nand Flash Memory와 Controller로 구성되어 있다. 여러 개의 Nand Flash Memory가 하나의 SSD를 이루고 있고 Controller가 이 Nand Flash Memory들을 관리하는 방식으로 작동한다.

Fig. 2-6 Flash Memory의 Floating Gated에서의 읽기, 쓰기 작동 원리[2]

Flash Memory는 Floating Gate에 Control Gate를 이용해 전자를 주입시켜 전자가 없을 경우에는 1, 전자가 있을 경우에는 0이 되는 원리로 작동한다. 즉 Floating Gate의 전하량의 차이를 두어 데이터를 저장하는 것이다. 이때 Floating Gate의 데이터는 반영구적으로 보존된다. 이처럼 Flash Memory는 HDD와 같이 물리적으로 데이터를 처리할 섹터에 접근하는 과정이 불필요하기 없기 때문에 Access Time이 0.1ms 미만으로 매우 짧다.

Flash Memory는 또다시 Nor Flash Memory와 Nand Flash Memory로 나누어진다. Nor은 Not Or의 약자로 앞에서 살펴보았던 Floating Gate가 병렬로 연결되어 있고 Nand는 Not And의 약자로 Floating Gate가 직렬로 연결되어 있는 구조다. Fig. 2-6과 Fig. 2-7은 각각 Nor Flash Memory와 Nand Flash Memory의 모식도이다.

Fig. 2-6 Nor Flash Memory[3]

Fig. 2-7 Nand Flash Memory[4]

일반적으로 생각하면 Nor Flash Memory는 어떤 Floating Gate에나 직접 접근할 수 있지만 Nand Flash Memory는 어떤 Floating Gate에 접근하기 위해서는 다른 Floating Gate들을 거쳐야 하기 때문에 Nor Flash Memory가 Nand Flash Memory보다 빠르다고 할 수 있다. 이와 같은 이유로 각각의 Floating Gate에서의 읽기 작업은 Nor Flash Memory가 빠르다. 하지만 어떤 규모 이상의 데이터, 즉 Nand Flash Memory에서 한 단위 회로 이상의 데이터를 읽는 경우 Nor Flash Memory와 Nand Flash Memory 사이의 큰 차이가 없게 된다. 쓰기 작업의 경우 상황이 조금 다르다. 쓰기 작업의 특성상 한 번의 작업에서 한 단위만큼, 즉 Nand Flash Memory의 단위 회로 전체의 데이터를 처리하기 때문에 쓰기 작업에서는 Nand Flash Memory가 Nor Flash Memory에 비해 빠르다. 또한 Nand Flash Memory의 경우 직렬 회로로 구조가 비교적 단순해 집적도를 높이기 쉽기 때문에 대용량화와 보급화가 쉽다. 즉 읽기 성능은 조금 떨어지지만 쓰기 성능이 우수하고 무엇보다도 생산 단가가 저렴한  Nand Flash Memory가 Nor Flash Memory보다 많이 사용되고 있으며 SSD에도 주로 Nand Flash Memory가 사용되고 있다.

Nand Flash Memory는 또 SLC 방식과 MLC 방식으로 나누어진다. SLC는 처음 설명한 것과 같이 하나의 Floating Gate에 0과 1의 단계를 두어 1Bit의 데이터만을 저장하는 방식이다. MLC의 경우 하나의 Floating Gate에 0과 1사이의 더 많은 단계를 두어 1Bit 이상의 데이터를 저장하는 방식이다. SLC의 경우가 하나의 Floating Gate에서의 데이터 구별이 명확하기 때문에 속도와 신뢰성이 MLC 보다 우수하지만 대용량화가 힘들기 때문에 가격이 비싸다. 때문에 최근 Controller의 발전으로 MLC의 단점을 많이 보완할 수 있기 때문에 최근 출시되는 SSD는 보통 MLC 방식의 Nand Flash Memory를 사용하고 있다.

이제 Controller에 대해 알아보자. 앞에서 말했던 Nand Flash Memory의 읽기, 쓰기 속도는 보통 20MB 정도로 HDD보다 낮다. USB Memory의 속도가 느린 것을 생각하면 알 수 있다. 하지만 SSD는 여러 개의 Nand Flash Memory로 이루어져 있고 Controller가 하나의 데이터도 여러 개의 Nand Flash Memory에 나뉘어 저장하는 다중 채널 분산 기술을 사용하므로 SSD의 실제 성능을 극대화시켜준다. 실제로 SSD의 실제 성능은 하나의 Nand Flash Memory의 10배가 넘는다. 그렇기 때문에, Controller의 성능은 SSD의 성능의 큰 영향을 미친다. 최근 이 Controller의 기술이 급속도로 발전하면서 SSD의 성능의 발전을 이끌고 있다.

결론적으로 읽기 쓰기의 작동 원리적인 측면으로 봤을 때 HDD는 전기적 신호를 통해 섹터 위에 자기를 인식하거나 기록하는 상대적으로 느린 과정이 필요하고 읽기, 쓰기 작업을 할 섹터로 헤드가 이동하기까지 걸리는 Access Time이 있으며 플래터가 한 바퀴 돌 때마다 일정량의 데이터밖에 처리할 수 없으므로 읽기, 쓰기 속도가 비교적 느리다. 하지만 SSD는 Nand Flash Memory에 단순한 전기적 원리로 데이터를 저장하기 때문에 Access Time이 매우 짧고 Controller가 데이터를 다중 채널 분산 기술로 처리해 읽기, 쓰기 속도를 극대화시켜주기 때문에 성능이 매우 우수하다.

Fig. 2-8 HDD의 Access Time

Fig. 2-9 SSD의 Access Time

실제로 HDD와 SSD의 Access Time을 비교해 보았다. 측정 프로그램으로는 저장장치 벤치마크 프로그램인 HD Tune을 사용했다. Fig. 2-8는 HDD의 Access Time을 측정한 것이고 Fig. 2-9은 SSD의 Access Time을 측정한 것이다. 데이터가 저장돼 있는 섹터에 접근하는 HDD의 Access Time이 SSD에 비해 훨씬 길다. 특히 512B와 4KB, 64KB 등 작은 크기의 파일의 Access Time이 큰 차이가 난다. 그래프를 보면 차이를 더 쉽게 이해할 수 있다. 즉 작은 파일들에 접근하는 데 소요되는 Access Time에 의해 전반적인 시스템 속도가 결정되는 것을 감안했을 때 SSD가 훨씬 우수한 것을 볼 수 있다.

Fig. 2-10 HDD의 읽기 쓰기 속도

Fig. 2-11 SSD의 읽기 쓰기 속도

이번에는 HDD와 SSD의 실제 읽기, 쓰기 성능을 비교해 보았다. 역시 저장 장치 성능 벤치마크 프로그램인 CrytalDiskMark로 내 컴퓨터의 HDD와 SSD의 성능을 벤치마크 해 보았다. Fig. 2-10은 HDD, Fig. 그림 2-11은 SSD의 경우다. 전체적인 속도가 큰 차이가 났으며 역시 512KB와 4KB 등 작은 파일에서는 SSD가 HDD보다 훨씬 빠른 속도를 보여 주었다. 다시 한 번 말하지만 시스템의 실제적인 속도는 작은 파일들을 처리하는 데에 결정되기 때문에 SSD가 HDD보다 훨씬 우수함을 알 수 있다.

신고

+ Recent posts