ATA (İngilizce: AT Attachment), sabit disk ve optik sürücü gibi depolama aygıtlarını bilgisayara bağlamak için kullanılan arayüz standardıdır. 1980'lerin sonunda geliştirilmiş, 1994'te ANSI tarafından standartlaştırılmış ve kişisel bilgisayarlarda uzun yıllar en yaygın depolama arayüzü olarak kullanılmıştır.

Standardı belirleyen özellik, sürücüyü yöneten denetleyicinin ana kartta değil sürücünün kendi devresinde bulunmasıdır; ticari adı olan IDE (Integrated Drive Electronics) bu özellikten gelir. Ana kartta yalnızca sürücüyle konuşan basit bir arayüz kalır. Bu düzenleme, ayrı bir denetleyici kartı gerektiren SCSI gibi çözümlere göre daha ucuza kurulduğu için kişisel bilgisayarlarda yaygınlaşmıştır.

Arayüz veriyi 16 bitlik koşut bir yol üzerinden taşır ve aygıtlar ana karta yassı bir şerit kabloyla bağlanır. 2003'te seri bağlantı kullanan Serial ATA tanıtılınca, o güne kadar yalnızca ATA denilen bu koşut sürüm geriye dönük olarak Paralel ATA (PATA) adıyla anılmaya başlanmıştır.

Tarihçe

Arayüz, IBM PC/AT bilgisayarının 16 bitlik genişleme yoluna doğrudan bağlanacak biçimde tasarlandığı için önce PC/AT Attachment, sonra kısaca AT Attachment adını almıştır. Bu ad, arayüzün baştan bağımsız bir tasarım değil, o dönemin yaygın yolunun sürücüye uzatılması olarak düşünüldüğünü gösterir.

Denetleyiciyi sürücünün üzerine taşıma düşüncesi 1980'lerin sonunda ürünleşmiştir. O güne kadar sabit disk, ana karta takılan ayrı bir denetleyici kartıyla sürülüyor, kart ile sürücü arasında ayrıntılı ve üreticiye özgü sinyaller taşınıyordu. Denetleyici sürücüyle birlikte üretilince bu sinyaller kutunun içinde kalmış, dışarıya yalnızca daha basit ve ortak bir arayüz çıkmıştır. Bu yaklaşımın ticari adı IDE olmuş, kapasite sınırları genişletilen sonraki sürümü ise EIDE diye anılmıştır. Her iki ad da standardın kendi adı değil, üretici adlandırmasıdır.

Arayüz başlangıçta yalnızca sabit disklere göre tanımlanmıştı. Optik sürücüler ve teyp birimleri gibi başka aygıtların da aynı kabloya bağlanması istenince, bu aygıtların komutlarını ATA üzerinden taşıyan bir paket katmanı eklenmiştir. ATAPI adı verilen bu genişletme dördüncü sürümden başlayarak standardın parçası olmuş, standart bu nedenle ATA/ATAPI diye anılır.

2003'te Serial ATA'nın tanıtılmasıyla koşut arayüz yerini seri bağlantıya bırakmaya başlamıştır. Yeni bağlantı daha az telle daha yüksek hıza çıkabildiği, kablo uzunluğu kısıtı taşımadığı ve her aygıta ayrı bir bağlantı verdiği için koşut ATA birkaç yıl içinde yeni bilgisayarlardan çekilmiştir.

Arayüzün yapısı

Kablo ve bağlayıcı

İki bağlayıcılı şerit kablo
40 bacaklı ATA bağlayıcısının çizimi
Paralel ATA bacak düzeni
Bacak İşlev Bacak İşlev
1 Sıfırlama 2 Toprak
3 Veri 7 4 Veri 8
5 Veri 6 6 Veri 9
7 Veri 5 8 Veri 10
9 Veri 4 10 Veri 11
11 Veri 3 12 Veri 12
13 Veri 2 14 Veri 13
15 Veri 1 16 Veri 14
17 Veri 0 18 Veri 15
19 Toprak 20 Kılavuz (boş)
21 DBE isteği 22 Toprak
23 G/Ç yazma 24 Toprak
25 G/Ç okuma 26 Toprak
27 G/Ç kanalı hazır 28 Kablo seçimi
29 DBE onayı 30 Toprak
31 Kesme isteği 32 Bağlantısız
33 Adres 1 34 80 telli kablo algılama
35 Adres 0 36 Adres 2
37 Yonga seçimi 1 38 Yonga seçimi 3
39 Etkinlik 40 Toprak

