Tại sao kích thước phân bổ mặc định của exFAT trong Windows lại cao như vậy?


12

Tham khảo trang này: https://support.microsoft.com/en-us/kb/140365

NTFS không vượt quá kích thước cụm 4KB cho đến khi âm lượng vượt quá 16TB và FAT32 đạt tối đa 16KB trong dải âm lượng 16 GB 16GB trên các phiên bản Windows hiện đại.

tuy nhiên exFAT chỉ mặc định là 4KB trong dải âm lượng 256 MB của 7MB. Sau đó, nó nhảy lên 32KB trong phạm vi 256 MB của 256 MB và hơn thế nữa là 128KB.

Tại sao vậy? Kích thước cụm tương đối cao có vẻ lãng phí, đặc biệt là ở định dạng được thiết kế cho các thiết bị bên ngoài nhỏ hơn, như ổ đĩa flash. Chắc chắn là như vậy nếu bạn định dạng bộ nhớ flash, vì theo tôi hiểu, lợi ích chính cho kích thước cụm lớn hơn là IO nhanh hơn do ít phân mảnh hơn và ít cụm tổng thể hơn để đọc. Sửa lỗi cho tôi nếu tôi sai, nhưng bộ nhớ flash rất nhiều, ít bị chậm lại do phân mảnh. Vậy tại sao làm cho kích thước cụm rất cao?


"Kích thước" và "cao" không đi cùng nhau. Số có thể "cao". "Lớn" là từ đặt cược thay vì "cao".
mùn cưa


chỉ muốn đề cập rằng tôi chỉ định dạng ổ đĩa 1TB bằng kích thước cụm mặc định và các cửa sổ sử dụng kích thước cụm 2048KB !!! Điều này không chỉ thách thức các thông số kỹ thuật trên trang của họ, điều này luôn luôn CÁCH quá cao
woojoo666

Đối với bất kỳ ai đạt được điều này bởi Googling & có thể sao lưu thư mục git vào ổ đĩa / thẻ đang đề cập, điều quan trọng là phải biết nhược điểm của các ngành lớn: mỗi tệp ~ 200 byte trong thư mục git chiếm 1 đơn vị phân bổ đầy đủ. Các lĩnh vực lớn có thể tạo các thư mục dev (có thể có 10k + tệp nhỏ) chiếm nhiều kích thước ổ cứng thông thường. Ex: superuser.com/questions/704218/... superuser.com/questions/1370780/...
kcrumley

Câu trả lời:


11

Vì exFAT được sử dụng chủ yếu cho những thứ như thẻ SD dung lượng lớn và trên thẻ SD, bạn phải xóa một khu vực trước khi bạn có thể ghi vào đó. Nếu bạn sử dụng các cụm nhỏ trên thẻ có kích thước khu vực xóa lớn, điều đó sẽ dẫn đến nhiều lệnh xóa và ghi vào cùng một khu vực, ghi một số cụm dữ liệu liên tiếp vào đĩa không chỉ làm giảm hiệu suất mà còn làm hao mòn đèn flash tế bào. Kích thước khu vực xóa thường không được ghi lại trong bảng dữ liệu thẻ nhưng có thể được tìm thấy trong thanh ghi CSD của thẻ. Nội dung của thanh ghi này sẽ thay đổi từ thẻ này sang thẻ khác tùy thuộc vào thiết kế bên trong của nó. Vì thẻ SD thường được sử dụng trong những thứ như máy ảnh lưu trữ các tệp lớn, nên không gian bị lãng phí của kích thước cụm lớn là không quan trọng,

Trang web này có nội dung của đăng ký này cho khoảng một tá thẻ:

http://goughlui.com/2014/01/03/project-read-collect-decode-sd-card-csd-register-data/

Và nếu bạn nhập nội dung của nó vào máy tính sau, bạn có thể thấy một vài trong số các thẻ 32 / 64GB, kích thước khu vực xóa là 128 khối với một khối là 512 byte. Và đối với thẻ 2GB, kích thước khu vực xóa là 32 khối với khối là 1024 byte.

http://goughlui.com/static/csdecode2.htm

Wether hay không Windows đủ thông minh để truy vấn thanh ghi CSD và đề xuất kích thước cụm hoặc nếu nó chỉ đơn giản là đoán dựa trên phân vùng hoặc kích thước đĩa không xác định. Nếu bạn đã mô phỏng thẻ SD bằng vi điều khiển, bạn có thể tìm hiểu.


1
tôi không biết về việc cần phải xóa bộ nhớ flash trước khi bạn có thể ghi vào nó. Điều đó có ý nghĩa bây giờ. Cảm ơn!
InsanityOnABun

1
Bạn dường như đang giả định rằng thẻ SD không có lớp dịch flash, tức là các khu vực logic liền kề sẽ luôn liền kề về mặt vật lý trong NAND. Mặt khác, các thành phần logic trong một cụm sẽ không phải thuộc cùng một eraseblock. Bằng chứng nào bạn có để hỗ trợ giả định này?
mùn cưa

Thật vậy, một số thẻ SD và ổ đĩa flash hiệu suất cao có lớp dịch và vẫn được định dạng sẵn với cụm 32kb ?? Tôi đã xác minh rằng các cụm 4kb cải thiện hiệu suất cho việc đọc và đọc ngẫu nhiên
thomasrutter
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.