KR20060124598A - 기억 장치 - Google Patents

기억 장치 Download PDF

Info

Publication number
KR20060124598A
KR20060124598A KR1020060047991A KR20060047991A KR20060124598A KR 20060124598 A KR20060124598 A KR 20060124598A KR 1020060047991 A KR1020060047991 A KR 1020060047991A KR 20060047991 A KR20060047991 A KR 20060047991A KR 20060124598 A KR20060124598 A KR 20060124598A
Authority
KR
South Korea
Prior art keywords
data
code
circuit
error
block address
Prior art date
Application number
KR1020060047991A
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 KR20060124598A publication Critical patent/KR20060124598A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • 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/1068Adding 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 sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/104Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs

Landscapes

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

Abstract

호스트 기기에 장착하여 사용되는 기억 장치로서, 복수의 블록을 포함하고, 상기 복수의 블록의 각각은, 데이터 소거의 단위이며 또한 복수의 페이지를 포함하고, 상기 복수의 페이지의 각각은, 상기 호스트 기기로부터 입력되는 제1 데이터가 저장되는 데이터부와 적어도 상기 제1 데이터를 관리하기 위한 제2 데이터가 저장되는 용장부를 포함하는 불휘발성 메모리와, 상기 제2 데이터의 제1 에러를 검출하기 위한 제1 부호를 생성하고, 또한 상기 제1 부호에 기초하여 상기 제1 에러를 검출하는 검출 회로와, 상기 제1 및 제2 데이터의 제2 에러를 검출 및 정정하기 위한 제2 부호를 생성하고, 또한 상기 제2 부호에 기초하여 상기 제2 에러를 검출 및 정정하는 정정 회로를 포함한다.
호스트 기기, 플래시 메모리, 검출 회로, 정정 회로, 메모리 카드, 논리 블록 어드레스, 물리 블록 어드레스

Description

