SSD TRIM چیست؟

SSD TRIM یک فرمان واسط تکنولوژی پیشرفته (ATA) است که به‌واسطۀ آن سیستم‌عامل می‌تواند به حافظۀ ذخیره‌سازی از نوع SSD اطلاع دهد که از کدام داده‌ها دیگر استفاده نخواهد شد و می‌تواند آن‌ها را پاک کند. استفاده از فرمان TRIM می‌تواند کار آیی و عملکرد ثبت و نوشتن داده در SSDها را بهبود بخشد و موجب افزایش طول عمر آن‌ها شود.

TRIM (تریم کردن) یک کلمۀ مخفف نیست، این قابلیت در SSDهایی وجود دارد که رابط پیشرفتۀ متوالی (ساتا) یا  همان ATAی سریال (SATA) را پشتیبانی می‌کنند.

UNMAP فرمان مشابهی است که در درایو های اسکازی (Small Computer System Interface یا SCSI) وجود دارد و برای استفاده در SSDهای SAS به کار می‌رود. عملیات DEALLOCATE (آزاد کردن منبعی که به یک برنامه اختصاص داده‌شده است) قابلیت مشابهی را در پروتکل حافظۀ سریع پایدار یا nonvolatile memory express) NVMe) فراهم می‌کند همان‌طور که می‌دانید این پروتکل برای PCI Express SSD تنظیم‌شده‌است.

کمیتۀ فنی T13 که بخشی از کمیتۀ بین‌المللی استانداردهای فناوری اطلاعات (INCITS) است، فرمان TRIM را در استاندارد ATA گنجانده است.

بیشتر بخوانید : Wear Leveling در حافظه های NAND چیست؟

SSD TRIM چگونه کار می‌کند؟

SSDهای مبتنی بر فلش NAND اطلاعات را برحسب واحدهایی می‌خوانند و می‌نویسند که به‌عنوان صفحه (page) شناخته‌شده است و در یک SSD معمولی هر 128 صفحه یک بلوک داده را تشکیل می‌دهند؛ اما پیش از اینکه داده‌ای در SSD ثبت یا نوشته شود، یکی از بلوک‌های داده که دیگر مورداستفاده قرار نمی‌گیرد باید به‌طور کامل پاک شود. عملیات داخلی انبارگردانی Housekeeping) SSD)که بانام جمع‌آوری زباله (garbage collection ) شناخته می‌شود، این فرآیند را ساده و مؤثر می‌سازد.

SSD TRIM چگونه کار می‌کند

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

فرمان SSD TRIM فرمان مکمل عملیات جمع‌آوری زباله (garbage collection) است. فرمان TRIM این توانایی را به سیستم‌عامل (OS) می‌دهد که به SSD اعلام کند، کدام صفحات داده در بلوک مشخصی می‌تواند پاک شود و بدین ترتیب از، از دست دادن داده‌های موردنیاز پیشگیری کند، این کار کنترل‌کنندۀ SSD را قادر می‌سازد تا به‌طور مؤثرتری فضای ذخیره‌سازی که برای داده وجود دارد را مدیریت کند. در طی فرایند جمع‌آوری زباله، فرمان TRIM هرگونه کپی غیرضروری از صفحات داده حذف‌شده یا نامعتبر را حذف می‌کند تا در زمان صرفه‌جویی کرده و عملکرد SSD را بهبود بخشد.

فرمان SSD TRIM داده‌های نامعتبر را نشانه‌گذاری می‌کند و به SSD می‌گوید که در طی فرآیند جمع‌آوری زباله (garbage collection) آن‌ها را نادیده بگیرد. بدین ترتیب هنگامی‌که عملیات جمع‌آوری زباله (garbage collection) انجام می‌شود صفحات کمتری در SSD  وجود دارد که باید منتقل و جابه‌جا شوند که درنتیجۀ آن تعداد کلی چرخه‌های ثبت/ پاک کردن در رسانۀ فلش NAND کاهش می‌یابد و طول عمر SSD افزایش پیدا می‌کند. NAND در درازمدت و تحت تأثیر چرخه‌های P/E (ثبت و پاک کردن) کهنه و فرسوده می‌شود، بنابراین کاهش تعداد عملیات پاک کردن موجب افزایش طول عمر و استقامت SSD خواهد شد.

