آموزش رایگان Data Storage Networking؛ آشنایی با انواع حافظههای حالت جامد
در این قسمت از آموزش رایگان data storage networking میخواهیم انواع حافظه ssd شامل slc، mlc، emlc، tlc، qlc و sshd؛ و انواع تکنولوژیهای مربوط به ssd شامل overprovisioning و wear leveling و write amplification و garbage collection و write endurance را بررسی کنیم. با فالنیک همراه باشید.
- مقایسه mlc و slc در ssd
- حافظه ssd emlc چیست؟
- حافظه ssd tlc چیست؟
- حافظه ssd qlc چیست؟
- راهکارهای رفع خرابی فلش – flash failure
- مقایسه mlc و slc در ssd
- حافظه ssd emlc چیست؟
- حافظه ssd tlc چیست؟
- حافظه ssd qlc چیست؟
- راهکارهای رفع خرابی فلش – flash failure
- مکانیزم Overprovisioning و حافظه نهان
- حالت جامد کلاس سازمانی چیست؟
- garbage collection در ssd چیست؟
- write amplification در ssd چیست؟
- write amplification در ssd چیست؟
- write endurance در ssd چیست؟
- wear leveling در ssd چیست؟
- مکانیزم کش کردن در ssd
- درایوهای ترکیبی یا sshd چیست؟
به نظر نمیرسد، در آینده نزدیک شاهد کاهش هزینه حافظههای حالت جامد در مقایسه با دیسکهای مکانیکی باشیم. به همین دلیل است که کاربران و حتی شرکتها ترجیح میدهند ترکیبی از هارددیسکها و حافظههای حالت جامد را همزمان با هم استفاده کنند. اگر قصد دارید در سرورها، nasها یا sanها ترکیبی از دو این رسانه ذخیرهسازی استفاده کنید، هنگام خریدن ssd به معیار IOPS و هنگام خریدن هارددیسکها به ظرفیت، رابط و معیار RPM آن دقت کنید. بهترین الگویی که امروزه بسیاری از شرکتها در nasها استفاده میکنند این است که هارددیسکها را برای آرشیو و ssdها را برای انجام عملیات I/O حجیم پیکربندی میکنند.
مقایسه mlc و slc در ssd
سلول چند سطحی – multilevel cell که به اختصار mlc گفته میشود، توانایی ذخیرهسازی 2 بیت داده در هر سلول فلش (00، 01، 10 یا 11) را دارد بنابراین دو برابر بیشتر از SLC داده در هر سلول فلش ذخیره میکند. خوب، حداقل از منظر ظرفیت عالی است، اما در زمینه کارایی و عملیات نوشتن محدودیتهایی دارد. بهطوری که نرخ انتقال اطلاعات در این حافظهها در چرخههای P/E به میزان قابل توجهی کمتر است. بنابراین اگر سلولهای SLC دارای چرخه P/E برابر با 100000 هزار هستند، این مقدار در سلولهای چند سطحی برابر با 10000 مرتبه است.
با اینحال، از منظر خواندن تصادفی، هنوز هم عملکرد بهتری نسبت به هارددیسکها دارند. mlc بخش قابل توجهی از بازار متعلق به حافظههای slc را به خود اختصاص داده است و mlc در محیطهای محاسباتی و ذخیرهسازی پیشرفته بیشتر از حافظههای slc استفاده میشود.
mlc میتواند با اعمال سطوح مختلف ولتاژ به یک سلول، 2 بیت را در هر سلول فلش ذخیره کند. بنابراین به جای اینکه ولتاژ کم یا زیاد باشد، میتواند زیاد، متوسط روبه زیاد، متوسط روبه پایین یا کم باشد. نحوه قرارگیری اطلاعات در سلول mlc در شکل زیر نشان داده شده است.
حافظه ssd emlc چیست؟
حافظه MLC درجه سازمانی که معادل enterprise grade mlc است و بیشتر به نام eMLC شناخته میشود، نوعی حافظه فلش mlc با نرخ خطای کمتر و تصحیح خطای قویتر نسبت به حافظه فلش استاندارد mlc است.
این حافظهها و دستگاههای مبتنی بر فناوری eMLC به شکل گستردهای تولید و روانه بازار شدهاند و با استقبال خوبی نیز روبرو شدهاند، زیرا یک کنترلر فلش بسیار کارآمد دارند که توسط یک سفتافزار هوشمند مدیریت میشود. بهعنوان مثال، یک درایوeMLC با ظرفیت 400 گیگابایت ممکن است واقعاً ظرفیتی برابر با 800 گیگابایت داشته باشد، اما 400 گیگابایت اضافی با هدف ارائه عملکرد بالاتر و قابلیت اطمینان بهتر به شکل پنهان در اختیار خود درایو است. در زمینه عملکرد، eMLC از تکنیک overprovisioning برای نوشتن دادهها به سلولهایی که در ناحیه پنهان درایو قرار دارند استفاده میکند. این تکنیک فرآیند نوشتن را به میزان قابل توجهی سریعتر میکند.
از نظر قابلیت اطمینان، درایو emlc پایداری و استقامت بهتری نسبت به mlc دارد، زیرا همانگونه که گفتیم در یک فلش درایوی که 400 گیگابایت حافظه دارد، معادل همین ظرفیت برای حفظ عملکرد و افزایش طول عمر حافظه در نظر گرفته شده که درایو برای انجام فرآیندهایی مثل کشکردن اطلاعات از آن استفاده میکند. همین مسئله باعث شده تا حافظههای eMLC دو برابر بیشتر از حافظههای MLC طول عمر داشته باشند.
حافظه ssd tlc چیست؟
سلولهای سه سطحی یا triple level cell نوع دیگری از حافظههای جامد هستند که عمدتا در محیطهای محاسباتی که نرخ بالایی از عملیات I/O را انجام میدهند استفاده میشوند. شاید با خود بگویید که این حافظهها ایدهآلترین گزینه در میان حافظههای حالت جامد هستند، اما همانگونه که مشاهده خواهید کرد، واقعیت چیزی دیگری است. این حافظهها از سفتافزارهای پیچیدهای استفاده میکنند و حافظه پنهانی که برای انجام عملیات به خدمت میگیرند بیشتر از ظرفیت اسمی واقعی درایو است. بهطوری که این پرسش مطرح شود که چرا باید چنین ظرفیتی به شکل پنهان و تنها برای بهبود قابلیت اطمینان برای درایو رزرو شده در نظر گرفته شده باشد. همانگونه که ممکن است حدس زده باشید این مدل حافظهها در هر سلول سه بیت اطلاعات را ذخیرهسازی میکنند. در این حافظهها فرمت باینری ذخیرهسازی اطلاعات به صورت 000، 001، 010، 011، 100، 101، 110 و 111 است.
کمترین توان عملیاتی را این مدل حافظهها ارائه میکنند بهطوری که معمولا دارای چرخه P/E نزدیک به 5000 یا کمتر هستند. پس tlc ظرفیت بالایی دارد، اما عملکرد و قابلیت اطمینان پایینی ارائه میکند. این حافظهها ظرفیت بیشتری نسبت slc و mlc ارائه میکنند، اما سرعت، قابلیت اطمینان و دوام را قربانی میکنند، بنابراین گزینه مناسبی برای بازار مصرف هستند، اما برای کاربردهای سازمانی که اطلاعات حساسی دارند خیلی جالب نیستند.
حافظه ssd qlc چیست؟
حافظه چهار سطحی میتوانند چهار بیت در هر سلول بنویسد پس در مقایسه با نمونههای دیگر قادر به ذخیرهسازی اطلاعات بیشتری هستند. این حافظهها بهدلیل قابلیت اطمینان کمی که دارند، بیشتر برای کاربردهای خانگی مناسب هستند، علاوه بر اینکه ظرفیت چندان زیادی نیز ارائه نمیکنند.
راهکارهای رفع خرابی فلش – flash failure
اگرچه بهعنوان یک کارشناس حرفهای باید در مورد قابلیت اطمینان رسانهای که قصد استفاده از آنرا دارید، اطلاعات دقیقی داشته باشید، اما در واقع این وظیفه سازنده یا فروشنده است که قابلیت اطمینان فلش را به شکل دقیق شرح داده و کیفیت آنرا تضمین کند.
فروشندگان حافظههای فلش mlc یا tlc در قراردادهای تعمیر و نگهداری آرایهها باید تضمین کنند که هرگونه مؤلفهای که خراب میشود را جایگزین میکنند. به این ترتیب، دیگر دغدغهای در قابلیت اطمینان ندارید و مطمئنید زیرساخت شما در صورت بروز خرابی در این مولفهها در کوتاهترین زمان ممکن به وضعیت پایدار خواهد رسید. این موضوع به ویژه هنگامی که قصد پیادهسازی raid را دارید حائز اهمیت است. برخی از فروشندگان متعهد میشوند که حافظههای ssd که در آرایهها استفاده میشوند را دو بار در سال با دریافت هزینه کم یا گاهی اوقات رایگان تعویض میکنند.
در مورد کارت حافظه فلش PCIe، ممکن است در زمان عقد قرار داد به این مسئله اشاره شده باشد که خرابی کارتهای فلش تحت ضمانتنامه یا قراردادهای تعمیر و نگهداری هستند، اما دقت کنید که فرآیند تعویض آنها زمانبر خواهد بود یعنی اگرچه کارتهای خراب تعویض میشوند، اما ممکن است سرویس شما برای مدت زمانی از کار بیفتد یا مادامیکه قطعه خراب شده جایگزین نشود، عملکرد سامانه به شدت کاهش یابد. سازمانهای بزرگ برای پیشگیری از بروز چنین مشکلی از راهحلهایی مثل خوشههای بازیابی فاجعه مبتنی بر حافظه جامد و دسترسپذیری بالا (HA) استفاده میکنند که نقش مهمی در پایداری زیرساخت تا جایگزین شدن قطعه خراب دارند.
به نظر نمیرسد، در آینده نزدیک شاهد کاهش هزینه حافظههای حالت جامد در مقایسه با دیسکهای مکانیکی باشیم. به همین دلیل است که کاربران و حتی شرکتها ترجیح میدهند ترکیبی از هارددیسکها و حافظههای حالت جامد را همزمان با هم استفاده کنند. اگر قصد دارید در سرورها، nasها یا sanها ترکیبی از دو این رسانه ذخیرهسازی استفاده کنید، هنگام خریدن ssd به معیار IOPS و هنگام خریدن هارددیسکها به ظرفیت، رابط و معیار RPM آن دقت کنید. بهترین الگویی که امروزه بسیاری از شرکتها در nasها استفاده میکنند این است که هارددیسکها را برای آرشیو و ssdها را برای انجام عملیات I/O حجیم پیکربندی میکنند.
مقایسه mlc و slc در ssd
سلول چند سطحی – multilevel cell که به اختصار mlc گفته میشود، توانایی ذخیرهسازی 2 بیت داده در هر سلول فلش (00، 01، 10 یا 11) را دارد بنابراین دو برابر بیشتر از SLC داده در هر سلول فلش ذخیره میکند. خوب، حداقل از منظر ظرفیت عالی است، اما در زمینه کارایی و عملیات نوشتن محدودیتهایی دارد. بهطوری که نرخ انتقال اطلاعات در این حافظهها در چرخههای P/E به میزان قابل توجهی کمتر است. بنابراین اگر سلولهای SLC دارای چرخه P/E برابر با 100000 هزار هستند، این مقدار در سلولهای چند سطحی برابر با 10000 مرتبه است.
با اینحال، از منظر خواندن تصادفی، هنوز هم عملکرد بهتری نسبت به هارددیسکها دارند. mlc بخش قابل توجهی از بازار متعلق به حافظههای slc را به خود اختصاص داده است و mlc در محیطهای محاسباتی و ذخیرهسازی پیشرفته بیشتر از حافظههای slc استفاده میشود.
mlc میتواند با اعمال سطوح مختلف ولتاژ به یک سلول، 2 بیت را در هر سلول فلش ذخیره کند. بنابراین به جای اینکه ولتاژ کم یا زیاد باشد، میتواند زیاد، متوسط روبه زیاد، متوسط روبه پایین یا کم باشد. نحوه قرارگیری اطلاعات در سلول mlc در شکل زیر نشان داده شده است.
کپشن: سلول فلش mlc
حافظه ssd emlc چیست؟
حافظه MLC درجه سازمانی که معادل enterprise grade mlc است و بیشتر به نام eMLC شناخته میشود، نوعی حافظه فلش mlc با نرخ خطای کمتر و تصحیح خطای قویتر نسبت به حافظه فلش استاندارد mlc است.
این حافظهها و دستگاههای مبتنی بر فناوری eMLC به شکل گستردهای تولید و روانه بازار شدهاند و با استقبال خوبی نیز روبرو شدهاند، زیرا یک کنترلر فلش بسیار کارآمد دارند که توسط یک سفتافزار هوشمند مدیریت میشود. بهعنوان مثال، یک درایوeMLC با ظرفیت 400 گیگابایت ممکن است واقعاً ظرفیتی برابر با 800 گیگابایت داشته باشد، اما 400 گیگابایت اضافی با هدف ارائه عملکرد بالاتر و قابلیت اطمینان بهتر به شکل پنهان در اختیار خود درایو است. در زمینه عملکرد، eMLC از تکنیک overprovisioning برای نوشتن دادهها به سلولهایی که در ناحیه پنهان درایو قرار دارند استفاده میکند. این تکنیک فرآیند نوشتن را به میزان قابل توجهی سریعتر میکند.
از نظر قابلیت اطمینان، درایو emlc پایداری و استقامت بهتری نسبت به mlc دارد، زیرا همانگونه که گفتیم در یک فلش درایوی که 400 گیگابایت حافظه دارد، معادل همین ظرفیت برای حفظ عملکرد و افزایش طول عمر حافظه در نظر گرفته شده که درایو برای انجام فرآیندهایی مثل کشکردن اطلاعات از آن استفاده میکند. همین مسئله باعث شده تا حافظههای eMLC دو برابر بیشتر از حافظههای MLC طول عمر داشته باشند.
حافظه ssd tlc چیست؟
سلولهای سه سطحی یا triple level cell نوع دیگری از حافظههای جامد هستند که عمدتا در محیطهای محاسباتی که نرخ بالایی از عملیات I/O را انجام میدهند استفاده میشوند. شاید با خود بگویید که این حافظهها ایدهآلترین گزینه در میان حافظههای حالت جامد هستند، اما همانگونه که مشاهده خواهید کرد، واقعیت چیزی دیگری است. این حافظهها از سفتافزارهای پیچیدهای استفاده میکنند و حافظه پنهانی که برای انجام عملیات به خدمت میگیرند بیشتر از ظرفیت اسمی واقعی درایو است. بهطوری که این پرسش مطرح شود که چرا باید چنین ظرفیتی به شکل پنهان و تنها برای بهبود قابلیت اطمینان برای درایو رزرو شده در نظر گرفته شده باشد. همانگونه که ممکن است حدس زده باشید این مدل حافظهها در هر سلول سه بیت اطلاعات را ذخیرهسازی میکنند. در این حافظهها فرمت باینری ذخیرهسازی اطلاعات به صورت 000، 001، 010، 011، 100، 101، 110 و 111 است.
کمترین توان عملیاتی را این مدل حافظهها ارائه میکنند بهطوری که معمولا دارای چرخه P/E نزدیک به 5000 یا کمتر هستند. پس tlc ظرفیت بالایی دارد، اما عملکرد و قابلیت اطمینان پایینی ارائه میکند. این حافظهها ظرفیت بیشتری نسبت slc و mlc ارائه میکنند، اما سرعت، قابلیت اطمینان و دوام را قربانی میکنند، بنابراین گزینه مناسبی برای بازار مصرف هستند، اما برای کاربردهای سازمانی که اطلاعات حساسی دارند خیلی جالب نیستند.
کپشن: سلول فلش tlc
حافظه ssd qlc چیست؟
حافظه چهار سطحی میتوانند چهار بیت در هر سلول بنویسد پس در مقایسه با نمونههای دیگر قادر به ذخیرهسازی اطلاعات بیشتری هستند. این حافظهها بهدلیل قابلیت اطمینان کمی که دارند، بیشتر برای کاربردهای خانگی مناسب هستند، علاوه بر اینکه ظرفیت چندان زیادی نیز ارائه نمیکنند.
راهکارهای رفع خرابی فلش – flash failure
اگرچه بهعنوان یک کارشناس حرفهای باید در مورد قابلیت اطمینان رسانهای که قصد استفاده از آنرا دارید، اطلاعات دقیقی داشته باشید، اما در واقع این وظیفه سازنده یا فروشنده است که قابلیت اطمینان فلش را به شکل دقیق شرح داده و کیفیت آنرا تضمین کند.
فروشندگان حافظههای فلش mlc یا tlc در قراردادهای تعمیر و نگهداری آرایهها باید تضمین کنند که هرگونه مؤلفهای که خراب میشود را جایگزین میکنند. به این ترتیب، دیگر دغدغهای در قابلیت اطمینان ندارید و مطمئنید زیرساخت شما در صورت بروز خرابی در این مولفهها در کوتاهترین زمان ممکن به وضعیت پایدار خواهد رسید. این موضوع به ویژه هنگامی که قصد پیادهسازی raid را دارید حائز اهمیت است. برخی از فروشندگان متعهد میشوند که حافظههای ssd که در آرایهها استفاده میشوند را دو بار در سال با دریافت هزینه کم یا گاهی اوقات رایگان تعویض میکنند.
در مورد کارت حافظه فلش PCIe، ممکن است در زمان عقد قرار داد به این مسئله اشاره شده باشد که خرابی کارتهای فلش تحت ضمانتنامه یا قراردادهای تعمیر و نگهداری هستند، اما دقت کنید که فرآیند تعویض آنها زمانبر خواهد بود یعنی اگرچه کارتهای خراب تعویض میشوند، اما ممکن است سرویس شما برای مدت زمانی از کار بیفتد یا مادامیکه قطعه خراب شده جایگزین نشود، عملکرد سامانه به شدت کاهش یابد. سازمانهای بزرگ برای پیشگیری از بروز چنین مشکلی از راهحلهایی مثل خوشههای بازیابی فاجعه مبتنی بر حافظه جامد و دسترسپذیری بالا (HA) استفاده میکنند که نقش مهمی در پایداری زیرساخت تا جایگزین شدن قطعه خراب دارند.
مکانیزم Overprovisioning و حافظه نهان
در حالت کلی کیفیت حافظههای فلش یکسان است. تفاوت عمده آنها در نوع معماری بهکار گرفته شده در ساخت و کلاس سازمانی آنها نهفته است. یعنی چقدر ظرفیت پنهان روی درایو قرار دارد که کنترلر برای انجام فعالیتهای پشت صحنه از آنها استفاده میکند. مکانیزم استفاده از حافظه نهان overprovisioning نامیده میشود. یک مثال خوب در این زمینه درایو فلشی است که دارای 240 گیگابایت ظرفیت فلش است، اما کنترلر فقط 200 گیگابایت را به عنوان حافظه در دسترس نشان میدهد. این 40 گیگابایت پنهان توسط کنترلر برای فرآیندهای مدیریت سلولها و انجام کارهایی مثل آمادهسازی رسانه برای ذخیرهسازی و تسطیح مشکلات استاتیکی استفاده میشود. این رویکرد باعث بهبود عملکرد و افزایش طول عمر حافظه میشود. به همین دلیل است که مشاهده میکنید، برخی از فروشندگان ظرفیت حافظه فلش را با مقادیری مثل 240 یا 250 گیگابایت نشان میدهند.
حالت جامد کلاس سازمانی چیست؟
برای اصطلاح حالت جامد کلاس سازمانی – enterprise class solid stateهیچ تعریف استاندارد و واحدی وجود ندارد. دستگاههای حالت جامد کلاس سازمانی در کلاسهای مصرفی مختلفی ساخته میشوند که ویژگیهای شاخص زیر را دارند:
- ظرفیت اضافی بیشتر
- حافظه پنهان بیشتر
- کنترلر و سفتافزار پیچیدهتر
- کانالهای بیشتر
- خازنهایی برای ذخیره محتویات حافظه اصلی در صورت قطع ناگهانی برق
- گارانتی جامعتر
garbage collection در ssd چیست؟
جمعآوری زباله garbage collection فرآیندی است که در پسزمینه توسط کنترلر دستگاه حالت جامد استفاده میشود. بهطور معمول، مکانیزم جمعآوری زباله دو کار مهم زیر را انجام میدهد:
- بلوکهایی که محتویات آنها باید حفظ شود را علامتگذاری میکند.
- بلوکهایی که به شکل پراکنده اطلاعاتی را نگهداری میکنند و فضای خالی دارند را مرتب میکند.
بلوکهایی که برای حذف علامتگذاری شدهاند را میتوان در پسزمینه پاک کرد تا بدون نیاز به انجام چرخه خواندن/برنامهریزی و پاک کردن، بلوکها را برای نوشتن بیتها آماده کرد. بدیهی است رویکرد فوق عملکرد نوشتن را بهبود میبخشد.
بلوکهایی که تراکم کمتری دارند را میتوان با یکدیگر ترکیب کرد تا بلوکهای آزاد بیشتری به دست آید. این تکنیک به فرآیند پاک کردن و آمادهسازی بلوکها برای دریافت اطلاعات سرعت بیشتری میبخشد. بهعنوان مثال، سه بلوک که فقط 30 درصد فضای آنها اشغال شده را میتوان با هم ترکیب کرد و به یک بلوک منفرد کاهش داد که 90 درصد پر شده است. در این حالت دو بلوک آزاد میشوند.
این تکنیکها عملکرد دستگاهها را بهبود میبخشند و طول عمر دستگاه را بیشتر میکنند. با اینحال، اینکار باید بهشکل متعادل انجام شود، زیرا اگر بیش از حد این فرآیند انجام شود، نوشتن زیاد به سلولهای فلش باعث به وجود آمدن بیمورد چرخههای P/E در پسزمینه میشود و در مقابل اگر مکانیزم جمعآوری زباله خیلی کم انجام شود، عملکرد دستگاه کاهش پیدا میکند.
write amplification در ssd چیست؟
تشدید نوشتن – write amplification یعنی تعداد دفعات نوشتن روی رسانه بیشتر از تعداد دفعاتی است که دستور آن از طریق میزبان صادر شده است. یک مثال در این زمینه زمانی است که یک میزبان 4K به یک بلوک فلش 256K که از قبل حاوی دادهها است، اطلاعاتی را مینویسد. همانطور که یاد گرفتید، هرگونه نوشتن در بلوکی که قبلا حاوی دادهها بوده به روش زیر انجام میشود:
- محتویات موجود بلوک در حافظه پنهان خوانده میشود.
- محتویات بلوک پاک میشود.
- برنامهریزی میشود تا محتویات جدید در کل بلوک نوشته شود.
بدیهی است چنین مکانیزمی منجر به نوشتن بیش از اندازه به یک فلش 4K میشود. تشدید نوشتن عملکرد فلش را کند میکند و سلولهای فلش را بهطور قابل تاملی در معرض فرسودگی قرار میدهد، از اینرو باید به طریقی مانع انجام اینکار شد.
کانالها و موازی سازی در ssd
کانالها در عملکرد درایو فلش نقش مهمی دارند. کانالهای بیشتر، توان داخلی بیشتر را ارائه میکنند. اگر بتوانید به اندازه کافی عملیات ورودی/خروجی را در صف دستگاه قرار دهید، استفاده همزمان از چند تراشه NAND داخل درایو فلش از طریق کانالهای متعدد میتواند عملکرد (از طریق موازیسازی) را بهطور چشمگیری افزایش دهد. درایوهای فلش معمولاً دارای رابطهای 16 یا 24 بیتی همزمان هستند.
write endurance در ssd چیست؟
آستانه نوشتن – write endurance همانطور که قبلاً اشاره شد به تعداد چرخههای برنامهریزی/پاک کردن (P/E) یک سلول فلش اشاره دارد و نقش مهمی در رتبهبندی حافظه فلش دارد. بهعنوان مثال، یک سلول فلش SLC ممکن است با 100000 چرخه P/E رتبهبندی شود، در حالی که MLC با چرخه 10000 رتبهبندی شود.
فرآیند برنامهریزی و پاک کردن سلولهای فلش باعث ساییدگی فیزیکی سلولها میشود. هنگامیکه یک سلول فلش به آستانه چرخه P/E رتبهبندی شده خود برسد، کنترلر آنرا غیرقابل اعتماد علامتگذاری میکند.
آگاهی در مورد آستانه استقامت نوشتن یک درایو حالت جامد، امکان بازنشستگی قابل برنامهریزی شده و جایگزینی فلش در زمان مناسب را فراهم میکند. بی توجهی به این مسئله باعث میشود نوشتن اطلاعات روی حافظه فلش در وضعیت ناپایدار قرار گیرد. بهعنوان مثال، آرایههای ذخیرهسازی با درایوهای حالت جامد، مقدار چرخه P/E همه دستگاههای حالت جامد را کنترل میکنند و به مصرفکننده قبل از آنکه درایو فرسوده و غیر قابل مصرف شود هشدار میدهند.
wear leveling در ssd چیست؟
تسطیح فرسودگی – wear leveling، فرآیندی است که برای افزایش عمر دستگاههای ذخیرهسازی حالتجامد طراحی شده است. تسطیح سایش / فرسودگی، فرآیند توزیع حجم کار در تمام سلولهای فلش است، بهطوریکه درایوها تا حد امکان عملکرد اولیه خود را حفظ کنند. بهطور کلی، دو نوع متداول تسطیح سایش به شرح زیر وجود دارد:
- تسطیح سایش در حین کار
تسطیح سایش در حین کار که در اصطلاح به آن In-flight wear leveling گفته میشود یعنی درخواست برای نوشتن را بدون آنکه تاخیری بر عملکرد به وجود آورد به بخشهای بلااستفاده فلش که در معرض چرخههای P/E کمتری نسبت به سلولهای هدف اصلی بودهاند، هدایت میکند. هدف این است که اطمینان حاصل شود اطلاعات روی سلولهایی نوشته میشوند که در معرض تعداد کمتری از چرخههای P/E قرار گرفتهاند.
- تسطیح سایش در پسزمینه
تسطیح سایش پسزمینه که گاهی اوقات به عنوان تسطیح سایش ایستا از آن یاد میشود، توسط کنترلر انجام میشود. این مکانیزم باید بهشکل متوازنی انجام شود تا خود مکانیزم تسطیح سایش از چرخههای P/E زیاد استفاده نکند و طول عمر دستگاه را کوتاه نشود.
مکانیزم کش کردن در ssd
حافظههای پنهان نقش مهمی در دنیای ذخیرهسازی دارند. حتی دستگاههای حالت جامد فوق سریع نیز از مکانیزم حافظه پنهان dram برای دستیابی به عملکرد بهتر سود میبرند.
حافظه پنهان، جدا از مزایای عملکردی آشکاری که دارد، در دنیای حالت جامد دو عملکرد مهم ارائه میکند که منجر به افزایش طول عمر رسانه میشود:
- نوشتن درهم آمیخته
نوشتن درهم آمیخته به فرآیند نگهداری از اطلاعات در حافظه پنهان تا زمانی که بتوان یک صفحه یا بلوک کامل را نوشت اشاره دارد. یک دستگاه فلش با اندازه پلاتر k128 را تصور کنید. نوشتن k32 وارد شده و در حافظه پنهان نگهداری میشود. در ادامه یک دستور نوشتن k64 وارد میشود و بلافاصله بعد از آن، چند دستور نوشتن k16 وارد میشود. در مجموع، تعداد دستورات نوشتن به k128 میرسد و اکنون میتوان از طریق یک عملیات برنامهریزی فرآیند نوشتن در یک بلوک فلش را انجام داد. اینکار به مراتب موثرتر و سادهتر از حالتی است که دستورات نوشتن k32 بلافاصله روی فلش انجام شوند و برای هر فرآیند نوشتن بعدی چرخه خواندن/پاک کردن/برنامهریزی را اجرا میشود.
- نوشتن ترکیبی
نوشتن ترکیبی زمانی اتفاق میافتد که در یک بازه زمانی کوتاه روی یک آدرس lba خاص فرآیند نوشتن انجام شود. اگر هر یک از این فرآیندهای نوشتن (در lba یکسان) در حافظه پنهان نگهداری شود، بازهم عملیات نوشتن به یکباره انجام میشود تا حافظه فلش در معرض فرسایش بیمورد قرار نگیرد.
درایوهای ترکیبی یا sshd چیست؟
در دنیای محاسبات، درایو ترکیبی (solid state hybrid drive) یک وسیله ذخیرهسازی منطقی یا فیزیکی است. این دستگاه یک رسانه ذخیرهساز نسبتا سریع است، زیرا درایو حالت جامد (SSD) را با یک هارد دیسک با ظرفیت بالاتر (HDD) در قالب یک دستگاه واحد ارائه میکند. هدف این است که مقداری از سرعت SSDها را به ظرفیت ذخیرهسازی مقرون به صرفه HDDهای سنتی در اختیار داشته باشیم. هدف از بهکارگیری ssd در یک درایو هیبریدی این است که به عنوان یک حافظه پنهان برای دادههای ذخیره شده در هارد دیسک عمل کند و با نگهداری کپیهایی از دادههایی که زیاد استفاده میشوند، عملکرد کلی دستگاه را بهبود دهد. دو پیکربندی اصلی برای پیادهسازی درایوهای هیبریدی وجود دارد: سیستمهای هیبریدی دو محرکه و درایوهای هیبریدی حالت جامد. در شکل زیر این دو معماری متفاوتی را مشاهده میکنید.
در سیستمهای هیبریدی دو درایوی، درایوهای SSD و HDD از لحاظ فیزیکی بهشکل مجزا در یک کامپیوتر نصب میشوند که فرآیند بهینهسازی استقرار دادهها به صورت دستی توسط کاربر نهایی یا بهطور خودکار توسط سیستمعامل از طریق ایجاد یک دستگاه منطقی «هیبریدی» انجام میشود. در درایوهای هیبریدی حالت جامد، عملکردهای ssd و hdd در یک قطعه سختافزاری واحد قرار میگیرد و مکانیزم نوشتن یا بهطور کامل توسط دستگاه یا از طریق سیستمعامل مدیریت میشود.
اکثر هارد دیسکهای هیبریدی بر مبنای یک سیستم کش ساده کار میکنند. بهطوری که مجموعه دادههایی که بالاترین نرخ دسترسی را دارند از هارددیسک به ssd منتقل میشود تا دسترسی به اطلاعات در زمان کوتاهتری انجام شود. این تکنیک برای بخش عمدهای از مجموعههای دادهای عملکرد خوبی دارد، اما هنگامی که صحبت از نوشتن دادههای جدید به میان میآید ضعف این تکنیک آشکار میشود.
دادههای تازه نوشته شده معمولاً ابتدا روی هارددیسک نوشته میشوند و پس از مدتی به ssd انتقال داده میشود. این تکنیک زمانبر است. برخی از درایوهای هیبریدی سعی میکنند دادههای جدیدی که قرار است نوشته شوند را به ssd انتقال دهند و در صورت عدم دسترسی مکرر، آنها را به هارددیسک انتقال دهند. هر دو رویکرد مزایا و معایب خود را دارند. در مجموع، درایوهای هیبریدی تلاش می کنند دستیابی به دو فاکتور ظرفیت و سرعت را ارائه کنند. اینکه چه چیزی روی ssd نوشته میشود و چه چیزی روی هارددیسک نوشته میشود توسط سفتافزار درایو یا سیستمعامل تعیین میشود. شما به عنوان مدیر شبکه نباید نگران مدیریت این فرآیند باشید. درایوهای هیبریدی در برخی از رایانههای شخصی رومیزی و لپتاپها محبوب هستند و گاهی در سرورهای کلاس سازمانی و آرایههای ذخیرهسازی نیز استفاده میشوند.