ट्रिम (कंप्यूटिंग): Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
Line 56: Line 56:


=== RAID मुद्दे ===
=== RAID मुद्दे ===
{{As of|2017|1}}, अधिकांश हार्डवेयर-आधारित [[RAID]] तकनीकों में TRIM कमांड के लिए समर्थन लागू नहीं किया गया है। हालाँकि, सॉफ़्टवेयर RAID कार्यान्वयन में अक्सर TRIM के लिए समर्थन शामिल होता है।
जनवरी 2017 तक अधिकांश हार्डवेयर-आधारित [[RAID]] तकनीकों में TRIM कमांड के लिए समर्थन लागू नहीं किया गया है। हालाँकि, सॉफ़्टवेयर RAID कार्यान्वयन में अक्सर TRIM के लिए समर्थन शामिल होता है।


==== विंडोज ====
==== विंडोज ====

Revision as of 00:23, 19 June 2023

एक छोटा नियंत्रण प्रचालन तंत्र को एक ठोस-राज्य अभियान को सूचित करने की अनुमति देता है जो आंकड़े के खंड को अब उपयोग में नहीं माना जाता है और इसलिए आंतरिक रूप से मिटाया जा सकता है[1] तथा एसएसडीएस के आने के तुरंत बाद छोटे टुकड़े को उपस्थित किया गया था क्योंकि एसएसडीस का निम्न-स्तरीय संचालन कठिन अभियान से बहुत अलग होता है जिस विशिष्ट तरीके से प्रचालन तंत्र शल्य विज्ञान को संभालता है वैसे ही विलोपन और प्रारूप के परिणामस्वरूप एसएसडीएस पर लिखने के संचालन के अप्रत्याशित प्रगतिशील प्रदर्शन में गिरावट आई है[2] जो कि कोटि-छांट एसएसडी को अधिक कुशलता से कचरा संग्रह संभालने में सक्षम बनाता है तथा यह सम्मिलित खंडों में भविष्य के लेखन कार्यों को धीमा कर देगाCite error: Closing </ref> missing for <ref> tag जबकि कोटि-छांट की शुरुआत से पहले कुछ अभियान को एक नई स्थिति में फिर से स्थापित करने के लिए उपकरण पहले से ही उपलब्ध थे और वे अभियान पर सभी आंकड़े को भी हटा देते हैं जिससे चल रहे अनुकूलन के लिए उनका उपयोग करना अव्यावहारिक हो जाता है और 2024 में एसएसडी में कुछ संचिका प्रणाली के लिए आंतरिक कचरा संग्रह तंत्र था जो कोटि छांट से स्वतंत्र रूप से काम करता था यद्यपि इसने कोटि छांट का समर्थन नहीं करने वाले प्रचालन तंत्र के तहत भी अपने जीवनकाल और प्रदर्शन को सफलतापूर्वक बनाए रखा लेकिन इसमें तेज़ बिक्री के बढ़े हुए लेखन प्रवर्धन और पहनने की कमियां थीं[3] तथा कोटि छांट भी व्यापक रूप से है सिंगल चुंबकीय रिकॉर्डिंग (SMR) ठोस अभियान पर उपयोग किया जाता है।[4]


पृष्ठभूमि

जिस तरह से कई संचिका प्रणाली आंकड़े खंड को उपयोग में नहीं भंडारण साधन के रूप में निशान करके विलोपन कार्यवाही को संभालते हैं[5][6] लेकिन ठोस अभियान भी यह नहीं जानते हैं कि कौन से पेज वास्तव में उपयोग में हैं और किसे खाली स्थान माना जा सकता है और अधिलेखित कार्यवाही के विपरीत एक विलोपन में आंकड़े वाले क्षेत्रों में भौतिक लेखन सम्मिलित नहीं होगा जबकि एक सामान्य एसएसडी को अप्रयुक्त खंडों की सूची सहित संचिका प्रणाली संरचनाओं का कोई ज्ञान नहीं है इसलिए भंडारण माध्यम इस बात से अनजान रहता है कि खंड उपलब्ध हो गए हैं जबकि यह अक्सर विद्युत अनम्य डिस्क से फाइलों श्रेणियों को पुनर्प्राप्त करने के लिए हटाना उपकरण को सक्षम करता है[6][7] प्रचालन तंत्र द्वारा श्रेणियों को हटाए जाने के रूप में रिपोर्ट किए जाने के बाद भी इसका अर्थ यह है कि जब प्रचालन तंत्र बाद में किसी एक क्षेत्र में सही कार्यवाही करता है जिसे वह मुक्त स्थान मानता है तो यह प्रभावी रूप से एक अधिलेखित कार्यवाही बन जाता है भंडारण माध्यम के दृष्टिकोण से चुंबकीय चक्र के लिए उपस्थित आंकड़े का अधिलेखित एक खाली क्षेत्र में लिखने से अलग नहीं है लेकिन कुछ एसएसडी निम्नतम स्तर पर कैसे काम करते हैं एक अधिलेखित एक खाली पृष्ठ में आंकड़े लिखने की तुलना में महत्वपूर्ण उपरि उत्पन्न करता है संभावित रूप से अपंग लेखन प्रदर्शन करता है[6][8] एसएसडी आंकड़े को प्रकाश स्मृति कोष्ठिका में इकट्ठा करते हैं जो आमतौर पर 4 से 16 किबिबाइट के पेजों में समूहित होते हैं तथा 128 से 512 पेज के खंड में एक साथ समूहीकृत होते हैं उदाहरण के लिए 512 किबिबाइट खंड करता है जो प्रत्येक 4 किबिबाईट के 128 पृष्ठों को समूहित करता है[5][9] प्रकाश कोष्ठिका को सीधे तभी लिखा जा सकता है जब वे खाली हों यदि उनमें आंकड़ा होता है तो सामग्री को लिखने के कार्यवाही से पहले मिटा दिया जाना चाहिए एक एसएसडी सही कार्यवाही एक पेज पर किया जा सकता है लेकिन धातु सामग्री सीमाओं के कारण मिटाने का आदेश हमेशा पूरे खंड को प्रभावित करते हैं[9] परिणामस्वरूप एसएसडी पर खाली पृष्ठों पर आंकड़े लिखना बहुत तेज़ होता है लेकिन एक बार पहले लिखे गए पृष्ठों को अधिलेखित करने की आवश्यकता होने पर यह काफी धीमा हो जाता है जबकि पृष्ठ में कोष्ठीका को फिर से लिखे जाने से पहले मिटाने की आवश्यकता होती है लेकिन केवल खंड मिटाए जा सकते हैं और एक अधिलेखित पढ़ने-मिटाने संशोधित लिखने का चक्र शुरू करेगा[5][10] तथा पूरे खंड की सामग्री को नकद में संग्रहीत किया जाता है और फिर पूरे खंड को एसएसडी से मिटा दिया जाता है तथा फिर अधिलेखित किए गए पेज को नकद खंड में लिखा जाता है तथा उसके बाद ही पूरे अद्यतन किए गए खंड को प्रकाश माध्यम में लिखा जा सकता है और इस घटना को लेखन प्रवर्धन के रूप में जाना जाता है।

कार्यवाही

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

अलग-अलग एसएसडी नियंत्रण को कुछ अलग तरीके से लागू करते हैं इसलिए प्रदर्शन अलग-अलग हो सकता है।[11][7]

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


कार्यान्वयन

ऑपरेटिंग सिस्टम का समर्थन

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

काट छांट के लिए समर्थन इस बात से भी भिन्न होता है कि प्रचालन तंत्र पर विशेष संचिका प्रणाली चालक क्या करने में सक्षम है क्योंकि चक्र के किन हिस्सों में खाली स्थान है और इसकी समझ के साथ केवल एक कार्यक्रम सुरक्षित रूप से आदेश जारी कर सकता है और प्रनाली स्तर पर यह क्षमता होती है।

मैक ओएस 10.6.8-23 जून 2011 हालांकि AHCI ब्लॉक डिवाइस ड्राइवर ने यह प्रदर्शित करने की क्षमता प्राप्त की कि क्या डिवाइस 10.6.6 (10J3210) में TRIM ऑपरेशन का समर्थन करता है,  कार्यक्षमता स्वयं 10.6.8 तक पहुंच योग्य नहीं रही, जब TRIM ऑपरेशन को IOStorageFamily और फाइल सिस्टम के माध्यम से उजागर किया गया था। (एचएफएस+) समर्थन जोड़ा गया। [ उद्धरण वांछित ] 10.10.4 तक, मैक ओएस एक्स ने मूल रूप से TRIM को केवल Apple-ब्रांडेड SSDs के लिए सक्षम किया; अन्य ब्रांडों के लिए इसे सक्षम करने के लिए तृतीय-पक्ष उपयोगिताएँ उपलब्ध हैं। पुराने तीसरे पक्ष के TRIM ड्राइवरों ने योसेमाइट अपडेट के रूप में काम करना बंद कर दिया।  अपडेटेड ड्राइवर अब मौजूद हैं जो OS X Yosemite के साथ काम करते हैं।  मैक ओएस एक्स में 10.10.4 अपडेट करें, Apple ने एक कमांड लाइन उपयोगिता, ट्रिमफोर्स को जोड़ा, जिसका उपयोग TRIM को तृतीय-पक्ष SSDs पर सक्षम करने के लिए किया जा सकता है।
माइक्रोसॉफ़्ट विंडोज़ विंडोज 7 और विंडोज सर्वर 2008 आर2 - अक्टूबर 2009 विंडोज 7 ने शुरू में केवल समानांतर एटीए और सीरियल एटीए सहित एटी अटैचमेंट परिवार में ड्राइव के लिए टीआरआईएम का समर्थन किया था , और इस आदेश का समर्थन किसी अन्य डिवाइस के लिए नहीं किया था, जिसमें स्टॉरपोर्ट पीसीआई-एक्सप्रेस एसएसडी शामिल हैं, भले ही डिवाइस स्वयं कमांड को स्वीकार करे।  यह पुष्टि की गई है कि देशी Microsoft ड्राइवरों के साथ TRIM कमांड AHCI और लीगेसी IDE / ATA मोड में विंडोज 7 पर काम करता है।  विंडोज 8 और बाद के विंडोज ऑपरेटिंग सिस्टम उन उपकरणों के लिए अनमैप कमांड का समर्थन करते हैं जो यूएसबी संलग्न एससीएसआई प्रोटोकॉल (यूएएसपी) सहित एससीएसआई ड्राइवर स्टैक का उपयोग करते हैं। विंडोज 8.1 और बाद में विंडोज ऑपरेटिंग सिस्टम एनवीएम एक्सप्रेस के लिए टीआरआईएम कमांड का समर्थन करते हैंएसएसडी। Microsoft ने Windows 7 के लिए एक अद्यतन जारी किया है जो PCIe SSDs के लिए TRIM सहित NVM एक्सप्रेस समर्थन जोड़ता है।

TRIM को ReFS और NTFS के लिए समर्थित माना जाता है , दोनों इसे अक्षम करने के लिए DisableDeleteNotify स्विच लागू करते हैं।  सूत्र इस बात से असहमत हैं कि अन्य फाइल सिस्टम के लिए टीआरआईएम समर्थन मौजूद है या नहीं।

ओपनसोलारिस जुलाई 2010
एंड्रॉयड 4.3  - 24 जुलाई 2013 fstrimअगर डिवाइस कम से कम एक घंटे के लिए निष्क्रिय है और कम से कम 80% चार्ज है (चार्जर से कनेक्ट होने पर 30%) तो हर 24 घंटे में एक बार स्वचालित रूप से चलता है ।


RAID मुद्दे

जनवरी 2017 तक अधिकांश हार्डवेयर-आधारित RAID तकनीकों में TRIM कमांड के लिए समर्थन लागू नहीं किया गया है। हालाँकि, सॉफ़्टवेयर RAID कार्यान्वयन में अक्सर TRIM के लिए समर्थन शामिल होता है।

विंडोज

Windows 10 RAID वॉल्यूम को कॉन्फ़िगर करते समय ऑप्टिमाइज़ ड्राइव विकल्प का उपयोग करके SSD ID वॉल्यूम में TRIM के लिए समर्थन प्रदान करता है।

मैकओएस

macOS RAID ड्राइवर TRIM का समर्थन नहीं करता है। यह Mac OS X के 10.7 से macOS 10.12.x के सभी संस्करणों के लिए सही है।

TRIM को RAID (0,1,4,5 और 10) वॉल्यूम के लिए समर्थित किया जाता है, जब गैर-Apple SSD उपकरणों के साथ TRIM समर्थन सहित तृतीय-पक्ष सॉफ्टराइड® एप्लिकेशन का उपयोग किया जाता है। (नोट: गैर-Apple SSD डिवाइस के लिए TRIM को विशेष रूप से टर्मिनल कमांड sudo trimforce enable का उपयोग करके सक्षम किया जाना चाहिए)

लिनक्स

टीआरआईएम लिनक्स कर्नेल के डिवाइस मैपर के जनवरी-2011 के रिलीज के बाद RAID वॉल्यूम के साथ उपलब्ध है, जो BIOS-सहायता प्राप्त नकली हार्डवेयर RAID समर्थन को लागू करता है, और जो अब RAID सरणी पर मौजूद फाइल सिस्टम से किसी भी टीआरआईएम अनुरोध से गुजरता है।[13] dmraid के साथ भ्रमित न होने के लिए, Linux के सामान्य-उद्देश्य सॉफ़्टवेयर RAID सिस्टम, mdadm, बैच-आधारित के लिए प्रयोगात्मक समर्थन है (फ़ाइल हटाने के बजाय, लाइव होने पर) RAID 1 सरणियों पर TRIM जब सिस्टम समय-समय पर फ़ाइल सिस्टम पर mdtrim उपयोगिता चलाने के लिए कॉन्फ़िगर किया जाता है (यहां तक ​​​​कि ext3 जैसे मूल TRIM समर्थन के बिना)।[14] लिनक्स के बाद के संस्करणों में, उदा। Red Hat Enterprise Linux 6.5 और बाद के संस्करण, mdraid वास्तविक समय में TRIM कमांड से वास्तव में गुजरने का समर्थन करता है, न कि केवल एक बैच जॉब के रूप में।[15] हालाँकि, Red Hat अधिकांश RAID तकनीकों के साथ SSDs पर सॉफ़्टवेयर RAID स्तर 1, 4, 5, और 6 का उपयोग करने के खिलाफ अनुशंसा करता है, क्योंकि आरंभीकरण के दौरान, अधिकांश RAID प्रबंधन उपयोगिताओं (जैसे Linux के mdadm) डिवाइस पर सभी ब्लॉकों को लिखते हैं ताकि यह सुनिश्चित हो सके कि चेकसम ( या ड्राइव-टू-ड्राइव सत्यापित करता है, RAID 1 और 10 के मामले में) ठीक से काम करता है, जिससे SSD को विश्वास हो जाता है कि अतिरिक्त क्षेत्र के अलावा अन्य सभी ब्लॉक उपयोग में हैं, प्रदर्शन में काफी गिरावट आई है।[16] दूसरी ओर, Red Hat SSDs पर लॉजिकल वॉल्यूम मैनेजर (लिनक्स)Linux) RAID के लिए RAID 1 या RAID 10 के उपयोग की अनुशंसा करता है, क्योंकि ये स्तर TRIM (लिनक्स शब्दावली में त्यागें) का समर्थन करते हैं, और LVM उपयोगिताएँ सभी ब्लॉकों को नहीं लिखती हैं। RAID 1 या RAID 10 वॉल्यूम बनाते समय।[15]


फर्मवेयर आधारित RAID

मार्च 2010 में थोड़े समय के लिए, उपयोगकर्ताओं को यह विश्वास दिलाया गया था कि विंडोज 7 में इंटेल रैपिड स्टोरेज टेक्नोलॉजी (RST) 9.6 (और बाद में) ड्राइवरों ने RAID वॉल्यूम पर TRIM का समर्थन किया था, लेकिन बाद में Intel ने स्पष्ट किया कि TRIM को BIOS सेटिंग्स के लिए समर्थित किया गया था। उन्नत होस्ट नियंत्रक इंटरफ़ेस मोड और RAID मोड, लेकिन यदि ड्राइव RAID वॉल्यूम का हिस्सा नहीं था।[17] अगस्त 2012 तक, इंटेल पुष्टि करता है कि रैपिड स्टोरेज टेक्नोलॉजी (RST) 11.2 ड्राइवरों के साथ 7-श्रृंखला चिपसेट Microsoft Windows 7 में RAID 0 के लिए TRIM का समर्थन करता है।[18] जबकि इंटेल ने 6-सीरीज़ चिपसेट के लिए समर्थन की पुष्टि नहीं की, RAID 0 वॉल्यूम पर TRIM को संशोधित RAID विकल्प ROM के साथ हार्डवेयर उत्साही लोगों द्वारा Z68, P67, और X79 चिपसेट पर काम करने के लिए दिखाया गया है।[19] यह अनुमान लगाया गया है कि 6-सीरीज़ चिपसेट के लिए आधिकारिक समर्थन की कमी सत्यापन लागत के कारण है[20] या उपभोक्ताओं को अपग्रेड करने के लिए प्रोत्साहित करने का प्रयास,[21] न कि तकनीकी कारणों से।

मदरबोर्ड पर X79 चिपसेट के साथ एक संशोधित विकल्प ROM की आवश्यकता का एक अपवाद है यदि निर्माता ने एक ROM स्विच जोड़ा है; यह RST और RST-E दोनों ROM को BIOS/UEFI के अंदर होने के लिए मजबूर करता है। यह RST-E ROM के बजाय RST ROM का उपयोग करने की अनुमति देता है, जिससे TRIM को कार्य करने की अनुमति मिलती है।[22] इंटेल नोट करता है कि ROM के समान संस्करण वाले ड्राइवर का उपयोग करके सर्वश्रेष्ठ प्रदर्शन प्राप्त किया जा सकता है; उदाहरण के लिए, यदि BIOS/UEFI में 11.0.0.0m विकल्प ROM है, तो 11.x संस्करण ड्राइवर का उपयोग किया जाना चाहिए।[23]


असमर्थित फ़ाइल सिस्टम को सक्षम करना

जहाँ फ़ाइल सिस्टम स्वचालित रूप से TRIM का समर्थन नहीं करता है, कुछ उपयोगिताएँ मैन्युअल रूप से ट्रिमिंग कमांड भेज सकती हैं। आमतौर पर वे निर्धारित करते हैं कि कौन से ब्लॉक मुक्त हैं और फिर इस सूची को ड्राइव में ट्रिमिंग कमांड की एक श्रृंखला के रूप में पास करते हैं। ये उपयोगिताएँ विभिन्न निर्माताओं से उपलब्ध हैं (जैसे इंटेल,[24] जी.स्किल रेफरी>"फाल्कन सीरीज के लिए wiper.exe". XtremeSystems. Retrieved 23 January 2010.</ref>), या सामान्य उपयोगिताओं के रूप में (v9.17 के बाद से Linux hdparm वाइपर में,[25][26] या mdtrim, जैसा कि उल्लेख किया गया है #RAID मुद्दे)। एचडीपार्म और एमडीट्रिम दोनों फाइल सिस्टम पर एक बड़ी फाइल आवंटित करके और इसे किस भौतिक स्थान को सौंपा गया था, को हल करके मुफ्त ब्लॉक ढूंढते हैं।

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

हार्डवेयर समर्थन

एटीए

TRIM कमांड विनिर्देश[27] सूचना प्रौद्योगिकी मानकों के लिए अंतर्राष्ट्रीय समिति (INCITS) की तकनीकी समिति T13 के नेतृत्व में एटी अटैचमेंट (ATA) इंटरफ़ेस मानक के हिस्से के रूप में मानकीकृत किया गया है।[28] TRIM को DATA SET MANAGEMENT कमांड (opcode 06h) के ड्राफ्ट ACS-2 विनिर्देश के तहत लागू किया गया है।[29] ATA मानक समानांतर (IDE, PATA) और सीरियल (SATA) ATA हार्डवेयर दोनों द्वारा समर्थित है।

मूल ATA TRIM कमांड की एक खामी यह है कि इसे एक गैर-कतारबद्ध कमांड के रूप में परिभाषित किया गया था और इसलिए कतारबद्ध पढ़ने और लिखने के कार्यों के सामान्य वर्कलोड के साथ आसानी से मिश्रित नहीं किया जा सकता था। SATA 3.1 ने इसका समाधान करने के लिए एक पंक्तिबद्ध TRIM कमांड प्रस्तुत किया।[30] ATA IDENTIFY DEVICE कमांड से लौटे SATA Words 69 और 169 द्वारा परिभाषित विभिन्न प्रकार के TRIM हैं:

  • गैर-नियतात्मक TRIM: TRIM के बाद लॉजिकल ब्लॉक एड्रेसिंग (LBA) के लिए प्रत्येक रीड कमांड अलग डेटा लौटा सकता है।
  • नियतात्मक TRIM (DRAT): TRIM के बाद LBA के लिए सभी पढ़े गए आदेश समान डेटा लौटाएंगे, या निर्धारित हो जाएंगे।
  • TRIM (RZAT) के बाद नियतात्मक रीड ज़ीरो: TRIM के बाद LBA के लिए सभी रीड कमांड शून्य वापस आ जाएंगे।

SATA Word 105 में अतिरिक्त जानकारी है जो प्रति DATA SET MANAGEMENT कमांड के लिए 512-बाइट ब्लॉक की अधिकतम संख्या का वर्णन करती है जिसका एक ड्राइव समर्थन कर सकता है। आम तौर पर यह डिफ़ॉल्ट रूप से 8 (या 4 kB) होता है, लेकिन कई ड्राइव TRIM के लिए Microsoft Windows हार्डवेयर आवश्यकताओं को पूरा करने के लिए इसे घटाकर 1 कर देते हैं, कमांड पूरा करने का समय 20 ms या 8 ms × (LBA रेंज प्रविष्टियों की संख्या) से अधिक नहीं होना चाहिए, जो भी हो अधिक, और हमेशा 600 ms से कम होना चाहिए।[31] एक व्यक्तिगत एलबीए रेंज को एलबीए रेंज एंट्री कहा जाता है और इसे आठ बाइट्स द्वारा दर्शाया जाता है। एलबीए एलबीए रेंज एंट्री के पहले छह बाइट्स द्वारा व्यक्त किया गया है और रेंज की लंबाई शून्य-आधारित काउंटर है (उदाहरण के लिए, 0 = 0 और 1 = 1) शेष दो बाइट्स द्वारा दर्शाया गया है। यदि दो-बाइट श्रेणी की लंबाई शून्य है, तो LBA श्रेणी प्रविष्टि को पैडिंग के रूप में छोड़ दिया जाएगा।[32] इसका मतलब यह है कि टीआरआईएम रेंज के प्रत्येक 512-बाइट ब्लॉक के लिए जो एक डिवाइस का समर्थन करता है, अधिकतम 64 रेंज 32 एमबी या 2 जीबी है। यदि कोई डिवाइस 8 पर सैटा वर्ड 105 का समर्थन करता है तो उसे एक ही ट्रिम (डेटा सेट प्रबंधन) कमांड में 16 जीबी ट्रिम करने में सक्षम होना चाहिए।

एससीएसआई

SCSI UNMAP कमांड (TRIM का एक पूर्ण एनालॉग) और UNMAP फ्लैग सेट के साथ WRITE SAME कमांड (10 और 16 प्रकार) प्रदान करता है।[33]


एसडी/एमएमसी

MultiMediaCard और SD कार्ड ERASE (CMD38) कमांड ATA TRIM कमांड के समान कार्यक्षमता प्रदान करता है, हालाँकि इसके लिए आवश्यक है कि मिटाए गए ब्लॉकों को शून्य या एक के साथ अधिलेखित किया जाए। एक DISCARD सब-ऑपरेशन को eMMC 4.5 में और वैकल्पिक रूप से SDHC और SDXC कार्ड में परिभाषित किया गया है, जो कि ATA TRIM से अधिक निकटता से मेल खाता है, जिसमें छोड़े गए ब्लॉक की सामग्री को अनिश्चित माना जा सकता है (यानी, परवाह नहीं है)।

एनवीएम एक्सप्रेस

एनवीएम एक्सप्रेस कमांड सेट में एक जेनेरिक डेटासेट मैनेजमेंट कमांड सेट होता है, जो ब्लॉक रेंज के सेट पर स्टोरेज डिवाइस के लिए होस्ट के इरादे को इंगित करता है। इसके संचालन में से एक, DEALLOCATE ट्रिम करता है। इसमें WRITE ZEROES कमांड भी है जो DEALLOCATE संकेत प्रदान करता है और डिस्क को ट्रिम करने और शून्य वापस करने की अनुमति देता है।

नुकसान

  • कुछ अस्वीकृत एन्क्रिप्शन योजनाओं में संपूर्ण डिस्क को यादृच्छिक कचरे की तरह दिखाना शामिल है। TRIM का उपयोग करने से प्रशंसनीय खंडन की यह परत पराजित हो जाती है क्योंकि बनाए गए सभी-शून्य (या सभी-एक) ब्लॉक आसानी से इंगित करते हैं कि कौन से ब्लॉक का उपयोग किया जाता है।[34] यह तर्क दिया गया है कि TRIM को अक्षम करना संदिग्ध भी हो सकता है।[35]
  • TRIM कमांड के मूल संस्करण को T13 उपसमिति द्वारा एक गैर-कतारबद्ध कमांड के रूप में परिभाषित किया गया है, और इसके परिणामस्वरूप लापरवाही से उपयोग किए जाने पर बड़े पैमाने पर निष्पादन जुर्माना लगाया जा सकता है, उदाहरण के लिए, यदि प्रत्येक फाइलसिस्टम डिलीट कमांड के बाद भेजा जाता है। कमांड की गैर-कतारबद्ध प्रकृति के लिए ड्राइवर को पहले सभी बकाया कमांडों के समाप्त होने की प्रतीक्षा करने की आवश्यकता होती है, TRIM कमांड जारी करें, फिर सामान्य कमांड्स को फिर से शुरू करें। एसएसडी में फर्मवेयर के आधार पर टीआरआईएम को पूरा होने में काफी समय लग सकता है, और कचरा संग्रह (एसएसडी) चक्र भी ट्रिगर कर सकता है।[citation needed] इस पेनल्टी को उन समाधानों में कम किया जा सकता है जो सिस्टम उपयोग कम होने पर ऐसे बैच जॉब्स को शेड्यूल करके प्रत्येक फ़ाइल हटाने पर ट्रिमिंग करने के बजाय बैच टीआरआईएम और/या आवधिक टीआरआईएम करते हैं। कतारबद्ध TRIM कमांड की शुरुआत के साथ सीरियल ATA संशोधन 3.1 में इस TRIM नुकसान को दूर किया गया है।[36][37]
  • केवल कुछ हाइपरविजर (जैसे हाइपर-वी, समानताएं डेस्कटॉप) ने अतिथि ओएस (2023 तक) के लिए टीआरआईएम लागू किया है।
  • दोषपूर्ण ड्राइव फर्मवेयर जो कतारबद्ध TRIM के लिए समर्थन की गलत सूचना देता है या इसके कार्यान्वयन में महत्वपूर्ण बग हैं, गंभीर डेटा भ्रष्टाचार और/या गंभीर बग जैसे कई उपकरणों में लगातार फ्रीज से जुड़ा हुआ है, विशेष रूप से माइक्रोन और क्रूसियल का M500[38] और सैमसंग की 840 और 850 श्रृंखला।[39] लिनक्स ऑपरेटिंग सिस्टम पर डेटा भ्रष्टाचार की पुष्टि की गई है (1 जुलाई 2015 तक कतारबद्ध ट्रिम समर्थन वाला एकमात्र ओएस)।[40]

इन उपकरणों को लिनक्स कर्नेल में ब्लैकलिस्ट किया गया है libata-core.c गैर-कतारबद्ध TRIM आदेश भेजने के लिए बाध्य करने के लिए (ATA_HORKAGE_NO_NCQ_TRIM) कतारबद्ध TRIM कमांड के बजाय इन ड्राइव्स पर:[41]

  • माइक्रोन/क्रूशियल M500 फ़ैक्टरी पुन: प्रमाणित एसएसडी सहित सभी फ़र्मवेयर संस्करणों का उपयोग कर रहा है
  • फर्मवेयर संस्करण MU01 का उपयोग करके माइक्रोन M510
  • फर्मवेयर संस्करण MU01 का उपयोग कर माइक्रोन/क्रूशियल M550
  • फर्मवेयर संस्करण MU01 का उपयोग करते हुए महत्वपूर्ण MX100
  • सभी फर्मवेयर संस्करणों का उपयोग कर सैमसंग 840 और 850 श्रृंखला एसएसडी

यह फ़ाइल सामान्य रूप से TRIM के विरुद्ध SuperSpeed ​​S238 को भी ब्लैकलिस्ट करती है क्योंकि TRIM जारी होने पर गलत ब्लॉक डेटा खो देता है।[41][42]

libata-core.c के पास SSDs को सूचीबद्ध करने के लिए एक श्वेतसूची भी है जो DRAT और RZAT फ़्लैग्स को सही ढंग से लागू करने के लिए सबसिस्टम के अनुरक्षकों के लिए विश्वसनीय रूप से ज्ञात हैं (ATA_HORKAGE_ZERO_AFTER_TRIM), उन्हें अनदेखा करने के बजाय, जैसा कि कई ड्राइव करते हैं। श्वेतसूचीबद्ध ड्राइव इस प्रकार हैं:[41]* महत्वपूर्ण एसएसडी

  • Intel SSDs, Intel SSD 510 को छोड़कर
  • माइक्रोन एसएसडी
  • सैमसंग एसएसडी
  • सीगेट एसएसडी[43]


यह भी देखें

संदर्भ

  1. "Intel High Performance Solid State Drive – Advantages of TRIM". Intel.com. Intel. 14 September 2010. Retrieved 21 February 2012.
  2. {{Cite web|url=https://www.anandtech.com/show/2738 |title=SSD एंथोलॉजी: OCZ से SSDs और नई ड्राइव्स को समझना|author=Shimpi, Anand Lal |website=AnandTech.com |page=4 |date=2009-03-18 |access-date=2010-06-19}
  3. "किंग्स्टन SSDNow वी प्लस 100 की समीक्षा". AnandTech.com. Anand Lal Shimpi. 11 November 2010. Retrieved 10 December 2010.
  4. "ट्रिम कमांड - हार्ड डिस्क ड्राइव के लिए सामान्य लाभ" (PDF). Documents.westerndigital.com. Retrieved 7 November 2021.
  5. 5.0 5.1 5.2 Savill, John (21 April 2009). "I heard solid-state disks (SSDs) suffer from a decline in write performance as they're used. Why?". WindowsITPro. Archived from the original on 19 August 2012. Retrieved 19 June 2010.
  6. 6.0 6.1 6.2 शिंपी, आनंद लाल। (18 मार्च 2009)। पी। 7.
  7. 7.0 7.1 {{Cite web |url=http://www.windowsitpro.com/article/file-systems/q-what-is-the-trim-function-for-solid-state-disks-ssds-and-why-is-it-important-.aspx |archive-url=https://archive.today/20130209233800/http://www.windowsitpro.com/article/file-systems/q-what-is-the-trim-function-for-solid-state-disks-ssds-and-why-is-it-important-.aspx |url-status=dead |archive-date=2013-02-09 |title=सॉलिड-स्टेट डिस्क (SSDs) के लिए TRIM फ़ंक्शन क्या है और यह क्यों महत्वपूर्ण है?|author=Savill, John |publisher=WindowsITPro |date=2009-04-22 |access-date=2010-06-19 }
  8. Malventano, Allyn (13 February 2009). "इंटेल मेनस्ट्रीम एसएसडी का दीर्घकालिक प्रदर्शन विश्लेषण". PC Perspective. Retrieved 10 February 2012.
  9. 9.0 9.1 शिंपी, आनंद लाल। (18 मार्च 2009)। पी। 5.
  10. शिंपी, आनंद लाल। (18 मार्च 2009)। पी। 8.
  11. Cite error: Invalid <ref> tag; no text was provided for refs named SSD_Anthology_10
  12. "Too TRIM? When SSD Data Recovery is Impossible". TechGage. TechGage. 5 March 2010. Retrieved 21 August 2018.
  13. "Possible to get SSD TRIM (discard) working on ext4 + LVM + software RAID in Linux? – Server Fault". Retrieved 29 November 2011.
  14. "Cyberax/mdtrim – GitHub". GitHub. Retrieved 29 November 2011.
  15. 15.0 15.1 "Red Hat Enterprise Linux 6 Storage Administration Guide, Chapter 21. Solid-State Disk Deployment Guidelines". Retrieved 9 March 2016.
  16. "Red Hat Enterprise Linux 7 Storage Administration Guide". 11 November 2015. Retrieved 29 February 2016.
  17. "Is there TRIM support for RAID configurations?". Intel. 26 March 2010. Retrieved 6 November 2010.
  18. "Intel Confirms RAID0 TRIM Support on 7-Series Chipsets". 19 August 2012. Retrieved 14 January 2013.
  19. "RAID0 trim and SRT seems possible on 6-series and 5-Series". 18 November 2012. Retrieved 14 January 2013.
  20. "TRIM & RAID-0 SSD Arrays Work With Intel 6-Series Motherboards Too". 28 November 2012. Retrieved 14 January 2013.
  21. "Intel Brings TRIM to RAID-0 SSD Arrays on 7-Series Motherboards, We Test It". 16 August 2012. Retrieved 14 January 2013.
  22. Anand Lal Shimpi. "Intel Brings TRIM to RAID-0 SSD Arrays on 7-Series Motherboards, We Test It".
  23. Doug Crowthers (17 August 2012). "TRIM Command Confirmed With RAID 0 on Intel 7 Series". Tom's Hardware.
  24. "इंटेल एसएसडी अनुकूलक श्वेत पत्र" (PDF). Intel Corporation. Archived from the original (PDF) on 5 October 2012. Retrieved 23 January 2010.
  25. "hdparm-9.17 released, with experimental trim/wiper scripts for SSDs". Retrieved 14 August 2010.
  26. "hdparm प्रोजेक्ट पेज". sourceforge.net. Retrieved 14 August 2010.
  27. "Data Set Management Commands Proposal for ATA8-ACS2 (revision 6)". INCITS T13. INCITS. 12 December 2007. Retrieved 8 July 2009. (draft specification T13/e07154r6)
  28. "T13 documents referring to TRIM". INCITS T13. INCITS. Retrieved 8 July 2009.
  29. "T13 ATA8 Draft Spec 1697-D" (PDF). INCITS. 23 June 2010. Retrieved 14 August 2010.
  30. "SATA 6Gb/s". Serial ATA International Organization. Retrieved 26 September 2012.
  31. "Device.Storage आवश्यकताएँ (Windows)". Retrieved 29 February 2016.
  32. "T13/2161-D: Information technology – ATA/ATAPI Command Set – 3 (ACS-3)" (PDF). T13.org. Retrieved 29 February 2016.
  33. Motin, Alexander (24 December 2011). "RFC: SCSI UNMAP (TRIM) support". Lists.freebsd.org. Retrieved 7 November 2021.
  34. "Milan Broz's blog: TRIM & dm-crypt ... problems?". Milan Broz. 14 August 2011. Retrieved 1 October 2014.
  35. "पूरी तरह से इनकार करने योग्य स्टेग्नोग्राफ़िक डिस्क एन्क्रिप्शन" (PDF). I.blackhat.com. Retrieved 7 November 2021.
  36. "The Path from 3Gb/s to SATA 6Gb/s: How to Migrate Current Designs to the SATA Revision 3.0 Specification". Sata-io.org. 27 May 2009. Retrieved 7 November 2021.
  37. "SATA 3.1 spec brings swap standard, improved TRIM". The Tech Report. 18 July 2011.
  38. "71371 [PATCH]Crucial M500, broken "queued TRIM" support". bugzilla.kernel.org.
  39. "Bug #1449005 trim does not work with Samsung 840 EVO after firm... : Bugs : fstrim package : Ubuntu". Launchpad.
  40. torvalds. "linux/libata-core.c at e64f638483a21105c7ce330d543fa1f1c35b5bc7 · torvalds/linux · GitHub". GitHub.
  41. 41.0 41.1 41.2 torvalds. "linux/libata-core.c at master · torvalds/linux · GitHub". GitHub.
  42. torvalds. "libata: force disable trim for SuperSSpeed S238 · torvalds/linux@cda57b1". GitHub.
  43. "[1/3] libata: Whitelist SSDs that are known to properly return zeroes after TRIM - Patchwork". patchwork.ozlabs.org.


बाहरी संबंध