Aygıtlar ana karta 40 bacaklı bir bağlayıcı ve yassı bir şerit kabloyla bağlanır. Kablo üzerinde iki ya da üç bağlayıcı bulunur: biri ana karta, ötekiler sürücülere takılır. Kablo aynı anda 16 bit veri taşır; kalan bacaklar adres, denetim ve toprak hatlarına ayrılmıştır.

Standart, kablonun en çok 46 santimetre (18 inç) olmasını şart koşar. Bu sınır, koşut hatların yüksek hızda karşılaştığı zamanlama ve yansıma sorunlarından gelir ve arayüzün bilgisayar kasasının dışına çıkarılmasını olanaksız kılar.

Ultra DMA'nın daha hızlı kipleriyle birlikte 80 telli kablolar gelmiştir. Eklenen kırk tel yeni sinyal taşımaz; her sinyal telinin yanına bir toprak teli koyarak komşu teller arasındaki elektriksel etkileşimi azaltır. Bacak sayısı ve bağlayıcının dış görünüşü değişmediği için iki kablo dışarıdan ayırt edilmez; 80 telli kablolarda bağlayıcılar renklendirilerek hangi ucun nereye takılacağı belirtilir.

Aygıt 0 ve aygıt 1

Bir kabloya iki aygıt bağlanabilir. Standart bunları aygıt 0 ve aygıt 1 diye adlandırır; günlük kullanımda yaygın olan ana ve uydu adlandırması standardın kendi terimleri değildir ve yanıltıcıdır, çünkü aygıt 0'ın aygıt 1 üzerinde hiçbir yetkisi yoktur. İkisi de yalnızca ana karttaki arayüze yanıt verir; hangi aygıtın ne zaman konuşacağını arayüz belirler.

Kabloda tek aygıt varsa çoğu durumda aygıt 0 olarak ayarlanır. Aygıtın hangi numarayı alacağı sürücü üzerindeki bir köprüyle ya da kablo seçimi düzeniyle belirlenir.

Kablo seçimi

Kablo seçiminde aygıt numarası elle ayarlanmaz; sürücü, kablonun hangi ucuna takıldığına bakarak numarasını kendisi belirler. Karar 28 numaralı bacaktan okunur: ana karttaki arayüz bu bacağı toprağa çeker, kablo ise bacağı yalnızca bir bağlayıcıya ulaştırır. Bacağı topraklanmış gören sürücü aygıt 0, görmeyen aygıt 1 olur.

40 telli kablolarda bu, iki bağlayıcı arasındaki ilgili telin kesilmesiyle sağlanıyordu ve aygıt 0 ortadaki bağlayıcıya düşüyordu. Kabloda tek aygıt varsa geriye kullanılmayan bir kablo ucu kalıyor, bu uç yüksek hızlarda sinyal yansımasına yol açıyordu. 80 telli kablolarda düzen değiştirilmiş, aygıt 0 kablonun ucuna alınmıştır; böylece tek aygıtlı kurulumda boşta uç kalmaz.

Aktarım kipleri

ATA iki ayrı aktarım yöntemi tanımlar. Programlı giriş/çıkış kipinde veriyi işlemci taşır: her sözcük için işlemci arayüzden okuma yapar ve belleğe yazar. Yöntem basittir ama aktarım boyunca işlemciyi meşgul eder, dolayısıyla disk erişimi yoğun işlerde bilgisayarın geri kalanını yavaşlatır.

Doğrudan bellek erişimi kipinde aktarımı sürücünün denetleyicisi yürütür ve veriyi doğrudan belleğe yazar. İşlemci yalnızca aktarımın başında ve sonunda devreye girer, arada başka iş yapabilir. Ultra DMA adıyla anılan sonraki kipler bu yöntemi daha yüksek hızlara taşımıştır; en hızlı kipler yalnızca 80 telli kabloyla çalışır.

Bir kabloya bağlı iki aygıtın farklı hızlarda çalışması başarımı düşürmez; çağdaş arayüzler her aygıtla kendi hızında konuşur. Buna karşılık aygıtlar kabloyu sırayla kullandığından, yavaş bir aygıtın süren işlemi öteki aygıtın beklemesine yol açar.

Adresleme ve kapasite sınırları

Arayüzün tarihi, art arda aşılan kapasite sınırlarıyla belirlenmiştir. İlk sürümlerde sektörler silindir, kafa ve sektör numarasıyla adresleniyordu. Bu adresleme, bilgisayarın açılış yazılımının kendi sınırlarıyla birleştiğinde kullanılabilir kapasiteyi 504 MiB'e indiriyordu; iki tarafın sınırlarından her birinin en dar değeri geçerli oluyordu.

