News for hackers. Stuff that matters.
Re:Samsung's 970 EVO SSDs Reviewed – 500GB and 1TB by amluto on Tuesday April 24, 2018 @12:29PM (#16914065)
I 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.
Re:Samsung's 970 EVO SSDs Reviewed – 500GB and 1TB by ahjaiM7r on Tuesday April 24, 2018 @12:35PM (#16914135)
Volatile is ok, as long as it honors barrier commands.
Re:Samsung's 970 EVO SSDs Reviewed – 500GB and 1TB by amluto on Tuesday April 24, 2018 @01:00PM (#16914391)
I 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.

Re:Samsung's 970 EVO SSDs Reviewed – 500GB and 1TB by rhn_mk1 on Tuesday April 24, 2018 @02:07PM (#16915032)
The 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.
Re:Samsung's 970 EVO SSDs Reviewed – 500GB and 1TB by amluto on Tuesday April 24, 2018 @11:53PM (#16918525)
I 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.