KR20160007790A - 데이터 저장 장치 및 그것의 동작 방법 - Google Patents

데이터 저장 장치 및 그것의 동작 방법 Download PDF

Info

Publication number
KR20160007790A
KR20160007790A KR1020140080993A KR20140080993A KR20160007790A KR 20160007790 A KR20160007790 A KR 20160007790A KR 1020140080993 A KR1020140080993 A KR 1020140080993A KR 20140080993 A KR20140080993 A KR 20140080993A KR 20160007790 A KR20160007790 A KR 20160007790A
Authority
KR
South Korea
Prior art keywords
command set
pattern
command
memory device
processing unit
Prior art date
Application number
KR1020140080993A
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 KR1020140080993A priority Critical patent/KR20160007790A/ko
Priority to US14/505,082 priority patent/US9613667B2/en
Publication of KR20160007790A publication Critical patent/KR20160007790A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/109Control signal input circuits

Landscapes

  • Read Only Memory (AREA)
  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)

Abstract

데이터 저장 장치는 내부 동작을 수행하도록 구성되는 메모리 장치, 상기 내부 동작의 수행을 지시하기 위해 상기 메모리 장치로 제공될 커맨드 세트에 대응하는 커맨드 생성 정보를 생성하도록 구성되는 프로세서 및 상기 커맨드 생성 정보에 근거하여 상기 커맨드 세트를 생성하도록 구성되는 커맨드 세트 처리부를 포함하되, 상기 커맨드 세트 처리부는 상기 커맨드 세트에 포함된 패턴을 구성하는 시퀀스를 생성한다.

Description

데이터 저장 장치 및 그것의 동작 방법{DATA STORAGE DEVICE AND OPERATING METHOD THEREOF}
본 발명은 데이터 저장 장치에 관한 것으로, 더욱 상세하게는 데이터 저장 장치의 커맨드 세트 생성에 관한 것이다.
불휘발성 메모리 장치는 전원이 공급되지 않아도 저장된 데이터를 유지할 수 있다. 불휘발성 메모리 장치는 낸드 플래시(NAND Flash) 또는 노어 플래시(NOR Flash)와 같은 플래시 메모리 장치, FeRAM(Ferroelectrics Random Access Memory), PCRAM(Phase-Change Random Access Memory), MRAM(Magnetic Random Access Memory) 또는 ReRAM(Resistive Random Access Memory)을 포함할 수 있다.
불휘발성 메모리 장치는 데이터의 지속적인 유지가 요구되는 시스템에서 사용될 수 있다. 예를 들어, 불휘발성 메모리 장치는 이미지를 지속적으로 보관하기 위해서 디지털 카메라에 사용될 수 있다. 다른 예로서, 불휘발성 메모리 장치는 오디오 데이터를 지속적으로 보관하기 위해서 디지털 음악 재생 장치에 사용될 수 있다.
실시 예는 메모리 장치로 제공될 커맨드 세트를 생성하는 커맨드 세트 처리부를 포함하는 데이터 저장 장치를 제공하는 데 있다.
실시 예에 따른 데이터 저장 장치는 내부 동작을 수행하도록 구성되는 메모리 장치, 상기 내부 동작의 수행을 지시하기 위해 상기 메모리 장치로 제공될 커맨드 세트에 대응하는 커맨드 생성 정보를 생성하도록 구성되는 프로세서 및 상기 커맨드 생성 정보에 근거하여 상기 커맨드 세트를 생성하도록 구성되는 커맨드 세트 처리부를 포함하되, 상기 커맨드 세트 처리부는 상기 커맨드 세트에 포함된 패턴을 구성하는 시퀀스를 생성할 수 있다.
실시 예에 따른 데이터 저장 장치의 동작 방법은 커맨드 세트의 생성을 지시하는 커맨드 생성 정보를 제공받는 단계 및 상기 커맨드 생성 정보에 근거하여, 상기 커맨드 세트에 포함된 패턴을 구성하는 시퀀스를 생성하는 단계를 포함할 수 있다.
실시 예에 따른 데이터 저장 장치는 메모리 장치로 제공될 커맨드 세트를 생성하는 커맨드 세트 처리부를 포함할 수 있다.
도1은 실시 예에 따른 데이터 저장 장치를 개략적으로 도시한 블록도,
도2는 도1에 도시된 메모리 장치로 입력되는 커맨드 세트의 구성을 예시적으로 도시한 파형도,
도3a 및 도3b는 프로세서가 커맨드 세트 처리부로 커맨드 생성 정보를 제공하는 방법들을 예시적으로 도시한 도면,
도4는 도1에 도시된 커맨드 세트 처리부를 예시적으로 도시한 블록도,
도5는 도4에 도시된 패턴 생성부를 예시적으로 도시한 블록도,
도6은 도5에 도시된 데이터 입력 패턴 래치부 및 도4에 도시된 파형 생성부의 동작 방법을 예시적으로 설명하기 위한 파형도,
도7은 도5에 도시된 데이터 입력 패턴 래치부 및 도4에 도시된 파형 생성부의 다른 동작 방법을 예시적으로 설명하기 위한 파형도,
도8은 도4에 도시된 처리 제어부의 실시 예를 예시적으로 도시한 블록도,
도6은 도3에 도시된 처리 제어부를 예시적으로 도시한 블록도이다.
도9는 도8에 도시된 처리 제어부를 포함하는 커맨드 세트 처리부가 노멀 또는 스페셜 커맨드 세트를 생성하는 과정을 설명하기 위한 순서도이다.
이하, 도면들을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다.
도1은 실시 예에 따른 데이터 저장 장치(10)를 개략적으로 도시한 블록도이다.
데이터 저장 장치(10)는 외부 장치(미도시)의 쓰기 요청에 응답하여, 외부 장치로부터 제공된 데이터를 저장하도록 구성될 수 있다. 또한, 데이터 저장 장치(10)는 외부 장치의 읽기 요청에 응답하여, 저장된 데이터를 외부 장치로 제공하도록 구성될 수 있다.
데이터 저장 장치(10)는 PCMCIA(Personal Computer Memory Card International Association) 카드, CF(Compact Flash) 카드, 스마트 미디어(Smart Media) 카드, 메모리 스틱(Memory Stick), 다양한 멀티 미디어(Multi Media) 카드(MMC, eMMC, RS-MMC, MMC-micro), SD(Secure Digital) 카드(SD, Mini-SD, Micro-SD), UFS(Universal Flash Storage) 또는 솔리드 스테이트 드라이브(Solid State Drive) 등으로 구성될 수 있다.
데이터 저장 장치(10)는 컨트롤러(100) 및 메모리 장치(200)를 포함할 수 있다.
컨트롤러(100)는 데이터 저장 장치(10)의 제반 동작을 제어할 수 있다. 컨트롤러(100)는 메모리 장치(200)의 쓰기, 읽기 및 소거 동작 등과 같은 다양한 내부 동작들을 제어할 수 있다. 컨트롤러(100)는 메모리 장치(200)에 내부 동작 수행을 지시하기 위한 복수의 신호들의 조합인 커맨드 세트를 생성할 수 있다. 컨트롤러(100)는 생성된 커맨드 세트를 인터페이스부(130)를 통해서 메모리 장치(200)로 전송할 수 있다.
메모리 장치(200)는 불휘발성일 수 있고, 전원이 꺼져도 저장된 데이터를 유지할 수 있다. 메모리 장치(200)는 컨트롤러(100)로부터 전송된 커맨드 세트에 응답하여 내부 동작을 수행할 수 있다. 예를 들어, 메모리 장치(200)는 라이트 커맨드 세트에 응답하여 라이트 동작을 수행할 수 있다. 메모리 장치(200)는 리드 커맨드 세트에 응답하여 리드 동작을 수행할 수 있다.
커맨드 세트는 다양한 패턴들로 구성될 수 있다. 패턴들 각각은 복수의 신호들의 시퀀스로 구성될 수 있다. 패턴의 타입은, 예를 들어, 커맨드 패턴, 어드레스 패턴, 데이터 입력 패턴, 데이터 출력 패턴 및 딜레이 패턴을 포함할 수 있다. 커맨드 패턴을 구성하는 커맨드 시퀀스는 메모리 장치(200)가 특정한 내부 동작을 수행하도록 제어할 수 있다. 어드레스 패턴을 구성하는 어드레스 시퀀스는 메모리 장치(200)가 특정한 저장 영역을 액세스하도록 제어할 수 있다. 데이터 입력 패턴을 구성하는 데이터 입력 시퀀스는 메모리 장치(200)가 데이터를 입력받도록 제어할 수 있다. 데이터 출력 패턴을 구성하는 데이터 출력 시퀀스는 메모리 장치(200)가 데이터를 출력하도록 제어할 수 있다. 딜레이 패턴을 구성하는 딜레이 시퀀스는 다른 패턴들의 시퀀스들 사이의 시간 간격을 형성할 수 있다.
컨트롤러(100)가 메모리 장치(200)로 어떤 내부 동작을 지시하는지에 따라서, 커맨드 세트는 특정 패턴을 포함 또는 불포함할 수 있고, 동일한 패턴을 둘 이상 포함할 수 있다.
도2는 도1에 도시된 메모리 장치(200)로 입력되는 커맨드 세트의 구성을 예시적으로 도시한 파형도이다. 도2는 라이트 동작을 지시하기 위한 커맨드 세트, 즉, 라이트 커맨드 세트(WRITE_CMD_SET)를 예시적으로 도시한다. 라이트 커맨드 세트(WRITE_CMD_SET)는 메모리 장치(200)의 스펙으로 정해질 수 있다. 라이트 커맨드 세트(WRITE_CMD_SET)는 컨트롤러(100)에 의해 생성되어 메모리 장치(200)로 전송될 수 있다.
라이트 커맨드 세트(WRITE_CMD_SET)는 복수의 신호들의 조합으로 구성될 수 있다. 예를 들어, 라이트 커맨드 세트(WRITE_CMD_SET)는 커맨드 래치 인에이블 신호(CLE), 어드레스 래치 인에이블 신호(ALE), 라이트 인에이블 신호(WE) 및 입출력 핀 전송 신호(IO)의 조합으로 구성될 수 있다. 커맨드 래치 인에이블 신호(CLE)는 입출력 핀 전송 신호(IO)가 커맨드일 경우 인에이블될 수 있다. 어드레스 래치 인에이블 신호(ALE)는 입출력 핀 전송 신호(IO)가 어드레스일 경우 인에이블될 수 있다. 라이트 인에이블 신호(WE)는 입출력 핀 전송 신호(IO)가 래치되도록 인에이블될 수 있다. 입출력 핀 전송 신호(IO)는 제1 및 제2 커맨드(CMD1, CMD2), 어드레스(ADDR) 및 데이터(DATA)를 포함할 수 있다.
라이트 커맨드 세트(WRITE_CMD_SET)는 커맨드 패턴들(CMD_PT1, CMD_PT2), 어드레스 패턴(ADDR_PT) 및 데이터 입력 패턴(DATAIN_PT)으로 구성될 수 있다. 패턴들 각각은 커맨드 래치 인에이블 신호(CLE), 어드레스 래치 인에이블 신호(ALE), 라이트 인에이블 신호(WE) 및 입출력 핀 전송 신호(IO)의 시퀀스로 구성될 수 있다.
다시 도1을 참조하면, 컨트롤러(100)는 프로세서(110), 커맨드 세트 처리부(120) 및 인터페이스부(130)를 포함할 수 있다.
프로세서(110)는 컨트롤러(100)에 포함된 다른 유닛들(120, 130)의 동작을 제어할 수 있다. 프로세서(110)는 메모리 장치(200)로 제공될 커맨드 세트가 생성되도록, 커맨드 세트 처리부(120)로 커맨드 생성 정보를 제공할 수 있다.
도3a 및 도3b는 프로세서(110)가 커맨드 세트 처리부(120)로 커맨드 생성 정보를 제공하는 방법들을 예시적으로 도시한 도면이다.
커맨드 생성 정보는, 예를 들어, 메모리 장치(200)가 수행하여야 할 내부 동작의 타입, 내부 동작 수행 시 액세스될 저장 영역의 어드레스, 라이트될 데이터 및 라이트 또는 리드될 데이터의 사이즈 중 적어도 하나를 포함할 수 있다. 커맨드 세트를 구성하는 패턴들 각각은 제공된 커맨드 생성 정보에 근거하여 생성될 수 있다. 예를 들어, 커맨드 패턴은 제공된 내부 동작의 타입에 근거하여 생성될 수 있다. 어드레스 패턴은 제공된 어드레스에 근거하여 생성될 수 있다. 데이터 입력 패턴은 제공된 라이트될 데이터 및 라이트될 데이터의 사이즈에 근거하여 생성될 수 있다. 데이터 출력 패턴은 리드될 데이터의 사이즈에 근거하여 생성될 수 있다.
도3a를 참조하면, 프로세서(110)는 커맨드 세트 처리부(120)로 커맨드 생성 정보(115)를 일시에 제공할 수 있다. 커맨드 세트 처리부(120)는 제공된 커맨드 생성 정보(115)에 근거하여 커맨드 세트의 최종적인 시퀀스를 생성한 후 프로세서(110)로 처리 완료를 보고할 수 있다.
도3b를 참조하면, 프로세서(110)는 커맨드 세트 처리부(120)로 커맨드 생성 정보를 패턴 단위로 분할하여 제공할 수 있다. 커맨드 세트 처리부(120)는 제공된 커맨드 생성 정보에 대응하는 패턴을 생성한 후 프로세서(110)로 처리 완료를 보고할 수 있다.
도3b에서, 프로세서(110)는 커맨드 세트 처리부(120)로 내부 동작의 타입을 제공할 수 있다. 커맨드 세트 처리부(120)는 제공된 내부 동작의 타입에 근거하여 커맨드 패턴을 생성한 후 프로세서(110)로 처리 완료를 보고할 수 있다. 프로세서(110)는 커맨드 세트 처리부(120)의 처리 완료 보고 후 커맨드 세트 처리부(120)로 어드레스를 제공할 수 있다. 커맨드 세트 처리부(120)는 제공된 어드레스에 근거하여 어드래스 패턴을 생성한 후 프로세서(110)로 처리 완료를 보고할 수 있다. 프로세서(110)는 커맨드 세트 처리부(120)의 처리 완료 보고 후 커맨드 세트 처리부(120)로 라이트될 데이터를 제공할 수 있다. 커맨드 세트 처리부(120)는 제공된 데이터에 근거하여 데이터 입력 패턴을 생성한 후 프로세서(110)로 처리 완료를 보고할 수 있다.
다시 도1을 참조하면, 커맨드 세트 처리부(120)는 프로세서(110)로부터 제공된 커맨드 생성 정보에 근거하여, 커맨드 세트를 구성하는 패턴들에 각각 대응하는 시퀀스들을 생성할 수 있다. 커맨드 세트 처리부(120)는 커맨드 세트를 패턴 단위로 생성할 수 있다. 커맨드 세트 처리부(120)는 프로세서(110)로부터 커맨드 생성 정보를 일시에 제공받는 경우, 커맨드 세트를 생성한 후 프로세서(110)로 처리 완료를 보고할 수 있다. 커맨드 세트 처리부(120)는 프로세서(110)로부터 패턴 단위로 분할된 커맨드 생성 정보를 제공받는 경우, 대응하는 패턴을 생성한 후 프로세서(110)로 처리 완료를 보고할 수 있다.
커맨드 세트 처리부(120)는 인터페이스부(130)의 인터페이싱 방식에 따라서 적절한 커맨드 세트를 생성할 수 있다. 인터페이스부(130)가 커맨드 세트 처리부(120)에 의해 생성된 커맨드 세트 그대로 메모리 장치(200)로 전송하는 경우, 커맨드 세트 처리부(120)는 메모리 장치의 스펙에 적합한 커맨드 세트를 생성할 수 있다. 인터페이스부(130)가 생성된 커맨드 세트를 특정 물리 계층 구조(미도시, 이하, PHY)를 통해서 메모리 장치(200)로 전송하는 경우, 커맨드 세트 처리부(120)는 특정 PHY의 스펙에 적합한 커맨드 세트를 생성할 수 있다.
인터페이스부(130)는 컨트롤러(100)와 메모리 장치(200)를 인터페이스할 수 있다. 인터페이스부(130)는 커맨드 세트 처리부(120)에 의해 생성된 커맨드 세트를 메모리 장치(200)로 전송할 수 있다. 인터페이스부(130)는 메모리 장치(200)와의 고속 인터페이싱을 위한 PHY를 포함하는 경우, 커맨드 세트 처리부(120)에 의해 생성된 PHY의 스펙에 적합한 커맨드 세트를 메모리 장치(200)의 스펙에 적합한 커맨드 세트로 변환할 수 있다. 인터페이스부(130)에 의한 변환 전 및 변환 후의 커맨드 세트들은 실질적으로 동일한 패턴들로 구성될 수 있다.
도4는 도1에 도시된 커맨드 세트 처리부(120)를 예시적으로 도시한 블록도이다.
커맨드 세트 처리부(120)는 처리 제어부(121), 인터페이스 선택부(122), 타이밍 제어부(123), 패턴 생성부(124) 및 파형 생성부(125)를 포함할 수 있다.
처리 제어부(121)는 프로세서(도1의 110)로부터 제공된 커맨드 생성 정보에 근거하여 커맨드 세트를 구성하는 최종적인 시퀀스가 생성되도록 기타 유닛들(122, 123, 124, 125)을 제어할 수 있다. 처리 제어부(121)는 커맨드 생성 정보에 근거하여 커맨드 세트가 어떤 패턴 타입들로 구성될 것인지를 판단하고 판단 결과에 따라 패턴 생성부(124)를 제어할 수 있다. 처리 제어부(121)는 프로세서(110)로부터 패턴 단위로 분할된 커맨드 생성 정보를 제공받는 경우, 대응하는 패턴 타입이 생성되도록 패턴 생성부(124)를 제어할 수 있다. 실시 예에 따라, 처리 제어부(121)는 커맨드 세트를 생성한 후 프로세서(110)로 처리 완료를 보고할 수 있다. 다른 실시 예에 따라, 처리 제어부(121)는 커맨드 세트를 구성하는 패턴들 각각을 생성한 후 프로세서(110)로 처리 완료를 보고할 수 있다.
인터페이스 선택부(122)는 인터페이스부(도1의 130) 및 메모리 장치(도1의 200)의 인터페이싱 방식을 탐지할 수 있다. 예를 들어, 인터페이스 선택부(122)는 인터페이스부(130)가 특정 PHY를 통해서 메모리 장치(200)와 통신하는지 또는 다이렉트로 메모리 장치(200)와 통신하는지를 탐지할 수 있다. 인터페이스 선택부(122)는 메모리 장치(200)가 어떤 인터페이스를 지원하는지 또는 어떤 제조 회사의 제품인지를 탐지할 수 있다. 인터페이스 선택부(122)는 탐지 결과를 인터페이스 정보로서 다른 유닛들(123, 124, 125)로 제공할 수 있다. 커맨드 세트 처리부(120)는 인터페이스 선택부(122)에 의한 인터페이스부(130) 및 메모리 장치(200)의 인터페이싱 방식 탐지를 통해서 언제나 적합한 커맨드 세트를 생성할 수 있다.
타이밍 제어부(123)는 메모리 장치(200)의 동작 특성들, 예를 들어, 타이밍 파라미터들 및 동작 주파수에 근거하여, 커맨드 세트를 구성하는 신호들의 인에이블 타이밍 또는 디스에이블 타이밍에 관한 정보(이하, 타이밍 정보)를 생성할 수 있다. 메모리 장치(200)의 스펙 상 정의된 타이밍 파라미터들은 인터페이스 선택부(122)에 의해 인터페이스 정보로서 탐지되어 타이밍 제어부(123)로 제공될 수 있다. 타이밍 파라미터들은, 예를 들어, 셋업 타임, 홀드 타임, 펄스 폭 및 딜레이 타임 등을 포함할 수 있다.
패턴 생성부(124)는 타이밍 제어부(123)로부터 전송된 타이밍 정보 및 인터페이스 선택부(122)로부터 제공된 인터페이스 정보에 근거하여, 커맨드 세트를 구성하는 패턴들 각각에 대응하는 베이스 시퀀스들을 생성할 수 있다. 패턴 생성부(124)는 처리 제어부(121)로부터 생성 지시를 받은 패턴에 대응하는 베이스 시퀀스를 생성할 수 있다. 패턴 생성부(124)는 유한 상태 머신으로 구성될 수 있다. 패턴 생성부(124)는 파형 생성부(125)로 생성된 베이스 시퀀스를 제공할 수 있다.
파형 생성부(125)는 패턴 생성부(124)로부터 패턴 단위로 제공된 베이스 시퀀스에 근거하여, 해당 패턴을 구성하는 최종적인 시퀀스를 생성할 수 있다. 파형 생성부(125)는 인터페이스 선택부(122)로부터 제공된 인터페이스 정보에 근거하여 인터페이스부(130) 및 메모리 장치(200)의 인터페이싱 방식에 적합한 신호들로 구성된 최종적인 시퀀스를 생성할 수 있다. 파형 생성부(125)에 의해 생성된 패턴들 각각을 구성하는 최종적인 시퀀스들은 통합되어 하나의 커맨드 세트를 생성할 수 있다.
도5는 도4에 도시된 패턴 생성부(124)를 예시적으로 도시한 블록도이다.
패턴 생성부(124)는 커맨드 패턴 래치부(124_1), 어드레스 패턴 래치부(124_2), 데이터 입력 패턴 래치부(124_3), 데이터 출력 패턴 래치부(124_4) 및 딜레이 패턴 래치부(124_5)를 포함할 수 있다. 래치부들(124_1, 124_2, 124_3, 124_4, 124_5) 각각은 유한 스테이트 머신을 통해 구성될 수 있다.
래치부들(124_1, 124_2, 124_3, 124_4, 124_5) 각각은 처리 제어부(121)의 제어에 따라, 타이밍 정보에 근거하여 자신이 담당하는 패턴에 대응하는 베이스 시퀀스를 생성할 수 있다. 커맨드 패턴 래치부(124_1)는 커맨드 패턴에 대한 베이스 시퀀스를 생성할 수 있다. 어드레스 패턴 래치부(124_2)는 어드레스 패턴에 대한 베이스 시퀀스를 생성할 수 있다. 데이터 입력 패턴 래치부(124_3)는 데이터 입력 패턴에 대한 베이스 시퀀스를 생성할 수 있다. 데이터 출력 패턴 래치부(124_4)는 데이터 출력 패턴에 대한 베이스 시퀀스를 생성할 수 있다. 딜레이 패턴 래치부(124_5)는 딜레이 패턴에 대한 베이스 시퀀스를 생성할 수 있다.
도6은 도5에 도시된 데이터 입력 패턴 래치부(124_3) 및 도4에 도시된 파형 생성부(125)의 동작 방법을 예시적으로 설명하기 위한 파형도이다. 도6은 데이터 입력 패턴 래치부(124_3)에 의해서 생성된 상태 신호들(STATE) 및 파형 생성부(125)에 의해서 상태 신호들(STATE)에 근거하여 생성된 데이터 입력 패턴을 구성하는 최종적인 시퀀스를 도시한다. 데이터 입력 패턴을 구성하는 최종적인 시퀀스는, 예를 들어, 커맨드 래치 인에이블 신호(CLE), 어드레스 래치 인에이블 신호(ALE), 라이트 인에이블 신호(WE) 및 입출력 핀 전송 신호(IO)의 조합으로 구성될 수 있다. 도5에 도시된 다른 래치부들(124_1, 124_2, 124_4, 124_5)은 데이터 입력 패턴 래치부(124_3)와 실질적으로 유사하게 동작할 수 있다. 도6에서, 인터페이스부는 특정 PHY를 포함하지 않고, 커맨드 세트 처리부(120)는 메모리 장치(200)의 스펙에 적합한 커맨드 세트를 생성하는 것으로 가정한다.
데이터 입력 패턴 래치부(124_3)는 유한 상태 머신으로 구성될 수 있다. 데이터 입력 패턴 래치부(124_3)에 의해 생성된 베이스 시퀀스는 복수의 상태 신호들(STATE)로 구성될 수 있다. 상태 신호들(STATE)은 아이들 상태(IDLE), 프리 상태(PRE), 셋업 상태(SETUP), 라이트 상태(WRITE), 홀드 상태(HOLD), 포스트 상태(POST) 및 종료 상태(DONE)에 각각 대응될 수 있고, 대응되는 상태가 유지될 때 각각 인에이블될 수 있다.
데이터 입력 패턴 래치부(124_3)는 처리 제어부(121)로부터 베이스 시퀀스 생성 지시를 수신할 때, 아이들 상태(IDLE)로 존재할 수 있다. 이러한 경우, 아이들 상태(IDLE)에 대응되는 신호가 인에이블될 수 있다.
데이터 입력 패턴 래치부(124_3)는 타이밍 제어부(123)로부터 전송된 메모리 장치(200)의 타이밍 정보에 근거하여 상태를 전환 및 유지할 수 있다. 예를 들어, 데이터 입력 패턴 래치부(124_3)는 어드레스 래치 인에이블 셋업 타임(TALS)에 대한 타이밍 정보에 근거하여 프리 상태(PRE) 및 셋업 상태(SETUP)를 유지할 수 있다. 데이터 입력 패턴 래치부(124_3)는 라이트 인에이블 펄스 타임(TWP) 및 데이터 셋업 타임(TDS)에 대한 타이밍 정보에 근거하여 셋업 상태(SETUP)를 유지할 수 있다. 데이터 입력 패턴 래치부(124_3)는 라이트 인에이블 홀드 타임(TWH) 및 데이터 홀드 타임(TDH)에 대한 타이밍 정보에 근거하여 라이트 상태(WRITE)를 유지할 수 있다. 데이터 입력 패턴 래치부(124_3)는 라이트 사이클 타임(TWC)에 대한 타이밍 정보에 근거하여 셋업 상태(WRITE) 및 라이트 상태(WRITE)를 유지할 수 있다. 데이터 입력 패턴 래치부(124_3)는 커맨드 래치 인에이블 홀드 타임(TCLH)에 대한 타이밍 정보에 근거하여 라이트 상태(WRITE) 및 홀드 상태(HOLD)를 유지할 수 있다. 데이터 입력 패턴 래치부(124_3)는 유지된 상태에 대응하는 상태 신호를 각각 인에이블시킬 수 있다.
데이터 입력 패턴 래치부(124_3)는 베이스 시퀀스의 생성 종료 시, 종료 상태(DONE)로 진입할 수 있다. 이러한 경우, 종료 상태(DONE)에 대응되는 신호가 인에이블될 수 있다.
파형 생성부(125)는 데이터 입력 패턴을 구성하는 최종적인 시퀀스를 생성하기 위해서, 베이스 시퀀스의 상태 신호들(STATE)에 대한 논리 연산을 수행할 수 있다. 예를 들어, 파형 생성부(125)는 셋업 상태(SETUP)에 대응하는 신호에 근거하여 라이트 인에이블 신호(WE)를 생성할 수 있다. 파형 생성부(125)는 셋업 상태(SETUP) 및 라이트 상태(WRITE)에 각각 대응하는 신호들에 근거하여 데이터(DATA1, DATA2)로 구성된 입출력 핀 전송 신호(IO)를 생성할 수 있다.
도7은 도5에 도시된 데이터 입력 패턴 래치부(124_3) 및 도4에 도시된 파형 생성부(125)의 다른 동작 방법을 예시적으로 설명하기 위한 파형도이다. 도7에서, 인터페이스부는 특정 PHY를 포함하고, 커맨드 세트 처리부(120)는 특정 PHY의 스펙에 적합한 커맨드 세트를 생성하는 것으로 가정한다.
도7에 도시된 데이터 입력 패턴을 구성하는 최종적인 시퀀스는, 특정 PHY의 스펙 상 요구되는 신호들로 구성되는 점을 제외하면, 도6을 참조하여 설명된 동작 방법과 실질적으로 동일한 동작 방법에 의해서 생성될 수 있다. 데이터 입력 패턴을 구성하는 최종적인 시퀀스는 PHY 커맨드 래치 인에이블 신호(CLE_DFI), PHY 어드레스 래치 인에이블 신호(ALE_DFI), PHY 라이트 인에이블 신호(WE_DFI), 데이터 인에이블 신호(DATAEN_DFI) 및 데이터 신호(IO_DFI)의 조합으로 구성될 수 있다.
도8은 도4에 도시된 처리 제어부(121)의 실시 예를 예시적으로 도시한 블록도이다.
메모리 장치(도1의 200)의 내부 동작은 그것의 수행 지시를 위해서 필요한 커맨드 세트의 제공 횟수에 따라서 노멀 타입과 스페셜 타입으로 구분될 수 있다. 노멀 내부 동작을 수행하는 메모리 장치(200)는 단 1회 제공되는 커맨드 세트에 의해서 제어될 수 있다. 노멀 내부 동작은, 예를 들어, 라이트 동작, 리드 동작, 소거 동작 및 리셋 동작을 포함할 수 있다. 스페셜 내부 동작을 수행하는 메모리 장치(200)는 1회 또는 2회 이상 제공되는 커맨드 세트에 의해서 제어될 수 있다. 스페셜 내부 동작은, 예를 들어, 리드 스테이터스 동작, 셋 파라미터 동작, 겟 파라미터 동작, 랜덤 리드 동작 및 랜덤 라이트 동작을 포함할 수 있다.
도8을 참조하면, 처리 제어부(121)는 판단부(121_1), 노멀 커맨드 제어부(121_2) 및 스페셜 커맨드 제어부(121_3)를 포함할 수 있다.
판단부(121_1)는 프로세서(도1의 110)로부터 제공된 커맨드 생성 정보에 근거하여, 메모리 장치(200)가 수행할 내부 동작의 타입을 판단할 수 있다. 판단부(121_1)는 커맨드 생성 정보에 근거하여 메모리 장치(200)로 노멀 내부 동작이 지시된 것인지 또는 스페셜 내부 동작이 지시된 것인지를 판단할 수 있다.
노멀 커맨드 제어부(121_2)는, 판단부(121_1)에 의해 노멀 내부 동작이 지시된 것으로 판단된 경우, 노멀 내부 동작에 대응하는 커맨드 세트(이하, 노멀 커맨드 세트)를 생성하고 처리하는 일련의 과정들을 제어할 수 있다. 노멀 커맨드 제어부(121_2)는 커맨드 생성 정보에 근거하여 노멀 커맨드 세트가 어떤 패턴 타입들로 구성될지를 판단하고, 판단 결과에 따라 패턴 생성부(도4의 124)를 제어할 수 있다. 노멀 커맨드 제어부(121_2)는 프로세서(110)로부터 패턴 단위로 분할된 커맨드 생성 정보를 제공받는 경우, 대응하는 패턴 타입이 생성되도록 패턴 생성부(124)를 제어할 수 있다.
스페셜 커맨드 제어부(121_3)는, 판단부(121_1)에 의해 스페셜 내부 동작이 지시된 것으로 판단된 경우, 스페셜 내부 동작에 대응하는 커맨드 세트(이하, 스페셜 커맨드 세트)를 생성하고 처리하는 일련의 과정들을 제어할 수 있다. 스페셜 커맨드 제어부(121_3)는 커맨드 생성 정보에 근거하여 스페셜 커맨드 세트가 어떤 패턴 타입들로 구성될지를 판단하고, 판단 결과에 따라 패턴 생성부(124)를 제어할 수 있다. 스페셜 커맨드 제어부(121_3)는 스페셜 커맨드 세트의 최초 생성에 이어서 스페셜 커맨드 세트의 추가적인 생성이 필요한지 여부를 프로세서(110)의 제어 없이 스스로 판단할 수 있다. 스페셜 커맨드 제어부(121_3)는 패턴 레지스터(121_31)를 참조하여 추가적으로 생성될 스페셜 커맨드 세트가 어떤 패턴 타입들로 구성될지를 판단하고, 판단 결과에 따라 패턴 생성부(124)를 제어할 수 있다.
패턴 레지스터(121_31)는 추가적으로 생성될 스페셜 커맨드 세트를 구성하는 패턴들의 정보를 저장할 수 있다. 패턴 레지스터(121_31)는 다양한 스페셜 커맨드 세트들 각각에 대한 패턴의 구성 및 순서를 저장할 수 있다.
도9는 도8에 도시된 처리 제어부(121)를 포함하는 커맨드 세트 처리부(도4의 120)가 노멀 또는 스페셜 커맨드 세트를 생성하는 과정을 설명하기 위한 순서도이다.
S110 단계에서, 커맨드 세트 처리부(120)는 프로세서(도1의 110)로부터 커맨드 생성 정보를 제공받을 수 있다.
S120 단계에서, 판단부(도8의 121_1)는 제공된 커맨드 생성 정보에 근거하여 메모리 장치(도1의 200)에 대해 노멀 내부 동작이 지시된 것인지 여부를 판단할 수 있다. 노멀 내부 동작이 지시된 것으로 판단되는 경우(예), 절차는 S130 단계로 진행될 수 있다. 노멀 내부 동작이 지시되지 않은 것으로 판단되는 경우(아니오), 즉, 스페셜 내부 동작이 지시된 것으로 판단되는 경우, 절차는 S150 단계로 진행될 수 있다.
S130 단계에서, 커맨드 세트 처리부(120)는 노멀 커맨드 세트를 생성할 수 있다. 노멀 커맨드 제어부(121_2)는 커맨드 생성 정보에 근거하여 노멀 커맨드 세트가 어떤 패턴 타입들로 구성될지를 판단하고 판단 결과에 따라 패턴 생성부(124)를 제어할 수 있다.
S140 단계에서, 커맨드 세트 처리부(120)는 프로세서(110)로 노멀 커맨드 세트의 처리 완료를 보고할 수 있다.
S150 단계에서, 커맨드 세트 처리부(120)는 스페셜 커맨드 세트를 생성할 수 있다. 스페셜 커맨드 제어부(121_3)는 커맨드 생성 정보에 근거하여 스페셜 커맨드 세트가 어떤 패턴 타입들로 구성될지를 판단하고 판단 결과에 따라 패턴 생성부(124)를 제어할 수 있다.
S160 단계에서, 커맨드 세트 처리부(120)는 스페셜 커맨드 세트의 추가적 생성이 필요한지 여부를 판단할 수 있다. 예를 들어, 메모리 장치(200)로 리드 스테이터스 동작을 지시하기 위한 스페셜 커맨드 세트가 최초 생성되고 전송된 경우, 스페셜 커맨드 제어부(121_3)는 메모리 장치(200)의 레디 또는 비지 응답에 따라서 스페셜 커맨드 세트를 추가적으로 생성할 것인지 여부를 판단할 수 있다. 메모리 장치(200)의 응답이 비지인 경우, 스페셜 커맨드 제어부(121_3)는 스페셜 커맨드 세트의 추가적인 생성이 필요한 것으로 판단하고(예), 절차는 S150 단계로 진행될 수 있다. S150 단계에서, 스페셜 커맨드 제어부(121_3)는 프로세서(110)의 제어 없이 패턴 레지스터(121_31)에 저장된 패턴 정보를 참조하여 스페셜 커맨드 세트를 추가적으로 생성할 수 있다. 메모리 장치의 응답이 레디인 경우, 스페셜 커맨드 제어부(121_3)는 스페셜 커맨드 세트의 추가적인 생성이 더 이상 필요하지 않은 것으로 판단하고(아니오), 절차는 S140 단계로 진행될 수 있다. 커맨드 세트 처리부(120)는 스페셜 커맨드 세트를 더 이상 생성하지 않고, 프로세서(110)로 스페셜 커맨드 세트의 처리 완료를 보고할 수 있다.
본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10 : 데이터 저장 장치
100 : 컨트롤러
200 : 불휘발성 메모리 장치
110 : 프로세서
120 : 커멘드 세트 처리부
130 : 인터페이스부

Claims (17)

  1. 내부 동작을 수행하도록 구성되는 메모리 장치;
    상기 내부 동작의 수행을 지시하기 위해 상기 메모리 장치로 제공될 커맨드 세트에 대응하는 커맨드 생성 정보를 생성하도록 구성되는 프로세서; 및
    상기 커맨드 생성 정보에 근거하여 상기 커맨드 세트를 생성하도록 구성되는 커맨드 세트 처리부를 포함하되,
    상기 커맨드 세트 처리부는 상기 커맨드 세트에 포함된 패턴을 구성하는 시퀀스를 생성하는 데이터 저장 장치.
  2. 제1항에 있어서,
    상기 패턴은 커맨드 패턴, 어드레스 패턴, 데이터 입력 패턴, 데이터 출력 패턴 또는 딜레이 패턴인 데이터 저장 장치.
  3. 제1항에 있어서,
    상기 커맨드 세트 처리부는,
    상기 메모리 장치의 타이밍 파라미터들 및 동작 주파수 특성 중 적어도 하나에 근거하여 타이밍 정보를 생성하도록 구성되는 타이밍 제어부를 포함하는 데이터 저장 장치.
  4. 제3항에 있어서,
    상기 커맨드 세트 처리부는,
    상기 패턴에 대응하는 베이스 시퀀스를 생성하도록 구성되는 패턴 생성부를 더 포함하고,
    상기 베이스 시퀀스는 상기 타이밍 정보에 근거하여 각각 인에이블되는 복수의 신호들로 구성되는 데이터 저장 장치.
  5. 제4항에 있어서,
    상기 커맨드 세트 처리부는 상기 베이스 시퀀스를 구성하는 상기 복수의 신호들에 대한 논리 연산을 통해, 상기 시퀀스를 생성하도록 구성되는 파형 생성부를 더 포함하는 데이터 저장 장치.
  6. 제4항에 있어서,
    상기 패턴 생성부는,
    상기 커맨드 세트에 포함된 서로 다른 패턴들에 각각 대응하는 베이스 시퀀스들을 각각 생성하도록 구성되는 복수의 패턴 래치부들을 포함하는 데이터 저장 장치.
  7. 제1항에 있어서,
    상기 메모리 장치와 통신하도록 구성되는 인터페이스부를 더 포함하되,
    상기 커맨드 세트 처리부는 상기 메모리 장치 및 상기 인터페이스부의 인터페이싱 방식들을 탐지하도록 구성되는 인터페이스 선택부를 포함하는 데이터 저장 장치.
  8. 제1항에 있어서,
    상기 커맨드 세트 처리부는,
    상기 커맨드 생성 정보에 근거하여 상기 내부 동작의 타입을 판단하고, 상기 내부 동작의 타입을 판단한 결과에 따라 상기 커맨드 세트의 추가적인 생성이 필요한지 여부를 판단하는 데이터 저장 장치.
  9. 제8항에 있어서,
    상기 커맨드 세트 처리부는 패턴 레지스터를 참조하여 상기 커맨드 세트를 추가적으로 생성하고,
    상기 패턴 레지스터는 추가적으로 생성될 커맨드 세트를 구성하는 패턴들의 정보를 저장하는 데이터 저장 장치.
  10. 커맨드 세트의 생성을 지시하는 커맨드 생성 정보를 제공받는 단계; 및
    상기 커맨드 생성 정보에 근거하여, 상기 커맨드 세트에 포함된 패턴을 구성하는 시퀀스를 생성하는 단계를 포함하는 데이터 저장 장치의 동작 방법.
  11. 제10항에 있어서,
    상기 패턴은 커맨드 패턴, 어드레스 패턴, 데이터 입력 패턴, 데이터 출력 패턴 또는 딜레이 패턴인 데이터 저장 장치의 동작 방법.
  12. 제10항에 있어서,
    메모리 장치 및 상기 메모리 장치와 통신하도록 구성된 인터페이스부의 인터페이싱 방식들을 탐지하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법.
  13. 제10항에 있어서,
    메모리 장치의 타이밍 파라미터들 및 동작 주파수 특성 중 적어도 하나에 근거하여 타이밍 정보를 생성하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법.
  14. 제13항에 있어서,
    상기 시퀀스를 생성하는 단계는,
    상기 패턴에 대응하는 베이스 시퀀스를 생성하는 단계를 포함하고,
    상기 베이스 시퀀스는 상기 타이밍 정보에 근거하여 각각 인에이블되는 복수의 신호들로 구성되는 데이터 저장 장치의 동작 방법.
  15. 제14항에 있어서,
    상기 시퀀스를 생성하는 단계는,
    상기 베이스 시퀀스를 구성하는 상기 복수의 신호들에 대한 논리 연산을 통해, 상기 시퀀스를 생성하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법.
  16. 제10항에 있어서,
    상기 커맨드 생성 정보에 근거하여, 상기 커맨드 세트에 응답하여 메모리 장치에서 수행될 내부 동작의 타입을 판단하는 단계;
    상기 내부 동작의 타입을 판단한 결과에 따라 상기 커맨드 세트의 추가적인 생성이 필요한지 여부를 판단하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법.
  17. 제16항에 있어서,
    추가적으로 생성될 커맨드 세트에 포함된 패턴들의 정보를 저장한 레지스터를 참조하여 상기 커맨드 세트를 추가적으로 생성하는 단계를 더 포함하는 데이터 저장 장치의 동작 방법.
