|
컴퓨터는 사면.. 아니.. 광고하면 가장 먼저 언급되는 것이 있다.. 바로 빠르다라는 말인데.. 컴퓨터에서 빠르다라는 말을 생각해서 가장 먼저 머리속에 떠오르는 컴퓨터 부품이 있다면 그것은 아마도 CPU일 것이다. 뭐 컴퓨터의 가장 핵심인 부분이고 모든 연산처리를 담당하는 부분이기에 너무 당연한 생각일 것이다. 그리고 최근에는 CPU와 함께 그래픽카드도 빠르다 라는 말을 생각하게 한다.
그럼 이 두가지를 제외하고 가장 대중적으로 알려진 HDD를 생각하면.. 어떤 생각이 날까?.. 아마 많다.. 아니 크다 라는 말이 생각날 것인데.. 그만큼 HDD는 지금까지 컴퓨터의 주변 부품으로써 단순히 속도와는 상관없는 그런 부품으로 인식되어 왔다고 말할 수 있다.
그러나 HDD에도 많은 관심을 가졌던 유저분들이라면 누구나 알고 있듯이 CPU나 그래픽카드의 속도가 올라가듯 HDD도 속도라는 부분에서 계속적인 발전이 있어 왔다. 다만.. CPU나 그래픽카드들과 같이.. 눈에 확 보일정도의 큰 변화가 자주 있어 오지는 못하고 있기에 아직도 HDD하면 용량을 먼저 생각하는 것이다.
물론 HDD의 성능.. 즉 속도를 가장 쉽게 빠르게 할 수 있는 회전 속도를 향상 시킨 제품들이 등장하기는 했지만 일반 데스크탑 환경에서 10.000 RPM의 그런 제품은 고용량과 저발열을 위해 그리 좋은 선택이 아니라고 할 수 있다. 따라서 대부분의 제조사들은 아직도 7200 RPM의 제품으로 고용량의 제품에 목표를 두고 있는 상태이다.
하지만 이런 물리적인 부분의 변화와 달리 인터페이스의 변화와 그에 따른 몇가지 신기술의 적용으로 데이터 전송의 최적화를 통해 속도를 더욱 개선하려는 노력은 모든 제조사에서 동일하게 진행되고 있다. 그리고 이중 한부분이 SerialATA를 통한 새로운 기능인 NCQ 기능이다.
NCQ란
NCQ 기능은 SCSI에서 사용되는 태그지정 커맨드 큐잉인 TCQ 기능이 데스크탑 환경에 적용된 것으로 TCQ에 비해 기능이 축소되어 NCQ라는 이름으로 SerialATA II 사양에 추가된 것이다.
이 기능은 기존의 기존 데이터 탐색 및 저장 방식의 비효율적인 운영 방식을 개선한 것으로 기존까지는 데이터를 처리하기 위해 HDD에 데이터를 저장하거나 검색할 때는 해당 명령의 순서대로 데이터를 검색하거나 저장하는 방식으로 진행되었다.
따라서 원형으로 회전하면서 데이터를 저장 검색하는 HDD의 경우 여러개의 데이터를 처리하기 위해 불필요한 회전을 가지게 되어 지연값이 증가하는 문제가 있었다. 좀더 쉽게 설명해서 1~100까지의 주소값을 가진 데이터가 플래터에 저장되어 있으며 1번 명령은 10번 주소의 데이터를 읽어내는 것이고 2번 명령은 100번 주소의 데이터를 읽어내는 것이고 3번 명령은 50번 주소에 데이터를 저장하는 것이라고 가정하면 1,2,3번 순으로 명령을 처리하다보면 해당 명령을 처리하기 위해 읽기/쓰기 헤드는 총 두 번 회전해야 한다.
그러므로 10번 주소, 50번 주소, 100번 주소의 순으로 처리하는 것에 비해 한번더 많은 회전을 해야하기 때문에 명령순으로 데이터를 처리하는 기존 방식은 불필요한 회전 지연이 증가되게 되어 있었다.
하지만 NCQ는 이 문제를 해결 하기 위해 명령을 1번 2번 3번 순으로 처리하는 것이 아니라 1번 3번 2번의 순서로 재배열하여 처리하도록 자체적인 알고리즘을 통해 처리하게 되어 있다. 따라서 불필요한 회전 지연값을 최소화 함으로써 HDD의 물리적인 수명의 한계도 증가시키고 데이터 처리를 더욱 빠르게 해주게 된다.

위의 이미지는 NCQ 및 SerialATA II를 지원하는 NForce4 Ultra 및 SLi 칩셋의 기술문서에서 NCQ를 설명하기 위해 포함한 간단한 동작 원리 이미지 이다. 위의 이미지는 필자가 설명한 부분을 아주 쉽게 설명해주고 있는데 NCQ를 사용하지 않으면 1,2,3,4의 순서로 데이터의 읽기 또는 쓰기를 처리해서 두 번의 회전을 해야하지만 NCQ를 통해 명령 순서를 재배열하면 1,3,2,4의 순서로 한번의 회전만으로 명령 처리가 끝나게 된다.
이처럼 NCQ는 비효율적인 기존 명령 처리 방식을 개선함으로써 성능 향상을 가져올수 있는 중요한 기능으로 볼수가 있는데 실제 NCQ 기능을 적용함으로써 어느정도의 성능향상이 있는지 다음 페이지에서 간단하게 알아보도록 하겠다.
|