Slashdot Mirror


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.

20 of 140 comments (clear)

  1. Lexar and Sandisk should be good by AaronW · · Score: 3, Informative

    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.
    1. Re:Lexar and Sandisk should be good by ArtistFrmrlyKnwnAsAC · · Score: 3, Informative

      I can't vouch for cameras, but I created a CF-based hard drive to boot my Windows XP tablet PC using one of these. It has two CF slots, and my tablet's IDE controller supports UDMA. In Windows, you can check what UDMA/PIO mode your disks are in by clicking the Advanced Settings tab on the IDE adapter's property page in Device Manager.

      The first device I tried was the cheapest UDMA CF card I could get my hands on (233x 16gb Ritek), and after a few disk driver errors, it dropped out of UDMA mode and the laptop went from ~40 seconds to ~4 minutes to boot. When in PIO mode, it would run in fits and starts whenever more than one app was accessing the drive. Now I have two 16gb Transcend 300x UDMA4 cards hooked up to it and it's easily 2-3x faster than my old mechanical disk.

      Something interesting to note is that I can't get anything approaching the speed of the Addonics IDE-CF apapter out of any USB CF adapter I could find. They generally run fast, just not as fast.

  2. Re:Creative by 77Punker · · Score: 3, Informative

    It's pretty fascinating how the company that appears to be the market leader is also the worst in terms of actually delivering a good sound card. Then again, maybe it shouldn't surprise me since they're also the biggest liars. I got bitten twice.

    NEVER AGAIN

  3. Re:Open source?? by edlinfan · · Score: 2, Informative

    Perhaps hardware which is extensively documented, with all documentations/plans/schematics licensed under the GFDL or similar?

    Just my $0.02

  4. Re:SanDisk cards are usually a safe bet. by AaronW · · Score: 2, Informative

    I can at least vouch that the Lexar UDMA card works as advertised in my UDMA capable camera. Fake CF cards are a big problem. Avoid buying CF cards on Ebay and only buy from reputable dealers or you might get a fake Chinese card and have nothing but trouble.

    --
    This post is encrypted twice with ROT-13. Documenting or attempting to crack this encryption is illegal.
  5. Re:Good work by baxissimo · · Score: 3, Informative

    I think the OP was tricked into thinking that the crappy software that came with the camera was actually required to use the camera. The instructions that come with these cameras do tend to make it sound like installing the software is a mandatory step, and fail to mention that you can just access the pictures using Explorer. I guess they want to get their little bit of AdWare on your system. Or maybe they really are worried that Aunt Tillie doesn't know how to use Explorer.

  6. Re:Compact Flash by stevo3232 · · Score: 2, Informative

    Compactflash cards are available in larger sizes, work as IDE devices (which SD cards do not afaik) and are faster.

    --
    s.clementmonkey@sympatico.ca, remove the 'monkey'.
  7. Re:Compact Flash by maxume · · Score: 3, Informative

    Compact flash is/was the standard on the high end. SD is making some inroads, but for a long time, fancy cameras had CF slots and that was your choice.

    --
    Nerd rage is the funniest rage.
  8. Re:Compact Flash by Sen.NullProcPntr · · Score: 4, Informative

    I'm guessing size is the main factor, according to Wiki SD has already maxed out at 32GB while CF has a theoretical max of 137GB. You need a lot of storage space for video.

  9. IDE Compatibility Issues by Migraineman · · Score: 4, Informative

    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.

  10. CF inside the cameras do not use "True IDE" mode by AndreyFilippov · · Score: 5, Informative

    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

  11. Re:Compact Flash by AndreyFilippov · · Score: 5, Informative

    Two of the reasons wewrw already mentioned: 1 - I've got IDE interface "for free" in from the processor chip, just needed connector. 2 - CF cards are higher capacity. 3 - I can download CF and ATA specs from the Internet, while SD (when I checked it) was much more difficult to get.

  12. Re:Open source?? by AndreyFilippov · · Score: 2, Informative
  13. Re:Good work by argent · · Score: 2, Informative

    "disclaimer: only tested on OS X, not tested on animals, no DLLs were harmed in the making of this message, age 45 and older excluded, milage may vary depending on driving conditions, poster assumes slashdot readers are capable of understanding the concept of 'context', emoticons are optional and may require a surcharge."

  14. Re:Open source?? by AndreyFilippov · · Score: 2, Informative

    Yes, we do have it all posted, but unfortunately we can not post the PCB layout "source" - this is the last part of the camera design were I use some proprietary software running on top of the proprietary OS and saving data in proprietary format. It is a shame, I agree - but I could not find a good FOSS substitute. I would definitely pay twice (or more) for the same functionality GPL-ed software, maybe it is possible to to make a pool to buy some software to be free?

  15. Re:Creative by makomk · · Score: 2, Informative

    Of course, the only reason Creative are the market leader is because they bought out and killed off anyone who looked like they might actually be a viable competitor...

  16. Re:Good work by 0123456789 · · Score: 2, Informative

    Most (All?) digital cameras allow you to change this setting. On my current one (Panasonic), the setting is called "USB mode" and toggles between PC or PictBridge. I've seen similar settings on Minolta, Nikon, Canon and Olympus cameras; I suggest you try reading the manual or exploring the settings?

  17. Try Transcend, but watch for voltage by steve-san · · Score: 3, Informative

    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
  18. Re:From the utterly irrelevant department by Anonymous Coward · · Score: 1, Informative

    Try this for tips:
    http://www.cyrius.com/debian/nslu2/linux-on-flash.html

  19. Re:Compact Flash by minhmeoke · · Score: 2, Informative
    What about MMC? According to Wikipedia, they have a theoretical maximum capacity of 128 GB, and MMCs can be used in most devices which support SD cards. Also note that

    As of February 2008, the specifications version 4.3 (dated nov 2007) can be requested from the MMCA, and after registering downloaded free-of-charge.