ATA

Geçmiş

Birincil özelliği, daha sonra 'AT bus' olarak adlandırılan ISA bus a 16-bitlik direk bağlantı oluşturmasından dolayı orijinal adı PC/AT Attachment olarak tasarlandı. Daha sonra "AT Attachment" olarak kısaltıldı.
Bu aygıtın isminin daha önceki versiyonu, anakarta bağlı olup kendi ayrı denetmenine (controller) sahip olmasından ötürü ( bu özelliği ona anakartta ayrı bir host adapter arayüzü olma özelliğini sağlar ), 1980lerin sonunda Western Digital tarafından tasarlanmış, Entegre Edilmiş Sürücü Elektroniği (Integrated Drive Elektronics – IDE) dir. Yine Western Digital tarafından standart ATA’ya ek olarak üretilen Enhanced IDE (EIDE) ( Geliştirilmiş IDE ) 528 megabayt (504 mebibayt) tan , 8.4 gigabayt a kadar depolama kapasitesine sahiptir. Bu yeni isimler resmi olmamasına rağmen , IDE ve EIDE terimleri genellikle PATA yerine kullanılabilir olarak görülürler. Bunun sebebi aynı tüketim aygıtının iki farklı teknoloji olarak tanıtılmasına dayandırılabilir. 2003 yılında Serial ATA isimlendirmesi ile , geleneksel ATA ismi Parallel ATA (P-ATA) olarak değişmiştir.
Arayüz ilk başta sadece hard diskle çalışıyordu, ama daha sonra başka aygıtların da arayüzle çalışması gereği ortaya çıktı. Bu aygıtlar, başlıca CD-ROM ve DVD-ROM sürücüleri , tape drive (sürücüleri) ve Zip drive ve SuperDisk drive gibi geniş kapasiteli floppy sürücüleridir. Western Digital ve Oak Technologies şirketlerinin geliştirdiği non-ANSI SFF-8020 ile üretilmeye başlayan eklentiler , AT Attachment Packet Interface (ATAPI) ismini ortaya çıkarmıştır. Ama 4. versiyondan beri standart olarak bütün isim ATA/ATAPI olarak bilinmektedir. Kaldırılabilir medya aygıtları ARMD (ATAPI Removable Media Device) olarak sınıflandırılmıştır ve bir floppy diskte ya da yönetici sistem sürücüsünde görülebilir.
programmed input/output (PIO) dan direct memory access (DMA) ya hareket , ATA tarihinde başka önemli bir değişimi sağlamıştır. Bütün bilgisayar kelimeleri CPU tarafından okunmalıdır , ama PIO yavaş hareket eder ve CPU kaynaklarını kullanır. Bu durum önbelleksel ana belleğin dışındaki bir bilgiye ulaşmaya çalışan CPU için büyük bir problem oluşturur. Bu , ATA aygıtı çevresinde bulunan sistemlerin diske bağlı işlemlerde SCSI ya da başka bir arayüz kullanan bilgisayarlara göre daha yavaş olduğu anlamına gelir. Oysa DMA( daha sonraUltra DMA ya da UDMA ismini alır) CPU’nun diskte yazma ve okuma işlemlerinin hızlarını büyük ölçüde düşürür. Bu doğrudur çünkü DMA ve UDMA disk denetimcisinin belleğe veri yazmasına direk izin verir, böylece CPU by-pass’lanır.
Orijinal ATA’da 28 – bitlik adresleme modu kullanılırdı. Bu durum 512 baytlık 2²⁸ (268,435,456) sektörün adreslenmesi anlamına gelirdi. Sonuç olarak maksimum 137 gigabytes (128 GiB) yer elde edilirdi. Maksimum 1024 silindire , 256 başlığa ve 63 sektöre sahip olan standart PC BIOS sistemi 7.88 GiB (8.46 GB) a kadar desteklenebilmekteydi. Standart PC BIOS sistemlerindeki CHS limitasyonlarının en düşük ortak denominatörleri ile IDE birleştiklerinde , sistem 504 mebibytes kadar limitli hale gelmiştir.
ATA-6 limiti 128 PiB (veya 144 petabytes) a kadar çıkarma ile, 48 bit adresleme yapabilir. Windows 200 gibi bazı OS çevreleri 48-bit LBA yı etkin hale getirmezler , böylece kullanıcı 160 GB sürücüde tam kapasite için ekstra adımlara ihtiyaç duyar.
Bu ölçü limitasyonları olmalıdır. Çünkü sistemin bazı parçaları, bazı limitlerin ötesindeki blok adreslerini işleyemezler. Sistem bir sürücünün boyutunu düşündüğü zaman ya da ön yüklemeyi reddedip sürücüleri başlangıç yapma noktasında BIOS ekranında kalmaya devam ediyorsa bu problem kendini gösterir. Bazı durumlarda anakart için BIOS güncellemesi sorunu çözer. Bu problem , kullanılabilir diski 128 GB a limitleyen eski dış FireWire disk koruncağında da görülür. 2005'in başlarında koruncaklar pratiksel olarak limitsiz olmaya elverişliydi.

Tek kabloda birden fazla aygıt

Eğer bir kabloya iki tane aygıt bağlanırsa bir tanesi ana aygıt (master) diğeri yan aygıt (slave) olarak davranır. Bilgisayarın BIOS'ı ve/veya işleyici sistem i uygun aygıtları taradığı zaman ana aygıt ilk görünendir. Eski BIOS'larda (486 era ve daha öncekiler) aygıt bios tarafından ana aygıt için "C", yan aygıt için de "D" olarak isimlendirilirdi.
Eğer kabloda sadece bir aygıt varsa, çoğu durumda o aygıt ana aygıt olarak düzenlenir. Ama bazı sürücüler bu düzenleme için tek aygıt isimli özel ayara sahiptirler (Western Digital).
Tabii ki, uygun yazılım ve donanımlara bakılırsa, kablodaki tek bir sürücü yan sürücü olmasına rağmen, güvenilir biçimde çalışabilmektedir (bu düzenleme genellikle CDROM kanala sahip olduğu zaman görülmektedir).

