यह इस तरह काम करता है:
अधिकांश ऑपरेटिंग सिस्टम में एक सिस्टम कॉल होता है जो तथाकथित "सिंक्रोनस राइट" की अनुमति देता है। इसका मतलब यह है कि एक लेखन ऑपरेशन के दौरान, यदि कोई लेखन पूरा हो गया है, तो यह गारंटी है कि यह डिस्क के लिए प्रतिबद्ध था।
तुल्यकालिक लेखन इसलिए गैर-कैश किया गया है। यह एप्लिकेशन को तब तक ब्लॉक करता है जब तक वह पूरा नहीं हो जाता। इस तरह का ऑपरेशन स्पष्ट रूप से कैश किए गए लेखन की तुलना में धीमा है जो ओएस मेमोरी में डेटा रखता है जब तक कि डिस्क पर्याप्त रूप से निष्क्रिय न हो और फिर डेटा लिखता है।
कुछ महत्वपूर्ण सॉफ़्टवेयर, जैसे डेटाबेस सॉफ़्टवेयर, महत्वपूर्ण डेटा के लिए समकालिक लिखते हैं क्योंकि बिजली की हानि के मामले में आधा-लिखित अद्यतन डेटाबेस की अखंडता के लिए हानिकारक हो सकता है।
RAID कंट्रोलर RAID -5 के साथ कुख्यात रूप से धीमा होता है, इसलिए यह एक समस्या बन जाती है यदि आपका एप्लिकेशन सॉफ़्टवेयर बहुत सारे सिंक्रोनस राइट्स का उपयोग करता है। इस कारण से, RAID-5 नियंत्रक अपने स्वयं के कैश से लैस हैं।
RAID नियंत्रक क्या करता है, यह इसके बजाय डेटा को इसके कैश में लिखता है और OS को LIES करता है, यह बताकर कि उसने डेटा को डिस्क के लिए प्रतिबद्ध किया है जबकि डेटा वास्तव में अभी भी RAID कैश में है।
लेकिन अगर डेटा RAID कंट्रोलर के बफर में था तब भी क्या हुआ था? आपके पास अपने डिस्क पर एक आधा-लिखित और संभवतः असंगत डेटा होगा।
आप कह सकते हैं कि यह व्यवहार एक समकालिक लेखन के उद्देश्य को पराजित करता है ... यदि कैश्ड लिखना ठीक था, तो ऐप सॉफ़्टवेयर पहले स्थान पर सिंक लिखने के लिए नहीं कहेगा।
समझौता यह है: RAID नियंत्रक अभी भी ओएस पर टिका हुआ है कि उसने डेटा को डिस्क के लिए प्रतिबद्ध किया है, लेकिन बिजली की विफलता के मामले में इस महत्वपूर्ण डेटा को बचाने के लिए, RAID नियंत्रक में एक बैटरी होती है जो कैश को कुछ समय तक जीवित रखती है जब तक कि बिजली नहीं हो सकती बहाल।
इसलिए जब बिजली वापस आती है और डिस्क स्पिन हो जाती है और प्रारंभिक हो जाती है, तो नियंत्रक के पास अभी भी बैटरी के लिए इसके कैश में डेटा होता है और डिस्क पर अपना लेन-देन लिख सकता है।
सबकी ख़ुशी।
यही कारण है कि RAID नियंत्रक आमतौर पर आपको कैश लिखने में सक्षम नहीं करते हैं जब तक कि आपके पास एक कार्यात्मक और चार्ज की गई बैटरी इकाई न हो।