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.

30 of 140 comments (clear)

  1. Creative by negRo_slim · · Score: 3, Insightful

    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
    1. 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

    2. 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...

  2. Re:Good work by dnwq · · Score: 2, Insightful

    I haven't seen a digital camera that requires separate drivers in ages. My own camera is detected as a USB hard drive - XP, Vista, and Ubuntu alike - and it's more than four years old.

  3. 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 LanceUppercut · · Score: 5, Interesting

      How do you know that it indeed works in a full-fledged UDMA mode and not in some half-assed workaround mode, used specifically because of the problems in question existing in the cards' controllers. Did you reverse engineer the camera's firmware?

    2. Re:Lexar and Sandisk should be good by AaronW · · Score: 4, Insightful

      It would not be possible to get the performance the camera gets if it did not use DMA mode. It may be that it uses 1K blocks like the article says they used for a workaround. The cards also work fine in UDMA capable external readers, otherwise I would be seeing a ton of messages in the camera forums I frequent. Sandisk and Lexar UDMA CF cards are frequently used with the new cameras that can support it and are widely used by professional photographers.

      Also, the article said that the Sandisk card they tried worked. They did not mention anything about Lexar but did mention problems with Transcend, which is not certified for my camera.

      --
      This post is encrypted twice with ROT-13. Documenting or attempting to crack this encryption is illegal.
    3. 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.

  4. From the utterly irrelevant department by Gothmolly · · Score: 2, Funny

    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.
  5. SanDisk cards are usually a safe bet. by kennyj449 · · Score: 3, Interesting

    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.

    1. 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.
  6. 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

  7. 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.

  8. 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'.
  9. 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.
  10. 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.

  11. 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.

    1. Re:IDE Compatibility Issues by riflemann · · Score: 3, Insightful

      A while ago I built my mythtv frontend, (based off a T-Online vision s100 box) and elected to use a CF card for storage within the unit - the box is entirely free of moving parts, so CF made sense.

      I bought one of those IDE to CF adapters off ebay, and found that when I turned on DMA, the IDE bus would basically lock up, and pretty much end up useless.

      After a lot of fiddling and digging around, I discovered that the adapter did not connect the required pins for DMA transfers to work. Old-skool CF never had DMA, so this extra pin is only a recent addition to the standard.
      Anyway, I soldered in a short wire to hook up this pin, and now I get respectable dma transfers.

      The moral of the story - it might not be the CF card that is causing DMA failure, but the adapter it's hooked into.

  12. 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

  13. Re:Andrey Filippov by maxume · · Score: 2, Funny

    I imagine you could, if you really wanted to.

    --
    Nerd rage is the funniest rage.
  14. 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.

  15. Re:Open source?? by AndreyFilippov · · Score: 2, Informative
  16. 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."

  17. 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?

  18. 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?

  19. Re:Market leader? by 77Punker · · Score: 2, Interesting

    It's like the difference between an onboard video setup and a "real" one. People who need more features always have to pay a little more for them.

  20. 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
  21. Re:Market leader? by djdavetrouble · · Score: 4, Funny

    I upgraded from onboard audio to an X-Fi Fatal1ty. My Kill to Death ratio went up by about 25% within a few days.

    NEVER underestimate the power of.... Celebrity Endorsement !

    Get the Fatal1ty mousepad to go up another percent.

    --
    music lover since 1969
  22. 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.

  23. Re:Open source?? by AndreyFilippov · · Score: 3, Interesting

    Yes, I know Eagle. But it can not handle the the designs we have, and it is still not a free software. So - we'll have to wait.
    Elphel would put some $50K in the pool (if there was one) to buy a serious PCB CAD software no make it GPL-ed.