KR100980667B1 - Storage device, method, and computer readable recording medium for improving random write performance in the SDD - Google Patents
Storage device, method, and computer readable recording medium for improving random write performance in the SDD Download PDFInfo
- Publication number
- KR100980667B1 KR100980667B1 KR1020080090959A KR20080090959A KR100980667B1 KR 100980667 B1 KR100980667 B1 KR 100980667B1 KR 1020080090959 A KR1020080090959 A KR 1020080090959A KR 20080090959 A KR20080090959 A KR 20080090959A KR 100980667 B1 KR100980667 B1 KR 100980667B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- log
- hdd
- ssd
- sector number
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
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)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
호스트 시스템으로부터의 임의 쓰기 요청에 따라 해당 데이터를 1차적으로 HDD 에 로그 형식으로 기록한 후, 유휴 시간에 상기 데이터를 본래 저장 위치인 SSD로 옮겨 전달함에 따라 데이터 읽기 동작에서는 SSD의 장점을 그대로 유지하도록 함과 동시에 쓰기 동작에서는 HDD의 장점을 유지하도록 하는 저장 장치, 방법, 및 컴퓨터 판독 가능한 기록 매체가 제공된다. 본 발명에 따르면, 호스트 시스템으로부터의 데이터 임의 쓰기 요청에 대해, 상기 데이터를 로그 형식으로 변환한 로그 데이터 유닛을 저장하는 HDD(Hard Disk Drive); 및 유휴 시간 발생 시에 상기 HDD에 로그 데이터 유닛 형태로 저장된 상기 데이터가 이관되어 저장되는 SSD(Solid State Disk)를 포함하는 저장 장치가 제공된다. According to the random write request from the host system, the data is first recorded in the log format on the HDD, and the data is transferred to the original storage location SSD during idle time, so that the data read operation retains the advantages of the SSD. At the same time, a storage device, a method, and a computer-readable recording medium are provided to maintain the advantages of an HDD in a write operation. According to the present invention, a hard disk drive (HDD) for storing a log data unit converting the data into a log format for a random data write request from a host system; And a solid state disk (SSD) in which the data stored in the form of a log data unit is transferred to and stored in the HDD when an idle time occurs.
SSD, HDD, 임의 쓰기, 로그 데이터 유닛 SSD, HDD, Random Write, Log Data Unit
Description
본 발명은 SSD 에서의 임의 쓰기 성능을 개선하기 위한 저장 장치, 방법, 및 컴퓨터 판독 가능한 기록 매체에 관한 것으로, 보다 상세하게는, 호스트 시스템으로부터의 임의 쓰기 요청에 따라 해당 데이터를 1차적으로 HDD 에 로그 형식으로 기록한 후, 유휴 시간에 상기 데이터를 본래 저장 위치인 SSD로 옮겨 전달함에 따라 데이터 읽기 동작에서는 SSD의 장점을 그대로 유지하도록 함과 동시에 쓰기 동작에서는 HDD의 장점을 유지하도록 하는 저장 장치, 방법, 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다.The present invention relates to a storage device, a method, and a computer-readable recording medium for improving random write performance in an SSD. More particularly, the present invention relates to a HDD primarily in response to a random write request from a host system. Storage device and method for recording data in the log format and transferring the data to the SSD which is the original storage location during idle time, thereby maintaining the advantages of the SSD in the data read operation and maintaining the advantages of the HDD in the write operation. And a computer readable recording medium.
고체 상태 디스크(SSD; Solid State Disk)는 반도체를 기반으로 한 대용량 저장 장치로서 기존의 블록 기반 디스크의 인터페이스를 통해서 플래시 메모리와 같은 저장 장치에 데이터를 입/출력할 수 있는 장치이다. 일반적으로 플래시 메모리를 기반으로 하는 SSD에서의 순차적 읽기/쓰기(Sequential Read/Write)와 임의 읽기 동작(Random Read Operation)의 성능은 하드 디스크 드라이브(HDD; Hard Disk Drive)에 비해서 좋은 성능을 보여주고 있으나 임의 쓰기 동작(Random Write Operation)의 경우에 있어서는 다른 동작의 경우에 비해서 상대적으로 낮은 수준의 성능을 보여주고 있다.Solid state disk (SSD) is a semiconductor-based mass storage device that can input / output data to and from storage devices such as flash memory through an interface of a conventional block-based disk. In general, the performance of sequential read / write and random read operations in SSDs based on flash memory shows better performance than hard disk drives (HDDs). However, the random write operation shows a relatively low level of performance compared to the other operations.
따라서, SSD에 대한 임의 쓰기 동작에서의 성능을 향상시킬 수 있는 기술에 대한 개발이 요구되고 있다. Accordingly, there is a need for development of a technology capable of improving performance in random write operations on SSDs.
이러한 노력에 따라 개발된 기술 중 하나로서, D. Narayanan et al. "Write Off-Loading: Practical Power Management for Enterprise Storage", U SENIX FAST 2008, 에 소개된 기술이 있다. 이 기술은 다수의 디스크를 사용하는 엔터프라이즈 시스템에서 소모 에너지 절감을 위해 디스크의 회전을 줄이거나 멈추는 전략을 사용할 때, 상기 회전이 줄어들거나 멈춘 디스크로의 쓰기 요구를 정상적으로 구동되고 있는 다른 디스크로 일시적으로 기록한 뒤 추후에 이를 읽어들임으로써, 디스크가 휴지 상태일 때, 즉, 그 회전이 줄어들거나 멈춰질 때에 의한 에너지 절감 효과를 얻기 위한 기술이다. 그러나, 이 기술에 의하면 디스크 작동에 소모되는 에너지를 절감하는 효과만 얻을 수 있을 뿐, SSD로의 임의 쓰기 동작에 대한 성능 향상은 꾀할 수 없었다.As one of the technologies developed in accordance with this effort, D. Narayanan et al. There is a technology introduced in "Write Off-Loading: Practical Power Management for Enterprise Storage", U SENIX FAST 2008. This technology uses a strategy of reducing or stopping the rotation of the disk to reduce energy consumption in enterprise systems with multiple disks, temporarily sending the write request to the disk that is spinning or stopped to another disk that is normally running. It is a technique for obtaining an energy saving effect when the disc is at rest, i.e. when its rotation is reduced or stopped, by recording and reading it later. However, this technique can only reduce the energy consumption of disk operation and can not improve the performance of random write operations to the SSD.
또한, 대한민국 등록특허 제 0801015 호에는 "하이브리드 하드 디스크 드라이브와 데이터 저장 방법" 이 개시되어 있다. 이 기술은 기존의 하드 디스크 드라이브에 비교적 대용량(예를 들어, 64Mbytes, 128Mbytes 또는 256Mbytes)의 비휘발성 메모리 장치인 플래시 메모리 장치를 추가로 장착하여 디스크가 저속으로 회전하는 시간을 증가시킴으로써 하이브리드 하드 디스크 드라이브의 전력 소비를 최소 화하고 성능을 향상시키기 위해 호스트로부터의 쓰기 패턴을 분석하여 디스크 및 플래시 메모리 장치 중에서 선택된 저장 장소에 데이터를 저장하는 것을 특징으로 한다. 그러나, 이 기술 또한, 전력 소비를 줄일 수는 있으나, SSD에 대한 임의 쓰기 동작 시에, HDD 에서 얻을 수 있었던 순차적 기록 방식의 성능과 동일한 정도의 성능을 얻을 수는 없는 문제가 있었다.In addition, Korean Patent No. 0801015 discloses a "hybrid hard disk drive and a data storage method." This technology allows hybrid hard disk drives to increase the time that disks spin at low speeds by adding flash memory devices that are relatively large (for example, 64 Mbytes, 128 Mbytes, or 256 Mbytes) of nonvolatile memory devices to existing hard disk drives. In order to minimize power consumption and improve performance, the write pattern from the host is analyzed and data is stored in a storage location selected from a disk and a flash memory device. However, this technique also can reduce power consumption, but there is a problem in that the random write operation on the SSD cannot achieve the same performance as that of the sequential write method obtained from the HDD.
한편, 대한민국 공개특허 제 10-2006-0099429 호에는 "복합형 기억 장치, 데이터 처리 방법 및 프로그램" 이 개시되어 있다. 이 기술은, 작은 용량의 비휘발성 메모리의 용량 제약과 HDD 또는 기타 기록 매체의 기계적 구조 사용에 의한 낮은 신뢰성을 보완하기 위해서 비휘발성 메모리와 HDD를 구분하여 효율적으로 사용하기 위한 기술이다. 구체적으로는, 두 개의 저장 장치를 동등한 기록 매체로 사용하여 정상 상태에서 HDD를 주 기억장치로 사용하고 과도 상태의 데이터 또는 빈번하게 접근되는 데이터들의 기록 공간으로만 비휘발성 메모리를 사용하는 기술이다. 그러나, 이 기술 또한, SSD로의 임의 쓰기 성능을 향상시키고자 하는 기술은 아니며, 여전히 임의 쓰기 동작 시에 순차적 쓰기와 동일한 정도의 성능을 얻을 수는 없는 문제는 존재하였다. Meanwhile, Korean Unexamined Patent Publication No. 10-2006-0099429 discloses a "composite memory device, a data processing method and a program". This technique is a technique for efficiently separating and using a nonvolatile memory in order to compensate for the capacity limitation of a small capacity nonvolatile memory and the low reliability by using the mechanical structure of an HDD or other recording medium. Specifically, a technique in which two storage devices are used as equivalent recording mediums, a HDD is used as a main storage device in a normal state, and a nonvolatile memory is used only as a recording space for transient data or frequently accessed data. However, this technique is also not intended to improve random write performance to the SSD, and there is a problem that still cannot achieve the same level of performance as sequential write during random write operations.
본 발명은 상술한 종래 기술의 문제점을 해결하기 위한 것으로, 호스트 시스템으로부터의 임의 쓰기 요청에 따라 해당 데이터를 1차적으로 HDD 에 로그 형식으로 기록한 후, 유휴 시간에 상기 데이터를 본래 저장 위치인 SSD로 옮겨 전달함에 따라 데이터 읽기 동작에서는 SSD의 장점을 그대로 유지하도록 함과 동시에 쓰기 동작에서는 순차적 쓰기 성능을 갖는 HDD의 장점을 유지하도록 하여 저장 장치의 전체적인 성능 향상을 꾀하는 것을 그 목적으로 한다. The present invention is to solve the above-described problems of the prior art, and writes the data in a log format to the HDD primarily in response to a random write request from the host system, and then stores the data in the SSD as an original storage location at idle time. As the data is transferred, the objective of the present invention is to maintain the advantages of the SSD in the data read operation while maintaining the advantages of the HDD having the sequential write performance in the write operation, thereby improving the overall performance of the storage device.
상술한 목적을 달성하기 위한 본 발명의 일 실시예를 따르면, 호스트 시스템으로부터의 데이터 임의 쓰기 요청에 대해, 상기 데이터를 로그 형식으로 변환한 로그 데이터 유닛을 저장하는 HDD(Hard Disk Drive); 및 유휴 시간 발생 시에 상기 HDD에 로그 데이터 유닛 형태로 저장된 상기 데이터가 이관되어 저장되는 SSD(Solid State Disk)를 포함하는 저장 장치가 제공된다. According to an embodiment of the present invention for achieving the above object, a hard disk drive (HDD) for storing a log data unit converting the data into a log format for a random data write request from a host system; And a solid state disk (SSD) in which the data stored in the form of a log data unit is transferred to and stored in the HDD when an idle time occurs.
상기 로그 데이터 유닛은, 상기 데이터의 버전(version) 정보, 상기 데이터가 상기 SSD 로 이관될 때 저장되는 위치를 나타내는 논리 섹터 번호(Logical Sector Number) 정보, 상기 SSD의 논리 섹터 번호에 실제로 저장될 상기 데이터, 및 상기 데이터의 끝을 알리는 커미트(commit)를 포함할 수 있다. The log data unit may include version information of the data, logical sector number information indicating a location where the data is transferred to the SSD, and the logical sector number of the SSD. Data, and a commit indicating the end of the data.
상기 저장 장치는, 상기 HDD와 SSD를 상기 호스트 시스템과 연결하는 디스크 인터페이스를 더 포함할 수 있다 The storage device may further include a disk interface connecting the HDD and the SSD to the host system.
상기 HDD는 상기 호스트 시스템으로부터의 임의 쓰기 요청이 발생하는 순서대로 해당 데이터에 대한 로그 데이터 유닛에 물리 섹터 번호(Physical Sector Number)를 할당하여 순차적으로 저장하는 것이 바람직하다. The HDD preferably allocates a physical sector number to a log data unit for the corresponding data in order of occurrence of a random write request from the host system and sequentially stores the physical sector number.
상기 저장 장치는, 상기 데이터가 저장되는 SSD 내의 위치를 나타내는 논리 섹터 번호 정보, 상기 로그 데이터 유닛의 물리 섹터 번호 정보, 상기 물리 섹터 번호를 갖는 로그 데이터 유닛의 시작점을 나타내는 오프셋 정보, 및 상기 로그 데이터 유닛의 크기를 나타내는 로그 사이즈 정보를 포함하는 로그 서치 DS를 더 포함할 수 있다. The storage device may include logical sector number information indicating a location in an SSD in which the data is stored, physical sector number information of the log data unit, offset information indicating a starting point of a log data unit having the physical sector number, and the log data. It may further include a log search DS including log size information indicating the size of the unit.
상기 로그 서치 DS는 해시 테이블(Hash Table) 또는 레드 블랙 트리(Red-Black Tree)일 수 있다. The log search DS may be a hash table or a red-black tree.
상기 HDD는 상기 데이터가 상기 SSD로 이관된 후 메모리 수집(Garbage Collection) 될 수 있다. The HDD may be a memory collection after the data is transferred to the SSD.
한편, 상술한 목적을 달성하기 위한 본 발명의 다른 실시예에 따르면, 데이터에 대한 임의 쓰기 성능을 향상시키기 위한 방법으로서, (a) 호스트 시스템으로부터의 데이터 임의 쓰기 요청에 대해, 상기 데이터에 대한 로그 데이터 유닛을 HDD에 저장하는 단계; 및 (b) 유휴 시간 발생 시에 상기 HDD에 로그 데이터 유닛 형태로 저장된 상기 데이터를 SSD에 이관하여 저장하는 단계를 포함하는, 방법이 제공된다. On the other hand, according to another embodiment of the present invention for achieving the above object, as a method for improving the random write performance for the data, (a) for the random write data request from the host system, the log for the data Storing the data unit on the HDD; And (b) transferring the data stored in the form of a log data unit in the HDD to an SSD when an idle time occurs.
상기 로그 데이터 유닛은, 상기 데이터의 버전(version) 정보, 상기 데이터가 상기 SSD 로 이관될 때 저장되는 위치를 나타내는 논리 섹터 번호(Logical Sector Number) 정보, 상기 SSD의 논리 섹터 번호에 실제로 저장될 상기 데이터, 및 상기 데이터의 끝을 알리는 커미트(commit)를 포함할 수 있다. The log data unit may include version information of the data, logical sector number information indicating a location where the data is transferred to the SSD, and the logical sector number of the SSD. Data, and a commit indicating the end of the data.
상기 SSD에 이관하여 저장되는 데이터는 가장 최근 버전의 데이터일 수 있다. Data stored by transferring to the SSD may be the most recent version of data.
상기 (a) 단계는, 상기 데이터를 상기 로그 데이터 유닛으로 변환하는 단계; 상기 로그 데이터 유닛에 물리 섹터 번호를 할당하는 단계; 상기 물리 섹터 번호에 대응되는 상기 HDD의 위치에 상기 로그 데이터 유닛을 저장하는 단계; 및 상기 물리 섹터 번호 정보 및 메타데이터를 포함하는 엔트리(entry)를 로그 서치 DS에 추가하는 단계를 포함할 수 있다.Step (a) may include converting the data into the log data unit; Assigning a physical sector number to the log data unit; Storing the log data unit at a location of the HDD corresponding to the physical sector number; And adding an entry including the physical sector number information and metadata to a log search DS.
상기 메타데이터는 상기 데이터가 저장되는 SDD 내의 위치를 나타내는 논리 섹터 번호 정보, 상기 로그 데이터 유닛의 시작점을 나타내는 오프셋 정보, 및 상기 로그 데이터 유닛의 크기를 나타내는 로그 사이즈 정보를 포함할 수 있다. The metadata may include logical sector number information indicating a position in the SDD where the data is stored, offset information indicating a starting point of the log data unit, and log size information indicating a size of the log data unit.
상기 방법은, (c) 상기 HDD에 대한 메모리 수집을 수행하여, 상기 데이터 이관에 의해 상기 HDD에 생긴 공간을 병합하는 단계를 더 포함할 수 있다. The method may further include (c) performing memory collection on the HDD to merge space created in the HDD by the data migration.
이 밖에, 본 발명은, SSD의 임의 쓰기 성능을 향상시키기 위한 다른 저장 장치, 방법, 또는 상기 방법들을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체를 제공한다.In addition, the present invention provides another storage device, method for improving the random write performance of an SSD, or a computer readable recording medium for recording a computer program for executing the above methods.
본 발명에 따르면, 호스트 시스템으로부터의 임의 쓰기 요청에 따라 해당 데이터를 1차적으로 HDD 에 로그 형식으로 기록한 후, 유휴 시간에 상기 데이터를 본 래 저장 위치인 SSD로 옮겨 전달함에 따라 데이터 읽기 동작에서는 SSD의 장점을 그대로 유지할 수 있음과 동시에 쓰기 동작에서는 순차적 쓰기 성능을 갖는 HDD의 장점이 유지되어 저장 장치의 전체적인 성능 향상을 꾀할 수 있다.According to the present invention, in response to a random write request from a host system, the corresponding data is first recorded in a log format on the HDD, and then the data is transferred to the SSD, which is a storage location of the original storage time, during idle time. At the same time, the advantages of the HDD having sequential write performance are maintained in the write operation, thereby improving the overall performance of the storage device.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.DETAILED DESCRIPTION The following detailed description of the invention refers to the accompanying drawings that show, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different but need not be mutually exclusive. For example, certain features, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the invention in connection with an embodiment. It is also to be understood that the position or arrangement of the individual components within each disclosed embodiment may be varied without departing from the spirit and scope of the invention. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention, if properly described, is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled. Like reference numerals in the drawings refer to the same or similar functions throughout the several aspects.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily implement the present invention.
전체 시스템의 구성Configuration of the entire system
도 1은 본 발명의 일 실시예에 따른 호스트 시스템에 포함되는 저장 시스템의 전체적인 구성을 나타내는 도면이다. 1 is a view showing the overall configuration of a storage system included in a host system according to an embodiment of the present invention.
도 1에 도시되는 바와 같이 본 발명의 저장 시스템은 하드 디스크 드라이브(HDD; Hard Disk Drive)(이하, 'HDD'라 함)(110), 일 이상의 고체 상태 디스크(SDD; Solid State Disk)(이하, 'SDD' 라 함)(120), 및 상기 HDD(110)와 SDD(120)를 호스트 시스템(100)과 연결시키는 디스크 인터페이스(130)를 포함하여 구성될 수 있다.As shown in FIG. 1, the storage system of the present invention includes a hard disk drive (HDD) (hereinafter, referred to as 'HDD') 110, one or more solid state disks (SDDs). And a
본 발명의 일 실시예에 따른 HDD(110)는 호스트 시스템(100)으로부터 저장 장치에 저장하려는 데이터들 및 메타 데이터들이 로그(log)형식으로 저장되는 공간이다. 호스트 시스템(100)에서 요청하는 모든 작성 데이터는 우선적으로 HDD(110)에 로그 방식으로 기록되고, 이후 유휴 시간이 발생할 때 이 데이터는 SSD(120)에 옮겨 기록된다. 이에 따라, SSD(120)는 주 저장 장치로서 기능하게 되며, HDD(110)는 로그 형식으로 기록되는 데이터만을 저장하는 보조 저장 장치로서 기능하게 된다. 한편, 도 1에서는 HDD(110)가 하나만 구비되는 것으로 도시되었으나, 당업자의 필요에 따라 HDD(110)는 일 이상 구비될 수도 있음은 물론이다. The HDD 110 according to an embodiment of the present invention is a space in which data and metadata to be stored in the storage device from the
다음으로, SSD(120)는 고체 상태 메모리(Solid State Memory)와 같은 반도체를 사용하여 데이터를 저장하는 데이터 저장 장치로서, 임의접근을 하여 탐색시간 없이 고속으로 데이터를 입출력할 수 있는 저장 장치이다. 전술한 바와 같이, 본 발명의 저장 시스템에서는, 호스트 시스템(100)으로부터 기록을 요청하는 모든 데이터가 1차적으로 HDD(110)에 로그 형태로 기록되어 있다가 추후 유휴 시간 때, SSD(120)로 해당 데이터가 옮겨지게 된다.Next, the SSD 120 is a data storage device that stores data using a semiconductor such as a solid state memory, and is a storage device that can input and output data at high speed without a search time by random access. As described above, in the storage system of the present invention, all data requesting a recording from the
디스크 인터페이스(130)는 HDD(110)와 SSD(120)를 호스트 시스템(100)과 연결시켜주는 기능을 수행한다. 즉, 호스트 시스템(100)으로부터의 데이터 기록 요청을 HDD(110)에 전달하여 해당 데이터가 로그 형식으로 HDD(110)에 기록될 수 있도록 하고, 추후 HDD(110)에 로그 형식으로 기록된 데이터를 읽어들여 이를 SSD(120)에 옮겨 기록한다. 이러한 디스크 인터페이스(130)는 SATA(Serial ATA) 또는 PATA(Parallel ATA) 등 통상의 컴퓨터에서 사용되는 인터페이스 방식을 이용할 수 있다. The
HDDHDD 에 기록되는 로그 데이터 유닛Data units written to
이하에서는, 초기 호스트 컴퓨터에서의 데이터 기록 요청에 따라 HDD(110)에 저장되는 로그 형식의 데이터 유닛에 대해 설명하기로 한다. Hereinafter, a log data unit stored in the
도 2는 본 발명의 일 실시예에 따른 HDD(110)에 기록되는 로그 데이터 유닛의 구성을 나타내는 도면이다. 2 is a diagram illustrating a configuration of a log data unit recorded in the
도 2에 도시되는 바와 같이, HDD(110)에 기록되는 로그 데이터 유닛(200)은 버전(version) 정보(210), 논리 섹터 번호(Logical Sector Number) 정보(220), 실제 데이터(230), 및 커미트(commit)(240)를 포함할 수 있다. As shown in FIG. 2, the
버전 정보(210)는 HDD(110)에 기록되는 데이터, 즉, 실제 데이터(230)의 버전 정보를 나타낸다. 데이터를 기록할 때에는 동일한 데이터를 여러 번 저장하여 이를 변경하는 경우가 있는데, 이 때, 최종적으로 변경된 데이터가 어떤 것인지를 파악하기 위해서 각 데이터의 버전 정보(210)가 필요한 것이다.The
논리 섹터 번호 정보(220)는 실제 데이터(230)가 추후 SSD(120)로 옮겨 기록되는 경우에 그 기록될 데이터의 위치를 가리키는 번호에 대한 정보이다. 논리 섹터 번호 정보(220)는 추후에 SSD(120) 내부의 플래시 변환계층(FTL; Flash Translation Layer)에 의해서 물리적 주소로 변환되어 사용된다. 논리 섹터 번호 정보(220)에 의해 HDD(110)에 로그 형식으로 기록된 데이터가 주 저장 장치로서 기능하는 SSD(120)에 옮겨질 때 올바른 물리적 위치에 기록되어 저장될 수 있다.The logical
실제 데이터(230)는 HDD(110)에 로그 형식으로 저장되어 있다가 추후 논리 섹터 번호 정보(220)가 가리키는 SSD(120)의 위치에 실제로 기록되어 저장되어야 하는 데이터이다. The
커미트(240)는 해당 버전의 데이터 기록의 끝을 알림과 동시에 기록된 로그 데이터 유닛(200)이 완전하게 작성된 것임을 알리는 기능을 수행한다.The commit 240 notifies the end of the data recording of the corresponding version and at the same time performs a function of notifying that the recorded
HDDHDD 에 로그 데이터 유닛이 기록되는 순서In which log data units are written to
이하에서는, 호스트 시스템(100)으로부터의 데이터 기록 요청에 따라 HDD(110)에 로그 데이터 유닛이 기록되는 방식 및 그 과정에 대해 설명하기로 한다. Hereinafter, a method and a process of recording a log data unit on the
먼저, 도 3을 참조하여 HDD(110)에 로그 데이터 유닛이 기록되는 순서에 대해 설명하면, 도 3에 도시되는 바와 같이, HDD(110)에 기록되는 로그 데이터 유닛(310)들은 기록 요청이 발생한 순서대로 HDD(110)의 요구 큐(RQ; Request Queue)에 삽입된다. 이 때, 각 로그 데이터 유닛(310)에는 HDD(110)에 실제로 기록되는 위치에 관한 정보를 담고 있는 물리 섹터 번호(Physical Sector Number)가 배정되 며, 이에 따라 HDD(110)에 순차적으로 기록된다.First, the order in which log data units are recorded in the
이하, 도 4를 참조하여, 호스트 시스템(100)으로부터의 데이터 기록 요청에 따라 HDD(110)에 로그 데이터 유닛이 기록되는 과정에 대해 설명하기로 한다. Hereinafter, referring to FIG. 4, a process of writing a log data unit to the
먼저, 호스트 시스템(100)에서 SSD(120)로의 데이터 기록 요청과 함께 해당 데이터를 전달받게 되면(S410), 이 데이터를 로그 형식으로 변환하고 물리 섹터 번호를 할당한다(S420). 임의의 데이터에 대한 로그 형식 변환의 결과는, 전술한 바와 같은 로그 데이터 유닛(200)의 구성과 같다. First, when the
데이터를 로그 형식으로 변환하고 그 결과물인 로그 데이터 유닛이 실제로 기록될 HDD(110)에서의 위치에 관한 정보인 물리 섹터 번호를 할당한 후에는 이를 입출력 스케줄러(I/O scheduler)에 전달한다(S430).After converting the data into a log format and allocating a physical sector number, which is information about a position on the
그 후, 추후에 로그 형식으로 HDD(110)에 기록된 데이터로의 접근을 위해, 로그 데이터 유닛의 위치에 관한 정보인 물리 섹터 번호 및 해당 데이터와 관련된 메타 정보를 기록한 엔트리(entry)를 로그 서치 DS(Data Set)에 추가한다(S440). 로그 서치 DS는 논리 섹터 번호에 대응되는 데이터가 로그 형태로 HDD(110)에 존재하는지 또는 SSD(120)의 원래 위치에 전재하는지의 여부에 관한 정보를 담고 있으며, 데이터가 로그 형식인 경우에는 HDD(110)에 기록된 최종 버전의 데이터를 쉽게 찾을 수 있도록 하는 위치 정보 등을 담고 있는 데이터 구조이며, 로그 서치 DS에 저장되는 엔트리의 데이터 구조는 도 5와 같다. Thereafter, for access to the data recorded in the
도 5를 참조하면, 엔트리(500)의 데이터 구조는 논리 섹터 번호 정보(510), 물리 섹터 번호 정보(520), 오프셋 정보(530), 및 로그 사이즈 정보(540)를 포함한 다. Referring to FIG. 5, the data structure of
논리 섹터 번호 정보(510)는 HDD(110) 내에서 데이터 유닛의 논리적 위치 정보를 담고 있다. 논리 섹터 번호 정보(510)는 로그 데이터 유닛(200)의 논리 섹터 번호 정보(220)와 동일한 형태의 정보이다. 한편, 엔트리에서의 논리 섹터 번호 정보(510)는 각 엔트리를 구별하기 위한 키(key), 즉, 식별정보로서의 기능을 한다.The logical
물리 섹터 번호 정보(520)는 로그 데이터 유닛이 실제로 위치하는 HDD(110) 내의 위치 정보를 담고 있다. 이를 통해, HDD(110)에 기록된 로그 데이터 유닛에 쉽게 접근할 수 있게 된다. The physical
오프셋 정보(530)는 HDD(110) 내에서 물리 섹터 번호 정보(520)에 대응하는 위치에 존재하는 로그 데이터 유닛이 어느 위치부터 시작되는지에 관한 정보를 담고 있다. The offset
로그 사이즈 정보(540)는 HDD(110)에 실제로 기록되는 로그 데이터 유닛의 총 크기에 관한 정보를 담고 있다. 로그 데이터 유닛은 실제 데이터뿐만 아니라 해당 데이터와 연관되는 메타데이터를 포함하고 있기 때문에, 논리 섹터 번호 정보(510)에서 가리키는 실제 데이터의 크기와 이를 읽어들이기 위한 로그 데이터 유닛의 크기는 다를 수밖에 없다. 이에 따라 하나의 논리 섹터 번호 정보(510)에 대응되는 물리 섹터 번호 정보(520)는 연속되는 일 이상의 번호일 수 있다. 따라서, 해당 로그 데이터 유닛이 차지하는 크기에 관한 정보를 담고 있는 로그 사이즈 정보(540)가 필요한 것이며, 이에 의해 논리 섹터 번호 정보(510)에 대응되는 일 이 상의 물리 섹터 번호 정보(520)가 있다 하더라도, 해당 로그 데이터 유닛을 식별해 낼 수 있게 된다.The
로그 데이터 유닛의 읽기 과정Reading process of log data unit
이하에서는, 도 6을 참조하여, 로그 데이터 유닛을 읽어들이는 과정에 대해 설명하기로 한다. Hereinafter, a process of reading a log data unit will be described with reference to FIG. 6.
먼저, 호스트 시스템(100)의 부팅시에 HDD(110)에 기록되어 있는 로그 데이터 유닛을 모두 스캔한 후, 로그 서치 DS를 생성하여 이를 가지고 있는다. 전술한 바와 같이, 로그 서치 DS는 데이터가 로그 데이터 유닛의 형태로 HDD(110)에 존재하는 경우 그 존재하는 위치에 관한 정보인 물리 섹터 번호 정보 등을 갖고 있는 데이터 구조이다.First, all the log data units recorded on the
그 후, 호스트 시스템(100)으로부터 읽기 요청을 받고, 읽기 대상이 되는 데이터의 논리 섹터 번호를 얻게 되면(S610), 상기 로그 서치 DS에서 상기 획득한 논리 섹터 번호에 해당하는 최신 버전의 데이터가 어느 위치에 있는지를 확인한다(S620). Subsequently, when a read request is received from the
해당 데이터가 SSD(120)에 존재하는지 여부를 판단하고(S630), 만약, 로그 데이터 유닛의 형태로 HDD(110)에 존재하는 것으로 판단되면, 상기 로그 서치 DS에 포함되는 물리 섹터 번호 정보에 대응하는 위치에서 해당 데이터를 읽어들인다(S640). 한편, 해당 데이터가 SSD(120)에 존재하는 것으로 판단되면, 상기 논리 섹터 번호에 해당하는 데이터를 SSD(120)로부터 읽어들인다(S650).It is determined whether the corresponding data exists in the SSD 120 (S630). If it is determined that the data exists in the
한편, 로그 데이터 유닛으로의 접근을 위한 정보를 담고 있는 로그 서치 DS 는 빠른 검색을 가능하게 하기 위해서 해시 테이블(Hash Table) 또는 레드 블랙 트리(Red-Black Tree) 등의 데이터 구조로서 구성될 수 있다. 그러나, 이에 한정되는 것은 아니며, 로그 서치 DS로서는 다른 효율적인 데이터 구조가 이용될 수도 있다. On the other hand, the log search DS that contains information for access to the log data unit may be configured as a data structure such as a hash table or a red-black tree in order to enable a quick search. . However, the present invention is not limited thereto, and other efficient data structures may be used as the log search DS.
HDDHDD 로부터 from SSDSSD 로의 데이터 전달Data to the server
이하에서는, 도 7을 참조하여, HDD(110)에 로그 데이터 유닛 형식으로 기록되었던 데이터가 SSD(120)로 전달되는 과정에 대해 설명하기로 한다. Hereinafter, referring to FIG. 7, a process in which data recorded in the log data unit format on the
먼저, HDD(110)에 로그 데이터 유닛 형식으로 기록된 데이터를 SSD(120)로 전달하라는 명령을 받아들이면(S710), 로그 서치 DS에서 관리하는 모든 로그 데이터 유닛에 대해 각각의 버전을 비교해서 최종 데이터만을 읽어낸 후(S720), SSD(120)의 원래의 위치에 기록한다(S730). 이 때, 논리 섹터 번호 정보가 참조될 수 있다.First, when a command to transfer the data recorded in the log data unit format to the
그 후, HDD(110)에 기록되어 있는 이전 버전의 로그 데이터 유닛을 삭제하고, SSD(120)에 기록된 데이터에 대한 정보도 로그 서치 DS에서 삭제한다(S740).Thereafter, the log data unit of the previous version recorded on the
다음으로, 더 이상 전달할 로그 데이터 유닛이 있는지 여부를 판단한 후(S750), 남아있다면 단계 S720 부터 S740 까지를 반복하고, 더 이상 SSD(120)로 전달할 로그 데이터 유닛이 남아있지 않다면, HDD(110)에서 로그 데이터 유닛 전달로 인해 생긴 공간에 대한 메모리 수집(Garbage Collection)을 수행하여 빈 공간에 대한 병합을 수행한다(S760). 이러한 메모리 수집에 의해 데이터 전달에 따라 생긴 빈 공간이 병합되어 연속된 공간이 확보되게 되며, 이에 따라 HDD(110)의 공간 효율성이 확보될 수 있다. Next, after determining whether there are any more log data units to deliver (S750), if remaining, repeat steps S720 to S740, and if there are no more log data units to deliver to the
본 발명에서는 호스트 시스템(100)으로부터의 임의 쓰기 요청에 대해, 해당 데이터를 로그 형식으로 변환하여 1차적으로 HDD(110)에 순차적으로 기록하고, 추후 유휴 시간에 SSD(120)의 원래의 위치로 옮겨질 수 있도록 함으로써, 임의 쓰기의 성능을 향상시킬 수 있다. In the present invention, for a random write request from the
또한, 읽기 동작에서는 SSD(120)에 기록된 데이터를 읽어들이므로 SSD(120)의 장점을 유지할 수 있음과 동시에, 쓰기 동작에서는 1차적으로 HDD(110)에 기록하기 때문에 HDD(110)의 장점을 살릴 수 있어 전체 저장 장치의 성능 향상을 꾀할 수 있다. In addition, the read operation reads the data recorded in the
한편, 임의 쓰기 요청에 대해 로그 형식의 데이터를 1차적으로 HDD(110)에 기록함으로써, SSD(120)에서의 로그 기록, 머징(merging), 및 삭제 동작에 의한 기록 속도 저하의 감소를 꾀할 수 있다.On the other hand, by writing data in log form primarily to the
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.Although the present invention has been described by specific embodiments such as specific components and the like, but the embodiments and the drawings are provided to assist in a more general understanding of the present invention, the present invention is not limited to the above embodiments. For those skilled in the art, various modifications and variations can be made from these descriptions.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be construed as being limited to the above-described embodiments, and all of the equivalents or equivalents of the claims, as well as the following claims, I will say.
도 1은 본 발명의 일 실시예에 따른 호스트 시스템에 포함되는 저장 시스템의 전체적인 구성을 나타내는 도면이다. 1 is a view showing the overall configuration of a storage system included in a host system according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 HDD에 기록되는 로그 데이터 유닛의 구성을 나타내는 도면이다. 2 is a diagram illustrating a configuration of a log data unit recorded in an HDD according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따라 HDD에 로그 데이터 유닛이 기록되는 순서를 설명하는 도면이다. 3 is a view for explaining the order in which log data units are recorded in the HDD according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따라 호스트 시스템으로부터의 데이터 기록 요청에 따라 HDD에 로그 데이터 유닛이 기록되는 과정을 설명하는 흐름도이다. 4 is a flowchart illustrating a process of writing a log data unit to an HDD in response to a data write request from a host system according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 로그 서치 DS에 저장되는 엔트리의 데이터 구조를 나타내는 도면이다. 5 is a diagram illustrating a data structure of entries stored in a log search DS according to an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따라 로그 데이터 유닛을 읽어들이는 과정을 설명하는 흐름도이다. 6 is a flowchart illustrating a process of reading a log data unit according to an embodiment of the present invention.
도 7은 본 발명의 일 실시예에 따라 HDD에 로그 데이터 유닛 형식으로 기록되었던 데이터가 SSD로 전달되는 과정을 설명하는 흐름도이다. FIG. 7 is a flowchart illustrating a process of transferring data recorded in a log data unit format to an SSD according to an embodiment of the present invention.
<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>
100: 호스트 시스템100: host system
110: HDD110: HDD
120: SSD120: SSD
130: 디스크 인터페이스130: disk interface
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080090959A KR100980667B1 (en) | 2008-09-17 | 2008-09-17 | Storage device, method, and computer readable recording medium for improving random write performance in the SDD |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080090959A KR100980667B1 (en) | 2008-09-17 | 2008-09-17 | Storage device, method, and computer readable recording medium for improving random write performance in the SDD |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100032019A KR20100032019A (en) | 2010-03-25 |
KR100980667B1 true KR100980667B1 (en) | 2010-09-07 |
Family
ID=42181368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080090959A Expired - Fee Related KR100980667B1 (en) | 2008-09-17 | 2008-09-17 | Storage device, method, and computer readable recording medium for improving random write performance in the SDD |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100980667B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09128165A (en) * | 1995-10-27 | 1997-05-16 | Toshiba Corp | Solid-state recording / reproducing device |
US20060080501A1 (en) | 2004-10-12 | 2006-04-13 | Hitachi Global Storage Technologies | HDD having both dram and flash memory |
KR20060100684A (en) * | 2005-03-17 | 2006-09-21 | 삼성전자주식회사 | Hard disk drive with low power consumption, information processing system having same, and data input / output method thereof |
KR20080072447A (en) * | 2007-02-02 | 2008-08-06 | 지인정보기술 주식회사 | Read request processing system and method |
-
2008
- 2008-09-17 KR KR1020080090959A patent/KR100980667B1/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09128165A (en) * | 1995-10-27 | 1997-05-16 | Toshiba Corp | Solid-state recording / reproducing device |
US20060080501A1 (en) | 2004-10-12 | 2006-04-13 | Hitachi Global Storage Technologies | HDD having both dram and flash memory |
KR20060100684A (en) * | 2005-03-17 | 2006-09-21 | 삼성전자주식회사 | Hard disk drive with low power consumption, information processing system having same, and data input / output method thereof |
KR20080072447A (en) * | 2007-02-02 | 2008-08-06 | 지인정보기술 주식회사 | Read request processing system and method |
Also Published As
Publication number | Publication date |
---|---|
KR20100032019A (en) | 2010-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7979631B2 (en) | Method of prefetching data in hard disk drive, recording medium including program to execute the method, and apparatus to perform the method | |
TWI551989B (en) | Method for managing a flash storage system | |
EP3617867B1 (en) | Fragment management method and fragment management apparatus | |
CN111007991B (en) | Method for separating read-write requests based on NVDIMM and computer thereof | |
US20180107601A1 (en) | Cache architecture and algorithms for hybrid object storage devices | |
CN107924291B (en) | Storage system | |
JP2013242908A (en) | Solid state memory, computer system including the same, and operation method of the same | |
WO2017149592A1 (en) | Storage device | |
US8862819B2 (en) | Log structure array | |
KR20170038853A (en) | Host-managed non-volatile memory | |
CN111752479B (en) | Method and system for efficiently storing data | |
US11144508B2 (en) | Region-integrated data deduplication implementing a multi-lifetime duplicate finder | |
JP2019028954A (en) | Storage control apparatus, program, and deduplication method | |
US9471252B2 (en) | Use of flash cache to improve tiered migration performance | |
KR101123335B1 (en) | Method and apparatus for configuring hash index, and apparatus for storing data having the said apparatus, and the recording media storing the program performing the said method | |
KR101191650B1 (en) | Apparatus and method for mapping the data address in NAND flash memory | |
US8151053B2 (en) | Hierarchical storage control apparatus, hierarchical storage control system, hierarchical storage control method, and program for controlling storage apparatus having hierarchical structure | |
US20210224002A1 (en) | Storage control apparatus and storage medium | |
JP2002014776A (en) | Disk control system and data rearranging method | |
KR100980667B1 (en) | Storage device, method, and computer readable recording medium for improving random write performance in the SDD | |
CN111831589B (en) | Method and device for improving IO command processing parallelism | |
US11429519B2 (en) | System and method for facilitating reduction of latency and mitigation of write amplification in a multi-tenancy storage drive | |
WO2016095233A1 (en) | Method and apparatus for realizing non-volatile cache | |
KR100818993B1 (en) | File management apparatus and method using block virtual allocation | |
US20230418798A1 (en) | Information processing apparatus and information processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
T11-X000 | Administrative time limit extension requested |
St.27 status event code: U-3-3-T10-T11-oth-X000 |
|
E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
FPAY | Annual fee payment |
Payment date: 20130830 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140827 Year of fee payment: 5 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20150902 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20150902 |
|
P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |