IP Library Granted Patent US 8,180,931
Granted Patent B2
US 8,180,931 · App. 12/651,334 · Granted May 15, 2012

USB-attached-SCSI flash-memory system with additional command, status, and control pipes to a smart-storage switch

Assignee: Super Talent Electronics, Inc.
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 8,180,931
App. No.
12/651,334
Granted
May 15, 2012
Kind
B2
Abstract

An electronic flash-memory card has additional pipes for commands and status messages so that data pipes are not clogged with commands and status messages, allowing for a higher data throughput. The command and status pipes are activated when a UAS/BOT detector detects that a host is using a USB-Attached-SCSI (UAS) mode rather than a Bulk-Only-Transfer (BOT) mode. The host can send additional commands and data without waiting for completion of a prior command when operating in UAS mode but not while operating in BOT mode. A command queue (CQ) in the device re-orders commands for accessing flash memory and merges data in a RAM buffer. Smaller 1 KB USB packets in the data pipes are merged into larger 8 KB payloads in the RAM buffer, allowing for more efficient flash access.

Claims (41)

1. A USB-Attached-SCSI (UAS) and Bulk-Only-Transfer (BOT) flash-memory card comprising:

a Universal-Serial-Bus (USB) connector for connecting to a host;

a physical layer, coupled to the USB connector, for generating and receiving physical signals through the USB connector;

a data link layer, coupled to the physical layer, for arranging data packets in a sequence sent through the USB connector;

a protocol layer, coupled to the data link layer, for extracting data and commands from data packets received through the USB connector, and for sending data and status messages through the USB connector;

a UAS/BOT detector for signaling a UAS mode when a UAS identifier and a UAS operation code are detected in a command received by the protocol layer;

a data-out pipe, coupled to receive data packets from the protocol layer, for storing data packets received from the host through the USB connector;

a data-in pipe, coupled to send data packets to the protocol layer, for storing data packets for transmission to the host through the USB connector;

a command pipe, coupled to receive commands from the protocol layer when the UAS mode is signaled, for storing commands received from the host through the USB connector when operating in UAS mode; and

a status pipe, coupled to send status messages commands to the protocol layer when the UAS mode is signaled, for storing status messages for transmission to the host through the USB connector when operating in UAS mode;

wherein the data-out pipe is further for storing commands when the UAS mode is not signaled and the UAS/BOT flash memory device is operating in a BOT mode;

wherein the data-in pipe is further for storing status messages when the UAS mode is not signaled and the UAS/BOT flash memory device is operating in the BOT mode,

whereby commands are stored in the command pipe when the UAS mode is signaled, and are stored in the data-out pipe when the UAS mode is not signaled.

2. The UAS and BOT flash-memory card of claim 1 further comprising:

a smart storage switch for controlling a plurality of Non-Volatile Memory Devices (NVMD) that store data, the smart storage switch receiving the data packets stored in the data-out pipe and writing data to the plurality of NVMD in response to a write command, and the smart storage switch reading data from the plurality of NVMD and sending the data packets to the data-in pipe and in response to a read command.

3. The UAS and BOT flash-memory card of claim 2 further comprising:

a random-access memory (RAM) buffer, coupled between the smart storage switch and the data-in pipe and the data-out pipe, the RAM buffer for buffering data packets for transfer to the smart storage switch.

4. The UAS and BOT flash-memory card of claim 3 wherein data packets written to the RAM buffer from the data-out pipe are merged into a data payload that is sent to the smart storage switch;

wherein the RAM buffer receives data payloads from the smart storage switch, and writes data packets to the data-in pipe;

wherein the data payloads have a maximum capacity that is at least 8 times a maximum capacity of the data packets,

whereby larger data payloads are transferred to and from the smart storage switch.

5. The UAS and BOT flash-memory card of claim 4 further comprising:

a control pipe, coupled to the protocol layer, for storing control messages sent through the USB connector from the host, and for sending the control messages to the smart storage switch.

6. The UAS and BOT flash-memory card of claim 4 further comprising:

a command/status buffer, in a RAM containing the RAM buffer, for storing commands for transfer from the command pipe and for storing status messages for transfer to the status pipe;

wherein commands and status messages are buffered by the command/status buffer for transfer to the smart storage switch.

7. The UAS and BOT flash-memory card of claim 4 further comprising:

an encryptor/decryptor, in the smart storage switch, for encrypting data in data payloads before writing the data payloads to the plurality of NVMD, and for decrypting data payloads read from the plurality of NVMD before transfer to the RAM buffer.

8. The UAS and BOT flash-memory card of claim 4 wherein the commands stored in the command pipe contain a starting logical block address (LBA) and a data transfer length;

wherein the smart storage switch sends a modified LBA to the plurality of NVMD, wherein the modified LBA is the starting LBA that is re-mapped by the smart storage switch,

whereby the smart storage switch re-maps LBA's.

9. The UAS and BOT flash-memory card of claim 8 further comprising:

a command queue, coupled to the protocol layer, for storing commands sent by the host over the USB connector, the command queue storing the starting LBA and data transfer length for recent commands to identify data dependencies;

wherein an execution order of commands in the command queue is re-ordered for processing by the smart storage switch relative to an order received from the host,

whereby commands are reordered.

10. The UAS and BOT flash-memory card of claim 4 wherein the UAS/BOT detector signals BOT mode when the host connected to the USB connector is a USB version 2.0 host that does not support USB version 3.0 data packets.

11. The UAS and BOT flash-memory card of claim 4 wherein the plurality of NVMD are connected to the smart storage switch using a Serial AT-Attachment (SATA) bus,

wherein the plurality of NVMD are SATA NVMD.

12. The UAS and BOT flash-memory card of claim 4 wherein the plurality of NVMD are arranged into multiple channels that are simultaneously accessible by the smart storage switch.

13. The UAS and BOT flash-memory card of claim 4 wherein the data payloads are stored redundantly in the plurality of NVMD in a Redundant Array of Individual Disks (RAID) configuration,

wherein the smart storage switch further comprises a RAID controller for redundantly dispatching data to the plurality of NVMD.

Assignments (2)
CHANGE OF NAME Recorded Mar 27, 2014
From: SUPER TALENT ELECTRONIC, INC.
To: SUPER TALENT TECHNOLOGY, CORP.
Reel/Frame 032540/0565 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2010
From: YU, FRANK; MA, ABRAHAM C.; LEE, CHARLES C.
To: SUPER TALENT ELECTRONICS, INC.
Reel/Frame 025034/0488 →
Continuity (18)
Continuation In Part 12254428 · Oct 20, 2008
Continuation In Part 10803597 · Mar 17, 2004
Continuation In Part 11377235 · Mar 15, 2006
Continuation In Part 11466759 · Aug 23, 2006
Continuation In Part 11685143 · Mar 12, 2007
Continuation In Part 12347306 · Dec 31, 2008
Continuation In Part 11926636 · Oct 29, 2007
Continuation In Part 12576216 · Oct 8, 2009
Continuation In Part 12124081 · May 20, 2008
Continuation In Part 11927549 · Oct 29, 2007
Continuation In Part 11876597 · Oct 22, 2007
Continuation In Part 11874767 · Oct 18, 2007
Continuation In Part 11866927 · Oct 3, 2007
Continuation In Part 11864696 · Sep 28, 2007
Continuation In Part 10761853 · Jan 20, 2004
Continuation In Part 10789333 · Feb 26, 2004
Continuation In Part 11623863 · Jan 17, 2007
Related Publication 20100122021A1 · May 13, 2010