KR100778459B1 - Apparatus and method for programming, erasing and verificating a pluality of electronic devices - Google Patents
Apparatus and method for programming, erasing and verificating a pluality of electronic devices Download PDFInfo
- Publication number
- KR100778459B1 KR100778459B1 KR1020060047476A KR20060047476A KR100778459B1 KR 100778459 B1 KR100778459 B1 KR 100778459B1 KR 1020060047476 A KR1020060047476 A KR 1020060047476A KR 20060047476 A KR20060047476 A KR 20060047476A KR 100778459 B1 KR100778459 B1 KR 100778459B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- electronic device
- cpu
- state
- electronic devices
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
Description
도 1은 종래 복수의 전자장치를 프로그램, 소거 및 검증하는 장치를 도시한 블록도,1 is a block diagram illustrating an apparatus for programming, erasing, and verifying a plurality of conventional electronic devices;
도 2는 본 발명에 따른 복수 전자장치를 프로그램, 소거 및 검증하는 장치의 블록구성도,2 is a block diagram of an apparatus for programming, erasing, and verifying a plurality of electronic devices according to the present invention;
도 3은 도 2에 도시한 본 발명의 요구 상세 구성도,3 is a detailed configuration diagram of the present invention shown in FIG.
도 4는 본 발명에 따른 복수 전자장치를 프로그램, 소거 및 검증하는 장치에 의한 복수 전자장치의 상태 체크를 설명하기 위한 도면이다.4 is a diagram illustrating a state check of a plurality of electronic devices by a device for programming, erasing, and verifying the plurality of electronic devices according to the present invention.
< 도면의 주요 부분에 대한 부호의 설명 ><Description of Symbols for Main Parts of Drawings>
10 : 버퍼 메모리 20 : CPU10: buffer memory 20: CPU
30 : 모드 설정부 30: mode setting unit
40_1~40_n : FPGA(field-programmable gate array)40_1 ~ 40_n: FPGA (field-programmable gate array)
41 : 제어디코더부 42 : 어드레스 래치41: control decoder 42: address latch
43 : 기록데이터래치 44 : 비교데이터래치43: record data latch 44: comparison data latch
45 : 읽기데이터래치 46 : 상태점검부45: read data latch 46: status check unit
48 : 비교결과래치 49 : 셀렉터48: comparison result latch 49: selector
50_1~50_n : 반도체 칩(전자장치)50_1 to 50_n: semiconductor chip (electronic device)
본 발명은 복수 전자장치를 프로그램, 소거 및 검증하는 장치에 관한 것으로, 보다 상세하게는 프로그램 및 데이터저장 가능한 반도체장치(이하, "전자장치"라고 한다)의 복수 개를 동시에 프로그램 및 데이터 소거하는 과정과 프로그램 후에 저장된 데이터를 검증하는 과정에서 소요되는 시간을 획기적으로 감소시키는 장치에 관한 것이다.The present invention relates to a device for programming, erasing and verifying a plurality of electronic devices, and more particularly, a process of simultaneously programming and erasing a plurality of semiconductor devices (hereinafter, referred to as "electronic devices") capable of storing programs and data. And a device for drastically reducing the time spent in verifying stored data after a program.
종래, 비휘발성 반도체장치(ROM, 플래시 메모리 등)와 이를 내장하는 반도체장치(이하, 모두 "전자장치"라고 한다)는 프로그래머(예를 들면 ROM 라이터)에서 반전에 하나씩 기록(write) 또는 그로그램, 소거(erase) 및 검증(verify)을 각각 실시했다. Conventionally, nonvolatile semiconductor devices (ROMs, flash memories, etc.) and semiconductor devices (hereinafter, all referred to as "electronic devices") incorporating the same are written or programmed one by one in inversion in a programmer (for example, a ROM writer). Erase and verify were performed respectively.
또, 동일시간에 더 많은 전자장치를 프로그램하기 위하여 한번에 4개, 8개, 16개까지 동시에 진행하는 장치가 개발되었다. 이러한 장치를 도 1에 도시하였다. In addition, in order to program more electronic devices at the same time, up to 4, 8, 16 devices at the same time have been developed. Such an apparatus is shown in FIG. 1.
도 1에 도시한 바와 같이, 종래 장치는 프로그램할 16개의 전자장치(반도체 칩)(5_1~5_16)를 탑재하고, 모드설정부(3)를 통하여 프로그램모드를 설정하면 CPU(2)는 버퍼 메모리(1)에 저장된 데이터를 읽어와서 로직IC(4_1~4_16)로 전달하고 로직 IC((4_1~4_16))에 의하여 데이터를 전자장치(반도체 칩)(5_1~5_16)에 기록하게 된다. 프로그램할 때는 매 바이트를 기록할 때마다 상태 점검 비트를 확인하 고 프로그램해야 하며, 소거할 때도 매 섹터당 상태 점검 비트를 확인하고 소거해야 한다. 또한 프로그램한 내용을 검증할 때는 모든 내용을 버퍼 메모리 내용과 비교해서 이상 유무를 알려 주어야 한다. 즉, 프로그램한 내용의 이상 유무를 확인하기 위해서는 모든 전자장치(반도체 칩)(5_1~5_16)에 저장된 내용을 읽어 와서 버퍼 메모리(1)의 내용과 비교하여 이상 유무를 알려 주어야 한다. 이때는 각각의 모든 전자장치(반도체 칩)(5_1~5_16)의 저장 내용을 읽고 비교하여야 하기 때문에 전자장치(반도체 칩)의 개수만큼의 시간이 필요하였다.As shown in Fig. 1, the conventional apparatus is equipped with 16 electronic devices (semiconductor chips) 5_1 to 5_16 to be programmed, and when the program mode is set via the
따라서, 종래의 장치에는 한번에 1개의 전자장치에 대하여 프로그램하고 읽고 검증할 때는 어쩔 수 없이 1번씩 모두 하지만, 한번에 여러 개(16개)의 전자장치에 대하여 수행할 때는 16개의 전자장치에 대하여 동시에 프로그램(write)하는 과정과 그 프로그램한 내용을 확인하는 과정에서도 각각의 전자장치별로 구분하여 수행하기 때문에 전자장치의 개수만큼 시간이 걸려서 수분에서 수 십분 씩 기다려야 하는 상황이 발생한다.Therefore, in a conventional device, all one time is inevitable when programming, reading, and verifying one electronic device at a time. However, when performing a plurality of (16) electronic devices at a time, programs are simultaneously performed on 16 electronic devices. In the process of writing and checking the programmed contents, the electronic devices are classified and performed according to the number of electronic devices. Therefore, it takes time as many as the number of electronic devices to wait for several tens of minutes.
최근에는 대용량 플래시 메모리의 사용 증가로 이러한 시간 단축의 필요성이 더욱 많이 필요하게 되었다.In recent years, with the increasing use of large-capacity flash memory, there is a greater need for this time reduction.
따라서, 본 발명은 상기한 종래 사정을 감안하여 이루어진 것으로, 복수 개의 전자장치를 동시에 프로그램 및 데이터 소거하는 과정과 프로그램 후에 저장된 데이터를 검증하는 과정에서 소요되는 시간을 획기적으로 감소시킬 수 있는 장치를 제공하고자 함에 그 목적이 있다.Accordingly, the present invention has been made in view of the above-described conventional situation, and provides an apparatus capable of drastically reducing the time required for simultaneously programming and erasing a plurality of electronic devices and verifying data stored after the program. The purpose is to.
상기한 목적을 달성하기 위해 본 발명에 따른 장치는, 프로그램(기록)할 데이터가 저장되는 버퍼 메모리와; 탑재되는 프로그램 대상인 복수 개의 전자장치(반도체 칩)와; 각각의 전자장치에 대응하여 설치되어, 상기 전자장치에 데이터를 프로그램하고 프로그램 결과 데이터를 검증하며 상기 전자장치에 저장된 데이터를 소거하는 기능을 수행하는 복수 개의 FPGA와; 상기 복수의 FPGA를 제어하여 복수 개의 전자장치에 대한 프로그램 과정, 검증과정 및 소거과정을 동시에 수행하도록 총괄하는 CPU를 포함하여 구성되고, 상기 FPGA는 자신에 속하는 전자장치의 상태를 점검하여 그 점검상태를 1비트 데이터로 표현하여 상기 CPU로 전송하며, 자신에 속하는 전자장치에 대한 검증과정에서 상기 버퍼 메모리로부터의 원본 데이터와 상기 전자장치에 프로그램된 데이터의 동일 여부에 대한 비교정보를 1비트 데이터로 표현하여 상기 CPU로 전송하며, 상기 CPU는 상기 복수의 FPGA로부터 수신된 1비트의 점검상태정보 또는 비교정보에 근거하여 현재 진행되고 있는 처리에 대한 에러가 발생한 전자장치를 확인하고, 에러가 발생하지 않은 전자장치에 대해서만 현재 진행되고 있는 처리를 지속하도록 제어하는 것을 특징으로 한다.In order to achieve the above object, an apparatus according to the present invention includes a buffer memory for storing data to be programmed (written); A plurality of electronic devices (semiconductor chips) to be mounted on the program; A plurality of FPGAs installed corresponding to each of the electronic devices to perform a function of programming data in the electronic device, verifying program result data, and erasing data stored in the electronic device; The CPU is configured to control the plurality of FPGAs to simultaneously perform a program process, a verification process, and an erase process for a plurality of electronic devices, wherein the FPGA checks a state of an electronic device belonging to the inspection device and checks the state. Is expressed as 1-bit data and transmitted to the CPU, and the comparison information on whether the original data from the buffer memory and the data programmed in the electronic device is the same as the 1-bit data during the verification process for the electronic device belonging to the CPU. Expresses and transmits the data to the CPU. The CPU identifies an electronic device in which an error has occurred regarding a process that is currently being processed, based on 1 bit of check status information or comparison information received from the plurality of FPGAs, and does not generate an error. It is characterized in that only the electronic devices which are not used are controlled to continue the processing currently in progress.
이하, 첨부 도면을 참조하여 본 발명의 바람직한 실시예에 따른 복수의 전자장치를 프로그램, 소거 및 검증하는 장치에 대하여 상세히 설명한다.Hereinafter, an apparatus for programming, erasing, and verifying a plurality of electronic devices according to an exemplary embodiment of the present invention will be described in detail with reference to the accompanying drawings.
도 2는 본 발명에 따른 복수 전자장치를 프로그램, 소거 및 검증하는 장치의 블록 구성도이다. 동 도면에 도시한 바와 같이, 본 발명에 따른 장치는, 버퍼 메모리(10), CPU(20), 모드설정부(30), 복수 개의 FPGA(40_1~40_n) 및 프로그램 대상으 로 탑재되는 복수 개의 전자장치(반도체 칩)(50_1~50_n)를 포함하여 구성된다.2 is a block diagram of an apparatus for programming, erasing, and verifying a plurality of electronic devices according to the present invention. As shown in the figure, the apparatus according to the present invention includes a
상기 버퍼 메모리(10)는 프로그램 대상 전자장치(반도체 칩)(50_1~50_n)에 기록할 데이터를 임시 저장하는 장치이다 상기 모드설정부(30)는 사용자에 의하여 각종 모드를 설정하기 위한 것으로서, 예를 들면 프로그램 대상 전자장치(반도체 칩)(50_1~50_n)에 데이터를 기록하기 위한 프로그램 모드와, 프로그램 대상 전자장치(반도체 칩)(50_1~50_n)에 기록된 데이터를 소거하기 위한 소거 모드 및, 전자장치(반도체 칩)(50_1~50_n)에 프로그램된 내용을 확인하기 위한 검증 모드 등을 설정하기 위한 것이다. 여기서, 상기 전자장치는 비휘발성 반도체 메모리장치(ROM, 플래시 메모리 등)와 이를 내장하는 반도체장치이다.The
상기 CPU(20)는 상기 모드설정부(30)의 설정 모드에 따라서 전자장치(반도체 칩)(50_1~50_n)의 프로그램 과정, 소거 과정 및 검증과정에 대한 전체적인 제어를 수행한다. 여기서, 상기 CPU(20)는 예를 들면 16비트 데이터 단위로 프로그램을 수행하는 과정, 소거를 수행하는 과정 및 검증을 수행하는 과정에서 상기 FPGA(40_1~40_n)으로부터 각각 그 결과 정보를 수신하게 되는데, 이때 그 결과 정보로서 에러신호를 전송하는 FPGA에 대해서는 에러 처리하고 그 이후의 처리를 수행하지 않도록 한다. The
상기 FPGA(40_1~40_n)는 상기 CPU(20)의 제어에 따라 전자장치(반도체 칩)(50_1~50_n)의 프로그램 과정, 소거 과정 및 검증과정을 실제로 수행하는 구성이다. 동 도면에서는 도면의 간략화만을 위하여 FPGA(40_1)에만 그 구체 블록 구성을 도시하였으며 나머지 FPGA(40_2~40_n)도 동일한 구성이다.The FPGAs 40_1 to 40_n are configured to actually perform a program process, an erase process, and a verification process of the electronic device (semiconductor chip) 50_1 to 50_n under the control of the
상기 FPGA(40_1~40_n)는 CPU(41)로부터 전달된 명령신호를 디코딩하여 전자장치(반도체 칩)(50_1~50_n)로 전달하는 제어디코더부(41)와; CPU(41)로부터 전달된 어드레스를 래치하는 어드레스래치(42)와; CPU(41)로부터 프로그램 모드시에 전달된 기록 데이터를 래치하는 기록데이터래치(43)와; CPU(41)로부터 검증모드시에 전달된 비교 데이터를 래치하는 비교데이터래치(44)와; 전자장치(반도체 칩)(50_1~50_n)에서 읽어온 데이터를 래치하는 읽기데이터래치(45)와; 전자장치(반도체 칩)(50_1~50_n)의 상태의 점검하는 상태점검부(46)와; 검증시에 상기 비교데이터래치(44)에 래치된 데이터와 읽기데이터래치(45)에 래치된 데이터를 비교하는 비교기(47)와; 상기 CPU(20)로부터의 신호에 따라서 16비트 데이터 비교, 반도체 칩의 레디비지(RYBY) 핀 점검, 읽기 제어기 상태 점검(비트 14), 읽기 제어기 상태 점검(비트 10), 낸드 블록 언록(unlock) 점검, 낸드 블록 록(lock) 점검, 데이터 폴링(polling) 점검, 보호 상태 점검을 위한 선택신호를 출력하는 셀렉터(48)와, 상기 셀렉터(48)의 선택신호에 따라서 상기 상태점검부(46)로부터의 상태신호들과 상기 비교기의 비교신호중 어느 하나를 선택하여 16비트 신호로 만들어 CPU(20)로 전송하는 비교결과래치(48)를 포함하여 구성된다.The FPGAs 40_1 to 40_n include a
도 3은 도 2에 도시한 본 발명의 요구 상세 구성도이다. 동 도면에서, 상태점검부(46)는 보호상태를 점검하기 위하여 비교데이터래치(44)의 비트0과 읽기데이터래치(45)의 비트0을 배타적 논리합연산하여 출력하는 배터적논리합게이트(A)와, 데이터 폴링 점검을 위하여 비교데이터래치(44)의 비트7과 읽기데이터래치(45)의 비트7을 배타적 논리합연산하여 출력하는 배터적논리합게이트(B)와, 낸드(NAND)블 록 록(lock) 상태를 점점하기 위하여 비교데이터래치(44)의 비트1과 읽기데이터래치(45)의 비트1을 배타적 논리합연산하여 출력하는 배터적논리합게이트(C)와, 낸드블록 언록(unlock) 상태를 점검하기 위하여 비교데이터래치(44)의 비트2와 읽기데이터래치(45)의 비트2를 배타적 논리합연산하여 출력하는 배터적논리합게이트(D)와, 읽기제어기 상태를 점검하기 위하여 비교데이터래치(44)의 비트10과 읽기데이터래치(45)의 비트10을 배타적 논리합연산하여 출력하는 배터적논리합게이트(E)와, 읽기제어기 상태를 점검하기 위하여 비교데이터래치(44)의 비트14와 읽기데이터래치(45)의 비트14를 배타적 논리합연산하여 출력하는 배터적논리합게이트(F)와, 반도체 칩의 레디비지(RYBY) 핀 점검을 위한 단자(G)를 포함한다. 여기서, 배터적논리합게이트(E)와 배터적논리합게이트(F)는 프로그램 대상인 전자장치(반도체칩)의 유형에 따라서 읽기제어기 상태를 점검하기 위한 비트가 상이하기 때문에 2개 설치되어 있는 것이다.FIG. 3 is a detailed configuration diagram of the present invention shown in FIG. 2. In the same figure, the
상기 셀렉터(48)는 CPU(20)의 명령에 따라서 다음과 같이 출력이 설정된다. 즉,The
상기 비교결과래치(48)는 "S2,S1,S0,E"가 "0,0,0,1"인 경우 비교기(47)의 출력을 도 4에 도시한 바와 같이 자신에 할당된 비트(예를 들면 첫번째 FPGA의 경 우에는 비트 0, 두번째 FPGA의 경우 비트 2, ..., 16번째 FPGA의 경우 비트 15)에 표시하고 나머지 비트들을 모두 하이 임피던스 값을 채운 16비트 값을 CPU(20)으로 전달한다.When the comparison result
또, 상기 비교결과래치(48)는 "S2,S1,S0,E"가 "0,0,1,1"인 경우 단자(G)의 값을 도 4에 도시한 바와 같이 자신에 할당된 비트에 표시하고 나머지 비트들을 모두 하이 임피던스 값을 채운 16비트 값을 CPU(20)으로 전달한다.In addition, the
또한, 상기 비교결과래치(48)는 "S2,S1,S0,E"가 "0,1,0,1"인 경우 배타적논리합게이트(F)의 출력값을 도 4에 도시한 바와 같이 자신에 할당된 비트에 표시하고 나머지 비트들을 모두 하이 임피던스 값을 채운 16비트 값을 CPU(20)으로 전달한다.Further, the
또, 상기 비교결과래치(48)는 "S2,S1,S0,E"가 "0,1,1,1"인 경우 배타적논리합게이트(E)의 출력값을 도 4에 도시한 바와 같이 자신에 할당된 비트에 표시하고 나머지 비트들을 모두 하이 임피던스 값을 채운 16비트 값을 CPU(20)으로 전달한다.The comparison result
또한, 상기 비교결과래치(48)는 "S2,S1,S0,E"가 "1,0,0,1"인 경우 배타적논리합게이트(D)의 출력값을 도 4에 도시한 바와 같이 자신에 할당된 비트에 표시하고 나머지 비트들을 모두 하이 임피던스 값을 채운 16비트 값을 CPU(20)으로 전달한다.Also, the
또, 상기 비교결과래치(48)는 "S2,S1,S0,E"가 "1,0,1,1"인 경우 배타적논리합게이트(C)의 출력값을 도 4에 도시한 바와 같이 자신에 할당된 비트에 표시하고 나머지 비트들을 모두 하이 임피던스 값을 채운 16비트 값을 CPU(20)으로 전달한다.The comparison result
또한, 상기 비교결과래치(48)는 "S2,S1,S0,E"가 "1,1,0,1"인 경우 배타적논리합게이트(B)의 출력값을 도 4에 도시한 바와 같이 자신에 할당된 비트에 표시하고 나머지 비트들을 모두 하이 임피던스 값을 채운 16비트 값을 CPU(20)으로 전달한다.Further, the
또, 상기 비교결과래치(48)는 "S2,S1,S0,E"가 "1,1,1,1"인 경우 배타적논리합게이트(A)의 출력값을 도 4에 도시한 바와 같이 자신에 할당된 비트에 표시하고 나머지 비트들을 모두 하이 임피던스 값을 채운 16비트 값을 CPU(20)으로 전달한다.The comparison result
다음으로, 상기와 같이 구성된 본 발명에 따른 장치의 동작에 대하여 설명한다.Next, the operation of the apparatus according to the present invention configured as described above will be described.
먼저, 전자장치(반도체 칩)에 데이터를 프로그램(기록)하는 과정은 다음과 같다.First, a process of programming (writing) data in an electronic device (semiconductor chip) is as follows.
즉, 모드 설정부(30)에 프로그램모드가 설정되면 CPU(20)는 제어디코드부(41)로 기록명령을 출력하여 반도체칩(50_1~50_n)에 기록명령을 통지한다. That is, when the program mode is set in the
그후, CPU(20)는 버퍼메모리(10)에서 유효 데이터를 16비트 단위로 읽어와서 기록데이터래치(43)에 래치시킴과 동시에 어드레스래치(42)에 반도체칩(50_1~ 50_n)의 기록 어드레스를 래치시킨다.Thereafter, the
이어, 반도체칩(50_1~50_n)을 폴링(polling)하고 상태점검부(46)에서 반도체 칩(50_1~50_n)의 기록준비가 되어 있는 것으로 확인되면 상기 기록데이터래치(43)에 래치된 데이터가 반도체칩(50_1~50_n)에 기록된다. Subsequently, when the semiconductor chips 50_1 to 50_n are polled and the
이어서, 어드레스를 증가시키고 상기한 과정을 마지막 어드레스까지 반복하여 반도체칩(50_1~50_n)에의 데이터기록(프로그램)을 완료한다.Subsequently, the address is increased and the above process is repeated to the last address to complete data writing (program) to the semiconductor chips 50_1 to 50_n.
한편, 상기한 과정에서 반도체칩(50_1~50_n)의 폴링 후에 상태점검부(46)에서 반도체칩들 중에서 기록준비가 되어 있는 지의 여부는 도 4와 같은 포맷으로 CPU(20)에 전달된다. 이때, 16비트 중에서 자신의 상태를 표시하는 비트가 예를 들면 "0"(기록에 이상이 있는 상태)으로 되어 있는 경우가 발생하면 CPU(20)는 해당하는 FPGA에 속하는 반도체 칩의 프로그램과정을 에러처리하고 나머지 반도체칩에만 프로그램하도록 한다.On the other hand, after the polling of the semiconductor chips 50_1 to 50_n in the above-described process, whether or not the
다음으로, 전자장치(반도체 칩)에 기록된 데이터를 소거하는 과정(섹터 소거과정)은 다음과 같다.Next, a process of erasing data recorded in the electronic device (semiconductor chip) (sector erasing process) is as follows.
모드 설정부(30)에 소거모드가 설정되면 CPU(20)는 제어디코드부(41)로 소거명령을 출력하여 반도체칩(50_1~50_n)에 소거명령을 통지한다. When the erase mode is set in the
그후, CPU(20)는 어드레스래치(42)에 반도체칩(50_1~ 50_n)의 소거 섹터 어드레스를 래치시킨다.Thereafter, the
이어, 반도체칩(50_1~50_n)을 폴링(polling)하고 상태점검부(46)에서 반도체칩(50_1~50_n)의 소거준비가 되어 있는 것으로 확인되면 약 50μs가 지나면 한 섹터가 지워 진다.Subsequently, when the semiconductor chips 50_1 to 50_n are polled and the
이어서, 섹터 어드레스를 증가시키고 상기한 과정을 소거될 마지막 섹터 어 드레스까지 반복하여 반도체칩(50_1~50_n)에의 데이터 소거를 완료한다.Subsequently, the sector address is increased and the above process is repeated until the last sector address to be erased, thereby completing data erasing to the semiconductor chips 50_1 to 50_n.
한편, 상기한 과정에서 반도체칩(50_1~50_n)의 폴링 후에 상태점검부(46)에서 반도체칩들 중에서 소거준비가 되어 있는지의 여부는 도 4와 같은 포맷으로 CPU(20)에 전달된다. 이때, 16비트 중에서 자신의 상태를 표시하는 비트가 예를 들면 "0"(소거에 이상이 있는 상태)으로 되어 있는 경우가 발생하면 CPU(20)는 해당하는 FPGA에 속하는 반도체 칩의 소거과정을 에러처리하고 나머지 반도체칩에만 소거과정을 지속하도록 한다.On the other hand, after the polling of the semiconductor chips 50_1 to 50_n in the above-described process, whether or not the erase is ready among the semiconductor chips is transmitted to the
다음으로, 전자장치(반도체 칩)에 프로그램(기록)된 데이터를 검증하는 과정은 다음과 같다.Next, a process of verifying data programmed (recorded) in the electronic device (semiconductor chip) is as follows.
즉, 모드 설정부(30)에 프로그램(기록)된 데이터에 대한 검증모드가 설정되면 CPU(20)는 버퍼메모리(10)에서 데이터를 16비트 단위로 읽어와서 비교데이터래치(44)에 래치시킴과 동시에 어드레스래치(42)에 반도체칩(50_1~ 50_n)의 읽기어드레스를 래치시킨다.That is, when the verification mode for the data (programmed) programmed in the
이어, 반도체칩(50_1~50_n)에서 해당하는 어드레스에서 읽어온 16비트 데이터가 읽기데이터래치(45)에 래치된다.Subsequently, 16-bit data read from the corresponding address in the semiconductor chips 50_1 to 50_n is latched in the read data latch 45.
그후, 비교기(47)에서 상기 비교데이터래치(44)에 래치된 데이터와 상기 읽기데이터래치(45)에 래치된 데이터를 비트단위로 비교하여 그 비교결과를 비교결과래치(48)로 출력한다.Thereafter, the
이어서, 어드레스를 증가시키고 상기한 과정을 마지막 어드레스까지 반복하여 반도체칩(50_1~50_n)에의 기록데이터에 대한 검증을 완료한다.Subsequently, the address is increased and the above process is repeated to the last address to complete verification of the write data to the semiconductor chips 50_1 to 50_n.
한편, 상기한 과정에서 반도체칩(50_1~50_n)의 비교기(47)에 의한 비교결과는 비교결과래치(48)를 통하여 도 4와 같은 포맷으로 CPU(20)에 전달된다. 이때, 16비트 중에서 자신의 비교결과상태를 표시하는 비트가 예를 들면 "0"(즉, 비교결과 일치하지 않는 상태)으로 되어 있는 경우가 발생하면 CPU(20)는 해당하는 FPGA에 속하는 반도체 칩의 검증과정을 에러처리하고 나머지 반도체칩에만 검증과정을 지속하도록 한다.Meanwhile, in the above process, the comparison result by the
한편, 본 발명은 상기한 특정 실시예에 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러 가지로 변형 및 수정하여 실시할 수 있는 것이다.On the other hand, the present invention is not limited to the above specific embodiments, but can be modified and modified in various ways without departing from the gist of the present invention.
종래의 방법은 검증 과정에서 반도체 칩에 프로그램(기록)된 데이터를 16비트 단위로 읽어오고 버퍼 메모리의 데이터를 16비트 단위로 CPU를 통하여 읽어와서, 버퍼 메모리의 16비트 데이터를 한번에 1개의 반도체 칩의 16비트 데이터와 비교하고, 다 끝나면 다음 번 반도체 칩으로 넘어가서 수행하고 하는 방식으로 16번 반복하여 그 결과를 사용자에게 알려준다.The conventional method reads data (programmed) written in a semiconductor chip in 16-bit units in the verification process and reads data from the buffer memory through the CPU in 16-bit units, so that 16-bit data in the buffer memory is read at one time. The 16-bit data is compared with the 16-bit data, and when it is finished, the next step is performed to the semiconductor chip and repeated 16 times to inform the user of the result.
그러나 본 발명에 의하면 FPGA를 복수 개(예를 들면 16개) 사용하여 동시에 16개의 반도체 칩의 내용을 비교하여 그 결과를 사용자에게 한번에 알려 준다.However, according to the present invention, a plurality of FPGAs (eg, 16) are used to compare the contents of 16 semiconductor chips at the same time, and the result is notified to the user at once.
따라서, 본 발명은 1세트의 장치(예를 들면 ROM 라이터)에서 1개의 CPU로 복수 개(예를 들면 16개)의 FPGA를 동시에 동작시켜 전자장치(반도체칩)에 대하여 프로그램(기록), 소거 및 검증(verification)을 수행하여 복수 배(예를 들면 16배)의 능률을 올릴 수 있다.Therefore, in the present invention, a plurality of (for example, 16) FPGAs are simultaneously operated by one CPU in one set of devices (for example, a ROM writer) to program (write) and erase the electronic device (semiconductor chip). And verification can be performed to increase the efficiency of multiple times (eg, 16 times).
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060047476A KR100778459B1 (en) | 2006-05-26 | 2006-05-26 | Apparatus and method for programming, erasing and verificating a pluality of electronic devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060047476A KR100778459B1 (en) | 2006-05-26 | 2006-05-26 | Apparatus and method for programming, erasing and verificating a pluality of electronic devices |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100778459B1 true KR100778459B1 (en) | 2007-11-21 |
Family
ID=39080463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060047476A KR100778459B1 (en) | 2006-05-26 | 2006-05-26 | Apparatus and method for programming, erasing and verificating a pluality of electronic devices |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100778459B1 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101028594B1 (en) * | 2008-12-23 | 2011-04-13 | (주) 컴파스 시스템 | Programmer |
WO2014130056A1 (en) * | 2013-02-21 | 2014-08-28 | Advantest Corporation | A test architecture having multiple fpga based hardware accelerator blocks for testing multiple duts independently |
US9810729B2 (en) | 2013-02-28 | 2017-11-07 | Advantest Corporation | Tester with acceleration for packet building within a FPGA block |
US9952276B2 (en) | 2013-02-21 | 2018-04-24 | Advantest Corporation | Tester with mixed protocol engine in a FPGA block |
US10161993B2 (en) | 2013-02-21 | 2018-12-25 | Advantest Corporation | Tester with acceleration on memory and acceleration for automatic pattern generation within a FPGA block |
US10288681B2 (en) | 2013-02-21 | 2019-05-14 | Advantest Corporation | Test architecture with a small form factor test board for rapid prototyping |
US10884847B1 (en) | 2019-08-20 | 2021-01-05 | Advantest Corporation | Fast parallel CRC determination to support SSD testing |
US10976361B2 (en) | 2018-12-20 | 2021-04-13 | Advantest Corporation | Automated test equipment (ATE) support framework for solid state device (SSD) odd sector sizes and protection modes |
US11137910B2 (en) | 2019-03-04 | 2021-10-05 | Advantest Corporation | Fast address to sector number/offset translation to support odd sector size testing |
US11237202B2 (en) | 2019-03-12 | 2022-02-01 | Advantest Corporation | Non-standard sector size system support for SSD testing |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990007516U (en) * | 1997-07-31 | 1999-02-25 | 윤종용 | Device for detecting the state of F.P.G.A |
KR19990059251A (en) * | 1997-12-30 | 1999-07-26 | 윤종용 | Semiconductor memory device and program / erase verification method thereof |
US20030097187A1 (en) * | 1997-12-17 | 2003-05-22 | Huppenthal Jon M. | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem |
KR20030096657A (en) * | 2002-06-17 | 2003-12-31 | 삼성전자주식회사 | Computer system test device using FPGA and programmable memory modules and the test method thereof |
KR20050063825A (en) * | 2003-12-19 | 2005-06-28 | 엘지전자 주식회사 | Method for remotely updating multi-fpga code of base station manager |
-
2006
- 2006-05-26 KR KR1020060047476A patent/KR100778459B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990007516U (en) * | 1997-07-31 | 1999-02-25 | 윤종용 | Device for detecting the state of F.P.G.A |
US20030097187A1 (en) * | 1997-12-17 | 2003-05-22 | Huppenthal Jon M. | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem |
KR19990059251A (en) * | 1997-12-30 | 1999-07-26 | 윤종용 | Semiconductor memory device and program / erase verification method thereof |
KR20030096657A (en) * | 2002-06-17 | 2003-12-31 | 삼성전자주식회사 | Computer system test device using FPGA and programmable memory modules and the test method thereof |
KR20050063825A (en) * | 2003-12-19 | 2005-06-28 | 엘지전자 주식회사 | Method for remotely updating multi-fpga code of base station manager |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101028594B1 (en) * | 2008-12-23 | 2011-04-13 | (주) 컴파스 시스템 | Programmer |
US11009550B2 (en) | 2013-02-21 | 2021-05-18 | Advantest Corporation | Test architecture with an FPGA based test board to simulate a DUT or end-point |
WO2014130056A1 (en) * | 2013-02-21 | 2014-08-28 | Advantest Corporation | A test architecture having multiple fpga based hardware accelerator blocks for testing multiple duts independently |
TWI550629B (en) * | 2013-02-21 | 2016-09-21 | 愛德萬測試股份有限公司 | A test architecture having multiple fpga based hardware accelerator blocks for testing multiple duts independently |
US9952276B2 (en) | 2013-02-21 | 2018-04-24 | Advantest Corporation | Tester with mixed protocol engine in a FPGA block |
US10161993B2 (en) | 2013-02-21 | 2018-12-25 | Advantest Corporation | Tester with acceleration on memory and acceleration for automatic pattern generation within a FPGA block |
US10162007B2 (en) | 2013-02-21 | 2018-12-25 | Advantest Corporation | Test architecture having multiple FPGA based hardware accelerator blocks for testing multiple DUTs independently |
US10288681B2 (en) | 2013-02-21 | 2019-05-14 | Advantest Corporation | Test architecture with a small form factor test board for rapid prototyping |
US9810729B2 (en) | 2013-02-28 | 2017-11-07 | Advantest Corporation | Tester with acceleration for packet building within a FPGA block |
US10976361B2 (en) | 2018-12-20 | 2021-04-13 | Advantest Corporation | Automated test equipment (ATE) support framework for solid state device (SSD) odd sector sizes and protection modes |
US11137910B2 (en) | 2019-03-04 | 2021-10-05 | Advantest Corporation | Fast address to sector number/offset translation to support odd sector size testing |
US11237202B2 (en) | 2019-03-12 | 2022-02-01 | Advantest Corporation | Non-standard sector size system support for SSD testing |
US10884847B1 (en) | 2019-08-20 | 2021-01-05 | Advantest Corporation | Fast parallel CRC determination to support SSD testing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100778459B1 (en) | Apparatus and method for programming, erasing and verificating a pluality of electronic devices | |
US7388782B2 (en) | Semiconductor integrated circuit device | |
US6751122B2 (en) | Nonvolatile semiconductor memory device | |
US7031188B2 (en) | Memory system having flash memory where a one-time programmable block is included | |
US7739560B2 (en) | Nonvolatile semiconductor memory device and method of self-testing the same | |
KR102566994B1 (en) | Method for performing multi-chip debugging and multi-chip system adopting the same | |
US8095834B2 (en) | Macro and command execution from memory array | |
JP2006079811A (en) | Semiconductor memory device equipped with parity generator for error detection | |
KR20090073094A (en) | Defective block isolation in a non-volatile memory system | |
JP6014777B2 (en) | Data path consistency verification | |
CN110838313A (en) | Semiconductor memory device and method of operating the same | |
US9177672B2 (en) | Methods of operating memory involving identifiers indicating repair of a memory cell | |
KR20080084180A (en) | Method of auto erasing for flash memory device | |
US7457167B2 (en) | Method for preventing over-erasing of unused column redundant memory cells in a flash memory having single-transistor memory cells | |
US8924671B2 (en) | Semiconductor storage device and control method thereof | |
KR100634432B1 (en) | Nand flash memory device and error detection method detecting error during copy_back program operation | |
KR20100085657A (en) | Non volatile memory device and method of operating the same | |
TWI753814B (en) | Semiconductor storage apparatus and ecc related information reading method | |
JPH10241377A (en) | Non-volatile semiconductor memory | |
US20210132864A1 (en) | Controller, a memory system including the controller, and method of operating the controller | |
KR20080021397A (en) | Flash memory device and program method thereof | |
KR20170043296A (en) | Semiconductor memory device including guarantee blocks and operating method thereof | |
TWI508078B (en) | Semiconductor memory device | |
CN113012733A (en) | Semiconductor memory device and controller | |
KR20090122686A (en) | Programming method of non volatile memory device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20121115 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20130903 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140924 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20150907 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20160906 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20170921 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20180827 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20191028 Year of fee payment: 13 |