آموزشآموزش‌های تکی

آموزش تکی، حدود ۳۲ دقیقه خواندن

SSD چیه

جواب کوتاه

SSD (کوتاه‌شده‌ی Solid-State Drive، یعنی «حافظه‌ی حالت جامد») یه حافظه‌ی ذخیره‌ست که هیچ قطعه‌ی چرخانی نداره و داده رو روی تراشه‌های حافظه‌ی فلش نگه می‌داره. برای همین خیلی سریع‌تر، بی‌صداتر و محکم‌تر از هارد دیسکه، مخصوصا برای فایل‌های کوچیک و پراکنده. فقط هر سلولش تعداد محدودی بار نوشته می‌شه، که SSDهای امروزی با پخش کردن نوشتن، این عمر رو برای بیشتر کارها خیلی بلند کردن.

اسم

شاید شنیدید «لپ‌تاپ رو SSD کن، سریع می‌شه»، یا توی مشخصات یه سرور خوندید «دیسک SSD». SSD کوتاه‌شده‌ی Solid-State Drive هست، یعنی «حافظه‌ی حالت جامد». «حالت جامد» یعنی هیچ‌چیز داخلش تکون نمی‌خوره؛ نه صفحه‌ی چرخانی مثل هارد دیسک، نه بازویی.

بعضی‌ها بهش می‌گن «هارد SSD»، و اشکالی نداره؛ کارش همون کار هارده، یعنی نگه داشتن همیشگی داده‌ها. فقط جنسش یه چیز دیگه‌ست.

کمد کشوها

مثلا فرض کنید یه کمد بزرگ دارید پر از کشوهای کوچیک، که هر کدوم یه شماره دارن. هر کشویی رو بخواید، همون لحظه بازش می‌کنید؛ لازم نیست صبر کنید چیزی بچرخه یا جابه‌جا بشه. کشوی اول یا کشوی هزارم، فرقی نمی‌کنه.

SSD همین کمده. یه فرق کوچیک هم داره که کل این درس دورش می‌چرخه: هر کشو فقط چند هزار بار می‌شه باز و بسته‌ش کرد، بعد لولاش خسته می‌شه. برای همین SSD یه مغز داره که حواسش هست کشوها به نوبت استفاده بشن، تا هیچ‌کدوم زود خراب نشه.

هیچ‌چیز نمی‌چرخه

توی هارد دیسک، هر خوندن پراکنده دو تا صبر داشت: رفتن بازو و چرخیدن صفحه، روی هم حدود ۱۰ میلی‌ثانیه. SSD هیچ‌کدوم رو نداره. هر جای حافظه رو حدود ده‌ها میکروثانیه‌ای می‌خونه؛ یعنی صدها برابر سریع‌تر.

و چون چیزی نمی‌چرخه، صدا نداره، از ضربه نمی‌ترسه، برق کمتری می‌خوره و گرمای کمتری می‌سازه. برای همین گوشی‌ها و لپ‌تاپ‌های امروزی همه SSD دارن، و عوض کردن هارد یه کامپیوتر قدیمی با SSD، معمولا بیشترین فرق رو توی سرعتش می‌سازه.

سلول فلش

داخل SSD تراشه‌های حافظه‌ی فلش هست؛ همون جنسی که توی فلش‌مموری و کارت حافظه هم هست. اسم دقیقش NAND flash‌ئه. هر تراشه میلیاردها سلول کوچیک داره. هر سلول یه ترانزیستوره که یه تیکه‌ی کوچیک داخلش می‌تونه بار الکتریکی رو گیر بندازه و نگه داره.

بار گیر افتاده یعنی یه عدد، نبودنش یعنی یه عدد دیگه. برخلاف رم، این بار با رفتن برق فرار نمی‌کنه؛ مثل آبی که توی یه ظرف دربسته گیر افتاده. برای همین SSD داده رو بی برق هم نگه می‌داره. ولی هر بار که بار رو با فشار برق زیاد وارد یا خارج می‌کنن، دیواره‌ی اون ظرف یه ذره فرسوده می‌شه. این همون «کشویی که خسته می‌شه»‌ست.

چند بیت توی یه سلول

