KR20100121215A - 반도체 장치, 및 상기 반도체 장치의 os 이미지 라이트 방법 - Google Patents

반도체 장치, 및 상기 반도체 장치의 os 이미지 라이트 방법 Download PDF

Info

Publication number
KR20100121215A
KR20100121215A KR1020090040272A KR20090040272A KR20100121215A KR 20100121215 A KR20100121215 A KR 20100121215A KR 1020090040272 A KR1020090040272 A KR 1020090040272A KR 20090040272 A KR20090040272 A KR 20090040272A KR 20100121215 A KR20100121215 A KR 20100121215A
Authority
KR
South Korea
Prior art keywords
image
port
asic
dram
data
Prior art date
Application number
KR1020090040272A
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 KR1020090040272A priority Critical patent/KR20100121215A/ko
Priority to US12/662,749 priority patent/US20100287424A1/en
Publication of KR20100121215A publication Critical patent/KR20100121215A/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/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • 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/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • 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/451Execution arrangements for user interfaces
    • G06F9/454Multi-language systems; Localisation; Internationalisation

Abstract

반도체 장치는 OS 이미지를 저장하기 위한 비휘발성 메모리와, DRAM 프로토콜에 따라 데이터 라이터로부터 출력된 상기 OS 이미지를 수신하여 저장할 수 있는 데이터 저장 장치와, 상기 데이터 저장 장치에 저장된 상기 OS 이미지를 리드하여 이를 상기 비휘발성 메모리에 라이트하기 위한 ASIC을 포함한다.
롬 라이터, JTAG, 디벅 포트, OS 이미지

Description

