WO2010071258A1 - Raid controller for independently managing file system - Google Patents
Raid controller for independently managing file system Download PDFInfo
- Publication number
- WO2010071258A1 WO2010071258A1 PCT/KR2009/000202 KR2009000202W WO2010071258A1 WO 2010071258 A1 WO2010071258 A1 WO 2010071258A1 KR 2009000202 W KR2009000202 W KR 2009000202W WO 2010071258 A1 WO2010071258 A1 WO 2010071258A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- file system
- solid state
- host
- protocol
- module
- 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
Images
Classifications
-
- 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
- G06F13/14—Handling requests for interconnection or transfer
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of storage systems
-
- 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/0688—Non-volatile semiconductor memory arrays
Definitions
- Embodiments of the present invention relate to a controller for a solid state disk, and more particularly to a RAID controller that independently manages and operates a file system.
- Solid state disks use flash memory, synchronous dynamic random access memory (SDRAM), and the like, rather than hard disk drives.
- solid state disks do not require a mechanical drive such as a motor used for a hard disk drive, and therefore can operate with little heat and noise.
- solid state disks are resistant to external shocks and can achieve higher data rates compared to hard disk drives.
- Solid state disks are classified into flash based SSDs and DRAM based SSDs. While there are various types of solid state disks, the performance of solid state disks is highly dependent on the controller. Until now, controllers for solid state disks did not adequately reflect the inherent characteristics of solid state disks and were often used unoptimized.
- the file system is managed by the host.
- a host manages a file system, there is a problem in that information about a change in the state of the file system is not well reflected in the solid state disk.
- a hard disk can be 'overwritten', so even if the file system is managed by the host, there is no problem in properly managing the hard disk.
- 'overwrite' is rarely allowed on solid-state disks, it can be inefficient for the host to manage the file system.
- the data corresponding to the specific information deleted from the file system remains in the memory of the solid state disk may be an overhead during garbage collection.
- the RAID controller not the host, manages the file system, thereby easily obtaining information on the state change of the file system and the like, and using the information.
- the present invention independently performs various commands such as a trim command for efficiently managing a solid state disk by managing a file system independently of a host by a RAID controller and not a host.
- the present invention provides a RAID controller capable of independently managing a file system without changing the structure of the host system by supporting NFS or CIFS.
- a controller for a solid state disk is a RAID (Redundant Array of Independent / Inexpensive Disks) control module for controlling at least one group including a plurality of solid state disks and the at least one It includes a file system management module that manages file systems for groups.
- RAID Redundant Array of Independent / Inexpensive Disks
- the RAID control module and the file system management module may be integrated into one module, chip, or card.
- the file system management module may include at least one processor module for executing an operating system for managing the file system and at least one memory module for storing data of the file system.
- the operating system manages the file system independently of a host, thereby maximizing the performance or efficiency of a solid state disk.
- the operating system can perform the trim command independently.
- the controller for the solid state disk may further include a host interface module for communicating with the host.
- the host interface module may include a network file system (NFS) protocol, a common internet file system (CIFS) protocol, a remote file system (RFS) protocol, an andrew file system (AFS) protocol, and a DCE / It can support at least one of the Distributed Computing Environment / Distribute File Service (DFS) protocols. It may be in accordance with either standard.
- the file system management module to manage and maintain a file system for at least one group including a plurality of solid state disk, through the host interface module Reading data from at least one group or receiving a read / write command from a host that wants to write data to the at least one group, and the RAID (Redundant Array of Independent / Inexpensive Disks) control module Generating a command for said at least one group with reference to a system.
- the file system management module, the host interface module and the RAID control module may be integrated into one module, chip, or card.
- a controller for a solid state disk is for communicating with a host to write data to or read data from at least one group including a plurality of solid state disks
- At least one processor module for performing a host interface module, first instructions for performing a RAID control for the at least one group, and second instructions for managing a file system for the at least one group, the file At least one memory module for storing data of the system, data for performing the first instructions and the second instructions, and a disk interface module for communicating with the at least one group.
- the RAID controller not the host, manages the file system, thereby making it possible to easily obtain information on the state change of the file system and the like and to use the information.
- the present invention can independently execute various commands such as a trim command for efficiently managing a solid state disk by managing a file system independently of a host by a RAID controller rather than a host. .
- the present invention can provide a RAID controller capable of independently managing a file system without changing the structure of the host system by supporting NFS or CIFS.
- FIG. 1 is a diagram illustrating a general RAID controller and a host.
- FIG. 2 illustrates a RAID controller and a host according to an embodiment of the present invention.
- FIG. 3 is a diagram illustrating a RAID controller according to another embodiment of the present invention in detail from a software point of view and a hardware point of view.
- 4 is a view for explaining the concept of direct-attached storage and network-attached storage.
- FIG. 5 is a flowchart illustrating a method of controlling a RAID controller according to an exemplary embodiment of the present invention.
- FIG. 1 is a diagram illustrating a general RAID controller and a host.
- the host 110 directly manages a file system 111. That is, the host 110 directly manages the file system 111 to read data from or write data to the solid state disks 130.
- the host 110 has an operating system, and the host 110 manages the file system 111 through the operating system.
- the RAID controller 120 interprets the request and based on the interpreted result, the host 110 desires a solid state of the desired data.
- a control signal for reading from the disks 130 or a command for writing the data to the solid state disks 130 is generated.
- the RAID controller 120 stores all or part of the data in a plurality of solid state disks 130. There are various ways of dividing the data and these are called 'levels'.
- the RAID controller 120 may create at least one logical disk by grouping the plurality of solid state disks 130 into at least one group.
- the plurality of solid state disks 130 are recognized by the host as at least one group.
- the solid state disks 130 are recognized by the operating system as at least one group.
- the present invention can provide optimized techniques for the solid state disks 130 by managing the file system 111 by the RAID controller 120 rather than the host 110. This will be described in detail below.
- FIG. 2 illustrates a RAID controller and a host according to an embodiment of the present invention.
- the RAID controller 220 includes a RAID control module 221, a file system management module 222, a host interface module 223, and a disk interface module 224. do.
- the RAID control module 221, the file system management module 222, the host interface module 223, and the disk interface module 224 may be integrated into one module, chip, or card.
- the solid state disks 230 may include at least one of NAND flash memories, NOR flash memories, or various nonvolatile memories.
- the host interface module 223 may conform to any one of a peripheral component interconnect (PCI), a PCI-X, a PCI-Express, a hypertransport, or a universal serial bus (USB).
- PCI peripheral component interconnect
- PCI-X PCI-X
- PCI-Express PCI-Express
- hypertransport or a universal serial bus
- USB universal serial bus
- the host interface module 223 may include a network file system (NFS) protocol, a common internet file system (CIFS) protocol, a remote file system (RFS) protocol, and an andrew file system (AFS). Protocol, DCE / DFS (Distribute Computing Environment / Distribute File Service) protocol may be supported.
- NFS network file system
- CIFS common internet file system
- RFS remote file system
- AFS andrew file system
- DCE / DFS Distribute Computing Environment / Distribute File Service
- the host interface module 223 receives a read request or a write request of the host 210.
- the RAID control module 221 generates instructions for the solid state disks 230 based on requests such as a read request or a write request of the host 210 received via the host interface module 223.
- the disk interface module 224 then generates disk commands corresponding to the commands generated by the RAID control module 221 and sends the disk commands to the solid state disks 230.
- File system management module 222 also manages the file system for solid state disks 230. That is, the RAID controller 220 according to an embodiment of the present invention manages the file system by itself, so that the RAID controller 220 can efficiently recognize the information about the state change of the file system and the like, thereby effectively identifying the solid state disks 230. Can be optimized Here, the file system management module 222 of the present invention may manage all or part of the file system. For example, assuming that a file system is logically divided into a parent file system and a child file system, the file system management module 222 manages both the parent file system and the child file system, or the parent file system and the child file system. It can also manage either.
- the file system management module 222 may have a separate operating system for managing the file system.
- such an operating system may manage the file system independently without a separate command or request from the host 210.
- the operating system may independently execute a TRIM command for applying the information about the state change of the file system to the solid state disks 230. 3, a more specific example of the file system management module 222 will be described.
- the file system management module 222 stores data of at least one processor module and a file system for executing such an operating system. At least one memory module may be included.
- the RAID controller 220 since the RAID controller 220 manages separate operating systems and file systems, the RAID controller 220 and the solid state disks 230 to the host 210 may be directly attached storage (DAS). And may be recognized as a network attached storage (NAS).
- DAS directly attached storage
- NAS network attached storage
- the host interface module 223 of the present invention is a network file system (NFS) protocol, a common Internet file system (CIFS)
- NFS network file system
- CIFS common Internet file system
- the protocol, the Remote File System (RFS) protocol, the Andrew File System (AFS) protocol, and the Distributed Computing Environment / Distribute File Service (DFS) protocol may be supported.
- the host interface module 223 supports the TCP / IP protocol because the RAID controller 220 and the solid state disks 230 are not directly connected storage. If not, the RAID controller 220 and the solid state disks 230 may be recognized as network-attached storage by the host 210.
- FIG. 3 is a diagram illustrating a RAID controller according to another embodiment of the present invention in detail from a software point of view and a hardware point of view.
- reference numeral 310 denotes a RAID controller from a software point of view
- reference numeral 320 denotes a RAID controller from a hardware point of view.
- the device driver 311 processes various commands for communication between the host and the RAID controller
- the operating system 312 is the device driver 311, NFS / CIFS 313, file.
- the file system 314 is a 'local file system' which is distinguished from the file system managed by the host and managed by the RAID controller.
- the NFS / CIFS 313 is a program for supporting at least one of a network file system protocol, a common Internet file system protocol, an RFS protocol, an AFS protocol, and a DCE / DFS protocol, and RAID F / W (RAID FirmWare, 315). Is a program to implement RAID function.
- the host interface module 321 is physically connected with the host.
- the host interface module 321 may comply with various standards such as Peripheral Component Interconnect (PCI), PCI-X, PCI-Express, Hypertransport, or Universal Serial Bus (USB).
- PCI Peripheral Component Interconnect
- PCI-X Peripheral Component Interconnect
- PCI-Express Peripheral Component Interconnect
- USB Universal Serial Bus
- the processor module 322 also processes instructions for executing the operating system 312, instructions for managing the file system 314, and instructions for executing the RAID F / W 315.
- the processor module 322 may be implemented not only as one processor module to integrally execute the instructions, but also as a plurality of processor modules which individually execute the instructions.
- the memory module is composed of a DRAM 323 and a cache memory 324.
- a DRAM 323 and cache memory 324 store data necessary for the processor module 322 to manage the file system 314 or data needed to perform various instructions.
- the disk interface module 325 communicates with the solid state disks and may support various interfaces such as SCSI, PATA, SATA, SAS, FC, and the like.
- the device driver 311 forwards the requests to the O / S 312. do.
- the O / S 312 uses the NFS / CIFS 313 to interpret the requests and translates the requests into instructions for the file system 314.
- the RAID F / W 315 also converts the commands for the file system 314 into disk commands as appropriate.
- the RAID F / W 315 supports functions for general RAID control such as a function of implementing a level of a RAID and a volume management function.
- the disk commands are delivered to the corresponding solid state disks, which operate in accordance with the disk commands.
- the solid state disks return the operation result to the RAID controller, and the O / S processes the returned operation result according to the NFS protocol, the CIFS protocol, the RFS protocol, the AFS protocol, the DCE / DFS protocol, and the like.
- the processed information is transmitted to the host through the device driver 311.
- the RAID controller manages the file system 314 with an O / S 312 independent of the host.
- the RAID controller supports NFS protocol, CIFS protocol, RFS protocol, AFS protocol, and DCE / DFS protocol to independently execute commands for managing file system 314, such as trim commands, without changing the host. can do. That is, when a file of a file system is deleted, information about 'deletion' can be immediately transmitted to the RAID F / W 315, and the trim command can be quickly applied to a solid state disk, so that the present invention can efficiently Solid state disks can be managed efficiently.
- 4 is a view for explaining the concept of direct-attached storage and network-attached storage.
- reference numeral 410 denotes a direct attached storage system.
- the host is connected to the DAS via a dedicated cable.
- the direct attached storage system has a problem that the file system of each of the hosts is not shared well.
- the DAS according to the present invention can directly manage the file system, and the description thereof has been described above.
- hosts connect to the NAS through a network such as a local area network.
- hosts connect to the NAS using the TCP / IP protocol.
- the solid state disk according to the present invention is substantially direct attached storage, it is recognized by the host as network attached storage.
- the RAID controller of the present invention can support the NFS protocol, CIFS protocol, RFS protocol, AFS protocol, DCE / DFS protocol.
- FIG. 5 is a flowchart illustrating a method of controlling a RAID controller according to an exemplary embodiment of the present invention.
- the host interface module receives requests according to the NFS protocol or the CIFS protocol (S510).
- the host interface module may support various protocols such as the RFS protocol, the AFS protocol, and the DCE / DFS protocol in addition to the NFS protocol and the CIFS protocol.
- the operating system executed by the at least one processor module converts the requests into instructions for a file system (S520).
- the file system is not managed by the host but by the RAID controller (more specifically, the file system management module).
- the operating system converts the instructions for the file system into block device instructions.
- the RAID controller (for example, a RAID control module) converts block device commands into disk commands through RAID F / W (S540). At this time, the disk commands are transferred to the corresponding solid state disks through the disk interface module, and the solid state disks perform an operation corresponding to the disk commands. The solid state disks return the responses regarding the operation result to the RAID controller (S550).
- the operating system of the RAID controller processes the responses in a form corresponding to the NFS protocol, CIFS protocol (S560), and returns the processed information to the host through the device driver (S570).
- 1 to 4 may be equally applied to the method of controlling a RAID controller according to an exemplary embodiment of the present invention. Therefore, detailed description of the method will be omitted.
- the method for controlling a solid state disk according to the present invention can be implemented in the form of program instructions that can be executed by various computer means and recorded on a computer readable medium.
- the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
- Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts.
- Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks.
- program instructions include machine code, such as produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.
- the hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
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)
Abstract
Description
본 발명의 실시예들은 고체 상태 디스크(Solid State Disk)를 위한 컨트롤러에 관한 것으로, 특히 파일 시스템을 독립적으로 관리하고 운용하는 RAID 컨트롤러에 관한 것이다.Embodiments of the present invention relate to a controller for a solid state disk, and more particularly to a RAID controller that independently manages and operates a file system.
최근, 고체 상태 디스크(solid state disk)에 관한 관심이 크게 증가하고 있다. 고체 상태 디스크는 하드 디스크 드라이브(hard disk drive)가 아니라 플래시 메모리, SDRAM(synchronous dynamic random access memory) 등을 사용한다. 따라서, 고체 상태 디스크는 하드 디스크 드라이브를 위해 사용되는 모터와 같은 기계적 구동 장치를 요구하지 않으므로, 열과 소음을 거의 발생시키지 않고 동작할 수 있다. 뿐만 아니라, 고체 상태 디스크는 외부의 충격에 강하며 하드 디스크 드라이브에 비해 높은 데이터 전송률을 달성할 수 있다.Recently, there has been a great increase in interest in solid state disks. Solid state disks use flash memory, synchronous dynamic random access memory (SDRAM), and the like, rather than hard disk drives. Thus, solid state disks do not require a mechanical drive such as a motor used for a hard disk drive, and therefore can operate with little heat and noise. In addition, solid state disks are resistant to external shocks and can achieve higher data rates compared to hard disk drives.
고체 상태 디스크는 크게 플래시 기반의 SSD와 디램(DRAM) 기반의 SSD 등으로 구별된다. 다양한 유형의 고체 상태 디스크가 존재하지만, 고체 상태 디스크의 성능은 컨트롤러에 크게 의존한다. 지금까지의 고체 상태 디스크를 위한 컨트롤러는 고체 상태 디스크의 고유한 특성을 적절히 반영하지 못하였고, 최적화되지 않은 채로 사용되는 경우가 많았다.Solid state disks are classified into flash based SSDs and DRAM based SSDs. While there are various types of solid state disks, the performance of solid state disks is highly dependent on the controller. Until now, controllers for solid state disks did not adequately reflect the inherent characteristics of solid state disks and were often used unoptimized.
기존의 하드디스크 스토리지 시스템에서, 파일 시스템은 호스트에 의해 관리된다. 호스트가 파일 시스템을 관리하는 경우, 파일 시스템의 상태 변화 등에 관한 정보가 고체 상태 디스크에 잘 반영되지 않는 문제점이 있다.In a conventional hard disk storage system, the file system is managed by the host. When a host manages a file system, there is a problem in that information about a change in the state of the file system is not well reflected in the solid state disk.
예를 들어, 하드디스크에서는 '덮어쓰기'가 가능하므로, 파일 시스템이 호스트에 의해 관리되더라도 적절히 하드디스크를 관리하는 데에는 문제가 없었다. 다만, 고체 상태 디스크에서는 '덮어쓰기'가 거의 허용되지 않으므로, 호스트가 파일 시스템을 관리하는 것은 비효율적일 수 있다. 특히, 호스트가 파일 시스템을 관리하는 경우, 고체 상태 디스크의 메모리에 파일 시스템에서 삭제된 특정 정보에 대응하는 데이터가 그대로 남아 있는 것은 garbage collection 과정 등에서 오버헤드로 작용할 수 있다.For example, a hard disk can be 'overwritten', so even if the file system is managed by the host, there is no problem in properly managing the hard disk. However, since 'overwrite' is rarely allowed on solid-state disks, it can be inefficient for the host to manage the file system. In particular, when the host manages the file system, the data corresponding to the specific information deleted from the file system remains in the memory of the solid state disk may be an overhead during garbage collection.
따라서, 고체 상태 디스크의 성능 또는 효율을 극대화하기 위하여 파일 시스템의 관리 주체를 결정하고, 파일 시스템의 관리 주체가 변경됨에 대응하여 스토리지 시스템 전반을 최적화하기 위한 기술들이 필요하다.Therefore, in order to maximize the performance or efficiency of a solid state disk, techniques for determining a management system of a file system and optimizing the overall storage system in response to changes in the management system of a file system are required.
본 발명은 호스트가 아니라 RAID 컨트롤러가 파일 시스템을 관리함으로써, 파일 시스템의 상태 변화 등에 관한 정보를 쉽게 획득하고, 그 정보를 사용하게 한다.According to the present invention, the RAID controller, not the host, manages the file system, thereby easily obtaining information on the state change of the file system and the like, and using the information.
또한, 본 발명은 호스트가 아니라 RAID 컨트롤러가 파일 시스템을 관리함으로써, 호스트에 대해 독립적으로 파일 시스템을 관리함으로써, 고체 상태 디스크를 효율적으로 관리하기 위한 트림 명령 등과 같은 다양한 명령들을 독립적으로 수행한다.In addition, the present invention independently performs various commands such as a trim command for efficiently managing a solid state disk by managing a file system independently of a host by a RAID controller and not a host.
또한, 본 발명은 NFS 또는 CIFS 등을 지원함으로써, 호스트 시스템의 구조를 변경하지 않고도 파일 시스템을 독립적으로 관리할 수 있는 RAID 컨트롤러를 제공한다.In addition, the present invention provides a RAID controller capable of independently managing a file system without changing the structure of the host system by supporting NFS or CIFS.
본 발명의 일실시예에 따른 고체 상태 디스크를 위한 컨트롤러는 복수의 고체 상태 디스크들을 포함하는 적어도 하나의 그룹을 제어하기 위한 레이드(RAID, Redundant Array of Independent/Inexpensive Disks) 컨트롤 모듈 및 상기 적어도 하나의 그룹을 위한 파일 시스템을 관리하는 파일 시스템 관리 모듈을 포함한다.A controller for a solid state disk according to an embodiment of the present invention is a RAID (Redundant Array of Independent / Inexpensive Disks) control module for controlling at least one group including a plurality of solid state disks and the at least one It includes a file system management module that manages file systems for groups.
이 때, 상기 레이드 컨트롤 모듈 및 상기 파일 시스템 관리 모듈은 하나의 모듈, 칩 또는 카드로 통합될 수 있다.In this case, the RAID control module and the file system management module may be integrated into one module, chip, or card.
이 때, 상기 파일 시스템 관리 모듈은 상기 파일 시스템을 관리하는 운영 체제를 실행하기 위한 적어도 하나의 프로세서 모듈 및 상기 파일 시스템의 데이터를 저장하기 위한 적어도 하나의 메모리 모듈을 포함할 수 있다. 그리고, 상기 운영 체제는 호스트에 대해 독립적으로 상기 파일 시스템을 관리함으로써, 고체 상태 디스크의 성능 또는 효율을 극대화할 수 있다. 특히, 운영 체제는 독립적으로 트림 명령을 수행할 수 있다.In this case, the file system management module may include at least one processor module for executing an operating system for managing the file system and at least one memory module for storing data of the file system. The operating system manages the file system independently of a host, thereby maximizing the performance or efficiency of a solid state disk. In particular, the operating system can perform the trim command independently.
이 때, 고체 상태 디스크를 위한 컨트롤러는 호스트와 통신하기 위한 호스트 인터페이스 모듈을 더 포함할 수 있다. 여기서, 호스트 인터페이스 모듈은 네트워크 파일 시스템(Network File System, NFS) 프로토콜, 공통 인터넷 파일 시스템(Common Internet File System, CIFS) 프로토콜, RFS(Remote File System) 프로토콜, AFS(Andrew File System) 프로토콜, DCE/DFS(Distribute Computing Environment/Distribute File Service) 프로토콜 중 적어도 하나를 지원할 수 있고, PCI(Peripheral Component Interconnect), PCI-X, PCI-Express, 하이퍼트랜스포트(Hypertransport) 또는 유에스비(Universal Serial Bus, USB) 중 어느 하나의 규격을 따르는 것일 수 있다.At this time, the controller for the solid state disk may further include a host interface module for communicating with the host. The host interface module may include a network file system (NFS) protocol, a common internet file system (CIFS) protocol, a remote file system (RFS) protocol, an andrew file system (AFS) protocol, and a DCE / It can support at least one of the Distributed Computing Environment / Distribute File Service (DFS) protocols. It may be in accordance with either standard.
또한, 본 발명의 일실시예에 따른 고체 상태 디스크의 제어 방법은 파일 시스템 관리 모듈이 복수의 고체 상태 디스크들을 포함하는 적어도 하나의 그룹을 위한 파일 시스템을 관리하고 유지하는 단계, 호스트 인터페이스 모듈을 통하여 적어도 하나의 그룹으로부터 데이터를 읽거나, 상기 적어도 하나의 그룹에 데이터를 쓰고자 하는 호스트로부터 읽기/쓰기 명령을 수신하는 단계 및 상기 레이드(RAID, Redundant Array of Independent/Inexpensive Disks) 컨트롤 모듈이 상기 파일 시스템을 참조하여 상기 적어도 하나의 그룹에 대한 명령을 생성하는 단계를 포함한다. 여기서, 상기 파일 시스템 관리 모듈, 상기 호스트 인터페이스 모듈 및 상기 레이드 컨트롤 모듈은 하나의 모듈, 칩 또는 카드로 통합될 수 있다.In addition, the method for controlling a solid state disk according to an embodiment of the present invention, the file system management module to manage and maintain a file system for at least one group including a plurality of solid state disk, through the host interface module Reading data from at least one group or receiving a read / write command from a host that wants to write data to the at least one group, and the RAID (Redundant Array of Independent / Inexpensive Disks) control module Generating a command for said at least one group with reference to a system. Here, the file system management module, the host interface module and the RAID control module may be integrated into one module, chip, or card.
또한, 본 발명의 다른 실시예에 따른 고체 상태 디스크를 위한 컨트롤러는 복수의 고체 상태 디스크들을 포함하는 적어도 하나의 그룹에 데이터를 쓰거나, 상기 적어도 하나의 그룹으로부터 데이터를 읽고자 하는 호스트와 통신하기 위한 호스트 인터페이스 모듈, 상기 적어도 하나의 그룹에 대한 레이드 컨트롤을 수행하기 위한 제1 명령들 및 상기 적어도 하나의 그룹을 위한 파일 시스템을 관리하기 위한 제2 명령들을 수행하기 위한 적어도 하나의 프로세서 모듈, 상기 파일 시스템의 데이터, 상기 제1 명령들 및 상기 제2 명령들을 수행하기 위한 데이터를 저장하는 적어도 하나의 메모리 모듈 및 상기 적어도 하나의 그룹과 통신하기 위한 디스크 인터페이스 모듈을 포함한다.In addition, a controller for a solid state disk according to another embodiment of the present invention is for communicating with a host to write data to or read data from at least one group including a plurality of solid state disks At least one processor module for performing a host interface module, first instructions for performing a RAID control for the at least one group, and second instructions for managing a file system for the at least one group, the file At least one memory module for storing data of the system, data for performing the first instructions and the second instructions, and a disk interface module for communicating with the at least one group.
본 발명은 호스트가 아니라 RAID 컨트롤러가 파일 시스템을 관리함으로써, 파일 시스템의 상태 변화 등에 관한 정보를 쉽게 획득하고, 그 정보를 사용하게 할 수 있다.According to the present invention, the RAID controller, not the host, manages the file system, thereby making it possible to easily obtain information on the state change of the file system and the like and to use the information.
또한, 본 발명은 호스트가 아니라 RAID 컨트롤러가 파일 시스템을 관리함으로써, 호스트에 대해 독립적으로 파일 시스템을 관리함으로써, 고체 상태 디스크를 효율적으로 관리하기 위한 트림 명령 등과 같은 다양한 명령들을 독립적으로 수행할 수 있다.In addition, the present invention can independently execute various commands such as a trim command for efficiently managing a solid state disk by managing a file system independently of a host by a RAID controller rather than a host. .
또한, 본 발명은 NFS 또는 CIFS 등을 지원함으로써, 호스트 시스템의 구조를 변경하지 않고도 파일 시스템을 독립적으로 관리할 수 있는 RAID 컨트롤러를 제공할 수 있다.In addition, the present invention can provide a RAID controller capable of independently managing a file system without changing the structure of the host system by supporting NFS or CIFS.
도 1은 일반적인 RAID 컨트롤러 및 호스트를 도시한 도면이다.1 is a diagram illustrating a general RAID controller and a host.
도 2는 본 발명의 일실시예에 따른 RAID 컨트롤러 및 호스트를 도시한 도면이다.2 illustrates a RAID controller and a host according to an embodiment of the present invention.
도 3은 본 발명의 다른 실시예에 따른 RAID 컨트롤러를 소프트웨어적인 관점 및 하드웨어 관점에서 구체적으로 도시한 도면이다.3 is a diagram illustrating a RAID controller according to another embodiment of the present invention in detail from a software point of view and a hardware point of view.
도 4는 직접 연결 스토리지 및 네트워크 연결 스토리지의 개념을 설명하기 위한 도면이다.4 is a view for explaining the concept of direct-attached storage and network-attached storage.
도 5는 본 발명의 일실시예에 따른 RAID 컨트롤러의 제어 방법을 나타낸 동작 흐름도이다.5 is a flowchart illustrating a method of controlling a RAID controller according to an exemplary embodiment of the present invention.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 일반적인 RAID 컨트롤러 및 호스트를 도시한 도면이다.1 is a diagram illustrating a general RAID controller and a host.
도 1을 참조하면, 일반적인 스토리지 시스템에서, 호스트(110)는 직접 파일 시스템(111)을 관리한다. 즉, 호스트(110)는 고체 상태 디스크들(130)로부터 데이터를 읽거나 고체 상태 디스크들(130)에 데이터를 쓰기 위하여 직접 파일 시스템(111)을 관리한다. 이 때, 호스트(110)는 운영 체제를 가지고 있으며, 호스트(110)는 이러한 운영 체제를 통하여 파일 시스템(111)을 관리한다.Referring to FIG. 1, in a general storage system, the
호스트(110)가 파일 시스템을 참조하여 데이터를 읽거나 쓰기 위한 요청을 전송하는 경우, RAID 컨트롤러(120)는 상기 요청을 해석하고, 해석된 결과를 기초로 호스트(110)가 원하는 데이터를 고체 상태 디스크들(130)로부터 읽기 위한 제어 신호 또는 상기 데이터를 고체 상태 디스크들(130)에 쓰기 위한 명령을 생성한다.When the
또한, RAID 컨트롤러(120)는 여러 개의 고체 상태 디스크들(130)에 데이터의 전부 또는 일부를 나누어서 저장한다. 데이터를 나누는 다양한 방법들이 존재하며, 이러한 방법들을 '레벨'이라고 한다.In addition, the
이 때, RAID 컨트롤러(120)는 여러 개의 고체 상태 디스크들(130)을 적어도 하나의 그룹으로 그룹핑함으로써, 적어도 하나의 논리적 디스크를 만들어낼 수 있다. 일반적으로 소프트웨어적인 방법에 따르면, 운영 체제 내에서 RAID를 구현함으로써 여러 개의 고체 상태 디스크들(130)은 호스트에게 적어도 하나의 그룹으로 인식된다. 반면에, 하드웨어적인 방법에 따르면, 운영 체제에게 여러 개의 고체 상태 디스크들(130)이 적어도 하나의 그룹으로 인식된다.In this case, the
도 1에 도시된 바와 같이, 호스트(110)가 파일 시스템(111)을 직접 관리하는 경우, 여러 문제점들이 발생할 수 있다. 예를 들어, 파일 시스템(110)의 상태 변화(예를 들어, 파일 삭제) 등에 관한 정보가 RAID 컨트롤러(120)에게 제대로 전달되지 않는 경우, 고체 상태 디스크들(130)은 불필요한 'garbage 데이터'를 정리하지 못한 채 계속적으로 저장하는 문제가 발생할 있으며, 이러한 것은 고체 상태 디스크들(130)의 성능을 저하시키는 원인이 될 수 있다.As shown in FIG. 1, when the
그러나, 본 발명은 파일 시스템(111)을 호스트(110)가 아니라 RAID 컨트롤러(120)가 관리함으로써, 고체 상태 디스크들(130)을 위한 최적화된 기술들을 제공할 수 있다. 이에 대해서는 아래에서 상세히 설명한다.However, the present invention can provide optimized techniques for the
도 2는 본 발명의 일실시예에 따른 RAID 컨트롤러 및 호스트를 도시한 도면이다.2 illustrates a RAID controller and a host according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 일실시예에 따른 RAID 컨트롤러(220)는 RAID 컨트롤 모듈(221), 파일 시스템 관리 모듈(222), 호스트 인터페이스 모듈(223) 및 디스크 인터페이스 모듈(224)을 포함한다.2, the
이 때, RAID 컨트롤 모듈(221), 파일 시스템 관리 모듈(222) 호스트 인터페이스 모듈(223) 및 디스크 인터페이스 모듈(224)은 하나의 모듈, 칩 또는 카드로 통합될 수 있다. 그리고, 고체 상태 디스크들(230)은 낸드 플래시 메모리들, 노어 플래시 메모리들 또는 다양한 비휘발성 메모리들 중 적어도 하나를 포함할 수 있다.In this case, the
또한, 호스트 인터페이스 모듈(223)은 PCI(Peripheral Component Interconnect), PCI-X, PCI-Express, 하이퍼트랜스포트(Hypertransport) 또는 유에스비(Universal Serial Bus, USB) 중 어느 하나의 규격을 따를 수 있다. 뿐만 아니라, 호스트 인터페이스 모듈(223)은 네트워크 파일 시스템(Network File System, NFS) 프로토콜, 공통 인터넷 파일 시스템(Common Internet File System, CIFS) 프로토콜, RFS(Remote File System) 프로토콜, AFS(Andrew File System) 프로토콜, DCE/DFS(Distribute Computing Environment/Distribute File Service) 프로토콜 중 적어도 하나를 지원할 수 있다.In addition, the
이러한 호스트 인터페이스 모듈(223)은 호스트(210)의 읽기 요청 또는 쓰기 요청을 수신한다.The
또한, RAID 컨트롤 모듈(221)은 호스트 인터페이스 모듈(223)을 통해 수신된 호스트(210)의 읽기 요청 또는 쓰기 요청과 같은 요청들을 기초로 고체 상태 디스크들(230)을 위한 명령들을 생성한다. 그리고, 디스크 인터페이스 모듈(224)은 RAID 컨트롤 모듈(221)에 의해 생성된 명령들에 대응하는 디스크 명령들을 생성하고, 디스크 명령들을 고체 상태 디스크들(230)로 전송한다.In addition, the
또한, 파일 시스템 관리 모듈(222)은 고체 상태 디스크들(230)을 위한 파일 시스템을 관리한다. 즉, 본 발명의 일실시예에 따른 RAID 컨트롤러(220)는 스스로 파일 시스템을 관리함으로써, 파일 시스템의 상태 변화 등에 관한 정보를 효율적으로 인지할 수 있고, 그에 따라 고체 상태 디스크들(230)을 효과적으로 최적화할 수 있다. 여기서, 본 발명의 파일 시스템 관리 모듈(222)은 파일 시스템의 전부 또는 일부를 관리할 수 있다. 예를 들어, 파일 시스템이 논리적으로 상위 파일 시스템 및 하위 파일 시스템으로 구별된다고 가정하는 경우, 파일 시스템 관리 모듈(222)은 상위 파일 시스템 및 하위 파일 시스템을 모두 관리하거나, 상위 파일 시스템 및 하위 파일 시스템 중 어느 하나를 관리할 수도 있다.File
이 때, 파일 시스템 관리 모듈(222)은 파일 시스템을 관리하기 위한 별도의 운영 체제를 가질 수 있다. 특히, 이러한 운영 체제는 호스트(210)로부터 별도의 명령 또는 요청이 없어도 독립적으로 파일 시스템을 관리할 수 있다. 예를 들어, 상기 운영 체제는 파일 시스템의 상태 변화 등에 관한 정보를 고체 상태 디스크들(230)에 적용하기 위한 트림(TRIM) 명령을 독립적으로 수행할 수 있다. 그리고, 도 3과 관련하여 파일 시스템 관리 모듈(222)에 대한 보다 구체적인 예를 설명하겠지만, 파일 시스템 관리 모듈(222)은 이러한 운영 체제를 실행하기 위한 적어도 하나의 프로세서 모듈 및 파일 시스템의 데이터를 저장하기 위한 적어도 하나의 메모리 모듈을 포함할 수 있다.In this case, the file
또한, RAID 컨트롤러(220)가 별도의 운영 체제 및 파일 시스템을 관리하므로, 호스트(210)에게 RAID 컨트롤러(220) 및 고체 상태 디스크들(230)은 직접 연결 스토리지(Direct Attached Storage, DAS)임에도 불구하고 네트워크 연결 스토리지(Network Attached Storage, NAS)로 인식될 수 있다. 이 때, 호스트(210)의 구조에 변경을 가하지 않기 위하여, 본 발명의 호스트 인터페이스 모듈(223)은 네트워크 파일 시스템(Network File System, NFS) 프로토콜, 공통 인터넷 파일 시스템(Common Internet File System, CIFS) 프로토콜, RFS(Remote File System) 프로토콜, AFS(Andrew File System) 프로토콜, DCE/DFS(Distribute Computing Environment/Distribute File Service) 프로토콜 중 적어도 하나를 지원할 수 있음은 상술한 바와 같다.In addition, since the
다만, RAID 컨트롤러(220) 및 고체 상태 디스크들(230)이 실제로 직접 연결 스토리지인 경우, 실질적으로 TCP/IP 프로토콜에 따른 통신을 수행하지 않으므로, 호스트 인터페이스 모듈(223)이 TCP/IP 프로토콜을 지원하지 않아도 RAID 컨트롤러(220) 및 고체 상태 디스크들(230)은 호스트(210)에 의해 네트워크 연결 스토리지로 인식될 수 있다.However, when the
도 3은 본 발명의 다른 실시예에 따른 RAID 컨트롤러를 소프트웨어적인 관점 및 하드웨어 관점에서 구체적으로 도시한 도면이다.3 is a diagram illustrating a RAID controller according to another embodiment of the present invention in detail from a software point of view and a hardware point of view.
도 3을 참조하면, 도면 부호 310은 소프트웨어적인 관점에서 RAID 컨트롤러를 도시한 것이고, 도면 부호 320은 하드웨어적인 관점에서 RAID 컨트롤러를 도시한 것이다.Referring to FIG. 3,
도면 부호 310에서, 디바이스 드라이버(311)는 호스트와 RAID 컨트롤러 사이의 통신을 위한 다양한 명령들을 처리하고, O/S(Operating System, 312)는 디바이스 드라이버(311), NFS/CIFS(313), 파일 시스템(314)을 전체적으로 제어 및 관리한다. 여기서, 파일 시스템(314)은 호스트에 의해 관리되는 파일 시스템과는 구별되고, RAID 컨트롤러에 의해 관리되는 '로컬 파일 시스템'이다.At 310, the
또한, NFS/CIFS(313)는 네트워크 파일 시스템 프로토콜, 공통 인터넷 파일 시스템 프로토콜, RFS 프로토콜, AFS 프로토콜, DCE/DFS 프로토콜 중 적어도 하나를 지원하기 위한 프로그램이고, RAID F/W(RAID FirmWare, 315)는 레이드 기능을 구현하기 위한 프로그램이다.Also, the NFS /
도면 부호 320에서, 호스트 인터페이스 모듈(321)은 호스트와 물리적으로 연결된다. 이 때, 호스트 인터페이스 모듈(321)은 PCI(Peripheral Component Interconnect), PCI-X, PCI-Express, 하이퍼트랜스포트(Hypertransport) 또는 유에스비(Universal Serial Bus, USB)와 같은 다양한 규격들을 따를 수 있다.At 320, the
또한, 프로세서 모듈(322)은 운영 체제(312)를 실행하기 위한 명령들, 파일 시스템(314)을 관리하기 위한 명령들 및 RAID F/W(315)를 실행하기 위한 명령들을 처리한다. 이 때, 프로세서 모듈(322)은 상기 명령들을 통합적으로 수행하기 위하여 하나의 프로세서 모듈로 구현될 수 있을 뿐만 아니라, 상기 명령들을 개별적으로 수행하는 복수개의 프로세서 모듈들로 구현될 수 있다.The processor module 322 also processes instructions for executing the
또한, 본 발명의 일실시예에 따른 메모리 모듈은 DRAM(323) 및 캐쉬 메모리(324)로 구성된다. 이러한 DRAM(323) 및 캐쉬 메모리(324)는 프로세서 모듈(322)이 다양한 명령들을 수행하는 데에 필요한 데이터 또는 파일 시스템(314)을 관리하는 데에 필요한 데이터들을 저장한다.In addition, the memory module according to an embodiment of the present invention is composed of a
또한, 디스크 인터페이스 모듈(325)은 고체 상태 디스크들과 통신하며, SCSI, PATA, SATA, SAS, FC 등의 다양한 인터페이스를 지원할 수 있다.In addition, the disk interface module 325 communicates with the solid state disks and may support various interfaces such as SCSI, PATA, SATA, SAS, FC, and the like.
NFS 프로토콜, CIFS 프로토콜, RFS 프로토콜, AFS 프로토콜, DCE/DFS 프로토콜 등을 따르는 호스트의 읽기 요청 또는 쓰기 요청과 같은 요청들이 발생한 경우, 디바이스 드라이버(311)는 상기 요청들을 O/S(312)로 전달한다. 이 때, O/S(312)는 NFS/CIFS(313)을 이용하여 상기 요청들을 해석하고, 상기 요청들을 파일 시스템(314)을 위한 명령들로 변환한다.When a request occurs such as a read request or a write request of a host following the NFS protocol, CIFS protocol, RFS protocol, AFS protocol, DCE / DFS protocol, etc., the
또한, RAID F/W(315)는 파일 시스템(314)을 위한 명령들을 적절히 디스크 명령들로 변환한다. 여기서, RAID F/W(315)는 레이드의 레벨을 구현하는 기능, 볼륨 매니지먼트 기능 등 일반적인 레이드 컨트롤을 위한 기능들을 지원한다. 결국, 디스크 명령들은 해당 고체 상태 디스크들로 전달되며, 해당 고체 상태 디스크들은 디스크 명령들에 따라 동작한다.The RAID F /
또한, 해당 고체 상태 디스크들은 상기 동작 결과를 RAID 컨트롤러로 반환하고, O/S는 반환된 동작 결과를 NFS 프로토콜, CIFS 프로토콜, RFS 프로토콜, AFS 프로토콜, DCE/DFS 프로토콜 등에 따라 가공한다. 그리고, 가공된 정보는 디바이스 드라이버(311)를 통하여 호스트로 전달된다.In addition, the solid state disks return the operation result to the RAID controller, and the O / S processes the returned operation result according to the NFS protocol, the CIFS protocol, the RFS protocol, the AFS protocol, the DCE / DFS protocol, and the like. The processed information is transmitted to the host through the
상술한 바와 같이 본 발명에 따른 RAID 컨트롤러는 호스트에 대해 독립적인 O/S(312)를 가지고 파일 시스템(314)을 관리함을 알 수 있다. 이 때, RAID 컨트롤러는 NFS 프로토콜, CIFS 프로토콜, RFS 프로토콜, AFS 프로토콜, DCE/DFS 프로토콜을 지원함으로써, 호스트에 변경을 가하지 않고도 트림 명령 등과 같이 파일 시스템(314)을 관리하기 위한 명령들을 독립적으로 수행할 수 있다. 즉, 파일 시스템의 파일이 삭제된 경우, '삭제'에 대한 정보가 RAID F/W(315)로 즉시 전달될 수 있고, 고체 상태 디스크에 트림 명령이 신속하게 적용될 수 있으므로, 본 발명은 효율적으로 고체 상태 디스크를 효율적으로 관리할 수 있게 된다.As described above, it can be seen that the RAID controller according to the present invention manages the
도 4는 직접 연결 스토리지 및 네트워크 연결 스토리지의 개념을 설명하기 위한 도면이다.4 is a view for explaining the concept of direct-attached storage and network-attached storage.
도 4를 참조하면, 도면 부호 410은 직접 연결 스토리지 시스템을 나타낸다. 일반적인 직접 연결 스토리지 시스템에서, 호스트는 전용 케이블을 통하여 DAS와 연결된다. 일반적으로 파일 시스템은 호스트들 각각에 의해 관리되므로, 직접 연결 스토리지 시스템은 호스트들 각각의 파일 시스템이 잘 공유되지 않는 문제점을 가지고 있다.Referring to FIG. 4,
다만, 본 발명에 따는 DAS는 직접 파일 시스템을 관리할 수 있으며, 이에 대한 설명은 상술하였다.However, the DAS according to the present invention can directly manage the file system, and the description thereof has been described above.
또한, 도면 부호 420을 참조하면, 네트워크 연결 스토리지 시스템에서, 호스트들은 근거리 통신 망과 같은 네트워크를 통하여 NAS에 접속한다. 즉, 일반적인 네트워크 연결 스토리지 시스템에서, 호스트들은 TCP/IP 프로토콜을 사용하여 NAS에 접속한다.Also, referring to 420, in a network-attached storage system, hosts connect to the NAS through a network such as a local area network. In other words, in a typical network attached storage system, hosts connect to the NAS using the TCP / IP protocol.
그러나, 본 발명에 따른 고체 상태 디스크는 실질적으로 직접 연결 스토리지임에도 불구하고, 호스트에게는 네트워크 연결 스토리지로 인식된다. 이러한 점을 고려하여, 본 발명의 RAID 컨트롤러는 NFS 프로토콜, CIFS 프로토콜, RFS 프로토콜, AFS 프로토콜, DCE/DFS 프로토콜을 지원할 수 있다.However, although the solid state disk according to the present invention is substantially direct attached storage, it is recognized by the host as network attached storage. In view of this, the RAID controller of the present invention can support the NFS protocol, CIFS protocol, RFS protocol, AFS protocol, DCE / DFS protocol.
도 5는 본 발명의 일실시예에 따른 RAID 컨트롤러의 제어 방법을 나타낸 동작 흐름도이다.5 is a flowchart illustrating a method of controlling a RAID controller according to an exemplary embodiment of the present invention.
도 5를 참조하면, 호스트 인터페이스 모듈은 NFS 프로토콜 또는 CIFS 프로토콜 등에 따른 요청들을 수신한다(S510). 호스트 인터페이스 모듈이 NFS 프로토콜, CIFS 프로토콜 외에도 RFS 프로토콜, AFS 프로토콜, DCE/DFS 프로토콜와 같은 다양한 프로토콜들을 지원할 수 있음은 상술한 바와 같다.Referring to FIG. 5, the host interface module receives requests according to the NFS protocol or the CIFS protocol (S510). As described above, the host interface module may support various protocols such as the RFS protocol, the AFS protocol, and the DCE / DFS protocol in addition to the NFS protocol and the CIFS protocol.
또한, 적어도 하나의 프로세서 모듈에 의해 실행되는 운영 체제는 상기 요청들을 파일 시스템을 위한 명령들로 변환한다(S520). 이 때, 파일 시스템은 호스트가 아니라 RAID 컨트롤러(보다 구체적인 예를 들어, 파일 시스템 관리 모듈)에 의해 관리된다. 그리고, 운영 체제는 파일 시스템을 위한 명령들을 블록 디바이스 명령들로 변환한다(S530).In addition, the operating system executed by the at least one processor module converts the requests into instructions for a file system (S520). At this time, the file system is not managed by the host but by the RAID controller (more specifically, the file system management module). In operation S530, the operating system converts the instructions for the file system into block device instructions.
또한, RAID 컨트롤러(보다 구체적인 예를 들어, RAID 컨트롤 모듈)는 RAID F/W를 통하여 블록 디바이스 명령들을 디스크 명령들로 변환한다(S540). 이 때, 디스크 명령들은 디스크 인터페이스 모듈을 통하여 해당 고체 상태 디스크들로 전달되며, 해당 고체 상태 디스크들은 디스크 명령들에 대응하는 동작을 수행한다. 그리고, 해당 고체 상태 디스크들은 상기 동작 결과에 관한 응답들을 RAID 컨트롤러로 반환한다(S550)In addition, the RAID controller (for example, a RAID control module) converts block device commands into disk commands through RAID F / W (S540). At this time, the disk commands are transferred to the corresponding solid state disks through the disk interface module, and the solid state disks perform an operation corresponding to the disk commands. The solid state disks return the responses regarding the operation result to the RAID controller (S550).
또한, RAID 컨트롤러의 운영 체제는 상기 응답들을 NFS 프로토콜, CIFS 프로토콜에 대응하는 형태로 가공하고(S560), 가공된 정보를 디바이스 드라이버를 통하여 호스트로 반환한다(S570).In addition, the operating system of the RAID controller processes the responses in a form corresponding to the NFS protocol, CIFS protocol (S560), and returns the processed information to the host through the device driver (S570).
본 발명의 일실시예에 따른 RAID 컨트롤러의 제어 방법에는 도 1 내지 도 4와 관련하여 상술한 내용들이 동일하게 적용될 수 있다. 따라서, 상기 방법에 대한 상세한 설명은 생략하기로 한다.1 to 4 may be equally applied to the method of controlling a RAID controller according to an exemplary embodiment of the present invention. Therefore, detailed description of the method will be omitted.
본 발명에 따른 고체 상태 디스크의 제어 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method for controlling a solid state disk according to the present invention can be implemented in the form of program instructions that can be executed by various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine code, such as produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, although the present invention has been described with reference to limited embodiments and drawings, the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined not only by the claims below but also by the equivalents of the claims.
Claims (21)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR10-2008-0127633 | 2008-12-16 | ||
| KR1020080127633A KR20100069067A (en) | 2008-12-16 | 2008-12-16 | Redundant array of independent/inexpensive disks controller of independently managing file system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2010071258A1 true WO2010071258A1 (en) | 2010-06-24 |
Family
ID=42268912
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2009/000202 Ceased WO2010071258A1 (en) | 2008-12-16 | 2009-01-16 | Raid controller for independently managing file system |
Country Status (2)
| Country | Link |
|---|---|
| KR (1) | KR20100069067A (en) |
| WO (1) | WO2010071258A1 (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110865967A (en) * | 2019-10-11 | 2020-03-06 | 苏州工业园区慧鱼科技有限公司 | Copy system based on ZynQ platform and working method thereof |
| CN111309560A (en) * | 2020-02-24 | 2020-06-19 | 深圳忆联信息系统有限公司 | Method and device for rapidly collecting SSD information during system downtime |
| CN113535084A (en) * | 2021-06-22 | 2021-10-22 | 杭州华澜微电子股份有限公司 | Method for realizing large-capacity SAS hard disk |
| CN116204502A (en) * | 2023-05-04 | 2023-06-02 | 湖南博匠信息科技有限公司 | NAS storage service method and system with high availability |
Families Citing this family (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8504767B2 (en) * | 2010-04-20 | 2013-08-06 | Taejin Info Tech Co., Ltd. | Raid controlled semiconductor storage device |
| US8438324B2 (en) * | 2011-02-01 | 2013-05-07 | Taejin Info Tech Co., Ltd. | RAID-based storage control board having fibre channel interface controller |
| US8484400B2 (en) * | 2011-02-01 | 2013-07-09 | Taejin Info Tech Co., Ltd. | Raid-based storage control board |
| US9207879B2 (en) | 2011-07-06 | 2015-12-08 | Taejin Info Tech Co., Ltd. | Redundant array of independent disk (RAID) controlled semiconductor storage device (SSD)-based system having a high-speed non-volatile host interface |
| KR102133316B1 (en) * | 2012-06-07 | 2020-07-21 | 바이올린 메모리 인코포레이티드 | Memory system management |
| KR102072829B1 (en) | 2013-06-14 | 2020-02-03 | 삼성전자주식회사 | Storage device, global garbage collection method of data storage system having the same |
| KR101509183B1 (en) * | 2014-10-16 | 2015-04-09 | 주식회사 앤다스 | Storage device directly attached to network |
| KR102229717B1 (en) | 2020-03-11 | 2021-03-18 | 박경희 | Experience art academy system |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2001022221A1 (en) * | 1999-09-22 | 2001-03-29 | Netcell Corp. | Raid controller system and method with ata emulation host interface |
| US20030135674A1 (en) * | 2001-12-14 | 2003-07-17 | I/O Integrity, Inc. | In-band storage management |
| US20080040541A1 (en) * | 2004-09-22 | 2008-02-14 | Mark Brockmann | System and Method for Configuring Memory Devices for Use in a Network |
| US20080120463A1 (en) * | 2005-02-07 | 2008-05-22 | Dot Hill Systems Corporation | Command-Coalescing Raid Controller |
-
2008
- 2008-12-16 KR KR1020080127633A patent/KR20100069067A/en not_active Ceased
-
2009
- 2009-01-16 WO PCT/KR2009/000202 patent/WO2010071258A1/en not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2001022221A1 (en) * | 1999-09-22 | 2001-03-29 | Netcell Corp. | Raid controller system and method with ata emulation host interface |
| US20030135674A1 (en) * | 2001-12-14 | 2003-07-17 | I/O Integrity, Inc. | In-band storage management |
| US20080040541A1 (en) * | 2004-09-22 | 2008-02-14 | Mark Brockmann | System and Method for Configuring Memory Devices for Use in a Network |
| US20080120463A1 (en) * | 2005-02-07 | 2008-05-22 | Dot Hill Systems Corporation | Command-Coalescing Raid Controller |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110865967A (en) * | 2019-10-11 | 2020-03-06 | 苏州工业园区慧鱼科技有限公司 | Copy system based on ZynQ platform and working method thereof |
| CN111309560A (en) * | 2020-02-24 | 2020-06-19 | 深圳忆联信息系统有限公司 | Method and device for rapidly collecting SSD information during system downtime |
| CN113535084A (en) * | 2021-06-22 | 2021-10-22 | 杭州华澜微电子股份有限公司 | Method for realizing large-capacity SAS hard disk |
| CN116204502A (en) * | 2023-05-04 | 2023-06-02 | 湖南博匠信息科技有限公司 | NAS storage service method and system with high availability |
| CN116204502B (en) * | 2023-05-04 | 2023-07-04 | 湖南博匠信息科技有限公司 | NAS storage service method and system with high availability |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20100069067A (en) | 2010-06-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2010071258A1 (en) | Raid controller for independently managing file system | |
| US6493811B1 (en) | Intelligent controller accessed through addressable virtual space | |
| JP4438457B2 (en) | Storage area allocation method, system, and virtualization apparatus | |
| CN1282066C (en) | Method and system for accessing tape devices in computer system | |
| US8392670B2 (en) | Performance management of access to flash memory in a storage device | |
| US9122415B2 (en) | Storage system using real data storage area dynamic allocation method | |
| US20070061518A1 (en) | Storage controller, data processing method and computer program product | |
| US8615625B2 (en) | Disk array system | |
| US20080005502A1 (en) | Storage device controlling device and control method for storage device controlling device | |
| US20080155128A1 (en) | Storage apparatus having virtual-to-actual device addressing scheme | |
| US9189418B2 (en) | Computer system, server module, and storage module | |
| US7047388B2 (en) | Control method for storage device controller system, and storage device controller system | |
| GB2408117A (en) | Storage control apparatus and method thereof | |
| US9720621B2 (en) | Storage controller, storage system, and non-transitory computer-readable storage medium having stored therein control program | |
| US20110055504A1 (en) | Storage system | |
| US8112362B2 (en) | Storage system and license management method | |
| CN110737396A (en) | Method, apparatus and computer program product for data replication | |
| US7774514B2 (en) | Method of transmitting data between storage virtualization controllers and storage virtualization controller designed to implement the method | |
| US20130054883A1 (en) | Method and system for shared high speed cache in sas switches | |
| EP4310690A1 (en) | Systems and methods for data prefetching for low latency data read from a remote server | |
| CN101059781A (en) | Method and apparatus for retransmitting input/output operation using serial access data storage apparatus assisted communication port | |
| US11016692B2 (en) | Dynamically switching between memory copy and memory mapping to optimize I/O performance | |
| US10942857B1 (en) | Dynamically adjusting a number of memory copy and memory mapping windows to optimize I/O performance | |
| US20020194405A1 (en) | Disk array system with large storage capacity | |
| US10713171B2 (en) | Computer system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09833536 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 09833536 Country of ref document: EP Kind code of ref document: A1 |