SSD ، پایان عمر هارددیسک؟!

Sarp

مدیر بازنشسته

نگاهی به فناوری های موجود در SSD
افزایش حجم ذخیره سازی و کاهش قیمت هارد دیسک ها موجب محبوبیت این وسایل در چند سال گذشته شده است، در صورتی که کارایی پایین، آسیب پذیری در مقابل صدمات فیزیکی، مصرف توان بالا و ابعاد بزرگ از عواملی هستند که موجب شده تا متخصصین راهکار جدیدی برای این نقایص ارائه کنند. درایوهای SSD محصولات جدیدی هستند که عده ای عقیده دارند توسط آن ها می توانند تحول عظیمی در بخش ذخیره سازی اطلاعات کامپیوتر فراهم کنند، از آنجا که SSDها توسط شرکت های سازنده چیپ ستهای حافظه عرضه شده اند، رقابت سختی را با هارددیسک ها و شرکت های تولید کننده آن ها در پیش دارند. تصور می کنید کدام یک از قطعات کامپیوتر در طی چند سال گذشته شامل کمترین پیشرفت و تحول شده است؟
اگر پاسخ شما فلاپی درایو است، باید گفت که فلاپی درایو در مسیر منقرض شدن قدم بر میدارد و شاید در سال های آینده دیگر نامی از این وسیله نباشد، اما وسیله ای که سیستم های امروزی و قطعاً کامپیوترهای آینده به آن نیازمند هستند و طی چند سال گذشته شامل هیچ گونه تحول بنیادینی نشده، هارد دیسک است. افزایش حجم ذخیره سازی تنها فاکتوری بوده که در طی این چند سال شاهد ان بوده ایم، به طوری که اکنون هارددیسک هایی با ظرفیت 5/1 ترابایت تولید می شوند. از طرفی تنها تحول در جهت پیشرفت کارایی این قطعه، حرکت از LDE به SATA بوده که به طور قطع می توان گفت این پیشرفت نیز موجب تحول چشمگیری در این قطعه کامپیوتری نشده است( هارد دیسک های مبتنی بر LDE از نظر کارایی با نوع SATA تفاوت چشمگیری ندارند).
امروزه هارد دیسک ها تبدیل به یک گلوگاه برای کامپیوتر ها شده اند، زیرا با افزایش کارایی پردازنده ها، حافظه ها و... هنوز شاهد کارایی پایین این وسیله هستیم. اما دنیای ذخیره سازی روزهای حساسی را پیش روی خود دارد، زیرا وسیله ذخیره سازی جدیدی به نام SSD (Solid state Disk) به بازار عرضه شده که نگاه های بسیاری را به خود معطوف کرده است. به طوری که در اذهان علاقمندان به دنیای کامپیوتر این سوال را تداعی کرده که آیا پایان عمر هارددیسک ها فرا رسیده است؟
ما در این مقاله قصد داریم به بررسی عملکرد SSD ها بپردازیم و آن ها را از نظر کارایی با هارددیسک های رایج مقایسه کرده و سپس بهترین SSD رایج در بازار را نیز به شما معرفی کنیم.


معرفی
برای آشنایی با درایوهای SSDابتدا لازم است بدانید که این درایوها در دو نوع SLC (Singel Level Cell) و MLC (Multi Level Cell) تولید می شوند که از نظر ساختار با یکدیگر تفاوت اندکی دارند.
در ادامه مقاله به بررسی تفاوت کلی آنها خواهیم پرداخت، اما اکنون تنها این نکته را در ذهن خود داشته باشید که SSDها دارای دو نوع مختلف به نام های SLC و MLC هستند درایوهای SSD از حافظه های فلش NAND با ماسفت های N-Channel ساخته می شوند (حافظه هایی که ابتدا در Flash Memory ها به کار گرفته شد و امروزه نیز از آن ها در کارت های حافظه و فلش مموری های USB نیز استفاده می شود). این حاغظه ها در حقیقت نوع مشخصی از EEPROM یا همان حافظه های فقط خواندنی قابل برنامه ریزی و پاک شدن هستند. شکل زیر یک ماسفت N-Channel که کوچکترین جزء سخت افزاری یک SSD است را نشان می دهد.
هر سلول حافظه شامل یکی از این ترانزیستورها است. نحوه ذخیره سازی اطلاعات در این ترانزیستورها به این صورت است که با اعمال ولتاژ کافی به پایه گیت، میدان الکتریکی قدرتمندی ایجاد شده و الکترون ها از لایه اکسید عبور کرده و به Floating Gate وارد می شوند. در این حالت داده درون یک سلول نوشته می شود، با حذف ولتاژ الکترون ها در Floating Gate باقی خواهند ماند. اعمال ولتاژ به کانال (channel) به جای گیت، بایوس را معکوس خواهد کرد و الکترون ها در جهت مخالف حرکت می کنند. به طور کلی، این روش نحوه عملکرد حافظه فلش است که دو وضعیت (0و1) را فراهم می کند و بر خلاف حافظه های DRAM که با قطع ولتاژ، داده های درون آن ها پاک می شود، یک سلول حافظه فلش NAND حتی اگر فاقد توان نیز باشد، می تواند داده ها را در خود ذخیره کند.

MLC و SLC
در SSD های امروزی از دو نوع فلش NAND استفاده می شود: SLC و MLC تفاوت بین این دو، در میزان اطلاعات ذخیره شده در هر سلول است.
در نوع SLC در هر سلول یک بیت داده ذخیره می شود. در حالی که در حافظه MLC دو بیت در هر سلول قابل ذخیره شدن است.
نکته قابل توجه این که SLC و MLC از نظر ابعاد، فضای یکسانی را اشغال می کنند یا به عبارتی از نظر اندازه یکسان هستند. با این تفاوت که MLC می تواند از فضای قابل استفاده به طور موثر تری بهره برده و دو برابر SLCاطلاعات را در خود ذخیره کند. از آنجا که SLC ها تنها دارای دو وضعیت (0 و 10) هستند، به دو ولتاژ نیاز دارند، در حالی که MLC ها دارای چهار وضعیت (00،1، 10، 11) هستند و این موضوع موجب شده تا سرعت خواندن/ نوشتن و همچنین زمان دسترسی بین این دو محصول متفاوت باشد
جدول شماره یک تفاوت کارایی بین SLC و MLC را نمایش می دهد.
مدت زمان صرف شده جهت پاک کردن اطلاعات بین SLC و MLC یکسان است. در حالی که زمان خواندن اطلاعات از MLC نسبت به SLC دو برابر و زمان نوشتن آن چهار برابر است. البته مقادیر نشان داده شده در جدول شماره یک با حقیقت تفاوت دارد و آنها را تنها برای روشن کردن موضوع نشان داده ایم. زمان نوشتن نهصد میکروثانیه برای یک MLC خیلی سریع تر از زمان نوشتن یک هارددیسک مکانیکی است.
بزرگترین مزیت یک SLC کارایی بالاتر آن نیست، بلکه طول عمر بیشتر آن است. برای مشخص کردن طول عمر حافظه فلش ابتدا لازم است به بررسی چگونگی سازماندهی آن ها در یک درایو ذخیره سازی بپردازیم.

سلسله مراتب فلش و آسیب دیدن داده ها
در بخش قبل اشاره کردیم به یک سلول فلش می تواند یک یا دو بیت داده را با توجه به اینکه SLC باشد یا MLC، در خود ذخیره کند. با در کنار هم قرار دادن تعدادی از این سلولها، یک صفحه (Page) تشکیل می شود. یک «صفحه» کوچکترین بخش یک فلش NAND است که می توان اطلاعات را درون آن نوشت. اندازه هر صفحه در MLC ها برابر با چهار کیلوبایت است. با قرار دادن تعدادی از این صفحات در کنار یکدیگر بلوک (Block) ایجاد می شود. به طور کلی، بلوک های SSD امروزی دارای 128 صفحه هستند. بنابراین حجم هر بلوک برابر با 512 کیلوبایت است. (128 صفحه × 4 کیلوبایت (حجم هر صفحه) = 512 کیلوبایت ). یک بلوک کوچکترین ساختاری است که می توان داده ها را از آن پاک کرد. بنابراین در زمان نوشتن، داده ها به صورت چهار کیلوبایتی روی SSD ها نوشته می شوند، در حالی که در زمان پاک کردن، داده ها به صورت 512 کیلوبایتی از SSD پاک می شوند. اکنون دلیل اختلاف کارایی بین زمان نوشتن و پاک کردن داده ها را متوجه شده اید در ادامه در مورد نحوه پاک کردن داده ها از SSD توضیحات بیشتری را ارائه خواهیم کرد.
بلوک ها درون Planeها گروه بندی می شوند و هسته فلش NAND شامل چندین Planeاست. هر چیپ ست NAND می تواند شامل یک، دو یا چهار هسته باشد و در نهایت از ترکیب این چیت ست ها، SSD به وجود می آید اما اکنون اجازه دهید به این موضوع بپردازیم که هنگام پاک کردن داده ها از SSD چه اتفاقی می افتد.
برای نوشتن داده ها روی حافظه فلش ابتدا میدان الکتریکی ایجاد می شود و پس از عبور الکترون ها از سد لایه اکسید، داده ها درون ترانزیستور ذخیره می شوند. برای پاک کردن داده ها نیز دقیقاً همین اتفاقات رخ می دهد، اما در جهت معکوس. مشکلی که اینجا وجود دارد این است که بعد از چندین مرتبه نوشتن و پاک کردن داده از یک سلول لایه اکسید خاصیت خود را به تدریج از دست می دهد و دیگر نمی تواند از ورود الکترون ها به لایه گیت جلوگیری کند. به عبارت ساده تر، دیگر قادر به نوشتن داده جدیدی در سلول نخواهید بود. در فلش های MLC تقریباً بعد از ده هزار نوشتن و پاک کردن هر سلول، لایه اکسید خاصیت خود را از دست می دهد. در فلش های SLC این زمان بعد از حدود صد هزار مرتبه فرا می رسد. از آنجا که طول عمر SSDها محدود است، فرایند نوشتن و پاک کردن هر سلول باید به دقت کنترل شود. توجه کنید که تعداد دفعات خواندن سلول ها به هیچ عنوان روی طول عمر آن ها تأثیر نمی گذارد و تنها عملیات نوشتن و پاک کردن است که موجوب کاهش طول عمر می شود.
البته این نکته را در نظر داشته باشید، هنگامی که در محیط سیستم عامل، داده ای را از روی SSD پاک می کنید در حقیقت داده از روی SSD پاک نمی شود و تنها بلوک های مربوط به آن در فهرست بلوک های قابل نوشتن قرار می گیرند. داده ها زمانی از بلوک پاک می شوند که قصد نوشتن مجدد در آن بلوک را داشته باشید. همه SSDها از روش یکسانی برای پاک کردن داده ها استفاده نمی کنند. این که چه طور و چه زمانی داده های درون یک بلوک پاک می شود توسط ضریبنوشتن SSD مشخص می شود. به عنوان مثال، اگر قصد داشته باشید یک فایل شانزده کیلوبایتی را درون SSD بنویسید، کنترلر کل یک بلوک درون SSD را می خواند، چهار صفحه آن را تغییر می دهد، بلوک را از SSD پاک می کند و سپس بلوک جدید را با چهار صفحه تغییر یافته می نویسد. با توجه به اندازه بلوک ها و صفحات در SSDهای شرکت اینتل، به این معنی است که برای نوشتن به عنوان مثال یک فایل شانزده کیلو بایتی، عملاً باید 512 کیلوبایت روی SSD نوشته شود- یک ضریب نوشتن 32×. با توجه به اینکه اندازه بلوک ها در سازندگان مختلف متفاوت است، این ضریب نیز در محصولات آن ها تغییر می کند.
حال تصور کنید یک فایل هشت کیلوبایتی درون SSD، کپی (نوشته) شده است. این فایل درون دو صفحه قرار می گیرد. هنگامی که قصد دارید این فایل ها پاک کنید، SSD این دو صفحه را به عنوان غیر فعال مشخص می کند، اما عملاً محتویات درون آن ها را پاک نمی کند. در حقیقت SSDمنتظر خواهد ماند تا درصدی از صفحات درون یک بلوک به عنوان غیر فعال مشخص شود ( به عنوان مثال هشتاد صفحه). سپس داده های درون بلوک پاک خواهند شد و داده های جدید روی صفحات آن نوشته می شوند. SSD توسط این عمل تعداد دفعاتی که بلوک پاک می شود را محدود کرده و به این صورت طول عمر SSD افزایش پیدا می کند.
در ابتدای مقاله گفتیم که SSDها دارای سرعت نوشتن پایین هستند، اما اکنون اجازه دهید یکبار دیگر مراحل نوشتن داده ها درون یک SSD را با یکدیگر بررسی کنیم. برای نوشتن داده -ها در SSDها ابتدا باید بلوک خوانده شود، سپس بلوک مورد نظر پاک شده و بعد از آن بلوک جدید همراه با داده های جدیدنوشته شود. اگر هر یک از این مراحل به زمان نیاز داشته باشند، مدت زمانی طول خواهد کشید تا داده ها روی SSD نوشته شوند.بنابراین اکنون دلیل سرعت پایین نوشتن در SSDها برایتان مشخص شده است.
متأسفانه ما هیچ گونه اطلاعاتی را از کنترلر دیگر سازندگان SSDها نداریم، اما اینتل اظهار می کند که کلیه SSDهای این شرکت دارای ضریب نوشتن بین بیست الی چهل هستند که موجب افزایش طول عمر درایوها می شود.
همان طور که گفتیم بلوک های واقع شده روی فلش ها را به تعداد دفعات محدودی می توان نوشت و بعد از آن، بلوک توانایی ذخیره سازی داده ها را از دست می دهد. SSDها تا حدی هوشمند هستند و از الگوریتم محافظت از فرسودگی استفاده می کنند این درایوها تا هنگامی که تمامی بلوک های آن ها نوشته نشود، هیچ داده ای را پاک نخواهد کرد. به عنوان مثال، فرض کنید کاربری یک فایل دو مگابایتی را از اینترنت روی درایو SSD که تا به حال از ان استفاده نشده، دانلود می کند. در این هنگام داده ها فرضاً در بلوک های 10،11،12و 13 قرار می گیرند اما بعد از مشاهده فایل دانلود شده، کاربر متوجه میشود که فایل مذکور اشتباهاً دانلود شده و آن را از SSDپاک می کند و یک فایل دو مگابایتی دیگر را دوباره دانلود می کند. اکنون کنترلر این فایل را ادامه بلوک های قبلی می نویسد. یعنی بلوک های 14،15،16و 17. در واقع بلوکهای ابتدایی (10،11،12و 13) تا هنگامی که تمامی بلوک ها یک بار نوشته نشوند، بار دیگر استفاده نخواهد شد. بنابراین در حالی که MLCها یک طول عمر ده هزار سیکل دارند، به واسطه الگوریتم های محافظت از فرسودگی سال های زیادی عمر خواهند کرد.
از آن جا که حد اکثر زمان ضمانت برای هارددیسک ها پنج سال است، اینتل ادعا می کند که اگر به طور روزانه بیست گیگابایت داده روی SSDهای این شرکت نوشته شود، آن ها حداقل پنج سال عمر خواهند. همچنین اینتل وعده داده که در آینده نزدیم این میزان را به پنج برابر برساند یا به عبارتی می توان روزانه صد گیگابایت داده را روی یک MLC SSD بنویسید و مطمئن باشید که در طی پنج سال هیچ گونه صدمه ای نخواهد دید. درایوهای اینتل و دیگر سازندگان، حداکثر سه سال ضمانت خواهند داشت. اما بعید به نظر می رسد کاربری به طور روزانه صد گیگابایت داده را روی SSDخود بنویسد.


