TRIM वास्तव में क्या है?


14

के विकिपीडिया पृष्ठ से TRIM मैं धारणा है कि TRIM एक एसएसडी को लिखता कम करने के लिए शुरू की गई थी, लेकिन पत्र फाइल सिस्टम लेने मामले के ब्लॉक अप्रयुक्त हैं मिलता है।

अगर यह सही है, तो क्या इसका मतलब यह है कि SSD की TRIM का उपयोग ब्लॉक करने के लिए शून्य नहीं लिखा जाता है, जब एक फ़ाइल को हटा दिया जाता है, तो SSD को यह जानने के लिए कि ब्लॉक मुक्त हैं?

पढ़ना इस

अतिथि के भीतर फ़ाइल सिस्टम ब्लॉक का पुन: उपयोग नहीं करता है, जिसका अर्थ है कि भले ही कोई फ़ाइल सिस्टम आभासी छवि आकार के सापेक्ष छोटा हो, वास्तविक छवि का आकार तब तक बढ़ता है जब तक कि यह अधिकतम आकार तक नहीं पहुंच जाता।

मुझे लगता है कि SSD, शून्य के साथ अधिलेखित नहीं होता है? या मेहमानों में फ़ाइल सिस्टम हैं, कुछ पूरी तरह से अलग?

जवाबों:


16

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

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

यह सुनिश्चित करने के लिए कि हमेशा पहले से सेट की गई कोशिकाओं का एक सेट है, किसी भी समय एक सेल की आवश्यकता नहीं होती है, ड्राइव इसे पृष्ठभूमि के क्षरण के लिए शेड्यूल करता है और शुल्क कोशिकाओं की सूची में जोड़ता है।

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

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

फिर भी, अधिकांश एसएसडी फ्लैश मेमोरी के भौतिक आकार की तुलना में एक छोटी क्षमता को उजागर करते हैं, कभी-कभी 75% तक कम होते हैं। यह इसे 100% पूर्ण प्रणाली पर भी कुछ अप्रयुक्त कोशिकाओं को रखने की अनुमति देता है, ताकि इस्तेमाल किए गए क्षेत्रों को लिखना (ओवर) अभी भी तेज है।


दिलचस्प। मुझे अवधारणा के बारे में पता था कि टीआरआईएम ने कैसे काम किया है, लेकिन इस बारे में सोचता है कि एसएसडी कितना भंडारण करेगा। अब मैं देखना चाहता हूं कि क्या डेटा एसएसडी के लिए कहीं भी प्रकाशित किया गया है ...
माइकल बी

आरक्षित कोशिकाओं की मात्रा आमतौर पर प्रकाशित होती है। यह आमतौर पर सस्ती उपभोक्ता ड्राइव के लिए 5 और 10% के बीच है, उच्च अंत उपभोक्ता ड्राइव के लिए 20% +। एंटरप्राइज फ्लैश ड्राइव (ईएफडी) में 100% से 400% तक कहीं भी आरक्षित है; इसलिए वे इतने महंगे क्यों हैं, वे इस बड़े पैमाने पर आरक्षित रखते हैं क्योंकि एक फ्लैश मेमोरी लोकेशन पर लिखने से हर बार स्थानों को थोड़ा नष्ट हो जाता है। आम तौर पर सर्वर वातावरण में पाए जाने वाले भारी अनुप्रयोगों को लिखें, जिससे अधिकांश उपभोक्ता SSD को जल्दी से मार सकेंगे।
क्रिस एस

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

8

TRIM को एक ऑपरेटिंग सिस्टम (OS के भीतर फाइल सिस्टम) के रूप में पेश किया गया था जो एक ATA स्टोरेज माध्यम से संचार कर सकता है कि एक सेक्टर अब फाइल सिस्टम द्वारा उपयोग नहीं किया जा रहा है। इसका डिस्क पर लिखने से कोई लेना-देना नहीं है।

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

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

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


क्या इसका मतलब यह है कि SSD को यह बताने के लिए TRIM की शुरुआत की गई थी कि किन सेक्टरों का उपयोग किया जाता है, इसलिए यह उन नए डेटा को उन क्षेत्रों में डाल सकता है जिनका उपयोग कम किया गया है?
सैंड्रा

1
SSDs केवल TRIM का उपयोग यह जानने के लिए करते हैं कि किसी सेक्टर की अब आवश्यकता नहीं है। यह गारंटी नहीं है कि लेवल लेवलिंग या कोई अन्य सुविधाएँ जो स्टोरेज माध्यम लागू कर सकती हैं। उस ने कहा, ज्यादातर SSDs इसे लेवलिंग, कचरा संग्रह (फ्लैश मीडिया में, अप्रयुक्त क्षेत्रों को मिटाने), और बेहतर लेखन प्रदर्शन के लिए मुक्त क्षेत्र सूची रखने के लिए उपयोग करते हैं।
क्रिस एस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.