Có cách nào để tìm kích thước trang SSD trên Linux / Unix không? Khối vật lý của thế giới là gì trong đầu ra fdisk là gì?


16

Ở mọi nơi tôi đọc rằng SSD bên trong được cấu trúc trong các "trang" 4K hoặc lớn hơn, được nhóm thành "khối" khoảng 128-256 trang ( 1 , 2 ). SSD hoạt động với các trang và khối này, "chúng chỉ có thể xóa dữ liệu ở cấp độ khối" (do đó, khối trang được gọi là "khối xóa [NAND]"). Và các khối 512B cho phân vùng được mô phỏng (được thực hiện vì lý do cũ).

Tôi đang cố gắng để được giáo dục về SSD, vì tôi có một số độ trễ / đóng băng kỳ lạ trong khi ghi vào Sandisk U100 của tôi trên máy tính xách tay Samsung 9 np900x3c. Và một điều hữu ích là tìm ra chính xác những trang / khối mà SSD của tôi có?

Có tiện ích hoặc /sys/...tệp nào trên Linux để xác định kích thước trang SSD không?

Hoặc "ổ đĩa và làm cho số phần trên chip NAND có thể cần thiết", như trong nhận xét ?

Googling SSD Sandisk của tôi Tôi không thể tìm thấy một biểu dữ liệu / thông số kỹ thuật phù hợp. Nhưng Sandiskmọi người đề cập đến "4K đọc / ghi ngẫu nhiên". Có nghĩa là đĩa có các trang 4K?

Ngoài ra, fdiskhiển thị cho tôi kích thước cung (cả vật lý và logic) và I / O 512 byte:

Disk /dev/sda: 128.0 GB, 128035676160 bytes
255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4b914713

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    50331647    25164800   83  Linux
/dev/sda2        50331648   239583231    94625792   83  Linux
/dev/sda4       239583232   250068991     5242880   82  Linux swap / Solaris

Quy mô ngành "vật lý" ở đây là gì? Nó dường như không phải là thông số của chính ổ SSD, vì mọi người đều nói các trang SSD là 4K +. Đây có phải là tham số mô phỏng cho đĩa không? Và "logic" là kích thước cung cấp cho phân vùng? Ngoài ra, kích thước I / O là gì?

PS

Câu hỏi này có lẽ giống như câu hỏi này dành cho flash USB - câu trả lời bị thiếu điểm ở đó, man fsstatnói fsstat displays the details associated with a file systemvà câu hỏi là về chính đĩa. Bài viết của tôi có nhiều chi tiết hơn, có lẽ nó sẽ thu hút phản hồi tốt hơn?

Câu trả lời:


11
  • Kích thước khối vật lý được báo cáo bởi fdisklà kích thước khối vật lý được báo cáo bởi đĩa khi được hỏi. Nó hiếm khi có bất kỳ mối quan hệ với các trang SSD hoặc xóa các khối.

  • 4 đọc / ghi KiB là thước đo phổ biến của hiệu suất I / O, đại diện cho các hoạt động I / O "nhỏ".

  • Không có cách tiêu chuẩn nào để SSD báo cáo kích thước trang hoặc xóa kích thước khối. Rất ít nếu có nhà sản xuất báo cáo chúng trong bảng dữ liệu. (Bởi vì chúng có thể thay đổi trong suốt vòng đời của SKU, ví dụ do thay đổi nhà cung cấp.) Có một whitepaper từ Intel cho thấy rằng căn chỉnh 4 KiB là đủ.

  • Để sử dụng thực tế, chỉ cần căn chỉnh tất cả các cấu trúc dữ liệu của bạn (phân vùng, tải trọng của các thùng chứa LUKS, khối lượng logic LVM) thành 1 hoặc 2 ranh giới MiB. Rốt cuộc, đó là một ổ SSD - nó được thiết kế để đối phó với các hệ thống tệp thông thường, chẳng hạn như NTFS (sử dụng 4 đơn vị phân bổ KiB). Nếu Windows cho rằng việc căn chỉnh các phân vùng thành 1 MiB là đủ, bạn có thể đặt cược rằng bất kỳ nhà sản xuất SSD nào cũng sẽ đảm bảo rằng các sản phẩm của họ hoạt động tốt với cấu hình như vậy.

  • Tốt nhất để lại khoảng 5% đến 10% không gian chưa phân bổ bên ngoài bất kỳ phân vùng. Có không gian được cung cấp quá mức sẽ giúp ích rất nhiều cho SSD trong việc duy trì hiệu suất của chúng kịp thời.


"Có một whitepaper từ Intel cho thấy rằng căn chỉnh 4 KiB là đủ." Làm thế nào để bạn có được điều đó từ các giấy liên kết? Tôi nhìn qua nó, và không rõ ràng nơi bài báo đang tuyên bố điều đó.
Matthew

@Matthew: Trang 7: "hầu hết các ổ cứng mới và SSD Intel hoạt động tốt hơn với căn chỉnh 4096 Byte (4KB)" .
AlexP

Tôi đọc nó là "so với 512 byte", điều này hầu như không đáng ngạc nhiên. Ngoài ra, các số liệu sau đây dường như ngụ ý kích thước trang 4KiB. Tôi không đọc điều đó với ngụ ý rằng "4KiB là đủ tốt cho các ổ đĩa có trang> 4KiB" ... hoặc nó có nghĩa là nói bất cứ điều gì về các ổ đĩa không phải của Intel.
Matthew

+1 để tuân thủ nghiêm ngặt ký hiệu KiB / MiB --- xem man unitscho những người hoài nghi
XavierStuvw

Tại sao việc có không gian được cung cấp quá mức ... giúp ích rất nhiều cho SSD trong việc duy trì hiệu suất của chúng kịp thời ?
XavierStuvw

2

smartctl(có sẵn trong smartmontools) nên làm điều đó cho bạn.


2
Làm thế nào OP sẽ sử dụng công cụ này để làm như vậy?
roaima

hiện tại tôi đang nhận được cùng một lĩnh vực vật lý & logic 512B smartctl -i /dev/sda, không biết cách đọc smartctl --all /dev/sdasmartctl --xall /dev/sdagửi kernel vào hoảng loạn ..
xealits

2
Đã đọc trên SMART , tôi nghĩ rằng nó không giải quyết được thông tin như cấu trúc bên trong của SSD - nó theo dõi một số thông số về lỗi / "sức khỏe" của đĩa, cố gắng nắm bắt khả năng lỗi đĩa
xealits
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.