직렬 ATA

구조

직렬 ATA의 구조에서 물리 계층을 보면, 데이터 연결은 두 쌍의 한 방향의 신호 선들로 이루어진다. 이 선 위에서, 직렬 ATA는 낮은 전압 차분 신호(LVDS) 방식을 사용한다. LVDS는 병렬 ATA에 비해 더 빠른 전송을 가능케 한다. 바이트 데이터는 8B/10B 인코딩을 이용하여 인코딩되고 전송된다. 8B/10B 인코딩은 이더넷, 파이버 채널, PCI 익스프레스 등에서 이용되는 방식이다. 일반적으로 병렬에서 직렬로 인코딩을 하면 효율이 80%정도 나온다. 다만, 이 인코딩 방식은 비트와 문자열 경계를 구분하는 정보를 함께 가지고 있으므로, 클럭 신호가 따로 필요 없다. 병렬 방식이 아닌 직렬 방식을 사용하면, 미래에 성능이 개선된 하드 디스크가 나오면 속도를 뒷받침할 수 있다. 또한, 고속의 병렬 인터페이스에 견주어 가격을 낮출 수 있다.
SATA 물리 계층 위에는 링크 계층 및 트랜스포트 계층이 존재한다. 이 상위 계층들은 설정 및 데이터 오퍼레이션들 순차적인 패킷으로 변환한다. 이 패킷은 SATA이 연결되면 전송된다. 응용 계층에서는 SATA는 ATA의 동작 모델을 그대로 이용하였다. 작업 레지스터 파일(읽기/쓰기 PIO 및 DMA를 요청하기 위해 쓰임)도 같은데, 모든 SATA 호스트 구현은 이것을 반드시 구현해야 한다. 각 제조사별로는 옵션으로 사용할 수 있게 해 두었다. (이를테면, 시뮬레이티드 RAID), 하지만 이러한 기능들을 이용하려면 특별한 장치 드라이버를 써야 한다.
사용자의 관점에서 주요한 SATA와 PATA의 차이점이 한 가지 더 있다. 호스트와 드라이브 사이가 1:1로 연결된다는 것이다. 각 SATA 장치는 SATA 호스트 포트와 1:1로 연결된다. 다른 장치들과 케이블이나 대역을 같이 쓰지 않으며 별도의점퍼설정이 필요없으며 저장장치는 노트북과 데스크탑과 단자가 같고 odd는 단자의 크기에서 차이나지만 호환이가능하다.
많은 제조사들은 직렬 ATA를 직렬 부착 SCSI(Serial Attached SCSI)와 결합하여 구현한 바 있다. 이 프로토콜은 커넥터를 같이 쓴다. 입문 수준의 초보 사용자들은 SATA 저장 장치를 쓰고, 나중에 높은 성능을 바라는 사용자들은 SAS로 업그레이드하는 길이 열려 있다.

SATA 1.5 Gbit/s(SATA1)

SATA 1.5 Gbit/s는 1세대 SATA 인터페이스다. 사타 원(SATA I), 혹은 SATA/150이라고 말하기도 한다. 1 초에 약 1.5 기가비트의 속도로 통신할 수 있다. 8B10B 코딩의 오버헤드를 감안하면, 부호화가 되지 않은 상태의 전송률은 1 초에 1.2 기가비트(초당 150 메가바이트)다. 실제로는 SATA/150이나 PATA/133이나 이론적인 버스트-스루풋(burst throughput)은 비슷비슷하다. 하지만, 최근의 SATA 장치들은 NCQ 같은 기능을 제공하여 다중 작업 환경에서 SATA의 성능을 조금 더 높여주고 있다.

SATA 3.0 Gbit/s(SATA2)

SATA/150이 업계에 도입된 바로 다음, SATA/150에서 문제점이 몇 가지 부각되었다. 먼저, 응용 프로그램 수준에서 SATA의 구동 모델은 PATA의 구동 모델을 가상으로 구현하는 방식이었기 때문에, 디스크가 한번에 한가지 요청(읽기/쓰기 등의 동작)만 처리할 수 있었다. 이에 반해, SCSI 디스크는 여러 요청을 받아서 큐(queue)에 넣은 후, 디스크 드라이브가 응답 시간을 최적화하기 위해 요청을 다시 배열할 수 있었다. NCQ에 의해 SATA에도 이러한 기능이 도입되었다. NCQ는 부가 기능으로 SATA 1.5 Gbit/s 와 SATA 3.0 Gbit/s 두 군데에서 쓸 수 있다.
1세대 직렬 ATA 장치들은 이전의 병렬 ATA/133 장치에 비해 조금 더 빠를 뿐이었다. 그리하여 데이터 스루풋을 150 MB/s 에서 300 MB/s 로 늘린, 3 Gbit/s 신호 속도의 물리 계층이 도입되었다. 현재 데스크톱에서 쓸 수 있는 가장 빠른 하드 디스크만이 단지 SATA/150 링크를 간신히 꽉 채워서 사용하지만, 앞으로는 SATA/300 링크를 꽉 채워서 쓸 수 있는 디스크 드라이브 스루풋이 필요할 것이고, SATA/300이 그것을 만족시켜 줄 것으로 예상한다. 이것은 1.5 Gbits/s용 SATA 데이터 케이블이, 현재 3.0 Gbit/s 드라이브에 연결되어 지속/버스트 데이터 전송에 대해 속도 저하 없이 쓰이고 있는 까닭이기도 하다.
SATA/300과 SATA/150 사이의 하위 호환성은 중요했다. 그래서 SATA/300의 자동 협상 절차(autonegotiation sequence)가 SATA/300의 설계에 들어갔다. SATA/300은 SATA/150 장치(콘트롤러)와 연결될 때에는 SATA/150의 속도(1.5 Gbit/s)로 자동으로 떨어지게 된다. 몇몇의 옛 SATA 콘트롤러는 SATA 자동 속도 협상을 잘 처리하지 못한다. 해당 시스템에서는 3.0 Gbit/s 장치를 1.5 Gbit/s 장치로 설정하기 위해 사용자가 직접 점퍼를 바꿔서 꽂아야 했다.
  오류가 있는 칩셋으로는 VIA VT8237, VT8237R 사우스 브리지와, VIA VT6420, VT6421L 독립형 SATA 콘트롤러를 꼽을 수 있다.
3.0 Gbit/s 규격은 흔히 시리얼 ATA II, 또는 사타 투(Serial ATA II, SATA II)라고도 불린다. 사실 직렬 ATA 표준화 단체에서는 그런 이름을 바라지 않았다. 공식 사이트 에서는 SATA II는 당시 조직 이름이었을 뿐이라고 언급하고 있다. 그리고 SATA 3.0 Gbit/s 규격은 예전에 정의되었던 SATA II 가운데 하나였을 뿐이었다고 하며, SATA II가 아니라 SATA 3.0 Gbit/s로 불러줄 것을 요청하고 있다. (직렬 ATA 표준화 단체는 그 뒤에 이름을 바꾸었다. 지금의 이름은 The Serial ATA International Organization이다. SATA-IO라고 줄여 쓴다.) 대부분의 SATA 드라이브와 콘트롤러 제조 업체에서는 SATA II”라는 용어를 피하고 있다.
SATA 3.0 Gbit/초는 다른 말로 SATA 3.0, SATA/300이라고도 불린다. ATA/100, ATA/133, SATA/150라고 불리던 관례를 따랐다.

SATA 6.0 Gbit/s(SATA3)

SATA의 로드맵은 SATA 6.0 Gbit/s 규격을 포함하고 있다. 현재의 PC에서 SATA 3.0 Gbit/s는 벌써 하드 디스크의 최고 전송 속도(버스트 전송을 제외한)를 훨씬 뛰어 넘었기 때문에 6.0 Gbit/s 규격은 하나의 SATA 포트에 여러 개의 드라이브를 연결하는 포트 멀티플라이어에 쓸모 있을 것으로 보인다. 램 드라이브와 같은 솔리드 스테이트 디스크(SSD) 또한 머지 않아 이러한 전송 속도를 개선하는 이득을 볼 것으로 예상된다. 하드 디스크 제조 업체에서 이론적인 버스트 전송 속도를 잘 밝히지 않기 때문에 실생활에서 SATA를 사용하면서 얻는 이득은 더 적은 전력 소모와 케이블, 그리고 핫 플러그 정도다. 지금 몇몇 보드에서 지원하고 있다.인텔의 P67,H67,Z68에서 지원하고 AMD는 SB850,A75 사우스브리지가 탑재된 메인보드에서 네이티브로 지원된다 그 외 메인보드는 별도의 컨트롤러에 의한 지원이다.

SATA에서 달라진 점

SATA는 단지 4 가닥의 신호선을 이용한다. PATA에 비해 작고, 저렴한 케이블을 쓸 수 있게 한다. 또, 핫 스왑이나 네이티브 커맨드 큐잉 같은 기능을 제공한다.
SATA 드라이브들은 부가적으로 직렬 부착 SCSI(Serial Attached SCSI, SAS) 콘트롤러에 붙일 수 있다. 네이티브 SAS 디스크와 동일한 물리적 케이블을 이용하여 통신한다. 하지만 SAS 디스크들은 SATA 콘트롤러에 붙일 수 없다.

mSATA

미니 SATA는 2009년 9월 21일 Serial ATA International Organization이 발표한 SATA 방식이다. 더 작은 솔리드 스테이트 드라이브를 요구하는 노트북 등의 장치에 어울린다. 단자는 PCI 익스프레스 미니 카드 인터페이스와 모양이 비슷하지만, 전자적으로 호환되지 않는다. 그러나 데이터 신호(TX±/RX± SATA, PETn0 PETp0 PERn0 PERp0 PCI-express)는 PCI 익스프레스 호스트 컨트롤러가 아닌 SATA 호스트 컨트롤러의 연결이 필요하다. miniSATA 방식과 microSATA 방식으로 나뉜다.