NCQ

위키백과, 우리 모두의 백과사전.

네 개의 데이터 요청에 대한 헤더의 움직임. NCQ는 헤드 움직임을 최소화하기 위해 이동 순서를 재조정한다.

NCQ(Native Command Queuing)은 특정 상황에서 SATA 장치의 성능을 향상시키기 위해 도입된 기술로, 입출력(I/O) 요청을 우선 큐에 보관한 다음, 전체 헤드의 움직임을 최소화할 수 있도록 요청의 순서를 재배열한 다음 실행하는 방식이다. 이 방식은 I/O가 많이 일어나는 서버 등의 장비에 주로 사용된다.

역사[편집]

NCQ는 PATASCSI에 사용되던 TCQ에서 유래한다.

원리[편집]

PATA TCQ와 크게 다르지는 않다. 골자는 큐에 I/O 요청을 보관하고 전체 헤드의 움직임을 최소화할 수 있는 최적의 경로로 재배열해서 실행하는 것이다. 최대 큐 길이는 32 명령어이다 (실제 이용되는 것은 31개)[1][2].

효과[편집]

헤드의 움직임이 줄어들게 되므로 물리적 마모가 줄어들고 내구성이 좋아져 MTBF가 길어지는 효과가 있다.

NCQ는 많은 I/O 수의 부하에서는 성능에 상당히 긍정적인 효과가 있다.[3][4] 그러나 순수 대역폭에 손해를 보며 개인용 컴퓨터 수준의 낮은 I/O 수의 부하에서는 성능이 떨어지는 경우가 많아서 기본적으로 사용하지 않는 경우가 많다.

참조[편집]

  1. “PDF white paper on NCQ from Intel and Seagate” (PDF). 2010년 11월 29일에 원본 문서 (PDF)에서 보존된 문서. 2010년 5월 18일에 확인함. 
  2. “Volume 1 of the final draft of the ATA-7 standard” (PDF). 2012년 4월 9일에 원본 문서 (PDF)에서 보존된 문서. 2010년 5월 18일에 확인함. 
  3. “AHCI vs IDE – Benchmark & Advantage” (영어). 2010년 5월 14일에 확인함. 
  4. “Mission "Defragmentation". Part 2: PerfectDisk” (영어). 2008년 7월 25일에 원본 문서에서 보존된 문서. 2010년 5월 14일에 확인함.