سلول اول فقط دو حالت داشت: پر یا خالی، یعنی یه بیت. بعد سازنده‌ها فکر کردن: چرا فقط پر و خالی؟ بیایم بگیم «یه‌چهارم پر»، «نصفه»، «سه‌چهارم». با چهار سطح، می‌شه دو بیت توی یه سلول نگه داشت. با هشت سطح سه بیت، با شونزده سطح چهار بیت:

  • SLC۱ بیت، ۲ سطح
  • MLC۲ بیت، ۴ سطح
  • TLC۳ بیت، ۸ سطح
  • QLC۴ بیت، ۱۶ سطح

SLC یعنی Single-Level Cell، «یه بیت در هر سلول»؛ MLC یعنی Multi-Level Cell، که معمولا دو بیته؛ TLC یعنی Triple-Level Cell، سه بیت؛ و QLC یعنی Quad-Level Cell، چهار بیت. هر چی بیت بیشتر، توی همون تراشه جای بیشتری هست و SSD ارزون‌تر می‌شه. ولی تشخیص سطح‌ها سخت‌تره: نوشتن کندتر می‌شه و سلول زودتر خسته می‌شه.

مثل یه لیوان که به‌جای «پر یا خالی»، باید دقیق بگید یک‌شونزدهم یا دوشونزدهمش پره. هر چی درجه‌ها ریزتر، اشتباه آسون‌تر. امروز بیشتر SSDهای معمولی TLC هستن، و SSDهای خیلی جادار و ارزون QLC.

طبقه‌طبقه

سال‌ها سلول‌ها رو کنار هم، روی یه سطح صاف، می‌چیدن. برای جای بیشتر، باید سلول‌ها رو کوچیک‌تر می‌کردن، تا جایی که دیگه خیلی ریز و ناپایدار شده بودن. بعد یه فکر تازه: به‌جای کوچیک‌تر کردن، بیایم ساختمون چندطبقه بسازیم.

امروز تراشه‌های فلش لایه‌لایه‌ان، صدها طبقه روی هم؛ بهش می‌گن 3D NAND. مثل اینکه به‌جای کوچیک کردن خونه‌های یه محله، آپارتمان ساختن. این‌جوری هم جای بیشتری هست، هم سلول‌ها اون‌قدر ریز نمی‌شن که زود خراب بشن.

صفحه و بلوک

سلول‌ها توی SSD گروه‌گروه‌ان. چند هزار سلول با هم یه صفحه (page) می‌سازن، معمولا چند کیلوبایت؛ کوچیک‌ترین چیزی که یک‌جا خونده یا نوشته می‌شه. چند صد صفحه هم با هم یه بلوک (block) می‌سازن، معمولا چند مگابایت.

و اینجا یه قانون عجیب هست: SSD می‌تونه صفحه به صفحه بنویسه، ولی پاک کردن فقط بلوک به بلوک ممکنه. مثل دفتری که هر برگش رو می‌شه جدا نوشت، ولی پاک کردن فقط با دور انداختن کل دفتر شدنیه.

روی هم نوشتن ممنوع

توی هارد دیسک، اگه یه فایل عوض بشه، هد همون‌جا روش می‌نویسه. توی SSD نمی‌شه؛ صفحه‌ای که داده داره، باید اول پاک بشه تا دوباره نوشته بشه، و پاک کردن فقط با کل بلوک ممکنه. اگه برای عوض کردن هر چند کیلوبایت، چند مگابایت پاک و دوباره نوشته می‌شد، SSD خیلی کند می‌شد و زود می‌مرد.

پس SSD یه کار زیرکانه می‌کنه: نسخه‌ی تازه رو توی یه صفحه‌ی خالی دیگه می‌نویسه، و صفحه‌ی قدیمی رو فقط علامت می‌زنه که «این دیگه به درد نمی‌خوره». یه نقشه هم نگه می‌داره که بگه الان هر تیکه از فایل شما واقعا کجاست.

تمیزکاری

بعد از یه مدت، بلوک‌ها پر می‌شن از صفحه‌هایی که بعضی‌هاشون به‌دردبخورن و بعضی‌ها علامت «به درد نمی‌خوره» خوردن. SSD وقتی سرش خلوته، یه بلوک رو برمی‌داره، صفحه‌های به‌دردبخورش رو می‌بره یه جای دیگه، و کل بلوک رو پاک می‌کنه تا دوباره خالی بشه. بهش می‌گن جمع‌آوری زباله (garbage collection).

مثل کتابخونه‌ای که هر قفسه‌ش چند تا کتاب قدیمی و چند تا کتاب به‌دردبخور داره؛ گاهی کتاب‌های به‌دردبخور رو می‌برن قفسه‌ی دیگه و قفسه رو کامل خالی می‌کنن. این کار پشت صحنه انجام می‌شه، ولی اگه SSD خیلی پر باشه، جا برای جابه‌جایی کم میاد و کند می‌شه.

TRIM

یه مشکل کوچیک هست: وقتی شما یه فایل رو پاک می‌کنید، سیستم‌عامل فقط اسمش رو از فهرست برمی‌داره؛ SSD خبر نداره که اون صفحه‌ها دیگه به درد نمی‌خورن. پس موقع تمیزکاری، اون‌ها رو هم الکی جابه‌جا می‌کنه.

برای همین یه دستور ساخته شد به اسم TRIM. سیستم‌عامل با این دستور به SSD می‌گه «این صفحه‌ها آزادن». حالا SSD می‌تونه اونا رو هم کنار بذاره، و تمیزکاری سریع‌تر و کم‌خرج‌تر می‌شه. سیستم‌عامل‌های امروزی خودشون TRIM رو می‌فرستن. یه اثر جانبیش هم اینه که فایل پاک‌شده روی SSD خیلی سخت‌تر از هارد برمی‌گرده.

بیشتر از چیزی که نوشتید

به خاطر همین جابه‌جایی‌ها، SSD گاهی خیلی بیشتر از چیزی که شما نوشتید، روی سلول‌ها می‌نویسه. مثلا شما ۱ گیگابایت می‌نویسید، ولی SSD با جابه‌جایی صفحه‌ها توی تمیزکاری، ۲ گیگابایت روی سلول‌ها نوشته. بهش می‌گن تقویت نوشتن (write amplification)؛ اینجا عددش ۲ هست.

هر چی این عدد کمتر، SSD کمتر خسته می‌شه. TRIM، جای خالی کافی، و یه کنترلر خوب، این عدد رو پایین نگه می‌دارن. برای همین بهتره هیچ‌وقت SSD رو تا ته پر نکنید؛ ده بیست درصد خالی، کار تمیزکاری رو خیلی راحت‌تر می‌کنه.

جای ذخیره

شاید دیدید یه SSD نوشته ۴۸۰ گیگابایت یا ۹۶۰ گیگابایت، نه ۵۱۲ یا ۱۰۲۴. اون فرق، جاییه که سازنده کنار گذاشته و به شما نشون نمی‌ده؛ بهش می‌گن جای ذخیره (over-provisioning). SSD از این جا برای تمیزکاری، و برای جایگزین کردن سلول‌هایی که خراب می‌شن، استفاده می‌کنه.

SSDهای سرور معمولا جای ذخیره‌ی بیشتری دارن، چون قراره خیلی بیشتر نوشته بشن. مثل یه انبار که همیشه یه گوشه‌ش رو خالی نگه می‌دارن تا جابه‌جایی راحت باشه.

مغز SSD

همه‌ی این کارها، از نقشه و تمیزکاری تا پخش کردن نوشتن، کار یه تراشه‌ی مخصوصه به اسم کنترلر. کنترلر وسط SSD می‌شینه: از یه طرف با کامپیوتر حرف می‌زنه، از طرف دیگه با چند تا تراشه‌ی فلش به‌صورت هم‌زمان، تا سرعت بالا بره.

کنترلر خطاها رو هم پیدا و درست می‌کنه، و خیلی وقت‌ها داده رو رمز می‌کنه. برای همین دو تا SSD با همون تعداد گیگابایت و همون جنس سلول، می‌تونن به خاطر کنترلرشون سرعت و عمر خیلی متفاوتی داشته باشن.

نقشه و حافظه‌ش

اون نقشه‌ای که می‌گفت هر تیکه کجاست، بزرگه؛ معمولا حدود یه گیگابایت برای هر ترابایت. کنترلر برای سریع خوندن این نقشه، یه تیکه رم کنارش داره. SSDهای ارزون‌تر این رم رو ندارن و بخشی از نقشه رو روی خود فلش نگه می‌دارن، که کندتره.

