KR20030065355A - 기억장치, 데이터 처리 방법 및 데이터 처리 프로그램 - Google Patents

기억장치, 데이터 처리 방법 및 데이터 처리 프로그램 Download PDF

Info

Publication number
KR20030065355A
KR20030065355A KR10-2003-0005409A KR20030005409A KR20030065355A KR 20030065355 A KR20030065355 A KR 20030065355A KR 20030005409 A KR20030005409 A KR 20030005409A KR 20030065355 A KR20030065355 A KR 20030065355A
Authority
KR
South Korea
Prior art keywords
data
nonvolatile memory
error
data line
nonvolatile
Prior art date
Application number
KR10-2003-0005409A
Other languages
English (en)
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 KR20030065355A publication Critical patent/KR20030065355A/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories

Abstract

기억장치에 있어서, 불휘발성 메모리사이에서 데이터를 전송하여도, 전송된 데이터에 오류가 있거나, 프로그램 에러가 발생하거나, 불휘발성 메모리의 성질에 기인하는 문제가 발생하는 것을 회피한다.
오류정정부호 처리수단은, 불휘발성 메모리로부터 전송을 위해 데이터선으로 판독된 데이터에 대한 오류정정부호에 기초하여, 그 데이터의 오류의 검출을 행한다. 기록수단은, 불휘발성 메모리 사이에서 데이터가 전송되는 경우에, 그 데이터에 정정가능한 오류가 검출되었을 때, 그 오류가 정정된 데이터를 전송선의 불휘발성 메모리에 기록한다. 이것에 의해서, 불휘발성 메모리사이에서의 데이터 전송시에, 오류가 있는 데이터가 기록되는 것이 회피된다.

Description

기억장치, 데이터 처리 방법 및 데이터 처리 프로그램{STORAGE, DATA PROCESSING METHOD AND DATA PROCESSING PROGRAM}
본 발명은, 데이터선을 공용하는 복수의 불휘발성 메모리가 독립하여 제어 가능하게 설치된 기억장치, 및 그 기억장치의 데이터 처리 방법 및 프로그램에 관한 것이다.
플래시 메모리 등의 불휘발성 메모리를 이용한 기억장치는, 데이터의 재기록(書換)이 가능하고, 전지 등에 의한 백업의 필요도 없다. 그 휴대성이 높은 점에서, 플래시 메모리는, 근래 음악이나 영상 데이터 등을 취급하는 휴대기기의 기억장치에 널리 사용되게 되었다. 대부분의 디지털 카메라나 오디오 플레이어, PDA는, 플래시 메모리를 내장할 뿐만 아니라, SD카드 등 착탈형의 메모리 카드를 장착하는 슬롯도 구비하고 있고, 그 슬롯은 기기간에서의 데이터 교환이나 플래시 메모리의 용량선택을 위해 사용되고 있다. 이용범위가 넓어짐에 따라서, 플래시 메모리의 대용량화 및 액세스 고속화에 대한 요구는 강해지고 있다.
플래시 메모리의 액세스 속도를 저하시키는 요인의 하나에 감아넣기(권입) 퇴피(退避)처리가 있다. 플래시 메모리는, 데이터의 기록요구가 있으면, 데이터의 기록단위인 물리 페이지 중, 그 요구가 있었던 논리 어드레스에 대응하는 물리 페이지에 데이터가 포함되어 있는지의 여부를 확인한다. 플래시 메모리에서는 덮어쓰기를 할 수 없기 때문에, 그 논리 어드레스에 대응하는 물리 페이지에 이미 데이터가 포함되어 있는 경우, 소거단위인 물리블록 중, 그 물리 페이지를 포함하는 물리블록 이외의 기록가능한 블록에 데이터를 기록한다. 그렇게 하면, 오래된 데이터와 새로운 데이터가 동시에 존재하게 되므로, 오래된 데이터는 소거된다. 블록이 페이지를 복수 포함하고 있는 경우, 데이터가 소거되는 것은, 부여된 논리 어드레스에서 기록이 요구된 물리 페이지뿐만이 아니다. 대용량의 플래시 메모리에서는, 블록이 페이지를 복수 포함할 필요성이 높다. 그 경우, 기록이 요구된 페이지와 동일한 블록에 포함되는 다른 페이지에 기록된 데이터도 소거된다. 감아넣기 퇴피처리는, 이러한 데이터를 소거전에 퇴피시키는 처리이다.
통상, 감아넣기 퇴피처리에서는, 기록이 요구된 페이지를 포함하는 블록의 기록이 요구된 페이지 이외의 페이지에 기록된 데이터가 판독되어, 일단 버퍼 등에 퇴피된다. 기록이 요구된 페이지를 포함하는 블록의 데이터는, 이 퇴피 후 소거된다. 외부의 데이터 입출력장치로부터 입력된 데이터 및 버퍼 등에 퇴피된 데이터는, 소거된 블록의 페이지에 기록된다. 이와 같은 감아넣기 퇴피처리에 의해서, 기록이 요구된 페이지와 동일한 블록에 있는 기록이 요구되고 있지않는 페이지의 데이터가 보호된다.
이와 같은 감아넣기 퇴피처리를 행하면, 기록속도가 저하된다. 이 때문에, 일본 특개평 11-203885호 공보에 기재된 기억장치에서는, 기록이 요구된 페이지를 포함하는 블록의 기록이 요구된 페이지 이외의 페이지에 기록된 데이터를 버퍼에 퇴피하지 않는다.
이 기억장치는 복수의 반도체 메모리를 구비하고 있고, 외부의 데이터 입출력장치로부터 입력된 데이터와 퇴피를 위해 판독된 데이터는, 기록이 요구된 페이지를 포함하는 블록이 있는 반도체 메모리와는 다른 반도체 메모리의 소거가 끝난 블록에 기록된다.
그런데, 플래시 메모리에서는, 판독시에 데이터에 오류가 발생할 가능성을 경시할 수 없다. 이 때문에, 상기 공보에 기재되어 있는 바와 같이 플래시 메모리사이에서 데이터를 전송하면, 감아넣기 퇴피처리에 한정되지 않고, 오류가 있는 데이터가 기록되어 버릴 우려가 있다.
또, 기록시에 프로그램 에러가 발생하는 경우가 있다. 플래시 메모리 사이에서 데이터를 전송하는 경우, 기록시에 프로그램 에러가 발생하면, 플래시 메모리로부터 데이터를 재판독하게 된다. 플래시 메모리에서는, 재판독에 따르는 소비 전력은 크고, 필요한 시간도 길다.
또, 플래시 메모리 사이에서 데이터를 이동시키는 경우에, 이동원의 데이터가 소거되기 전에 전원이 떨어지면, 전원의 재투입 후에, 어느쪽의 플래시 메모리에 있는 데이터가 새로운 것인지 구별할 수 없다.
이와 같이, 액세스 속도의 저하를 회피하기 위해서 불휘발성 메모리 사이에서 데이터를 전송하여도, 그 전송에는 불휘발성 메모리의 성질에 기인하는 문제가 수반된다.
본 발명은, 이와 같은 종래의 기술에 있어서의 과제를 감안하여 이루어진 것으로, 불휘발성 메모리 사이에서의 데이터 전송에 따르는 문제를 해소할 수 있는 기억장치를 제공하는 것을 목적으로 하는 것이다.
도 1은 실시형태에 있어서의 기억장치의 개략 구성을 나타내는 도,
도 2는 실시형태에 있어서의 기억장치에 의한 감아넣기 퇴피처리를 설명하기 위한 타임차트,
도 3은 감아넣기 퇴피처리에 있어서 오류정정 처리가 행하여지는 경우의 타임차트,
도 4는 감아넣기 퇴피처리에 있어서 관리정보가 갱신되는 경우의 타임차트,
도 5는 감아넣기 퇴피처리에 있어서 버퍼로부터 데이터가 판독되는 경우의 타임차트,
도 6은 실시형태에 있어서의 기억장치의 데이터 처리 방법을 설명하기 위한 플로차트.
(부호의 설명)
  1 기억장치3 컨트롤러
  4 데이터 기록수단5 데이터 판독수단
  6 물리블록 선택수단7 어드레스 변환수단
  8 물리블록9 물리블록
  10 오류정정부호 처리수단11 관리정보 처리수단
  12 버퍼21 플래시 메모리
  22 플래시 메모리101 데이터 입출력장치
  102 데이터선103 어드레스선
  CL21 제어선CL22 제어선
  DL 데이터선
