Everything You Want To Know About SD…


… and weren’t afraid to ask.


There have been a number of questions about SD memory cards.  This is a big topic, so I’ll cover what I can and then see what questions come back.  I’ll either answer those questions in the comments or I’ll do a second entry.



What’s in a name?


Originally SD stood for “Secure Digital,” but no one ever did anything with the “Secure” part.  The name stuck, even if the meaning didn’t.  All types of SD cards are based on nand flash memory and are used for storing data.  Think of them as very small, very low power hard drives with no moving parts.  SD, MiniSD, and MicroSD (aka TransFlash) are all the exact same thing, just in different packaging.  Smaller packaging means less space taken on your phone, which enables smaller phones. 


Yes, it annoys me too that every new phone I get seems to need a new, smaller version of SD.  The good news is that I don’t think we can get much smaller.  You practically need tweezers to insert a MicroSD already.  If they get any smaller, we’re going to need a magnifying glass to even see them.



Does capacity matter?


Up to 2G, the only negative to larger storage cards is that they cost more.  They don’t burn any more power than smaller ones and they’re not inherently any slower than smaller ones.  I’ve used 2G cards in my Windows Mobile devices, and they work fine.  Unfortunately, 4G and larger cards aren’t likely to work yet.


Most cards and card readers out there follow the 1.1 version of the SD specification.  That spec maxed out with 2G cards.  There’s a new 2.0 version of the spec that allows for larger cards, but Windows Mobile currently doesn’t support SD 2.0.  Even though we don’t explicitly support SD 2.0, it’s possible for our OEMs to add support themselves (I don’t know if any have).  So if you’ve got a Windows Mobile device that’s able to read 4G SD cards, you don’t have to call me a liar.  Ignorant, yes.  Liar, no. 



How about speed?


SD cards have all sorts of marketing names–Ultra, 133x, High Speed, etc.  There’s no standard for what these terms mean, so I can’t tell you if an “Ultra” card is faster or slower than a “133x” one.  But I can tell you that there are huge speed differences in different SD cards.  A few years ago I did a simple test where I plugged an SD card into a desktop SD reader, copied 30M of files to it, timed the copy with a stopwatch, and then repeated the procedure with different cards.  I literally found some cards that finished in 30 seconds while others took 80. 


A faster card can have a number of benefits.  It could show up faster when you plug it in, files could be written to it faster, and files could be read from it faster.  Whether or not you’ll be able to actually notice these differences will depend on how much faster the card is and how large the files you’re transferring are. 


There’s a small chance to save a bit of power with faster cards, too.  The SD card is only powered while it’s transferring data.  If you can transfer the data more quickly, it’ll be powered for less time.  I’ve never done tests myself, but I don’t expect this effect to be very significant.



How does it work?


Every SD card has a small microcontroller on it.  (Think of a microcontroller as a simplified CPU.)  That microcontroller handles communicating with the phone the card is plugged into, getting data from the flash, and putting data into the flash.  It also handles flash-specific tasks like wear leveling and compaction.  The trick, though, is that the microcontroller only runs while data is being sent to or read from the card.  All CPUs and microcontrollers run off of a “clock” signal, and the SD card’s clock is controlled by the phone it is plugged into.  When the clock isn’t running, neither is the microcontroller.  The phone only runs the clock when it wants to transfer data to or from the card.


The first way one card can be faster than another is that it can have a faster clock speed.  The phone asks the card how fast a clock it can handle, and then uses that speed.  The faster the clock, the more data sent every second.  This is similar to the reason a 3GHz Pentium is faster than a 2GHz Pentium.  The GHz number is the Pentium’s clock speed.


The second way one card can be faster than another involves the way communications work.  The phone sends a command to the card and runs the clock while it waits for the card to respond.  The command might be, “store this data,” to which the eventual response is, “done, give me more.”  Or the command might be “fetch this data,” to which the eventual response might be, “here it is.”  The thing is, because the clock only runs during one of these commands, they are the only time a card has the opportunity to do any bookkeeping work.  So a card might get a “store this data” command, do it, but then do some other work before he says that he’s done.  The longer those other operations take, the slower the overall transfer is.  Some cards will be more efficient than others, resulting in overall faster transfer times.



Why don’t we do more with SD cards?


A frequent question is why we don’t support putting more things on storage cards.  For instance, we don’t allow you to store your contacts, calendar entries, or email on storage cards.  (We do allow you to store attachments there, though.)  The general problem is that storage cards can, by their nature, be removed from the device.  Some types of data don’t lend themselves to being there one second and gone the next.  Sync would get very confused if it saw 300 contacts on one sync, and then only saw 10 on the next.  It would certainly be possible to work out some sort of interface to allow this, but it would be pretty complicated, both to code and to use. 


Things that already have the concept of sometimes being there and sometimes not, like email attachments and temporary internet files, are easier to handle on an SD card. 


As with any potential feature, allowing someone to put their contacts on a storage card would require that we not do some other feature.  On prioritizing SD changes, we take a lot of factors into consideration, one of which is where we see internal flash going.  We’ve already seen phones with multiple gigabytes of internal storage.  As things like that become more common, the value of doing new things on storage cards goes down.  There’s still value in working on SD, it’s just that it’s not as valuable as other things are.



Why do things on SD stop working after a suspend/resume?


When a PocketPC suspends, it powers off most of the hardware in the system, including the part of the SD slot that tells whether or not a card is there.  While the system is suspended, you could potentially eject the card and stick a different one in.  If you did that, any apps that have files open on the card would get very confused.  This almost never happens, but it’s something we need to guard against.  So, when we power the system back on, we check to see if there’s a card there.  If it is, we check with it to see if it’s the same one as was there before.  If it doesn’t respond, or responds differently than we expect, we unload it and close any files that were open before.


The trouble is, we can’t wait forever for the card to respond to us.  There are programs trying to communicate with that card, and we’re stalling them.  So we’ve set an amount of time that we’ll wait for the card before unloading it (we call it the “PnPUnloadDelay”).  Importantly, some phones can power on their SD system quickly and some take more time.  Because of this, the OEM chooses the correct PnPUnloadDelay for his hardware, and we rely on his setting.  If something happens that makes the SD card not respond in the time specified by the PnPUnloadDelay, we assume it’s a new card. 


A lot of things could cause this to happen.  The card you have might be a lot slower than the OEM expected you to use.  This is a place where buying a faster card can help.  Or some application might be running out of control and causing the system to run slower than normal, making everything take longer.  Or, maybe, the OEM made a mistake and set a delay that’s just too low. 


The PnPUnloadDelay is shown in the registry, but unfortunately changing the registry doesn’t affect the value.  Only the OEM can change the value.


Note that Smartphones don’t ever suspend, so they don’t have these sorts of issues.



Questions?


I think that covers the majority of the questions I’ve seen asked about SD cards.  If you have more, ask away.


Mike Calligaro


Comments (154)

  1. Riki says:

    note: *Currently* released versions of WM don’t support 2.0. support is on the way – The problem is hardware (micro’s) support is only just showing up now, so by the time OEMs have designs with 2.0 hardware WM should have support.

    Riki

  2. Henry says:

    excellent article, very informative.  thanks!

  3. Channa says:

    Hi Mike,

        Thanks for the heads-up. These are very valuable info for not only the developers, but also for the general public as a whole, I strongly believe. I really appreciate your efforts on trying to keep people involved informed. I think, Microsoft would have done that since long time ago. Oh well… better late than never :-).

        It came to my mind while reading this that…

    1. How relable these cards are really? For instance, if you compare this storage medium to the venerable Floppy disks?

    2. If I do perform frequent delete and store operations, would that wear out the storage pretty soon?

    3. Can we execute programs off of SD cards? I think we can, but is it safe (reliable) to do so all the time. Say, if I install my whole utility program into SD card and also my DB (that used by the utility program) residing in it. What would be the effect of the suspend action in such a setting?

    4. Forgive me if this is a common old question… but, why SmartPhones are not suspending? How are they save battery without suspending?

    Thanks in advance.

  4. Mike Riley says:

    I have an iPaq 6315 (a 2+ year old Pocket PC Phone Edition) and it reads from and writes to 4 GB SD cards just fine.

  5. Riki says:

    Chana,

    1) They should be better than floppies as they don’ t have moving parts. I’ve seen them submerged and work. Also all data has checksums, which can detect and even fix minor issues.

    Sandisk says on one of their cards "Operating shock rating of 2,000Gs, equivalent to a 10-foot drop to the floor "

    2) they usually have something like 1 million write life

    3) yes you can, and i do. if using smartphone, then it doens’t suspend, if ppc then it should remount the card on resume, which won’t help open files so much.

    4) see

    http://blogs.msdn.com/windowsmobile/archive/2006/08/16/702833.aspx

    Riki

  6. John Tarbox says:

    Would you please describe the "secure" part? I understand there is a serial number on each card, is this true? Cna we read the searial number?

  7. ldrn says:

    You guys give a lot of power to the OEMs, I’ve noticed.  Is there are version of PnPUnloadDelay for compact flash cards? I have a Dell Axim X50v, and in the Windows Mobile 2005 upgrade, the Compact Flash drive would almost always vanish until a hard reset anytime you suspended the PDA or just left it alone for a while.

    One of many bastardizations Dell inflicted on 2005… thankfully, they released an update that fixes most of them a few weeks ago.  If you haven’t seen what they did yet, don’t look — it’ll break your heart.

  8. Riki says:

    John,

    I get a little shady here, SD was based on MMC but with DRM for media included (plus some other bits and peices). It used the CPRM scheme that was once slanted for inclusion into the ATA format. It’s almost unused, it allows media protection for file formats that support it (most popular ones, such as wma/fairplay don’t).

    Riki

  9. Good piece. An explanation of what the new SDHC standard is about – and how it impacts mobile devices would be a good addition

  10. Riki says:

    Mike,

    The maximum capacity of SD card is 2GB under SD 1.1 of SD spec; however, by using FAT32, many SD 1.1 host devices can use 4GB SD cards.

    SD 1.0/1.1 uses traditional “Byte Addressing” scheme which limits the maximum capacity to 4GB while SD 2.0 adopts “Sector Addressing” scheme.

    Riki

  11. Mike Riley says:

    Thanks for the clarification, Riki.  BTW – When are you going to create an iPhone theme for your Theme Changer ;-)?  Any chance that you will offer a version that will run on Pocket PC’s?

  12. Mike Riley says:

    Riki – skip my last question as it looks like someone already did:

    http://idlemode.com/2007/01/10/iphone-for-windows-mobile/

  13. Riki says:

    James,

    SDHC is mainly about increaseing the maximum size, it moves from byte addressing to sector addressing, which allows up to 32GB (technical limit 2TB).

    It also moves from FAT 16 to FAT32. (FAT16 uses a 16 bit address, so, the cluster size is 32KB, so 65,536 X 32KB = 2GB, some naughty cards used a 64KB cluster, so got 4GB)

    There is also new speed ratings previously you had *peak* write speeds of:

    4x: 600 KB/s

    16x: 2.4 MB/s

    40x: 6.0 MB/s

    66x: 10MB/s

    133x: 20MB/s

    now you have speed "classes", with *sustained* write speeds:

    Class 2: 2 MB/s

    Class 4: 4 MB/s

    Class 6: 6 MB/s

    the impact? well it impacts hardware and drivers, but nothing else really. just what you’ll see on the packet. Just make sure, if your buying a SDHC2.0 card, that you have a device that supports it!

    Riki

  14. pnieme says:

    Great post – thanks!  Two other questions…

    Seems like it should be in a FAQ but why can’t I hook a WM5 (or older) device up to a PC and have it access the SD via USB Mass Storage (UMS) like in a cardreader?  My wife has a 2Gb card in her phone but it’s under the battery and since file transfers through ActiveSync are so slow she never really uses any of the cool multimedia functionality of her phone.

    In Windows, I ‘Eject’ or ‘Safely remove’ cards but I sometimes just eject the card from my phone (HTC Wizard/t-mobile MDA).  Am I rolling the dice and asking fate to corrupt my card?  What are the safe ways to get an SD card out of a WM device?

  15. andy says:

    @pnieme:  

    WM5Storage is a tiny third-party program that, when running, programs your device to appear as a mini/SD card reader while plugged into a USB host.  

    It doesn’t just work with computers — it works when plugged into my TV or any other device that can read via a USB port.

    Download it here: http://www.pdaphonehome.com/forums/511434-post117.html

  16. One of my colleagues (Mike Calligaro) over on the Windows Mobile Team Blog has written an excellent article

  17. Saju says:

    Hi,

     I would like to know whether the Windows mobile supports locale neutral names for the storage cards installed on the device. In English devices it is called "Storage Card" in other language devices it called differently… any comments on this issue ?

    regards

  18. TOCA says:

    You can by Highspeed cards and ultra super giga mega etc speed ones, but the PPC is till only running on speeds a litle over normal speed cards, so the difference on the machine is not big, but when transferring files on a USB 2.0 cardreader, there’s a huge difference.

    Allso when transferring files to your SD card, make sure not to make to manny subfolders, they are speed killers on WM. I know we have allways been told to keep our drives tidy, to make files easyer to find, but not on a WM PPC.

    Then ther’s the defragmentation issue: Theoreticaly it should not make anny difference if af flashdrive is fragmented or not, but IRL it makes some difference. Several tests have shown readspeed improvements of up to 10% on a defragmented SD/CF card, comparred to a fragmented one. This is a bigger issue if you have manny small files, like 1kB Word documents, comparred to big video or sound files.

    So if you have anny programes on SD card, that shows up on the Today screen, like a shortcut manager, place them in the cards root or in a top folder, and do the same for the programes that the shortcuts refere to, defrag the card, and use a above normal speed one, for faster bootup time. If you like waching video on your PPC, use a highspeed card, it will give better framerates. Anny higher speeds than normal highspeed will not be noticed by the PPC.

  19. Pimpzilla says:

    My i730 reads & writes perfectly to 4 gig cards, you dirty liar.

  20. djet says:

    Thx for some clarification. I have some more questions left:

    1. Strange things happen with some WM apps after suspending and waking up: they seem to silently crash and can’t be activated from any task manager, their ghost processes keep running and can’t be terminated neither by built-in applet, nor by 3rd party tools. Also starting such app again is a no-go until soft-reset. Is this some WM design flaw that it allows apps hang around until next soft-reset? I’ve had this issue many times with E-Ten communicators. And if running apps from SD in INSECURE, why don’t you warn users?

    2. What is the best times to eject, update and plug-in back SD cards: while fully power on or in suspend mode? Do we have any chances to corrupt SD filesystem, say of some unflushed buffers?

    3. Do you plan to support NTFS for external memory cards? It solves many security questions and allows file compression. I successfully use it with my USB sticks.

  21. pnieme says:

    @andy

    Thanks for the tip! I’m familiar with WM5storage but since it only runs at USB 1.0 it seemed only marginally better than copying with ActiveSync.  But I don’t really know the transfer rate over ActiveSync to compare with USB 1.0 (both of which have just seemed "too slow for much of anything practical"), so maybe I should do some more research.  I suppose I really want my cake (UMS) and to be able to eat it, too (full or high speed USB 2.0).  

    For the WM team, I’m still curious why WM doesn’t (or can’t?) support this natively?

  22. MikeCal says:

    Channa:

    SD cards should be considerably more reliable than Floppy disks.  Floppies can be erased by magnets, but flash cards can’t.  Floppies are much more susceptible to being bent, scratched, or punctured.  And floppies wear out with far fewer write/rewrites than SD cards do.  The only thing that makes floppies better than SD cards is that more PCs have floppy drives than SD slots.  However, if you use a USB key (which is basically the same thing as an SD card but with a USB interface) even that advantage is gone.  The days of the floppy are behind us.  I haven’t used a floppy in years, and my last two PCs didn’t even have a floppy drive.

    For typical flash parts, a given block can be erased about a million times before it wears out.  A block is a very small portion of the device, and we only erase what we need to.  So, unless you’re erasing and writing the entire card every time, you’ll get many more than a million writes before you wear it out.  And, even if you ARE erasing the whole thing each time, it’s going to take a lot of work to do it a million times.  In general, you shouldn’t have to worry about wearing it out.

    The danger of running your program from SD is that you could eject the card when the program isn’t ready for you to.  If the program doesn’t have a mechanism for you to say, "save all of your data so that I can stop you," then there’s a risk in running it from the SD card.  If you don’t eject the card (even accidentally) then this doesn’t matter.  If you’re on a PPC that suspends and the UnloadDelay is incorrect, though, that can cause you trouble.

    This blog entry explains how Smartphones conserve battery power without suspending (and explains why the Smartphone method is better than the PPC one).  http://blogs.msdn.com/windowsmobile/archive/2005/08/01/446240.aspx

    John:

    The original plan for SD cards was that studios would distribute movies and music and things on them.  So there was a mechanism for encrypting the data on the card to keep end users from copying the movie, etc and giving it to their friends.  Between the OS vendors not really wanting to do the work required to make this possible and the major studios not really wanting to market another distribution medium, the "secure" part never took off.

    ldrn:

    The Unload Delay applys to all mountable storage systems, including CF and MMC.  We definitely do give a lot of power to our OEMs.  The most important reason we do this is that it allows them to go into markets we don’t explicitly cover.  By giving the the ability to choose their own hardware and designs, they can decide whether to make a device with CF or SD, or with expensive parts or inexpensive ones, etc.  Maybe one OEM is selling large, expensive industrial devices to factories while another is selling mass market phones.  If we required a single type of SD hardware so that we knew the correct PnPUnloadDelay to set, we’d keep our OEMs out of a number of markets.

    James:

    There are two possible meanings for "SDHC."  If you’re talking about "SD High Capacity," that’s just the SD 2.0 spec I mentioned in the main entry.  The implications for mobile devices are that SDHC cards can be 4G and much larger (possibly up to 2TB), but that the Windows Mobile software doesn’t yet support that standard.  We haven’t officially announced SDHC support, and you won’t get such an announcement from me.  But I will say that we have no reason NOT to support it.  

    pnieme:

    The main trouble with having a card show up as a mass storage device is that the mass storage spec expects the mass storage device to be completely controlled by the desktop.  It can get very confused if two things are reading and writing to it at the same time.  For instance, if you had an app running on your device that was writing files to the storage card while the desktop was treating the card as a mass storage device, it could cause problems for both.  

    Note that you CAN access the card via Active Sync, though.  When you plug the device phone into the PC, go to the Active Sync window on the PC and click the "Explore" button.  That will give you a view of everything on your phone, including the storage card.  You can then drag files to the card as though it was a mass storage device.  Active Sync puts some overhead into the transfer, so it’s not quite as fast as a typical mass storage operation.  And, if the phone is USB 1.1, it won’t transfer anywhere near as fast as a USB 2.0 reader, but this should allow your wife to get the multimedia files she wants onto her phone’s storage card.

    Unfortunately, there’s no guaranteed safe way to eject your SD card.  If you have an application that is writing files to the card, you need to tell the application to stop.  If you eject the card while it’s writing, how it behaves will vary depending on the application.  It might put up a box asking you to reinsert the card, or it might lose its data.  You’re unlikely to corrupt the card itself.  But you can potentially corrupt the individual file that’s being written.

    Saju:

    The name "Storage Card" is configurable by the OEM and is fully localizable.  If you’re interested, check out the "name" and "folder" values under the following registry key.

    [HKEY_LOCAL_MACHINESystemStorageManagerProfilesSDMemory]

    There are other keys under Profiles for other types of storage media as well, including "PCMCIA" for CF/PCMCIA cards and "HDProfile" for hard drives.

    Pimpzilla:

    You mean "dirty rotten liar" don’t you?  (-:

    djet:

    Here’s my guess at what is happening.  Part of the app was in ram and running before the suspend/resume.  After the resume, it tried to get more code from the card, but the card didn’t load quickly enough.  What the app did at this point is going to be pretty app specific.  It might have crashed, or hung, or gone silent, etc.  When most WM apps start they check to see if another copy of them is running.  If it is, they’ll exit rather than run a second copy.  If the first copy is still running but not working correctly, the second version might see it running and exit.  

    As I said above, you’re more likely to corrupt a file than the filesystem if you eject the card while it’s being written.  

    Sorry, we don’t support NTFS on storage cards and I’m unaware of any plans to do so.

    Mike

  23. djet says:

    Mike, but what about inability of WM to terminate the hung app so it makes me reset the whole OS?

    In the 2nd question I presumed all apps started or depended from SD were already unloaded. I just heard suspending PPC makes it flush all the file operations.

  24. davepuh says:

    Is there a way to setup Windows Media Player to sync songs to my SD card instead of the phone?  I cannot find an option and I think it is preventing me from listening to DRM files when I just copy them to my SD card instead of using WMP to sync.

  25. mmidgley says:

    My HP iPAQ 3650 (ppc2002) would stay off (suspended) if I ejected a storage card while it was off.  My i-mate JAMin (wm5) wakes up if a card eject or insert occurs while it is suspended.  Is this a change from Microsoft or the OEM?  Or is it a consequence of it being a phone edition device?

    Does it make Storage Card operation more reliable?

    Ever since an update to MSReader a long time ago (to ensure it keeps an ebook open on my iPAQ 5555–and/or a ROM update, can’t remember), I haven’t had any problems with Storage Cards and windows mobile.

    I’ve used 1G, 2G, and 4G SD in my JAMin.

  26. worthwords says:

    The write speed of NAND based cards will degrade over time. So the copy files test is only fair if all the cards are spanking new.

    Aside from the usual FAT file system fragmentation, the wearing of the flash + approaching full capacity can have writes being bounced around the NAND.

  27. Our colleagues in the States have posted a guide to all things SD. Learn about Windows Mobile and storage

  28. Hi Mike,

    I have always wondered why these drivers are called "Drivers"? Is there any specific reason behind this? Looking forward to your response…

    Thanks in advance!

    Regards,

    Jadeja Dushyantsinh A.

  29. Faust says:

    Mike, is the the whole "compaction thread" thing applicable to SD storages or do SD cards manage their block erases by themselves?

    And a more specific question:

    Let’s assume that some app modifies a file frequently and also assume that both the WM device and the SD card have NAND flash with the same low-level data transfer performance.

    In which case the performance would be better – when the file is located on device’s persistent storage or when it is located on the SD card?

    (I know that it’s anyway not a good idea to have highly volatile data on flash, but I’m just curious)

  30. Adam says:

    Wheres windows mobile 6? Public beta’s? Closed beta’s? any info…. come on… really. u guys are acting like apple. tell us about it

  31. scyost says:

    @Adam: Any future releases are under NDA until they are publically announced, so in general you won’t hear about them from us on the blog.

  32. kris nieva says:

    Hi,

    Came across this blog, and i hope someone can help…

    I have a 1 GB SanDisk SD card that was perfectly working, but after a month when i put that into a card reader, it says "removable disk not formatted!" so i cannot see my pictures and videos anymore…

    I did not Click on "format" coz i know it will delete all those files in an instant. Can anyone help how to recover them?

    Thank you.

    Kris

  33. Giles says:

    Hi,

    I had a 4GB full size SD card working with a MIO A701 with no problems.

    Giles.

  34. Acapulco Rolf says:

    Hi Kris,

    Is your card readable when it’s in your mobile device (I’m assuming this is how it’s used normally of course) ?

    If so, try one of these applications (below) which will allow you to read/write the card. Both these apps make your card visible as a USB mass storage device once you connect your mobile device to your PC

    links

    WM5torage

    http://forum.xda-developers.com/external.php?type=RSS2&forumids=280

    Card Export

    http://www.softick.com/pocket-pc/cardexport2/

    Good luck…

  35. Joshua Moore says:

    I really struggle that many applications (builtin office apps, third-party apps, etc) search the sd card on startup.  Is there any way to turn this off?

    Thanks,

    Joshua Moore

  36. MikeCal says:

    djet:

    I don’t know enough about what’s happening to understand why the OS isn’t shutting it down.  I do know that our shell only shuts down processes that have windows.  It’s possible that a more invasive task manager could find the app and terminate it.

    Suspending the PPC won’t affect what you’re trying to do.  The flushing of files to flash is about internal flash, not storage cards, and it’s about data files, not code.

    mmidgley:

    The decision whether or not to wake up the device on SD eject/insert is an OEM one.  It’s not related to being a phone edition device.  It’s just a matter of whether or not the OEM chooses to make the SD Detection pin something that can wake up the system.  Only hardware can wake up the system, and all hardware is under OEM control.

    Conceptually having the SD card eject wake the system could make things more stable.  We wouldn’t need the PnPUnloadDelay at all if we knew positively whenever the card was ejected.  I have been told that OEMs who have this ability can safely set their delay to 0.  I don’t have any personal experiece with these devices to give you anything definitive, though.

    Jadeja:

    We call them "drivers" because they "drive" the hardware.  You  drive a car by telling it when to turn on, when to move forward, when to turn, etc.  A device driver similarly tells a piece of hardware when to turn on and how to operate.  I gave a description of how drivers work in the interview I did for Channel 9.  (See the "Interview with a developer" post.)  However, beware that it’s a very small part of a very long interview.

    Faust:

    The SD card’s microcontroller handles the compaction and wear levelling itself.  So you won’t ever see a ce compaction thread for a storage card.  However, the storage card’s compaction can only be done during reads and writes, so actual reads and writes can be delayed while the card compacts.  This can slow down a write to the card.

    All things being equal, the internal NAND should be faster than SD NAND because the bus to internal NAND is higher bandwidth than the SD bus is.  That said, the "All things being equal" part is pretty hard to make happen.  (-:

    Joshua:

    I assume what you’re asking for is a way for some apps to know there’s a storage card there and others to think it’s not.  I’m not aware of any way to do that.  Sorry.

    Mike

  37. kris nieva says:

    @Acapulco Rolf

    Thank you for your reply. My SD card is not working on the mobile either, even if you use WM5torage. but i used to use it on a digital camera.now all my pictures and videos are corrupted, they cannot be opened. Is there any free of charge File recovery softwares?

    Thanks

    Kris

  38. Andrew B says:

    We have seen a fair amount of file system corruption with the users of our application.  Tell me if you think this scenario would explain it and if so, if there is anything we can mark on the disk so that it will think of it as a different ‘disk’ when re-inserted.  Is there a way to disable caching?  would this help?

    Specifically, we have a database on the SD card.  User powers off device, pulls out card and inserts it into a PC card reader where they manipulate the database. During this process, the files are modified and the database size may grow, files get created, etc.

    They then put the card back in the device and turn it back on.  At this point the file system can get smashed.  Is there any chance the directory information is ‘in memory’ and it doesn’t know the blocks/allocation on the SD card has changed?

    Thanks for any insight.  This is one of our most vexing problems.

  39. MikeCal says:

    Andrew, your preblem is a particularly vexing one.  You could be in the process of writing to the database when the system suspends.  If the user pulls the SD card out, does stuff with it, and then puts it back in, you’re almost guaranteed to corrupt it when the system wakes back up and you resume writing.

    How often do you write to the database and how long are the writes?  I can help you guard against the system suspending on its own, and I can help you guard against the user pressing the power button (there are ways to keep the system alive when the user does this), but I can’t help you guard against him pulling the card out on you.  But, if database writes tend to be a few seconds, maybe you can educate your users to count to 10 after suspending the device before yanking the card, etc.

    Check out the Power To The System entry (http://blogs.msdn.com/windowsmobile/archive/2005/08/10/450186.aspx).  I give the APIs you need to call to block the power button in one of the comments.

    Mike

  40. "A frequent question is why we don’t support putting more things on storage cards."

    The simple fact: it is bad practice to hardcode paths. By doing so, you limit the capabilities of your own software, and tie the hands of developers who would extend your software with config utilities.

    Not allowing the mobile version of IE to cache to another location, and not allowing OneNote to store files to another location were both showstoppers for me. With IE it’s a matter of filling up spce with an uncontrolled, hard-to-locate folder. With OneNote the worst part is that Mobile OneNote specifically _prevents_ any benefit of using more than one SD card.

    Citing that "some manufacturers" put more than a Gb on new devices is a lazy response. All we’re asking is that you follow the same good habits as other developers and allow people to configure their own paths.

  41. Taking true portability a step further: Why shouldn’t my apps and data be portable and tied to their storage – SD card, network location or elsewhere? Why shouldn’t my device refresh to show the apps on the currently connected locations? Why can’t there be a configurable list of accepted storage locations (good media players do it) that are crawled when an app spins up?

    I’d be interested to hear more about the issues you’re having with cache invalidation. Maybe I’m missing something, but betweeen a variety of possible checksums and time-outs. There’s a whole group at MSR that studies how long people spend in bursts on typical tasks. If you had a simple system file to estimate continuous time-on (e.g. update it every 3 minutes, store the last update time and number of consecutive writes to it), plus an actual last-file-write time per device or app and in well under 1k you should have enough information to estimate whether a person switched to a PC and back, or should otherwise invalidate the cache. No?

    If camera vendors are allowed to store metadata to storage media, I don’t see why you don’t as well.

    Cheers,

    -e.

  42. MikeCal says:

    Eli, you can move your IE cache.  I wrote a blog entry a year and a half ago explaining how to.  (http://blogs.msdn.com/windowsmobile/archive/2005/07/20/441038.aspx).

    The issues aren’t about cache invalidation.  Caches can easilly be stored on a removable media.  By their nature, caches can always be refilled.  The issue is software that puts data on the device and expects it to stay there.  If, for instance, I sync all my contacts to a storage card and then remove the card, my phone no longer has access to my contacts.  When I go to make a phone call, I can’t do smart dial anymore.  We certainly COULD have some concept of multiple contact stores–maybe a set of important contacts you want to always have with you and a set of less important ones you’re willing to not have when you eject the card.  But we’d need to have some mechanism for the user to mark his contacts intelligently that’s easy to use and understand.  We’d also need some mechanism for saying, "remember all those contacts I said to put on the storage card?  Well I lost the card and I need them back now."  We’d also need some way to explain why when you do smartdial some of your contacts come up immediately and others trickle in slowly because you’ve got them on a storage card that happens to be a lot slower than the internal flash.  Etc.  None of these are insurmountable problems, but all of them are work that would have precluded us doing OTHER work.  When we compared the benefit that this feature would bring to our users with the benefit of other features we could do instead, and we compared the amount of work it would take to do compared to the work in the other features, the other features won out.  Like it or not, the reality of sucessful software development is that you do the features that benefit the most people first.  Sometimes that means that less universally needed features never get done.

    Mike

  43. Andrew B says:

    In terms of the database, I am OK if they pull the card out while the database is runnning.  We do teach them about this (we actaully have them exit our application before pulling the card, which should tehrefore mean that the DB is not in the middile of the write.  They may, however, power off the device before pulling the card, and again when it is reinserted some of the files are definitely moved/changed.  So, I do not think preventiung power-button or counting to 10 is the likely solution.  However, my gut, (and that is all it is) still is telling me that something on CE is not handling this type of thing correctly, as the number of file system (not file) corruptions is quite high (say 10% of our devices in a given month).  I don’t know if I going down the right path, or it is something ‘completely diferent’.  

  44. MikeCal says:

    Andrew, are you saying that they shut down your application and then power off the device and pull the card?  If you’ve closed all handles to the database before the card is pulled, it shouldn’t matter whether the system was suspended or not.

    This scenario is possible:

    1) An application has an open handle to a file.

    2) The system suspends.

    3) The card is ejected.

    4) The card is put into another device and the file is changed.

    5) The card is put back into the device.

    6) The system is powered back on

    7) The system has no idea that anything happened, so the file handles are still valid.

    Short of doing a full scan of the card on ever suspend/resume, I don’t see how we could guard against that.  

    But if your users are shutting down their app before ejecting the card, then the above scenario shouldn’t happen.

    Mike

  45. Andrew B says:

    Hi Mike.  I agree with what you say, and most of the corruption we see isn’t application level, but file system level (i.e. smashed directories).  Under the scenario we describe, since the OS has no idea that nothing has happened, will it use the FAT information that it has cached, or will it re-read the FAT information from the SD device?  If not, is there anything we can do to force a re-read of the info – i.e. inform the OS that something has changed.  We can certainly mark the SD card somehow when it is in the PC.  Thx.

  46. MikeCal says:

    Andrew, if you’re seeing filesystem corruption, that’s another thing entirely.  Can you click the "Email" link at the top of this page and send us a new description of the problem along with your email address?  I’ll forward it to the filesystem guys and see if they have any ideas what might be going on.  

    I have some suspicions, but it’s better to have us able to follow up with the filesystem guys, since they’ll know better than me.

    Mike

  47. Last week I was comparing iMates and iPhones , and a few days later I pulled the trigger on the HTC P4350

  48. Rajiv S says:

    Why isn’t  there a safe way to remove storage cards? Its not unusual for me to lose recently saved files from the memory card when its removed n reinsterted. its the same when the storage card is removed from a card reader without ejecting or stopping it. a simple solution would be to devise a safe way of ejecting or stopping a card before its removed to maintain file integrity.

  49. Varun says:

    Hi,

      Is there a way to increase the number of blocks that are written to the SD card at one go? Currently on my device, WM500 writes 8 blocks (each block is of 512 bytes) at a time. But a device on WinCE5.0 writes 32 blocks at a time. How can I increase the numbner of blocks written to the card from 8 to say 32 on WM500?

  50. Chris says:

    Can an Export feature similar to the desktop Outlook feature be added to applications like Contacts, Calendar, Messaging? Export feature would be even more useful with options like ’email encrypted export file to: ‘ , and ‘automatically export every x days’.

    As a technical support rep for a service provider, "how do I back up my contacts" is a frequently asked question. Many customers purchase WM devices as phones, but do not have access to a Windows PC with Activesync and Outlook. This is a problem when a Clear Storage reset or warranty exchange is needed.

  51. JohnMc says:

    Mike, I have a question regarding the usefulness of "defragmenting" an SD or CF card, can you tell me whether or not my interpretation is close to the mark?

    CF and SD memory cards incorporate controllers that use wear-levelling which means that when a memory block gets written to and then subsequently marked as blank instead of using that same block for that part of the disk a new one gets allocated to take its place. The FAT file system that is seen by the device using the memory card is simply a presentation of how the card *could* work to the operating system but the physical representation could be phenomenally different in terms of actual layout.

    So, due to wear levelling, you could have a file that the FAT file system shows is completely contiguous but in the physical media is as fragmented as a file can possibly be. The reason that FAT32 and / or FAT backup or sector size make a difference is because you are making the FAT file system more representative of the physical media and so using it more efficiently.

    This is my interpretation of the FAT file system + wear-leveling interaction, am I even in the right ballpark?

  52. JohnMc says:

    The main question was meant to be "Is it even worth defragmenting an SD of CF card?" and that post was my reasoning as to why I think it isn’t.  As I asked, am I even close?

  53. Graham says:

    I have a corrupted Trans Flash card that I cannot format as xp cant see  drive with the card in.I have tried formating it using CMD but no luck any ideas what I can do if anything at all?

    Thanks

  54. Rajiv S says:

    @chris: backing up contacts can be done online as well by using a service like mail2web. this way contacts get backed up the instant they are changed and retreived by simply configuring the server again after a hard reset. mail2web’s free service includes this along with directpush mail.

  55. Oleg Dulin says:

    First, let me say that Windows Mobile 5 based XV6700 is what made me (a hardcore Mac and Linux advocate) a Microsoft fan.

    Your post on SD helps explain why Windows Media Player sometimes gets all confused and disoriented if you turn the device off while it is playing music. Heck, sometimes you don’t even need to do that.

  56. Matt Langford says:

    I have a Palm Treo 750v with a Sandisk 2GB Mini SD Card.

    When I want to sync media files via Windows Media Player 10, my device displays only the free memory in the main memory but doesn’t display my Mini SD Card. This is a problem because I can only transfer files that will fit in my main memory then I have to transfer them to the storage card manually.

    Is there a solution for this problem?

    Cheers

  57. MikeCal says:

    JohnMc, yes you’re in the right ballpark.  For the reasons you said, if you try to defragment an SD card, it’ll just get fragmented again by the wear leveller.  Add to what you said that the negatives related to fragmentation on hard drives don’t really apply to flash storage cards.  A fragmented file doesn’t need to seek more, because there’s no seeking involved in a flash card, etc.

    Mike

  58. Terry A says:

    Mike, I’m particularly interested in your comments in the "Why do things on SD stop working after a suspend/resume?" section and how this may relate to the reliability of alarms and notifications in WM5.  Please bear with me for a few moments as I explain why I think it may.

    I have owned Win CE devices since 2.0 and presently own an iPAQ hx2495b with WM5.  After purchasing my current device and loading up with my contacts, tasks, email, etc. and my normal base WM apps, I noticed that my notifications and alarms failed to fire almost immediately.  My initial thought was that it had something to do with one of the apps that I loaded and it’s compatibility with WM5 (or lack thereof).  

    So I started a nightly routine of clean reset (load completely from ROM) and loading one app each day to see if I could find the offending app.  Not being a developer, that was the best I could do.  I’d load an app, set the alarm for the next morning to see if it would wake up the device.  After almost two weeks of doing this, I found that every app seemed to be an issue.  Again, before installing each app I performed a clean reset each day, the alarms always failed.  So I tried a clean reset and no apps., still no alarms.  

    You might ask why I waited all the way to the next day to see if the alarm would sound, it was because I was suspicious that the issue had something to do with calupd.exe or calnot.exe which seem to be set to run nightly.  BTW, why do these apps run so frequently?(calupd.exe runs for me a minimum of daily at 12am, but as much as hourly when I have appts. scheduled throughout the day.  calnot.exe runs daily at midnight almost every single day).  Perhaps these subjects that have already been discussed elsewhere, but I’m very curious.

    So, as you can imagine, I was pretty frustrated with the whole thing.  I was about to give up on WM5 and go back to my WM2003 device when I was reading a post on a discussion board I came across related to alarms and notifications issues.  The post had asked folks to list the apps and particulars of their devices that were having issues.  One recurring theme that I saw in every post was the use of an SD card.

    So why had I never thought to remove the SD card through all of this?  Probably because I assumed it to be benign and besides it was from the card that I was installing the apps each day.  So, the next chance I had, I did yet one more clean reset, set an alarm and waited… “beep beep beep”.  Finally, they work.  So I tried installing an app at a time.  Each morning…beep beep beep.  After installing all the apps I use, the alarms and notifications were still working.  And they are still working 100% reliably after almost a month.  

    I’m now convinced that the alarms were not working because of the presence of the SD card.  What is it about the card that kept the device from properly waking from suspend? Do you think its an incorrect mfg pnpunloaddelay (mine is set to 4096, what does the 4096 represent milliseconds?), slow SD card, what?  Since as you mention that I have no control of the registry setting, the only variable left to control is the card itself. Is it possible to leave an SD card in the slot and have the alarms work? I would suspect that your response would be yes, that’s what it is supposed to do.  So how would I know what to look for in the next SD card if that’s the case?

    I’m particularly interested in your thoughts on this and look forward to your response.

    -Terry

  59. MikeCal says:

    Hi Terry,

    The "alarms don’t go off"problem has been hurting us forever.  The general way it happens is this.  When the system wakes up, it first goes into an intermediate state where the screen is off.  From here, whatever woke the system up has a chance to tell it how it wants the system to proceed.  It might say, "The user needs to see the screen.  Turn everything on," or it might say, "I need to do some stuff behind the scenes.  Leave the screen off."  If nothing steps forward and claims responsibility for waking the system up, the system assumes it was woken up accidentally and it goes back to sleep after 15 seconds.

    In every case I’ve ever investigated where the alarms weren’t working, SOMETHING that was higher priority than the alarm code ran continuously for 15 seconds.  Since it was higher priority, it kept the alarm code from running.  Since the alarm code didn’t run, it never got to tell the system to turn the screen on.  So the system went back to sleep after 15 seconds.

    For various reasons, the most likely source of "code that runs at higher priority than the alarms" is OEM drivers.  All OEM drivers do things on resume, and almost all of them are very high priority.

    Now, typically, drivers never do things for 15 seconds straight.  But anything is possible.  If you have an SD card that acts in a way that the driver writer didn’t expect, it could concievably make things go slowly and cause you to miss an alarm.  

    PnPUnload shouldn’t have anything to do with this.  Potentially the particular SD card you have could have an effect.  You shouldn’t have to wait overnight to test this.  You should be able to set an alarm for 5 minutes from now, suspend the device, and see what happens.  If what I’m describing is what’s happening, then the system won’t seem to wake up in 5 minutes, but if you hit the power button in 7 minutes, the alarm will fire then.  

    As for your calnot/clocknot question, those are apps that set up calendar and clock alarms.  They basically are what tell the system when to wake up for the next alarm.  They may run frequently, depending on how many different alarms you have, but they should never run for very long.  They tend to start, do their job quickly, and then exit.

    Mike

  60. Terry A says:

    Mike, Thanks for the response.  I tried what your suggestion about setting an alarm for 5 mins then suspending (turning off) the device.  When I set it for 5 mins from the current time and turned off the device the alarm sounded.  So I tried, 10mins, 15 mins, and 2 hours.   Each test was with the SD card installed, and each time the alarm sounded right on time.  

    But, when I set the alarm for the following morning (6:20am) and leave the SD card in the slot, the next morning there is no alarm.  The alarm does not sound until I physically turn on the device.  What is the difference between setting alarms for the current day, setting alarms that would not sound until the following day, and the presence of the SD card that prevents the alarm from sounding.  When I remove the SD card and set an alarm for the following day, the alarm always works.  The only conclusion that I could make was that it had something to do with the SD card and the calupd.exe or calnot.exe processes that generally run at midnight.  

    Also, you mentioned about the 15 sec sleep time if the device does not fully wakeup.  I’ve changed the registry entry on my devide for BattResumingSuspendTimeout to 60secs from the default 15secs and there is no difference in behavior with the alarms.  There must be some connection to the SD card and the nightly processing.  What are your thoughts?

  61. peter says:

    i have an 8 gb adata sd card

    can anyone suggest drivers,

    @new egg some guy mentioned

    SDIO-sdsd.pro

    what does it do

    how does it do it

    and how can i get it

  62. Maciej says:

    Is there any tool to do low-level format of an SD card? It might me the only possibility to rescue my card. Thanks.

  63. MikeCal says:

    Terry, I’m at a loss.  I don’t understand what would cause a difference between waking up in a little while and waking up a long time later.  Here’s a shot in the dark.  When the system wakes up for calnot, it wakes up, does its job, and goes back to sleep quickly.  Maybe that process of waking up and rapidly falling back to sleep messes up the SD driver somehow?  So the next time it tries to wake up it has trouble?  How about this for testing?  Set your system clock to 11:55 PM and set your alarm for 12:05.  If it’s calnot/clocknot, then you should see the repro happen in 10 minutes instead of overnight.

    Mike

  64. MikeP says:

    My company is having many problems with SD Cards becoming corrupt.  In several cases, a strange file, or more than one strange file shows a size of more than the capacity of the card.  In other cases, the filenames show as varous unrecognizable characters.  Can’t rename, delete or do anything except format the card.

    Is there a best practice for formatting?  FAT or FAT32?  Should SD Cards be formatted prior to use (they are typically FAT and useable right out of the package)?

    We use the SD Card primarily for storing database files, and the cards are not typically removed for any reason.  Thanks for any help.

  65. MikeCal says:

    Mike, I forwarded your question to Andrew, our filesys guru, and here’s his response.

    "The SD 2.0 spec allows for FAT32 format, but non 2.0 cards should be formatted as FAT16 in order to be compatible with all devices. They could be getting card corruption caused by surprise power loss on the device. IF they don’t plan on inter-op with other devices, then they could potentially re-format the card using TFAT (they’d need to do it programmatically as there is no UI to do this on a WM device). TFAT will work fine on SD cards and should eliminate corruption, but we don’t support TFAT for any inter-op scenarios."

    Mike

  66. MikeP says:

    Thanks for the info.

    I have not used TFAT – how is a card formatted using TFAT?  Is there a utility that runs on Windows (XP)?

  67. MikeCal says:

    TFAT is CE-specific.  It won’t work on XP.  So, to format TFAT someone would need to write a utility that is run on the device.  Unfortunately, I’m the wrong person to ask about the APIs needed for writing that utility.

    Mike

  68. MikeP says:

    Would Andrew be able to assist in pointing me in the direction of an already written utility?  In searching, I have seen a utility called FATUTIL mentioned, but I can’t seem to find it.

  69. MikeP says:

    FYI:  We are using 1Gb SD Cards (mostly Sandisk SDSDM-1024) on Cingular 8125, and UTStarcom 6700’s (Sprint, Verizon, Bell Mobility).

  70. Mikekiwi says:

    Terry A, MikeCal – regarding the alarms don’t sound probleml; you guys are on the right track. Most BSP code that OEMs derive from is not completely compatible with WM5.0 in terms of suspend/resume functionality. In fact, both the SD and USB drivers have threads that are kicked off upon a resume and take a while to run.

    The key here is that the 12.00am wake up/go back to sleep is a lot shorter than 15s – it’s not timing out, but it’s forced back to sleep.

    So those threads get cut off mid resume, and then they’re confused or in a bad state next time they run.

  71. MikeCal says:

    MikeP, I’m checking to see if anyone knows of a TFAT format utility.

    MikeKiwi, that’s interesting.  I know why the system shuts off quickly at midnight, but drivers should definitely be able to be written to deal with it.

    When the system wakes up and goes into resuming, the application that caused the system to wake up can go into unattended.  When the application is done, it leaves unattended.  If nothing else is keeping the system awake, the system goes directly to sleep.  This is how we designed things and intend for them to work this way.  We don’t want to keep the system awake longer than necessary.  

    However, as you pointed out, with a very quick application like calnot, this can result in the system being awake for less than 15 seconds.

    Now, officially, that’s intended.  Resuming isn’t intended to give apps 15 seconds to run.  It’s intended as a quick transition to a real run state such as on or unattended.  But it seems that some drivers are assuming that they’ve got that 15 seconds and relying on them.  That’s a race condition waiting to happen.

    In later WM6 (and some later WM5 AKUs) we changed the behavior to always guarantee that the system will be on for 15 seconds, even in this case.  We did it for a different reason, but maybe it will help the drivers in this case too.  I still think it’s a potential race condition, though.  I’d rather the OEM fix his SD drivers.

    Mike

  72. Terry A says:

    Ok, I must admit that I’m not completely following you guys here.  I don’t understand why having a process run less than the 15s is a problem.  Isn’t shorter better?  Since I’m not a developer, let me see if I can explain it another way to see if I understand what’s going on.  

    Is it like my little five year old who gets up in the middle of the night to go to the bathroom and turns on all the hallway lights (in this case little calnot.exe that wakes up and wants to quickly do it’s thing and go back to sleep)?  He doesn’t intend to wake up everyone else in the house, but by turning on the lights, he wakes me up too.  Now that I’m awake I decide that I too need to go to the bathroom, but by the time I’m halfway there (in this case the SD card driver), the five year old has already turned out the lights and is back in bed while I’m now fumbling for the the door?

    If that’s close enough to describe the what’s going on, and it could be resolved by the OEM changing the SD driver to not wake up during this overnight wakeup.  How would I ever get to someone at the OEM who would 1) take the time to understand the issue, 2) know what to do to resolve the issue, 3) get approval to spend time resolving the issue, and 4) writing and testing the code to fix the issue, etc.  This is exactly the kind of thing where I could see both sides pointing the fingers to the other side.  There’s no way I’d get past the OEM 1st or 2nd level support who seem to only seem to know how to deal with the "did you plug it in" types of issues.  Any suggestions for getting someone bought in to getting it fixed?

  73. help needed - file recovery says:

    hello there,

    thanx for the usefull information on this topic.

    i use a 2Gig micro-SD card in the HTC p4350 win mobile 5 device.

    and the freeware WM5torage for connection to the pc:

    http://forum.xda-developers.com/external.php?type=RSS2&forumids=280

    after a rough hardreset by displacing the battery because ie crashed, i cant "see" 3 folder on the card anymore the other folders seam to be ok and not broken. the memory usage still shows the right storage usage, so i thing something caused a "hick up" and the folders arent initialized correctly anymore so the file explorer cant "see" them and i have no access to the data.

    i know this from my "grown" pc so i tried out file recovery software.

    but so far i could only manage to get back image files but not the more important doc files.

    someone has an inspiration on that topic ?! someone has simmillar problems or knows tools ? i appreciate any help ; )

    this is the program what successfully recovered my image data:

    recovery manager:

    http://vaiosoft.com/products/recoverymanager.html

    i will try out these free recovery tools now…

    smart recovery:

    http://www.convar.de/

    file recovery:

    http://www.pcinspector.de/file_recovery/welcome.htm

    thanx a lot and have a nice day.

    ebk

  74. mikekiwi says:

    Terry A – I like your analogy – it’s spot on! Some drivers need to do stuff that takes a while when the device resumes. For SD and USB drivers there’s the whole enumeration process to go through because the power was off to the card or peripheral. So, they need to detect what’s connected, then re-instantiate other drivers (like file-systems) etc.

    All this takes longer than is reasonable in the power-control functions that the Power Manager calls when the device changes power-states so those tasks are spawned off as threads.

    This architecture existed before the power managment used in WM5 was implemented.

    Unfortunately, the whole wake/sleep in <15s is not documented by Microsoft, so OEMs (and silicon vendors who supply BSPs to OEMs) were not aware that the driver architecture was broken in WM5.

    Most probably have workarounds in place now.

  75. Russ says:

    Every time I plug my PPC-6700 in to charge or sync, the brightness "on power" setting for the backlight get dropped to the darkest setting (which is pretty much black in most situations).  This is rather annoying since I often want to see the screen while the device is charging.

    Is there a way to stop this setting from changing?

    Thanks!

    Russ

  76. paymon says:

    i use a HTC P4350 (herald) and have been noticing my SD card (micro 2.0 gb) to suddenly become storage card 2 and have many files with wingding characters that are unable to be erased.  Anyone have an idea why this is happening?  Is my SD card corrupt?  

    Thank you!!

    paymon

  77. MikeCal says:

    Terry A:

    Yes, your analogy is perfect.

    mikewiki:

    The Resuming state has been around for multiple OS releases.  We did document it, and I personally gave a presentation to all of our OEMs describing it.  Also, there really wasn’t any way for an OEM to miss the Resuming change, because any who did found that there was no way to keep their device on for more than 15 seconds.  You’re right that not everyone saw the documentation or my presentation, because early on I answered the "why does my device shut off 15 seconds after I press the power button" question a bunch of times.  But no one shipped a device that could only stay on for 15 seconds.  

    This many years later, though, I don’t think the issue is that people don’t know about Resuming. I think this is really just a standard issue integration bug in someone’s SD driver.

    Russ:

    I have a vague memory of a bug like that in some release (presumably whichever one you have).  If your situation is the one I’m thinking of, there was an update released by the mobile operator that fixed it.

    paymon:

    What you’re describing are two different issues.  Here’s how the "Storage Card 2" thing tends to happen.  Some application writes data to "Storage Card" even though there’s no Storage Card present.  This causes the OS to create a folder called "Storage Card."  Then, when you insert a storage card, it finds that name already taken, so it creates a "Storage Card 2" instead.  

    If this is what happened to you, you should be able to eject your storage card and still see a "Storage Card" folder.  If you look at what’s in that folder, you might be able to figure out what app caused this to happen.  To fix the problem, put your storage card in, move whatever is in "Storage Card" that you want to keep over to the "Storage Card 2", eject the storage card, and delete the "Storage Card" folder.  The next time you put the real card in, it should get the correct name.

    The wingding characters in your filenames is an issue I’m not aware of.  It does sound to me like it’s been corrupted, but I don’t know enough about it to be sure or to suggest why it happened.  I wouldn’t expect it to be related to the Storage Card 2 thing, though.

    Mike

  78. THT says:

    I use a IPAQ 3950 with 1GB SD storage card. There’s a strange thing that each time I turn on my PPC, the system always informs that "Do you want to try format the storage card to make it readable". Actually I pressed Yes button several times, but if I try to access the storage card after reboot the system, the same message appears. Please help me to find out the solution for this.

    Many thanks in advance

  79. MikeCal says:

    It sounds like the storage card got corrupted.  I assume that, no matter what button you press on the dialog, you can’t see data on the card afterward, correct?  I suggest putting the storage card into a PC to see if you can get to its data there.  If not, the PC might be able to format it.  

    Its possible that the card’s hardware has failed.  If that’s the case, there’s going to be little you can do other than replace it.

    Mike

  80. Chris D says:

    I have a cheap Hi-Speed 2GB SD card that replaced a 512 MB SD and has worked fine in my HX4700 WM2003se PPC since I bought it a month or two ago, it is used to store Program files and MP3’s (I use a 4GB CF for Docs, backups and Movies).

    Two days ago I was unable to run a program from the card, when I ran file explorer (Resco) it did not see the SD card. I reset the device and it asked me if I wanted to format the card. I responded no, turned the PPC off and ejected then reseated the card and tried again, it asked me to format again (I said no).

    When I got home I set the PPC to card export mode and connected to my XP SP2 PC, this asked me if I wanted to format the card.

    I said yes, it said it could not. I disconnected the PPC, switched back to activesync mode and reset, this time I said yes to reformat. The SD card is now reported as 1GB, there are no files or folders visible (as I would expect).

    I have Pocket Mechanic Pro but am not sure how to get it to format the card to 2GB – nor why it is seeing it as 1. Pocket Mechanic was installed after the problem occurred as resco and WM both reported the size as 1 GB.

    Any ideas?

    Thanks.

  81. Erik E says:

    Is there a file limitation when copying files to the SD or miniSD card using Microsoft Windows 2003se?

  82. Chris D says:

    Not that I’m aware of.

    I tend to use the SD for program installations, so mostly small files. There was a directory of mp3’s which were transferred using softick card export (would have taken days with activesync).

    2003se saw 2GB on the SD before and had no trouble accessing files and reporting free space. It’s also happy with a 4GB CF card.

    I hadn’t added or changed any files when the SD failed, it just died…

  83. Erik E says:

    Chris, thank you for the reply, I left out one very important part of the question.    Is there a file limitation for the root of the SD card?   I have read posts on other sites that state they are getting about 100 files copied then getting out of space error.   Can copy unlimited files to sub folders thou.

  84. Chris D says:

    Erik,

    Assuming a similar implimentation is used on Storage cards as on Hard disks…

    There is a maximum size of the root directory with FAT16 but not FAT32.

    Maximum number of files & folders in the root directory for FAT16 is 512, for FAT32 it is 65,534 using long file names will reduce this figure.

    I read somewhere (can’t recall where) that SD cards don’t really like deep directory structures, but not knowing the source I can’t say how reliable that info is.

    I tend to have less than 50 items in any diectory partly because it becomes difficult to find anything and partly because it takes CE a while to refresh when scrolling through lists of files.

    I’m not aware of any specific wm2003se filesystem limits but I’m a struggling user like you, hopefully MikeCal or another moderator will give us some definitve advice.

  85. Mark says:

    <a href=  ></a>   [url=][/url]  

  86. Peter says:

    Hi Mike,

    Nice article

    What i would like to know about an SD card is how to do something like a symbolic link that we know from unix.

    I have an application that will only install in de storage. it is java based and uses a database, now this database can grow and since there is only about 40Mb free in storage on most PDA’s with WM2005 it reaches the limits quite fast.

    what i would like to do is create a folder is de root of the device like "application" which is then created in the storage. but in real time it is linked to read/write to "Storage Cardappsapplication" this would solve a lot of issues with big applications and to small storage on devices.

    In our case the standard ram of 64Mb is big enough to run the application only the storage is always to small

    Is this possible? or how could i/we do this?

    Kind regards,

    Peter

  87. Addriane says:

    I just purchased a 2gb microSD card for my razr v3i and when i inserted the card and tryed using it my phone said the card needed to be formated so i tried formating it and it said it failed…so i then removed the card and inserted it in my computer…the card displayed ‘unreadable’ and my pc also said it needed to be formated so again i tried formating it from my computer and it also failed…was the card i purchaed defective or is there any other way i can get it formated?

  88. MikeCal says:

    Peter, to my knowledge, CE doesn’t support symbolic links.  Sorry.

    Addriane, it sounds defective to me.  All the cards I’ve ever used either came formatted or were able to be formatted by the PC.

    Mike

  89. JOON says:

    I was wondering if you knew why my Lg Cu 500 can’t recognize my 2 gb micro card.i don’t know if it’s software or whatever ,but it isn’t formatting .If you have an answer ,I really need your help.

  90. Varvocel says:

    Hi Mike,

    Thanks for your article.

    I’m HTC Artemis user and like many other users I have problem with corrupted filesystem on micro SD card.

    Filesystem get corrupted not only after pulling card out . Like you see my English isn’t good, so maybe you could read this threat to better understand problem http://forum.xda-developers.com/showthread.php?t=285511

    I’ve found link to your blog there. HTC support suggested the problem is Windows Mobile related, so maybe you and other WM5 gurus could help us with this issue?

    Thanks in advance.

  91. peterjoris says:

    Hi Mike,

    In windows XP or Vista it is called "directory junctions". is there an application known that can do that on windows mobile or is it comming with next releases to Windows mobile as well?

    Kind regards,

    Peter

  92. Eric says:

    Hi, I have a Samsung i730 – windows mobile 2003SE and purchased a 2gb sd card for it, the device seems to be recognizing it perfectly as when I go to settings and memory it reports the correct size and free space.

    My problem is when I try to copy files to it using active sync it wont let my copy more than 500mb before it says there is no free space, worse I tried to download a podcast to it directly using the onboard browser and not connected to a pc when it was at 390mb (podcast was 26mb) and it failed claiming not enough free space.  Anyone had this problem?  

  93. joel says:

    i want to know where do i put the sd card in nokia mobiles cause there so confusing ????

    urgent please help………..

  94. MikeCal says:

    Joel, Nokia doesn’t make Windows Mobile phones.  In fact, they’re our primary competitor.  You’ll probably have an easier time finding people who know the answer to your question on a Nokia blog than a Microsoft one.  

    Mike

  95. Sergio says:

    Hi MikeCal,

    How  regular users can install drivers on WM (expecially smartphone)?

    These days i’ve saw news about avaiabilty of a SD driver that allows WM devices to read high capacity SD cards (SDHC). Unfortunately it’s avaiable only to OEMs?

     "BSQUARE releases drivers to enable support for SDHC memory cards up to 32 GB"

    http://www.bsquare.com/about/story.asp?PressID=451

    Do you know if this driver work on actual WM 5.0 devices (eg: HTC Tornado aka SPV C600, Qtek 8300, Qtek 8310, Cingular 2125, etc)? Or the driver work only on some "updated" hardware?

    I want do ask you about a problem that I have with my phone and big cards.

    I have a Orange SPV C600 (HTC Tornado) and a 1GB Kingmax miniSD.

    When I write/install something to the card the phone lags and the phone respond slower to commands. The "lag" can be feelt if I listen to music while writing to card. I’ve tried to copy a big file, the extra lag occured at the begin of copying and at the end of it. So, if you copy lot of small files to card, in this time the phone will become very unresponsible. Eg: store IE cache to card, download files via Opera,etc etc.  This lag does not occurs while reading from card. Just while writing..

    This problem occurs with all ROMs i’ve tested ( (default orange rom, latest Orange UK ROM AKU 2.0).

    However, i’ve found a cooked rom (called "iphone") which handles better the card. I don’t have that lag while storing to card. Also I’ve noticed a DLL present in Registry (HKLMDriversBuiltInSDHC) and Windows:  OMAP850_SDHC.dll . Can I use this driver on the Orange UK ROM? How? Simply by changing the registry values?

    However the joystick is awfull in this ROM.. and has many slowdowns. That’s why I want to revert to Orange UK ROM (or wait a WM6 ROM), but I wish first to solve my SD related problem..

    I have to mention that with smaller card (32MB Sandisk.. which came with the phone) I don’t have this problem.

    Why this happen? Can I fix it?

    Thanks

  96. abrar says:

    i bought a 1g toshiba sd and whenever i download games or programes into my mobile everything is ok untill i wait for couple of hours i see all the thisng i downloded is gone then i take out the sd from the mobile to my computer i fid all the things are there but when i put it back into the mobile its all gone

  97. bowa says:

    Hi,

    Sorry if I’m ignorant, but is the "never sounding alarm" problem in any way connected to SD cards?

    I have never managed to get the Alarm to sound on my Pocket Loox C550. Every sound item is checked in the setup, I have cleared the notification queue for invalid entries, but still my device refuses to sound! I only get Reminder on the screen when I manually turn the unit on.

    As this Alarm functionality seems to be one of the most essential functions in a PDA (and it never failed me during 10 years with Palm), surely there must be an easy solution?

    BR / Bo

  98. Kenneth says:

    I am confused about how drivers for SD cards are implemented. Are they part of WM5? Do they come from the host processor manufacturer? Third parties? Have you described the SD card driver story somewhere?

  99. MikeCal says:

    bowa:

    There have been devices where a bug in the SD driver has caused the system to not play the alarm. In general what has happened in those cases was that the SD driver used all of the CPU cycles at wakeup and starved out the alarm code from running.  I’m not familiar with teh Loox C550, so I don’t know if it has this problem or not.  In general, a way to narrow down the problem is to eject the SD card and see if the alarm fires then.  If it does, but doesn’t fire when the SD is inserted, that’s a good indication that the SD driver is causing trouble.  The SD driver is written by the OEM, so you’d want to give that information to them.

    Kenneth:

    SD memory card drivers are provided by the OEM.  If you’re talking about other types of cards (for example, a WiFi SD card), that may or may not be provided by the OEM.  If it’s not built in, it needs to come from the card manufacturer.  

    Mike

  100. Kenneth says:

    Thank you for the rapid response about SD Card drivers. But when you say "OEM" do you mean the card manufacturer or the manufacturer of the processor that communicates with the SD Card?

  101. MikeCal says:

    Sorry, when I said "OEM" I meant the phone manufacturer.  All phones with an SD slot have the drivers for SD memory cards built in.  It’s non-memory cards that may need extra drivers.  In general, if extra drivers are needed, they’ll come from the card manufacturer.

    Mike

  102. Joe says:

    With the device-we-shall-not-mention on the marketplace soon, it seems like time to support SDHC!

    Please help me dodge the slings and arrows of my image-pinching, orientation swivelling, fanboy acquaintances by letting me store the same amount of data on my phone as theirs. That way I can say: "Yes, yes, I can store all my music, too, but I have 3G and GPS. Go away."

    😛

  103. Dimitris Rizopoulos says:

    Very very good article.

    Here is my problem. I have a Transend 4GB SD card. It works fine but everytime my Fujitsu-Siemens Pocket LOOX 720 suspends for more than one minute (I think) when I resume, the SD card disappears.

    My guess is that this has something to do with what Mike points out in this article, however, I need to know if there is a workaround. I mean, how can I reactivate my SD card after a resume? Removing and reinserting the card does not help. The card will appear again randomly in some other time. This is very frustrating of course because there is no way to know when your SD card will be available again…

    Any tips/help would be highly appreciated…

    Thanks,

    Dimitris.

  104. barbara says:

    I have an LG 8600 phone and purchased a 1Gb sd card. I stuck the card in my phone and formatted it, then put it in my computer and tried autosyncing it (didn’t work). So then I tried to drag and drop from the music file to the card (still didn’t work). It says the music is on the card, according to the pc, but it will not recognize it on the phone. Any suggestions?

  105. kevin says:

    how come my computer recognizes the SD card(chime noise) but it doesnt show the drive where its coming from? its doing this for every card i have, different makes, etc… i cannot access anything because the E:/ drive aint there…whats the deal??… bigger issues with my computer, or is it more corrupted cards?

  106. Alexandre says:

    When I insert my 2GB SD card into my Treo 750, it is recognized   But somewhere down the line, the Treo stop recognizing the SD card.  If I select Start | Settings | and then the System tab and select memory, it says I don’t have a storage card installed.  If I then eject and reinsert the the SD card, it is recognized again.  Some time later it will be unrecognized again.

    Help-me!!! send a email about! Please!  docarvalho@hotmail.com

  107. Ricky Chau says:

    I am using ASUS A636N. Before, I am using WM5.0 and I have 2 SD cards working properly.

    Recently, I had upgraded it to WM6.0. I found sometimes, there is problem that both my SD cards could not be accessed after Suspend a few hours and then Resume. I didn’t touch the card while it is Suspended. After Resume, my FileManager still shows files. However, when I try to run it, it report error. I need to remove and put back the SD card and then everything is okay.

    I did some search on the web and found it is a common problem after upgraded to WM6.0.

    Anyboby can help on this problem?

    Thanks a lot,

    Ricky

  108. yorik says:

    Hi ALL.

    I need help. How can I re-format SD card via my smartphone (Windows Mobile 5).

    p.s.: I haven’t card reader

    10X

  109. Sergio says:

    MikeCal please read my previous message..

  110. MikeCal says:

    Sergio, sorry I missed your message before.

    In general, there isn’t enough standardization in phone hardware yet for drivers to be written for one device and work on others.  Typically when a company like bsquare releases updated drivers for something like SD, what they release must be modified by the OEMs to match their particular hardware.  So, the answer to your question about using generic drivers on your device is basically, "You can’t."  You need for either the OEM to make the drivers work or for some of the clever people who do these things themselves to do it.

    From what I understand, SDHC shouldn’t require special hardware (it’s a purely software change).  It just requires that the software be written correctly for your hardware.  That said, I haven’t actually seen it work on your phone, so I can’t be certain.

    As for writes affecting reads on your storage card, there are a lot of possibilities.  The way storage cards work, when you change something on it, you just mark that part as invalid and write the data somewhere else.  Eventually you run out of free space and need to go back and erase the "invalid" parts to make more space.  The card is unable to erase and read at the same time, so the time it takes to erase can have a big impact on the speed it reads.

    There’s a huge variety in card speeds.  Some erase/write much faster than others.  One potential solution to your problem is to use a faster card.

    Unfortunately, I don’t know the answers to your questions about using the improved driver you described.  Because drivers are specific to devices, and because they’re written by OEMs, they’re different for each device.  I don’t know what the right changes are for that particular device.  

    Sorry I can’t be of more help.

    Mike

  111. E-Sop says:

    Does anyone know how to format a SD Card running Windows Mobile 6?

  112. keelan says:

    hi i have a hp ipaq rx1950 and a 1 gb sd and lately its been saying im using 312mb of my storage space when there is nothing on it but an old game that takes up barely anything i cant put any new files on it and ive tried pretty much everything to make it work what should i do??

  113. Carsten says:

    Palm Treo 650/680 can run 8gb sdhc cards

    The gadget is at least 4 years old but with some little modification (add sd slot driver) it can handle 8 gb sdhc cards and I guess 16 gb sdhc cards as well when they come out in spring 2008.

    I was always surprised that Windows Mobile cannot do the same but stops at 2 gb.

    This makes it impossible for me to change the OS since the wikipedia file alone is 3,7 gb on a storage card these days. I cannot store all the info on a winmob device as I can on a palm os device.

  114. leighsha says:

    um… ok so i wanted to take info from my phone and put it in my computer and… this is going to sound so stupid but how do you eject the tiny memory card thing…

  115. MikeCal says:

    keelan, the only thought I have for you is to put the card into a PC and reformat it.  It sounds, however, like the card has gone bad.  If so, nothing is going to work.

    Carsten, Windows Mobile itself supports >2G cards.  It just needs a driver update, similar to what you did on your Palm.  Driver updates, however, come from the OEMs, not from us.

    leighsha, that’s actually a pretty common question.  Those cards are tiny and hard to eject.  And, worse, the mechanism changes from device to device.  But, usually, you eject it by pushing it in and releasing it.  There’s a little spring inside that will push the card out far enough to let you grab it.  On some of my devices, however, the card is recessed enough that I can’t push it unless my nails haven’t been cut in a while.  Then I usually use a coin or something similar to push it in.

    Mike

  116. Mike says:

    I just purchased a 2.0gb micro sd card for my HTC PPC6800 running WM 6.0.  When I put the card in it does not recongizing it.  When I put it in my laptop with the adapter all is well.  Any ideas???

  117. Iskandar says:

    Ricky Chau,

    Regarding your ASUS 636 problem, please upgrade to the latest firmware released by ASUS (www.asus.com.tw). I’m also having this problem with my ASUS 696 and it is solved after I upgraded the firmware.

    Cheers,

    Iskandar.

  118. Iskandar says:

    Hi MikeCal,

    I’m having some problem when synchronizing to Windows Live!. Usually, I fixed this by doing a "Switch Account’ but it would not last long. The problem keeps happening again and again.

    I also did clean boot (from ROM) but the problem keeps occuring.

    I think this problem also encountered by several other users which is not using the same PDA as me (ASUS 696).

    Any idea?

  119. Andrea says:

    I’m experiencing some problem with my SD Card.

    I have a SD card (2 GB) – with some programs installed – plugged into the SD slot.

    Sometimes, often after a suspension or using a program that accesses frequently the SD card, programs begin to run slow and seems unable to read data from SD. (e.g. vectorial maps remain incompleted)

    Memory manager reports available space 1.3 MB when I’ve got 1,8 GB free.

    Also, if I launch a program stored on SD, system replies that the “file cannot be accessed / system can’t find the file” or simply the system crashes or holds for an indefinite amount of time.

    Problems installing applications onto SD card. (huge file xfer = hang/crash)

    If I unplug and reinsert the card and make a soft reset, the reported available memory is OK (almost 2 GB) and I can perform some tasks.

    I tried:

    2 GB SD Card less than  8 MB/sec (see reported problems)

    2 GB SD card 8 MB/sec (see reported problems)

    512 MB SD Card 10 MB/sec

    generally less problems.

    Programs speed enreased.

    Loading data is almost OK.

    Free memory report is OK.

    But after a suspension sometimes I’m still experiencing a problem with an application that cannot be launched from a mapped button. (the file cannot be accessed / system can’t find the file)

    One more suspension an it is OK !

    I wonder whether it is simply an SD speed problem or something that involves hardware or firmware.

    Maybe the “PnPUnloadDelay” setting involved?

    Limitations about SD size?

    Thanx for you attention / suggestions

    Andrea

    PXA 27. / 624

    ram 128 free 45

    rom 128 free 85

    gsm-wifi-bt-sd-pcmcia

  120. ramachandran says:

    how to eject mobile media card reader in windows xp installed compaq laptop C700T

  121. harry says:

    I have the IMATE JASJAR which has the wm-5 in it causing me to use the standard SD card in it. My question is , now that i’ve updated the OS to WM-6, will i now be able to use a SDHC card in the unit

  122. simaz says:

    Dear All,

    I recently purchased the xv6800 and then bought a 2gb micro sd card. i wanted to move some pics after putting them on the memory card and inserting it to my laptop. the laptop wont take it and asked to format the card i pressed on yes and then chose FAT and it did. Now when i install it in my pocket pc the pocket pc wont recognize it (when i go to running programs and then choose storgae card it says NOT INSTALLED). what should i do and what did i do wrong ?

    Thanks in advance.

    Sami Z

  123. simaz says:

    Hi Iskandar,

    Apparently im having the same problem with windows live on my pocket pc xv6800. It wont let me log on to my hotmail email and gives me a message uable to log in. I was able to solve that by going to mobile.live.com and there send a text with a link form the website to my pocket pc and i would always use this sms to log in to my hotmail… thats the only thing i was able to do … any different ideas pls let me know…

    Thanks

    Sami Z

  124. Hartbox says:

    Hi,

    I am having problems with an internal PC card that I have just purchased and came across this thread from a ‘Kris Nieva’ from Jan 2007 which is virtually identical to my problem, I hope someone can help…

    I have a 1 GB SanDisk SD card that was works perfectly in my Digital Camera and reads fine in my printers built in SD reader, but when i put the same card into my new card reader, it says "removable disk not formatted!" so i cannot see my pictures and videos anymore…

    I did not Click on "format" because i know it will delete all those files in an instant, however I did click on ‘Yes’ to format, message then said ‘failed to format’.

    Thanks

    Kris

  125. MikeCal says:

    I had a similar experience recently.  I bought a 1GB SanDisk card in a "day after Thanksgiving" sale and found that my camera could read it but none of my PCs could.  I got the same sort of error about it not being formatted and then not being able to format it.  

    Turned out that it was an SD 2.0 card and none of my SD card readers (other than my camera) supported SD 2.0.  I had thought that only 4G and higher cards were SD 2.0, but I was wrong.  My card had a 2 with a circle around it on it to denote that it was a 2.0 card.  My solution was to find a newer SD reader to plug into my PC.  It worked then.

    Mike

  126. jabpotter says:

    I pulled out my SDHC out of my Vixta PC. I then put it in my wm6 and it wouldn’t read it. Back into Vista and I am told I meed to format it before I use it. Neither Vista or my XP formats by sectors only azs kilobyte units as far as I can tell.

    I’ve been looking onlime for about 4 days now. I’m still at a loss as to how to go about formatting it. I am not worried about the data, and most of the software I have run across cost more than the $30 card did.

  127. K.C. says:

    What is the largest SD card (mini or micro via card adapter) that the audiovox 6700 can utilize?

  128. K.C. says:

    sorry, by the way, it is running windows mobile 6.

  129. Bern says:

    I receive an "incorrect data file" whenever I attempt to play music on a samsung.?  

  130. v-man says:

    i just got a 4GB SDHC card for my IPAQ 6315. is there a i can make it read the card????

  131. Geri says:

    I am using a 2GB SD card on my WM5. The other day i tried to save an excel sheet in the mobile, for which it gave a warning that, if it saved the formatting would be lost. I made a "save as" of the file. Since then i am not able to view any other file or document on my SD card. Only thing that appears is that Xcel sheet that i had saved. Memory details show that the card holds  1100 MB of data, but i am able to see only the Xcel sheet. All the programmes which were installed on the SD card have failed to open, inspite of a Reboot. Pls help if you know a solution.

  132. Tary says:

    Hello,

    I have an interesting problem.

    There is some limitation in writing files to a sub-directory on a micro SD card using a Window Mobile phone and I am trying to determine just where the limitation is.

    Using an htc S710 phone with Windows Mobile 6 Standard with a 1GB micro SD card, I get an IO exception every time I try to write over 999 files to a sub-directory.

    It appears that the names of the file is an issue. Each file is only 3500 bytes but has a 30 char filename (27.3 format). They all have a csv extension.

    This problem is repeatable. However if I shorten the filenames to an 8.3 format with the txt extension, I no longer have this limitation.

    So, is the limit due to the number of files times the filename length, the fact that they are 1000 CSV files in a single directory, or some other factor?

    I am puzzled.

    Thanks,

    Tary

  133. H.-J. Gisler says:

    i use a HTC S710 (XPA v1415) and have been noticing my SDHD 8GB card (2.0. I can write and read, syncronisize with active sync etc. but no chance to start media player and audia manager on my WM mobile 6.  Anyone have an idea why this is happening?  Is my SD card corrupt?  

    Best regards

  134. k says:

    Hello,

          My Sony Ericsson 580i is smart enough to store images, video and music directly to the storage card if there is one. Why cant this be true for my Samsung BJ2 with WM6? True the 580i doesn’t sync as effortlessly, but WM can do a better job with SD cards.

    Thank you

  135. Karla says:

    I’m having the a problem with the HTC (AT&T) Tilt (WM6)where I can’t see the Card when the phone is connected to the PC, tho I can see the phone memory just fine.  I’ve tried using a card reader connect to the PC USB port, too.  The system recognizes that there is a card reader and card attached to the port, but Windows explorer on Windows XP doesn’t ever show the card.  What’s up with that?  It’s only on this one PC.

  136. Liu Chi Chung says:

    I wonder if CPRM of SD is implemented in Window mobile. If so, I wonder if there is any documentation on it. We are considering to produce our software in memory card but we would like its data being protected from copying.

  137. Database corruptions are often the most painful bugs to repro and debug. A good percentage of the SSC

  138. SM says:

    Hi, thanks for your blog contents.

    I had problems related on suspend/resume.

    1. After suspend/resume, Music before playing was disappered in WMP play list.

    2. After suspend/resume, Update library operation in WMP was not completed, did not add all music in sd.

    So I think that all issue cause were same, That is sd initializing sequence(removal-reinsert).

    I increase the delay time of "PnPUnloadDelay" and "PNPWaitIOdelay", But did not affect on this issued.

    Did you have an idea for this issue?

  139. Over the years, I’ve delivered several “Top 10” sessions and called them different things. Top Snafus,

  140. Mar(k) says:

    Just wondering….

    What is the lifetime of a SD-Card??? I like the small format and am considering keeping photos and other personal media but can never seem to get an answer to how relliable the cards are after spending 10 year in my deskdrawer :P.

  141. Donna says:

    Enjoyed your article.  Very informative.  

    Question:

    What is different about a SMART card?  I recently had to buy one for an IPAQ 210.  A regular SD card was not compatible with the software I use on the handheld.  

    Also, what is a typical life expectancy of an SD card?

  142. zaldy says:

    i accidentally formatted my sd on my computer and it was change to fat format,but the next time i try to open it to my computer and mobile phone it couldn’t be read…help me fix this problem pls…

  143. Suketu says:

    good article.. wondering if you could help me with this problem. It seems to have been around for over a year with E-ten glofiish X800 without any resolution. (see discussion at

    http://eten-users.eu/index.php?showtopic=13069

    Some cards work okay (mostly sandisk) but a lot of them keep giving a "format storage card" prompt after suspend / resume.

    I recently bought software that came on a SD 1GB card.. the card works perfectly well in windows vista but the X800 doesn’t read the card and keeps giving the prompt to reformat the card.

    Any help welcome

  144. Suketu says:

    I found the solution for the X800.. seems the phone manufacturer has posted a cab on their support site (www.glofiish.com) to fix the reformat issue

  145. Bernard says:

    Dear Mike

    Many thanks for your extremely informative efforts, but I wondered if you can assist with my issue. I recently reformatted the 2gb mini SD memory card which was being used on my friend’s Orange SPV M600 phone because the phone froze every time he turned it on with the card in place and he was having to take the card out to turn the phone on and each time he did this, all the saved info on his Tomtom application would get lost (favourites, home, warn when near option etc)

    It was driving us both mad having to constantly set up Tomtom over and over again and so I assumed that since the phone was freezing with the card in situe, there must be a problem with it. Having reformatted the card, I returned only the files I knew to be essential to the operation of his Tomtom application. But while this seems to have cured the problem of the phone freezing on start-up, he know is having big trouble with his email.

    I previously set the phone up by adding his Gmail account in the mail settings and it was working perfectly before I reformatted the memory card. As he couldn’t access his mail after it occurred to me that perhaps there were some important files/components on the memory card. However I thought this problem would be cured by creating the Gmail account from scratch.

    I got it working but only erratically as it will get mail headers and then the next time you check the mail it won’t get anything and the headers that were there have disappeared.

    Also most frustratingly of all, it won’t get the most recent email and no matter what I set the option that ask "only display messages from the last X days" (I think the default is 3 days), when it does pick up mail headers successfully, it seem only to pick up emails older than fourteen days

    This is a massive problem for him as the only reason I needed to get the Tomtom application working properly for him was because he was going out on tour for three months and it’s a nightmare for him not to be able to pick up emails while out on tour and so I am having to check his Gmail account for him daily.

    Naturally my first (and only) solution was to check that the date and time were set up correctly but other than this I haven’t a clue how to cure the problem

    Any assistance would be most gratefully received (as to perhaps whether I need to replace any crucial missing components that I copied from the memory card before reformatting) but please bear in mind that I’m only slightly more technically literate than my pal and am still a bit of a techno-nincompoop and it would therefore be best to make like you are speaking to a 6 year old (although I am sure many a 6-year old would give ma run for my money in the techno literacy stakes)

    Many thanks in advance in the hope you are able to oblige, as my mate is only back in London sporadically and if I miss him, he will be stuck out on tour with no hope of a solution

    Kind Regards (and sincere apologies for my longwinded tendencies)

    Bernard

  146. greg says:

    i put my sd cardin my dell laptop and it used to just pop right in. but all of a sudden it was hard to put in but i pushed it in, then it got stuck, so i pulled it out, but now it says its unable to read, It looks scratched but Im now sure if thats the reason? Any sugestions?

  147. Everett says:

    How do you install a micro sd (2GB) on a HTC 6800 by Sprint phone? Having trouble. Need Help

  148. Satya says:

    how to open, Read/Write a SD Card from an application in WINCE 6.0. I tried CreateFile but gives invalid handle with error no 2. Is there any other API which is used for Storage Card. Please help me…..

  149. vtpuma says:

    I’m running XP Professional on a PC with a built-in SD reader. When I insert an SD card, use it, safely eject it, then insert the same or another SD card, XP doesn’t recognize it. The only way I can get it to is to reboot. I hate having to reboot between using one SD card and another SD card, or to reuse the same SD card. Is there a way around this, please?

  150. Loreto says:

    I manually erase pictures from my SD card by mistake. I open the SD card in my computer and I selected my pics and I press “delete” by mistake. All my pics have been lost. Can I recover them? (I hope I can)

  151. Ann Magrone says:

    I have lots of pics of my garden flowers in a file in My Picture

     I’d like to be able to copy them to an SD card to use in my digital picture frame.

    Is this possible to do?

    Neither card, camera or pc give directions on how to do this.

    I’ve put the SD  card in the slot but it appears that it is not being read because when I click on each drive looking for it I get a msg “insert disk”.

    Can you give me directions for this or tell me where I can find them?             amagrone@yahoo.com

    Thanks a lot,

    ann

  152. Chitza says:

    How can I programatically find out the cluster size of a storage card? I tried using GetDiskFreeSpace with P/Invoke in C#, but unfortunately I found out that it’s not in coredll.dll, only GetDiskFreeSpaceEx() is present.

    Is there any other way of finding out the cluster size?

    Thanks in advance,

    Chitza

  153. Karen says:

    Thank You!

    I am much recovered now from a long day and night of troubleshooting  therestoration of an entire SD.   Four years of storages dissappeared with one click of a yes to formatting data.  After a week and a half of tech support struggling   to regain web browsing services, I finally got  Weariness! with the Wireless! I Guess!

     Well… Voila! with  Convar!..  and the  unstored data is retreived/ recovered and stored on to  ‘z PC.    Now to regain an internal server for fuller web browsing (as it was) on the cellEphone ….  (the original quest!)…. and  to reinsert the   64mb Sandisk flash card.     Wow!   I am still on the PC and am wondering if the SD is reformatted with the old info or if it just uploaded onto the PC  and is zero’d out?… either way.. there has been a great resolve thusfar and the sun is up now and I can get some R&R!!!    

    I have really  enjoyed reading your blog and am much obliged.

    Merry Merry to you and all.                Joy from           Karen

  154. Max says:

    I would like to read the CID registry of my SD card from my iPaq that uses WinMobile 6.0. How can I do that?