KR20210078109A - 스토리지 장치 및 이를 포함하는 시스템 - Google Patents

스토리지 장치 및 이를 포함하는 시스템 Download PDF

Info

Publication number
KR20210078109A
KR20210078109A KR1020190169852A KR20190169852A KR20210078109A KR 20210078109 A KR20210078109 A KR 20210078109A KR 1020190169852 A KR1020190169852 A KR 1020190169852A KR 20190169852 A KR20190169852 A KR 20190169852A KR 20210078109 A KR20210078109 A KR 20210078109A
Authority
KR
South Korea
Prior art keywords
state
information
host
memory device
storage device
Prior art date
Application number
KR1020190169852A
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 KR1020190169852A priority Critical patent/KR20210078109A/ko
Priority to US16/996,304 priority patent/US11487677B2/en
Priority to CN202011492381.1A priority patent/CN112992234A/zh
Priority to EP20215277.3A priority patent/EP3839776A1/en
Publication of KR20210078109A publication Critical patent/KR20210078109A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • 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/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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • 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/062Securing 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/0631Configuration or reconfiguration of storage systems by allocating resources to 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/0637Permissions
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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
    • 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/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Storage Device Security (AREA)

Abstract

스토리지 장치가 제공된다. 스토리지 장치는 호스트로부터 제1 식별 커맨드를 제공받는 브릿지 보드; 사용자의 정보가 입력되는 인증부; 및 브릿지 보드로부터 제1 식별 커맨드를 제공받는 메모리 장치를 포함하되, 메모리 장치는, 보안 모드에서 상기 제1 식별 커맨드에 응답하여 메모리 장치의 상태를 판단하고 판단된 메모리 장치의 상태를 포함하는 상태 정보를 브릿지 보드로 제공하되, 미리 설정된 정보와 사용자의 정보가 일치하면 메모리 장치의 상태를 언락 상태로 판단하고, 미리 설정된 정보와 사용자의 정보가 불일치하면 메모리 장치의 상태를 락 상태로 판단하는 메모리 컨트롤러를 포함하고,브릿지 보드는, 호스트와 미리 정한 인터페이스로 통신하는 송수신부와, 인터페이스에 따른 형식의 제1 식별 커맨드에 대한 제1 응답을 생성하기 위한 인터페이스 정보가 저장된 레지스터와, 인터페이스 정보를 이용하여 인터페이스에 따른 형식의 제1 식별 커맨드에 대한 제1 응답을 생성하고, 이를 호스트로 제공하는 브릿지 보드 컨트롤러를 포함하고, 제1 응답은, 메모리 장치에 대한 라이트 커맨드에 따른 라이트 동작을 금지(inhibit)하거나 허락(allow)하는 상태 비트를 포함하고, 브릿지 보드 컨트롤러는, 판단된 메모리 장치의 상태에 따라 상태 비트를 변경하여 제1 응답을 생성하고, 메모리 컨트롤러는, 메모리 장치가 언락 상태로 판단되면,보안 모드를 해제하고, 제1 식별 커맨드와 다른 제2 식별 커맨드에 응답하여 브릿지 보드에 언락 상태를 포함하는 상태 정보를 제공한다.

Description

스토리지 장치 및 이를 포함하는 시스템{STORAGE DEVICE AND STORAGE SYSTEM INCLUDING THE SAME}
본 발명은 스토리지 장치 및 이를 포함하는 시스템에 관한 것이다.
비휘발성 메모리로서 플래시 메모리는 전원이 차단되어도 저장하고 있는 데이터를 유지할 수 있다. 최근 eMMC(embedded Multi-Media Card), UFS(Universal Flash Storage), SSD(Solid State Drive), 및 메모리 카드 등의 플래시 메모리를 포함하는 스토리지 장치가 널리 사용되고 있으며, 스토리지 장치는 많은 양의 데이터를 저장하거나 이동시키는데 유용하게 사용되고 있다.
한편, 스토리지 시스템(storage system)은 다양한 인터페이스를 통해 서로 데이터를 주고 받을 수 있는 호스트(host)와 스토리지 장치를 포함할 수 있다. 스토리지 장치는 보안 모드(security mode)를 제공할 수 있다. 보안 모드의 스토리지 장치는 사용자 인증 등을 통하여 락 상태(locked status)에서 언락 상태(unlocked status)가 될 수 있다.
이 때, 스토리지 장치는 락 상태이더라도 사용자에게 스토리지 장치의 보안 기능을 사용하기 위한 가이드 파일을 제공할 수 있어야 한다. 이러한 가이드 파일은 사용자에 의해 수정되거나 삭제되어서는 안된다.
본 발명이 해결하고자 하는 기술적 과제는 보안 모드를 제공하는 스토리지 장치에 있어서, 스토리지 장치의 언락 상태와 락 상태를 판단하고 이를 호스트와 통신하는 인터페이스에 따른 형식으로 응답하는 스토리지 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 기술적 과제는 보안 모드를 제공하는 스토리지 장치의 언락 상태와 락 상태를 판단하고 이를 호스트와 통신하는 인터페이스에 따른 형식으로 응답하는 스토리지 장치와 응답에 따라 스토리지 장치를 리드 온리 디바이스(read only device) 또는 리드/라이트 디바이스(read/write device)로 인식하는 호스트를 포함하는 스토리지 시스템을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 스토리지 장치는, 호스트로부터 제1 식별 커맨드를 제공받는 브릿지 보드; 사용자의 정보가 입력되는 인증부; 및 브릿지 보드로부터 제1 식별 커맨드를 제공받는 메모리 장치를 포함하되, 메모리 장치는, 보안 모드에서 상기 제1 식별 커맨드에 응답하여 메모리 장치의 상태를 판단하고 판단된 메모리 장치의 상태를 포함하는 상태 정보를 브릿지 보드로 제공하되, 미리 설정된 정보와 사용자의 정보가 일치하면 메모리 장치의 상태를 언락 상태로 판단하고, 미리 설정된 정보와 사용자의 정보가 불일치하면 메모리 장치의 상태를 락 상태로 판단하는 메모리 컨트롤러를 포함하고,브릿지 보드는, 호스트와 미리 정한 인터페이스로 통신하는 송수신부와, 인터페이스에 따른 형식의 제1 식별 커맨드에 대한 제1 응답을 생성하기 위한 인터페이스 정보가 저장된 레지스터와, 인터페이스 정보를 이용하여 인터페이스에 따른 형식의 제1 식별 커맨드에 대한 제1 응답을 생성하고, 이를 호스트로 제공하는 브릿지 보드 컨트롤러를 포함하고, 제1 응답은, 메모리 장치에 대한 라이트 커맨드에 따른 라이트 동작을 금지(inhibit)하거나 허락(allow)하는 상태 비트를 포함하고, 브릿지 보드 컨트롤러는, 판단된 메모리 장치의 상태에 따라 상태 비트를 변경하여 제1 응답을 생성하고, 메모리 컨트롤러는, 메모리 장치가 언락 상태로 판단되면, 보안 모드를 해제하고, 제1 식별 커맨드와 다른 제2 식별 커맨드에 응답하여 브릿지 보드에 언락 상태를 포함하는 상태 정보를 제공한다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 스토리지 장치는, 공용 영역과 보안 영역을 포함하는 메모리를 포함하는 메모리 장치; 호스트가 공용 영역과 보안 영역 모두를 액세스하는 언락 상태와, 호스트가 공용 영역과 보안 영역 중 공용 영역 만을 액세스하는 락 상태를 포함하는, 메모리 장치의 상태 정보를 나타내는 상태 비트를 저장하는 레지스터; 및 호스트로부터 제공된 식별 커맨드에 응답하여, 레지스터에 저장된 상태 비트를 포함하는 응답을 생성하는 브릿지 보드를 포함하되, 상태 비트는, 호스트로부터 제공된 메모리 장치에 대한 라이트 커맨드를 금지하거나 라이트 커맨드에 따른 라이트 동작을 허용한다.
상기 기술적 과제를 달성하기 위한 본 발명의 몇몇 실시예에 따른 스토리지 시스템은, 호스트; 및 호스트가 공용 영역과 보안 영역 모두를 액세스하는 언락 상태와, 호스트가 공용 영역과 보안 영역 중 공용 영역 만을 액세스하는 락 상태를 포함하는 스토리지 장치를 포함하되, 스토리지 장치는, 스토리지 장치의 락 상태와 언락 상태를 판단하는 메모리 컨트롤러와, 호스트로부터 제공받은 식별 커맨드를 메모리 컨트롤러에 제공하거나, 메모리 컨트롤러로부터 스토리지 장치의 상태 정보를 제공받아 호스트에 응답하는 브릿지 보드와, 사용자의 정보가 입력되는 인증부를 포함하고, 메모리 컨트롤러는, 미리 설정된 정보와 인증부로부터 입력된 사용자의 정보가 일치하면, 메모리 장치의 상태를 언락 상태로 판단하고, 미리 설정된 정보와 인증부로부터 입력된 사용자의 정보가 불일치하면 메모리 장치의 상태를 락 상태로 판단한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 본 발명의 몇몇 실시예들에 따른 스토리지 시스템을 설명하기 위한 개략도이다.
도 2는 본 발명의 몇몇 실시예들에 따른 스토리지 시스템을 설명하기 위한 블록도이다.
도 3은 도 2의 메모리를 설명하기 위한 블록도이다.
도 4는 도 2의 메모리를 설명하기 위한 블록도이다.
도 5는 락 상태의 스토리지 장치에서 메모리를 설명하기 위한 예시도이다.
도 6은 언락 상태의 스토리지 장치에서 메모리를 설명하기 위한 예시도이다.
도 7은 도 2의 레지스터에 저장된 인터페이스 정보를 설명하기 위한 블록도이다.
도 8은 도 7의 제어 모드 페이지를 설명하기 위한 예시도이다.
도 9는 본 발명의 몇몇 실시예들에 따른 스토리지 시스템을 설명하기 위한 흐름도이다.
도 10은 도 9의 인터페이스에 따른 형식의 식별 커맨드(CMD)에 대한 응답을 생성하는 단계를 설명하기 위한 흐름도이다.
도 11은 본 발명의 몇몇 다른 실시예들에 따른 스토리지 장치를 설명하기 위한 블록도이다.
도 12는 본 발명의 몇몇 또 다른 실시예들에 따른 스토리지 장치를 설명하기 위한 도면이다.
도 13은 본 발명의 몇몇 다른 실시예들에 따른 스토리지 장치를 설명하기 위한 흐름도이다.
도 1은 본 발명의 몇몇 실시예들에 따른 스토리지 시스템을 설명하기 위한 개략도이다.
도 1을 참고하면, 본 발명의 몇몇 실시예들에 따른 스토리지 시스템은 호스트(100) 및 스토리지 장치(200)를 포함할 수 있다.
본 발명의 몇몇의 실시예에 따른 호스트(100)와 스토리지 장치(200)는 미리 정한 인터페이스를 통해 통신할 수 있다. 인터페이스는 예를 들어, SCSI((Small Computer System Interface)일 수 있다. 그러나, 본 발명의 범위는 이에 제한되지 아니하며, 호스트(100)와 스토리지 장치(200)는 UFS(Universal Flash Storage), SAS(Serial Attached SCSI), SATA(Serial Advanced Technology Attachment), PCIe(Peripheral Component Interconnect Express), eMMC(embedded MultiMediaCard), FC(Fibre Channel), ATA(Advanced Technology Attachment), IDE(Intergrated Drive Electronics), USB(Universal Serial Bus), IEEE 1394(Firewire)등과 같은 인터페이스를 통해 통신할 수 있다. 또한 미리 정한 인터페이스는 호스트(100)와 스토리지 장치(200) 사이에 데이터를 주고 받을 수 있게 하는 임의의 인터페이스일 수 있다.
호스트(100)는 어플리케이션(110), 드라이버(120), 호스트 컨트롤러(130), 버퍼 메모리(135) 및 호스트 인터페이스(140)를 포함한다.
어플리케이션(110)은 호스트(100)에서 실행되어 반도체 시스템(1)에서 사용될 수 있는 명령 세트에 기반하여 반도체 시스템(1)을 제어할 수 있다. 본 발명의 몇몇의 실시예에서, 어플리케이션(110)은 SCSI(Small Computer System Interface) 명령 세트를 지원할 수 있으나, 본 발명의 범위가 이에 제한되는 것은 아니다.
드라이버(120)는 호스트(100)에 접속되는 스토리지 장치(200)를 구동할 수 있다. 구체적으로, 드라이버(120)는 어플리케이션(110)으로부터 스토리지 장치(200)를 제어하기 위한 명령을 수신하고, 호스트 컨트롤러(130)를 이용하여 상기 명령을 처리한 후, 그 처리 결과를 어플리케이션(110)에 제공할 수 있다.
어플리케이션(110) 및 드라이버(120)는 소프트웨어(software) 또는 펌웨어(firmware)로 구현될 수 있으나, 본 발명의 범위가 이에 제한되는 것은 아니다.
호스트 컨트롤러(130)는 호스트(100) 내부의 전반적인 동작을 제어한다. 예를 들어, 호스트 컨트롤러(130)는 드라이버(120)로부터 수신한 라이트(write) 명령에 대한 응답으로 버퍼 메모리에 저장되어 있던 데이터를 호스트 인터페이스(140)를 통해 스토리지 장치(200)에 전송할 수 있다. 또한, 호스트 컨트롤러(130)는 드라이버(120)로부터 수신한 리드(read) 명령에 대한 응답으로 호스트 인터페이스(140)를 통해 스토리지 장치(200)부터 데이터를 수신할 수도 있다.
버퍼 메모리(135)는 호스트(100)의 메인 메모리로 사용되거나 데이터를 임시로 저장하기 위한 캐시 메모리 또는 임시 메모리 등으로 사용될 수 있다. 또한 버퍼 메모리(135)는 어플리케이션(110)이이나 드라이버(120)와 같은 소프트웨어를 구동하기 위한 구동 메모리(driving memory)로 사용될 수 있다. 버퍼 메모리(135)는 예를 들어, DRAM(Dynamic Random Access Memory)을 비롯한 휘발성 메모리를 포함할 수 있으나, 본 발명의 범위가 이에 제한되는 것은 아니다.
호스트 인터페이스(140)는 데이터 라인(DIN, DOUT)을 통해 스토리지 장치(200)의 스토리지 장치 인터페이스(240)와 데이터를 주고 받을 수 있다.
스토리지 장치(200)는 스토리지 장치 인터페이스(240)를 포함하는 브릿지 보드(210), 인증부(215) 및 메모리 컨트롤러(230)와 메모리(250)를 포함하는 메모리 장치(220)를 포함할 수 있다.
스토리지 장치(200)는 스토리지 장치 인터페이스(240)를 통해 호스트(100)와 연결될 수 있다.
브릿지 보드(210)는 스토리지 장치(200) 내에 배치될 수 있다. 브릿지 보드(210)는 메모리 장치(220)와 분리되어 배치될 수 있다. 브릿지 보드(210)는 호스트(100)로부터 제공받은 커맨드를 메모리 장치(220)에 제공할 수 있고, 커맨드에 대한 응답을 호스트(100)에 제공할 수 있다.
인증부(215)는 사용자로부터 사용자의 정보가 입력될 수 있다. 인증부(215)는 예를 들어, 사용자의 지문을 인식하는 지문 인식 센서, 사용자의 홍채 또는 안면을 인식하는 카메라 또는 키패드(keypad) 등을 포함할 수 있다. 사용자의 정보는 예를 들어, 지문, 홍채, 안면 또는 키 값을 포함할 수 있다. 인증부(215)로 입력된 사용자의 정보는 메모리 컨트롤러(230)로 제공될 수 있다.
메모리 컨트롤러(230)는 메모리(250)에 대해 호스트(100)가 요청한 데이터를 라이트(write), 리드(read) 또는 이레이즈(erase)하는 작업들을 수행할 수 있다. 또한 메모리 컨트롤러(230)는 사용자 인증을 수행할 수 있고, 이를 토대로 메모리 장치(220)의 상태를 판단할 수 있다. 메모리 장치(220)의 상태는 락 상태(locked status)와 언락 상태(unlocked status)를 포함할 수 있다. 이하 도 2를 참고하여 설명한다.버퍼 메모리(235)는 메모리(250)에 저장될 데이터 또는 메모리(250)로부터 읽은 데이터를 임시 저장하는데 사용될 수 있다. 버퍼 메모리(135)는 예를 들어, DRAM(Dynamic Random Access Memory)을 비롯한 휘발성 메모리를 포함할 수 있으나, 본 발명의 범위가 이에 제한되는 것은 아니다.
메모리(250)는 플래시 메모리(Flash Memory), MRAM(Magnetoresistive Random Access Memory), PRAM(Phase-change Random Access Memory), FeRAM(Ferroelectric Random Access Memory) 등을 포함할 수 있으나, 본 발명의 범위가 이에 제한되는 것은 아니다.
도 2는 본 발명의 몇몇 실시예들에 따른 스토리지 시스템을 설명하기 위한 블록도이다.
도 2를 참고하면, 본 발명의 몇몇 실시예들에 따른 스토리지 시스템은 호스트(100)와 스토리지 장치(200)를 포함할 수 있다.
호스트(100)는 스토리지 장치(200)에 커맨드(CMD)를 제공할 수 있다. 커맨드(CMD)는 예를 들어, 스토리지 호스트(100)에 연결되는 스토리지 장치(200)를 식별하기 위한 식별 커맨드일 수 있다. 이하 커맨드는 식별 커맨드로 설명한다.
스토리지 장치(200)는 브릿지 보드(210), 인증부(215) 및 메모리 장치(220)를 포함할 수 있다. 스토리지 장치(200)는 호스트(100)로부터 제공된 커맨드(CMD)에 대한 응답을 생성하여, 호스트(100)로 제공할 수 있다.
브릿지 보드(210)는 브릿지 보드 컨트롤러(212)와 레지스터(214)를 포함할 수 있다. 브릿지 보드(210)는 호스트(100)와 미리 정한 인터페이스로 통신하는 송수신부(미도시)를 더 포함할 수 있다. 송수신부는 도 1의 스토리지 장치 인터페이스(240)일 수 있다.
레지스터(214)는 미리 정한 인터페이스에 따른 형식에 대한 인터페이스 정보가 저장될 수 있다. 미리 정한 인터페이스는 예를 들어, SCSI((Small Computer System Interface)일 수 있으나 본 발명은 이에 한정되지 않는다.
브릿지 보드 컨트롤러(212)는 호스트(100)로부터 식별 커맨드(CMD)를 제공받을 수 있다. 브릿지 보드 컨트롤러(212)는 레지스터(214)에 저장된 인터페이스 정보를 이용하여 식별 커맨드(CMD)를 해석할 수 있고, 해석된 식별 커맨드(CMD')를 메모리 장치(220)에 제공할 수 있다.
인증부(215)는 사용자로부터 사용자의 정보가 입력될 수 있다. 인증부(215)는 지문 인식 센서, 카메라 또는 키패드 등을 포함할 수 있다. 인증부(215)가 지문 인식 센서인 경우 사용자의 정보는 지문일 수 있고, 인증부(215)가 카메라인 경우 사용자의 정보는 홍채 또는 안면일 수 있으며, 인증부(215)가 키패드인 경우 사용자의 정보는 키 값일 수 있다.
메모리 장치(220)는 메모리 컨트롤러(230)와 메모리(250)를 포함할 수 있다. 메모리 컨트롤러(230)는 인증부(215)로부터 사용자의 정보를 제공받을 수 있고, 메모리 장치(220)의 상태를 판단할 수 있다. 메모리 장치(220)의 상태는 락 상태(locked status)와 언락 상태(unlocked status)를 포함할 수 있다.
본 발명의 몇몇 실시예들에 따른 스토리지 장치(200)는 보안 모드(security mode)를 제공할 수 있으며, 보안 모드에서 메모리 장치(220)의 상태를 판단할 수 있다. 보안 모드는 예를 들어, 사용자 인증 등을 통하여 스토리지 장치(200)가 락 상태에서 언락 상태가 되는 모드를 의미할 수 있다. 락 상태는 호스트(100)가 메모리(250)의 일부 영역에만 액세스할 수 있는 상태를 의미할 수 있고, 언락 상태는 호스트(100)가 메모리 (250)의 전체 영역에 액세스할 수 있는 상태를 의미할 수 있다.
보안 모드는 사용자 인증을 통하여 스토리지 장치(200)가 언락 상태가 되는 경우 해제될 수 있다. 즉, 보안 모드가 해제되는 경우, 스토리지 장치(200)는 언락 상태를 유지할 수 있다. 하지만, 스토리지 장치(200)가 파워 오프되었다가 파워 온 되는 경우, 스토리지 장치(200)는 보안 모드에 진입할 수 있다. 따라서 파워 온 된 스토리지 장치(200)는 락 상태가 되고, 스토리지 장치(200)는 사용자 인증을 통해 락 상태로 변경될 수 있다.
사용자 인증은 메모리 컨트롤러(230)가 미리 설정된 정보와 인증부를 통해 입력되는 사용자 정보의 일치 여부를 판단하는 것을 의미할 수 있다. 메모리 컨트롤러(230)는 인증부(215)로부터 제공된 사용자의 정보와 미리 설정된 정보가 일치하면, 메모리 장치(220)가 언락 상태라고 판단할 수 있다. 메모리 컨트롤러(230)는 인증부(215)로부터 제공된 사용자의 정보와 미리 설정된 정보가 불일치하면, 메모리 장치(220)가 락 상태라고 판단할 수 있다.
메모리 컨트롤러(230)는 예를 들어, 미리 설정된 사용자의 지문과 인증부(215)를 통해 인식된 사용자의 지문이 일치하는 경우, 미리 설정된 키 값과 인증부(215)를 통해 입력된 키 값이 일치하는 경우, 또는 미리 설정된 사용자의 홍채 또는 안면이 인증부(215)를 통해 인식된 사용자의 홍채 또는 안면과 일치하는 경우, 메모리 장치(220)가 언락 상태라고 판단할 수 있다.
메모리 컨트롤러(230)는 메모리 장치(220)의 상태를 포함하는 상태 정보(status information)를 브릿지 보드(210)에 제공할 수 있다. 메모리 컨트롤러(230)는 브릿지 보드(210)로부터 제공된 해석된 식별 커맨드(CMD')에 응답하여 브릿지 보드(210)에 상태 정보를 제공할 수 있다. 또는 메모리 컨트롤러(230)는 메모리 장치(220)의 상태가 변경되는 경우, 예를 들어 락 상태에서 언락 상태로 변경되는 경우, 브릿지 보드(210)에 상태 정보를 제공할 수 있다.
브릿지 보드 컨트롤러(212)는 레지스터(214)에 저장된 인터페이스 정보를 이용하여 식별 커맨드(CMD)에 대응하는 응답(RESPONSE)을 생성할 수 있다. 식별 커맨드(CMD)에 대응하는 응답은 메모리 장치(220)의 상태 정보를 포함할 수 있다.
도 3은 도 2의 메모리를 설명하기 위한 블록도이다.
도 3을 참고하면, 메모리(250)는 메모리 셀 어레이(251) 및 제어 로직(252)을 포함할 수 있다.
메모리 셀 어레이(251)는 복수의 메모리 셀들을 포함할 수 있다. 메모리 셀 어레이(251)는 스트링 선택 라인(SSL), 복수의 워드 라인들(WL) 및 접지 선택 라인(GSL)을 통해 로우 디코더(254)와 연결될 수 있다. 또한, 메모리 셀 어레이(251)는 복수의 비트 라인들(BL)을 통해 페이지 버퍼 회로(255)와 연결될 수 있다.
제어 로직(252)은 메모리 컨트롤러(230)로부터 수신된 해석된 커맨드(CMD'), 어드레스(ADDR) 및 제어 신호(CTRL)에 기초하여 메모리(250)를 전반적으로 제어할 수 있다. 제어 로직(252)은 예를 들어, 메모리(250)의 라이트 동작, 리드 동작 및 이레이즈 동작을 제어할 수 있다.
제어 로직(252)은 전압 생성기(253)에 전압 제어 신호(CTRL_vol)를 제공할 수 있다. 제어 로직(252)은 어드레스 신호(ADDR)에 기초하여 로우 어드레스(X-ADDR) 및 컬럼 어드레스(Y-ADDR)를 생성할 수 있다.
전압 생성기(253)는 전압 제어 신호(CTRL_vol)에 응답하여 메모리(250)의 동작에 필요한 동작 전압을 생성할 수 있다. 로우 디코더(254)는 로우 어드레스(X-ADDR)에 응답하여 스트링 선택 라인(SSL), 워드 라인(WL) 및 접지 선택 라인(GSL)을 선택할 수 있다.
페이지 버퍼 회로(255)는 라이트 동작 시 선택된 페이지에 라이트 될 데이터를 임시로 저장할 수 있다. 페이지 버퍼 회로(255)는 리드 동작 시 선택된 페이지로부터 리드된 데이터를 임시로 저장할 수 있다.
데이터 입출력 회로(256)는 데이터 라인(DL)을 통해 페이지 버퍼 회로(255)와 연결될 수 있다. 데이터 입출력 회로(256)는 예를 들어 라이트 동작 시, 메모리 컨트롤러(230)로부터 라이트 데이터(DATA)를 수신하고, 제어 로직(252)로부터 제공되는 컬럼 어드레스(Y-ADDR)에 기초하여 라이트 데이터(DATA)를 페이지 버퍼 회로(255)에 제공할 수 있다. 데이터 입출력 회로(256)는 예를 들어 리드 동작 시, 제어 로직(252)로부터 제공되는 컬럼 어드레스(Y-ADDR)에 기초하여 페이지 버퍼 회로(255)에 저장된 리드 데이터(DATA)를 메모리 컨트롤러(230)에 제공할 수 있다.
도 4는 도 2의 메모리를 설명하기 위한 블록도이다.
도 2 및 도 4를 참고하면, 메모리(250)는 공용 영역(public area, 260)과 보안 영역(security area, 270)을 포함할 수 있다.
공용 영역(260)은 보안 모드에서 스토리지 장치(200)가 락 상태인 경우 및 언락 상태인 경우, 호스트(100)에 의해 액세스될 수 있는 영역일 수 있다. 공용 영역(260)은 예를 들어, 스토리지 장치의 가이드 파일 및/또는 스토리지 장치의 부팅 데이터 파일이 저장될 수 있다. 스토리지 장치(200)가 락 상태인 경우, 사용자는 스토리지 장치의 가이드 파일 및/또는 스토리지 장치의 부팅 데이터 파일을 리드할 수 있어야 하기 때문이다. 본 발명의 몇몇 실시예들에 따른 메모리(250)의 공용 영역(260)에 저장되는 데이터는 이에 제한되는 것은 아니며, 라이트 또는 이레이즈 동작으로부터 보호되어야 하거나 리드 동작만 가능한 임의의 데이터일 수 있다.
공용 영역(260)은 예를 들어, 쉐도우 마스터 부트 레코드(shadow Master Boot Record)을 포함할 수 있다. 따라서 호스트(100)는 쉐도우 마스터 부트 레코드를 통해 프리 부트 운영 체제(Operating System, OS)를 로드할 수 있다. 즉, 스토리지 장치(200)는 쉐도우 마스터 부트 레코드를 통해 부팅될 수 있다. 본 발명의 몇몇 실시예들에 따른 스토리지 장치(200)는 쉐도우 마스터 부트 레코드를 기반으로 락 상태에서 언락 상태로 변경되는 인증 동작을 수행할 수 있다. 스토리지 장치(200)는 파워 오프되었다가 다시 파워 온 되는 경우, 보안 모드에 진입하게 된다. 즉, 스토리지 장치(200)는 락 상태이다. 따라서 공용 영역(260)은 스토리지 장치(200)가 파워 온 되는 경우 호스트(100)에 의해 저장 영역으로 인식되는 영역일 수 있다.
보안 영역(270)은 보안 모드에서 스토리지 장치(200)가 언락 상태인 경우, 호스트(100)에 의해 액세스될 수 있는 영역일 수 있다. 보안 영역(270)은 예를 들어, 마스터 부트 레코드(Master Boot Record, MBR)를 포함할 수 있다. 마스터 부트 레코드는 호스트(100)에 의해 언락 상태에서 호스트(100)에 의해 저장 영역으로 인식되는 영역을 의미할 수 있다. 따라서 보안 영역(270)은 호스트(100)에 의해 라이트, 리드 또는 이레이즈 동작이 수행될 수 있는 영역일 수 있다.
도 5는 락 상태의 스토리지 장치에서 메모리를 설명하기 위한 예시도이다.
도 4 및 도 5를 참고하면, 락 상태의 스토리지 장치는 메모리(250)의 일부가 주 파티션으로 할당될 수 있다. 메모리(250)의 나머지 일부는 할당되지 않을 수 있다. 따라서, 호스트는 메모리(250)의 주 파티션 영역을 저장 영역으로 인식할 수 있다.
주 파티션으로 할당된 부분은 공용 영역(260)일 수 있고, 할당되지 않은 부분은 보안 영역(270)일 수 있다. 호스트는 메모리 장치(220)의 주 파티션 영역에만 액세스할 수 있다.
도 6은 언락 상태의 스토리지 장치에서 메모리를 설명하기 위한 예시도이다.
도 4 및 도 6을 참고하면, 메모리 전체가 주 파티션으로 할당될 수 있다. 따라서 호스트는 메모리(250)의 전체를 저장 영역으로 인식할 수 있다. 따라서 공용 영역(260)과 보안 영역(270) 전체가 주 파티션으로 할당될 수 있고, 호스트는 메모리(250)의 전체 영역에 액세스할 수 있다.
도 7은 도 2의 레지스터에 저장된 인터페이스 정보를 설명하기 위한 블록도이다.
도 2 및 도 7을 참고하면, 레지스터(214)에는 인터페이스 정보가 저장될 수 있다.
호스트(100)와 스토리지 장치(200)가 통신하는 인터페이스에 따른 형식은 제어 모드 페이지(control mode page, 245)를 포함할 수 있다. 제어 모드 페이지(245)는 호스트(100)와 인터페이스를 통해 통신하는 스토리지 장치(200)에 적용될 수 있는 제어 정보를 포함할 수 있다. 제어 모드 페이지(245)에 포함된 제어 정보는 예를 들어, 예상치 못한 조건에서 스토리지 장치가 호스트의 명령에 대해 비지 신호를 리턴 할 수 있는 시간 등을 포함할 수 있다.
제어 모드 페이지(245)는 상태 비트(265)를 포함할 수 있다. 상태 비트(265)는 스토리지 장치(200)에 대한 라이트 커맨드에 따른 라이트 동작을 금지(inhibit)하거나 허락(allow)할 수 있다. 예를 들어, 상태 비트(265)가 제1 논리 레벨이면, 라이트 커맨드에 따른 라이트 동작이 금지될 수 있고, 상태 비트(265)가 제2 논리 레벨이면, 라이트 커맨드에 따른 라이트 동작이 허락될 수 있다. 여기서 제1 논리 레벨은 1이고 제2 논리 레벨은 0일 수 있다.
본 발명의 몇몇 실시예들에 따른 호스트(100)와 인터페이스를 통해 통신하는 스토리지 장치(200)는, 상태 비트(265)를 이용하여 스토리지 장치(200)의 상태 정보를 나타낼 수 있다. 상태 정보는 예를 들어, 언락 상태와 락 상태를 포함할 수 있다.
스토리지 장치(200)가 락 상태인 경우, 스토리지 장치(200)에 대한 라이트 동작이 금지되어야 하기 때문에, 브릿지 보드 컨트롤러(212)는 상태 비트(265)를 제1 논리 레벨로 변경할 수 있다. 스토리지 장치(200)가 언락 상태인 경우, 스토리지 장치(200)는 사용자 인증 동작이 수행된 상태이므로 라이트 동작이 허용되어야 한다. 따라서 브릿지 보드 컨트롤러(212)는 상태 비트(265)를 제2 논리 레벨로 변경할 수 있다. 여기서 제1 논리 레벨은 1이고 제2 논리 레벨은 0일 수 있다.
따라서 호스트(100)는 상태 비트(265)를 통해 스토리지 장치(200)가 리드 -온리 디바이스(read-only device)인지, 리드/라이트 디바이스(read/write device)인지 판단할 수 있다. 호스트(100)는 상태 비트(265)가 제1 논리 레벨이면, 스토리지 장치(200)를 리드-온리 디바이스로 인식할 수 있고, 상태 비트(265)가 제2 논리 레벨이면, 스토리지 장치(200)를 리드/라이트 디바이스로 인식할 수 있다. 이하 도 8을 참고하여 설명한다.
도 8은 도 7의 제어 모드 페이지를 설명하기 위한 예시도이다.
도 2, 도 7 및 도 8을 참고하면, 본 발명의 몇몇 실시예들에 따른 인터페이스는 예를 들어, SCSI일 수 있으며, 호스트(100)로부터 제공되는 식별 커맨드(CMD)는 SCSI 커맨드(SCSI command)를 포함할 수 있다. 본 발명의 몇몇 실시예들에 따른 제어 모드 페이지(245)에 포함된 상태 비트(265)는, SCSI 커맨드의 제어 모드 페이지에 포함된 SWP(software write protect) 비트일 수 있다. 그러나, 본 발명의 범위는 이에 제한되지 아니하며, 상태 비트(265)는 호스트(100)와 스토리지 장치(200)가 미리 정한 인터페이스에 따른 형식에 포함되고, 스토리지 장치(200)의 락 상태와 언락 상태를 나타낼 수 있는 임의의 비트일 수 있다.
상태 비트(265)가 1이면, 스토리지 장치(200)는 라이트 동작이 금지될 수 있다. 스토리지 장치(200)는 쓰기 커맨드에 따른 쓰기 동작이 금지(inhibit)될 수 있다. 따라서, 호스트(100)는 스토리지 장치(200)를 리드-온리(read-only) 디바이스로 인식할 수 있다. 호스트(100)는 스토리지 장치(200)에 대한 라이트 커맨드 등의 이슈를 중단할 수 있다.
상태 비트(265)가 0이면, 스토리지 장치(200)는 라이트 동작이 허용(allow)될 수 있다. 스토리지 장치(200)는 라이트 커맨드에 따른 라이트 동작이 허용될 수 있다. 따라서, 호스트(100)는 스토리지 장치(200)를 리드/라이트 디바이스로 인식할 수 있다. 호스트(100)는 스토리지 장치(200)에 대한 라이트 커맨드 등을 이슈(issue)할 수 있다.
한편, 호스트(100)로부터 제공되는 식별 커맨드(CMD) 또한 상태 비트(265)를 포함할 수 있다. 호스트(100)는 식별 커맨드(CMD) 내의 상태 비트(265)를 변경할 수 있다. 하지만 본 발명의 몇몇 실시예들에 따른 스토리지 장치(200)는 식별 커맨드(CMD) 내의 상태 비트(265) 값과 상관없이, 스토리지 장치(200)의 상태 정보에 따라 상태 비트(265)를 변경할 수 있다. 즉, 식별 커맨드(CMD) 내의 상태 비트(265)는 무시될 수 있다.
도 9는 본 발명의 몇몇 실시예들에 따른 스토리지 시스템을 설명하기 위한 흐름도이다.
도 2 및 도 9를 참고하면, 본 발명의 몇몇 실시예들에 따른 스토리지 시스템은, 호스트(100)와 스토리지 장치(200)가 연결될 수 있다(S300).
스토리지 장치(200)에 포함된 브릿지 보드(210)는 호스트(100)로부터 식별 커맨드(CMD)를 제공받을 수 있다(S310). 식별 커맨드(CMD)는 호스트(100)와 미리 정한 인터페이스에 따른 형식일 수 있다.
브릿지 보드(210)는 레지스터(214)에 저장된 인터페이스 정보를 이용하여 식별 커맨드(CMD)를 해석할 수 있다(S320).
브릿지 보드(210)는 해석된 식별 커맨드(CMD')를 메모리 컨트롤러(230)에 제공할 수 있다(S330).
메모리 컨트롤러(230)는 해석된 식별 커맨드(CMD')에 응답하여 메모리 장치(220)의 상태를 판단할 수 있다(S340). 메모리 장치(220)의 상태는 언락 상태와 락 상태를 포함할 수 있다. 메모리 컨트롤러(230)는 판단된 메모리 장치(220)의 상태를 포함하는 상태 정보(status information)를 브릿지 보드(210)에 제공할 수 있다.
브릿지 보드(210)는 레지스터(214)에 저장된 인터페이스 정보를 이용하여 인터페이스에 따른 형식의 식별 커맨드(CMD)에 대한 응답(response)을 생성할 수 있다(S360).
브릿지 보드(210)는 식별 커맨드(CMD)에 대한 응답을 호스트(100)로 제공할 수 있다(S370).
도 10은 도 9의 인터페이스에 따른 형식의 식별 커맨드(CMD)에 대한 응답을 생성하는 단계(S360)를 설명하기 위한 흐름도이다.
도 2, 도 9 및 도 10을 참고하면, 브릿지 보드(210)는 메모리 컨트롤러(230)로부터 메모리 장치(220)의 상태를 포함하는 상태 정보(status information)를 제공받을 수 있다(S350).
브릿지 보드(210)에 포함된 브릿지 보드 컨트롤러(212)는 메모리 컨트롤러(230)로부터 제공받은 메모리 장치(220)의 상태 정보가 락 상태를 포함하는지 판단할 수 있다(S352).
메모리 장치(220)의 상태 정보가 락 상태를 포함하면, 브릿지 보드 컨트롤러(212)는 상태 비트를 제1 논리 레벨로 변경할 수 있다. 제1 논리 레벨은 예를 들어, 1일 수 있다.
여기서 상태 비트는 앞서 인터페이스에 따른 형식은, 인터페이스를 통해 통신하는 스토리지 장치(200)를 제어하는 제어 정보가 포함된 제어 모드 페이지를 포함할 수 있다. 제어 모드 페이지는 메모리 장치(220)의 상태 정보를 나타내는 상태 비트를 포함할 수 있다.
브릿지 보드 컨트롤러(212)는 제1 논리 레벨의 상태 비트를 포함하는 응답을 생성할 수 있다(S361).
메모리 장치(220)의 상태 정보가 언락 상태를 포함하면, 브릿지 보드 컨트롤러(212)는 상태 비트를 제2 논리 레벨로 변경할 수 있다. 제2 논리 레벨은 예를 들어, 0일 수 있다. 응답을 제공받은 호스트(100)는 스토리지 장치(200)를 리드 온리 장치(read only device)로 인식할 수 있다(S381).
브릿지 보드 컨트롤러(212)는 제2 논리 레벨의 상태 비트를 포함하는 응답을 생성할 수 있다(S362). 브릿지 보드 컨트롤러(212)는 제2 논리 레벨의 상태 비트를 포함하는 응답을 호스트(100)로 제공할 수 있다. 응답을 제공받은 호스트(100)는 스토리지 장치(200)를 리드/라이트 장치(read/write device)로 인식할 수 있다(S382).
도 11은 본 발명의 몇몇 다른 실시예들에 따른 스토리지 장치를 설명하기 위한 블록도이다. 도 12는 본 발명의 몇몇 또 다른 실시예들에 따른 스토리지 장치를 설명하기 위한 도면이다. 도 13은 본 발명의 몇몇 다른 실시예들에 따른 스토리지 장치를 설명하기 위한 흐름도이다. 설명의 편의 상, 앞서 설명한 것과 다른 것을 중심으로 설명한다.
도 11 내지 도 13을 참고하면, 본 발명의 몇몇 다른 실시예들에 따른 스토리지 장치(200)는 보안 모드일 수 있다. 스토리지 장치(200)는 락 상태로(S400), 호스트(100)와 연결될 수 있다(S410).
스토리지 장치(200)는 사용자 인증 등을 통하여 락 상태에서 언락 상태가 될 수 있다(S420). 미리 설정된 정보와 사용자의 정보가 일치되어 스토리지 장치(200)의 상태가 언락 상태로 변경되면, 보안 모드가 해제될 수 있다. 메모리 컨트롤러(230)는 브릿지 보드(210)로 언락 상태를 포함하는 스토리지 장치의 상태 정보(status information)를 전달할 수 있다(S430).
브릿지 보드(210)는 이에 대응하여 리링크(relink) 동작을 수행할 수 있다(S440). 즉, 브릿지 보드(210)는 메모리 장치(220)와 재연결 할 수 있다. 이에 따라 호스트(100)는 스토리지 장치(200)가 연결됨을 인식할 수 있다. 따라서 호스트(100)는 스토리지 장치(200)에 식별 커맨드를 제공할 수 있다(S443).
도 11을 참고하면, 리링크 동작은 예를 들어, 호스트(100)와 브릿지 보드(210) 사이의 데이터 채널(data channel)을 재연결하는 동작을 포함할 수 있다.
도 12를 참고하면, 리링크 동작은 예를 들어, 브릿지 보드(210)가 호스트(100)로 리링크 신호를 제공하는 동작을 포함할 수 있다. 리링크 신호는 호스트(100)에 스토리지 장치(200)가 연결되었다는 신호를 포함할 수 있다.
그러나, 본 발명은 이에 제한되는 것은 아니고, 리링크 동작은 호스트(100)가 스토리지 장치(200)가 연결되었음을 통지할 수 있는 임의의 동작을 포함할 수 있다.
호스트(100)는 브릿지 보드(210)로부터 제공받은 통지에 대응하여 제2 식별 커맨드(CMD2)를 제공할 수 있다(S450).
브릿지 보드(210)는 앞서 도 9에서 설명한 바와 같이, 제2 식별 커맨드(CMD2) 해석할 수 있다(S460). 브릿지 보드(210)는 해석된 식별 커맨드(CMD2')를 메모리 컨트롤러(230)에 제공할 수 있다(S462). 메모리 컨트롤러(230)는 메모리 장치(220)의 상태를 판단하고(S464), 상태 정보를 브릿지 보드(210)에 제공할 수 있다(S466). 여기서 상태 정보는 언락 상태를 포함할 수 있다.
브릿지 보드(210)는 레지스터(214)에 저장된 인터페이스 정보를 이용하여 인터페이스에 따른 형식의 제2 식별 커맨드(CMD2)에 대한 응답(response)을 생성할 수 있다(S480). 브릿지 보드(210)는 인터페이스에 따른 형식에 포함된 상태 비트를 제2 논리 레벨로 변경할 수 있다. 제2 식별 커맨드(CMD2)에 대한 응답은 제2 논리 레벨의 상태 비트를 포함할 수 있다.
따라서, 호스트(100)는 스토리지 장치(200)를 리드/라이트 장치로 인식할 수 있다. 이 후 호스트(100)에 의해 식별 커맨드가 제공되는 경우, 스토리지 장치(200)는 제2 논리 레벨의 상태 비트를 포함하는 응답을 제공할 수 있다. 즉, 스토리지 장치(200)는 언락 상태가 유지될 수 있다. 스토리지 장치(200)가 파워 오프되었다가 다시 파워 온 되는 경우, 스토리지 장치(200)는 보안 모드에 진입하고 락 상태일 수 있다. 따라서, 호스트(100)로부터 식별 커맨드를 제공받은 파워 온 된 스토리지 장치(200)는 제1 논리 레벨의 상태 비트를 포함하는 응답을 제공할 수 있다. 파워 온 된 스토리지 장치(200)는 미리 설정된 정보와 사용자의 정보가 일치하는 등 앞서 설명한 바와 같이, 사용자 인증 등을 통하여 언락 상태가 될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
100: 호스트 200: 스토리지 장치
210: 브릿지 보드 212: 브릿지 보드 컨트롤러
214: 레지스터 215: 인증부
220: 메모리 장치 230: 메모리 컨트롤러
240: 스토리지 장치 인터페이스 250: 메모리
260: 공용 영역 270: 보안 영역

Claims (10)

  1. 호스트로부터 제1 식별 커맨드를 제공받는 브릿지 보드;
    사용자의 정보가 입력되는 인증부; 및
    상기 브릿지 보드로부터 상기 제1 식별 커맨드를 제공받는 메모리 장치를 포함하되,
    상기 메모리 장치는,
    보안 모드에서 상기 제1 식별 커맨드에 응답하여 상기 메모리 장치의 상태를 판단하고 상기 판단된 메모리 장치의 상태를 포함하는 상태 정보를 상기 브릿지 보드로 제공하되, 미리 설정된 정보와 상기 사용자의 정보가 일치하면 상기 메모리 장치의 상태를 상기 언락 상태로 판단하고, 상기 미리 설정된 정보와 상기 사용자의 정보가 불일치하면 상기 메모리 장치의 상태를 상기 락 상태로 판단하는 메모리 컨트롤러를 포함하고,
    상기 브릿지 보드는,
    상기 호스트와 미리 정한 인터페이스로 통신하는 송수신부와, 상기 인터페이스에 따른 형식의 상기 제1 식별 커맨드에 대한 응답을 생성하기 위한 인터페이스 정보가 저장된 레지스터와, 상기 인터페이스 정보를 이용하여 상기 인터페이스에 따른 형식의 상기 제1 식별 커맨드에 대한 제1 응답을 생성하고, 상기 제1 응답을 상기 호스트로 제공하는 브릿지 보드 컨트롤러를 포함하고,
    상기 제1 응답은, 상기 메모리 장치에 대한 라이트 커맨드에 따른 라이트 동작을 금지(inhibit)하거나 허락(allow)하는 상태 비트를 포함하고,
    상기 브릿지 보드 컨트롤러는, 상기 판단된 메모리 장치의 상태에 따라 상기 상태 비트를 변경하여 상기 제1 응답을 생성하고,
    상기 메모리 컨트롤러는, 상기 메모리 장치가 상기 언락 상태로 판단되면, 상기 보안 모드를 해제하고, 상기 제1 식별 커맨드와 다른 제2 식별 커맨드에 응답하여 상기 브릿지 보드에 상기 언락 상태를 포함하는 상기 상태 정보를 제공하는 스토리지 장치.
  2. 제 1항에 있어서,
    상기 인터페이스에 따른 형식은, 상기 인터페이스를 통해 상기 호스트와 통신하는 상기 스토리지 장치를 제어하는 제어 정보가 포함된 제어 모드 페이지를 포함하고,
    상기 제어 모드 페이지는 상기 상태 비트를 포함하는 스토리지 장치.
  3. 제 2항에 있어서,
    상기 브릿지 보드 컨트롤러는,
    상기 상태 정보가 상기 락 상태를 포함하면, 상기 상태 비트를 제1 논리 레벨로 변경하여 상기 제1 응답을 생성하고,
    상기 상태 정보가 상기 언락 상태를 포함하면, 상기 상태 비트를 제2 논리 레벨로 변경하여 상기 제1 응답을 생성하되,
    상기 제1 논리 레벨의 상태 비트는 상기 라이트 커맨드에 따른 상기 라이트 동작을 금지하고,
    상기 제2 논리 레벨의 상태 비트는 상기 라이트 커맨드에 따른 상기 라이트 동작의 수행을 허용하는 스토리지 장치.
  4. 제 1항에 있어서,
    상기 브릿지 보드는 상기 스토리지 장치 내에서 상기 메모리 장치와 분리되어 배치되는 스토리지 장치.
  5. 제 1항에 있어서,
    상기 메모리 컨트롤러는,
    상기 보안 모드에서 상기 인증부로부터 상기 사용자의 정보가 입력되면 상기 미리 설정된 정보와 상기 사용자의 정보가 일치하는지 판단하고, 상기 미리 설정된 정보와 상기 사용자의 정보가 일치하면 상기 브릿지 보드에 상기 언락 상태를 포함하는 상기 상태 정보를 제공하고,
    상기 상태 정보를 제공받은 상기 브릿지 보드는, 상기 상태 비트를 변경하고 상기 호스트와 재연결하는 스토리지 장치.
  6. 제 5항에 있어서,
    상기 브릿지 보드는,
    상기 호스트로부터 상기 재연결로 인한 상기 제1 식별 커맨드와 다른 제3 식별 커맨드를 제공받는 스토리지 장치.
  7. 공용 영역과 보안 영역을 포함하는 메모리를 포함하는 메모리 장치;
    호스트가 공용 영역과 보안 영역 모두를 액세스하는 언락 상태와, 상기 호스트가 상기 공용 영역과 상기 보안 영역 중 상기 공용 영역 만을 액세스하는 락 상태를 포함하는, 상기 메모리 장치의 상태 정보를 나타내는 상태 비트를 저장하는 레지스터; 및
    상기 호스트로부터 제공된 식별 커맨드에 응답하여, 상기 레지스터에 저장된 상기 상태 비트를 포함하는 응답을 생성하는 브릿지 보드를 포함하되,
    상기 상태 비트는, 상기 메모리 장치에 대한 라이트 커맨드에 따른 라이트 동작을 금지(inhibit)하거나 허락(allow)하는 스토리지 장치.
  8. 제 7항에 있어서,
    상기 메모리 장치는,
    상기 메모리 장치의 상태를 판단하고, 상기 판단된 메모리 장치의 상태가 변경되면 상기 메모리 장치의 상태를 포함하는 상태 정보를 상기 브릿지 보드로 제공하는 메모리 컨트롤러를 더 포함하는 스토리지 장치.
  9. 제 8항에 있어서,
    상기 브릿지 보드는, 상기 호스트와 미리 정한 인터페이스로 통신하고, 상기 인터페이스에 따른 형식의 상기 식별 커맨드에 대한 응답을 생성하고,
    상기 인터페이스에 따른 형식은 SCSI이고, 상기 상태 비트는 상기 SCSI의 제어 모드 페이지에 포함된 SWP 비트인 스토리지 장치.
  10. 호스트; 및
    상기 호스트가 공용 영역과 보안 영역 모두를 액세스하는 언락 상태와, 상기 호스트가 상기 공용 영역과 상기 보안 영역 중 상기 공용 영역 만을 액세스하는 락 상태를 포함하는 스토리지 장치를 포함하되,
    상기 스토리지 장치는,
    상기 스토리지 장치의 상기 락 상태와 상기 언락 상태를 판단하는 메모리 컨트롤러와,
    상기 호스트로부터 제공받은 식별 커맨드를 상기 메모리 컨트롤러에 제공하거나, 상기 메모리 컨트롤러로부터 상기 스토리지 장치의 상태 정보를 제공받아 상기 호스트에 응답하는 브릿지 보드와,
    사용자의 정보가 입력되는 인증부를 포함하고,
    상기 메모리 컨트롤러는, 미리 설정된 정보와 상기 인증부로부터 입력된 사용자의 정보가 일치하면 상기 메모리 장치의 상태를 상기 언락 상태로 판단하고, 상기 미리 설정된 정보와 상기 인증부로부터 입력된 상기 사용자의 정보가 불일치하면 상기 메모리 장치의 상태를 상기 락 상태로 판단하는 스토리지 시스템.
KR1020190169852A 2019-12-18 2019-12-18 스토리지 장치 및 이를 포함하는 시스템 KR20210078109A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190169852A KR20210078109A (ko) 2019-12-18 2019-12-18 스토리지 장치 및 이를 포함하는 시스템
US16/996,304 US11487677B2 (en) 2019-12-18 2020-08-18 Storage device and a storage system including the same
CN202011492381.1A CN112992234A (zh) 2019-12-18 2020-12-17 存储设备和包括该存储设备的存储系统
EP20215277.3A EP3839776A1 (en) 2019-12-18 2020-12-18 Storage device and a storage system including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190169852A KR20210078109A (ko) 2019-12-18 2019-12-18 스토리지 장치 및 이를 포함하는 시스템

Publications (1)

Publication Number Publication Date
KR20210078109A true KR20210078109A (ko) 2021-06-28

Family

ID=73855664

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190169852A KR20210078109A (ko) 2019-12-18 2019-12-18 스토리지 장치 및 이를 포함하는 시스템

Country Status (4)

Country Link
US (1) US11487677B2 (ko)
EP (1) EP3839776A1 (ko)
KR (1) KR20210078109A (ko)
CN (1) CN112992234A (ko)

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324537B1 (en) 1999-09-30 2001-11-27 M-Systems Flash Disk Pioneers Ltd. Device, system and method for data access control
US20020073340A1 (en) * 2000-12-12 2002-06-13 Sreenath Mambakkam Secure mass storage device with embedded biometri record that blocks access by disabling plug-and-play configuration
JP2005011151A (ja) * 2003-06-20 2005-01-13 Renesas Technology Corp メモリカード
JP2005149715A (ja) 2003-11-13 2005-06-09 Samsung Electronics Co Ltd Otpブロックが含まれたフラッシュメモリを有するメモリシステム
GB0507912D0 (en) 2005-04-20 2005-05-25 Ibm Disk drive and method for protecting data writes in a disk drive
US7464219B2 (en) 2005-08-01 2008-12-09 International Business Machines Corporation Apparatus, system, and storage medium for data protection by a storage device
US7631161B2 (en) 2005-10-21 2009-12-08 International Business Machines Corporation Apparatus, system, and method for writing data to protected partitions of storage media
JP2007172508A (ja) * 2005-12-26 2007-07-05 Sony Corp 着脱式記憶装置及び認証方法
US20080162848A1 (en) * 2006-12-30 2008-07-03 Hewlett-Packard Development Company, L.P. Controlling access to a memory region
US8612643B2 (en) 2007-06-30 2013-12-17 Microsoft Corporation Interfaces for digital media processing
US7979658B2 (en) * 2008-03-25 2011-07-12 Spansion Llc Secure management of memory regions in a memory
US11297045B2 (en) * 2010-03-26 2022-04-05 Kioxia Corporation Information recording apparatus with shadow boot program for authentication with a server
US9054874B2 (en) 2011-12-01 2015-06-09 Htc Corporation System and method for data authentication among processors
KR102139327B1 (ko) 2012-11-15 2020-07-29 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 동작 방법
JP2015026358A (ja) * 2013-06-20 2015-02-05 株式会社東芝 デバイス、ホスト装置、ホストシステム、及びメモリシステム
US20150161404A1 (en) 2013-12-06 2015-06-11 Barrett N. Mayes Device initiated auto freeze lock
US20160364600A1 (en) * 2015-06-10 2016-12-15 Microsoft Technology Licensing, Llc Biometric Gestures
CN106557802B (zh) * 2015-09-30 2019-08-30 东芝存储器株式会社 存储装置以及信息处理系统
JP2017157022A (ja) 2016-03-02 2017-09-07 富士通株式会社 情報処理装置、プログラム及び管理方法
CN107526537B (zh) * 2016-06-22 2020-03-20 伊姆西Ip控股有限责任公司 用于锁定存储系统中的存储区域的方法和系统
US10853474B2 (en) * 2017-07-31 2020-12-01 Dell Products, L.P. System shipment lock
KR102389431B1 (ko) * 2017-08-22 2022-04-25 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
CN107563171B (zh) 2017-09-11 2020-08-28 英业达科技有限公司 具有生物特征辨识模块的储存装置

Also Published As

Publication number Publication date
US20210191883A1 (en) 2021-06-24
EP3839776A1 (en) 2021-06-23
CN112992234A (zh) 2021-06-18
US11487677B2 (en) 2022-11-01

Similar Documents

Publication Publication Date Title
KR102465321B1 (ko) 데이터 저장 장치
KR102596400B1 (ko) 데이터 저장 장치 및 데이터 저장 장치의 동작 방법
US12001413B2 (en) Key-value storage device and operating method thereof
KR102456118B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
TW201839613A (zh) 數據儲存裝置及其操作方法
KR102233400B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20200085967A (ko) 데이터 저장 장치 및 그 동작 방법
US11704048B2 (en) Electronic device
KR20200054537A (ko) 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
KR20180097026A (ko) 불휘발성 메모리 장치, 그것을 포함하는 데이터 저장 장치 및 데이터 저장 장치의 동작 방법
KR20210147696A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20190087072A (ko) 데이터 저장 장치, 그것의 동작 방법 및 비휘발성 메모리 장치
KR20190001387A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR102434840B1 (ko) 데이터 저장 장치
KR20220103340A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20200089939A (ko) 메모리 시스템 및 그 동작 방법
KR102474937B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20190091035A (ko) 메모리 시스템 및 그것의 동작 방법
KR20190085642A (ko) 메모리 시스템
KR102475688B1 (ko) 불휘발성 메모리 장치, 이를 포함하는 데이터 저장 장치 및 그것의 동작 방법
KR102375060B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
EP3839776A1 (en) Storage device and a storage system including the same
KR20150059439A (ko) 데이터 저장 장치 및 그것을 포함하는 데이터 처리 시스템
KR102423278B1 (ko) 메모리 시스템 및 그것의 동작 방법
KR20220045342A (ko) 호스트 장치, 데이터 저장 장치, 데이터 처리 시스템 및 데이터 처리 방법

Legal Events

Date Code Title Description
A201 Request for examination