반도체 장치, 및 상기 반도체 장치의 OS 이미지 라이트 방법{Semiconductor device and method for writing OS image using the same}
본 발명의 개념에 따른 실시 예는 OS 이미지 라이트 기술에 관한 것으로, 특히 DRAM 인터페이스를 이용하여 데이터 라이터로부터 출력된 OS 이미지를 타겟 메모리에 라이트할 수 있는 방법 및 상기 방법을 이용한 반도체 장치에 관한 것이다.
롬 라이터(ROM writer)는 롬에 특정한 프로그램을 라이트하기 위한 장비 또는 툴(tool)을 의미한다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 DRAM 프로토콜을 이용하여 OS 이미지를 새로운 구조를 갖는 반도체 장치에 라이트할 수 있는 방법과 상기 방법을 수행할 수 있는 반도체 장치를 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 반도체 장치의 OS 이미지 라이트 방법은 부트 로더를 이용하여 DRAM 인터페이스를 초기 상태로 설정하는 단계와, 데이터 라 이터로부터 출력되고 상기 DRAM 인터페이스를 통하여 입력된 OS 이미지를 비휘발성 메모리에 라이트하는 단계를 포함한다.
상기 부트 로더를 이용하여 DRAM 인터페이스를 초기 상태로 설정하는 단계는 상기 데이터 라이터로부터 출력되고 디벅 포트(debug port)를 통하여 입력된 상기 부트 로더를 실행시켜 상기 DRAM 인터페이스를 초기 상태로 설정할 수 있다.
상기 OS 이미지를 비휘발성 메모리에 라이트하는 단계는 상기 데이터 라이터로부터 출력되고 디벅 포트를 통하여 입력된 FTL 코드를 참조하여 상기 OS 이미지를 상기 비휘발성 메모리에 라이트할 수 있다.
상기 기술적 과제를 달성하기 위한 반도체 장치의 OS 이미지 라이트 방법은 부트 로더를 이용하여 ASIC의 DRAM 인터페이스를 초기 상태로 설정하는 단계와, 데이터 라이터로부터 출력된 OS 이미지를 제1DRAM 인터페이스를 통하여 메모리 영역에 저장하는 단계와, 상기 ASIC의 DRAM 인터페이스에 접속된 제2DRAM 인터페이스를 통하여 상기 메모리 영역에 저장된 상기 OS 이미지를 리드하는 단계와, 상기 ASIC이 리드된 상기 OS 이미지를 비휘발성 메모리 인터페이스를 통하여 비휘발성 메모리에 라이트하는 단계를 포함한다.
상기 부트 로더를 이용하여 ASIC의 DRAM 인터페이스를 초기 상태로 설정하는 단계는 상기 데이터 라이터로부터 출력되고 디벅 포트를 통하여 입력된 상기 부트 로더를 이용하여 상기 ASIC의 상기 DRAM 인터페이스를 초기 상태로 설정할 수 있다.
상기 OS 이미지를 비휘발성 메모리 인터페이스를 통하여 비휘발성 메모리에 라이트하는 단계는 상기 데이터 라이터로부터 출력되고 디벅 포트를 통하여 입력된 FTL 코드를 참조하여 상기 OS 이미지를 상기 비휘발성 메모리 인터페이스를 통하여 상기 비휘발성 메모리에 라이트할 수 있다.
상기 기술적 과제를 달성하기 위한 반도체 장치는 OS 이미지를 저장하기 위한 비휘발성 메모리와, DRAM 프로토콜에 따라 데이터 라이터로부터 출력된 상기 OS 이미지를 수신하여 저장할 수 있는 데이터 저장 장치와, 상기 데이터 저장 장치에 저장된 상기 OS 이미지를 상기 비휘발성 메모리에 라이트하기 위한 ASIC을 포함한다.
상기 ASIC은 상기 DRAM 프로토콜에 따라 상기 데이터 저장 장치로부터 상기 OS 이미지를 리드하기 위한 DRAM 인터페이스를 포함하고, 상기 ASIC은 상기 데이터 라이터로부터 출력되고 디벅 포트를 통하여 입력된 부트 로더를 이용하여 상기 DRAM 인터페이스를 초기 상태로 설정할 수 있다.
상기 데이터 저장 장치는 상기 DRAM 프로토콜에 따라 상기 ASIC과 신호를 주고받을 수 있는 제1포트와, 상기 DRAM 프로토콜에 따라 상기 데이터 라이터와 신호를 주고받을 수 있는 제2포트와, 액세스 권한에 따라, 상기 제1포트를 통하여 상기 ASIC이 액세스하거나 또는 상기 제2포트를 통하여 상기 데이터 라이터가 액세스할 수 있는 공유 메모리 뱅크를 포함하며, 상기 데이터 라이터로부터 출력된 상기 OS 이미지는 상기 제2포트, 상기 공유 메모리 뱅크, 및 상기 제1포트를 통하여 상기 ASIC으로 전송된다.
상기 ASIC은 상기 데이터 라이터로부터 출력되고 디벅 포트를 통하여 입력된 FTL 코드를 상기 데이터 저장 장치에 저장하고 상기 데이터 저장 장치에 저장된 상기 FTL 코드를 참조하여 상기 데이터 저장 장치에 저장된 상기 OS 이미지를 상기 비휘발성 메모리에 라이트할 수 있다.
본 발명의 실시 예에 따른 반도체 장치의 OS 이미지 라이트 방법은 상기 반도체 장치의 성능을 개선할 수 있는 효과가 있다.
또한, 본 발명의 실시 예에 따른 반도체 장치의 OS 이미지 라이트 방법은 OS이미지를 새로운 구조를 갖는 반도체 장치의 비휘발성 메모리에 라이트할 수 있는 효과가 있다.
본 명세서 또는 출원에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니된다.
본 발명의 개념에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시 예들을 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부 가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.
도 1은 데이터 라이터(data writer)의 구조도를 나타낸다. 도 1을 참조하면, 데이터 라이터(10)는 다수의 소켓들(11)을 포함할 수 있다. 다수의 소켓들(11) 각각에는 도 2에 도시된 다수의 반도체 장치들(20-1~20-m) 각각이 삽입될 수 있다. 또한, 다수의 소켓들(11) 각각에는 도 8에 도시된 다수의 반도체 장치들(80-1~80-m) 각각이 삽입될 수 있다.
데이터 라이터(10)는 각 소켓(11)에 삽입된 각 반도체 장치(20-1~20-m, 또는 80-1~80-m)에 구현된 각 비휘발성 메모리(25-1~25-m)에 데이터 또는 프로그램(예컨대, OS 이미지)을 라이트할 수 있는 장비를 의미하며 ROM 라이터(rom writer)라고도 불릴 수 있다.
도 2는 도 1에 도시된 데이터 라이터와 다수의 반도체 장치들을 포함하는 데이터 처리 시스템(100)의 일 실시 예를 나타내는 블락도를 나타낸다.
도 1과 도 2를 참조하면, 데이터 처리 시스템(100)은 데이터 라이터(10) 및 다수의 반도체 장치들(20-1~20-m)을 포함할 수 있다. 다수의 반도체 장치들(20-1~20-m) 각각은 데이터 라이터(10)에 구현된 다수의 소켓들(11) 각각에 삽입될 수 있다.
데이터 라이터(10)는 CPU(12), 프로그램이 가능한 다수의 로직 칩들(logic chips), 예컨대 다수의 FPGA들(field-programmable gate arrays; 13-1~13-m; m은 자연수), 및 다수의 메모리들(15-1~15-m)을 포함할 수 있다. 다수의 로직 칩들(13-1~13-m) 각각은 각각의 메모리(15-1~15-m)에 저장된 OS 이미지를 각각의 비휘발성 메모리(25-1~25-m)에 라이트하기 위한 CPU 또는 프로세서로서의 기능을 수행할 수 있다.
CPU(12)는 데이터 라이터(10)의 전반적인 동작을 제어할 뿐만 아니라 다수의 FPGA들(13-1~13-m) 각각의 동작을 제어할 수 있다. 다수의 FPGA들(13-1~13-m) 각각은-CPU(11)의 제어 하에 또는 독립적으로 또는 각각의 반도체 장치(20-1~20-m)로부터 출력된 신호에 응답하여-다수의 메모리들(15-1~15-m) 각각에 저장된 데이터를 다수의 반도체 장치들(20-1~20-m) 각각으로 전송할 수 있다.
예컨대, 다수의 메모리들(15-1~15-m) 각각은 다수의 휘발성 메모리 셀들, 예컨대 DRAM 셀들, SRAM 셀들, 또는 SDRAM 셀들을 포함할 수 있다. 다수의 메모리들 (15-1~15-m) 각각에 저장되는 데이터는 제2부트 로더(boot loader), 플래시 변환 계층(Flash Translation Layer(FTL)) 코드, 및 OS(Operating System) 이미지(또는 OS를 포함하는 파일)를 포함할 수 있다. 또한, 상기 데이터는 OS 이미지 이외에 이 미지(예컨대, 프로그램 또는 파일)를 포함할 수 있다.
다수의 소켓들(11) 각각에 다수의 반도체 장치들(20-1~20-m) 각각이 삽입된 경우, 다수의 FPGA들(13-1~13-m) 각각은 JTAG(Joint Test Action Group) 인터페이스를 통하여 제2부트 로더와 FTL 코드를 다수의 반도체 장치들(20-1~20-m) 각각으로 전송할 수 있다. 여기서 JTAG 인터페이스는 디벅 포트(debug port)의 일 예를 나타낸다. 그 후 각각의 FPGA(13-1~13-m)는 각각의 DRAM 인터페이스(예컨대, 도 3의 제2포트(33) 또는 도 4의 제2포트(43))를 통하여 각각의 OS 이미지를 각각의 반도체 장치(20-1~20-m)로 전송할 수 있다.
각각의 반도체 장치(20-1~20-m)는 각각의 데이터 저장 장치(21-1~21-m), 각각의 로직 칩(23-1~23-m), 및 각각의 비휘발성 메모리(25-1~25-m)을 포함할 수 있다. 각각의 반도체 장치(20-1~20-m)는 칩 또는 상기 칩이 실장된 패키지일 수 있다.
또한, 도 2에 도시된 구성을 갖는 각각의 반도체 장치(20-1~20-m)는 메모리 링크 구조(Memory Link Architecture(MLA))라고 불릴 수 있다. 본 발명에 따른 방법을 사용하지 않고는 MLA(20-1~20-m)에 OS 이미지를 라이트할 수 있는 방법이 없다.
각각의 데이터 저장 장치(21-1~21-m)는 두 개 이상의 포트들을 갖는 멀티-포트 메모리일 수 있고, 각각의 로직 칩(23-1~23-m)은 ASIC(application-specific integrated circuit)으로 구현될 수 있다. 각각의 로직 칩(23-1~23-m)은 OS 이미지를 각각의 비휘발성 메모리(25-1~25-m)에 라이트할 수 있는 프로세서로서의 기능을 수행할 수 있다.
또한, 각각의 비휘발성 메모리(25-1~25-m)는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리, MRAM(Magnetic RAM), 스핀전달토크 MRAM(Spin-Transfer Torque MRAM), Conductive bridging RAM(CBRAM), FeRAM (Ferroelectric RAM), OUM(Ovonic Unified Memory)라고도 불리는 PRAM(Phase change RAM), 저항 메모리(Resistive RAM: RRAM 또는 ReRAM), 나노퓨브 RRAM(Nanotube RRAM), 폴리머 RAM(Polymer RAM: PoRAM), 나노 부유 게이트 메모리 (Nano Floating Gate Memory: NFGM), 홀로그래픽 메모리 (holographic memory), 분자 전자 메모리 소자(Molecular Electronics Memory Device), 또는 절연 저항 변화 메모리(Insulator Resistance Change Memory)일 수 있다. 상기 비휘발성 메모리 셀은 하나의 비트 또는 다수의 비트들을 저장할 수 있다. 또한, 각각의 비휘발성 메모리(25-1~25-m)는 ROM일 수 있다.
각각의 비휘발성 메모리(25-1~25-m)에는 DRAM 프로토콜에 따라 데이터 라이터(10)로부터 전송된 OS 이미지가 저장될 수 있다.
도 3은 도 2에 도시된 데이터 저장 장치의 일 실시 예를 나타내는 블락도를 나타낸다. 도 3에 도시된 데이터 저장 장치(21-1)는 제1포트(31), 제2포트(33), 메모리 영역(35), 및 액세스 컨트롤러(37)를 포함할 수 있다.
제1포트(31)와 제2포트(33) 각각은 DRAM 프로토콜에 따라 입출력되는 신호들을 처리할 수 있는 DRAM 인터페이스(예컨대, 하드웨어 또는 소프트웨어)일 수 있다. 실시 예에 따라 제1포트(31)와 제2포트(33) 각각은 SRAM 프로토콜 또는 SDRAM 프로토콜에 따라 입출력되는 신호들을 처리할 수 있는 인터페이스로 구현될 수 있다.
메모리 영역(35)은 FTL 코드 및/또는 OS 이미지를 저장할 수 있는 비휘발성 메모리 셀들을 포함할 수 있다. 액세스 컨트롤러(37)는 제1포트(31)를 통하여 ASIC (23-1)이 메모리 영역(35)을 액세스하는 동작 또는 제2포트(33)를 통하여 FPGA(13-1)가 메모리 영역(35)을 액세스하는 동작을 제어할 수 있다.
제1포트(31)는 도 5에 도시된 제1컨트롤러(51)와 데이터를 주고받을 수 있다. 예컨대, 제1포트(31)와 제1컨트롤러(51)는 DRAM 프로토콜, SRAM 프로토콜, 또는 SDRAM 프로토콜에 따라 데이터를 주고받을 수 있다. 또한, 제2포트(33)는 FPGA (13-1)와 DRAM 프로토콜, SRAM 프로토콜, 또는 SDRAM 프로토콜에 따라 데이터를 주고받을 수 있다.
도 5는 도 2에 도시된 ASIC의 블락도를 나타낸다. 도 5를 참조하면, ASIC (23-1)은 다수의 컨트롤러들(51, 52, 및 53), 프로세서(54), ROM(55), RAM(56), 브리지(57), 및 다수의 버스들(BUS1과 BUS2)을 포함할 수 있다.
제1컨트롤러(51)는 제2부트 로더에 따라 초기화되거나 또는 초기 상태로 설정될 수 있다. 제2컨트롤러(52)는 JTAG 프로토콜에 따라 FPGA(13-1)과 데이터를 주고받을 수 있는 인터페이스일 수 있다. 예컨대, 제2컨트롤러(52)는 FPGA(13-1)의 JTAG 포트와 접속되는 포트일 수 있다. 제3컨트롤러(53)은 비휘발성 메모리(25-1)와 데이터를 주고받기 위한 프로토콜, 예컨대 NAND 프로토콜을 지원할 수 있는 인터페이스일 수 있다.
프로세서(54)는 ROM(55)에 저장된 제1부트 로더를 로딩하여 실행할 수 있고, 제1컨트롤러(51)를 초기 상태로 설정하기 위하여 RAM(56)에 저장된 제2부트 로더를 로딩하여 실행할 수 있다. 브리지(57)는 다수의 버스들(BUS1과 BUS2) 사이에서 주고받는 데이터의 프로토콜을 변환할 수 있다.
도 7은 도 2에 도시된 데이터 처리 시스템의 데이터 라이트 방법을 설명하기 위한 흐름도이다. 도 1 내지 도 3, 도 5, 및 도 7을 참조하여 데이터 처리 시스템 (100)의 데이터 처리 방법을 설명하면 다음과 같다.
설명의 편의를 위하여 데이터 라이터(10)의 하나의 소켓(11)에 삽입된 반도체 장치(20-1)의 데이터 처리 방법을 설명한다. 데이터 라이터(10)와 반도체 장치(20-1)로 전원이 공급되면, ASIC(23-1)의 프로세서(54)는 ROM(55)에 저장된 제1부트 로더를 로딩하여 실행한다.
FPGA(13-1)는 메모리(15-1)에 저장된 제2부트 로더를 디벅 포트, 즉 JTAG 인터페이스를 통하여 ASIC(23-1)으로 전송한다.
프로세서(54)는 JTAG 프로토콜을 사용하는 제2컨트롤러(52)를 통하여 입력된 제2부트 로드를 수신하여 RAM(56)에 저장하도록 제어한다(S10). 그리고 프로세서(54)는 RAM(56)에 저장된 제2부트 로더에 따라 제1컨트롤러, 예컨대 DRAM 컨트롤러를 초기화할 수 있다(S20).
그후 FPGA(13-1)는 메모리(15-1)에 저장된 FTL 코드를 JTAG 인터페이스들을 통하여 ASIC(23-1)으로 전송할 수 있다. 제1컨트롤러(51)는 프로세서(54)의 제어 하에 제2컨트롤러(52)를 통하여 입력된 TFL 코드를 데이터 저장 장치(21-1)의 메모 리 영역(35)에 저장할 수 있다(S30). 즉, 액세스 컨트롤러(37)는 제1포트(31)를 통하여 입력된 명령과 어드레스에 따라 제1포트(31)를 통하여 입력된 FTL 코드를 메모리 영역(35)에 저장할 수 있다.
상술한 바와 같이 제1포트(31)는 제1컨트롤러(51)와 데이터를 주고받기 위하여 제1컨트롤러(51)의 프로토콜에 적합한 프로토콜을 지원하는 인터페이스일 수 있다.
FTL 코드가 메모리 영역(35)에 저장에 저장된 후 액세스 컨트롤러(37)는 제2포트(33)를 통하여 OS 이미지를 수신할 준비가 되어 있음을 지시하는 지시 신호를 FPGA(13-1)로 전송할 수 있다.
또한, 실시 예에 따라 FTL 코드가 메모리 영역(35)에 저장에 저장된 후 액세스 컨트롤러(37)는 제2포트(33)를 통하여 OS 이미지를 수신할 준비가 되어 있음을 지시하는 지시 신호를 프로세서(54)로 전송할 수 있다. 이때 상기 지시 신호는 제1컨트롤러(51)와 브리지(57)를 통하여 프로세서(54)로 전송될 수 있고, 프로세서 (54)는 제2컨트롤러(52)와 JTAG 인터페이스를 통하여 상기 지시 신호를 FPGA(13-1)로 전송할 수 있다.
FPGA(13-1)는 메모리(15-1)에 저장된 OS 이미지를 제2포트(33), 예컨대 DRAM 인터페이스, SRAM 인터페이스, 또는 SDRAM 인터페이스를 사용하는 제2포트(33)로 전송하고, 액세스 컨트롤러(37)는 제2포트(33)를 통하여 입력된 명령과 어드레스에 응답하여 제2포트(33)를 통하여 입력된 OS 이미지를 메모리 영역(35)에 저장할 수 있다.
메모리 영역(35)에 OS 이미지가 저장된 후, 액세스 컨트롤러(37)는 OS 이미지가 메모리 영역(35)에 저장됨을 지시하기 위한 지시 신호를 제1포트(31)를 통하여 ASIC(23-1)으로 전송할 수 있다. 프로세서(54)는 제1컨트롤러(51)와 브리지(57)를 통하여 입력된 상기 지시 신호에 응답하여 메모리 영역(35)에 저장된 OS 이미지를 리드하여 리드된 OS 이미지를 제3컨트롤러, 예컨대 비휘발성 메모리 컨트롤러를 통하여 비휘발성 메모리(25-1)에 라이트할 수 있다(S40). 이때 프로세서(54)는 메모리 영역(35)에 저장된 FTL 코드를 참조하여 OS 이미지를 비휘발성 메모리(25-1)에 라이트할 수 있다(S40).
도 4는 도 2에 도시된 데이터 저장 장치의 다른 실시 예를 나타태는 블락도를 나타내고, 도 6은 도 4에 도시된 데이터 저장 장치의 세머포와 메일박스의 기능을 설명하기 위한 블락도를 나타낸다.
도 4를 참조하면, 데이터 저장 장치(21-1)는 ASIC(51)과 접속될 수 있는 제1포트(또는 A-포트; 41), 다수의 메모리 뱅크들(42, 44, 46, 및 48), 및 FPGA(13-1)와 접속될 수 있는 제2포트(또는 B-포트; 43)를 포함할 수 있다. 제1포트(또는 A-포트; 41)와 제2포트(또는 B-포트; 43)는 DRAM 프로토콜, SRAM 프로토콜, 또는 SDRAM 프로토콜에 따라 데이터를 주고받을 수 있는 인터페이스일 수 있다.
메모리 뱅크(42)는 제1포트(41)를 통하여 ASIC(23-1)에 의하여 액세스될 수 있는 전용 메모리 뱅크이고, 메모리 뱅크들(46과 48) 각각은 제2포트(43)를 통하여 FPGA(13-1) 또는 CPU에 의하여 액세스될 수 있는 전용 메모리 뱅크이고, 메모리 뱅크(44)는 제1포트(41) 또는 제2포트(43)를 통하여 액세스될 수 있는 공유 메모리 뱅크이다.
공유 메모리 뱅크(44)는 내부 레지스터들(51~56)을 포함할 수 있다. 예컨대 내부 레지스터들(51~56)은 하나의 로우 사이즈(row size)에 해당하는 크기, 예컨대 2KB일 수 있다.
예컨대, 특정한 로우 어드레스가 데이터 저장 장치(21-1)로 입력될 때 공유 메모리 뱅크(44)의 특정한 영역은 디스에이블되고 내부 레지스터들(51~56)이 인에이블될 수 있다.
내부 레지스터들(51~56)은 세머포 레지스터(51), 메일박스 레지스터들(52와 53), 체크 레지스터들(54와 55), 및 유보 레지스터(56)를 포함할 수 있다.
내부 레지스터들(51~55)은 FPGA(13-1)와 ASIC(23-1)이 동시에 공유 메모리 뱅크(44)를 액세스할 때 발생할 수 있는 충돌 상황(conflict situation)을 해결하고 제1포트(41)와 제2포트(43) 사이에 액세스 권한(access authority)과 데이터 전송의 허가를 지원할 수 있다.
세머포 레지스터(51)는 공유 메모리 뱅크(44)에 대한 액세스 권한을 어떤 포트, 예컨대 제1포트(41) 또는 제2포트(43)가 가지고 있는지를 나타내는 비트를 저장할 수 있다. 예컨대, 세머포 레지스터(51)의 값 "1"은 제2포트(43)가 공유 메모리 뱅크(44)에 대한 액세스 권한을 가지고 있음을 나타낼 수 있고, 세머포 레지스터(51)의 값 "0"은 제1포트(41)가 공유 메모리 뱅크(44)에 대한 액세스 권한을 가지고 있음을 나타낼 수 있다. 실시 예에 따라 그 반대의 경우도 가능함을 물론이다.
세머포 레지스터(51)의 값은 액세스 권한을 가진 포트에 의해서만 라이트될 수 있다. 실시 예에 따라 세머포 레지스터(51)는 1-비트 레지스터일 수 있고 2-비트 레지스터일 수 있으나 이에 한정되는 것은 아니다.
각 메일박스 레지스터(52와 53)는 메시지(예컨대, 라이트 또는 리드될 데이터의 위치와 크기, 명령, 등)와 리얼 쇼트 데이터(real short data)의 전송을 위하여 사용될 수 있다.
예컨대, 제1포트(41)로부터 제2포트(43)로 메시지를 전송하기 위하여 메일 박스 레지스터(Mail Box AB; 52)는 제1포트(41)에 의하여 라이트될 수 있고 제2포트(43)에 의하여 단지 리드만 될 수 있다. 반대로, 제2포트(43)로부터 제1포트(41)로 메시지를 전송하기 위하여 메일 박스 레지스터(Mail Box BA; 53)는 제2포트(43)에 의하여 라이트될 수 있고 제1포트(41)에 의하여 단지 리드만 될 수 있다.
각 메일 박스 레지스터(52와 53)에 메시지가 라이트된 경우 인터럽트 신호가 발생한다. 예컨대, 메일 박스 레지스터(Mail Box AB; 52)에 메시지가 라이트된 경우 인터럽트 신호는 제2포트(43)를 통하여 FPGA(13-1)로 전송될 수 있고 메일 박스 레지스터(Mail Box BA; 53)에 메시지가 라이트된 경우 인터럽트 신호는 제1포트(41)를 통하여 프로세서(54)로 전송될 수 있다.
각 체크 레지스터(54와 55)의 값은 각 메일 박스 레지스터(52와 53)에 라이트된 메시지가 반대 포트에 의하여 리드되었는지를 나타낼 수 있다. 각 체크 레지스터(54와 55)의 값은 각 메일 박스 레지스터(52와 53)로 출력된 리드/라이트 명령에 따라 자동적으로 변경될 수 있다.
예컨대, 제1포트(41)가 메일 박스 레지스터(Mail Box AB; 52)로 라이트 명령을 출력한 경우 체크 레지스터(Check AB; 54)의 값은 "1"로 설정될 수 있고, 제2포트(43)가 메일 박스 레지스터(Mail Box AB; 52)로 리드 명령을 출력한 경우 체크 레지스터(Check AB; 54)의 값은 "0"으로 설정될 수 있다. 실시 예에 따라, 그 반대의 경우도 가능하다.
도 4와 도 6을 참조하여 공유 메모리 뱅크(44)에 대한 액세스 권한이 제2포트(43)로부터 제1포트(41)로 이전되는 경우를 단계 별로 설명하면 다음과 같다.
초기에 세머포 레지스터(51)의 값이 "1"로 설정되어 있으므로, FPGA(13-1)는 제2포트(43)를 이용하여 각 전용 메모리 뱅크(46과 48) 뿐만 아니라 공유 메모리 뱅크(44)를 액세스할 수 있다. 이때, ASIC(23-1)는 전용 메모리 뱅크(42)를 액세스할 수는 있으나 공유 메모리 뱅크(44)를 액세스할 수 없다.
첫 번째 단계에서, FPGA(13-1)는 공유 메모리 뱅크(44)에 대한 액세스 권한을 체크하기 위하여 제2포트(43)를 통하여 세머포 레지스터(51)의 값(예컨대, "1")을 리드한다.
두 번째 단계에서, ASIC(23-1)는 제1포트(41)를 통하여 공유 메모리 뱅크(44)에 대한 액세스 권한 변경을 요청하는 메시지를 메일 박스 레지스터(Mail Box AB; 52)에 라이트할 수 있다(WD). 이때, 메일 박스 레지스터(Mail Box AB; 52)에 소정의 메시지가 라이트되었음을 FPGA(13-1)에게 알리기 위하여 인터럽트 신호가 활성화된다.
세 번째 단계에서, 활성화된 인터럽트 신호에 응답하여 FPGA(13-1)는 제2포 트(43)를 통하여 메일 박스 레지스터(Mail Box AB; 52)에 라이트된 메시지를 리드한다(RD).
네 번째 단계에서, FPGA(13-1)는 제2포트(43)를 통하여 세머포 레지스터(51)의 값을 "1"에서 "0"으로 변경할 수 있다. FPGA(13-1)는 메일 박스 레지스터(Mail Box BA; 53)에 세머포 레지스터(51)의 값이 "1"에서 "0"으로 변경되었음을 알리기 위한 메시지를 라이트한다. ASIC(23-1)는 제1포트(41)를 통하여 메일 박스 레지스터(Mail Box BA; 53)에 라이트된 메시지를 읽어간다.
다섯 번째 단계에서, ASIC(23-1)는 제1포트(41)를 통하여 세머포 레지스터 (51)의 값을 리드하여 공유 메모리 뱅크(44)의 액세스 권한이 변경되었음을 확인한다. 따라서, ASIC(23-1)은 제1포트(41)를 통하여 공유 메모리 뱅크(44)를 액세스할 수 있다.
공유 메모리 뱅크(44)에 대한 액세스 권한이 제1포트(41)로부터 제2포트(43)로 다시 이전되는 과정은 상술한 첫 번째 단계 내지 다섯 번째 단계를 참조하면 이해될 수 있을 것이다.
도 7은 도 2에 도시된 데이터 처리 시스템의 데이터 라이트 방법을 설명하기 위한 흐름도이다. 도 1, 도 2, 도 4 내지 7을 참조하여 데이터 라이터(10)의 FPGA(13-1)로부터 출력된 OS 이미지가 DRAM 인터페이스들을 통하여 반도체 장치 (20-1)의 비휘발성 메모리(25-1)에 라이트되는 과정을 설명하면 다음과 같다.
반도체 장치(20-1)가 데이터 라이터(10)의 소켓(11)에 삽입되고 전원이 데이터 라이터(10)와 반도체 장치(20-1)에 공급되면 ROM(55)에 저장된 제1부트 로더는 프로세서(54)에 의하여 로딩되고 실행된다.
FPGA(13-1)는 메모리(15-1)에 저장된 제2부트 로더를 리드하여 이를 JTAG 인터페이스를 통하여 ASIC(23-1)으로 전송한다(S10). 프로세서(54)는 JTAG 프로토콜을 사용하는 제2컨트롤러(52)를 통하여 입력된 제2부트 로더를 RAM(56)에 저장하는 것을 제어한다(S10). 그리고 프로세서(54)는 RAM(56)에 저장된 제2부트 로더를 실행하여 제1컨트롤러(51)를 세팅 또는 초기화한다(S20).
계속하여 FPGA(13-1)는 메모리(15-1)에 저장된 FTL 코드를 리드하여 이를 JTAG 인터페이스를 통하여 ASIC(23-1)으로 전송한다(S30). 프로세서(54)는 제2컨트롤러(52)를 통하여 입력된 FTL 코드를 브리지(57)와 제1컨트롤러(51)와 제1포트(41)를 통하여 메모리 뱅크(42)에 저장한다(S30).
프로세서(54)는 DRAM 인터페이스를 사용하는 제1포트(41)를 통하여 OS 이미지를 수신할 준비가 되었음을 지시하는 메시지를 메일 박스(Mail Box AB)에 라이트한다. 이때 인터럽트 신호는 DRAM 프로토콜을 지원하는 제2포트(43)를 통하여 FPGA (13-1)로 전송된다.
FPGA(13-1)는 상기 인터럽트 신호에 응답하여 메모리(15-1)에 저장된 OS 이미지를 DRAM 인터페이스를 사용하는 제2포트(43)를 통하여 공유 메모리 뱅크(44)에 라이트한다(S40). FPGA(13-1)는 공유 메모리 뱅크(44)에 OS 이미지가 저장되었음을 지시하는 메시지를 메일박스(Mail Box BA)에 라이트한다. 이때 인터럽트 신호는 제1포트(41)를 통하여 ASIC(23-1)의 프로세서(54)로 전송된다.
ASIC(23-1)의 프로세서(54)는 메일박스(Mail Box BA)에 라이트된 메시지에 기초하여 제1포트(41)를 통하여 액세스 권한 변경을 요청하는 메시지를 메일 박스 레지스터(Mail Box AB)에 라이트한다. 이때 인터럽트 신호는 제2포트(43)를 통하여 FPGA(13-1)로 전송된다. FPGA(13-1)는 인터럽트 신호에 응답하여 세머포 레지스터(51)의 값을 "1"에서 "0"으로 변경한다. 그리고 FPGA(13-1)는 메일 박스 레지스터(Mail Box BA)에 세머포 레지스터(51)의 값이 "1"에서 "0"으로 변경되었음을 알리기 위한 메시지를 라이트한다. 이때 인터럽트 신호는 ASIC(23-1)의 프로세서(54)로 전송된다.
ASIC(23-1)의 프로세서(54)는 제1포트(41)를 통하여 세머포 레지스터(51)의 값을 리드하여 공유 메모리 뱅크(44)의 액세스 권한이 변경되었음을 확인한다. 따라서, ASIC(23-1)의 프로세서(54)은 제1포트(41)와 제1컨트롤러(51)를 통하여 공유 메모리 뱅크(44)에 저장된 OS 이미지를 리드하여 리드된 OS 이미지를 제3컨트롤러(53)를 통하여 비휘발성 메모리(25-1)에 라이트할 수 있다(S40). 이 때 프로세서(54)는 메모리 뱅크(42)에 저장된 FTL 코드를 이용하여 OS 이미지를 비휘발성 메모리(25-1)에 라이트할 수 있다.
ASIC(23-1)의 프로세서(54)는 OS 이미지가 비휘발성 메모리(25-1)에 저장된 후 공유 메모리 뱅크(44)에 대한 액세스 권한을 FPGA(13-1)로 넘긴다.
예컨대, OS 이미지가 큰 경우 FPGA(13-1)는 상기 OS 이미지를 다수의 부분들로 분할하고 분할된 각 부분을 DRAM 인터페이스를 통하여 순차적으로 비휘발성 메모리(25-1)에 라이트할 수 있다.
OS 이미지에 대한 라이트 동작이 종료된 경우 FPGA(13-1)는 DRAM 인터페이스 를 통하여 비휘발성 메모리(25-1)에 저장된 OS 이미지를 리드하여 검증 (verification) 동작을 수행하고 검증 동작의 결과 에러가 발생하지 않은 경우 데이터 라이트 동작을 완료할 수 있다.
데이터 라이터(10)에 의하여 DRAM 인터페이스를 통하여 OS 이미지가 성공적으로 반도체 장치(20-1)의 비휘발성 메모리(25-1)에 라이트된 경우 반도체 장치(20-1)는 소켓(11)으로부터 분리되고, 분리된 반도체 장치(20-1)는 다른 장치와 결합하여 사용될 수 있다. 이 경우 데이터 저장 장치(21-1)의 제2포트(43)에는 CPU가 접속될 수 있다.
또한, 상기 CPU와 반도체 장치(20-1)는 하나의 데이터 처리 시스템을 구성할 수 있다. 상기 데이터 처리 시스템은 스마트 카드, 메모리 카드, 데이터 저장 장치, SSD(solid state disc), 이미지 픽업 장치, 카메라, 이동 전화기, PDA, PMP, 디지털 TV, 셋탑 박스, 네비게이션 장치, 게임기, 또는 컴퓨터로 구현될 수 있다.
도 8은 도 1에 도시된 데이터 라이터와 다수의 반도체 장치들을 포함하는 데이터 처리 시스템의 다른 실시 예를 나타내는 블락도를 나타내고, 도 9는 도 8에 도시된 ASIC의 블락도를 나타내고, 도 10은 도 8에 도시된 데이터 처리 시스템의 데이터 라이트 방법을 설명하기 위한 흐름도이다.
도 8을 참조하면, 데이터 처리 시스템(200)은 데이터 라이터(10)에 구현된 다수의 소켓들에 삽입된 다수의 반도체 장치들(80-1~80-m)을 포함할 수 있다.
도 8에 도시된 데이터 처리 시스템(200)은 도 2에 도시된 데이터 처리 시스템(100)과 달리 제2부트 로더와 TFL코드를 전송하기 위한 JTAG 인터페이스를 사용 하지 않는다.
도 9에 도시된 바와 같이 DRAM 컨트롤러(91)를 초기화하기 위한 제2부트 로더와 논리 어드레스를 물리 어드레스로 변환하기 위한 TFL 코드는 ROM(94)에 저장된다. 여기서 ROM(94)은 비휘발성 메모리의 일 예로서 ROM(94)은 EEPROM, 플래시 메모리, MRAM, 스핀전달토크 MRAM, Conductive bridging RAM(CBRAM), FeRAM, OUM라고도 불리는 PRAM, 저항 메모리, 나노퓨브 RRAM, 폴리머 RAM, 나노 부유 게이트 메모리, 홀로그래픽 메모리, 분자 전자 메모리 소자, 또는 절연 저항 변화 메모리로 대체될 수 있다.
도 1, 및 도 8 내지 도 10을 참조하여 OS 이미지를 반도체 장치(80-1)의 비휘발성 메모리(25-1)에 라이트하는 과정을 설명하면 다음과 같다.
반도체 장치(80-1)가 데이터 라이터(10)의 소켓(11)에 삽입되고 반도체 장치(80-1)와 데이터 라이터(10)에 전원이 공급되면(S110), ROM(94)에 저장된 제1부트 로더는 프로세서(93)에 로딩되고 실행된다(S120).
ROM(94)에 저장된 제2부트 로더는 프로세서(93)에 실행되고(S130), 프로세서(93)는 DRAM 컨트롤러(91)를 초기화한다(S140). DRAM 컨트롤러(91)가 초기화된 후 프로세서(93)는 DRAM 컨트롤러(91)를 통하여 ROM(94)에 저장된 TFL 코드를 도 3에 도시된 데이터 저장 장치(21-1)의 메모리 영역(35) 또는 도 4에 도시된 데이터 저장 장치(21-1)의 메모리 뱅크(42)에 저장할 수 있다.
S140단계가 종료된 후 프로세서(93)는 OS 이미지를 수신할 준비가 되었음을 지시하는 지시 신호를 FPGA(13-1)로 전송할 수 있다. FPGA(13-1)는 상기 지시 신호 에 응답하여 메모리(15-1')에 저장된 OS 이미지를 리드하여 이를 데이터 저장 장치 (21-1)로 전송할 수 있다.
도 3을 참조하여 설명한 바와 같이 액세스 컨트롤러(37)가 제2포트(33)를 통하여 입력된 OS 이미지를 메모리 영역(35)에 저장하고 저장 완료 신호를 제1포트 (31)를 통하여 DRAM 컨트롤러(91)로 전송하면 프로세서(93)는 상기 저장 완료 신호에 응답하여 메모리 영역(35)에 저장된 OS 이미지를 리드하여 이를 비휘발성 메모리(25-1)에 라이트할 수 있다.
즉, 반도체 장치(80-1)는 DRAM 인터페이스를 통하여 데이터 라이터(10)로부터 OS 이미지를 수신하고(S150) 수신된 OS 이미지를 비휘발성 메모리(25-1)에 라이트할 수 있다(S160).
또한, 도 4를 참조하여 설명한 바와 같이 공유 메모리 뱅크(44)에 대한 액세스 권한을 갖는 FPGA(13-1)는 메모리(15-1')에 저장된 OS 이미지를 리드하여 이를 DRAM 인터페이스를 지원(또는 사용)하는 제2포트(43)를 통하여 공유 메모리 뱅크(44)에 저장하고 공유 메모리 뱅크(44)에 대한 액세스 권한을 ASIC(81-1)으로 넘긴다.
공유 메모리 뱅크(44)에 대한 액세스 권한을 갖는 ASIC(81-1)은 제1포트(41)를 통하여 공유 메모리 뱅크(44)에 라이트된 OS 이미지를 수신하고(S150), 수신된 OS 이미지를 비휘발성 메모리(25-1)에 라이트한다(S160).
상술한 바와 같이 데이터 라이터(10)와 DRAM 인터페이스를 통하여 접속된 반도체 장치는 상기 DRAM 인터페이스를 통하여 OS 이미지를 수신하고 수신된 OS 이미 지를 비휘발성 메모리에 라이트할 수 있다.
본 명세서에서는 반도체 장치(20-1 또는 80-1)가 DRAM 인터페이스를 통하여 OS 이미지를 수신하는 것을 중심으로 설명했으나, 본 발명의 개념은 DRAM 인터페이스 이외에 SRAM 인터페이스 또는 SDRAM 인터페이스를 통하여 OS 이미지를 비휘발성 메모리(25-1)에 라이트하는 기능을 수행할 수 있는 반도체 장치에 적용될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 데이터 라이터의 구조도를 나타낸다.
도 2는 도 1에 도시된 데이터 라이터와 다수의 반도체 장치들을 포함하는 데이터 처리 시스템의 일 실시 예를 나타내는 블락도를 나타낸다.
도 3은 도 2에 도시된 데이터 저장 장치의 일 실시 예를 나타내는 블락도를 나타낸다.
도 4는 도 2에 도시된 데이터 저장 장치의 다른 실시 예를 나타태는 블락도를 나타낸다.
도 5는 도 2에 도시된 ASIC의 블락도를 나타낸다.
도 6은 도 4에 도시된 데이터 저장 장치의 세머포와 메일 박스 레지스터의 기능을 설명하기 위한 블락도를 나타낸다.
도 7은 도 2에 도시된 데이터 처리 시스템의 데이터 라이트 방법을 설명하기 위한 흐름도이다.
도 8은 도 1에 도시된 데이터 라이터와 다수의 반도체 장치들을 포함하는 데이터 처리 시스템의 다른 실시 예를 나타내는 블락도를 나타낸다.
도 9는 도 8에 도시된 ASIC의 블락도를 나타낸다.
도 10은 도 8에 도시된 데이터 처리 시스템의 데이터 라이트 방법을 설명하기 위한 흐름도이다.

Claims (10)

  1. 부트 로더를 이용하여 DRAM 인터페이스를 초기 상태로 설정하는 단계; 및
    데이터 라이터로부터 출력되고 상기 DRAM 인터페이스를 통하여 입력된 OS 이미지를 비휘발성 메모리에 라이트하는 단계를 포함하는 반도체 장치의 OS 이미지 라이트 방법.
  2. 제1항에 있어서, 상기 부트 로더를 이용하여 DRAM 인터페이스를 초기 상태로 설정하는 단계는,
    상기 데이터 라이터로부터 출력되고 디벅 포트(debug port)를 통하여 입력된 상기 부트 로더를 실행시켜 상기 DRAM 인터페이스를 초기 상태로 설정하는 반도체 장치의 OS 이미지 라이트 방법.
  3. 제1항에 있어서, 상기 OS 이미지를 비휘발성 메모리에 라이트하는 단계는,
    상기 데이터 라이터로부터 출력되고 디벅 포트를 통하여 입력된 FTL 코드를 참조하여 상기 OS 이미지를 상기 비휘발성 메모리에 라이트하는 반도체 장치의 OS 이미지 라이트 방법.
  4. 부트 로더를 이용하여 ASIC의 DRAM 인터페이스를 초기 상태로 설정하는 단계;
    데이터 라이터로부터 출력된 OS 이미지를 제1DRAM 인터페이스를 통하여 메모리 영역에 저장하는 단계;
    상기 ASIC의 DRAM 인터페이스에 접속된 제2DRAM 인터페이스를 통하여 상기 메모리 영역에 저장된 상기 OS 이미지를 리드하는 단계; 및
    상기 ASIC이 리드된 상기 OS 이미지를 비휘발성 메모리 인터페이스를 통하여 비휘발성 메모리에 라이트하는 단계를 포함하는 반도체 장치의 OS 이미지 라이트 방법.
  5. 제4항에 있어서, 상기 부트 로더를 이용하여 ASIC의 DRAM 인터페이스를 초기 상태로 설정하는 단계는,
    상기 데이터 라이터로부터 출력되고 디벅 포트를 통하여 입력된 상기 부트 로더를 이용하여 상기 ASIC의 상기 DRAM 인터페이스를 초기 상태로 설정하는 반도체 장치의 OS 이미지 라이트 방법.
  6. 제4항에 있어서, 상기 OS 이미지를 비휘발성 메모리 인터페이스를 통하여 비휘발성 메모리에 라이트하는 단계는,
    상기 데이터 라이터로부터 출력되고 디벅 포트를 통하여 입력된 FTL 코드를 참조하여 상기 OS 이미지를 상기 비휘발성 메모리 인터페이스를 통하여 상기 비휘발성 메모리에 라이트하는 반도체 장치의 OS 이미지 라이트 방법.
  7. OS 이미지를 저장하기 위한 비휘발성 메모리;
    DRAM 프로토콜에 따라 데이터 라이터로부터 출력된 상기 OS 이미지를 수신하여 저장할 수 있는 데이터 저장 장치; 및
    상기 데이터 저장 장치에 저장된 상기 OS 이미지를 상기 비휘발성 메모리에 라이트하기 위한 ASIC을 포함하는 반도체 장치.
  8. 제7항에 있어서,
    상기 ASIC은 상기 DRAM 프로토콜에 따라 상기 데이터 저장 장치로부터 상기 OS 이미지를 리드하기 위한 DRAM 인터페이스를 포함하고,
    상기 ASIC은 상기 데이터 라이터로부터 출력되고 디벅 포트를 통하여 입력된 부트 로더를 이용하여 상기 DRAM 인터페이스를 초기 상태로 설정하는 반도체 장치.
  9. 제7항에 있어서, 상기 데이터 저장 장치는,
    상기 DRAM 프로토콜에 따라 상기 ASIC과 신호를 주고받을 수 있는 제1포트;
    상기 DRAM 프로토콜에 따라 상기 데이터 라이터와 신호를 주고받을 수 있는 제2포트; 및
    액세스 권한에 따라, 상기 제1포트를 통하여 상기 ASIC이 액세스하거나 또는 상기 제2포트를 통하여 상기 데이터 라이터가 액세스할 수 있는 공유 메모리 뱅크를 포함하며,
    상기 데이터 라이터로부터 출력된 상기 OS 이미지는 상기 제2포트, 상기 공 유 메모리 뱅크, 및 상기 제1포트를 통하여 상기 ASIC으로 전송되는 반도체 장치.
  10. 제7항에 있어서,
    상기 ASIC은 상기 데이터 라이터로부터 출력되고 디벅 포트를 통하여 입력된 FTL 코드를 상기 데이터 저장 장치에 저장하고 상기 데이터 저장 장치에 저장된 상기 FTL 코드를 참조하여 상기 데이터 저장 장치에 저장된 상기 OS 이미지를 상기 비휘발성 메모리에 라이트하는 반도체 장치.
KR1020090040272A 2009-05-08 2009-05-08 반도체 장치, 및 상기 반도체 장치의 os 이미지 라이트 방법 KR20100121215A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090040272A KR20100121215A (ko) 2009-05-08 2009-05-08 반도체 장치, 및 상기 반도체 장치의 os 이미지 라이트 방법
US12/662,749 US20100287424A1 (en) 2009-05-08 2010-05-03 Method of writing an operating systems (OS) image to a semiconductor device and the semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090040272A KR20100121215A (ko) 2009-05-08 2009-05-08 반도체 장치, 및 상기 반도체 장치의 os 이미지 라이트 방법

Publications (1)

Publication Number Publication Date
KR20100121215A true KR20100121215A (ko) 2010-11-17

Family

ID=43063084

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090040272A KR20100121215A (ko) 2009-05-08 2009-05-08 반도체 장치, 및 상기 반도체 장치의 os 이미지 라이트 방법

Country Status (2)

Country Link
US (1) US20100287424A1 (ko)
KR (1) KR20100121215A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101325372B1 (ko) * 2012-12-27 2013-11-08 삼성전자주식회사 엠엘에이의 라이트 속도를 향상시키기 위한 데이터 라이트 장치 및 그 방법
US8719487B2 (en) 2010-12-13 2014-05-06 Samsung Electronics Co., Ltd. Data system with memory link architectures and method writing data to same
KR20220107647A (ko) 2021-01-25 2022-08-02 박철우 농수산물 수의거래 시스템
WO2023038430A1 (ko) * 2021-09-10 2023-03-16 삼성전자 주식회사 메모리를 포함하는 인쇄 회로 기판 및 그의 데이터 처리 방법

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130070514A1 (en) * 2011-09-16 2013-03-21 Advanced Micro Devices, Inc. Integrated circuit with on-die distributed programmable passive variable resistance fuse array and method of making same
JP5135462B1 (ja) * 2011-09-30 2013-02-06 株式会社東芝 情報処理装置及びメモリ管理方法
US10776233B2 (en) 2011-10-28 2020-09-15 Teradyne, Inc. Programmable test instrument
US9470759B2 (en) * 2011-10-28 2016-10-18 Teradyne, Inc. Test instrument having a configurable interface
US9759772B2 (en) 2011-10-28 2017-09-12 Teradyne, Inc. Programmable test instrument
CN103019324B (zh) * 2012-12-26 2015-08-12 无锡江南计算技术研究所 内存能力增强的可重构微服务器
KR102039537B1 (ko) 2013-03-15 2019-11-01 삼성전자주식회사 불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법
US9417863B2 (en) 2013-09-27 2016-08-16 Western Digital Technologies, Inc. System and method for expedited loading of an image onto a storage device
KR102299008B1 (ko) 2014-10-16 2021-09-06 삼성전자주식회사 어플리케이션 프로세서와 이를 포함하는 반도체 시스템
JP6286065B2 (ja) * 2014-12-14 2018-02-28 ヴィア アライアンス セミコンダクター カンパニー リミテッド アウトオブオーダープロセッサの書き込み結合メモリ領域アクセスに依存するロードリプレイを除外する装置及び方法
US10228944B2 (en) * 2014-12-14 2019-03-12 Via Alliance Semiconductor Co., Ltd. Apparatus and method for programmable load replay preclusion
KR102336666B1 (ko) 2017-09-15 2021-12-07 삼성전자 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
US11009547B2 (en) * 2018-12-06 2021-05-18 Super Micro Computer, Inc. Device and method for testing a computer system
US11822930B2 (en) * 2019-07-31 2023-11-21 Hewlett Packard Enterprise Development Lp Electrically programmable application-specific integrated circuit initialization engine
GB2597082B (en) * 2020-07-14 2022-10-12 Graphcore Ltd Hardware autoloader
US20230050729A1 (en) * 2021-08-13 2023-02-16 Texas Instruments Incorporated Resource access security for multiple software contexts

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3838840B2 (ja) * 2000-01-06 2006-10-25 Necエレクトロニクス株式会社 コンピュータ
EP1679590B1 (en) * 2001-01-31 2011-03-23 Renesas Electronics Corporation Data processing system
SG117428A1 (en) * 2002-11-07 2005-12-29 Mrd Technologies Pte Ltd Method and apparatus for loading boot code
KR100737919B1 (ko) * 2006-02-28 2007-07-10 삼성전자주식회사 낸드 플래시 메모리의 프로그램 방법 및 메모리 시스템의프로그램 방법
US8156317B2 (en) * 2008-05-16 2012-04-10 Ati Technologies Ulc Integrated circuit with secure boot from a debug access port and method therefor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8719487B2 (en) 2010-12-13 2014-05-06 Samsung Electronics Co., Ltd. Data system with memory link architectures and method writing data to same
KR101325372B1 (ko) * 2012-12-27 2013-11-08 삼성전자주식회사 엠엘에이의 라이트 속도를 향상시키기 위한 데이터 라이트 장치 및 그 방법
KR20220107647A (ko) 2021-01-25 2022-08-02 박철우 농수산물 수의거래 시스템
WO2023038430A1 (ko) * 2021-09-10 2023-03-16 삼성전자 주식회사 메모리를 포함하는 인쇄 회로 기판 및 그의 데이터 처리 방법

Also Published As

Publication number Publication date
US20100287424A1 (en) 2010-11-11

Similar Documents

Publication Publication Date Title
KR20100121215A (ko) 반도체 장치, 및 상기 반도체 장치의 os 이미지 라이트 방법
US8788741B2 (en) Method and apparatus adapted to prevent code data from being lost in solder reflow
KR102479212B1 (ko) 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법
CN106648954B (zh) 包括片上错误校正码电路的存储器件和系统
US20190212918A1 (en) Near-memory compute module
US20160203091A1 (en) Memory controller and memory system including the same
CN107122317B (zh) 数据存储装置
US9704601B2 (en) Method for repairing defective memory cells in semiconductor memory device
KR102116364B1 (ko) 메모리 시스템 및 그에 따른 반도체 메모리의 결함 메모리 셀 관리방법
CN107919160B (zh) 测试单元阵列的方法及执行其的半导体器件
KR102450553B1 (ko) 저장 장치 및 그것을 내장한 메인 보드 및 그것의 자가 진단 방법
KR20140071135A (ko) 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법
US10585822B2 (en) Operation method of host system including storage device and operation method of storage device controller
US20180136844A1 (en) Arithmetic circuit and a semiconductor device
US10331586B2 (en) Nonvolatile memory device for providing fast booting and system including the same
US10467020B2 (en) Memory device, and information-processing device
US8719487B2 (en) Data system with memory link architectures and method writing data to same
US10379978B2 (en) Semiconductor device and system relating to data mapping
US9720604B2 (en) Block storage protocol to RAM bypass
US20180018219A1 (en) Semiconductor devices and semiconductor systems
KR20150085301A (ko) 메모리 시스템의 동작 방법 및 이를 포함하는 메모리 시스템의 초기화 방법
US20150128000A1 (en) Method of operating memory system
CN107301872B (zh) 半导体存储器装置的操作方法
CN112242176B (zh) 具有测试接口的存储装置
CN112992262A (zh) 将数据和电力发射到存储器子系统以用于存储器装置测试

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid