Tôi có nên chống phân mảnh ổ SSD không? [bản sao]


57

Tôi có thể chạy Windows ' defragtrên một SSDổ đĩa không?

Vâng, tôi tin rằng câu trả lời ngắn gọn là , tôi đã nghe nói rằng các ổ SSD yêu cầu các chương trình chống phân mảnh được thiết kế đặc biệtcụ thể .

Có đúng không và nếu có thì tôi có thể lấy nó ở đâu?


6
Trong thực tế, bạn không cần / không muốn chống phân mảnh ổ SSD ... nó sẽ không giúp bạn truy cập nhanh hơn, v.v.
woliveirajr


Tôi nghĩ rằng tất cả các câu trả lời phân mảnh SSD siêu người dùng này đều sai ... ít nhất là theo như cách viết bị phân mảnh. Có, mặc san lấp cố ý các tập tin mảnh. Tuy nhiên, điều đó xảy ra theo gia số của kích thước khối xóa. Nếu khối hệ thống tệp tối thiểu nhỏ hơn khối xóa (hầu như luôn luôn và bởi một yếu tố lớn), thì một tệp bị phân mảnh khi được viết sẽ dẫn đến nhiều khối xóa được viết lại. Nó thực sự có thể là một hiệu suất ghi khá đáng kể nếu các khối / cụm / inodes / vv trong các khối xóa khác nhau bị phân mảnh nhiều.
darron

Và nó trở nên tồi tệ hơn nhiều với bộ lưu trữ flash "giá rẻ" như USB và SD: google.com/search?q=how%20to%20damage%20flash%20st
Storage

Câu trả lời:


110

Vì dường như có một số tranh cãi về điều này, tôi nghĩ sẽ hữu ích khi đưa ra một lời giải thích chi tiết:

Bạn không bao giờ nên chống phân mảnh ổ SSD. Thậm chí đừng nghĩ về nó. Lý do là vị trí dữ liệu vật lý trên SSD chỉ được xử lý bởi phần sụn của SSD và những gì nó báo cáo cho Windows KHÔNG phải là cách dữ liệu thực sự được lưu trữ trên SSD.

Điều này có nghĩa là vị trí dữ liệu vật lý mà trình chống phân mảnh hiển thị trong biểu đồ khu vực ưa thích của nó không liên quan gì đến thực tế. Dữ liệu KHÔNG phải là nơi Windows nghĩ và Windows không kiểm soát được dữ liệu thực sự được đặt ở đâu.

Để thậm chí không sử dụng trên các chip bộ nhớ trong, phần sụn SSD cố tình phân chia dữ liệu trên tất cả các chip bộ nhớ của SSD và nó cũng di chuyển dữ liệu xung quanh các chip này khi nó không bận đọc hoặc ghi (trong nỗ lực thậm chí không sử dụng chip .)

Windows không bao giờ thấy bất kỳ điều gì trong số này, vì vậy nếu bạn thực hiện việc chống phân mảnh, Windows sẽ đơn giản gây ra cả đống I / O không cần thiết cho SSD và điều này sẽ không làm gì khác ngoài việc giảm tuổi thọ hữu ích của SSD.


8
@Royi Thật ra việc đọc không làm tổn hại đến SSD, việc viết cũng vậy.
Người trợ giúp nhỏ

54
Hơn nữa, SSD không có thời gian tìm kiếm, vì vậy sẽ không có lợi ích hiệu suất để sắp xếp các tệp của bạn trong các khối liên tiếp.
200_success

5
@OlivierDulac: trong khi dữ liệu của bạn là chính xác, kết luận là hoàn toàn sai. Đó là chu kỳ 3K cho mỗi ô , SSD có chip tiên tiến, đảm bảo phân phối ghi đều trên các ô và ngăn chặn các điểm nóng. Và với TLC, nó thậm chí chỉ 1000 chu kỳ trên mỗi ô. Điều đó có nghĩa là SSD 256 GB TLC, với 10 GB mỗi ngày ghi với khuếch đại 3x, sẽ kéo dài 12 năm. SSD MLC 256GB trong cùng điều kiện sẽ tồn tại 70 năm . Và thậm chí đó chỉ là ước lượng rất bảo thủ, trong cuộc sống thực họ dường như kéo dài hơn nhiều, còn nhiều anandtech.com/show/6459/...
vartec


5
@ 200_success Trên thực tế, SSD có thời gian tìm kiếm. Cụ thể hơn, SSD đọc và ghi nhanh hơn khi bạn sử dụng dữ liệu tuần tự. Người này giải thích nó tốt hơn nhiều so với tôi: dpreview.com/forums/post/40353067 Tôi không biết nếu tăng tốc độ này là vì một số loại "cache", bởi vì thay đổi địa chỉ cần có thời gian, hoặc một cái gì đó tôi có thể' Không thể tưởng tượng được, nhưng SSD có độ trễ cho việc sử dụng không tuần tự. Và điều đó, với tôi mọi người, có nghĩa là họ có thời gian tìm kiếm.
Patrick M

25

Ai đó (200_success) đã đưa ra một nhận xét phù hợp hơn nhiều với câu hỏi và nó đáng để chi tiết hơn.

Trước hết: HDD có nghĩa là ổ đĩa cứng và nó thực sự có một đĩa bên trong nó. Đĩa này được chia thành các phần nhỏ, được gọi là sector, nơi lưu trữ thông tin. Hãy nhìn vào bức ảnh này:

Hình ảnh đĩa

Một lĩnh vực được chỉ định bởi chữ C.