برای اینکه TRIM بتواند به‌درستی عمل کند، سیستم‌عامل میزبان و SSD باید از آن پشتیبانی کنند. به‌عنوان‌مثال، در محیط ویندوز، هنگامی‌که یک SSD گزارش می‌دهد که دارای قابلیت TRIM است، سیستم‌عامل عملیات یکپارچه‌سازی (defragmentation) دیسک را غیرفعال و TRIM را فعال می‌کند. وقتی یک کاربر فایلی را حذف می‌کند، سیستم‌عامل یک فرمان TRIM به کنترل‌کنندۀ SSD ارسال می‌نماید تا به آن بگوید هنگامی‌که فرایند جمع‌آوری زباله آغاز شد، کدام صفحات داده را می‌تواند پاک کند. دستور TRIM و دستور نوشتن به‌طور مستقل از یکدیگر عمل می‌کنند. همچنین این امکان برای کاربر وجود دارد که دستور TRIM را به‌صورت دستی اجرا کند یا بر اساس برنامۀ روزانه اجرای آن را زمان‌بندی کند.

بر اساس روشی که RAID از هم جدا و گسسته می‌شود، فرمان SSD TRIM می‌تواند در مواجهه با کنترل‌کننده‌های RAID مبتنی بر سخت‌افزار ممکن است با مسائل و مشکلاتی روبرو شود. هنگامی‌که SSD TRIM با RAID مبتنی بر نرم‌افزار به کار می‌رود، با مشکل کمتری مواجه می‌شود.

مزایای استفاده از TRIM

SSD TRIM ( تریم درایو های SSD) درزمینۀ عملکرد و طول عمر درایوها مزایا و ویژگی‌های مهمی را ایجاد و امکان وجود داشتن آن‌ها را تسهیل می‌نماید.

استفاده از دستور TRIM میزان داده‌ای که SSD باید در هر فرآیند جمع‌آوری زباله (garbage collection ) جابه‌جا کند و همچنین تعداد چرخه‌های پاک کردن را کاهش می‌دهد و درنتیجه موجب طول عمر درایو می‌شود. با اجتناب از کپی‌های غیرضروری از داده‌ها، عملکرد دستور نوشتن بهبودیافته و با سرعت بیشتری انجام می‌شود.

مقایسۀ SSD TRIM و یکپارچه‌سازی (Defrag)

SSD TRIM و یکپارچه‌سازی دیسک سخت (HDD defragmentation) عملیاتی هستند که برای بهبود عملکرد و کار آیی درایو و افزایش تأثیرگذاری ذخیره‌سازی طراحی‌شده‌اند، اما به روش‌های متفاوتی اجرا می‌شوند.

فرآیند یکپارچه‌سازی دیسک سخت (HDD (defragmentation قطعات (fragments) داده‌هایی را که یک فایل را تشکیل می‌دهد جابه‌جا و مجدداً مرتب می‌کند تا به‌سرعت بالاتری دست یابد. بلوک‌های قطعه‌قطعه شده را در یک گروه به‌هم‌پیوسته ادغام می‌کند و با این کار تعداد جستجوی سر صفحه‌های که باید در HDD انجام شود را کاهش می‌دهد و به دنبال آن عملکرد خواندن بهبود پیدا می‌کند. اگرچه فرآیند یکپارچه‌سازی گروه‌های موجود در فضای آزادشده در درایو را به فضایی پیوسته تبدیل می‌کند، فضای کلی آزادشده، فضای مؤثری نیست.

SSDها سر صفحه‌های مربوط به خواندن و نوشتن را جابه‌جا نمی‌کنند و به یکپارچه‌سازی (defragmentation) به روش سنتی نیازی ندارند. ازآنجایی‌که استفاده از فرمان TRIM به عملیات جمع‌آوری زباله (garbage collection) و فرآیندهایی که در پس‌زمینه در حال انجام شدن هستند اجازه می‌دهد تا داده‌‌های بلااستفاده و نامعتبر را نادیده بگیرند، به بهینه‌سازی ظرفیت SSD کمک می‌کند. نتیجۀ نهایی این است که داده‌ها با سرعت بالاتری ثبت و نوشته می‌شوند و درایو دیرتر فرسوده می‌شود.