TRIM Enabler hoạt động như thế nào?


8

Gần đây tôi đã mua một ổ SSD phần ba (OCZ) và sử dụng Trim Enabler để kích hoạt TRIM. Tôi đã nhận thấy rằng một số cập nhật phần mềm có thể khiến TRIM bị vô hiệu hóa và do đó đã tò mò về cách TRIM Enabler hoạt động.

  • Liệu nó có thay thế một số KEXT mặc định bằng một tùy chỉnh để hỗ trợ TRIM hay nó chỉ đơn giản là chuyển đổi một số cài đặt PLIST?
  • Dù bằng cách nào, có một tệp nào, khi bị khóa, có thể đảm bảo TRIM vẫn được bật (không có bất kỳ hậu quả tiêu cực nào) không?

Câu trả lời:


9

Trim Enabler vá tệp Kext sau đây

/System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

kiểm tra xem ssd là SSD bên thứ 3 hay Apple Branded:

Chế độ xem hex / ascii của IOAHCI

bạn cũng có thể bật cắt thủ công bằng cách tìm kiếm tất cả các lần xuất hiện của 'Apple' trong tệp và vá chúng trong trình chỉnh sửa hex hoặc qua thiết bị đầu cuối:

##1. Backup old file
    $sudo cp /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage
/System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage.original

##2. Patch the file to enable TRIM support
    $sudo perl -pi -e 's|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00{1,20})[^\x00]{9}(\x00{1,20}\x51)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg' /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

##3. Clear the system kernel extension cache

   $sudo kextcache -system-prelinked-kernel

   $sudo kextcache -system-caches

1
Làm thế nào để bạn thậm chí tìm thấy những thứ này?! Nếu tôi chạy TRIM Enabler để "vá" tệp IOAHCIBlockStorage của mình và sau đó khóa nó (với quyền quản trị viên), tôi có chịu bất kỳ tác động bất lợi nào không? Chắc chắn tôi sẽ không thể hỗ trợ SSD PCIe mới (mà MacBook của tôi thậm chí không có), nhưng liệu nó có ngăn được bất kỳ bản cập nhật nào trong tương lai đảo ngược bản vá không?
Alexander - Tái lập Monica

Dự đoán tốt nhất của tôi: ngay cả khi bạn khóa tệp khỏi chỉnh sửa .. trình cập nhật sẽ chỉ thay thế hoàn toàn tệp bằng một tệp mới. Bạn sẽ phải xóa quyền ghi cho root khỏi thư mục hoàn chỉnh. Trong trường hợp cụ thể đó, tôi cho rằng trình cài đặt sẽ thất bại vì nó không thể ghi vào thư mục. Theo tôi nó không đáng để gặp rắc rối. Chỉ cần khởi động Trim Enabler sau khi cập nhật và áp dụng lại bản vá.
Chrisii

@Chrisii bạn có biết điều này sẽ hoạt động ở Yosemite không? Nó có thay đổi ký kext không?
mở cửa

@thepen Tôi chưa kiểm tra nó nhưng tôi có thể chắc chắn rằng việc sửa đổi tệp sẽ thay đổi chữ ký kext và do đó để làm cho nó hoạt động ngay cả trước tiên bạn sẽ phải vô hiệu hóa xác minh ký kext (Có thể tìm thêm thông tin ở đây cindori .org / trim-enabler-and-yosemite )
Chrisii

2

Thông tin duy nhất tôi có thể tìm thấy về điều này là từ mục FAQ / blogpost

Trả lời: Trim Enabler vá trình điều khiển OSX Trim gốc, hoạt động ở chế độ nền ngay cả khi đóng hoặc xóa ứng dụng. Bản vá này được thiết lập lại trên các bản cập nhật hệ thống, vì vậy có thể nên giữ ứng dụng này.


Đường dẫn thường được đặt lại trên các bản cập nhật khi Apple quyết định cập nhật các phần mở rộng kernel đã đề cập để hỗ trợ các ổ đĩa ssd mới (Suy nghĩ về các sspc ppcie mới được công bố tại WWDC).
Chrisii

2

SSD OCZ sử dụng bộ điều khiển Sandforce được tích hợp bộ sưu tập rác nền trước giúp trì hoãn nhu cầu xóa các khối, giảm nhưng không loại bỏ nhu cầu hỗ trợ TRIM. Trim có thể được coi là một trợ giúp để thu gom rác.

Bộ sưu tập Rác VS

Đối với phần giải thích ngắn, bộ nhớ flash được sắp xếp theo nhóm các trang có thể ghi dữ liệu. Khi một trang được viết, nó không thể được viết lại cho đến khi nó bị xóa. Nhưng một trang chỉ có thể bị xóa trong một nhóm gồm 128 trang thường được gọi là một khối. Sự phức tạp của việc ghi dữ liệu thực sự bắt đầu leo ​​thang trong trường hợp ghi ngẫu nhiên thay thế dữ liệu đã viết trước đó. Viết ngẫu nhiên đưa dữ liệu mới vào các trang bị xóa trước đó ở nơi khác, làm tiêu tan một khối dữ liệu hợp lệ với các bản vá dữ liệu không hợp lệ. Để ghi dữ liệu mới vào các bản vá này, toàn bộ khối - tất cả 128 trang - phải bị xóa. Nhưng trước tiên, tất cả các trang xung quanh có dữ liệu hợp lệ phải được đọc và sau đó viết lại thành các trang trống. Khối trang trống mới bị xóa sau đó đã sẵn sàng để lưu dữ liệu mới.

[V]] Tất cả các SSD dựa trên Flash NAND đều sử dụng GC. Một số sử dụng GC nền trước và một số sử dụng GC nền hoặc thời gian nhàn rỗi. Sự khác biệt giữa chúng được đề cập trong blog của tôi http://blog.lsi.com/dont-let-ssds-throw-away-your-gold/ . Nói một cách đơn giản, bộ sưu tập rác nền sẽ tăng khả năng khuếch đại ghi (WA) và làm hao mòn SSD sớm hơn. Tiền cảnh GC khó đạt được hơn và tôi tin rằng chỉ có bộ điều khiển SandForce mới có thể làm được ngày hôm nay

[V]] TRIM có lợi cho tất cả các ổ SSD bất kể loại bộ sưu tập rác nào được sử dụng. Tôi nói về việc TRIM ra đời như thế nào và tại sao nó lại cần thiết trong blog của tôi http://blog.lsi.com/did-you-ledge-hdds-do-not-have-a-del đấm . Lệnh TRIM được HĐH gửi tới SSD để xác định những trang dữ liệu nào có thể bị bỏ qua trong quá trình thu gom rác. SSD không thể cho biết những tập tin nào đã bị xóa cho đến khi HĐH sử dụng cùng một lĩnh vực để lưu trữ các tập tin mới, nhưng vào thời điểm đó, SSD đã lãng phí chu kỳ bằng cách thu thập dữ liệu không hợp lệ, nhưng SS đã biết.

Bạn có biết rằng ổ cứng không có lệnh Xóa? Đó là lý do tại sao SSD cần TRIM

Giữ TRIM SSD của bạn Một số năm trước, ngành công nghiệp lưu trữ đã kết hợp và phát triển một giải pháp giữa HĐH và SSD bằng cách tạo một lệnh SATA mới có tên TRIM. Đó không phải là một lệnh buộc SSD phải xóa ngay dữ liệu như một số người tin. Trên thực tế, lệnh TRIM có thể được coi là một thông báo từ HĐH về những địa chỉ được sử dụng trước đây trên SSD không còn giữ dữ liệu hợp lệ. SSD lấy các địa chỉ đó và cập nhật bản đồ bên trong của bộ nhớ flash để đánh dấu các vị trí đó là không hợp lệ. Với thông tin này, SSD không còn di chuyển dữ liệu không hợp lệ đó trong quá trình GC, loại bỏ thời gian lãng phí để ghi lại dữ liệu không hợp lệ vào các trang flash mới. Nó cũng làm giảm số chu kỳ ghi trên đèn flash, tăng độ bền cho SSD.

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.