حافظه فلش چیست؟

حافظه فلش چیست؟

حافظه فلش چیست؟

حافظه فلش یا فلش مموری (Flash memory)، حافظه غیر فرار ذخیره‌ سازی کامپیتوری می باشد که می‌ توان آن را به صورت الکتریکی پاک و دوباره برنامه‌ ریزی کرد. این فناوری عمدتاً در کارت‌های حافظه و یو اس‌ بی استفاده می‌ شود و برای ذخیره‌ سازی عمومی و انتقال داده‌ها بین رایانه‌ها و دیگر محصولات دیجیتال به کار می‌ رود. این نوع خاصی از EEPROM (حافظه فقط خواندنی پاک‌ شدنی و قابل برنامه‌ ریزی به صورت الکتریکی) است که در قطعات بزرگ، پاک و برنامه‌ ریزی شده‌است. از آنجا که حافظه فلش غیر فرار است، هیچ نیرویی برای نگه داشتن اطلاعات درون قطعه مورد نیاز نیست. علاوه بر این، این حافظه به ارایه گذاشتن سریع اطلاعات در هر دسترسی (اگر چه به اندازه حافظه فرار دینامیک دسترسی تصادفی (DRAM)، که برای حافظه اصلی در رایانه‌ها به کار می‌رود سریع نیست) ولی مقاوم‌ تر از دیسک سخت (Hard disk) در برابر شوک حرکتی می‌ باشد.

دو نوع حافظه فلش وجود دارد که بر حسب منطق‌های NAND , NOR نام گذاری شده‌اند سلول های مستقل حافظه فلش مشخصات درونی مشابهی با دروازه مربوطه را نشان می‌ دهند. در حالی که EPROM ها باید قبل از نوشته شدن به طور کامل پاک شوند، فلش‌های نوع NAND می‌توانند هم‌ زمان در بلوک‌هایی که معمولاً از کّل دستگاه کوچکترند خوانده و نوشته شوند. فلش‌های NOR به یک کلمه ماشینی تنها (بایت) اجازه می‌دهند بر روی یک محل پاک شده بدون وابستگی نوشته یا خواند شوند. نوع NAND به صورت عمده در کارت های حفظ فلش‌های یو اس‌ بی و درایوهای حالت جامد و محصولات مشابه برای ذخیره معمولی و انتقال داده استفاده می‌شود. فلش‌های NAND, NOR معمولا برای ذخیره پیکر بندی داده‌ها در بسیاری از محصولات دیجیتالی استفاده می‌شوند مسئولیتی که در گذشته به وسیلهٔ EPROM ها یا حافظه استاتیک باتری دار ممکن می‌ شد. یکی از معایب حافظه فلش تعداد محدود چرخه‌های خواندن یا نوشتن در یک بلوک خاص است. فلش‌های NOR و NAND نام خود را از روابط داخلی بین سلول‌های حافظه‌شان می‌گیرند. مشابه گیت نند، در فلش‌های نند هم گیت‌ ها در سری‌هایی به هم متصل هستند. در یک گیت NOR ترانزیستورها به طور موازی به هم متصل هستند و مانند آن در فلش NOR سلول‌ها به طور موازی به خطوط بیت متصل هستند و به همین دلیل است که سلول‌ها می‌توانند جداگانه و مستقل، خوانده و برنامه‌نویسی شوند. در مقایسه با فلش‌های NOR جایگزین کردن یک ترانزیستور با گروه‌های سری لینک شده یک سطح آدرس دهی اضافی به آن ها می‌افزاید. در حالی که فلش‌های NOR می‌توانند حافظه را با صفحه و سپس کلمه آدرس دهی کنند. فلش‌های NAND می‌توانند آن را با صفحه، کلمه و بیت آدرس دهی کنند.

انواع حافظه فلش:

• فلش NOR:

هر سلول در فلش NOR یک بخش پایانی را دارا می باشد که مستقیماً به زمین متصل است و بخش پایانی دیگری که مستقیماً به یک خط بیت متصل است. این ترتیب به این دلیل NOR نامید شده است که مثل یک گیت NOR عمل می‌کند. وقتی یکی از خطوط کلمه‌ها High شود ترانزیستور ذخیره کننده مربوطه عمل می‌کند تا خط بیت خروجی را Low کند.
• فلش NAND:

فلش NAND نیز از ترانزیستورهایی با گیت شناور استفاده می‌ کند اما آنها به صورتی به هم متصل اند که گیت NAND را شبیه‌ سازی می‌کنند. تعداد زیادی از ترانزیستورها به صورت سری متصل اند و خط بیت تنها در صورتی Low می‌ شود که تمامی خطوط کلمه‌ ها High شده باشند. سپس این گروه‌ها به وسیله تعداد اضافی ترانزیستور به یک آرایه با استایل NOR متصل شده‌اند مشابه حالتی که ترانزیستورهای تنها در یک فلش NOR به هم ارتباط پیدا کرده‌اند.
• فلش نند عمودی (Vertical NAND):

