KR20180013212A - 데이터 비트 인버전 제어 장치 및 이를 포함하는 반도체 장치 - Google Patents

데이터 비트 인버전 제어 장치 및 이를 포함하는 반도체 장치 Download PDF

Info

Publication number
KR20180013212A
KR20180013212A KR1020160096586A KR20160096586A KR20180013212A KR 20180013212 A KR20180013212 A KR 20180013212A KR 1020160096586 A KR1020160096586 A KR 1020160096586A KR 20160096586 A KR20160096586 A KR 20160096586A KR 20180013212 A KR20180013212 A KR 20180013212A
Authority
KR
South Korea
Prior art keywords
data bus
version
data
address
input
Prior art date
Application number
KR1020160096586A
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 KR1020160096586A priority Critical patent/KR20180013212A/ko
Priority to US15/487,930 priority patent/US20180032392A1/en
Publication of KR20180013212A publication Critical patent/KR20180013212A/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/02Arrangements for writing information into, or reading information out from, a digital store with means for avoiding parasitic signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1048Data bus control circuits, e.g. precharging, presetting, equalising
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1096Write circuits, e.g. I/O line write drivers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • 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
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information
    • 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/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Static Random-Access Memory (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)

Abstract

본 발명에 따른 데이터 버스 인버전 제어 장치는, 입력 어드레스로부터 데이터 버스 인버전 어드레스를 생성하는 데이터 버스 인버전 어드레스 생성부와, 입력 커맨드에 응답하여, 상기 데이터 버스 인버전 어드레스에 해당하는 메모리 셀에 데이터 버스 인버전 플래그 신호를 라이트하거나 상기 데이터 버스 인버전 어드레스에 해당하는 메모리 셀로부터 상기 데이터 버스 인버전 플래그 신호를 리드하기 위해 상기 데이터 버스 인버전 플래그 신호를 입출력하는 데이터 버스 인버전 플래그 신호 입출력부를 포함한다.

Description

데이터 비트 인버전 제어 장치 및 이를 포함하는 반도체 장치{DATA BIT INVERSION CONTROLLER AND SEMICONDUCTOR DEVICE INCLUDING THEREOF}
본 발명은 데이터 버스 인버전(DBI; Data Bus Inversion) 처리된 데이터의 입출력을 제어 가능한 데이터 비트 인버전 제어 장치 및 이를 포함하는 반도체 장치에 관한 것이다.
일반적으로 반도체 장치는 데이터의 출력 동작을 수행하기 위해 출력 데이터의 개수만큼의 데이터 출력 버퍼를 구비한다. 각 데이터 출력 버퍼에는 출력 동작을 수행하기 위한 소자로서 예를 들면 MOS 트랜지스터가 구비되며, 각 MOS 트랜지스터는 데이터의 입력에 대응하여 스위칭함으로써 데이터를 외부로 출력하는 기능을 수행한다.
각각의 MOS 트랜지스터는 입력되는 데이터의 논리값에 따라 그 상태가 결정된다. 예를 들어, NMOS 트랜지스터로 구현된 데이터 출력 버퍼에 하이 레벨(High Level)의 논리값을 갖는 데이터가 전달되면 상기 NMOS 트랜지스터는 턴 온(Turn On) 되며, 이에 따라 상기 NMOS 트랜지스터의 드레인과 소스 사이에는 전류의 흐름이 발생하게 된다. 이와 같이, 데이터 출력 버퍼에 구비된 복수 개의 MOS 트랜지스터 중 전류의 흐름을 발생시키는 트랜지스터가 많을수록 반도체 집적 회로는 전류 손실이 커지게 되고 그에 따라 전력 효율이 감소하게 된다.
데이터 버스 인버전(DBI; DATA BUS INVERSION) 기능은, 이러한 전류 손실을 감소시키기 위해, 소정 개수 단위(예를 들어, 8개)의 데이터 중 몇 개의 데이터가 데이터 출력 버퍼의 트랜지스터에 전류 흐름을 발생시키는지를 판별하여, 전류 흐름을 발생시키는 논리값의 데이터가 많으면 이를 반전시키는 기술이다. 예를 들어, 데이터 출력 버퍼에 NMOS 트랜지스터가 구비되어 있는 경우에는 데이터가 하이 레벨일 때 NMOS 트랜지스터에 전류의 흐름이 발생한다. 따라서, 8개의 데이터 중 하이 레벨의 데이터가 5개 이상이면 이를 반전하여 데이터 출력 버퍼에 전달하고, 8개의 데이터 중 하이 레벨의 데이터가 5개 미만이면 이를 반전하지 않고 데이터 출력 버퍼에 전달한다.
이와 같은 동작을 수행하기 위해, 송신측의 반도체 장치는 데이터 버스 인버전 플래그 신호 생성 장치를 구비하며, 데이터 버스 인버전 플래그 신호 생성 장치는 상술한 것과 같이 전류 흐름을 발생시키는 논리값의 데이터가 많은지 여부를 판별하여 데이터 버스 인버전 플래그 신호를 생성한다. 즉, 데이터 버스 인버전 플래그 신호가 인에이블 되면 이후의 데이터 버스 인버전 제어 장치는 데이터 출력 버퍼에 전달되는 데이터를 반전시켜 출력하고, 데이터 버스 인버전 플래그 신호가 디스에이블 되면 데이터 버스 인버전 제어 장치는 데이터 출력 버퍼에 전달되는 데이터를 반전시키지 않고 그대로 출력한다. 또한, 데이터 버스 인버전 플래그 신호는 데이터와 함께 출력되어, 데이터의 반전 여부를 나타내게 된다.
수신측의 반도체 장치에서는 이러한 데이터 버스 인버전 기능이 수행된 데이터를 받으면, 통상 데이터 버스 인버전 플래그 신호에 따라 입력 데이터를 원래대로 복구하여, 복구된 데이터를 저장한다. 그러나, 데이터를 복구하기 위해서는 처리 시간이 소요되므로 수신측의 반도체 장치의 전체적인 속도를 저하시킬 수 있으며, 많은 전류가 소모된다. 또한, 데이터의 복구시 에러가 발생할 수도 있다.
본 발명은 데이터 버스 인버전 처리된 데이터의 저장시, 데이터를 복구하는데 발생하는 처리 속도를 개선하고, 동작 전류를 감소시키며, 에러 발생을 저감하고자 한다.
본 발명의 일 실시예에 따른 데이터 버스 인버전 제어 장치는, 입력 어드레스로부터 데이터 버스 인버전 어드레스를 생성하는 데이터 버스 인버전 어드레스 생성부와, 입력 커맨드에 응답하여, 상기 데이터 버스 인버전 어드레스에 해당하는 메모리 셀에 데이터 버스 인버전 플래그 신호를 라이트하거나 상기 데이터 버스 인버전 어드레스에 해당하는 메모리 셀로부터 상기 데이터 버스 인버전 플래그 신호를 리드하기 위해 상기 데이터 버스 인버전 플래그 신호를 입출력하는 데이터 버스 인버전 플래그 신호 입출력부를 포함한다.
본 발명의 일 실시예에 따른 반도체 장치는, 데이터 버스 인버전 제어 장치 ; 및 메모리 셀을 포함하고, 상기 데이터 버스 인버전 제어 장치는, 입력 어드레스로부터 데이터 버스 인버전 어드레스를 생성하는 데이터 버스 인버전 어드레스 생성부와, 입력 커맨드에 응답하여, 상기 메모리 셀의 상기 데이터 버스 인버전 어드레스에 데이터 버스 인버전 플래그 신호를 라이트하거나 상기 메모리 셀의 상기 데이터 버스 인버전 어드레스로부터 상기 데이터 버스 인버전 플래그 신호를 리드하기 위해 데이터 버스 인버전 플래그 신호를 입출력하는 데이터 버스 인버전 플래그 신호 입출력부를 포함한다.
본 발명의 일 실시예에 따른 반도체 장치는, 노멀 영역과 ECC 영역을 포함하는 메모리 셀과, 라이트 커맨드에 응답하여, 데이터 버스 인버전 플래그 신호를 입력받아 상기 메모리 셀의 ECC 영역에 라이트하는 데이터 버스 인버전 제어 장치를 포함한다.
본 발명의 일 실시예에 따른 데이터 버스 인버전 제어 장치 및 반도체 장치에 의하면, 데이터 버스 인버전 기능이 수행된 데이터를 출력하기 때문에 전송 동작에서 전류 소모를 감소시킬 수 있다.
또한, 데이터 버스 인버전 기능이 수행된 데이터를 원래대로 복구시키지 않고 그대로 저장하기 때문에 저장 데이터의 소모 전력을 낮출 수 있다.
또한, 데이터 버스 인버전 기능이 수행된 데이터를 원래대로 복구시키지 않고 그대로 저장하고, 저장된 데이터에 다시 데이터 버스 인버전 처리할 필요 없이 저장된 데이터를 그대로 출력하기 때문에, 데이터를 복구하거나 데이터 버스 인버전 처리하는데 소요되는 시간이 절약되어 처리 속도 향상을 꾀할 수 있다.
또한, 데이터 버스 인버전 기능이 수행된 데이터를 원래대로 복구시키지 않고 그대로 저장하고, 저장된 데이터에 다시 데이터 버스 인버전 처리할 필요 없이 저장된 데이터를 그대로 출력하기 때문에, 데이터를 복구하거나 데이터 버스 인버전 처리하는 과정에서 에러가 발생할 확률을 낮출 수 있다.
도 1은 반도체 장치의 구성도.
도 2a는 라이트 동작시 도 1의 반도체 장치의 데이터의 흐름을 나타내는 순서도.
도 2b는 리드 동작시 도 1의 반도체 장치의 데이터의 흐름을 나타내는 순서도.
도 3은 본 발명의 일 실시예에 따른 반도체 장치의 구성도.
도 4는 본 발명의 일 실시예에 따른 어드레스 매칭 테이블을 나타내는 도면.
도 5a는 라이트 동작시 도 3의 반도체 장치의 데이터의 흐름을 나타내는 순서도.
도 5b는 리드 동작시 도 3의 반도체 장치의 데이터의 흐름을 나타내는 순서도.
도 6은 본 발명의 다른 실시예에 따른 반도체 장치의 구성도.
도 7은 본 발명의 다른 실시예에 따른 어드레스 매칭 테이블을 나타내는 도면.
도 8은 본 발명의 또 다른 실시예에 따른 반도체 시스템의 구성도.
이하, 본 발명의 바람직한 실시예에 대하여 도면을 참조하여 설명한다.
도 1은 데이터 버스 인버전(DBI) 제어 장치(100_0)를 포함하는 반도체 장치(10_0)의 구성도이다.
도 1의 반도체 장치(10_0)는 데이터 버스 인버전 제어 장치(100_0)와 메모리 셀(200_0)을 포함한다.
데이터 버스 인버전 제어 장치(100_0)는 라이트 커맨드가 입력되면 입력 데이터(DBI_DATA)를 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)에 따라 원래대로 복구한다. 그리고 복구된 데이터 (DATA)를 메모리 셀(200_0)에 저장한다.
구체적으로, 데이터 버스 인버전 제어 장치(100_0)에는 데이터(DBI_DATA)가 입력된다. 입력 데이터(DBI_DATA)는 데이터 버스 인버전 처리된 데이터로서 원래 데이터를 반전한 값일 수도 있고 원래 데이터 그대로일 수도 있다. 입력 데이터(DBI_DATA)가 원래 데이터를 반전한 값인지 여부는 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)의 값에 의해 나타내어진다. 예를 들어, 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)가 하이 레벨이면, 입력 데이터(DBI_DATA)는 원래 데이터를 반전한 값일 수 있다. 그리고, 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)가 로우 레벨이면, 입력 데이터(DBI_DATA)는 원래 데이터 그대로일 수 있다.
이에 따라, 데이터 버스 인버전 제어 장치(100_0)는, 입력 데이터(DBI_DATA)를 데이터 버스 인버전 처리 이전 상태로 복구하여 데이터(DATA)를 생성하여 메모리 셀(200_0)에 저장한다.
전술한 예에서, 데이터 버스 인버전 제어 장치(100_0)는, 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)가 하이 레벨이면, 입력 데이터(DBI_DATA)를 반전하여 데이터(DATA)를 생성하여 메모리 셀(200_0)에 저장한다.
그리고, 데이터 버스 인버전 제어 장치(100_0)는, 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)가 로우 레벨이면, 입력 데이터(DBI_DATA)와 동일한 값을 갖는 데이터(DATA)를 생성하여 메모리 셀(200_0)에 저장한다.
한편, 데이터 버스 인버전 제어 장치(100_0)는, 리드 커맨드가 입력되면, 메모리 셀(200_0)의 입력 어드레스(ADD)로부터 데이터(DATA)를 리드한다. 그리고, 데이터 버스 인버전 제어 장치(100_0)는, 데이터(DATA)를 데이터 버스 인버전 처리하여 출력 데이터(DBI_DATA) 및, 출력 데이터(DBI_DATA)의 반전 여부를 타나내는 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 출력한다.
예를 들어, 출력 데이터(DBI_DATA)가 데이터(DATA)를 반전한 값이면, 데이터 버스 인버전 제어 장치(100_0)는, 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 하이 레벨로 출력한다. 그리고, 출력 데이터(DBI_DATA)가 데이터(DATA)와 동일한 값이면, 데이터 버스 인버전 제어 장치(100_0)는, 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 로우 레벨로 출력한다.
도 2는 도 1의 반도체 장치(10_0)의 데이터의 흐름을 나타내는 순서도로서, 도 2a는 라이트 커맨드가 입력된 경우를, 도 2b는 리드 커맨드가 입력된 경우를 나타낸다.
먼저, 라이트 커맨드가 입력된 경우에 대하여 도 2a를 참조하여 설명한다.
데이터 버스 인버전 제어 장치(100_0)에 라이트 커맨드가 입력되면(S100), 데이터 버스 인버전 제어 장치(100_0)는 입력 데이터 (DBI_DATA)와 함께 입력된 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)가 활성화되어 있는지를 판단한다(S110).
데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)가 활성화되어 있으면(S110, Y), 입력 데이터(DBI_DATA) 가 반전되어 있다는 의미이므로, 데이터 버스 인버전 제어 장치(100_0)는 입력 데이터(DBI_DATA)의 각 비트를 인버전하여 입력 데이터(DBI_DATA)를 데이터 버스 인버전 처리 이전 상태로 되돌려 메모리 셀(200_0)에 저장하기 위한 데이터(DATA)를 생성한다(S120).
데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)가 활성화되어 있지 않으면(S130, N), 입력 데이터(DBI_DATA) 가 반전되어 있지 않다는 의미이므로, 데이터 버스 인버전 제어 장치(100_0)는 입력 데이터 (DBI_DATA)와 동일한 값을 갖는 데이터(DATA)를 생성한다(S130).
그리고, 생성된 데이터(DATA)를 메모리 셀(200_0)에 저장한다(S140).
다음으로, 리드 커맨드가 입력된 경우에 대하여 도 2b를 참조하여 설명한다.
리드 커맨드가 입력되면(S200), 데이터 버스 인버전 제어 장치(100_0)는 메모리 셀(200_0)로부터 데이터(DATA)를 읽어낸다(S210). 그리고, 읽어낸 데이터(DATA)에 대해 데이터 버스 인버전 처리를 수행한다(S220).
데이터 버스 인버전 처리(S220)의 일 예는 다음과 같다. 메모리 셀(200_0)로부터 읽어낸 데이터(DATA)가 8비트로 구성되어 있다고 하자. 데이터(DATA) 중, 하이 레벨의 비트가 5개 이상이면 데이터(DATA)의 각 비트를 반전시키고, 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 인에이블시킨다. 하이 레벨의 비트가 4개 이하이면, 데이터(DATA)를 그대로 출력시키고, 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 디스에이블시킨다.
최종적으로 데이터 버스 인버전 처리된 데이터(DBI_DATA)와 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 출력한다(S230).
이러한 구성의 데이터 버스 인버전 제어 장치(100_0)로 인해, 반도체 장치(10_0)는 외부와 데이터 버스 인버전 처리된 데이터를 전송하게 된다. 이때, 전송 데이터에 있어서 하이 레벨의 비트보다 로우 레벨의 비트가 많아지므로, 전송시 필요한 전류가 감소된다.
도 3은 본 발명의 일 실시예에 따른 반도체 장치(10_1)의 구성도이다.
도 3의 반도체 장치(10_1)는 데이터 버스 인버전 제어 장치(100_1)와 메모리 셀(200_1)을 포함하며, 데이터 버스 인버전 제어 장치(100_1)는 어드레스 생성부(110_1), 데이터 버스 인버전 데이터 입출력부(130_1), 데이터 버스 인버전 플래그 신호 입출력부(140_1)를 포함한다.
어드레스 생성부(110_1)는 입력 데이터(DBI_DATA)가 저장될 입력 어드레스(ADD)를 그대로 출력한다. 입력 어드레스(ADD)는 메모리 셀(200_1)의 노멀 영역(210_1)을 가리키는 어드레스이며, 데이터 버스 인버전 처리된 입력 데이터(DBI_DATA)를 저장하기 위해 사용된다.
또한, 어드레스 생성부(110_1)는 후술하는 어드레스 매칭 테이블(Address Matching Table; 120_1)을 이용하여, 입력 어드레스(ADD)에 대응하는 데이터 버스 인버전 어드레스(DBI_ADD)를 생성한다. 데이터 버스 인버전 어드레스(DBI_ADD)는 메모리 셀(200_1)의 데이터 버스 인버전 영역(220)을 가리키는 어드레스이며, 데이터 버스 인버전 플래그(DBI_FLAG_SIG)를 저장하기 위해 사용된다. 데이터 버스 인버전 데이터 입출력부(130_1)는 라이트 동작시 데이터 버스 인버전 처리된 입력 데이터(DBI_DATA)를 메모리 셀(200_1)에 그대로 출력한다. 이러한 입력 데이터(DBI_DATA)는, 상기 어드레스 생성부(110_1)로부터 출력된 입력 어드레스(ADD)에 의해 메모리 셀(200_1)의 노멀 영역(210_1)에 저장된다.
또한, 데이터 버스 인버전 데이터 입출력부(130_1)는 리드 동작시 데이터 메모리 셀(200_1)의 노멀 영역(210_1)에 저장되어 있는 데이터 버스 인버전 데이터(DBI_DATA)를 외부에 그대로 출력한다.
데이터 버스 인버전 플래그 신호 입출력부(140_1)는 라이트 동작시 입력 데이터(DBI_DATA)의 반전 여부를 나타내는 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 입력받아 메모리 셀(200_1)에 그대로 출력한다. 이러한 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)는, 상기 어드레스 생성부(110_1)로부터 출력된 데이터 버스 인버전 어드레스(DBI_ADD)에 의해 메모리 셀(200_1)의 데이터 버스 인버전 영역(220)에 저장된다.
또한, 데이터 버스 인버전 플래그 신호 입출력부(140_1)는 리드 동작시 메모리 셀(200_1)의 데이터 버스 인버전 영역(220)에 저장되어 있는 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 외부에 그대로 출력한다.
본 실시예에 의한 반도체 장치(10_1)는, 도 1의 데이터 버스 인버전 제어 장치(100_0)와 달리, 입력 데이터(DBI_DATA)를 그대로 메모리 셀(200_1)에 저장한다.
또한, 본 실시예에 의한 반도체 장치(10_1)는, 입력 데이터(DBI_DATA)의 반전 여부를 나타내는 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 메모리 셀(200_1)의 데이터 버스 인버전 영역(220)에 저장한다.
여기에서, 메모리 셀(200_1)은 입력 데이터(DBI_DATA)를 저장하기 위한 노멀 영역(210_1) 외에, 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 저장하기 위한 데이터 버스 인버전 영역(220)을 별도로 구비할 수 있다. 즉, 본 발명의 실시예에 의하면, 입력 데이터(DBI_DATA) 뿐만 아니라 입력 데이터 (DBI_DATA)의 반전 여부를 나타내는 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)도 저장된다. 따라서, 메모리 셀(200_1)은 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 저장하기 위한 별도의 영역으로서 데이터 버스 인버전 영역(220)을 추가로 구비한다.
(9페이지, 11페이지 노란색 표기 : 모두 입력데이터는 반전된것도 있고, 반전되지 않은 것도 있는 데이터임. 두번째 노란박스에는 두가지 경우는 포함하지 않는 내용으로 오해의 소지가 있음 )
도 4는 어드레스 생성부(110_1)에 구비되는 어드레스 매칭 테이블(120_1)을 나타내는 도면이다.
도 4를 참조하면, 어드레스 매칭 테이블(120_1)에는 입력 어드레스(ADD_1)에 대해 데이터 버스 인버전 어드레스(DBI_ADD_1)가 매칭되어 있고, 입력 어드레스(ADD_2)에 대해 데이터 버스 인버전 어드레스(DBI_ADD_2)가 매칭되어 있으며, 입력 어드레스(ADD_3)에 대해 데이터 버스 인버전 어드레스(DBI_ADD_3)가 매칭되어 있다. 이때, 각각의 데이터 버스 인버전 어드레스(DBI_ADD_1, DBI_ADD_2, DBI_ADD_3)는 입력데이터(DBI_DATA1, DBI_DATA_2, DBI_DATA_3)에 대응되는 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG, DBI_FLAG_SIG 2 DBI_FLAG_SIG3)를 메모리 셀(200_1)의 데이터 버스 인버전 영역(220)에 저장하기 위한 어드레스이다.
데이터 버스 인버전 제어 장치(100_1)는, 라이트 커맨드, 입력 어드레스(ADD), 입력 데이터(DBI_DATA), 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)가 입력되었을 때, 어드레스 생성부(110_1)에 의해, 메모리 셀(200_1)의 데이터 버스 인버전 영역(220)에 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 저장할 수 있다.
도 5a는 라이트 동작시 도 3의 반도체 장치(10_1)의 데이터의 흐름을 나타내는 순서도이다.
데이터 버스 인버전 제어 장치(100_1)에 라이트 커맨드가 입력됨으로써(S300) 일련의 라이트 동작이 개시된다. 이때, 데이터 버스 인버전 제어 장치(100_1)에는, 입력 어드레스(ADD), 입력 데이터(DBI_DATA), 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)도 함께 입력된다.
데이터 버스 인버전 제어 장치(100_1)에 구비된 어드레스 생성부(110_1)는 예를 들면 도 4의 어드레스 매칭 테이블(120_1)을 이용하여 입력 어드레스(ADD)에 대응하는 데이터 버스 인버전 어드레스(DBI_ADD)를 생성한다(S310).
그리고, 데이터 버스 인버전 제어 장치(100_1)는 입력 어드레스(ADD)에 입력 데이터(DBI_DATA)를 그대로 저장하고, 상기 생성된 데이터 버스 인버전 어드레스(DBI_ADD)에 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 저장한다(S320). 이때, 입력 어드레스(ADD)는 메모리 셀(200_1)의 노멀 영역(210_1)을 가리키고, 데이터 버스 인버전 어드레스(DBI_ADD)는 메모리 셀(200_1)의 데이터 버스 인버전 영역(220)을 가리킨다.
이러한 본 발명의 실시예에 의하면, 데이터 버스 인버전 처리된 데이터(DBI_DATA)를 데이터 버스 인버전 처리 이전의 상태로 되돌리지 않고 메모리 셀(200_1)에 그대로 저장하기 때문에, 처리 시간이 단축되어 처리 속도의 향상을 꾀할 수 있으며, 데이터 처리 과정에서의 에러 발생 확률을 낮출 수 있다.
또한, 본 발명의 실시예에 의하면, 데이터 버스 인버전 처리된 데이터(DBI_DATA)를 메모리 셀(200_1)에 저장하기 때문에, 데이터(DBI_DATA)를 저장하는데 소모되는 전력을 저감할 수 있다.
다시 도 3으로 돌아가서, 데이터 버스 인버전 제어 장치(100_1)는, 리드 커맨드가 입력되면, 입력 어드레스(ADD)에 해당하는 메모리 셀(200_1)의 노멀 영역(210_1)으로부터 데이터(DBI_DATA)를 읽어낸다.
어드레스 생성부(110_1)는, 라이트 커맨드가 입력된 경우와 마찬가지로, 입력 어드레스(ADD)에 대응하는 데이터 버스 인버전 어드레스(DBI_ADD)를 생성한다. 이때, 어드레스 생성부(110_1)는 데이터 버스 인버전 어드레스(DBI_ADD)를 생성하기 위해, 도 4의 입력 어드레스(ADD)와 데이터 버스 인버전 어드레스(DBI_ADD)가 매칭된 어드레스 매칭 테이블(120_1)을 이용한다.
그리고, 데이터 버스 인버전 제어 장치(100_1)는 데이터 버스 인버전 어드레스(DBI_ADD)에 해당하는 메모리 셀(200_1)의 데이터 버스 인버전 영역(220)으로부터 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 읽어낸다.
그리고, 데이터 버스 인버전 제어 장치(100_1)는 메모리 셀(200_1)의 노멀 영역(210_1)으로부터 읽어낸 데이터(DBI_DATA)와 메모리 셀(200_1)의 데이터 버스 인버전 영역(220)으로부터 읽어낸 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 반도체 장치(10_1) 외부로 그대로 출력한다. 즉, 데이터 버스 인버전 제어 장치(100_1)는 리드 동작시 메모리 셀(200_1)에 저장된 데이터(DBI_DATA)를 그대로 출력하며, 상기 데이터(DBI_DATA)에 대해 데이터 버스 인버전 처리를 수행하지 않는다.
도 5b는 리드 동작시 도 3의 반도체 장치(10_1)의 데이터의 흐름을 나타내는 순서도이다.
데이터 버스 인버전 제어 장치(100_1)에 리드 커맨드가 입력됨으로써(S400) 일련의 리드 동작이 개시된다. 이때, 데이터 버스 인버전 제어 장치(100_1)에는, 입력 어드레스(ADD)도 함께 입력된다.
데이터 버스 인버전 제어 장치(100_1)에 구비된 어드레스 생성부(110_1)는 예를 들면 도 4의 어드레스 매칭 테이블(120_1)을 이용하여 입력 어드레스(ADD)에 대응하는 데이터 버스 인버전 어드레스(DBI_ADD)를 생성한다(S410).
그리고, 데이터 버스 인버전 제어 장치(100_1)는 입력 어드레스 ADD에 해당하는 메모리 셀(200_1)의 노멀 영역(210_1)으로부터 데이터(DBI_DATA)를 읽어낸다. 또한, 데이터 버스 인버전 제어 장치(100_1)는 상기 생성된 데이터 버스 인버전 어드레스(DBI_ADD)에 해당하는 메모리 셀(200_1)의 데이터 버스 인버전 영역(220)으로부터 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 읽어낸다(S420). 그리고, 데이터(DBI_DATA) 및 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 반도체 장치(10_1)의 외부로 출력한다.
이러한 본 발명의 실시예에 의하면, 데이터 버스 인버전 처리된 데이터(DBI_DATA)를 다시 데이터 버스 인버전 처리를 수행할 필요 없이 메모리 셀(200_1)에서 읽어낸 그대로 출력하기 때문에, 처리 시간이 단축되어 처리 속도의 향상을 꾀할 수 있으며, 데이터 처리 과정에서의 에러 발생 확률을 낮출 수 있다.
도 6은 본 발명의 다른 실시예에 의한 반도체 장치(10_2)의 구조를 나타내는 도면이다.
도 6의 반도체 장치(10_2)는 데이터 버스 인버전 제어 장치(100_2)와 메모리 셀(200_2)을 포함한다. 데이터 버스 인버전 제어 장치(100_2)는 어드레스 생성부(110_2), 데이터 버스 인버전 데이터 입출력부(130_2), 데이버 버스 인버전 플래그 신호 입출력부(140_2)를 포함한다. 메모리 셀(200_2)은 노멀 영역(210_2)과 ECC(Error Correction Code) 영역(230)을 포함한다. ECC 영역(230)은 노멀 영역(210_2)에 저장되는 데이터의 에러 정정 코드가 저장되는 영역이다. 이러한 에러 정정 코드는 공지의 에러 정정 코드 생성 방법에 의해 생성할 수 있다.
도 6의 반도체 장치(10_2)는, 도 3의 반도체 장치(10_1)와 데이터 버스 인버전 데이터 입출력부(130_2), 데이터 버스 인버전 플래그 신호 입출력부(140_2), 메모리 셀(200_2)의 노멀 영역(210_2)은 동일하므로, 이에 대한 설명은 생략한다.
어드레스 생성부(110_2)는 데이터 버스 인버전 처리된 입력 데이터(DBI_DATA)를 저장하기 위한 입력 어드레스(ADD)를 그대로 출력한다. 입력 어드레스(ADD)는 메모리 셀(200_2)의 노멀 영역(210_2)을 가리키는 어드레스이며, 데이터 버스 인버전 처리된 입력 데이터(DBI_DATA)를 저장하기 위해 사용된다.
또한, 어드레스 생성부(110_2)는 후술하는 어드레스 매칭 테이블(120_2)을 이용하여, 입력 어드레스(ADD)에 대응하는 ECC 어드레스(ECC_ADD)를 생성한다. ECC 어드레스(ECC_ADD)는 메모리 셀(200_2)의 ECC 영역(230)을 가리키는 어드레스이며, 본 실시예에서, ECC 어드레스(ECC_ADD)는 데이터 버스 인버전 플래그(DBI_FLAG_SIG)를 메모리 셀(200_2)의 ECC 영역(230)에 저장하기 위해 사용된다.도 7은 어드레스 생성부(110_2)에 구비되는 어드레스 매칭 테이블(120_2)을 나타내는 도면이다.
어드레스 매칭 테이블(120_2)에는 입력 어드레스(ADD_1, ADD_2, ADD_3)에 따른 ECC 어드레스(ECC_ADD_1, ECC_ADD_2, ECC_ADD_3)가 매칭되어 있다. ECC 어드레스(ECC_ADD_1, ECC_ADD_2, ECC_ADD_3)는 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 메모리 셀(200_2)의 ECC 영역(230)에 저장하기 위한 어드레스이다. 이러한 어드레스 매칭 테이블(120_2)에 의해, 어드레스 생성부(110_2)는 입력 어드레스(ADD)가 정해지면, 그에 따른 ECC 어드레스(ECC_ADD)를 생성할 수 있다.
ECC 영역(230)은 본래 노멀 영역(210_2)에 저장되는 데이터의 ECC 코드가 저장되는 영역으로, 노멀 영역(210_2)과 별개의 영역(230)으로 구분되어 있다. 본 실시예에 따르면, 데이터 버스 인버전 플래그(DBI_FLAG_SIG)를 저장하기 위해, 도 3에서와 같이 DBI 영역(220)을 별도로 구비할 필요 없이, ECC 코드를 저장하기 위해 이미 할당되어 있는 ECC 영역(230)을 이용하기 때문에, 메모리 셀(200_2)을 더욱 효율적으로 이용할 수 있다.
도 6의 데이터 버스 인버전 제어 장치(100_2)의 동작은 도 3의 데이터 버스 인버전 제어 장치(100_1)의 동작과 거의 동일하다. 다만, 도 3의 데이터 버스 인버전 제어 장치(100_1)가 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 라이트하거나 리드하기 위해 내부적으로 데이터 버스 인버전 어드레스(DBI_ADD)를 생성했던 것과는 달리, 도 6의 데이터 버스 인버전 제어 장치(100_2)는 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 메모리 셀(200_2)의 ECC 영역(230)에 저장하기 위해 ECC 어드레스(ECC_ADD)를 생성한다는 점이 상이하다.
구체적으로, 라이트 커맨드가 입력되면, 데이터 버스 인버전 제어 장치(100_2)의 어드레스 생성부(110_2)는 입력 어드레스(ADD)에 대응하는 ECC 어드레스(ECC_ADD)를 생성한다.
데이터 버스 인버전 제어 장치(100_2)는 입력 어드레스(ADD)에 해당하는 메모리 셀(200_2)의 노멀 영역(210_2)에 입력 데이터(DBI_DATA)를 저장한다. 그리고, 데이터 버스 인버전 제어 장치(100_2)는 ECC 어드레스(ECC_ADD)에 해당하는 메모리 셀(200_2)의 ECC 영역(230)에 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 저장한다.
리드 커맨드가 입력되면, 데이터 버스 인버전 제어 장치(100_2)의 어드레스 생성부(110_2)는, 라이트 커맨드가 입력된 경우와 마찬가지로, 예를 들면 도 7의 어드레스 매칭 테이블(120_2)을 이용하여 입력 어드레스(ADD)에 대응하는 ECC 어드레스(ECC_ADD)를 생성한다.
그리고, 데이터 버스 인버전 제어 장치(100_2)는 입력 어드레스(ADD)에 대응하는 메모리 셀(200_2)의 노멀 영역(210_2)으로부터 데이터(DBI_DATA)를 읽어내고, ECC 어드레스(ECC_ADD)에 대응하는 메모리 셀(200_2)의 ECC 영역(230)으로부터 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 읽어낸다. 그리고, 데이터 버스 인버전 제어 장치(100_2)는 데이터(DBI_DATA) 및 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 반도체 장치(10_2)의 외부로 출력한다.
이러한 본 발명의 실시예에 의하면, 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 저장하기 위해 메모리 셀(200_1)의 일부를 데이터 버스 인버전 영역(220)으로서 별도로 할당할 필요 없이, ECC를 위해 할당된 ECC 영역(230)을 이용할 수 있다. 따라서, 메모리 셀의 용량 증가를 억제하면서 효율적으로 메모리 셀을 사용할 수 있다.
도 8은 본 발명의 또 다른 실시예에 따른 데이터 버스 인버전 제어 장치(100)를 포함하는 반도체 시스템의 구성도이다.
도 8에 도시된 바와 같이, 반도체 시스템은 호스트(2) 및 메모리 시스템(1)을 포함할 수 있고, 메모리 시스템(1)은 메모리 컨트롤러(20) 및 메모리(10)를 포함할 수 있다. 메모리(10)는 도 1의 반도체 장치(10_0), 도 3의 반도체 장치(10_1) 또는 도 6의 반도체 장치(10_2)일 수 있다.
호스트(2)는 메모리(10)를 액세스하기 위해 메모리 컨트롤러(20)로 리퀘스트 및 데이터를 전송할 수 있다. 호스트(2)는 메모리(10)에 데이터를 저장시키기 위해 데이터를 메모리 컨트롤러(20)로 전송할 수 있다. 또한, 호스트(2)는 메모리 컨트롤러(20)를 통해 메모리(10)로부터 출력된 데이터를 수신할 수 있다. 메모리 컨트롤러(20)는 리퀘스트에 응답하여 데이터 정보, 어드레스 정보, 메모리 설정 정보, 라이트 리퀘스트, 리드 리퀘스트 등을 메모리(10)에 제공하여 라이트 또는 리드 동작이 수행되도록 메모리(10)를 제어할 수 있다. 메모리 컨트롤러(20)는 호스트(2)와 메모리(10) 사이의 통신을 중계할 수 있다. 메모리 컨트롤러(20)는 호스트(2)로부터 리퀘스트와 데이터를 수신하고, 메모리(10)의 동작을 제어하기 위하여 데이터(DQ), 데이터 스트로브 (DQS), 커맨드(CMD), 메모리 어드레스(ADD) 및 클럭(CLK)등을 생성하여 메모리(10)로 제공할 수 있다. 또한, 메모리 컨트롤러(20)는 메모리(10)로부터 출력된 데이터(DQ) 및 데이터 스트로브(DQS)를 호스트(2)로 제공할 수 있다. 데이터(DQ) 및 데이터 스트로브(DQS)는 도 1, 3, 6의 데이터(DBI_DATA) 및 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)에 대응한다.
메모리(10) 내에는 전술한 데이터 버스 인버전 제어 장치(100)가 포함될 수 있다. 데이터 버스 인버전 제어 장치(100)는 도 1, 3, 6의 데이터 버스 인버전 제어 장치(100_0, 100_1, 100_2)를 대표하여 나타낸다.
이에 따라, 메모리 컨트롤러(20)로부터 커맨드(CMD)와 메모리 어드레스 (ADD)가 입력되면, 데이터 버스 인버전 제어 장치(100)는 상기 메모리 어드레스(ADD)에 해당하는 데이터 버스 인버전 어드레스(DBI_ADD)를 생성한다. 그리고, 라이트 커맨드가 입력된 경우에는, 입력 데이터(DBI_DATA)와 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 입력 어드레스(ADD)와 데이터 버스 인버전 어드레스(DBI_ADD)에 각각 라이트한다. 리드 커맨드가 입력된 경우에는, 입력 어드레스 ADD에 저장된 데이터(DBI_DATA)와 데이터 버스 인버전 어드레스(DBI_ADD)에 저장된 데이터 버스 인버전 플래그 신호(DBI_FLAG_SIG)를 메모리(10)로부터 읽어내어 메모리 컨트롤러(20)로 전송한다.
도 8에서는 데이터 버스 인버전 제어 장치(100)가 메모리(10) 내에 포함되는 것으로 도시하였지만, 데이터 버스 인버전 제어 장치(10)는 메모리 컨트롤러(20)에 위치할 수도 있다.
도 8에서는 호스트(2)와 메모리 컨트롤러(20)를 물리적으로 분리된 구성으로 도시되었으나, 메모리 컨트롤러(20)가 호스트(2)의 중앙처리장치(CPU), 애플리케이션 프로세서(AP), 그래픽처리장치(GPU)와 같은 프로세서에 포함(내장)되거나 SoC(System On Chip)의 형태로 이들 프로세서들과 함께 하나의 칩으로 구현될 수 있다.
메모리(10)는 메모리 컨트롤러(20)로부터 커맨드(CMD), 메모리 어드레스 신호(ADD), 데이터(DQ), 데이터 스트로브(DQS) 및 클럭 신호(CLK) 등을 수신하고, 신호들에 기초하여 데이터 수신 동작을 수행할 수 있다.
메모리(10)는 복수의 메모리 뱅크를 포함할 수 있고, 메모리 어드레스 신호(ADD)에 기초하여 데이터(DQ)를 메모리의 뱅크 중 특정 영역에 저장할 수 있다. 또한, 메모리(10)는 메모리 컨트롤러(20)로부터 수신된 커맨드(CMD) 및 메모리 어드레스(ADD)와 데이터 스트로브(DQS) 등에 기초하여 데이터 송신 동작을 수행할 수 있다. 메모리는 메모리 어드레스 신호(ADD), 데이터(DQ) 및 데이터 스트로브(DQS)에 기초하여 메모리 뱅크 중의 특정 영역에 저장된 데이터를 메모리 컨트롤러(20)로 송신할 수 있다.
이상에서 설명한 본 발명이 전술한 실시예 및 첨부된 도면에 한정되지 않으며, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.

Claims (20)

  1. 입력 어드레스로부터 데이터 버스 인버전 어드레스를 생성하는 데이터 버스 인버전 어드레스 생성부와,
    입력 커맨드에 응답하여, 상기 데이터 버스 인버전 어드레스에 해당하는 메모리 셀에 데이터 버스 인버전 플래그 신호를 라이트하거나 상기 데이터 버스 인버전 어드레스에 해당하는 메모리 셀로부터 상기 데이터 버스 인버전 플래그 신호를 리드하기 위해 상기 데이터 버스 인버전 플래그 신호를 입출력하는 데이터 버스 인버전 플래그 신호 입출력부
    를 포함하는 데이터 버스 인버전 제어 장치.
  2. 제1항에 있어서,
    상기 데이터 버스 인버전 플래그 신호 입출력부는, 라이트 커맨드에 응답하여, 상기 데이터 버스 인버전 플래그 신호를 입력 받아 상기 메모리 셀에 라이트하는 것을 특징으로 하는 데이터 버스 인버전 제어 장치.
  3. 제2항에 있어서,
    데이터 버스 인버전 처리된 입력 데이터를 입력 받아 데이터 버스 인버전 처리 전의 상태로 복구하지 않고 상기 메모리 셀의 입력 어드레스에 라이트하는 데이터 입출력부
    를 더 포함하는 것을 특징으로 하는 데이터 버스 인버전 제어 장치.
  4. 제1항에 있어서,
    상기 데이터 버스 인버전 어드레스 생성부는, 상기 입력 어드레스와 상기 데이터 버스 인버전 어드레스가 매칭된 어드레스 매칭 테이블을 포함하는 것을 특징으로 하는 데이터 버스 인버전 제어 장치.
  5. 제1항에 있어서,
    상기 데이터 버스 인버전 플래그 신호 입출력부는, 리드 커맨드에 응답하여, 상기 메모리 셀로부터 상기 데이터 버스 인버전 플래그 신호를 리드하여 출력하는 것을 특징으로 하는 데이터 버스 인버전 제어 장치.
  6. 제5항에 있어서,
    상기 메모리 셀의 입력 어드레스로부터 데이터 버스 인버전 처리된 데이터를 리드하여 데이터 버스 인버전 처리 전의 상태로 복구하지 않고 출력하는 데이터 입출력부를 더 포함하는 것을 특징으로 하는 데이터 버스 인버전 제어 장치.
  7. 데이터 버스 인버전 제어 장치 ; 및
    메모리 셀을 포함하고,
    상기 데이터 버스 인버전 제어 장치는, 입력 어드레스로부터 데이터 버스 인버전 어드레스를 생성하는 데이터 버스 인버전 어드레스 생성부와,
    입력 커맨드에 응답하여, 상기 메모리 셀의 상기 데이터 버스 인버전 어드레스에 데이터 버스 인버전 플래그 신호를 라이트하거나 상기 메모리 셀의 상기 데이터 버스 인버전 어드레스로부터 상기 데이터 버스 인버전 플래그 신호를 리드하기 위해 데이터 버스 인버전 플래그 신호를 입출력하는 데이터 버스 인버전 플래그 신호 입출력부
    를 포함하는 반도체 장치.
  8. 제7항에 있어서,
    상기 데이터 버스 인버전 어드레스 생성부는, 상기 입력 어드레스와 상기 데이터 버스 인버전 어드레스가 매칭된 어드레스 매칭 테이블을 포함하는 것을 특징으로 하는 반도체 장치
  9. 제7항에 있어서,
    상기 데이터 버스 인버전 제어 장치는, 데이터 버스 인버전 처리된 입력 데이터를 입력 받아 데이터 버스 인버전 처리 전의 상태로 복구하지 않고 상기 메모리 셀의 입력 어드레스에 라이트하거나, 상기 메모리 셀의 입력 어드레스로부터 데이터 버스 인버전 처리된 데이터를 리드하여 데이터 버스 인버전 처리 전의 상태로 복구하지 않고 출력하는 데이터 입출력부를 더 포함하는 반도체 장치.
  10. 제7항에 있어서,
    상기 메모리 셀은 데이터 버스 인버전 처리된 입력 데이터가 라이트되는 노멀 영역과, 상기 데이터 버스 인버전 플래그 신호가 라이트되는 데이터 버스 인버전 영역을 포함하는 반도체 장치.
  11. 제10항에 있어서,
    라이트 커맨드에 응답하여,
    상기 입력 어드레스에 해당하는 상기 메모리 셀의 노멀 영역에 상기 입력 데이터가 라이트되고,
    상기 데이터 버스 인버전 어드레스에 해당하는 상기 메모리 셀의 데이터 버스 인버전 영역에 상기 데이터 버스 인버전 플래그 신호가 라이트되며,
    리드 커맨드에 응답하여,
    상기 메모리 셀의 노멀 영역의 입력 어드레스로부터 상기 입력 데이터가 리드되고
    상기 메모리 셀의 데이터 버스 인버전 영역의 데이터 버스 인버전 어드레스로부터 상기 데이터 버스 인버전 플래그 신호가 리드되는 것을 특징으로 하는 반도체 장치.
  12. 노멀 영역과 ECC 영역을 포함하는 메모리 셀과,
    라이트 커맨드에 응답하여, 데이터 버스 인버전 플래그 신호를 입력받아 상기 메모리 셀의 ECC 영역에 라이트하는 데이터 버스 인버전 제어 장치
    를 포함하는 반도체 장치.
  13. 제12항에 있어서,
    상기 데이터 버스 인버전 제어 장치는,
    입력 어드레스로부터 데이터 버스 인버전 어드레스를 생성하는 데이터 버스 인버전 어드레스 생성부
    를 포함하는 것을 특징으로 하는 반도체 장치.
  14. 제13항에 있어서,
    상기 데이터 버스 인버전 제어 장치는, 상기 데이터 버스 인버전 어드레스에 해당하는 상기 메모리 셀의 ECC 영역에 상기 데이터 버스 인버전 플래그 신호를 라이트하는 것을 특징으로 하는 반도체 장치.
  15. 제12항에 있어서,
    상기 데이터 버스 인버전 제어 장치는,
    데이터 버스 인버전 처리된 입력 데이터를 상기 메모리 셀의 노멀 영역에 라이트하는 데이터 입출력부
    를 더 포함하는 것을 특징으로 하는 반도체 장치.
  16. 제15항에 있어서,
    상기 데이터 입출력부는, 상기 입력 데이터에 대해 데이터 버스 인버전 처리 전의 상태로 복구하지 않고 상기 입력 데이터를 라이트하는 것을 특징으로 하는 반도체 장치.
  17. 제13항에 있어서,
    상기 데이터 버스 인버전 어드레스 생성부는, 상기 입력 어드레스와 상기 데이터 버스 인버전 어드레스가 매칭된 어드레스 매칭 테이블을 포함하는 것을 특징으로 하는 반도체 장치.
  18. 제12항에 있어서,
    상기 데이터 버스 인버전 제어 장치는,
    리드 커맨드에 응답하여, 상기 메모리 셀의 ECC 영역으로부터 상기 데이터 버스 인버전 플래그 신호를 리드하여 출력하는 것을 특징으로 하는 반도체 장치.
  19. 제18항에 있어서,
    상기 데이터 버스 인버전 제어 장치는,
    입력 어드레스에 해당하는 상기 메모리 셀의 노멀 영역으로부터 데이터 버스 인버전 처리된 데이터를 리드하여 출력하는 것을 특징으로 하는 반도체 장치.
  20. 제19항에 있어서,
    상기 데이터 버스 인버전 제어 장치는,
    상기 리드된 데이터 버스 인버전 처리된 데이터를 데이터 버스 인버전 처리 전의 상태로 복구하지 않고 출력하는 것을 특징으로 하는 반도체 장치.
KR1020160096586A 2016-07-29 2016-07-29 데이터 비트 인버전 제어 장치 및 이를 포함하는 반도체 장치 KR20180013212A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160096586A KR20180013212A (ko) 2016-07-29 2016-07-29 데이터 비트 인버전 제어 장치 및 이를 포함하는 반도체 장치
US15/487,930 US20180032392A1 (en) 2016-07-29 2017-04-14 Data bus inversion controller and semiconductor device including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160096586A KR20180013212A (ko) 2016-07-29 2016-07-29 데이터 비트 인버전 제어 장치 및 이를 포함하는 반도체 장치

Publications (1)

Publication Number Publication Date
KR20180013212A true KR20180013212A (ko) 2018-02-07

Family

ID=61011838

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160096586A KR20180013212A (ko) 2016-07-29 2016-07-29 데이터 비트 인버전 제어 장치 및 이를 포함하는 반도체 장치

Country Status (2)

Country Link
US (1) US20180032392A1 (ko)
KR (1) KR20180013212A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020036752A1 (en) * 2018-08-17 2020-02-20 Micron Technology, Inc. Enhanced bit flipping scheme

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10606689B2 (en) * 2017-04-18 2020-03-31 SK Hynix Inc. Memory system and operating method thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7110319B2 (en) * 2004-08-27 2006-09-19 Micron Technology, Inc. Memory devices having reduced coupling noise between wordlines
US9116828B2 (en) * 2008-06-11 2015-08-25 Micron Technology, Inc. Data bus inversion usable in a memory system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020036752A1 (en) * 2018-08-17 2020-02-20 Micron Technology, Inc. Enhanced bit flipping scheme
US10802909B2 (en) 2018-08-17 2020-10-13 Micron Technology, Inc. Enhanced bit flipping scheme
KR20210034088A (ko) * 2018-08-17 2021-03-29 마이크론 테크놀로지, 인크 향상된 비트 플립핑 방식
US11256566B2 (en) 2018-08-17 2022-02-22 Micron Technology, Inc. Enhanced bit flipping scheme
US11775383B2 (en) 2018-08-17 2023-10-03 Micron Technology, Inc. Enhanced bit flipping scheme

Also Published As

Publication number Publication date
US20180032392A1 (en) 2018-02-01

Similar Documents

Publication Publication Date Title
US20220261151A1 (en) Apparatuses and methods for concurrently accessing multiple partitions of a non-volatile memory
KR102232922B1 (ko) 쓰기 보조 회로를 포함하는 스태틱 랜덤 액세스 메모리 장치
JP2005327437A (ja) 半導体記憶装置
CN109754830B (zh) 半导体存储器设备及其数据路径配置方法
US10866736B2 (en) Memory controller and data processing circuit with improved system efficiency
US10388401B2 (en) Semiconductor device, semiconductor system, and method thereof
KR102662417B1 (ko) 반도체장치
KR20180119072A (ko) 반도체장치
KR20230153497A (ko) 반도체 메모리에 대한 오류 정정 코딩 및 데이터 버스 반전 장치 및 방법
CN108630255B (zh) 半导体存储器件、标志生成电路以及输出半导体器件中的数据的方法
KR20170036544A (ko) 메모리 시스템 및 이의 동작 방법
KR100877609B1 (ko) 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법
KR20180013212A (ko) 데이터 비트 인버전 제어 장치 및 이를 포함하는 반도체 장치
US6219283B1 (en) Memory device with local write data latches
KR20190127143A (ko) 반도체 장치
CN112992199B (zh) 具有输入电路的存储器装置和存储器系统
KR20190105869A (ko) 메모리 컨트롤러 및 그 동작 방법
US11698852B2 (en) Apparatus and method for writing data in a memory
CN105608033B (zh) 半导体装置及其操作方法
KR20180055148A (ko) 반도체장치 및 반도체시스템
CN110223723B (zh) 数据缓冲器和具有该数据缓冲器的存储装置
TWI676104B (zh) 記憶體控制器與資料儲存裝置
KR20170124876A (ko) 데이터 입출력 회로 및 이를 포함하는 반도체 메모리 장치
US20220300436A1 (en) Semiconductor storage device, memory controller, and memory system
JP2021043909A (ja) メモリシステム、コントローラおよびデータ転送方法