Re:Samsung Announces Key-Value SSD Prototype
by floatboth on Thursday September 05, 2019 @04:21PM
(#20890329)
Well, on the other hand, better to have the ability to deal with it rather than have everything obfuscated in unfixable proprietary firmware…
Re:Samsung Announces Key-Value SSD Prototype
by adtac on Thursday September 05, 2019 @05:19PM
(#20890723)
If anyone else is interested in understanding the internals of flash memory, see: https://www.youtube.com/watch?v=s7JLXs5es7I (I was curious to see why flash memory has error rates and wears out on multiple writes.)
You may need a basic background in solid state physics for some parts.
Re:Samsung Announces Key-Value SSD Prototype
by tenebrisalietum on Thursday September 05, 2019 @05:14PM
(#20890693)
I know how flash works. Linux, for example, supports all the "weirdness" of flash with an MTD module which is low-resource enough for single-core sub 1GHz routers with 16MB and 32MB of RAM to handle. I don't see how that is a burden to a 32-core or higher amd64 architecture CPU in a database server whatsoever.
And SSDs already abstract that without adding a key-value store on top of it.
Re:Samsung Announces Key-Value SSD Prototype
by duskwuff on Thursday September 05, 2019 @06:53PM
(#20891376)
The Linux mtd stack is incredibly primitive by today's standards. It's primarily targeted at small SLC flash devices, like the ones you're describing that might be found in a small embedded device, not the large MLC (or beyond) devices that are used in modern storage.
It's telling that high-end embedded Linux devices, like Android phones, typically use storage devices which implement their own translation layer, like eMMC or NVMe devices, not raw flash.
Re:Samsung Announces Key-Value SSD Prototype
by wtallis on Thursday September 05, 2019 @05:27PM
(#20890789)
> Linux, for example, supports all the "weirdness" of flash with an MTD module which is low-resource enough for single-core sub 1GHz routers with 16MB and 32MB of RAM to handle.
Managing 16MB of SLC NOR flash is trivial for a 580MHz MIPS core with 32MB of DRAM. Managing 16TB of TLC NAND is completely different. There's a reason that SSDs almost always have 1GB of DRAM for every 1TB of NAND.
Re:Samsung Announces Key-Value SSD Prototype
by ClumsyPilot on Thursday September 05, 2019 @07:49PM
(#20891683)
I don't think my router's 16MB of flash are optimised for performance.
Additionally, i will need an implementation for windows, an implementation for Linux, one for openBSD. Then there are many different kinds of flash memory on the market, do you really want to debug why your OS is loosing data with a new SSD that uses some weird flash memory?
The error rate of raw flash is incredibly high -- it takes loads of error correction to make it reliable, especially with modern MLC and QLC memories -- and the structure of flash erase blocks means that it doesn't support random-access writes. A proper flash translation layer, implemented in hardware, means that software can forget about all the strange features of flash and use it as general-purpose block storage.