در حافظه نند عمودی (Vertical NAND)، سلول‌های حافظه بطور عمودی روی هم قرار می‌ گیرند. با این کار بدون احتیاج به سلول‌هایی کوچکتر می‌توان تراکم سطحی بالاتری برای سلول‌ها ایجاد کرد.

ساختار:

در ساختاری که در نند عمودی استفاده شده است، بار الکتریکی روی یک فیلم سیلیکون نیترید ذخیره می‌شود. فیلم‌های سیلیکون نیترید قابلیت این را دارند که ضخیم‌ تر شوند و بار بیشتری بر روی خود جا دهند و علاوه بر آن مقاومت بالایی دارند. بارهای الکتریکی نمی‌توانند به طور عمودی در واسطه سیلیکون نیترید حرکت کنند، در نتیجه سلول های حافظه در لایه‌های عمودی متفاوت، با هم هیچ تداخلی ندارند. هر مجموعه عمودی، از نظر الکتریکی مشابه گروه‌های متصل به همی که در ساختار نند معمولی استفاده می‌شوند، می‌ باشد.
عملکرد:

از سال ۲۰۱۳ عملیات نوشتن و خواندن توسط حافظه نند عمودی، با سرعتی معادل دو برابر سرعت حافظه نند معمولی اتفاق می‌افتد. از طرفی حافظه نند عمودی با مصرف تنها ۵۰ درصد انرژی مصرفی حافظه نند معمولی تا ۱۰ برابر آن عمر می‌کند.

محدودیت‌های حافظه فلش:

پاک کردن بلوکی:

در حافظه فلش هر یک از بیت‌ها جداگانه قابل برنامه‌ نویسی یا خواندن هستند، اما اگر بخواهیم یک بیت دلخواه را پاک کنیم کّل بلوک پاک می‌ شود. یعنی وقتی حتی تنها یک بیت صفر شده است برای یک کردن آن بیت باید کل بلوک را یک کنیم. حافظه فلش (بطور خاص فلش NOR)، به ما قابلیت اجرای عملیات دوباره نویسی و پاک کردن، همراه با دسترسی تصادفی و دلخواه نمی‌ دهد.
تحلیل حافظه:

حافظه فلش تعداد محدودی حلقه نوشتن و پاک کردن را پشتیبانی می‌ کند. بیشتر فلش‌های در دسترس ما، به طور تضمینی قبل از اینکه تحلیل رفتن حافظه کیفیت آن را پایین بیاورد، حدود ۱۰۰۰۰۰ حلقه نوشتن و پاک کردن را پوشش می‌دهند. برای کمتر کردن آثار این مشکل در بعضی از سیستم‌ ها از روشی استفاده می‌شود که در آن با شمارش تعداد عملیات نوشتن و بازنگاری پویای بلوک‌ها جهت توزیع عملیات نوشتن در بین بخش‌های مختلف، باعث پایین آمدن سطح تحلیل حافظه می‌شویم. این روش یکسان کردن تحلیل نام‌گذاری شده است. در سال ۲۰۱۲، مهندسان تایوانی در IEEE، نشست دستگاه‌های الکترونی ۲۰۱۲، اعلام کردند که با استفاده از پروسه‌ ای به نام خوداصلاحی، موفق شدند تعداد چرخه‌های حافظه فلش نند را از ۱۰۰۰۰ به ۱۰۰ میلیون افزایش دهند. نتیجه این پروسه این است که یک تراشه می‌تواند بارها و بارها پاک و دوباره‌نویسی شود، بدون اینکه از کار بیفتد.
اختلال در خواندن:

اختلال در خواندن وقتی‌ ایجاد می شود که در طول عملیات خواندن یک بیت یا بیشتر تغییر کنند. اختلال در خواندن درون بلوکی که در حال خوانده شدن است، اما در صفحه یا صفحات دیگر که در حال خوانده شدن نیستند، اتفاق می‌افتد. اگر تعداد زیادی عملیات خواندن (حدود چند ۱۰۰۰۰۰ یا چند میلیون) قبل از انجام عملیات پاک کردن انجام دهیم، این اختلال ممکن است اتفاق بیفتد. بعد از وقوع این اختلال باید بلوکی را که اختلال در آن اتفاق افتاده است را پاک کنیم و دوباره داده‌ها را در آن بنویسیم.