KR100542175B1 - 정보 기억 장치 - Google Patents

정보 기억 장치 Download PDF

Info

Publication number
KR100542175B1
KR100542175B1 KR1020030017002A KR20030017002A KR100542175B1 KR 100542175 B1 KR100542175 B1 KR 100542175B1 KR 1020030017002 A KR1020030017002 A KR 1020030017002A KR 20030017002 A KR20030017002 A KR 20030017002A KR 100542175 B1 KR100542175 B1 KR 100542175B1
Authority
KR
South Korea
Prior art keywords
data
area
write
erase
nonvolatile memory
Prior art date
Application number
KR1020030017002A
Other languages
English (en)
Other versions
KR20030076359A (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 KR20030076359A publication Critical patent/KR20030076359A/ko
Application granted granted Critical
Publication of KR100542175B1 publication Critical patent/KR100542175B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/18Flash erasure of all the cells in an array, sector or block simultaneously

Landscapes

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

Abstract

본 발명에 따르면, 데이터 소거 블록이 데이터 기입 블록보다 큰 불휘발성 기억 장치를 갖는 정보 기억 장치가 제공된다. 이 장치는 호스트로부터의 기입 명령에 기초하여 불휘발성 기억 장치에서 소거를 실행하는 소거 수단, 소거 수단에 의해 소거된 불휘발성 기억 장치의 소거 영역의 어드레스와 소거 영역 중 데이터가 기입된 기입 블록까지의 위치를 나타내는 정보를 저장하는 클린 블록 포인터, 기입 명령에 관련된 데이터가 소거 수단에 의해 소거된 불휘발성 기억 장치의 소거 영역에 기입될 수 있는지 여부를 클린 블록 포인터에 기초하여 판정하는 판정 수단, 및 판정 수단에 의해 그 데이터가 기입될 수 있는 것으로 판정된 경우에, 소거 영역에 기입 명령에 관련된 데이터를 기입하는 기입 수단을 포함한다.
데이터 소거 블록, 데이터 기입 블록, 불휘발성 기억 장치, 정보 기억 장치, 호스트, 기입 명령, 소거 수단, 클린 블록 포인터

Description

정보 기억 장치{INFORMATION STORAGE APPARATUS}
도 1은 본 발명의 실시예에 따른 정보 기억 장치를 나타내는 도면.
도 2는 클린 블록 포인터의 구성을 나타내는 도면.
도 3은 불휘발성 기억 장치에 기입되는 데이터와 클린 블록 포인터와의 관계를 나타내는 도면.
도 4는 소거시의 처리를 설명하기 위한 순서도.
도 5는 데이터 기입시의 동작을 설명하기 위한 순서도.
도 6의 (a)는 호스트 컨트롤러로부터의 기입 명령을 나타내는 도면이고, 도 6의 (b)는 클린 블록 포인터가 1개인 경우의 정보 기억 장치의 동작을 설명하기 위한 도면이고, 도 6의 (c)는 클린 블록 포인터가 2개인 경우의 정보 기억 장치의 동작을 설명하기 위한 도면.
도 7은 클린 블록 포인터를 불휘발성 기억 장치 내에 설치한 경우의 동작에 대하여 설명하기 위한 순서도.
<도면의 부호에 대한 간단한 설명>
1 : 정보 기억 장치
1-1 : 호스트 모듈 인터페이스
1-2 : 불휘발성 기억 매체
1-3 : MPU
l-4 : 일시 기억 매체
1-4a : 클린 블록 포인터
1-5 : 불휘발성 기억 장치용 인터페이스
1-6 : 불휘발성 기억 장치
본 발명은, 정보 기억 장치에 관한 것으로, 특히, SD(Secure Digital) 메모리 카드 등의 메모리 카드에 관한 것이다.
플래시 메모리로 대표되는 것으로서, 소거 최소 단위(데이터 소거 블록)가 기입 최소 단위(데이터 기입 블록)보다 큰 불휘발성 기억 장치가 있다. 이와 같은 형태의 불휘발성 장치에서 추가 기입이 수행되는 경우, 데이터의 기입 동작 뿐만 아니라, 기존 데이터의 이동(shifting) 작업이 수행된다.
이러한 데이터의 이동 작업에서, 불휘발성 기억 장치에 새로운 데이터 소거 블록의 영역이 준비되고, 그 영역에 데이터가 복사됨과 함께, 추가 기입 데이터가 상기 영역에 기입된다.
이하, 이 "데이터 이동 작업"에 대하여 보다 상세히 설명한다.
이러한 이동 작업은, NAND 타입의 플래시 메모리나 AND 타입의 플래시 메모리와 같은, 데이터 비트를 "1 → 0" 또는 "0 → 1" 중 한 쪽 방향으로만 기입할 수 있는 불휘발성 기억 장치에서 수행된다.
예를 들면, NAND 타입의 플래시 메모리에서는, 데이터가 단지 1 → O의 한 쪽 방향으로 기입될 수 있다. 데이터가 "0"인 영역에 "1"을 기입하려고 시도하더라도, 기입 결과가 반영되지 않고 결과가 0 그대로이다.
즉, 기입을 위한 불휘발성 기억 장치의 전 영역의 데이터의 초기값이 "1"이 아니라면, 기입하려고 하는 데이터와 기입된 데이터가 일치하지 않을 가능성이 있다. 모든 영역에서 데이터 값을 1로 설정하는 유일한 방법은, 그 영역의 어드레스에 대하여 소거 명령을 발행하는 것이다.
여기서, 호스트로부터의 첫 번째의 명령으로서 8KB 데이터의 신규 기입, 다음에 두 번째의 명령으로서 그 다음의 8KB 데이터의 기입(추가 기입)이 발행되는 것으로 가정한다. 두 번째 기입은 추가 기입이기 때문에, 불휘발성 기억 장치 내부의 영역에 추가 데이터 기입을 행하려고 시도한다. 그러나, 그 영역의 데이터(즉, 소거 이후의 데이터)가 "1"인지 여부가 확실하지 않기 때문에, 기입하려고 하는 데이터와 기입된 데이터가 일치하지 않을 가능성이 있다.
이러한 문제를 피하기 위해, 상기 영역의 대체로서, 추가 기입을 위한 신규 기입용 영역을 준비한다. 신규 기입용 영역은 제1 소거되고, 이로써 값 "1"을 갖는 신규 기입용 영역이 생성된다. 다음에, 기존 데이터를 신규 기입용 영역에 복사한다.
그 후, 호스트로부터의 추가 기입 데이터를 기입하고, 이전 사용하던 기입용 영역에 무효화 처리를 행한다. 상기 처리는 기존 데이터의 이동 처리에 필요한 처 리이다.
플래시 메모리는 불휘발성 및 재기입이 가능하다는 등의 장점을 갖는다. 그러나, 물리적인 오버라이트가 금지되는 경우가 있다. 또한, 일반적으로 소거/기입 속도는 판독 속도에 비해 느리다.
또한, 소거의 최소 단위가 판독/기입 최소 단위보다 큰 경우, 어떤 일부분의 영역의 데이터만을 재기입하는 경우에 있어서도 "기존 데이터의 이동 작업"으로 대표되는, 플래시 메모리 내의 기존 데이터의 복사나 소거가 필요하다. 따라서, 데이터 기입 이외에 필요한 작업이 많아, 기입 동작을 고속화할 수 없다는 문제가 있었다.
본 발명의 양태에 따르면, 데이터 소거 블록이 데이터 기입 블록보다 큰 불휘발성 기억 장치를 갖는 정보 기억 장치가 제공된다. 상기 장치는, 호스트로부터의 기입 명령에 기초하여 불휘발성 기억 장치 내에서 소거를 효과적으로 행하는 소거 수단, 소거 수단에 의해 소거된 불휘발성 기억 장치의 소거 영역의 어드레스와 소거 영역 중 데이터가 기입된 기입 블록까지의 위치를 나타내는 정보를 저장하는 클린 블록 포인터, 기입 명령에 관련된 데이터가 소거 수단에 의해 소거된 불휘발성 기억 장치의 소거 영역에 기입될 수 있는지 여부를 클린 블록 포인터에 기초하여 판정하는 판정 수단, 및 판정 수단에 의해 데이터가 기입될 수 있는 것으로 판정된 경우에, 소거 영역에 기입 명령에 관련된 데이터를 기입하는 기입 수단을 포함한다.
이하, 도면을 참조하여, 본 발명의 실시예에 따른 정보 기억 장치에 대하여 설명한다.
도 1은, 본 발명의 실시예에 따른 정보 기억 장치를 나타내는 도면이다.
도 1에 도시한 바와 같이, 본 발명의 실시예에 따른 정보 기억 장치(1)는, 호스트 모듈 인터페이스(1-1), 불휘발성 기억 매체(1-2), MPU(1-3), 일시 기억 매체(1-4), 불휘발성 기억 장치용 인터페이스(1-5) 및 불휘발성 기억 장치(1-6)를 포함한다.
호스트 모듈 인터페이스(1-1)은 호스트 컨트롤러(2)와의 정보의 송수신을 수행한다.
불휘발성 기억 매체(1-2)는 MPU(1-3)를 제어하는 펌웨어를 저장한다.
MPU(1-3)는 본 발명의 실시예에 따른 정보 기억 장치의 기입 동작을 제어한다. 또한, MPU(1-3)는 정보 기억 장치 전체를 제어하고, 불휘발성 기억 매체(1-2)에 저장된 프로그램에 기초하여, 호스트 컨트롤러(2)로부터의 요구를 해석하여, 불휘발성 기억 장치(1-6)에 대하여 명령의 발행이나 데이터 전송 등의 액세스를 행한다.
일시 기억 매체(1-4)는 MPU(1-3)의 작업 영역이다. 일시 기억 매체(1-4)는 불휘발성 기억 장치(1-6)에/로부터 기입/판독시에 데이터를 일시적으로 저장할 때 사용될 뿐만 아니라, 불휘발성 기억 장치(1-6)로의 액세스나 호스트 컨트롤러(2)와의 액세스에 필요한 변수를 저장한다. 또한, 일시 기억 매체(1-4)는, 본 발명의 실시예에 있어서의 정보 기억 장치에서 사용되는 클린 블록 포인터(1-4a)가 저장된다. 이 클린 블록 포인터(1-4a)의 구체적인 구성에 대해서는, 후술한다.
불휘발성 기억 장치용 인터페이스(1-5)는 불휘발성 기억 장치(1-6)와 MPU(1-3) 및 호스트 컨트롤러(2)와의 정보의 송수신을 행한다.
호스트 컨트롤러(2)는 기억 장치(1)에 대하여 판독, 기입, 소거 등의 액세스 동작을 행하는 장치로서, 예를 들면, 퍼스널 컴퓨터이다.
다음에, 본 발명의 실시예에 따른 정보 기억 장치의 동작에 대하여 설명한다.
호스트 컨트롤러(2)로부터 판독 명령이 발행된 경우, MPU(1-3)는 판독 어드레스를 해석하고, 일시 기억 매체(1-4)를 작업 영역으로 하여, 불휘발성 기억 장치용 인터페이스(1-5)를 개재하여, 불휘발성 기억 장치(1-6)에 판독 명령을 발행한다. 이 장치에서 판독된 데이터는, 일시 기억 매체(1-4)에 저장된 후, MPU(1-3)의 제어에 의해, 호스트 컨트롤러(2)에 보내진다.
호스트 컨트롤러(2)로부터 기입 명령이 발행된 경우, MPU(1-3)은 기입 어드레스를 해석한 후, 기입 데이터를 일시 기억 매체(1-4)에 저장한다. 그 다음, 불휘발성 기억 장치용 인터페이스(1-5)를 개재하여, 불휘발성 기억 장치(1-6)에 기입 명령을 발행하여, 기입 동작을 행한다.
일시 기억 매체(1-4)는, "클린 블록 포인터"라고 불리는 변수가 저장되어 있고, 호스트 컨트롤러로부터 발행된 기입 데이터를 효과적으로 처리를 하기 위해서 필요한 기능을 갖고 있다.
도 2에 클린 블록 포인터의 구성을 나타낸다.
클린 블록 포인터(1-4a)는 데이터 소거 블록 어드레스 및 기입 가능 포인터로 구성되어 있고, 클린 블록 포인터(1-4a)는 소거 블록 어드레스에 관련된 기입 가능 포인터에 의해 나타내진 블록에서 시작하는 영역에 데이터가 기입될 수 있다는 것을 나타내고 있다.
도 2의 예에서는, 클린 블록 포인터에 "0X1000" 소거 블록 어드레스의 정보가 기재되고, 기입 가능 포인터로서 "0X003" 정보가 기재된다. 처음 세 개의 기입 블록에는 데이터가 이미 기입되어 있는 등의 이유로 데이터 기입이 금지되어 있는 영역임을 나타내고 있다.
여기서, 데이터 소거 블록이 데이터 판독/기입 블록보다 큰 불휘발성 기억 장치에 데이터를 추가 기입하는 경우에 대해 설명한다.
본 실시예에 있어서는, 데이터 소거 블록을 16KB, 데이터 판독/기입 블록을 8KB로 하여, 호스트 컨트롤러로부터 8KB의 기입을 행하는 명령이 2회 발행된 경우에 대해 설명한다.
도 3은, 불휘발성 기억 장치에 기입되는 데이터와 클린 블록 포인터와의 관계를 나타내는 도면, 도 4는, 소거시의 처리를 설명하기 위한 순서도, 도 5는, 데이터 기입시의 동작을 설명하기 위한 순서도이다.
호스트 컨트롤러로부터 신규의 8KB의 기입 명령이 발행되면, MPU는, 종래 방식대로, 기입용 영역을 확보하기 위해 불휘발성 기억 장치를 소거하고, 기입 가능한 영역을 형성한다(도 4 : S1). 이 때, 일시 기억 매체에 저장된 클린 블록 포인 터를 갱신한다(도 4 : S2, S3).
X 소거 블록 어드레스를 소거했다면, 클린 블록 포인터의 소거 블록 어드레스(CBP-Addr)에 X를 저장하고, 기입 가능 포인터(CBP-Wp)에 0을 저장한다. 이에 의해, 소거 처리를 종료한다.
다음에, 도 5를 참조하여, 기입 처리에 대하여 설명한다.
우선, 기입 명령에 관련된 기입 어드레스가 소거 블록 어드레스와 일치하는지 여부를 판정한다(S11). S11에 있어서, 일치하지 않는다고 판정된 경우에는, 기입을 위한 새로운 영역을 확보하고(S12), 기입을 위한 새로운 영역에 대하여 소거 처리를 실행한다(S13).
다음에, 클린 블록 포인터의 소거 블록 어드레스에, 기입을 위한 새로운 영역의 어드레스를 저장하고(S14), 기입 가능 포인터로서 "0"을 저장한다(S15). 그 다음에, 데이터의 기입을 행하고(S16), 기입 가능 포인터를 갱신한다(S19).
한편, S11에 있어서, 기입 명령에 관련된 기입 어드레스가 소거 블록 어드레스와 일치한다고 판정된 경우에는, 기입 어드레스와 기입 가능 포인터를 비교한다(S17).
본 실시예에 있어서는, 하나의 소거 블록이 16KB, 하나의 기입 블록이 8KB 인 경우로 상정하고 있기 때문에, 기입 가능 포인터가 소거 블록 어드레스로부터 두 번째 블록을 나타내고 있는 경우에는, 추가 기입을 행할 수 없는 것으로 판정된다.
Sl7에 있어서의 비교의 결과, 추가 기입이 불가능한 것으로 판정된 경우에 는, S12의 처리로 이동한다. 한편, 추가 기입이 가능한 것으로 판정된 경우에는, 데이터가 추가적으로 기입되고(S18), 기입 가능 포인터를 갱신한다(S19).
즉, 본 발명의 실시예의 정보 기억 장치에 따르면, 클린 블록 포인터를 참조하여, 이 영역이 기입 가능한 영역인지 여부를 판단할 수 있기 때문에, 기입 가능하면, 그 영역에 8KB의 데이터를 기입한다.
동시에, 어떤 기입 블록까지 데이터가 기입되어 있는지를 클린 블록 포인터에 기입함으로써, 선두의 8KB 이외의 블록은 기입 가능한 것으로서 도시한다. 여기서는, 8KB = 1 기입 블록이기 때문에, 클린 블록 포인터에 "1"을 저장한다.
다른 기입 명령으로서, 후속하는 어드레스에 대하여 8KB 데이터 기입(추가 기입)이 발행된 경우, 기입 어드레스와 클린 블록 포인터를 비교하여, 추가 기입이 가능한 것으로 확인되면, 데이터 이동 작업을 행하지 않고 그 영역에 추가 기입을 행한다. 이러한 절차를 밟는 것에 의해, 사용 영역은 하나의 소거 블록, 한 번의 소거 동작, 및 두 번의 기입 동작이 필요하다.
도 3에 도시한 예에 있어서, 종래의 방식에 비해, 사용 영역이 하나의 소거 블록, 한 번의 소거 동작, 한 번의 기입 동작, 및 한 번의 무효화 처리가 삭감될 수 있다.
이상과 같이, 본 발명의 실시예에 있어서는, 기입 명령이 복수회 발행되고, 이것이 동일한 소거 블록의 영역에 추가 기입이 되는 경우에 불휘발성 기억 장치에의 액세스를 삭감하는 효과가 있어, 고속화를 도모할 수 있다.
<다른 실시예>
다음에, 본 발명의 다른 실시예에 따른 정보 기억 장치에 대하여 설명한다.
상술의 실시예에 있어서는, 클린 블록 포인터가 1개인 경우에 대하여 설명하였지만, 본 발명의 실시예에 있어서는, 일시 기억 매체에 복수의 클린 블록 포인터를 구비한 경우에 대해 설명한다.
우선, 전제로서, 호스트 컨트롤러로부터의 기입 명령이, 도 6의 (a)에 도시한 바와 같이 두 개의 영역에 대하여 교대로 발행된다.
도 6의 (b)는, 클린 블록 포인터가 1개인 경우의 정보 기억 장치의 동작을 설명하기 위한 도면이고, 도 6의 (c)는, 클린 블록 포인터가 2개인 경우의 정보 기억 장치의 동작을 설명하기 위한 도면이다.
도 6의 (c)에 있어서, 클린 블록 포인터(CBP-1, CBP-2)는, 일시 기억 매체 상에 저장되어 있는 클린 블록 포인터의 값을 나타내고, 상단은 클린 블록 포인터의 어드레스(CBP-Addr), 하단은 기입 가능 포인터(CBP-Wp)를 나타내고 있다.
도 6의 (b)에 도시한 바와 같이, 클린 블록 포인터가 1개 밖에 실장되어 있지 않은 경우에, 어드레스 X와 어드레스 Y에 대하여 기입이 발행되면, 어드레스 Y에 기입이 행해짐과 동시에, 어드레스 X에 대한 클린 블록 포인터가 갱신되고, 이 어드레스 X에 대한 클린 블록 포인터 정보를 잃어 버린다.
이 때문에, 어드레스 X에 추가 기입이 발행되더라도, 그 추가 기입을 위한 영역이 기입 가능한지 여부를 판정 할 수 없기 때문에, 종래 방식과 같이 이동 작업을 행할 필요가 있다. 이것은 클린 블록 포인터를 실장하지 않은 경우와 동일한 절차이고 이점이 없다.
본 발명의 다른 실시예에 따른 정보 기억 장치는, 클린 블록 포인터를 2개 실장하고, 이 포인터(CBP-1, CBP-2)를 교대로 사용하는 것이다. 도 6의 (c)는, 클린 블록 포인터를 2개 실장한 경우의 정보 기억 장치의 동작을 설명하기 위한 도면이다.
어드레스 X에 기입이 발행되면, 기입 포인트 정보는 CBP-1에 저장되고, 어드레스 Y에 기입이 발행되면, 기입 포인터는 CBP-2에 저장된다. 본 발명의 다른 실시예에 있어서는, 클린 블록 포인터가 2개 있기 때문에, 어드레스 X, Y의 양방의 정보를 기억한다.
여기서, 어드레스 X에 추가 기입이 발행된 경우, CBP-1의 기입 포인트 정보를 참조하고, 어드레스 Y에 추가 기입이 발행된 경우, CBP-2의 기입 포인트 정보를 참조함으로써, 불휘발성 기억 장치에 대한 추가 기입이 가능해진다.
즉, 클린 블록 포인터의 실장수를 증가시키면, 많은 영역의 기입 포인트 정보를 기억할 수 있기 때문에, 보다 랜덤하게 가까운 기입 어드레스 발행에 대하여 추가 기입을 효율적으로 행할 수 있다.
도 6에 도시한 예에 대해 말하면, 클린 블록 포인터가 1개인 경우에는, 도 6의 (a)에 도시한 기입 커맨드인 경우, 사용 영역은 4개이고, 기입 동작은 6회가 필요한데 비해, 클린 블록 포인터가 2개인 경우에는, 사용 영역은 2개, 기입 동작은 4회가 요구된다.
또, 상기 실시예에 있어서는, 클린 블록 포인터를 일시 기억 매체에 설치한 예에 대해 설명하였지만, 클린 블록 포인터를 불휘발성 기억 장치 내에 설치해도 좋다.
이하, 클린 블록 포인터를 불휘발성 기억 장치 내에 설치한 경우의 동작에 대하여, 도 7의 순서도를 참조하여 설명한다.
여기서는, 클린 블록 포인터를, 기입 데이터와 함께 불휘발성 기억 장치 내에 실장한 경우를 생각한다. 이러한 기입시의 순서를 도 7에 도시한다.
기입 개시 시에, 우선, 불휘발성 기억 장치 내의 클린 블록 포인터를 우선 판독한다는 것과, 데이터를 불휘발성 기억 장치에 기입할 때에 동시에 클린 블록 포인터 정보도 기입한다는 점이, 클린 블록 포인터가 일시 기억 매체 상에 실장된 경우와 다르다.
우선 처음에, 데이터 기입 개시 시에, 호스트로부터의 기입 블록 어드레스에 대응하는 불휘발성 기억 장치 어드레스에서 클린 블록 포인터를 판독한다(S21). 그 어드레스에 아무것도 기입되어 있지 않은 경우에는, 전 영역 "O" 또는 전 영역 "1" 등과 같은 소거 후 값이 저장되어 있고, 기입된 후에는 클린 블록 포인터의 값이 저장되어 있는 것으로 해석될 수 있다. 이에 의해, 클린 블록 포인터의 값에 기초하여, 이 어드레스에 데이터가 기입되어 있는지 여부를 확인할 수 있다.
이와 같이, 클린 블록 포인터의 값이 유효한지 여부가 판정되어(S22), 유효가 아니면, 즉, 소거 후의 값이 아닌 것으로 판정된 경우에는, 기입을 위한 새로운 영역을 확보하고(S23), 기입을 위한 새로운 영역에 대하여 소거 처리를 실행한다(S24).
다음에, 클린 블록 포인터의 소거 블록 어드레스에, 기입을 위한 새로운 영 역의 어드레스를 저장하고(S25), 기입 가능 포인터로서 "0"을 저장한다(S26).
그 후, 데이터(신규 기입) 및 클린 블록 포인터의 기입을 행함과 함께(S27), 기입 가능 포인터를 갱신한다.
한편, S22에 있어서, 클린 블록 포인터의 값이 유효한 것으로 판정된 경우에는, 일시 기억 매체상에 클린 블록 포인터를 저장한 경우와 같이, 기입 어드레스를 해석하여, 추가 기입이 가능한지 여부를 판정한다(S28).
즉, 기입 어드레스와, 클린 블록 포인터의 소거 블록 어드레스를 비교하여, 이 어드레스들이 서로 일치하지 않으면, 추가 기입이 불가능한 것으로 판정하여, S23의 처리로 이동한다.
한편, S28에 있어서, 어드레스들이 일치하는 경우에는, 추가 기입 가능한 것으로 판정하여, 데이터(추가 기입) 및 클린 블록 포인터의 기입을 행하고(S29), 기입 가능 포인터를 갱신한다. 이 클린 블록 포인터는, 이 어드레스로 다음 기입 동작이 행해졌을 때 판독되고, 참조된다.
이와 같이, 클린 블록 포인터를 불휘발성 기억 장치에 저장함으로써, 모든 소거 블록 어드레스에 대하여 동일한 수의 클린 블록 포인터를 가질 수 있다. 이에 의해, 추가 기입이 어떤 소거 블록 어드레스에 대해 행해지더라도, 기존 데이터의 이동 작업을 행할 필요가 없고, 처리가 고속화될 수 있다.
또, 본원 발명은, 상기 각 실시예에 한정되는 것이 아니고, 실시 단계에서는 그 요지를 일탈하지 않는 범위 내에서 여러 가지로 변형하는 것이 가능하다. 또 한, 각 실시예는 가능한한 적절하게 조합되어 실시되어도 좋고, 그 경우 조합된 효과가 얻어진다. 또한, 상기 각 실시예에는 여러 가지 단계의 발명이 포함되고, 개시되는 복수의 구성 요건에 있어서의 적당한 조합에 의해 여러 가지의 발명이 추출될 수 있다. 예를 들면 실시예에 도시되는 전 구성 요건으로부터 몇 개의 구성 요건이 생략되어 발명이 추출된 경우, 그러한 추출된 발명을 실시하는 경우에는 생략 부분이 주지 관용 기술로 적절하게 보충되는 것이다.
상술한 바와 같이 본 발명에 따르면, 플래시 메모리로 대표되는 특성을 갖는 불휘발성기억 디바이스를 효과적으로 액세스 할 수 있는 정보 기억 장치를 제공 할 수 있다.

Claims (11)

  1. 데이터 소거 블록이 데이터 기입 블록보다 큰 불휘발성 기억 장치를 구비하는 정보 기억 장치에 있어서,
    호스트로부터의 기입 명령에 기초하여 상기 불휘발성 기억 장치에서 소거를 실행하는 소거 수단과,
    상기 소거 수단에 의해 소거된 상기 불휘발성 기억 장치의 소거 영역의 어드레스와, 상기 소거 영역 중, 데이터가 기입된 기입 블록까지의 위치를 나타내는 정보를 저장하는 클린 블록 포인터와,
    상기 소거 영역 내에 이미 기입된 다른 데이터 외에, 상기 기입 명령에 관련된 데이터가 상기 불휘발성 기억 장치의 소거 영역에 기입될 수 있는지 여부를 상기 클린 블록 포인터에 기초하여 판정하는 판정 수단과,
    상기 판정 수단에 의해, 상기 데이터가 기입될 수 있는 것으로 판정된 경우에, 상기 소거 영역에 상기 기입 명령에 관련된 데이터를 기입하는 기입 수단
    을 포함하는 정보 기억 장치.
  2. 제1항에 있어서, 상기 클린 블록 포인터는, 상기 불휘발성 기억 장치와는 별도로 설치된 일시 기억 매체 상에 저장되는 정보 기억 장치.
  3. 제1항에 있어서, 상기 클린 블록 포인터는, 상기 기입 명령에 관련된 데이터 와 함께, 상기 불휘발성 기억 장치에 저장되는 정보 기억 장치.
  4. 제1항에 있어서, 상기 판정 수단은,
    상기 기입 명령에 관련된 기입 어드레스가 상기 소거 영역의 어드레스와 일치하는지 여부를 판정하는 제1 판정 수단과,
    상기 제l 판정 수단에 의해 상기 기입 명령에 관련된 상기 기입 어드레스가 상기 소거 영역의 상기 어드레스와 일치하는 것으로 판정된 경우에, 상기 소거 영역 내에 이미 기입된 다른 데이터 외에, 상기 기입 명령에 관련된 데이터를 상기 소거 영역에 기입 가능한지 여부를 상기 클린 블록 포인터에 기초하여 판정하는 제2 판정 수단
    을 포함하는 정보 기억 장치.
  5. 데이터 소거 블록이 데이터 기입 블록보다 큰 불휘발성 기억 장치를 구비하는 정보 기억 장치에서,
    호스트로부터의 기입 명령에 기초하여 상기 불휘발성 기억 장치를 소거하는 소거 수단과,
    상기 소거 수단에 의해 소거된 상기 불휘발성 기억 장치의 제1 소거 영역의 어드레스와, 상기 제1 소거 영역 중, 데이터가 기입된 기입 블록까지의 위치를 나타내는 정보를 저장하는 제1 클린 블록 포인터와,
    상기 소거 수단에 의해 소거된 상기 불휘발성 기억 장치의 제2 소거 영역의 어드레스와, 상기 제2 소거 영역 중, 데이터가 기입된 기입 블록까지의 위치를 나타내는 정보를 저장하는 제2 클린 블록 포인터와,
    상기 기입 명령에 관련된 데이터를 상기 제1 소거 영역에 기입하는 경우에, 상기 제1 소거 영역 내에 이미 기입된 다른 데이터 외에, 상기 기입 명령에 관련된 데이터를 상기 제1 소거 영역에 기입할 수 있는지 여부를 상기 제1 클린 블록 포인터에 기초하여 판정하고, 상기 기입 명령에 관련된 데이터를 상기 제2 소거 영역에 기입하는 경우에, 상기 제2 소거 영역 내에 이미 기입된 다른 데이터 외에, 상기 기입 명령에 관련된 데이터를 상기 제2 소거 영역에 기입할 수 있는지 여부를 상기 제2 클린 블록 포인터에 기초하여 판정하는 판정 수단과,
    상기 판정 수단에 의해, 상기 제1 소거 영역에 상기 데이터를 기입할 수 있는 것으로 판정된 경우에, 상기 제1 소거 영역에 상기 데이터를 기입하고, 상기 제2 소거 영역에 상기 데이터를 기입할 수 있는 것으로 판정된 경우에, 상기 제2 소거 영역에 상기 데이터를 기입하는 기입 수단
    을 포함하는 정보 기억 장치.
  6. 제5항에 있어서, 상기 제1 및 제2 클린 블록 포인터는, 상기 불휘발성 기억 장치와는 별도로 설치된 일시 기억 매체 상에 저장되는 정보 기억 장치.
  7. 제5항에 있어서, 상기 제1 및 제2 클린 블록 포인터는, 상기 기입 명령에 관련된 데이터와 함께, 상기 불휘발성 기억 장치에 저장되는 정보 기억 장치.
  8. 데이터 소거 블록이 데이터 기입 블록보다 큰 불휘발성 기억 장치와, 상기 불휘발성 기억 장치의 소거 영역의 어드레스와, 상기 소거 영역 중, 데이터가 기입된 기입 블록까지의 위치를 나타내는 정보를 저장하는 클린 블록 포인터를 포함하는 정보 기억 장치에서의 데이터 기입 방법에 있어서,
    호스트로부터의 기입 명령에 기초하여 상기 불휘발성 기억 장치를 소거하는 단계와,
    상기 소거 영역 내에 이미 기입된 다른 데이터 외에, 상기 기입 명령에 관련된 데이터를 상기 불휘발성 기억 장치의 소거 영역에 기입할 수 있는지 여부를 상기 클린 블록 포인터에 기초하여 판정하는 단계와,
    상기 데이터를 기입할 수 있는 것으로 판정된 경우에, 상기 기입 명령에 관련된 데이터를 상기 소거 영역에 기입하는 단계
    를 포함하는 데이터 기입 방법.
  9. 제8항에 있어서, 상기 판정 단계는,
    상기 기입 명령에 관련된 기입 어드레스가 상기 소거 영역의 어드레스와 일치하는지 여부를 판정하는 단계와,
    상기 기입 명령에 관련된 기입 어드레스가 상기 소거 영역의 어드레스와 일치하는 것으로 판정된 경우에, 상기 소거 영역 내에 이미 기입된 다른 데이터 외에, 상기 기입 명령에 관련된 데이터를 상기 소거 영역에 기입 가능한지 여부를 상기 클린 블록 포인터에 기초하여 판정하는 단계를 포함하는 데이터 기입 방법.
  10. 제1항에 있어서,
    상기 판정 수단이 상기 데이터가 기입가능하지 않다고 판정한 경우에 다른 소거 영역을 확보(reserve)하는 수단과,
    상기 확보된 다른 소거 영역 내에 상기 기입 명령과 관련된 상기 데이터를 기입하는 수단
    을 더 포함하는 정보 기억 장치.
  11. 제8항에 있어서,
    상기 데이터가 기입가능하지 않다고 판정되는 경우에 다른 소거 영역을 확보하는 단계와,
    상기 확보된 다른 소거 영역 내에 상기 기입 명령과 관련된 상기 데이터를 기입하는 단계
    를 더 포함하는 데이터 기입 방법.
KR1020030017002A 2002-03-20 2003-03-19 정보 기억 장치 KR100542175B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2002-00079299 2002-03-20
JP2002079299A JP2003280979A (ja) 2002-03-20 2002-03-20 情報記憶装置

Publications (2)

Publication Number Publication Date
KR20030076359A KR20030076359A (ko) 2003-09-26
KR100542175B1 true KR100542175B1 (ko) 2006-01-11

Family

ID=27785311

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030017002A KR100542175B1 (ko) 2002-03-20 2003-03-19 정보 기억 장치

Country Status (7)

Country Link
US (2) US7073015B2 (ko)
EP (1) EP1347458B1 (ko)
JP (1) JP2003280979A (ko)
KR (1) KR100542175B1 (ko)
CN (2) CN100485812C (ko)
DE (1) DE60300360T2 (ko)
TW (1) TW589531B (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3928724B2 (ja) * 2003-02-20 2007-06-13 ソニー株式会社 記録媒体の記録制御方法および記録媒体の記録制御装置
US20080133977A1 (en) * 2006-05-12 2008-06-05 Electronics And Telecommunications Research Institute Non-stop debugging apparatus for correcting errors in embedded systems and method thereof
US20090164715A1 (en) * 2007-12-20 2009-06-25 International Business Machines Corporation Protecting Against Stale Page Overlays
US8006707B2 (en) * 2008-01-29 2011-08-30 Hct Asia Ltd. Rotating dial sifter
US9582431B2 (en) 2010-03-22 2017-02-28 Seagate Technology Llc Storage address space to NVM address, span, and length mapping/converting
US9070453B2 (en) 2010-04-15 2015-06-30 Ramot At Tel Aviv University Ltd. Multiple programming of flash memory without erase
JP5815212B2 (ja) * 2010-04-19 2015-11-17 スパンション エルエルシー データ書き込み方法およびシステム
KR20140057869A (ko) * 2012-11-05 2014-05-14 콘티넨탈 오토모티브 시스템 주식회사 차량용 임베디드 시스템의 데이터 제어 방법
CN103902468B (zh) * 2012-12-27 2018-02-23 华为技术有限公司 存储系统的数据清除方法和装置
CN107209644B (zh) * 2015-12-28 2020-04-28 华为技术有限公司 一种数据处理方法以及NVMe存储器
US11068165B2 (en) 2019-06-27 2021-07-20 Western Digital Technologies, Inc. Non-volatile memory data write management
CN113127377B (zh) * 2021-04-08 2022-11-25 武汉导航与位置服务工业技术研究院有限责任公司 一种非易失存储器件写擦除的磨损均衡方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5034922A (en) * 1987-12-21 1991-07-23 Motorola, Inc. Intelligent electrically erasable, programmable read-only memory with improved read latency
US5838614A (en) * 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
US5907856A (en) * 1995-07-31 1999-05-25 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
GB2291991A (en) * 1995-09-27 1996-02-07 Memory Corp Plc Disk drive emulation with a block-erasable memory
US5815434A (en) * 1995-09-29 1998-09-29 Intel Corporation Multiple writes per a single erase for a nonvolatile memory
US5745418A (en) * 1996-11-25 1998-04-28 Macronix International Co., Ltd. Flash memory mass storage system
US5954818A (en) * 1997-02-03 1999-09-21 Intel Corporation Method of programming, erasing, and reading block lock-bits and a master lock-bit in a flash memory device
JP4073525B2 (ja) * 1997-09-05 2008-04-09 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
JP3511916B2 (ja) 1998-11-17 2004-03-29 松下電器産業株式会社 記録再生装置
US6427186B1 (en) * 1999-03-30 2002-07-30 Frank (Fong-Long) Lin Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers
US6965963B1 (en) * 1999-07-28 2005-11-15 Sony Corporation Continuous arrangement of data clusters across multiple storages
JP2002052416A (ja) 2000-08-07 2002-02-19 Daihatsu Motor Co Ltd ブランク材切出し方法及び装置
JP3573706B2 (ja) 2000-11-15 2004-10-06 富士通株式会社 記憶装置の書き込み/消去方法

Also Published As

Publication number Publication date
DE60300360T2 (de) 2006-04-06
CN1242418C (zh) 2006-02-15
TW589531B (en) 2004-06-01
TW200305804A (en) 2003-11-01
US7404030B2 (en) 2008-07-22
KR20030076359A (ko) 2003-09-26
CN1445789A (zh) 2003-10-01
EP1347458A1 (en) 2003-09-24
CN1832041A (zh) 2006-09-13
US20060212647A1 (en) 2006-09-21
US20030182497A1 (en) 2003-09-25
DE60300360D1 (de) 2005-04-14
CN100485812C (zh) 2009-05-06
JP2003280979A (ja) 2003-10-03
EP1347458B1 (en) 2005-03-09
US7073015B2 (en) 2006-07-04

Similar Documents

Publication Publication Date Title
US7404030B2 (en) Method of controlling a non-volatile memory device in which a data erase block is larger than a data write block
KR100531192B1 (ko) 비휘발성 메모리의 제어방법
US8051270B2 (en) Memory controller, nonvolatile storage device, nonvolatile storage system, and memory control method
US7373452B2 (en) Controller for controlling nonvolatile memory
KR101017941B1 (ko) 메모리 카드
US8949515B2 (en) Storage device and memory controller
KR20060050585A (ko) 반도체 기억장치 및 그 액세스 방법 및 메모리 제어 시스템
KR19990029196A (ko) 반도체 기억 장치 및 그 데이터 관리 방법
JP4921174B2 (ja) フラッシュメモリのデータ書込み方法
CN102033811B (zh) 用于管理闪存多个区块的方法和相关记忆装置及其控制器
JPH04220738A (ja) 高速書き込み方法
KR20010086400A (ko) 메모리 관리 테이블 작성 방법 및 메모리 장치
JP4594944B2 (ja) メモリ制御装置
KR100654343B1 (ko) 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법
JPH06162786A (ja) フラッシュメモリを用いた情報処理装置
US8751770B2 (en) Semiconductor recording apparatus and semiconductor recording system
JP2004348342A (ja) Icカードとicカードの処理方法
JPH11259357A (ja) 半導体集積装置及び不揮発性メモリ書き込み方式
JP2008117003A (ja) 不揮発性半導体記憶装置およびその制御方法
KR20000060710A (ko) 플래시 메모리의 라이트장치 및 방법
JP2765620B2 (ja) 回線接続情報の管理方式及び装置
JP2006127140A (ja) ファームウェアの書換方法、ディスクドライブ装置、及び情報処理システム
KR20000031923A (ko) 다수의 플래시 메모리에 대한 데이터 라이트 방법
JP2006099419A (ja) 不揮発性メモリの制御方法
JP2005100469A (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: 20121227

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131219

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee