Well, NVMe can be understood at a conceptual level by all persistent geeks. Technically, it gets technical untechnically quickly, like in a Flash.
Not going to be too concerned, yet. Planning on a very, very simple system, one M.2 (NVMe PCIe lane), one namespace ("drive" like sda).
Here's what is on my beginner's mind:
One M.2. I believe the controller is co-resident on that M.2? The host controller is what? the PCIe machinery (hardware + software)?
Whatever ... The way I read this (which, with high probability, could likely be wrong), the following is possible:
One M.2 plugged into your PCIe slot.
Instead of thinking about ONE "drive" like sda, the M.2 could be set up with two namespaces, corresponding to, like, sda and sdb:
One controller: nvme0 and then this:
/dev/nvme0n1 and /dev/nvme0n2
... and each of those could be "partitioned" like /dev/nvme0n1px and /dev/nvme0n2px.
If, somehow there were two controllers (would that happen with two physical M.2 cards?), nvme0 and nvme1 could each access each other's namespaces (and "partitions"). And/or, each controller could also have some private namespaces/partitions to access.
I don't know what advantages exist here, or how one would divide up one M.2 into two namespaces ("drives" like sda and sdb). (Multiple clients/customers?) But I'm sure there must be a way.
Food for thought, input always welcome! At my age now, I really can't afford to spend too much time making my NVM setups complicated!
Not going to be too concerned, yet. Planning on a very, very simple system, one M.2 (NVMe PCIe lane), one namespace ("drive" like sda).
Here's what is on my beginner's mind:
One M.2. I believe the controller is co-resident on that M.2? The host controller is what? the PCIe machinery (hardware + software)?
Whatever ... The way I read this (which, with high probability, could likely be wrong), the following is possible:
One M.2 plugged into your PCIe slot.
Instead of thinking about ONE "drive" like sda, the M.2 could be set up with two namespaces, corresponding to, like, sda and sdb:
One controller: nvme0 and then this:
/dev/nvme0n1 and /dev/nvme0n2
... and each of those could be "partitioned" like /dev/nvme0n1px and /dev/nvme0n2px.
If, somehow there were two controllers (would that happen with two physical M.2 cards?), nvme0 and nvme1 could each access each other's namespaces (and "partitions"). And/or, each controller could also have some private namespaces/partitions to access.
I don't know what advantages exist here, or how one would divide up one M.2 into two namespaces ("drives" like sda and sdb). (Multiple clients/customers?) But I'm sure there must be a way.
Food for thought, input always welcome! At my age now, I really can't afford to spend too much time making my NVM setups complicated!
Comment