KR20200037049A - Storage device - Google Patents

Storage device Download PDF

Info

Publication number
KR20200037049A
KR20200037049A KR1020190002343A KR20190002343A KR20200037049A KR 20200037049 A KR20200037049 A KR 20200037049A KR 1020190002343 A KR1020190002343 A KR 1020190002343A KR 20190002343 A KR20190002343 A KR 20190002343A KR 20200037049 A KR20200037049 A KR 20200037049A
Authority
KR
South Korea
Prior art keywords
memory
controller
memory device
data
interface
Prior art date
Application number
KR1020190002343A
Other languages
Korean (ko)
Inventor
유영건
설창규
김현우
송형석
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to SG10201907261SA priority Critical patent/SG10201907261SA/en
Priority to US16/533,883 priority patent/US11762558B2/en
Priority to CN201910858006.5A priority patent/CN110941390A/en
Publication of KR20200037049A publication Critical patent/KR20200037049A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06K9/20
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Software Systems (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Read Only Memory (AREA)

Abstract

The present invention relates to a storage device with improved performance and reduced cost. According to the present invention, the storage device comprises: a first memory device including a plurality of first memory cells; a second memory device including a plurality of second memory cells of the same type as the plurality of first memory cells; and a controller configured to communicate with a first memory device through a first memory interface and communicate with a second memory device through a second memory interface having an operation speed faster than the operation speed of the first memory interface.

Description

스토리지 장치{STORAGE DEVICE}Storage device {STORAGE DEVICE}

본 발명은 전자 장치에 관한 것으로 더욱 상세하게는 스토리지 장치에 관한 것이다.The present invention relates to an electronic device, and more particularly, to a storage device.

최근에는 다양한 분야에서 인공 지능(AI; Artificial Intelligence) 기능이 활용되고 있다. 일 예로서, 개인용 컴퓨터, 노트북, 태블릿, 스마트폰, 디지털 카메라 등과 같은 다양한 전자 장치에서의 음성 인식, 이미지 분류 등과 같은 다양한 기능에 인공 지능 기능이 활용되고 있다. 일반적으로 인공 지능 기능은 많은 연산 동작을 수반한다. 이러한 많은 연산 동작을 구현하기 위하여, 빠른 동작 속도를 갖는 연산 회로 및 데이터를 처리하기 위한 대용량의 고속 메모리를 필요로 한다. 종래에는 이러한 고속 연산을 지원하는 회로 및 대용량 고속 메모리를 구비한 별도의 데이터 센터를 이용하여 인공 지능 기능이 지원된다.Recently, artificial intelligence (AI) has been used in various fields. As an example, artificial intelligence functions are used for various functions such as voice recognition and image classification in various electronic devices such as personal computers, laptops, tablets, smart phones, and digital cameras. In general, artificial intelligence functions involve many computational operations. In order to implement such a large number of computational operations, a computational circuit having a high operation speed and a large-capacity high-speed memory for processing data are required. In the related art, artificial intelligence functions are supported by using a separate data center equipped with a high-speed memory and a circuit supporting such high-speed operation.

그러나 이러한 별도의 데이터 센터를 이용하는 방식은 데이터 센터 이용에 따른 별도의 비용이 소모되고, 네트워크를 통한 데이터 송수신에 따른 지연이 발생하는 문제점이 있다.However, the method using the separate data center consumes a separate cost for using the data center, and there is a problem in that a delay occurs due to data transmission and reception through a network.

본 발명은 상술된 기술적 과제를 해결하기 위한 것으로서, 본 발명에 따르면, 향상된 성능 및 감소된 비용을 갖는 스토리지 장치가 제공된다.The present invention is to solve the above-described technical problems, and according to the present invention, a storage device having improved performance and reduced cost is provided.

본 발명의 실시 예에 따른 스토리지 장치는 복수의 제1 메모리 셀들을 포함하는 제1 메모리 장치, 상기 복수의 제1 메모리 셀들과 동일한 타입의 복수의 제2 메모리 셀들을 포함하는 제2 메모리 장치, 및 상기 제1 메모리 장치와 제1 메모리 인터페이스를 통해 통신하고, 상기 제2 메모리 장치와 상기 제1 메모리 인터페이스의 동작 속도보다 빠른 동작 속도를 갖는 제2 메모리 인터페이스를 통해 통신하도록 구성된 컨트롤러를 포함한다.A storage device according to an embodiment of the present invention includes a first memory device including a plurality of first memory cells, a second memory device including a plurality of second memory cells of the same type as the plurality of first memory cells, and And a controller configured to communicate with the first memory device through a first memory interface, and to communicate with the second memory device through a second memory interface having an operating speed faster than an operating speed of the first memory interface.

본 발명의 실시 예에 따른 스토리지 장치는 외부 장치와 호스트 인터페이스를 통해 통신하도록 구성된 제1 컨트롤러, 복수의 제1 메모리 셀들을 포함하고, 상기 제1 컨트롤러와 제1 메모리 인터페이스의 제1 채널을 통해 통신하도록 구성된 제1 메모리 장치, 상기 복수의 제1 메모리 셀들과 동일한 타입의 복수의 제2 메모리 셀들을 포함하는 제2 메모리 장치, 및 상기 제1 컨트롤러와 상기 제1 메모리 인터페이스의 제2 채널을 통해 통신하도록 구성되고, 상기 제2 메모리 장치와 제2 메모리 인터페이스를 통해 된 제2 컨트롤러를 포함한다.A storage device according to an embodiment of the present invention includes a first controller configured to communicate with an external device through a host interface, a plurality of first memory cells, and communicates with the first controller through a first channel of the first memory interface A first memory device configured to communicate, a second memory device including a plurality of second memory cells of the same type as the plurality of first memory cells, and the first controller and a second channel of the first memory interface And a second controller through the second memory device and the second memory interface.

본 발명의 실시 예에 따른 스토리지 장치는 복수의 제1 낸드 플래시 메모리 셀들을 포함하는 제1 메모리 장치, 복수의 제2 낸드 플래시 메모리 셀들을 포함하는 제2 메모리 장치, 및 제1 메모리 인터페이스를 통해 상기 제1 메모리 장치와 통신하고, 상기 제1 메모리 인터페이스보다 큰 입출력 대역폭을 갖는 제2 메모리 인터페이스를 통해 상기 제2 메모리 장치와 통신하도록 구성된 컨트롤러를 포함한다.The storage device according to an embodiment of the present invention includes a first memory device including a plurality of first NAND flash memory cells, a second memory device including a plurality of second NAND flash memory cells, and a first memory interface. And a controller configured to communicate with the first memory device and to communicate with the second memory device through a second memory interface having an input / output bandwidth greater than the first memory interface.

본 발명에 따르면, 스토리지 장치는 호스트로부터의 요청에 따라 스페셜 동작을 수행할 수 있다. 따라서, 스페셜 동작을 수행하는데 요구되는 호스트의 다양한 연산들 또는 데이터 센터의 사용에 따른 부담이 경감되기 때문에, 향상된 성능 및 감소된 비용을 갖는 스토리지 장치 및 그것의 동작 방법이 제공된다.According to the present invention, the storage device may perform a special operation according to a request from the host. Accordingly, a storage device having improved performance and reduced cost and a method of operating the same are provided because the burden of using various data centers or data centers required to perform a special operation is reduced.

도 1은 본 발명의 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 블록도이다.
도 2는 도 1의 제1 컨트롤러를 예시적으로 보여주는 블록도이다.
도 3은 도 1의 제2 컨트롤러를 예시적으로 보여주는 블록도이다.
도 4는 제1 컨트롤러의 제1 메모리 인터페이스 회로 및 제2 컨트롤러의 제2 메모리 인터페이스 회로를 예시적으로 보여주는 도면들이다.
도 5a 내지 도 5d는 도 1의 제1 메모리 장치 및 제2 메모리 장치를 예시적으로 보여주는 블록도들이다.
도 6은 도 5a 내지 도 5d의 제1 및 제2 메모리 장치들에 포함된 메모리 블록을 예시적으로 보여주는 회로도이다.
도 7은 도 1의 스토리지 장치의 동작을 보여주는 순서도이다.
도 8a 내지 도 8d는 도 5의 S112의 판별 동작을 설명하기 위한 도면들이다.
도 9a 및 도 9b는 도 1의 호스트 및 스토리지 장치의 동작을 상세하게 보여주는 순서도들이다.
도 10은 도 1의 스토리지 장치의 동작을 보여주는 순서도이다.
도 11은 본 발명의 실시 예에 따른 스토리지 장치를 보여주는 블록도이다.
도 12는 도 11의 컨트롤러를 예시적으로 보여주는 블록도이다.
도 13은 도 11의 스토리지 장치의 동작을 보여주는 순서도이다.
도 14 내지 도 16 각각은 본 발명의 실시 예에 따른 스토리지 장치를 보여주는 블록도이다.
도 17a 내지 도 17d는 본 발명의 실시 예에 따른 스토리지 장치의 구성을 예시적으로 보여주는 도면들이다.
도 18은 본 발명의 실시 예에 따른 컴퓨팅 시스템을 보여주는 블록도이다.
도 19는 본 발명에 따른 스토리지 장치가 적용된 모바일 시스템을 예시적으로 보여주는 블록도이다.
1 is a block diagram exemplarily showing a computing system according to an embodiment of the present invention.
FIG. 2 is a block diagram exemplarily showing the first controller of FIG. 1.
3 is a block diagram illustrating the second controller of FIG. 1 by way of example.
4 exemplarily shows a first memory interface circuit of a first controller and a second memory interface circuit of a second controller.
5A to 5D are block diagrams exemplarily showing the first memory device and the second memory device of FIG. 1.
FIG. 6 is a circuit diagram exemplarily showing memory blocks included in the first and second memory devices of FIGS. 5A to 5D.
7 is a flowchart illustrating an operation of the storage device of FIG. 1.
8A to 8D are views for explaining the determination operation of S112 in FIG. 5.
9A and 9B are flowcharts showing details of operations of the host and the storage device of FIG. 1.
10 is a flowchart illustrating an operation of the storage device of FIG. 1.
11 is a block diagram showing a storage device according to an embodiment of the present invention.
12 is a block diagram illustrating the controller of FIG. 11 by way of example.
13 is a flowchart illustrating the operation of the storage device of FIG. 11.
Each of FIGS. 14 to 16 is a block diagram showing a storage device according to an embodiment of the present invention.
17A to 17D are views exemplarily showing a configuration of a storage device according to an embodiment of the present invention.
18 is a block diagram illustrating a computing system according to an embodiment of the present invention.
19 is a block diagram exemplarily showing a mobile system to which a storage device according to the present invention is applied.

이하에서, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.Hereinafter, embodiments of the present invention will be described clearly and in detail so that a person having ordinary knowledge in the technical field of the present invention can easily implement the present invention.

상세한 설명에서 사용되는 "부(unit)", "모듈(module)" 등과 같은 용어들 또는 도면에 도시된 기능 블록들은 특정 기능을 수행하도록 구성된 하드웨어, 소프트웨어, 또는 그것의 조합의 형태로 구현될 수 있다. The term “unit”, “module”, etc. used in the detailed description or functional blocks illustrated in the drawings may be implemented in the form of hardware, software, or a combination thereof configured to perform a specific function. have.

도 1은 본 발명의 실시 예에 따른 컴퓨팅 시스템을 예시적으로 보여주는 블록도이다. 도 1을 참조하면, 컴퓨팅 시스템(10)은 호스트(11) 및 스토리지 장치(100)를 포함할 수 있다. 예시적인 실시 예에서, 컴퓨팅 시스템(10)은 개인용 컴퓨터, 태블릿 PC, 디지털 카메라, 스마트 폰 등과 같은 다양한 연산 기능을 수행하는 컴퓨팅 장치들 중 하나일 수 있다. 1 is a block diagram exemplarily showing a computing system according to an embodiment of the present invention. Referring to FIG. 1, the computing system 10 may include a host 11 and a storage device 100. In an exemplary embodiment, the computing system 10 may be one of computing devices performing various computing functions, such as a personal computer, tablet PC, digital camera, smart phone, and the like.

호스트(11)는 컴퓨팅 시스템(10)이 동작하는데 필요한 다양한 동작들을 수행할 수 있다. 예시적인 실시 예에서, 호스트(11)는 컴퓨팅 시스템(10)의 제반 동작을 수행하는 CPU(Central Processing Unit), 또는 AP(Application Processor)일 수 있다. 호스트(11)는 호스트 인터페이스를 통해 스토리지 장치(100)와 통신할 수 있다. 호스트(11)는 스토리지 장치(100)에 데이터를 저장하거나 또는 스토리지 장치(100)에 저장된 데이터를 읽을 수 있다.The host 11 may perform various operations necessary for the computing system 10 to operate. In an exemplary embodiment, the host 11 may be a central processing unit (CPU) or an application processor (AP) that performs various operations of the computing system 10. The host 11 may communicate with the storage device 100 through a host interface. The host 11 may store data in the storage device 100 or read data stored in the storage device 100.

예시적인 실시 예에서, 호스트(11)는 머신 러닝(ML; Machine Learning) 기능을 수행하기 위한 데이터(이하에서, 스페셜 데이터(SDT; special data)라 칭함.)를 스토리지 장치(100)로 제공할 수 있다. 예를 들어, 앞서 설명된 바와 같이, 호스트(11)는 컴퓨팅 시스템(10)의 제반 동작을 수행하도록 구성될 수 있다. 이 때, 호스트(11)의 동작 도중에, 특정 데이터에 대한 특정 동작(예를 들어, 음성 인식, 이미지 분류, 이미지 인식 등)을 필요로 할 수 있다. 이 경우, 호스트(11)는 스페셜 데이터(SDT)를 스토리지 장치(100)로 제공할 수 있다.In an exemplary embodiment, the host 11 provides data (hereinafter referred to as special data (SDT) special data) for performing a machine learning (ML) function to the storage device 100. You can. For example, as described above, the host 11 may be configured to perform various operations of the computing system 10. At this time, during the operation of the host 11, a specific operation (eg, voice recognition, image classification, image recognition, etc.) for specific data may be required. In this case, the host 11 may provide special data (SDT) to the storage device 100.

예시적인 실시 예에서, 스페셜 데이터(SDT)는 스토리지 장치(100)에 불휘발성 형태로 저장되지 않을 수 있다. 스페셜 데이터(SDT)는 제2 컨트롤러(130)에서 수행되는 스페셜 동작의 종류에 따라, 음성 데이터, 이미지 데이터, 또는 특정 타입의 데이터를 포함할 수 있다. In an exemplary embodiment, the special data SDT may not be stored in the nonvolatile form in the storage device 100. The special data SDT may include voice data, image data, or a specific type of data according to the type of special operation performed in the second controller 130.

스토리지 장치(100)는 호스트(11)의 제어에 따라 일반 동작(normal operation) 및 스페셜 동작(machine learning operation) 중 어느 하나를 선택적으로 수행할 수 있다. 예시적인 실시 예에서, 일반 동작은 호스트(11)의 제어에 따라 제1 메모리 장치(120)에 사용자 데이터(UDT)를 저장하거나 또는 제1 메모리 장치(120)에 저장된 사용자 데이터(UDT)를 읽는 동작을 가리킬 수 있다. 또는 일반 동작은 일반적인 스토리지 장치에서 수행되는 다양한 동작(예를 들어, 읽기, 쓰기, 소거, 물리적 소거, 장치 리셋, 초기화 등)을 가리킬 수 있다. 즉, 일반 동작은 호스트(11)의 제어에 따라 일반적인 스토리지 장치에서 수행되는 동작을 가리킬 수 있다. 스페셜 동작은 음성 인식, 이미지 분류, 이미지 식별 등과 같이 인공 지능 기능(예를 들어, 컨볼루션 신경망, 심층 신경망 등)에 기반된 인공 지능 동작 또는 머신 러닝 동작을 가리킬 수 있다.The storage device 100 may selectively perform any one of a normal operation and a machine learning operation under the control of the host 11. In an exemplary embodiment, the general operation is to store user data (UDT) in the first memory device 120 or read user data (UDT) stored in the first memory device 120 under the control of the host 11. Can point to action. Alternatively, the general operation may refer to various operations (eg, read, write, erase, physical erase, device reset, initialization, etc.) performed in a general storage device. That is, the general operation may refer to an operation performed in a general storage device under the control of the host 11. The special operation may refer to an artificial intelligence operation or machine learning operation based on artificial intelligence functions (eg, convolutional neural network, deep neural network, etc.) such as speech recognition, image classification, image identification, and the like.

다시 말해서, 스토리지 장치(100)가 호스트(11)의 제어에 따라 일반 동작을 수행하는 경우, 스토리지 장치(100)는 호스트(11)로부터 수신된 사용자 데이터(UDT)를 저장하거나, 또는 저장된 사용자 데이터(UDT)를 호스트(11)로 전송하거나, 또는 다른 일반적인 동작들(장치 리셋, 초기화, 파워 다운, 파워 업 등)을 수행할 수 있다. 스토리지 장치(100)가 호스트(11)의 제어에 따라 스페셜 동작을 수행하는 경우, 스토리지 장치(100)는 호스트(11)로부터 스페셜 데이터(SDT)를 수신하고, 수신된 스페셜 데이터(SDT)에 대한 스페셜 동작을 수행하고, 스페셜 동작의 결과를 포함하는 결과 데이터(RDT)를 호스트(11)로 전송할 수 있다. In other words, when the storage device 100 performs a normal operation under the control of the host 11, the storage device 100 stores the user data UDT received from the host 11 or the stored user data The (UDT) may be transmitted to the host 11, or other general operations (device reset, initialization, power down, power up, etc.) may be performed. When the storage device 100 performs a special operation under the control of the host 11, the storage device 100 receives the special data (SDT) from the host 11, and for the received special data (SDT) The special operation may be performed and result data RDT including the result of the special operation may be transmitted to the host 11.

스토리지 장치(100)는 제1 컨트롤러(110), 제1 메모리 장치(120), 제2 컨트롤러(130), 및 제2 메모리 장치(140)를 포함할 수 있다. 제1 컨트롤러(110)는 스토리지 장치(100)의 제반 동작을 제어할 수 있다. 제1 컨트롤러(110)는 입출력 라우터(111)를 포함할 수 있다. 입출력 라우터(111)는 호스트(11)로부터 수신된 요청이 일반 동작에 관한 것인지 또는 스페셜 동작에 관한 것인지 판별하고, 판별 결과에 따라 호스트(11)로부터 수신된 정보(예를 들어, 사용자 데이터(UDT) 또는 스페셜 데이터(SDT))를 제1 메모리 장치(120) 또는 제2 컨트롤러(130)로 제공할 수 있다. The storage device 100 may include a first controller 110, a first memory device 120, a second controller 130, and a second memory device 140. The first controller 110 may control various operations of the storage device 100. The first controller 110 may include an input / output router 111. The input / output router 111 determines whether the request received from the host 11 is related to a general operation or a special operation, and receives information (eg, user data (UDT) from the host 11 according to the determination result) ) Or special data (SDT)) to the first memory device 120 or the second controller 130.

