यूबीआईएफएस
Developer(s) | Nokia with help of University of Szeged |
---|---|
Full name | Unsorted Block Image File System |
Introduced | 2008Linux kernel 2.6.27 | with
Structures | |
Directory contents | B+ trees |
Limits | |
Allowed characters in filenames | Any byte except NUL and forward slash "/"[citation needed] |
Features | |
Forks | Yes |
Attributes | Yes |
File system permissions | Unix permissions |
Transparent compression | Yes |
Other | |
Supported operating systems | Linux |
यूबीआईएफएस (यूबीआई फाइल सिस्टम, और अधिक पूरी तरह से अनसोर्टेड ब्लॉक इमेज फाइल सिस्टम) अप्रबंधित फ्लैश मेमोरी उपकरणों के लिए एक फ्लैश फाइल सिस्टम है।[1] UBIFS एक #UBI (अनसोर्टेड ब्लॉक इमेज) लेयर के ऊपर काम करता है,[2] जो स्वयं एक स्मृति प्रौद्योगिकी डिवाइस (एमटीडी) परत के शीर्ष पर है।[3] फाइल सिस्टम को नोकिया के इंजीनियरों ने स्वेज्ड विश्वविद्यालय, हंगरी की मदद से विकसित किया है। अक्टूबर 2008 में लिनक्स कर्नेल 2.6.27 में पहली स्थिर रिलीज के साथ 2007 में विकास शुरू हुआ। [4] UBIFS और JFFS2 के बीच दो प्रमुख अंतर यह हैं कि UBIFS कैशिंग लिखने का समर्थन करता है,[5] और UBIFS मुक्त स्थान की गणना के निराशावादी पक्ष में गलती करते हैं।[6] बड़े नंद फ्लैश मेमोरी उपकरणों के लिए UBIFS JFFS2 से बेहतर प्रदर्शन करता है।[7] यह UBIFS डिज़ाइन लक्ष्यों का परिणाम है:[8] तेजी से बढ़ते हुए, बड़ी फ़ाइलों तक त्वरित पहुंच, और लिखने की गति में सुधार। UBIFS JFFS2 के ऑन-द-फ्लाई कम्प्रेशन, रिकवरीबिलिटी और पावर फेल टॉलरेंस को भी बरकरार रखता है या उसमें सुधार करता है।[8]UBIFS का ऑन-द-फ्लाई डेटा कंप्रेशन zlib (हवा निकालना एल्गोरिथम), लेम्पेल-ज़िव-ओबरह्यूमर या Zमानक की अनुमति देता है।
UBIFS इंडेक्स को फ्लैश में स्टोर करता है जबकि JFFS2 फाइल सिस्टम इंडेक्स को मेमोरी में स्टोर करता है।[9] यह सीधे JFFS2 की मापनीयता को प्रभावित करता है क्योंकि हर बार वॉल्यूम माउंट होने पर तालिकाओं को फिर से बनाया जाना चाहिए। साथ ही, JFFS2 तालिकाएँ पर्याप्त सिस्टम RAM का उपभोग कर सकती हैं जिससे कुछ छवियाँ अनुपयोगी हो सकती हैं।
यूबीआई
UBI (अनसोर्टेड ब्लॉक इमेज)[10] फ्लैश मेमोरी उपकरणों के लिए इरेज़ ब्लॉक मैनेजमेंट लेयर है। यूबीआई दो उद्देश्यों की पूर्ति करता है, एनएएनडी फ्लैश खराब ब्लॉकों पर नज़र रखना और समतलन पुराना होना प्रदान करना। वियर लेवलिंग इरेज़ को फैलाता है और पूरे फ्लैश डिवाइस पर लिखता है। UBI लॉजिकल इरेज़ ब्लॉक्स को हायर लेयर्स पर प्रस्तुत करता है और इन्हें फिजिकल इरेज ब्लॉक्स में मैप करता है। UBI को विशेष रूप से UBIFS के लिए लिखा गया था ताकि UBIFS को वियर लेवलिंग और बैड ब्लॉक्स से न जूझना पड़े। हालाँकि, UBI स्क्वैशफ़ और NAND फ़्लैश के साथ भी उपयोगी हो सकता है; squashfs को एनएएनडी फ्लैश बैड ब्लॉक्स की जानकारी नहीं है।
यूबीआई के दस्तावेज बताते हैं कि यह पूर्ण फ्लैश अनुवाद परत (एफटीएल) नहीं है। हालांकि एक FTL खराब ब्लॉक और वियर लेवलिंग को भी संभालता है, FTL द्वारा प्रदान किया जाने वाला इंटरफ़ेस एक ब्लॉक डिवाइस है जिसमें छोटे (आमतौर पर 512 बाइट्स) सेक्टर होते हैं जिन्हें पूरी तरह से स्वतंत्र रूप से लिखा जा सकता है। इसके विपरीत, UBI का इंटरफ़ेस सीधे मिटाए गए ब्लॉक और प्रोग्रामेबल पेज (जो अलग-अलग आकार के होते हैं, और विशिष्ट ब्लॉक डिवाइस सेक्टरों की तुलना में बहुत बड़े होते हैं) को उजागर करता है, और फ़ाइल सिस्टम जो UBI का उपयोग करते हैं, उन्हें आकार और प्रतिबंधों के बारे में पता होना चाहिए कि ब्लॉक को लिखे जाने से पहले कैसे मिटाया जाना चाहिए। .
यूबीआई कुछ मायनों में लॉजिकल वॉल्यूम मैनेजर के अनुरूप है। विशिष्ट उपयोग में, निश्चित क्षेत्रों नैंड फ्लैश को विभाजित करने के बजाय, एक एकल यूबीआई डिवाइस पूरे फ्लैश को फैलाता है (बूटलोडर के लिए आरक्षित निश्चित स्थानों में शायद कुछ पृष्ठों को छोड़कर), और यूबीआई डिवाइस के भीतर कई वॉल्यूम बनाए जाते हैं। यह वियर-लेवलिंग को पूरे फ्लैश में फैलाने की अनुमति देता है, भले ही कुछ खंड दूसरों की तुलना में अधिक बार लिखे गए हों। यूबीआई वॉल्यूम स्थिर हो सकता है (जिसमें पूरी फ़ाइल या छवि एक बार लिखी गई है और यूबीआई द्वारा सीआरसी -32 द्वारा संरक्षित है) या गतिशील (जिसमें पढ़ने-लिखने वाली फाइल सिस्टम शामिल है जो अपनी डेटा अखंडता के लिए ज़िम्मेदार है)। यूबीआई का सीधे समर्थन करने वाला एकमात्र फाइल सिस्टम यूबीआईएफएस है, लेकिन उपयोग कर रहा है gluebi
एक MTD डिवाइस का अनुकरण करना संभव है, जिसका उपयोग अन्य फ्लैश फाइल सिस्टम जैसे JFFS2 और YAFFS को चलाने के लिए किया जा सकता है, और ubiblk
ब्लॉक उपकरणों का अनुकरण करना संभव है, जो Ext4 जैसे सामान्य फ़ाइल सिस्टम चला सकते हैं।
फास्टमैप
यूबीआई को लिनक्स 3.7 में फास्टमैप समर्थन के साथ संवर्धित किया गया था।[11][12] फास्टमैप संपूर्ण फ्लैश डिवाइस को स्कैन करके मेमोरी में पहले से बनाई गई जानकारी के ऑन-डिस्क संस्करण को बनाए रखता है। कोड विफलताओं पर एक पूर्ण स्कैन के पिछले तंत्र पर वापस आ जाता है और पुराने यूबीआई सिस्टम केवल फास्टमैप जानकारी को अनदेखा कर देंगे।
यह भी देखें
- फाइल सिस्टम की सूची
- फाइल सिस्टम की तुलना
संदर्भ
- ↑ Jonathan Corbet (2 April 2008). "UBIFS". LWN.net. Retrieved 18 December 2016.
- ↑ "UBIFS – UBI File-System: Big red note". 22 January 2015. Retrieved 18 December 2016.
It does not work on top of block devices. UBIFS was designed to work on top of raw flash.
- ↑ "UBIFS – UBI File-System: Overview". 22 January 2015. Retrieved 18 December 2016.
- ↑ Artem Bityutskiy (27 March 2008). "UBIFS – new flash file system". Retrieved 18 December 2016.
- ↑ "UBIFS – UBI File-System: Write-back support". 22 January 2015. Retrieved 18 December 2016.
- ↑ "UBIFS FAQ and HOWTO: Why does df report too little free space?". 18 December 2015. Retrieved 18 December 2016.
- ↑ "UBIFS – UBI File-System: Scalability". 22 January 2015. Retrieved 18 December 2016.
- ↑ 8.0 8.1 Bityutskiy, Artem; Hunter, Adrian (24 September 2008). "UBIFS File System" (PDF). p. 9.
- ↑ Adrian Hunter (27 March 2008). "A Brief Introduction to the Design of UBIFS" (PDF).
- ↑ "UBI – Unsorted Block Images". 22 January 2015. Retrieved 18 December 2016.
- ↑ Thomas Petazzoni (3 October 2012). "UBI fastmap making its way to mainline". Archived from the original on 15 November 2012. Retrieved 18 December 2016.
- ↑ Richard Weinberger (24 September 2012). "UBI: Fastmap request for inclusion (v18)". Retrieved 18 December 2016.
बाहरी संबंध
- Home page
- University of Szeged: UBIFS Archived 28 September 2013 at the Wayback Machine
- UBIFS experiments on the XO Laptop (One Laptop per Child)
- UBIFS file system