PDA

View Full Version : Tivo software design "flaw" re: ext. drive?


bmgoodman
01-16-2008, 11:19 AM
It seems that a number of external SATA drives have failed early because they're not designed for constant writes. (The "My DVR Expander" supposedly is.) This made me wonder if the Tivo software could be written so that the live buffer always runs from the internal drive to reduce the amount of writing to the external drive. Of course, I am only assuming that the buffer can end up on the external drive; I admit it is possible that my assumption is incorrect.

People skilled in MFSTools, etc., are better suited to enlighten on this topic than I am. However, I just thought I'd initiate a discussion in case this could be a simple fix.

Thoughts?

flatcurve
01-16-2008, 12:16 PM
I'm pretty sure they use data striping between the two drives. that would make what you're suggesting impossible.

jlib
01-16-2008, 12:19 PM
It seems that a number of external SATA drives have failed early because they're not designed for constant writes. Can you point out some evidence of this claim? The drive is just sitting around idle over 75% of the time. TiVo is not very stressful on a drive.

jlib
01-16-2008, 12:32 PM
I'm pretty sure they use data striping between the two drives. that would make what you're suggesting impossible.There is no particular reason why TiVo would stripe (I assume you mean stripe as in similar to the way RAID 0 distributes data between two drives for performance reasons) data between the two drives. That would immensely complicate things for no reason and make it more difficult to divorce the drives. I am not disputing your statement (because I have no inside knowledge), just saying I have seen no evidence.

Pictor Guy
01-16-2008, 12:34 PM
I'm pretty sure they use data striping between the two drives. that would make what you're suggesting impossible.

Not impossible if the buffer was on a separate partition on the internal drive. But I don't really see the point.

ZXTT95
01-16-2008, 02:01 PM
Not impossible if the buffer was on a separate partition on the internal drive. But I don't really see the point.

But the live buffer can become part of a saved show if you choose to record (right?). It shouldn't be on its own partition, because copying it would be expensive and would complicate the resource usage (simultaneously record from two tuners, play back one stream, send/receive over the network, etc.).

If copying isn't feasible, then you can't store it only on the internal drive, because the user could repeatedly record shows that have full live buffers. In edge cases, like hitting record with a full buffer and stopping soon thereafter, it would be possible to fill up the internal drive with the external not full, but you wouldn't be able to record a new show including the buffer.

I imagine that it's easier to manage the file system usage by creating one file system that spans data partitions on both drives. All the complexity would be in the file system driver. The higher-level code would work the same irrespective of drive configuration. The boot partition on the primary drive would keep all the metadata. That would be why you don't lose your settings, season passes, wishlists when removing the external storage.

Besides, it seems better to distribute the stress over both drives. They should both last longer.

jlb
01-16-2008, 02:08 PM
......The drive is just sitting around idle over 75% of the time. TiVo is not very stressful on a drive.

Isn't the drive busy 100% of the time? I.e., isn't the TiVo always recording the live buffer?

bmgoodman
01-16-2008, 02:40 PM
Can you point out some evidence of this claim? The drive is just sitting around idle over 75% of the time. TiVo is not very stressful on a drive.

I took on faith the statement in the "Official eSATA Drive Expansion: FAQ + Discussion" thread, Post #1 by bkdtv (http://www.tivocommunity.com/tivo-vb/showthread.php?t=370784):

# If I have a TiVo Series3, why should I buy this drive and not another eSATA drive?

Four reasons:

1. Reliability

Most retail eSATA products are intended for PCs and not designed for 24/7 operation. They use enclosures that were not designed to dissipate the heat created from constant writing to disk, which is exactly what a DVR does. When the drives in these products overheat, drive corruption can result, leading to reboots and/or lost recordings.

This is what led me to wonder if there were an easy way to keep from putting so much stress on the external drive.

rainwater
01-16-2008, 02:43 PM
There is no particular reason why TiVo would stripe

Except CableLabs required it for eSATA certification.

morac
01-16-2008, 02:48 PM
Isn't the drive busy 100% of the time? I.e., isn't the TiVo always recording the live buffer?

Assuming this is not a rhetorical question, the answer is yes, the drive is always in use. :)

I'm pretty sure that the "Live Buffer" positive on the drive isn't static for the reason listed above (you can save it). It's possible the "Live Buffer" could end up on the external drive if all the space on the internal drive fills up.

Remember the TiVo treats both the internal and external drives and one big drive. It doesn't differentiate between the two. It is possible that a show could be solely recorded on the internal drive, solely on the external drive or a combination of the two.

morac
01-16-2008, 02:56 PM
Except CableLabs required it for eSATA certification.

I don't see anything listed in the DFAST agreement (http://www.tivocommunity.com/tivo-vb/showthread.php?p=5116249&&#post5116249) that specifies that striping is required. The only requirements are that the drive must be encrypted and can't be cloned. While striping would prevent cloning, that's not the only method (or even the easiest way) of doing so.

jlib
01-16-2008, 03:16 PM
Except CableLabs required it for eSATA certification.Isn't it that they required the data on the drive not be usable except in the original married environment? Striping would be the most complicated way to achieve that goal.

edit: Yeah, what morac said...

jlib
01-16-2008, 03:26 PM
Isn't the drive busy 100% of the time? I.e., isn't the TiVo always recording the live buffer?Yes, the drive is spinning 100% of the time but is is not doing anything most of the time. 2 HD write streams and 1 HD read stream would require about 60Mbits/sec of bandwidth. All modern drives would have an order of magnitude greater capacity.

So, if the TiVo needs that much sustained data every second and the drive is able to dump that data to its cache in .25 seconds, then it is just waiting around for something to do the rest of the time.

jlib
01-16-2008, 03:55 PM
I took on faith the statement in the "Official eSATA Drive Expansion: FAQ + Discussion" thread, Post #1 by bkdtv...Ah, OK. I misunderstood your statement. I thought you were talking about the disk drives themselves. I see the context now. Yes, some enclosures are only designed for casual use because of their minimal cooling. But even with that, there is not much in the way of reports of drives used with a TiVo failing beyond the crapshoot of any particular drive failing. The are reports of known enclosure incompatibilities and many cable incompatibilities but few outright drive failures.