Audio Recording and RAID

GlumMoon

Distinguished
Apr 27, 2004
4
0
18,510
Here is a recent experience I had while trying to improve the performance of my digital audio workstation.

Here is what I was working with...
AMD XP 2500
1G RAM at 333mhz
MSI mobo w/ nForce2 chipset K7N-Delta(no SATA)
Promise TX2000 PCI RAID controller(new)
Aardvark Q10 PCI audio controller card
2 WD 40G drives
2 WD 80G drives(new)

The Beginning
The system as it stood was fairly stable, but I was running out of space and had no data protection/backup plan(due to lack of space for backups.) I must admit I came into the situation pretty much ignorant of the capabilities of the controller. I had planned on setting up a 0+1 RAID so that I could get some of the performance increase along with the redundancy of mirroring. Also I needed more space for recording, hence the 80G drives. I figured that with the two 80's I would end up with 120G of space in the 0+1 RAID configuration. Much to my chagrin the completed array only showed 80G available. So I dug into the manual and sure enough even though they are stripping the controller will shave the larger drives down to match the smallest drive in the array. One bummer out of the way I moved on to reinstalling my OS's(one for regular use and one for recording) and software. I ran SIsoft Sandra and WinBench and found that there was absolutely no performance boost when using 0+1. So I try to be optimistic about the situation and think to myself that at the least I am getting some fault protection.

Application
So the big day comes and I am trying to record the band. A minute into recording an error pops up on the screen saying the the tracks could not be saved because the disk may be full. This is sort of a generic error in Cakewalk Sonar that is saying that it couldn't write to the disk when it wanted. No amount of buffer tweaking in the program could get us past that error and the session was called off. No amount of tweaking could get the Sonar to record for more than 3 minutes. The cards are not sharing IRQs, per the BIOS. I tried using Powerstrip to modify PCI latency on the three cards in my machine. I tried giving first the RAID card priority and then the audio card, always leaving the graphics card to bring up the rear. Finally I removed the RAID and went with just the two 80G drives.

One 80 for OS and programs and one for audio data = Perfect

The Aftermath
So I am back in the same boat as far as protecting my data, but I can at least use my system as intended. I plan on making lemons into lemonade, if this RAID card will work with the BSD or Linux boxes on my network there is my backup solution. I don't look forward to backing up 40 to 50G over a network, but I suppose I will live.
 

jim552

Distinguished
May 1, 2003
171
0
18,680
So I am to assume that you have created two RAID 0 arrays that each consist of single drive and you are mirroring those arrays? (To achieve RAID 0+1? Or is this some weird option that is available where 1/2 of each drive is striped, and then mirrored to the upper 1/2 of each drive?)

I am not sure why you expected to receive 120gb of space out of two 80gb drives, or what you mean by shaving down to the smaller drive? (Unless the expectation was the RAID card would allow RAID on the 80's and the 40's?)

Based only upon what you have for hardware I would set your system up at follows:
Promise TX2000 attached to 2 WD 80's, mirrored.
(RAID 1)
Motherboard attached to 2 WD 40's, separate drives and
standard IDE.
Put all Boot/System/Paging on the 80's.
Use one 40 for scratch space.
Copy to the other 40 for backup of the first 40.

I have never used the Promise TX2000, but would not expect a problem. I have used TX4000, SX6000, SATA 150 TX2, SATA 150 TX4, and SATA 150 SX4. I have never had to tweak the PCI slots in any way. (The ONLY problem, has been with Adaptec, and Compaq RAID SCSI cards. Just needed to recognize one card at a time.)
 

GlumMoon

Distinguished
Apr 27, 2004
4
0
18,510
I'm sorry I should have given a better before and after picture of the system. The two 80gig drives and the promise card were added to a system that had two 40gig drives connected to the onboard controller. The 40gig drives are identical 8mb buffer WD drives, in fact, I believe that the only difference between the 40's and the 80's are the number of platters. I moved the drives to the RAID controller,

Channel 1 - 40gig + 80gig
Channel 2 - 40gig + 80gig

My thought was that since it was going to be striped, then mirrored, it would add up to 120gig. The controller, as I later found in the manual, squashed the 80gig drives down to match the two 40's. To me it doesn't make much sense, but it is documented once you have the card and manual.

Your suggested configuration is a sound idea, but as I was getting close to filling one 40 with wave files I really need more space for recording. At least with the RAID on one of the UNIX machines I will get quick writes when backing up.

My real issues are that I would have thought that I would see some sort of i/o performance increase with the RAID0+1 and if anything it degraded my performance. I am worried that the PCI audio card and the PSI RAID card are fighting each other for bandwidth on the PCI bus and it is causing my dropouts while recording.

Thanks for the reply, I welcome any input on this subject and hope that if something comes out of this it might help someone in the future.
 

grafixmonkey

Distinguished
Feb 2, 2004
435
0
18,790
SiSoft Sandra reports a generic "overview" performance for your array that is a combination of random read/write and sequential read/write. So, while you don't need RAID-0 performance for recording audio (unless you're doing many simultaneous tracks in 24-bit high sample rate), make sure you aren't getting a high sequential rate but not noticing because of the naturally lower random rates. A RAID-0 with two 80-gig drives should show at least 80 MB/sec, and no more than 100MB/sec. But that's between memory and hard drive; let me explain:

The PCI bus can transfer 132MB/sec between the processor and your whole PCI bus, which is decreased by protocol overhead and shared between devices. If you were having difficulty with not having enough speed on a single drive, you were probably maxing out a ~= 40-50 MB/sec device. That means 40-50 MB/sec was also coming from your sound card, going into your processor, and then back to your drive, which would put your PCI usage at close to the 137MB/sec limit, I believe. (if anyone knows whether the PCI bus has separate "to" and "from" pipes to the chipset, let me know, but I don't think it does.)

That said, I believe you should have been able to get the same performance from a 4-drive RAID-0+1 array as you would from a two-drive RAID-0 array, assuming you don't max out the ATA channels on the card due to having two devices per cable, and also assuming that the RAID card has enough processing power to divide 80-100 MB/sec into striped blocks and deliver 160-200 MB/sec to two channels, which judging by my experience with Promise I'm not sure it would. Also, the TX2000 will barf up chunks if it ever encounters a bad sector, the one I had behaved poorly in that circumstance. So check your drives very carefully for bad sectors - I finally determined that was what was causing my TX2000 to bring my whole system down periodically whenever I wrote to it from the network. (but not when written to from the other HD, which still confuses me.)

Anyway, I think the TX2000 is not really designed to be a good redundant storage solution. It's more along the lines of the typical low-cost low-budget 2-channel RAID card, made for people to be able to make little 2-drive raid-0 arrays, but then at the last minute they decided "hey the architecture supports it so why not allow master and slave on each channel?" You won't find any other RAID card anywhere that supports more than one drive per channel, except of course for SCSI. And, unfortunately, most of the good cards that have four or more channels are for PCI-X slots.

If you want to give RAID another try with a different Promise card, I have an SX4000 for sale that I upgraded from because of motherboard incompatibility w/ my nForce2 board. It has a stick of 256MB sdram in its cache slot and four PATA channels, and is more designed for redundant storage. The RAM has already been run through the SX4000's test routine and found working. I'll be straight with you and say that I hated the card because of its motherboard incompatibility problem that only appeared when I tried to upgrade the card's bios (which was necessary to get the latest windows drivers), but if you have an Intel system it should work fine. (after the upgrade it worked perfectly in a P4 system across the room, which I used to flash it back to the previous bios to get my system back up.) If you're interested in a secondhand SX4000 for cheap, PM me.

And remember, always test the system before you head in to a professional situation! (as you found out! ;D )
 

jim552

Distinguished
May 1, 2003
171
0
18,680
Okay, now I understand a bit better.

If you want to mirror the whole thing, your best bet would be to put the 80's on a channel, and the 40's on a channel, and mirror them. (Two RAID 1's.)

Even if a particular RAID controller handles using drives of different sizes combined into a single RAID 0 array, I would not advise that configuration.

In fact, I "steadfastly" and "only" create arrays of identical drives. (I have tried for testing different drive sizes/types.) I, generally, take a more conservative approach regarding my data and have been pretty happy with that.
 

GlumMoon

Distinguished
Apr 27, 2004
4
0
18,510
I see that we are thinking along the same lines on the PCI bandwidth as a possible problem. Sandra reported that I was getting 27mb/sec on the RAID 0+1 so I am not sure why it would be happening. As to why it was that low I am not sure, the rating for a single ATA100 drive was 28mb/sec. Even though it gave me those numbers I still fear that there was a problem with both the audio card and the RAID talking over the PCI bus simultaneously.

I am starting to doubt the quality of the card at this point. Now that I have the two 80's connected to the onboard controller I am able to record 8 simultaneous tracks at 24bit/96khz with no issues.

Thanks for the offer of the TX4000, but I am also using a nForce2 chipset and since you have had issues I don't think I would like to go down that road again.

Luckily the professional situation was just recording for my own band so it was not as terrible as it could have been.
 

GlumMoon

Distinguished
Apr 27, 2004
4
0
18,510
As I understand it RAID 1 increases your read rate, but will actually degrade your write rate. Granted this would be great once I had 30 tracks recording and was mixing down it would hinder my recording. Thanks once again for setting me straight on the points where I was using logic instead of knowledge.

At this point I really just want to get the RAID card as far away from my recording environment as is possible.
 

grafixmonkey

Distinguished
Feb 2, 2004
435
0
18,790
Yeah, I don't harbor enough irrational dislike of humanity to sell you that card if you were using an nForce2 anyway...

The PCI bus should be able to support more than that... Sandra measures just the storage system by itself, so that 0+1 array should have been able to get 50 or 60. Recording 8 tracks of audio at high bits/samples and getting paid for it might warrant an investment in a PCI-X motherboard and raid card. I think they are making P4 mobos with PCI-X now. It will give you a minimum of four times the PCI bandwidth, and a maximum of 8 times the bandwidth, and that's on a bus that is a dedicated separate bus so your audio card would not even be sharing that bandwidth. Then you could get a semi-cheap raid card from HighPoint and you might even be able to record a lot more tracks at the same time.

(kinda depends how much the recording pulls in though. ;) This can get expensive.)
 

TRENDING THREADS