यूबीआईएफएस

From alpha
Jump to navigation Jump to search
यूबीआईएफएस
Developer(s)Nokia with help of University of Szeged
Full nameUnsorted Block Image File System
Introduced2008; 16 years ago (2008) with Linux kernel 2.6.27
Structures
Directory contentsB+ trees
Limits
Allowed characters in filenamesAny byte except NUL and forward slash "/"[citation needed]
Features
ForksYes
AttributesYes
File system permissionsUnix permissions
Transparent compressionYes
Other
Supported operating systemsLinux

यूबीआईएफएस (यूबीआई फाइल प्रणाली, और अधिक पूरी तरह से अवर्गीकृत ब्लॉक छवि फाइल प्रणाली) अप्रबंधित फ्लैश मेमोरी उपकरणों के लिए एक फ्लैश फाइल प्रणाली है।[1] यूबीआई फाइल प्रणाली एक यूबीआई (अवर्गीकृत ब्लॉक छवि) स्तर के ऊपर काम करता है,[2] जो स्वयं एक मेमोरी प्रौद्योगिकी डिवाइस (एमटीडी) स्तर के शीर्ष पर है।[3] फाइल प्रणाली को नोकिया के इंजीनियरों ने स्वेज्ड विश्वविद्यालय, हंगरी की सहायता से विकसित किया है। अक्टूबर 2008 में लिनक्स कर्नेल 2.6.27 में पहले स्थिर प्रकाशन के साथ, 2007 में विकास प्रारंभ हुआ।[4] EDIT

यूबीआई फाइल प्रणाली और जेएफएफएस 2 के बीच दो प्रमुख अंतर यह हैं कि यूबीआई फाइल प्रणाली कैशिंग लिखने का समर्थन करता है,[5] और यूबीआई फाइल प्रणाली मुक्त स्थान की गणना के निराशावादी पक्ष में गलती करते हैं।[6] बड़े नंद फ्लैश मेमोरी उपकरणों के लिए यूबीआई फाइल प्रणाली जेएफएफएस 2 से बेहतर प्रदर्शन करता है।[7] यह यूबीआई फाइल प्रणाली डिज़ाइन लक्ष्यों का परिणाम है:[8] तेजी से बढ़ते हुए, बड़ी फ़ाइलों तक त्वरित पहुंच, और लिखने की गति में सुधार। यूबीआई फाइल प्रणाली जेएफएफएस 2 के ऑन-द-फ्लाई कम्प्रेशन, रिकवरीबिलिटी और पावर फेल टॉलरेंस को भी बरकरार रखता है या उसमें सुधार करता है।[8]यूबीआई फाइल प्रणाली का ऑन-द-फ्लाई डेटा कंप्रेशन zlib ( हवा निकालना एल्गोरिथम), लेम्पेल-ज़िव-ओबरह्यूमर या Zमानक की अनुमति देता है।

यूबीआई फाइल प्रणाली इंडेक्स को फ्लैश में स्टोर करता है जबकि जेएफएफएस 2 फाइल प्रणाली इंडेक्स को मेमोरी में स्टोर करता है।[9] यह सीधे जेएफएफएस 2 की मापनीयता को प्रभावित करता है क्योंकि हर बार वॉल्यूम माउंट होने पर तालिकाओं को फिर से बनाया जाना चाहिए। साथ ही, जेएफएफएस 2 तालिकाएँ पर्याप्त प्रणाली RAM का उपभोग कर सकती हैं जिससे कुछ छवियाँ अनुपयोगी हो सकती हैं।

यूबीआई

यूबीआई (अनसोर्टेड ब्लॉक इमेज)[10] फ्लैश मेमोरी उपकरणों के लिए इरेज़ ब्लॉक मैनेजमेंट लेयर है। यूबीआई दो उद्देश्यों की पूर्ति करता है, एनएएनडी फ्लैश खराब ब्लॉकों पर नज़र रखना और समतलन पुराना होना प्रदान करना। वियर लेवलिंग इरेज़ को फैलाता है और पूरे फ्लैश डिवाइस पर लिखता है। यूबीआई लॉजिकल इरेज़ ब्लॉक्स को हायर लेयर्स पर प्रस्तुत करता है और इन्हें फिजिकल इरेज ब्लॉक्स में मैप करता है। यूबीआई को विशेष रूप से यूबीआई फाइल प्रणाली के लिए लिखा गया था ताकि यूबीआई फाइल प्रणाली को वियर लेवलिंग और बैड ब्लॉक्स से न जूझना पड़े। हालाँकि, यूबीआई स्क्वैशफ़ और NAND फ़्लैश के साथ भी उपयोगी हो सकता है; squashfs को एनएएनडी फ्लैश बैड ब्लॉक्स की जानकारी नहीं है।

यूबीआई के दस्तावेज बताते हैं कि यह पूर्ण फ्लैश अनुवाद परत (एफटीएल) नहीं है। हालांकि एक FTL खराब ब्लॉक और वियर लेवलिंग को भी संभालता है, FTL द्वारा प्रदान किया जाने वाला इंटरफ़ेस एक ब्लॉक डिवाइस है जिसमें छोटे (आमतौर पर 512 बाइट्स) सेक्टर होते हैं जिन्हें पूरी तरह से स्वतंत्र रूप से लिखा जा सकता है। इसके विपरीत, यूबीआई का इंटरफ़ेस सीधे मिटाए गए ब्लॉक और प्रोग्रामेबल पेज (जो अलग-अलग आकार के होते हैं, और विशिष्ट ब्लॉक डिवाइस सेक्टरों की तुलना में बहुत बड़े होते हैं) को उजागर करता है, और फ़ाइल प्रणाली जो यूबीआई का उपयोग करते हैं, उन्हें आकार और प्रतिबंधों के बारे में पता होना चाहिए कि ब्लॉक को लिखे जाने से पहले कैसे मिटाया जाना चाहिए। .

यूबीआई कुछ मायनों में लॉजिकल वॉल्यूम मैनेजर के अनुरूप है। विशिष्ट उपयोग में, निश्चित क्षेत्रों नैंड फ्लैश को विभाजित करने के बजाय, एक एकल यूबीआई डिवाइस पूरे फ्लैश को फैलाता है (बूटलोडर के लिए आरक्षित निश्चित स्थानों में संभव्यता कुछ पृष्ठों को छोड़कर), और यूबीआई डिवाइस के अंदर कई वॉल्यूम बनाए जाते हैं। यह वियर-लेवलिंग को पूरे फ्लैश में फैलाने की अनुमति देता है, तथापि कुछ खंड दूसरों की तुलना में अधिक बार लिखे गए हों। यूबीआई वॉल्यूम स्थिर हो सकता है (जिसमें पूरी फ़ाइल या छवि एक बार लिखी गई है और यूबीआई द्वारा सीआरसी -32 द्वारा संरक्षित है) या गतिशील (जिसमें पढ़ने-लिखने वाली फाइल प्रणाली शामिल है जो अपनी डेटा अखंडता के लिए ज़िम्मेदार है)। यूबीआई का सीधे समर्थन करने वाला एकमात्र फाइल प्रणाली यूबीआई फाइल प्रणाली है, लेकिन उपयोग कर रहा है gluebi एक MTD डिवाइस का अनुकरण करना संभव है, जिसका उपयोग अन्य फ्लैश फाइल प्रणाली जैसे जेएफएफएस 2 और YAFFS को चलाने के लिए किया जा सकता है, और ubiblk ब्लॉक उपकरणों का अनुकरण करना संभव है, जो Ext4 जैसे सामान्य फ़ाइल प्रणाली चला सकते हैं।

फास्टमैप

यूबीआई को लिनक्स 3.7 में फास्टमैप समर्थन के साथ संवर्धित किया गया था।[11][12] फास्टमैप संपूर्ण फ्लैश डिवाइस को स्कैन करके मेमोरी में पहले से बनाई गई जानकारी के ऑन-डिस्क संस्करण को बनाए रखता है। कोड विफलताओं पर एक पूर्ण स्कैन के पिछले तंत्र पर वापस आ जाता है और पुराने यूबीआई प्रणाली केवल फास्टमैप जानकारी को अनदेखा कर देंगे।

यह भी देखें

  • फाइल प्रणाली की सूची
  • फाइल प्रणाली की तुलना

संदर्भ

  1. Jonathan Corbet (2008-04-02). "UBIFS". LWN.net. Retrieved 2016-12-18.
  2. "UBIFS – UBI File-System: Big red note". 2015-01-22. Retrieved 2016-12-18. It does not work on top of block devices. UBIFS was designed to work on top of raw flash.
  3. "UBIFS – UBI File-System: Overview". 2015-01-22. Retrieved 2016-12-18.
  4. Artem Bityutskiy (2008-03-27). "UBIFS – new flash file system". Retrieved 2016-12-18.
  5. "UBIFS – UBI File-System: Write-back support". 2015-01-22. Retrieved 2016-12-18.
  6. "UBIFS FAQ and HOWTO: Why does df report too little free space?". 2015-12-18. Retrieved 2016-12-18.
  7. "UBIFS – UBI File-System: Scalability". 2015-01-22. Retrieved 2016-12-18.
  8. 8.0 8.1 Bityutskiy, Artem; Hunter, Adrian (2008-09-24). "UBIFS File System" (PDF). p. 9.
  9. Adrian Hunter (2008-03-27). "A Brief Introduction to the Design of UBIFS" (PDF).
  10. "UBI – Unsorted Block Images". 2015-01-22. Retrieved 2016-12-18.
  11. Thomas Petazzoni (2012-10-03). "UBI fastmap making its way to mainline". Archived from the original on 2012-11-15. Retrieved 2016-12-18.
  12. Richard Weinberger (2012-09-24). "UBI: Fastmap request for inclusion (v18)". Retrieved 2016-12-18.


बाहरी संबंध