یه راه میونه هم هست: SSDهای NVMe بی رم می‌تونن یه تیکه‌ی کوچیک از رم خود کامپیوتر رو قرض بگیرن؛ اسمش HMB‌ئه، کوتاه‌شده‌ی Host Memory Buffer، یعنی «حافظه‌ی قرضی از میزبان». برای کار روزمره کافیه؛ برای سرور، SSD با رم خودش بهتره.

راه سریعی که پر می‌شه

یادتونه نوشتن روی سلول TLC یا QLC کنده؟ برای همین خیلی از SSDها یه کار می‌کنن: یه تیکه از سلول‌ها رو فعلا مثل SLC، یعنی فقط یه بیتی، استفاده می‌کنن، که خیلی سریع‌تر نوشته می‌شه. نوشته‌های شما اول اونجا می‌رن، و بعد سر فرصت به سلول‌های چندبیتی منتقل می‌شن. بهش می‌گن کش SLC.

برای کارهای روزمره عالیه. ولی اگه یه فایل خیلی بزرگ، مثلا ۱۰۰ گیگابایت، رو یک‌جا کپی کنید، این راه سریع پر می‌شه و سرعت نوشتن یهو افت می‌کنه؛ گاهی حتی کمتر از یه هارد خوب. اگه دیدید وسط کپی سرعت پایین اومد، دلیلش همینه.

چقدر عمر می‌کنه؟

عمر SSD رو با یه عدد می‌گن: TBW، کوتاه‌شده‌ی Terabytes Written، یعنی «چند ترابایت می‌شه روش نوشت». مثلا یه SSD ۱ ترابایتی معمولی ممکنه ۶۰۰ TBW داشته باشه؛ یعنی سازنده می‌گه تا ۶۰۰ ترابایت نوشتن، سالم می‌مونه.

حالا یه حساب. یه کاربر معمولی شاید روزی ۲۰ تا ۵۰ گیگابایت بنویسه. با ۵۰ گیگ در روز، ۶۰۰ ترابایت می‌شه حدود ۳۳ سال. پس برای بیشتر آدم‌ها، SSD زودتر از اینکه خسته بشه، قدیمی می‌شه. SSDهای سرور یه عدد دیگه هم دارن، DWPD، یعنی «چند بار در روز می‌شه کل SSD رو پر کرد»؛ برای سرورهایی که شبانه‌روز می‌نویسن.

پخش کردن خستگی

اگه SSD همیشه روی همون چند تا سلول اول می‌نوشت، اونا زود می‌مردن و بقیه دست‌نخورده می‌موندن. کنترلر نمی‌ذاره: نوشته‌ها رو به نوبت روی همه‌ی سلول‌ها پخش می‌کنه، حتی گاهی داده‌ای که مدت‌هاست عوض نشده رو جابه‌جا می‌کنه تا سلول‌های زیرش هم سهمشون رو کار کنن. بهش می‌گن پخش کردن فرسایش (wear leveling).

بی پخش کردن: یه کشو زود خراب می‌شه.
با پخش کردن: همه با هم و آهسته خسته می‌شن.

مثل یه رستوران که به‌جای اینکه همیشه مشتری‌ها رو سر همون یه میز بنشونه، همه‌ی میزها رو به نوبت استفاده می‌کنه، تا هیچ میزی زودتر از بقیه خراب نشه.

SATA و NVMe

SSD باید با کامپیوتر حرف بزنه. SSDهای اول همون کابل و زبان هارد دیسک رو استفاده می‌کردن، یعنی SATA، که برای هارد چرخان ساخته شده بود. سقف SATA حدود ۶ گیگابیت در ثانیه‌ست، یعنی حدود ۵۵۰ مگابایت در ثانیه در عمل. SSD خیلی زود به همین سقف رسید و دیگه نمی‌تونست سریع‌تر بشه.

برای همین یه راه تازه ساخته شد: NVMe، که SSD رو مستقیم به جاده‌ی پرسرعت PCIe وصل می‌کنه و زبانش از اول برای حافظه‌ی فلش طراحی شده. SSD با NVMe چند برابر سریع‌تر از SSD با SATA‌ئه. این رو توی درس NVMe کامل دیدید.

شکل‌ها

SSD سه تا شکل رایج داره:

۲٫۵ اینچی، هم‌اندازه‌ی هارد لپ‌تاپ، با کابل SATA؛ برای جایگزین کردن هارد قدیمی. M.2، یه تیکه‌ی باریک شبیه آدامس که مستقیم روی برد پیچ می‌شه. اندازه‌ش رو با عدد می‌گن، مثلا ۲۲۸۰، یعنی ۲۲ میلی‌متر پهنا و ۸۰ میلی‌متر طول. و U.2 و شکل‌های تازه‌تر، برای سرورها، که می‌شه بی خاموش کردن سرور عوضشون کرد.

یه نکته‌ی مهم: M.2 یه شکله، نه یه سرعت. یه SSD M.2 می‌تونه SATA باشه یا NVMe. پیش از خرید، ببینید کدومه.

چقدر سریع؟

  1. هارد دیسکحدود ۲۰۰ مگابایت در ثانیه، حدود ۱۰۰ IOPS
  2. SSD با SATAحدود ۵۵۰ مگابایت در ثانیه، ده‌ها هزار IOPS
  3. SSD با NVMeچند گیگابایت در ثانیه، صدها هزار IOPS

دو تا عدد سرعت هست. پشت سر هم، برای فایل‌های بزرگ؛ و پراکنده، یا IOPS، برای هزاران خوندن کوچیک. برای کار روزمره و برای سایت، عدد دوم خیلی مهم‌تره، و همون‌جاست که SSD از هارد دیسک صدها برابر جلوئه.

بی برق، توی کشو

SSD بی برق داده رو نگه می‌داره، ولی نه برای همیشه. بار گیر افتاده توی سلول‌ها خیلی آروم نشت می‌کنه، مخصوصا توی سلول‌های خسته و جای گرم. یه SSD سالم که چند ماه یا حتی یکی دو سال توی کشو بمونه، معمولا مشکلی نداره. ولی برای نگه داشتن چند ساله‌ی داده‌ی مهم بی برق، SSD تنها جای مطمئنی نیست.

برای بایگانی بلندمدت، هارد دیسک یا چند تا نسخه روی چند جای مختلف، مطمئن‌تره. و هر از گاهی روشن کردن SSD بایگانی، به کنترلر فرصت می‌ده سلول‌های ضعیف رو تازه کنه.

قطع برق روی سرور

SSD هم مثل هارد یه کم رم داخلی داره، و نوشته‌ها اول اونجا می‌رن. اگه برق درست همون لحظه بره، چیزی که هنوز روی فلش نرفته از دست می‌ره، یا بدتر، نقشه‌ی SSD نصفه‌نیمه می‌مونه. SSDهای سرور برای همین چند تا خازن بزرگ دارن، که بعد از قطع برق چند ده میلی‌ثانیه برق می‌دن تا SSD هر چی توی دستشه رو کامل روی فلش بنویسه.

اسمش «محافظت در برابر قطع برق»‌ئه، و یکی از فرق‌های مهم SSD سرور با SSD معمولیه؛ مخصوصا برای دیتابیس.

خوندن گزارش سلامت

SSD هم مثل هارد گزارش سلامت داره، ولی عددهاش فرق می‌کنه. سه تا عدد مهمن. «درصد مصرف‌شده» (percentage used): اینکه چند درصد از عمر نوشتنی که سازنده قول داده، تا الان مصرف شده؛ از صفر شروع می‌شه و به صد می‌رسه. «کل داده‌ی نوشته‌شده»: همون عددی که با TBW مقایسه‌ش می‌کنید. و «جای ذخیره‌ی باقی‌مونده» (available spare): چند درصد از سلول‌های ذخیره هنوز سالمن.

مثلا اگه بعد از سه سال، درصد مصرف‌شده ۱۰ باشه، یعنی با همین روال، هنوز ده‌ها سال جا داره. ولی اگه جای ذخیره‌ی باقی‌مونده تند تند پایین می‌ره، یعنی سلول‌ها دارن زیاد خراب می‌شن؛ وقتشه داده‌ها رو یه جای مطمئن کپی کنید. روی لینوکس، ابزارهای smartctl و nvme-cli این‌ها رو نشون می‌دن.

به‌روزرسانی برنامه‌ی SSD

