The present invention relates generally to host systems and peripheral devices and more particularly to a peripheral device having an ExpressCard™ portion attachable to a host system and a removable portion attachable to the ExpressCard™ portion.
The ExpressCard™ architecture was unveiled in September, 2003 by the PCMCIA (Personal Computer Memory Card International Association). ExpressCard™ leverages two conventional serial buses, USB 2.0 and PCI Express, to achieve space reduction and enhanced performance.
ExpressCard™ modules will be available in two sizes; a 34 mm wide module generally designated 100 is shown in
The universal serial bus (USB) is a standard serial electrical interface within the ExpressCard™ standard. A pin out of an ExpressCard™ module 400 using only the USB interface is shown in
The PCI Express bus is a high speed standard serial electrical interface within the ExpressCard™ standard. A pin out of the ExpressCard™ module 500 using only the PCI Express interface is shown in
For long-term, non-volatile storage, two types of memory are typically employed. One type includes magnetic disk memory intended for mass storage with practically unlimited number of write operations. The other type includes semiconductor memory 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, these 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 have 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.
Flash memory has become an important means for storing data as such memory provides the advantage of mobility and non-erasability. Flash memory is an extremely useful way of storing data for portable devices such as handheld devices. The convenience that flash memory provides gives it numerous advantages over traditional mass storage devices such as hard disks. Besides portability, flash memory further offers advantages such as low power consumption, reliability, small size and high speed.
Flash memory is non-volatile which means that it retains its stored data even after power to the memory is turned off. This is an improvement over standard random access memory (RAM), which is volatile and therefore looses stored data when power is turned off.
As the number of mobile, portable, and handheld devices grows, the popularity of flash memory increases. The most common type of flash memory is in the form of a removable memory card such as the ExpressCard™ modules 100 and 200. Removable cards allow the contents of the flash memory to be transferred easily between devices or computers. Cards using flash memory have unique properties and operating requirements that make their incorporation into host computer systems not straightforward. Typically, additional hardware, such as a controller, and software are required to control the operation of the flash memory card. In more sophisticated implementations, the flash memory card may communicate with a host via a standard disk drive interface, store data under a prescribed file structure compatible with a standard disk operating system, and handle any errors that may arise.
There is currently underway an effort to apply non-volatile flash memory systems to mass storage applications. For example, these systems are intended to replace either of the existing fixed or removable floppy magnetic disk systems, or both.
It is anticipated that ExpressCard™ modules will become popular in varied applications. One such application includes mass storage peripherals such as flash memory systems. Such systems preferably provide low cost systems for replacing floppy disks, tape, or film. To reduce the cost of a flash memory system implemented on a card, it is necessary to either integrate the controller chip with the memory chip, which requires simplification of the control functionality, or perform most of the control functions by a host CPU, which makes the card host dependent. As such there is a need in the art for a peripheral device having a first portion attachable to a host system and a second portion attachable to the first portion wherein a set of functional components are partitioned between the first and second portions. Such functional components preferably include control functions. Preferably the first portion includes an ExpressCard™ portion. Preferably the peripheral device further provides for the offloading of components from a host system in order to minimize the size and cost of the host system and to provide flexibility in system configuration.
In accordance with one aspect of the invention, a peripheral device coupleable to a host system includes a first portion coupleable to the host system and a second portion coupleable to the first portion. Functionality of the peripheral device is partitioned between the first portion and the second portion.
In another aspect of the invention, a peripheral device coupleable to a host system having offloaded components includes a first portion including the offloaded components coupleable to the host system and a second portion coupleable to the first portion.
In yet another aspect of the invention, a peripheral device coupleable to an ExpressCard™ interface of a host system includes an ExpressCard™ portion and a second portion coupleable to the ExpressCard™ portion.
These and other feature, aspects, and advantages of the present invention will become better understood with reference to the following drawings, description, and claims.
The following detailed description is of the best mode of carrying out the invention. The description is not to be taken in a limiting sense, but is made merely for the purposes of illustrating the general principles of the invention, since the scope of the invention is best defined by the appended claims.
With reference to
USB interface 610 and PCI Express interface 620 may be implemented in a module multi-personality serial bus interface system as shown in
A peripheral device 700 having a first or mother portion 710 attachable to a host system 720 and a second or daughter portion 730 attachable to the first portion 710 is shown in
The first portion 710 may be removably coupled to the host system 720 by means of a standard interface 740 that may provide both mechanical and electrical connection between the first portion 710 and the host system 720. Standard interface 740 may include a conventional 3.5 inch slot, a 5.25 inch slot, or a riser card. Standard interface 740 preferably includes an ExpressCard™ interface for coupling to a first portion first connector 750.
The electrical interface between the first portion 710 and the host system 720 may include the USB interface, the PCI Express interface or a dual mode interface.
The second portion 730 may be coupled to the first portion 710 by means of a second portion connector 770 coupleable to a first portion second connector 760. The connection between the first portion 710 and the second portion 730 may include a proprietary connection, MMC, SD, MS, XD, SM, CF, USB, PCI Express, SATA, SAS, and 1394. The connection may include a MX1 (multiple in one) or 1×1 (one in one) connection.
The second portion connector 770 generally includes pins that provide connections to ground, voltage supplies, serial/parallel data in and/or out, control lines, select lines, address lines, test pins as well as a signal that acknowledges the presence of the second or daughter portion 730. Depending on selective implementations of these pins, many pins or very few pins may be used in the second portion connector 770 and the first portion second connector 760. In a minimum pin implementation, data, addresses and commands are multiplexed into a serial stream before being passed across the second portion connector 770. Once across, the serial stream may be de-multiplexed into its respective components. As an example, this serial stream may be a PCI Express interface.
Partitioning the peripheral device 700 into a first portion 710 and a second portion 730 allows the functional components of the peripheral device 700 to be advantageously partitioned. According to one aspect of the invention, a peripheral implemented on the peripheral device 700 may include a flash memory system, including flash memory chips and supporting hardware circuits that form a controller 800 (
In this manner, a cost-effective flash memory system is provided, especially in applications where magnetic floppy disks are to be replaced. In accordance with the invention, second portion 730, including IC cards containing only flash memory, may act essentially like a semiconductor flash memory “floppy disk” and need not have a controller on the second portion 730. The controller 800 on the first portion 710 may then serve any number of flash memory “floppy disks”. The cost of each flash memory “floppy disk” is therefore reduced by elimination of the controller on the “floppy disk” itself. Another advantage is an increase in system flexibility. A user may add or decrease memory capacity by choosing among second portion 730 IC cards with various amounts of installed memory. Also, with each update or upgrade of the controller 800, only the first portion 710 needs be replaced, the second portion 730 IC card “floppy disk” being fully usable with an updated or upgraded first portion 710.
According to another aspect of the invention and with reference to
According to another aspect of the invention and with reference to
By way of example, a video recording and playback system may be implemented wherein the recording medium is served by a second portion 730 embodying non-volatile memory such as the flash memory. A host system may include a portable still video or a motion video camera with a controller and optional functional components built in. The controller may control the memory operation of the nonvolatile memory. The optional function components may include a data compression module for compressing video and/or audio data before storing them on the second portion 730.
After the second portion 730 has been recorded with video and/or audio data, the second portion 730 can be removed from the camera and played back on a host system 720 such as a personal computer or a microprocessor-based playback deck. The second portion 730 communicates with the host system 720 via a standard interface such as an ExpressCard interface. This is accomplished by having memory controller 800 implemented on first portion 710. First portion 710 may include an optional functional component 900 including a data decompression module for decompressing video and audio data to recover their original form.
In this example, the portable camera stores the compressed data with information necessary to decompress it on the second portion 730. When the second portion is being played back on a host system 720, the host system 720 or first portion 710 is then able to correctly decompress the data on the second portion 730.
In another implementation of peripheral device 700, the second portion 730 may include a Compact Flash card for use with a digital camera. A first portion 710 including an ExpressCard™ may be coupleable to the digital camera. The first portion 710 is further coupleable to a host system 720 including a notebook computer and a Card Reader.
In a further implementation, smaller memory cards including SM, SD, MMC and Memory Stick can be plugged into a Compact Flash sized card. A converter chip may be designed for each combination to convert to the Compact Flash interface standard. These kinds of Compact Flash cards can then be plugged into first portion 710.
In another aspect of the invention, the first portion 710 and second portion 730 may be hot unplugable. With reference to
In order to unplug the first portion 710 from the host system 720 in a case where the PCI Express interface 650 is being used, handshake steps may be required between the first portion 710 and the host system 720 through a Hot Plug Service Utility. The steps of the Hot Plug Service Utility may include a user informing a host system's operating system that the first portion 710 may be removed. The utility may then command the host system's driver to stop using the first portion 710. The host system 720 may then assert a RST# signal to the first portion 710. The host system 720 may then command its chipset to enable the isolation logic in the host system 720. The host system 720 may then be isolated from a first portion bus. The LED 1110 may then be powered to indicate that the first portion 710 may safely be removed from the host system 720. After several seconds, power may be removed from the connector 690. The host system operating system may then free up memory space, I/O space, and interrupt lines assigned to the first portion 710 and make these resources available to other devices.
In order to hot plug a first portion 710 using the PCI Express interface 650, a host system chipset must have the ability to handle several software requests including selectively asserting and deasserting the PCI RST# signal to the connector 690. In addition, the host system chipset must be able to selectively isolate the first portion 710 from the logic on the host system board, and selectively remove or apply power to the card connector.
To hot plug the first portion 710 into host system 720 using the PCI Express interface 650, a user may inform a Hot Plug Service utility that the first portion 710 will be installed in connector 690. The host system 720 may command its chipset to set an LED in the host system (not shown) to indicate that the first portion may be safely inserted in the connector 690. The user may the insert the first portion 710 in connector 690. The host system 720 normally will detect that the first portion 710 is already inserted and may then turn off the LED to indicate that the first portion 710 must remain inserted in the connector 690. The host system may then apply the power to the connector 690 and activate the RST# signal. The isolation logic may then be turned off between the connector 690 and a first portion bus. After the isolation logic is disabled, the RST# signal is turned off and a Platform Configuration Routine lets the host system PCI Express Bridge perform PCI Express configuration accesses to the first portion 710. The configurations may be saved to host system memory or to Configuration Registers. After configuration, the host operating system may locate appropriate drivers for the functions within the first portion 710 and load the drivers into system memory. Configurations may include Vendor ID, Device ID, Class Code, Subsystem Vendor ID, and Subsystem ID.
To hot plug first portion 710 using USB interface 640, a hub (including host itself) where the first portion 710 is connected may inform the system host 720 that an event has occurred. There may be two 15K pull down resistors connected to D+ and D− USB wires in the hub port or root hub in the host system 720. When the first portion is connected, its pull-up resistor may cause the signal level of either D+ or D− to rise, thereby signaling the connection of the first portion 710. The first portion may then be considered to be in a connected stage. The host system 720 may inquire the hub for the nature of the event. The host system 720 may then send a Port Enable and Reset command to the hub where the first portion 710 is connected. The hub may the issue a USB reset signal to that port for 10 ms and provide 100 mA of power supply to the first portion 710. The first portion may then be considered to be in a powered stage. After the reset signal, the first portion 710 may be in its default stage where it communicates with the host system 720 with its default address (address 0 and endpoint 0). The host may then initiate a GET DESCRIPTOR setup packet to the first portion 710. The first portion 710 may reply with an ACK handshake packet to tell the host system 720 about the actual maximum data payload size the first portion 710 can handle. The host system 720 may then send a SET ADDRESS command.
Using the SET ADDRESS command, the host system may assign a unique address to the first portion 710. The first portion 710 may then be in an address stage. The host system 720 may then issue a second GET DESCRIPTOR (device) command in a case where the first GET DESCRIPTOR command is terminated prematurely. After the successful completion of the previous step, the host system 720 may issue a GET DESCRIPTOR (configuration descriptor type) setup packet to acquire the configuration of the first portion 710. Based on the configuration information received, the host system 720 may assign a configuration value to the first portion 710 via a SET CONFIGURATION setup packet. The first portion 710 may now be in a configured stage and ready for use.
In a case where both USB interface 640 and PCI Express interface 650 are available, USB interface 640 may be detected and initialized first. Then a host system driver may decide which interface to use. If the PCI Express interface 650 is chosen, then the PCI Express hot plug process may be executed.
In accordance with another aspect of the invention, the host system 720 may be operable to detect the first portion 710. With reference to
If the first portion 710 does not have the PCI Express mode, then the host system 720 may start processing in USB mode in a step 1455. If the first portion 710 is a dual mode device, then in a step 1465 the dual mode nature of the first portion is recognized. In a step 1480 the host system 720 may send an enable PCI Express Mode command to the first portion 710. The host system 720 may send a Read Status command to the first portion 710 in a step 1485. In a step 1487, the host system 720 may wait for a Ready command from the first portion 710. In a step 1489 the host system 720 may determine if the PCI Express mode is ready. If the PCI Express mode is not ready, then in a step 1490, the first portion 710 fails. If the PCI Express mode is ready, then in step 1460 the host system 720 starts communicating with the first portion 710 in PCI Express mode.
Host system 720 may only support one mode. Therefore, it may communicate with first portion 710 in either USB mode or PCI Express mode. With reference to
In another aspect of the invention, a dual mode first portion 710 may be operable to detect a mode of the host system 720. A method 1600 shown in
In the case where the first portion 710 is a single mode device, a method 1700 shown in
In an alternative embodiment of the invention and as shown in
By way of example, a USB mode of operation may be selected by setting switch 1800 to Vcc. PCI Express mode of operation may be selected by setting switch 1800 to ground. LED 1830 may be turned on when the USB mode is selected and LED 1820 may be turned on when PCI Express mode is selected.
In another aspect of the invention, hardware strapping as shown in
In yet another aspect of the invention, LEDs 1820 and 1830 may be powered as shown in
In another aspect of the invention, first portion 710 and second portion 730 may include write protect logic. Such write protect logic may include mechanisms to prevent the unintentional alteration of information stored in first and second portions 710 and 730. With reference to
With reference to
The peripheral device 700 of the present invention advantageously provides a peripheral device in the form of a card that is hot swappable and removably connected to a host system and that is cost-effective and flexible in configuration. The peripheral device 700 further provides a card with a specific type of semiconductor memory system having non-volatility, ease of erasing and rewriting, speed of access, and being compact, light-weight, low power, low cost, and reliable. The peripheral device 700 is advantageously removably coupled to the host system via a standard interface including the ExpressCard™ interface. Additionally, the peripheral device 700 of the present invention is adapted for use in a number of peripheral applications including replacing floppy disks, magnetic tapes, and photographic recording films. The peripheral device 700 further provides for the offloading of components from a host system in order to minimize the size and cost of the host system and to provide flexibility in system configuration. Finally, the peripheral device 700 provides a removable card that stores encoded data that can be decoded when the card is relocated from one host system to another.
It will be apparent to those skilled in the art that various modifications and variations can be made to the structure of the present invention without departing from the scope or spirit of the invention. In view of the foregoing, it is intended that the present invention cover modifications and variations of this invention provided they fall within the scope of the following claims and their equivalents.