CROSS REFERENCE TO RELATED APPLICATIONS This application is a divisional of application Ser. No. 10/050,429, filed May 15, 2002, which in turn is a continuation of application Ser. No. 09/887,197, filed Jun. 21, 2001, now U.S. Pat. No. 6,381,662, which in turn is a continuation of application Ser. No. 09/241,222, filed Feb. 1, 1999, now U.S. Pat. No. 6,266,724, which in turn is a continuation of application Ser. No. 08/781,539, filed Jan. 9, 1997, now U.S. Pat. No. 5,887,145, which in turn is a continuation of application Ser. No. 08/462,642, filed Jun. 5, 1995, now abandoned, which in turn is a continuation of application Ser. No. 08/398,856, filed Mar. 6, 1995, now abandoned, which in turn is a continuation of application Ser. No. 08/151,292, filed Nov. 12, 1993, now abandoned, which in turn is a continuation-in-part of application Ser. No. 08/115,428, filed Sep. 1, 1993, now abandoned, which applications are incorporated herein in their entirety by this reference.
BACKGROUND OF THE INVENTION This invention relates generally to host computer systems and peripherals. More specifically, the peripherals have a Personal Computer (“PC”) card form factor, the card being externally and removably coupled to a host system. The invention relates to structures and configurations of such a card, particularly for implementing mass storage peripherals such as electrically erasable programmable read-only-memories (EEPROM) or Flash EEPROM system.
Computer systems typically use high speed semiconductor random access memory (RAM) for storing temporary data. However, RAM is volatile memory; that is, when power to the computer system is disconnected, data stored in RAM is lost.
For long-term, non-volatile storage, two types of memory are typically employed. One type is magnetic disk memory intended for mass storage with practically unlimited number of write operations. The other type is semiconductor memory, traditionally intended for storing a relatively small amount of data (e.g. system parameters) with no or limited number of write operations.
When mass storage is desired, magnetic disk drives, whether fixed or removable, are generally more economical and more amenable to write operations than solid-state memory. Typically, a computer system employs a combination of fixed and removable (floppy) magnetic disks. However, they are relatively slow, bulky and require high precision moving mechanical parts. Consequently, they are not rugged and are prone to reliability problems, as well as being slower and consuming significant amounts of power.
The undesirable features of magnetic disks become even more acute with the advent of portable and mobile computing. Disk drives are obstacles in the quest towards greater portability and lower power consumption of computer systems.
Non-volatile semiconductor or solid-state memories have the advantage of being speedy, light-weight and low-power. Examples are ROM, EEPROM and Flash EEPROM which retain their memory even after power is shut down. However, ROM and PROM cannot be reprogrammed. UVPROM cannot be erased electrically. EEPROM and Flash EEPROM do have the further advantage of being electrically writable (or programmable) and erasable. Traditionally, these semiconductor memories has been employed in small amount for permanent storage of certain computer system codes or system parameters that do not change.
There is currently underway an effort to apply non-volatile Flash EEPROM memory systems for mass storage applications. For example, they are intended to replace either of the existing fixed or removable floppy magnetic disk systems, or both. Such systems are disclosed in commonly assigned U.S. patent applications Ser. No. 07/684,034, filed Apr. 11, 1991, COMPUTER MEMORY CARD HAVING A LARGE NUMBER OF EEPROM INTEGRATED CIRCUIT CHIPS AND MEMORY SYSTEMS WITH SUCH CARDS and Ser. No. 07/736,732 filed Jul. 26, 1991, now U.S. Pat. No. 5,430,859, COMPUTER MEMORY CARDS USING FLASH EEPROM INTEGRATED CIRCUIT CHIPS AND MEMORY-CONTROLLER SYSTEMS. Relevant portions of these disclosures are incorporated herein by reference. It is now becoming possible to fabricate a few megabytes of Flash EEPROM on a single semiconductor integrated circuit chip. As a result, several megabytes to tens of megabytes of memory can readily be packaged in a physically compact memory card, the size of an ordinary credit card.
Indeed, a series of industry “PC Card Standards” are now being promulgated by the Personal Computer Memory Card International Association (PCMCIA), Sunnyvale, Calif., U.S.A. Excerpts of the current PCMCIA Standards, Edition Release 2, dated November, 1992 are incorporated herein by reference. These standards set mechanical (Types I, II and III) and technical (Revision 1.0, 2.0) specifications for a memory card and its connection to a host.
The PCMCIA card has the form factor approximately the size of a credit card and is externally connectable to a host computer system via the PCMCIA interface. Originally, these cards were intended as memory card add-ons for portable or mobile computing systems. Soon thereafter their standards were expanded to accommodate other peripherals such as modems, network adapters, and hard disks. Thus, PCMCIA Type I card is 3.3 mm in overall outside thickness, less than 5.5 cm in width, and less than 9.0 cm in length. Types II and III have similar dimensions, except Type II card is 5 mm thick and Type III card is 10.5 mm thick. Revision 1.0 of the technical specification dated September 1990, is a memory-only standard for memory card applications. Revision 2.0, dated September 1991, is a standard with added input/output (I/O) capabilities and software support suitable for other non-memory types of peripherals.
In memory card applications, such PC cards have been commercially implemented primarily using either ROM or SRAM, with SRAM made non-volatile through backup battery. These solid-state memories operate and function under similar conditions as RAM, in that they are directly connected to the host's bus and addressable by the host's processor. Thus, similar to RAM, they can be simply added to a host computer system without additional hardware or software.
On the other hand, PC cards using EEPROM and Flash EEPROM have quite different properties and operating requirements that make their incorporation into a host computer system not as straight forward. Typically, additional hardware such as a controller and software are required to control the operations of the EEPROM or Flash EEPROM. The controller generally provides the necessary voltage conditions for the various memory operations. In more sophisticated implementations, it can communicate with a host via a standard disk drive interface, store the data under a prescribed file structure in the Flash memory (e.g. compatible with a standard disk operation system), and handle any errors that may arise.
The requirement for additional support hardware (e.g. controller) and software (e.g. microcode or firmware and drivers) in these devices poses issues of cost and inflexibility in memory configuration as well as system updating and upgrading. For example, when Flash EEPROM PC cards are used to replace magnetic floppies or other removable storage, the additional support hardware to implement the control functions may contribute significantly to the cost and other overhead of the product relative to the memory capacity they provide.
Similar considerations also apply to other types of peripherals, such as hard disks, modems and network adapters. Their support hardware and software tend to add cost, overhead and inflexibility to the final products.
Accordingly, it is a general object of the invention to provide a peripheral in the form of a PC card that can be removably connected to a host system from the external of the host system, and that is cost-effective and flexible in configuration.
It is an object of the invention to provide such a PC card with a specific type of semiconductor memory system having non-volatility, ease of erasing and rewriting, speed of access, and further being compact, light-weight, low power, low cost, reliable, and flexible in configuration.
It is another object of the invention to provide a removable memory card that is removably coupled externally to a host system via a standard interface such as a PCMCIA interface.
It is another object of the invention to provide a comprehensive PC card that is adapted for use in a number of peripheral applications.
It is a particular object of the invention to provide low cost Flash EEPROM memory cards, for example to replace floppy disks, magnetic tapes, or photographic recording films.
It is another object of the invention to provide a removable PC card that can accommodate components off-loaded from the host system in order to minimize the size and cost of the host system and to provide flexibility in system configuration.
It is yet another object of the invention to provide a removable card that can interface either directly to a host system via an interface native to the card or indirectly via a standard interface to the host system.
It is yet another object of the invention to provide a removable card that stores encoded data that can be decoded when the card is relocated from one host system to another.
SUMMARY OF THE INVENTION These and additional objects are accomplished by the various aspects of the present invention, either alone or in combination, the primary aspects being briefly summarized as below.
The externally removable PC card is constituted from a mother card portion and a daughter card portion. The daughter card portion is removably coupled mechanically and electrically to the mother card by means of a mother/daughter interface. The mother card portion can be removably coupled to a host system externally by means of a standard interface that provides both mechanical and electrical connection. In operation, the mother card portion and the daughter card portion are coupled by the mother/daughter interface to form an integral PC card, and the integral PC card is removably coupled to the host system.
Partitioning the externally removable PC card into a mother card and daughter card portion allows the functional components of a peripheral implemented on a PC card to be advantageously partitioned.
According to one aspect of the invention, the peripheral implemented on the PC card is a flash EEPROM system, comprising flash EEPROM chips and supporting hardware circuits that form a controller for controlling the operations of the flash EEPROM and for interfacing to the host system. The flash EEPROM system is partitioned such that the controller resides on the mother card and the flash EEPROM chips reside on the daughter card.
In this way, a more cost-effective memory system is possible, especially in applications where magnetic floppy disks are to be replaced. This is because each daughter card containing only flash EEPROM acts essentially like a semiconductor flash EEPROM “floppy disk”, and need not have a controller on it. The one controller on the mother card can then serve any number of these flash EEPROM “floppy disks”. The cost of each flash EEPROM “floppy disk” is therefore significantly reduced by elimination of the controller on the “floppy disk” itself. The other advantage is an increase in system flexibility. The user can add or decrease memory capacity by choosing among daughter cards with various amount of installed memory chips. Also, with each update or upgrade of the controller, only the mother card need be replaced, the daughter card “floppy disk” being fully usable with the new mother card.
According to another aspect of the invention, a PC card is implemented with a comprehensive mother card portion containing the common functional components of a number of peripherals. Each peripheral then has the rest of the functional components residing on a daughter card. For example, a magnetic hard disk, a modem, and a network adapter all have common functional components similar to that of a flash EEPROM system, such as a host interface, a processor, and a ROM. By moving these common functional components to a comprehensive mother card, each individual peripheral will have less components on the daughter card, thereby reducing cost.
According to another aspect of the invention, some of the hardware originally residing in the host system is relocated to the mother card. One example of such a hardware is system memory (DRAM, SRAM, or flash) or even the host microprocessor. The relocation is advantageous because most small palmtop/notebook computers will not have sufficient room (i.e. Motherboard space) to include a lot of system memory. Furthermore, these units are too small for users to open up and upgrade with memory SIMM modules. Also, most manufacturers prefer to ship out the lowest cost base unit with minimum memory. This can be accomplished by using the Mother/daughter PC card, with the mother card carrying the controller and main memory (capacities can be e.g. 0.5 MB, 1 MB, 2 MB, 4 MB, 8 MB, etc.), and the daughter card carrying either flash memory “floppy drive” or a small form factor magnetic hard disk (e.g. just the head, disk and motor assembly portions of a 1.8″ or 1.3″ hard disk without its controller logic), or a microfloppy, or even a miniature tape backup drive. Essentially, the Mother/daughter PC card contains all the memory requirements of the host system, i.e. the palmtop/notebook computer, which will free up precious space on the computer motherboard.
According to another aspect of the invention, the mother card is adapted to removably receive a plurality of daughter cards. In this case, more than one mother/daughter connector may be provided on the mother card for removably receiving a plurality of daughter cards. The same controller on the mother card controls and services any number of daughter cards that are coupled to it. In one embodiment where the daughter cards are flash EEPROM, they are all controlled by the same controller on the mother card. This is similar to having a multiple floppy drive capability. In another embodiment where the daughter cards are a mixture of peripherals, such as flash memory and a modem or other communication peripherals such as LAN adapter, or wireless fax modem. The same controller acts as a coprocessor or a sub-host system services the mixture of peripherals coupled to it. For example, the controller can receive fax data through a fax modem daughter card and store it in a flash memory daughter card.
According to another aspect of the invention, the removable daughter card has the option of working with a host system in conjunction with a mother card externally coupled to the host system. The mother card serves to furnish support components, such as a comprehensive controller and optional functional components, necessary for the operation of the peripheral device implemented on the daughter card. At the same time, it adapts the native interface of the daughter card to the standard interface of the host system. At the same time, the daughter card has the option of working directly with a host system via the native interface of the daughter card if the support components are built into the host system.
In this manner, a comprehensive, removable daughter card functions with a host system either directly when the host system is customized with the support components or indirectly via a mother card having the support components thereon, the mother card being connectable to the host system via a standard interface. This provides flexibility and system compatibility on the one hand and economy and convenience on the other.
According to another aspect of the invention, when the support components includes data encoding and decoding processing functions such as compression and decompression, encryption and decryption, the key or algorithm for recovering the data is stored with the daughter card. In this way, irrespectively of how the data is encoded by one host system, when the daughter card is relocated to another host, the information for decoding it is always available.
According to another aspect of the invention, the removable daughter card has identifying data that is readable by the mother card or the host system coupled thereto. The identifying data includes information that identifies what type of peripheral device is implemented on the daughter card. In another embodiment, the identifying data includes an identity code assignable to the daughter card for operational expediency and security applications. The device type identification allows the support components such as a comprehensive controller as well as the host system to configure and adapt accordingly. It further provides a form of acknowledge signal in a connection protocol for the native interface of the daughter card. The unique identity code provides a basis for matching each removable daughter card to a specific host system or mother card, for managerial or security reasons.
Additional objects, features and advantages of the present invention will be understood from the following description of the preferred embodiments, which description should be taken in conjunction with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a schematic representation of the mother/daughter PC card that can be removably coupled externally to a host system, according to a general aspect of the invention;
FIG. 2A illustrates, according to one embodiment, a mother card having an integral back-to-back connector with one side serving as the standard connector and the other side being the native interface connector;
FIG. 2B is a partial cross-sectional view of the mother card along theline2B-2B shown inFIG. 2A;
FIG. 3 illustrates a partitioning of the functional components of a flash EEPROM system between the mother card and the daughter card;
FIG. 4 is a system block diagram illustrating in more detail the functional components of a flash EEPROM system and related data and control paths, according to a preferred embodiment;
FIG. 5A illustrates schematically an integrated controller on the mother card for controlling a variety of peripherals on daughter cards that may be connected to it;
FIG. 5B illustrates a comprehensive mother card with additional functionalities provided by one or more functional modules;
FIG. 6 illustrates schematically the relocation of host “main memory” onto the mother card;
FIG. 7 is a system block diagram illustrating the memory partition and related data and control paths among a host, mother card and daughter card;
FIG. 8A is an exploded view showing the mother card removably connectable to a daughter card, according to one aspect of the invention;
FIG. 8B is an exploded view showing the mother card removably connectable to a plurality of daughter cards, according to another aspect of the invention;
FIG. 9 illustrates a removable daughter card that can interface either directly to a host system via an interface native to the daughter card or indirectly via a mother card removably coupled to a standard interface of the host system;
FIG. 10 illustrates a host system having both an interface native to the daughter card for receiving the daughter card directly, and a standard interface for receiving the daughter card via a mother card; and,
FIG. 11 illustrates schematically a removable daughter card containing identifying data.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT Semiconductor “Floppies”
There are applications where a very low cost memory card is required, for example to replace floppy disks or tape or film. At the same time it is important that the memory card preserve the PCMCIA standard interface to the host system. The present invention is to integrate a memory controller chipset on the memory card in a configuration that minimizes cost and provides maximum flexibility. To reduce the cost of the memory card to meet the cost requirements of a floppy card, it is necessary to either integrate the controller chips with the memory chip, which require greater simplification of the control functionality, or performing most of the control functions by the host CPU which makes this approach host dependent. To solve this problem a lower cost approach is proposed in which the memory card is made up of a mother card and a daughter card.
FIG. 1 is a schematic representation of the mother/daughter PC card100 that can be removably coupled externally to ahost system200, according to a general aspect of the invention.
ThePC card100 comprises amother card portion10 and adaughter card portion20. Themother card portion10 is a PCMCIA form-factor PC card with the standard 68-pin connector12 on one side and a native interface connector14 (typically less than 68 pins) on the other side. Themother card10 can be removably connected to thehost system200 by plugging theconnector12 to aconnector212 of the host system.
Thedaughter card10 has anedge connector24 and it directly plugs into the mother card by mating with theconnector14 on the mother card.
FIG. 2A illustrates, according to one embodiment, amother card10 having an integral, back-to-back,connector16 with one side serving as thestandard connector12 and the other side being thenative interface connector14. Theintegral connector16 is formed in one step to reduce the cost of manufacturing. APC board18 provides a platform for mounting theintegral connector16 andmother card circuitry19.
FIG. 2B is a partial cross-sectional view of the mother card along theline2B-2B shown inFIG. 2A. The PC board and the mountedmother card circuitry19 such as a controller chipset take up about half of the mother card's thickness. This leaves the other half for theintegral connector16 and aninlay21 for a daughter card to dock in. Theintegral connector16 is mounted on the back side to one edge of thePC board18. A daughter card can removably dock into theinlay21.
FIG. 3 illustrates a preferred partitioning of the functional components of a flash EEPROM system between the mother card and the daughter card. As discussed earlier, a flash EEPROM system typically requires additional hardware such as processor-based circuits forming a memory controller with software to control the operations of the Flash EEPROM.
Thedaughter card20 contains essentially flash EEPROM memory chip(s)30 and associated decoupling capacitors. The daughter card is preferably a low cost molded card for mounting the flash EEPROM chips. Theedge connector24 has a minimum of pin-count since communication with a peripheral is normally in serial form.
Themother card10 contains amemory controller40 but does not contain any substantial amount of flash EEPROM mass storage. Preferred memory controllers are disclosed in commonly assigned U.S. patent applications, FLASH EEPROM SYSTEM, Ser. No. 07/963,837, filed Oct. 20, 1992, and DEVICE AND METHOD FOR CONTROLLING SOLID-STATE MEMORY SYSTEM, Ser. No. 07/736,733, filed Jul. 26, 1991, now U.S. Pat. No. 5,430,859. Relevant portions of both disclosures are incorporated herein by reference.
Thecontroller40 is typically composed of functional components such as aprocessor50, driven by microcodes stored in aROM52. The small amount ofROM52 could also be replaced by other types of non-volatile memory such as EEPROM or flash EEPROM. The controller interfaces with the host system via ahost interface54, and with the flash memory via amemory interface56. In the preferred embodiment, thehost interface54 communicates with thehost system200 in accordance with the PCMCIA specifications or any other standard card interface. The controller may also include other functional components such as apower converter58 for providing the necessary voltage conditions for the various memory operations. The functional components are interlinked by an internal bus (not shown inFIG. 3). In practice, these functional components are implemented as a controller chipset.
FIG. 4 is a system block diagram illustrating in more detail the functional components of a flash EEPROM system and related data and control paths, according to a preferred embodiment. Thecontroller40 is a flash system controller on a mother card and controls flash memory on a daughter card. Theflash system controller40 interfaces with the host by means of thehost interface54 via thehost connector12. Thehost interface54 typically includes a buffer memory for buffering data between the host and the peripheral. In one embodiment it may also emulate a disk drive interface, so that the flash memory system appears like a magnetic disk drive to the host. Aninternal bus55 interconnects theprocessor50 with thehost interface54 and thememory interface56. Theprocessor50, under the program control of microcode stored in anonvolatile store52, controls the inter-operation of the functional components in the flash EEPROM system. Theflash system controller40 interfaces with theflash memory chips30 on adaughter card20 by means of amemory interface56 via the host-daughter card connector14. A flash controller59 in thememory interface56 controls the specific operations of theflash memory30. It also controls apower converter58 that provides voltages require to operate the flash memory. Serial communication between theflash system controller56 on the mother card and theflash memory30 on the daughter card requires a minimum of pins in theconnectors14 and24.
Comprehensive Mother Card
The PCMCIA Mother/Daughter Card100 is further extended according to two other aspects of the invention.
Referring toFIG. 5A, according to one aspect of the invention, the hardware placed on themother card10 is generalized into acomprehensive controller41. Thecomprehensive controller41 functions as a controller or an interface for a predefined set of peripheral devices implemented on daughter cards that may be connected to the host via the mother card. Thecomprehensive controller41 incorporates a common set of functional components (similar to that of thememory controller40 described inFIG. 3). This common set is common to the predefined set of peripheral devices. In this way each peripheral in the predefined set can eliminate those common functional components on each daughter card and instead access them in thecomprehensive controller41 on the mother card.
For example, thedaughter card20 may be carrying either flash memory “floppy drive” or a small form factor magnetic hard disk (e.g. just the head, disk and motor assembly portions of a 1.8″ or 1.3″ hard disk without its controller logic), or a microfloppy, or a miniature tape backup drive, or a modem or other communication peripherals. It may also be a simple ROM or RAM memory card. Thus, the daughter card may serve as a main memory for the host system, or as file memory or backup memory. These peripherals all have a number of functional components in common, and therefore these components can be relegated to thecomprehensive controller41 on the mother card, thereby reducing redundant components for the peripheral on the daughter card. Preferably, each peripheral in the predefined set has configuration and device specific information (such as format and file structure) stored in the daughter card that can be downloaded into the comprehensive controller to customize it for appropriate operation.
FIG. 5B illustrates a comprehensive mother card with additional functionalities provided by one or morefunctional modules42. Thefunctional module42 may provide error detection and correction, encryption and decryption, compression and decompression of data, image, audio and voice, as well as other features useful in the mobile computing environment.
According to another aspect of the invention, some of the hardware originally residing in the host system is relocated to the mother card as one or morefunctional modules42. One example of such a hardware is one or more “host” processors. Another example of such a hardware is system memory (DRAM, flash or disk drive). The relocation is advantageous because most small palmtop/notebook computers will not have sufficient room (i.e. Motherboard space) to include much system memory. Furthermore, these units are too small for users to open up and upgrade with memory SIMM modules. Also, most manufacturers prefer to ship out the lowest cost base unit with minimum memory.
FIG. 6 illustrates schematically the relocation of host “main memory”60 onto themother card10. This provides a single memory card which includes a hybrid of main memory (DRAM or SRAM as well as ROM or flash)60 on themother card10 and mass storage memory (hard disk or flash EEPROM, or floppy disk) on the daughter card20 (as shown inFIG. 5A), all controlled by acomprehensive controller41 on the mother card.
FIG. 7 shows schematically how such a memory card essentially takes care of all storage requirements of the computer. In particular, it illustrates by way of a system block diagram the memory partition and related data and control paths among the host, mother card and daughter card. Thecontroller41 has the functionality of both a DMA controller as well as a disk drive/flash/floppy/peripheral controller. It also has the intelligence to move blocks of files (software, microcode, or data) into and out of the disk/flash/floppy media on thedaughter card20 and into/out of the DRAM/SRAM/ROM/Flash (main memory)space60 on themother card10, as well as do automatic backup of the main memory into the disk/flash/floppy.
Essentially, thememory card100 contains all the memory requirements of the host system, i.e. the palmtop/notebook computer, which will free up precious space on the computer motherboard. The benefit of this approach is that users can customize their palmtop computers with various memory capacity/type options. This can be accomplished by using the Mother/daughter PC card, with the mother card carrying the controller and main memory (capacities can be e.g. 0.5 MB, 1 MB, 2 MB, 4 MB, 8 MB, etc.), and the daughter card carrying either flash memory or a small form factor magnetic hard disk (e.g. 1.8″ or 1.3″ Head Disk Assembly without controller logic), or a microfloppy, or even a miniature tape backup drive.
In the embodiment where main memory is relocated to the mother card, the preferred interface to the host computer is the 88-pin DRAM interface currently used to provide DRAM main memory expression capability (akin to a SIMM expansion module). This allows the host processor to have fast, direct access to the DRAM memory on the card. This DRAM memory also acts as a buffer memory from the disk/flash/floppy/tape backup memory on the daughter card. The controller on the mother card can move data to and from the memory on the daughter card directly into main memory, thus overcoming the typical I/O bottleneck of an IDE or SCSI drive. This therefore, provides exceptionally high performance since all elements in the memory hierarchy are optimized for maximum transfer rates.
The above approach allows the user to have total flexibility for constructing his or her memory system by selecting from mother cards of various storage capacity (32 KB to 32 MB) and daughter cards of various storage capacity (1 MB to 1 GB). The mother card may also include fixed storage (ROM, EPROM or Flash) for storing of the operating system or resident application/programs. This memory too would be controlled by the on-board controller.
One advantage of this new form factor is that one PCMCIA slot of the palm computer is now able to serve all storage and communication requirements with maximum flexibility, the user purchasing only the storage he/she needs for a given application.
This versatile comprehensive PC memory card makes it possible to build extremely small motherboards for the host machine. For example, the host motherboard can have one microprocessor chip and one peripheral controller chip, and no memory. The microprocessor can talk directly to the memory controller on the mother card portion of the PC card.
Multiple Daughter Card Docking
FIG. 8A is an exploded view showing themother card10 removably connectable to adaughter card20, according to one aspect of the invention. In one embodiment, thedaughter card20 does not actually extend beyond the footprint of themother card10, so that the combination of mother/daughter card100 does not occupy any more than a PC card under the PCMCIA standard. The daughter card can be mechanically slid into a docking inlay of the mother card. Aflange70 at the top edge of the inlay helps to keep the daughter card in place once slid into the docking inlay.
Preferably, the daughter card is secured in place by a latch mechanism and is removable from the mother card by means of an ejector mechanism. Anelectromechanical latch80 and an ejector mechanism in the form of a spring-loadedpush pin82 are suitable. In this way it can easily be operated under predetermined system operational logic. For example, the daughter card will not unlatch from the mother card when data is being exchanged. It will only allow unlatching when the mother card controller establishes a “safe” condition, at which time a user-initiated “release” command can unlatch the daughter card, ejecting it from the mother card.
The inlay configuration is possible if the mother card conforms to at least a Type II card (5.0 mm thick) and the daughter card portion is approximately 2.0 to 3.3 mm thick.
According to another aspect of the invention, the mother card is adapted to removably receive a plurality of daughter cards.
FIG. 8B is an exploded view showing themother card10 removably connectable to a plurality ofdaughter cards20, according to another aspect of the invention. In this case, more than one connector may be provided on the mother card for removably receiving a plurality of daughter cards. The same controller on the mother card controls and services any number of daughter cards that are coupled to it. This allows a single controller on the mother card to read and write into two or more separate daughter cards, either to read different application programs, or to extend total storage space.
In one embodiment where the daughter cards are flash EEPROM, it is similar to having a multiple floppy drive capability. The controller on the mother card can also copy files from one daughter memory card to a second daughter memory card.
In another embodiment where the daughter cards are a mixture of peripherals, such as a flash memory and a fax/modem, the same controller acting as a coprocessor or a sub-host system services the mixture of peripherals coupled to it.
In yet another embodiment, at least one of the multiple daughter cards is an auxiliary battery pack. For those host systems (e.g., handheld computers) whose power may not adequately support add-on peripherals, the auxiliary battery pack helps to power the peripheral PC card that has been attached to the host system. In this way, peripherals may be attached without regard to the host's capacity for powering them. Furthermore, since the PC peripheral card is self-powered, it can function even when detached from the host system. For example, a PC peripheral card may have a mother card attached to a flash memory daughter card, an infra-red data link daughter card and a battery daughter card. Data may be down-loaded from an external system via the infra-red link and written into the flash memory. In another embodiment, the peripheral PC card is normally powered by the host system to which it is attached. A power management system may be implemented on the peripheral PC card between the mother card, the attached daughter card(s), and the auxiliary battery pack daughter card. In the event of power interruption from the host (e.g. the peripheral PC card is detached from the host), the auxiliary battery comes in as an uninterruptable power supply to the peripheral PC card. This, for example, could allow it to complete a write operation if power from the host is interrupted, and then power itself down in a disciplined power shutdown procedure.
Comprehensive Daughter Card
As described earlier (seeFIGS. 3-7), a removable peripheral device is typically implemented by a set of functional components that is preferably partitioned into a first set and a second set. The first set is implemented on a daughter card and the second set is implemented on a mother card. The complete peripheral device is then provided by the mother and daughter card combination which is removably coupled to a host.
The partition into a first and a second set is based on several criteria. One is to place those functional components that are common to a number of peripheral devices into the second set. An example is thecomprehensive controller41 and optionalfunctional components42 as described in connection withFIGS. 5B, 6 and7. In this way, the total component count is reduced on the daughter card for each peripheral device. Another is to place those functional components that are less likely to require update or upgrade into the second set. Still another is to place those functional components that act as a storage medium such as memory chips in a first set, and the support components such as the controller in a second set. In this way, one controller on the mother card can service a number of daughter cards acting as a removable storage medium.
For example, in a flash EEPROM system having flash EEPROM memory controlled by a controller (seeFIGS. 3 and 4), theflash EEPROM memory30 forms a first set and thecontroller40 forms a second set. The first set being “raw” memory is implemented on adaughter card20 which expediently functions as a “solid-state floppy”. This memory daughter card can be used with any host that has either a daughtercard native interface14 and embedded memory controller, or astandard interface212 in conjunction with an externallyremovably mother card10 having thememory controller40.
The daughter card preferably has a dimension that when combined with the mother card, results in a combined dimension that is in conformity with the PCMCIA specification. Generally, it does not exceed 54 mm in width, and 80 mm in length. In the preferred embodiment, for “solid-state floppy” that fits into a mother card to form a Type I or Type II PCMCIA card, the daughter card has a dimension of 35 mm×40 mm×3.3 mm.
The daughter card'snative interface connector24 generally has pins that include connections to ground, voltage supplies, serial data in and/or out, timing, control lines, select lines, address and register lines, test pins as well as a signal that acknowledges the presence of a daughter card. Depending on selective implementations of these pins, as many as 32 pins or 24 pins or down to about 10 pins may be used in theconnector24 and itsmate connector14. In a minimum pin implementation, data, addresses and commands are multiplexed into a serial stream before being passed across thenative interface12,24. Once across, the serial stream is demultiplexed into their respective components. Serial protocols between a memory controller and a memory device has been disclosed in U.S. Pat. No. 5,172,338 and co-pending application Ser. No. 07/776,733, filed Jul. 26, 1991. Relevant portions of these two references are incorporated herein by reference.
FIG. 9 illustrates one aspect in which the relation of thehost system200, themother card10 and thedaughter card20 is similar to that shown inFIG. 1. In particular, theremovable daughter card20 works with thehost system200 in cooperation with theintermediate mother card10. Themother card10 is removably coupled to thehost system200 by means of astandard interface212,12, such as a PCMCIA interface. Thedaughter card20 is removably coupled to themother card10 by means of anative interface24,14. Acomprehensive controller41 and optional functional components42 (see alsoFIG. 5B) on board of themother card10 provide the necessary complement of components to that on the daughter card to form the complete peripheral device. This allows the daughter card to operate with any host system through the host's standard interface when a daughter card's native interface is not present.
FIG. 9 also illustrates an additional aspect in which thedaughter card20 can also work with ahost system200′ directly if thecomprehensive controller41′ and optionalfunctional components42′ are embedded in thehost system200′. With the support components built into the host system, the host system is ready to operate with the daughter card directly.
In this manner, the daughter card coupling with a host system is very flexible. If the second set of functional components are already embedded in the host system, the daughter card works directly with the host system. On the other hand, if the host system does not have the second set of functional components embedded, the daughter card works with the host system via a standard interface in conjunction with an additional mother card. The mother card serves to furnish the second set of functional components as well as to adapt the native interface of the daughter card to the standard interface of the host system.
In general the various host systems that operate with daughter cards include personal computers, especially portable ones, personal digital assistant (PDA), microprocessor-based devices, machines, equipment, and cameras, recorders and other consumer electronics and appliances. When the host system is intended to perform a few dedicated functions, as for example a camera, it is preferable that the second set of functional components such as a controller chip set are built into it. On the other hand, when the host system is a general purpose system, it is likely that it does not have all the required components, but the daughter card can still operate with it via a mother card as described above.
One example is a video recording and playback system where the recording medium is served by aremovable daughter card20 embodying non-volatile memory such as flash EEPROM memory. Thehost system200′ is a portable still video or a motion video camera with acontroller41′ and optionalfunctional components42′ built in. Thecontroller41′ controls the memory operation of the non-volatile memory. Theoptional function components42′ includes a data compression module for compressing video and/or audio data before storing them on the daughter card.
After the daughter card has been recorded with video and/or audio data, it can be removed from the camera and played back on anotherhost200 such as a personal computer or a microprocessor-based playback deck. The daughter card communicates with thehost200 via a standard interface such as a PCMCIA interface. This is accomplished by having amemory controller41 and optionalfunctional component42 implemented on amother card10. The optionalfunctional component42 includes a data decompression module for decompressing video and audio data to recover their original form.
According to another aspect of the invention, when the support components, such as the optionalfunctional components42, includes data encoding and decoding processing functions such as compression and decompression, encryption and decryption, the key or algorithm for recovering the data is stored with the daughter card. In this way, irrespectively of how the data is encoded by one host system, when the daughter card is relocated to another host, the information for decoding it is always available. Generally, the decoding information includes data decoding algorithms, encryption/decryption key and software and hardware drivers.
In the video recording example, the portable camera stores the compressed data with information necessary to decompress it on the daughter card. When the daughter card is being played back on a host, such ashost200, the host is then able to correctly decompress the data on the daughter card.
FIG. 10 illustrates a host system having both an interface native to the daughter card for receiving the daughter card directly, and a standard interface for receiving the daughter card via a mother card. Thedaughter card20 works with thehost system200″ through thestandard interface212 in conjunction with themother card10. Thehost system200″ also has an embeddedcomprehensive controller41′ and optionalfunctional components42′. This enables thedaughter card20 also to work directly with the host system via thenative interface14′ of the daughter card. This frees up the standard interface on the host system for other uses, as well as offering more convenience and economy for using the daughter card.
According to another aspect of the invention, the daughter card contains identifying data that is communicated through the native interface to the mother card or the host system it is coupled to.
FIG. 11 illustrates schematically a removable daughter card containing identifyingdata220. The identifyingdata220 is preferably stored in the daughter card. This allows maximum flexibility with the possibility of assigning the identifyingdata220 in the field. Another implementation is to encode a group of pins in the native interface by hard-wiring to represent the identifying data.
In one embodiment, the identifying data includes a type field that identifies the type of peripheral device the daughter card belongs to. This is especially expedient when a comprehensive controller is implemented in the host system or the mother card. As soon as a daughter card is coupled into the host system or the mother card, the comprehensive controller is able to identify quickly what type of peripheral device it is controlling and to configure and adapt itself accordingly.
In another embodiment, the identifying data includes an assignable identity code for identifying the daughter card. For example, in combination with data security and/or encryption software and hardware in the comprehensive controller or optional functional components, a secret key can be encoded on the daughter card that allows it to communicate with designated host systems or mother cards only. A preferred implementation is the application of the RSA public-key data encoding scheme in which a matched pair of keys is used. A disclosure of the RSA encryption is given by U.S. Pat. No. 4,405,829, and relevant portions thereof are incorporated herein by reference. A first key (public) is used to encrypt the data and a second key (secret) is used to decrypt the encrypted data. Thus a first host system may encrypt data using the first key in the pair and stores the encrypted data plus the first key in unencrypted form in a daughter card. In this respect, the first key may be regarded as an assigned identity code for the daughter card. This first key can be read by a second host the daughter card is connected to. Additional encrypted data may be written to the daughter card by the second host using the first key. However, the encrypted data on the daughter card can only be decrypted by a host with knowledge of the second key in the matched pair.
The feature that a daughter card can be restricted to operate with designated host systems lends itself to many security applications. The analogy as an electronic key and lock system is apparent. For example, this feature can be advantageously employed to provide controlled distribution of commercial software, including computer codes and audio and video materials. The daughter card could be used as the distribution storage medium and, by imposing restriction of use with specific host systems, licensing agreements can be enforced, and unauthorized proliferation can be eliminated.
While the embodiments of this invention that have been described are the preferred implementations, those skilled in the art will understand that variation thereof may also be possible. Therefore, the invention is entitled to protection within the full scope of the appended claims.