Mã hóa toàn bộ đĩa trên ổ SSD có làm giảm tuổi thọ của nó không?


55

Tôi sẽ giả định rằng việc triển khai mã hóa toàn bộ đĩa sẽ giới thiệu ghi bổ sung mỗi khi máy tính được khởi động và tắt. Cho rằng các đĩa trạng thái rắn được coi là có dung lượng trung bình thấp hơn để ghi trước khi thất bại, giải pháp mã hóa toàn bộ đĩa có thể làm giảm tuổi thọ dự kiến ​​của đĩa mà nó được triển khai không?

Nếu các giả định của tôi không chính xác, thì tôi cho rằng đây là điểm tranh luận. Cảm ơn trước.


đây là bản sao chính xác của superuser.com/questions/57573/

1
@JarrodRoberson bạn có nghĩa là câu hỏi này? superuser.com/questions/39419/ Dù bằng cách nào, tất cả các câu hỏi liên quan đều có câu trả lời kém hơn, vì vậy tôi sẽ không đóng chúng dưới dạng bản sao của những câu hỏi đó
Ivo Flipse

@IvoFlipse các mấu chốt của câu hỏi tôi gắn cờ là một trạng thái trùng lặp "... Liệu điều này có hiệu quả đặt ổ đĩa vào trạng thái hoàn toàn được sử dụng và làm thế nào sẽ ảnh hưởng này, mặc san lấp mặt bằng và hiệu suất của ổ đĩa? ..." đó là chính xác này cùng một câu hỏi

Câu trả lời:


49

Hãy nghĩ về mã hóa như một bộ chuyển đổi. Dữ liệu được mã hóa đơn giản trước khi được ghi hoặc giải mã trước khi được đọc. Sự khác biệt duy nhất là một khóa được truyền tại một số điểm (thường là khi ổ đĩa / trình điều khiển được khởi tạo) được sử dụng để mã hóa / giải mã.

Đây là một đồ họa (thô) tôi đã ném cùng nhau để hiển thị các mẫu cơ bản:

Sơ đồ thể hiện mã hóa ổ đĩa đầy đủ

Như bạn có thể thấy, không cần phải thực hiện đọc hoặc ghi thêm vì mô-đun mã hóa sẽ mã hóa dữ liệu trước khi dữ liệu được ghi vào đĩa và giải mã nó trước khi nó được gửi đến quá trình thực hiện đọc.

Vị trí thực tế của mô-đun mã hóa có thể khác nhau; nó có thể là trình điều khiển phần mềm hoặc nó có thể là mô-đun phần cứng trong hệ thống (ví dụ: bộ điều khiển, BIOS, mô-đun TPM) hoặc thậm chí trong chính ổ đĩa. Trong mọi trường hợp, mô-đun là ở giữa dây giữa giữa phần mềm thực hiện các thao tác tệp và dữ liệu thực tế trên đĩa của ổ đĩa.


24
Câu trả lời này là không chính xác! Nó phụ thuộc vào số lượng khối mã hóa hệ điều hành cùng một lúc. Giả sử nó mã hóa 4K tại một thời điểm, sau đó chỉ cần sửa đổi một byte sẽ gây ra ghi 8 khối 512 byte vào SSD, trong khi không mã hóa, HĐH (nếu tối ưu hóa tốt) chỉ cần ghi vào 1 khối 512 byte. Vì vậy, mã hóa thêm vào đĩa ghi 8. Trong thực tế, HĐH có thể chọn kích thước khối thích hợp để mã hóa, nhưng câu trả lời không giải quyết được vấn đề này và đưa ra bất kỳ khẳng định nào cho điều đó. Vì vậy, trong thực tế câu trả lời này có thể đúng nhưng về mặt logic thì nó sai, ít nhất là nó không đầy đủ.
icando

21
@icando, đó là một sự đơn giản hóa chung. Bên cạnh đó, những gì bạn đang nói là một mật mã dòng . Chương trình mã hóa toàn bộ đĩa phổ biến / phổ biến nhất, TrueCrypt , sử dụng mật mã khối . Nếu bạn có thể chỉ ra một hệ thống mã hóa toàn bộ đĩa được thiết kế kém và / hoặc sử dụng một mật mã dòng phát sinh loại tác động đó, thì vui lòng làm như vậy và tôi sẽ vui vẻ giải đáp câu trả lời.
Synetech

1
Nếu mô-đun mã hóa nằm trong chính ổ đĩa, thì bạn có thể chắc chắn rằng nó có tính chất của SSD (nếu không thì mfg bị câm và bạn muốn hoàn lại tiền). Nếu mô-đun nằm trong BIOS, thì nó có thể dễ dàng được cập nhật để bao gồm một thuật toán tốt hơn nếu cần.
Synetech

