flash Memory سودمندترین نوآوری تکنولوژی 25 سال اخیر است.این تکنولوژی به عنوان حافظهای قابل حمل برای ابزارهای کوچک مانند USB , دوربینهای دیجیتالی و موبایل مورد استفاده قرار میگیرد و میتوان ادعا کرد که در آینده نزدیک جایگزینی برای هارددیسک نوتبوک خواهد شد.
اگرچه شرکت توشیبا تکنولوژی Flash memory را اختراع کرد , اما Intel اولین شرکتی بود که نخستین Flash memory کاربردی را معرفی نمود و هم اکنون نیز به همراه سامسونگ بیشترین سهم را در بازار از آن خود دارد.
این تکنولوژی به این دلیل "Flash" نامیده شده که در فرآیند پاک کردن محتویات آن ( Data Erase ) تصویری از نور عکاسی به وجود میآید . Flash memory یک حافظه از نوع غیر فرار است.یعنی برای نگهداری اطلاعات ذخیره شده احتیاج به نیروی الکتریکی ندارد.حافظههای فلش از نظر طبقهبندی جزو خانواده حافظههای (EEPROM (Electrically Erasable Programmable Read-only Memory هستند که قابل پاک و برنامهریزی در بلوکهای بزرگ میباشد .
انواع دیگر EEPROMها بر خلاف حافظههای فلش باید قبل از ریخته شدن اطلاعات جدید در آن ، کاملا پاک شوند . BIOS مادربرد یکی از این نمونهها میباشد.
حافظههای فلش ، دادهها را در آرایهای از چندین سلول به همراه یک ترانزیستور در محلهای تقاطع سطر و ستون ذخیره میکند.این تکنولوژی، دادهها را به جای ذخیره در یک بایت داخل چندین بخش ذخیره و پاک مینماید , بنابراین محدودیتهای EEPROM را ندارد . Flash memory دادهها را در ردیفی از سلولها که شامل دو ترانزیستور است (یک floating gate و یک control gate) , و توسط یک عایق اکسید جدا میشود ذخیره میکند . هنگامیکه ولتاژ کافی به control gate میرسد الکترونهای نیرو گرفته و به سمت لایه اکسید هدایت میگردند (که به این فرآیند tunneling میگویند) و در کنار floating gate جمع میشوند. زمانی که این فرآیند صورت میپذیرد سلولها ، ارزش عددی بیت ذخیره شده خود را از صفر و یک تغییر میدهند . در شرایط معمول الکترونهای حبس شده در سمت دیگر floating gate, برای مدت زمان طولانی از آنجا خارج نخواهند شد و این خاصیت غیر فراری الکترونها ست.
SLC در مقابل MLC
حافظههای فلش در دو نوع مختلف: (SLC ( Single Level Cell و (MLC ( Multi Level Cell ) تولید میشوند.
هرکدام از این تکنولوژیها دارای معایب و محاسنی است و از نظر ساختار ، تفاوتهایی با هم دارند.
در حافظههایی که بر پایه تکنولوژی MLC طراحی میشوند، در هر سلول حافظه 2 بیت ذخیره میشود اما در چیپهای نوع SLC اطلاعات در هر سلول حافظه ، 1 بیت ذخیره میشود ، بنابراین در صورت یک اندازه بودن حجم حافظه ( مثلا فلش 1 گیگابایتی ) ، اندازه چیپ SLC بزرگتر از چیپ MLC میباشد به همین دلیل قیمت حافظههایی که از تکنولوژی MLC بهره میبرند ارزانتر است.
در حافظههای نوع MLC به دلیل اینکه در هر سلول حافظه 2 بیت ذخیره میشود ، الگوریتم خواندن و همچنین تصحیح خطا بسیار پیچیدهتر و دشوارتر است به همین علت نیز سرعت خواندن و نوشتن در این نوع حافظهها به نسبت چیپهای SLC کندتر است.
در حافظهها MLC این کار را به وسیله جمعآوری سطوح مختلف بارهای الکتریکی در کنار floating gate انجام میشود ؛ بطور مثال یک سلول دو بیتی میتواند بین 4 ولتاژ متفاوت تمایز قائل شود .
ساختار NAND و NOR
طراحان چیپ حافظه ، برای ساخت حافظه فلش از دو روش NAND و NOR استفاده میکنند.بطور کلی هیچ یک از این دو بر دیگری برتری ندارد ولی هر کدام از آنها در جایگاه خاصی کاربرد بیشتری دارند.
سلولهای NOR ،بصورت موازی با یکدیگر ارتباط دارند بنابراین هر سلول میتواند بصورت مجزا خوانده و برنامهریزی شود,درحالیکه سلولهای NAND بصورت سری مرتبطند و باید به همان صورت خوانده و برنامهریزی گردند .
دادهها در حالت NOR به همان روشی در RAM سیستم استفاده میگردد،خوانده میشود ، به همین دلیل اغلب ریزپردازندهها میتوانند با حافظههای NOR Flash کار کنند. به عبارت دیگر حافظه NOR flash میتواند برنامههای نرمافزاری را بدون ریختن دستور العمل در RAM ذخیره و اجرا نماید . این حافظه همچنین میتواند در یک بخش اجرا شود در حالیکه دادهها بطور همزمان از قسمت دیگر خوانده , ریخته و یا پاک گردند.به همین دلایل NOR Flash اغلب در تجهیزات پرتابل مانند همراه مانند گوشیهای موبایل به کار برده میشود.
شکل 1: سلولهای NOR ،بصورت موازی با یکدیگر ارتباط دارند بنابراین هر سلول میتواند بصورت مجزا خوانده شود به همین دلیل از آنها میتوان به عنوان RAM استفاده کرد.اما سلولهای NAND بصورت سری مرتبطند و باید به همان صورت خوانده و برنامهریزی گردند.از حافظههای NAND ،برای مصارف ذخیره سازی فایل استفاده میشود.
بعدها شرکت توشیبا حافظه NAND flash را طراحی کرد , اما این حافظه فاقد خاصیت "دسترسی تصادفی" ( مانند آن چیزی که در NOR و RAM است ) میباشد و این مانع استفاده از آن به عنوان جایگزینی برای سیستم ROM است.
از طرفی دیگر حافظههای NAND بسیار سریعتر عمل میکنند و به نسبت به حافظههای NOR دارای هزینه کمتر و حجم ذخیرهسازی بیشتری میباشند .
ساختار خواندن و نوشتن در حافظههای NAND شبیه ساختار هارددیسک و درایوهای نوری به ترتییب که دیتا بر خلاف رم نمیتواند بخش بخش باشد بلکه در هر لحظه اطلاعات فقط از یک بخش( Segment ) خوانده میشود.
با توجه به خصوصیات تکنولوژی حافظههای NAND ، این نوع حافظه ، در وسایل ذخیرهسازیی مانند Compact flash , رمهای SD ، MMC ، حافظههای XD-Picture ، USB Flash Drive و هارددیسکهای SSD ( حالت جامد) استفاده میشود.
سیستم فایل در حافظههای فلش
اغلب رمهای فلش قابل حمل( removable flash media ) دارای میکروکنترلر داخلی میباشند .
این خاصیت ، حافظههای SD ، Compact flash و فلش درایوها را قادر به فرمت شدن با استفاده از سیستم FAT میکند . حافظههایی که فاقد یکروکنترلر هستند بطور معمول از (FTL( Flash Translation Layer استفاده میکنند.FTL سیستم فایلی است که ساختار سیستم فایل فلش را شبیه FAT میکند .
نکته مهم و پایانی
محصولات NANDبرمبنای دو عامل، قیمت گذاری میشوند : ظرفیت و سرعت .
عامل ظرفیت بسیار آسان اندازهگیری میگردد اما دومی سخت تر از آن است که به نظر میرسد زیرا سازندهها میزان متفاوتی برای آن در نظر میگیرند .
بسیاری از حافظههای NAND میکروکنترلرهای داخلی دارند که باعث سازماندهی سلولهای معیوب میگردند. اگر عمل نوشتن با مشکل روبرو شود میکروکنترلر میتواند دادهها را در سلول دیگری ذخیره نماید.در واقع اغلب حافظههای NAND هنگامیکه از کارخانه خارج میشوند دارای بلوکهای معیوب هستند اما از آنجا که این بلوکها توسط میکروکنترلر شناخته شدهاند داده بر روی آنها ذخیره نمیشوند.
این که این حافظهها کمک شایانی به ذخیره دادهها میکنند هیچ شکی نیست اما به کسانی که اطلاعات ارزشمند را ذخیره میکنند توصیه میشود که کپی پشتیبان از آنها تهیه نمایند .