Trong thế giới công nghệ SSD, tính năng Thu gom rác (Garbage Collect) và TRIM được nhắc đến rất nhiều. Vậy những thuật ngữ này có ý nghĩa gì? Trong bài viết này, chúng ta sẽ cùng tìm hiểu tính năng Thu gom rác, cách thức hoạt động, cũng như mối liên hệ của tính năng này với lệnh TRIM.
Garbage Collect SSD là gì?
Mục tiêu của việc thu gom rác là nhằm tối ưu hóa ổ cứng một cách định kỳ. Từ đó giúp SSD chạy hiệu quả và duy trì hiệu năng trong suốt vòng đời.
Không giống như ổ đĩa cứng (HDD), SSD và các ổ lưu trữ NAND Flash khác không thể ghi đè lên các dữ liệu hiện có. Các ổ cứng này phải đi qua chu kỳ Lập trình/Xóa. Bộ nhớ flash được chia thành các khối, các khối này lại được chia thành trang; dữ liệu được ghi ở cấp độ trang và được xóa ở cấp độ khối.
![tìm hiểu trim ssd 2](https://yeuphancung.com/wp-content/uploads/2023/09/tim-hieu-trim-ssd-2.jpg)
Để có thể xóa dữ liệu, trước tiên, tất cả các dữ liệu hợp lệ (trang) từ khối ban đầu phải được sao chép vào một trang trống của một khối mới. Để ghi lên một khối dữ liệu đã được sử dụng, đầu tiên, bộ điều khiển SSD sẽ sao chép tất cả dữ liệu hợp lệ (đây là những dữ liệu vẫn đang được sử dụng) và ghi các dữ liệu này vào các trang trống trên một khối khác, rồi xóa tất cả các ô trong khối hiện tại (cả dữ liệu hợp lệ và không hợp lệ) và sau đó bắt đầu ghi dữ liệu mới vào khối vừa bị xóa. Quá trình này gọi là thu gom rác.
Quy trình Thu gom rác diễn ra tự động, thường là trong thời gian hệ thống nghỉ, và đóng vai trò thiết yếu để đảm bảo hoạt động của ổ cứng. SSD tích hợp các bộ điều khiển tiên tiến để quản lý bộ nhớ NAND Flash.
![tìm hiểu trim ssd 1](https://yeuphancung.com/wp-content/uploads/2023/09/tim-hieu-trim-ssd-1.jpg)
Trên một hệ điều hành như Windows, khi các tệp bị xóa, HĐH chỉ đánh dấu vào bảng tệp nội bộ của mình để cho biết là tệp này đã bị xóa. Trên ổ đĩa cứng (HDD), dữ liệu hiện không hợp lệ này vẫn còn tồn tại và có thể bị hệ thống ghi đè trực tiếp để lưu trữ dữ liệu mới.
Các hệ điều hành mới cũng hỗ trợ lệnh TRIM, theo đó HĐH thông báo với SSD rằng HĐH đã xóa một số tệp nhất định để SSD có thể quản lý quá trình GC tốt hơn nhằm thu hồi lại không gian đó sớm hơn, đồng thời ngăn chặn việc lưu và di chuyển tất cả những dữ liệu không hợp lệ đó.
TRIM SSD là gì?
TRIM là một lệnh cho giao diện ATA (Advanced Technology Attachment). Khi hệ điều hành cần thông báo cho ổ SSD rằng HĐH đang xóa các tệp và các trang thuộc tệp đó cần khả dụng để ghi thông tin mới, thì TRIM sẽ cung cấp tính năng đó. Kết hợp với tính năng Thu gom rác, TRIM hoạt động để giải phóng và sắp xếp ổ SSD của bạn, giúp ổ hiệu quả hơn và kéo dài tuổi thọ.
![tìm hiểu trim ssd 3](https://yeuphancung.com/wp-content/uploads/2023/09/tim-hieu-trim-ssd-3.jpg)
Trước thế hệ Windows 7 và trước khi TRIM ra đời, chúng ta không có cách nào để chỉ định rằng dữ liệu lưu trữ trên SSD đã sẵn sàng cho thao tác xóa. Với TRIM, chúng ta có thể xử lý các trang thuộc về tệp đã xóa bằng tính năng Thu gom rác khi hệ thống ở trạng thái nghỉ vào lần tới.
Không phải mọi hệ điều hành đều hỗ trợ TRIM. Trước Windows 7, ổ SSD chỉ lưu trữ các thông tin không hợp lệ cho đến khi nhận được lệnh ghi thông tin mới vào vị trí đó, điều này vừa khiến hiệu năng chậm chạm, vừa có hại cho tuổi thọ của ổ cứng. Các phiên bản Windows sau này (và OS X Lion trở về sau) đều tự động chạy TRIM cho các ổ SSD có hỗ trợ tính năng này.
Cách kiểm tra trạng thái TRIM
Windows
- Nhấn phím cửa sổ, gõ cmd và chọn Run as administrator để mở Command Propmpt dưới quyền quản trị viên.
- Nhập dòng lệnh sau và nhấn Enter để thực thi
fsutil behavior query DisableDeleteNotify
![tim hiểu trim ssd](https://yeuphancung.com/wp-content/uploads/2022/10/tang-toc-do-mang-windows-10-16.1.jpg)
![tìm hiểu trim ssd 4](https://yeuphancung.com/wp-content/uploads/2023/09/tim-hieu-trim-ssd-4.jpg)
Nếu kết quả là DisableDeleteNotify = 1, thì TRIM đang bị tắt trên SSD của bạn. Còn nếu kết quả là DisableDeleteNotify = 0 thì tức là TRIM đang được bật trên SSD.
MacOS
- Nhấn vào biểu tượng Apple (góc phải trên cùng màn hình), sau đó chọn About This Mac.
- Nhấn vào System Report.
- Ở khung bên phải, dưới mục Hardware, chọn SATA/SATA Express (nếu ổ cứng của bạn là SATA SSD) hoặc NVMExpress (nếu ổ cứng của bạn là NVMe SSD).
- Ở khung bên phải, cuộn xuống và tìm TRIM Support. Nếu giá trị là Yes tức là TRIM đang được bật trên ổ cứng SSD.
![tìm hiểu trim ssd 5](https://yeuphancung.com/wp-content/uploads/2023/09/tim-hieu-trim-ssd-5.jpg)
Linux
- Mở terminal, sau đó gõ sudo -i và nhấn Enter để giúp bạn có thể thực thi tất cả các câu lệnh.
- Gõ hdparm -I /dev/{tên ổ cứng}. Sau đó kiểm tra xem có tham số disacard hoặc dòng Data Set Management TRIM supported hay không để biết SSD có hỗ trợ TRIM không.
- Để kiểm tra trạng thái, chạy dòng lệnh sudo fstrim -v
![tìm hiểu trim ssd 6](https://yeuphancung.com/wp-content/uploads/2023/09/tim-hieu-trim-ssd-6.jpg)
![tìm hiểu trim ssd 8](https://yeuphancung.com/wp-content/uploads/2023/09/tim-hieu-trim-ssd-8.jpg)
Cách kích hoạt TRIM
Windows
- Nhấn phím cửa sổ, gõ cmd và chọn Run as administrator để mở Command Propmpt dưới quyền Admin.
- Nhập dòng lệnh sau và nhấn Enter để kích hoạt TRIM
fsutil behavior set DisableDeleteNotify 0
![tim hiểu trim ssd](https://yeuphancung.com/wp-content/uploads/2022/10/tang-toc-do-mang-windows-10-16.1.jpg)
![tìm hiểu trim ssd 9](https://yeuphancung.com/wp-content/uploads/2023/09/tim-hieu-trim-ssd-9.jpg)
MacOS
Mở terminal, sau đó chạy dòng lệnh sau để kích hoạt TRIM trên MacOS.
sudo trimforce enable
![tim-hieu-trim-ssd-10](https://yeuphancung.com/wp-content/uploads/2023/09/tim-hieu-trim-ssd-10.jpg)
Linux
- Tạo một CRON job để chạy TRIM hàng ngày
gksudo gedit /etc/cron.daily/trim
- Sao chép và dán các dòng lệnh dưới đây vào file vừa tạo
- Cuối cùng là chay job
sudo chmod +x /etc/cron.daily/trim
#!/bin/sh
LOG=/var/log/trim.log
echo “*** $(date -R) ***” >> $LOG
fstrim -v / >> $LOG
fstrim -v /home >> $LOG
Các câu hỏi thường gặp
Tại sao TRIM giúp ổ cứng SSD tăng tốc độ đọc và ghi?
TRIM giúp tăng tốc độ đọc và ghi trên SSD bằng cách loại bỏ dữ liệu không cần thiết và sắp xếp lại các khối dữ liệu trên ổ đĩa.
Khi một file được xóa trên SSD, không giống như ổ cứng thông thường, không thể ghi đè trực tiếp lên vùng dữ liệu đã xóa. Thay vào đó, SSD phải xóa toàn bộ khối dữ liệu chứa file đó trước khi ghi dữ liệu mới lên. Quá trình này gây ra hiện tượng gọi là write amplification (tăng cường ghi) và làm giảm hiệu suất của SSD.
TRIM giúp giảm hiện tượng write amplification bằng cách thông báo cho SSD biết vùng dữ liệu nào đã bị xóa và không còn cần thiết. Khi SSD nhận được lệnh TRIM, nó sẽ xóa các khối dữ liệu không cần thiết và sắp xếp lại các khối dữ liệu còn lại. Quá trình này giúp giảm số lần xóa và ghi dữ liệu không cần thiết, làm tăng tuổi thọ của SSD và cải thiện hiệu suất đọc và ghi.
TRIM có tự động kích hoạt sẵn trên máy tính?
Thông thường, máy tính có hệ điều hành windows 7 trở lên thì lệnh TRIM SSD sẽ tự động được kích hoạt khi SSD được cài vào máy. Nên bạn không cần phải quá lo lắng về lệnh TRIM có đang được hoạt động hay không.
Tuy nhiên, có vài trường hợp lệnh TRIM lại chưa được kích hoạt. Đừng lo lắng, mà hãy tham khảo ngay cách kiểm tra xem TRIM SSD đã được bật trên máy tính hay chưa ở bên trên nhé.