3 ms·
The PRO table doesn't specify any RAM in it. Does it mean that it's not going to lose data on power loss?
by rhn_mk1 9y ago
The PRO table doesn't specify any RAM in it. Does it mean that it's not going to lose data on power loss?
- garmaine 9y agoSLC caching, so hopefully not? But I think you’d have to test this.
- amluto 9y agoI have no idea whether Samsung uses it, but the NVMe spec allows a device to request use of host memory for caching. It’s considered a low-end feature, since it’s slow and inherently volatile. It’s called “host memory buffer” for those who are curious.
- ahjaiM7r 9y agoVolatile is ok, as long as it honors barrier commands.
- amluto 9y agoI think the bigger issues are bandwidth and power consumption. If software is doing heavy IO, it doesn’t really want to have to contend with the HMB for PCIe and memory bandwidth. Also, a DRAM chip is a DRAM chip. I’d rather pay a couple dollars for a local DRAM chip in the NVMe device than a couple dollars for extra host RAM that will be permanently reserved for the HMB.
- rhn_mk1 9y agoThe heavy IO case is addressed by write-back characteristic of block devices. In the end, the cache is in host RAM regardless of the underlying device type.
- amluto 9y agoI think you may be misunderstanding the issue. A flash controller that tries to look like a block device needs to manage a mapping between logical and physical blocks along with various other pieces of metadata. The on-flash representation needs to be structured in a flash-friendly way, which often means that it’s not efficient to find the metadata needed to process an IO request unless that metadata is cached in memory. On an HMB device, the metadata will be cached in host memory, which will likely adversely affect performance and power efficiency.
- pritambaral 9y agoThe PRO "doesn't rely on SLC write caching".