کنترلر SSD یه برنامه‌ی داخلی داره که بهش می‌گن فرم‌ور (firmware)؛ همون چیزیه که نقشه، تمیزکاری و پخش کردن خستگی رو انجام می‌ده. مثل هر برنامه‌ی دیگه‌ای، باگ داره، و سازنده‌ها گاهی نسخه‌ی تازه می‌دن. چند بار توی این سال‌ها باگ‌هایی پیدا شده که SSD رو بعد از تعداد مشخصی ساعت کار، یهو از کار می‌انداخت، و فقط با به‌روزرسانی فرم‌ور درست می‌شد.

پس یه بار سر بزنید ببینید سازنده‌ی SSD شما نسخه‌ی تازه داده یا نه، مخصوصا روی سرورها. پیش از به‌روزرسانی، پشتیبان بگیرید؛ به‌روزرسانی معمولا بی‌خطره، ولی اگه وسطش برق بره، ممکنه SSD دیگه بالا نیاد.

یکپارچه‌سازی و SSD

روی هارد چرخان، یکپارچه‌سازی (defrag) فایل‌های تیکه‌تیکه رو کنار هم می‌چید تا هد کمتر بپره. روی SSD این کار هیچ سودی نداره، چون همه‌ی کشوها همون لحظه باز می‌شن و تیکه‌تیکه بودن مهم نیست. بدتر، کلی نوشتن اضافه می‌کنه که SSD رو خسته‌تر می‌کنه.

سیستم‌عامل‌های جدید این رو می‌دونن؛ وقتی SSD رو می‌شناسن، به‌جای یکپارچه‌سازی، فقط TRIM می‌فرستن. پس اگه یه برنامه‌ی قدیمی یکپارچه‌سازی دارید که خودکار اجرا می‌شه، روی SSD خاموشش کنید.

بردن سیستم به SSD

وقتی هارد رو با SSD عوض می‌کنید، دو راه دارید. یکی نصب تازه‌ی سیستم‌عامل روی SSD و آوردن فایل‌ها، که تمیزترین راهه. یکی «کلون»، یعنی کپی کامل هارد قدیمی روی SSD با یه برنامه، که همه‌چیز، حتی برنامه‌ها و تنظیم‌ها، سر جاش می‌مونه.

اگه کلون می‌کنید، دو تا نکته مهمه. اول، SSD باید جای کافی برای همه‌ی داده‌ی واقعی داشته باشه، نه برای کل اندازه‌ی هارد. دوم، پارتیشن‌ها باید «هم‌تراز» باشن؛ یعنی از جایی شروع بشن که با اندازه‌ی صفحه‌های SSD جور باشه. برنامه‌های جدید این رو خودشون درست می‌کنن، ولی برنامه‌های خیلی قدیمی ممکنه پارتیشن رو یه ذره جابه‌جا شروع کنن، و اون‌وقت هر نوشتن، دو تا صفحه رو درگیر می‌کنه و SSD کندتر می‌شه.

SSD چطوری خراب می‌شه

هارد دیسک معمولا قبل از مردن هشدار می‌ده: صدا، کندی، قطاع‌های خراب. SSD گاهی همین‌طوره، و گزارش سلامتش درصد عمر مصرف‌شده رو نشون می‌ده. ولی گاهی هم، مخصوصا وقتی کنترلر خراب بشه، یهو و بی هشدار از کار می‌افته.

خیلی از SSDها وقتی به آخر عمر سلول‌هاشون می‌رسن، خودشون رو «فقط‌خوندنی» می‌کنن؛ یعنی دیگه نمی‌شه روشون نوشت، ولی داده‌ها رو می‌شه برداشت. با این همه، تنها چیزی که واقعا داده رو نجات می‌ده، پشتیبانه.

پاک کردن واقعی

روی هارد دیسک، برای پاک کردن کامل، کل هارد رو با صفر پر می‌کردن. روی SSD این کار کافی نیست، چون کنترلر نوشته‌ها رو جای دیگه می‌بره و سلول‌های جای ذخیره دست‌نخورده می‌مونن. راه درست، دستور پاک کردن امن (secure erase) خود SSD‌ئه، که کنترلر همه‌ی سلول‌ها رو با هم پاک می‌کنه.

یه راه ساده‌تر هم هست: اگه SSD از اول رمزگذاری شده باشه، از بین بردن کلید رمز یعنی همه‌ی داده‌ها در یه لحظه غیرقابل خوندن می‌شن.

فلش‌مموری و SSD اکسترنال

