병렬 ATA

**병렬 ATA**(Parallel ATA, **PATA**, 파타, 원래 명창: **AT Attachment**, 고급 기술 결합/Advanced Technology Attachment, **ATA**,  Integrated Drive Electronics, **IDE**)는 IBM PC 호환 기종을 위해 설계된 표준 인터페이스이다. 1986년 웨스턴 디지털과 컴팩이 호환되는 하드 드라이브와 CD 또는 DVD 드라이브를 위해 처음 개발하였다. 이 연결은 하드 디스크, 플로피 디스크, 광학 디스크 및 테이프 드라이브와 같은 컴퓨터 저장 장치에 사용된다.

표준은 X3/INCITS 위원회에서 유지 관리한다. 이는 기초가 되는  (ATA) 및  패킷 인터페이스 (ATAPI) 표준을 사용한다.

병렬 ATA 표준은 초기 PC AT 장비에서 사용하기 위해 개발된 원래의 AT Attachment 인터페이스에서 시작된 긴 점진적 기술 개발의 결과이다. ATA 인터페이스 자체는 웨스턴 디지털의 원래 IDE 인터페이스에서 여러 단계를 거쳐 진화하였다. 결과적으로 ATA/ATAPI 및 이전 형태에 대한 많은 유사어들이 여전히 일상적인 비공식 용어로 사용되고 있으며, 특히 EIDE(Extended IDE)와 Ultra ATA(UATA)가 대표적이다. 2003년 SATA가 도입된 후, 원래의 ATA는 병렬 ATA 또는 약칭인 PATA로 재명명되었다.

병렬 ATA 케이블의 최대 허용 길이는 이다. 이 제한 때문에 이 기술은 일반적으로 컴퓨터 내부 저장 장치 인터페이스로 나타난다. 수년 동안 ATA는 이 용도에서 가장 흔하고 저렴한 인터페이스를 제공하였다. 최신 시스템에서는 대부분 SATA로 대체되었다.

## 역사 및 용어
이 표준은 원래 "AT Bus Attachment"로 구상되었으나, 공식적으로는 "AT Attachment"라고 불리며 "ATA"로 약칭되었다. 주요 특징이 IBM PC/AT와 함께 도입된 16비트 ISA 버스에 직접 연결되는 것이었기 때문이다. 표준 위원회에서 발행한 원래 ATA 규격은 "AT Attachment"라는 이름을 사용한다. IBM PC/AT의 "AT"는 "Advanced Technology"를 의미하므로 ATA는 "Advanced Technology Attachment"라고 불리기도 하였다. 2003년 최신 직렬 ATA (SATA)가 도입되었을 때, 원래의 ATA는 병렬 ATA 또는 약칭으로 PATA로 이름이 변경되었다.

물리적 ATA 인터페이스는 초기에는 호스트 버스 어댑터, 때로는 사운드 카드에 있었으나, 궁극적으로는 메인보드의 사우스브리지 칩에 내장된 두 개의 물리적 인터페이스로서 PC의 표준 구성 요소가 되었다. "기본(primary)" 및 "보조(secondary)" ATA 인터페이스라고 불리며, ISA 버스 시스템에서 I/O 기본 주소 0x1F0-0x1F7 및 0x170-0x177에 할당되었다. 이후 SATA 인터페이스로 대체되었다.

### IDE 및 ATA-1
섬네일|left|메모리, 키보드, 프로세서, 캐시, 실시간 클록 및 슬롯 외에는 아무것도 내장되지 않은 1992년형 80386 PC 메인보드의 예시. 이러한 기본 메인보드에는 ST-506 또는 ATA 인터페이스 중 하나를 장착할 수 있었지만 보통 둘 다 장착하지는 않았다. 이 시스템에는 16비트 ISA 카드를 통해 단일 2-드라이브 ATA 인터페이스와 플로피 인터페이스가 추가되었다.

현재 ATA/ATAPI 인터페이스라고 불리는 것의 첫 번째 버전은 웨스턴 디지털이 IDE(Integrated Drive Electronics)라는 이름으로 개발하였다. 초기 고객인 컴팩과 함께 그들은 기존 IBM PC 하드 드라이브 인터페이스와의 소프트웨어 호환성을 유지한다는 목표로 초기 제품을 개발하고 출시하기 위해 여러 디스크 드라이브 제조업체와 협력하였다. 이러한 첫 번째 드라이브는 1986년에 컴팩 PC 내부에 등장하였으며, 1987년 6월에 코너 페리퍼럴스가 CP342로 처음 별도 판매하였다.

IDE(Integrated Drive Electronics)라는 용어는 드라이브 연결 케이블의 반대편에 위치한 별도의 컨트롤러와 달리 드라이브 컨트롤러가 드라이브 내부에 통합되어 있음을 의미한다. IBM PC 호환기종, CP/M 기기 등에서 이는 일반적으로 메인보드에 설치된 카드였다. 병렬 ATA 드라이브를 예를 들어 ISA 슬롯에 연결하는 데 사용되는 인터페이스 카드는 드라이브 컨트롤러가 아니라 단순히 호스트 버스와 ATA 인터페이스 사이의 브리지이다. 원래 ATA 인터페이스는 본질적으로 16비트 ISA 버스에 불과하므로, ISA 인터페이스 카드에 ATA 커넥터가 있는 경우 브리지는 매우 간단하였다. 통합 컨트롤러는 드라이브를 호스트 컴퓨터에 상대적으로 간단한 명령 인터페이스를 가진 512바이트 블록의 배열로 제시하였다. 이를 통해 호스트 컴퓨터의 메인보드와 인터페이스 카드는 이전의 ST-506 및 ESDI 하드 드라이브에서 해야 했던 디스크 헤드 암 스테핑, 헤드 암 이동 등의 작업을 면제받았다. 드라이브 기계적 작동에 대한 이러한 모든 로우레벨 세부 사항은 이제 드라이브 자체의 컨트롤러에서 처리하게 되었다. 또한 컨트롤러가 드라이브 고유의 것이 될 수 있으므로 여러 종류의 드라이브를 처리할 수 있는 단일 컨트롤러를 설계할 필요가 없어졌다. 호스트는 특정 섹터나 블록을 읽거나 쓰도록 요청하고 드라이브에서 데이터를 받거나 보내기만 하면 된다.