KR1020140080993A 2014-06-30 2014-06-30 데이터 저장 장치 및 그것의 동작 방법 KR20160007790A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140080993A KR20160007790A (ko) 2014-06-30 2014-06-30 데이터 저장 장치 및 그것의 동작 방법
US14/505,082 US9613667B2 (en) 2014-06-30 2014-10-02 Data storage device and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140080993A KR20160007790A (ko) 2014-06-30 2014-06-30 데이터 저장 장치 및 그것의 동작 방법

Publications (1)

Publication Number Publication Date
KR20160007790A true KR20160007790A (ko) 2016-01-21

Family

ID=54931231

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140080993A KR20160007790A (ko) 2014-06-30 2014-06-30 데이터 저장 장치 및 그것의 동작 방법

Country Status (2)

Country Link
US (1) US9613667B2 (ko)
KR (1) KR20160007790A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170127942A (ko) * 2016-05-13 2017-11-22 에스케이하이닉스 주식회사 뱅크 인터리빙 제어 장치 및 이를 포함하는 반도체 장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6041405A (en) * 1997-12-18 2000-03-21 Advanced Micro Devices, Inc. Instruction length prediction using an instruction length pattern detector
US20040098549A1 (en) * 2001-10-04 2004-05-20 Dorst Jeffrey R. Apparatus and methods for programmable interfaces in memory controllers
CN100349108C (zh) 2005-11-21 2007-11-14 北京中星微电子有限公司 与非门快闪存储器的物理接口、接口方法和管理设备
KR101855802B1 (ko) * 2011-06-24 2018-05-10 삼성전자주식회사 패턴합성기기 및 이를 포함하는 반도체 테스트 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170127942A (ko) * 2016-05-13 2017-11-22 에스케이하이닉스 주식회사 뱅크 인터리빙 제어 장치 및 이를 포함하는 반도체 장치

Also Published As

Publication number Publication date
US20150380066A1 (en) 2015-12-31
US9613667B2 (en) 2017-04-04

Similar Documents

Publication Publication Date Title
USRE48431E1 (en) Nonvolatile memory device, read method for nonvolatile memory device, and memory system incorporating nonvolatile memory device
KR102649322B1 (ko) 메모리 장치, 메모리 시스템, 및 메모리 장치의 동작 방법
KR102149768B1 (ko) 불휘발성 메모리 시스템
KR102138110B1 (ko) 플래시 메모리를 기반으로 하는 저장 장치 및 그것의 동작 방법
CN108573730B (zh) 数据传输训练方法及执行该方法的数据存储装置
US20120278539A1 (en) Memory apparatus, memory control apparatus, and memory control method
TW201640321A (zh) 用於對三維記憶體存取操作之階層模式
US8621292B2 (en) Device and method for testing semiconductor device
KR20110058028A (ko) 멀티 칩 메모리 시스템 및 그것의 데이터 전송 방법
KR20210155228A (ko) 메모리 장치 및 그 동작 방법
US9483193B1 (en) Data storage device
US10747462B2 (en) Data processing system and operating method thereof
EP3846170A1 (en) Storage device and operating method thereof
US20180299935A1 (en) Memory device and data storage device including the same
US20150143155A1 (en) Data storage apparatus
US10818328B2 (en) Nonvolatile memory device, operation method of the nonvolatile memory device, and operation method of memory controller controlling the nonvolatile memory device
KR102384962B1 (ko) 반도체 메모리 장치
KR100866624B1 (ko) 둘 이상의 비휘발성 메모리 장치들을 제어하는 방법 및 그장치
KR20160007790A (ko) 데이터 저장 장치 및 그것의 동작 방법
US10282328B2 (en) Apparatus having direct memory access controller and method for accessing data in memory
CN110880340B (zh) 控制器及其操作方法
KR20140076128A (ko) 비휘발성 메모리 장치 및 동작 방법과, 이를 포함하는 데이터 처리 시스템
KR102106588B1 (ko) 반도체 메모리 장치 및 그것을 포함하는 데이터 저장 장치
CN108027765B (zh) 一种内存访问方法以及计算机系统
CN106356096B (zh) 非易失性存储器擦写控制方法及电路

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination