12 ms·
Seagate Creates an NVMe Hard Disk Drive
- johnklos 5y agoThe article is written as if by someone who barely knows technology and is writing for people who don't know whether the monitor or the box it's attached to is the computer. "Special drivers"? What year is it? Is "the datacenter" run on Windows ME? Seriously, PCMAG, try a little harder.
- wtallis 5y ago> "Special drivers" The only mention of drivers I can find in the article is an entirely correct reference to the fact that SAS and SATA HBAs frequently require proprietary (or at least vendor-specific) drivers. I'm not aware of any 8+ port SATA HBAs that use the vendor-neutral standard AHCI interface.
- t0mas88 5y agoNVMe also does away with the controller knowing about the disk layout and addressing. Which may make sense for future disks and ever increasing cache sizes. At some point you probably want to put all the logic in the drive itself to optimise it (as SSDs already do)
- oneplane 5y agoIndeed, ideally the controller or HBA should really just provide the fabric and nothing more. A bit like Thunderbolt and USB4.
- wmf 5y agoHasn't LBA been around since 1990 or so?
- wtallis 5y agoEven the old cylinder/head/sector addressing almost never matched the real hard drive geometry, because the floppy-oriented BIOS CHS routines used a different number of bits for each address component than ATA did, so translation was required even for hard drives with capacities in the hundreds of MB.
- trasz 5y agoSCSI already got rid of knowledge of disk layout/addressing some 30 years ago.
- oneplane 5y agoLike the article explains, it makes sense if you can do this and reduce the amount of now 'legacy' interfaces. We used to do IDE emulation over SATA for a while, then we got AHCI over SATA and AHCI over other fabrics. Makes sense to stop carrying all the legacy loads all the time. For people that really need it for compatibility reasons we still have the vortex86 style solutions that generally fit the bill as well as integrated controllers that do PCIe-to-PCI bridging with a classic IDE controller attached to that converted PCI bus. Options will stay, but cutting legacy by default makes sense to me. Except UART of course, that can stay forever. Edit: I stand corrected, AHCI (like the name implies: Advanced Host Controller Interface) is for the communication up to the controller. Essentially the ATA commands continue to be sent to the drive but the difference is between commanding the controller over IDE or AHCI modes. This is also why the controller then needs to know about the drive, where NVMe doesn't need to know about the drive because the ATA protocol is no longer needed to be understood by the controller (as posted here elsewhere).
- masklinn 5y ago> then we got AHCI over SATA AHCI is the native SATA mode, AFAIK explicit mentions of AHCI are mostly over non-SATA interfaces (usually m.2, because an m.2 SSD can be SATA, AHCI over PCIe, or NVMe).
- wtallis 5y agoAHCI is the driver protocol used for communication between the CPU/OS and the SATA host bus adapter. It stops there, and nothing traveling over the SATA cable can be correctly called AHCI. You can have fully standard SATA communication happening between a SATA drive and a SATA-compatible SAS HBA that uses a proprietary non-AHCI driver interface, and from the drive's end of the SATA cable this situation is completely indistinguishable from using a normal SATA HBA. Likewise, you can have AHCI communication to a PCIe SSD and the OS will think it's talking to a single-port SATA HBA, with the peculiarity that sustained transfers in excess of 6Gbps are possible.
- AussieWog93 5y ago
- KingMachiavelli 5y agoWould this reduce the need to have expensive and power hungry RAID/HBA cards? I would assume splitting nvme/PCIe is a lot simpler than PCIe to SATA.
- toast0 5y agoSeems like it. The article mentions a PCIe switch, but PCIe bifurcation may also be an option. (That's splitting a multiple lane slot into multiple slots, requires system firmware suppport though)
- formerly_proven 5y agoBifurcation has never been a thing on desktop platforms and even most entry-level (single socket, desktop-equivalent) servers don't support it. It seems to be reserved for HEDT and real server platforms. (This is of course purely a market segmentation decision by Intel/AMD).
- toast0 5y agoMy A520 mini-itx board supports it; can't get anymore desktop than that. Although, that has limited options, I think I can do either 2 x8 or one x8 and two x4. For this, it looks like each drive is expected to be x1, so you'd want one x16 to 16 x1s. It's doable, but not without mucking about in the firmware (either by the OEM, or dedicated enthusiasts), so a PCIe switch is probably advisable.
- formerly_proven 5y agoAh I see. It seems like previously bifurcation was not qualified for anything but the X-series chipset, but in the 500 series it's qualified for all. On top of that, it seems like some boards just allowed it regardless in prior generations. Another complication is of course that the non-PEG slots on the (non-HEDT) platforms are usually electrically only x4 or x1, so bifurcation really only makes sense in the PEG.
- inetknght 5y agoDoes this have the reliability as the rest of Seagate's lineup? Or is this actually something that isn't a ripoff?
- wmf 5y agoObligatory reminder that there are only three hard disk vendors and all of them have made bad drives at one time.
- thijsvandien 5y agoTo be specific: Seagate, Toshiba and Western Digital.
- danlugo92 5y agoWhat about Samsung?
- El_RIDO 5y agoSeagate took over Samsungs HDD department in 2011: https://www.seagate.com/news/news-archive/seagate-completes-aquisition-samsungs-hdd-business-pr/ https://www.seagate.com/news/news-archive/seagate-completes-...
- danlugo92 5y agoWhat about OWC? Are they all repackaged from those 3?
- thijsvandien 5y agoDo they even pretend to make hard drives? Not in their shop at least: https://eshop.macsales.com/shop/hard-drives/3.5-SerialATA https://eshop.macsales.com/shop/hard-drives/3.5-SerialATA. Perhaps they do produce their own SSD's, as do many companies, since that's trivial in comparison. Definitely not hard drives, though.
- mastax 5y agoCould you use multiple NVMe namespaces to represent the separate actuators in a multiple-actuator drive? Would there be a benefit? Do different namespaces get separate command queues or whatever?
- wtallis 5y agoNVMe supports multiple queues even for a single namespace, and multiple queues are used more for efficiency on the software side (one queue per CPU core) than for exposing the parallelism of the storage hardware. There are several NVMe features intended to expose some information about the underlying segmentation and allocation of the storage media, for the sake of QoS. Since current multi-actuator drives are merely multiple actuators per spindle but still only one head per platter, this split could be exposed as separate namespaces or separate NVM sets or separate endurance groups. If we ever see multiple heads per platter come back (a la Conner Chinook), that would be best abstracted with multiple queues.
- h2odragon 5y agoDisks have had complex CPUs on them for awhile, might as well go full mainframe and admit they're smart storage subsystems and put them on the first class bus. is "DASD" still an IBM trademark? Of course theres a long history of "multiple interface" drives which are always ugly hacks that turn up as rare collectors items and examples of boondoggle.
- DaiPlusPlus 5y ago> and admit they're smart storage subsystems and put them on the first class bus. is "DASD" still an IBM trademark? Y'know that eventually we'll be running everything off Intel's Optane non-volatile RAM: we won't have block-addressable storage anymore, everything will be directly byte-addressable. All of the storage abstractions that have popped-up over the past decades (tracks, heads, cylinders, ew, block-addressing, unnecessarily large block sizes, etc) will be obsolete because we'll already have perfect-storage. It's not quite DASD, but it's much better.
- trasz 5y agoOptane didn’t exactly take the market by storm. Also: flash memory doesn’t work this way; its inherently organized into blocks/pages.
- DaiPlusPlus 5y agoThe "Optane" that Intel released as their 3DXPoint NVMe brand, (and quietly withdrew it recently) isn't the same Optane as their byte-addressable non-volatile storage+RAM combo. It isn't Flash memory with blocks/pages, it really is byte-addressable: https://dl.acm.org/doi/10.1145/3357526.3357568 https://dl.acm.org/doi/10.1145/3357526.3357568 "true" Optane hasn't taken over the scene because, to my knowledge, there's no commercially supported OS that's built around a unified memory model (heck, why not have a single memory-space?) for both storage and memory. We can't even write software that can just reanimate itself from a process image that would be automagically persisted in the unified storage model. We've got a long way to go before we'll see operating systems and applications that take advantage of it.
- joenathanone 5y ago>"Hence, using the faster NVME protocol may seem rather pointless." Isn't it the interface that is faster and not the protocol? PCIe vs SATA Edit: after reading more, this article is littered with inaccuracies
- deleted 5y ago[deleted]
- wtallis 5y agoIt's both. Basic things like submitting a command to the drive requires fewer round trips with NMVe than AHCI+SATA, allowing for lower latency and lower CPU overhead. But the raw throughput advantage of multiple lanes of PCIe each running at 8Gbps or higher compared to a single SATA link at 6Gbps is far more noticeable.
- joenathanone 5y agoI get that, but with NVME being designed from the ground up specifically for SSD's wouldn't using it for an HDD present extra overhead for the controller to deal with an HDD, negating any theoretical protocol advantages?
- wtallis 5y agoNVMe as originally conceived was still based around the block storage abstraction implemented by hard drives. Any SSD you can buy at retail is still fundamentally emulating classic hard drive behavior, with some optional extra functionality to allow the host and drive to cooperate better (eg. Trim/Deallocate). But out of the box, you're still dealing with reading and writing to 512-byte LBAs, so there's not actually much that needs to be added back in to make NVMe work well for hard drives. The low-level advantages of NVMe 1.0 were mostly about reducing overhead and improving scalability in ways that were not strictly necessary when dealing with mechanical storage and were not possible without breaking compatibility with old storage interfaces. Nothing about eg. the command submission and completion queue structures inherently favor SSDs over hard drives, except that allowing multiple queues per drive each supporting queue lengths of hundreds or thousands of commands is a bit silly in the context of a single hard drive (because you never actually want the OS to enqueue 18 hours worth of IO at once).
- vmception 5y agoWhat other connectors are coming down the pipeline or may currently be in draft specification phase? Admittedly, I totally did not know NVMe’s were becoming a thing until a year ago, as I had been in the laptop-only space for a while or didnt need to optimize storage speed when connecting an existing drive to a secondhand motherboard. I like being ahead of the curve and am now curious whats next
- ksec 5y ago>I like being ahead of the curve and am now curious whats next Others correct me if I am wrong. NVMe in itself is an interface specification, people often use the term NVMe when they are meant M2, the Connector. You wont get a new connector in the pipeline. But the M.2 is essentially just 4 lane PCI-E express. So every time you get PCI-E express update, currently 4.0, 5.0 around the corner and 6.0 in final draft. 7.0 possibly within next 3-4 years. So you can expect 14GB/s SSD soon, 28GB/s in ~2024, 50GB/s within this decade assuming we could somehow get the SSD controller power usage down to a reasonable level.
- vmception 5y agoHmm insightful, yes I recall noticing that connector/specification thing when I was trying to get the right size cards, had figured NVMe and M.2 were just synonyms but I see the cause for the correlation now So the NVMe card I added to an old motherboard’s PCI-E slot is really just PCI-E on PCI-E? yo dawg
- wtallis 5y ago> So the NVMe card I added to an old motherboard’s PCI-E slot is really just PCI-E on PCI-E? Assuming that's a PCIe to M.2 adapter card, it's just rearranging the wires to a more compact connector. There's no nesting or layering of any protocols. Electrically, nothing changed about how the PCIe signals are carried (though M.2 lacks the 12V power supply), and either way you have NVMe commands encapsulated in PCIe packets (exactly analogous to how your network may have IP packets encapsulated in Ethernet frames).
- 5y ago
- baruch 5y agoThe SATA protocol itself is rather outdated, for example, when using NCQ and if a single command gets an error (say, medium error) all the other pending commands are aborted and you need to resubmit them. That's quite a pain and a performance killer on top of the latency that the medium error itself induced into the process (to reach it there were multiple retries taking more than a second already). Another advantage I can see is that the overhead to controlling NVMe is somewhat lower than SATA/AHCI, you can use kernel-bypass (like SPDK) to control many drives more efficiently than through the kernel interface, spending less time in the CPU when you control large number of drives from a single server. The HDD bandwidth is rather low so you can easily put a large number of bridges in there to increase the drive count.
- rektide 5y agoThere's a good chance SATA 3.5 spec (July 2020) may have provided options to avoid the single-failure issue, with the Defined Ordered NCQ Commands feature. But as you say, there's a ton of things that NVMe just does way better though. From the start, it had much more optimized/slimmer & less chatty protocols (mentioned), multiple queues, and much bigger possible queue depths. NVMe was a huge leap forward. And it continues to evolve really good capabilities. Prioritization, streams features, multi-zoned devices... there's so so so much better capabilities available on NVMe.
- guerrilla 5y agoWhat I'm wondering is why this took so long. Aren't there already NVMe cards that can serve SATA/PATA drives? If not, why not? If so, why this?