KR100465421B1 - Hardware memory scrubber - Google Patents

Hardware memory scrubber Download PDF

Info

Publication number
KR100465421B1
KR100465421B1 KR10-2002-0077882A KR20020077882A KR100465421B1 KR 100465421 B1 KR100465421 B1 KR 100465421B1 KR 20020077882 A KR20020077882 A KR 20020077882A KR 100465421 B1 KR100465421 B1 KR 100465421B1
Authority
KR
South Korea
Prior art keywords
scrub
control
block
page
address
Prior art date
Application number
KR10-2002-0077882A
Other languages
Korean (ko)
Other versions
KR20040050736A (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 KR10-2002-0077882A priority Critical patent/KR100465421B1/en
Publication of KR20040050736A publication Critical patent/KR20040050736A/en
Application granted granted Critical
Publication of KR100465421B1 publication Critical patent/KR100465421B1/en

Links

Classifications

    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/106Correcting systematically all correctable errors, i.e. scrubbing
    • 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
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Logic Circuits (AREA)
  • Dram (AREA)

Abstract

본 발명은 다목적 실용위성(KOMPSAT-2)의 메모리 시스템에 있어서, 빠른 시간 안에 대용량의 메모리 스크럽(scrub)을 하드웨어적으로 수행할 수 있도록 하는 하드웨어 메모리 스크러버에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a hardware memory scrubber capable of performing a large capacity memory scrub in hardware in a memory system of a multipurpose utility satellite (KOMPSAT-2).

이러한 본 발명은 매스 메모리 콘트롤 FPGA의 스크럽을 행함에 있어서, 상기 매스 메모리 콘트롤 FPGA의 스크럽을 실행하기 위한 스크럽 실행 제어신호와 메모리의 각 페이지를 스크럽하는 페이지 발생신호 및 스크럽 실행에 필요한 어드레스를 발생시키는 스크럽 콘트롤 블록을 구비하고, 상기 스크럽 콘트롤 블록의 어드레스 및 데이터와 제어신호를 매스 메모리 콘트롤 FPGA로 전송하는 먹스블록을 구비함으로써 이루어지는 것으로, 스크럽을 빠른 시간에 실행하고 부하를 줄여줄 수 있는 것이다.The present invention scrubs a mass memory control FPGA to generate a scrub execution control signal for executing a scrub of the mass memory control FPGA, a page generation signal for scrubbing each page of the memory, and an address required for scrub execution. It comprises a scrub control block and a mux block for transmitting the address and data and control signals of the scrub control block to the mass memory control FPGA, so that the scrub can be executed quickly and the load can be reduced.

Description

하드웨어 메모리 스크러버{Hardware memory scrubber}Hardware memory scrubber

본 발명은 다목적 실용위성(KOMPSAT-2)의 메모리 시스템에 있어서, 빠른 시간 안에 대용량의 메모리 스크럽(scrub)을 하드웨어적으로 수행할 수 있도록 하는 하드웨어 메모리 스크러버에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a hardware memory scrubber capable of performing a large capacity memory scrub in hardware in a memory system of a multipurpose utility satellite (KOMPSAT-2).

현재 본 출원인에 의하여 우주공간으로 발사되고 성공적으로 운용되고 있는 다목적실용위성(KOMPSAT-1)1호기는 1Gbit의 MEC DRAMs(stacked TRW-CI)을 매스 메모리(mass memory)로 사용하고 있으며, 이러한 다목적 실용위성 1호기에 채용된 DRAMs의 스크럽 레이트(scrub rate)는 약 6일이었다.Currently, KOMPSAT-1, which is launched and successfully operated in space by the applicant, uses 1 Gbit of MEC DRAMs (stacked TRW-CI) as mass memory. The scrub rate of DRAMs employed in the first practical satellite was about six days.

이에 반하여 다목적 실용위성(KOMPSAT-2)2호기는 1Gbit SAMSUNG DRAMs (stacked 3Dplus)을 매스 메모리로 사용하고 있으며, 2호기에 채용된 DRAMs의 스크럽 레이트는 약 4(worst)-9(best)분으로 추정되는 것으로, 기존의 1호기와 비교할 경우 2호기에 채용된 DRAM이 소프트웨어에서 약 1,000배 정도 자주 스크럽을 해 주어야 한다.In contrast, KOMPSAT-2 No. 2 uses 1Gbit SAMSUNG DRAMs (stacked 3Dplus) as mass memory, and the scrub rate of DRAMs used in Unit 2 is about 4-9 (worst) -9 (best) minutes. It is estimated that the DRAM used in Unit 2 should be scrubbed about 1,000 times more often in software compared to the existing Unit 1.

그러나 소프트웨어 만으로 매스 메모리의 스크럽을 진행할 경우 스크럽 시간이 오래 걸리는 문제와 함께 스크럽을 진행할 때 부하가 많이 걸리게 되는 문제가 발생되는 것이었다.However, when scrubbing mass memory using only software, the scrub takes a long time and the problem that the scrub takes a lot of load occurs.

본 발명은 다목적 실용위성(KOMPSAT-2)의 메모리 시스템에서 하드웨어적으로 메모리 스크럽을 할 수 있도록 함으로써 스크럽 시간을 단축시키는 한편 부하를 줄여줄 수 있도록 하는 것이다.The present invention can reduce the load while reducing the scrub time by allowing the memory scrub in hardware in the memory system of the multi-purpose practical satellite (KOMPSAT-2).

이러한 본 발명은 매스 메모리 콘트롤 FPGA의 스크럽을 행함에 있어서, 상기 매스 메모리 콘트롤 FPGA의 스크럽을 실행하기 위한 스크럽 실행 제어신호와 메모리의 각 페이지를 스크럽하는 페이지 발생신호 및 스크럽 실행에 필요한 어드레스를 발생시키는 스크럽 콘트롤 블록을 구비하고, 상기 스크럽 콘트롤 블록의 어드레스 및 데이터와 제어신호를 매스 메모리 콘트롤 FPGA로 전송하는 먹스블록을 구비하여 이루어진다.The present invention scrubs a mass memory control FPGA to generate a scrub execution control signal for executing a scrub of the mass memory control FPGA, a page generation signal for scrubbing each page of the memory, and an address required for scrub execution. And a mux block for transmitting an address, data, and a control signal of the scrub control block to the mass memory control FPGA.

도 1 은 본 발명의 실시예 블록도1 is a block diagram of an embodiment of the present invention;

도 2 는 본 발명의 매스 메모리 타이밍 다이어그램2 is a mass memory timing diagram of the present invention.

도 3 은 본 발명의 다목적 실용위성(KOMPSAT-2) DRAM 구성도3 is a schematic diagram of a multipurpose utility satellite (KOMPSAT-2) DRAM of the present invention.

도 4 는 도 3 의 DRAM 어드레스 팹핑도4 is a DRAM address fab diagram of FIG.

도 5 는 도 3 의 스크러빙 시퀀스(scrubbing sequence)5 is a scrubbing sequence of FIG.

도 6 은 본 발명의 스크럽 콘트롤 블록의 상세도6 is a detailed view of a scrub control block of the present invention.

도 7 은 본 발명의 콘트롤 로직 상세도7 is a detailed view of the control logic of the present invention.

도 8 은 본 발명의 페이지 발생 블록 상세도8 is a detailed view of the page generation block of the present invention.

도 9 는 본 발명의 어드레스 발생기 블록 상세도9 is a detailed diagram of an address generator block of the present invention.

도 10 은 본 발명의 먹스(MUX)블록 상세도10 is a detailed view of the mux block of the present invention

[도면의 주요부분에 대한 부호의 설명][Explanation of symbols on the main parts of the drawings]

100 : 스크럽 로직 110 : 스크럽 콘트롤 블록100: scrub logic 110: scrub control block

120 : 먹스블록 130 : 콘트롤 블록120: mux block 130: control block

140 : 어드레스 발생 블록 150 : 페이지 발생 블록140: address generation block 150: page generation block

200 : 매스 메모리 콘트롤 FPGA200: Mass Memory Control FPGA

1Gbit SAMSUNG DRAMs(stacked 3Dplus)을 매스 메모리로 사용하고 있는 다목적 실용위성(KOMPSAT-2)은 64ms이내에 리프레시(refresh)를 해주어야 하며, 매스 메모리 1Gbit는 2장의 보드에 각각 0.5Gbit 씩 나뉘어져 있다.The multipurpose utility satellite (KOMPSAT-2), which uses 1Gbit SAMSUNG DRAMs (stacked 3Dplus) as a mass memory, must be refreshed within 64ms, and 1Gbit of mass memory is divided into 0.5Gbits on each of the two boards.

각 보드의 매스 메모리 콘트롤 FPGA(Field Programmerble Gate Array)에서 각각 리프레시를 수행하므로, 보드 하나에 대해서만 고려하기로 하고, 이는 스크럽에서도 마찬가지로 적용된다.Since each board's mass memory control field programmable gate array (FPGA) is refreshed individually, only one board is considered, and the same applies to scrubs.

리프레시의 순서는 다음과 같다.The refresh procedure is as follows.

(/CAS1,RAS4) (/CAS0,RAS1) (/CAS1,RAS5) (/CAS0,RAS2) (/CAS1,RAS6) (/CAS0,RAS3) (/CAS1,RAS7) (/CAS0,RAS0) : 4096번 반복(/ CAS1, RAS4) (/ CAS0, RAS1) (/ CAS1, RAS5) (/ CAS0, RAS2) (/ CAS1, RAS6) (/ CAS0, RAS3) (/ CAS1, RAS7) (/ CAS0, RAS0): 4096 Repeat times

위와 같은 순서로 리프레시를 4096번을 반복하여야 전체 0.5Gbit를 리프레시 완료할 수 있으며, 이에 소요되는 시간은 최소 약 43ms(best case)정도가 된다.Repeat the above 4096 times to complete the entire 0.5Gbit refresh, and the time required is at least 43ms (best case).

따라서 리프레시 기간인 64ms에서 실제 리프레시를 행하는 시간은 43ms이 걸리게 되므로 64ms-43ms=21ms의 마진이 있게 되고, 이에 따라 스크럽 사이클에 대하여 21ms 정도를 할당할 수 있으며, 스크럽 사이클에 할당된 21ms 중 4ms 정도의 마진을 남겨두고 실질적으로 최대 약 17ms를 스크럽 사이클에 할당하였으며, 본 발명은 상기된 스크럽 사이클을 얻기 위하여 도 2 에 도시된 타이밍 다이어그램에 맞추어 로직을 설계하였다.Therefore, the actual refresh time is 64ms in the refresh period of 64ms, so there is a margin of 64ms-43ms = 21ms. Therefore, about 21ms can be allocated for the scrub cycle and about 4ms of the 21ms allocated to the scrub cycle A maximum of approximately 17 ms was allocated to the scrub cycle, leaving a margin of. The present invention designed the logic in accordance with the timing diagram shown in FIG. 2 to obtain the scrub cycle described above.

본 발명의 다목적 실용위성(KOMPSAT-2) DRAMs의 구성은 도 3 에 도시된 바와 같다.The configuration of the KOMPSAT-2 DRAMs of the present invention is as shown in FIG.

0.5Gbit DRAM 모듈은 도면에 도시된 바와 같이 총 1023페이지를 가지고 있으며, 각 페이지는 64kbytes의 용량을 가지게 되고, 각 페이지는 8000h-8FFFFh의 메모리 어드레스 영역에 맵핑(mapping)된다.The 0.5 Gbit DRAM module has a total of 1023 pages as shown in the figure, each page has a capacity of 64 kbytes, and each page is mapped to a memory address area of 8000h-8FFFFh.

스크럽의 진행은 우선 최초 '페이지0'부터 시작하여 '페이지0'에 할당되어 있는 64kbytes를 우선 스크럽하고, '페이지0'에 대한 스크럽이 완료되면 '페이지1'에 대한 64kbytes 데이터 스크럽이 이루어지게 된다.The scrub process starts with the first 'Page 0' and then first scrubs 64kbytes allocated to 'Page 0'. When the scrub for 'Page 0' is completed, 64kbytes data scrub for 'Page 1' is performed. .

여기서 각 페이지의 구별은 SCRUB_RAPT[9:0]로 나타내며, 64kbytes 데이터 선택은 어드레스 신호인 SCRUB_CA[15:1]에 의해 이루어지게 된다.Here, each page is distinguished by SCRUB_RAPT [9: 0], and 64kbytes data selection is performed by SCRUB_CA [15: 1], which is an address signal.

다시 말하면 SCRUB_CA[15:1] 0000h에서 7FFFFh 까지의 데이터를 억세스(access)하면 1개 페이지에 대한 스크럽이 완료되고, 이를 1024번 반복하면 전체 1024개의 페이지에 대한 스크럽이 완료되는 것이다.In other words, when accessing data from SCRUB_CA [15: 1] 0000h to 7FFFFh, the scrub for one page is completed, and if it is repeated 1024 times, the scrub for the entire 1024 pages is completed.

본 발명은 도 1 에 도시된 바와 같이 매스 메모리 콘트롤 FPGA(200)와, 상기 매스 메모리 콘트롤 FPGA(200)의 스크럽을 행하는 스크럽 로직(100)으로 구성되며,상기 스크럽 로직(100)은 다시 스크럽 콘트롤 블록(110)과 먹스블록(120)으로 구성된다.The present invention is composed of a mass memory control FPGA 200 and scrub logic 100 for scrubbing the mass memory control FPGA 200, as shown in FIG. It consists of a block 110 and a mux block 120.

그리고 스크럽 콘트롤 블록(110)은 도 6 에 도시된 바와 같이 콘트롤 블록(130), 어드레스 발생 블록(140), 페이지 발생블록(150)으로 구성되고, 여기서 콘트롤 블록(130)은 도 7 에 도시된 바와 같이 16-비트 카운터(131)와 콘트롤(132) 및 17-비트 다운 카운터(133)로 구성되며, 페이지 발생블록(150)은 10-비트 카운터(151)와 콘트롤(152)로 구성되고, 어드레스 발생 블록(140)은 16-비트 카운터(141)와 콘트롤(142)로 구성된다.And the scrub control block 110 is composed of a control block 130, an address generation block 140, a page generation block 150, as shown in Figure 6, wherein the control block 130 is shown in FIG. As shown, the 16-bit counter 131 and the control 132 and 17-bit down counter 133, the page generation block 150 is composed of a 10-bit counter 151 and the control 152, The address generation block 140 consists of a 16-bit counter 141 and a control 142.

한편 먹스블록(120)은 도 10 에 도시된 바와 같이 3 개의 먹스(121, 122, 123)로 구성한다.Meanwhile, the mux block 120 includes three muxes 121, 122, and 123, as shown in FIG. 10.

이러한 본 발명의 스크럽 로직(100)을 구성하는 스크럽 콘트롤 블록(110)과 먹스블록(120)에 대하여 첨부 도면에 의거 상세히 설명한다.The scrub control block 110 and the mux block 120 constituting the scrub logic 100 of the present invention will be described in detail with reference to the accompanying drawings.

스크럽 콘트롤 블록(110)의 콘트롤 블록(130)은 16-비트 카운터(131)와 콘트롤(132) 및 17-비트 다운 카운터(133)로 구성되는 것으로, 콘트롤(132)은 기존의 매스 매모리 콘트롤 FPGA(200) 의 리프레시 블록에서 CAS[1:0] 신호를 입력받아 16-비트 카운터(131)를 사용하여 약 44ms의 시간을 측정하고, 카운트가 완료되었을 때 스크럽 사이클이 수행되도록 'scrub_cyc' 제어신호를 발생시킨다.The control block 130 of the scrub control block 110 is composed of a 16-bit counter 131, a control 132, and a 17-bit down counter 133, and the control 132 is a conventional mass memory control. The CAS [1: 0] signal is input from the refresh block of the FPGA 200 to measure a time of about 44 ms using the 16-bit counter 131 and control 'scrub_cyc' to perform a scrub cycle when the count is completed. Generate a signal.

또한 약 10ms 동안 스크럽 사이클이 수행되도록 제어하기 위하여 17-비트 다운 카운터(133)를 사용하여 12MHz의 메인 클럭신호(MCLK)를 사용하여 'scrub_cyc' 신호를 디스에이블(disable)시키도록 하는 한편 '/MMEMR' 및 '/MMEMW' 신호를 입력받아 언제든지 CPU 억세스 신호가 발생할 경우 제어 우선 순위를 CPU 쪽으로 넘기기 위하여 'scrub_cyc'신호를 디스에이블 시키도록 한다.In addition, to control the scrub cycle to be performed for about 10 ms, the 17-bit down counter 133 is used to disable the 'scrub_cyc' signal using the 12 MHz main clock signal (MCLK) while '/' MMEMR 'and' / MMEMW 'signals are input to disable the' scrub_cyc 'signal to transfer control priority to the CPU whenever a CPU access signal occurs.

페이지 발생 블록(150)의 콘트롤(152)은 매스 메모리 콘트롤 FPGA(200)가 CPU 어드레스 및 리프레시 사이클이 아닐 경우, 즉 스크럽 사이클에서 매스 메모리 페이지를 선택하기 위한 IO 2N10[1:0] 제어신호를 발생시키고, 10-비트 카운터(151)를 사용하여 3FF 까지의 페이지 데이터를 발생시켜 먹스블록(120)으로 전송하는 기능을 수행한다.The control 152 of the page generation block 150 outputs an IO 2N10 [1: 0] control signal to select the mass memory page in the scrub cycle if the mass memory control FPGA 200 is not a CPU address and a refresh cycle. It generates the page data up to 3FF using the 10-bit counter 151 to transmit to the mux block 120.

이때 3FF 까지 모두 카운트 되었을 때 모듈을 변경할 수 있도록 제어신호를 만들어 매스 메모리의 모든 2048 페이지를 다 억세스 할 수 있도록 제어하며, 도중에 CPU 억세스가 발생할 경우 현재의 페이지 카운트를 래치(latch)시키고 나중에 다시 스크럽 사이클로 돌아 왔을 때 래치된 페이지부터 다시 순차적으로 페이지를 증가시켜 스크럽이 될 수 있도록 한다.At this time, when all the counts up to 3FF are made, a control signal is made to change the module so that all 2048 pages of the mass memory can be accessed.If CPU access occurs in the middle, the current page count is latched and scrubbed again When the cycle returns, the latched page is incremented again to make the scrub.

어드레스 발생 블록(140)의 콘트롤(142)은 스크럽 사이클일 경우 16-비트 카운터(141)를 사용하여 스크럽에 필요한 어드레스를 발생시키고, CPU 억세스가 발생할 경우 현재의 어드레스를 래치시키고 CPU 억세스가 끝난 후에 리프레시를 수행하며, 다시 스크럽 사이클일 경우 래치된 어드레스부터 다시 순차적으로 증가시켜 스크럽 할 수 있도록 한다.The control 142 of the address generation block 140 uses the 16-bit counter 141 to generate the address required for the scrub in the case of a scrub cycle, latches the current address when the CPU access occurs, and after the CPU access ends. It refreshes, and in the case of a scrub cycle again, it sequentially increases from the latched address so that it can be scrubbed.

그리고 'FFF'까지 어드레스 카운트가 끝났을 때 페이지를 변경할 수 있도록 제어신호를 페이지 발생 블록(151)으로 전송하며, 또한 'ALE'신호 및 '/READ'신호를 모사하여 만들어 먹스블록(120)으로 전송한다.The control signal is transmitted to the page generation block 151 so that the page can be changed when the address count is completed until 'FFF'. Also, the control signal is copied to the mux block 120 by simulating the 'ALE' signal and the '/ READ' signal. do.

먹스블록(120)은 3개의 먹스(121)(122)(123)로 구성되는 것으로 CPU 및 스크럽 콘트롤 블록(110)으로부터 입력되는 어드레스 및 데이터 그리고 기타 제어신호를 입력받아 'scrub_cyc'제어신호에 따라 신호경로를 선택하여 매스 메모리 콘트롤 FPGA(200)으로 전송하는 기능을 수행하게 된다.The mux block 120 is composed of three mux 121, 122, and 123. The mux block 120 receives addresses, data, and other control signals input from the CPU and the scrub control block 110 according to the 'scrub_cyc' control signal. The signal path is selected and transmitted to the mass memory control FPGA 200.

본 발명은 다목적 실용위성(KOMPSAT-2)뿐만 아니라 타 메모리 시스템에도 적용 가능한 것으로, 하드웨어 적으로 스크럽을 실행시킬 수 있다.The present invention can be applied not only to the multipurpose utility satellite (KOMPSAT-2) but also to other memory systems, so that the scrub can be executed in hardware.

본 발명은 기존의 메모리 콘트롤러에 추가적으로 FPGA회로를 구현하였기 때문에 기존 메모리 콘트롤러 보드내에 공간이 허용한다면 다른 콘트롤 신호에 영향을 주지 않는 장점이 있으며, 특히 다목적 실용위성(KOMPSAT-2)의 메모리 콘트롤러에 적용하게 되면 1Gbit 나 되는 DRAM을 빠른 시간안에 메모리 스크럽을 마칠 수 있는 장점이 있는 것이다.Since the present invention implements an FPGA circuit in addition to the existing memory controller, the present invention has an advantage of not affecting other control signals if space is allowed in the existing memory controller board. The advantage is that 1Gbit DRAM can finish the memory scrub quickly.

Claims (6)

매스 메모리 콘트롤 FPGA(200)의 스크럽을 행하는 하드웨어 메모리 스크러버에 있어서,In the hardware memory scrubber which scrubs the mass memory control FPGA 200, 상기 매스 메모리 콘트롤 FPGA(200)의 스크럽을 실행하기 위한 스크럽 실행 제어신호와 메모리의 전체 페이지 각각을 스크럽하는 페이지 발생신호 및 스크럽 실행에 필요한 어드레스를 발생시키는 스크럽 콘트롤 블록(110)과,A scrub control block 110 for generating a scrub execution control signal for scrubbing the mass memory control FPGA 200, a page generation signal for scrubbing each page of the memory, and an address for scrub execution; 상기 스크럽 콘트롤 블록(110)의 어드레스 및 데이터와 제어신호를 매스 메모리 콘트롤 FPGA(200)로 전송하는 먹스블록(120)으로 이루어진 것을 특징으로 하는 하드웨어 메모리 스크러버.Hardware memory scrubber comprising a mux block (120) for transmitting the address and data and the control signal of the scrub control block (110) to the mass memory control FPGA (200). 제1항에 있어서, 스크럽 콘트롤 블록(110)은 스크럽이 실행될 수 있는 시간을 체크하여 스크럽 제어신호를 발생시키는 콘트롤 블록(130)과, 스크럽에 필요한 어드레스를 발생시키는 어드레스 발생 블록(140)과, 매스 메모리의 스크럽 페이지를 선택하기 위한 제어신호를 발생시키는 페이지 발생블록(150)으로 이루어진 것을 특징으로 하는 하드웨어 메모리 스크러버.The scrub control block 110 is a control block 130 for generating a scrub control signal by checking the time the scrub can be executed, an address generating block 140 for generating an address required for the scrub, And a page generating block (150) for generating a control signal for selecting a scrub page of the mass memory. 제2항에 있어서, 콘트롤 블록(130)은 매스 메모리 콘트롤 FPGA(200) 의 리프레시 블록에서 CAS[1:0] 신호를 입력받아 스크럽 실행이 가능한 44ms를 카운트 하는 16-비트 카운터(131)와,The control block 130 of claim 2, wherein the control block 130 receives a CAS [1: 0] signal from the refresh block of the mass memory control FPGA 200 and a 16-bit counter 131 for counting 44 ms for scrub execution; 메인 클럭신호(MCLK)를 사용하여 스크럽 실행이 실행되는 10ms 시간을 카운트 하는 17-비트 다운 카운터(133)와,A 17-bit down counter 133 that counts the 10 ms time that scrub execution is performed using the main clock signal MCLK, 16-비트 카운터(131)와 17-비트 다운 카운터(133)의 출력을 이용하여 스크럽 사이클이 수행되도록 'scrub_cyc'제어신호를 발생시켜 먹스블록(120)에 인가시키는 콘트롤(132)을 구비하여 된 것을 특징으로 하는 하드웨어 메모리 스크러버.A control 132 for generating a 'scrub_cyc' control signal and applying it to the mux block 120 to perform a scrub cycle using the outputs of the 16-bit counter 131 and the 17-bit down counter 133. Hardware memory scrubber, characterized in that. 제2항에 있어서, 어드레스 발생 블록(140)은 스크럽 사이클일 경우 16-비트 카운터(141)를 사용하여 스크럽에 필요한 어드레스를 발생시키고,3. The address generating block 140 according to claim 2, wherein the address generation block 140 generates an address required for the scrub using the 16-bit counter 141 when the scrub cycle is performed. 어드레스 카운트가 끝났을 때 페이지를 변경할 수 있도록 제어신호를 페이지 발생 블록(151)으로 전송하는 콘트롤(142)로 구성된 것을 특징으로 하는 하드웨어 메모리 스크러버.And a control (142) for transmitting a control signal to the page generation block (151) so that the page can be changed when the address count is over. 제2항에 있어서, 페이지 발생 블록(150)은 매스 메모리 콘트롤 FPGA(200)가 스크럽 사이클일 경우 매스 메모리 페이지를 선택하기 위한 IO 2N10[1:0] 제어신호를 발생시키고, 10-비트 카운터(151)를 사용하여 3FF 까지의 페이지 데이터를 발생시켜 먹스블록(120)으로 전송하는 콘트롤(152)을 구비하여 된 것을 특징으로 하는 하드웨어 메모리 스크러버.3. The page generation block 150 according to claim 2, wherein the page generation block 150 generates an IO 2N10 [1: 0] control signal for selecting a mass memory page when the mass memory control FPGA 200 is in a scrub cycle, and the 10-bit counter ( And a control (152) for generating page data of up to 3FF using the 151 and transmitting the same to the mux block (120). 제1항에 있어서, 먹스블록(120)은 3개의 먹스(121, 122, 123)로 구성되고, CPU 및 스크럽 콘트롤 블록(110)으로부터 입력되는 어드레스 및 데이터 그리고 기타 제어신호를 입력받아 'scrub_cyc'제어신호에 따라 신호경로를 선택하여 매스 메모리 콘트롤 FPGA(200)으로 전송하는 것을 특징으로 하는 하드웨어 메모리 스크러버.According to claim 1, the mux block 120 is composed of three mux (121, 122, 123), receives the address and data and other control signals input from the CPU and the scrub control block 110 'scrub_cyc' The hardware memory scrubber, characterized in that for selecting the signal path in accordance with the control signal to transmit to the mass memory control FPGA (200).
KR10-2002-0077882A 2002-12-09 2002-12-09 Hardware memory scrubber KR100465421B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0077882A KR100465421B1 (en) 2002-12-09 2002-12-09 Hardware memory scrubber

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0077882A KR100465421B1 (en) 2002-12-09 2002-12-09 Hardware memory scrubber

Publications (2)

Publication Number Publication Date
KR20040050736A KR20040050736A (en) 2004-06-17
KR100465421B1 true KR100465421B1 (en) 2005-01-13

Family

ID=37344866

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0077882A KR100465421B1 (en) 2002-12-09 2002-12-09 Hardware memory scrubber

Country Status (1)

Country Link
KR (1) KR100465421B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220063571A (en) * 2020-11-10 2022-05-17 한국항공우주연구원 Apparatus and method for managing memory in satellite system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0424301A2 (en) * 1989-10-18 1991-04-24 International Business Machines Corporation Overlapped data scrubbing with data refreshing
US5446741A (en) * 1990-08-02 1995-08-29 International Business Machines Corporation Fast memory power-on diagnostics using DMA
US20010047497A1 (en) * 2000-01-26 2001-11-29 Larson John E. Real-time hardware memory scrubbing
KR100379812B1 (en) * 1994-05-24 2003-06-18 인텔 코오퍼레이션 Method and device for automatically scrubbing ECC errors in memory by hardware

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0424301A2 (en) * 1989-10-18 1991-04-24 International Business Machines Corporation Overlapped data scrubbing with data refreshing
US5446741A (en) * 1990-08-02 1995-08-29 International Business Machines Corporation Fast memory power-on diagnostics using DMA
KR100379812B1 (en) * 1994-05-24 2003-06-18 인텔 코오퍼레이션 Method and device for automatically scrubbing ECC errors in memory by hardware
US20010047497A1 (en) * 2000-01-26 2001-11-29 Larson John E. Real-time hardware memory scrubbing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220063571A (en) * 2020-11-10 2022-05-17 한국항공우주연구원 Apparatus and method for managing memory in satellite system
KR102411938B1 (en) 2020-11-10 2022-06-22 한국항공우주연구원 Apparatus and method for managing memory in satellite system

Also Published As

Publication number Publication date
KR20040050736A (en) 2004-06-17

Similar Documents

Publication Publication Date Title
US5729709A (en) Memory controller with burst addressing circuit
KR100244841B1 (en) High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses
US5172379A (en) High performance memory system
US9158683B2 (en) Multiport memory emulation using single-port memory devices
US4384342A (en) System for reducing access time to plural memory modules using five present-fetch and one prefetch address registers
US9053811B2 (en) Memory device refresh
KR930024012A (en) Semiconductor memory
US6601130B1 (en) Memory interface unit with programmable strobes to select different memory devices
JPH0480350B2 (en)
US5265053A (en) Main memory DRAM interface
EP0544012B1 (en) Serial access memory
US5202857A (en) System for generating memory timing and reducing memory access time
KR100465421B1 (en) Hardware memory scrubber
JPH0390942A (en) Control system for main storage device
US6324122B1 (en) RAM synchronized with a signal
JPH0855495A (en) Reconstituting circuit and method of synchronous memory device as asynchronous memory device
JP3061009B2 (en) Bias test circuit for Rambus DRAM
JPH03176887A (en) Semiconductor memory device
US20070073983A1 (en) Multi-port memory device
JPS6120295A (en) Integrated circuit for address control
KR20240106096A (en) Method of memory scrambling using interleaving and apparatus thereof
JP2848105B2 (en) Dynamic semiconductor memory device
KR840000437B1 (en) System for accessing memory modules
JPS6031040B2 (en) Integrated circuit device for memory
JPH01188962A (en) Electronic equipment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080630

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee