• The forum software that supports hummy.tv has been upgraded to XenForo 2.3!

    Please bear with us as we continue to tweak things, and feel free to post any questions, issues or suggestions in the upgrade thread.

Good or Bad Idea To Install Hybrid HDD?

Andrew B's idea is interesting. According to the blurb, the drive identifies files that are accessed regularly and stores them in the flash portion of the drive. The time shift buffer is saved in the file '0.TS' and if this file were written in the flash portion, the normal platter would be written to less. I have read that the flash portion of the drive I mentioned above is only 8GB. This is fine for running an OS, but I just checked one of my machines and 0.TS is 17.6GB: I think the Humax reserves 20GB. So even if the flash portion were used to write this file, the capacity would be exceeded after a while and the drive would have to write to the normal platter.
 
Even if it did store the constantly-accessed 0.ts in Flash, it wouldn't be a good idea because the max number of write cycles would be reached PDQ.
 
Andrew B's idea is interesting. According to the blurb, the drive identifies files that are accessed regularly and stores them in the flash portion of the drive.
A drive knows nothing of files (or filesystems) of course, so the blurb is bull. All it deals with is sectors.
 
With a spin rate of 7200rpm, are they not likely to be noisier than a 5200rpm drive thus defeating the objective?
 
If the SSD in a hybrid drive could hold the 20Gb, 2 hour buffer of a Humax, it would wear out in a mere 22 years. Would a conventional drive last that long?

Slightly different, but my laptop came with a conventional HDD and an 8Gb on-board flash drive to speed it up, which it did originally, according to benchmark tests. However, on putting an SSD in instead of the HDD, and benchmarking the 8Gb cache drive vs the 1Tb SSD, I realized just how slow that 8Gb was!
 
Last edited by a moderator:
Hmm... A year is roughly 10k hours, running 24 hours a day that would mean 5000 write cycles but the beginning of the buffer would be used more as it restarts every channel change...

Are you saying these devices have a 100,000 write cycle rating? There are probably provisos - this usage would not make wear levelling very straight-forward.
 
100,000 write cycles, or more correctly 100,000 erase cycles, is conventional for flash blocks. You can get a lot more writes out of a drive with good wear levelling.

I installed a 240GB SDD in my Vista laptop a couple of years ago, it was a huge speed improvement from the 7200 rpm drive I had in there previously.
 
Thanks to everybody for an interesting and technical debate.

I'm probably not going to take the SSHD route, after some thought; but it's an interesting technical question anyway...

I recently installed one of these. £35 per TB seems quite good. This drive is very quiet in operation.

Thanks, that's the model range I was looking at (edit: if I go non-SSHD). The price per GB is similar at 4TB, so I'd probably go for that.

As far as I know it is an ordinary file of a fixed size and will only change location if deleted when it will be recreated. [snip] the Seagate hybrid drives I looked at have a higher spin speed (7200rpm)

Luckily the 4TB Seagate hybrid drive is 5900; only the smaller versions are 7200 (reference Seagate docs).

If the SSD in a hybrid drive could hold the 20Gb, 2 hour buffer of a Humax, it would wear out in a mere 22 years. Would a conventional drive last that long?

That was my thinking too. But then there are some practical considerations that I can think of:

1. File usage pattern

Hmm... A year is roughly 10k hours, running 24 hours a day that would mean 5000 write cycles but the beginning of the buffer would be used more as it restarts every channel change...

It's significant if the buffer re-starts at zero every time, yes. If it was purely a circular buffer then the theoretical calculations would work. But if the first portion of the file is being re-written far more frequently due to channel changes, then that matters.

Good info.

[begin edit]

...actually, I'm not sure this does matter after all. Say the TS file is at block 1234 on the spindle, and that gets cached to block 5678 on the SSD.

If you re-write spindle block 1234 again after a channel change, the SSD will likely cache it to a completely new block in its map, say 9012, because SSDs always write to newly erased blocks and not to previously used cells.

In other words: it's the write rate to the SSD that matters, which is perhaps 10Mbit/second for HD Freeview. The source block on the spindle isn't important because it doesn't map 1:1 to the SSD blocks.

In that respect, the SSD doesn't care whether you write 10MBit/second to the same few spindle blocks repeatedly, or to completely different spindle blocks. Writing identical blocks on the spindles almost certainly doesn't mean re-writing identical blocks on the SSD.

I think..!

[end edit]

2. SSD capacity

The SSHD referenced here, Seagate, only have an 8GB SSD portion. This means that the buffer wouldn't fit; so the assessment of 22 years based on a 20GB file would be reduced to more like 8 years. Somebody's done a good assessment of the drive size vs lifetime, based on the principle that you'll be more frequently re-writing on a smaller drive for the same amount of data, and has produced some lifespan graphs (reference).

3. Write cycle lifetime

The calculations by Mike0001 (and me) are based on 100k writes cycles. This would definitely be true for SLC memory cells, but the Seagate drives are MLC (reference) which could be as high as 100k but as low as 10k.

4. SSHD block caching algorithm algorithm

Ideally we want the cache to be used only for the TS buffer, so that there are the fewest possible re-writes of the same cells. This depends on the cache algorithm. E.g.
  • Don't cache any blocks that are infrequently used - great, probably only the TS buffer will hit the cache, and if the TS buffer is smaller than the cache then it wouldn't have to overwrite itself immediately either.
  • Cache more aggressively so the cache gets polluted with other data - bad, the TS buffer might not be fully cached at all, so the re-write will be even higher.
I'm familiar with the SSD cache algorithm used by one particular "auto tiered storage" architecture. It's not particularly relevant here because we've no evidence what algorithm Seagate use; but I've put it as a footnote here in case anybody is interested.

In summary:

The lifespan on a current generation 8GB MLC cache SSHD could be as low as 1 year for a low-quality MLC device, assuming 24hr running.

Theoretically, if the following conditions of an SSHD's non-volatile cache memory were were met:
  • Significantly greater than the TS buffer size. (say >32GB).
  • Cache algorithm favours the access pattern of the TS buffer and tends to reject normal video files.
  • Memory cells to give >100k re-write cycles (e.g. SLC).

...then a SSHD might cache the TS buffer and offer the possibility of spin-down when not recording or playing back.

But for now, the only drive on the market doesn't seem to fulfil those criteria.


Footnote:

The auto-tiered storage that I'm familiar with is an array of one 2TB SSD, caching against nnTB of 7200 spindles. The 2TB SSD is treated as follows:
  • 2TB raw capacity, but "over-provisioned" by retaining 600GB for wear levelling and garbage collection, so 1.4TB remaining. This is done at a hardware level below the caching algorithm.
  • Of the remaining 1.4TB, the caching algorithm keeps 10% free for new block writes - so new block writes can always be done to SSD rather than spindle.
  • Of the remaining 90% for general use (approx 1.2TB) the algorithm prefers to fill the whole 1.2TB immediately - regardless of block usage frequency - rather than leave any of the 1.2TB unused.
  • Once the 1.2TB is filled, it starts moving blocks between SSD and spindle based on access frequency (read or write).
  • Aside: 64GB volatile cache RAM for read and write. Writes are mirrored to a duplicate device on separate power circuits, via its RAM cache, so effectively all writes are direct to RAM and then flushed to SSD.
Thanks,

Andrew
 
Last edited:
The buffer doesn't really need to survive power off, so for PVR use you really want a big disc for 'recordings' plus a big chunk of dynamic RAM for the buffer. (ie. a big cache).
Maybe when SSDs are more common/cheap they will produce a 'consumer' version that includes flash and RAM for that, though by then they will likely have solved the cycles issue to an extent that it is unlikely to ever be a problem.
 
Great post. 64GB RAM? Sounds a lot - sure it's not 64MB? 64GB would certainly be useful as the pause buffer.
 
Great post. 64GB RAM? Sounds a lot - sure it's not 64MB? 64GB would certainly be useful as the pause buffer.

Yes, 64GB volatile cache RAM. It's an enterprise-grade auto tiering architecture though, so similar in principle to an SSHD but built from discrete components. Sorry for being slightly off-topic; I just thought it was an interesting example of how complex a hybrid SSD tiering algorithm can be, and therefore how it's difficult to second-guess how the Seagate SSHDs work.

Be aware that there is a 2TB size limit on an internal drive on the HDR-FOX T2. I think it is because the kernel only supports MBR not GPT.

Ah, good point. I've been reading the thread about the 4TB drive upgrade on this other thread and it seems that even using larger (4KB) sectors wouldn't work for the internal drive. I might have to re-think my storage architecture a bit.

Thanks,

Andrew

p.s. the forum multi-quote facility is excellent...
 
Just an afterthought ... if the concern is having enough speed and, moreover, responsiveness to deal with multiple disc-based tasks at once, your best bet is probably a 7200rpm drive with a low average access latency figure and plenty of RAM cache (64mb or more). You can still get them that run fairly cool and quiet. Heck, as 2TB is becoming a relatively small capacity now (and 500GB even more so), you might be able to get a server-class 2.5 inch, 10k rpm drive at that size point, though it'll certainly cost you.

Nothing I've done with the box so far suggests that its everyday activities would in any way saturate the maximum transfer rate of even an old PATA interface (or, heck... USB2!), let alone SATA, or the constant large-block R/W speed of a typical cheap 5400rpm drive. It's maybe more the access time, swapping between multiple tasks without much cache (either in the box itself, or on the drive - many have 32mb or less, and some as little as 8mb) with a slow head mechanism that's to blame. An SSD would help to solve those issues, but simply a faster, better cached, and low-access-latency platter drive would probably be as good.

(I have a hybrid drive in my laptop, btw, and I wouldn't rate it as useful for this kind of application; it helps the OS and certain often-used apps load up quicker, but that's where it runs out of puff - the swapfile and hibernation file are *slower* to access, if anything, and task switching is still a pain when RAM gets tight... really, the drive would have worked far better with 16, 24 or 32gb of flash, not a mere 8gb... and the algorithms are definitely tuned to long term prioritisation of what gets used most often. If I've suddenly started making regular use of an app I didn't use before, and have avoided rebooting for a long time, the next restart is noticeably slower...)
 
You're dealing with large transfers to consecutive locations at a sustained moderate data rate, not high-volume random access - how will having an unnecessarily high spindle speed help? Keeping the revs down minimises power consumption and heat generation.
 
You're dealing with large transfers to consecutive locations at a sustained moderate data rate, not high-volume random access - how will having an unnecessarily high spindle speed help? Keeping the revs down minimises power consumption and heat generation.

You're not, though. If it was purely consecutive, single-tasked accesses, then I would of course agree, and even suggest looking into the slightly lower-rpm (5200 and below) eco-mode drives. But the question was about maintaining speed when doing multiple concurrent tasks, which demands a lot of interlaced accesses from the HDD, lots of head movement and waiting for sectors to come back under the head, etc. In which case, *ignoring* its effect on burst transfer rate (which is completely moot given that even the slowest modern drive can easily double or triple the box's maximum external interface speed), a 7200 (and preferably one with the largest possible onboard non-flash cache) would noticeably improve the performance in that area.

Certainly, if a 7200 won't help, a hybrid or SSD won't do much good either, as the potential benefits for a PVR there are more in access time than burst transfer speed. And in fact, in this particular situation, a hybrid won't do much good either as each piece of data likely won't be accessed more than three or four times, tops, before it's off the disc for good. The one thing that might load faster is the OS and the downloaded optional modules, but that already only takes, what, 20 to 30 seconds, and after that it runs almost entirely from flashROM and RAM?

... and noise. Often important with these boxes.
True, but you can get 7200s that are engineered to be relatively quiet as well, and a lower spindle speed is no absolute guarantee of quiet operation, especially amongst cheaper drives. FWIW, I don't know what the default drive is in the Humax, or in my backup PVR (a terrible old Thompson POS), but I have a lot of trouble hearing either of them even with the cooling fans turned off / running slowly. When the fans crank up, you can't hear anything else from the system. If noise is that much of a problem it may be better to disable and remove the internal drive completely (which should remove some of the heat generation), install a much quieter cooling system, and only use external USB storage.
 
...which one would assume is optimised for such operations, so it's probably unlikely anything less than an SSD (insanely expensive in any kind of task-relevant capacity even now) or a server-class short-stroke 10k rpm (ditto) replacement would create a meaningful difference. I mean, the 7200 may still be a few percent quicker, but you'd only really pick it up with a stopwatch rather than by "feel".

tl;dr nah man it's not going to get any better unless you throw so much money at the problem that you'd really just be better off getting a second PVR.
 
The one thing that might load faster is the OS and the downloaded optional modules, but that already only takes, what, 20 to 30 seconds, and after that it runs almost entirely from flashROM and RAM?
If we ignore the CF, the standard Humax code runs entirely from Flash - take out the disk and the HDR-FOX will still work (as a tuner).
 
Well yeah, it starts the actual "PVR" bit within about 5 seconds, maybe 10 on a bad day, so all it would accelerate is that part between a picture appearing on the TV and being able to access the web-IF... by a tiny amount. Like by a max of 15 seconds per boot, but I have a feeling that the hardware doesn't really have the ability to max out a normal HDDs I/O anyway, and a fair bit of the boot time will be taken up by actually bootstrapping the software once it's loaded and running through all the startup scripts etc, so you'd probably save all of 5 seconds, vs the two whole minutes my hybrid drive slashed off Windows' boot time (and the 2:30 a pure SSD would have).

Maybe it might speed up the WebIF a little? If you're always impatiently waiting for that to respond, it might help, but again I figure the biggest delays there are CPU-bound rather than disc.
 
Back
Top