KR20090024192A - 반도체 기억 장치 관리 시스템, 반도체 기억 장치, 호스트 장치, 반도체 기억 장치의 관리 방법 - Google Patents

반도체 기억 장치 관리 시스템, 반도체 기억 장치, 호스트 장치, 반도체 기억 장치의 관리 방법 Download PDF

Info

Publication number
KR20090024192A
KR20090024192A KR1020087031558A KR20087031558A KR20090024192A KR 20090024192 A KR20090024192 A KR 20090024192A KR 1020087031558 A KR1020087031558 A KR 1020087031558A KR 20087031558 A KR20087031558 A KR 20087031558A KR 20090024192 A KR20090024192 A KR 20090024192A
Authority
KR
South Korea
Prior art keywords
semiconductor memory
memory device
life
management system
area
Prior art date
Application number
KR1020087031558A
Other languages
English (en)
Other versions
KR101002531B1 (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 세이코 엡슨 가부시키가이샤
Publication of KR20090024192A publication Critical patent/KR20090024192A/ko
Application granted granted Critical
Publication of KR101002531B1 publication Critical patent/KR101002531B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • G11C29/765Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

하드디스크 장치의 대체로서, 현실적인 이용이 가능한 반도체 기억 장치를 실현하기 위한 반도체 기억 장치 관리 시스템 등을 제공한다. 데이터를 기억하는 반도체 메모리 영역(15)과, 상기 반도체 메모리 영역(15) 내의 불량 블록을 대체하는 불량 블록 대체 영역(16)을 갖는 반도체 기억 장치(10)의 장치 수명을 관리하는 반도체 기억 장치 관리 시스템(SY)으로서, 불량 블록 대체 영역(16)의 소비 블록수를 검출하는 기억 장치측 컨트롤러(12)와, 그 검출 결과에 근거하여 반도체 기억 장치(10)의 장치 수명을 예측하고, 그 예측 결과를 통지하는 호스트측 컨트롤러(31)를 구비한 것이다.

Description

반도체 기억 장치 관리 시스템, 반도체 기억 장치, 호스트 장치, 프로그램, 반도체 기억 장치의 관리 방법{SEMICONDUCTOR STORAGE DEVICE MANAGEMENT SYSTEM, SEMICONDUCTOR STORAGE DEVICE, HOST UNIT, PROGRAM AND SEMICONDUCTOR STORAGE DEVICE MANAGEMENT METHOD}
장치 수명이 있는 반도체 기억 장치를 관리하는 반도체 기억 장치 관리 시스템, 반도체 기억 장치, 호스트 장치, 프로그램, 반도체 기억 장치의 관리 방법에 관한 것이다.
최근, NAND형 플래쉬 메모리를 대표로 하는 비휘발성 메모리를 기억 매체로 한 반도체 기억 장치(실리콘 디스크)는, 하드디스크 장치의 대체로서 주목받고 있다. 그 이유로서는, 하드디스크 장치와 비교해서, 회전 기구 등의 고장 요소가 없는 것, 저소비 전력인 것, 24시간 연속 사용할 수 있는 것, 가동음이 없는 것, 진동 등에 대한 내충격성이 있는 것 등을 들 수 있다. 그러나, 이러한 반도체 기억 장치는 데이터의 리라이팅 횟수에 제한이 있어, 통상 수만회 내지 수십만회 정도의 장치 수명으로 되어 버린다. 게다가, 특정한 영역(기억 소자)에 리라이팅이 집중 하면, 수명이 더욱 짧아져 버린다. 이러한 문제를 해소하는 기술로서, 특허 문헌 1에 기재된 것이 알려져 있다.
특허 문헌 1: 일본 특허 공개 평성 제05-204561호 공보
특허 문헌 1에는, 플래쉬 메모리 내에, 데이터를 기억하는 데이터 메모리 영역과, 상기 데이터 메모리 영역 내의 에러 영역을 대체하는 대체 메모리 영역과, 데이터 메모리 중 에러로 된 데이터 메모리의 대체 메모리의 어드레스를 에러 정보로서 갖는 에러 메모리 영역을 마련함과 아울러, 이들 각 영역으로의 판독/기입을 실행하는 메모리 컨트롤러를 갖는 반도체 기억 장치(반도체 디스크)가 기재되어 있다. 이러한 구성에 있어서, 메모리 컨트롤러는 에러 메모리 영역의 에러 정보를 판독하여, 데이터 메모리 영역이 정상일 때에는 데이터 메모리 영역, 이상할 때에는 대체 메모리 영역으로 판독/기입을 실행한다. 기입시에 있어서, 에러가 발생한 경우는, 불량 블록 대체 영역의 빈 영역을 찾아서, 빈 영역으로 데이터를 기입함과 아울러, 에러가 있었던 메모리 영역의 에러 정보를 갱신한다. 이러한 제어를 행함으로써, 플래쉬 메모리의 리라이팅에 의한 에러를 구제하여, 반도체 기억 장치의 수명 연장을 도모하는 것이다.
발명의 개시
발명이 해결하고자 하는 과제
그러나, 특허 문헌 1에 기재된 기술은 반도체 기억 장치의 수명 연장을 도모할 수 있지만, 수명을 없애는 것은 불가능하다. 이 밖에, 장치 수명을 연장하기 위한 여러 가지의 기술(특정한 영역으로의 리라이팅 집중을 회피하는 평활화 처리(웨어 레벨링) 등)이 제안되고 있지만, 모두 수명을 무한하게 할 수 있는 것은 아니다.
따라서, 종래 기술에서는, 현실적으로 반도체 기억 장치를 하드디스크 장치의 대체로서 이용하는 것은 불가능하다. 물론, 리라이팅을 금지 또는 제한하는 내장 기기나, 리라이팅 횟수가 어느 정도 추측 가능한 오디오 기기 등의 기억 장치로서 이용하는 것은 가능하지만, 애플리케이션이나 운용에 제한이 생겨 버린다. 또한, 사전에 수명을 계산해서 이용하거나, 정기적으로 교환하는 방법도 생각되지만, 전자의 경우는 신뢰성이 부족하고, 후자의 경우는 장치 수명 전에 교환이 필요하게 되는 등, 모두 현실적인 운용에 어려움이 있다.
이러한 문제점을 감안하여, 하드디스크 장치의 대체로서, 현실적인 이용이 가능한 반도체 기억 장치를 실현하기 위한 반도체 기억 장치 관리 시스템, 반도체 기억 장치, 호스트 장치, 프로그램, 반도체 기억 장치의 관리 방법을 제공하는 것을 과제로 한다.
과제를 해결하기 위한 수단
본 발명의 반도체 기억 장치 관리 시스템은, 데이터를 기억하는 반도체 메모리 영역과, 이 반도체 메모리 영역 내의 불량 블록을 대체하는 불량 블록 대체 영역을 갖는 반도체 기억 장치의 장치 수명을 관리하는 반도체 기억 장치 관리 시스템으로서, 불량 블록 대체 영역의 소비 블록수를 검출하는 소비 블록수 검출 수단 과, 소비 블록수 검출 수단의 검출 결과에 근거해서, 상기 반도체 기억 장치의 장치 수명을 예측하여, 그 예측 결과를 통지하는 수명 통지 수단를 구비하고 있는 것을 특징으로 한다.
또한, 본 발명의 반도체 기억 장치의 관리 방법은, 데이터를 기억하는 반도체 메모리 영역과, 이 반도체 메모리 영역 내의 불량 블록을 대체하는 불량 블록 대체 영역을 갖는 반도체 기억 장치의 관리 방법으로서, 불량 블록 대체 영역의 소비 이력에 근거해서, 반도체 기억 장치의 장치 수명을 예측하여, 그 예측 결과를 통지하는 것을 특징으로 한다.
이들 구성에 의하면, 반도체 메모리 영역 내의 불량 블록을 대체하는 불량 블록 대체 영역의 소비 블록수(소비 이력)에 근거해서, 반도체 기억 장치의 장치 수명을 예측하여, 그 예측 결과를 통지하기 때문에, 사용자는 반도체 기억 장치의 장치 수명을 파악할 수 있다. 이에 따라, 반도체 기억 장치를 소모품으로 파악하여 적절한 시기에 교환할 수 있기 때문에, 사용자의 의도에 반하여 반도체 기억 장치가 장치 수명에 도달해 버려서, 데이터의 신뢰성을 잃어버리거나 손실해 버리거나 하는 일이 없다.
또한, 불량 블록 대체 영역의 소비 블록수(소비 이력)에 근거해서 장치 수명을 예측하기 때문에, 리라이팅 횟수를 계수하여 장치 수명을 예측하는 경우와 비교해서, 보다 정확히 수명을 예측할 수 있다. 또한, 리라이팅 횟수를 카운트할 필요가 없기 때문에, 카운터 등의 회로 구성이나 카운트수를 기억하기 위한 메모리를 불필요로 할 수 있다.
상기의 반도체 기억 장치 관리 시스템에 있어서, 소비 블록수 검출 수단의 검출 결과로부터 얻어지는 상기 불량 블록 대체 영역의 소비율 또는 잔존율을 단계적으로 통지하는 단계 통지 수단 더 구비하고 있는 것이 바람직하다.
이 구성에 의하면, 사용자는 단계적으로 불량 블록 대체 영역의 소비율 또는 잔존율을 파악할 수 있다. 즉, 사용자는 반도체 기억 장치가 장치 수명에 이르기까지의 경위를 확인할 수 있기 때문에, 안심하고 반도체 기억 장치를 이용할 수 있다.
상기의 반도체 기억 장치 관리 시스템에 있어서, 반도체 메모리 영역 내의 각 블록에 대한 리라이팅 횟수를 평활화하는 평활화 수단을 더 구비하고 있는 것이 바람직하다.
이 구성에 의하면, 평활화 처리에 의해, 장치 수명을 연장시킬 수 있다.
상기의 반도체 기억 장치 관리 시스템에 있어서, 반도체 메모리 영역 및 불량 블록 대체 영역은 비휘발성 메모리에 의해 구성되어 있는 것이 바람직하다.
이 구성에 의하면, 비휘발성 메모리를 이용하기 때문에, 전원 차단 후에도 데이터를 보지(保持)해 둘 수 있다. 즉, 휘발성 메모리를 이용한 경우에 필요하게 되는 번거로운 처리(전원 차단 전에 반도체 메모리 영역 및 불량 블록 대체 영역 내의 데이터를 다른 비휘발성 메모리에 일단 기입해 두는 등의 처리)나, 백업 전지 등을 필요로 하지 않는다.
상기의 반도체 기억 장치 관리 시스템에 있어서, 수명 통지 수단 및/또는 단계 통지 수단은 화면 표시, 음성 출력, 전자 메일 송신, 커맨드 송신, 전화 중 어 느 하나의 수단을 이용하여, 통지하는 것이 바람직하다.
이 구성에 의하면, 화면 표시, 음성 출력, 전자 메일 송신, 커맨드 송신, 전화 등의 수단을 이용하여, 사용자에 대하여, 장치 수명이나 불량 블록 대체 영역의 소비 블록수를 통지할 수 있다.
상기의 반도체 기억 장치 관리 시스템에 있어서, 수명 통지 수단은, 불량 블록 대체 영역의 단위 시간당 후천성 불량 블록 발생수의 최악값, 평균값 또는 현재값 중 어느 하나에 근거하여, 상기 장치 수명을 예측하는 것이 바람직하다.
이 구성에 의하면, 불량 블록 대체 영역의 단위 시간당 후천성 불량 블록 발생수(불량 블록 대체 영역의 소비 블록수(불량 블록 총수)로부터 공장 출하시에 있어서의 선천성 불량 블록수를 뺀 값)에 근거하여 장치 수명을 예측하기 때문에, 선천성 불량 블록수의 영향을 받지 않고 보다 정확한 예측을 할 수 있다. 또한, 최악값을 이용하여 예측함으로써, 장치 수명이 되기 전에 확실히 장치 수명을 통지할 수 있다. 또한, 평균값을 이용하여 예측함으로써, 후천성 불량 블록 발생수가 균일하게 증가하지 않는 경우에도, 장치 수명을 통지할 수 있다. 또한, 현재값을 이용하여 예측함으로써, 과거에 취득한 후천성 불량 블록수를 보존해 둘 필요가 없고, 후천성 불량 블록 발생수가 균일하게 증가한다고 상정되는 경우, 실사용 환경에 적합한 통지를 행할 수 있다.
상기의 반도체 기억 장치 관리 시스템에 있어서, 반도체 기억 장치 관리 시스템은 반도체 기억 장치와, 반도체 기억 장치에 액세스하는 호스트 장치로 이루어지고, 반도체 기억 장치는 소비 블록수 검출 수단 및 평활화 수단을 실현하기 위한 기억 장치측 컨트롤러를 갖고, 호스트 장치는 수명 통지 수단 및 단계 통지 수단을 실현하기 위한 호스트측 컨트롤러를 갖고 있는 것이 바람직하다.
이 구성에 의하면, 호스트측 컨트롤러가 수명 통지 수단 및 단계 통지 수단을 실현하기 때문에, 기억 장치측 컨트롤러는 소비 블록수 검출 수단 및 평활화 수단을 실현할 뿐이어도 좋다. 즉, 반도체 기억 장치의 제어 부하 경감 및 저렴화를 도모할 수 있다.
상기의 반도체 기억 장치 관리 시스템에 있어서, 호스트측 컨트롤러는 기억 장치측 컨트롤러에 폴링(polling)하여, 상기 소비 블록수 검출 수단의 검출 결과를 취득하는 것이 바람직하다.
이 구성에 의하면, 호스트측 컨트롤러가 기억 장치측 컨트롤러에 폴링하여, 소비 블록수 검출 수단의 검출 결과(불량 블록 대체 영역의 소비 블록수)를 취득할 수 있기 때문에, 기억 장치측 컨트롤러는 그것에 대하여 대응할 뿐이어도 좋다. 이에 따라, 기억 장치측 컨트롤러(반도체 기억 장치측)의 제어 부하를 보다 경감할 수 있다.
본 발명의 반도체 기억 장치는 상기의 반도체 기억 장치 관리 시스템에 적용되는 것을 특징으로 한다.
본 발명의 호스트 장치는 상기의 반도체 기억 장치 관리 시스템에 적용되는 것을 특징으로 한다.
본 발명의 프로그램은, 컴퓨터를, 상기의 반도체 기억 장치 관리 시스템에서의 각 수단으로서 기능시키기 위한 것을 특징으로 한다.
이것들을 이용함으로써, 하드디스크 장치의 대체로서, 현실적인 이용이 가능한 반도체 기억 장치를 실현하기 위한 반도체 기억 장치 관리 시스템을 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 반도체 기억 장치 관리 시스템의 시스템 구성을 나타내는 블록도,
도 2는 관리 툴에 의한 표시예를 나타내는 도면,
도 3은 반도체 기억 장치의 소비율, 잔존율 및 장치 수명의 산출 처리를 설명하는 도면,
도 4는 반도체 기억 장치의 관리 처리를 나타내는 흐름도,
도 5는 반도체 기억 장치 측에서 불량 블록 대체 영역의 소비율을 산출하는 경우를 설명하는 도면.
발명을 실시하기 위한 최선의 형태
이하, 본 발명의 일실시예에 따른 반도체 기억 장치 관리 시스템, 반도체 기억 장치, 호스트 장치, 프로그램, 반도체 기억 장치의 관리 방법에 대해서 설명한다. 도 1은 반도체 기억 장치 관리 시스템(SY)의 시스템 구성을 나타내는 블록도이다. 반도체 기억 장치 관리 시스템(SY)은 하드디스크 장치의 대체로서 이용되는 반도체 기억 장치(예컨대, 실리콘 디스크)(10)와, 상기 반도체 기억 장치(10)에 액 세스하는 호스트 장치(예컨대, 퍼스널 컴퓨터)(30)와, 상기 호스트 장치(30)의 주변 기기인 디스플레이(36) 및 스피커(37)에 의해 구성되어 있다.
반도체 기억 장치(10)는 I/F 블록(11), 기억 장치측 컨트롤러(12), ROM(13), RAM(14) 및 NAND형 플래쉬 메모리(20)를 구비하고, 이것들은 도시하지 않은 내부 버스에 의해 접속되어 있다. 또한, NAND형 플래쉬 메모리(20)는 기억 매체로서 데이터를 기억하는 반도체 메모리 영역(15), 및 상기 반도체 메모리 영역(15) 내의 불량 블록을 대체하는 불량 블록 대체 영역(16)을 갖고 있다.
NAND형 플래쉬 메모리(20)는 비트 단가와 용량면에서 유리하기 때문에, 저장 장치의 용도로서 많이 이용되는 메모리이다.
또한, NAND형 플래쉬 메모리(20)에는, 통상 SLC(싱글 레벨 셀)로 불리우는 1셀당 1비트의 플래쉬 메모리가 사용된다. 본 실시예에서는 수명을 관리할 수 있기 때문에, 리라이팅 횟수의 제한이나 신뢰성이 뒤떨어지는 MLC(멀티 레벨 셀)로 불리우는 1셀당의 비트수를 늘린 플래쉬 메모리를 이용하는 것도 가능하다. 이와 같이, MLC를 이용함으로써, 대용량화 또한 비용 이점의 향상을 도모할 수 있다.
또한, NAND형 플래쉬 메모리(20) 이외에도, AND형 플래쉬 메모리나 백업 전지가 부착된 SRAM으로, 반도체 메모리 영역(15) 및 불량 블록 대체 영역(16)을 구성하는 것도 가능하다.
I/F 블록(11)은 호스트 장치(30)와의 데이터 전송을 행하는 것이며, 그 데이터 전송 속도를 고속화하기 위해서, 호스트 장치(30)로부터의 판독/기입 데이터, 및 커맨드를 버퍼링하기 위한 메모리(버퍼, 도시 생략)를 갖고 있다. 또한, I/F 블록(11)은 용도에 맞춰서, IDE, SCSI, 직렬 ATA 등의 데이터 전송 규격을 채용할 수 있다.
기억 장치측 컨트롤러(12)는, CPU(21) 외에, 상기 CPU(21)에 의해 판독/기입되는 어드레스 변환 테이블(22), 대체 영역 관리 테이블(23) 및 대체 영역 정보(24)를 갖고 있다.
어드레스 변환 테이블(22)은, CPU(21)가 호스트 장치(30)와 주고 받기 위한 논리 블록 어드레스와, 실제로 반도체 기억 장치(10) 내에 데이터를 기입하기 위한 물리 블록 어드레스를 연관시킬 때에 참조하는 대응 리스트이다.
상기한 바와 같이, 본 실시예의 반도체 기억 장치(10)는 NAND형 플래쉬 메모리(20)를 채용하고 있지만, 상기 NAND형 플래쉬 메모리(20)는 데이터의 오버라이팅이 불가능하기 때문에, 데이터의 리라이팅을 행하는 경우, 소거 완료된 블록에 신규 데이터를 기입하고, 리라이팅 전의 데이터가 기입되어 있었던 블록을 소거하는 처리를 실행한다. CPU(21)는 데이터의 리라이팅마다, 어드레스 변환 테이블(22)의 내용에 따라서 상기 블록의 데이터를 리라이팅한다(어드레스 변환 테이블은 호스트 장치(30)로부터의 논리 블록 어드레스와 반도체 기억 장치(10)의 물리 블록 어드레스와의 대응 관계를 정의하고 있음). 그때, CPU(21)는 블록(물리 블록 어드레스)마다 리라이팅 횟수 또는 소거 횟수를 카운트하여, 그것들이 소정의 설정수 이상으로 되면, 리라이팅 횟수가 적은 블록으로 데이터를 교체한다. 즉, 반도체 메모리 영역(15) 내의 각 블록으로의 리라이팅 횟수가 평활화되도록, 블록의 데이터를 다른 블록으로 이동시키고, 해당하는 어드레스 변환 테이블(22)을 리라이팅하는 평활 화 처리를 실행한다(평활화 수단).
또한, 리라이팅 횟수의 증가에 따라서, 반도체 메모리 영역(15)에 기입 에러가 발생하는 경우가 있지만, 그러한 기입 에러가 발생한 경우, CPU(21)는 해당하는 반도체 메모리 영역(15) 내의 불량 블록의 어드레스를 불량 블록 대체 영역(16) 내의 대체 블록에 할당하고, 이후는 불량 블록 대체 영역(16)에 액세스하는 바와 같은 처리를 실행한다. 또한, 이와 같이, 가동시(통상 사용시)에 있어서 기입 에러가 발생한 불량 블록(이후, 「후천성 불량 블록」이라고 함)의 어드레스는, 대체 영역 관리 테이블(23)에 기입하고, 이후의 액세스를 금지한다. 이에 반하여, NAND형 플래쉬 메모리(20)에는 공장 출하시에 있어서 이미 불량 블록이 존재하는 경우가 있지만, 대체 영역 관리 테이블(23)에는 이 선천성 불량 블록의 어드레스도 기입되어 있다.
대체 영역 정보(24)는 반도체 기억 장치(10)의 장치 수명을 관리하기 위한 데이터이며, 구체적으로는, 불량 블록 대체 영역(16)의 불량 블록 총수(A), 공장 출하시의 선천성 불량 블록수(B), 가동시에 불량으로 된 후천성 불량 블록수(C), 단위 시간당 후천성 불량 블록의 발생수(D)에 관한 데이터이다(도 3 참조).
불량 블록 총수(A)는 미리 반도체 메모리 영역(15) 내의 불량 블록을 대체하기 위해서 준비된 불량 블록 대체 영역(16)의 블록 총수이다. 또한, 선천성 불량 블록수(B)는 제조사의 검출 수단에 따라서 공장 출하시에 검출하여 등록한 값이다. 또한, 후천성 불량 블록수(C)는 불량 블록 대체 영역(16)을 취득할 때에 CPU(21)가 취득한 블록수를 가산하여 리라이팅하는 값이다. 또한, 단위 시간당 후천성 불량 블록의 발생수(D)는, 예를 들면 10분마다 후천성 불량 블록의 발생수를 카운트하여, 전회의 카운트값과의 차분에 근거해서 산출한다. 또한, 장치 수명의 상세한 산출 방법 등에 대해서는 후술한다.
그 밖에, CPU(21)는, 본 실시예의 반도체 기억 장치(10)가 하드디스크의 대체로서 사용되기 때문에, 하드디스크용의 커맨드를 해석하여 NAND형 플래쉬 메모리(20)에 할당하는 처리를 실행한다.
또한, 어드레스 변환 테이블(22), 대체 영역 관리 테이블(23) 및 대체 영역 정보(24)는 모두 비휘발적으로 기억되어 있으면 좋고, 반드시 기억 장치측 컨트롤러(12)가 이것들을 갖는 구성이 아니어도 좋다. 즉, 이것들을 기억하기 위한 범용 메모리 칩(EEPROM 등)을 탑재해도 좋다.
한편, ROM(13)은 기억 장치 내 펌웨어(26)를 갖고 있다. 이 기억 장치 내 펌웨어(26)에는, 기억 장치측 컨트롤러(12)(CPU(21))가 상기의 각 처리를 실현하기 위한 제어 프로그램 외에, 통상 처리(호스트 장치(30)와 판독/기입이나, 호스트 장치(30)로부터의 커맨드 송신에 대한 상태의 회신, 전원 투입시 초기화(전원 차단시의 퇴피 처리 등)를 행하기 위한 제어 프로그램이 기록되어 있다.
또한, RAM(14)은 CPU(21)의 처리시에서의 워크 에어리어로서 이용되어, 각종 플래그 등을 기억한다. 예컨대, CPU(21)는, 후천성 불량 블록이 단위 시간 내에 급격히 증가한 경우나, 반도체 기억 장치(10)에 이상이 생긴 경우, 그들 에러 정보를 나타내는 플래그를 RAM(14)에 반영시킴과 아울러, 호스트 장치(30)에 통지한다. 호스트 장치(30)는 상기 에러 정보의 통지를 받으면, 반도체 기억 장치(10)로의 기 입을 금지하고, 그 취지를 통지한다.
반도체 메모리 영역(15)은 선천성 불량 블록 및 후천성 불량 블록이 발생하는 것을 전제로, 그 기입 알고리즘이 짜여져 있다. 또한, 에러 검출에는, 패리티가 아니라, 정정 기능이 있는 ECC가 사용된다.
불량 블록 대체 영역(16)은 상기한 바와 같이 반도체 메모리 영역(15) 내의 불량 블록을 대체하는 것이지만, 거의 전영역을 소비한 시점에서 호스트 장치(30)에 의해 장치 수명으로 판정된다. 환언하면, 장치 수명을 판정하기 위한 지표로서도 사용된다.
계속해서, 호스트 장치(30) 측의 구성을 설명한다. 호스트 장치(30)는 호스트측 컨트롤러(31) 및 호스트측 관리 프로그램(32)을 구비하고 있다. 호스트측 컨트롤러(31)는, 호스트측 관리 프로그램(32)에 근거하여, 기억 장치측 컨트롤러(12)에 정기적으로 폴링하고, 이에 대한 기억 장치측 컨트롤러(12)의 반응에 의해, 상기의 대체 영역 정보(24)나 각종 에러 정보를 취득한다. 또한, 취득한 정보에 근거하여, 반도체 기억 장치(10)의 장치 수명을 예측(산출)하여, 상기 예측 결과를 통지한다(수명 통지 수단). 또한, 동일하게 취득한 정보에 근거하여, 불량 블록 대체 영역(16)의 소비율 또는 잔존율을 산출하고, 이 소비율 또는 잔존율을 단계적으로 통지한다(단계 통지 수단).
또한, 「소비율 또는 잔존율을 단계적으로 통지함」이란, 소비율 또는 잔존율이 어떤 소정값을 초과했을 때에 소정의 통지를 행하는 것이 아니라, 이들 값의 대소에 상관없이 값이 변화해 가는 경위를 사용자가 판단할 수 있도록 정기적으로 통지하는 것을 가리킨다(예를 들면, 백분률의 바(bar) 표시나 원 표시 등). 또한, 「장치 수명이나, 불량 블록 대체 영역(16)의 소비율 또는 잔존율을 통지함」이란, 디스플레이 상(36)에 그것들의 값을 표시하거나, 스피커(37)에 의해 음성 출력(음성 가이던스나 소정의 전자음의 발생)하는 것을 가리킨다. 또한, 호스트 장치(30)가 인터넷 접속 기능을 갖고 있는 경우는, 전자 메일 송신에 의해, 그 송신 대상으로 되는 퍼스널 컴퓨터나 각종 정보 단말에 대하여 통지하거나, 커맨드 송신에 의해, 네트워크 접속된 서버 등에 통지해도 좋다(서버로부터의 원격 감시이어도 좋음). 또한, 호스트 장치(30)가 전화 접속 기능을 갖고 있는 경우는, 전화에 의해, 그 통화 대상으로 되는 상대에 대하여 통지해도 좋다.
또한, 호스트측 컨트롤러(31)는 반도체 기억 장치(10)로부터 취득한 대체 영역 정보(24)를 기억 장치 관리 데이터(41)로서 기록하고, 폴링할 때에 갱신한다. 예컨대, 사용자가 도시하지 않은 조작 수단(키보드나 마우스 등)을 이용하여, 반도체 기억 장치(10)의 장치 수명이나, 불량 블록 대체 영역(16)의 소비율 또는 잔존율을 문의한 경우, 이 기억 장치 관리 데이터(41)에 근거하여, 화면 표시나 음성 출력 등에 의해 그것들의 값을 통지한다.
호스트측 관리 프로그램(32)은 호스트측 컨트롤러(31)가 상기의 각종 처리나, 반도체 기억 장치(10)와의 통상 처리를 행하기 위한 제어 프로그램을 기억하고 있다. 또한, 반도체 기억 장치(10)의 장치 수명이나, 불량 블록 대체 영역(16)의 소비율 또는 잔존율을 통지하거나, 이것들에 관한 각종 설정을 행하기 위한 관리 툴도 호스트측 관리 프로그램(32)에 포함된다.
도 2는 그 관리 툴에 의한 통지예(표시예)(50)를 나타낸 것이다. 여기서는, 불량 블록 대체 영역(16)의 합계 사이즈(51), 불량 블록 대체 영역(16)의 소비 영역 및 잔존 영역, 및 그것들의 비율을 나타내는 원 표시(소비율 및 잔존율)(52), 반도체 기억 장치(10)(실리콘 디스크)의 교환을 촉구하는 경고 표시(53), 장치 수명의 산출 결과(54)를 표시하고 있다.
또한, 경고 표시(53)는 불량 블록 대체 영역(16)의 소비율이 60% 내지 90% 라고 판단한 경우에 표시하는 것이다. 불량 블록 대체 영역(16)의 소비율이 90%를 초과한 경우는, 경고 표시(53) 대신에, 반도체 기억 장치(10)로의 기입을 금지하는 취지의 위험 표시를 행한다. 단, 불량 블록 대체 영역(16)의 소비율이 90%를 초과한 경우에 기입을 금지할지 여부에 대해서는, 관리 툴에 의해 설정할 수 있다.
또한, 도 2의 표시예에서는, 장치 수명(54)에 대해서, 2년~0일까지를 표시하고 있지만, 시간 단위나 일수 단위 등, 표시하는 장치 수명(54)의 단위를 관리 툴에 의해 설정해도 좋다. 또한, 장치 수명(54)이 1개월 이하로 되었을 때부터 표시시키는 등, 장치 수명(54)을 표시하는 기준도 설정해도 좋다.
또한, 도 2에 나타낸 관리 툴에 의한 표시(50)는 호스트 장치(30)의 기동시에 OS(도시 생략)에 상주시켜서 작업 표시줄에 저장해도 좋고, 호스트측 관리 프로그램(32)(관리 툴)의 기동에 의해서 표시시켜도 좋다. 또한, 관리 툴에는, 경고 표시나 위험 표시를 행하기 위한 임계값의 설정 기능이나, 통지 수단(반도체 기억 장치 관리 시스템(SY)의 관리 회사로의 서비스 콜, 관리자로의 전자 메일, 리모트 통신, 전화 등)의 선택 기능을 탑재해도 좋다. 또한, 반도체 기억 장치(10)의 교 환 가이드 기능(동화상에 의한 화면 표시, 음성 출력 등)이나, 반도체 기억 장치(10)의 교환을 위한 복사 기능(메모리 경유의 저장/복구)을 탑재해도 좋다.
다음에, 도 3을 참조하여, 상기의 호스트측 컨트롤러(31)에 의한, 반도체 기억 장치(10)의 소비율, 잔존율 및 장치 수명의 산출 처리에 대해서 설명한다. 또한, 이하 (a) 및 (b)에 나타내는 산출 알고리즘은 호스트측 관리 프로그램(32)에 포함되는 것이다. 또한, 이하 (c)에 나타내는 산출 알고리즘은 기억 장치 내 펌웨어(26)에 포함되는 것이다.
또한, 불량 블록 대체 영역(16)의 불량 블록 총수(A), 공장 출하시의 선천성 불량 블록수(B), 가동시에 불량으로 된 후천성 불량 블록수(C), 단위 시간당 후천성 불량 블록의 발생수(D)의 각 값은, 상기한 바와 같이, 호스트측 컨트롤러(31)가 반도체 기억 장치(10)로부터 취득한 대체 영역 정보(24)에 포함되는 데이터이다.
도 3(a)에 나타내는 바와 같이, 불량 블록 대체 영역(16)의 소비 블록수는 선천성 불량 블록수(B)+후천성 불량 블록수(C)에 의해서 산출된다. 또한, 불량 블록 대체 영역(16)의 소비율은 불량 블록 대체 영역(16)의 소비 블록수를 불량 블록 대체 영역(16)의 불량 블록 총수(A)로 나눈 값, 즉, 계산식 (B+C)/A*100에 의해 산출된다. 또한, 불량 블록 대체 영역(16)의 잔존율은 계산식 (A-B-C)/A*100에 의해 산출된다.
또한, 상기 도면 (b)에 나타내는 바와 같이, 장치 수명, 즉 반도체 기억 장치(10)가 사용 불능 상태로 되기까지의 잔여 시간은, E=1 시간당의 후천성 불량 블록의 발생수라고 하면, 계산식 (A-B-C)/E에 의해 산출된다. 또한, 1시간당의 후천 성 불량 블록의 발생수(E)는, 단위 시간당 후천성 불량 블록의 발생수(D)*후천성 불량 블록의 발생수를 기록하는 단위 시간을 1시간으로 변환하는 정수(α)에 의해 산출된다. 예컨대, 후천성 불량 블록의 발생수를 기록하는 단위 시간을 10분이라고 하면, α=1시간/10분=6이며, E=6*D로 된다.
또한, 단위 시간당 후천성 불량 블록의 발생수(D)는 최악값(D1), 평균값(D2), 현재값(집계한 최신값, D3) 중 어느 하나를 채용할 수 있다. 본 실시예에서는, 반도체 기억 장치(10)의 기억 매체로서 NAND형 플래쉬 메모리(20)를 이용하고 있고, 그 메모리 특성 및 평활화 처리의 영향에 의해, 후천성 불량 블록은 균일하게 증가한다고 예측할 수 있다. 따라서, 실사용 환경에 적합한 현재값(D3)을 채용한다.
또한, 최악값(D1)을 이용하여 장치 수명을 산출한 경우는, 장치 수명으로 되기 전에 확실히 장치 수명을 통지할 수 있다. 또한, 평균값(D2)을 이용하여 산출한 경우는, 후천성 불량 블록 발생수가 균일하게 증가하지 않는 경우에도, 대략의 장치 수명을 통지할 수 있다. 따라서, D1~D3 중 어떤 값을 채용할지, 또는 D1~D3 중 어떤 조합을 채용할지는, 메모리 특성이나 사용 용도에 따라서 결정되는 것이 바람직하다. 또한, 관리 툴에, 선택하는 기능을 탑재해도 좋다.
또한, 상기 도면 (c)에 나타내는 바와 같이, 단위 시간당 후천성 불량 블록의 발생수(D)는, D=전회의 후천성 불량 블록수(C)-금회의 후천성 불량 블록수(C)에 의해 산출된다. 단, 상기 도면 (c)에 나타내는 산출 처리는 기억 장치측 컨트롤러(12)가 행하여, 산출 결과인 D의 값을 대체 영역 정보(24)로서 호스트 장치(30) 에 제공하는 것이다.
다음에, 도 4를 참조하여, 상기의 호스트측 컨트롤러(31)에 의한 반도체 기억 장치(10)의 관리 처리 흐름을 설명한다. 호스트측 컨트롤러(31)는 호스트 장치(30)의 전원 투입시, 및 관리 툴에 의해 설정된 폴링 간격(카운터 설정값)에 근거해서, 기억 장치측 컨트롤러(12)에 폴링하여, 대체 영역 정보(24)(상기의 A~D의 데이터)를 취득한다(S01).
계속해서, 취득한 대체 영역 정보(24)와, 도 3(a) 및 (b)에 나타낸 계산식에 근거하여, 불량 블록 대체 영역(16)의 잔존율 및 장치 수명을 산출한다(S02). 그리고, 불량 블록 대체 영역(16)의 잔존율이 10% 미만인지 여부(위험 상태인지 여부)를 판별하여(S03), 10% 미만이 아닌 경우는(S03:아니오), 아직 위험 상태가 아니라고 판정한다.
위험 상태가 아니라고 판정한 경우는, 또한 불량 블록 대체 영역(16)의 잔존율이 40% 미만인지 여부(경고 상태인지 여부)를 판별하고(S04), 40% 이상인 경우는(S04:예), 경고 상태라고 판정하여, 경고 통지(53)와 함께 장치 수명 등(불량 블록 대체 영역(16)의 소비 영역, 잔존 영역 및 그것들의 비율(52), 및 장치 수명(54))을 통지한다(S05, 도 2 참조). 또한, 불량 블록 대체 영역(16)의 잔존율이 40% 이상인 경우는(S04:아니오), 아직 경고 상태로도 되어 있지 않다고 판정하여, 경고 통지 이외의 장치 수명 등을 통지한다(S06).
통지 후는, 카운터 설정값을 참조하여(S07), 카운터의 값이 설정값 미만인 경우는 폴링 대기 상태로 된다. 또한, 카운터의 값이 설정값 이상인 경우는, 기억 장치 관리 데이터(41)를 갱신하여(S08), 재차 기억 장치측 컨트롤러(12)에 폴링한다(S01).
한편, S03에서, 위험 상태라고 판정한 경우(불량 블록 대체 영역(16)의 잔존율이 10% 미만인 경우)는(S03:예), 위험 통지와 함께 장치 수명 등을 통지한다(S09). 여기서는, 위험 통지로서(예를 들면, 관리 툴에 의한 표시(50)에 있어서), 반도체 기억 장치(10)로의 기입을 금지하는 취지나 보장 불가능한 취지를 통지한다. 또한, 관리 툴에 의해, 위험 상태에 있어서 기입 금지를 행하도록 설정되어 있는 경우는(S10:예), 기입 금지를 위한 처리를 행한 후(S11), 반도체 기억 장치(10)의 관리 처리를 종료한다.
이상, 설명한 바와 같이, 본 실시예에 의하면, 불량 블록 대체 영역(16)의 소비 블록수(소비 이력)에 근거해서, 반도체 기억 장치(10)의 장치 수명을 예측하여, 상기 예측 결과를 통지하기 때문에, 사용자는 반도체 기억 장치(10)의 장치 수명을 파악할 수 있다. 이에 따라, 사용자의 의도에 반하여 반도체 기억 장치(10)가 장치 수명에 도달해 버려서, 데이터의 신뢰성을 잃어버리거나 손실해 버리거나 하는 일이 없다. 또한, 소비 블록수(소비 이력)에 근거하여 장치 수명을 예측함으로써, 리라이팅 횟수를 계수하여 장치 수명을 예측하는 경우와 비교해서, 보다 정확히 수명을 예측할 수 있다. 또한, 리라이팅 횟수를 카운트할 필요가 없기 때문에, 카운터 등의 회로 구성이나 카운트수를 기억하기 위한 메모리를 불필요로 할 수 있어, 장치 구성을 간소화할 수 있다.
또한, 불량 블록 대체 영역(16)의 소비율 또는 잔존율을 단계적으로 통지하 기 때문에, 사용자는 반도체 기억 장치(10)가 장치 수명에 이르기까지의 경위를 확인할 수 있어, 안심하고 이용할 수 있다.
또한, 불량 블록 대체 영역(16)의 단위 시간당 후천성 불량 블록 발생수에 근거하여 장치 수명을 산출하기 때문에, 보다 정확히 장치 수명을 예측할 수 있다. 또한, 단위 시간당 후천성 불량 블록 발생수의 현재값(D3)을 이용하여 예측하기 때문에, 과거에 취득한 후천성 불량 블록수를 보존해 둘 필요가 없고, NAND형 플래쉬 메모리(20)와 같이 후천성 불량 블록 발생수가 균일하게 증가한다고 상정되는 경우, 실사용 환경에 적합한 통지를 행할 수 있다.
또한, NAND형 플래쉬 메모리(20)에 MLC(멀티 레벨 셀)를 채용하면, 1셀에 다치(多値)를 기입할 수 있어, 대용량화 또한 비용 이점의 향상을 도모할 수 있다. 또한, MLC는 SLC(싱글 레벨 셀)과 비교해서, 판독 기입 전압이나 온도에 관한 마진이 적기 때문에, 에러율이 높고, 장치 수명(내구성)이 뒤떨어진다고 하는 결점이 있지만(현재의 기술 수준에서는, SLC이 10만회의 리라이팅 횟수 보증값인 것에 반하여 MLC는 1만회 이하), 본 실시예에 의하면, 장치 수명을 예측할 수 있기 때문에, 그러한 결점을 커버할 수 있다.
또한, 불량 블록 대체 영역(16)의 소비율이나 반도체 기억 장치(10)의 장치 수명에 대한 통지를 호스트 장치(30) 측에서 실행하기 때문에, 반도체 기억 장치(10) 측은 소비 블록수를 검출하는 것만으로 되어, 제어 부하를 경감하여 비용을 억제시킬 수 있다.
또한, 상기한 실시예에서는, 호스트 장치(30) 측에서 불량 블록 대체 영 역(16)의 소비율 등을 산출하는 것으로 했지만, 반도체 기억 장치(10) 측에서 행해도 좋다. 이 경우, 도 5에 나타내는 바와 같이, 기억 장치측 컨트롤러(12) 내의 CPU(21)는, 불량 블록 대체 영역(16)을 참조하여, 불량 블록 총수를 검출하고, 불량 블록 대체 영역(16)의 소비율을 산출한다. 또한, 산출한 소비율에 관한 정보(도시예에서는, 20%)를 기억 장치측 컨트롤러(12) 내의 상태 레지스터(25)에 기입한다. 한편, 호스트측 컨트롤러(31)는 정기적으로 기억 장치측 컨트롤러(12)를 폴링하여, 불량 블록 대체 영역(16)의 소비율에 관한 데이터를 취득하고, 그 값으로부터 불량 블록 대체 영역(16)의 잔존율을 구해서, 디스플레이(36) 상에 반영(표시)시킨다.
이와 같이, 반도체 기억 장치(10) 측에, 불량 블록 대체 영역(16)의 소비율을 산출하는 기능을 탑재하는 것이 가능하다. 또한, 소비율뿐만 아니라, 반도체 기억 장치(10) 측에서 잔존율을 산출하거나, 장치 수명을 산출하거나 하는 것도 가능하다. 또한, 그것들의 산출 결과에 근거하여, 반도체 기억 장치(10) 측에서 통지하는 기능을 탑재하는 것도 가능하다. 이와 같이, 반도체 기억 장치(10) 측에서 장치 수명의 산출 및 통지를 행하는 구성으로 하면, 반도체 기억 장치(10)만으로 본 발명의 반도체 기억 장치 관리 시스템(SY)을 실현할 수 있기 때문에, 호스트 장치(30) 측에 특별한 구성(호스트측 관리 프로그램(32)(관리 툴))을 필요로 하지 않는다.
또한, 상기한 실시예에 나타낸, 반도체 기억 장치 관리 시스템(SY)의 각 구성요소(각 기능)를 프로그램으로서 제공하는 것도 가능하다. 또한, 그 프로그램을 각종 기록 매체(CD-ROM, 플래쉬 메모리 등)에 저장하여 제공하는 것도 가능하다. 즉, 반도체 기억 장치 관리 시스템(SY)의 각 구성요소(각 기능)를 프로그램화한 것, 및 그것을 기록한 기록 매체도, 본 발명의 권리 범위에 포함되는 것이다.
또한, 상기한 실시예에 의하지 않고, 반도체 기억 장치(10) 및 호스트 장치(30)의 장치 구성이나 처리 공정 등, 본 발명을 일탈하지 않는 범위에서 적절히 변경이 가능하다.

Claims (12)

  1. 데이터를 기억하는 반도체 메모리 영역과, 이 반도체 메모리 영역 내의 불량 블록을 대체하는 불량 블록 대체 영역을 갖는 반도체 기억 장치의 장치 수명을 관리하는 반도체 기억 장치 관리 시스템으로서,
    상기 불량 블록 대체 영역의 소비 블록수를 검출하는 소비 블록수 검출 수단과,
    상기 소비 블록수 검출 수단의 검출 결과에 근거해서, 상기 반도체 기억 장치의 장치 수명을 예측하여, 그 예측 결과를 통지하는 수명 통지 수단
    을 구비하고 있는 것을 특징으로 하는 반도체 기억 장치 관리 시스템.
  2. 제 1 항에 있어서,
    상기 소비 블록수 검출 수단의 검출 결과로부터 얻어지는 상기 불량 블록 대체 영역의 소비율 또는 잔존율을 단계적으로 통지하는 단계 통지 수단을 더 구비하고 있는 것을 특징으로 하는 반도체 기억 장치 관리 시스템.
  3. 제 2 항에 있어서,
    상기 반도체 메모리 영역 내의 각 블록에 대한 리라이팅(rewriting) 횟수를 평활화하는 평활화 수단을 더 구비하고 있는 반도체 기억 장치 관리 시스템.
  4. 제 3 항에 있어서,
    상기 반도체 메모리 영역 및 상기 불량 블록 대체 영역은 비휘발성 메모리에 의해 구성되어 있는 것을 특징으로 하는 반도체 기억 장치 관리 시스템.
  5. 제 3 항 또는 제 4 항에 있어서,
    상기 수명 통지 수단과 상기 단계 통지 수단의 양쪽 또는 어느 한쪽은, 화면 표시, 음성 출력, 전자 메일 송신, 커맨드 송신, 전화 중에서 어느 하나의 수단을 이용하여 통지하는 것 특징으로 하는 반도체 기억 장치 관리 시스템.
  6. 제 3 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 수명 통지 수단은, 상기 불량 블록 대체 영역의 단위 시간당 후천성 불량 블록 발생수의 최악값, 평균값 및 현재값 중 어느 하나 혹은 조합에 근거하여, 상기 장치 수명을 예측하는 것을 특징으로 하는 반도체 기억 장치 관리 시스템.
  7. 제 3 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 반도체 기억 장치 관리 시스템은, 상기 반도체 기억 장치와, 상기 반도체 기억 장치에 액세스하는 호스트 장치로 이루어지고,
    상기 반도체 기억 장치는, 상기 소비 블록수 검출 수단 및 상기 평활화 수단을 실현하기 위한 기억 장치측 컨트롤러를 갖고,
    상기 호스트 장치는, 상기 수명 통지 수단 및 상기 단계 통지 수단을 실현하기 위한 호스트측 컨트롤러를 갖고 있는 것
    을 특징으로 하는 반도체 기억 장치 관리 시스템.
  8. 제 7 항에 있어서,
    상기 호스트측 컨트롤러는, 상기 기억 장치측 컨트롤러에 폴링(polling)하여, 상기 소비 블록수 검출 수단의 검출 결과를 취득하는 것을 특징으로 하는 반도체 기억 장치 관리 시스템.
  9. 청구항 1 내지 청구항 8 중 어느 한 항에 기재된 반도체 기억 장치 관리 시스템에 적용되는 반도체 기억 장치.
  10. 청구항 7 또는 청구항 8에 기재된 반도체 기억 장치 관리 시스템에 적용되는 호스트 장치.
  11. 컴퓨터를, 청구항 1 내지 청구항 8 중 어느 한 항에 기재된 반도체 기억 장치 관리 시스템에서의 각 수단으로서 기능시키기 위한 프로그램.
  12. 데이터를 기억하는 반도체 메모리 영역과, 이 반도체 메모리 영역 내의 불량 블록을 대체하는 불량 블록 대체 영역을 갖는 반도체 기억 장치의 관리 방법으로서,
    상기 불량 블록 대체 영역의 소비 이력에 근거해서, 상기 반도체 기억 장치의 장치 수명을 예측하여, 그 예측 결과를 통지하는 것
    을 특징으로 하는 반도체 기억 장치의 관리 방법.
KR1020087031558A 2006-06-28 2007-06-19 반도체 기억 장치 관리 시스템, 반도체 기억 장치, 호스트 장치, 반도체 기억 장치의 관리 방법 KR101002531B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006177852A JP4487978B2 (ja) 2006-06-28 2006-06-28 半導体記憶装置管理システム、プログラム、半導体記憶装置の管理方法
JPJP-P-2006-177852 2006-06-28

Publications (2)

Publication Number Publication Date
KR20090024192A true KR20090024192A (ko) 2009-03-06
KR101002531B1 KR101002531B1 (ko) 2010-12-17

Family

ID=38845417

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087031558A KR101002531B1 (ko) 2006-06-28 2007-06-19 반도체 기억 장치 관리 시스템, 반도체 기억 장치, 호스트 장치, 반도체 기억 장치의 관리 방법

Country Status (5)

Country Link
US (1) US7962807B2 (ko)
JP (1) JP4487978B2 (ko)
KR (1) KR101002531B1 (ko)
CN (1) CN101479708B (ko)
WO (1) WO2008001649A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210097939A (ko) * 2020-01-31 2021-08-10 엠투어플 주식회사 인공지능을 이용한 하드 디스크의 사용 기간 예측과 이레이징 및 디가우징 판단 방법
KR102332589B1 (ko) * 2021-08-18 2021-12-01 에스비유코리아 주식회사 디스크 세트의 상태 정보 관리 및 제어 방법, 장치 및 시스템

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009107285A1 (en) * 2008-02-29 2009-09-03 Kabushiki Kaisha Toshiba Information processing apparatus and nonvolatile semiconductor memory drive
US8364930B2 (en) 2008-03-07 2013-01-29 Kabushiki Kaisha Toshiba Information processing apparatus and storage drive adapted to perform fault analysis by maintenance of tracing information
JP4743905B2 (ja) * 2008-03-25 2011-08-10 Necインフロンティア株式会社 フラッシュメモリ・ストレージ寿命監視装置
JP5192352B2 (ja) * 2008-10-30 2013-05-08 株式会社日立製作所 記憶装置及びデータ格納領域管理方法
US8166258B2 (en) * 2009-07-24 2012-04-24 Lsi Corporation Skip operations for solid state disks
US7975193B2 (en) * 2009-06-01 2011-07-05 Lsi Corporation Solid state storage end of life prediction with correction history
US8555141B2 (en) * 2009-06-04 2013-10-08 Lsi Corporation Flash memory organization
US8321639B2 (en) * 2009-12-30 2012-11-27 Lsi Corporation Command tracking for direct access block storage devices
US20100306451A1 (en) * 2009-06-01 2010-12-02 Joshua Johnson Architecture for nand flash constraint enforcement
US8245112B2 (en) * 2009-06-04 2012-08-14 Lsi Corporation Flash memory organization
US8219776B2 (en) * 2009-09-23 2012-07-10 Lsi Corporation Logical-to-physical address translation for solid state disks
US9063561B2 (en) * 2009-05-06 2015-06-23 Avago Technologies General Ip (Singapore) Pte. Ltd. Direct memory access for loopback transfers in a media controller architecture
US8516264B2 (en) * 2009-10-09 2013-08-20 Lsi Corporation Interlocking plain text passwords to data encryption keys
JP5473623B2 (ja) 2010-01-15 2014-04-16 キヤノン株式会社 データ記録装置及びその制御方法
JP5523128B2 (ja) 2010-02-03 2014-06-18 キヤノン株式会社 記録装置及びその制御方法
JP5455689B2 (ja) * 2010-02-03 2014-03-26 キヤノン株式会社 記録装置及び方法
JP5406750B2 (ja) * 2010-02-03 2014-02-05 キヤノン株式会社 記録装置及びその制御方法
TW201220186A (en) * 2010-11-04 2012-05-16 Inventec Corp Data protection method for damaged memory cells
JP5002719B1 (ja) 2011-03-10 2012-08-15 株式会社東芝 情報処理装置、外部記憶装置、ホスト装置、中継装置、制御プログラム及び情報処理装置の制御方法
CN103890724B (zh) 2011-08-19 2017-04-19 株式会社东芝 信息处理设备、用于控制信息处理设备的方法、主机装置、以及用于外部存储装置的性能评估方法
WO2013140435A1 (en) 2012-03-19 2013-09-26 Hitachi, Ltd. Data storage system comprising non-volatile semiconductor storage device, and storage control method
US9653184B2 (en) * 2014-06-16 2017-05-16 Sandisk Technologies Llc Non-volatile memory module with physical-to-physical address remapping
JP2015084241A (ja) * 2014-12-09 2015-04-30 株式会社東芝 情報処理装置
JP2016114958A (ja) * 2014-12-10 2016-06-23 株式会社東芝 記憶媒体管理装置、記憶媒体管理方法、コンピュータプログラム及び記憶媒体管理システム
JP6190488B2 (ja) * 2016-04-15 2017-08-30 東芝メモリ株式会社 情報記録システム
KR102628239B1 (ko) 2016-05-02 2024-01-24 삼성전자주식회사 스토리지 장치, 스토리지 장치의 동작 방법, 그리고 스토리지 장치 및 호스트 장치를 포함하는 컴퓨팅 장치의 동작 방법
US10445200B2 (en) 2016-05-02 2019-10-15 Samsung Electronics Co., Ltd. Storage device having various recovery methods and recovery modes
JP6403130B2 (ja) * 2017-08-03 2018-10-10 東芝メモリ株式会社 情報記録システム
JP6881330B2 (ja) * 2018-01-24 2021-06-02 京セラドキュメントソリューションズ株式会社 電子機器及びメモリー制御プログラム
US10671298B2 (en) * 2018-03-06 2020-06-02 Micron Technology, Inc. Storing page write attributes
JP2019008814A (ja) * 2018-08-31 2019-01-17 東芝メモリ株式会社 半導体記憶装置
JP6913797B2 (ja) * 2018-08-31 2021-08-04 キオクシア株式会社 情報処理装置
WO2020161981A1 (ja) * 2019-02-06 2020-08-13 ソニー株式会社 メモリ診断装置およびメモリ診断方法
JP7143487B2 (ja) * 2020-05-18 2022-09-28 キオクシア株式会社 情報処理装置
JP2021192491A (ja) * 2020-06-05 2021-12-16 キヤノン株式会社 情報処理システム、画像形成装置、情報処理システムの制御方法、画像形成装置の制御方法、及びプログラム
US11798646B2 (en) * 2020-10-29 2023-10-24 Everspin Technologies, Inc. Systems and methods for monitoring and managing memory devices
CN115185721B (zh) * 2022-07-08 2023-01-31 北京天华星航科技有限公司 一种基于人工智能的数据处理方法及系统

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW261687B (ko) 1991-11-26 1995-11-01 Hitachi Seisakusyo Kk
US6347051B2 (en) 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
JP3231832B2 (ja) 1991-11-26 2001-11-26 株式会社日立製作所 フラッシュメモリを記憶媒体とした半導体ディスク
US6425006B1 (en) * 1997-05-13 2002-07-23 Micron Technology, Inc. Alert configurator and manager
JP3565687B2 (ja) 1997-08-06 2004-09-15 沖電気工業株式会社 半導体記憶装置およびその制御方法
JP3557511B2 (ja) * 1997-08-27 2004-08-25 沖電気工業株式会社 半導体ディスク装置の寿命算出方法
JP3444346B2 (ja) * 1999-01-04 2003-09-08 日本電気株式会社 仮想メモリ管理方式
JP2001154922A (ja) 1999-11-29 2001-06-08 Murata Mach Ltd メモリ制御装置
US20030037287A1 (en) * 2000-09-25 2003-02-20 Masakatsu Nakamura Electronic apparatus, data communication device, management system of electronic apparatus, and management method of electronic apparatus
US20020091965A1 (en) * 2000-12-22 2002-07-11 Mark Moshayedi System and method for early detection of impending failure of a data storage system
CN1362708A (zh) * 2001-01-02 2002-08-07 吴秀林 一种闪存芯片的读写方法
JP2003085054A (ja) 2001-06-27 2003-03-20 Mitsubishi Electric Corp フラッシュメモリを搭載した半導体記憶装置における装置寿命警告発生システムとその方法
JP4019306B2 (ja) * 2001-11-08 2007-12-12 株式会社Ihi Eepromへの記録方法
US7246268B2 (en) * 2002-01-16 2007-07-17 Sandisk Corporation Method and apparatus for dynamic degradation detection
US7308614B2 (en) * 2002-04-30 2007-12-11 Honeywell International Inc. Control sequencing and prognostics health monitoring for digital power conversion and load management
US7321990B2 (en) * 2003-12-30 2008-01-22 Intel Corporation System software to self-migrate from a faulty memory location to a safe memory location
US7120559B1 (en) * 2004-06-29 2006-10-10 Sun Microsystems, Inc. System and method for performing automated system management
CN100511478C (zh) * 2004-06-30 2009-07-08 深圳市朗科科技股份有限公司 对闪存数据的存取进行管理的方法
JP4527456B2 (ja) 2004-07-06 2010-08-18 Necインフロンティア株式会社 メモリ寿命警告装置、および情報処理方法
US7702966B2 (en) * 2005-09-07 2010-04-20 Intel Corporation Method and apparatus for managing software errors in a computer system
JP2007141043A (ja) * 2005-11-21 2007-06-07 Hitachi Ltd ストレージシステムにおける障害管理方法
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
US7512847B2 (en) * 2006-02-10 2009-03-31 Sandisk Il Ltd. Method for estimating and reporting the life expectancy of flash-disk memory
US7778077B2 (en) * 2006-05-15 2010-08-17 Sandisk Corporation Non-volatile memory system with end of life calculation
US7590001B2 (en) * 2007-12-18 2009-09-15 Saifun Semiconductors Ltd. Flash memory with optimized write sector spares

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210097939A (ko) * 2020-01-31 2021-08-10 엠투어플 주식회사 인공지능을 이용한 하드 디스크의 사용 기간 예측과 이레이징 및 디가우징 판단 방법
KR102332589B1 (ko) * 2021-08-18 2021-12-01 에스비유코리아 주식회사 디스크 세트의 상태 정보 관리 및 제어 방법, 장치 및 시스템

Also Published As

Publication number Publication date
WO2008001649A1 (fr) 2008-01-03
JP4487978B2 (ja) 2010-06-23
KR101002531B1 (ko) 2010-12-17
US20090313444A1 (en) 2009-12-17
US7962807B2 (en) 2011-06-14
JP2008009594A (ja) 2008-01-17
CN101479708B (zh) 2011-10-05
CN101479708A (zh) 2009-07-08

Similar Documents

Publication Publication Date Title
KR101002531B1 (ko) 반도체 기억 장치 관리 시스템, 반도체 기억 장치, 호스트 장치, 반도체 기억 장치의 관리 방법
US20200167083A1 (en) Techniques for controlling recycling of blocks of memory
KR101475645B1 (ko) 정보 처리 장치, 외부 기억 장치, 호스트 장치, 중계 장치, 컴퓨터 판독 가능한 기록 매체, 및 정보 처리 장치의 제어 방법
US7849275B2 (en) System, method and a computer program product for writing data to different storage devices based on write frequency
KR101079502B1 (ko) 메모리 시스템
CN116881177A (zh) 固态存储驱动器阵列中的工作负荷自适应超额配置
US8402204B2 (en) Methods for measuring usable lifespan and replacing an in-system programming code of a memory device, and data storage system using the same
US7934130B2 (en) System and method for managing non-volatile memory based on health
JP2011070346A (ja) メモリシステム
TWI501252B (zh) 用於控制保留區的固態儲存系統及其控制方法
JP2014078262A (ja) マルチメモリデバイス寿命管理のための技術
US10782881B2 (en) Storage device for not allowing to write data based on end of life of a disk device
CN116627353A (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
LAPS Lapse due to unpaid annual fee