फ्लैश फाइल सिस्टम

एक फ्लैश फाइल सिस्टम एक फाइल सिस्टम है जिसे कम्प्यूटर फाइल  को फ्लैश मेमोरी-आधारित स्टोरेज डिवाइस पर स्टोर करने के लिए डिज़ाइन किया गया है। जबकि फ्लैश फाइल सिस्टम सामान्य रूप से फाइल सिस्टम से निकटता से संबंधित हैं, वे फ्लैश मेमोरी की प्रकृति और विशेषताओं के लिए अनुकूलित हैं (जैसे कि लेखन प्रवर्धन से बचने के लिए), और विशेष ऑपरेटिंग सिस्टम में उपयोग के लिए।

सिंहावलोकन
जबकि एक ब्लॉक डिवाइस परत एक डिस्क ड्राइव का अनुकरण कर सकती है ताकि फ्लैश-आधारित स्टोरेज डिवाइस पर एक सामान्य-उद्देश्य फ़ाइल सिस्टम का उपयोग किया जा सके, यह कई कारणों से उप-इष्टतम है:


 * इरेजिंग ब्लॉक्स: फ्लैश मेमोरी ब्लॉक्स को लिखे जाने से पहले स्पष्ट रूप से मिटाना होगा। ब्लॉक को मिटाने में लगने वाला समय महत्वपूर्ण हो सकता है, इस प्रकार डिवाइस के निष्क्रिय होने पर अप्रयुक्त ब्लॉक को मिटाना फायदेमंद होता है।
 * रैंडम एक्सेस: सामान्य-उद्देश्य फ़ाइल सिस्टम डिस्क की तलाश खोज से बचने के लिए जब भी संभव हो, उच्च लागत के कारण अनुकूलित किया जाता है। फ्लैश मेमोरी डिवाइस नो सीक लेटेंसी लगाते हैं।
 * समतलन पुराना होना: फ्लैश मेमोरी डिवाइस खराब हो जाते हैं जब एक ही ब्लॉक को बार-बार ओवरराइट किया जाता है; फ़्लैश फ़ाइल सिस्टम को लिखने को समान रूप से फैलाने के लिए डिज़ाइन किया गया है।

लॉग-संरचित फाइल सिस्टम में फ्लैश फाइल सिस्टम के लिए सभी वांछनीय गुण होते हैं। ऐसे फ़ाइल सिस्टम में JFFS2 और YAFFS शामिल हैं।

फ्लैश मेमोरी की विशेष विशेषताओं के कारण, इसका उपयोग या तो फ्लैश मेमोरी नियंत्रक  के साथ वियर लेवलिंग और  त्रुटि सुधार  या विशेष रूप से डिजाइन की गई फ्लैश फाइल सिस्टम के लिए किया जाता है, जो मीडिया पर लिखता है और NAND फ्लैश ब्लॉक के लंबे समय तक मिटाने से निपटता है।. फ्लैश फाइल सिस्टम के पीछे मूल अवधारणा है: जब फ्लैश स्टोर को अपडेट किया जाना है, तो फाइल सिस्टम बदले हुए डेटा की एक नई कॉपी को एक नए ब्लॉक में लिख देगा, फाइल पॉइंटर्स को रीमैप करेगा, फिर पुराने ब्लॉक को बाद में मिटा देगा। समय।

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

जैसे-जैसे मोबाइल उपकरणों की संख्या बढ़ रही है, फ्लैश-आधारित मेमोरी डिवाइस अधिक प्रचलित होते जा रहे हैं, प्रति मेमोरी आकार की लागत घटती जा रही है और फ्लैश मेमोरी चिप्स की क्षमता बढ़ती जा रही है।

उत्पत्ति
सबसे पहली फ्लैश फाइल सिस्टम, स्वतंत्र रूप से लिखने योग्य डिस्क के रूप में फ्लैश की एक सरणी का प्रबंधन, इजरायल के M- सिस्टम्स ्स द्वारा ट्रूएफएफएस था, जिसे जुलाई 1992 में कैलिफोर्निया के सांता क्लारा में पीसी-कार्ड एक्सपो में एक सॉफ्टवेयर उत्पाद के रूप में प्रस्तुत किया गया और 1993 में पेटेंट कराया गया। MS-DOS के साथ उपयोग के लिए, शरद ऋतु 1992 में जारी सबसे शुरुआती फ्लैश फ़ाइल सिस्टमों में से एक Microsoft का FFS2 था। FFS2 से पहले FFS नामक एक पुराने उत्पाद से पहले था, जो हालांकि एक फ्लैश फ़ाइल सिस्टम होने से कम हो गया था, एक स्वतंत्र रूप से लिखने योग्य डिस्क के बजाय एक फ्लैश ऐरे को लिखने के रूप में कई (WORM) स्थान को पढ़ने के लिए प्रबंधित करता है।

