WO2005013133A2 - System, apparatus and method for controlling a storage device - Google Patents
System, apparatus and method for controlling a storage device Download PDFInfo
- Publication number
- WO2005013133A2 WO2005013133A2 PCT/US2004/024166 US2004024166W WO2005013133A2 WO 2005013133 A2 WO2005013133 A2 WO 2005013133A2 US 2004024166 W US2004024166 W US 2004024166W WO 2005013133 A2 WO2005013133 A2 WO 2005013133A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- storage
- host device
- storage device
- control message
- executing
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0637—Permissions
Definitions
- the present invention relates to computing device control of a storage device, and more particularly control using read and write operations.
- Computer storage is the holding of data in an electromagnetic form for access by a computer processor.
- the storage may be divided to primary storage, such as random access memory (RAM), and secondary storage such as hard disks, also referred to as bulk storage. Secondary storage may be further divided into internal storage, such as, in one example, a hard drive that is shipped with a PC, and external storage, such as a removable hard drive that connects to the PC through the Universal Serial Bus 0JSB) interface.
- the PC also called host PC, or another host device with a computer processor, controls a particular storage device by a software program called a device driver.
- a device driver essentially converts the more general input/output instructions of the operating system to messages that the device can understand.
- Block devices manage their storage in fixed sized blocks, for example blocks of 512 bytes. Each block is assigned a Logical Block Address (LBA), which can be addressed by the device driver.
- LBA Logical Block Address
- a software layer known as a file system which is a part of the operating system that resides on the host PC or host device, performs the operation of managing files using storage blocks.
- a file system uses READ BLOCK and WRITE BLOCK commands, which essentially enable retrieving blocks of data from the storage device and writing blocks of data to the storage device.
- READ BLOCK and WRITE BLOCK commands which essentially enable retrieving blocks of data from the storage device and writing blocks of data to the storage device.
- one of the parameters of these commands is the LBA of the particular block of interest.
- the file system maintains structured management data in one or more storage blocks which assists in performing file based operations, such as creating a file, retrieving data from a file, etc.
- An example of such a structure is the FAT (File Allocation Table) file system.
- the FAT table keeps track of which LBA's were used and for what purpose.
- a FAT table may contain the ordered series of LBA's used to store a certain file. Since during the operation of a storage device, this data may go through many changes, some operating systems cache the data to the RAM in order to gain speed, and then write the changed data back to the storage at appropriate occasions.
- Other commands sent to block devices are CONTROL commands, enabling the host computer to perform control operations on the storage device based on the parameters of the command.
- Examples are formatting the storage device, initiating a self-test diagnostic operation, changing internal device parameters, and vendor specific commands.
- CONTROL operations if used improperly, might be harmful to the integrity of the storage device, popular operating systems such as the Windows and Mac OS families place certain restrictions on the usage of CONTROL commands.
- the CONTROL command in Windows "DeviceIoControl()" is restricted to users that have administrative permissions only.
- the underlying logic of this approach is that, for normal uses, the READ and WRITE commands suffice, whereas CONTROL commands are needed only in setup and configuration scenarios. In corporations and enterprises where an IT administrative team handles configuration of many PCs, this reduces the risk of inexpert computer users causing damage to the storage device or a loss of data by trying to do configuration and setup operations themselves.
- USB flash drive or keychain storage This is an external storage device based on non-volatile flash technology and connected to the host PC or host device using the USB interface.
- Examples are Sony Micro Vault, Dell Memory Key, and M-Systems DiskOnKey (www.diskonkey.com). These storage devices usually have some computational power and therefore may perform other tasks other than just serving as a storage device. Examples are Micro Vault AutoLogin which automatically fills website user IDs and passwords, and Password Lock, enabling password protection of any portion of the storage device's contents.
- DiskOnkey MyKey a graphic user interface that lets users designate frequently used files for quick and easy transfer, choose language preferences, and set audio or visual indications for new data.
- Still another example is the ability to upgrade the software that is to run on the storage device, as shown by Cyberkey's "future-proof technology" (www.cyberkeycorp.com).
- Other and more complex applications are feasible.
- the common feature of the above-mentioned applications and others is that they are executed both on the host PC and on the storage device itself using its own controller. In order to function properly, the program running on the host PC and the program running on the storage device must interact by transferring information between each other.
- the means to communicate between a PC Application executing in the host computer and the Storage Application executing inside a storage device is achieved through the use of one or more files in the storage device, to which both applications have access.
- the PC Application accesses the file or files using the WRITE BLOCK and READ BLOCK commands and access to the file or files does not necessitate administrative permissions.
- the content written to such a file includes commands, data and parameters addressed to the Storage Application to execute or process.
- the storage device returns a response from the Storage Application by reading from such a file.
- Figure 1 is a schematic block diagram of a system including a Client Channel Application Layer and a Server Channel Application Layer
- Figure 2 is a flow chart of a preferred exemplary method of the invention depicting the steps of initiating the communication channel
- Figure 3 is a flow chart of a preferred exemplary method of the invention depicting the steps of sending a message from a software application executing in the host computer or device to the storage application executing in the storage device using READ BLOCK and WRITE BLOCK commands
- Figure 4 is a flow chart of a preferred exemplary method of the invention depicting the steps of sending a message from the storage application executing in the storage device to a software application executing in the host computer or device using READ BLOCK and WRITE BLOCK commands.
- Corresponding numerals and symbols in the different figures generally refer to corresponding parts unless otherwise indicated. The figures are drawn to clearly illustrate the relevant aspects of the
- Figure 1 illustrates an exemplary embodiment of the system 100, mcluding a Client Application Channel Layer 101 and a Server Application Channel Layer 102.
- the Client Application Channel Layer 101 is software executing in the host PC or device and used by a PC Application to send and retrieve commands, data and parameters to and from the Storage Application.
- the Client Application Channel Layer 101 performs operations such as: accepting requests from the PC Application, converting the requests into a sequence of one or more READ BLOCK and/or one or more WRITE BLOCK commands, sending responses to the PC Application, housekeeping, and management of the communication process and the like.
- the Server Application Channel Layer 102 is software executing in the storage device and used to identify
- FIG. 1 is a flow chart describing an exemplary sequence of operations carried out to initiate the communication channel in an exemplary embodiment of the invention.
- step 200 the storage device is powered up, however, if the storage device has already been powered up no change in status in the storage device occurs in this step, and the sequence progresses to step 201.
- step 201 the Server Application Channel Layer searches the file system's management data system that resides in the storage media of the storage device for a specific file, hereafter referred to as a Communication File.
- this structure can be the FAT structure in case of a FAT file system, in other embodiments it can be a different file system such as NTFS or others, the invention is not so limited.
- step 202 in those cases that the Communication File could not be located, the Server Application
- the Channel Layer creates it. In some embodiments this may be implemented by creating and placing a new file in the root directory or in a sub-directory of a FAT file system. In some embodiments, the creation process will also allocate one or more storage blocks for the Communication File. In some embodiments, the creation process will also fill some storage blocks with data. In step 203, the Server Application Channel Layer records one or more LBA's that were allocated for the Communication File.
- Figure 3 is a flow chart describing an exemplary sequence of operations carried out in a preferred embodiment when a message from the PC Application is sent to the Storage Application. In step 300 the PC Application issues a request to be processed by the Storage Application.
- the Client Application Channel Layer accepts the request and optionally performs some processing such as formatting the request and/or setting some parameters and/or initiating a different working mode or the like.
- the Client Application Channel Layer sends the request to the storage device by writing into the Communication File. This operation engages the file system and the operating system running in the host PC to generate a series of none, one or more WRITE BLOCK commands and/or none, one or more READ_BLOCK commands eventually requesting the storage device to place the sent data in LBA's that are allocated for the Communication File.
- the Client Application Channel Layer opens a file for each request and closes it once the request is completed.
- the Client Application Channel Layer opens the file once at the beginning of the session and closes it upon completion. Yet in other embodiments, a combination of the above is implemented, the invention is not so limited.
- the Server Application Channel Layer intercepts the attempt to write data blocks into the LBA's of the Communication File or read blocks from them.
- the Server Application Channel Layer optionally processes or partially processes the request and forwards it to the Storage Application.
- the Communication File is limited in size beyond its initial size while in other embodiments it is allowed.
- the blocks beyond the initial size are not recorded by the Server Application Channel Layer in order to enable their capturing, while in other embodiments they are recorded.
- FIG. 4 is a flow chart describing an exemplary sequence of operations carried out in a preferred embodiment when a response from the Storage Application is sent to the PC Application.
- Storage Application creates some data and/or response for the PC Application.
- the Client Application Channel Layer accepts a request to read some data and/or a response from the PC Application.
- the Client Application Channel Layer sends the request to the storage device by reading from the Communication File.
- This operation engages the file system and the operating system running in the host PC to generate a series of none, one or more READ_BLOCK commands eventually requesting the storage device to retrieve the data that is stored in LBA's that are allocated for the Communication File.
- the Client Application Channel Layer opens a file for each request and closes it once the request is completed.
- the Client Application Channel Layer opens the file once at the beginning of the session and closes it upon completion. Yet in other embodiments a combination of the above is implemented, the invention is not so limited.
- the Server Application Channel Layer captures the attempt to read data blocks from the LBA's of the Communication File.
- the Server Application Channel Layer optionally processes or partially processes the read request and forwards it to the Storage Application to retrieve data or a response.
- the retrieved data and/or response is sent back to the Client Application Channel Layer to complete the Communication File read operation.
- parts of the Client Application Channel Layer are integrated with the PC Application, enabling operations such as initializing, and/or writing to the Communication and/or reading from the Communications File or the like to be implemented in the integrated PC Application.
- a plurality of Communication Files is used for various purposes; for example one file may be used by the Client Application Channel Layer to execute write operations while a second file might be used to execute read operations.
- the storage device may enable more than one Storage Application, and the Communication File is used to enable access to all. In another embodiment a plurality of Communication Files are used, one or more for each of the Storage Applications.
- the data being written by the Client Application Channel Layer is actually written into the LBA's of the file and the Server Application Channel Layer is triggered to read the LBA's.
- the data being read by the Client Application Channel Layer is actually read from the LBA's of the communication file by Server Application Channel Layer Server. The invention is not so limited.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
Description
Claims
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP04779294A EP1652061A2 (en) | 2003-07-28 | 2004-07-26 | System, apparatus and method for controlling a storage device |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US49043903P | 2003-07-28 | 2003-07-28 | |
| US60/490,439 | 2003-07-28 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2005013133A2 true WO2005013133A2 (en) | 2005-02-10 |
| WO2005013133A3 WO2005013133A3 (en) | 2005-09-29 |
Family
ID=34115393
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2004/024166 Ceased WO2005013133A2 (en) | 2003-07-28 | 2004-07-26 | System, apparatus and method for controlling a storage device |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20050044330A1 (en) |
| EP (1) | EP1652061A2 (en) |
| KR (1) | KR20060060668A (en) |
| CN (1) | CN1864127A (en) |
| WO (1) | WO2005013133A2 (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1818793A1 (en) * | 2006-02-14 | 2007-08-15 | Harmony Microelectronic Inc. | USB storage system and control method thereof |
| WO2008048388A3 (en) * | 2006-10-13 | 2008-06-19 | Spansion Llc | Virtual memory card controller |
| WO2008135969A1 (en) * | 2007-05-03 | 2008-11-13 | Sandisk Il Ltd. | Storage device and method for data-smuggling |
| US7636825B2 (en) | 2007-05-03 | 2009-12-22 | Sandisk Il Ltd. | Storage device for data-smuggling |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7979700B2 (en) | 2002-08-23 | 2011-07-12 | Sandisk Corporation | Apparatus, system and method for securing digital documents in a digital appliance |
| US20040039932A1 (en) * | 2002-08-23 | 2004-02-26 | Gidon Elazar | Apparatus, system and method for securing digital documents in a digital appliance |
| JP4554598B2 (en) * | 2003-03-27 | 2010-09-29 | サンディスク アイエル リミテッド | A data storage device that is fully accessible by all users |
| ATE447285T1 (en) * | 2004-02-03 | 2009-11-15 | Sandisk Secure Content Solutio | PROTECTION OF DIGITAL DATA CONTENT |
| US8078788B2 (en) | 2005-12-08 | 2011-12-13 | Sandisk Technologies Inc. | Media card command pass through methods |
| TW200731077A (en) * | 2006-02-14 | 2007-08-16 | Harmony Microelectronic Inc | USB storage system and control method thereof |
| US8839005B2 (en) * | 2006-09-13 | 2014-09-16 | Sandisk Technologies Inc. | Apparatus for transferring licensed digital content between users |
| US7922988B2 (en) * | 2007-08-09 | 2011-04-12 | Michel Deeba | Multilayered catalyst compositions |
| US8296414B1 (en) * | 2007-09-28 | 2012-10-23 | Emc Corporation | Techniques for automated application discovery |
| US9032154B2 (en) | 2007-12-13 | 2015-05-12 | Sandisk Technologies Inc. | Integration of secure data transfer applications for generic IO devices |
| TWI454912B (en) * | 2012-01-06 | 2014-10-01 | Phison Electronics Corp | Data processing method, memory controller and memory storage device |
| KR102192198B1 (en) * | 2014-02-24 | 2020-12-17 | 삼성전자주식회사 | Electronic device and communication method |
Family Cites Families (67)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0175487A3 (en) * | 1984-08-23 | 1989-03-08 | Btg International Limited | Software protection device |
| US5430859A (en) * | 1991-07-26 | 1995-07-04 | Sundisk Corporation | Solid state memory system including plural memory chips and a serialized bus |
| US5450489A (en) * | 1993-10-29 | 1995-09-12 | Time Warner Entertainment Co., L.P. | System and method for authenticating software carriers |
| JPH08263438A (en) * | 1994-11-23 | 1996-10-11 | Xerox Corp | Distribution and use control system of digital work and access control method to digital work |
| US5715403A (en) * | 1994-11-23 | 1998-02-03 | Xerox Corporation | System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar |
| US20050149450A1 (en) * | 1994-11-23 | 2005-07-07 | Contentguard Holdings, Inc. | System, method, and device for controlling distribution and use of digital works based on a usage rights grammar |
| EP2110732A3 (en) * | 1995-02-13 | 2009-12-09 | Intertrust Technologies Corporation | Systems and methods for secure transaction management and electronic rights protection |
| US5530235A (en) * | 1995-02-16 | 1996-06-25 | Xerox Corporation | Interactive contents revealing storage device |
| US5887269A (en) * | 1995-04-07 | 1999-03-23 | Delco Elecronics Corporation | Data product authorization control for GPS navigation system |
| CA2242596C (en) * | 1996-01-11 | 2012-06-19 | Mrj, Inc. | System for controlling access and distribution of digital property |
| US6055314A (en) * | 1996-03-22 | 2000-04-25 | Microsoft Corporation | System and method for secure purchase and delivery of video content programs |
| US5956034A (en) * | 1996-08-13 | 1999-09-21 | Softbook Press, Inc. | Method and apparatus for viewing electronic reading materials |
| US5847698A (en) * | 1996-09-17 | 1998-12-08 | Dataventures, Inc. | Electronic book device |
| US5897663A (en) * | 1996-12-24 | 1999-04-27 | Compaq Computer Corporation | Host I2 C controller for selectively executing current address reads to I2 C EEPROMs |
| US6073226A (en) * | 1997-03-19 | 2000-06-06 | Microsoft Corporation | System and method for minimizing page tables in virtual memory systems |
| US6611358B1 (en) * | 1997-06-17 | 2003-08-26 | Lucent Technologies Inc. | Document transcoding system and method for mobile stations and wireless infrastructure employing the same |
| US6009525A (en) * | 1997-08-29 | 1999-12-28 | Preview Systems, Inc. | Multi-tier electronic software distribution |
| US6546193B1 (en) * | 1997-10-28 | 2003-04-08 | Lg Electronics Inc. | Reproduction apparatus for remote rental system and control method of said apparatus |
| US5991399A (en) * | 1997-12-18 | 1999-11-23 | Intel Corporation | Method for securely distributing a conditional use private key to a trusted entity on a remote system |
| US6738905B1 (en) * | 1998-04-15 | 2004-05-18 | Digital Video Express, L.P. | Conditional access via secure logging with simplified key management |
| DE19820479A1 (en) * | 1998-05-07 | 1999-12-23 | Ems Electronic Management Syst | Functional module for PC e.g. for portable PC |
| US6438235B2 (en) * | 1998-08-05 | 2002-08-20 | Hewlett-Packard Company | Media content protection utilizing public key cryptography |
| US6226618B1 (en) * | 1998-08-13 | 2001-05-01 | International Business Machines Corporation | Electronic content delivery system |
| US6363437B1 (en) * | 1999-01-07 | 2002-03-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Plug and play I2C slave |
| US6529949B1 (en) * | 2000-02-07 | 2003-03-04 | Interactual Technologies, Inc. | System, method and article of manufacture for remote unlocking of local content located on a client device |
| US6697944B1 (en) * | 1999-10-01 | 2004-02-24 | Microsoft Corporation | Digital content distribution, transmission and protection system and method, and portable device for use therewith |
| WO2001033365A1 (en) * | 1999-11-01 | 2001-05-10 | Seiko Epson Corporation | Data output controller and method of providing data output service |
| US6886036B1 (en) * | 1999-11-02 | 2005-04-26 | Nokia Corporation | System and method for enhanced data access efficiency using an electronic book over data networks |
| EP1102172B1 (en) * | 1999-11-22 | 2007-03-14 | A-DATA Technology Co., Ltd. | Dual interface memory card and adapter module for the same |
| US6990464B1 (en) * | 2000-01-11 | 2006-01-24 | Ncr Corporation | Apparatus, system and method for electronic book distribution |
| US6813725B1 (en) * | 2000-01-26 | 2004-11-02 | Hewlett-Packard Development Company, L.P. | Method for restoring an operating system utilizing a storage device on a USB bus |
| US7068381B1 (en) * | 2000-02-02 | 2006-06-27 | Raja Tuli | Portable high speed internet access device |
| US7023572B2 (en) * | 2000-02-02 | 2006-04-04 | Raja Singh Tuli | Portable high speed internet access device |
| US6974076B1 (en) * | 2000-02-14 | 2005-12-13 | Sony Corporation | Portable music player with pay per play usage and method for purchase of credits for usage |
| JP4617533B2 (en) * | 2000-03-14 | 2011-01-26 | ソニー株式会社 | Information providing apparatus and method, information processing apparatus and method, and program storage medium |
| US6502146B1 (en) * | 2000-03-29 | 2002-12-31 | Intel Corporation | Apparatus and method for dedicated interconnection over a shared external bus |
| US6738614B1 (en) * | 2000-06-19 | 2004-05-18 | 1477.Com Wireless, Inc. | Method and system for communicating data to a wireless device |
| US7262873B1 (en) * | 2000-07-05 | 2007-08-28 | Lexmark International, Inc. | Photoprinter access to remote data |
| US6438638B1 (en) * | 2000-07-06 | 2002-08-20 | Onspec Electronic, Inc. | Flashtoaster for reading several types of flash-memory cards with or without a PC |
| US20020162009A1 (en) * | 2000-10-27 | 2002-10-31 | Shimon Shmueli | Privacy assurance for portable computing |
| US6973445B2 (en) * | 2001-05-31 | 2005-12-06 | Contentguard Holdings, Inc. | Demarcated digital content and method for creating and processing demarcated digital works |
| US7222104B2 (en) * | 2001-05-31 | 2007-05-22 | Contentguard Holdings, Inc. | Method and apparatus for transferring usage rights and digital work having transferrable usage rights |
| US6876984B2 (en) * | 2001-05-31 | 2005-04-05 | Contentguard Holdings, Inc. | Method and apparatus for establishing usage rights for digital content to be created in the future |
| US20020185533A1 (en) * | 2001-06-06 | 2002-12-12 | Ron-Yen Shieh | Externally connection type USB2.0 interface flash card reader |
| WO2002101494A2 (en) * | 2001-06-07 | 2002-12-19 | Contentguard Holdings, Inc. | Protected content distribution system |
| US20040205453A1 (en) * | 2001-08-29 | 2004-10-14 | Sterling Mortensen | Document distribution to mobile computing device |
| US6922725B2 (en) * | 2001-09-07 | 2005-07-26 | Xerox Corporation | Method and apparatus for processing document service requests originating from a mobile computing device |
| US7318112B2 (en) * | 2001-10-11 | 2008-01-08 | Texas Instruments Incorporated | Universal interface simulating multiple interface protocols |
| JP3641230B2 (en) * | 2001-10-22 | 2005-04-20 | 株式会社東芝 | Apparatus and method for controlling a memory card |
| JP4119152B2 (en) * | 2002-04-17 | 2008-07-16 | 株式会社ルネサステクノロジ | Semiconductor integrated circuit device |
| US7092942B2 (en) * | 2002-05-31 | 2006-08-15 | Bea Systems, Inc. | Managing secure resources in web resources that are accessed by multiple portals |
| TW587790U (en) * | 2002-06-18 | 2004-05-11 | King Byte Information Corp | Device for adapting memory card interface to USB interface |
| TWI287751B (en) * | 2002-08-09 | 2007-10-01 | Carry Technology Co Ltd | Multi-functional small-form-factor memory card interface for use in a USB interface |
| US20040035939A1 (en) * | 2002-08-21 | 2004-02-26 | Jin-Min Lin | Multifunction memory card reading/writing device |
| US20040039932A1 (en) * | 2002-08-23 | 2004-02-26 | Gidon Elazar | Apparatus, system and method for securing digital documents in a digital appliance |
| US7979700B2 (en) * | 2002-08-23 | 2011-07-12 | Sandisk Corporation | Apparatus, system and method for securing digital documents in a digital appliance |
| US20040064612A1 (en) * | 2002-09-26 | 2004-04-01 | Sandisk Corporation | Method and system for using a memory card protocol inside a bus protocol |
| US20040093509A1 (en) * | 2002-11-12 | 2004-05-13 | Gidon Elazar | Method and apparatus for connecting a storage device to a television |
| JP4554598B2 (en) * | 2003-03-27 | 2010-09-29 | サンディスク アイエル リミテッド | A data storage device that is fully accessible by all users |
| US20040210433A1 (en) * | 2003-04-21 | 2004-10-21 | Gidon Elazar | System, method and apparatus for emulating a web server |
| JP4898437B2 (en) * | 2003-07-28 | 2012-03-14 | サンディスク セキュア コンテンツ ソリューションズ インコーポレイテッド | Electrical connector |
| US7350143B2 (en) * | 2003-10-03 | 2008-03-25 | Sandisk Corporation | Method for page translation |
| ATE447285T1 (en) * | 2004-02-03 | 2009-11-15 | Sandisk Secure Content Solutio | PROTECTION OF DIGITAL DATA CONTENT |
| US7487265B2 (en) * | 2004-04-16 | 2009-02-03 | Sandisk Corporation | Memory card with two standard sets of contacts and a hinged contact covering mechanism |
| US7152801B2 (en) * | 2004-04-16 | 2006-12-26 | Sandisk Corporation | Memory cards having two standard sets of contacts |
| US20080065552A1 (en) * | 2006-09-13 | 2008-03-13 | Gidon Elazar | Marketplace for Transferring Licensed Digital Content |
| US8839005B2 (en) * | 2006-09-13 | 2014-09-16 | Sandisk Technologies Inc. | Apparatus for transferring licensed digital content between users |
-
2004
- 2004-07-26 EP EP04779294A patent/EP1652061A2/en not_active Withdrawn
- 2004-07-26 KR KR1020067002126A patent/KR20060060668A/en not_active Withdrawn
- 2004-07-26 US US10/899,260 patent/US20050044330A1/en not_active Abandoned
- 2004-07-26 WO PCT/US2004/024166 patent/WO2005013133A2/en not_active Ceased
- 2004-07-26 CN CNA2004800261468A patent/CN1864127A/en active Pending
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1818793A1 (en) * | 2006-02-14 | 2007-08-15 | Harmony Microelectronic Inc. | USB storage system and control method thereof |
| WO2008048388A3 (en) * | 2006-10-13 | 2008-06-19 | Spansion Llc | Virtual memory card controller |
| US7558907B2 (en) * | 2006-10-13 | 2009-07-07 | Spansion Llc | Virtual memory card controller |
| WO2008135969A1 (en) * | 2007-05-03 | 2008-11-13 | Sandisk Il Ltd. | Storage device and method for data-smuggling |
| US7636825B2 (en) | 2007-05-03 | 2009-12-22 | Sandisk Il Ltd. | Storage device for data-smuggling |
| US7822935B2 (en) | 2007-05-03 | 2010-10-26 | Sandisk Il Ltd. | Methods for data-smuggling |
| TWI383296B (en) * | 2007-05-03 | 2013-01-21 | Sandisk Il Ltd | Storage device and method for data writing for data using internal storage operations |
| KR101498014B1 (en) * | 2007-05-03 | 2015-03-03 | 샌디스크 아이엘 엘티디 | Storage device and method for data writing for data using internal storage operations |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1864127A (en) | 2006-11-15 |
| KR20060060668A (en) | 2006-06-05 |
| US20050044330A1 (en) | 2005-02-24 |
| EP1652061A2 (en) | 2006-05-03 |
| WO2005013133A3 (en) | 2005-09-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20050044330A1 (en) | System, apparatus and method for controlling a storage device | |
| US9235583B2 (en) | Virtual media with folder-mount function | |
| CN101958918B (en) | Virtual media with folder sharing function and method | |
| US10552208B2 (en) | Migrating a virtual machine that owns a resource such as a hardware device | |
| US7606946B2 (en) | Removable device and program startup method | |
| US20090019223A1 (en) | Method and systems for providing remote strage via a removable memory device | |
| US9237186B2 (en) | Virtual media with folder-mount function and graphical user interface for mounting one or more files or folders | |
| US8001323B2 (en) | Network storage system, management method therefor, and control program product therefor | |
| EP1072976A2 (en) | Self-contained application disk for automatically launching application software or starting devices and peripherals | |
| JP2009087124A (en) | Storage device and storage device access control method | |
| TW200837602A (en) | Cryptographic key containers on a USB token | |
| TWI886167B (en) | Machine including key-value storage device, block interface emulation method and article comprising non-transitory storage medium | |
| CN101630235A (en) | Techniques for implementing virtual storage devices | |
| JP5426576B2 (en) | Data input / output method and apparatus using virtualization technology | |
| JP5381713B2 (en) | Data storage system for virtual machine, data storage method, and data storage program | |
| CN102289513A (en) | Method and system for obtaining internal files of virtual machine | |
| US20070233727A1 (en) | Multiple Virtual Devices | |
| WO2022068298A1 (en) | Usb flash disk access method and usb flash disk | |
| TWI497414B (en) | File executing method and system | |
| TW200301858A (en) | Method and apparatus for multi-table accessing of input/output devices using target security | |
| CN100517290C (en) | Method for implementing composite device of universal serial bus key | |
| JP2008506298A5 (en) | ||
| CN115857821A (en) | Data transmission method, device, host computer and computing system | |
| CN101944034B (en) | File Execution Method and System | |
| CN102253905A (en) | Data processing device applied to storage device, data access system and related method applied to storage device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 200480026146.8 Country of ref document: CN |
|
| AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| WWE | Wipo information: entry into national phase |
Ref document number: 1020067002126 Country of ref document: KR |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2004779294 Country of ref document: EP |
|
| WWP | Wipo information: published in national office |
Ref document number: 2004779294 Country of ref document: EP |