Difference between revisions of "CompactFlash boot drive"
(→Kingston Ultimate) |
(add note about 40-wire warning and UDMA support under linux) |
||
Line 72: | Line 72: | ||
4GB is sufficient to install Linux or Windows with some basic applications. So unless you intend to keep your library of music/videos/pictures local the 8GB card might be sufficient. | 4GB is sufficient to install Linux or Windows with some basic applications. So unless you intend to keep your library of music/videos/pictures local the 8GB card might be sufficient. | ||
+ | |||
+ | ==Linux issues== | ||
+ | With the Addonics adapters listed above (and possibly with other ones as well), the kernel's libata driver might warn about a 40-wire cable and default to UDMA/33 operation: | ||
+ | |||
+ | <pre> | ||
+ | [ 27.831146] ata1.00: limited to UDMA/33 due to 40-wire cable | ||
+ | [ 27.846808] ata1.00: configured for UDMA/33 | ||
+ | </pre> | ||
+ | |||
+ | This has been observed with version 2.6.24 of the kernel, and it may affect older ones, too. A patch is available from [http://permalink.gmane.org/gmane.linux.ide/26879] that adds a <tt>force_cbl</tt> kernel parameter. After applying the patch and recompiling the kernel, you can then set <tt>force_cbl=80</tt>: | ||
+ | |||
+ | <pre> | ||
+ | [ 7.140864] ata1: forcing 80c | ||
+ | [ 7.140886] ata1.00: CFA: LEXAR ATA FLASH CARD, 20071016, max UDMA/100 | ||
+ | [ 7.140890] ata1.00: 7831152 sectors, multi 0: LBA | ||
+ | [ 7.140908] ata1.00: forcing 80c | ||
+ | [ 7.141625] ata1.00: configured for UDMA/100 | ||
+ | </pre> | ||
+ | |||
+ | With the patch enabled, the above system achieves 42MB/sec read performance according to <tt>hdparm</tt>. Without it, performance suffers: 23MB/sec. | ||
+ | |||
==useful links== | ==useful links== | ||
* [http://forum.thinkpads.com/viewtopic.php?t=41568 ThinkPads Forum discussion on the subject] | * [http://forum.thinkpads.com/viewtopic.php?t=41568 ThinkPads Forum discussion on the subject] | ||
* [http://www.hjreggel.net/cardspeed/index.html Flash memory speed - check out the UDMA CF link] | * [http://www.hjreggel.net/cardspeed/index.html Flash memory speed - check out the UDMA CF link] |
Revision as of 04:08, 19 March 2008
Changing your HDD for a CF boot drive with a Compact Flash card and adapter is an alternative to an expensive SSD. This is primarily done by ThinkPad X40 series owners due to the extremely slow speeds of the 1.8" HDD. For the time being it does mean giving up on storage capacity since the faster CF cards are currently only available up to 8GB. Most ThinkPads can have have two CF cards installed to expand available capacity.
Advantages of CF
- Faster then the extremely slow 1.8" HDD, if you get the right card
- solid state, no risk of damage when dropped, no need to run the APS (Active Protection System) software to detect shocks and disable the HDD
- possibly a slight increase in battery life
- less heat being generated
Disadvantages of CF
- Not faster then current generation 2.5" HDDs, especially for writes
- Capacity is limited
- The 100.000 writes applies to each memory cell separately in the card, not to the card itself
- The flash memory cards automatically distribute the writes (moves things around) so that the number of writes to each cell is kept low
What you need
- Passive IDE to CF adapter
- Compact Flash (CF) card with the following
- UDMA support
- X266 speed or better. Especially Write speed is important!
- preferably one that identifies as Fixed disk
- 4 or 8GB capacity, depending on needs
Tested adapters
IDE to CF
These adapters will work for both ThinkPads with 1.8" and 2.5" IDE (PATA) HDDs.
- Addonics AD44MIDECF (single slot)
- Addonics AD44MIDE2CF (dual slot)
SATA to CF
These adapters are needed for newer ThinkPads with native SATA HDDs.
TODO
|
If someone has tested any, please add them here
|
Removable vs Fixed disk type
Most newer compact flash cards identify themselves as Removable instead of Fixed disk. For Linux this does not cause any problems, but Windows has issues with it and will refuse to partition such a drive, and even if you manage to get it installed it will not be able to suspend. In addition some software will refuse to install on a removable drive.
If you have to use a CF card that has the type bits set to Removable and want to install Windows XP you can work around it as follows;
- Use Linux to partition the drive with a FAT32 partition (you can boot from one of the LiveCD/LiveUSB distributions for this), and set the partition bootable.
- Start the install of Windows, during install you will be given the opportunity to migrate to NTFS
- After the install is finished you will need to install the Hitachi microdrive disk drivers (google for XPfildrvr1224.zip), which will mask the removable bits and should allow suspend and other operations that fail on a removable drive to work.
SanDisk Extreme
SanDisk used to provide a utility (when asked) under NDA to change the type bit to Fixed disk. It has however changed it stance on this and now refuses to provide it. This utility (ATCFWCHG.COM) however can be found for download at various places (try Google).
You will need to boot DOS and run it with the CF configured as either the master on the primary IDE interface or the master on the secondary interface. It will not work if the drive is attached as a slave or to any other interfaces.
To set a SanDisk Extreme adapter attached to the primary IDE interface to Fixed disk
ATCFWCHG.COM /P /F
To set a SanDisk Extreme adapter attached to the secondary IDE interface (Ultrabay) to Fixed disk
ATCFWCHG.COM /S /F
Kingston Ultimate
The Kingston Ultimate CF card ships as CF-Removable, and although Kingston admits it is possible to change the type to Fixed disk, it was not willing when asked to provide a tool/application for this purpose.
But supposedly the Kingston card automatically changes ID based on the adapter used, so it will ID as fixed disk when used with an IDE-CF or SATA-CF adapter, but will ID as CF-Removable when used with a PCMCIA adapter.
SATA to IDE bridge
On ThinkPad models with a SATA to IDE bridge (ThinkPad X41, X41 Tablet, T43, T43p and R52) there are some additional limitations and annoyances when changing your HDD to a CF card.
You can only have one CF card, even if you have a dual slot adapter. The second card will not be seen, this is a limitation of the bridge chip and the way SATA functions.
Beeps and error on boot. The ThinkPad BIOS will complain that an unsupported disk is installed (Error 2010), but will continue to boot after 5-10 seconds or after pressing enter (presuming you have a recent BIOS installed).
Storage capacity issues
Due to the fast CF cards that you will want for your OS drive only being available in smaller sizes (up to 8GB currently) you might not have enough local storage for your needs. Here are some suggestions on how to work around it.
- Add a second CF card, using the dual-port adapter. This will show up as an additional drive on ThinkPads that support it, and you might even use a larger capacity (and hence slower card) for this purpose depending on your needs.
- use another flash memory card in the dedicated slot on select ThinkPads (CF on ThinkPad X20 and X30 series and SD on ThinkPad X40 and X60 series). Note that this slot might not be very fast.
- use a USB drive or memory stick for additional storage. This is ugly since it will stick out, and should be avoided on ThinkPads that do not support USB 2.0
- use NAS (network attached storage)
4GB is sufficient to install Linux or Windows with some basic applications. So unless you intend to keep your library of music/videos/pictures local the 8GB card might be sufficient.
Linux issues
With the Addonics adapters listed above (and possibly with other ones as well), the kernel's libata driver might warn about a 40-wire cable and default to UDMA/33 operation:
[ 27.831146] ata1.00: limited to UDMA/33 due to 40-wire cable [ 27.846808] ata1.00: configured for UDMA/33
This has been observed with version 2.6.24 of the kernel, and it may affect older ones, too. A patch is available from [1] that adds a force_cbl kernel parameter. After applying the patch and recompiling the kernel, you can then set force_cbl=80:
[ 7.140864] ata1: forcing 80c [ 7.140886] ata1.00: CFA: LEXAR ATA FLASH CARD, 20071016, max UDMA/100 [ 7.140890] ata1.00: 7831152 sectors, multi 0: LBA [ 7.140908] ata1.00: forcing 80c [ 7.141625] ata1.00: configured for UDMA/100
With the patch enabled, the above system achieves 42MB/sec read performance according to hdparm. Without it, performance suffers: 23MB/sec.