예를 들어, 호스트(11)로부터 일반 동작에 관련된 요청이 수신된 경우, 입출력 라우터(111)는 요청과 함께 수신된 입력 데이터를 사용자 데이터(UDT)인 것으로 판별하고, 수신된 사용자 데이터(UDT)를 일반 채널(CH_n; normal channel)을 통해 제1 메모리 장치(120)로 전송할 수 있다. 호스트(11)로부터 스페셜 동작에 관련된 요청이 수신된 경우, 입출력 라우터(111)는 요청과 함께 수신된 입력 데이터를 스페셜 데이터(SDT)인 것으로 판별하고, 수신된 스페셜 데이터(SDT)를 전용 채널(CH_d; dedicated channel)을 통해 제2 컨트롤러(130)로 전송할 수 있다. 예시적인 실시 예에서, 입출력 라우터(111)는 스페셜 데이터(SDT)를 제1 메모리 장치(120)로 전송하고, 제1 메모리 장치(120)는 스페셜 데이터(SDT)를 저장하도록 구성될 수 있다. For example, when a request related to a general operation is received from the host 11, the input / output router 111 determines that the input data received with the request is user data (UDT), and receives the user data (UDT). May be transmitted to the first memory device 120 through a normal channel (CH_n). When a request related to a special operation is received from the host 11, the input / output router 111 determines that the input data received with the request is special data (SDT), and receives the received special data (SDT) as a dedicated channel ( It can be transmitted to the second controller 130 through a dedicated channel (CH_d). In an exemplary embodiment, the input / output router 111 may transmit the special data SDT to the first memory device 120, and the first memory device 120 may be configured to store the special data SDT.

예시적인 실시 예에서, 제1 메모리 인터페이스(IF1)는 복수의 채널들을 포함할 수 있고, 복수의 채널들 중 어느 하나는 일반 채널(CH_n)일 수 있고, 다른 어느 하나는 전용 채널(CH_d)일 수 있다. 예시적인 실시 예에서, 제1 메모리 인터페이스(IF1)에 포함된 복수의 채널들 각각은 독립적으로 구동하는 통신 경로를 가리킬 수 있으며, 복수의 채널들 각각은 서로 동일한 통신 방식을 기반으로 각각에 연결된 장치들과 통신할 수 있다. In an exemplary embodiment, the first memory interface IF1 may include a plurality of channels, one of the plurality of channels may be a normal channel (CH_n), and the other one may be a dedicated channel (CH_d). You can. In an exemplary embodiment, each of the plurality of channels included in the first memory interface IF1 may indicate an independently driven communication path, and each of the plurality of channels may be connected to each other based on the same communication method. Can communicate with others.

예시적인 실시 예에서, 입출력 라우터(111)는 호스트(111)로부터의 다양한 정보(예를 들어, 어드레스 정보, 논리적 유닛 정보, 커맨드 정보 등)를 기반으로 호스트(11)로부터 수신된 요청이 일반 동작에 관한 것인지 또는 스페셜 동작에 관한 것인지 판별할 수 있거나, 또는 호스트(11)로부터 수신된 입력 데이터가 사용자 데이터(UDT)인지 스페셜 데이터(SDT)인지 판별할 수 있다.In an exemplary embodiment, the input / output router 111 receives a request received from the host 11 based on various information (eg, address information, logical unit information, command information, etc.) from the host 111 in general operation. It may be determined whether or not related to the special operation, or it may be determined whether the input data received from the host 11 is user data (UDT) or special data (SDT).

제1 메모리 장치(120)는 일반 채널(CH_n)을 통한 제1 컨트롤러(110)의 제어에 따라 일반 동작을 수행할 수 있다. 예를 들어, 제1 메모리 장치(120)는 일반 채널(CH_n)을 통해 제1 컨트롤러(110)로부터 사용자 데이터(UDT)를 수신하고, 수신된 사용자 데이터(UDT)를 저장 또는 프로그램할 수 있다.The first memory device 120 may perform a general operation according to the control of the first controller 110 through the general channel CH_n. For example, the first memory device 120 may receive user data UDT from the first controller 110 through a normal channel CH_n, and store or program the received user data UDT.

제2 컨트롤러(130)는 전용 채널(CH_d)을 통한 제1 컨트롤러(110)의 제어에 따라 스페셜 동작을 수행할 수 있다. 예를 들어, 제2 컨트롤러(130)는 음성 인식, 이미지 분류, 이미지 식별 등과 같은 머신 러닝 기능을 지원하도록 구성될 수 있다. 제2 컨트롤러(130)는 전용 채널(CH_d)을 통해 제1 컨트롤러(110)로부터 스페셜 데이터(SDT)를 수신하고, 수신된 스페셜 데이터(SDT)에 대한 스페셜 동작을 수행할 수 있다. 제2 컨트롤러(130)는 제1 컨트롤러(110)의 제어에 따라 스페셜 동작의 수행 결과를 포함하는 결과 데이터(RDT)를 전용 채널(CH_d)을 통해 제1 컨트롤러(110)로 제공할 수 있다.The second controller 130 may perform a special operation according to the control of the first controller 110 through a dedicated channel (CH_d). For example, the second controller 130 may be configured to support machine learning functions such as speech recognition, image classification, image identification, and the like. The second controller 130 may receive the special data SDT from the first controller 110 through the dedicated channel CH_d, and perform a special operation on the received special data SDT. The second controller 130 may provide the result data RDT including a result of performing a special operation to the first controller 110 through a dedicated channel CH_d under the control of the first controller 110.

예시적인 실시 예에서, 제2 컨트롤러(130)는 제2 메모리 인터페이스(IF2)제2 메모리 장치(140)에 저장된 가중치(WT)를 사용하여 상술된 스페셜 동작을 수행할 수 있다. 예를 들어, 제2 컨트롤러(130)는 지원되는 스페셜 동작을 수행하기 위한 가중치(WT) 정보를 필요로 한다. 스페셜 동작이 수행되는 경우, 제2 컨트롤러(130)는 제2 메모리 장치(130)에 저장된 가중치(WT)를 기반으로 상술된 스페셜 동작을 수행할 수 있다.In an exemplary embodiment, the second controller 130 may perform the above-described special operation using the weight WT stored in the second memory device 140 in the second memory interface IF2. For example, the second controller 130 needs weight (WT) information to perform a supported special operation. When the special operation is performed, the second controller 130 may perform the above-described special operation based on the weight WT stored in the second memory device 130.

예시적인 실시 예에서, 제1 및 제2 메모리 장치들(120, 140)은 각각 동일한 셀 타입을 갖는 메모리 장치일 수 있다. 예를 들어, 제1 및 제2 메모리 장치들(120, 140)은 낸드 플래시 메모리 셀, 또는 CTF(Charge Trap Flash) 셀을 포함할 수 있고, 서로 다른 동작 속도로 동작할 수 있다.In an exemplary embodiment, the first and second memory devices 120 and 140 may be memory devices having the same cell type, respectively. For example, the first and second memory devices 120 and 140 may include a NAND flash memory cell, or a charge trap flash (CTF) cell, and may operate at different operating speeds.

예시적인 실시 예에서, 제1 및 제2 메모리 장치들(120, 140)는 낸드 플래시 메모리 장치일 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, 제1 및 제2 메모리 장치들(120, 140) 각각은 낸드 플래시 메모리, PRAM, MRAM, RRAM 등과 같은 불휘발성 메모리 장치들 중 어느 하나일 수 있다. 또는 제2 메모리 장치(140)의 동작 속도는 제1 메모리 장치(120)의 동작 속도보다 빠를 수 있다. 예시적인 실시 예에서, 제2 메모리 장치(140)는 DRAM과 같은 고속 메모리일 수 있다. In an exemplary embodiment, the first and second memory devices 120 and 140 may be NAND flash memory devices, but the scope of the present invention is not limited thereto. For example, each of the first and second memory devices 120 and 140 may be any one of nonvolatile memory devices such as NAND flash memory, PRAM, MRAM, and RRAM. Alternatively, the operating speed of the second memory device 140 may be faster than the operating speed of the first memory device 120. In an exemplary embodiment, the second memory device 140 may be a high-speed memory such as DRAM.

예시적인 실시 예에서, 제1 컨트롤러(110), 제1 메모리 장치(120), 제2 컨트롤러(130), 및 제2 메모리 장치(140) 각각은 별도의 반도체 장치, 별도의 반도체 칩, 별도의 반도체 다이, 또는 별도의 반도체 패키지로 구현될 수 있다. 또는 제1 컨트롤러(110), 제1 메모리 장치(120), 제2 컨트롤러(130), 및 제2 메모리 장치(140) 중 일부는 하나의 반도체 장치, 하나의 반도체 칩, 하나의 반도체 다이, 또는 하나의 반도체 패키지로 구현될 수 있다. 예를 들어, 제2 컨트롤러(130) 및 제2 메모리 장치(140)는 하나의 반도체 패키지로 구현될 수 있으며, 제2 컨트롤러(130) 및 제2 메모리 장치(140)는 하나의 반도체 패키지 내에서 고속 신호 라인(예를 들어, TSV(Through Silicon Via)을 통해 서로 연결될 수 있다.In an exemplary embodiment, each of the first controller 110, the first memory device 120, the second controller 130, and the second memory device 140 is a separate semiconductor device, a separate semiconductor chip, and a separate It may be implemented as a semiconductor die or a separate semiconductor package. Alternatively, some of the first controller 110, the first memory device 120, the second controller 130, and the second memory device 140 are one semiconductor device, one semiconductor chip, one semiconductor die, or It can be implemented as a single semiconductor package. For example, the second controller 130 and the second memory device 140 may be implemented as one semiconductor package, and the second controller 130 and the second memory device 140 may be implemented in one semiconductor package. They can be connected to each other through high-speed signal lines (for example, through silicon via (TSV)).

예시적인 실시 예에서, 제1 컨트롤러(110) 및 제1 메모리 장치(120) 사이의 일반 채널(CH_n); 및 제1 컨트롤러(110) 및 제2 컨트롤러(130) 사이의 전용 채널(CH_d)은 제1 메모리 인터페이스(IF1)에 포함된 채널들일 수 있다. 즉, 제1 메모리 장치(120) 및 제2 컨트롤러(130) 각각은 동일한 인터페이스를 기반으로 제1 컨트롤러(110)와 통신할 수 있다. 예시적인 실시 예에서, 제1 메모리 인터페이스(IF1)는 낸드 인터페이스일 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.In an exemplary embodiment, the normal channel (CH_n) between the first controller 110 and the first memory device 120; And the dedicated channel (CH_d) between the first controller 110 and the second controller 130 may be channels included in the first memory interface IF1. That is, each of the first memory device 120 and the second controller 130 may communicate with the first controller 110 based on the same interface. In an exemplary embodiment, the first memory interface IF1 may be a NAND interface, but the scope of the present invention is not limited thereto.

예시적인 실시 예에서, 제2 컨트롤러(130) 및 제2 메모리 장치(140)는 제1 메모리 인터페이스(IF1)와 다른 제2 메모리 인터페이스(IF2)를 기반으로 통신할 수 있다. 제2 메모리 인터페이스(IF2)는 제1 메모리 인터페이스(IF1)보다 빠른 동작 속도를 지원하는 인터페이스일 수 있다. 예를 들어, 제2 메모리 인터페이스(IF2)의 시간당 전송되는 데이터의 양은 제1 메모리 인터페이스(IF1)의 시간당 전송되는 데이터의 양보다 많을 수 있다. 즉, 제2 컨트롤러(130)는 빠른 속도로 제2 메모리 장치(140)에 저장된 가중치(WT)를 읽을 수 있다. In an exemplary embodiment, the second controller 130 and the second memory device 140 may communicate with the first memory interface IF1 based on another second memory interface IF2. The second memory interface IF2 may be an interface that supports a faster operation speed than the first memory interface IF1. For example, the amount of data transmitted per hour of the second memory interface IF2 may be greater than the amount of data transmitted per hour of the first memory interface IF1. That is, the second controller 130 can rapidly read the weight WT stored in the second memory device 140.

상술된 바와 같이, 본 발명의 실시 예에 따른 스토리지 장치(100)는 머신 러닝 기능을 지원할 수 있다. 이에 따라, 호스트(11)에서 수행되는 연산 부담이 경감되거나 또는 별도의 데이터 센터를 이용하지 않아도 되기 때문에, 향상된 성능 및 감소된 비용을 갖는 스토리지 장치가 제공된다.As described above, the storage device 100 according to an embodiment of the present invention may support a machine learning function. Accordingly, since the computational load performed on the host 11 is reduced or a separate data center is not required, a storage device having improved performance and reduced cost is provided.

도 2는 도 1의 제1 컨트롤러(110)를 예시적으로 보여주는 블록도이다. 도 2를 참조하면, 제1 컨트롤러(110)는 입출력 라우터(111), 프로세서(112), SRAM(113), ROM(114), 호스트 인터페이스 회로(115), 제1 메모리 인터페이스 회로(116)를 포함할 수 있다.2 is a block diagram illustrating the first controller 110 of FIG. 1 by way of example. Referring to FIG. 2, the first controller 110 includes an input / output router 111, a processor 112, an SRAM 113, a ROM 114, a host interface circuit 115, and a first memory interface circuit 116. It can contain.

입출력 라우터(111)는 호스트(11)로부터 제공된 요청(또는 데이터)가 일반 동작에 관한 것인지 또는 스페셜 동작에 관한 것인지 판별할 수 있다. 입출력 라우터(111)의 판별 동작은 이하의 도면들을 참조하여 더욱 상세하게 설명된다.The input / output router 111 may determine whether the request (or data) provided from the host 11 is related to a general operation or a special operation. The determination operation of the input / output router 111 will be described in more detail with reference to the following drawings.

프로세서(112)는 제1 컨트롤러(110)의 제반 동작을 수행할 수 있다. SRAM(113)은 제1 컨트롤러(110)의 동작 메모리, 버퍼 메모리 등으로 사용될 수 있다. ROM(114)은 제1 컨트롤러(110)가 동작하는데 필요한 다양한 정보를 펌웨어 형태로 저장할 수 있다. 예시적인 실시 예에서, 입출력 라우터(111)는 소프트웨어, 하드웨어, 또는 그것들의 조합의 형태로 구현될 수 있다. 입출력 라우터(111)가 소프트웨어 형태로 구현되는 경우, 입출력 라우터(111)의 동작을 수행하기 위한 프로그램 코드, 또는 명령어는 SRAM(113)에 저장되고, 프로세서(112)에 의해 실행될 수 있다. 예시적인 실시 예에서, 입출력 라우터(111)의 동작은 플래시 변환 계층(미도시)(FTL; Flash Translation Layer)에 의해 수행될 수 있다. The processor 112 may perform various operations of the first controller 110. The SRAM 113 may be used as an operation memory or a buffer memory of the first controller 110. The ROM 114 may store various information necessary for the first controller 110 to operate in the form of firmware. In an exemplary embodiment, the input / output router 111 may be implemented in the form of software, hardware, or a combination thereof. When the input / output router 111 is implemented in software form, program code or instructions for performing the operation of the input / output router 111 are stored in the SRAM 113 and may be executed by the processor 112. In an exemplary embodiment, the operation of the input / output router 111 may be performed by a Flash Translation Layer (FTL).

제1 컨트롤러(110)는 호스트 인터페이스 회로(115)를 통해 호스트(11)와 통신할 수 있다. 예시적인 실시 예에서, 호스트 인터페이스 회로(115)는 DDR(Double Data Rate), LPDDR(Low-Power DDR), USB(Universal Serial Bus), MMC(multimedia card), PCI(peripheral component interconnection), PCI-E(PCI-express), ATA(Advanced Technology Attachment), SATA(Serial-ATA), PATA(Parallel-ATA), SCSI(small computer small interface), ESDI(enhanced small disk interface), IDE(Integrated Drive Electronics), MIPI(Mobile Industry Processor Interface), NVM-e(Nonvolatile Memory-express), UFS(Universal Flash Storage) 등과 같은 다양한 인터페이스들 중 적어도 하나에 기반될 수 있다. The first controller 110 may communicate with the host 11 through the host interface circuit 115. In an exemplary embodiment, the host interface circuit 115 includes Double Data Rate (DDR), Low-Power DDR (LPDDR), Universal Serial Bus (USB), multimedia card (MMC), peripheral component interconnection (PCI), PCI- E (PCI-express), ATA (Advanced Technology Attachment), SATA (Serial-ATA), PATA (Parallel-ATA), SCSI (small computer small interface), ESDI (enhanced small disk interface), IDE (Integrated Drive Electronics) , MIPI (Mobile Industry Processor Interface), NVM-e (Nonvolatile Memory-express), UFS (Universal Flash Storage), and the like.

제1 컨트롤러(110)는 제1 메모리 인터페이스 회로(116)를 통해 제1 메모리 장치(120) 및 제2 컨트롤러(130)와 통신할 수 있다. 예시적인 실시 예에서, 제1 메모리 인터페이스 회로는 낸드 인터페이스에 기반될 수 있다. 제1 컨트롤러(110)는 제1 메모리 인터페이스 회로(116)의 일반 채널(CH_n)을 통해 제1 메모리 장치(120)와 통신할 수 있고, 제1 메모리 인터페이스 회로(116)의 전용 채널(CH_d)을 통해 제2 컨트롤러(130)와 통신할 수 있다. 제1 메모리 인터페이스 회로(116)는 입출력 라우터(111)의 판별 결과에 따라 호스트(11)로부터 수신된 데이터를 일반 채널(CH_n) 및 전용 채널(CH_d) 중 어느 하나를 통해 출력할 수 있다.The first controller 110 can communicate with the first memory device 120 and the second controller 130 through the first memory interface circuit 116. In an exemplary embodiment, the first memory interface circuit can be based on a NAND interface. The first controller 110 may communicate with the first memory device 120 through the general channel CH_n of the first memory interface circuit 116, and a dedicated channel CH_d of the first memory interface circuit 116 Through it may communicate with the second controller 130. The first memory interface circuit 116 may output data received from the host 11 through one of the normal channel CH_n and the dedicated channel CH_d according to the determination result of the input / output router 111.

예시적인 실시 예에서, 제1 컨트롤러(110)는 제1 메모리 장치(120)로 사용자 데이터(UDT)를 전송하거나 또는 제2 컨트롤러(130)로 스페셜 데이터를 전송하기 위하여, 프로그램 커맨드를 사용할 수 있다. 즉, 제1 컨트롤러(110)는 일반 채널(CH_n)을 통해 프로그램 커맨드 및 사용자 데이터(UDT)를 제1 메모리 장치(120)로 전송할 수 있다. 제1 컨트롤러(110)는 전용 채널(CH_d)을 통해 프로그램 커맨드 및 스페셜 데이터(SDT)를 제2 컨트롤러(130)로 전송할 수 있다. In an exemplary embodiment, the first controller 110 may use a program command to transmit user data (UDT) to the first memory device 120 or special data to the second controller 130. . That is, the first controller 110 may transmit the program command and user data UDT to the first memory device 120 through the normal channel CH_n. The first controller 110 may transmit program commands and special data (SDT) to the second controller 130 through a dedicated channel (CH_d).

도 3은 도 1의 제2 컨트롤러를 예시적으로 보여주는 블록도이다. 도 1 및 도 3을 참조하면, 제2 컨트롤러(130)는 컨트롤러 인터페이스 회로(131), 머신 러닝 코어(132), 제2 메모리 인터페이스 회로(133), 및 ECC 엔진(134)을 포함할 수 있다.3 is a block diagram illustrating the second controller of FIG. 1 by way of example. 1 and 3, the second controller 130 may include a controller interface circuit 131, a machine learning core 132, a second memory interface circuit 133, and an ECC engine 134. .

제2 컨트롤러(130)는 컨트롤러 인터페이스 회로(131)를 통해 제1 컨트롤러(110)와 통신할 수 있다. 예를 들어, 컨트롤러 인터페이스 회로(131)는 전용 채널(CH_d)을 통해 제1 컨트롤러(110)의 제1 메모리 인터페이스 회로(116)와 통신할 수 있다. 예시적인 실시 예에서, 컨트롤러 인터페이스 회로(131)는 전용 채널(CH_d)을 통해, 제1 메모리 인터페이스 회로(116)로부터 스페셜 데이터(SDT)를 수신하거나 또는 제1 메모리 인터페이스 회로(116)로 결과 데이터(RDT)를 전송할 수 있다.The second controller 130 may communicate with the first controller 110 through the controller interface circuit 131. For example, the controller interface circuit 131 may communicate with the first memory interface circuit 116 of the first controller 110 through a dedicated channel (CH_d). In an exemplary embodiment, the controller interface circuit 131 receives special data SDT from the first memory interface circuit 116 or through the dedicated channel CH_d, or results data to the first memory interface circuit 116. (RDT).

머신 러닝 코어(132)는 컨트롤러 인터페이스 회로(131)로부터 수신된 스페셜 데이터(SDT)에 대한 스페셜 동작을 수행할 수 있다. 예시적인 실시 예에서, 머신 러닝 코어(132)는 제2 메모리 장치(140)에 저장된 가중치(WT)를 사용하여 스페셜 데이터(SDT)에 대한 스페셜 동작을 수행할 수 있다.The machine learning core 132 may perform a special operation on the special data SDT received from the controller interface circuit 131. In an exemplary embodiment, the machine learning core 132 may perform a special operation on the special data SDT using the weight WT stored in the second memory device 140.

예를 들어, 제2 메모리 인터페이스 회로(133)는, 머신 러닝 코어(132)의 제어에 따라 제2 메모리 장치(140)로부터 가중치(WT)를 읽을 수 있다. 가중치(WT)는 ECC 엔진(134)에 의해 에러가 정정될 수 있고, 에러가 정정된 가중치(WT')는 머신 러닝 코어(132)로 제공될 수 있다. 머신 러닝 코어(132)는 에러가 정정된 가중치(WT')를 사용하여 스페셜 데이터(SDT)에 대한 스페셜 동작을 수행할 수 있다. For example, the second memory interface circuit 133 may read the weight WT from the second memory device 140 under the control of the machine learning core 132. The weight WT may be corrected by the ECC engine 134, and the weight WT ′ corrected for the error may be provided to the machine learning core 132. The machine learning core 132 may perform a special operation on the special data SDT using the error corrected weight WT '.

이하에서, 본 발명의 기술적 특징을 용이하게 설명하기 위하여, 머신 러닝 코어(132)에 의해 수행되는 스페셜 동작은 음성 인식 동작인 것으로 가정한다. 즉, 호스트(11)로부터 제공된 스페셜 데이터(SDT)는 음성 데이터(voice data)이고, 머신 러닝 코어(132)는 스페셜 데이터(SDT)에 대한 스페셜 동작(즉, 음성 인식 동작)을 수행하여, 결과 데이터(RDT)를 출력할 수 있다. 이 때, 결과 데이터(RDT)는 음성 데이터에 대응하는 텍스트 데이터일 수 있다.Hereinafter, in order to easily describe the technical features of the present invention, it is assumed that the special operation performed by the machine learning core 132 is a voice recognition operation. That is, the special data (SDT) provided from the host 11 is voice data, and the machine learning core 132 performs a special operation (ie, voice recognition operation) on the special data (SDT), resulting in Data RDT can be output. In this case, the result data RDT may be text data corresponding to voice data.

머신 러닝 코어(132)는 특징 추출 모듈(132a), 음향 모델(132b), 및 디코딩 모듈(132c)을 포함할 수 있다. 특징 추출 모듈(132a)은 수신된 스페셜 데이터(SDT)에 대한 특징 추출 동작을 수행하여, 프레임 단위의 정보를 음향 모델(132b)로 제공할 수 있다. 음향 모델(132b)은 에러가 정정된 가중치(WT')를 사용하여 프레임 단위의 정보에 대한 음성 인식을 수행할 수 있다. 디코딩 모듈(132c)은 음향 모델(132b)로부터 음성 인식 결과를 수신하고, 수신된 음성 인식 결과에 대응되는 결과 데이터(RDT)(즉, 텍스트 데이터)를 출력할 수 있다. 예시적인 실시 예에서, 머신 러닝 코어(132)의 상술된 동작은 머신 러닝 알고리즘, 신경망 알고리즘 등과 같은 인공 지능 알고리즘에 기반될 수 있다. 예시적인 실시 예에서, 머신 러닝 코어(132)는 상술된 스페셜 동작을 수행하기 위한 적어도 하나의 MAC(multiply accumulate) 연산기를 포함할 수 있다. 즉, 머신 러닝 코어(132)는 적어도 하나의 MAC(multiply accumulate) 연산기를 통해 상술된 가중치(WT) 및 프레임 단위의 정보에 대한 MAC 연산을 수행함으로써, 상술된 스페셜 동작을 수행하도록 구성될 수 있다. The machine learning core 132 may include a feature extraction module 132a, an acoustic model 132b, and a decoding module 132c. The feature extraction module 132a may perform a feature extraction operation on the received special data (SDT) and provide frame-based information to the acoustic model 132b. The acoustic model 132b may perform speech recognition for information on a frame-by-frame basis using an error corrected weight WT '. The decoding module 132c may receive a speech recognition result from the acoustic model 132b, and output result data RDT (that is, text data) corresponding to the received speech recognition result. In an exemplary embodiment, the above-described operations of the machine learning core 132 may be based on artificial intelligence algorithms such as machine learning algorithms, neural network algorithms, and the like. In an exemplary embodiment, the machine learning core 132 may include at least one multiply accumulate (MAC) operator for performing the special operation described above. That is, the machine learning core 132 may be configured to perform the above-described special operation by performing the MAC operation on the weight (WT) and frame-based information described above through at least one multiply accumulate (MAC) operator. .

예시적인 실시 예에서, 프레임 단위가 10ms이고, 음향 모델(132b)에서 사용되는 가중치(WT)가 100MB의 크기를 갖는 것으로 가정한다. 이 경우, 머신 러닝 코어(132)가 스페셜 동작(즉, 음성 인식 동작)을 정상적으로 수행하기 위해서는, 10ms마다 100MB의 가중치(WT)가 음향 모델(132b)로 제공되어져야 할 것이다. 즉, 제2 컨트롤러(130)는 10ms마다 제2 메모리 장치(140)로부터 100MB의 가중치(WT)를 읽어야 할 것이다. 이를 위하여, 제2 메모리 인터페이스 회로(133)는 고속 인터페이스로 구현될 수 있다.In the exemplary embodiment, it is assumed that the frame unit is 10 ms, and the weight WT used in the acoustic model 132b has a size of 100 MB. In this case, in order for the machine learning core 132 to perform a special operation (ie, a voice recognition operation) normally, a weight WT of 100 MB should be provided to the acoustic model 132b every 10 ms. That is, the second controller 130 should read the weight WT of 100 MB from the second memory device 140 every 10 ms. To this end, the second memory interface circuit 133 may be implemented as a high speed interface.

예를 들어, 도 4는 제1 컨트롤러(110)의 제1 메모리 인터페이스 회로(116) 및 제2 컨트롤러(130)의 제2 메모리 인터페이스 회로(133)를 예시적으로 보여주는 도면들이다. 도 4에 도시된 바와 같이, 제1 메모리 인터페이스 회로(116)는 일반적인 낸드 인터페이스로 구현될 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.For example, FIG. 4 is a diagram exemplarily showing the first memory interface circuit 116 of the first controller 110 and the second memory interface circuit 133 of the second controller 130. As illustrated in FIG. 4, the first memory interface circuit 116 may be implemented as a general NAND interface, but the scope of the present invention is not limited thereto.

예를 들어, 제1 메모리 인터페이스 회로(116)는 칩 인에이블 신호(CE), 어드레스 래치 인에이블 신호(ALE), 커맨드 래치 인에이블 신호(CLE), 쓰기 인에이블 신호(WE/), 읽기 인에이블 신호(RE/)을 제1 메모리 장치(120) 또는 제2 컨트롤러(130)로 제공할 수 있고, 데이터 신호들(DQ[1:i])(단, i는 1보다 큰 정수) 및 데이터 스트로브 신호(DQS)를 제1 메모리 장치(120) 또는 제2 컨트롤러(130)과 주고 받을 수 있다. 예시적인 실시 예에서, 도 4에 도시된 제1 메모리 인터페이스 회로(116)와 연관된 신호들은 하나의 채널(예를 들어, 일반 채널(CH_n) 및 전용 채널(CH_d) 중 어느 하나)과 대응되는 신호 구성이다. 도 4에 도시된 신호 구성을 통해 제1 메모리 장치(120) 또는 제2 컨트롤러(130)는 사용자 데이터(UDT) 또는 스페셜 데이터(SDT)를 제1 컨트롤러(110)로부터 수신할 수 있다.For example, the first memory interface circuit 116 may include a chip enable signal CE, an address latch enable signal ALE, a command latch enable signal CLE, a write enable signal WE /, and a read in The enable signal RE / may be provided to the first memory device 120 or the second controller 130, and data signals DQ [1: i] (where i is an integer greater than 1) and data The strobe signal DQS may be exchanged with the first memory device 120 or the second controller 130. In an exemplary embodiment, signals associated with the first memory interface circuit 116 shown in FIG. 4 are signals corresponding to one channel (eg, one of the normal channel CH_n and the dedicated channel CH_d). It is a composition. The first memory device 120 or the second controller 130 may receive user data (UDT) or special data (SDT) from the first controller 110 through the signal configuration illustrated in FIG. 4.

제2 메모리 인터페이스 회로(132)는 칩 인에이블 신호(CE), 어드레스 래치 인에이블 신호(ALE), 커맨드 래치 인에이블 신호(CLE), 쓰기 인에이블 신호(WE/), 읽기 인에이블 신호(RE/)를 제2 메모리 장치(140)로 전송할 수 있고, 데이터 신호들(DQ[1:k])(단, k는 i보다 큰 정수) 및 데이터 스트로브 신호(DQS)를 제2 메모리 장치(140)와 주고 받을 수 있다. 이 때, 제2 메모리 인터페이스 회로(132)의 데이터 신호들(DQ[1:k])의 개수는 제1 메모리 인터페이스 회로(116)의 데이터 신호들(DQ[1:i])의 개수보다 많을 수 있다. 다시 말해서, 제2 메모리 인터페이스 회로(133)의 데이터 입출력 대역이 제1 메모리 인터페이스 회로(116)의 데이터 입출력 대역보다 클 수 있다. 따라서, 제2 메모리 인터페이스 회로(133)의 동작 속도가 제1 메모리 인터페이스 회로(116)의 동작 속도보다 빠를 수 있다. 이에 따라, 제2 컨트롤러(130)는 제2 메모리 장치(140)로부터 고속으로 가중치(WT)를 읽을 수 있다.The second memory interface circuit 132 includes a chip enable signal CE, an address latch enable signal ALE, a command latch enable signal CLE, a write enable signal WE /, and a read enable signal RE /) To the second memory device 140, and the data signals DQ [1: k] (where k is an integer greater than i) and the data strobe signal DQS to the second memory device 140. ). At this time, the number of data signals DQ [1: k] of the second memory interface circuit 132 is greater than the number of data signals DQ [1: i] of the first memory interface circuit 116. You can. In other words, the data input / output band of the second memory interface circuit 133 may be larger than the data input / output band of the first memory interface circuit 116. Therefore, the operating speed of the second memory interface circuit 133 may be faster than the operating speed of the first memory interface circuit 116. Accordingly, the second controller 130 can read the weight WT from the second memory device 140 at high speed.

도 4를 참조하여 설명된 제1 및 제2 메모리 인터페이스 회로들(116, 133)의 구성은 예시적인 것이며, 본 발명의 범위가 이에 한정되는 것은 아니다. 제1 및 제2 메모리 인터페이스 회로들(116, 133)은 도 4에 도시된 신호 구성과 다른 방식으로 구현될 수 있다. The configuration of the first and second memory interface circuits 116 and 133 described with reference to FIG. 4 is exemplary, and the scope of the present invention is not limited thereto. The first and second memory interface circuits 116 and 133 may be implemented in a different manner from the signal configuration shown in FIG. 4.

도 5a 내지 도 5d는 도 1의 제1 메모리 장치 및 제2 메모리 장치를 예시적으로 보여주는 블록도들이다. 도 6은 도 5a 내지 도 5d의 제1 및 제2 메모리 장치들에 포함된 메모리 블록을 예시적으로 보여주는 회로도이다.5A to 5D are block diagrams exemplarily showing the first memory device and the second memory device of FIG. 1. FIG. 6 is a circuit diagram exemplarily showing memory blocks included in the first and second memory devices of FIGS. 5A to 5D.

먼저 도 1, 도 4, 및 도 5a를 참조하면, 제1 메모리 장치(120)는 제1 및 제2 플레인들(PL1, PL2) 및 입출력 회로(121)를 포함할 수 있다. 제1 및 제2 플레인들(PL1, PL2)은 각각 복수의 메모리 블록들을 포함할 수 있다. 입출력 회로(121)는 제1 및 제2 플레인들(PL1, PL2)과 연결되고, 복수의 데이터 라인들(DQ1~DQi)(단, i는 1보다 큰 정수)을 통해 외부 장치(예를 들어, 제1 컨트롤러(110))와 데이터를 주고 받을 수 있다. 예를 들어, 입출력 회로(121)는 복수의 데이터 라인들(DQ1~DQi)과 각각 연결된 복수의 데이터 신호 핀들을 포함할 수 있다. First, referring to FIGS. 1, 4, and 5A, the first memory device 120 may include first and second planes PL1 and PL2 and an input / output circuit 121. The first and second planes PL1 and PL2 may each include a plurality of memory blocks. The input / output circuit 121 is connected to the first and second planes PL1 and PL2, and an external device (for example, i is an integer greater than 1) through a plurality of data lines DQ1 to DQi. , It can exchange data with the first controller 110. For example, the input / output circuit 121 may include a plurality of data signal pins respectively connected to the plurality of data lines DQ1 to DQi.

다음으로, 도 1, 도 4, 및 도 5b를 참조하면, 제2 메모리 장치(140)는 복수의 플레인들(PL1~PLn) 및 입출력 회로(141)를 포함할 수 있다. 복수의 플레인들(PL1~PLn)(단, n은 1보다 큰 정수) 각각은 복수의 메모리 블록들을 포함할 수 있다. 제2 메모리 장치(140)의 입출력 회로(141)는 복수의 플레인들(PL1~PLn)과 연결되고, 복수의 데이터 라인들(DQ1~DQk)(단, k는 i보다 큰 정수)을 통해 외부 장치(예를 들어, 제2 컨트롤러(130))와 데이터를 주고 받을 수 있다. 예를 들어, 입출력 회로(141)는 복수의 데이터 라인들(DQ1~DQk)와 각각 연결된 복수의 데이터 신호 핀들을 포함할 수 있다.Next, referring to FIGS. 1, 4, and 5B, the second memory device 140 may include a plurality of planes PL1 to PLn and an input / output circuit 141. Each of the plurality of planes PL1 to PLn (where n is an integer greater than 1) may include a plurality of memory blocks. The input / output circuit 141 of the second memory device 140 is connected to a plurality of planes PL1 to PLn, and is external through a plurality of data lines DQ1 to DQk (where k is an integer greater than i). Data may be exchanged with a device (eg, the second controller 130). For example, the input / output circuit 141 may include a plurality of data signal pins respectively connected to the plurality of data lines DQ1 to DQk.

도 5a 및 도 5b에 도시된 바와 같이, 제2 메모리 장치(140)에 포함된 플레인들의 개수는 제1 메모리 장치(120)에 포함된 플레인들의 개수보다 많을 수 있다. 예시적인 실시 예에서, 플레인은 동일한 비트라인들을 공유하는 메모리 블록들의 집합을 의미할 수 있다. 즉, 하나의 플레인에 포함된 메모리 블록들은 서로 동일한 비트라인들을 공유할 수 있다.5A and 5B, the number of planes included in the second memory device 140 may be greater than the number of planes included in the first memory device 120. In an exemplary embodiment, the plane may refer to a set of memory blocks sharing the same bit lines. That is, memory blocks included in one plane can share the same bit lines with each other.

예시적인 실시 예에서, 제2 메모리 장치(140)의 데이터 신호 핀들의 개수(즉, DQ 핀의 개수)는 제1 메모리 장치(120)의 데이터 신호 핀들의 개수(즉, DQ 핀의 개수)보다 많을 수 있다. 또는 제2 메모리 장치(140)의 데이터 라인들의 개수는 제1 메모리 장치(120)의 데이터 라인들의 개수보다 많을 수 있다. 즉, 제2 메모리 장치(140)는 제1 메모리 장치(120)보다 빠른 속도로 외부 장치와 데이터를 주고 받을 수 있다.In an exemplary embodiment, the number of data signal pins (ie, the number of DQ pins) of the second memory device 140 is greater than the number of data signal pins (ie, the number of DQ pins) of the first memory device 120. It can be many. Alternatively, the number of data lines of the second memory device 140 may be greater than the number of data lines of the first memory device 120. That is, the second memory device 140 may exchange data with an external device at a faster rate than the first memory device 120.

예시적인 실시 예에서, 제2 메모리 장치(140)의 플레인들의 개수는 제1 메모리 장치(120)의 플레인들의 개수보다 많기 때문에, 제1 및 제2 메모리 장치들(120, 140)의 DQ 신호 핀들의 배치는 서로 다를 수 있다. 예를 들어, 도 5c에 도시된 바와 같이, 제1 메모리 장치(120)의 DQ 신호 핀들(즉, DQ 패드들)(DQ1~DQi)은 제1 메모리 장치(120)의 에지 영역(EDGE)에 배치될 수 있다. 반면에, 제2 메모리 장치(140)의 DQ 신호 핀들(즉, DQ 패드들)(DQ1~DQk)은 제2 메모리 장치(140)의 센터 영역(CENTER)에 배치될 수 있다. 제2 메모리 장치(140)의 DQ 신호 핀들(DQ1~DQk)이 제2 메모리 장치(140)의 센터 영역(CENTER)에 배치됨에 따라, DQ 신호 핀들(DQ1~DQk) 및 복수의 플레인들(PL1~PLn) 사이의 물리적 거리가 감소되고, 이에 따라 제2 메모리 장치(140)의 고속 동작이 가능할 수 있다. In an exemplary embodiment, since the number of planes of the second memory device 140 is greater than the number of planes of the first memory device 120, DQ signal pins of the first and second memory devices 120 and 140 The arrangement of can be different. For example, as illustrated in FIG. 5C, DQ signal pins (ie, DQ pads) DQ1 to DQi of the first memory device 120 are in the edge area EDGE of the first memory device 120. Can be deployed. On the other hand, DQ signal pins (ie, DQ pads) DQ1 to DQk of the second memory device 140 may be disposed in the center area CENTER of the second memory device 140. As the DQ signal pins DQ1 to DQk of the second memory device 140 are disposed in the center area CENTER of the second memory device 140, the DQ signal pins DQ1 to DQk and a plurality of planes PL1 ~ PLn) is reduced, and accordingly, high-speed operation of the second memory device 140 may be possible.

예시적인 실시 예에서, 도 5d에 도시된 바와 같이, 제2 메모리 장치(140-1)는 MAC 모듈(multiply accumulate module)(142)를 더 포함할 수 있다. MAC 모듈(142)은 제2 메모리 장치(140-1)에 저장된 가중치(WT)에 대한 MAC 연산을 수행하고, MAC 연산의 결과를 복수의 데이터 라인들(DQ1~DQk)을 통해 출력하도록 구성될 수 있다. 예를 들어, 도 3을 참조하여 설명된 바와 같이, 제2 컨트롤러(130)의 머신 러닝 코어(132)는 가중치(WT)에 대한 MAC 연산을 수행하도록 구성될 수 있다. 이 때, 제2 메모리 장치(140-1)에서 가중치(WT)에 대한 MAC 연산의 결과를 출력할 경우, 제2 컨트롤러(130)에서 수행될 MAC 연산에 대한 연산 부담이 경감될 수 있다. 즉, 스토리지 장치(100)의 구현 방식에 따라 MAC 모듈은 제2 메모리 장치(140)에 포함되거나 또는 제2 컨트롤러(120)에 포함될 수 있다.In an exemplary embodiment, as illustrated in FIG. 5D, the second memory device 140-1 may further include a multiply accumulate module (MAC) module 142. The MAC module 142 is configured to perform a MAC operation on the weight WT stored in the second memory device 140-1 and output the result of the MAC operation through a plurality of data lines DQ1 to DQk. You can. For example, as described with reference to FIG. 3, the machine learning core 132 of the second controller 130 may be configured to perform a MAC operation on the weight WT. At this time, when the second memory device 140-1 outputs the result of the MAC operation on the weight WT, the computational load on the MAC operation to be performed on the second controller 130 can be reduced. That is, the MAC module may be included in the second memory device 140 or the second controller 120 according to the implementation method of the storage device 100.

예시적인 실시 예에서, 제1 및 제2 메모리 장치들(120, 140) 각각의 플레인들에 포함된 복수의 메모리 블록들 각각은 서로 동일한 셀-타입(예를 들어, CTF)의 메모리 셀들을 포함할 수 있다. 예를 들어, 제1 및 제2 메모리 장치들(120, 140) 각각의 플레인들에 포함된 복수의 메모리 블록들 각각은 도 6에 도시된 메모리 블록(BLK)과 유사한 구조를 가질 수 있다. In an exemplary embodiment, each of the plurality of memory blocks included in the planes of each of the first and second memory devices 120 and 140 includes memory cells of the same cell-type (eg, CTF) with each other. can do. For example, each of the plurality of memory blocks included in the planes of the first and second memory devices 120 and 140 may have a structure similar to the memory block BLK shown in FIG. 6.

예시적으로, 도 6을 참조하여 3차원 구조의 메모리 블록이 설명되나, 본 발명의 범위가 이에 한정되는 것은 아니다. 본 발명에 따른 메모리 블록은 2차원 구조의 메모리 블록의 구조를 가질 수 있다. 예시적으로, 도 6에 도시된 메모리 블록은 제1 및 제2 메모리 장치들(120, 140) 각각의 물리적 소거 단위일 수 있다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니며, 소거 단위는 페이지 단위, 워드라인 단위, 서브 블록 단위 등으로 변형될 수 있다. Illustratively, a memory block having a three-dimensional structure is described with reference to FIG. 6, but the scope of the present invention is not limited thereto. The memory block according to the present invention may have a two-dimensional memory block structure. For example, the memory block illustrated in FIG. 6 may be a physical erase unit of each of the first and second memory devices 120 and 140. However, the scope of the present invention is not limited thereto, and the erase unit may be modified in units of pages, word lines, and sub-blocks.

도 6을 참조하면, 메모리 블록(BLK)은 복수의 셀 스트링들(CS11, CS12, CS21, CS22)을 포함한다. 복수의 셀 스트링들(CS11, CS12, CS21, CS22)은 행 방향(row direction) 및 열 방향(column direction)을 따라 배치되어 행들 및 열들을 형성할 수 있다.Referring to FIG. 6, the memory block BLK includes a plurality of cell strings CS11, CS12, CS21, and CS22. The plurality of cell strings CS11, CS12, CS21, and CS22 may be arranged along a row direction and a column direction to form rows and columns.

복수의 셀 스트링들(CS11, CS12, CS21, CS22) 각각은 복수의 셀 트랜지스터들을 포함한다. 예를 들어, 복수의 셀 스트링들(CS11, CS12, CS21, CS22) 각각은 스트링 선택 트랜지스터들(SSTa, SSTb), 복수의 메모리 셀들(MC1~MC8), 접지 선택 트랜지스터들(GSTa, GSTb), 및 더미 메모리 셀들(DMC1, DMC2)을 포함할 수 있다. 예시적으로, 복수의 셀 스트링들(CS11, CS12, CS21, CS22)에 포함된 복수의 셀 트랜지스터들 각각은 전하 트랩형 플래시(CTF; charge trap flash) 메모리 셀일 수 있다.Each of the plurality of cell strings CS11, CS12, CS21, and CS22 includes a plurality of cell transistors. For example, each of the plurality of cell strings CS11, CS12, CS21, and CS22 includes string select transistors SSTa and SSTb, a plurality of memory cells MC1 to MC8, and ground select transistors GSTa and GSTb. And dummy memory cells DMC1 and DMC2. For example, each of the plurality of cell transistors included in the plurality of cell strings CS11, CS12, CS21, and CS22 may be a charge trap flash (CTF) memory cell.

복수의 메모리 셀들(MC1~MC8)은 직렬 연결되며, 행 방향 및 열 방향에 의해 형성된 평면과 수직한 방향인 높이 방향(height direction)으로 적층된다. 스트링 선택 트랜지스터들(SSTa, SSTb)은 직렬 연결되고, 직렬 연결된 스트링 선택 트랜지스터들(SSTa, SSTb)은 복수의 메모리 셀들(MC1~MC8) 및 비트라인(BL) 사이에 제공된다. 접지 선택 트랜지스터들(GSTa, GSTb)은 직렬 연결되고, 직렬 연결된 접지 선택 트랜지스터들(GSTa, GSTb)은 복수의 메모리 셀들(MC1~MC8) 및 공통 소스 라인(CSL) 사이에 제공된다.The memory cells MC1 to MC8 are connected in series, and are stacked in a height direction, which is a direction perpendicular to a plane formed by the row direction and the column direction. The string select transistors SSTa and SSTb are connected in series, and the string select transistors SSTa and SSTb connected in series are provided between the plurality of memory cells MC1 to MC8 and the bit line BL. The ground selection transistors GSTa and GSTb are connected in series, and the series connected ground selection transistors GSTa and GSTb are provided between the plurality of memory cells MC1 to MC8 and the common source line CSL.

예시적으로, 복수의 메모리 셀들(MC1~MC8) 및 접지 선택 트랜지스터들(GSTa, GSTb) 사이에 제1 더미 메모리 셀(DMC1)이 제공될 수 있다. 예시적으로, 복수의 메모리 셀들(MC1~MC8) 및 스트링 선택 트랜지스터들(SSTa, SSTb) 사이에 제2 더미 메모리 셀(DMC2)이 제공될 수 있다. For example, the first dummy memory cell DMC1 may be provided between the plurality of memory cells MC1 to MC8 and the ground selection transistors GSTa and GSTb. For example, the second dummy memory cell DMC2 may be provided between the plurality of memory cells MC1 to MC8 and the string select transistors SSTa and SSTb.

셀 스트링들(CS11, CS12, CS21, CS22)의 접지 선택 트랜지스터들(GSTa, GSTb)은 접지 선택 라인(GSL)에 공통으로 연결될 수 있다. 예시적으로, 동일한 행의 접지 선택 트랜지스터들은 동일한 접지 선택 라인에 연결될 수 있고, 다른 행의 접지 선택 트랜지스터들은 다른 접지 선택 라인에 연결될 수 있다. 예를 들어, 제1 행의 셀 스트링들(CS11, CS12)의 제1 접지 선택 트랜지스터들(GSTa)은 제1 접지 선택 라인에 연결될 수 있고, 제2 행의 셀 스트링들(CS21, CS22)의 제1 접지 선택 트랜지스터들(GSTa)은 제2 접지 선택 라인에 연결될 수 있다.The ground select transistors GSTa and GSTb of the cell strings CS11, CS12, CS21, and CS22 may be commonly connected to the ground select line GSL. For example, ground select transistors in the same row may be connected to the same ground select line, and ground select transistors in another row may be connected to a different ground select line. For example, the first ground select transistors GSTa of the cell strings CS11 and CS12 of the first row may be connected to the first ground select line, and the cell strings CS21 and CS22 of the second row may be connected. The first ground selection transistors GSTa may be connected to the second ground selection line.

예시적으로, 도면에 도시되지는 않았으나, 기판(미도시)으로부터 동일한 높이에 제공되는 접지 선택 트랜지스터들은 동일한 접지 선택 라인에 연결될 수 있고, 다른 높이에 제공되는 접지 선택 트랜지스터들은 다른 접지 선택 라인에 연결될 수 있다.Illustratively, although not shown in the drawings, ground selection transistors provided at the same height from a substrate (not shown) may be connected to the same ground selection line, and ground selection transistors provided at different heights may be connected to different ground selection lines. You can.

기판 또는 접지 선택 트랜지스터(GSTa, GSTb)으로부터 동일한 높이의 메모리 셀들은 동일한 워드 라인에 공통으로 연결되고, 서로 다른 높이의 메모리 셀들은 서로 다른 워드 라인에 연결된다. 예를 들어, 셀 스트링들(CS11, CS12, CS21, CS22)의 제1 내지 제8 메모리 셀들(MC8)은 제1 내지 제8 워드라인들(WL1~WL8)에 각각 공통으로 연결된다.Memory cells of the same height from the substrate or ground selection transistors GSTa and GSTb are commonly connected to the same word line, and memory cells of different heights are connected to different word lines. For example, the first to eighth memory cells MC8 of the cell strings CS11, CS12, CS21, and CS22 are commonly connected to the first to eighth word lines WL1 to WL8, respectively.

동일한 높이의 제1 스트링 선택 트랜지스터들(SSTa) 중 동일한 행의 스트링 선택 트랜지스터들은 동일한 스트링 선택 라인과 연결되고, 다른 행의 스트링 선택 트랜지스터들은 다른 스트링 선택 라인과 연결된다. 예를 들어, 제1 행의 셀 스트링들(CS11, CS12)의 제1 스트링 선택 트랜지스터들(SSTa)은 스트링 선택 라인(SSL1a)과 공통으로 연결되고, 제2 행의 셀 스트링들(CS21, CS22)의 제1 스트링 선택 트랜지스터들(SSTa)은 스트링 선택 라인(SSL1a)과 공통으로 연결된다.The string select transistors of the same row among the first string select transistors SSTa of the same height are connected to the same string select line, and the string select transistors of the other row are connected to another string select line. For example, the first string select transistors SSTa of the cell strings CS11 and CS12 in the first row are commonly connected to the string select line SSL1a and the cell strings CS21 and CS22 in the second row. ), The first string select transistors SSTa are commonly connected to the string select line SSL1a.

마찬가지로, 동일한 높이의 제2 스트링 선택 트랜지스터들(SSTb) 중 동일한 행의 스트링 선택 트랜지스터들은 동일한 스트링 선택 라인과 연결되고, 다른 행의 스트링 선택 트랜지스터들은 다른 스트링 선택 라인과 연결된다. 예를 들어, 제1 행의 셀 스트링들(CS11, CS12)의 제2 스트링 선택 트랜지스터들(SSTb)은 스트링 선택 라인(SSL1b)과 공통으로 연결되고, 제2 행의 셀 스트링들(CS21, CS22)의 제2 스트링 선택 트랜지스터들(SSTb)은 스트링 선택 라인(SSL2b)과 공통으로 연결된다.Similarly, the string select transistors of the same row among the second string select transistors SSTb of the same height are connected to the same string select line, and the string select transistors of the other row are connected to another string select line. For example, the second string select transistors SSTb of the cell strings CS11 and CS12 in the first row are commonly connected to the string select line SSL1b and the cell strings CS21 and CS22 in the second row. ), The second string select transistors SSTb are commonly connected to the string select line SSL2b.

예시적으로, 동일한 높이의 더미 메모리 셀들은 동일한 더미 워드라인과 연결되고, 다른 높이의 더미 메모리 셀들은 다른 더미 워드라인과 연결된다. 예를 들어, 제1 더미 메모리 셀들(DMC1)은 제1 더미 워드라인(DWL1)과 연결되고, 제2 더미 메모리 셀들(DMC2)은 제2 더미 워드라인(DWL2)과 연결된다. For example, dummy memory cells of the same height are connected to the same dummy word line, and dummy memory cells of different heights are connected to another dummy word line. For example, the first dummy memory cells DMC1 are connected to the first dummy word line DWL1, and the second dummy memory cells DMC2 are connected to the second dummy word line DWL2.

예시적으로, 도 6에 도시된 메모리 블록(BLK)은 예시적인 것이며, 셀 스트링들의 개수는 증가 또는 감소할 수 있으며, 셀 스트링들의 개수에 따라 셀 스트링들이 구성하는 행들 및 열들의 개수는 증가 또는 감소할 수 있다. 또한, 메모리 블록(BLK)의 셀 트랜지스터들(GST, MC, DMC, SST 등)의 개수들은 각각 증가 또는 감소될 수 있으며, 셀 트랜지스터들의 개수들에 따라 메모리 블록(BLK)의 높이가 증가 또는 감소할 수 있다. 또한, 셀 트랜지스터들의 개수들에 따라 셀 트랜지스터들과 연결된 라인들(GSL, WL, DWL, SSL 등)의 개수들이 증가 또는 감소될 수 있다.For example, the memory block BLK illustrated in FIG. 6 is exemplary, and the number of cell strings may increase or decrease, and the number of rows and columns of the cell strings may increase or decrease according to the number of cell strings, or Can decrease. In addition, the number of cell transistors (GST, MC, DMC, SST, etc.) of the memory block BLK may be increased or decreased, respectively, and the height of the memory block BLK may be increased or decreased according to the number of cell transistors. can do. Also, the number of lines (GSL, WL, DWL, SSL, etc.) connected to the cell transistors may be increased or decreased according to the number of cell transistors.

도 7은 도 1의 스토리지 장치의 동작을 보여주는 순서도이다. 이하에서, 본 발명의 기술적 사상을 용이하게 설명하기 위하여, 스토리지 장치(100)는 호스트(11)로부터 쓰기 요청 및 데이터를 수신하는 것으로 가정한다. 그러나 본 발명의 범위가 이에 한정되는 것은 아니다.7 is a flowchart illustrating an operation of the storage device of FIG. 1. Hereinafter, in order to easily describe the technical idea of the present invention, it is assumed that the storage device 100 receives a write request and data from the host 11. However, the scope of the present invention is not limited thereto.

도 1 및 도 7을 참조하면, S111 단계에서, 스토리지 장치(100)는 호스트(11)로부터 쓰기 요청 및 입력 데이터를 수신할 수 있다. 예를 들어, 호스트(11)는 스토리지 장치(100)로 입력 데이터(예를 들어, 사용자 데이터 또는 스페셜 데이터)를 전송하기 위하여, 스토리지 장치(100)로 쓰기 요청을 전송할 수 있다. 1 and 7, in step S111, the storage device 100 may receive a write request and input data from the host 11. For example, the host 11 may transmit a write request to the storage device 100 in order to transmit input data (eg, user data or special data) to the storage device 100.

S112 단계에서, 스토리지 장치(100)는 수신된 쓰기 요청이 스페셜 동작에 관한 것인지 판별할 수 있다. 예를 들어, 스토리지 장치(100)의 제1 컨트롤러(110)의 입출력 라우터(111)는 수신된 쓰기 요청에 대응하는 어드레스 정보, 논리적 유닛 정보, 또는 쓰기 요청의 속성 등을 기반으로 수신된 쓰기 요청이 일반 동작에 관한 것인지 또는 스페셜 동작에 관한 것인지 판별할 수 있다. S112 단계의 동작은 도 8a 내지 도 8d를 참조하여 더욱 상세하게 설명된다.In step S112, the storage device 100 may determine whether the received write request is related to a special operation. For example, the input / output router 111 of the first controller 110 of the storage device 100 receives a write request received based on address information, logical unit information, or attribute of the write request corresponding to the received write request. It can be determined whether it is related to the general operation or the special operation. The operation of step S112 will be described in more detail with reference to FIGS. 8A to 8D.

수신된 쓰기 요청이 스페셜 동작에 관한 것이 아닌 경우(즉, 수신된 쓰기 동작이 일반 동작에 관한 것인 경우), S113 단계에서, 스토리지 장치(100)는 일반 채널(CH_n)을 통해 제1 메모리 장치(130)에 대한 쓰기 동작(또는 프로그램 동작)을 수행할 수 있다. 예를 들어, 제1 컨트롤러(110)는 호스트(11)로부터 수신된 쓰기 요청에 응답하여, 수신된 입력 데이터(즉, 사용자 데이터(UDT))를 제1 메모리 장치(130)로 전송하고, 제1 메모리 장치(130)는 수신된 사용자 데이터(UDT)에 대한 프로그램 동작을 수행할 수 있다. When the received write request is not related to a special operation (that is, when the received write operation is related to a general operation), in step S113, the storage device 100 first memory device through the normal channel (CH_n) A write operation (or program operation) for 130 may be performed. For example, the first controller 110 transmits the received input data (that is, user data (UDT)) to the first memory device 130 in response to a write request received from the host 11, and 1 The memory device 130 may perform a program operation on the received user data (UDT).

S114 단계에서, 스토리지 장치(100)는 쓰기 요청에 대한 결과를 호스트(11)로 전송할 수 있다. 예를 들어, 제1 컨트롤러(110)는 제1 메모리 장치(130)에 대한 프로그램 동작의 결과(예를 들어, 프로그램 패스/페일)를 수신하고, 수신된 결과에 대응하는 정보를 쓰기 요청에 대한 응답(response)으로서 호스트(11)로 전송할 수 있다. 예시적인 실시 예에서, 제1 메모리 장치(130)에 대한 프로그램 동작의 결과가 프로그램 페일인 경우, 스토리지 장치(100)는 사용자 데이터에 대한 프로그램 동작을 재수행할 수 있다. In step S114, the storage device 100 may transmit a result of the write request to the host 11. For example, the first controller 110 receives a result (eg, a program pass / fail) of a program operation to the first memory device 130, and writes information corresponding to the received result to a request for writing. It can be sent to the host 11 as a response. In an exemplary embodiment, when the result of the program operation on the first memory device 130 is a program fail, the storage device 100 may perform the program operation on user data again.

S112 단계의 판결 결과가, 수신된 쓰기 요청이 스페셜 동작에 관한 것임을 가리키는 경우, S115 단계에서, 스토리지 장치(100)는 전용 채널(CH_d)을 통해 입력 데이터(즉, 스페셜 데이터(SDT))를 제2 컨트롤러(130)로 전송할 수 있다.When the judgment result of step S112 indicates that the received write request is related to a special operation, in step S115, the storage device 100 provides input data (ie, special data (SDT)) through a dedicated channel (CH_d). 2 can be transmitted to the controller 130.

S116 단계에서, 스토리지 장치(100)는 제2 메모리 장치(140)에 저장된 가중치(WT)를 사용하여 스페셜 데이터(SDT)에 대한 스페셜 동작을 수행할 수 있다. 예를 들어, 제2 컨트롤러(130)는 제2 메모리 인터페이스(IF2)를 통해 제2 메모리 장치(140)로부터 가중치(WT)를 읽고, 읽은 가중치(WT)를 사용하여, 제1 메모리 인터페이스(IF1)의 전용 채널(CH_d)을 통해 제공된 스페셜 데이터(SDT)에 대한 스페셜 동작을 수행할 수 있다.In operation S116, the storage device 100 may perform a special operation on the special data SDT using the weight WT stored in the second memory device 140. For example, the second controller 130 reads the weight WT from the second memory device 140 through the second memory interface IF2, and uses the read weight WT, the first memory interface IF1 ) May perform a special operation on the special data SDT provided through the dedicated channel CH_d.

예시적인 실시 예에서, 앞서 설명된 바와 같이, 제1 컨트롤러(110)는 제2 컨트롤러(130)로 스페셜 데이터(SDT)를 제공하기 위하여, 프로그램 커맨드를 사용할 수 있다. 즉, 제2 컨트롤러(130)는 제1 컨트롤러(110)로부터 전용 채널(CH_d)을 통해 프로그램 커맨드 및 스페셜 데이터(SDT)를 수신하고, 수신된 프로그램 커맨드에 응답하여, 스페셜 데이터(SDT)에 대한 스페셜 동작을 수행할 수 있다.In an exemplary embodiment, as described above, the first controller 110 may use a program command to provide special data (SDT) to the second controller 130. That is, the second controller 130 receives the program command and special data (SDT) through the dedicated channel (CH_d) from the first controller 110, and in response to the received program command, for the special data (SDT) A special operation can be performed.

S117 단계에서, 스토리지 장치(100)는 호스트(11)로 응답(response)을 전송할 수 있다. 예를 들어, 제2 컨트롤러(130)가 스페셜 동작을 완료한 경우, 스토리지 장치(100)의 제1 컨트롤러(110)는 수신된 쓰기 요청에 대한 응답을 호스트(11)로 전송할 수 있다. In step S117, the storage device 100 may transmit a response to the host 11. For example, when the second controller 130 completes the special operation, the first controller 110 of the storage device 100 may transmit a response to the received write request to the host 11.

S118 단계에서, 스토리지 장치(100)는 호스트(11)로부터 스페셜 동작에 대한 읽기 요청을 수신할 수 있다. 예를 들어, 호스트(11)는 스토리지 장치(100)로부터의 응답(다시 말해서, 스페셜 동작의 완료를 가리키는 응답)에 응답하여, 스페셜 동작에 대한 결과 데이터(RDT)를 읽기 위한 읽기 요청을 스토리지 장치(100)로 전송할 수 있다. 예시적인 실시 예에서, S118 단계의 읽기 요청은 이하의 도 8a 내지 도 8d를 참조하여 설명될 제2 컨트롤러(130)를 액세스하기 위한 전용 어드레스 정보, 전용 논리적 유닛 정보 등을 포함하거나 또는 전용 읽기 요청일 수 있다.In step S118, the storage device 100 may receive a read request for a special operation from the host 11. For example, the host 11 responds to a response from the storage device 100 (that is, a response indicating completion of the special operation), and the storage device issues a read request to read the result data RDT for the special operation. It can be transmitted to (100). In an exemplary embodiment, the read request in step S118 includes dedicated address information, dedicated logical unit information, or the like for accessing the second controller 130 to be described with reference to FIGS. 8A to 8D below, or a dedicated read request Can be

S119 단계에서, 스토리지 장치(100)는 수신된 읽기 요청에 응답하여, 스페셜 동작의 결과(즉, 결과 데이터(RDT))를 호스트(11)로 전송할 수 있다. In step S119, the storage device 100 may transmit the result of the special operation (that is, the result data RDT) to the host 11 in response to the received read request.

도 8a 내지 도 8d는 도 5의 S112의 판별 동작을 설명하기 위한 도면들이다. 간결한 설명을 위하여, 본 발명의 기술적 사상을 설명하는데 불필요한 구성 요소들은 생략된다. 예시적인 실시 예에서, 도 8a 내지 도 8d에 도시된 실시 예들은 예시적인 것이며, 본 발명의 범위가 이에 한정되는 것은 아니다.8A to 8D are views for explaining the determination operation of S112 in FIG. 5. For the sake of brevity, elements unnecessary for describing the technical idea of the present invention are omitted. In the exemplary embodiment, the embodiments illustrated in FIGS. 8A to 8D are exemplary, and the scope of the present invention is not limited thereto.

먼저, 도 8a를 참조하면, 호스트(11)는 호스트 애플리케이션(11a) 및 장치 드라이버(11b)를 포함할 수 있다. 호스트 애플리케이션(11a)은 호스트(11) 상에서 구동되는 운영 체제(OS; operating system) 또는 다양한 사용자 프로그램들 등을 포함할 수 있다. First, referring to FIG. 8A, the host 11 may include a host application 11a and a device driver 11b. The host application 11a may include an operating system (OS) or various user programs running on the host 11.

장치 드라이버(11b)는 호스트 애플리케이션(11a)의 요청에 따라 스토리지 장치(100)를 액세스하도록 구성될 수 있다. 예를 들어, 장치 드라이버(11b)는 호스트 애플리케이션(11a)에서 요청된 동작이 스토리지 장치(100)에서 수행될 수 있도록, 호스트로 애플리케이션(11a)으로부터 제공된 정보를 스토리지 장치(100)에서 식별 가능한 정보로 변환하거나 또는 관리하도록 구성될 수 있다. 예시적인 실시 예에서, 도 8b 내지 도 8d를 참조하여 설명되는 전용 어드레스 정보, 전용 논리적 유닛 정보, 전용 요청 등은 장치 드라이버(11b)에 의해 변환되거나 또는 관리될 수 있다.The device driver 11b may be configured to access the storage device 100 at the request of the host application 11a. For example, the device driver 11b identifies information provided from the application 11a to the host so that the operation requested by the host application 11a can be performed in the storage device 100, and information that can be identified in the storage device 100 It can be configured to convert to or manage. In an exemplary embodiment, dedicated address information, dedicated logical unit information, dedicated requests, etc. described with reference to FIGS. 8B to 8D may be converted or managed by the device driver 11b.

다음으로, 도 1, 도 8a, 및 도 8b를 참조하면, 호스트(11)는 스토리지 장치(100)의 저장 영역을 도 8b에 도시된 바와 같이 인식할 수 있다. 예를 들어, 스토리지 장치(100)의 저장 공간은 사용자 영역(User Area) 및 전용 영역(Dedicated Area)을 포함할 수 있다. 사용자 영역(User Area)은 스토리지 장치(100)에서 사용자 데이터(UDT)를 저장할 수 있는 공간과 대응될 수 있고, 전용 영역(Dedicated Area)은 미리 정해진 별도의 공간 또는 가상 공간과 대응될 수 있다.Next, referring to FIGS. 1, 8A, and 8B, the host 11 may recognize the storage area of the storage device 100 as illustrated in FIG. 8B. For example, the storage space of the storage device 100 may include a user area and a dedicated area. The user area may correspond to a space in the storage device 100 that can store user data (UDT), and the dedicated area may correspond to a predetermined separate space or virtual space.

호스트(11), 좀 더 상세하게는, 호스트(11)의 호스트 애플리케이션(11a)은 스토리지 장치(100)의 사용자 영역(User Area)에 대한 액세스를 수행할 수 있다. 즉, 호스트 애플리케이션(11a)은 스토리지 장치(100)의 사용자 영역(User Area)에 대한 데이터 쓰기, 읽기, 소거 등의 동작을 수행할 수 있다. The host 11, and more specifically, the host application 11a of the host 11 may perform access to a user area of the storage device 100. That is, the host application 11a may perform operations such as data writing, reading, and erasing of a user area of the storage device 100.

반면에, 호스트(11)의 장치 드라이버(11b)는 스토리지 장치(100)의 사용자 영역(User Area) 및 전용 영역(Dedicated Area)을 인식할 수 있다. 호스트 애플리케이션(11a)이 스토리지 장치(100)에 대한 일반 동작(예를 들어, 사용자 데이터 읽기, 사용자 데이터 쓰기 등)을 요청한 경우, 장치 드라이버(11b)는 사용자 영역(User Area)의 일반 어드레스(Normal Address)를 갖는 요청을 스토리지 장치(100)로 전송할 수 있다. 이 경우, 스토리지 장치(100)는 사용자 영역(User) 중 수신된 일반 어드레스에 대응하는 영역에 대한 일반 동작을 수행할 수 있다.On the other hand, the device driver 11b of the host 11 may recognize a user area and a dedicated area of the storage device 100. When the host application 11a requests a general operation (eg, reading user data, writing user data, etc.) for the storage device 100, the device driver 11b may display the normal address (Normal) of the user area. Address) may be transmitted to the storage device 100. In this case, the storage device 100 may perform a general operation on the area corresponding to the received general address among the user areas (User).

호스트 애플리케이션(11a)이 스페셜 동작을 요청한 경우, 장치 드라이버(11b)는 전용 영역(Dedicated Area)의 전용 어드레스(Dedicated Address)를 갖는 요청을 스토리지 장치(100)로 전송할 수 있다. 이 경우, 스토리지 장치(100)는 수신된 요청에 포함된 전용 어드레스에 응답하여, 스페셜 동작을 수행할 수 있다. 즉, 스토리지 장치(100)의 제1 컨트롤러(110)는 전용 어드레스를 갖는 요청에 대응하는 입력 데이터(즉, 스페셜 데이터(SDT))를 제2 컨트롤러(130)로 전달할 수 있다. When the host application 11a requests a special operation, the device driver 11b may transmit a request having a dedicated address of the dedicated area to the storage device 100. In this case, the storage device 100 may perform a special operation in response to a dedicated address included in the received request. That is, the first controller 110 of the storage device 100 may transmit input data (ie, special data (SDT)) corresponding to a request having a dedicated address to the second controller 130.

다음으로, 도 1, 도 8a, 및 도 8c를 참조하면, 스토리지 장치(100)의 저장 공간은 논리적 유닛(logical unit) 단위로 구분될 수 있다. 예시적인 실시 예에서, 논리적 유닛(logical unit)은 호스트(11)로부터의 요청을 독립적으로 처리할 수 있는 지정 가능한 독립적인 객체를 가리킬 수 있다.Next, referring to FIGS. 1, 8A, and 8C, the storage space of the storage device 100 may be divided into logical unit units. In an exemplary embodiment, a logical unit may refer to a designate independent object capable of independently processing requests from the host 11.

호스트 애플리케이션(11a)은 스토리지 장치(100)의 저장 공간을 제1 내지 제n 논리적 유닛들로 인식할 수 있다. 반면에, 장치 드라이버(11b)는 스토리지 장치(100)의 저장 공간을 제1 내지 제n 논리적 유닛들 및 전용 논리적 유닛으로 인식할 수 있다.The host application 11a may recognize the storage space of the storage device 100 as first to nth logical units. On the other hand, the device driver 11b may recognize the storage space of the storage device 100 as first to nth logical units and dedicated logical units.

도 8b를 참조하여 설명된 바와 유사하게, 호스트 애플리케이션(11a)이 스토리지 장치(100)에 대한 일반 동작을 요청한 경우, 장치 드라이버(11b)는 제1 내지 제n 논리적 유닛들 중 어느 하나에 대한 정보를 포함하는 요청을 스토리지 장치(100)로 전송할 수 있다. 제1 내지 제n 논리적 유닛들 중 어느 하나에 대한 정보를 포함하는 요청에 응답하여, 스토리지 장치(100)는 대응하는 논리적 유닛에 대한 일반 동작을 수행할 수 있다.Similar to that described with reference to FIG. 8B, when the host application 11a requests a normal operation of the storage device 100, the device driver 11b information about any one of the first to nth logical units A request including a may be transmitted to the storage device 100. In response to a request including information on any one of the first to nth logical units, the storage device 100 may perform a general operation for the corresponding logical unit.

호스트 애플리케이션(11a)이 스페셜 동작을 요청한 경우, 장치 드라이버(11b)는 전용 논리적 유닛에 대한 정보를 포함하는 요청을 스토리지 장치(100)로 전송할 수 있다. 스토리지 장치(100)는 전용 논리적 유닛에 대한 정보를 포함하는 요청에 응답하여, 스페셜 동작을 수행할 수 있다. When the host application 11a requests a special operation, the device driver 11b may transmit a request including information about a dedicated logical unit to the storage device 100. The storage device 100 may perform a special operation in response to a request including information about a dedicated logical unit.

다음으로, 도 1, 도 8a, 및 도 8d를 참조하면, 장치 드라이버(11b)는 일반 동작을 위한 요청 및 스페셜 동작을 위한 요청을 명시적으로 구분하여 스토리지 장치(100)로 전송할 수 있다. 예를 들어, 도 8b 및 도 8c를 참조하여 설명된 실시 예들에서, 장치 드라이버(11b)는 일반적인 쓰기 커맨드에 전용 어드레스에 대한 정보 또는 전용 논리적 유닛에 대한 정보를 추가함으로써, 스페셜 동작을 위한 요청을 발행할 수 있다.Next, referring to FIGS. 1, 8A, and 8D, the device driver 11b may explicitly distinguish a request for a normal operation and a request for a special operation and transmit the request to the storage device 100. For example, in the embodiments described with reference to FIGS. 8B and 8C, the device driver 11b makes a request for a special operation by adding information about a dedicated address or information about a dedicated logical unit to a general write command. Can be issued.

반면에, 도 8d에 도시된 실시 예에서, 장치 드라이버(11b)는 일반 동작을 위한 요청과 명시적으로 구분된 스페셜 동작을 위한 요청을 발행할 수 있다. 즉, 장치 드라이버(11b)로부터 쓰기 요청(WR RQ)이 수신된 경우, 스토리지 장치(100)의 입출력 라우터(111)는 수신된 쓰기 요청(WR RQ)을 제1 메모리 장치(120)로 전달할 수 있다. 장치 드라이버(11b)로부터 쓰기 요청(WR RQ)과 명시적으로 구분되는 스페셜 동작 요청(SP RQ)이 수신되는 경우, 입출력 라우터(111)는 수신된 스페셜 동작 요청(SP RQ)을 제2 컨트롤러(130)로 전달할 수 있다. On the other hand, in the embodiment shown in FIG. 8D, the device driver 11b may issue a request for a special operation explicitly distinguished from a request for a normal operation. That is, when a write request (WR RQ) is received from the device driver 11b, the input / output router 111 of the storage device 100 may transmit the received write request (WR RQ) to the first memory device 120. have. When a special operation request (SP RQ) that is explicitly distinguished from a write request (WR RQ) is received from the device driver 11b, the input / output router 111 transmits the received special operation request (SP RQ) to the second controller ( 130).

예시적인 실시 예에서, 스페셜 동작 요청(SP RQ)은 호스트(11) 및 스토리지 장치(100) 사이의 프로토콜에 의해 정의된 요청 또는 커맨드들 중 하나, 예비 커맨드, 또는 제조사 커맨드(vendor specific command)일 수 있다. 또는 스페셜 동작 요청(SP RQ)은 특정 요청 또는 커맨드의 예비 필드에 특정 값을 설정함으로써 발행될 수 있다. In an exemplary embodiment, the special operation request (SP RQ) may be one of a request or commands defined by a protocol between the host 11 and the storage device 100, a preliminary command, or a vendor specific command. You can. Alternatively, a special operation request (SP RQ) may be issued by setting a specific value in a reserved field of a specific request or command.

도 8a 내지 도 8d를 참조하여 설명된 구성들은 본 발명의 기술적 사상을 용이하게 설명하기 위한 예시적인 것들이며, 본 발명의 범위가 이에 한정되는 것은 아니다. 호스트(11) 및 스토리지 장치(100) 사이의 미리 정해진 프로토콜에 따라 일반 동작 및 스페셜 동작을 구분하기 위한 다양한 방식이 사용될 수 있다.The configurations described with reference to FIGS. 8A to 8D are exemplary for easily explaining the technical spirit of the present invention, and the scope of the present invention is not limited thereto. Various methods for distinguishing general operations and special operations according to a predetermined protocol between the host 11 and the storage device 100 may be used.

예시적인 실시 예에서, 도 8a 내지 도 8d를 참조하여 설명된 실시 예들에서, 호스트(11)의 장치 드라이버(11b)가 일반 동작 및 스페셜 동작을 구분하기 위한 관리를 수행하는 것으로 설명되었으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 예를 들어, 호스트(11)의 호스트 애플리케이션(11a)은 상술된 장치 드라이버(11b)의 동작을 수행하도록 구성될 수 있다. In the exemplary embodiment, in the embodiments described with reference to FIGS. 8A to 8D, the device driver 11b of the host 11 has been described as performing management for distinguishing general operations and special operations, but the present invention The scope of is not limited thereto. For example, the host application 11a of the host 11 may be configured to perform the operation of the device driver 11b described above.

도 9a 및 도 9b는 도 1의 호스트 및 스토리지 장치의 동작을 상세하게 보여주는 순서도들이다. 도 9a를 참조하여, 스토리지 장치(100)의 일반 동작이 설명되고, 도 9b를 참조하여, 스토리지 장치(100)의 스페셜 동작이 설명된다. 이하에서, 설명의 편의를 위하여, 본 발명의 기술적 사상을 설명하는데 불필요한 구성 요소들은 생략된다.9A and 9B are flowcharts showing details of operations of the host and the storage device of FIG. 1. 9A, a general operation of the storage device 100 will be described, and a special operation of the storage device 100 will be described with reference to FIG. 9B. Hereinafter, for convenience of description, elements unnecessary for describing the technical idea of the present invention are omitted.

도 1, 도 7, 및 도 9a를 참조하면, S111-1 단계에서, 호스트(11)는 스토리지 장치(100)에 데이터를 기입하기 위하여, 데이터(즉, 사용자 데이터(UDT))와 함께 쓰기 요청을 제1 컨트롤러(110)로 전송할 수 있다. 예를 들어, 호스트(11)는 스토리지 장치(100)와 미리 정해진 프로토콜에 따른 통신 방식을 기반으로, 데이터와 함께 쓰기 요청을 제1 컨트롤러(110)로 전송할 수 있다. 이 때, 쓰기 요청은, 도 8a 내지 도 8d를 참조하여 설명된 바와 같이, 일반 쓰기 요청이거나, 일반 어드레스 정보를 포함하거나, 또는 제1 내지 제n 논리적 유닛들 중 어느 하나의 정보를 포함할 수 있다. 1, 7, and 9A, in step S111-1, the host 11 writes data together with data (that is, user data (UDT)) to write data to the storage device 100. Can be transmitted to the first controller 110. For example, the host 11 may transmit a write request with data to the first controller 110 based on a communication method according to a predetermined protocol with the storage device 100. At this time, the write request, as described with reference to FIGS. 8A to 8D, may be a general write request, include general address information, or include information of any one of the first to nth logical units. have.

S113-1 단계에서, 제1 컨트롤러(110)는 수신된 쓰기 요청에 응답하여, 쓰기 커맨드(WR CMD) 및 데이터를 제1 메모리 장치(120)로 전송할 수 있다. 예를 들어, 수신된 쓰기 요청이 일반 동작에 관한 것인 경우, 제1 컨트롤러(110)는 수신된 쓰기 요청에 응답하여, 제1 메모리 인터페이스(IF1)의 일반 채널(CH_n)을 통해 쓰기 커맨드(WR CMD) 및 데이터를 제1 메모리 장치(120)로 전송할 수 있다. In step S113-1, the first controller 110 may transmit a write command (WR CMD) and data to the first memory device 120 in response to the received write request. For example, when the received write request is related to a normal operation, the first controller 110 responds to the received write request, and then writes a command through the normal channel CH_n of the first memory interface IF1 ( WR CMD) and data to the first memory device 120.

S113-2 단계에서, 제1 메모리 장치(120)는 수신된 쓰기 커맨드(WR CMD)에 응답하여, 수신된 데이터에 대한 프로그램 동작(즉, 쓰기 동작)을 수행할 수 있다. S113-3 단계에서, 제1 컨트롤러(110)는 제1 메모리 장치(120)로부터 프로그램 동작의 결과(즉, 프로그램 패스/페일(PGM P/F))에 대한 정보를 수신할 수 있다. S114 단계에서, 제1 컨트롤러(110)는 호스트(11)로 쓰기 요청에 대한 응답을 전송할 수 있다.In step S113-2, the first memory device 120 may perform a program operation (ie, a write operation) on the received data in response to the received write command WR CMD. In step S113-3, the first controller 110 may receive information on the result of the program operation (ie, program pass / fail (PGM P / F)) from the first memory device 120. In step S114, the first controller 110 may transmit a response to the write request to the host 11.

비록 도면에 도시되지는 않았으나, S113-3 단계에서 수신된 프로그램 동작의 결과가 프로그램 페일을 가리키는 경우, 제1 컨트롤러(110)는 프로그램 동작을 재수행하기 위한 커맨드를 제1 메모리 장치(120)로 전송할 수 있다.Although not shown in the drawing, when the result of the program operation received in step S113-3 indicates a program fail, the first controller 110 sends a command to re-execute the program operation to the first memory device 120. Can transmit.

예시적인 실시 예에서, 제1 컨트롤러(110)는 S111-1 단계에서 수신된 데이터를 제1 메모리 장치(120)에 직접 기입하기 전에, 호스트(11)로 응답을 전송할 수 있다. 예를 들어, 제1 컨트롤러(110)는 별도의 버퍼 메모리에 상술된 데이터를 저장한 이후에, 호스트(11)로 응답을 전송할 수 있다. 이후에, 컨트롤러(11)는 별도의 버퍼 메모리에 저장된 데이터를 제1 메모리 장치(120)에 프로그램할 수 있다. In an exemplary embodiment, the first controller 110 may transmit a response to the host 11 before directly writing the data received in step S111-1 to the first memory device 120. For example, the first controller 110 may transmit the response to the host 11 after storing the above-described data in a separate buffer memory. Thereafter, the controller 11 may program data stored in a separate buffer memory to the first memory device 120.

S120 단계에서, 호스트(11)는 스토리지 장치(100)에 저장된 데이터를 읽기 위하여, 읽기 요청을 스토리지 장치(100)로 전송할 수 있다. S121 단계에서, 제1 컨트롤러(110)는 읽기 요청에 응답하여 제1 메모리 장치(120)로 읽기 커맨드(RD CMD)를 전송할 수 있다. S122 단계에서, 제1 컨트롤러(110)는 제1 메모리 장치(120)로부터 읽기 데이터를 수신할 수 있다. S123 단계에서, 제1 컨트롤러(110)는 읽기 데이터를 호스트(11)로 전송할 수 있다. 예시적인 실시 예에서, 읽기 데이터는 S120 단계에서 수신된 읽기 요청에 포함된 어드레스 정보와 대응되는 데이터일 수 있다. In step S120, the host 11 may transmit a read request to the storage device 100 to read data stored in the storage device 100. In step S121, the first controller 110 may transmit a read command (RD CMD) to the first memory device 120 in response to the read request. In step S122, the first controller 110 may receive read data from the first memory device 120. In step S123, the first controller 110 may transmit read data to the host 11. In an exemplary embodiment, the read data may be data corresponding to address information included in the read request received in step S120.

다음으로, 도 1, 도 7, 및 도 9b를 참조하면, S111-2 단계에서, 호스트(11)는 스페셜 동작을 수행하기 위하여, 쓰기 요청 및 데이터를 제1 컨트롤러(110)로 전송할 수 있다. 이 때, 쓰기 요청은, 도 8b 및 도 8c를 참조하여 설명된 바와 같이, 전용 어드레스에 대한 정보 또는 전용 논리적 유닛에 대한 정보를 포함할 수 있다. 또는 도 8d를 참조하여 설명된 바와 같이, 쓰기 요청은 일반적인 쓰기 요청과 명시적으로 구분되는 요청(즉, 도 6d의 머신 러닝 요청(ML RQ))일 수 있다. Next, referring to FIGS. 1, 7, and 9B, in step S111-2, the host 11 may transmit a write request and data to the first controller 110 to perform a special operation. At this time, the write request may include information about a dedicated address or information about a dedicated logical unit, as described with reference to FIGS. 8B and 8C. Alternatively, as described with reference to FIG. 8D, the write request may be a request explicitly distinguished from a general write request (ie, a machine learning request (ML RQ) in FIG. 6D).

S115 단계에서, 제1 컨트롤러(110)는 제1 메모리 인터페이스(IF1)의 전용 채널(CH_d)을 통해, 수신된 데이터(즉, 스페셜 데이터(SDT))를 제2 컨트롤러(130)로 전송할 수 있다. In step S115, the first controller 110 may transmit the received data (ie, special data (SDT)) to the second controller 130 through a dedicated channel CH_d of the first memory interface IF1. .

S116-1 단계에서, 제2 컨트롤러(130)는 제2 메모리 인터페이스(IF2)를 통해 제2 메모리 장치(140)로부터 가중치(WT)를 읽을 수 있다. S116-2 단계에서, 제2 컨트롤러(130)는 읽은 가중치(WT)를 사용하여, 수신된 데이터(즉, 스페셜 데이터(SDT))에 대한 스페셜 동작을 수행할 수 있다. S116-3 단계에서, 제2 컨트롤러(130)는 스페셜 동작이 완료되었는지 판별할 수 있다. 스페셜 동작이 완료되지 않은 경우, 제2 컨트롤러(130)는 S116-1 단계의 동작을 수행할 수 있다. 즉, 제2 컨트롤러(130)는, 도 3을 참조하여 설명된 바와 같이, 제2 메모리 장치(120)로부터 가중치(WT)를 읽고, 읽은 가중치(WT)를 기반으로 수신된 데이터에 대한 스페셜 동작을 프레임 단위로 반복하여 수행할 수 있다.In step S116-1, the second controller 130 may read the weight WT from the second memory device 140 through the second memory interface IF2. In step S116-2, the second controller 130 may perform a special operation on the received data (ie, the special data SDT) using the read weight WT. In step S116-3, the second controller 130 may determine whether the special operation is completed. When the special operation is not completed, the second controller 130 may perform the operation of step S116-1. That is, the second controller 130 reads the weight WT from the second memory device 120 and performs a special operation on the received data based on the read weight WT, as described with reference to FIG. 3. Can be repeatedly performed in units of frames.

스페셜 동작이 완료된 경우, 제2 컨트롤러(130)는 제1 컨트롤러(110)의 제어에 따라, 스페셜 동작의 결과(즉, 스페셜 동작의 패스/페일(ML P/F))를 전송할 수 있다. 예시적인 실시 예에서, 제1 컨트롤러(110)는 상태 읽기(status read)를 통해 스페셜 동작의 결과를 제2 컨트롤러(130)로부터 읽을 수 있다.When the special operation is completed, the second controller 130 may transmit the result of the special operation (ie, the pass / fail of the special operation (ML P / F)) under the control of the first controller 110. In an exemplary embodiment, the first controller 110 may read the result of the special operation from the second controller 130 through status read.

S117 단계에서, 제1 컨트롤러(110)는 S111-2 단계의 쓰기 요청에 대한 응답을 호스트(11)로 전송할 수 있다. S118 단계에서, 호스트(11)는 S117 단계의 응답에 응답하여, 스페셜 동작의 결과(즉, 결과 데이터(RDT))를 읽기 위한 읽기 요청을 제1 컨트롤러(110)로 전송할 수 있다. S119-1 단계에서, 제1 컨트롤러(110)는 제2 컨트롤러(130)로 읽기 커맨드(RD CMD)를 전송할 수 있다. S119-2 단계에서, 제2 컨트롤러(130)는 읽기 커맨드(RD CMD)에 응답하여, 결과 데이터(RDT)를 제1 컨트롤러(110)로 전송할 수 있다. S119-3 단계에서, 제1 컨트롤러(110)는 결과 데이터(RDT)를 호스트(11)로 전송할 수 있다. In step S117, the first controller 110 may transmit a response to the write request in step S111-2 to the host 11. In step S118, the host 11 may transmit a read request to read the result of the special operation (ie, the result data RDT) to the first controller 110 in response to the response in step S117. In step S119-1, the first controller 110 may transmit a read command (RD CMD) to the second controller 130. In step S119-2, the second controller 130 may transmit the result data RDT to the first controller 110 in response to the read command RD CMD. In step S119-3, the first controller 110 may transmit the result data RDT to the host 11.

예시적인 실시 예에서, S118 단계의 읽기 요청은 도 8a 내지 도 8d를 참조하여 설명된 바와 유사하게, 전용 어드레스에 대한 정보 또는 전용 논리적 유닛에 대한 정보를 포함하거나 또는 일반적인 읽기 요청과 명시적으로 구분되는 요청일 수 있다.In an exemplary embodiment, the read request in step S118 includes information about a dedicated address or information about a dedicated logical unit, or is explicitly distinguished from a general read request, similar to that described with reference to FIGS. 8A to 8D. It can be a request.

예시적인 실시 예에서, 제1 컨트롤러(110)는 S118 단계의 읽기 요청이 수신되기 이전에, S119-1 단계 및 S119-2 단계의 동작들을 미리 수행할 수 있다. In an exemplary embodiment, before the read request of step S118 is received, the first controller 110 may perform the operations of steps S119-1 and S119-2 in advance.

상술된 바와 같이, 본 발명의 실시 예에 따른 스토리지 장치(100)는 일반 동작(즉, 사용자 데이터에 대한 읽기, 쓰기, 소거 등의 동작) 및 스페셜 동작(예를 들어, 음성 인식, 이미지 분류, 이미지 식별 등의 동작)을 수행할 수 있다. 따라서, 스페셜 동작(예를 들어, 머신 러닝, 인공 지능 등에 기반된 동작)을 수행하기 위한 호스트의 연산 또는 데이터 센터 사용 등의 부담이 경감될 수 있기 때문에, 향상된 성능 및 감소된 비용을 갖는 스토리지 장치가 제공된다.As described above, the storage device 100 according to an embodiment of the present invention includes general operations (that is, operations such as reading, writing and erasing user data) and special operations (eg, voice recognition, image classification, Image identification, etc.). Therefore, since the burden of computation or data center use of the host to perform special operations (eg, operations based on machine learning, artificial intelligence, etc.) can be alleviated, a storage device having improved performance and reduced cost Is provided.

도 10은 도 1의 스토리지 장치의 동작을 보여주는 순서도이다. 도 1 및 도 10을 참조하면, 스토리지 장치(100)는 S121 단계 내지 S126 단계의 동작들을 수행할 수 있다. 도 8의 S121 단계 내지 S126 단계의 동작들은 도 5의 S111 단계 내지 S116 단계의 동작들과 유사하므로, 이에 대한 상세한 설명은 생략된다.10 is a flowchart illustrating an operation of the storage device of FIG. 1. 1 and 10, the storage device 100 may perform operations in steps S121 to S126. Since the operations of steps S121 to S126 of FIG. 8 are similar to those of steps S111 to S116 of FIG. 5, a detailed description thereof is omitted.

S127 단계에서, 스토리지 장치(100)는 스페셜 동작의 결과를 포함하는 응답을 호스트(11)로 전송할 수 있다. 예를 들어, 스토리지 장치(100)는 S121 단계의 쓰기 요청에 대한 응답을 패킷 단위로 호스트(11)로 전송할 수 있다. 이 경우, 스페셜 동작의 결과(즉, 결과 데이터(RDT))가 상술된 응답에 포함될 수 있다. 호스트(11)는 결과 데이터(RDT)가 포함된 응답을 수신하고, 수신된 응답을 기반으로, 추가적인 읽기 동작 없이 스페셜 동작의 결과를 확인할 수 있다.In step S127, the storage device 100 may transmit a response including the result of the special operation to the host 11. For example, the storage device 100 may transmit a response to the write request in step S121 to the host 11 in a packet unit. In this case, the result of the special operation (ie, result data RDT) may be included in the above-described response. The host 11 may receive a response including the result data RDT, and check the result of the special operation without an additional read operation based on the received response.

도 11은 본 발명의 실시 예에 따른 스토리지 장치를 보여주는 블록도이다. 이하에서, 설명의 편의를 위하여, 앞서 설명된 실시 예들과 중복되는 구성 요소들에 대한 상세한 설명은 생략된다. 11 is a block diagram showing a storage device according to an embodiment of the present invention. Hereinafter, for convenience of description, detailed descriptions of components overlapping with the above-described embodiments are omitted.

도 11을 참조하면, 스토리지 장치(200)는 제1 컨트롤러(210), 제1 메모리 장치(220), 및 제2 메모리 장치(240)를 포함할 수 있다. 제1 컨트롤러(210)는 호스트(21)와 통신할 수 있다. 제1 컨트롤러(210)는 제1 메모리 인터페이스(IF1)를 통해 사용자 데이터(UDT)를 저장하는 제1 메모리 장치(220)와 통신할 수 있고, 제2 메모리 인터페이스(IF2)를 통해 가중치(WT)를 저장하는 제2 메모리 장치(240)와 통신할 수 있다. 예시적인 실시 예에서, 제2 메모리 인터페이스(IF2)의 동작 속도는 제1 메모리 인터페이스(IF1)의 동작 속도보다 빠를 수 있다. 제1 및 제2 메모리 장치들(220, 240)은 앞서 설명된 바와 같이, 동일한 타입의 메모리 셀들을 포함할 수 있다. 제1 및 제2 메모리 장치들(220, 240) 각각은 서로 다른 개수의 데이터 신호 핀들을 포함할 수 있다. 제1 및 제2 메모리 장치들(220, 240)은 도 1 내지 도 6을 참조하여 상세하게 설명되었으므로, 이에 대한 상세한 설명은 생략된다.Referring to FIG. 11, the storage device 200 may include a first controller 210, a first memory device 220, and a second memory device 240. The first controller 210 can communicate with the host 21. The first controller 210 may communicate with the first memory device 220 storing user data UDT through the first memory interface IF1, and the weight WT through the second memory interface IF2. It may communicate with the second memory device 240 for storing. In an exemplary embodiment, the operating speed of the second memory interface IF2 may be faster than the operating speed of the first memory interface IF1. The first and second memory devices 220 and 240 may include memory cells of the same type, as described above. Each of the first and second memory devices 220 and 240 may include a different number of data signal pins. Since the first and second memory devices 220 and 240 have been described in detail with reference to FIGS. 1 to 6, detailed descriptions thereof are omitted.

예시적인 실시 예에서, 제1 컨트롤러(210)는 제2 컨트롤러(230)를 포함할 수 있다. 도 1을 참조하여 설명된 제1 컨트롤러(110) 및 제2 컨트롤러(130)는 별도의 반도체 장치, 별도의 반도체 다이, 별도의 반도체 칩, 또는 별도의 반도체 패키지로 구성되었으나, 도 9의 제2 컨트롤러(230)는 제1 컨트롤러(210) 내부에 포함될 수 있다. 또는 도 9의 제1 컨트롤러(210) 및 제2 컨트롤러(230)는 하나의 반도체 장치, 하나의 반도체 다이, 하나의 반도체 칩, 또는 하나의 반도체 패키지로 구현될 수 있다. In an exemplary embodiment, the first controller 210 may include a second controller 230. The first controller 110 and the second controller 130 described with reference to FIG. 1 are composed of a separate semiconductor device, a separate semiconductor die, a separate semiconductor chip, or a separate semiconductor package. The controller 230 may be included inside the first controller 210. Alternatively, the first controller 210 and the second controller 230 of FIG. 9 may be implemented as one semiconductor device, one semiconductor die, one semiconductor chip, or one semiconductor package.

도 12는 도 11의 컨트롤러를 예시적으로 보여주는 블록도이다. 도 11 및 도 12를 참조하면, 제1 컨트롤러(210)는 입출력 라우터(211), 프로세서(212), SRAM(213), ROM(214), 호스트 인터페이스 회로(215), 제1 메모리 인터페이스 회로(216), 제2 메모리 인터페이스 회로(217), 및 머신 러닝 코어(230)(머신 러닝 코어(230)는 제2 컨트롤러(230)와 대응될 수 있음)를 포함할 수 있다. 12 is a block diagram illustrating the controller of FIG. 11 by way of example. 11 and 12, the first controller 210 includes an input / output router 211, a processor 212, an SRAM 213, a ROM 214, a host interface circuit 215, and a first memory interface circuit ( 216), a second memory interface circuit 217, and a machine learning core 230 (the machine learning core 230 may correspond to the second controller 230).

입출력 라우터(211), 프로세서(212), SRAM(213), ROM(214), 호스트 인터페이스 회로(215), 및 제1 메모리 인터페이스 회로(216)는 도 2를 참조하여 설명되었으므로, 이에 대한 상세한 설명은 생략된다.Since the input / output router 211, the processor 212, the SRAM 213, the ROM 214, the host interface circuit 215, and the first memory interface circuit 216 have been described with reference to FIG. 2, a detailed description thereof Is omitted.

도 2의 제1 컨트롤러(110)와 달리, 도 12의 제1 컨트롤러(210)는 머신 러닝 코어(230) 및 제2 메모리 인터페이스 회로(217)를 더 포함할 수 있다. 즉, 도 12의 제1 컨트롤러(210)는 호스트(21)로부터 수신된 스페셜 동작에 대한 요청에 응답하여, 제2 메모리 인터페이스 회로(217)를 통해 제2 메모리 장치(240)로부터 가중치(WT)를 읽고, 읽은 가중치(WT)를 사용하여 스페셜 동작을 수행할 수 있다.Unlike the first controller 110 of FIG. 2, the first controller 210 of FIG. 12 may further include a machine learning core 230 and a second memory interface circuit 217. That is, the first controller 210 of FIG. 12 responds to the request for the special operation received from the host 21, and the weight WT from the second memory device 240 through the second memory interface circuit 217 Read and use the read weight (WT) to perform a special operation.

예시적인 실시 예에서, 앞서 설명된 바와 같이, 제1 메모리 인터페이스 회로(216)는 낸드 플래시 인터페이스를 지원하기 위한 회로일 수 있고, 제2 메모리 인터페이스 회로(217)는 고속 인터페이스를 지원하기 위한 회로일 수 있다. 다시 말해서, 제2 메모리 인터페이스 회로(217)의 동작 속도는 제1 메모리 인터페이스 회로(216)의 동작 속도보다 빠를 수 있다. In an exemplary embodiment, as described above, the first memory interface circuit 216 may be circuitry to support the NAND flash interface, and the second memory interface circuitry 217 may be circuitry to support the high speed interface. You can. In other words, the operating speed of the second memory interface circuit 217 may be faster than the operating speed of the first memory interface circuit 216.

도 13은 도 11의 스토리지 장치의 동작을 보여주는 순서도이다. 간결한 설명을 위하여, 호스트(21)로부터 수신된 쓰기 요청은 스페셜 동작을 위한 요청인 것으로 가정한다. 13 is a flowchart illustrating the operation of the storage device of FIG. 11. For brevity, it is assumed that the write request received from the host 21 is a request for a special operation.

도 11 및 도 13을 참조하면, S211 단계에서, 호스트(21)는 쓰기 요청 및 데이터를 제1 컨트롤러(210)로 전송할 수 있다. 예를 들어, 호스트(21)는 스페셜 동작을 수행하기 위하여, 전용 어드레스에 대한 정보 또는 전용 논리적 유닛에 대한 정보를 포함하는 쓰기 요청, 또는 일반적인 쓰기 요청과 명시적으로 구분되는 머신 러닝 요청을 제1 컨트롤러(210)로 전송할 수 있다.11 and 13, in step S211, the host 21 may transmit a write request and data to the first controller 210. For example, in order to perform a special operation, the host 21 first requests a write request including information about a dedicated address or information about a dedicated logical unit, or a machine learning request that is explicitly distinguished from a general write request. It can be transmitted to the controller 210.

S212 단계에서, 제1 컨트롤러(210)는 수신된 쓰기 요청(즉, 스페셜 동작을 위한 쓰기 요청)에 응답하여, 제2 메모리 장치(340)로부터 제2 메모리 인터페이스(IF2)를 통해 가중치(WT)를 읽을 수 있다. S213 단계에서, 제1 컨트롤러(210)는 가중치(WT)를 사용하여 수신된 데이터(즉, 스페셜 데이터(SDT))에 대한 스페셜 동작을 수행할 수 있다. S214 단계에서, 제1 컨트롤러(210)는 스페셜 동작이 완료되었는지 판별하고, 스페셜 동작이 완료되지 않은 경우, S212 단계의 동작을 수행한다.In step S212, the first controller 210 responds to the received write request (ie, a write request for a special operation), and the weight WT from the second memory device 340 through the second memory interface IF2. Can read In step S213, the first controller 210 may perform a special operation on the received data (ie, the special data SDT) using the weight WT. In step S214, the first controller 210 determines whether the special operation is completed, and when the special operation is not completed, performs the operation in step S212.

스페셜 동작이 완료된 경우, S215 단계에서, 제1 컨트롤러(210)는 호스트(21)로 응답을 전송할 수 있다. S216 단계에서, 호스트(21)는 수신된 응답에 응답하여, 읽기 요청을 제1 컨트롤러(210)로 전송할 수 있다. S217 단계에서, 제1 컨트롤러(210)는 읽기 요청에 응답하여 결과 데이터(RDT)를 호스트(21)로 전송할 수 있다. When the special operation is completed, in step S215, the first controller 210 may transmit a response to the host 21. In step S216, the host 21 may transmit a read request to the first controller 210 in response to the received response. In step S217, the first controller 210 may transmit the result data RDT to the host 21 in response to the read request.

비록 도면에 도시되지는 않았으나, 제1 컨트롤러(210)는 스페셜 동작을 위한 쓰기 요청에 대한 응답으로서, 결과 데이터(RDT)를 포함하는 응답을 호스트(21)로 전송할 수 있다. 이 경우, 호스트(21)로부터 결과 데이터(RDT)를 읽기 위한 읽기 요청이 생략될 수 있다.Although not shown in the drawing, the first controller 210 may transmit a response including the result data RDT to the host 21 in response to a write request for a special operation. In this case, a read request for reading the result data RDT from the host 21 may be omitted.

도 14는 본 발명의 실시 예에 따른 스토리지 장치를 보여주는 블록도이다. 도 14를 참조하면, 스토리지 장치(300)는 제1 컨트롤러(310), 제1 메모리 장치(320), 제2 컨트롤러(330), 제2 메모리 장치(340), 및 제3 메모리 장치(350)를 포함할 수 있다. 제1 컨트롤러(310)는 호스트(31)와 통신할 수 있고, 입출력 라우터(311)를 포함할 수 있다. 제1 컨트롤러(310), 제1 메모리 장치(320), 제2 컨트롤러(330), 및 제2 메모리 장치(340)는 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다.14 is a block diagram showing a storage device according to an embodiment of the present invention. Referring to FIG. 14, the storage device 300 includes a first controller 310, a first memory device 320, a second controller 330, a second memory device 340, and a third memory device 350 It may include. The first controller 310 may communicate with the host 31 and may include an input / output router 311. Since the first controller 310, the first memory device 320, the second controller 330, and the second memory device 340 have been described above, detailed description thereof will be omitted.

도 14의 스토리지 장치(300)는 제3 메모리 장치(350)를 더 포함할 수 있다. 제3 메모리 장치(350)는 스페셜 동작을 위한 참조 데이터(RFDT)를 포함할 수 있고, 제2 컨트롤러(330)와 제3 메모리 인터페이스(IF3)를 기반으로 서로 통신할 수 있다.The storage device 300 of FIG. 14 may further include a third memory device 350. The third memory device 350 may include reference data (RFDT) for a special operation, and may communicate with each other based on the second controller 330 and the third memory interface IF3.

예시적인 실시 예에서, 제3 메모리 인터페이스(IF3)는 제2 메모리 인터페이스(IF2)와 다른 통신 방식에 기반된 인터페이스일 수 있다. 제2 메모리 인터페이스(IF2)는 순차 데이터 읽기에 최적화된 통신 방식일 수 있고, 제3 메모리 인터페이스(IF3)는 랜덤 데이터 읽기에 최적화된 통신 방식일 수 있다. 예를 들어, 도 3을 참조하여 설명된 바와 같이, 머신 러닝 코어(132)에 의해 수행되는 스페셜 동작이 음성 인식 동작인 경우, 참조 데이터(RFDT)는 음향 모델(132b)로부터의 연산 결과를 텍스트로 변환하기 위한 단어 정보와 관련된 데이터일 수 있다. 이 경우, 참조 데이터(RFDT)는 도 3을 참조하여 설명된 디코딩 모듈(132c)에 의해 사용될 수 있다. 이 때, 디코딩 모듈(132c)은 참조 데이터(RFDT)의 일부 데이터를 랜덤하게 읽는 동작을 필요로 할 수 있다. 다시 말해서, 제3 메모리 인터페이스(IF3)가 랜덤 데이터 읽기에 최적화된 통신 방식을 기반으로 구성됨으로써, 제3 메모리 장치(350)에 저장된 참조 데이터(RFDT)에 대한 랜덤 읽기 성능이 최적화될 수 있다.In an exemplary embodiment, the third memory interface IF3 may be an interface based on a communication method different from the second memory interface IF2. The second memory interface IF2 may be a communication method optimized for reading sequential data, and the third memory interface IF3 may be a communication method optimized for reading random data. For example, as described with reference to FIG. 3, when the special operation performed by the machine learning core 132 is a voice recognition operation, the reference data (RFDT) texts the calculation result from the acoustic model 132b. It may be data related to word information for conversion to. In this case, the reference data (RFDT) can be used by the decoding module 132c described with reference to FIG. 3. At this time, the decoding module 132c may require an operation of randomly reading some data of the reference data (RFDT). In other words, since the third memory interface IF3 is configured based on a communication method optimized for reading random data, random reading performance of the reference data RFDT stored in the third memory device 350 may be optimized.

예시적인 실시 예에서, 제1 내지 제3 메모리 장치들(320, 340, 350)은 낸드 플래시 메모리 장치일 수 있다. 즉, 제1 내지 제3 메모리 장치들(320, 340, 350)은 도 5a 내지 도 6을 참조하여 설명된 메모리 장치들과 같이 동일한 타입의 메모리 셀들(예를 들어, 낸드 플래시 메모리 셀, CTF 셀 등)을 포함하는 메모리 장치일 수 있다.In an exemplary embodiment, the first to third memory devices 320, 340, and 350 may be NAND flash memory devices. That is, the first to third memory devices 320, 340, and 350 are the same type of memory cells (eg, NAND flash memory cell, CTF cell) as the memory devices described with reference to FIGS. 5A to 6. Etc.).

또는 제1 내지 제3 메모리 장치들(320, 340, 350) 중 적어도 하나는 다른 종류의 메모리 장치일 수 있다. 예를 들어, 제1 메모리 장치(320)는 대용량 구현에 적합한 메모리 장치일 수 있고, 제2 메모리 장치(340)는 고속으로 동작하는 순차 읽기 동작에 적합한 메모리 장치일 수 있고, 제3 메모리 장치(350)는 고속으로 동작하는 랜덤 읽기 동작에 적합한 메모리 장치일 수 있다.Alternatively, at least one of the first to third memory devices 320, 340, and 350 may be another type of memory device. For example, the first memory device 320 may be a memory device suitable for large-capacity implementation, and the second memory device 340 may be a memory device suitable for a sequential read operation operating at high speed, and the third memory device ( 350) may be a memory device suitable for a random read operation that operates at a high speed.

도 15는 본 발명의 실시 예에 따른 스토리지 장치를 보여주는 블록도이다. 도 15를 참조하면, 스토리지 장치(500)는 제1 컨트롤러(510), 제1 메모리 장치(520), 제2 컨트롤러(530), 및 제2 메모리 장치(540)를 포함할 수 있다. 컨트롤러(510)는 호스트(51)와 통신할 수 있다. 스토리지 장치(500)의 구성 요소들은 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다.15 is a block diagram illustrating a storage device according to an embodiment of the present invention. Referring to FIG. 15, the storage device 500 may include a first controller 510, a first memory device 520, a second controller 530, and a second memory device 540. The controller 510 can communicate with the host 51. Since the components of the storage device 500 have been described above, detailed descriptions thereof are omitted.

앞선 실시 예들과 달리, 도 15의 실시 예에서, 제1 컨트롤러(510)는 제2 메모리 장치(540)를 액세스하도록 구성될 수 있다. 예를 들어, 제1 컨트롤러(510)는 제2 메모리 장치(540)를 액세스하기 위한 커맨드를 전용 채널(CH_d)을 통해 제2 컨트롤러(530)로 제공하고, 제2 컨트롤러(530)는 수신된 커맨드에 응답하여 제2 메모리 장치(540)에 대한 액세스 동작을 수행하고, 액세스 동작의 결과를 전용 채널(CH_d)을 통해 제1 컨트롤러(510)로 제공할 수 있다.Unlike the previous embodiments, in the embodiment of FIG. 15, the first controller 510 may be configured to access the second memory device 540. For example, the first controller 510 provides a command for accessing the second memory device 540 to the second controller 530 through a dedicated channel CH_d, and the second controller 530 is received. In response to a command, an access operation to the second memory device 540 may be performed, and the result of the access operation may be provided to the first controller 510 through a dedicated channel CH_d.

예시적인 실시 예에서, 제1 컨트롤러(510)는 제2 메모리 장치(540)와 제2 일반 채널(CH_n2)을 통해 통신할 수 있다. 예를 들어, 컨트롤러(510)는 제1 일반 채널(CH_n1)을 통해 제1 메모리 장치(520)에 대한 일반 동작을 수행할 수 있고, 전용 채널(CH_d)을 통해 제2 컨트롤러(530)로 스페셜 데이터(SDT)를 제공할 수 있다. 이 때, 컨트롤러(510)는 제2 일반 채널(CH_n2)을 통해 가중치(WT)가 저장된 제2 메모리 장치(540)에 대한 일반 동작을 수행하도록 구성될 수 있다. 예시적인 실시 에에서, 컨트롤러(510)는 제2 일반 채널(CH_n2)을 통해 제2 메모리 장치(540)에 저장된 가중치(WT)를 관리하도록 구성될 수 있다. In an exemplary embodiment, the first controller 510 may communicate with the second memory device 540 through the second general channel (CH_n2). For example, the controller 510 may perform a general operation for the first memory device 520 through the first general channel CH_n1, and special to the second controller 530 through the dedicated channel CH_d. Data SDT may be provided. At this time, the controller 510 may be configured to perform a general operation on the second memory device 540 in which the weight WT is stored through the second general channel CH_n2. In an exemplary implementation, the controller 510 may be configured to manage the weight WT stored in the second memory device 540 through the second general channel CH_n2.

도 16은 본 발명의 실시 예에 따른 스토리지 장치를 보여주는 블록도이다. 도 16을 참조하면, 스토리지 장치(600)는 제1 컨트롤러(610), 제1 메모리 장치(620), 제2 컨트롤러(630), 및 제2 메모리 장치(640)를 포함할 수 있다. 컨트롤러(610)는 호스트(61)와 통신할 수 있다. 스토리지 장치(600)의 구성 요소들은 앞서 설명되었으므로, 이에 대한 상세한 설명은 생략된다. 16 is a block diagram showing a storage device according to an embodiment of the present invention. Referring to FIG. 16, the storage device 600 may include a first controller 610, a first memory device 620, a second controller 630, and a second memory device 640. The controller 610 can communicate with the host 61. Since the components of the storage device 600 have been described above, detailed description thereof is omitted.

앞선 실시 예들과 달리, 제1 컨트롤러(610)는 제1 메모리 인터페이스(IF1)를 통해 제1 메모리 장치(620)와 통신하고, 제1 메모리 인터페이스(IF1)와 다른 제3 메모리 인터페이스(IF3)를 통해 제2 컨트롤러(630)와 통신할 수 있다. 즉, 앞선 실시 예들에서, 제1 컨트롤러는 제1 메모리 장치와의 제1 메모리 인터페이스(IF1)에 포함된 특정 채널을 사용하여 제2 컨트롤러와 통신하였으나, 도 15의 실시 예에서는, 제2 컨트롤러(630)와 통신하기 위한 별도의 인터페이스(즉, 제3 메모리 인터페이스(IF3))를 더 포함할 수 있다. Unlike the previous embodiments, the first controller 610 communicates with the first memory device 620 through the first memory interface IF1 and uses a third memory interface IF3 different from the first memory interface IF1. Through the second controller 630 may communicate with. That is, in the previous embodiments, the first controller communicated with the second controller using a specific channel included in the first memory interface IF1 with the first memory device, but in the embodiment of FIG. 15, the second controller ( 630) may further include a separate interface (that is, the third memory interface IF3) for communication.

도 17a 내지 도 17d는 본 발명의 실시 예에 따른 스토리지 장치의 구성을 예시적으로 보여주는 도면들이다. 도면의 간결성 및 설명의 편의를 위하여, 스토리지 장치(1000a, 1000b, 1000c, 1000d)의 일부 구성이 도시되나, 본 발명의 범위가 이에 한정되는 것은 아니다.17A to 17D are views exemplarily showing a configuration of a storage device according to an embodiment of the present invention. For simplicity and convenience of description of the drawings, some configurations of the storage devices 1000a, 1000b, 1000c, and 1000d are illustrated, but the scope of the present invention is not limited thereto.

먼저 도 17a를 참조하면, 스토리지 장치(1000a)는 제1 컨트롤러(1100a), 복수의 불휘발성 메모리 장치들(NVM), 제2 컨트롤러(1200a), 및 제2 메모리 장치(1300a)를 포함할 수 있다.Referring first to FIG. 17A, the storage device 1000a may include a first controller 1100a, a plurality of nonvolatile memory devices (NVM), a second controller 1200a, and a second memory device 1300a. have.

제1 컨트롤러(1100a)는 제1 내지 제3 일반 채널들(CH_n1~CH_n3)을 통해 복수의 불휘발성 메모리 장치들(NVM)과 각각 연결될 수 있다. 제1 컨트롤러(1100a)는 제1 내지 제3 일반 채널들(CH_n1~CH_n3) 각각을 독립적으로 제어하도록 구성될 수 있다. 예시적인 실시 예에서, 제1 내지 제3 일반 채널들(CH_n1~CH_n3)과 연결된 복수의 불휘발성 메모리 장치들(NVM)은 외부 장치(예를 들어, 호스트)에 의해 사용자 영역(도 6b 참조)으로 인식될 수 있다. 즉, 컨트롤러(1100a)는 제1 내지 제3 일반 채널들(CH_n1~CH_n3)과 연결된 복수의 불휘발성 메모리 장치들(NVM)에 대한 일반 동작을 수행할 수 있다.The first controller 1100a may be connected to a plurality of nonvolatile memory devices NVM through first to third general channels CH_n1 to CH_n3, respectively. The first controller 1100a may be configured to independently control each of the first to third general channels CH_n1 to CH_n3. In an exemplary embodiment, the plurality of nonvolatile memory devices NVM connected to the first to third general channels CH_n1 to CH_n3 are user area (see FIG. 6B) by an external device (eg, host). Can be recognized as That is, the controller 1100a may perform general operations on the plurality of nonvolatile memory devices NVM connected to the first to third general channels CH_n1 to CH_n3.

제1 컨트롤러(1100a)는 제1 전용 채널(CH_d1)을 통해 제2 컨트롤러(1200a)와 통신할 수 있다. 제2 컨트롤러(1200a)는 별도의 인터페이스를 통해 가중치(WT)를 포함하는 제2 메모리 장치(1300a)와 통신할 수 있다. The first controller 1100a may communicate with the second controller 1200a through the first dedicated channel CH_d1. The second controller 1200a may communicate with the second memory device 1300a including the weight WT through a separate interface.

예시적인 실시 예에서, 동일한 일반 채널에 연결된 불휘발성 메모리 장치들(NVM)은 동일한 입출력 신호 라인들(예를 들어, DQ 라인들)을 공유할 수 있다. 즉, 제1 내지 제3 일반 채널들(CH_n1~CH_n3)은 입출력 라인 단위로 구분될 수 있다. 컨트롤러(1100a)는 복수의 불휘발성 메모리 장치들(NVM) 각각에 대한 칩 활성화 신호를 제어함으로써, 복수의 불휘발성 메모리 장치들(NVM) 각각을 선택하거나 또는 제어할 수 있다. In an exemplary embodiment, non-volatile memory devices NVM connected to the same general channel may share the same input / output signal lines (eg, DQ lines). That is, the first to third general channels CH_n1 to CH_n3 may be classified in units of input / output lines. The controller 1100a may select or control each of the plurality of nonvolatile memory devices NVM by controlling a chip activation signal for each of the plurality of nonvolatile memory devices NVM.

다음으로, 도 17b를 참조하면, 스토리지 장치(1000b)는 제1 컨트롤러(1100b), 복수의 불휘발성 메모리 장치들(NVM), 제2 컨트롤러(1200b), 및 제2 메모리 장치(1300b)를 포함할 수 있다.Next, referring to FIG. 17B, the storage device 1000b includes a first controller 1100b, a plurality of nonvolatile memory devices (NVM), a second controller 1200b, and a second memory device 1300b. can do.

제1 컨트롤러(1100b)는 제1 내지 제3 일반 채널들(CH_n1~CH_n3) 및 제1 전용 채널(CH_d1)을 통해 복수의 메모리 장치들(NVM)과 각각 통신될 수 있다. 제2 컨트롤러(1200b)는 제1 전용 채널(CH_d1)을 통해 제1 컨트롤러(1100b)와 통신할 수 있고, 별도의 인터페이스를 통해 가중치(WT)를 포함하는 제2 메모리 장치(1300b)와 통신할 수 있다.The first controller 1100b may communicate with the plurality of memory devices NVM, respectively, through the first to third general channels CH_n1 to CH_n3 and the first dedicated channel CH_d1. The second controller 1200b may communicate with the first controller 1100b through the first dedicated channel CH_d1, and communicate with the second memory device 1300b including the weight WT through a separate interface. You can.

예시적인 실시 예에서, 도 17b에 도시된 바와 같이, 제1 전용 채널(CH_d1)에 복수의 불휘발성 메모리 장치들(NVM)이 연결될 수 있다. 이 경우, 컨트롤러(1100b)는 칩 인에이블 신호를 제어함으로써, 제1 전용 채널(CH_d1)과 연결된 복수의 불휘발성 메모리 장치들(NVM)에 대한 일반 동작을 수행할 수 있다. 또한, 제1 컨트롤러(1100b)는 칩 인에이블 신호를 제어함으로써, 제1 전용 채널(CH_d1)과 연결된 제2 컨트롤러(1200b)와 통신할 수 있다.In an exemplary embodiment, as illustrated in FIG. 17B, a plurality of nonvolatile memory devices NVM may be connected to the first dedicated channel CH_d1. In this case, the controller 1100b may perform a general operation for a plurality of nonvolatile memory devices NVM connected to the first dedicated channel CH_d1 by controlling the chip enable signal. Also, the first controller 1100b may communicate with the second controller 1200b connected to the first dedicated channel CH_d1 by controlling the chip enable signal.

예를 들어, 제1 컨트롤러(1100b)가 제1 전용 채널(CH_d1)과 연결된 복수의 불휘발성 메모리 장치들(NVM) 중 어느 하나를 제어하는 경우, 제1 컨트롤러(1100b)는 대응하는 불휘발성 메모리 장치의 칩 인에이블 신호를 선택 또는 활성화하고, 나머지 장치들(예를 들어, 나머지 불휩라성 메모리 장치들 및 제2 컨트롤러(1200b))의 칩 인에이블 신호를 비선택 또는 비활성화함으로써, 대응하는 불휘발성 메모리 장치를 제어할 수 있다.For example, when the first controller 1100b controls any one of a plurality of nonvolatile memory devices NVM connected to the first dedicated channel CH_d1, the first controller 1100b corresponds to the corresponding nonvolatile memory By selecting or activating the chip enable signal of the device and deselecting or deactivating the chip enable signal of the remaining devices (e.g., the remaining non-whisperable memory devices and the second controller 1200b), the corresponding nonvolatile The memory device can be controlled.

또한, 제1 컨트롤러(1100b)가 제1 전용 채널(CH_d1)과 연결된 제2 컨트롤러(1300b)와 통신하는 경우, 제1 컨트롤러(1100b)는 제1 전용 채널(CH_d1)과 연결된 복수의 불휘발성 메모리 장치들(NVM)의 칩 인에이블 신호를 모두 비선택 또는 비활성화하고, 제2 컨트롤러(1200b)의 칩 인에이블 신호를 선택 또는 활성화함으로써, 제2 컨트롤러(1200b)와 통신할 수 있다.In addition, when the first controller 1100b communicates with the second controller 1300b connected to the first dedicated channel CH_d1, the first controller 1100b includes a plurality of nonvolatile memories connected to the first dedicated channel CH_d1. By deselecting or deactivating all of the chip enable signals of the devices NVM and selecting or activating the chip enable signal of the second controller 1200b, the second controller 1200b can be communicated.

도 17c를 참조하면, 스토리지 장치(1000c)는 제1 컨트롤러(1100c), 복수의 불휘발성 메모리 장치들(NVM), 제2 컨트롤러(1210c), 제2 메모리 장치(1310c), 제3 컨트롤러(1220c), 제3 메모리 장치(1320c)를 포함할 수 있다.Referring to FIG. 17C, the storage device 1000c includes a first controller 1100c, a plurality of nonvolatile memory devices (NVM), a second controller 1210c, a second memory device 1310c, and a third controller 1220c. ), And a third memory device 1320c.

제1 컨트롤러(1100c)는 제1 및 제2 일반 채널들(CH_n1, CH_n2)을 통해 복수의 불휘발성 메모리 장치들(NVM)과 각각 연결될 수 있다. 제1 컨트롤러(1100c)는 제1 전용 채널(CH_d1)을 통해 제2 컨트롤러(1210c)와 연결되고, 제2 전용 채널(CH_d2)을 통해 제3 컨트롤러(1220c)와 연결될 수 있다. 제2 컨트롤러(1210c)는 별도의 인터페이스를 통해 제2 메모리 장치(1310c)와 연결되고, 제3 컨트롤러(1220c)는 별도의 인터페이스를 통해 제3 메모리 장치(1320c)와 연결될 수 있다.The first controller 1100c may be connected to the plurality of nonvolatile memory devices NVM, respectively, through the first and second general channels CH_n1 and CH_n2. The first controller 1100c may be connected to the second controller 1210c through the first dedicated channel CH_d1, and may be connected to the third controller 1220c through the second dedicated channel CH_d2. The second controller 1210c may be connected to the second memory device 1310c through a separate interface, and the third controller 1220c may be connected to the third memory device 1320c through a separate interface.

예시적인 실시 예에서, 제2 및 제3 컨트롤러들(1210c, 1220c)은 각각 서로 다른 스페셜 동작을 수행하도록 구성될 수 있다. 예를 들어, 제2 컨트롤러(1210c)는 제2 메모리 장치(1310c)에 저장된 가중치를 이용하여 외부 장치(예를 들어, 호스트)로부터의 음성 데이터에 대한 음성 인식을 수행하고, 결과 데이터로서 텍스트 정보를 출력하는 제1 스페셜 동작을 수행할 수 있다. 제3 컨트롤러(1220c)는 제3 메모리 장치(1320c)에 저장된 가중치를 이용하여 외부 장치로부터의 이미지 데이터에 대한 이미지 분류를 수행하고, 결과 데이터로서 이미지 분류에 대한 정보를 출력하는 제2 스페셜 동작을 수행할 수 있다. 컨트롤러(1100c)는 외부 장치의 요청에 따라 제2 컨트롤러(1210c) 또는 제3 컨트롤러(1220c)와 통신하여, 외부 장치의 요청에 대응하는 스페셜 동작을 수행할 수 있다. In an exemplary embodiment, the second and third controllers 1210c and 1220c may be configured to perform different special operations, respectively. For example, the second controller 1210c performs speech recognition of speech data from an external device (eg, a host) using the weight stored in the second memory device 1310c, and text information as result data A first special operation for outputting may be performed. The third controller 1220c performs a second special operation of performing image classification on image data from an external device using the weight stored in the third memory device 1320c, and outputting information on image classification as result data. Can be done. The controller 1100c may communicate with the second controller 1210c or the third controller 1220c according to the request of the external device, and perform a special operation corresponding to the request of the external device.

도 17d를 참조하면, 스토리지 장치(1000d)는 제1 컨트롤러(1100d), 복수의 불휘발성 메모리 장치들(NVM), 제2 컨트롤러(1210d), 제2 메모리 장치(1310d), 제3 컨트롤러(1220d), 제3 메모리 장치(1320d)를 포함할 수 있다.Referring to FIG. 17D, the storage device 1000d includes a first controller 1100d, a plurality of nonvolatile memory devices (NVM), a second controller 1210d, a second memory device 1310d, and a third controller 1220d ), And a third memory device 1320d.

제1 컨트롤러(1100d)는 제1 내지 제3 일반 채널들(CH_n1~CH_n3)을 통해 복수의 불휘발성 메모리 장치들(NVM)과 통신할 수 있다. 제1 컨트롤러(1100d)는 제1 전용 채널(CH_d1)을 통해 제2 컨트롤러(1210d) 및 제3 컨트롤러(1220d)와 통신할 수 있다. 제2 컨트롤러(1210d)는 별도의 인터페이스를 통해 제2 메모리 장치(1310d)와 연결되고, 제3 컨트롤러(1220d)는 별도의 인터페이스를 통해 제3 메모리 장치(1320d)와 연결될 수 있다.The first controller 1100d may communicate with the plurality of nonvolatile memory devices NVM through the first to third general channels CH_n1 to CH_n3. The first controller 1100d may communicate with the second controller 1210d and the third controller 1220d through the first dedicated channel CH_d1. The second controller 1210d may be connected to the second memory device 1310d through a separate interface, and the third controller 1220d may be connected to the third memory device 1320d through a separate interface.

도 17c의 실시 예에서, 제1 컨트롤러(1100c)는 제1 및 제2 전용 채널들(CH_d1, CH_d2)을 사용하여 제2 및 제3 컨트롤러들(1210c, 1220c)과 통신하였으나, 도 17d의 실시 예에서, 제1 컨트롤러(1100d)는 제1 전용 채널(CH_d1)(즉, 하나의 채널)을 통해 제2 및 제3 컨트롤러들(1210d, 1220d)과 통신할 수 있다. 이 경우, 제1 컨트롤러(1100d)는 제2 및 제3 컨트롤러들(1210d, 1220d) 각각의 칩 인에이블 신호를 제어함으로써, 제2 및 제3 컨트롤러들(1210d, 1220d) 각각과 통신할 수 있다.In the embodiment of FIG. 17C, the first controller 1100c communicated with the second and third controllers 1210c and 1220c using the first and second dedicated channels CH_d1 and CH_d2, but the implementation of FIG. 17D In an example, the first controller 1100d may communicate with the second and third controllers 1210d and 1220d through a first dedicated channel (CH_d1) (ie, one channel). In this case, the first controller 1100d may communicate with each of the second and third controllers 1210d and 1220d by controlling the chip enable signal of each of the second and third controllers 1210d and 1220d. .

상술된 바와 같이, 본 발명의 실시 예에 따른 스토리지 장치는 스페셜 동작을 수행하도록 구성된 제2 컨트롤러를 포함할 수 있다. 제1 컨트롤러는 제1 메모리 인터페이스 일반 채널을 통해 불휘발성 메모리 장치들과 통신하고, 제1 메모리 인터페이스의 전용 채널을 통해 제2 컨트롤러와 통신하도록 구성될 수 있다. As described above, the storage device according to the embodiment of the present invention may include a second controller configured to perform a special operation. The first controller may be configured to communicate with nonvolatile memory devices through a first memory interface general channel, and to communicate with a second controller through a dedicated channel of the first memory interface.

도 18은 본 발명의 실시 예에 따른 컴퓨팅 시스템을 보여주는 블록도이다. 도 18을 참조하면, 컴퓨팅 시스템(2000)은 호스트(2100), 제1 스토리지 장치(2210) 및 제2 스토리지 장치(2220)를 포함할 수 있다. 호스트(2100)는 제1 호스트 채널(CH_h1)을 통해 제1 스토리지 장치(2210)와 통신할 수 있고, 제2 호스트 채널(CH_h1)을 통해 제2 스토리지 장치(2220)와 통신할 수 있다. 예시적인 실시 예에서, 제1 및 제2 호스트 채널들(CH_h1, CH_h2)은 동일한 인터페이스에 기반된 통신 채널일 수 있다.18 is a block diagram illustrating a computing system according to an embodiment of the present invention. Referring to FIG. 18, the computing system 2000 may include a host 2100, a first storage device 2210 and a second storage device 2220. The host 2100 may communicate with the first storage device 2210 through the first host channel CH_h1, and may communicate with the second storage device 2220 through the second host channel CH_h1. In an exemplary embodiment, the first and second host channels CH_h1 and CH_h2 may be communication channels based on the same interface.

제1 스토리지 장치(2210)는 컨트롤러(2211) 및 메모리 장치들(2212, 2213)을 포함할 수 있다. 제1 스토리지 장치(2210)는 호스트(2100)의 제어에 따라 일반적인 스토리지 동작(즉, 사용자 데이터에 대한 읽기, 쓰기, 소거 등)을 수행할 수 있다. The first storage device 2210 may include a controller 2211 and memory devices 2212 and 2213. The first storage device 2210 may perform general storage operations (ie, read, write, and erase user data) under the control of the host 2100.

제2 스토리지 장치(2210)는 제1 컨트롤러(2221), 제2 컨트롤러(2222), 및 메모리 장치(2223)를 포함할 수 있다. 제2 스토리지 장치(2210)는 호스트(2100)의 제어에 따라 스페셜 동작을 수행할 수 있다. 예시적인 실시 예에서, 제2 스토리지 장치(2210)는 도 1 내지 도 17을 참조하여 설명된 머신 러닝 기능을 구비한 스토리지 장치일 수 있거나 또는 도 1 내지 도 17을 참조하여 설명된 동작 방법을 기반으로 동작할 수 있다. The second storage device 2210 may include a first controller 2221, a second controller 2222, and a memory device 2223. The second storage device 2210 may perform a special operation under the control of the host 2100. In an exemplary embodiment, the second storage device 2210 may be a storage device having a machine learning function described with reference to FIGS. 1 to 17 or based on the operation method described with reference to FIGS. 1 to 17. Can operate as

도 19는 본 발명에 따른 스토리지 장치가 적용된 모바일 시스템을 예시적으로 보여주는 블록도이다. 도 19를 참조하면, 모바일 시스템(3000)은 애플리케이션 프로세서(3100), 네트워크 모듈(3200), 시스템 메모리(3300), 스토리지 장치(3400), 이미지 장치(3500), 디스플레이 장치(3600), 및 사용자 입출력 장치(3700)를 포함할 수 있다. 예시적인 실시 예에서, 모바일 시스템(3000)은 스마트폰, 태블릿 PC, 노트북 등과 같은 휴대용 컴퓨팅 시스템일 수 있다.19 is a block diagram exemplarily showing a mobile system to which a storage device according to the present invention is applied. Referring to FIG. 19, the mobile system 3000 includes an application processor 3100, a network module 3200, a system memory 3300, a storage device 3400, an image device 3500, a display device 3600, and a user. An input / output device 3700 may be included. In an exemplary embodiment, the mobile system 3000 may be a portable computing system, such as a smart phone, tablet PC, laptop, or the like.

애플리케이션 프로세서(3100)(AP; Application Processor)는 모바일 시스템(3000)의 제반 동작을 제어할 수 있다. 네트워크 모듈(3200)은 외부 장치(예를 들어, 기지국, 서버, 다른 모바일 장치 등)와의 무선 또는 유선 통신을 제공할 수 있다. 시스템 메모리(3300)는 모바일 시스템(3000)의 동작 메모리 또는 버퍼 메모리로서 사용될 수 있다. 예시적인 실시 예에서, 시스템 메모리(3300)는 고속 동작을 지원하는 메모리(예를 들어, DRAM)일 수 있다.The application processor 3100 (AP) may control various operations of the mobile system 3000. The network module 3200 may provide wireless or wired communication with an external device (eg, a base station, server, other mobile device, etc.). The system memory 3300 may be used as an operating memory or buffer memory of the mobile system 3000. In an exemplary embodiment, the system memory 3300 may be a memory (eg, DRAM) supporting high-speed operation.

스토리지 장치(3400)는 모바일 시스템(3000)에서 사용되는 다양한 정보를 저장하기 위한 대용량 저장 매체로서 사용될 수 있다. 예시적인 실시 예에서, 스토리지 장치(3400)는 도 1 내지 도 18을 참조하여 설명된 머신 러닝 기능을 구비한 스토리지 장치일 수 있으며, 도 1 내지 도 18을 참조하여 설명된 동작 방법을 기반으로 애플리케이션 프로세서(3100)와 통신할 수 있다. The storage device 3400 may be used as a mass storage medium for storing various information used in the mobile system 3000. In an exemplary embodiment, the storage device 3400 may be a storage device having a machine learning function described with reference to FIGS. 1 to 18, and an application based on the operation method described with reference to FIGS. 1 to 18. It can communicate with the processor 3100.

디스플레이 장치(3600)는 애플리케이션 프로세서(3100)에 의해 처리된 정보를 사용자에게 표시하는 장치일 수 있다. 이미지 센서(3500)는 외부 객체에 대한 영상 정보를 수집하는 장치일 수 있다. 사용자 입출력 장치(3700)는 마이크, 스피커, 키패드, 터치 스크린 등과 같이 사용자(user)로부터 명령을 입력받거나 또는 정보를 제공하는 장치일 수 있다. The display device 3600 may be a device that displays information processed by the application processor 3100 to a user. The image sensor 3500 may be a device that collects image information about external objects. The user input / output device 3700 may be a device that receives a command from a user or provides information, such as a microphone, speaker, keypad, touch screen, and the like.

상술된 내용은 본 발명을 실시하기 위한 구체적인 실시 예들이다. 본 발명은 상술된 실시 예들뿐만 아니라, 단순하게 설계 변경되거나 용이하게 변경할 수 있는 실시 예들 또한 포함할 것이다. 또한, 본 발명은 실시 예들을 이용하여 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다. 따라서, 본 발명의 범위는 상술된 실시 예들에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 할 것이다.The above are specific examples for carrying out the present invention. The present invention will include not only the above-described embodiments, but also simple design changes or easily changeable embodiments. In addition, the present invention will also include techniques that can be easily modified and implemented using embodiments. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined not only by the claims to be described later but also by the claims and equivalents of the present invention.

Claims (20)

복수의 제1 메모리 셀들을 포함하는 제1 메모리 장치;
상기 복수의 제1 메모리 셀들과 동일한 타입의 복수의 제2 메모리 셀들을 포함하는 제2 메모리 장치; 및
상기 제1 메모리 장치와 제1 메모리 인터페이스를 통해 통신하고, 상기 제2 메모리 장치와 상기 제1 메모리 인터페이스의 동작 속도보다 빠른 동작 속도를 갖는 제2 메모리 인터페이스를 통해 통신하도록 구성된 컨트롤러를 포함하는 스토리지 장치.
A first memory device including a plurality of first memory cells;
A second memory device including a plurality of second memory cells of the same type as the plurality of first memory cells; And
A storage device comprising a controller configured to communicate with the first memory device through a first memory interface, and to communicate with the second memory device through a second memory interface having an operating speed faster than an operating speed of the first memory interface. .
제 1 항에 있어서,
상기 복수의 제1 메모리 셀들 및 상시 복수의 제2 메모리 셀들 각각은 낸드 플래시 메모리 셀인 스토리지 장치.
According to claim 1,
Each of the plurality of first memory cells and the always plurality of second memory cells is a NAND flash memory cell.
제 1 항에 있어서,
상기 제1 메모리 장치는 상기 제1 메모리 인터페이스를 통해 제공되는 제1 커맨드 래치 인에이블 신호, 제1 어드레스 래치 인에이블 신호, 제1 쓰기 인에이블 신호, 제1 읽기 인에이블 신호, 및 복수의 제1 데이터 신호들에 응답하여 동작하고,
상기 제2 메모리 장치는 상기 제2 메모리 인터페이스를 통해 제공되는 제2 커맨드 래치 인에이블 신호, 제2 어드레스 래치 인에이블 신호, 제2 쓰기 인에이블 신호, 제2 읽기 인에이블 신호, 및 복수의 제2 데이터 신호들에 응답하여 동작하고,
상기 복수의 제2 데이터 신호들의 개수는 상기 복수의 제1 데이터 신호들의 개수보다 많은 스토리지 장치.
According to claim 1,
The first memory device may include a first command latch enable signal, a first address latch enable signal, a first write enable signal, a first read enable signal, and a plurality of firsts provided through the first memory interface. Operates in response to data signals,
The second memory device may include a second command latch enable signal, a second address latch enable signal, a second write enable signal, a second read enable signal, and a plurality of second signals provided through the second memory interface. Operates in response to data signals,
The number of second data signals is greater than the number of first data signals.
제 1 항에 있어서,
상기 제1 메모리 장치는 상기 제1 메모리 인터페이스와 연결된 복수의 제1 데이터 신호 핀들을 포함하고,
상기 제2 메모리 장치는 상기 제2 메모리 인터페이스와 연결된 복수의 제2 데이터 신호 핀들을 포함하고,
상기 제2 데이터 신호 핀들의 개수는 상기 제1 데이터 신호 핀들의 개수보다 많은 스토리지 장치.
According to claim 1,
The first memory device includes a plurality of first data signal pins connected to the first memory interface,
The second memory device includes a plurality of second data signal pins connected to the second memory interface,
The number of the second data signal pins is greater than the number of the first data signal pins.
제 4 항에 있어서,
상기 복수의 제1 데이터 신호 핀들은 상기 제1 메모리 장치의 에지 영역에 배치되고,
상기 복수의 제2 데이터 신호 핀들은 상기 제2 메모리 장치의 센터 영역에 배치되는 스토리지 장치.
The method of claim 4,
The plurality of first data signal pins are disposed in an edge region of the first memory device,
The plurality of second data signal pins are disposed in a center area of the second memory device.
제 1 항에 있어서,
상기 제1 메모리 장치의 상기 복수의 제1 메모리 셀들은 복수의 제1 플레인들로 구분되고,
상기 제2 메모리 장치의 상기 복수의 제2 메모리 셀들은 복수의 제2 플레인들로 구분되고,
상기 제2 플레인들의 개수는 상기 제1 플레인들의 개수보다 많은 스토리지 장치.
According to claim 1,
The plurality of first memory cells of the first memory device are divided into a plurality of first planes,
The plurality of second memory cells of the second memory device are divided into a plurality of second planes,
The number of second planes is greater than the number of first planes.
제 1 항에 있어서,
상기 제2 인터페이스를 통해 단위 시간당 송수신되는 데이터의 크기는 상기 제1 인터페이스를 통해 단위 시간당 송수신되는 데이터의 크기보다 큰 스토리지 장치.
According to claim 1,
A storage device having a size of data transmitted and received per unit time through the second interface is greater than a size of data transmitted and received per unit time through the first interface.
제 1 항에 있어서,
상기 제2 메모리 장치는;
상기 복수의 제2 메모리 셀들에 저장된 가중치에 대한 MAC(Multiply and Accumulate) 연산을 수행하고, 상기 MAC 연산의 결과를 상기 제2 인터페이스를 통해 출력하도록 구성된 MAC 엔진을 포함하는 스토리지 장치.
According to claim 1,
The second memory device;
A storage device including a MAC engine configured to perform a multiply and accumulate (MAC) operation on a weight stored in the plurality of second memory cells and output the result of the MAC operation through the second interface.
제 1 항에 있어서,
상기 컨트롤러는:
상기 제1 인터페이스를 통해 상기 제1 메모리 장치와 통신하도록 구성된 제1 메모리 인터페이스 회로;
상기 제2 인터페이스를 통해 상기 제2 메모리 장치와 통신하도록 구성된 제2 메모리 인터페이스 회로;
상기 제1 메모리 인터페이스 회로를 제어하여 상기 제1 메모리 장치에 대한 액세스 동작을 수행하도록 구성된 제1 프로세서; 및
상기 제2 메모리 인터페이스 회로를 제어하여 상기 제2 메모리 장치에 대한 액세스 동작을 수행하도록 구성된 제2 프로세서를 포함하는 스토리지 장치.
According to claim 1,
The controller:
A first memory interface circuit configured to communicate with the first memory device through the first interface;
A second memory interface circuit configured to communicate with the second memory device through the second interface;
A first processor configured to control the first memory interface circuit to perform an access operation to the first memory device; And
And a second processor configured to control the second memory interface circuit to perform an access operation to the second memory device.
제 9 항에 있어서,
상기 제1 프로세서는 외부 장치로부터 제공된 제1 사용자 데이터를 상기 제1 메모리 장치에 저장하거나 또는 상기 제1 메모리 장치에 저장된 제2 사용자 데이터를 상기 외부 장치로 제공하도록 더 구성되고,
상기 제2 프로세서는 외부 장치로부터 제공된 스페셜 데이터에 대하여 상기 제2 메모리 장치에 저장된 가중치 정보를 기반으로 스페셜 동작을 수행하고, 상기 스페셜 동작의 결과를 상기 외부 장치로 제공하도록 더 구성된 스토리지 장치.
The method of claim 9,
The first processor is further configured to store first user data provided from an external device to the first memory device or to provide second user data stored in the first memory device to the external device,
The second processor is further configured to perform a special operation based on weight information stored in the second memory device on special data provided from an external device, and to provide a result of the special operation to the external device.
제 1 항에 있어서,
상기 복수의 제1 메모리 셀들과 동일한 타입의 복수의 제3 메모리 셀들을 포함하고, 상기 컨트롤러와 상기 제1 메모리 인터페이스를 통해 통신하도록 구성된 제3 메모리 장치를 더 포함하고,
상기 제1 메모리 장치는 상기 제1 메모리 인터페이스의 제1 채널을 통해 상기 컨트롤러와 통신하고,
상기 제3 메모리 장치는 상기 제1 메모리 인터페이스의 제2 채널을 통해 상기 컨트롤러와 통신하는 스토리지 장치.
According to claim 1,
A third memory device including a plurality of third memory cells of the same type as the plurality of first memory cells, and configured to communicate with the controller through the first memory interface,
The first memory device communicates with the controller through a first channel of the first memory interface,
The third memory device is a storage device communicating with the controller through a second channel of the first memory interface.
제 1 항에 있어서,
상기 복수의 제1 메모리 셀들과 동일한 타입의 복수의 제3 메모리 셀들을 포함하고, 상기 컨트롤러와 제3 메모리 인터페이스를 통해 통신하도록 구성된 제3 메모리 장치를 더 포함하는 스토리지 장치.
According to claim 1,
A storage device comprising a plurality of third memory cells of the same type as the plurality of first memory cells, and further comprising a third memory device configured to communicate with the controller through a third memory interface.
외부 장치와 호스트 인터페이스를 통해 통신하도록 구성된 제1 컨트롤러;
복수의 제1 메모리 셀들을 포함하고, 상기 제1 컨트롤러와 제1 메모리 인터페이스의 제1 채널을 통해 통신하도록 구성된 제1 메모리 장치;
상기 복수의 제1 메모리 셀들과 동일한 타입의 복수의 제2 메모리 셀들을 포함하는 제2 메모리 장치; 및
상기 제1 컨트롤러와 상기 제1 메모리 인터페이스의 제2 채널을 통해 통신하도록 구성되고, 상기 제2 메모리 장치와 제2 메모리 인터페이스를 통해 된 제2 컨트롤러를 포함하는 스토리지 장치.
A first controller configured to communicate with the external device through a host interface;
A first memory device including a plurality of first memory cells and configured to communicate with the first controller through a first channel of a first memory interface;
A second memory device including a plurality of second memory cells of the same type as the plurality of first memory cells; And
And a second controller configured to communicate with the first controller through a second channel of the first memory interface, and comprising a second controller via the second memory device and the second memory interface.
제 13 항에 있어서,
상기 복수의 제1 메모리 셀들 및 상시 복수의 제2 메모리 셀들 각각은 낸드 플래시 메모리 셀인 스토리지 장치.
The method of claim 13,
Each of the plurality of first memory cells and the always plurality of second memory cells is a NAND flash memory cell.
제 13 항에 있어서,
상기 제1 메모리 장치는 상기 제1 메모리 인터페이스를 통해 제공되는 제1 커맨드 래치 인에이블 신호, 제1 어드레스 래치 인에이블 신호, 제1 쓰기 인에이블 신호, 제1 읽기 인에이블 신호, 및 복수의 제1 데이터 신호들에 응답하여 동작하고,
상기 제2 메모리 장치는 상기 제2 메모리 인터페이스를 통해 제공되는 제2 커맨드 래치 인에이블 신호, 제2 어드레스 래치 인에이블 신호, 제2 쓰기 인에이블 신호, 제2 읽기 인에이블 신호, 및 복수의 제2 데이터 신호들에 응답하여 동작하고,
상기 복수의 제2 데이터 신호들의 개수는 상기 복수의 제1 데이터 신호들의 개수보다 많은 스토리지 장치.
The method of claim 13,
The first memory device may include a first command latch enable signal, a first address latch enable signal, a first write enable signal, a first read enable signal, and a plurality of firsts provided through the first memory interface. Operates in response to data signals,
The second memory device may include a second command latch enable signal, a second address latch enable signal, a second write enable signal, a second read enable signal, and a plurality of second signals provided through the second memory interface. Operates in response to data signals,
The number of second data signals is greater than the number of first data signals.
제 13 항에 있어서,
상기 제1 메모리 장치는 상기 제1 메모리 인터페이스와 연결된 복수의 제1 데이터 신호 핀들을 포함하고,
상기 제2 메모리 장치는 상기 제2 메모리 인터페이스와 연결된 복수의 제2 데이터 신호 핀들을 포함하고,
상기 제2 데이터 신호 핀들의 개수는 상기 제1 데이터 신호 핀들의 개수보다 많은 스토리지 장치.
The method of claim 13,
The first memory device includes a plurality of first data signal pins connected to the first memory interface,
The second memory device includes a plurality of second data signal pins connected to the second memory interface,
The number of the second data signal pins is greater than the number of the first data signal pins.
제 13 항에 있어서,
상기 제1 메모리 장치의 상기 복수의 제1 메모리 셀들은 복수의 제1 플레인들로 구분되고, 상기 제2 메모리 장치의 상기 복수의 제2 메모리 셀들은 복수의 제1 플레인들로 구분되고,
상기 제2 플레인들의 개수는 상기 제1 플레인들의 개수보다 많은 스토리지 장치.
The method of claim 13,
The plurality of first memory cells of the first memory device are divided into a plurality of first planes, and the plurality of second memory cells of the second memory device are divided into a plurality of first planes,
The number of second planes is greater than the number of first planes.
제 13 항에 있어서,
상기 복수의 제1 메모리 셀들과 동일한 타입의 복수의 제3 메모리 셀들을 포함하고, 상기 제2 컨트롤러와 제3 메모리 인터페이스를 통해 통신하도록 구성된 제3 메모리 장치를 더 포함하는 스토리지 장치.
The method of claim 13,
A storage device comprising a plurality of third memory cells of the same type as the plurality of first memory cells, and further comprising a third memory device configured to communicate with the second controller through a third memory interface.
복수의 제1 낸드 플래시 메모리 셀들을 포함하는 제1 메모리 장치;
복수의 제2 낸드 플래시 메모리 셀들을 포함하는 제2 메모리 장치; 및
제1 메모리 인터페이스를 통해 상기 제1 메모리 장치와 통신하고, 상기 제1 메모리 인터페이스보다 큰 입출력 대역폭을 갖는 제2 메모리 인터페이스를 통해 상기 제2 메모리 장치와 통신하도록 구성된 컨트롤러를 포함하는 스토리지 장치.
A first memory device including a plurality of first NAND flash memory cells;
A second memory device including a plurality of second NAND flash memory cells; And
And a controller configured to communicate with the first memory device through a first memory interface, and to communicate with the second memory device through a second memory interface having a greater input / output bandwidth than the first memory interface.
제 19 항에 있어서,
상기 제1 메모리 장치는 상기 제1 메모리 인터페이스를 통해 제공되는 제1 커맨드 래치 인에이블 신호, 제1 어드레스 래치 인에이블 신호, 제1 쓰기 인에이블 신호, 제1 읽기 인에이블 신호, 및 복수의 제1 데이터 신호들에 응답하여 동작하고,
상기 제2 메모리 장치는 상기 제2 메모리 인터페이스를 통해 제공되는 제2 커맨드 래치 인에이블 신호, 제2 어드레스 래치 인에이블 신호, 제2 쓰기 인에이블 신호, 제2 읽기 인에이블 신호, 및 복수의 제2 데이터 신호들에 응답하여 동작하고,
상기 복수의 제2 데이터 신호들의 개수는 상기 복수의 제1 데이터 신호들의 개수보다 많은 스토리지 장치.




The method of claim 19,
The first memory device may include a first command latch enable signal, a first address latch enable signal, a first write enable signal, a first read enable signal, and a plurality of firsts provided through the first memory interface. Operates in response to data signals,
The second memory device may include a second command latch enable signal, a second address latch enable signal, a second write enable signal, a second read enable signal, and a plurality of second signals provided through the second memory interface. Operates in response to data signals,
The number of second data signals is greater than the number of first data signals.




KR1020190002343A 2018-09-21 2019-01-08 Storage device KR20200037049A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
SG10201907261SA SG10201907261SA (en) 2018-09-21 2019-08-06 Storage device
US16/533,883 US11762558B2 (en) 2018-09-21 2019-08-07 Storage device having a controller that communicates with each of two memories through separate interfaces
CN201910858006.5A CN110941390A (en) 2018-09-21 2019-09-11 Storage device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180114090 2018-09-21
KR20180114090 2018-09-21

Publications (1)

Publication Number Publication Date
KR20200037049A true KR20200037049A (en) 2020-04-08

Family

ID=70275650

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190002343A KR20200037049A (en) 2018-09-21 2019-01-08 Storage device

Country Status (2)

Country Link
KR (1) KR20200037049A (en)
SG (1) SG10201907261SA (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102365312B1 (en) * 2021-06-17 2022-02-23 삼성전자주식회사 Storage controller, computational storage device, and operation method of computational storage device
KR20220170450A (en) * 2021-06-23 2022-12-30 서울시립대학교 산학협력단 Three-dimensional stacked and type synapse array-based neuromorphic system and manufacturing method and operating method of the same
TWI797022B (en) * 2021-06-17 2023-03-21 南韓商三星電子股份有限公司 Storage controller, computational storage device, and operational method of computational storage device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102365312B1 (en) * 2021-06-17 2022-02-23 삼성전자주식회사 Storage controller, computational storage device, and operation method of computational storage device
TWI797022B (en) * 2021-06-17 2023-03-21 南韓商三星電子股份有限公司 Storage controller, computational storage device, and operational method of computational storage device
US11645011B2 (en) 2021-06-17 2023-05-09 Samsung Electronics Co., Ltd. Storage controller, computational storage device, and operational method of computational storage device
KR20220170450A (en) * 2021-06-23 2022-12-30 서울시립대학교 산학협력단 Three-dimensional stacked and type synapse array-based neuromorphic system and manufacturing method and operating method of the same

Also Published As

Publication number Publication date
SG10201907261SA (en) 2020-04-29

Similar Documents

Publication Publication Date Title
US10949094B2 (en) Storage device and operating method of storage device
US10303372B2 (en) Nonvolatile memory device and operation method thereof
KR102333220B1 (en) Operation method of nonvolatile memory system
US20150220275A1 (en) Method for operating nonvolatile storage device and method for operating computing device accessing nonvolatile storage device
KR102229970B1 (en) Solid state drive including nonvolatile memory, random access memory and memory controller
CN112783433A (en) Storage device and operation method thereof
KR20200037049A (en) Storage device
KR20210146643A (en) Storage device and operating method thereof
US11762558B2 (en) Storage device having a controller that communicates with each of two memories through separate interfaces
KR20170094674A (en) Data storage device
KR20160144577A (en) Nonvolatile memory module and user device comprising the same
KR102379167B1 (en) Semiconductor device having register sets and data processing device including the same
KR20220022407A (en) Storage device and operating method thereof
KR102513903B1 (en) Nonvolatile memory module and memory system
KR102569177B1 (en) Controller , Memory system including the controller and operating method of the memory system
KR102643067B1 (en) Data storage device and operating method thereof
KR20210154401A (en) Storage device and operating method thereof
US11989446B2 (en) Host device, storage device, and method of operating the same
US11625178B2 (en) Storage device and method of operating the same
US11977735B2 (en) Memory device, storage device including the same, and method of operating the storage device
KR20220120016A (en) Memory controller and operating method thereof
KR102548574B1 (en) Nonvolatile memory module
US12032832B2 (en) Storage device and operating method thereof
US20230139519A1 (en) Storage device supporting multi-tenant operation and methods of operating same
US11868658B2 (en) Memory controller including first processor for generating commands and second processor for generating logging information and method of operating the memory controller

Legal Events

Date Code Title Description
E902 Notification of reason for refusal