I have a 256GB Photofast SSD working in my X5
1.8 50pin IDE V4 256GB. That's what she said.
Yup that's the drive. Oh, I'm a he.
Ok here's one better than trying to figure out if the Rockbox LBA48 routines have a bug by repartitioning, rebuilding, copying gigs of files- I eliminated the X5 from the equation by doing some comparisons to other drives plugging into my PC through my frankenstein USB to microata adapter (electronics from an AMS Venus USB IDE drive enclosure from 2005, and a 3.5" to 2.5" adapter plugged into a 2.5" to microata adapter).
To keep some sanity, I rebooted my PC and had no other programs running and ran each test twice, safely removing each time. I used a stopwatch to measure. For the frankendapter tests, I started the clock the instant I powered up the frankendapter. For the X5 256GB subpack test, I started the clock first and plugged in the USB cable the moment it hit 10 seconds (otherwise I would need to grow a third hand...), and subtracted 10 seconds from the total. I stopped the clock for each test the moment the drive letter showed up in Windows Explorer (I'm running XP).
5.3sec frankendapter + Toshiba 20GB MK2006GAL
6.5sec frankendapter + 32GB Kingston Elite Pro CF/32GB-S2 Martwin CF-microata
6.5sec frankendapter + 80GB Samsung HS082B libmart.co.kr AN-ZIF219 zif to microata
23.4sec frankendapter + PhotoFast 256GB 1.8" G-Monster-50 IDE V4 SSD
Hopefully somewhat scientific and useful...
And for reference:
28.2sec X5 through subpack with the PhotoFast 256GB installed
Considerably slower with the SSD eh? And I think it rules out Rockbox and its LBA48 routines as being an issue.
If subtract the Photofast from the average of the faster drives (6.1 sec), all going through the frankendapter I get:
23.4-((6.5+6.5+6.5)/3) = 17.3 seconds, and in the ball park of my other observations.
Some pics:
Ack! What's that old thing doing in there..original battery that I forgot was still there...During my tests Monday and Tuesday, I did get about 14 hours playing FLACs before there was around 20% battery left (I was getting about 6 hours on the 80GB Samsung that lived in this X5 last month):
Ahh.. new CS-SFM3SL 1100mAh:
And installed:
Frankendapter:
The drives:
256GB SSD label closeup:
256GB SSD installed:
Info display. Hey you say that looks like my 240GB MK1214GAH upgrade I did to my X5L last week. Well it seems
Photofast counts 16GB of spare sectors in the total (click the link). It's actually a 240GB SSD acording to
Guiformat which reported it as 240GB... which is still the largest 1.8" 5mm SSD I'm aware of so I'm not complaining:
Edit:
Here's the output of Guiformat:
GuiFormat version 1.01 x86 Windows version 0501 32 bit
Size : 240GB 469756602 sectors
512 Bytes Per Sector, Cluster size 32768 bytes
Volume ID is 19f6:1f22
32 Reserved Sectors, 57330 Sectors per FAT, 2 fats
7338154 Total clusters
7338153 Free Clusters
Formatting drive K:\:...
Clearing out 114756 sectors for Reserved sectors, fats and root cluster...
Wrote 58755072 bytes in 2.30 seconds, 24.32 Megabytes/sec
Initialising reserved sectors and FATs...
Done
I'm going to check with Dvnation (where I bought it from) also Photofast and see if they are aware of the slow power up times. And do some googling to see if this happens with any other SSDs.
I would think a power on self test of the whole drive's space would be a good thing (I don't know if that's what it's doing, just guessing, yeah the drive may actually be defective in some way...). I would think it's possible the hardware can tell when a sector is going bad and reallocate before any data is lost. With 16GB of spare sectors they must be expecting to have to do quite a bit of reallocation over the life of the drive, and it would be pretty crappy if it only reallocated after it tells you it can't read the sector, right? Going to have to do some googling...
Edit2, 4-1-2010:
I'm thinking there's a firmware bug related to the transfer mode stepdown handshake...
I pulled the drive out of the X5 for the 3rd time for more tests tonight. I forgot about the 1.8" USB to microata case I have. So I tested it on that too, with no change in power up slowness. I also tested the X5 and the two adapters on my laptop's USB with no change.
What I know: The X5's CY7C68310 (ISD-300LP) is UDMA4, the PL-2506C in the 1.8" case is UDMA4, and the frankendapter's CY7C68300B is also UDMA4. The 256GB SSD is UDMA6.
So I hooked up the SSD with the frankenchangers and an 80 conductor IDE cable to my main PC (built in 2007) which has UDMA6 IDE ports. And there was NO DELAY on SSD detection or boot!
I then hooked it to a 2004 era PC's IDE port which has only UDMA4 support. It does the IDE detection about 10 seconds into boot and if it doesn't see the drive it continues on. I pressed the delete key to get into the bios, which showed no SSD. At that point I ctrl-alt-del rebooted (no power cycle, and more than 18sec elapsed since last powerup), and the drive was detected on the next go round. I shut off the power and repeated the test two more times to confirm.
Oh, I was able to get hdparm to talk to the drive when connected to my main PC motherboard IDE port. Firmware revision is VATP1281. I checked:
http://www.photofast.tw/forum/index.asp..for new firmware for the V4 series but there's none.
The hdparm version available online for Windows is from 2007 and doesn't have the -d option which disables DMA. I tried the -X paramenter to try changing the transfer mode and got:
hdparm -X udma5 hde
hde:
setting xfermode to 69 (UltraDMA mode5)
HDIO_DRIVE_CMD(setxfermode) failed: Function not implemented
And also tried setting pio4 with the same error. Rockbox uses pio4 right?
Hey maybe that's the issue... The function to change transfer modes is not implemented in the firmware... which makes this SSD with a legacy interface troublesome for legacy devices....
If something like that is the issue, I guess the SSD has a slow limp-home handshake mode, to keep trying lower speeds until communication is established.
I might try the Knoppix live CD which has a newer version of hdparm which may have the -d option and see what it does. I don't think it's a permanent change though, so moots the ability to change it after powerup...(someone correct me if I'm wrong).
I searched the various notebook user forums, and couldn't find anyone who has tried the V4 256GB drive. There are a bunch of folks using the 128GB version though without issue. Could be they all have UDMA6 notebooks, or the issue isn't in the 128GB version, or I just have a bum SSD.
So there you have it...
Edit3: 4-6-2010
I decided to test on another PC and then contacted dvnation with the info about the USB adapters (the X5 is technically an adapter too) and PC troubles, who contacted Photofast, and Photofast emailed me a link to some new SSD firmware. After upgrading, booting is quicker now and the USB adapters are quicker too. It's late now, but I'll do more tests tomorrow and use the stopwatch and also try the build with the powerdown feature enabled to determine if the disabling of that is still needed.
Edit4: 4-7-2010
Ok here are the times with firmware revision VATP1295:
17.3 seconds for the drive letter to show up in Windows Explorer.
11.4 seconds from X5 powerup until it continues past the battery voltage display.
Considerably faster than before, but still slow compared to everything else. But you know what folks? This is somewhat bleeding edge technology. No one else make a 256GB (ok 240..) 1.8" 5mm thick drive that I'm aware of, spinning platters or SSD. AND with a PATA microata connector. So I'm ok with it.
I moved off the .rockbox I have been running the past few days that has the "#define HAVE_ATA_POWER_OFF" commented out, and moved back on the .rockbox that has the "#define HAVE_ATA_POWER_OFF" compiled in. I put the spindown at 3 seconds and turned directory caching off (maxpain). And it's somewhat less painful using than with the old SSD firmware. But still painful nonetheless... taking 11.4 seconds to browse to the next disk folder level or skip to the next track. So move the good .rockbox back on (HAVE_ATA_POWER_OFF commented out) and all good now. Except for higher power consumption of course, but still less power than harddisk.
I'm still determining the maximum runtime, as my new battery I put in a few days ago was defective and went to 0 volts while sitting on my bench not hooked to anything (during my joystick changeout surgery this past weekend (in the Repairs and Upgrades forum)), so I have another new battery in now and testing.
When I first did this upgrade (with the old SSD firmware), and while troubleshooting, I went into the "View disk info" in the debug section. For "Spinup time" It said like 18000 something ms. Which made no sense because it's a SSD right? I saw that the Size calculation is wrong (appears to be doing LBA28 calcs), so I figured the Spinup time displayed was wrong too. But it wasn't.
I've determined that Rockbox appears to measure that Spinup time when it does its first disk access (after Rockbox has powered it down once the boot has completed).
With the HAVE_ATA_POWER_OFF compiled in and with the new SSD firmware, it says 11320 ms.
With HAVE_ATA_POWER_OFF commented out, it says 40 ms. Ding ding ding...
That's how come it doesn't skip even with HAVE_ATA_POWER_OFF compiled in and a long spinup time. It knows how long the drive takes to spinup, so it just compensates by powering up appropriately depending on what it measured. And it does the same when playing through to the next track and so on. But when the user commands a different track, Rockbox has to wait for the spinup before it can do anything (developers- correct me if my observation is not correct).
So the summary is, for this 256GB drive, get the VATP1295 firmware (or newer) from Photofast if your drive has an older version. They said to run the updater a from a pure DOS environment (they said FreeDOS works fine). I copied the files to a floppy, then booted onto a Win98 boot floppy (selected no CD-ROM drivers) and ran the .bat file. They didn't mention interface in the email, but to be safe use one of the motherboard's IDE ports (not a USB to ATA adapter or enclosure (or through the X5)).
And comment out or delete the "#define HAVE_ATA_POWER_OFF" from the iaudiox5.h. And if you skipped the first part of this thread, you need to add into that file "#define HAVE_LBA48". And compile a bootloader too and use the scramble tool on the bin file (../tools/scramble -iaudiox5 bootloader.bin x5_fw.bin), and flash that to the X5 (copy x5_fw.bin to the FIRMWARE folder, safely remove, plugin your charger, and wait 11.4 seconds for it to start flashing). I'm going to write up a proper step-by-step how-to for the X5 and put it in the Repairs and Upgrades forum since this thread obviously got way too messy...