Bây giờ, khu vực này là rất nhỏ: nói chung chỉ có 512 byte. Vì vậy, để lưu trữ một tệp chung 10k, bạn sẽ cần sử dụng nhiều lĩnh vực.

Hãy tưởng tượng rằng các khu vực này là một trong những lĩnh vực khác, như đại diện màu xanh lá cây, chữ D, trong hình. Khi bạn cần đọc tệp, đầu ổ cứng sẽ được định vị ở đầu của khu vực đầu tiên và sẽ đọc tất cả chúng, trong khi đĩa đang quay.

Đó là cách mọi thứ nên hoạt động.

Bây giờ nó có thể xảy ra với tập tin được trải dọc theo nhiều lĩnh vực, mỗi lĩnh vực trong một phần của đĩa. Điều đó có nghĩa là gì? Để đọc lại tệp của bạn, đầu đĩa cứng sẽ được định vị ở đầu của khu vực đầu tiên, đọc nó, sau đó nó sẽ phải di chuyển đến đầu của khu vực thứ hai (đó là một nơi khác trong đĩa), sẽ đọc nó, và cứ thế ...

Điều này sẽ mất một thời gian dài. Chúng ta đang nói về một chuyển động vật lý của đầu. Đầu càng di chuyển thì càng mất nhiều thời gian.

Vì vậy, bạn chống phân mảnh đĩa: chương trình cố gắng di chuyển tất cả các phần của tệp sao cho chúng kết thúc theo trình tự, dễ đọc hơn và nhanh hơn, vì sẽ có ít chuyển động vật lý của đầu để đọc mọi thứ.

Ok cho đến nay? Vì vậy, chúng tôi bắt đầu nói về SSD: chúng là một loạt chip nhớ trên bảng. Khi bạn lưu hoặc đọc một cái gì đó từ chúng, chip điều khiển chỉ cần kích hoạt một số bit và, voilà , chip chính xác được đọc từ bộ nhớ. Và không quan trọng là nó được lưu trữ ở đâu, hành động truy cập chip bộ nhớ nhanh hơn nhiều so với di chuyển vật lý của ổ cứng. Vì vậy, đại khái, bạn sẽ không nhận thấy thời gian đó trong một tệp bị phân mảnh trong SDD.

Và, chi tiết và chính xác hơn, chip điều khiển sẽ phân tán tệp của bạn giữa nhiều chip để tận dụng các lần đọc song song, do đó, nó biết cách xử lý các tệp của bạn để chúng luôn được lưu trữ ở mức tốt nhất (tối ưu hóa về tốc độ và hao mòn những bộ nhớ chip) hơn Windows có thể biết.


Phân mảnh không chỉ là vấn đề của đĩa vật lý mà còn của hệ thống tệp quản lý dữ liệu của bạn. Các tệp bị phân mảnh cao có rất nhiều phần mở rộng / chạy được lưu trữ trong bản ghi NTFS của chúng, chúng cần được xử lý khi bạn đọc toàn bộ tệp từ đĩa. Điều đó không khác biệt trên SSD.
Gene

Chống phân mảnh giải quyết một số vấn đề tổ chức NTFS nhỏ là một loại điều khác với phân mảnh bù cho các vấn đề về hiệu suất do đĩa quay có đầu di chuyển. Lý do duy nhất NTFS thậm chí có các phạm vi này là vì mục đích quay đĩa với đầu di chuyển, phải không?
Kaz

@Gene: Anh ấy đã không nói rằng anh ấy đang sử dụng NTFS ... Vâng, phân mảnh giúp hiệu suất, nếu bạn là người dùng hàng đầu :-). Nhưng đó không phải là kết quả đáng kinh ngạc mà ai đó đã có khi anh ta chống phân mảnh đĩa trong kỷ nguyên Win95. Và chạy phân mảnh thường chỉ để kiếm được 0,01 micro giây không đáng để mặc. Lo lắng về việc chống phân mảnh trong SSD và trong vài ngày nữa, chúng ta sẽ thảo luận nếu việc thay đổi xen kẽ các lĩnh vực trong SSD sẽ có giá trị như trong các đĩa mềm đó . ;-)
woliveirajr

2
@woliveirajr - Tôi nhớ đã thay đổi xen kẽ trên ổ cứng của tôi vào cuối những năm 1980 và tốc độ PC của tôi tăng hơn gấp đôi. Thỉnh thoảng tôi tự hỏi liệu xen kẽ sẽ làm cho bất kỳ sự khác biệt trên PC ngày nay.
Paddy Landau

@PaddyLandau :) Theo như tôi biết, tất cả các ổ cứng thực sự không có nhu cầu xen kẽ (tất cả các lĩnh vực được đọc liên tiếp, không cần đặt xen kẽ)
woliveirajr

13

Công cụ chống phân mảnh tích hợp trong Windows 8 sẽ không chống phân mảnh ổ SSD của bạn, nhưng gửi một loạt các lệnh cắt cho thiết bị. Để biết thêm chi tiết về điều này, xem câu hỏi này . Như Roberts đã chỉ ra, bạn hoàn toàn không muốn chống phân mảnh ổ SSD của mình.


2
Thật tuyệt, tôi không biết rằng Windows 8 có thể tối ưu hóa SSD. Đối với ổ Intel của tôi trên Windows 7, bạn có thể sử dụng chương trình có tên SSD Toolbox của Intel để tối ưu hóa hiệu suất của ổ đĩa. Tôi chưa bao giờ nhận thấy rằng nó thực sự làm cho bất kỳ sự khác biệt mặc dù.
Tim B
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.