SSD के विभाजन के नुकसान?


79

एक बुद्धिमान व्यक्ति जो NickN के नाम से जाता है, एक शक्तिशाली कंप्यूटर बनाने के बारे में अपने विचारों पर एक lenghty फ़ोरम पोस्ट रखता है (सॉफ़्टवेयर की बहुत मांग वाले टुकड़े Microsoft के फ़्लाइट सिमुलेटर X को चलाने के लिए निर्देशित)।

वह एसएसडी ड्राइव के बारे में बिंदुओं को कहीं और रखता है, और वह सूची का निष्कर्ष इस प्रकार है:

पार्टिशन एसएसडी नहीं

वह दुर्भाग्य से इस पर विस्तार नहीं करता है, लेकिन मुझे आश्चर्य है कि वह ऐसा क्यों कहता है। SSD के विभाजन की कमियां क्या हैं? (इस संदर्भ में विभाजन का अर्थ> = 2 विभाजन)


13
ठीक है, आप चाहते हैं है ताकि इसे उपयोग करने के लिए यह विभाजन। संभवतः, उसका मतलब है कि एक से अधिक विभाजन न बनाएं, हालांकि वह यह सिफारिश क्यों करेगा कि यह मेरे से परे है।
15In में क्रिस इंमडॉनटन

1
@ChrisInEdmonton हाँ उसका यही मतलब है।
15

4
मैं थाह नहीं लगा सकता कि यह क्यों मायने रखेगा। यहां तक ​​कि अगर आप फ़ेसिकल विभाजन के बजाय तार्किक विभाजन का उपयोग कर रहे हैं, तो एक बार OS फाइल सिस्टम ड्राइवर को बताता है कि ड्राइव के किस भाग का उपयोग करना है, विभाजन कोई फर्क नहीं पड़ता। केवल एक चीज जो मायने रखती है वह है विभाजन संरेखण, लेकिन इसका विभाजन की संख्या से कोई लेना-देना नहीं है।
डार्थ एंड्रॉइड

2
मैं केवल अनुमान लगा सकता हूं कि उसका मतलब है: "एक बहुत छोटी ड्राइव को विभाजित न करें", भले ही यह एचडीडी या एसडीडी हो।
हेन्नेस

6
केवल दूसरा विकल्प जो मैं कर सकता हूं वह है (गलत तरीके से) यह मानते हुए कि एसएसडी कंट्रोलर को काम करने के लिए वॉल्यूम पर मुक्त स्थान की आवश्यकता होती है। यह कुशल होने के लिए डिस्क पर मुक्त स्थान की आवश्यकता है; माउंटेड वॉल्यूम में खाली जगह को पियर्स न करें। ट्यूनिंग जो केवल ओवर-प्रोविज़निंग पर निर्णय लेने और मेजबान संरक्षित क्षेत्र स्थापित करने का एक मामला है ।
हनीस

जवाबों:


118

SSDs नहीं, मैं दोहराता हूं, फाइलसिस्टम स्तर पर काम नहीं करते हैं!

कोई 1: 1 सहसंबंध नहीं है कि फाइलसिस्टम चीजों को कैसे देखता है और एसएसडी चीजों को कैसे देखता है।

एसएसडी को किसी भी तरह से विभाजित करने के लिए स्वतंत्र महसूस करें (आप चाहते हैं कि प्रत्येक विभाजन सही ढंग से संरेखित हो, और एक आधुनिक ओएस आपके लिए यह सब संभाल लेगा); यह कुछ भी चोट नहीं करेगा, यह पहुंच के समय या किसी अन्य चीज पर प्रतिकूल प्रभाव नहीं डालेगा, और एसएसडी को एक टन भी लिखने के बारे में चिंता न करें। उनके पास है ताकि आप एक दिन में 50 जीबी डेटा लिख ​​सकें, और यह 10 साल तक चलेगा।

रॉबिन हुड के जवाब पर प्रतिक्रिया देते हुए ,

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

यह पूरी तरह से गलत है। विभाजन को पहनना असंभव है क्योंकि आप केवल उस विभाजन को पढ़ते / लिखते हैं। यह भी दूर नहीं है कि एसएसडी कैसे काम करते हैं।

एक एसएसडी फाइल सिस्टम जो देखता है, उससे कहीं अधिक निचले स्तर पर काम करता है; एक SSD ब्लॉक और पेज के साथ काम करता है।

इस मामले में, वास्तव में क्या होता है, भले ही आप एक विशिष्ट विभाजन में एक टन डेटा लिख ​​रहे हों, लेकिन फाइल सिस्टम विभाजन द्वारा विवश है, लेकिन, एसएसडी नहीं है। एसएसडी को जितना अधिक लिखा जाता है, उतना अधिक ब्लॉक / पृष्ठ एसएसडी को लेवलिंग करने के लिए स्वैप किया जाएगा। यह कम परवाह नहीं कर सकता है कि फाइलसिस्टम चीजों को कैसे देखता है! इसका मतलब है कि एक समय में, डेटा एसएसडी पर एक विशिष्ट पृष्ठ पर रह सकता है, लेकिन, दूसरी बार, यह अलग हो सकता है और होगा। एसएसडी इस बात पर नज़र रखेगा कि डेटा में कहां-कहां फेरबदल हुआ और फाइल सिस्टम का कोई सुराग नहीं होगा कि डेटा वास्तव में एसएसडी पर है।

इसे और भी आसान बनाने के लिए: कहते हैं कि आप विभाजन पर एक फाइल लिखते हैं। ओएस ओएस फाइल सिस्टम को स्टोरेज जरूरतों के बारे में बताता है, और फाइल सिस्टम "सेक्टर" को आवंटित करता है, और फिर एसएसडी को बताता है कि इसे एक्स राशि की जरूरत है। फाइलसिस्टम 123 के लॉजिकल ब्लॉक एड्रेस (LBA) पर फाइल देखता है (उदाहरण के लिए)। SSD यह नोट करता है कि LBA 123 ब्लॉक / पृष्ठ # 500 (उदाहरण के लिए) का उपयोग कर रहा है। इसलिए, हर बार ओएस को इस विशिष्ट फ़ाइल की आवश्यकता होती है, एसएसडी के पास उस सटीक पृष्ठ पर एक संकेतक होगा जो इसका उपयोग कर रहा है। अब, यदि हम SSD को लिखते रहते हैं, तो लेवलिंग किक पहनते हैं और कहते हैं ब्लॉक / पेज # 500, हम आपको ब्लॉक / पेज # 2300 पर बेहतर तरीके से अनुकूलित कर सकते हैं। अब, जब OS उसी फ़ाइल का अनुरोध करता है, और फाइल सिस्टम एलबीए 123 के लिए फिर से पूछता है, तो इस समय, एसएसडी ब्लॉक / पृष्ठ # 2300, और # 500 नहीं लौटाएगा।

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

नहीं, यह फिर गलत है! रॉबिन हुड चीजों के बजाय फाइल सिस्टम के बारे में सोच रहे हैं, यह सोचने के बजाय कि एसएसडी कैसे काम करता है। फिर, फ़ाइल सिस्टम के लिए यह जानने का कोई तरीका नहीं है कि एसएसडी डेटा को कैसे संग्रहीत करता है। यहाँ कोई "दूर" नहीं है; यह केवल फ़ाइल सिस्टम की नज़र में है, वास्तविक तरीका नहीं है जिसमें SSD जानकारी संग्रहीत करता है। एसएसडी के लिए संभव है कि डेटा अलग-अलग नंद चिप्स में फैला हो, और उपयोगकर्ता को एक्सेस समय में कोई वृद्धि नहीं दिखाई देगी। हेक, नंद की समानांतर प्रकृति के कारण, यह पहले से भी तेज हो सकता है, लेकिन हम यहां नैनोसेकंड की बात कर रहे हैं; पलक और आप इसे याद किया।

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

नहीं माफ़ करो; फिर से यह गलत है। फाइलों के फाइल सिस्टम का दृश्य और एसएसडी का दृश्य उन्हीं फाइलों के करीब नहीं है। फाइलसिस्टम फ़ाइल को सबसे खराब स्थिति में खंडित के रूप में देख सकता है, लेकिन, समान डेटा का एसएसडी दृश्य लगभग हमेशा अनुकूलित होता है।

इस प्रकार, एक डीफ़्रैग्मेन्टेशन प्रोग्राम उन एलबीए को देखेगा और कहेगा, यह फ़ाइल वास्तव में खंडित होनी चाहिए! लेकिन, चूंकि इसमें एसएसडी के आंतरिक लोगों का कोई सुराग नहीं है, इसलिए यह 100% गलत है। यह कारण है कि एक डीफ़्रैग प्रोग्राम SSDs पर काम नहीं करेगा, और हाँ, एक डीफ़्रैग प्रोग्राम भी अनावश्यक लेखन का कारण बनता है, जैसा कि उल्लेख किया गया था।

SSDs के लिए लेख श्रृंखला कोडिंग एक अच्छा अवलोकन है कि क्या हो रहा है यदि आप SSDs कैसे काम करते हैं, इसके बारे में अधिक तकनीकी होना चाहते हैं।

एफटीएल (फ्लैश ट्रांसलेशन लेयर) वास्तव में कैसे काम करता है, इस बारे में कुछ और "प्रकाश" पढ़ने के लिए, मैं आपको फ्लैश मेमोरी समिट साइट  से सॉलिड स्टेट ड्राइव डिजाइन (पीडीएफ) में क्रिटवेयर और फ्लैश ट्रांसलेशन लेयर्स के क्रिटिकल रोल को भी पढ़ने का सुझाव देता हूं ।

उनके पास बहुत सारे अन्य कागजात भी उपलब्ध हैं, जैसे:

यह कैसे काम करता है पर एक और पेपर: फ्लैश मेमोरी अवलोकन  (पीडीएफ)। अनुभाग "लेखन डेटा" (पृष्ठ 26-27) देखें।

यदि वीडियो आपकी चीज़ अधिक है, तो फ़्लैश मेमोरी और संबंधित स्लाइड्स में एड्रेस ट्रांसलेशन को ऑप्टिमाइज़ करने के लिए एक कुशल पेज-लेवल FTL देखें ।


नमस्कार, क्या आप कृपया उन स्रोतों से कुछ लिंक जोड़ सकते हैं जो आपकी जानकारी का समर्थन करते हैं? यह बहुत अच्छी तरह हो सकता है कि अन्य जवाब तथ्यात्मक रूप से गलत है, लेकिन मैं यह जानकर कि आप का कोई रास्ता नहीं है कर रहे हैं या तो सही।
मारियोडीस

4
से विंडोज Internals 6 एड।, भाग 2, Ch। 9 (स्टोरेज मैनेजमेंट) और 12 (फाइल सिस्टम), आप सीख सकते हैं कि फाइल सिस्टम ड्राइवर, फिर वॉल्यूम ड्राइवर, और अंत में डिस्क ड्राइवर (एसएसडी के लिए भी उपयोग किया जाता है) के माध्यम से I / O फ़ाइलों का अनुरोध कैसे करता है। एफएसडी ब्लॉक-इन-ए-फाइल को ब्लॉक-इन-ए-पार्टिटोइन में अनुवाद करता है; वॉल्यूम ड्राइवर बाद वाले को ब्लॉक-ए-डिस्क, यानी एलबीए में अनुवाद करता है। इसलिए जब तक अनुरोध डिस्क ड्राइवर तक सभी फ़ाइल तक पहुंच जाता है, और विभाजन-संबंधित संदर्भ चला जाता है। डिस्क को फ़ाइलों या विभाजन के बारे में पता नहीं हो सकता है क्योंकि यह जानकारी अभी उस अनुरोध में नहीं है जो इसके पास आती है।
जेमी हनरहान

5
रॉबिनहुड को "हार्ड ड्राइव नंद-फ्लैश एसएसडी की क्रमिक पहुंच" जैसे दावे में भी गलत माना जाता है । ये रैंडम-एक्सेस डिवाइस हैं। यदि वे अनुक्रमिक पहुंच वाले थे, तो आप उन्हें "ब्लॉक एन पढ़ या लिख ​​नहीं सकते"; एकमात्र ब्लॉक जिसे आप एक्सेस कर सकते हैं, वह तुरंत निम्नलिखित होगा, या हो सकता है कि एक तुरंत पूर्ववर्ती हो, जिसे आपने अभी एक्सेस किया था। यह सच है कि आंतरिक रूप से, नंद-फ्लैश एसएसडी केवल एक बार में बड़े "पृष्ठों" में डेटा लिख ​​सकते हैं, लेकिन यह उन्हें अनुक्रमिक पहुंच नहीं बनाता है। टेप अनुक्रमिक पहुंच हैं। इसे देखो।
जेमी हनरहान

मैंने अपने उत्तर में पहले लिंक के अलावा एक और पीडीएफ जोड़ा।
टाइम ट्विन

1
@TimeTwin मैन, जितना अधिक मैं आपके उत्तर को फिर से पढ़ता हूं, डब मुझे लगता है कि मैं रॉबिन हुड के उत्तर पर आंख मूंदकर भरोसा करता हूं, जिसमें वास्तव में ऐसे बयान शामिल हैं जो एसएसडी डिजाइन को बहुत बेवकूफ बनाते हैं, क्या वे सच थे। यह एक अनुस्मारक है कि क्यों हमें भरोसेमंद साइटों पर और कई अपवोट के साथ मिलने पर भी जानकारी के बारे में महत्वपूर्ण बने रहने की आवश्यकता है। आपने इस साइट पर शानदार प्रविष्टि की है, प्रतिनिधि को बढ़ावा दें और कृपया अपने (सत्यापित) ज्ञान का प्रसार जारी रखें।
मारियोएस

15

यहां बहुत लंबे उत्तर, जब उत्तर काफी सरल है और एसएसडी के सामान्य ज्ञान से सीधे अनुसरण करता है। उत्तर को समझने के लिए किसी को ठोस-राज्य ड्राइव के विकिपीडिया शब्द को पढ़ने की अधिक आवश्यकता नहीं है , जो है:

सलाह "पार्ट न करें SSD" बकवास है।

पिछले (अब दूर) अतीत में, ऑपरेटिंग सिस्टम ने SSDs को बहुत अच्छी तरह से समर्थन नहीं किया था, और विशेष रूप से जब विभाजन को मिटा ब्लॉक के आकार के अनुसार विभाजन संरेखित करने के लिए ध्यान नहीं दिया।

संरेखण की यह कमी, जब एक OS लॉजिकल डिस्क सेक्टर को भौतिक SSD ब्लॉकों के बीच विभाजित किया गया था, तो SSD को दो भौतिक क्षेत्रों को फ्लैश करने की आवश्यकता हो सकती है जब OS केवल एक को अपडेट करने का इरादा रखता है, इस प्रकार डिस्क एक्सेस को धीमा करना और पहनना लेवलिंग बढ़ाना ।

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

वास्तव में, SSDs के विभाजन के लिए तर्क आज शास्त्रीय डिस्क के समान है:
डेटा को बेहतर ढंग से व्यवस्थित करने और अलग करने के लिए।

उदाहरण के लिए, ऑपरेटिंग सिस्टम को एक अलग और छोटे विभाजन पर स्थापित करना ओएस के लिए बड़े अपडेट करते समय सावधानी के रूप में इसकी बैकअप छवि लेने के लिए आसान है।


4

एसएसडी के विभाजन के लिए कोई कमियां नहीं हैं, और आप वास्तव में कुछ अनछुए स्थान को छोड़ कर अपने जीवन का विस्तार कर सकते हैं।

पहनने के लेवलिंग को डिवाइस के सभी ब्लॉक्स पर लागू किया जाता है (Ref। HP श्वेत पत्र, नीचे लिंक किया गया है)

स्टैटिक वियर लेवलिंग में, डिवाइस में सभी उपलब्ध फ्लैश के सभी ब्लॉक वियर-लेवलिंग ऑपरेशंस में भाग लेते हैं। यह सुनिश्चित करता है कि सभी ब्लॉकों को एक समान राशि प्राप्त हो। स्टेटिक वियर लेवलिंग का उपयोग अक्सर डेस्कटॉप और नोटबुक एसएसडी में किया जाता है।

