1. A method for executing application program code, comprising: loading a first segment of program code of an application from a memory storage device to a host system memory; executing the first segment, wherein a host system processor executes the first segment; and authenticating execution of the program code of the application by requiring a memory controller of the memory storage device to execute a second segment of the program code of the application to participate in the execution of the program code of the application, wherein the memory storage device verifies if the host system is a valid host system to execute the program code of the application using a secured applet that is downloaded from a server.