مقدمه
هارددیسکها در دهه 1950 اختراع شدند. در ابتدا آنها دیسکهای بزرگی به ضخامت 20 اینچ بودند و فقط چند مگابایتی از اطلاعات را میتوانستند ذخیره کنند. در ابتدا نام آنها “دیسکهای ثابت ” (Fixed Disks) یا وینچسترز (یک اسم رمز که قبلاً برای یک محصول محبوب IBM استفاده میشده است) بود. بعدها برای تشخیص آنها از فلاپی دیسک (دیسک نرم)، نام هارددیسک بر روی آنها گذاشته شد.
با گذشت زمان و بالا رفتن حجم اطلاعات مورد نیاز کاربران، کم کم نیاز به دیسکهایی با سرعت انتقال بیشتر و مصرف انرژی کمتر احساس شد که این مسئله در مورد دستگاههای قابل حمل، مثل نوتبوکها و نِتبوکها، بیشتر احساس میشود. بنابراین شرکتهای سازندۀ هارددیسک، به فکر ساخت دیسکهایی با سرعت انتقال بسیار بالا و مصرف انرژی کمتر افتادند و توانستند دیسکهایی را با الهام از تکنولوژی بکار گرفته شده در Flash درایوها بسازند که هم سرعت بیشتری دارد و هم انرژی کمتری مصرف میکند. این دیسکها همان SSDها هستند.
درایوهای SSD
SSD سر واژه عبارت Solid-State Drive است.
واحدهای SSD، دستگاههای ذخیرهسازی هستند که میتوانند همانند هارددیسکها، اطلاعات را ذخیره کنند. این نوع از دستگاههای ذخیره سازی، از چیپهای بکار گرفته شده در حافظههای Flash (به جای دیسکهای مغناطیسی بکار گرفته شده در هارددیسکها) برای ذخیرهسازی دادهها استفاده میکنند.
SSDها برای اولین بار در دهههای 70 و 80 میلادی به عنوان حافظههای نیمههادی برای ابرکامپیوترهای IBM یعنی Cray و Amdahl استفاده شدند.
چون دادهها به جای حالت مغناطیسی (یعنی ذخیره شدن بر روی دیسکهای فلزی بنام پلاتر) به شکل الکتریکی ذخیره میشوند (بر روی چیپهای الکترونیکی) لذا SSDها سریعتر ازهارددیسکهای معمولی عمل میکنند. این سرعت بیشتر میتواند 2 دلیل مهم داشته باشد:
1- نیازی به تبدیل اطلاعات مغناطیسی به اطلاعات الکتریکی نیست.
2- هیچ قطعۀ مکانیکی وجود ندارد، بنابراین دادهها به سهولت در دسترس هستند در حالی که در هارددیسکها، مدت زمانی جهت رسیدن هِد هارددیسک به جایی که اطلاعات ذخیره شده است (Seek Time)نیاز است. بنابراین میتوان ادعا کرد که سرعت SSDها نزدیک به سرعت حافظههای Flash است. همچنین به دلیل عدم وجود قطعه مکانیکی در SSDها، این نوع از حافظهها کاملاً بیصدا بوده و حرارت کمتری در مقایسه با HDD ها تولید میکنند.
نکته: هرگاه در ساخت یک SSD، از حافظههای SRAM یا DRAM (بجای حافظههای Flash) استفاده شده باشد، به آن RAM Drive گفته میشود.
یکی از نکات مهم درمورد SSDها این است که از آنجایی که دادهها در چیپهای حافظه ذخیره میشوند، SSD یک دیسک نیست. بنابراین اصطلاح “دیسکهای SSD “، اشتباه است و باید از اصطلاح “واحد ssdا” (SSD Unit) استفاده نمود.
بطور کلی واحدهای SSD، در 3 نوع 3.5، 2.5 و 1.8 اینچی ساخته شدهاند زیرا حداقل باید هم اندازۀ دیسکهای مورد استفاده در نوتبوکها و نِتبوکها باشند. از نظر نوع واسط (اینترفیس) نیز واحدهای SSD با هر 2 نوع واسط ATA و SATA سازگار هستند.
تفاوت راندمان SSD با HDD
در آزمایشات انجام شده مشخص شد که حافظههای SSD، قادر هستند تا حجم اطلاعاتی برابر 25 فیلم HD را در مدت زمان 21 دقیقه در خود ذخیره کنند، در حالیکه ذخیرۀ همین حجم اطلاعات در بهترین هارددیسکهای فعلی حداقل 70 دقیقه طول میکشد.
همچنین، بطور میانگین سرعت خواندن از روی حافظههای SSD، حدود 220 MB/s و سرعت چیزی حدود 200 MB/s است. نکتۀ قابل توجه اینکه نوشتن و خواندن بطور همزمان 10 درصد از این سرعت را کاهش میدهد.
از سوی دیگر تعداد عملیات ورودی/خروجی در هر ثانیه (IOPS) در SSDها چیزی بین 40 هزار تا 150 هزار است در حالیکه این میزان در HDDها بین 100 تا 300 است.
همچنین فاکتور تاخیر (Latency) در SSDها 0.015 میلی ثانیه است در حالی که این میزان برای HDD ها حدود 5.5 میلی ثانیه است. نکته قابل توجه آنکه فاکتور
Seek Time در SSDها معنایی ندارد.
نکتۀ مهم دیگر آنکه میزان بکارگیری و استفاده از فضای ذخیره سازی در HDDها کمتر از 90 درصد است در حالیکه در SSDها این میزان نزدیک به 100 درصد است.
بازار هدف
مهم ترین هدف تولید کنندگان واحدهای SSD در ابتدا بدست آوردن بازار موبایل و بطور کلی دستگاهه ای پرتابل بود و نه بازار سیستمهای دسکتاپ .
این مسئله 2 دلیل مهم داشت:
1- مصرف کمتر انرژی در واحدهای SSD، نسبت بههارددیسکها. شاید این مسئله در یک کامپیوتر Desktop زیاد محسوس نباشد ولی برای مثال در نوتبوکها فوقالعاده به چشم میآید.
2- مقاوم بودن در برابر ضربات و تکانهای احتمالی. با داشتن واحدهای SSD، دیگر لازم نیست از تکان دادن و ضربات ناگهانی واحد حافظه خود نگران باشیم. زیرا دادهها هیچ آسیبی ندیده و کاملاً سالم میمانند. در حالی که در هارددیسکها ممکن است دادههای ما آسیب دیده و از بین بروند.
بطور کلی واحدهای SSD مبتنی بر ساختار Flash، شامل اجزای زیر هستند:
1ـ Flash Memory
منظور از این بخش، همان جایی است که داده ذخیره میشود. این بخش نیز از نوع حافظههای مورد استفاده به عنوان فلش درایو، کارتهای حافظه برای دوربینهای دیجیتال و … است.
بطور کلی SSDها، به دلیل نوع تکنولوژی ساختشان و همچنین استفاده زیاد از این نوع حافظهها، گران هستند.
حافظههای Flash، میتوانند تحت 2 تکنولوژی مختلف ساخته شوند : NAND و NOR
نوع مورد استفاده در اکثر دستگاهها، NAND است. بنابراین تکنولوژی مورد استفاده در اکثر فلش درایوهای فعلی، NAND است.
دو شرکت Intel و Micron که سرمایه گذاری مشترکی را در سال 2006تحت نام
IM Flash Technologies، آغاز کرده اند، در تاریخ 1 فوریۀ امسال 2010، موفق به ساخت تکنولوژی 25 نانومتری برای حافظههای NAND شدند. بکارگیری این تکنولوژی در ساخت SSDها میتواند انقلاب بزرگی به حساب آید. از مزیتهای تکنولوژی NAND، میتوان به موارد زیر اشاره کرد :
بهینه بودن هزینۀ ساخت، افزایش قابلیت اعتماد، چگالی بیشتر برای دادهها (افزایش ظرفیت )، کاهش سایز حافظهها و …
تکنولوژی NOR، این امکان را میدهد تا بتوان از روی آن برنامهها را اجرا کرد (شبیه کاری که رم در سیستمهای دسکتاپ انجام میدهد) و اساساً در ساخت رمهای تلفنهای همراه مورد استفاده قرار میگیرد.
از سوی دیگر، حافظههای Flash از نظر نوع چگالی حافظه، در 2 گروه قرار میگیرند :
• (SLC (Single Level Cell : در چیپهای SLC، هر مدار ذخیره سازی داخلِ چیپ، تنها یک بیت از اطلاعات را ذخیره میکند.
• (MLC ( Multiple Level Cell : در چیپهای MLC، هر مدار ذخیره سازی، بیش از یک بیت از اطلاعات را ذخیره میکند.
به همین دلیل چیپهای MLC، ارزانتر از چیپهای SLC هستند. زیرا یک چیپ MLC میتواند حجم بیشتری از اطلاعات را در خود نگه دارد. بنابراین، واحدهای SSD ارزانتر، از چیپهای MLC استفاده کردهاند. در حالیکه واحدهای گرانتر، از چیپهای SLC، استفاده نمودهاند.
از آنجاییکه بیتهای دادۀ داخل چیپها به یکدیگر نزدیک هستند، چیپهای MLC، نرخ تولید خطای بیشتری دارند. نکته مهم اینکه این خطاها، برای کاربر قابل مشاهده نیستند، زیرا چیپ کنترلر، با استفاده از مکانیزم تصحیح خطا، خطاهای مذکور را تشخیص داده و بطور خودکار آنها را برطرف میکند. ولی به هر حال تشخیص و تصحیح خطا زمان میبرد (هرچند این زمان اندک باشد). بنابراین میتوانیم به این نتیجه رسید که :
” چیپهای MLC، کندتر از چیپهای SLC هستند”
عیب دیگر چیپهای MLC، این است که از عمر کوتاهتری نسبت به چیپهای SLC برخوردار هستند(در واقع، حافظههای Flash دارای تعداد دفعات محدودی برای انجام عملیات نوشتن و پاک کردن هستند).
معمولاً چیپهای SLC، قبل از آنکه غیر قابل اعتماد شوند، اجازۀ 100 هزار سیکل نوشتن و پاک کردن را به ما میدهند. در حالیکه چیپهای MLC، دارای تعدادی محدودی سیکل نوشتن و پاک کردن هستند، یعنی حدود 10 هزار سیکل. بنابراین برخی از چیپهای ارزان قیمت عمر کوتاهتری دارند).
ولی ممکن است این سوال پیش بیاید که طول عمر یک واحد SSD در نهایت چقدر است ؟
در پاسخ به این سوال باید گفت که این مسئله به تعداد دفعات سیکلهای نوشتن و پاک کردن، که توسط کاربر انجام میشود بستگی دارد. برای مثال، اگر تصورکنیم که کاربر بطور میانگین هر روز حدود 50گیگابایت عملیات نوشتن انجام میدهد، طول عمر یک واحد SSD با حجم 64GB،که دارای چیپهای MLC باشد، حدود 35 سال است. با توجه به رابطۀ زیر :
64iGB x 10,000) / 50 GB / 365 days) |
در حالی که همین وضعیت برای یک SSD حاوی چیپهای SLC، حدود 350 سال است:
4iGB x 100,000) / 50 GB / 365 days) |
بنابراین، با توجه به نکات ذکر شده، میتوانیم به این نتیجه برسیم که برای مصارف حرفهای (محیطهای Enterprise مثل سرورها) که حجم عملیات بالا است بهتر است از واحدهای SSD که حاوی چیپهای SLC هستند استفاده کنیم. در حالیکه واحدهای SSD که حاوی چیپهای MLC هستند در رده مصارف عمومی(Consumer) قرار میگیرند.
جدول 1 تفاوت نیازها در محیطهای Enterprise و Consumer را نشان میدهد:
جدول 1: تفاوت نیازها در محیطهای Enterprise و Consumer
از یک دیدگاه کلی متوسط زمان بدون عیب کار کردن
(MTBF (Mean Time Between Failures، برای SSDها بین 1.5 میلیون تا 3 میلیون ساعت است در حالیکه این فاکتور برای HDDها بین 300 هزار تا 1 میلیون ساعت است.
2ـ Buffer Memory :
یکی از نکات قابل توجه در مورد واحدهای SSD این است که این نوع از حافظهها نیز دارای مقدار اندکی حافظه DRAM، به عنوان حافظهای موقت جهت انجام عملیات Cache هستند (همانند مفهوم کش برایهارددیسکها). در واقع بخشی از دادهها در حین انجام عملیات واحد SSD، در این حافظه موقت قرار میگیرند. بنابراین از این حافظه موقت به عنوان یک بافر استفاده میشود.
معمولاً از SDRAM جهت بالا بردن سرعت ارتباطات بین کنترلر و واسط SATA استفاده میشود.
3ـ Controller :
بخش مرکزی یک SSD، واحد کنترلر است که سرعت واحد SSD را تعیین میکند.
شرکتهای اندکی قادر به تولید این نوع چیپها هستند. برخی از مهمترین آنها عبارتند از: Intel، Samsung، Jmicron، OCZ و …
بخش کنترلر، آرایۀ حافظه Flash را، به مفهومی به نام کانال (Channel)، سازماندهی میکند که هرکدام از کانالها بطور مجزا قابل دسترسی هستند. بنابراین یک کنترلر با 10 کانال احتمالاً سریع تر از یک کنترلر با 8 کانال است. در اینجا از کلمۀ ” احتمالاً “، استفاده کردیم، زیرا کارایی به فاکتورهای دیگری نیز بستگی دارد.
چیپ کنترلر،(SOC (System On a Chip نیز نامیده میشود.
بررسی مزایا و معایب SSDها در مقایسه با HDDها
مزایای واحدهای SSD :
1- سرعت Start Up بیشتر برای سیستم، به دلیل عدم وجود قطعه مکانیکی . در HDD وجود پلاترها و بازوهای حرکتی و موتور اصلی گردانندۀ پلاترها علاوه برکاهش سرعت، مشکلاتی مثل مصرف انرژی بیشتر، نویز و … را به همراه دارد. شرکت Fujitsu، نشان داد که با استفاده از واحد SSD بجای HDD، سرعت بوت در ویندوز ایکسپی در حدود 20 درصد فزایش یافته است.
2- سرعت دسترسی تصادفی بیشتر به دلیل عدم وجود هد خواندن/ نوشتن.
3- تاخیر زمانی کمتر نسبت به هارددیسکها و عدم جود فاکتور Seek Time .
4- پراکندگی کمتر برای دادهها بر روی واحدهای حافظه .
5- بیصدا کار کردن واحدهای SSD .
6- مصرف انرژی فوق العاده کمتر نسبت بههارددیسکها .
7- قابلیت اعتماد بسیار بالا ( اطمینان از عدم از بین رفتن دادهها در اثر ضربات و تکانهای احتمالی به واحد حافظه) .
8- تحمل بازۀ حرارتی بیشتر .
9- داشتن اندازۀ کوچک و باریک و وزن کمتر .
10- داشتن عمری بسیار طولانیتر نسبت به هارددیسکها .
11- استفاده از فضای ذخیره سازی نزدیک به 100 درصد (امکان بکارگیری قدرت بیشتر جهت فشرده سازی دادهها، در مقایسه باهارددیسکها).
معایب واحدهای SSD :
1- گرانتر بودن واحدهای SSD نسبت به HDDها. به ازای هر گیگابایت
2- کمتر بودن حجم واحدهای SSD فعلی، نسبت به هارددیسکهای موجود در بازار .
3- کارایی مربوط به عملیات نوشتن، به میزان قابل توجهی به بلاکهای آزاد و قابل برنامه ریزی بستگی دارد.
4- واحدهای SSD مبتنی بر واسط SATA، دارای سرعت نوشتن کمتری هستند. بنابراین بهتر است از واحدهای SSD مبتنی بر واسطهای PCIe مدرن و پرسرعت امروزی، استفاده کرد.
5- امکان انجام عملیات یکپارچه سازی (Defragmentation)، بر روی واحدهای SSD مبتنی بر Flash وجود ندارد. بدان معنا که سیستم عامل قادر به کنترل مکان فیزیکی و واقعی سکتورهای درایو نیست. برخی از SSDها، هنگامیکه در حالت بیکاری
(Idle) به سر میبرند، بطور خودکار، فضای خالی خود را فشرده سازی میکنند. ولی این مسئله، تنها سرعت عملیات نوشتن را بهبود میبخشد و تاثیری در سرعت خواندن دادههای پراکنده شده (Fragmented) ندارد.
سخن پایانی
در نهایت، به دلیل وجود مزایای زیاد استفاده از SSDها، در سال 2008 برای اولین بار SSDها بر روی نتبوکها قرار گرفتند، و در سال 2009 برای اولین بار بر روی نوتبوکها مورد استفاده قرار گرفتند. کمپانیهای فوجیتسو، دل و اپل از پیشگامان بکارگیری این نوع حافظهها در نوتبوکها بودند. بنابراین با ورود SSDها و فراگیر شدن و به تبع آن، کاهش قیمت، امروزه شاهد از میان رفتن تدریجی HDDها و جایگزینی SSDها باشیم.