उस से, हम यह निष्कर्ष निकाल सकते हैं कि पहनने-समतल करने के लिए कोई फर्क नहीं पड़ता। यह समझ में आता है क्योंकि HDD और नियंत्रक बिंदु से, विभाजन वास्तव में मौजूद नहीं है। बस ब्लॉक और डेटा हैं। यहां तक ​​कि विभाजन तालिका एक ही ब्लॉकों (एमबीआर के लिए ड्राइव का 1 खंड) पर लिखा गया है। यह ओएस है जो तब तालिका को पढ़ता है, और यह तय करता है कि किस ब्लॉक को डेटा लिखना है और कौन सा नहीं। OS प्रत्येक ब्लॉक को एक अद्वितीय संख्या देने के लिए LBA का उपयोग करके ब्लॉक देखता है। हालाँकि, नियंत्रक तब पहनने के लिए लेवलिंग स्कीम को ध्यान में रखते हुए एक वास्तविक भौतिक ब्लॉक के लिए तार्किक ब्लॉक को मैप करता है।

डिवाइस को लाइव करने के लिए एक ही ह्वाइटपेपर एक अच्छा सुझाव देता है:

इसके बाद, अपने ड्राइव को ओवरप्रोविजन करें। आप डिवाइस की कुल क्षमता के एक हिस्से को विभाजित करके जीवनकाल बढ़ा सकते हैं। उदाहरण के लिए, यदि आपके पास 256 जीबी ड्राइव है - केवल इसे 240 जीबी में विभाजित करें। यह ड्राइव के जीवन का बहुत विस्तार करेगा। एक 20% ओवरप्रोविजनिंग स्तर (केवल 200 जीबी का विभाजन) जीवन को और आगे बढ़ाएगा। अंगूठे का एक अच्छा नियम हर बार जब आप ड्राइव के ओवरप्रोविजन को दोगुना करते हैं तो आप ड्राइव के धीरज में 1x जोड़ते हैं।

इससे यह भी संकेत मिलता है कि पहनने के लिए भी गैर-स्पेसिफिक स्पेस का उपयोग किया जाता है, इस प्रकार आगे की बात साबित होती है।

स्रोत: तकनीकी श्वेत पत्र - SSD धीरज ( http://h20195.www2.hp.com/v2/getpdf.aspx/4AA5-7601ENW.pdf )


1

डिस्क सेक्टर लंबे समय तक 512 बाइट्स रहे हैं, और मैकेनिकल डिस्क में संपत्ति होती है जो केवल एक चीज को प्रभावित करती है जो एक सेक्टर को पढ़ने / लिखने में कितना समय लगता है वह है देरी। तो यांत्रिक हार्ड ड्राइव के साथ मुख्य ऑप्टिमाइज़ेशन चरण को सीक को कम से कम करने के लिए क्रमिक रूप से पढ़ने / लिखने की कोशिश की गई थी।

फ्लैश मेक्निकल हार्ड ड्राइव की तुलना में काफी अलग है। कच्चे फ़्लैश स्तर पर, आपके पास ब्लॉक नहीं हैं, लेकिन पृष्ठ और "इरेज़ब्लॉक" (लिनक्स एमटीडी शब्दावली से उधार लेने के लिए)। आप एक समय में एक पृष्ठ फ्लैश करने के लिए लिख सकते हैं, और आप एक बार में एक मिटा मिटा फ्लैश कर सकते हैं।

फ्लैश के लिए एक विशिष्ट पृष्ठ का आकार 2KBytes है, और eraseblocks के लिए एक विशिष्ट आकार 128KBytes है।

लेकिन एसएटीए एसएसडी एक इंटरफ़ेस पेश करता है जो ओएस को 512 बाइट सेक्टर आकारों के साथ काम करता है।

यदि पृष्ठों और सेक्टरों के बीच 1: 1 मैपिंग है, तो आप देख सकते हैं कि यदि आपकी विभाजन तालिका किसी विषम पृष्ठ पर या इरेज़ब्लॉक के मध्य पृष्ठ पर प्रारंभ हुई तो आप किस तरह से परेशान होंगे। यह देखते हुए कि OSX 4Kbyte chunks में ड्राइव से डेटा प्राप्त करना पसंद करते हैं क्योंकि यह x86 पेजिंग हार्डवेयर के साथ संरेखित होता है, आप देख सकते हैं कि इस तरह के 4Kbyte ब्लॉक एक eraseblock को कैसे रोक सकते हैं, जिसका अर्थ है कि इसे मिटाने की आवश्यकता होगी, फिर 1 के बजाय 2 ब्लॉक को फिर से लिखना होगा। कम प्रदर्शन।

हालाँकि, SSD फर्मवेयर 1: 1 मैपिंग को बनाए नहीं रखता है, यह लॉजिकल ब्लॉक एड्रेस (LBA) के लिए एक भौतिक ब्लॉक एड्रेस (PBA) करता है। मतलब आपको कभी नहीं पता कि कहाँ पर सेक्टर ५००० या किसी अन्य दिए गए सेक्टर को वास्तव में फ्लैश में लिखा जा रहा है। यह डिजाइन द्वारा पर्दे के पीछे बहुत सी चीजें कर रहा है, हमेशा पूर्व-मिटाए मिटाए लिखने के लिए लिखने की कोशिश करें। आप निश्चित रूप से यह नहीं जान सकते कि फ़र्मवेयर की गड़बड़ी के बिना इसका क्या किया जा रहा है, लेकिन जब तक फ़र्मवेयर पूरी तरह से रद्दी नहीं हो जाता है, तब तक फ़र्मवेयर शायद इसके आस-पास नहीं फटकता।

आपने 4K हार्ड ड्राइव के बारे में सुना होगा। ये mechnical हार्ड ड्राइव हैं जो आंतरिक रूप से 4Kbytes के सेक्टर आकार का उपयोग करते हैं, लेकिन फिर भी ऑपरेटिंग सिस्टम के लिए 512-बाइट सेक्टर इंटरफ़ेस प्रस्तुत करते हैं। इसकी जरूरत इसलिए है क्योंकि ज्यादा डेटा फिट करने के लिए सेक्टरों के बीच अंतराल को प्लैटर पर छोटा होना चाहिए।

इसका मतलब है कि आंतरिक रूप से यह हमेशा 4K सेक्टर को पढ़ता और लिखता है लेकिन इसे ओएस से छुपाता है। इस स्थिति में, यदि आप उन क्षेत्रों को नहीं लिखते हैं जो 4KByte सीमा पर आते हैं, तो आप एक गति दंड को लागू करेंगे क्योंकि प्रत्येक ऐसे पढ़ने / लिखने के परिणामस्वरूप दो आंतरिक 4KByte सेक्टर पढ़े और फिर से लिखे जाएंगे। लेकिन यह एसएसडी पर लागू नहीं होता है।

वैसे भी यह एकमात्र ऐसी स्थिति है जिसके बारे में मैं सोच सकता हूं कि एसएसडी को विभाजित नहीं करने का सुझाव क्यों दिया गया है। लेकिन यह लागू नहीं होता है।


-1

क्या इन जवाबों को नजरअंदाज Windows SSD अनुकूलन कर रहे हैं। मुझे नहीं पता कि इसका मतलब यह है कि विभाजन बेहतर हो जाता है, लेकिन विभाजन-सी-ड्राइव के लिए विंडोज-ड्राइव के रूप में आप कर सकते हैं:

  1. अनुक्रमण की बारी
  2. अंतिम पहुँच के समय पर नज़र रखने की आवश्यकता नहीं है
  3. पुराने 8 वर्ण डॉस-नामों को संग्रहीत करने की आवश्यकता नहीं है
  4. बाईपास विंडोज कचरा

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

-2

मैंने तय किया कि कुछ पृष्ठभूमि की जानकारी इस उत्तर को स्पष्ट करने में सहायक हो सकती है, लेकिन जैसा कि आप देख सकते हैं कि मैं थोड़ा ओसीडी गया था ताकि आप अंत तक छोड़ना चाहें और फिर ज़रूरत पड़ने पर वापस जा सकें। जबकि मुझे थोड़ा सा पता है, मैं SSDs का विशेषज्ञ नहीं हूं, अगर किसी को गलती दिखाई देती है तो उसे संपादित करें । :)।