Ana aygıt ve yan aygıt

Genellikle kullanılmasına rağmen, ana aygıt ve yan aygıt terimleri ATA’nın eski versiyonlarında görülmemektedir. İki aygıt aygıt 0(ana aygıt) ve aygıt 1 (yan aygıt) olarak adlandırılır. "ana sürücü hangi aygıtın kanalı kullanmasına hakemlik eder" düşüncesi eski ve yaygındır. Aslında Ana işleyici sistem de aynı işi yapar. Bu yüzden ATA protokolünde bir aygıt diğerine kanalı kullanması için talepte bulunmaz. İkisi de Ana İşleyici sistemi için yan aygıttırlar.

Serilendirilmiş, sınırı aşmış (overlapped) ve kuyruk (queued) operasyonlar

ATA-3 e kadar olan Paralel ATA lar , bir komut kanala verildiği zaman diğer bir komut gelene kadar işlemin bitirilmesine ihtiyaç duyarlar. Yani başka bir deyişle , ATA ana arayüzü dikkate alınarak, tek bir komut işleme alınacak biçimde serileştirilmesi işlemine ihtiyaç duyar. Bu işlem genellikle Ana işleyici sistemde bir sürücü tarafından yapılırdı.
Örneğin ; bir okuma komutunun bir sürücü tarafından kabloya verildiğini düşünelim. Sürücü okuma işlemini bitirene kadar, başka bir sürücünün talep ettiği komutu işleme almak ya da aynı sürücünün diğer ek komutlarını ilk yolladığı işlem bittikten sonra kabloya almak mümkün değildir (bu işlem "sınırı aşmış" (overlapped) ve "kuyruk" (queued) fonksiyonlar olarak da bilinir).
En mantıklı model, Ana ATA arayüzünün aldığı ilk komutu işlerken işlem bitene kadar diğer komut talebini almayandır.
ATA-4 ve alt versiyonlar "sınırı aşma ayarı" (overlapped feature set) ve "kuyruk ayarı" (queued feature set) denen iki istemli özellik içerirler. Ama bu özellikler Paralel ATA larda pek desteklenmezler.
Fakat, bazı durumlarda sınırı aşma ve kuyruk işlemleri diğer kaydetme veriyollarında görülür. etiketlendirilmiş komut kuyruklama (tagged command queueing) SCSI nın karakterinde görülür ve bu işlem ATA ya göre SCSI nın büyük bir önemli avantajı olarak görülür. Seri ATA nın ilk çıkan sürümünde doğal komut kuyruklama görülür ama bu özellik sadece birkaç (genellikle pahalı olan) Seri ATA sürücülerinde vardır.

Karma (mixed) aygıt hızları

Şöyle bir yanlış kanı vardır: eğer iki aygıt tek kabloya bağlıysa veri transferi yavaş olanın hızına göre yapılır. Bu kanı sadece çok eski çiplerde ya da içe ekle adaptörlerinde (add-in) geçerlidir.
Bütün modern ATA arayüzleri, veri transferini en iyi hızda yapan, bağımsız zamanlama yöntemini destekler.
Fakat, Paralel ATA lardaki sınırı aşma ve Kuyruklama ayarlarının ihmali nedeniyle, önceki paragrafta söylenenler düzeltilmelidir. İşlem veri transferi fazına uygulanır ama bu genellike yazma ya da okuma işleminin küçük bir bölümüdür. Her aygıt giriş çıkış işlemi için farklı sürelere ihtiyaç duyar ve kabloda tek aygıtın komutları çalıştırılır ve diğer aygıtların performanslarını etkiler.
Örneğin DVD-ROM gibi bir optik aygıt düşünelim ve ana sürücüyle aynı Paralel ATA kablosuna bağlı olsun. Hızlı tipik bir Paralel ATA ana sürücüsü bir okuma ya da yazma işlemini 10 milisaniyeden daha az sürede yaparken, DVD-ROM için bir okuma işlemi ortalama 100 milisaniye sürer.
Bu, eğer ana sürücü serbestse (yani kabloda tekse) saniyede 100 den fazla işlemi yapabileceği anlamına gelir. Ama, kabloda başka aygıtlarda olduğundan dolayı, eğer DVD-ROM a bir kez okuma komutu geldiği zaman DVD-ROM işlemi bitirene kadar ana sürücü kabloyu kullanamaz. Eğer DVD-ROM ortalama süreç istemleriyle meşgulse ve ana işleyici sistem sürücüsü iki aygıta da komut gönderiyorsa. Bu yüzden ana sürücü DVD-ROM kullanılırken saniyede 10 işlem yapabilirliğiyle limitlendirilirdi (veriler ana sürücüden ya da ana sürücüye transfer olurlarken bile).
Bu durumun etkisi uygulamanın türüne bağlıdır. Örneğin ; optik bir sürücüden ana sürücüye veri alırken bu durum görülmez. Ama ana sürücüden aynı zamanda diğer görevler için iyi çıktı vermesi beklenir, bu yüzden optik sürücü ile aynı kabloda olmamalıdır.
Başka bir şey ise, bu vurgulanan durum, sadece yavaş sürücü kabul edildiği zaman etkili olur. Eğer gereksiz ise, bu durumun varlığı diğer aygıtların çalışma hızını etkilemeyecektir.