KR20170130180A - Method and Apparatus for Processing Data Using Non-Volatile Memory - Google Patents
Method and Apparatus for Processing Data Using Non-Volatile Memory Download PDFInfo
- Publication number
- KR20170130180A KR20170130180A KR1020160060915A KR20160060915A KR20170130180A KR 20170130180 A KR20170130180 A KR 20170130180A KR 1020160060915 A KR1020160060915 A KR 1020160060915A KR 20160060915 A KR20160060915 A KR 20160060915A KR 20170130180 A KR20170130180 A KR 20170130180A
- Authority
- KR
- South Korea
- Prior art keywords
- file
- memory
- data
- metadata
- storage device
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
-
- G06F17/301—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1847—File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
-
- G06F17/3012—
-
- G06F17/30218—
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Abstract
Description
본 실시예는 비휘발성 메모리를 이용한 하이브리드 데이터처리 장치 및 방법에 관한 것이다.The present embodiment relates to an apparatus and method for processing hybrid data using a nonvolatile memory.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The contents described in this section merely provide background information on the present embodiment and do not constitute the prior art.
도 1은 기존의 데이터처리 장치가 데이터를 처리하기 위한 과정을 도시한 도면이다. 1 is a diagram illustrating a process of an existing data processing apparatus for processing data.
애플리케이션 실행부(110)는 파일 시스템(113)으로 데이터에 대한 오픈(Open) 요청을 한다(S120). 기존의 데이터처리 장치는 어떠한 데이터에 대해 쓰기(Write) 명령 또는 읽기(Read) 명령을 수행하기 위해서는 해당 데이터에 대한 오픈 요청을 하여, 해당 데이터의 메타 데이터(Meta Data)를 요청한다.The
파일 시스템(113)은 요청에 따라 해당 데이터의 메타 데이터의 검색을 요청한다(S125). 파일 시스템(113)은 애플리케이션 실행부(110)로부터 특정 데이터에 대한 오픈 요청을 수신하는 경우, 이를 해당 데이터의 메타 데이터의 검색의 요청으로 해석한다. 이에 따라, 파일 시스템(113)은 저장장치(116)로 해당 데이터의 메타 데이터의 검색을 요청한다.The
저장장치(116)는 해당 데이터의 메타 데이터의 검색 요청에 따라 메타 데이터를 검색하며, 메타 데이터의 검색완료 메시지를 전송한다(S130). 저장장치(116)는 파일 시스템(113)으로부터 해당 데이터의 메타 데이터의 검색 요청을 수신하는 경우, 해당 데이터의 메타 데이터를 검색한다. 해당 데이터의 메타 데이터의 검색 요청은 저장장치(116)를 관리하는 장치 드라이버(Device Driver, 미도시)를 거쳐 저장장치(116)까지 전달될 수 있다. 장치 드라이버는 해당 데이터의 메타 데이터의 검색 요청을 수신하는 경우, 저장장치(116)를 제어하여 저장장치 내에 저장된 데이터들의 메타데이터를 검색하도록 한다. 저장장치(116)가 해당 데이터의 메타 데이터의 검색을 완료한 경우, 파일 시스템(113)으로 해당 데이터의 메타 데이터의 검색완료 메시지를 전송한다.The
파일 시스템(113)은 데이터의 오픈 요청에 대한 결과를 전송한다(S135). The
애플리케이션 실행부(110)는 데이터에 대해 읽기 또는 쓰기 명령을 전송한다(S140). 데이터의 오픈 요청을 통해 액세스하려는 데이터의 메타 데이터가 파일 시스템(113) 내에 저장된 상황이므로, 애플리케이션 실행부(110)는 데이터에 대해 읽기 또는 쓰기 명령을 파일 시스템(113)으로 전송한다.The
파일 시스템(113)은 저장장치(116)로 메타 데이터의 업데이트 및 데이터에 대해 쓰기 또는 읽기를 요청한다(S145). 데이터에 대해 쓰기 또는 읽기를 수행하기 위해 저장장치(116)에 저장된 데이터에 접근이 발생하는 경우, 파일 시스템의 로그 또는 데이터의 액세스 타임(Access Time)과 같은 메타 데이터에 변경이 발생하게 된다. 따라서 파일 시스템(113)은 저장장치(116)로 데이터에 대해 쓰기 또는 읽기를 요청하며, 해당 데이터의 메타 데이터에 대해 업데이트를 함께 요청한다. 저장장치(116)는 데이터와 메타 데이터를 함께 저장하고 있기 때문에, 파일 시스템(113)은 저장장치(116)로 메타 데이터의 업데이트 및 데이터에 대해 쓰기 또는 읽기를 한꺼번에 요청한다.The
저장장치(116)는 데이터에 대해 쓰기 또는 읽기를 수행하며, 파일 시스템(113)으로 수행완료 메시지 및 읽은 데이터를 전달한다(S150). 저장장치(116)는 파일 시스템(113)으로부터 데이터에 대해 쓰기 또는 읽기 요청을 수신한 경우, 저장장치(116) 내에 저장된 데이터에 대해 쓰기 또는 읽기를 수행하고, 이를 알리는 수행완료 메시지를 파일 시스템(113)으로 전달한다. 또한 저장장치(116)는 파일 시스템으로부터 데이터에 대해 읽기 요청을 수신한 경우, 해당 데이터에 대해 읽기를 수행하며 읽은 데이터를 수행완료 메시지와 함께 파일 시스템(113)으로 전달한다.The
파일 시스템(113)은 데이터의 읽기 또는 쓰기 요청에 대한 결과를 전송한다(S155). The
애플리케이션 실행부(110)는 해당 데이터에 대해 클로우즈(Close) 요청을 한다. 애플리케이션 실행부(110)는 해당 데이터에 대해 읽기 또는 쓰기 수행이 완료된 상황이므로, 파일 시스템(113)으로 해당 데이터에 대한 접근이 완료되었음을 알리는 클로우즈 요청을 한다. 파일 시스템(113)은 클로우즈 요청을 수신하는 경우, 저장하고 있던 해당 데이터의 메타 데이터를 삭제(Free)한다.The
기존의 데이터처리 장치의 애플리케이션 수행부(110)는 사용자 모드(User Mode)에서 동작하며, 파일 시스템(113)과 저장장치(116)는 커널 모드(Kernal Mode)에서 동작한다. 이처럼, 애플리케이션 수행부(110)와 파일 시스템(113)과 저장장치(116)는 서로 상이한 모드에서 동작하고 있기 때문에, 서로에게 어떠한 요청을 하기 위해서는 컨텍스트 스위칭(Context Switching)이 이루어져야 한다. 예를 들어, 전술한 과정의 S120에서 애플리케이션 실행부(110)가 파일 시스템(113)으로 데이터에 대해 오픈 요청을 함에 있어서도 컨텍스트 스위칭이 이루어져야 하며, S135에서 파일 시스템(113)이 요청에 대한 결과를 전송함에 있어서도 컨텍스트 스위칭이 이루어져야 한다. 기존의 데이터처리 장치에서는 저장장치에 데이터와 메타데이터가 모두 저장되어 있어, 데이터의 읽기 또는 쓰기를 수행하기 위해 메타데이터에 접근하는 과정에서도 컨텍스트 스위칭이 이루어지게 된다. 이에 따라, 기존의 데이터처리 장치에서는 데이터의 읽기 또는 쓰기를 수행함에 있어서도, 수 회의 컨텍스트 스위칭이 이루어져야 하기 때문에, 컨텍스트 스위칭으로 인한 오버헤드가 발생할 수 있고, 모드의 변경에 따른 부가연산으로 연산의 지연(Latency)가 발생하는 문제점이 존재한다.The
본 실시예는, 데이터의 메타 데이터를 별도로 저장하는 비휘발성 메모리를 이용하여 데이터의 처리 속도를 향상시킨 데이터처리 장치 및 방법을 제공하는 데 일 목적이 있다.An object of the present embodiment is to provide a data processing apparatus and method that improves the data processing speed by using a nonvolatile memory that separately stores meta data of data.
본 실시예의 일 측면에 의하면, 파일 시스템 및 저장장치를 포함하는 데이터처리 장치에 있어서, 상기 저장장치 내 저장된 데이터의 메타 데이터(Meta Data)를 상기 저장장치와 분리하여 별도로 저장하는 비휘발성 메모리와 상기 비휘발성 메모리와 대응되어 있어 상기 비휘발성 메모리의 주소로 직접 접근가능한 메모리 및 상기 파일 시스템으로 전송할 기 설정된 함수에 포함된 파일의 식별자를 파악하고, 상기 메모리에서 상기 파일의 식별자에 대응하는 파일의 메타 데이터를 확인하며, 상기 파일의 메타 데이터를 상기 기 설정된 함수에 포함시켜 상기 파일 시스템으로 전송하는 애플리케이션 실행부를 포함하는 것을 특징으로 하는 데이터처리 장치를 제공한다.According to an aspect of the present invention, there is provided a data processing apparatus including a file system and a storage device, comprising: a nonvolatile memory for storing meta data of data stored in the storage device separately from the storage device; Volatile memory, a memory capable of directly accessing an address of the non-volatile memory, and an identifier of a file included in a predetermined function to be transmitted to the file system, and acquiring an identifier of a file corresponding to the identifier of the file in the memory And an application executor for confirming the data and including the metadata of the file in the predetermined function and transmitting the metadata to the file system.
또한, 본 실시예의 다른 측면에 의하면, 비휘발성 메모리, 메모리, 파일 시스템 및 저장장치를 포함하는 데이터처리 장치가 파일을 처리하는 방법에 있어서, 상기 파일 시스템으로 전송할 기 설정된 함수에 포함된 파일의 식별자를 파악하는 과정과 상기 메모리에서 상기 파일의 식별자에 대응하는 메타 데이터를 확인하는 과정과 상기 파일의 메타데이터가 존재하는 경우, 상기 파일의 메타 데이터를 상기 기 설정된 함수에 포함시켜 상기 파일 시스템으로 전송하는 과정을 포함하되, 상기 메모리는 상기 저장장치 내 저장된 데이터의 메타 데이터(Meta Data)를 상기 저장장치와 분리하여 별도로 저장하는 비휘발성 메모리의 주소로 직접 접근하여 상기 파일의 메타데이터의 존부를 파악하는 것을 특징으로 하는 파일처리 방법을 제공한다.According to another aspect of the present invention, there is provided a method of processing a file by a data processing apparatus including a nonvolatile memory, a memory, a file system, and a storage device, the method comprising: Checking metadata corresponding to an identifier of the file in the memory; and if metadata of the file exists, transmitting the metadata of the file to the file system by including the metadata in the predetermined function Wherein the memory directly accesses an address of a nonvolatile memory separately storing meta data of the data stored in the storage device from the storage device to identify whether or not the metadata of the file is present A file processing method, and a file processing method.
이상에서 설명한 바와 같이 본 실시예의 일 측면에 따르면, 본 발명의 일 실시예에 따른 데이터처리 장치 및 방법은 비휘발성 메모리를 구비하여 데이터의 메타 데이터를 별도로 저장하도록 데이터처리 장치의 구조를 변경함으로써, 시스템 콜의 사용 횟수를 줄여 컨텍스트 스위칭의 횟수를 줄일 수 있고, 이에 따라 메타 데이터에 대한 처리 속도를 월등히 향상시켜 전체적인 데이터의 처리 속도를 향상시킬 수 있는 장점이 있다.As described above, according to an aspect of the present invention, a data processing apparatus and method according to an embodiment of the present invention includes a nonvolatile memory, and changes the structure of a data processing apparatus to separately store meta data of data, It is possible to reduce the number of times of context switching by reducing the number of times of use of the system call, thereby improving the processing speed of the entire data by greatly improving the processing speed for the metadata.
도 1은 기존의 데이터처리 장치가 데이터를 처리하기 위한 과정을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 데이터처리 장치의 구성을 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 데이터처리 장치가 데이터를 처리하기 위한 과정을 도시한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 애플리케이션 실행부가 데이터를 처리하는 방법을 도시한 순서도이다.1 is a diagram illustrating a process of an existing data processing apparatus for processing data.
2 is a diagram showing a configuration of a data processing apparatus according to an embodiment of the present invention.
3 is a flowchart illustrating a process for processing data by a data processing apparatus according to an embodiment of the present invention.
4 is a flow chart illustrating a method for an application executor to process data according to an embodiment of the present invention.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to exemplary drawings. It should be noted that, in adding reference numerals to the constituent elements of the drawings, the same constituent elements are denoted by the same reference numerals even though they are shown in different drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In describing the components of the present invention, terms such as first, second, A, B, (a), and (b) may be used. These terms are intended to distinguish the constituent elements from other constituent elements, and the terms do not limit the nature, order or order of the constituent elements. Throughout the specification, when an element is referred to as being "comprising" or "comprising", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise . In addition, '... Quot ;, " module ", and " module " refer to a unit that processes at least one function or operation, and may be implemented by hardware or software or a combination of hardware and software.
도 2는 본 발명의 일 실시예에 따른 데이터처리 장치의 구성을 도시한 도면이다.2 is a diagram showing a configuration of a data processing apparatus according to an embodiment of the present invention.
도 2를 참조하면, 본 발명의 일 실시예에 따른 데이터처리 장치(200)는 애플리케이션 실행부(210), 파일 시스템(220), 저장장치(230), 메모리(240) 및 비휘발성 메모리(250)를 포함하여 구성된다.2, a
애플리케이션 실행부(210)는 데이터처리 장치(200)의 사용자가 실행하고자 하는 애플리케이션 또는 소프트웨어 등을 실행한다. 애플리케이션 실행부(210)는 애플리케이션 또는 소프트웨어 등을 실행하기 위해, 저장장치(230)에 저장된 데이터로의 접근을 해야 한다. 즉, 애플리케이션 실행부(210)는 애플리케이션 또는 소프트웨어 등의 실행을 위해 기 정의된 함수를 이용해 파일 시스템(220)을 거쳐 저장장치(230)에 저장된 데이터로 접근한다.The
파일 시스템(220)은 저장장치(230)에 데이터를 기록하고 사용하기 위한 구성이다. 파일 시스템(220)은 저장장치(230)에 데이터의 이름을 지정하고, 저장하고, 읽고, 검색하는 등 데이터를 기록하고 사용하는 모든 작업을 제어한다.The
저장장치(230)는 데이터처리 장치(200)에서 처리할 수 있는 데이터를 저장한다. 저장장치(230)는 HDD(Hard Disk Drive) 또는 SSD(Solid State Drive) 등으로 구현 가능하다. 다만, 저장장치(230)는 기존의 데이터처리 장치의 저장장치와는 달리, 데이터처리 장치(200)에서 처리할 수 있는 데이터만을 저장하며, 저장되어 있는 데이터의 메타 데이터(Meta Data)는 저장하지 않는다. The
메모리(240)는 애플리케이션 실행부(210)의 애플리케이션 실행에 있어, 실행과정 상에서 저장해야 할 일시적인 데이터를 저장한다. 메모리(240)는 애플리케이션 실행부(210)의 실행 과정 상에서 생성되는 일시적인 데이터를 저장하기 위한 고속의 메모리로서, 캐시메모리(Cache Memory) 등으로 구현될 수 있다.The
또한, 메모리(240)는 비휘발성 메모리(250)와 대응되어 있어, 비휘발성 메모리(250)의 주소로 직접 접근이 가능하다. 메모리(240)는 메모리 매핑(Memory Mapping) 등을 이용하여 비휘발성 메모리(250)와 직접 대응된다. 이처럼 메모리(240)는 비휘발성 메모리(250)와 직접 대응됨에 따라, 애플리케이션 실행부(210)는 메모리(240)로 접근하여 비휘발성 메모리(250) 내에 저장된 데이터로 접근할 수 있다. In addition, the
비휘발성 메모리(250)는 저장장치(230)에 저장된 데이터의 메타 데이터를 저장한다. 비휘발성 메모리(250)는 기존의 데이터처리 장치의 저장장치에서 데이터와 함께 저장하고 있던 데이터의 메타 데이터들을 저장장치(230)와 별도로 저장한다. 비휘발성 메모리(250)는 메타 데이터들을 저장하기 위한 구성으로 NVDIMM(Non-Volatile Dual In-Line Memory Module)으로 구현될 수 있으나, 반드시 이에 한정되는 것은 아니고 적은 양의 데이터를 빠르게 처리할 수 있는 비휘발성 메모리는 어떠한 것도 대체 가능하다.
본 발명의 일 실시예에 따른 데이터처리 장치(200)는 사용자 모드(User Mode, 260)와 커널 모드(Kernal Mode, 270)로 구분된다. 사용자 모드는 시스템 메모리와 CPU 인스트럭션으로의 접근에 일정한 제한이 존재하는 프로세스 실행 모드를 의미하며, 커널 모드는 모든 시스템 메모리와 모든 CPU 인스트럭션에 접근이 허가된 프로세스 실행 모드를 의미한다. 즉, 데이터처리 장치(200)는 사용자 모드보다 커널 모드에 높은 권한을 줌으로써, 오동작을 유발할 수 있는 어플리케이션 등이 데이터처리 장치(200) 전체의 안전성을 해치지 않도록 한다. The
사용자 모드에서 커널 모드로 특정 시스템 동작을 수행하도록 요청하기 위해서는 미리 정해진 인터페이스(Interface)를 이용해 커널 모드로 요청하여야 한다. 이러한 인터페이스를 시스템 콜(System Call)이라 한다. 애플리케이션 실행부(210)가 애플리케이션을 수행하며 시스템 콜을 함에 있어, 컨텍스트 스위칭(Context Switching)이 이루어진다. 사용자 모드에서 특정 시스템 동작의 수행 요청은 컨텍스트 스위칭이 이루어진 후, 커널 모드로 진입된다.In order to request a specific system operation from user mode to kernel mode, it should be requested in kernel mode using a predetermined interface. This interface is called a system call. Context switching is performed when the
본 발명의 일 실시예에 따른 데이터처리 장치(200)에 있어, 애플리케이션 실행부(210) 및 메모리(240)는 사용자 모드(260) 상에서 동작하며, 파일 시스템(220), 저장장치(230) 및 비휘발성 메모리(250)는 커널 모드(270) 상에서 동작한다. 따라서 애플리케이션 실행부(210)가 파일 시스템(220)으로 특정 시스템 동작의 수행을 요청하거나, 파일 시스템(220)이 애플리케이션 실행부(210)로 수행 요청에 따른 결과나 데이터를 전송함에 있어 컨텍스트 스위칭이 이루어진다. 그러나 동일한 사용자 모드 내에 위치하고 있는 애플리케이션 실행부(210)와 메모리(240) 상에서는 컨텍스트 스위칭이 이루어질 필요가 없다. 메모리(240)와 비휘발성 메모리(250)의 관계를 보면, 상호 간에 요청 또는 데이터의 송수신에도 컨텍스트 스위칭이 이루어져야 하는 것처럼 보인다. 그러나 비휘발성 메모리(250)가 메모리(240)에 메모리 매핑 등을 이용해 대응되어 있기 때문에, 별도의 컨텍스트 스위칭 없이도 메모리와 비휘발성 메모리 상호 간의 접근이 가능하다.The
도 3은 본 발명의 일 실시예에 따른 데이터처리 장치가 데이터를 처리하기 위한 과정을 도시한 흐름도이다.3 is a flowchart illustrating a process for processing data by a data processing apparatus according to an embodiment of the present invention.
애플리케이션 실행부(210)는 메모리(240)로 처리하고자 하는 파일의 식별자를 파악한다(S310). 애플리케이션 실행부(210)는 애플리케이션 또는 소프트웨어 등의 실행을 위해 기 정의된 함수를 이용하는데, 기 정의된 함수 내에 포함된 파일의 식별자를 파악한다. 예를 들어, 기 정의된 함수는 해당 파일에 대해 쓰기 명령을 처리하고자 하는 경우, Write_flash와 같은 함수를 사용할 수 있으며, 해당 파일에 대해 읽기 명령을 처리하고자 하는 경우, Read_flash와 같은 함수를 사용할 수 있다. 또한, 기 정의된 함수는 파일의 식별자를 함께 포함하는데, 이때, 파일의 식별자는 각각의 파일을 식별하기 위한 인자이다. 파일의 식별자는 OID(Object Identifier), 파일의 고유키 값(Unique Key) 또는 파일의 파일명(Filename)을 포함한다. 파일의 식별자 중 OID(Object Identifier) 또는 파일의 고유키 값(Unique Key)은 각각의 파일마다 고유한 값을 가지나, 파일의 파일명은 서로 다른 파일이라도 동일한 파일명을 가질 우려가 있다. 따라서 애플리케이션 실행부(210)는 파일의 식별자가 파일의 파일명인 경우, 파일명으로부터 파일의 고유 값을 생성한다. 예를 들어, 애플리케이션 실행부(210)는 해쉬(Hash)함수를 이용하여 해당 파일의 고유 값을 생성할 수 있다. The
애플리케이션 실행부(210)는 메모리(240)에서 파일의 식별자에 대응하는 파일의 메타 데이터를 확인한다(S320). 메타 데이터는 데이터의 크기, 저장 위치, 식별자, 접근의 허가여부, 수정된 시간 등 데이터의 속성을 나타내는 데이터이다. 메모리(240)는 비휘발성 메모리(250)와 메모리 매핑 등을 이용해 대응되어 있기 때문에, 별도의 컨텍스트 스위칭 없이도 비휘발성 메모리(250)의 주소로 직접 접근이 가능하다. 애플리케이션 실행부(210)는 파일의 메타 데이터를 확인하기 위해 비휘발성 메모리(250)로 접근할 필요 없이 메모리(240)로부터 확인 가능하다. 따라서 애플리케이션 실행부(210)는 메모리(240)에서 전술한 과정을 이용해 파악한 파일의 식별자에 대응하는 파일의 메타 데이터를 확인한다. 비휘발성 메모리(250) 내에 저장되어 있는 메타 데이터는 오름차순 또는 내림차순 등과 같이 일정한 기준에 대해 순차적으로 저장되어 있기 때문에, 애플리케이션 실행부(210)는 파일의 식별자에 대응하는 파일의 메타 데이터를 확인할 수 있다. 여러 번의 컨텍스트 스위칭 과정을 거치며 메타 데이터를 확인해야 했던 기존의 데이터처리 장치와는 달리, 애플리케이션 실행부(210)는 이와 같이 처리하고자 하는 파일의 메타 데이터를 메모리(240)로부터 간단히 확인할 수 있다. The
애플리케이션 실행부(210)는 해당 파일에 대해 읽기 또는 쓰기 명령을 파일 시스템(220)으로 요청한다(S330). 애플리케이션 실행부(210)는 파일 시스템(220)으로 기 정의된 함수를 이용하여 해당 파일에 대해 읽기 또는 쓰기 명령을 요청한다. 이때, 읽기 또는 쓰기 명령은 컨텍스트 스위칭되어 파일 시스템(220)으로 전달된다. 애플리케이션 실행부(210)는 읽기 또는 쓰기 명령을 요청함에 있어, 메모리(240)에서 확인한 메타 데이터를 읽기 또는 쓰기 명령에 포함시켜 요청한다. 특히, 애플리케이션 실행부(210)는 메타 데이터 중 데이터의 저장 위치에 관한 정보를 읽기 또는 쓰기 명령에 포함시켜 요청할 수 있다. 기존의 데이터처리 장치와 같이 메타 데이터 확인 과정을 거치며 파일 시스템에 메타 데이터를 저장해두는 과정을 거치지 않더라도, 읽기 또는 쓰기 명령에 메타 데이터를 포함시켜 요청하기 때문에 데이터에 대한 읽기 또는 쓰기 명령의 처리에 아무런 장애가 발생하지 않게 된다. The
애플리케이션 실행부(210)는 메모리(240)로 메타 데이터의 업데이트를 요청한다(S335). 애플리케이션 실행부(210)에 의해 읽기 또는 쓰기 명령이 요청된 파일은 데이터로의 접근 또는 데이터의 수정이 발생할 것이기 때문에, 애플리케이션 실행부(210)는 메모리(240)로 메타 데이터의 업데이트를 요청한다.The
메모리(240)는 애플리케이션 실행부(210)로부터 메타 데이터의 업데이트 요청을 수신한 경우, 해당 파일의 메타 데이터를 업데이트 한다(S340). 메모리(240)는 전술한 바와 같이 비휘발성 메모리(250)와 대응되어 있기 때문에, 용이하게 메타 데이터의 업데이트가 가능하다. The
파일 시스템(220)은 저장장치(230)로 해당 파일의 읽기 또는 쓰기의 수행을 요청한다(S350). 파일 시스템(220)은 저장장치(230)로 해당 파일의 읽기 또는 쓰기의 수행을 요청함에 있어, 함께 수신한 해당 파일의 메타 데이터를 함께 전달한다. 이와 같이, 메타 데이터를 함께 전달함으로써 저장장치(230)에서 해당 파일의 읽기 또는 쓰기의 수행이 가능해진다. 저장장치(116)는 파일 시스템(220)으로부터 해당 파일의 읽기 또는 쓰기의 수행 요청을 받은 경우, 저장장치(116) 내에 저장된 데이터에 대해 쓰기 또는 읽기를 수행한다. The
저장장치(230)는 해당 파일에 대해 쓰기 또는 읽기를 수행하며, 파일 시스템(220)으로 수행완료 메시지 및 읽은 데이터를 전달한다(S360). 저장장치(230)는 저장장치(230) 내에 저장된 해당 파일에 대해 쓰기 또는 읽기를 수행하고, 이를 알리는 수행완료 메시지를 파일 시스템(220)으로 전달한다. 또한 저장장치(230)는 파일 시스템(220)으로부터 데이터에 대해 읽기의 수행을 요청받은 경우, 해당 파일에 대해 읽기를 수행하며 읽은 데이터를 수행완료 메시지와 함께 파일 시스템(220)으로 전달한다.The
파일 시스템(220)은 파일의 읽기 또는 쓰기의 수행 요청에 대한 결과를 애플리케이션 실행부(210)로 전송한다(S370).The
종래의 데이터처리 장치는 메타 데이터를 저장장치에 저장해두며 특정 파일의 처리 시 해당 메타데이터를 파일 시스템 내에 저장해 두는 형태이다. 이 때문에, 종래의 데이터처리 장치 내의 애플리케이션 실행부는 특정 데이터의 읽기 또는 쓰기 명령에 따라 특정 데이터의 메타데이터를 요청하기 위해 파일 시스템으로 오픈 요청을 함에 있어, 모드가 상이한 구성 간에 이루어지기 때문에 시스템 콜이 사용되어야 하며 이에 따라 컨텍스트 스위칭 과정이 발생한다. 또한 데이터처리 장치 내의 저장장치에서 메타데이터의 검색이 완료되어 파일 시스템이 오픈 요청에 대한 결과를 전송함에 있어서도, 시스템 콜이 사용되어야 한다. 또한, 특정 데이터의 읽기 또는 쓰기 명령에 따른 처리 완료 시 클로우즈(Close) 요청을 하여 파일 시스템 내에 저장된 메타 데이터를 제거하는 과정이 필요하다. 이러한 과정 역시 시스템 콜이 사용되어야 한다. 이처럼 종래의 데이터처리 장치에 따르면, 특정 데이터의 읽기 또는 쓰기 명령을 처리함에 있어, 메타데이터를 검색하고 검색 완료사실을 알려주는 과정 및 특정 데이터의 읽기 또는 쓰기 명령에 따른 처리 완료 시 클로우즈(Close) 요청을 하는 과정에 있어서 시스템 콜이 사용되어야 하며 이에 따라 컨텍스트 스위칭 과정이 발생한다. 그러나 본 발명의 일 실시예에 따른 데이터처리 장치(200)는 메타 데이터를 파일 시스템(220)이 아닌 비휘발성 메모리(250)에 저장해두며 관리하고 메모리(240)와 비휘발성 메모리(250)가 대응되어 있기 때문에, 메타데이터의 검색과정에서 시스템 콜이 사용되지 않으며, 해당 파일의 처리가 완료되더라도 별도의 클로우즈 요청은 불필요하다. 따라서 종래의 데이터처리 장치에서 특정한 데이터의 읽기 또는 쓰기명령을 수행함에 있어, 오픈 요청, 읽기 또는 쓰기 명령 요청 및 클로우즈 요청 총 3 번의 시스템 콜이 사용되어야 하는 반면, 본 발명의 일 실시예에 따른 데이터처리 장치는 읽기 또는 쓰기의 수행 요청에서 한 번의 시스템 콜이 사용된다. 이에 따라 본 발명의 일 실시예에 따른 데이터처리 장치는 종래의 데이터처리 장치에 비해 사용되는 시스템 콜 수가 현저히 줄어들어 컨텍스트 스위칭 과정이 줄어들기 때문에 데이터의 처리에 있어 빠른 처리속도를 가질 수 있다.A conventional data processing apparatus stores metadata in a storage device and stores the metadata in a file system when processing a specific file. Therefore, the application executing unit in the conventional data processing apparatus makes an open request to the file system in order to request the metadata of the specific data according to the read or write command of the specific data. And thus a context switching process occurs. In addition, the system call must be used in the case where the retrieval of the metadata in the storage device in the data processing apparatus is completed and the file system transmits the result of the open request. In addition, a process of removing metadata stored in the file system by performing a close request upon completion of processing according to a read or write command of specific data is required. This process also requires system calls to be used. According to the conventional data processing apparatus, when a specific data read or write command is processed, a process of searching for metadata and notifying of completion of the search, and a process of closing / In the requesting process, the system call must be used and context switching occurs accordingly. However, the
데이터처리 장치의 애플리케이션의 실행부(210)는 데이터처리 장치의 사용자의 요청에 따라 파일의 읽기 또는 쓰기를 수행할 경우도 있으나, 단순히 파일의 메타 데이터의 확인만이 필요한 경우도 존재할 수 있다. 예를 들어, 애플리케이션 실행부(210)가 Stat 함수(특정 데이터의 메타 데이터 정보를 확인하기 위한 함수) 또는 readdir 함수(디렉토리에서 파일이나 하위 디렉토리를 찾기 위한 함수) 등을 이용하여 메타 데이터의 확인만을 수행할 수 있다. 이러한 경우, 종래의 데이터처리 장치는 전술한 바와 같이 오픈 요청 및 오픈 요청에 따른 결과를 수신하는데 시스템 콜이 사용되어야 하며 이에 따라 컨텍스트 스위칭이 발생한다. 그러나 본 발명의 일 실시예에 따른 데이터처리 장치는 전술한 S310 내지 S330 과정을 거치면 메타 데이터를 확인할 수 있다. 전술한 S310 내지 S330 과정에서는 시스템 콜이 사용될 필요가 없어 컨텍스트 스위칭이 발생하지 않는다. 이에 따라 본 발명의 일 실시예에 따른 데이터처리 장치는 메타 데이터의 확인만을 수행하는 경우, 종래의 데이터처리 장치에 비해 현저히 빠른 처리속도를 가질 수 있다.The
도 4는 본 발명의 일 실시예에 따른 애플리케이션 실행부가 데이터를 처리하는 방법을 도시한 순서도이다.4 is a flow chart illustrating a method for an application executor to process data according to an embodiment of the present invention.
실행하고자 하는 함수 내에 포함된 파일의 식별자를 확인한다(S410). 애플리케이션 실행부(210)는 애플리케이션 또는 소프트웨어 등의 실행을 위해 기 정의된 함수를 이용하는데, 기 정의된 함수 내에 포함된 파일의 식별자를 파악한다.The identifier of the file included in the function to be executed is confirmed (S410). The
파일의 식별자가 파일명인지 여부를 확인한다(S420). 파일의 식별자는 각각의 파일을 식별하기 위한 인자로서, OID(Object Identifier), 파일의 고유키 값(Unique Key) 또는 파일의 파일명(Filename) 등을 포함한다. It is checked whether the file identifier is a file name (S420). The identifier of the file is an argument for identifying each file, and includes an OID (Object Identifier), a unique key value of the file (Unique Key), or a file name (Filename) of the file.
파일의 식별자가 파일명인 경우, 파일명으로부터 고유값을 생성한다(S430). 파일의 식별자 중 OID(Object Identifier) 또는 파일의 고유키 값(Unique Key)은 각각의 파일마다 고유한 값을 가지나, 파일의 파일명은 서로 다른 파일이라도 동일한 파일명을 가질 우려가 있다. 따라서 애플리케이션 실행부(210)는 파일의 식별자가 파일명인 경우, 파일명으로부터 파일의 고유값을 생성한다. 예를 들어, 애플리케이션 실행부(210)는 해쉬(Hash)함수를 이용하여 해당 파일의 고유 값을 생성할 수 있다.If the file identifier is a file name, a unique value is generated from the file name (S430). An OID (Object Identifier) or a unique key value (Unique Key) of an identifier of a file has a value unique to each file, but a file name of a file may have the same file name. Therefore, when the file identifier is a file name, the
메모리에서 파일의 식별자에 대응하는 메타 데이터를 확인한다(S440). 파일의 식별자가 파일명이 아니거나 고유값이 생성된 경우, 메모리에서 해당 파일의 식별자에 대응하는 메타 데이터를 확인한다. 도 2를 참조하여 전술한 바와 같이, 애플리케이션 실행부(210)는 메모리(240)와 비휘발성 메모리(250)가 대응되어 있어 컨텍스트 스위칭 없이도 간편하게 메모리(240)에서 파일의 메타 데이터를 확인할 수 있다. The metadata corresponding to the identifier of the file is checked in the memory (S440). If the file identifier is not a filename or a unique value is generated, the metadata corresponding to the identifier of the file is confirmed in the memory. As described above with reference to FIG. 2, since the
메타 데이터가 존재하는지 여부를 확인한다(S450). 애플리케이션 실행부(210)는 메모리에서 파일의 식별자에 대응하는 메타 데이터가 존재하는지 여부를 확인한다. It is checked whether metadata exists (S450). The
해당 파일의 메타 데이터가 존재하는 경우, 메타 데이터를 포함한 읽기 또는 쓰기 명령을 요청한다(S460). 메모리(240)에서 파일의 식별자에 대응하는 메타 데이터의 존재를 확인한 경우, 애플리케이션 실행부(210)는 해당 메타 데이터를 읽기 또는 쓰기 명령에 포함시켜 요청한다. 특히, 애플리케이션 실행부(210)는 메타 데이터 중 데이터의 저장 위치에 관한 정보를 읽기 또는 쓰기 명령에 포함시켜 요청할 수 있다. 기존의 데이터처리 장치와 같이 메타 데이터 확인 과정을 거치며 파일 시스템에 메타 데이터를 저장해두는 과정을 거치지 않더라도, 읽기 또는 쓰기 명령에 메타 데이터를 포함시켜 요청하기 때문에 데이터에 대한 읽기 또는 쓰기 명령의 처리에 아무런 장애가 발생하지 않게 된다.If metadata of the corresponding file exists, a read or write command including metadata is requested (S460). When the presence of the metadata corresponding to the identifier of the file is confirmed in the
도 3 및 도 4에서는 각각의 과정을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것이다. 다시 말해, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 각각의 도면에 기재된 과정의 순서를 변경하여 실행하거나 과정 중 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 3 및 도 4는 시계열적인 순서로 한정되는 것은 아니다.In FIGS. 3 and 4, it is described that each process is sequentially executed, but this is merely illustrative of the technical idea of an embodiment of the present invention. In other words, those skilled in the art will appreciate that various changes and modifications may be made without departing from the essential characteristics of one embodiment of the present invention, And FIG. 4 are not limited to the time-series order because they can be variously modified and modified by being executed in parallel.
한편, 도 3 및 도 4에 도시된 과정들은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 즉, 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.3 and 4 may be embodied as computer-readable codes on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. That is, a computer-readable recording medium includes a magnetic storage medium (e.g., ROM, floppy disk, hard disk, etc.), an optical reading medium (e.g., CD ROM, And the like). The computer-readable recording medium may also be distributed over a networked computer system so that computer readable code can be stored and executed in a distributed manner.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present embodiment, and various modifications and changes may be made to those skilled in the art without departing from the essential characteristics of the embodiments. Therefore, the present embodiments are to be construed as illustrative rather than restrictive, and the scope of the technical idea of the present embodiment is not limited by these embodiments. The scope of protection of the present embodiment should be construed according to the following claims, and all technical ideas within the scope of equivalents thereof should be construed as being included in the scope of the present invention.
110, 210: 애플리케이션 실행부
113, 220: 파일 시스템
116, 230: 저장장치
200: 데이터처리 장치
240: 메모리
250: 비휘발성 메모리110, 210:
116 and 230: storage device 200: data processing device
240: memory 250: nonvolatile memory
Claims (8)
상기 저장장치 내 저장된 데이터의 메타 데이터(Meta Data)를 상기 저장장치와 분리하여 별도로 저장하는 비휘발성 메모리;
상기 비휘발성 메모리와 대응되어 있어 상기 비휘발성 메모리의 주소로 직접 접근가능한 메모리; 및
상기 파일 시스템으로 전송할 기 설정된 함수에 포함된 파일의 식별자를 파악하고, 상기 메모리에서 상기 파일의 식별자에 대응하는 파일의 메타 데이터를 확인하며, 상기 파일의 메타 데이터를 상기 기 설정된 함수에 포함시켜 상기 파일 시스템으로 전송하는 애플리케이션 실행부
를 포함하는 것을 특징으로 하는 데이터처리 장치.A data processing apparatus comprising a file system and a storage device,
A nonvolatile memory for storing meta data of data stored in the storage device separately from the storage device;
A memory corresponding to the nonvolatile memory and directly accessible to an address of the nonvolatile memory; And
Determining an identifier of a file included in a predetermined function to be transmitted to the file system, checking metadata of a file corresponding to the identifier of the file in the memory, and storing metadata of the file in the predetermined function, An application execution unit
The data processing apparatus comprising:
상기 메모리는,
메모리 매핑(memory Mapping)과정을 거쳐 상기 비휘발성 메모리와 대응되는 것을 특징으로 하는 데이터처리 장치.The method according to claim 1,
The memory comprising:
Volatile memory through a memory mapping process. ≪ Desc / Clms Page number 19 >
상기 파일의 식별자는,
파일명, 고유키 값(unique Key) 또는 OID(Object Identifier) 중 어느 하나인 것을 특징으로 하는 데이터처리 장치.The method according to claim 1,
The identifier of the file is,
A file name, a unique key value, or an OID (Object Identifier).
상기 애플리케이션 실행부는,
상기 파일의 식별자가 상기 파일명인 경우, 상기 파일명으로부터 상기 파일의 고유값을 생성하는 것을 특징으로 하는 데이터처리 장치.The method of claim 3,
The application execution unit,
And generates an eigenvalue of the file from the file name if the identifier of the file is the file name.
상기 애플리케이션 실행부는,
상기 파일명으로부터 상기 파일의 고유값을 생성함에 있어, 해쉬(Hash) 함수를 사용하는 것을 특징으로 하는 데이터처리 장치.5. The method of claim 4,
The application execution unit,
Wherein a hash function is used to generate the eigenvalue of the file from the file name.
상기 애플리케이션 실행부는,
상기 기 설정된 함수를 상기 파일 시스템으로 전송하며, 상기 메모리로 상기 메모리가 전송한 메타데이터의 업데이트를 요청하는 것을 특징으로 하는 데이터처리 장치.The method according to claim 1,
The application execution unit,
Transmits the predetermined function to the file system, and requests the memory to update the metadata transmitted from the memory.
상기 애플리케이션 실행부는,
상기 기 설정된 함수에 상기 파일이 상기 저장장치 중 어느 위치에 저장되어 있는지에 관한 정보를 포함시켜 상기 파일 시스템으로 전송하는 것을 특징으로 하는 데이터처리 장치.The method according to claim 1,
The application execution unit,
Wherein the predetermined function includes information on which of the storage devices the file is stored, and transmits the file to the file system.
상기 파일 시스템으로 전송할 기 설정된 함수에 포함된 파일의 식별자를 파악하는 과정;
상기 메모리에서 상기 파일의 식별자에 대응하는 메타 데이터를 확인하는 과정;
상기 파일의 메타데이터가 존재하는 경우, 상기 파일의 메타 데이터를 상기 기 설정된 함수에 포함시켜 상기 파일 시스템으로 전송하는 과정을 포함하되,
상기 메모리는 상기 저장장치 내 저장된 데이터의 메타 데이터(Meta Data)를 상기 저장장치와 분리하여 별도로 저장하는 비휘발성 메모리의 주소로 직접 접근하여 상기 파일의 메타데이터의 존부를 파악하는 것을 특징으로 하는 파일처리 방법.CLAIMS What is claimed is: 1. A method for processing a file by a data processing apparatus comprising a non-volatile memory, a memory, a file system and a storage device,
Determining an identifier of a file included in a predetermined function to be transmitted to the file system;
Checking metadata corresponding to an identifier of the file in the memory;
If the metadata of the file exists, including metadata of the file in the predetermined function and transmitting the meta data to the file system,
Wherein the memory directly accesses an address of a nonvolatile memory separately storing meta data of the data stored in the storage device to identify the presence or absence of metadata of the file. Processing method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160060915A KR102134905B1 (en) | 2016-05-18 | 2016-05-18 | Method and Apparatus for Processing Data Using Non-Volatile Memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160060915A KR102134905B1 (en) | 2016-05-18 | 2016-05-18 | Method and Apparatus for Processing Data Using Non-Volatile Memory |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170130180A true KR20170130180A (en) | 2017-11-28 |
KR102134905B1 KR102134905B1 (en) | 2020-08-26 |
Family
ID=60811361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160060915A KR102134905B1 (en) | 2016-05-18 | 2016-05-18 | Method and Apparatus for Processing Data Using Non-Volatile Memory |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102134905B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113467698A (en) * | 2020-03-30 | 2021-10-01 | 珠海全志科技股份有限公司 | Writing method and device based on file system, computer equipment and storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070037022A (en) * | 2005-09-30 | 2007-04-04 | 삼성전자주식회사 | Flash memory device, mapping apparatus and method for the same |
JP2009025899A (en) * | 2007-07-17 | 2009-02-05 | Panasonic Corp | Memory controller, nonvolatile storage, and nonvolatile storage system |
KR20100055374A (en) * | 2010-04-19 | 2010-05-26 | 한양대학교 산학협력단 | File management system and method |
JP2016024678A (en) * | 2014-07-22 | 2016-02-08 | 株式会社東芝 | Memory system |
-
2016
- 2016-05-18 KR KR1020160060915A patent/KR102134905B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070037022A (en) * | 2005-09-30 | 2007-04-04 | 삼성전자주식회사 | Flash memory device, mapping apparatus and method for the same |
KR100801072B1 (en) * | 2005-09-30 | 2008-02-11 | 삼성전자주식회사 | Flash memory device, mapping apparatus and method for the same |
JP2009025899A (en) * | 2007-07-17 | 2009-02-05 | Panasonic Corp | Memory controller, nonvolatile storage, and nonvolatile storage system |
KR20100055374A (en) * | 2010-04-19 | 2010-05-26 | 한양대학교 산학협력단 | File management system and method |
JP2016024678A (en) * | 2014-07-22 | 2016-02-08 | 株式会社東芝 | Memory system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113467698A (en) * | 2020-03-30 | 2021-10-01 | 珠海全志科技股份有限公司 | Writing method and device based on file system, computer equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
KR102134905B1 (en) | 2020-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9563636B2 (en) | Allowing writes to complete without obtaining a write lock to a file | |
US9817765B2 (en) | Dynamic hierarchical memory cache awareness within a storage system | |
US9996421B2 (en) | Data storage method, data storage apparatus, and storage device | |
WO2015166540A1 (en) | Storage apparatus, data-processing method therefor, and storage system | |
US20170038971A1 (en) | Memory controller and memory system | |
US9710283B2 (en) | System and method for pre-storing small data files into a page-cache and performing reading and writing to the page cache during booting | |
JP2013511104A (en) | Virtual hard drive management as a blob | |
US10241934B2 (en) | Shared memory controller, shared memory module, and memory sharing system | |
US20180364915A1 (en) | Method and system for distributed storage using client-side global persistent cache | |
US20170329852A1 (en) | Page query method and data processing node in oltp cluster database | |
US10719240B2 (en) | Method and device for managing a storage system having a multi-layer storage structure | |
US9195658B2 (en) | Managing direct attached cache and remote shared cache | |
US11550913B2 (en) | System and method for performing an antivirus scan using file level deduplication | |
US11003577B2 (en) | Information processing apparatus, information processing method, and non-transitory computer-readable storage medium for storing program of access control with respect to semiconductor device memory | |
US11520818B2 (en) | Method, apparatus and computer program product for managing metadata of storage object | |
US10430287B2 (en) | Computer | |
KR102134905B1 (en) | Method and Apparatus for Processing Data Using Non-Volatile Memory | |
US9323476B2 (en) | Hardware based cache scan with divert node handling | |
CN111625477B (en) | Processing method and device for read request for accessing erase block | |
KR102237566B1 (en) | System and Method for Caching Disk Image File of Full-Cloned Virtual Machine | |
US20160062841A1 (en) | Database and data accessing method thereof | |
US10599617B2 (en) | Methods and apparatus to modify a binary file for scalable dependency loading on distributed computing systems | |
US7206906B1 (en) | Physical address mapping framework | |
US10445289B1 (en) | Method and apparatus for automatic cleanup of disfavored content | |
CN112748854B (en) | Optimized access to a fast storage device |
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 |