EP1548604B1

Architecture for a universal serial bus-based PC flash disk

Abstract

This record has no abstract on file.

EP1548604B1, drawing sheet 1
Sheet 1 of 7

Term

Term ended

Expired 20 March 2020, 6.5 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

35 claims: 24 independent, 11 dependent

  1. 1
    A USB flash memory device (46) for connecting to a USB-defined bus (48), the flash memory device (46) comprising:(a) at least one flash memory module (58);(b) a USB connector (52) adapted for connection to a USB-defined bus (48) and for sending and receiving USB-defined packets via the USB-defined bus (48);and (c) a USB controller (56) which is configured to interface with a host (44) via the USB connector (52) and which is adapted to carry out at least one of reads and writes to the at least one flash memory module (58) in accordance with the USB-defined packets, wherein the USB controller (56) comprises: a command interpreter (72) which is adapted to interpret read or write commands received as operation codes extracted from received USB-defined data packets (20, 90, 104) via the USB connector (52) into read or write actions for the at least one flash memory module (58);and characterized by further comprising an identification structure for holding memory size and manufacturing type information of the at least one flash memory module (58) determined by the USB controller (56), wherein the USB controller (56) is further adapted to use the memory size and manufacturing type information to build an address translation table for use by the USB controller (56).
  2. 5
    The USB flash memory device (46) according to any of the preceding claims, further comprising:a data handler (76) adapted for performing an error detection and correction routine on the at least one flash memory module (58).
  3. 6
    The USB flash memory device (46) according to any of the preceding claims, further comprising:a status handler (76) adapted for receiving the USB-defined data packets (90, 104) and for sending status packets (100, 110) concerning a status of the at least one flash memory module (58) according to the USB-defined data packets (90, 104).
  4. 7
    The USB flash memory device (46) according to any of the preceding claims, wherein the device (46) is configured to act as a dynamically attachable/detachable non-volatile storage device for the host (44).
  5. 8
    The USB flash memory device (46) according to any of the preceding claims, wherein the USB controller (56) is implemented as a single integrated circuit.
  6. 9
    The USB flash memory device (46) according to any of the preceding claims, wherein the USB controller (56) is configured to interpret write commands and extract data (98) to be written from the USB-defined data packets (90).
  7. 10
    The USB flash memory device (46) according to any of the preceding claims, wherein the USB-defined bus (48) is configured to be connected to the host (44) and the host (44) is configured to provide commands to the USB controller (56) using a proprietary protocol.
  8. 11
    The USB flash memory device (46) according to any of the preceding claims, wherein the USB-defined bus (48) is configured to be connected to the host (44) and the host (44) is configured to provide commands to the USB controller (56) using a standard protocol.
  9. 12
    The USB flash memory device (46) according to any of the preceding claims, further comprising an address/data bus (62) for interconnecting the USB controller (56) and the at least one flash memory module (58).
  10. 14
    The USB flash memory device (46) according to any of the preceding claims, further comprising a control line (60) for interconnecting the USB controller (56) and the at least one flash memory module (58), wherein the USB controller (56) is configured to use the control line (60) to control the power of the at least one flash memory module (58).
  11. 15
    The USB flash memory device (46) according to any of the preceding claims, wherein the USB controller (56) is configured to negotiate with the at least one flash memory module (58) to determine at least one feature of the at least one flash memory module (58).
  12. 19
    The USB flash memory device (46) according to any of the preceding claims, wherein the USB controller (56) further includes:memory technology drivers (78), each adapted for performing read or write actions on a respective type of flash memory module;and an identification module adapted for determining a type of the at least one flash memory module (58) and for determining, in accordance with the determined type, which one of the memory technology drivers (78) to activate for performing the read or write actions.
  13. 20
    The USB flash memory device (46) according to any of the preceding claims, wherein the USB controller (56) includes a plurality of chip enable signal lines (60) for attaching to a plurality of flash memory modules (58).
  14. 21
    The USB flash memory device (46) according to any of the preceding claims, wherein the USB connector (52) is attached to the USB controller (56) by a combined physical/logical interface (66).
  15. 23
    The USB flash memory device (46) according to any of the preceding claims, wherein the at least one flash memory module (58) comprises a plurality of flash memory modules (58).
  16. 24
    The USB flash memory device (46) according to any of the preceding claims, wherein the USB controller (56) further comprises:(i) a functional interface adapted to receive the USB-defined packets, such that if one of the USB-defined packets is a USB token packet, the functional interface is configured to act on the token packet;and (ii) a packet extractor serially connected after the functional interface and adapted to receive the USB-defined packets, the packet extractor being configured to extract at least the commands from the USB-defined packets;wherein the device is dynamically attachable/detachable.
  17. 25
    The USB flash memory device (46) according to any of claims 1 to 18, comprising:(d) means (66, 68) for providing a USB interface functionality to the USB connector (52);and wherein the USB controller (56) further comprises: (i) a command extractor (70) operative to extract flash memory commands from the USB-defined data packets (90, 104) received via the USB connector (52);and (ii) a memory technology driver (78) operative to control the at least one flash memory module (58) in response to the commands.
  18. 26
    A data-processing method performed by a USB flash memory device (46), wherein the USB flash memory device (46) includes at least one flash memory module (58), a USB controller (56), and a USB connector (52) adapted for connecting the at least one flash memory module (58) and the USB controller (56) to a host (44) via a USB-defined bus (48), the method comprising:receiving USB-defined packets from the host (44) via the USB-defined bus (48) and the USB connector (52), wherein the USB-defined packets include one or more USB-defined data packets (20, 90, 104);in the USB controller (56): determining memory size and manufacturing type information of the at least one flash memory module (58);building an address translation table in accordance with the memory size and manufacturing type information;interpreting a read or write command from at least one of the USB-defined data packets (20, 90, 104) into read or write actions, each command having an associated logical address;and converting the logical address into a physical address of the at least one flash memory module (58) using the address translation table;and performing the read or write actions on the physical address of the at least one flash memory module (58).
  19. 29
    The data-processing method according to any of claims 26 to 28, including:extracting a write command and a predefined amount of data from the at least one of the USB-defined data packets (90);and writing the predefined amount of data into locations including the physical address in accordance with the write command.
  20. 30
    The data-processing method according to any of claims 26 to 28, including:extracting a read command from the at least one of the USB-defined data packets (104);retrieving data from locations including the physical address in accordance with the read command;and transmitting the retrieved data to the host (44) via the USB connector (52) and the USB-defined bus (48).
  21. 31
    The data-processing method according to any of claims 26 to 30, including:in the USB controller, executing a memory technology driver (78) to perform the read or write actions corresponding to the read or write command on data associated with the physical address.
  22. 32
    The data-processing method according to any of claims 26 to 31, further comprising:under the control of the USB controller (56), negotiating with the at least one flash memory module (58) to determine at least one feature of the at least one flash memory module (58).
  23. 34
    The data-processing method according to any of claims 26 to 30, wherein the USB controller (56) includes memory technology drivers (78), each adapted for performing read or write actions on a respective type of flash memory module, the method further comprising using the manufacturing type to determine a respective memory technology driver (78) to activate for the at least one flash memory module (58).
  24. 35
    The data-processing method according to any of claims 26 to 34, including:receiving electrical signals from the host (44) via the USB-defined bus (48) and the USB connector (52), wherein the electrical signals are USB-compatible;and extracting the USB-defined packets from the electrical signals.
Independent claims24