# Patent

## Title
Contactless card that receives power from host device

## Abstract

A memory card compatible RFID card includes a smartcard controller that receives power from a host device. The RFID card also includes a small inductive device capable of inductive coupling with an RFID reader. The small inductive device is small enough to fit in the form factor of a memory card. Commands may be sent to the RFID card to keep the RFID card powered.

## Background
RELATED APPLICATIONS
This application is a Continuation of U.S. Nonprovisional application Ser. No. 13/081,775, by Narendra et al., filed Apr. 7, 2011, which is a Divisional of U.S. Nonprovisional application Ser. No. 12/188,346, by Narendra et al., filed Aug. 8, 2008, all of which are incorporated herein by reference in their entirety for all purposes.


FIELD
The present invention relates generally to contactless communications devices, and more specifically to small radio frequency identification (RFID) cards.
BACKGROUND
RFID “tags” can be separated into two broad categories: active tags and passive tags. Active tags are characterized by a local power source such as a battery. Active tags generally transmit information by broadcasting on an RF carrier frequency of choice using a locally generated RF carrier. Active tags are typically used to transmit over long distances, often referred to as “far field communications” (FFC). Antennas used with active RFID tags tend to be large to allow for the communications over long distances.
Passive tags are not powered. Passive tags derive the energy needed to power the tag from an interrogating RF field, and use that energy to transmit response codes by modulating the impedance that the antenna presents to the interrogating field, thereby modulating the signal reflected back to the reader antenna. Passive tags are typically used to transmit over short distances, often referred to as “near field communications” (NFC). For example, passive tags operating at 13.56 MHz are typically designed to communicate with RFID readers a few centimeters away.
Passive tags are typically connected to “loop antennas.” One example of a loop antenna is shown in U.S. Pat. No. 6,568,600, issued to Carpier et al. on May 27, 2003 (the '600 patent). The device described in the '600 patent is recognizable as a “credit card sized” passive RFID card (more specifically, a card that conforms to ISO 7816 size requirements). The loop antenna is necessarily large because passive tags are powered using energy received by the antenna from signals transmitted by the RFID reader.
FIG. 12 shows a power supply voltage developed over time by rectifying a voltage induced in a loop antenna in the presence of an interrogating RF field. Once the power supply voltage reaches a critical value, the tag is powered up and can operate. As the antenna size is reduced, it takes longer for the power supply voltage to reach the critical value, and the tag operation may not meet response time specifications. Below a certain antenna size, the power supply voltage may never reach the critical value, and the tag may never power up.
Antenna design for RFID applications is described in a Microchip Technology, Inc. application note entitled “Antenna Circuit Design for RFID Applications” by Youbok Lee, Ph.D., published in 2003 (no month given). Dr. Lee's application note describes in great detail how to determine size requirements for a passive RFID tag antenna to operate at 13.56 MHz. On page 5 of the application note, Dr. Lee shows that the optimum radius of the loop antenna coil is equal to 1.414 times the required read range. This analysis confirms that for a read range on the order of a few centimeters, a credit card sized loop antenna can be made near optimal.
Passive tags are seeing widespread use in many applications. For example, mobile device manufacturers are embedding passive RFID tags in mobile devices for NFC applications. Example mobile applications include, but are not limited to, ticketing and mobile payments. U.S. Pat. No. 7,333,062 issued to Leizerovich et al. on Feb. 19, 2008 (the '062 patent) shows a mobile phone with an integrated loop antenna for an NFC device. As shown in the '062 patent, the mobile phone provides the real estate necessary to implement a loop antenna at 13.56 MHz.
There have been attempts to implement passive tags in smaller mobile devices. These attempts have met with limited success due in part to the size of the loop antenna. For example, FIG. 13 shows an RFID tag implementation in a secure digital (SD) memory card manufactured by Wireless Dynamics, Inc. of Calgary, Alberta Canada. Card 1300 includes an antenna, but the SD card is significantly oversized as a result. Also for example, U.S. Patent Application Publication No.: US 2006/0124755 A1 shows a memory card having a passive tag, but the card must be inserted into a slot to access a loop antenna on a different device. In this implementation, mobile device real estate is still relied upon for loop antenna implementation. It can be seen, therefore, that the size of antennas are proving to be a barrier to further miniaturization of passive RFID tags.
A need exists for a small footprint RFID tag that does not rely on an external device to house an antenna. A need also exists for a memory card compatible RFID tag that is compatible with standard memory card slots on mobile devices.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows a mobile computing device and a small RFID card compatible with a memory card slot;
FIG. 2 shows a block diagram of a mobile computing device;
FIGS. 3A-3B show block diagrams of memory card compatible RFID cards with integrated inductive elements;
FIG. 4 shows a photograph of a memory card compatible RFID card with an integrated inductive element;
FIG. 5 shows a data portion of a memory card write command;
FIG. 6-11 show flowcharts of methods in accordance with various embodiments of the present invention;
FIG. 12 shows a power supply voltage developed over time by rectifying a voltage induced in a loop antenna in the presence of an interrogating RF field; and
FIG. 13 shows a prior art RFID tag implementation in a secure digital (SD) memory card.



DESCRIPTION OF EMBODIMENTS
In the following detailed description, reference is made to the accompanying drawings that show, by way of illustration, various embodiments of an invention. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It is to be understood that the various embodiments of the invention, although different, are not necessarily mutually exclusive. For example, a particular feature, structure, or characteristic described in connection with one embodiment may be implemented within other embodiments without departing from the spirit and scope of the invention. In addition, it is to be understood that the location or arrangement of individual elements within each disclosed embodiment may be modified without departing from the spirit and scope of the invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims, appropriately interpreted, along with the full range of equivalents to which the claims are entitled. In the drawings, like numerals refer to the same or similar functionality throughout the several views.
FIG. 1 shows a mobile computing device and a small RFID card compatible with a memory card slot. Mobile computing device 110 is shown as a mobile phone in FIG. 1, but this is not a limitation of the present invention. For example, mobile computing device 110 may be a personal digital assistant (PDA), a smartphone, a mobile phone, a handheld computer, a desktop computer, or any other device capable of operating as described herein.
Mobile computing device 110 includes memory card slot 112. Memory card slot 112 is a slot capable of accepting RFID card 120. For example, memory card slot 112 may have physical dimensions compatible with RFID card 120, and may have a communications interface that operates using a protocol compatible with RFID card 120. In some embodiments of the present invention, memory card slot 112 is a memory card slot designed to accept and communicate with memory cards. As used herein, the term “memory card slot” refers to any add-on slot capable of accepting a card having memory accessible by a mobile computing device such as that shown in FIG. 1. For example, a memory card slot may be compatible with an industry standard communications protocol, or may be compatible with a widely accepted communications protocol that is not necessarily formally documented as an industry standard. Examples include slots that are compatible with the Multimedia Memory Card (MMC) protocol, Memory Stick DUO protocol, secure digital (SD) protocol, and Smart Media protocol. The foregoing list is meant to be exemplary, and not exhaustive. Memory card slot 112 may be compatible with many memory card slot protocols other than those explicitly listed above without departing from the scope of the invention.
RFID card 120 includes electrical contacts 122 as part of a host interface that communicates with memory card slot 112. For example, electrical contacts 122 may provide connectivity compliant with a communications protocol for memory cards. RFID card 120 includes RFID functionality, and may also include memory accessible by mobile computing device 110. For example, in some embodiments, RFID card 120 includes a smartcard controller and an inductive element capable of interacting with an NFC reader (e.g., an ISO 14443 compliant interface). In other embodiments, RFID card 120 does not include memory accessible by mobile computing device 110. RFID card 120 may include functionality beyond memory and RFID.
In various embodiments of the present invention, the RFID functionality in RFID card 120 is accessed by mobile computing device 110 using memory card access commands already defined for use in memory card slot 112. Accordingly, the various embodiments of the present invention enable the implementation of RFID functions beyond memory accesses without defining new commands. In some embodiments, new commands for the RFID card are embedded inside the data bits subsequent to memory card read/write commands. RFID card 120 then decides if the incoming data bits are meant for regular read/write memory functions or for RFID functions. In other words, functions in addition to standard memory card functions may be accessed through commands “hidden” in the data stream that can be exchanged using existing memory card access commands and functions. According to the various embodiments of the invention, both existing memory card functions and RFID functions may be implemented without requiring changes in how the host protocol is built.
The combination of mobile computing device 110 and RFID card 120 may be used for any purpose. For example, in some embodiments, RFID card 120 may interact with a point-of-sale payment device to effect mobile payments. Also for example, in some embodiments, RFID card 120 may be used in wave-and-pay ticketing in mass transit environments, such as MIFARE.
FIG. 2 shows a block diagram of a mobile computing device. Mobile computing device 110 includes antenna 240, radio circuits 230, processor 210, memory 220, and memory card slot 112. In some embodiments, mobile computing device 110 is a mobile phone, or includes mobile phone functionality. For example, antenna 240 and radio circuits 230 may be utilized to communicate with a cellular telephone network. Further, in some embodiments, mobile computing device 110 is a wireless local area network (WLAN) or wireless wide area network (WWAN) device. For example, antenna 240 and radio circuits 230 may be utilized to communicate with a wireless access point. In some embodiments, antenna 240 and radio circuits 230 are omitted, and mobile computing device 110 does not utilize wireless connectivity.
Processor 210 represents a processor capable of communicating with the other blocks shown in mobile computing device 110. For example, processor 210 may be a microprocessor, a digital signal processor (DSP), a microcontroller, or the like. Further, processor 210 may be formed from state machines or other sequential logic. In operation, processor 210 may read instructions from memory 220 and perform actions in response thereto. For example, processor 210 may execute program instructions that influence communications between mobile computing device 110 and a device coupled to memory card slot 112.
Memory card slot 112 is described above with reference to FIG. 1. Memory card slot 112 includes circuitry compatible with RFID card 120. Mobile computing device 110 may communicate with RFID card 120 by using a standard set of memory card access commands. For example, processor 210 may use memory card write commands to write to memory in RFID card 120, and may use memory card read commands to read from memory in RFID card 120.
Mobile computing device 110 may access the RFID functionality in RFID card 120 using “hidden” commands embedded in memory card access commands. For example, a memory card write command may include a unique data string to identify the memory card write command as a command to be diverted for purposes other than a memory write. In addition, the sector address provided with the memory card write command may be set to a particular address value to further identify the memory card write command as a command to be diverted. In addition to specific address/data values to identify the memory card access command as a command to be diverted for a purpose other than a memory access, the memory access command may include data bits to further specify the type and function of hidden command. Example formats of hidden commands are described further below. In some embodiments, a read command is issued right after a write command to enable data flow from the non-memory card functions to the host, where the write command's data had the hidden commands. The combination of a memory card write command and a memory card read command can be used in this manner to form a hidden read command.
In some embodiments, memory card slot 112 is powered down after periods of inactivity to save power. For example, memory card slot 112 may be powered up when processor 210 issues a memory card write or read command, but may then be powered down to save power. When memory card slot 112 is powered down, any device coupled to the memory card slot is also powered down. For example, if RFID card 120 (FIG. 1) is coupled to the memory card slot, then RFID card 120 is powered down when memory card slot 112 is powered down.
In various embodiments of the present invention, processor 210 executes software resident in memory 220 to maintain power to memory card slot 112 (and to RFID card 120). For example, periodic hidden commands may be sent to RFID card 120 for the purpose of keeping power applied while RFID card 120 is expected to be providing RFID functionality. Also for example, a hidden command may be sent to RFID card 120 for the purpose of cycling power to a smartcard controller resident on the card. These hidden commands are described further below with respect to later figures.
FIG. 3A shows a block diagram of a memory card compatible RFID card with an integrated inductive element. RFID card 300 represents possible embodiments of RFID card 120 (FIG. 1). RFID card 300 includes host interface 310, memory card controller 340, memory 360, smartcard controller 340, program memory 332, and small inductive element 350. RFID card 300 is capable of communicating with a memory card slot in a mobile computing device. Further, RFID card 300 does not require memory card slots to implement extended input/output functions. For example, and not by way of limitation, in SD embodiments, RFID card 300 is operable in any SD memory card slot, and does not require a secure digital input output (SDIO) memory card slot.
Host interface 310 includes electrical contacts to interface with a memory card slot. For example, host interface 310 includes contacts such as contacts 122 (FIG. 1). Also for example, in some embodiments, host interface 310 includes recessed electrical contacts. Host interface 310 may also include circuitry such as drivers, receivers, terminations, and the like.
In embodiments represented by FIG. 3A, memory card controller 340 communicates with the mobile device using memory card access commands. Memory card controller 340 also communicates with memory 360. Memory card controller 340 determines whether each command should result in a memory operation with memory 360, whether a hidden command should be diverted to smartcard controller 330, or whether memory card controller 340 should take action in response to a hidden command. In some embodiments, memory card controller 340 executes instructions that are stored in an internal memory or stored in memory 360. In some embodiments, memory card controller 340 includes special purpose hardware useful to determine whether a command should be diverted. In other embodiments, memory card controller 340 may be a microcontroller identical in all respects to a controller found in memory cards, except for the program that it executes.
Memory 360 may be any type of volatile or non-volatile memory. For example, memory 360 may be volatile memory such as static random access memory (SRAM) or dynamic random access memory (DRAM). Also for example, memory 360 may be nonvolatile memory such as NOR FLASH memory or NAND FLASH memory. In various embodiments of the present invention, memory 360 represents memory that is accessed by a mobile computing device using memory card access commands defined for that purpose.
When RFID card 300 is communicating with a memory card slot in a mobile computing device, the mobile computing device may send a memory card access command in order to access memory 360. Also for example, the mobile computing device may send a memory card access command that contains a hidden command. Memory card controller 340 detects the presence of the hidden command, and diverts all or a portion of the memory access command to smartcard controller 330 using communication bus 342. Communication bus 342 may have any number of conductors and may take any form. For example, communication bus 342 may be a serial port, a parallel port, or may include multiple data conductors, multiple address conductors, and/or conductors to carry control signals such as clock signals. In some embodiments, memory card controller 340 takes one or more actions in response to a hidden command. For example, memory card controller 340 may modify clock signals in response to a hidden command.
Memory card controller 340 can detect the hidden command in many ways. For example, in some embodiments, the memory card access command may include a specific address value or a specific data value. Memory card controller 340 detects commands that include one or both of the specific address value or specific data value and routes the command appropriately. The specific address value and specific data value used for this purpose are referred to herein as the hidden command address value and the hidden command data value.
In some embodiments, memory card controller 340 detects the presence of hidden commands based only on the hidden command address value. In these embodiments, memory card controller 340 checks the address value included in a memory card access command, and diverts the command (or takes some other action) if it matches the hidden command address value. In some embodiments, memory card controller 340 detects the presence of hidden commands based only on the hidden command data value. In these embodiments, memory card controller 340 checks a data value included in the memory card access command, and diverts the command if it matches the hidden command data value. In still further embodiments, memory card controller 340 detects the presence of hidden commands based on both the hidden command address value and the hidden command data value. In these embodiments, memory card controller 340 diverts the command only if both the memory card access address and data match the hidden command address value and data value, respectively.
The hidden command address value and hidden command data value may be specified in many ways. For example, all RFID cards may be issued with fixed values. In these embodiments, each time the RFID functions are accessed, the same hidden command address and/or data value is included in the memory card access command. Also for example, different RFID cards may be issued with unique values. In these embodiments, each RFID card may provide these values to a mobile computing device when queried. Also for example, hidden command address and/or data values may be specified by the mobile computing device. In still further embodiments, hidden command address and data values may be dynamic. The hidden command address and data values may change each time power is applied or on a periodic basis.
Smartcard controller 330 receives hidden commands diverted by memory card controller 340. Smartcard controller 330 further interprets the hidden commands and performs actions in response thereto. Smartcard controller 330 executes instructions stored in program memory 332. In some embodiments, program memory 332 is embedded in smartcard controller 330, and in other embodiments, program memory 332 is part of memory 360.
Smartcard controller 330 is a dual interface smartcard controller with one of the interfaces including RFID functionality. In some embodiments, smartcard controller 330 is compatible with passive RFID tag readers in NFC applications. For example, smartcard controller 330 may be a device capable of implementing all or part of the ISO 14443 standard for contactless NFC devices. Also for example, smartcard controller 330 may be a dual interface smartcard controller capable of implementing both ISO 7816 and ISO 14443 standards for contact/contactless requirements. The “SmartMX” family of controllers available from NXP of The Netherlands are examples of suitable dual interface smartcard controllers. These controllers provide RFID functionality at 13.56 MHz. The various embodiments of the present invention operate at 13.56 MHz, but are not limited to operation at this frequency. In some embodiments, smartcard controller interoperates with MIFARE systems for ticketing applications.
Smartcard controller 330 receives power from the host interface. By not receiving power from the interrogating RF field, the necessity of a loop antenna for power generation is negated. Smartcard controller 330 includes antenna port 334. Antenna port 334 is coupled to small inductive element 350.
Small inductive element 350 includes a coil wound around a magnetic core. The coil is too small to draw power from the interrogating RF field, but this is not necessary since smartcard controller 330 is powered by the host device through host interface 310. Small inductive element 350 interacts with an antenna in an RFID reader similar to the way that primary and secondary coils in a transformer interact. The RFID reader has a coil resonant at 13.56 MHz functioning as the primary coil of a transformer. Small inductive element 350 functions as the secondary coil of the transformer. Accordingly, the transmitter “sees” the impedance of the secondary coil (small inductive element 350). Smartcard controller 334 is able to modulate reflected RF signals using circuitry to modify the impedance at the antenna port 334.
Small inductive element 350 can be made very small. For example, in some embodiments, RFID card 120 is a miniSD card, and small inductive element 350 is small enough to be completely contained in the miniSD form factor. A specific embodiment of a small inductive element in a memory card form factor is described below with reference to FIG. 4.
In various embodiments of the invention, memory card controller 340 and smartcard controller 330 are implemented in many different ways. For example, in some embodiments, the various components are implemented in hardware. In these embodiments, the various components may be implemented as separate integrated circuits, or in a combined integrated circuit. Also for example, in some embodiments, the various components may be implemented in software, or in a combination of hardware and software. In some embodiments, RFID card 300 may include a microprocessor, and the components may be implemented as software modules running on the microprocessor. In other embodiments, RFID card 300 may include multiple processors, and the components may be implemented as software modules distributed across the multiple processors.
FIG. 3B shows a block diagram of a memory card compatible RFID card with an integrated inductive element. RFID card 302 represents possible embodiments of RFID card 120 (FIG. 1). RFID card 302 includes host interface 310, memory card controller 340, memory 360, smartcard controller 340, program memory 332, and small inductive element 350, all of which are described above with reference to FIG. 3A. RFID card 302 is capable of communicating with a memory card slot in a mobile computing device. Further, RFID card 302 does not require memory card slots to implement extended input/output functions. For example, and not by way of limitation, in SD embodiments, RFID card 302 is operable in any SD memory card slot, and does not require a secure digital input output (SDIO) memory card slot.
In embodiments represented by FIG. 3B, smartcard controller 330 receives power from memory controller 340. In these embodiments, memory controller 340 has direct control over the power provided to smartcard controller 330. Memory controller 340 may apply and/or remove power from smartcard controller 330 in response to commands received over the host interface. For example, memory controller 340 may receive a hidden command to reset smartcard controller 330 by causing a reboot through a power cycle.
FIG. 4 shows a photograph of a memory card compatible RFID card with an integrated inductive element. RFID card 120 is shown in an SD card form factor, although this is not a limitation of the present invention. RFID card 120 includes electrical contacts 122, memory card controller 340, smartcard controller 330, memory 360, magnetic core 450, and coil 452, all affixed to circuit board 402.
Magnetic core 450 and coil 452 implement small inductive element 350 (FIG. 3). As can be seen in the photograph, the small inductive element fits entirely within the memory card form factor. The small inductive element does not provide power generation for smartcard controller 330, and so does not need to be made large for that purpose.
FIG. 5 shows a data portion of a memory card write command. Included are hidden command data value 510, status field 520, password field 530, device ID 532, command index 540, and hidden command related data 550. In the example of FIG. 5, the data portion is 512 bytes in length, although this is not a limitation of the present invention. Any amount of data may be included in the write command, and each field shown in FIG. 5 may be any length.
In the example of FIG. 5, the hidden command data value is 256 bits long, although any length may be used without departing from the scope of the present invention. In some embodiments, hidden command data value 510 is used to identify a memory write command as a hidden command. When a write command is received having data in the first 256 bits that match the hidden command data value, the command is identified as one to be diverted to the smartcard controller. As described above, a hidden command address value may be used in conjunction with, or instead of, a hidden command data value to identify the memory write command as a hidden command.
The remaining fields have significance when the memory write is a hidden command. For example, if the first 256 bits do not match the hidden command data value (or if the write address does not match the hidden command address value, or both) then the remaining bits in the data field are to be treated as data in a normal memory write command. In contrast, when the memory write is a hidden command, the remaining fields are used to further interpret the hidden command.
Memory card controller 340 (FIGS. 3, 4) inspect the hidden command data value 510, status field 520, and possibly password field 530 and device ID 532. In some embodiments, if the command is identified as a hidden command, memory card controller 340 forwards the password 530, command index 540, and related data 550 to smartcard controller 330. In other embodiments, memory card controller 340 may directly take actions based on the hidden command.
Status field 520 may include any information relating to the status of the hidden command. For example, status field 520 may include one more bits to signify to memory card controller 340 whether the host (mobile computing device) is expecting the smartcard controller to return data in response to the hidden command. For example, when status field 520 signifies a write, memory card controller 340 forwards the password device ID, command index, and related data without expecting to return any data to the host. Also for example, when status field 520 signifies a read, memory card controller 340 forwards the password, device ID, command index, and related data with the expectation that smartcard controller 330 will provide data to be sent to the host in response to a memory card read command. The combination of a memory card write command followed shortly thereafter by a memory card read command may be used to provide “read” functionality to the smartcard controller. Read operations from the smartcard controller are described further below with reference to FIG. 8.
Password field 530 includes a password to allow smartcard controller 330 to authenticate the host to the token. In some embodiments, every hidden command includes a password. Each time the password, device ID, command index, and related data is diverted to the smartcard controller, the password is checked to authenticate the host to the token.
Device ID 532 uniquely identifies the host (mobile computing device). The device ID may be checked by the smartcard controller to ensure that the token is inserted in the host to which it is authenticated. Some embodiments of the present invention enforce a unique host/card pairing using the device ID, and other embodiments allow smartcard controller functions to be accessed by any host.
Command index 540 identifies the type of hidden command. The number of possible hidden commands is limited only by the number of bits allocated thereto. Any number of bits may be allocated to command index 540 without departing from the scope of the present invention. Hidden command related data 550 may be utilized differently for each type of hidden command. Any number of bits may be used for hidden command related data 550.
The data shown in FIG. 5 is provided as an example, and the data field of a memory card access command may include more or fewer data fields than those shown in FIG. 5. The present invention is not limited by the number or content of the fields in a memory card access command.
FIG. 6 shows a flowchart in accordance with various embodiments of the present invention. In some embodiments, method 600 may be used by a mobile computing device to communicate with an RFID card in a memory card slot. In some embodiments, method 600, or portions thereof, is performed by a mobile computing device with a memory card slot, and in other embodiments, method 600, or portions thereof, is performed by software. The various actions in method 600 may be performed in the order presented, in a different order, or simultaneously. Further, in some embodiments, some actions listed in FIG. 6 are omitted from method 600.
Method 600 begins at 610 in which a data pattern and an address value are received from an RFID card in a memory card slot. The data pattern corresponds to the hidden command data value, and the address value corresponds to the hidden command address value. In some embodiments, the mobile device only receives the data value and in other embodiments, the mobile device only receives the address value. In some embodiments, the actions of 610 may occur once when the RFID card is first inserted in the memory card slot. The mobile computing device may then use the address and data values each time it creates a hidden command. In other embodiments, the actions of 610 may occur each time the RFID card is inserted in the memory slot. In still further embodiments, the actions of 610 may occur periodically. Each time the actions 610 occur, the data pattern may be the same or different, and the address value may be the same or different.
At 620, a data field of a memory card access command is populated with the data pattern to cause the command to be diverted to a smartcard controller on the RFID card. For example, the data pattern may be written to the data field as the hidden command data value 510 (FIG. 5).
At 630, an address field of the memory card access command is populated with the address value to further cause the command to be diverted to the smartcard controller. In some embodiments, only one of 620 or 630 is utilized. In these embodiments, the presence of a hidden command is signified by the data pattern alone, or the address value alone.
At 640, the data field of the memory card access command is populated with a command string to specify a purpose other than a memory card access. For example, the command string may be written to the data field as the command index 540 for the smart card controller. This command may be used for any purpose. For example, one or more hidden commands may have as a sole purpose keeping power provided to the memory card slot so that the RFID card continues to receive power.
At 650, the data field of a memory card access command is populated with a password to authenticate access to the RFID card coupled to the memory card slot. In some embodiments, a password is included in the data field for every hidden command. In other embodiments, a password is only included at the beginning of an exchange.
At 660, the memory card access command is sent to the RFID card coupled to the memory card slot. For example, a mobile computing device (110, FIGS. 1, 2) may send the memory card access command to an RFID card (120, FIGS. 1, 3, 4) in a memory card slot (112, FIGS. 1, 2). The RFID card includes a memory card controller (340, FIG. 3) to divert the command (or take some other action) based on the data fields populated in method 600.
FIG. 7 shows a flowchart in accordance with various embodiments of the present invention. In some embodiments, method 700 may be used by an RFID card in a memory card slot. In some embodiments, method 700, or portions thereof, is performed by a memory card controller within a memory card compatible RFID card, and in other embodiments, method 700, or portions thereof, is performed by software. The various actions in method 700 may be performed in the order presented, in a different order, or simultaneously. Further, in some embodiments, some actions listed in FIG. 7 are omitted from method 700.
Method 700 begins at 710 in which a memory card access command is received from a mobile computing device via a host interface. The actions of 710 correspond to an RFID card in a memory card slot of a mobile computing device receiving a memory card access command.
At 720, the memory card controller checks criteria in the memory card access command to determine if the memory card access command should be diverted to a smartcard controller resident on the RFID card. The criteria may be one or both of a hidden command data value, a hidden command address value, or both. If there is a criteria match at 730, then a hidden command is present, and at least a portion of the memory card access command is diverted at 740. If there is not a criteria match, then no hidden command is present, and a memory access is performed at 750.
FIG. 8 shows a flowchart in accordance with various embodiments of the present invention. In some embodiments, method 800 may be used by an RFID card in a memory card slot. In some embodiments, method 800, or portions thereof, is performed by a memory card controller within an RFID card, and in other embodiments, method 800, or portions thereof, is performed by software. The various actions in method 800 may be performed in the order presented, in a different order, or simultaneously. Further, in some embodiments, some actions listed in FIG. 8 are omitted from method 800.
Method 800 begins at 810 in which a memory card write command is received from a mobile computing device via a host interface. If the memory card write command is determined to be a hidden command, processing continues with 840; otherwise, a memory write is performed at 830.
At 840, the hidden command is diverted to a smartcard controller. If the hidden command is determined to be a “read” at 850, processing continues at 860; otherwise, the hidden command processing is done. At 860, the memory card controller retrieves non-memory data from the smartcard controller, and at 870, a memory card read command is received from the mobile computing device. At 880, the non-memory data is returned to the mobile computing device.
Method 800 demonstrates how a mobile computing device can perform a read from a smartcard controller in a memory card compatible RFID card. The mobile computing device issues a memory card write command with a hidden command having a status field designating a read, and then the mobile computing device issues a memory card read command. The processing in the card receives the hidden command, identifies it as a read, and then returns data to the mobile computing device in response to a subsequent memory card read command.
FIG. 9 shows a flowchart in accordance with various embodiments of the present invention. In some embodiments, method 900 may be used by an RFID card in a memory card slot. In some embodiments, method 900, or portions thereof, is performed by a smartcard controller within an RFID card, and in other embodiments, method 900, or portions thereof, is performed by software. The various actions in method 900 may be performed in the order presented, in a different order, or simultaneously. Further, in some embodiments, some actions listed in FIG. 9 are omitted from method 900.
Method 900 begins at 910 in which a smartcard controller receives a command from the memory card controller. This command corresponds to a hidden command received by the memory card controller. At 950, the smartcard controller determines whether the command is a “dummy” command used solely for the purpose of maintaining power to the memory card slot. If no, then the smartcard function specified in the command is performed at 930. If yes, then the command is disregarded at 960.
Method 900 allows a memory card compatible RFID card in a memory card slot to remain powered during periods when the memory card slot in the host device would otherwise remove power to save energy. This is a coordinated effort between software building hidden commands in a memory card access command, the memory card controller diverting the hidden command to the smartcard controller, and the smartcard controller disregarding the command. According to embodiments represented by FIG. 3A, providing power to the RFID card also provides power the smartcard controller, thereby allowing the use of a small inductive device such as those shown in FIGS. 3 and 4.
FIG. 10 shows a flowchart in accordance with various embodiments of the present invention. In some embodiments, method 1000 may be used by an RFID card in a memory card slot. In some embodiments, method 1000, or portions thereof, is performed by a memory card controller within an RFID card, and in other embodiments, method 1000, or portions thereof, is performed by software. The various actions in method 1000 may be performed in the order presented, in a different order, or simultaneously. Further, in some embodiments, some actions listed in FIG. 10 are omitted from method 1000.
Method 1000 begins at 1010 in which a memory card controller receives a hidden command from a mobile computing device. If at 1020, the memory card controller determines that the hidden command is to be diverted to the smartcard controller, then the command is diverted at 1030. If the command is not to be diverted, then the memory card controller does not divert the command; however, the memory card controller may take other actions at 1040 based on the hidden command. For example, the memory card controller may modify a clock signal provided to the smartcard controller. Also for example, the memory card controller may assert a reset signal to the smartcard controller. Still for example, the memory card controller may cycle power to the smartcard controller. The memory card controller is able to cycle power to the smartcard controller in embodiments represented by FIG. 3B.
Cycling power to the smartcard controller may be a coordinated effort between the hosting computing device and the memory card controller in the RFID card. For example, power to the memory card slot may be maintained by supplying dummy hidden commands to the RFID card as described above with reference to FIG. 9. While power is maintained to the memory card slot, hidden commands may be used to cause the memory card controller to cycle power to the smartcard controller.
FIG. 11 shows a method authenticating a mobile computing device to one or more functions in a memory card compatible RFID card. Method 1100 begins at block 1110 in which an activation code is received at an RFID card from a mobile computing device. At 1120, the received activation code is compared to a code stored in the RFID card. If the activation code matches, the RFID card receives a password from the mobile computing device at 1140, and stores the password in the RFID card for later use at 1150. If the activation code does not match, the RFID card determines whether a number of allowable tries has been exceeded at 1160. If the number of allowable tries has been exceeded, the RFID card issuer is contacted at 1170, and if the number of allowable tries has not been exceeded, the method repeats until either the activation code matches or the number of allowable tries has been exceeded.
Method 1100 may be performed when an RFID card is issued to a user. For example, the RFID card may be a mobile payment card issued by a financial institution. The user may be provided an activation code to “activate” the RFID card. When the user successfully enters the activation code, the user is prompted for a password, and that password is stored for use in future hidden commands.
In some embodiments, multiple non-memory functions in an RFID card are authenticated using method 1100. For example, each of multiple non-memory functions may have stored activation codes, and each is activated separately. Each of the separately activated functions may have a different password, or the multiple functions may share a password.
Although the present invention has been described in conjunction with certain embodiments, it is to be understood that modifications and variations may be resorted to without departing from the spirit and scope of the invention as those skilled in the art readily understand. Such modifications and variations are considered to be within the scope of the invention and the appended claims.

## Claims

1. A card comprising:
a memory card slot interface;
a memory card controller coupled to the memory card slot interface;
a contactless communications device coupled to the memory card controller, the contactless communications device having an antenna port;
a power delivery mechanism to deliver power to the contactless communications device from the memory card slot interface; and
a coil coupled to the antenna port of the contactless communications device.

2. The card of claim 1 wherein the contactless communications device is designed to comply with ISO 14443.

3. The card of claim 1 wherein the contactless communications device is designed to interoperate with MIFARE.

4. The card of claim 1 wherein the card conforms to memory card size requirements of a micro SD card.

5. The card of claim 1 further comprising a circuit board to which the memory card controller, the contactless communications device, and the magnetic core and coil are affixed.

6. The card of claim 1 wherein the contactless communications device is operable to reflect signals received at substantially 13.56 MHz.

7. The card of claim 1 further comprising nonvolatile memory coupled to the memory card controller.

8. A memory card comprising:
a memory card controller to communicate with a host;
a smartcard controller having an antenna port; and
an inductive element coupled to the antenna port, wherein the inductive element is too small to provide sufficient energy to power the smartcard controller;
wherein the smartcard controller is coupled to receive power from the host.

9. The memory card of claim 8 wherein the smartcard controller is designed to comply with ISO 14443.

10. The memory card of claim 8 wherein the smartcard controller is designed to interoperate with MIFARE.

11. The memory card of claim 8 wherein the card conforms to memory card size requirements of a micro SD card.

12. The memory card of claim 8 further comprising a circuit board to which the memory card controller, the smartcard controller, and the inductive element are affixed.

13. The memory card of claim 8 wherein the smartcard controller is operable to reflect signals received at substantially 13.56 MHz.

14. A mobile payment device comprising:
a coil to inductively couple with an interrogating radio frequency field transmitted by a mobile payment reader;
a dual interface smartcard controller having an antenna port coupled to the coil, the dual interface smartcard controller further coupled to receive power from other than the antenna port;
a memory card controller coupled to communicate with the dual interface smartcard controller; and
a memory card compatible circuit board upon which the coil, the dual interface smartcard, and the memory card controller are mounted.

15. The mobile payment device of claim 14 further comprising metallic contacts compatible with a memory card slot in a host device.

16. The mobile payment device of claim 15 wherein the dual interface smartcard controller is coupled to the metallic contacts to receive power from the host device.

17. The mobile payment device of claim 14 wherein the dual interface smartcard controller is coupled to receive power from the memory card controller.

18. The mobile payment device of claim 14 wherein the mobile payment device conforms to memory card size requirements of a micro SD card.

19. The mobile payment device of claim 18 further comprising nonvolatile memory coupled to the memory card controller.

20. The mobile payment device of claim 14 wherein the dual interface smartcard controller is operable to reflect signals received at substantially 13.56 MHz.