TRIM Enabler कैसे काम करता है?


8

मैंने हाल ही में एक तीसरा भाग (OCZ) SSD खरीदा है और ट्रिम एनबलर का उपयोग किया है, ठीक है, TRIM को सक्षम करें। मैंने देखा है कि कुछ सॉफ़्टवेयर अपडेट TRIM को निष्क्रिय कर सकते हैं, और इस प्रकार इस बात को लेकर उत्सुक हैं कि TRIM Enabler कैसे काम करता है।

  • क्या यह TRIM का समर्थन करने के लिए एक कस्टम के साथ कुछ डिफ़ॉल्ट KEXT को प्रतिस्थापित करता है या क्या यह केवल कुछ PLIST सेटिंग को टॉगल करता है?
  • किसी भी तरह से, क्या कोई फाइल है जो लॉक होने पर यह सुनिश्चित कर सकती है कि TRIM सक्षम है (बिना किसी नकारात्मक परिणाम के)?

जवाबों:


9

ट्रिम एनाब्लर निम्नलिखित Kext- फाइल को पैच करता है

/System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

जो जाँचता है कि ssd एक 3rd-पार्टी या Apple ब्रांडेड SSD है:

IOAHCI हेक्स / अस्सी दृश्य

आप फ़ाइल में सभी 'Apple' घटनाओं को देख कर और उन्हें हेक्स-एडिटर या टर्मिनल के माध्यम से पैच करके मैन्युअल रूप से ट्रिम कर सकते हैं।

##1. Backup old file
    $sudo cp /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage
/System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage.original

##2. Patch the file to enable TRIM support
    $sudo perl -pi -e 's|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00{1,20})[^\x00]{9}(\x00{1,20}\x51)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg' /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

##3. Clear the system kernel extension cache

   $sudo kextcache -system-prelinked-kernel

   $sudo kextcache -system-caches

1
आप इस सामान को कैसे पा सकते हैं ?! अगर मैं अपनी IOAHCIBlockStorage फ़ाइल को "पैच" करने के लिए TRIM Enabler चलाता हूं और फिर इसे (व्यवस्थापक विशेषाधिकारों के साथ) लॉक करता हूं, तो क्या मुझे कोई प्रतिकूल प्रभाव पड़ेगा? निश्चित रूप से मैं नए PCIe SSDs (जो कि मेरा मैकबुक भी नहीं है) का समर्थन करने में सक्षम नहीं होगा, लेकिन क्या यह भविष्य के किसी भी अपडेट को पैच को उलटने से रोक सकता है?
अलेक्जेंडर - मोनिका

मेरा सबसे अच्छा अनुमान: भले ही आप फ़ाइल को संपादन से लॉक कर दें .. लेकिन updater बस फ़ाइल को पूरी तरह से एक नई फ़ाइल से बदल देगा। आपको पूर्ण फ़ोल्डर से रूट के लिए लिखित अनुमति को निकालना होगा। उस विशिष्ट मामले में मुझे लगता है कि इंस्टॉलर विफल हो जाएगा क्योंकि यह फ़ोल्डर में नहीं लिख सकता है। मेरी राय में यह परेशानी के लायक नहीं है। बस एक अद्यतन के बाद ट्रिम Enabler शुरू करें और पैच को फिर से लागू करें।
क्रिस

@ क्रिसि आपको पता है कि क्या यह योसेमाइट में काम करेगा? क्या यह kext हस्ताक्षर बदलना है?
दीप

@ मैंने इसे अभी तक परीक्षण नहीं किया है, लेकिन मैं यह निश्चितता के साथ कह सकता हूं कि फ़ाइल को संशोधित करने से कस्टम हस्ताक्षर बदल जाएंगे और इसलिए इसे बिल्कुल भी काम करने के लिए आपको सबसे पहले kext हस्ताक्षर सत्यापन को अक्षम करना होगा (अधिक जानकारी यहां देखी जा सकती है cindori .org / ट्रिम-
एनाब्लर

2

इस पर एक ही जानकारी मुझे अक्सर पूछे जाने वाले प्रश्न / ब्लॉगपोस्ट प्रविष्टि से मिलती है

A: ट्रिम Enabler एक देशी OSX ट्रिम ड्राइवर को पैच करता है, जो ऐप के बंद या हटाए जाने पर भी बैकग्राउंड में काम करता है। इस पैच को सिस्टम अपडेट पर रीसेट कर दिया गया है, इसलिए ऐप को चालू रखना एक अच्छा विचार हो सकता है।


पथ आमतौर पर अपडेट पर रीसेट हो जाता है जब Apple नए ssd ड्राइव (WWDC में घोषित नए ppcie ssds की सोच) का समर्थन करने के लिए उदाहरण के लिए उल्लेखित कर्नेल एक्सटेंशन को अपडेट करने का निर्णय लेता है।
क्रिस जू

2

OCZ SSDs एक सैंडफोर्स नियंत्रक का उपयोग करते हैं, जिसने अग्रभूमि कचरा संग्रह में बनाया है जो ब्लॉक को मिटाने की आवश्यकता को कम करता है, कम करता है लेकिन TRIM समर्थन की आवश्यकता को दूर नहीं करता है। ट्रिम को कचरा संग्रहण के लिए एक सहायता माना जा सकता है।

ट्रिम वीएस कचरा संग्रह

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

[...] सभी NAND फ़्लैश-आधारित SSDs GC का उपयोग करते हैं। कुछ अग्रभूमि जीसी का उपयोग करते हैं और कुछ पृष्ठभूमि या निष्क्रिय समय जीसी का उपयोग करते हैं। उनके बीच का अंतर मेरे ब्लॉग http://blog.lsi.com/dont-let-ssds-throw-away-your-gold/ में शामिल है । सरल शब्दों में, पृष्ठभूमि कचरा संग्रह बढ़ेगा लेखन प्रवर्धन (WA) और जल्दी ही SSD पहन लेगा। फोरग्राउंड जीसी को प्राप्त करना कठिन है और मेरा मानना ​​है कि केवल सैंडफोर्स नियंत्रक ही आज ऐसा करने में सक्षम है

[…] टीआरआईएम सभी एसएसडी के लिए फायदेमंद है, भले ही किस तरह का कचरा संग्रह किया जाए। मैं इस बारे में बात करता हूं कि TRIM कैसे अस्तित्व में आया और मेरे ब्लॉग http://blog.lsi.com/did-you-know-hdds-do-not-have-a-del ... में यह आवश्यक क्यों है । TRIM कमांड को OSD द्वारा SSD को भेजा जाता है ताकि यह पता लगाया जा सके कि कचरा संग्रहण के दौरान डेटा के किन पृष्ठों को अनदेखा किया जा सकता है। SSD यह नहीं बता सकता है कि OS द्वारा नई फ़ाइलों को संग्रहीत करने के लिए समान सेक्टरों का उपयोग करने तक कौन सी फाइलें हटा दी गई हैं, लेकिन उस समय तक SSD ने कचरा एकत्रित करने वाले डेटा को पहले ही बर्बाद कर दिया है जो कि अमान्य था, लेकिन एसएस को ज्ञात था।

क्या आप जानते हैं HDDs में डिलीट कमांड नहीं है? इसलिए SSDs को TRIM की आवश्यकता है

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

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