Mantıksal blok adreslemeye geçilmesiyle sektörler tek bir numarayla adreslenmeye başlandı. 28 bitlik numara 228 sektöre, 512 baytlık sektörlerle yaklaşık 137 GB'a (128 GiB) karşılık gelir. Altıncı sürümde adres 48 bite çıkarılmış, sınır 144 PB'a (128 PiB) taşınmıştır.

Bu sınırların aşılması yalnızca sürücünün desteklemesine bağlı değildir. Açılış yazılımının, işletim sisteminin ve sürücü yazılımının da yeni adreslemeyi tanıması gerekir; aradaki herhangi bir katman eski sınırda kalırsa sürücü olduğundan küçük görünür ya da bilgisayar açılmaz.

Sınırlamalar

Koşut ATA'nın belirgin bir kısıtı, arayüzün bir komut tamamlanmadan ötekini almamasıdır. Bir okuma sürerken aynı kablodaki başka bir aygıta komut verilemez; komutlar sıraya konur ve teker teker yürütülür. Dördüncü sürümde tanımlanan üst üste binen ve kuyruklu çalışma özellikleri isteğe bağlı bırakılmış, yaygın olarak gerçeklenmemiştir.

Bu kısıt, aynı kabloya hızlı bir sabit disk ile yavaş bir optik sürücü bağlandığında somut biçimde görünür: optik sürücüye verilen bir komut sürerken disk kabloyu kullanamaz. SCSI'nin uzun süre sunucularda yeğlenmesinin nedenlerinden biri, o arayüzün komut kuyruklamayı baştan desteklemesidir.

Kablo uzunluğunun 46 santimetreyle sınırlı olması ve her kablonun yalnızca iki aygıt alması da arayüzü kısıtlamıştır. Çok sayıda sürücü bağlanması gereken sistemlerde ana kart üzerinde birden çok ATA arayüzü bulundurmak gerekmiştir.

Standart sürümleri

Aşağıdaki çizelge standardın sürümlerini ve her sürümde eklenen aktarım kiplerini gösterir. Verilen hızlar kablo üzerindeki kuramsal en yüksek değerlerdir; sürücünün diskten okuma hızı çoğunlukla bunun altında kalır ve arama süresi ile dönüş gecikmesi başarımı daha çok belirler.

Sürüm Yaygın adı Eklenen aktarım kipleri (MB/s) Eklenen başlıca özellik ANSI belgesi
ATA-1 ATA, IDE PGÇ 0–2 (3,3 / 5,2 / 8,3) ilk standart X3.221-1994
ATA-2 EIDE, Fast ATA PGÇ 3–4 (11,1 / 16,6) 28 bitlik mantıksal blok adresleme X3.279-1996
ATA-3 EIDE S.M.A.R.T. ile durum izleme, parola koruması X3.298-1997
ATA/ATAPI-4 Ultra ATA/33 Ultra DMA 0–2 (16,7 / 25,0 / 33,3) ATAPI ile optik ve teyp aygıtları NCITS 317-1998
ATA/ATAPI-5 Ultra ATA/66 Ultra DMA 3–4 (44,4 / 66,7) 80 telli kablo NCITS 340-2000
ATA/ATAPI-6 Ultra ATA/100 Ultra DMA 5 (100) 48 bitlik adresleme NCITS 361-2002
ATA/ATAPI-7 Ultra ATA/133 Ultra DMA 6 (133) Serial ATA'nın standarda alınması INCITS 397-2005

Çizelgedeki PGÇ kısaltması programlı giriş/çıkış kipini gösterir. Son sütun, sürümü yayımlayan ANSI belgesinin numarasıdır; kurumun adı bu süre içinde X3, NCITS ve INCITS olarak değişmiştir.

Kaynakça

  1. ^ a b c d e f g h i j k Stallings, William (2019). Computer Organization and Architecture: Designing for Performance (11 bas.). Pearson. ISBN 978-0-13-499719-3. 
  2. ^ a b c d e f g h i j k l m n o p INCITS (2005). AT Attachment with Packet Interface - 7 (ATA/ATAPI-7). American National Standards Institute. INCITS 397-2005. 
  3. ^ a b NCITS (2002). AT Attachment with Packet Interface - 6 (ATA/ATAPI-6). American National Standards Institute. NCITS 361-2002.