पृष्ठभूमि की जानकारी:

एक SSD क्या है:

SSD या सॉलिड स्टेट ड्राइव एक स्टोरेज डिवाइस है जिसमें कोई मूविंग पार्ट्स नहीं होता है। एसएसडी शब्द का अर्थ अक्सर विशेष रूप से नंद-फ्लैश आधारित ठोस राज्य ड्राइव को संदर्भित करना होता है, जिसका उद्देश्य हार्ड ड्राइव विकल्प के रूप में कार्य करना होता है, लेकिन वास्तव में वे एसएसडी का सिर्फ एक रूप होते हैं, और सबसे लोकप्रिय भी नहीं। एसएसडी का सबसे लोकप्रिय प्रकार नंद-फ्लैश आधारित हटाने योग्य मीडिया है जैसे यूएसबी स्टिक (फ्लैश ड्राइव), और मेमोरी कार्ड, हालांकि उन्हें शायद ही कभी एसएसडी के रूप में संदर्भित किया जाता है। SSDs भी रैम आधारित हो सकते हैं, लेकिन अधिकांश रैम-ड्राइव सॉफ्टवेयर हैं जो भौतिक हार्डवेयर के विपरीत उत्पन्न होते हैं।

नंद-फ्लैश एसएसडी एक हार्ड ड्राइव वैकल्पिक अस्तित्व के रूप में कार्य करने के लिए क्यों ?:

ऑपरेटिंग सिस्टम को चलाने के लिए, और यह सॉफ्टवेयर के लिए एक तेज़ स्टोरेज माध्यम की आवश्यकता है। यह वह जगह है जहाँ राम खेल में आता है, लेकिन ऐतिहासिक रूप से राम महंगा था और सीपीयू बड़े पैमाने पर संबोधित नहीं कर सकता था। जब आप एक ऑपरेटिंग सिस्टम चलाते हैं, या प्रोग्राम को डेटा के वर्तमान में आवश्यक अंश आपके रैम में कॉपी किए जाते हैं, क्योंकि आपका स्टोरेज डिवाइस काफी तेज नहीं है। एक अड़चन पैदा की जाती है, क्योंकि आपको धीमे स्टोरेज डिवाइस से रैम में कॉपी किए जाने वाले डेटा की प्रतीक्षा करनी होती है। जबकि सभी नंद-फ्लैश एसएसडी अधिक पारंपरिक हार्ड ड्राइव की तुलना में बेहतर प्रदर्शन को प्राप्त नहीं करते हैं, जो तेजी से एक्सेस समय, गति पढ़ने और गति लिखने के द्वारा अड़चन को कम करने में मदद करते हैं।

