KR20200077168A - 스토리지 장치 및 스토리지 시스템 - Google Patents

스토리지 장치 및 스토리지 시스템 Download PDF

Info

Publication number
KR20200077168A
KR20200077168A KR1020180166414A KR20180166414A KR20200077168A KR 20200077168 A KR20200077168 A KR 20200077168A KR 1020180166414 A KR1020180166414 A KR 1020180166414A KR 20180166414 A KR20180166414 A KR 20180166414A KR 20200077168 A KR20200077168 A KR 20200077168A
Authority
KR
South Korea
Prior art keywords
power
read
storage device
host
storage devices
Prior art date
Application number
KR1020180166414A
Other languages
English (en)
Other versions
KR102211122B1 (ko
Inventor
방광규
김영민
임관빈
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020180166414A priority Critical patent/KR102211122B1/ko
Priority to US16/547,410 priority patent/US11080186B2/en
Priority to CN201911318044.8A priority patent/CN111352582A/zh
Publication of KR20200077168A publication Critical patent/KR20200077168A/ko
Application granted granted Critical
Publication of KR102211122B1 publication Critical patent/KR102211122B1/ko
Priority to US17/359,873 priority patent/US11586538B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0653Monitoring storage devices or 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • 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
    • 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/0614Improving the reliability 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/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/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/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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
    • 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/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7206Reconfiguration of flash memory system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple device management, e.g. distributing data over multiple flash devices

Abstract

본 발명의 기술적 사상에 따른 스토리지 장치는, 전원 관리 칩, 전원 관리 칩으로부터 전원을 제공받는 복수의 비휘발성 메모리, 및 복수의 비휘발성 메모리를 제어하는 컨트롤러를 포함하고, 컨트롤러는 복수의 비휘발성 메모리에서의 읽기/쓰기 동작 중 전원의 상태를 확인하고, 복수의 비휘발성 메모리 중 적어도 하나에서 전원의 이상이 감지되면, 복수의 비휘발성 메모리 모두에서 읽기/쓰기 동작의 이상 전원 감지 모드를 수행한다.

Description

스토리지 장치 및 스토리지 시스템{STORAGE DEVICE AND STORAGE SYSTEM}
본 발명의 기술적 사상은 스토리지 장치 및 스토리지 시스템에 관한 것으로서, 더욱 상세하게는, 하드웨어와 소프트웨어가 연계된 이상 전원 감지 모드를 포함하는 스토리지 장치 및 스토리지 시스템에 관한 것이다.
플래시 메모리는 비휘발성, 대용량, 저소음 등의 장점으로 다양한 분야에서 스토리지 장치로 사용된다. 플래시 메모리를 기반으로 하는 스토리지 장치는 솔리드 스테이트 드라이브(solid state drive, SSD)로 지칭된다. 솔리드 스테이트 드라이브는 컨트롤러, 플래시 메모리 등과 같은 다수의 반도체 소자를 포함하고, 다수의 반도체 소자는 인쇄회로기판에 실장되어 반도체 패키지를 구성한다. 이러한 솔리드 스테이트 드라이브와 같은 스토리지 장치에서 전원의 이상과 같은 불량 요인을 발견하고 그에 맞는 해결 방안을 도출하는 것은 제품의 신뢰성을 위해 매우 중요하다. 그런데 반도체 제조 기술의 발달로 스토리지 장치의 집적도가 높아짐에 따라, 발생 가능한 모든 불량을 사전에 방지하기는 어려운 실정이다.
본 발명의 기술적 사상이 해결하고자 하는 과제는, 스토리지 장치의 동작 과정에서 발생할 수 있는 불량 요인을 정밀하게 포착해 낼 수 있도록, 하드웨어와 소프트웨어가 연계된 이상 전원 감지 모드를 포함하는 스토리지 장치를 제공하는 것이다.
본 발명의 기술적 사상이 해결하고자 하는 과제는, 스토리지 장치의 동작 과정에서 발생할 수 있는 불량 요인을 정밀하게 포착해 낼 수 있도록, 하드웨어와 소프트웨어가 연계된 이상 전원 감지 모드를 수행하는 스토리지 시스템을 제공하는 것이다.
본 발명의 기술적 사상이 해결하고자 하는 과제는, 이상에서 언급한 과제에 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 기술적 사상의 실시예에 따른 스토리지 장치는, 전원 관리 칩; 상기 전원 관리 칩으로부터 전원을 제공받는 복수의 비휘발성 메모리; 및 상기 복수의 비휘발성 메모리를 제어하는 컨트롤러;를 포함하고, 상기 컨트롤러는 상기 복수의 비휘발성 메모리에서의 읽기/쓰기 동작 중 상기 전원의 상태를 확인하고, 상기 복수의 비휘발성 메모리 중 적어도 하나에서 상기 전원의 이상이 감지되면, 상기 복수의 비휘발성 메모리 모두에서 상기 읽기/쓰기 동작의 이상 전원 감지 모드를 수행한다.
본 발명의 기술적 사상의 실시예에 따른 스토리지 시스템은, 전원 관리 칩, 상기 전원 관리 칩으로부터 전원을 제공받는 비휘발성 메모리, 및 상기 비휘발성 메모리를 제어하는 컨트롤러를 각각 포함하는 복수의 스토리지 장치; 및 상기 복수의 스토리지 장치와 다중 인터페이스 통신을 구성하는 호스트;를 포함하고, 상기 호스트는 상기 복수의 스토리지 장치 각각에 포함된 상기 비휘발성 메모리들에 읽기/쓰기 동작 중 상기 전원의 상태를 확인하고, 상기 비휘발성 메모리들 중 적어도 하나에서 상기 전원의 이상이 감지되면, 상기 비휘발성 메모리들 모두에서 상기 읽기/쓰기 동작의 이상 전원 감지 모드를 수행한다.
본 발명의 기술적 사상의 실시예에 따른 스토리지 시스템은, 전원 관리 칩, 상기 전원 관리 칩으로부터 전원을 제공받는 비휘발성 메모리, 및 상기 비휘발성 메모리를 제어하는 컨트롤러를 각각 포함하는 복수의 스토리지 장치; 상기 복수의 스토리지 장치를 장착할 수 있는 콘택트 모듈; 및 상기 복수의 스토리지 장치와 통신하는 호스트;를 포함하고, 상기 호스트는 상기 복수의 스토리지 장치 각각에 포함된 상기 비휘발성 메모리들에 읽기/쓰기 동작 중 상기 전원의 상태를 테스트 모드로 변동하여, 상기 비휘발성 메모리들에서 상기 읽기/쓰기 동작의 이상 전원 감지 모드의 수행 여부에 대한 정보를 수집한다.
본 발명의 기술적 사상에 따른 스토리지 장치는, 스토리지 장치의 동작 과정에서 발생할 수 있는 불량 요인을 정밀하게 포착해 낼 수 있도록, 하드웨어와 소프트웨어가 연계된 이상 전원 감지 모드를 포함하여, 방어 코드를 구현하는 방식과 유사한 방식으로 스토리지 장치의 전원 불량에 따른 읽기/쓰기 동작의 오류를 사전에 방지할 수 있다.
도 1은 본 발명의 기술적 사상의 실시예에 따른 스토리지 장치를 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 2는 도 1의 다양한 하드웨어들이 실장되는 인쇄회로기판을 개략적으로 나타내는 도면이다.
도 3은 본 발명의 기술적 사상의 실시예에 따른 스토리지 장치를 나타내는 블록도이다.
도 4는 도 3의 스토리지 장치의 비휘발성 메모리를 설명하는 블록도이다.
도 5a 및 도 5b는 본 발명의 기술적 사상의 실시예에 따른 스토리지 장치에서 읽기/쓰기 동작을 나타내는 순서도들이다.
도 6은 본 발명의 기술적 사상의 실시예에 따른 스토리지 장치에서 알람 신호 동작을 나타내는 순서도이다.
도 7은 본 발명의 기술적 사상의 실시예에 따른 스토리지 시스템을 나타내는 블록도이다.
도 8은 본 발명의 기술적 사상의 실시예에 따른 스토리지 시스템에 포함되는 스토리지 장치를 나타내는 블록도이다.
도 9a 내지 도 9c는 본 발명의 기술적 사상의 실시예에 따른 스토리지 시스템에서 호스트와 스토리지 장치의 통신 채널을 나타내는 개념도들이다.
도 10a 및 도 10b는 본 발명의 기술적 사상의 실시예에 따른 스토리지 시스템에서 읽기/쓰기 동작의 프로그램 코드를 나타내는 순서도들이다.
도 11은 본 발명의 기술적 사상의 실시예에 따른 스토리지 시스템을 이용하여 스토리지 장치의 이상 유무를 판단하는 순서도이다.
도 12는 본 발명의 기술적 사상의 실시예에 따른 스토리지 장치를 적용할 수 있는 서버 시스템을 나타내는 블록도이다.
도 13은 본 발명의 기술적 사상의 실시예에 따른 스토리지 장치를 적용할 수 있는 스토리지 클러스터를 나타내는 블록도이다.
도 14는 본 발명의 기술적 사상의 실시예에 따른 스토리지 장치를 포함하는 프로세스 시스템을 나타내는 블록도이다.
이하, 첨부한 도면들을 참조하여 본 발명의 기술적 사상의 실시예에 대해 상세히 설명하기로 한다.
도 1은 본 발명의 기술적 사상의 실시예에 따른 스토리지 장치를 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 1을 참조하면, 본 발명의 실시예에 따른 제1 및 제2 스토리지 장치들(110, 120) 각각은 자가 진단(Self-Diagnosis)을 위한 프로그램 코드를 펌웨어 및/또는 소프트웨어에 포함한다.
제1 및 제2 스토리지 장치들(110, 120)에 포함된 반도체 소자들은 컴퓨팅 시스템(10)의 인쇄회로기판(100) 상에 실장된다. 제1 및 제2 스토리지 장치들(110, 120)이 인쇄회로기판(100) 상에 실장된 후, 컴퓨팅 시스템(10)은 상기 프로그램 코드를 실행하여, 상기 제1 및 제2 스토리지 장치들(110, 120)에 대한 자가 진단을 수행할 수 있다. 상기 프로그램 코드에 대한 자세한 설명은 도 5a 및 도 5b를 참조하여 후술한다.
컴퓨팅 시스템(10)은 예를 들어, 컴퓨터, 휴대용 컴퓨터, 태블릿 컴퓨터, 워크스테이션, 서버, 모바일 폰, 디지털 카메라, 정보를 유/무선 환경에서 송/수신할 수 있는 장치, 홈 네트워크 시스템을 구성하는 전자 장치 중 적어도 하나를 포함할 수 있다. 상기 컴퓨팅 시스템(10)은 다양한 하드웨어들이 실장된 인쇄회로기판(100), 표시 장치(DD), 및 입력 장치(ID)를 포함할 수 있다.
컴퓨팅 시스템(10)에 포함되는 제1 및 제2 스토리지 장치들(110, 120), 호스트(101), 메모리(102), 칩셋(103), 그래픽 처리 장치(104), 네트워크 모듈(105), 입/출력 컨트롤러(106), 복수의 입/출력 소켓들(104a, 106a, 106b), 및 전원 관리 칩(Power Management Integrated Circuit)(107)은 인쇄회로기판(100) 상에 제공되는 각각의 전용 영역에 실장될 수 있다.
인쇄회로기판(100)은 컴퓨팅 시스템(10)의 마더 보드(mother board) 또는 메인 보드(main board)일 수 있다. 상기 컴퓨팅 시스템(10)이 동작하는데 요구되는 다양한 하드웨어들은 인쇄회로기판(100) 상에 실장될 수 있다. 일부 실시예들에서, 인쇄회로기판(100)은 반도체 패키지, 반도체 소자, 수동 소자, 능동 소자, 제어 회로, 및/또는 전자 회로 등과 같은 다양한 하드웨어들이 실장될 수 있는 각각의 전용 영역을 포함할 수 있다.
상기 인쇄회로기판(100)은 다양한 배선들을 포함할 수 있다. 상기 다양한 배선들은 인쇄회로기판(100) 상에 실장된 다양한 하드웨어들을 각각 전기적으로 연결할 수 있다. 상기 인쇄회로기판(100) 상에 실장된 다양한 하드웨어들은 다양한 배선들을 통해 서로 통신할 수 있다.
제1 스토리지 장치(110)는 제1 컨트롤러(111) 및 제1 비휘발성 메모리(113)를 포함하고, 제2 스토리지 장치(120)는 제2 컨트롤러(121) 및 제2 비휘발성 메모리(123)를 포함할 수 있다. 물론, 인쇄회로기판(100)에 실장되는 스토리지 장치의 개수가 이에 한정되는 것은 아니다.
제1 및 제2 컨트롤러들(111, 121)은 호스트(101)의 명령에 따라 제1 및 제2 비휘발성 메모리들(113, 123)을 제어할 수 있다. 예를 들어, 제1 및 제2 컨트롤러들(111, 121)은 호스트(101)의 명령에 따라 제1 및 제2 비휘발성 메모리들(113, 123)에 저장된 데이터를 읽거나, 제1 및 제2 비휘발성 메모리들(113, 123)에 데이터를 프로그램할 수 있다. 일부 실시예들에서, 제1 및 제2 컨트롤러들(111, 121)은 칩셋(103)을 통해 호스트(101)와 통신할 수 있다.
제1 및 제2 비휘발성 메모리들(113, 123)은 예를 들어, 플래시 메모리, PRAM(Phase-change RAM), RRAM(Resistive RAM), FRAM(Ferroelectric RAM), MRAM(Magnetic RAM) 등과 같은 다양한 비휘발성 메모리들로 구현될 수 있다. 설명의 편의를 위하여, 제1 및 제2 비휘발성 메모리들(113, 123) 각각은 낸드 플래시 메모리인 것으로 가정한다. 물론, 인쇄회로기판(100)에 실장되는 비휘발성 메모리들의 개수가 이에 한정되는 것은 아니다.
상기 제1 및 제2 스토리지 장치들(110, 120)은 컴퓨팅 시스템(10)의 대용량 저장 매체로서 사용될 수 있다. 일부 실시예들에서, 상기 제1 및 제2 비휘발성 메모리들(113, 123)은 복수 배열 독립 디스크(Redundant Array of Independent Disks, RAID)를 구성할 수 있다.
앞서 설명한 바와 같이, 제1 및 제2 스토리지 장치들(110, 120)의 제1 및 제2 컨트롤러들(111, 121)과 제1 및 제2 비휘발성 메모리들(113, 123)은 인쇄회로기판(100) 상에 실장될 수 있다. 즉, 상기 제1 및 제2 스토리지 장치들(110, 120) 각각은 온-보드형 저장 매체(On-Board Storage Media) 또는 온-보드형 솔리드 스테이트 드라이브(On-Board SSD)로 구성될 수 있다.
호스트(101)는 컴퓨팅 시스템(10)이 동작하는데 요구되는 제반 동작을 수행할 수 있다. 예를 들어, 상기 호스트(101)는 사용자로부터 입력된 명령어를 해석하고, 해석된 명령어를 기반으로 연산 동작을 수행하고 데이터를 처리할 수 있다. 상기 호스트(101)는 중앙 처리 장치(CPU)로 지칭될 수 있다.
메모리(102)는 컴퓨팅 시스템(10)의 메인 메모리로서 사용될 수 있다. 메모리(102)는 DRAM, SRAM, DDR DRAM(Double Data Rate DRAM) 등과 같은 휘발성 메모리를 포함할 수 있다. 일부 실시예들에서, 메모리(102)는 인쇄회로기판(100) 상에 실장되고, 인쇄회로기판(100)에 제공되는 배선을 통해 호스트(101)와 전기적으로 연결될 수 있다.
칩셋(103)은 호스트(101)의 명령에 따라 컴퓨팅 시스템(10)에 포함된 다양한 하드웨어들을 제어하는 장치이다. 예를 들어, 칩셋(103)은 호스트(101)의 명령에 따라 제1 및 제2 스토리지 장치들(110, 120), 그래픽 처리 장치(104), 네트워크 모듈(105), 및 입/출력 컨트롤러(106) 등을 제어할 수 있다.
일부 실시예들에서, 상기 칩셋(103)은 인쇄회로기판(100) 상에 실장되고, 인쇄회로기판(100)에 제공되는 배선들을 통해 다양한 하드웨어들과 전기적으로 연결될 수 있다. 또한, 상기 칩셋(103)은 다양한 하드웨어들과 미리 정해진 인터페이스에 의해 통신할 수 있다. 예를 들어, 미리 정해진 인터페이스는 USB, PCI, ATA, SCSI, ESDI, IDE, Firewire, UFS, I2C 등과 같은 다양한 인터페이스들 중 적어도 하나를 포함하여 구성될 수 있다.
그래픽 처리 장치(104)는 호스트(101)에 의해 처리된 연산 동작 또는 데이터의 결과를 영상 신호로 변환할 수 있다. 변환된 영상 신호는 표시 장치(DD)에 의해 출력될 수 있다. 일부 실시예들에서, 그래픽 처리 장치(104)는 인쇄회로기판(100) 상에 실장되고, 인쇄회로기판(100) 상에 제공되는 배선들을 통해 칩셋(103) 및 커넥터(104a)와 연결될 수 있다. 일부 실시예들에서, 그래픽 처리 장치(104)는 호스트(101) 내에 포함될 수도 있다. 또한, 커넥터(104a)는 표시 장치(DD)와 직접 연결될 수 있다.
네트워크 모듈(105)은 컴퓨팅 시스템(10)의 외부와 유선 또는 무선 통신을 지원한다. 예를 들어, 네트워크 모듈(105)은 CDMA, GSM, WCDMA, TDMA, LTE, 블루투스, WiFi 등과 같은 무선 통신을 지원할 수 있다. 일부 실시예들에서, 네트워크 모듈(105)은 인쇄회로기판(100) 상에 실장되고, 인쇄회로기판(100) 상에 제공되는 배선을 통해 칩셋(103)과 연결될 수 있다.
입/출력 컨트롤러(106)는 입력 장치(ID)로부터 입력되는 정보를 처리하거나 커넥터들(106a, 106b)을 제어할 수 있다. 입/출력 컨트롤러(106)는 커넥터들(106a, 106b)과 연결되어 이를 관리할 수 있다. 일부 실시예들에서 입/출력 컨트롤러(106)는 인쇄회로기판(100) 상에 실장되고, 인쇄회로기판(100)에 제공되는 배선들을 통해 커넥터들(106a, 106b)과 연결될 수 있다. 예를 들어, 커넥터들(106a, 106b)은 PS2 포트, PCI 슬롯, DIMM 슬롯, USB 단자, RGB 포트, DVI 포트, HDMI 포트 등과 같은 다양한 입/출력 단자들 중 적어도 하나를 포함하여 구성될 수 있다.
전원 관리 칩(107)은 외부로부터 공급되는 전원을 기반으로, 컴퓨팅 시스템(10)의 다양한 하드웨어들에 전원을 공급할 수 있다. 예를 들어, 전원 관리 칩(107)은 제1 및 제2 스토리지 장치들(110, 120)로 전원을 공급할 수 있다. 일부 실시예들에서, 전원 관리 칩(107)은 제1 및 제2 스토리지 장치들(110, 120)을 위한 전용 전원을 제공할 수 있다.
본 발명의 기술적 사상에 따른 전원 관리 칩(107)은 전원 공급 레일(rail)의 이상 출력을 감지할 수 있는 이상 전원 감지 회로를 포함하고, 상기 이상 전원 감지 회로에서 감지된 이상 출력 현황을 사이드 밴드 프로토콜(Side Band Protocol)을 이용하여 제1 및 제2 스토리지 장치들(110, 120)에 제공할 수 있다.
본 발명의 기술적 사상에 따른 제1 및 제2 스토리지 장치들(110, 120) 각각은 전원 진단 펌웨어 또는 전원 진단 소프트웨어(이하, 프로그램 코드로 통칭)를 포함할 수 있다. 상기 프로그램 코드는 제1 및 제2 스토리지 장치들(110, 120)의 전원 상태를 점검하기 위한 정보 또는 프로그램을 포함하거나, 전원이 정상적으로 공급되도록 요구되는 정보 또는 프로그램을 포함할 수 있다. 일부 실시예들에서, 상기 프로그램 코드는 제1 및 제2 컨트롤러들(111, 121)에 전원 진단 펌웨어의 형태로 저장되거나, 제1 및 제2 비휘발성 메모리들(113, 123)에 전원 진단 소프트웨어의 형태로 저장될 수 있다.
제1 및 제2 스토리지 장치들(110, 120)은 프로그램 코드를 기반으로 전원의 이상 유무에 대한 자가 진단을 수행할 할 수 있다. 예를 들어, 제1 및 제2 컨트롤러들(111, 121)은 전원 진단 펌웨어를 실행하여 자가 진단을 수행할 수 있다.
본 발명의 기술적 사상에 따른 제1 및 제2 스토리지 장치들(110, 120)의 자가 진단은 컴퓨팅 시스템(10)의 읽기/쓰기 동작 중에 수행될 수 있다. 예를 들어, 상기 제1 및 제2 비휘발성 메모리들(113, 123)에 데이터의 읽기/쓰기 동작이 수행되는 과정 중에 제1 및 제2 컨트롤러들(111, 121)은 프로그램 코드를 기반으로 전원의 이상 유무에 대한 자가 진단을 수행할 수 있다.
궁극적으로, 본 발명의 기술적 사상에 따르면, 컴퓨팅 시스템(10)의 읽기/쓰기 동작 중에 제1 및 제2 스토리지 장치들(110, 120)의 전원에 대한 이상 유무를 파악할 수 있으므로, 제1 및 제2 스토리지 장치들(110, 120)의 신뢰성이 더욱 보장될 수 있다. 따라서, 향상된 신뢰성을 갖는 제1 및 제2 스토리지 장치들(110, 120)이 제공될 수 있다.
도 2는 도 1의 다양한 하드웨어들이 실장되는 인쇄회로기판을 개략적으로 나타내는 도면이다.
도 1 및 도 2를 같이 참조하면, 컴퓨팅 시스템(10)은 인쇄회로기판(100) 상에 실장되는 다양한 하드웨어들을 포함할 수 있다.
앞서 설명한 바와 같이, 컴퓨팅 시스템(10)에 포함된 다양한 하드웨어들은 인쇄회로기판(100)에 포함된 전용 영역들에 각각 실장될 수 있다. 예를 들어, 인쇄회로기판(100)은 호스트(101)의 전용 영역(101R), 메모리(102)의 전용 영역(102R), 칩셋(103)의 전용 영역(103R), 전원 관리 칩(107)의 전용 영역(107R), 제1 스토리지 장치(110)의 전용 영역(110R), 및 제2 스토리지 장치(120)의 전용 영역(120R)을 포함할 수 있다. 각각의 전용 영역들은 인쇄회로기판(100)에 제공되는 다양한 배선들을 통해 서로 전기적으로 연결될 수 있다.
본 발명의 기술적 사상에 따른, 제1 스토리지 장치(110)의 제1 컨트롤러(111) 및 제1 비휘발성 메모리(113)는 일체(one body)의 패키지로 구성될 수 있다. 이와 마찬가지로, 제2 스토리지 장치(120)의 제2 컨트롤러(121) 및 제2 비휘발성 메모리(123)는 일체의 패키지로 구성될 수 있다.
일부 실시예들에서, 제1 및 제2 스토리지 장치들(110, 120) 각각은 볼 그리드 어레이(ball grid array, BGA) 방식의 솔리드 스테이트 드라이브로 제공될 수 있다. 예를 들어, 제1 스토리지 장치(110)는 외부 접속 단자로 솔더볼(110B)을 포함할 수 있고, 상기 전용 영역(110R)에 위치하는 볼랜드(110BL)와 솔더볼(110B)이 결합되도록 제1 스토리지 장치(110)가 인쇄회로기판(100) 상에 실장될 수 있다. 이와 마찬가지로, 제2 스토리지 장치(120)가 인쇄회로기판(100) 상에 실장될 수 있다. 제1 및 제2 스토리지 장치들(110, 120)은 표면 실장 기술(Surface Mounting Technology)을 이용하여 인쇄회로기판(100) 상에 실장될 수 있다.
도시되지는 않았으나, 제1 및 제2 스토리지 장치들(110, 120)은 제1 및 제2 비휘발성 메모리들(113, 123) 이외에 다른 비휘발성 메모리들을 더 포함할 수 있다. 또한, 제1 및 제2 스토리지 장치들(110, 120) 각각은 인쇄회로기판(100)의 서로 다른 면에 실장될 수 있다. 예를 들어, 제1 스토리지 장치(110)는 인쇄회로기판(100)의 상면에 실장되고, 제2 스토리지 장치(120)는 상면의 반대 면인 하면에 실장될 수 있다.
제1 및 제2 스토리지 장치들(110, 120)은 프로그램 코드를 이용한 자가 진단의 결과를 사이드 밴드 프로토콜을 이용하여 호스트(101)로 전송할 수 있다. 일부 실시예들에서, 사이드 밴드 프로토콜은 정상 동작을 위해 제공되는 통신 프로토콜 이외에, 부가적으로 제공되는 I2C, MCTP, SMBus 등과 같은 통신 프로토콜을 더 포함할 수 있다.
일부 실시예들에서, 상기 프로그램 코드는 제1 및 제2 스토리지 장치들(110, 120)의 전원 결함 유무 또는 제1 및 제2 스토리지 장치들(110, 120)에 포함된 구성들의 전원 결함 유무를 검출하는 일련의 동작을 수행하기 위한 정보를 포함할 수 있다. 상기 프로그램 코드는 자가 진단의 결과를 호스트(101)로 전송하기 위한 정보를 포함할 수 있다. 본 발명의 기술적 사상에 따른 제1 및 제2 스토리지 장치들(110, 120)은 전원 관리 칩(107)으로부터 공급받은 전원을 기반으로, 상기 프로그램 코드를 이용하여 자가 진단 동작을 수행할 수 있다.
도시되지는 않았으나, 본 발명의 기술적 사상에 따른, 제1 스토리지 장치(110) 및 전원 관리 칩(107)은 일체의 패키지로 구성될 수 있다. 이와 마찬가지로, 제2 스토리지 장치(120) 및 전원 관리 칩(107)은 일체의 패키지로 구성될 수 있다.
도 3은 본 발명의 기술적 사상의 실시예에 따른 스토리지 장치를 나타내는 블록도이다.
도 3을 참조하면, 스토리지 장치(110)는 컨트롤러(111), 복수의 비휘발성 메모리(113-1 내지 113-N), 및 휘발성 메모리(115)를 포함할 수 있다.
컨트롤러(111)는 스토리지 장치(110)와 연결되는 호스트(101)로부터의 요청에 응답하여, 복수의 비휘발성 메모리(113-1 내지 113-N)의 읽기 동작, 쓰기 동작, 소거 동작, 및/또는 초기화 정보 읽기 동작 등을 제어할 수 있다.
휘발성 메모리(115)는 호스트(101)로부터 제공되는 데이터 또는 복수의 비휘발성 메모리(113-1 내지 113-N)로부터 읽은 데이터를 임시로 저장할 수 있다. 휘발성 메모리(115)는 복수의 비휘발성 메모리(113-1 내지 113-N)에 저장될 메타 데이터 또는 캐시 데이터를 저장할 수 있다. 휘발성 메모리(115)는 예를 들어, DRAM, SRAM 등을 포함할 수 있다.
복수의 비휘발성 메모리(113-1 내지 113-N)는 스토리지 장치(110)의 저장 매체로서 사용된다. 각각의 비휘발성 메모리는 예를 들어, 낸드 플래시 메모리일 수 있다. 복수의 비휘발성 메모리(113-1 내지 113-N)는 채널을 통해 컨트롤러(111)와 연결될 수 있다.
복수의 비휘발성 메모리(113-1 내지 113-N) 각각은 메모리 셀 어레이(113CA)와 설정 레지스터(113SR)를 포함할 수 있다. 설정 레지스터(113SR)는 부팅 시 초기화 정보 읽기 동작을 통해 읽어낸 해당 비휘발성 메모리의 제품 사양을 나타내는 초기화 정보를 설정할 수 있다. 또한, 설정 레지스터(113SR)는 컨트롤러(111)로부터 수신되는 해당 비휘발성 메모리의 동작 옵션, 기능, 특성, 및 동작 모드를 위한 제어 신호 및 데이터를 설정할 수 있다.
복수의 비휘발성 메모리(113-1 내지 113-N) 각각은, 쓰기/소거 동작을 금지하는 보호(protect) 정보, 동작 모드에서의 동작 전압 레벨을 트리밍하기 위한 트리밍 데이터, 페일(fail)된 비트 라인을 구제하는 칼럼 리페어 정보, 불량 메모리 셀들을 포함하는 배드(bad) 블록 정보 등을 초기화 정보로서 메모리 셀 어레이(113CA)의 일부에 저장할 수 있다. 상기 트리밍 데이터는 복수의 비휘발성 메모리(113-1 내지 113-N) 각각의 동작 모드들, 즉, 읽기 동작, 쓰기 동작, 소거 동작에서의 전압 조정뿐만 아니라, 센스 앰프 또는 페이지 버퍼의 조정이나, 레퍼런스 셀의 최적화 등을 설정하는 데이터이다.
복수의 비휘발성 메모리(113-1 내지 113-N) 각각은, 전원 결함 유무를 검출하는 일련의 동작을 수행하기 위한 정보를 포함하는 전원 진단 소프트웨어를 프로그램 코드로 메모리 셀 어레이(113CA)의 일부에 저장할 수 있다. 상기 프로그램 코드는 자가 진단의 결과를 호스트(101)로 전송하기 위한 정보를 포함할 수 있다. 즉, 본 발명의 기술적 사상에 따른 스토리지 장치(110)는 상기 프로그램 코드를 이용하여 자가 진단 동작을 수행할 수 있다.
도 4는 도 3의 스토리지 장치의 비휘발성 메모리를 설명하는 블록도이다.
도 4를 참조하면, 비휘발성 메모리(113)는 메모리 셀 어레이(113CA), 제어 회로부(113CC), 어드레스 디코더(113AD), 읽기 회로부(113RC), 및 전압 발생부(113VG)를 포함할 수 있다.
도시되지는 않았으나, 비휘발성 메모리(113)는 쓰기 회로부와 입/출력 회로부를 더 포함할 수 있다. 쓰기 회로부는 컨트롤러(111, 도 3 참조)로부터 입/출력 라인을 통해 입/출력 회로부로 제공되는 데이터를 전달받고, 전달받은 데이터를 메모리 셀 어레이(113CA)에 저장하는 기입 드라이버로 구성될 수 있다. 입/출력 회로부는 컨트롤러(111, 도 3 참조)로부터 입/출력 라인을 통해 제공되는 명령어, 어드레스, 제어 신호, 및 데이터를 일시 저장할 수 있다. 입/출력 회로부는 비휘발성 메모리(113)의 읽기 데이터를 일시 저장하고, 지정된 시점에 입/출력 라인을 통해 컨트롤러(111, 도 3 참조)로 출력할 수 있다.
메모리 셀 어레이(113CA)는 복수의 메모리 셀을 포함할 수 있고, 예를 들어, 복수의 메모리 셀은 낸드 플래시 메모리 셀일 수 있다. 일부 실시예들에서, 메모리 셀 어레이(113CA)는 복수의 낸드 스트링(NS)을 포함하는 3차원 메모리 셀 어레이를 포함할 수 있다.
3차원 메모리 셀 어레이(113CA)는 실리콘(Si) 기판 위에 배치되는 활성 영역 및 상기 실리콘(Si) 기판 상에 또는 기판 내에 형성된 회로를 가지는 메모리 셀 어레이(113CA)의 물리적 레벨이 모놀리식(monolithic)으로 형성될 수 있다. 상기 3차원 메모리 셀 어레이(113CA)는 적어도 하나의 메모리 셀이 다른 메모리 셀의 위에 위치하도록 수직 방향으로 배치된 낸드 스트링(NS)을 포함한다.
메모리 셀 어레이(113CA)는 복수의 메모리 블록(BLK1 내지 BLKn)을 포함할 수 있다. 각각의 메모리 블록은 스트링 선택 라인(SSL), 워드 라인(WL), 그라운드 선택 라인(GSL), 및 비트 라인(BL)에 연결될 수 있다. 각각의 메모리 블록은 스트링 선택 라인(SSL), 워드 라인(WL), 및 그라운드 선택 라인(GSL)을 통해 어드레스 디코더(113AD)에 연결되고, 비트 라인(BL)을 통해 읽기 회로부(113RC)에 연결될 수 있다.
제1 메모리 블록(BLK1)은 복수의 낸드 스트링(NS)을 포함하고, 각각의 낸드 스트링(NS)은 직렬로 연결된 스트링 선택 트랜지스터(SST), 복수의 메모리 셀(MC), 및 그라운드 선택 트랜지스터(GST)를 포함할 수 있다. 스트링 선택 트랜지스터(SST)는 스트링 선택 라인(SSL)에 연결되고, 복수의 메모리 셀(MC) 각각은 대응하는 워드 라인(WL1 내지 WL8)에 연결되고, 그라운드 선택 트랜지스터(GST)는 그라운드 선택 라인(GSL)에 연결된다. 스트링 선택 트랜지스터(SST)는 대응하는 비트 라인(BL1 내지 BLn)에 연결되고, 그라운드 선택 트랜지스터(GST)는 공통 소스 라인(CSL)에 연결된다.
제1 메모리 블록(BLK1) 내의 낸드 스트링(NS)의 행 및 열의 개수는 증가 또는 감소할 수 있다. 낸드 스트링(NS)의 행의 개수가 변경됨에 따라, 워드 라인(WL)의 개수가 변경될 수 있다. 낸드 스트링(NS)의 열의 개수가 변경됨에 따라, 낸드 스트링(NS)의 칼럼에 연결되는 비트 라인(BL)의 개수 및 하나의 스트링 선택 라인(SSL)에 연결되는 낸드 스트링(NS)의 개수 또한 변경될 수 있다. 낸드 스트링(NS)의 높이는 증가 또는 감소될 수 있다. 예를 들어, 낸드 스트링(NS) 각각에 적층되는 메모리 셀의 개수는 증가 또는 감소될 수 있다.
제1 메모리 블록(BLK1)의 메모리 셀들에는 1-비트 데이터가 저장될 수 있다. 하나의 메모리 셀에 1-비트 데이터를 저장할 수 있는 메모리 셀은 싱글 레벨 셀(SLC) 또는 싱글 비트 셀이라 칭할 수 있다. 상기 제1 메모리 블록(BLK1)은 비휘발성 메모리(113)의 초기화 정보를 저장하는 블록으로 설정될 수 있다. 일부 실시예들에서, 제1 메모리 블록(BLK1)의 메모리 셀들에는 전원 결함 유무를 검출하는 일련의 동작을 수행하기 위한 정보를 포함하는 전원 진단 소프트웨어를 프로그램 코드로 저장할 수 있다.
제2 내지 제n 메모리 블록들(BLK2 내지 BLKn)도 제1 메모리 블록(BLK1)과 동일하게 복수의 메모리 셀 및 복수의 선택 트랜지스터를 포함할 수 있다. 제2 내지 제n 메모리 블록들(BLK2 내지 BLKn)은 컨트롤러(111, 도 3 참조)로부터 전달된 데이터를 저장하는 블록으로 설정될 수 있다. 제2 내지 제n 메모리 블록들(BLK2 내지 BLKn)의 메모리 셀들은 싱글 레벨 셀들 또는 하나의 메모리 셀에 2-비트 이상의 데이터를 저장할 수 있는 멀티 레벨 셀들로 구성될 수 있다.
제어 회로부(113CC)는 비휘발성 메모리(113)의 제반 동작을 제어할 수 있다. 제어 회로부(113CC)는 컨트롤러(111, 도 3 참조)로부터 수신되는 커맨드, 어드레스, 및 제어 신호에 기초하여 메모리 셀 어레이(113CA)에 대한 읽기 동작, 쓰기 동작, 및/또는 소거 동작을 제어할 수 있다.
제어 회로부(113CC)는 어드레스 디코더(113AD)에 로우 어드레스를 제공할 수 있고, 읽기 회로부(113RC)에 칼럼 어드레스를 제공할 수 있고, 전압 발생부(113VG)에 전압 제어 신호(Cvol)를 제공할 수 있다.
제어 회로부(113CC)는 메모리 셀 어레이(113CA)의 제1 메모리 블록(BLK1)에 저장된 초기화 정보를 읽는 동작을 제어할 수 있다. 제어 회로부(113CC)는 초기화 정보 읽기 동작을 수행하는데 필요한 읽기 패스 전압(Vread) 레벨을 제어할 수 있다. 제어 회로부(113CC)는 전압 발생부(113VG)로 제공되는 전압 제어 신호(Cvol)를 이용하여 초기화 정보 읽기 동작 시, 읽기 패스 전압(Vread) 레벨이 전원 전압(VDD) 레벨 이하가 되도록 제어할 수 있다.
제어 회로부(113CC)는 초기화 정보 읽기 동작에서 읽어낸 초기화 정보로 설정되는 설정 레지스터(113SR)를 포함할 수 있다. 일부 실시예들에서, 설정 레지스터(113SR)는 제어 회로부(113CC)에 내장되지 않을 수 있다.
어드레스 디코더(113AD)는 메모리 셀 어레이(113CA)의 복수의 메모리 블록(BLK1 내지 BLKn) 중 하나를 선택할 수 있고, 선택된 메모리 블록의 워드 라인(WL)으로 워드 라인 전압을 전달할 수 있다. 쓰기 동작 시, 선택된 워드 라인에는 프로그램 전압(Vpgm)이 제공되고, 미선택된 워드 라인에는 패스 전압(Vpass)이 제공된다. 읽기 동작 시, 선택된 워드 라인에 읽기 전압(Vread)이 제공되고, 미선택된 워드 라인에는 패스 전압(Vpass)이 제공된다.
읽기 회로부(113RC)는 읽기 동작 시, 메모리 셀 어레이(113CA)의 제2 내지 제n 메모리 블록들(BLK2 내지 BLKn)로부터 데이터를 읽고, 읽은 데이터를 컨트롤러(111, 도 3 참조)로 출력하는 데이터 입/출력 회로로 전달할 수 있다. 또한, 읽기 회로부(113RC)는 초기화 정보 읽기 동작 시, 메모리 셀 어레이(113CA)의 제1 메모리 블록(BLK1)에 저장된 초기화 정보를 읽고, 읽은 초기화 정보를 제어 회로부(113CC)의 설정 레지스터(113SR)에 설정할 수 있다. 읽기 회로부(113RC)는 데이터의 읽기를 수행하는 페이지 버퍼 또는 페이지 레지스터, 비트 라인(BL)을 선택하는 칼럼 선택 회로 등을 포함할 수 있다.
전압 발생부(113VG)는 제어 회로부(113CC)의 제어에 응답하여, 메모리 셀 어레이(113CA)의 워드 라인(WL)에 제공될 전압, 즉, 워드 라인 전압을 발생할 수 있다. 전압 발생부(113VG)는 프로그램 전압(Vpgm), 패스 전압(Vpass), 및 읽기 전압(Vread)을 발생할 수 있다. 상기 전압 발생부(113VG)는 전원 전압(VDD)을 컨트롤러(111, 도 3 참조)로부터 제공받을 수 있다. 일부 실시예들에서, 상기 전압 발생부(113VG)는 전원 전압(VDD)을 전원 관리 칩(107, 도 1 참조)으로부터 제공받을 수 있다.
본 발명의 기술적 사상에 따른 스토리지 장치에서, 상기 프로그램 전압(Vpgm) 및/또는 읽기 전압(Vread)에 약 수 내지 수십 나노초(㎱)의 일시적 멈춤 현상(Power Glitch)이 발생하는 경우를 전원의 이상으로 판단할 수 있다. 상기 전원의 이상으로 인하여, 상기 메모리 셀 어레이(113CA) 중 선택된 메모리 블록에서 UECC(Uncorrectable Error Correction Code) 불량이 발생할 수 있다.
도 5a 및 도 5b는 본 발명의 기술적 사상의 실시예에 따른 스토리지 장치에서 읽기/쓰기 동작을 나타내는 순서도들이다.
도 5a 및 도 5b를 같이 참조하면, 읽기 동작의 프로그램 코드(S100) 및 쓰기 동작의 프로그램 코드(S200)를 각각 나타낸다.
읽기 동작의 프로그램 코드(S100)는 읽기 동작을 시작하는 단계(S110), 전원의 정상 여부를 판단하는 단계(S120), 읽기 동작을 수행하는 단계(S130), 및 동일 페이지의 읽기를 재시도하는 단계(S140)를 포함한다.
쓰기 동작의 프로그램 코드(S200)는 쓰기 동작을 시작하는 단계(S210), 전원의 정상 여부를 판단하는 단계(S220), 쓰기 동작을 수행하는 단계(S230), 및 넥스트 프리 블록(Next Free Block)에 쓰기를 할당하는 단계(S240)를 포함한다.
읽기 동작 및 쓰기 동작은 스토리지 장치의 메모리 셀 어레이에서 수행될 수 있다. 읽기 동작 및 쓰기 동작 중 전원의 정상 여부에 대한 판단은 이상 전원 감지 회로 및 프로그램 코드를 통하여 구현될 수 있다.
즉, 하드웨어(전원 관리 칩의 이상 전원 감지 회로)와 소프트웨어(프로그램 코드)를 연계하여 읽기 동작 및 쓰기 동작 중 이상 전원 감지의 자가 진단을 수행함으로써, 스토리지 장치에 방어 코드를 구현하는 방식과 유사한 방식으로 스토리지 장치의 전원 불량에 따른 읽기/쓰기 동작의 오류를 사전에 방지할 수 있다.
또한, 전원 관리 칩에 전원 공급 레일의 이상 출력 전압을 감지할 수 있는 이상 전원 감지 회로를 적용하고, 상기 이상 전원 감지 회로에서 감지된 이상 출력 현황을 사이드 밴드 프로토콜을 이용하여 스토리지 장치에 제공할 수 있다. 즉, 전원 관리 칩과 복수의 비휘발성 메모리 간의 사이드 인터페이스를 통해 전원 이상이 있는 비휘발성 메모리를 특정할 수 있다.
읽기 동작의 프로그램 코드(S100)를 구체적으로 설명하면, 스토리지 장치의 복수의 비휘발성 메모리에서 읽기 동작이 수행되는 동안, 전원 관리 칩에서 이상 출력 전압을 감지하여 전원의 정상 여부를 판단하고, 전원이 정상이라면 일반적인 상태와 동일하게 읽기 동작을 수행한다. 만약 전원 이상이라면 동일 페이지의 읽기를 재시도(이상 전원 감지 모드)하고, 다시 전원의 정상 여부를 판단한다. 다시 말해, 전원의 정상 여부를 판단(S120 단계)하는 동안에도, 읽기 동작은 계속하여 수행될 수 있다. 즉, 전원의 공급이 원활하지 않다면 읽기 동작이 정상적으로 이루어지지 않을 가능성이 크므로, 다시 한번 동일 페이지를 읽음으로써 전원 불량에 따른 읽기 동작의 오류를 사전에 방지할 수 있다.
쓰기 동작의 프로그램 코드(S200)를 구체적으로 설명하면, 스토리지 장치의 복수의 비휘발성 메모리에서 쓰기 동작이 수행되는 동안, 전원 관리 칩에서 이상 출력 전압을 감지하여 전원의 정상 여부를 판단하고, 전원이 정상이라면 일반적인 상태와 동일하게 쓰기 동작을 수행한다. 만약 전원 이상이라면 넥스트 프리 블록에 쓰기를 할당(이상 전원 감지 모드)하고, 다시 전원의 정상 여부를 판단한다. 다시 말해, 전원의 정상 여부를 판단(S220 단계)하는 동안에도, 쓰기 동작은 계속하여 수행될 수 있다. 즉, 전원의 공급이 원활하지 않다면 쓰기 동작이 정상적으로 이루어지지 않을 가능성이 크므로, 다른 블록에 쓰기를 할당함으로써 전원 불량에 따른 쓰기 동작의 오류를 사전에 방지할 수 있다.
즉, 읽기/쓰기 동작의 프로그램 코드(S100, S200)는 전원 관리 칩에서 공급되는 전원의 갑작스런 중단 등과 같은 외적 요인으로부터 데이터 손실을 최소화할 수 있다. 또한, 읽기/쓰기 동작의 프로그램 코드(S100, S200)는 전원이 불안정한 상태에서 데이터 신뢰성을 향상시킬 수 있다.
일부 실시예들에서, 스토리지 장치의 복수의 비휘발성 메모리에서의 읽기/쓰기 동작의 프로그램 코드(S100, S200)는, 복수의 비휘발성 메모리 중 적어도 하나에서 전원의 이상이 감지되면 상기 복수의 비휘발성 메모리 모두에서 읽기/쓰기 동작의 이상 전원 감지 모드를 수행할 수 있다. 이는 복수의 비휘발성 메모리 중 어느 하나에서 전원의 이상이 감지되었다면 다른 비휘발성 메모리들에도 동일한 시점 또는 인접한 시점에 전원의 이상이 발생할 확률이 높으므로, 이상 전원 감지 모드를 모든 비휘발성 메모리들에 수행함으로써 전원 불량에 따른 읽기/쓰기 동작의 오류를 사전에 방지하는 것이다.
도 6은 본 발명의 기술적 사상의 실시예에 따른 스토리지 장치에서 알람 신호 모드를 나타내는 순서도이다.
도 6을 참조하면, 복수의 비휘발성 메모리와 통신하는 호스트에 전원의 이상이 감지되면 알람이 전송되는 알람 신호 모드(S300)를 나타낸다.
알람 신호 모드(S300)는 전원 공급을 시작하는 단계(S310), 전원의 정상 여부를 판단하는 단계(S320, S360), 읽기/쓰기 동작을 수행하는 단계(S330), 전원 공급을 종료하는 단계(S340), 알람 신호를 전송하는 단계(S350), 및 알람 해제 신호를 전송하는 단계(S370)를 포함한다.
앞서 설명한 바와 같이, 읽기 동작 및 쓰기 동작은 스토리지 장치의 메모리 셀 어레이에서 수행될 수 있다. 읽기 동작 및 쓰기 동작 중 전원의 정상 여부에 대한 판단은 이상 전원 감지 회로 및 프로그램 코드를 통하여 구현될 수 있다.
알람 신호 모드(S300)를 구체적으로 설명하면, 복수의 비휘발성 메모리 중 적어도 하나에서 전원의 이상이 감지되면 호스트에 알람 신호가 전송되고, 알람 신호가 전송된 후, 복수의 비휘발성 메모리 모두에서 전원의 이상이 감지되지 않으면 호스트에 알람 해제 신호가 전송된다. 호스트와 복수의 비휘발성 메모리는 다중 인터페이스 통신을 구성하여, 어느 하나의 비휘발성 메모리에서 발생한 알람 신호를 모든 비휘발성 메모리들과 공유할 수 있다. 또한, 전원이 공급되는 동안 복수의 비휘발성 메모리 모두에서 전원의 이상이 감지되지 않는다면, 읽기/쓰기 동작이 완료된 후 일반적인 상태와 동일하게 스토리지 장치에 전원의 공급을 종료한다.
본 발명의 기술적 사상에 따른 스토리지 장치의 복수의 비휘발성 메모리에서 읽기/쓰기 동작이 수행되는 동안, 복수의 비휘발성 메모리 중 적어도 하나에서 전원의 이상이 감지되면 호스트에 알람 신호가 전송되고, 복수의 비휘발성 메모리 모두에서 읽기/쓰기 동작의 이상 전원 감지 모드를 수행할 수 있다.
본 발명의 기술적 사상에 따른 호스트는 알람 신호 및 알람 해제 신호를 분석하여 전원의 이상 원인을 파악할 수 있다. 구체적으로, 알람이 발생한 비휘발성 메모리의 특정, 알람의 발생 빈도, 알람의 발생 시점과 종점, 알람의 발생 간격 등과 같은 수집된 정보를 분석하여 전원의 이상 원인을 파악할 수 있다.
도 7은 본 발명의 기술적 사상의 실시예에 따른 스토리지 시스템을 나타내는 블록도이다.
도 7을 참조하면, 스토리지 시스템(1000)은 호스트(1100), 콘택트 모듈(1120), 및 복수의 스토리지 장치(20)가 배열된 테스트 기판(1130)을 포함한다.
테스트 기판(1130)은 콘택트 모듈(1120)을 통해 호스트(1100)와 신호를 주고받고, 전원을 공급받을 수 있다. 상기 테스트 기판(1130)은 복수의 스토리지 장치(20), 지지대(1131), 및 테스트 단자(1133)를 포함한다.
호스트(1100)는 스토리지 시스템(1000)이 동작하는데 요구되는 제반 동작을 수행할 수 있다. 예를 들어, 상기 호스트(1100)는 사용자로부터 입력된 명령어를 해석하고, 해석된 명령어를 기반으로 연산 동작을 수행하거나 데이터를 처리할 수 있다. 상기 호스트(1100)는 스토리지 설비로 지칭될 수 있다.
칩셋(1110)은 호스트(1100)의 명령에 따라 스토리지 시스템(1000)에 포함된 다양한 하드웨어들을 제어하는 장치이다. 예를 들어, 칩셋(1110)은 호스트(1100)의 명령에 따라 테스트 단자(1133)를 통하여 복수의 스토리지 장치(20)의 동작을 테스트할 수 있다.
복수의 스토리지 장치(20)는 테스트 기판(1130)과 지지대(1131)를 통하여 연결된다. 상기 테스트 단자(1133)는 테스트 기판(1130)에 탑재된 각각의 스토리지 장치(20)를 전기적으로 검사할 수 있는 신호 라인과 연결된다. 상기 지지대(1131)는 표면에 상기 테스트 단자(1133)가 마련될 수 있다. 따라서, 상기 테스트 단자(1133)를 콘택트 모듈(1120)과 연결하여 각각의 스토리지 장치(20)에 대한 불량 분석을 할 수 있다. 복수의 스토리지 장치(20)는 M.2 방식의 솔리드 스테이트 드라이브가 8연 배열된 것으로 도시되어 있으나, 테스트 기판(1130)에 배열되는 스토리지 장치(20)의 개수가 이에 한정되는 것은 아니다.
이에 따라, 복수의 스토리지 장치(20)에 대한 불량 분석 시, 별도로 복수의 스토리지 장치(20)를 호스트(1100)와 연결할 필요가 없기 때문에 불량 분석 시간을 절약할 수 있다. 그리고 테스트가 완료된 후, 복수의 스토리지 장치(20)와 지지대(1131)를 연결하는 부분을 분리하면, 복수의 스토리지 장치(20) 각각은 M.2 방식의 솔리드 스테이트 드라이브로 제공될 수 있다.
도 8은 본 발명의 기술적 사상의 실시예에 따른 스토리지 시스템에 포함되는 스토리지 장치를 나타내는 블록도이다.
도 8을 참조하면, M.2 방식의 솔리드 스테이트 드라이브의 폼 팩터(form factor)를 가지고 다양한 하드웨어들이 실장된 인쇄회로기판(200)을 포함하는 스토리지 장치(20)를 나타낸다.
일반적으로, M.2 방식의 솔리드 스테이트 드라이브의 폼 팩터는 인쇄회로기판(200)의 Y 방향의 길이(200Y)를 22㎜로 규정하고, X 방향의 길이(200X)를 60㎜, 80㎜, 또는 110㎜로 규정할 수 있다.
스토리지 장치(20)를 포함하는 전자 제품의 크기가 점차 작아지고, 고속으로 동작하는 스토리지 장치(20)가 요구됨에 따라, 종래 크기보다 작은 크기를 가지면서도, 고속의 인터페이스 프로토콜을 지원하는 스토리지 장치(20)가 요구되고 있다. 이에 따라, 상대적으로 작은 크기에 대응하는 폼 팩터, 예를 들어, PCI Express Mini Card 레이아웃을 사용하는 mSATA 방식, mSATA 방식보다 유연한 크기를 규정하는 M.2 방식 등이 제안되었다. 이러한 M.2 방식은 도시된 바와 같이 작은 크기의 솔리드 스테이트 드라이브를 규정하고, 작은 크기의 솔리드 스테이트 드라이브는 인쇄회로기판(200) 상에 실장된 적어도 하나의 비휘발성 메모리(210)를 포함할 수 있다.
M.2 방식은 포트(200P)를 규정할 수 있다. 상기 포트(200P)는 인쇄회로기판(200)의 일측에 위치할 수 있고, 호스트(1100, 도 7 참조)와 통신하기 위한 복수의 핀을 포함할 수 있다. 복수의 핀은 노출된 패턴일 수 있고, 구리(Cu)와 같은 전도성 물질을 포함할 수 있다.
또한, M.2 방식은 스토리지 장치(20)를 마더 보드(또는 메인 보드)에 장착하고 고정하기 위한 만입 구조(200E)를 규정할 수 있다. M.2 방식은 포트(200P)와 대향하는 타측에 형성된 반원형 만입 구조(200E)를 포함할 수 있다. 노출된 패턴이 만입 구조(200E)의 테두리에 형성될 수 있고, 마더 보드에 장착되는 경우 마더 보드의 도전체와 연결될 수 있다. 예를 들어, 만입 구조(200E)의 테두리에 형성된 패턴은 마더 보드의 접지 노드에 대응하는 도전체와 연결될 수 있다.
컨트롤러(201)는 호스트(1100, 도 7 참조)의 명령에 따라 제1 및 제2 비휘발성 메모리들(211, 213)을 제어할 수 있다. 예를 들어, 컨트롤러(201)는 호스트(1100, 도 7 참조)의 명령에 따라 제1 및 제2 비휘발성 메모리들(211, 213)에 저장된 데이터를 읽거나, 제1 및 제2 비휘발성 메모리들(211, 213)에 데이터를 프로그램할 수 있다.
메모리(202)는 DRAM, SRAM, DDR DRAM 등과 같은 휘발성 메모리로 구성될 수 있다. 일부 실시예들에서, 메모리(202)는 인쇄회로기판(200) 상에 실장되고, 인쇄회로기판(200)에 제공되는 배선들을 통해 컨트롤러(201)와 전기적으로 연결될 수 있다.
전원 관리 칩(203)은 외부로부터 공급되는 전원을 기반으로 스토리지 장치(20)에 전원을 공급할 수 있다. 일부 실시예들에서, 도시된 바와 같이, 전원 관리 칩(203)은 컨트롤러(201)에 전원을 공급할 수 있다.
도 9a 내지 도 9c는 본 발명의 기술적 사상의 실시예에 따른 스토리지 시스템에서 호스트와 스토리지 장치의 통신 채널을 나타내는 개념도들이다.
도 9a 내지 도 9c에서 호스트(1100)는 다중 인터페이스 통신 채널을 제어하여, 도 7의 복수의 스토리지 장치(20) 중 일부를 선택하고, 선택된 스토리지 장치(20)의 비휘발성 메모리(210)에 대하여 전원의 이상 상태를 확인할 수 있다.
도 9a를 참조하면, 호스트(1100)는 칩 선택 채널(CS)을 통하여 도 7의 복수의 스토리지 장치(20) 중 일부를 선택하고, 선택된 스토리지 장치(20)의 전원 관리 칩(203)과는 직접(direct) 송신(Tx) 및 수신(Rx)하고 컨트롤러(201)와는 우회하여(by pass) 송신 및 수신한다.
도 9b를 참조하면, 호스트(1100)는 선택된 스토리지 장치(20)의 전원 관리 칩(203)과 송신(Tx) 및 수신(Rx)하는 제1 채널 및 컨트롤러(201)와 송신(Tx') 및 수신(Rx)하는 제2 채널을 구비할 수 있다. 상기 송신(Tx, Tx') 채널은 릴레이 또는 스위치에 의하여 선택될 수 있다. 즉, 상기 제1 및 제2 채널은 서로 동일한 인터페이스 통신 채널로 구성될 수 있다.
도 9c를 참조하면, 호스트(1100)는 선택된 스토리지 장치(20)의 전원 관리 칩(203)과 I2C 방식으로 통신하는 제1 채널 및 컨트롤러(201)와 송신(Tx) 및 수신(Rx)하는 제2 채널을 구비할 수 있다. 상기 제1 및 제2 채널은 칩셋(1110)에 의하여 선택될 수 있다. 즉, 상기 제1 및 제2 채널은 서로 다른 인터페이스 통신 채널로 구성될 수 있다.
도 10a 및 도 10b는 본 발명의 기술적 사상의 실시예에 따른 스토리지 시스템에서 읽기/쓰기 동작의 프로그램 코드를 나타내는 순서도들이다.
이하에서 설명하는 읽기/쓰기 동작의 프로그램 코드(S400, S500)를 구성하는 대부분의 단계는 앞서 도 5a 및 도 5b를 참조하여 설명한 바와 실질적으로 동일하거나 유사하다. 따라서, 설명의 편의를 위하여 읽기/쓰기 동작의 프로그램 코드(S100, S200)와 차이점을 중심으로 설명한다.
도 10a 및 도 10b를 같이 참조하면, 읽기 동작의 프로그램 코드(S400) 및 쓰기 동작의 프로그램 코드(S500)를 나타낸다.
읽기 동작의 프로그램 코드(S400)는 복수의 스토리지 장치 중 일부를 선택하는 단계(S410), 선택된 스토리지 장치에서 읽기 동작을 시작하는 단계(S410), 전원의 정상 여부를 판단하는 단계(S430), 선택된 스토리지 장치에서 읽기 동작을 수행하는 단계(S440), 및 동일 페이지의 읽기를 재시도하는 단계(S450)를 포함한다.
쓰기 동작의 프로그램 코드(S500)는 복수의 스토리지 장치 중 일부를 선택하는 단계(S510), 선택된 스토리지 장치에서 쓰기 동작을 시작하는 단계(S510), 전원의 정상 여부를 판단하는 단계(S530), 선택된 스토리지 장치에서 쓰기 동작을 수행하는 단계(S540), 및 넥스트 프리 블록에 쓰기를 할당하는 단계(S550)를 포함한다.
복수의 스토리지 장치 중 일부를 선택하는 단계(S410, S510)는 스토리지 시스템(1000, 도 7 참조)에서 칩 선택 채널(CS, 도 9a 참조)을 통한 방식이 이용될 수 있다.
읽기 동작 및 쓰기 동작은 선택된 스토리지 장치의 메모리 셀 어레이에서 수행될 수 있다. 읽기 동작 및 쓰기 동작 중 전원의 정상 여부에 대한 판단은 이상 전원 감지 회로 및 프로그램 코드를 통하여 구현될 수 있다.
즉, 읽기/쓰기 동작의 프로그램 코드(S400, S500)는 전원 관리 칩에서 공급되는 전원의 갑작스런 중단 등과 같은 외적 요인으로부터 선택된 스토리지 장치의 데이터 손실을 최소화할 수 있다. 또한, 읽기/쓰기 동작의 프로그램 코드(S100, S200)는 전원이 불안정한 상태에서 선택된 스토리지 장치의 데이터 신뢰성을 향상시킬 수 있다.
도 11은 본 발명의 기술적 사상의 실시예에 따른 스토리지 시스템을 이용하여 스토리지 장치의 이상 유무를 판단하는 순서도이다.
도 7 및 도 11을 같이 참조하면, 스토리지 장치의 이상 유무 판단(S600)은 스토리지 시스템(1000)을 이용하여 수행될 수 있다.
일부 실시예들에서, 스토리지 시스템(1000)은 복수의 스토리지 장치(20)를 확인하는 모니터링 장치(1140)를 더 포함할 수 있다.
스토리지 장치의 이상 유무 판단(S600)은 스토리지 장치에 읽기/쓰기 동작을 시작하는 단계(S610), 전원의 상태를 테스트 모드로 변동하는 단계(S620), 스토리지 장치에서 이상 전원 감지 모드의 수행 여부를 판단하는 단계(S630), 스토리지 장치의 정상 및 불량을 판정하는 단계(S640), 스토리지 장치에 대한 판정 데이터를 생성하는 단계(S650), 및 스토리지 장치에 읽기/쓰기 동작을 종료하는 단계(S660)를 포함한다.
구체적으로, 호스트(1100)는 복수의 스토리지 장치(20) 각각에 포함된 비휘발성 메모리들에 읽기/쓰기 동작 중 전원의 상태를 테스트 모드로 변동하여, 비휘발성 메모리들에서 읽기/쓰기 동작의 이상 전원 감지 모드가 정상적으로 수행되는지에 대한 정보를 수집할 수 있다. 상기 이상 전원 감지 모드는 비휘발성 메모리의 프로그램 코드에 포함될 수 있다. 상기 테스트 모드는 읽기/쓰기 동작이 정상 조건으로 수행되지 않는 이상 전원을 제공하는 것이다.
또한, 모니터링 장치(1140)는 호스트(1100)에서 수집된 정보를 확인하여, 상기 복수의 스토리지 장치(20)의 정상 및 불량을 판정(S640 단계)하고, 상기 복수의 스토리지 장치(20)의 이상 유무에 대한 정보를 분석하여 이상 유무에 대한 데이터를 생성(S650 단계)할 수 있다.
도 12는 본 발명의 기술적 사상의 실시예에 따른 스토리지 장치를 적용할 수 있는 서버 시스템을 나타내는 블록도이다.
도 12를 참조하면, 서버 시스템(1200)은 복수의 서버(1220-1 내지 1220-N)를 포함할 수 있다. 상기 복수의 서버(1220-1 내지 1220-N)는 관리자(1210)와 연결될 수 있다.
복수의 서버(1220-1 내지 1220-N) 각각은 본 발명의 기술적 사상에 따른 스토리지 장치를 포함할 수 있다. 본 발명의 기술적 사상에 따른 스토리지 장치는 하드웨어(전원 관리 칩의 이상 전원 감지 회로)와 소프트웨어(프로그램 코드)를 연계하여 읽기 동작 및 쓰기 동작 중 이상 전원 감지의 자가 진단을 수행함으로써, 스토리지 장치에 방어 코드를 구현하는 방식과 유사한 방식으로 스토리지 장치의 전원 불량에 따른 읽기/쓰기 동작의 오류를 사전에 방지할 수 있다.
도 13은 본 발명의 기술적 사상의 실시예에 따른 스토리지 장치를 적용할 수 있는 스토리지 클러스터를 나타내는 블록도이다.
도 13을 참조하면, 스토리지 클러스터(1300)는 빅 데이터와 인공 지능(AI) 시대를 맞이하여 방대한 데이터를 빠르게 계산할 수 있는 고성능 컴퓨팅 인프라로 주목받고 있다.
스토리지 클러스터(1300)는 대규모 클러스터링을 통한 병렬 컴퓨팅 환경을 구성함으로써 연산 성능을 극대화할 수 있다. 스토리지 클러스터(1300)는 스토리지 메모리의 양과 물리적 컴포넌트의 유연한 배치에 따라, 네트워크에 연결된 스토리지 또는 스토리지 영역 네트워크를 제공할 수 있다.
스토리지 클러스터(1300)는 복수의 서버 시스템(1200-1 내지 1200-N)으로 구현되는 데이터 센터(1305)를 포함할 수 있다. 복수의 서버 시스템(1200-1 내지 1200-N) 각각은 도 12를 참조하여 설명한 서버 시스템(1200)과 유사하거나 실질적으로 동일할 수 있다.
복수의 서버 시스템(1200-1 내지 1200-N)은 컴퓨터 네트워크 또는 인터넷과 같은 네트워크(1310)를 통하여 다양한 스토리지 노드들(1320-1 내지 1320-N)과 통신할 수 있다. 스토리지 노드들(1320-1 내지 1320-N)은 실시 형태에 따라, 인접하여 배치될 필요는 없다. 예를 들어, 스토리지 노드들(1320-1 내지 1320-N)은 클라이언트 컴퓨터, 서버, 원격 데이터 센터, 스토리지 시스템 중 어느 하나일 수 있다.
복수의 서버 시스템(1200-1 내지 1200-N) 중에서 스토리지 노드들(1320-1 내지 1320-N)의 요청을 수신하는 서버 시스템 각각은 본 발명의 기술적 사상에 따른 스토리지 장치를 포함할 수 있다. 본 발명의 기술적 사상에 따른 스토리지 장치는 하드웨어(전원 관리 칩의 이상 전원 감지 회로)와 소프트웨어(프로그램 코드)를 연계하여 읽기 동작 및 쓰기 동작 중 이상 전원 감지의 자가 진단을 수행함으로써, 스토리지 장치에 방어 코드를 구현하는 방식과 유사한 방식으로 스토리지 장치의 전원 불량에 따른 읽기/쓰기 동작의 오류를 사전에 방지할 수 있다.
도 14는 본 발명의 기술적 사상의 실시예에 따른 스토리지 장치를 포함하는 프로세스 시스템을 나타내는 블록도이다.
도 14를 참조하면, 프로세스 시스템(1400)은 프로세싱 유닛(1410), 휘발성 메모리 유닛(1420), 저항성 메모리 유닛(1430), 및 대용량 스토리지 유닛(1440)을 포함할 수 있다. 프로세스 시스템(1400)은 모바일 기기, 퍼스널 컴퓨터, 서버 컴퓨터, 및 프로그램 가능한 전자 제품, 메인 프레임 컴퓨터 등과 같은 범용 또는 특수 목적의 컴퓨팅 시스템일 수 있다.
프로세싱 유닛(1410)은 운영 체제 및 다수의 소프트웨어 시스템을 실행하고 특정 계산 또는 태스크(task)를 수행할 수 있다. 프로세싱 유닛(1410)은 마이크로프로세서 또는 중앙 처리 장치(CPU)일 수 있다.
휘발성 메모리 유닛(1420)은 프로세스 시스템(1400)의 동작 메모리 또는 캐시 메모리로서 데이터를 단기적으로 또는 임시로 저장하는 매체를 지칭한다. 휘발성 메모리 유닛(1420)은 하나 이상의 메모리를 포함할 수 있다.
저항성 메모리 유닛(1430)은 대용량 스토리지 유닛(1440)의 캐시 역할을 할 수 있다. 저항성 메모리 유닛(1430)은 어플리케이션 또는 운영 체제의 일부 데이터를 저장할 수 있다. 저항성 메모리 유닛(1430)은 하나 이상의 메모리를 포함할 수 있다.
대용량 스토리지 유닛(1440)은 프로세스 시스템(1400)이 사용자 데이터를 장기적으로 저장하는 저장 매체를 지칭한다. 대용량 스토리지 유닛(1440)은 응용 프로그램 또는 프로그램 데이터를 저장할 수 있다.
대용량 스토리지 유닛(1440)은 본 발명의 기술적 사상에 따른 스토리지 장치를 포함할 수 있다. 본 발명의 기술적 사상에 따른 스토리지 장치는 하드웨어(전원 관리 칩의 이상 전원 감지 회로)와 소프트웨어(프로그램 코드)를 연계하여 읽기 동작 및 쓰기 동작 중 이상 전원 감지의 자가 진단을 수행함으로써, 스토리지 장치에 방어 코드를 구현하는 방식과 유사한 방식으로 스토리지 장치의 전원 불량에 따른 읽기/쓰기 동작의 오류를 사전에 방지할 수 있다.
이상, 첨부된 도면들을 참조하여 본 발명의 기술적 사상의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예는 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
10: 컴퓨팅 시스템
20, 110, 120: 스토리지 장치
100, 200: 인쇄회로기판
101, 1100: 호스트
111, 121, 201: 컨트롤러
107, 203: 전원 관리 칩
1000: 스토리지 시스템
1130: 테스트 기판
1140: 모니터링 장치

Claims (20)

  1. 전원 관리 칩;
    상기 전원 관리 칩으로부터 전원을 제공받는 복수의 비휘발성 메모리; 및
    상기 복수의 비휘발성 메모리를 제어하는 컨트롤러;를 포함하고,
    상기 컨트롤러는
    상기 복수의 비휘발성 메모리에서의 읽기/쓰기 동작 중 상기 전원의 상태를 확인하고, 상기 복수의 비휘발성 메모리 중 적어도 하나에서 상기 전원의 이상이 감지되면, 상기 복수의 비휘발성 메모리 모두에서 상기 읽기/쓰기 동작의 이상 전원 감지 모드를 수행하는 스토리지 장치.
  2. 제1항에 있어서,
    상기 읽기 동작의 이상 전원 감지 모드는 동일 페이지의 읽기를 재시도(Retry)하고,
    상기 쓰기 동작의 이상 전원 감지 모드는 넥스트 프리 블록(Next Free Block)에 쓰기를 할당하는 것을 특징으로 하는 스토리지 장치.
  3. 제1항에 있어서,
    상기 컨트롤러는
    상기 복수의 비휘발성 메모리에 제공되는 읽기/쓰기 전압에 일시적 멈춤 현상이 발생하면 상기 전원의 이상으로 판단하고,
    상기 전원 관리 칩과 상기 복수의 비휘발성 메모리 간의 사이드 밴드 프로토콜(Side Band Protocol)을 이용하여, 상기 전원의 이상이 있는 적어도 하나의 비휘발성 메모리를 특정하는 것을 특징으로 하는 스토리지 장치.
  4. 제1항에 있어서,
    상기 이상 전원 감지 모드는
    상기 컨트롤러에 펌웨어로 저장되거나, 또는 상기 복수의 비휘발성 메모리에 소프트웨어로 저장되는 것을 특징으로 하는 스토리지 장치.
  5. 제1항에 있어서,
    상기 복수의 비휘발성 메모리 모두에서 상기 전원의 이상이 감지되지 않으면, 상기 읽기/쓰기 동작은 정상 수행되는 것을 특징으로 하는 스토리지 장치.
  6. 제1항에 있어서,
    상기 컨트롤러는
    상기 복수의 비휘발성 메모리에 제공되는 읽기/쓰기 전압에 일시적 멈춤 현상이 발생하면 상기 전원의 이상으로 판단하고,
    상기 복수의 비휘발성 메모리 중 적어도 하나에서 상기 전원의 이상이 감지되면, 호스트에 알람 신호를 전송하고,
    상기 알람 신호가 전송된 후, 상기 복수의 비휘발성 메모리 모두에서 상기 전원의 이상이 감지되지 않으면, 상기 호스트에 알람 해제 신호를 전송하는 것을 특징으로 하는 스토리지 장치.
  7. 제6항에 있어서,
    상기 호스트와 상기 복수의 비휘발성 메모리는 다중 인터페이스 통신을 구성하는 것을 특징으로 하는 스토리지 장치.
  8. 제1항에 있어서,
    상기 컨트롤러는 상기 복수의 비휘발성 메모리와 일체(one body)의 패키지로 구성되는 것을 특징으로 하는 스토리지 장치.
  9. 제8항에 있어서,
    상기 패키지는 볼 그리드 어레이 방식의 솔리드 스테이트 드라이브이고,
    상기 전원 관리 칩 및 상기 패키지는 하나의 인쇄회로기판에 실장되는 것을 특징으로 하는 스토리지 장치.
  10. 제1항에 있어서,
    상기 복수의 비휘발성 메모리는 복수 배열 독립 디스크(Redundant Array of Independent Disks)를 구성하는 것을 특징으로 하는 스토리지 장치.
  11. 전원 관리 칩, 상기 전원 관리 칩으로부터 전원을 제공받는 비휘발성 메모리, 및 상기 비휘발성 메모리를 제어하는 컨트롤러를 각각 포함하는 복수의 스토리지 장치; 및
    상기 복수의 스토리지 장치와 다중 인터페이스 통신을 구성하는 호스트;를 포함하고,
    상기 호스트는
    상기 복수의 스토리지 장치 각각에 포함된 상기 비휘발성 메모리들에 읽기/쓰기 동작 중 상기 전원의 상태를 확인하고, 상기 비휘발성 메모리들 중 적어도 하나에서 상기 전원의 이상이 감지되면, 상기 비휘발성 메모리들 모두에서 상기 읽기/쓰기 동작의 이상 전원 감지 모드를 수행하는 스토리지 시스템.
  12. 제11항에 있어서,
    상기 읽기 동작의 이상 전원 감지 모드는 동일 페이지의 읽기를 재시도하고,
    상기 쓰기 동작의 이상 전원 감지 모드는 넥스트 프리 블록에 쓰기를 할당하는 것을 특징으로 하는 스토리지 시스템.
  13. 제11항에 있어서,
    상기 호스트는 상기 다중 인터페이스 통신의 채널을 제어하여 상기 복수의 스토리지 장치 중 일부를 선택하고,
    상기 선택된 복수의 스토리지 장치의 상기 비휘발성 메모리에 대하여 상기 전원의 상태를 확인하는 것을 특징으로 하는 스토리지 시스템.
  14. 제13항에 있어서,
    상기 호스트는 상기 선택된 복수의 스토리지 장치의 상기 전원 관리 칩과는 직접 송/수신하고, 상기 컨트롤러와는 우회하여(by pass) 송/수신하는 것을 특징으로 하는 스토리지 시스템.
  15. 제13항에 있어서,
    상기 호스트는 상기 선택된 복수의 스토리지 장치의 상기 전원 관리 칩 및 상기 컨트롤러와 직접 송/수신하는 것을 특징으로 하는 스토리지 시스템.
  16. 제15항에 있어서,
    상기 채널은
    상기 호스트와 상기 전원 관리 칩이 통신하는 제1 채널; 및
    상기 호스트와 상기 컨트롤러가 통신하는 제2 채널;을 구비하며,
    상기 제1 및 제2 채널은 서로 다른 인터페이스를 가지는 것을 특징으로 하는 스토리지 시스템.
  17. 제11항에 있어서,
    상기 복수의 스토리지 장치 중 적어도 하나에서 상기 전원의 이상이 감지되면, 상기 호스트에 알람 신호가 전송되고,
    상기 알람 신호가 전송된 후, 상기 복수의 스토리지 장치 모두에서 상기 전원의 이상이 감지되지 않으면, 상기 호스트에 알람 해제 신호가 전송되는 것을 특징으로 하는 스토리지 시스템.
  18. 전원 관리 칩, 상기 전원 관리 칩으로부터 전원을 제공받는 비휘발성 메모리, 및 상기 비휘발성 메모리를 제어하는 컨트롤러를 각각 포함하는 복수의 스토리지 장치;
    상기 복수의 스토리지 장치를 장착할 수 있는 콘택트 모듈; 및
    상기 복수의 스토리지 장치와 통신하는 호스트;를 포함하고,
    상기 호스트는
    상기 복수의 스토리지 장치 각각에 포함된 상기 비휘발성 메모리들에 읽기/쓰기 동작 중 상기 전원의 상태를 테스트 모드로 변동하여, 상기 비휘발성 메모리들에서 상기 읽기/쓰기 동작의 이상 전원 감지 모드의 수행 여부에 대한 정보를 수집하는 스토리지 시스템.
  19. 제18항에 있어서,
    상기 이상 전원 감지 모드는 상기 스토리지 장치에 저장된 프로그램 코드에 포함되고,
    상기 읽기 동작의 이상 전원 감지 모드는 동일 페이지의 읽기를 재시도하고,
    상기 쓰기 동작의 이상 전원 감지 모드는 넥스트 프리 블록에 쓰기를 할당하는 것을 특징으로 하는 스토리지 시스템.
  20. 제18항에 있어서,
    상기 테스트 모드는 상기 읽기/쓰기 동작이 정상 조건으로 수행되지 않는 이상 전원을 제공하는 것을 특징으로 하는 스토리지 시스템.
KR1020180166414A 2018-12-20 2018-12-20 스토리지 장치 및 스토리지 시스템 KR102211122B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020180166414A KR102211122B1 (ko) 2018-12-20 2018-12-20 스토리지 장치 및 스토리지 시스템
US16/547,410 US11080186B2 (en) 2018-12-20 2019-08-21 Storage device and storage system
CN201911318044.8A CN111352582A (zh) 2018-12-20 2019-12-19 存储设备和存储系统
US17/359,873 US11586538B2 (en) 2018-12-20 2021-06-28 Storage device and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180166414A KR102211122B1 (ko) 2018-12-20 2018-12-20 스토리지 장치 및 스토리지 시스템

Publications (2)

Publication Number Publication Date
KR20200077168A true KR20200077168A (ko) 2020-06-30
KR102211122B1 KR102211122B1 (ko) 2021-02-02

Family

ID=71098556

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180166414A KR102211122B1 (ko) 2018-12-20 2018-12-20 스토리지 장치 및 스토리지 시스템

Country Status (3)

Country Link
US (2) US11080186B2 (ko)
KR (1) KR102211122B1 (ko)
CN (1) CN111352582A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230008376A1 (en) * 2021-07-08 2023-01-12 Kioxia Corporation Memory system, control method, and power control circuit

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11416050B2 (en) * 2017-05-08 2022-08-16 Octavo Systems Llc Component communications in system-in-package systems
KR102211122B1 (ko) * 2018-12-20 2021-02-02 삼성전자주식회사 스토리지 장치 및 스토리지 시스템
KR20230072062A (ko) * 2021-11-17 2023-05-24 에스케이하이닉스 주식회사 메모리 시스템, 메모리 컨트롤러 및 메모리 시스템의 동작 방법

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060068450A (ko) * 2004-12-16 2006-06-21 삼성전자주식회사 동작 성능이 향상된 메모리 저장 장치
JP2007242068A (ja) * 2006-03-03 2007-09-20 Sony Corp 不揮発性メモリシステムおよび不揮発性メモリ制御方法
KR20090026117A (ko) * 2006-03-03 2009-03-11 샌디스크 코포레이션 플로팅 게이트 커플링을 보상한 비휘발성 저장매체 독출 방법
KR20100039179A (ko) * 2008-10-07 2010-04-15 삼성전자주식회사 메모리 장치의 상태를 검사하는 메모리 시스템, 저장 장치,그리고 메모리 컨트롤러
JP2011081659A (ja) * 2009-10-08 2011-04-21 Seiko Epson Corp 記憶装置、基板、液体容器、システム及び記憶装置の制御方法
KR20140045168A (ko) * 2012-10-08 2014-04-16 삼성전자주식회사 불휘발성 메모리 장치, 메모리 시스템 및 불휘발성 메모리 장치의 동작방법
JP2015036988A (ja) * 2013-08-09 2015-02-23 慧榮科技股▲分▼有限公司 データ記憶装置とその異常電圧からの保護方法
KR20160104617A (ko) * 2013-10-24 2016-09-05 샌디스크 테크놀로지스 엘엘씨 데이터 저장 디바이스에 대한 전력 강하 방지
JP2016181112A (ja) * 2015-03-24 2016-10-13 株式会社東芝 メモリデバイス、半導体装置および情報処理装置
KR20160143987A (ko) * 2015-06-05 2016-12-15 삼성전자주식회사 스토리지 장치 및 그것의 동작 방법
KR20170085773A (ko) * 2016-01-15 2017-07-25 삼성전자주식회사 스토리지 장치, 호스트, 스토리지 시스템, 스토리지 장치의 전원 전압 수신 방법, 및 스토리지 시스템의 전원 전압 제공 방법
KR20170111375A (ko) * 2016-03-28 2017-10-12 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
KR20180059201A (ko) * 2016-11-25 2018-06-04 삼성전자주식회사 비휘발성 메모리를 포함하는 raid 시스템
KR20180092430A (ko) * 2017-02-09 2018-08-20 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100609038B1 (ko) 2004-05-06 2006-08-09 주식회사 하이닉스반도체 직렬 입/출력 인터페이스를 가진 멀티-포트 메모리 소자
KR20100041515A (ko) 2008-10-14 2010-04-22 삼성전자주식회사 제거 가능한 보조 검사단자를 갖는 솔리드 스테이트 드라이브의 검사방법
KR100922635B1 (ko) 2008-12-02 2009-10-22 (주) 제노맥스 Pci 익스프레스 버스 기반 테스터 인터페이스 장치
KR101747797B1 (ko) 2011-01-26 2017-06-15 삼성전자주식회사 사타 인터페이스 및 그것의 전원 관리 방법
JPWO2015029293A1 (ja) 2013-08-27 2017-03-02 株式会社ソシオネクスト 半導体集積回路および複数の半導体集積回路を備えた電源制御システム
US9250676B2 (en) * 2013-11-29 2016-02-02 Sandisk Enterprise Ip Llc Power failure architecture and verification
JP6443120B2 (ja) 2015-02-23 2018-12-26 ミツミ電機株式会社 電源制御用半導体装置
KR102544248B1 (ko) 2016-02-16 2023-06-16 삼성전자주식회사 Usb 인터페이스를 지원하는 전자장치 및 usb 인터페이스 제어방법
US10521305B2 (en) * 2016-04-29 2019-12-31 Toshiba Memory Corporation Holdup time measurement for solid state drives
CN109324989B (zh) * 2017-07-31 2023-08-25 伊姆西Ip控股有限责任公司 包括多个单独可移除子载体的标准形状因子电子模块载体
US20190042413A1 (en) * 2018-03-02 2019-02-07 Intel Corporation Method and apparatus to provide predictable read latency for a storage device
JP2019159639A (ja) * 2018-03-12 2019-09-19 株式会社日立製作所 ストレージシステム、データ管理方法、及びデータ管理プログラム
KR102211122B1 (ko) * 2018-12-20 2021-02-02 삼성전자주식회사 스토리지 장치 및 스토리지 시스템

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060068450A (ko) * 2004-12-16 2006-06-21 삼성전자주식회사 동작 성능이 향상된 메모리 저장 장치
JP2007242068A (ja) * 2006-03-03 2007-09-20 Sony Corp 不揮発性メモリシステムおよび不揮発性メモリ制御方法
KR20090026117A (ko) * 2006-03-03 2009-03-11 샌디스크 코포레이션 플로팅 게이트 커플링을 보상한 비휘발성 저장매체 독출 방법
KR20100039179A (ko) * 2008-10-07 2010-04-15 삼성전자주식회사 메모리 장치의 상태를 검사하는 메모리 시스템, 저장 장치,그리고 메모리 컨트롤러
JP2011081659A (ja) * 2009-10-08 2011-04-21 Seiko Epson Corp 記憶装置、基板、液体容器、システム及び記憶装置の制御方法
KR20140045168A (ko) * 2012-10-08 2014-04-16 삼성전자주식회사 불휘발성 메모리 장치, 메모리 시스템 및 불휘발성 메모리 장치의 동작방법
JP2015036988A (ja) * 2013-08-09 2015-02-23 慧榮科技股▲分▼有限公司 データ記憶装置とその異常電圧からの保護方法
KR20160104617A (ko) * 2013-10-24 2016-09-05 샌디스크 테크놀로지스 엘엘씨 데이터 저장 디바이스에 대한 전력 강하 방지
JP2016181112A (ja) * 2015-03-24 2016-10-13 株式会社東芝 メモリデバイス、半導体装置および情報処理装置
KR20160143987A (ko) * 2015-06-05 2016-12-15 삼성전자주식회사 스토리지 장치 및 그것의 동작 방법
KR20170085773A (ko) * 2016-01-15 2017-07-25 삼성전자주식회사 스토리지 장치, 호스트, 스토리지 시스템, 스토리지 장치의 전원 전압 수신 방법, 및 스토리지 시스템의 전원 전압 제공 방법
KR20170111375A (ko) * 2016-03-28 2017-10-12 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
KR20180059201A (ko) * 2016-11-25 2018-06-04 삼성전자주식회사 비휘발성 메모리를 포함하는 raid 시스템
KR20180092430A (ko) * 2017-02-09 2018-08-20 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230008376A1 (en) * 2021-07-08 2023-01-12 Kioxia Corporation Memory system, control method, and power control circuit

Also Published As

Publication number Publication date
US11080186B2 (en) 2021-08-03
US20200201762A1 (en) 2020-06-25
KR102211122B1 (ko) 2021-02-02
US20210326258A1 (en) 2021-10-21
CN111352582A (zh) 2020-06-30
US11586538B2 (en) 2023-02-21

Similar Documents

Publication Publication Date Title
US10719264B2 (en) Solid state drive device and storage system having the same
KR102211122B1 (ko) 스토리지 장치 및 스토리지 시스템
US11101017B2 (en) Memory system and test system
CN110413222B (zh) 数据存储装置及其操作方法
CN110413446B (zh) 数据存储设备及其操作方法
US20190179694A1 (en) Data storage device, operating method thereof and storage system including the same
US10545689B2 (en) Data storage device and operating method thereof
KR20160143987A (ko) 스토리지 장치 및 그것의 동작 방법
KR20190076296A (ko) 메모리 시스템 및 그것의 동작 방법
US11748025B2 (en) Nonvolatile memory device, data storage device including the same and operating method thereof
US10719382B2 (en) Collecting state records of cores in a data storage device
KR20210038753A (ko) 데이터 저장 장치 및 그 동작 방법
CN110299181B (zh) 非易失性存储器装置、其操作方法及数据存储装置
EP4184509A1 (en) Non-volatile memory device, storage device and method of manufacturing the same using wafer-to-wafer bonding
US11961549B2 (en) Data storage device for refreshing data and operating method thereof
KR20210004726A (ko) 데이터 저장 장치 및 그 동작 방법
KR102545229B1 (ko) 메모리 시스템 및 그것의 동작 방법
CN112394879A (zh) 操作存储设备的方法、存储设备及操作存储系统的方法
US11921653B2 (en) Data storage device and method for lane detection and configuration
KR20190059633A (ko) 데이터 저장 장치, 그것의 동작 방법 및 비휘발성 메모리 장치의 동작 방법
EP4181136A1 (en) Storage device and operating method of storage device
KR20230068718A (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
KR20170001858A (ko) 불휘발성 메모리 모듈 및 그것의 동작 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant