मैंने तय किया कि कुछ पृष्ठभूमि की जानकारी इस उत्तर को स्पष्ट करने में सहायक हो सकती है, लेकिन जैसा कि आप देख सकते हैं कि मैं थोड़ा ओसीडी गया था ताकि आप अंत तक छोड़ना चाहें और फिर ज़रूरत पड़ने पर वापस जा सकें। जबकि मुझे थोड़ा सा पता है, मैं SSDs का विशेषज्ञ नहीं हूं, अगर किसी को गलती दिखाई देती है तो उसे संपादित करें । :)।
पृष्ठभूमि की जानकारी:
एक SSD क्या है:
SSD या सॉलिड स्टेट ड्राइव एक स्टोरेज डिवाइस है जिसमें कोई मूविंग पार्ट्स नहीं होता है। एसएसडी शब्द का अर्थ अक्सर विशेष रूप से नंद-फ्लैश आधारित ठोस राज्य ड्राइव को संदर्भित करना होता है, जिसका उद्देश्य हार्ड ड्राइव विकल्प के रूप में कार्य करना होता है, लेकिन वास्तव में वे एसएसडी का सिर्फ एक रूप होते हैं, और सबसे लोकप्रिय भी नहीं। एसएसडी का सबसे लोकप्रिय प्रकार नंद-फ्लैश आधारित हटाने योग्य मीडिया है जैसे यूएसबी स्टिक (फ्लैश ड्राइव), और मेमोरी कार्ड, हालांकि उन्हें शायद ही कभी एसएसडी के रूप में संदर्भित किया जाता है। SSDs भी रैम आधारित हो सकते हैं, लेकिन अधिकांश रैम-ड्राइव सॉफ्टवेयर हैं जो भौतिक हार्डवेयर के विपरीत उत्पन्न होते हैं।
नंद-फ्लैश एसएसडी एक हार्ड ड्राइव वैकल्पिक अस्तित्व के रूप में कार्य करने के लिए क्यों ?:
ऑपरेटिंग सिस्टम को चलाने के लिए, और यह सॉफ्टवेयर के लिए एक तेज़ स्टोरेज माध्यम की आवश्यकता है। यह वह जगह है जहाँ राम खेल में आता है, लेकिन ऐतिहासिक रूप से राम महंगा था और सीपीयू बड़े पैमाने पर संबोधित नहीं कर सकता था। जब आप एक ऑपरेटिंग सिस्टम चलाते हैं, या प्रोग्राम को डेटा के वर्तमान में आवश्यक अंश आपके रैम में कॉपी किए जाते हैं, क्योंकि आपका स्टोरेज डिवाइस काफी तेज नहीं है। एक अड़चन पैदा की जाती है, क्योंकि आपको धीमे स्टोरेज डिवाइस से रैम में कॉपी किए जाने वाले डेटा की प्रतीक्षा करनी होती है। जबकि सभी नंद-फ्लैश एसएसडी अधिक पारंपरिक हार्ड ड्राइव की तुलना में बेहतर प्रदर्शन को प्राप्त नहीं करते हैं, जो तेजी से एक्सेस समय, गति पढ़ने और गति लिखने के द्वारा अड़चन को कम करने में मदद करते हैं।
क्या है नंद-फ्लैश:?
फ्लैश स्टोरेज एक स्टोरेज माध्यम है जो डेटा को स्टोर करने के लिए चुंबकत्व के बजाय बिजली का उपयोग करता है। नंद-फ्लैश फ्लैश स्टोरेज है जो NAND गेटवे का उपयोग करता है। एक न-फ्लैश के विपरीत जो यादृच्छिक अभिगम है, नंद-फ्लैश क्रमिक रूप से एक्सेस किया जाता है।
नंद-फ्लैश एसएसडी डेटा को कैसे स्टोर करते हैं ?:
नंद-फ्लैश भंडारण ब्लॉकों से बना है, उन ब्लॉकों को कोशिकाओं में विभाजित किया जाता है, कोशिकाओं में पृष्ठ होते हैं। एक हार्ड ड्राइव के विपरीत, जो डेटा को स्टोर करने के लिए चुंबकत्व का उपयोग करता है, फ्लैश माध्यम बिजली का उपयोग करते हैं, क्योंकि इस डेटा को अधिक नहीं लिखा जा सकता है; अंतरिक्ष का फिर से उपयोग करने के लिए डेटा को मिटा दिया जाना चाहिए। डिवाइस अलग-अलग पृष्ठों को मिटा नहीं सकता है; erasal एक ब्लॉक स्तर पर होना चाहिए। चूँकि डेटा को पहले से उपयोग किए जाने वाले ब्लॉक को नहीं लिखा जा सकता है (भले ही उसमें सभी पृष्ठ न हों) पूरे ब्लॉक को पहले मिटा दिया जाना चाहिए, और फिर अब खाली ब्लॉक में डेटा को लिखा जा सकता है। समस्या यह है कि आप उन पृष्ठों में पहले से ही कोई डेटा खो देंगे, जिसमें वे डेटा शामिल हैं जिन्हें आप छोड़ना नहीं चाहते हैं! इस मौजूदा डेटा को बनाए रखने के लिए ब्लॉक इरेज़ल को करने से पहले कहीं और कॉपी किया जाना चाहिए।
हार्ड ड्राइव पर डेटा को स्टोर करने के लिए एक चुंबकीय प्लेट का उपयोग किया जाता है। बहुत हद तक विनाइल रिकॉर्ड्स में प्लेट के ट्रैक होते हैं, और ये ट्रैक सेक्टर कहलाते हैं। एक क्षेत्र डेटा की एक निश्चित राशि (आमतौर पर 512 बाइट्स पर पकड़ सकता है, लेकिन कुछ नए 4KB हैं)। जब आप एक फाइल सिस्टम लागू करते हैं तो समूहों को समूहों में बांटा जाता है (आपके द्वारा निर्दिष्ट आकार के आधार पर, आवंटन आकार या क्लस्टर आकार कहा जाता है), और फिर फाइलों को समूहों में लिखा जाता है। अपने सेक्टर के आकार से छोटे समूहों को बनाने के लिए एक सेक्टर को विभाजित करना भी संभव है। किसी क्लस्टर (या कई) में फ़ाइल लिखे जाने के बाद क्लस्टर में अप्रयुक्त स्थान उपयोग करने योग्य नहीं है, अगली फ़ाइल एक नए क्लस्टर में शुरू होती है। बहुत सारे बेकार जगह से बचने के लिए लोग आमतौर पर छोटे क्लस्टर आकार का उपयोग करते हैं, लेकिन बड़ी फ़ाइलों को लिखते समय यह प्रदर्शन को कम कर सकता है। नंद-फ्लैश एसएसडी में चुंबकीय प्लेट नहीं है, वे मेमोरी ब्लॉक से गुजरने वाली बिजली का उपयोग करते हैं। एक ब्लॉक कोशिकाओं से बना होता है जिसमें पृष्ठ होते हैं। पृष्ठों की एक्स क्षमता (आमतौर पर 4 केबी) है, और इस प्रकार पृष्ठों की संख्या एक ब्लॉक की क्षमता (आमतौर पर 512 केबी) का निर्धारण करेगी। SSD के पेज पर हार्ड ड्राइव पर सेक्टर के बराबर होता है, क्योंकि वे दोनों स्टोरेज के सबसे छोटे डिवीजन का प्रतिनिधित्व करते हैं।
क्या पहनें लेवलिंग है?:
नंद-फ्लैश स्टोरेज ब्लॉक को सीमित समय के लिए लिखा जा सकता है और मिटाया जा सकता है (उनके जीवनचक्र के रूप में संदर्भित)। क्षमता में कमी (मृत ब्लॉकों) की पीड़ा को रोकने के लिए ड्राइव को ब्लॉक के नीचे पहनने के लिए समझ में आता है। सीमित जीवन चक्र भी मुख्य कारण है कि बहुत से लोग आपके ऑपरेटिंग सिस्टम में एक पेज फ़ाइल या स्वैप विभाजन नहीं होने का सुझाव देते हैं यदि आप नंद-फ्लैश आधारित एसएसडी का उपयोग कर रहे हैं (हालांकि डिवाइस से रैम तक तेज डेटा ट्रांसफर गति भी एक प्रमुख है उस सुझाव में कारक)।
क्या प्रावधान है?
ओवर प्रोविजनिंग इस अंतर को परिभाषित करता है कि वहां कितना खाली स्थान है, इसकी तुलना में वहां कितना प्रतीत होता है। नंद-फ्लैश आधारित स्टोरेज डिवाइस का दावा है कि वे इससे छोटे हैं ताकि कचरा निपटान के लिए खाली ब्लॉकों का उपयोग करने के लिए गारंटी दी जाए। डायनेमिक ओवर प्रोविजनिंग के नाम पर एक दूसरी तरह का ओवर प्रोविजनिंग है जो केवल दिखाए गए फ्री स्पेस के भीतर ज्ञात फ्री स्पेस को संदर्भित करता है। प्रोविजनिंग पर दो तरह के डायनामिक होते हैं: ऑपरेटिंग सिस्टम लेवल, और ड्राइव कंट्रोलर लेवल। ऑपरेटिंग सिस्टम स्तर पर ट्रिम का उपयोग उन ब्लॉकों को मुक्त करने के लिए किया जा सकता है जो तब तत्काल को लिखा जा सकता है। नियंत्रक स्तर पर असंबद्ध ड्राइव स्पेस (विभाजन नहीं, कोई फ़ाइल सिस्टम नहीं) का उपयोग किया जा सकता है। अधिक मुक्त ब्लॉक्स होने से ड्राइव को बेहतरीन प्रदर्शन में रखने में मदद मिलती है, क्योंकि यह तुरंत लिख सकता है।
क्या है प्रवर्धन?
क्योंकि नंद-फ्लैश माध्यमों को लिखने से पहले एक ब्लॉक को मिटाने की आवश्यकता होती है, क्योंकि ब्लॉक को मिटाए नहीं जाने वाले किसी भी डेटा को कचरा निपटान द्वारा एक नए ब्लॉक में कॉपी किया जाना चाहिए। इन अतिरिक्त लेखन को लेखन प्रवर्धन कहा जाता है।
ट्रिम क्या है ?:
ऑपरेटिंग सिस्टम को पारंपरिक हार्ड ड्राइव को ध्यान में रखकर बनाया गया है। याद रखें कि पारंपरिक हार्ड ड्राइव सीधे डेटा को अधिलेखित कर सकती है। जब आप किसी फ़ाइल को हटाते हैं तो ऑपरेटिंग सिस्टम उसे डिलीट कर देता है (ठीक है ओवर राइट करने के लिए), लेकिन डेटा तब तक बना रहता है जब तक कि राइट ऑपरेशन नहीं हो जाता। नंद-फ्लैश आधारित एसएसडी पर यह एक समस्या है, क्योंकि डेटा को पहले मिटाया जाना चाहिए। Erasal एक ब्लॉक स्तर पर होता है इसलिए अतिरिक्त डेटा हो सकता है जिसे हटाया नहीं जा रहा है। कचरा निपटान किसी भी डेटा की प्रतिलिपि बनाता है जो खाली ब्लॉकों को हटाने के लिए नहीं है, और फिर विचाराधीन ब्लॉक मिटाए जा सकते हैं। यह सब समय लगता है, और अकारण लिखते हैं (लिखने का प्रवर्धन)! इसके आसपास जाने के लिए ट्रिम नामक एक फीचर बनाया गया था। ट्रिम ऑपरेटिंग सिस्टम को एसएसडी को बताने की शक्ति देता है ऑपरेटिंग सिस्टम वाले पृष्ठों को ब्लॉक करने के लिए ऑपरेटिंग सिस्टम को समय की अवधि के दौरान हटाए जाने के रूप में चिह्नित किया गया है, जब आप वहां लेखन ऑपरेशन का अनुरोध नहीं कर रहे हैं। कचरा संग्रहण यह काम करता है, और परिणामस्वरूप ब्लॉक को मुक्त कर दिया जाता है ताकि लिखने वाले ब्लॉक को उम्मीद कर सकें कि उन्हें पहले मिटाने की आवश्यकता नहीं है जो प्रक्रिया को तेज करता है, और लिखने के प्रवर्धन को कम करने में मदद करता है। यह फ़ाइल के आधार पर नहीं किया जाता है; ट्रिम तार्किक ब्लॉक एड्रेसिंग का उपयोग करता है। LBA निर्दिष्ट करता है कि कौन से सेक्टर (पृष्ठ) मिटाने हैं, और ब्लॉक स्तर पर इरैसल होता है। और लिखने के प्रवर्धन को कम करने में मदद करता है। यह फ़ाइल के आधार पर नहीं किया जाता है; ट्रिम तार्किक ब्लॉक एड्रेसिंग का उपयोग करता है। LBA निर्दिष्ट करता है कि कौन से सेक्टर (पृष्ठ) मिटाने हैं, और ब्लॉक स्तर पर इरैसल होता है। और लिखने के प्रवर्धन को कम करने में मदद करता है। यह फ़ाइल के आधार पर नहीं किया जाता है; ट्रिम तार्किक ब्लॉक एड्रेसिंग का उपयोग करता है। LBA निर्दिष्ट करता है कि कौन से सेक्टर (पृष्ठ) मिटाने हैं, और ब्लॉक स्तर पर इरैसल होता है।
आपके प्रश्न का उत्तर "SSD के विभाजन के नुकसान?"
राम आधारित SSDs:
वहाँ बिल्कुल कोई नुकसान नहीं है क्योंकि वे यादृच्छिक पहुँच हैं!
नंद-फ्लैश आधारित एसएसडी:
मेरे दिमाग में आने वाला एकमात्र नुकसान होगा:
पहनने के लेवलिंग के साथ खेलने के लिए उतने खाली स्थान नहीं होंगे, क्योंकि लिखने के संचालन को एक छोटे से स्थान में फैलाया जाएगा, इसलिए आप "कर सकते हैं", लेकिन जरूरी नहीं कि ड्राइव के उस हिस्से को आप की तुलना में तेजी से पहनना होगा यदि पूरी ड्राइव होगी जब तक आप अतिरिक्त विभाजनों (जैसे: एक दोहरी बूट) पर एक समान वस्त्र नहीं पहनेंगे, तब तक एक विभाजन था।
हार्ड ड्राइव की तरह नंद-फ्लैश एसएसडी की अनुक्रमिक पहुंच होती है, इसलिए अतिरिक्त विभाजन से आप जो भी डेटा लिखते / पढ़ते हैं, वह उससे कहीं अधिक दूर होगा "यदि यह एक ही विभाजन में लिखा गया हो तो हो सकता है, क्योंकि लोग आमतौर पर अपने विभाजन में खाली स्थान छोड़ देते हैं। । यह अतिरिक्त विभाजनों पर संग्रहीत डेटा के लिए पहुंच समय बढ़ाएगा।
कम कुल स्थान खंडित फ़ाइलों को लिखने की संभावना को बढ़ाता है, और जब प्रदर्शन प्रभाव छोटा होता है, तो यह ध्यान रखें कि यह आमतौर पर एक नंद-फ्लैश एसएसडी की अवहेलना करने के लिए एक बुरा विचार माना जाता है क्योंकि यह ड्राइव को खराब कर देगा। बेशक, आप किस फाइलसिस्टम का उपयोग कर रहे हैं, इस बात पर निर्भर करता है कि विखंडन की बेहद कम मात्रा में कुछ परिणाम का उपयोग किया जा रहा है, क्योंकि वे तेजी से लिखने की गति बनाने के लिए पूरी जगह पर डंप करने के बजाय जब भी संभव हो फाइलों को लिखने के लिए डिज़ाइन किए जाते हैं।
मैं कहूंगा कि कई विभाजन होना ठीक है, लेकिन अगर आप कुछ विभाजन लेखन गतिविधि के बहुत सारे हो रहे हैं, और अन्य बहुत कम हो रहे हैं, तो लेवलिंग पहनना एक चिंता का विषय हो सकता है। यदि आप उस स्थान का विभाजन नहीं करते हैं जिसका आप उपयोग करने की योजना नहीं बनाते हैं, और इसके बजाय इसे डायनेमिक के लिए छोड़ दें, तो आप एक प्रदर्शन को बढ़ावा दे सकते हैं क्योंकि यह ब्लॉक को मुक्त करने और अनुक्रमिक डेटा लिखने में आसान होगा। हालाँकि, इस बात की कोई गारंटी नहीं है कि ओवर प्रोविजनिंग स्पेस की ज़रूरत होगी जो हमें वियर लेवलिंग के बारे में # 1 बिंदु पर वापस लाती है।
इस सूत्र में कुछ अन्य लोगों ने चर्चा की है कि विभाजन से लेकर डायनामिककरण तक ट्रिम के योगदान को कैसे प्रभावित करेगा। मेरी समझ के लिए TRIM का उपयोग उन क्षेत्रों (पृष्ठों) को इंगित करने के लिए किया जाता है जिनके पास डेटा को हटाए जाने के लिए चिह्नित किया गया है, और इसलिए कचरा निपटान उन ब्लॉकों को मुक्त कर सकता है। यह खाली स्थान केवल THAT विभाजन के भीतर प्रावधान पर गतिशील के रूप में कार्य करता है, क्योंकि वे क्षेत्र उस विभाजन के फाइल सिस्टम द्वारा उपयोग किए जा रहे क्लस्टर का हिस्सा हैं; अन्य विभाजनों के अपने फाइल सिस्टम हैं। हालाँकि मैं इस पर पूरी तरह से गलत हो सकता हूं क्योंकि ओवर प्रोविजनिंग का पूरा विचार मेरे लिए थोड़ा अस्पष्ट है क्योंकि डेटा उन जगहों पर लिखा जाएगा जहां फाइल सिस्टम भी नहीं हैं या ड्राइव क्षमता में दिखाई नहीं देते हैं। इससे मुझे आश्चर्य होता है कि क्या किसी फाइल सिस्टम के भीतर ब्लॉक करने के लिए अंतिम ऑप्टोमाइज्ड राइट ऑपरेशन से पहले शायद प्रोविजनिंग स्पेस का इस्तेमाल अस्थायी आधार पर किया जाता है? बेशक ट्रिम का फाइल सिस्टम में प्रोविज़निंग से अधिक योगदान अस्थायी नहीं होगा क्योंकि उन्हें सीधे लिखा जा सकता है क्योंकि वे पहले से ही प्रयोग करने योग्य स्थान पर हैं। कम से कम मेरा सिद्धांत तो यही है। हो सकता है कि मेरी समझ में फाइल गलत हो? मैं इस बारे में विस्तार से जाने वाले किसी भी संसाधन को खोजने में असमर्थ रहा हूं।