Giải phân mảnh ( defragment) là một việc làm hết sức quen thuộc với anh em xài Windows, đặc biệt là trên các máy cũ sử dụng HDD. Thậm chí việc giải phân mảnh ổ đĩa định kì còn được "khuyên dùng" sau mỗi vài tháng hay vài tuần như một cách giúp tăng tốc hệ thống. Nhưng điều này có luôn đúng hay không? Vì sao chúng ta phải giải phân mảnh? Có thật là người dùng OS X hay Linux không bị phân mảnh HDD? Và nếu bạn xài những bản Windows hiện đại như Windows 7, Windows 8 hay Windows 10 thì việc chạy defragment thường xuyên có còn cần thiết?

Giải phân mảnh ( defragment ) là một việc làm hết sức quen thuộc với anh em xài Windows , đặc biệt là trên các máy cũ sử dụng HDD. Thậm chí việc giải phân mảnh ổ đĩa định kì còn được "khuyên dùng" sau mỗi vài tháng hay vài tuần như một cách giúp tăng tốc hệ thống. Nhưng điều này có luôn đúng hay không? Vì sao chúng ta phải giải phân mảnh? Có thật là người dùng OS X hay Linux không bị phân mảnh HDD? Và nếu bạn xài những bản Windows hiện đại như Windows 7, Windows 8 hay Windows 10 thì việc chạy defragment thường xuyên có còn cần thiết?

Phiên bản ngắn gọn:
Sự phân mảnh diễn ra khi file bị cắt thành nhiều khúc nằm rải rác trên HDD khiến việc truy xuất bị chậm Windows 7 trở lên có cơ chế chống phân mảnh tự động rất tốt, không cần quan tâm nhiều, trừ khi máy rất chậm OS X và Linux cũng có cơ chế chống phân mảnh tốt, cũng không cần quan tâm thường xuyên HDD nên được giải phân mảnh, nhưng SSD thì không
1. Vì sao phải giải phân mảnh?

Ổ đĩa cứng của chúng ta bao gồm các phiến đĩa từ tính bên trong. Trên mỗi đĩa như thế có nhiều vòng tròn chứa dữ liệu, gọi là track. Mỗi track lại được chia tiếp thành những đoạn nhỏ hơn, gọi là sector. Sector là đơn vị nhỏ nhất dùng để lưu dữ liệu trên HDD, và với định dạng NTFS phổ biến hiện nay là một sector có khả năng chứa được tối đa 4KB. Ví dụ, bạn có một file Word dung lượng 40KB thì Windows sẽ sử dụng 10 sector để chứa nó, cứ như vậy mà nhân lên.

[Windows, OS X] Chung ta co can phai chay defragment may tinh thuong xuyen nua hay khong? - Anh 1

10 sector này đôi khi sẽ nằm cạnh nhau, và file của bạn lưu xuống HDD sẽ nằm gọn trên 10 sector này. Nhưng sau đó bạn mở file ra, chèn thêm 1 tấm ảnh vào rồi nhấn save tiếp, tức là dung lượng file của chúng ta giờ đã tăng lên. Lúc này, hệ điều hành sẽ xem thử xem sector nằm liền kề có còn trống hay không, nếu trống và đủ dung lượng để chứa phần dôi ra thì nó ghi vào.

Nhưng không may là trong hầu hết các trường hợp, đoạn trống liền kề này không đủ để chứa phần dung lượng mới tăng thêm của file. Chính vì thế, hệ điều hành sẽ phải cắt file thành nhiều khúc nhỏ và kiếm sector trống nằm ở khác để lưu xuống. Bạn sẽ không thấy được quy trình nói trên, thứ mà bạn thấy vẫn chỉ là 1 file duy nhất, 1 file hoàn chỉnh, nhưng khi nó lưu trên HDD thì nó nằm ở hai vị trí khác nhau, thậm chí là ở 2 phiến đĩa khác nhau.

Giờ bạn lại mở file này ra để xem. Lúc này, hệ điều hành phải "huy động" đầu đọc của HDD đến loạt 10 sector đầu tiên, sau đó lại mất thêm thời gian tìm và đọc tiếp phần còn lại đang nằm rải rác đâu đó trên phiến đĩa. Rõ ràng công đoạn này sẽ mất thời gian hơn so với việc đọc các sector nằm liên tục nhau. Đây là lý do mà tình trạng phân mảnh khiến hệ thống của chúng ta chậm hơn so với trước.

[Windows, OS X] Chung ta co can phai chay defragment may tinh thuong xuyen nua hay khong? - Anh 2

