I have a https://www.intel.com/content/www/us/en/products/memory-storage/solid-state-drives/gaming-enthusiast... intel 900P installed in a Ubuntu 16.04 machine (with nvme 1.0 kernel module loaded by default)
Some of the system information: (it's recognized as 2700... not 900P, I am not sure it's critical or not..)
lifeng@1wk300(x-pheonix:2):~/Workspace/x-phoenix/build$lspci |tail -1
04:00.0 Non-Volatile memory controller: Intel Corporation Device 2700
Linux 1wk300 4.13.0-38-generic # 43~16.04.1-Ubuntu SMP Wed Mar 14 17:48:43 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
However I saw the output of the fdisk saying it has 512 byte sector size and i/o size
Disk /dev/nvme0n1: 260.9 GiB, 280065171456 bytes, 547002288 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
So here are some of my questions and doubts:
1. Is there any way to reformat the nvme to 4k sector size? I am assuming I will achieving better performance instead of using 512 block size.
2. I have tried the newest release of nvme-format(from the https://github.com/linux-nvme/nvme-cli/blob/master/Documentation/nvme-format.txt nvme-cli) . using the default configurations(nvme-format + device name) gives the same blocks/sector size. I also tried to delete the default namespaces(nvme delete-ns) and create a new namespace of 4k size (create-ns), but it failed .. some of the output(the operation code sent by nvme-cli somehow is not correct..):
lifeng@1wk300(x-pheonix:2):~/Workspace/x-phoenix/build$sudo nvme detach-ns /dev/nvme0 --namespace-id=0x1
lifeng@1wk300(x-pheonix:2):~/Workspace/x-phoenix/build$sudo nvme list-ns /dev/nvme0 --namespace-id=0x1
lifeng@1wk300(x-pheonix:2):~/Workspace/x-phoenix/build$sudo nvme list-ns /dev/nvme0
NVMe Status:INVALID_NS(400b) NSID:0
lifeng@1wk300(x-pheonix:2):~/Workspace/x-phoenix/build$sudo nvme id-ns /dev/nvme0 --namespace-id=0x1
NVME Identify Namespace 1:
nsze : 0x209a97b0
ncap : 0x209a97b0
nuse : 0x209a97b0
nsfeat : 0
nlbaf : 0
flbas : 0
mc : 0
dpc : 0
dps : 0
nmic : 0
rescap : 0
fpi : 0
nawun : 0
nawupf : 0
nacwu : 0
nabsn : 0
nabo : 0
nabspf : 0
noiob : 0
nvmcap : 0
nguid : 00000000000000000000000000000000
eui64 : 0000000000000000
lbaf 0 : ms:0 lbads:9 rp:0x2 (in use)
3. I saw someone suggest using intel ssd data center tool. but it seems like it cannot recognize this ssd... perhaps this product is not supported yet?
lifeng@1wk300(x-pheonix:2):~/Workspace/x-phoenix/build$sudo isdct show -a -intelssd
Thanks for posting in our communities.
Some Intel NVM Express* Drives in the https://www.intel.com/content/www/us/en/products/memory-storage/solid-state-drives/data-center-ssds.... Data Center family support sector size change. However, this is not the case for https://www.intel.com/content/www/us/en/products/memory-storage/solid-state-drives/consumer-ssds.htm... Consumer/https://www.intel.com/content/www/us/en/products/memory-storage/solid-state-drives/gaming-enthusiast... Enthusiast drives such as the Intel® Optane™ SSD 900P Series. You can find more details in the following article:
- https://www.intel.com/content/www/us/en/support/articles/000016238/memory-and-storage/data-center-ss... Change Variable Sector Size on NVM Express* Drives
Please let us know if there's anything else we can do for you.
Thanks for the explanation.
Actually I do have an application which requires 4k logical sector size. I wonder if there is any tool(device mapper like LVM?) which can wrap the 900P's 512 sector size, and to give a 4k block device interface.
Do you have any suggestions?
Thanks for your reply. As we mentioned before, sector change size is not supported on the Intel® Optane™ SSD 900P Series.
We recommend one of the drives on the https://www.intel.com/content/www/us/en/products/memory-storage/solid-state-drives/data-center-ssds.... Intel® SSD Data Center Family that support sector size change.