KR100266165B1 - Method of accessig dram for processing error correction code - Google Patents

Method of accessig dram for processing error correction code Download PDF

Info

Publication number
KR100266165B1
KR100266165B1 KR1019970080816A KR19970080816A KR100266165B1 KR 100266165 B1 KR100266165 B1 KR 100266165B1 KR 1019970080816 A KR1019970080816 A KR 1019970080816A KR 19970080816 A KR19970080816 A KR 19970080816A KR 100266165 B1 KR100266165 B1 KR 100266165B1
Authority
KR
South Korea
Prior art keywords
column
cluster
address
data
sequentially
Prior art date
Application number
KR1019970080816A
Other languages
Korean (ko)
Other versions
KR19990060574A (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 KR1019970080816A priority Critical patent/KR100266165B1/en
Publication of KR19990060574A publication Critical patent/KR19990060574A/en
Application granted granted Critical
Publication of KR100266165B1 publication Critical patent/KR100266165B1/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures

Abstract

PURPOSE: A DRAM access method for an error correction code process is provided to efficiently perform a block code ECC process and adapt a fast page mode to both of inner code and outer code in a block code ECC process. CONSTITUTION: A row address, a row count and a count, and a column address and a column count are initialized to 0, and a first cluster is recorded into a column continuous from a start address. A 1-byte data is recorded into start addresses(0,0) and a column and a column count are increased by 1, and a data of 16-byte corresponding to the first cluster are sequentially recorded. When the column count value is 15, namely, when the recording of the first cluster is ended, the next process is performed. The row address is increased by 7 and the row count is increased by 1, and the second cluster is recorded. The column is decreased by 15 for the second cluster recording, and the column count is cleared to 0. When the row count is 10 after the repeated operation of S2 through S5, namely, when the recording of the 11th cluster is ended, the next process is performed. The count is increased, and the row address is decreased by 70, and the 12th cluster is recorded into the next column of the first cluster. It is checked whether the data are all recorded.

Description

에러정정코드 처리를 위한 디램 억세스 방법(Method of Accessing DRAM for Processing Error Correction Code)Method of Accessing DRAM for Processing Error Correction Code

본 발명은 DRAM(Dynamic Random Access Memory) 억세스 방법에 관한 것으로, 특히 에러정정코드(ECC) 처리를 효율적으로 할 수 있는 DRAM 억세스 방법에 관한 것이다.The present invention relates to a dynamic random access memory (DRAM) access method, and more particularly, to a DRAM access method capable of efficiently performing error correction code (ECC) processing.

일반적으로, DVC(Digital Video Cassette), CD-ROM(Compact Disc-Read Only Memory), DVD(Digital Versatile Disc)등과 같은 디지털 기록·저장 매체에서는 저장과 재생의 정확성을 높이기 위하여 블록 코드 방식의 에러정정코드(Error Correction Code : 이하, ECC라한다) 처리를 채택하고 있다. 여기서, 블록코드라함은 ECC를 위한 데이터를 블록 모양으로 묶은 다음 행과 열 각각에 대해서 특정 종류의 ECC 처리를 행하는 에러 정정 방식을 의미한다. 이에 따라, 상술한 블록 코드 방식에서는 이너(Inner) 인코딩/디코딩(즉, 1개의 행에 대해서 이루어지는 코드)과, 아웃터(Outer) 인코딩/디코딩(즉, 1개의 열에 대해서 이루어지는 코드)이 순차적으로 행해지기 때문에 메모리 상에 블록 전체에 해당하는 데이터를 모두 저장하고 있어야 한다.In general, digital recording / storage media such as Digital Video Cassette (DVC), Compact Disc-Read Only Memory (CD-ROM), Digital Versatile Disc (DVD), etc., block-code error correction to increase the accuracy of storage and playback. Code processing (Error Correction Code: hereinafter referred to as ECC) is adopted. Here, the block code refers to an error correction method of grouping data for ECC into a block shape and then performing a specific kind of ECC processing on each of rows and columns. Accordingly, in the above-described block code method, inner encoding / decoding (i.e. code for one row) and outer encoding / decoding (i.e. code for one column) are performed sequentially. Therefore, all data corresponding to the entire block must be stored in the memory.

도1은 DVD-RAM 시스템에서 채택하고 있는 상기 ECC 블록의 구성을 도시한 것이다. 도1의 ECC 블록은 172 바이트 * 192 로오의 크기를 가지는 데이터 영역과, 데이터의 칼럼에 대한 인코딩에 의해서 172 바이트 * 16 로오의 크기로 데이터 영역의 하단부에 부가된 아웃터 패러티 코드(Outer Parity Code : 이하, PO라 한다) 영역과, 데이터와 PO 의 로오에 대한 인코딩에 의해서 10 바이트 * 208 로오의 크기로 데이터 및 PO 영역의 우측에 부가된 이너 패러티 코드(Inner Parity Code : 이하, PI 라 한다) 영역을 구성으로 한다.Fig. 1 shows the configuration of the ECC block adopted in the DVD-RAM system. The ECC block of FIG. 1 is a data region having a size of 172 bytes * 192 rows, and an outer parity code (Outer Parity Code) added to the lower end of the data region with a size of 172 bytes * 16 rows by encoding of a column of data. Inner Parity Code (hereinafter, referred to as PI) added to the right side of the data and PO areas by a size of 10 bytes * 208 rows by encoding of data and PO rows. The area is configured.

상기와 같은 구성의 메모리, 즉 DRAM 으로부터 필요한 데이터를 얼마만큼 빨리 읽어 올 수 있는가에 따라서 ECC 처리의 효율성이 지배되게 된다.The efficiency of ECC processing is governed by how quickly the required data can be read from the memory having the above-described configuration, that is, DRAM.

한편, 일반적인 DRAM은 데이터를 읽기 혹은 쓰기(즉, 억세스)를 위한 몇가지 방법을 제공하며, 이는 크게 랜덤 억세스 모드(Random Access Mode)와 패스트 페이지 억세스 모드(Fast Page Mode Access)로 나누어진다. 랜덤 억세스 모드는 DRAM 상에서 로오 어드레스(Row Address)와 칼럼 어드레스(Column Address)에 의해 지정되는 특정한 위치에 저장되어 있는 데이터를 한 워드(Word)씩 읽어 내거나 혹은 그 위치에 한 워드를 기록하는 방식이다. 여기서, 한 워드란 특정 DRAM의 저장 단위를 가리키는 것으로써 일반적으로 8비트 또는 16비트의 데이터를 가리킨다. 패스트 페이지 억세스 모드는 동일한 로오 어드레스를 가지는 다수의 워드를 연속적으로 읽어내거나 기록할 수 있는 방식이다.On the other hand, a typical DRAM provides several methods for reading or writing (ie, accessing) data, which are largely divided into a random access mode and a fast page mode. The random access mode is a method of reading data stored at a specific location designated by a row address and a column address on a DRAM one word at a time or writing a word at that location. . Here, a word refers to a storage unit of a specific DRAM and generally refers to 8-bit or 16-bit data. The fast page access mode is a method of reading or writing a plurality of words having the same row address consecutively.

도2는 일반적인 DRAM 에서의 패스트 페이지 모드로 데이터를 기록하는 방법을 도시한 타이밍도이다.2 is a timing diagram showing a method of writing data in a fast page mode in a typical DRAM.

우선, 하이 상태의 로오 억세스 신호(RAS)를 DRAM에 발생시킨후, 소정의 시간차를 두고 로오 어드레스를 DRAM에 인가한다. 이어서, 하이 상태의 칼럼 억세스 신호(CAS)를 연속적으로 발생시킴과 아울러 상기 칼럼 억세스 신호(CAS)와 소정의 시간차를 갖는 칼럼 어드레스를 연속적으로 DRAM 에 인가한다. 이때, 상기 칼럼 어드레스와 대응하는 로우 상태의 기록 이네이블(WE) 신호를 연속적으로 DRAM으로 인가하므로써, 한 ECC 블록에서 같은 로오 어드레스를 가지는 다수의 워드(데이터 1, 데이터2, 데이터3)를 DRAM 상에 연속적으로 기록하게 된다.First, after generating the low access signal RAS to the DRAM, the low address is applied to the DRAM with a predetermined time difference. Subsequently, the column access signal CAS in a high state is continuously generated, and a column address having a predetermined time difference from the column access signal CAS is successively applied to the DRAM. At this time, by applying the write enable signal in the row state corresponding to the column address to the DRAM continuously, a plurality of words (data 1, data 2, data 3) having the same row address in one ECC block are DRAM. The images are recorded continuously.

한편, 상기 기록 이네이블 신호(WE) 대신에 로우 상태인 읽기 이네이블(OE) 신호를 DRAMDP 연속적으로 인가하면 역시 패스트 레이지 모드로 데이터를 읽어낼 수 있다.On the other hand, if the read enable OE signal in the low state instead of the write enable signal WE is continuously applied to the DRAMDP, data can also be read in the fast lazy mode.

따라서, ECC 처리의 효율성을 증가시키기 위해서는 상술한 바와 같은 패스트 페이지 모드를 잘 활용하는 것이 바람직하다. 그런데, ECC 처리에서 상기 패스트 페이지 억세스 모드를 이용함에 있어서 가장 큰 문제점은 동일한 로오 어드레스를 가지는 다수의 워드에 대해서만 상기 모드가 적용되는데 있다. 다시 말하여, 동일한 칼럼 어드레스를 가지는 다수의 워드에 대해서는 패스트 페이지 모드 억세스 방식이 지원되지 않는다.Therefore, in order to increase the efficiency of ECC processing, it is desirable to make good use of the fast page mode as described above. However, the biggest problem in using the fast page access mode in ECC processing is that the mode is applied only to a plurality of words having the same row address. In other words, fast page mode access is not supported for multiple words having the same column address.

이에 따라, 도1에 도시된 바와 같은 블록 코드 방식의 ECC를 처리하고자 할 때에는 이너(Inner) 코드와 아웃터(Outer) 코드중 하나의 코드만 패스트 페이지 모드를 이용하여 읽기/쓰기를 수행할 수 있다. 따라서, 나머지 하나의 코드는 랜덤 억세스 모드를 이용 할 수 밖에 없으므로 ECC 처리의 효율성은 상당히 저하되게 된다.Accordingly, when the ECC of the block code method as shown in FIG. 1 is to be processed, only one code of an inner code and an outer code may be read / write using the fast page mode. . Therefore, the other code is forced to use the random access mode, so the efficiency of ECC processing is significantly reduced.

따라서, 본 발명의 목적은 블록코드 ECC처리를 효율적으로 수행할 수 있는 DRAM 억세스 방법을 제공하는 것이다.Accordingly, it is an object of the present invention to provide a DRAM access method capable of efficiently performing block code ECC processing.

본 발명의 다른 목적은 블록코드 ECC 처리에서 패스트 페이지 모드를 이너코드와 아웃터 코드 양쪽에 대해서 모두 이용할 수 있는 DRAM 억세스 방법을 제공하는 것이다.Another object of the present invention is to provide a DRAM access method in which fast page mode can be used for both inner code and outer code in block code ECC processing.

제1도는 종래의 DVD-RAM에서 ECC 블록의 구성도.1 is a block diagram of an ECC block in a conventional DVD-RAM.

제2도는 DRAM의 패스트 페이지 모드 기록 방식을 나타내는 신호 타이밍도.2 is a signal timing diagram showing a fast page mode write method of a DRAM.

제3도는 본 발명에 따른 억세스 방법에 적용하기 위하여 도1의 ECC 블록을 클러스터를 이용하여 분할한 형태를 도시한 도면.3 is a diagram illustrating a form in which an ECC block of FIG. 1 is divided using a cluster to apply to an access method according to the present invention.

제4도는 본 발명의 제1실시예에 따른 DRAM 억세스 방법을 설명하는 흐름도.4 is a flowchart for explaining a DRAM access method according to the first embodiment of the present invention.

제5도는 본 발명의 DRAM 억세스 방법을 위한 DRAM 억세스 장치의 구성을 도시한 블록도.5 is a block diagram showing the configuration of a DRAM access device for the DRAM access method of the present invention.

제6도는 제4도의 DRAM 억세스 방법에 의한 ECC 블록의 구성도.6 is a configuration diagram of an ECC block by the DRAM access method of FIG.

제7도은 본 발명의 제2실시예에 따른 ECC 블록의 구성도.7 is a block diagram of an ECC block according to a second embodiment of the present invention.

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

10 : 데이터 입력부 12 : O/I(Outer/Inner) 인코더10: data input unit 12: O / I (Outer / Inner) encoder

14 : 데이터 MUX(Multiplexer) 16 : 제어기14: Data MUX (Multiplexer) 16: Controller

18 : 로오 어드레스 발생기 20 : 칼럼 어드레드 발생기18: row address generator 20: column address generator

22 : 어드레스 MUX 24 : DRAM 제어신호 발생기22: address MUX 24: DRAM control signal generator

26 : DRAM 28 : 데이터 출력부26 DRAM 28 data output unit

상기 목적을 달성하기 위하여, 본 발명에 따른 에러 정정코드 처리를 위한 DRAM 억세스 방법은 클러스터들을 i번째 칼럼 어드레스 열에서 일정한 간격을 갖고 증가하는 로오 어드레스에 순차적으로 기록하는 1단계와, K 개의 클러스터가 기록되면 i+1번째 칼럼 어드레스 열에서 일정한 간격을 갖고 증가하는 로오 어드레스에 순차적으로 기록하는 2단계와, 칼럼 어드레스 열을 순차적으로 증가시켜 상기 1 및 2단계를 수행하고, 이를 반복하여 m번째 칼럼 어드레스 열까지 클러스터들을 순차적으로 기록하는 3단계와, i번째 칼럼 어드레스 열에서 상기 로오 어드레스와 순차적으로 인접하고 상기 일정한 간격을 갖고 증가하는 로오 어드레스에 클러스터들을 순차적으로 기록하고 상기 2단계 및 3단계를 반복하는 4단계와, 4단계를 반복수행하여 상기 클러스터들의 기록을 완료하는 5단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, the DRAM access method for error correction code processing according to the present invention comprises the steps of sequentially writing the clusters in increasing row address at regular intervals in the i-th column address column, and K clusters Once written, step 2 of sequentially writing at increasing row addresses at regular intervals in the i + 1 < th > column address column; and performing steps 1 and 2 by sequentially increasing the column address column, and repeating the m-th column Sequentially recording clusters up to an address column; and sequentially recording clusters at a row address that is sequentially adjacent to the row address in the i-th column address column and increases at regular intervals. Repeat step 4 and step 4 to repeat the cluster Characterized in that it comprises the five steps to complete the recording.

또한, 본 발명에 따른 에러정정코드 처리를 위한 디램 억세스 방법은 클러스터들을 i번째 소블록의 첫 번째 칼럼 어드레스 열에서 순차적으로 증가하는 로오 어드레스에 순차적으로 기록하는 1단계와, K 개의 클러스터가 기록되면 상기 칼럼 어드레스 열에 순차적으로 인접한 칼럼 어드레스 열에서 순차적으로 증가하는 로오 어드레스에 상기 클러스터들을 기록하고, 이를 반복 수행하여 m번째 칼럼 어드레스 열까지 클러스터들을 순차적으로 기록하는 2단계와, i+1 번째 소블록에서 상기 1단계 및 2단계와 같은 방법으로 상기 클러스터들을 순차적으로 기록하고, 이를 반복 수행하여 상기 클러스터들의 기록을 완료하는 3단계를 포함하는 것을 특징으로 한다.In addition, the DRAM access method for error correction code processing according to the present invention comprises the steps of sequentially recording clusters in a row address sequentially increasing in the first column address column of the i-th small block, and if K clusters are recorded, Writing the clusters to sequentially increasing row addresses in the column address column sequentially adjacent to the column address column, repeating the steps, and sequentially writing the clusters to the m th column address column; and i + 1 th small block And sequentially recording the clusters in the same manner as in steps 1 and 2, and repeating the above steps to complete recording of the clusters.

상기 목적 외에 본 발명의 다른 목적 및 이점들은 첨부 도면을 참조한 본 발명의 바람직한 실시예에 대한 설명을 통하여 명백하게 드러나게 될 것이다.Other objects and advantages of the present invention in addition to the above object will become apparent from the description of the preferred embodiment of the present invention with reference to the accompanying drawings.

본 발명에 따른 DRAM 억세스 방법의 큰 특징은 블록 코드 방식의 ECC를 처리 할 때 이너(Inner) 코드와 아웃터(Outer) 코드 양쪽에 대해서 모두 DRAM의 패스트 페이지 코드를 이용할 수 있다는 것이다. 이것을 가능하게 하기 위하여 우선 클러스터 개념을 도입한다. 여기서, 클러스터라 함은 DRAM를 패스트 페이지 모드로 억세스할 때 한 번에 억세스 하는 묶음을 일컫는 것으로 그 크기는 사용자의 필요에 따라 임으로 정할 수 있다. 예컨데, 클러스터의 크기는 10 바이트(Byte), 20 바이트, 50 바이트 등과 같이 DRAM 이 허용하는 패스트 페이지 모드의 최대 구간에 해당하는 길이 이하의 어느 값으로도 지정이 가능하다. 본 실시예에서는 편의상 16바이트와 12 바이트를 하나의 클러스터로 간주하여 설명하기로 한다.A major feature of the DRAM access method according to the present invention is that the fast page code of the DRAM can be used for both the inner code and the outer code when processing the ECC of the block code method. To make this possible, we first introduce the cluster concept. Here, the cluster refers to a bundle that is accessed at a time when the DRAM is accessed in the fast page mode, and its size may be determined according to a user's needs. For example, the size of the cluster can be set to any value less than or equal to the length corresponding to the maximum section of the fast page mode allowed by DRAM, such as 10 bytes, 20 bytes, and 50 bytes. In the present embodiment, for convenience, 16 bytes and 12 bytes will be described as one cluster.

도3은 도1에 도시된 ECC 블록을 상술한 클러스터를 도입하여 도시한 것이다.FIG. 3 illustrates the ECC block illustrated in FIG. 1 by introducing the above-described cluster.

도1에 도시된 바와 같이 172 바이트 * 208 로오의 크기를 갖는 하나의 ECC 블록은 도합 2288개의 클러스터들로 나뉘어 진다. 여기서, 각각의 클러스터는 16바이트이다. 단, ECC 블록의 제일 우측열에 위한 11번, 22번, 33번, ..., 2288번 등의 클러스터는 12바이트이다. 도3에서 PI 영역은 ECC 처리 구조상 굳이 메모리에 저장할 필요가 없기 때문이다. 다시 말하여, PI코드는 데이터를 읽어낼 때 코딩하여 부가한다.As shown in Fig. 1, one ECC block having a size of 172 bytes * 208 rows is divided into 2288 clusters in total. Here, each cluster is 16 bytes. However, clusters 11, 22, 33, ..., 2288, etc. for the rightmost column of the ECC block have 12 bytes. This is because the PI area in Fig. 3 does not need to be stored in the memory due to the ECC processing structure. In other words, the PI code is added by coding when reading data.

그리고, 상술한 클러스터 개념을 이용하여 이너 코딩 뿐만 아니라 아웃터 코딩시 DRAM을 패스트 페이지 모드로 억세스하기 위해서는 도6 및 도7에 도시된 바와 같이 클럭스터들을 DRAM상에 적절한 방법으로 재배치하여야만 한다.In addition, in order to access the DRAM in the fast page mode during the outer coding as well as the inner coding using the cluster concept described above, the clocksters must be rearranged in a proper manner on the DRAM as shown in FIGS. 6 and 7.

이하, 본 발명의 바람직한 실시예를 도 4 내지 도7을 참조하여 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to FIGS. 4 to 7.

도4는 본 발명의 실시예에 따른 ECC처리를 위한 DRAM 억세스 방법을 설명하기 위한 DRAM 억세스 장치의 구성을 도시한 블록도이다.4 is a block diagram showing the configuration of a DRAM access apparatus for explaining a DRAM access method for ECC processing according to an embodiment of the present invention.

도 4의 DRAM 억세스 장치는 데이터 입력부(10)와, 제어기(20)의 제어신호에 따라 데이터 입력부(10)나 O/I 인코더(12)로부터 입력되는 데이터를 DRAM(16)으로 출력하거나 DRAM(16)으로부터 입력된 데이터를 O/I 인코더(12)로 출력하는 데이터 멀티플렉서(14 : 이하, 먹스라 한다)와, 제어기(20)의 제어신호에 따라 데이터 먹스(14)로부터 입력되는 데이터에 대해 아웃터 코딩 또는 이너 코딩을 수행하여 데이터 먹스(14)또는 데이터 출력부(18)로 각각 출력하는 아웃터/이너(Outer/Inner : 이하, O/I 라 한다) 인코더(12)와, 제어기(20)의 제어신호에 따른 로오 어드레스를 발생하여 어드레스 먹스(26)로 출력하는 로오 어드레스 발생기(22)와, 제어기(20)의 제어신호에 따른 칼럼 어드레스를 발생하여 어드레스 먹스(26)로 출력하는 칼럼 어드레스 발생기(22)와, 제어기(20)의 제어신호에 따라 로오 어드레스 발생기(22)로부터의 로오 어드레스 또는 칼럼 어드레스 발생기(24)로부터의 칼럼 어드레스를 DRAM(16)에 인가하는 어드레스 먹스(26)와, 제어기(20)의 제어신호에 따라 억세스 동작을 위해 필요한 여러 신호들을 생성하여 DRAM(16)에 인가하는 DRAM 제어신호 발생기(16)를 구비한다.The DRAM access device of FIG. 4 outputs data input from the data input unit 10 or the O / I encoder 12 to the DRAM 16 according to the data input unit 10 and the control signal of the controller 20, or the DRAM ( The data multiplexer 14 (hereinafter referred to as mux) for outputting the data input from the 16 to the O / I encoder 12 and the data input from the data mux 14 according to the control signal of the controller 20. An outer / inner (hereinafter referred to as O / I) encoder 12 and controller 20 for outputting to the data mux 14 or the data output unit 18 by performing outer coding or inner coding, respectively. A row address generator 22 generating a row address according to a control signal of the control signal and outputting it to the address mux 26, and a column address generating a column address according to the control signal of the controller 20 and outputting the column address to the address mux 26. Depending on the generator 22 and the control signal of the controller 20 For access operation according to the address mux 26 which applies the row address from the la row address generator 22 or the column address from the column address generator 24 to the DRAM 16, and the control signal of the controller 20, And a DRAM control signal generator 16 for generating various necessary signals and applying them to the DRAM 16.

도 5는 본 발명의 제1 실시예에 따른 ECC 처리를 위한 DRAM 억세스 방법을 설명하는 흐름도이다. 이는 도 4의 제어기(20)의 제어동작에 의해 수행된다.5 is a flowchart illustrating a DRAM access method for ECC processing according to the first embodiment of the present invention. This is performed by the control operation of the controller 20 of FIG.

도6은 상기 방법에 의해 DRAM에 저장된 하나의 ECC 블록의 구조를 도시한 것이다. 도 6은 4Mbit (5412K * 8bit)DRAM을 2차원적으로 나타낸 것으로 클러스터 단위로 데이터가 저장된다.Fig. 6 shows the structure of one ECC block stored in DRAM by the above method. 6 is a two-dimensional representation of 4Mbit (5412K * 8bit) DRAM, in which data is stored in cluster units.

우선, 제1단계에서 로오 어드레스 (이하, 로오라 한다), 로오 카운트, 카운트, 칼럼 어드레스(이하, 칼럼), 칼럼 카운트를 0으로 초기화시킨후 시작번지부터 연속한 칼럼에 1번 클러스터를 기록한다. 상세히 하면, 시작 어드레스(0, 0)에 1바이트의 데이터를 기록하고, 칼럼과 칼럼 카운트를 1씩 증가시키면서 1번 클럭스터에 해당하는 16바이트의 데이터를 순차적으로 기록한다 (제2단계). 상기 단계에서 칼럼 카운트 값이 15가 되면, 즉 1번 클러스터의 기록이 완료되면 다음 단계로 진행한다. (제3 단계) 제5단계에서 로오를 7증가시킴과 아울러 로오 카운터는 1증가 시킨후 2번 클럭스터를 기록한다. 2번 클러스터 기록을 위하여 칼럼을 15만큼 감소시키고 칼럼카운트를 0으로 클리어시킨 후, 상기 2단계 및 3단계를 반복 수행한다. 2단계 내지 5단계를 반복 수행하여 로오 카운트가 10이 되면, 즉 11번 클럭스터까지 기록이 완료되면 다음 단계로 진행한다.(제 4단계).First, in the first step, the row address (hereinafter referred to as a row), row count, count, column address (hereinafter referred to as a column), and column count are initialized to 0, and cluster 1 is recorded in a continuous column from the start address. . In detail, one byte of data is recorded at the start address (0, 0), and 16 bytes of data corresponding to the first clockster are sequentially recorded while increasing the column and the column count by one (second step). When the column count value reaches 15 in this step, that is, when the recording of cluster 1 is completed, the process proceeds to the next step. (Step 3) In the 5th step, increase the Loo by 7 and increase the Loo counter by 1, and then record the Clockster No. 2. The column is reduced by 15 and the column count is cleared to 0 for cluster number 2, and the above steps 2 and 3 are repeated. When the low count reaches 10 by repeating steps 2 to 5, that is, when the recording is completed up to 11 clocksters, the process proceeds to the next step.

제8단계에서 카운트를 1증가시킨 후 로오를 70만큼 감소시켜 처음 로오로 되돌아와서 1번 클러스터 다음의 칼럼에 다음 클러스터, 즉 12번 클러스터를 기록한다. 이를 위하여, 칼럼 카운트와 로오 카운트를 0으로 클리어시키고 상기 2단계로 귀환하여 상기 과정을 반복 수행한다. 상기 2단계 내지 8단계를 반복 수행하여 카운트가 15가 되면(제6단계), 제9단계에서 데이터가 모두 기록되었는가를 검사한다. 여기서, 기록할 데이터가 남아있는 경우 상기 2단계 내지 8단계를 반복 수행한다. 그리고, 카운트가 31이 되면, 즉 352번 클러스터의 기록이 완료되면 제10단계에서 카운트, 로오 카운트, 칼럼 카운트을 0으로 클리어 시키킨후 다음 클러스터(353번)를 기록한다. 이때, 칼럼은 0으로 감소시키고, 로오는 69만큼 감소시킨후 상기 2단계로 귀환하여 두 번째 로오부터 기록하게 된다.In step 8, after increasing the count by 1, the number of rows is decreased by 70, and the return is returned to the first row, and the next cluster, that is, cluster 12, is recorded in the column after cluster 1. To this end, the column count and row count are cleared to zero, and the process is repeated by returning to the second step. When the count reaches 15 (step 6) by repeating steps 2 to 8, it is checked whether all the data has been recorded in the ninth step. If data to be recorded remains, steps 2 to 8 are repeated. When the count reaches 31, that is, when the recording of cluster 352 is completed, the count, row count, and column count are cleared to 0 in step 10, and the next cluster (# 53) is recorded. At this time, the column is reduced to zero, and the row is reduced by 69, and then returns to the second step to record from the second row.

이와 같은 방법으로 DRAM에 클러스터들을 저장하게 되면 이너 코드 및 아웃터 코드 두 방향에 대해서 모두 패스트 페이지 모드로 동작이 가능한 효과가 나타난다.Storing clusters in DRAM in this way has the effect of operating in fast page mode for both inner code and outer code directions.

우선, 이너 코딩을 살펴보면, 첫 번째 행의 이너 코딩을 행하기 위해서는 도3의 1번에서 11번까지의 클러스터들을 모두 DRAM으로부터 읽어야 한다. 도4에서는 1번에서 11번까지의 클러스터들이 여러 곳에 산재해 있지만, 이는 로오 어드레스를 적절히 제어하면, 즉 상술한 억세tm 방법에 의하면 16바이트 또는 12 바이트의 데이터를 패스트 페이지 모드로 읽어 낼 수 있다. 마찬가지로, 두 번째 행의 이너코딩을 행하기 위해서는 12번에서 22번까지의 클러스터들을 읽어내야 하는데, 이도 역시 상술한 억세스 방법에 의해 패스트 페이지 모드로 읽어낼 수 있다.First, referring to inner coding, in order to perform inner coding of the first row, all clusters 1 to 11 in Fig. 3 must be read from the DRAM. In Fig. 4, clusters 1 to 11 are scattered in various places, but this can be read in the fast page mode by properly controlling the loo address, that is, 16 bytes or 12 bytes of data according to the above-described accent method. . Similarly, in order to perform inner coding of the second row, clusters 12 to 22 must be read, which can also be read in fast page mode by the above-described access method.

다음 아웃터 코딩을 살펴보면, 첫 번째 열의 아웃터 코딩을 수행하기 위해서는 도1에서 B(0,0)에서 B(191, 0)가지의 192바이트의 데이터를 모두 읽어야 한다. 이를 도 3에 적용하면, 1번 클러스터의 첫 번째 바이트, 12번 클럭스터의 첫 번째 바이트, 23번 클러스터의 첫 번째 바이트, ..., 2102번 클러스터의 첫 번째 바이트가 된다. 도6에 도시된 DRAM에서는 상기 1번, 12번, 23번 등의 클러스터는 모두 같은 로오 어드레스를 가지고 있으므로 칼럼 어드레스만을 적절하게 바꾸어 줌으로써, 상기 각각 클러스터의 첫 번째 바이트들을 패스트 페이지 모드로 읽어내어 효율적인 아웃터 코딩을 할 수 있다.Referring to the following outer coding, in order to perform the outer coding of the first column, all 192 bytes of data of B (0,0) to B (191, 0) in FIG. 1 should be read. 3, the first byte of cluster 1, the first byte of clockster 12, the first byte of cluster 23, ..., the first byte of cluster 2102. In the DRAM shown in Fig. 6, since clusters 1, 12, 23, etc. all have the same row address, only the column address is changed appropriately, so that the first byte of each cluster is read in the fast page mode. You can do outer coding.

도7은 본 발명에 따른 DRAm 억세스 방법의 제2실시예를 도시한 것으로써, 도7의 DRAM은 소블록단위로 나눈 뒤 로오를 순차적으로 증가시키면서 클러스터들을 기록한 것이다. 도7에 도시된 DRAM 도 상기 도6의 DRAN과 마찬가지 의 방식으로 이너 코딩과 아웃터 코딩 양쪽 모두에 대해서 패스트 페이지 억세스 모드를 이용한 데이터 처리를 수행할 수 있다.FIG. 7 illustrates a second embodiment of the DRAm access method according to the present invention, in which the DRAM of FIG. 7 divides the clusters into small blocks and records clusters in increasing order. The DRAM shown in FIG. 7 can also perform data processing using the fast page access mode for both inner coding and outer coding in the same manner as the DRAN of FIG.

상술한 바와 같이, 본 발명에 따른 DRAM 억세스 방법에 의하면 데이터를 클러스터 단위로 묶어서 재배치함으로써, DRAM을 패스트 페이지 모드로 억세스하여 이너 코딩 및 아웃터 코딩을 수행할 수 있다. 이에 따라, 효율적인 ECC 처리를 수행할 수 있다.As described above, according to the DRAM access method according to the present invention, by grouping and rearranging data in cluster units, inner coding and outer coding can be performed by accessing the DRAM in the fast page mode. Accordingly, efficient ECC processing can be performed.

이상 설명한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the technical spirit of the present invention.

따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정하여져만 한다.Therefore, the technical scope of the present invention should not be limited to the contents described in the detailed description of the specification but should be defined by the claims.

Claims (8)

n 개의 로오 어드레스와 m 개의 칼럼 어드레스 열을 가지는 디램에 연속적으로 입력되는 데이터를 일정크기로 묶은 클러스터 단위로 기록하는 방법에 있어서, 상기 클러스터들을 i번째칼럼 어드레스 열에서 일정한 간격을 갖고 증가하는 로오 어드레스에 순차적으로 기록하는 1단계와, 상기 단계에서 K 개의 클러스터가 기록되면 i+1번째 칼럼 어드레스 열에서 상기 일정한 간격을 갖고 증가하는 로오 어드레스에 순차적으로 기록하는 2단계와, 상기 칼럼 어드레스 열을 순차적으로 증가시켜 상기 1 및 2단계를 수행하고, 이를 반복하여 m 번째 칼럼 어드레스 열까지 상기 클러스터들을 순차적으로 기록하는 3단계와, 상기 i번째 칼럼 어드레스 열에서 상기 로오 어드레스와 순차적으로 인접하고 상기 일정한 간격을 갖고 증가하는 로오 어드레스에 클러스터들을 순차적으로 기록 하고 상기 2단계 및 3단계를 반복하는 4단계와, 상기 4단계를 반복수행하여 상기 클러스터들의 기록을 완료하는 5단계를 포함하는 것을 특징으로 하는 에러정정코드 처리를 위한 디램 억세스 방법.A method of recording data sequentially input to a DRAM having n row addresses and m column address columns in cluster units of a predetermined size, wherein the clusters increase the row addresses at regular intervals in the i th column address column. Step 1 of sequentially writing in the step; and in step 2, if K clusters are written in the step; 3 to sequentially perform the steps 1 and 2, repeating the steps, and sequentially record the clusters up to the m th column address column; Cluster at increasing address DRAM access for the error correction code processing, characterized in that it comprises the four steps of sequentially recording the steps and repeating the steps 2 and 3, and the step of repeating the step 4 to complete the recording of the clusters Way. 제1항에 있어서, 상기 1단계에서 상기 클러스터를 구성 데이터는 바이트 단위로 하여 상기 i번째 칼럼 어드레스 열을 구성하는 칼럼 어드레스를 순차적으로 증가시키면서 기록하는 것을 특징으로 하는 에러정정코드 처리를 위한 디램 억세스 방법.2. The DRAM access of claim 1, wherein the clustering data is written in the step 1 by sequentially increasing column addresses constituting the i-th column address column in byte units. Way. 제1항에 있어서, 상기 K 개의 클러스터 단위로 상기 일정간격을 갖고 증가하도록 로오 어드레스를 제어하면서 상기 클러스터 내의 데이터를 패스트 페이지 모드로 억세스하여 이너 코팅을 수행하는 것을 특징으로 하는 에러정정코드 처리를 위한 디램 억세스 방법.The method of claim 1, wherein an inner coating is performed by accessing data in the cluster in a fast page mode while controlling a row address so as to increase the predetermined interval at the K cluster units. DRAM access method. 제1항에 있어서, 상기 동일한 로오 어드레스에서 상기 칼럼 어드레스를 상기 클러스터의 간격을 갖고 증가하도록 제어하면서 상기 클러스터 내의 데이터를 한 바이트씩 패스트 페이지 모드로 억세스하여 아웃터 코딩을 수행하는 것을 특징으로 하는 에러정정코드 처리를 위한 디램 억세스 방법.The error correction method of claim 1, wherein the data is corrected by accessing the data in the cluster in the fast page mode one byte at a time while controlling the column address to be increased with the cluster interval at the same row address. DRAM access method for code processing. n 개의 로오 어드레스와 m 개의 칼럼 어드레스 열을 갖는 소블록 단위로 구성된 디램에 연속적으로 입력되는 데이터를 일정크기로 묶은 클러스터 단위로 기록하는 방법에 있어서, 상기 클러스터들을 i번째 소블록의 첫 번째 칼럼 어드레스 열에서 순차적으로 증가하는 로오 어드레스에 순차적으로 기록하는 1단계와, 상기 단계에서 K 개의 클러스터가 기록되면 상기 칼럼 어드레스 열에 순차적으로 인접한 칼럼 어드레스 열에서 순차적으로 증가하는 상기 로오 어드레스에 상기 클러스터들을 기록하고, 이를 반복 수행하여 m 번째 칼럼 어드레스 열까지 상기 클러스터들을 순차적으로 기록하는 2단계와, i+1번째 소블록에서 상기 1단계 및 2단계와 같은 방법으로 상기 클러스터들을 순차적으로 기록하고, 이를 반복 수행하여 상기 클러스터들의 기록을 완료하는 3단계를 포함하는 것을 특징으로 하는 에러정정코드 처리를 위한 디램 억세스 방법.A method of writing data sequentially input to a DRAM composed of small block units having n row addresses and m column address columns in cluster units of a predetermined size, wherein the clusters include the first column address of the i th small block. Step 1 of sequentially writing to the row address sequentially increasing in the column, and if the K clusters are written in the step, write the clusters to the row address sequentially increasing in the column address column sequentially adjacent to the column address column and Repeat step 2 to sequentially record the clusters up to the m th column address column, and sequentially record the clusters in the same manner as steps 1 and 2 in the i + 1 th small block, and repeat this. Complete the recording of the clusters DRAM access method for an error correction encoding process comprising the step of. 제5항에 있어서, 상기 1단계에서 상기 클러스터를 구성하는 데이터는 바이트 단위로 하여 상기 첫 번째 칼럼 어드레스 열을 구성하는 칼럼 어드레스를 순차적으로 증가시키면서 기록하는 특징으로 하는 에러정정코드 처리를 위한 디램 억세스 방법.6. The DRAM access of claim 5, wherein the data constituting the cluster is recorded in byte units while sequentially increasing the column addresses constituting the first column address column in byte units. Way. 제5항에 있어서, 상기 K 개의 클러스터를 순차적으로 증가하도록 로오 어드레스를 제어하면서 상기 클러스터 내의 데이터를 패스트 페이지 모드로 억세스하여 이너 코팅을 수행하는 것을 특징으로 하는 에러정정코드 처리를 위한 디램 엑세스 방법.6. The DRAM access method of claim 5, wherein inner coating is performed by accessing data in the cluster in a fast page mode while controlling a row address to sequentially increase the K clusters. 제5항에 있어서, 상기 동일한 로오 어드레스에서 상기 칼럼 어드레스를 상기 클러스터의 간격을 갖고 증가하도록 제어하면서 상기 클러스터 내의 데이터를 한 바이트씩 패스트 페이지 모드로 억세스하여 아웃터 코딩을 수행하는 것을 특징으로 하는 에러정정코드 처리를 위한 디램 억세스 방법.The error correction method of claim 5, wherein the data is corrected by accessing the data in the cluster in the fast page mode by one byte while controlling the column address to be increased with the cluster interval at the same row address. DRAM access method for code processing.
KR1019970080816A 1997-12-31 1997-12-31 Method of accessig dram for processing error correction code KR100266165B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970080816A KR100266165B1 (en) 1997-12-31 1997-12-31 Method of accessig dram for processing error correction code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970080816A KR100266165B1 (en) 1997-12-31 1997-12-31 Method of accessig dram for processing error correction code

Publications (2)

Publication Number Publication Date
KR19990060574A KR19990060574A (en) 1999-07-26
KR100266165B1 true KR100266165B1 (en) 2000-09-15

Family

ID=19530452

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970080816A KR100266165B1 (en) 1997-12-31 1997-12-31 Method of accessig dram for processing error correction code

Country Status (1)

Country Link
KR (1) KR100266165B1 (en)

Also Published As

Publication number Publication date
KR19990060574A (en) 1999-07-26

Similar Documents

Publication Publication Date Title
US6125072A (en) Method and apparatus for contiguously addressing a memory system having vertically expanded multiple memory arrays
US6353910B1 (en) Method and apparatus for implementing error correction coding (ECC) in a dynamic random access memory utilizing vertical ECC storage
US7454691B2 (en) Method and system for encoding digital data for optical recording system
US6965980B2 (en) Multi-sequence burst accessing for SDRAM
US6216245B1 (en) Error correction coding method and apparatus thereof, error correction decoding method apparatus thereof, data recording and reproducing apparatus, and recording medium
US6018354A (en) Method for accessing banks of DRAM
KR19990067778A (en) A data storage system
US5765203A (en) Storage and addressing method for a buffer memory control system for accessing user and error imformation
US7523376B2 (en) Apparatus for accessing and transferring optical data
JPS62217468A (en) Method and device for recording and reproducing digital information
US6295596B1 (en) Data reproducing apparatus
US6651208B1 (en) Method and system for multiple column syndrome generation
KR100266165B1 (en) Method of accessig dram for processing error correction code
US6810500B1 (en) Method for mapping a two-dimensional data array in a memory
US6138214A (en) Synchronous dynamic random access memory architecture for sequential burst mode
CN1430225A (en) Generating method and device of correcting code block and optical recording medium containing correcting code block
US5392288A (en) Addressing technique for a fault tolerant block-structured storage device
JPH0793212A (en) Data storage device
US6981198B2 (en) Dynamic error correction code shortening
JPH08273347A (en) Temporary data memory
JP2615570B2 (en) Data recording method
JPS63197122A (en) Error correcting and checking device
US7191305B2 (en) Method and apparatus for address decoding of embedded DRAM devices
JP2002319233A (en) Recording and reproducing device for digital signal
JP2567177B2 (en) Semiconductor 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: 20050331

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee