WO2007079359A2 - Voice controlled portable memory storage device - Google Patents

Voice controlled portable memory storage device Download PDF

Info

Publication number
WO2007079359A2
WO2007079359A2 PCT/US2006/062342 US2006062342W WO2007079359A2 WO 2007079359 A2 WO2007079359 A2 WO 2007079359A2 US 2006062342 W US2006062342 W US 2006062342W WO 2007079359 A2 WO2007079359 A2 WO 2007079359A2
Authority
WO
WIPO (PCT)
Prior art keywords
user
access
template
password
host system
Prior art date
Application number
PCT/US2006/062342
Other languages
French (fr)
Other versions
WO2007079359A3 (en
Inventor
Kevin M. Conley
Original Assignee
Sandisk Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/314,522 external-priority patent/US7917949B2/en
Priority claimed from US11/314,933 external-priority patent/US8161289B2/en
Application filed by Sandisk Corporation filed Critical Sandisk Corporation
Publication of WO2007079359A2 publication Critical patent/WO2007079359A2/en
Publication of WO2007079359A3 publication Critical patent/WO2007079359A3/en

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/16Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/16Solid state audio

Definitions

  • the present invention relates to portable devices, and more particularly, to voice activated and controlled, portable non-volatile memory storage devices.
  • Non-volatile semiconductor memory devices such as flash memory storage drives are commonly used to store digital information in various applications, for example, digital cameras, cell phones, MP3 or other audio/video players, notebook computers, desktop computers and other applications. These memory devices are small, portable, and reliable with a large capacity to store data.
  • the memory devices can be connected to tae foregoing using standarc interfaces, for example, the Universal Serial Bus (USB) port or an IEEE 1394 (“Firewire”) port.
  • USB Universal Serial Bus
  • IEEE 1394 IEEE 1394
  • biometric solution has been to use biemetric parameters, like, fingerprints, to control access to such devices.
  • biometric solution has shortcomings as well. For example, fingerprints can change over zime or become unrecognizable. Also, fingerprinr sensors are complex, sometimes unreliable, and expensive.
  • Portable devices for example, an MP3 player or any other type of audio/video player
  • buttons to control various functions.
  • portable audio/video players use plural buttons for recording, playback and other functions. These buttons are expensive and occupy real estate on portable devices that are small in size to begin with. The burtons are inconvenient to use, for example, at night or while exercising.
  • a portable memory storage device SUMMARY OF TKE INVENTION
  • the device includes a microphone for receiving a user voice input; a controller that receives the voice input and creates a template; and a plurality of non-volatile memory cells for storing the template, wherein the template is used to authenticate the user for any subsequent user request for accessing the device and an application is launched when the device interfaces with a host system to enroll the user as an authorized user to access device functionality and access host system functionality.
  • a system for providing access to a host system functionality and portable memory storage device (“device”) functionality includes a processor for the host system; and the device comprising: a microphone for receiving a user voice input; a controller that receives the voice input and creates a template; and a plurality of non-volatile memory cells for storing the template, wherein the template is used to authenticate the user for any subsequent user request for accessing the device, and an application is launched when the device interfaces with the host system to enroll the user as an authorized user to access device functionality and access host system functionality, [0013] In yet another aspect, a method for a portable memory storage device is provided.
  • the method includes, enrolling the device after the device interfaces with a host system and an application is launched that requests a user to provide voice input; receiving the user voice input and storing the voice input as a template for subsequent user access; wherein the template is stored in non-volatile memory cells of the device; and authenticating a user by receiving user voice input and comparing the voice input with the stored template, wherein access to user files is provided after the user is authenticated,
  • Figure IA shows a rop-level block diagram of a portable menory device coupled to a host system, according to one aspect of tie present invention
  • Figure IB shows a block diagram of the internal architecture of the h;>st system in Figure JA;
  • Figure 1C shows a block diagram of a memory controller in Figure IA, according to one aspect of the present invention
  • Figure ID shows a top-level block diagram of an audio/video player uith voice control, according to one aspect of the present invention
  • Figure IE shows an example of storing information in non-volatile memory cells, according to one aspect of the present invention
  • Figure 2 shows a process flow diagram for using a voice controlled portable memory device, according to one aspect of the present invention
  • Figure 3A shows a process flow diagram for performing enrollment of a portable memory device, according to one aspect of the present invention
  • Figure 3B shows an example of a voice print created according to one aspecr of the present invention
  • Figure 4 shows a process flow diagram for authenticating a portable memory device, according to one aspect of the present invention
  • Figure 5 shows a process flow diagram for creating a password bank f according to one aspect of the present invention
  • Figure 6 shows a process flow diagram for reinitializing a portable device, according to one aspect of the present invention
  • Figure 7A shows an example for storing keywords in a portable device, according to one aspect of the present invention.
  • Figure 7 ⁇ shows an example of phonetic patterns associated with file names, according to one aspect of the present invention
  • Figure 8 shows a process flow diagram for creating a macro in a portable memory device, according to one aspect
  • Figure 9 shows an example of a macro, according to one aspect of the present invention.
  • Figure 10 shows a process flow diagram for associating a function to a file name, according to one aspect of the present invention.
  • Figure IA shows a functional block diagram of a portable memory device (may also be referred to as a "flash device” or “flash memory device”) 105 coupled to a host device (or system, used interchangeably) 100 v:,a a bus 10OA.
  • flash device or flash memory device
  • the term portable memory device as use ⁇ throughout this specification is intended to :.nclude a portable flash drive, a portable audio/video player (including an MP3 player) and other simil ⁇ tr devices.
  • a microphone 106B is provided tc capture a user's voice (shown as input 106D) that is then sent to an analog/digital (A/D) converter 106A, A digital signal 106C is received and processed by controller 106 (may also be referred tc as "memory controller” or “controller”), as described below. Controller 106 interfaces with host system 100 via a bus interface 10OA.
  • controller 106 may also be referred tc as "memory controller” or “controller”
  • controller 106 interfaces with host system 100 via a bus interface 10OA.
  • controller 106 mav be a part of an integrated circuit (for example, an application specific integrated circuit ⁇ ASIC)) or any other circuic.
  • Flash memory device 105 includes scli ⁇ -state memory modules/cells 107-106 ⁇ shown as Memory Module #1 and Memory Module #N) .
  • Memory cells 107/108 are used to store data, applications and other information.
  • Flash memory cards There are currently many different types of flash memory cards that are commercially available, examples being the CompactFlash (CF), the MuitiMediaCard (MMC), Secure Digital ('SD) , miniSD, Memory Stick, SmartMedia and TransFlash cards. Although each of these cards has a unique mechanical and/or electrical interface according to its standardized specifications (for example, The Universal Serial Bus (USE) specification, incorporated herein by reference in its entirety! r the flash memory included in each is very similar. These cards are ail available from SanDisk Corporation, assignee of the present application.
  • CF CompactFlash
  • MMC MuitiMediaCard
  • 'SD Secure Digital
  • miniSD Memory Stick
  • SmartMedia SmartMedia
  • TransFlash cards Flash memory cards
  • SanDisk also provides a line of flash drives under its Cruzer trademark, which are hand held memory systems in small packages that have a Universal Serial Bus (USB) plug for connecting with a host by plugging into the host's USB receptacle.
  • USB Universal Serial Bus
  • Each of these memory cards and flash drives includes controllers that interface with the host and control operation of the flash memory within them.
  • Host devices for example, 100 that use such memory cards and flash drives are many and varied. They include personal computers (PCs), laptop and other portable computers, cellular telephones, personal digital assistants (PDAs), digital still cameras, digital movie cameras and portable audio players.
  • the host typically includes a built-in receptacle for one or more types of memory cards or flash drives bur. some require adapters into which a memory card is plugged.
  • a NAND architecture of the memory cell arrays 107-108 is currently preferred, although other architectures, such as NOR, can also be used instead. Examples of NAND flash memories and their operation as part of a memory system may be had by reference to United States patents r.os. 5,570,315, 5,774,397, 6,046,935, 6,373,746, 6,456,528,
  • Figure IB shows a block diagram of a typical host system 100 chat includes a central processing unit (“CPU")
  • CPU central processing unit
  • Host system 100 is coupled with flash device 105 via a bus interface 104.
  • Random access main memory (“RAM”) 103 is coupled to system bus 10IB and provides CPU 101 with access to memory storage. When executing program instructions, CPU 101 stores those process steps in RAM 103 and executes the stored process steps out of PAM 103.
  • Host system 100 connects to a computer network (net shown) via network interface 10IA (and through a network connection (not shown) ) .
  • a computer network such as network interface 10IA (and through a network connection (not shown) ) .
  • One such network is the Internet that allows host system 100 to download applications, code, documents and others electronic information.
  • ROM Read only memory
  • BIOS basic Input/output operating system
  • I/O device interface 102A allows host 100 to connect to various input/out devices, for example, a keyboard, a pointing device ("mouse”) , a monitor, printer, a modem and the like.
  • I/O device interface 102A is shown as a single block for simplicity and may include plural interfaces to interface with different types of I/O devices.
  • FIG. 1C shows a block diagram of the internal architecture of controller module 106.
  • Controller module 106 includes a microcontroller 109 that interfaces with various other components via interface logic 111.
  • Memory 110 stores firmware and software instructions that are used by microcontroller 109 to control the operation of flash device 105.
  • Memory 110 may be volatile re-programmable random access memory ("RAM”) , a non-volatile memory that is not re-programmable (“ROM”), a one-time programmable memory or a re-programmable flash electrically-erasable and programmable read-only memory (“EEPROM”) .
  • RAM volatile re-programmable random access memory
  • ROM non-volatile memory that is not re-programmable
  • EEPROM electrically-erasable and programmable read-only memory
  • a host interface 113 interfaces with host system 100, while a flash interface 112 interfaces with memory modules 107-108.
  • Microphone 106B is used to capture user voice input (106D) .
  • the analog voice data is then converted into digital data by A/D converter 106A and the digital signal 106C is then processed by microcontroller 109. It is noteworthy that digital signal may be accessed by rricrocontroller 109 via interface logic 111,
  • Enrollment module 109A is provided so that a user can trigger the enrollment process, described below, according to one aspect of the present invention.
  • - enrollment rroduTe includes a "button" or a physical interface that the user activates to start the enrollment process, according to one aspect of the present invention.
  • Figure ID shows another example of a portable device that is voice controlled, according to one aspect of the present invention.
  • Portable device in Figure ID is an audio/video player 115 (may ce referred to as Player 115) that can play an audio file (for example, an MF3 file) stored in memory cells 107/108.
  • Flash device 105 in this aspect is a part of Player 115.
  • Player 115 is also capable of playing a video file or displaying an image.
  • Player 115 includes a player controilei 117 that controls overall functionality. Player controller 117 interfaces with a display module 123 via a LCD module I/F 124 to display information to a user. Typically, the information relates to the music that is being played. [0054] Player controller 117 also interfaces with a host system via a host interface 118 via port 126» Port 126 may be OSB, parallel port, RS232, SCSI or any other type of port . [0055] Decoder 120 decodes audio files and sends tiie decoded signal to an audio signal generator 121.
  • the audio signal generator outputs the audio, for example, to ear phones 122.
  • Player 115 also includes a button interface 119 that receives input from button 125. To request certain functionality the user uses Button 125. It is noteworthy that block 125 is intended to simply provide an example and is not intended to limit the present invention to any particular number/type of buttons or physical interface that is used by the user to request functionality. Button 125 can be used by the user to begin the enrollment/training process, according to one aspect of the present invention, as described below in detail.
  • Figure IE shows a block diagram for flash device 105 that interfaces with host system 100 via a USE interface.
  • Flash device 105 conforms to the USB specification (i.e. can be accessed via a USB interface) and appears to host 100 having plural Logical Units (LUNs) of storage space and each LUN may appear to be of a different class of storage device.
  • LUNs Logical Units
  • flash device 105 may appear to have both a standard Mass Storage Class volume (LUN 0, 106E), which imitates the behavior of a SCSI Hard Disk Drive, and a MMC Class volume, which imitates the behavior of a CD-ROM (LUN 1, 106F) .
  • Host system 100 having its own operating system views LUM 0 (106E) as a mass storage device for storing data and other information; and LUN 1 106F as a CD-ROM that can store an auto-run application code for launching an application.
  • Hidden area 106G is secured and rray be used to store a voice print template, as discussed below.
  • FIG. 2 shows a top-level flow diagram for using a flash device 105 (or Player 115, used interchangeably through out this specification and may also be referred to as a "device"), according to one aspect of the present invention.
  • Flash device 105 is initialized in step S200.
  • step S201 the process determines if the device needs to be enrolled. If enrollment is needed, then the process moves to step S202, described below in detail with respect to Figure 3.
  • step S203 If enrollment Is not needed, then the user is authenticated in step S203, described below with respect to Figure 4. After authentication, in step S204, the user is granted access to the device, described below in detail with respect Figure 5.
  • step S203 If the user cannot be authenticated in szep S203, then the device is re-initialized in step S205, described below with respect to Figure 6. The process ends in step S206.
  • the enrollment process captures a user's voice input 106D and stores it in flash memory cells 107/108 (preferably in a secured hidden area, for example, 106G, Figure IE) , according to one aspect of the present invention.
  • a device user may be asked to repeat a password/phrase more than once to capture an accurate voice print profile in flash device 105. Multiple password phrases may be stored allowincj more than one user to access flash device 105 or if a user is concerned about remembering a specific phrase, according to one aspect of the present invention.
  • Controller 106 receives the voice input (106D) and stores it as a template in memory cells 107/108.
  • the enrollment process begins in step S300.
  • the enrollment process can be performed in two ways: An application ( Figure IE) is launched (in step S301) when flash device 105 interfaces with a host system (or when Player 115 is powered on for use for the firs 1 : time) .
  • Enrollment can also be initiated manually, as shown in step S302.
  • a user manually launches an application by selecting an application shown rn Figure IE or by pressing a button (125, as snown in Figure ID).
  • the application prompts the user to repeat a phrase and in step S303, the user voice input is received by flash device 105.
  • the voice input is stored in non- volatile memory ceils 107/108.
  • Controller 106 stores the voice input.
  • the voice input is stored as template that is used in subsequent authentication when a user wants to access flash device 105 functionality. In one aspect, controller 106 stores and maintains the template .
  • Figure 3B shows an example of a voice template (is also referred to as a "template") 305.
  • Template 305 is used to authenticate a user's request to access flash device 105. Separate templates can be stored so that multiple users can securely use flash device 105.
  • Template 305 is also associated with other passwords (referred ⁇ .c as a password bank 313 ⁇ .
  • a user may store a password 307 that allows the user to access and use application 306.
  • Password 307 is associated with template 305. It is noteworthy that a password similar to 307 may also be used to access a host system 100 or to connect to a network via network interface 101A.
  • a data file 308 (that may be protected by encryption 309 ⁇ can be protected by a voipe-based password 311, Password 311 is also associated with template 305.
  • Password 312 used by a user to access a web site 310 can also be associated with template 305.
  • password 312 is automatically filled in because it is linked to template 305.
  • step S400 the authentication process begins in step S400. This may occur when flash device 105 interfaces with a host system ( c ⁇ when Player
  • step S401 the user is requested for a voice input sample.
  • step S402 the user voice input 106D is captured by the microphone 106B and converted into a digital signal by an A/D converter 106A.
  • step S403 the captured voice sample is compared to a voice template stored in flash memory ceils 107/108 (for example, 305) .
  • step S404 flash device microcontroller 109 determines if the voice input matches with stored voice templates. The comparison is performed on the flash device 105 for security reasons. However, a software module (not shown) running on the host system; or a haidware circuit (e.g. an ASIC) can be used to perform the comparison. [0078] If the user input matches with the szoreo template then the user is granted access to flash device 105 in Step S405. In one aspect, rhe level of access may depend on the type of user. For example, certain users may be granted only "read-only" privilege, i.e., the user can only view information and is nor. allowed to modify stored content, while others are allowed to read and write.
  • Step S406 This level is set during enrollment, [0079] If the user cannot be authenticated, then the user is given an option in Step S406 to re-initiali ⁇ e flash device 105 as discussed below in Figure 6.
  • Password Bank/Application Access /File Access [0081]
  • Figure 5 snows various examples of using flash device 105 with template 305.
  • the user is first authenticated in step S5Q0,. as described above with respect to Figure 4.
  • Steps S501-S5C4 relate to websites, steps S505-S507 relate to applications and steps S508-S510 relate to files.
  • step S501 the user accesses a website (for example, 310) using a computing system that interfaces with flash device 105.
  • step S502 f the user enters a password and user name to control access to the website.
  • the password and user name is associated with a voice-based template (for example, 305) .
  • a voice-based template for example, 305
  • the password and username associated with the template are filled in automatically (in S504) .
  • step S505 a user accesses a compute] application (306) , for example, a Windows ⁇ based application and then protects access to the application by storing an application specific password/username (307) .
  • step S506 the password and username are associated with template 305.
  • step S507 when the user subsequently wants to access the application again, the password/username is automatically retrieved because they are linked with the voice print template 305.
  • seeps S505-S507 can be used to access a host system 100 or access a network via network interface 101A.
  • step S508 a user encrypts a data file that is stored in memory cells 107/108.
  • a file specific voice based passphrase (keyword) is used to secure file data.
  • the user voice input is a passphrase that is associated with a particular file/directory/sub-directory.
  • the voice-based passphrase provides additional protection to secure data, according to one aspect of the present invention.
  • template 305 limits access to flash device 105
  • the encryption protects the file data at the next level
  • the voice based passphrase 310 limits access to file data in step S510.
  • Re-initialization [0090]
  • Figure 6 s ⁇ ows a block diagram for re-intializin ⁇ flash device 105.
  • step S6Q1 the previous voice based templates are erased.
  • step 8602 data associated with the user may also be deleted. In one aspect, if a user is given a certain partition (segment) of storage space, then the data in that partition is also deleted, [0091]
  • step S603 the user again goes tnrough the enrollment process (i.e. a template or "new image" is reloaded) described above and the re-enrollment is completed in step S604.
  • Macros Macros:
  • a voice-based template is associated with a control button of a portable device.
  • the user can record the word "play” and the keyword play is associated with the functionality of the "play” butter.
  • the adaptive aspects of the present invention also allow a user to create "macros" for certain functions for which there are no control buttons or for whi ch more than one button needs to be pressed.
  • One example of such a macro is for the mute function for an audio/video player.
  • the mute function allows a user to mute/silence the player. Typically, one either has a dedicated button or has to press more than one button to mute the player.
  • the user stores activation keywords and assigns the keywords to various functions.
  • the keywords are captured via microphone 106B and once captured, a template is created and stored in memory cells 107/108. Controller 106 saves the template.
  • the user then captures one or more button control functions (for example, "play”, rewind, fast forward, pause, and others) and the button control functions are associated with the keywords and stored in non-volatile memory ceils 107/106.
  • Figure 7A shows an example of how keywords stored in memory cells are related to functions.
  • FIG. 3 shows a process flow diagram for training and using a portable device so that device functions can be performed based on voice input.
  • a user records a specific keyword.
  • the user is enrolled and authenticated by the portable device as explained above.
  • ⁇ n application is launched to train and store the keywords.
  • the keywords can also be pre-loaded in memory cells
  • controller 106 stores a voiceprint template for the keyword.
  • step 8803 the template is stored ir> non-volatile memory cells.
  • step S804 the user captures a button control sequence for a function that the user intends to associate with the stored keyword.
  • the button sequence can be for a function which has a dedicated button (for example, the play function) , or for which a user has to perform a button sequence (for example, to achieve the mute function, in various audio/video players one has to press more than one button/key) .
  • step S805 the button control action is associated with the stored keyword.
  • Controller 106 performs this function, In another aspect, a host processor may also perform this function.
  • step S806 the user terminates the button sequence. Termination of a button sequence is signaled by an action that normally does not take place, for example, by holding a specific button for a pre-determined period.
  • FIG. 9 shows an example, of associating the mute function to user keyword "Mure”.
  • Each device has a "Menu” option and a user selects the "Menu” opti on to begin training the device. From the Menu option, the user chooses the "Setting” option. The user then selects the "Voice Command” option that allows the user to move to the Train option.
  • the user selects the Train option and is prompted to enter a voice command. The user says “Mute” and device 105 creates a Mute template.
  • buttons for certain duration for example, the A/B repeat button for 4 seconds.
  • the spoken word can be used to activate the function for which it ]3 programmed. For example, when the user says Mute, the ⁇ evice (Player 115) becomes mute.
  • FIG. 10 shows a process flow diagram for executing device 105 functions when a user states a command with a file name for a file stored in memory cells 107/108, according to one aspect of the present in d ention.
  • the process begins in step SlOOO, when player 115 receives a voice command with a file name from a user. For example, the user states v Play Beethoven", where "play” is a command to play an audio file named "Beethoven”.
  • step S1002 player 115 parses the file name and creates a phonetic pattern. For example, "Beethoven” is reduced to a pattern "bee", “fho” and "ven' " .
  • step S1004 player 115 searches plural files that are stored in a directory in memory cells 107/108 to determine if the phonetic pattern in step SlOC 2 matches the phonetic pattern for the stored files.
  • Player 115 creates a phonetic pattern for the stored file names either real time when it receives a command in step SlOOO or maintains a list of phonetic patterns that is updated every time a file is added.
  • the received file name phonetic pattern (for example, bee, tho, ven) is compared with the phonetic patterns of the stored files. If there is a natch, the function is executed in step S1005. In this example, the file named "Beethoven" is played.
  • Figure 7B shows an example of how file names with associated phonetic patterns are stored in memory cells 107/108.
  • the files can be for audio, video or any other information .
  • the adaptive aspects of the present invention are not limited to playing a ⁇ dio files or to any particular file type/format or to any type of command. For example, a user can coitxmard the device to "Delete XYX". The device then deletes the file XYZ after the phonetic pattern for XYZ matches with a stored file named XYZ.
  • buttons are needed to operate a device like an audio/video player (for example , an MP3 player) .
  • the user is given an option to create voice commands for standard functions as well as custom functions.
  • the device is user friendly and cheaper because fewer buttons are needed.

Abstract

A portable memory storage device ('device') is provided. The device includes a microphone for receiving a user voice input; a controller that receives the voice input and creates a template; and a plurality of non-vo2atile memory cells for storing the template, wherein the template is used to authenticate the user for any subsequent user request for accessing the device and an application is launched when the device interfaces with a host system to enroll the user as an authorized user to access device functionality and access host system functionality.

Description

VOICE CONTROLLED PORTABLE MEMORY STORAGE DEVICE
Inventor (s) : Kevin M. Conley
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This patent application is related to the following applications , the disclosure of which is incorporated herein by reference in its entirety: [0002] Serial Number 11/314,476, filed on December 21, 2005, entitled "VOICE CONTROLLED PORTABLE MEMORY STORAGE DEVICE"; and
[0003] Serial Number 11/313,841, filed on December 21, 2005, entitled "VOICE CONTROLLED PORTABLE MEMORY STORAGE DEVICE"; BACKGROUMD OF THE INVENTION
1. Field of the Invention
[0004] The present invention relates to portable devices, and more particularly, to voice activated and controlled, portable non-volatile memory storage devices. 2. Background
[0005] Non-volatile semiconductor memory devices, such as flash memory storage drives are commonly used to store digital information in various applications, for example, digital cameras, cell phones, MP3 or other audio/video players, notebook computers, desktop computers and other applications. These memory devices are small, portable, and reliable with a large capacity to store data. The memory devices can be connected to tae foregoing using standarc interfaces, for example, the Universal Serial Bus (USB) port or an IEEE 1394 ("Firewire") port.
[0006] The rapid popularity of flash memory devices also poses security risks and challenges. Access to stored data and to device functionality needs to be authorized and secure.
[0007] One common way to control access to such devices has been via a traditional password and a PIN (personal identification information) . The password/?IN solution is not very effective, because the password can be hacked or forgotten.
[0008] Another solution has been to use biemetric parameters, like, fingerprints, to control access to such devices. The biometric solution has shortcomings as well. For example, fingerprints can change over zime or become unrecognizable. Also, fingerprinr sensors are complex, sometimes unreliable, and expensive.
[0009] Portable devices (for example, an MP3 player or any other type of audio/video player) also use different buttons to control various functions. For example, portable audio/video players use plural buttons for recording, playback and other functions. These buttons are expensive and occupy real estate on portable devices that are small in size to begin with. The burtons are inconvenient to use, for example, at night or while exercising.
[0010] Therefore, there is a need for a portable device that can efficiently provide secured access to a user; and also minimizes the use of buttons.
SUMMARY OF TKE INVENTION [0011] In one aspect, a portable memory storage device
("device") is provided. The device includes a microphone for receiving a user voice input; a controller that receives the voice input and creates a template; and a plurality of non-volatile memory cells for storing the template, wherein the template is used to authenticate the user for any subsequent user request for accessing the device and an application is launched when the device interfaces with a host system to enroll the user as an authorized user to access device functionality and access host system functionality.
[0012] In another aspect, a system for providing access to a host system functionality and portable memory storage device ("device") functionality is provided. The system includes a processor for the host system; and the device comprising: a microphone for receiving a user voice input; a controller that receives the voice input and creates a template; and a plurality of non-volatile memory cells for storing the template, wherein the template is used to authenticate the user for any subsequent user request for accessing the device, and an application is launched when the device interfaces with the host system to enroll the user as an authorized user to access device functionality and access host system functionality, [0013] In yet another aspect, a method for a portable memory storage device is provided. The method includes, enrolling the device after the device interfaces with a host system and an application is launched that requests a user to provide voice input; receiving the user voice input and storing the voice input as a template for subsequent user access; wherein the template is stored in non-volatile memory cells of the device; and authenticating a user by receiving user voice input and comparing the voice input with the stored template, wherein access to user files is provided after the user is authenticated,
[0014] This brief summary has been provided so that the nature of the invention may be understood quickly. A more complete understanding of the invention can be obtained by reference to the following derailed description of the preferred embodiments thereof, in connection with the attached drawings ,
BRIEF DESCRIPTIOtI OF THE DRAWINGS
[0015] The foregoing features and other features of the present invention WJ 11 now be described wi~ii reference to the drawings of a preferred enbodiment. In the drawings, the same components have the same reference numerals . The illustrated embodiment is intended to illustrate, but not to limit the invention. The drawings include the following Figures:
[0016] Figure IA shows a rop-level block diagram of a portable menory device coupled to a host system, according to one aspect of tie present invention;
[0017] Figure IB shows a block diagram of the internal architecture of the h;>st system in Figure JA;
[0018] Figure 1C shows a block diagram of a memory controller in Figure IA, according to one aspect of the present invention;
[0019] Figure ID shows a top-level block diagram of an audio/video player uith voice control, according to one aspect of the present invention;
[0020] Figure IE shows an example of storing information in non-volatile memory cells, according to one aspect of the present invention; [0021] Figure 2 shows a process flow diagram for using a voice controlled portable memory device, according to one aspect of the present invention;
[0022] Figure 3A shows a process flow diagram for performing enrollment of a portable memory device, according to one aspect of the present invention;
[0023] Figure 3B shows an example of a voice print created according to one aspecr of the present invention;
[0024] Figure 4 shows a process flow diagram for authenticating a portable memory device, according to one aspect of the present invention;
[0025] Figure 5 shows a process flow diagram for creating a password bankf according to one aspect of the present invention; [0026] Figure 6 shows a process flow diagram for reinitializing a portable device, according to one aspect of the present invention;
[0027] Figure 7A shows an example for storing keywords in a portable device, according to one aspect of the present invention;
[0028] Figure 7β shows an example of phonetic patterns associated with file names, according to one aspect of the present invention; [0029] Figure 8 shows a process flow diagram for creating a macro in a portable memory device, according to one aspect
of the present invention;
[0030] Figure 9 shows an example of a macro, according to one aspect of the present invention; and
[0031] Figure 10 shows a process flow diagram for associating a function to a file name, according to one aspect of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [0032] To facilitate an understanding of the preferred embodiment, the general architecture and operation of a computing system/portable non-volatile memory storage device will first be described. The specific architecture and operation of the preferred embodiment will then be described with reference to the general architecture. [0033] Computing System/Portable Memory Device
[0034] Figure IA shows a functional block diagram of a portable memory device (may also be referred to as a "flash device" or "flash memory device") 105 coupled to a host device (or system, used interchangeably) 100 v:,a a bus 10OA. The term portable memory device as useα throughout this specification is intended to :.nclude a portable flash drive, a portable audio/video player (including an MP3 player) and other similεtr devices.
[0035] A microphone 106B is provided tc capture a user's voice (shown as input 106D) that is then sent to an analog/digital (A/D) converter 106A, A digital signal 106C is received and processed by controller 106 (may also be referred tc as "memory controller" or "controller"), as described below. Controller 106 interfaces with host system 100 via a bus interface 10OA. [0036] It is noteworthy that controller 106 mav be a part of an integrated circuit (for example, an application specific integrated circuit ^ASIC)) or any other circuic.
[0037] Flash memory device 105 includes scliα-state memory modules/cells 107-106 ^ shown as Memory Module #1 and Memory Module #N) . Memory cells 107/108 are used to store data, applications and other information.
[0038] There are currently many different types of flash memory cards that are commercially available, examples being the CompactFlash (CF), the MuitiMediaCard (MMC), Secure Digital ('SD) , miniSD, Memory Stick, SmartMedia and TransFlash cards. Although each of these cards has a unique mechanical and/or electrical interface according to its standardized specifications (for example, The Universal Serial Bus (USE) specification, incorporated herein by reference in its entirety! r the flash memory included in each is very similar. These cards are ail available from SanDisk Corporation, assignee of the present application. [0039] SanDisk also provides a line of flash drives under its Cruzer trademark, which are hand held memory systems in small packages that have a Universal Serial Bus (USB) plug for connecting with a host by plugging into the host's USB receptacle. Each of these memory cards and flash drives includes controllers that interface with the host and control operation of the flash memory within them.
[0040] Host devices (for example, 100) that use such memory cards and flash drives are many and varied. They include personal computers (PCs), laptop and other portable computers, cellular telephones, personal digital assistants (PDAs), digital still cameras, digital movie cameras and portable audio players. The host typically includes a built-in receptacle for one or more types of memory cards or flash drives bur. some require adapters into which a memory card is plugged.
[0041] A NAND architecture of the memory cell arrays 107-108 is currently preferred, although other architectures, such as NOR, can also be used instead. Examples of NAND flash memories and their operation as part of a memory system may be had by reference to United States patents r.os. 5,570,315, 5,774,397, 6,046,935, 6,373,746, 6,456,528,
6,522,580, 6,771,536 and 6,781,877 and United States patent application publication no, 2003/0147278.
[0042] Figure IB shows a block diagram of a typical host system 100 chat includes a central processing unit ("CPU")
(or microprocessor) 101 connected to a system bus iOlB.
Host system 100 is coupled with flash device 105 via a bus interface 104.
[0043] Random access main memory ("RAM") 103 is coupled to system bus 10IB and provides CPU 101 with access to memory storage. When executing program instructions, CPU 101 stores those process steps in RAM 103 and executes the stored process steps out of PAM 103.
[0044] Host system 100 connects to a computer network (net shown) via network interface 10IA (and through a network connection (not shown) ) . One such network is the Internet that allows host system 100 to download applications, code, documents and others electronic information. [0045] Read only memory ("ROM") 102 is provided to store invariant instruction sequences such as start-up instruction sequences or basic Input/output operating system (BIOS) sequences.
[0046] Input/Output ("I/O") device interface 102A allows host 100 to connect to various input/out devices, for example, a keyboard, a pointing device ("mouse") , a monitor, printer, a modem and the like. I/O device interface 102A is shown as a single block for simplicity and may include plural interfaces to interface with different types of I/O devices.
[0047] Figure 1C shows a block diagram of the internal architecture of controller module 106. Controller module 106 includes a microcontroller 109 that interfaces with various other components via interface logic 111. Memory 110 stores firmware and software instructions that are used by microcontroller 109 to control the operation of flash device 105. Memory 110 may be volatile re-programmable random access memory ("RAM") , a non-volatile memory that is not re-programmable ("ROM"), a one-time programmable memory or a re-programmable flash electrically-erasable and programmable read-only memory ("EEPROM") .
[0048] A host interface 113 interfaces with host system 100, while a flash interface 112 interfaces with memory modules 107-108. [0049] Microphone 106B is used to capture user voice input (106D) . The analog voice data is then converted into digital data by A/D converter 106A and the digital signal 106C is then processed by microcontroller 109. It is noteworthy that digital signal may be accessed by rricrocontroller 109 via interface logic 111,
[0050] Enrollment module 109A is provided so that a user can trigger the enrollment process, described below, according to one aspect of the present invention. In one aspect,- enrollment rroduTe includes a "button" or a physical interface that the user activates to start the enrollment process, according to one aspect of the present invention. [0051] Figure ID shows another example of a portable device that is voice controlled, according to one aspect of the present invention. Portable device in Figure ID is an audio/video player 115 (may ce referred to as Player 115) that can play an audio file (for example, an MF3 file) stored in memory cells 107/108. Flash device 105 in this aspect is a part of Player 115. Player 115 is also capable of playing a video file or displaying an image. [0052] It is noteworthy that the present invention is not limited to any particular audio/video file format. [0053] Player 115 includes a player controilei 117 that controls overall functionality. Player controller 117 interfaces with a display module 123 via a LCD module I/F 124 to display information to a user. Typically, the information relates to the music that is being played. [0054] Player controller 117 also interfaces with a host system via a host interface 118 via port 126» Port 126 may be OSB, parallel port, RS232, SCSI or any other type of port . [0055] Decoder 120 decodes audio files and sends tiie decoded signal to an audio signal generator 121. The audio signal generator outputs the audio, for example, to ear phones 122. [0056] Player 115 also includes a button interface 119 that receives input from button 125. To request certain functionality the user uses Button 125. It is noteworthy that block 125 is intended to simply provide an example and is not intended to limit the present invention to any particular number/type of buttons or physical interface that is used by the user to request functionality. Button 125 can be used by the user to begin the enrollment/training process, according to one aspect of the present invention, as described below in detail.
[0057] Figure IE shows a block diagram for flash device 105 that interfaces with host system 100 via a USE interface. Flash device 105 conforms to the USB specification (i.e. can be accessed via a USB interface) and appears to host 100 having plural Logical Units (LUNs) of storage space and each LUN may appear to be of a different class of storage device. For example, flash device 105 may appear to have both a standard Mass Storage Class volume (LUN 0, 106E), which imitates the behavior of a SCSI Hard Disk Drive, and a MMC Class volume, which imitates the behavior of a CD-ROM (LUN 1, 106F) . [0058] Host system 100 having its own operating system views LUM 0 (106E) as a mass storage device for storing data and other information; and LUN 1 106F as a CD-ROM that can store an auto-run application code for launching an application. Hidden area 106G is secured and rray be used to store a voice print template, as discussed below. [0059] Process Flow:
[0060] Figure 2 shows a top-level flow diagram for using a flash device 105 (or Player 115, used interchangeably through out this specification and may also be referred to as a "device"), according to one aspect of the present invention. Flash device 105 is initialized in step S200. In step S201, the process determines if the device needs to be enrolled. If enrollment is needed, then the process moves to step S202, described below in detail with respect to Figure 3.
[0061] If enrollment Is not needed, then the user is authenticated in step S203, described below with respect to Figure 4. After authentication, in step S204, the user is granted access to the device, described below in detail with respect Figure 5.
[0062] If the user cannot be authenticated in szep S203, then the device is re-initialized in step S205, described below with respect to Figure 6. The process ends in step S206.
[0063] Enrollment:
[0064] The enrollment process captures a user's voice input 106D and stores it in flash memory cells 107/108 (preferably in a secured hidden area, for example, 106G, Figure IE) , according to one aspect of the present invention. A device user may be asked to repeat a password/phrase more than once to capture an accurate voice print profile in flash device 105. Multiple password phrases may be stored allowincj more than one user to access flash device 105 or if a user is concerned about remembering a specific phrase, according to one aspect of the present invention. Controller 106 receives the voice input (106D) and stores it as a template in memory cells 107/108.
[0065] Turning now in detail to Figure 3A, the enrollment process begins in step S300. The enrollment process can be performed in two ways: An application (Figure IE) is launched (in step S301) when flash device 105 interfaces with a host system (or when Player 115 is powered on for use for the firs1: time) .
[0066] Enrollment can also be initiated manually, as shown in step S302. In this case a user manually launches an application by selecting an application shown rn Figure IE or by pressing a button (125, as snown in Figure ID). [0067] The application prompts the user to repeat a phrase and in step S303, the user voice input is received by flash device 105. In seep 5304, the voice input is stored in non- volatile memory ceils 107/108. Controller 106 stores the voice input. The voice input is stored as template that is used in subsequent authentication when a user wants to access flash device 105 functionality. In one aspect, controller 106 stores and maintains the template . [0068] Figure 3B shows an example of a voice template (is also referred to as a "template") 305. Template 305 is used to authenticate a user's request to access flash device 105. Separate templates can be stored so that multiple users can securely use flash device 105. [0069] Template 305 is also associated with other passwords (referred τ.c as a password bank 313} . For example, a user may store a password 307 that allows the user to access and use application 306. Password 307 is associated with template 305. It is noteworthy that a password similar to 307 may also be used to access a host system 100 or to connect to a network via network interface 101A. [0070] A data file 308 (that may be protected by encryption 309} can be protected by a voipe-based password 311, Password 311 is also associated with template 305.
[0071] Password 312 used by a user to access a web site 310 (for example, an online banking website) can also be associated with template 305. When the user wants to access website 310, password 312 is automatically filled in because it is linked to template 305.
[0072] The password bank features are further described in detail below.
[0073] Authentication:
[0074] When flash device 105 has been secured t-.rough the enrollment process, secured authentication is used to allow access to a user. The level of access will depend on the stored passwords,
[0075] Turning in detail to Figure 4, the authentication process begins in step S400. This may occur when flash device 105 interfaces with a host system ( cτ when Player
115 is powered up) and an application is launched. In step S401, the user is requested for a voice input sample. In step S402, the user voice input 106D is captured by the microphone 106B and converted into a digital signal by an A/D converter 106A.
[0076] In step S403, the captured voice sample is compared to a voice template stored in flash memory ceils 107/108 (for example, 305) .
[0077] In step S404, flash device microcontroller 109 determines if the voice input matches with stored voice templates. The comparison is performed on the flash device 105 for security reasons. However, a software module (not shown) running on the host system; or a haidware circuit (e.g. an ASIC) can be used to perform the comparison. [0078] If the user input matches with the szoreo template then the user is granted access to flash device 105 in Step S405. In one aspect, rhe level of access may depend on the type of user. For example, certain users may be granted only "read-only" privilege, i.e., the user can only view information and is nor. allowed to modify stored content, while others are allowed to read and write. This level is set during enrollment, [0079] If the user cannot be authenticated, then the user is given an option in Step S406 to re-initiali^e flash device 105 as discussed below in Figure 6. [0080] Password Bank/Application Access /File Access: [0081] Figure 5 snows various examples of using flash device 105 with template 305. The user is first authenticated in step S5Q0,. as described above with respect to Figure 4. [0082] Steps S501-S5C4 relate to websites, steps S505-S507 relate to applications and steps S508-S510 relate to files. [0083] In step S501, the user accesses a website (for example, 310) using a computing system that interfaces with flash device 105. [0084] In step S502f the user enters a password and user name to control access to the website. In step S503, the password and user name is associated with a voice-based template (for example, 305) . When the user subsequently tries to access the same website, then the password and username associated with the template are filled in automatically (in S504) .
[0085] It is noteworthy that if a host system stores "cookies" containing user names/passwords from previous logins then the password bank based on voice input takes precedence. Furthermore, if multiple users are enrolled for flash device 105, then passwords for different users are kept separate and access is only granted to authenticated users. If a single user has multiple passwords enrolled, then the user stores che passwords/usernames multiple times based on the number of passwords/usernames. [0086] In step S505, a user accesses a compute] application (306) , for example, a WindowsΘ based application and then protects access to the application by storing an application specific password/username (307) . In step S506 the password and username are associated with template 305. In step S507, when the user subsequently wants to access the application again, the password/username is automatically retrieved because they are linked with the voice print template 305. [0087] It is noteworthy that seeps S505-S507 can be used to access a host system 100 or access a network via network interface 101A.
[0088] In step S508, a user encrypts a data file that is stored in memory cells 107/108. In step S509 a file specific voice based passphrase (keyword) is used to secure file data. The user voice input is a passphrase that is associated with a particular file/directory/sub-directory. The voice-based passphrase provides additional protection to secure data, according to one aspect of the present invention. For example, template 305 limits access to flash device 105, the encryption protects the file data at the next level, and then the voice based passphrase 310 limits access to file data in step S510. [0089] Re-initialization: [0090] Figure 6 sαows a block diagram for re-intializinσ flash device 105. In step S6Q1, the previous voice based templates are erased. In step 8602, data associated with the user may also be deleted. In one aspect, if a user is given a certain partition (segment) of storage space, then the data in that partition is also deleted, [0091] In step S603, the user again goes tnrough the enrollment process (i.e. a template or "new image" is reloaded) described above and the re-enrollment is completed in step S604. [0092] Macros:
[0093] In one aspect of the present invention, a voice-based template is associated with a control button of a portable device. For example, for a Player (115), the user can record the word "play" and the keyword play is associated with the functionality of the "play" butter. Hence, when the user says the word "play", Player 115 plays music/video. [0094] The adaptive aspects of the present invention also allow a user to create "macros" for certain functions for which there are no control buttons or for whi ch more than one button needs to be pressed. One example of such a macro is for the mute function for an audio/video player. The mute function allows a user to mute/silence the player. Typically, one either has a dedicated button or has to press more than one button to mute the player. [0095] Device Training:
[0096] For a new portable device, the user stores activation keywords and assigns the keywords to various functions. The keywords are captured via microphone 106B and once captured, a template is created and stored in memory cells 107/108. Controller 106 saves the template. The user then captures one or more button control functions (for example, "play", rewind, fast forward, pause, and others) and the button control functions are associated with the keywords and stored in non-volatile memory ceils 107/106.
[0097] It is noteworthy that instead of training the device for keywords, certain keywords can be pre-loaded in memory cells 107/108. The pre-loadeα keywords are then associated with functions, as described below.
[0098] Figure 7A shows an example of how keywords stored in memory cells are related to functions. Plural keywords
(shown as 1 to N) may be stored to perform plural functions (1 to N) .
[0099] Figure 3 shows a process flow diagram for training and using a portable device so that device functions can be performed based on voice input. In step S8C1, a user records a specific keyword. The user is enrolled and authenticated by the portable device as explained above. Αn application is launched to train and store the keywords. As stated above, the keywords can also be pre-loaded in memory cells
107/108. [0100] In step S802, controller 106 stores a voiceprint template for the keyword.
[0101] In step 8803, the template is stored ir> non-volatile memory cells. [0102] In step S804, the user captures a button control sequence for a function that the user intends to associate with the stored keyword. The button sequence can be for a function which has a dedicated button (for example, the play function) , or for which a user has to perform a button sequence (for example, to achieve the mute function, in various audio/video players one has to press more than one button/key) .
[0103] In step S805, the button control action is associated with the stored keyword. In one aspect, Controller 106 performs this function, In another aspect, a host processor may also perform this function.
[0104] In step S806, the user terminates the button sequence. Termination of a button sequence is signaled by an action that normally does not take place, for example, by holding a specific button for a pre-determined period.
">3 [0105] The foregoiPxg process steps are used to store plural keywords that are associated to plural device functions. [0106] Figure 9 shows an example, of associating the mute function to user keyword "Mure". Each device has a "Menu" option and a user selects the "Menu" opti on to begin training the device. From the Menu option, the user chooses the "Setting" option. The user then selects the "Voice Command" option that allows the user to move to the Train option. [0107] The user selects the Train option and is prompted to enter a voice command. The user says "Mute" and device 105 creates a Mute template. The user is then prompted to enter a button sequence (for example, Menu>Volume>Level 0) that can be associated with the voice command "Mate". Pressing certain buttons for certain duration (for example, the A/B repeat button for 4 seconds) terminates the sequence. [0108] Once device 105 is trained, the spoken word can be used to activate the function for which it ]3 programmed. For example, when the user says Mute, the αevice (Player 115) becomes mute.
[0109] Figure 10 shows a process flow diagram for executing device 105 functions when a user states a command with a file name for a file stored in memory cells 107/108, according to one aspect of the present indention. The process begins in step SlOOO, when player 115 receives a voice command with a file name from a user. For example, the user states vPlay Beethoven", where "play" is a command to play an audio file named "Beethoven". [OHO]In step S1002, player 115 parses the file name and creates a phonetic pattern. For example, "Beethoven" is reduced to a pattern "bee", "fho" and "ven'".
[0111] In step S1004, player 115 searches plural files that are stored in a directory in memory cells 107/108 to determine if the phonetic pattern in step SlOC 2 matches the phonetic pattern for the stored files. Player 115 creates a phonetic pattern for the stored file names either real time when it receives a command in step SlOOO or maintains a list of phonetic patterns that is updated every time a file is added. The received file name phonetic pattern (for example, bee, tho, ven) is compared with the phonetic patterns of the stored files. If there is a natch, the function is executed in step S1005. In this example, the file named "Beethoven" is played. [0112] Figure 7B shows an example of how file names with associated phonetic patterns are stored in memory cells 107/108. The files can be for audio, video or any other information . [0113] It is noteworthy that although the foregoing example is based on playing an audio file, the adaptive aspects of the present invention are not limited to playing aαdio files or to any particular file type/format or to any type of command. For example, a user can coitxmard the device to "Delete XYX". The device then deletes the file XYZ after the phonetic pattern for XYZ matches with a stored file named XYZ. [0114] In one aspect of the present invention, fewer buttons are needed to operate a device like an audio/video player (for example , an MP3 player) . The user is given an option to create voice commands for standard functions as well as custom functions. The device is user friendly and cheaper because fewer buttons are needed. [0115] While the present invention is described above with respect to what is currently consider€-d tts preferred embodiments, it is to be uncerstood that the invention is not limited to that described above. To the contrary, the invention is intended to cover various modifications and equivalent arrangements within the spirit and scope of the appended claims.

Claims

What is claimed is:
1. A portable memory storage device ("device"), comprising: a microphone for receiving a user voice input; a controller that receives the voice input and creates a template; and a plurality of non-volatile memory cells for storing the template, wherein the template is used to authenticate the user for any subsequent user request for accessing the device; and an application is launched when the device interfaces with a host system to enroll the user as an authorized user to access device functionality and access host system functionality.
2. The device of Claim 1, wherein the user manually elects to enroll to access device functionality and access host system functionality.
3. The device of Claim 1, wherein the template is associated with a password and username that the user uses to access a website, and the password and username are automatically filled when an enrolled and authenticated user subsequently attempts to access the website.
4. The device of Clain I, wherein the template is associated with a password and useriiame that the user uses to access an application,, and the password and username are automatically filled when an enrolled and authenticated user, subsequently attempts to access the application.
5. The device of Clain 1, wherein the template is associated with another user voice based keyword, wherein the keyword is used to allow the user to access a data file.
6. The device of Claim 5, wherein the date file is encrypted and stored in the non-volatile memory cells.
7. The device of Claim 1, wherein the template is associated with a password and username that the user uses to access the host system; and the password and username are automatically filled when an enrolled and authenticated user subsequently attempts to access the host system.
8. The device of Claim 1, wherein the template is associated with a password and username that the user uses to access a network and the password and username are automatically filled when an enrolled and authenticated user, subsequently attempts to access the network.
9. The device of Claim 1, wherein plural voice inputs are stored as a template, allowing the user tc store plural passwords tc access the device.
10. The device of Claim 1, wherein plural user voice inputs are stored in plural templates, allowing plural users to be enrolled so that: the plural users can securely access the device.
11. The device of Claim 1, wherein the template is stored in a secured area of the non-volatile memory ceils.
12. The device of Claim 1, wherein when the device interfaces with the host system, an application is launched to authenticate the user by receiving a vo Lee input from the user and comparing the voice input with the template and after the user is authenticated, the host system is allowed access information stored in the device.
13. The device of Claim 1, wherein if an unauthorized user attempts to access the device, the device is re-initialized and during re-initialization, the template and any data associated with the user is erased.
14. The device of Claim 1, wherein the portable memory storage device is an audio/viαeo player with non-volatile memory.
15. A system for providing access to a host system functionality and portable memory storage device ("device") functionality, comprising: a processor for the host system; and the device comprising: a microphone for receiving a user voice input; a controller that receives the voice input and creates a template; and a plurality of non-vclatile memory cells for storing the template, wherein the template is used to authenticate the user for any subsequent user request for accessing the device, and an application is launched when the device interfaces with the host system to enroll the user as an authorized user to access device functionality and access host system functionality.
16. The system of Claim 15, wherein the user manually elects to enroll, to access device functionality and access host system functionality.
17. The system of Claim 15, wherein the template is associated with a password and username that the user uses to access a website, and the password and username are automatically filled when an enrolled and authenticated user subsequently attempts to access the website.
18. The system of Claim 15, wherein the template is associated with a password and username that the user uses to access an application, and the password and username are automatically filled when an enrolled and authenticated user, subsequently attempts to access the application.
19. The system of Claim 15, wherein the template is associated with another user voice based keyword, wherein the keyword is used to allow the user to access a data file.
20. The system of Claim 19, wherein the data file is encrypted and stored in the non-volatile memory cells.
21. The system of Claim 15, wherein the template is associated with a password and username that the user uses to access the host system; and the password and username are automatically filled when an enrolled and authenticated user, subsequently attempts to access the host system.
22. The system of Claim 15, wherein the template is associated with a password and username that the user uses to access a network; and the password and username are automatically filled when an enrolled and authenticated user, subsequently attempts to access the network,
23. The system of Claim 15, wherein plural voice inputs are stored as a template, allowing the user to store plural passwords to access the device.
24. The system of Claim 15, wherein plural user voice inputs are stored in plural templates, allowing plural users to be enrolled so that the plural users can securely access the device.
25. The system of Claim 15, wherein the template is stored in a secured area of the non-volatile memory cells.
26. The system of Claim 15, wherein when the device interfaces with the host system, an application is launched to authenticate the user by receiving a voice input from the user and comparing the voice input with the template; and after the user is authenticated, the host system is allowed access to information stored in the device.
27. The system of Claim 15, wherein if an unauthorized user attempts to access the devrice, the device is reinitialized; and during re-initialization the template and any data associated with the user is erased.
28. The system of Claim 15, wherein the portable memory storage device is an audio/video player with non-volatile memory cells.
29. A method for a portable memory storage device ("device") , comprising: enrolling the device after the device interfaces with a hosr system and an application is launched that requests a user to provide voice input; receiving the user voice input and storing the voice input as a template for subsequent user access; wherein the template is stored in non-volatile1 memory cells of the device; and authenticating a user by receiving user voice input and comparing the voice input with the stored template, wherein access to user files is provided after the user is authenticated.
30. The method of Claim 29, further comprising: associatinq a user password and user name to access a website and an application; and automatically filling the password and user name after the user is authenticated and the user attempts to access the website and application.
31. The method of Claim 29, further comprising; associating a user voice input to a file and storing the voice input in non-volatile memory cells, wherein the voice input is used by the device to allow an authenticated user, access to the file.
32. The method of Claim 31, wherein the file is encrypted.
33. The method of Claim 29, wherein the user manually selects an application to enroll the user zo access device functionality and access host system functionality.
34. The method of Claim 29, wierein plural voice inputs are stored as a template, allowing a user to score plural passwords to access the device.
35. The method of Claim 29, wherein plural user voice inputs are stored in plural templates, allowing plural users to be enrolled, so that the plural users can securely access the device.
36. The method of Claim 29, wherein the template is stored in a secured area of the non-volatile memory cells.
37. The method of Claim 29, wherein if an unauthorized user attempts to access the device, the device is re-initialized; and during re-initialization the template and any data associated with the user is erased.
38. The method of Claim 29, wherein the portable memory storage device is an audio/video player with non-volatile memory cells.
3D
PCT/US2006/062342 2005-12-21 2006-12-19 Voice controlled portable memory storage device WO2007079359A2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US11/314,522 US7917949B2 (en) 2005-12-21 2005-12-21 Voice controlled portable memory storage device
US11/314,933 2005-12-21
US11/314,933 US8161289B2 (en) 2005-12-21 2005-12-21 Voice controlled portable memory storage device
US11/314,522 2005-12-21

Publications (2)

Publication Number Publication Date
WO2007079359A2 true WO2007079359A2 (en) 2007-07-12
WO2007079359A3 WO2007079359A3 (en) 2008-12-04

Family

ID=38228927

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2006/062342 WO2007079359A2 (en) 2005-12-21 2006-12-19 Voice controlled portable memory storage device

Country Status (2)

Country Link
TW (1) TWI338245B (en)
WO (1) WO2007079359A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8161289B2 (en) 2005-12-21 2012-04-17 SanDisk Technologies, Inc. Voice controlled portable memory storage device
US9311546B2 (en) 2008-11-28 2016-04-12 Nottingham Trent University Biometric identity verification for access control using a trained statistical classifier
US10257191B2 (en) 2008-11-28 2019-04-09 Nottingham Trent University Biometric identity verification

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081782A (en) * 1993-12-29 2000-06-27 Lucent Technologies Inc. Voice command control and verification system
US6246987B1 (en) * 1998-02-04 2001-06-12 Alcatel Usa Sourcing, L.P. System for permitting access to a common resource in response to speaker identification and verification
US6510415B1 (en) * 1999-04-15 2003-01-21 Sentry Com Ltd. Voice authentication method and system utilizing same
US6519479B1 (en) * 1999-03-31 2003-02-11 Qualcomm Inc. Spoken user interface for speech-enabled devices
US6651168B1 (en) * 1999-01-29 2003-11-18 International Business Machines, Corp. Authentication framework for multiple authentication processes and mechanisms

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6081782A (en) * 1993-12-29 2000-06-27 Lucent Technologies Inc. Voice command control and verification system
US6246987B1 (en) * 1998-02-04 2001-06-12 Alcatel Usa Sourcing, L.P. System for permitting access to a common resource in response to speaker identification and verification
US6651168B1 (en) * 1999-01-29 2003-11-18 International Business Machines, Corp. Authentication framework for multiple authentication processes and mechanisms
US6519479B1 (en) * 1999-03-31 2003-02-11 Qualcomm Inc. Spoken user interface for speech-enabled devices
US6510415B1 (en) * 1999-04-15 2003-01-21 Sentry Com Ltd. Voice authentication method and system utilizing same

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8161289B2 (en) 2005-12-21 2012-04-17 SanDisk Technologies, Inc. Voice controlled portable memory storage device
US9311546B2 (en) 2008-11-28 2016-04-12 Nottingham Trent University Biometric identity verification for access control using a trained statistical classifier
US10257191B2 (en) 2008-11-28 2019-04-09 Nottingham Trent University Biometric identity verification

Also Published As

Publication number Publication date
TWI338245B (en) 2011-03-01
WO2007079359A3 (en) 2008-12-04
TW200813808A (en) 2008-03-16

Similar Documents

Publication Publication Date Title
US7917949B2 (en) Voice controlled portable memory storage device
US20070143117A1 (en) Voice controlled portable memory storage device
US10565383B2 (en) Method and apparatus for secure credential entry without physical entry
TWI417732B (en) Memory device with near field communications, method of communicating wireless network settings between devices, and universal serial bus flash drive related therewith
TWI326427B (en) Biometrics signal input device, computer system having the biometrics signal input device, and control method thereof
KR102453780B1 (en) Apparatuses and methods for securing an access protection scheme
US9009816B2 (en) Removable memory storage device with multiple authentication processes
US20050097338A1 (en) Biometrics parameters protected USB interface portable data storage device with USB interface accessible biometrics processor
US20020073340A1 (en) Secure mass storage device with embedded biometri record that blocks access by disabling plug-and-play configuration
JP2006092547A (en) Computer system with basic input-output system and control method thereof
TW200939068A (en) Method and system of digital key
US8161289B2 (en) Voice controlled portable memory storage device
US20050235364A1 (en) Authentication mechanism permitting access to data stored in a data processing device
US7620761B2 (en) Multi-functional storage apparatus and control method thereof
US20070143111A1 (en) Voice controlled portable memory storage device
KR20020087202A (en) Computer
WO2007079359A2 (en) Voice controlled portable memory storage device
US20050154894A1 (en) Access protection
US20030208698A1 (en) Plug and play device and access control method therefor
WO2007079357A2 (en) Voice controlled portable memory storage device
JP2007122731A (en) Hard disk apparatus with biometrics sensor and method of protecting data therein
JP2007095022A5 (en)
AU2021101257A4 (en) Usb: auto data store your gmail and link share your mobile no.) using ai- based programming
US20080244163A1 (en) Portable data access device
TWI292125B (en)

Legal Events

Date Code Title Description
NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06849091

Country of ref document: EP

Kind code of ref document: A2