कंप्यूटर में! कुल अंक 4/2010, हमने टीआरआईएम समर्थन के साथ पांच एसएसडी का परीक्षण किया। सादगी के लिए, हमने परीक्षण में स्थानों को उस स्थान के रूप में माना जहां एक एसएसडी डेटा स्टोर कर सकता है। दरअसल, इसके लिए तथाकथित 'पेज' और 'ब्लॉक' का इस्तेमाल किया जाता है। इस लेख में हम पेज, ब्लॉक और TRIM के साथ संबंध कैसे काम करते हैं, इस पर करीब से नज़र डालते हैं।
TRIM एक कमांड है जो यह सुनिश्चित करता है कि SSD इष्टतम लेखन प्रदर्शन बनाए रखे। TRIM के संचालन को वास्तव में तभी समझा जा सकता है जब आप SSD की संरचना को जानते हों। SSD सूचनाओं को 'पृष्ठों' में संग्रहीत करता है, जिन्हें 'ब्लॉक' में समूहीकृत किया जाता है। इन अवधारणाओं को समझने के लिए, आपको पहले कंप्यूटर में परीक्षण किए गए मल्टी लेवल सेल (एमएलसी) एसएसडी की संरचना पर विचार करना चाहिए! कुल 4/2010। एक एमएलसी एसएसडी में अरबों मेमोरी सेल होते हैं, जिनमें से प्रत्येक कई बिट्स को स्टोर कर सकता है। इन कोशिकाओं के एक क्रमबद्ध संग्रह को एक पृष्ठ कहा जाता है और यह किसी एसएसडी में किसी फ़ाइल को संग्रहीत करने या वापस पढ़ने के लिए सबसे छोटी इकाई है। एक पृष्ठ का आकार आमतौर पर 4 KB होता है। इसलिए अगर आप 1 केबी की फाइल सेव करते हैं, तो यह फाइल एसएसडी पर 4 केबी तक ले जाएगी।
ब्लाकों
SSD के लिए एक ब्लॉक एक महत्वपूर्ण इकाई है, क्योंकि यह पृष्ठों का सबसे छोटा संग्रह है जिसे SSD को डेटा हटाने के लिए पढ़ना चाहिए। एक ब्लॉक में 128 पेज होते हैं और इसका आकार 512 केबी होता है। अब एक SSD RAID सेटअप में x संख्या मेमोरी मॉड्यूल की तरह काम करता है। इसका मतलब है कि एक फ़ाइल अधिकतम पढ़ने की गति के लिए कई मेमोरी मॉड्यूल में फैली हुई है। लॉजिकल ब्लॉक एड्रेसिंग (एलबीए) के माध्यम से एसएसडी से विंडोज़ 'बातचीत' करता है, जो ट्रैक करता है कि कौन से ब्लॉक उपयोग में हैं और कौन से उपलब्ध हैं। क्योंकि एक एसएसडी पृष्ठों के साथ काम करता है, एसएसडी नियंत्रक को एलबीए कमांड का अनुवाद करना चाहिए। किसी फ़ाइल को अधिलेखित करने के लिए Windows कमांड का अनुवाद एक खाली पृष्ठ पर लिखने के लिए SSD (यदि संभव हो) द्वारा किया जाता है। यदि कोई खाली पृष्ठ नहीं हैं, तो पहले पृष्ठों को खाली करना होगा।
लिखित में देरी
समस्या तब होती है जब किसी फ़ाइल को संग्रहीत करने के लिए पर्याप्त खाली पृष्ठ उपलब्ध नहीं होते हैं, जब Windows अनुक्रमणिका के अनुसार पर्याप्त से अधिक स्थान उपलब्ध होता है। आखिरकार, कमांड दिए जाने पर फ़ाइल वास्तव में कभी नहीं हटाई जाती है। यह केवल तब होता है जब विचाराधीन फ़ाइल द्वारा कब्जा किए गए स्थान को नए डेटा द्वारा अधिलेखित कर दिया जाता है। इसके साथ एक समस्या यह है कि एसएसडी फाइलों के उन हिस्सों को सीधे अधिलेखित नहीं कर सकता है जो अब उपयोग में नहीं हैं। एक एसएसडी को पहले ब्लॉक पढ़ना चाहिए और उन्हें अपने कैश में रखना चाहिए, क्योंकि डेटा केवल वहां हटाया जा सकता है। कैश्ड पेजों को खाली कर दिया जाता है और फिर खाली पन्नों के पूरे ब्लॉक को एसएसडी में बहाल कर दिया जाता है, जिसके बाद ये पेज नए डेटा के लिए उपलब्ध होते हैं। यह लेखन प्रक्रिया को तीन या अधिक के कारक से धीमा कर देता है।
ट्रिम
इन स्थितियों के लिए तारणहार TRIM है। यह एक कमांड है जिसे विंडो 7 वाइप के दौरान SSD को भेजता है। यह आदेश एसएसडी के नियंत्रक को सूचित करता है कि कौन से पृष्ठ वास्तव में हटाए जा सकते हैं और एसएसडी को ब्लॉक पढ़ने और फाइलों से भरे हुए पृष्ठों को खाली करके काम करने के लिए सेट करता है (जिसे विंडोज कहता है कि इसे अधिलेखित करने की अनुमति है)। इस तरह, एक एसएसडी स्टॉक में पर्याप्त खाली पृष्ठ होने से इष्टतम स्थिति में रहता है और एक लेखन कार्य हमेशा बेहतर तरीके से किया जा सकता है। हम आपको चरण-दर-चरण दिखाएंगे कि क्या होता है जब एक एसएसडी फाइलों को लिखता और हटाता है और टीआरआईएम कैसे सुनिश्चित करता है कि हमेशा पर्याप्त पृष्ठ मुक्त हों।
1. खाली एसएसडी
कल्पना कीजिए कि हमारे पास एक एसएसडी है जिसकी भंडारण क्षमता ठीक 1 ब्लॉक है। SSD पर 512 KB के खाली ब्लॉक में 4 KB के 128 खाली पृष्ठ होते हैं।
2. फ़ाइल लिखें
हम 12 केबी की एक फाइल लिखना चाहते हैं, जो 4 केबी (नीला) के 3 पेज भरती है।
3. एक और फाइल लिखें
फिर हम एक और 8 KB फ़ाइल (बैंगनी) सहेजना चाहते हैं। कुल मिलाकर हमने 20 केबी को उपयोग में लाया है। तो हमारे पास अभी भी 512 केबी - 20 केबी = 492 केबी मुक्त, या 123 मुक्त पृष्ठ हैं।
4. फ़ाइल हटाएं
अब हम 8 KB फ़ाइल (बैंगनी) को हटाने जा रहे हैं। विंडोज के अनुसार, हमारे SSD में अभी भी 512 KB - 12 KB = 500 KB उपलब्ध है। हालाँकि, हमारा SSD अभी भी 123 खाली पृष्ठ और 2 पृष्ठ डेटा दर्ज करता है जिसे हटाया जा सकता है।
5. फ़ाइल लिखें
अब हम 4 KB (हरा) लिख रहे हैं। "डेटा टू डिलीट" जानकारी वाले दो पेज एसएसडी द्वारा छोड़ दिए जाते हैं। पहले खाली पन्ने भरे जाते हैं।
6. काम पर ट्रिम
टीआरआईएम के समर्थन के साथ, विंडोज 7 एक डिलीट एक्शन के साथ टीआरआईएम कमांड भेजता है। इस तरह SSD के कंट्रोलर को पता चलता है कि यह डेटा वास्तव में हटाया जा सकता है। जब SSD का कुछ समय के लिए कोई लेना-देना नहीं होता है, तो SSD 512 KB के पूरे ब्लॉक को कैश मेमोरी में स्थानांतरित कर देगा, जिसका एक हिस्सा TRIM कमांड द्वारा डिलीट के रूप में नामित किया गया है। यहां, TRIM कमांड (बैंगनी) द्वारा हटाई गई फ़ाइल वास्तव में हटा दी जाएगी।
7. पेज हटा दिए जाएंगे
अब 2 पेज खाली किए जा सकते हैं और पूरे ब्लॉक को वापस रखा जा सकता है। आप शायद सोच सकते हैं कि जब आप 10 एमबी की फाइल को डिलीट करने जा रहे होते हैं तो हमें कुल 2560 पेज डिलीट करने पड़ते हैं। अगर इन्हें भी अलग-अलग ब्लॉक में बांट दिया जाए तो बहुत सारा डेटा पढ़ना पड़ता है। भले ही किसी ब्लॉक में फ़ाइल का केवल 4 KB है, 4 KB भाग को हटाने के लिए 512 KB को पढ़ना चाहिए। TRIM सुनिश्चित करता है कि ऐसा ऐसे समय में हो जब आप SSD का उपयोग नहीं कर रहे हों।
8. फिर से खाली जगह
अब 2 पेज फिर से लिखे जाने के लिए तैयार हैं।
9. खाली जगह पर फाइल लिखें
यदि 12 KB की फ़ाइल अब सहेजी गई है, तो फ़ाइल (नारंगी) को सहेजने के लिए पर्याप्त पृष्ठ निःशुल्क हैं।