KR101038991B1 - 메모리 영역의 균등한 사용을 위한 반도체 스토리지 시스템및 그 제어 방법 - Google Patents
메모리 영역의 균등한 사용을 위한 반도체 스토리지 시스템및 그 제어 방법 Download PDFInfo
- Publication number
- KR101038991B1 KR101038991B1 KR1020090020225A KR20090020225A KR101038991B1 KR 101038991 B1 KR101038991 B1 KR 101038991B1 KR 1020090020225 A KR1020090020225 A KR 1020090020225A KR 20090020225 A KR20090020225 A KR 20090020225A KR 101038991 B1 KR101038991 B1 KR 101038991B1
- Authority
- KR
- South Korea
- Prior art keywords
- program
- page
- memory area
- pulse
- main memory
- 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
-
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
- G11C16/3495—Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
메모리 영역의 균등한 사용을 위한 반도체 스토리지 시스템 및 그 제어 방법을 개시한다. 개시된 본 발명의 반도체 스토리지 시스템은, 복수의 페이지를 포함하며, 상기 각 페이지에 대한 프로그램 관련 정보를 저장하는 메모리 영역 및 상기 프로그램 관련 정보에 따라 각 페이지의 프로그램 여부를 결정하는 메인 메모리 컨트롤러를 포함한다.
페이지, 웨어 레벨링, 메모리 영역
Description
본 발명은 반도체 스토리지 시스템에 관한 것으로서, 보다 구체적으로는 메모리 영역의 균등한 사용을 위한 반도체 스토리지 시스템 및 그 제어 방법에 관한 것이다.
일반적으로 비휘발성 메모리를 많은 휴대용 정보 기기의 저장용 메모리로 사용하고 있다. 더 나아가, 최근에는 PC(Personal Computer)에서 HDD(Hard Disk Drive)를 대신하여 낸드(NAND) 플래시 메모리를 사용한 SSD(Solid State Drive)가 출시되고 있어 급속도로 HDD 시장을 잠식할 것으로 전망되고 있다.
이러한 낸드 플래시 메모리를 이용하는 반도체 스토리지 시스템은 다수의 페이지를 포함하는 다수의 블록으로 구성된 메모리 영역을 포함한다. 낸드 플래시 메모리의 특징으로 인하여 데이터를 프로그램(program)하는 것은 페이지 단위로 수행하되, 그 데이터를 갱신(update)하거나 삭제(erase)하는 것은 블록 단위로 수행한다. 즉, 어떤 데이터가 저장된 페이지의 내용을 갱신하려면, 해당 페이지가 포함된 블록 전체를 우선 삭제한 후, 다시 페이지 단위로 프로그램해야 한다. 그리하여, 통상 플래시 메모리의 수명(life time)은 블록의 사용 빈도, 예컨대, 삭제 주기(erase cycle) 또는 삭제 횟수(erase count)에 의해 제한된다고 알려져 있다.
도 1a 및 도 1b는, 종래의 반도체 스토리지 시스템의 특정 블록 또는 특정 영역이 과도하게 사용된 예시적 그래프이다. 그래프의 X축은 어드레스를 나타내고, Y축은 삭제 횟수를 나타낸다.
도 1a의 그래프를 참조하면, 어드레스 1500-2000번지 사이의 메모리 영역이 다른 메모리 영역보다 과도하게 사용된 용례를 나타낸다. 또한, 도 1b의 그래프를 참조하면, 다른 어드레스의 영역들은 아직 신선한(fresh) 메모리 상태를 가짐에도 불구하고, 특정 번지(편의상, a번지와 b번지)에서 과도하게 사용됨으로써 반도체 스토리지 시스템내 불량이 발생한 경우를 나타낸다.
공지된 바로는, 플래시 메모리를 구성하는 셀의 종류, 즉 SLC(Single Level Cell)의 경우에는 대략 100,000번 정도, MLC(Multi Level Cell)의 경우에는 대략 5000 ~10,000번 정도 삭제하면 그 수명이 다하는 것으로 알려져 있다. 따라서 SSD를 효율적으로 사용하기 위해서는 플래시 메모리의 모든 영역이 균등하게 사용되도록 관리하는 것이 매우 중요하게 되었다.
이를 위해, 반도체 스토리지 시스템의 메인 컨트롤러(main controller)가 블록 단위로 웨어 레벨링(wear-leveling)을 수행하여 메모리 영역의 전체 블록의 사용 빈도를 적절히 관리하고 균등하게 사용하도록 제어하도록 하고 있다. 하지만, 이로 인해 메인 컨트롤러의 부하(load)는 더욱 증가하므로, 오히려 반도체 스토리 지 시스템 전체의 성능을 저하시킬 수 있는 요인이 되고 있다.
본 발명의 기술적 과제는 메모리 영역을 균등하게 사용하도록 제어하는 반도체 스토리지 시스템을 제공하는 것이다.
본 발명의 기술적 과제는 메모리 영역을 균등하게 사용하도록 제어하는 반도체 스토리지 시스템의 제어 방법을 제공하는 것이다.
본 발명의 기술적 과제를 달성하기 위하여, 일 실시예에 따른 본 발명의 반도체 스토리지 시스템은, 복수의 페이지를 포함하며, 상기 각 페이지에 대한 프로그램 완료 시점의 프로그램 펄스 인가 횟수를 누적 카운팅하여 프로그램 관련 정보로서 저장하는 메모리 영역 및 상기 프로그램 관련 정보에 따라 각 페이지의 프로그램 여부를 결정하는 메인 메모리 컨트롤러를 포함한다.
본 발명의 기술적 과제를 달성하기 위하여, 다른 실시예에 따른 본 발명의 반도체 스토리지 시스템은, 복수의 칩을 포함하며 상기 각 칩은 복수의 페이지를 포함하며, 상기 페이지에 대한 프로그램 완료 시점의 프로그램 펄스 인가 횟수를 누적 카운팅하여 프로그램 빈도로서 저장하는 수명 관리부를 포함하는 메모리 영역 및 상기 메모리 영역으로부터 해당 페이지의 상기 프로그램 빈도를 수신하여 상기 해당 페이지의 프로그램 여부를 결정하는 메인 메모리 컨트롤러를 포함한다.
본 발명의 기술적 과제를 달성하기 위하여, 일 실시예에 따른 본 발명의 반도체 스토리지 시스템의 제어 방법은, 외부 프로그램 명령에 응답하여, 메모리 영역의 해당 페이지에 프로그램 펄스를 소정 전압 크기만큼 증가시키며 인가하는 단계, 상기 프로그램 완료 시점의 상기 프로그램 펄스 인가 횟수를 누적 카운팅하여 상기 메모리 영역내에 저장하는 단계 및 메인 메모리 컨트롤러가 상기 메모리 영역내 저장된 상기 누적 카운팅 값을 이용하여 해당 페이지의 프로그램 여부를 결정하는 단계를 포함한다.
본 발명의 일 실시예에 따른 반도체 스토리지 시스템은 메인 메모리 컨트롤러의 부하를 감소시키면서도, 메모리 영역의 균등한 사용을 제어할 수 있다. 또한, 메인 메모리 컨트롤러의 작업 수행에 대한 부하가 감소됨으로써 반도체 스토리지 시스템의 속도 및 성능을 향상시킬 수 있다.
이하에서는 본 발명의 일 실시예에 따른 반도체 스토리지 시스템에 대하여 첨부된 도면을 참조하여 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 반도체 스토리지 시스템의 블록도이다.
도 2를 참조하면, 반도체 스토리지 시스템은 호스트 인터페이스(110), 메인 메모리 컨트롤러(120), MCU(Micro Control Unit) 및 메모리 영역(140)을 포함한다.
우선, 호스트 인터페이스(110)는 메인 메모리 컨트롤러(120)와 연결되며, 외부 호스트 (미도시)와 메모리 컨트롤러(120)간에 제어 명령, 어드레스 신호 및 데이터 신호를 송수신한다. 호스트 인터페이스(110)와 외부 호스트 (미도시)간의 인터페이스 방식은 직렬 ATA(Serial Advanced Technology Attachment;SATA), 병렬 ATA(Parallel Advanced Technology attachment;PATA), SCSI, 익스프레스 카 드(Express Card) 및 피시아이-익스프레스(PCI-Express) 방식 중 어느 하나일 수 있으며 제한되지 않는다.
메인 메모리 컨트롤러(120)는 메인 메모리 셀 어레이(140)의 복수개의 낸드 플래시 메모리 소자 중 소정 낸드 플래시 메모리 소자(미도시)를 선택하고, 프로그램, 삭제 또는 리드 명령을 제공한다. 또한, 본 발명의 일 실시예에 따르면, 메인 메모리 컨트롤러(120)는 메모리 영역(140)으로부터의 프로그램 펄스 인가 횟수 정보를 이용하여 메모리 영역(140)의 균등한 사용을 제어할 수 있다. 이에 대한 상세한 설명은 후술하기로 한다.
MCU(130)는 메인 메모리 컨트롤러(120)와 제어 명령, 어드레스 신호 및 데이터 신호등을 서로 송수신하거나, 정보등을 일부 저장한다. 이러한 MCU(130)내에는 통상 SRAM(Static Random Access Memory)과 같은 버퍼가 구비될 수 있다.
메모리 영역(140)은 복수의 낸드 플래시 소자(미도시) 및 수명 관리부(148)를 포함한다. 메모리 영역(140)은 메인 메모리 컨트롤러(120)에 제어되어 복수의 낸드 플래시 소자를 통해 데이터의 프로그램, 삭제 및 리드 동작이 수행된다. 한편, 본 발명의 일 실시예에 따른 메모리 영역(140)은 수명 관리부(148)를 구비하여, 낸드 플래시 소자(미도시)의 프로그램 펄스 인가 횟수를 저장할 수 있다.
보다 구체적으로, 수명 관리부(148)는 데이터의 프로그램시 사용되는 프로그램 펄스의 횟수를 저장함으로써, 메모리 영역(140)에서 낸드 플래시 소자의 사용 빈도수를 간접적으로 체크할 수 있도록 한다. 즉, 메모리 영역(140)이 프로그램 펄스의 횟수를 메인 메모리 컨트롤러(120)에 제공하면, 메인 메모리 컨트롤러(120)는 프로그램 펄스의 횟수가 임계치인지 판단하여 임계치의 해당 페이지대신 다른 페이지에서 프로그램이 수행되도록 제어할 수 있다.
이와 같이, 본 발명의 일 실시예에 따르면 메모리 영역(140)이 낸드 플래시 소자내 페이지의 사용 빈도가 되는 프로그램 펄스 인가 횟수를 저장하고, 메인 메모리 컨트롤러(120)에서 이러한 정보를 이용하도록 한다. 환언하면, 종래와 같이, 메인 메모리 컨트롤러(120)가 직접 메모리 영역(140)에 대해 웨어 레벨링을 수행하는 것은 많은 시간이 소요될 뿐 아니라, 웨어 레벨링 수행 시간동안 메인 메모리 컨트롤러(120)는 다른 작업을 처리하기 어려웠다. 하지만, 본 발명의 일 실시예에 따르면, 메인 메모리 컨트롤러(120)의 웨어 레벨링에 대한 작업 수행의 부담을 줄이면서도 균등한 메모리 영역(140)의 사용을 유도할 수 있다.
이에 대한 설명은 다음의 도면들을 참조하여 상세히 설명하기로 한다.
도 3은 수명 관리부(148)의 개념적인 블록도이다.
수명 관리부(148)는 프로그램 제어부(142) 및 레지스터(146)를 포함한다.
프로그램 제어부(142)는 외부 명령어에 응답하여 소정 전압의 프로그램 펄스(VPGM)를 낸드 플래시 소자(점선으로 표시)의 해당 페이지에 제공한다. 당업자라면 이미 잘 알고 있는 바와 같이, 낸드 플래시 소자의 프로그램은 페이지 단위로 수행되며, 해당 페이지의 워드라인에 고전압, 예컨대 18-20V의 전압을 인가하여 F-N 터널링 효과에 의해 전하가 플로팅 게이트에 축적되도록 하는 것이다.
이때, 프로그램 전압 인가 방법은 증가형 스텝 펄스 프로그램(Incremental Step Pulse Programming; ISPP)방식을 이용하는 것으로 예시하나, 이에 제한되지 않는다. 우선, 프로그램 명령에 응답하여 소정 전압의 프로그램 펄스(VPGM)를 일단 인가하고 매 펄스 인가시마다 프로그램 성공 여부를 검증(verify)하면서 점차적으로 프로그램 펄스(VPGM)의 전압을 소정 전압만큼 증가시키는 방식이다. 따라서, 프로그램이 완성이 되기까지, 프로그램 제어부(142)는 소정 횟수 이상의 프로그램 펄스(VPGM)를 인가해야 하며, 프로그램이 성공하는 시점까지 프로그램 펄스 인가 횟수(PCNT)를 계속 카운팅하도록 한다. 여기서의 프로그램 제어부(142)는 도시하지 않았으나 카운터를 포함하는 통상의 ISPP 방식의 프로그램 제어부로 예시하였다.
레지스터(146)는 프로그램이 성공된 시점의 카운팅된 프로그램 펄스 인가 횟수(PCNT)를 저장한다.
즉, 본 발명의 일 실시예에 따른 레지스터(146)는 페이지마다 프로그램 펄스 인가 횟수(PCNT)를 저장하여, 메인 메모리 컨트롤러(120)에 제공하고, 이러한 과정을 반복하면서 페이지마다의 프로그램 펄스 인가 횟수(PCNT)를 누적한다. 그리하여, 메인 메모리 컨트롤러(120)는 해당 페이지의 저장된 프로그램 펄스 인가 횟수가 기 설정된 임계치인지 판단하여 임계치이면 해당 페이지의 수명 한계를 감지한다. 이에 따라, 메인 메모리 컨트롤러(120)는 해당 페이지에 추가의 프로그램이 수행되지 않도록 하고, 다음의 프로그램 명령에 응답하여 다른 페이지에서 수행되도록 제어할 수 있다.
이로써, 본 발명의 일 실시예에 따르면, 수명 관리부(148)의 정보를 이용하 여 메모리 영역(140)의 수명 관리를 하는 것이 용이해질 수 있다. 한편, 설명의 편의상, 여기서는 낸드 플래시 소자가 블록당 128 페이지를 포함하는 것으로 예시한다.
다시 말하면, 특정 페이지가 빈번하게 프로그램된다면, 누적된 프로그램 펄스 인가 횟수(PCNT)도 상당히 크고 상기 특정 페이지는 마모(wear-out)가 심할 것이다. 따라서, 이러한 경우, 상기 특정 페이지에는 추가의 프로그램이 수행되지 않도록 제어할 필요가 있다. 본 발명의 일 실시예에서는 메인 메모리 컨트롤러(120)가 레지스터(146)의 저장된 프로그램 펄스 인가 횟수(PCNT)를 수신하여, 해당 페이지의 프로그램 여부만 제어함으로써, 메인 메모리 컨트롤러(120)의 작업 수행 부담이 경감될 수 있다.
도 4는 도 1에 따른 반도체 스토리지 시스템의 제어 방법을 나타낸 순서도이다.
다시 도 1 내지 도 4를 참조하면, 외부로부터 프로그램 명령어가 입력된다(S10).
그리하여, 프로그램 제어부(142)에서 우선 소정 전압을 갖는 프로그램 펄스를 인가한다(S20).
프로그램 펄스(VPGM) 인가 후, 프로그램이 성공했는지 검증을 한다(S30).
미처 프로그램되지 못했다면, 프로그램 펄스(VPGM)의 전압 크기를 기 설정된 전압 스텝(ΔV)만큼 증가시켜(S40), 이전 단계보다 높아진 전압을 갖는 프로그램 펄스를 다시 인가한다(S20).
상기의 과정을 반복하여 프로그램이 성공했다면, 프로그램 펄스 스텝의 수를 카운팅하여 해당 페이지에 프로그램 펄스가 인가된 횟수를 레지스터(146)에 저장한 후, 메인 메모리 컨트롤러(120)에 제공한다(S50).
메인 메모리 컨트롤러(120)는 프로그램 펄스 인가 횟수가 임계치인지 판단한다(S60).
그리하여, 해당 페이지의 프로그램 펄스 인가 횟수가 임계치이면 불량 페이지 처리하여, 해당 페이지가 억세스되지 않도록 제어한다(S70).
하지만, 해당 페이지의 프로그램 펄스 인가 횟수가 임계치를 초과하지 않으면 해당 페이지에서 계속 추가의 프로그램 명령이 수행되는 것을 허용한다(S80).
이상과 같이, 본 발명의 일 실시예에 따른 반도체 스토리지 시스템은 페이지 단위로 프로그램 펄스 인가 횟수를 카운팅하고, 이를 이용함으로써 전 메모리 영역(140)의 균등한 사용을 제어할 수 있다. 또한, 이러한 프로그램 펄스 인가 횟수를 메모리 영역(140)내에 저장함으로써 메인 메모리 컨트롤러(120)의 작업 수행에 대한 부하를 경감시킬 수 있다. 더 나아가, 프로그램 펄스 인가 횟수(PCNT)를 웨어 레벨링의 기준으로 이용함으로써, 블록 단위로 제어하는 종래의 수명 관리 방법보다 미세한 페이지 단위로 제어함으로써 메모리 영역(140)을 보다 효율적으로 관리할 수 있다. 이뿐 아니라, 웨어 레벨링의 기준이 되는 횟수에 대한 카운팅 및 저장의 작업이 메모리 영역(140)에 의해 수행하는 것이 가능해짐으로써, 메모리 영역(140)을 제어하는 다양한 컨트롤 유닛 또는 다양한 컨트롤러에 대해 보다 자유롭게 적용시킬 수 있다.
본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
도 1a 및 도 1b는 종래의 불균등한 메모리 영역의 용례를 나타내는 그래프,
도 2는 본 발명의 일 실시예에 따른 반도체 스토리지 시스템의 블록도,
도 3은 도 2에 따른 수명 관리부의 개념적인 블록도, 및
도 4는 도 2에 따른 반도체 스토리지 시스템의 제어 방법을 나타낸 순서도이다.
<도면의 주요 부분에 대한 부호의 설명>
110: 호스트 인터페이스 120: 메인 메모리 컨트롤러
130: MCU 140: 메모리 영역
142: 프로그램 제어부 146: 레지스터
148: 수명 관리부
Claims (15)
- 복수의 페이지를 포함하며, 상기 각 페이지에 대한 프로그램 완료 시점의 프로그램 펄스 인가 횟수를 누적 카운팅하여 프로그램 관련 정보로서 저장하는 메모리 영역; 및상기 프로그램 관련 정보에 따라 각 페이지의 프로그램 여부를 결정하는 메인 메모리 컨트롤러를 포함하는 반도체 스토리지 시스템.
- 제 1항에 있어서,상기 메모리 영역은,프로그램시 해당 페이지에 프로그램이 완료되기까지 소정의 전압 크기로 증가된 프로그램 펄스가 인가되는 반도체 스토리지 시스템.
- 삭제
- 제 1항에 있어서,상기 컨트롤러는,상기 프로그램 관련 정보를 수신하여 해당 페이지의 프로그램 펄스 인가 횟수의 누적 카운팅 값이 기 설정된 임계치를 초과하는지 판단함으로써 해당 페이지의 프로그램 여부를 결정하는 반도체 스토리지 시스템.
- 제 1항에 있어서,상기 메모리 영역은 복수의 낸드 플래시 소자를 포함하는 반도체 스토리지 시스템.
- 복수의 칩을 포함하며 상기 각 칩은 복수의 페이지를 포함하며, 상기 페이지에 대한 프로그램 완료 시점의 프로그램 펄스 인가 횟수를 누적 카운팅하여 프로그램 빈도로서 저장하는 수명 관리부를 포함하는 메모리 영역; 및상기 메모리 영역으로부터 해당 페이지의 상기 프로그램 빈도를 수신하여 상기 해당 페이지의 프로그램 여부를 결정하는 메인 메모리 컨트롤러를 포함하는 반도체 스토리지 시스템.
- 제 6항에 있어서,상기 수명 관리부는,프로그램 명령에 응답하여 소정 전압의 프로그램 펄스를 해당 페이지에 증가형 스텝 펄스 프로그램(ISPP; Incremental Step Pulse Programming) 방식으로 제공하고, 상기 페이지에 대한 프로그램 완료 시점의 프로그램 펄스 인가 횟수를 누적 카운팅하여 레지스터로 제공하는 프로그램 제어부; 및상기 프로그램 제어부로부터 상기 누적 카운팅값을 수신하여 상기 프로그램 빈도로서 저장하는 상기 레지스터를 포함하는 반도체 스토리지 시스템.
- 제 7항에 있어서,상기 프로그램 제어부는,매 펄스 인가시마다 프로그램 성공 여부를 검증하면서 소정 전압크기만큼 상기 프로그램 펄스의 전압을 증가시키는 반도체 스토리지 시스템.
- 제 7항에 있어서,상기 레지스터는 상기 누적 카운팅값을 상기 메인 메모리 컨트롤러에 제공하는 반도체 스토리지 시스템.
- 제 9항에 있어서,상기 컨트롤러는,상기 누적 카운팅값을 상기 프로그램 빈도로서 수신하여 해당 페이지의 누적 카운팅값이 기 설정된 임계치를 초과하면, 이후의 프로그램 명령에 응답하여 해당 페이지대신 다른 페이지에 프로그램이 수행되도록 제어하는 반도체 스토리지 시스템.
- 제 6항에 있어서,상기 메모리 영역내 상기 칩은 낸드 플래시 소자인 반도체 스토리지 시스템.
- 외부 프로그램 명령에 응답하여, 메모리 영역의 해당 페이지에 프로그램 펄스를 소정 전압 크기만큼 증가시키며 인가하는 단계;상기 프로그램 완료 시점의 상기 프로그램 펄스 인가 횟수를 누적 카운팅하여 상기 메모리 영역내에 저장하는 단계;메인 메모리 컨트롤러가 상기 메모리 영역내 저장된 상기 누적 카운팅 값을 이용하여 해당 페이지의 프로그램 여부를 결정하는 단계를 포함하는 반도체 스토리지 시스템의 제어 방법.
- 제 12항에 있어서,상기 프로그램 펄스를 인가하는 단계는,상기 프로그램 펄스의 전압을 증가시킬 때, 매 펄스 인가시마다 프로그램 성공 여부를 검증하는 것을 더 포함하는 반도체 스토리지 시스템의 제어 방법.
- 제 12항에 있어서,상기 프로그램 여부를 결정하는 단계는,상기 해당 페이지의 상기 누적 카운팅 값이 임계치를 초과하면 불량 페이지처리하여 이후의 프로그램 명령에 응답하여 상기 해당 페이지에 프로그램이 수행되지 않도록 하는 반도체 스토리지 시스템의 제어 방법.
- 제 14항에 있어서,상기 해당 페이지가 불량 페이지로 처리되면, 이후의 프로그램 명령에 응답하여 상기 해당 페이지대신 다른 페이지에 프로그램 명령이 수행되도록 제어하는 반도체 스토리지 시스템의 제어 방법.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090020225A KR101038991B1 (ko) | 2009-03-10 | 2009-03-10 | 메모리 영역의 균등한 사용을 위한 반도체 스토리지 시스템및 그 제어 방법 |
US12/493,861 US8081517B2 (en) | 2009-03-10 | 2009-06-29 | Solid state storage system for uniformly using memory area and method controlling the same |
TW098126207A TWI484332B (zh) | 2009-03-10 | 2009-08-04 | 用於均勻使用記憶體區域的固態儲存系統及其控制方法 |
US13/296,395 US8902665B2 (en) | 2009-03-10 | 2011-11-15 | Solid state storage system for uniformly using memory area and method controlling the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090020225A KR101038991B1 (ko) | 2009-03-10 | 2009-03-10 | 메모리 영역의 균등한 사용을 위한 반도체 스토리지 시스템및 그 제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100101825A KR20100101825A (ko) | 2010-09-20 |
KR101038991B1 true KR101038991B1 (ko) | 2011-06-03 |
Family
ID=42730593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090020225A KR101038991B1 (ko) | 2009-03-10 | 2009-03-10 | 메모리 영역의 균등한 사용을 위한 반도체 스토리지 시스템및 그 제어 방법 |
Country Status (3)
Country | Link |
---|---|
US (2) | US8081517B2 (ko) |
KR (1) | KR101038991B1 (ko) |
TW (1) | TWI484332B (ko) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8737130B2 (en) * | 2012-02-29 | 2014-05-27 | Sandisk Technologies Inc. | System and method of determining a programming step size for a word line of a memory |
KR102258126B1 (ko) | 2015-03-19 | 2021-05-28 | 삼성전자주식회사 | 메모리 컨트롤러의 작동 방법, 이를 포함하는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템 |
KR20190005447A (ko) * | 2017-07-06 | 2019-01-16 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치의 동작 방법 및 메모리 시스템 |
KR102524916B1 (ko) * | 2018-03-13 | 2023-04-26 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US10490288B1 (en) * | 2018-09-27 | 2019-11-26 | Seagate Technology Llc | Page-level reference voltage parameterization for solid statesolid state storage devices |
US11010244B2 (en) * | 2019-09-16 | 2021-05-18 | Macronix International Co., Ltd. | Memory data management method |
KR20210047198A (ko) * | 2019-10-21 | 2021-04-29 | 에스케이하이닉스 주식회사 | 메모리 장치 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050047207A1 (en) | 2002-06-07 | 2005-03-03 | Yoshihisa Sugiura | Non-volatile semiconductor memory |
WO2008029457A1 (fr) * | 2006-09-06 | 2008-03-13 | Fujitsu Limited | Mémoire non volatile |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030163633A1 (en) | 2002-02-27 | 2003-08-28 | Aasheim Jered Donald | System and method for achieving uniform wear levels in a flash memory device |
US6985992B1 (en) * | 2002-10-28 | 2006-01-10 | Sandisk Corporation | Wear-leveling in non-volatile storage systems |
CN100483552C (zh) * | 2002-10-28 | 2009-04-29 | 桑迪士克股份有限公司 | 在非易失性存储系统中执行自动磨损平衡的方法 |
US6944063B2 (en) * | 2003-01-28 | 2005-09-13 | Sandisk Corporation | Non-volatile semiconductor memory with large erase blocks storing cycle counts |
US7818492B2 (en) * | 2004-02-26 | 2010-10-19 | Supertalent Electronics, Inc. | Source and shadow wear-leveling method and apparatus |
US7441067B2 (en) * | 2004-11-15 | 2008-10-21 | Sandisk Corporation | Cyclic flash memory wear leveling |
JP2007004892A (ja) * | 2005-06-23 | 2007-01-11 | Toshiba Corp | 半導体集積回路装置 |
US7236402B2 (en) * | 2005-11-30 | 2007-06-26 | Freescale Semiconductor, Inc. | Method and apparatus for programming/erasing a non-volatile memory |
JP4901348B2 (ja) * | 2006-07-20 | 2012-03-21 | 株式会社東芝 | 半導体記憶装置およびその制御方法 |
KR100857761B1 (ko) * | 2007-06-14 | 2008-09-10 | 삼성전자주식회사 | 웨어 레벨링을 수행하는 메모리 시스템 및 그것의 쓰기방법 |
KR101413736B1 (ko) * | 2007-09-13 | 2014-07-02 | 삼성전자주식회사 | 향상된 신뢰성을 갖는 메모리 시스템 및 그것의웨어-레벨링 기법 |
TWI373772B (en) * | 2007-10-04 | 2012-10-01 | Phison Electronics Corp | Wear leveling method and controller using the same |
KR101401560B1 (ko) * | 2007-12-13 | 2014-06-03 | 삼성전자주식회사 | 반도체 메모리 시스템 및 그것의 마모도 관리 방법 |
US8036035B2 (en) * | 2009-03-25 | 2011-10-11 | Micron Technology, Inc. | Erase cycle counter usage in a memory device |
-
2009
- 2009-03-10 KR KR1020090020225A patent/KR101038991B1/ko active IP Right Grant
- 2009-06-29 US US12/493,861 patent/US8081517B2/en active Active
- 2009-08-04 TW TW098126207A patent/TWI484332B/zh active
-
2011
- 2011-11-15 US US13/296,395 patent/US8902665B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050047207A1 (en) | 2002-06-07 | 2005-03-03 | Yoshihisa Sugiura | Non-volatile semiconductor memory |
WO2008029457A1 (fr) * | 2006-09-06 | 2008-03-13 | Fujitsu Limited | Mémoire non volatile |
Also Published As
Publication number | Publication date |
---|---|
TWI484332B (zh) | 2015-05-11 |
US20100232226A1 (en) | 2010-09-16 |
TW201033806A (en) | 2010-09-16 |
KR20100101825A (ko) | 2010-09-20 |
US20120124302A1 (en) | 2012-05-17 |
US8081517B2 (en) | 2011-12-20 |
US8902665B2 (en) | 2014-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11860774B2 (en) | User device including a nonvolatile memory device and a data write method thereof | |
JP5222232B2 (ja) | フラッシュメモリシステムにおけるハウスキーピング操作のスケジューリング | |
KR102501751B1 (ko) | 메모리 콘트롤러, 불휘발성 메모리 시스템 및 그 동작방법 | |
US9779833B2 (en) | Flash memory device revising program voltage, three-dimensional memory device, memory system including the memory device, and methods of programming the memory device | |
US9298608B2 (en) | Biasing for wear leveling in storage systems | |
US20170168752A1 (en) | Nonvolatile memory system with erase suspend circuit and method for erase suspend management | |
JP4643711B2 (ja) | 状況依存メモリ性能 | |
KR101038991B1 (ko) | 메모리 영역의 균등한 사용을 위한 반도체 스토리지 시스템및 그 제어 방법 | |
US11226895B2 (en) | Controller and operation method thereof | |
US20130138870A1 (en) | Memory system, data storage device, memory card, and ssd including wear level control logic | |
US20080294813A1 (en) | Managing Housekeeping Operations in Flash Memory | |
US9639463B1 (en) | Heuristic aware garbage collection scheme in storage systems | |
JP6771621B1 (ja) | 少ないプログラムされたページを有するブロックを消去するシステム及び方法 | |
CN111091859B (zh) | 存储器装置及其操作方法 | |
US20170075610A1 (en) | Solid state memory system with power management mechanism and method of operation thereof | |
US11537318B2 (en) | Memory system and operating method thereof | |
KR101731408B1 (ko) | 플래시 메모리에 데이터를 기록하는 방법 및 관련 메모리 장치 및 플래시 메모리 | |
KR101468432B1 (ko) | 제어된 스크럽 데이터 판독에 의해 트리거되는 플래시 메모리 리프레시 기술 | |
US10254979B1 (en) | Relocating or aborting a block of data by a host, based on media policies managed by a storage device | |
US11557349B2 (en) | Memory device and method of operating the memory device | |
US9799407B2 (en) | Method for operating storage device managing wear level depending on reuse period | |
KR100736093B1 (ko) | Nand 플래시 제어 장치 및 방법 | |
US20240176508A1 (en) | Reliability gain in memory devices with adaptively selected erase policies | |
CN111949208A (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: 20140423 Year of fee payment: 4 |
|
FPAY | Annual fee payment | ||
FPAY | Annual fee payment |
Payment date: 20160422 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170425 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180425 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20190422 Year of fee payment: 9 |