(과제를 해결하기 위한 수단)
상술의 목적을 달성하기 위해서, 본 발명은 이하의 수단을 채용하고 있다.
본 발명의 기억장치에서는, 데이터선을 공용하는 복수의 불휘발성 메모리가 독립하여 제어가능하게 설치된다. 이 기억장치에 있어서, 오류정정부호 처리수단은, 데이터에 부가되어 불휘발성 메모리에 기록되는 그 데이터에 대한 오류정정부호를 생성한다. 또, 오류정정부호 처리수단은, 불휘발성 메모리로부터 데이터선으로 판독된 데이터에 대한 오류정정부호에 기초하여, 그 데이터의 오류의 검출 또는 오류의 검출 및 정정을 행한다.
기록수단은, 불휘발성 메모리로부터 데이터선으로 판독된 데이터를 그 불휘발성 메모리와는 다른 불휘발성 메모리에 기록하는 경우에, 그 데이터에 정정가능한 오류가 검출되었을 때, 그 오류가 정정된 데이터를 기록한다.
이것에 의해서, 판독된 데이터에 오류가 있어도, 오류가 검출되지 않은 채, 그 데이터가 기록되는 것이 회피된다.
또한, 기억장치가 데이터를 일시적으로 유지하는 버퍼를 구비하고 있으면, 오류정정부호 처리수단은, 데이터에 정정가능한 오류가 있는 것을 검출한 경우에, 데이터선으로부터 버퍼에 유지된 데이터의 오류를 정정할 수 있다. 기록수단은, 버퍼에 유지된 데이터를 기록하면 좋다.
이것에 의해서, 오류를 정정하기 위해서, 불휘발성 메모리에 액세스할 필요가 없어진다.
또, 관리정보 처리수단은, 데이터에 부가되어 기록되는 그 데이터를 관리하기 위한 관리정보를 생성한다. 관리정보는, 입력된 데이터뿐만 아니라, 불휘발성 메모리로부터 데이터선으로 판독되어 그 불휘발성 메모리와는 다른 불휘발성 메모리에 기록되는 데이터에 관해서도 생성된다.
기록수단은, 생성된 관리정보를 부가하여 불휘발성 메모리에 데이터를 기록한다.
이것에 의해서, 불휘발성 메모리 사이에서 데이터를 이동하는 경우에, 이동원의 데이터가 소거되기 전에 전원이 떨어졌다고 하여도, 전원 재투입 후에 신구의 데이터를 구별하는 것이 가능해진다.
또, 기억장치가 버퍼를 구비하고 있으면, 기록수단은, 불휘발성 메모리로부터 데이터선으로 판독되어 그 불휘발성 메모리와는 다른 불휘발성 메모리에 전송한 데이터의 프로그램 에러가 발생한 경우에, 데이터선으로부터 버퍼에 유지된 데이터를 이용할 수 있다. 기록수단은, 버퍼에 유지된 데이터에 관해서는, 그 데이터를 기록하면 좋다.
이것에 의해서, 버퍼에 유지된 데이터에 관해서는, 불휘발성 메모리로부터 재판독할 필요가 없어지고, 그 결과, 소비전력이 억제되고, 데이터를 판독하는 시간도 단축된다.
기억장치에 있어서, 상술한 오류정정부호 처리수단, 관리정보 처리수단 및 버퍼를 기록수단에 조합시킬 수도 있다.
이 경우, 관리정보 처리수단은, 데이터에 정정불가능한 오류가 검출되었을 때, 데이터에 정정불가능한 오류가 검출된 것을 나타내는 정정불가능 오류 검출정보를, 그 데이터에 부가되는 관리정보에 포함한다.
이것에 의해서, 데이터에 정정불가능한 오류가 있는지의 여부를 용이하게 판별할 수 있다.
여기서, 불휘발성 메모리는, 예를 들면 데이터의 소거 단위인 블록이 데이터의 기록단위인 페이지를 복수 포함하는 플래시 메모리이다. 블록선택수단은, 블록의 페이지에 기록되어 있던 데이터가 그 블록의 데이터의 소거전에 퇴피되는 경우에, 퇴피되는 데이터가 기록되는 페이지를 포함하는 블록을, 데이터가 소거되는 블록이 있는 플래시 메모리와는 다른 플래시 메모리의 기록 가능한 블록중에서 선택한다.
퇴피되는 데이터도 데이터선으로 판독되는 것과 동시에 그 데이터가 기록되어 있던 불휘발성 메모리와는 다른 불휘발성 메모리에 기록된다. 각 불휘발성 메모리는 독립하여 제어가능하기 때문에, 다이렉트 메모리 액세스 방식으로 고속의 감아넣기 퇴피처리가 가능하고, 게다가 상술한 바와 같이 불휘발성 메모리에 기인하는 문제도 해소한다.
다른 관점에서는, 본 발명은, 기억장치의 데이터 처리 방법을 제공한다.
그 데이터 처리 방법에서는, 불휘발성 메모리로부터 데이터선으로 판독된 데이터가 그 불휘발성 메모리와는 다른 불휘발성 메모리에 기록되는 경우에, 그 데이터의 오류의 검출을 행한다. 그 데이터에 정정가능한 오류가 검출되었을 때, 그 오류가 정정된 데이터를 기록한다.
또, 불휘발성 메모리로부터 데이터선으로 판독된 데이터가 그 불휘발성 메모리와는 다른 불휘발성 메모리에 기록되는 경우에, 그 데이터에 관하여, 데이터를 관리하기 위한 관리정보를 생성하고, 생성된 관리정보를 부가하여 불휘발성 메모리에 그 데이터를 기록할 수도 있다.
또, 불휘발성 메모리로부터 데이터선으로 판독된 데이터를 그 불휘발성 메모리와는 다른 불휘발성 메모리로 전송하고, 전송된 데이터의 프로그램 에러가 발생한 경우에, 데이터선으로부터 버퍼에 유지되어 있던 데이터를 불휘발성 메모리에 기록할 수도 있다.
또한 다른 관점에서는, 본 발명은, 상술과 같은 데이터 처리 방법을 컴퓨터에 실행시키는 프로그램을 제공한다. 이 프로그램은 통상 기억장치에 편입되거나, 외부의 데이터 입출력 장치상에서 동작하거나 하는데, 이 프로그램을 CD-ROM 등의 컴퓨터 판독가능한 기록매체에 격납하여 시장에 제공할 수도 있고, 인터넷 등의 전기통신 회선을 통하여 시장에 제공할 수도 있다.
(발명의 실시형태)
이하, 첨부도면을 참조하여 본 발명의 실시형태에 관하여 설명한다.
도 1에 나타낸 바와 같이, 본 실시형태에 있어서의 기억장치(1)는, 외부의 데이터 입출력장치(101)와 예를 들면 데이터선(102)이나 어드레스선(103)을 통하여 접속된다. 데이터는, 데이터선(102)을 통하여, 기억장치(1)와 데이터 입출력장치(101)의 사이에서 입출력된다. 어드레스선(103)에는, 데이터 입출력장치(101)로부터 기억장치(1)에 입력되는 데이터(DIN)가 기록되는 논리 어드레스(AIN)나, 기억장치(1)로부터 데이터 입출력장치(101)에 출력되는 데이터의 판독을 위한 논리 어드레스가 부여된다.
기억장치(1)에는, 복수의 플래시 메모리(21,22) 및 컨트롤러(3)가 설치되어 있다. 도 1에는 2개의 플래시 메모리(21,22)만이 도시되어 있지만, 플래시 메모리의 개수는 이것에 한정되는 것이 아니다.
플래시 메모리(21,22)에 대한 데이터의 기록은 페이지 단위로 행하여진다. 페이지의 사이즈는 예를 들면 528바이트이다. 페이지의 528바이트 중, 데이터를 기억하는데 사용되는 데이터 영역에는, 1바이트로부터 512바이트까지의 512바이트 분의 영역이 할당되는 것으로 한다.
데이터의 소거는 물리블록을 단위로 하여 행하여진다. 각 플래시 메모리(21,22)는, 물리블록(8,9)을 복수 구비한다. 각 물리블록(8,9)은 복수의 페이지를 포함하고, 예를 들면 32의 페이지로 구성되는데, 설명의 편의상, 물리블록(8)은, 3개의 페이지(81,82,83)로 구성되어 있고, 물리블록(9)은, 3개의 페이지(91,92,93)로 구성되어 있는 것으로 한다.
도 1의 예에서는, 각 플래시 메모리(21,22)는, 독립된 제어선(CL21,CL22)과 공통의 데이터선(DL)에 의해서 컨트롤러(3)와 접속된다.
플래시 메모리(21,22)에의 데이터의 기록, 플래시 메모리(21,22)로부터의 데이터의 판독을 위한 전송은, 제어선(CL21,CL22)의 기록동기신호(WE21,WE22), 판독동기신호(RE21,RE22)에 동기하여 행하여진다. 이 동기는, 기록동기신호(WE21,WE22), 판독동기신호(RE21,RE22)의 상승에지를 기준으로 할 수 있다. 제어선(CL21,CL22)에는, 비지신호(BUSY21,BUSY22)도 부여된다. 비지신호( BUSY21,BUSY22)는, 플래시 메모리(21,22)가 프로그램중인 것을 나타낸다.
데이터선(DL)은, 데이터의 전송뿐만 아니라, 어드레스나 커맨드, 스테이터스의 전송에 이용하여도 좋다. 데이터선(DL)의 비트폭이 8비트이면, 데이터 등의 전송은 8비트 즉 1바이트 단위로 행하여진다. 이 경우, 1페이지, 즉 528바이트의 데이터가 전송되는데는, 판독동기신호(RE21,RE22) 또는 기록동기신호(WE21,WE22)에 상승에지가 528회 형성되게 된다.
데이터선(DL)은 플래시 메모리(21,22)에 의해서 공용된다. 또, 각 플래시 메모리(21,22)에 독립된 제어선(CL21,CL22)을 이용하여, 컨트롤러(3)는 각 플래시 메모리(21,22)를 개별적으로 제어할 수 있다. 이 때문에, 컨트롤러(3)는, 한쪽의 플래시 메모리로부터 데이터선(DL)으로 데이터를 판독하는 것과 동시에, 데이터선(DL)으로 판독된 데이터를 다른 쪽의 플래시 메모리에 기록하는 제어를 행하는 것도 가능하다.
데이터 입출력장치(101)로부터 기억장치(1)로 입력된 데이터(DIN)나 논리 어드레스(AIN)는, 컨트롤러(3)에 부여된다.
컨트롤러(3)에 있어서, 어드레스 변환수단(7)은, 입력된 논리 어드레스(AIN)와 입력된 데이터(DIN)를 기록하는 물리블록의 어드레스를 대응시키는 어드레스 변환정보를 생성하고, 관리정보 처리수단(11) 등에 통지한다. 또, 입력된 논리 어드레스에 대한 어드레스 변환정보가 이미 생성되어 있는 경우에는, 어드레스 변환수단(7)은, 그 어드레스 변환정보를 이용하여, 그 논리 어드레스를 대응하는 물리블록의 어드레스로 변환하고, 데이터 판독수단(5) 등에 통지한다.
감아넣기 퇴피처리가 행하여지는 경우에는, 어드레스 변환수단(7)은, 물리블록 선택수단(6)에도 물리블록의 어드레스를 통지하고, 물리블록 선택수단(6)으로부터 다른 물리블록의 어드레스를 받아들여, 어드레스 변환정보를 갱신한다.
데이터 판독수단(5)은, 어드레스 변환수단(7)으로부터 통지된 물리블록의 어드레스에 따라서, 데이터를 판독하는 요구를 플래시 메모리(21,22)에 발행한다. 플래시 메모리(21,22)에 의해서 이 요구가 받아들여지면, 제어선(CL21,CL22)에 판독동기신호(RE21,RE22)가 부여되고, 이것에 동기하여, 데이터선(DL)으로 데이터가 판독된다.
감아넣기 퇴피처리가 행하여지는 경우에는, 데이터 판독수단(5)은, 데이터의 기록이 요구된 페이지(이하, 요구 페이지)를 포함하는 물리블록의 요구 페이지 이외의 페이지에 기록된 데이터를 퇴피를 위해 판독한다. 플래시 메모리(21)에 있는 물리블록(8)의 페이지(82)가 요구 페이지라고 하면, 감아넣기 퇴피처리가 행하여지는 경우에는, 물리블록(8)의 페이지(82)이외의 페이지(81,83)에 기록된 데이터가퇴피를 위해 판독된다.
이 때, 도 2에 도시된 바와 같이, 판독동기신호(RE21)에는, 최초의 1056사이클 동안, 상승 에지가 528회 형성되고, 도 2에서 다음에 표시되는 1056사이클 동안, 상승 에지는 형성되지 않고, 도 2에서는 최후에 있는 1056사이클 동안, 상승 에지가 528회 형성되게 된다.
이와 같은 판독동기신호(RE21)에 동기하여, 데이터선(DL)으로는, 최초의 1056사이클 동안에, 페이지(81)의 데이터가 판독된다. 또, 도 2에서는 최후에 있는 1056사이클 동안에, 페이지(83)의 데이터가 판독된다.
물리블록 선택수단(6)은, 퇴피를 위해 판독된 데이터 및 데이터 입출력장치(101)로부터 입력된 데이터(DIN)가 기록되는 페이지를 포함하는 물리블록을, 요구 페이지를 포함하는 물리블록이 있는 플래시 메모리와는 다른 플래시 메모리의 기록 가능한 물리블록 중에서 선택한다. 데이터가 소거된 물리블록은 기록 가능하다. 요구 페이지를 포함하는 물리블록이 물리블록(8)인 경우, 플래시 메모리(21)와는 다른 플래시 메모리(22)의 기록 가능한 물리블록 중, 예를 들면 물리블록(9)이 선택된다.
물리블록 선택수단(6)은, 선택된 물리블록의 어드레스를 어드레스 변환수단(7) 및 데이터 기록수단(4)에 통지한다.
데이터 기록수단(4)은, 감아넣기 퇴피처리가 행하여지는 경우, 물리블록 선택수단(6)에 의해 선택된 물리블록이 있는 플래시 메모리에, 데이터 판독수단(5)에 의해 데이터선(DL)으로 판독된 데이터와 입력된 데이터(DIN)를 기록하는 요구를 발행한다. 플래시 메모리에 이 요구가 받아들여지면, 제어선(CL)에 기록동기신호가 부여되고, 이것에 동기하여 기록이 행하여진다. 도 2의 예에서는, 최초의 1056사이클 동안, 플래시 메모리(21)에 대한 판독동기신호(RE21)와 동시에 플래시 메모리(22)에 대한 기록동기신호(WE22)에 상승 에지가 형성되어 있다. 이것에 의해서, 데이터선(DL)으로 판독된 페이지(81)의 데이터가 전송되고, 플래시 메모리(22)의 물리블록(9)에 포함되는 페이지(91)에 기록된다. 플래시 메모리(22)로 페이지(81)의 데이터가 전송되어 프로그램이 종료된 후의 1056사이클 동안은, 판독동기신호(RE21)에 상승 에지는 형성되지 않지만, 기록동기신호(WE22)에는 상승 에지가 528회 형성된다. 이것에 의해서, 입력된 데이터(DIN)가 전송되고, 물리블록(9)에 포함되는 페이지(92)에 기록된다. 플래시 메모리(22)로 데이터(DIN)가 전송되어 프로그램이 종료된 후, 도 2에서는 최후에 있는 1056사이클 동안, 판독동기신호(RE21)와 동시에 기록동기신호(WE22)에 상승 에지가 형성된다. 이것에 의해서, 데이터선(DL)으로 판독된 페이지(83)의 데이터가 전송되고, 물리블록(9)에 포함되는 페이지(93)에 기록된다.
이와 같이 하여 페이지(81,83)의 데이터가 퇴피되고, 입력된 데이터(DIN)가 물리블록(9)에 기록되면, 데이터 기록수단(4)은, 물리블록(8)의 데이터를 소거한다. 어드레스 변환수단(7)에 의해 논리 어드레스(AIN)의 어드레스 변환정보는 논리 어드레스(AIN)를 물리블록(9)의 어드레스에 대응시키는 것으로 갱신되므로, 데이터 입출력장치(101)로부터는, 페이지(82)의 데이터가 데이터(DIN)에 재기록된 것이 된다. 데이터의 판독과 기록이 동시에 행하여지는 결과, 재기록의 경우에도 기록속도는 고속이다.
다이렉트 메모리 액세스 방식으로 데이터를 전송하는데 수반되는 문제의 해소에는, 오류정정부호 처리수단(10)을 이용할 수 있다.
오류정정부호 처리수단(10)은, 입력된 데이터(DIN)에 대한 오류정정부호를 생성하여, 데이터(DIN)에 오류정정부호를 부가한다. 데이터 기록수단(4)은, 오류정정부호가 부가된 데이터(DIN)를 기록한다. 1페이지의 528바이트 중, 데이터 영역에 1바이트로부터 512바이트까지의 512바이트 분의 영역이 할당될 때, 예를 들면 오류정정부호에는 513바이트로부터 518바이트까지의 6바이트분의 영역이 할당된다.
감아넣기 퇴피처리에 수반하여, 데이터 판독수단(5)에 의해 데이터선(DL)으로 데이터가 판독된 경우, 오류정정부호 처리수단(10)은, 데이터 자체에 이어서 판독된 오류정정부호에 기초하여, 퇴피를 위해 판독된 데이터의 오류의 검출 또는 오류의 검출 및 정정을 행한다.
오류정정부호 처리수단(10)은, 오류정정부호에 기초하여 데이터에 오류가 검출된 경우, 그 오류가 정정가능한 것이면, 오류를 정정하고, 그 오류가 정정불가능한 것이면, 데이터에 정정불가능한 오류가 검출된 것을 나타내는 정정불가능 오류 검출정보를 관리정보 처리수단(11)에 통지한다.
여기서, 오류정정부호 처리수단(10)이, 도 2의 예에 있어서 데이터선(DL)으로 판독된 페이지(81)의 데이터의 2바이트째에 오류를 검출했다고 한다. 이 경우의 판독동기신호(RE21), WE22, 데이터선(DL)을 도 3에 나타낸다.
도 3에 나타낸 바와 같이, 최초의 1024사이클에서 페이지(81)의 데이터 영역의 데이터(D81)가 데이터선(DL)으로 판독된 후, 1025사이클로부터 1036사이클 동안에, 데이터선(DL)으로 판독된 데이터(D81)에 대한 오류정정부호(E81)가 데이터선(DL)으로 판독된다.
데이터(D81) 및 오류정정부호(E81)가 판독되면, 오류정정부호 처리수단(10)은, 데이터(D81)로부터 계산한 오류정정부호와 판독된 오류정정부호(E81)를 비교함으로써 오류를 검출하고, 오류검출결과(ECC81)를 출력한다. 오류검출결과(ECC81)는, 오류의 유무나 정정가능한 오류인지 아닌지의 정보를 포함한다. 이 때, 오류정정부호 처리수단(10)은, 판독된 오류정정부호(E81)에 의거하여, 데이터(D81)의 2바이트째에 오류를 검출했다고 한다. 데이터(D81)에 정정가능한 오류가 검출된 경우, 그 후에 표시되는 1056사이클 동안에 페이지(81)의 데이터의 판독 및 기록이 행하여진다. 단, 이 1056사이클의 4사이클째에서는, 판독동기신호(RE21)에 상승에지는 형성되지 않고, 기록동기신호(WE22)에만 상승에지가 형성된다. 오류가 있던 2바이트째는 플래시 메모리(21)로부터 판독되지 않는다. 2바이트째의 기록시에는, 오류정정부호 처리수단(10)에 의해서 정정된 데이터(C2)가 데이터 기록수단(4)에 의해서 페이지(91)에 기록된다.
이것에 의해서, 퇴피를 위해 판독된 데이터에 오류가 있어도, 오류가 검출되지 않은 채, 선택된 블록에 오류가 있는 데이터가 기록되는 것이 회피된다. 그 결과, 플래시 메모리의 성질에 기인하는 감아넣기 퇴피처리에 있어서의 문제의 영향이 경감된다.
관리정보 처리수단(11)은, 입력된 데이터(DIN)를 관리하기 위한 관리정보를생성하여, 데이터(DIN)에 관리정보를 부가한다. 이 관리정보에는, 어드레스 변환수단(7)으로부터 통지된 어드레스 변환정보 등이 포함된다. 오류정정부호 처리수단(10)으로부터 정정불가능 오류 검출정보가 통지된 경우에는, 정정불가능 오류 검출정보도 관리정보에 포함된다.
데이터 기록수단(4)은, 관리정보가 부가된 데이터(DIN)를 기록한다. 1페이지의 528바이트 중, 데이터 영역에 1바이트로부터 512바이트까지의 512바이트분의 영역이, 오류정정부호에 513바이트로부터 518바이트까지의 6바이트분의 영역이 할당될 때, 예를 들면 관리정보에는 519바이트로부터 528바이트까지의 10바이트분의 영역이 할당된다.
또, 관리정보 처리수단(11)은, 입력된 데이터(DIN)뿐만 아니라, 감아넣기 퇴피처리에 따라서 데이터선(DL)으로 판독된 데이터에도 그 데이터에 대한 새로운 관리정보를 부가한다.
이 경우, 페이지에 이미 기록된 관리정보가 판독될 필요는 없다. 도 2의 예와 같이, 최초의 1056사이클 동안, 판독동기신호(RE21)에 528회 상승에지가 형성될 필요는 없고, 1사이클로부터 526사이클까지 판독동기신호(RE21)에 상승에지가 518회 형성되면 좋다.
기록동기신호(WE22)에는, 최초의 1056사이클 동안, 상승에지가 528회 형성된다. 1037사이클로부터 1056사이클까지 동안의 각 상승에지에 동기하여, 데이터 기록수단(4)은, 관리정보 처리수단(11)에 의해서 새롭게 데이터에 부가된 관리정보(M81NEW)를 페이지(91)에 전송한다. 페이지(91)에는 갱신된관리정보(M81NEW)가 기록되게 된다. 페이지(81)의 데이터에 대한 관리정보와 마찬가지로, 페이지(93)에 기록되는 페이지(83)의 데이터에 대한 관리정보도 갱신된다.
이와 같이 퇴피를 위해 판독된 데이터에 부가되어 기록되는 당해 데이터의 관리정보가 갱신됨으로써, 요구 페이지를 포함하는 블록의 데이터가 소거되기 전에 전원이 떨어졌다고 하여도, 관리정보에 의거하여 전원 재투입 후에 신구의 데이터를 구별하는 것이 가능해진다. 그 결과, 플래시 메모리의 성질에 기인하는 감아넣기 퇴피처리에 있어서의 문제의 영향이 경감된다.
기록동기신호(WE21,WE22)에 동기하여 데이터가 플래시 메모리로 전송되면, 플래시 메모리(21,22)는, 프로그램 상태로 들어가고, 비지신호(BUSY21,BUSY22)를 변화시킨다. 프로그램이 종료될 때까지, 플래시 메모리(21,22)는, 비지신호(BUSY21,BUSY22)의 상태를 계속시킨다.
데이터 기록수단(4)은, 비지신호(BUSY21,BUSY22)가 원래의 상태로 돌아오면, 프로그램 스테이터스(PSTS)를 판독하여, 프로그램이 정상적으로 종료했는지 어떤지를 확인한다.
버퍼(12)는, 1페이지분이나 그 이상의 사이즈를 갖는 SRAM 등이다. 프로그램에서 에러가 발생한 경우에 대비하여, 퇴피를 위해 판독된 데이터를 일시적으로 유지하기 위해서 버퍼(12)를 이용할 수 있다.
예를 들면 도 5에 도시된 바와 같이, 데이터 판독수단(5)에 의해 데이터선(DL)으로 페이지(81)의 데이터가 판독되는 것과 동시에, 데이터선(DL)으로 판독된 페이지(81)의 데이터는 데이터 기록수단(4)에 의해 전송되고, 플래시 메모리(22)에 있는 물리블록(9)의 페이지(91)에 기록된다고 한다.
버퍼(12)는, 데이터선(DL)으로 판독된 페이지(81)의 데이터를 일시적으로 유지한다.
플래시 메모리(22)에서 프로그램이 종료되고, 비지신호(BUSY22)가 원래의 상태로 돌아가면, 데이터 판독수단(5)은, 프로그램 스테이터스를 판독한다. 컨트롤러(3)가 프로그램 스테이터스에 의거하여 프로그램에서 에러가 발생한 것을 확인한 경우, 제어선(CL21)에 판독동기신호(RE21)는 부여되지 않고, 데이터 기록수단(4)은, 플래시 메모리(21)로부터가 아니고 버퍼(12)로부터 판독된 페이지(81)의 데이터를 기록한다.
이와 같이 플래시 메모리로부터 퇴피를 위해 판독된 데이터가 버퍼에 일시적으로 유지됨으로써, 플래시 메모리로부터 데이터를 재판독할 필요가 없어지고, 프로그램 에러가 있어도, 그만큼 소비전력이 억제되고, 데이터를 판독하는 시간도 단축된다. 그 결과, 플래시 메모리의 성질에 기인하는 감아넣기 퇴피처리에 있어서의 문제의 영향이 경감된다.
기억장치(1)는, 오류정정부호 처리수단(10), 관리정보 처리수단(11), 버퍼(12) 중 어느 하나만을 구비하도록 하여도 좋고, 이들의 조합을 구비하여도 좋다.
예를 들면 오류정정부호 처리수단(10)을 버퍼(12)와 조합시킬 수 있다. 이 경우, 데이터선(DL)으로 데이터가 판독되면, 버퍼(12)에 그 데이터가 일시적으로 유지된다. 오류정정부호 처리수단(10)은, 그 데이터에 부가된 오류정정부호에 기초하여 데이터의 오류를 검출한다. 데이터에 정정가능한 오류가 검출되면, 상술의 예에서는, 데이터가 플래시 메모리로부터 재판독되고 있었는데, 이 경우에는, 오류정정부호 처리수단(10)은, 버퍼(12)에 유지된 데이터의 오류를 정정한다. 데이터 기록수단(4)은, 버퍼(12)에 유지된 오류 정정후의 데이터를 플래시 메모리에 기록하면 좋다.
이것에 의해서, 데이터의 오류를 정정하기 때문에, 플래시 메모리에 액세스할 필요가 없어지고, 데이터의 오류정정에 수반되는 소비전력의 증대가 억제된다. 또한, 플래시 메모리에의 액세스를 위해, 데이터의 오류정정에 요하는 시간이 길어지는 것을 회피할 수 있다.
또, 도 1과 같이, 오류정정부호 처리수단(10), 관리정보 처리수단(11) 및 버퍼(12)가 조합되는 경우에 있어서, 오류정정부호 처리수단(10)은, 정정불가능한 오류를 검출했을 때, 정정불가능한 오류를 검출한 것을 나타내는 정정불가능 오류 검출정보를 관리정보 처리수단(11)에 발행한다. 관리정보 처리수단(11)은, 기록되는 데이터에 새롭게 부가되는 관리정보에 정정불가능 오류 검출정보를 포함한다.
이것에 의해, 데이터와 함께 기록된 관리정보가 참조됨으로써, 데이터에 정정불가능한 오류가 있는지의 여부가 용이하게 판별된다.
도 6은, 오류가 없거나 오류가 정정가능한 경우에 관하여, 기억장치의 데이터 처리 방법을 설명하는 플로차트이다. 기억장치(1)가 오류정정부호 처리수단(10), 관리정보 처리수단(11) 및 버퍼(12)를 구비하고 있으면, 각각의 순서를 조합시킨 일련의 순서에 의해서 상술의 감아넣기 퇴피처리를 행할 수가 있다.
우선 외부의 데이터 입출력장치(101)로부터 컨트롤러(3)로 기록의 지시가 있고(S1), 입력되는 데이터(DIN)가 기록되는 어드레스(AIN)가 부여되면, 컨트롤러(3)는 그 어드레스(AIN)를 확인하고(S2), 요구 페이지보다 블록의 선두측의 페이지에 이미 데이터가 기록되어 있는지의 여부에 의거하여, 퇴피가 필요한지의 여부를 판단한다(S3). 어드레스(AIN)가 페이지(82)의 물리 어드레스와 대응하고 있으면, 페이지(82)와 동일한 블록(8)에 기록되어 있는 페이지(81) 및 (83)중, 페이지(81)는 페이지(82)보다 블록의 선두측에 있다. 이 때문에, 컨트롤러(3)는 페이지(81)의 데이터(D81)의 퇴피가 필요하다고 판단한다. 데이터의 퇴피가 필요하다고 판단된 경우, 데이터 판독수단(5)에 의해 데이터선(DL)으로 데이터가 판독되고, 데이터 기록수단(4)에 의해 데이터선(DL)상의 데이터가 기록대상의 플래시 메모리에 전송된다(S4). 이러는 동안, 버퍼(12)에는 1페이지분의 데이터가 유지된다. 또, 기록대상의 플래시 메모리는, 상술의 예에서는, 블록(8)이 있는 플래시 메모리(21)와는 다른 플래시 메모리(22)이다. 오류정정부호 처리수단(10)은, 데이터선(DL)으로 데이터 및 오류정정부호가 판독되면, 그 데이터에 관하여 오류의 검출을 행한다(S5). 정정가능한 오류가 있으면, 오류정정부호 처리수단(10)은, 버퍼(12)에 유지된 데이터를 정정한다. 데이터 기록수단(4)은, 정정된 데이터를 버퍼(12)로부터 기록대상의 플래시 메모리로 재송한다(S6). 데이터선(DL)으로 판독된 데이터에 오류가 없거나, 정정된 데이터가 재송되면, 관리정보 처리수단(11)은, 데이터의 관리정보를 생성하고, 데이터 기록수단(4)은, 생성된 관리정보를 기록대상의 플래시 메모리로 전송한다(S7). 데이터 및 관리정보가 플래시 메모리로 전송되면, 데이터기록수단(4)은, 그 플래시 메모리의 기록블록에 대하여 프로그램 커맨드를 발행한다(S8). 플래시 메모리(22)로 전송된 데이터가 데이터(D81)이면, 그 데이터(D81)는 블록(9)의 페이지(91)에 기록된다. 프로그램이 종료되면, 데이터 기록수단(4)은, 프로그램 스테이터스를 판독하여(S9), 프로그램 에러가 발생했는지의 여부를 확인한다(S10). 프로그램 에러가 발생한 경우, 수순(S4)으로부터 (S10)에 따라, 예를 들면 그 플래시 메모리와는 다른 플래시 메모리에 대하여 퇴피의 재시도가 행하여진다(S11). 그 때, 버퍼(12)에 유지된 데이터에 관해서는, 버퍼로부터 재송된다. 플래시 메모리(22)의 블록(9)에 관하여 프로그램 에러가 발생하면, 플래시 메모리(21)의 블록(8)으로부터 데이터가 판독되는 경우, 도시되어 있지않는 그 밖의 플래시 메모리에 그 데이터는 퇴피된다. 프로그램이 정상적으로 종료했거나, 퇴피가 재시도되면, 컨트롤러(3)는, 퇴피가 종료됐는지의 여부를 판단한다(S12). 요구 페이지보다도 블록의 선두측에 있는 페이지의 데이터 전부가 퇴피되어 있으면, 컨트롤러(3)는, 퇴피가 종료됐다고 판단한다. 요구 페이지가 페이지(82)이면, 그 페이지보다도 블록의 선두측에 있는 페이지의 데이터는, 기술한 바와 같이, 데이터(D81)뿐이다. 이 경우, 데이터(D81)가 블록(9)에 퇴피되면, 컨트롤러(3)는, 퇴피가 종료됐다고 판단한다. 퇴피가 종료되어 있지 않으면, 퇴피가 종료될 때까지, 수순(S4)으로부터 (S12)가 반복된다. 수순(S8)에서 퇴피가 필요하다고 판단되고 있지 않거나, 요구 페이지보다도 블록의 선두측에 있는 페이지의 데이터 전부가 퇴피되면, 데이터 기록수단(4)은, 데이터(DIN)를 퇴피된 데이터가 기록된 블록에 기록한다(S13). 데이터(DIN)가 기록되면, 컨트롤러(3)는, 요구 페이지보다도 블록의 말미측에 있는 페이지에 데이터가 이미 기록되어 있는지의 여부에 의거하여, 퇴피가 필요한지의 여부를 판단한다(S14). 페이지(82)와 동일한 블록(8)에 기록되어 있는 페이지(81) 및 (83)중, 페이지(83)는 페이지(82)보다 블록의 말미측에 있다. 이 때문에, 컨트롤러(3)는 페이지(83)의 데이터(D83)의 퇴피가 필요하다고 판단한다. 퇴피가 필요하다고 판단된 경우, 수순(S4) 이후의 순서가 반복되고, 퇴피가 필요하지 않다고 판단된 경우, 감아넣기 퇴피처리는 종료한다(S15).
또한, 이와 같은 순서는, 전용 로직에 의해서 실현할 수도 있고, 마이크로 프로세서나 메모리와 프로그램을 협동시키는 것에 의해서도 실현할 수 있다.
또, 기억장치(1)와 외부의 데이터 입출력장치(101)의 접속에, 데이터선(102)과 어드레스선(103)을 개재했는데, 이것에 한정되는 것은 아니다. 데이터선(102)과 어드레스선(103)에 독립된 선을 이용할 필요는 없고, 같은 선을 공용하여도 좋다. 휴대되는 소형의 메모리 카드 등에서는, 공용에 의해서 핀수가 삭감되기 때문에 바람직하다.
또, 상술의 예에서는, 감아넣기 퇴피처리를 위해 불휘발성 메모리 사이에서 데이터가 전송되는 경우를 설명했는데, 이것에 한정되는 것이 아니다. 예를 들면 데이터의 프레그먼트를 해소하기 위해서, 불휘발성 메모리 사이에서 데이터가 전송되는 경우도 있다. 이와 같은 경우, 불휘발성 메모리 사이에서의 데이터 전송을, 도 6의 수순(S4)으로부터 (S12)에 의해서 행할 수 있다. 이것에 의해서, 감아넣기 퇴피처리 이외의 처리에서도, 감아넣기 퇴피처리와 마찬가지로, 불휘발성 메모리 사이에서의 데이터 전송에 따른 불휘발성 메모리의 성질에 기인하는 문제를 해소할수 있다.
이상 설명한 바와 같이, 본 발명에서는, 불휘발성 메모리 사이에서 전송되는 데이터에 대하여 오류정정 처리가 행하여지기 때문에, 오류가 검출되지 않은 채, 오류가 있는 데이터가 기록되어 버리는 것을 피할 수 있다. 또, 불휘발성 메모리 사이에서 전송되는 데이터의 관리정보가 갱신되기 때문에, 불휘발성 메모리 사이에서 데이터를 이동하는 경우에, 이동원의 데이터가 소거되기 전에 전원이 떨어졌다고 하여도, 전원 재투입 후에 관리정보에 의거하여 신구의 데이터를 구별할 수 있다. 또, 불휘발성 메모리 사이에서 전송되는 데이터를 버퍼에 일시적으로 유지해 두면, 프로그램 에러가 있어도, 불휘발성 메모리로부터 데이터를 재판독할 필요가 없어지고, 그만큼 소비전력이 억제되며, 데이터를 판독하는 시간도 단축된다. 이러한 결과, 다이렉트 메모리 액세스방식으로 데이터를 고속으로 전송하면서, 불휘발성 메모리의 성질에 기인하는 문제의 영향을 억제할 수 있다.

Claims (15)

  1. 데이터선을 공용하는 복수의 불휘발성 메모리가 독립하여 제어가능하게 설치된 기억장치로서,
    데이터에 부가되어 불휘발성 메모리에 기록되는 그 데이터에 대한 오류정정 부호를 생성하고, 불휘발성 메모리로부터 데이터선으로 판독된 데이터에 대한 오류 정정부호에 기초하여, 그 데이터의 오류의 검출 또는 오류의 검출 및 정정을 행하는 오류정정부호 처리수단과,
    불휘발성 메모리로부터 데이터선으로 판독된 데이터를 그 불휘발성 메모리와는 다른 불휘발성 메모리에 기록하는 경우에, 그 데이터에 정정가능한 오류가 검출되었을 때, 그 오류가 정정된 데이터를 기록하는 기록수단을 구비한 것을 특징으로 하는 기억장치.
  2. 제 1 항에 있어서, 데이터를 일시적으로 유지하는 버퍼를 구비하고,
    상기 오류정정부호 처리수단은, 데이터에 정정가능한 오류가 있는 것을 검출한 경우에, 데이터선으로부터 상기 버퍼에 유지된 데이터의 오류를 정정하고,
    상기 기록수단은, 상기 버퍼에 유지된 데이터를 기록하는 것을 특징으로 하는 기억장치.
  3. 데이터선을 공용하는 복수의 불휘발성 메모리가 독립하여 제어가능하게 설치된 기억장치로서,
    데이터를 관리하기 위한 관리정보를, 입력된 데이터뿐만 아니라, 불휘발성 메모리로부터 데이터선으로 판독되어 그 불휘발성 메모리와는 다른 불휘발성 메모리에 기록되는 데이터에 대해서도 생성하는 관리정보 처리수단과
    관리정보를 부가하여 불휘발성 메모리에 데이터를 기록하는 기록수단을 구비한 것을 특징으로 하는 기억장치.
  4. 데이터선을 공용하는 복수의 불휘발성 메모리가 독립하여 제어가능하게 설치된 기억장치로서,
    데이터를 일시적으로 유지하는 버퍼와,
    불휘발성 메모리로부터 데이터선으로 판독되어 그 불휘발성 메모리와는 다른 불휘발성 메모리에 전송한 데이터의 프로그램 에러가 발생한 경우에, 데이터선으로부터 상기 버퍼에 유지된 데이터를 기록하는 기록수단을 구비한 것을 특징으로 하는 기억장치.
  5. 제 4 항에 있어서, 데이터에 부가되어 불휘발성 메모리에 기록되는 그 데이터에 대한 오류정정부호를 생성하고, 불휘발성 메모리로부터 데이터선으로 판독된 데이터에 대한 오류정정부호에 기초하여, 그 데이터에 정정가능한 오류가 있는 것을 검출한 경우에, 데이터선으로부터 상기 버퍼에 유지된 데이터의 오류를 정정하는 오류정정부호 처리수단을 더 구비하고,
    상기 기록수단은, 불휘발성 메모리로부터 데이터선으로 판독된 데이터를 그 불휘발성 메모리와는 다른 불휘발성 메모리에 기록하는 경우에, 그 데이터에 정정가능한 오류가 검출되었을 때, 상기 버퍼에 유지된 데이터를 기록하는 것을 특징으로 하는 기억장치.
  6. 제 5 항에 있어서, 데이터를 관리하기 위한 관리정보를, 입력된 데이터뿐만 아니라, 불휘발성 메모리로부터 데이터선으로 판독되어 그 불휘발성 메모리와는 다른 불휘발성 메모리에 기록되는 데이터에 대해서도 생성하는 관리정보 처리수단을 더 구비하고,
    상기 기록수단은, 관리정보를 부가하여 불휘발성 메모리에 데이터를 기록하는 것을 특징으로 하는 기억장치.
  7. 제 6 항에 있어서, 상기 관리정보 처리수단은, 데이터에 정정불가능한 오류가 검출된 경우에, 데이터에 정정불가능한 오류가 검출된 것을 나타내는 정정불가능 오류 검출정보를, 그 데이터에 부가되는 관리정보에 포함하는 것을 특징으로 하는 기억장치.
  8. 제 7 항에 있어서, 상기 불휘발성 메모리는, 데이터의 소거단위인 블록이 데이터의 기록단위인 페이지를 복수 포함하는 플래시 메모리인 것을 특징으로 하는 기억장치.
  9. 제 8 항에 있어서, 블록의 페이지에 기록되어 있던 데이터가 그 블록의 데이터의 소거전에 퇴피되는 경우에, 퇴피되는 데이터가 기록되는 페이지를 포함하는 블록을, 데이터가 소거되는 블록이 있는 플래시 메모리와는 다른 플래시 메모리의 기록가능한 블록 중에서 선택하는 블록선택수단을 구비하는 것을 특징으로 하는 기억장치.
  10. 데이터선을 공용하는 복수의 불휘발성 메모리가 독립하여 제어가능하게 설치된 기억장치의 데이터 처리 방법으로서,
    불휘발성 메모리로부터 데이터선으로 판독된 데이터가 그 불휘발성 메모리와는 다른 불휘발성 메모리에 기록되는 경우에, 그 데이터의 오류의 검출을 행하고,
    그 데이터에 정정가능한 오류가 검출되었을 때, 그 오류가 정정된 데이터를 기록하는 것을 특징으로 하는 데이터 처리 방법.
  11. 데이터선을 공용하는 복수의 불휘발성 메모리가 독립하여 제어가능하게 설치된 기억장치의 데이터 처리 방법으로서,
    불휘발성 메모리로부터 데이터선으로 판독된 데이터가 그 불휘발성 메모리와는 다른 불휘발성 메모리에 기록되는 경우에, 그 데이터에 대하여, 데이터를 관리하기 위한 관리정보를 생성하고,
    생성된 관리정보를 부가하여 불휘발성 메모리에 그 데이터를 기록하는 것을특징으로 하는 데이터 처리 방법.
  12. 데이터선을 공용하는 복수의 불휘발성 메모리가 독립하여 제어가능하게 설치된 기억장치의 데이터 처리 방법으로서,
    불휘발성 메모리로부터 데이터선으로 판독된 데이터를 그 불휘발성 메모리와는 다른 불휘발성 메모리로 전송하고,
    전송된 데이터의 프로그램 에러가 발생한 경우에, 그 데이터가 전송된 불휘발성 메모리와는 다른 불휘발성 메모리에, 데이터선으로부터 버퍼에 유지되고 있던 데이터를 기록하는 것을 특징으로 하는 데이터 처리 방법.
  13. 데이터선을 공용하는 복수의 불휘발성 메모리가 독립하여 제어가능하게 설치된 기억장치의 데이터 처리 프로그램으로서,
    컴퓨터에,
    불휘발성 메모리로부터 데이터선으로 판독된 데이터가 그 불휘발성 메모리와는 다른 불휘발성 메모리에 기록되는 경우에, 그 데이터의 오류의 검출을 행하는 수순, 및
    그 데이터에 정정가능한 오류가 검출되었을 때, 그 오류가 정정된 데이터를 기록하는 수순을 실행시키기 위한 것을 특징으로 하는 데이터 처리 프로그램.
  14. 데이터선을 공용하는 복수의 불휘발성 메모리가 독립하여 제어가능하게 설치된 기억장치의 데이터 처리 프로그램으로서,
    컴퓨터에,
    불휘발성 메모리로부터 데이터선으로 판독된 데이터가 그 불휘발성 메모리와는 다른 불휘발성 메모리에 기록되는 경우에, 그 데이터에 대하여, 데이터를 관리하기 위한 관리정보를 생성하는 수순, 및
    생성된 관리정보를 부가하여 불휘발성 메모리에 그 데이터를 기록하는 수순을 실행시키기 위한 것을 특징으로 하는 데이터 처리 프로그램.
  15. 데이터선을 공용하는 복수의 불휘발성 메모리가 독립하여 제어가능하게 설치된 기억장치의 데이터 처리 프로그램으로서,
    컴퓨터에,
    불휘발성 메모리로부터 데이터선으로 판독된 데이터를 그 불휘발성 메모리와는 다른 불휘발성 메모리로 전송하는 수순, 및
    전송된 데이터의 프로그램 에러가 발생한 경우에, 데이터선으로부터 버퍼에 유지되어 있던 데이터를 불휘발성 메모리에 기록하는 수순을 실행시키기 위한 것을 특징으로 하는 데이터 처리 프로그램.
KR10-2003-0005409A 2002-01-29 2003-01-28 기억장치, 데이터 처리 방법 및 데이터 처리 프로그램 KR20030065355A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002019690 2002-01-29
JPJP-P-2002-00019690 2002-01-29

Publications (1)

Publication Number Publication Date
KR20030065355A true KR20030065355A (ko) 2003-08-06

Family

ID=27606251

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0005409A KR20030065355A (ko) 2002-01-29 2003-01-28 기억장치, 데이터 처리 방법 및 데이터 처리 프로그램

Country Status (5)

Country Link
US (1) US6680870B2 (ko)
EP (1) EP1335290A3 (ko)
KR (1) KR20030065355A (ko)
CN (1) CN1435758A (ko)
TW (1) TW200302966A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110054788A (ko) * 2009-11-18 2011-05-25 삼성전자주식회사 비-휘발성 버퍼를 이용한 데이터 저장 장치 및 방법
KR101337812B1 (ko) * 2010-05-13 2013-12-06 마이크론 테크놀로지, 인크. 프로그램 실패 후에 액세스 가능한 정보를 갖는 메모리 버퍼

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7466597B2 (en) * 2004-09-09 2008-12-16 Samsung Electronics Co., Ltd. NAND flash memory device and copyback program method for same
US7424648B2 (en) * 2005-03-10 2008-09-09 Matsushita Electric Industrial Co., Ltd. Nonvolatile memory system, nonvolatile memory device, data read method, and data read program
JP4842563B2 (ja) * 2005-05-16 2011-12-21 パナソニック株式会社 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
US7523381B2 (en) * 2005-09-01 2009-04-21 Micron Technology, Inc. Non-volatile memory with error detection
US8276043B2 (en) * 2008-03-01 2012-09-25 Kabushiki Kaisha Toshiba Memory system
CN101957782B (zh) * 2009-07-17 2013-05-01 慧国(上海)软件科技有限公司 避免数据储存装置的数据发生移位错误的方法及控制器
JP5038549B2 (ja) * 2010-03-11 2012-10-03 三菱電機株式会社 メモリ診断方法、メモリ診断装置およびメモリ診断プログラム
US9569320B2 (en) * 2010-12-01 2017-02-14 Seagate Technology Llc Non-volatile memory program failure recovery via redundant arrays
JP6042448B2 (ja) * 2011-12-08 2016-12-14 クゥアルコム・テクノロジーズ・インコーポレイテッド 通常データ送信とリトライデータ送信との間の差分フォーマッティング
US8930749B2 (en) * 2012-04-02 2015-01-06 International Business Machines Corporation Systems and methods for preventing data loss
US8990640B2 (en) * 2012-11-16 2015-03-24 International Business Machines Corporation Selective posted data error detection based on request type
US9529668B2 (en) * 2014-09-26 2016-12-27 Intel Corporation Method and system for using NAND page buffers to improve the transfer buffer utilization of a solid state drive
US9507663B1 (en) * 2015-05-04 2016-11-29 Macronix International Co., Ltd. Memory device and operation method
TWI573146B (zh) * 2015-05-28 2017-03-01 旺宏電子股份有限公司 記憶體裝置與其操作方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69033262T2 (de) * 1989-04-13 2000-02-24 Sandisk Corp EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher
US5532962A (en) * 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
US5475693A (en) * 1994-12-27 1995-12-12 Intel Corporation Error management processes for flash EEPROM memory arrays
JP2842809B2 (ja) * 1995-06-28 1999-01-06 甲府日本電気株式会社 キャッシュ索引の障害訂正装置
JP3197815B2 (ja) * 1996-04-15 2001-08-13 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 半導体メモリ装置及びその制御方法
JP3538202B2 (ja) * 1996-07-19 2004-06-14 東京エレクトロンデバイス株式会社 フラッシュメモリカード
JP2001501000A (ja) * 1996-08-16 2001-01-23 東京エレクトロン株式会社 エラー検出および訂正を有する半導体メモリ装置
JP3072722B2 (ja) * 1997-06-20 2000-08-07 ソニー株式会社 フラッシュメモリを用いるデータ管理装置及びデータ管理方法並びにフラッシュメモリを用いる記憶媒体
JPH11203885A (ja) 1998-01-09 1999-07-30 Hitachi Ltd 記憶装置
CN100347684C (zh) * 1999-07-28 2007-11-07 索尼公司 记录系统、数据记录设备、存储设备和数据记录方法
US6304486B1 (en) * 1999-12-20 2001-10-16 Fujitsu Limited Sensing time control device and method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110054788A (ko) * 2009-11-18 2011-05-25 삼성전자주식회사 비-휘발성 버퍼를 이용한 데이터 저장 장치 및 방법
KR101337812B1 (ko) * 2010-05-13 2013-12-06 마이크론 테크놀로지, 인크. 프로그램 실패 후에 액세스 가능한 정보를 갖는 메모리 버퍼

Also Published As

Publication number Publication date
US20030142543A1 (en) 2003-07-31
CN1435758A (zh) 2003-08-13
EP1335290A3 (en) 2004-11-10
TW200302966A (en) 2003-08-16
US6680870B2 (en) 2004-01-20
EP1335290A2 (en) 2003-08-13

Similar Documents

Publication Publication Date Title
US8037232B2 (en) Data protection method for power failure and controller using the same
JP3792259B2 (ja) 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能
JP4688584B2 (ja) ストレージ装置
US8397019B2 (en) Memory for accessing multiple sectors of information substantially concurrently
US8484409B2 (en) Nonvolatile memory controller with logical defective cluster table
JP5426711B2 (ja) メモリコントローラ及び不揮発性記憶装置
US20080028132A1 (en) Non-volatile storage device, data storage system, and data storage method
KR20030065355A (ko) 기억장치, 데이터 처리 방법 및 데이터 처리 프로그램
US20110035539A1 (en) Storage device, and memory controller
KR20020079917A (ko) 데이터 기록 장치 및 플래시 메모리에 대한 데이터 기입방법
US9037814B2 (en) Flash memory management method and flash memory controller and storage system using the same
US8819332B2 (en) Nonvolatile storage device performing periodic error correction during successive page copy operations
JP2010086009A (ja) 記憶装置およびメモリ制御方法
JPWO2007105688A1 (ja) メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
JP4254932B2 (ja) メモリコントローラ及びフラッシュメモリシステム
JP4308780B2 (ja) 半導体メモリ装置、メモリコントローラ及びデータ記録方法
US20050204115A1 (en) Semiconductor memory device, memory controller and data recording method
JP4655034B2 (ja) メモリコントローラ及びフラッシュメモリシステム並びにフラッシュメモリの制御方法
JP2003296199A (ja) 記憶装置、データ処理方法及びデータ処理プログラム
JP3670151B2 (ja) フラッシュメモリのアクセス方法、フラッシュメモリへアクセスするドライバを備えるシステム、および、フラッシュメモリ
JPH0546461A (ja) メモリカード装置
US20230221868A1 (en) Method for inheriting defect block table and storage device thereof
KR100490603B1 (ko) 플래시 메모리 동작 제어 방법 및 장치
JPH05151099A (ja) メモリカード装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid