डिस्क बफर: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(11 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[File:Fujitsu MPG3307AH ms avrs-110909.jpg|thumb|इस हार्ड डिस्क ड्राइव पर, कंट्रोलर बोर्ड में डिस्क बफर के लिए उपयोग किया जाने वाला रैम इंटीग्रेटेड सर्किट होता है।]]
[[File:Fujitsu MPG3307AH ms avrs-110909.jpg|thumb|इस हार्ड डिस्क ड्राइव पर, कंट्रोलर बोर्ड में डिस्क बफर के लिए उपयोग किया जाने वाला रैम इंटीग्रेटेड सर्किट होता है।]]
[[File:WD5000AAKX 16MB Buffer.jpg|thumb|16 एमबी बफर के साथ 500 जीबी [[ पश्चिमी डिजिटल ]] हार्ड डिस्क ड्राइव]][[कंप्यूटर भंडारण|कंप्यूटर]] [[कंप्यूटर भंडारण|स्टोरेज]] में, डिस्क बफर (जिसे प्रायः डिस्क कैश या कैश बफर, अस्पष्ट रूप से कहा जाता है) हार्ड डिस्क ड्राइव (एचडीडी) या सॉलिड स्टेट ड्राइव (एसएसडी) में एम्बेडेड मेमोरी होती है जो कंप्यूटर के अन्य हिस्से और भौतिक [[ हार्ड डिस्क थाली |हार्ड डिस्क प्लैटर]] या फ्लैश मेमोरी के मध्य बफर के रूप में कार्य करती है।<ref>{{cite web
[[File:WD5000AAKX 16MB Buffer.jpg|thumb|16 एमबी बफर के साथ 500 जीबी [[ पश्चिमी डिजिटल ]] हार्ड डिस्क ड्राइव]][[कंप्यूटर भंडारण|कंप्यूटर]] [[कंप्यूटर भंडारण|स्टोरेज]] में, डिस्क बफर (जिसे प्रायः डिस्क कैशे या कैशे बफर, अस्पष्ट रूप से कहा जाता है) हार्ड डिस्क ड्राइव (एचडीडी) या सॉलिड स्टेट ड्राइव (एसएसडी) में एम्बेडेड मेमोरी होती है, जो कंप्यूटर के अन्य हिस्से और भौतिक [[ हार्ड डिस्क थाली |हार्ड डिस्क प्लैटर]] या फ्लैश मेमोरी के मध्य बफर के रूप में कार्य करती है।<ref>{{cite web
  | url = http://compreviews.about.com/od/storage/a/HDBuyersPt1.htm
  | url = http://compreviews.about.com/od/storage/a/HDBuyersPt1.htm
  | title = What to Look for in a Hard Drive
  | title = What to Look for in a Hard Drive
Line 6: Line 6:
  | author = Mark Kyrnin | website = about.com
  | author = Mark Kyrnin | website = about.com
  | quote = A drive's buffer is an amount of RAM on the drive to store frequently accessed data from the drive.
  | quote = A drive's buffer is an amount of RAM on the drive to store frequently accessed data from the drive.
}}</ref> आधुनिक [[कंप्यूटर भंडारण|हार्ड डिस्क ड्राइव]] में 8 से 256 मेगाबाइट तक ऐसी मेमोरी होती है, जबकि [[ठोस राज्य ड्राइव|सॉलिड स्टेट ड्राइव]] में 4 जीबी तक कैश मेमोरी होती है।<ref>{{cite web |url=https://www.samsung.com/semiconductor/minisite/ssd/product/consumer/860pro/ |title=Samsung SSD 860 PRO &#124; Samsung V-NAND Consumer SSD &#124; Samsung Semiconductor Global Website |website=Samsung |archive-url=https://web.archive.org/web/20180406055035/https://www.samsung.com/semiconductor/minisite/ssd/product/consumer/860pro/ |archive-date=April 6, 2018 |url-status=live |access-date=July 16, 2018 |quote=CACHE MEMORY: 4 GB Low Power DDR4 (4,096 GB)}}</ref>                                                                                                                                          1980 के दशक के बाद से, लगभग सभी डिस्क [[ microcontroller |सूक्ष्म नियंत्रक]] और,आनुक्रमिक [[सीरियल एटीए|एटीए]], [[एससीएसआई]] या तन्तु प्रणाली अंतरापृष्ठ विनिर्देश के साथ आते हैं। ड्राइव परिपथ सामान्यतः थोड़ी सी मेमोरी रखती है, जो डिस्क प्लेटर्स से आने वाले और जाने वाले डेटा को स्टोर करने के उपयोग में लायी जाती है।
}}</ref> आधुनिक [[कंप्यूटर भंडारण|हार्ड डिस्क ड्राइव]] में 8 से 256 मेगाबाइट तक मेमोरी होती है, जबकि [[ठोस राज्य ड्राइव|सॉलिड स्टेट ड्राइव]] में 4 जीबी तक कैशे मेमोरी होती है।<ref>{{cite web |url=https://www.samsung.com/semiconductor/minisite/ssd/product/consumer/860pro/ |title=Samsung SSD 860 PRO &#124; Samsung V-NAND Consumer SSD &#124; Samsung Semiconductor Global Website |website=Samsung |archive-url=https://web.archive.org/web/20180406055035/https://www.samsung.com/semiconductor/minisite/ssd/product/consumer/860pro/ |archive-date=April 6, 2018 |url-status=live |access-date=July 16, 2018 |quote=CACHE MEMORY: 4 GB Low Power DDR4 (4,096 GB)}}</ref>                                                                                                                                          1980 के दशक के पश्चात, लगभग सभी डिस्क [[ microcontroller |सूक्ष्म नियंत्रक]] और आनुक्रमिक [[सीरियल एटीए|एटीए]], [[एससीएसआई]] या तन्तु प्रणाली अंतरापृष्ठ विनिर्देश के साथ आते हैं। ड्राइव परिपथ सामान्यतः कम मेमोरी रखती है, जो डिस्क प्लेटर्स से आने-जाने वाले डेटा को स्टोर करने के उपयोग में लायी जाती है।
डिस्क बफर भौतिक रूप से पेज कैश से अलग होता है और कंप्यूटर के मुख्य मेमोरी में संचित ऑपरेटिंग सिस्टम द्वारा सामान्यतः रखे जाने वाले पेज कैश से भिन्न तरीके से उपयोग किया जाता है। हार्ड डिस्क ड्राइव में [[ microcontroller |सूक्ष्म नियंत्रक]] द्वारा डिस्क बफर को नियंत्रित किया जाता है, जबकि पेज कैश कंप्यूटर द्वारा नियंत्रित किया जाता है जिससे वह डिस्क से जुड़ा होता है। डिस्क बफर सामान्यतः बहुत छोटा होता है, 8 मेगाबाइट से 4 जीबी तक का, और पेज कैश सामान्यतः अपयोगित मेमोरी होता है। जबकि पेज कैश में डेटा कई बार पुनः प्रयोग किया जाता है, और डिस्क बफर में डेटा पुनः उपयोग नहीं किया जाता है। इस मानदंड के अनुसार, डिस्क कैश और कैश बफर शब्द गलत हैं; एम्बेडेड नियंत्रक की मेमोरी को उचित रूप से डिस्क बफर कहा जाना चाहिए।
डिस्क बफर भौतिक रूप से पेज कैशे से अलग होता है, और कंप्यूटर के मुख्य मेमोरी में संचित ऑपरेटिंग सिस्टम द्वारा सामान्यतः रखे जाने वाले पेज कैशे अलग-अलग विधियों द्वारा उपयोग किया जाता है। हार्ड डिस्क ड्राइव में [[ microcontroller |सूक्ष्म नियंत्रक]] द्वारा डिस्क बफर को नियंत्रित किया जाता है, जबकि पेज कैशे कंप्यूटर द्वारा नियंत्रित किया जाता है, जिससे वह डिस्क से जुड़ा होता है। डिस्क बफर 8 मेगाबाइट से 4 जीबी तक होता है, जो सामान्यतः बहुत छोटा होता है, और पेज कैशे अपयोगित मेमोरी होता है, जबकि पेज कैशे में डेटा कई बार पुनः प्रयोग किया जाता है, और डिस्क बफर में डेटा पुनः उपयोग नहीं किया जाता है। इस मानदंड के अनुसार, डिस्क कैशे और कैशे बफर शब्द गलत हैं; एम्बेडेड नियंत्रक की मेमोरी को उचित रूप से डिस्क बफर कहा जाना चाहिए।


ध्यान दें कि [[डिस्क सरणी नियंत्रक]], [[डिस्क नियंत्रक|डिस्क नियंत्रको]] के विपरीत, लगभग 0.5–8  जीबी की सामान्य कैश मेमोरी होती है।
ध्यान दें कि [[डिस्क सरणी नियंत्रक]], [[डिस्क नियंत्रक|डिस्क नियंत्रको]] के विपरीत, लगभग 0.5–8  जीबी की सामान्य कैशे मेमोरी होती है।


== उपयोग करता है ==
== उपयोग ==


===रीड-फॉरवर्ड/रीड-बैक ===
===आगे की ओर पढ़े / पीछे की ओर पढ़े ===
जब एक डिस्क नियंत्रक भौतिक रीड को निष्पादित करता है, तो प्रेरक रीड/राइट हेड को सही सिलेंडर के पास ले जाता है। कुछ ठहराव के बाद रीड हेड को ठीक से सेट करने के उपरांत रीड हेड ट्रैक डेटा को लेना प्रारंभ कर देता है और पुनः उसे प्रतीक्षा  करना होता है जब तक प्लेटर के घूमने से अनुरोधित डेटा उपलब्ध नहीं हो जाता।
जब एक डिस्क नियंत्रक भौतिक रीड को निष्पादित करता है, तो प्रेरक रीड/राइट हेड को सही सिलेंडर के पास ले जाता है। कुछ ठहराव के पश्चात रीड हेड को ठीक से सेट करने के उपरांत रीड हेड ट्रैक डेटा को लेना प्रारंभ कर देता है, और पुनः उसे प्रतीक्षा  करना होता है, जब तक प्लेटर के घूमने से अनुरोधित डेटा उपलब्ध नहीं हो जाता है।


इस प्रतीक्षा के समय अनुरोध से पहले पढ़ी गई डेटा अनुरोधित नहीं होती है लेकिन मुक्त होती है, इसलिए यह डिस्क बफर में सहेजा जाता है जिससे यदि बाद में इसे अनुरोध किया जाए तो उपलब्ध हो सके।
प्रतीक्षा के समय अनुरोध से पहले पढ़ी गई डेटा अनुरोधित नहीं होती है, परंतु मुक्त होती है, इसलिए यह डिस्क बफर में संचित  किया जाता है, जिससे यदि बाद में इसे अनुरोध किया जाए तो उपलब्ध हो सके।


उसी तरह, डेटा मुक्त में पढ़ा जा सकता है जो अनुरोधित डेटा के पीछे होता है यदि हेड ट्रैक पर रह सकता है क्योंकि कोई अन्य इसी तरह, यदि हेड ट्रैक पर रह सकता है तो अनुरोध किए गए डेटा के पीछे डेटा को मुक्त में पढ़ा जा सकता है क्योंकि निष्पादित करने के लिए कोई अन्य रीड नहीं होता है या अगला प्रवर्तक बाद में प्रारंभ हो सकता है और अभी भी समय से पहले पूरा हो सकता है।<ref>[https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/44830.pdf Disks for Data Centers].</ref>यदि कई अनुरोधित रीड एक ही ट्रैक पर हैं तो उन दोनों के मध्य के अधिकांश अनुरोधित डेटा आगे और पीछे दोनों ही पढ़ा जा सकता है।
इसी तरह, अनुरोध किए गए डेटा के पीछे डेटा को मुफ्त में पढ़ा जा सकता है क्योंकि कोई अन्य इसी तरह, यदि हेड ट्रैक पर रह सकता है तो अनुरोध किए गए डेटा के विपरीत डेटा को मुक्त में पढ़ा जा सकता है, क्योंकि निष्पादित करने के लिए कोई अन्य रीड नहीं होता है, या अगला प्रवर्तक बाद में प्रारंभ हो सकता है, और अभी भी समय से पहले पूरा हो सकता है।<ref>[https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/44830.pdf Disks for Data Centers].</ref>यदि कई अनुरोधित रीड एक ही ट्रैक पर हैं, तो उन दोनों के मध्य के अधिकांश अनुरोधित डेटा आगे और पीछे दोनों ही पढ़ा जा सकता है।


=== गति मिलान ===
=== गति सुमेलन ===
कंप्यूटर के लिए डिस्क के I/O इंटरफ़ेस की गति लगभग कभी भी उस गति से मेल नहीं खाती जिस पर बिट्स को हार्ड डिस्क प्लैटर में और उससे स्थानांतरित किया जाता है। डिस्क बफ़र का उपयोग किया जाता है ताकि I/O इंटरफ़ेस और डिस्क रीड/राइट हेड दोनों पूर्ण गति से काम कर सकें।कंप्यूटर से डिस्क के I/O इंटरफ़ेस की गति लगभग कभी-कभी हार्ड डिस्क प्लैट से बिट्स के स्थानांतरण की गति से मेल नहीं खाती है। डिस्क बफर का उपयोग इसलिए किया जाता है ताकि I/O अंतरापृष्ठ विनिर्देश और डिस्क रीड/राइट वाले हेड दोनों पूरी गति से काम कर सकें।
कंप्यूटर के लिए डिस्क के I/O इंटरफ़ेस की गति लगभग कभी भी उस गति से मेल नहीं खाती जिस पर बिट्स को हार्ड डिस्क प्लैटर में और उससे स्थानांतरित किया जाता है। डिस्क बफ़र का उपयोग किया जाता है, जिससे  I/O इंटरफ़ेस और डिस्क रीड/राइट हेड दोनों पूर्ण गति से काम कर सकें। कंप्यूटर से डिस्क के I/O इंटरफ़ेस की गति लगभग कभी-कभी हार्ड डिस्क प्लैट से बिट्स के स्थानांतरण की गति से मेल नहीं खाती है। डिस्क बफर का उपयोग इसलिए किया जाता है, जिससे I/O अंतरापृष्ठ विनिर्देश और डिस्क रीड/राइट वाले हेड दोनों पूरी गति से कार्य कर सकें।


=== त्वरण लिखें ===
=== त्वरण लेखन ===
डिस्क का अंतर्निहित माइक्रोकंट्रोलर मुख्य कंप्यूटर को संकेत दे सकता है कि डेटा को वास्तव में प्लैटर में लिखे जाने से पहले राइट डेटा प्राप्त करने के तुरंत बाद डिस्क राइट पूरा हो गया है। यह शुरुआती संकेत मुख्य कंप्यूटर को काम करना जारी रखने की अनुमति देता है, भले ही डेटा वास्तव में अभी तक लिखा नहीं गया हो। यह कुछ हद तक खतरनाक हो सकता है, क्योंकि अगर चुंबकीय मीडिया में डेटा स्थायी रूप से तय होने से पहले बिजली खो जाती है, तो डिस्क बफर से डेटा खो जाएगा, और डिस्क पर फाइल सिस्टम असंगत स्थिति में रह सकता है।
डिस्क में समाहित [[Microcontroller|सूक्ष्म नियंत्रक]] डिस्क डेटा लिखने से पहले ही मुख्य कंप्यूटर को संकेत दे सकता है कि, डिस्क लिखना पूर्ण हो गया है। यह संकेत मुख्य कंप्यूटर को इस बात की अनुमति देता है कि वह डेटा लिखने के बाद भी कार्य जारी रख सकता है। यह कुछ सीमा तक तक संकटपूर्ण हो सकता है, क्योंकि यदि डेटा को चुंबकीय मीडिया में स्थायी रूप से फिक्स करने से पहले विद्युत की आपूर्ति कट जाती है, तो डिस्क बफर से डेटा लुप्त हो सकता है, और डिस्क पर फ़ाइल प्रणाली असंगत अवस्था में रह सकता है।


कुछ डिस्क पर, लेखन पूर्ण होने का संकेत देने और डेटा को ठीक करने के बीच की यह कमजोर अवधि मनमाने ढंग से लंबी हो सकती है, क्योंकि नए आने वाले अनुरोधों द्वारा लेखन को अनिश्चित काल के लिए स्थगित किया जा सकता है। इस कारण से, लेखन त्वरण का उपयोग विवादास्पद हो सकता है। हालाँकि, कैशिंग डेटा के लिए बैटरी-समर्थित मेमोरी सिस्टम का उपयोग करके संगति को बनाए रखा जा सकता है, हालाँकि यह आमतौर पर केवल उच्च-अंत [[RAID नियंत्रक]]ों में पाया जाता है।
कुछ डिस्क पर, लेखन पूर्ण होने का संकेत देने और डेटा को ठीक करने के मध्य की यह कमजोर अवधि अव्यवस्थित रूप से से लंबी हो सकती है, क्योंकि नए आने वाले अनुरोधों द्वारा लेखन को अनिश्चित काल के लिए स्थगित किया जा सकता है। इस कारण से, लेखन त्वरण का उपयोग विवादास्पद हो सकता है। यद्यपि, कैशिंग डेटा के लिए बैटरी-समर्थित मेमोरी प्रणाली का उपयोग करके संगति को बनाए रखा जा सकता है, और यह मात्र उच्च-अंत रेड नियंत्रकों में पाया जाता है।  


वैकल्पिक रूप से, कैशिंग को केवल तब बंद किया जा सकता है जब डेटा की अखंडता लेखन प्रदर्शन से अधिक महत्वपूर्ण मानी जाती है। एक अन्य विकल्प डिस्क को सावधानीपूर्वक प्रबंधित क्रम में डेटा भेजना और कैश फ्लश कमांड को सही स्थानों पर जारी करना है, जिसे आमतौर पर [[ बाधा लिखें ]] के कार्यान्वयन के रूप में जाना जाता है।
वैकल्पिक रूप से, कैशिंग को मात्र तब बंद किया जा सकता है जब डेटा की अखंडता लेखन प्रदर्शन से अधिक महत्वपूर्ण मानी जाती है। एक अन्य विकल्प डिस्क को सावधानीपूर्वक प्रबंधित क्रम में डेटा भेजना और सही स्थानों पर "कैश फ्लश" आदेश जारी करना है, जिसे सामान्यतः राइट बैरियर के कार्यान्वयन के रूप में संदर्भित किया जाता है।


=== कमांड कतार ===
=== पंक्ति आदेश ===
नए सीरियल ATA और अधिकांश SCSI डिस्क कई कमांड को स्वीकार कर सकते हैं, जबकि कोई भी कमांड कमांड क्यूइंग के माध्यम से ऑपरेशन में है (देखें [[नेटिव कमांड क्यूइंग]] और [[ टैग की गई कमांड क्यूइंग ]])। ये आदेश डिस्क के अंतर्निहित            नियंत्रक द्वारा पूर्ण होने तक संग्रहीत किए जाते हैं। एक लाभ यह है कि कमांड को अधिक कुशलता से संसाधित करने के लिए फिर से आदेश दिया जा सकता है, ताकि डिस्क के समान क्षेत्र को प्रभावित करने वाले कमांड को एक साथ समूहीकृत किया जा सके। एक पंक्तिबद्ध लेखन के गंतव्य पर डेटा को पढ़ने के संदर्भ में, लिखित डेटा वापस कर दिया जाएगा।
नए साटा और अधिकतम एससीएसआई डिस्क "पंक्ति आदेश" (एनसीक्यू और टीसीक्यू) के माध्यम से किसी भी एक आदेश के प्रचालन के समय कई आदेश स्वीकार कर सकते हैं। ये आदेश डिस्क के एम्बेडेड नियंत्रक द्वारा स्टोर किए जाते हैं, जब तक कि वे पूर्ण न हो जाएँ। इससे एक लाभ यह है कि, आदेश को अधिक दक्षता से प्रोसेस करने के लिए पुनर्व्यवस्थित किया जा सकता है, जिससे एक डिस्क के एक ही क्षेत्र को प्रभावित करने वाले आदेशो को साथ में एकत्र किया जा सके। यदि कोई रीड गंतव्य में लिखित आदेश के डेटा का उल्लेख करता है तो, लिखने वाले डेटा को वापस लौटाया जा सकता है ।


एनसीक्यू आमतौर पर सक्षम लेखन बफरिंग के संयोजन में प्रयोग किया जाता है। फ़ोर्स यूनिट एक्सेस (FUA) बिट के साथ 0 पर सेट और सक्षम राइट बफ़रिंग के साथ FPDMA कमांड को पढ़ने/लिखने के मामले में, एक ऑपरेटिंग सिस्टम डेटा को भौतिक रूप से मीडिया में लिखे जाने से पहले राइट ऑपरेशन को समाप्त होते हुए देख सकता है। FUA बिट को 1 पर सेट करने और बफ़रिंग लिखने में सक्षम होने के मामले में, डेटा को भौतिक रूप से मीडिया में लिखे जाने के बाद ही ऑपरेशन वापस लिखें।
एनसीक्यू सामान्यतः सक्षम लेखन बफरिंग के संयोजन में प्रयोग किया जाता है। यदि एक रीड / राइट एफपीडीएमए आदेश के साथ फोर्स यूनिट एक्सेस (एफयूए) बिट 0 पर सेट और सक्षम लेखन बफर के साथ, तो ऑपरेटिंग सिस्टम डेटा को वास्तविक रूप से मीडिया में लिखने से पहले लिखने के पूर्ण होने को देख सकता है यदि एफयूए बिट 1 पर सेट होता है और सक्षम लेखन बफरिंग होता है, तो डेटा को वास्तविक रूप से मीडिया में लिखने के बाद ही लेखन आदेश लौटता है।                                                                                                                                                     


== मेजबान से कैश नियंत्रण ==
== होस्ट से कैशेे नियंत्रण ==


=== कैश फ्लशिंग ===
=== कैशेे संप्रवाहन ===
डिस्क डिवाइस के राइट कैश में स्वीकार किए गए डेटा को अंततः डिस्क प्लैटर्स में लिखा जाएगा, बशर्ते फर्मवेयर दोष के परिणामस्वरूप कोई [[संसाधन भुखमरी]] न हो, और कैश्ड राइट्स को डिस्क प्लैटर्स के लिए मजबूर करने से पहले डिस्क बिजली की आपूर्ति बाधित न हो। राइट कैश को नियंत्रित करने के लिए, ATA विनिर्देश में फ्लश कैश (E7h) और फ्लश कैश EXT (EAh) कमांड शामिल हैं। ये आदेश डिस्क को उसके कैश से डेटा लिखने को पूरा करने का कारण बनते हैं, और डिस्क कैश में डेटा के डिस्क मीडिया में लिखे जाने के बाद डिस्क अच्छी स्थिति में वापस आ जाएगी, और फ्लैश मीडिया पर ये कमांड [[ फ्लैश अनुवाद परत ]] मैपिंग टेबल को तुरंत सहेज लेंगे। इसके अलावा, सॉफ्ट रीसेट या स्टैंडबाय तत्काल कमांड जारी करके कैश को कम से कम कुछ डिस्क में फ्लश करना शुरू किया जा सकता है।<ref>{{cite book|author1=Hitachi|title=Deskstar 7K80 Disk Drive Specification, 4th Edition (Revision 1.6)(12 September 2006) Final|year=2006|publisher=Hitachi Global Storage Technologies|pages=99, 130, 131}}</ref>
डिस्क डिवाइस के लेख कैशे में स्वीकृति प्राप्त डेटा अंततः डिस्क प्लेटर में लिखा जाता है, तथा यह सुनिश्चित किया जाता है, कि कोई फर्मवेयर त्रुटि से संसाधित स्थिति न हो, राइट कैशे डिस्क प्लेटर पर जब तक बल प्रदान नहीं किए जाते तब तक, राइट कैशे को नियंत्रित करने के लिए, एटीए स्पष्टीकरण में फ्लश कैशे (E7h) और फ्लश कैशे  (EAh) आदेश को सम्मिलित किया जाता हैं। ये कमांड डिस्क को अपने कैशे से डेटा को पूरा करने के लिए उत्तेजित करता हैं,और डिस्क अच्छी स्थिति मे पुनः लौटता है, जब लिखित कैशे डिस्क मीडिया में लिखा जाता है, तथा  फ्लैश मीडिया पर ये आदेश तुरंत एफटीएल मैपिंग टेबल मे संचित किया जाता है। इसके अतिरिक्त, कैशे को फ्लश करना कम से कम कुछ डिस्क पर सॉफ्ट रीसेट या समर्थन करके तुरंत आदेश जारी करके प्रारंभ किया जा सकता है।<ref>{{Cite web
कुछ फाइल सिस्टम (उदाहरण के लिए, [[ext4]]) में राइट बैरियर के कार्यान्वयन के लिए [[लिनक्स]] में अनिवार्य कैश फ्लशिंग का उपयोग किया जाता है, साथ में [[जर्नलिंग ब्लॉक डिवाइस]] कमिट ब्लॉक के लिए फोर्स यूनिट एक्सेस राइट कमांड के साथ।<ref>{{Cite web
| url = http://www.spinics.net/lists/linux-ext4/msg24130.html
| url = http://www.spinics.net/lists/linux-ext4/msg24130.html
  | title = Does ext4 send FUA to flush disk cache
  | title = Does ext4 send FUA to flush disk cache
  | accessdate = 2014-03-18
  | accessdate = 2014-03-18
  | author1 = Christoph Hellwig | author2 = Theodore Ts'o | author2-link = Theodore Ts'o | website = spinics.net
  | author1 = Christoph Hellwig | author2 = Theodore Ts'o | author2-link = Theodore Ts'o | website = spinics.net
}}</ref>
}}</ref>[[लिनक्स]] में वैश्विक कैशे फ्लशिंग का उपयोग कुछ फाइल प्रणालियों  (जैसे [[ext4]]) में  राइट बैरियर के कार्यान्वयन के लिए किया जाता है, जो संयोजन समाप्ति ब्लॉक के लिए फोर्स यूनिट एक्सेस राइट आदेश के साथ होता है।
 
=== बल इकाई अभिगम्यता (एफयूए) ===
फोर्स यूनिट एक्सेस (एफयूए) एक I/O लेखन आदेश विकल्प है, जो लिखे गए डेटा को स्थिर संग्रहित स्थान तक पहुंचाने के लिए बल देता है। (एफयूए) लेखन आदेश के सापेक्ष,डिवाइस में व्रित कैशेिंग सक्षम हो या न हो, सीधे मीडिया में डेटा लिखते हैं। एफयूए लेखन आदेश तब तक वापस नहीं आता है जब तक डेटा मीडिया में लिखा नहीं जाता, इसलिए फिर चाहे फ्लश कैशे आदेश जारी करने से पहले डिवाइस बंद हो जाए, एफयूए द्वारा पूरा किया गया लेखा गया डेटा स्थाई मीडिया पर होता है। एफयूए एससीएसआई आदेश सेट में आया था, और बाद में एनसीक्यू के साथ साटा द्वारा अपनाया गया था। एफयूए अधिक फाइन-ग्रेन्ड है क्योंकि यह एकल लेखन संचालन को स्थायी मीडिया पर बल देने की अनुमति देता है और इसलिए डिस्क कैशे को पूरी तरह से फ्लश करने वाले आदेशों (जैसे एटीए फ्लश कैशे संबंधी आदेश ) से तुलना करने पर कुल द्रव्यमान पर कम असर होता है।,विंडोज में लेन-देन एनटीएफएस के रूप में एफयूए का समर्थन करता है, परंतु ऐसे सीएससी या फाइबर चैनल डिस्क के लिए जहां एफयूए का समर्थन सामान्य होता है। यह ज्ञात नहीं है कि एक साटा ड्राइव जो एफयूए सही आदेश का समर्थन करता है, वास्तव में आदेश का सम्मान करेगा और निर्देश के अनुसार डिस्क प्लैटर्स को डेटा लिखेगा ; इस प्रकार, विंडोज 8 और विंडोज सर्वर 2012 इसके अतिरिक्त डिस्क सही कैश को फ्लश करने के लिए आदेश भेजते हैं। 
 
लिनक्स कर्नल ने 2007 के पश्चात एनसीक्यू के समर्थन को प्राप्त किया था, यद्यपि 2012 में कर्नल के एफयूए के समर्थन का परीक्षण किया गया तो प्रतिगमन का पता चला, इसलिए साटा एफयूए अभी भी व्यतिक्रम रूप से अक्षम है। लिनक्स कर्नल ब्लॉक स्तर के स्तर पर एफयूए का समर्थन करता है।




=== {{Anchor|FUA}}फोर्स यूनिट एक्सेस (एफयूए) ===
फोर्स यूनिट एक्सेस (एफयूए) एक I/O राइट कमांड विकल्प है जो लिखित डेटा को स्थिर भंडारण के लिए बाध्य करता है।<ref>{{cite web
| url = https://lwn.net/Articles/400541/
| title = The end of block barriers
| date = 2010-08-18 | accessdate = 2015-06-27
| author = Jonathan Corbet | publisher = [[LWN.net]]
}}</ref> FUA राइट कमांड (WRITE DMA FUA EXT{{snd}} 3Dh, DMA क्यूयूड फूए एक्सट लिखें{{snd}} 3एह, एक से अधिक फूए एक्सट लिखें{{snd}} CEh), FUA के बिना संबंधित कमांड के विपरीत, मीडिया को सीधे डेटा लिखें, भले ही डिवाइस में कैशिंग लिखना सक्षम हो या नहीं। मीडिया को डेटा लिखे जाने तक FUA राइट कमांड वापस नहीं आएगा, इस प्रकार एक पूर्ण FUA राइट कमांड द्वारा लिखा गया डेटा स्थायी मीडिया पर होता है, भले ही फ्लश कैश कमांड जारी करने से पहले डिवाइस को बंद कर दिया गया हो।<ref>{{Cite web |url=http://www.t13.org/documents/UploadedDocuments/docs2008/D1699r6a-ATA8-ACS.pdf |title=Information technology - AT Attachment 8 - ATA/ATAPI Command Set (ATA8-ACS) |work=T13/1699-D, revision 6a, September 6, 2008 |access-date=14 December 2020 |publisher=American National Standards Institute, Inc. |archive-url=https://web.archive.org/web/20200806025823/http://www.t13.org/Documents/UploadedDocuments/docs2008/D1699r6a-ATA8-ACS.pdf |archive-date=6 August 2020}}</ref><ref name="Smith2010">{{cite book|author=Gregory Smith|title=PostgreSQL 9.0: High Performance|year=2010|publisher=Packt Publishing Ltd|isbn=978-1-84951-031-8|page=78}}</ref>
FUA SCSI कमांड सेट में दिखाई दिया, और बाद में [[SATA]] द्वारा नेटिव कमांड क्यूइंग के साथ अपनाया गया। एफयूए अधिक सुक्ष्म है क्योंकि यह एक एकल लेखन ऑपरेशन को स्थिर मीडिया के लिए मजबूर करने की अनुमति देता है और इस प्रकार पूरे डिस्क कैश को फ्लश करने वाले आदेशों की तुलना में कम समग्र प्रदर्शन प्रभाव होता है, जैसे कि एटीए फ्लश कैश कमांड का परिवार।<ref name="Smith2010"/><ref name="JacobNg2010">{{cite book|author1=Bruce Jacob|author2=Spencer Ng|author3=David Wang|title=Memory Systems: Cache, DRAM, Disk|year=2010|publisher=Morgan Kaufmann|isbn=978-0-08-055384-9|page=734}}</ref>
Windows (Vista और up) [[Transactional NTFS]] के भाग के रूप में FUA का समर्थन करता है, लेकिन केवल SCSI या फाइबर चैनल डिस्क के लिए जहाँ FUA के लिए समर्थन आम है।<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/windows/desktop/dd979523%28v=vs.85%29.aspx |title=लेनदेन संबंधी एनटीएफएस (विंडोज़) की तैनाती|publisher=Msdn.microsoft.com |date=2013-12-05 |accessdate=2014-01-24}}</ref> यह ज्ञात नहीं है कि क्या एक SATA ड्राइव जो FUA राइट कमांड का समर्थन करती है, वास्तव में कमांड का सम्मान करेगी और निर्देश के अनुसार डिस्क प्लैटर्स पर डेटा लिखेगी;{{Citation needed|date=April 2014}} इस प्रकार, विंडोज 8 और विंडोज सर्वर 2012 इसके बजाय कुछ लेखन कार्यों के बाद डिस्क राइट कैश को फ्लश करने के लिए कमांड भेजते हैं।<ref>{{cite web|url=http://workinghardinit.wordpress.com/tag/forced-unit-access/ |title=Forced Unit Access &#124; Working Hard In IT |publisher=Workinghardinit.wordpress.com |date=2012-10-12 |accessdate=2014-01-24}}</ref><!-- this guy is an MVP and M-many-other-certs, so probably reliable on this-->
हालांकि [[लिनक्स कर्नेल]] ने 2007 के आसपास NCQ के लिए समर्थन प्राप्त किया, SATA FUA डिफ़ॉल्ट रूप से अक्षम रहता है क्योंकि 2012 में पाए गए प्रतिगमन के कारण जब FUA के लिए कर्नेल के समर्थन का परीक्षण किया गया था।<ref>{{cite web
    | url = https://patchwork.ozlabs.org/patch/182612/
    | title = Storage related regression in linux-next 20120824
    | date = 2012-09-12
    | accessdate = 2015-06-27
}}</ref><ref>{{cite web
    | url = https://github.com/torvalds/linux/commit/9973a1c306a01804c41ab34166f1320c9f209038
    | title = Revert &quot;libata: enable SATA disk fua detection on default&quot;
    | date = 2012-09-13
    | accessdate = 2015-06-27
}}</ref> Linux कर्नेल ब्लॉक स्तर स्तर पर FUA का समर्थन करता है।<ref>{{Cite web
| url = https://www.kernel.org/doc/Documentation/block/writeback_cache_control.txt
| title = Linux kernel documentation: Documentation/block/writeback_cache_control.txt
| date = 2013-08-12 | accessdate = 2014-01-24
| publisher = [[kernel.org]]
}}</ref>




Line 82: Line 61:
==संदर्भ==
==संदर्भ==
{{Reflist|30em}}
{{Reflist|30em}}
[[Category: कंप्यूटर स्टोरेज डिवाइस]] [[Category: हार्ड डिस्क कंप्यूटर भंडारण]] [[Category: सॉलिड-स्टेट कंप्यूटर स्टोरेज]]


[[Category: Machine Translated Page]]
[[Category:Created On 25/04/2023]]
[[Category:Created On 25/04/2023]]
[[Category:Machine Translated Page]]
[[Category:Pages with empty portal template]]
[[Category:Pages with script errors]]
[[Category:Portal templates with redlinked portals]]
[[Category:Templates Vigyan Ready]]
[[Category:कंप्यूटर स्टोरेज डिवाइस]]
[[Category:सॉलिड-स्टेट कंप्यूटर स्टोरेज]]
[[Category:हार्ड डिस्क कंप्यूटर भंडारण]]

Latest revision as of 16:23, 16 May 2023

इस हार्ड डिस्क ड्राइव पर, कंट्रोलर बोर्ड में डिस्क बफर के लिए उपयोग किया जाने वाला रैम इंटीग्रेटेड सर्किट होता है।
16 एमबी बफर के साथ 500 जीबी पश्चिमी डिजिटल हार्ड डिस्क ड्राइव

कंप्यूटर स्टोरेज में, डिस्क बफर (जिसे प्रायः डिस्क कैशे या कैशे बफर, अस्पष्ट रूप से कहा जाता है) हार्ड डिस्क ड्राइव (एचडीडी) या सॉलिड स्टेट ड्राइव (एसएसडी) में एम्बेडेड मेमोरी होती है, जो कंप्यूटर के अन्य हिस्से और भौतिक हार्ड डिस्क प्लैटर या फ्लैश मेमोरी के मध्य बफर के रूप में कार्य करती है।[1] आधुनिक हार्ड डिस्क ड्राइव में 8 से 256 मेगाबाइट तक मेमोरी होती है, जबकि सॉलिड स्टेट ड्राइव में 4 जीबी तक कैशे मेमोरी होती है।[2] 1980 के दशक के पश्चात, लगभग सभी डिस्क सूक्ष्म नियंत्रक और आनुक्रमिक एटीए, एससीएसआई या तन्तु प्रणाली अंतरापृष्ठ विनिर्देश के साथ आते हैं। ड्राइव परिपथ सामान्यतः कम मेमोरी रखती है, जो डिस्क प्लेटर्स से आने-जाने वाले डेटा को स्टोर करने के उपयोग में लायी जाती है।

डिस्क बफर भौतिक रूप से पेज कैशे से अलग होता है, और कंप्यूटर के मुख्य मेमोरी में संचित ऑपरेटिंग सिस्टम द्वारा सामान्यतः रखे जाने वाले पेज कैशे अलग-अलग विधियों द्वारा उपयोग किया जाता है। हार्ड डिस्क ड्राइव में सूक्ष्म नियंत्रक द्वारा डिस्क बफर को नियंत्रित किया जाता है, जबकि पेज कैशे कंप्यूटर द्वारा नियंत्रित किया जाता है, जिससे वह डिस्क से जुड़ा होता है। डिस्क बफर 8 मेगाबाइट से 4 जीबी तक होता है, जो सामान्यतः बहुत छोटा होता है, और पेज कैशे अपयोगित मेमोरी होता है, जबकि पेज कैशे में डेटा कई बार पुनः प्रयोग किया जाता है, और डिस्क बफर में डेटा पुनः उपयोग नहीं किया जाता है। इस मानदंड के अनुसार, डिस्क कैशे और कैशे बफर शब्द गलत हैं; एम्बेडेड नियंत्रक की मेमोरी को उचित रूप से डिस्क बफर कहा जाना चाहिए।

ध्यान दें कि डिस्क सरणी नियंत्रक, डिस्क नियंत्रको के विपरीत, लगभग 0.5–8  जीबी की सामान्य कैशे मेमोरी होती है।

उपयोग

आगे की ओर पढ़े / पीछे की ओर पढ़े

जब एक डिस्क नियंत्रक भौतिक रीड को निष्पादित करता है, तो प्रेरक रीड/राइट हेड को सही सिलेंडर के पास ले जाता है। कुछ ठहराव के पश्चात रीड हेड को ठीक से सेट करने के उपरांत रीड हेड ट्रैक डेटा को लेना प्रारंभ कर देता है, और पुनः उसे प्रतीक्षा करना होता है, जब तक प्लेटर के घूमने से अनुरोधित डेटा उपलब्ध नहीं हो जाता है।

प्रतीक्षा के समय अनुरोध से पहले पढ़ी गई डेटा अनुरोधित नहीं होती है, परंतु मुक्त होती है, इसलिए यह डिस्क बफर में संचित किया जाता है, जिससे यदि बाद में इसे अनुरोध किया जाए तो उपलब्ध हो सके।

इसी तरह, अनुरोध किए गए डेटा के पीछे डेटा को मुफ्त में पढ़ा जा सकता है क्योंकि कोई अन्य इसी तरह, यदि हेड ट्रैक पर रह सकता है तो अनुरोध किए गए डेटा के विपरीत डेटा को मुक्त में पढ़ा जा सकता है, क्योंकि निष्पादित करने के लिए कोई अन्य रीड नहीं होता है, या अगला प्रवर्तक बाद में प्रारंभ हो सकता है, और अभी भी समय से पहले पूरा हो सकता है।[3]यदि कई अनुरोधित रीड एक ही ट्रैक पर हैं, तो उन दोनों के मध्य के अधिकांश अनुरोधित डेटा आगे और पीछे दोनों ही पढ़ा जा सकता है।

गति सुमेलन

कंप्यूटर के लिए डिस्क के I/O इंटरफ़ेस की गति लगभग कभी भी उस गति से मेल नहीं खाती जिस पर बिट्स को हार्ड डिस्क प्लैटर में और उससे स्थानांतरित किया जाता है। डिस्क बफ़र का उपयोग किया जाता है, जिससे I/O इंटरफ़ेस और डिस्क रीड/राइट हेड दोनों पूर्ण गति से काम कर सकें। कंप्यूटर से डिस्क के I/O इंटरफ़ेस की गति लगभग कभी-कभी हार्ड डिस्क प्लैट से बिट्स के स्थानांतरण की गति से मेल नहीं खाती है। डिस्क बफर का उपयोग इसलिए किया जाता है, जिससे I/O अंतरापृष्ठ विनिर्देश और डिस्क रीड/राइट वाले हेड दोनों पूरी गति से कार्य कर सकें।

त्वरण लेखन

डिस्क में समाहित सूक्ष्म नियंत्रक डिस्क डेटा लिखने से पहले ही मुख्य कंप्यूटर को संकेत दे सकता है कि, डिस्क लिखना पूर्ण हो गया है। यह संकेत मुख्य कंप्यूटर को इस बात की अनुमति देता है कि वह डेटा लिखने के बाद भी कार्य जारी रख सकता है। यह कुछ सीमा तक तक संकटपूर्ण हो सकता है, क्योंकि यदि डेटा को चुंबकीय मीडिया में स्थायी रूप से फिक्स करने से पहले विद्युत की आपूर्ति कट जाती है, तो डिस्क बफर से डेटा लुप्त हो सकता है, और डिस्क पर फ़ाइल प्रणाली असंगत अवस्था में रह सकता है।

कुछ डिस्क पर, लेखन पूर्ण होने का संकेत देने और डेटा को ठीक करने के मध्य की यह कमजोर अवधि अव्यवस्थित रूप से से लंबी हो सकती है, क्योंकि नए आने वाले अनुरोधों द्वारा लेखन को अनिश्चित काल के लिए स्थगित किया जा सकता है। इस कारण से, लेखन त्वरण का उपयोग विवादास्पद हो सकता है। यद्यपि, कैशिंग डेटा के लिए बैटरी-समर्थित मेमोरी प्रणाली का उपयोग करके संगति को बनाए रखा जा सकता है, और यह मात्र उच्च-अंत रेड नियंत्रकों में पाया जाता है।

वैकल्पिक रूप से, कैशिंग को मात्र तब बंद किया जा सकता है जब डेटा की अखंडता लेखन प्रदर्शन से अधिक महत्वपूर्ण मानी जाती है। एक अन्य विकल्प डिस्क को सावधानीपूर्वक प्रबंधित क्रम में डेटा भेजना और सही स्थानों पर "कैश फ्लश" आदेश जारी करना है, जिसे सामान्यतः राइट बैरियर के कार्यान्वयन के रूप में संदर्भित किया जाता है।

पंक्ति आदेश

नए साटा और अधिकतम एससीएसआई डिस्क "पंक्ति आदेश" (एनसीक्यू और टीसीक्यू) के माध्यम से किसी भी एक आदेश के प्रचालन के समय कई आदेश स्वीकार कर सकते हैं। ये आदेश डिस्क के एम्बेडेड नियंत्रक द्वारा स्टोर किए जाते हैं, जब तक कि वे पूर्ण न हो जाएँ। इससे एक लाभ यह है कि, आदेश को अधिक दक्षता से प्रोसेस करने के लिए पुनर्व्यवस्थित किया जा सकता है, जिससे एक डिस्क के एक ही क्षेत्र को प्रभावित करने वाले आदेशो को साथ में एकत्र किया जा सके। यदि कोई रीड गंतव्य में लिखित आदेश के डेटा का उल्लेख करता है तो, लिखने वाले डेटा को वापस लौटाया जा सकता है ।

एनसीक्यू सामान्यतः सक्षम लेखन बफरिंग के संयोजन में प्रयोग किया जाता है। यदि एक रीड / राइट एफपीडीएमए आदेश के साथ फोर्स यूनिट एक्सेस (एफयूए) बिट 0 पर सेट और सक्षम लेखन बफर के साथ, तो ऑपरेटिंग सिस्टम डेटा को वास्तविक रूप से मीडिया में लिखने से पहले लिखने के पूर्ण होने को देख सकता है यदि एफयूए बिट 1 पर सेट होता है और सक्षम लेखन बफरिंग होता है, तो डेटा को वास्तविक रूप से मीडिया में लिखने के बाद ही लेखन आदेश लौटता है।

होस्ट से कैशेे नियंत्रण

कैशेे संप्रवाहन

डिस्क डिवाइस के लेख कैशे में स्वीकृति प्राप्त डेटा अंततः डिस्क प्लेटर में लिखा जाता है, तथा यह सुनिश्चित किया जाता है, कि कोई फर्मवेयर त्रुटि से संसाधित स्थिति न हो, राइट कैशे डिस्क प्लेटर पर जब तक बल प्रदान नहीं किए जाते तब तक, राइट कैशे को नियंत्रित करने के लिए, एटीए स्पष्टीकरण में फ्लश कैशे (E7h) और फ्लश कैशे (EAh) आदेश को सम्मिलित किया जाता हैं। ये कमांड डिस्क को अपने कैशे से डेटा को पूरा करने के लिए उत्तेजित करता हैं,और डिस्क अच्छी स्थिति मे पुनः लौटता है, जब लिखित कैशे डिस्क मीडिया में लिखा जाता है, तथा फ्लैश मीडिया पर ये आदेश तुरंत एफटीएल मैपिंग टेबल मे संचित किया जाता है। इसके अतिरिक्त, कैशे को फ्लश करना कम से कम कुछ डिस्क पर सॉफ्ट रीसेट या समर्थन करके तुरंत आदेश जारी करके प्रारंभ किया जा सकता है।[4]लिनक्स में वैश्विक कैशे फ्लशिंग का उपयोग कुछ फाइल प्रणालियों (जैसे ext4) में राइट बैरियर के कार्यान्वयन के लिए किया जाता है, जो संयोजन समाप्ति ब्लॉक के लिए फोर्स यूनिट एक्सेस राइट आदेश के साथ होता है।

बल इकाई अभिगम्यता (एफयूए)

फोर्स यूनिट एक्सेस (एफयूए) एक I/O लेखन आदेश विकल्प है, जो लिखे गए डेटा को स्थिर संग्रहित स्थान तक पहुंचाने के लिए बल देता है। (एफयूए) लेखन आदेश के सापेक्ष,डिवाइस में व्रित कैशेिंग सक्षम हो या न हो, सीधे मीडिया में डेटा लिखते हैं। एफयूए लेखन आदेश तब तक वापस नहीं आता है जब तक डेटा मीडिया में लिखा नहीं जाता, इसलिए फिर चाहे फ्लश कैशे आदेश जारी करने से पहले डिवाइस बंद हो जाए, एफयूए द्वारा पूरा किया गया लेखा गया डेटा स्थाई मीडिया पर होता है। एफयूए एससीएसआई आदेश सेट में आया था, और बाद में एनसीक्यू के साथ साटा द्वारा अपनाया गया था। एफयूए अधिक फाइन-ग्रेन्ड है क्योंकि यह एकल लेखन संचालन को स्थायी मीडिया पर बल देने की अनुमति देता है और इसलिए डिस्क कैशे को पूरी तरह से फ्लश करने वाले आदेशों (जैसे एटीए फ्लश कैशे संबंधी आदेश ) से तुलना करने पर कुल द्रव्यमान पर कम असर होता है।,विंडोज में लेन-देन एनटीएफएस के रूप में एफयूए का समर्थन करता है, परंतु ऐसे सीएससी या फाइबर चैनल डिस्क के लिए जहां एफयूए का समर्थन सामान्य होता है। यह ज्ञात नहीं है कि एक साटा ड्राइव जो एफयूए सही आदेश का समर्थन करता है, वास्तव में आदेश का सम्मान करेगा और निर्देश के अनुसार डिस्क प्लैटर्स को डेटा लिखेगा ; इस प्रकार, विंडोज 8 और विंडोज सर्वर 2012 इसके अतिरिक्त डिस्क सही कैश को फ्लश करने के लिए आदेश भेजते हैं।

लिनक्स कर्नल ने 2007 के पश्चात एनसीक्यू के समर्थन को प्राप्त किया था, यद्यपि 2012 में कर्नल के एफयूए के समर्थन का परीक्षण किया गया तो प्रतिगमन का पता चला, इसलिए साटा एफयूए अभी भी व्यतिक्रम रूप से अक्षम है। लिनक्स कर्नल ब्लॉक स्तर के स्तर पर एफयूए का समर्थन करता है।



यह भी देखें

संदर्भ

  1. Mark Kyrnin. "What to Look for in a Hard Drive". about.com. Retrieved 2014-12-20. A drive's buffer is an amount of RAM on the drive to store frequently accessed data from the drive.
  2. "Samsung SSD 860 PRO | Samsung V-NAND Consumer SSD | Samsung Semiconductor Global Website". Samsung. Archived from the original on April 6, 2018. Retrieved July 16, 2018. CACHE MEMORY: 4 GB Low Power DDR4 (4,096 GB)
  3. Disks for Data Centers.
  4. Christoph Hellwig; Theodore Ts'o. "Does ext4 send FUA to flush disk cache". spinics.net. Retrieved 2014-03-18.