KR101124860B1 - 메모리의 엑세스 방법 - Google Patents

메모리의 엑세스 방법 Download PDF

Info

Publication number
KR101124860B1
KR101124860B1 KR1020100102338A KR20100102338A KR101124860B1 KR 101124860 B1 KR101124860 B1 KR 101124860B1 KR 1020100102338 A KR1020100102338 A KR 1020100102338A KR 20100102338 A KR20100102338 A KR 20100102338A KR 101124860 B1 KR101124860 B1 KR 101124860B1
Authority
KR
South Korea
Prior art keywords
memory
data
parity
cell
interleaving
Prior art date
Application number
KR1020100102338A
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 KR1020100102338A priority Critical patent/KR101124860B1/ko
Application granted granted Critical
Publication of KR101124860B1 publication Critical patent/KR101124860B1/ko

Links

Images

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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

제1 메모리에 저장된 데이터를 제2 메모리로 엑세스하고, 이를 다시 엑세스하는 메모리의 엑세스 방법이 개시된다. 제2 메모리는 제1 메모리의 동일 컬럼라인의 데이터를 동일한 인터리빙 셀에 저장한다. 로우방향으로 구획된 인터리빙 셀마다 하나의 패리티 셀이 할당된다. 패리티 셀은 컬럼방향으로 제2 메모리를 구획하는 인터리빙 셀 개수와 동일한 비트간격을 가지는 다수의 패리티 비트들로 구성된다. 제2 메모리의 동일한 로우라인에 배치된 패리티 비트에 상응하는 인터리빙 셀의 데이터중 제1 메모리에서 결정된 동일 워드라인의 데이터는 패리티 비트와 가장 먼 위치에 배치된다.

Description

메모리의 엑세스 방법{Method of accessing Memory}
본 발명은 메모리에 저장된 데이터의 엑세스하는 방법에 관한 것으로, 더욱 상세하게는 메모리를 엑세스하여 효율적으로 소프트 에러를 검출할 수 있는 방법에 관한 것이다.
메모리에 저장된 데이터는 컨트롤러 또는 프로세서에 의해 어드레싱되고, 프로세스의 캐시 메모리 등에 전송된다. 전송되는 데이터에는 오류가 발생될 가능성이 있다. 통상적으로 발생되는 에러의 타입이 소프트 에러이다. 소프트 에러는 알파입자 또는 우주선(cosmic ray)에 기인한 것으로 메모리에 저장된 정보의 왜곡을 일으킨다.
특히, 정보를 저장하는 메모리가 DRAM인 경우, 다른 종류의 메모리에 비해 소프트 에러의 빈도는 높은 경향을 가진다. 이는 DRAM 자체의 정보저장 방식에 기인한다. 즉, DRAM은 물리적으로 형성된 커패시터에 전하를 저장하는 동작을 통해 정보를 저장한다. 따라서, 반도체 제조공정상 선폭의 감소에 의해 인접하는 셀 트랜지스터의 영향을 받을 수 있으며, 알파입자나 우주선에 의해 커패시터에 저장된 전하의 손실이 발생되기도 한다. 이러한 소프트 에러에 기인한 데이터의 오류를 정정하기 위해 다양한 에러 교정 회로가 채용된다.
이외에, 메모리 자체에 패리티 비트를 할당하여 에러를 감지하고, 교정하는 동작이 수행된다.
대한민국 특허출원 제2008-7008130호는 저밀도 패리티 검사 디코더용 방법 및 장치를 개시한다. 상기 출원은 디코더가 메모리와 프로세서를 포함하고, 프로세서가 확률 연산을 통해 soft decision을 수행하며, soft decision을 통해 패리티 검사를 수행하여 비트 에러를 검출하고 있다.
또한, 대한민국 특허출원 제2002-44793호는 메모리 회로를 개시하고 있는바, 멀티비트 소프트 에러의 발생시 이를 원활하게 감지하는 에러정정 기능에 대해 설명하고 있다. 이는 메모리의 4비트 데이터마다 3비트의 패리티 비트를 할당하여 강력한 에러정정기능을 구현하고 있다.
상술한 바대로 다양한 방법을 통해 소프트 에러에 기인한 데이터의 오류를 감지하고 이를 정정하고자 하는 노력이 진행되고 있다. 대표적으로 논의되는 것이 오류분산을 위해 인터리빙 기법을 이용하여 정정 가능 범위를 확장하는 것이다.
이외에도 패리티 비트를 워드당 배치시키는 것과 함께 컬럼(column)의 말단에 다른 패리티 비트를 배치시키는 방법이 있다. 이는 메모리에 저장된 데이터의 x축과 y축에 해당하는 좌표에 각각 2개 이상의 2차원 패리티 비트가 할당된 것을 의미한다.
상술한 구성은 메모리에 저장된 워드 단위로 적어도 2비트 이상의 패리티 비트들이 할당되어야 함을 의미한다. 따라서, 메모리의 사용공간은 매우 제한되는 단점을 가진다. 이외에도 하나의 워드에서 발생되는 다수개의 멀티 비트 에러를 감지하는데도 문제점을 가진다.
상술한 문제점을 해결하기 위해 본 발명의 목적은 메모리를 엑세스하여 메모리의 저장된 정보를 분산시키고, 분산된 메모리의 데이터에서 소프트 에러가 발생하더라도 이를 용이하게 검출할 수 있는 방법을 제공하는데 있다.
상기 목적을 달성하기 위한 본 발명은, 제1 메모리에 데이터 및 상기 데이터의 각 워드라인마다 패리티 비트를 할당하는 단계; 상기 제1 메모리를 엑세스하여 상기 제2 메모리의 각각의 인터리빙 셀에 상기 제1 메모리의 동일 컬럼라인의 데이터를 저장하고, 상기 인터리빙 셀에 상응하는 패리티 셀을 할당하는 단계; 및 상기 제2 메모리를 엑세스하여 상기 제1 메모리의 특정 워드라인에 해당하는 데이터 및 상기 특정 워드라인에 상응하는 패리티 비트를 조합하는 단계를 포함하는 메모리의 엑세스 방법을 제공한다.
본 발명의 상기 목적은, 제1 메모리에 저장된 데이터 및 패리티 비트를 엑세스하여 제2 메모리에 저장하고, 상기 제2 메모리에 저장된 상기 데이터 및 패리티 비트를 엑세스하는 메모리의 엑세스 방법에 있어서, 상기 제2 메모리에 상기 제1 메모리의 동일 컬럼라인의 데이터를 저장하기 위한 인터리빙 셀과 상기 인터리빙 셀에 상응하는 패리티 셀을 할당하는 단계; 및 상기 인버리빙 셀의 데이터 및 상기 패리티 셀의 패리티 비트를 엑세스하여 상기 제1 메모리에서 저장되었던 특정 워드라인의 데이터 및 패리티 비트를 읽어오는 단계를 포함하는 메모리의 엑세스 방법의 제공을 통해서도 달성된다.
상술한 본 발명에 따르면, 제1 메모리에 저장된 데이터는 제2 메모리에 재배치되고, 저장된다. 제2 메모리에서 발생되는 소프트 에러가 연집된 형태로 존재하더라도, 제2 메모리에서의 에러는 제1 메모리의 측면에서는 다른 워드라인의 에러에 속한다. 따라서, 제2 메모리를 엑세스하고, 다시 제1 메모리에 저장된 형태로 데이터와 패리티 비트를 조합하는 경우, 제2 메모리에 발생된 에러는 용이하게 검출될 수 있다.
도 1은 본 발명의 바람직한 실시예에 따라 메모리로부터 저장된 데이터를 엑세스하는 개념도이다.
도 2는 상기 도 1에서 개시된 인터리빙 셀을 도시한 블록도이다.
도 3은 상기 도 1에 도시된 패리티 셀을 도시한 블록도이다.
도 4는 본 발명의 바람직한 실시예에 따라 실제 메모리에서 데이터를 엑세스하는 방법을 설명하기 위한 블록도이다.
도 5는 본 발명의 바람직한 실시예에 따라 상기 도 4에 도시된 제2 메모리를 엑세스하는 방법을 설명하기 위한 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다.
실시예
도 1은 본 발명의 바람직한 실시예에 따라 메모리로부터 저장된 데이터를 엑세스하는 개념도이다.
도 1을 참조하면, 메모리에 저장된 데이터의 형태는 하나의 로우(row) 라인 당 1비트의 패리티 비트가 할당된다.
또한, 엑세스를 통해 메모리에 저장된 데이터는 새로운 배열로 맵핑된다. 맵핑이 수행된 이후의 데이터는 컨트롤러 또는 프로세스의 캐시 메모리 등에 저장된다. 예컨대, DRAM 등에 저장된 데이터는 프로세스 또는 컨트롤러로부터 전송되는 커맨드에 의해 출력되고, 맵핑을 통해 SRAM 등으로 구성된 캐시 메모리 등에 재배치되어 저장된다.
설명의 편의를 위해 데이터가 저장되는 DRAM 등의 메모리를 제1 메모리(100)라 지칭하고, 이를 재배치하여 저장하는 메모리를 제2 메모리(200)라 지칭한다.
먼저, 제1 메모리(100)에 저장된 데이터는 LN×ML 비트의 크기를 가진다.
또한, 제1 메모리(100)의 각각의 워드에는 1 비트의 패리티 비트가 할당된다. 따라서, 0번 워드에는 패리티 비트 P0가 할당되고, 1번 워드에는 패리티 비트 P1이 할당된다. 이와같이 LN개 각각의 워드에는 한 비트의 패리티 비트가 할당된다.
제1 메모리(100)에 저장된 데이터는 커맨드에 따라 제2 메모리(200)로 저장된다. 제2 메모리(200)로 맵핑되는 데이터는 다수개의 셀들의 집합으로 설명된다. 각각의 셀은 인터리빙 셀(201)로 지칭된다. 인터리빙 셀(201)은 프로세서 또는 컨트롤러로부터 제1 메모리(100)를 엑세스하고 제2 메모리(200)에 저장하는 경우, 제2 메모리(200)에서 특정의 한 셋트의 패리티 비트들이 할당된 데이터 단위이다.
상기 인터리빙 셀(201)은 메모리의 용량 및 타입에 따라 달리 설정될 수 있다. 먼저, 하나의 인터리빙 셀(201)은 N×L 비트들로 구성된다. 각각의 인터리빙 셀(201)은 설명의 편의를 위해 (0,0)에서부터 (L-1, M-1)까지의 좌표가 설정된다. 예컨대, 임의의 인터리빙 셀(201)은 좌표(k,m)으로 표시되며, k는 0에서부터 L-1의 정수이며, m은 0에서부터 M-1까지의 값을 가질 수 있는 정수이다.
또한, 가로방향으로 배치되는 M 개의 인터리빙 셀들(201)에는 한 셋트의 패리티 비트들이 할당된다. 또한, 하나의 로우라인에는 1비트의 패리티 비트가 할당된다. 가로방향으로 배치된 M 개의 인터리빙 셀들(201)에 할당된 패리티 비트들을 패리티 셀(203)이라 지칭한다. 상기 패리티 셀(203)은 N×1 비트의 크기를 가진다. 이는 인터리빙 셀(201)이 N 개의 로우라인을 가지며, 하나의 로우라인마다 1비트의 패리티 비트가 할당된데 기인한다.
도 2는 상기 도 1에서 개시된 인터리빙 셀을 도시한 블록도이다.
도 2를 참조하면, 상기 도 1의 제2 메모리(100)에 저장되는 데이터는 다수의 인터리빙 셀들(201)로 구분된다. 각각의 인터리빙 셀(201)에는 패리티 셀(203)이 할당된다.
먼저, N×L 비트의 크기를 가지는 인터리빙 셀(201)이 도시된다. 또한, 하나의 비트에는 하나의 좌표가 설정된다. 따라서, 인터리빙 셀(201)은 (0,0)에서부터 (N-1, L-1)까지의 좌표가 설정된다. 임의의 좌표를 (r,c)라 한다면, r은 0 에서 N-1까지의 정수, c는 0 에서 L-1까지의 정수가 된다.
도 3은 상기 도 1에 도시된 패리티 셀을 도시한 블록도이다.
도 3을 참조하면, 패리티 셀(203)은 인터리빙 셀(201)과 일치되도록 N×1의 크기를 가진다. 상기 패리티 셀(203)에 할당되는 패리티 비트는 인접하는 비트와 L의 차이를 가진다. 상기 정수 L은 상기 도 2에 도시된 바와 같이, 하나의 컬럼라인에 구비되는 인터리빙 셀(201)의 개수이다.
또한, 상기 도 1에서 패리티 셀(203)에 상응하는 인터리빙 셀(201)의 좌표가 (k,m)이고, 컬럼 방향으로 L 개의 인터리빙 셀들(201)이 구비되는 경우, 해당하는 패리티 셀(203)의 패리티 비트는 패리티 셀(203)의 좌표 (r,c)에 대해 Pk + Lr로 설정된다.
예컨대, 인터리빙 셀(201)의 좌표가 (1,2)인 경우, 해당하는 인터리빙 셀(201)에 할당되는 패리티 셀(203)은 다음의 순서로 할당된다. 즉, P1, P1 +L, P1 +2L, ..., P1 +(N-1)L 순으로 할당된다. 따라서, 임의의 (k,m)좌표를 가지고, N개의 로우라인을 가지는 인터리빙 셀(201)에 할당되는 패리티 셀(203)은 Pk, Pk +L, Pk +2L, ...,Pk +(N-1)L 이 된다.
예컨대, 인터리빙 셀(201)의 좌표가 (1,2)이고, 인터리빙 셀(201) 내에서의 좌표 (1,c)에 할당되는 패리티 비트는 P1 +L이 된다. 패리티 비트 P1 +L은 제1 메모리(100)의 1+L번 워드라인에 할당된 1비트의 패리티 비트를 의미한다.
또한, 할당되는 패리티 비트에 따라 인터리빙 셀(201)에 저장되는 데이터는 결정된다. 즉, 제1 메모리(100)에서 저장된 데이터를 엑세스하고 이를 제2 메모리(200)에 저장할 경우, 제2 메모리(200)의 패리티 비트에 상응하는 메모리의 데이터는 해당하는 패리티 비트와 가장 먼 위치에 배치된다. 또한, 각각의 인터리빙 셀(201)에 저장되는 데이터는 제1 메모리(100)의 서로 다른 워드라인의 데이터이다. 즉, 제1 메모리(100)에서 서로 다른 워드라인의 동일 컬럼에 해당하는 데이터들이 제2 메모리(200)에서는 동일한 인터리빙 셀(201)에 엑세스된다.
도 4는 본 발명의 바람직한 실시예에 따라 실제 메모리에서 데이터를 엑세스하는 방법을 설명하기 위한 블록도이다.
도 4를 참조하면, 우선 제1 메모리(100)의 타입은 256K×9이다. 이는 256K 워드의 정보저장 능력을 가지고 있으면서, 데이터 출력은 9비트 단위로 발생됨을 의미한다. 제1 메모리(100)는 엑세스를 통해 제2 메모리(200)로 정보가 저장된다.
먼저, 제1 메모리(100)의 정보저장은 다음과 같다. 즉, 0번 워드라인에는 0번 컬럼 데이터 00, 1번 컬럼 데이터 10, ...,7번 컬럼 데이터 70이 저장되고, 하나의 워드라인에 할당된 1비트 패리티 비트 P0이 저장된 상태이다. 설명의 편의성을 위해 데이터의 표시 XY는 메모리의 Y번째 워드라인 또는 로우라인의 X번 컬럼 데이터를 의미한다. 또한, 제2 메모리(200)로 엑세스되고, 저장되는 데이터 및 패리티 비트는 제1 메모리(100)에서 엑세스된 데이터의 로우라인 및 컬럼라인을 표시한다. 즉, 제2 메모리(200)의 좌표 (0,0)에 해당하는 인터리빙 셀 내에서 1번 로우라인의 0번 컬럼에 할당된 데이터가 04로 표시되는데, 이는 제1 메모리(100)에서 4번 워드라인의 0번 컬럼라인의 데이터를 의미한다.
도 4에 개시된 바와 같이 제1 메모리(100)가 256K×9 타입이라면, 하나의 워드라인은 8비트로 구성되고, 하나의 워드라인에는 1비트의 패리티 비트가 할당됨을 의미한다. 또한, 전체적인 워드라인의 수는 256K임을 의미한다. 이는 상기 도 1에서 제1 메모리(100)의 엑세스시, LN의 값이 256K이고, ML의 값이 8임을 나타낸다. L의 값은 임의로 설정할 수 있겠으나, 설명의 편의를 위해 4로 설정한다.
따라서, 제2 메모리(200)의 L값이 4인 경우, N의 값은 64K이다. 따라서, 제2 메모리(200)에서는 컬럼 방향으로 4개의 인터리빙 셀들(201)이 구획되고, 각 인터리빙 셀(201) 내에서 64K의 로우라인이 형성된다. 또한, L값이 4이면, M값은 2이다. 즉, 제2 메모리(200)에서는 로우 방향으로 2개의 인터리빙 셀들(201)이 구획되고, 각각의 인터리빙 셀(201)은 NL 비트의 정보저장 능력을 가진다.
또한, N의 값은 64K가 된다. 이는 메모리의 맵핑시, 전체적으로 ML개, 즉, 8개의 인터리빙 셀(201)이 존재하는 것을 의미한다. 각각의 인터리빙 셀(201)은 64K 개의 워드 또는 로우라인으로 구성된다. 인터리빙 셀(201) 내의 각각의 워드 또는 로우 라인에는 4비트의 데이터가 저장된다.
제1 메모리(100)로부터 엑세스되고, 제2 메모리(200)에 저장되는 데이터에는 하나의 로우라인당 1비트의 패리티 비트가 할당된다. 또한, 하나의 인터리빙 셀(201)에 대해 하나의 패리티 셀(203)은 상술한 규칙에 따라 패리티 비트가 정해진다.
즉, 패리티 비트의 할당식 Pk + Lr에 따라 패리티 비트가 결정된다.
먼저 좌표 (0,0) 및 (0,1)의 인터리빙 셀인 경우, k의 값은 0이 된다. 또한, L의 값은 4로 설정되었으며, r은 0에서부터 64K-1까지의 값을 가진다. 따라서, 컬럼 방향을 따라 순차적으로 P0, P4, P8, ..., P256K -4의 패리티 비트들이 할당된다.
이어서, 좌표 (1,0) 및 (1,1)의 인터리빙 셀에서는 k의 값이 1이 된다. 따라서 하나의 컬럼 방향을 따라 순차적으로 P1, P5, P9, ..., P256K -3의 패리티 비트들이 할당된다.
상술한 과정을 통해 4개의 패리티 셀들에는 256K 개의 패리티 비트들이 할당된다. 따라서, 제2 메모리(200)를 컬럼 방향으로 구획하는 L의 값에 따라 패리티 셀(203)의 수도 L 개로 결정되고, 각각의 패리티 셀(203) 내에 할당되는 패리티 비트는 패리티 비트 할당식 Pk + Lr에 의해 결정된다.
또한, 각각의 인터리빙 셀들(201)에는 다음의 규칙에 따라 데이터들이 엑세스된다. 하나의 인터리빙 셀(201)에는 제1 메모리(100)에서 하나의 컬럼라인에 저장된 데이터들이 할당된다. 따라서, 좌표 (0,0)을 가지는 인터리빙 셀에는 제1 메모리(100)의 0번 컬럼라인의 데이터들이 저장된다. 즉, 0부터 256K-1까지의 워드라인의 0번 데이터들 O0, 01,..., 0256K-1이 저장된다. 또한, 좌표 (0,1)을 가지는 인터리빙 셀에는 제1 메모리(100)의 1번 컬럼라인의 데이터들이 저장된다. 즉, 0부터 256K-1번 까지의 워드라인의 1번 데이터들 10, 11, ..., 1256K-1이 저장된다.
또한, 인터리빙 셀(201) 내에서 할당된 패리티 비트와 가장 먼 거리에는 패리티 비트에 해당하는 로우 라인의 데이터가 배치된다. 예컨대, 제1 메모리(100)의 4번 로우라인의 패리티 비트 P4는 제2 메모리(200)에서는 좌표 (0,0) 및 좌표 (0,1)의 인터리빙 셀에 상응하며, 상응되는 인터리빙 셀 내의 좌표(1,0)들에는 데이터 04 및 14가 저장된다. 또한, 저장되는 데이터 04 및 14는 해당하는 패리티 비트 P4와 인터리빙 셀 내에서 가장 먼 위치에 배치된다.
상술한 규칙은 8개의 인터리빙 셀들(201) 및 이에 할당되는 패리티 셀(203)에 동일하게 적용된다.
즉, 인터리빙 셀(201) 내에서 최우선하는 컬럼라인에 배치되는 데이터와 이에 상응하게 배치되는 패리티 비트는 제1 메모리(100)에서 서로 동일한 워드라인의 데이터 및 패리티 비트이다. 이를 통해 제2 메모리(200)에 배치되는 패리티 비트는 동일 워드라인의 데이터와는 가장 먼 위치에 배치된다. 이는 제2 메모리(200)의 특정의 인터리빙 셀 내의 특정의 로우라인의 데이터의 MSB(Most Significant Bit)와 패리티 비트는 제1 메모리에서 동일한 로우라인에 저장된 데이터 및 패리티 비트임을 의미한다.
이는, 인터리빙 셀(201)의 로우 방향의 0번 좌표에는 패리티 비트가 엑세스된 제1 메모리(100) 내의 워드라인의 데이터가 할당됨을 의미하고, 이를 통해 제1 메모리(100) 내에서 동일 워드의 데이터와 할당된 패리티 비트는 제2 메모리(200) 내에서 인터리빙 셀(201) 내에서 가장 먼 위치에 배치됨을 의미한다.
도 5는 본 발명의 바람직한 실시예에 따라 상기 도 4에 도시된 제2 메모리를 엑세스하는 방법을 설명하기 위한 블록도이다.
도 5에서 제2 메모리(200)에 저장된 정보를 읽는 엑세스 동작은 프로세스 또는 컨트롤러에서 캐시 메모리 등에 저장된 정보를 엑세스하는 동작일 수 있다. 이외에도 프로세스에서 다양한 연산을 위해 제2 메모리(200)에 저장된 정보를 엑세스 할 수 있다.
제2 메모리(200)에 대한 엑세스 동작은 제2 메모리(200)에 저장된 데이터를 로우라인 단위로 출력하고, 출력된 로우라인의 데이터중 특정의 데이터를 선택하는 동작으로 설명될 수 있다.
예컨대, 상기 도 4에 개시된 제1 메모리(100)의 특정의 워드라인에 해당하는 데이터를 엑세스하기 위해서, 제2 메모리(200)에서는 8개의 인터리빙 셀들(201)에서 로우라인에 저장된 데이터 및 패리티 비트를 엑세스한다.
예컨대, 제1 메모리(100)의 6번 워드라인에 상응하는 데이터를 제2 메모리(200)에서 엑세스하기 위해, 제2 메모리(200)의 좌표(0,0) 및 (0,1) 인터리빙 셀에서 1번 로우라인의 데이터를 엑세스한다. 1번 로우라인의 데이터의 인터리빙 셀 내에서의 좌표는 상기 도 2에서 설명된 바와 같이 (1,c)이다.
좌표(0,0) 및 (0,1)에 해당하는 인터리빙 셀의 1번 로우라인에 해당하는 데이터 04, 05, 06, 07, 14, 15, 16, 17 및 패리티 비트 P4가 엑세스된다. 제2 메모리(200)로부터 읽어온 데이터는 버퍼에 저장되고, 4:1 먹스를 통해 하나의 데이터로 선택된다. 예컨대, 제1 버퍼(301)에서는 제1 먹스(311) 및 제2 먹스(312)를 통해 06 및 16의 데이터가 선택된다.
계속해서 좌표(1,0) 및 (1,1)에 해당하는 인터리빙 셀에 할당된 데이터를 엑세스한다. 데이터의 엑세스는 해당하는 인터리빙 셀들의 1번 로우라인의 데이터에 대해 수행된다. 따라서, 25, 26, 27, 24, 35, 36, 37, 34 및 패리티 비트 P5가 엑세스된다. 엑세스된 데이터는 제2 버퍼(302)에 저장되고, 제3 먹스(313) 및 제4 먹스(314)를 통해 데이터 26 및 36이 선택된다.
상술한 과정을 통해 최종적으로 데이터 46, 56이 제3 버퍼(303), 제5 먹스(315) 및 제6 먹스(316)를 통해 선택된다. 마찬가지로 데이터 66, 76이 제4 버퍼(304)에 저장되고, 제7 먹스(317) 및 제8 먹스(318)를 통해 선택된다.
또한, 각각의 엑세스된 인터리빙 셀의 워드에 상응하는 패리티 비트들 P4, P5, P6 및 P7은 패리티 먹스(319)에 의해 패리티 비트 P6으로 선택된다.
이를 통해 제1 메모리(100)의 6번 워드의 데이터들 및 패리티 비트들은 제2 메모리(200)로부터 엑세스될 수 있다.
설명된 바대로, 제1 메모리의 데이터는 제2 메모리에서 분산된다. 특히, 제2 메모리에서 분산된 데이터는 해당하는 패리티 비트와 가장 먼 거리에 배치되는 특성을 가진다. 만일, 제2 메모리에서 소프트 에러가 발생하고, 소프트 에러가 특정 영역에 밀집된다 하더라도, 제2 메모리에서 발생된 에러는 용이하게 검출될 수 있다. 이는 제2 메모리에 저장된 데이터의 형태가 상호간에 다른 로우라인의 동일 컬럼 데이터이기 때문이다. 즉, 이후의 제2 메모리의 엑세스를 통해 동일한 로우라인의 데이터에 해당하는 패리티 비트가 할당된다 하더라도, 제2 메모리에서 발생된 에러는 동일 로우라인이 아닌 동일 컬럼라인에서 발생된 에러가 대부분이다. 따라서, 제2 메모리로부터 엑세스된 데이터의 소프트 에러는 용이하게 검출될 수 있다.
100 : 제1 메모리 200 : 제2 메모리
201 : 인터리빙 셀 203 : 패리티 셀

Claims (8)

  1. 제1 메모리에 LN×ML 비트의 크기를 가지는 데이터를 저장하고, 상기 데이터의 LN개의 로우라인 각각에 P0 내지 PLN-1로 정의되는 패리티 비트를 하나씩 할당하는 단계;
    상기 제1 메모리의 데이터 및 패리티 비트가 엑세스되는 제2 메모리에 각각의 크기가 N×L 비트인 인터리빙 셀들을 LM 개 구분하고, 좌표 (k,m)(k는 0 내지 L-1, m은 0 내지 M-1)으로 상기 인터리빙 셀들을 표시하는 경우, 동일한 좌표 k값을 가지는 인터리빙 셀들에 대해 N×1 비트의 크기를 가지는 하나의 패리티 셀을 설정하는 단계;
    상기 제2 메모리의 상기 패리티 셀에 상기 제1 메모리의 상기 패리티 비트들을 할당하되,
    좌표 (k,m)인 상기 인터리빙 셀 내부의 데이터의 좌표를 (r, c)(r은 0 내지 N-1, c는 0 내지 L-1)로 표시할 경우, 상기 인터리빙 셀과 동일한 좌표 k를 가지는 상기 패리티 셀에는 상기 제1 메모리의 k+Lr 번째 로우라인의 패리티 비트가 배치되고,
    상기 하나의 인터리빙 셀에 상기 제1 메모리의 동일 컬럼의 데이터를 저장하는 단계; 및
    상기 제2 메모리에 저장된 데이터 및 패리티 비트를 로우라인 단위로 출력하고, 출력된 로우라인의 데이터 및 패리티 비트를 선택하는 단계를 포함하고,
    상기 하나의 인터리빙 셀 내부의 동일한 로우라인에 배치된 MSB 데이터와 상기 패리티 셀에 할당된 상기 패리티 비트는 상기 제1 메모리에서 동일한 로우라인에 배치된 것을 특징으로 하는 메모리의 엑세스 방법.
  2. 제1항에 있어서, 상기 제1 메모리에 저장된 Y번째 로우라인의 X번 컬럼 데이터를 XY로 표시하는 경우, 상기 하나의 인터리빙 셀에 저장되는 데이터는 동일한 X값을 가지는 것을 특징으로 하는 메모리의 엑세스 방법.
  3. 제2항에 있어서, 상기 하나의 인터리빙 셀에 저장된 데이터는 서로 다른 Y값을 가지는 것을 특징으로 하는 메모리의 엑세스 방법.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