기억 장치{MEMORY DEVICE}
도 1은 본 발명의 제1 실시 형태에 따른 메모리 카드(12)의 구성을 도시하는 블록도.
도 2는 도 1에 도시한 플래시 메모리(16)가 구비하는 메모리 셀 어레이의 구성을 도시하는 개략도.
도 3은 도 2에 도시한 페이지의 구성을 도시한 개략도.
도 4는 도 1에 도시한 제어부(14)의 구성을 도시하는 블록도.
도 5는 플래시 메모리(16)에의 데이터 기입 동작을 도시하는 플로우차트.
도 6은 CRC 코드의 연산 처리 동작을 도시하는 타이밍차트.
도 7은 메모리 카드(12)의 초기화 시에서의 논리 블록 어드레스의 판독 동작을 도시하는 플로우차트.
도 8은 본 발명의 제2 실시 형태에 따른 메모리 카드(12)의 초기화 시에서의 논리 블록 어드레스의 판독 동작을 도시하는 플로우차트.
<도면의 주요 부분에 대한 부호의 설명>
11 : 호스트 기기
13 : 호스트 인터페이스 회로
14 : 제어부
14A : 기입 회로
14B : 판독 회로
14C : 테이블 생성 회로
14D ; 커맨드 생성 회로
14E : 어드레스 생성 회로
15A : 어드레스 변환 테이블
17 : ECC 회로
19 : CRC 회로
16 : 플래시 메모리
[특허 문헌1] 일본 특개2003-280822호 공보
본 출원은 일본국 특허 출원 2005-157522(2005년 5월 30일)에 기초한 것으로서, 그 우선권을 주장하며, 그 전체 내용이 본 명세서에서 참조로서 인용된다.
본 발명은, 불휘발성 메모리를 구비한 기억 장치에 관한 것으로, 특히 플래시 메모리를 구비한 메모리 카드에 관한 것이다.
NAND형 플래시 메모리를 이용한 기억 장치로서, SDTM(Secure Digital) 메모 리 카드가 알려져 있다. 이 메모리 카드는, 디지털 카메라 등의 호스트 기기와 커맨드선 및 데이터선 등을 통하여 통신하여, 데이터의 수수를 행한다.
NAND형 플래시 메모리는, 소거가 가능한 최소 단위인 복수의 블록으로 구성되며, 각 블록은, 최소의 기입 단위인 복수의 페이지로 구성되어 있다. 또한, 1페이지는, 예를 들면 512바이트의 데이터부와 16바이트의 용장부를 구비하고 있다. 이 용장부의 이용 방법은 한정되지 않지만, NAND형 플래시 메모리에서는 데이터 깨짐을 일으킬 가능성이 있기 때문에, 이 영역에는 ECC 코드의 부가가 추장되고 있다.
또한, NAND형 플래시 메모리에서는, 메모리 셀의 다치화나 미세화의 영향에 의해 데이터에 에러가 발생할 확률이 높아진다. 따라서, 강력한 ECC 회로가 필요로 되어, 용장부에 10바이트의 ECC 코드를 부가하는 경우가 있다. 이 경우, 6바이트를 자유롭게 사용할 수 있는 영역으로 되며, 이 영역에 논리 블록 어드레스 「logical block address」나 플래그 등을 기입해 둘 수 있다.
종래, ECC 코드는, 데이터부 및 용장부의 데이터로부터 생성하고 있었기 때문에, 이 데이터를 모두 판독하여 연산을 행하지 않으면 에러 검출 및 정정을 할 수 없다. 즉, 예를 들면 용장부에 기억된 논리 블록 어드레스만이 필요한 경우라도, 페이지 전체의 데이터를 판독하여 연산을 행해야만 한다.
따라서, 용장부의 6바이트의 데이터를 얻기 위해, 528바이트(512바이트+16바이트)의 데이터를 판독해야만 한다. 이에 의해, 용장부의 6바이트의 데이터를 판 독하는 경우에 비해, 88배(528/6)의 시간이 걸리게 된다.
이상으로부터, 메모리 카드가 기동하고 나서, 데이터의 판독 및 기입이 가능하게 될 때까지의 시간이, 메모리 카드의 용량(블록수)과 함께 증가하게 된다.
또한, 이러한 종류의 관련 기술로서, 불휘발성 메모리의 판독 및 기입에 걸리는 처리 시간을 단축하는 기술이 개시되어 있다(특허 문헌1 참조).
본 발명의 일 시점에 따른 기억 장치는,
호스트 기기에 장착하여 사용되는 기억 장치로서,
복수의 블록을 포함하고, 상기 복수의 블록의 각각은, 데이터 소거의 단위 이며 또한 복수의 페이지를 포함하고, 상기 복수의 페이지의 각각은, 상기 호스트 기기로부터 입력되는 제1 데이터가 저장되는 데이터부와 적어도 상기 제1 데이터를 관리하기 위한 제2 데이터가 저장되는 용장부를 포함하는 불휘발성 메모리와,
상기 제2 데이터의 제1 에러를 검출하기 위한 제1 부호를 생성하고, 또한 상기 제1 부호에 기초하여 상기 제1 에러를 검출하는 검출 회로와,
상기 제1 및 제2 데이터의 제2 에러를 검출 및 정정하기 위한 제2 부호를 생성하고, 또한 상기 제2 부호에 기초하여 상기 제2 에러를 검출 및 정정하는 정정 회로를 구비한다.
이하, 본 발명의 실시 형태에 대하여 도면을 참조하여 설명한다. 또한, 이하의 설명에서, 동일한 기능 및 구성을 갖는 요소에 대해서는, 동일한 부호를 붙이고, 중복 설명은 필요한 경우에만 행한다.
(제1 실시 형태)
도 1은 본 발명의 제1 실시 형태에 따른 메모리 카드(12)의 구성을 도시하는 블록도이다. 메모리 카드(12)는, 예를 들면 SDTM 메모리 카드로 구성된다.
이 메모리 카드(12)는, 화상, 음악 및 다른 데이터 등의 각종 디지털 콘텐츠를 취급하기 위한 것으로서, 예를 들면 퍼스널 컴퓨터(PC) 등의 호스트 기기(11)에 장착하여 사용된다.
호스트 기기(11)는, 장착되는 메모리 카드(12)에 대하여 데이터의 입출력 등을 행하기 위한 하드웨어 및 소프트웨어를 구비하고 있다.
메모리 카드(12)는, 호스트 인터페이스 회로(13), 제어부(14), 일시 기억 회로(RAM : Random Access Memory)(15), 플래시 메모리(16), ECC(Error Correcting Code) 회로(17) 및 CRC(Cyclic Redundancy Check) 회로(18)를 구비하고 있다.
호스트 인터페이스 회로(13)는, 소정의 프로토콜에 따라, 호스트 기기(11)와의 사이에서 커맨드, 어드레스 및 데이터 등의 수수를 행한다.
플래시 메모리(16)는, 불휘발성 반도체 메모리로서, 예를 들면 NAND형 플래시 메모리에 의해 구성된다. 플래시 메모리(16)는, 복수의 NAND형의 EEPROM 셀을 구비하고 있으며, 1개의 메모리 셀은, 1비트의 정보를 기억하는 2치 메모리 셀이어도 되고, 혹은 1비트보다 많은 정보(예를 들면, 2비트)를 기억하는 다치 메모리 셀이어도 된다.
또한, 플래시 메모리(16)는, 최소의 기입 단위인 페이지를 갖고, 이 페이지 의 기억 용량은 예를 들면 512바이트(byte)이다. 이 페이지를 32페이지, 256페이지 혹은 512페이지 등으로 통합한 단위를 블록으로 정의한다.
페이지는 기입이 가능한 최소 단위이고, 블록은 소거가 가능한 최소 단위이다. NAND형 플래시 메모리는 페이지 단위의 재기입은 할 수 없어, 블록 전체를 소거하고 나서 기입을 행해야만 한다. 따라서, NAND형 플래시 메모리에 데이터를 기입하는 경우, 소거 완료된 블록을 준비하고, 거기에 재기입하고자 하는 페이지와, 블록 내에서 재기입을 행하지 않는 데이터를 카피하는 제어가 발생한다. 즉, 상이한 블록에의 데이터의 카피 처리가 발생한다.
이러한 제어가 행해지기 때문에, 블록의 특정은 호스트가 발행하는 블록 어드레스에 의해서는 일의적으로 정해지지 않는다. 또한, 호스트가 발행하고, 또한 호스트측에서 관리되고 있는 블록 어드레스를 논리 블록 어드레스 「logical block address」라고 한다. 또한, 플래시 메모리(16)측의 실제의 블록 어드레스를 물리 블록 어드레스 「physical block address」라고 한다.
이와 같이, 논리 블록 어드레스와 물리 블록 어드레스는 일치하지 않아, 어드레스 변환 테이블(15A)에 의해 논리 블록 어드레스를 물리 블록 어드레스로 변환한 후, 물리 블록 어드레스에 기초하여 실제로 액세스할 블록이 특정된다.
또한, 데이터를 재기입하는 경우, 재기입 후의 데이터는 재기입 전의 블록과 다른 블록에 기입되기 때문에, 논리 블록 어드레스와, 이 논리 블록 어드레스에 대응하는 물리 블록 어드레스와의 대응 관계는, 데이터를 재기입할 때마다 동적으로 변화된다. 따라서, 어드레스 변환 테이블(15A)은, 데이터가 재기입될 때마다, 그 재기입에 관한 부분의 대응 관계가 갱신된다.
도 2는 도 1에 도시한 플래시 메모리(16)가 구비하는 메모리 셀 어레이의 구성을 도시하는 개략도이다. 플래시 메모리(16)는, 복수의 블록0∼블록m을 구비하고 있다. 각 블록은, 복수의 페이지0∼페이지n에 의해 구성되어 있다.
도 3은 도 2에 도시한 페이지의 구성을 도시하는 개략도이다. 1개의 페이지는, 데이터를 저장하는 데이터부(예를 들면, 512바이트)와, 용장부(예를 들면, 16바이트)로 구성된다. 용장부는, 호스트 기기(11)로부터 입력된 데이터를 관리하기 위한 관리 데이터(management data)를 저장하는 관리 데이터부(예를 들면, 6바이트)와, ECC 회로(17)가 생성한 ECC 코드를 저장하는 ECC 코드부(예를 들면, 10바이트)로 구성된다.
관리 데이터부는, 논리 블록 어드레스가 저장되는 논리 블록 어드레스부와, 예를 들면 데이터부에 저장되는 데이터의 종류 혹은 정보 등을 판별하기 위한 플래그 등이 저장되는 플래그부와, CRC 회로(18)에 의해 관리 데이터(논리 블록 어드레스 및 플래그)에 대하여 생성된 CRC 코드가 저장되는 CRC 코드부(예를 들면, 1바이트)로 구성된다.
이와 같이, 플래시 메모리(16)는, 페이지 단위로 판독 혹은 기입을, 블록 단위로 소거를 실행할 수 있는 디바이스로서, 1페이지는 512바이트의 데이터부와 16바이트의 용장부로 구성되며, 호스트 기기(11)측으로부터 본 경우의 1페이지는 512바이트로 구성되어 있다.
제어부(14)는, 호스트 기기(11)로부터 입력된 데이터를 플래시 메모리(16)에 기입하거나, 혹은 플래시 메모리(16)로부터 판독한 데이터를 호스트 기기(11)에 출력하기 위해, 각 회로의 제어를 실행한다. 또한, 제어부(14)는, 호스트 기기(11)로부터 입력된 데이터에 대하여 관리 데이터를 생성한다. 이 관리 데이터는, 플래시 메모리(16)의 관리 데이터부에 기입된다. 제어부(14)의 구체적인 동작은, 후술한다.
RAM(15)은, 제어부(14)의 작업용 메모리이며, 이 작업용 메모리의 일부의 영역은 플래시 메모리(16)와의 사이에서 수수되는 데이터를 일시적으로 보유하기 위한 데이터 버퍼로서 이용된다. 또한, RAM(15)은, 제어부(14)에 의해 작성된 어드레스 변환 테이블(15A)을 기억한다. 제어부(14)는, 어드레스 변환 테이블(15A)을 이용하여, 호스트 기기(11)와의 사이에서 데이터의 수수를 제어한다.
ECC 회로(17)는, 호스트 기기(11)로부터 데이터가 입력된 경우에, 이 데이터 및 제어부(14)에 의해 생성된 관리 데이터의 에러 검출 및 정정을 위해 필요한 ECC 코드를 생성한다. 이 ECC 코드는, 데이터 및 관리 데이터와 함께 플래시 메모리(16)에 기입된다. 또한, ECC 회로(17)는, ECC 코드에 기초하여, 플래시 메모리(16)로부터 판독된 데이터 및 관리 데이터의 에러 검출 및 정정을 행한다.
CRC 회로(18)는, 제어부(14)에 의해 생성된 관리 데이터의 에러 검출을 위해 필요한 CRC 코드를 생성한다. 이 CRC 코드는, 관리 데이터와 함께 플래시 메모리(16)에 기입된다. 또한, CRC 회로(18)는, CRC 코드에 기초하여, 플래시 메모리(16)로부터 판독된 데이터 및 관리 데이터의 에러 검출을 행한다.
ECC 코드 및 CRC 코드의 크기는, 사용하는 에러 검출/정정 방식에 의해 결정 된다. 본 실시 형태에서는, CRC 회로(18)가 사용하는 에러 검출 방식으로서 CRC를 이용한 방법을 일례로 들어 설명한다. CRC(7)는, 데이터로부터 7비트의 CRC 코드를 생성하는 방식이다. 따라서, CRC 코드를 저장하는 CRC 코드부는, 1바이트의 기억 용량을 필요로 한다.
도 4는 도 1에 도시한 제어부(14)의 구성을 도시하는 블록도이다. 제어부(14)는, 기입 회로(14A), 판독 회로(14B), 테이블 생성 회로(14C), 커맨드 생성 회로(14D) 및 어드레스 생성 회로(14E)를 구비하고 있다.
기입 회로(14A)는, 호스트 기기(11)로부터 입력된 데이터 및 관리 데이터를 플래시 메모리(16)의 페이지에 기입하는 처리를 실행한다. 구체적으로는, 기입 회로(14A)는, 플래시 메모리(16)가 구비하는 라이트 인에이블 단자를 제어하여, 플래시 메모리(16)에 데이터를 기입한다.
판독 회로(14B)는, 관리 데이터부에 저장된 관리 데이터(즉, 논리 블록 어드레스, 플래그 및 CRC 코드)의 판독 처리를 실행한다. 또한, 판독 회로(14B)는, 각 페이지의 데이터의 판독 처리를 실행한다. 구체적으로는, 판독 회로(14B)는, 플래시 메모리(16)가 구비하는 판독 인에이블 단자를 제어하여, 플래시 메모리(16)로부터 데이터를 판독한다.
테이블 생성 회로(14C)는, 플래시 메모리(16)로부터 판독된 논리 블록 어드레스에 기초하여 어드레스 변환 테이블(15A)을 생성한다. 그리고, 이 어드레스 변환 테이블(15A)을 RAM(15)에 일시적으로 기억시킨다.
커맨드 생성 회로(14D)는, 플래시 메모리(16)를 제어하기 위한 커맨드를 생 성한다. 즉, 커맨드 생성 회로(14D)는, 플래시 메모리(16)로부터 데이터를 판독하기 위한 리드 커맨드, 혹은 플래시 메모리(16)에 데이터를 기입하기 위한 라이트 커맨드 등을 생성한다. 커맨드 생성 회로(14D)에 의해 생성된 커맨드는, 데이터선(28)을 통하여 플래시 메모리(16)에 공급된다.
어드레스 생성 회로(14E)는, 호스트 기기(11)로부터 공급되는 어드레스 및 어드레스 변환 테이블(15A)을 이용하여, 플래시 메모리(16)에 공급하는 어드레스를 생성한다. 어드레스 생성 회로(14E)에 의해 생성된 어드레스는, 데이터선(28)을 통하여 플래시 메모리(16)에 공급된다.
호스트 기기(11)는, 메모리 카드(12)에 대하여, 커맨드, 어드레스 및 데이터를 공급한다. 호스트 기기(11)로부터 입력된 커맨드는, 커맨드선(21)을 통하여 호스트 인터페이스 회로(13)에 공급된다. 호스트 인터페이스 회로(13)는, 이 커맨드를 해석한다. 해석된 커맨드 정보는, 커맨드선(24)을 통하여 제어부(14)에 공급된다.
호스트 기기(11)로부터 입력된 어드레스는, 어드레스선(22)을 통하여 호스트 인터페이스 회로(13)에 공급된다. 이 어드레스는, 어드레스선(25)을 통하여 제어부(14)에 공급된다.
호스트 기기(11)로부터 입력된 데이터는, 데이터선(23)을 통하여 호스트 인터페이스 회로(13)에 공급된다. 이 데이터는, 데이터선(26)을 통하여 제어부(14)에 공급된다. 제어부(14)는 데이터를 데이터선(28)을 통하여 플래시 메모리(16)에 기입한다.
플래시 메모리(16)로부터 판독된 데이터는, 데이터선(28)을 통하여 제어부(14)에 공급된다. 이 데이터는, 데이터선(26)을 통하여 호스트 인터페이스 회로(13)에 공급된다. 호스트 인터페이스 회로(13)는, 이 데이터를 데이터선(23)을 통하여 호스트 기기(11)에 출력한다.
제어부(14)는, 데이터선(27)을 통하여 RAM(15)과 데이터의 수수를 행한다. 제어부(14)는, 데이터선(30)을 통하여 ECC 회로(17)와 데이터의 수수를 행한다. 또한, 제어부(14)는, 데이터선(31)을 통하여 CRC 회로(18)와 데이터의 수수를 행한다.
또한, 제어부(14)는, 신호선(29)을 통하여 플래시 메모리(16)에 접속되어 있다. 플래시 메모리(16)는, 비지 신호를 신호선(29)을 통하여 제어부(14)에 공급한다. 이 비지 신호는, 플래시 메모리(16)의 레디 상태 혹은 비지 상태를 나타내는 신호이다.
플래시 메모리(16)로부터 데이터를 판독하는 경우, 제어부(14)는 리드 커맨드를 발행한 후, 플래시 메모리(16)가 레디(비지 신호가 하이 레벨)로 된 시점에서 데이터의 판독이 가능하게 된다. 한편, 플래시 메모리(16)에 데이터를 기입하는 경우, 제어부(14)는 라이트 커맨드를 발행한 후, 플래시 메모리(16)가 레디로 된 시점에서 다음 데이터의 기입이 가능하게 된다.
이와 같이 구성된 메모리 카드(12)의 동작에 대하여 설명한다. 우선, 플래시 메모리(16)에의 데이터 기입 동작에 대하여 설명한다. 도 5는 데이터 기입 동작을 도시하는 플로우차트이다.
우선, 기입 회로(14A)는, 데이터 기입을 행하는 페이지가, 논리 블록 어드레스를 저장하는 페이지인지의 여부를 판정한다(스텝 S5a). 본 실시 형태에서는, 예를 들면 0페이지째에만 논리 블록 어드레스를 기입하는 것으로 한다.
메모리 카드(12)의 초기화 시에 필요한 파라미터는, 지금부터 기입을 행하는 물리 블록이 어떤 논리 블록의 데이터인지를 나타내는 정보이기 때문에, 모든 페이지에 대하여 해당 파라미터를 저장할 필요가 없다. 따라서, 블록의 최저 1페이지에만 논리 블록 어드레스를 기입해 두면 된다. 0페이지째가 정정 불가능한 경우를 고려하여 처음의 수페이지에 논리 블록 어드레스를 기입하도록 해도 된다.
또한, 일반적으로 CRC 회로(18)는, CRC 코드를 생성하기 위해, 데이터의 길이분의 클럭 사이클을 필요로 한다. 블록 내의 모든 페이지에 대하여 용장부로부터 CRC 코드를 생성하면, 불필요한 시간과 불필요한 전력 소비가 발생한다.
관리 데이터부(6바이트) 중 1바이트를 에러 검출 부호(CRC 코드)로서 사용하고, 나머지의 5바이트로부터 CRC 코드를 생성하면, 최저로 40클럭(즉, 5바이트×8=40비트) 정도가 필요로 된다. 메모리 카드(12)가 10㎒에서 동작하고 있는 것으로 하면, 클럭 사이클은, 100nsec로 된다. 따라서, CRC 코드를 생성하는 데에 4μsec의 시간이 걸린다.
따라서, 본 실시 형태에서는, 초기화 시에 필요한 파라미터를 저장하는 페이지인지의 여부를 판정하고, 초기화 시에 필요한 파라미터를 저장하는 페이지의 라이트 시만 CRC 코드를 생성한다. 이에 의해, 블록에 데이터를 기입하는 시간을 단축시킬 수 있다.
스텝 S5a에서 논리 블록 어드레스를 저장하는 페이지인 것으로 판정된 경우, CRC 회로(18)는, 관리 데이터(논리 블록 어드레스 및 플래그)로부터 CRC 코드를 생성한다(스텝 S5b). 또한, CRC 회로(18)는, 논리 블록 어드레스만으로부터 CRC 코드를 생성하도록 해도 된다.
다음으로, 기입 회로(14A)는, 논리 블록 어드레스 및 CRC 코드를 포함하는 528바이트의 데이터의 기입 처리를 실행한다(스텝 S5c). 이 기입 처리에는, ECC 회로(17)에 의한 ECC 코드의 생성 처리와 ECC 코드의 기입 처리가 포함된다.
한편, 스텝 S5a에서 논리 블록 어드레스를 저장하는 페이지가 아니라고 판정된 경우, CRC 회로(18)는, CRC 코드를 생성하지 않는다. 이 경우, 기입 회로(14A)는, CRC 코드를 부정으로 한 528바이트의 데이터의 기입 처리를 실행한다(스텝 S5d). 이 기입 처리에는, ECC 회로(17)에 의한 ECC 코드의 생성 처리와 ECC 코드의 기입 처리가 포함된다.
그리고, 기입 회로(14A) 및 CRC 회로(18)는, 블록 내의 모든 페이지에 데이터를 기입할 때까지, 상기 제어를 반복한다(스텝 S5e). 이와 같이 하여, 소정 페이지의 용장부에 논리 블록 어드레스 및 CRC 코드를 기입할 수 있다.
다음으로, 메모리 카드(12)의 초기화 동작에 대하여 설명한다. 여기서, 초기화 동작이란, 메모리 카드(12)의 기동 시(혹은, 전원 투입 시)에, 논리 블록 어드레스와 물리 블록 어드레스의 대응 관계를 나타내는 어드레스 변환 테이블(15A)을 생성하는 동작이다. 즉, 메모리 카드(12)는, 기동 시에, 각 블록의 페이지0에 기억되어 있는 논리 블록 어드레스를 판독하는 처리를 실행한다. 그리고, 얻어진 논리 블록 어드레스를 이용하여, 메모리 카드(12)(구체적으로는, 테이블 생성 회로(14C))는, 어드레스 변환 테이블(15A)을 생성한다.
다음으로, CRC 코드의 연산 처리에 대하여 설명한다. 본 실시 형태에서는, CRC 코드의 연산 처리를 플래시 메모리(16)의 비지 기간 중에 행하도록 하고 있다. 도 6은 CRC 코드의 연산 처리 동작을 도시하는 타이밍차트이다.
우선, 커맨드 생성 회로(14D)는, 플래시 메모리(16)로부터 블록0의 페이지0의 관리 데이터를 판독하기 위해, 리드 커맨드(R-CMD)를 발생한다. 그렇게 하면,플래시 메모리(16)는, 비지 상태이다라는 취지의 로우 레벨의 비지 신호를 제어부(14)에 출력한다.
이 비지 신호가 로우 레벨인 기간은, 플래시 메모리(16)가 구비하는 외부 인터페이스 회로(도시 생략)에, 플래시 메모리(16) 내의 메모리 셀로부터 데이터를 출력하기 위한 준비 기간이다. 또한, 비지 신호는, 플래시 메모리(16)가 구비하는 컨트롤러(도시 생략)가 생성한다.
플래시 메모리(16)는, 데이터 출력의 준비가 완료되었을 때에, 비지를 해제(즉, 하이 레벨의 비지 신호를 출력)한다. 그렇게 하면, 제어부(14)(구체적으로는, 판독 회로(14B))는, 플래시 메모리(16)가 구비하는 판독 인에이블 단자를 제어하여, 플래시 메모리(16)로부터 블록0의 페이지0의 관리 데이터 및 CRC 코드(MDAT0)를 판독한다.
다음으로, 제어부(14)는, 블록1의 페이지0의 관리 데이터 및 CRC 코드(MDAT1)를 판독하기 위해, 리드 커맨드(R-CMD)를 발행한다. 그렇게 하면, 플래 시 메모리(16)는, 비지 상태이다라는 취지의 로우 레벨의 비지 신호를 제어부(14)에 출력한다. 이 비지 기간 중에, 제어부(14)는, 판독된 MDTA0을 이용하여 CRC 코드의 계산(즉, 에러 검출 처리)을 행한다. 다른 블록에 대해서도 마찬가지이다.
비지 출력 개시로부터 비지 해제까지의 시간은, 현상의 플래시 메모리에서, 약 수십μsec이다. 또한, CRC 코드의 계산(즉, 에러 검출 처리)에는, 최저로 40클럭이 필요하다. 메모리 카드(12)가 10㎒에서 동작하고 있는 것으로 하면, CRC 코드의 계산에는, 4μsec의 시간이 걸린다.
플래시 메모리(16)로부터 데이터를 판독한 직후에 에러 검출 처리를 행하는 경우, 각 데이터 판독 처리의 시간에 에러 검출 처리를 위한 4μsec가 추가되게 된다. 이 결과, 판독 속도가 저하되게 된다.
그런데, 본 실시 형태에서는, 도 6에 도시하는 바와 같이, CRC 회로(18)에 의한 에러 검출 처리를 플래시 메모리(16)의 비지 기간 중에 행하도록 하고 있다. 따라서, 비지 기간에 에러 검출 처리가 숨겨지게 되어, 논리 블록 어드레스의 판독 동작을 고속화할 수 있다.
도 7은 메모리 카드(12)의 초기화 시에서의 논리 블록 어드레스의 판독 동작을 도시하는 플로우차트이다. 또한, 데이터를 판독하기 위한 어드레스 제어에 대해서는, 설명을 생략한다.
우선, 커맨드 생성 회로(14D)는, 플래시 메모리(16)에 대하여 리드 커맨드를 발행한다(스텝 S7a). 이 때, 플래시 메모리(16)는, 비지 상태를 나타내는 로우 레벨의 비지 신호를 출력한다.
다음으로, 판독 회로(14B)는, 데이터 판독의 대상으로 되는 블록이 최초의 블록(본 실시 형태에서는, 블록0)인지의 여부를 판정한다(스텝 S7b). 스텝 S7b에서 최초의 블록인 것으로 판정된 경우에는, 아직 계산하는 CRC 코드가 존재하지 않는다. 따라서, 판독 회로(14B)는, 비지가 해제되는 것을 감시한다(스텝 S7c).
비지가 해제되면, 판독 회로(14B)는, 해당 블록0의 페이지0의 관리 데이터 및 CRC 코드(MDAT0)의 판독 처리를 실행한다(스텝 S7d). 그리고, 판독 회로(14B)는, 판독된 MDAT0을 RAM(15)에 일시적으로 기억시킨다(스텝 S7e).
한편, 스텝 S7b에서 최초의 블록이 아니라고 판정된 경우에는, 메모리 카드(12)는, 에러 검출 처리를 실행한다. 즉, CRC 회로(18)는, RAM(15)에 일시적으로 기억된 데이터로부터 CRC 코드를 계산한다(스텝 S7f). 그리고, CRC 회로(18)는, 논리 블록 어드레스 및 플래그에 에러를 검출하였는지의 여부를 판정한다(스텝 S7g). 또한, 상술한 바와 같이, 논리 블록 어드레스만으로부터 CRC 코드를 생성한 경우, CRC 회로(18)는, 논리 블록 어드레스를 검출한다.
스텝 S7g에서 에러가 검출되지 않은 경우, 판독 회로(14B)는, RAM(15)에 일시적으로 기억된 데이터로부터 논리 블록 어드레스를 얻는다(스텝 S7h). 그리고, 판독 회로(14B)는, 스텝 S7c로 이행하여, 비지가 해제되는 것을 감시한다.
한편, 스텝 S7g에서 에러가 검출된 경우, 제어부(14)는, 플래시 메모리(16)로부터 페이지 전체의 데이터(데이터부의 데이터, 논리 블록 어드레스, 플래그, CRC 코드, 및 ECC 코드)의 판독 처리를 실행한다(스텝 S7i). 즉, 커맨드 생성 회로(14D)는, 플래시 메모리(16)로부터 페이지의 데이터를 판독하기 위해, 리드 커맨 드(R-CMD)를 발행한다. 그렇게 하면, 플래시 메모리(16)는, 비지 상태이다라는 취지의 로우 레벨의 비지 신호를 제어부(14)에 출력한다. 그리고, 플래시 메모리(16)는, 데이터 출력의 준비가 완료되면, 비지를 해제(즉, 하이 레벨의 비지 신호를 출력)한다. 다음으로, 판독 회로(14B)는, 플래시 메모리(16)가 구비하는 리드 인에이블 단자를 제어하여, 플래시 메모리(16)로부터 페이지의 데이터를 판독한다.
다음으로, ECC 회로(17)는, ECC 코드를 이용하여, 페이지의 데이터의 에러 정정을 실행한다(스텝 S7j). 다음으로, 판독 회로(14B)는, 정정된 데이터로부터 논리 블록 어드레스를 얻는다(단계 S7k). 그리고, 스텝 S7a로 이행하여, 커맨드 생성 회로(14D)는, 다음 블록의 페이지0의 관리 데이터 및 CRC 코드 데이터를 판독하기 위한 리드 커맨드를 발행한다.
그 후, 판독 회로(14B), CRC 회로(18) 및 ECC 회로(17)는, 모든 블록에 대하여 상기 제어를 반복한다(스텝 S7l). 이와 같이 하여, 각 블록에 기억된 논리 블록 어드레스를 얻을 수 있다.
그 후, 테이블 생성 회로(14C)는, 플래시 메모리(16)로부터 판독된 논리 블록 어드레스와, 판독 처리를 행한 물리 블록 어드레스에 기초하여 어드레스 변환 테이블(15A)을 생성한다. 이에 의해, 메모리 카드(12)는, 호스트가 발행한 논리 블록 어드레스에 기초하여, 물리 블록 어드레스를 특정할 수 있다.
예를 들면, CRC 코드의 계산을 비지 기간 중에 행하지 않으면, 블록 사이즈가 128kB인 NAND형 플래시 메모리를 이용하여 2GB의 메모리 카드의 초기화를 행한 경우, 블록수는 16384개이기 때문에, CRC 코드의 계산만으로 65msec(=4μsec×16384)의 시간이 여분으로 걸리게 된다.
그런데, 본 실시 형태와 같이, 비지 기간 중에 CRC 코드의 계산을 행하도록 함으로써, 효율적으로 초기화 처리를 행할 수 있다.
이상 상술한 바와 같이 본 실시 형태에 따르면, 페이지 전체의 데이터 중 관리 데이터부에 저장된 데이터(관리 데이터 및 CRC 코드)만 판독함으로써, 논리 블록 어드레스를 얻을 수 있다. 이에 의해, 초기화 동작을 고속화할 수 있다.
또한, 어드레스 변환 테이블(15A)을 플래시 메모리(16)에 기억해 둘 필요가 없기 때문에, 플래시 메모리(16)의 기억 용량을 증가시킬 수 있다.
또한, CRC 회로(18)에 의한 에러 검출 처리를 플래시 메모리(16)의 비지 기간 중에 행하도록 하고 있다. 이 결과, 비지 기간에 에러 검출 처리가 숨겨지게 되어, 논리 블록 어드레스의 판독 동작을 고속화할 수 있다.
또한, CRC 회로(18)를 ECC 회로에 의해 구성하도록 해도 된다. 즉, 판독한 논리 블록 어드레스에 대하여 에러의 검출 및 정정을 행하도록 해도 된다. 이 경우, ECC 회로는, 에러가 검출된 경우, 관리 데이터부에 저장된 관리 데이터의 에러 정정을 행한다. 따라서, 논리 블록 어드레스에 에러가 발생하였을 때, 페이지 전체의 정정 처리를 행하는 경우에 비해, 초기화 동작을 고속화할 수 있다.
(제2 실시 형태)
제2 실시 형태는, 논리 블록 어드레스에 에러가 존재한 경우에, 논리 블록 어드레스만을 정정하는 한 것이다.
도 8은 본 발명의 제2 실시 형태에 따른 메모리 카드(12)의 초기화 시에서의 논리 블록 어드레스의 판독 동작을 도시하는 플로우차트이다. 또한, 도 8에 도시한 복수의 스텝 중, 도 7에 도시한 스텝과 동일한 동작에 대해서는 동일한 부호를 붙이고 있다. 따라서, 도 7과 다른 동작만 이하에 설명한다.
스텝 S7i에서 페이지 전체의 데이터가 판독된 후, ECC 회로(17)는, ECC 코드를 이용하여 논리 블록 어드레스부에 저장된 논리 블록 어드레스만의 에러를 검출한다(스텝 S8a). 다음으로, ECC 회로(17)는, 논리 블록 어드레스만의 에러를 정정한다(스텝 S8b). 그리고, 판독 회로(14B)는, 정정된 논리 블록 어드레스를 얻는다(스텝 S8c). 그 후, 스텝 S7a로 이행하여, 커맨드 생성 회로(14D)는, 다음 블록의 페이지0의 관리 데이터 및 CRC 코드 데이터를 판독하기 위한 리드 커맨드를 발행한다.
이상 상술한 바와 같이 본 실시 형태에서는, CRC 회로(18)에 의해 논리 블록 어드레스에 에러가 검출된 경우에, ECC 회로(17)에 의해 논리 블록 어드레스만 에러 정정을 행하도록 하고 있다.
따라서 본 실시 형태에 따르면, ECC 회로(17)에 의한 에러 정정 시간을 단축할 수 있다. 이에 의해, 초기화 동작을 고속화할 수 있다.
당 분야의 업자라면 부가적인 장점 및 변경들을 용이하게 생성할 수 있다. 따라서, 광의의 관점에서의 본 발명은 본 명세서에 예시되고 기술된 상세한 설명 및 대표 실시예들에 한정되는 것은 아니다. 따라서, 첨부된 청구 범위들 및 그 등가물들에 의해 정의된 바와 같은 일반적인 발명적 개념의 정신 또는 범위로부터 벗 어나지 않고 다양한 변경이 가능하다.
본 발명에 따르면, ECC 회로에 의한 에러 정정 시간을 단축함으로써, 초기화 동작을 고속화할 수 있다.

