Hooray for nice hand-me-down SLR cameras! I finally have a better camera than the one built into my (now ancient) Samsung Galaxy S II that I use for pictures on this blog. The camera, a Canon EOS 50D, had an 8GB CompactFlash card that I was preparing to erase and reuse, and had problems trying to read out the card’s contents; a few stubborn files would refuse to copy and Explorer would simply hang until I restarted the program or unplugged the card. Additionally, when using my Hard Disk Sentinel program to do a surface scan, it too would freeze when reading a certain sector on the card.
Instead of using a USB-to-CompactFlash adapter (I could not find my card reader and have not seen it for over a year now, come to think of it) I used a CompactFlash-to-PATA adapter, then a PATA-to-SATA adapter so I could directly hook up the card to my computer. In addition to having greater theoretical throughput, it allows me to view the S.M.A.R.T. diagnostic data that the card provides.
Memory card issues and performance
The diagnostic information doesn’t really provide any insight into the health of the card; none of the S.M.A.R.T. attributes are listed as critical, and many of them are listed as vendor-specific. Oh well, at least it gave me some sort of information…
After finding a copy of the card’s contents on my home server (I seem to have previously backed up the card before the corruption occurred but didn’t recall doing so until I had raked through some of my archives), I decided I’d do a full card erase and see if it would cause the card to be usable again. I called up the Surface Test in Hard Disk Sentinel and used its surface-write tool to erase the user-accessible area of the card. A few blocks seemed to write dramatically slower than the rest and repeated write tests did not resolve their sluggishness; I call shenanigans with the memory card’s controller and its reluctance in reallocating problematic sectors…
The card itself isn’t very fast. The sequential I/O of the card is good enough for casual photography, but I would definitely not use this card in an embedded system that uses a CompactFlash as a sort of mini-SSD; even though it shows up in my system as a hard drive (non-removable), its random I/O is quite sluggish and its random write speed is worse than that of a standard hard disk drive.
The card itself is a sandwich of aluminum plates, a plastic case and the PCB assembly that holds the controller, Flash memory and the CompactFlash connector. A hobby knife run under the aluminum plate was able to separate the plate from the plastic body; some glue and a couple clips were the only things holding the card together.
The card’s controller is a Phison PS3006, which sports a PCMCIA (and therefore CompactFlash) interface with True IDE (or plain PATA) support. It contains an 8051 microcontroller core with a few components to assist with interfacing with the Flash memory, such as a hardware ECC (error correction code) engine and a small amount of SRAM for a buffer.
The datasheet for the PS3006 doesn’t provide information on the S.M.A.R.T. attributes, nor does it indicate what type of Flash wear-leveling is provided. Given the controller’s limited computing capabilities, I’m thinking it uses a less-complex but less-reliable form of wear leveling, known as dynamic wear leveling (see Micron’s application note for more information). It’s less capable of dealing with memory wearout, but doesn’t require the computing overhead of static wear leveling (which proper SSD controllers use to keep performance up).
The memory is an Intel 29F32G08AAMD2 device, which is an asynchronous MLC NAND Flash memory chip. There are two installed on this card with another two footprints on the PCB being unpopulated, suggesting that the 16GB version of this card has all four footprints populated.
Given the simplicity of the card, I don’t really have much else to add about this card. Either way, it’s lost my trust with regards to holding my photos. I bought a NOS Disk 16GB CF card from Amazon as well as a SanDisk Extreme 32GB, and plan to use the latter to hold my photos, with the former mainly being a simple curiosity of the construction of a card from a lesser-known manufacturer. Hopefully those will also provide S.M.A.R.T. data, as I prefer Flash-based storage devices with some sort of S.M.A.R.T. data capability. (Is it an insatiable thirst for knowledge? A means of doing regular ‘check-ups’ on my storage device? Probably the latter, but maaayyyybe the former as well. 🙂 )
Pingback: Review of SanDisk Extreme CompactFlash 32GB (SDCFXS-032G) | Rip It Apart – Jason's electronics blog-thingy
I did not see a reply space on your other CF article, “Review of SanDisk Extreme CompactFlash 32GB (SDCFXS-032G),” but I wondered if the status of that disk as Removable was affected by the fact that you formatted first as exFAT. You don’t say anything about format of this one here. It was probably FAT32, unless you reformatted it. Did you? Would Windows use FAT32 or NTFS as criterion for considering it bootable?
Not too sure why the comment section didn’t show up for you. Anyway, the Removable media bit is filesystem-independent; even a zeroed-out card will still register as a removable disk (albeit one that needs to be formatted). I was eventually able to make a bootable Windows install on the card by using a modified .inf file using Hitachi’s Microdrive filter driver. It worked for a 32-bit install, but I could not make it work on a 64-bit install (x64 versions of Windows do not allow unsigned drivers to be installed without explicitly disabling signature checks).
Thanks for replying. Interesting.
You might like to know about this: I bought a Wintec mini-SSD for a laptop Express Card slot. It was expensive for a 64 GB SSD that’s not as fast as normal (but still quite fast); but the HDD is internal and not easily removable. I wanted to see if there is a way to use it to take load off the HDD in this older laptop (Core 2 Duo CPU) by using this for a quick ReadyBoost and/or put a Page File on it. But I didn’t think Toshiba would let me boot from the Express Card slot. I found that Windows offered BOTH to let me use this SSD for ReadyBoost, AND it also appears as a valid drive to put a Page File on Advanced File Settings/Virtual Memory.
I just set this up with both RB and Page File, and sent my wife off on a trip with the laptop. So I will see what she says when she gets back if this was speedier than it has been. I’m wondering now about trying to boot from it. Even if Windows x64 won’t install directly, I might be able to figure out how to use a boot loader on the HDD (C:) and install it on the Express Card SSD (X:) anyway, since it is recognized as a drive. However, at the moment I haven’t time to deal with the complexity this could easily get into! Also I don’t know about reliability of the card either.
Jason, did you come across the article here? Seems to offer a separate driver for 64 bit. Several posters on the article said they had the unsigned driver problem, but looks like author suggests a solution–I haven’t tried this yet:
Yeah, I saw it before. Windows x64 is just way too picky when it comes to unsigned drivers, and I don’t have the willingness to either force Windows to accept unsigned drivers, or to create a self-signed certificate to manually sign the driver.
That ExpressCard mini-SSD seems interesting. Try using a utility like CrystalDiskInfo and see what sort of information shows up. I’m rather curious as to what sort of configuration it’s using internally.