KR101764509B1 - 컨트롤러의 신뢰성을 검증 가능한 차지 스토리지 메모리 장치 - Google Patents

컨트롤러의 신뢰성을 검증 가능한 차지 스토리지 메모리 장치 Download PDF

Info

Publication number
KR101764509B1
KR101764509B1 KR1020150191662A KR20150191662A KR101764509B1 KR 101764509 B1 KR101764509 B1 KR 101764509B1 KR 1020150191662 A KR1020150191662 A KR 1020150191662A KR 20150191662 A KR20150191662 A KR 20150191662A KR 101764509 B1 KR101764509 B1 KR 101764509B1
Authority
KR
South Korea
Prior art keywords
test
communication module
charge storage
mode
storage memory
Prior art date
Application number
KR1020150191662A
Other languages
English (en)
Other versions
KR20160129695A (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 서울대학교산학협력단
Publication of KR20160129695A publication Critical patent/KR20160129695A/ko
Application granted granted Critical
Publication of KR101764509B1 publication Critical patent/KR101764509B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

컨트롤러의 신뢰성을 검증 가능한 차지 스토리지 메모리 장치가 개시된다. 일 실시예에 따른 차지 스토리지 메모리 장치는 차지 스토리지 메모리 칩, 상기 차지 스토리지 메모리 칩을 제어하는 컨트롤러, 외부 장치와의 통신을 위한 외부 인터페이스를 지원하는 통신 모듈, 노멀 모드를 위한 제1 커넥터 및 테스트 모드를 위한 제2 커넥터를 포함한다.

Description

컨트롤러의 신뢰성을 검증 가능한 차지 스토리지 메모리 장치{CHARGE STORAGE MEMORY DEVICE CAPABLE OF VERIFYING RELIABILITY OF CONTROLLER}
아래 실시예들은 컨트롤러의 신뢰성을 검증 가능한 차지 스토리지 메모리 장치에 관한 것이다.
차지 스토리지 메모리 장치(예를 들어, 플래시 메모리 장치 등)를 저장 매체로 사용하는 이동 정보 기기들, 특히 스마트폰이나 태블릿피씨 등의 사용이 폭발적으로 증가하면서 차지 스토리지 메모리에 기반한 저장 장치에 대한 관심과 중요성이 더욱 커지고 있다. 고속의 프로세서나 멀티코어를 이용한 병렬화뿐 아니라 다양한 애플리케이션들의 등장으로 인해 차지 스토리지 메모리 장치에 대한 요구 수준은 성능뿐 아니라 신뢰성 측면에서도 계속 높아지고 있다. 이에 비해 저장 매체인 차지 스토리지 메모리 칩의 신뢰성은 집적도 증가와 함께 악화되고 있어서 요구 수준과 현실 상황의 격차는 점점 커지고 있다. 따라서 향후 성능 수준이 어느 정도 균등화되고 나면 오히려 신뢰성 측면의 연구가 더 중요해질 것으로 예상된다. 그런데, 신뢰성 측면에서는 높은 신뢰성을 갖는 저장 장치를 만드는 것은 기본이고, 이와 함께 개발된 최종 결과물의 신뢰성을 검증하여 얼마나 객관적으로 보여줄 수 있는지도 중요하다.
그러나 차지 스토리지 메모리 기반 저장 장치의 신뢰성을 검증하는 것은 일반적으로 매우 어려운 문제이다. 신뢰성 검증을 위해서는 정상 상황뿐만 아니라 비정상 상황에서도 시스템이 그 기능을 수행할 수 있는지를 테스트해 보아야 한다.
예를 들어, 플래시 메모리는 기본적으로 배드 블록과 비트 반전 에러 등 여러 가지 비정상 상황 즉 폴트들이 발생하는 것을 가정하고 있는 비휘발성 메모리이다. 따라서, 플래시 메모리 저장 장치는 이러한 플래시 메모리 칩의 폴트들을 저장 장치 내에서 처리하여 외부로는 정상적으로 동작하도록 하기 위한 다양한 하드웨어, 소프트웨어적 폴트 처리 기능을 구현하게 된다. 이러한 폴트 처리 기능들이 제대로 동작하는지를 확인하는 것이 플래시 메모리 저장 장치의 신뢰성 검증에서 큰 비중을 차지한다. 그러나 실제 플래시 메모리 칩을 사용하면서 테스트하는 경우 원하는 형태의 폴트를 원하는 시점에 투입하는 것이 불가능하다. 실제 플래시 메모리 칩을 장착한 제품 테스트 과정에서는 테스트 환경의 온도나 습도, 진동 등을 통제하여 간접적으로 폴트를 일부 투입할 수는 있으나 이는 테스트 범위를 제한하여 결국 테스트 결과의 신뢰도를 보장하지 못하는 요인이 된다.
또한, 플래시 메모리 저장 장치는 다수의 플래시 메모리 칩들과 함께 범용 프로세싱 코어 및 전용 하드웨어 컨트롤러, 다양한 기능을 수행하는 관리 소프트웨어가 복합적으로 구성되어 있다. 특히 개발이 완료된 소프트웨어가 특정 하드웨어 컨트롤러와 긴밀하게 결합되어(tightly-coupled) 있는 경우가 많다. 그러므로 소프트웨어, 하드웨어 각각의 신뢰성을 검증한 것이 전체 시스템의 신뢰성을 보장한다고 보기 어렵다. 일반적으로 소프트웨어의 경우 기본이 되는 알고리즘은 수학적인 증명이나 모델 검증기를 사용하여 검증할 수 있고, 중간 개발 과정에서는 시뮬레이션에 기반한 테스트를 통해 검증할 수 있다. 하드웨어 컨트롤러의 경우에도 가능한 입력 시나리오에 따른 테스트 벡터들을 사용하여 개발 과정에서는 다양한 수준의 시뮬레이션을 통해, 개발이 완료된 후에는 개발 결과물인 하드웨어를 직접 테스트함으로써 검증할 수 있다. 그러나 두 요소가 긴밀하게 결합되어 있는 최종 개발 결과물에 대해서는 뾰족한 검증 방법이 없는 것이 현실이다.
따라서 플래시 메모리 칩 외의 컨트롤러 하드웨어와 소프트웨어는 최종 결과물 상태 그대로 두면서도 폴트 투입 기능이 없는 플래시 메모리 칩을 대신하여 폴트 투입과 통제가 가능한 테스트 환경을 제공해야 할 필요가 있다.
본 발명은 컨트롤러의 신뢰성을 검증 가능한 차지 스토리지 메모리 장치; 및 이를 이용한 신뢰성 검증 시스템 및 방법을 통하여, 개발이 완료된 최종 결과물에 대한 신뢰성을 객관적이고도 손쉽게 검증할 수 있는 기술을 제공한다.
일 측에 따른 차지 스토리지 메모리 장치는 차지 스토리지 메모리 칩; 상기 차지 스토리지 메모리 칩을 제어하는 컨트롤러; 외부 장치와의 통신을 위한 외부 인터페이스를 지원하는 통신 모듈; 노멀 모드를 위한 제1 커넥터; 및 테스트 모드를 위한 제2 커넥터를 포함한다.
상기 테스트 모드에서, 상기 컨트롤러는 상기 외부 장치로부터 수신된 제1 유형의 신호를 플래시 연산 명령으로 변환하고, 상기 통신 모듈은 상기 플래시 연산 명령을 상기 외부 장치의 테스트 에뮬레이터에 전달할 수 있다. 상기 테스트 모드에서, 상기 통신 모듈은 상기 플래시 연산 명령을 벤더 고유 로그 페이지에 추가하고, 상기 테스트 에뮬레이터에게 비동기 이벤트가 발생하였음을 알릴 수 있다.
상기 통신 모듈은, 명령 완료 큐에 명령 완료 개체를 추가하고, 상기 명령 완료 개체의 로그 페이지 식별자에 상기 플래시 연산 명령이 포함된 벤더 고유 로그 페이지의 식별자를 기입함으로써 상기 비동기 이벤트가 발생하였음을 알릴 수 있다. 상기 외부 인터페이스는, 상기 테스트 모드에서 복수의 논리적 채널을 포함할 수 있다. 상기 외부 장치는 호스트 및 테스트 에뮬레이터를 포함할 수 있고, 상기 복수의 논리적 채널은 상기 호스트와 상기 통신 모듈 사이를 연결하는 제1 논리적 채널 및 상기 테스트 에뮬레이터와 상기 통신 모듈 사이를 연결하는 제2 논리적 채널을 포함할 수 있다.
상기 차지 스토리지 메모리 장치는 상기 제1 커넥터 및 상기 제2 커넥터 중 적어도 하나를 선택적으로 활성화하는 스위칭 모듈을 더 포함할 수 있다. 상기 차지 스토리지 메모리 장치는 동작 모드에 따라 상기 통신 모듈, 상기 제1 커넥터 및 상기 제2 커넥터를 제어하는 모드 제어 모듈을 더 포함할 수 있다. 상기 모드 제어 모듈은, 상기 통신 모듈로부터 제2 유형의 신호를 수신하고, 상기 제2 유형의 신호가 상기 노멀 모드를 지시하는 경우, 상기 제1 커넥터를 통해 상기 컨트롤러와 상기 차지 스토리지 메모리 칩을 연결하며, 상기 제2 유형의 신호가 상기 테스트 모드를 지시하는 경우, 상기 제2 커넥터를 통해 상기 컨트롤러와 상기 통신 모듈을 연결할 수 있다. 상기 제1 커넥터는 상기 노멀 모드에서 상기 컨트롤러와 상기 차지 스토리지 메모리 칩 사이의 제1 경로를 활성화할 수 있다. 상기 제2 커넥터는 상기 테스트 모드에서 상기 컨트롤러와 상기 통신 모듈 사이의 제2 경로를 활성화할 수 있다.
상기 컨트롤러는 적어도 하나의 네임 스페이스를 포함할 수 있고, 상기 적어도 하나의 네임 스페이스 각각은 상기 노멀 모드 또는 상기 테스트 모드 중 어느 하나의 모드로 동작할 수 있다. 상기 차지 스토리지 메모리 장치는 상기 적어도 하나의 네임 스페이스 각각이 상기 노멀 모드 또는 상기 테스트 모드 중 어느 하나의 모드로 동작하도록, 상기 제1 커넥터 및 상기 제2 커넥터 중 적어도 하나를 선택적으로 활성화하는 복수의 스위칭 모듈을 더 포함할 수 있다. 상기 외부 인터페이스는, USB 및 PCI-E 중 적어도 하나의 물리적 인터페이스를 포함할 수 있다.
일 측에 따른 차지 스토리지 메모리 장치의 신뢰성 검증 방법은, 차지 스토리지 메모리 칩을 제어하는 컨트롤러의 동작 모드를 결정하는 단계; 및 상기 동작 모드에 따라, 상기 컨트롤러와 상기 차지 스토리지 메모리 칩 사이의 제1 경로 및 상기 컨트롤러와 외부 장치의 테스트 에뮬레이터 사이의 제2 경로 중 적어도 하나를 선택적으로 활성화하는 단계를 포함한다.
일 측에 따른 신뢰성 검증 시스템은, 상기 차지 스토리지 메모리 장치; 및 상기 차지 스토리지 메모리 장치의 컨트롤러를 검증하는 외부 장치를 포함하고, 상기 차지 스토리지 메모리 장치는, 차지 스토리지 메모리 칩, 상기 차지 스토리지 메모리 칩을 제어하는 컨트롤러, 외부 장치와의 통신을 위한 외부 인터페이스를 지원하는 통신 모듈, 노멀 모드를 위한 제1 커넥터, 및 테스트 모드를 위한 제2 커넥터를 포함한다.
도 1은 일 실시예에 따른 노멀 모드의 동작을 설명하는 도면.
도 2는 일 실시예에 따른 테스트 모드의 동작을 설명하는 도면.
도 3은 다른 실시예에 따른 노멀 모드의 동작을 설명하는 도면.
도 4는 다른 실시예에 따른 테스트 모드의 동작을 설명하는 도면.
도 5 및 도 6은 또 다른 실시예에 따른 하이브리드 모드의 동작을 설명하는 도면들.
도 7은 일 실시예에 따른 호스트에 의해 전송된 명령을 처리하는 차지 스토리지 메모리 장치의 컨트롤러 동작 방법을 나타낸 동작 흐름도.
도 8은 일 실시예에 따른 차지 스토리지 메모리 장치의 이전 동작 모드에 의한 모드 제어 모듈의 동작 방법을 나타낸 동작 흐름도.
도 9는 일 실시예에 따른 차지 스토리지 메모리 장치의 동작 모드 전환을 나타낸 상태도.
도 10은 일 실시예에 따른 테스트 에뮬레이터와 연동한 플래시 메모리 저장 장치의 신뢰성 검증 방법을 나타낸 동작 흐름도.
본 명세서에서 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 노멀 모드의 동작을 설명하는 도면이다.
도 1을 참조하면 일 실시예에 따른 차지 스토리지 메모리 장치(110)는 통신 모듈(111), 모드 제어 모듈(112), 컨트롤러(113), 스위칭 모듈(114), 및 차지 스토리지 메모리 칩(115)을 포함한다. 컨트롤러(113)는 차지 스토리지 메모리 칩(115)을 제어한다. 일 실시예에 따른 차지 스토리지 메모리 장치(110)는 내부의 컨트롤러(113)의 신뢰성을 검증하는 기능을 제공할 수 있다.
차지 스토리지 메모리 장치(110)는 외부 장치(120)와 외부 인터페이스(130)를 통하여 연결된다. 외부 인터페이스(130)는 USB 또는 PCI-E 등의 규격을 만족하는 하나의 물리적 라인일 수 있다.
통신 모듈(111)은 외부 장치(120)와 통신하는 모듈이다. 통신 모듈(111)은 외부 인터페이스(130)를 통하여 외부 장치(120)로부터 전송된 신호를 수신한다. 예를 들어, 통신 모듈(111)은 호스트(121)에 의하여 전송된 신호를 수신할 수 있다.
호스트(121)는 차지 스토리지 메모리 장치(110)의 일반적인 동작(프로그램, 리드, 이레이즈 등)과 관련된 제1 유형의 신호 및/또는 차지 스토리지 메모리 장치(110)의 모드 제어와 관련된 제2 유형의 신호를 전송할 수 있다. 제2 유형의 신호는 노멀 모드(normal mode) 및 테스트 모드(test mode) 중 어느 하나를 지시하는 신호일 수 있다.
통신 모듈(111)은 호스트(121)로부터 전송된 신호의 유형을 판단할 수 있다. 예를 들어, 통신 모듈(111)은 호스트(121)로부터 전송된 신호를 파싱(parsing)함으로써, 그 신호의 유형을 판단할 수 있다.
통신 모듈(111)은 수신된 신호의 유형에 따라, 해당 신호를 적절한 곳으로 전달할 수 있다. 일 예로, 통신 모듈(111)은 수신된 신호의 유형이 차지 스토리지 메모리 장치의 일반적인 동작과 관련된 제1 유형이라고 판단하는 경우, 해당 신호를 컨트롤러(113)로 전달할 수 있다. 다른 예로, 통신 모듈(111)은 수신된 신호의 유형이 모드 제어와 관련된 제2 유형이라고 판단하는 경우, 해당 신호를 모드 제어 모듈(112)로 전달할 수 있다.
또한, 통신 모듈(111)은 컨트롤러(113)에 의하여 출력된 신호를 외부 인터페이스(130)를 통하여 호스트(121)로 전달할 수도 있다.
모드 제어 모듈(112)은 제2 유형의 신호에 따라 통신 모듈(111) 및 스위칭 모듈(114)을 제어한다. 예를 들어, 제2 유형의 신호가 노멀 모드를 지시하는 경우, 모드 제어 모듈(112)은 차지 스토리지 메모리 장치(110)가 일반적인 메모리 장치와 실질적으로 동일하게 동작하도록, 통신 모듈(111) 및 스위칭 모듈(114)을 제어한다. 노멀 모드는 차지 스토리지 메모리 칩(115)에 대한 프로그램, 리드, 이레이즈 등의 데이터 처리 동작을 수행하는 동작 모드이다. 추후 상세히 설명되겠으나, 테스트 모드는 차지 스토리지 메모리 장치(110)를 테스트하기 위한 모드로, 예컨대 컨트롤러(113)의 신뢰성을 검증하는 동작 모드일 수 있다.
노멀 모드에서, 통신 모듈(111)은 호스트(121)에 의하여 전송된 신호를 컨트롤러(113)로 전달할 수 있다. 스위칭 모듈(114)은 컨트롤러(113)와 차지 스토리지 메모리 칩(115)을 연결하기 위한 제1 커넥터; 및 컨트롤러(113)와 테스트 에뮬레이터(122)를 연결하기 위한 제2 커넥터를 포함할 수 있다. 스위칭 모듈(114)은 제1 커넥터 및 제2 커넥터 중 적어도 하나를 선택적으로 활성화 할 수 있다. 노멀 모드에서, 스위칭 모듈(114)은 제1 커넥터를 활성화함으로써 컨트롤러와 차지 스토리지 메모리 칩(115)을 연결할 수 있다.
호스트(121)에 의하여 전송된 명령을 수행하기 위하여, 컨트롤러(113)는 제어 신호를 출력할 수 있다. 컨트롤러(113)의 제어 신호에 따라 차지 스토리지 메모리 칩(115)에서 프로그램, 리드, 이레이즈 등의 동작이 수행될 수 있다. 프로그램, 리드, 이레이즈 등의 동작이 수행된 결과는 스위칭 모듈(114)의 제1 커넥터를 거쳐 컨트롤러(113)로 반환되고, 컨트롤러(113)는 통신 모듈(111)을 통하여 동작 수행 결과를 호스트(121)로 반환할 수 있다.
도 2는 일 실시예에 따른 테스트 모드의 동작을 설명하는 도면이다.
도 2를 참조하면, 제2 유형의 신호가 테스트 모드를 지시하는 경우, 모드 제어 모듈(112)은 차지 스토리지 메모리 장치(110)가 차지 스토리지 메모리 칩(115) 대신 테스트 에뮬레이터(122)와 연동되도록, 통신 모듈(111) 및 스위칭 모듈(114)을 제어한다.
테스트 모드에서, 외부 인터페이스(130)는 복수의 논리적 채널들을 포함하도록 구성될 수 있다. 예를 들어, 호스트(121)와 통신 모듈(111) 사이를 연결하는 호스트 인터페이스는 외부 인터페이스(130)를 이용하여 형성된 제1 논리적 채널에 해당하고, 테스트 에뮬레이터(122)와 통신 모듈(111) 사이를 연결하는 시그널링 인터페이스는 외부 인터페이스(130)를 이용하여 형성된 제2 논리적 채널에 해당할 수 있다.
여기서, 외부 장치(120)는 호스트(121) 및 테스트 에뮬레이터(122)를 포함하는 개념으로, 호스트(121)와 테스트 에뮬레이터(122)는 서로 연결되어 필요한 신호를 주고 받을 수 있다. 실시예에 따라 테스트 에뮬레이터(122)가 호스트(121)에 포함되는 형태로 구현될 수도 있으며, 이 경우 외부 장치(120)는 호스트(121)를 지칭할 수도 있다.
테스트 모드에서, 통신 모듈(111)은 제1 논리적 채널을 통하여 수신되는 신호를 컨트롤러(113)로 전달할 수 있다. 또한, 통신 모듈(111)은 제2 논리적 채널을 스위칭 모듈(114)의 제2 커넥터와 연결할 수 있다. 스위칭 모듈(114)은 제2 커넥터를 활성화함으로써 컨트롤러(113)를 차지 스토리지 메모리 칩(115) 대신 테스트 에뮬레이터(122)와 연결시킬 수 있다.
호스트(121)에 의하여 전송된 명령을 수행하기 위하여, 컨트롤러(113)는 제어 신호를 출력할 수 있다. 컨트롤러(113)의 제어 신호는 스위칭 모듈(114)의 제2 커넥터, 통신 모듈(111), 및 외부 인터페이스(130) 내 제2 논리적 채널을 통하여 테스트 에뮬레이터(122)로 전달될 수 있다. 컨트롤러(113)의 제어 신호에 따라 테스트 에뮬레이터(122)에서 프로그램, 리드, 이레이즈 등의 동작이 에뮬레이션 될 수 있다. 프로그램, 리드, 이레이즈 등의 동작이 에뮬레이션 된 결과는 외부 인터페이스(130) 내 제2 논리적 채널, 통신 모듈(111), 및 스위칭 모듈(114)의 제2 커넥터를 거쳐 컨트롤러(113)로 반환되고, 컨트롤러(113)는 통신 모듈(111), 및 외부 인터페이스(130) 내 제1 논리적 채널을 통하여 에뮬레이션 결과를 호스트(121)로 반환할 수 있다.
차지 스토리지 메모리 장치는 차지 스토리지의 형태에 따라 다양하게 구현될 수 있다. 예를 들어, 차지 스토리지 메모리 장치는 플로팅 게이트(floating gate) 구조의 플래시 메모리 장치, 또는 차지 트래핑(charge trapping) 구조의 플래시 메모리 장치 등을 포함할 수 있다. 플로팅 게이트 구조의 플래시 메모리 장치는 일반적인 플로팅 게이트 트랜지스터를 이용하는 플래시 메모리 장치, FAMOS(Floating-gate Avalanche Metal Oxide Semiconductor)를 이용하는 플래시 메모리 장치, 스택 게이트(stacked gate) 트랜지스터를 이용하는 플래시 메모리 장치 등을 포함할 수 있다. 차지 트래핑 구조의 플래시 메모리 장치는 전하를 저장하기 위해 플로팅 게이트 구조가 아니라 절연체인 질화 규소 필름(silicon nitride film)을 사용할 수 있다. 차지 트래핑 구조의 플래시 메모리 장치는 SONOS(Semiconductor Oxide Nitride Oxide Semiconductor)를 이용하는 플래시 메모리 장치, MNOS(Metal Nitride Oxide Semiconductor)를 이용하는 플래시 메모리 장치 등을 포함할 수 있다.
또한, 차지 스토리지 메모리 장치는 낸드(NAND) 구조 또는 노어(NOR) 구조로 구성될 수 있다. 예를 들어, 차지 스토리지 메모리 장치는 패키지(package) 형태로 제조된 낸드 플래시 메모리 장치 또는 노어 플래시 메모리 장치 등을 포함할 수 있다. 차지 스토리지 메모리 장치는 일반적인 플래시 메모리 장치들과 마찬가지로 이레이즈(erase) 동작, 프로그램(program) 동작, 및 리드(read) 동작을 수행할 수 있다. 해당 분야에서 통상의 지식을 가진 자라면 차지 스토리지 메모리 칩, 전압 생성부, 및 컨트롤러를 이용하여 이레이즈 동작, 프로그램 동작, 및 리드 동작을 용이하게 수행시킬 수 있음은 자명하다.
일 실시예에 따르면, 차지 스토리지 메모리 장치(110)는 호스트 인터페이스를 통하여 호스트(121)의 요청을 받고, 호스트(121)에게 그 결과를 반환할 수 있다. 노멀 모드, 예를 들어 테스트 모드가 아닌 정상 모드에서, 차지 스토리지 메모리 장치의 컨트롤러(113)는 호스트 요청 처리를 위하여 호스트의 요청을 분석하고, 이를 처리하는데 필요한 차지 스토리지 메모리 작업 요청이나 데이터를 차지 스토리지 메모리 장치 내부의 차지 스토리지 메모리 칩(115)으로 전달할 수 있다. 차지 스토리지 메모리 칩(115)의 동작 결과나 데이터는 다시 컨트롤러(113)로 전달될 수 있다. 이 경우, 모드 제어 모듈(112)은 스위칭 모듈(114)을 이용하여 컨트롤러(113)와 차지 스토리지 메모리 칩(115) 사이의 제1 경로를 활성화하고, 동시에 컨트롤러(113)와 테스트 에뮬레이터 사이의 제2 경로를 비활성화할 수 있다.
호스트(121)로부터 테스트 모드를 시작하라는 요청이 전송되면, 모드 제어 모듈(112)은 스위칭 모듈(114)을 이용하여 제2 경로를 활성화하여 컨트롤러(113)의 신뢰성을 검증하는 테스트를 수행할 수 있다. 여기서, 제2 경로는 적어도 하나의 차지 스토리지 메모리 칩(115)을 바이패스(bypass)하면서 제2 커넥터를 통하여 컨트롤러(113)와 테스트 에뮬레이터(122) 사이를 연결하는 경로일 수 있다. 예를 들어, 제2 경로는 차지 스토리지 메모리 칩(115)을 경유하지 않고 컨트롤러(113)와 테스트 에뮬레이터(122)을 연결하는 경로일 수 있다. 모드 제어 모듈(112)은 스위칭 모듈(114)을 이용하여 제2 경로를 활성화시키는 경우, 제1 경로를 배타적으로 비활성화할 수 있다. 컨트롤러(113)는 하드웨어 컨트롤러와 관리 소프트웨어를 포함할 수 있고, 하드웨어 컨트롤러, 관리 소프트웨어, 차지 스토리지 메모리 칩(115) 등은 상호간 긴밀하게 연관될 수 있다. 이러한 컨트롤러(113)의 동작 과정에 대한 자세한 사항은 후술한다.
한편, 테스트 에뮬레이터(122)는 차지 스토리지 메모리 칩(115)의 동작을 에뮬레이션 할 수 있다. 따라서, 사용자는 완성품인 차지 스토리지 메모리 장치의 동작에 대하여 다양한 테스트들을 수행할 수 있다. 이러한 테스트들은 차지 스토리지 메모리 칩(115)이 정상적으로 동작할 때를 상정한 테스트뿐만 아니라, 배드 블록 및 비트 반전 에러 등 차지 스토리지 메모리 칩(115)이 비정상적으로 동작할 때를 상정한 테스트도 포함한다. 테스트 에뮬레이터(122)은 비정상 상황에 대한 오류들을 원하는 시점에 투입할 수 있다. 이러한 테스트 에뮬레이터(122)은 차지 스토리지 메모리 장치의 외부에 위치하여 신뢰성 검증 단계에서만 차지 스토리지 메모리 장치와 연동할 수 있다. 테스트 에뮬레이터(122)의 내부 구성에 대한 자세한 사항은 후술한다.
일 실시예에 따른 차지 스토리지 메모리 장치는 차지 스토리지 메모리 칩(115)의 오류들을 차지 스토리지 메모리 장치 내부적으로 처리하여 외부에서는 정상적으로 사용할 수 있도록, 비정상 상황에 대한 테스트의 수행이 가능한 테스트 환경을 제공할 수 있다. 예를 들어, 차지 스토리지 메모리 장치(110)는 실제 차지 스토리지 메모리 칩(115), 하드웨어 컨트롤러, 및 관리 소프트웨어 등을 장착한 완성품으로서의 차지 스토리지 메모리 장치를 최종 결과물 상태 그대로 두면서 폴트 투입과 통제가 가능한 테스트 환경을 제공할 수 있다.
일 실시예에 따른 차지 스토리지 메모리 장치는 차지 스토리지 메모리 장치 테스트 시에 실제 제품 기반 테스트와 시뮬레이션 기반 테스트 양 쪽의 장점, 예를 들어 테스트 결과의 신뢰도와 테스트 과정의 편의성을 모두 제공할 수 있다. 따라서 신뢰성 테스트 과정에 소요되는 비용을 최소화할 수 있고, 테스트 결과에 대한 신뢰도도 높아 제품 경쟁력을 높일 수 있다. 뿐만 아니라 개발 과정에서도 저장 장치 내의 모든 하드웨어나 소프트웨어 요소들을 최종 결과물 상태로 효과적으로 테스트할 수 있으므로 개발 과정에서 소요되는 시간도 단축할 수 있다.
일 실시예에 따른 차지 스토리지 메모리 장치(110)는 플래시 메모리 기반 저장 장치 제품들, 예를 들어 SSD, MMC/SD카드, eMMC/eSD 제품 군 일체 등으로 확장될 수 있고, 이들의 개발 과정 및 신뢰성 검증 테스트 전 과정에서 사용될 수 있다.
일 실시예에 따르면, 스위칭 모듈(114)은 컨트롤러(113)의 내부 및/또는 외부에 위치할 수 있다. 또한, 일 실시예에 따르면, 모드 제어 모듈(112)은 컨트롤러(113)의 내부 및/또는 외부에 위치할 수 있다. 일 예로, 모드 제어 모듈(112)이 컨트롤러(113)의 외부에 위치하는 경우, 컨트롤러(113)는 모드 제어 모듈(112)을 실제로 제어하여 테스트 시작과 종료 시에 바이패스 경로의 활성화 여부를 선택하는 동작 및 테스트 과정에서 전원 중단 후 재 공급 시 다시 바이패스 경로를 설정하는 동작이 수행되도록 할 수 있다. 다른 예로, 모드 제어 모듈(112)이 컨트롤러(113)의 내부에 위치하는 경우, 컨트롤러(113)는 테스트 시작과 종료 시에 바이패스 경로의 활성화 여부를 선택하는 동작 및 테스트 과정에서 전원 중단 후 재 공급 시 다시 바이패스 경로를 설정하는 동작을 직접 수행할 수 있다. 이러한 동작들에 대한 자세한 사항은 후술한다.
일 실시예에 따른 차지 스토리지 메모리 장치(110)는 PCI Express(PCI-E) 인터페이스를 포함할 수 있다. 예컨대, 일 실시예에 따른 차지 스토리지 메모리 장치(110)는 PCI Express 인터페이스를 갖는 SSD일 수 있다. 또한, 일 실시예에 따른 차지 스토리지 메모리 장치(110)는 NVM Express 명령을 지원할 수 있다.
테스트 모드를 위해, 테스트 에뮬레이터(122)는 통신 모듈(111)에게 비동기 이벤트 요청 명령(asynchronous event request)을 전송할 수 있다. 예컨대, 테스트 에뮬레이터(122)는 테스트 에뮬레이터(122)에 에러, 상태 및 벤더 고유 이벤트(vendor specific event)등의 특정 이벤트가 발생하였을 때, 비동기 이벤트 요청 명령을 전송할 수 있다.
앞서 언급된 것처럼, 호스트(121)는 차지 스토리지 메모리 장치(110)의 모드 제어와 관련된 제2 유형의 신호를 전송할 수 있다. 제2 유형의 신호는 노멀 모드 및 테스트 모드 중 어느 하나를 지시하는 신호일 수 있다. 예컨대, 제2 유형의 신호가 노멀 모드를 지시하는 경우, 모드 제어 모듈(112)은 차지 스토리지 메모리 장치(110)가 일반적인 메모리 장치와 실질적으로 동일하게 동작하도록, 통신 모듈(111) 및 스위칭 모듈(114)을 제어할 수 있다. 또한, 제2 유형의 신호가 테스트 모드를 지시하는 경우, 모드 제어 모듈(112)은 스위칭 모듈(114)을 이용하여 제2 경로를 활성화하여 컨트롤러(113)의 신뢰성을 검증하는 테스트를 수행할 수 있다. 제2 유형의 신호는 벤더 고유 명령일 수 있다.
제2 유형의 신호는 차지 스토리지 메모리 장치(110)의 동작 모드를 유지하기 위하여 별도로 저장될 수 있다. 차지 스토리지 메모리 장치(110)의 전원이 중단되는 것을 대비하여, 차지 스토리지 메모리 장치(110)의 동작 모드를 유지하기 위하여 제2 유형의 신호는 컨트롤러(113) 또는 모드 제어 모듈(112)에 의해 저장될 수 있다. 일례로, 통신 모듈(111)은 제2 유형의 신호를 컨트롤러(113)에 전달할 수 있고, 컨트롤러(113)는 제2 유형의 신호를 메모리에 저장할 수 있다. 다른 예로, 통신 모듈(111)은 제2 유형의 신호를 모드 제어 모듈(112)에 전달할 수 있고, 제어 모듈(112)은 제2 유형의 신호를 메모리에 저장할 수 있다.
호스트(121)는 통신 모듈(111)에 제1 유형의 신호를 전송할 수 있다. 통신 모듈(111)은 제1 유형의 신호를 컨트롤러(113)에 전달할 수 있다. 컨트롤러(113)는 논리-물리 사상 테이블(logical-to-physical mapping table)을 참조하여, 제1 유형의 신호를 플래시 연산 명령으로 변환할 수 있다. 예컨대, 컨트롤러(113)는 시작 블록 주소와 전송해야 할 블록의 수에 기초하여 하나 이상의 플래시 연산 명령을 생성할 수 있다. 일 측에 따르면, 플래시 연산 명령은 채널, 버스, 다이, 플레인, 블록 및 페이지 등의 주소; 및 플래시 페이지 리드(Flash page read), 플래시 페이지 프로그램(Flash page program) 및 플래시 블록 이레이즈(Flash block erase) 등의 연산을 포함할 수 있다. 컨트롤러(113)는 플래시 연산 명령을 스위칭 모듈(114)로 전달할 수 있다.
노멀 모드에서, 스위칭 모듈(114)은 차지 스토리지 메모리 칩(115)을 선택할 수 있다. 이 때, 스위칭 모듈(114)은 플래시 연산 명령을 차지 스토리지 메모리 칩(115)으로 전달할 수 있다. 또한, 테스트 모드에서, 스위칭 모듈(114)은 테스트 에뮬레이터(122)를 선택할 수 있다. 이 때, 스위칭 모듈(114)은 플래시 연산 명령을 통신 모듈(111)로 전달할 수 있다.
테스트 모드에서, 통신 모듈(111)은 스위칭 모듈(114)로부터 플래시 연산 명령을 전달 받을 수 있다. 통신 모듈(111)은 플래시 연산 명령을 벤더 고유 로그 페이지에 추가할 수 있다. 또한, 통신 모듈(111)은 테스트 에뮬레이터(122)에게 비동기 이벤트가 발생하였음을 알릴 수 있다. 일 측에 따르면, 통신 모듈(111)은 명령 완료 큐(command completion queue)를 통해 테스트 에뮬레이터(122)에게 비동기 이벤트가 발생하였음을 알릴 수 있다. 통신 모듈(111)과 테스트 에뮬레이터(122)는 상기 명령 완료 큐를 공유할 수 있다. 예컨대, 통신 모듈(111)은 명령 완료 큐에 명령 완료 개체(command completion entry)를 추가하고, 명령 완료 개체의 로그 페이지 식별자에 플래시 연산 명령이 포함된 벤더 고유 로그 페이지의 식별자를 기입할 수 있다.
테스트 에뮬레이터(122)는 명령 완료 큐에 새롭게 추가된 명령 완료 개체를 파싱하고, 플래시 연산 명령에 대한 요청이 왔음을 알 수 있다. 테스트 에뮬레이터(122)는 요청된 플래시 연산이 어떤 것인지를 알기 위해 로그 페이지 읽기 명령(예컨대, Get Log Page)을 통신 모듈(111)에 전달할 수 있다. 로그 페이지 읽기 명령은 읽을 로그 페이지 식별자를 포함할 수 있다. 예컨대, 테스트 에뮬레이터(122)는 상기 로그 페이지 식별자로 앞서 플래시 연산이 담겨 있는 벤더 고유 로그 페이지 식별자를 기재할 수 있다.
통신 모듈(111)은 테스트 에뮬레이터(122)로부터 플래시 연산이 담겨 있는 로그 페이지를 읽으라는 명령을 수신할 수 있고, 플래시 연산이 담겨 있는 페이지의 데이터를 테스트 에뮬레이터(122)로 전송할 수 있다. 테스트 에뮬레이터(122)는 데이터에서 플래시 연산을 파악하고, 플래시 연산이 플래시 페이지 프로그램인 경우 및 플래시 페이지 리드인 경우에는 각각 스토리지에게 프로그램 및 리드 명령을 전달하여 데이터를 테스트 에뮬레이터(122)에 저장하거나, 테스트 에뮬레이터(122)에서 통신 모듈(111)로 전달할 수 있다.
도 3은 다른 실시예에 따른 노멀 모드의 동작을 설명하는 도면이다.
도 3을 참조하면, 일 실시예에 따른 컨트롤러(113)는 적어도 하나의 네임 스페이스를 포함할 수 있다. 네임 스페이스(name space)는 차지 스토리지 메모리 칩(115)에 의한 하나의 물리적 메모리 공간을 복수의 논리적 주소 공간들로 파티셔닝(partitioning)할 수 있다.
호스트(121)는 컨트롤러(113)에 적어도 하나의 네임 스페이스를 생성하는 요청을 전송할 수 있다. 적어도 하나의 네임 스페이스는 연속된 논리적인 블록들로 구성될 수 있다. 호스트(121)는 차지 스토리지 메모리 장치(110)에 명령을 전송할 때 네임 스페이스 식별자를 지정할 수 있다. 이 경우, 호스트(121)로부터 전달된 명령은 컨트롤러(113)에 포함된 적어도 하나의 네임 스페이스 중 지정된 네임 스페이스에 의해 처리될 수 있다.
호스트(121)는 특정 네임 스페이스를 지정하여 노멀 모드 또는 테스트 모드로 동작하도록 요청할 수 있다. 예를 들어, 호스트(121)는 제1 네임 스페이스가 노멀 모드로 동작하도록 요청하는 신호를 전송할 수 있다. 이 경우, 제1 네임 스페이스를 이용하는 명령들은 도 1에서 설명된 것과 같이 처리될 수 있다.
도 4는 다른 실시예에 따른 테스트 모드의 동작을 설명하는 도면이다.
도 4를 참조하면, 호스트(121)는 제n 네임 스페이스가 테스트 모드로 동작하도록 요청하는 신호를 전송할 수 있다. 이 경우, 제n 네임 스페이스를 이용하는 명령들은 도 2에서 설명된 것과 같이 처리됨으로써 제n 네임 스페이스의 신뢰성을 검증하는 테스트가 수행될 수 있다.
도 3의 동작과 도 4의 동작은 시분할 방식으로 교차 수행될 수 있다. 이 경우, 모드 제어 모듈(112)은 호스트(121)로부터 전송되는 제2 유형의 신호에 따라 통신 모듈(111) 및 스위칭 모듈(114)을 적절하게 제어할 수 있다.
도 5 및 도 6은 또 다른 실시예에 따른 하이브리드 모드의 동작을 설명하는 도면들이다.
도 5를 참조하면, 차지 스토리지 메모리 장치(110)는 복수의 스위칭 모듈들(114-1, 114-2)을 포함한다. 복수의 스위칭 모듈들(114-1, 114-2)은 복수의 네임 스페이스들에 대응할 수 있다.
호스트(121)는 복수의 네임 스페이스들을 지정하여 노멀 모드 또는 테스트 모드로 동작하도록 요청할 수 있다. 예를 들어, 호스트(121)는 제1 네임 스페이스가 노멀 모드로 동작하도록 요청하는 신호를 전송할 수 있다. 또한, 호스트(121)는 제n 네임 스페이스가 테스트 모드로 동작하도록 요청하는 신호를 전송할 수 있다.
이 경우, 제1 네임 스페이스를 이용하는 명령들은 도 3에서 설명된 것과 같이 처리될 수 있다. 실질적으로 이와 동시에, 제n 네임 스페이스를 이용하는 명령들은 도 4에서 설명된 것과 같이 처리될 수 있다.
도 6을 참조하면, 호스트(121)는 제1 네임 스페이스가 테스트 모드로 동작하도록 요청하는 신호 및 제n 네임 스페이스가 노멀 모드로 동작하도록 요청하는 신호를 전송할 수 있다. 이 경우, 제1 네임 스페이스를 이용하는 명령들은 도 4에서 설명된 것과 같이 처리되고, 실질적으로 이와 동시에, 제n 네임 스페이스를 이용하는 명령들은 도 3에서 설명된 것과 같이 처리될 수 있다.
도 7은 일 실시예에 따른 호스트에 의해 전송된 명령을 처리하는 차지 스토리지 메모리 장치의 컨트롤러 동작 방법을 나타낸 동작 흐름도이다.
도 7을 참조하면, 일 실시예에 따른 차지 스토리지 메모리 장치의 통신 모듈은 호스트 인터페이스를 통하여 호스트에 의한 명령을 전송(410)받는다. 차지 스토리지 메모리 장치의 모드 제어 모듈은 전송된 호스트 명령을 확인(420)하여 테스트 모드를 시작하라는 요청(421)인지 종료하라는 요청(422)인지 여부를 판단할 수 있다.
전송된 호스트 명령이 테스트 모드를 시작하라는 요청(421)인 경우, 모드 제어 모듈은 차지 스토리지 메모리 장치의 동작 모드가 테스트 모드가 되었음을 나타내는 정보를 저장(430)한다. 이 때, 모드 제어 모듈은 차지 스토리지 메모리 장치의 동작 모드가 테스트 모드가 되었음을 나타내는 정보를 차지 스토리지 메모리 장치 내 적어도 하나의 차지 스토리지 메모리 칩에 저장할 수 있다. 저장된 정보는 추후에 차지 스토리지 메모리 장치의 이전 동작 모드를 확인하는 데 사용되며, 이에 대한 자세한 사항은 후술한다. 이어서, 모드 제어 모듈은 바이패스(bypass) 경로인 제2 경로를 활성화(동시에, 제1 경로를 비활성화)하고(440), 테스트 모드에 진입하여 호스트의 요청을 처리할 수 있다(450). 테스트 모드에 진입하여 호스트의 요청을 처리하는 것은 차지 스토리지 메모리 장치의 컨트롤러가 제2 경로를 통하여 테스트 에뮬레이터와 연결되어 차지 스토리지 메모리 장치의 컨트롤러의 신뢰성을 테스트하는 것을 의미한다.
전송된 호스트 명령이 테스트 모드를 종료하라는 요청(422)인 경우, 모드 제어 모듈은 제1 경로를 활성화(동시에, 제2 경로를 비활성화)하고(435), 차지 스토리지 메모리 장치의 동작 모드가 노멀 모드가 되었음을 나타내는 정보를 저장(445)한다. 마찬가지로, 모드 제어 모듈은 차지 스토리지 메모리 장치의 동작 모드가 노멀 모드가 되었음을 나타내는 정보를 차지 스토리지 메모리 장치 내 적어도 하나의 차지 스토리지 메모리 칩에 저장할 수 있다. 저장된 정보는 추후에 차지 스토리지 메모리 장치의 이전 동작 모드를 확인하는 데 사용되며, 이에 대한 자세한 사항은 후술한다. 이어서, 컨트롤러는 일반 동작 모드에 진입하여 호스트의 요청을 처리할 수 있다(450). 일반 동작 모드에 진입하여 호스트의 요청을 처리하는 것은 차지 스토리지 메모리 장치의 컨트롤러가 제1 경로를 통하여 차지 스토리지 메모리 장치 내 차지 스토리지 메모리 칩과 연결되어 차지 스토리지 메모리 장치의 본래 기능을 수행하는 것을 의미한다.
도 8은 일 실시예에 따른 차지 스토리지 메모리 장치의 이전 동작 모드에 의한 모드 제어 모듈의 동작 방법을 나타낸 동작 흐름도이다.
도 8을 참조하면, 일 실시예에 따른 차지 스토리지 메모리 장치의 모드 제어 모듈은 전원이 공급되거나 시스템이 재 시작되는 경우(510), 차지 스토리지 메모리 장치의 이전 동작 모드를 확인(520)한다. 이 때, 모드 제어 모듈은 차지 스토리지 메모리 장치 내 차지 스토리지 메모리 칩에 저장되어 있는 정보를 기초로 차지 스토리지 메모리 장치의 이전 동작 모드를 확인할 수 있다.
또한, 차지 스토리지 메모리 장치에 처음으로 전원이 공급되는 경우를 대비하기 위하여 차지 스토리지 메모리 칩에 저장되어 있는 정보를 차지 스토리지 메모리 장치의 생산 단계에서 일반 동작 모드 내지 테스트 모드로 초기화할 수 있다.
확인된 차지 스토리지 메모리 장치의 이전 동작 모드가 테스트 모드(521)인 경우, 모드 제어 모듈은 바이패스(bypass) 경로인 제2 경로를 활성화(동시에, 제1 경로를 비활성화)하고(530), 차지 스토리지 메모리 장치의 이전 동작 모드가 일반 동작 모드(522)인 경우, 모드 제어 모듈은 제1 경로를 활성화(동시에, 제2 경로를 비활성화)한다(535).
컨트롤러는 전원 중단 복구(crash recovery) 단계를 거쳐(540), 테스트 모드 내지 일반 동작 모드에 진입하여 호스트의 요청을 처리할 수 있다(550). 전원 중단 복구(crash recovery) 단계에서 컨트롤러는 기존의 차지 스토리지 메모리 장치의 컨트롤러가 시스템 재 시작 시 수행하는 것과 동일한 것을 이용할 수 있다.
도 9는 일 실시예에 따른 차지 스토리지 메모리 장치의 동작 모드 전환을 나타낸 상태도이다.
도 9를 참조하면, 일 실시예에 따른 차지 스토리지 메모리 장치의 동작 모드는 호스트로부터 테스트 모드 시작 요청(630)을 받으면 테스트 모드(620)로 전환되고, 호스트로부터 테스트 모드 종료 요청(640)을 받으면 일반 동작 모드(610)로 전환된다.
반면, 차지 스토리지 메모리 장치는 전원 중단으로 인하여는 동작 모드가 전환되지 아니한다(650). 이를 위하여, 모드 제어 모듈은 전원이 중단되기 전 현재 동작 모드를 저장하고, 전원 중단 후 시스템이 재 시작되더라도 저장한 정보를 기초로 함으로써, 이전 동작 모드와 동일한 동작 모드를 유지할 수 있다.
한편, 일 실시예에 따르면, 차지 스토리지 메모리 장치의 동작들은 소프트웨어 코드로 구현될 수 있다. 테스트 시작, 종료 시에 바이패스 경로의 활성화, 비활성화 제어를 담당하는 소프트웨어 코드와 저장 장치 전원 공급 시에 수행되는 소프트웨어 코드가 추가될 수 있다. 추가되는 코드들은 기존의 코드, 예를 들어 테스트 대상이 되는 부분들은 그대로 유지하므로 테스트 모드가 아닌 경우에는 기존과 동일한 동작을 수행할 수 있다. 따라서 소프트웨어 수행 시의 상태가 기존의 동작을 유지하는 일반 동작 모드와 테스트를 수행하는 테스트 모드로 크게 나누어 질 수 있다. 일단 테스트 모드에 진입하면 바이패스 경로를 활성화하여 내부의 차지 스토리지 메모리 칩 대신 바이패스를 거쳐 외부의 플래시 메모리 에뮬레이터를 사용할 수 있다. 테스트 과정에서 전원 중단 복구(crash recovery) 코드도 테스트 되어야 하므로 전원 중단 폴트 투입 시에도 테스트 모드를 유지할 필요가 있고, 따라서 전원 공급 시 일차적으로 사용하는 내부의 차지 스토리지 메모리 칩에 테스트 모드 진입 여부를 기록하였다가 이 모드에 따라 바이패스 활성화 여부를 결정할 수 있다.
도 10은 일 실시예에 따른 테스트 에뮬레이터와 연동한 플래시 메모리 저장 장치의 신뢰성 검증 방법을 나타낸 동작 흐름도이다.
도 10을 참조하면, 일 실시예에 따른 플래시 메모리 저장 장치의 신뢰성 검증 방법은 플래시 메모리 저장 장치의 테스트 시작 요청을 받는 단계(910), 테스트의 시작 여부를 기록하는 단계(920), 바이패스(bypass) 경로를 활성화하는 단계(930), 테스트 모드에서 호스트 요청을 처리하는 단계(940), 플래시 메모리 저장 장치의 테스트 종료 요청을 받는 단계(950), 바이패스(bypass) 경로를 비활성화하는 단계(960), 테스트의 종료 여부를 기록하는 단계(970), 테스트가 종료됨에 따라 일반 동작 모드에서 호스트 요청을 처리하는 단계(980), 전원이 중단되었다가 재 공급되는 단계(990), 저장되어 있는 테스트의 시작 여부를 확인하는 단계(991), 저장된 테스트의 시작 여부에 따라 바이패스(bypass) 경로를 활성화/비활성화 시키는 단계(992), 및 전원 중단 복구 단계(993)을 포함할 수 있다.
일 실시예에 따른 플래시 메모리 저장 장치의 신뢰성 검증을 수행하기 위해서, 플래시 메모리 저장 장치 내의 소프트웨어와 테스트 에뮬레이터가 서로 요청과 응답을 주고 받으며 동작할 수 있다. 테스트 에뮬레이터는 플래시 메모리의 기본 작업, 예를 들어 리드, 프로그램, 이레이즈 작업 수행과 추가적으로 각 작업 처리 중에 발생하는 폴트 및 플래시 메모리 작업과는 비동기적으로 외부에서 발생하는 폴트, 예를 들어 전원 중단 폴트 등을 투입할 수 있다. 각 폴트들은 에뮬레이터 설정에 따라 원하는 빈도로 원하는 시점에 투입되며 빈도를 조절함으로써 다양한 폴트 환경과 시나리오에 대한 테스트가 가능하다.
테스트가 시작되면 전술한 바와 같이 우선 테스트가 시작되었음을 나타내는 상태 정보를 내부 플래시 메모리 칩에 저장할 수 있다. 이는 테스트 중 전원이 중단되었다가 재 공급된 후 전원 중단 복구 과정에서도 외부 에뮬레이터를 계속 사용하기 위한 것이다. 테스트 모드 시작 여부를 저장한 뒤에는 바이패스 경로를 활성화하여 이후의 플래시 메모리 요청은 외부 에뮬레이터로 전달되도록 할 수 있다. 테스트 모드에서는 호스트의 리드, 프로그램 요청을 정상 모드에 있는 것과 동일한 코드로 동일한 방법으로 처리할 수 있다. 그러나 이 때 플래시 메모리 요청은 바이패스 경로를 거쳐 외부 에뮬레이터에서 처리될 수 있다.
에뮬레이터에서는 플래시 메모리 작업 요청에 대한 기본 동작을 처리하면서, 설정에 따라 폴트를 투입할 수 있다. 동기적인 폴트가 투입된 경우에는 에러 상태 정보나 비정상 데이터가 플래시 메모리 저장 장치로 전달되며, 비동기적인 전원 중단 폴트의 경우 실제로 플래시 메모리 저장 장치의 전원을 조작하거나 전원 중단 발생 여부를 플래시 메모리 저장 장치로 전달할 수 있다. 동기적 폴트는 플래시 메모리 저장 장치 내에서 처리되어 대부분의 경우 호스트로는 에러가 전달되지 않을 수 있다. 전원 중단의 경우 플래시 메모리 저장 장치는 전원 공급 시 컨트롤러의 테스트 모드 여부를 확인하여 테스트 모드임을 발견하고 바이패스 경로를 활성화 시킨다. 이후에 수행되는 전원 중단 복구 코드는 정상 모드와 동일한 것이 수행되며, 이 때에는 전원 중단 복구 코드가 테스트 대상이 된다. 복구가 완료되면 호스트 요청을 기다리는 상태로 이동하여 테스트를 계속할 수 있다.
테스트 과정에서 호스트 시스템에서는 플래시 메모리 저장 장치의 정상 동작 여부를 보다 자세히 확인하기 위하여 참조 상태를 테스트 대상 플래시 메모리 저장 장치 외의 저장 장치에 따로 유지하면서 주기적으로 양 쪽의 데이터를 비교해 볼 수 있다. 테스트 에뮬레이터에서는 내부 폴트를 발생시키면서 폴트를 발생시킨 블록이나 페이지들에 대한 상태 정보를 유지하면서, 배드 블록이 된 블록에 대하여 더 이상의 이레이즈나 프로그램 작업이 요청되지 않는 지와 같은 정확성 조건들을 검사할 수 있다.
테스트를 종료할 때에는 전술한 바와 같이 플래시 메모리 저장 장치로 명시적인 테스트 종료 요청을 보낼 수 있다. 플래시 메모리 저장 장치는 종료 요청을 받으면 바이패스 경로를 비활성화한 후 테스트가 종료되었음을 내부 플래시 메모리 칩에 저장할 수 있다. 이후에는 전원 중단이 발생하더라도 테스트 모드가 아닌 정상 모드에 있으므로 내부 플래시 메모리 칩을 이용하여 전원 중단 복구 작업을 수행하며, 호스트 요청 처리 역시 내부 플래시 메모리 칩에서 수행될 수 있다.
일 실시예에 따른 테스트 에뮬레이터와 연동한 플래시 메모리 저장 장치의 신뢰성 검증 방법은 플래시 메모리 저장 장치의 기본 요구 조건으로서 현재까지 쓰여진 데이터가 쓰여진 그대로 읽혀지는지; 및 전원 결함 발생 시 처리 중이던 프로그램 작업이 원자적으로 처리되는지 등을 테스트 할 수 있다. 전자의 경우 테스트 파라미터는 배드 블록 발생 회수, 페이지 별 비트 반전 에러 발생 비트 수가 될 수 있고, 후자의 경우 테스트 파라미터는 전원 결함 발생 비율이 될 수 있다.
또한, 일 실시예에 따른 테스트 에뮬레이터와 연동한 플래시 메모리 저장 장치의 신뢰성 검증 방법은 플래시 메모리 칩의 특성과 관련된 요구 조건으로서 배드 블록이 된 블록에 대하여는 더 이상 프로그램 요청이 오지 않는지; 한 블록 내의 페이지들에 대하여는 순차적으로 프로그램 하는지; 및 허용된 프로그램 회수 이하로만 프로그램 하는지 등을 테스트 할 수 있다. 허용된 프로그램 회수 이하로만 프로그램 하는지에 대한 테스트에서 테스트 파라미터는 페이지 별 최대 프로그램 회수가 될 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 비록 한정된 도면에 의해 실시예들이 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 차지 스토리지 메모리 칩;
    상기 차지 스토리지 메모리 칩을 제어하는 컨트롤러;
    호스트 및 테스트 에뮬레이터를 포함하는 외부 장치와의 통신을 위한 외부 인터페이스를 지원하는 통신 모듈;
    노멀 모드를 위한 제1 커넥터 및 테스트 모드를 위한 제2 커넥터 중 적어도 하나를 선택적으로 활성화하는 스위칭 모듈; 및
    동작 모드가 상기 노멀 모드인지 또는 상기 테스트 모드인지에 따라 상기 통신 모듈과 상기 스위칭 모듈을 제어하는 모드 제어 모듈
    을 포함하고,
    상기 통신 모듈은 상기 외부 장치로부터 수신된 제1 유형의 신호를 상기 컨트롤러로 전송하고, 상기 외부 장치로부터 수신된 제2 유형의 신호를 모드 제어 모듈로 전송하고,
    상기 모드 제어 모듈은 상기 제2 유형의 신호가 상기 노멀 모드를 지시하는 경우 상기 제1 커넥터를 통해 상기 컨트롤러와 상기 차지 스토리지 메모리 칩 사이의 제1 경로를 활성화하고, 상기 제2 유형의 신호가 상기 테스트 모드를 지시하는 경우 상기 제2 커넥터를 통해 상기 컨트롤러와 상기 통신 모듈 사이의 제2 경로를 활성화하고,
    상기 테스트 모드는 상기 통신 모듈이 상기 테스트 에뮬레이터에 발생한 이벤트에 기초하여 상기 테스트 에뮬레이터로부터 수신된 비동기 이벤트 요청 명령을 상기 호스트로 전달하고, 상기 호스트가 상기 비동기 이벤트 요청 명령에 기초하여 상기 테스트 모드를 지시하는 상기 제2 유형의 신호를 상기 통신 모듈로 전송함에 따라 수행되고,
    상기 테스트 모드에서,
    상기 컨트롤러는 상기 제1 유형의 신호를 플래시 연산 명령으로 변환하여 상기 제2 경로를 통해 상기 통신 모듈로 전달하고,
    상기 통신 모듈은 상기 전달된 플래시 연산 명령을 벤더 고유 로그 페이지에 추가하고,
    상기 통신 모듈은 명령 완료 큐에 명령 완료 개체를 추가하고, 상기 명령 완료 개체의 로그 페이지 식별자에 상기 플래시 연산 명령이 포함된 상기 벤더 고유 로그 페이지의 식별자를 기입하여 상기 테스트 에뮬레이터에게 비동기 이벤트가 발생하였음을 알리고,
    상기 테스트 에뮬레이터는 상기 명령 완료 큐에서 상기 명령 완료 개체를 파싱하여 상기 플래시 연산 명령을 인지하는,
    차지 스토리지 메모리 장치.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 외부 인터페이스는,
    상기 테스트 모드에서 복수의 논리적 채널을 포함하는,
    차지 스토리지 메모리 장치.
  6. 제5항에 있어서,
    상기 복수의 논리적 채널은 상기 호스트와 상기 통신 모듈 사이를 연결하는 제1 논리적 채널 및 상기 테스트 에뮬레이터와 상기 통신 모듈 사이를 연결하는 제2 논리적 채널을 포함하는,
    차지 스토리지 메모리 장치.
  7. 제1항에 있어서,
    상기 제1 커넥터 및 상기 제2 커넥터 중 적어도 하나를 선택적으로 활성화하는 스위칭 모듈을 더 포함하는, 차지 스토리지 메모리 장치.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 제1항에 있어서,
    상기 컨트롤러는 적어도 하나의 네임 스페이스를 포함하고,
    상기 적어도 하나의 네임 스페이스 각각은 상기 노멀 모드 또는 상기 테스트 모드 중 어느 하나의 모드로 동작하는,
    차지 스토리지 메모리 장치.
  13. 제12항에 있어서,
    상기 적어도 하나의 네임 스페이스 각각이 상기 노멀 모드 또는 상기 테스트 모드 중 어느 하나의 모드로 동작하도록, 상기 제1 커넥터 및 상기 제2 커넥터 중 적어도 하나를 선택적으로 활성화하는 복수의 스위칭 모듈을 더 포함하는,
    차지 스토리지 메모리 장치.
  14. 제1항에 있어서,
    상기 외부 인터페이스는,
    USB 및 PCI-E 중 적어도 하나의 물리적 인터페이스를 포함하는,
    차지 스토리지 메모리 장치.
  15. 통신 모듈이 외부 인터페이스를 통해 호스트 및 테스트 에뮬레이터를 포함하는 외부 장치로부터 신호를 수신하는 단계;
    상기 신호의 유형이 제1 유형인 경우, 상기 통신 모듈이 상기 제1 유형의 신호를 차지 스토리지 메모리 칩을 제어하는 컨트롤러로 전송하는 단계;
    상기 신호의 유형이 제2 유형인 경우, 상기 통신 모듈이 상기 제2 유형의 신호를 모드 제어 모듈로 전송하는 단계;
    상기 제2 유형의 신호가 노멀 모드를 지시하는 경우, 상기 모드 제어 모듈이 상기 컨트롤러와 상기 차지 스토리지 메모리 칩 사이의 제1 경로를 활성화하는 단계; 및
    상기 제2 유형의 신호가 테스트 모드를 지시하는 경우,
    상기 모드 제어 모듈이 상기 컨트롤러와 상기 통신 모듈 사이의 제2 경로를 활성화하는 단계;
    상기 컨트롤러가 상기 제1 유형의 신호를 플래시 연산 명령으로 변환하여 상기 제2 경로를 통해 상기 통신 모듈로 전달하는 단계;
    상기 통신 모듈이 상기 전달된 플래시 연산 명령을 벤더 고유 로그 페이지에 추가하는 단계;
    상기 통신 모듈이 명령 완료 큐에 명령 완료 개체를 추가하고, 상기 명령 완료 개체의 로그 페이지 식별자에 상기 플래시 연산 명령이 포함된 상기 벤더 고유 로그 페이지의 식별자를 기입하여 상기 테스트 에뮬레이터에게 비동기 이벤트가 발생하였음을 알리는 단계; 및
    상기 테스트 에뮬레이터는 상기 명령 완료 큐에서 상기 명령 완료 개체를 파싱하여 상기 플래시 연산 명령을 인지하는 단계
    를 포함하고,
    상기 테스트 모드는 상기 통신 모듈이 상기 테스트 에뮬레이터에 발생한 이벤트에 기초하여 상기 테스트 에뮬레이터로부터 수신된 비동기 이벤트 요청 명령을 상기 호스트로 전달하고, 상기 호스트가 상기 비동기 이벤트 요청 명령에 기초하여 상기 테스트 모드를 지시하는 상기 제2 유형의 신호를 상기 통신 모듈로 전송함에 따라 수행되고,
    상기 테스트 모드에서 상기 외부 인터페이스에 상기 호스트와 상기 통신 모듈 사이를 연결하는 제1 논리적 채널 및 상기 테스트 에뮬레이터와 상기 통신 모듈 사이를 연결하는 제2 논리적 채널이 형성되는,
    차지 스토리지 메모리 장치의 신뢰성 검증 방법.
  16. 삭제
  17. 삭제
  18. 차지 스토리지 메모리 장치의 신뢰성 검증 시스템에 있어서,
    상기 차지 스토리지 메모리 장치; 및
    호스트 및 테스트 에뮬레이터를 포함하고, 상기 차지 스토리지 메모리 장치의 컨트롤러를 검증하는 외부 장치
    를 포함하고,
    상기 차지 스토리지 메모리 장치는,
    차지 스토리지 메모리 칩,
    상기 차지 스토리지 메모리 칩을 제어하는 컨트롤러,
    외부 장치와의 통신을 위한 외부 인터페이스를 지원하는 통신 모듈,
    노멀 모드를 위한 제1 커넥터 및 테스트 모드를 위한 제2 커넥터 중 적어도 하나를 선택적으로 활성화하는 스위칭 모듈, 및
    동작 모드가 상기 노멀 모드인지 또는 상기 테스트 모드인지에 따라 상기 통신 모듈과 상기 스위칭 모듈을 제어하는 모드 제어 모듈
    을 포함하고,
    상기 통신 모듈은 상기 외부 장치로부터 수신된 제1 유형의 신호를 상기 컨트롤러로 전송하고, 상기 외부 장치로부터 수신된 제2 유형의 신호를 모드 제어 모듈로 전송하고,
    상기 모드 제어 모듈은 상기 제2 유형의 신호가 상기 노멀 모드를 지시하는 경우 상기 제1 커넥터를 통해 상기 컨트롤러와 상기 차지 스토리지 메모리 칩 사이의 제1 경로를 활성화하고, 상기 제2 유형의 신호가 상기 테스트 모드를 지시하는 경우 상기 제2 커넥터를 통해 상기 컨트롤러와 상기 통신 모듈 사이의 제2 경로를 활성화하고,
    상기 테스트 모드는 상기 통신 모듈이 상기 테스트 에뮬레이터에 발생한 이벤트에 기초하여 상기 테스트 에뮬레이터로부터 수신된 비동기 이벤트 요청 명령을 상기 호스트로 전달하고, 상기 호스트가 상기 비동기 이벤트 요청 명령에 기초하여 상기 테스트 모드를 지시하는 상기 제2 유형의 신호를 상기 통신 모듈로 전송함에 따라 수행되고,
    상기 테스트 모드에서,
    상기 컨트롤러는 상기 제1 유형의 신호를 플래시 연산 명령으로 변환하여 상기 제2 경로를 통해 상기 통신 모듈로 전달하고,
    상기 통신 모듈은 상기 전달된 플래시 연산 명령을 벤더 고유 로그 페이지에 추가하고,
    상기 통신 모듈은 명령 완료 큐에 명령 완료 개체를 추가하고, 상기 명령 완료 개체의 로그 페이지 식별자에 상기 플래시 연산 명령이 포함된 상기 벤더 고유 로그 페이지의 식별자를 기입하여 상기 테스트 에뮬레이터에게 비동기 이벤트가 발생하였음을 알리고,
    상기 테스트 에뮬레이터는 상기 명령 완료 큐에서 상기 명령 완료 개체를 파싱하여 상기 플래시 연산 명령을 인지하는,
    신뢰성 검증 시스템.
  19. 제18항에 있어서,
    상기 외부 인터페이스는,
    상기 테스트 모드에서 복수의 논리적 채널을 포함하는,
    신뢰성 검증 시스템.
  20. 제19항에 있어서,
    상기 복수의 논리적 채널은 상기 호스트와 상기 통신 모듈 사이를 연결하는 제1 논리적 채널 및 상기 테스트 에뮬레이터와 상기 통신 모듈 사이를 연결하는 제2 논리적 채널을 포함하는,
    신뢰성 검증 시스템.
KR1020150191662A 2015-04-30 2015-12-31 컨트롤러의 신뢰성을 검증 가능한 차지 스토리지 메모리 장치 KR101764509B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150061843 2015-04-30
KR20150061843 2015-04-30

Publications (2)

Publication Number Publication Date
KR20160129695A KR20160129695A (ko) 2016-11-09
KR101764509B1 true KR101764509B1 (ko) 2017-08-02

Family

ID=57528951

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150191662A KR101764509B1 (ko) 2015-04-30 2015-12-31 컨트롤러의 신뢰성을 검증 가능한 차지 스토리지 메모리 장치

Country Status (1)

Country Link
KR (1) KR101764509B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11650893B2 (en) 2020-03-31 2023-05-16 Advantest Corporation Multiple name space test systems and methods

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101300443B1 (ko) * 2011-09-22 2013-08-27 서울대학교산학협력단 바이패스 경로를 이용하여 신뢰성 검증을 할 수 있는 플래시 메모리 저장 장치, 및 이를 이용한 플래시 메모리 저장 장치의 신뢰성 검증 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101300443B1 (ko) * 2011-09-22 2013-08-27 서울대학교산학협력단 바이패스 경로를 이용하여 신뢰성 검증을 할 수 있는 플래시 메모리 저장 장치, 및 이를 이용한 플래시 메모리 저장 장치의 신뢰성 검증 시스템 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
민상렬 외 4명. '플래시 메모리 신뢰성 검증 환경'. 2014 한국정보과학회 제41회 정기총회 및 동계학술발표회, 2014.12, pp.080-1082.

Also Published As

Publication number Publication date
KR20160129695A (ko) 2016-11-09

Similar Documents

Publication Publication Date Title
US9021178B2 (en) High performance path for command processing
US9093132B2 (en) Nonvolatile memory device, memory system and controller operating method
US9389804B2 (en) Host, system, and methods for transmitting commands to non-volatile memory card
US9607120B2 (en) Implementing system irritator accelerator FPGA unit (AFU) residing behind a coherent attached processors interface (CAPI) unit
CN110618903A (zh) 电子设备测试方法与装置
US9411700B2 (en) Storage tester capable of individual control for a plurality of storage
JP5414656B2 (ja) データ記憶装置、メモリ制御装置及びメモリ制御方法
CN104951334A (zh) FPGA双片QSPI flash的程序加载方法
KR101857911B1 (ko) 가상채널을 이용한 다중 채널 메모리 제어기
US9529536B2 (en) Semiconductor memory device, memory system including the same, and operating method thereof
KR20100073662A (ko) 프로그래머 장치
US8883521B2 (en) Control method of multi-chip package memory device
KR101764509B1 (ko) 컨트롤러의 신뢰성을 검증 가능한 차지 스토리지 메모리 장치
KR101300443B1 (ko) 바이패스 경로를 이용하여 신뢰성 검증을 할 수 있는 플래시 메모리 저장 장치, 및 이를 이용한 플래시 메모리 저장 장치의 신뢰성 검증 시스템 및 방법
US20150278299A1 (en) External merge sort method and device, and distributed processing device for external merge sort
CN103902301A (zh) 读取bios的方法、装置以及处理器
CN114328024A (zh) PCIe功能层级复位的实现方法、装置、计算机设备及存储介质
US20140068150A1 (en) Data storage device and operating method thereof
CN111078602B (zh) 一种闪存主控芯片及其控制方法、测试方法及存储设备
EP2730993B1 (en) Reset method and network device
CN110399645B (zh) 基于固态硬盘的fpga原型验证加速系统及实现方法
JP2012048608A (ja) 外部記憶装置
TW201637005A (zh) 快閃操作的儲存裝置
US8972614B2 (en) Half-duplex SATA link with controlled idle gap insertion
KR101679477B1 (ko) 메모리 구동 주변 회로 검증시간을 단축하기 위한 임베디드 ddr 메모리를 이용한 검증 방법 및 시스템

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant