एक डिस्क के लिए डेटा प्रवाह अनिवार्य रूप से पढ़ा जाता है:
- रीड / राइट असेंबली अनुरोधित सिलेंडर पर होने के बाद, अनुरोधित आर / डब्ल्यू हेड का चयन किया जाता है।
- प्रत्येक सेक्टर में, सेक्टर आईडी पढ़ा जाता है। यदि पढ़ा गया सेक्टर नंबर अनुरोधित सेक्टर नंबर से मेल खाता है, तो सेक्टर डेटा पढ़ा जाता है।
- सेक्टर डेटा को धारावाहिक बिट स्ट्रीम के रूप में पढ़ा जाता है, और बाइट में परिवर्तित किया जाता है।
- सेक्टर के बाइट्स को एक सेक्टर बफर (आमतौर पर नियंत्रक में SRAM) में संग्रहीत किया जाता है ; यह सेक्टर बफर "डिस्क कैश" से अलग है।
- एक बार पूरे क्षेत्र को पढ़ने के बाद, डेटा को ECC का उपयोग करके मान्य किया जाता है, और शायद सही किया गया है।
- एक बार मान्य होने के बाद, सेक्टर डेटा नियंत्रक से होस्ट पीसी में स्थानांतरित किया जाता है। नोट: इस क्षेत्र के बफर का अस्तित्व अच्छी तरह से ज्ञात नहीं है, और व्यापक गलत सूचना है कि मेजबान (उदाहरण) इंटरफ़ेस पर हस्तांतरण की गति आर / डब्ल्यू सिर पर बिट दर से बंधी या सीमित है। यह पूरी तरह से गलत है, क्योंकि ये दो डेटा ट्रांसफर स्वतंत्र और अनुक्रमिक संचालन हैं और समवर्ती नहीं हैं।
- जैसा कि पीसी एटीए इंटरफेस के माध्यम से डिस्क नियंत्रक से डेटा प्राप्त करता है, पीसी प्रोग्राम्ड आई / ओ का उपयोग कर सकता है (सीपीयू बार-बार एटीए पोर्ट के डेटा रजिस्टर को पढ़ता है और गंतव्य मेमोरी को मूल्य कॉपी करता है) या डीएमए (डीएमए नियंत्रक है) ATA पोर्ट के डेटा रजिस्टर से N बाइट्स को मेमोरी बफर w / o आगे CPU हस्तक्षेप से कॉपी करने के लिए सेटअप)।
- पीसी की मेमोरी "बफर" जो डेटा प्राप्त करता है, एप्लिकेशन का बफर हो सकता है (जब ब्लॉक I / O सिस्टम कॉल का उपयोग कर रहा हो), या फाइल सिस्टम कंट्रोल के तहत एक आंतरिक सिस्टम बफर, या यहां तक कि प्रोग्राम या डेटा मेमोरी हो सकती है यदि डेटा स्वैप से आया हो क्षेत्र (या पृष्ठ फ़ाइल)।
डिस्क के लिए एक लेखन समान है, सिवाय इसके कि डेटा को पीसी से डिस्क नियंत्रक में स्थानांतरित किया जाता है, ईसीसी की गणना की जाती है, अनुरोधित क्षेत्र स्थित है, और फिर डेटा को सेक्टर बफर से प्लैटर तक लिखा जाता है।
अतिरिक्त क्रेडिट के लिए:
" स्कैटर-इकट्ठा " स्थानांतरण पर पढ़ें , जो डीएमए चेनिंग और मेमोरी एड्रेस और बफर लंबाई की स्कैटर-इकट्ठा सूची का उपयोग करता है । एक बड़े, सन्निहित मेमोरी बफर के बजाय, एक "स्कैटर-इकट्ठा" स्थानांतरण डिस्क I / O अनुरोध के लिए गैर-सन्निहित मेमोरी बफ़र्स का उपयोग करने की अनुमति देता है।