TRIM chính xác là gì?


14

Từ trang Wikipedia của TRIM, tôi có ấn tượng rằng TRIM đã được giới thiệu để hạ thấp ghi vào ổ SSD, nhưng gửi thư cho hệ thống tệp lấy trường hợp các khối không được sử dụng.

Nếu đó là chính xác, điều đó có nghĩa là, SSD không sử dụng TRIM ghi số không vào các khối, khi một tệp bị xóa, để cho SSD biết các khối đó là miễn phí?

Đọc cái này

Các hệ thống tệp trong máy khách có xu hướng không sử dụng lại các khối, điều đó có nghĩa là ngay cả khi hệ thống tệp vẫn nhỏ so với kích thước hình ảnh ảo, kích thước hình ảnh thực tế có xu hướng tăng lên cho đến khi đạt kích thước tối đa.

khiến tôi nghĩ rằng, SSD không ghi đè bằng số không? Hoặc là hệ thống tập tin trong khách, một cái gì đó hoàn toàn khác nhau?

Câu trả lời:


16

Các thiết bị bộ nhớ flash (những gì được sử dụng cho SSD hiện nay) không thể ghi dữ liệu tùy ý bất cứ lúc nào; trước khi ghi lên một ô (thường là 4KB) phải được xóa trước. Thật không may, hoạt động xóa rất chậm; đó là lý do tại sao các thiết bị flash chậm hơn nhiều so với ổ đĩa từ, mặc dù không có bộ phận chuyển động.

SSD hiện đại che giấu thời gian xóa bằng cách duy trì một tập hợp các ô đã xóa trước, điều đó có nghĩa là lệnh ghi sẽ không ghi đè ngay dữ liệu hiện có, thay vào đó, bộ điều khiển của ổ đĩa chọn một ô bị xóa, ánh xạ lại và ghi với dữ liệu mới. Điều đó (và một số chiến lược bộ nhớ cache ghi) mang lại cho ổ đĩa một tốc độ lớn , vượt xa các ổ đĩa từ tính.

Để đảm bảo luôn có một tập hợp các ô được tạo sẵn, bất cứ khi nào một ô không cần thiết, ổ đĩa sẽ lập lịch cho nó để xóa nền và thêm vào danh sách các ô có phí.

Thật không may, các hệ thống tập tin hiện tại đã không bận tâm nói với ổ đĩa khi một khu vực miễn phí. Ổ đĩa được cho là chỉ là một kho lưu trữ bit ngu ngốc. Xóa một tệp hoặc bất kỳ hoạt động nào khác đánh dấu một khu vực là miễn phí theo quan điểm của hệ thống tệp chỉ là một dấu hiệu trên một số cấu trúc siêu dữ liệu. Khu vực này đã không được chạm vào. Ngay cả khi hệ thống tập tin xóa nó bằng cách ghi các số 0 trên nó, ổ đĩa không thể biết liệu điều đó có nghĩa là khu vực đó là miễn phí hay nếu người dùng muốn một số số không trên một tệp. Sau một thời gian, ổ đĩa sẽ không có bất kỳ ô miễn phí nào để xóa trước khi viết; và hiệu suất xuống cấp một cách bi thảm.

Lệnh TRIM nhanh chóng được soạn thảo và thông qua bởi hầu hết các hệ thống tập tin hiện đang được duy trì. Đó là một tín hiệu đơn giản mà hệ thống tập tin sử dụng để nói với ổ đĩa rằng nội dung của một khu vực không còn quan trọng nữa. Ngay khi tất cả các khu vực được ánh xạ trên một ô đều miễn phí, bộ điều khiển SSD sẽ hủy kết nối ô đó và lên lịch để xóa. Nếu máy chủ đọc các thành phần đó, SSD sẽ không tải về từ Flash, nó ngay lập tức phản hồi bằng số không; nhưng hiệu quả quan trọng nhất là giữ cho danh sách các ô được tạo sẵn luôn được bổ sung.

Tuy nhiên, hầu hết các ổ SSD đều có dung lượng nhỏ hơn kích thước vật lý của bộ nhớ Flash, đôi khi thấp tới 75%. Điều đó cho phép nó giữ một số ô không sử dụng ngay cả trên hệ thống đầy đủ 100%, do đó (viết) các lĩnh vực đã sử dụng vẫn còn nhanh.


