WO2001075566A2 - File system management embedded in a storage device - Google Patents
File system management embedded in a storage device Download PDFInfo
- Publication number
- WO2001075566A2 WO2001075566A2 PCT/US2001/009944 US0109944W WO0175566A2 WO 2001075566 A2 WO2001075566 A2 WO 2001075566A2 US 0109944 W US0109944 W US 0109944W WO 0175566 A2 WO0175566 A2 WO 0175566A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- file system
- storage device
- identifier
- device controller
- file
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- 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/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Definitions
- Prior art storage devices including hard drives, floppy drives, write once read many (WORM) drives, such as CD-ROM and DND drives, are classified as block level devices.
- Prior art devices for accessing media in digital formats as shown for example in Fig. 1, typically include host system 100 coupled to one or more data storage devices 102, 104, 106 containing storage media.
- host system 100 includes file system manager 108 and host device drivers 110, 112, 114 which translate file commands from user application program 116 to commands recognized by device drivers 118, 120, 122 for storage devices 102, 104, 106.
- Npplication programs include any software or firmware in host system 100 that request access to storage devices 102, 104, 106.
- Host system 100 reads and writes to storage devices 102, 104, 106 on block boundaries.
- the knowledge of the file system format is placed in block input/output (I/O) driver 124 in host system 100, and storage devices 102, 104, 106 have no knowledge of the file system format that is used on the storage media (not shown).
- prior art storage devices 102, 104, 106 are relatively "dumb", in that they simply read or write the blocks requested by host system 100.
- storage device drivers 118, 120, 122 include caching algorithms that try to predict what host system 100 will request next and pre-read that information. These algorithms, in general, do not have the benefit of knowing the file structure on the media, and therefore, often fail to optimize correctly, especially in cases where files are fragmented on the media.
- Host block I/O driver 124 for block file systems is quite complicated as it must understand the type of storage device it is communicating with, and a different device driver 118, 120, 122 for each different type of storage device 102, 104, 106.
- Some storage devices, such as hard drives, have been standardized to the point where a single driver will work on multiple types of hard drives.
- Other devices, particularly specialty devices such as flash memory cards, generally require a different driver that understands the underpinnings of that device.
- These drivers can become very complicated, thereby making it difficult to port the drivers to different platforms.
- the cost of developing drivers for specialty devices is very high. Each driver must be able to perform all the commands (read file, write file, create directory, etc.) that are requested from the application. Because each driver must implement a complete set of commands, significant resources are ⁇ sed to manage many different devices.
- Devices used by consumers for playing music and movies range from home theatre systems to highly portable palmtop devices. Accordingly, there is a need to provide a storage device and storage medium that is compact and portable, yet capable of storing and transmitting large amounts of data for real-time playback.
- the storage device must also interface with a wide variety of hosts such as personal computer systems, televisions, audio systems, and portable music players. Further, it is important for the storage device to protect content on the storage medium using a digital rights management scheme.
- Another feature of the file system includes library functions to create and remove file system objects, to store and retrieve information, to set and retrieve attributes of the file system object, to retrieve file system statistics, to retrieve identifiers, and to set and retrieve a type identifier for the file system object.
- the type identifier indicates the format of the content within a file .
- Other features of the present file system include means to lock and unlock the storage media in the storage device, and provide indications to the host system when storage media is inserted in the storage device.
- FIG. 1 is a block diagram of a prior art block file system implemented in a host system coupled to different types of storage devices.
- FIG. 2 is a block diagram illustrating the general architecture of a host system coupled to a data storage device in accordance with the present invention.
- FIG. 3 is a block diagram of file system components in a storage device in accordance with the present invention.
- FIG. 3 a is a block diagram of library components for file system management in accordance with the present invention.
- FIG. 4 is a block diagram of a file system in accordance with the present invention implemented in a host system coupled to different types of storage devices.
- FIG. 2 shows a block diagram of components comprising one example of host system 212 and storage device 214 with which the present invention may be utilized.
- host system 212 one or more processors 216 are connected by host bus 218 to main memory 220, storage device controller 222, network interface 224, and input/output (I/O) devices 226, connected via I/O controller 228.
- I/O controller 228 input/output devices 226, connected via I/O controller 228.
- host system 212 encompasses a variety of systems that are capable of processing information in digital format including, for example, televisions, stereo systems, handheld audio and video players, digital cameras, portable computers, personal digital assistants, and other devices that include information processing components.
- information may be pre-loaded on storage media 230, or a user may download information from a source, such as the Internet, using one type of host system 212.
- Storage media 230 containing the downloaded information may then be removed from storage device 214 and used with another compatible storage device 214 capable of reading and/or writing to storage media 230.
- Storage device 214 may be embedded in host system 212 or plugged in as an external peripheral device.
- host system 212 includes the appropriate hardware and software components to transfer, encrypt/decrypt, compress/decompress, receive, record, and/or playback audio, video, and/or textual data, depending on the functionality included in host system 212.
- Such components may include audio and video controllers, peripheral devices such as audio system speakers, a visual display, keyboards, mouse-type input devices, modems, facsimile devices, television cards, voice recognition devices, and electronic pen devices.
- Storage device 214 includes processor 240 coupled to memory 242 which may be one or a combination of several types of memory devices including static random access memory (SRAM), flash memory, or dynamic random access memory (DRAM).
- Storage device 214 is coupled to host system 212 via bus 244.
- storage device 214 may be coupled directly to host bus 218 via bus 245, and the functions performed by storage device controller 222 may be performed in processor 216, or another component of host system 212.
- Storage device controller 246 receives input from host system 212 and transfers output to host system 212.
- Processor 240 includes operating system instructions to control the flow of data in storage device 214.
- bus 244 is a parallel, asynchronous, eight-bit data bus capable of accessing file system objects using a single identifier between host system 212 and storage device 214.
- a communication protocol for bus 244 is described in copending U.S. Patent Application Serial No. , entitled "Asynchronous Input/Output Interface Protocol" which was filed on the same day as the present invention, is assigned to the same assignee, and is hereby incorporated by reference.
- data is transmitted to and from storage media 230 via read/write optics 256.
- data is transmitted to and from storage media 230 via read/write electronics (not shown).
- the data may be converted from analog to digital format, or from digital to analog format, in converters 248.
- analog data signals from read optics 256 are converted to a digital signal for input to buffer 258.
- digital data is converted from digital to analog signals in converter 248 for input to write optics 256.
- Buffer 258 temporarily stores the data until it is requested by controller 246.
- Servo control system 262 provides control signals for actuators, focus, and spin drivers that control movement of the optical or magnetic head over the storage media 230.
- host system 212 is shown to contain only a single main processor 216, those skilled in the art will appreciate that the present invention may be practiced using a computer system that has multiple processors.
- controllers that are used in the preferred embodiment may include separate, fully programmed microprocessors that are used to off-load computationally intensive processing from processor 216, or may include input output (I/O) adapters to perform similar functions.
- I/O input output
- Fig. 3 the sequence of messages communicated between host system 212 and components in storage device controller 246 when executing a command is represented by numbered arrows. In one embodiment, the following sequence occurs:
- host system 212 To initiate a file system command, host system 212 sends a packet containing the command to interface component 302 in storage device controller 246 via bus 244.
- Interface component 302 parses the command from the transport information in the packet and delivers the command to library functions 304.
- Library functions 304 decode the command, and create a strategy for performing the requested operation. The strategy is returned to interface component 302. 4) Interface component 302 then executes the strategy by directing reading and writing component 306, as needed, to perform storage media access functions and transfer data to or from host system 212.
- Reading and writing component 306 transfers data to and/or from storage media 230, as directed by interface component 302.
- library functions 304 direct reading and writing component 306 directly to accomplish a task.
- Fig. 3 a shows components of library functions 304 including command decode 310, individual command execution routines 312, and support functions 314.
- Command decode 310 decodes the command from the command packet and passes control to the individual command execution routines 312, as appropriate for the command.
- Command execution routines 312 parse the remainder of the command packet to obtain file system object identifiers, attributes, and names.
- Support functions 314 are used by command execution routines 312 to manipulate the file system objects accessed by the particular command. Some functions, such as a 'Commit' function (described hereinbelow), call reading and writing component 306 to access the file system area of storage media 230.
- Command execution routines 312 also create interface response structure (i.e., the strategy) 316 that tells storage device controller 246 how to handle the data transfer between storage media 230 and host system 212.
- the strategy is a set of directives for performing the requested operation.
- the strategy may include, for example, whether to read or write from storage media 230, the physical location on storage media 230 where the data resides, how much data should be read or written, and how much data should be transferred to host system 212. Further, during read operations, the strategy may not involve accessing storage media 230, as some information may be cached into buffer memory and transferred directly from the buffer to the host.
- Each individual command execution routine 312 may make calls to support functions 314, of which there are four main components: directory manager 318, file manager 320, and the security manager 322, and cache manager 323. These components maintain the internal structures associated with file system .
- Security manager 322 controls the access rights associated with each file and directory on storage media 230. Security manager 322 may also encrypt and decrypt the data, as required, using one of several encryption or security schemes known in the art.
- Storage media 230 includes a file system areathat is not accessible to the user through interface 302. Therefore, security information such as encryption/decryption keys may be stored on storage media 230 along with other file system information.
- the host does not have access to these areas except through strong security protocols, such as the security protocol described in copending U.S. Patent Application Serial No. , entitled “Digital Rights Management within an Embedded Storage Device” which was filed on the same day as the present invention, is assigned to the same assignee, and is hereby incorporated by reference.
- Each object within the file system is unique, therefore, different components that make up the file system information may be stored separately and then put together internally to provide complete information about the file system object.
- security information for a particular file can be stored separately from the file information (file size, etc.), and may be done so in a secure manner.
- Each command updates state information component 324, which contains information that may need to be used between commands. For example, the 'ReadDir' command must maintain a value which describes how much of the directory structure has been passed to host system 212 on previous 'ReadDir' commands.
- storage device controller 246 may include:
- Storage media 230 may be fixed inside storage device 214 (Fig. 2), or it may be removable.
- Storage device controller 246, reading and writing component 306, and library functions 304 may be implemented as separate threads in a multitasking operating system, as known in the art, or may be a single thread, or any combination thereof.
- Command decode 310 may be handled within interface component 302.
- Library functions 304 may communicate directly with read and write firmware 306 for data access commands directly rather than providing interface response structure 316 to storage device controller 246.
- Security manager 322 may support one or more of various digital rights management schemes.
- components in storage device controller 246 may be implemented in hardware, software, firmware, or by a combination of hardware, software, and/or firmware.
- file system 400 is shown implemented with three different types of storage devices including hard drive device 402, flash device 404, and write once read many (WORM) device 406.
- Host system 212 includes file system manager 410, translator 412, and one or more device drivers 414, 416, 418. The number and type of device drivers 414, 416, 418, depends on the types of hardware interfaces used to interface the storage devices with host system 212.
- File system 400 provides access to a fully hierarchical directory and file structure in storage devices 402, 404, 406, with individual files having full read and write capabilities.
- File system manager 410 regards each storage device 402, 404, 406 as a volume containing a set of files and directories.
- file system manager 410 receives commands from application programs 116 to create, rename, or delete files and directories, and to read or write data to files. File system manager 410 also receives information regarding data to transmit or receive from storage devices 402, 404, or 406. This information includes the storage device and the name of the file or directory to be accessed by host system 212.
- file system 400 includes rules that apply to volume, file, and directory names. For example, the length of names within the file system may be limited.
- file and directory manipulation commands typically required full pathnames for identification.
- file system manager 410 parses the pathnames of directories and files, and passes only the name of the directory or file to translator 412.
- Translator 412 calls the appropriate storage device to convert the names to unique identifiers that are used by file system manager 410 on subsequent accesses.
- Application programs 116 may be written in different programming languages that use different commands for accessing files and directories.
- Storage devices 402, 404, 406 also includes their own set of commands for accessing files and directories.
- Translator 412 receives application program commands from file system manager 410 and determines one or more corresponding commands recognized by storage devices 402, 404, 406 to access files and directories as requested by application programs 116.
- Translator 412 also constructs command packets that include information such as file system object identifiers to be accessed, and the commands to be performed.
- the command packets are transmitted to hardware device drivers 414, 416, 418, as required, depending on the commands issued by application programs 116.
- Various types of data busses may be utilized to transfer data between host system 212 and storage devices 402, 404, 406, and hardware device drivers 414, 416, 418 add a transport protocol, as known in the art, for routing the command packet to the corresponding storage device 402, 404, " 406.
- the 'Commit' command transfers all necessary information from a temporary data buffer 258 (Fig. 2), also referred to as a cache, on storage device 402, 404, 406 to the storage medium in storage device 402, 404, 406.
- Host system 212 may choose to commit the information in order to be sure it is permanently stored in storage device 402, 404, 406.
- the status indicator will continue to indicate that the data is cached at completion of the command, and an error code is returned.
- the 'CreateDir' command creates a directory or subdirectory within the specified directory.
- the directory entry is created within the memory of storage device 402, 404, 406 but is not necessarily written to the media.
- the storage device ensures the entry is written to the media prior to media removal.
- Initial attributes such as protection level for the directory, may be specified.
- the directory entry is created with no files or subdirectories attached.
- the new directory is a subdirectory of the input parent directory.
- Permission may be denied for creating directories under the following conditions: a.
- the destination directory in which to create has the file system GUARDED or
- READONLY attribute b.
- storage device 402, 404, 406 transfers an identifier for the newly created directory to file system manager 410.
- the 'CreateFile' command creates a file object within the given directory. It is analogous to the 'CreateDir' command.
- the file entry is created with a file length of zero, and the returned identifier may immediately be used in a 'WriteFile' command.
- the input file 'Data Type' is stored with the file to describe the format of the data contained within the file.
- GetFilelnfo Host system 212 may query for information relating to a particular file by issuing the 'GetFilelnfo' command.
- the returned information includes: a. The attributes for the file. b. The type of file as set when the file was created. c. The time of last modification of the file, or creation time if never modified. d. The size of the file in bytes.
- Storage devices 402, 404, 406 store a 'file type' identifier with every file. This identifier can be used by applications 116 to determine whether it is the type of file that it can read.
- the file type identifier includes two regions:
- Registered file types are file types that have been registered with an overseeing organization. These files have a specific and well-defined format type that may or may not be in the public domain. In one embodiment, the registered file types are numbered 0-32767 (0000-7FFFh).
- Unregistered file types are file types that are user defined. There is no guarantee that a particular file type is not used by another vendor. In one embodiment, the unregistered file types are numbered 32768-65535 (8000h-FFFFh).
- Data types are intended to provide a mechanism for host system 212 to search for file types that they are capable of accessing. For example, a MP3 player may search for all MP3 files, and ignore all other files.
- Each file and directory in the file system has a set of attributes that may be used to control the user access.
- the attributes are defined when a file is created, or may be modified at a later time.
- the following table lists some examples of attributes that may be used with files and directories:
- 'Getldentifier' searches the specified directory for an object that has a certain name.
- the name search is conducted on a binary byte-by-byte basis. Ifthe name is found, then a unique identifier is returned for that object.
- a special name is reserved to look up the parent directory of the given directory. This name is "..” in the ASCII character set.
- the parent directory of the root directory returns the root directory identifier.
- 'GetMedialnfo' returns the current information for the media. This command is used to get initial media information when a new piece of media is inserted into storage device 402, 404, 406.
- Host system 212 may read the file until either an error occurs, host system 212 issues an ABORT function, or the end of file is reached. In this way, host system 212 may request the entire file regardless of length.
- Host system 212 may request a 'streaming' transfer in which storage device 402, 404, 406 limits the number of retries it will take during a read operation in order to satisfy the data demand of host system 212. In other words, timely delivery of the data is more critical than correctness of the data. If necessary, bad data will be transferred to host system 212, so that subsequent data may be gathered in a timely manner.
- the 'ReadDir' command transfers a number of file system object names and attributes to host system 212. Each entry returns the following information:
- the attributes of the object i.e., whether the object is a file or directory, hidden, etc.
- the identifier for the object which may be used in subsequent commands c.
- the entries returned are returned in binary sorted order, i.e., alphabetical order for the ASCII character set.
- 'ReadDir' may optionally return just the files or just the directories in the list.
- the object is qualified to make sure it is a removable object (see below). If the object is qualified for removal, it is no longer maintained within the memory of storage device 402, 404, 406. The updated file system is not necessarily committed to the disk upon completion of this command. If the file system update is not committed to disk, then CACHED_DATA status is returned.
- Permission may be denied for removing the object under the following conditions: a.
- the object has the GUARDED or the READONLY attribute.
- b. The object is a directory, and the directory is not empty (i.e., recursive removals are not allowed)
- c. A security key, or other digital rights scheme, protects the object.
- 'Rename' allows host system 212 to rename or move an object within file system 400.
- Host system 212 specifies a source object, the directory to move the object (it may be the sia e directory) and a new name for the object. Ifthe source object is within the same directory, then the object is renamed. Ifthe source directory and destination directories are different, then the object is moved from the source directory to the destination directory, potentially renaming the object at the same time. Note that if the moved/renamed object is a directory, then its entire contents, including all subdirectories and associated files are moved as well.
- the identifiers associated with each file system object are not changed by this operation.
- Permission may be denied for renaming/moving objects under the following conditions:
- the object has the GUARDED or READONLY attribute.
- the SetAttributes command modifies the attributes for the specified file system object.
- the update is performed within the internal memory of storage device 402, 404, 406 and is not necessarily committed to the disk, in which case the CACHE_DATA bit will be set in the status.
- the storage device ensures the entry is written to the media prior to media removal.
- Permission may be denied for renaming/moving objects under the following conditions:
- the object has the GUARDED attribute.
- the WRITE command writes data to the specified file. If it is a new file, created with the 'CreateFile' command, then the data will start at the beginning of the file. Ifthe file already exists, then the data may be appended sequentially onto the end of the file.
- File data may be cached within buffer 258 (Fig. 2), and a successful status may be returned to host system 212 before the data is actually written to storage media 230.
- the CACHED_DATA status bit will be set. The storage device ensures the data is written to the media prior to media removal.
- host system 212 may start a write command with an unspecified byte count, in which case the write continues until either an error occurs, or host system 212 stops the write. In this way, host system 212 may write an unspecified length file to storage media 230.
- Host system 212 initiates a write session when it issues any command that modifies the structure of files or directories on storage media 230. It often is more efficient for write once storage devices, such as storage device 406, to cache up several file system changes in data buffer 258 (Fig. 2) before committing them to storage media 230. Furthermore, it may be desirable to cache write data within buffer 258 (Fig. 2) to prevent buffer underruns on writes, each of which requires storage space to store a value for a linking sector for the file.
- commands is an example of a set of commands that may be implemented in file system 400. It is important to note that other commands may be used in addition to, or instead of, the commands discussed above.
- an interrupt is sent to host system 212.
- host system 212 determines the reason for the interrupt.
- host system 212 executes the 'GetMedialnfo' command to receive the following information:
- An identifier to the root directory of the media This identifier may be used as a starting point for subsequent commands such as 'ReadDir' or 'Getldentifier'.
- the current statistics on the storage media including the total media size, total writable bytes left on the media, and the number of directories and files.
- the storage media may be accessed using the directory and file access commands.
- files are organized in one or more directories. Each directory may have a number of subdirectories.
- the 'GetMedialnfo' command is used to obtain a root directory identifier, and the files are traversed in one of two ways:
- the list of all the directories and files within a given directory may be obtained with the 'ReadDir' command.
- 'ReadDir' returns both the object identifier and the name for all the file system objects within the given directory.
- the directory identifier for the sub-directory may be used in subsequent 'ReadDir' or 'Getldentifier' commands to traverse a directory structure of any length.
- Creating Files and Directories are created with the 'CreateFile' and 'CreateDir' commands. These commands take a directory identifier as an argument, and create the new object within that directory. The new object has no data associated with it, i.e., a new file has a length of zero, and the new directory has no children.
- Files are read using the 'ReadFile' command.
- the 'ReadDir' or 'Getldentifier' commands are used to get an identifier to the file.
- the starting byte offset and the number of bytes to be read are passed as parameters of the command.
- Storage devices 402, 404, 406 access the desired file and start the transfer from the given offset. The transfer continues until the number of bytes is exhausted, or the end of the file is detected, or host system 212 aborts the 'ReadFile' command.
- Host system 212 may request that data be read from the media in a "sfreaming" mode.
- storage device 402, 404, 406 will prioritize delivery of the data above the accuracy of the data. Data retries will be limited in order to meet the demand for the data. If necessary, a block of data that may contain bad data will be transferred to host system 212, in order to proceed to subsequent good data.
- This mode provides for real-time output from storage device 402, 404, 406, to the extent storage device 402, 404, 406 is capable of delivering the data.
- File system 400 includes a 'Lock Media' command that is issued by host system 212 to lock the media in storage device 402, 404, 406. The media remains locked until a 'Release Media' command is issued by host system 212 and received by storage device 402, 404, 406. In this manner, host system 212 may prevent the media from being removed during an update period.
- Storage device 402, 404, 406 maintains its own cache status within buffer 258 (Fig. 2). Regardless of the lock state of host system 212, storage device 402, 404, 406 will not release the media until all the storage device buffers are flushed to the storage media.
- Storage device 402, 404, 406 notifies host system 212 that a user has requested the media to be removed by issuing an 'attention interrupt'.
- maintaining file system 400 is compatible with a variety of different host systems 212. Additionally, fewer components are required in host system 212 with file system 400 compared to file systems based on block I/O such as shown in Fig. 1. This is because host system 212 accesses information on storage device 246 using an identifier for a file system object, as compared to a series of block numbers required with block read/write devices.
- file system 400 Another advantage of file system 400 is that by removing storage device hardware dependency from host system 212 portability is improved. Host system 212 does not need to have knowledge of the type of storage device with which it is communicating. Therefore, file system manager 410 and translator 412 are easily ported to different host platforms. Furthermore, reliability is improved, as there is less chance for error communicating with different types of storage devices 402, 404, 406.
- file system 400 Another advantage of file system 400 is that storage devices 402, 404, 406 may implement read-ahead caching even on files that are fragmented on the storage media. This is because storage devices 402, 404, 406 understand the file structure, and therefore know which segments of the storage media to access to read a particular file. Additionally, repetitive patterns of host file accesses may be detected to perform file group read-ahead. This is particularly useful in situations where the file accesses tend to be very complex but repetitive in nature, such as the boot-up process for host system 212.
- file system 400 over block devices is that the format of the storage media may change without requiring any change to file system manager 410 or translator 412.
- WORM storage device 406 may allow the device to perform read/modify/write operations on the media.
- new versions of WORM storage device 406 may be used without changing host system file system manager 410 or translator 412 in any way.
- a further advantage is that file system can implement a security system at the file and directory level.
- Digital rights management schemes implemented entirely within storage devices 402, 404, 406 can be made much more secure than security systems implemented on host system 212, since host system 212 is often a general-purpose, open- development environment such as a personal computer.
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)
- Computer Networks & Wireless Communication (AREA)
- Library & Information Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
Description
Claims
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP01926462A EP1287415A2 (en) | 2000-03-31 | 2001-03-28 | File system management embedded in a storage device |
| AU2001252996A AU2001252996A1 (en) | 2000-03-31 | 2001-03-28 | File system management embedded in a storage device |
| JP2001573181A JP2003535391A (en) | 2000-03-31 | 2001-03-28 | File system management embedded in storage devices |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/539,841 US6823398B1 (en) | 2000-03-31 | 2000-03-31 | File system management embedded in a storage device |
| US09/539,841 | 2000-03-31 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| WO2001075566A2 true WO2001075566A2 (en) | 2001-10-11 |
| WO2001075566A3 WO2001075566A3 (en) | 2002-11-21 |
Family
ID=24152873
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2001/009944 Ceased WO2001075566A2 (en) | 2000-03-31 | 2001-03-28 | File system management embedded in a storage device |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US6823398B1 (en) |
| EP (1) | EP1287415A2 (en) |
| JP (1) | JP2003535391A (en) |
| KR (1) | KR20030001392A (en) |
| AU (1) | AU2001252996A1 (en) |
| TW (1) | TW505870B (en) |
| WO (1) | WO2001075566A2 (en) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2005059724A1 (en) * | 2003-12-17 | 2005-06-30 | Nokia Corporation | Protecting system for data used by java applications |
| WO2005071549A1 (en) * | 2004-01-26 | 2005-08-04 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory device and its control method |
| EP1586988A2 (en) | 2004-04-15 | 2005-10-19 | Sony Corporation | Information processing apparatus, information processing method, program and recording medium used therewith |
| WO2005093559A3 (en) * | 2004-03-02 | 2005-12-22 | Intel Corp | Object storage |
| EP1385096A3 (en) * | 2002-07-22 | 2006-04-19 | Samsung Electronics Co., Ltd. | Apparatus and method for managing memory in mobile communication terminal |
| EP1916594A3 (en) * | 2006-10-25 | 2008-11-19 | Hitachi Global Storage Technologies B. V. | Hard disk drive and method |
| US7882065B2 (en) | 2003-10-07 | 2011-02-01 | International Business Machines Corporation | Processing a request to update a file in a file system with update data |
| US8051042B2 (en) | 2006-05-29 | 2011-11-01 | Samsung Electronics Co., Ltd. | Apparatus and method for managing data |
| US20110314068A1 (en) * | 2007-02-13 | 2011-12-22 | Itay Sherman | Interface for extending functionality of memory cards |
Families Citing this family (65)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW512318B (en) * | 2000-03-01 | 2002-12-01 | Matsushita Electric Industrial Co Ltd | AV data recorder and its method, disk recorded by AV data recorder and the method |
| US7215771B1 (en) | 2000-06-30 | 2007-05-08 | Western Digital Ventures, Inc. | Secure disk drive comprising a secure drive key and a drive ID for implementing secure communication over a public network |
| US7003674B1 (en) * | 2000-07-31 | 2006-02-21 | Western Digital Ventures, Inc. | Disk drive employing a disk with a pristine area for storing encrypted data accessible only by trusted devices or clients to facilitate secure network communications |
| US7155616B1 (en) | 2000-07-31 | 2006-12-26 | Western Digital Ventures, Inc. | Computer network comprising network authentication facilities implemented in a disk drive |
| US7908021B1 (en) * | 2000-11-02 | 2011-03-15 | Sigmatel, Inc. | Method and apparatus for processing content data |
| US8788611B2 (en) * | 2001-12-28 | 2014-07-22 | Hewlett-Packard Development Company, L.P. | Method for using partitioning to provide capacity on demand in data libraries |
| US7082497B2 (en) * | 2001-12-28 | 2006-07-25 | Hewlett-Packard Development Company, L.P. | System and method for managing a moveable media library with library partitions |
| US7062614B2 (en) * | 2001-12-28 | 2006-06-13 | Hewlett-Packard Development Company, L.P. | System and method for managing access to multiple devices in a partitioned data library |
| US7363425B2 (en) * | 2001-12-28 | 2008-04-22 | Hewlett-Packard Development Company, L.P. | System and method for securing drive access to media based on medium identification numbers |
| US6999999B2 (en) * | 2001-12-28 | 2006-02-14 | Hewlett-Packard Development Company, L.P. | System and method for securing fiber channel drive access in a partitioned data library |
| US7000085B2 (en) * | 2001-12-28 | 2006-02-14 | Hewlett-Packard Development Company, L.P. | System and method for securing drive access to data storage media based on medium identifiers |
| US8166302B1 (en) * | 2002-04-23 | 2012-04-24 | Seagate Technology Llc | Storage device with traceable watermarked content |
| US7606364B1 (en) | 2002-04-23 | 2009-10-20 | Seagate Technology Llc | Disk drive with flexible data stream encryption |
| JP4467257B2 (en) * | 2002-06-28 | 2010-05-26 | 株式会社日立製作所 | Database management method and apparatus, and processing program therefor |
| US8015266B1 (en) * | 2003-02-07 | 2011-09-06 | Netapp, Inc. | System and method for providing persistent node names |
| US7155460B2 (en) * | 2003-03-18 | 2006-12-26 | Network Appliance, Inc. | Write-once-read-many storage system and method for implementing the same |
| GB0307450D0 (en) * | 2003-03-31 | 2003-05-07 | Matsushita Electric Industrial Co Ltd | Method for interfacing storage devices |
| JP4228767B2 (en) * | 2003-04-25 | 2009-02-25 | ソニー株式会社 | REPRODUCTION DEVICE, REPRODUCTION METHOD, REPRODUCTION PROGRAM, AND RECORDING MEDIUM |
| US7484096B1 (en) | 2003-05-28 | 2009-01-27 | Microsoft Corporation | Data validation using signatures and sampling |
| US7457791B1 (en) | 2003-05-30 | 2008-11-25 | Microsoft Corporation | Using invariants to validate applications states |
| JP2005004251A (en) * | 2003-06-09 | 2005-01-06 | Seiko Epson Corp | Network printing system and printer |
| US7549044B2 (en) * | 2003-10-28 | 2009-06-16 | Dphi Acquisitions, Inc. | Block-level storage device with content security |
| KR100566266B1 (en) * | 2004-01-20 | 2006-03-29 | 삼성전자주식회사 | Data communication method between portable terminal and PC |
| JP4497957B2 (en) | 2004-03-05 | 2010-07-07 | 株式会社日立製作所 | Storage control system |
| US20050262361A1 (en) * | 2004-05-24 | 2005-11-24 | Seagate Technology Llc | System and method for magnetic storage disposal |
| US20060020594A1 (en) * | 2004-07-21 | 2006-01-26 | Microsoft Corporation | Hierarchical drift detection of data sets |
| GB2419198A (en) * | 2004-10-14 | 2006-04-19 | Hewlett Packard Development Co | Identifying performance affecting causes in a data storage system |
| JP2006252239A (en) * | 2005-03-11 | 2006-09-21 | Fujitsu Ltd | File control unit |
| JP4574408B2 (en) * | 2005-03-24 | 2010-11-04 | 株式会社日立製作所 | Storage system control technology |
| US7496722B2 (en) * | 2005-04-26 | 2009-02-24 | Hewlett-Packard Development Company, L.P. | Memory mapped page priorities |
| US8127147B2 (en) * | 2005-05-10 | 2012-02-28 | Seagate Technology Llc | Method and apparatus for securing data storage while insuring control by logical roles |
| US8272058B2 (en) | 2005-07-29 | 2012-09-18 | Bit 9, Inc. | Centralized timed analysis in a network security system |
| US8984636B2 (en) | 2005-07-29 | 2015-03-17 | Bit9, Inc. | Content extractor and analysis system |
| US7895651B2 (en) | 2005-07-29 | 2011-02-22 | Bit 9, Inc. | Content tracking in a network security system |
| US7702821B2 (en) * | 2005-09-15 | 2010-04-20 | Eye-Fi, Inc. | Content-aware digital media storage device and methods of using the same |
| JP4908849B2 (en) * | 2006-01-11 | 2012-04-04 | 富士通セミコンダクター株式会社 | File deletion method, file opening method, file deletion program, and file opening program |
| US9002795B2 (en) * | 2006-01-26 | 2015-04-07 | Seagate Technology Llc | Object-based data storage device |
| KR100877063B1 (en) * | 2006-05-29 | 2009-01-07 | 삼성전자주식회사 | Devices and methods for managing data |
| US7765373B1 (en) | 2006-06-27 | 2010-07-27 | Siliconsystems, Inc. | System for controlling use of a solid-state storage subsystem |
| US8108692B1 (en) | 2006-06-27 | 2012-01-31 | Siliconsystems, Inc. | Solid-state storage subsystem security solution |
| US7921270B2 (en) | 2006-10-05 | 2011-04-05 | Sandisk Il Ltd. | Methods and systems for controlling access to a storage device |
| US8161353B2 (en) | 2007-12-06 | 2012-04-17 | Fusion-Io, Inc. | Apparatus, system, and method for validating that a correct data segment is read from a data storage device |
| US8151082B2 (en) * | 2007-12-06 | 2012-04-03 | Fusion-Io, Inc. | Apparatus, system, and method for converting a storage request into an append data storage command |
| CN101690068A (en) | 2006-12-06 | 2010-03-31 | 弗森多系统公司(dba弗森-艾奥) | Apparatus, system, and method for a device shared between multiple independent hosts |
| US20080147667A1 (en) * | 2006-12-15 | 2008-06-19 | Samsung Electronics Co., Ltd. | Data management apparatus and data management method thereof |
| US7917853B2 (en) * | 2007-03-21 | 2011-03-29 | At&T Intellectual Property I, L.P. | System and method of presenting media content |
| US8170989B2 (en) * | 2007-07-16 | 2012-05-01 | International Business Machines Corporation | Method and system for document management and exchange |
| US7970919B1 (en) * | 2007-08-13 | 2011-06-28 | Duran Paul A | Apparatus and system for object-based storage solid-state drive and method for configuring same |
| US11237956B2 (en) * | 2007-08-13 | 2022-02-01 | Digital Kiva, Inc. | Apparatus and system for object-based storage solid-state device |
| US9824006B2 (en) * | 2007-08-13 | 2017-11-21 | Digital Kiva, Inc. | Apparatus and system for object-based storage solid-state device |
| US8055629B2 (en) * | 2008-03-05 | 2011-11-08 | International Business Machines Corporation | Transitioning an archived file to write-once-read-many |
| TWI381312B (en) * | 2008-08-27 | 2013-01-01 | Condel Internat Technologies Inc | Method and system for performing interoperable digital rights management among different operating system platforms |
| US9405939B2 (en) * | 2008-10-07 | 2016-08-02 | Arm Limited | Data processing on a non-volatile mass storage device |
| US8356184B1 (en) | 2009-06-25 | 2013-01-15 | Western Digital Technologies, Inc. | Data storage device comprising a secure processor for maintaining plaintext access to an LBA table |
| US10496608B2 (en) * | 2009-10-28 | 2019-12-03 | Sandisk Il Ltd. | Synchronizing changes in a file system which are initiated by a storage device and a host device |
| US8886597B2 (en) * | 2009-10-28 | 2014-11-11 | Sandisk Il Ltd. | Synchronizing changes in a file system which are initiated by a storage device and a host device |
| US8818970B2 (en) * | 2011-04-08 | 2014-08-26 | Symantec Corporation | Partitioning a directory while accessing the directory |
| US9514154B2 (en) | 2011-10-27 | 2016-12-06 | International Business Machines Corporation | Virtual file system interface for communicating changes of metadata in a data storage system |
| US9305142B1 (en) | 2011-12-19 | 2016-04-05 | Western Digital Technologies, Inc. | Buffer memory protection unit |
| US9423983B2 (en) * | 2012-01-19 | 2016-08-23 | Syncsort Incorporated | Intelligent storage controller |
| US9639275B2 (en) | 2014-08-06 | 2017-05-02 | Seagate Technology Llc | Managing data within a storage device based on file system metadata |
| JP6379291B2 (en) * | 2014-10-31 | 2018-08-22 | 華為技術有限公司Huawei Technologies Co.,Ltd. | File access method, system, and host |
| US12182446B2 (en) | 2022-12-21 | 2024-12-31 | Pure Storage, Inc. | Container storage interface filter driver-based optimization of a storage system |
| US12287990B2 (en) | 2022-12-21 | 2025-04-29 | Pure Storage, Inc. | Container storage interface filter driver-based determination of optimal storage system to provide storage for a containerized application deployment |
| US12236121B2 (en) | 2022-12-21 | 2025-02-25 | Pure Storage, Inc. | Container storage interface filter driver-based security for a storage system |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5247494A (en) | 1984-06-08 | 1993-09-21 | Matsushita Electric Industrial Co. Ltd. | Method for recording and reproducing information on and from an optical disk having a read-only recorded zone and a writable and readable zone using a spot laser light |
| EP0542730B1 (en) | 1986-02-07 | 1997-07-30 | Matsushita Electric Industrial Co., Ltd. | Optical disc and disc drive apparatus for writing/reading data into/from the disc |
| US5333315A (en) | 1991-06-27 | 1994-07-26 | Digital Equipment Corporation | System of device independent file directories using a tag between the directories and file descriptors that migrate with the files |
| WO1993023803A1 (en) * | 1992-05-21 | 1993-11-25 | Fujitsu Limited | Disk array apparatus |
| US5463772A (en) | 1993-04-23 | 1995-10-31 | Hewlett-Packard Company | Transparent peripheral file systems with on-board compression, decompression, and space management |
| TW367492B (en) | 1996-04-11 | 1999-08-21 | Matsushita Electric Industrial Co Ltd | Optical disk |
| EP1010076A1 (en) | 1996-11-27 | 2000-06-21 | 1Vision Software, L.L.C. | File directory and file navigation system |
| US5931935A (en) * | 1997-04-15 | 1999-08-03 | Microsoft Corporation | File system primitive allowing reprocessing of I/O requests by multiple drivers in a layered driver I/O system |
| JP2003517645A (en) | 1997-08-11 | 2003-05-27 | シーゲイト テクノロジー エルエルシー | Data storage device and storage method |
| WO1999042934A2 (en) * | 1998-02-20 | 1999-08-26 | Storm Systems, Llc | File system performance enhancement |
| US6449607B1 (en) * | 1998-09-11 | 2002-09-10 | Hitachi, Ltd. | Disk storage with modifiable data management function |
-
2000
- 2000-03-31 US US09/539,841 patent/US6823398B1/en not_active Expired - Fee Related
-
2001
- 2001-03-28 AU AU2001252996A patent/AU2001252996A1/en not_active Abandoned
- 2001-03-28 JP JP2001573181A patent/JP2003535391A/en active Pending
- 2001-03-28 WO PCT/US2001/009944 patent/WO2001075566A2/en not_active Ceased
- 2001-03-28 EP EP01926462A patent/EP1287415A2/en not_active Withdrawn
- 2001-03-28 KR KR1020027012836A patent/KR20030001392A/en not_active Ceased
- 2001-05-29 TW TW090107565A patent/TW505870B/en not_active IP Right Cessation
Cited By (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP1385096A3 (en) * | 2002-07-22 | 2006-04-19 | Samsung Electronics Co., Ltd. | Apparatus and method for managing memory in mobile communication terminal |
| US7882065B2 (en) | 2003-10-07 | 2011-02-01 | International Business Machines Corporation | Processing a request to update a file in a file system with update data |
| WO2005059724A1 (en) * | 2003-12-17 | 2005-06-30 | Nokia Corporation | Protecting system for data used by java applications |
| WO2005071549A1 (en) * | 2004-01-26 | 2005-08-04 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory device and its control method |
| US7680864B2 (en) | 2004-03-02 | 2010-03-16 | Intel Corporation | Method and apparatus for managing access to stored objects based on retention policy |
| US8626793B2 (en) | 2004-03-02 | 2014-01-07 | Intel Corporation | Object storage |
| WO2005093559A3 (en) * | 2004-03-02 | 2005-12-22 | Intel Corp | Object storage |
| US7769920B2 (en) | 2004-04-15 | 2010-08-03 | Sony Corporation | Information processing apparatus, information processing method, and program and recording medium used therewith |
| EP1586988A3 (en) * | 2004-04-15 | 2008-12-24 | Sony Corporation | Information processing apparatus, information processing method, program and recording medium used therewith |
| KR101116433B1 (en) * | 2004-04-15 | 2012-03-07 | 소니 주식회사 | Information processing apparatus and method, and recording medium |
| EP1586988A2 (en) | 2004-04-15 | 2005-10-19 | Sony Corporation | Information processing apparatus, information processing method, program and recording medium used therewith |
| US8051042B2 (en) | 2006-05-29 | 2011-11-01 | Samsung Electronics Co., Ltd. | Apparatus and method for managing data |
| EP1916594A3 (en) * | 2006-10-25 | 2008-11-19 | Hitachi Global Storage Technologies B. V. | Hard disk drive and method |
| US8386704B2 (en) | 2006-10-25 | 2013-02-26 | HGST Netherlands B.V. | Techniques for improving hard disk drive efficiency |
| US20110314068A1 (en) * | 2007-02-13 | 2011-12-22 | Itay Sherman | Interface for extending functionality of memory cards |
| US8832161B2 (en) * | 2007-02-13 | 2014-09-09 | Google Inc. | Interface for extending functionality of memory cards |
Also Published As
| Publication number | Publication date |
|---|---|
| US6823398B1 (en) | 2004-11-23 |
| KR20030001392A (en) | 2003-01-06 |
| TW505870B (en) | 2002-10-11 |
| WO2001075566A3 (en) | 2002-11-21 |
| EP1287415A2 (en) | 2003-03-05 |
| JP2003535391A (en) | 2003-11-25 |
| AU2001252996A1 (en) | 2001-10-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6823398B1 (en) | File system management embedded in a storage device | |
| JP4359448B2 (en) | System and method for managing file names for file system filter drivers | |
| US7676526B1 (en) | System, method and computer program product for multi-level file-sharing by concurrent users | |
| US7987190B2 (en) | Filesystem having a filename cache | |
| US5628007A (en) | Methods for storing a database in extended attributes of a file system | |
| US5774715A (en) | File system level compression using holes | |
| JP4406224B2 (en) | Image file management method and recording medium therefor | |
| US7600224B2 (en) | Information processing apparatus including storage | |
| JP5194005B2 (en) | Application program interface for managing media files | |
| JP2006048641A (en) | Long-term data archive file server | |
| US8108310B2 (en) | Recording apparatus and method, and communication device and method | |
| US7051054B1 (en) | Method and apparatus for emulating read/write file system on a write-once storage disk | |
| JP4241485B2 (en) | Information processing apparatus, information processing method, program, and recording medium | |
| US5457794A (en) | Information retrieval apparatus for searching target literature data from an information recording medium, including reuse of past retrieving results | |
| TW200527315A (en) | Data processing apparatus and data processing method | |
| JP4321334B2 (en) | License creation device, license creation method, and computer program | |
| WO2004114117A2 (en) | A method of enabling an application to access files stored on a removable storage medium | |
| US6260143B1 (en) | Host-based caching method and system for copy protected content | |
| JP2009516961A (en) | Method and system for managing key and / or rights objects | |
| Halimah | Development of a file system and simple user interface for a WORM disk | |
| JPH11126462A (en) | Tape recording medium, management information generation device and management information decoding device | |
| JPH02208750A (en) | File access system | |
| JP2001307425A (en) | Information recording / reproducing device | |
| JPH06103314A (en) | Control method of information retrieval device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE 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 NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
| WWE | Wipo information: entry into national phase |
Ref document number: 1020027012836 Country of ref document: KR |
|
| ENP | Entry into the national phase |
Ref country code: JP Ref document number: 2001 573181 Kind code of ref document: A Format of ref document f/p: F |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2001926462 Country of ref document: EP |
|
| AK | Designated states |
Kind code of ref document: A3 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE 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 NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG |
|
| WWP | Wipo information: published in national office |
Ref document number: 1020027012836 Country of ref document: KR |
|
| WWP | Wipo information: published in national office |
Ref document number: 2001926462 Country of ref document: EP |
|
| WWW | Wipo information: withdrawn in national office |
Ref document number: 2001926462 Country of ref document: EP |