KR20180110648A - Data Mirroring System - Google Patents

Data Mirroring System Download PDF

Info

Publication number
KR20180110648A
KR20180110648A KR1020180071992A KR20180071992A KR20180110648A KR 20180110648 A KR20180110648 A KR 20180110648A KR 1020180071992 A KR1020180071992 A KR 1020180071992A KR 20180071992 A KR20180071992 A KR 20180071992A KR 20180110648 A KR20180110648 A KR 20180110648A
Authority
KR
South Korea
Prior art keywords
data
block
disk
dma
mirroring
Prior art date
Application number
KR1020180071992A
Other languages
Korean (ko)
Inventor
우정수
조영대
Original Assignee
주식회사 우현디지털
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 우현디지털 filed Critical 주식회사 우현디지털
Priority to KR1020180071992A priority Critical patent/KR20180110648A/en
Publication of KR20180110648A publication Critical patent/KR20180110648A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23116Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving data replication, e.g. over plural servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/2312Data placement on disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

The present invention relates to a data mirroring system for a DVR, and more particularly, to a data mirroring system for a DVR, capable of performing data mirroring while minimizing the use of a CPU and a resource by blocking stream data inputted from a multi-channel camera together with an index and performing each DMA for two disks for the data.

Description

DVR용 데이터 미러링 시스템 {Data Mirroring System}Data Mirroring System for DVR {Data Mirroring System}

본 발명은 DVR용 데이터 미러링 시스템에 관한 것으로, 더욱 상세하게는 멀티 채널 카메라로 부터 입력되는 스트림 데이터를 인덱스와 함께 블럭화하고 블로고하된 데이터에 대해 2개의 디스크에 대한 각각 DMA를 수행하도록 제어함으로써 CPU와 리소스 사용을 최소하하면서 데이터 미러링을 수행할 수 있는 DVR용 데이터 미러링 시스템에 관한 것이다. The present invention relates to a data mirroring system for a DVR, and more particularly, to a data mirroring system for a DVR, in which stream data input from a multi-channel camera is blocked together with an index, and DMA control is performed on two disks, And a data mirroring system for a DVR capable of performing data mirroring while minimizing resource use.

DVR(Digital Video Recorder) 시스템은 아날로그 영상 감시 장비인 CCTV를 대체하는 디지털 방식의 영상 감시 장비로서 CCTV에 비해 화질이 뛰어난 점 외에도 컴퓨터의 하드디스크를 저장 매체로 사용하기 때문에 녹화테이프를 교체할 필요가 없고 인터넷을 통한 실시간 영상 전송 및 원격 감시가 가능한 영상 감시 시스템이다. DVR (Digital Video Recorder) system is a digital video surveillance system that replaces CCTV, which is analog video surveillance equipment. Besides the high image quality compared to CCTV, it also uses computer hard disk as a storage medium. It is a video surveillance system capable of real-time video transmission and remote surveillance over the Internet.

일반적으로 DVR은 데이터 저장을 위해 하드디스크가 사용되고, 하드디스크(HDD)는 턴테이블과 같이 회전하는 디스크의 헤드를 통해 읽기/쓰기 연산을 수행하는 기계적인 장치이다. In general, a DVR uses a hard disk for storing data, and a hard disk (HDD) is a mechanical device that performs a read / write operation through a head of a rotating disk such as a turntable.

하드디스크의 성능은 디스크의 회전 속도에 의존적이기 때문에 읽기/쓰기 성능이 제한적이고, SSD, SD와 같은 반도체 기반 저장 장치에 비해 고장의 확률이 높으며, 충격이나 진동에 취약하여 데이터 손실을 야기할 수 있기 때문에 성능과 안정성의 한계를 극복하기 위하여, 복수 개의 HDD를 연결하여 읽기/쓰기 연산을 적절히 분배하는 RAID (Redundant Array of Independent Disks) 기술이 활용되어 있다.Since the performance of the hard disk depends on the rotational speed of the disk, the read / write performance is limited, the probability of failure is higher than that of semiconductor-based storage devices such as SSD and SD, In order to overcome the limitation of performance and stability, RAID (Redundant Array of Independent Disks) technology is used in which a plurality of HDDs are connected and read / write operations are appropriately distributed.

RAID 기술은 여러 HDD 사이의 데이터 배열정책에 따라 몇 가지 세부기술로 분류되는데 대표적인 기술은 RAID 0 (striping), RAID 1 (mirroring), RAID 5 (striping with distributed parity) 및 RAID 10 (mirroring and striping) 등이 있다. 이중에서 미러링(mirroring) 기술은 두개 이상의 HDD에 동일한 데이터를 저장함으로써 한 HDD가 고장이 났을 경우에도 데이터 손실을 방지하고, 고장나지 않은 HDD를 통해 데이터 서비스를 지속할 수 있게 하는 기술이다.RAID technology is divided into several details according to the data array policy among several HDDs. Typical technologies are RAID 0 (striping), RAID 1 (mirroring), RAID 5 (striping with distributed parity) and RAID 10 (mirroring and striping) . In this case, the mirroring technique is to store data on two or more HDDs, thereby preventing data loss even when one HDD fails and continuing to provide data service through the failed HDDs.

DVR 시스템은 일반적으로 멀티 채널 카메라로부터 입력되는 스트림 데이터를 코덱을 통해 부호화하고 인코딩하여 저장 공간에 기록하는 방식으로 녹화 또는 저장되고, 상기 스트림 데이터는 저장 공간에 기록되기 위해 운영체계(Operating system) 및 드라이버 단에서 데이터가 일정한 단위로 쪼개지고 이에 매핑되는 인덱스 데이터가 할당되는 스캐터링과 쪼개진 데이터가 다시 합쳐지는 게더링이 완료된 후 DMA를 통해 저장 공간에 기록되는 과정을 거치게 된다.Generally, a DVR system records or encodes stream data input from a multi-channel camera through a codec, and encodes and encodes the stream data in a storage space. The stream data is stored in an operating system Scattering where data is divided into fixed units in a driver unit, index data is mapped to the data, and gathering of the split data is completed, and then recorded in the storage space through the DMA.

따라서, 데이터 미러링을 위해서는 상기와 같은 동일한 데이터 기록 과정이 2번 수행되어야 하므로 시스템 리소스 사용이 증가하고 CPU의 레이턴시 증가하는 문제가 있었다.Therefore, in order to perform data mirroring, the same data recording process as described above needs to be performed twice, which increases system resource usage and CPU latency.

상기와 같은 문제점을 해결하기 위해 안출된 것으로서 본 발명의 목적은 멀티 채널 카메라로 부터 입력되는 스트림 데이터를 인덱스와 함께 블럭화하고 데이터에 대해 2개의 디스크에 각각 DMA를 수행하도록 제어함으로써 CPU와 리소스 사용을 최소하하면서 데이터 미러링을 수행할 수 있는 DVR용 데이터 미러링 시스템을 제공하는 데 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned problems, and it is an object of the present invention to provide a method and an apparatus for controlling streaming data input from a multi-channel camera, And to provide a data mirroring system for a DVR capable of performing data mirroring with a minimum amount of data.

상기와 같은 목적을 달성하기 위해 본 발명에 따른 DVR용 데이터 미러링 시스템은 DVR용 데이터 미러링 시스템에 있어서, 인코딩된 스트림 데이터를 블럭화하여 임시 저장하는 버퍼 모듈과 상기 블럭화된 스트림 데이터에 대해 2개의 디스크를 할당하여 각각 DMA를 수행하도록 제어하는 제어 드라이버를 포함하는 것을 특징으로 한다. According to another aspect of the present invention, there is provided a data mirroring system for a DVR, comprising: a buffer module for temporarily storing and temporarily storing encoded stream data; And a control driver for controlling the DMAs to perform DMA operations.