Hấp dẫn. Về mặt khái niệm, tôi biết về cách TRIM hoạt động nhưng tự hỏi về việc ổ SSD sẽ tiết kiệm được bao nhiêu. Bây giờ tôi muốn xem liệu dữ liệu đó có được công bố ở bất cứ đâu đối với các ổ SSD đã cho không ...
Michael B

Số lượng của các tế bào dành riêng thường được công bố. Nó thường nằm trong khoảng từ 5 đến 10% cho các ổ đĩa tiêu dùng rẻ hơn, 20% + cho các ổ đĩa tiêu dùng cao cấp hơn. Ổ đĩa flash doanh nghiệp (EFD) có xu hướng dự trữ ở bất cứ đâu từ 100% đến 400%; do đó tại sao chúng rất đắt đỏ, họ giữ dự trữ lớn này bởi vì việc ghi vào một vị trí bộ nhớ flash sẽ phá hủy các vị trí một chút mỗi lần. Viết các ứng dụng nặng, thường được tìm thấy trong môi trường máy chủ, sẽ tiêu diệt hầu hết các ổ SSD tiêu dùng một cách nhanh chóng.
Chris S

"Viết trên một ô (thường là 4KB)" - Bạn đang sử dụng sai khái niệm "ô" so với cách sử dụng thông thường cho bộ nhớ flash. Một "ô" flash chỉ lưu trữ một (hoặc một vài) bit. Việc sử dụng "ô" của bạn dường như tương ứng với khối (xóa) lớn hơn nhiều (có thể là 128K), như được mô tả trong các bảng dữ liệu flash IC. Tổ chức dữ liệu là ô <sector <page <block <phẳng <chip.
mùn cưa

8

TRIM được giới thiệu để Hệ điều hành (Hệ thống tệp trong HĐH) có thể giao tiếp với phương tiện lưu trữ ATA mà một khu vực không còn được sử dụng bởi hệ thống tệp. Điều này không có gì để làm với việc ghi vào đĩa.

TRIM không đảm bảo lĩnh vực này bằng không trên phương tiện truyền thông. Nó đảm bảo khi hệ thống tệp yêu cầu đọc từ khu vực đó các số 0 được trả về (lưu ý rằng vì SSD biết khu vực đó là số không nên trả về chúng bất kể những gì thực sự được lưu trữ trên phương tiện truyền thông; dữ liệu từ một đĩa đơn giản đã được cắt bớt, mặc dù thông thường SSD thực sự xóa bộ nhớ).

Các hệ thống tệp có xu hướng phân phối ghi của chúng (vì nhiều lý do, mọi thứ từ cố gắng ghi mức độ, đến thu gom rác, đến ngẫu nhiên các vị trí lưu trữ và hơn thế nữa). Bởi vì điều này, nếu phương tiện truyền thông không biết hệ thống tập tin nào không sử dụng, chỉ đơn giản là viết số không không có nghĩa là khu vực đó không được sử dụng, thì cuối cùng phải giả sử rằng toàn bộ đĩa được sử dụng.

Đối với SSD, giả định này có nghĩa là một khu vực phải bị xóa tại thời điểm ghi, giảm tốc độ ghi; thay vì xóa vị trí bộ nhớ tại thời điểm tệp bị xóa. Similary cho các tệp đĩa ảo trong các hệ thống ảo hóa, tệp đĩa động cuối cùng sẽ bao gồm toàn bộ dung lượng của đĩa ảo. Nếu hệ thống ảo hóa thực hiện TRIM thì nó sẽ biết khi nào một khu vực không còn được sử dụng nữa, và do đó đĩa động không cần phải theo dõi vị trí đó.


Điều đó có nghĩa là, TRIM được giới thiệu để cho SSD biết những lĩnh vực nào được sử dụng, vì vậy nó có thể đưa dữ liệu mới vào các lĩnh vực được sử dụng ít hơn?
Sandra

1
SSD chỉ cần sử dụng TRIM để biết khi nào một khu vực không còn cần thiết. Nó không đảm bảo cân bằng ghi hoặc bất kỳ tính năng nào khác mà phương tiện lưu trữ có thể thực hiện. Điều đó nói rằng, hầu hết các SSD đều sử dụng nó để ghi mức ghi, thu gom rác (trong phương tiện flash, xóa các khu vực không sử dụng) và giữ danh sách khu vực miễn phí để cải thiện hiệu suất ghi).
Chris S
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.