क्या है नंद-फ्लैश:?

फ्लैश स्टोरेज एक स्टोरेज माध्यम है जो डेटा को स्टोर करने के लिए चुंबकत्व के बजाय बिजली का उपयोग करता है। नंद-फ्लैश फ्लैश स्टोरेज है जो NAND गेटवे का उपयोग करता है। एक न-फ्लैश के विपरीत जो यादृच्छिक अभिगम है, नंद-फ्लैश क्रमिक रूप से एक्सेस किया जाता है।

नंद-फ्लैश एसएसडी डेटा को कैसे स्टोर करते हैं ?:

नंद-फ्लैश भंडारण ब्लॉकों से बना है, उन ब्लॉकों को कोशिकाओं में विभाजित किया जाता है, कोशिकाओं में पृष्ठ होते हैं। एक हार्ड ड्राइव के विपरीत, जो डेटा को स्टोर करने के लिए चुंबकत्व का उपयोग करता है, फ्लैश माध्यम बिजली का उपयोग करते हैं, क्योंकि इस डेटा को अधिक नहीं लिखा जा सकता है; अंतरिक्ष का फिर से उपयोग करने के लिए डेटा को मिटा दिया जाना चाहिए। डिवाइस अलग-अलग पृष्ठों को मिटा नहीं सकता है; erasal एक ब्लॉक स्तर पर होना चाहिए। चूँकि डेटा को पहले से उपयोग किए जाने वाले ब्लॉक को नहीं लिखा जा सकता है (भले ही उसमें सभी पृष्ठ न हों) पूरे ब्लॉक को पहले मिटा दिया जाना चाहिए, और फिर अब खाली ब्लॉक में डेटा को लिखा जा सकता है। समस्या यह है कि आप उन पृष्ठों में पहले से ही कोई डेटा खो देंगे, जिसमें वे डेटा शामिल हैं जिन्हें आप छोड़ना नहीं चाहते हैं! इस मौजूदा डेटा को बनाए रखने के लिए ब्लॉक इरेज़ल को करने से पहले कहीं और कॉपी किया जाना चाहिए।

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

क्या पहनें लेवलिंग है?:

नंद-फ्लैश स्टोरेज ब्लॉक को सीमित समय के लिए लिखा जा सकता है और मिटाया जा सकता है (उनके जीवनचक्र के रूप में संदर्भित)। क्षमता में कमी (मृत ब्लॉकों) की पीड़ा को रोकने के लिए ड्राइव को ब्लॉक के नीचे पहनने के लिए समझ में आता है। सीमित जीवन चक्र भी मुख्य कारण है कि बहुत से लोग आपके ऑपरेटिंग सिस्टम में एक पेज फ़ाइल या स्वैप विभाजन नहीं होने का सुझाव देते हैं यदि आप नंद-फ्लैश आधारित एसएसडी का उपयोग कर रहे हैं (हालांकि डिवाइस से रैम तक तेज डेटा ट्रांसफर गति भी एक प्रमुख है उस सुझाव में कारक)।

क्या प्रावधान है?

ओवर प्रोविजनिंग इस अंतर को परिभाषित करता है कि वहां कितना खाली स्थान है, इसकी तुलना में वहां कितना प्रतीत होता है। नंद-फ्लैश आधारित स्टोरेज डिवाइस का दावा है कि वे इससे छोटे हैं ताकि कचरा निपटान के लिए खाली ब्लॉकों का उपयोग करने के लिए गारंटी दी जाए। डायनेमिक ओवर प्रोविजनिंग के नाम पर एक दूसरी तरह का ओवर प्रोविजनिंग है जो केवल दिखाए गए फ्री स्पेस के भीतर ज्ञात फ्री स्पेस को संदर्भित करता है। प्रोविजनिंग पर दो तरह के डायनामिक होते हैं: ऑपरेटिंग सिस्टम लेवल, और ड्राइव कंट्रोलर लेवल। ऑपरेटिंग सिस्टम स्तर पर ट्रिम का उपयोग उन ब्लॉकों को मुक्त करने के लिए किया जा सकता है जो तब तत्काल को लिखा जा सकता है। नियंत्रक स्तर पर असंबद्ध ड्राइव स्पेस (विभाजन नहीं, कोई फ़ाइल सिस्टम नहीं) का उपयोग किया जा सकता है। अधिक मुक्त ब्लॉक्स होने से ड्राइव को बेहतरीन प्रदर्शन में रखने में मदद मिलती है, क्योंकि यह तुरंत लिख सकता है।

क्या है प्रवर्धन?

क्योंकि नंद-फ्लैश माध्यमों को लिखने से पहले एक ब्लॉक को मिटाने की आवश्यकता होती है, क्योंकि ब्लॉक को मिटाए नहीं जाने वाले किसी भी डेटा को कचरा निपटान द्वारा एक नए ब्लॉक में कॉपी किया जाना चाहिए। इन अतिरिक्त लेखन को लेखन प्रवर्धन कहा जाता है।

ट्रिम क्या है ?:

ऑपरेटिंग सिस्टम को पारंपरिक हार्ड ड्राइव को ध्यान में रखकर बनाया गया है। याद रखें कि पारंपरिक हार्ड ड्राइव सीधे डेटा को अधिलेखित कर सकती है। जब आप किसी फ़ाइल को हटाते हैं तो ऑपरेटिंग सिस्टम उसे डिलीट कर देता है (ठीक है ओवर राइट करने के लिए), लेकिन डेटा तब तक बना रहता है जब तक कि राइट ऑपरेशन नहीं हो जाता। नंद-फ्लैश आधारित एसएसडी पर यह एक समस्या है, क्योंकि डेटा को पहले मिटाया जाना चाहिए। Erasal एक ब्लॉक स्तर पर होता है इसलिए अतिरिक्त डेटा हो सकता है जिसे हटाया नहीं जा रहा है। कचरा निपटान किसी भी डेटा की प्रतिलिपि बनाता है जो खाली ब्लॉकों को हटाने के लिए नहीं है, और फिर विचाराधीन ब्लॉक मिटाए जा सकते हैं। यह सब समय लगता है, और अकारण लिखते हैं (लिखने का प्रवर्धन)! इसके आसपास जाने के लिए ट्रिम नामक एक फीचर बनाया गया था। ट्रिम ऑपरेटिंग सिस्टम को एसएसडी को बताने की शक्ति देता है ऑपरेटिंग सिस्टम वाले पृष्ठों को ब्लॉक करने के लिए ऑपरेटिंग सिस्टम को समय की अवधि के दौरान हटाए जाने के रूप में चिह्नित किया गया है, जब आप वहां लेखन ऑपरेशन का अनुरोध नहीं कर रहे हैं। कचरा संग्रहण यह काम करता है, और परिणामस्वरूप ब्लॉक को मुक्त कर दिया जाता है ताकि लिखने वाले ब्लॉक को उम्मीद कर सकें कि उन्हें पहले मिटाने की आवश्यकता नहीं है जो प्रक्रिया को तेज करता है, और लिखने के प्रवर्धन को कम करने में मदद करता है। यह फ़ाइल के आधार पर नहीं किया जाता है; ट्रिम तार्किक ब्लॉक एड्रेसिंग का उपयोग करता है। LBA निर्दिष्ट करता है कि कौन से सेक्टर (पृष्ठ) मिटाने हैं, और ब्लॉक स्तर पर इरैसल होता है। और लिखने के प्रवर्धन को कम करने में मदद करता है। यह फ़ाइल के आधार पर नहीं किया जाता है; ट्रिम तार्किक ब्लॉक एड्रेसिंग का उपयोग करता है। LBA निर्दिष्ट करता है कि कौन से सेक्टर (पृष्ठ) मिटाने हैं, और ब्लॉक स्तर पर इरैसल होता है। और लिखने के प्रवर्धन को कम करने में मदद करता है। यह फ़ाइल के आधार पर नहीं किया जाता है; ट्रिम तार्किक ब्लॉक एड्रेसिंग का उपयोग करता है। LBA निर्दिष्ट करता है कि कौन से सेक्टर (पृष्ठ) मिटाने हैं, और ब्लॉक स्तर पर इरैसल होता है।

आपके प्रश्न का उत्तर "SSD के विभाजन के नुकसान?"

राम आधारित SSDs:

वहाँ बिल्कुल कोई नुकसान नहीं है क्योंकि वे यादृच्छिक पहुँच हैं!

नंद-फ्लैश आधारित एसएसडी:

मेरे दिमाग में आने वाला एकमात्र नुकसान होगा:

  1. पहनने के लेवलिंग के साथ खेलने के लिए उतने खाली स्थान नहीं होंगे, क्योंकि लिखने के संचालन को एक छोटे से स्थान में फैलाया जाएगा, इसलिए आप "कर सकते हैं", लेकिन जरूरी नहीं कि ड्राइव के उस हिस्से को आप की तुलना में तेजी से पहनना होगा यदि पूरी ड्राइव होगी जब तक आप अतिरिक्त विभाजनों (जैसे: एक दोहरी बूट) पर एक समान वस्त्र नहीं पहनेंगे, तब तक एक विभाजन था।

  2. हार्ड ड्राइव की तरह नंद-फ्लैश एसएसडी की अनुक्रमिक पहुंच होती है, इसलिए अतिरिक्त विभाजन से आप जो भी डेटा लिखते / पढ़ते हैं, वह उससे कहीं अधिक दूर होगा "यदि यह एक ही विभाजन में लिखा गया हो तो हो सकता है, क्योंकि लोग आमतौर पर अपने विभाजन में खाली स्थान छोड़ देते हैं। । यह अतिरिक्त विभाजनों पर संग्रहीत डेटा के लिए पहुंच समय बढ़ाएगा।

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

मैं कहूंगा कि कई विभाजन होना ठीक है, लेकिन अगर आप कुछ विभाजन लेखन गतिविधि के बहुत सारे हो रहे हैं, और अन्य बहुत कम हो रहे हैं, तो लेवलिंग पहनना एक चिंता का विषय हो सकता है। यदि आप उस स्थान का विभाजन नहीं करते हैं जिसका आप उपयोग करने की योजना नहीं बनाते हैं, और इसके बजाय इसे डायनेमिक के लिए छोड़ दें, तो आप एक प्रदर्शन को बढ़ावा दे सकते हैं क्योंकि यह ब्लॉक को मुक्त करने और अनुक्रमिक डेटा लिखने में आसान होगा। हालाँकि, इस बात की कोई गारंटी नहीं है कि ओवर प्रोविजनिंग स्पेस की ज़रूरत होगी जो हमें वियर लेवलिंग के बारे में # 1 बिंदु पर वापस लाती है।

