# Patent

## Title
Memory card based contactless devices

## Abstract

A memory card compatible token includes a host interface, radio circuits to transmit signals and a controller to determine if the memory card access commands are for contactless devices attached to the memory card slot or general memory. User payment account information is stored in the contactless chip as part of the contactless devices. The radio circuits can be activated and deactivated by the user for signal transmission using the controller through a mobile computing device.

## Background
FIELD
The present invention relates generally to contactless devices, and more specifically to contactless devices within memory cards.
BACKGROUND
Contactless devices like contactless smartcards are being widely used for financial transactions, the most common of transactions being payments. Examples of such cards include Visa's PayWave, MasterCard's PayPass and American Express's Express Pay.
While usage of contactless devices such as smartcards seems to be growing, there is growing concern about security in usage of such devices. Generally, smartcards get activated by a reader when a user takes the smart card in proximity to a reader where the RF (radio frequency) antenna of the reader activates the RF antenna attached to the contactless device. In certain circumstances, it is possible that smartcards can get activated by a contactless reader in close proximity without the knowledge of user.
NFC technology allows for secure transactions by using a security element such as a SIM card, a secure flash card, or an embedded security controller. Devices with NFC technology or other such short range communication technologies integrated in mobile devices create a strong tie-up for the consumer with the specific mobile device company. For example, if we consider the case of a bank providing contactless access to several of its services via mobile phones, the users of such services need to have mobile phones from specific phone companies that the bank has tied up with.
Hence there is a need for a methodology where existing contactless infrastructure can be used to provide an environment where usage of contactless devices is secure and flexible. Further objects, features and advantages will become apparent from the following description, claims and drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows a mobile computing device and a token compatible with a memory card slot;
FIG. 2 shows a block diagram of a mobile computing device;
FIG. 3 shows a block diagram of a token that communicates with a memory card slot in a mobile computing device;
FIG. 4 shows a contactless device;
FIG. 5 shows multiple contactless devices connected to a single antenna switch circuit;
FIG. 6-8B show flowcharts of methods in accordance with various embodiments of the present invention; and
FIG. 9-12 show flowcharts of methods in accordance with various embodiments of the present invention.



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 token 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, 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 token 120. For example, memory card slot 112 may have physical dimensions compatible with token 120, and may have a communications interface that operates using a protocol compatible with token 120. The 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. Token 120 includes electrical contacts 122 as part of a host interface that communicates with memory card slot 112. In some embodiments, token 120 includes a “contactless” interface to communicate with memory card slot 112. For example, electronic token 120 may include an interface to memory card slot 112 that communicates using electric or magnetic fields, infrared (IR) light or any other suitable communications mechanism.
Token 120 may include memory and may also include additional functionality. In some embodiments, token 120 includes memory accessible by mobile computing device 110 and also includes additional functionality. In other embodiments, token 120 does not include memory accessible by mobile computing device 110. The additional functionality of token 120 may take any form and the various embodiments of the present invention are not limited in this regard. In various embodiments of the present invention, the additional functionality in token 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 token functions beyond memory accesses without defining new commands.
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. 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 are utilized to communicate with a wireless access point. 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 token 120. Mobile computing device 110 may communicate with token 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 token 120, and may use memory card read commands to read from memory in token 120. Mobile computing device 110 accesses additional functionality in token 120 using “hidden” commands embedded in memory card access commands.
FIG. 3 shows a block diagram of a token that communicates with a memory card slot in a mobile computing device. Token 120 includes the host interface 310, memory card controller 320, memory 340 and the contactless device module 330. Token 120 may be any type of token capable of communicating with a memory card slot in a mobile computing device. Memory 340 may be any type of volatile or non-volatile memory. For example, memory 340 may be volatile memory such as static random access memory (SRAM) or dynamic random access memory (DRAM). Also for example, memory 340 may be nonvolatile memory such as NOR FLASH memory or NAND FLASH memory. In various embodiments of the present invention, memory 340 represents memory that is accessed by a mobile computing device using memory card access commands defined for that purpose. Host interface 310 includes electrical contacts to interface with a memory card slot 112. For example, in some embodiments, host interface 310 includes contacts such as contacts shown in (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. The user communicates data between the mobile computing device 110 and memory card controller 320 using the host interface 310. Data between the memory card controller 320 and the host interface 310 is communicated using memory access commands. Memory cards write command includes 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. These commands are diverted to the contactless device 330 by the memory card controller. 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. New commands for the memory card controller are embedded inside the data bits subsequent to memory card read/write commands. The memory card controller 320 then decides if the incoming data bits are meant for regular read/write functions or for the contactless device 330 functions.
FIG. 4 shows a block diagram of a contactless device 330 in accordance with various embodiments of the invention. The contactless device 330 contains a contactless chip 410, radio circuits 230 and an antenna 440. The contactless chip 410 may have data embedded on to it and may communicate to the device they are connected. For example, the contactless chip 410 may have account information related to one payment account. In other embodiments, the contactless chip 410 can have information related to multiple payment accounts. The antenna 440 and radio circuits 230 may be utilized to communicate with third party readers. In some embodiments, the radio circuits 230 and the antenna 440 may be connected through an antenna switch circuit 450 (or antenna switch, as used interchangeably) that enables activating or deactivating the antenna 440 based on user commands. In some embodiments, user may provide a command to activate the antenna 440 through the antenna switch 450. Once the antenna switch 450 is turned ON, the antenna 440 is activated and the user can use the token to communicate with a third party reader. In some embodiments, based on user commands, the antenna switch may be turned ON for a pre-determined duration. The antenna switch 450 may be turned OFF by another user command or the switch 450 may be turned OFF automatically after a pre-determined duration. The user commands are communicated to the contactless chip 410 using the controller 320, where the commands are for non-memory functions. The controller 320 authenticates the user to access the contactless device 330 and allows contactless device 330 functions. All commands passed through the data stream to the contactless chip 410 are authenticated by the controller 320.
FIG. 5 shows multiple contactless devices 500, an antenna 440, and an antenna switch circuit 450. Multiple contactless devices 500 can share the radio circuits and antenna. In some embodiments of the present invention, different payment accounts may be stored in different contactless devices 330. In some other embodiments, the contactless devices 330 can be assigned for different institutions to transact. The antenna switch circuit 450 as shown also includes the radio circuit 230 shown in FIG. 2. In some other embodiments, the antenna switch circuit may be separated from the radio circuit. The data sent by user in the form of hidden commands in the memory access command is passed through the memory card controller 320. The memory card controller 320 authenticates the user to access the contactless payment device 330 and allows non-memory functions. In some embodiments, user may provide a command to identify and connect a particular contactless device to the antenna through the switch circuit. Once the antenna switch 450 is turned ON, the antenna is activated and the user can use the token to communicate with a third party reader. In some embodiments, based on user commands, the antenna switch may be turned ON for a pre-determined duration. The antenna switch 450 may be turned OFF by another user command or the switch 450 may be turned OFF automatically after a pre-determined duration. In various embodiments, contactless devices 330 may also be powered by battery of a mobile computing device 110 besides an external reader.
FIG. 6 shows a flowchart in accordance with various embodiments of the present invention. Method 600 is used by a mobile computing device to communicate with a contactless device in a memory card slot. 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 the device 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 device 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 device 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 for a purpose other than a memory access. 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 for purposes other than a memory access. 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. The command string written in the data field is for the non memory function module. At 650, the data field of a memory card access command is populated with a password to authenticate access to the device 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 device coupled to the memory card slot. For example, a mobile computing device (110, FIG. 1) may send the memory card access command to a token (120, FIG. 1) in a memory card slot (112, FIG. 1). The token may include a memory card controller (320, FIG. 3) to divert the command 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 token 120 in a memory card slot 112. In some embodiments, method 700, or portions thereof, is performed by a command routing component within a token, 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. In some embodiments the method 700 is used by the memory card controller 320 to decide if the memory access command is for the contactless device 330 to perform non-memory functions or for general memory 340 functions. In some embodiments, the method 700 or portions thereof, is performed by software. Method 700 begins at 710 when the memory card controller 320 receives memory access command from the mobile computing device 110 via a host interface 310. The actions of 710 correspond to a token in a memory card slot of a mobile computing device receiving a memory card access command. The memory access command communicates between the host interface and the memory card controller 320. Commands are hidden in the memory access command, in either the address field or the data field or both. At 720, the token checks for criteria in the memory access command to determine if the memory access command should be diverted to the contactless device 330. At 730, the criteria is matched which 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 to contactless device at 740. If there is not a criteria match, then no hidden command is present, and a memory access is performed at 750.
FIGS. 8 and 8A show a flowchart in accordance with various embodiments of the present invention. In some embodiments, method 800 may be used by token 120 in a memory card slot 112. In some embodiments, method 800, or portions thereof, is performed by a command routing component within a token, 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 FIGS. 8 and 8A are omitted from method 800.
Method 800 begins at 810 when the memory card controller 320 receives memory access command from the mobile computing device 110 via a host interface 310. The actions of 810 correspond to a token in a memory card slot of a mobile computing device receiving a memory card access command. The memory access command communicates between the host interface and memory card controller. Commands are hidden in the memory access command, in either the address field or the data field or both. At 820, the memory card controller checks the data stream for hidden commands in the data field, address field or both. This is explained in method 700. At 830, when commands are diverted to the contactless device 330, a user authentication is performed by checking a part of the command with a pre-determined value. In case of successful authentication at 840 the command is diverted to contactless device allowing user to perform non-memory functions. Non-memory functions may include activating or deactivating the antenna 440 and creating, modifying or deleting accounts. The non-memory functions are enabled through a mobile computing device via the host interface at 850. If the hidden command is determined to be a “read” at 860, processing continues at 870; otherwise, the hidden command processing is done. At 870, the controller 320 retrieves data from the contactless device 330, and at 880, a memory card read command is received from the mobile computing device. At 890, the data from the contactless device 330 is returned to the mobile computing device.
FIG. 9 shows a flowchart in accordance with various embodiments of the present invention. Method 900 begins at 910 with the user performing actions on the mobile computing device 110. At 920, software in the mobile computing device 110 converts these actions into memory card access write commands. Contactless device 330 related commands are “hidden” in the memory card write command at 930. At 940, the memory card controller checks the incoming data and decides if it is meant for the contactless device 330. Commands are hidden in the memory access command, in either the address field or the data field or both. In some embodiments the hidden command may also contain a password for authentication. The memory card controller checks the data stream for hidden commands in the data field, address field or both. If the data stream is found to contain hidden commands, the hidden command is authenticated at 950. For example, authentication is performed by checking a part of the command with a pre-determined value. In some embodiments, this pre-determined value may be a password. Further, a portion of the memory access commands is diverted to the contactless device 330 else the memory access command is performed.
In case of successful authentication at 1010, shown in FIG. 10, the controller 320 processes the command at 1020. A successful response is sent back to memory card controller at 1030. At 1040, the mobile computing device 110 software reads the response using the memory card read command. The controller 320 activates the antenna 440 by connecting the antenna switch 450 to a contactless device 330 for a pre-determined duration at 1050. In case of unsuccessful authentication at 1010, an unsuccessful response is sent to the memory card controller 320 if a read command is expected at 1060. At 1070, this response is communicated to the user by the mobile computing device 110 software which reads the response for memory access read command.
FIG. 11 shows the flow for deactivation of a contactless device. In case of successful authentication at 1110, shown in FIG. 11, the controller 320 processes the command at 1120. A successful response is sent back to memory card controller at 1130. At 1140, the mobile computing device 110 software reads the response using the memory card read command. The controller 320 deactivates the antenna 440 by connecting the antenna switch 450 to a contactless device 330 for a pre-determined duration at 1150. In case of unsuccessful authentication at 1110, an unsuccessful response is sent to the memory card controller 320 if a read command is expected at 1160. At 1170, this response is communicated to the user by the mobile computing device 110 software which reads the response for the memory access read command.
FIG. 12 shows a flowchart of methods in accordance with various embodiments of invention. At 1210, the controller 320 activates the antenna switch 450 to connect to the antenna 440 and user can communicate to a third party reader. In case the user wants to create a new account at 1210, the user can create one and add to the existing accounts at 1220, else he can select an existing account at 1230. The user now has options to delete or modify the selected account at 1240 and 1250 respectively. The user may choose to perform either of the actions of deleting a selected account or modifying a selected account at 1260 and 1270 respectively. The changes in account information get stored in the contactless device 330 as part of steps at 1260 and 1270. At 1280, the user can perform necessary action using the mobile computing device to deactivate the antenna and end the session at any stage. In some embodiments, deactivation happens after a pre-determined duration of time automatically.
In some embodiments, where multiple contactless devices 500 are present; each account may be associated with one contactless device 330. In some embodiments, more than one account may be associated to a single contactless device.
In other embodiments, the hidden commands may also be used to drive the antenna 440. The hidden commands may be used to send information to the antenna to enable reading by third party readers from the antenna. Readers will not be able to read from the antenna unless the antenna is activated by the user through a mobile computing device 110.
In some embodiments, the contactless devices 330 may have data connection where mobile computing devices 110 may be able to send commands with data to update the contactless device 330. In other embodiments, the contactless devices 330 may not have the data connection, where hidden commands are used only to activate or deactivate the antenna 440 connected to the contactless devices 330.
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 memory card token comprising:
a host interface that allows the memory card token to be accepted in a memory card slot;
a radio circuit to transmit signals; and
a controller coupled between the host interface and the radio circuit, wherein the controller is configured to determine if memory card compatible commands received over the host interface are meant to enable and disable an antenna connected to the radio circuit in response to the memory card compatible commands.

2. The memory card token of claim 1 wherein the controller is further configured to maintain financial account information.

3. The memory card token of claim 1 wherein the controller is configured to compare a data field of the memory card compatible commands to a hidden command data value that identifies the commands as non-memory commands.

4. The memory card compatible token of claim 3 wherein the controller is further configured to compare an address field of the memory card compatible commands to an address value that identifies the commands as non-memory commands.