KR100888261B1 - 뱅크 id를 이용할 수 있는 메모리 서브 시스템과 그 방법 - Google Patents
뱅크 id를 이용할 수 있는 메모리 서브 시스템과 그 방법 Download PDFInfo
- Publication number
- KR100888261B1 KR100888261B1 KR1020070018084A KR20070018084A KR100888261B1 KR 100888261 B1 KR100888261 B1 KR 100888261B1 KR 1020070018084 A KR1020070018084 A KR 1020070018084A KR 20070018084 A KR20070018084 A KR 20070018084A KR 100888261 B1 KR100888261 B1 KR 100888261B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- command
- input
- banks
- bank
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/20—Initialising; Data preset; Chip identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
- G06F12/0661—Configuration or reconfiguration with centralised address assignment and decentralised selection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1056—Simplification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2022—Flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/4402—Internal storage of test result, quality data, chip identification, repair information
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/20—Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
컨트롤러와 각각이 복수의 메모리 장치들을 포함하는 복수의 뱅크들을 포함하는 메모리 서브 시스템이 개시된다. 상기 컨트롤러는 상기 복수의 뱅크들 각각의 ID를 저장하는 메모리와 상기 메모리로부터 상기 복수의 뱅크들 중에서 엑세스하고자하는 뱅크의 ID를 읽어와서 출력한 후 이어서 명령을 출력하는 컨트롤 로직을 포함한다. 상기 복수의 메모리 장치들 각각은 입력포트, 자신의 ID를 저장하기 위한 레지스터, 및 상기 입력포트를 통하여 입력된 입력 ID와 상기 레지스터에 저장된 상기 ID를 수신하여 비교하고, 비교결과에 따라 제1제어신호를 발생하는 판단회로를 포함한다. 상기 입력포트는 상기 제1제어신호에 응답하여 인에이블 또는 디스에이블된다.
메모리 서브 시스템, 뱅크 ID, 메모리 컨트롤러,
Description
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 컨트롤러와 복수의 뱅크들을 포함하는 종래의 메모리 서브 시스템의 블락도를 나타낸다.
도 2는 컨트롤러와 복수의 뱅크들을 포함하는 본 발명의 실시 예에 따른 메모리 서브 시스템의 블락도를 나타낸다.
도 3은 도 2에 도시된 본 발명의 실시 예에 따른 컨트롤러의 블락도를 나타낸다.
도 4는 본 발명의 실시 예에 따른 메모리 장치의 블락도를 나타낸다.
도 5는 도 2에 도시된 본 발명의 실시 예에 따른 메모리 서브 시스템의 읽기 작동을 설명하기 위한 타이밍 도이다.
도 6은 도 2에 도시된 본 발명의 실시 예에 따른 메모리 서브 시스템의 쓰기 작동을 설명하기 위한 타이밍 도이다.
도 7은 도 2에 도시된 본 발명의 실시 예에 따른 메모리 서브 시스템의 소거 작동을 설명하기 위한 타이밍 도이다.
도 8은 도 2에 도시된 본 발명의 실시 예에 따른 메모리 서브 시스템을 포함하는 메인 보드의 블락도를 나타낸다.
본 발명은 반도체 회로에 관한 것으로, 보다 상세하게는 뱅크 ID를 사용할 수 있는 메모리 서브 시스템, 상기 메모리 서브 시스템을 구성하는 컨트롤러와 메모리 장치, 및 메모리 서브 시스템의 작동 방법에 관한 것이다.
도 1은 컨트롤러와 복수의 뱅크들을 포함하는 종래의 메모리 서브 시스템의 블락도를 나타낸다. 도 1에 도시된 바와 같이 종래의 메모리 서브 시스템(10)은 컨트롤러(20)와 복수의 뱅크들(30-1~30-n; n은 자연수)을 포함하고, 상기 제1뱅크 (30-1)는 복수의 메모리 장치들(31-1과 32-1)을 포함하고, 상기 n뱅크(30-n)는 복수의 메모리 장치들(31-n과 32-n)을 포함한다.
상기 컨트롤러(20)와 복수의 뱅크들(30-1~30-n) 각각은 8비트(x8) 데이터 버스가 한 쌍으로 이루어진 16비트(x16) 데이터 버스(21)를 공유한다. 상기 컨트롤러(20)는 클락(CLK), 어드레스(ADD), 및 복수의 메모리 장치들(31-1~31-n, 및 32-1~32-n) 각각의 작동을 제어하기 위한 적어도 하나의 제어신호(CTRL)를 상기 복수의 메모리 장치들(31-1~31-n, 및 32-1~32-n) 각각으로 공급한다.
종래의 메모리 서브 시스템(10)에서, 뱅크들(30-1~30-n)의 수가 증가할수록, 상기 컨트롤러(20)가 상기 뱅크들(30-1~30-n)을 선택하기 위하여 출력해야할 뱅크 선택 신호들(BS#0~BS#n)의 수는 증가된 상기 뱅크들(30-1~30-n)의 수만큼 증가한다. 따라서 상기 뱅크 선택 신호들(BS#0~BS#n)을 출력하기 위한 상기 컨트롤러(20)의 핀들의 수는 증가하므로, 상기 컨트롤러(20)의 설계는 복잡해진다. 따라서, 상기 컨트롤러(20)를 포함하는 메모리 서브 시스템(10)의 설계도 복잡해진다.
또한, 복수의 메모리 장치들(31-n과 32-n) 각각이 플레쉬 메모리, 예컨대 플레쉬 EEPROM으로 구현되는 경우 상기 플레쉬 EEPROM의 내부 지연 시간(internal delay time)은 상대적으로 길다.
또한, 상기 복수의 메모리 장치들(31-n과 32-n) 각각은 자신의 작동 상태(예컨대, 기입(write) 작동 상태, 독출(read) 작동 상태, 소거(erase) 작동 상태, 또는 프로그램 작동 상태, 등)에 대한 신호를 상기 컨트롤러(20)로 출력할 수 있는 별도의 포트 (또는 별도의 핀)을 포함하고 있지 않다. 따라서, 상기 컨트롤러(20)는 상기 데이터 버스(21)를 통하여 상기 복수의 메모리 장치들(31-n과 32-n) 각각의 작동 상태에 대한 신호를 수신하여 상기 복수의 메모리 장치들(31-n과 32-n) 각각의 작동 상태를 파악하므로, 상기 컨트롤러(20)는 자신이 원하는 시간에 상기 복수의 메모리 장치들(31-n과 32-n) 각각의 작동 상태를 정확하게 체크 (check)할 수 없는 문제점이 있다.
즉, 상기 컨트롤러(20)가 상기 데이터 버스(21)를 통하여 복수의 뱅크들(30-1~30-n) 중에서 어느 하나의 뱅크와 데이터를 주고받는 동안에는 상기 데이터가 상기 데이터 버스(21) 상에 존재하기 때문에 상기 컨트롤러(20)는 상기 복수의 뱅크들(30-1~30-n) 중에서 어느 하나의 뱅크의 작동 상태를 체크할 수 없는 문제점이 있다.
따라서, 본 발명이 이루고자 하는 기술적인 과제는 상기 문제점을 해결하기 위하여 안출된 것으로서 뱅크 선택 신호들을 사용하지 않으므로 상기 뱅크 선택 신호들을 출력하기 위한 핀들의 수를 감소시키고 설계가 용이한 컨트롤러, 및 상기 컨트롤러를 포함하는 메모리 서브 시스템을 제공하는 것이다.
또한, 본 발명이 이루고자 하는 기술적인 과제는 엑세스 작동 중에 메모리 장치의 상태를 원하는 시간에 체크할 수 있는 컨트롤러와 상기 컨트롤러를 포함하는 메모리 서브 시스템을 제공하는 것이다.
또한, 본 발명이 이루고자 하는 기술적인 과제는 상기 메모리 시스템의 작동 방법을 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 컨트롤러는 복수의 뱅크들 각각의 ID를 저장하는 메모리와 상기 메모리로부터 상기 복수의 뱅크들 중에서 엑세스하고자 하는 뱅크의 ID를 읽어와서 출력한 후 이어서 명령을 출력하는 컨트롤 로직을 포함한다. 상기 명령은 읽기 명령, 쓰기 명령, 소거 명령, 프로그램 명령, 또는 상태 체크 명령을 포함한다.
상기 기술적 과제를 달성하기 위한 비휘발성 메모리 장치는 입력포트, 상기 비휘발성 메모리 장치의 ID를 저장하기 위한 레지스터, 및 상기 입력포트를 통하여 입력된 입력 ID와 상기 레지스터에 저장된 상기 ID를 수신하여 비교하고, 비교결과에 따라 제1제어신호를 발생하는 판단회로를 포함하며, 상기 입력포트는 상기 판단회로로부터 출력된 상기 제1제어신호에 응답하여 인에이블 또는 디스에이블된다.
상기 비휘발성 메모리 장치는 상기 ID를 상기 레지스터에 프로그래밍하기 위한 복수의 핀들을 더 포함한다. 상기 제1제어신호에 응답하여 디스에이블된 상기 입력포트는 상기 입력 ID 다음에 입력되는 다음 입력 ID를 상기 판단회로로 전송한다.
상기 비휘발성 메모리 장치는 상기 입력포트에 접속된 어드레스 디코더를 더 포함하며, 상기 제1제어신호에 응답하여 인에이블된 상기 입력포트는 입력된 어드레스를 상기 어드레스 디코더로 전송하고, 상기 어드레스 디코더는 클락에 기초하여 상기 어드레스가 상기 어드레스 디코더로 모두 입력되었는지의 여부를 판단하고, 상기 어드레스가 모두 입력된 경우 상기 어드레스 디코더는 상기 인에이블된 상기 입력포트를 디스에이블시키기 위한 제2제어신호를 상기 입력포트로 출력한다.
상기 비휘발성 메모리 장치는 상기 비휘발성 메모리 장치의 작동 상태를 나타내는 상태 체크 신호를 저장하는 상태 체크 레지스터를 더 포함하며, 상기 상태 체크 레지스터는 상기 입력포트를 통하여 입력된 상태 체크 명령에 응답하여 상기 상태 체크 신호를 출력한다.
상기 비휘발성 메모리 장치는 복수의 메모리 셀들을 포함하는 메모리 셀 어레이; 상기 입력포트를 통하여 입력된 어드레스를 디코딩하는 어드레스 디코더; 및 상기 복수의 메모리 셀들 중에서 상기 어드레스 디코더에 의하여 선택된 메모리 셀로 기입될 데이터 또는 상기 선택된 메모리 셀로부터 출력된 데이터를 버퍼링하기 위한 입출력 버퍼를 더 포함하며, 상기 상태 체크 레지스터는 상기 입출력 버퍼에 의하여 버퍼링되는 데이터에 기초하여 발생된 상기 상태 체크 신호를 수신한다. 상기 복수의 메모리 셀들 각각은 플레쉬 메모리이다.
상기 기술적 과제를 달성하기 위한 비휘발성 메모리 장치는 입력단, 제1출력단, 및 제2출력단을 포함하는 버퍼; 상기 버퍼의 제2출력단에 접속된 어드레스 디코더; 상기 비휘발성 메모리 장치의 ID를 저장하기 위한 레지스터; 및 상기 제1출력단과 상기 레지스터 사이에 접속되고, 상기 제1출력단을 통하여 입력된 입력 ID와 상기 레지스터에 저장된 상기 ID를 수신하여 비교하고, 비교결과에 따라 제1제어신호를 발생하는 판단회로를 포함하며, 상기 버퍼는 상기 판단회로로부터 출력된 상기 제1제어신호에 응답하여 상기 입력단과 상기 제2출력단을 스위칭한다.
상기 기술적 과제를 달성하기 위한 메모리 서브 시스템은 복수의 뱅크들; 상기 복수의 뱅크들 각각의 동작을 제어하기 위한 컨트롤러; 및 상기 복수의 뱅크들 각각과 상기 컨트롤러 사이에 접속된 제1버스를 포함하며, 상기 컨트롤러는 상기 제1버스를 통하여 상기 복수의 뱅크들 중에서 엑세스하고자하는 엑세스 뱅크로 명령을 출력하기 직전에 상기 엑세스 뱅크의 ID를 출력한다. 상기 명령은 읽기 명령, 쓰기 명령, 소거 명령, 프로그램 명령, 또는 상태 체크 명령이다.
상기 메모리 서브 시스템은 상기 복수의 뱅크들 각각과 상기 컨트롤러 사이에 접속된 제2버스를 더 포함하며, 상기 컨트롤러는 상기 제1버스를 통하여 상기 엑세스 뱅크로 상기 명령인 상태 체크 명령을 출력한 후, 상기 제2버스를 통하여 상기 엑세스 뱅크로부터 출력된 상태 출력 신호를 수신하여 상기 엑세스 뱅크의 상 태를 체크한다. 상기 메모리 서브 시스템은 메모리 모듈이다.
상기 기술적 과제를 달성하기 위한 복수의 뱅크들과 상기 복수의 뱅크들 각각의 동작을 제어하기 위한 컨트롤러를 포함하는 메모리 서브 시스템의 동작 방법은 상기 메모리 컨트롤러가 상기 복수의 뱅크들 중에서 제1뱅크의 ID를 상기 복수의 뱅크들로 출력하는 단계; 및 상기 메모리 컨트롤러가 상기 제1뱅크의 ID에 이어서 명령을 상기 복수의 뱅크들로 출력하는 단계를 포함한다.
상기 명령이 읽기 명령인 경우 상기 메모리 서브 시스템의 동작 방법은, 상기 메모리 컨트롤러가 어드레스, 상기 제1뱅크의 ID, 및 상태 체크 명령을 순차적으로 상기 복수의 뱅크들로 출력하는 단계; 상기 메모리 컨트롤러가 상기 제1뱅크로부터 출력된 상태 체크 출력에 응답하여 읽기 인에이블 명령을 상기 제1뱅크로 출력하는 단계; 및 상기 메모리 컨트롤러가 상기 제1뱅크로부터 출력되고 상기 어드레스에 상응하는 읽기 데이터를 수신하는 단계를 더 포함한다.
상기 명령이 쓰기 명령인 경우 상기 메모리 서브 시스템의 동작 방법은, 상기 메모리 컨트롤러가 어드레스, 쓰기 인에이블 명령, 쓰기 데이터, 상기 제1뱅크의 ID, 및 상태 체크 명령을 순차적으로 상기 복수의 뱅크들로 출력하는 단계를 더 포함한다.
상기 명령이 소거 명령인 경우 상기 메모리 서브 시스템의 동작 방법은 상기 메모리 컨트롤러가 어드레스, 소거 인에이블 명령, 상기 제1뱅크의 ID, 및 상태 체크 명령을 순차적으로 상기 복수의 뱅크들로 출력하는 단계를 더 포함한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다. 이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 2는 컨트롤러와 복수의 뱅크들을 포함하는 본 발명의 실시 예에 따른 메모리 서브 시스템의 블락도를 나타낸다.
도 2를 참조하면, 상기 메모리 서브 시스템(100)은 컨트롤러(110)와 복수의 뱅크들(130-1~130-n; n은 자연수, 예컨대, n=16)을 포함한다. 상기 복수의 뱅크들(130-1~130-16, 예컨대 "멀티-뱅크(multi-bank)라고도 한다) 각각은 복수의 메모리 장치들(131-n과 133-n, n은 1 내지 16)을 포함한다. 예컨대, 제1뱅크(130-1)는 복수의 메모리 장치들(131-1과 133-1)을 포함하고, 제16뱅크(130-16)는 복수의 메모리 장치들(131-16과 133-16)을 포함한다. 상기 메모리 서브 시스템(100)은 메모리 모듈(memory module)일 수 있다. 상기 메모리 모듈은 컴퓨터의 메인 보드(main board)에 장착될 수 있다.
각각의 메모리 장치(131-1~131-16, 및 133-1~133-16)의 구조는 실질적으로 동일하다. 상기 각각의 메모리 장치(131-1~131-16, 및 133-1~133-16)는 플레쉬 EEPROM(Electronically Erasable Programmable Read-Only Memory)과 같은 비휘발성 메모리 장치로 구현될 수 있다.
상기 컨트롤러(110)는 클락 인에이블 신호(CKE#)와 클락(CLK) 각각을 대응되는 버스(121과 122)를 통하여 상기 복수의 메모리 장치들(131-1~131-16, 및 133- 1~133-16) 각각으로 공급한다. 또한, 상기 컨트롤러(110)는 명령(CMD) 또는 어드레스(ADD)를 대응되는 a(a는 자연수, 예컨대, a=4)비트 버스(123)를 통하여 상기 복수의 메모리 장치들(131-1~131-16, 및 133-1~133-16) 각각으로 출력한다. 상기 명령은 읽기 명령(read command), 쓰기 명령(write command), 소거 명령(erase command), 프로그램 명령(program command), 또는 상태 체크 명령(status check command) 등을 포함한다.
상기 컨트롤러(110)는 b(b는 자연수, 예컨대 b=8)비트 버스(x8)가 한 쌍으로 이루진 데이터 버스(124)를 통하여 상기 복수의 메모리 장치들(131-1~131-16, 및 133-1~133-16) 각각과 데이터를 주고받을 수 있다.
또한, 상기 컨트롤러(110)는 버스(125)를 통하여 상기 복수의 메모리 장치들(131-1~131-16, 및 133-1~133-16) 각각으로부터 출력된 상태 체크 신호(SQ0 또는 SQ1)를 수신하고, 수신된 상태 체크 신호(SQ0 또는 SQ1)에 기초하여 상기 복수의 메모리 장치들(131-1~131-16, 및 133-1~133-16) 각각의 작동 상태를 판단(또는 체크)할 수 있다. 따라서 본 발명에 따른 상기 컨트롤러(110)는 상기 복수의 메모리 장치들(131-1~131-16, 및 133-1~133-16) 각각의 작동 상태를 원하는 시간에 체크할 수 있는 효과가 있다.
도 3은 도 2에 도시된 본 발명의 실시 예에 따른 컨트롤러의 블락도를 나타낸다. 도 2와 도 3을 참조하면, 상기 컨트롤러(110)는 명령(CMD) 또는 어드레스(ADD)를 발생하는 CPU(또는 프로세서; 301), 입출력버퍼(311)를 통하여 입출력되는 데이터(DQ0~15)를 임시로 저장하기 위한 휘발성 메모리(303), 클락(CLK)을 발생 하는 클락 발생기(305), 컨트롤 로직(307), 및 뱅크 ID 레지스터(309)를 포함한다. 상기 컨트롤러(110)는 클락 인에이블 신호(CKE#)를 출력하기 위한 회로(미도시)를 더 포함할 수 있다. 상기 휘발성 메모리(303)는 RAM으로 구현될 수 있다.
상기 뱅크 ID 레지스터(309)는 복수의 뱅크들(130-1~130-16) 각각의 ID (identification number)를 저장하기 위한 메모리의 기능을 수행한다. 각각의 ID는 c(c는 자연수, 예컨대, c=4)비트로 구성될 수 있다. 상기 컨트롤 로직(307)은 상기 뱅크 ID 레지스터(309)로부터 상기 복수의 뱅크들(130-1~130-16) 중에서 엑세스하고자 하는 뱅크의 ID를 읽어와서 이를 a비트 버스(123)를 통하여 출력한 후 바로 이어서 명령(CMD)을 상기 a비트 버스(123)를 통하여 출력한다.
상기 CPU(301) 또는 컨트롤 로직(307)은 파워-온 후 초기화 시 데이터 버스(124)가 접속된 입출력버퍼(311)를 통하여 상기 복수의 뱅크들(130-1~130-16) 각각을 구성하는 복수의 메모리 장치들(131-1~131-16, 및 133-1~133-16) 각각에 구현된 레지스터(도 4의 401)에 저장된 ID를 읽어와서 이들을 상기 뱅크 ID 레지스터 (309)에 저장할 수 있다.
그리고, 실제 엑세스(access) 시(예컨대, 기입, 독출, 소거, 프로그램, 또는 상태 체크시), 상기 컨트롤 로직(307)은 상기 뱅크 ID 레지스터(309)에 저장된 ID들 중에서 엑세스하고자 하는 뱅크의 ID를 읽어와서 이를 a비트 버스(123)로 출력한다.
상기 컨트롤러(110)는 호스트 인터페이스(313)를 더 포함할 수 있고, 상기 호스트는 상기 호스트 인터페이스(313)를 통하여 휘발성 메모리(303)와 데이터를 주고받을 수 있다.
도 4는 본 발명의 실시 예에 따른 메모리 장치의 블락도를 나타낸다. 도 4에 도시된 바와 같이, 플레시 메모리 장치(예컨대, NAND 플레쉬 메모리 장치)로 구현될 수 있는 상기 메모리 장치(131-1)는 상기 메모리 장치(131-1)의 ID를 저장하기 위한 레지스터(401), 입력포트(403), 및 판단회로(405)를 포함한다. 상기 ID는 상기 메모리 장치(131-1)와 다른 메모리 장치를 식별하기 위한 정보이면 족하다.
상기 메모리 장치(131-1)는 상기 ID를 상기 레지스터(401)에 프로그래밍(또는 설정(setting)) 위한 복수의 핀들(BI0~BI3)을 더 포함한다. 예컨대, 상기 복수의 핀들(BI0~BI3) 각각은 와이어(wire)로 구현될 수 있다. 도 4에서는 예로서 4개의 핀들(BI0~BI3)이 도시되어 있으나, 본 발명의 실시 예에 따른 메모리 서브 시스템(100)에 구현되는 뱅크들의 수에 따라 상기 핀들의 개수는 상기 4개보다 크거나 작을 수 있다.
상기 판단회로(405)는 상기 입력포트(403)를 통하여 입력된 입력 뱅크의 ID(예컨대, 컨트롤러(110)로부터 출력된 ID)와 상기 레지스터(401)에 저장된 상기 ID를 수신하여 비교하고, 비교결과에 따라 제1제어신호(HIT/MISS)를 발생한다. 상기 판단회로(405)는 상기 입력 뱅크의 ID를 (임시로) 저장하기 위한 레지스터(미도시)를 포함하는 디코더로 구현될 수 있다. 상기 입력포트(403)는 상기 제1제어신호(HIT/MISS)에 응답하여 인에이블(enable) 또는 디스에이블(disable)된다.
예컨대, 상기 입력 뱅크의 ID와 상기 레지스터(401)에 저장된 ID가 서로 동일한 경우, 상기 판단회로(405)는 제1레벨(예컨대, 하이 레벨)을 갖는 제1제어신 호(HIT)를 출력한다. 따라서, 상기 입력포트(403)는 상기 제1레벨(예컨대, 하이 레벨)을 갖는 상기 제1제어신호(HIT)에 응답하여 인에이블된다.
그러나, 상기 입력 뱅크의 ID와 상기 레지스터(401)에 저장된 상기 ID가 서로 다른 경우, 상기 판단회로(405)는 제2레벨(예컨대, 로우 레벨)을 갖는 제1제어신호(MISS)를 출력한다. 따라서, 상기 입력포트(403)는 상기 제2레벨(예컨대, 로우 레벨)을 갖는 상기 제1제어신호(MISS)에 응답하여 디스에이블된다.
예컨대, 상기 입력포트(403)가 인에이블된다는 것은 상기 입력포트(403)가 상기 입력포트(403)를 통하여 입력된 명령(CMD) 또는 어드레스(ADD)를 내부 회로(예컨대, 어드레스 디코더(407) 또는 상태 체크 레지스터(413))로 전송할 수 있는 상태를 의미하고, 상기 입력포트(403)가 디스에이블된다는 것은 상기 입력포트(403)가 상기 입력포트(403)를 통하여 입력된 상기 명령(CMD) 또는 상기 어드레스(ADD)를 상기 내부 회로(예컨대, 어드레스 디코더(407) 또는 상태 체크 레지스터(413))로 전송할 수 없는 상태를 의미한다.
상기 메모리 장치(131-1)는 어드레스 디코더(407), 메모리 어레이(409), 입출력 버퍼(411), 및 상태 체크 레지스터(413)를 더 포함할 수 있다.
상기 메모리 어레이(409)는 복수의 메모리 셀들(예컨대, 플레쉬 메모리 셀들)을 포함한다. 상기 어드레스 디코더(407)는 상기 복수의 메모리 셀들 중에서 적어도 하나의 메모리 셀을 선택하기 위하여 상기 입력포트(403)를 통하여 입력된 어드레스(ADD)를 디코딩한다.
상기 어드레스 디코더(407)의 오토 락 판단회로(415)는 클락(CLK)의 싸이클 에 기초하여 상기 입력포트(403)로부터 출력된 상기 어드레스(ADD)가 상기 어드레스 디코더(407)로 모두 입력되었는지의 여부를 판단하고, 상기 어드레스(ADD)가 모두 입력된 경우 상기 어드레스 디코더(407)는 인에이블된 상기 입력포트(403)를 디스에이블시키기 위한 제2제어신호(DIS)를 상기 입력포트(403)로 출력할 수 있다.
구현 예에 따라, 상기 오토 락 판단회로(415)는 상기 어드레스 디코더(407)의 외부에 구현될 수 있다.
상기 입출력 버퍼(411)는 상기 복수의 메모리 셀들 중에서 상기 어드레스 디코더(407)에 의하여 선택된 적어도 하나의 메모리 셀로 기입될 데이터 또는 상기 선택된 적어도 하나의 메모리 셀로부터 출력된 데이터를 버퍼링한다.
상기 상태 체크 레지스터(413)는 상기 메모리 장치(131-1)의 작동 상태를 나타내는 상태 체크 신호(또는 상태 체크 정보)를 저장한다. 상기 상태 체크 레지스터(413)는 상기 입력포트(403)를 통하여 입력된 상태 체크 명령(도 5 내지 도 7의 ST)에 응답하여 저장된 상태 체크 신호(SQ0)를 버스(125)를 통하여 컨트롤러(110)로 출력한다.
상기 입출력 버퍼(411)는 버퍼링되는 데이터에 기초하여 상기 상태 체크 신호를 발생하기 위한 체크 신호 발생회로(417)를 포함할 수도 있다. 구현 예에 따라 상기 체크 신호 발생회로(417)는 상기 입출력 버퍼(411)의 외부에 구현될 수도 있다. 상기 체크 신호 발생회로(417)는 버퍼링되는 병렬 데이터를 입력으로 하는 멀티플렉서로 구현될 수도 있다.
구현 예에 따라, 상기 메모리 장치(131-1)의 입력포트(403)는 명령(CMD) 또 는 어드레스(ADD)를 수신하기 위한 입력단, 제1출력단, 및 제2출력단을 포함하는 버퍼로 대체될 수 있다. 따라서 어드레스 디코더(407)는 상기 버퍼의 제2출력단에 접속된다. 판단회로(405)는 상기 버퍼의 상기 제1출력단과 레지스터(401) 사이에 접속되고, 상기 제1출력단을 통하여 입력된 입력 ID와 상기 레지스터(401)에 저장된 상기 ID를 수신하여 비교하고, 비교결과에 따라 발생한 제1제어신호(HIT/MISS)를 상기 버퍼(403)로 출력한다. 상기 버퍼는 상기 제1제어신호에 응답하여 상기 입력단과 상기 제2출력단을 접속(HIT일 때) 또는 차단(MISS일 때)한다.
도 5는 도 2에 도시된 본 발명의 실시 예에 따른 메모리 서브 시스템의 읽기 작동(read operation)을 설명하기 위한 타이밍 도이다.
우선, 도 2에 도시된 복수의 뱅크들(130-1~130-16) 각각을 구성하는 복수의 메모리 장치들(131-1~131-16, 및 133-1~133-16) 각각에 구현된 레지스터(401)에는 표 1과 같이 4비트 ID가 저장되어 있다고 가정한다.
또한, 동일한 뱅크를 구성하는 복수의 메모리 장치들 각각에 구현된 레지스터(401)에는 동일한 4비트 ID가 저장된다고 가정한다. 예컨대, 제1뱅크(130-1)를 구성하는 복수의 반도체 장치들(131-1과 133-1) 각각에 구현된 레지스터(401)에는 ID로서 "0000"이 저장될 수 있고, 제2뱅크(130-2)를 구성하는 복수의 반도체 장치들(131-2과 133-2) 각각에 구현된 레지스터(401)에는 ID로서 "0001"이 저장될 수 있고, 제16뱅크(130-16)를 구성하는 복수의 반도체 장치들(131-16과 133-16) 각각에 구현된 레지스터(401)에는 ID로서 "1111"이 저장될 수 있다. 예컨대, 데이터 "0"은 각 핀(예컨대, BI0~BI3)이 접지에 접속되어 있음을 의미하고, 데이터 "1"은 각 핀(예컨대, BI0~BI3)이 전원전압에 접속되어 있음을 의미한다. 경우에 따라 그 반대일 수도 있다.
Bank0 | Bank1 | Bank2 | Bank3 | Bank4 | Bank5 | Bank6 | Bank7 | Bank8 | Bank9 | Bank10 | Bank11 | Bank12 | Bank13 | Bank14 | Bank15 | |
BI0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
BI1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
BI2 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
Bi3 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
도 2 내지 도 5를 참조하여, 본 발명에 따른 메모리 서브 시스템에서 수행되는 읽기 작동을 설명하면 다음과 같다.
컨트롤러(110)가 로우 레벨(low level)을 갖는 클락 인에이블 신호(CKE#)를 버스(121)로 출력한 후 1싸이클(cycle)이 경과 되면, 복수의 뱅크들(130-1~130-16)의 복수의 메모리 장치들(131-1~131-16, 및 133-1~133-16) 각각의 입력포트(403)는 인에이블된다. 상기 컨트롤러(110)는 뱅크 ID 레지스터(309)로부터 제1뱅크(130-1)의 ID (ID0="0000")을 읽어와서 이를 a비트 버스(123)로 출력한다.
따라서, 복수의 메모리 장치들(131-1~131-16, 및 133-1~133-16) 각각에 구현된 판단회로(405)는 입력포트(403)를 통하여 입력된 제1뱅크(130-1)의 ID (ID0="0000")와 자신의 레지스터(401)에 저장된 ID를 서로 비교한다. 비교결과, 제1뱅크(130-1)를 구성하는 각각의 메모리 장치(131-1과 133-1)의 입력포트(403)만이 제1레벨을 갖는 제1제어신호(HIT)에 응답하여 인에이블된다.
상기 컨트롤러(110)는 읽기 명령(Read command; R)과 어드레스(ADD)를 순차적으로 a비트 버스(123)로 출력한다. 상기 제1뱅크(130-1)의 각각의 메모리 장치(131-1과 133-1)의 상기 입력포트(403)는 입력된 읽기 명령(R)을 대응되는 내부 회로(미도시)로 출력하고, 입력된 어드레스(ADD)를 어드레스 디코더(407)로 출력한다.
상기 어드레스 디코더(407)의 오토 락 판단 회로(415)는 상기 어드레스(ADD)가 모두 입력되었는지의 여부를 클락(CLK)의 싸이클 수에 기초하여 판단하고 상기 어드레스(ADD)가 모두 입력된 경우 인에이블된 입력포트(403)를 디스에이블시키기 위한 제2제어신호(DIS)를 상기 입력포트(403)로 출력한다.
따라서, 상기 입력포트(403)는 더 이상 추가적인 명령이나 어드레스를 어드레스 디코더(407)로 전송하지 않는다. 이를 오토 뱅크 락(auto bank lock) 이라 한다. 이때, 상기 입력포트(403)와 판단회로(405) 사이의 신호 경로를 제외하고, 상기 입력포트(403)와 상기 어드레스 디코더(407) 사이의 신호 경로는 차단된다. 따라서 컨트롤러(110)로부터 출력된 ID는 언제든지 판단회로(405)로 입력될 수 있다.
상기 오토 뱅크 락은 메모리 어레이(409)로부터 입출력버퍼(411)로 출력된 데이터의 출력이 완료될 때(tINT-Read)까지 유지된다.
상기 제1뱅크(130-1)의 각각의 메모리 장치(131-1과 133-1)가 데이터를 출력할 준비가 완료되었는지의 여부를 판단하기 위하여, 상기 컨트롤러(110)는 상태 체크 명령(ST)을 출력하기 전에 제1뱅크의 ID(ID0="0000")를 a비트 버스(123)로 출력한다. 이 경우에도, 복수의 메모리 장치들(131-1~131-16, 및 133-1~133-16) 각각에 구현된 판단회로(405)는 입력포트(403)를 통하여 입력된 제1뱅크의 ID(ID0="0000")와 자신의 레지스터(401)에 저장된 ID를 서로 비트 단위로 비교한다.
상기 제1뱅크(130-1)의 각각의 메모리 장치(131-1과 133-1)의 입력포트(403)만이 인에이블되어 있으므로, 상기 각각의 메모리 장치(131-1과 133-1)의 상기 입력포트(403)는 상기 상태 체크 명령(ST)을 상태 체크 레지스터(413)로 출력할 수 있다.
따라서, 데이터를 출력할 준비가 완료된 경우 상기 제1뱅크(130-1)의 각각의 메모리 장치(131-1과 133-1)의 상태 체크 레지스터(413)는 각각의 상태 체크 신호(SQ0와 SQ1)를 버스(125)를 통하여 컨트롤러(110)로 출력할 수 있다. 상기 각각의 상태 체크 신호(SQ0와 SQ1)는 데이터 "1" 또는 데이터"0"일 수 있으며, 데이터의 출력이 완료된 경우 각각의 상태 체크 신호(SQ0와 SQ1)는 데이터 "1"이고, 그렇지 않은 경우 상기 각각의 상태 체크 신호(SQ0와 SQ1)는 데이터 "0"일 수 있다.
구현 예에 따라. 각각의 상태 체크 신호(SQ0와 SQ1)는 소정의 시간 차이를 두고 버스(125)를 통하여 컨트롤러(110)로 전송될 수 있다.
상기 컨트롤러(110)는 상태 체크 신호(SQ0 또는 SQ1)에 응답하여 읽기 인에이블 명령(RE)을 a비트 버스(123)로 출력한다. 따라서, 상기 제1뱅크(130-1)의 각각의 메모리 장치(131-1과 133-1)는 읽기 인에이블 명령(RE)에 응답하여 입출력버퍼(411)에 저장되어 있는 데이터를 데이터 버스(124)를 통하여 상기 컨트롤러(110)로 출력한다. 상기 데이터는 휘발성 메모리(303)에 저장된 후 호스트 인터페이스(313)를 통하여 호스트로 출력될 수 있다.
상기 컨트롤러(110)는 제1뱅크(130-1)의 오토 뱅크 락이 완료된 후, 나머지 뱅크들(130-2~130-16) 중에서 어느 하나의 뱅크의 ID를 a비트 버스(123)로 출력할 수 있다. 따라서 상기 어느 하나의 뱅크에 대한 엑세스가 수행될 수 있다. 즉, 본 발명의 실시 예에 따른 메모리 서브 시스템(100)은 도 5에 도시된 바와 같이 뱅크 인터리빙(bank interleaving) 읽기 작동을 수행할 수 있다.
도 6은 도 2에 도시된 본 발명의 실시 예에 따른 시스템의 쓰기 작동(write opeartion)을 설명하기 위한 타이밍 도이다. 도 2 내지 도 4, 및 도 6을 참조하여 본 발명에 따른 메모리 서브 시스템(100)에서 수행되는 쓰기 작동을 설명하면 다음과 같다.
컨트롤러(110)가 로우 레벨을 갖는 클락 인에이블 신호(CKE#)를 버스(121)로 출력한 후 1싸이클이 경과 되면, 복수의 메모리 장치들(131-1~131-16, 및 133-1~133-16) 각각의 입력포트(403)는 인에이블된다. 상기 컨트롤러(110)는 뱅크 ID 레지스터(309)로부터 제1뱅크(130-1)의 ID(ID0="0000")을 읽어와서 이를 a비트 버스(123)로 출력한다.
따라서, 상기 복수의 메모리 장치들(131-1~131-16, 및 133-1~133-16) 각각의 판단회로(405)는 상기 입력포트(403)를 통하여 입력된 제1뱅크(130-1)의 ID (ID0="0000")와 자신의 레지스터(401)에 저장된 ID를 서로 비교한다. 비교결과, 상기 각각의 메모리 장치(131-1과 133-1)의 상기 입력포트(403)만이 제1레벨을 갖는 제1제어신호(HIT)에 응답하여 인에이블된다.
상기 컨트롤러(110)는 쓰기 명령(W)과 어드레스(ADD)를 순차적으로 a비트 버스(123)로 출력한다. 상기 제1뱅크(130-1)의 각각의 메모리 장치(131-1과 133-1)의 상기 입력포트(403)는 입력된 쓰기 명령(W)을 대응되는 내부 회로(미도시)로 출력하고 입력된 어드레스(ADD)를 어드레스 디코더(407)로 출력한다.
상기 어드레스 디코더(407)의 오토 락 판단 회로(415)는 상기 어드레스(ADD)가 모두 입력되었는지의 여부를 클락(CLK)의 싸이클에 기초하여 판단하고 상기 어드레스(ADD)가 모두 입력된 경우 인에이블된 입력포트(403)를 디스에이블시키기 위한 제2제어신호(DIS)를 상기 입력포트(403)로 출력한다.
오토 뱅크 락 기간 동안, 상기 입력포트(403)와 판단회로(405) 사이의 신호 경로를 제외하고 상기 입력포트(403)와 상기 어드레스 디코더(407) 사이의 신호 경로는 차단된다. 상기 컨트롤러(110)는 기입 인에이블 명령(WE)을 a비트 버스(123)로 출력하고, 기입될 기입 데이터를 데이터 버스(124)로 출력한다.
상기 제1뱅크(130-1)의 각각의 메모리 장치(131-1과 133-1)의 입출력버퍼 (411)로 기입 데이터가 모두 입력된 경우, 상기 입출력버퍼(411)는 입출력버퍼 (411)를 디스에이블시킬 수 있다.
상기 오토 뱅크 락은 기입 데이터가 입출력버퍼(411)로 모두 입력된 후, 또는 상기 기입 데이터가 메모리 셀 어레이(409)로 모두 저장될 때(iINT-Write)까지 유지된다.
상기 컨트롤러(110)는 기입 데이터가 모두 입출력버퍼(411) 또는 메모리 셀 어레이(409)로 기입되었는지의 여부를 판단하기 위하여 상태 체크 명령(ST)를 a비트 버스(123)로 출력하기 전에 제1뱅크(130-1)의 ID를 a비트 버스(123)로 출력한다.
제1뱅크(130-1)의 각각의 메모리 장치(131-1과 133-1)의 상기 입력포트(403)만이 인에이블되어 있으므로, 상기 각각의 메모리 장치(131-1과 133-1)의 상기 입력포트(403)는 상기 컨트롤러(110)로부터 출력된 상기 상태 체크 명령(ST)을 상태 체크 레지스터(413)로 출력할 수 있다.
따라서, 상기 제1뱅크(130-1)의 각각의 메모리 장치(131-1과 133-1)의 상태 체크 레지스터(413)는 기입 데이터가 모두 입출력버퍼(411) 또는 메모리 셀 어레이(409)로 기입된 경우 각각의 상태 체크 신호(SQ0와 SQ1)를 버스(125)를 통하여 컨트롤러(110)로 출력할 수 있다. 그러므로, 상기 컨트롤러(110)는 상기 각각의 상태 체크 신호(SQ0와 SQ1)에 기초하여 기입 데이터의 기입 완료 여부를 판단할 수 있다.
상기 컨트롤러(110)는 제1뱅크(130-1)에 대한 기입 데이터의 기입이 완료된 후, 나머지 뱅크들(130-2~130-16) 중에서 어느 하나의 뱅크의 ID를 뱅크 ID 레지스터(309)로부터 읽어와서 이를 a비트 버스(123)로 출력할 수 있다. 따라서 상기 어느 하나의 뱅크에 대한 엑세스가 수행될 수 있다. 즉, 본 발명의 실시 예에 따른 메모리 서브 시스템(100)은 도 6에 도시된 바와 같이 뱅크 인터리빙(interleaving) 쓰기 작동을 수행할 수 있다.
도 7은 도 2에 도시된 본 발명의 실시 예에 따른 시스템의 소거 작동(erase operation)을 설명하기 위한 타이밍 도이다. 도 2 내지 도 4, 및 도 7을 참조하여, 본 발명의 실시 예에 따른 메모리 서브 시스템에서 수행되는 소거 작동을 설명하면 다음과 같다.
상기 컨트롤러(110)는 뱅크 ID 레지스터(309)로부터 제1뱅크의 ID (ID0="0000")을 읽어와서 이를 a비트 버스(123)로 출력한다.
따라서, 복수의 메모리 장치들(131-1~131-16, 및 133-1~133-16) 각각의 판단회로(405)는 입력포트(403)를 통하여 입력된 제1뱅크(130-1)의 ID(ID0="0000")와 자신의 레지스터(401)에 저장된 ID를 서로 비교한다. 비교결과, 각각의 메모리 장치(131-1과 133-1)의 입력포트(403)만이 제1레벨을 갖는 제1제어신호(HIT)에 응답하여 인에이블된다.
상기 컨트롤러(110)는 소거 명령(E)과 어드레스(ADD)를 순차적으로 a비트 버스(123)로 출력한다. 상기 각각의 메모리 장치(131-1과 133-1)의 입력포트(403)는 입력된 소거 명령(E)을 대응되는 내부 회로(미도시)로 출력하고 입력된 어드레스(ADD)를 어드레스 디코더(407)로 출력한다.
상기 어드레스 디코더(407)의 오토 락 판단 회로(415)는 소거 인에이블 명령(EE)이 입력된 후 오토 뱅크 락을 수행한다. 각각의 메모리 장치(131-1과 133-1)에 대한 데이터의 소거가 완료될 즈음에 상기 컨트롤러(110)는 상태 체크 명령(ST)을 출력하기 전에 제1뱅크(130-1)의 ID(ID0="0000")를 a비트 버스(123)로 출력한다. 이 경우에도, 복수의 메모리 장치들(131-1~131-16, 및 133-1~133-16) 각각의 판단회로(405)는 입력포트(403)를 통하여 입력된 제1뱅크의 ID(ID0="0000")와 자신의 레지스터(401)에 저장된 ID를 서로 비교한다.
각각의 메모리 장치(131-1과 133-1)의 입력포트(403)만이 인에이블되어 있으므로, 상기 입력포트(403)는 상기 상태 체크 명령(ST)을 상태 체크 레지스터(413)로 출력할 수 있다.
따라서, 상기 각각의 메모리 장치(131-1과 133-1)의 상태 체크 레지스터(413)는 소거 완료를 나타내는 상태 체크 신호(SQ0와 SQ1)를 버스(125)를 통하여 컨트롤러(110)로 출력할 수 있다.
도 8은 도 2에 도시된 본 발명의 실시 예에 따른 메모리 서브 시스템을 포함하는 메인 보드의 블락도를 나타낸다. 도 8에 도시된 메인 보드(200)는 복수의 슬롯들(201, 203, 및 205)과 PC칩셋(207)을 포함한다. 상기 복수의 슬롯들(201, 203, 및 205) 각각에는 본 발명의 실시 예에 따른 메모리 서브 시스템(100)이 삽입될 수 있다. 컴퓨터의 작동을 전반적으로 제어할 수 있는 상기 PC칩셋(207)은 상기 복수의 슬롯들(201, 203, 및 205) 각각에 삽입된 상기 메모리 서브 시스템(100)의 작동, 예컨대, 읽기 작동, 쓰기 작작, 소거 작동, 프로그램 작동, 또는 상태 체크 작동을 제어할 수 있다. 컴퓨터는 본 발명의 실시 예에 따른 상기 메인 보드(200)를 포함한다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 컨트롤러는 뱅크 선택 신호들을 사용하지 않으므로 상기 뱅크 선택 신호들을 출력하기 위한 별도의 핀들을 포함하지 않는다. 따라서 상기 컨트롤러의 전체 핀들의 수가 감소하는 효과가 있다.
또한, 본 발명의 실시 예에 따른 상기 컨트롤러의 설계는 용이하고, 상기 컨트롤러를 포함하는 메모리 서브 시스템의 설계도 용이하다. 따라서 설계 비용을 감소시킬 수 있는 효과가 있다.
본 발명의 실시 예에 따른 메모리 서브 시스템은 실제 엑세스 시 원하는 시간에 복수의 뱅크들 각각을 구성하는 복수의 메모리 장치들 각각의 작동 상태를 용이하게 체크할 수 있는 효과가 있다.
Claims (25)
- 복수의 뱅크들 각각의 ID를 저장하는 메모리; 및상기 메모리로부터 상기 복수의 뱅크들 중에서 엑세스하고자 하는 뱅크의 ID를 읽어와서 출력한 후 이어서 명령을 출력하는 컨트롤 로직을 포함하는 컨트롤러.
- 제1항에 있어서, 상기 명령은 읽기 명령, 쓰기 명령, 소거 명령, 프로그램 명령, 또는 상태 체크 명령인 컨트롤러.
- 제1항에 있어서, 상기 컨트롤 로직은 파워-온 후 초기화 시 상기 복수의 뱅크들 각각을 구성하는 복수의 칩들 각각에 구현된 레지스터에 저장된 상기 ID를 읽어와서 상기 메모리에 저장하는 컨트롤러.
- 비휘발성 메모리 장치에 있어서,입력포트;상기 비휘발성 메모리 장치의 ID를 저장하기 위한 레지스터; 및상기 입력포트를 통하여 입력된 입력 ID와 상기 레지스터에 저장된 상기 ID를 수신하여 비교하고, 비교결과에 따라 제1제어신호를 발생하는 판단회로를 포함하며,상기 입력포트는 상기 판단 회로로부터 출력된 상기 제1제어신호에 응답하여 인에이블 또는 디스에이블되는 비휘발성 메모리 장치.
- 청구항 5은(는) 설정등록료 납부시 포기되었습니다.제4항에 있어서, 상기 비휘발성 메모리 장치는,상기 ID를 상기 레지스터에 프로그래밍하기 위한 복수의 핀들을 더 포함하는 비휘발성 메모리 장치.
- 청구항 6은(는) 설정등록료 납부시 포기되었습니다.제4항에 있어서, 상기 제1제어신호에 응답하여 디스에이블된 상기 입력포트는 상기 입력 ID 다음에 입력되는 다음 입력 ID를 상기 판단회로로 전송하는 비휘발성 메모리 장치.
- 제4항에 있어서, 상기 비휘발성 메모리 장치는,상기 입력포트에 접속된 어드레스 디코더를 더 포함하며,상기 제1제어신호에 응답하여 인에이블된 상기 입력포트는 입력된 어드레스를 상기 어드레스 디코더로 전송하고,상기 어드레스 디코더는 클락에 기초하여 상기 어드레스가 상기 어드레스 디코더로 모두 입력되었는지의 여부를 판단하고, 상기 어드레스가 모두 입력된 경우 상기 어드레스 디코더는 상기 인에이블된 상기 입력포트를 디스에이블시키기 위한 제2제어신호를 상기 입력포트로 출력하는 비휘발성 메모리 장치.
- 제4항에 있어서, 상기 비휘발성 메모리 장치는,상기 비휘발성 메모리 장치의 동작 상태를 나타내는 상태 체크 신호를 저장하는 상태 체크 레지스터를 더 포함하며,상기 상태 체크 레지스터는 상기 입력포트를 통하여 입력된 상태 체크 명령에 응답하여 상기 상태 체크 신호를 외부로 출력하는 비휘발성 메모리 장치.
- 청구항 9은(는) 설정등록료 납부시 포기되었습니다.제8항에 있어서, 상기 비휘발성 메모리 장치는,복수의 메모리 셀들을 포함하는 메모리 어레이;상기 입력포트를 통하여 입력된 어드레스를 디코딩하는 어드레스 디코더; 및상기 복수의 메모리 셀들 중에서 상기 어드레스 디코더에 의하여 선택된 메모리 셀로 기입될 데이터 또는 상기 선택된 메모리 셀로부터 출력된 데이터를 버퍼링하기 위한 입출력 버퍼를 더 포함하며,상기 상태 체크 레지스터는 상기 입출력 버퍼에 의하여 버퍼링되는 데이터에 기초하여 발생된 상기 상태 체크 신호를 수신하는 비휘발성 메모리 장치.
- 청구항 10은(는) 설정등록료 납부시 포기되었습니다.제9항에 있어서, 상기 복수의 메모리 셀들 각각은 플레쉬 메모리인 비휘발성 메모리 장치.
- 비휘발성 메모리 장치에 있어서,입력단, 제1출력단, 및 제2출력단을 포함하는 버퍼;상기 버퍼의 제2출력단에 접속된 어드레스 디코더;상기 비휘발성 메모리 장치의 ID를 저장하기 위한 레지스터; 및상기 제1출력단과 상기 레지스터 사이에 접속되고, 상기 제1출력단을 통하여 입력된 입력 ID와 상기 레지스터에 저장된 상기 ID를 수신하여 비교하고, 비교결과에 따라 제1제어신호를 발생하는 판단회로를 포함하며,상기 버퍼는 상기 판단회로로부터 출력된 상기 제1제어신호에 응답하여 상기 입력단과 상기 제2출력단을 스위칭하는 비휘발성 메모리 장치.
- 제11항에 있어서, 상기 비휘발성 메모리 장치는,상기 제2출력단에 접속되고, 상기 비휘발성 메모리 장치의 동작 상태를 나타내는 상태 체크 신호를 저장하는 상태 체크 레지스터를 더 포함하며,상기 상태 체크 레지스터는 상기 입력단을 통하여 입력된 상태 체크 명령에 응답하여 상기 상태 체크 신호를 출력하는 비휘발성 메모리 장치.
- 청구항 13은(는) 설정등록료 납부시 포기되었습니다.제12항에 있어서, 상기 비휘발성 메모리 장치는,복수의 메모리 셀들을 포함하는 메모리 셀 어레이; 및상기 복수의 메모리 셀들 중에서 상기 입력단을 통하여 입력되는 어드레스를 디코딩하는 상기 어드레스 디코더에 의하여 선택된 메모리 셀로 기입될 데이터 또는 상기 선택된 메모리 셀로부터 출력된 데이터를 버퍼링하기 위한 입출력 버퍼를 더 포함하며,상기 상태 체크 레지스터는 상기 입출력 버퍼에 의하여 버퍼링되는 데이터에 기초하여 발생된 상기 상태 체크 신호를 수신하는 비휘발성 메모리 장치.
- 복수의 뱅크들;상기 복수의 뱅크들 각각의 동작을 제어하기 위한 컨트롤러; 및상기 복수의 뱅크들 각각과 상기 컨트롤러 사이에 접속된 제1버스를 포함하며,상기 컨트롤러는,상기 복수의 뱅크들 각각의 ID를 저장하는 메모리; 및상기 메모리에 저장된 상기 복수의 뱅크들 중에서 엑세스하고자 하는 엑세스 뱅크의 ID를 읽어와서 이를 상기 제1버스로 출력한 후 이어서 명령을 상기 제1버스로 출력하는 컨트롤 로직을 포함하는 메모리 서브 시스템.
- 제14항에 있어서, 상기 명령은 읽기 명령, 쓰기 명령, 소거 명령, 프로그램 명령, 또는 상태 체크 명령인 메모리 서브 시스템.
- 청구항 16은(는) 설정등록료 납부시 포기되었습니다.제14항에 있어서, 상기 메모리 서브 시스템은,상기 복수의 뱅크들 각각과 상기 컨트롤러 사이에 접속된 제2버스를 더 포함하며,상기 컨트롤러는 상기 제1버스를 통하여 상기 엑세스 뱅크로 상기 명령인 상태 체크 명령을 출력한 후, 상기 제2버스를 통하여 상기 엑세스 뱅크로부터 출력된 상태 출력 신호를 수신하여 상기 엑세스 뱅크의 상태를 체크하는 메모리 서브 시스템.
- 삭제
- 제14항에 있어서, 상기 메모리 서브 시스템은,상기 복수의 뱅크들 각각과 상기 컨트롤러 사이에 접속된 데이터 버스를 더 포함하며,파워 온(power on) 후 초기화 시, 상기 컨트롤 로직은 상기 복수의 뱅크들 각각을 구성하는 복수의 칩들 각각에 구현된 레지스터에 저장된 상기 ID를 상기 데이터 버스를 통하여 읽어와서 이를 상기 메모리에 저장하는 메모리 서브 시스템.
- 청구항 19은(는) 설정등록료 납부시 포기되었습니다.제18항에 있어서, 상기 복수의 뱅크들 중에서 동일한 뱅크를 구성하는 상기 복수의 칩들 각각에 구현된 상기 레지스터에 저장된 상기 ID는 서로 동일한 값을 갖는 메모리 서브 시스템.
- 제14항에 있어서, 상기 메모리 서브 시스템은 메모리 모듈인 메모리 서브 시스템.
- 제14항에 있어서, 상기 엑세스 뱅크를 구성하는 복수의 칩들 각각은,상기 제1버스에 접속된 입력포트;상기 엑세스 뱅크의 ID를 저장하기 위한 레지스터; 및상기 입력포트를 통하여 입력된 상기 엑세스 뱅크의 ID와 상기 레지스터에 저장된 상기 ID를 수신하여 비교하고, 비교결과에 따라 제1제어신호를 발생하는 판단회로를 포함하며,상기 입력포트는 상기 제1제어신호에 응답하여 인에이블 또는 디스에이블되는 메모리 서브 시스템.
- 복수의 뱅크들과 상기 복수의 뱅크들 각각의 동작을 제어하기 위한 컨트롤러를 포함하는 메모리 서브 시스템의 작동 방법에 있어서,상기 메모리 컨트롤러가 상기 복수의 뱅크들 중에서 제1뱅크의 ID를 상기 복수의 뱅크들로 출력하는 단계; 및상기 메모리 컨트롤러가 상기 제1뱅크의 ID에 이어서 명령을 상기 복수의 뱅크들로 출력하는 단계를 포함하며,상기 메모리 컨트롤러는,상기 복수의 뱅크들 각각의 ID를 저장하는 메모리; 및상기 메모리로부터 상기 복수의 뱅크들 중에서 엑세스하고자 하는 상기 제1뱅크의 ID를 읽어와서 이를 상기 복수의 뱅크들로 출력한 후 상기 명령을 상기 복수의 뱅크들로 출력하는 컨트롤 로직을 포함하는 메모리 서브 시스템의 작동 방법.
- 청구항 23은(는) 설정등록료 납부시 포기되었습니다.제22항에 있어서, 상기 명령이 읽기 명령인 경우 상기 메모리 서브 시스템의 작동 방법은,상기 메모리 컨트롤러가 어드레스, 상기 제1뱅크의 ID, 및 상태 체크 명령을 상기 복수의 뱅크들로 출력하는 단계;상기 메모리 컨트롤러가 상기 제1뱅크로부터 출력된 상태 체크 출력에 응답하여 읽기 인에이블 명령을 상기 제1뱅크로 출력하는 단계; 및상기 메모리 컨트롤러가 상기 제1뱅크로부터 출력되고 상기 어드레스에 상응하는 읽기 데이터를 수신하는 단계를 더 포함하는 메모리 서브 시스템의 작동 방법.
- 청구항 24은(는) 설정등록료 납부시 포기되었습니다.제22항에 있어서, 상기 명령이 쓰기 명령인 경우 상기 메모리 서브 시스템의 작동 방법은,상기 메모리 컨트롤러가 어드레스, 쓰기 인에이블 명령, 쓰기 데이터, 상기 제1뱅크의 ID, 및 상태 체크 명령을 상기 복수의 뱅크들로 출력하는 단계를 더 포함하는 메모리 서브 시스템의 작동 방법.
- 청구항 25은(는) 설정등록료 납부시 포기되었습니다.제22항에 있어서, 상기 명령이 소거 명령인 경우 상기 메모리 서브 시스템의 작동 방법은,상기 메모리 컨트롤러가 어드레스, 소거 인에이블 명령, 상기 제1뱅크의 ID, 및 상태 체크 명령을 상기 복수의 뱅크들로 출력하는 단계를 더 포함하는 메모리 서브 시스템의 작동 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070018084A KR100888261B1 (ko) | 2007-02-22 | 2007-02-22 | 뱅크 id를 이용할 수 있는 메모리 서브 시스템과 그 방법 |
US11/844,472 US7873753B2 (en) | 2007-02-22 | 2007-08-24 | Memory subsystem capable of accessing a plurality of memory bank identifications and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070018084A KR100888261B1 (ko) | 2007-02-22 | 2007-02-22 | 뱅크 id를 이용할 수 있는 메모리 서브 시스템과 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080078248A KR20080078248A (ko) | 2008-08-27 |
KR100888261B1 true KR100888261B1 (ko) | 2009-03-11 |
Family
ID=39717212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070018084A KR100888261B1 (ko) | 2007-02-22 | 2007-02-22 | 뱅크 id를 이용할 수 있는 메모리 서브 시스템과 그 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7873753B2 (ko) |
KR (1) | KR100888261B1 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101075495B1 (ko) * | 2010-07-06 | 2011-10-21 | 주식회사 하이닉스반도체 | 반도체 모듈에 포함된 다수의 반도체 장치를 선택하는 회로 및 그 동작방법 |
US8650414B2 (en) * | 2010-09-24 | 2014-02-11 | Intel Corporation | Logic device having status and control registers for recording the status and controlling the operation of memory slots such that each memory slot is identified using a bus address and port number |
US9116634B2 (en) * | 2011-06-10 | 2015-08-25 | International Business Machines Corporation | Configure storage class memory command |
KR20140027859A (ko) * | 2012-08-27 | 2014-03-07 | 삼성전자주식회사 | 호스트 장치 및 이를 포함하는 시스템 |
CN104426770A (zh) * | 2013-09-09 | 2015-03-18 | 中兴通讯股份有限公司 | 路由查找方法及装置、B-Tree树结构的构建方法 |
US9959078B2 (en) * | 2015-01-30 | 2018-05-01 | Sandisk Technologies Llc | Multi-die rolling status mode for non-volatile storage |
US10114690B2 (en) | 2015-02-13 | 2018-10-30 | Sandisk Technologies Llc | Multi-die status mode for non-volatile storage |
CN109445698B (zh) * | 2018-10-22 | 2022-04-05 | 深圳市硅格半导体有限公司 | 查询多片flash状态的方法、装置及计算机可读存储介质 |
US11030128B2 (en) * | 2019-08-05 | 2021-06-08 | Cypress Semiconductor Corporation | Multi-ported nonvolatile memory device with bank allocation and related systems and methods |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5390308A (en) | 1992-04-15 | 1995-02-14 | Rambus, Inc. | Method and apparatus for address mapping of dynamic random access memory |
US5530837A (en) | 1994-03-28 | 1996-06-25 | Hewlett-Packard Co. | Methods and apparatus for interleaving memory transactions into an arbitrary number of banks |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5138438A (en) * | 1987-06-24 | 1992-08-11 | Akita Electronics Co. Ltd. | Lead connections means for stacked tab packaged IC chips |
TW261687B (ko) * | 1991-11-26 | 1995-11-01 | Hitachi Seisakusyo Kk | |
US6026466A (en) * | 1997-06-16 | 2000-02-15 | Integrated Silicon Solution, Inc. | Multiple row address strobe DRAM architecture to improve bandwidth |
JP3980807B2 (ja) * | 2000-03-27 | 2007-09-26 | 株式会社東芝 | 半導体装置及び半導体モジュール |
US6535450B1 (en) * | 2000-08-18 | 2003-03-18 | Micron Technology, Inc. | Method for selecting one or a bank of memory devices |
JP2003036681A (ja) * | 2001-07-23 | 2003-02-07 | Hitachi Ltd | 不揮発性記憶装置 |
US7461213B2 (en) * | 2002-10-08 | 2008-12-02 | Rmi Corporation | Advanced processor system using request, data, snoop, and response rings |
JP4322021B2 (ja) | 2003-02-06 | 2009-08-26 | 株式会社ルネサステクノロジ | メモリカード |
US7085180B2 (en) * | 2004-02-12 | 2006-08-01 | International Business Machines Corporation | Method and structure for enabling a redundancy allocation during a multi-bank operation |
JP4515793B2 (ja) | 2004-03-11 | 2010-08-04 | 株式会社東芝 | メモリカード装置およびメモリカード制御方法 |
-
2007
- 2007-02-22 KR KR1020070018084A patent/KR100888261B1/ko not_active IP Right Cessation
- 2007-08-24 US US11/844,472 patent/US7873753B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5390308A (en) | 1992-04-15 | 1995-02-14 | Rambus, Inc. | Method and apparatus for address mapping of dynamic random access memory |
US5530837A (en) | 1994-03-28 | 1996-06-25 | Hewlett-Packard Co. | Methods and apparatus for interleaving memory transactions into an arbitrary number of banks |
Also Published As
Publication number | Publication date |
---|---|
US20080209077A1 (en) | 2008-08-28 |
KR20080078248A (ko) | 2008-08-27 |
US7873753B2 (en) | 2011-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100888261B1 (ko) | 뱅크 id를 이용할 수 있는 메모리 서브 시스템과 그 방법 | |
US7843758B2 (en) | Multi-chip package flash memory device and method for reading status data therefrom | |
US7620768B2 (en) | Multiple erase block tagging in a flash memory device | |
KR100851545B1 (ko) | 커맨드 및 어드레스 핀을 갖는 낸드 플래시 메모리 및그것을 포함한 플래시 메모리 시스템 | |
US8095834B2 (en) | Macro and command execution from memory array | |
US7802157B2 (en) | Test mode for multi-chip integrated circuit packages | |
US10761969B2 (en) | Nonvolatile memory device and operation method thereof | |
US20090019325A1 (en) | Memory device, supporting method for error correction thereof, supporting program thereof, memory card, circuit board and electronic apparatus | |
JP3310011B2 (ja) | 半導体メモリおよびこれを使用した半導体メモリボード | |
US11238949B2 (en) | Memory devices configured to test data path integrity | |
KR20080073544A (ko) | 메모리 카드 및 그것을 포함한 메모리 시스템 | |
US20140173173A1 (en) | Method, device, and system including configurable bit-per-cell capability | |
US8250418B2 (en) | Test mode for parallel load of address dependent data to enable loading of desired data backgrounds | |
US20020178414A1 (en) | Synchronous flash memory with test code input | |
USRE42551E1 (en) | Block locking apparatus for flash memory | |
US7110305B2 (en) | Nonvolatile semiconductor memory device for outputting a status signal having an output data width wider than an input data width | |
KR100866624B1 (ko) | 둘 이상의 비휘발성 메모리 장치들을 제어하는 방법 및 그장치 | |
JP4582551B2 (ja) | 半導体装置およびデータ書き込み方法 | |
KR100881196B1 (ko) | 선택 가능한 두개의 비트 구조를 갖는 메모리 장치 및 이를구비하는 시스템 | |
KR100596821B1 (ko) | 멀티 프로세서 기능을 지원하는 메모리 장치 | |
US20200319805A1 (en) | Method for Writing Non-Volatile Memory of System-on-Chip | |
KR100903694B1 (ko) | 반도체 장치 및 데이터 써넣기 방법 | |
CN109545262B (zh) | 半导体存储装置和用于控制半导体存储装置的方法 | |
JP4209708B2 (ja) | 半導体記憶装置 | |
TWI656535B (zh) | 系統晶片之非揮發性記憶體之寫入方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20120229 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20130228 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |