1. Field of the Invention
The present invention relates to an ExpressCard and, more particularly, to an ExpressCard having Extended universal serial bus (EUSB) connection port.
2. Description of Related Art
ExpressCard is developed by the Personal Computer Memory Card International Association (PCMCIA) in order to replace the interface standard “CardBus”. An ExpressCard can support two types of interfaces: a peripheral component interconnect (PCI) express serial interface and a USB interface, and the two interfaces are connected with a host through a connector of the ExpressCard.
In view of allowing the ExpressCard to connect to a computer or equipment with a standard USB socket, as shown in
However, such a connection has a space limit in use due to the bulky USB adapter 13 and weakens the mechanical strength of the express card 11.
Furthermore, USB uses one pair of differential lines that are time-duplexed, or used for transmission in both directions, but at different times. This may limit performance when data needs to be sent in both directions at the same time. The current USB 2.0 standard provides that the host, such as the PC, controls the bus as the bus master, while USB devices plugged into the host act as slave devices. A USB controller on the host PC generates data transfer transactions and waits for USB devices to respond, either by transmitting requested data to the host, or by writing host data into the USB device's memory. Since memory on a USB device may be busy or slow, sometimes the host's request cannot be processed immediately. The host may send the request, then periodically poll the USB device to see whether the data is ready. Also, when the host is idle, the host may need to periodically poll the USB device to see if the USB device needs to transfer information to the host. This periodic polling may be used for other purposes as well, such as presence or removal of flash cards from the Card Reader device.
While polling is useful, since it allows the host to completely control the USB bus, power is consumed each time a packet is sent for polling. While this power is small, for low-power or battery-powered devices, the amount of power consumed may be significant and undesirable. Also, the USB device or host may otherwise be in a low-power sleep or suspend state, and have to wake up into a higher-power state to perform or respond to the polling. There may be significant time and energy required to wake up from the suspend or sleep state, and then to re-enter the suspend or sleep state once polling is done. Therefore, what is desired is a USB device and USB host that have lower power. A USB system that does not require polling is desirable. Bus protocols and transactions that avoid polling are desirable to be applied to USB to reduce energy consumed by polling.
Accordingly, it is desirable to provide an improved express card device with extended USB interface to mitigate and/or obviate the aforementioned problems.
An objective of the present invention is to provide an ExpressCard having universal serial bus (USB) connection, which can be conveniently and independently operated as a standard USB product.
Another objective of the present invention is to provide an ExpressCard having universal serial bus (USB) connection, which can overcome the bulky occupancy and the weakened mechanical strength in the prior art.
A further objective of the present invention is to provide an ExpressCard having universal serial bus (USB) connection, which can perform data transmission with a host without polling thereby reducing power consumption.
According to a feature of the invention, an ExpressCard having universal serial bus (USB) connection is provided, which includes a card case having two opposite first and second end portions and two opposite lateral portions; a card connector formed at the first end portion of the card case and having a USB interface; one or more flash chips implemented in the card case; a USB flash controller implemented in the card case and connected between the USB interface and the one or more flash chips in order to provide a data access to the one or more flash chips through the USB interface; and a USB socket implemented in the card case and connected to the USB flash controller in order to provide a data access to the one or more flash chips therethrough.
According to another feature of the invention, an ExpressCard having universal serial bus (USB) connection is provided, which includes a card case having two opposite first and second end portions and two opposite lateral portions; a card connector formed at the first end portion of the card case and having a PCI express serial interface and a USB interface; one or more flash chips implemented in the card case; a PCI express and USB flash controller implemented in the card case and connected between the PCI express serial interface and USB interface and the one or more flash chips in order to provide a data access to the one or more flash chips through the PCI express serial interface or the USB interface; a USB socket implemented in the card case and connected with the PCI express and USB flash controller in order to provide a data access to the one or more flash chips therethrough; and a switch connected to the PCI express and USB flash controller, the USB interface and USB socket in order to switch the PCI express and USB flash controller to the USB interface or the USB socket.
According to a further feature of the invention, an ExpressCard having universal serial bus (USB) connection is provided, which includes a card case having two opposite first and second end portions and two opposite lateral portions; a card connector formed at the first end portion of the card case and having a PCI express serial interface; one or more flash chips implemented in the card case; a PCI express and USB flash controller implemented in the card case and connected to the PCI express serial interface in order to provide a data access to the one or more flash chips through the PCI express serial interface; and a USB socket implemented in the card case and connected to the PCI express and USB flash controller in order to provide a data access to the one or more flash chips therethrough, wherein the PCI express and USB flash controller is based on a pin of the USB socket to determine the USB socket to be enabled or not.
Other objects, advantages, and novel features of the invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings.
FIGS. 15A-B are packet-timing diagrams showing sequences of packets being sent to and received from the ExpressCard with EUSB;
FIGS. 18A-B show a flowchart of an EUSB host suspending while an ExpressCard with EUSB is busy during an IN transfer; and
FIGS. 19A-B show a flowchart of an EUSB host suspending while an ExpressCard with EUSB is busy during an OUT transfer.
The power switch 42 is connected with the USB interface power source 251 of the card connector 25 and a USB cable power line 262 of the USB socket 26 in order to switch the USB flash controller 32 and the flash chips 31 to the USB interface power source 251 or the USB cable power line 262.
The USB flash controller 32 is connected with the USB interface 252 of the card connector 25 through the data switch 43 and to the flash chips in order to allow the host 39 to access the data of the flash chips 31 through the USB interface 252 of the card connector 25. The USB socket 26 is connected with the USB flash controller 32 through the data switch 43 in order to provide a data access to the flash chips 31 through the USB cable data line 263. The power switch 42 produces an interface/cable data switching signal 422 to accordingly determine that the data switch 43 switches the USB flash controller 32 to the USB interface 252 or the USB cable data line 263 for a data access. For example, when the USB socket 26 is connected to the external USB cable 29, the power switch 42 connects the USB cable power line 262 to the card power source 421, and accordingly the card power source 421 (namely the USB cable power line 262) can power the USB flash controller 32 and the flash chips 31 in operation. In this case, the interface/cable data switching signal 422 drives the data switch 43 to connect the USB flash controller 32 to the USB cable data line 263 of the USB socket 26. Conversely, when the card connector 25 is connected to the host 39, the power switch 42 connects the USB interface power source 251 to the card power source 421, and accordingly the card power source 421 (namely the USB interface power source 251) can supply power to the USB flash controller 32 and the flash chips 31 in operation. In this case, the interface/cable data switching signal 422 drives the data switch 43 to disconnect the USB cable data line 263 of the USB socket 26 and to connect the USB flash controller 32 to the USB interface 252 of the card connector 25. Therefore, the ExpressCard having USB connection can be connected to the host 39 through the card connector 25 and to a computer or equipment with a standard USB socket through the USB socket 26 and the external USB cable 29. The circuitry damage caused by concurrently using the card connector 25 and the USB socket 26 is avoided.
As cited, the invention adds a mini-connector-type or extended mini-connector-type USB socket at the end or lateral of the ExpressCard to thereby allow the ExpressCard to be function as an independent standard USB product when the USB socket connects to an external USB cable. Thus, the externally bulky dedicated adapter is not required, and the volume limit or the weaken mechanical strength in use are avoided. In addition, the USB cable can be the standard commercial goods, which provides a convenience in use.
When the USB socket 26 in the above embodiments is an extended mini-connector-type USB socket, the data transmission between the ExpressCard and the host 39 is carried out with a low power extended USB protocol without polling, which is described hereinafter.
North bridge 112 contains bus and memory controllers that generate control signals of the proper timing to main memory 116 and to graphics system 118. North bridge 112 also contains a Peripheral Components Interconnect Express (PCIE) controller that generates transactions on PCIE bus 122.
PCIE bus 122 connects north bridge 112 to south bridge 114. South bridge 114 also contains bus controllers and bus logic. An extended Universal-Serial Bus (EUSB) controller in south bridge 114 converts PCIE transactions into EUSB transactions that are sent to Expresscard 120 over the EUSB bus. However, rather than time-duplex a single differential pair of lines, two differential pairs are provided, allowing full-duplex data transfers. OUT differential pair 125 can be sending data from the host 39 to ExpressCard 120 at the same time that IN differential pair 124 is sending data read from Expresscard 120 back to host computer 110. Thus Expresscard 120 provides a higher performance than an ordinary USB 2.0 device that is only half-duplex.
EUSB link layer 138 adds a sequence number and another CRC checksum, while EUSB physical layer 139 adds packet framing and performs 8/10-bit encoding. The framed data packet is sent from the host 39 to ExpressCard 120 over OUT differential pair 125.
EUSB analog front end 142 senses the data transitions on OUT differential pair 125, extracts the clock, and sends serial data to serial-parallel converter 144, which generates parallel data words. The parallel data words are examined by frame and packet detector 146 to locate frame and packet boundaries. The header and data payload can be located by bulk-only-transport receiver 149. ECC generator/checker 148 checks CRC's for error detection. The data payloads can be written into sector buffer 128.
USB flash controller 32 examines the headers and data payloads from bulk-only-transport receiver 149 and detects the read command. USB flash controller 26 activates flash interface 140 to perform a read of flash chip 31, and the flash data read is transferred into sector buffer 128. This flash data in sector buffer 128 is formed into data payloads, a header attached by bulk-only-transport receiver 149, and passed back down the layers for transmission to the host over IN differential pair 124.
Phase-locked loop (PLL) 125 may be driven by an external crystal (not shown) and generates an internal clock to USB flash controller 32 and other components such as sector buffer 128. USB flash controller 32 controls operation of EUSB firmware that may include bulk-only-transport receiver 149, ECC generator/checker 148, frame and packet detector 146, serial-parallel converter 144, and EUSB analog front end 142.
The addition of the NYET and RDY signals allows the host to simply monitor these signals to detect when the ExpressCard with EUSB is ready to continue sending data. With the NYET signal, the host no longer has to continuously poll the ExpressCard with EUSB to determine when the data is ready for transmission.
The host is still the bus master and initiates a transfer by sending a packet with the IN request to the ExpressCard with EUSB. The request also contains a number that indicates a number of buffers available in the host, or the number of packets that can be accepted by the host. Other information such as a device identifier or address of the ExpressCard with EUSB can be included in the IN request packet.
The ExpressCard with EUSB receives the IN request packet and sends an acknowledgement ACK back to the host to acknowledge the IN command. The ExpressCard with EUSB also starts reading the requested data and sending the first part of that data when available. This is data packet #1.
The host acknowledges receipt of data packet #1 by sending an ACK packet back to the ExpressCard with EUSB. This ACK packet implicitly also request that the next data packet be sent. However, the ExpressCard with EUSB is not yet ready to send the second data packet, data #2. Perhaps the reading of the flash memory is delayed, or data #2 is not cached while data #1 was cached by the flash controller. The busy ExpressCard with EUSB sends a NYET packet back to the host to indicate that the data is not yet ready.
In response to the NYET packet, the host stops asking for more data. The host does not poll the ExpressCard with EUSB. Instead, the host simply waits. The host may even enter a lower-power state such as a suspend or sleep state.
The ExpressCard with EUSB eventually reads the data, and stores the data in its sector buffer or in another memory buffer. A ready RDY signal is generated to the host, while the NYET signal is de-asserted. The NYET, RDY, and ACK signals may be flags in a packet header that are set or cleared. Thus separate signal lines to the host are not required, and the NYET, RDY, and ACK signals may be carried over the differential pair signal lines with the header, data payloads, framing, and other information in the data stream.
The host responds to the RDY signal by asking for more data to be sent. The ExpressCard with EUSB then forms the data into a packet as data #2, which is sent to the host. The host acknowledges receipt of data #2, and asks for more data. The ExpressCard with EUSB then sends data #3, which the host acknowledges. When the initial IN request had a number of buffers equal to 3, then all requested data is received by the host, and the IN transaction ends.
When sector buffer 128 is full, the ExpressCard with EUSB is not yet ready to receive more data from the host. The ExpressCard with EUSB asserts a not yet (NYET) signal to the host. When the ExpressCard with EUSB is ready again to receive data, it asserts a ready (RDY) signal to the host, and de-asserts the NYET signal.
The addition of the NYET and RDY signals allows the host to simply monitor these signals to detect when the ExpressCard with EUSB is ready to continue receiving data. With the NYET signal, the host no longer has to continuously poll the ExpressCard with EUSB to determine when the data may be transmitted.
The host is still the bus master and initiates a transfer by sending a packet with the OUT request to the ExpressCard with EUSB. The request also contains a number that indicates a number of buffers or packets of data from the host. Other information such as a device identifier or address of the ExpressCard with EUSB can be included in the OUT request packet.
The ExpressCard with EUSB receives the OUT request packet and sends an acknowledgement ACK back to the host to acknowledge the OUT command. The ExpressCard with EUSB also starts receiving and buffering the requested data. This is data packet #1.
The ExpressCard with EUSB acknowledges receipt of data packet #1 by sending an ACK packet back to the host. This ACK packet implicitly also request that the next data packet be sent. The host responds by sending data packet #2.
However, the buffer on the ExpressCard with EUSB fills up after receiving data packet #2. The ExpressCard with EUSB is busy writing the buffered data to the flash memory and must wait until this writing is complete and space is made available in the second buffer. The busy ExpressCard with EUSB sends a NYET packet back to the host to indicate that the ExpressCard with EUSB is not yet ready to receive more data.
In response to the NYET packet, the host stops sending more data. The host does not poll the ExpressCard with EUSB. Instead, the host simply waits. The host may even enter a lower-power state such as a suspend or sleep state.
The ExpressCard with EUSB eventually writes the data, and more space is made available in its sector buffer or in another memory buffer. A ready RDY signal is generated to the host, while the NYET signal is de-asserted.
The host responds to the RDY signal by sending more data to the ExpressCard with EUSB. The ExpressCard with EUSB receives the data as data #3. The ExpressCard with EUSB acknowledges receipt of data #3, and asks for more data. The host then sends data #4, which the ExpressCard with EUSB acknowledges. However, the ExpressCard with EUSB can only buffer 2 data packets, so the sector buffer is again full. The busy ExpressCard with EUSB again sends a NYET packet back to the host to indicate that the ExpressCard with EUSB is not yet ready to receive more data.
When the initial OUT request had a number of buffers equal to 4, then all requested data has been received by the ExpressCard with EUSB. The host ignores the NYET signal, since all data has been transmitted. The host then ends the OUT transaction.
FIGS. 15A-B are packet-timing diagrams showing sequences of packets being sent to and received from the ExpressCard with EUSB. In
The ExpressCard with EUSB receives the IN packet and begins reading the data. The data may already be buffered in a cache or other buffer, such as when read-ahead caching occurs from an earlier read access. The ExpressCard with EUSB forms the first part of the requested data into data packet #1, which is sent back to the host.
The host sends an acknowledgement ACK to acknowledge receipt of data packet #1, and to request that the next packet be sent. The ExpressCard with EUSB reads the next data, forming data packet #2, which is also sent to the host.
The host sends another acknowledgement ACK to acknowledge receipt of data packet #2, and to request that the next packet be sent. However, the ExpressCard with EUSB cannot keep up with the pace of the host. The ExpressCard with EUSB sends a not yet NYET packet to the host since the next data is not yet ready.
The host responds to NYET signal by waiting. The host does not poll the ExpressCard with EUSB, but simply waits. After some time, the ExpressCard with EUSB catches up, and sends a ready RDY signal to the host. The ExpressCard with EUSB reads the next data, forming data packet #3, which is also sent to the host. The host sends an acknowledgement ACK to acknowledge receipt of data packet #3. Since only 3 packets were requested with the IN packet, the IN transaction ends.
In
The ExpressCard with EUSB receives the OUT packet and begins writing the data from data packet #1. The data may first be buffered in a cache or other buffer before writing to flash memory.
The ExpressCard with EUSB sends an acknowledgement ACK to acknowledge receipt of data packet #1, and to request that the next packet be sent. The host forms the next data into data packet #2, which is also sent to the ExpressCard with EUSB.
The ExpressCard with EUSB buffer is now full. The ExpressCard with EUSB cannot keep up with the pace of the host. The ExpressCard with EUSB sends a not yet NYET packet to the host since the sector buffer is full, and the ExpressCard with EUSB cannot receive more data.
The host responds to NYET signal by waiting. The host does not poll the ExpressCard with EUSB, but simply waits. After some time, the ExpressCard with EUSB catches up, and sends a ready RDY signal to the host. Since the ExpressCard with EUSB did not acknowledge receipt of data packet #2, the host re-sends data packet #2. The ExpressCard with EUSB buffers this data, and sends an acknowledgement ACK for the re-sent data packet #2.
The host forms data packet #3, which is also sent to the ExpressCard with EUSB. The ExpressCard with EUSB sends an acknowledgement ACK to acknowledge receipt of data packet #3. Since only 3 packets were requested with the OUT packet, the OUT transaction ends.
The host checks the transmitted data for errors by generating a CRC of the received data and comparing the generated CRC to a stored or transmitted CRC that was computed on the pre-transmitted data. When the CRC's mismatch, an error is detected. When the host finds an error using ECC, step 506, the host sends back a not-acknowledge (NACK) rather than an acknowledgement ACK.
The ExpressCard with EUSB responds to the NACK by re-sending the previous data, step 508. If the host does not receive the re-sent data within the timeout period, step 510, then the operation is aborted, step 512.
When the response is received within the timeout period, step 510, then the CRC or Error-Correction-Code (ECC) is checked on the re-sent data, step 516. When ECC is used rather than CRC, small errors may be corrected without requiring re-sending of the data. When the ECC indicates that the re-sent data is correct, step 516, then the host sends an acknowledgement ACK to the ExpressCard with EUSB, step 518. The ExpressCard with EUSB resumes by sending the next data packet, step 520, and the operation continues, step 526.
When the ECC indicates that the re-sent data has an error, step 516, then the host sends a not-acknowledgement NACK to the ExpressCard with EUSB, step 522. The ExpressCard with EUSB responds by re-sending the data, step 524, and the operation continues, step 510.
The ExpressCard with EUSB buffers the first data packet and sends back an acknowledgement ACK to the OUT request, step 534. The host receives the ACK and sends the second data packet, data #2, step 536.
The ExpressCard with EUSB checks the transmitted data for errors by generating a CRC of the received data and comparing the generated CRC to a stored or transmitted CRC that was computed on the pre-transmitted data. When the CRC's mismatch, an error is detected. When the ExpressCard with EUSB finds an error using ECC, step 538, the ExpressCard with EUSB sends back a not-acknowledge (NACK) rather than an acknowledgement ACK.
If the host does not receive the response from the ExpressCard with EUSB within the timeout period, step 540, then the operation is aborted, step 542. Otherwise, when the host responds to the NACK by re-sending the previous data, step 544.
When the response is received within the timeout period, step 540, then the CRC or Error-Correction-Code (ECC) is checked by the ExpressCard with EUSB on the re-sent data, step 546. When the ECC indicates that the re-sent data is correct, step 546, then the ExpressCard with EUSB sends an acknowledgement ACK to the host, step 548. The host resumes by sending the next data packet, step 550, and the operation continues, step 556.
When the ECC indicates that the re-sent data has an error, step 546, then the ExpressCard with EUSB sends a not-acknowledgement NACK to the host, step 552. The host responds by re-sending the data, step 554, and the operation continues, step 540.
FIGS. 18A-B show a flowchart of an EUSB host suspending while an ExpressCard with EUSB is busy during an IN transfer. In
The ExpressCard with EUSB receives the IN packet and checks its sector buffer or other cache, step 606, to determine if the first packet of the requested data has already been read. The first packet could have been read earlier and cached in the sector buffer.
When the ExpressCard with EUSB has at least 1 packet ready, step 608, and the host is not in the sleep mode, step 610, then the ExpressCard with EUSB sends one packet of data from its sector buffer to the host, step 620. The flow then continues with
For many read operations, the data is not cached by the ExpressCard with EUSB. Step 608 fails because the requested data has not yet been read from the flash memory and loaded into the sector buffer. The ExpressCard with EUSB sends a not yet NYET signal to the host, step 612, and the host suspends the current IN transfer and enters a sleep mode to save power, step 616.
While the host is in the sleep mode, step 616, the ExpressCard with EUSB reads the requested data from its flash memory. The flash data is written into the sector buffer, step 614. When a full packet of flash data has been read from flash into the sector buffer, step 608, and the host is not in the sleep mode, step 610, then the ExpressCard with EUSB sends one packet of data from its sector buffer to the host, step 620. The flow then continues with
However, when the host is still in the sleep mode, step 610, then the ExpressCard with EUSB sends a ready RDY signal to the host, step 618. The ready signal causes the host to wake up from its sleep mode. Since the host has already suspended the current IN transfer, step 616, the host can re-start the current IN transfer from step 604 with another IN packet. However, this time the requested data should be in the sector buffer, and steps 608, 610 will pass, allowing the buffered data to be immediately transferred from the sector buffer to the host, step 620.
In
When the CRC or ECC is bad, step 624, and the timeout has elapsed, step 628, then the host suspends the current IN transfer, step 630. When timeout has not yet elapsed, step 628, the host sends a not-acknowledge NACK to the ExpressCard with EUSB, step 632, since the received data had an error. The ExpressCard with EUSB re-sends the current data packet, step 634, and the flow continues from step 606 of
FIGS. 19A-B show a flowchart of an EUSB host suspending while an ExpressCard with EUSB is busy during an OUT transfer. In
The ExpressCard with EUSB receives the OUT packet and checks for empty space in its sector buffer or other cache, step 656, to determine if there is enough room to store the first packet.
When the ExpressCard with EUSB can accept at least 1 packet, step 658, and the host is not in the sleep mode, step 660, then the ExpressCard with EUSB receives one packet of data sent by the host, step 670. The packet is written into the sector buffer of the ExpressCard with EUSB. The flow then continues with
Write operations to flash tend to be relatively slow, so the sector buffer may already be full. Step 658 fails because the sector buffer is full of old data that has not yet been written into the flash memory and removed from the sector buffer. The ExpressCard with EUSB sends a not yet NYET signal to the host, step 662, and the host suspends the current OUT transfer and enters a sleep mode to save power, step 666.
While the host is in the sleep mode, step 666, the ExpressCard with EUSB writes data from its sector buffer into its flash memory. Eventually, enough data is written to flash that the sector buffer can store more data, step 664. When enough space is made for a full packet of flash data in the sector buffer, step 658, and the host is not in the sleep mode, step 660, then the ExpressCard with EUSB accepts one packet of data, which is written into its sector buffer, step 670. The flow then continues with
However, when the host is still in the sleep mode, step 660, then the ExpressCard with EUSB sends a ready RDY signal to the host, step 668. The ready signal causes the host to wake up from its sleep mode. Since the host has already suspended the current OUT transfer, step 666, the host can re-start the current OUT transfer from step 654 with another OUT packet. However, this time the sector buffer should have enough space to accept the data packet, and steps 658, 660 will pass, allowing the data from the host to be immediately written into the sector buffer, step 670.
In
When the CRC or ECC is bad, step 674, and the timeout has elapsed, step 678, then the host suspends the current OUT transfer, step 680. When timeout has not yet elapsed, step 678, the ExpressCard with EUSB sends a not-acknowledge NACK to the host, step 682, since the received data had an error. The host re-sends the current data packet, step 684, and the flow continues from step 656 of
Although the present invention has been explained in relation to its preferred embodiment, it is to be understood that many other possible modifications and variations can be made without departing from the spirit and scope of the invention as hereinafter claimed.
This application is a continuation-in-part (CIP) of U.S. patent application Ser. No. 11/624,667, filed Jan. 18, 2007, entitled “Electronic Data Storage Medium with Fingerprint Verification Capability”, which is a division of application Ser. No. 09/478,720, filed on Jan. 6, 2000, which has been petitioned claiming benefit of Continuation-In-Process status of one of inventor's earlier U.S. Patent application for “Integrated Circuit Card with Fingerprint Verification Capability”, U.S. application Ser. No. 09/366,976, filed Aug. 4, 1999, now issued as U.S. Pat. No. 6,547,130. This application is also a CIP of U.S. patent application Ser. No. 10/746,935, filed Dec. 23, 2003, entitled “Dual Mode USB and PCI Express Device”, This application is also a CIP of U.S. patent application Ser. No. 10/707,138, filed May 26, 2003, entitled “Express Card with On-Card Flash Memory with Shared Flash Memory Control Bus but Separate Ready Lines”. This application is also a CIP of U.S. patent application Ser. No. 11/864,696, filed Sep. 28, 2007, entitled “Backward Compatible Extended-MLC USB Plug And Receptacle With Dual Personality”.
Number | Date | Country | |
---|---|---|---|
Parent | 11624667 | Jan 2007 | US |
Child | 11979103 | Oct 2007 | US |
Parent | 10746935 | Dec 2003 | US |
Child | 11979103 | Oct 2007 | US |
Parent | 10707138 | Nov 2003 | US |
Child | 11979103 | Oct 2007 | US |
Parent | 11864696 | Sep 2007 | US |
Child | 11979103 | Oct 2007 | US |