هنگامی که یک SSD صدمه می بیند، چه اتفاقی می افتد؟
هنگامی که یک هارددیسک صدمه می بیند، همه می دانند که چه اتفاقی می افتد. شما یک روز کامپیوترتان را روشن می کنید و میبینید که سیستم عامل بوت نمی شود و در برخی مواقع نیز حتی هارددیسک توسط کامپیوتر شناسایی نمی شود، اما طول عمر درایوهای SSD قابل پیش بینی تر است و بر خلاف هارددیسک به سادگی می توان تشخیص داد که طول عمر این دراوها رو به اتمام استف بنابراین هنگامی که طول عمر یک درایو SSD به پایان می رسد، چه اتفاقی می افتد؟ یک SSD خوب دارای الگوریتم محافظت از فرسودگی خوب است و این امکان را فراهم می کند که همه بلوک ها درون درایو به طور یکسان استفاده شوند. بنابراین آنها تقریباً در یک زمان یکسان صدمه می بینند. درایوهای SSD طوری طراحی شده اند که در صورتی که یک سلول آن ها صدمه ببیند، دیگر قابل پاک شدن نخواهد بود بنابراین هیچگاه کاربر اطلاعات درون SSD خود را از دست نمی دهد و تنها اتفاقی که می افتد این است که دیگر قادر به نوشتن اطلاعات درون آن نیست و پیغامی توسط سیستم عامل مبنی بر این که عمیلیات نوشتن به طور کامل انجام نگرفته، ظاهر می شود.
 

Similar threads

بالا