이 드라이브들이 사용하는 인터페이스는 1994년 ANSI 표준 X3.221-1994(AT Attachment Interface for Disk Drives)로 표준화되었다. 이후 버전의 표준이 개발되면서 이는 "ATA-1"으로 알려지게 되었다.

수명이 짧고 거의 사용되지 않았던 ATA 구현으로 IBM PC XT 및 8비트 ISA 버스를 사용하는 유사 기종을 위해 만들어진 것이 있었다. 이는 "XT-IDE", "XTA" 또는 "XT Attachment"라고 불렸다.

### EIDE 및 ATA-2

1994년 ATA-1 표준이 채택될 무렵, 웨스턴 디지털은 EIDE(Enhanced IDE)라는 새로운 이름의 드라이브를 선보였다. 여기에는 향후 ATA-2 규격의 대부분 기능과 몇 가지 추가 개선 사항이 포함되어 있었다. 다른 제조업체들도 "Fast ATA" 및 "Fast ATA-2"와 같은 고유한 ATA-1 변형을 출시하였다.

ANSI 표준의 새 버전인 ATA-2(AT Attachment Interface with Extensions, X3.279-1996)는 1996년에 승인되었다. 여기에는 제조업체별 변형 기능 대부분이 포함되었다.

또한 ATA-2는 하드 드라이브 이외의 장치도 인터페이스에 연결할 수 있음을 처음으로 명시하였다.

### ATAPI

ATA는 원래 하드 디스크 드라이브와 이를 에뮬레이션할 수 있는 장치만을 위해 설계되었고 작동하였다. Small Form Factor Committee(SFF)에서 ATAPI(ATA 패킷 인터페이스)를 도입하면서 ATA를 하드 디스크 드라이브에 필요한 기능 이상의 기능을 요구하는 다양한 기타 장치에 사용할 수 있게 되었다. 예를 들어, 이동식 매체 장치는 "매체 배출" 명령과 호스트가 매체 존재 여부를 확인하는 방법이 필요하며, 이는 ATA 프로토콜에서 제공되지 않았다.

ATAPI는 ATA 인터페이스가 SCSI 명령과 응답을 전달할 수 있도록 하는 프로토콜이다. 따라서 모든 ATAPI 장치는 전기적 인터페이스를 제외하고는 실제로 "SCSI로 대화"하는 것이다. SCSI 명령과 응답은 ATA 케이블로 전송되기 위해 "패킷" 속에 내장된다(그래서 "ATA 패킷 인터페이스"이다). 이를 통해 SCSI 명령 집합이 정의된 모든 장치 클래스를 ATA/ATAPI를 통해 인터페이스할 수 있다.

ATAPI 장치는 패킷을 보내기 위해 ATA 물리 인터페이스와 프로토콜이 여전히 사용되므로 "ATA로 대화"하는 것이다. 반면, ATA 하드 드라이브와 솔리드 스테이트 드라이브는 ATAPI를 사용하지 않는다. 원칙적으로 SCSI 명령 집합으로 제어되는 모든 장치는 적절한 어댑터와 드라이버 지원이 있다면 ATAPI를 통해 지원될 수 있지만, 실제로는 주로 CD 저장 드라이브에 채택되었다. DVD 저장 드라이브 및 집 드라이브나 슈퍼디스크 드라이브와 같은 고용량 플로피 드라이브에서도 사용되었다.

각 ATAPI 장치 클래스에서 사용하는 SCSI 명령 및 응답은 해당 장치 클래스에 고유한 다른 문서나 규격에 설명되어 있으며, ATA/ATAPI나 T13 위원회의 소관이 아니다. 흔히 사용되는 집합 중 하나는 MMC SCSI 명령 집합에 정의되어 있다.

ATAPI는 INCITS 317-1998(ATA/ATAPI-4)에서 ATA의 일부로 채택되었다.

### UDMA 및 ATA-4

ATA/ATAPI-4 표준은 또한 여러 "Ultra DMA" 전송 모드를 도입하였다. 이들은 초기에는 16에서 33&nbsp;MB/s의 속도를 지원하였다. 이후 버전에서는 누화를 줄이기 위해 새로운 80선 케이블을 요구하는 더 빠른 Ultra DMA 모드가 추가되었다. 병렬 ATA의 최신 버전은 최대 133&nbsp;MB/s를 지원한다.

### Ultra ATA
Ultra ATA(약칭 UATA)는 주로 웨스턴 디지털이 ATA/ATAPI 표준의 다양한 속도 개선을 위해 사용한 명칭이다. 예를 들어, 2000년에 웨스턴 디지털은 병렬 ATA 인터페이스의 최대 속도를 66에서 100&nbsp;MB/s로 높여 당시의 ATA/ATAPI-5 표준의 성능을 향상시킨 "Ultra ATA/100"을 설명하는 문서를 발표하였다. 웨스턴 디지털의 이러한 변경 사항 대부분은 다른 개선 사항과 함께 ATA/ATAPI-6 표준(2002)에 포함되었다.

### x86 바이오스 크기 제한

