7 ms·
Just put a battery on ram and you have an sdd as fast as ram, in principle. The big thing about SSDs is that while sequential reads and writes have steadily im
by gameswithgo 5y ago
Just put a battery on ram and you have an sdd as fast as ram, in principle.
The big thing about SSDs is that while sequential reads and writes have steadily improved, many workloads have not. From a cheap SSD to the best, there is very minimal difference in things like "how fast does my computer boot", "how fast does my game or game level load" and "how fast does visual studio load", or "how fast does gcc compile"
- kmonsen 5y agoIs your second paragraph really true? These exact worlds are the reasons many have upgraded their ssd, the PS5 will only let you start new games from they built in fast hard drive for example.
- wincy 5y agoThe PS5s operating system and even how they package game files had to be developed from the ground up to realize these gains. There’s a good technical talk about it from one of Sony’s engineers. https://m.youtube.com/watch?v=ph8LyNIT9sg https://m.youtube.com/watch?v=ph8LyNIT9sg
- emkoemko 5y agoso Sony made their own OS for PS5? they are not using FreeBSD anymore?
- wtallis 5y agoThey might still be using BSD stuff, but they developed new IO and compression offload functionality that doesn't match any off the shelf capabilities I'm aware of.
- Dylan16807 5y agoYou can get most of the gains just by changing how your game is coded, in a way that will perform very badly if installed on a hard drive. The extra compression and better DMA are useful but not necessary. And I'm not sure what you mean about packaging. The change there is mostly just undoing optimization for slow drives.
- wtallis 5y agoThe PS5 and Xbox Series X were designed to offer high-performance SSDs as the least common denominator that game developers could rely on, so that game devs could start doing things that aren't possible if you still have to allow for the possibility of running off a hard drive. That's still largely forward-looking; most games currently available still aren't designed to do that much IO—but the consoles will treat all new games as if they really rely on that expectation of high performance IO, and that means running them only from the NVMe storage.
- topspin 5y ago"Is your second paragraph really true?" Partially, on a PC. The difference, on a PC, between a high end NVMe SSD and a SATA SSD is minimal for most use cases; small enough that an average user won't perceive much difference. The workloads in question (booting, loading a program, compiling code, etc.) involve a lot of operations that aren't bound by IO performance (network exchanges, decompressing textures, etc.) and haven't been optimized to maximize the benefit of high performance storage so the throughput and IOPS difference of the storage device don't entirely dominate.
- blackoil 5y agoAre these things blocked on disk i/o?
- vbezhenar 5y agoI second that. I have M.2 SSD on laptop and SATA SSD on desktop. There's no perceived difference on disk operations for me outside of corner cases like copying huge file. But there's very noticeable difference between prices.
- reader_mode 5y agoBuild times should be better no ? Unless you have enough ram to keep it all im cache ?
- programmer_dude 5y ago+1, I installed an M.2 SSD in my desktop looking at the quoted 10x difference in speed but I was taken aback at the lack of any perceivable improvement. Money down the drain I guess.
- staticassertion 5y agoThat may be due to the fact that your software (like your OS) was built for a world of slow spinning disks, or maybe semi-slow SSDs at best. Not a lot of code is written with the assumption that disks are actually fast, and it's not too common to see people organizing sequential read/writes in their programs (except for dbs).
- prutschman 5y agoDo you have an NVMe M.2 device specifically? The M.2 form factor supports both NVMe and SATA (though any given device or slot might not support one or the other). I've got a workstation that has both SATA 3 and M.2 NVMe SSDs installed. The SATA 3 device can do sustained reads of about 550 MB/sec, fairly close to the 600 MB/sec line rate of SATA 3. The NVMe device can do about 1.3 GB/sec, faster than physically possible for SATA 3.
- vbezhenar 5y agoYes, I have an NVMe M.2 device. Samsung 970 EVO Plus.
- programmer_dude 5y agoA battery is not a solid state device. It often has liquids/gels (electrolyte) in it.
- branko_d 5y agoSimilar effect existed for the HDDs of old. As the platter density increased, the head could glide over more data at the same spindle speed and you would get increasingly higher sequential speed. But you would not get much better latency - physically moving the head to a different track could not be done significantly faster. With each new generation, you would get only marginally better speed for many workloads that users actually care about. The latest HDDs could saturate SATA bus with sequential reads, but would still dip into KB territory (not MB, let alone GB) for sufficiently random-access workloads. SSDs are similar in a sense that they can be massively parallelized for the increased throughput, but the latency of an individual cell is much harder to improve. Benchmarks will saturate the I/O queue and reach astronomical numbers by reading many cells in parallel, but for most desktop users, the queue depth of 1 (and the individual cell latency) is probably more relevant. That's why a lowly SATA SSD will be only marginally slower than the newest NVMe SSD for booting an OS or loading a game.
- TwoBit 5y agoDoesn't it depend a lot on the game? A well designed game could get a lot more out of a fast SSD.
- Dylan16807 5y agoYeah, there's absolutely no reason game loading should be serial. It's straightforward for a game to figure out everything it needs and grab dozens in parallel. That said, it's still true that you typically won't see a very big difference. Any SSD can support loading a level in a few seconds. The difference between normal flash and ultra-fast flash won't show up much unless you're aggressively streaming level data off the drive in real time.
- branko_d 5y ago> Yeah, there's absolutely no reason game loading should be serial. It's straightforward for a game to figure out everything it needs and grab dozens in parallel. And that would likely tank the performance if the game is running from an HDD. I suspect you could design the storage layer of your game/app/whatever to take into account the performance characteristics of the underlying drive, and adjust your I/O pattern to be more parallel or more serial accordingly. I also suspect that would not be easy/economical to do within the time/budget constraints of most projects.
- toast0 5y ago> From a cheap SSD to the best, there is very minimal difference. I've got a cheap SSD that will change your mind. It has amazingly poor performance though, I agree with the general concept that while quantitative differences can be measured, there's not a qualitative difference between competent SSDs.
- dkersten 5y ago> Just put a battery on ram and you have an sdd as fast as ram, in principle. That reminds me of non-volatile SRAM modules you can get by Microchip. How it works is that its just normal SRAM, but each cell is connected to a matching flash cell and when the mdoules voltage drops below a threshold, it writes the SRAM contents to flash in parallel. When the voltage is restored, it does the reverse. The user-observable effect is that you have normal SRAM (speed and it doesn't wear out) but its non-volatile. In reality, its a clever trick, but since the flash is only written when the module is powered off (not per-write to the module), you get a lot more use before it wears out. Of course these modules are tiny (a few KB), but I still thought it was pretty interesting!