Patent ID: 7707321

Claim:
An Extended Universal-Serial Bus (EUSB) device comprising: a EUSB analog front end having an input connection to a first pair of differential lines and having an output connection to a second pair of differential lines; a serial-parallel converter, coupled to the EUSB analog front end to receive an input serial bitstream received over the first pair of differential lines, and coupled to output an output serial bitstream for transmission over the second pair of differential lines, for converting the input serial bitstream into input parallel words, and for converting output parallel words into the output serial bitstream; a frame processor for adding frame bits to the output parallel words, and for removing frame bits from the input parallel words; an error-code generator/checker for generating a generated checksum for the input parallel words and for signaling an error when the generated checksum mismatches a transmitted checksum in the input parallel words, and for generating a checksum stored with the output parallel words; a bulk-only-transport layer processor for inserting a header for a EUSB protocol into the output parallel words, and for extracting the header from the input parallel words; a flash memory for storing data in non-volatile flash-memory cells wherein data is retained when power is disconnected; a flash interface for accessing the flash memory; a sector buffer for storing the output parallel words read from the flash memory by the flash interface, and for storing input parallel words before writing to the flash memory by the flash interface; a chained Direct-Memory Access (DMA) engine for transferring the input parallel words from the sector buffer means to the bulk-only-transfer layer processor; and a microcontroller that generates a not-yet signal that is transmitted to a host over the second pair of differential lines when the sector buffer does not yet contain requested data that is waiting to be read from the flash memory, whereby the not-yet signal is transmitted over the second pair of differential lines when the requested data is waiting to be read from the flash memory.