KR101054153B1 - 기억 장치 - Google Patents

기억 장치 Download PDF

Info

Publication number
KR101054153B1
KR101054153B1 KR1020040025379A KR20040025379A KR101054153B1 KR 101054153 B1 KR101054153 B1 KR 101054153B1 KR 1020040025379 A KR1020040025379 A KR 1020040025379A KR 20040025379 A KR20040025379 A KR 20040025379A KR 101054153 B1 KR101054153 B1 KR 101054153B1
Authority
KR
South Korea
Prior art keywords
read
data
memory
read data
management table
Prior art date
Application number
KR1020040025379A
Other languages
English (en)
Other versions
KR20040089581A (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 KR20040089581A publication Critical patent/KR20040089581A/ko
Application granted granted Critical
Publication of KR101054153B1 publication Critical patent/KR101054153B1/ko

Links

Images

Classifications

    • EFIXED CONSTRUCTIONS
    • E01CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
    • E01CCONSTRUCTION OF, OR SURFACES FOR, ROADS, SPORTS GROUNDS, OR THE LIKE; MACHINES OR AUXILIARY TOOLS FOR CONSTRUCTION OR REPAIR
    • E01C15/00Pavings specially adapted for footpaths, sidewalks or cycle tracks
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • EFIXED CONSTRUCTIONS
    • E01CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
    • E01CCONSTRUCTION OF, OR SURFACES FOR, ROADS, SPORTS GROUNDS, OR THE LIKE; MACHINES OR AUXILIARY TOOLS FOR CONSTRUCTION OR REPAIR
    • E01C2201/00Paving elements
    • E01C2201/14Puzzle-like connections
    • EFIXED CONSTRUCTIONS
    • E01CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
    • E01CCONSTRUCTION OF, OR SURFACES FOR, ROADS, SPORTS GROUNDS, OR THE LIKE; MACHINES OR AUXILIARY TOOLS FOR CONSTRUCTION OR REPAIR
    • E01C5/00Pavings made of prefabricated single units
    • E01C5/22Pavings made of prefabricated single units made of units composed of a mixture of materials covered by two or more of groups E01C5/008, E01C5/02 - E01C5/20 except embedded reinforcing materials
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • G06F2212/2146Solid state disk being detachable, e.g.. USB 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/60Details of cache memory
    • G06F2212/6022Using a prefetch buffer or dedicated prefetch cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Civil Engineering (AREA)
  • Architecture (AREA)
  • Structural Engineering (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Static Random-Access Memory (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 선판독해야 할 데이터를 유연하게 결정할 수 있는 기억 장치를 제공하는 것을 목적으로 한다. 이를 위해, 불휘발성 메모리(2), 상기 불휘발성 메모리보다도 액세스 속도가 빠른 버퍼 메모리(4) 및 제어 회로(5)를 가지며, 제어 회로는 외부로부터 입력되는 선판독 커맨드가 지정하는 선판독 데이터의 논리 어드레스와 그 선판독 데이터를 저장하는 버퍼 메모리 어드레스를 대응시킨 선판독 데이터 관리 테이블을 생성하고, 해당 커맨드가 지정하는 데이터를 불휘발성 메모리로부터 판독하여 버퍼 메모리에 선판독 데이터로서 저장하고, 외부로부터 입력되는 판독 커맨드로 지정되는 논리 어드레스가 선판독 데이터 관리 테이블로 대응된 논리 어드레스와 일치할 때, 버퍼 메모리로부터 대응하는 선판독 데이터를 출력한다.
Figure R1020040025379
메모리 카드, 플래시 메모리, 카드 컨트롤러, 호스트 컴퓨터, 마이크로 프로세서

Description

기억 장치{MEMORY DEVICE}
도 1은 본 발명에 따른 기억 장치의 일례인 플래시 메모리 카드의 블록도.
도 2는 버퍼 메모리의 어드레스 맵의 상세를 나타내는 설명도.
도 3은 플래시 메모리의 기억 영역의 구성과 선판독 데이터 관리 테이블의 상세를 예시하는 설명도.
도 4는 선판독 커맨드의 주된 사양을 도시하는 설명도.
도 5는 선판독 커맨드 응답 처리의 제어 수순을 예시하는 흐름도.
도 6은 호스트 지정 어드레스 취득 처리(S2)의 구체예를 나타내는 흐름도.
도 7은 버퍼 메모리에 선판독 데이터를 저장하는 미사용 영역이 없을 때의 처리 형태(선판독 데이터 갱신 형태)를 예시하는 설명도.
도 8은 판독 커맨드 응답 처리의 제어 수순을 예시하는 흐름도.
도 9는 기입 커맨드 응답 처리의 제어 수순을 예시하는 흐름도.
〈도면의 주요 부분에 대한 부호의 설명〉
1 : 메모리 카드
2 : 플래시 메모리
4 : 버퍼 메모리
5 : 카드 컨트롤러
6 : 호스트 컴퓨터
10 : 기입 데이터 보존 영역
11 : 판독 데이터 보존 영역
12 : 워크 영역
13 : 선판독 데이터 보존 영역
14 : 데이터부
15 : 내부 정보 저장부
16 : 선판독 데이터 관리 테이블 저장부
20 : 호스트 인터페이스 회로
21 : 마이크로 프로세서
22 : 플래시 컨트롤러
33 : 버퍼 컨트롤러
25 : CPU
26 : 워크 RAM
27 : 프로그램 메모리
Ti : 선판독 데이터 관리 테이블
30 : 선두 논리 어드레스 영역
31 : 선두 메모리 어드레스 영역
32 : 섹터수 영역
33 : 유효 플래그 영역
34 : 액세스 횟수 영역
35 : 파일명 영역
본 발명은 하드디스크 장치 또는 플래시 메모리 카드 등의 기억 장치에 관한 것으로, 특히 기억 매체인 불휘발성 메모리의 기억 정보를 버퍼 메모리에 선판독(preread)하는 기술에 적용하기에 유효한 발명에 관한 것이다.
컨트롤러, 버퍼 메모리, 및 기억 매체 등으로 구성되는 기억 장치에서는, 호스트 장치로부터 리드 요구가 수신되면, 그 후 이용이 예상되는 데이터를 호스트 장치로부터 리드 요구가 수신되기 전에 컨트롤러가 기억 매체로부터 판독하여 버퍼 메모리 상에 저장하는 선판독 기술이 있다. 예를 들면, 특허 문헌 1(일본 특개2001-125829호 공보(단락 24∼단락 27))에 기재된 하드디스크 드라이브(HDD) 장치는 디스크 캐쉬를 가지며, 예측되는 데이터를 미리 디스크 캐쉬에 캐쉬해두어, 시간이 걸리는 자기 디스크로의 액세스를 최소한으로 억제하도록 구성된다. 하드디스크 컨트롤러는 자기 디스크에 저장되어 있는 데이터의 일부를 선판독하여 디스크 캐쉬에 보유하기 위한 제어를 행한다.
자기 디스크나 플래시 메모리 등의 기억 매체에 대한 데이터 판독 성능은 호스트 인터페이스의 고속화를 따르지 못하기 때문에, 호스트 장치로부터의 판독 요 구 시에 기억 매체로부터의 판독 처리를 줄이는 것이 필요하게 된다. 이 때문에, 상기한 바와 같은 기억 매체로부터 데이터를 선판독하여 미리 버퍼 메모리에 저장하는 것이 유효하다고 생각된다. 그러나, 선판독해야 할 데이터는 기억 장치의 컨트롤러가 결정하고 있어서, 사용자가 선판독 기능을 사용할 수 없다. 간단히 말하자면, 소정의 알고리즘에 따라 컨트롤러가 선판독 데이터를 결정하게 되면, 사용 빈도가 높다고 예상되는 데이터를 미리 버퍼 메모리에 선판독하는 것이 용이하지 않아, 선판독에 의한 액세스 시간의 단축 효과를 최대한으로 발휘시키는 것이 어렵다.
본 발명의 목적은 선판독해야 할 데이터를 유연하게 결정할 수 있는 기억 장치를 제공하는 것에 있다.
본 발명의 다른 목적은 선판독에 의한 액세스 시간의 단축 효과를 최대한으로 발휘시키는 것이 용이한 기억 장치를 제공하는 것에 있다.
본 발명의 상기 목적 및 그 밖의 다른 목적과 새로운 특징은 본 명세서의 기술 및 첨부 도면으로부터 분명해질 것이다.
본원에서 개시되는 발명 중 대표적인 개요를 간단히 설명하면 하기와 같다.
〔1〕 본 발명에 따른 기억 장치는 불휘발성 메모리(2), 상기 불휘발성 메모리보다도 액세스 속도가 빠른 버퍼 메모리(4) 및 제어 회로(5)를 가지며, 상기 제어 회로는 외부로부터 입력되는 선판독 커맨드가 지정하는 선판독 데이터의 논리 어드레스와 그 선판독 데이터를 저장하는 버퍼 메모리 어드레스를 대응시킨 선판독 데이터 관리 테이블(Ti)을 생성하여, 해당 커맨드가 지정하는 데이터를 불휘발성 메모리로부터 판독하여 버퍼 메모리에 선판독 데이터로서 저장하고, 외부로부터 입력되는 판독 커맨드로 지정되는 논리 어드레스가 선판독 데이터 관리 테이블로 대응된 논리 어드레스와 일치할 때 버퍼 메모리로부터 대응하는 선판독 데이터를 출력한다.
상기 수단에 따르면, 선판독 커맨드에 의해 기억 장치의 외부로부터 선판독 데이터를 지정할 수 있다. 따라서, 선판독에 의한 액세스 시간의 단축 효과를 최대한으로 발휘할 수 있도록 선판독해야 할 데이터를 유연하게 결정할 수 있다. 기억 장치의 판독 성능은, 기억 매체인 불휘발성 메모리 자체의 판독 성능에 있어서 병목 현상이 나타나고 있기 때문에, 외부로부터의 판독 요구 시에 기억 매체로부터의 판독 처리 대신 버퍼 메모리로부터 선판독 데이터를 출력하는 처리가 늘어남으로써, 시스템 성능을 향상시킬 수 있다. 선판독 커맨드에 의한 선판독 데이터의 지정은 버퍼 메모리의 용량이 허용하는 범위 내에서 복수의 선판독 커맨드에 의한 복수 지정이 가능하다.
본 발명의 구체적인 형태로서, 상기 선판독 커맨드는 논리 어드레스에 따라 선판독 데이터를 지정한다. 마스터 부팅 레코드 혹은 FAT(file allocation table) 등으로 대표는 바와 같이 사용자에게 있어 그 논리 어드레스의 파악이 용이한 경우도 있어서, 그것에 대해서는 선판독 데이터를 직접적으로 지정할 수 있기 때문에 편리하다.
상기 선판독 커맨드는 파일명에 따라 선판독 데이터를 지정하도록 하여도 된 다. 일반적으로, 기억 장치의 사용자는 OS(Operating System)에 의해 관리되는 기억 장치 상의 논리 어드레스를 파악할 수 없는 경우가 있으며, 기억 장치의 사용자는 파일명으로 데이터를 파악하는 것이 간편하여, 데이터 선판독에 대한 양호한 조작성을 실현한다.
상기 제어 회로에 의한 선판독 데이터의 전송은 선판독 커맨드의 실행 시에 행해도 된다. 또한, 먼저 선판독 데이터 관리 테이블을 생성하고, 그 후 소정의 타이밍에서 선판독 데이터를 버퍼 메모리로 전송하여도 된다. 그렇게 하면, 상기 제어 회로는 선판독 커맨드를 실행 종료한 후의 커맨드 대기 상태에서 선판독 데이터를 버퍼 메모리로 전송할 수 있다. 선판독 데이터의 전송 처리로 인한 리드 액세스 등의 처리가 지연되는 등의 상황의 발생을 미연에 방지할 수 있다.
본 발명의 구체적인 형태로서, 상기 선판독 데이터 관리 테이블은 선판독 데이터의 선두 논리 어드레스(30), 선판독 데이터를 저장하는 영역의 선두 메모리 어드레스(31), 및 선판독 데이터의 데이터 수를 보존하는 영역(32) 등으로 구성하면 된다.
상기 선판독 데이터 관리 테이블은 대응하는 선판독 데이터의 유효성을 나타내는 플래그(33)를 보존하여도 된다.
상기 선판독 데이터 관리 테이블은, 선판독 데이터를 포함하는 파일명을 보존하는 영역(35)을 가져도 된다. 예를 들면, FAT 파일 시스템에서 파일의 단편화가 발생하였을 때, 하나의 파일 데이터는 분할된 복수의 선판독 데이터 관리 테이블에 의해 관리되게 되며, 이 때, 파일명에 의해 지정된 액세스에 응답하는 처리에 편리하다. 즉, 파일명으로 대응하는 선판독 데이터 관리 테이블을 검색할 수 있어서, 버퍼 메모리 상에서 소요되는 선판독 데이터의 액세스 속도가 보다 빨라진다.
상기 선판독 데이터 관리 테이블은, 선판독 데이터의 액세스 횟수를 보유하는 영역(34)을 가져도 된다. 상기 제어 회로는 버퍼 메모리에 선판독 데이터를 저장하는 미사용 영역이 없을 때, 상기 선판독 데이터 관리 테이블이 보유하는 액세스 횟수에 기초하여 액세스 빈도가 적은 버퍼 메모리 어드레스를 검색하고, 검색한 버퍼 메모리 어드레스의 영역을 새로운 선판독 데이터의 저장 영역으로 할당할 수 있다. 빈번히 액세스되는 선판독 데이터의 유효한 이용을 보증할 수 있다.
상기 제어 회로는 선판독 데이터 관리 테이블을 소정의 타이밍에서, 불휘발성 메모리의 선판독 데이터 관리 테이블 보존 영역에 저장(退避)하여도 된다. 선판독 데이터 관리 테이블을 버퍼 메모리 상 또는 제어 회로 내부의 메모리 상에서 운용하고 있을 때, 기능하고 있는 선판독 데이터의 선판독 데이터 관리 테이블을 보존함으로써, 전원 차단 등에 의해 버퍼 메모리 상의 선판독 데이터를 잃게 되더라도, 추후에 그것을 재현할 수 있다. 예를 들면, 상기 제어 회로는 파워 온에 응답하여 불휘발성 메모리로부터 선판독 데이터 관리 테이블을 판독하고, 판독한 선판독 데이터 관리 테이블에 의해 그 소재가 규정되는 선판독 데이터를 불휘발성 메모리로부터 버퍼 메모리로 전송한다.
〔2〕 본 발명의 다른 관점에 따른 기억 장치는, 불휘발성 메모리, 상기 불휘발성 메모리보다도 액세스 속도가 빠른 버퍼 메모리 및 제어 회로를 가지며, 상기 제어 회로는, 외부로부터 입력되는 판독 커맨드에 응답하여, 선판독 데이터의 논리 어드레스와 그 선판독 데이터를 저장하는 버퍼 메모리 어드레스를 대응시키는 재기입 가능한 선판독 데이터 관리 테이블을 참조하여, 해당 커맨드가 지정하는 데이터를 버퍼 메모리에 보유하는지 여부를 판정하고, 보유하는 경우에는 버퍼 메모리로부터 판독한 데이터를 외부로 출력하며, 보유하지 않는 경우에는 불휘발성 메모리로부터 판독한 데이터를 외부로 출력한다.
상기 수단에 따르면, 재기입 가능한 선판독 데이터 관리 테이블을 이용함으로써, 선판독에 의한 액세스 시간의 단축 효과를 최대한으로 발휘할 수 있도록 선판독해야 할 데이터를 유연하게 결정할 수 있다. 판독 커맨드에 응답하여 불휘발성 메모리로부터의 판독 처리 대신 버퍼 메모리로부터 선판독 데이터를 출력하는 처리가 증가하기 때문에, 시스템 성능을 향상시킬 수 있다.
본 발명의 구체적인 형태로서, 상기 제어 회로는 파워 온에 응답하여 불휘발성 메모리로부터 선판독 데이터 관리 테이블을 판독하고, 판독한 선판독 데이터 관리 테이블에 의해 그 소재가 규정되는 선판독 데이터를 불휘발성 메모리로부터 버퍼 메모리로 전송하여도 된다. 전원 차단전에 기능하고 있던 선판독 데이터를 차후에 버퍼 메모리 상에 용이하게 재현할 수 있다.
〔3〕 본 발명의 또 다른 관점에 의한 기억 장치는, 불휘발성 메모리, 상기 불휘발성 메모리보다도 액세스 속도가 빠른 버퍼 메모리 및 제어 회로를 가지며, 상기 제어 회로는 외부로부터 입력되는 선판독 커맨드에 응답하여 그것이 지정하는 선판독 데이터의 논리 어드레스와 그 선판독 데이터를 저장하는 버퍼 메모리 어드레스를 대응시킨 선판독 데이터 관리 테이블을 생성하여, 해당 커맨드가 지정하는 데이터를 불휘발성 메모리로부터 판독하여 버퍼 메모리에 선판독 데이터로서 저장하고, 버퍼 메모리에 저장되어 있는 선판독 데이터를 외부로 판독 가능하게 한다. 선판독 커맨드에 의해 기억 장치의 외부로부터 선판독 데이터를 지정할 수 있다. 따라서, 선판독에 의한 액세스 시간의 단축 효과를 최대한으로 발휘할 수 있도록 선판독해야 할 데이터를 유연하게 결정할 수 있다.
본 발명의 구체적인 형태로서, 상기 제어 회로는 버퍼 메모리에 선판독 데이터를 저장하는 미사용 영역이 없을 때의 처리로서, 이미 선판독 데이터를 보유하는 영역으로의 덮어쓰기의 허가 또는 이미 선판독 데이터를 보유하는 영역으로의 덮어쓰기 금지를 선택 가능하게 하여도 된다. 전자를 선택함으로써, 선판독 데이터의 동적인 교체가 편리하다. 후자를 선택함으로써, 빈번히 액세스되는 선판독 데이터의 유효한 이용을 보증하는 것이 용이하다. 후자가 선택되어 있을 때, 미사용 영역이 없을 때는 선판독 커맨드 발행원에 에러 응답을 돌려주고, 사용자에게 주의를 환기하면 된다. 상기 덮어쓰기 허가는 이미 선판독 데이터를 보유하는 영역으로의 전면 허가 또는 액세스 빈도가 적은 영역에 대한 부분 허가로 하여도 된다. 부분 허가는 선판독 데이터의 동적인 교체성과, 빈번히 액세스되는 선판독 데이터의 유효한 이용성을 양립시키는 데 적합하다.
판독 커맨드에 대한 응답 처리로서, 상기 제어 회로는 외부로부터 입력되는 판독 커맨드에 응답하여, 상기 선판독 데이터 관리 테이블을 참조하여, 해당 커맨드가 지정하는 데이터를 버퍼 메모리에 보유할지 여부를 판정하고, 보유하는 경우에는 버퍼 메모리로부터 판독한 데이터를 외부로 출력하며, 보유하지 않는 경우에 는 불휘발성 메모리로부터 판독한 데이터를 외부로 출력한다.
기입 커맨드에 대한 응답 처리로서 상기 제어 회로는 외부로부터 입력되는 기입 커맨드에 응답하여, 상기 선판독 데이터 관리 테이블을 참조하여, 해당 커맨드에 의한 기입 어드레스의 데이터를 버퍼 메모리에 보유할지 여부를 판정하고, 보유하는 경우에는 불휘발성 메모리의 데이터와 함께 버퍼 메모리의 데이터를 기입 데이터에 의해 갱신하며, 보유하지 않는 경우에는 불휘발성 메모리의 데이터를 기입 데이터에 의해 갱신한다.
<실시예>
《플래시 메모리 카드》
도 1에는 본 발명에 따른 기억 장치의 일례인 플래시 메모리 카드가 도시된다. 도 1에 도시되는 플래시 메모리 카드(1)는 불휘발성 메모리, 예를 들면 전기적으로 소거 및 기입 가능한 플레시 메모리(2)와, DRAM(Dynamic Random Access memory)또는 SRAM(Static Random Access Memory) 등으로 이루어지는 버퍼 메모리(4)와, 메모리 제어 및 외부 인터페이스 제어를 행하는 카드 컨트롤러(제어 회로)(5)를 실장 기판에 구비한다. 플래시 메모리 카드(1)는 호스트 컴퓨터(6)에 의해 파일 메모리 장치로서 제어된다. 즉, 호스트 컴퓨터(6)는 파일 액세스를 행할 때, 플래시 메모리 카드(1)에 형성되어 있는 FAT를 참조하여, 파일을 구성하는 섹터의 논리 어드레스를 취득하고, 이 논리 어드레스를 이용하여 액세스 커맨드를 플래시 메모리 카드(1)로 발행한다. 플래시 메모리 카드(1)는 액세스 커맨드에 응답하여 플래시 메모리(2) 및 버퍼 메모리(4)를 액세스 제어한다.
상기 카드 컨트롤러(5)는 호스트 컴퓨터(6)로부터 공급되는 판독 커맨드, 기입 커맨드, 또는 선판독 커맨드 등에 의한 지시에 따라, 버퍼 메모리(4) 및 플래시 메모리(2)의 액세스 제어를 행한다. 상기 판독 커맨드는, 예를 들면 판독 섹터의 개시 논리 어드레스와 섹터수를 지정하여 데이터를 판독하는 지시이다. 기입 커맨드는, 예를 들면 기입 섹터의 개시 논리 어드레스와 섹터수를 지정하여 데이터를 기입하는 지시이다. 선판독 커맨드는 선판독해야 할 데이터의 논리 어드레스와 그 선판독 데이터를 저장하는 버퍼 메모리 어드레스를 대응시킨 선판독 데이터 관리 테이블을 생성하여, 선판독해야 할 데이터를 플래시 메모리(2)로부터 판독하여 버퍼 메모리(4)에 선판독 데이터로서 저장하는 지시이다. 각 커맨드에 대한 처리의 상세는 후술한다.
버퍼 메모리(4)의 기억 영역은, 호스트 컴퓨터(6)로부터 공급되는 기입 데이터의 1차 보존 영역(기입 데이터 보존 영역)(10), 플래시 메모리(2)로부터 판독되어 호스트 컴퓨터(6)로 출력하는 데이터를 일시적으로 보존하는 영역(판독 데이터 보존 영역)(11), 워크 영역(12), 상기 선판독 커맨드에 응답하여 플래시 메모리(2)로부터 판독된 데이터를 선판독 데이터로서 보존하는 영역(선판독 데이터 보존 영역)(13)으로 된다. 도 2에는 버퍼 메모리(4)의 어드레스 맵의 상세가 예시된다. 선판독 데이터는 항상 버퍼 메모리 상에 판독된 상태가 되어 버퍼 메모리의 기억 영역을 점유하기 때문에, 기입이나 판독의 통상 사용을 위한 버퍼 영역(10, 11)과 구별하여 관리 가능하게 되어 있다.
상기 플래시 메모리(2)의 기억 영역은, 데이터부(14), 내부 정보 저장부(15), 및 선판독 데이터 관리 테이블 저장부(16)로 이루어지며, 각각에는 관리부가 부가되어 있다. 내부 정보 저장부(15)에는 메모리 카드(1)의 ID, RD(Root Directory) 및 FAT 등이 저장되며, 호스트 컴퓨터(6)의 OS(오퍼레이팅 시스템)에 의해 참조 가능해진다. 선판독 데이터 관리 테이블 저장부(16)에는 상기 선판독 커맨드에 응답하여 생성되는 상기 선판독 데이터 관리 테이블이 저장된다.
상기 플래시 메모리(2)는 특별히 도시하지는 않지만, 전기적으로 소거 및 기입 가능한 불휘발성 메모리 셀 트랜지스터가 다수의 매트릭스 형태로 배치된 메모리 어레이 ARY를 갖는다. 메모리 셀 트랜지스터(플래시 메모리 셀이라 기재함)는 특별히 도시하지는 않지만, 반도체 기판 혹은 웰 내에 형성된 소스 및 드레인, 상기 소스와 드레인과의 사이의 채널 영역에 터널 산화막을 개재하여 형성된 부유 게이트, 그리고 부유 게이트에 층간 절연막을 개재하여 중첩된 컨트롤 게이트에 의해 구성된 스택드 게이트 구조를 갖는다. 컨트롤 게이트는 대응하는 워드선에 접속되며, 드레인은 대응하는 비트선에 접속되고, 소스는 소스선에 접속된다. 상기 메모리 셀 트랜지스터는 상기 부유 게이트에 전자가 주입되면 임계값 전압이 상승하고, 또한 상기 부유 게이트로부터 전자가 방출되면 임계값 전압이 저하된다. 상기 메모리 셀 트랜지스터는 데이터 판독을 위한 워드선 전압(컨트롤 게이트 인가 전압)에 대한 임계값 전압의 고저에 따른 정보를 기억하게 된다. 특히 제한되지 않지만, 본 명세서에서 메모리 셀 트랜지스터의 임계값 전압이 낮은 상태를 소거 상태, 높은 상태를 기입 상태라 한다.
도 1에서 상기 카드 컨트롤러(5)는 호스트 인터페이스 회로(20), 연산 제어 수단으로서의 마이크로 프로세서(MPU)(21), 플래시 컨트롤러(22), 및 버퍼 컨트롤러(23)로 이루어진다. 상기 플래시 컨트롤러(22)는 ECC 회로(도시 생략)를 구비한다.
상기 MPU(21)는 CPU(Central Processing Unit)(25), 프로그램 메모리(PGM)(26) 및 워크 RAM(WRAM)(27) 등을 가지며, 카드 컨트롤러(5)를 전체적으로 제어한다. 프로그램 메모리(26)는 CPU(25)의 동작 프로그램 등을 보유한다.
상기 호스트 인터페이스 회로(20)는, ATA(ATAttachment), IDE(Integrated Device Electronics), SCSI(Small Computer System Interface), MMC(MultiMedia Card : 등록 상표), PCMCIA(Personal Computer Memory Card International Association) 등의 소정의 프로토콜에 따라, 퍼스널 컴퓨터 또는 워크스테이션 등의 호스트 컴퓨터(6)와 인터페이스를 행한다.
상기 버퍼 컨트롤러(23)는 MPU(21)로부터 공급되는 액세스 지시에 따라, 버퍼 메모리(4)를 액세스 제어한다.
플래시 컨트롤러(22)는 MPU(21)로부터 공급되는 액세스 지시에 따라, 플래시 메모리(2)에 대한, 판독 동작, 소거 동작 및 기입 동작을 제어한다. ECC 회로(도시 생략)는 MPU(21)로부터 공급되는 지시에 따라, 플래시 메모리(2)에 기입하는 데이터에 대하여 에러 정정 부호(에러 정정 코드)를 생성하여, 기입 데이터에 부가한다. 또한, 플래시 메모리(2)로부터 판독된 판독 데이터에 대하여 해당 판독 데이터에 부가되어 있는 에러 정정 부호를 이용하여 에러 검출·정정 처리를 행하고, 그 에러 정정 능력 범위 내의 에러 발생에 대하여 에러 정정을 행한다.
도 3에는 플래시 메모리(2) 기억 영역의 구성과 선판독 데이터 관리 테이블의 상세한 내용이 예시된다. 플래시 메모리(2)의 기억 영역(메모리 어레이)은 예를 들면, 도면에서는 번호 0∼번호 4n+3의 메모리 섹터와, M0∼Mn의 관리부에 의해 구성된 n개의 블록을 기억 영역으로서 갖는다. 각 메모리 섹터 및 각 관리부는 물리 어드레스를 가지며, 각 메모리 섹터에는 논리 어드레스가 할당된다. 논리 어드레스는, 예를 들면 파일의 섹터 번호(파일 섹터 번호)이다. 이하의 설명에서는, 메모리 섹터의 어드레스를 단순히 물리 어드레스 또는 물리 섹터 어드레스라 한다. 논리 어드레스는 외부로부터 지시되는 어드레스, 물리 어드레스는 논리 어드레스에 따라 내부를 액세스하기 위한 어드레스로서 파악할 수 있다. 상기 메모리 섹터는 HDD(하드 디스크 드라이브) 등의 스토리지에서의 재기입 단위로 되는 스토리지 섹터의 용량 512B(바이트)에 대응된다. 상기 관리 영역에는 블록의 유효 플래그나 대체 플래그 등이 저장된다. ECC 코드는 각 메모리 섹터마다 배치되어 있다. 1 블록을 구성하는 불휘발성 메모리 셀은 1개의 워드선 또는 1 종류의 워드선 선택 신호로 선택되며, 소거 처리 및 기입 처리의 단위로 되고, 예를 들면 소거 처리나 기입 처리에서 필요한 고전압이 워드선 단위로 인가된다.
메모리 섹터 4n∼4n+3은 상기 선판독 데이터 관리 테이블 저장부(16)로 된다. 선판독 데이터 관리 테이블 저장부(16)의 각 메모리 섹터에는 각각 복수개의 선판독 데이터 관리 테이블 Ti(T0, T1, T2…)와 ECC 코드가 저장된다. 선판독 데이터 관리 테이블은 선판독 커맨드에 응답하는 처리가 행해짐으로써 추가 가능하게 되어 있으므로, 복수 존재하는 것이 허용된다.
선판독 데이터 관리 테이블 Ti는, 예를 들면 선두 논리 어드레스 영역(30), 선두 메모리 어드레스 영역(31), 섹터수 영역(32), 유효 플래그 영역(33), 액세스 횟수 영역(34), 및 파일명 영역(35)을 갖는다. 선두 논리 어드레스 영역(30)은 선판독 데이터의 선두 논리 어드레스(논리 섹터 어드레스)를 저장한다. 선두 메모리 어드레스 영역(31)은 버퍼 메모리 상에서 선판독 데이터를 보유하는 영역의 선두 메모리 어드레스를 저장한다. 섹터수 영역(32)은 선판독 데이터의 섹터수를 저장한다. 유효 플래그 영역(33)은 해당 선판독 데이터 관리 테이블이 유효한지 여부를 나타내는 플래그를 저장한다. 액세스 횟수 영역(34)은 해당 기입 관리 테이블에 의해 관리되는 선판독 데이터에 대한 호스트 컴퓨터(6)에 의한 액세스 횟수를 저장하는 영역이다. 파일명 영역(35)은 선판독 데이터가 속하는 파일명을 보유하는 영역이다.
상기 선판독 데이터 관리 테이블은, 플래시 메모리(2) 또는 버퍼 메모리(4) 중 어느 쪽에서 관리해도 된다. 플래시 메모리(2) 상에서 관리할 경우에는, 선판독 데이터 관리 테이블의 생성 소멸 시마다 선판독 데이터 관리 테이블 저장부(16)에 대한 소거 및 기입 처리를 행하게 되기 때문에, 동작이 늦어진다. 버퍼 메모리(4) 상에서 관리할 경우에는, 관리 테이블의 생성 소멸의 동작은 고속으로 된다. 단, 전원 차단 시에는 선판독 데이터 관리 테이블을 플래시 메모리(2)로 저장하는 것이 요구된다. 또한, 파워 온에 응답하여, 플래시 메모리(2)로부터 선판독 데이터 관리 테이블을 판독하고, 판독한 선판독 데이터 관리 테이블에 의해 그 소재가 규정되는 선판독 데이터를 플래시 메모리로부터 버퍼 메모리(4)로 전송하는 것이 바람직하다.
《선판독 커맨드 응답 처리》
도 4에는 선판독 커맨드의 주된 사양이 나타난다. 선판독 데이터의 지정 방법은 어드레스에 의한 지정, 또는 파일명 지정 중 어느 쪽이어도 가능하다. 어드레스 지정은 메모리 카드(1)의 사용자(User)가 선판독 데이터의 영역을 논리 어드레스로 지정하는 것이다. 파일 지정은 사용자가 선판독 데이터를 갖는 파일명에 의해 지정하는 것이다. 파일명에는 그것이 소재하는 절대 패스명(absolute path name)도 포함시키면 파일명의 중복에도 용이하게 대처할 수 있으며, 파일의 검색도 용이해진다.
일반적으로, 기억 장치의 사용자는 OS로 관리되는 플래시 메모리 카드(1) 상의 논리 어드레스를 파악할 수 없는 경우가 있다. 플래시 메모리 카드(1)의 사용자는 파일명으로 데이터를 파악하는 것이 간편하여, 이것을 고려함으로써 데이터 선판독에 대한 양호한 조작성을 보증할 수 있다. 또한, OS 상에서 플래시 메모리 상의 논리 어드레스를 관리할 수 없는 경우도 있다. 이러한 경우에도 선판독 데이터의 지정이 가능해진다.
또한, 선판독 데이터를 플래시 메모리(2)로부터 버퍼 메모리(4)에 저장하는 동작 타이밍은, 선판독 커맨드 발행 시, 혹은 먼저 선판독 데이터 관리 테이블을 생성한 후의 커맨드 대기 상태에서 백그라운드 모드로 행한다. 커맨드 대기 상태에서 행함으로써, 플래시 메모리(2)로부터 버퍼 메모리(4)에 선판독 데이터를 전송하는 처리로 인한 리드 액세스 등의 처리가 지연되는 등의 상황을 미연에 방지할 수 있다.
도 5에는 선판독 커맨드 응답 처리의 제어 수순이 예시된다. 호스트 컴퓨터(6)로부터 발행된 선판독 커맨드를 접수하면(S1), 그 커맨드에 의해 논리 어드레스 또는 파일명에 의해 지정된 선판독 데이터의 물리 어드레스를 취득한다(S2). 선판독 커맨드로 지정된 선판독 데이터의 논리 어드레스 및 그것에 대응하는 물리 어드레스 등에 기초하여 선판독 데이터 관리 테이블을 작성한다(S3). 작성 장소는, 예를 들면 버퍼 메모리(4)의 워크 영역(12)이다. 작성된 선판독 데이터 관리 테이블에서 규정되는 선판독 데이터가 실제로 판독 가능한지 여부를 판별한다(S4). 상기 판별은 파일이 존재하지 않거나, 혹은 플래시 메모리의 블록에 대한 논리 어드레스의 대응이 행해지고 있지 않은 경우를 검출하기 위해 행해지므로, 판독 가능이 아니면 호스트 컴퓨터(6)에 에러 코드를 돌려준다. 판독 가능하면, 다음 커맨드를 접수 가능한지를 판정하고, 접수 불가능하면, 다시 말해서, 호스트 컴퓨터(6)로부터 다른 액세스 커맨드가 발행되어 있지 않으면, 플래시 메모리(2)로부터 선판독 데이터를 판독하여 버퍼 메모리(4)에 기입하고(S6), 대응하는 선판독 데이터 관리 테이블의 유효 플래그 영역(33)에 유효 플래그를 세트한다(S7). 선판독 데이터의 섹터수가 2 이상인 경우에는, 후속 섹터 데이터에 대해서도 단계 S6, S7로 되돌아가 마찬가지의 처리를 반복한다(S8). 후속 섹터 데이터의 선판독에 필요한 플래시 메모리(2)의 선판독 데이터 판독 어드레스나 버퍼 메모리의 선판독 데이터 기입 어드레스는 마이크로 프로세서(11)의 어드레스 연산에 의해 순차 취득하면 된다. 단계 S3에서 작성한 선판독 데이터 관리 테이블에 의해 규정되는 모든 섹터 데이터의 선판독을 완료하면, 이번의 선판독 커맨드 접수에 의한 비지 상태를 해제하고(S9), 처리를 종료한다. 상기 단계 S5에서, 다음 커맨드가 접수 가능하면 선판독 커맨드 접수에 의한 비지 상태를 해제하고(S9), 해당 다음 커맨드를 접수하여 실행한다.
상기 단계 S5의 판별 처리를 무효로 하며, 단계 S6 이후의 처리를 자동적으로 계속하는 처리 수순을 채용 가능한 것은 물론이다. 그 경우의 처리의 전환(단계 S5 처리를 행할지 여부의 전환)은 카드 컨트롤러(5) 자체가 설정 전환 기능을 가지고 있어도 되며, 선판독 커맨드에 기능 전환용 제어 정보를 갖게 하여도 된다.
호스트 컴퓨터(6)로부터 액세스 커맨드가 공급되었을 때에는, 선판독 데이터 관리 테이블의 상기 유효 플래그(33)가 체크되며, 세트된 유효 플래그(33)를 갖는 선판독 데이터 관리 테이블만이, 이용해야 할 선판독 데이터의 소재를 취득하기 위한 검색 대상으로 된다.
도 6에는 상기 호스트 지정 어드레스 취득 처리(S2)의 구체예가 도시된다. 도 6에 도시되는 처리는 호스트 컴퓨터(6)로부터 공급되는 선판독 커맨드에 의해 선판독 데이터를 파일명으로 지정하는 경우의 응답 처리이다. 먼저, 선판독 커맨드로부터, 선판독 데이터를 보유하는 파일명을 취득한다(S21). 다음으로, 플래시 메모리(2)의 마스터 부팅 레코드 영역(MBR)의 파티션(partition) ID를 판독하여, 사용 파일 시스템을 인식한다(S22). 사용 파일 시스템에 따라서 파일 시스템의 인식이 가능한지를 판별하고(S23), 가능하면 플래시 메모리(2) 상의 FAT 등을 이용하여 파일 시스템을 해석하여, 파일이 보존된 논리 어드레스를 취득한다. 파일이 단 편화되어 있는 경우에도 마찬가지로 파일이 보존된 논리 어드레스를 취득한다. 그리고, 파일 시스템 상에 해당 데이터가 존재하는 것을 확인한 후(S25의 '예'), 플래시 메모리의 메모리 어드레스를 산출한다. 논리 어드레스와 플래시 메모리(2)의 물리 어드레스와의 대응이 가변되는 시스템에서는, 상호 관계를 규정하는 어드레스 변환 테이블을 참조하여 산출하게 된다. 어드레스 변환 테이블은 플래시 메모리(2)가 소정 영역에 보유하고 있다.
사용자는 파일 시스템 상에서는 논리 어드레스를 관리할 수 없다. 이 때문에, 파일명에서의 지정을 가능하게 함으로써, 사용자의 선판독 데이터 관리가 가능해진다.
파일이 단편화되어 있을 때에는, 선판독 데이터 관리 테이블은 도 3의 구성을 갖고 있기 때문에, 논리 어드레스가 연속되는 단편화 부분마다 선판독 데이터 관리 테이블을 작성하는 것이 필요하게 된다. 하나의 데이터 파일에 대하여 선판독 데이터 관리 테이블이 복수개 존재하여도, 각 선판독 데이터 관리 테이블은 그 파일명 영역(35)에 각각 파일명을 갖고 있기 때문에, 액세스 커맨드에 응답할 때의 검색 처리에 지장을 주지는 않는다.
플래시 메모리(2) 상에 동일한 파일명이 복수 존재할 수 있기 때문에, 선판독 데이터 관리 테이블에 보존하는 파일명은, 절대 패스명도 포함시켜 보존하는 것이 바람직하다. 혹은, 동일한 파일명이라도 파일 시스템 상의 논리 어드레스는 상이하기 때문에, 선판독 데이터 관리 테이블에 보존하는 파일명은 논리 어드레스를 포함시켜 보존하여도 된다.
도 7에는 버퍼 메모리(4)에 선판독 데이터를 저장하는 미사용 영역이 없을 때의 처리 형태(선판독 데이터 갱신 형태)가 예시된다.
버퍼 메모리(4)에 선판독 데이터를 저장하는 미사용 영역이 없을 때의 처리 형태로서, 이전에 선판독 데이터를 보유하는 영역으로의 덮어쓰기 허가 또는 이미 선판독 데이터를 보유하는 영역으로의 덮어쓰기 금지가 있다.
덮어쓰기 금지를 채용함으로써, 빈번히 액세스되는 선판독 데이터의 유효한 이용을 보증하는 것이 용이하다. 덮어쓰기 금지가 채용되어 있을 때, 미사용 영역이 없을 때에는 선판독 커맨드 발행원으로 에러 응답을 반환하고, 사용자에게 주의를 환기하면 된다. 덮어쓰기 허가를 채용함으로써 선판독 데이터의 동적인 교체가 편리하다.
상기 덮어쓰기 허가의 형태로서, 이미 선판독 데이터를 보유하는 영역으로의 전면 허가 또는 액세스 빈도가 적은 영역에 대한 부분 허가가 있다. 덮어쓰기 전면 허가인 경우, 카드 컨트롤러(5)는 상기 선판독 데이터 보존 영역(13)에 대하여 FIFO(first in/first out)에 의해 순차적으로 오래된 것부터 먼저 덮어쓰기를 허가하는 제어를 행하면 된다.
액세스 빈도에 따른 부분 허가를 채용할 경우, 액세스 빈도가 적은 영역인지 여부는 선판독 데이터 관리 테이블이 보유하는 액세스 횟수 영역(34)의 값에 기초하여 판정하면 된다. 예를 들면, 그 판정 기준으로서 액세스 횟수 1을 채용할 경우에는, 액세스 횟수 1을 보유하는 선판독 데이터 관리 테이블을 검색하여, 검색된 선판독 데이터 관리 테이블에서 사용되고 있는 버퍼 메모리 어드레스를 이용하면 된다. 또한, 임의의 복수개의 선판독 데이터 관리 테이블을 검색하여 얻어지는 최소 액세스 횟수를 보유하는 선판독 데이터 관리 테이블에서 관리되고 있는 버퍼 메모리 어드레스를 이용해도 된다.
상기 부분 허가는 선판독 데이터의 동적인 교체성과, 빈번히 액세스되는 선판독 데이터의 유효한 이용성을 양립하는 데 적합하다.
상기 선판독 데이터 갱신 형태는, 카드 컨트롤러(5)에 제어 데이터 혹은 모드 신호에 의해 설정하여도 된다. 혹은, 선판독 커맨드에 의해 그 때마다 지정하도록 하여도 된다.
《판독 커맨드 응답 처리》
도 8에는 판독 커맨드 응답 처리의 제어 수순이 예시된다. 카드 컨트롤러(5)는 호스트 컴퓨터(6)로부터 발행된 판독 커맨드를 접수하면(S30), 판독 커맨드에 의해 지정된 논리 어드레스에 대응하는 선판독 데이터 관리 테이블이 존재하고 있는지를 판별한다(S31). 지정 논리 어드레스 전체에 대하여 선판독 데이터 관리 테이블이 없는 경우에는, 판독 대상 논리 어드레스에 따른 플래시 메모리의 물리 섹터 어드레스를 산출하고(S32), 그 물리 섹터 어드레스로부터 데이터를 판독하여 버퍼 메모리의 판독 데이터 보존 영역으로 전송하고(S33), 그 판독 데이터 보존 영역으로 전송된 데이터를 호스트 컴퓨터(6)로 출력한다(S34).
단계 S31의 처리에서, 지정 논리 어드레스에 대하여 선판독 데이터 관리 테이블이 있다고 판정되었을 때에는, 모든 데이터가 선판독되어 있는지의 여부가 판정된다(S35). 즉, 판독 커맨드로 지정되는 논리 어드레스 전체가 선판독 데이터 관리 테이블에서 대응된 논리 어드레스와 일치하는지 여부가 판정된다. 그 판정 결과가, 일부 선판독 데이터가 존재하지 않는다고 판정된 경우에는, 선판독 데이터가 없는 논리 어드레스에 따른 플래시 메모리의 물리 섹터 어드레스를 산출하고(S36), 그 물리 섹터 어드레스로부터 데이터를 판독하여 버퍼 메모리(4)의 판독 데이터 보존 영역으로 전송한다(S33). 일부 선판독 데이터가 존재하는 논리 어드레스에 대해서는, 대응하는 선판독 데이터 관리 테이블의 액세스 횟수를 +1 인크리먼트한다(S37). 그리고, 단계 S33에서 판독 데이터 보존 영역으로 전송된 데이터 및 선판독 데이터 보존 영역(13)에 있는 나머지 선판독 데이터를 호스트 컴퓨터(6)로 출력한다(S34). 모든 논리 어드레스에 대하여 선판독 데이터가 존재할 경우에는, 해당 논리 어드레스에 대응하는 선판독 데이터 관리 테이블의 액세스 횟수를 +1 인크리먼트하고(S37), 선판독 데이터 보존 영역(13)에 있는 대응하는 선판독 데이터를 호스트 컴퓨터(6)로 출력한다(S34).
도 8의 처리에서는 선판독 완료 데이터가 모두 완료되지 않은 경우, 부족 데이터를 플래시 메모리(2)로부터 버퍼 메모리(4)로 전송한 이후에 호스트 컴퓨터(6)로 데이터 전송을 행한다. 부족 데이터를 플래시 메모리(2)에서 버퍼 메모리(4)로 판독을 행하기 전에, 선판독 완료 데이터를 호스트 컴퓨터(6)에 전송해도 된다.
《기입 커맨드 응답 처리》
도 9에는 기입 커맨드 응답 처리의 제어 수순이 예시된다. 카드 컨트롤러(5)는 호스트 컴퓨터(6)로부터 발행된 기입 커맨드를 접수하면(S40), 호스트 컴퓨터(6)로부터 공급되는 기입 데이터를 기입 데이터 보존 영역(10)에 일시적 으로 저장한다(S41). 카드 컨트롤러(5)는 기입 커맨드로 지정된 논리 어드레스에 대응하는 플래시 메모리(2) 상의 물리 섹터 어드레스를 연산하여(S42), 플래시 메모리(2)에 플래시 기입 커맨드를 공급하고, 플래시 메모리(2)로의 기입 처리를 지시한다(S34). 플래시 메모리(2)의 기입 동작에 병행하여, 카드 컨트롤러(5)는 기입 데이터에 관한 선판독 데이터 관리 테이블의 유무를 판별한다(S44). 기입 데이터에 따른 유효한 선판독 데이터가 있으면, 버퍼 메모리(4) 상에서 그 선판독 데이터를 기입 데이터에 따라 갱신하고(S47), 대응하는 선판독 데이터 관리 테이블의 내용을 갱신한다(S48). 예를 들면, 액세스 횟수를 +1 인크리먼트한다. 단계 S48의 처리가 끝난 후, 혹은 단계 S44의 판별에서 대응하는 선판독 데이터가 없는 경우, 단계 S43에서 개시한 플래시 메모리의 기입 처리가 끝나기를 대기하여, 기입 커맨드에 의한 비지 플래그를 해제하고(S46), 처리를 종료한다.
선판독 완료 데이터의 갱신 시에는 기억 매체 상의 데이터와 동시에 버퍼 상의 선판독 데이터 보존 영역의 데이터도 갱신할 필요가 있다. 이 때문에, 라이트 요구 시의 어드레스는 항상 감시할 필요가 있지만, 기억 매체로의 보존 시간에 비해, 버퍼 메모리(4)의 갱신 처리는 매우 빠르기 때문에, 큰 성능 저하는 발생하지 않는다.
《선판독 데이터 관리 테이블의 저장》
선판독 데이터 관리 테이블을 버퍼 메모리(4)의 워크 영역(12) 등의 휘발성의 메모리 상에서 운용하고 있을 때, 카드 컨트롤러(5)는 선판독 데이터 관리 테이블을 소정의 타이밍에서 플래시 메모리(2)의 선판독 데이터 관리 테이블 보존 영역 에 저장한다. 소정의 타이밍이란, 예를 들면 전원 차단 시, 혹은 소정 기간 이후의 커맨드 대기 상태 시이다. 기능하고 있는 선판독 데이터의 선판독 데이터 관리 테이블을 보존함으로써, 전원 차단 등에 의해 버퍼 메모리(4) 상의 선판독 데이터를 잃어버리더라도, 추후에 그것을 재현 가능하게 된다. 상기 카드 컨트롤러(5)는 파워 온에 응답하여 플래시 메모리(2)로부터 선판독 데이터 관리 테이블을 판독하고, 판독한 선판독 데이터 관리 테이블에 의해 그 소재가 규정되는 선판독 데이터를 플래시 메모리(2)로부터 버퍼 메모리(4)로 전송하면 된다.
이상 설명한 플래시 메모리 카드(1)에 따르면 이하의 작용 효과를 얻을 수 있다.
〔1〕 선판독 커맨드에 의해 호스트 컴퓨터(6)로부터 플래시 메모리 카드(1)에 대하여 선판독 데이터를 지정할 수 있다. 따라서, 선판독에 의한 액세스 시간의 단축 효과를 최대한으로 발휘할 수 있도록 선판독해야 할 데이터를 유연하게 결정할 수 있다. 플래시 메모리 카드(1)의 판독 성능은, 기억 매체인 플래시 메모리(2) 자체의 판독 성능에 병목 현상이 생기게 되기 때문에, 호스트 컴퓨터(6)로부터의 판독 요구 시에 플래시 메모리(2)로부터의 판독 처리 대신 버퍼 메모리(4)로부터 선판독 데이터를 출력하는 처리가 늘어남으로써, 시스템 성능을 향상시킬 수 있다.
〔2〕 상기 선판독 커맨드는 선판독 데이터의 지정을 논리 어드레스 또는 파일명 중 어떠한 것에 의해서도 행할 수 있다. 예를 들면, 선판독 커맨드에서 논리 어드레스의 지정 필드와 파일명의 지정 필드는 상이하다. 마스터 부팅 레코드 혹 은 FAT 등으로 대표되는 등, 사용자에게 있어 그 논리 어드레스의 파악이 용이한 경우도 있으므로, 논리 어드레스에 의한 지정은 선판독 데이터를 직접적으로 지정할 수 있기 때문에 편리하다.
플래시 메모리 카드(1)의 사용자는 OS로 관리되는 플래시 메모리(2) 상의 논리 어드레스를 파악할 수 없는 경우가 있으며, 플래시 메모리 카드(1)의 사용자는 파일명으로 데이터를 파악하는 것이 간편하여, 데이터 선판독에 대한 양호한 조작성을 실현할 수 있다.
〔3〕 카드 컨트롤러(5)에 의한 선판독 데이터의 전송 형태로서, 선판독 커맨드의 실행 시 이외에, 먼저 선판독 데이터 관리 테이블을 생성하고, 그 후 소정의 타이밍에서 선판독 데이터를 버퍼 메모리(4)로 전송하는 형태를 채용할 수 있다. 이것에 의해, 카드 컨트롤러(5)는 선판독 커맨드를 실행 종료한 후의 커맨드 대기 상태에서 선판독 데이터를 버퍼 메모리(4)로 전송할 수 있다. 선판독 처리로 인하여 리드 액세스 등의 처리가 지연되어 데이터 처리 효율이 저하되는 것을 미연에 방지할 수 있다.
〔4〕 선판독 데이터 관리 테이블은 선판독 데이터의 선두 논리 어드레스, 선판독 데이터를 저장하는 영역의 선두 메모리 어드레스, 및 선판독 데이터의 데이터 수를 보존하는 영역과 함께 선판독 데이터를 포함하는 파일명을 보존하는 영역을 갖는다. 이것에 의해, 파일 시스템에서 파일의 단편화가 발생하였을 때, 하나의 파일 데이터는 분할된 복수의 선판독 데이터 관리 테이블에 의해 관리되게 되므로, 리드 액세스 등에 응답하는 처리에서 파일명에 의해 대응하는 선판독 데이터 관리 테이블을 검색할 수 있어서, 버퍼 메모리 상에서 소요되는 선판독 데이터의 액세스가 보다 빨라진다.
〔5〕 상기 선판독 데이터 관리 테이블은 호스트 컴퓨터(6)에 의한 선판독 데이터의 액세스 횟수를 보유하는 영역(34)을 가짐으로써, 카드 컨트롤러(5)는 버퍼 메모리(4)에 선판독 데이터를 저장하는 미사용 영역이 없을 때, 선판독 데이터 관리 테이블이 보유하는 액세스 횟수에 기초하여 액세스 빈도가 적은 버퍼 메모리 어드레스를 검색하고, 검색한 버퍼 메모리 어드레스의 영역을 새로운 선판독 데이터의 저장 영역으로 할당할 수 있다. 빈번히 액세스되는 선판독 데이터의 유효한 이용을 보증할 수 있다.
〔6〕 카드 컨트롤러(5)는 선판독 데이터 관리 테이블을 소정의 타이밍에서 플래시 메모리(2)의 선판독 데이터 관리 테이블 보존 영역에 저장함으로써, 선판독 데이터 관리 테이블을 버퍼 메모리(4) 또는 워크 RAM(26)에 의해 운용하고 있을 때, 기능하고 있는 선판독 데이터의 선판독 데이터 관리 테이블을 보존함으로써, 전원 차단 등에 의해 버퍼 메모리 상의 선판독 데이터를 잃어버려도, 추후에 그것을 재현할 수 있다.
이상 본 발명자에 의해 이루어진 발명을 실시예에 기초하여 구체적으로 설명하였지만, 본 발명은 그것에 한정되는 것은 아니며, 그 요지를 일탈하지 않는 범위 내에서 여러가지로 변경 가능한 것은 물론이다.
예를 들면, 상기에서는 파일 시스템으로서 FAT 파일 시스템으로 하였지만, NTFS 등 그 밖의 파일 시스템이어도 된다. 불휘발성 메모리를 플래시 메모리로 했 지만, 고유전체 메모리 등, 그 밖의 반도체 메모리이어도 된다. 또한, 불휘발성 메모리는 반도체 메모리에 한정되지 않으며, 하드디스크 등의 기록 디스크이어도 된다. 본 발명은 플래시 메모리 카드 등의 메모리 카드에 한정되지 않으며, 하드디스크 장치에도 적용할 수 있다. 이 때, 기억 장치는 리무버블한 것에 한정되지 않으며, 장착 시스템에 고정되어 배치되는 이용 형태의 것이어도 된다.
상기 플래시 메모리는 스택드 게이트 구조에 한정되지 않으며, 선택 MOS 트랜지스터부와 메모리 MOS 트랜지스터부 사이에 확산층을 제공하지 않고 직렬 형태로 형성한 스플리트 게이트 구조이어도 된다. 또한, 실리콘 질화막과 같은 트랩 영역에 전하를 국부적으로 축적하는 메모리 셀 구조를 채용하여도 된다. 반도체 불휘발성 메모리는, 1개의 메모리 셀이 보유하는 기억 정보를 1 비트로 하는 구성에 한정되지 않으며 2 비트 이상으로 하는 기억 형식이어도 된다.
또한, 본 발명을 메모리 카드에 적용할 경우, 카드 컨트롤러와 같은 제어 회로는 IDE 등의 호스트 인터페이스 회로를 구비하지 않아도 되며, 그 기능을 호스트 컴퓨터가 부담하는, 규격화된 메모리 카드에도 적용 가능하다.
또한, 선판독 커맨드가 지정하는 선판독 데이터의 논리 어드레스는 파일 시스템의 구성 여하에 따라, 실질적으로 불휘발성 메모리의 물리 어드레스와 일치하고 있는 경우도 있다.
본원에서 개시되는 발명 중 대표적인 것에 의해 얻어지는 효과를 간단히 설명하면 하기와 같다.
즉, 선판독 커맨드에 의해 기억 장치의 외부로부터 선판독 데이터를 지정할 수 있다. 따라서, 선판독에 의한 액세스 시간의 단축 효과를 최대한으로 발휘할 수 있도록 선판독해야 할 데이터를 유연하게 결정할 수 있다. 외부로부터의 판독 요구 시에 기억 매체로부터의 판독 처리 대신 버퍼 메모리로부터 선판독 데이터를 출력하는 처리가 늘어남으로써, 기억 장치를 이용하는 시스템의 데이터 처리 성능을 향상시킬 수 있다.

Claims (20)

  1. 불휘발성 메모리, 상기 불휘발성 메모리보다도 액세스 속도가 빠른 버퍼 메모리 및 제어 회로를 갖는 기억 장치로서,
    상기 제어 회로는, 상기 기억 장치의 외부로부터 입력되는 선판독 커맨드에 응답하여, 그 커맨드에 포함되는 선판독 데이터의 파일명을 기초로, 상기 불휘발성 메모리가 갖는 정보에 기초하여 상기 파일명의 데이터가 보존된 섹터의 논리 어드레스를 취득하고,
    상기 논리 어드레스를 기초로 상기 불휘발성 메모리의 물리 어드레스를 산출하고,
    상기 논리 어드레스, 상기 파일명 및 상기 파일명의 데이터가 보존되는 버퍼 메모리 어드레스를 보유하는 선판독 데이터 관리 테이블을 생성하고,
    상기 선판독 커맨드가 지정하는 파일명의 데이터를 불휘발성 메모리의 상기 물리 어드레스로부터 판독하여 상기 버퍼 메모리에 선판독 데이터로서 저장하고,
    상기 버퍼 메모리에 저장되어 있는 선판독 데이터를 상기 기억 장치의 외부로 판독 가능하고,
    상기 제어 회로는, 상기 선판독 커맨드에서 지정된 파일이 단편화되어 있을 때에는, 그 파일에 대해, 취득된 논리 어드레스가 연속하는 단편화 부분마다 선판독 데이터 관리 테이블을 생성하는 기억 장치.
  2. 제1항에 있어서,
    상기 선판독 데이터 관리 테이블은,
    상기 논리 어드레스로서, 선판독 데이터의 선두 논리 어드레스,
    파일의 데이터가 보존되는 버퍼 메모리의 어드레스로서, 선판독 데이터를 저장하는 영역의 선두 메모리 어드레스,
    논리 어드레스를 포함하는 파일명을 보유하는 영역을 갖는 기억 장치.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020040025379A 2003-04-14 2004-04-13 기억 장치 KR101054153B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2003-00108603 2003-04-14
JP2003108603A JP2004318940A (ja) 2003-04-14 2003-04-14 記憶装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020100120922A Division KR101081716B1 (ko) 2003-04-14 2010-11-30 기억 장치

Publications (2)

Publication Number Publication Date
KR20040089581A KR20040089581A (ko) 2004-10-21
KR101054153B1 true KR101054153B1 (ko) 2011-08-03

Family

ID=33128069

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020040025379A KR101054153B1 (ko) 2003-04-14 2004-04-13 기억 장치
KR1020100120922A KR101081716B1 (ko) 2003-04-14 2010-11-30 기억 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020100120922A KR101081716B1 (ko) 2003-04-14 2010-11-30 기억 장치

Country Status (5)

Country Link
US (2) US7191308B2 (ko)
JP (1) JP2004318940A (ko)
KR (2) KR101054153B1 (ko)
CN (1) CN1538284A (ko)
TW (1) TWI358641B (ko)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003085677A1 (fr) * 2002-04-05 2003-10-16 Renesas Technology Corp. Memoire non volatile
JP2005258851A (ja) * 2004-03-12 2005-09-22 Renesas Technology Corp メモリカード
JP4622474B2 (ja) * 2004-11-17 2011-02-02 横河電機株式会社 フィールド機器及びこれを用いたシステム
JP4843222B2 (ja) * 2005-01-11 2011-12-21 株式会社東芝 半導体記憶装置の制御方法、メモリカード、及びホスト機器
US9104315B2 (en) 2005-02-04 2015-08-11 Sandisk Technologies Inc. Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
KR100706246B1 (ko) 2005-05-24 2007-04-11 삼성전자주식회사 읽기 성능을 향상시킬 수 있는 메모리 카드
US7516274B2 (en) * 2005-11-15 2009-04-07 Sun Microsystems, Inc. Power conservation via DRAM access reduction
US7873788B1 (en) 2005-11-15 2011-01-18 Oracle America, Inc. Re-fetching cache memory having coherent re-fetching
US7934054B1 (en) * 2005-11-15 2011-04-26 Oracle America, Inc. Re-fetching cache memory enabling alternative operational modes
US7958312B2 (en) * 2005-11-15 2011-06-07 Oracle America, Inc. Small and power-efficient cache that can provide data for background DMA devices while the processor is in a low-power state
US7899990B2 (en) * 2005-11-15 2011-03-01 Oracle America, Inc. Power conservation via DRAM access
US7747837B2 (en) * 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
US8990153B2 (en) * 2006-02-07 2015-03-24 Dot Hill Systems Corporation Pull data replication model
JP4802791B2 (ja) * 2006-03-20 2011-10-26 ソニー株式会社 データ記憶装置及びデータアクセス方法
US7426606B2 (en) * 2006-03-31 2008-09-16 Intel Corporation Method, apparatus and system for reverting FAT cluster number to file ID and offset of non-FAT flash file system
US8176230B2 (en) * 2006-04-07 2012-05-08 Kingston Technology Corporation Wireless flash memory card expansion system
FI20060427L (fi) * 2006-05-03 2007-11-04 Tellabs Oy Menetelmä ja laitteisto peräkkäistiedoston käsittelemiseksi
US20070276989A1 (en) * 2006-05-29 2007-11-29 Sandisk Il Ltd. Predictive data-loader
JP4984666B2 (ja) * 2006-06-12 2012-07-25 ソニー株式会社 不揮発性メモリ
KR100874702B1 (ko) * 2006-10-02 2008-12-18 삼성전자주식회사 플래시 메모리 파일 시스템을 효율적으로 관리하기 위한장치 드라이버 및 방법
KR100891333B1 (ko) * 2007-04-11 2009-03-31 삼성전자주식회사 파일 시스템에 무관하게 데이터를 기입/독출할 수 있는하드 디스크 드라이브 및 이를 이용한 데이터 기입/독출방법
KR100914265B1 (ko) * 2007-05-10 2009-08-27 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및그것의 읽기 방법
US8433842B2 (en) * 2007-06-29 2013-04-30 Sandisk Technologies Inc. Method for communicating with a non-volatile memory storage device
US8429328B2 (en) * 2007-06-29 2013-04-23 Sandisk Technologies Inc. System for communicating with a non-volatile memory storage device
WO2009006408A2 (en) 2007-06-29 2009-01-08 Sandisk Corporation Methods and systems for communicating with a non-volatile memory storage device
KR101300657B1 (ko) * 2007-07-06 2013-08-27 삼성전자주식회사 비휘발성 메모리 및 버퍼 메모리를 포함하는 메모리 시스템및 그것의 데이터 읽기 방법
US9201790B2 (en) * 2007-10-09 2015-12-01 Seagate Technology Llc System and method of matching data rates
US8276043B2 (en) * 2008-03-01 2012-09-25 Kabushiki Kaisha Toshiba Memory system
JP2009230414A (ja) * 2008-03-21 2009-10-08 Toshiba Corp 複数の不揮発性メモリデバイスを有する記憶装置
DE112008004033T5 (de) * 2008-10-09 2012-01-19 Numonyx B.V. Virtualisiertes Ecc Nand
JP2011060395A (ja) * 2009-09-14 2011-03-24 Hitachi-Lg Data Storage Inc 光ディスク装置
US8307164B2 (en) 2009-12-15 2012-11-06 International Business Machines Corporation Automatic determination of read-ahead amount
CN102566936B (zh) * 2010-12-28 2015-04-29 联想(北京)有限公司 一种磁盘数据读取方法、装置及磁盘驱动装置
WO2012161059A1 (en) 2011-05-20 2012-11-29 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device and method for driving the same
KR101856506B1 (ko) 2011-09-22 2018-05-11 삼성전자주식회사 데이터 저장 장치 및 그것의 데이터 쓰기 방법
JP5798459B2 (ja) * 2011-11-28 2015-10-21 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ファイル要求アクセスを制御する方法
TWI486767B (zh) * 2012-06-22 2015-06-01 Phison Electronics Corp 資料儲存方法、記憶體控制器與記憶體儲存裝置
KR102080542B1 (ko) * 2013-06-27 2020-02-25 삼성전자 주식회사 저항체를 이용한 비휘발성 메모리 장치 및 그 구동 방법
KR20160075174A (ko) * 2014-12-19 2016-06-29 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작방법
JP6421042B2 (ja) * 2015-01-16 2018-11-07 ルネサスエレクトロニクス株式会社 情報処理装置
JP2017045388A (ja) * 2015-08-28 2017-03-02 株式会社東芝 メモリシステム
US20170060460A1 (en) * 2015-08-31 2017-03-02 Megachips Corporation Memory controller
JP6456799B2 (ja) * 2015-08-31 2019-01-23 株式会社メガチップス メモリコントローラ
US10268385B2 (en) * 2016-05-03 2019-04-23 SK Hynix Inc. Grouped trim bitmap
JP2017228172A (ja) 2016-06-23 2017-12-28 富士通株式会社 情報処理システム
KR200483205Y1 (ko) 2016-10-17 2017-04-26 김요한 드럼스틱
KR20180049338A (ko) * 2016-10-31 2018-05-11 삼성전자주식회사 저장 장치 및 그것의 동작 방법
US10762000B2 (en) * 2017-04-10 2020-09-01 Samsung Electronics Co., Ltd. Techniques to reduce read-modify-write overhead in hybrid DRAM/NAND memory
CN107340978B (zh) * 2017-07-18 2020-05-26 苏州浪潮智能科技有限公司 一种存储预读方法、装置及存储系统
US10521617B2 (en) * 2017-08-14 2019-12-31 Western Digital Technologies, Inc. Non-volatile memory device with secure read
KR20190090268A (ko) * 2018-01-24 2019-08-01 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
CN116644004A (zh) * 2018-05-23 2023-08-25 北京忆芯科技有限公司 预读方法及其存储控制器
KR20200019513A (ko) * 2018-08-14 2020-02-24 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그 동작 방법
CN111290975A (zh) * 2018-12-07 2020-06-16 北京忆恒创源科技有限公司 使用统一缓存处理读命令与预读命令的方法及其存储设备
US11216364B2 (en) 2020-02-18 2022-01-04 Micron Technology, Inc. Sequential read optimization in a memory sub-system that programs sequentially
US20210303470A1 (en) * 2020-03-27 2021-09-30 Micron Technology, Inc. Sequential prefetching through a linking array
CN113037886B (zh) * 2021-03-05 2022-02-08 腾讯科技(深圳)有限公司 网络设备的管理方法、装置、介质以及电子设备
CN114327284B (zh) * 2021-12-30 2023-02-03 河北建筑工程学院 一种数据处理的方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051896A (ja) * 1999-08-04 2001-02-23 Hitachi Ltd 記憶装置
US6516389B1 (en) * 1999-12-28 2003-02-04 Kabushiki Kaisha Toshiba Disk control device

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0328944A (ja) 1989-06-26 1991-02-07 Hitachi Ltd ディスク制御装置および該ディスク制御装置におけるキャッシュ制御方法
KR970008188B1 (ko) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
JPH0895852A (ja) 1994-09-29 1996-04-12 Sharp Corp バッファ回路
JP2900801B2 (ja) * 1994-10-27 1999-06-02 ティアック株式会社 光ディスク再生装置
JPH08249129A (ja) 1995-03-10 1996-09-27 Canon Inc 情報記録再生装置
US6553476B1 (en) * 1997-02-10 2003-04-22 Matsushita Electric Industrial Co., Ltd. Storage management based on predicted I/O execution times
JPH11224165A (ja) 1998-02-09 1999-08-17 Hitachi Ltd ディスク装置
JP3544476B2 (ja) * 1998-09-11 2004-07-21 富士通株式会社 メモリ管理テーブル作成方法
JP3495266B2 (ja) * 1998-11-13 2004-02-09 Necエレクトロニクス株式会社 キャッシュロック装置及びキャッシュロック方法
JP3043732B1 (ja) 1998-12-18 2000-05-22 甲府日本電気株式会社 データ置換システム
US6754779B1 (en) * 1999-08-23 2004-06-22 Advanced Micro Devices SDRAM read prefetch from multiple master devices
JP2001125829A (ja) 1999-10-28 2001-05-11 Internatl Business Mach Corp <Ibm> コントローラ装置、ディスクコントローラ、補助記憶装置、コンピュータ装置、および補助記憶装置の制御方法
JP3535800B2 (ja) * 2000-03-31 2004-06-07 松下電器産業株式会社 ディスクメモリ装置、データ先読み方法、及び記録媒体
EP1280063A3 (en) * 2001-07-27 2005-03-30 Fujitsu Limited Cache control methods and apparatus for hard disk drives
JP4348883B2 (ja) 2001-08-21 2009-10-21 ソニー株式会社 データ再生装置及びデータキャッシュ方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051896A (ja) * 1999-08-04 2001-02-23 Hitachi Ltd 記憶装置
US6516389B1 (en) * 1999-12-28 2003-02-04 Kabushiki Kaisha Toshiba Disk control device

Also Published As

Publication number Publication date
JP2004318940A (ja) 2004-11-11
US7191308B2 (en) 2007-03-13
TWI358641B (en) 2012-02-21
KR20110007073A (ko) 2011-01-21
US7552311B2 (en) 2009-06-23
US20040205301A1 (en) 2004-10-14
KR20040089581A (ko) 2004-10-21
TW200502756A (en) 2005-01-16
CN1538284A (zh) 2004-10-20
US20070150662A1 (en) 2007-06-28
KR101081716B1 (ko) 2011-11-08

Similar Documents

Publication Publication Date Title
KR101054153B1 (ko) 기억 장치
JP4967680B2 (ja) 記憶装置およびコンピュータシステム、並びに記憶装置の管理方法
KR100218871B1 (ko) 반도체 디스크 장치
KR101495975B1 (ko) 휘발성 및 비휘발성 메모리를 갖는 하이브리드 고체 메모리 시스템
KR100725390B1 (ko) 수정 빈도를 고려하여 데이터를 비휘발성 캐쉬부에저장하는 장치 및 방법
US7802054B2 (en) Apparatus and methods using invalidity indicators for buffered memory
JP3942807B2 (ja) ブロックアラインメント機能付き半導体記憶装置
US7694087B2 (en) Duplicate data storing system, duplicate data storing method, and duplicate data storing program for storage device
US6477632B1 (en) Storage device and accessing method
US5841699A (en) Storage device and method to detect its degradation
US6256232B1 (en) Data access method capable of reducing the number of erasing to flash memory and data patch and access device using the same
US20070016719A1 (en) Memory device including nonvolatile memory and memory controller
KR20090037705A (ko) 불휘발성 메모리 시스템 및 그것의 파일 데이터 관리 방법
US20200098423A1 (en) Data storage device and control method for non-volatile memory
JP3421581B2 (ja) 不揮発性半導体メモリを用いた記憶装置
KR100703680B1 (ko) 플래시 파일 시스템
JP5036078B2 (ja) 記憶装置
JP2005222534A (ja) フラッシュメモリのデータ管理装置及び方法
JP2001147855A (ja) 不揮発性メモリへのデータ書き込み方法および情報処理装置ならびに記録媒体
KR100914646B1 (ko) 멀티-플레인 구조의 플래시 메모리 관리 방법
JP2008197981A (ja) 半導体記憶装置
JP3976764B2 (ja) 半導体ディスク装置
US6871260B2 (en) Non-volatile memory based storage system capable of directly overwriting without using redundancy and its writing method
JP2009080926A (ja) 記憶装置
JPH10289144A (ja) メモリの制御方法

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150626

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170704

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180719

Year of fee payment: 8