Archive for the ‘Storage’ Category

Red releases first Build 16 firmware beta

We’re still here, we’ve just been rather busy. Regular updates should start again… about now.

See major new features and menu map. Camera owners can, of course, get it in the usual place.

The biggest enhancements are related to image quality. Red appears to have rather dramatically reduced compression artifacts and noise levels. 16:9 4K is also now far more practical to shoot and worth with, with the codec errors during recording supposedly fixed, and 16:9 4K QuickTime proxies now working.

Red has also introduced a new color space, REDSpace, that allows for better WYSIWYG exposure on-camera. Or, for those who work in a more technical way, you can now directly monitor raw, so you know exactly what the sensor is capturing.

Build 16 also introduces 1080p output in playback mode, though not for live monitoring, and many user interface conveniences and fix-ups, like user buttons that are now actually programmable, and the ability to adjust a range of parameters with the rotary encoder on the EVF.

Be warned, however, that Build 16 changes the format of R3D files. There are QuickTime plugins and RedAlert/RedLine builds for the new format, but not RedCine build that can work with Build 16 footage yet. So if your workflow relies on RedCine, you’ll probably want to hold off until that shows up (possibly as soon as next week).

Update: the Build 16 compatible version of Redcine has just been posted. Get it in the usual place.

The future is solid

Perhaps the most interesting thing about Red’s recent price list is the range of solid state recording options — CF, ExpressCard, 1.8″ SATA flash, and Red RAM. The Red RAM is basically a Red Drive, but with two of the new 32 GB flash-based drives, instead of two 160 GB mechanical drives. It’s the three other options that are really interesting, though, because they’ll allow people to use generic commodity flash memory, in their choice of formats, for recording. Care will be required — many CF cards, at least, don’t really have enough performance — but this is an amazingly forward-looking move, and further reenforces my earlier point that Red appears to be taking its cues — both in terms of pricing and the openness of the system — from the computer industry rather than traditional camera vendors.

Solid state memory isn’t quite at the prices we’d like to see for our own use, but prices are dropping very fast. We’ll be passing on these options initially, to see how things settle out with the various formats, but if I had to guess to guess I’d say we’ll probably pick up the 1.8″ SATA flash interface (it’s a user-installable part) within 6-8 months of buying the camera. Probably sometime next year we’ll be able to pick up a 64 GB version of this sort of thing at a reasonable price. Recording ~40 minutes of 4K on something smaller than a credit card is pretty amazing. It’s the sort of thing that reminds you that, despite the lack of flying cars, you really are living in the futuristic year of 2007.

It’ll be interesting to see how Panasonic, which currently sells its P2 solid state memory at 5x the price of commodity flash memory, responds to a camera which can actually use commodity flash memory.

How to store data #3: eSATA RAID continued

This post is a continuation of the previous post on cheap, reliable, manageable storage.

How do you create a volume across multiple drives that makes use of distributed parity (see previous post) without shelling out big money for an enterprise storage system? Windows XP Pro have built-in software RAID 5 support, which which will do nicely. Mac OS X Leopard will have ZFS, which will to really nicely, creating a RAID Z storage pool.

As noted previously, the sweet spot for drives right now is 500 GB drives, and we’ll need five of them for our array, to get 2 TB of storage. The first step is an eSATA enclosure to stick them in. The Sonnet Fusion 500P is exactly the sort of thing we’re looking for. You can pick one of these up for around $440 (here’s one place). That, plus the $700 for drives we’ve figured, brings us to $1140. Add an eSATA card that’s compatible with your system for under $100, for a total of $1240. That’s about the entire outlay required for this system. That, plus the built-in operating features mentioned above, will get you high-performance, fault tolerant RAID for a little less money than buying a bunch of FW 800 drives.

What do you get with a real enterprise storage system (say, an Xserve RAID) that you don’t get with this? Well, you do get a few things. You get remote management tools, redundant power supplies, and battery backup for your RAID controller. Remote management you don’t really need for something that’s going to be attached to your workstation. Redundant power supplies are primarily useful if you need something close to perfect uptime, which is more relevant to server applications (if you’re editing a low-budget feature, you can probably afford to lose a day if the power supply in your enclosure dies and you have to get another one), and for battery backup… buy a UPS; you should have one anyway.

Real enterprise RAID would also get you hardware RAID support, which lowers CPU overhead. This used to be a big deal, when processor power was a scarce resource. But on today’s four (and soon eight) core systems, this is not the issue it once was. And in the case of ZFS in Leopard, you’ll be getting far more flexibility and far more data integrity features from the software-based solution than you could get from any hardware RAID 5 controller.

Anyone can put together a system like this, incidentally. Even if you’ve never installed something in a computer in your life. SATA drives are self-configuring. Unlike their predecessors, they don’t have dip switches, master/slave modes, etc., so it’s really just a matter of plugging and going. I’ll be posting a full walkthrough (with photos and screencasts) of how to set up the hardware and get everything working with OS X around the time our RED #404 arrives.

Of course, you still have to back all of this up. See my previous post on that subject.

How to store data #2: eSATA RAID

This is a followup to a previous post, in which I laid out the principles of how storage should be managed. This post will be the first of two which goes into detail about hardware, software, and how to set everything up.

If you’re not already familiar with RAID, go read the Wikipedia entry, although this post will address the subject as it applies specifically to its task.

This post will focus on how to store REDCODE-compressed 4K footage or other types of media with moderate data rates. I haven’t done sufficient testing on such commodity storage systems to say whether it’s possible to scale performance up enough to handle uncompressed 4K. The 28 MB/s of REDCODE RAW 4K is not a particularly high data rate for modern desktop drives; even a single drive can handle it without much trouble. That means the recommendations in this post will focus on achieving lost cost, high reliability, and simple management, not the highest possible data transfer rates.

As I mentioned in my last post on this subject, storage should be centrally managed. This means building a single storage array, or at least one array per project, rather than e.g. letting external FireWire drives proliferate around an office.

The options for this used to be quite expensive, but fortunately, a technology has come along in recent years which makes things much cheaper and easier: eSATA. And, specifically, eSATA + port multiplication.

Port multiplication, for our purposes, is useful because it lets an external enclosure contain multiple drives, which show up as separate drives to the host computer. While this was technically possible with some SCSI variants, it was expensive, and while there were FireWire enclosures that did this, the more limited bandwidth of FireWire made it somewhat unappealing. eSATA II supports transfer rates of over 300 MB/s, more than enough that with a typical drive array, the interface is not likely to become a bottleneck.

How much storage are we shooting for here? Well, we’re trying to keep this fairly cheap, so let’s start by shooting for enough storage for our first feature, which will be 110 minutes, and will be shot at a 7:1 shooting ratio. That’s 770 minutes of footage, at ~1680 MB/minute, or 1263 GB. We’ll also need space for editing proxies, to provide a bit of a safety margin, and because drive vendors cheat by using decimal rather than binary gigabytes… let’s call the whole array 2 GB. We’d also probably prefer to have some hardware redundancy, so we’ll factor that in as well.

The sweet spot for hard drives right now is 500 GB drives. 750 GB drives, which are 50% larger, cost more than twice as much. We’re going to need five of these drives. A reasonable price for a 500 GB hard drive right now (this will, of course, change next month) is $140, so our raw cost just for the drives is $700.

If we’re building a 2 TB array out of 500 GB drives, why do we want five of them, rather than four? Well, if you create a striped RAID across four drives, and any one of them fails, your data is toast. Even if you leave them as separate volumes, if any one of them fails, 1/4 of your data is toast. And, of course, you’re four times as likely to have a failure with four drives as with one. Sure, hopefully you’ve got everything backed up, but you could still lose a fair bit of work.

Fortunately, there is a solution to this problem, and it’s pretty cheap. That solution is distributed parity, which is a scheme that spreads parity information around all the drives in an array. This parity information can be used to recover all data if any one drive in the array is lost. This information, in a typical configuration, takes up an amount of space equivalent to the capacity of a single drive. So, in this case, we build a five drive array, and have the capacity of a four drive array, but if any one of our our drives fails, we’re fine.

The second part of this post, tying everything together, will be up tomorrow.

Uptdate: Will be up on Saturday. Sorry, business is ramping up and I’ve been insanely busy the last couple of days.

How to store data #1: background

This post is a follow-up to a post from a couple of weeks ago, “How not to store data“, in which I admonished against the all-too-common practice at small production facilities of stashing data on lots of external hard drives with no coherent management plan.

The single most important characteristic of a storage system is reliability. And the most important thing to realize about reliability is that it’s not something achieved entirely through technological means; it’s something that emerges from a combination of technology and well-planned, properly followed procedures. That’s why this post isn’t a list of products to buy (though that comes next).

Drives fail, backup media goes bad, things get accidentally deleted. In order to store data reliably, you have to have redundancy. And in order to have confidence in the reliability of your storage, you have to know you have redundancy. This means on multi-person projects, you can’t just let everyone handle their own data in whatever way they want.

Why not just stick to the strategy of letting lots of external drives float around, but make a rule that everyone has to make sure there are at least two copies of everything? In my experience, such rules often go unheeded, and at any rate, if multiple people are interacting with the same data, everyone will assume someone else has taken care of that, when they haven’t, leaving your data unprotected — or assume they haven’t, when they have, leaving you with extra unnecessary copies of things.

The best strategy for small production facilities — including everything down to one-man shops — is to scale down the sort of approach used in well-structured enterprise environments, not to try to scale up the “stash it on the external drive” approach that works so well with your 13 year-old cousin’s iMovie projects. Fortunately, it is now possible to do this at very little additional cost.

The key to this approach is centralization — both of the physical hardware and of responsibility. The former means building a storage array, rather than just buying individual drives. The latter means having a single person who’s responsible for the care and feeding of all the organization’s data.

Coming up shortly: what to buy, how to set it up and how to use it.