KR20190115303A - Storage device that performs machine learning and method thereof - Google Patents

Storage device that performs machine learning and method thereof Download PDF

Info

Publication number
KR20190115303A
KR20190115303A KR1020180038171A KR20180038171A KR20190115303A KR 20190115303 A KR20190115303 A KR 20190115303A KR 1020180038171 A KR1020180038171 A KR 1020180038171A KR 20180038171 A KR20180038171 A KR 20180038171A KR 20190115303 A KR20190115303 A KR 20190115303A
Authority
KR
South Korea
Prior art keywords
input data
data
machine learning
storage
type
Prior art date
Application number
KR1020180038171A
Other languages
Korean (ko)
Other versions
KR102205518B1 (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 KR1020180038171A priority Critical patent/KR102205518B1/en
Publication of KR20190115303A publication Critical patent/KR20190115303A/en
Application granted granted Critical
Publication of KR102205518B1 publication Critical patent/KR102205518B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Abstract

Disclosed is a machine learning method of a storage device. According to one embodiment of the present invention, the machine learning method of a storage device comprises the steps of: receiving input data, which is data corresponding to a storage file to be stored from a host device; classifying type of the input data using header information, which is information included in part corresponding to a header of the storage file among the input data; and selectively learning a predetermined machine learning model based on the input data and the type of the input data.

Description

기계학습을 수행하는 저장 장치 및 그 장치의 기계학습 방법{STORAGE DEVICE THAT PERFORMS MACHINE LEARNING AND METHOD THEREOF}Storage device that performs machine learning and machine learning method of the device {STORAGE DEVICE THAT PERFORMS MACHINE LEARNING AND METHOD THEREOF}

본 발명은 기계학습을 수행하는 저장 장치 및 그 장치의 기계학습 방법에 관한 것으로, 더욱 상세하게는 저장 장치의 내부에 데이터를 저장함과 동시에 기계학습을 수행하는 방법 및 그 방법이 적용된 저장 장치에 관한 것이다.The present invention relates to a storage device for performing machine learning and a machine learning method of the device, and more particularly, to a method for performing machine learning while storing data in a storage device and a storage device to which the method is applied. will be.

인공지능은 기계학습을 이용하여 생성(훈련)되거나 활용(추론 혹은 예측)될 수 있다. 특히, 기계학습을 이용하는 인공지능의 경우, 훈련 과정은 연산장치를 이용하여 데이터 인식, 분류와 같은 동작의 판단 기준으로 사용되는 인공의 지능을 형성하는 과정이다. 그 훈련의 결과로, 입력 데이터의 인식, 분류의 판단 기준이 생성된다. 이때, 그 생성된 판단 기준은 기계학습모델(machine learning model)이라고 한다. 또한, 추론 단계는 훈련의 결과로 생성된 판단 기준을 이용하여 입력 데이터를 분류/분별/인식하는 과정이다. 즉, 추론의 결과로는 입력 데이터에 대한 인식 및 분별 결과를 얻을 수 있다.AI can be created (trained) or utilized (inferred or predicted) using machine learning. In particular, in the case of artificial intelligence using machine learning, a training process is a process of forming artificial intelligence that is used as a criterion for determining operations such as data recognition and classification using a computing device. As a result of the training, judgment criteria for recognition and classification of input data are generated. In this case, the generated criterion is called a machine learning model. In addition, the inference step is a process of classifying / classifying / recognizing input data using the criterion generated as a result of training. That is, as a result of the inference, the recognition and classification of the input data can be obtained.

인공지능 생성 혹은 활용을 위한 기계학습 시스템은 훈련을 목적으로 구성된 시스템과 추론을 목적으로 구성된 시스템, 훈련과 추론을 모두 수행하기 위한 시스템이 있다. 훈련 단계는 높은 분별 및 인식 정확도를 보이는 기계학습 모델을 만드는 것이 목적이므로, 훈련 단계를 위한 시스템은 입력에 사용할 방대한 크기의 데이터를 저장할 수 있는 데이터 저장소와 많은 양의 연산을 처리하기 위한 연산기로 이루어져있는 것이 보통이다. 한편 추론 단계는 분별 및 인식 결과의 빠른 도출이 목적이므로, 추론 단계를 위한 시스템은 병렬적으로 다중 연산을 처리할 수 있는 연산기를 이용하여 짧은 응답시간을 보장하도록 하는 것이 보통이다. 이와 같은 시스템 구축 시, 훈련 단계를 위한 시스템은 방대한 크기의 데이터를 저장하고 처리하는 것이 목표이므로 시스템의 규모도 커지는 것이 일반적이다. 따라서 기계학습 시스템은 그 용도와 규모를 고려하여 훈련 과정에 특화된 시스템 혹은 추론 과정에 특화된 시스템으로 구분하여 구축하는 것이 보통이지만, 필요에 따라 큰 크기의 데이터 저장소와 고성능 병렬 컴퓨팅이 가능한 연산기를 포함하는 시스템과 같이 훈련 과정과 추론 과정을 모두 빠르게 처리하기 위한 통합 시스템을 구축하는 것도 가능하다. 이와 같은 시스템은 처리 성능을 높이기 위해 한 개 이상의 연산기 혹은 기계학습 시스템을 병렬로 연결하여 구성하는 것이 가능하다.The machine learning system for creating or utilizing AI has a system configured for training, a system configured for inference, and a system for performing both training and inference. Since the training phase aims to create machine learning models with high discernment and recognition accuracy, the system for the training phase consists of a data store capable of storing huge amounts of data for input and an operator to handle large amounts of computation. It is normal to have one. On the other hand, since the reasoning step is for the quick derivation of the classification and recognition results, it is common for the system for the inference step to guarantee a short response time by using an operator that can process multiple operations in parallel. In constructing such a system, the system for the training phase aims to store and process a large amount of data, and thus the system is generally large. Therefore, the machine learning system is generally divided into a system specialized for training process or a reasoning process in consideration of its purpose and size, but includes a large data storage and a computing device capable of high performance parallel computing as needed. Like the system, it is also possible to build an integrated system to quickly process both training and reasoning processes. Such a system can be configured by connecting more than one calculator or machine learning system in parallel to increase processing performance.

일반적으로, 기계학습을 목적으로 하는 시스템의 입력 데이터는 기계학습 연산 전에 저장 장치 내의 스토리지에 저장되어있는 상태이어야 하며, 기계학습 계산을 수행하기 위한 장치는 스토리지에 저장되어있는 데이터를 읽음으로써 입력 데이터를 얻는다. 새로 얻어지는 데이터에 대하여 훈련 혹은 추론을 수행해야 하는 경우 훈련 혹은 추론 수행 전에 입력 데이터를 저장 장치에 저장하고 이를 불러오는 과정을 필수적으로 거친다. 예로 영상 데이터를 이용하여 기계학습을 수행할 경우에는 압축되어 저장된 영상 데이터를 기계학습을 수행하고자 하는 시점에 연산기의 저장 장치로 불러오고, 불러온 영상 데이터에 대하여 영상을 디코딩하여 영상을 재생 가능한 형태로 복원함으로써 기계학습이 가능하도록 한다.In general, the input data of a system for machine learning purposes must be stored in storage in a storage device prior to the machine learning operation, and the device for performing machine learning calculations can read the input data by reading the data stored in the storage. Get If training or inference is to be performed on newly obtained data, the process of storing and loading the input data in a storage device is essential before training or inference is performed. For example, in the case of performing the machine learning using the image data, the compressed and stored image data is loaded into the storage device of the calculator when the machine learning is to be performed, and the image can be decoded and the image is reproduced. The machine learning is possible by restoring to.

그러나, 종래의 저장장치를 데이터 저장소로 사용하는 기계학습 시스템의 경우, 기계학습은 1) 입력으로 사용할 파일을 저장 장치에 저장, 2) 저장 장치에서 연산기의 메모리로 파일 데이터 이동, 3) 메모리의 데이터를 사용하여 연산기에서 기계학습 연산의 순으로 수행된다. 저장 장치에서 연산기로의 데이터 이동 과정에서 데이터는 연산기와 저장장치 사이의 시스템 버스(데이터 버스)를 통하여 저장 장치의 스토리지에서 연산기의 메모리로 적재된다. 일반적으로 기계학습의 입력에 사용되는 파일의 크기는 연산기 메모리의 크기보다 크므로, 기계학습 수행 과정에서 연산기와 저장 장치 사이의 시스템 버스를 통한 파일 데이터의 전송과 연산기 메모리의 데이터를 이용한 기계학습 연산은 여러 차례 일어날 수 있다. 전체 기계학습 수행 시간 중 스토리지 접근 시간(읽기/쓰기)이 적지 않은 비율을 차지함을 고려하였을 때, 저장 장치와 연산기 사이의 잦은 데이터 이동은 총 기계학습 수행 시간의 증가를 야기할 수 있다. 또한, 기계학습을 위한 연산기는 다수의 병렬 연산을 수행하기 위한 연산유닛, 데이터 전송폭이 넓은 시스템 버스, 데이터 저장 공간이 큰 메모리 등을 사용하는 것이 일반적이다. 이렇게 구성된 연산기는 동작에 많은 양의 전력이 필요하며, 저장 장치로의 잦은 접근은 기계학습을 위한 시스템 동작에 필요한 전력의 양을 늘릴 수 있다.However, in the case of a machine learning system using a conventional storage device as a data store, the machine learning method includes 1) storing a file to be used as an input in a storage device, 2) moving file data from a storage device to a memory of an operator, and 3) The data is used to perform machine learning operations in the calculator. In the process of moving data from the storage device to the calculator, data is loaded from the storage of the storage device to the memory of the calculator via a system bus (data bus) between the calculator and the storage device. In general, the size of a file used for input of machine learning is larger than that of operator memory. Therefore, the transfer of file data through the system bus between the operator and the storage device and the machine learning operation using the data of the operator memory during machine learning are performed. Can happen multiple times. Considering that the storage access time (read / write) accounts for a small percentage of the total machine learning time, frequent data movement between the storage device and the calculator can increase the total machine learning time. In addition, the calculator for machine learning generally uses a calculation unit for performing a plurality of parallel operations, a system bus having a wide data transfer rate, a memory having a large data storage space, and the like. This type of calculator requires a large amount of power to operate, and frequent access to storage devices can increase the amount of power required to operate the system for machine learning.

따라서, 데이터 저장을 처리하는 시점에 그 저장되는 데이터에 대한 기계학습을 동시에 수행함으로써, 기계학습에 필요한 수행 시간의 증가를 최소화하고, 전력 소모를 줄일 수 있는 기계학습을 수행하는 저장 장치 및 그 장치의 기계학습 방법에 관한 필요성이 대두되고 있다.Therefore, the storage device and the device for performing the machine learning to minimize the increase in the execution time required for the machine learning, and to reduce the power consumption by simultaneously performing the machine learning on the stored data at the time of processing the data storage There is a need for a machine learning method.

관련 선행기술로는 대한민국 공개특허공보 제10-2010-0062801호(발명의 명칭: 기계 학습을 이용한 학습 데이터 검증 장치 및 방법, 공개일자: 2010년 6월 10일)가 있다.Related prior art is Korean Patent Publication No. 10-2010-0062801 (name of the invention: apparatus and method for verifying learning data using machine learning, publication date: June 10, 2010).

본 발명은 저장 장치가 데이터 저장을 처리하면서, 그 저장되는 데이터에 대한 기계학습을 함께 수행함으로써, 기계학습에 필요한 수행 시간의 증가를 최소화하고, 전력 소모를 줄일 수 있는 방법 및 그 방법의 저장 장치를 제공하고자 한다.The present invention provides a method and a storage device of the method for minimizing an increase in execution time required for machine learning and reducing power consumption by performing a machine learning on the stored data while the storage device processes data storage. To provide.

본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The problem to be solved by the present invention is not limited to the problem (s) mentioned above, and other object (s) not mentioned will be clearly understood by those skilled in the art from the following description.

상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 저장 장치의 기계학습 수행 방법은 호스트 장치로부터 저장하려는 파일인 저장파일에 대응되는 데이터인 입력데이터를 수신하는 단계; 상기 입력데이터 중 상기 저장파일의 헤더에 대응되는 부분에 포함된 정보인 헤더정보를 이용하여 상기 입력데이터의 유형을 분류하는 단계; 및 상기 입력데이터 및 상기 입력데이터의 유형에 기초하여, 선택적으로 소정의 기계학습모델을 학습시키는 단계를 포함한다.According to an aspect of the present invention, there is provided a method of performing a machine learning of a storage device, the method including: receiving input data corresponding to a storage file, which is a file to be stored, from a host device; Classifying the type of the input data by using header information which is information included in a portion of the input data corresponding to the header of the storage file; And optionally learning a predetermined machine learning model based on the input data and the type of the input data.

바람직하게는, 상기 기계학습모델을 학습시키는 단계는 상기 입력데이터의 유형에 따라, 상기 기계학습모델의 종류 및 학습 수행 여부를 결정할 수 있다.Preferably, the learning of the machine learning model may determine the type of the machine learning model and whether to perform the learning according to the type of the input data.

바람직하게는, 상기 기계학습모델을 학습시키는 단계는 상기 입력데이터의 유형이 미리 결정된 복수의 유형 중 하나이면, 상기 헤더정보를 이용하여 상기 입력데이터를 디코딩한 데이터인 복원데이터를 생성하는 단계; 및 상기 생성된 복원데이터를 이용하여 상기 입력데이터의 유형에 대응되는 상기 기계학습모델을 학습시키는 단계를 포함할 수 있다.Preferably, the learning of the machine learning model may include: generating reconstructed data which is data obtained by decoding the input data using the header information if the type of the input data is one of a plurality of predetermined types; And learning the machine learning model corresponding to the type of the input data by using the generated reconstruction data.

바람직하게는, 상기 수신된 입력데이터는 DMA(direct memory access) 방식을 이용하여 소정의 데이터 저장 공간에 저장될 수 있다.Preferably, the received input data may be stored in a predetermined data storage space by using a direct memory access (DMA) scheme.

또한, 상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 저장 장치의 데이터 추론 방법은 호스트 장치로부터 저장하려는 파일인 저장파일에 대응되는 데이터인 입력데이터를 수신하는 단계; 상기 입력데이터 중 상기 저장파일의 헤더에 대응되는 부분에 포함된 정보인 헤더정보를 이용하여 상기 입력데이터의 유형을 분류하는 단계; 상기 입력데이터의 유형에 대응되는 기계학습모델을 이용하여 상기 입력데이터를 추론하는 단계; 및 상기 입력데이터에 대응되는 추론 결과를 소정의 데이터 저장 공간에 저장하는 단계를 포함한다.In addition, the data inference method of the storage device according to an embodiment of the present invention for solving the above problems comprises the steps of receiving input data that is data corresponding to the storage file, which is a file to be stored from the host device; Classifying the type of the input data by using header information which is information included in a portion of the input data corresponding to the header of the storage file; Inferring the input data using a machine learning model corresponding to the type of the input data; And storing the inference result corresponding to the input data in a predetermined data storage space.

바람직하게는, 상기 입력데이터는 데이터 저장을 위한 제1 데이터 저장 공간에 저장되고, 상기 데이터 저장 공간에 저장하는 단계는 상기 입력데이터에 대응되는 추론 결과를 추론 결과 저장을 위한 제2 데이터 저장 공간에 저장할 수 있다.Preferably, the input data is stored in a first data storage space for data storage, and the storing of the input data in the data storage space includes storing inference results corresponding to the input data in a second data storage space for inference result storage. Can be stored.

바람직하게는, 상기 입력데이터에 대응되는 추론 결과는 상기 입력데이터에 포함된 내용에 관한 판단 결과 및 상기 입력데이터를 구분하는 고유값의 정보를 포함할 수 있다.Preferably, the inference result corresponding to the input data may include a determination result regarding the contents included in the input data and information of a unique value for distinguishing the input data.

또한, 상기 과제를 해결하기 위한 본 발명의 일 실시예에 따른 기계학습을 수행하는 저장 장치는 호스트 장치로부터 저장하려는 파일인 저장파일에 대응되는 데이터인 입력데이터를 수신하는 수신부; 상기 입력데이터 중 상기 저장파일의 헤더에 대응되는 부분에 포함된 정보인 헤더정보를 이용하여 상기 입력데이터의 유형을 분류하는 분류부; 및 상기 입력데이터 및 상기 입력데이터의 유형에 기초하여, 선택적으로 소정의 기계학습모델을 학습시키는 학습부를 포함한다.In addition, the storage device for performing the machine learning according to an embodiment of the present invention for solving the above problems is a receiving unit for receiving input data which is data corresponding to the storage file which is a file to be stored from the host device; A classification unit classifying the type of the input data using header information which is information included in a portion of the input data corresponding to a header of the storage file; And a learning unit for selectively learning a predetermined machine learning model based on the input data and the type of the input data.

바람직하게는, 상기 학습부는 상기 입력데이터의 유형에 따라, 상기 기계학습모델의 종류 및 학습 수행 여부를 결정할 수 있다.Preferably, the learning unit may determine the type of the machine learning model and whether to perform the learning according to the type of the input data.

바람직하게는, 상기 학습부는 상기 입력데이터의 유형이 미리 결정된 복수의 유형 중 하나이면, 상기 헤더정보를 이용하여 상기 입력데이터를 디코딩한 데이터인 복원데이터를 생성하고, 상기 생성된 복원데이터를 이용하여 상기 입력데이터의 유형에 대응되는 상기 기계학습모델을 학습시킬 수 있다.Preferably, when the type of the input data is one of a plurality of predetermined types, the learning unit generates reconstructed data which is data obtained by decoding the input data using the header information, and uses the generated reconstructed data. The machine learning model corresponding to the type of the input data can be trained.

바람직하게는, 상기 수신된 입력데이터는 DMA(direct memory access) 방식을 이용하여 소정의 데이터 저장 공간에 저장될 수 있다.Preferably, the received input data may be stored in a predetermined data storage space by using a direct memory access (DMA) scheme.

바람직하게는, 상기 입력데이터의 유형에 대응되는 기계학습모델을 이용하여 상기 입력데이터를 추론하는 추론부; 및 상기 입력데이터에 대응되는 추론 결과를 소정의 데이터 저장 공간에 저장하는 저장부를 더 포함할 수 있다.Preferably, the inference unit for inferring the input data using a machine learning model corresponding to the type of the input data; And a storage unit which stores the inference result corresponding to the input data in a predetermined data storage space.

바람직하게는, 상기 저장부는 상기 입력데이터를 데이터 저장을 위한 제1 데이터 저장 공간에 저장하고, 상기 입력데이터에 대응되는 추론 결과를 추론 결과 저장을 위한 제1 데이터 저장 공간에 저장할 수 있다.Preferably, the storage unit may store the input data in the first data storage space for data storage, and store the inference result corresponding to the input data in the first data storage space for inference result storage.

바람직하게는, 상기 입력데이터에 대응되는 추론 결과는 상기 입력데이터에 포함된 내용에 관한 판단 결과 및 상기 입력데이터를 구분하는 고유값의 정보를 포함할 수 있다.Preferably, the inference result corresponding to the input data may include a determination result regarding the contents included in the input data and information of a unique value for distinguishing the input data.

본 발명은 저장 장치에서 데이터 저장을 처리하면서 그 저장되는 데이터에 대한 기계학습을 함께 수행함으로써, 기계학습에 필요한 수행 시간의 증가를 최소화하고, 전력 소모를 줄일 수 있는 효과가 있다.The present invention has the effect of minimizing the increase in execution time required for machine learning and reducing power consumption by performing machine learning on the stored data while processing data storage in the storage device.

또한, 본 발명은 저장 장치에서 데이터 저장을 처리하면서 그 저장되는 데이터에 대한 추론을 함께 수행함으로써, 데이터의 추론에 필요한 수행 시간의 증가를 최소화하고, 전력 소모를 줄일 수 있는 효과가 있다.In addition, the present invention has the effect of minimizing the increase in execution time required for inferring data and reducing power consumption by performing inference on the stored data while processing data storage in the storage device.

도 1은 본 발명의 일 실시예에 따른 저장 장치의 기계학습 수행 방법을 설명하기 위한 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 저장 장치의 데이터 추론 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 기계학습을 수행하는 저장 장치의 블록도이다.
도 4는 본 발명의 다른 실시예에 따른 기계학습을 수행하는 저장 장치의 블록도이다.
1 is a flowchart illustrating a method of performing machine learning of a storage device according to an embodiment of the present invention.
2 is a flowchart illustrating a data inference method of a storage device according to an embodiment of the present invention.
3 is a block diagram of a storage device for performing machine learning according to an embodiment of the present invention.
4 is a block diagram of a storage device for performing machine learning according to another embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the drawings, similar reference numerals are used for similar elements.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 저장 장치의 기계학습 수행 방법을 설명하기 위한 흐름도이다.1 is a flowchart illustrating a method of performing machine learning of a storage device according to an embodiment of the present invention.

단계 S110에서는, 저장 장치가 호스트 장치로부터 저장하려는 파일인 저장파일에 대응되는 데이터인 입력데이터를 수신한다.In step S110, the storage device receives input data that is data corresponding to a storage file that is a file to be stored from the host device.

이때, 호스트 장치는 저장 장치와 유선 또는 무선으로 연결된 호스트 컴퓨터(PC)일 수 있고, 저장 장치는 기계학습 또는 추론을 수행하기 위하여 독립적인 프로세서(CPU), 메모리 및 데이터 저장 소자 등을 탑재한 장치일 수 있다. In this case, the host device may be a host computer (PC) connected to the storage device by wire or wirelessly, and the storage device may include an independent processor (CPU), a memory, and a data storage device for performing machine learning or inference. Can be.

또한, 호스트 장치는 파일 단위로 저장 장치에 데이터를 저장할 수 있으며, 저장 장치는 호스트 장치로부터 저장파일에 대응되는 입력데이터를 데이터 스트림(data stream)의 형태로 수신하여 데이터 저장 소자에 저장할 수 있다. 여기서, 데이터 스트림은 일련의 연속되는 데이터 흐름으로, 문자 또는 바이트 형식으로 송수신될 수 있다.In addition, the host device may store data in a storage unit on a file basis, and the storage device may receive input data corresponding to the storage file from the host device in the form of a data stream and store the data in a data storage element. Here, the data stream is a series of continuous data flows, and may be transmitted and received in a character or byte format.

한편, 저장 장치는 입력데이터를 수신하여, 저장 장치에 탑재된 메인 메모리에 저장해 놓을 수 있다.Meanwhile, the storage device may receive input data and store the input data in the main memory mounted in the storage device.

단계 S120에서는, 저장 장치가 그 입력데이터 중 저장파일의 헤더(header)에 대응되는 부분에 포함된 정보인 헤더정보를 이용하여 그 입력데이터의 유형을 분류한다.In operation S120, the storage device classifies the type of the input data using the header information which is information included in the portion corresponding to the header of the storage file among the input data.

여기서, 헤더정보는 전송된 데이터 또는 저장된 파일의 시작 부분에 저장된 보충적인 데이터를 의미할 수 있다. 즉, 헤더정보는 그 파일 또는 데이터의 포맷(예, JPG 파일, MP4 파일 등)에 관한 정보를 포함할 수 있으며, 나아가 추가적인 정보를 더 포함할 수 있다.Here, the header information may mean supplementary data stored at the beginning of the transmitted data or the stored file. That is, the header information may include information about the format of the file or data (eg, JPG file, MP4 file, etc.), and may further include additional information.

예컨대, 사진 파일에서는 헤더정보에 사진의 크기, 압축여부, 해상도, 색의 수 등의 정보를 포함할 수 있다. 또한, 동영상 파일에서는 헤더정보에 동영상의 해상도, 재생 시간, 초당 프레임수(FPS), 비디오 압축 코덱, 오디오 압축 코덱 등의 정보를 포함할 수 있다.For example, in the photo file, the header information may include information such as the size of the photo, compression, resolution, and the number of colors. In the video file, the header information may include information such as video resolution, playback time, frames per second (FPS), video compression codec, and audio compression codec.

즉, 저장 장치는 프로세서를 이용하여 그 메인 메모리에 저장된 입력데이터의 헤더정보를 분석함으로써, 그 입력데이터의 유형을 분류할 수 있다.That is, the storage device may classify the type of the input data by analyzing the header information of the input data stored in the main memory using the processor.

마지막으로 단계 S130에서는, 저장 장치가 그 입력데이터 및 입력데이터의 유형에 기초하여, 선택적으로 소정의 기계학습모델을 학습시킨다.Finally, in step S130, the storage device selectively learns a predetermined machine learning model based on the input data and the type of the input data.

예컨대, 저장 장치는 사진 파일(jpg)의 유형인 입력데이터에 대하여는 인공신경망 기반의 기계학습모델을 학습시킬 수 있다. 또한, 저장 장치는 동영상 파일(mp4)의 유형인 입력데이터에 대하여는 서포트 벡터 머신(SVM) 기반의 기계학습모델을 학습시킬 수 있다. For example, the storage device may learn an artificial neural network-based machine learning model with respect to input data which is a type of a picture file (jpg). In addition, the storage device may train a learning vector model based on a support vector machine (SVM) with respect to input data which is a type of a video file mp4.

이때, 입력데이터에 의하여 학습된 기계학습모델은 저장 장치 내부의 저장 공간에 업데이트된 후 저장될 수 있다.In this case, the machine learning model learned by the input data may be stored after being updated in a storage space inside the storage device.

한편, 저장 장치는 그 입력데이터가 동영상 파일에 대응되는 경우, 학습 수행의 입/출력에 따른 오버헤드를 감소시키기 위하여 영상 프레임에 대한 샘플링을 수행할 수 있다. 즉, 저장 장치가 그 입력데이터에 포함된 복수의 영상 프레임 중에서 소정의 기준에 따라 선별한 영상 프레임만을 이용하여 기계학습모델의 학습을 수행할 수 있다. On the other hand, when the input data corresponds to the video file, the storage device may perform sampling on the image frame in order to reduce the overhead caused by the input / output of the learning performance. That is, the storage device may learn the machine learning model using only the image frames selected according to a predetermined criterion among the plurality of image frames included in the input data.

예컨대, 저장 장치는 그 입력데이터의 초당 프레임수가 30(FPS)인 경우에, 30개의 영상 프레임 중 하나만을 샘플링하여 기계학습모델의 학습에 이용할 수 있다.For example, when the number of frames per second of the input data is 30 (FPS), only one of the 30 image frames may be sampled and used for learning the machine learning model.

이처럼, 본 발명의 저장 장치는 기계학습의 입력으로 사용되는 데이터를 저장 장치 내의 메인 메모리에서 획득하며, 기계학습 연산을 저장 장치 내부에 포함된 프로세서를 이용하여 수행할 수 있다. 반면에, 종래의 저장 장치를 이용하는 기계학습 시스템은 기계학습의 입력 데이터를 저장 장치 내의 스토리지에서 얻으며, 기계학습 연산을 저장장치 외부의 프로세서를 이용하여 수행할 수 있다. As such, the storage device of the present invention obtains data used as an input of machine learning from the main memory in the storage device, and performs machine learning operations using a processor included in the storage device. In contrast, a machine learning system using a conventional storage device obtains input data of a machine learning from storage in a storage device, and performs machine learning operations using a processor external to the storage device.

즉, 본 발명의 저장 장치는 종래의 저장 장치를 이용하는 것과 비교하였을 때 저장 장치와 프로세서 간의 데이터 전송 경로가 짧아, 보다 빠른 기계학습의 수행이 가능하게 된다.That is, the storage device of the present invention has a shorter data transfer path between the storage device and the processor as compared with the use of the conventional storage device, thereby enabling faster machine learning.

다른 실시예에서는, 저장 장치가 그 입력데이터의 유형에 따라, 기계학습모델의 종류 및 학습 수행 여부를 결정할 수 있다.In another embodiment, the storage device may determine the type of machine learning model and whether to perform learning according to the type of the input data.

즉, 저장 장치는 입력데이터의 유형에 따라, 기계학습모델의 학습 수행 여부를 결정할 수 있다. That is, the storage device may determine whether to learn the machine learning model according to the type of input data.

예컨대, 저장 장치는 사진 파일과 동영상 파일에 대응되는 입력데이터에 대하여만 그 유형에 대응되는 기계학습모델을 학습시키고, 그 이외의 파일에 대응되는 입력데이터에 대하여는 기계학습모델을 학습시키지 않을 수 있다.For example, the storage device may learn the machine learning model corresponding to the type only with respect to the input data corresponding to the photo file and the video file, and may not learn the machine learning model with respect to the input data corresponding to other files. .

또한, 기계학습모델의 학습을 수행할 때에도, 여러 종류의 기계학습모델 중에서 효과를 고려하여 어떤 기계학습모델을 학습시킬지 결정할 수 있다.In addition, when performing the learning of the machine learning model, it is possible to determine which machine learning model to learn in consideration of the effects among the various types of machine learning models.

또 다른 실시예에서는, 저장 장치가 그 입력데이터를 디코딩한 복원데이터를 이용하여 기계학습모델을 학습시킬 수 있다.In another embodiment, the storage device may train the machine learning model using reconstructed data decoded the input data.

일반적으로, 사진 파일 또는 동영상 파일은 특정한 코덱(codec)에 의하여 인코딩(encoding)되어 압축된 형태로 저장된 경우가 많다. 그 결과, 사진 파일 또는 동영상 파일에 대응되는 입력데이터의 경우에 압축된 형태의 데이터를 포함하는 경우가 많은데, 압축된 형태의 입력데이터를 이용하여서는 기계학습모델을 직접 학습시키는 것이 곤란할 수 있다.In general, a photo file or a video file is often encoded and stored in a compressed form by a specific codec. As a result, in the case of input data corresponding to a photo file or a video file, compressed data is often included. However, it may be difficult to directly train a machine learning model using the compressed data.

따라서, 저장 장치는 그 입력데이터의 유형이 미리 결정된 복수의 유형 중 하나이면, 헤더정보를 이용하여 그 입력데이터를 디코딩(decoding)한 데이터인 복원데이터를 생성하고, 그 복원데이터를 이용하여 그 입력데이터의 유형에 대응되는 기계학습모델을 학습시킬 수 있다. 이때, 헤더정보에는 그 입력데이터의 코덱에 관한 정보가 포함되어 있어, 저장 장치는 그 코덱에 관한 정보를 이용하여 그 입력데이터를 적절하게 디코딩할 수 있다. Therefore, if the type of the input data is one of a plurality of predetermined types, the storage device generates reconstructed data which is data obtained by decoding the input data using the header information, and uses the reconstructed data to input the input data. The machine learning model corresponding to the data type can be trained. At this time, the header information includes information about the codec of the input data, so that the storage device can appropriately decode the input data by using the information about the codec.

또한, 미리 결정된 복수의 유형은 저장 장치가 그 입력데이터를 디코딩하여 복원데이터를 생성해야 하는 파일의 유형으로서 사진 파일 및 동영상 파일 등과 같이 미리 결정된 것일 수 있다.In addition, the plurality of types may be predetermined, such as a picture file and a video file, as a type of a file in which the storage device needs to decode the input data to generate reconstructed data.

또 다른 실시예에서는, 그 수신된 입력데이터는 DMA(direct memory access) 방식을 이용하여 소정의 데이터 저장 공간에 저장될 수 있다.In another embodiment, the received input data may be stored in a predetermined data storage space using a direct memory access (DMA) scheme.

이때, DMA는 주변 장치가 메모리에 직접 접근하여 읽거나 쓸 수 있도록 하는 기능으로, 컴퓨터 내부의 버스(bus)가 지원하는 기능이다. 대개의 경우에 메모리의 일정 부분이 DMA에 사용될 영역으로 지정되며, DMA가 지원되면 중앙처리장치(프로세서)가 데이터 전송에 관여하지 않아도 되므로 컴퓨터 성능의 향상을 기대할 수 있다.In this case, the DMA is a function that allows a peripheral device to directly access and read or write a memory, which is supported by a bus inside the computer. In most cases, a portion of the memory is designated as the area to be used for DMA, and if DMA is supported, the central processing unit (processor) does not have to be involved in data transfer, and thus can improve computer performance.

즉, 저장 장치는 기계학습모델의 학습을 수행하는 동안, 그 수신된 입력데이터가 저장된 메인 메모리의 데이터를 DMA방식을 이용하여 데이터 저장 공간(예, 비휘발성 플래시 메모리)에 저장할 수 있다.That is, the storage device may store the data of the main memory in which the received input data is stored in a data storage space (eg, a nonvolatile flash memory) using the DMA method while performing the learning of the machine learning model.

보다 구체적으로, 저장 장치는 그 수신된 입력데이터를 이용하여 기계학습모델의 학습을 수행하면서, 이와 동시에 DMA 방식을 이용하여 그 수신된 입력데이터를 데이터 저장 공간에 저장할 수 있다. 그로 인해, 저장 장치는 기계학습모델의 학습에 따른 성능 저하를 최소화할 수 있다.More specifically, the storage device may learn the machine learning model using the received input data, and at the same time store the received input data in the data storage space using the DMA method. As a result, the storage device can minimize performance degradation due to the learning of the machine learning model.

이와 같이, 본 발명의 일 실시예에 따른 저장 장치의 기계학습 수행 방법은 저장 장치가 데이터 저장을 처리하는 시점에 그 저장되는 데이터에 대한 기계학습을 동시에 수행함으로써, 기계학습에 필요한 수행 시간의 증가를 최소화하고, 전력 소모를 줄일 수 있는 효과가 있다.As described above, in the method of performing the machine learning of the storage device according to the exemplary embodiment of the present invention, the execution time required for the machine learning is increased by simultaneously performing the machine learning on the stored data at the time when the storage device processes the data storage. Minimize the power consumption and reduce the power consumption.

도 2는 본 발명의 일 실시예에 따른 저장 장치의 데이터 추론 방법을 설명하기 위한 흐름도이다.2 is a flowchart illustrating a data inference method of a storage device according to an embodiment of the present invention.

단계 S210에서는, 저장 장치가 호스트 장치로부터 저장하려는 파일인 저장파일에 대응되는 데이터인 입력데이터를 수신한다.In operation S210, the storage device receives input data that is data corresponding to a storage file that is a file to be stored from the host device.

단계 S220에서는, 저장 장치가 그 입력데이터 중 저장파일의 헤더에 대응되는 부분에 포함된 정보인 헤더정보를 이용하여 그 입력데이터의 유형을 분류한다.In operation S220, the storage device classifies the type of the input data by using header information which is information included in a portion of the input data corresponding to the header of the storage file.

단계 S230에서는, 저장 장치가 그 입력데이터의 유형에 대응되는 기계학습모델을 이용하여 그 입력데이터를 추론한다.In operation S230, the storage device infers the input data using the machine learning model corresponding to the type of the input data.

즉, 저장 장치는 그 입력데이터의 유형별로 대응되는 기계학습모델을 결정하고, 그 결정된 기계학습모델을 이용하여 그 입력데이터를 추론할 수 있다. 예컨대, 저장 장치는 사진 파일의 유형인 입력데이터에 대하여 인공신경망 기반의 기계학습모델이 대응될 때, 그 인공신경망 기반의 기계학습모델을 이용하여 그 사진 파일의 유형인 입력데이터를 추론할 수 있다.That is, the storage device may determine a machine learning model corresponding to each type of the input data, and infer the input data using the determined machine learning model. For example, when a neural network-based machine learning model corresponds to input data that is a type of a photo file, the storage device may infer input data that is a type of the photo file by using the neural network-based machine learning model. .

보다 구체적으로, 저장 장치는 그 인공신경망 기반의 기계학습모델을 이용하여 사진 파일이 인물을 포함하고 있는지, 바다를 포함하고 있는지, 나무를 포함하고 있는지 등을 추론할 수 있다.More specifically, the storage device may use the artificial neural network-based machine learning model to infer whether a photo file includes a person, a sea, a tree, or the like.

마지막으로 단계 S240에서는, 저장 장치가 그 입력데이터에 대응되는 추론 결과를 소정의 데이터 저장 공간에 저장한다.Finally, in step S240, the storage device stores the inference result corresponding to the input data in a predetermined data storage space.

즉, 저장 장치는 그 입력데이터에 대하여 기계학습모델을 이용하여 수행한 추론의 결과를 저장 장치의 내부에 할당된 데이터 저장 공간에 저장할 수 있다.That is, the storage device may store the result of the inference performed using the machine learning model on the input data in a data storage space allocated inside the storage device.

한편, 자동차용 블랙박스가 본 발명의 일 실시예에 따른 저장 장치에 해당한다고 가정하면, 그 블랙박스는 카메라를 통해 입력되는 영상 데이터를 데이터 저장 공간에 저장함과 동시에 입력되는 영상 데이터에 대한 추론을 수행할 수 있다. 이때, 추론은 영상 데이터에 포함된 차량의 번호판, 신호등, 표지판 등에 관해 수행될 수 있다. 즉, 블랙박스 내부에는 영상 데이터와 그 영상 데이터에 대한 추론 결과가 함께 저장될 수 있다.On the other hand, assuming that the automotive black box corresponds to a storage device according to an embodiment of the present invention, the black box stores the image data input through the camera in the data storage space and at the same time infers the inference about the image data input. Can be done. In this case, the inference may be performed on license plates, traffic lights, signs, and the like included in the image data. That is, the image data and the inference result of the image data may be stored together in the black box.

다른 실시예에서는, 그 입력데이터는 데이터 저장을 위한 제1 데이터 저장 공간에 저장되고, 그 입력데이터에 대응되는 추론 결과는 추론 결과 저장을 위한 제2 데이터 저장 공간에 저장될 수 있다.In another embodiment, the input data may be stored in a first data storage space for data storage, and the inference result corresponding to the input data may be stored in a second data storage space for inference result storage.

즉, 저장 장치는 호스트 장치로부터 입력된 입력데이터가 저장될 공간으로 제1 데이터 저장 공간을 할당하고, 그 입력데이터의 추론 결과가 저장될 공간으로 제2 데이터 저장 공간을 할당할 수 있다. 이때, 제1 데이터 저장 공간과 제2 데이터 저장 공간은 서로 물리적으로 또는 논리적으로 분리된 저장 공간일 수 있다.That is, the storage device may allocate the first data storage space to the space where the input data input from the host device will be stored, and allocate the second data storage space to the space where the inference result of the input data will be stored. In this case, the first data storage space and the second data storage space may be storage spaces that are physically or logically separated from each other.

또 다른 실시예에서는, 그 입력데이터에 대응되는 추론 결과는 그 입력데이터에 포함된 내용에 관한 판단 결과 및 그 입력데이터를 구분하는 고유값의 정보를 포함할 수 있다.In another embodiment, the inference result corresponding to the input data may include a determination result regarding the contents included in the input data and information of a unique value for distinguishing the input data.

이때, 저장 장치는 그 입력데이터에 대응되는 추론 결과에 그 입력데이터에 관한 판단 결과(즉, 추론 결과)와 함께 그 입력데이터를 고유하게 특정할 수 있는 고유값의 정보를 포함시킬 수 있다.In this case, the storage device may include the intrinsic value for uniquely specifying the input data together with the determination result (ie, the inference result) regarding the input data in the inference result corresponding to the input data.

예컨대, 고유값은 저장 장치 내부에서 그 입력데이터가 저장된 데이터 저장 공간의 물리적 주소(physical address)일 수 있다. 이는, 그 저장 장치에 대하여는 데이터 저장 공간의 물리적 주소가 고유한 값이 될 수 있기 때문이다.For example, the eigenvalue may be a physical address of a data storage space in which the input data is stored in the storage device. This is because the physical address of the data storage space may be a unique value for the storage device.

이와 같이, 본 발명의 일 실시예에 따른 저장 장치의 추론 방법은 저장 장치가 데이터 저장을 처리하는 시점에 그 저장되는 데이터에 대한 추론을 동시에 수행함으로써, 데이터의 추론에 필요한 수행 시간의 증가를 최소화하고, 전력 소모를 줄일 수 있는 효과가 있다.As described above, the inference method of the storage device according to an embodiment of the present invention simultaneously performs inference on the stored data at the time when the storage device processes data storage, thereby minimizing an increase in execution time required for inference of data. And, there is an effect that can reduce the power consumption.

도 3은 본 발명의 일 실시예에 따른 기계학습을 수행하는 저장 장치의 블록도이다.3 is a block diagram of a storage device for performing machine learning according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 일 실시예에 따른 기계학습을 수행하는 저장 장치(300)는 수신부(310), 분류부(320) 및 학습부(330)를 포함한다.Referring to FIG. 3, the storage device 300 for performing machine learning according to an embodiment of the present invention includes a receiver 310, a classifier 320, and a learner 330.

수신부(310)는 호스트 장치로부터 저장하려는 파일인 저장파일에 대응되는 데이터인 입력데이터를 수신한다.The receiver 310 receives input data which is data corresponding to a storage file which is a file to be stored from the host device.

분류부(320)는 그 입력데이터 중 저장파일의 헤더에 대응되는 부분에 포함된 정보인 헤더정보를 이용하여 그 입력데이터의 유형을 분류한다.The classification unit 320 classifies the type of the input data by using the header information which is information included in the portion corresponding to the header of the storage file among the input data.

학습부(330)는 그 입력데이터 및 입력데이터의 유형에 기초하여, 선택적으로 소정의 기계학습모델을 학습시킨다.The learning unit 330 selectively learns a predetermined machine learning model based on the input data and the type of the input data.

다른 실시예에서는, 학습부(330)는 그 입력데이터의 유형에 따라, 기계학습모델의 종류 및 학습 수행 여부를 결정할 수 있다.In another embodiment, the learner 330 may determine the type of the machine learning model and whether to perform the learning according to the type of the input data.

또 다른 실시예에서는, 학습부(330)는 그 입력데이터의 유형이 미리 결정된 복수의 유형 중 하나이면, 헤더정보를 이용하여 그 입력데이터를 디코딩한 데이터인 복원데이터를 생성하고, 그 생성된 복원데이터를 이용하여 그 입력데이터의 유형에 대응되는 기계학습모델을 학습시킬 수 있다.In another embodiment, if the type of the input data is one of a plurality of predetermined types, the learning unit 330 generates reconstructed data which is data obtained by decoding the input data using header information, and generates the reconstructed data. The data can be used to train machine learning models corresponding to the type of input data.

또 다른 실시예에서는, 그 수신된 입력데이터는 DMA(direct memory access) 방식을 이용하여 소정의 데이터 저장 공간에 저장될 수 있다.In another embodiment, the received input data may be stored in a predetermined data storage space using a direct memory access (DMA) scheme.

도 4는 본 발명의 다른 실시예에 따른 기계학습을 수행하는 저장 장치의 블록도이다.4 is a block diagram of a storage device for performing machine learning according to another embodiment of the present invention.

도 4을 참조하면, 본 발명의 다른 실시예에 따른 기계학습을 수행하는 저장 장치(300)는 수신부(310), 분류부(320), 학습부(330), 추론부(340) 및 저장부(350)를 포함한다. (단, 학습부(330)는 생략)Referring to FIG. 4, the storage device 300 for performing machine learning according to another embodiment of the present invention includes a receiver 310, a classifier 320, a learner 330, an inference unit 340, and a storage unit. And 350. (However, the learning unit 330 is omitted)

수신부(310)는 호스트 장치로부터 저장하려는 파일인 저장파일에 대응되는 데이터인 입력데이터를 수신한다.The receiver 310 receives input data which is data corresponding to a storage file which is a file to be stored from the host device.

분류부(320)는 그 입력데이터 중 저장파일의 헤더에 대응되는 부분에 포함된 정보인 헤더정보를 이용하여 그 입력데이터의 유형을 분류한다.The classification unit 320 classifies the type of the input data by using the header information which is information included in the portion corresponding to the header of the storage file among the input data.

학습부(330)는 그 입력데이터 및 입력데이터의 유형에 기초하여, 선택적으로 소정의 기계학습모델을 학습시킨다.The learning unit 330 selectively learns a predetermined machine learning model based on the input data and the type of the input data.

추론부(340)는 그 입력데이터의 유형에 대응되는 기계학습모델을 이용하여 그 입력데이터를 추론한다.The inference unit 340 infers the input data using the machine learning model corresponding to the type of the input data.

마지막으로 저장부(350)는 그 입력데이터에 대응되는 추론 결과를 소정의 데이터 저장 공간에 저장한다.Finally, the storage unit 350 stores the inference result corresponding to the input data in a predetermined data storage space.

다른 실시예에서는, 저장부(350)는 그 입력데이터를 데이터 저장을 위한 제1 데이터 저장 공간에 저장하고, 그 입력데이터에 대응되는 추론 결과를 추론 결과 저장을 위한 제2 데이터 저장 공간에 저장할 수 있다.In another embodiment, the storage unit 350 may store the input data in the first data storage space for data storage, and store the inference result corresponding to the input data in the second data storage space for inference result storage. have.

또 다른 실시예에서는, 그 입력데이터에 대응되는 추론 결과는 그 입력데이터에 포함된 내용에 관한 판단 결과 및 그 입력데이터를 구분하는 고유값의 정보를 포함할 수 있다.In another embodiment, the inference result corresponding to the input data may include a determination result regarding the contents included in the input data and information of a unique value for distinguishing the input data.

한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.Meanwhile, the above-described embodiments of the present invention can be written as a program that can be executed in a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium.

상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 를 포함한다.The computer-readable recording medium may include a magnetic storage medium (for example, a ROM, a floppy disk, a hard disk, etc.) and an optical reading medium (for example, a CD-ROM, DVD, etc.).

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
So far I looked at the center of the preferred embodiment for the present invention. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

Claims (14)

호스트 장치로부터 저장하려는 파일인 저장파일에 대응되는 데이터인 입력데이터를 수신하는 단계;
상기 입력데이터 중 상기 저장파일의 헤더에 대응되는 부분에 포함된 정보인 헤더정보를 이용하여 상기 입력데이터의 유형을 분류하는 단계; 및
상기 입력데이터 및 상기 입력데이터의 유형에 기초하여, 선택적으로 소정의 기계학습모델을 학습시키는 단계
를 포함하는 것을 특징으로 하는 저장 장치의 기계학습 수행 방법.
Receiving input data which is data corresponding to a storage file which is a file to be stored from the host device;
Classifying a type of the input data by using header information which is information included in a portion of the input data corresponding to a header of the storage file; And
Selectively learning a predetermined machine learning model based on the input data and the type of the input data.
Machine learning method of the storage device comprising a.
제1항에 있어서,
상기 기계학습모델을 학습시키는 단계는
상기 입력데이터의 유형에 따라, 상기 기계학습모델의 종류 및 학습 수행 여부를 결정하는 것을 특징으로 하는 저장 장치의 기계학습 수행 방법.
The method of claim 1,
Learning the machine learning model
And determining a type of the machine learning model and whether or not to perform learning according to the type of the input data.
제1항에 있어서,
상기 기계학습모델을 학습시키는 단계는
상기 입력데이터의 유형이 미리 결정된 복수의 유형 중 하나이면, 상기 헤더정보를 이용하여 상기 입력데이터를 디코딩한 데이터인 복원데이터를 생성하는 단계; 및
상기 생성된 복원데이터를 이용하여 상기 입력데이터의 유형에 대응되는 상기 기계학습모델을 학습시키는 단계
를 포함하는 것을 특징으로 하는 저장 장치의 기계학습 수행 방법.
The method of claim 1,
Learning the machine learning model
If the type of the input data is one of a plurality of predetermined types, generating restoration data which is data obtained by decoding the input data using the header information; And
Training the machine learning model corresponding to the type of the input data using the generated reconstruction data;
Machine learning method of the storage device comprising a.
제1항에 있어서,
상기 수신된 입력데이터는
DMA(direct memory access) 방식을 이용하여 소정의 데이터 저장 공간에 저장되는 것을 특징으로 하는 저장 장치의 기계학습 수행 방법.
The method of claim 1,
The received input data is
Method of performing a machine learning of a storage device, characterized in that stored in a predetermined data storage space using a direct memory access (DMA) method.
호스트 장치로부터 저장하려는 파일인 저장파일에 대응되는 데이터인 입력데이터를 수신하는 단계;
상기 입력데이터 중 상기 저장파일의 헤더에 대응되는 부분에 포함된 정보인 헤더정보를 이용하여 상기 입력데이터의 유형을 분류하는 단계;
상기 입력데이터의 유형에 대응되는 기계학습모델을 이용하여 상기 입력데이터를 추론하는 단계; 및
상기 입력데이터에 대응되는 추론 결과를 소정의 데이터 저장 공간에 저장하는 단계
를 포함하는 것을 특징으로 하는 기계학습에 기반한 저장 장치의 데이터 추론 방법.
Receiving input data which is data corresponding to a storage file which is a file to be stored from the host device;
Classifying the type of the input data by using header information which is information included in a portion of the input data corresponding to the header of the storage file;
Inferring the input data using a machine learning model corresponding to the type of the input data; And
Storing the inference result corresponding to the input data in a predetermined data storage space
Data inference method of the storage device based on the machine learning comprising a.
제5항에 있어서,
상기 입력데이터는 데이터 저장을 위한 제1 데이터 저장 공간에 저장되고,
상기 데이터 저장 공간에 저장하는 단계는
상기 입력데이터에 대응되는 추론 결과를 추론 결과 저장을 위한 제2 데이터 저장 공간에 저장하는 것을 특징으로 하는 기계학습에 기반한 저장 장치의 데이터 추론 방법.
The method of claim 5,
The input data is stored in a first data storage space for data storage,
The storing in the data storage space is
And an inference result corresponding to the input data in a second data storage space for storing the inference result.
제5항에 있어서,
상기 입력데이터에 대응되는 추론 결과는
상기 입력데이터에 포함된 내용에 관한 판단 결과 및 상기 입력데이터를 구분하는 고유값의 정보를 포함하는 것을 특징으로 하는 기계학습에 기반한 저장 장치의 데이터 추론 방법.
The method of claim 5,
The inference result corresponding to the input data is
And a result of the determination regarding the contents included in the input data and information on the intrinsic value for distinguishing the input data.
호스트 장치로부터 저장하려는 파일인 저장파일에 대응되는 데이터인 입력데이터를 수신하는 수신부;
상기 입력데이터 중 상기 저장파일의 헤더에 대응되는 부분에 포함된 정보인 헤더정보를 이용하여 상기 입력데이터의 유형을 분류하는 분류부; 및
상기 입력데이터 및 상기 입력데이터의 유형에 기초하여, 선택적으로 소정의 기계학습모델을 학습시키는 학습부
를 포함하는 것을 특징으로 하는 기계학습을 수행하는 저장 장치.
A receiving unit for receiving input data which is data corresponding to a storage file which is a file to be stored from the host device;
A classification unit classifying the type of the input data using header information which is information included in a portion of the input data corresponding to a header of the storage file; And
A learning unit for selectively learning a predetermined machine learning model based on the input data and the type of the input data
Storage device for performing a machine learning comprising a.
제8항에 있어서,
상기 학습부는
상기 입력데이터의 유형에 따라, 상기 기계학습모델의 종류 및 학습 수행 여부를 결정하는 것을 특징으로 하는 기계학습을 수행하는 저장 장치.
The method of claim 8,
The learning unit
And a type of the machine learning model and determining whether to perform learning according to the type of the input data.
제8항에 있어서,
상기 학습부는
상기 입력데이터의 유형이 미리 결정된 복수의 유형 중 하나이면, 상기 헤더정보를 이용하여 상기 입력데이터를 디코딩한 데이터인 복원데이터를 생성하고,
상기 생성된 복원데이터를 이용하여 상기 입력데이터의 유형에 대응되는 상기 기계학습모델을 학습시키는 것을 특징으로 하는 기계학습을 수행하는 저장 장치.
The method of claim 8,
The learning unit
If the type of the input data is one of a plurality of predetermined types, generating restoration data which is data obtained by decoding the input data using the header information,
And a machine learning model corresponding to the type of the input data using the generated reconstructed data.
제8항에 있어서,
상기 수신된 입력데이터는
DMA(direct memory access) 방식을 이용하여 소정의 데이터 저장 공간에 저장되는 것을 특징으로 하는 기계학습을 수행하는 저장 장치.
The method of claim 8,
The received input data is
Storage device for performing machine learning, characterized in that stored in a predetermined data storage space using a direct memory access (DMA) method.
제8항에 있어서,
상기 입력데이터의 유형에 대응되는 기계학습모델을 이용하여 상기 입력데이터를 추론하는 추론부; 및
상기 입력데이터에 대응되는 추론 결과를 소정의 데이터 저장 공간에 저장하는 저장부
를 더 포함하는 것을 특징으로 하는 기계학습을 수행하는 저장 장치.
The method of claim 8,
An inference unit for inferring the input data using a machine learning model corresponding to the type of the input data; And
A storage unit for storing the inference result corresponding to the input data in a predetermined data storage space
Storage device for performing machine learning, characterized in that it further comprises.
제12항에 있어서,
상기 저장부는
상기 입력데이터를 데이터 저장을 위한 제1 데이터 저장 공간에 저장하고, 상기 입력데이터에 대응되는 추론 결과를 추론 결과 저장을 위한 제2 데이터 저장 공간에 저장하는 것을 특징으로 하는 기계학습을 수행하는 저장 장치.
The method of claim 12,
The storage unit
And storing the input data in a first data storage space for data storage, and storing the inference result corresponding to the input data in a second data storage space for storage of inference result. .
제12항에 있어서,
상기 입력데이터에 대응되는 추론 결과는
상기 입력데이터에 포함된 내용에 관한 판단 결과 및 상기 입력데이터를 구분하는 고유값의 정보를 포함하는 것을 특징으로 하는 기계학습을 수행하는 저장 장치.
The method of claim 12,
The inference result corresponding to the input data is
And a result of the determination regarding the contents included in the input data and information on the intrinsic value for distinguishing the input data.
KR1020180038171A 2018-04-02 2018-04-02 Storage device that performs machine learning and method thereof KR102205518B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180038171A KR102205518B1 (en) 2018-04-02 2018-04-02 Storage device that performs machine learning and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180038171A KR102205518B1 (en) 2018-04-02 2018-04-02 Storage device that performs machine learning and method thereof

Publications (2)

Publication Number Publication Date
KR20190115303A true KR20190115303A (en) 2019-10-11
KR102205518B1 KR102205518B1 (en) 2021-01-21

Family

ID=68210389

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180038171A KR102205518B1 (en) 2018-04-02 2018-04-02 Storage device that performs machine learning and method thereof

Country Status (1)

Country Link
KR (1) KR102205518B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090125463A1 (en) * 2007-11-13 2009-05-14 Shohei Hido Technique for classifying data
KR20150112441A (en) * 2014-03-28 2015-10-07 주식회사 솔트룩스 Knowledge acquisition system based on un-structured data for never-ending and self-evolving
WO2017002283A1 (en) * 2015-07-01 2017-01-05 パナソニックIpマネジメント株式会社 Encoding method, decoding method, encoding device, decoding device, and encoding/decoding device
KR20180075913A (en) * 2016-12-27 2018-07-05 삼성전자주식회사 A method for input processing using neural network calculator and an apparatus thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090125463A1 (en) * 2007-11-13 2009-05-14 Shohei Hido Technique for classifying data
KR20150112441A (en) * 2014-03-28 2015-10-07 주식회사 솔트룩스 Knowledge acquisition system based on un-structured data for never-ending and self-evolving
WO2017002283A1 (en) * 2015-07-01 2017-01-05 パナソニックIpマネジメント株式会社 Encoding method, decoding method, encoding device, decoding device, and encoding/decoding device
KR20180075913A (en) * 2016-12-27 2018-07-05 삼성전자주식회사 A method for input processing using neural network calculator and an apparatus thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
위키백과 : 직접 메모리 접근. 2018.03.11. *

Also Published As

Publication number Publication date
KR102205518B1 (en) 2021-01-21

Similar Documents

Publication Publication Date Title
Perarnau et al. Invertible conditional gans for image editing
US10489062B2 (en) Methods and systems for using state vector data in a state machine engine
US10789182B2 (en) System and method for individual addressing
CN111061867A (en) Text generation method, equipment, storage medium and device based on quality perception
US10679070B1 (en) Systems and methods for a video understanding platform
JP2022014776A (en) Activity detection device, activity detection system, and activity detection method
EP3198870B1 (en) Processing parameters for operations on blocks while decoding images
JP7193630B2 (en) Synchronous input feedback for machine learning
KR20190128980A (en) Electronic apparatus for compression and decompression data and method thereof
US11354904B2 (en) Spatial-temporal graph-to-sequence learning based grounded video descriptions
CN112613373A (en) Image recognition method and device, electronic equipment and computer readable storage medium
US11568303B2 (en) Electronic apparatus and control method thereof
KR102205518B1 (en) Storage device that performs machine learning and method thereof
US20230214695A1 (en) Counterfactual inference management device, counterfactual inference management method, and counterfactual inference management computer program product
JP2017010255A (en) Image recognition apparatus and image recognition method
KR102413588B1 (en) Object recognition model recommendation method, system and computer program according to training data
US20220405574A1 (en) Model-aware data transfer and storage
KR102334388B1 (en) Method and Apparatus for Action Recognition Using Sequential Feature Data
CN113055546A (en) System and method for processing images
US20230412825A1 (en) Video size reduction by reconstruction
US11949967B1 (en) Automatic connotation for audio and visual content using IOT sensors
KR102641500B1 (en) Apparatus and method for unsupervised domain adaptation
JP7279685B2 (en) Information processing system
WO2023228314A1 (en) Specification-compliant data estimation device, machine learning method, specification-compliant data estimation method, and program
KR20230047864A (en) Apparatus and method for generating training data based on data with different labels

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right