PCカード

PCカード（英: PC Card）とは、日米協調して規格統一を行ったパソコン用小型カード型インタフェース、およびその規格による拡張カードである。主に、ノートパソコンや小型の省スペース型デスクトップパソコンで利用される。PC向けインタフェース規格として初めて、本格的なプラグアンドプレイ、ホットスワップを実現した。

概要

当初は「PCMCIAカード」「PCMCIAスロット」などと呼ばれたが、1993年に規格の統一呼称として「PCカード」が制定されたため、「PCMCIA」とは規格策定団体（のみ）を指すようになった。
PCIをベースに32ビット化されたPCカードをCardBus（カードバス）という。このため、従来のISAをベースにしたPCカード規格を区別するために後付けで16ビットPCカードと呼ぶ場合がある。また、コンパクトフラッシュは、16ビットPCカードを小型化したもので、サイズとピン数以外はほとんど同じ規格である。
後継規格としてExpressCardがあるが、これはUSB 2.0とPCI Expressをベースにしたもので、PCカードとの互換性はない。

歴史

1985年、日本電子工業振興協会 (JEIDA)（当時）に、ICメモリカード技術専門委員会が設置され、規格仕様の検討が開始された。当時はまだノートパソコンは存在せず、主に電子手帳向けの規格だった。
1989年に、米国でパソコン用メモリーカードの規格統一のための組織、PCMCIA (Personal Computer Memory Card International Association) が設立されたのを受け、1990年にJEIDAの呼びかけで共同作業が開始され、JEIDAガイドラインVer4.0を基にして、PCMCIA Standard Release 1.0が発行された。当初は細部の互換性に欠けていたが、1993年PCカードガイドラインVersion4.2/PCMCIA Standard Release 2.1をもって互換性が得られ、統一呼称「PCカード/PC Card」とロゴマークが制定された。また、JEIDAガイドライン Ver.4.0以降、ATA/AIMS (Auto Indexing Mass Storage) などI/Oカード仕様も制定された。
1995年PC Card Standardとして統一規格が発行され、CardBus、3.3Vカード、マルチファンクションカードなど各種の新規格も盛り込まれた。
ICメモリカード技術専門委員会は、PCカード技術専門委員会に改組された後、JEIDAは現電子情報技術産業協会 (JEITA) に引き継がれている。

CardBusか否か

先述の通り、ハードウエア面においてCardBusは32ビット、従来のPCカードは16ビットの規格と言える。CardBusスロットは従来の16ビットPCカードを利用することもできるが、逆に従来の16ビットPCカードスロットでCardBus専用カードを利用することはできないため、先述のように物理的に挿入できないようになっている。カードによってはスイッチ切り替えで両方に対応させた製品もあり、差し込み部分の物理形状は16ビットPCカードと互換だが、CardBus特有のグランドプレートも断片的な形状のものが設置されている。
デスクトップ機において本来PCIスロットを使うような新しい規格のデバイスは、PCカードにおいては基本的にCardBusで提供される形になる。例えば多くの場合においてUSBポートを増設するPCカードはカードバス専用であり、mobioのような16ビット規格のPCカードスロットしか備えないPCでUSBカードを利用することはできない。
CardBusスロットは従来の16ビットPCカードスロットと比べて信号線の総延長の制限が厳しくなっており、デスクトップ機などにCardBusスロットを増設するPCIカードはPCIブラケットに直接PCカードを差せるような形状が基本である。フラットケーブルを引き回してカードスロット部分をフロントベイまで延長するタイプの製品では、ハードウエアとしてはCardBusカードを挿入可能であっても16ビットPCカードしか動作保証されていないことがある。

Windowsネイティブドライバか否か

Windows 9x系では、「システム」のプロパティで「パフォーマンス」タブにPCカードの項目があり、PCカードスロットが32ビットか否かが表示される。しかし紛らわしいことに、これは上記のCardBusか否かというハードウエアには全く関係が無い。ここで言うPCカードの32ビットとは、Windows 9xのネイティブドライバで動作していることを指し、使用しているドライバすなわちソフトウェア側の種別を表したものである。従来規格の16ビットPCカードスロットであっても32ビットOSであるWindows 9xではできるだけ32ビットドライバで運用すべきであるし、逆に32ビット規格であるCardBusスロットをリアルモード（すなわち16ビット）のドライバで運用することもできないわけではない。
この場合リアルモード（16ビット）とは、PCカードスロットのドライバがMS-DOS用のドライバをベースに動作している「MS-DOS互換モード」のデバイス状態を指す。したがってWindows NT系では16ビットのドライバは存在しない。リアルモードドライバで運用する場合にはデバイスマネージャでPCカードスロット（のネイティブドライバ）を無効に設定しておく形になり、無効になっているときはMS-DOS用ドライバの有無に関係なくシステムのプロパティではPCカードスロットがMS-DOS互換モードと表示される。MS-DOS用ドライバは一般にWindows 9xに付属するものではないため、必要であれば別途用意して組み込む必要がある。当然ながらWindowsネイティブドライバのほうが使い勝手がよく、PCカード側のドライバもWindows 9x用のものが利用できる。逆にPCカードスロットがリアルモードドライバ動作の場合はPCカード側のドライバもMS-DOS/Windows 3.1用ドライバを使用しなくてはならない。この場合はMS-DOS相当の段階で認識させるため、ホットプラグに対応しないものも多い。
Windows 9xをインストールするときに光学ドライブのような重要なストレージがPCカード経由で接続されている場合にはインストールが完了するまでMS-DOS用のドライバを使い続けなくてはならないため、PCカードスロットの32ビットドライバはインストールされない。この場合はインストール完了後に32ビットドライバに置き換えることが推奨されている。32ビットWindowsであえてリアルモードドライバを使用するケースとしては、Windows起動初期の段階から認識させる必要のある機器のほか、PCカード側で32ビットドライバが用意されていない場合なども挙げられる。例えばPC-9821Ne等に搭載されたJEIDA4.1/PCMCIA2.0規格のPCカードスロットの場合、Windows 95にはPCカードスロット側の32ビットネイティブドライバは用意されているものの、PCカード側の32ビットドライバがJEIDA4.2/PCMCIA2.1以降のPCカードスロットにしか対応していないというケースが少なくなかった。しかしMS-DOS/Windows 3.1用ドライバであればJEIDA4.1/PCMCIA2.0にも対応していたというPCカードもあるため、そのようなものはPCカードスロットをMS-DOS用ドライバで運用する形で利用できる可能性がある。このほか、DOS用ドライバとWindows用ドライバでは機能が異なるようなPCカードも挙げられる。一例としてPC-9800シリーズ用サウンドカードCF-VEW213P（パナソニック）やLPM-SU98（ロジテック）を例に取ると、DOS用イネーブラはFM音源だけを有効にするもので、Windows用ドライバはPCM音源だけを有効にする排他仕様である。このためWindows上でどうしてもFM音源を使用したい場合にはPCM音源の使用を諦めて、PCカードスロットともどもDOS用ドライバのみで認識させるしか方法が無かった。