सामान्यतया, आपके प्रश्न के सीधे उत्तर में, मुझे SATA ड्राइव के किसी भी प्रमुख ब्रांड के बारे में पता नहीं है कि ड्राइव में स्वयं ही कैशिंग लिखने के साथ उचित संचालन के लिए बग हैं। यही है, केवल ड्राइव के नजरिए से, ड्राइव वह करता है जो उसे कैशिंग के नजरिए से करना चाहिए। मैं यह भी ध्यान रखें होता है कि यहां तक कि जब लिखने कैशिंग है सक्षम, कि घूर्णन मीडिया शारीरिक रूप से अपडेट किया जा रहा करने के लिए SATA केबल पर एक डिस्क लिखने से देरी अभी भी बहुत ही कम (~ 50 100ms आम तौर पर करने के लिए) है। ऐसा नहीं है कि गंदे कैश डेटा एक समय में केवल सेकंड के लिए बैठे रहेंगे ..... ड्राइव लगातार कैश से गंदे डेटा प्राप्त करने की कोशिश कर रहा हैजितनी जल्दी हो सके भौतिक मीडिया पर। यह सिर्फ डेटा सुरक्षा का सवाल नहीं है, बल्कि भविष्य में बिना किसी देरी के राइट्स को स्वीकार करने के लिए तैयार होने का मतलब है (यानी: पोस्ट लिखना)।
कैशिंग सक्षम होने पर जो समस्या उत्पन्न होती है, वह यह है कि SATA केबल पर ड्राइव करने के लिए लिखने का क्रम और घूर्णन मीडिया के लिए लेखन आदेश समान नहीं है। यह कभी भी समस्या का कारण नहीं बन सकता है क्योंकि कैश की सभी सामग्री को डिस्क में करने से पहले आपको बिजली की हानि होती है या सिस्टम क्रैश होता है। क्यों? ->
यहां जो समस्या उत्पन्न हो सकती है, वह फाइल सिस्टम और / या डेटाबेस फाइल कंटेंट की ट्रांजेक्शन मजबूती से संबंधित है, जो खोए हुए राइट्स में से हैं। वास्तव में, जो संभावित रूप से आउट ऑफ ऑर्डर लिखते हैं, वे सैद्धांतिक रूप से लेन-देन के तर्क की अखंडता को भ्रष्ट कर सकते हैं जो अन्यथा मीडिया द्वारा बहुत ही विशिष्ट क्रम में होने वाली डिस्क द्वारा गारंटी दी गई होती हैं।
अब, निश्चित रूप से, फ़ाइल सिस्टम के डिज़ाइनर, डेटाबेस, RAID नियंत्रक आदि कैशिंग लिखने के लिए इस घटना के संबंध में जागरूक (या निश्चित रूप से जागरूक होने चाहिए) हैं। अधिकांश यादृच्छिक अभिगम प्रकार I / O परिदृश्यों में प्रदर्शन के दृष्टिकोण से लेखन कैशिंग अत्यंत वांछनीय है। वास्तव में, लेखन कैशिंग उपलब्ध होना एक अधिक महत्वपूर्ण मूल कमांड कमांडर ( NCQ) के लिए किसी भी वास्तविक लाभ के लिए सक्षम होने का एक महत्वपूर्ण तत्व है।) जो नए SATA और PATA कार्यान्वयन की अंतिम कुछ पीढ़ियों पर समर्थित है। इसलिए, ऐसे कुछ महत्वपूर्ण समय में भौतिक मीडिया को आदेश की गारंटी देने के लिए, फ़ाइल सिस्टम और / या एप्लिकेशन, आदि विशेष रूप से मीडिया के लिए लेखन कैश के एक फ्लश का अनुरोध कर सकते हैं। इस सिंक रिक्वेस्ट के पूरा होने पर - (संभावित) फाइल बफ़र्स, OS डिस्क कैशिंग, फिजिकल डिस्क कैशिंग आदि से लंबित सब कुछ सही क्रिटिकल ऑपरेशंस में ट्रांजैक्शन सिस्टम डिज़ाइन के अनुसार मीडिया पर होता है। यही है, यह सही ढंग से होता है यदि प्रोग्रामर शीर्ष पर सही कॉल (ओं) को बनाते हैं और सॉफ्टवेयर और हार्डवेयर परतों की इस श्रृंखला के प्रत्येक तत्व ने अपना काम सही ढंग से किया। यानी: इस संबंध में ड्राइव, RAID नियंत्रक, डिस्क ड्राइवर, ओएस कैश, फ़ाइल सिस्टम, डेटाबेस इंजन, आदि में कोई कीड़े नहीं हैं। यह बहुत से सॉफ्टवेयर है जो सभी को बिल्कुल सही काम करना है। इसके अतिरिक्त, इस संबंध में सत्यता की पुष्टि करना बहुत मुश्किल है क्योंकि लगभग किसी भी स्थिति में आम तौर पर लिखने का क्रम बिल्कुल भी मायने नहीं रखता है .... और बिजली की विफलता और क्रैश परिदृश्य निर्माण के लिए कठिन परीक्षण हैं। इसलिए, इस शब्द की एक या अधिक परतों और / या अर्थों में "राइट कैशिंग बंद करें" .... कुछ प्रकार के मुद्दों को "ठीक करने" की प्रतिष्ठा है। वास्तव में, RAID नियंत्रक या OS डिस्क कैश, या ड्राइव, आदि के लेखन कैशिंग व्यवहार को बंद करने से सिस्टम में एक या अधिक बग से बचा जा रहा है ..... और ऐसे विद्या के स्रोत। और बिजली की विफलता और क्रैश परिदृश्य निर्माण के लिए कठिन परीक्षण हैं। इसलिए, इस शब्द की एक या अधिक परतों और / या अर्थों में "राइट कैशिंग बंद करें" .... कुछ प्रकार के मुद्दों को "ठीक करने" की प्रतिष्ठा है। वास्तव में, RAID नियंत्रक या OS डिस्क कैश, या ड्राइव, आदि के लेखन कैशिंग व्यवहार को बंद करने से सिस्टम में एक या अधिक बग से बचा जा रहा है ..... और ऐसे विद्या के स्रोत। और बिजली की विफलता और क्रैश परिदृश्य निर्माण के लिए कठिन परीक्षण हैं। इसलिए, इस शब्द की एक या अधिक परतों और / या अर्थों में "राइट कैशिंग बंद करें" .... कुछ प्रकार के मुद्दों को "ठीक करने" की प्रतिष्ठा है। वास्तव में, RAID नियंत्रक या OS डिस्क कैश, या ड्राइव, आदि के लेखन कैशिंग व्यवहार को बंद करने से सिस्टम में एक या अधिक बग से बचा जा रहा है ..... और ऐसे विद्या के स्रोत।
वैसे भी, प्रश्न के मूल में वापस आना: एसएटीए के तहत, सभी डिस्क रीड / राइट कमांड के विशिष्ट हैंडलिंग और फ्लश कैश कमांड SATA विनिर्देशों द्वारा अच्छी तरह से परिभाषित किए जाते हैं । इसके अतिरिक्त, ड्राइव मैन्युफैक्चरर्स के पास प्रत्येक ड्राइव मॉडल या ड्राइव परिवार के लिए विस्तृत दस्तावेज़ीकरण होना चाहिए, जो सीगेट बाराकुडा ड्राइव के लिए इस तरह के नियमों के कार्यान्वयन और अनुपालन का वर्णन करता है। विशेष रूप से, SATA SET फीचर्स का विवरण देखेंकमांड जो ड्राइव ऑपरेशनल मोड को नियंत्रित करता है और विशेष रूप से विकल्प 82h का उपयोग ड्राइव स्तर पर डिस्क कैशिंग को अक्षम करने के लिए किया जा सकता है क्योंकि डिफ़ॉल्ट निश्चित रूप से उन सभी ड्राइवों पर सक्षम कैशिंग लिखना है जिनके बारे में मुझे पता है। यदि आप वास्तव में कैश को अक्षम करना चाहते हैं, तो यह कमांड प्रत्येक ड्राइव रीसेट या पावर अप के प्रारंभ में किया जाना है और आमतौर पर आपके ऑपरेटिंग सिस्टम के लिए डिस्क ड्राइवरों के नियंत्रण में है। आप अपने OS ड्राइवर को IOCTL और / या रजिस्ट्री सेटिंग प्रकार के माध्यम से इस मोड को सेट करने के लिए प्रोत्साहित करने में सक्षम हो सकते हैं, लेकिन यह व्यापक रूप से भिन्न होता है।