1
Đối với phần mềm, điều đó thậm chí còn dễ dàng hơn để cập nhật. Ví dụ, TrueCrypt đã được cập nhật phân tích về hao mòn SSD [1] [2] và vấn đề chính không phải là hao mòn, mà là nó có thể dễ bị tấn công .
Synetech

9
Mối quan tâm với mã hóa toàn bộ đĩa là DISCARD / TRIM thường bị vô hiệu hóa vì lý do bảo mật. Tất cả các ổ SSD đều có kích thước khối 4kb hợp lý, việc triển khai thực tế bên dưới lớp này được hầu hết các nhà sản xuất giữ bí mật, ngay cả với các ổ đĩa mới hơn có kích thước trang 8kb, chúng vẫn là 4kb dưới vỏ bọc với phần mềm dịch. Không có gì trong số này là vấn đề mà phần sụn thực hiện đúng với cách viết của phần ghi, do đó, khẳng định rằng mã hóa thêm bất cứ thứ gì ít hơn 8X ghi là sự thiếu hiểu biết về mã hóa và hệ thống tập tin và chiến lược ghi phần sụn.

23

Câu trả lời ngắn:
Nếu bộ điều khiển đĩa không sử dụng nén, thì câu trả lời của Synetech là chính xác và mã hóa sẽ không thay đổi bất cứ điều gì. Nếu bộ điều khiển sử dụng nén thì mã hóa có thể sẽ làm giảm tuổi thọ của đĩa (so với một đĩa giống hệt nơi mã hóa không được sử dụng).

Câu trả lời dài:
Một số bộ điều khiển SSD sử dụng nén để giảm thiểu lượng dữ liệu được ghi vào chip flash thực tế và để cải thiện hiệu suất đọc (bộ điều khiển SandForce là một ví dụ điển hình, có thể có các dữ liệu khác). Điều này sẽ hoạt động tốt nhất nếu dữ liệu ghi vào đĩa dễ nén. Các tệp văn bản, tệp thực thi, hình ảnh không nén (ví dụ BMP) và tương tự thường có thể được nén khá nhiều trong khi các tệp đã được nén hoặc được mã hóa gần như không thể nén do dữ liệu sẽ trông gần như hoàn toàn ngẫu nhiên đối với thuật toán nén trong bộ điều khiển .

Phần cứng của Tom đã thực hiện một thử nghiệm tuyệt vời về chính xác điều này trên Intel SSD 520, có thể tìm thấy tại
http://www.tomshardware.com/reviews/ssd-520-sandforce-review-benchmark,3124-11.html

Những gì họ về cơ bản là đo mức khuếch đại ghi (tỷ lệ giữa lượng dữ liệu được ghi vào flash và lượng dữ liệu được gửi vào ổ đĩa) của ổ đĩa khi ghi dữ liệu hoàn toàn có thể nén và dữ liệu hoàn toàn ngẫu nhiên. Đối với dữ liệu hoàn toàn ngẫu nhiên, khuếch đại ghi là 2,9 * có nghĩa là với mỗi GB dữ liệu được gửi vào đĩa, 2,9 GB được ghi vào flash. Bài báo lưu ý rằng đây dường như là con số tương tự được đo trên các ổ đĩa không sử dụng nén. Đối với dữ liệu hoàn toàn có thể nén, tỷ lệ là 0,17 thấp hơn một chút.

Việc sử dụng bình thường có thể sẽ kết thúc ở đâu đó ở giữa trừ khi dữ liệu được mã hóa. Các dự đoán trọn đời trong bài viết có phần mang tính học thuật, nhưng cho thấy mã hóa chắc chắn có thể ảnh hưởng đến tuổi thọ trên ổ SSD với bộ điều khiển SandForce. Cách duy nhất để giải quyết vấn đề này là nếu chính bộ điều khiển có thể thực hiện mã hóa sau khi quá trình nén xảy ra.

* Bài viết không chỉ rõ tại sao 2.9 được coi là giá trị bình thường và tôi chưa thực sự nghiên cứu về nó. Một lời giải thích hợp lý có thể là hầu hết các SSD sử dụng MLC NAND dễ bị lỗi bit (bit lật trong các phần khác của khối xóa có thể xảy ra trong khi viết nếu tôi nhớ lại chính xác). Để sửa lỗi này, dữ liệu có thể được ghi vào một vài nơi để có thể phục hồi hoặc chỉnh sửa.


