US20050160213A1 - Method and system for providing a modular server on USB flash storage - Google Patents

Method and system for providing a modular server on USB flash storage Download PDF

Info

Publication number
US20050160213A1
US20050160213A1 US10/762,934 US76293404A US2005160213A1 US 20050160213 A1 US20050160213 A1 US 20050160213A1 US 76293404 A US76293404 A US 76293404A US 2005160213 A1 US2005160213 A1 US 2005160213A1
Authority
US
United States
Prior art keywords
server
computing device
connector
led
connectors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/762,934
Inventor
Ben Chen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Super Talent Electronics Inc
Original Assignee
Super Talent Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Super Talent Electronics Inc filed Critical Super Talent Electronics Inc
Priority to US10/762,934 priority Critical patent/US20050160213A1/en
Assigned to SUPER TALENT ELECTRONICS, INC. reassignment SUPER TALENT ELECTRONICS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHEN, BEN WEI
Publication of US20050160213A1 publication Critical patent/US20050160213A1/en
Priority to US11/440,540 priority patent/US8438376B1/en
Priority to US11/757,955 priority patent/US20070250564A1/en
Priority to US11/846,476 priority patent/US20090013165A1/en
Priority to US11/861,133 priority patent/US20080082813A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44573Execute-in-place [XIP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Definitions

  • the present invention relates to computer systems, and more particularly to a method and system for providing a server on a generalized computing device.
  • FIG. 1 depicts a generalized computing device (“computing device”) 10 .
  • the computing device 10 includes at least a CPU 12 and an optional mass storage 18 , such as a hard disk.
  • the computing device 10 may also include other features.
  • the computing device depicted in FIG. 1 also includes a memory 14 such as a flash memory, a display 16 , an input/output device 20 such as a keyboard, BIOS 22 , a network interface 24 and a bus interface 26 . Communication to a network (not shown) is carried out through the network interface 24 . Similarly, communication to any attached devices (not shown) can be carried out via the bus interface 26 .
  • the bus interface 26 could include interfaces for PCI Express, SATA, Ethernet, Infiniband or other serial bus connectors.
  • the computing device 10 is capable of performing a variety of functions. It is often desirable to utilize the computing device 10 as a server.
  • a server would include additional hardware and/or software that allows the server to serve multiple users. Thus, the server would allow multiple users to share resources, such as printers or the optional mass storage 18 of the computing device 10 .
  • USB-based flash storage system As Universal Serial Bus (USB) becomes a standard communication interface on the PC and digital imaging device, USB-based flash storage system starts proliferating the consumer market.
  • a traditional USB-based flash storage system tends to include an USB Local Control Program, one or more flash memory chips in addition to the USB connector.
  • USB flash storage becomes one of the most popular choices for external removable storage due to its simplicity, high performance and reliability.
  • the PC or computing device has the capability in its BIOS to boot from a USB flash storage, it opens up a possibility to incorporate server functionality into a USB flash storage.
  • the server is thus modular and very portable.
  • the actual storage drives on a server are no longer needed to reside on the same physical space with the server itself. It is able to decouple the server from the storage drives completely.
  • the server or storage drives can each evolve or upgrade independent to each other. Being able to easily hot swap the USB flash storage from the PC or computing device, it brings great benefits in service and support to the server itself.
  • the present invention provides a method and system for providing a server on a computing device.
  • the computing device includes at least a processor and an optional mass storage device.
  • the method and system comprise providing bus interface logic, providing USB Local Control Program, a flash memory and, preferably, a set of control button connectors, light emitting diodes (LED) connectors and a liquid crystal display (LCD) connector.
  • the USB Local Control Program is coupled with the bus interface logic and the memory.
  • the bus interface logic interacts with the computing device and allows the computing device to detect the system.
  • the USB Local Control Program boots up the server and prepares the computing device for use as the server.
  • the memory stores a server image for the server, which is provided to the computing device using the USB Local Control Program.
  • the control button connectors allow the server to be turned on, shut down gracefully, or restored to its initial state, by a single press of buttons connected to these connectors.
  • the LED and LCD connectors allow the system status to be displayed or shown.
  • the present invention provides an inexpensive, easy to use mechanism for allowing the computing device to be used as a server.
  • FIG. 1 is a block diagram of a conventional computing device.
  • FIG. 2 is a high level block diagram of a system in accordance with the present invention for allowing the computing device to be used as a server.
  • FIG. 3 is a block diagram of one embodiment of the Local Control Program of the system in accordance with the present invention for allowing the computing device to be used as a server.
  • FIG. 4 is a diagram of one embodiment of the image of the server stored in the memory of the system in accordance with the present invention for allowing the computing device to be used as a server.
  • FIG. 5 is a more detailed block diagram of one embodiment of the other control logic in the system in accordance with the present invention for allowing the computing device to be used as a server.
  • FIG. 6 is a flow chart of one embodiment of a method in accordance with the present invention for utilizing the system in accordance with the present invention to allow the computing device to be used as a server.
  • FIG. 7 is a flow chart of one embodiment of a method for using one-button shut down interrupt logic as a feature of the system in accordance with the present invention for allowing the computing device to be used as a server.
  • FIG. 8 is a flow chart of one embodiment of a method for a shut down interrupt routine in the system in accordance with the present invention for allowing the computing device to be used as a server.
  • FIG. 9 is a flow chart of one embodiment of a method for using one-button Init interrupt logic as a feature of the system in accordance with the present invention for allowing the computing device to be used as a server.
  • FIG. 10 is a flow chart of one embodiment of a method for an Init interrupt routine in the system in accordance with the present invention for allowing the computing device to be used as a server.
  • FIG. 11 is a flow chart of one embodiment of a method for using one-button power on control logic as a feature of the system in accordance with the present invention for allowing the computing device to be used as a server.
  • the present invention relates to computer systems, and more particularly to a method and system for providing a server on a generalized computing device.
  • the following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements.
  • Various modifications to the preferred embodiment and the generic principles and features described herein will be readily apparent to those skilled in the art.
  • the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein.
  • the present invention relates to an improvement in computer systems.
  • the following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements.
  • Various modifications to the preferred embodiment will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments.
  • the present invention is not intended to be limited to the embodiment shown, but is to be accorded the widest scope consistent with the principles and features described herein.
  • the present invention provides a method and system for providing a modular server on a board.
  • the server-on-a-USB is installed on a computing device.
  • the method and system include providing bus interface logic, providing a USB Local Control Program, flash memory and, preferably, a set of control button connectors, light emitting diodes (LED) connectors and a liquid crystal display (LCD) connector.
  • the USB Local Control Program is coupled with the bus interface logic and the flash memory.
  • the bus interface logic interacts with the computing device and allows computing device to detect the server board.
  • the USB Local Control Program boots up the server and prepares the computing device for use as the server.
  • the flash memory stores a server image for the server, which is provided to the computing device using the USB Local Control Program.
  • the control button connectors allow the server to be turned on, shut down gracefully, or restored to its initial state, by a single press of buttons connected to these connectors.
  • the LED and LCD connectors allow the system status to be displayed or shown.
  • FIG. 2 depicting a high-level block diagram of a system 100 in accordance with the present invention for allowing the computing device to be used as a server.
  • the system 100 is to be used in conjunction with a computing device such as the computing device 10 .
  • the system 100 includes bus interface logic 102 , USB Local Control Program 104 , memory 106 and, in a preferred embodiment, other control logic 108 and connectors 109 .
  • the components 102 , 104 , 106 , 108 and 109 of the system 100 are preferably integrated into a single board that can be plugged into the computing device 10 .
  • the system 100 is also preferably used in conjunction with a system having a generic user interface, such as Windows 2000.RTM. operating system.
  • the system 100 attaches to the computing device 10 via the bus interface logic 102 and bus interface 103 of the system 100 and the bus interface 26 of the computing device 10 .
  • the computing device 10 detects the system 100 through the bus interface logic 102 , using the bus protocols of the computing device 10 .
  • the USB Local Control Program 104 boots up the server and prepares the computing device for use as the server.
  • the memory 106 includes a server image 110 for the server being provided by the system 100 .
  • the server image 110 is compressed and stored on the memory 106 .
  • the server image 110 is preferably loaded onto the computing device 10 and boots up, as discussed below. Once booted up, the server image 10 allows the computing device 10 to function as a server.
  • the system 100 also includes the other control logic 108 .
  • the other control logic 108 is managed by the USB Local Control Program 104 .
  • the connectors 109 preferably include an Init connector 112 , a shut-down connector 114 , a power control connector 116 , a status LED connector 118 , a DC power LED connector 120 and a LCD display connector 122 .
  • the other control logic 108 could include other components.
  • the connectors 109 can be coupled to LEDs (not shown) and an LCD display (not shown) for the board. The connectors 109 are controlled using the other control logic 108 .
  • FIG. 3 depicts one embodiment of the Local Control Program 104 .
  • the Local Control Program 104 includes a system initialization and testing block 130 , a local Control Program run-time main program 132 , an LCD display driver 134 , a memory driver 136 , a shut-down interrupt service routine 138 , and an Init service routine 140 .
  • the drivers 134 and 136 are used to drive the display 122 and the memory 106 .
  • the shut-down interrupt service routine 138 and Init service routine 140 are used in conjunction with the other control logic 108 described below.
  • the Local Control Program 104 is activated.
  • the Local Control Program 104 preferably connects with the BIOS 22 and begins controlling the computing device 10 .
  • the Local Control Program 104 preferably performs tests on the system 100 to ensure that the system 100 can control the functions of the computing device 10 as desired.
  • the USB Local Control Program 104 ensures that the display, memory and other input/output devices can be controlled.
  • the hardware identification of the flash memory 106 is read to determine the size of the memory 106 .
  • the system initialization and testing block 130 preferably performs the testing functions.
  • An Ethernet MAC address of the computing device 10 is also preferably read to ensure that security and personalization of the computing device 10 is preserved.
  • an identification for the system 100 is read by the USB Local Control Program 104 to determine a version of the system 100 .
  • the USB Local Control Program 104 also preferably establishes a unique personalized key, discussed below.
  • the USB Local Control Program 104 establishes a boot-up sequence on the computing device 10 .
  • the memory 106 is then mounted and boots up.
  • the server image 110 is then extracted from the memory 106 using the unique personalized key. Without the key, the server image preferably cannot extract and utilize the server image 110 .
  • FIG. 4 is a diagram of one embodiment of the images for the server stored in the memory 106 .
  • the server image 110 includes a default field configurable and field upgradeable bitmap image 141 of the other control logic 108 , an active field configurable and field upgradeable bitmap image 142 of the other control logic 108 , a default compressed server image 143 , an active server image 144 , a default flash drive boot-up image 145 and an active flash drive boot-up image 146 .
  • the bitmaps 141 and 142 indicate the default and actual (active) bitmap images for the control logic to allow the server to track and utilize the control logic 108 .
  • the compressed server images 143 and 144 are the default and actual (active) server images for loading onto the computing device 10 .
  • the active server image 144 thus corresponds to the server image 110 , depicted in FIG. 2 , that is loaded onto the computing device.
  • the flash drive images 145 and 146 are the default and actual (active) boot-up images of the flash memory 106 .
  • the computing device 10 can function as a server. Furthermore, the defaults can be restored, for example in an Init interrupt, described below in FIG. 10 , using the defaults 141 , 143 and 145 .
  • the shut-down interrupt service routine 138 and Init service routine 140 can optionally reside in the server image of 110 as well.
  • FIG. 5 is a more detailed block diagram of one embodiment of the other control logic 108 in the system 100 in accordance with the present invention for allowing the computing device to be used as a server.
  • the other control logic 108 includes a Local Control Program 104 address decode and control 150 , a flash memory address decode and control 152 , an LCD address decode and control 154 , one button shut-down interrupt logic 156 , ID, status and control decode 158 and one button Init interrupt logic 160 . These blocks are used to provide the additional functions, described below, such as a one button shut down and Init interrupt.
  • FIG. 6 is a flow chart of one embodiment of a method 200 in accordance with the present invention for using the system 100 .
  • the method 200 preferably commences after the computing device 10 has found the system 100 .
  • the method 200 is described in the context of the components depicted in FIGS. 1-5 .
  • the USB Local Control Program 104 is automatically coupled with the BIOS 22 of the computing device 10 , via step 202 .
  • the USB Local Control Program 104 takes control of the computing device 10 , via step 204 .
  • the functions of the system 100 are tested, via step 206 .
  • step 206 It is determined whether the test(s) performed in step 206 indicate that the system 100 is functioning properly, via step 208 . If not, then the method 200 terminates, via step 220 . If it is determined that the system 100 runs properly, then the memory 106 is mounted on the computing device 10 , via step 210 . The boot up of the computing device 10 is then performed from the memory 106 that was just mounted, via step 212 . The server image 110 is found, decompressed if necessary, via step 214 . It is determined whether the functions of the method 200 were properly performed, via step 216 . If so, then control is passed to the server, via step 218 . Otherwise, the method 200 ends at step 220 .
  • the method 200 and system 100 allow the computing device 10 to be used as a server. Because most of the method 200 is performed automatically, the user need not manually configure the computing device 10 . Instead, the user merely plugs in the board on which the system 100 is integrated. Thus, the process used to allow a computing device 10 to be used as a server is simplified. Moreover, the system 100 is relatively inexpensive, often costing on the order of less than $25 in quantity. Thus, the computing device 10 can be turned into a server relatively cheaply and easily.
  • FIG. 7 depicts one embodiment of a method 220 for utilizing one button shut-down interrupt logic 156 and the shut-down connector 114 .
  • the one button shut-down interrupt logic 156 waits for input, via step 222 .
  • the input includes a push button (not shown) being depressed for a particular time. It is determined whether shut-down input was received, via step 224 . If not then step 222 is returned to. Otherwise, clock sampling is performed to allow for hardware de-bounce, via step 226 . It is determined whether the input was valid shut-down input, via step 228 .
  • valid shut-down input includes the push button being depressed for a particular time.
  • step 222 If the input was not valid, then step 222 is returned to. Otherwise, further shut-down interrupts are inhibited, via step 230 .
  • Step 230 ensures that the method 220 can be completed for the valid shut down input already provided.
  • a shut down interrupt to the server is then generated, via step 232 .
  • a method for generating such an interrupt is described below with respect to FIG. 8 .
  • the main system power is then shut down and the system 100 is put into stand-by mode, via step 234 .
  • the system 100 can be shut down using a single press of a button. A user can, therefore, shut down the server provided using the system 100 relatively quickly and easily, through the use of a single button.
  • FIG. 8 is a flow chart of one embodiment of a method 240 for a shut down interrupt routine in the system 100 in accordance with the present invention.
  • the method 240 is preferably implemented in conjunction with the one button shut-down interrupt logic 156 .
  • a shut-down interrupt service routine entry is provided, via step 242 .
  • a status port of the system 100 is read, via step 244 .
  • the status port of the system 100 indicates whether a shut down is pending. It is determined whether a shut down is pending, via step 246 . If not, then the method 240 is terminated, via step 254 . Otherwise, a shut down sequence for the server is initiated, via step 248 .
  • the server is then shut down, via step 250 .
  • the main power to the system 100 is then shut down and the system 100 is put into standby mode, via step 252 .
  • the system 100 can be shut down relatively simply and easily.
  • FIG. 9 is a flow chart of one embodiment of a method 260 for using one-button Init interrupt logic a feature of the system 100 in accordance with the present invention.
  • the method 260 is used in conjunction with the one button Init interrupt logic 160 and the Init connector 112 .
  • the one button Init interrupt logic 160 waits for connector input, via step 262 .
  • the connector input is preferably a push button (not shown) being depressed. It is determined whether Init input is received, via step 264 . If not, step 262 is returned to. Otherwise, clock sampling is performed to allow for hardware de-bounce, via step 266 . It is determined whether the Init input received is valid, via step 268 . If not, step 262 is returned to.
  • Step 270 ensures that the method 260 can be completed for valid Init input already received.
  • An Init interrupt to the server is then generated, via step 272 .
  • the server is thus restored to its default state using the method 260 .
  • the return to the default state is preferably found in the default server image 143 residing on the memory 106 .
  • FIG. 10 is a flow chart of one embodiment of a method 280 for an Init interrupt routine in the system 100 in accordance with the present invention.
  • the method 280 is preferably used for performing the step 272 of the method 260 .
  • a Init interrupt service routine entry is provided, via step 282 .
  • a status port of the system 100 is read, via step 284 .
  • the status port of the system 100 indicates whether an initialization is pending. It is determined whether an initialization is pending, via step 286 . If not, then the method 280 is terminated, via step 290 . Otherwise, the server is restored to its default state, via step 288 .
  • the system 100 can be initialized relatively simply and easily, by a push of a button by a user.
  • FIG. 11 is a flow chart of one embodiment of a method 300 for using one-button shut down and power on control logic as a feature of the system 100 .
  • the method 300 is preferably performed using the power on control connector 116 and the shut-down connector 114 .
  • the power control connector (not shown) of the computing device 10 is coupled with a power-on connector 116 , via step 302 .
  • the AC power to the system 100 is then turned on, the DC power to the system 100 turned off, and the server of the system 100 placed in standby mode, via step 304 . It is determined whether the shut-down button has been depressed, via step 306 . If not, step 306 is returned to.
  • DC power for the system 100 is turned on and the system 100 boots up, via step 308 . It is then determined whether power is to be disabled, via step 310 . If so, then the power on is asserted, via step 314 and the system DC power turned off via step 324 . If power is not to be disabled, then it is determined whether the shut-down interrupt is to be enabled, via step 312 . If not, it is determined whether the shut-down button has been pressed, via step 322 . If so, then the system DC power is turned off, via step 324 . Otherwise, the method returns to step 310 . If it is determined in step 312 that the shut-down interrupt is to be enabled, power on is de-asserted, via step 316 .
  • step 318 determines whether the shut-down button has been pressed for a particular amount of time. If not, then the method returns to step 310 . Otherwise, the shutdown input is generated, via step 320 and step 310 returned to.
  • the shut-down button can be used in different ways. If the shut down button is pressed prior to a shut-down interrupt being enabled, then the method 300 allows the DC power to the system 100 to be turned off. If, however, the shutdown interrupt was enabled, as determined in step 312 , prior to the shut-down button being pressed, then the shut down input generated in step 320 and the system 100 can be shut down using the method 220 . Thus, using the method 300 , the shut-down button can be used either to turn off the DC power to the system or to shut down the system 100 . Thus, using the methods 220 , 240 , 260 , 280 and 300 , additional functions can be provided using the system 100 .
  • a method and system has been disclosed for allowing a computing device to be used as a server.
  • Software written according to the present invention is to be stored in some form of computer-readable medium, such as memory, CD-ROM or transmitted over a network, and executed by a processor. Consequently, a computer-readable medium is intended to include a computer readable signal which, for example, may be transmitted over a network.
  • a system and method in accordance with the present invention applies to a variety of mass storage devices such as Serial ATA FLASH hard drive, IDE FLASH hard drive, SCSI FLASH hard drive and Ethernet FLASH hard drive.
  • a FLASH controller in accordance with the present invention also applies to FLASH memory cards such as Express Card, Mini PCI Express Card, Secure Digital Card, Multi Media Card, Memory Stick Card and Compact FLASH card.
  • a system in accordance with the present invention also applies to the other serial buses such as PCI Express bus, Serial ATA bus, IEEE 1394 bus and Ethernet bus. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.

Abstract

A method and system for providing a modular server-on-a-USB-flash-storage is disclosed. The server-on-a-USB-flash-storage is installed on a computing device. The method and system include providing USB interface logic, USB Local Control Program, a flash memory and a set of control button connectors, light emitting diodes (LED) connectors and a liquid crystal display (LCD) connector. The USB Local Control Program is coupled with the USB interface logic and the flash memory. The USB interface logic interacts with the computing device and allows computing device to detect the server board. The USB Local Control Program boots up the server and prepares the computing device for use as the server. The flash memory stores a server image for the server, which is provided to the computing device using the USB Local Control Program. The control button connectors allow the server to be turned on, shut down gracefully, or restored to its initial state, by a single press of buttons connected to these connectors. The LED and LCD connectors allow the system status to be displayed or shown.

Description

    FIELD OF THE INVENTION
  • The present invention relates to computer systems, and more particularly to a method and system for providing a server on a generalized computing device.
  • BACKGROUND OF THE INVENTION
  • FIG. 1 depicts a generalized computing device (“computing device”) 10. The computing device 10 includes at least a CPU 12 and an optional mass storage 18, such as a hard disk. The computing device 10 may also include other features. The computing device depicted in FIG. 1 also includes a memory 14 such as a flash memory, a display 16, an input/output device 20 such as a keyboard, BIOS 22, a network interface 24 and a bus interface 26. Communication to a network (not shown) is carried out through the network interface 24. Similarly, communication to any attached devices (not shown) can be carried out via the bus interface 26. For example, the bus interface 26 could include interfaces for PCI Express, SATA, Ethernet, Infiniband or other serial bus connectors.
  • The computing device 10 is capable of performing a variety of functions. It is often desirable to utilize the computing device 10 as a server. A server would include additional hardware and/or software that allows the server to serve multiple users. Thus, the server would allow multiple users to share resources, such as printers or the optional mass storage 18 of the computing device 10.
  • There are a number of conventional methods for allowing the computing device 10 to be used as a server. In general, these conventional methods involve obtaining server software and installing the software on the computing device 10. The user must then manually set up the desired functions for the server. Alternatively, the computing device 10 could be specially built to function as a server. In either case, ensuring that the computing device 10 can function as a server is expensive. For example, obtaining and installing server software on the computing device 10 or specially building the computing device 10 may cost between $500 and $5,000. Moreover, installing the software and tailoring the system to provide the desired individual functions requires a substantial investment of time on the part of the user.
  • Purpose of Invention
  • As Universal Serial Bus (USB) becomes a standard communication interface on the PC and digital imaging device, USB-based flash storage system starts proliferating the consumer market. A traditional USB-based flash storage system tends to include an USB Local Control Program, one or more flash memory chips in addition to the USB connector. USB flash storage becomes one of the most popular choices for external removable storage due to its simplicity, high performance and reliability.
  • If the PC or computing device has the capability in its BIOS to boot from a USB flash storage, it opens up a possibility to incorporate server functionality into a USB flash storage. The server is thus modular and very portable. The actual storage drives on a server are no longer needed to reside on the same physical space with the server itself. It is able to decouple the server from the storage drives completely. The server or storage drives can each evolve or upgrade independent to each other. Being able to easily hot swap the USB flash storage from the PC or computing device, it brings great benefits in service and support to the server itself.
  • Accordingly, what is needed is a system and method for cheaply and easily allowing the computing device to be used as a server. The present invention addresses such a need.
  • SUMMARY OF THE INVENTION
  • The present invention provides a method and system for providing a server on a computing device. The computing device includes at least a processor and an optional mass storage device. The method and system comprise providing bus interface logic, providing USB Local Control Program, a flash memory and, preferably, a set of control button connectors, light emitting diodes (LED) connectors and a liquid crystal display (LCD) connector. The USB Local Control Program is coupled with the bus interface logic and the memory. The bus interface logic interacts with the computing device and allows the computing device to detect the system. The USB Local Control Program boots up the server and prepares the computing device for use as the server. The memory stores a server image for the server, which is provided to the computing device using the USB Local Control Program. The control button connectors allow the server to be turned on, shut down gracefully, or restored to its initial state, by a single press of buttons connected to these connectors. The LED and LCD connectors allow the system status to be displayed or shown.
  • According to the system and method disclosed herein, the present invention provides an inexpensive, easy to use mechanism for allowing the computing device to be used as a server.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of a conventional computing device.
  • FIG. 2 is a high level block diagram of a system in accordance with the present invention for allowing the computing device to be used as a server.
  • FIG. 3 is a block diagram of one embodiment of the Local Control Program of the system in accordance with the present invention for allowing the computing device to be used as a server.
  • FIG. 4 is a diagram of one embodiment of the image of the server stored in the memory of the system in accordance with the present invention for allowing the computing device to be used as a server.
  • FIG. 5 is a more detailed block diagram of one embodiment of the other control logic in the system in accordance with the present invention for allowing the computing device to be used as a server.
  • FIG. 6 is a flow chart of one embodiment of a method in accordance with the present invention for utilizing the system in accordance with the present invention to allow the computing device to be used as a server.
  • FIG. 7 is a flow chart of one embodiment of a method for using one-button shut down interrupt logic as a feature of the system in accordance with the present invention for allowing the computing device to be used as a server.
  • FIG. 8 is a flow chart of one embodiment of a method for a shut down interrupt routine in the system in accordance with the present invention for allowing the computing device to be used as a server.
  • FIG. 9 is a flow chart of one embodiment of a method for using one-button Init interrupt logic as a feature of the system in accordance with the present invention for allowing the computing device to be used as a server.
  • FIG. 10 is a flow chart of one embodiment of a method for an Init interrupt routine in the system in accordance with the present invention for allowing the computing device to be used as a server.
  • FIG. 11 is a flow chart of one embodiment of a method for using one-button power on control logic as a feature of the system in accordance with the present invention for allowing the computing device to be used as a server.
  • DETAILED DESCRIPTION
  • The present invention relates to computer systems, and more particularly to a method and system for providing a server on a generalized computing device. The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiment and the generic principles and features described herein will be readily apparent to those skilled in the art. Thus, the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein.
  • The present invention relates to an improvement in computer systems. The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiment will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments. Thus, the present invention is not intended to be limited to the embodiment shown, but is to be accorded the widest scope consistent with the principles and features described herein.
  • The present invention provides a method and system for providing a modular server on a board. The server-on-a-USB is installed on a computing device. The method and system include providing bus interface logic, providing a USB Local Control Program, flash memory and, preferably, a set of control button connectors, light emitting diodes (LED) connectors and a liquid crystal display (LCD) connector. The USB Local Control Program is coupled with the bus interface logic and the flash memory. The bus interface logic interacts with the computing device and allows computing device to detect the server board. The USB Local Control Program boots up the server and prepares the computing device for use as the server. The flash memory stores a server image for the server, which is provided to the computing device using the USB Local Control Program. The control button connectors allow the server to be turned on, shut down gracefully, or restored to its initial state, by a single press of buttons connected to these connectors. The LED and LCD connectors allow the system status to be displayed or shown.
  • The present invention will be described in terms of a particular computing device and a system having certain components. However, one of ordinary skill in the art will readily recognize that this method and system will operate effectively for other computing devices and other systems having other components performing substantially the same functions.
  • To more particularly illustrate the method and system in accordance with the present invention, refer now to FIG. 2, depicting a high-level block diagram of a system 100 in accordance with the present invention for allowing the computing device to be used as a server. The system 100 is to be used in conjunction with a computing device such as the computing device 10. The system 100 includes bus interface logic 102, USB Local Control Program 104, memory 106 and, in a preferred embodiment, other control logic 108 and connectors 109. The components 102, 104, 106, 108 and 109 of the system 100 are preferably integrated into a single board that can be plugged into the computing device 10.
  • The system 100 is also preferably used in conjunction with a system having a generic user interface, such as Windows 2000.RTM. operating system. The system 100 attaches to the computing device 10 via the bus interface logic 102 and bus interface 103 of the system 100 and the bus interface 26 of the computing device 10. In operation, the computing device 10 detects the system 100 through the bus interface logic 102, using the bus protocols of the computing device 10. The USB Local Control Program 104 boots up the server and prepares the computing device for use as the server.
  • The memory 106 includes a server image 110 for the server being provided by the system 100. Preferably, the server image 110 is compressed and stored on the memory 106. The server image 110 is preferably loaded onto the computing device 10 and boots up, as discussed below. Once booted up, the server image 10 allows the computing device 10 to function as a server. In addition, the system 100 also includes the other control logic 108. In a preferred embodiment, the other control logic 108 is managed by the USB Local Control Program 104. The connectors 109 preferably include an Init connector 112, a shut-down connector 114, a power control connector 116, a status LED connector 118, a DC power LED connector 120 and a LCD display connector 122. However, in another embodiment, the other control logic 108 could include other components. The connectors 109 can be coupled to LEDs (not shown) and an LCD display (not shown) for the board. The connectors 109 are controlled using the other control logic 108.
  • FIG. 3 depicts one embodiment of the Local Control Program 104. The Local Control Program 104 includes a system initialization and testing block 130, a local Control Program run-time main program 132, an LCD display driver 134, a memory driver 136, a shut-down interrupt service routine 138, and an Init service routine 140. The drivers 134 and 136 are used to drive the display 122 and the memory 106. The shut-down interrupt service routine 138 and Init service routine 140 are used in conjunction with the other control logic 108 described below.
  • Referring to FIGS. 2 and 3, in operation, once the computing device 10 detects the presence of the system 100, the Local Control Program 104 is activated. The Local Control Program 104 preferably connects with the BIOS 22 and begins controlling the computing device 10. The Local Control Program 104 preferably performs tests on the system 100 to ensure that the system 100 can control the functions of the computing device 10 as desired. For example, the USB Local Control Program 104 ensures that the display, memory and other input/output devices can be controlled. For example, in a preferred embodiment, the hardware identification of the flash memory 106 is read to determine the size of the memory 106. The system initialization and testing block 130 preferably performs the testing functions. An Ethernet MAC address of the computing device 10 is also preferably read to ensure that security and personalization of the computing device 10 is preserved. In a preferred embodiment, an identification for the system 100 is read by the USB Local Control Program 104 to determine a version of the system 100. The USB Local Control Program 104 also preferably establishes a unique personalized key, discussed below. The USB Local Control Program 104 establishes a boot-up sequence on the computing device 10. The memory 106 is then mounted and boots up. The server image 110 is then extracted from the memory 106 using the unique personalized key. Without the key, the server image preferably cannot extract and utilize the server image 110.
  • FIG. 4 is a diagram of one embodiment of the images for the server stored in the memory 106. The server image 110 includes a default field configurable and field upgradeable bitmap image 141 of the other control logic 108, an active field configurable and field upgradeable bitmap image 142 of the other control logic 108, a default compressed server image 143, an active server image 144, a default flash drive boot-up image 145 and an active flash drive boot-up image 146. The bitmaps 141 and 142 indicate the default and actual (active) bitmap images for the control logic to allow the server to track and utilize the control logic 108.
  • The compressed server images 143 and 144 are the default and actual (active) server images for loading onto the computing device 10. The active server image 144 thus corresponds to the server image 110, depicted in FIG. 2, that is loaded onto the computing device. The flash drive images 145 and 146 are the default and actual (active) boot-up images of the flash memory 106.
  • Once the server image 110 is loaded on the computing device 10, the computing device 10 can function as a server. Furthermore, the defaults can be restored, for example in an Init interrupt, described below in FIG. 10, using the defaults 141, 143 and 145. The shut-down interrupt service routine 138 and Init service routine 140 can optionally reside in the server image of 110 as well.
  • FIG. 5 is a more detailed block diagram of one embodiment of the other control logic 108 in the system 100 in accordance with the present invention for allowing the computing device to be used as a server. The other control logic 108 includes a Local Control Program 104 address decode and control 150, a flash memory address decode and control 152, an LCD address decode and control 154, one button shut-down interrupt logic 156, ID, status and control decode 158 and one button Init interrupt logic 160. These blocks are used to provide the additional functions, described below, such as a one button shut down and Init interrupt.
  • FIG. 6 is a flow chart of one embodiment of a method 200 in accordance with the present invention for using the system 100. The method 200 preferably commences after the computing device 10 has found the system 100. The method 200 is described in the context of the components depicted in FIGS. 1-5. Referring to FIGS. 1-6, the USB Local Control Program 104 is automatically coupled with the BIOS 22 of the computing device 10, via step 202. The USB Local Control Program 104 takes control of the computing device 10, via step 204. The functions of the system 100 are tested, via step 206.
  • It is determined whether the test(s) performed in step 206 indicate that the system 100 is functioning properly, via step 208. If not, then the method 200 terminates, via step 220. If it is determined that the system 100 runs properly, then the memory 106 is mounted on the computing device 10, via step 210. The boot up of the computing device 10 is then performed from the memory 106 that was just mounted, via step 212. The server image 110 is found, decompressed if necessary, via step 214. It is determined whether the functions of the method 200 were properly performed, via step 216. If so, then control is passed to the server, via step 218. Otherwise, the method 200 ends at step 220.
  • Thus, the method 200 and system 100 allow the computing device 10 to be used as a server. Because most of the method 200 is performed automatically, the user need not manually configure the computing device 10. Instead, the user merely plugs in the board on which the system 100 is integrated. Thus, the process used to allow a computing device 10 to be used as a server is simplified. Moreover, the system 100 is relatively inexpensive, often costing on the order of less than $25 in quantity. Thus, the computing device 10 can be turned into a server relatively cheaply and easily.
  • The system 100 also preferably uses the other controls 108 and connectors 109 to provide other functions in the server. FIG. 7 depicts one embodiment of a method 220 for utilizing one button shut-down interrupt logic 156 and the shut-down connector 114. The one button shut-down interrupt logic 156 waits for input, via step 222. In a preferred embodiment, the input includes a push button (not shown) being depressed for a particular time. It is determined whether shut-down input was received, via step 224. If not then step 222 is returned to. Otherwise, clock sampling is performed to allow for hardware de-bounce, via step 226. It is determined whether the input was valid shut-down input, via step 228. In a preferred embodiment, valid shut-down input includes the push button being depressed for a particular time.
  • If the input was not valid, then step 222 is returned to. Otherwise, further shut-down interrupts are inhibited, via step 230. Step 230 ensures that the method 220 can be completed for the valid shut down input already provided. A shut down interrupt to the server is then generated, via step 232. A method for generating such an interrupt is described below with respect to FIG. 8. The main system power is then shut down and the system 100 is put into stand-by mode, via step 234. Thus, the system 100 can be shut down using a single press of a button. A user can, therefore, shut down the server provided using the system 100 relatively quickly and easily, through the use of a single button.
  • FIG. 8 is a flow chart of one embodiment of a method 240 for a shut down interrupt routine in the system 100 in accordance with the present invention. The method 240 is preferably implemented in conjunction with the one button shut-down interrupt logic 156. A shut-down interrupt service routine entry is provided, via step 242. A status port of the system 100 is read, via step 244. The status port of the system 100 indicates whether a shut down is pending. It is determined whether a shut down is pending, via step 246. If not, then the method 240 is terminated, via step 254. Otherwise, a shut down sequence for the server is initiated, via step 248. The server is then shut down, via step 250. The main power to the system 100 is then shut down and the system 100 is put into standby mode, via step 252. Thus, the system 100 can be shut down relatively simply and easily.
  • FIG. 9 is a flow chart of one embodiment of a method 260 for using one-button Init interrupt logic a feature of the system 100 in accordance with the present invention. The method 260 is used in conjunction with the one button Init interrupt logic 160 and the Init connector 112. The one button Init interrupt logic 160 waits for connector input, via step 262. The connector input is preferably a push button (not shown) being depressed. It is determined whether Init input is received, via step 264. If not, step 262 is returned to. Otherwise, clock sampling is performed to allow for hardware de-bounce, via step 266. It is determined whether the Init input received is valid, via step 268. If not, step 262 is returned to. Otherwise, further Init interrupts are inhibited, via step 270. Step 270 ensures that the method 260 can be completed for valid Init input already received. An Init interrupt to the server is then generated, via step 272. The server is thus restored to its default state using the method 260. The return to the default state is preferably found in the default server image 143 residing on the memory 106.
  • FIG. 10 is a flow chart of one embodiment of a method 280 for an Init interrupt routine in the system 100 in accordance with the present invention. The method 280 is preferably used for performing the step 272 of the method 260.
  • A Init interrupt service routine entry is provided, via step 282. A status port of the system 100 is read, via step 284. The status port of the system 100 indicates whether an initialization is pending. It is determined whether an initialization is pending, via step 286. If not, then the method 280 is terminated, via step 290. Otherwise, the server is restored to its default state, via step 288. Thus, the system 100 can be initialized relatively simply and easily, by a push of a button by a user.
  • FIG. 11 is a flow chart of one embodiment of a method 300 for using one-button shut down and power on control logic as a feature of the system 100. The method 300 is preferably performed using the power on control connector 116 and the shut-down connector 114. The power control connector (not shown) of the computing device 10 is coupled with a power-on connector 116, via step 302. The AC power to the system 100 is then turned on, the DC power to the system 100 turned off, and the server of the system 100 placed in standby mode, via step 304. It is determined whether the shut-down button has been depressed, via step 306. If not, step 306 is returned to.
  • Otherwise, DC power for the system 100 is turned on and the system 100 boots up, via step 308. It is then determined whether power is to be disabled, via step 310. If so, then the power on is asserted, via step 314 and the system DC power turned off via step 324. If power is not to be disabled, then it is determined whether the shut-down interrupt is to be enabled, via step 312. If not, it is determined whether the shut-down button has been pressed, via step 322. If so, then the system DC power is turned off, via step 324. Otherwise, the method returns to step 310. If it is determined in step 312 that the shut-down interrupt is to be enabled, power on is de-asserted, via step 316. It is then determined whether the shut-down button has been pressed, via step 318. Preferably, step 318 determines whether the shut-down button has been pressed for a particular amount of time. If not, then the method returns to step 310. Otherwise, the shutdown input is generated, via step 320 and step 310 returned to.
  • Thus, using the method 300, the shut-down button can be used in different ways. If the shut down button is pressed prior to a shut-down interrupt being enabled, then the method 300 allows the DC power to the system 100 to be turned off. If, however, the shutdown interrupt was enabled, as determined in step 312, prior to the shut-down button being pressed, then the shut down input generated in step 320 and the system 100 can be shut down using the method 220. Thus, using the method 300, the shut-down button can be used either to turn off the DC power to the system or to shut down the system 100. Thus, using the methods 220, 240, 260, 280 and 300, additional functions can be provided using the system 100.
  • A method and system has been disclosed for allowing a computing device to be used as a server. Software written according to the present invention is to be stored in some form of computer-readable medium, such as memory, CD-ROM or transmitted over a network, and executed by a processor. Consequently, a computer-readable medium is intended to include a computer readable signal which, for example, may be transmitted over a network.
  • Accordingly, a system and method in accordance with the present invention applies to a variety of mass storage devices such as Serial ATA FLASH hard drive, IDE FLASH hard drive, SCSI FLASH hard drive and Ethernet FLASH hard drive. In addition, a FLASH controller in accordance with the present invention also applies to FLASH memory cards such as Express Card, Mini PCI Express Card, Secure Digital Card, Multi Media Card, Memory Stick Card and Compact FLASH card. Finally, a system in accordance with the present invention also applies to the other serial buses such as PCI Express bus, Serial ATA bus, IEEE 1394 bus and Ethernet bus. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.
  • Although the present invention has been described in accordance with the embodiments shown, one of ordinary skill in the art will readily recognize that there could be variations to the embodiments and those variations would be within the spirit and scope of the present invention. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.

Claims (24)

1. A system for providing a server-on-a-USB on a computing device, the computing device including at least a processor and an optional mass storage device, the system comprising:
bus interface logic for interfacing between the computing device and the system, the bus interface logic allowing the computing device to detect the system; and
a memory for storing a server image for the server and a USB Local Control Program, the USB Local Control Program for booting up the server and preparing the computing device for use as the server, the server image being provided to the computing device using the USB Local Control Program.
2. The system of claim 1 further comprising:
a plurality of control button connectors;
a plurality of buttons, the plurality of control button connectors for allowing the server to be turned on, shut down gracefully, or restored to its initial state, by a single press of at least one of the plurality of buttons connected to the plurality of control button connectors; and
a plurality of LED and LCD connectors allowing the system status to be displayed or shown.
3. The system of claim 1 wherein the memory is a flash memory.
4. The system of claim 1 further comprising: control logic.
5. The system of claim 4 further comprising:
a push button; and wherein the control logic further includes a one-button init connector, coupled with the push button, for restoring the server to a default state in response to the push button being depressed for a particular time.
6. The system of claim 4 further comprising:
a push button; and wherein the control logic further includes a shut-down connector, coupled with the push button, the shut-down connector shutting down the server gracefully if the push button is pressed for a particular time.
7. The system of claim 4 wherein the control logic further includes a power-on connector; and wherein the control logic further includes a power-on connector connecting to the power-on connector of the system board, coupled with the shut-down push button, the power-on connector further turns the power supply on if the push button is depressed when the computing device is supplied with AC power.
8. The system of claim 4 further comprising: a light emitting diode (LED) connector; and wherein the control logic further includes a status LED connector coupled with the LED for indicating a operating status of the system.
9. The system of claim 4 further comprising:
a light emitting diode (LED) connector; and wherein the control logic further includes a power-on LED connector coupled with the LED for indicating a power status of the system.
10. The system of claim 4 further comprising:
a liquid crystal display (LCD) connector; and wherein the control logic further includes a LCD display connector coupled with the LCD for indicating a operating status of the system.
11. The system of claim 1 wherein the bus interface logic, the USB local control logic, a flash memory and a set of control button connectors, light emitting diodes (LED) connectors and a liquid crystal display (LCD) connector are incorporated into a single board.
12. A method for providing a server-on-a-USB on a computing device, the computing device including at least a processor and an optional mass storage device, the method comprising the steps of:
(a) providing a board including bus interface logic, a USB Local Control Program, a flash memory, the bus interface logic for interfacing between the computing device and the system, the bus interface logic allowing the computing device to detect the system, the USB Local Control Program coupled with the bus interface logic, the USB Local Control Program for booting up the server and preparing the computing device for use as the server, the memory for storing a server image for the server, the server image being provided to the computing device using the USB Local Control Program; and
(b) allowing a user to utilize the server access using the board.
13. The method of claim 12 wherein the board further includes a plurality of control button connectors, a plurality of light emitting diodes (LED) connectors and a liquid crystal display (LCD) connector, the plurality of control button connectors allowing the server to be turned on, shut down gracefully, or restored to an initial state, by a single press of buttons connected to the plurality of control button connectors, the plurality of LED connectors and the LCD connector allowing the system status to be displayed or shown.
14. The method of claim 12 wherein the memory is a flash memory.
15. The method of claim 12 wherein the board further includes control logic.
16. The method of claim 15 wherein the board further includes a push button; and wherein the control logic further includes a one-button init connector, coupled with the push button, for restoring the server to a default state in response to the push button being depressed for a particular time.
17. The method of claim 15 wherein the board further includes a push button; and wherein the control logic further includes a shut-down connector, coupled with the push button, the shut-down connector shutting down the server gracefully if the push button is pressed for a particular time.
18. The method of claim 15 wherein the control logic further includes a power-on connector; wherein the computing device includes a system board; and wherein the control logic further includes a power-on connector connecting to a power-on connector of the system board for the computing device, coupled with the shut-down push button, the power-on connector further turns the power supply on if the push button is depressed when the computing device is supplied with AC power.
19. The method of claim 15 further comprising the step of:
providing a light emitting diode (LED) connector; and wherein the control logic further includes a status LED connector coupled with the LED for indicating a operating status of the system.
20. The method of claim 15 further comprising the step of:
providing a light emitting diode (LED) connector; and wherein the control logic further includes a power-on LED connector coupled with the LED for indicating a power status of the system.
21. The method of claim 15 further comprising the step of:
providing a liquid crystal display (LCD) connector; and wherein the control logic further includes a LCD display connector coupled with the LCD for displaying a operating status of the system.
22. The method of claim 12 wherein the bus interface logic, the local USB control logic, the flash memory and a set of control button connectors, light emitting diodes (LED) connectors and a liquid crystal display (LCD) connector, are incorporated into a single board.
23. A method for providing a server-on-a-USB on a computing device, the computing device including at least a processor and an optional mass storage device, the method comprising the steps of:
(a) detecting a system for providing the server using bus interface logic in the system; accessing a USB Local Control Program on a memory;
(b) using the USB Local Control Program for preparing the computing device for use as the server; and
(c) booting up the server, for accessing the memory in the system for storing a server image for the server, the server image being provided to the computing device using the USB Local Control Program.
24. The method of claim 23 further comprising the steps of: using a plurality of control button connectors allowing the server to be turned on, shut down gracefully, or restored to its initial state, by a single press of buttons connected to the plurality of control button connectors. using the LED and LCD connectors allowing the system status to be displayed or shown.
US10/762,934 2000-01-06 2004-01-21 Method and system for providing a modular server on USB flash storage Abandoned US20050160213A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US10/762,934 US20050160213A1 (en) 2004-01-21 2004-01-21 Method and system for providing a modular server on USB flash storage
US11/440,540 US8438376B1 (en) 2001-10-19 2006-05-24 Method and system for providing a modular server on USB flash storage
US11/757,955 US20070250564A1 (en) 2001-09-25 2007-06-04 Method And System For Providing A Modular Server On USB Flash Storage
US11/846,476 US20090013165A1 (en) 2000-01-06 2007-08-28 Portable usb device that boots a computer as a server
US11/861,133 US20080082813A1 (en) 2000-01-06 2007-09-25 Portable usb device that boots a computer as a server with security measure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/762,934 US20050160213A1 (en) 2004-01-21 2004-01-21 Method and system for providing a modular server on USB flash storage

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/002,652 Continuation-In-Part US7103765B2 (en) 2000-01-06 2001-10-19 Method and system for providing a modulized server on board

Related Child Applications (4)

Application Number Title Priority Date Filing Date
US09/478,720 Continuation-In-Part US7257714B1 (en) 1999-08-04 2000-01-06 Electronic data storage medium with fingerprint verification capability
US11/440,540 Continuation US8438376B1 (en) 2001-10-19 2006-05-24 Method and system for providing a modular server on USB flash storage
US11/757,955 Division US20070250564A1 (en) 2001-09-25 2007-06-04 Method And System For Providing A Modular Server On USB Flash Storage
US11/846,746 Continuation-In-Part US7987006B2 (en) 2000-01-06 2007-08-29 Automatic generation of PID parameters for a scanning probe microscope

Publications (1)

Publication Number Publication Date
US20050160213A1 true US20050160213A1 (en) 2005-07-21

Family

ID=34750388

Family Applications (3)

Application Number Title Priority Date Filing Date
US10/762,934 Abandoned US20050160213A1 (en) 2000-01-06 2004-01-21 Method and system for providing a modular server on USB flash storage
US11/440,540 Expired - Fee Related US8438376B1 (en) 2001-10-19 2006-05-24 Method and system for providing a modular server on USB flash storage
US11/757,955 Abandoned US20070250564A1 (en) 2001-09-25 2007-06-04 Method And System For Providing A Modular Server On USB Flash Storage

Family Applications After (2)

Application Number Title Priority Date Filing Date
US11/440,540 Expired - Fee Related US8438376B1 (en) 2001-10-19 2006-05-24 Method and system for providing a modular server on USB flash storage
US11/757,955 Abandoned US20070250564A1 (en) 2001-09-25 2007-06-04 Method And System For Providing A Modular Server On USB Flash Storage

Country Status (1)

Country Link
US (3) US20050160213A1 (en)

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060206654A1 (en) * 2005-03-14 2006-09-14 Phison Electronics Corp. [virtual usb flash memory storage device with pci express]
US7302501B1 (en) * 2004-03-31 2007-11-27 Western Digital Technologies, Inc. Peripheral data storage system with multi-state user display
US7302579B1 (en) 2004-03-31 2007-11-27 Western Digital Technologies, Inc. Performing backup operations to peripheral data storage systems
US20080052452A1 (en) * 2000-01-06 2008-02-28 Chow David Q Electronic data flash card with various flash memory cells
US20080052507A1 (en) * 2000-01-06 2008-02-28 Super Talent Electronics Inc. Multi-Partition USB Device that Re-Boots a PC to an Alternate Operating System for Virus Recovery
US20080064271A1 (en) * 2005-10-24 2008-03-13 Super Talent Electronics Inc. Plug and cap for a Universal-Serial-Bus (USB) device
US7346790B1 (en) 2004-03-31 2008-03-18 Western Digital Technologies, Inc. Remote power cycling of peripheral data storage system
US20080082813A1 (en) * 2000-01-06 2008-04-03 Chow David Q Portable usb device that boots a computer as a server with security measure
US20080086631A1 (en) * 2000-01-06 2008-04-10 Chow David Q Flash memory controller controlling various flash memory cells
US20080147964A1 (en) * 2004-02-26 2008-06-19 Chow David Q Using various flash memory cells to build usb data flash cards with multiple partitions and autorun function
US20080177922A1 (en) * 2000-01-06 2008-07-24 Chow David Q Mass production testing of usb flash cards with various flash memory cells
US20080215800A1 (en) * 2000-01-06 2008-09-04 Super Talent Electronics, Inc. Hybrid SSD Using A Combination of SLC and MLC Flash Memory Arrays
US20080233798A1 (en) * 1999-08-04 2008-09-25 Super Talent Electronics, Inc. Multi-Level Cell (MLC) Slide Flash Memory
US20080232060A1 (en) * 1999-08-04 2008-09-25 Super Talent Electronics, Inc. Multi-Level Cell (MLC) Rotate Flash Memory Device
US7440287B1 (en) 2000-01-06 2008-10-21 Super Talent Electronics, Inc. Extended USB PCBA and device with dual personality
US20090177835A1 (en) * 2004-01-20 2009-07-09 Super Talent Electronics, Inc. Flash Drive With Spring-Loaded Retractable Connector
US20090190277A1 (en) * 2007-09-28 2009-07-30 Super Talent Electronics, Inc. ESD Protection For USB Memory Devices
US7660938B1 (en) 2004-10-01 2010-02-09 Super Talent Electronics, Inc. Flash card reader and data exchanger utilizing low power extended USB protocol without polling
US7664902B1 (en) 2004-03-16 2010-02-16 Super Talent Electronics, Inc. Extended SD and microSD hosts and devices with USB-like high performance packetized interface and protocol
US20100039225A1 (en) * 2004-02-26 2010-02-18 Super Talent Electronics, Inc. Slide flash memory devices
US20100075517A1 (en) * 2007-10-30 2010-03-25 Super Talent Electronics, Inc. Flash Drive With Spring-Loaded Swivel Connector
US7771215B1 (en) 2003-12-02 2010-08-10 Super Talent Electronics, Inc. MLC COB USB flash memory device with sliding plug connector
US7815469B1 (en) 2004-02-12 2010-10-19 Super Talent Electronics, Inc. Dual-personality extended USB plugs and receptacles using with PCBA and cable assembly
US7850468B2 (en) 2007-06-28 2010-12-14 Super Talent Electronics, Inc. Lipstick-type USB device
US7850082B1 (en) 2004-10-01 2010-12-14 Super Talent Electronics, Inc. Extended universal serial bus (USB) card reader
US20110010926A1 (en) * 2008-04-07 2011-01-20 Toyota Motor Engineering & Manufacturing Microwave antenna and method for making same
US7874067B1 (en) 2000-01-06 2011-01-25 Super Talent Electronics, Inc. Manufacturing method for single chip COB USB devices with optional embedded LED
US20110059636A1 (en) * 2007-12-04 2011-03-10 Super Talent Electronics, Inc. Lipstick-Type USB Device With Tubular Housing
US7944702B2 (en) 2007-08-27 2011-05-17 Super Talent Electronics, Inc. Press-push flash drive apparatus with metal tubular casing and snap-coupled plastic sleeve
US7984303B1 (en) 2000-01-06 2011-07-19 Super Talent Electronics, Inc. Flash memory devices with security features
US8014130B1 (en) 2004-02-26 2011-09-06 Super Talent Electronics, Inc. Pen-like universal serial bus (USB) flash drive with deploying and retracting functionalities
US8021166B1 (en) 2004-02-12 2011-09-20 Super Talent Electronics, Inc. Extended USB plug, USB PCBA, and USB flash drive with dual-personality for embedded application with mother boards
US8043099B1 (en) 2004-02-12 2011-10-25 Super Talent Electronics, Inc. Extended USB plug, USB PCBA, and USB flash drive with dual-personality
US8073985B1 (en) 2004-02-12 2011-12-06 Super Talent Electronics, Inc. Backward compatible extended USB plug and receptacle with dual personality
US8102662B2 (en) 2007-07-05 2012-01-24 Super Talent Electronics, Inc. USB package with bistable sliding mechanism
US8240034B1 (en) 2000-01-06 2012-08-14 Super Talent Electronics, Inc. High throughput manufacturing method for micro flash memory cards
US8625270B2 (en) 1999-08-04 2014-01-07 Super Talent Technology, Corp. USB flash drive with deploying and retracting functionalities using retractable cover/cap
US11113007B2 (en) 2019-05-13 2021-09-07 Micron Technology, Inc. Partial execution of a write command from a host system

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9753878B2 (en) * 2011-11-02 2017-09-05 Intel Corporation Extending the capabilities of existing devices without making modifications to the existing devices
CN108289237B (en) * 2018-02-12 2020-08-25 腾讯科技(深圳)有限公司 Method, device and terminal for playing dynamic picture and computer readable storage medium

Citations (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4843223A (en) * 1985-12-11 1989-06-27 Sharp Kabushiki Kaisha Information processing device for IC card
US5136713A (en) * 1989-08-25 1992-08-04 International Business Machines Corporation Apparatus and method for decreasing the memory requirements for bios in a personal computer system
US5406261A (en) * 1993-01-11 1995-04-11 Glenn; James T. Computer security apparatus and method
US5430859A (en) * 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
US5469573A (en) * 1993-02-26 1995-11-21 Sytron Corporation Disk operating system backup and recovery system
US5564040A (en) * 1994-11-08 1996-10-08 International Business Machines Corporation Method and apparatus for providing a server function in a logically partitioned hardware machine
US5751714A (en) * 1994-07-28 1998-05-12 International Business Machines Corporation Time division multiplex frame slot assignment system and method for interconnecting telephone stations on a token ring network
US5764155A (en) * 1996-04-03 1998-06-09 General Electric Company Dynamic data exchange server
US5838982A (en) * 1996-12-19 1998-11-17 Intel Corporation Power switch method and apparatus for preventing a failure in the power controller
US5889970A (en) * 1997-05-09 1999-03-30 Compaq Computer Corp. Dual purpose apparatus, method and system for accelerated graphics port and peripheral component interconnect
US5954808A (en) * 1997-09-17 1999-09-21 Micron Electronics, Inc. Method for configuring a computer-based system with a configuration card
US5974547A (en) * 1998-03-20 1999-10-26 3Com Corporation Technique for reliable network booting of an operating system to a client computer
US5987536A (en) * 1997-05-22 1999-11-16 International Business Machines Corporation Computer system having flash memory bios which can be accessed while protected mode operating system is running
US6115755A (en) * 1998-04-09 2000-09-05 Novaweb Technologies, Inc. Integrated apparatus for interfacing several computers to the internet through a single connection
US6148354A (en) * 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
US6192436B1 (en) * 1998-09-18 2001-02-20 Xilinx Inc. System and method for configuration of electronic devices using a smart card which having configuration data stored therein
US20010003180A1 (en) * 1999-12-07 2001-06-07 Sony Corporation Information storage system, server apparatus and information control method
US6256732B1 (en) * 1998-06-25 2001-07-03 International Business Machines Corporation Computer system having automatic registration for in-box configuration
US6282643B1 (en) * 1998-11-20 2001-08-28 International Business Machines Corporation Computer system having flash memory BIOS which can be accessed remotely while protected mode operating system is running
US6292790B1 (en) * 1997-10-20 2001-09-18 James E. Krahn Apparatus for importing and exporting partially encrypted configuration data
US6353885B1 (en) * 1999-01-26 2002-03-05 Dell Usa, L.P. System and method for providing bios-level user configuration of a computer system
US6408333B1 (en) * 1994-11-23 2002-06-18 Horizon Technologies Inc. System for portable establishing network server
US20030061474A1 (en) * 2001-09-25 2003-03-27 Chen Ben Wei Method and system for providing a modulized server on board
US20030126202A1 (en) * 2001-11-08 2003-07-03 Watt Charles T. System and method for dynamic server allocation and provisioning
US6654797B1 (en) * 2000-05-25 2003-11-25 International Business Machines Corporation Apparatus and a methods for server configuration using a removable storage device
US6665383B1 (en) * 2002-09-19 2003-12-16 Seong-Hwan Kim Remote control module for computer and method thereof
US6757730B1 (en) * 2000-05-31 2004-06-29 Datasynapse, Inc. Method, apparatus and articles-of-manufacture for network-based distributed computing
US6792515B2 (en) * 2001-06-21 2004-09-14 International Business Machines Corporation System for addressing processors connected to a peripheral bus
US20040236980A1 (en) * 2001-10-19 2004-11-25 Chen Ben Wei Method and system for providing a modular server on USB flash storage
US6832271B1 (en) * 2002-05-23 2004-12-14 Adaptec, Inc. Systems and methods for monitoring and displaying I/O data for plurality of I/O devices
US6851614B2 (en) * 2002-01-21 2005-02-08 Sun Microsystems, Inc. Computer configuration
US20050041385A1 (en) * 1993-02-19 2005-02-24 Dan Kikinis Micro personal digital assistant with a compressed BIOS system
US6948090B2 (en) * 2000-08-31 2005-09-20 Sun Microsystems, Inc. Method and apparatus for network identification
US6950895B2 (en) * 2001-06-13 2005-09-27 Intel Corporation Modular server architecture
US7158948B1 (en) * 1999-06-10 2007-01-02 International Business Machines Corporation Method and apparatus for encoding transactions for goods and services using an e-receipt

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2718262B1 (en) * 1994-03-31 1996-05-24 Sgs Thomson Microelectronics Modulo addressing buffer memory.
US6016402A (en) * 1996-05-21 2000-01-18 Iomega Corporation Method for integrating removable media disk drive into operating system recognized as fixed disk type and modifying operating system to recognize as floppy disk type
US6098158A (en) * 1997-12-18 2000-08-01 International Business Machines Corporation Software-enabled fast boot
US6216186B1 (en) * 1998-06-15 2001-04-10 Sun Microsystems, Inc. Modular computer system including compatibility evaluation logic
EP1113646A1 (en) 1999-12-31 2001-07-04 Advanced Communication Research A server module and a distributed server based internet access scheme and method of operating the same
EP1243116A2 (en) * 1999-12-31 2002-09-25 Realscale Technologies Inc. A server module and a distributed server-based internet access scheme and method of operating the same
US7213766B2 (en) * 2003-11-17 2007-05-08 Dpd Patent Trust Ltd Multi-interface compact personal token apparatus and methods of use

Patent Citations (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4843223A (en) * 1985-12-11 1989-06-27 Sharp Kabushiki Kaisha Information processing device for IC card
US5136713A (en) * 1989-08-25 1992-08-04 International Business Machines Corporation Apparatus and method for decreasing the memory requirements for bios in a personal computer system
US5430859A (en) * 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
US5406261A (en) * 1993-01-11 1995-04-11 Glenn; James T. Computer security apparatus and method
US20050041385A1 (en) * 1993-02-19 2005-02-24 Dan Kikinis Micro personal digital assistant with a compressed BIOS system
US5469573A (en) * 1993-02-26 1995-11-21 Sytron Corporation Disk operating system backup and recovery system
US5751714A (en) * 1994-07-28 1998-05-12 International Business Machines Corporation Time division multiplex frame slot assignment system and method for interconnecting telephone stations on a token ring network
US5564040A (en) * 1994-11-08 1996-10-08 International Business Machines Corporation Method and apparatus for providing a server function in a logically partitioned hardware machine
US6408333B1 (en) * 1994-11-23 2002-06-18 Horizon Technologies Inc. System for portable establishing network server
US5764155A (en) * 1996-04-03 1998-06-09 General Electric Company Dynamic data exchange server
US5838982A (en) * 1996-12-19 1998-11-17 Intel Corporation Power switch method and apparatus for preventing a failure in the power controller
US5889970A (en) * 1997-05-09 1999-03-30 Compaq Computer Corp. Dual purpose apparatus, method and system for accelerated graphics port and peripheral component interconnect
US5987536A (en) * 1997-05-22 1999-11-16 International Business Machines Corporation Computer system having flash memory bios which can be accessed while protected mode operating system is running
US5954808A (en) * 1997-09-17 1999-09-21 Micron Electronics, Inc. Method for configuring a computer-based system with a configuration card
US6292790B1 (en) * 1997-10-20 2001-09-18 James E. Krahn Apparatus for importing and exporting partially encrypted configuration data
US5974547A (en) * 1998-03-20 1999-10-26 3Com Corporation Technique for reliable network booting of an operating system to a client computer
US6115755A (en) * 1998-04-09 2000-09-05 Novaweb Technologies, Inc. Integrated apparatus for interfacing several computers to the internet through a single connection
US6256732B1 (en) * 1998-06-25 2001-07-03 International Business Machines Corporation Computer system having automatic registration for in-box configuration
US6192436B1 (en) * 1998-09-18 2001-02-20 Xilinx Inc. System and method for configuration of electronic devices using a smart card which having configuration data stored therein
US6282643B1 (en) * 1998-11-20 2001-08-28 International Business Machines Corporation Computer system having flash memory BIOS which can be accessed remotely while protected mode operating system is running
US6353885B1 (en) * 1999-01-26 2002-03-05 Dell Usa, L.P. System and method for providing bios-level user configuration of a computer system
US6148354A (en) * 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
US7158948B1 (en) * 1999-06-10 2007-01-02 International Business Machines Corporation Method and apparatus for encoding transactions for goods and services using an e-receipt
US20010003180A1 (en) * 1999-12-07 2001-06-07 Sony Corporation Information storage system, server apparatus and information control method
US6654797B1 (en) * 2000-05-25 2003-11-25 International Business Machines Corporation Apparatus and a methods for server configuration using a removable storage device
US6757730B1 (en) * 2000-05-31 2004-06-29 Datasynapse, Inc. Method, apparatus and articles-of-manufacture for network-based distributed computing
US6948090B2 (en) * 2000-08-31 2005-09-20 Sun Microsystems, Inc. Method and apparatus for network identification
US6950895B2 (en) * 2001-06-13 2005-09-27 Intel Corporation Modular server architecture
US6792515B2 (en) * 2001-06-21 2004-09-14 International Business Machines Corporation System for addressing processors connected to a peripheral bus
US7103765B2 (en) * 2001-09-25 2006-09-05 Ben Wei Chen Method and system for providing a modulized server on board
US20030061474A1 (en) * 2001-09-25 2003-03-27 Chen Ben Wei Method and system for providing a modulized server on board
US20040236980A1 (en) * 2001-10-19 2004-11-25 Chen Ben Wei Method and system for providing a modular server on USB flash storage
US20030126202A1 (en) * 2001-11-08 2003-07-03 Watt Charles T. System and method for dynamic server allocation and provisioning
US6851614B2 (en) * 2002-01-21 2005-02-08 Sun Microsystems, Inc. Computer configuration
US6832271B1 (en) * 2002-05-23 2004-12-14 Adaptec, Inc. Systems and methods for monitoring and displaying I/O data for plurality of I/O devices
US6665383B1 (en) * 2002-09-19 2003-12-16 Seong-Hwan Kim Remote control module for computer and method thereof

Cited By (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080233798A1 (en) * 1999-08-04 2008-09-25 Super Talent Electronics, Inc. Multi-Level Cell (MLC) Slide Flash Memory
US8625270B2 (en) 1999-08-04 2014-01-07 Super Talent Technology, Corp. USB flash drive with deploying and retracting functionalities using retractable cover/cap
US7744387B2 (en) 1999-08-04 2010-06-29 Super Talent Electronics, Inc. Multi-level cell (MLC) rotate flash memory device
US7628622B2 (en) 1999-08-04 2009-12-08 Super Talent Electronics, Inc. Multi-level cell (MLC) slide flash memory
US20080232060A1 (en) * 1999-08-04 2008-09-25 Super Talent Electronics, Inc. Multi-Level Cell (MLC) Rotate Flash Memory Device
US20080177922A1 (en) * 2000-01-06 2008-07-24 Chow David Q Mass production testing of usb flash cards with various flash memory cells
US7440287B1 (en) 2000-01-06 2008-10-21 Super Talent Electronics, Inc. Extended USB PCBA and device with dual personality
US7788553B2 (en) 2000-01-06 2010-08-31 Super Talent Electronics, Inc. Mass production testing of USB flash cards with various flash memory cells
US8240034B1 (en) 2000-01-06 2012-08-14 Super Talent Electronics, Inc. High throughput manufacturing method for micro flash memory cards
US20080071977A1 (en) * 2000-01-06 2008-03-20 Chow David Q Electronic data flash card with various flash memory cells
US20080071976A1 (en) * 2000-01-06 2008-03-20 Chow David Q Electronic data flash card with various flash memory cells
US20080071978A1 (en) * 2000-01-06 2008-03-20 Chow David Q Electronic data flash card with various flash memory cells
US20080071973A1 (en) * 2000-01-06 2008-03-20 Chow David Q Electronic data flash card with various flash memory cells
US20080071975A1 (en) * 2000-01-06 2008-03-20 Chow David Q Electronic data flash card with various flash memory cells
US20080071974A1 (en) * 2000-01-06 2008-03-20 Chow David Q Electronic data flash card with various flash memory cells
US20080082813A1 (en) * 2000-01-06 2008-04-03 Chow David Q Portable usb device that boots a computer as a server with security measure
US20080086631A1 (en) * 2000-01-06 2008-04-10 Chow David Q Flash memory controller controlling various flash memory cells
US8078794B2 (en) 2000-01-06 2011-12-13 Super Talent Electronics, Inc. Hybrid SSD using a combination of SLC and MLC flash memory arrays
US7676640B2 (en) 2000-01-06 2010-03-09 Super Talent Electronics, Inc. Flash memory controller controlling various flash memory cells
US20080215800A1 (en) * 2000-01-06 2008-09-04 Super Talent Electronics, Inc. Hybrid SSD Using A Combination of SLC and MLC Flash Memory Arrays
US20080052452A1 (en) * 2000-01-06 2008-02-28 Chow David Q Electronic data flash card with various flash memory cells
US7874067B1 (en) 2000-01-06 2011-01-25 Super Talent Electronics, Inc. Manufacturing method for single chip COB USB devices with optional embedded LED
US20080052507A1 (en) * 2000-01-06 2008-02-28 Super Talent Electronics Inc. Multi-Partition USB Device that Re-Boots a PC to an Alternate Operating System for Virus Recovery
US20080313388A1 (en) * 2000-01-06 2008-12-18 Chow David Q Electronic data flash card with various flash memory cells
US20080313389A1 (en) * 2000-01-06 2008-12-18 Chow David Q Electronic data flash card with various flash memory cells
US7930531B2 (en) 2000-01-06 2011-04-19 Super Talent Electronics, Inc. Multi-partition USB device that re-boots a PC to an alternate operating system for virus recovery
US7984303B1 (en) 2000-01-06 2011-07-19 Super Talent Electronics, Inc. Flash memory devices with security features
US7771215B1 (en) 2003-12-02 2010-08-10 Super Talent Electronics, Inc. MLC COB USB flash memory device with sliding plug connector
US20090177835A1 (en) * 2004-01-20 2009-07-09 Super Talent Electronics, Inc. Flash Drive With Spring-Loaded Retractable Connector
US7869219B2 (en) 2004-01-20 2011-01-11 Super Talent Electronics, Inc. Flash drive with spring-loaded retractable connector
US8043099B1 (en) 2004-02-12 2011-10-25 Super Talent Electronics, Inc. Extended USB plug, USB PCBA, and USB flash drive with dual-personality
US8021166B1 (en) 2004-02-12 2011-09-20 Super Talent Electronics, Inc. Extended USB plug, USB PCBA, and USB flash drive with dual-personality for embedded application with mother boards
US8301831B2 (en) 2004-02-12 2012-10-30 Super Talent Electronics, Inc. Backward compatible extended USB plug and receptacle with dual personality
US8073985B1 (en) 2004-02-12 2011-12-06 Super Talent Electronics, Inc. Backward compatible extended USB plug and receptacle with dual personality
US8297987B2 (en) 2004-02-12 2012-10-30 Super Talent Electronics, Inc. Extended USB plug, USB PCBA, and USB flash drive with dual-personality for embedded application with mother boards
US7815469B1 (en) 2004-02-12 2010-10-19 Super Talent Electronics, Inc. Dual-personality extended USB plugs and receptacles using with PCBA and cable assembly
US8444423B2 (en) 2004-02-12 2013-05-21 Super Talent Electronics, Inc. Dual-personality extended USB plugs and receptacles using with PCBA and cable assembly
US8262416B2 (en) 2004-02-12 2012-09-11 Super Talent Electronics, Inc. Dual-personality extended USB plugs and receptacles using with PCBA and cable assembly
US20100039225A1 (en) * 2004-02-26 2010-02-18 Super Talent Electronics, Inc. Slide flash memory devices
US20080147964A1 (en) * 2004-02-26 2008-06-19 Chow David Q Using various flash memory cells to build usb data flash cards with multiple partitions and autorun function
US7806705B2 (en) 2004-02-26 2010-10-05 Super Talent Electronics, Inc. Slide flash memory devices
US8014130B1 (en) 2004-02-26 2011-09-06 Super Talent Electronics, Inc. Pen-like universal serial bus (USB) flash drive with deploying and retracting functionalities
US7664902B1 (en) 2004-03-16 2010-02-16 Super Talent Electronics, Inc. Extended SD and microSD hosts and devices with USB-like high performance packetized interface and protocol
US7302579B1 (en) 2004-03-31 2007-11-27 Western Digital Technologies, Inc. Performing backup operations to peripheral data storage systems
US7346790B1 (en) 2004-03-31 2008-03-18 Western Digital Technologies, Inc. Remote power cycling of peripheral data storage system
US7302501B1 (en) * 2004-03-31 2007-11-27 Western Digital Technologies, Inc. Peripheral data storage system with multi-state user display
US7660938B1 (en) 2004-10-01 2010-02-09 Super Talent Electronics, Inc. Flash card reader and data exchanger utilizing low power extended USB protocol without polling
US7850082B1 (en) 2004-10-01 2010-12-14 Super Talent Electronics, Inc. Extended universal serial bus (USB) card reader
US20070214306A1 (en) * 2005-03-14 2007-09-13 Phison Electronics Corp. Virtual usb flash memory storage device with pci express interface, controller and method thereof
US7606964B2 (en) * 2005-03-14 2009-10-20 Phison Electronics Corp. Virtual USB flash memory storage device with PCI express interface, controller and method thereof
US20060206654A1 (en) * 2005-03-14 2006-09-14 Phison Electronics Corp. [virtual usb flash memory storage device with pci express]
US7222211B2 (en) * 2005-03-14 2007-05-22 Phison Electronics Corporation Virtual USB flash memory storage device with PCI express interface
US7547218B2 (en) 2005-10-24 2009-06-16 Super Talent Electronics Inc. Plug and cap for a universal-serial-bus (USB) device
US20080064271A1 (en) * 2005-10-24 2008-03-13 Super Talent Electronics Inc. Plug and cap for a Universal-Serial-Bus (USB) device
US7850468B2 (en) 2007-06-28 2010-12-14 Super Talent Electronics, Inc. Lipstick-type USB device
US8102662B2 (en) 2007-07-05 2012-01-24 Super Talent Electronics, Inc. USB package with bistable sliding mechanism
US7944702B2 (en) 2007-08-27 2011-05-17 Super Talent Electronics, Inc. Press-push flash drive apparatus with metal tubular casing and snap-coupled plastic sleeve
US20090190277A1 (en) * 2007-09-28 2009-07-30 Super Talent Electronics, Inc. ESD Protection For USB Memory Devices
US8241047B2 (en) 2007-10-30 2012-08-14 Super Talent Electronics, Inc. Flash drive with spring-loaded swivel connector
US20100075517A1 (en) * 2007-10-30 2010-03-25 Super Talent Electronics, Inc. Flash Drive With Spring-Loaded Swivel Connector
US8116083B2 (en) 2007-12-04 2012-02-14 Super Talent Electronics, Inc. Lipstick-type USB device with tubular housing
US20110059636A1 (en) * 2007-12-04 2011-03-10 Super Talent Electronics, Inc. Lipstick-Type USB Device With Tubular Housing
US20110010926A1 (en) * 2008-04-07 2011-01-20 Toyota Motor Engineering & Manufacturing Microwave antenna and method for making same
US11113007B2 (en) 2019-05-13 2021-09-07 Micron Technology, Inc. Partial execution of a write command from a host system
US11782643B2 (en) 2019-05-13 2023-10-10 Micron Technology, Inc. Partial execution of a write command from a host system

Also Published As

Publication number Publication date
US8438376B1 (en) 2013-05-07
US20070250564A1 (en) 2007-10-25

Similar Documents

Publication Publication Date Title
US8438376B1 (en) Method and system for providing a modular server on USB flash storage
US7103765B2 (en) Method and system for providing a modulized server on board
US7467290B2 (en) Method and system for providing a modular server on USB flash storage
US7213139B2 (en) System for gathering and storing internal and peripheral components configuration and initialization information for subsequent fast start-up during first execution of fast start-up
KR101518323B1 (en) Method and system for providing hybrid-shutdown and fast startup processes
US8862790B2 (en) Method for identifying version type of windows operating system on a host by a USB device
US20030110369A1 (en) Firmware extensions
US20070043889A1 (en) Information processing apparatus and access method
US7822964B2 (en) Booting apparatus for booting a computer and method therefor and computer with a booting apparatus
US7356684B2 (en) Booting system and/or method for initializing peripherals
US20090193152A1 (en) External device with a driver auto-run installation and method thereof
US10210842B2 (en) Techniques of displaying host data on a monitor connected to a service processor during pre-boot initialization stage
US20190065300A1 (en) Method of retrieving debugging data in uefi and computer system thereof
US6895517B2 (en) Method of synchronizing operation frequencies of CPU and system RAM in power management process
US8335891B2 (en) Method and system for configuring a storage array
US20090132798A1 (en) Electronic device and method for resuming from suspend-to-memory state thereof
US10204011B1 (en) Techniques for partially restarting a computing device in response to a configuration change
CN107145198B (en) Method for improving compatibility of server to hard disk and mainboard thereof
US7080164B2 (en) Peripheral device having a programmable identification configuration register
US8719637B2 (en) System and method for acquiring basic input/output system debug codes
CN110688235B (en) System and method for sharing wireless connection information between UEFI firmware and OS
US20050223209A1 (en) Apparatus for fast booting computer and method for the same
US10115375B2 (en) Systems and methods for enabling a systems management interface with an alternate frame buffer
US10198270B2 (en) Dynamic hardware configuration via firmware interface at computing device boot
US20140136777A1 (en) Method and system for configuring a storage array

Legal Events

Date Code Title Description
AS Assignment

Owner name: SUPER TALENT ELECTRONICS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CHEN, BEN WEI;REEL/FRAME:014931/0241

Effective date: 20040121

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION