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

From Vigyanwiki
No edit summary
Line 24: Line 24:


=== त्वरण लिखें ===
=== त्वरण लिखें ===
डिस्क का अंतर्निहित माइक्रोकंट्रोलर मुख्य कंप्यूटर को संकेत दे सकता है कि डेटा को वास्तव में प्लैटर में लिखे जाने से पहले राइट डेटा प्राप्त करने के तुरंत बाद डिस्क राइट पूरा हो गया है। यह शुरुआती संकेत मुख्य कंप्यूटर को काम करना जारी रखने की अनुमति देता है, भले ही डेटा वास्तव में अभी तक लिखा नहीं गया हो। यह कुछ हद तक खतरनाक हो सकता है, क्योंकि अगर चुंबकीय मीडिया में डेटा स्थायी रूप से तय होने से पहले बिजली खो जाती है, तो डिस्क बफर से डेटा खो जाएगा, और डिस्क पर फाइल सिस्टम असंगत स्थिति में रह सकता है।
डिस्क में समाहित [[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>
डिस्क डिवाइस के राइट कैश में स्वीकार किए गए डेटा को अंततः डिस्क प्लैटर्स में लिखा जाएगा, बशर्ते फर्मवेयर दोष के परिणामस्वरूप कोई [[संसाधन भुखमरी]] न हो, और कैश्ड राइट्स को डिस्क प्लैटर्स के लिए मजबूर करने से पहले डिस्क बिजली की आपूर्ति बाधित न हो। राइट कैश को नियंत्रित करने के लिए, 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>
कुछ फाइल सिस्टम (उदाहरण के लिए, [[ext4]]) में राइट बैरियर के कार्यान्वयन के लिए [[लिनक्स]] में अनिवार्य कैश फ्लशिंग का उपयोग किया जाता है, साथ में [[जर्नलिंग ब्लॉक डिवाइस]] कमिट ब्लॉक के लिए फोर्स यूनिट एक्सेस राइट कमांड के साथ।<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
Line 48: Line 46:


=== {{Anchor|FUA}}फोर्स यूनिट एक्सेस (एफयूए) ===
=== {{Anchor|FUA}}फोर्स यूनिट एक्सेस (एफयूए) ===
फोर्स यूनिट एक्सेस (एफयूए) एक I/O राइट कमांड विकल्प है जो लिखित डेटा को स्थिर भंडारण के लिए बाध्य करता है।<ref>{{cite web
फोर्स यूनिट एक्सेस (एफयूए) एक I/O राइट आदेश      विकल्प है जो लिखित डेटा को स्थिर भंडारण के लिए बाध्य करता है।<ref>{{cite web
  | url = https://lwn.net/Articles/400541/
  | url = https://lwn.net/Articles/400541/
  | title = The end of block barriers
  | title = The end of block barriers
  | date = 2010-08-18 | accessdate = 2015-06-27
  | date = 2010-08-18 | accessdate = 2015-06-27
  | author = Jonathan Corbet | publisher = [[LWN.net]]
  | 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>
}}</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>
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-->
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
हालांकि [[लिनक्स कर्नेल]] ने 2007 के आसपास NCQ के लिए समर्थन प्राप्त किया, SATA FUA डिफ़ॉल्ट रूप से अक्षम रहता है क्योंकि 2012 में पाए गए प्रतिगमन के कारण जब FUA के लिए कर्नेल के समर्थन का परीक्षण किया गया था।<ref>{{cite web
     | url = https://patchwork.ozlabs.org/patch/182612/
     | url = https://patchwork.ozlabs.org/patch/182612/

Revision as of 09:33, 3 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 पर सेट होता है और सक्षम लेखन बफरिंग होती है, तो डेटा को वास्तविक रूप से मीडिया में लिखने के बाद ही लेखन आदेश लौटता है।

कैश फ्लशिंग

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


फोर्स यूनिट एक्सेस (एफयूए)

फोर्स यूनिट एक्सेस (एफयूए) एक I/O राइट आदेश विकल्प है जो लिखित डेटा को स्थिर भंडारण के लिए बाध्य करता है।[6] FUA राइट आदेश (WRITE DMA FUA EXT – 3Dh, DMA क्यूयूड फूए एक्सट लिखें – 3एह, एक से अधिक फूए एक्सट लिखें – CEh), FUA के बिना संबंधित आदेश के विपरीत, मीडिया को सीधे डेटा लिखें, भले ही डिवाइस में कैशिंग लिखना सक्षम हो या नहीं। मीडिया को डेटा लिखे जाने तक FUA राइट आदेश वापस नहीं आएगा, इस प्रकार एक पूर्ण FUA राइट आदेश द्वारा लिखा गया डेटा स्थायी मीडिया पर होता है, भले ही फ्लश कैश आदेश जारी करने से पहले डिवाइस को बंद कर दिया गया हो।[7][8] FUA SCSI आदेश सेट में दिखाई दिया, और बाद में SATA द्वारा नेटिव आदेश क्यूइंग के साथ अपनाया गया। एफयूए अधिक सुक्ष्म है क्योंकि यह एक एकल लेखन ऑपरेशन को स्थिर मीडिया के लिए मजबूर करने की अनुमति देता है और इस प्रकार पूरे डिस्क कैश को फ्लश करने वाले आदेशों की तुलना में कम समग्र प्रदर्शन प्रभाव होता है, जैसे कि एटीए फ्लश कैश आदेश का परिवार।[8][9] Windows (Vista और up) Transactional NTFS के भाग के रूप में FUA का समर्थन करता है, लेकिन केवल SCSI या फाइबर चैनल डिस्क के लिए जहाँ FUA के लिए समर्थन आम है।[10] यह ज्ञात नहीं है कि क्या एक SATA ड्राइव जो FUA राइट आदेश का समर्थन करती है, वास्तव में आदेश का सम्मान करेगी और निर्देश के अनुसार डिस्क प्लैटर्स पर डेटा लिखेगी;[citation needed] इस प्रकार, विंडोज 8 और विंडोज सर्वर 2012 इसके बजाय कुछ लेखन कार्यों के बाद डिस्क राइट कैश को फ्लश करने के लिए आदेश भेजते हैं।[11] हालांकि लिनक्स कर्नेल ने 2007 के आसपास NCQ के लिए समर्थन प्राप्त किया, SATA FUA डिफ़ॉल्ट रूप से अक्षम रहता है क्योंकि 2012 में पाए गए प्रतिगमन के कारण जब FUA के लिए कर्नेल के समर्थन का परीक्षण किया गया था।[12][13] Linux कर्नेल ब्लॉक स्तर स्तर पर FUA का समर्थन करता है।[14]


यह भी देखें

संदर्भ

  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. Hitachi (2006). Deskstar 7K80 Disk Drive Specification, 4th Edition (Revision 1.6)(12 September 2006) Final. Hitachi Global Storage Technologies. pp. 99, 130, 131.
  5. Christoph Hellwig; Theodore Ts'o. "Does ext4 send FUA to flush disk cache". spinics.net. Retrieved 2014-03-18.
  6. Jonathan Corbet (2010-08-18). "The end of block barriers". LWN.net. Retrieved 2015-06-27.
  7. "Information technology - AT Attachment 8 - ATA/ATAPI Command Set (ATA8-ACS)" (PDF). T13/1699-D, revision 6a, September 6, 2008. American National Standards Institute, Inc. Archived from the original (PDF) on 6 August 2020. Retrieved 14 December 2020.
  8. 8.0 8.1 Gregory Smith (2010). PostgreSQL 9.0: High Performance. Packt Publishing Ltd. p. 78. ISBN 978-1-84951-031-8.
  9. Bruce Jacob; Spencer Ng; David Wang (2010). Memory Systems: Cache, DRAM, Disk. Morgan Kaufmann. p. 734. ISBN 978-0-08-055384-9.
  10. "लेनदेन संबंधी एनटीएफएस (विंडोज़) की तैनाती". Msdn.microsoft.com. 2013-12-05. Retrieved 2014-01-24.
  11. "Forced Unit Access | Working Hard In IT". Workinghardinit.wordpress.com. 2012-10-12. Retrieved 2014-01-24.
  12. "Storage related regression in linux-next 20120824". 2012-09-12. Retrieved 2015-06-27.
  13. "Revert "libata: enable SATA disk fua detection on default"". 2012-09-13. Retrieved 2015-06-27.
  14. "Linux kernel documentation: Documentation/block/writeback_cache_control.txt". kernel.org. 2013-08-12. Retrieved 2014-01-24.