# US 7,610,409 B2 · Method for transporting data through universal serial bus and universal serial bus device

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,610,409 B2
- Document ID: US7610409B2
- Status: Granted
- Kind: B2
- Application number: 11/339,173
- Filed: 2006-01-24
- Published: 2006-12-14
- Granted: 2009-10-27
- Earliest claimed: 2005-06-08
- Assignees: Feitian Technologies Co., Ltd.
- Inventors: Yu Huang; Zhou Lu; Fan Chen
- Web page: https://patentgrep.com/patent/US7610409B2

## CPC

- G06F 13/385: {for adaptation of a particular data processing system to different peripheral devices}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A Universal Serial Bus data transport method and its device is disclosed. Data transport is performed through a high-speed transport technique based on a Universal Serial Bus, which consists of Universal Serial Bus protocol for communication between the device and the host, and SCSI protocol for interaction between the device and the upper driver layer. A data transport device using the Universal Serial Bus thus uses the embedded driver inside the operating system, which may be self-loaded/self-initialized, and have high data transport speed, and convenient to use.

## Claims

### Claim 1

A method for transporting data between a host and a Universal Serial Bus device through Universal Serial Bus, comprising:
initializing the Universal Serial Bus device;
sending commands from the host to the Universal Serial Bus device;
parsing and processing the commands by the Universal Serial Bus device; and
responding to an application of the host by the Universal Serial Bus device;
wherein, when the host sends the commands to the Universal Serial Bus device, the host converts the commands into Small Computer System Interface (SCSI) commands through a SCSI protocol, encapsulates the SCSI commands into a Universal Serial Bus command package, and transfers data through a Universal Serial Bus protocol;
no disk letter is generated for the Universal Serial Bus device at the host;
the step of parsing and processing the commands by the Universal Serial Bus device comprises:
processing a Universal Serial Bus data package that contains the SCSI commands by the Universal Serial Bus device; and
parsing the Universal Serial Bus data package into a user data package, and executing related commands based on the user data package by the Universal Serial Bus device;
the related commands, when being executed, implement a function of data processing;
the data processing includes customized data processing and standard data processing, the standard data processing including processing data through at least one encryption/decryption algorithm; and
the related commands are executed by implementing only a part of the SCSI protocol without considering offset and length information and by considering only a DataBuf field, which includes user data returned by the Universal Serial Bus device after an operating system sends the related commands to the Universal Serial Bus device.

### Claim 2 (depends on 1)

The method of claim 1, wherein an operating system of the host controls the host to communicate with the Universal Serial Bus device directly.

### Claim 3 (depends on 1)

The method of claim 1, wherein the Universal Serial Bus protocol is a Universal Serial Bus bulk data transport protocol.

### Claim 4 (depends on 3)

The method of claim 3, wherein the Universal Serial Bus bulk data transport protocol is implemented by:
sending device descriptors;
sending configuration descriptors;
sending character string descriptors; and
performing device communication.

### Claim 5 (depends on 1)

The method of claim 1, wherein the SCSI commands include INQUIRY command, and READCAPS command.

### Claim 6 (depends on 1)

The method of claim 1, wherein the step of sending commands from the host to the Universal Serial Bus device comprises:
sending the commands by the application of the host through a device object to input/output data;
converting basic commands into the SCSI commands by a device driver of the operating system; and
converting the SCSI commands into the Universal Serial Bus data package by the device driver of the operating system.

### Claim 7 (depends on 1)

The method of claim 1, wherein the method is applied to information security or software protection.

### Claim 8 (depends on 1)

The method of claim 1, wherein the Universal Serial Bus device is authenticated and authorized through commands and data contained in the user data package.

### Claim 9 (depends on 1)

The method of claim 1, wherein the related commands include READ10 and WRITE10.

### Claim 10 (depends on 1)

The method of claim 1, wherein the Universal Serial Bus device includes code fragments configured so that all data and memory information generated during execution of the code fragments is guaranteed to be retained in the Universal Serial Bus device and only results of the execution are returned to the host.

### Claim 11

A Universal Serial Bus device comprising:
a Central Processing Unit (CPU), for running firmware and user programs;
a Universal Serial Bus interface chip, for communicating between the Universal Serial Bus device and a host; and
a memory, for storing firmware, user data, algorithms and other information;
wherein the CPU is connected with the Universal Serial Bus interface chip and the memory, and is configured to process a Universal Serial Bus data package that is transported from the host and contains Small Computer System Interface (SCSI) commands converted by the host, parse the Universal Serial Bus data package into a user data package, and execute related commands based on the user data package;
the Universal Serial Bus device is configured so that no disk letter is generated for the Universal Serial Bus device at the host when the Universal Serial Bus device is connected to the host;
the related commands, when being executed by the CPU, implement a function of data processing; and
the data processing includes customized data processing and standard data processing, the standard data processing including processing data through at least one encryption/decryption algorithm; and
the related commands are executed by implementing only a part of a SCSI protocol without considering offset and length information and by considering only a DataBuf field, which includes user data returned by the Universal Serial Bus device after an operating system coupled to the device sends the related commands to the Universal Serial Bus device.

### Claim 12 (depends on 11)

The Universal Serial Bus device of claim 11, wherein the CPU, the Universal Serial Bus interface chip and the memory are integrated into an integrated Micro Controller Unit (MCU) chip.

### Claim 13 (depends on 12)

The Universal Serial Bus device of claim 12, wherein the MCU chip is designed securely, and includes a smart card chip.

### Claim 14 (depends on 11)

The Universal Serial Bus device of claim 11, wherein the CPU and the memory are integrated into an integrated MCU chip.

### Claim 15 (depends on 11)

The Universal Serial Bus device of claim 11, wherein the CPU is a single chip processor; and the memory includes at least one of Random Access Memory (RAM), Read Only Memory (ROM), Erasable Programmable Read Only Memory (EPROM), Electrically Erasable Programmable Read Only Memory (EEPROM) and flash memory.

### Claim 16 (depends on 11)

The Universal Serial Bus device of claim 11, wherein the Universal Serial Bus device is authenticated and authorized through commands and data contained in the user data package.

### Claim 17 (depends on 11)

The Universal Serial Bus device of claim 11, wherein the related commands include READ10 and WRITE10.

### Claim 18 (depends on 11)

The Universal Serial Bus device of claim 11, further comprising code fragments configured so that all data and memory information generated during execution of the code fragments is guaranteed to be retained in the Universal Serial Bus device and only results of the execution are returned to the host.