상기 버퍼 모듈은 시스템 메모리 내에 할당되고; 상기 상기 스트림 데이터의 블럭화는 하드 디스크에 저장될 데이터를 복수 개의 블럭으로 구획하고, 상기 구획된 블록 중 할당된 블록에 대응되는 가상 블록에 데이터를 할당하여 저장하는 것을 특징으로 한다. The buffer module being allocated in system memory; The stream data is divided into a plurality of blocks to store data to be stored in a hard disk, and data is allocated to virtual blocks corresponding to allocated blocks among the divided blocks.

그리고 상기 버퍼 모듈은 상기 블럭화를 통해 하드 디스크의 특정 블록에 저장될 스트림 데이터가 할당되고, 상기 블록내에 저장될 스트림 데이터에 대응되는 인덱스 데이터도 가상 블록내에 함께 저장하는 것을 특징으로 한다. The buffer module allocates stream data to be stored in a specific block of the hard disk through the block, and stores index data corresponding to the stream data to be stored in the block in the virtual block together.

상기 제어 드라이버는 하드 디스크에 기록될 데이터에 대해 디스크 영역을 할당하고, 할당된 디스크 영역에 DMA(Direct Memory Access) 명령을 제어하되; 데이터 미러링을 위해 2개의 할당된 디스크 영역에 상기 버퍼 모듈에 저장된 블록화된 데이터를 독립적으로 DMA하도록 제어하는 것을 특징으로 한다. Wherein the control driver allocates a disk area for data to be written to the hard disk, and controls DMA (Direct Memory Access) commands to the allocated disk area; And to independently DMA the blocks of data stored in the buffer module in two allocated disk areas for data mirroring.

그리고 상기 제어 드라이버는 데이터 미러링이 필요한 경우(예를 들어, CCTV 영상에서 움직임이 감지된 경우 또는 긴급상황이 발생한 경우)에만 2개의 할당된 디스크 영역에 상기 버퍼 모듈에 저장된 블록화된 데이터를 DMA하도록 제어함으로써 선택적인 데이터 미러링이 가능한 것을 특징으로 한다. The control driver controls to DMA the blocked data stored in the buffer module to two allocated disk areas only when data mirroring is required (for example, when motion is detected in the CCTV image or when an emergency occurs) Thereby enabling selective data mirroring.

상기에서 설명한 바와 같이, 본 발명에 따른 DVR용 데이터 미러링 시스템은 멀티 채널 카메라로 부터 입력되는 스트림 데이터를 인덱스와 함께 블럭화하고 블로고하된 데이터에 대해 2개의 하드 디스크에 각각 DMA 명령을 제어함으로써 CPU와 리소스 사용을 최소하하면서 데이터 미러링을 수행할 수 있는 탁월한 효과가 발생한다.As described above, the data mirroring system for a DVR according to the present invention blocks a stream data input from a multi-channel camera together with an index and controls a DMA command on two hard disks with respect to the buffered data, There is an excellent effect of data mirroring with minimal resource usage.

도 1은 본 발명의 바람직한 실시예에 따른 DVR 시스템을 개략적으로 도시한 블럭도이도, 도 2는 도 1의 데이터 미러링 시스템을 개략적으로 도시한 블럭도이다.
도 3은 본 발명의 바람직한 실시예에 따른 데이터 미러링 방법을 개략적으로 도시한 순서도이다.
도 4는 본 발명의 바람직한 실시예에 따른 데이터 미러링 과정을 개략적으로 도시한 것이다.
FIG. 1 is a block diagram schematically showing a DVR system according to a preferred embodiment of the present invention, and FIG. 2 is a block diagram schematically showing the data mirroring system of FIG.
3 is a flowchart schematically showing a data mirroring method according to a preferred embodiment of the present invention.
FIG. 4 is a schematic view illustrating a data mirroring process according to a preferred embodiment of the present invention.

이하, 본 발명의 구체적인 실시예에 대하여 도면을 참조하여 상세하게 설명하기로 한다.Hereinafter, specific embodiments of the present invention will be described in detail with reference to the drawings.

도 1은 본 발명의 바람직한 실시예에 따른 DVR 시스템을 개략적으로 도시한 블럭도이도, 도 2는 도 1의 데이터 미러링 시스템을 개략적으로 도시한 블럭도이다.FIG. 1 is a block diagram schematically showing a DVR system according to a preferred embodiment of the present invention, and FIG. 2 is a block diagram schematically showing the data mirroring system of FIG.

일반적으로 DVR 시스템은 일반적으로 DVR 시스템은 카메라로부터 입력되는 채널을 디코딩하는 채널 디코더(1)와 스트림 데이터를 설정된 프레임 그룹으로 분할하여 임시 저장하는 프레임 버퍼(2)와 상기 프레임 버퍼에 저장되는 각 프레임 그룹의 수를 결정하고, 각 프레임 그룹을 인덱싱하여 시간 동기화를 제어하는 제어부(5)와 상기 프레임 버퍼에 저장된 각 프레임 그룹을 인코딩하는 코덱부(3)과 상기 코덱부를 통해 인코딩된 스트림 데이터를 저장 관리하는 저장부(40)를 포함하여 구성될 수 있다.Generally, a DVR system generally includes a channel decoder 1 for decoding a channel input from a camera, a frame buffer 2 for temporarily storing stream data divided into a set frame group, A control unit 5 for determining the number of groups, indexing each frame group to control time synchronization, a codec unit 3 for encoding each frame group stored in the frame buffer, and a storage unit for storing the stream data encoded by the codec unit And a storage unit 40 that manages data.

상기 DVR 시스템의 구성은 시스템 사양이나 구조에 따라 다양하게 변형될 수 있음은 자명한 것이다.It is obvious that the configuration of the DVR system can be variously modified according to the system specification and structure.

DVR 시스템에서 상기 저장부(40)에 저장 관리되는 데이터는 스트림 데이터, 인덱스 데이터로 구분될 수 있다.In the DVR system, data stored and managed in the storage unit 40 may be divided into stream data and index data.

상기 스트림 데이터는 실질적으로 재생할 콘텐츠, 즉 촬영되거나 녹화되는 음성 및 동화상 데이터를 포함하고, 인덱스 데이터는 상기 스트림 데이터에 관련된 부가 정보를 포함한다.The stream data substantially contains content to be reproduced, that is, audio and video data to be recorded or recorded, and the index data includes additional information related to the stream data.

보다 구체적으로, 인덱스 데이터는 DVR 시스템에서 스트림 데이터에 있는 오디오/비디오 데이터 패킷의 시퀀스 넘버가 시간 정보와 매핑되어 있는 데이터로서, 채널정보, 시간정보, 저장 장치내 위치(주소) 정보, 이벤트 정보, 메타 정보 등을 포함하여 저장되는 스트림 데이터에 대한 재생을 지원하기 위해 필요한 데이터이다. More specifically, the index data is data in which the sequence number of the audio / video data packet in the stream data in the DVR system is mapped with the time information and includes channel information, time information, location information (address) Meta information, and the like, to support playback of stream data stored.

본 발명에 따른 데이터 미러링 시스템은 상기 인코딩된 스트림 데이터가 실행을 위해 저장부에 저장되는 경우에 적용된다.The data mirroring system according to the present invention is applied when the encoded stream data is stored in a storage for execution.

본 발명에 따른 데이터 미러링 시스템은 인코딩된 스트림 데이터를 블럭화하여 저장하는 버퍼 모듈과 상기 블럭화된 스트림 데이터에 대해 2개의 디스크를 할당하여 듀얼로 DMA 명령을 제어하는 제어 드라이버를 포함하여 구성될 수 있다.The data mirroring system according to the present invention may include a buffer module for storing and storing encoded stream data and a control driver for controlling dual DMA commands by allocating two disks to the block stream data.

여기서, 상기 버퍼 모듈은 시스템 메모리내 또는 별도의 메모리 공간에 구비될 수 있다.Here, the buffer module may be provided in the system memory or in a separate memory space.

