KR20130048821A - 반도체 시스템 - Google Patents
반도체 시스템 Download PDFInfo
- Publication number
- KR20130048821A KR20130048821A KR1020110113673A KR20110113673A KR20130048821A KR 20130048821 A KR20130048821 A KR 20130048821A KR 1020110113673 A KR1020110113673 A KR 1020110113673A KR 20110113673 A KR20110113673 A KR 20110113673A KR 20130048821 A KR20130048821 A KR 20130048821A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- memory
- latch unit
- controller
- buffers
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1087—Data input latches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- 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/0607—Interleaved addressing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1039—Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/106—Data output latches
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)
- Read Only Memory (AREA)
Abstract
반도체 시스템은 교대로 데이터를 전송하여 상기 적어도 세 개의 메모리 칩과 순차적으로 통신하는 제 1 및 제 2 메모리 버퍼를 포함한다.
Description
본 발명은 반도체 장치에 관한 것으로서, 더 상세하게는 컨트롤러와 메모리를 포함하는 반도체 시스템에 관한 것이다.
반도체 장치, 특히 메모리의 집적도 및 용량을 향상시키기 위해 복수개의 메모리 칩과 상기 복수개의 메모리 칩을 제어하는 컨트롤러를 포함하는 반도체 시스템이 제안되었다. 상기 컨트롤러는 상기 복수개의 메모리 칩과 통신하기 위해 복수개의 메모리 버퍼를 포함한다.
도 1은 종래기술에 따른 반도체 시스템을 보여주는 개략적인 블록도이다. 상기 반도체 시스템은 컨트롤러(10) 및 복수개의 메모리 칩(MEMORY0~MEMORY4, 21~24)을 포함한다. 도 1에서, 상기 반도체 시스템은 4개의 메모리 칩을 포함하는 것을 예시하였다. 상기 컨트롤러(10)는 제 1 내지 제 4 메모리 칩(21~24)과 통신하기 위해서 메모리 버퍼(RAM0~RAM4)를 포함한다. 상기 컨트롤러(10)는 기본적으로 상기 제 1 내지 제 4 메모리 칩(21~24)에 대응하는 개수인 4개의 메모리 버퍼(RAM0~RAM3)를 포함하고, 데이터 프로그래밍이 실패한 경우를 위해 여분의 메모리 버퍼(RAM4)를 더 포함한다. 도 1에서는, 상기 컨트롤러(10)가 총 5개의 메모리 버퍼를 포함하는 것을 예시하였다. 상기 컨트롤러(10)는 상기 메모리 버퍼(RAM0~RAM4)를 포함하여 상기 제 1 내지 제 4 메모리 칩(21~23)과 데이터 통신을 한다. 즉, 상기 메모리 버퍼(RAM0~RAM4)는 상기 제 1 내지 제 4 메모리 칩(21~24)으로 데이터를 기입(Write)하거나 상기 제 1 내지 제 4 메모리 칩(21~24)으로부터 독출된 데이터를 수신하기 위해 구비된다. 상기 제 1 내지 제 4 메모리 칩(21~24)은 각각 상기 컨트롤러(10)의 메모리 버퍼(RAM0~RAM4)로부터 전송된 데이터를 임시저장하기 위한 래치부(LATCH)를 포함하고, 상기 래치부(LATCH)에 저장된 데이터를 저장하기 위한 메모리 셀 어레이를 포함한다.
도 2는 도 1의 반도체 시스템의 동작을 개략적으로 보여주는 도면이다. 도 2는 특히 상기 반도체 시스템의 데이터 기입 동작을 보여준다. 상기 상기 제 1 내지 제 4 메모리 버퍼(RAM0~RAM3)는 순차적으로 상기 제 1 내지 제 4 메모리 칩(MEMORY0~MEMORY3)으로 데이터를 전송하고, 상기 제 1 내지 제 4 메모리 칩(MEMORY0~MEMORY3)은 각각 전송 받은 데이터를 메모리 셀로 프로그래밍한다. 상기 메모리 칩(MEMORY0~MEMORY3)은 데이터 프로그램 동작과 검증 동작(Program & Verify)을 수행하여 상기 데이터 기입 동작을 수행한다. 모든 메모리 칩(MEMORY0~MEMORY3)에서 데이터 프로그램이 성공한 경우, 상기 제 5 메모리 버퍼(RAM4)는 상기 제 1 메모리 칩(MEMORY0)으로 데이터를 전송하고, 상기 제 1 내지 제 3 메모리 버퍼(RAM0~RAM2)는 각각 제 2 내지 제 4 메모리 칩(MEMORY1~MEMORY3)으로 데이터를 전송하도록 구성된다. 상기 제 1 내지 제 5 메모리 버퍼(RAM0~RAM4)는 상기 메모리 칩(MEMORY0~MEMORY3)으로 전송된 데이터가 정상적으로 프로그래밍되었는지 여부를 확인할 때까지 데이터를 유지하고 있다. 따라서, 프로그래밍이 정상적으로 수행된 경우, 각각의 메모리 버퍼(RAM0~RAM5)는 저장하고 있던 데이터를 삭제하고 새로운 데이터를 수신하여 저장하며, 다음 데이터 기입 동작을 준비한다.
상기 반도체 시스템은 도 3에 도시된 것과 같이 프로그래밍 페일(Programming Fail)이 발생했을 때를 보완하기 위해 상기 메모리 칩의 개수보다 많은 메모리 버퍼를 포함한다. 프로그래밍 페일(Programming Fail)이 발생했을 때, 페일이 발생한 데이터를 다시 메모리 칩에 기입해야 한다. 도 3에서, 제 1 메모리 칩(MEMORY0)에 프로그램 페일이 발생한 경우 상기 제 1 메모리 버퍼(RAM0)는 페일이 발생한 데이터를 삭제하지 못하고 그대로 유지하고, 새로운 데이터를 저장하도록 업데이트 되지 않는다. 유지된 데이터는 다음 데이터 기입 동작에서 상기 제 1 메모리 버퍼(RAM0)로부터 상기 제 1 메모리 칩(MEMORY0)으로 다시 전송되고, 상기 제 1 메모리 칩(MEMORY0)은 상기 데이터를 재기입(re-programming) 한다. 따라서, 상기 제 5 메모리 버퍼(RAM4)는 상기 제 2 메모리 칩(MEMORY1)으로 새로운 데이터를 전송하고, 상기 제 2 메모리 칩(MEMORY1)은 상기 제 5 메모리 버퍼(RAM4)로부터 전송된 데이터를 메모리 셀에 프로그래밍 한다.
종래기술은 위와 같은 메모리 칩의 개수와 동일 또는 많은 개수의 메모리 버퍼를 포함해야 한다. 이는 컨트롤러의 면적 증가를 초래하고, 프로그램 동작의 효율성도 저하시킨다.
본 발명은 상기와 같은 문제점을 해결하기 위해서 메모리 칩의 재기입 동작을 개선하고 컨트롤러가 포함하는 메모리 버퍼를 효율적으로 사용할 수 있는 반도체 시스템을 제공하는데 그 목적이 있다.
본 발명의 일 실시예에 따른 반도체 시스템은 적어도 세 개의 메모리 칩; 및 상기 적어도 세 개의 메모리 칩과 통신하는 제 1 및 제 2 메모리 버퍼를 포함하는 컨트롤러를 포함하고, 상기 제 1 및 제 2 메모리 버퍼는 교대로 데이터를 전송하여 상기 적어도 세 개의 메모리 칩과 순차적으로 통신한다.
본 발명의 다른 실시예에 따른 반도체 시스템은 컨트롤러로부터 데이터를 수신하여 저장하는 제 1 래치부; 및 상기 제 1 래치부로부터 데이터를 전송받아 저장하고, 상기 데이터를 메모리 셀에 프로그래밍 하는 제 2 래치부를 포함하고, 상기 데이터의 프로그래밍이 실패한 경우 상기 제 1 래치부는 상기 컨트롤러로부터 새로운 데이터를 수신하지 않고, 상기 제 2 래치부는 상기 데이터를 상기 제 1 래치부로 전송하는 메모리 칩을 포함한다.
또한, 본 발명의 다른 실시예에 따른 반도체 시스템은 제 1 및 제 2 메모리 버퍼를 포함하는 컨트롤러; 및 상기 컨트롤러와 통신하는 제 1 내지 제 3 메모리 칩을 포함하고, 상기 제 1 및 제 2 메모리 버퍼는 교대로 순차적으로 상기 제 1 내지 제 3 메모리 칩으로 데이터를 전송하고, 상기 제 1 내지 제 3 메모리 칩에 상기 데이터가 성공적으로 프로그래밍되었는지 여부와 무관하게 새로운 데이터를 저장하도록 업데이트 된다.
본 발명에 의하면, 메모리 버퍼의 개수를 감소시켜 회로 면적을 확할 수 있다. 또한, 메모리 칩의 성능을 개선하고 메모리 버퍼를 효율적으로 사용하여 컨트롤러의 성능 또한 향상시킨다.
도 1은 종래기술에 따른 반도체 시스템의 구성을 개략적으로 보여주는 블록도,
도 2는 도 1의 반도체 시스템의 동작을 보여주는 도면,
도 3은 프로그램 페일이 발생한 경우 도 1의 반도체 시스템의 동작을 보여주는 도면,
도 4는 본 발명의 실시예에 따른 반도체 시스템의 구성을 개략적으로 보여주는 블록도,
도 5는 도 4의 제 1 메모리 칩의 실시예의 구성 및 프로그래밍 페일이 발생하였을 때의 동작을 보여주는 도면,
도 6은 본 발명의 실시예에 따른 반도체 시스템의 동작을 보여주는 도면,
도 7은 프로그램 페일이 발생하였을 때 본 발명의 실시예에 따른 반도체 시스템의 동작을 보여주는 도면이다.
도 2는 도 1의 반도체 시스템의 동작을 보여주는 도면,
도 3은 프로그램 페일이 발생한 경우 도 1의 반도체 시스템의 동작을 보여주는 도면,
도 4는 본 발명의 실시예에 따른 반도체 시스템의 구성을 개략적으로 보여주는 블록도,
도 5는 도 4의 제 1 메모리 칩의 실시예의 구성 및 프로그래밍 페일이 발생하였을 때의 동작을 보여주는 도면,
도 6은 본 발명의 실시예에 따른 반도체 시스템의 동작을 보여주는 도면,
도 7은 프로그램 페일이 발생하였을 때 본 발명의 실시예에 따른 반도체 시스템의 동작을 보여주는 도면이다.
도 4는 본 발명의 실시예에 따른 반도체 시스템의 구성을 개략적으로 보여주는 블록도이다. 도 4에서, 상기 반도체 시스템(1)은 컨트롤러(100) 및 복수개의 메모리 칩(MEMORY0~MEMORY3, 210~240)을 포함한다. 상기 반도체 시스템(1)은 제 1 내지 제 4 메모리 칩(210~240)을 포함하는 것으로 예시되었으나 메모리 칩의 개수를 한정하는 것은 아니다. 상기 컨트롤러(100)는 제 1 및 제 2 메모리 버퍼(RAM0, RAM1)를 포함한다.
상기 컨트롤러(100)는 상기 제 1 및 제 2 메모리 버퍼(RAM0, RAM1)를 통해 상기 제 1 내지 제 4 메모리 칩(210~240)과 통신한다. 데이터 기입(Write) 동작에서, 상기 제 1 및 제 2 메모리 버퍼(RAM0, RAM1)는 교대로 상기 제 1 내지 제 4 메모리 칩(210~240)으로 데이터를 전송한다. 상기 제 1 및 제 2 메모리 버퍼(RAM0, RAM1)는 또한 순차적으로 상기 제 1 내지 제 4 메모리 칩(210~240)으로 데이터를 전송한다. 따라서, 상기 컨트롤러(100)는 상기 제 1 내지 제 4 메모리 칩(210~240)과 통신하기 위해서 상기 제 1 및 제 2 메모리 버퍼(RAM0, RAM1)만을 구비하면 충분하다.
상기 제 1 및 제 2 메모리 버퍼(RAM0, RAM1)는 상기 제 1 내지 제 4 메모리 칩(210~240)으로 데이터를 전송하기 위해 업데이트 된다. 예를 들어, 상기 제 1 메모리 버퍼(RAM0)가 상기 제 1 메모리 칩(210)으로 데이터를 전송하면, 전송된 상기 데이터를 삭제하고 새로운 데이터를 저장하도록 업데이트 된다. 상기 업데이트 된 새로운 데이터는 다른 메모리 칩으로 전송될 수 있다.
상기 제 1 및 제 2 메모리 버퍼(RAM0, RAM1)는 상기 제 1 내지 제 4 메모리 칩(210~240)으로 전송된 데이터가 성공적으로 프로그래밍 되었는지 여부에 무관하게 새로운 데이터를 저장하도록 업데이트 된다. 종래에는 메모리 버퍼가 메모리 칩에 데이터가 정상적으로 프로그래밍되었는지 여부에 기초하여 기존 데이터를 유지할지 또는 새로운 데이터를 저장하도록 업데이트될지 여부가 결정되었다. 그러나, 본 발명의 실시예에 따른 상기 제 1 및 제 2 메모리 버퍼(RAM0, RAM1)는 상기 프로그래밍의 패스(pass) 또는 페일 여부와 무관하게 데이터 전송이 완료되면, 전송된 데이터를 삭제하고 바로 새로운 데이터를 저장하도록 업데이트 된다. 따라서, 상기 컨트롤러(100)는 메모리 칩의 개수에 대응되는 수의 메모리 버퍼를 구비할 필요가 없다.
상기 제 1 내지 제 4 메모리 칩(210~240)은 동일한 구조를 갖는 메모리 칩일 수 있고, 예를 들어, 한정하는 것은 아니지만 상기 제 1 내지 제 4 메모리 칩(210~240)은 플래시 메모리 장치일 수 있다. 데이터 기입 동작에서, 상기 제 1 내지 제 4 메모리 칩(210~240)은 각각 상기 제 1 내지 제 2 메모리 버퍼(RAM0, RAM1)로부터 데이터를 전송 받고, 전송 받은 데이터를 각각의 메모리 셀에 프로그래밍 한다. 상기 제 1 내지 제 4 메모리 칩(210~240)은 상기 컨트롤러(100)로부터 어드레스 정보를 수신하여 상기 전송된 데이터를 상기 어드레스 정보에 해당하는 위치의 메모리 셀에 프로그래밍 한다. 상기 제 1 내지 제 4 메모리 칩(210~240)은 상기 프로그래밍이 성공적으로 수행된 경우 상기 제 1 및 제 2 메모리 버퍼(RAM0, RAM1) 중 하나로부터 새로운 데이터를 전송 받아 다음 데이터 기입 동작을 수행한다. 상기 제 1 내지 제 4 메모리 칩(210~240)은 상기 프로그래밍이 실패한 경우, 상기 제 1 및 제 2 메모리 버퍼(RAM0, RAM1)로부터 새로운 데이터를 전송 받지 않는다. 상기 제 1 내지 제 4 메모리 칩(210~240)은 프로그래밍 페일이 발생한 경우, 페일이 발생한 데이터를 내부적으로 저장하였다가 다음 데이터 기입 동작에서 다른 어드레스 정보에 따른 다른 위치의 메모리 셀에 다시 프로그램 한다.
도 5는 도 4의 제 1 메모리 칩(210)의 실시예의 구성 및 프로그래밍 페일(Programming Fail)이 발생하였을 때의 동작을 보여주는 도면이다. 도 5에서, 상기 제 1 메모리 칩(210)은 메모리 셀 블록(211), 제 1 래치(212) 및 제 2 래치(213)를 포함한다. 상기 메모리 셀 블록(211)은 복수의 메모리 셀을 포함하고, 상기 메모리 셀 블록은 프로그래밍되는 데이터를 저장하기 위한 공간이다. 상기 제 1 래치(212)는 캐쉬 래치(cache latch)에 해당할 수 있으며, 상기 제 1 및 제 2 메모리 버퍼(RAM0, RAM1)로부터 전송되는 데이터(DATA1)를 수신하여 저장한다. 상기 제 2 래치부(213)는 메인 래치(main latch)에 해당할 수 있으며, 상기 제 1 래치부(212)로부터 전송된 데이터(DATA1)를 저장하고, 상기 데이터를 상기 메모리 셀 블록(211)으로 프로그래밍 한다. 상기 제 1 래치부(212)는 상기 제 2 래치부(213)로 데이터를 전송한 후, 상기 제 1 및 제 2 메모리 버퍼(RAM0, RAM1)로부터 새로운 데이터(DATA2)를 수신하여 저장한다. 상기 제 2 래치부(213)는 상기 데이터를 상기 메모리 셀 블록(211)에 프로그래밍 하고 검증(Program & Verify)하는 동작을 수행한다. 상기 프로그래밍의 패스 및 페일 여부는 상기 검증 동작에 의해 판단될 수 있다. 상기 제 2 래치부(213)는 상기 데이터가 상기 메모리 셀(Memory cell1)에 성공적으로 프로그래밍된 경우, 상기 제 1 래치부(212)로부터 새로운 데이터(DATA2)를 전송 받아 다음 데이터 프로그래밍을 수행한다.
반면, 도 5에 도시된 바와 같이, 상기 데이터가 상기 메모리 셀에 정상적으로 프로그래밍 되지 않은 경우, 상기 제 1 래치부(212)는 상기 제 1 및 제 2 메모리 버퍼(RAM0, RAM1)로부터 새로운 데이터(DATA2)를 수신하지 않는다. 또한, 상기 제 2 래치부(213)는 상기 페일이 발생한 데이터(DATA1)를 상기 제 1 래치부(212)로 전송한다. 이 때, 상기 제 1 래치부(212)는 상기 프로그래밍 페일(Programming Fail)이 발생한 데이터(DATA1)를 저장하고, 다음 기입 동작에서 상기 데이터(DATA1)를 상기 제 2 래치부(213)로 전송한다. 상기 제 2 래치부(213)는 상기 제 1 래치부(212)로부터 상기 데이터(DATA1)를 다시 전송 받아 다른 메모리 셀(Memory cell2)에 상기 데이터를 재기입(Re-program) 한다.
본 발명의 일 실시예에서, 상기 제 1 래치부(212)는 상기 프로그래밍 페일(Programming Fail)이 발생한 데이터(DATA1)를 컨트롤러(100)로 전송할 수 있다. 상기 컨트롤러(100)는 상기 제 1 래치부(212)로부터 전송된 상기 데이터를 재활용할 수 있다. 예를 들어, 상기 컨트롤러(100)는 상기 제 1 래치부(212)로부터 출력되는 데이터를 메모리 버퍼에 저장하고, 재기입 동작을 위해 상기 데이터를 다시 메모리 칩으로 전송할 수 있다.
도 6은 본 발명의 실시예에 따른 반도체 시스템의 동작을 보여주는 도면이다. 도 6에서 상기 제 1 및 제 2 메모리 버퍼(RAM0, RAM1)가 전송하는 데이터의 크기를 16KB로 예시하였으나, 이에 한정하는 것은 아니다. 상기 제 1 및 제 2 메모리 버퍼(RAM0, RAM1)는 상기 제 1 내지 제 4 메모리 칩(MEMORY0~MEMORY3)으로 데이터를 전송하면, 곧 바로 새로운 데이터를 저장하도록 업데이트 된다. 따라서, 상기 제 1 및 제 2 메모리 버퍼(RAM0, RAM1)는 교대로 데이터를 전송하며, 상기 제 1 내지 제 4 메모리 칩(MEMORY0~MEMORY3)으로 순차적으로 데이터를 전송할 수 있다.
상기 제 1 메모리 버퍼(RAM0)는 상기 제 1 메모리 칩(MEMORY0)으로 데이터를 전송하고, 새로운 데이터를 저장하도록 업데이트 된다. 상기 제 2 메모리 버퍼(RAM1) 또한 상기 제 2 메모리 칩(MEMORY1)으로 데이터를 전송하고, 새로운 데이터를 저장하도록 업데이트 된다. 상기 제 1 메모리 버퍼(RAM0)는 상기 업데이트된 데이터를 상기 제 3 메모리 칩(MEMORY2)으로 전송하고 또 다른 새로운 데이터를 저장하도록 업데이트 되며, 상기 제 2 메모리 버퍼(RAM1)도 상기 업데이트된 데이터를 상기 제 4 메모리 칩(MEMORY3)으로 전송하고 또 다른 새로운 데이터를 저장하도록 업데이트 된다. 상기 제 1 내지 제 4 메모리 칩(MEMORY0~MEMORY3)은 각각 상기 제 1 및 제 2 메모리 버퍼(RAM0, RAM1)로부터 데이터를 수신하고 프로그래밍 동작과 검증동작(Program & Verify)을 수행한다. 상기 제 1 메모리 칩(MEMORY0)에서 프로그래밍이 성공적으로 수행되었으므로, 상기 제 1 메모리 칩(MEMORY0)은 상기 제 1 메모리 버퍼(RAM0)로부터 새롭게 업데이트된 데이터를 수신하여 프로그래밍을 수행한다.
도 6에 도시된 바와 같이, 본 발명의 실시예에 따른 반도체 시스템(1)은 컨트롤러(100)의 메모리 버퍼(RAM0, RAM1)가 메모리 칩(MEMORY0~MEMORY3)으로 전송된 데이터를 유지하지 않고 새로운 데이터를 저장하도록 업데이트 되므로, 메모리 칩의 개수가 증가하더라도 메모리 버퍼의 수가 증가하지 않는다. 따라서, 본 발명은 상기 컨트롤러의 메모리 버퍼의 사이즈 또는 개수를 감소시킬 수 있고, 상기 메모리 버퍼를 효율적으로 사용할 수 있다.
도 7은 프로그래밍 페일이 발생한 경우 본 발명의 실시예에 따른 반도체 시스템의 동작을 보여주는 도면이다. 도 7에서, 상기 제 1 메모리 칩(MEMORY0)에서 프로그래밍 페일(Programming Fail)이 발생한 경우를 대표적으로 도시하였다. 상기 프로그래밍 페일(Programming Fail)이 발생한 경우, 상기 제 1 메모리 버퍼(RAM0)는 상기 제 1 메모리 칩(MEMORY0)으로 데이터를 전송하지 않고 상기 제 2 메모리 칩(MEMORY1)으로 데이터를 전송한다. 상기 제 1 메모리 칩(MEMORY0)은 상기 제 1 메모리 버퍼(RAM0)로부터 새로운 데이터를 수신하지 않는다. 상기 제 1 메모리 칩(MEMORY0)은 프로그래밍 페일이 발생한 경우, 도 4에 도시된 제 1 및 제 2 래치부(212, 213)에 의해 페일이 발생한 데이터를 내부적으로 저장하고 있다가, 페일이 발생한 메모리 셀과 다른 메모리 셀에 상기 페일이 발생한 데이터를 재기입(re-programming) 한다.
위와 같이, 상기 반도체 시스템은 데이터 프로그래밍 페일이 발생하였을 때, 메모리 버퍼와 무관하게 상기 메모리 칩 내부적으로 페일이 발생한 데이터의 재기입 동작을 가능하게 한다. 따라서, 메모리 버퍼가 메모리 칩으로 데이터를 전송한 후, 바로 새로운 데이터를 저장하도록 업데이트 될 수 있고, 다수의 메모리 칩과 데이터 통신을 하기 위한 메모리 버퍼의 개수가 감소된다.
본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
1: 반도체 시스템 10/100: 컨트롤러
21~24/210~240: 제 1 내지 제 4 메모리 칩
211: 메모리 셀 블록 212: 제 1 래치부
213: 제 2 래치부
21~24/210~240: 제 1 내지 제 4 메모리 칩
211: 메모리 셀 블록 212: 제 1 래치부
213: 제 2 래치부
Claims (15)
- 적어도 세 개의 메모리 칩; 및
상기 적어도 세 개의 메모리 칩과 통신하는 제 1 및 제 2 메모리 버퍼를 포함하는 컨트롤러를 포함하고,
상기 제 1 및 제 2 메모리 버퍼는 교대로 데이터를 전송하여 상기 적어도 세 개의 메모리 칩과 순차적으로 통신하는 반도체 시스템. - 제 1 항에 있어서,
상기 메모리 칩은, 상기 제 1 및 제 2 메모리 버퍼 중 하나로부터 전송된 데이터를 저장하는 제 1 래치부; 및
상기 제 1 래치부에 저장된 데이터를 수신하고, 메모리 셀에 상기 데이터를 프로그래밍 하는 제 2 래치부를 포함하고,
상기 데이터의 프로그래밍이 실패한 경우, 상기 제 1 래치부는 상기 제 1 및 제 2 메모리 버퍼로부터 새로운 데이터를 수신하지 않는 반도체 시스템. - 제 2 항에 있어서,
상기 제 2 래치부는, 상기 데이터의 프로그래밍이 실패한 경우 상기 데이터를 상기 제 1 래치부로 전송하는 반도체 시스템. - 제 3 항에 있어서,
상기 제 1 래치부는 다음 데이터 기입 동작에서 상기 저장된 데이터를 상기 제 2 래치부로 전송하고,
상기 제 2 래치부는 상기 데이터를 다른 메모리 셀에 프로그래밍 하는 반도체 시스템. - 제 3 항에 있어서,
상기 제 1 래치부는 상기 저장된 데이터를 상기 컨트롤러로 출력하는 반도체 시스템. - 제 1 항에 있어서,
상기 제 1 및 제 2 메모리 버퍼는, 프로그래밍 실패가 발생한 데이터가 상기 메모리 칩에 성공적으로 프로그래밍 될 때까지 새로운 데이터를 상기 메모리 칩으로 전송하지 않는 반도체 시스템. - 제 1 항에 있어서,
상기 제 1 및 제 2 메모리 버퍼는, 상기 적어도 세 개의 메모리 칩 중 하나로 데이터를 전송한 경우, 새로운 데이터를 저장하도록 업데이트되는 반도체 시스템. - 컨트롤러로부터 데이터를 수신하여 저장하는 제 1 래치부; 및
상기 제 1 래치부로부터 데이터를 전송받아 저장하고, 상기 데이터를 메모리 셀에 프로그래밍 하는 제 2 래치부를 포함하고,
상기 데이터의 프로그래밍이 실패한 경우 상기 제 1 래치부는 상기 컨트롤러로부터 새로운 데이터를 수신하지 않고, 상기 제 2 래치부는 상기 데이터를 상기 제 1 래치부로 전송하는 메모리 칩을 포함하는 반도체 시스템. - 제 8 항에 있어서,
상기 제 1 래치부는 다음 데이터 기입 동작에서 상기 데이터를 상기 제 2 래치부로 전송하고,
상기 제 2 래치부는 상기 데이터를 다른 메모리 셀에 프로그래밍 하는 반도체 시스템. - 제 8 항에 있어서,
상기 제 1 래치부는 상기 데이터를 상기 컨트롤러로 출력하는 반도체 시스템. - 제 8 항에 있어서,
상기 제 1 래치부는 상기 데이터가 성공적으로 프로그래밍된 경우 상기 컨트롤러로부터 새로운 데이터를 수신하여 저장하는 반도체 시스템. - 제 1 및 제 2 메모리 버퍼를 포함하는 컨트롤러; 및
상기 컨트롤러와 통신하는 제 1 내지 제 3 메모리 칩을 포함하고,
상기 제 1 및 제 2 메모리 버퍼는 교대로 순차적으로 상기 제 1 내지 제 3 메모리 칩으로 데이터를 전송하고, 상기 제 1 내지 제 3 메모리 칩에 상기 데이터가 성공적으로 프로그래밍되었는지 여부와 무관하게 새로운 데이터를 저장하도록 업데이트 되는 반도체 시스템. - 제 12 항에 있어서,
상기 제 1 및 제 2 메모리 버퍼는 상기 제 1 내지 제 3 메모리 칩 중 프로그래밍 페일이 발생한 메모리 칩으로 상기 새로운 데이터를 전송하지 않는 반도체 시스템. - 제 12 항에 있어서,
상기 제 1 내지 제 3 메모리 칩은 프로그래밍 페일이 발생한 데이터를 상기 컨트롤러로 전송하는 반도체 시스템. - 제 14 항에 있어서,
상기 제 1 및 제 2 메모리 버퍼 중 하나는 상기 프로그래밍 페일이 발생한 데이터를 저장하고, 프로그래밍 페일이 발생한 메모리 칩으로 재전송하는 반도체 시스템.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110113673A KR101847976B1 (ko) | 2011-11-03 | 2011-11-03 | 반도체 시스템 |
US13/341,505 US9026762B2 (en) | 2011-11-03 | 2011-12-30 | Semiconductor system including a controller having reduced number of memory buffers for transmitting data to a plurality of memory chips |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110113673A KR101847976B1 (ko) | 2011-11-03 | 2011-11-03 | 반도체 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130048821A true KR20130048821A (ko) | 2013-05-13 |
KR101847976B1 KR101847976B1 (ko) | 2018-04-12 |
Family
ID=48223569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110113673A KR101847976B1 (ko) | 2011-11-03 | 2011-11-03 | 반도체 시스템 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9026762B2 (ko) |
KR (1) | KR101847976B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8880778B2 (en) * | 2010-05-13 | 2014-11-04 | Micron Technology, Inc. | Memory buffer having accessible information after a program-fail |
FR3006094A1 (fr) | 2013-05-21 | 2014-11-28 | St Microelectronics Rousset | Ecriture d'une memoire eeprom sur bus i2c |
FR3006097A1 (fr) | 2013-05-21 | 2014-11-28 | St Microelectronics Rousset | Mecanisme d'ecriture d'une memoire eeprom sur bus i2c |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100758300B1 (ko) | 2006-07-26 | 2007-09-12 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 프로그램 방법 |
KR100856292B1 (ko) | 2006-09-29 | 2008-09-03 | 주식회사 하이닉스반도체 | 플래시 메모리 소자 및 프로그램 방법 |
KR100877610B1 (ko) * | 2007-01-23 | 2009-01-09 | 삼성전자주식회사 | 페이지 데이터 저장 방법과 저장 장치 |
US8046527B2 (en) * | 2007-02-22 | 2011-10-25 | Mosaid Technologies Incorporated | Apparatus and method for using a page buffer of a memory device as a temporary cache |
KR100823175B1 (ko) * | 2007-02-27 | 2008-04-18 | 삼성전자주식회사 | 프로그램 성능을 향상시킬 수 있는 플래시 메모리 장치 및그것을 포함한 메모리 시스템 |
US8433859B2 (en) * | 2008-11-25 | 2013-04-30 | Mediatek Inc. | Apparatus and method for buffer management for a memory operating |
US8132045B2 (en) * | 2009-06-16 | 2012-03-06 | SanDisk Technologies, Inc. | Program failure handling in nonvolatile memory |
-
2011
- 2011-11-03 KR KR1020110113673A patent/KR101847976B1/ko active IP Right Grant
- 2011-12-30 US US13/341,505 patent/US9026762B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9026762B2 (en) | 2015-05-05 |
US20130114349A1 (en) | 2013-05-09 |
KR101847976B1 (ko) | 2018-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10468105B2 (en) | Apparatus having memory arrays and having trim registers associated with memory array access operation commands | |
US9183143B2 (en) | Memory device that specifies a size of a segment of write data | |
CN101957726B (zh) | 双列直插式存储模块中的相变存储器 | |
US20130067143A1 (en) | Memory device and method of controlling the same | |
CN107111456A (zh) | 用于生成与主机命令相关联的提示信息的系统和方法 | |
CN109753232A (zh) | 存储器系统及存储器系统的操作方法 | |
US10140215B1 (en) | Low overhead mapping for highly sequential data | |
CN105279108A (zh) | 固态硬盘写入数据的方法 | |
US11488671B2 (en) | Method, associated memory device and controller thereof for performing programming management | |
US10365834B2 (en) | Memory system controlling interleaving write to memory chips | |
US9594679B2 (en) | Flash cache flushing method and system | |
CN114281265B (zh) | 一种存储介质失效的处理方法、装置和固态硬盘 | |
KR20130048821A (ko) | 반도체 시스템 | |
CN115346592A (zh) | 存储装置 | |
US10372337B2 (en) | Write request processing method and memory controller | |
CN104899155B (zh) | 固态硬盘的写入方法 | |
US20090292860A1 (en) | Method of programming non-volatile memory device | |
US20220276807A1 (en) | Mram access coordination systems and methods | |
KR20170029261A (ko) | 메모리 시스템 및 이의 동작 방법 | |
TWI672706B (zh) | 記憶體儲存裝置及其操作方法 | |
CN106326142A (zh) | 缓冲存储器存取方法、存储器控制器与存储器存储装置 | |
US20220342597A1 (en) | Implementing a read setup burst command in 3d nand flash memory to reduce voltage threshold deviation over time | |
US11385839B1 (en) | Implementing a read setup in 3D NAND flash memory to reduce voltage threshold deviation over time | |
US8886989B2 (en) | Memory device | |
US20160070473A1 (en) | Method to enhance programming performance in multilevel nvm devices |
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 |