فاکتورهای موثر بر عملکرد درایو SSD
برای مشخص کردن عملکرد و طول عمر یک حافظه SSD، شرکت ها علاوه بر IOPS و زمان تاخیر باید به معماری درایو، کنترل کننده فضای ذخیره سازی (کنترلر) و تشدید نوشتن (write amplification) حافظه را مد نظر قرار دهند.
توزیع کنندگان و فروشندگان اصلی SSD معمولا بازاریابی را بر اساس توان مصرفی، میزان تاخیر (Latency) و IOPS انجام می دهند تا مصرف کنندگان را مجاب کنند که SSDها را بر اساس عملکرد خریداری کنند، اما این خصوصیات فقط بخشی از داستان هستند.
عوامل موثر دیگری – معماری مولفه های درایو و اینکه چطور درایو write amplification را کنترل می کند- می توانند به همان اندازه برای نشان دادن خوبی عملکرد یک درایو SSD و طول عمر آن مهم باشد.
بیشتر SSDهای مورد استفاده در دیتاسنترها امروزه بر اساس تکنولوژی حافظه های فلش هستند. مؤلفه هایی که یک فلش درایو را تشکیل می دهند شامل سلول های NAND هستند که داده ها را ذخیره می کنند. به علاوه فاکتورهای کنترلر فضای ذخیره سازی، رابط کاربری و بافر حافظه کش نیز وجود دارند که همه ی آنها نقشی محوری در عملکرد یک درایو SSD بر عهده دارند.
فناوری سلول NAND در حال حاضر پیشرفت کرده است در نتیجه امروزه از ظرفیت های بالاتری پشتیبانی می کند و همین امر موجب کاهش قیمت درایو های SSD می شود. حافظه های فلش اولیه بر اساس معماری سلول تک سطحی (SLC) بودند که یک بیت بر سلول را در خود ذخیره می ساخت، سپس حافظه های چند سطحی روی کار آمدند که 2 بیت بر سلول را پشتیبانی میکردند و بعد از آن نوبت به سلول های سه سطحی (TLC) رسید که 3 بیت بر سلول را ذخیره میکنند.
بیشتر بخوانید: آشنایی با ساختار درایو SSD
با TLC یک حافظه فلش بیشتر از همیشه ظرفیت ذخیره سازی دارد. آنها گوی سبقت را از بسیاری از هارد دیسک های همتای خود ربوده اند.
کنترلر فضای ذخیره سازی
مساله ی مهم دیگری که باید هنگام سنجش عملکرد یک SSD در نظر بگیریم کنترل کننده ی فضای ذخیره سازی (کنترلر) است. پردازنده ی مخصوص درایو که سخت افزار را مدیریت میکند و عملیاتی نظیر یکسانسازی پوشش (wear leveling) جمع آوری فایل های زائد، رمزنگاری، جانمایی بلوک های ذخیره سازی بد (bad-block mapping) و تصحیح کدهای خطا را در دست دارد.
بیشتر بخوانید : فلش کنترلر (Flash controller) چیست ؟
از آنجا که کنترلر چنین نقش مهمی را ایفا می کند، باید بدون توجه به حجم کار I/O درایو، حتی در هنگام کار با ظرفیت کامل، بتواند کلیه عملیات مربوط به ذخیره سازی را انجام دهد. هر چیزی کمتر از این منجر به تاثیر منفی بر عملکرد SSD خواهد شد.
رابط کاربری (اینترفیس) بین سرور و درایو نیز یک عنصر حیاتی در معماری SSD است. دو رابط کاربری متدوال وجود دارد که یکی سریال متصل (SCSI) است و دیگری SATA است. SAS تمایل به ارائه ویژگی های سطح سازمانی بیشتری دارد و معمولا میتواند عملکرد بهتری از درایو های حالت جامد ارائه دهد.
گفته می شود که این اینترفیس ها موجب ایجاد گلوگاه در عملکرد درایوهای ذخیره سازی می شوند و به این خاطر عرضه کنندگان رابط کاربری حافظه سریع پایدار (NVMe) را پیشنهاد می کنند که با پیوستگی با PCI اکسپرس کار میکند تا عملکرد بهتری را چه با SAS و چه با SATA ارائه نماید.
یک SSD در کلاس سازمانی همچنین شامل یک DRAM میان درایو ذخیره سازی و رابطه کاربری است. بافر باید یک مکانیزم کش پرسرعت را در اختیار داشته باشد که یک فضای موقت برای قراردادن و جمع آوری را فراهم کند. برای اجرای موثر این فرآیند ، بافر باید به اندازه کافی بزرگ باشد تا دسترسی به داده ها و تغییرات را ساده سازی کرده و اثرات عملیات نوشتن را به حداقل برساند. بافر مناسب می تواند یک جزء مهم در SSD با عملکرد بالا باشد.
تشدید نوشتن
درایوهای فلش مثل بسیاری از SSDها مستعد تشدید نوشتن هستند. شرایطی که تعداد نوشتن های واقعی از نوشتن های درخواست شده بیشتر است. تشدید نوشتن به عنوان نتیجه ی روشی که دیتا روی SSD نوشته می شود اتفاق می افتد. قبل از اینکه داده بتواند نوشته شود، داده های دیگر باید پاک شوند و سپس دوباره نوشته شوند. بر خلاف یک هارد دیسک که در آن داده به راحتی اضافه می شود و یا روی داده های دیگر جایگزین می گردد. IOPS افزایش یافته که از تشدید نوشتن سرچشمه می گیرد میتواند عملکرد نوشتن را به میزان قابل توجهی کاهش دهد.
بیشتر بخوانید: 4 راهحل برای بهینهسازی عملکرد SSD در دیتا سنتر
وقتی داده ها در یک درایو فلش ذخیره می شوند، آنها روی صفحاتی که به صورت بلوک دسته بندی شده اند ، نوشته می شوند. به منظور نوشتن داده در یک سلول، همه ی داده های این بلوک باید پاک شوند مگر اینکه این بلوک از قبل خالی بوده باشد. اگر خالی نباشد داده های قدیمی باید کپی شوند، سپس از محل اصلی خود حذف گردند و پس از آن در کنار داده های جدید دوباره نویسی شوند. این فرآیند می تواند تعداد قابل توجهی عمل نوشتن را موجب شود که نه تنها بر عملکرد SSD تاثیر می گذارد بلکه طول عمر درایو را نیز کاهش می دهد.
برای کمک به بهبود عملکرد نوشتن، SSD معمولاً نوعی از فرآیندهای جمع آوری زباله را پیاده سازی می کند که یک رویکرد پیشگیرانه برای آزاد سازی بلوک های نوشته شده ی قبلی است. این پروسه میتواند نیاز به پاک کردن کل بلوک های داده ها را برای هر عملیات نوشتن از بین ببرد. اما پروسه ی جمع آوری فایلهای زائد میتواند به تشدید عمل نوشتن کمک و اگر به درستی مدیریت نشده باشد میتواند بر عملیات نوشتن اصلی تاثیر بگذارد.
بیشتر SSDها همچنین پروسه ی یکسان سازی پوشش را برای کمک به جلوگیری از دست رفتن سلولها پیش از موعد اعمال می کنند. یکسان سازی پوشش عمل نوشتن را در بین بلاک های در دسترس به صورت مساوی تقسیم می کند تا از نوشته و پاک شدن یک بلوک خاص به صورت پیاپی جلوگیری نماید. مانند Garbage Collection، یکسان سازی پوشش یا Wear Leveling هم می تواند روی تشدید نوشتن تاثیر بگذارد . به صورت بالقوه روی عملکرد SSD تاثیر بگذارد.
فرآیند های دیگری مانند مدیریت بلوک های بد (bad-block management) نیز میتوانند در تشدید نوشتن دخیل باشد. در مدیریت بلوک های بد کنترلر، بلوکهایی که شامل یک یا چند سلولی که ممکن است برای ذخیره سازی اطلاعات قابل اعتماد نباشند را شناسایی میکند. همچنین عمل دفراگمنت کردن درایو هیچ مزیتی برای برای یک SSD ندارد اما میتواند سربار نوشتن/خواندن را اضافه کند
یک استراتژی معمول برای کاهش تشدید نوشتن و کاهش اثرات جمع آوری فایلهای زائد و یکسان سازی پوشش و پروسه های دیگر، اورپرویژن (over provision) حافظه ی SSD است که به صورت محدود کردن حافظه قابل استفاده به اندازه ی درصد خاصی عمل می کند. برای مثال بعضی سازمانها میزان قابل استفاده از SSD را 75 یا 80 درصد یا حتی کمتر در نظر گرفته اند. با فراهم کردن فضای آزاد کافی، درایو می تواند عملیات نوشتن را با کارایی بیشتری پشتیبانی کند و عملکرد SSD را به حداکثر برساند.
بیشتر بخوانید : هر آنچه باید درباره SSD Over-Provisioning بدانید
به علاوه SSDها میتوانند بعضی اوقات از توانایی های رابط کاربری برای کم کردن تشدید نوشتن سود ببرند. برای مثال SATA دستور TRIM را پیشنهاد می کند و SAS دستور UNAMR را پیشنهاد می کند. هر دو دستور بلوک هایی از داده ها را که دیگر مورد استفاده قرار نمی گیرند را شناسایی می کنند و بنابراین میتوانند آنها را به صورت داخلی پاک کنند. این عمل منجر به بهتر شدن عملکرد درایوهای SSD می شود زیرا می توان فرآیند Garbage Collection را به حداقل رساند و فضای بیشتری در درایو در دسترس خواهد بود.
ملاحظات دیگری برای استفاده از SSD در اتاق سرور وجود دارد مانند: سرورهای موجود، زیر ساخت های شبکه و سیستم عامل ها. اما اجزای تشکیل دهنده درایو و شناسایی روش های تشدید نوشتن باید نگرانی اصلی باشند. فقط با در نظر گرفتن همه ی فاکتورهای موثر بر عملکرد SSD یک سازمان میتواند مطمئن باشد که همه ی درایوهای خریداری شده می توانند عملکرد مورد نیاز برای پشتیبانی از برنامه های کاربردی شان را فراهم آورند.
ثبت ديدگاه