초기에 ATA 드라이브의 크기는 C/H/S 매개변수와 드라이브 헤드가 사용되지 않을 때 주차되는 랜딩 존을 미리 정의한 유형 번호(1~45)를 사용하여 시스템 X86 BIOS에 저장되었다. 나중에 C/H/S(실린더, 헤드, 섹터)라고 불리는 "사용자 정의 가능" 형식이 제공되었다. 이러한 수치는 이전의 ST-506 인터페이스에서는 중요하였으나 ATA에서는 일반적으로 의미가 없었다. 이후의 ATA 대용량 드라이브에 대한 CHS 매개변수는 종종 드라이브의 내부 물리적 레이아웃을 전혀 정의하지 못하는 불가능할 정도로 높은 헤드 또는 섹터 수를 지정하기도 하였다. 시작부터 ATA-2까지 모든 사용자는 연결된 모든 드라이브의 크기를 명시적으로 지정해야 했다. ATA-2부터는 "드라이브 식별" 명령이 구현되어 이를 보내면 모든 드라이브 매개변수를 반환하게 되었다.

메인보드 제조업체들의 선견지명 부족으로 인해, 특정 값이 특정 수치적 최대값을 절대 초과하지 않을 것이라고 가정한 제조업체로 인해 시스템 BIOS가 인위적인 C/H/S 크기 제한에 걸리는 경우가 많았다.

이러한 BIOS 제한 중 첫 번째는 ATA 드라이브 크기가 504 MiB를 초과했을 때 발생하였다. 일부 메인보드 BIOS가 1024 실린더, 16 헤드, 63 섹터를 초과하는 C/H/S 값을 허용하지 않았기 때문이다. 섹터당 512바이트를 곱하면 총  바이트가 되며, 이를  바이트(MiB)로 나누면 504 MiB (528 MB)가 된다.

두 번째 BIOS 제한은 1024 실린더, 256 헤드, 63 섹터에서 발생하였으며, MS-DOS의 문제로 인해 헤드 수가 255로 제한되었다. 이는 총  바이트 (8032.5 MiB)가 되며, 흔히 8.4 기가바이트 장벽이라고 불린다. 이는 다시 x86 BIOS에 의해 부과된 제한이며 ATA 인터페이스에 의해 부과된 제한이 아니다.

결과적으로 이러한 크기 제한은 하드 드라이브의 부트 섹터에서 시작 시 로드되는 작은 프로그램으로 극복할 수 있다는 것이 밝혀졌다. 웨스턴 디지털과 같은 일부 하드 드라이브 제조업체는 이러한 문제를 해결하기 위해 대용량 하드 드라이브에 이러한 유틸리티를 포함하기 시작하였다. 그러나 특별한 유틸리티를 로드하지 않고 다른 방식으로 컴퓨터를 부팅하면 유효하지 않은 BIOS 설정이 사용되어 드라이브에 접근할 수 없거나 운영체제에서 손상된 것으로 나타날 수 있었다.

나중에 "Enhanced Disk Drive" (EDD)라고 불리는 x86 BIOS 디스크 서비스 확장이 제공되어 264 섹터만큼 큰 드라이브를 주소 지정할 수 있게 되었다.

### 인터페이스 크기 제한
첫 번째 드라이브 인터페이스는 22비트 주소 지정 모드를 사용하여 최대 드라이브 용량이 2기가바이트였다. 나중에 처음으로 공식화된 ATA 규격은 LBA28을 통해 28비트 주소 지정 모드를 사용하여 각 512바이트인 228 () 섹터(블록)를 주소 지정할 수 있게 하였으며, 결과적으로 최대 용량은 128&nbsp;GiB (137&nbsp;GB)가 되었다.

ATA-6은 48비트 주소 지정을 도입하여 제한을 128 PiB (144 PB)로 늘렸다. 결과적으로 용량이 약 137&nbsp;GB보다 큰 모든 ATA 드라이브는 ATA-6 이상이어야 한다. 이러한 드라이브를 ATA-5 이하 인터페이스를 가진 호스트에 연결하면 사용 가능한 용량이 인터페이스의 최대치로 제한된다.

SP1 이전의 윈도우 XP 및 SP3 이전의 윈도우 2000을 포함한 일부 운영체제는 기본적으로 LBA48을 비활성화하므로, 약 137기가바이트보다 큰 ATA 드라이브의 전체 용량을 사용하려면 사용자가 추가 조치를 취해야 한다.

윈도우 98과 같은 구형 운영체제는 48비트 LBA를 전혀 지원하지 않는다. 그러나 제3자 그룹 MSFN의 구성원들이 윈도우 98 디스크 드라이버를 수정하여 윈도우 95 OSR2, 윈도우 98, 윈도우 98 SE 및 윈도우 ME에 48비트 LBA에 대한 비공식 지원을 추가하였다.

LBA48을 지원하는 일부 16비트 및 32비트 운영체제에서도 32비트 산술 연산만 사용하기 때문에 2 TiB보다 큰 디스크를 지원하지 못할 수 있으며, 이 제한은 많은 부트 섹터에도 적용된다.

### 주류 지위와 도태
병렬 ATA(당시에는 단순히 ATA 또는 IDE로 불림)는 도입 직후 PC의 기본 저장 장치 인터페이스가 되었다. 일부 시스템에서는 세 번째 및 네 번째 메인보드 인터페이스가 제공되어 최대 8개의 ATA 장치를 메인보드에 연결할 수 있었다. 종종 이러한 추가 커넥터는 저렴한 RAID 컨트롤러에 의해 구현되었다.

2003년 직렬 ATA (SATA)가 도입된 직후 병렬 ATA의 사용은 감소하였다. 그 시대의 일부 PC와 노트북은 SATA 하드 디스크와 PATA로 연결된 광학 드라이브를 가지고 있었다.