dữ liệu được mã hóa không lớn hơn nó chỉ được mã hóa, mã hóa không làm cho dữ liệu tăng kích thước. Ai sử dụng tự động nén hệ thống tập tin vào năm 2012?

6
@JarrodRoberson: Bộ điều khiển SSD SandForce nén dữ liệu để giảm thiểu ghi. Cũng có thể có những ví dụ khác.
John Bartholomew

@JohnBartholomew Tôi đã nói, các hệ thống tập tin, đi trước các bộ điều khiển đĩa. Và theo quan điểm không liên quan của bạn, lược đồ nén SandForce được cho là phát hiện dữ liệu "không nén được" hoặc "được nén trước" và không nén nó trong các nỗ lực bắt chước ghi, đây là một bí mật nên chúng tôi sẽ không bao giờ biết chắc. Dù bằng cách nào, nó không chiếm nhiều không gian hơn , chỉ cần nhiều thời gian hơn trong trường hợp cụ thể đó.

1
@JarrodRoberson: Vấn đề là nếu bộ điều khiển cố nén mọi thứ thì hiệu suất (trong thời gian không gian) sẽ tệ hơn nếu tất cả dữ liệu bạn gửi vào đĩa được mã hóa. Sẽ tệ hơn về thời gian vì bộ điều khiển sẽ lãng phí thời gian để phát hiện ra rằng dữ liệu là không thể nén được và nó sẽ tệ hơn trong không gian so với việc cung cấp cho đĩa không được mã hóa (và do đó, trong một số trường hợp, dữ liệu có thể nén được).
John Bartholomew

4
@JarrodRoberson: Không nhận được lợi ích của việc viết ít âm thanh chính xác như những gì OP đã hỏi và là hậu quả trực tiếp của việc mã hóa được sử dụng.
Leo

6

Mã hóa toàn bộ đĩa không làm tăng lượng dữ liệu được ghi vào đĩa, ngoài bất kỳ siêu dữ liệu nào mà lớp mã hóa cần lưu trữ cùng với hệ thống tệp (không đáng kể). Nếu bạn mã hóa 4096 byte, 4096 byte được ghi.


1

Câu trả lời phụ thuộc vào ý của bạn là "mã hóa toàn bộ đĩa".

Nếu bạn chỉ đơn giản có nghĩa là tất cả các siêu dữ liệu tệp và hệ thống tệp được mã hóa trên đĩa, thì không, nó sẽ không ảnh hưởng đến tuổi thọ của SSD.

Tuy nhiên, nếu bạn có nghĩa là "Toàn bộ nội dung của đĩa, bao gồm cả không gian chưa sử dụng, được mã hóa" thì có, nó sẽ làm giảm tuổi thọ, có lẽ là đáng kể.

Các thiết bị SSD sử dụng "cân bằng hao mòn" để truyền bá ghi trên thiết bị để tránh làm hao mòn một vài phần sớm. Họ có thể làm điều này bởi vì trình điều khiển hệ thống tệp hiện đại đặc biệt thông báo cho SSD khi dữ liệu trong một khu vực cụ thể không còn được sử dụng (đã bị "loại bỏ" ed), do đó, SSD có thể đặt khu vực đó về 0 và tiếp tục sử dụng bất kỳ lĩnh vực nào có số lượng sử dụng ít nhất cho lần viết tiếp theo.

Với sơ đồ mã hóa toàn bộ đĩa truyền thống, không có lĩnh vực nào không được sử dụng. Những cái không chứa dữ liệu của bạn vẫn được mã hóa. Bằng cách đó, kẻ tấn công không biết phần nào trong đĩa của bạn có dữ liệu của bạn và phần nào chỉ là nhiễu ngẫu nhiên, do đó khiến việc giải mã trở nên khó khăn hơn nhiều.

Để sử dụng hệ thống như vậy trên SSD, bạn có hai tùy chọn:

  1. Cho phép hệ thống tập tin tiếp tục thực hiện loại bỏ, tại thời điểm đó, các khu vực không có dữ liệu của bạn sẽ trống và kẻ tấn công sẽ có thể tập trung nỗ lực của mình vào dữ liệu của bạn.
  2. Cấm hệ thống tập tin để thực hiện loại bỏ, trong trường hợp mã hóa của bạn vẫn mạnh, nhưng bây giờ nó không thể làm giảm mức độ hao mòn đáng kể, và vì vậy các phần được sử dụng nhiều nhất trong đĩa của bạn sẽ bị hao mòn, có khả năng vượt trội so với phần còn lại của nó.
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.