فلش‌مموری هم از همون جنس فلشه؛ پس چرا این‌قدر کندتر از SSD‌ئه؟ چون معمولا فقط یکی دو تا تراشه داره که یکی‌یکی کار می‌کنن، کنترلرش خیلی ساده‌ست، کش نداره، و اغلب تراشه‌هاش ارزون‌ترین نوع فلشن. SSD چند تا تراشه رو با هم و موازی کار می‌ندازه، و همین سرعتش رو می‌سازه.

SSD اکسترنال یه SSD واقعیه توی یه جعبه‌ی کوچیک با USB یا Thunderbolt. سرعتش رو معمولا خود کابل و درگاه محدود می‌کنه، نه خود SSD. برای همین یه SSD اکسترنال روی یه درگاه USB قدیمی، شاید از یه هارد اکسترنال خیلی سریع‌تر نباشه.

نصفه هارد، نصفه SSD

یه مدت هاردهایی بودن که داخلشون یه تیکه فلش هم داشتن؛ بهشون می‌گفتن هارد ترکیبی (SSHD). فایل‌هایی که زیاد باز می‌شدن رو توی فلش نگه می‌داشتن تا سریع‌تر باز بشن، و بقیه روی صفحه‌ی چرخان. یه جور میونه‌ی ارزونی و سرعت.

با ارزون شدن SSD، این هاردها تقریبا کنار رفتن. ولی همون ایده هنوز توی سرورها زنده‌ست: SSD جلو، برای داده‌های داغ و پرکاربرد، و هارد پشت، برای داده‌های سرد و بایگانی. بهش می‌گن طبقه‌بندی داده.

SSD روی سرور

برای سرور سایت، SSD امروز حداقله. وردپرس برای ساختن هر صفحه، و دیتابیس برای هر سوال، هزاران تیکه‌ی کوچیک می‌خونن؛ کاری که SSD توش صدها برابر از هارد جلوئه. سرور با NVMe از اونم سریع‌تره.

یه نکته درباره‌ی هاست‌ها: «هاست SSD» یا «هاست NVMe» یعنی دیسک سرور اون جنسیه، ولی اون دیسک بین صدها سایت شریکه. سهم شما از سرعتش، به تعداد همسایه‌ها و کار اون‌ها بستگی داره. روی سرور مجازی خودتون، دیسک رو کمتر کسی باهاتون شریکه.

حافظه‌ی گوشی

حافظه‌ی گوشی هم فلشه، ولی شکل SSD کامپیوتر رو نداره؛ یه تراشه‌ست که مستقیم روی برد گوشی لحیم شده و کنترلرش هم داخل همون تراشه‌ست. گوشی‌های ارزون‌تر نوعی دارن به اسم eMMC، و گوشی‌های بهتر نوعی به اسم UFS، که خیلی سریع‌تره. برای همین دو تا گوشی با «۱۲۸ گیگ حافظه»، می‌تونن توی باز کردن برنامه‌ها خیلی فرق داشته باشن.

همون قانون‌ها اینجا هم هست: گوشی‌ای که حافظه‌ش تا ته پر شده، کند می‌شه، چون حافظه برای تمیزکاری جا نداره. اگه گوشی‌تون کند شده، یکی از اولین کارها، خالی کردن یه کم از حافظه‌ست.

خرید SSD

اگه دارید SSD می‌خرید، این چند تا رو به ترتیب نگاه کنید:

  1. اول رابط رو ببینید؛ اگه کامپیوترتون شیار M.2 با NVMe داره، NVMe بگیرید؛ وگرنه SATA ۲٫۵ اینچی.
  2. بعد اندازه؛ یه کم بیشتر از چیزی که الان لازم دارید، تا هیچ‌وقت تا ته پر نشه.
  3. بعد جنس سلول؛ TLC برای بیشتر کارها خوبه؛ QLC برای جای خیلی زیاد و نوشتن کم.
  4. بعد رم داخلی؛ اگه کار سنگین و نوشتن زیاد دارید، SSD با رم خودش بهتره.
  5. و آخر TBW و گارانتی؛ هر چی بیشتر، سازنده به دوامش مطمئن‌تره.

SSD یا هارد؟