상기 스트림 데이터의 블럭화는 디스크에 저장될 데이터를 복수 개의 블럭으로 구획하고, 상기 구획된 블록 중 할당된 블록에 대응되는 가상 블록에 데이터를 할당하여 저장하는 것을 의미한다. Blocking of the stream data means partitioning data to be stored in a disk into a plurality of blocks and allocating and storing data to virtual blocks corresponding to allocated blocks of the partitioned blocks.

상기 블럭화를 통해 디스크의 특정 블록에 저장될 스트림 데이터가 할당되고, 상기 블록내에 저장될 스트림 데이터에 대응되는 인덱스 데이터도 가상 블록 내에 함께 저장된다.Stream data to be stored in a specific block of the disk is allocated through the block, and index data corresponding to the stream data to be stored in the block is also stored in the virtual block.

상기 제어 드라이버는 디스크에 기록될 데이터를 DMA(Direct Memory Access) 제어하는 역할을 담당한다.The control driver controls direct memory access (DMA) of data to be written to the disk.

상기 DMA는 CPU를 거치지 않고 일련의 정보를 곧바로 입출력 장치에서 메모리로 또는 메모리로부터 입출력장치에 전달하는 기술을 의미한다.The DMA means a technique of directly transferring a series of information from the input / output device to the memory or from the memory to the input / output device without going through the CPU.

상기 제어 드라이버는 하드 디스크에 기록될 디스크 영역을 할당하고, 할당된 디스크 영역에 데이터가 기록되도록 제어하되, 데이터 미러링을 위해 2개의 할당된 디스크 영역에 상기 버퍼 모듈에 저장된 블록화된 데이터를 독립적으로 DMA하도록 제어할 수 있다.Wherein the control driver allocates a disk area to be written to the hard disk and controls data to be recorded in the allocated disk area so that the block data stored in the buffer module can be independently DMA .

여기서, 데이터 미러링을 위해 적어도 2개의 디스크 공간이 필요하고, 상기 제어 드라이버는 2개의 하드 디스크에 각각 DMA 명령을 전송할 수 있다.Here, at least two disk spaces are required for data mirroring, and the control driver can transmit DMA commands to two hard disks, respectively.

종래의 데이터 미러링 시스템은 하드 디스크의 2개의 영역을 할당하여 동일한 데이터를 2개의 영역에 기록하기 위해 동일한 2번의 데이터 기록 과정을 거쳐야 한다.The conventional data mirroring system must perform the same two data recording processes in order to allocate two areas of the hard disk and to record the same data in two areas.

보다 구체적으로, 종래의 하드 디스크는 디스크 내에 스트림 데이터가 기록되면서 동시에 이에 대응되는 인덱스 데이터가 상기 하드 디스크의 할당된 공간에 기록되는 방식이므로 데이터가 하드 디스크에 기록되는 동안 적어도 2번의 기록 과정이 필요하고, 이에 따라 CPU의 레이턴시가 증가하고 시스템 리소스 사용이 증가하는 문제가 있다. 즉, 1번의 기록을 위한 100%의 CPU가 사용된다면 동일한 2번의 기록을 위해 200% 이상의 CPU 성능이 필요하다고 할 수 있다. More specifically, the conventional hard disk is a system in which stream data is recorded in a disk and index data corresponding thereto is recorded in an allocated space of the hard disk. Therefore, at least two recording processes are required while data is recorded on the hard disk There is a problem that the latency of the CPU increases and the use of system resources increases. That is, if 100% CPU for 1 record is used, 200% or more CPU performance is required to record the same 2 times.

이에 반해, 본 발명은 블록화된 스트림 데이터를 제어 드라이버가 2개의 할당된 디스크 영역에 대해 DMA하도록 제어하는 것만으로 데이터 미러링이 가능하므로 CPU 사용이 110 ~ 120% 정도로 레이턴시가 크게 감소될 수 있다. On the other hand, since data mirroring is possible only by controlling the control driver to DMA the block stream data to two allocated disk areas, the latency can be greatly reduced to about 110 to 120% of the CPU usage.

또한, 상기 제어 드라이버는 데이터 미러링이 필요한 경우에만 2개의 하드 디스크 영역에 데이터가 DMA되도록 제어할 수 있다.In addition, the control driver can control data to be DMA in two hard disk areas only when data mirroring is required.

보다 구체적으로, 데이터 미러링은 하드 디스크의 손상 등에 의해 데이터가 손상되는 것을 방지하기 위한 것으로 모든 데이터에 대해 데이터 미러링이 필요한 것은 아니다.More specifically, data mirroring is performed to prevent data from being damaged due to damage of the hard disk, and data mirroring is not required for all data.

종래의 데이터 미러링 시스템은 항상 데이터 미러링이 수행될 수 밖에 없는 구조이지만, 본 발명은 데이터를 기록하기 이전에 블록화함으로써 DMA를 1개 또는 2개 선택 제어할 수 있기 때문에 데이터 미러링이 필요한 부분에 대해서만 2개의 하드에 동일한 데이터가 기록되도록 제어할 수 있다.The conventional data mirroring system is structured such that data mirroring is always performed. However, since the present invention can selectively control one or two DMAs by blocking the data before data is written, only 2 It is possible to control the same data to be recorded on the hard disks.

이하, 본 발명의 구체적인 데이터 미러링 방법에 대해 살펴보기로 한다.Hereinafter, a specific data mirroring method of the present invention will be described.

도 3은 본 발명의 바람직한 실시예에 따른 데이터 미러링 방법을 개략적으로 도시한 순서도이다.3 is a flowchart schematically showing a data mirroring method according to a preferred embodiment of the present invention.

도 3을 참조하면, 먼저, 인코딩된 스트림 데이터를 데이터 패킷 단위로 나누어 하드 디스크의 저장될 블록을 할당하여 지정하고, 상기 스트림 데이터를 상기 할당된 블록에 기록될 스트림 데이터를 버퍼 모듈의 가상 블록에 저장한다.Referring to FIG. 3, first, the encoded stream data is divided into data packet units, a block to be stored in the hard disk is allocated and designated, and the stream data is recorded in a virtual block of the buffer module .

여기서, 가상 블록은 하드 디스크의 실제 할당된 블록에 대응되는 개념으로 가상 블록에 데이터가 채워지면 해당 데이터가 실제 할당된 블록에 기록된다.Here, when a virtual block is filled with data in a concept corresponding to a block actually allocated to the hard disk, the virtual block is recorded in the block to which the data is actually allocated.

이 때, 상기 가상 블록에 스트림 데이터를 저장하면서 이에 매핑되는 인덱스 데이터도 상기 가상 블록의 할당된 영역에 저장한다. 여기서, 상기 인덱스 데이터는 상기 블록에 저장되는 스트림 데이터의 시퀀스 넘버와 채널정보, 시간 정보, 저장장치내 위치 정보, 이벤트 정보, 메타 정보 등의 동기화된 정보를 포함하게 된다.At this time, the stream data is stored in the virtual block, and the index data mapped to the stream data is also stored in the allocated area of the virtual block. Here, the index data includes synchronized information such as a sequence number of stream data stored in the block, channel information, time information, location information in a storage device, event information, and meta information.

상기와 같이 할당된 가상 블록에 데이터가 채워지면, 제어 드라이버는 2개의 디스크 영역에 각각 DMA 명령을 전송한다.When data is filled in the virtual block allocated as described above, the control driver transfers DMA commands to the two disk areas.

여기서, 상기 제어 드라이버는 데이터 미러링이 필요한 경우 제 1 디스크와 제 2 디스크에 DMA 명령을 전송하고, 상기 제 1 디스크 및 제 2 디스크의 할당된 블럭에 상기 가상 블록의 데이터가 기록되어 저장된다.Here, the control driver transmits a DMA command to the first disk and the second disk when data mirroring is required, and the data of the virtual block is recorded and stored in the allocated blocks of the first disk and the second disk.

데이터 미러링이 필요없는 경우 상기 제어 드라이버는 상기 제 1 디스크 및 제 2 디스크 중 하나의 디스크를 선택하여 하나의 디스크에만 DMA 명령을 전송하도록 제어할 수 있다.If data mirroring is not required, the control driver may select one of the first disk and the second disk to control the DMA command to be transmitted to only one disk.

도 4는 본 발명의 바람직한 실시예에 따른 데이터 미러링 과정을 개략적으로 도시한 것이다.FIG. 4 is a schematic view illustrating a data mirroring process according to a preferred embodiment of the present invention.

예를 들어, 카메라가 4개의 채널(CH1, CH2, CH3, CH4)로 구성될 경우 4개 채널로부터 스트림 데이터가 입력되고 코덱을 거쳐 압축 부호화된 스트림 데이터는 버퍼 모듈의 가상 블록에 할당되어 저장된다.For example, when the camera is composed of four channels (CH1, CH2, CH3, and CH4), stream data is input from four channels, and stream data that is compression-encoded through a codec is allocated and stored in a virtual block of the buffer module .

여기서, 상기 스트림 데이터 블록화되는 과정에서 인덱스 데이터도 블록내에 함께 저장된다. 가상 블록에 데이터가 채워지면 상기 가상 블록에 채워진 데이터가 제어 드라이버의 제어를 통해 디스크로 DMA된다.Here, the index data is also stored together in the block during the stream data block process. When data is filled in the virtual block, the data filled in the virtual block is DMA-controlled to the disk through the control of the control driver.

이 때, 제어 드라이버는 데이터 미러링이 필요한 경우에만 2개의 디스크(제 1 디스크, 제 2 디스크)에 DMA가 되도록 제어하고, 데이터 미러링이 필요없는 경우에는 하나의 하드에만 DMA 되도록 제어할 수 있다.At this time, the control driver can control the two disks (the first disk and the second disk) to be DMA only when data mirroring is required, and to control only one hard disk to DMA when data mirroring is not required.

다채널로부터 데이터가 입력되는 경우 모든 채널의 데이터가 미러링될 필요가 있는 것이 아니며, 같은 채널이라 하더라도 시간대 별로 미러링이 필요한 시간이 다를 수 있으므로 미러링이 필요한 데이터만 미러링을 수행하도록 함으로써 하드 디스크의 레이턴시를 최소화할 수 있다.When data is input from multiple channels, data of all channels need not be mirrored. Even if the same channel is used, time required for mirroring may be different from time to time. Therefore, only the data required for mirroring is mirrored, Can be minimized.

이상에서 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 본 발명의 보호범위는 상기 실시예에 한정되는 것이 아니며, 해당 기술분야의 통상의 지식을 갖는 자라면 본 발명의 사상 및 기술영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention.

1: 채널 디코더 2 : 프레임 버퍼
3 : 코덱 4 : 저장부
5 : 제어부
1: Channel decoder 2: Frame buffer
3: codec 4: storage unit
5:

Claims (1)

DVR용 데이터 미러링 시스템에 있어서,
시스템 메모리 내에 할당되고,디스크에 저장될 데이터를 복수 개의 블럭으로 구획하고, 상기 구획된 블록 중 할당된 블록에 대응되는 가상 블록에 데이터를 할당하여 저장하여 인코딩된 스트림 데이터를 블럭화하여 임시 저장하고, 상기 블럭화를 통해 디스크의 특정 블록에 저장될 스트림 데이터가 할당되고, 상기 블록내에 저장될 스트림 데이터에 대응되는 인덱스 데이터도 가상 블록내에 함께 저장하는 버퍼 모듈과;
하드 디스크에 기록될 데이터에 대해 디스크 영역을 할당하고, 할당된 디스크 영역에 DMA(Direct Memory Access) 명령을 제어하되; 데이터 미러링을 위해 2개의 할당된 디스크 영역에 상기 버퍼 모듈에 저장된 블록화된 데이터를 독립적으로 DMA하도록 제어하고 상기 블럭화된 스트림 데이터에 대해 2개의 하드를 할당하여 각각 DMA를 수행하도록 명령을 제어하고 데이터 미러링이 필요한 경우에만 2개의 할당된 디스크 영역에 상기 버퍼 모듈에 저장된 블록화된 데이터를 DMA하도록 제어함으로써 선택적인 데이터 미러링이 가능한 제어 드라이버를 포함하는 것을 특징으로 하는 DVR용 데이터 미러링 시스템.
A data mirroring system for a DVR,
A method of allocating data to a virtual block corresponding to a block allocated in a partitioned block and storing the encoded data in a block, temporarily storing the encoded data in a system memory, partitioning data to be stored in a disk into a plurality of blocks, A buffer module for allocating stream data to be stored in a specific block of the disk through the block and storing index data corresponding to stream data to be stored in the block in a virtual block;
Allocating a disk area for data to be written to a hard disk, and controlling a direct memory access (DMA) command to an allocated disk area; Controlling the DMA controller to independently DMA the block data stored in the buffer module in two allocated disk areas for data mirroring, and controlling the command to perform DMA by allocating two hard disks to the block stream data, And a control driver capable of performing selective data mirroring by controlling the DMA controller to DMA the block data stored in the buffer module to two allocated disk areas only when necessary.
KR1020180071992A 2018-06-22 2018-06-22 Data Mirroring System KR20180110648A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180071992A KR20180110648A (en) 2018-06-22 2018-06-22 Data Mirroring System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180071992A KR20180110648A (en) 2018-06-22 2018-06-22 Data Mirroring System

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170040184 Division 2017-03-29

Publications (1)

Publication Number Publication Date
KR20180110648A true KR20180110648A (en) 2018-10-10

Family

ID=63876111

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180071992A KR20180110648A (en) 2018-06-22 2018-06-22 Data Mirroring System

Country Status (1)

Country Link
KR (1) KR20180110648A (en)

Similar Documents

Publication Publication Date Title
EP1272931B1 (en) Multi-device storage system with differing fault tolerant methodologies
JP4314651B2 (en) Disk array device and data recording / reproducing method
JP4126713B2 (en) Image reproducing apparatus and image reproducing method
US6639885B1 (en) Disk recording/reproduction device, and information processing system incorporating a disk recording/reproduction device thereof
US6272085B1 (en) Data recording/reproducing method and device
JP4265019B2 (en) Data storage apparatus and method, and data transmission apparatus and method
JP4499193B2 (en) Recording / reproducing apparatus and recording / reproducing method
US6223249B1 (en) Apparatus and method for controlling access to one or more disc storage devices
US8112583B2 (en) Data recording for a hard drive in response to commands
KR20040075968A (en) Data storage apparatus and method for handling data on a data storage apparatus
KR20180110648A (en) Data Mirroring System
WO1999050849A1 (en) Device and method for data output and device and method for data input/output
US20060236023A1 (en) Record apparatus, record method, and program thereof
US20130132672A1 (en) Optical disk array device
JP2010519665A (en) System and method for increasing storage bandwidth of video server
US8515250B2 (en) Video recording device, video reproduction device, and method thereof
US6496311B1 (en) Data recording/reproducing unit, data recording method, data reproducing method, data recording/reproducing method, hard disk controller, and AV-data recording/reproducing method
JP4269403B2 (en) Data recording / reproducing apparatus and method of using time slot
KR100473899B1 (en) Data recording device and method
KR101214784B1 (en) Multi-channel record and playback apparatus for improving record and playback velocity
JP4419211B2 (en) Recording medium control apparatus and recording medium control method
JP2001211412A (en) High-speed av information server and its magnetic disk device adding method
JP4251241B2 (en) Information recording apparatus and method, and information reproducing apparatus and method
JP2005078385A (en) Data recording and reproducing device and time division access control method
JP2011018395A (en) Control method of hard disk drive

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application