इस सूत्र में कुछ अन्य लोगों ने चर्चा की है कि विभाजन से लेकर डायनामिककरण तक ट्रिम के योगदान को कैसे प्रभावित करेगा। मेरी समझ के लिए TRIM का उपयोग उन क्षेत्रों (पृष्ठों) को इंगित करने के लिए किया जाता है जिनके पास डेटा को हटाए जाने के लिए चिह्नित किया गया है, और इसलिए कचरा निपटान उन ब्लॉकों को मुक्त कर सकता है। यह खाली स्थान केवल THAT विभाजन के भीतर प्रावधान पर गतिशील के रूप में कार्य करता है, क्योंकि वे क्षेत्र उस विभाजन के फाइल सिस्टम द्वारा उपयोग किए जा रहे क्लस्टर का हिस्सा हैं; अन्य विभाजनों के अपने फाइल सिस्टम हैं। हालाँकि मैं इस पर पूरी तरह से गलत हो सकता हूं क्योंकि ओवर प्रोविजनिंग का पूरा विचार मेरे लिए थोड़ा अस्पष्ट है क्योंकि डेटा उन जगहों पर लिखा जाएगा जहां फाइल सिस्टम भी नहीं हैं या ड्राइव क्षमता में दिखाई नहीं देते हैं। इससे मुझे आश्चर्य होता है कि क्या किसी फाइल सिस्टम के भीतर ब्लॉक करने के लिए अंतिम ऑप्टोमाइज्ड राइट ऑपरेशन से पहले शायद प्रोविजनिंग स्पेस का इस्तेमाल अस्थायी आधार पर किया जाता है? बेशक ट्रिम का फाइल सिस्टम में प्रोविज़निंग से अधिक योगदान अस्थायी नहीं होगा क्योंकि उन्हें सीधे लिखा जा सकता है क्योंकि वे पहले से ही प्रयोग करने योग्य स्थान पर हैं। कम से कम मेरा सिद्धांत तो यही है। हो सकता है कि मेरी समझ में फाइल गलत हो? मैं इस बारे में विस्तार से जाने वाले किसी भी संसाधन को खोजने में असमर्थ रहा हूं।


17
2. "1 लेवलिंग के पास खेलने के लिए उतना खाली स्थान नहीं होगा, क्योंकि लिखने का संचालन एक छोटे स्थान (...) में फैल जाएगा।" यह सही नहीं लगता है क्योंकि एसएसडी कंट्रोलर (कम से कम एसएसडी और ऑपरेटिंग सिस्टम जो ट्रिम का समर्थन करते हैं ) द्वारा निचले स्तर पर वियर लेवलिंग की जाती है । superuser.com/a/901521/517270
misko321 20

4
नंद आधारित यादें ब्लॉक करने के लिए यादृच्छिक उपयोग की अनुमति देती हैं। क्या यह अनुमति नहीं देता है एक ब्लॉक के अंदर बिट्स तक यादृच्छिक पहुंच है। इसलिए विभाजन को बेतरतीब ढंग से एक्सेस किया जा सकता है क्योंकि वे ब्लॉक आकार के गुणक होते हैं (कम से कम होना चाहिए, अगर उपयोगकर्ता किसी भी तरह से मेमोरी में गड़बड़ी नहीं करता है, अर्थात जो हो रहा है उसे जाने बिना विभाजन एप्लिकेशन का उपयोग करके)
मिगुएल एंजेलो

5
अंक 1 और 2 पूरी तरह से असत्य प्रतीत होते हैं
अंडरस्कोर_ड

-14

नहीं, यह समझ में आता है।

SSD की गति सीधे इन-उपयोग विभाजन पर प्रयोग करने योग्य स्थान की मात्रा से जुड़ती है। यदि आपने ड्राइव को छोटे खंडों में विभाजित किया है तो एसएसडी की दक्षता मुक्त स्थान की कमी के कारण प्रभावित होगी।

इसलिए एसएसडी के विभाजन की कोई कमियां नहीं हैं, लेकिन ड्राइव पर खाली जगह नहीं होने की कमियां हैं।

इस SuperUser पोस्ट का संदर्भ लें ।


1
तार्किक विभाजन बनाना जरूरी नहीं है कि वे उन्हें भर दें? मैं यह नहीं देखता कि आप ऐसा करने में स्वत: खाली स्थान कैसे खो देते हैं।
मारियो

1
OS जानता है कि किस ब्लॉक का उपयोग किया जा सकता है और कौन से ब्लॉक मुक्त हैं, ड्राइव नहीं कर सकता। विभाजन के द्वारा OS में कम मुक्त ब्लॉक होते हैं जो इसके बारे में जानते हैं, जिन ब्लॉकों का उपयोग किया जा सकता है। यह प्रदर्शन को कम करता है। TRIM को OS द्वारा विभाजन स्तर पर निष्पादित किया जाता है।
मार्क लोपेज

10
लेकिन यह कर सकते हैं। टीआरआईएम आखिर है क्या। TRIM को सेक्टर स्तर पर निष्पादित किया जाता है और SSD विभाजन की परवाह नहीं करता है। यह केवल सेक्टर (उर्फ फ्लैश सेल) के बारे में परवाह करता है। जैसे, प्रदर्शन पर विभाजन का केवल एक नगण्य प्रभाव (फाइल सिस्टम ओवरहेड द्वारा उपयोग किया जाने वाला स्थान) होता है।
डैनियल बी

1
वास्तव में HDD वे होते हैं जिन पर आपको विभाजन नहीं बनाना चाहिए
Suici Doga
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.