Memory controller that includes support for autorun of software or data
Issued Date: November 26, 2013
Inventor: William Ho Chang et al
External Links: UPSTO, Google Patents
An integrated circuit microcontroller supporting Autorun of software or data is disclosed. The integrated circuit microcontroller can be included in a memory device, the memory device may be a USB dongle, a SD card, a flash drive, a wireless dongle or others that are connectable by a user to a computing device for running application or data stored in the memory device. The memory device may include a private memory component storing private or security data. The private or security data may be associated with computing or application software running or providing services on the computing device. The private or security data may protect the usage of or the services provided by the computing or application software. The computing device may include mobile phones, tablets, digital cameras, laptops, desktops, appliances etc. Exemplary services may include Internet access, wireless connectivity, phone calling, content access or content sharing.
1. An integrated circuit memory device connectable to a host computing device by a user for running computing software on the host computing device and not providing means for the user to run at least part of the computing software without connecting the integrated circuit memory device to the host computing device, and for providing copy protection of at least part of the computing software associated with services provided by the computing software, the integrated circuit memory device comprising:
a controller for controlling interaction between the integrated circuit memory device and the host computing device;
a memory component storing at least part of the computing software operable on the host computing device, the memory component including a protected or private memory component storing private data, the private data being associated at least partly with the computing software for running on the host computing device, the private data stored in the protected memory component is not implemented to be accessible or viewable by the user of the integrated circuit memory device from the protected memory component, and the protected memory component is implemented to prevent the private data stored in the private memory component from being copied by the user from the protected memory component, and at least part of the private data stored in the protected memory component being permitted to be executed on the host computing device upon connection and activation of the integrated circuit memory device on the host computing device;
firmware embedded in the integrated circuit memory device having:
means to facilitate interaction between the integrated circuit memory device and the host computing device,
means to facilitate access of the protected memory component of the integrated circuit memory device,
means to facilitate the integrated circuit memory device identifying itself with the host computing device in accordance with a first device interface description, and
means to facilitate the integrated circuit memory device for identifying itself to the host computing device with a second device interface description subsequent to identifying itself with the host computing device with a first device interface description; and
autorun software stored at least partly on the integrated circuit memory device for auto running, at least partly, on the host computing device upon connection of the integrated circuit memory device to the host computing device, the autorun software, when executed, providing:
means to load from the protected memory component the private data associated with the computing software by interacting with the firmware embedded in the integrated circuit memory device, and
means to facilitate running at least part of the computing software on the host computing device that includes the private data access from the protected memory component subsequent to connection and activation of the integrated circuit memory device to the host computing device.