Làm cách nào để xác định kích thước khối xóa Nand của SSD?


14

Gần đây tôi đã chọn một ổ SSD quan trọng M500 240GB (20nm NAND) và tôi đang cố gắng tìm ra cách tốt nhất để phân vùng nó. Hiện tại, tôi đang sử dụng fdisk -cubắt đầu tại khu vực 2048.

Tôi tin nand page sizelà 16KB.

Tôi không thể tìm thấy bất cứ nơi nào những gì nand erase block sizelà cho nó.

Có ai biết câu trả lời cho điều này hoặc lời khuyên chung về phân vùng loạt SSD đặc biệt này không?


1
Mở ổ đĩa và lấy số phần trên chip NAND có thể cần thiết.
LawrenceC

Câu trả lời:


7

Thông tin này đôi khi được công bố trong thông số kỹ thuật của nhà sản xuất SSD, nhưng lần khác thì không có, đặc biệt là đối với thẻ nhớ CF hoặc SD. Không sử dụng Google để tìm kiếm người khác đã thực hiện nghiên cứu, bạn có thể tự mình ước tính nó bằng FlashBench. Tải xuống tại đây: https://github.com/bradfa/flashbench

Công cụ này thực hiện đọc ngẫu nhiên trên ổ SSD và sẽ vẽ một bảng hiển thị thời gian đọc. . Đây là một mẫu từ README:

== Đoán khối xóa và kích thước trang ==

''flashbench -a <device>''

Đây là một thử nghiệm chỉ đọc đơn giản thực hiện các lần đọc nhỏ qua các ranh giới có kích thước khác nhau. Thí dụ:

$ sudo ./flashbench -a /dev/mmcblk0  --blocksize=1024
align 134217728 pre 735µs       on 1.08ms       post 780µs      diff 324µs
align 67108864  pre 736µs       on 1.05ms       post 763µs      diff 300µs
align 33554432  pre 722µs       on 1.04ms       post 763µs      diff 294µs
align 16777216  pre 727µs       on 1.05ms       post 772µs      diff 302µs
align 8388608   pre 724µs       on 1.04ms       post 768µs      diff 299µs
align 4194304   pre 741µs       on 1.08ms       post 788µs      diff 317µs
align 2097152   pre 745µs       on 950µs        post 811µs      diff 171µs
align 1048576   pre 745µs       on 945µs        post 807µs      diff 169µs
align 524288    pre 743µs       on 936µs        post 799µs      diff 165µs
align 262144    pre 746µs       on 948µs        post 809µs      diff 171µs
align 131072    pre 737µs       on 935µs        post 804µs      diff 165µs
align 65536     pre 735µs       on 925µs        post 796µs      diff 159µs
align 32768     pre 735µs       on 925µs        post 800µs      diff 157µs
align 16384     pre 745µs       on 911µs        post 781µs      diff 148µs
align 8192      pre 785µs       on 808µs        post 725µs      diff 53.3µs
align 4096      pre 784µs       on 788µs        post 779µs      diff 5.85µs
align 2048      pre 787µs       on 793µs        post 789µs      diff 4.65µs

Điều này cho thấy thời gian truy cập để thực hiện hai lần đọc 1024 byte xung quanh ranh giới của các khối được căn chỉnh của hai khối. Đọc ở cuối đơn vị 128 MB mất khoảng 735 micro giây, đọc khối cuối cùng của đơn vị này cùng với khối đầu tiên của khối tiếp theo mất khoảng 1080 micro giây và đọc hai khối đầu tiên trong đơn vị 128 MB mất khoảng 780 micro giây.

Số thú vị nhất ở đây là số cuối cùng, sự khác biệt giữa số thứ hai và trung bình của số thứ nhất và số thứ ba là 324 micro giây. Những con số này gần như giống nhau cho tất cả các đơn vị từ 4 MB đến 128 MB.

Tuy nhiên, từ 2 MB xuống còn 16 KB, cột cuối cùng có giá trị thấp hơn nhiều. Điều này cho thấy rằng bất cứ điều gì thẻ nhớ làm trên ranh giới 4 MB đều không xảy ra ở các ranh giới khác. Dự đoán có giáo dục ở đây là 4 MB là kích thước khối xóa, còn được gọi là kích thước phân khúc hoặc đơn vị phân bổ. Việc xóa khối này sẽ cần được sử dụng trong các thử nghiệm khác sau thử nghiệm này.

Tương tự, cả hai ranh giới 16 KB và 8 KB đều đặc biệt. Giải thích hợp lý cho điều này là thẻ có 8 trang KB, nhưng có thể sử dụng truy cập nhiều mặt phẳng để đọc hai trang 8 KB cùng một lúc.

Một số thẻ chỉ hiển thị một mẫu rõ ràng bằng cách sử dụng các truy cập với kích thước khối nhất định, các thẻ khác không hiển thị bất kỳ mẫu nào, điều đó có nghĩa là các số cần được xác định khác nhau.

Ngoài ra, thẻ không bao giờ được viết hoàn toàn có thể hiển thị một hành vi khác vì thời gian truy cập trên các phân đoạn bị xóa trước khác với các thẻ đã được viết.


2

Một nỗ lực khác là căn chỉnh trên một ranh giới là bội số của bất kỳ kích thước khối thực tế nào.

Với khái niệm này, thông thường nhất là căn chỉnh trên ranh giới 1MB, vì vậy sẽ không có vấn đề gì nếu kích thước khối là 4 hoặc 16kb; tất cả những thứ này sẽ là mulitply của 2 và dưới 1M, vì vậy việc căn chỉnh trên ranh giới đó sẽ phù hợp với tất cả.

Tuy nhiên, áp dụng khái niệm này phụ thuộc vào những gì bạn đang sắp xếp; Mất 1MB khi bắt đầu thiết bị lưu trữ dung lượng lớn là hoàn toàn có thể chấp nhận được trong khi mất nhiều lần trong một kịch bản khác nhau có thể không xảy ra.


1

Kích thước khối xóa không có liên quan đến căn chỉnh và M500 hỗ trợ thu gom rác, vì vậy hiệu suất không phải là vấn đề. Vui lòng tham khảo trang 2 của tệp PDF này từ trang web của micron, nơi sẽ giúp bạn xác định xóa kích thước khối dựa trên NAND được sử dụng trong M500 của bạn.

theo như lời khuyên liên kết, xin vui lòng xem Superuser Post tuyệt vời này .

Đây là ảnh chụp màn hình của trang: nhập mô tả hình ảnh ở đây


2
Vì vậy, trong trường hợp này, kích thước khối xóa sẽ được đưa ra ở đâu?
hbogert
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.