यह उन क्षेत्रों में से एक है जहां एसएटीए उप-रूपी है। समस्या स्टोरेज डिवाइस इंटरकनेक्ट प्रोटोकॉल स्तर पर है, और इस तरह यह संबंधित नहीं है कि आप किस सॉफ्टवेयर से चल रहे हैं। किसी अन्य फ़ाइल कापियर या किसी अन्य ऑपरेटिंग सिस्टम का उपयोग करना जादुई रूप से चीजों को बेहतर नहीं बना सकता है, सिवाय इसके कि यह समस्या के प्रभाव को कम करने के लिए अलग-अलग टाइमआउट मान सेट करने का प्रयास कर सकता है (जो हार्डवेयर और फर्मवेयर के आधार पर संभव नहीं हो सकता है या नहीं; नीचे देखें; )।
यहाँ कुछ महत्वपूर्ण बिंदु हैं:
- SATA के साथ, यदि ड्राइव जवाब देना बंद कर देता है, तो यह पूरे स्टोरेज सिस्टम को टाई कर सकता है, न कि केवल एक ड्राइव में समस्या आ रही है। इसमें निश्चित रूप से पूरे नियंत्रक को टाई करने की क्षमता है, और चूंकि अधिकांश उपभोक्ता प्रणालियों में केवल एक ही डिस्क नियंत्रक (मदरबोर्ड पर एकीकृत) है, इसका मतलब सभी भंडारण है। यह और भी बदतर है अगर ड्राइव कुछ गैर-मानक और / या अप्रत्याशित तरीके से विफल हो जाता है, जो निश्चित रूप से हो सकता है यदि ड्राइव सीमांत है। आप इस बात में रुचि रख सकते हैं कि हार्डवेयर SATA RAID-10 सरणी में एक एकल डिस्क पूरे सरणी को एक डरावने पड़ाव में कैसे ला सकती है? सर्वर दोष पर।
- अधिकांश उपभोक्ता SATA ड्राइव में लंबे समय तक डिफ़ॉल्ट टाइमआउट (मिनट के क्रम पर) होता है और कई उपभोक्ता SATA ड्राइव में विन्यास योग्य त्रुटि रिकवरी नियंत्रण की कमी होती है । तथाकथित "एनएएस" ड्राइव में अक्सर विन्यास योग्य ईआरसी होता है, और उच्च अंत ड्राइव लगभग हमेशा करते हैं; इस तरह के ड्राइव में छोटे डिफ़ॉल्ट टाइमआउट (7 सेकंड एक सामान्य मूल्य) भी हो सकते हैं। यदि ड्राइव डेटा की एकमात्र प्रति रखता है, जो दुर्भाग्य से उपभोक्ता प्रणालियों पर आम है, तो लॉन्ग टाइमआउट अवधि फायदेमंद है; वे अतिरेक विन्यास में एक नुकसान हैं या जहाँ आप बस ड्राइव को बंद करना चाहते हैं, इससे पहले कि यह और बिगड़ जाए।
- एक ड्राइव एक खराब सेक्टर को पढ़ने की कोशिश करता रहेगा जब तक कि वह अपने टाइमआउट थ्रेशोल्ड तक नहीं पहुंचता है या जब तक कि मेजबान द्वारा गर्भपात का संकेत नहीं दिया जाता है। चूँकि SATA बस को रीड के समाप्त होने के इंतजार के द्वारा बांधा जा सकता है, इसलिए OS के लिए स्टोरेज-लेवल कमांड एबॉर्ट संकेत देना संभव नहीं हो सकता है, और अत्यधिक मामलों में, ड्राइव SATA बस रीसेट पर भी अच्छी तरह से जवाब नहीं दे सकता है। ऐसी स्थिति में।
एसएएस पर सर्वर के लिए पॉइंट # 1 मुख्य विक्रय बिंदुओं में से एक है; एसएएस में एसएटीए की तुलना में काफी बेहतर त्रुटि है। प्वाइंट # 2 एक ड्राइव फर्मवेयर सीमा है, और # 3 केवल # 2 की वजह से वास्तव में एक समस्या बन जाती है।
तो क्या होता है कि ओएस डिस्क पर "रीड सेक्टर" कमांड जारी करता है, और विशेष सेक्टर किसी तरह क्षतिग्रस्त हो जाते हैं। इस प्रकार, डिस्क रेटर्स से डेटा प्राप्त करने की कोशिश करने के लिए डिस्क को पुनः प्रयास मोड में जाता है, बार-बार पढ़ने की कोशिश कर रहा है जब तक कि यह पर्याप्त पर्याप्त डेटा नहीं मिलता है कि डिस्क की अपनी त्रुटि सुधार ( FEC ) शेष त्रुटियों के लिए सही करने में सक्षम है। यदि आप अशुभ हैं, तो यह कभी भी नहीं हो सकता है, लेकिन यह तय करने से पहले कि यह समय काफी सफल रहा है, यह ड्राइव सफल रहेगी।
क्योंकि ऑपरेटिंग सिस्टम रीड की प्रतीक्षा कर रहा है, यह बहुत कम से कम क्रॉल करने के लिए कॉपी करने की प्रक्रिया को धीमा कर देगा, और सटीक ओएस आर्किटेक्चर के आधार पर ओएस को झटकेदार बना सकता है या अवधि के लिए फ्रीज भी कर सकता है। डिस्क, इस बिंदु पर, मूल रीड के साथ व्यस्त है और आगे पढ़ने के आदेशों का जवाब नहीं देगी जब तक कि वर्तमान में समाप्त होने वाले (सफलतापूर्वक या असफल) निष्पादित नहीं होता है, और अन्य सॉफ़्टवेयर आमतौर पर ऑपरेटिंग सिस्टम की तुलना में बेहतर नहीं करेंगे। चल रहा है।
इसलिए, कुछ भी जो एक रीड कहीं और चलाता है ( आदर्श रूप से , केवल क्षतिग्रस्त ड्राइव पर) लाइन में इंतजार करना पड़ता है जब तक कि क्षतिग्रस्त ड्राइव या तो सफलतापूर्वक सेक्टर को प्रश्न में पढ़ता है, या यह निर्धारित करता है कि इसे पढ़ा नहीं जा सकता है। गैर-जिम्मेदार ड्राइव के इष्टतम हैंडलिंग से SATA के कम होने के कारण, इसका मतलब यह हो सकता है कि न केवल जिस ड्राइव से आप कॉपी कर रहे हैं, उसके I / O में देरी होने वाली है। यह बहुत आसानी से अन्य सॉफ़्टवेयर को धीमा या अनुत्तरदायी बनने का कारण बन सकता है, क्योंकि यह सॉफ़्टवेयर किसी भिन्न I / O अनुरोध को समाप्त करने के लिए प्रतीक्षा करता है, भले ही ऑपरेटिंग सिस्टम सामना करने में सक्षम हो।
यहां यह नोट करना भी महत्वपूर्ण है कि डिस्क I / O तब भी हो सकता है जब आप डिस्क पर किसी भी फाइल को स्पष्ट रूप से एक्सेस नहीं कर रहे हों। इसके दो मुख्य कारण लोड-ऑन-डिमांड निष्पादन योग्य कोड, और स्वैप होंगे। चूंकि स्वैप का उपयोग कभी-कभी तब भी किया जाता है जब सिस्टम मेमोरी दबाव में नहीं होता है, और आधुनिक सिस्टम पर लोड-ऑन-डिमांड निष्पादन योग्य कोड सामान्य है और आधुनिक निष्पादन योग्य फ़ाइल स्वरूपों के साथ, सामान्य उपयोग के दौरान अनपेक्षित डिस्क रीड गतिविधि एक बहुत ही वास्तविक संभावना है।
जैसा कि माटेओ इटालिया द्वारा प्रश्न के लिए एक टिप्पणी में कहा गया था , एक मितव्ययी रणनीति एक अलग भंडारण इंटरकनेक्ट का उपयोग करना है, जो कहने का एक जटिल तरीका है "डिस्क को यूएसबी बाड़े में रखें"। USB मास स्टोरेज प्रोटोकॉल के माध्यम से अमूर्त करके , यह समस्याग्रस्त SATA भाग को आपके सिस्टम के बाकी हिस्सों से अलग करता है, जिसका अर्थ है कि सिद्धांत रूप में , उस डिस्क पर I / O समस्याओं से केवल विशिष्ट I / O प्रभावित होना चाहिए।
एक तरफ एक बिट के रूप में, यह बहुत ज्यादा क्यों है SATA (विशेष रूप से, ड्राइव-स्तर ईआरसी के बिना SATA) अक्सर RAID के लिए हतोत्साहित किया जाता है (विशेषकर RAID स्तर अतिरेक के साथ, जो मानक में से सभी RAID 0 को छोड़कर ) है; लंबी समय अवधि और खराब त्रुटि से निपटने के लिए आसानी से एक पूरे डिवाइस को एक खराब सेक्टर के लिए सरणी से बाहर फेंक दिया जा सकता है, जो कि RAID नियंत्रक ठीक ठीक से संभाल सकता है यदि अतिरेक मौजूद है और भंडारण नियंत्रक बस जानता है कि यह समस्या है। एसएएस को बड़े भंडारण सरणियों के लिए डिज़ाइन किया गया था, और इस तरह इस उम्मीद के साथ कि कभी-कभी विभिन्न ड्राइव पर समस्याएं होंगी, जिसके कारण इसे एकल समस्याग्रस्त ड्राइव के मामले को संभालने के लिए डिज़ाइन किया गया था या आई / ओ अनुरोध को शिष्टता सेभले ही ड्राइव नहीं करता है। उपभोक्ता प्रणालियों में समस्याग्रस्त डिस्क बहुत आम नहीं हैं, क्योंकि उन में बहुत सारे डिस्क स्थापित नहीं होते हैं, और जो स्थापित हैं वे वास्तव में कभी अतिरेक नहीं होते हैं; चूँकि SATA ने PATA / IDE को प्रतिस्थापित करने का उद्देश्य SCSI नहीं है (बाद में इसका उद्देश्य के लिए सर्वोच्च SAS है), यह संभावना है कि इसकी त्रुटि से निपटने की सुविधाओं और मांगों (या गारंटी) को इसके इच्छित उपयोग के मामले के लिए पर्याप्त माना जाता था।