2007년 기준으로 인텔 ICH10과 같은 일부 PC 칩셋은 PATA에 대한 지원을 제거하였다. 해당 칩셋을 사용하면서 병렬 ATA를 제공하려는 메인보드 벤더는 추가 인터페이스 칩을 포함해야 한다. 최근 컴퓨터에서는 메인보드에 4개 이상의 직렬 ATA 커넥터가 일반적으로 제공되고 모든 유형의 SATA 장치가 흔하기 때문에 병렬 ATA 인터페이스가 있더라도 거의 사용되지 않는다.

웨스턴 디지털이 PATA 시장에서 철수함에 따라, PATA 인터페이스를 갖춘 하드 디스크 드라이브는 특수 용도를 제외하고 2013년 12월 이후 더 이상 생산되지 않는다.

## 인터페이스
병렬 ATA 케이블은 한 번에 16비트씩 데이터를 전송한다. 전통적인 케이블은 40선 또는 80선 리본 케이블에 부착된 40핀 암형 IDC 커넥터를 사용한다. 각 케이블에는 2개 또는 3개의 커넥터가 있으며, 그중 하나는 나머지 컴퓨터 시스템과 인터페이스하는 호스트 어댑터에 꽂는다. 나머지 커넥터는 저장 장치, 가장 흔하게는 하드 디스크 드라이브나 광학 드라이브에 꽂는다. 각 커넥터에는 두 줄로 배열된 39개의 물리적 핀(2.54&nbsp;mm, 인치 간격)이 있으며, 20번 핀 자리에 간격이나 키가 있다. 초기 커넥터에는 이 간격이 없어 40핀을 모두 사용할 수 있었다. 따라서 간격이 메워진 이후의 케이블은 초기 커넥터와 호환되지 않지만, 초기 케이블은 이후의 커넥터와 호환된다.

미관상의 이유나 컴퓨터 냉각 개선 주장 및 취급 용이성을 위해 (리본 케이블과 반대되는) 라운드 병렬 ATA 케이블이 '케이스 모딩'용으로 출시되기도 하였으나, ATA 규격에서는 리본 케이블만 지원한다.

; 20번 핀: ATA 표준에서 20번 핀은 기계적 키로 정의되어 사용되지 않는다. 암형 커넥터의 핀 소켓은 종종 막혀 있어 수형 케이블이나 드라이브 커넥터에서 20번 핀을 생략해야 하며, 이로 인해 거꾸로 꽂는 것이 불가능하다. 그러나 일부 플래시 메모리 드라이브는 별도의 전원 케이블 없이 드라이브에 전원을 공급하기 위해 20번 핀을 VCC_in으로 사용할 수 있다. 이 기능은 장비가 20번 핀의 이러한 용도를 지원하는 경우에만 사용할 수 있다.

; 28번 핀: 80선 케이블의 회색(슬레이브/중간) 커넥터의 28번 핀은 케이블의 어떤 전도체와도 연결되어 있지 않다. 검은색(마스터 드라이브 끝) 및 파란색(메인보드 끝) 커넥터에는 정상적으로 연결되어 있다. 이는 케이블 선택 기능을 가능하게 한다.

; 34번 핀: 80선 케이블의 파란색 커넥터 내부에서 34번 핀은 접지되어 있지만 케이블의 어떤 전도체와도 연결되어 있지 않아 이러한 케이블을 감지할 수 있게 한다. 회색 및 검은색 커넥터에는 정상적으로 연결되어 있다.

### 44핀 변형
노트북 내부의 2.5인치 드라이브에는 44핀 변형 PATA 커넥터가 사용된다. 핀 간격이 더 좁고(2.0&nbsp;mm 간격) 커넥터는 40핀 커넥터보다 물리적으로 작다. 추가된 핀은 전원을 전달한다.

### 80선 변형
섬네일|1.8" 하드 디스크의 80핀 병렬 ATA 인터페이스
섬네일|300px|ATA 케이블 비교: 40선 리본 케이블(위) 및 80선 리본 케이블(아래). 두 경우 모두 40핀 암형 커넥터가 사용된다.