Để giải quyết vấn đề này, người ta đưa ra các công cụ giải phân mảnh (defragmentation). Những công cụ này sẽ cố gắng sắp xếp các sector đang bị phân bổ rải rác của cùng 1 file nằm lại sát nhau nhất có thể. Trong trường hợp lý tưởng, 1 file nằm ở 2-3 nơi có thể được di chuyển về 1 nơi duy nhất trên các sector nằm liên tục. Vậy là đầu đọc của HDD sẽ hoạt động hiệu quả hơn, nhanh hơn, tốc độ mở file và truy xuất của chúng ta từ đó cũng nhanh hơn.

Với SSD, cách ghi dữ liệu theo từng "khúc" cũng gần giống như trên. Tuy nhiên, SSD lại sử dụng điện để truy xuất dữ liệu ở các ô nhớ của mình nên tốc độ cực kì nhanh ngay cả khi các ô đó nằm xa nhau, không như HDD phải chậm chạp di chuyển đầu kim đến đúng chỗ thì mới bắt đầu đọc. Chính vì thế, nhiều chuyên gia, trong đó có cả Microsoft, nói rằng việc phân mảnh hầu như không gây ra tác động gì đến các máy chạy SSD cả. Thậm chí Windows 7 trở lên còn tắt luôn tính năng giải phân mảnh cho các phân vùng nằm trên SSD.

Việc giải phân mảnh trên SSD thậm chí còn làm hại ổ lưu trữ của bạn do SSD chỉ có khả năng ghi dữ liệu với một số lần nhất định. Quá trình giải phân mảnh SSD sẽ xóa và ghi lại các file vào vị trí phù hợp, và điều này sẽ làm mất đi các lần ghi mà đáng ra chúng ta có thể xài để lưu file hữu ích hơn. Nhưng cũng không quá lo lắng, thường tuổi thọ của SSD từ các hãng uy tín rất cao và bạn có thể thoải mái xài 4-5 năm trời mà không bị gì.

2. Cách hoạt động của Windows

Để quản lý ổ đĩa, Windows cần phải biết định dạng file system của ổ hay phân vùng đó. Hiện tại phổ biến nhất là NTFS, sau đó đến FAT32 cũ hơn. Khi bạn lưu một file nào đó lên phân vùng FAT, dữ liệu sẽ được lưu ở đoạn sector gần nơi bắt đầu đĩa nhất. Khi bạn lưu file thứ hai, file này sẽ nằm ngay kế sector kết thúc của file đầu tiên, mà nói bình dân là lưu "sát đít" luôn. Do giữa hai file này không có chỗ trống dự phòng, nếu bạn chỉnh sửa file số 1 khiến nó tăng dung lượng lên thì chắc chắn Windows sẽ phải đi kiếm sector khác để lưu, vậy là bị phân mảnh.

[Windows, OS X] Chung ta co can phai chay defragment may tinh thuong xuyen nua hay khong? - Anh 3

File trong FAT được ghi liền kề nhau, không chừa khoảng trống

Trong khi đó, định dạng NTFS thì thông minh hơn. Nó tạm ra những sector trống với vai trò là vùng đệm xung quanh các file mà bạn đã lưu xuống để lỡ bạn có chỉnh sửa gì thì vẫn còn chỗ cho file phình ra. Tất nhiên, sự thông minh này cũng chỉ ở một mức độ nào đó nên NTFS vẫn bị phân mảnh theo thời gian mặc dù tình trạng không nghiêm trọng như FAT. Nếu bạn hay kiểm tra công cụ defragment của Windows 7 thì thường thấy báo là 0% bị phân mảnh, tức là rất tốt, và mọi chuyện lại còn diễn ra hoàn toàn tự động nữa chứ. Lần cao nhất mà mình thấy là bị 5% phân mảnh, ngay cả khi đó chiếc laptop của mình vẫn chạy ngon và không gặp vấn đề gì.

Trong các bản Windows cũ, từ XP trở về trước, chúng ta thường chạy giải phân mảnh bằng công cụ có sẵn của Windows và buộc phải chạy thủ công. Từ Windows 7 trở về sau, Windows đôi khi sẽ chạy giải phân mảnh tự động ở background và không cho chúng ta biết (thường vào khoảng 1 giờ sáng thứ Tư hàng tuần). Nó cứ âm thầm làm việc để hạn chế việc bị phân mảnh ở mức nhiều nhất có thể. Bản thân Windows cũng được trang bị các thuật toán mới hơn để tình trạng phân mảnh luôn được giữ ở mức hạn chế nhất.

[Windows, OS X] Chung ta co can phai chay defragment may tinh thuong xuyen nua hay khong? - Anh 4

Và như đã nói ở trên, từ Windows 7 trở lên thì Windows sẽ tắt giải phân mảnh với các phân vùng nằm trên SSD vì nó không có tác dụng gì. Ổ SSD còn có chức năng TRIM, nó là một lệnh giúp hệ điều hành biết được ô dữ liệu nào được xem là không còn xài nữa và xóa đi để sẵn sàng ghi dữ liệu mới lên. TRIM được cho là giúp ổ cứng ít bị phân mảnh hơn.

3. Cách hoạt động của Linux và OS X

Linux sử dụng các định dạng file system như ext2, ext3 và ext4 làm mặc định, và hiện ext4 là chuẩn được áp dụng cho hầu hết các bản Linux hiện đại. Định dạng ext hay ở chỗ nó ghi file mới nằm rải rác ở khắp HDD, do đó xung quanh mỗi file sẽ có nhiều không gian trống hơn để chứa phần dữ liệu mới phình ra. Khi một file được chỉnh sửa và dung lượng tăng lên, thường thì sẽ có đủ chỗ trống để ghi vào các sector nằm liên tục hoặc gần nhau.

Trong trường hợp sự phân mảnh có diễn ra do dung lượng file sau khi chỉnh sửa tăng lên quá nhiều, hệ điều hành sẽ cố gắng sắp xếp lại dữ liệu ngay lúc đó nên tình trạng phân mảnh không bị kéo dài và chất đống theo thời gian. Với cách hoạt động như thế này, khi HDD càng đầy dữ liệu thì tình trạng phân mảnh càng diễn ra nặng hơn nhưng cũng không quá nghiêm trọng vì file system đã được thiết kế kỹ cho tình trạng này. Chính vì thế mà người dùng Linux hiếm khi phải giải phân mảnh ổ cứng.

Về phần OS X của Apple, định dạng file system HFS+ cũng được thiết kế theo kiểu chống sự phân mảnh. Nó sẽ không sử dụng lại những vùng dung lượng vừa được giải phóng trên HDD. Thay vào đó, HFS+ sẽ quét ổ đĩa để tìm những vùng trống lớn hơn và dành những vùng này để chứa các file mới tạo ra. OS X còn có một tính năng gọi là Hot File Adaptive Clustering (HFC). HFC sẽ di chuyển những file dạng chỉ đọc (read only) và các file thường dùng sang một khu vực riêng gọi là "hot zone". Vùng này sẽ giúp dữ liệu được truy xuất nhanh hơn. Tuy nhiên, các chức năng chống phân mảnh nói trên sẽ chỉ tỏ ra hiệu quả khi dung lượng trống thấp hơn 90%.

Nói như vậy không có nghĩa là OS X không bao giờ bị phân mảnh. Những người nào thường làm việc với các file lớn cỡ trên 1GB, ví dụ file dự án, file video,... thì có thể cần phải defrag định kì. Ngay cả nhân viên của Apple Store trước đây cũng được trang bị phần mềm iDefrag để sẵn sàng giải phân mảnh cho máy tính của khách hàng khi cần thiết. Nhưng nhìn chung, trừ khi máy bạn rất rất rất chậm và đã thử hết mọi cách mà vẫn không cải thiện thì mới cần nghĩ đến việc giải phân mảnh.

[Windows, OS X] Chung ta co can phai chay defragment may tinh thuong xuyen nua hay khong? - Anh 5

Tóm lại, với Linux và OS X, tình trạng phân mảnh cũng có xảy ra, tuy nhiên hiếm hơn so với Windows, và nếu có thì cũng không nghiêm trọng. Cũng như Windows, SSD không cần phải giải phân mảnh trên Linux và OS X.

4. Kết luận

Ngày nay tình trạng giải phân mảnh đã không còn nghiêm trọng như thời 7-8 năm về trước, một phần vì hệ điều hành đã được cải tiến, file system cũng trở nên thông minh hơn, các công cụ giải phân mảnh cũng đã chạy tự động nên chúng ta không còn phải quá lo lắng về nó. HDD của chúng ta dung lượng cũng lớn hơn nên việc thiếu chỗ lưu trữ vì phân mảnh cũng chẳng đáng kể. Ổ SSD thì lại càng không nên chạy giải phân mảnh do nó chẳng có tác dụng mấy, lại còn làm hại tuổi thọ hơn.

Do đó, bạn nên:
Với Windows XP: giải phân mảnh định kì, có thể là 1-2 tháng một lần Với Windows 7, 8, 10: giải phân mảnh đã chạy tự động, trừ khi bạn cảm thấy máy quá chậm hay tỉ lệ phân mảnh rất cao thì hãy chạy defragment, còn nếu máy đang bình thường thì hãy quên nó đi Linux và OS X: hiếm khi bị phân mảnh, cũng quên nó luôn. Chúc anh em vui vẻ, hạnh phúc với chiếc máy tính của mình và không còn cảm thấy phiều nhiễu vì tình trạng phân mảnh nữa.

Tham khảo: HowToGeek , HowToGeek (2) , MacWorld , OS X Daily