Most CF Cards Fail DMA Transfers
Anomalyst writes "In his quest to create an open source video camera, Andrey Filippov of elphel.com has determined that most Compact Flash devices, although claiming to be DMA capable, do not perform Direct Memory Access transfers correctly. This means successful movement of data to and from the device takes much more time with DMA disabled." The culprit appears to be the controller chip packaged with most of the CF cards Filippov tried. We last visited Elphel and their work on open source digital cameras in 2002. Filippov gave a Tech Talk at Google last year.
enjoy!
This comment is GPLv3 licensed.
Maybe one day I'll see a camera with a bog standard USB connector that doesn't need a specific driver just to see the camera's contents as a drive?
It wasn't that long ago that I read here how the DMA capability of FireWire devices is a gaping security hole. Shouldn't we feel safer that most compact flash devices don't have the same problem?
Reminds me of the infamous Soundblaster crackle... Which in this thread is being discussed around X-Fi hardware. Even though I can remember the very first Live!'s giving me and my friends the problem years ago. I don't recall the exact details of the situation but I believe it was an improper PCI implementation.
On the Oregon Cost born and raised, On the beach is where I spent most of my days
I have been using a Lexar 300x UDMA CF card for a while in my camera (which supports UDMA) without any problems. I also know many people are using the Sandisk UDMA cards without problems as well. Both were also certified to work with my camera (Nikon D300) by Nikon.
This post is encrypted twice with ROT-13. Documenting or attempting to crack this encryption is illegal.
What's next, some USB mice fail at implementing the USB 2.0 standard? Or some random printer which claims to support PCL really doesn't?
Geesh, talk about a slow news day.
I want to delete my account but Slashdot doesn't allow it.
I can vouch from personal experience with their engineers that their cards rated for 30MB/s or higher all support UDMA 4 or higher, and I've done tests of my own to verify this. Not all ExtremeIII cards support UDMA though; the ones that don't specify a speed of 30MB/s are instead rated for 20MB/s, which can be quite easily achieved using PIO6 (although less efficiently.) These cards might support UDMA, but since there's no *need* for it, there are no guarantees.
Also, I'm pretty sure Lexar cards rated for UDMA do perform as advertised. I can't vouch for other manufacturers. Additionally, be wary of fake cards (ebay is especially prone to fake card sales) as they're never going to perform to your expectations.
In his quest to create an open source video camera...
What the hell is an open source video camera? I've heard of open source software, but what the hell is open source hardware??
The largest prime factor of my UID is 263267.
Oh, really? If so, the devices works as they should.
Why do they want to use Compact Flash cards? I think SD cards are more common, at least in the cameras I had so far, correct me if I'm wrong. And maybe SD and SDHC cards don't have those problems?
Maybe you need to look at more cameras, then. The last couple I've owned have done that.
Clear, Dark Skies
I run an 8 GB Transcend 133x in my Alix board as a router/firewall on FreeBSD, and the BIOS and OS pick it up as UDMA33 without a problem. I get sustained reads of 33 MB/s and writes of about 9.5 MB/s.
Interested in open source engine management for your Subaru?
God damn it, why can't I have that last name?
How can I believe you when you tell me what I don't want to hear?
I've been struggling with CF cards in embedded applications, and I can verify that they don't always comply with the interface specs. I've gone through at least a half-dozen different CF card brands, and all display some form of misbehavior if they're put on an IDE chain with another device. By themselves they work fine, but add a CD-ROM or a hard drive, and the system will fail with either bus timeouts or stalled transfers. My suspicion is that the CF card vendors are playing games with performance metrics in photography apps, and in those environments they can bend the spec because there's exactly zero chance of another device being installed on the interface.
As far as I can tell (without a bus analyzer,) there's something hinky happening during device auto-detection and initialization. Many times, the CF card will be detected as the Master device, but no Slave device will be detected. Swap to a different brand CF card, and the symptom will change - both devices will auto-detect, but the IDE bus will throw timeout errors during boot. Swapping in just about any not-a-CF-card device, and everything is fine.
In the article I was only describing CF working in "true IDE" mode, inside the cameras thy usually do not use it, so do not care much about the problem I've got. But it is important if you try to connect the camera with a simple adapter instead of the HDD
Cheap Chinese mass-produced gadgets fail to perform as advertised, C-list Slashdot editor posts trollish story, film at 11!
-Billco, Fnarg.com
I have used adapters similar to these:
http://www.alfa888.net/ebay/conline/c4photo/ce0251one.jpg
What's wrong with them? I haven't had any trouble with them.
There's more to things than just that. I tried one of Sandisks' latest high-speed offerings last November, and the thing wouldn't even boot!!
I have no doubt that it's capable of running at the speeds they claim. But if they can't even get the very basics right, their interface is broken. Pure and simple.
Oh, and this was with RedHat EL 5 at the time, and with Fedora.
So be careful out there. Brand name is not everything. This is still immature technology.
I, the orginal and only Anonymous Coward, have a 2 inch junk!
This reply is GPLv3 licensed.
Original comment available on request.
Caesar si viveret, ad remum dareris.
Wait a minute ... there's still a market for sound cards? I am perplexed. Last I checked, there wasn't a motherboard made that didn't have onboard SPDIF, not to mention plugs for 5.1 speakers. Who are these people who buy sound cards?
Breakfast served all day!
I wonder how often voltage (5V vs. 3.3V) is a factor in UDMA problems...
Like the previous poster, I use a Transcend CF card to run XP and Ubuntu on a laptop. I recently "upgraded" to the 16GB 300x version, since it was supposed to run at UDMA5. I wrote the review here.
Short story: According to Transcend, the card has to run at 3.3V in order to run in UDMA5 mode. I'm also using that Addonics 2-card CF-to-IDE adapter, and it doesn't offer voltage choices, so I'm stuck at 5V and the slower speeds -- auto-detected at UDMA4 in XP and UDMA2 in Ubuntu.
Next up, I'm gonna try this single-card solution, since it has a hardware voltage switch (jumper).
Oh, yeah -- and for the purposes of mounting these CF-IDE adapters in notebooks, the Addonics is a real pain (super glue was involved), since it doesn't have the same dimensions & threaded holes as a standard 2.5" HD. According to another reviewer, the Syba addresses that.
What you want is irrelevant; what you've chosen is at hand! - Spock, ST VI
> We last visited Elphel and their work on open source digital cameras in 2002...
Are you sure? Wasn't it just a week ago?
http://mobile.slashdot.org/article.pl?sid=08/07/05/1711221
SMI controllers do have a lot of weird little problems here and there, and the firmware updates are numerous. however firmware updates can't be done by the customer, need to be done at the card manufacture's site. There are just too many different controller/flash combos for a given CF card, even from the same manufacture. As far as I know, the fastest CF cards can top out 50MB/s transfer using UDMA mode.. but very few company is making those due to high cost associate with SLC flash.
It is possible to label the *newspost* as flamebait?
posted in wrong thread.
http://en.wikipedia.org/wiki/Minimig
What happened to the good old days when chip vendors would fall over themselves to give you data sheets, application notes, and anything else you might need to use their products in your design? NDAs were for things like information on unannounced products.
Mea navis aericumbens anguillis abundat
Easy !
Compact Flash form factor is really a down-sized PC-Card 16bits / PCMCIA form factor.
And PC-Card 16bits is nothing more than cousin of ATAPI which is external and supports hot swapping.
(Just as PC-Card 32bits is a PCI cousin with hotswapping, and Card-Express has both PCIe and USB2.0 pins).
There are CF IDE adapters which are mostly passive pin-adapter without any logic, that let you access a CF card using an IDE bus (minus the hot plugging).
So just plug your compact flash into one of such card adapter.
If your computer recognize the card in UDMA and can access it without DMA errors, it means it's a true UDMA mode. If you have to switch back to a PIO mode to get it working, it means that some workaround is needed.
There are a lot of SanDisk cars which *do not* feature UDMA in their retail form, but only in *industry* equivalent models which are more expensive (can confirm it in my own experience).
I've read on the net that Lexar card better support UDMA (can't confirm, haven't got one yet).
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]