برای سیستم‌عامل، برنامه‌ها، بازی، سایت و دیتابیس: SSD، بی هیچ شکی. برای بایگانی‌های خیلی بزرگ، پشتیبان و فیلم، که ارزونی هر ترابایت مهم‌تر از سرعته: هارد دیسک هنوز به‌صرفه‌ست. بهترین ترکیب برای خیلی‌ها: یه SSD برای کار، یه هارد برای انبار.

کمی تاریخ

حافظه‌های حالت جامد از دهه‌ی ۷۰ و ۸۰ میلادی بودن، ولی خیلی گرون و کوچیک، و بیشتر برای کارهای نظامی و خاص. حافظه‌ی فلش دهه‌ی ۸۰ اختراع شد. اوایل دهه‌ی ۹۰ اولین SSDهای بر پایه‌ی فلش ساخته شدن، با چند ده مگابایت جا و قیمتی که فقط برای جاهای خاص می‌صرفید.

از اواخر دهه‌ی ۲۰۰۰، SSD کم‌کم به لپ‌تاپ‌ها رسید، و دهه‌ی ۲۰۱۰ با ارزون شدن فلش و اومدن 3D NAND، همه‌گیر شد. امروز تقریبا هیچ لپ‌تاپ و گوشی تازه‌ای هارد چرخان نداره، و SSDهای ده‌ها ترابایتی برای سرورها ساخته می‌شن.

تمرین

  1. ببینید SSD کامپیوترتون SATA‌ئه یا NVMe، و چند درصدش پره؛ اگه نزدیک پره، یه کم خالیش کنید.
  2. گزارش سلامتش رو با یه برنامه‌ی رایگان بخونید و ببینید چقدر نوشته شده و درصد عمرش چنده.
  3. یه فایل خیلی بزرگ کپی کنید و ببینید سرعت نوشتن وسط کار افت می‌کنه یا نه؛ اون لحظه، پر شدن کش SLC‌ئه.

اشتباه‌های رایج

  • «SSD زود خراب می‌شه.» برای بیشتر آدم‌ها، عمر نوشتنش ده‌ها ساله؛ زودتر قدیمی می‌شه تا خسته.
  • «هر M.2 سریعه.» M.2 شکله؛ ممکنه SATA باشه و سقفش ۵۵۰ مگابایت.
  • «SSD رو تا ته پر کنید، جا هدر نره.» SSD پر کند می‌شه و زودتر خسته؛ یه کم جا خالی بذارید.
  • «یکپارچه‌سازی SSD رو سریع‌تر می‌کنه.» نه؛ فقط نوشتن الکیه و عمرش رو کم می‌کنه.
  • «SSD برای بایگانی چندساله‌ی بی برق عالیه.» بار سلول‌ها آروم نشت می‌کنه؛ برای بایگانی، چند نسخه و هارد مطمئن‌ترن.

جمع‌بندی. آنچه از این درس با خودتان می‌برید.

  • SSD قطعه‌ی چرخان نداره؛ داده رو توی سلول‌های فلش با بار الکتریکی نگه می‌داره.
  • SLC، MLC، TLC و QLC یعنی چند بیت توی هر سلول؛ هر چی بیشتر، ارزون‌تر ولی کندتر و کم‌عمرتر.
  • SSD روی هم نمی‌نویسه؛ صفحه‌ی تازه می‌نویسه و بعد بلوک‌ها رو تمیز می‌کنه. TRIM به این کار کمک می‌کنه.
  • عمرش رو با TBW می‌گن؛ برای بیشتر آدم‌ها سال‌ها کافیه.
  • SATA سقفش حدود ۵۵۰ مگابایت در ثانیه‌ست؛ NVMe چند برابر سریع‌تره.

خودتون رو بسنجید

۱۵ پرسش، هر بار تازه از میان ۳۰ پرسش این درس. آخرش فقط کارنامه رو می‌بینید: چند تا درست، چند تا نادرست.

خودتون رو بسنجید

۱۵ پرسش

  • هر بار پرسش‌ها و ترتیب گزینه‌ها عوض می‌شه.
  • تا آخر نمی‌گیم کدوم جواب درست بوده؛ می‌تونید برگردید و جوابتون رو عوض کنید.
  • آخرش کارنامه می‌گیرید: چند تا درست، چند تا نادرست.
  • اگه وسطش بستید، دوباره که باز کنید از همون‌جا ادامه می‌دید.

فصل‌های این درس