این مطلب یکی از مجموعه مقالات پرونده ویژه «به دوران پساهارددیسک خوش آمدید» است. برای دریافت کل پرونده ویژه میتوانید به این لینک مراجعه کنید.
تحولی شگرف با درایوهای حالت جامد
SSDها که به دلیل فقدان هرگونه قطعه مکانیکی و استفاده از تراشههای سیلیکونی به درایو جامد نیز معروفند، نسل جدیدی از ذخیرهسازها هستند که در کامپیوترهای شخصی استفاده میشوند. دیسکهای جامد در مقایسه با هارددیسکهای مکانیکی سرعت خواندن، نوشتن و عمر مفید بیشتری دارند. اگرچه این ابزار ذخیرهساز در سالهای آغازین حیات خود بسیار گران بودند؛ با گذشت زمان و ورود تکنولوژیهای جدید ساخت تراشهها، قیمتشان نیز سیر نزولی مقبولی را طی کرد. امروزه کاربران میتوانند دیسکهای جامد را با هزینه مناسبی تهیه کرده و جایگزین هارددیسک کامپیوتر کنند.
ساختار SSDها بر پایه حافظههای سیلیکونی بنا شده و به همین دلیل سرعت خواندن و نوشتن اطلاعات روی سلولهای آن بسیار زیاد است. هر درایو جامد از سه بخش اصلی کنترلر، تراشههای ذخیرهساز و حافظه کش تشکیل شده است. کنترلر یا پردازشگر، بر چگونگی عملیات خواندن، نوشتن، حذف و بازنویسی اطلاعات، مدیریت دقیقی را اعمال میکند. پس از پردازش، تمامی اطلاعات آدرسدهی شده و به صورت مرتب روی سلولهای تراشههای NAND ذخیره میشوند. حافظه کش در این میان نقش کلیدی دارد؛ چراکه با ذخیره موقت اطلاعات، سرعت دسترسی و پردازش دستورالعملهای مورد نیاز کنترلر را افزایش میدهد و باعث افزایش بازدهی نهایی SSD میشود. حتی در برخی از مدلها، سلولهای تکلایه SLC نیز در حکم حافظه کش ایفای نقش میکنند و در کنار کش اصلی، سرعت دسترسی به دادهها بهویژه اطلاعات مورد نیاز پردازنده کامپیوتر را بهبود میبخشند. دیسکهای جامد با ساختار حافظههای NAND یکی از بهترین پیشرفتهای صنعت آیتی در جهان است که در سالهای اخیر، میلیونها کاربر را از خدمات و مزایای خود منتفع کرده است.
این ابزار ذخیرهسازی مدرن با وجود برخی از مشکلات، بهترین راهکار پرسرعت را برای کاربران کامپیوترهای دسکتاپ و قابل حمل به ارمغان آورده است. جدای از کارایی، هنوز هم قیمت زیاد، بزرگترین چالش در برابر روی آوردن گروهی کاربران به سمت SSDها است. حتی فناوری تولید تراشههای ذخیرهساز سهبعدی نیز نتوانسته است قیمت مصرفکننده این ابزار را کاهش دهد. با این اوصاف، استفاده ترکیبی از درایو جامد و هارددیسک مکانیکی، گزینه مناسبی است که سرعت و ظرفیت بالای آرشیو اطلاعات را توأمان در اختیار کاربران قرار میدهد. علاوه بر این، کاهش لیتوگرافی ساخت تراشههای ذخیرهساز NAND نیز به چالش جدیدی تبدیل شده است. تحقیقات نشان میدهد که تراشههایی که با نودهای 40 نانومتر تولید شدهاند، سرعت بیشتری دارند؛ این در حالی است که فلشهای NAND ساختهشده با لیتوگرافی 20 نانومتر، سرعت و بازدهی کمتری دارند. این آمار مبین این حقیقت است که کاهش لیتوگرافی و بهتبع آن افزایش تعداد ترانزیستورها، نتوانسته است بازدهی نهایی SSDها را بهبود بخشد و به نظر میرسد که برگ برنده کاهش لیتوگرافی در تولید تراشههای NAND کارایی خود را از دست داده است.
مشکلات دیسکهای جامد
هیچ کس منکر این نیست که «درایوهای جامد بهترین جایگزین برای هارددیسکهای مکانیکی هستند.» اما بدون تردید این نوع قضاوت با ملاحظاتی نیز همراه است. اگر شما بهتازگی یکی از SSDهای پرسرعت را برای استفاده در کامپیوترتان خریدهاید، متوجه سرعت زیاد خواندن و نوشتن اطلاعات شدهاید و از هزینهای که کردهاید، خوشحالید. اما بهتر است بدانید به مرور زمان و با افزایش حجم اطلاعات ذخیرهشده در درایو جامد، سرعت خواندن و بهخصوص نوشتن اطلاعات SSD کاهش مییابد. همانطور که اشاره شد، در دیسکهای جامد سرعت خواندن و نوشتن در مقایسه با هارددیسکها بسیار بیشتر است؛ اما یکی از معضلات درایوهای جامد سرعت کم بازنویسی بر روی سلولهای حافظه حاوی اطلاعات است. قبل از انجام بازنویسی، نیاز است تا فضای مورد نیاز برای این عملیات ایجاد شود. شاید در تئوری بتوان دادههای سطح یک صفحه را حذف کرد؛ ولی ممکن است این عمل تأثیر مخربی روی دادههای سلولهای کناری ایجاد کند. در SSDها، صفحات به صورت یکجا خوانده و نوشته میشوند؛ این در حالی است که برای ایجاد فضای لازم برای نوشتن، ناچارند به جای یک صفحه، بلاکی را که صفحه مدنظر در آن قرار دارد، حذف کنند. پس بهترین راه ممکن، حذف اطلاعات یک بلاک تراشه NAND به صورت یکجا است. کنترلر دیسکهای جامد برای بازنویسی اطلاعات جدید در صفحههایی که حاوی اطلاعات قدیمی است، تنها یک راه در پیش رو دارد؛ ابتدا باید دادههای جدید به حافظه منتقل شود تا بلاک مدنظر را کاملاً پاک کند، سپس اطلاعات جدید روی بلاک قدیمی پاکسازی شده نوشته و صفحات را بهروزرسانی کند. این درست است که عملیات یادشده در کسری از ثانیه انجام میشود؛ اما به مرور زمان که فضای خالی از اطلاعات پر میشود، چرخه بازنویسی نیز زمان بیشتری را طلب میکند و سرعت درایو جامد را کاهش میدهد. زبالهروبی (Garbage Collection) ویژگی جدیدی است که برای کمک به چرخه بازنویسی دادهها در SSDها به کار گرفته شده و در پسزمینه سیستمعامل فعال است تا بلاکهای خالی را شناسایی و در مواقع نیاز از آنها استفاده کند. این قابلیت در مواقع بیکاری سیستمعامل با یافتن بلاکهای خالی و پر کردن آنها از صفحات متفرقه، یک بلاک را به کلی خالی و علامتگذاری میکند تا برای نوشتن اطلاعات آماده باشد. قابلیت Trim نیز یکی دیگر از راهکارهای جلوگیری از کاهش سرعت در SSDها است. با این دستور سیستمعامل سیگنالهایی را به درایو جامد ارسال کرده و بلاک علامتگذاریشدهای را که اطلاعات خاصی در آن وجود دارد، از بازنویسی معاف میکند. این مهم حجم عملیات بازنویسی و جابهجایی را کاهش داده و علاوه بر کم کردن مصرف انرژی، عمر درایو جامد را نیز افزایش میدهد. نکته قابل تأمل اینکه عمر مفید دیسکهای جامد با ساختار تراشههای NAND، با تعداد چرخه نوشتن اطلاعات ارتباط مستقیم دارد و هرچه دفعات نوشتن اطلاعات بر روی SSD بیشتر شود، عمر مفید آن نیز کاهش مییابد.
کنترلر، بخش حیاتی درایو جامد است
کنترلر در بیشتر دستگاههای الکترونیکی و دیجیتالی وجود دارد و بر چگونگی کارکرد بخشهای دیگر دستگاه نظارت میکند. در برخی از مدلهای هارددیسک مکانیکی نیز گاهی از دو کنترلر اصلی و فرعی استفاده میشود و این به دلیل وجود موتور چرخنده، هد و سایر المانهای الکترونیکی هارددیسک است. دیسکهای جامد نیز از یک کنترلر هوشمند و پیشرفته برای مدیریت دقیق رفتوبرگشت دادهها بهره میگیرند که البته ساختاری پیچیدهتر دارد. بیش از 60 درصد سرعت درایو SSD به کیفیت و الگوریتمهای استفاده شده در کنترلر آن وابسته است و 40 درصد باقیمانده نیز به کیفیت تراشههای ذخیرهساز NAND مربوط میشود. به کارگیری حجمی از حافظه DDR3 بهعنوان حافظه نهان در SSDها مرسوم است و مدیریت آن نیز بر عهده کنترلر است. متأسفانه اطلاعات بیشتری از ساختار و نحوه عملکرد کنترلرها در دست نیست؛ زیرا سازندگان برای حفظ سهم بازار فروش تمایلی به افشای اطلاعات این پردازشگرهای پیشرفته ندارند. این در حالی است که روند ساخت فلشهای NAND با نانومترهای کوچکتر نیز به چالش بزرگی تبدیل شده است و اکنون حافظههای یادشده که با فناوری ۲۰ نانومتری به تولید رسیدهاند، در مقایسه با نمونههایی که با فناوری ۴۰ نانومتری تولید شدهاند، سرعت و قدرت کمتری دارند؛ اما ظرفیت در نمونههای ۲۰ نانومتری افزایش یافته است. به این ترتیب میتوان امیدوار بود که دیسکهای جامدی با ظرفیت بیش از یک ترابایت و قیمت مناسب در اختیار کاربران خانگی قرار گیرد. درایوهای جامد به گونهای طراحی شدهاند که بیت به بیت اطلاعات ذخیرهشده در سلولهای NAND، توسط کنترلر بررسی و بازبینی میشود. برای اینکه دادهای بر روی سلولهای NAND ذخیره شود، نیاز است تا تمامی بیتهای بلاک مدنظر از وضعیت یک به وضعیت صفر تغییر یابد و در عمل امکان نوشتن اطلاعات جدید بر روی دادههای قدیمی وجود ندارد. این محدودیتی است که وظیفه کنترلر را سنگینتر میکند؛ زیرا کنترلر ناچار است سلولهای آزاد و بدون داده را پیدا کند و در اختیار دادههای جدید قرار دهد.
کنترلرهای عرضهشده توسط سازندگان معتبر از چند الگوریتم و تکنیک برای افزایش بازدهی و عمر مفید درایوهای حالت جامد بهره میگیرند:
• Wear Leveling: به ماژولهای سیلیکونی اجازه میدهد تا اطلاعات جدید را در کمترین بخش (صفحات) تراشه بنویسند.
• Over Provisioning: با اختصاص دائمی بخشی از ظرفیت آزاد موجود دیسک جامد (بلوکهایی با ارزش صفر) برای کاهش عملیات جستوجوی فضای خالی، طول عمر و بازدهی نهایی SSD افزایش مییابد.
• External Data Buffering: با افزودن چیپ حافظه DDR3، تعداد دفعات مراجعه کنترلر به سلولهای NAND کاهش مییابد. بافرهای داده ممکن است به صورت آنبرد در داخل کنترلر (پردازشگر درایو جامد) نیز به کار گرفته شوند.
• ECC: این قابلیت به درایو جامد اجازه میدهد تا خطای ایجادشده را تصحیح یا رفع کند. این ویژگی سالها است که در حافظههای RAM حرفهای نیز به کار گرفته میشود.
• DSP: این الگوریتم با پیشبینی امکان وقوع خطا، به مکانیزم تصحیح خطای داخلی درایو جامد (ECC) کمک میکند. نشت بیتها به سلولهای مجاور یکی از خطاهایی است که ممکن است در درایوهای جامد و در هنگام بازنویسی اطلاعات جدید رخ دهد.
• Write Amplification: تقویت نوشتن داده با کاهش تعداد دفعات جستوجو برای یافتن بلوکهای خالی، چرخه نوشتن و پاک کردن تراشههای NAND را افزایش میدهد.
• Internal NAND Management: مدیریت داخلی و گسترده تراشههای ذخیرهساز NAND توسط کنترلر برای جلوگیری از تکرار چرخه یافتن بلوکهای قابل نوشتن.
در حال حاضر چند شرکت بزرگ به تولید انحصاری کنترلر برای درایوهای حالت جامد مشغولند. سامسونگ، سندفورس، سیلیکونموشن، ایندیلینکز، اینتل، لینکمدیا و فیسون از سازندگان خوشنام کنترلر برای SSDها هستند. به جز دو شرکت سامسونگ و اینتل که از کنترلرهای بومی برای SSDهای تولیدشده خود استفاده میکنند، کنترلرهای دیگر سازندگان در محصولاتی با برندهای OCZ، کروشال، کینگستون، کورسیر، سندیسک، سیلیکون پاور، پلکستور، جل و ترنسند استفاده میشوند.
ساختار و محدودیتهای حافظههای NAND
شرکت «توشیبا» در سال 1989 معماری این حافظهها را معرفی کرد و 11 سال بعد بهعنوان انتخابی در ذخیرهسازی صنعتی اطلاعات، از آن استفاده شد. این تراشههای سیلیکونی غیرفرار برای نگهداری اطلاعات نیازی به منبع برق مداوم ندارند و به همین دلیل گزینه مناسبی برای ذخیرهسازی اطلاعات بر روی حافظههای FDD و SSD هستند. تراشههای NAND در مقایسه با نوع قدیمیتر NOR، اندازه کوچکتر، ذخیرهسازی بیتهای بیشتر و به ازای هر بیت داده قیمت پایینتر دارند.
سیلکونهای NAND این امکان را فراهم کردهاند تا گیگابایتها اطلاعات بر روی تراشه کوچکی، ذخیره و نگهداری شود. این نوع حافظهها با ساختار ترانزیستورها در یک سلول با گیت شناور (Float Gate) طراحی شدهاند. در این نوع ذخیرهسازها، سلولها کوچکترین واحد برای عملیات خواندن و نوشتن هستند که تجمع تعدادی از آنها صفحه (Page) را ایجاد میکند. مجموعهای از صفحات، بلاکها را تشکیل داده و تعدادی از بلاکها نیز روی ویفر سیلیکونی جای میگیرد و شکل نهایی تراشه حافظه را شکل میدهند. یک بلاک میتواند حجم اطلاعاتی بین ۲۵۶ کیلوبایت تا چهار مگابایت را ذخیره کند. تراشه کنترلر مدیریت که به پردازشگر نیز معروف است، تمام چرخه خواندن، نوشتن و تأمین توان برای سلولهای سیلیکون NAND را انجام میدهد. اگر دادهها در یک ردیف و مرتب ذخیره شده باشند، اندازه بلوکهای ایجادشده بزرگتر و سرعت دسترسی به اطلاعات افزایش مییابد.
تراشههای ذخیرهساز NAND به سه روش زیر تولید میشوند:
1. سیلیکونهای SLC، سرنام Single Level Cell، بهترین و کارآمدترین معماری و کلاس تراشههای NAND هستند. این ذخیرهسازها هر بیت اطلاعات را در سلولی ذخیره کرده و قادرند تا 100 هزار سیکل پاک کردن یا نوشتن را در هر سلول حافظه تحمل کنند. از این روی بیشترین استقامت را از خود نشان میدهند. همچنین کمترین تراکم را با نرخ ذخیرهسازی یک بیت در هر سلول با دو حالت صفر و یک داشته و در قیاس با فناوریهای دیگر عمر بیشتری دارند. مصرف انرژی کمتر، سرعت نوشتن بیشتر و قیمت بالاتر، از ویژگیهای حافظههای SLC به شمار میروند. SSDهای مجهز به این نوع حافظهها برای خواندن و نوشتن اطلاعات به 25 و 250 میکروثانیه زمان نیاز دارند که کمترین زمان تأخیر در میان حافظههای NAND را به خود اختصاص دادهاند.
2. نوع دوم تراشههای eMLC، سرنام Enterprise MLC، نسخه پرسرعتتر خانواده MLC است و برای استفاده در شرکتهای بزرگ و تجاری طراحی شدهاند. این نمونه از چرخه پاک کردن یا نوشتن اطلاعات تا 30 هزار سیکل در هر سلول برخوردارند و به لحاظ قیمت و بازدهی، حد فاصل دو مدل SLC و MLC هستند. از همین روی، در SSDهایی به کار گرفته میشوند که قادر به هزینه برای دیسکهای SLC در تعداد بالا نیستند و ترجیح میدهند با هزینه کمتر، از دیسکهای جامد با ساختار تراشههای eMLC استفاده کنند.
3. نوع سوم حافظههای ذخیرهساز MLC، سرنام Multi-Level Cell، است که بازدهی متوسطی را ارائه میکنند. هزینه تولید این نوع ذخیرهساز سه برابر کمتر از نوع SLC است و به همین دلیل در دیسکهای جامد گروه مصرفکنندگان به کار گرفته میشوند. با وجود امکان ذخیرهسازی دو بیت داده در هر سلول MLC، از چرخه پاک کردن یا نوشتن برابر با 10 هزار سیکل در هر سلول برخوردارند که نشاندهنده عمر مفید کمتر آن در مقایسه با تراشههای SLC است. سلولهای این نوع حافظه دارای دو بیت و دربرگیرنده چهار حالت 00، 01، 10 و 11 بوده و طراح برای جبران کارایی، از سیستم تصحیح خطا در فریمور SSD با این ساختار استفاده میکند. هزینه کمتر تولید باعث شده است تا SSDهایی با تراشههای MLC، گزینه مناسبی برای کاربران نیمهحرفهای باشد. زمان تأخیر این نوع حافظهها در خواندن 50 و در نوشتن 900 میکروثانیه است.
4. تراشههای TLC، سرنام Three Level Cell، نوع چهارم ذخیرهسازهای فناوری NAND هستند. اولین بار شرکت سامسونگ از آن استفاده کرد. این مدل پایینترین هزینه تولید و بازدهی را در قیاس با سه مدل دیگر به خود اختصاص داده و بیشترین چرخه پاک کردن و نوشتن آن پنج هزار سیکل در هر سلول است. سرعت خواندن و نوشتن آن کمتر از مدل MLC بوده و با قابلیت ذخیره سه بیت و هشت حالت اطلاعات در هر سلول، کمترین طول عمر، سرعت خواندن و نوشتن و قیمت را در میان SSDهای بازار به خود اختصاص داده است. زمان تأخیر این حافظهها در عملیات خواندن 100 و در نوشتن 1500 میکروثانیه است. SSDهایی با تراشههای TLC هزینه تولید کمتری دارند و برای مصرفکنندگان عمومی کامپیوترهای دسکتاپ و لپتاپها گزینه مناسبی هستند؛ اما استفاده از این ساختار در کامپیوترهای سرور و مراکزی با اطلاعات حساس بههیچوجه توصیه نمیشود.
با اینکه این نوع حافظهها انقلابی در صنعت ذخیرهسازی اطلاعات به وجود آوردهاند، با محدودیتهایی روبهرو هستند. تعداد دفعات خواندن و نوشتن و پاک کردن اطلاعات در این نوع حافظه چرخه معینی دارد و پس از آن، استفاده از تراشههای NAND امکانناپذیر میشود. همچنین برای حذف دادهها، کنترلر ناچار است بلاکی را حذف کند که باعث افزایش زمان تأخیر خواهد شد. در سالهای اخیر این محدودیت تا حدودی با فناوری «نشانهگذاری» رفع شده است و زمانی که کاربر دستور حذف اطلاعات را صادر میکند، دادههای مدنظر علامتگذاری و به شکل منطقی حذف میشوند. اما این اطلاعات زمانی که دادههای جدیدی برای نوشتن ایجاد میشوند، از روی بلوکها حذف شده و دیگر قابل بازیابی نخواهند بود. حافظههای NAND امکان بازنویسی مستقیم دادهها را ندارند و به همین دلیل از فناوری Garbage Collection استفاده میکنند. برای نوشتن اطلاعات جدید، دادههای قبلی باید پاک شود تا اجازه نوشتن مجدد صادر شود. در نتیجه باید بلاکی که اطلاعاتش علامتگذاری شده است، مجدد خوانده شده تا اطلاعات معتبر آن بر روی بلاک آزاد دیگری کپی شود؛ سپس صفحههای دارای اطلاعات غیرمعتبر آزاد شده و امکان نوشتن اطلاعات جدید بر روی آنها میسر شود. این کار باعث میشود بلاک حاوی اطلاعات نامعتبر آزاد و برای نوشتن اطلاعات بعدی آماده شود. حافظههای NAND هماکنون در تلفنهای هوشمند، دوربینهای دیجیتال، تبلتها و بسیاری از دستگاههای هوشمند به کار گرفته میشوند. در حال حاضر شرکتهای اینتل، میکرون، پاورچیپ، سامسونگ، اسکای هاینیکس و توشیبا، بزرگترین سازندگان تراشههای NAND در جهان هستند.
==============================
شاید به این مقالات هم علاقمند باشید:
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