KR100871027B1 - 데이터 기록 장치 및 플래시 메모리에 대한 데이터 기입방법 - Google Patents

데이터 기록 장치 및 플래시 메모리에 대한 데이터 기입방법 Download PDF

Info

Publication number
KR100871027B1
KR100871027B1 KR1020027011224A KR20027011224A KR100871027B1 KR 100871027 B1 KR100871027 B1 KR 100871027B1 KR 1020027011224 A KR1020027011224 A KR 1020027011224A KR 20027011224 A KR20027011224 A KR 20027011224A KR 100871027 B1 KR100871027 B1 KR 100871027B1
Authority
KR
South Korea
Prior art keywords
management information
block
page
flash memory
written
Prior art date
Application number
KR1020027011224A
Other languages
English (en)
Other versions
KR20020079917A (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 KR20020079917A publication Critical patent/KR20020079917A/ko
Application granted granted Critical
Publication of KR100871027B1 publication Critical patent/KR100871027B1/ko

Links

Images

Classifications

    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

플래시 메모리(2)에 기억되어 있는 관리 정보를 판독하여, 기억하는 기억부(4)와, 기억부(4)에 기억되어 있는 관리 정보를 갱신하는 갱신부(7)와, 플래시 메모리(2)의 데이터 기입 단위인 페이지에 갱신부(7)에 의해 갱신된 관리 정보를 기입하는 관리 정보 기입부(3)와, 갱신된 관리 정보를, 관리 정보 기입부(3)에 의해서 플래시 메모리(2)의 페이지에 기입할 때, 최신의 갱신 전 관리 정보가 기록되어 있는 페이지를 포함하는 블록 이외의 블록을 선택하고, 선택한 블록의 비어 있는 페이지에 갱신한 관리 정보를 기입하도록 관리 정보 기입부(3)를 제어하는 제어부(7)를 구비하여 실현한다.
플래시 메모리, 짝수 블록, 홀수 블록, 페이지

Description

데이터 기록 장치 및 플래시 메모리에 대한 데이터 기입 방법{DATA RECORDER AND METHOD FOR RECORDING DATA IN FLASH MEMORY}
본 발명은 플래시 메모리에 기입된 관리 정보에 관한 것으로, 상세하게는 관리 정보의 갱신에 수반하는 기입 에러로부터 관리 정보를 보호하는 데이터 기록 장치 및 플래시 메모리에 대한 데이터 기입 방법에 관한 것이다.
전기적으로 데이터를 일괄 소거할 수 있고, 몇번이든 데이터를 기입할 수 있는 불휘발성의 PROM(Programmable Read-Only Memory)인 플래시 메모리는 소형, 경량, 고속성, 저소비 전력의 특성을 갖기 때문에 휴대형 PC(Personal Computer)의 HDD(Hard Disk Drive)를 대신하는 보조 기억 매체 등에 이용되고 있다.
또한 플래시 메모리를 착탈 가능하게 한 것으로서, 메모리 카드가 있다. 메모리 카드는 데이터 기록 장치에 장착되어 화상 데이터나 음악 데이터 등이 기록된다.
메모리 카드에 기록된 화상 데이터나 음악 데이터는 메모리 카드를 PC, 디지털 카메라, 음악 재생 장치 등에 장착하여 재생시킬 수 있다.
계속해서, 도 1을 이용하여 상술한 플래시 메모리의 메모리 구성에 대하여 설명을 한다. 플래시 메모리는 데이터의 소거 단위인 소정의 데이터량의 복수의 블록으로 구성되어 있다. 또한 각 블록은 데이터의 판독, 기입의 단위인 소정의 데이터량의 복수의 페이지로 구성되어 있다. 또한, 각 페이지는 데이터를 기입하는, 예를 들면 512Byte의 데이터 영역과, 패러티 데이터 등을 기입하는 16Byte의 확장 영역(Extra 영역)을 포함하고 있다.
플래시 메모리는 데이터 기록 장치에 의해 기록되는 화상 데이터, 음악 데이터 이외에 장치가 동작하는데 필요한 정보인 장치 기동 정보, 장치 관리 정보 등의 중요한 정보(이하, 관리 정보라고 함)를 상술한 데이터 영역에 기억하고 있다.
이 관리 정보는, 플래시 메모리를 사용할 때에 장치 내의 RAM(Random Access Memory)에 판독되어 기억 및 관리된다. 기억된 관리 정보는 필요에 따라서, 예를 들면 음악 데이터나 화상 데이터의 기입에 의해서 기억 데이터가 변화함에 따라서, 데이터 기억 장치의 CPU의 제어에 의해 갱신되고, 갱신된 관리 정보는 다시 플래시 메모리의 데이터 영역에 기입된다.
다음에, 도 2에 도시한 흐름도를 이용하여, 플래시 메모리의 관리 정보를 갱신할 때의 동작에 대하여 설명을 한다. 여기서는 어떤 관리 정보가 플래시 메모리 내의 소정의 블록에 기입되어 있는 것으로 한다.
우선, 단계 S21에서, CPU는 플래시 메모리 내의 소정의 블록을 검색하여, 블록 내에 비어 있는 페이지가 있는지의 여부를 판단한다. 블록 내에 비어 있는 페이지가 없는 경우에는 공정을 단계 S23으로 진행시키고, 블록 내에 비어 있는 페이지가 있는 경우에는 공정을 단계 S22로 진행시킨다.
단계 S22에서, CPU는 갱신 직전의 관리 정보가 기입되어 있는 페이지와 동일 한 블록에 있는 비어 있는 페이지를, 갱신한 관리 정보를 기입하기 위한 새로운 페이지로서 확보한다. 관리 정보가 기입되어 있는 페이지가 해당 블록의 최후의 페이지의 경우에는 다음의 블록의 선두 페이지에 관리 정보가 기입된다.
단계 S23에서, CPU는 플래시 메모리 내의 모든 블록에 비어 있는 페이지가 없는 것에 따라서, 선두의 블록에 기입되어 있는 갱신 전의 관리 정보를 전부 소거하고, 갱신한 관리 정보를 기입하기 위한 블록을 준비한다. 그리고, CPU는 갱신 전의 관리 정보를 소거한 블록의 선두 페이지를 갱신한 새로운 정보를 기입하기 위한 새로운 페이지로서 확보한다.
단계 S24에서 CPU는 단계 S22 또는 단계 S23에서 확보한 새로운 페이지에 갱신한 관리 정보를 기입한다. 단계 S24가 종료하면 관리 정보의 갱신 처리는 종료한다.
도 2의 흐름도를 이용하여 설명한 바와 같이 관리 정보의 갱신이 행해지면, 플래시 메모리의 블록은 도 3에 도시한 바와 같이 관리 정보가 갱신되어 간다.
관리 정보가 기입되는 블록을 블록(100a), 블록(100b)으로 하면, 우선 블록(100a)의 페이지 번호 0으로부터 관리 정보는 기입되어, 페이지 번호 n까지 기입된다. 계속해서, 블록(100b)으로 이동하여 블록(100b)의 페이지 번호 0으로부터 관리 정보가 기입된다. 이와 같이 하여, 플래시 메모리의 블록으로는 블록마다 순서대로 관리 정보가 갱신되어 간다.
또한, 플래시 메모리의 관리 정보의 갱신 처리에서, 갱신 처리에 실패한 경우, CPU는 갱신 직전의 관리 정보를 이용하여 다시 갱신 처리를 행하게 된다.
그런데, 플래시 메모리는 페이지에 데이터를 기입하는 처리에 있어서 에러가 발생한 경우, 그 페이지가 속하는 블록 내의 데이터 전체에 에러가 미치는 스큐 에러라는 현상을 발생시키는 특성이 있다.
스큐 에러란, 도 4에 도시한 바와 같이, 블록 내의 페이지의 어떤 비트에 에러가 생기면, 블록 내의 다른 모든 페이지의 동일 비트도 에러가 생겨서 블록 내 모든 데이터가 손상을 입는 것을 말한다.
상술한 흐름도에서 나타낸 플래시 메모리 내의 관리 정보의 갱신에서는, 블록 내의 갱신 전의 관리 정보가 기입되어 있는 페이지의 다음의 빈 페이지에 관리 정보를 기입하기 때문에, 갱신 처리에 실패하여 에러가 생긴 경우, 에러가 생긴 페이지를 갖는 블록 내의 모든 관리 정보에 에러가 생기게 된다. 따라서, 갱신 처리에 실패한 경우에 필요하게 되는 갱신 직전의 관리 정보에도 에러가 생기게 되어 다시 갱신 처리를 행할 수 없게 된다는 문제가 있다.
또한, 종래 플래시 메모리의 하나의 메모리 셀에는 1bit의 정보밖에 기억할 수 없지만, 플래시 메모리의 저비용화, 대용량화를 위해 하나의 메모리 셀에 2bit, 게다가 4bit의 정보를 기억하는 다치화가 행해지는 경우, 상술한 스큐 에러는 광범위의 비트에 미치게 되어, 오류 정정 코드만으로는 대처할 수 없다는 문제가 있다.
<발명의 개시>
그래서, 본 발명은 상술한 바와 같은 문제를 해결하기 위해서 안출된 것으로, 관리 정보의 갱신에 수반하는 기입 에러로부터, 관리 정보를 보호하는 데이터 기록 장치 및 플래시 메모리에 대한 데이터 기입 방법을 제공하는 것을 목적으로 한다.
본 발명에 따른 데이터 기록 장치는, 소정의 데이터량의 페이지 단위로 데이터가 기입되고, 기입된 데이터가 복수의 페이지로 이루어지는 블록 단위로 일괄 소거되는 플래시 메모리에 데이터를 기입하고, 데이터를 기록시키는 데이터 기록 장치로서, 플래시 메모리에 기억되어 있는 관리 정보를 판독하여 기억하는 기억 수단과, 기억 수단에 기억되어 있는 관리 정보를 갱신하는 갱신 수단과, 플래시 메모리의 데이터 기입 단위인 페이지에 갱신 수단에 의해 갱신된 관리 정보를 기입하는 관리 정보 기입 수단과, 갱신한 관리 정보를 관리 정보 기입 수단에 의해서 플래시 메모리의 페이지에 기입할 때, 최신의 갱신 전 관리 정보가 기록되어 있는 페이지를 포함하는 블록 이외의 블록을 선택하고, 선택한 블록의 비어 있는 페이지에 갱신한 관리 정보를 기입하도록 관리 정보 기입 수단을 제어하는 제어 수단을 포함하며, 상기 제어 수단은 상기 선택한 블록에 비어 있는 페이지가 없을 때, 이 블록에 기입되어 있는 오래된 관리 정보를 소거하여 선두의 페이지에, 상기 갱신한 관리 정보를 기입하는 것을 특징으로 한다.
이 데이터 기록 장치에서는 관리 정보의 갱신에 필요하게 되는 갱신 직전의 관리 정보를 보호할 수 있다.
본 발명에 따른 플래시 메모리에 대한 데이터 기입 방법은, 소정의 데이터량의 페이지 단위로 데이터가 기입되고, 기입된 데이터가 복수의 페이지로 이루어지는 블록 단위로 일괄 소거되는 플래시 메모리에 대한 데이터 기입 방법으로서, 플래시 메모리에 기억되어 있는 관리 정보를 판독하여, 소정의 기억 수단에 기억시켜, 기억 수단에 기억되어 있는 관리 정보를 갱신하고, 갱신한 관리 정보를 플래시 메모리의 페이지에 기입할 때, 최신의 갱신 전 관리 정보가 기록되어 있는 페이지를 포함하는 블록 이외의 블록을 선택하고, 선택한 블록의 비어 있는 페이지에 갱신한 관리 정보를 기입하고, 상기 선택한 블록에 비어 있는 페이지가 없을 때, 이 블록에 기입되어 있는 오래된 관리 정보를 소거하여 선두의 페이지에, 상기 갱신한 관리 정보를 기입하는 것을 특징으로 한다.
이 플래시 메모리에 대한 데이터 기입 방법에서는, 관리 정보의 갱신에 필요하게 되는 갱신 직전의 관리 정보를 보호할 수 있다.
도 1은 플래시 메모리의 메모리 구성을 설명하기 위한 도면.
도 2는 배경 기술로서 예시하는, 데이터 기록 장치에서, 관리 정보의 갱신 처리 동작에 대하여 설명하기 위한 흐름도.
도 3은 데이터 기록 장치에서 관리 정보가 기입되는 블록에 대하여 설명하기 위한 도면.
도 4는 데이터 기록 장치에서, 관리 정보의 플래시 메모리에의 기입 시에 블록에 발생하는 스큐 에러에 대하여 설명하기 위한 도면.
도 5는 본 발명의 실시 형태로서 예시하는 데이터 기록 장치의 주요부 구성을 설명하기 위한 블록도.
도 6은 데이터 기록 장치에서 관리 정보의 갱신 처리 동작의 개요를 설명하기 위한 흐름도.
도 7은 데이터 기록 장치에서 구체적인 관리 정보의 갱신 처리 동작을 설명하기 위한 흐름도.
도 8은 데이터 기록 장치에서 플래시 메모리의 블록 구조에 대하여 설명하기 위한 개략도.
도 9는 데이터 기록 장치에서, 관리 정보가 기입되는 짝수 블록 및 홀수 블록에 대하여 설명하기 위한 도면.
도 10은 본 발명의 실시 형태로서 예시하는 메모리 카드의 주요부 구성을 설명하기 위한 블록도.
<발명을 실시하기 위한 최량의 형태>
이하, 본 발명에 따른 데이터 기록 장치 및 플래시 메모리에 대한 데이터 기입 방법의 실시 형태를 도면을 참조로 하여 상세히 설명한다.
본 발명은 도 5에 도시하는 데이터 기록 장치(1)에 적용된다.
데이터 기록 장치(1)는 플래시 메모리(2)와, 인터페이스(IF)(3)와, 메모리(4)와, 디스플레이(5)와, I/O(Input/Output)(6)와, CPU(Central Processing Unit)(7)와, 버스(8)를 구비하고 있다.
플래시 메모리(2)는 전기적으로 데이터의 일괄 소거가 행해지며, 데이터의 기입을 몇번이든 행할 수 있는 불휘발성의 PROM(Programmable Read-only Memory)이다. 사용자의 명령에 따라서, 데이터 기록 장치(1)는 플래시 메모리(2)에 음악 데이터나 화상 데이터를 기입한다.
또한, 플래시 메모리(2)는 데이터 기록 장치(1)에 고정되어 있어도 되며, 데이터 기록 장치(1)로부터 착탈이 가능한 리무버블 미디어라도 된다.
인터페이스(3)는 플래시 메모리(2)를 접속하여, 플래시 메모리(2)에 기억되어 있는 데이터의 판독, 플래시 메모리(2)에의 데이터의 기입을 행하는 인터페이스이다.
메모리(4)는 데이터 기록 장치(1)의 주기억 장치로, 기입 판독이 자유로운 RAM(Random Access Memory)이다. 메모리(4)는 CPU(7)의 제어에 따라서 플래시 메모리(2)로부터 판독된 관리 정보를 기억한다.
디스플레이(5)는 플래시 메모리(2)에 데이터를 기입할 때의 조작을 지원하는 프로그램을 표시시키거나, 플래시 메모리(2)의 빈 용량 등을 표시하는 표시 장치이다.
I/O(6)는 입출력 인터페이스로서, 사용자의 해당 데이터 기록 장치(1)로의 명령을 입력하거나, 플래시 메모리(2) 내에 기록되어 있는 화상 데이터나 음악 데이터를 출력한다.
CPU(7)는 데이터 기록 장치(1)의 각 부를 통괄적으로 제어한다. 또한, CPU(7)는 플래시 메모리(2)에 기입되어 있는 관리 정보를 판독하여 메모리(4)에 기억시키고, 메모리(4)에 기억시킨 관리 정보의 재기입이나 관리 등을 행한다.
또한 CPU(7)는 메모리(4)에 기억시킨 관리 정보에 기초하여 플래시 메모리(2)에 화상 데이터나 음악 데이터를 기입할 때의 제어를 행한다.
버스(8)는 상술한 각부를 접속하는 버스이고, 여기서는 구별하지 않지만, CPU(7)로부터의 제어를 각부에 전달하는 제어 버스와, 각종 데이터를 전달하는 데이터 버스를 구비하고 있다.
계속해서, 플래시 메모리(2)에 기억되어 있는 관리 정보가 갱신될 때의 동작의 개요에 대하여 도 6에 도시하는 흐름도를 이용하여 설명을 한다.
우선, 단계 S1에서, 관리 정보의 갱신 처리로 들어가면, CPU(7)는 플래시 메 모리(2) 내를 검색하고, 갱신한 관리 정보를 기입하기 위한 새로운 페이지를 취득한다.
단계 S2에서, CPU(7)는 단계 S1에서 취득한 플래시 메모리(2)의 새로운 페이지에 갱신한 관리 정보를 기입한다.
계속해서, 단계 S3에서, CPU(7)는 기입한 관리 정보에 에러가 있는지의 여부의 판단을 한다. 에러가 없는 경우에는 공정을 종료하고, 에러가 있는 경우에는 공정을 단계 S4로 진행시킨다.
단계 S4에서, CPU(7)는 플래시 메모리(2)를 검색하여, 상술의 단계 S2에서 기입한 데이터가 기입된 페이지를 포함하는 블록 이외의 새로운 블록을 취득한다. 단계 S4가 종료하면 공정은 단계 S1로 되돌아가, 기입 에러가 없어질 때까지 이 공정은 계속된다.
이와 같이 하여, 데이터 기록 장치(1)는 갱신한 관리 정보를 기입하는 페이지를, 갱신 직전의 관리 정보가 기입되어 있는 페이지가 속하는 블록과는 다른 블록에 확보하기 때문에, 관리 정보를 갱신할 때에 기입 에러가 생긴 경우라도 갱신 전의 직전의 정보는 반드시 보호된다.
계속해서, 상술한 흐름도로 나타낸 단계 S1의 공정 및 단계 S2의 공정이 구체적인 동작에 대하여 도 7에 도시하는 흐름도를 이용하여 설명을 한다.
여기서, 도 7에 도시한 흐름도를 설명을 하기 전에, 도 8을 이용하여 플래시 메모리(2)의 블록 구조에 대하여 설명을 한다.
플래시 메모리(2)는 하나의 블록 사이즈가 16KByte인 블록이 복수 모여서 구 성되어 있다. 플래시 메모리(2)를 구성하는 복수의 블록은 512 블록마다의 집합이 세그먼트로서 정의되고, 세그먼트마다 후술하는 논리 어드레스, 예비 블록의 관리가 행하여진다.
예를 들면, 도 8에 도시한 바와 같이, 16MByte의 메모리 사이즈인 플래시 메모리(2)의 경우, 세그먼트 번호 "0" 및 "1"의 세그먼트로 구성되고, 32MByte의 메모리 사이즈인 플래시 메모리(2)의 경우, 세그먼트 번호 "0"∼"3"의 세그먼트로 구성되고, 64MByte의 메모리 사이즈인 플래시 메모리(2)의 경우, 세그먼트 번호 "0"∼"7"의 세그먼트로 구성되고, 128MByte의 메모리 사이즈인 플래시 메모리(2)의 경우, 세그먼트 번호 "0"∼"15"의 세그먼트로 구성된다.
또한, 세그먼트를 사용함으로써, 논리 어드레스가 설정되어 있는 물리 블록 번호의 범위가 결정되게 된다.
예를 들면, 도 8에 도시한 바와 같이, 물리 블록 번호 0∼511(블록수: 512)로 구성되는 세그먼트는, 세그먼트 번호 "0"으로 정의된다. 세그먼트 번호 "0"의 세그먼트에 설정되는 논리 어드레스는, 괄호 내에 표시한 바와 같이 0∼493으로 결정되어 있고, 나머지 블록이 예비 블록으로서 관리된다.
마찬가지로, 세그먼트 번호 "1"∼"15"로 정의된 각 세그먼트에 있어서도 물리 블록 번호에 대응한 논리 어드레스가 설정되고, 논리 어드레스가 대응되어 있지 않은 블록이 예비 블록이 된다.
관리 정보를 기입하는 블록은, 상술한 예비 블록으로 하는 것이 바람직하다. 왜냐하면, 예비 블록에는 실제 데이터에 의한 액세스가 이루어지지 않고, 논리 번 호와 물리 번호와의 대응이 이루어져 있지 않기 때문에, 관리 데이터 영역으로서 독립하여 관리할 수 있어, 홀수 블록 및 짝수 블록에 걸치는 것 같은 복잡한 갱신 처리를 해도 대응이 용이하기 때문이다. 또한, 상기 관리 정보로서는 논리 물리의 변환 테이블 데이터나 실제 데이터의 디렉토리 엔트리 등이 생각된다.
여기서는, 플래시 메모리(2) 내에 갱신한 관리 정보를 기입하는 블록을 2개 준비하여, 각각을 짝수 블록, 홀수 블록이라고 부르기로 한다.
또한 짝수 블록, 홀수 블록 내의 페이지에는, 일련 번호가 0부터 주어진다. 갱신된 관리 정보는 이 일련 번호의 순서로 플래시 메모리(2)에 기억된다. 예를 들면, 도 9에 도시한 바와 같이, 짝수용 블록(10a)에는 0, 2, 4, 6…으로 일련 번호가 주어지고, 홀수용 블록(10b)에는 1, 3, 5, 7…로 일련 번호가 주어진다. 갱신된 관리 정보는 일련 번호 0, 1, 2, 3, 4, 5, 6, 7…의 순서대로 페이지 내에 기입되게 된다.
또한, 짝수용 블록(10a), 홀수용 블록(10b)의 각 페이지에는 각각 페이지 번호가 주어져 있어, 상술한 일련 번호와 대응시키면 일련 번호 0과 일련 번호 1의 페이지 번호는 0, 일련 번호 2와 일련 번호 3의 페이지 번호는 1과 같은 관계가 된다.
또, 짝수용 블록(10a), 홀수용 블록(10b)의 각 페이지에 주어지는 일련 번호는 설명을 위해 편의적으로 주어진 것이다. 따라서, CPU(7)는 실제의 처리에 있어서 관리 정보를 기입할 때, 직접 일련 번호를 지정하는 것이 아니라, 블록 내의 소정의 기준이 되는 페이지에서부터 세어서 N번째 페이지에 원하는 관리 정보를 기입 하는 지정을 한다.
우선, 단계 S11에서, 관리 정보의 갱신 처리로 들어가면 CPU(7)는 플래시 메모리(2)에서 갱신 직전의 관리 정보가 기입되어 있는 페이지를 검색한다. 홀수용 블록(10b)의 페이지에 갱신 직전의 관리 정보가 기입되어 있는 경우에는 공정을 단계 S12로 진행시키고, 홀수용 블록(10b)의 페이지에 기입되어 있지 않은 경우, 즉 짝수용 블록(10a)에 기입되어 있는 경우에는 공정을 단계 S15로 진행시킨다.
갱신된 관리 정보는 갱신 직전의 관리 정보가 기입되어 있는 페이지의 다음의 일련 번호가 주어진 페이지에 기입되게 된다.
단계 S12에서, 홀수용 블록(10b)의 페이지에 갱신 직전의 관리 정보가 기입되어 있기 때문에, 갱신한 관리 정보를 기입하는 것은 짝수용 블록(10a)이 되기 때문에, CPU(7)는 갱신 직전의 관리 정보가 기입되어 있는 홀수용 블록(10b)의 페이지 번호를 1만큼 증가한 페이지 번호의 짝수용 블록(10a)의 페이지를 갱신한 관리 정보를 기입하는 페이지로서 확보한다.
단계 S13에 있어서, CPU(7)는 짝수용 블록(10a)에 비어 있는 페이지가 있는지의 여부를 판단하여, 비어 있는 페이지가 없는 경우에는 공정을 단계 S14로 진행시키고, 비어 있는 페이지가 있는 경우에는 공정을 단계 S18로 진행시킨다.
이것은 갱신 직전의 관리 정보가 기입되어 있는 홀수용 블록(10b)의 페이지가 해당 홀수용 블록(10b)의 최후의 페이지인지의 여부를 판단하는 공정이다. 즉 홀수용 블록(10b)의 최후의 페이지인 경우에는 상술의 단계 S12에서, 짝수용 블록(10a)의 페이지 번호를 1만큼 증가해도 해당하는 페이지는 존재하지 않게 된 다. 따라서 이 단계 S13에서 비어 있는 페이지가 존재하는지의 여부를 판단함으로써, 갱신한 관리 정보를 기입하는 페이지가 없다는 상태를 방지한다.
단계 S14에서, CPU(7)는 짝수용 블록(10a)에는 비어 있는 페이지가 없기 때문에, 짝수용 블록(10a)에 기입되어 있는 오래된 관리 정보를 소거하여 선두 페이지, 즉 페이지 번호 0(일련 번호 0)의 페이지를 갱신한 관리 정보를 기입하는 페이지로서 확보한다. 단계 S14가 종료하면 공정은 단계 S18로 진행한다.
단계 S15에서, CPU(7)는 갱신 직전의 관리 정보가 기입되어 있는 페이지의 페이지 번호가 짝수용 블록(10a)의 선두의 페이지, 즉 페이지 번호 0(일련 번호 0)인지의 여부를 판단한다. 선두 페이지인 경우에는 공정을 단계 S16으로 진행시키고, 선두 페이지가 아닌 경우에는 공정을 단계 S17로 진행시킨다.
단계 S16에서, CPU(7)는 짝수용 블록(10a)의 선두 페이지, 즉 페이지 번호 0(일련 번호 0)에 갱신 직전의 관리 정보가 기입되어 있기 때문에, 홀수용 블록(10b)에 기입되어 있는 모든 정보를 소거하여, 선두 페이지, 즉 페이지 번호 0(일련 번호 1)을 갱신한 관리 정보를 기입하는 영역으로서 확보한다.
단계 S17에서, CPU(7)는 짝수용 블록(10a)의 선두 페이지, 즉 페이지 번호 0(일련 번호 0) 이외의 페이지에 갱신 직전의 관리 정보가 기입되어 있기 때문에, 갱신 직전의 관리 정보가 기입되어 있는 짝수용 블록(10a)의 페이지 번호와 동일한 페이지 번호의 홀수용 블록(10b) 페이지를 갱신한 관리 정보를 기입하는 영역으로서 확보한다.
단계 S18에서, CPU(7)는 갱신한 관리 정보가 확보된 페이지에 기입되도록 인 터페이스(3)를 제어한다.
이와 같이 하여, 데이터 기록 장치(1)에서는 플래시 메모리(2)에 갱신한 관리 정보를 기입하는 페이지를, 갱신 전의 갱신 직전의 관리 정보가 기입되어 있는 페이지를 포함하는 블록과는 다른 블록에 확보함으로써, 기입 에러가 생겼을 때에 필요하게 되는 갱신 전의 갱신 직전의 관리 정보를 보호할 수 있다.
또한, 본 발명은 플래시 메모리(2)의 관리 정보의 갱신 및 관리를 데이터 기록 장치(1)의 CPU(7)와 메모리(4)로 행하는 것뿐만 아니라, 플래시 메모리와, 플래시 메모리에의 데이터 기입을 제어하는 컨트롤 IC로 리무버블 미디어를 형성하고, 이 컨트롤 IC에서 관리 정보의 갱신 및 관리를 행해도 된다. 예를 들면, 상술한 바와 같은 플래시 메모리(2)에 컨트롤 IC을 구비하여, 관리 정보의 갱신 및 관리를 행하는 리무버블 미디어로서 메모리 카드가 있다.
계속해서, 도 10을 이용하여, 플래시 메모리(2)와, 컨트롤 IC를 구비한 메모리 카드(20)의 구성에 대하여 설명을 한다.
메모리 카드(20)는 플래시 메모리(30)와, 컨트롤 IC(40)를 구비하고 있다. 또한, 메모리 카드(20)는 전원 단자가 되는 VCC(21)와, 접지가 되는 VSS(22)를 구비하고 있고, 데이터 기록 장치에 장착됨으로써 전원이 공급되게 된다.
플래시 메모리(30)는 상술한 플래시 메모리(2)와 마찬가지의 구성을 하고 있고, 데이터의 소거 단위인 소정의 데이터량의 복수의 블록으로 구성되어 있다. 또한 각 블록은 데이터의 판독, 기입의 단위인 소정의 데이터량의 복수의 페이지를 포함하고 있다. 또한 각 페이지는 데이터를 기입하는, 예를 들면 512Byte의 데이 터 영역과, 패러티 데이터를 기입하는 16Byte의 확장 영역(Extra 영역)을 포함하고 있다.
컨트롤러 IC(40)는 레지스터(41)와, 페이지 버퍼(42)와, 속성 ROM(43)과, 플래시 메모리 I/F(44)와, OSC 컨트롤러(45)와, IF(46)를 구비하고 있다.
레지스터(41)는 플래시 메모리(30)로부터 판독하는 데이터의 파라미터, 예를 들면, 상술한 일련 번호 등을 기억하여 커맨드에 따라서 플래시 메모리(30)로부터 해당하는 데이터를 판독하여, 페이지 버퍼(42)로 송출하는 파라미터 레지스터이다.
페이지 버퍼(42)는 상술한 레지스터(41)에 기억된 파라미터에 따라서 판독된 데이터를 일시적으로 기억한다. 레지스터(41)는 상술한 데이터 기록 장치(1)에 있어서의 메모리(4)의 기능을 담당한다.
속성 ROM(43)은 메모리 카드의 메모리 정보 등을 기억하고 있는 판독 전용의 메모리이다.
플래시 메모리 I/F(44)는 플래시 메모리(30)와 컨트롤 IC를 접속하는 인터페이스이고, 레지스터(41)로부터 송출되는 명령에 따라서 플래시 메모리(30)에의 데이터의 기입, 플래시 메모리로부터의 데이터의 판독을 한다.
OSC 컨트롤러(45)는 컨트롤 IC(40)의 클럭을 발생하여, 컨트롤 IC의 동작 타이밍을 제어한다.
IF(46)는 메모리 카드(20)의 컨트롤 IC(40)에, 메모리 카드(20)를 장착한 데이터 기록 장치로부터의 제어 신호의 입력, 데이터 기록 장치와 메모리 카드(20) 사이에서의 데이터 입출력을 하기 위한 인터페이스이다.
IF(46)에는, BS(버스 스테이트)(47와), DIO(DATE I/O)(48)와, SCLK(직렬 클럭)(49)가 구비되어 있다.
BS(47)는 메모리 카드(20)에 입출력하는 데이터의 입출력 제어를 하는 CPU(70로부터 송출되는 제어 신호를 전송한다.
DIO(48)는 데이터 기록 장치로부터 플래시 메모리(30)에 입력되는 데이터와, 플래시 메모리(30)로부터 데이터 기록 장치(1)로 출력되는 데이터를 전송한다.
SCLK(49)는 컨트롤 IC를 제어하는 클럭을 전송한다.
이상과 같이, 플래시 메모리(30)와, 컨트롤 IC(40)를 구비함으로써, 메모리 카드(20)는 관리 정보를 갱신할 때에, 상술한 도 6 및 도 7의 흐름도로 나타낸 동작을 실행할 수 있다.
이에 따라, 메모리 카드(20)에 구비된 플래시 메모리(30)에서, 관리 정보의 갱신 시에 기입 에러가 발생해도, 관리 정보의 갱신에 필요하게 되는 갱신 직전의 관리 정보를 보호할 수 있다.
이상의 설명에서도 알 수 있듯이, 본 발명의 데이터 기록 장치는, 플래시 메모리에 기억되어 있는 관리 정보를 갱신할 때에, 제어 수단에 의해 최신의 갱신 전 관리 정보가 기록되어 있는 페이지를 포함하는 블록 이외의 블록을 선택하고, 선택한 블록의 비어 있는 페이지에 갱신한 관리 정보를 기입하도록 관리 정보 기입 수단을 제어함으로써, 관리 정보 갱신 시에 발생하는 기입 에러에 수반하는 블록 내의 모든 관리 정보의 에러로부터 갱신 직전 관리 정보를 보호할 수 있어, 기입 에 러가 발생한 경우라도 보호된 갱신 직전 관리 정보를 이용하여 관리 정보의 갱신 처리를 행하는 것을 가능하게 한다.
또한, 이상의 설명에서도 알 수 있듯이, 본 발명의 플래시 메모리에 대한 데이터 기입 방법은, 플래시 메모리에 기억되어 있는 관리 정보를 갱신할 때에, 최신의 갱신 전 관리 정보가 기록되어 있는 페이지를 포함하는 블록 이외의 블록을 선택하고, 선택한 블록의 비어 있는 페이지에 갱신한 관리 정보를 기입함으로써, 관리 정보 갱신 시에 발생하는 기입 에러에 수반하는 블록 내의 모든 관리 정보의 에러로부터 갱신 직전 관리 정보를 보호할 수 있어, 기입 에러가 발생한 경우라도 보호된 갱신 직전 관리 정보를 이용하여 관리 정보의 갱신 처리를 행하는 것을 가능하게 한다.

Claims (6)

  1. 소정의 데이터량의 페이지 단위로 데이터가 기입되고, 기입된 상기 데이터가 복수의 상기 페이지로 이루어지는 블록 단위로 일괄 소거되는 플래시 메모리에 데이터를 기입하여, 데이터를 기록시키는 데이터 기록 장치에 있어서,
    상기 플래시 메모리에 기억되어 있는 관리 정보를 판독하여 기억하는 기억 수단과,
    상기 기억 수단에 기억되어 있는 관리 정보를 갱신하는 갱신 수단과,
    상기 플래시 메모리의 데이터 기입 단위인 상기 페이지에 상기 갱신 수단에 의해 갱신된 관리 정보를 기입하는 관리 정보 기입 수단과,
    갱신한 상기 관리 정보를, 상기 관리 정보 기입 수단에 의해서 상기 플래시 메모리의 페이지에 기입할 때, 최신의 갱신 전 관리 정보가 기록되어 있는 페이지를 포함하는 블록 이외의 블록을 선택하고, 선택한 상기 블록의 비어 있는 페이지에 갱신한 관리 정보를 기입하도록 상기 관리 정보 기입 수단을 제어하는 제어 수단을 포함하며,
    상기 제어 수단은, 상기 선택한 블록에 비어 있는 페이지가 없을 때, 이 블록에 기입되어 있는 오래된 관리 정보를 소거하여 선두의 페이지에, 상기 갱신한 관리 정보를 기입하는 것을 특징으로 하는 데이터 기록 장치.
  2. 제1항에 있어서,
    상기 플래시 메모리의 데이터 소거 단위인 블록이, 짝수 블록과 홀수 블록으로 이루어지고,
    상기 제어 수단은 갱신한 상기 관리 정보를, 상기 관리 정보 기입 수단에 의해서 상기 플래시 메모리의 페이지에 기입할 때, 최신의 갱신 전 관리 정보가 상기 짝수 블록에 기입되어 있는 경우에는 상기 홀수 블록을 선택하고, 선택한 상기 홀수 블록의 비어 있는 페이지에 갱신한 상기 관리 정보를 기입하도록 제어하고,
    최신의 갱신 전 관리 정보가 상기 홀수 블록에 기입되어 있는 경우에는 상기 짝수 블록을 선택하고, 선택한 상기 짝수 블록의 비어 있는 페이지에 갱신한 상기 관리 정보를 기입하도록 제어하는 것을 특징으로 하는 데이터 기록 장치.
  3. 소정의 데이터량의 페이지 단위로 데이터가 기입되고, 기입된 상기 데이터가 복수의 상기 페이지로 이루어지는 블록 단위로 일괄 소거되는 플래시 메모리에 대한 데이터 기입 방법에 있어서,
    상기 플래시 메모리에 기억되어 있는 관리 정보를 판독하고,
    소정의 기억 수단에 기억시키며,
    상기 기억 수단에 기억되어 있는 관리 정보를 갱신하고,
    갱신한 상기 관리 정보를 상기 플래시 메모리의 페이지에 기입할 때, 최신의 갱신 전 관리 정보가 기록되어 있는 페이지를 포함하는 블록 이외의 블록을 선택하며,
    선택한 상기 블록의 비어 있는 페이지에 갱신한 상기 관리 정보를 기입하고,
    상기 선택한 블록에 비어 있는 페이지가 없을 때, 이 블록에 기입되어 있는 오래된 관리 정보를 소거하여 선두의 페이지에, 상기 갱신한 관리 정보를 기입하는 것을 특징으로 하는 플래시 메모리에 대한 데이터 기입 방법.
  4. 제3항에 있어서,
    상기 플래시 메모리의 데이터 소거 단위인 블록이, 짝수 블록과 홀수 블록으로 이루어지고,
    갱신한 상기 관리 정보를 상기 플래시 메모리의 페이지에 기입할 때, 최신의 갱신 전 관리 정보가 상기 짝수 블록에 기입되어 있는 경우에는 상기 홀수 블록을 선택하며,
    선택한 상기 홀수 블록의 비어 있는 페이지에 갱신한 상기 관리 정보를 기입하고,
    최신의 갱신 전 관리 정보가 상기 홀수 블록에 기입되어 있는 경우에는 상기 짝수 블록을 선택하며,
    선택한 상기 짝수 블록의 비어 있는 페이지에 갱신한 상기 관리 정보를 기입하는 것을 특징으로 하는 플래시 메모리에 대한 데이터 기입 방법.
  5. 제1항에 있어서,
    상기 플래시 메모리의 데이터 소거 단위인 블록이, 짝수 블록과 홀수 블록으로 이루어지고,
    상기 제어 수단은, 갱신한 상기 관리 정보를 상기 관리 정보 기입 수단에 의해 상기 플래시 메모리의 페이지에 기입할 때, 최신의 갱신 전 관리 정보가 상기 짝수 블록에 기입되어 있는 경우는, 이 최신의 갱신 전 관리 정보가 상기 짝수 블록의 선두 페이지에 기입되어 있을 때, 상기 홀수 블록을 선택하고, 선택한 상기 홀수 블록에 기입되어 있는 오래된 관리 정보를 소거하여 선두의 페이지에, 상기 갱신한 관리 정보를 기입하도록 제어하는 것을 특징으로 하는 데이터 기록 장치.
  6. 제3항에 있어서,
    상기 플래시 메모리의 데이터 소거 단위인 블록이, 짝수 블록과 홀수 블록으로 이루어지고,
    갱신한 상기 관리 정보를 상기 관리 정보 기입 수단에 의해 상기 플래시 메모리의 페이지에 기입할 때, 최신의 갱신 전 관리 정보가 상기 짝수 블록에 기입되어 있는 경우는, 이 최신의 갱신 전 관리 정보가 상기 짝수 블록의 선두 페이지에 기입되어 있을 때, 상기 홀수 블록을 선택하고, 선택한 상기 홀수 블록에 기입되어 있는 오래된 관리 정보를 소거하여 선두의 페이지에, 상기 갱신한 관리 정보를 기입하는 것을 특징으로 하는 플래시 메모리에 대한 데이터 기입 방법.
KR1020027011224A 2000-12-28 2001-12-28 데이터 기록 장치 및 플래시 메모리에 대한 데이터 기입방법 KR100871027B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2000-00403461 2000-12-28
JP2000403461 2000-12-28

Publications (2)

Publication Number Publication Date
KR20020079917A KR20020079917A (ko) 2002-10-19
KR100871027B1 true KR100871027B1 (ko) 2008-11-27

Family

ID=18867581

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027011224A KR100871027B1 (ko) 2000-12-28 2001-12-28 데이터 기록 장치 및 플래시 메모리에 대한 데이터 기입방법

Country Status (7)

Country Link
US (1) US7065608B2 (ko)
EP (1) EP1347383A4 (ko)
JP (1) JP4122972B2 (ko)
KR (1) KR100871027B1 (ko)
CN (1) CN1307554C (ko)
TW (1) TW539950B (ko)
WO (1) WO2002054247A1 (ko)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280752A (ja) * 2003-03-19 2004-10-07 Sony Corp データ記憶装置、およびデータ記憶装置における管理情報更新方法、並びにコンピュータ・プログラム
JP4218406B2 (ja) * 2003-04-25 2009-02-04 富士フイルム株式会社 情報記録再生方法
KR100546348B1 (ko) * 2003-07-23 2006-01-26 삼성전자주식회사 플래시 메모리 시스템 및 그 데이터 저장 방법
JP2005222201A (ja) * 2004-02-04 2005-08-18 Matsushita Electric Ind Co Ltd メモリアクセス装置、及び半導体メモリカード
JP4460967B2 (ja) * 2004-07-23 2010-05-12 株式会社東芝 メモリカード、不揮発性半導体メモリ、及び半導体メモリの制御方法
JP4843222B2 (ja) * 2005-01-11 2011-12-21 株式会社東芝 半導体記憶装置の制御方法、メモリカード、及びホスト機器
KR100703727B1 (ko) * 2005-01-12 2007-04-05 삼성전자주식회사 비휘발성 메모리, 이를 위한 사상 제어 장치 및 방법
JP2007011872A (ja) * 2005-07-01 2007-01-18 Toshiba Corp メモリカードとその制御方法
KR100746289B1 (ko) 2005-07-11 2007-08-03 삼성전자주식회사 메모리 용량 정보를 갱신하는 비휘발성 메모리 카드 장치및 방법
JP4356686B2 (ja) 2005-12-01 2009-11-04 ソニー株式会社 メモリ装置及びメモリ制御方法
KR100825802B1 (ko) * 2007-02-13 2008-04-29 삼성전자주식회사 기입 데이터의 논리적 페이지보다 이전 논리적 페이지들을가지는 데이터들을 데이터 블록으로부터 복사하는 불휘발성메모리 장치의 데이터 기입 방법
US8365040B2 (en) 2007-09-20 2013-01-29 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
WO2009072101A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Apparatus and methods for generating row-specific reading thresholds in flash memory
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
JP5398551B2 (ja) * 2008-02-08 2014-01-29 富士通株式会社 バックアップ方法、コントローラ、及びディスクアレイシステム
WO2009118720A2 (en) 2008-03-25 2009-10-01 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
TWI383399B (zh) * 2009-03-03 2013-01-21 Wistron Corp 嵌入式電子裝置及資料儲存方法
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) * 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8566510B2 (en) * 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US9037777B2 (en) * 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US8468431B2 (en) 2010-07-01 2013-06-18 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US8423722B1 (en) * 2011-08-26 2013-04-16 Western Digital Technologies, Inc. System and method for high performance command processing in solid state drives
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
JP5360287B2 (ja) * 2012-10-31 2013-12-04 富士通株式会社 データ制御方法およびシステム
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
CN106569747B (zh) * 2016-10-27 2019-01-11 宁波迦南智能电气股份有限公司 一种大容量采集终端的数据位置存储及检索方法
CN112764683B (zh) * 2021-01-22 2023-01-10 苏州浪潮智能科技有限公司 存储块管理信息同步记录方法、***、终端及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11144478A (ja) * 1997-11-10 1999-05-28 Hitachi Device Eng Co Ltd 不揮発性半導体メモリの情報記憶方法および電子機器
JPH11249968A (ja) * 1998-03-05 1999-09-17 Sanyo Electric Co Ltd ファイル記録方法及びファイルシステム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2251324B (en) 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
FR2701578B1 (fr) * 1993-02-16 1995-03-31 Gemplus Card Int Procédé d'écriture dans une mémoire non volatile, notamment dans une carte à mémoire.
US5485595A (en) * 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
US5696917A (en) * 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
US6081878A (en) * 1997-03-31 2000-06-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US5978812A (en) * 1995-11-10 1999-11-02 Sony Corporation Information processor and method of information processing
US5761732A (en) * 1996-06-28 1998-06-02 Intel Corporation Interleaving for memory cards
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US6148354A (en) * 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
WO2001008015A1 (fr) * 1999-07-28 2001-02-01 Sony Corporation Systeme d'enregistrement, dispositif d'enregistrement de donnees, dispositif a memoire et procede d'enregistrement de donnees
JP4037605B2 (ja) * 2000-12-04 2008-01-23 株式会社東芝 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11144478A (ja) * 1997-11-10 1999-05-28 Hitachi Device Eng Co Ltd 不揮発性半導体メモリの情報記憶方法および電子機器
JPH11249968A (ja) * 1998-03-05 1999-09-17 Sanyo Electric Co Ltd ファイル記録方法及びファイルシステム

Also Published As

Publication number Publication date
TW539950B (en) 2003-07-01
KR20020079917A (ko) 2002-10-19
CN1426557A (zh) 2003-06-25
JPWO2002054247A1 (ja) 2004-05-13
CN1307554C (zh) 2007-03-28
US20030014582A1 (en) 2003-01-16
US7065608B2 (en) 2006-06-20
EP1347383A1 (en) 2003-09-24
JP4122972B2 (ja) 2008-07-23
WO2002054247A1 (fr) 2002-07-11
EP1347383A4 (en) 2007-06-27

Similar Documents

Publication Publication Date Title
KR100871027B1 (ko) 데이터 기록 장치 및 플래시 메모리에 대한 데이터 기입방법
KR100618298B1 (ko) 기록 시스템, 데이터 기록 장치, 메모리 장치 및 데이터기록 방법
JP3604466B2 (ja) フラッシュディスクカード
EP0712067B1 (en) Flash disk card
JP4356686B2 (ja) メモリ装置及びメモリ制御方法
US8051270B2 (en) Memory controller, nonvolatile storage device, nonvolatile storage system, and memory control method
US8327068B2 (en) Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method
KR100684061B1 (ko) 기록 시스템, 데이터 기록 장치, 메모리 장치 및 데이터기록 방법
KR20100084132A (ko) 메모리 장치 및 메모리 액세스 방법
JP3421581B2 (ja) 不揮発性半導体メモリを用いた記憶装置
KR20030065355A (ko) 기억장치, 데이터 처리 방법 및 데이터 처리 프로그램
JP3702515B2 (ja) フラッシュメモリ制御方法及びフラッシュメモリ制御ユニット
JP4308780B2 (ja) 半導体メモリ装置、メモリコントローラ及びデータ記録方法
JP2007179479A (ja) メモリコントローラおよびフラッシュメモリシステム
JPH07153284A (ja) 不揮発性半導体記憶装置及びその制御方法
US20050204115A1 (en) Semiconductor memory device, memory controller and data recording method
JP4710274B2 (ja) メモリ装置、メモリ装置の制御方法およびデータ処理システム
JP2004206615A (ja) 記憶装置
KR100490603B1 (ko) 플래시 메모리 동작 제어 방법 및 장치
JP2005234738A (ja) 半導体メモリ装置
JPH07111092A (ja) 不揮発性半導体記憶装置の制御方法
JP2004126945A (ja) 記憶装置及びその制御方法
JPH10312693A (ja) 記憶装置
JP2000285092A (ja) マイクロコンピュータ
JP2003249093A (ja) 不揮発性半導体記憶装置

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: 20111115

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20121112

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee