KR101444397B1 - Method and apparatus for controlling hard disk access - Google Patents

Method and apparatus for controlling hard disk access Download PDF

Info

Publication number
KR101444397B1
KR101444397B1 KR1020130020386A KR20130020386A KR101444397B1 KR 101444397 B1 KR101444397 B1 KR 101444397B1 KR 1020130020386 A KR1020130020386 A KR 1020130020386A KR 20130020386 A KR20130020386 A KR 20130020386A KR 101444397 B1 KR101444397 B1 KR 101444397B1
Authority
KR
South Korea
Prior art keywords
ring buffer
hard disk
data
memory
dpu
Prior art date
Application number
KR1020130020386A
Other languages
Korean (ko)
Other versions
KR20140106177A (en
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 KR1020130020386A priority Critical patent/KR101444397B1/en
Publication of KR20140106177A publication Critical patent/KR20140106177A/en
Application granted granted Critical
Publication of KR101444397B1 publication Critical patent/KR101444397B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Abstract

본 발명은 하드디스크 엑세스를 컨트롤하는 임베디드 시스템에 대한 것으로, 임베디드 시스템의 하드디스크 접속 제어 방법은 하드디스크 쓰기 어플리케이션이 호출되면, 링 버퍼 형태로 메모리를 할당하고 상기 메모리 주소를 어플리케이션에 매핑하는 단계; 제 1 링 버퍼에 데이터를 쓰고, 상기 제 1 링 버퍼에 빈 공간이 없는지 여부를 확인하는 단계; 및 상기 제 1 링 버퍼에 빈 공간이 없는 경우, 제 2 링 버퍼에 데이터를 쓰고 상기 제 1 링 버퍼의 데이터를 하드디스크로 전송하는 단계를 포함하는 것을 특징으로 한다. 본 발명에 따르면, Thread 환경에서 계속하여 하드디스크에 읽기, 쓰기를 위한 엑세스 작업으로 CPU가 점유되여 시스템이 블로킹되는 시간을 대폭 단축할 수 있는 효과가 있다. A hard disk access control method of an embedded system includes: allocating a memory in a ring buffer format and mapping the memory address to an application when a hard disk write application is called; Writing data to the first ring buffer and confirming whether there is no empty space in the first ring buffer; And writing data to the second ring buffer and transferring data of the first ring buffer to the hard disk when there is no empty space in the first ring buffer. According to the present invention, the CPU is occupied by the access operation for reading and writing to the hard disk continuously in the Thread environment, thereby greatly shortening the time for blocking the system.

Figure R1020130020386
Figure R1020130020386

Description

하드디스크 엑세스를 컨트롤하는 방법 및 장치 {METHOD AND APPARATUS FOR CONTROLLING HARD DISK ACCESS}[0001] METHOD AND APPARATUS FOR CONTROLLING HARD DISK ACCESS [0002]

본 발명은 하드디스크 엑세스를 컨트롤하는 방법 및 장치에 관한 것이다. The present invention relates to a method and apparatus for controlling hard disk access.

보다 구체적으로 본 발명은 하드디스크 엑세스 제어를 위한 전용 컨트롤러가 쓰기(write) 명령의 경우 메모리를 링 버퍼 형태로 운용하여 하드디스크에 write 작업을 수행하며, 읽기(read) 명령의 경우 타임 오프셋(time offset)을 적용하여 하드디스크에 read 작업을 수행하는 방법 및 장치에 관한 것이다.
More specifically, in the case of a dedicated controller for hard disk access control, a write operation is performed on a hard disk by operating a memory as a ring buffer in the case of a write command. In the case of a read command, The present invention relates to a method and an apparatus for performing a read operation on a hard disk by applying an offset.

최근 디지털 비디오 레코더 (DVR, Digital Video Recorder)가 상용화 되고 있다. DVR은 기존에 쓰이던 비디오 카세트 레코더(VCR)가 녹화를 여러번 반복하는 방식이라 화질이 떨어지고, 비디오테이프를 교체하는 등 사용이 번거로워 이를 해결하기 위해 개발되었다. Recently, a digital video recorder (DVR, Digital Video Recorder) has been commercialized. DVR has been developed to solve this problem because the conventional video cassette recorder (VCR) repeats the recording several times and the image quality deteriorates and the video tape is replaced.

DVR은 비디오테이프 대신 하드디스크나 디지털비디오디스크 등을 사용하므로 저장된 화면을 재생하거나 검색하기가 쉬운 장점이 있다. 뿐만 아니라 디지털 신호로 저장되기 때문에 편집과 화상을 전송하기에도 편리하다.DVR uses hard disk or digital video disk instead of video tape, so it is easy to play or search saved screen. It is also convenient for editing and transferring images because it is stored as a digital signal.

한편 임베디드 시스템이란 특정한 제품에 솔루션에서 주어진 작업을 수행할 수 있도록 추가로 탑재되는 솔루션이나 시스템을 말한다. 즉, 어떤 제품이나 솔루션에 추가로 탑재되어 그 제품 안에서 특정한 작업을 수행하도록 하는 솔루션을 말한다. An embedded system, on the other hand, refers to a solution or system that can be added to a specific product to perform a given task in the solution. In other words, it refers to a solution that is added to a product or solution to perform a specific task within the product.

첨단 기능이 들어 있는 가전제품, 휴대폰, 셋탑박스 등은 물론 DVR 역시 일반적으로 임베디드 시스템을 갖추고 있는데, 이러한 임베디드 시스템은 특정 임베디드 응용 프로그램을 수행할 수 있도록 마이크로프로세서와 하드 디스크를 포함할 수 있다. DVRs, as well as home appliances with advanced functions, mobile phones, set-top boxes, and the like, generally have an embedded system, which may include a microprocessor and a hard disk to perform certain embedded applications.

하드디스크가 장착된 임베디드 시스템의 경우, 저수준 함수인 읽기(read), 쓰기(read)를 위하여 하드디스크에 데이터를 송수신한다. 이는 CPU를 점유한 상태에서 수행되는 작업이며 작업 시간 동안 시스템은 블로킹(blocking) 상태가 된다.In the case of an embedded system equipped with a hard disk, data is transmitted and received to the hard disk for a low-level function, read and write. This is a task performed while occupying the CPU, and the system is in a blocking state during the work time.

하드디스크의 읽기, 쓰기 속도는 CPU나 메모리의 송수신 속도 보다 훨씬 느린 것이 일반적이다. 이로 인하여 특히 빈번하게 읽기 및 쓰기 작업이 발생하는 DVR의 경우, 빈번한 하드디스크 접속은 전체 시스템 성능 저하의 문제가 발생할 수 있다.
The read / write speed of the hard disk is generally much slower than the speed of the CPU and memory. Due to this, in the case of a DVR in which reading and writing operations occur frequently, frequently accessing a hard disk may cause deterioration of the overall system performance.

특허공개번호 2001-0022977 (공개일 2001.03.26)Patent Publication No. 2001-0022977 (published on March 23, 2001)

본 발명은 상기와 같은 문제점을 해결하기 위한 것이다. 특히 본 발명은 하드디스크 엑세스를 효율적으로 컨트롤하는 방법 및 장치를 제공하는 것을 목적으로 한다. SUMMARY OF THE INVENTION The present invention has been made to solve the above problems. In particular, it is an object of the present invention to provide a method and apparatus for efficiently controlling hard disk access.

보다 구체적으로 본 발명은 하드디스크 엑세스 제어를 위한 전용 컨트롤러를 이용하여, 상기 전용 컨트롤러가 메모리를 링버퍼 형태로 운용하여 하드디스크에 write 작업을 수행하며, 타임 오프셋(time offset)을 적용하여 하드디스크에 read 작업을 수행하는 방법 및 장치를 제공하는 것을 목적으로 한다.
More specifically, the present invention uses a dedicated controller for hard disk access control, the dedicated controller operates a memory in a ring buffer form to perform a write operation to the hard disk, applies a time offset to the hard disk, And to provide a method and an apparatus for performing a read operation on a computer.

상기와 같은 문제점을 해결하기 위한 본 발명의 일 실시예를 따르는 임베디드 시스템의 하드디스크 접속 제어 방법은 하드디스크 쓰기 어플리케이션이 호출되면, 링 버퍼 형태로 메모리를 할당하고 상기 메모리 주소를 어플리케이션에 매핑하는 단계; 제 1 링 버퍼에 데이터를 쓰고, 상기 제 1 링 버퍼에 빈 공간이 없는지 여부를 확인하는 단계; 및 상기 제 1 링 버퍼에 빈 공간이 없는 경우, 제 2 링 버퍼에 데이터를 쓰고 상기 제 1 링 버퍼의 데이터를 하드디스크로 전송하는 단계를 포함하는 것을 특징으로 한다. According to an embodiment of the present invention, there is provided a method of controlling access to a hard disk of an embedded system, the method comprising: allocating a memory in a ring buffer format and mapping the memory address to an application when a hard disk write application is invoked; ; Writing data to the first ring buffer and confirming whether there is no empty space in the first ring buffer; And writing data to the second ring buffer and transferring data of the first ring buffer to the hard disk when there is no empty space in the first ring buffer.

그리고 본 발명의 다른 실시예를 따르는 임베디드 시스템의 하드디스크 접속 제어 방법은 임의의 시간 T에 대한 하드디스크 읽기 어플리케이션이 호출되면, 링 버퍼 형태로 메모리를 할당하고 상기 메모리 주소를 어플리케이션에 매핑하는 단계; 미리 설정된 시간 오프셋을 적용하여 상기 시간 T 이전 및 이후 시간의 데이터를 하드디스크에서 읽는 단계; 및 상기 하드디스크로부터 읽은 데이터를 링 버퍼에 로드하는 단계를 포함하는 것을 특징으로 한다. In another aspect of the present invention, there is provided a method of controlling access to a hard disk of an embedded system, comprising: allocating a memory in a ring buffer form and mapping the memory address to an application when a hard disk read application is called for a certain time T; Reading data from the hard disk before and after the time T by applying a preset time offset; And loading data read from the hard disk into a ring buffer.

나아가 본 발명의 실시예를 따르는 임베디드 시스템은, 데이터를 저장하는 메모리와 하드디스크; 및 하드디스크 쓰기 어플리케이션이 호출되는 경우, 링 버퍼 형태로 상기 메모리를 할당하고 상기 메모리 주소를 어플리케이션에 매핑하며, 제 1 링 버퍼에 데이터를 쓰고, 상기 제 1 링 버퍼에 빈 공간이 없는지 여부를 확인하고, 상기 제 1 링 버퍼에 빈 공간이 없는 경우, 제 2 링 버퍼에 데이터를 쓰고 상기 제 1 링 버퍼의 데이터를 상기 하드디스크로 전송하도록 제어하는 제어부를 포함하는 것을 특징으로 한다. Furthermore, an embedded system according to an embodiment of the present invention includes a memory for storing data and a hard disk; And when a hard disk writing application is called, allocates the memory in the form of a ring buffer, maps the memory address to an application, writes data in the first ring buffer, and determines whether there is no empty space in the first ring buffer And a control unit for writing data to the second ring buffer and transferring the data of the first ring buffer to the hard disk when there is no empty space in the first ring buffer.

그리고 본 발명의 다른 실시예를 따르는 임베디드 시스템은, 데이터를 저장하는 메모리와 하드디스크; 및 임의의 시간 T에 대한 하드디스크 읽기 어플리케이션이 호출되면, 링 버퍼 형태로 상기 메모리를 할당하고 상기 메모리 주소를 어플리케이션에 매핑하며, 미리 설정된 시간 오프셋을 적용하여 상기 시간 T 이전 및 이후 시간의 데이터를 상기 하드디스크에서 읽고, 상기 하드디스크로부터 읽은 데이터를 상기 링 버퍼에 로드하는 제어부를 포함하는 것을 특징으로 한다.
According to another aspect of the present invention, there is provided an embedded system including: a memory for storing data; a hard disk; And a hard disk read application for an arbitrary time T is called, the memory is allocated in the form of a ring buffer, the memory address is mapped to the application, and a pre-set time offset is applied to the data before and after the time T And a controller for reading data from the hard disk and loading data read from the hard disk into the ring buffer.

본 발명에 따르면, 스레드 환경에서 계속하여 하드디스크에 읽기, 쓰기를 위한 엑세스 작업으로 CPU가 점유되어 시스템이 블로킹되는 시간을 대폭 단축할 수 있다. According to the present invention, in the thread environment, the CPU is occupied by the access operation for reading and writing to the hard disk continuously, and the time for blocking the system can be greatly shortened.

나아가 본 발명에 따르면, CPU 점유율을 낮추어 임베디드 시스템 전체의 효율성을 높일 수 있는 효과가 있다.
Further, according to the present invention, the efficiency of the entire embedded system can be improved by lowering the CPU occupancy rate.

도 1은 본발명의 실시예에 따른 임베디드 시스템의 내부 구조를 설명하기 위한 블록도
도 2는 본발명의 실시예에 따른 쓰기(write) 메모리 링버퍼의 구조를 설명하기 위한 도면
도 3은 본발명의 실시예에 따른 읽기(read) 메모리 링버퍼의 구조를 설명하기 위한 도면
도 4는 본발명의 실시예에 따라 하드디스크 쓰기(write) 엑세스를 제어하는 과정을 도시하는 순서도
도 5은 본 발명의 실시예에 따라 하드디스크 읽기(read) 엑세스를 제어하는 과정을 도시하는 순서도
1 is a block diagram for explaining an internal structure of an embedded system according to an embodiment of the present invention;
2 is a diagram for explaining a structure of a write memory ring buffer according to an embodiment of the present invention;
3 is a diagram for explaining the structure of a read memory ring buffer according to an embodiment of the present invention;
4 is a flowchart showing a process of controlling hard disk write access according to an embodiment of the present invention.
5 is a flowchart showing a process of controlling hard disk read access according to an embodiment of the present invention.

본 발명은 이하에 기재되는 실시예들의 설명 내용에 한정되는 것은 아니며, 본 발명의 기술적 요지를 벗어나지 않는 범위 내에서 다양한 변형이 가해질 수 있음은 자명하다. 그리고 실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 널리 알려져 있고 본 발명의 기술적 요지와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. It is to be understood that the present invention is not limited to the description of the embodiments described below, and that various modifications may be made without departing from the technical scope of the present invention. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail.

첨부된 도면에서 동일한 구성요소는 동일한 부호로 표현된다. 그리고 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시될 수도 있다. 이는 본 발명의 요지와 관련이 없는 불필요한 설명을 생략함으로써 본 발명의 요지를 명확히 설명하기 위함이다. 이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. In the accompanying drawings, the same components are denoted by the same reference numerals. And in the accompanying drawings, some of the elements may be exaggerated, omitted or schematically illustrated. It is intended to clearly illustrate the gist of the present invention by omitting unnecessary explanations not related to the gist of the present invention. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

한편, 본 발명의 임베디드 시스템은 DVR을 예시할 수 있으나, 이에 한정되는 것은 아니다. 즉, 본 발명인 하드디스크 엑세스를 컨트롤하는 방법 및 장치는 DVR 뿐만 아니라, 휴대폰, 셋탑박스 등 마이크로프로세서와 하드디스크 및 RAM을 포함하는 전자기기에 일반적으로 적용될 수 있다.
Meanwhile, the embedded system of the present invention can exemplify a DVR, but the present invention is not limited thereto. That is, the method and apparatus for controlling access to a hard disk of the present invention can be generally applied not only to a DVR, but also to a microprocessor such as a mobile phone, a set-top box, and an electronic apparatus including a hard disk and a RAM.

도 1은 본 발명의 실시예에 따른 임베디드 시스템의 내부 구조를 설명하기 위한 블록도이다. 도 1에서 도시되는 바와 같이 본 발명의 실시예에 따른 임베디드 시스템(100)은 입력부(110), 통신부(120), 표시부(130). 제어부(140) 및 저장부(170)를 포함할 수 있다. 1 is a block diagram illustrating an internal structure of an embedded system according to an embodiment of the present invention. 1, an embedded system 100 according to an exemplary embodiment of the present invention includes an input unit 110, a communication unit 120, and a display unit 130. A control unit 140, and a storage unit 170.

입력부(110)는 임베디드 시스템(100)을 제어하기 위한 사용자의 키 조작을 입력받고 입력 신호를 생성하여 제어부(140)에 전달한다. The input unit 110 receives a user's key manipulation for controlling the embedded system 100, generates an input signal, and transmits the input signal to the controller 140.

통신부(120)는 임베디드 시스템(100)의 유선 또는 무선 통신을 통한 데이터의 송수신 기능을 수행한다. 또한, 통신부(120)는 유선 또는 무선 채널을 통해 데이터를 수신하여 제어부(140)로 출력하고, 제어부(140)로부터 출력된 데이터를 유무선 채널을 통해 전송할 수 있다. The communication unit 120 performs a function of transmitting and receiving data through the wired or wireless communication of the embedded system 100. The communication unit 120 may receive data through a wired or wireless channel, output the data to the control unit 140, and transmit the data output from the control unit 140 through a wired / wireless channel.

표시부(130)는 액정표시장치(LCD, Liquid Crystal Display), 유기 발광 다이오드(OLED, Organic Light Emitting Diodes), 능동형 유기 발광 다이오드(AMOLED, Active Matrix Organic Light Emitting Diodes) 등으로 형성될 수 있으며, 임베디드 시스템(100)의 메뉴, 입력된 데이터, 기능 설정 정보 및 기타 다양한 정보를 사용자에게 시각적으로 제공한다. The display unit 130 may be formed of a liquid crystal display (LCD), an organic light emitting diode (OLED), an active matrix organic light emitting diode (AMOLED) And visually provides menus, input data, function setting information, and various other information of the system 100 to the user.

한편, 도 1에 도시된 것은 아니지만, 본 발명의 실시예에 따르는 임베디드 시스템(100)은 오디오 또는 비디오 처리부를 더 구비할 수 있다. Although not shown in FIG. 1, the embedded system 100 according to the embodiment of the present invention may further include an audio or video processing unit.

오디오 또는 비디오 처리부는 코덱(CODEC)으로 구성될 수 있으며, 코덱은 영상 데이터를 처리하는 비디오 코덱과 음성 등의 오디오 신호를 처리하는 오디오 코덱으로 구성될 수 있다. The audio or video processing unit may be a CODEC, and the CODEC may be a video CODEC for processing image data and an audio CODEC for processing audio signals such as voice.

비디오 처리부는 아날로그 영상을 디지털 영상으로 변환할 수 있다. 그리고 오디오 처리부는 디지털 오디오 신호를 코덱을 통해 아날로그 오디오 신호로 변환하여 스피커(SPK)를 통해 재생하고, 마이크(MIC)로부터 입력되는 아날로그 오디오 신호를 오디오 코덱을 통해 디지털 오디오 신호로 변환할 수 있다. The video processing unit can convert the analog image into the digital image. The audio processor converts the digital audio signal into an analog audio signal through a codec, reproduces the audio signal through a speaker SPK, and converts the analog audio signal input from the microphone into a digital audio signal through an audio codec.

저장부(170)는 임베디드 시스템(100)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행하며, 프로그램 영역과 데이터 영역으로 구분될 수 있다. The storage unit 170 stores programs and data necessary for the operation of the embedded system 100, and can be divided into a program area and a data area.

프로그램 영역은 임베디드 시스템(100)의 전반적인 동작을 제어하는 프로그램 및 임베디드 시스템(100)을 부팅시키는 운영체제(OS, Operating System), 이미지, 동영상, 또는 멀티미디어 컨텐츠 재생 등에 필요한 응용 프로그램, 임베디드 시스템(100)의 기타 옵션 기능, 예컨대, 알람 기능, 파일 변환 기능, 이미지 또는 동영상 재생 기능에 필요한 응용 프로그램 등을 저장할 수 있다. 데이터 영역은 임베디드 시스템(100)의 사용에 따라 발생하는 데이터가 저장되는 영역으로서 이미지 및 동영상 등을 저장할 수 있다.The program area includes a program for controlling overall operation of the embedded system 100 and an operating system (OS) for booting the embedded system 100, an application program necessary for reproducing an image, moving picture, or multimedia contents, For example, an alarm function, a file conversion function, an application program required for an image or moving picture playback function, and the like. The data area is an area in which data generated according to the use of the embedded system 100 is stored, and can store images and moving images.

이러한 저장부(170)는 RAM(Random Access Memory, 180) 및 하드디스크(Hard Disk, 190)를 포함할 수 있으며, 이들의 동작은 첨부된 도면과 함께 후술된다. The storage unit 170 may include a random access memory (RAM) 180 and a hard disk 190, the operation of which will be described later with reference to the accompanying drawings.

제어부(140)는 임베디드 시스템(100)의 각 구성 요소에 대한 전반적인 동작을 제어한다. 특히,본 발명의 실시예를 따르는 제어부(150)는 CPU(Central Processing Unit, 140) 및 하드디스크 엑세스 제어를 위한 전용 컨트롤러인 DPU(Data Processing Unit, 160)을 포함할 수 있다. CPU와 DPU는 물리적으로 각각 구분된 복수의 프로세서일 수 있으나, 하나의 프로세서를 개념적으로 구분한 기능적 단위일 수도 있다. The control unit 140 controls the overall operation of each component of the embedded system 100. In particular, the controller 150 according to an embodiment of the present invention may include a CPU (Central Processing Unit) 140 and a DPU (Data Processing Unit) 160 that is a dedicated controller for hard disk access control. The CPU and the DPU may be a plurality of processors physically separated from each other, but may be a functional unit conceptually dividing one processor.

CPU(150)는 시스템이 부팅되면 CPU 기반 어플리케이션을 구동한다. 그리고 하드디스크 쓰기 또는 읽기 API(Application Program Interface)가 호출되면 DPU를 활성화시켜 co-processor 혹은 co-work을 시작한다. The CPU 150 drives the CPU-based application when the system is booted. When the hard disk write or read application program interface (API) is called, the DPU is activated to start co-processor or co-work.

DPU(160)는 Write 용도로 쓰여질 RAM(180)의 물리적 주소 공간 과 Read 용도로 쓰여질 RAM(180) 물리적 주소 공간을 지정할 수 있는 API 함수를 제공할 수 있다. 그리고 DPU(160)는 지정된 Write, Read 메모리 공간에 access 하여 write 작업과 read 작업을 수행 할 수 있는 API 함수를 제공할 수 있다. The DPU 160 may provide an API function that can specify the physical address space of the RAM 180 to be written for the write purpose and the physical address space of the RAM 180 to be used for the read purpose. The DPU 160 may access the designated write and read memory spaces to provide an API function that can perform a write operation and a read operation.

Write의 경우, DPU(160)는 Write 함수의 호출에 대해 주기적으로 체크하여 메모리가 미리 설정된 용량을 충족하는 경우 하드디스크(190)에 쓰기 작업을 수행하여 데이터를 RAM(180)에서 하드디스크(190)로 전송할 수 있다. In the case of Write, the DPU 160 periodically checks for a call of the Write function, and if the memory meets a preset capacity, the DPU 160 performs a write operation to the hard disk 190 to transfer the data from the RAM 180 to the hard disk 190 ).

Read의 경우, DPU(160)는 하드디스크(190)에 접속하는데, 요청 받은 임의의 Time stamp 에 대해 오프셋 값을 두어 요청 시간 전후의 데이터를 하드디스크(190)에서 RAM(180)으로 전송할 수 있다. 구체적인 과정은 첨부된 도면과 함께 후술된다.
In case of Read, the DPU 160 accesses the hard disk 190. The DPU 160 may transmit an offset value to an arbitrary time stamp requested from the hard disk 190 to the RAM 180 before and after the request time . A specific process will be described later with the accompanying drawings.

도 2는 본발명의 실시예에 따른 쓰기(write) 메모리 링버퍼의 구조를 설명하기 위한 도면이다. 도 2에서 도시된 바와 같이 본 발명의 실시예에 따른 쓰기(write) 메모리는 링버퍼 구조로 운용할 수 있다.2 is a diagram illustrating a structure of a write memory ring buffer according to an embodiment of the present invention. As shown in FIG. 2, a write memory according to an embodiment of the present invention can operate as a ring buffer structure.

예를 들어, 0x1000000 ~ 0x8000000가 Write 용도로 할당된 Memory 영역인 경우, DPU(160)은 N 개의 영역으로 상기 메모리 공간을 나눌 수 있다. 예를 들어 아래처럼 7 개의 공간으로 메모리를 나눌 수 있다. For example, if 0x1000000 to 0x8000000 are memory areas allocated for the purpose of writing, the DPU 160 can divide the memory space into N areas. For example, you can divide memory into seven spaces as shown below.

제 1 메모리 공간 : 0x1000000 ~ 0x1FFFFFFFFirst memory space: 0x1000000 to 0x1FFFFFFF

제 2 메모리 공간 : 0x2000000 ~ 0x2FFFFFFFSecond memory space: 0x2000000 to 0x2FFFFFFF

제 3 메모리 공간 : 0x3000000 ~ 0x3FFFFFFFThird memory space: 0x3000000 to 0x3FFFFFFF

제 4 메모리 공간 : 0x4000000 ~ 0x4FFFFFFFFourth memory space: 0x4000000 to 0x4FFFFFFF

제 5 메모리 공간 : 0x5000000 ~ 0x5FFFFFFFFifth memory space: 0x5000000 to 0x5FFFFFFF

제 6 메모리 공간 : 0x6000000 ~ 0x6FFFFFFFSixth memory space: 0x6000000 to 0x6FFFFFFF

제 7 메모리 공간 : 0x7000000 ~ 0x7FFFFFFFSeventh memory space: 0x7000000 to 0x7FFFFFFF

예를 들어 CPU(150)또는 DPU(160)는 제 1 메모리 공간에 data 를 모두 write 하였을 때 제 1 메모리 영역의 stop bit가 ON이 되도록 설정할 수 있다. 그리고 DPU(160)는 Checker 기능을 적용하여 stop bit 를 체크하여 stop bit가 ON 인 경우, 해당 메모리 영역의 data 를 하드디스크에 write 하도록 제어할 수 있다. For example, the CPU 150 or the DPU 160 may set the stop bit of the first memory area to be ON when data is completely written into the first memory space. When the stop bit is ON, the DPU 160 checks the stop bit by using the Checker function, and controls the data of the corresponding memory area to be written to the hard disk.

제 1 메모리 영역에 대한 하드디스크 Writing 이 진행되는 동안 DPU(160)는 제 1 메모리 영역의 write bit 를 on 시키고, write 가 완료된 이후에 spot bit 와 write bit 는 초기화되도록 설정할 수 있다. The DPU 160 may set the write bit of the first memory area to ON and the spot bit and the write bit of the DPU 160 to be initialized after the completion of the write operation while the hard disk writing to the first memory area proceeds.

또한 DPU(160)는 Checker 기능을 적용하여 제 1 메모리 영역의 stop bit 와 write bit 를 체크하여, stop bit가 on 이거나 write bit on 인 경우, 제 2 메모리 영역에 공간에 데이터를 write하도록 제어할 수 있다. 나아가 DPU(160)는, 제공되는 Write API 함수에서 실제 메모리 주소를 mapping 하도록 제어할 수 있다. In addition, the DPU 160 checks the stop bit and the write bit of the first memory area by applying the checker function. If the stop bit is on or write bit on, the DPU 160 controls to write data in the second memory area have. Furthermore, the DPU 160 can control to map the actual memory address in the provided Write API function.

이러한 본 발명의 실시예에 따라, DPU(160)는 제 1 메모리 공간에 데이터를 write하고 제1 메모리 공간이 가득 찬 경우 하드디스크에 access하여 제 1 메모리 공간의 데이터를 하드디스크로 옮길 수 있다. 제 1 메모리 공간이 가득 찬 경우, 하드디스크 access와 동시에 제 2 메모리 공간에 데이터를 write할 수 있다. 그리고 제 2 메모리 공간이 가득한 경우 하드디스크에 access하여 제 2 메모리 공간의 데이터를 하드디스크로 옮김과 동시에 제 3 메모리 공간에 데이터를 write할 수 있다. 위와 같이 다수개의 buffer 를 ring 처럼 연결하여 순차적으로 회전하게 되면 data 의 손실이 발생하지 않는 효과가 있다
According to the embodiment of the present invention, when the DPU 160 writes data in the first memory space and accesses the hard disk when the first memory space is full, the DPU 160 can transfer data in the first memory space to the hard disk. When the first memory space is full, data can be written to the second memory space at the same time as accessing the hard disk. When the second memory space is full, the data in the second memory space can be transferred to the hard disk and the data can be written in the third memory space by accessing the hard disk. If a plurality of buffers are connected like a ring and sequentially rotated as described above, there is no loss of data

도 3은 본발명의 실시예에 따른 읽기(read) 메모리 링버퍼의 구조를 설명하기 위한 도면이다. 도 2에서 도시된 바와 같이 본 발명의 실시예에 따른 읽기(read) 메모리는 링버퍼 구조로 운용할 수 있다.3 is a diagram for explaining a structure of a read memory ring buffer according to an embodiment of the present invention. As shown in FIG. 2, a read memory according to an embodiment of the present invention can operate as a ring buffer structure.

예를 들어, 0x1000000 ~ 0x8000000가 read 용도로 할당된 Memory 영역인 경우, DPU(160)은 N 개의 영역으로 공간을 나눌 수 있다. 예를 들어 아래처럼 7 개의 공간으로 나눌 수 있다. For example, if 0x1000000 to 0x8000000 are memory areas allocated for reading purposes, the DPU 160 may divide space into N areas. For example, you can divide into seven spaces as shown below.

제 1 메모리 공간 : 0x1000000 ~ 0x1FFFFFFFFirst memory space: 0x1000000 to 0x1FFFFFFF

제 2 메모리 공간 : 0x2000000 ~ 0x2FFFFFFFSecond memory space: 0x2000000 to 0x2FFFFFFF

제 3 메모리 공간 : 0x3000000 ~ 0x3FFFFFFFThird memory space: 0x3000000 to 0x3FFFFFFF

제 4 메모리 공간 : 0x4000000 ~ 0x4FFFFFFFFourth memory space: 0x4000000 to 0x4FFFFFFF

제 5 메모리 공간 : 0x5000000 ~ 0x5FFFFFFFFifth memory space: 0x5000000 to 0x5FFFFFFF

제 6 메모리 공간 : 0x6000000 ~ 0x6FFFFFFFSixth memory space: 0x6000000 to 0x6FFFFFFF

제 7 메모리 공간 : 0x7000000 ~ 0x7FFFFFFFSeventh memory space: 0x7000000 to 0x7FFFFFFF

예를 들어 입력부(110)로부터 특정 시간 T에 대한 동영상 읽기 사용자 명령을 수신한 경우, CPU(150)또는 DPU(160)는 특정 시간 T에 대응되는 데이터를 하드디스크에서 읽을 수 있다. 한편, 소정의 시간 오프셋을 미리 설정할 수 있는데, 이 경우 미리 설정된 시간 오프셋을 적용하여 T 이전 및 이후 시간에 대응되는 데이터 역시 하드디스크에서 함께 읽을 수 있다. For example, when a moving picture reading user command for a specific time T is received from the input unit 110, the CPU 150 or the DPU 160 can read data corresponding to the specific time T from the hard disk. On the other hand, a predetermined time offset can be set in advance. In this case, data corresponding to time before and after T can be read together on the hard disk by applying a preset time offset.

이후 DPU(160)는 T를 메모리 주소값으로 구분하고 하드디스크에서 읽은 데이터를 제 1 메모리 공간에 로드(Load)할 수 있다. 예를 들어 제 1 메모리 공간의 0x1111000 주소값에 T를 대응하여, 하드 디스크에서 읽은 T 이전 및 이후 시간에 대응되는 데이터를 제 1 메모리 공간의 0x1111000 전후에 로드할 수 있다. 특히 T에 대응하는 데이터 메모리 주소값은 제 1 메모리 중간 지점의 오프셋으로 사용할 수 있다. 또한 DPU(160)는, 제공되는 Read API 함수에서 특정 시간 T와 T에 대응하는 메모리 주소를 mapping 하도록 제어할 수 있다. Then, the DPU 160 divides T into memory address values and loads data read from the hard disk into the first memory space. For example, T corresponding to the address value of 0x1111000 in the first memory space, and data corresponding to the time before and after T read from the hard disk can be loaded before and after 0x1111000 of the first memory space. In particular, the data memory address value corresponding to T can be used as the offset of the first memory intermediate point. Also, the DPU 160 can control to map the memory address corresponding to the specific time T and T in the provided Read API function.

이러한 본 발명의 실시예에 따라 DPU(160)는 미리 설정된 시간 오프셋을 적용하여 T 이전 및 이후 시간에 대응되는 데이터 역시 하드디스크에서 함께 읽을 수 있다. 그리고 제 1 메모리 공간의 중간 지점에 T에 대응하는 데이터를 로드하고, T 이전 시간에 대응되는 데이터는 제 1 메모리 공간의 전반부에 로드하고, 제 1 메모리 공간의 전반부가 부족한 경우 제 7 메모리 공간을 사용하여 로드 할 수 있다. 나아가 T 이후 시간에 대응되는 데이터는 제 1 메모리 공간의 후반부에 로드하고, 제 1 메모리 공간의 후반부가 부족한 경우 제 2 메모리 공간을 사용하여 로드 할 수 있다. According to the embodiment of the present invention, the DPU 160 can read the data corresponding to the time before and after T by using the preset time offset together with the hard disk. The data corresponding to T is loaded in the first half of the first memory space. If the first half of the first memory space is insufficient, the seventh memory space is loaded Can be loaded using. Further, the data corresponding to the time after T is loaded in the latter half of the first memory space, and can be loaded using the second memory space when the latter half of the first memory space is insufficient.

위와 같이 다수개의 buffer 를 ring 처럼 연결하여 순차적으로 회전하게 되면 사용자가 요청한 data 가 변할 때 마다 가변적으로 앞뒤 data 를 충분히 확보하여 Hard Disk Access 빈도를 자동으로 최소화 할 수 있는 효과가 있다.
If a plurality of buffers are connected in a ring like the above manner, the sequential rotation of the buffers allows a sufficient amount of back and forth data whenever the data requested by the user changes, thereby minimizing the hard disk access frequency automatically.

도 4는 본발명의 실시예에 따라 하드디스크 쓰기(write) 엑세스를 제어하는 과정을 도시하는 순서도이다. 4 is a flowchart illustrating a process of controlling hard disk write access according to an embodiment of the present invention.

단계 410에서 CPU(150)와 DPU(160)는 Co-work 작업을 확인하고, 단계 420에서 CPU(150)는 하드디스크 쓰기 요청 API를 호출할 수 있다. 도 4에서는 단계 410과 단계 420을 각각 도시하였지만, 이는 설명의 편의를 위한 것이며, 각 단계들의 시간적 순서를 나타내는 것은 아니다. 실제, 본 발명의 실시예에 따르면 단계 410은 단계 420와 동시에 일어날 수 있다. 즉, CPU(150)가 하드디스크 쓰기 요청 API를 호출하면 DPU(160)에게 신호를 보내어 CPU(150)와 DPU(160)의 Write Co-work 작업임을 확인할 수 있다. In step 410, the CPU 150 and the DPU 160 confirm the co-work operation, and in step 420, the CPU 150 may call the hard disk write request API. Although steps 410 and 420 are shown in FIG. 4, this is for convenience of description and does not represent the temporal order of each step. Indeed, according to an embodiment of the present invention, step 410 may occur concurrently with step 420. That is, when the CPU 150 calls the hard disk write request API, it sends a signal to the DPU 160 to confirm that it is a write co-work operation between the CPU 150 and the DPU 160.

단계 430에서 DPU(160)는 데이터를 Write할 메모리를 할당하고 하드디스크 쓰기 요청 어플리케이션에 메모리 주소를 매핑할 수 있다. 또는 DPU(160)가 할당한 메모리에 대한 주소값을 CPU(150)에 전달하면 CPU가 메모리 주소를 어플리케이션에 매핑할 수도 있다. 또한 DPU(160)가 메모리를 할당함과 동시에, CPU를 거치지 않고 DPU(160)가 메모리 주소를 어플리케이션에 바로 매핑할 수도 있다. In step 430, the DPU 160 allocates a memory for writing data and maps a memory address to a hard disk write request application. Or the DPU 160 to the CPU 150, the CPU may map the memory address to the application. Also, while the DPU 160 allocates the memory, the DPU 160 may directly map the memory address to the application without going through the CPU.

단계 480에서 CPU(150)는 Thread에 쓰기 작업을 계속한다. 그러면 DPU(160)는 단계 450에서 할당된 메모리 링버퍼에 데이터를 Write한다. 단계 460에서 DPU(160)는 링버퍼가 가득 찼는지 stop bit를 이용하여 체크할 수 있다. In step 480, the CPU 150 continues writing to the thread. The DPU 160 then writes the data to the memory ring buffer allocated in step 450. In step 460, the DPU 160 may check whether the ring buffer is full using a stop bit.

이후 단계 470에서 DPU(160)는 stop bit가 ON 인 경우, 해당 메모리 영역의 data 를 하드디스크에 write 하도록 제어할 수 있다.Thereafter, in step 470, when the stop bit is ON, the DPU 160 can control to write data in the memory area to the hard disk.

구체적으로 설명하면, 단계 450에서, DPU(160)는 제 N 번째 링버퍼에 데이터를 write하고, 단계 460에서 제 N 번째 링버퍼가 가득 찬 경우, 단계 470에서 하드디스크에 access하여 제 N 번째 링버퍼의 데이터를 하드디스크로 옮길 수 있다. 그리고 다시 단계 450으로 복귀하여 제 N+1 번째 링버퍼에 나머지 데이터를 계속하여 write할 수 있다. More specifically, in step 450, the DPU 160 writes data to the Nth ring buffer. If the Nth ring buffer is full in step 460, the DPU 160 accesses the hard disk in step 470 to access the Nth ring buffer The data in the buffer can be moved to the hard disk. Then, the process returns to step 450 to continue writing the remaining data in the (N + 1) th ring buffer.

도 5는 본발명의 실시예에 따라 하드디스크 읽기(Read) 엑세스를 제어하는 과정을 도시하는 순서도이다. 5 is a flowchart illustrating a process of controlling hard disk read access according to an embodiment of the present invention.

단계 510에서 CPU(150)와 DPU(160)는 Co-work 작업을 확인하고, 단계 520에서 CPU(150)는 하드디스크 읽기 요청 API를 호출할 수 있다. 도 5에서는 단계 510과 단계 520을 각각 도시하였지만, 본 발명의 실시예에 따르면 단계 510은 단계 520와 동시에 일어날 수 있다. 즉, CPU(150)가 하드디스크 읽기 요청 API를 호출하면 DPU(160)에게 신호를 보내어 CPU(150)와 DPU(160)의 Write Co-work 작업임을 확인할 수 있다. In step 510, the CPU 150 and the DPU 160 confirm the co-work operation. In step 520, the CPU 150 may call the hard disk read request API. Although steps 510 and 520 are shown in FIG. 5, step 510 may occur concurrently with step 520, according to an embodiment of the present invention. That is, when the CPU 150 calls the hard disk read request API, it sends a signal to the DPU 160 to confirm that it is a write co-work operation between the CPU 150 and the DPU 160.

단계 530에서 DPU(160)는 데이터를 하드디스크로부터 로드할 메모리를 할당하고 어플리케이션에 메모리 주소를 매핑할 수 있다. 구체적으로는, DPU(160)가 할당한 메모리에 대한 주소값을 CPU(150)에 전달하면 CPU가 메모리 주소를 어플리케이션에 매핑할 수 있다. 또한 DPU(160)가 메모리를 할당함과 동시에, CPU를 거치지 않고 DPU(160)가 메모리 주소를 어플리케이션에 바로 매핑할 수도 있다. At step 530, the DPU 160 may allocate memory to load data from the hard disk and map the memory address to the application. Specifically, when the CPU 150 transmits an address value to a memory allocated by the DPU 160, the CPU can map the memory address to the application. Also, while the DPU 160 allocates the memory, the DPU 160 may directly map the memory address to the application without going through the CPU.

단계 540에서 DPU(160)는 데이터를 하드디스크에서 읽어 메모리로 전송할 수 있다. 보다 구체적으로, DPU(160)는 임의의 시간 T에 대한 데이터를 하드디스크에서 읽을 수 있는데, 미리 설정된 시간 오프셋을 적용하여 T 이전 및 이후 시간에 대한 데이터를 하드디스크에서 함께 읽을 수 있다. 또한 DPU(160)는 T에 의한 데이터 메모리 주소값은 링버퍼 메모리 중간 지점의 오프셋으로 사용할 수 있다. In step 540, the DPU 160 may read the data from the hard disk and transfer the data to the memory. More specifically, the DPU 160 can read the data for a certain time T from the hard disk, and can apply the preset time offset to read data about the time before and after T together on the hard disk. Also, the DPU 160 can use the data memory address value by T as the offset of the ring buffer memory intermediate point.

이후 단계 550에서 DPU(160)는 링버퍼를 읽을 수 있으며, 단계 560에서 CPU(150)는 Thread에 read 작업을 반복할 수 있다
Thereafter, in step 550, the DPU 160 may read the ring buffer, and in step 560, the CPU 150 may repeat the read operation to the Thread

본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
The embodiments of the present invention disclosed in the present specification and drawings are merely illustrative of specific embodiments of the present invention and are not intended to limit the scope of the present invention in order to facilitate understanding of the present invention. It is to be understood by those skilled in the art that other modifications based on the technical idea of the present invention are possible in addition to the embodiments disclosed herein.

100: 임베디드 시스템
110 : 입력부
120 : 통신부
140 : 제어부
150 : CPU
160 : DPU
170 : 저장부
180 : RAM
190 : 하드디스크
100: Embedded Systems
110: input unit
120:
140:
150: CPU
160: DPU
170:
180: RAM
190: Hard disk

Claims (8)

임베디드 시스템의 하드디스크 접속 제어 방법에 있어서,
임의의 시간 T에 대한 하드디스크 읽기 어플리케이션이 호출되면, 링 버퍼 형태로 메모리를 할당하고 상기 할당된 메모리의 메모리 주소를 상기 하드디스크 읽기 어플리케이션에 매핑하는 단계;
미리 설정된 시간 오프셋을 적용하여, 상기 시간 T 이전 및 이후 시간에 대응되는 데이터를 하드디스크에서 읽는 단계; 및
상기 하드디스크로부터 읽은 데이터를 링 버퍼에 로드하는 단계를 포함하며,
상기 데이터를 링 버퍼에 로드하는 단계는,
상기 하드디스크로부터 읽은 데이터 중, 상기 시간 T 이전 시간에 대응되는 데이터를 제 n 링 버퍼 전반부에 로드하고, 상기 제 n 링 버퍼 전반부의 공간이 부족하면 제 n-1 링 버퍼에 로드하는 단계;
상기 하드디스크로부터 읽은 데이터 중, 상기 시간 T에 대응되는 데이터를 상기 제 n 링 버퍼 중간에 로드하는 단계; 및
상기 하드디스크로부터 읽은 데이터 중, 상기 시간 T 이후 시간에 대응되는 데이터를 상기 제 n 링 버퍼 후반부에 로드하고, 상기 제 n 링 버퍼 후반부의 공간이 부족하면 제 n+1 링 버퍼에 로드하는 단계를 포함하는 것을 특징으로 하는 방법.
A method of controlling access to a hard disk of an embedded system,
Allocating memory in the form of a ring buffer and mapping the memory address of the allocated memory to the hard disk read application when a hard disk read application for an arbitrary time T is called;
Reading data corresponding to the time before and after the time T from the hard disk by applying a preset time offset; And
And loading data read from the hard disk into a ring buffer,
The step of loading the data into the ring buffer comprises:
Loading the data corresponding to the time before the time T among the data read from the hard disk into the first n-ring buffer and loading the data into the n-1 ring buffer when the space in the first n-ring buffer is insufficient;
Loading data corresponding to the time T among data read from the hard disk into the n-th ring buffer; And
The step of loading data corresponding to the time after the time T among the data read from the hard disk into the rear part of the n-th ring buffer and loading into the n + 1 ring buffer when the space in the rear part of the n-th ring buffer is insufficient ≪ / RTI >
제 1항에 있어서,
하드디스크 쓰기 어플리케이션이 호출되면, 링 버퍼 형태로 메모리를 할당하고 상기 할당된 메모리의 메모리 주소를 상기 하드디스크 쓰기 어플리케이션에 매핑하는 단계;
제 1 링 버퍼의 쓰기 비트(write bit)를 활성화(on)하면서 상기 제 1 링 버퍼에 데이터를 기록하는 단계;
상기 제 1 링 버퍼에 빈 공간이 없는 경우, 상기 제 1 링 버퍼의 정지 비트(stop bit)를 활성화하는 단계;
상기 제 1 링 버퍼의 정지 비트가 활성화되어 있는 경우, 상기 제 1 링버퍼의 데이터를 하드디스크로 로드하고, 상기 데이터 로드가 종료되면 상기 제 1 링 버퍼의 정지 비트를 비활성화(off)하는 단계;
상기 제 1 링 버퍼의 쓰기 비트 또는 정지 비트가 활성화되어 있는 경우, 제 2 링 버퍼의 쓰기 비트를 활성화하면서 상기 제 2 링버퍼에 데이터를 기록하는 단계; 및
데이터 기록이 종료되면, 상기 제 1 링 버퍼의 쓰기 비트 및 상기 제 2링 버퍼의 쓰기 비트를 비활성화하는 단계를 더 포함하는 것을 특징으로 하는 방법.
The method according to claim 1,
Allocating memory in the form of a ring buffer and mapping the memory address of the allocated memory to the hard disk writing application when the hard disk writing application is invoked;
Writing data to the first ring buffer while turning on a write bit of the first ring buffer;
Activating a stop bit of the first ring buffer if there is no empty space in the first ring buffer;
Loading data of the first ring buffer into the hard disk when the stop bit of the first ring buffer is activated and deactivating the stop bit of the first ring buffer when the data load is terminated;
Writing data to the second ring buffer while activating a write bit of the second ring buffer when a write bit or a stop bit of the first ring buffer is activated; And
Further comprising the step of inactivating the write bit of the first ring buffer and the write bit of the second ring buffer when data writing is terminated.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020130020386A 2013-02-26 2013-02-26 Method and apparatus for controlling hard disk access KR101444397B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130020386A KR101444397B1 (en) 2013-02-26 2013-02-26 Method and apparatus for controlling hard disk access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130020386A KR101444397B1 (en) 2013-02-26 2013-02-26 Method and apparatus for controlling hard disk access

Publications (2)

Publication Number Publication Date
KR20140106177A KR20140106177A (en) 2014-09-03
KR101444397B1 true KR101444397B1 (en) 2014-09-26

Family

ID=51754708

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130020386A KR101444397B1 (en) 2013-02-26 2013-02-26 Method and apparatus for controlling hard disk access

Country Status (1)

Country Link
KR (1) KR101444397B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063578A (en) * 1996-08-23 1998-03-06 Olympus Optical Co Ltd Information recording and reproducing device
JPH11175281A (en) * 1997-12-15 1999-07-02 Hitachi Information Technology Co Ltd Print data buffer control system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063578A (en) * 1996-08-23 1998-03-06 Olympus Optical Co Ltd Information recording and reproducing device
JPH11175281A (en) * 1997-12-15 1999-07-02 Hitachi Information Technology Co Ltd Print data buffer control system

Also Published As

Publication number Publication date
KR20140106177A (en) 2014-09-03

Similar Documents

Publication Publication Date Title
KR102094393B1 (en) Nonvolatile memory system and operation method thereof
US8533386B1 (en) Modifying data stored in flash memory
US20130219111A1 (en) System and method for read-while-write with nand memory device
US7647470B2 (en) Memory device and controlling method for elongating the life of nonvolatile memory
EP3477461A1 (en) Devices and methods for data storage management
TWI730454B (en) Apparatus and method and computer program product for executing host input-output commands
US20210109673A1 (en) Memory controller and storage device including the same
JPWO2008018446A1 (en) MEMORY CONTROLLER, NONVOLATILE STORAGE DEVICE, ACCESS DEVICE, AND NONVOLATILE STORAGE SYSTEM
US9898413B2 (en) Auto-adaptive system to implement partial write buffering for storage systems dynamic caching method and system for data storage system
US20120246352A1 (en) Data processing systems for audio signals and methods of operating same
KR20170012675A (en) Computing system and data transferring method thereof
JP2010211618A (en) Semiconductor storage device
KR20100102283A (en) Flash memory apparatus and method of controlling the same
US20210096985A1 (en) Memory controller and storage device including the same
JP4988054B2 (en) Memory system
US10318418B2 (en) Data storage in a mobile device with embedded mass storage device
US10268606B2 (en) Method, device and system for switching access modes for data storage device
KR101444397B1 (en) Method and apparatus for controlling hard disk access
US20100211738A1 (en) Mass storage system with improved usage of buffer capacity
KR101214784B1 (en) Multi-channel record and playback apparatus for improving record and playback velocity
US20180189059A1 (en) Semiconductor device and method of operating same
US20220197549A1 (en) Memory controller and storage device including the same
JP2007293564A (en) Memory device and information storage system
JP2016009411A (en) Recording device
JP2013050880A (en) Memory control device and method therefor, data management device and method therefor, and program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180827

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190902

Year of fee payment: 6