1994 के आसपास, PCMCIA, एक उद्योग समूह, ने एम-सिस्टम्स के ट्रूएफएफएस के डिजाइन के आधार पर फ्लैश ट्रांसलेशन लेयर (एफटीएल) विनिर्देश को मंजूरी दी। विनिर्देश M-Systems और Identiv द्वारा लिखित और संयुक्त रूप से प्रस्तावित किया गया था, जिन्होंने FTL का पहला कार्य कार्यान्वयन भी प्रदान किया था। इंटेल द्वारा समर्थित, एफटीएल गैर-पीसीएमसीआईए मीडिया में भी एक लोकप्रिय फ्लैश फाइल सिस्टम डिजाइन बन गया।

लिनक्स फ्लैश फाइलसिस्टम

 * जेएफएफएस, जेएफएफएस2 और वाईएएफएफएस
 * जेएफएफएस लिनक्स के लिए पहला फ्लैश-विशिष्ट फाइल सिस्टम था, लेकिन मूल रूप से एनओआर फ्लैश के लिए विकसित जेएफएफएस2 ने इसका स्थान ले लिया। फिर YAFFS को 2002 में रिलीज़ किया गया, विशेष रूप से NAND फ्लैश के साथ काम करते हुए, और JFFS2 को NAND फ्लैश को भी सपोर्ट करने के लिए अपडेट किया गया था।


 * यूबीआईएफएस
 * Linux 2.6.22 के बाद से UBIFS का विलय कर दिया गया है 2008 में। UBIFS को इसके प्रारंभिक मर्ज से सक्रिय रूप से विकसित किया गया है। UBIFS ने JFFS2 और MTD ड्राइवरों के साथ प्रलेखन infradead.org पर होस्ट किया है। कुछ प्रारंभिक तुलना F2FS की तुलना में तेजी से संपीड़न के साथ UBIFS दिखाती है।


 * लॉगएफएस
 * LogFS, एक अन्य Linux फ्लैश-विशिष्ट फाइल सिस्टम है JFFS2 की मापनीयता संबंधी समस्याओं का समाधान करने के लिए विकसित किया जा रहा है।


 * F2FS
 * F2FS (फ्लैश-फ्रेंडली फाइल सिस्टम) को लिनक्स कर्नेल 3.8 में जोड़ा गया था। अपरिष्कृत फ़्लैश उपकरणों से सीधे बात करने पर लक्षित होने के बजाय, F2FS को फ्लैश-आधारित भंडारण उपकरणों पर उपयोग करने के लिए डिज़ाइन किया गया है जिसमें पहले से ही एक फ्लैश अनुवाद परत शामिल है, जैसे एसडी कार्ड।

यूनियन फाइलसिस्टम
Overlayfs, Unionfs, और aufs यूनियन फाइल सिस्टम हैं, जो कई फाइल सिस्टम को संयोजित करने की अनुमति देते हैं और उपयोगकर्ता को एक ट्री के रूप में प्रस्तुत करते हैं। यह सिस्टम डिज़ाइनर को ऑपरेटिंग सिस्टम के उन हिस्सों को रखने की अनुमति देता है जो सामान्य पढ़ने-लिखने वाले क्षेत्रों में अलग-अलग मीडिया पर केवल-पढ़ने के लिए होते हैं। OpenWrt आमतौर पर FTL के बिना कच्चे फ्लैश चिप्स पर स्थापित होता है। यह JFFS2 के साथ कंप्रेस्ड रीड-ओनली SquashFS को संयोजित करने के लिए overlayfs का उपयोग करता है।

यह भी देखें

 * List_of_file_systems#File_systems_optimized_for_flash_memory.2C_solid_state_media
 * समतलन पुराना होना
 * प्रवर्धन लिखें

बाहरी संबंध

 * Presentation on various Flash File Systems – 2007-09-24
 * Article regarding various Flash File Systems – 2005 USENIX Annual Conference
 * Survey of various Flash File Systems – 2005-08-10
 * Anatomy of Linux Flash File Systems – 2008-05-20