ATA 케이블은 역사 대부분의 기간 동안 40개의 전도체를 가졌으나(2.5" 드라이브용 소형 폼 팩터 버전은 전원용 4개 추가된 44선), UDMA/66 모드가 도입되면서 80선 버전이 등장하였다. 새 케이블의 추가 전도체는 모두 접지이며, 이웃한 신호선 사이의 정전 결합 효과를 줄여 누화를 감소시키기 위해 신호선 사이에 끼워져 있다. 정전 결합은 높은 전송 속도에서 더 큰 문제가 되며, 이 변경은 UDMA4의 초당 66메가바이트(MB/s) 전송 속도가 안정적으로 작동하는 데 필요하였다. 더 빠른 UDMA5 및 UDMA6 모드 역시 80선 케이블을 요구한다.

전도체 수는 두 배로 늘어났지만 커넥터 핀 수와 핀 배열은 40선 케이블과 동일하며, 커넥터의 외형도 똑같다. 내부적으로 커넥터는 다르다. 80선 케이블용 커넥터는 더 많은 수의 접지선을 접지 핀에 연결하는 반면, 40선 케이블용 커넥터는 접지선과 접지 핀을 일대일로 연결한다. 80선 케이블은 일반적으로 균일한 색상의 40선 케이블 커넥터(대개 모두 회색)와 달리 서로 다른 색상의 세 가지 커넥터(각각 컨트롤러용 파란색, 마스터 드라이브용 검은색, 슬레이브 드라이브용 회색)와 함께 제공된다. 80선 케이블의 회색 커넥터는 28번 핀 CSEL이 연결되어 있지 않아 케이블 선택으로 구성된 드라이브의 슬레이브 위치가 된다.

### 한 케이블의 여러 장치
단일 케이블에 두 개의 장치가 연결된 경우, 하나는 장치 0(과거에는 흔히 마스터로 지정됨), 다른 하나는 장치 1(과거에는 흔히 슬레이브로 지정됨)로 지정되어야 한다. 이 구분은 두 드라이브가 충돌 없이 케이블을 공유할 수 있게 하는 데 필요하다. 장치 0 드라이브는 일반적으로 컴퓨터의 BIOS 및 운영체제에 "첫 번째"로 나타나는 드라이브이다. 대부분의 개인용 컴퓨터에서 드라이브는 각 드라이브의 활성 주 파티션을 나타내어 장치 0은 "C:", 장치 1은 "D:"로 지정되는 경우가 많다.

장치가 사용해야 하는 모드는 종종 장치 자체의 점퍼 설정으로 설정되며, 장치 0 (Master) 또는 장치 1 (Slave)로 수동 설정해야 한다. 케이블에 단일 장치만 있는 경우 장치 0으로 구성해야 한다. 그러나 특정 시대의 일부 드라이브는 이 구성을 위해 Single이라는 특별한 설정이 있다(특히 웨스턴 디지털). 또한 가용한 하드웨어와 소프트웨어에 따라 케이블의 단일 드라이브가 장치 1 드라이브로 구성되어도 안정적으로 작동하는 경우가 많다(보조 ATA 인터페이스에 광학 드라이브가 유일한 장치인 경우에 주로 나타남).

primary(기본) 및 secondary(보조)라는 단어는 일반적으로 각각 두 개의 드라이브를 가질 수 있는 두 개의 IDE 케이블을 나타낸다(primary master, primary slave, secondary master, secondary slave).

느린 장치가 같은 케이블에 있는 빠른 장치의 성능에 얼마나 영향을 미칠 수 있는지에 대해서는 많은 논란이 있다. 초기 ATA 호스트 어댑터에서는 속도 기능이 다른 두 장치가 같은 케이블에 있는 경우 두 장치의 데이터 전송이 모두 느린 장치의 속도로 제한될 수 있었다. 모든 현대적 ATA 호스트 어댑터는 독립 장치 타이밍을 지원하므로 이는 사실이 아니다. 이를 통해 케이블의 각 장치는 자체 최상의 속도로 데이터를 전송할 수 있다. 독립 타이밍이 없는 초기 어댑터의 경우에도 이 효과는 읽기 또는 쓰기 작업의 데이터 전송 단계에만 적용된다. 이는 대부분의 병렬 ATA 제품에서 중첩 및 대기열 기능 집합이 생략되었기 때문에 발생한다. 케이블의 한 장치만 한 번에 읽기 또는 쓰기 작업을 수행할 수 있다. 따라서 사용량이 많은 느린 장치와 같은 케이블에 있는 빠른 장치는 느린 장치가 먼저 작업을 완료할 때까지 기다려야 함을 알게 될 것이다. 그러나 대부분의 현대적 장치는 데이터가 물리적 저장소에 기록되기 전이라도 온보드 캐시 메모리에 저장되면 쓰기 작업이 완료된 것으로 보고한다. 이를 통해 케이블의 다른 장치에 명령을 보낼 수 있어 "한 번에 한 작업" 제한의 영향을 줄인다. 이것이 시스템 성능에 미치는 영향은 애플리케이션에 따라 다르다. 예를 들어, 광학 드라이브에서 하드 드라이브로 데이터를 복사할 때(소프트웨어 설치 중 등) 이 효과는 아마도 중요하지 않을 것이다. 그러한 작업은 어디에 있든 필연적으로 광학 드라이브의 속도에 의해 제한되기 때문이다. 하지만 해당 하드 드라이브가 동시에 다른 작업에 대해서도 좋은 처리량을 제공해야 한다면, 광학 드라이브와 같은 케이블에 두지 않는 것이 좋을 것이다.

### 케이블 선택
케이블 선택(cable select)이라는 드라이브 모드는 ATA-1에서 선택 사항으로 설명되었으며 ATA-5 이후 상당히 널리 사용되게 되었다. "케이블 선택"으로 설정된 드라이브는 케이블상의 위치에 따라 자동으로 자신을 장치 0 또는 장치 1로 구성한다. 케이블 선택은 28번 핀에 의해 제어된다. 호스트 어댑터는 이 핀을 접지한다. 장치가 핀이 접지된 것을 보면 장치 0 (master) 장치가 되고, 28번 핀이 열려 있는 것을 보면 장치 1 (slave) 장치가 된다.

이 설정은 보통 드라이브에서 CS로 표시된 "cable select"라는 점퍼 설정으로 선택하며, 이는 장치 0/1 설정과 별개이다.

두 드라이브를 수동으로 장치 0과 장치 1로 구성한 경우, 이 구성은 케이블상의 위치와 일치할 필요가 없다. 28번 핀은 드라이브에 케이블상의 위치를 알리는 데만 사용되며, 호스트가 드라이브와 통신할 때는 사용되지 않는다. 즉, 드라이브의 점퍼를 사용한 수동 마스터/슬레이브 설정이 우선하며 리본 케이블의 어느 커넥터에나 자유롭게 배치할 수 있게 한다.

40선 케이블의 경우, 단순히 두 장치 커넥터 사이의 28번 핀 전선을 절단하여 케이블 선택을 구현하는 것이 매우 흔하였다. 슬레이브 장치 1 장치를 케이블 끝에 두고 마스터 장치 0을 중간 커넥터에 두는 방식이었다. 이 배치는 결국 이후 버전에서 표준화되었다. 그러나 여기에는 한 가지 단점이 있었다. 2-드라이브 케이블에 마스터 장치 하나만 있고 중간 커넥터를 사용하는 경우, 사용되지 않는 케이블 스터브가 남게 되어 물리적 편의성과 전기적 이유로 바람직하지 않다. 스터브는 특히 높은 전송 속도에서 신호 반사를 일으킨다.

ATAPI5/UDMA4에서 사용하도록 정의된 80선 케이블부터는 마스터 장치 0 장치가  케이블의 호스트에서 가장 먼 검은색 커넥터에 연결되고, 슬레이브 장치 1은 회색 중간 커넥터에 연결되며, 파란색 커넥터는 호스트(예: 메인보드 IDE 커넥터 또는 IDE 카드)에 연결된다. 따라서 2-드라이브 케이블에 검은색 커넥터를 사용하는 장치(장치 0)가 하나만 있는 경우 반사를 일으킬 케이블 스터브가 없다(사용하지 않는 커넥터가 이제 리본의 중간에 있기 때문). 또한 케이블 선택은 이제 회색 중간 장치 커넥터에서 보통 단순히 커넥터 몸체에서 28번 핀 접점을 생략함으로써 구현된다.

### 직렬화, 중첩 및 대기열 작업
ATA-3까지의 병렬 ATA 프로토콜은 ATA 인터페이스에서 명령이 내려지면 다음 명령을 내리기 전에 완료되어야 함을 요구한다. 장치에서의 작업은 ATA 호스트 인터페이스와 관련하여 한 번에 하나의 작업만 진행되는 방식으로 직렬화되어야 한다. 유용한 사고 모델은 호스트 ATA 인터페이스가 첫 번째 요청의 전체 기간 동안 바쁘기 때문에 첫 번째 요청이 완료될 때까지 다른 요청에 대해 알릴 수 없다는 것이다. 인터페이스에 대한 요청을 직렬화하는 기능은 일반적으로 호스트 운영체제의 장치 드라이버에 의해 수행된다.

ATA-4 및 이후 사양 버전에서는 "중첩 기능 집합"과 "대기열 기능 집합"이 선택적 기능으로 포함되었으며, 둘 다 "Tagged Command Queuing" (TCQ)라는 이름이 붙었다. 이는 ATA 버전이 모방하려고 시도하는 SCSI의 기능 집합을 참조한 것이다. 그러나 실제 병렬 ATA 제품 및 장치 드라이버에서 이러한 지원은 매우 드문데, 이러한 기능 집합이 원래 ISA 버스의 확장이라는 유산을 가진 소프트웨어 호환성을 유지하는 방식으로 구현되었기 때문이다. 이 구현은 과도한 CPU 점유를 초래하여 명령 대기열의 장점을 크게 상쇄하였다. 반면, 중첩 및 대기열 작업은 다른 저장 버스에서 흔하였다. 특히 SCSI의 태그 명령 대기열 버전은 ISA용으로 설계된 API와 호환될 필요가 없어 PCI와 같은 퍼스트 파티 DMA를 지원하는 버스에서 낮은 오버헤드로 높은 성능을 달성할 수 있었다. 이는 오랫동안 SCSI의 주요 장점으로 여겨져 왔다.

직렬 ATA 표준은 첫 출시부터 네이티브 명령 대기열(Native Command Queuing, NCQ)을 지원해 왔으나, 호스트 어댑터와 대상 장치 모두에 대해 선택적 기능이다. 오래된 PC 메인보드 중 다수는 NCQ를 지원하지 않지만, 현대적 SATA 하드 디스크 드라이브와 SATA 솔리드 스테이트 드라이브는 일반적으로 NCQ를 지원한다. 반면 이동식(CD/DVD) 드라이브의 경우에는 이들을 제어하는 데 사용되는 ATAPI 명령 집합이 대기열 작업을 금지하므로 NCQ를 지원하지 않는다.

### HDD 비밀번호 및 보안

ATA 장치는 ATA 규격에 정의된 선택적 보안 기능을 지원할 수 있으며, 따라서 특정 브랜드나 장치에 국한되지 않는다. 보안 기능은 드라이브에 특별한 ATA 명령을 보냄으로써 활성화 및 비활성화할 수 있다. 장치가 잠기면 잠금이 해제될 때까지 모든 접근을 거부한다. 장치는 사용자 비밀번호(User Password)와 마스터 비밀번호(Master Password)라는 두 가지 비밀번호를 가질 수 있으며, 둘 중 하나 또는 둘 다 설정할 수 있다. 지원되고 사용되는 경우 현재 마스터 비밀번호를 식별할 수 있는(공개하지 않고) 마스터 비밀번호 식별자 기능이 있다. 마스터 비밀번호는 설정된 경우 사용자가 사용자 비밀번호를 잊어버렸을 때 관리자가 사용자 비밀번호를 재설정하는 데 사용할 수 있다. 일부 노트북과 일부 비즈니스용 컴퓨터에서는 해당 BIOS가 ATA 비밀번호를 제어할 수 있다.

장치는 두 가지 모드로 잠글 수 있다: 높은 보안(High security) 모드 또는 최대 보안(Maximum security) 모드. IDENTIFY 응답의 128 단어 8번 비트는 디스크가 어떤 모드인지 보여준다: 0 = High, 1 = Maximum. 높은 보안 모드에서는 "SECURITY UNLOCK DEVICE" ATA 명령을 사용하여 사용자 또는 마스터 비밀번호 중 하나로 장치를 잠금 해제할 수 있다. 보통 5회로 설정된 시도 횟수 제한이 있으며, 이 횟수를 넘으면 잠금 해제를 다시 시도하기 전에 디스크의 전원을 껐다 켜거나 하드 리셋을 해야 한다. 또한 높은 보안 모드에서는 SECURITY ERASE UNIT 명령을 사용자 또는 마스터 비밀번호 중 하나로 사용할 수 있다. 최대 보안 모드에서는 사용자 비밀번호로만 장치를 잠금 해제할 수 있다. 사용자 비밀번호를 사용할 수 없는 경우, 하드웨어를 다시 사용할 수 있는 상태로 되돌리는 유일한 방법은 SECURITY ERASE PREPARE 명령을 내린 후 즉시 SECURITY ERASE UNIT 명령을 내리는 것이다. 최대 보안 모드에서 SECURITY ERASE UNIT 명령은 마스터 비밀번호를 요구하며 디스크의 모든 데이터를 완전히 삭제한다. IDENTIFY 응답의 89 단어는 작업에 걸리는 시간을 나타낸다. ATA 잠금은 유효한 비밀번호 없이는 깨는 것이 불가능하도록 의도되었으나, 장치 잠금을 해제하기 위한 알려진 우회 방법들이 존재한다.

NVMe 드라이브의 경우, 잠금 비밀번호를 포함한 보안 기능은 OPAL 표준에 정의되어 있다.

디스크 전체를 소거(sanitizing)하기 위해, 올바르게 구현된 경우 내장된 Secure Erase 명령이 효과적이다. 데이터의 일부 또는 전부를 삭제하지 못한 몇 가지 사례가 보고된 바 있다. 일부 노트북과 비즈니스용 컴퓨터는 Secure Erase를 사용하여 디스크의 모든 데이터를 삭제할 수 있는 BIOS를 갖추고 있다.

### 외부 병렬 ATA 장치
섬네일|PATA-USB 어댑터. 외부 케이스 내부의 DVD-RW 광학 드라이브 뒷면에 장착되어 있다.

짧은 케이블 길이 사양과 차폐 문제로 인해 컴퓨터 연결을 위해 직접 PATA를 사용하는 외부 PATA 장치를 찾는 것은 매우 드물다. 외부에 연결된 장치는 외부 장치를 컴퓨터 케이스 옆이나 위에 놓을 수 있도록 U자형 굴곡을 형성하기 위해 추가 케이블 길이가 필요하지만, 표준 케이블 길이는 이를 허용하기에 너무 짧다. 메인보드에서 장치까지 쉽게 닿을 수 있도록 커넥터는 보통 컴퓨터 케이스 전면에서 돌출된 장치에 연결하기 위해 메인보드의 앞쪽 가장자리에 배치되는 경향이 있다. 이 앞쪽 가장자리 위치는 외부 장치를 위해 뒤쪽으로 연장하는 것을 더욱 어렵게 만든다. 리본 케이블은 차폐가 잘 되지 않으며, 표준은 RF 방출 제한을 충족하기 위해 케이블이 차폐된 컴퓨터 케이스 내부에 설치되는 것에 의존한다.

내부 PATA 인터페이스를 가진 외부 하드 디스크 드라이브나 광학 디스크 드라이브는 외부 장치와 컴퓨터 사이의 거리를 메우기 위해 다른 인터페이스 기술을 사용한다. USB가 가장 흔한 외부 인터페이스이며, 그 뒤를 파이어와이어가 잇는다. 외부 장치 내부의 브리지 칩은 USB 인터페이스를 PATA로 변환하며, 일반적으로 케이블 선택이나 마스터/슬레이브 없이 단일 외부 장치만 지원한다.

## 사양
다음 표는 ATA 표준 버전의 이름과 각 버전에서 지원하는 전송 모드 및 속도를 보여준다. 각 모드의 전송 속도(예: ATA-5에 정의된 흔히 "Ultra-DMA 66"이라 불리는 UDMA4의 경우 66.7&nbsp;MB/s)는 케이블에서의 이론적 최대 전송 속도를 나타낸다. 이는 단순히 두 바이트에 유효 클록 속도를 곱한 것이며, 모든 클록 사이클이 최종 사용자 데이터를 전송하는 데 사용된다고 가정한다. 실제로는 물론 프로토콜 오버헤드로 인해 이 값이 감소한다.

ATA 어댑터가 부착된 호스트 버스의 혼잡 또한 최대 버스트 전송 속도를 제한할 수 있다. 예를 들어, 기본 PCI 버스의 최대 데이터 전송 속도는 133&nbsp;MB/s이며, 이는 버스의 모든 활성 장치 간에 공유된다.

또한, 2005년 시점에 측정된 지속 전송 속도가 80&nbsp;MB/s 이상인 ATA 하드 드라이브는 존재하지 않았다. 더욱이 지속 전송 속도 테스트는 대부분의 작업 부하에 대해 현실적인 처리량 기대치를 제공하지 않는다. 이러한 테스트는 탐색 시간이나 회전 지연으로 인한 지연이 거의 발생하지 않도록 특별히 설계된 I/O 부하를 사용한다. 대부분의 작업 부하에서 하드 드라이브 성능은 첫 번째와 두 번째로 그 두 가지 요인에 의해 제한되며, 버스의 전송 속도는 중요도 면에서 한참 뒤처진 세 번째이다. 따라서 66&nbsp;MB/s 이상의 전송 속도 제한은 하드 드라이브가 내부 캐시에서 읽어 모든 I/O 요청을 만족시킬 수 있을 때만 성능에 영향을 미치는데, 이는 특히 운영체제에 의해 이미 데이터가 버퍼링된다는 점을 고려하면 매우 드문 상황이다.

, 기계식 하드 디스크 드라이브는 최대 524&nbsp;MB/s까지 데이터를 전송할 수 있으며, 이는 PATA/133 사양의 성능을 훨씬 능가한다. 고성능 솔리드 스테이트 드라이브는 7000–7500&nbsp;MB/s까지 데이터를 전송할 수 있다.

Ultra DMA 모드만이 컨트롤러와 드라이브 사이의 데이터 전송에서 오류를 감지하기 위해 CRC를 사용한다. 이는 16비트 CRC이며 데이터 블록에만 사용된다. 명령 및 상태 블록의 전송은 CRC를 필요로 하는 고속 신호 방식을 사용하지 않는다. 이에 비해 직렬 ATA에서는 명령과 데이터 모두에 32비트 CRC가 사용된다.

### 각 ATA 개정판에서 도입된 기능




### 정의된 전송 모드 속도

## 관련 표준, 기능 및 제안
### ATAPI 이동식 매체 장치 (ARMD)

CD 및 DVD 드라이브를 제외한 이동식 매체를 사용하는 ATAPI 장치는 ARMD(ATAPI Removable Media Device)로 분류되며, 운영체제에 슈퍼 플로피(파티션되지 않은 매체) 또는 하드 드라이브(파티션된 매체)로 나타날 수 있다. 이들은 컴팩과 피닉스 테크놀로지스에서 원래 개발한 **ATAPI Removable Media Device BIOS Specification**를 준수하는 BIOS에 의해 부팅 가능 장치로 지원될 수 있다. 이는 개인용 컴퓨터의 BIOS에서 집 드라이브, Jaz 드라이브, 슈퍼디스크 (LS-120) 드라이브 및 유사 장치로부터 컴퓨터를 부팅할 수 있도록 허용하는 규정을 지정한다.

이러한 장치들은 플로피 디스크 드라이브와 같은 이동식 매체를 가지지만, 용량은 하드 드라이브에 더 가깝고 프로그래밍 요구 사항은 둘 다와 다르다. 플로피 컨트롤러 인터페이스의 제한으로 인해 이러한 장치 대부분은 하드 드라이브나 CD-ROM 장치와 유사하게 호스트 컴퓨터의 ATA 인터페이스 중 하나에 연결된 ATAPI 장치였다. 그러나 기존 BIOS 표준은 이러한 장치를 지원하지 않았다. ARMD 호환 BIOS는 운영체제에 장치 고유 코드를 요구하지 않고도 이러한 장치에서 부팅하고 사용할 수 있게 해준다.

ARMD를 구현하는 BIOS는 사용자가 부팅 검색 순서에 ARMD 장치를 포함할 수 있게 한다. 보통 ARMD 장치는 부팅 순서에서 하드 드라이브보다 앞서 구성된다. 플로피 드라이브와 마찬가지로, ARMD 드라이브에 부팅 가능한 매체가 있으면 BIOS는 그곳에서 부팅하고, 없으면 BIOS는 일반적으로 하드 드라이브를 마지막으로 하여 검색 순서를 계속 진행한다.

ARMD에는 ARMD-FDD와 ARMD-HDD의 두 가지 변형이 있다. 원래 ARMD는 장치가 일종의 매우 큰 플로피 드라이브(기본 플로피 장치 00h 또는 보조 장치 01h)로 나타나게 하였다. 일부 운영체제는 표준 플로피 디스크 드라이브보다 훨씬 큰 용량의 플로피 디스크를 지원하기 위해 코드 수정이 필요하였다. 또한 표준 플로피 디스크 드라이브 에뮬레이션은 집 드라이브와 같은 특정 고용량 플로피 디스크 드라이브에는 적합하지 않은 것으로 판명되었다. 나중에 이러한 문제를 해결하기 위해 ARMD-HDD(ARMD-"Hard disk device") 변형이 개발되었다. ARMD-HDD에서 ARMD 장치는 BIOS와 운영체제에 하드 드라이브로 나타난다.

### ATA 오버 이더넷
2004년 8월, Coraid의 샘 홉킨스(Sam Hopkins)와 브랜틀리 코일(Brantley Coile)은 ATA 명령을 PATA 호스트 어댑터에 직접 연결하는 대신 이더넷을 통해 전달하는 경량 ATA 오버 이더넷 프로토콜을 명시하였다. 이를 통해 확립된 블록 프로토콜을 스토리지는 에어리어 네트워크 (SAN) 애플리케이션에서 재사용할 수 있게 되었다.

### 콤팩트플래시
섬네일|콤팩트플래시는 단순히 소형화된 IDE-ATA 인터페이스이며, 전원을 공급할 수 있도록 수정되었다.

IDE 모드의 콤팩트플래시 (CF)는 본질적으로 플래시 메모리 저장 장치를 사용하는 기기에서 사용하기 위해 소형화된 ATA 인터페이스이다. 작은 CF 소켓을 큰 ATA 커넥터에 직접 적응시키는 것 외에는 인터페이스 칩이나 회로가 필요하지 않다. (대부분의 CF 카드는 IDE 모드에서 PIO4까지만 지원하므로, CF 기능상 속도보다 IDE 모드에서 훨씬 느려질 수 있다.)

ATA 커넥터 규격에는 CF 장치에 전원을 공급하는 핀이 포함되어 있지 않으므로, 전원은 별도의 소스에서 커넥터로 입력된다. 예외적으로 노트북 컴퓨터에서 흔히 볼 수 있는 2.5인치 하드 디스크 드라이브용으로 설계된 44핀 ATA 버스에 CF 장치가 연결된 경우에는 해당 버스 구현이 표준 하드 디스크 드라이브에 전원을 공급해야 하므로 전원이 공급된다.

CF 장치는 ATA 인터페이스에서 장치 0 또는 1로 지정될 수 있으나, 대부분의 CF 장치가 단일 소켓만 제공하므로 최종 사용자에게 이 선택을 제공할 필요는 없다. 추가적인 설계 방식을 통해 CF를 핫 플러깅할 수 있지만, 기본적으로 ATA 인터페이스에 직접 배선된 경우 핫 플러깅용으로 의도된 것은 아니다.

## 같이 보기

* 마스터/슬레이브 (기술)
* AHCI

## 각주

; 내용주


## 외부 링크
* IDE/ATA 인터페이스 간단 보기 및 역사
* ATA/ATAPI 역사

분류:컴퓨터 버스
분류:ATA
분류:컴퓨터 하드웨어 표준
분류:컴퓨터 단자