SSDها حافظههایی هستند که به دلیل بهرهمندی از سرعت انتقال داده و امنیتی چندین برابر بیشتر از هارد دیسکها، به تدریج در حال گسترش هستند. در قسمت قبلی مقاله با مفاهیم پایه در مورد SSDها و هارد دیسکها آشنا شدیم. امروز قصد داریم این حافظهها را بیشتر مورد بررسی قرار دهیم.
با فراگیر شدن محتوای باکیفیت همچون فیلمهای 4K، نیاز به حافظههای سریع برای انتقال داده بیش از پیش احساس میشود. هارد دیسکها دیگر توانایی کار با سرعت مورد نظر ما را نداشته و SSDها در حال گرفتن جایگاه آنها در بازار هستند. در مقالهی قبلی از این سری، به بررسی هارد دیسکها و نحوهی کار آنها و نحوهی خواندن، نوشتن و پاک کردن اطلاعات در SSDها پرداختیم. امروز در قسمت دوم این مقالات سعی داریم شما را با مفهوم TRIM و نحوه دقیقتر عملکرد این حافظهها آشنا کنیم. همچون قسمت پیشین مقاله با طرح چند پرسش و پاسخ دادن به آنها بر اطلاعات خود میافزاییم.
TRIM چیست؟
در هارد دیسکهای معمولی، هنگامی که شما دکمهی حذف(Delete) را میفشارید، دادههای مورد نظرتان بلافاصله حذف نمیشوند، بلکه سیستمعامل رایانهی شما به هارد دیسک پیغام میدهد که بعدا در صورت نیاز به نوشتن اطلاعات، میتواند آن ناحیه از دیسک را که دادههای تقریبا حذف شده در آن قرار دارند پاکسازی کرده و اطلاعات مورد نظر را همان جا بنویسد. به همین دلیل است که شما میتوانید فایلهای حذف شده خود را ریکاوری یا Undelete کرده و مجددا به آنها دسترسی پیدا کنید. البته این تا زمانی است که بلوکهای مربوط به آنها بر روی دیسک، با اطلاعات جدید پر نشده باشد. چون در این صورت از دست هیچ کس کاری ساخته نیست. در یک هارد دیسک معمولی، سیستمعامل نیاز ندارد که بداند اطلاعات را دقیقا روی کدام نقطه از دیسک مینویسد یا حالت بلوکها و صفحات مجاور نقطهی مورد نظر چیست. اما در SSD ها اوضاع فرق میکند.
دستور TRIM به سیستمعامل اجازه میدهد تا به SSD پیغام دهد که میتواند دفعهی بعد هنگام نوشتن اطلاعات در یک بلوک، اطلاعاتی که قبلا در آن بلوک بوده و حذف شده اما پاک نشدهاند را نادیده گرفته و آن را با اطلاعات جدید پر کند. همین دستور ساده موجب کمتر شدن میزان نوشتن بر روی درایو شده و یکی از اصلیترین دلایل بیشتر بودن عمر SSDها نسبت به هارد دیسکها است. هر دو نوع عملیات نوشتن و خواندن به مرور زمان موجب تخریب سلول فلش ناند میشوند؛ اما تاثیر مخرب نوشتن، به مراتب بیشتر از خواندن است. خوشبختانه فلشهای ناند جدید، از نظر طول عمر در سطح بلوک، مشکلی ندارند.
مباحث دیگری که امروز به آنها خواهیم پرداخت، تراز بندی پوشش (Wear Leveling) و تقویت نوشتار (Write Amplification) هستند. همانطور که قبلا دیدیم، SSDها، اطلاعات را در سطح صفحه و بلوک میخوانند، اما تنها در سطح بلوک قادر به نوشتن هستند و به همین علت چند بار باید اطلاعات را نوشته و پاک کنند تا بتوانند دادههای مورد نظر ما را بنویسند. همین امر موجب شده است که همواره میزان نوشتن اطلاعات بر روی یک SSD، بیش از حجم واقعی اطلاعاتی باشد که ما میخواهیم بر روی آن ذخیره کنیم. مثلا اگر شما بخواهید اطلاعات یک فایل ۴ کیلوبایتی را تغییر دهید، SSD ناچار است تمام اطلاعات موجود در بلوکی که فایل ۴ کیلوبایتی شما در آن قرار دارد را حذف کرده و مجددا بنویسد. بسته به سایز بلوک مورد نظر (که از ۲۵۶ کیلوبایت تا ۴ مگابایت متغیر است)، شما باید حداقل ۲۵۶ کیلوبایت و حداکثر ۴ مگابایت اطلاعات را پاک کرده و به همراه فایل ۴ کیلوبایتی مجددا در بلوک بنویسید. به این فرایند، تقویت نوشتار میگویند. خوشبختانه فرایند جمع آوری زباله(Garbage Collection)، همانند دستور TRIM تا حدودی تاثیر تقویت نوشتار را کاهش میدهد و از نوشته شدن اطلاعات اضافی بر روی درایو جلوگیری میکند. نگه داشتن بخشی خالی در درایو و یا ارائهی یک بخش مجزا برای این کار توسط سازنده نیز میتواند موجب کاهش تاثیر فرایند تقویت نوشتار شود.
تراز بندی پوشش برای آن است که مطمئن شویم تعداد خاصی از بلوکهای فلش ناند، بیش از بلوکهای دیگر نوشته و پاک نمیشوند. این تکنیک، با استفادهی مساوی از تمامی بلوکهای حافظه موجب افزایش تحمل و عمر مفید درایو میشود؛ اما از سویی دیگر موجب افزایش پدیدهی تقویت نوشتار میشود؛ چرا که برای استفاده مساوی از همه بلوکهای درایو، گاهی لازم است که اطلاعات داخل یک بلوک کاملا پاک شده و مجددا جایگزین شوند. حتی اگر آن بلوک کاملا پر بوده و در فرایند دریافت اطلاعات دخالتی نداشته باشد. یک الگوریتم تراز بندی پوشش خوب، الگوریتمی است که بتواند بین دو فرایند تراز بندی پوشش و تقویت نوشتار، نوعی تعادل نسبی برقرار کند.
کنترلر SSD چیست و چگونه کار میکند؟
تا این جای کار باید متوجه شده باشید که حافظههای SSD بسیار پیچیدهتر از هارد دیسکها بوده و کنترلرهای بیشتری هم دارند. این به معنای بد بودن حافظههای مغناطیسی نیست. شخصا معتقدم که هارد دیسکها کمتر از آنچه که استحقاقش را دارند تکریم میشوند. طراحی و کنار هم قرار دادن این قطعات مکانیکی اصلا کار سادهای نیست. مخصوصا اگر بدانید که یکی از آنها باید دو سر مخصوص خواندن و نوشتن داده را بر روی خود و در فاصله چند نانومتر از دیسکی که با سرعت ۵۴۰۰ تا ۱۰۰۰۰ دور بر دقیقه میچرخد نگه دارد! این حقیقت که هارد دیسکها از پس چنین چالشهایی برآمدهاند، در حالی که پیشگامان ذخیرهسازی داده بر روی حافظههای مغناطیسی هستند و از طرفی اکنون تنها ۳ تا ۵ سنت به ازای هر گیگابایت قیمت دارند باورنکردنی است!
کنترلرهای SSD، با هم درون یک کلاس قرار میگیرند. اغلب یک حافظهی رم (RAM) از نوع DDR3 نیز برای مدیریت بهتر ناند، آنها را همراهی میکند. بسیاری از درایوها، چند حافظهی کش(Cache) از نوع تک لایه(SLC) را با هم ترکیب میکنند تا به عنوان یک حائل(Buffer) عمل کند. وظیفه این حائل این است که از طریق اختصاص دادن ناندهای سریعتر به چرخهی خواندن و نوشتن اطلاعات، موجب افزایش سرعت درایو شود. از آن جا که یک فلش ناند در داخل SSD، از طریق یک سری کانال موازی حافظه به کنترلر وصل شده است، میتوان کنترلر درایو را همزمان که در حال انجام بخشی از وظایف از طریق تقسیم کار است، به عنوان یک آرایهی ذخیرهسازی سطح بالا فرض کرد. SSD ها به صورت پیشفرض و در داخل خود، ویژگی RAID یا همان آرایهی چندگانه دیسکهای مستقل(Redundant Array Of Independent Discs) را ندارند، زیرا این ویژگی مخصوص هارد دیسکها است؛ اما در عوض از ویژگیهای تراز بندی پوشش، جمع آوری زباله (Garbage Collection) و مدیریت کش سلول تک لایه بهره میبرند.
برخی از درایوهای SSD حتی از الگوریتمهای فشردهسازی داده بهره میبرند تا تعداد دفعات نوشتن به حداقل رسیده و عمر درایو بیشتر شود. کنترلر SSD در واقع مسئول تصحیح خطاست و الگوریتمهایی که برای تصحیح خطای بیتهای تکی هستند، در طول سالها بسیار پیچیدهتر و پیشرفتهتر شدهاند. متاسفانه هنگام مطالعهی کنترلر SSDها، نمیتوانیم از اینجا جلوتر برویم؛ زیرا شرکتهای سازنده، محصولات خود را رمزگذاری میکنند تا الگوریتمهای که با زحمت بسیار توسعه دادهاند، توسط دیگران به راحتی و بدون پرداخت بها استفاده نشود. بیشتر قدرت عملکرد فلش ناند، توسط کنترلر تعیین میشود و کمپانیهای مختلف هم هیچ گونه جزئیاتی از الگوریتمهای استفاده شده در این قطعه یا حتی روند ساخت آن فاش نمیکنند؛ زیرا نمیخواهند کوچکترین امتیازی به رقبایشان واگذار کنند.
آینده پیش روی SSDها چیست؟
فناوری ذخیرهسازی با استفاده از فلش ناند، نسبت به درایوهای متحرک مغناطیسی، پیشرفت بزرگی محسوب میشود؛ اما این به معنای تایید مطلق این محصولات نیست. SSDها نیز مشکلات و چالشهای خاص خود را دارند. انتظار میرود که ظرفیت این درایوها و قیمت آنها برای هر گیگابایت با گذر زمان به ترتیب افزایش و کاهش یابد. بدون شک روزی خواهد رسید که قیمت درایوهای SSD به اندازه قیمت کنونی هارد دیسکها و حتی کمتر از آن باشد. فشرده شدن گرههای پردازشی، یکی از مهمترین معضلات پیش روی پیشرفت SSDها است. این کوچک شدن به نفع همهی ابزار قطعات دیجیتال است و تاثیر زیادی بر افزایش کارایی آنها دارد. اما برای فلشهای ناند چندان خوشایند نیست؛ چرا که این محصولات با کوچکتر شدن گرههای پردازشی، شکنندهتر میشوند. گرچه در ناند ۲۰ نانومتری، چگالی داده و ظرفیت کل، از نمونه ۴۰ نانومتری بسیار بیشتر است، اما عملکرد یک فلش ناند ۲۰ نانومتری در نوشتن اطلاعات و همچنین زمان حفظ اطلاعات در داخل سلولهای آن، در مقایسه با یک نمونه ۴۰ نانومتری ذاتا پایینتر است.
تاکنون تولید کنندگان SSD، توانستهاند با استفاده از سلول تک لایه که دارای سرعت بیشتری است در کنار استانداردهای داده سریعتر، پهنای باند بیشتر و تعداد کانالهای حافظهی بیشتر به ازای هر کنترلر، عملکرد رو به رشدی را ارائه دهند. سوالی که همیشه در ذهن کاربران و جود دارد این است که آیا با پیشرفت SSDها، ما مصرفکنندگان هم متوجه افزایش سرعت در آنها میشویم؟ این سوال پاسخ واضحی ندارد. اگر تاکنون مهاجرت از هارد دیسک به SSD را تجربه کرده باشید قطعا متوجه افزایش چند برابری سرعت هم شدهاید؛ اما اگر از یک SSD به SSD سریعتر مهاجرت کرده باشید، به احتمال زیاد، متوجه اختلاف سرعت چندانی نشدهاید؛ چرا که اختلاف سرعت بین هارد دیسک و SSD بسیار بیشتر از اختلاف بین SSD و SSD است.
بر هیچکس پوشیده نیست که NAND هرچقدر خوب هم باشد، بالاخره روزی توسط روش ذخیرهسازی جدیدتر و بهتری کنار زده خواهد شد. هنوز معلوم نیست که این فناوری چه خواهد بود. دو روش مدرن برای ذخیرهسازی دادهها در آینده پیشبینی میشود که یکی متد رم مغناطیسی(Magnetic Random Access Memory) بوده و دیگری حافظهی تغییر فاز (Phase Change Memory) نام دارد. هر دوی آنها شانس پیروز شدن بر SSDها را دارند. البته فراموش نکنید که این دو تکنولوژی هنوز در مراحل اولیه خود به سر برده و با چالشهایی جدی بر سر راه توسعهی خود روبرو هستند. شاید اگر بر این مشکلات فائق آیند بتوانند جایگزین NAND شوند؛ اما تا آن هنگام، SSDها برترین ابزارهای عرصهی ذخیرهسازی اطلاعات خواهند بود. کاهش زمان دسترسی درایوها به اطلاعات از میلی ثانیه به میکرو ثانیه میتواند جهشی عظیم باشد، اما رساندن آن به حد نانو ثانیه از توان بشر خارج است. فعلا که NAND پادشاه ذخیرهسازی اطلاعات است و حداقل تا ۵ سال دیگر در این جایگاه خواهد ماند.
برای خرید کلیک کنید
منبع:زومیت