1. This forum section is a read-only archive which contains old newsgroup posts. If you wish to post a query, please do so in one of our main forum sections (here). This way you will get a faster, better response from the members on Motherboard Point.

Compact Flash busy bit constantly set

Discussion in 'Embedded' started by SweetCraspy, Dec 15, 2011.

  1. SweetCraspy

    SweetCraspy Guest

    I have a Compact Flash card that was used in a custom long-term datalogge
    that ran to battery depletion. After recovery, the card is not recognize
    by the disk management tools in Windows XP, Mac OSX or Ubuntu Linux. I
    should have data on it, and I would like to recover that data if possible.


    It is certain that the logger went through a marginal power state as th
    batteries failed, and may have browned out in the middle of a write.

    I've played with the card in a test environment, and am able to read an
    write at least the HEAD, SECTOR_NUMBER and CYLINDER_LOW registers. I ca
    also read the STATUS Register. The STATUS Register read always return
    0x80, which is the BUSY bit. I am using the ATA/ATAPI-5 standard for thes
    operations.

    Is there any way I can reset the card without destroying the data, acces
    the data with a different protocol, or otherwise save the CF card?

    Thanks!

    ---------------------------------------
    Posted through http://www.EmbeddedRelated.com
    SweetCraspy, Dec 15, 2011
    #1
    1. Advertising

  2. SweetCraspy

    SweetCraspy Guest

    This is a repost of the above message with more explicit formatting.

    ---

    I have a Compact Flash card that was used in a custom long-term datalogger
    that ran to battery depletion. After recovery, the card is not recognized
    by the disk management tools in Windows XP, Mac OSX or Ubuntu Linux. It
    should have data on it, and I would like to recover that data if possible


    It is certain that the logger went through a marginal power state as the
    batteries failed, and may have browned out in the middle of a write.

    I've played with the card in a test environment, and am able to read and
    write at least the HEAD, SECTOR_NUMBER and CYLINDER_LOW registers. I can
    also read the STATUS Register. The STATUS Register read always returns
    0x80, which is the BUSY bit. I am using the ATA/ATAPI-5 standard fo
    these
    operations.

    Is there any way I can reset the card without destroying the data, access
    the data with a different protocol, or otherwise save the CF card?

    Thanks!

    ---------------------------------------
    Posted through http://www.EmbeddedRelated.com
    SweetCraspy, Dec 16, 2011
    #2
    1. Advertising

  3. SweetCraspy wrote:

    > I have a Compact Flash card that was used in a custom long-term datalogger
    > that ran to battery depletion. After recovery, the card is not recognized
    > by the disk management tools in Windows XP, Mac OSX or Ubuntu Linux. It
    > should have data on it, and I would like to recover that data if possible.
    >
    > It is certain that the logger went through a marginal power state as the
    > batteries failed, and may have browned out in the middle of a write.
    >
    > I've played with the card in a test environment, and am able to read and
    > write at least the HEAD, SECTOR_NUMBER and CYLINDER_LOW registers. I can
    > also read the STATUS Register. The STATUS Register read always returns
    > 0x80, which is the BUSY bit. I am using the ATA/ATAPI-5 standard for these
    > operations.
    >
    > Is there any way I can reset the card without destroying the data, access
    > the data with a different protocol, or otherwise save the CF card?


    It is not possible to do any operation while the card is in BUSY state.
    Try forcing the hardware reset, and then doing all operations in the
    slowest PIO mode (PIO-0). If the card doesn't come up into READY state
    after few hundred milliseconds after reset, then the card is broken.

    If your data is really worth it, you can unassemble the broken card and
    read raw information directly from NAND chips.


    Vladimir Vassilevsky
    DSP and Mixed Signal Design Consultant
    http://www.abvolt.com
    Vladimir Vassilevsky, Dec 21, 2011
    #3
  4. SweetCraspy

    SweetCraspy Guest

    >It is not possible to do any operation while the card is in BUSY state.
    >Try forcing the hardware reset, and then doing all operations in the
    >slowest PIO mode (PIO-0). If the card doesn't come up into READY state
    >after few hundred milliseconds after reset, then the card is broken.
    >
    >If your data is really worth it, you can unassemble the broken card and
    >read raw information directly from NAND chips.
    >
    >
    >Vladimir Vassilevsky
    >DSP and Mixed Signal Design Consultant
    >http://www.abvolt.com


    Thank you for the suggestions! I will see what I can do.

    ---------------------------------------
    Posted through http://www.EmbeddedRelated.com
    SweetCraspy, Dec 22, 2011
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. MovieFan3093
    Replies:
    4
    Views:
    299
    jamie
    Oct 26, 2003
  2. Hosh
    Replies:
    0
    Views:
    285
  3. Doug
    Replies:
    12
    Views:
    443
    J. Clarke
    Aug 16, 2005
  4. Rufus V. Smith
    Replies:
    4
    Views:
    301
    Grumps
    Jan 16, 2006
  5. Rufus V. Smith
    Replies:
    0
    Views:
    349
    Rufus V. Smith
    Feb 2, 2006
Loading...

Share This Page