상기 기술적 과제를 달성하기 위한 본 발명의 실시예에 따른 반도체 메모리 장치는 복수의 카운터부 및 데이터 코딩부를 구비한다. 상기 각각의 카운터부는 적어도 하나의 데이터를 포함하는 제 1 그룹 및 각각 적어도 하나의 데이터 및 플래그 정보를 포함하는 제 2 그룹 내지 제 n 그룹을 설정하여, 상기 각각의 그룹별로 제 1 논리 상태의 데이터들 및 플래그 정보의 개수를 카운트한다. 상기 데이터 코딩부는 상기 각각의 그룹별로 제 1 모드 및 제 2 모드를 선택적으로 적용하여 데이터를 코딩한다. 상기 제 1 모드는 상기 각각의 그룹별로 상기 카운트된 제 1 논리 상태의 개수가 최소가 되도록 상기 각각의 그룹별 데이터들을 코딩하는 모드이고, 상기 제 2 모드는 상기 제 1 그룹 내지 제 n 그룹의 데이터들 및 플래그 정보들 중 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되도록 상기 각각의 그룹별 데이터들을 코딩하는 모드이다.
상기 데이터 코딩부는 상기 제 1 그룹 내지 제 n 그룹에 대하여 상기 제 1 모드를 적용한 후 상기 제 2 모드를 적용하는 것이 바람직하고, 상기 제 1 그룹의 데이터들의 개수는 나머지 각각의 그룹의 데이터들의 개수보다 적은 것이 바람직하다.
상기 데이터 코딩부는 상기 제 1 모드가 적용되는 상기 제 2 그룹 내지 제 n 그룹에 있어서, 상기 각각의 그룹별로 상기 제 1 논리 상태의 개수가 제 2 논리 상태의 개수보다 많은 경우 상기 각각의 그룹에 속하는 플래그 정보를 변경하는 적어도 하나의 플래그 설정부 및 상기 플래그 정보가 변경된 경우 상기 플래그 정보가 포함된 그룹의 데이터들을 반전시키는 적어도 하나의 데이터 변환부를 구비하는 것이 바람직하다.
상기 데이터 코딩부는 상기 제 2 모드가 적용되는 상기 제 2 그룹 내지 제 n 그룹에 있어서, 상기 제 1 그룹 내지 제 n 그룹의 데이터들 및 플래그 정보들 중 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되도록 상기 각각의 그룹에 속하는 플래그 정보를 변경하는 적어도 하나의 플래그 설정부 및 상기 플래그 정보가 변경된 경우 상기 플래그 정보가 포함된 그룹의 데이터들을 반전시키는 적어도 하나의 데이터 변환부를 구비하는 것이 바람직하다.
상기 반도체 메모리 장치는 인에이블 신호에 응답하여 상기 데이터 코딩부가 상기 제 1 모드 및 제 2 모드 중 하나를 적용할 수 있도록 모드 선택 신호를 상기 데이터 코딩부로 출력하는 모드 선택부를 더 구비하는 것이 바람직하다.
상기 데이터 코딩부는 상기 제 1 그룹 내지 제 n 그룹의 데이터들 및 플래그 정보들 중 상기 제 1 논리 상태의 개수와 상기 제 2 논리 상태의 개수가 동일하거 나 상기 제 1 논리 상태의 개수와 상기 제 2 논리 상태의 개수의 차이가 변하지 않을 때까지 상기 각각의 그룹에 대하여 상기 제 2 모드를 적용하는 것이 바람직하다.
상기 기술적 과제를 달성하기 위한 본 발명의 다른 실시예에 따른 반도체 메모리 장치는 복수의 카운터부 및 데이터 코딩부를 구비한다. 상기 각각의 카운터부는 각각 적어도 하나의 데이터 및 플래그 정보를 포함하는 제 1 그룹 내지 제 n 그룹을 설정하여, 상기 각각의 그룹별로 제 1 논리 상태의 데이터들 및 플래그 정보의 개수를 카운트한다. 상기 데이터 코딩부는 상기 각각의 그룹별로 제 1 모드 및 제 2 모드를 선택적으로 적용하여 데이터를 코딩한다. 상기 제 1 모드는 상기 각각의 그룹별로 상기 카운트된 제 1 논리 상태의 개수가 최소가 되도록 상기 각각의 그룹별 데이터들을 코딩하는 모드이고, 상기 제 2 모드는 상기 제 1 그룹 내지 제 n 그룹의 데이터들 및 플래그 정보들 중 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되도록 상기 각각의 그룹별 데이터들을 코딩하는 모드이다.
상기 데이터 코딩부는 상기 제 1 모드가 적용되는 상기 제 1 그룹 내지 제 n 그룹에 있어서, 상기 각각의 그룹별로 상기 제 1 논리 상태의 개수가 제 2 논리 상태의 개수보다 많은 경우 상기 각각의 그룹에 속하는 플래그 정보를 변경하는 적어도 하나의 플래그 설정부 및 상기 플래그 정보가 변경된 경우 상기 플래그 정보가 포함된 그룹의 데이터들을 반전시키는 적어도 하나의 데이터 변환부를 구비하는 것이 바람직하다.
상기 데이터 코딩부는 상기 제 2 모드가 적용되는 상기 제 1 그룹 내지 제 n 그룹에 있어서, 상기 제 1 그룹 내지 제 n 그룹의 데이터들 및 플래그 정보들 중 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되도록 상기 각각의 그룹에 속하는 플래그 정보를 변경하는 적어도 하나의 플래그 설정부 및 상기 플래그 정보가 변경된 경우 상기 플래그 정보가 포함된 그룹의 데이터들을 반전시키는 적어도 하나의 데이터 변환부를 구비하는 것이 바람직하다.
상기 반도체 메모리 장치는 인에이블 신호에 응답하여 상기 데이터 코딩부가 상기 제 1 모드 및 제 2 모드 중 하나를 적용할 수 있도록 모드 선택 신호를 상기 데이터 코딩부로 출력하는 모드 선택부를 더 구비하는 것이 바람직하다.
상기 다른 기술적 과제를 달성하기 위한 본 발명의 실시예에 따른 반도체 메모리 장치의 데이터 코딩 방법은 반도체 메모리 장치의 초기 동작 시 데이터 코딩 방법에 있어서, 적어도 하나의 데이터를 포함하는 제 1 그룹 및 각각 적어도 하나의 데이터 및 플래그 정보를 포함하는 제 2 그룹 내지 제 n 그룹을 설정하는 단계 상기 각각의 그룹별로 제 1 논리 상태의 데이터들 및 플래그 정보의 개수가 최소가 되도록 상기 각각의 그룹별 데이터들을 코딩하는 단계 및 상기 제 1 그룹 내지 제 n 그룹의 데이터들 및 플래그 정보들 중 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되도록 상기 각각의 그룹별 데이터들을 코딩하는 단계를 구비하는 것을 특징으로 한다.
상기 제 1 그룹 내지 제 n 그룹을 설정하는 단계는 상기 제 1 그룹의 데이터들의 개수가 나머지 각각의 그룹의 데이터들의 개수보다 적도록 설정하는 단계를 더 구비하는 것이 바람직하다.
상기 제 1 논리 상태의 개수가 최소가 되도록 코딩하는 단계는 상기 제 2 내지 제 n 그룹에 있어서, 상기 각각의 그룹별로 상기 제 1 논리 상태의 개수가 상기 제 2 논리 상태의 개수보다 많은 경우 상기 각각의 그룹에 속하는 플래그 정보를 변경하는 단계 및 상기 플래그 정보가 변경된 경우 상기 플래그 정보가 포함된 그룹의 데이터들을 반전시키는 단계를 구비하는 것이 바람직하다.
상기 제 1 논리 상태의 개수와 상기 제 2 논리 상태의 개수의 차이가 최소가 되도록 코딩하는 단계는 상기 제 1 그룹 내지 제 n 그룹의 데이터들 및 플래그 정보들 중 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되도록 상기 각각의 그룹에 속하는 플래그 정보를 변경하는 단계 및 상기 플래그 정보가 변경된 경우 상기 플래그 정보가 포함된 그룹의 데이터들을 반전시키는 단계를 구비하는 것이 바람직하다.
상기 다른 기술적 과제를 달성하기 위한 본 발명의 다른 실시예에 따른 반도체 메모리 장치의 데이터 코딩 방법은 반도체 메모리 장치의 초기 동작 시 데이터 코딩 방법에 있어서, 각각 적어도 하나의 데이터 및 플래그 정보를 포함하는 제 1 그룹 내지 제 n 그룹을 설정하는 단계; 상기 각각의 그룹별로 제 1 논리 상태의 데이터들 및 플래그 정보의 개수가 최소가 되도록 상기 각각의 그룹별 데이터들을 코딩하는 단계; 및 상기 제 1 그룹 내지 제 n 그룹의 데이터들 및 플래그 정보들 중 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되도록 상기 각각의 그룹별 데이터들을 코딩하는 단계를 구비하는 것을 특징으로 한다.
상기 제 1 논리 상태의 개수가 최소가 되도록 코딩하는 단계는 상기 제 1 내지 제 n 그룹에 있어서, 상기 각각의 그룹별로 상기 제 1 논리 상태의 개수가 상기 제 2 논리 상태의 개수보다 많은 경우 상기 각각의 그룹에 속하는 플래그 정보를 변경하는 단계 및 상기 플래그 정보가 변경된 경우 상기 플래그 정보가 포함된 그룹의 데이터들을 반전시키는 단계를 구비하는 것이 바람직하다.
상기 제 1 논리 상태의 개수와 상기 제 2 논리 상태의 개수의 차이가 최소가 되도록 코딩하는 단계는 상기 제 1 그룹 내지 제 n 그룹의 데이터들 및 플래그 정보들 중 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되도록 상기 각각의 그룹에 속하는 플래그 정보를 변경하는 단계 및 상기 플래그 정보가 변경된 경우 상기 플래그 정보가 포함된 그룹의 데이터들을 반전시키는 단계를 구비하는 것이 바람직하다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 3은 본 발명의 실시예에 따른 반도체 메모리 장치(300)의 블록도이다.
도 3은 반도체 메모리 장치(300)의 송신단(TX)(310) 및 수신단(RX)을 도시하고 있다. 도 3을 참조하면, 5개의 그룹으로 나누어진 제 1 내지 제 5 데이터 그 룹(D_1, D_2, D-3, D_4, D_5) 및 제 2 내지 제 4 데이터 그룹(D_2, D-3, D_4, D_5)의 플래그 정보들(F_2, F_3, F_4, F_5)이 송신단(310)으로 입력된다. 송신단(310)은 제 1 내지 제 5 데이터 그룹(D_1, D_2, D-3, D_4, D_5)의 데이터들 및 플래그 정보들(F_2, F_3, F_4, F_5)을 코딩하여 출력한다. 송신단(310)은 상기 코딩된 데이터 그룹들(DC_1, DC_2, DC-3, DC_4, DC_5) 및 플래그 정보들(FC_2, FC_3, FC_4, FC_5)을 수신단(RX)(320)으로 출력한다. 이하에서, 본 발명의 실시예에 따라 송신단(310)에서 데이터 그룹들(D_1, D_2, D-3, D_4, D_5) 및 플래그 정보들(F_2, F_3, F_4, F_5)을 코딩하는 방법에 대하여 설명한다.
도 4는 도 3의 송신단(310)의 블록도이다.
이하에서는 상기 도 3의 제 1 내지 제 5 데이터 그룹(D_1, D_2, D-3, D_4, D_5) 및 플래그 정보들(F_2, F_3, F_4, F_5)을 제 1 내지 제 5 그룹이라고 한다. 즉, 제 1 그룹에는 플래그 정보가 없으므로 제 1 데이터 그룹(D_1)만을 포함한다. 제 2 그룹은 제 2 데이터 그룹(D_2) 및 플래그 정보(F_2)를 포함하고, 제 3 그룹은 제 3 데이터 그룹(D_3) 및 플래그 정보(F_3)를 포함한다. 마찬가지로, 제 4 그룹은 제 4 데이터 그룹(D_4) 및 플래그 정보(F_4)를 포함하며, 제 5 그룹은 제 5 데이터 그룹(D_5) 및 플래그 정보(F_5)를 포함한다.
도 4를 참조하면, 송신단(310)은 복수의 카운터부(C_1, C_2, C_3, C_4, C_5), 데이터 코딩부(430) 및 모드 선택부(470)를 구비한다. 각각의 카운터부(C_1, C_2, C_3, C_4, C_5)는 상기 각각의 제 1 내지 제 5 그룹을 입력받아 각각의 그룹별로 제 1 논리 상태의 데이터들 및 플래그 정보의 개수를 카운트한다. 이하에서, 제 1 논리 상태는 논리 하이 상태를 의미한다. 데이터 코딩부(430)는 상기 각각의 그룹별로 제 1 모드 및 제 2 모드를 선택적으로 적용하여 데이터를 코딩하고, 모드 선택부(470)는 인에이블 신호(EN)에 응답하여 데이터 코딩부(430)가 상기 제 1 모드 및 제 2 모드 중 하나를 적용할 수 있도록 모드 선택 신호(MS_1, MS_2, MS_3, MS_4)를 데이터 코딩부(430)로 출력한다. 이하에서, 상기 제 1 모드는 상기 각각의 그룹별로 상기 카운트된 제 1 논리 상태의 개수가 최소가 되도록 상기 각각의 그룹의 데이터들을 코딩하는 모드이다. 또한, 상기 제 2 모드는 상기 제 1 그룹 내지 제 5 그룹의 데이터들 및 플래그 정보들 중 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되도록 상기 각각의 그룹별 데이터들을 코딩하는 모드이다. 이하에서 제 2 논리 상태는 논리 로우 상태를 의미한다.
데이터 코딩부(430)는 적어도 하나 이상의 플래그 설정부(logic_1, logic_2, logic_3, logic_4) 및 적어도 하나 이상의 데이터 변환부(INV_1, INV_2, INV_3, INV_4)를 구비한다. 각각의 플래그 설정부(logic_1, logic_2, logic_3, logic_4)는 상기 제 1 모드가 적용되는 제 2 그룹 내지 제 5 그룹에 있어서, 상기 각각의 그룹별로 상기 제 1 논리 상태의 개수가 제 2 논리 상태의 개수보다 많은 경우 상기 플래그 정보를 변경한다. 또한, 각각의 플래그 설정부(logic_1, logic_2, logic_3, logic_4)는 상기 제 2 모드가 적용되는 제 2 그룹 내지 제 5 그룹에 있어서, 상기 제 1 그룹 내지 제 5 그룹의 데이터들 및 플래그 정보들 중 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되도록 상기 플래그 정보를 변경한다. 각각의 데이터 변환부(INV_1, INV_2, INV_3, INV_4)는 상기 제 1 모드 또는 제 2 모드에 있어서, 상기 플래그 정보가 변경된 경우 상기 플래그 정보가 포함된 그룹의 데이터들을 반전시킨다.
도 5는 본 발명의 실시예에 따른 데이터 코딩 방법의 흐름도이다.
도 4 및 도 5를 참조하여 상기 반도체 메모리 장치의 초기 동작 시 데이터 코딩 방법에 대하여 설명한다. 상기 설명한 바와 같이 도 4는 상기 데이터들 및 플래그 정보들을 상기 제 1 내지 제 5 그룹으로 그룹 설정을 한 상태이다(S510 단계). 각각의 카운터부(C_1, C_2, C_3, C_4, C_5)는 상기 제 1 내지 제 5 그룹 각각에 대하여 제 1 논리 상태의 데이터들 및 플래그 정보의 개수를 카운트한다(S520 단계). 즉, 상기 제 1 그룹의 데이터들 중 제 1 논리 상태의 데이터들을 카운터부(C_1)에서 카운트하고, 제 2 그룹의 데이터들 및 플래그 정보(F_2) 중 제 1 논리 상태의 개수를 카운터부(C_2)에서 카운트한다. 마찬가지로 제 3 내지 제 5 그룹에 대하여도 각각의 카운터부(C_3, C_4, C_5)에서 제 1 논리 상태의 데이터들 및 플래그 정보의 개수를 카운트한다. 상기 각각의 제 1 그룹 내지 제 5 그룹에 대하여 제 1 논리 상태의 개수가 결정되면, 상기 각각의 그룹별로 제 1 논리 상태의 데이터들 및 플래그 정보의 개수가 최소가 되도록 상기 플래그 정보를 변경한다(S530 단계). 상기 제 1 그룹 내지 제 5 그룹의 데이터들 및 플래그 정보들 중 제 1 논리 상태의 개수 및 제 2 논리 상태의 개수를 카운트한다(S540 단계). 상기 S540 단계는 S520 단계의 카운트한 결과에서 S530 단계의 플래그 정보를 변경한 단계의 결과를 반영하여 용이하게 수행할 수 있다. 상기 카운트된 제 1 논리 상태의 개수 및 제 2 논리 상태의 개수를 비교한다(S550 단계). 상기 비교 결과 제 1 논리 상태의 개수와 제 2 논리 상태의 개수가 차이가 나는 경우, 상기 각각의 그룹별로 플래그 정보를 변경한다(S560 단계). 이 경우 상기 제 2 내 제 5 그룹에 포함된 데이터들의 개수가 적은 그룹부터 순차적으로 S560단계를 수행하는 것이 바람직하다. 또는, 상기 제 5 그룹부터 제 2 그룹까지 역순으로 S560 단계를 수행하는 것이 바람직하다. 상기 플래그 정보의 변경에 따라 변경된 제 1 논리 상태의 개수 및 변경된 제 2 논리 상태의 결과를 다시 비교한다. 상기 비교 결과 상기 제 1 논리 상태의 개수 및 제 2 논리 상태의 개수가 동일하거나 상기 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 변하지 않는 경우, 상기 데이터 코딩 동작을 더 이상 수행하지 않는다.
상기 제 1 그룹 내지 제 5 그룹을 설정하는 경우, 상기 플래그 정보가 포함되지 않는 제 1 그룹의 데이터들의 개수는 상기 각각의 제 2 그룹 내지 제 5 그룹의 데이터들의 개수보다 적은 것이 바람직하다. 상기 데이터들을 코딩하는 경우, 순차적으로 제 1 논리 상태의 개수가 증가하게 되는데, 상기 제 1 그룹의 데이터들의 개수를 최소로 함으로써, 최초에 제 1 논리 상태인 데이터들의 개수를 최소화할 수 있기 때문이다.
도 6은 본 발명의 실시예에 따른 데이터들을 코딩하는 단계를 순차적으로 보여주는 도면이다.
도 6을 참조하면, 16비트(bit)의 데이터를 전송하고 최초의 데이터들은 모두 제 1 논리 상태를 가진다고 가정하자. 상기 16비트의 데이터들 및 4비트의 플래그 정보들(F_2, F_3, F_4, F_5)은 제 1 내지 제 5 그룹(G1, G2, G3, G4, G5)으로 그룹 지어져 있다. 즉, 제 1 그룹(G1)은 제 1 데이터 그룹(D_1)과 동일하고, 제 2 그룹(G2)은 제 2 데이터 그룹(D_2) 및 플래그 정보(F_2)를 포함한다. 제 3 그룹(G2)은 제 3 데이터 그룹(D_3) 및 플래그 정보(F_3)를 포함하고, 제 4 그룹(G4)은 제 4 데이터 그룹(D_4) 및 플래그 정보(F_4)를 포함하며, 제 5 그룹(G5)은 제 5 데이터 그룹(D_5) 및 플래그 정보(F_5)를 포함한다.
먼저, 상기 각각의 그룹별로 제 1 논리 상태의 데이터들 및 플래그 정보의 개수가 최소가 되도록 상기 각각의 그룹별 데이터들을 코딩하는 단계에 대하여 설명한다(S1 단계). 제 2 그룹(G2)의 경우, 제 1 논리 상태의 개수는 4개이고 제 2 논리 상태의 개수는 1개이다. 따라서, 제 1 논리 상태의 개수가 최소가 되도록 플래그 정보(F_2)를 변경한다. 즉, 제 2 논리 상태였던 플래그 정보(F_2)를 제 1 논리 상태로 변경하여 제 1 데이터 그룹(D_1)의 데이터들을 모두 반전 시킨다. 반전된 결과, 제 1 논리 상태의 개수는 1개이고 제 2 논리 상태의 개수는 4개가 되어 상기 제 2 그룹(G2)은 제 1 논리 상태의 개수가 최소가 되었다. 제 3 내지 제 5 그룹(G3, G4, G5)에 대하여도 동일한 단계를 수행한다. 상기 수행결과, 제 3 내지 제 5 그룹(G3, G4, G5) 각각도 제 1 논리 상태의 개수가 최소가 되었다.
다음으로, 상기 제 1 그룹 내지 제 5 그룹의 데이터들 및 플래그 정보들 중 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되도록 각각의 그룹별 데이터들을 코딩하는 단계를 설명한다(S2 및 S3 단계). S1 단계를 수행한 결과 제 1 논리 상태의 개수는 6개이고 제 2 논리 상태의 개수는 14개이다. 상기 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되려면, 제 5 그 룹(G5)의 플래그 정보(F_5)를 제 2 논리 상태로 변경하여야 한다. 즉, 제 5 그룹(G5)은 상기 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되도록 코딩하고, 제 2 내지 제 4 그룹(G2, G3, G4)은 계속하여 각각의 그룹별로 제 1 논리 상태의 개수가 최소가 되도록 코딩한다(S2 단계). S2 단계를 수행한 결과 제 1 논리 상태의 개수는 7개이고 제 2 논리 상태의 개수는 13개이다. 마찬가지로, 상기 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되려면, 제 4 그룹(G4)의 플래그 정보(F_4)를 제 2 논리 상태로 변경하여야 한다. S2 단계와 달리, 제 4 그룹(G4) 및 제 5 그룹(G5)은 상기 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되도록 코딩하고, 제 2 그룹 및 제 3 그룹(G2, G3)은 계속하여 각각의 그룹별로 제 1 논리 상태의 개수가 최소가 되도록 코딩한다(S3 단계). S3 단계를 수행한 결과 제 1 논리 상태의 개수는 10개이고 제 2 논리 상태의 개수도 10개이다. 상기 제 1 논리 상태의 개수와 제 2 논리 상태의 개수가 동일하게 되었으므로, 상기 데이터 코딩 동작을 더 이상 수행하지 않는다.
S2 단계는 상기 플래그 정보를 포함하는 제 2 내지 제 5 그룹(G2, G3, G4, G5) 중 각각의 그룹별로 데이터의 개수가 가장 적은 그룹부터 순차적으로 상기 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되도록 각각의 그룹별 데이터들을 코딩하는 단계를 수행하는 것이 바람직하다. 즉, 제 2 그룹 내지 제 4 그룹(G2, G3, G4)은 상기 데이터들의 개수가 4개이고 제 5 그룹(G5)은 상기 데이터들의 개수가 2개이므로, 제 5 그룹(G5)에 대하여 S2 단계를 수행하는 것이 바람직하다.
도 7은 도 4의 모드 선택부(470)의 입력 신호 및 출력 신호의 파형도이다.
도 4, 도 6 및 도 7을 참조하면, 인에이블 신호(EN)가 입력되면, 모드 선택부(470)는 데이터 코딩부(430)로 모드 선택 신호들(MS_1, MS_2, MS_3, MS_4)을 출력한다. 모드 선택 신호들(MS_1, MS_2, MS_3, MS_4)이 제 2 논리 상태인 경우는 도 4의 플래그 설정부들(logic_1, logic_2, logic_3, logic_4)은 상기 제 1 모드를 수행한다. 그리고, 모드 선택 신호들(MS_1, MS_2, MS_3, MS_4)이 제 1 논리 상태인 경우는 상기 플래그 설정부들은 상기 제 2 모드를 수행한다.
인에이블 신호(EN)가 입력되면, 모드 선택부(470)는 t1 시간동안 각각의 플래그 설정부(logic_1, logic_2, logic_3, logic_4)로 제 2 논리 상태의 모드 선택 신호(MS_1, MS_2, MS_3, MS_4)를 출력한다. 따라서, t1 시간동안 각각의 플래그 설정부(logic_1, logic_2, logic_3, logic_4)는 상기 제 1 모드를 수행한다(도 6의 S1 단계). 모드 선택부(470)는 t2 시간동안 플래그 설정부(logic_4)로 제 1 논리 상태의 모드 선택 신호(MS_4)를 출력하고, 각각의 플래그 설정부(logic_1, logic_2, logic_3)로는 제 2 논리 상태의 모드 선택 신호(MS_1, MS_2, MS_3)를 출력한다. 따라서, t2 시간동안 플래그 설정부(logic4)는 상기 제 2 모드를 수행하고, 각각의 플래그 설정부(logic_1, logic2, logic3)는 상기 제 1 모드를 수행한다(도 6의 S2 단계). t3 시간동안 모드 선택부(470)는 각각의 플래그 설정부(logic_3, logic_4)로 제 1 논리 상태의 모드 선택 신호(MS_3, MS_4)를 출력하고, 각각의 플래그 설정부(logic_1, logic_2)로는 제 2 논리 상태의 모드 선택 신호(MS_1, MS_2)를 출력한다. 따라서, t3 시간동안 각각의 플래그 설정부(logic3, logic4)는 상기 제 2 모드를 수행하고, 각각의 플래그 설정부(logic1, logic2)는 상기 제 1 모드를 수행한다(도 6의 S3 단계).
도 6의 경우에 따라 모드 선택부(470)가 두개의 플래그 설정부들(logic_3, logic_4)로 모드 선택 신호(MS_3, MS_4)를 출력하는 것으로 상기 데이터 코딩이 종료되었으나, 경우에 따라서는 모드 선택부(470)가 모든 플래그 설정부들(logic_1, logic_2, logic_3, logic_4)에 대하여 모드 선택 신호(MS_1, MS_2, MS_3, MS_4)를 출력하여 상기 데이터 코딩을 수행할 수도 있다.
도 8은 도 6의 데이터 코딩 방법을 수행하는 경우 반도체 메모리 장치의 초기 동작을 나타내는 그래프이다.
도 6 및 도 8을 참조하면, S1 단계의 수행결과 제 1 논리 상태의 개수는 6개이므로, 최초 6개의 제 1 논리 상태의 데이터를 출력한다. 이후, S2 단계를 거치면서 7개의 제 1 논리 상태의 데이터를 출력하고, S3 단계를 거치면서 10개의 제 1 논리 상태의 데이터를 출력한다. 따라서, 종래 기술과 달리 순차적으로 제 1 논리 상태의 데이터들의 개수가 올라감으로써, 종래 기술에서 문제되었던 초기 동작시 전압 강하에 의하여 최초 데이터의 논리 상태가 달라지는 문제점을 해결할 수 있다.
도 1 및 도 8을 참조하여, 도 1에서와 동일한 조건에서 본 발명의 실시예에 따를 경우 인덕터에 의한 전압강하를 살펴본다. 도 1에서와 동일하게 전원 전압(VDD) 및 접지 전압(VSS)과 연결된 인덕터(inductor)의 인덕턴스가 1 [nH]이고, 각각의 데이터를 출력하는 송신단의 구동 전류는 20 [mA]이며, 상기 출력 데이터를 제 1 논리 상태로 변하게 하는데 0.5 [ns]의 시간이 걸린다고 가정하자.
V = n * L(di/dt) = 6 * 1nH * (20mA / 0.5ns)
= 0.24 [V]
상기 수학식 2에서와 같이, 반도체 메모리 장치의 초기 동작 시 6(n은 제 1 논리 상태의 데이터 개수)개의 제 1 논리 상태의 데이터를 출력하므로, 최초 동작시 상기 인덕터에 걸리는 전압은 0.24[V]이다. 따라서, 종래 기술에 비하여 상기 인덕터에 의한 전압 강하에 의하여 최초 데이터의 논리 상태가 달라지는 문제점을 해결할 수 있다.
도 9는 본 발명의 다른 실시예에 따른 반도체 메모리 장치(900)의 블록도이다.
도 9를 참조하면, 도 3의 반도체 메모리 장치(300)와 비교할 때, 반도체 메모리 장치(900)의 송신단(TX)(910)으로 플래그 정보(F_1)가 하나 더 입력되는 차이점이 있다. 송신단(910)은 데이터 그룹들(D_1, D_2, D-3, D_4, D_5) 및 플래그 정보들(F_1, F_2, F_3, F_4, F_5)을 코딩하여 수신단(RX)(920)으로 출력한다. 즉, 반도체 메모리 장치(900)는 5개의 그룹으로 나누어진 데이터 그룹들(D_1, D_2, D_3, D_4, D_5) 각각에 대하여 플래그 정보들(F_1, F_2, F_3, F_4, F_5)이 입력된다. 이하에서, 본 발명의 다른 실시예에 따라 송신단(910)에서 데이터 그룹들(D_1, D_2, D-3, D_4, D_5) 및 플래그 정보들(F_2, F_3, F_4, F_5)을 코딩하는 방법에 대하여 설명한다.
도 10은 도 9의 송신단(910)의 블록도이다.
이하에서는 도 3에서와 동일하게 도 9의 각각의 데이터 그룹들(D_1, D_2, D-3, D_4, D_5) 및 플래그 정보들(F_1, F_2, F_3, F_4, F_5)을 제 1 내지 제 5 그룹이라고 한다.
도 10을 참조하면, 송신단(910)은 복수의 카운터부(C_1, C_2, C_3, C_4, C_5), 데이터 코딩부(1030) 및 모드 선택부(1070)를 구비한다. 각각의 카운터부(C_1, C_2, C_3, C_4, C_5), 데이터 코딩부(1030) 및 모드 선택부(1070)는 도 3과 동일한 기능을 수행한다. 단, 도 3의 송신단과 비교할때, 카운터부(C_1)는 제 1 데이터 그룹(D_1)뿐 아니라 플래그 정보(F_1)를 같이 입력받는다. 또한, 데이터 코딩부(1030)는 도 3의 데이터 코딩부(330)보다 플래그 설정부(logic_1, logic_2, logic_3, logic_4, logic_5) 및 데이터 변환부(INV_1, INV_2, INV_3, INV_4, INV_5)를 하나 더 구비한다. 모드 선택부(1070) 역시 도 3의 모드 선택부(370)보다 하나 많은 모드 선택 신호(MS_1, MS_2, MS_3, MS_4, MS_5)를 데이터 코딩부(1030)로 출력한다.
도 11은 도 10의 송신단(910)에서 데이터들을 코딩하는 단계를 순차적으로 보여주는 도면이다.
도 11을 참조하면, 도 6과 같이 16비트(bit)의 데이터를 전송하고 최초의 데이터들은 모두 제 1 논리 상태를 가진다고 가정하자. 상기 16비트의 데이터들 및 5비트의 플래그 정보들(F_1, F_2, F_3, F_4, F_5)은 제 1 내지 제 5 그룹(G1, G2, G3, G4, G5)으로 그룹지어져 있다. 도 6의 경우와 비교할때, 제 1 그룹(G1)에 제 1 데이터 그룹(D_1)뿐 아니라 플래그 정보(F_1)를 더 구비한다는 것을 제외하고는 도 6의 경우와 동일하다.
먼저, 상기 각각의 그룹별로 제 1 논리 상태의 데이터들 및 플래그 정보의 개수가 최소가 되도록 상기 각각의 그룹별 데이터들을 코딩하는 단계에 대하여 설명한다(S1 단계). 도 6의 S1 단계와 마찬가지로 제 1 논리 상태의 데이터들 및 플래그 정보의 개수가 최소가 되도록 하기 위하여 제 1 내지 제 5 그룹(G1, G2, G3, G4, G5)의 플래그 정보들(F_1, F_2, F_3, F_4, F_5)을 초기의 제 2 논리 상태에서 제 1 논리 상태로 변경한다(S10 단계).
다음으로, 상기 제 1 그룹 내지 제 5 그룹의 데이터들 및 플래그 정보들 중 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되도록 각각의 그룹별 데이터들을 코딩하는 단계를 설명한다(S20 내지 S40 단계). S10 단계를 수행한 결과 제 1 논리 상태의 개수는 5개이고 제 2 논리 상태의 개수는 15개이다. 상기 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되려면, 제 5 그룹(G5)의 플래그 정보(F_5)를 제 2 논리 상태로 변경하여야 한다. 즉, 제 5 그룹(G5)은 상기 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되도록 코딩하고, 제 1 내지 제 4 그룹(G1, G2, G3, G4)은 계속하여 각각의 그룹별로 제 1 논리 상태의 개수가 최소가 되도록 코딩한다(S2 단계). S20 단계를 수행한 결과 제 1 논리 상태의 개수는 6개이고 제 2 논리 상태의 개수는 14개이다. 마찬가지로, 상기 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되려면, 제 4 그룹(G4)의 플래그 정보(F_4)를 제 2 논리 상태로 변경하여야 한다. S2 단계와 달리, 제 4 그룹(G4) 및 제 5 그룹(G5)은 상기 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되도록 코딩하고, 제 1 그룹 내지 제 3 그룹(G1, G2, G3)은 계속하여 각각의 그룹별로 제 1 논리 상태의 개수가 최소가 되도록 코딩한다(S30 단계). S30 단계를 수행한 결과 제 1 논리 상태의 개수는 7개이고 제 2 논리 상태의 개수는 13개이다.
상기 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소로 하기 위해서 제 3 그룹(G4)의 플래그 정보(F_3)를 제 2 논리 상태로 변경한다. 동일하게, 제 3 그룹 내지 제 5 그룹(G3, G4, G5)은 상기 제 1 논리 상태의 개수와 제 2 논리 상태의 개수의 차이가 최소가 되도록 코딩하고, 제 1 그룹(G1) 및 제 2 그룹(G2)은 계속하여 각각의 그룹별로 제 1 논리 상태의 개수가 최소가 되도록 코딩한다(S40 단계). S40 단계를 수행한 결과 제 1 논리 상태의 개수는 10개이고 제 2 논리 상태의 개수도 10개이다. 상기 제 1 논리 상태의 개수와 제 2 논리 상태의 개수가 동일하게 되었으므로, 상기 데이터 코딩 동작을 더 이상 수행하지 않는다.
도 12는 도 11의 데이터 코딩 방법을 수행하는 경우 반도체 메모리 장치의 초기 동작을 나타내는 그래프이다.
도 11 및 도 12를 참조하면, S10 단계의 수행결과 제 1 논리 상태의 개수는 5개이므로, 최초 5개의 제 1 논리 상태의 데이터를 출력한다. 이후, S20 단계를 거치면서 6개의 제 1 논리 상태의 데이터를 출력하고, S30 단계를 거치면서 7개의 제 1 논리 상태의 데이터를 출력하며, S40 단계를 거치면서 10개의 제 1 논리 상태의 데이터를 출력한다. 따라서, 종래 기술과 달리 순차적으로 제 1 논리 상태의 데이 터들의 개수가 올라감으로써, 종래 기술에서 문제되었던 초기 동작시 전압 강하에 의하여 최초 데이터의 논리 상태가 달라지는 문제점을 해결할 수 있다.
도 1 및 도 8을 참조하여, 도 1에서와 동일한 조건에서 본 발명의 실시예에 따를 경우 인덕터에 의한 전압강하를 살펴본다. 도 1에서와 동일하게 전원 전압(VDD) 및 접지 전압(VSS)과 연결된 인덕터(inductor)의 인덕턴스가 1 [nH]이고, 각각의 데이터를 출력하는 송신단의 구동 전류는 20 [mA]이며, 상기 출력 데이터를 제 1 논리 상태로 변하게 하는데 0.5 [ns]의 시간이 걸린다고 가정하자.
V = n * L(di/dt) = 5 * 1nH * (20mA / 0.5ns)
= 0.2 [V]
상기 수학식 3에서와 같이, 반도체 메모리 장치의 초기 동작 시 5(n은 제 1 논리 상태의 데이터 개수)개의 제 1 논리 상태의 데이터를 출력하므로, 최초 동작시 상기 인덕터에 걸리는 전압은 0.2[V]이다. 따라서, 종래 기술에 비하여 상기 인덕터에 의한 전압 강하에 의하여 최초 데이터의 논리 상태가 달라지는 문제점을 해결할 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.