IP Library Granted Patent US 7,725,628
Granted Patent B1
US 7,725,628 · App. 11/110,612 · Granted May 25, 2010

Direct secondary device interface by a host

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,725,628
App. No.
11/110,612
Granted
May 25, 2010
Kind
B1
Abstract

A storage system having a storage device in communication with a host and including one or more function devices for communicating with application software modules, in accordance with an embodiment of the present invention. Said application software modules issuing vendor specific commands to access said function devices, said function devices remaining unknown to said host and recognizing said vendor specific commands for acting thereupon, wherein said storage device causing said application software modules to access said function devices to increase the security of said storage device.

Claims (65)

1. A storage system for storing information comprising:

a storage device, the storage device comprising:

a controller device; and

a sensor in communication with the controller device as a result of the controller device receiving pass-through vendor specific commands;

wherein the controller device is configured to receive the pass-through vendor specific commands from an application software module of a host when the controller device is placed in communication with the application software module through a driver module of the host, the driver module coupled to the controller device through a Universal Standard Bus (USB) interface;

wherein the controller device is configured to strip data contained in the pass-through vendor specific commands that is intended for the sensor from the pass-through vendor specific commands and to send the stripped data to the sensor; and

wherein the sensor is unknown to the driver module of the host and is configured to recognize the stripped data for acting thereupon.

2. A storage system as recited in claim 1 wherein said host having an operating system for causing performance of tasks by said host.

3. A storage system as recited in claim 1 wherein said storage device further including a memory unit, said memory unit including one or more flash memory units for storing information received from said controller device.

4. A storage system as recited in claim 1 wherein said storage device further including a memory unit, said memory unit including one or more nonvolatile memory units for storing information received from said controller device.

5. A storage device as recited in claim 4 wherein the sensor is a fingerprint sensor for detecting a human fingerprint when a tip of a finger is swiped over the sensor, said sensor causing storage of fingerprint information in said memory unit through said application software module and said controller device.

6. A storage system as recited in claim 5 wherein said sensor being coupled to said controller device through a Serial Peripheral Interface (SPI) interface for communication therebetween.

7. A storage system as recited in claim 6 wherein said sensor is coupled to said driver module via an interface going through said controller device.

8. A storage system as recited in claim 1 wherein said driver module causing said application software module to communicate with said controller device by converting high-level software language to a low-level language comprehensible to the hardware included in said controller device.

9. A storage system as recited in claim 1 wherein said controller device remaining known to said host by being mapped in a memory map of said host.

10. A storage device as recited in claim 5 wherein said host being a personal computer (PC), said driver module being a Universal Standard Bus (USB) mass storage driver, said controller device being a USB controller, said application software module being an application software module for fingerprint matching and authentication programs.

11. A storage system as recited in claim 1 wherein said storage device being physically included in said host.

12. A storage system as recited in claim 1 wherein the sensor remains known to said application software module and said controller device, said pass-through vendor specific commands being known to said controller device and the sensor, the sensor reacting to the data stripped from the pass-through vendor specific commands.

13. A storage system as recited in claim 10 wherein said application software module issues a read command to said controller device for causing said sensor to read fingerprint information, said read command including a parameter specifying a size of data to be returned.

14. A storage system as recited in claim 13 wherein said controller device transferring a program to be used by said driver module to said host to be loaded onto said driver module.

15. A storage system as recited in claim 14 wherein said application software module executes application software for causing fingerprint information to be used as a password.

16. A storage device as recited in claim 5 wherein said sensor transfers information gathered from a fingerprint mechanism to said controller device for transferring the same to said application software module.

17. A storage system as recited in claim 1 wherein said pass-through vendor specific commands remaining unknown to third parties to protect the information gathered by said sensor from manipulation by third parties.

18. A method for storing information comprising:

receiving a pass-through vendor specific command at a controller device of a storage device from an application software module of a host through a driver module of the host;

stripping from the pass-through vendor specific command, at the controller device, data intended for a sensor of the storage device, the sensor in communication with the controller device as a result of the controller device receiving the pass-through vendor specific command;

sending the data stripped from the pass-through vendor specific command to the sensor; and

acting upon, at the sensor, the data stripped from the pass-through vendor specific command;

wherein the sensor is unknown to the driver module of the host; and

wherein the driver module is coupled to the controller device through a Universal Standard Bus (USB) interface.

19. A storage system for storing information comprising:

means for receiving a pass-through vendor specific command at a controller device of a storage device from an application software module of a host through a driver module of the host;

means for stripping from the pass-through vendor specific command, at the controller device, data intended for a sensor of the storage device, the sensor in communication with the controller device as a result of the controller device receiving the pass-through vendor specific command;

means for sending the data stripped from the pass-through vendor specific command to the-sensor; and

means for acting upon, at the sensor, the data stripped from the pass-through vendor specific command;

wherein the sensor is unknown to the driver module of the host; and

wherein the driver module is coupled to the controller device through a Universal Standard Bus (USB) interface.

20. A computer readable medium having stored therein computer readable program code for causing a storage device to perform a method, comprising:

receiving a pass-through vendor specific command at a controller device of a storage device from an application software module of a host through a driver module of the host;

stripping from the pass-through vendor specific command, at the controller device, data intended for a sensor of the storage device, the sensor in communication with the controller device as a result of the controller device receiving the pass-through vendor specific command;

sending the data stripped from the pass-through vendor specific command to the sensor; and

acting upon, at the sensor, the data stripped from the pass-through vendor specific command;

wherein the sensor is unknown to the driver module of the host; and

wherein the driver module is coupled to the controller device through a Universal Standard Bus (USB) interface.

21. A storage system for storing information comprising:

a storage device, the storage device comprising:

a controller device;

one or more function devices in communication with the controller device as a result of the controller device receiving pass-through vendor specific commands;

wherein the controller device is configured to receive a pass-through vendor specific command from an application software module of a host when the controller device is placed in communication with the application software module through a driver module of the host, wherein the controller device is configured to be coupled to the driver module through an interface that is configured in accordance with a standard that does not allow communication to occur between the driver module and the one or more function devices; and

wherein the controller device is configured to strip data associated with the pass-through vendor specific command that is intended for the one or more function devices and to send the stripped data to the one or more function devices;

wherein the one or more function devices are unknown to driver module of the host and are configured to receive the stripped data.

22. A method for storing information comprising:

receiving a pass-through vendor specific command at a controller device of a storage device from an application software module of a host through a driver module of the host;

stripping, at the controller device, data intended for a function device of the storage device, the data being associated with the pass-through vendor specific command and the function device being in communication with the controller device as a result of the controller device receiving the pass-through vendor specific command;

sending the stripped data to the function device; and

acting upon, at the function device, the stripped data;

wherein the function device is unknown to the driver module of the host; and

wherein the driver module is coupled to the controller device through an interface that is configured in accordance with a standard that does not allow communication to occur between the driver module and the function device.

23. A storage system for storing information comprising:

means for receiving a pass-through vendor specific command at a controller device of a storage device from an application software module of a host through a driver module of the host;

means for stripping, at the controller device, data intended for a function device of the storage device, the data being associated with a pass-through vendor specific command and the function device being in communication with the controller device as a result of the controller device receiving that pass-through vendor specific command;

means for sending the stripped data to the function device; and

means for acting upon, at the function device, the stripped data;

wherein the function device is unknown to the driver module of the host; and

wherein the driver module is configured to be coupled to the controller device through an interface that is configured in accordance with a standard that does not allow communication to occur between the driver module and the function device.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Nov 12, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
Reel/Frame 051028/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050937/0001 →
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 047243/0001 →
SECURITY INTEREST Recorded Jul 13, 2018
From: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 047540/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Jun 8, 2017
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 043079/0001 →
PATENT SECURITY AGREEMENT Recorded Jun 2, 2016
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 038954/0001 →
SECURITY INTEREST Recorded May 12, 2016
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038669/0001 →
MERGER Recorded Mar 25, 2011
From: LEXAR MEDIA, INC.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 026024/0131 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2005
From: PHAN, ANSON BA; BECKMANN, JERROLD ALLEN
To: LEXAR MEDIA, INC
Reel/Frame 016191/0272 →