KR1020100102338A 2010-10-20 2010-10-20 메모리의 엑세스 방법 KR101124860B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100102338A KR101124860B1 (ko) 2010-10-20 2010-10-20 메모리의 엑세스 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100102338A KR101124860B1 (ko) 2010-10-20 2010-10-20 메모리의 엑세스 방법

Publications (1)

Publication Number Publication Date
KR101124860B1 true KR101124860B1 (ko) 2012-03-27

Family

ID=46142022

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100102338A KR101124860B1 (ko) 2010-10-20 2010-10-20 메모리의 엑세스 방법

Country Status (1)

Country Link
KR (1) KR101124860B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101579194B1 (ko) * 2015-02-09 2015-12-21 성균관대학교산학협력단 메모리 액세스 방법 및 메모리 장치
US9632856B2 (en) 2013-02-26 2017-04-25 Samsung Electronics Co., Ltd. Semiconductor memory devices including error correction circuits and methods of operating the semiconductor memory devices

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005174462A (ja) 2003-12-11 2005-06-30 Sony Corp 半導体記憶装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005174462A (ja) 2003-12-11 2005-06-30 Sony Corp 半導体記憶装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9632856B2 (en) 2013-02-26 2017-04-25 Samsung Electronics Co., Ltd. Semiconductor memory devices including error correction circuits and methods of operating the semiconductor memory devices
US10684793B2 (en) 2013-02-26 2020-06-16 Samsung Electronics Co., Ltd. Semiconductor memory devices including error correction circuits and methods of operating the semiconductor memory devices
KR101579194B1 (ko) * 2015-02-09 2015-12-21 성균관대학교산학협력단 메모리 액세스 방법 및 메모리 장치

Similar Documents

Publication Publication Date Title
US9710324B2 (en) Dual in-line memory modules (DIMMs) supporting storage of a data indicator(s) in an error correcting code (ECC) storage unit dedicated to storing an ECC
JP6181257B2 (ja) 誤り訂正符号の編成を含む装置および方法
US7107507B2 (en) Magnetoresistive solid-state storage device and data storage methods for use therewith
US9965388B2 (en) Memory device including page buffer and method of arranging page buffer having cache latches
US20130329492A1 (en) Flash memory control method, controller and electronic apparatus
US11436079B2 (en) Semiconductor memory devices having enhanced error correction circuits therein
TWI626650B (zh) 動態隨機存取記憶體,儲存資料及讀取和刷新的方法
US20190279734A1 (en) Memory chip and test system including the same
US8365036B2 (en) Soft error correction in a memory array and method thereof
US4679196A (en) Semiconductor memory device with a bit error detecting function
KR101124860B1 (ko) 메모리의 엑세스 방법
CN116457761A (zh) 一种存储装置、存储控制装置及片上系统
US20230238049A1 (en) Address mapping for improved memory reliability
US9715343B2 (en) Multidimensional partitioned storage array and method utilizing input shifters to allow multiple entire columns or rows to be accessed in a single clock cycle
US20170170848A1 (en) Video server device and writing/reading data method
US11024402B2 (en) Memory system and operation method thereof
US10546627B2 (en) Semiconductor device and method of driving the same
US20200379842A1 (en) Apparatus and method for reducing radiation induced multiple-bit memory soft errors
US20130077419A1 (en) Data generation apparatus
US20050044337A1 (en) Method and apparatus for address decoding of embedded DRAM devices
US20150098292A1 (en) Methods and systems for addressing memory with variable density
JPH0793993A (ja) ランダムアクセスメモリ
JPS5911999B2 (ja) 記憶装置のブロツク切替方式
JPH01296498A (ja) 誤り訂正方法およびそれを用いたメモリ装置
JPH07169297A (ja) 半導体記憶装置

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: 20150115

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160113

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee