This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Next revision Both sides next revision | ||
start [2018/09/26 22:47] Robert Elliott |
start [2018/09/26 23:19] Robert Elliott |
||
---|---|---|---|
Line 134: | Line 134: | ||
| devdax | device DAX | /dev/daxN.M | character | yes | no | no | yes | yes | dax | | | devdax | device DAX | /dev/daxN.M | character | yes | no | no | yes | yes | dax | | ||
- | For modes with PFN metadata ("struct page" metadata), overhead is 64 bytes per 4 KiB of persistent memory. | + | There are two places to store PFN metadata ("struct page" metadata): |
- | * e.g., 128 MiB for 8 GiB persistent memory | + | |
- | * e.g., 7.45 GiB for 1 TB persistent memory | + | |
* --map=mem = regular system memory | * --map=mem = regular system memory | ||
* adequate for small persistent memory capacities | * adequate for small persistent memory capacities | ||
Line 142: | Line 140: | ||
* intended for large persistent memory capacities (there might not be enough regular memory in the system!) | * intended for large persistent memory capacities (there might not be enough regular memory in the system!) | ||
* persistence of the PFN metadata is not important; this is just convenient because it scales with the persistent memory capacity | * persistence of the PFN metadata is not important; this is just convenient because it scales with the persistent memory capacity | ||
+ | |||
+ | The PFN metadata size is 64 bytes per 4 KiB of persistent memory (1.5625%). For some common persistent memory capacities: | ||
+ | ^ persistent memory capacity ^ PFN metadata size ^ example ^ | ||
+ | | 8 GiB | 128 MiB | | | ||
+ | | 16 GiB | 256 MiB | | | ||
+ | | 96 GiB | 1.5 GiB | Six 16 GiB NVDIMMs | | ||
+ | | 128 GiB | 2 GiB | | | ||
+ | | 192 GiB | 3 GiB | Twelve 16 GiB NVDIMMs | | ||
+ | | 256 GiB | 4 GiB | | | ||
+ | | 512 GiB | 8 GiB | | | ||
+ | | 768 GiB | 12 GiB | Six 128 GiB NVDIMMs | | ||
+ | | 1 TiB | 16 GiB | | | ||
+ | | 1.5 TiB | 24 GiB | Six 256 GiB NVDIMMs | | ||
+ | | 3 TiB | 48 GiB | Six 512 GiB NVDIMMs | | ||
+ | | 6 TiB | 96 GiB | Six 1 TiB NVDIMMs, or twelve 512 GiB NVDIMMs | | ||
+ | |||
Sector Atomic mode uses a Block Translation Layer (BTT) to help software that doesn't understand sectors might end up with a mix of old and new data if power loss occurs while writes were underway. | Sector Atomic mode uses a Block Translation Layer (BTT) to help software that doesn't understand sectors might end up with a mix of old and new data if power loss occurs while writes were underway. |