Flash card reader and data exchanger utilizing low power extended USB protocol without polling
First Claim
1. A portable universal serial bus (USB) data exchanger device, comprising:
- at least one flash memory chip having a multi-level cell (MLC) memory array;
a flash memory controller coupled to the at least one flash memory chip, the flash memory controller having a USB on-the-go (OTG) capability and controlling reading and writing of the flash memory chip;
a first EXTENDED USB (EUSB) connector coupled to the flash memory controller to be coupled to an external host;
a second EUSB connector coupled to the flash memory controller to be coupled to a slave USB device, wherein the flash memory controller having the OTG capability enables the portable USB data exchanger to operate as at least one of a USB storage device having the at least one flash memory chip attached therein with respect to the external host via the first EUSB connector and a host with respect to the slave USB device coupled to the second EUSB connector,wherein the flash memory controller is configured to communicate with the external host via the first EUSB connector when operating as a USB storage device without having the external host to poll the portable USB data exchanger in order to determine an operating status of the portable USB data exchanger,wherein the flash memory controller is configured to communicate with a slave USB device when operating as a host via the second EUSB connector without having the portable USB data exchanger to poll the slave USB device in order to determine an operating status of the slave USB device, andwherein the flash memory controller is configured toenable a host to send a request to a USB device for receiving predetermined blocks of data from the USB device,in response to the request, enable the USB device to reply with a positive acknowledgement (ACK) and to send a first block of data to the host,in response to the first block of data received from the USB device, enable the host to request a next block of data,if the USB device is not ready, the USB device is to reply with a negative acknowledgement (NACK) indicating that the USB device is not ready to send further data,in response to the NACK, enable the host to suspend requesting for further data,subsequently when the USB device is ready, enable the USB device to send a ready signal (RDY) to the host indicating that the USB device is ready to send further data, andenable the host to reply an ACK to the USB device to receive further data until all of the predetermined blocks of data have been received,wherein the portable data exchanger is capable of operating as at least one of a host and a slave USB device,wherein when the portable data exchanger operates as a slave USB device, the host is an external host coupled to the first EUSB connector and the USB device is part of the portable data exchanger having at least one flash memory chip, andwherein when the portable data exchanger operates as a slave USB device, the host is part of the portable USB data exchanger and the USB device is an external slave USB device coupled to the second EUSB connector.
3 Assignments
0 Petitions
Accused Products
Abstract
A portable universal serial bus (USB) data exchanger device is described herein. In one embodiment, the portable USB data exchanger includes at least one flash memory chip having a multi-level cell (MLC) memory array, a flash memory controller coupled to the at least one flash memory chip, the flash memory controller having a USB on-the-go (OTG) capability and controlling reading and writing of the flash memory chip, a first extended USB (EUSB) connector coupled to the flash memory controller to be coupled to a host, and a second EUSB connector coupled to the flash memory controller to be coupled to a slave USB device. The Portable USB data exchanger can communicate with either a host or a slave USB device without polling. Other methods and apparatuses are also described.
90 Citations
10 Claims
-
1. A portable universal serial bus (USB) data exchanger device, comprising:
-
at least one flash memory chip having a multi-level cell (MLC) memory array; a flash memory controller coupled to the at least one flash memory chip, the flash memory controller having a USB on-the-go (OTG) capability and controlling reading and writing of the flash memory chip; a first EXTENDED USB (EUSB) connector coupled to the flash memory controller to be coupled to an external host; a second EUSB connector coupled to the flash memory controller to be coupled to a slave USB device, wherein the flash memory controller having the OTG capability enables the portable USB data exchanger to operate as at least one of a USB storage device having the at least one flash memory chip attached therein with respect to the external host via the first EUSB connector and a host with respect to the slave USB device coupled to the second EUSB connector, wherein the flash memory controller is configured to communicate with the external host via the first EUSB connector when operating as a USB storage device without having the external host to poll the portable USB data exchanger in order to determine an operating status of the portable USB data exchanger, wherein the flash memory controller is configured to communicate with a slave USB device when operating as a host via the second EUSB connector without having the portable USB data exchanger to poll the slave USB device in order to determine an operating status of the slave USB device, and wherein the flash memory controller is configured to enable a host to send a request to a USB device for receiving predetermined blocks of data from the USB device, in response to the request, enable the USB device to reply with a positive acknowledgement (ACK) and to send a first block of data to the host, in response to the first block of data received from the USB device, enable the host to request a next block of data, if the USB device is not ready, the USB device is to reply with a negative acknowledgement (NACK) indicating that the USB device is not ready to send further data, in response to the NACK, enable the host to suspend requesting for further data, subsequently when the USB device is ready, enable the USB device to send a ready signal (RDY) to the host indicating that the USB device is ready to send further data, and enable the host to reply an ACK to the USB device to receive further data until all of the predetermined blocks of data have been received, wherein the portable data exchanger is capable of operating as at least one of a host and a slave USB device, wherein when the portable data exchanger operates as a slave USB device, the host is an external host coupled to the first EUSB connector and the USB device is part of the portable data exchanger having at least one flash memory chip, and wherein when the portable data exchanger operates as a slave USB device, the host is part of the portable USB data exchanger and the USB device is an external slave USB device coupled to the second EUSB connector. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A portable universal serial bus (USB) data exchanger device, comprising:
-
at least one flash memory chip having a multi-level cell (MLC) memory array; a flash memory controller coupled to the at least one flash memory chip, the flash memory controller having a USB on-the-go (OTG) capability and controlling reading and writing of the flash memory chip; a first EXTENDED USB (EUSB) connector coupled to the flash memory controller to be coupled to an external host; a second EUSB connector coupled to the flash memory controller to be coupled to a slave USB device, wherein the flash memory controller having the OTG capability enables the portable USB data exchanger to operate as at least one of a USB storage device having the at least one flash memory chip attached therein with respect to the external host via the first EUSB connector and a host with respect to the slave USB device coupled to the second EUSB connector, wherein the flash memory controller is configured to communicate with the external host via the first EUSB connector when operating as a USB storage device without having the external host to poll the portable USB data exchanger in order to determine an operating status of the portable USB data exchanger, wherein the flash memory controller is configured to communicate with a slave USB device when operating as a host via the second EUSB connector without having the portable USB data exchanger to poll the slave USB device in order to determine an operating status of the slave USB device, and wherein the flash memory controller is configured to enable a host to send a request to a USB device for sending a predetermined blocks of data to the USB device, enable the host to start sending a first block of data to the USB device, enable the USB device to reply with a positive acknowledgement (ACK) to the host, indicating that the first block of data has been successfully received, in response to the ACK, enable the host to send a second block of data to the USB device, if a receiving buffer is full, enable the USB device to send a negative acknowledgement (NACK) to the host indicating that the USB device is not ready to receive further data, in response to the NACK, enable the host to suspend sending further data to the USB device, subsequently when the USB device is ready to receive further data from the host, enable the USB device to send a ready (RDY) signal to the host, and in response to the RDY signal, enable the host to send further data to USB device until all of the predetermined blocks of data have been sent to the USB device, wherein the portable data exchanger is capable of operating as at least one of a host and a slave USB device, wherein when the portable data exchanger operates as a slave USB device, the host is an external host coupled to the first EUSB connector and the USB device is part of the portable data exchanger having at least one flash memory chip, and wherein when the portable data exchanger operates as a slave USB device, the host is part of the portable USB data exchanger and the USB device is an external slave USB device coupled to the second EUSB connector. - View Dependent Claims (7, 8, 9, 10)
-
Specification