KR101847976B1 - 반도체 시스템 - Google Patents

반도체 시스템 Download PDF

Info

Publication number
KR101847976B1
KR101847976B1 KR1020110113673A KR20110113673A KR101847976B1 KR 101847976 B1 KR101847976 B1 KR 101847976B1 KR 1020110113673 A KR1020110113673 A KR 1020110113673A KR 20110113673 A KR20110113673 A KR 20110113673A KR 101847976 B1 KR101847976 B1 KR 101847976B1
Authority
KR
South Korea
Prior art keywords
data
memory
latch unit
controller
programming
Prior art date
Application number
KR1020110113673A
Other languages
English (en)
Other versions
KR20130048821A (ko
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 KR1020110113673A priority Critical patent/KR101847976B1/ko
Priority to US13/341,505 priority patent/US9026762B2/en
Publication of KR20130048821A publication Critical patent/KR20130048821A/ko
Application granted granted Critical
Publication of KR101847976B1 publication Critical patent/KR101847976B1/ko

Links

Images

Classifications

    • 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
    • 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/1087Data input latches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • 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/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1039Read-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
    • 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/106Data 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

반도체 시스템 {SEMICONDUCTOR SYSTEM}
본 발명은 반도체 장치에 관한 것으로서, 더 상세하게는 컨트롤러와 메모리를 포함하는 반도체 시스템에 관한 것이다.
반도체 장치, 특히 메모리의 집적도 및 용량을 향상시키기 위해 복수개의 메모리 칩과 상기 복수개의 메모리 칩을 제어하는 컨트롤러를 포함하는 반도체 시스템이 제안되었다. 상기 컨트롤러는 상기 복수개의 메모리 칩과 통신하기 위해 복수개의 메모리 버퍼를 포함한다.
도 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은 프로그램 페일이 발생하였을 때 본 발명의 실시예에 따른 반도체 시스템의 동작을 보여주는 도면이다.
도 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 래치부

Claims (15)

  1. 적어도 세 개의 메모리 칩; 및
    상기 적어도 세 개의 메모리 칩과 통신하는 제 1 및 제 2 메모리 버퍼를 포함하는 컨트롤러를 포함하고,
    상기 제 1 및 제 2 메모리 버퍼는 교대로 데이터를 전송하여 상기 적어도 세 개의 메모리 칩과 순차적으로 통신하고,
    상기 메모리 칩은, 상기 제 1 및 제 2 메모리 버퍼 중 하나로부터 전송된 상기 데이터를 저장하는 제 1 래치부; 및 상기 제 1 래치부에 저장된 상기 데이터를 수신하고, 메모리 셀에 상기 데이터를 프로그래밍하는 제 2 래치부를 포함하고,
    상기 데이터의 프로그래밍이 실패한 경우, 상기 제 1 래치부는 상기 제 1 및 제 2 메모리 버퍼로부터 새로운 데이터를 수신하지 않고,
    상기 제 2 래치부는 상기 데이터의 프로그래밍이 실패한 경우 상기 데이터를 상기 제 1 래치부로 전송하는 반도체 시스템.
  2. 삭제
  3. 삭제
  4. [청구항 4은(는) 설정등록료 납부시 포기되었습니다.]
    제 1 항에 있어서,
    상기 제 1 래치부는 다음 데이터 기입 동작에서 저장된 상기 데이터를 상기 제 2 래치부로 전송하고,
    상기 제 2 래치부는 상기 데이터를 다른 메모리 셀에 프로그래밍 하는 반도체 시스템.
  5. [청구항 5은(는) 설정등록료 납부시 포기되었습니다.]
    제 1 항에 있어서,
    상기 제 1 래치부는 저장된 상기 데이터를 상기 컨트롤러로 출력하는 반도체 시스템.
  6. [청구항 6은(는) 설정등록료 납부시 포기되었습니다.]
    제 1 항에 있어서,
    상기 제 1 및 제 2 메모리 버퍼는, 프로그래밍 실패가 발생한 데이터가 상기 메모리 칩에 성공적으로 프로그래밍 될 때까지 새로운 데이터를 상기 메모리 칩으로 전송하지 않는 반도체 시스템.
  7. [청구항 7은(는) 설정등록료 납부시 포기되었습니다.]
    제 1 항에 있어서,
    상기 제 1 및 제 2 메모리 버퍼는, 상기 적어도 세 개의 메모리 칩 중 하나로 데이터를 전송한 경우, 새로운 데이터를 저장하도록 업데이트되는 반도체 시스템.
  8. 컨트롤러로부터 데이터를 수신하여 저장하는 제 1 래치부; 및
    상기 제 1 래치부로부터 데이터를 전송받아 저장하고, 상기 데이터를 메모리 셀에 프로그래밍 하는 제 2 래치부를 포함하고,
    상기 데이터의 프로그래밍이 실패한 경우 상기 제 1 래치부는 상기 컨트롤러로부터 새로운 데이터를 수신하지 않고, 상기 제 2 래치부는 상기 데이터를 상기 제 1 래치부로 전송하는 메모리 칩을 포함하는 반도체 시스템.
  9. [청구항 9은(는) 설정등록료 납부시 포기되었습니다.]
    제 8 항에 있어서,
    상기 제 1 래치부는 다음 데이터 기입 동작에서 상기 데이터를 상기 제 2 래치부로 전송하고,
    상기 제 2 래치부는 상기 데이터를 다른 메모리 셀에 프로그래밍 하는 반도체 시스템.
  10. [청구항 10은(는) 설정등록료 납부시 포기되었습니다.]
    제 8 항에 있어서,
    상기 제 1 래치부는 상기 데이터를 상기 컨트롤러로 출력하는 반도체 시스템.
  11. [청구항 11은(는) 설정등록료 납부시 포기되었습니다.]
    제 8 항에 있어서,
    상기 제 1 래치부는 상기 데이터가 성공적으로 프로그래밍된 경우 상기 컨트롤러로부터 새로운 데이터를 수신하여 저장하는 반도체 시스템.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
KR1020110113673A 2011-11-03 2011-11-03 반도체 시스템 KR101847976B1 (ko)

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 KR20130048821A (ko) 2013-05-13
KR101847976B1 true 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)

* Cited by examiner, † Cited by third party
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
FR3006097A1 (fr) 2013-05-21 2014-11-28 St Microelectronics Rousset Mecanisme d'ecriture d'une memoire eeprom sur bus i2c
FR3006094A1 (fr) * 2013-05-21 2014-11-28 St Microelectronics Rousset Ecriture d'une memoire eeprom sur bus i2c

Family Cites Families (7)

* Cited by examiner, † Cited by third party
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 삼성전자주식회사 페이지 데이터 저장 방법과 저장 장치
WO2008101316A1 (en) * 2007-02-22 2008-08-28 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

Also Published As

Publication number Publication date
KR20130048821A (ko) 2013-05-13
US20130114349A1 (en) 2013-05-09
US9026762B2 (en) 2015-05-05

Similar Documents

Publication Publication Date Title
CN109085997A (zh) 用于非易失性存储器的存储器高效持续键值储存
CN108885584A (zh) 使用主机存储器缓冲区的无序读取传输
CN110073322A (zh) 用于快速执行封装体内命令的系统和方法
US20100318724A1 (en) Flash memory control circuit, flash memory storage system, and data transfer method
CN108572933A (zh) 用于直接存储器存取的数据缓冲器指针找取
CN103229243B (zh) 用于在非易失性存储设备中以冗余方式存储数据块的存储控制器和系统
CN106471474A (zh) 用于在可扩展存储器系统协议中传输包的系统及方法
CN103106143B (zh) 固态储存装置及其逻辑至实体对应表建立方法
KR20120015313A (ko) 다수의 명령들을 처리하기 위한 메모리 제어기들, 메모리 시스템들, 고체상태 드라이버들 및 방법들
CN107111456A (zh) 用于生成与主机命令相关联的提示信息的系统和方法
CN109426441B (zh) 数据储存装置以及其操作方法
JP2014535104A (ja) フラッシュメモリ制御器及びフラッシュメモリ間のデータ転送方法
CN110058799A (zh) 存储器装置及操作存储器装置的方法
JP5329689B2 (ja) メモリコントローラ、不揮発性記憶装置
US10140215B1 (en) Low overhead mapping for highly sequential data
CN105677605A (zh) 一种高效的可配置片上互联系统及其实现方法、装置
KR101847976B1 (ko) 반도체 시스템
CN105279108A (zh) 固态硬盘写入数据的方法
US20200081654A1 (en) Command processing method and storage controller using the same
US20200387307A1 (en) Namespace auto-routing data storage system
CN106575250A (zh) 使用nand页缓冲器来改善固态驱动器的传递缓冲器利用的方法与系统
CN207008602U (zh) 一种基于NandFlash存储器多通道的存储阵列控制装置
CN103365810A (zh) 在c.a.n.总线上减少闪速存储装置编程时间的方法和设备
CN105573711A (zh) 一种数据缓存方法及装置
CN110297786A (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