Claims (16)

  1. 호스트 기기에 장착하여 사용되는 기억 장치로서,
    복수의 블록을 포함하고, 상기 복수의 블록의 각각은, 데이터 소거의 단위이며 또한 복수의 페이지를 포함하고, 상기 복수의 페이지의 각각은, 상기 호스트 기기로부터 입력되는 제1 데이터가 저장되는 데이터부와 적어도 상기 제1 데이터를 관리하기 위한 제2 데이터가 저장되는 용장부를 포함하는 불휘발성 메모리와,
    상기 제2 데이터의 제1 에러를 검출하기 위한 제1 부호를 생성하고, 또한 상기 제1 부호에 기초하여 상기 제1 에러를 검출하는 검출 회로와,
    상기 제1 및 제2 데이터의 제2 에러를 검출 및 정정하기 위한 제2 부호를 생성하고, 또한 상기 제2 부호에 기초하여 상기 제2 에러를 검출 및 정정하는 정정 회로
    를 구비하는 것을 특징으로 하는 기억 장치.
  2. 제1항에 있어서,
    상기 용장부는, 상기 제2 데이터 및 상기 제1 부호가 저장되는 제1 용장부와, 상기 제2 부호가 저장되는 제2 용장부를 포함하는 것을 특징으로 하는 기억 장치.
  3. 제2항에 있어서,
    상기 제2 데이터 및 상기 제1 부호를 상기 제1 용장부에 기입하는 기입 회로를 더 구비하는 것을 특징으로 하는 기억 장치.
  4. 제3항에 있어서,
    상기 기입 회로는, 상기 복수의 페이지 중 최초의 1페이지에 상기 제2 데이터 및 상기 제1 부호를 기입하는 것을 특징으로 하는 기억 장치.
  5. 제4항에 있어서,
    상기 제1 용장부는, 상기 최초의 1페이지에 설정되는 것을 특징으로 하는 기억 장치.
  6. 제1항에 있어서,
    상기 제1 용장부로부터 상기 제2 데이터를 판독하는 판독 회로를 더 구비하고,
    상기 검출 회로는, 상기 제1 부호에 기초하여 상기 판독 회로에 의해 판독된 상기 제2 데이터의 상기 제1 에러를 검출하는 것을 특징으로 하는 기억 장치.
  7. 제6항에 있어서,
    상기 판독 회로는, 상기 제2 데이터에 상기 제1 에러가 검출된 경우에, 상기 제1 및 제2 데이터를 판독하고,
    상기 정정 회로는, 상기 제2 부호에 기초하여 상기 판독 회로에 의해 판독된 상기 제1 및 제2 데이터의 상기 제2 에러를 검출 및 정정하는 것을 특징으로 하는 기억 장치.
  8. 제7항에 있어서,
    상기 제2 데이터는, 상기 호스트 기기에 의해 관리되는 논리 블록 어드레스를 포함하는 것을 특징으로 하는 기억 장치.
  9. 제8항에 있어서,
    상기 검출 회로는, 상기 논리 블록 어드레스의 제1 에러를 검출하기 위한 제1 부호를 생성하고, 또한 상기 제1 부호에 기초하여 상기 제1 에러를 검출하는 것을 특징으로 하는 기억 장치.
  10. 제9항에 있어서,
    상기 판독 회로는, 상기 논리 블록 어드레스에 상기 제1 에러가 검출된 경우에, 상기 제1 및 제2 데이터를 판독하고,
    상기 정정 회로는, 상기 제2 부호에 기초하여 상기 판독 회로에 의해 판독된 상기 제1 및 제2 데이터 중 상기 논리 블록 어드레스의 에러를 검출 및 정정하는 것을 특징으로 하는 기억 장치.
  11. 제9항에 있어서,
    상기 논리 블록 어드레스와 물리 블록 어드레스의 대응 관계를 나타내는 테이블을 생성하는 생성 회로를 더 구비하는 것을 특징으로 하는 기억 장치.
  12. 제11항에 있어서,
    상기 테이블을 기억하는 기억 회로를 더 구비하는 것을 특징으로 하는 기억 장치.
  13. 제1항에 있어서,
    상기 불휘발성 메모리는, 비지 상태를 나타내는 비지 신호를 출력하고,
    상기 검출 회로는, 상기 불휘발성 메모리가 상기 비지 상태인 비지 기간 중에, 상기 제1 에러를 검출하는 것을 특징으로 하는 기억 장치.
  14. 제13항에 있어서,
    상기 불휘발성 메모리로부터 데이터를 판독하기 위한 리드 커맨드를 생성하는 커맨드 생성 회로를 더 구비하고,
    상기 불휘발성 메모리는, 상기 리드 커맨드를 수취하고 나서 데이터를 출력할 준비가 완료되기까지의 기간 중 「이 기간 중 쭉이라는 의미」로 상기 비지 신호를 출력하는 것을 특징으로 하는 기억 장치.
  15. 제1항에 있어서,
    상기 검출 회로는, 상기 제2 데이터의 상기 제1 에러를 검출 및 정정하기 위한 제1 부호를 생성하고, 또한 상기 제1 부호에 기초하여 상기 제1 에러를 검출 및 정정하는 정정 회로에 의해 구성되는 것을 특징으로 하는 기억 장치.
  16. 제1항에 있어서,
    상기 불휘발성 메모리는, NAND형 플래시 메모리인 것을 특징으로 하는 기억 장치.
KR1020060047991A 2005-05-30 2006-05-29 기억 장치 KR20060124598A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2005-00157522 2005-05-30
JP2005157522A JP4734033B2 (ja) 2005-05-30 2005-05-30 記憶装置

Publications (1)

Publication Number Publication Date
KR20060124598A true KR20060124598A (ko) 2006-12-05

Family

ID=37484099

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060047991A KR20060124598A (ko) 2005-05-30 2006-05-29 기억 장치

Country Status (5)

Country Link
US (1) US7239547B2 (ko)
JP (1) JP4734033B2 (ko)
KR (1) KR20060124598A (ko)
CN (1) CN1873619A (ko)
TW (1) TW200710653A (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7512864B2 (en) * 2005-09-30 2009-03-31 Josef Zeevi System and method of accessing non-volatile computer memory
US7469368B2 (en) * 2005-11-29 2008-12-23 Broadcom Corporation Method and system for a non-volatile memory with multiple bits error correction and detection for improving production yield
US7840878B1 (en) 2006-04-11 2010-11-23 Marvell International Ltd. Systems and methods for data-path protection
JP4349532B2 (ja) * 2007-04-11 2009-10-21 エヌイーシーコンピュータテクノ株式会社 メモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体
JP4564520B2 (ja) 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
EP2149841A3 (de) * 2008-07-24 2013-12-04 Atmel Automotive GmbH Speichersystem, Leseverstärker, Verwendung und Verfahren zur Fehlerdetektion mittels Parity-Bits eines Blockcodes
KR101466270B1 (ko) * 2008-09-19 2014-11-28 삼성전자주식회사 비휘발성 메모리 시스템 및 그것의 데이터 처리 방법
JP5174603B2 (ja) * 2008-09-30 2013-04-03 株式会社日立製作所 メモリの誤り訂正方法,誤り検出方法、及びそれを用いたコントローラ
CN101477838B (zh) * 2008-12-31 2014-07-30 深圳市同洲电子股份有限公司 一种与非快闪记忆体状态检测装置、系统及电子设备
JP5521437B2 (ja) * 2009-01-29 2014-06-11 日本電気株式会社 携帯端末装置、ソフトウェア更新方法及びプログラム
US8413010B1 (en) * 2009-03-12 2013-04-02 Western Digital Technologies, Inc. Data storage device employing high quality metrics when decoding logical block address appended to a data sector
US20110072333A1 (en) * 2009-09-24 2011-03-24 Innostor Technology Corporation Control method for flash memory based on variable length ecc
JP5401516B2 (ja) * 2011-08-16 2014-01-29 株式会社日立製作所 無線通信装置、及びそれを使った列車制御システム
TWI473103B (zh) * 2011-09-14 2015-02-11 威剛科技股份有限公司 快閃記憶體儲存裝置及其不良儲存區域的判定方法
EP2608036A1 (en) 2011-12-22 2013-06-26 Thomson Licensing Method and system for managing error detection and correction
CN102541677A (zh) * 2011-12-29 2012-07-04 苏州国芯科技有限公司 提高nandflash存储设备对照表加载速度的实现方法
US9754648B2 (en) * 2012-10-26 2017-09-05 Micron Technology, Inc. Apparatuses and methods for memory operations having variable latencies
US9740485B2 (en) 2012-10-26 2017-08-22 Micron Technology, Inc. Apparatuses and methods for memory operations having variable latencies
US9734097B2 (en) 2013-03-15 2017-08-15 Micron Technology, Inc. Apparatuses and methods for variable latency memory operations
US9727493B2 (en) 2013-08-14 2017-08-08 Micron Technology, Inc. Apparatuses and methods for providing data to a configurable storage area
JP5657079B1 (ja) 2013-10-24 2015-01-21 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
US10365835B2 (en) 2014-05-28 2019-07-30 Micron Technology, Inc. Apparatuses and methods for performing write count threshold wear leveling operations
KR102229024B1 (ko) 2014-12-03 2021-03-17 삼성전자주식회사 스스로 에러를 검출하고 로그를 저장할 수 있는 데이터 저장 장치와 이를 포함하는 시스템
TWI571742B (zh) * 2015-10-07 2017-02-21 慧榮科技股份有限公司 資料儲存裝置及資料維護方法
CN106815153B (zh) * 2015-12-02 2022-04-22 国民技术股份有限公司 一种安全存储方法、装置和系统
KR20200092036A (ko) * 2019-01-24 2020-08-03 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US11537464B2 (en) * 2019-06-14 2022-12-27 Micron Technology, Inc. Host-based error correction

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0817197A (ja) * 1994-06-30 1996-01-19 Fujitsu Ltd 半導体記憶装置
JP3576625B2 (ja) * 1995-02-28 2004-10-13 株式会社東芝 フラッシュメモリカードのデータ管理方法およびそのデータ管理方法を使用したデータ処理装置
US6031758A (en) * 1996-02-29 2000-02-29 Hitachi, Ltd. Semiconductor memory device having faulty cells
JP3072722B2 (ja) * 1997-06-20 2000-08-07 ソニー株式会社 フラッシュメモリを用いるデータ管理装置及びデータ管理方法並びにフラッシュメモリを用いる記憶媒体
JP3233079B2 (ja) * 1997-09-30 2001-11-26 ソニー株式会社 データ処理システム及びデータ処理方法
JP3937214B2 (ja) * 1999-09-17 2007-06-27 株式会社ルネサステクノロジ エラー訂正回数を記録する記憶装置
JP4059472B2 (ja) * 2001-08-09 2008-03-12 株式会社ルネサステクノロジ メモリカード及びメモリコントローラ
JP3699942B2 (ja) 2002-03-25 2005-09-28 株式会社東芝 メモリ管理方式およびメモリ管理装置
KR100512178B1 (ko) * 2003-05-28 2005-09-02 삼성전자주식회사 플렉서블한 열 리던던시 스킴을 갖는 반도체 메모리 장치
US7409623B2 (en) * 2004-11-04 2008-08-05 Sigmatel, Inc. System and method of reading non-volatile computer memory

Also Published As

Publication number Publication date
CN1873619A (zh) 2006-12-06
JP4734033B2 (ja) 2011-07-27
JP2006331303A (ja) 2006-12-07
US7239547B2 (en) 2007-07-03
TW200710653A (en) 2007-03-16
TWI312464B (ko) 2009-07-21
US20060282717A1 (en) 2006-12-14

Similar Documents

Publication Publication Date Title
KR20060124598A (ko) 기억 장치
JP4524309B2 (ja) フラッシュメモリ用のメモリコントローラ
KR100546348B1 (ko) 플래시 메모리 시스템 및 그 데이터 저장 방법
US8386699B2 (en) Method for giving program commands to flash memory for writing data according to a sequence, and controller and storage system using the same
CN109062827B (zh) 闪存控制装置、闪存控制系统以及闪存控制方法
US9058256B2 (en) Data writing method, memory controller and memory storage apparatus
US20070067603A1 (en) Nonvolatile memory device and the method of generation of the address translation table
US9208021B2 (en) Data writing method, memory storage device, and memory controller
WO2007000862A1 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
KR20100094241A (ko) 예비 블록을 포함하지 않는 불휘발성 메모리 장치
TWI479315B (zh) 記憶體儲存裝置、其記憶體控制器與資料寫入方法
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
US7657697B2 (en) Method of controlling a semiconductor memory device applied to a memory card
US8966344B2 (en) Data protecting method, memory controller and memory storage device
US9467175B2 (en) Decoding method, memory storage device and memory controlling circuit unit
JP2006221334A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
CN113360303A (zh) 进行数据存储管理以提升数据可靠度的方法以及相关设备
US9009389B2 (en) Memory management table processing method, memory controller, and memory storage apparatus
JP4582078B2 (ja) メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法
KR20200101884A (ko) 데이터 저장 시스템 및 그것의 동작 방법
CN117636967B (zh) 存储器控制方法、存储器存储装置及存储器控制电路单元
CN114063918B (zh) 数据存取方法、存储器存储装置及存储器控制器
TWI813362B (zh) 部分抹除管理方法、記憶體儲存裝置及記憶體控制電路單元
US20230092302A1 (en) System for outputting test data from multiple cores and method thereof
JP2006048746A (ja) メモリカード

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application