KR20210065435A - 외장형 스토리지 장치 및 외장형 스토리지 장치의 동작 방법 - Google Patents

외장형 스토리지 장치 및 외장형 스토리지 장치의 동작 방법 Download PDF

Info

Publication number
KR20210065435A
KR20210065435A KR1020190154154A KR20190154154A KR20210065435A KR 20210065435 A KR20210065435 A KR 20210065435A KR 1020190154154 A KR1020190154154 A KR 1020190154154A KR 20190154154 A KR20190154154 A KR 20190154154A KR 20210065435 A KR20210065435 A KR 20210065435A
Authority
KR
South Korea
Prior art keywords
usb
power
storage controller
connector
host
Prior art date
Application number
KR1020190154154A
Other languages
English (en)
Inventor
권재영
김경훈
김민석
오영근
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020190154154A priority Critical patent/KR20210065435A/ko
Priority to US16/922,091 priority patent/US11181962B2/en
Priority to CN202011225076.6A priority patent/CN112863577A/zh
Publication of KR20210065435A publication Critical patent/KR20210065435A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/061Improving I/O performance
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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
    • 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/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0042Universal serial bus [USB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3804Memory card connected to a computer port directly or by means of a reader/writer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3852Converter between protocols
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

외장형 스토리지 장치는 데이터를 저장하는 복수의 비휘발성 메모리 장치들, 상기 비휘발성 메모리 장치들을 제어하는 스토리지 컨트롤러 및 브릿지 칩셋을 포함한다. 상기 브릿지 칩셋은 호스트의 제1 커넥터와 케이블 어셈블리를 통하여 연결되고, 상기 케이블 어셈블리의 저항을 검출하고, 상기 검출된 저항에 기초하여 상기 제1 커넥터의 USB 타입 정보를 상기 스토리지 컨트롤러에 제공하고, 상기 호스트와 USB 연결이 확립된 후, 상기 확립된 USB 연결의 USB 버전 정보를 상기 스토리지 컨트롤러에 제공한다. 상기 스토리지 컨트롤러는 상기 USB 타입 정보, 상기 USB 버전 정보 및 상기 호스트로부터의, 상기 데이터에 관련된 순차 액세스 또는 랜덤 액세스를 나타내는 리퀘스트 패턴에 기초하여 복수의 동작 모드들 중 하나를 선택하고 상기 선택된 동작 모드가 허용하는 전력 레벨에서 최대의 주파수들의 클럭 신호들을 선택하고, 상기 선택된 클럭 신호들에 따라 전력 쓰로틀링을 수행한다.

Description

외장형 스토리지 장치 및 외장형 스토리지 장치의 동작 방법{PORTABLE STORAGE DEVICES, AND METHDOS OF OPERATING THE SAME}
본 발명은 스토리지 분야에 관한 것으로, 보다 상세하게는 외장형 스토리지 장치 및 이의 동작 방법에 관한 것이다.
데이터 전송 표준(Universal Serial Bus; USB)은 전자 장치 사이에 디지털 데이터를 전송하는데 사용될 수 있는 산업 표준 데이터 버스 표준이다. 최근 사용되고 있는 USB 3.1 타입은 USB 2.0 타입에 비해 전송 속도가 10배 이상 빨라 고화질 컨텐츠 전송에 적합한 표준이다. 외장형 스토리지 장치에는 다양한 USB 커넥터를 지원하는 다양한 호스트가 연결될 수 있다.
본 발명의 일 목적은 다양한 호스트와 호환가능하고, 전력 쓰로틀링을 수행하는 외장형 스토리지 장치를 제공하는데 있다.
본 발명의 일 목적은 다양한 호스트와 호환가능하고, 전력 쓰로틀링을 수행하는 외장형 스토리지 장치의 동작 방법을 제공하는데 있다.
본 발명의 실시예들에 따른 외장형 스토리지 장치는 데이터를 저장하는 복수의 비휘발성 메모리 장치들, 상기 비휘발성 메모리 장치들을 제어하는 스토리지 컨트롤러 및 브릿지 칩셋을 포함한다. 상기 브릿지 칩셋은 호스트의 제1 커넥터와 케이블 어셈블리를 통하여 연결되고, 상기 케이블 어셈블리의 저항을 검출하고, 상기 검출된 저항에 기초하여 상기 제1 커넥터의 USB 타입 정보를 상기 스토리지 컨트롤러에 제공하고, 상기 호스트와 USB 연결이 확립된 후, 상기 확립된 USB 연결의 USB 버전 정보를 상기 스토리지 컨트롤러에 제공한다. 상기 스토리지 컨트롤러는 상기 USB 타입 정보, 상기 USB 버전 정보 및 상기 호스트로부터의, 상기 데이터에 관련된 순차 액세스 또는 랜덤 액세스를 나타내는 리퀘스트 패턴에 기초하여 복수의 동작 모드들 중 하나를 선택하고 상기 선택된 동작 모드가 허용하는 전력 레벨에서 최대의 주파수들의 클럭 신호들을 선택하고, 상기 선택된 클럭 신호들에 따라 전력 쓰로틀링을 수행한다.
본 발명의 실시예들에 따른 데이터를 저장하는 복수의 비휘발성 메모리 장치들, 상기 비휘발성 메모리 장치들을 제어하는 스토리지 컨트롤러 및 호스트의 제1 커넥터와 USB 케이블 어셈블리를 통하여 연결되는 제2 커넥터에 연결되는 브릿지 칩셋을 구비하는 외장형 스토리지 장치의 동작 방법으로서, 상기 브릿지 칩셋에서 상기 USB 케이블 어셈블리의 저항을 검출하고, 상기 검출된 저항에 기초하여 상기 제1 커넥터의 USB 타입을 판단하고, 상기 호스트와의 USB 연결이 확립된 후, 상기 확립된 USB 버전 정보를 스토리지 컨트롤러에 제공하고, 상기 스토리지 컨트롤러에서 상기 USB 타입 정보, 상기 USB 버전 정보 및 상기 호스트로부터의, 상기 데이터에 관련된 순차 액세스 또는 랜덤 액세스를 나타내는 리퀘스트 패턴에 기초하여 복수의 동작 모드들 중 하나를 선택하고, 상기 선택된 동작 모드에 기초하여 전력 쓰로틀링을 수행한다.
본 발명의 실시예들에 따른 외장형 스토리지 장치는 데이터를 저장하는 복수의 비휘발성 메모리 장치들, 상기 비휘발성 메모리 장치들을 제어하는 스토리지 컨트롤러 및 브릿지 칩셋을 포함한다. 상기 브릿지 칩셋은 상기 케이블 어셈블리와 접속되는 상기 외장형 스토리지 장치의 제2 커넥터의 복수의 핀들 중 제1 핀을 통하여 상기 케이블 어셈블리의 저항을 검출하는 연결 검출기를 포함한다. 상기 스토리지 컨트롤러는 상기 호스트와 상기 비휘발성 메모리 장치들 사이에서 인터페이싱을 수행하는 인터페이스 유닛 및 상기 USB 타입 정보, 상기 USB 버전 정보및 상기 호스트로부터의, 상기 데이터에 관련된 순차 액세스 또는 랜덤 액세스를 나타내는 리퀘스트 패턴에 기초하여 복수의 동작 모드들 중 하나를 선택하고, 상기 선택된 동작 모드가 허용하는 전력 레벨에서 최대의 주파수들의 클럭 신호들을 선택하고, 상기 선택된 클럭 신호들에 기초하여 전력 쓰로틀링을 수행하는 전력 컨트롤러를 포함한다. 상기 브릿지 칩셋은 제1 범용 입출력 핀을 통하여 상기 USB 타입 정보를 상기 스토리지 컨트롤러에 제공하고, 상기 USB 버전 정보를 상기 인터페이스 엔진의 peripheral component interconnect express (PCIe) 인터페이스의 레지스터에 기입한다.
본 발명의 실시예들에 따른 외장형 스토리지 장치는 데이터를 저장하는 복수의 비휘발성 메모리 장치들, 상기 비휘발성 메모리 장치들을 제어하는 스토리지 컨트롤러 및 브릿지 칩셋을 포함한다. 상기 브릿지 칩셋은 호스트의 제1 커넥터와 케이블 어셈블리를 통하여 연결되고, 상기 케이블 어셈블리의 저항을 검출하고, 상기 검출된 저항에 기초하여 상기 제1 커넥터의 연결 정보를 스토리지 컨트롤러에 제공하고, 상기 호스트와 연결이 확립된 후, 상기 확립된 버전 정보를 상기 스토리지 컨트롤러에 제공한다. 상기 스토리지 컨트롤러는 상기 연결 정보, 상기 USB 확립된 버전 정보 및 상기 호스트로부터의, 상기 데이터에 관련된 순차 액세스 또는 랜덤 액세스를 나타내는 리퀘스트 패턴에 기초하여 복수의 동작 모드들 중 하나를 선택하고 상기 선택된 동작 모드가 허용하는 전력 레벨에서 최대의 주파수들의 클럭 신호들을 선택하고, 상기 선택된 클럭 신호들에 따라 전력 쓰로틀링을 수행한다.
본 발명의 실시예들에 따르면, 외장형 스토리지 장치는 USB 케이블 어셈블리를 통하여 연결되는 호스트의 제1 커넥터의 USB 타입, 외장형 스토리지 장치와 호스트 사이의 USB 버전 정보 및 호스트의 리퀘스트 패턴에 따라 능등적으로 전력 제어를 수행하여 전력량을 최적화할 수 있다.
도 1은 본 발명의 실시예들에 따른 스토리지 시스템을 나타내는 블록도이다.
도 2는 본 발명의 실시예들에 따른 도 1의 USB 케이블 어셈블리를 나타낸다.
도 3a는 도 1에 도시된 제1 커넥터를 나타내고, 도 3b는 도 2에 도시된 플러그를 나타낸다.
도 3c는 본 발명의 실시예들에 따른 도 1의 케이블 어셈블리의 종류를 나타낸다.
도 4는 본 발명의 실시예들에 따른 도 1의 호스트를 나타내는 블록도이다.
도 5는 본 발명의 실시예들에 따른 도 1의 스토리지 시스템에서 외장형 스토리지 장치를 나타낸다.
도 6은 본 발명의 실시예들에 따른 도 5에서 스토리지 컨트롤러의 구성을 나타내는 블록도이다.
도 7은 본 발명의 실시예들에 따른 도 6의 스토리지 컨트롤러에서 인터페이스 유닛을 나타낸다.
도 8a는 본 발명의 실시예들에 따른 도 7의 스토리지 컨트롤러에서 전력 컨트롤러를 나타내는 블록도이다.
도 8b는 본 발명의 실시예들에 따른 도 8a의 제어 로직을 나타내는 블록도이다.
도 9는 본 발명의 실시예들에 따른 도 8의 룩업 테이블을 나타낸다.
도 10은 본 발명의 실시예들에 따른 도 5의 스토리지 컨트롤러의 동작을 나타낸다.
도 11은 본 발명의 실시예들에 따른 도 5의 스토리지 컨트롤러의 초기화 동작을 나타내는 타이밍도이다.
도 12는 도 5의 스토리지 컨트롤러에서 연결 검출기의 동작을 나타낸다.
도 13은 본 발명의 실시예들에 따른 도 5의 외장형 스토리지 장치에서 비휘발성 메모리 장치들 중 하나를 나타내는 블록도이다.
도 14는 도 13의 메모리 셀 어레이를 나타내는 블록도이다.
도 15은 도 14의 메모리 블록들 중 하나를 보여주는 사시도이다.
도 16은 도 15의 메모리 블록을 나타내는 등가 회로도이다.
도 17은 본 발명의 실시예들에 따른 외장형 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 18은 본 발명의 실시예들에 따른 스토리지 시스템을 나타내는 블록도이다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 실시예들에 따른 스토리지 시스템을 나타내는 블록도이다.
도 1을 참조하면, 스토리지 시스템(10)은 호스트(100) 및 외장형 스토리지 장치(200)를 포함할 수 있다.
호스트(100) 및 외장형 스토리지 장치(200)는 USB(universal serial bus) 케이블 어셈블리(또는 케이블 어셈블리, 30)를 통하여 서로 전기적으로 연결될 수 있다.
호스트(100)는 제1 커넥터(110)를 통하여 USB 케이블 어셈블리(30)와 연결될 수 있고, 외장형 스토리지 장치(200)는 제2 커넥터(210)를 통하여 케이블 어셈블리(30)와 연결될 수 있다.
실시예에 있어서, 호스트(100)는 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다.
다른 실시예에서, 호스트(100)는 각종 의료기기, 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM, 상점의 POS(point of sales) 중 중 적어도 하나를 포함할 수 있다.
실시예에 있어서, 제1 커넥터(110)는 제1 리셉터클(receptacle)이라 호칭될 수 있고, 제2 커넥터(210)는 제2 리셉터클이라 호칭될 수 있다.
호스트(100)는 USB 케이블 어셈블리(30)를 통하여 커맨드(CMD)와 어드레스(ADDR)를 외장형 스토리지 장치(200)에 제공하고, USB 케이블 어셈블리(30)를 통하여 데이터(DTA)를 외장형 스토리지 장치(200)와 주고받을 수 있다.
외장형 스토리지 장치(200)는 외장형 솔리드 스테이트 드라이브(Solid State Drive; SSD) 장치일 수 있다. 실시예에 있어서, 외장형 스토리지 장치(200)는 데이터를 저장할 수 있는 임의의 종류의 저장 장치일 수 있다.
스토리지 장치(200)는 브릿지 칩셋(220), 스토리지 컨트롤러(300), 스토리지 미디어(400)를 포함할 수 있다. 스토리지 미디어(400)는 복수의 비휘발성 메모리 장치들을 포함할 수 있다. 스토리지 미디어(400)는 외장형 스토리지 장치(200)의 저장 매체로서 사용된다.
스토리지 미디어(400)에 포함되는 비휘발성 메모리 장치들 각각은 플래시 메모리 또는 수직형 낸드 메모리 장치로 구현될 수 있다. 스토리지 컨트롤러(300)는 비휘발성 메모리 장치들 각각을 제어할 수 있다.
브릿지 칩셋(220)은 USB 케이블 어셈블리(30)를 통하여 호스트(110)의 제1 커넥터(110)에 연결되는 경우, 호스트(110)로부터 전원을 제공받고, 케이블 어셈블리(30)의 저항을 검출할 수 있다. 또한 브릿지 칩셋(220)은 검출된 저항에 기초하여 USB 케이블 어셈블리(30) 및/또는 제1 커넥터(110)의 USB 타입을 판단하고, 판단된 USB 타입을 나타내는 USB 타입 정보를 스토리지 컨트롤러(300)에 제공할 수 있다.
브릿지 칩셋(220)은 검출된 저항에 기초하여 범용 입출력 핀을 선택적으로 토글링하여 USB 타입 정보를 스토리지 컨트롤러(300)에 알릴 수 있다.
또한, 브릿지 칩셋(220)은 호스트(100)와 USB 연결이 확립되는 경우(즉, 호스트(100)와 외장형 스토리지 장치(200) 사이의 USB 링크가 연결되는 경우), 확립된 USB 연결의 USB 버전 정보(호스트(100)와 외장형 스토리지 장치(200) 사이의 USB 프로토콜 정보)를 스토리지 컨트롤러(300)에 제공할 수 있다.
스토리지 컨트롤러(300)는 USB 타입 정보, USB 버전 정보 및 호스트(100)로부터의 리퀘스트 패턴에 기초하여 상기 리퀘스트 패턴에 수반된 동작이 허용하는 전력 레벨 이하에서 전력 쓰로틀링을 수행할 수 있다. 스토리지 컨트롤러(300)는 USB 타입 정보, USB 버전 정보 및 호스트(100)로부터의 리퀘스트 패턴에 기초하여 복수의 동작 모드들 중 하나를 선택하고, 상기 동작에서 소모되는 전력의 레벨을 조절하는 전력 쓰로틀링을 수행할 수 있다. 즉, 스토리지 컨트롤러(300)는 선택된 동작 모드가 허용하는 전력 타겟 레벨을 초과하지 않도록 스토리지 컨트롤러(300) 내의 하드웨어 모듈들에 제공되는 클럭 신호들의 주파수들을 선택할 수 있다.
도 2는 본 발명의 실시예들에 따른 도 1의 USB 케이블 어셈블리를 나타낸다.
도 2를 참조하면, USB 케이블 어셈블리(30)는 케이블(31), 제1 오버몰드(overmold; 33), 제2 오버몰드(33-1), 제1 플러그(plug; 35) 및 제2 플러그(35-1)를 포함할 수 있다.
제1 플러그(35)는 제1 오버몰드(33)를 통해 케이블(31)과 연결되고, 제1 커넥터(110)에 연결될 수 있다. 제2 플러그(35-1)는 제2 오버몰드(33-1)를 통해 케이블(31)과 연결되고 제2 커넥터(210)에 연결될 수 있다.
도 3a는 도 1에 도시된 제1 커넥터를 나타내고, 도 3b는 도 2에 도시된 플러그를 나타낸다.
도 3a를 참조하면, 제1 플러그(35)에 접속될 수 있는 제1 커넥터(110)는 24개의 핀들(A1~B12)을 포함할 수 있다.
24개의 핀들(A1~B12) 중 제1 그룹의 핀들(A1~A12)와 제2 그룹의 핀들(B1~B12)은 제1 플러그(35)의 중심부를 기준으로 서로 대칭되도록 배치될 수 있다.
구체적으로, 제1 커넥터(110)는 제1 GND 핀들(A1, A12, B1, 및 B12), 제1 USB 3.1 전송 핀들(A2, A3, B2, 및 B3), 제1 USB 3.1 수신 핀들(A10, A11, B10, 및 B11), 제1 VBUS 핀들(A4, A9, B4, 및 B9), 제1 CC 핀들(A5 및 B5), 제1 USB 2.O 신호 핀들(A6, A7, B6, 및 B7), 및 제1사이드 핀들(A8 및 B8)을 포함할 수 있다.
도 3b를 참조하면, 제1 플러그(plug; 35) 또는 제2 플러그(35-1)는 제1 커넥터(110)의 각 핀들과 대응되는 24개의 핀들(A1~B12)을 포함할 수 있다.
구체적으로, 제1 플러그(plug; 35) 또는 제2 플러그(35-1)는 제2 GND 핀들(A1, A12, B1, 및 B12), 제2 USB 3.1 전송 핀들(A2, A3, B2, 및 B3), 제2 USB 3.1 리시버 핀들(A10, A11, B10, 및 B11), 제2 VBUS 핀들(A4, A9, B4, 및 B9), 제2CC 핀(A5), VCONN 핀(B5), 제2USB 2.O 신호 핀들(A6 또는 A7), 및 제2 사이드 핀들(A8 및 B8)을 포함할 수 있다.
제1 커넥터(110)의 제1 USB 3.1 전송 핀들(A2, A3, B2, 및 B3)은 제1 플러그(plug; 35)의 제1 USB 3.1 전송 핀들(A2, A3, B2, 및 B3)과 접속되고, 제1 커넥터(110)의 제1 USB 3.1 수신 핀들(A10, A11, B10, 및 B11)은 제1 플러그(plug; 35)의 제2 USB 3.1 전송 핀들(A2, A3, B2, 및 B3)과 접속됨으로써, USB 3.1 프로토콜에 따라 제1 커넥터(110)와 제1 플러그(plug; 35) 또는 제2 플러그(35-1) 사이에서 데이터를 송수신할 있다. 제1 커넥터(110)의 제1 CC 핀들(A5 또는 B5) 각각은 제1 플러그(35)의 제 2CC 핀(A5) 또는 VCONN 핀(B5)에 접속될 수 있다.
제1 커넥터(110)와 제1 플러그(plug; 35) 또는 제2 플러그(35-1)의 구성은 USB 타입-C에 따른 예시이다. 실시예에 따라서 제1 커넥터(110)와 제1 플러그(plug; 35) 또는 제2 플러그(35-1)의 구성은 USB 타입에 따라 달라질 수 있다.
실시예에 따라서, 제2 커넥터(210)의 핀 배치는 제1 커넥터(110)의 핀 배치와 동일하거나 유사할 수 있다.
USB 인터페이스를 지원하는 호스트(100)는 식별단자인 CC 단자의 전압을 측정하여, 제1 커넥터(110)에 연결되는 제1 플러그(35)의 삽입 방향 및 케이블 어셈블리(30)를 통해 연결된 외장형 스토리지 장치(200)가 USB 디바이스로서 동작하는지 또는 USB 호스트로서 동작하는지 정의할 수 있다.
즉 CC단자(CC1. CC2)는 호스트(100)가 케이블 어셈블리(30)를 통하여 외장형 스토리지 장치(200)가 연결되었는지를 검출하는 연결 검출과, 제1 플러그(35)의 삽입 방향 판단 및 스토리지 시스템(10)의 구성 관라(configuration management)에 이용되는 핀이다.
이와 같이, CC 단자의 전압을 측정하여 제1 플러그(35)의 삽입 방향을 인식하고, 제1 커넥터(110) 및 케이블 어셈블리(30)에 연결된 외부 장치가 USB 디바이스인지 또는 USB 호스트인지를 정의하기 위해, CC 단자에는 항상 일정한 크기의 전류가 인가된다. 호스트(110)가 제공할 수 있는 상기 일정한 크기의 전류는 제1 커넥터(110)의 USB 타입에 따라 달라질 수 있다.
도 3c는 본 발명의 실시예들에 따른 도 1의 케이블 어셈블리의 종류를 나타낸다.
도 3c를 참조하면, 케이블 어셈블리(30)는 타입 C to C(36)를 따를 수 있다. 케이블 어셈블리(30)는 타입 C to 스탠다드 A(37)를 따를 수 있다. 케이블 어셈블리(30)는 타입 C to A 리셉터클(38)을 따를 수 있다.
실시예에 있어서, 도 1의 케이블 어셈블리(30)가 USB 타입을 따르지 않을 수 있다. 이 경우에, 브릿지 칩셋(220)은 케이블 어셈블리의 저항을 검출하고, 상기 검출된 저항에 기초하여 제1 커넥터(110)의 연결 정보를 스토리지 컨트롤러(300)에 제공하고, 호스트(100)와 연결이 확립된 후, 상기 확립된 버전 정보를 스토리지 컨트롤러(300)에 제공할 수 있다. 스토리지 컨트롤러(300)는, 상기 연결정보와 상기 확립된 버전 정보 및 호스트(100)로부터의 데이터에 관련된 순차 액세스 또는 랜덤 액세스를 나타내는 리퀘스트 패턴에 기초하여 복수의 동작 모드들 중 하나를 선택하고 상기 선택된 동작 모드가 허용하는 전력 레벨에서 최대의 주파수들의 클럭 신호들을 선택하고, 상기 선택된 클럭 신호들에 따라 전력 쓰로틀링을 수행할 수 있다.
도 4는 본 발명의 실시예들에 따른 도 1의 호스트를 나타내는 블록도이다.
도 4를 참조하면, 호스트(100)는 CPU(120), ROM(125), 메인 메모리(130), 스토리지 인터페이스(140), 사용자 인터페이스(150) 및 버스(160)를 포함할 수 있다.
버스(160)는 호스트(100)의 CPU(120), 롬(125), 메인 메모리(130), 스토리지 인터페이스(140) 및 사용자 인터페이스(150) 간의 데이터를 전송하는 전송로를 의미한다.
롬(125)에는 다양한 어플리케이션(application) 프로그램들이 저장되어 있다.
메인 메모리(130)에는 데이터 또는 프로그램이 일시적으로 저장될 수 있다.
사용자 인터페이스(150)는 사용자와 호스트 기기, 컴퓨터 프로그램 등 사이에서 정보를 주고받을 수 있는 물리적 또는 가상적 매개체로서 물리적인 하드웨어와 논리적인 소프트웨어를 포함한다. 즉, 사용자 인터페이스(150)는 사용자가 호스트(100)를 조작할 수 있는 입력 장치와 사용자 입력에 대한 처리 결과를 표시하는 출력 장치를 포함할 수 있다.
중앙 처리 장치(120)는 호스트(100)의 전반적인 동작을 제어한다. 중앙 처리 장치(120)는 ROM(125)에 저장된 어플리케이션(application) 또는 툴(tool)을 이용하여 외장형 스토리지 장치(200)에 데이터를 저장하기 위한 리퀘스트(또는 커맨드) 또는 외장형 스토리지 장치(200)로부터 데이터를 읽어내기 위한 커맨드를 생성시켜 스토리지 인터페이스(140)를 통하여 외장형 스토리지 장치(200)로 전달하도록 제어할 수 있다.
도 5는 본 발명의 실시예들에 따른 도 1의 스토리지 시스템에서 외장형 스토리지 장치를 나타낸다.
도 5를 참조하면, 외장형 스토리지 장치(200)는 케이블 어셈블리(30)에 연결되는 제2 커넥터(210), 브릿지 칩셋(220), 스토리지 컨트롤러(300) 및 스토리지 미디어(400)를 포함한다.
스토리지 미디어(400)는 복수의 비휘발성 메모리 장치들(400a~400k)를 포함할 수 있다. 스토리지 컨트롤러(300)는 복수의 채널들(CHG1~CHGk)을 통하여 비휘발성 메모리 장치들(400a~400k)과 각각 연결된다.
제2 커넥터(210)는 복수의 핀들을 포함할 수 있고, 상기 핀들은 전력을 공급하기 위한 케이블 버스 전력 핀(Vbus 핀(211)), 호스트(100)와의 설정 정보 교환을 위한 핀(CC1 핀(212), CC2 핀(213)), 접지 핀(GND 핀(214)) 등을 포함할 수 있다.
브릿치 칩셋(220)은 제2 커넥터(210)와 연결될 수 있다. 브릿지 칩셋(220)은 인터페이스 컨버터(230) 및 연결 검출기(240)를 포함할 수 있다.
인터페이스 컨버터(230)는 호스트(100)와 스토리지 컨트롤러(300) 사이에서 인터페이스 변환을 수행할 수 있다. 인터페이스 컨버터(230)는 호스트(100)의 인터페이스를 비휘발성 메모리 장치들(400a~400k)에 적합한 인터페이스로 변경하거나, 비휘발성 메모리 장치들(400a~400k)에 적합한 인터페이스를 호스트(100)의 인터페이스로 변경될 수 있다.
연결 검출기(240)는 CC1 핀(212)에 연결되고, USB 케이블 어셈블리(30)가 호스트(100)의 제1 커넥터(110)에 연결되어, 케이블 어셈블리(30)에 전원이 공급되면, USB 케이블 어셈블리(30)와 제1 커넥터(110)의 저항을 검출하고, 검출된 저항에 기초하여 케이블 어셈블리(30)와 제1 커넥터(110)의 USB 타입을 판단하고 이를 나타내는 USB 타입 정보(UTI)를 스토리지 컨트롤러(300)에 제공할 수 있다.
케이블 어셈블리(30)가 호스트(100)의 제1 커넥터(110)에 연결되어, USB 케이블 어셈블리(30)에 전원이 공급되면 상술한 바와 같이, 제1 커넥터(110)의 CC1 핀에 인가되는 전류가 USB 케이블 어셈블리(30)를 통하여 CC1 핀(212)에 제공되고, 이에 따른 전압이 CC1 핀(212)에 유기된다. 따라서, 연결 검출기(240)는 CC1 핀(212)의 전압을 검출하여 USB 케이블 어셈블리(30)와 제1 커넥터(110)의 저항을 검출할 수 있다.
연결 검출기(240)는 문턱값과 검출된 저항의 비교에 기초하여 USB 케이블 어셈블리(30)와 제1 커넥터(110)의 USB 타입을 판단할 수 있다. 연결 검출기는 검출된 저항이 문턱값보다 작거나 같은 경우에는 제1 커넥터(110)의 USB 타입을 USB 타입-C로 판단할 수 있다. 연결 검출기는 검출된 저항이 문턱값보다 큰 경우에는 제1 커넥터(110)의 USB 타입을 USB 타입-A로 판단할 수 있다.
실시예에 있어서, 연결 검출기(240)는 제1 범용 입출력 핀(221)을 통하여 스토리지 컨트롤러(300)의 전력 컨트롤러(360)에 USB 타입 정보(UTI)를 제공할 수 있다. 연결 검출기(240)는 검출된 저항에 따라 제1 범용 입출력 핀(221)의 전압을 선택적으로 토글링할 수 있다.
연결 검출기(240)는 검출된 저항이 문턱 값보다 작거나 같은 경우에는 제1 범용 입출력 핀(221)을 제1 레벨로 유지하여 제1 커넥터(110) 및/또는 케이블 어셈블리(30)가 USB 타입-C임을 스토리지 컨트롤러(300)에 알릴 수 있다.
연결 검출기(240)는 검출된 저항이 문턱 값보다 큰 경우에는 제1 범용 입출력 핀(221)을 제1 레벨에서 제2 레벨로 토글링하여 제1 커넥터(110) 및 USB 케이블 어셈블리(30) 및/또는 제1 커넥터(110)가 USB 타입-A임을 스토리지 컨트롤러(300)에 알릴 수 있다.
스토리지 컨트롤러(300)는 전력 컨트롤러(360) 및 인터페이스 유닛(350)을 포함할 수 있고, 인터페이스 유닛(350)은 레지스터(352)를 포함할 수 있다. 레지스터(355)는 제조사 전용 레지스터(vendor specific register)일 수 있다.
전력 컨트롤러(360)는 스토리지 컨트롤러(300)의 제2 범용 입출력 핀(301)에 연결될 수 있고, 제2 범용 입출력 핀(301)은 제1 범용 입출력 핀(221)에 하드와이어 연결될 수 있다.
연결 검출기(240)는 호스트(100)와 USB 연결이 확립된 후, 확립된 USB 연결의 USB 버전 정보(UVI)를 스토리지 컨트롤러(300)에 제공할 수 있다.
연결 검출기(240)는 USB 버전 정보(UVI)를 레지스터(355)에 기입하고, 레지스터(355)의 기입 이벤트에 응답하여 전력 컨트롤러(360)는 레지스터(355)를 참조하여 USB 버전 정보(UVI)를 획득할 수 있다. 브릿지 칩셋(220)과 스토리지 컨트롤러(300)는 제1 범용 입출력 핀(221)과 상기 제2 범용 입출력 핀(301)을 통하여 사이드밴드(side-band)로 통신하고, 연결 검출기(240)와 상기 PCIe 인터페이스(351)의 레지스터(352)는 인밴드(in-band)로 통신하고, 비-NVMe 인터페이스를 통하여 통신할 수 있다.
전력 컨트롤러(360)는 USB 타입 정보(UTI)와 USB 버전 정보(UVI)에 기초하여 복수의 초기화 모드들 중에서 하나를 선택하고, 상기 선택된 초기화 모드가 허용하는 타겟 전력 레벨 이하에서 초기화 동작을 수행할 수 있다.
도 6은 본 발명의 실시예들에 따른 도 5에서 스토리지 컨트롤러의 구성을 나타내는 블록도이다.
도 6을 참조하면, 스토리지 컨트롤러(300)는 버스(305)를 통하여 서로 연결되는 프로세서(310), 에러 정정 코드(error correction code, ECC) 엔진(320), 버퍼(330), 랜더마이저(335), 롬(340), 인터페이스 유닛(350), 전력 컨트롤러(360) 및 비휘발성 컨트롤러(350)를 포함할 수 있다.
프로세서(310)는 스토리지 컨트롤러(300)의 제반 동작을 제어한다. 프로세서(310)는 복수의 코어들을 포함할 수 있다. 복수의 코어들은 비휘발성 메모리 장치들(400a~400k)과 관련된 제어 동작들을 수행할 수 있다.
비휘발성 메모리 장치들(400a~400k)에 포함된 메모리 셀들은 프로그램 경과 시간, 온도, 프로그램 교란, 독출 교란 등과 같은 요인들로 인하여 문턱 전압 산포가 변화하는 물리적 특성을 갖는다. 즉, 상술된 요인들로 인하여 비휘발성 메모리 장치들(400a~400k)에 저장된 데이터에 오류가 발생할 수 있다.
스토리지 컨트롤러(300)는 이러한 오류들을 정정하기 위하여 다양한 에러 정정 기법을 사용할 수 있다. 예를 들어, 스토리지 컨트롤러(300)는 ECC 엔진(320)을 포함할 수 있다. ECC 엔진(320)은 비휘발성 메모리 장치들(400a~400k)에 저장된 데이터에 발생한 오류들을 정정한다.
ROM(340)은 메모리 컨트롤러(40)가 동작하는데 요구되는 다양한 정보를 펌웨어 형태로 저장할 수 있다. 버퍼(330)는 비휘발성 메모리 장치들(400a~400k)로부터 독출된 데이터를 저장할 수 있다.
랜더마이저(335)는 비휘발성 메모리 장치들(400a~400k)에 저장될 데이터를 랜더마이징(randomizing)할 수 있다. 예를 들어, 랜더마이저(335)는 비휘발성 메모리 장치들(400a~400k)에 저장될 데이터를 워드 라인 단위로 랜더마이징할 수 있다. 예를 들어, 데이터 랜더마이징은 하나의 워드라인에 연결된 메모리 셀들이 동일한 비율의 프로그램 상태를 갖도록 데이터를 처리하는 것을 가리킨다.
예를 들어, 하나의 워드라인에 연결된 메모리 셀들이 각각 2-비트의 데이터를 저장하는 멀티 레벨 셀(MLC; Multi Level Cell)인 경우, 메모리 셀들 각각은 소거 상태 및 제 1 내지 제3 프로그램 상태들 중 어느 하나의 상태를 가질 것이다. 이 때, 랜더마이저(335)는 하나의 워드라인에 연결된 메모리 셀들 중 소거 상태를 갖는 메모리 셀들의 개수, 제1 프로그램 상태를 갖는 메모리 셀들의 개수, 제2 프로그램 상태를 갖는 메모리 셀들의 개수, 및 제3 프로그램 상태를 갖는 메모리 셀들의 개수가 서로 동일하도록 데이터를 랜더마이징할 수 있다. 즉, 랜더마이징된 데이터(randomized data)가 저장된 메모리 셀들은 실질적으로 서로 동일한 개수의 프로그램 상태들을 가질 것이다.
예시적으로, 랜더마이저(335)는 비휘발성 메모리 장치들(400a~400k)로부터 읽은 데이터를 디랜더마이징할 수 있다.
인터페이스 유닛(350)은 호스트(100)와 비휘발성 메모리 장치들(400a~400k) 사이에서 인터페이싱을 수행할 수 있다.
인터페이스 유닛(350)은 레지스터(352)를 포함할 수 있고, 레지스터(352)는 USB 버전 정보(UVI)를 저장할 수 있다. 전력 컨트롤러(360)는 USB 타입 정보(UTI)을 수신하고, 커맨드(CMD) 및 어드레스(ADDR)을 수신하고, 커맨드(CMD) 및 어드레스(ADDR)에 기초하여 리퀘스트 패턴을 판단하고, USB 타입 정보(UTI), USB 버전 정보(UVI) 및 USB 타입 정보(UTI)에 기초하여 복수의 동작 모드들 중 하나를 선택하고 선택된 동작 모드에서 소모되는 전력 레벨을 조절하는 전력 쓰로틀링을 수행할 수 있다.
비휘발성 컨트롤러(345)는 커맨드(CMD) 및 어드레스(ADDR)에 기초하여 비휘발성 메모리 장치들(400a~400k)을 제어할 수 있다.
도 7은 본 발명의 실시예들에 따른 도 6의 스토리지 컨트롤러에서 인터페이스 유닛을 나타낸다.
도 7을 참조하면, 인터페이스 유닛(350)은 PCIe 인터페이스(351), NVMe(nonvolatile memory express) 인터페이스(353) 및 인터페이스 컨트롤러(355)를 포함하고, PCIe 인터페이스(351)는 레지스터(352)를 포함할 수 있다.
인터페이스 컨트롤러(355)는 PCIe 인터페이스(351)와 NVMe 인터페이스(353)를 제어할 수 있다.
PCIe 인터페이스(351)는 PCIe 프로토콜에 따라 커맨드 및 데이터를 송수신하는 통신 경로일 수 있다. NVMe 인터페이스(353)는 NVMe 프로토콜에 따라 커맨드 및 데이터를 송수신하는 통신 경로일 수 있다. NVMe 프로토콜은 PCIe 프로토콜을 기반으로 형성될 수 있다. 이에 따라, NVMe 인터페이스(353)는 PCIe 인터페이스(351)를 거쳐 커맨드 및 데이터를 송수신할 수 있다.
도 8a는 본 발명의 실시예들에 따른 도 7의 스토리지 컨트롤러에서 전력 컨트롤러를 나타내는 블록도이다.
도 8a을 참조하면, 전력 컨트롤러(360)는 제어 로직(361), 전력 쓰로틀링 룩-업 테이블(LUT)(또는 룩업 테이블; 370), 클럭 생성기(380) 및 선택 회로(390)를 포함할 수 있다. 클럭 생성기(380)는 위상 고정 루프(PLL) 회로들(381, 383)을 포함할 수 있고, 선택 회로(390)는 멀티플렉서들(391, 392, 393, 384)를 포함할 수 있다.
도 8a에서는 설명의 편의를 위하여 코어들(311, 312, 313)을 포함하는 프로세서(310)와 비휘발성 컨트롤러(345)를 함께 도시한다.
코어(311)는 호스트(100)로부터 제공되는 커맨드를 처리할 수 있고, 코어(312)는 FTL(flash translation layer)를 이용하여 어드레스 맵핑과 가비지 컬렉션을 수행할 수 있고, 코어(313)는 비휘발성 컨트롤러(345)를 제어할 수 있다.
제어 로직(361)은 USB 타입 정보(UTI), USB 버전 정보(UVI) 및 커맨드(CMD) 및 어드레스에 기초하여 리퀘스트 패턴에 기초하여 룩업 테이블(370)을 액세스하고, 제어 로직(361)은 룩업 테이블(370)의 엔트리를 참조하여 선택 신호들(SS1, SS2, SS3, SS4)을 생성할 수 있다.
룩업 테이블(370)는 복수의 동작 모드들 각각에 대한 전력 타겟들에 대한 정보를 저장할 수 있다. 실시예에 있어서, 룩업 테이블(370)는 복수의 동작 모드들 각각에서, 코어들(311, 312, 313), 시스템 버스(305) 및 비휘발성 컨트롤러(345) 각각에 제공되는 클럭 신호의 주파수에 대한 정보를 저장할 수 있다.
PLL 회로(381)는 제1 주파수를 갖는 기본 클럭 신호(CLK1)와 기본 클럭 신호(CLK1)를 분주하여 분주 클럭 신호들(CLKD11, CLKD12)를 생성할 수 있다. PLL 회로(382)는 제2 주파수를 갖는 기본 클럭 신호(CLK2)와 기본 클럭 신호(CLK2)를 분주하여 분주 클럭 신호들(CLKD21, CLKD22)를 생성할 수 있다.
멀티플렉서(391)는 제1 선택 신호(SS1)에 응답하여 클럭 신호(CLK1)와 분주 클럭 신호들(CLKD11, CLKD12) 중 하나를 선택하고 제1 선택 클럭 신호(SCLK1)을 코어들(311, 313)에 제공한다.
멀티플렉서(391)는 제2 선택 신호(SS2)에 응답하여 클럭 신호(CLK1)와 분주 클럭 신호들(CLKD11, CLKD12) 중 하나를 선택하고 제2 선택 클럭 신호(SCLK2)을 시스템 버스(305)에 제공한다.
멀티플렉서(393)는 제3 선택 신호(SS3)에 응답하여 클럭 신호(CLK2)와 분주 클럭 신호들(CLKD21, CLKD22) 중 하나를 선택하고 제3 선택 클럭 신호(SCLK3)을 코어(312)에 제공한다.
멀티플렉서(394)는 제4 선택 신호(SS4)에 응답하여 클럭 신호(CLK2)와 분주 클럭 신호들(CLKD21, CLKD22) 중 하나를 선택하고 제4 선택 클럭 신호(SCLK4)을 비휘발성 컨트롤러(345)에 제공한다.
도 8b는 본 발명의 실시예들에 따른 도 8a의 제어 로직을 나타내는 블록도이다.
도 8b를 참조하면, 제어 로직(361)은 제1 검출기(362), 제2 검출기(364) 및 선택 신호 생성기(366)를 포함한다.
제1 검출기(362)는 USB 타입 정보(UTI) 및 USB 버전 정보(UVI)에 기초하여 룩업 테이블(370)을 구성하는 복수의 서브 테이블들 중 하나를 선택하는 테이블 선택 신호(TSS)를 생성한다. 제2 검출기(364)는 커맨드(CMD) 및 어드레스(ADDR)에 기초하여 선태된 서브 테이블의 복수의 엔트리들 중 하나를 선택하는 엔트리 선택 신호(ESS)를 생성한다. 선택 신호 생성기(366)은 선택된 엔트리에 저장된 내용을 참조하여 선택 신호들(SS1, SS2, SS3, SS4)를 생성한다.
도 9는 본 발명의 실시예들에 따른 도 8의 룩업 테이블을 나타낸다.
도 9를 참조하면, 룩업 테이블(370)는 USB 타입 정보(UTI) 및 USB 버전 정보(UVI)에 대응되는 복수의 서브 테이블들(370a, 370b, 370c)을 포함할 수 있다.
제1 서브 테이블(370a)은 USB 타입 정보(UTI)가 USB 타입-C임을 나타내는 경우에 리퀘스트 패턴에 수반되는 동작 모드들에 대응되는 엔트리들(371a, 372a, 373a)을 포함할 수 있다.
엔트리(371a)는 리퀘스트 패턴이 싱글 레벨 셀에 대한 순차 기입 동작을 지시하는 경우에, 코어들(311, 313), 시스템 버스(305) 및 코어(345)와 비휘발성 컨트롤러(345) 각각의 동작 주파수들(FERQ11, FREQ12, FREQ13)을 저장할 수 있다. 엔트리(372a)는 리퀘스트 패턴이 트리플 레벨 셀에 대한 순차 기입 동작을 지시하는 경우에, 코어들(311, 313), 시스템 버스(305) 및 코어(345)와 비휘발성 컨트롤러(345) 각각의 동작 주파수들(FERQ21, FREQ22, FREQ23)을 저장할 수 있다. 엔트리(373a)는 리퀘스트 패턴이 순차 독출 동작을 지시하는 경우에, 코어들(311, 313), 시스템 버스(305) 및 코어(345)와 비휘발성 컨트롤러(345) 각각의 동작 주파수들(FERQ31, FREQ32, FREQ33)을 저장할 수 있다.
제2 서브 테이블(370a)은 USB 타입 정보(UTI)가 USB 타입-A임을 나타내고 USB 버전 정보(UVI)가 USB 3.0 이상임을 나타내는 경우에 리퀘스트 패턴에 수반되는 동작 모드들에 대응되는 엔트리들(371b, 372b, 373b)을 포함할 수 있다.
엔트리(372a)는 리퀘스트 패턴이 싱글 레벨 셀에 대한 순차 기입 동작을 지시하는 경우에, 코어들(311, 313), 시스템 버스(305) 및 코어(345)와 비휘발성 컨트롤러(345) 각각의 동작 주파수들(FERQ41, FREQ42, FREQ43)을 저장할 수 있다. 엔트리(372b)는 리퀘스트 패턴이 트리플 레벨 셀에 대한 순차 기입 동작을 지시하는 경우에, 코어들(311, 313), 시스템 버스(305) 및 코어(345)와 비휘발성 컨트롤러(345) 각각의 동작 주파수들(FERQ51, FREQ52, FREQ53)을 저장할 수 있다. 엔트리(373b)는 리퀘스트 패턴이 순차 독출 동작을 지시하는 경우에, 코어들(311, 313), 시스템 버스(305) 및 코어(345)와 비휘발성 컨트롤러(345) 각각의 동작 주파수들(FERQ61, FREQ62, FREQ63)을 저장할 수 있다.
제3 서브 테이블(370c)은 USB 타입 정보(UTI)가 USB 타입-A임을 나타내고 USB 버전 정보(UVI)가 USB 2.0임을 나타내는 경우에 리퀘스트 패턴에 수반되는 동작 모드들에 대응되는 엔트리들(371c, 372c, 373c)을 포함할 수 있다.
엔트리(371c)는 리퀘스트 패턴이 싱글 레벨 셀에 대한 순차 기입 동작을 지시하는 경우에, 코어들(311, 313), 시스템 버스(305) 및 코어(345)와 비휘발성 컨트롤러(345) 각각의 동작 주파수들(FERQ71, FREQ72, FREQ73)을 저장할 수 있다. 엔트리(372c)는 리퀘스트 패턴이 트리플 레벨 셀에 대한 순차 기입 동작을 지시하는 경우에, 코어들(311, 313), 시스템 버스(305) 및 코어(345)와 비휘발성 컨트롤러(345) 각각의 동작 주파수들(FERQ81, FREQ82, FREQ83)을 저장할 수 있다. 엔트리(373c)는 리퀘스트 패턴이 순차 독출 동작을 지시하는 경우에, 코어들(311, 313), 시스템 버스(305) 및 코어(345)와 비휘발성 컨트롤러(345) 각각의 동작 주파수들(FERQ91, FREQ92, FREQ93)을 저장할 수 있다.
도 9의 서브 테이블들(370a, 370b, 370c) 각각은 랜덤 기입 및 랜덤 독출 동작에 대한 동작 주파수들로 저장할 수 있다.
제어 로직(361)은 룩업 테이블(370)의 동작 모드들 각각에 대한 동작 주파수에 대한 정보를 참조하여 선택 신호들(SS1, SS2, SS3, SS4)을 생성하고, 선택 신호들(SS1, SS2, SS3, SS4)을 멀티플렉서들(391, 392, 393, 394)에 제공할 수 있다.
즉, 제어 로직(361)은 USB 타입 정보(UTI)가 USB 타입-C임을 나타내는 경우에 복수의 동작 모드들 각각에 관련된 전력 타겟들 중 최대 전력 타겟에 해당되는 동작 모드에 대응되는 주파수들의 클럭 신호들이 선택되도록 선택 신호들(SS1, SS2, SS3, SS4)을 생성한다. 제어 로직(361)은 USB 타입 정보(UTI)가 USB 타입-A임(USB 타입-C가 아님)을 나타내고 USB 버전 정보(UVI)가 USB 3.0 이상의 버전임을 나타내는 경우, 최대동작 모드들 각각에 관련된 전력 타겟들 중 최대 전력 타겟과 최소 전력 타겟 사이의 전력 타겟보다 낮고 최소 전력 타겟보다 높은 중간중간 전력 타겟에 해당하는 주파수들의 클럭 신호들이 선택되도록 선택 신호들(SS1, SS2, SS3, SS4)을 생성한다. 또한 제어 로직(361)은 USB 타입 정보(UTI)가 USB 타입-A임(USB 타입-C가 아님)을 나타내고 USB 버전 정보(UVI)가 USB 3.0 이상의 버전이 아님을 나타내는 경우, 동작 모드들 각각에 관련된 전력 타겟들 중 최소 전력 타겟에 해당하는 주파수들의 클럭 신호들이 선택되도록 선택 신호들(SS1, SS2, SS3, SS4)을 생성한다.
도 10은 본 발명의 실시예들에 따른 도 5의 스토리지 컨트롤러의 동작을 나타낸다.
도 5 내지 도 10을 참조하면, 외장형 스토리지 장치(200)에 전원이 인가되면, 전력 컨트롤러(360)는 전력 타겟을 디폴트 값인 로우 레벨(제1 레벨)로 설정하여 초기화를 수행한다(S110). 즉, 전력 컨트롤러(360)는 복수의 초기화 모드들 중 제1 전력 타겟에 해당하는 제1 초기화 모드를 선택한다. 외장형 스토리지 장치(200)에 전원이 인가되는 순간에는 전력 컨트롤러(360)는 USB 타입과 USB 버전 정보를 알 수 없기 때문에, 전력 컨트롤러(360)는 전력 타겟들 중 최소인 제1 레벨로 전력 타겟을 설정하여 초기화를 수행할 수 있다.
브릿지 칩셋(220)의 연결 검출기(240)는 CC1 핀(212)의 전압을 검출하여 케이블 어셈블리(30)의 저항을 검출한다(S120). 연결 검출기(240)는 CC1 핀(212)의 전압을 문턱값과 비교하여 CC1 핀(212)의 전압이 문턱값보다 작거나 같은지 여부를 판단한다(S130).
CC1 핀(212)의 전압이 문턱값 이하인 경우에는(S130에서 YES), 케이블 어셈블리(30)는 USB 타입-C이므로 전력 컨트롤러(360)는 전력 타겟을 하이 레벨(제2 전력 타겟)로 설정하여 초기화를 수행한다(S140). 즉, 전력 컨트롤러(360)는 복수의 초기화 모드들 중 제2 전력 타겟에 해당하는 제2 초기화 모드를 선택한다. 제2 전력 타겟은 전력 타겟들 중 최대일 수 있다.
CC1 핀(212)의 전압이 문턱값보다 큰 경우에는(S130에서 NO), 케이블 어셈블리(30)는 USB 타입-A이므로, 연결 검출기(240)는 USB 버전 정보가 3.0 이상인지 여부를 판단한다(S150). USB 버전 정보가 3.0 이상인 경우(S150에서 YES), 전력 컨트롤러(360)는 전력 타겟을 중간 레벨(제2 전력 타겟)로 설정하여 초기화를 수행한다(S160). 즉, 전력 컨트롤러(360)는 복수의 초기화 모드들 중 제3 전력 타겟에 해당하는 제3 초기화 모드를 선택한다. 제2 전력 타겟은 최대보다는 작고 제1 전력 타겟보다는 클 수 있다.
USB 버전 정보가 3.0 미만의 버전인 경우(S150에서 NO), 전력 컨트롤러(360)는 제1 초기화 모드를 선택한다. 선택된 초기화 모드에서의 전력 타겟 및 호스트(100)로부터의 리퀘스트 패턴에 기초하여 전력 컨트롤러(360)는 복수의 동작 모드들 중 하나를 선택하고 선택된 하나의 동작 모드에 따라 전력 쓰로틀링을 수행한다(S170).
도 11은 본 발명의 실시예들에 따른 도 5의 스토리지 컨트롤러의 초기화 동작을 나타내는 타이밍도이다.
도 5 내지 도 9 및 도 11을 참조하면, 외장형 스토리지 장치(200)에 제1 시점(T11)에서 전원이 인가되고, 연결 검출기(240)는 제2 시점(T12)에서 CC1 핀(212)의 전압을 검출하여 케이블 어셈블리(30)의 저항을 검출하여 케이블 어셈블리(30)의 USB 타입을 판단한다.
케이블 어셈블리(30)의 USB 타입이 USB 타입-C인 경우(375), 제4 시점(T14)에서 오픈 동작이 완료된다. 연결 검출기(240)는 제3 시점(T13)에서 USB 버전 정보를 검출한다. 케이블 어셈블리(30)의 USB 타입이 USB 타입-C이고 USB 버전 정보가 USB 3.0 이상인 경우(376), 제5 시점(T15)에서 오픈 동작이 완료된다. 케이블 어셈블리(30)의 USB 타입이 USB 타입-C이고 USB 버전 정보가 USB 2.0 인 경우(377), 제6 시점(T16)에서 오픈 동작이 완료된다.
도 12는 도 5의 스토리지 컨트롤러에서 연결 검출기의 동작을 나타낸다.
도 5 내지 도 9 및 도 12를 참조하면, 외장형 스토리지 장치(200)에 제1 시점(T21)에서 전원이 인가된다.
전원이 인가된 후, 제2 시점(T22)부터 제4 시점(T24)까지의 제1 구간(INT11) 동안 브릿지 칩셋(220)이 동작하여 GIOP 핀의 전압을 제1 레벨로 유지한다. 제1 구간(INT11) 내의 제3 시점(T23)에서 스토리지 컨트롤러(300)의 리셋이 해제되어 스토리지 컨트롤러(300)가 동작을 시작한다. 제1 구간(INT11)에 연속하는 제4 시점(T24)부터 제5 시점(T25)까지의 제2 구간(INT12) 동안 브릿지 회로(220)는 제1 범용 입출력 핀(221)의 전압 레벨을 로우 레벨로 유지시키다가, 제5 시점(T25)에 제1 범용 입출력 핀(221)의 전압를 제1 레벨로 천이시킨다.
제5 시점(T25)에 제2 범용 입출력 핀(301)의 전압이 제1 레벨로 천이하는 것이 응답하여 파워 컨트롤러(360)는 제2 범용 입출력 핀(301)의 전압 레벨을 감지할 준비를 하고, 제5 시점(T25)으로부터 제6 시점(T26)까지의 안정화 구간에 해당하는 제3 구간(INT13)이 도과하면, 파워 컨트롤러(360)는 제2 범용 입출력 핀(301)의 전압 레벨에 기초하여 케이블 어셈블리(30)의 USB 타입을 판단한다.
CC1 핀(212)의 전압이 문턱값보다 작거나 같으면, 연결 검출기(230)는 제5 시점(T25)부터 제6 시점(T26)까지의 제3 구간(INT13) 동안에 제1 범용 입출력 핀(221)의 전압 레벨을 제1 레벨로 유지시켜 전력 컨트롤러(360)에 케이블 어셈블리(30)가 USB 타입-C임을 알 수 있다.
CC1 핀(212)의 전압이 문턱값보다 크면, 연결 검출기(230)는 제5 시점(T25)부터 제6 시점(T26)까지의 제3 구간(INT23) 동안에 제1 범용 입출력 핀(221)의 전압 레벨을 제2 레벨로 천이시키고 제2 레벨로 유지시켜 전력 컨트롤러(360)에 케이블 어셈블리(30)가 USB 타입-A임을 알릴 수 있다.
제7 시점(T27)부터 제8 시점(T28)까지의 제 4 구간(INT14) 동안, 연결 검출기(230)는 제1 범용 입출력 핀(221)의 전압 레벨을 제2 레벨로 천이시키거나 유지시키고, 제8 시점(T28)에 연결 검출기(230)는 제1 범용 입출력 핀(221)의 전압 레벨을 제1 레벨로 천이시키고, PCIe 인터페이스(351)의 레지스터(352)에 USB 버전 정보(UVI)를 기입하고, 스토리지 컨트롤러(300)는 제9 시점(T29)에 레지스터(352)의 기입 이벤트에 응답하여 케이블 어셈블리(30)의 USB 버전을 판단한다. 즉, 연결 검출기(230)는 제3 구간(INT13) 동안에 제1 범용 입출력 핀(221)의 전압 레벨을 제1 레벨로 천이시키거나 제2 레벨로 유지시켜 케이블 어셈블리(30)의 USB 타입을 알릴 수 있다.
도 13은 본 발명의 실시예들에 따른 도 5의 외장형 스토리지 장치에서 비휘발성 메모리 장치들 중 하나를 나타내는 블록도이다.
도 13을 참조하면, 비휘발성 메모리 장치(400a)는 메모리 셀 어레이(430), 어드레스 디코더(460), 페이지 버퍼 회로(410), 데이터 입출력 회로(420), 제어 회로(450) 및 전압 생성기(470)를 포함할 수 있다.
메모리 셀 어레이(430)는 스트링 선택 라인(SSL), 복수의 워드 라인들(WLs) 및 접지 선택 라인(GSL)을 통해 어드레스 디코더(460)와 연결될 수 있다. 또한, 메모리 셀 어레이(430)는 복수의 비트 라인들(BLs)을 통해 페이지 버퍼 회로(410)와 연결될 수 있다.
메모리 셀 어레이(430)는 복수의 워드 라인들(WLs) 및 복수의 비트 라인들(BLs)에 연결되는 복수의 메모리 셀들을 포함할 수 있다. 실시예에 있어서, 메모리 셀 어레이(430)는 기판 상에 적층되는 워드라인들 각각에 연결되는 메모리 셀들을 포함할 수 있다.
도 14는 도 13의 메모리 셀 어레이를 나타내는 블록도이다.
도 14를 참조하면, 메모리 셀 어레이(430)는 방향들(D1~D3)을 따라 신장되는 복수의 메모리 블록들(BLK1~BLKz, z는 3이상의 자연수)을 포함한다. 실시예에 있어서, 메모리 블록들(BLK1~BLKz)은 도4에 도시된 어드레스 디코더(460)에 의해 선택된다. 예를 들면, 어드레스 디코더(460)는 메모리 블록들(BLK1~BLKz) 중 블록 어드레스에 대응하는 메모리 블록(BLK)을 선택할 수 있다.
도 15은 도 14의 메모리 블록들(BLK1~BLKz) 중 하나(BLKi)를 보여주는 사시도이다.
도 15를 참조하면, 메모리 블록(BLKi)은 3차원 구조 또는 수직 구조로 형성되는 셀 스트링들을 포함한다. 메모리 블록(BLKi)은 복수의 방향들(D1, D2, D3)을 따라 신장된 구조물들을 포함한다.
메모리 블록(BLKi)을 형성하기 위해서는, 우선 기판(611)이 제공된다. 예를 들면, 기판(611)은 붕소(B, Boron)와 같은 5족 원소가 주입되어 형성된 P-웰로 형성될 수 있을 것이다. 기판(611) 상에, D1 방향을 따라 복수의 도핑 영역들(811~814)이 형성된다. 예를 들면, 복수의 도핑 영역들(811~814)은 기판(811)과 상이한 n 타입의 도전체로 형성될 수 있을 것이다.
제1 및 제2 도핑 영역들(811, 812) 사이의 기판(611)의 영역 상에, D2 방향을 따라 신장되는 복수의 절연 물질들(612)이 D3 방향을 따라 순차적으로 제공된다. 예를 들면, 복수의 절연 물질들(612)은 D3 방향을 따라 특정 거리만큼 이격되어 형성될 것이다. 제1 및 제2 도핑 영역들(811, 812) 사이의 기판(611) 상부에, D2 방향을 따라 순차적으로 배치되며 D3 방향을 따라 절연 물질들(112)을 관통하는 필라(813)가 형성된다.
예시적으로, 필라(813)는 절연 물질들(612)을 관통하여 기판(611)과 연결될 것이다. 여기서, 필라(613)는 제2 및 제3 도핑 영역들(812, 813) 사이의 기판 상부와, 제3 및 제4 도핑 영역들(813, 814) 사이의 기판 상부에도 형성된다.
예시적으로, 각 필라(613)는 복수의 물질들로 구성될 것이다. 예를 들면, 각 필라(613)의 표면층(614)은 제1 타입을 갖는 실리콘 물질을 포함할 것이다. 예를 들면, 각 필라(613)의 표면층(614)은 기판(611)과 동일한 타입을 갖는 실리콘 물질을 포함할 것이다. 각 필라(613)의 내부층(615)은 절연 물질로 구성된다. 예를 들면, 각 필라(613)의 내부층(615)은 실리콘 산화물(Silicon OD1ide)과 같은 절연 물질을 포함할 것이다. 예를 들면, 각 필라(613)의 내부층(615)은 에어 갭(Air gap)을 포함할 수 있다.
제1 및 제2 도핑 영역들(811, 812) 사이의 영역에서, 절연 물질들(612), 필라들(613), 그리고 기판(611)의 노출된 표면을 따라 절연막(616)이 제공된다. 예시적으로, D3 방향을 따라 제공되는 마지막 절연 물질(612)의 D3 방향 쪽의 노출면에 제공되는 절연막(616)은 제거될 수 있다.
제1 및 제2 도핑 영역들(811, 812) 사이의 영역에서, 절연막(616)의 노출된 표면상에 제1 도전 물질들(711~791)이 제공된다. 예를 들면, 기판(611)에 인접한 절연 물질(612) 및 기판(611) 사이에 D2 방향을 따라 신장되는 제1 도전 물질(711)이 제공된다. 더 상세하게는, 기판(611)에 인접한 절연 물질(612)의 하부면의 절연막(616) 및 기판(611) 사이에, D1 방향으로 신장되는 제1 도전 물질(711)이 제공된다.
절연 물질들(612) 중 특정 절연 물질 상부면의 절연막(616) 및 특정 절연 물질 상부에 배치된 절연 물질의 하부면의 절연막(616) 사이에, D2 방향을 따라 신장되는 제1 도전 물질이 제공된다. 예시적으로, 절연 물질들(612) 사이에, D2 방향으로 신장되는 복수의 제1 도전 물질들(721~781)이 제공된다.
제2 및 제3 도핑 영역들(812, 813) 사이의 영역에서, 제1 및 제2 도핑 영역들(811, 812) 상의 구조물과 동일한 구조물이 제공될 것이다. 예시적으로, 제2 및 제3 도핑 영역들(812, 813) 사이의 영역에서, D2 방향으로 신장되는 복수의 절연 물질들(612), D2 방향을 따라 순차적으로 배치되며 D1 방향을 따라 복수의 절연 물질들(612)을 관통하는 복수의 필라들(613), 복수의 절연 물질들(612) 및 복수의 필라들(613)의 노출된 표면에 제공되는 절연막(616), 그리고 D2 방향을 따라 신장되는 복수의 제1 도전 물질들(712~792)이 제공된다.
제3 및 제4 도핑 영역들(813, 814) 사이의 영역에서, 제1 및 제2 도핑 영역들(811, 812) 상의 구조물과 동일한 구조물이 제공될 것이다. 예시적으로, 제3 및 제4 도핑 영역들(812, 813) 사이의 영역에서, D2 방향으로 신장되는 복수의 절연 물질들(112), D2 방향을 따라 순차적으로 배치되며 D3 방향을 따라 복수의 절연 물질들(612)을 관통하는 복수의 필라들(613), 복수의 절연 물질들(612) 및 복수의 필라들(613)의 노출된 표면에 제공되는 절연막(616), 그리고 D2 방향을 따라 신장되는 복수의 제1 도전 물질들(713~793)이 제공된다.
복수의 필라들(613) 상에 드레인들(820)이 각각 제공된다. 드레인들(820) 상에, D1 방향으로 신장된 제2 도전물질들(831~833)이 제공된다. 제 2 도전 물질들(831~833)은 D2 방향을 따라 순차적으로 배치된다. 제 2 도전 물질들(31~833) 각각은 대응하는 영역의 드레인들(820)과 연결된다. 예시적으로, 드레인들(820) 및 D1 방향으로 신장된 제2 도전 물질(833)은 각각 콘택 플러그들(Contact plug)을 통해 연결될 수 있다.
도 16은 도 15의 메모리 블록을 나타내는 등가 회로도이다.
도 16에 도시된 메모리 블록(BLKi)은 기판 상에 삼차원 구조로 형성되는 삼차원 메모리 블록을 나타낸다. 예를 들어, 메모리 블록(BLKi)에 포함되는 복수의 메모리 셀 스트링들은 상기 기판과 수직한 방향으로 형성될 수 있다.
도 16을 참조하면, 메모리 블록(BLKi)은 비트 라인들(BL1, BL2, BL3)과 공통 소스 라인(CSL) 사이에 연결되는 복수의 메모리 셀 스트링들(NS11~NS33)을 포함할 수 있다. 복수의 메모리 셀 스트링들(NS11~NS33) 각각은 스트링 선택 트랜지스터(SST), 복수의 메모리 셀들(MC1, MC2, ..., MC12) 및 접지 선택 트랜지스터(GST)를 포함할 수 있다.
스트링 선택 트랜지스터(SST)는 상응하는 스트링 선택 라인(SSL1, SSL2, SSL3)에 연결될 수 있다. 복수의 메모리 셀들(MC1, MC2, ..., MC12)은 각각 상응하는 워드 라인(WL1, WL2, ..., WL12)에 연결될 수 있다.
접지 선택 트랜지스터(GST)는 상응하는 접지 선택 라인(GSL1, GSL2, GSL3)에 연결될 수 있다. 스트링 선택 트랜지스터(SST)는 상응하는 비트 라인(BL1, BL2, BL3)에 연결되고, 접지 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결될 수 있다. 동일 높이의 워드 라인(예를 들면, WL1)은 공통으로 연결되고, 접지 선택 라인(GSL1, GSL2, GSL3) 및 스트링 선택 라인(SSL1, SSL2, SSL3)은 각각 분리될 수 있다.
다시 도 13을 참조하면, 제어 회로(450)는 스토리지 컨트롤러(300)로부터 커맨드(CMD) 및 어드레스(ADDR)를 수신하고, 커맨드(CMD) 및 어드레스(ADDR)에 기초하여 비휘발성 메모리 장치(400a)의 소거 동작, 프로그램 동작 및 독출 동작을 제어할 수 있다.
예를 들어, 제어 회로(450)는 커맨드(CMD)에 기초하여 전압 생성기(470)를 제어하기 위한 제어 신호들(CTLs)을 생성하고, 어드레스 신호(ADDR)에 기초하여 로우 어드레스(R_ADDR) 및 컬럼 어드레스(C_ADDR)를 생성할 수 있다. 제어 회로(450)는 로우 어드레스(R_ADDR)를 어드레스 디코더(460)에 제공하고, 컬럼 어드레스(C_ADDR)를 데이터 입출력 회로(420)에 제공할 수 있다.
어드레스 디코더(460)는 스트링 선택 라인(SSL), 복수의 워드 라인들(WLs) 및 접지 선택 라인(GSL)을 통해 메모리 셀 어레이(430)와 연결될 수 있다.
전압 생성기(470)는 제어 회로(450)로부터 제공되는 제어 신호들(CTLs)에 기초하여 동작 전압(VOP1)을 이용하여 비휘발성 메모리 장치(400a)의 동작에 필요한 워드 라인 전압들(VWLs)을 생성할 수 있다. 전압 생성기(470)로부터 생성되는 워드 라인 전압들(VWLs)은 어드레스 디코더(460)를 통해 복수의 워드 라인들(WLs)에 인가될 수 있다.
페이지 버퍼 회로(410)는 복수의 비트 라인들(BLs)을 통해 메모리 셀 어레이(100)와 연결될 수 있다. 페이지 버퍼 회로(410)는 복수의 페이지 버퍼를 포함할 수 있다. 페이지 버퍼 회로(410)는 프로그램 동작 시 선택된 페이지에 프로그램될 데이터를 임시로 저장하고, 독출 동작 시 선택된 페이지로부터 독출된 데이터를 임시로 저장할 수 있다. 페이지 버퍼 회로(410)는 제어 회로(450)로부터의 제어 신호(PCTL)에 의하여 제어될 수 있다.
데이터 입출력 회로(420)는 데이터 라인들(DLs)을 통해 페이지 버퍼 회로(410)와 연결될 수 있다. 프로그램 동작 시, 데이터 입출력 회로(420)는 스토리지 컨트롤러(300)로부터 데이터(DTA)를 수신하고, 제어 회로(450)로부터 제공되는 컬럼 어드레스(C_ADDR)에 기초하여 데이터(DTA)를 페이지 버퍼 회로(410)에 제공할 수 있다. 독출 동작 시, 데이터 입출력 회로(420)는 제어 회로(450)로부터 제공되는 컬럼 어드레스(C_ADDR)에 기초하여 페이지 버퍼 회로(410)에 저장된 데이터(DTA)를 상기 메모리 컨트롤러(40)에 제공할 수 있다.
도 17은 본 발명의 실시예들에 따른 외장형 스토리지 장치의 동작 방법을 나타내는 흐름도이다.
도 1 내지 도 17을 참조하면, 데이터를 저장하는 복수의 비휘발성 메모리 장치들(400a~400k), 및 상기 비휘발성 메모리 장치들(400a~400k)을 제어하는 스토리지 컨트롤러(300) 및 호스트(100)의 제1 커넥터(110)와 USB 케이블 어셈블리(30)를 통하여 연결되는 제2 커넥터(210)에 연결되는 브릿지 칩셋(220)을 구비하는 외장형 스토리지 장치(200)의 동작 방법이 제공된다.
싱기 방법에 따르면, 외장형 스토리지 장치(200)에 전원이 인가되면, 브릿지 칩셋(220)에서 상기 USB 케이블 어셈블리(30)의 저항을 검출한다(S210). 브릿지 칩셋(220)의 연결 검출기(240)는 제2 커넥터(210)의 CC1 핀(212)의 전압을 측정하여 상기 저항을 검출할 수 있다. 브릿지 칩셋(220)의 연결 검출기(240)는 상기 검출된 저항에 기초하여 상기 제1 커넥터(110)의 USB 타입을 판단하고(S220), 제1 커넥터(110)의 USB 타입에 관한 USB 타입 정보를 스토리지 컨트롤러(300)의 파워 컨트롤러(360)에 제공한다. 외장형 스토리지 장치(200)와 호스트(100)와의 USB 연결이 확립된 후, 브릿지 칩셋(220)의 연결 검출기(240)는 확립된 USB 연결의 USB 버전 정보를 스토리지 컨트롤러(300)에 제공한다(S230). 전력 컨트롤러(360)는 USB 타입 정보, USB 버전 정보에 기초하여 복수의 서브 테이블들(370a, 370a, 370c) 중 하나를 선택하고, 커맨드 및 어드레스에 기초한 리퀘스트 패턴에 기초하여 선택된 서브 테이블에서 복수의 동작 모드들 중 하나를 선택한다(S240).
전력 컨트롤러(360)는 상기 선택된 동작 모드가 허용하는 타겟 전력을 초과하지 않는 범위에서 전력 레벨을 조절하는 전력 쓰로틀링을 수행한다(S250).
상기 전력 쓰로틀링은 USB 타입, USB 버전 정보 및 리퀘스트 패턴에 따라 타겟 전력 레벨을 초과하지 않는 범위 내에서 성능을 높일 수 있는 주파수를 가지는 클럭 신호들이 코어들(311, 312, 313), 시스템 버스(305) 및 비휘발성 컨트롤러(345)와 같은 하드웨어 소자들에 제공되도록 클럭 신호들의 주파수를 선택하는 동작을 의미할 수 있다.
따라서 본 발명의 실시예들에 따르면, 외장형 스토리지 장치(200)는 USB 케이블 어셈블리(30)를 통하여 연결되는 호스트(100)의 제1 커넥터(110)의 USB 타입, 외장형 스토리지 장치(200)와 호스트(100) 사이의 USB 버전 정보 및 호스트(100)의 리퀘스트 패턴에 따라 능등적으로 전력 제어를 수행하여 전력량을 최적화할 수 있다.
도 18은 본 발명의 실시예들에 따른 스토리지 시스템을 나타내는 블록도이다.
도 18을 을 참조하면, 스토리지 시스템(100)은 호스트(1100)와 외장형 스토리지 장치(1200)를 포함한다.
호스트(1100)와 외장형 스토리지 장치(1200)는 USB 케이블 어셈블리(1010)을 통하여 서로 연결될 수 있다.
호스트(1100)는 애플리케이션(1110), 장치 드라이버(1120), 호스트 컨트롤러(1130), 그리고 버퍼 램(1140)을 포함한다. 그리고 호스트 컨트롤러(1130)는 커맨드 관리자(CMD manager, 1131), 호스트 DMA(1132), 그리고 전원 관리자(1133)를 포함한다.
호스트(1100)의 애플리케이션(1110)과 장치 드라이버(1120)에서 생성된 커맨드(예를 들면, 기입 커맨드)은 호스트 컨트롤러(1130)의 커맨드 관리자(1131)에 입력된다.
커맨드 관리자(1131)는 장치 드라이버(1120)로부터 입력된 커맨드를 이용하여 스토리지 장치(1200)로 제공될 프로토콜(protocol) 또는 커맨드로 만든다. 커맨드 관리자(1131)에서 생성된 명령은 호스트 DMA(1132)로 제공된다. 호스트 DMA(1132)는 커맨드를 스토리지 인터페이스(1101)를 통해 스토리지 장치(2200)로 보낸다. 스토리지 인터페이스(1101)는 상술한 제1 커넥터(110)와 같은 커넥터를 포함할 수 있고, 상기 커넥터를 통하여 USB 케이블 어셈블리(1010)에 접속될 수 있다.
계속해서 도 18을 참조하면, 외장형 스토리지 장치(1200)는 비휘발성 메모리 장치들(1210), 장치 컨트롤러(1230), 그리고 버퍼 램(1240)을 포함한다. 그리고 장치 컨트롤러(1230)는 프로세서(1231), 장치 DMA(1232), 플래시 DMA(1233), 커맨드 관리자(CMD manager, 1234), 버퍼 관리자(1235), 플래시 변환 계층(FTL; Flash Translation Layer, 1236), 플래시 관리자(1237), 및 전력 컨트롤러(1238)을 포함한다.
호스트(1100)로부터 스토리지 장치(1200)로 입력된 커맨드는 호스트 인터페이스(1201)를 통해 장치 DMA(1232)로 제공된다. 호스트 인터페이스(1201)는 상술한 제2 커넥터(210)와 같은 커넥터 및 브릿지 칩셋(1205)를 포함할 수 있다. 브릿지 칩셋(1205)은 도 5의 브릿지 칩셋(220)을 채용할 수 있다.
장치 DMA(1232)는 입력된 명령을 커맨드 관리자(1234)로 제공한다. 커맨드 관리자(1234)는 버퍼 관리자(1235)를 통해 데이터를 입력 받을 수 있도록 버퍼 램(1240)을 할당한다. 커맨드 관리자(1234)는 데이터 전송 준비가 완료되면, 호스트(1100)로 전송 준비 완료 신호를 보낸다.
호스트(1100)는 전송 준비 완료 신호에 응답하여 데이터를 스토리지 장치(1200)로 전송한다. 데이터는 호스트 DMA(1132)와 스토리지 인터페이스(1101)를 통해 스토리지 장치(1200)로 전송된다. 스토리지 장치(1200)는 제공받은 데이터를 장치 DMA(1232)와 버퍼 관리자(1235)를 통해 버퍼 램(1240)에 저장한다. 버퍼 램(1240)에 저장된 데이터는 플래시 DMA(1233)를 통해 플래시 관리자(1237)로 제공된다.
플래시 관리자(1237)는 플래시 변환 계층(1236)의 어드레스 맵핑 정보를 참조하여, 비휘발성 메모리 장치들(1210)의 선택된 주소에 데이터를 저장한다. 스토리지 장치(1200)는 커맨드에 필요한 데이터 전송과 프로그램이 완료되면, 인터페이스를 통해 호스트(1100)로 응답신호(response)를 보내고, 명령 완료를 알린다. 호스트(1100)는 응답 신호를 전달받은 명령에 대한 완료 여부를 장치 드라이버(1120)와 애플리케이션(1110)에 알려주고, 해당 명령에 대한 동작을 종료한다. 상술한 바와 같이, 호스트(1100)와 스토리지 장치(1200)는 데이터 라인(DIN, DOUT)을 통해 데이터나 커맨드 또는 응답과 같은 신호를 주고 받는다.
전력 컨트롤러(1238)은 도 8의 전력 컨트롤러(360)를 채용할 수 있다.
따라서, 도 18의 스토리지 시스템(1000)에서 외장형 스토리지 장치(1200)는 USB 케이블 어셈블리(1010)를 통하여 호스트(1100)로부터 전원이 공급되면, 브릿지 칩셋(1205)에서 USB 케이블 어셈블리(1010)의 저항을 검출하고, 검출된 저항에 기초하여 호스트(1100)의 제1 커넥터의 USB 타입을 판단하고, 호스트(1100)와의 USB 연결이 확립되면, USB 버전 정보를 획득할 수 있다. 전력 컨트롤러(1238)은 USB 타입, USB 버전 정보 및 호스트(1100)로부터의 리퀘스트 패턴에 기초하여 복수의 동작 모드들 중 하나를 선택하고, 선택된 동작 모드에 따른 전력 쓰로틀링을 수행할 수 있다. 따라서 외장형 스토리지 장치(1200)는 능등적으로 전력 제어를 수행하여 성능을 향상시킬 수 있다.
본 발명의 실시 예에 따른 스토리지 장치 또는 스토리지 시스템은 다양한 형태들의 패키지를 이용하여 실장 될 수 있다.
본 발명은 외장형 스토리지 장치 및 외장형 스토리지 장치와 연결되는 임의의 전자 장치에 유용하게 이용될 수 있다.
상술한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (22)

  1. 데이터를 저장하는 복수의 비휘발성 메모리 장치들;
    상기 비휘발성 메모리 장치들을 제어하는 스토리지 컨트롤러; 및
    호스트의 제1 커넥터와 케이블 어셈블리를 통하여 연결되고, 상기 케이블 어셈블리의 저항을 검출하고, 상기 검출된 저항에 기초하여 상기 제1 커넥터의 USB 타입 정보를 상기 스토리지 컨트롤러에 제공하고, 상기 호스트와 USB 연결이 확립된 후, 상기 확립된 USB 연결의 USB 버전 정보를 상기 스토리지 컨트롤러에 제공하는 브리지 칩셋을 포함하고,
    상기 스토리지 컨트롤러는 상기 USB 타입 정보, 상기 USB 버전 정보및 상기 호스트로부터의, 상기 데이터에 관련된 순차 액세스 또는 랜덤 액세스를 나타내는 리퀘스트 패턴에 기초하여 복수의 동작 모드들 중 하나를 선택하고 상기 선택된 동작 모드가 허용하는 전력 레벨에서 최대의 주파수들의 클럭 신호들을 선택하고, 상기 선택된 클럭 신호들에 따라 전력 쓰로틀링을 수행하는 외장형 스토리지 장치.
  2. 제1항에 있어서, 상기 브릿지 칩셋은
    상기 케이블 어셈블리와 접속되는 상기 외장형 스토리지 장치의 제2 커넥터의 복수의 핀들 중 제1 핀을 통하여 상기 케이블 어셈블리의 저항을 검출하는 연결 검출기를 포함하고,
    상기 제1 핀은 상기 외장형 스토리지 장치의 제2 커넥터의 복수의 핀들 중 제1 구성 채널(configuration channel, CC1) 핀이고,
    상기 제1 구성 채널 핀은 상기 케이블 어셈블리를 통하여 상기 외장형 스토리지 장치의 연결 검출과, 플러그 삽입 방향 판단 및 구성 관리에 이용되는 핀이고,
    상기 브릿지 칩셋은 제1 범용 입출력 핀을 통하여 상기 USB 타입 정보를 상기 스토리지 컨트롤러에 제공하는 외장형 스토리지 장치.
  3. 제2항에 있어서,
    상기 연결 검출기는 전원이 인가된 후의 제1 구간 동안 상기 스토리지 컨트롤러의 제2 범용 입출력 핀과 하드와이어된 상기 제1 범용 입출력 핀의 전압 레벨을 제1 레벨로 유지하고, 상기 제1 구간에 연속하는 제2 구간에는 상기 제1 레벨과는 다른 제2 레벨로 천이시키고, 제2 구간에 연속하는 제3 구간 동안의 시점에서 상기 전압 레벨을 상기 제1 레벨로 천이시키고, 상기 스토리지 컨트롤러는 상기 제3 구간이 도과하면, 상기 제2 범용 입출력 핀의 전압 레벨에 기초하여 상기 USB 타입 정보를 판단하고, 상기 제3 구간 이후의 제4 구간 내에서 상기 USB 버전 정보를 상기 스토리지 컨트롤러 내부의 레지스터에 기입하고, 상기 스토리지 컨트롤러는 상기 레지스터의 기입 이벤트에 응답하여 상기 USB 버전 정보를 판단하는 외장형 스토리지 장치.
  4. 제3항에 있어서,
    상기 연결 검출기는 상기 제1 핀의 전압과 문턱 값의 비교에 기초하여 상기 제3 구간 동안에 상기 제1 범용 입출력 핀의 전압을 상기 제1 레벨로 유지하여 상기 제1 커넥터가 USB 타입-C임을 상기 스토리지 컨트롤러에 알리는 외장형 스토리지 장치.
  5. 제3항에 있어서,
    상기 연결 검출기는 상기 1 핀의 전압과 문턱 값의 비교에 기초하여 상기 제3 구간 동안에 상기 제1 범용 입출력 핀의 전압을 상기 제1 레벨에서 상기 제2 레벨로 천이시켜 상기 제1 커넥터가 USB 타입-A를 포함하는 레거시 포트임을 상기 스토리지 컨트롤러에 알리는 외장형 스토리지 장치.
  6. 제1항에 있어서, 상기 스토리지 컨트롤러는
    상기 호스트와 상기 비휘발성 메모리 장치들 사이에서 인터페이싱을 수행하는 인터페이스 유닛; 및
    상기 USB 타입 정보, 상기 USB 버전 정보 및 상기 리퀘스트 패턴에 기초하여 상기 복수의 동작 모드들 중 하나를 선택하고, 상기 선택된 동작 모드에 따라 상기 전력 쓰로틀링을 수행하는 전력 컨트롤러를 포함하고,
    상기 연결 검출기는 상기 스토리지 컨트롤러의 제2 범용 입출력 핀과 하드와이어된 제1 범용 입출력 핀을 통하여 상기 스토리지 컨트롤러에 제공하고,
    상기 연결 검출기는 상기 USB 버전 정보를 상기 인터페이스 엔진의 peripheral component interconnect express (PCIe) 인터페이스의 레지스터에 기입하는 외장형 스토리지 장치.
  7. 제6항에 있어서,
    상기 브릿지 칩셋과 상기 스토리지 컨트롤러는 상기 제1 범용 입출력 핀과 상기 제2 범용 입출력 핀을 통하여 사이드밴드(side-band)로 통신하고, 상기 연결 검출기와 상기 PCIe 인터페이스의 레지스터는 인밴드(in-band)로 통신하고, 비-NVMe 인터페이스를 통하여 통신하는 외장형 스토리지 장치.
  8. 제6항에 있어서,
    상기 전력 컨트롤러는 상기 USB 타입 정보와 상기 레지스터에 기입된 상기 USB 버전 정보 및 상기 리퀘스트 패턴에 기초하여상기 동작에서 상기 최대의 주파수들을 가지는 클럭 신호들을 선핵하여 상기 소모되는 전력 레벨을 조절하는 상기 전력 쓰로틀링을 수행하는 외장형 스토리지 장치.
  9. 제6항에 있어서, 상기 전력 컨트롤러는
    상기 USB 타입 정보, 상기 USB 버전 정보 및 상기 리퀘스트 패턴에 따라 상기 복수의 동작 모드를 각각에 대한 전력 타겟들을 저장하는 복수의 서브 테이블들을 저장하는 룩-업 테이블을 포함하고,
    상기 전력 컨트롤러는 상기 USB 타입 정보 및 상기 USB 버전 정보에가 기초하여 상기 서브 테이블 중 하나를 선택하고, 상기 리퀘스트 패턴에 따라 상기 선택된 서브 테이블의 복수의 엔트리들 중 하나를 선택하여 상기 전력 쓰로틀링을 수행하는 외장형 스토리지 장치.
  10. 제9항에 있어서, 상기 전력 컨트롤러는
    상기 USB 타입 정보가 상기 제1 커넥터가 USC 타입-C임을 나타내는 경우,
    상기 복수의 서브 테이블 중 제1 서브 테이블을 선택하고, 상기 제1 서브 테이블의 엔트리들 중 상기 리퀘스트 패턴에 상응하는 엔트리를 선택하여 상기 전력 쓰로틀링을 수행하는 외장형 스토리지 장치.
  11. 제9항에 있어서, 상기 전력 컨트롤러는
    상기 USB 타입 정보가 상기 제1 커넥터가 USB 타입-C가 아님을 나타내는 경우,
    상기 USB 버전 정보가 USB 3.0 이상의 버전에 해당하는지 여부를 판단하고,
    상기 USB 버전 정보가 USB 3.0 이상의 버전인 경우,
    상기 복수의 서브 테이블 중 제2 서브 테이블을 선택하고, 상기 제2 서브 테이블의 엔트리들 중 상기 리퀘스트 패턴에 상응하는 엔트리를 선택하여 상기 전력 쓰로틀링을 수행하는 외장형 스토리지 장치.
  12. 제9항에 있어서, 상기 전력 컨트롤러는
    상기 USB 타입 정보가 상기 제1 커넥터가 USB 타입-C가 아님을 나타내는 경우,
    상기 USB 버전 정보가 USB 3.0 이상의 버전에 해당하는지 여부를 판단하고,
    상기 USB 버전 정보가 USB 3.0 이상의 버전이 아닌 경우,
    상기 복수의 서브 테이블 중 제3 서브 테이블을 선택하고, 상기 제3 서브 테이블의 엔트리들 중 상기 리퀘스트 패턴에 상응하는 엔트리를 선택하여 상기 전력 쓰로틀링을 수행하는 외장형 스토리지 장치.
  13. 제9항에 있어서, 상기 스토리지 컨트롤러는
    상기 비휘발성 메모리 장치들과 관련된 제어 동작들을 수행하는 복수의 코어들을 포함하고,
    상기 전력 컨트롤러는
    기본 클럭 신호들 및 상기 기본 클럭 신호들을 분주하여 분주 클럭 신호들을 생성하고, 상기 기본 클럭 신호들과 상기 분주 클럭 신호들을 클럭 신호들로서 상기 복수의 코어들에 제공하는 클럭 생성기;
    선택 신호들에 응답하여 상기 복수의 코어들에 제공되는 상기 클럭 신호들을 선택하는 선택 회로; 및
    상기 USB 타입 정보, 상기 USB 버전 정보 및 상기 리퀘스트 패턴에 기초하여 상기 선택 신호들을 생성하는 제어 로직을 더 포함하는 외장형 스토리지 장치.
  14. 제13항에 있어서, 상기 제어 로직은
    상기 USB 타입 정보 및 상기 USB 버전 정보에 기초하여 상기 복수의 서브 테이블 중 하나를 선택하는 테이블 선택 신호를 생성하는 제1 검출기;
    상기 호스트로부터의 커맨드 및 어드레스에 기초하여 상기 리퀘스트 패턴을 검출하고, 상기 리퀘스트 패턴에 기초하여 상기 선택된 서브 테이블의 엔트리들 중 하나를 선택하는 엔트리 선택 신호를 생성하는 제2 검출기; 및
    상기 선택된 서브 테이블의 상기 선택된 엔트리를 참조하여 상기 선택 신호들을 생성하는 선택 신호 생성기를 포함하는 외장형 스토리지 장치.
  15. 제14항에 있어서,
    상기 USB 타입 정보가 상기 제1 커넥터가 USC 타입-C임을 나타내는 경우,
    상기 제어 로직은 상기 복수의 동작 모드들 각각에 관련된 전력 타겟들 중최대 전력 타겟에 해당하는 동작 모드에 대응되는 주파수들의 클럭 신호들이 선택되도록 상기 선택 신호들을 생성하는 외장형 스토리지 장치.
  16. 제14항에 있어서,
    상기 USB 타입 정보가 상기 제1 커넥터가 USC 타입-C가 아님을 나타내고, 상기 USB 버전 정보가 USB 3.0 이상의 버전임을 나타내는 경우,
    상기 제어 로직은 상기 복수의 동작 모드들 각각에 관련된전력 타겟들 중 최대 전력 타겟과 최소 전력 타겟 사이의 중간 전력 타겟에 해당하는 주파수들의 클럭 신호들이 선택되도록 상기 선택 신호들을 생성하는 외장형 스토리지 장치.
  17. 제14항에 있어서,
    상기 USB 타입 정보가 상기 제1 커넥터가 USC 타입-C가 아님을 나타내고, 상기 USB 버전 정보가 USB 3.0 이상의 버전이 아님을 나타내는 경우,
    상기 제어 로직은 상기 복수의 동작 모드들 각각에 관련된 전력 타겟들 중 최소 전력 타겟에 해당하는 소비 전력이 주파수들의 클럭 신호들이 선택되도록 상기 선택 신호들을 생성하는 외장형 스토리지 장치.
  18. 제1항에 있어서,
    상기 비휘발성 메모리 장치들 각각은 기판 위에 수직으로 적층된 워드라인들에 각각 연결된 메모리 셀들을 구비하는 메모리 셀 어레이를 포함하는 외장형 스토리지 장치.
  19. 데이터를 저장하는 복수의 비휘발성 메모리 장치들, 상기 비휘발성 메모리 장치들을 제어하는 스토리지 컨트롤러 및 호스트의 제1 커넥터와 USB 케이블 어셈블리를 통하여 연결되는 제2 커넥터에 연결되는 브릿지 칩셋을 구비하는 외장형 스토리지 장치의 동작 방법으로서,
    상기 브릿지 칩셋에서 상기 USB 케이블 어셈블리의 저항을 검출하는 단계;
    상기 검출된 저항에 기초하여 상기 제1 커넥터의 USB 타입을 판단하는 단계;
    상기 호스트와의 USB 연결이 확립된 후, 상기 확립된 USB 버전 정보를 스토리지 컨트롤러에 제공하는 단계;
    상기 스토리지 컨트롤러에서 상기 USB 타입 정보, 상기 USB 버전 정보 및 상기 호스트로부터의, 상기 데이터에 관련된 순차 액세스 또는 랜덤 액세스를 나타내는 리퀘스트 패턴에 기초하여 복수의 동작 모드들 중 하나를 선택하는 단계; 및
    상기 선택된 동작 모드에 기초하여 전력 쓰로틀링을 수행하는 단계를 포함하는 외장형 스토리지 장치의 동작 방법.
  20. 제19항에 있어서,
    상기 브릿지 칩셋은 제1 범용 입출력 핀을 통하여 상기 USB 타입 정보를 상기 스토리지 컨트롤러에 제공하고, 상기 USB 버전 정보를 상기 스토리지 컨트롤러에 포함되는 인터페이스 엔진의 peripheral component interconnect express (PCIe) 인터페이스의 레지스터에 기입하는 외장형 스토리지 장치의 동작 방법.
  21. 데이터를 저장하는 복수의 비휘발성 메모리 장치들;
    상기 비휘발성 메모리 장치들을 제어하는 스토리지 컨트롤러; 및
    호스트의 제1 커넥터와 케이블 어셈블리를 통하여 연결되고, 상기 케이블 어셈블리의 저항을 검출하고, 상기 검출된 저항에 기초하여 상기 제1 커넥터의 USB 타입 정보를 상기 스토리지 컨트롤러에 제공하고, 상기 호스트와 USB 연결이 확립된 후, 상기 확립된 USB 연결의 USB 버전 정보를 상기 스토리지 컨트롤러에 제공하는 브릿지 칩셋을 포함하고,
    상기 브릿지 칩셋은
    상기 케이블 어셈블리와 접속되는 상기 외장형 스토리지 장치의 제2 커넥터의 복수의 핀들 중 제1 핀을 통하여 상기 케이블 어셈블리의 저항을 검출하는 연결 검출기를 포함하고,
    상기 스토리지 컨트롤러는
    상기 호스트와 상기 비휘발성 메모리 장치들 사이에서 인터페이싱을 수행하는 인터페이스 유닛; 및
    상기 USB 타입 정보, 상기 USB 버전 정보 및 상기 호스트로부터의, 상기 데이터에 관련된 순차 액세스 또는 랜덤 액세스를 나타내는 리퀘스트 패턴에 기초하여 복수의 동작 모드들 중 하나를 선택하고, 상기 선택된 동작 모드모드가 허용하는 전력 레벨에서 최대의 주파수들의 클럭 신호들을 선택하고, 상기 선택된 클럭 신호들에 기초하여 전력 쓰로틀링을 수행하는 전력 컨트롤러를 포함하고,
    상기 브릿지 칩셋은 제1 범용 입출력 핀을 통하여 상기 USB 타입 정보를 상기 스토리지 컨트롤러에 제공하고, 상기 USB 버전 정보를 상기 인터페이스 엔진의 peripheral component interconnect express (PCIe) 인터페이스의 레지스터에 기입하는 외장형 스토리지 장치.
  22. 데이터를 저장하는 복수의 비휘발성 메모리 장치들;
    상기 비휘발성 메모리 장치들을 제어하는 스토리지 컨트롤러; 및
    호스트의 제1 커넥터와 케이블 어셈블리를 통하여 연결되고, 상기 케이블 어셈블리의 저항을 검출하고, 상기 검출된 저항에 기초하여 상기 제1 커넥터의 연결 정보를 스토리지 컨트롤러에 제공하고, 상기 호스트와 연결이 확립된 후, 상기 확립된 버전 정보를 상기 스토리지 컨트롤러에 제공하는 브리지 칩셋을 포함하고,
    상기 스토리지 컨트롤러는 상기 연결 정보, 상기 USB 확립된 버전 정보 및 상기 호스트로부터의, 상기 데이터에 관련된 순차 액세스 또는 랜덤 액세스를 나타내는 리퀘스트 패턴에 기초하여 복수의 동작 모드들 중 하나를 선택하고 상기 선택된 동작 모드가 허용하는 전력 레벨에서 최대의 주파수들의 클럭 신호들을 선택하고, 상기 선택된 클럭 신호들에 따라 전력 쓰로틀링을 수행하는 외장형 스토리지 장치.
KR1020190154154A 2019-11-27 2019-11-27 외장형 스토리지 장치 및 외장형 스토리지 장치의 동작 방법 KR20210065435A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190154154A KR20210065435A (ko) 2019-11-27 2019-11-27 외장형 스토리지 장치 및 외장형 스토리지 장치의 동작 방법
US16/922,091 US11181962B2 (en) 2019-11-27 2020-07-07 Portable storage devices and methods of operating portable storage devices
CN202011225076.6A CN112863577A (zh) 2019-11-27 2020-11-05 便携式存储设备以及操作便携式存储设备的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190154154A KR20210065435A (ko) 2019-11-27 2019-11-27 외장형 스토리지 장치 및 외장형 스토리지 장치의 동작 방법

Publications (1)

Publication Number Publication Date
KR20210065435A true KR20210065435A (ko) 2021-06-04

Family

ID=75974035

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190154154A KR20210065435A (ko) 2019-11-27 2019-11-27 외장형 스토리지 장치 및 외장형 스토리지 장치의 동작 방법

Country Status (3)

Country Link
US (1) US11181962B2 (ko)
KR (1) KR20210065435A (ko)
CN (1) CN112863577A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220108B (zh) * 2018-08-21 2023-09-26 慧荣科技股份有限公司 计算机可读取存储介质、操作频率调整方法及装置
CN117597906A (zh) * 2021-06-30 2024-02-23 德尔格制造股份两合公司 用于实现传感器和主机系统之间的通信的设备、系统和方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI252401B (en) 2003-03-31 2006-04-01 Ricoh Kk A method and apparatus for controlling connections of PC cards and a passive-card-adapting card used for connecting one of the PC cards to the apparatus
JP2006018466A (ja) 2004-06-30 2006-01-19 Canon Inc 電子機器及びその電力供給制御方法
KR100746308B1 (ko) 2005-04-15 2007-08-06 주식회사 디엠스토리지 에스디 카드 타입의 외장을 갖는 유에스비 카드 및 이를위한 인터페이스
KR101226685B1 (ko) 2007-11-08 2013-01-25 삼성전자주식회사 수직형 반도체 소자 및 그 제조 방법.
KR101691092B1 (ko) 2010-08-26 2016-12-30 삼성전자주식회사 불휘발성 메모리 장치, 그것의 동작 방법, 그리고 그것을 포함하는 메모리 시스템
US8553466B2 (en) 2010-03-04 2013-10-08 Samsung Electronics Co., Ltd. Non-volatile memory device, erasing method thereof, and memory system including the same
US9536970B2 (en) 2010-03-26 2017-01-03 Samsung Electronics Co., Ltd. Three-dimensional semiconductor memory devices and methods of fabricating the same
KR101682666B1 (ko) 2010-08-11 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것의 채널 부스팅 방법, 그것의 프로그램 방법 및 그것을 포함하는 메모리 시스템
KR20120038672A (ko) 2010-10-14 2012-04-24 삼성전자주식회사 Usb 동글 및 그 usb 동글에서 전력 제어 방법
KR20130070251A (ko) * 2011-12-19 2013-06-27 에스케이하이닉스 주식회사 브릿지 칩셋 및 그것을 포함하는 데이터 저장 시스템
US8918549B2 (en) 2012-12-18 2014-12-23 Texas Instruments Incorporated Robust cable-type detection for USB power delivery
JP6301756B2 (ja) 2014-06-30 2018-03-28 ローム株式会社 過電流検出回路およびそれを利用したホスト、過電流検出方法
KR102239572B1 (ko) * 2015-01-27 2021-04-13 삼성전자주식회사 전자 장치들 간 양방향 데이터 통신 방법 및 장치
TWI545442B (zh) * 2015-07-14 2016-08-11 聯陽半導體股份有限公司 通用序列匯流排的偵測電路
CN108780336B (zh) * 2016-03-25 2022-04-08 惠普发展公司,有限责任合伙企业 经由数据和功率连接的数据传输
US10761553B2 (en) 2016-06-17 2020-09-01 Qualcomm Incorporated Universal serial bus (USB) cable type detection and control techniques
JP6730888B2 (ja) * 2016-09-05 2020-07-29 キヤノン株式会社 電子機器およびその制御方法
US10948962B2 (en) * 2017-03-01 2021-03-16 Astronics Advanced Electronic Systems Corp. Insertion counter for USB outlets
US10879686B2 (en) * 2018-04-12 2020-12-29 Cypress Semiconductor Corporation Overcurrent protection for universal serial bus Type-C (USB-C) connector systems
KR20210065429A (ko) * 2019-11-27 2021-06-04 삼성전자주식회사 외장형 스토리지 장치 및 외장형 스토리지 장치의 동작 방법

Also Published As

Publication number Publication date
US11181962B2 (en) 2021-11-23
CN112863577A (zh) 2021-05-28
US20210157385A1 (en) 2021-05-27

Similar Documents

Publication Publication Date Title
US10664409B2 (en) Data storage apparatus utilizing sequential map entry for responding to read request and operating method thereof
KR20210065429A (ko) 외장형 스토리지 장치 및 외장형 스토리지 장치의 동작 방법
US10891236B2 (en) Data storage device and operating method thereof
US20200065241A1 (en) Data storage device and operating method thereof
US9875044B2 (en) Data storage device compensating for initial threshold voltage distribution shift, method of operating the same, and data processing system including the same
KR102568203B1 (ko) 비휘발성 메모리 장치
KR20200095103A (ko) 데이터 저장 장치 및 그 동작 방법
KR20130128685A (ko) 불휘발성 메모리 장치 및 그것의 프로그램 방법
US11520694B2 (en) Data storage device and operating method thereof
KR20200025184A (ko) 불휘발성 메모리 장치, 이를 포함하는 데이터 저장 장치 및 그 동작 방법
US20180293007A1 (en) Data storage device and operating method thereof
CN110286847B (zh) 数据存储装置及其操作方法
KR20190054383A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN111831579A (zh) 控制器及其操作方法和包括控制器的存储器系统
KR20210065435A (ko) 외장형 스토리지 장치 및 외장형 스토리지 장치의 동작 방법
KR102474035B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
CN110389907B (zh) 电子装置
US10629275B2 (en) Data storage device and operating method thereof
EP4191589A1 (en) Storage device
EP4180977A1 (en) Parameter change command for storage device interface tuning
US11366736B2 (en) Memory system using SRAM with flag information to identify unmapped addresses
US11119938B2 (en) Apparatus and method to synchronize memory map between a storage device and host
KR20210011198A (ko) 컨트롤러, 메모리 시스템 및 그것의 동작 방법
KR20200073016A (ko) 컨트롤러, 데이터 저장 장치 및 그것의 동작 방법
KR20200015260A (ko) 데이터 저장 장치 및 그것의 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination