KR100300250B1 - 반도체기억장치및그데이터관리방법 - Google Patents

반도체기억장치및그데이터관리방법 Download PDF

Info

Publication number
KR100300250B1
KR100300250B1 KR1019980017434A KR19980017434A KR100300250B1 KR 100300250 B1 KR100300250 B1 KR 100300250B1 KR 1019980017434 A KR1019980017434 A KR 1019980017434A KR 19980017434 A KR19980017434 A KR 19980017434A KR 100300250 B1 KR100300250 B1 KR 100300250B1
Authority
KR
South Korea
Prior art keywords
data
memory
cluster
host system
unit
Prior art date
Application number
KR1019980017434A
Other languages
English (en)
Other versions
KR19990029196A (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 KR19990029196A publication Critical patent/KR19990029196A/ko
Application granted granted Critical
Publication of KR100300250B1 publication Critical patent/KR100300250B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 데이터 전송시의 오버 헤드를 감소시켜, 데이터 전송 속도의 저하를 감소시킬 수 있는 반도체 기억 장치 및 그 데이터 관리 방법을 제공하는 것이다. 메모리부는 클러스터 단위로 데이터 전송을 실행할 수 있는 AND형의 플래쉬 메모리로 형성되고, 캐쉬 메모리의 기능을 행하는 버퍼부와 메모리부 사이에서의 데이터 전송을 클러스터 단위로 실행하도록 하였다.

Description

반도체 기억 장치 및 그 데이터 관리 방법{SEMICONDUCTOR STORAGE DEVICE AND DATA MANAGEMENT METHOD THEREFOR}
본 발명은 플래쉬 메모리 등의 비휘발성 메모리를 사용한 반도체 기억 장치 및 그를 위한 데이터 관리 방법에 관한 것이다.
통상적인 비휘발성 반도체 메모리의 한가지 유형으로서 플래쉬 메모리가 있고, 플래쉬 메모리는 섹터 단위로 데이터를 전송한다. 도 15에는 이러한 형태의 플래쉬 메모리를 사용하는 통상의 반도체 기억 장치의 개략적인 블럭도가 도시되어 있다. 도 15에 도시된 바와 같이, 반도체 기억 장치(100)는 입출력 제어부(101), 논리 제어부(102), 제어부(103), SRAM 등의 휘발성 메모리로 구성된 버퍼부(104) 및 플래쉬 메모리 등의 비휘발성 메모리로 구성된 메모리부(105)로 형성되어 있다.
입출력 제어부(101)는 입출력 버스(106)를 통해 정보 처리 장치와 같은 호스트 시스템 장치(110)와 인터페이스하고, 논리 제어부(102)는 입출력 버스(106) 및 제어 버스(107)를 거쳐 호스트 시스템 장치(110)와 인터페이스한다. 제어부(103)는 호스트 시스템 장치(110)로부터의 커맨드에 따라 입출력 제어부(101), 논리 제어부(102), 버퍼부(104) 및 메모리부(105)의 제어를 행한다. 입출력 버스(106)는 어드레스 버스 및 데이터 버스로서 공유되는 버스이고, 제어 버스(107)는 호스트 시스템 장치(110)로부터 논리 제어부(102)로 각종 신호를 입력하기 위한 여러 신호선과, 반도체 기억 장치(100)로부터 장치 상태를 나타내는 신호를 호스트 시스템 장치(110)로 출력하기 위한 신호선으로 형성되어 있다.
이러한 구성에 있어서, 입출력 제어부(101)는 입출력 버스(106)를 거쳐 호스트 시스템 장치(110)로부터 수신된 커맨드를 제어부(103)로, 입출력 버스(106)를 거쳐 호스트 시스템 장치(110)로부터 수신된 데이터를 버퍼부(104)로 각각 전송한다. 논리 제어부(102)는 입출력 버스(106)를 거쳐 수신된 어드레스 데이터 및 제어 버스(107)를 거쳐 수신된 제어 신호를 제어부(103)로 출력하며, 제어부(103)로부터 입력된 장치 상태(device state)를 나타내는 신호를 제어 버스(107)를 거쳐 호스트 시스템 장치(110)로 출력한다.
제어부(103)는 호스트 시스템 장치(110)로부터의 메모리부(105)에 대한 데이터 판독 또는 데이터 기입 등을 명령하는 커맨드 및 어드레스 데이터와 같은 제어 데이터에 따라 메모리부(105)를 제어한다.
메모리부(105)를 구성하는 플래쉬 메모리는 데이터를 8 비트 또는 16 비트 단위로만 기입 또는 판독이 가능하지만, 호스트 시스템 장치(110)는 512 바이트 단위로 데이터의 송수신을 실행하기 때문에, 제어부(103)는 버퍼부(104)를 캐쉬 메모리로서 사용한다.
이와 같은 형태의 종래의 반도체 기억 장치에 있어서, 메모리부(105)가 AND형의 플래쉬 메모리로 형성되어 있는 경우, 호스트 시스템 장치(110)와의 사이에서 데이터를 대용량의 섹터 단위로 전송하였을 때, 섹터의 사이즈는, 데이터의 전송을 위해 최소의 오버헤드 요건을 강요한다. 즉, 1섹터마다 버퍼부(104)와 메모리부(105) 사이에서 데이터의 판독 및 기입이 실행되어야 하기 때문에, 이 반도체 기억 장치(100)를 사용한 시스템에서의 유효 데이터 전송 속도가 늦어진다고하는 문제가 있었다.
본 발명의 목적은 상기의 문제점을 해결하기 위해 이루어진 것으로서, 데이터 전송시의 오버 헤드를 감소시켜, 데이터 전송 속도의 저하를 감소시킬 수 있는 반도체 기억 장치를 제공하는 데 있다.
본 발명의 다른 목적은 본 발명에 따른 반도체 기억 장치를 이용하는 데이터 관리 방법을 제공하는 데 있다.
도 1은 본 발명의 바람직한 실시예에 따른 반도체 기억 장치의 블럭도,
도 2는 도 1에서 도시한 메모리부에 있어서의 메모리 공간의 맵을 도시한 도면,
도 3은 도 1에서 도시한 반도체 기억 장치에 있어서 섹터로부터의 데이터 판독시의 동작을 설명하기 위한 흐름도,
도 4는 도 1에서 도시한 반도체 기억 장치에 있어서 섹터 관리 영역으로부터의 데이터 판독시의 동작을 설명하기 위한 흐름도,
도 5는 도 1에서 도시한 반도체 기억 장치에 있어서 클러스터 내의 연속한 복수의 섹터로부터의 데이터 판독시의 동작을 설명하기 위한 흐름도,
도 6은 도 1에서 도시한 반도체 기억 장치에 있어서 클러스터로부터의 데이터 판독시의 동작을 설명하기 위한 흐름도,
도 7은 도 1에서 도시한 반도체 기억 장치에 있어서 섹터로의 데이터 기입시의 동작을 설명하기 위한 흐름도,
도 8은 도 1에서 도시한 반도체 기억 장치에 있어서 섹터 관리 영역으로의데이터 기입시의 동작을 설명하기 위한 흐름도,
도 9는 도 1에서 도시한 반도체 기억 장치에 있어서 클러스터내의 복수의 연속 섹터로의 데이터 기입시의 동작을 설명하기 위한 흐름도,
도 10은 도 1에서 도시한 반도체 기억 장치에 있어서 클러스터로의 데이터 기입시의 동작을 설명하기 위한 흐름도,
도 11은 도 1에서 도시한 반도체 기억 장치에 있어서 섹터의 데이터 재기입시의 동작을 설명하기 위한 흐름도,
도 12는 도 1에서 도시한 반도체 기억 장치에 있어서 섹터 관리 영역의 데이터 재기입시의 동작을 설명하기 위한 흐름도,
도 13은 도 1에서 도시한 반도체 기억 장치에 있어서 클러스터내의 복수의 연속 섹터의 데이터 재기입시의 동작을 설명하기 위한 흐름도,
도 14는 도 1에서 도시한 반도체 기억 장치에 있어서 클러스터의 데이터 재기입시의 동작을 설명하기 위한 흐름도,
도 15는 플래쉬 메모리를 사용한 통상적인 반도체 기억 장치의 블럭도.
도면의 주요 부분에 대한 부호의 설명
1 ; 반도체 기억 장치 2 ; 입출력 제어부
3 ; 논리 제어부 4 ; 제어부
5 ; 버퍼부 6 ; 메모리부
10 ; 호스트 시스템 장치
상기 목적을 달성하기 위해, 본 발명에 관한 반도체 기억 장치는 정보 처리기기 등으로 이루어지는 호스트 시스템 장치에서 사용되고 비휘발성 메모리를 이용하는 반도체 기억 장치에 있어서, 호스트 시스템 장치와 인터페이스하는 인터페이스부와, 클러스터 단위 데이터 전송을 하는 복수의 비휘발성 메모리로 구성된 메모리부와, 인터페이스부를 거쳐 호스트 시스템 장치와 메모리부 사이의 데이터 전송을 위해 캐쉬 메모리로서 사용되는 휘발성 메모리로 형성된 버퍼부와, 호스트 시스템 장치로부터의 커맨드에 따라 상기 메모리부 및 버퍼부의 제어를 행하는 제어부를 구비하고, 상기 제어부는, 메모리부의 1 클러스터에 대응하는 섹터 어드레스 포맷을 이용하여, 버퍼부를 액세스하여 사용하는 것이다.
이와 같이 구성된 본 발명에 따른 반도체 기억 장치의 메모리부는 클러스터 단위로 데이터 전송을 실행할 수 있고, 캐쉬 메모리의 기능을 행하는 버퍼부와 메모리부 사이에서의 데이터 전송을 클러스터 단위로 실행할 수 있다. 따라서, 섹터 단위로 데이터 전송을 실행한 경우와 비교하여, 데이터 전송시의 오버 헤드를 감소시켜서, 데이터 전송 속도의 저하를 감소시킬 수 있다.
또한, 본 발명에 따른 반도체 기억 장치에서는, 메모리부에서 특정 데이터를 판독하는 경우, 이 특정 데이터가 저장된 메모리부 클러스터를 판독하여 버퍼부에 저장한 후, 버퍼부에서 상기 특정 데이터를 판독하여 호스트 시스템 장치로 출력하도록 하였다. 따라서, 데이터 판독시에 있어서, 섹터 단위로 데이터 판독을 행한 경우에 비교하여, 데이터 판독시의 오버 헤드를 감소시켜서, 데이터 판독 속도의 저하를 감소시킬 수 있다.
본 발명의 반도체 기억 장치는 또한, 메모리부의 빈영역에 데이터를 기입하는 경우, 호스트 시스템 장치로부터 입력된 데이터를 호스트 시스템 장치에 의해 지정된 어드레스에 대응하는 버퍼부의 어드레스에 저장한 후, 해당 버퍼부에 형성된 클러스터를 판독하여, 호스트 시스템 장치에 의해 지정된 메모리부의 클러스터에 저장하도록 하였다. 따라서, 섹터 단위로 데이터 기입을 행한 경우와 비교하여, 데이터 기입시의 오버 헤드를 감소시켜서, 데이터 기입 속도의 저하를 감소시킬 수 있다.
본 발명의 반도체 기억 장치는, 메모리부에 저장되어 있는 데이터를 재기입하는 경우, 재기입을 행할 특정 데이터가 저장된 메모리부의 클러스터를 판독하여 버퍼부에 저장하고, 판독한 메모리부의 클러스터를 소거하며, 호스트 시스템 장치에 의해 지정된 메모리부의 어드레스에 대응하는 버퍼부에 저장된 클러스터 내의 데이터를, 호스트 시스템 장치로부터 입력된 데이터로 덮어쓰기(overwrite)한 후, 해당 버퍼부에 형성된 클러스터를 판독하여, 상기 소거한 메모리부의 클러스터에 저장하도록 하였다. 따라서, 데이터 재기입시에 있어서, 섹터 단위로 데이터 재기입을 행한 경우와 비교하여, 데이터 재기입시의 오버 헤드를 감소시켜서, 데이터 재기입 속도의 저하를 감소시킬 수 있다.
본 발명의 반도체 기억 장치에서, 버퍼부는 메모리부의 1 클러스터와 동일한 용량을 갖는 것이 바람직하다. 이것은, 버퍼부에서 메모리부의 클러스터에서와 동일한 논리적 섹터 구조 및 섹터 관리 영역이 이용될 수 있게 함으로써, 버퍼부와 메모리부 사이에 클러스터 단위의 데이터 전송을 용이하게 한다.
본 발명의 반도체 기억 장치에서, 메모리부는 AND형의 플래쉬 메모리로 형성되는 것이 바람직하다. 이것은, 상술한 바와 같이, 클러스터 단위로 데이터 전송을 가능하게 하므로, 섹터 단위의 데이터 전송에 비교하여, 데이터 전송시의 오버 헤드 및 그에 따른 데이터 전송 속도의 저하를 감소시킬 수 있다.
또한, 클러스터 단위로 데이터 전송을 행하는 복수의 비휘발성 메모리 영역을 갖는 메모리부와, 캐쉬 메모리로서 사용되는 휘발성 메모리를 갖는 버퍼부를 구비하며, 정보 처리 장치와 같은 호스트 시스템 장치에 사용되는 반도체 기억 장치의 데이터 관리 방법에 있어서, 메모리부로부터의 데이터 판독시에, 호스트 시스템 장치에 의해 지정된 어드레스의 데이터가 저장된 메모리부의 클러스터를 판독하는 단계와, 상기 판독한 메모리부의 클러스터를 상기 버퍼부에 저장하는 단계와, 호스트 시스템 장치에 의해 지정된 버퍼부 어드레스로부터 데이터를 판독하여 호스트 시스템 장치로 출력하는 단계를 포함한다.
본 발명의 상기 및 그밖의 목적, 특징, 국면 및 장점들은 첨부 도면을 참조로 설명하는 이하의 상세한 설명으로부터 더욱 명백해질 것이다.
이하, 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 도 1은 본 발명의 바람직한 실시예에 따른 반도체 기억 장치의 예를 도시하는 개략적인 블럭도이다. 도 1에 도시된 바와 같이, 본 발명에 따른 반도체 기억 장치(1)는 입출력 제어부(2), 논리 제어부(3), 제어부(4), SRAM 등의 휘발성 메모리를 포함하는 버퍼부(5) 및 플래쉬 메모리 등의 비휘발성 메모리를 포함하는 메모리부(6)로 형성되어 있다. 또한, 입출력 제어부(2) 및 논리 제어부(3)는 호스트 시스템 장치(10)와의 인터페이스부로서 기능한다.
입출력 제어부(2)는 입출력 버스(7)를 거쳐 정보 처리기기 등으로 이루어지는 호스트 시스템 장치(10)에 접속되고, 논리 제어부(3)는 제어 버스(8)를 거쳐서 호스트 시스템 장치(10)에 마찬가지로 접속된다. 입출력 제어부(2)는 또한 제어부(4) 및 버퍼부(5)에 접속되고, 논리 제어부(3)는 또한 제어부(4)에 접속된다. 제어부(4)는 버퍼부(5) 및 메모리부(6)에 접속되고, 버퍼부(5)는 또한 메모리부(6)에 접속되어 있다.
입출력 제어부(2)는 입출력 버스(7)를 거쳐 호스트 시스템 장치(10)와 인터페이스하고, 논리 제어부(3)는 입출력 버스(7) 및 제어 버스(8)를 거쳐 호스트 시스템 장치(10)와 인터페이스한다. 제어부(4)는 호스트 시스템 장치(10)로부터의 커맨드에 따라 입출력 제어부(2), 논리 제어부(3), 버퍼부(5) 및 메모리부(6)를 제어한다.
입출력 버스(7)는 어드레스 버스 및 데이터 버스로서 사용된다. 제어 버스(8)는 각종 제어 신호를 호스트 시스템 장치(10)로부터 공급하기 위한 신호선과, 상태 검출 신호 READY를 반도체 기억 장치(1)로부터 호스트 시스템 장치(10)로 출력하기 위한 신호선을 포함한다. 이들 제어 신호는, 예컨대, 칩 선택 신호 CS#, 출력 인에이블 신호 OE#, 기입 인에이블 신호 WE#, 리세트 신호 RES 및 클럭 펄스 신호 CLK를 포함한다. 상태 검출 신호 READY는 반도체 기억 장치(1)가 준비 상태인지 여부를 나타낸다. 또한, 각 제어 신호의 후미에 나타내는 부호인 #은 반전된 신호 레벨, 즉, 신호가 로우 액티브(low active)임을 나타낸다.
입출력 제어부(2)는 입출력 버스(7)를 거쳐 송출되는 호스트 시스템 장치(10)로부터의 커맨드를 제어부(4)로, 메모리부(6)에 저장될 데이터를 버퍼부(5)로 각각 출력하고, 버퍼부(5)를 거쳐 메모리부(6)로부터 판독된 데이터를, 입출력 버스(7)를 거쳐 호스트 시스템 장치(10)로 출력한다.
논리 제어부(3)는 입출력 버스(7)를 거쳐 입력된 어드레스 데이터 및 제어 버스(8)를 거쳐 입력된 제어 신호를 제어부(4)로 전송하며, 제어부(4)로부터 입력된 장치 상태 신호를 제어 버스(8)를 거쳐 호스트 시스템 장치(10)로 출력한다.
제어부(4)는 호스트 시스템 장치(10)로부터의 메모리부(6)에 대한 데이터 판독 또는 데이터 기입을 위한 커맨드를 포함하는, 어드레스 데이터 및 다른 제어 신호에 따라 메모리부(6)를 제어한다. 메모리부(6)에 사용되는 플래쉬 메모리는 데이터를 8 비트 또는 16 비트 단위로만 기입 또는 판독할 수 있는 반면에, 호스트 시스템 장치(10)와는 512 바이트 단위로 데이터가 교환될 수 있다. 따라서, 제어부(4)는 버퍼부(5)를 캐쉬 메모리로서 사용해야 한다.
메모리부(6)는 클러스터 단위로 데이터를 전송할 수 있는 AND형의 플래쉬 메모리이다. 따라서, 버퍼부(5)는 1 클러스터를 저장하기에 충분한 용량을 구비하며, 제어부(4)는 버퍼부(5)를 메모리부(6)의 클러스터와 동일한 구성이 되도록 복수의 섹터 및 섹터 관리 영역을 포맷한다.
도 2는 메모리부(6)에 있어서의 메모리 공간의 맵(map)을 도시한 도면이다. 도 2에서, 메모리부(6)는 복수의 클러스터 A1∼Am(m은 자연수)를 포함하고, 클러스터마다 어드레스가 할당된다. 각 클러스터 A1∼Am은 복수의 섹터 B1∼Bn(n은 자연수)를 포함하며, 각기 대응하는 섹터 관리 영역 C1∼Cn을 갖는다. 섹터 관리 영역 C1∼Cn은 대응하는 섹터 B1∼Bn에 관한 정보를 저장하며, 대응하는 섹터 B1∼Bn의 뒤에 후속해서 마련된다. 따라서, 제어부(4)는 메모리부(6)의 클러스터 A1∼Am에서와 동일한 구성의 섹터 B1∼Bn와 대응 섹터 관리 영역 C1∼Cn을 갖는 버퍼부(5)를 사용한다.
호스트 시스템 장치(10)로부터 입력되는 어드레스 데이터는, 특정 오프세트, 예컨대, 최하위 어드레스로부터 3 또는 4 비트에 의해 섹터 B1∼Bn의 어드레스를 나타낸다. 따라서, 제어부(4)는 호스트 시스템 장치(10)로부터 수신된 적절한 응답하여, 호스트 시스템 장치(10)로부터 입력된 어드레스 데이터가 나타내는 메모리부(6)의 클러스터 어드레스를 액세스함으로써 데이터의 판독, 기입 및 소거를 실행할 수 있다.
다음으로, 상기한 바와 같이 구성된 반도체 기억 장치(1)가 메모리부(6)에 저장된 데이터를 판독하는 동작에 대하여 설명한다.
도 3은 도 1에 도시한 반도체 기억 장치에 있어서 호스트 시스템 장치(10)에 의해 지정된 섹터(대응 섹터 관리 영역을 포함)를 판독하는 섹터 판독 루틴 동작을 설명하기 위한 흐름도이다.
도 3에서, 최초의 단계 S1에서, 호스트 시스템 장치(10)는 판독될 섹터를 나타내는 어드레스 데이터를 입출력 버스(7)를 거쳐 논리 제어부(3)로 출력하고, 논리 제어부(3)는 이 어드레스 데이터를 제어부(4)로 출력한다.
다음에, 단계 S2에서, 호스트 시스템 장치(10)는 특정 섹터 및 대응 섹터 관리 영역을 판독하기 위한 지정된 섹터 판독 커맨드를 입출력 버스(7)를 거쳐 입출력 제어부(2)로 출력하며, 제어 신호를 제어 버스(8)를 거쳐 논리 제어부(3)로 출력한다. 입출력 제어부(2)는 수신된 섹터 판독 커맨드를 제어부(4)로 출력하고, 논리 제어부(3)는 수신된 제어 신호를 제어부(4)로 출력한다.
단계 S3에서, 제어부(4)는 입출력 제어부(2)로부터 입력된 커맨드가 섹터 판독 커맨드임을 인식하고, 호스트 시스템 장치(10)에 의해 지정된 섹터를 포함하는 클러스터를 메모리부(6)로부터 판독하여 버퍼부(5)에 저장한다.
단계 S4에서, 제어부(4)는 버퍼부(5)에 저장한 클러스터로부터, 호스트 시스템 장치(10)에 의해 지정된 특정 섹터 및 대응 섹터 관리 영역을 판독하여, 이 판독 정보를 입출력 제어부(2) 및 입출력 버스(7)를 거쳐 호스트 시스템 장치(10)로 출력한 후 루틴을 종료한다.
도 3에서는 지정된 섹터를 이에 대응하는 섹터 관리 영역이 모두 판독되는 경우를 도시하였지만, 호스트 시스템 장치(10)로부터의 섹터 판독 커맨드가 섹터 관리 영역을 포함하고 있지 않는 경우에는, 도 3의 단계 S4에서 호스트 시스템 장치(10)에 의해 지정된 섹터만이 판독된다.
다음에, 특정 섹터 관리 영역을 판독하는 경우에 있어서의, 도 1에 도시한 반도체 기억 장치(1)의 섹터 관리 영역 판독 루틴의 예를 도 4의 흐름도를 이용하여 설명한다.
단계 S11에서, 호스트 시스템 장치(10)는 판독될 섹터 관리 영역에 연관되는 섹터를 나타내는 어드레스 데이터를 입출력 버스(7)를 거쳐 논리 제어부(3)로 출력하며, 논리 제어부(3)는 이 어드레스 데이터를 제어부(4)로 출력한다.
단계 S12에서, 호스트 시스템 장치(10)는 특정 섹터 관리 영역을 판독하기 위한 지정된 섹터 관리 영역 판독 커맨드를 입출력 버스(7)를 거쳐 입출력 제어부(2)로 출력하며, 제어 신호를 제어 버스(8)를 거쳐 논리 제어부(3)로 출력한다. 입출력 제어부(2)는 수신된 섹터 관리 영역 판독 커맨드를 제어부(4)로 출력하고, 논리 제어부(3)는 수신된 제어 신호를 제어부(4)로 출력한다.
단계 S13에 있어서, 제어부(4)는 입출력 제어부(2)로부터 입력된 커맨드가 섹터 관리 영역 판독 커맨드인 것을 인식하여, 호스트 시스템 장치(10)에 의해 지정된 섹터를 포함하는 클러스터를 메모리부(6)로부터 판독하여 버퍼부(5)에 저장한다.
단계 S14에서, 제어부(4)는 버퍼부(5)에 저장한 클러스터로부터, 호스트 시스템 장치(10)에 의해 지정된 특정 섹터 관리 영역을 판독하여, 이 판독 정보를 입출력 제어부(2) 및 입출력 버스(7)를 거쳐 호스트 시스템 장치(10)로 출력한 후, 섹터 관리 영역 판독 루틴을 종료한다.
다음에, 특정 클러스터 내에서의 임의의 연속한 복수의 섹터 및 이에 대응하는 섹터 관리 영역을 판독하는 경우에 있어서의, 도 1에 도시한 반도체 기억 장치의 연속 섹터 판독 루틴의 예를 도 5의 흐름도를 이용하여 설명한다.
단계 S21에서, 호스트 시스템 장치(10)는 판독될 클러스터내의 복수의 연속 섹터중 선두 섹터를 나타내는 어드레스 데이터를 입출력 버스(7)를 거쳐 논리 제어부(3)로 출력하고, 논리 제어부(3)는 이 어드레스 데이터를 제어부(4)로 출력한다.
단계 S22에서, 호스트 시스템 장치(10)는 섹터 계수, 즉, 판독될 섹터의 수(the number of sectors)를 입출력 버스(7)를 거쳐 입출력 제어부(2)로 출력하고, 입출력 제어부(2)는 입력된 섹터수를 제어부(4)로 출력한다.
단계 S23에서, 호스트 시스템 장치(10)는 클러스터내의 일련의 연속 섹터 및 연관된 섹터 관리 영역을 판독하도록 지정된 연속 섹터 판독 커맨드를 입출력 버스(7)를 거쳐 입출력 제어부(2)로 출력하며, 제어 신호를 제어 버스(8)를 거쳐 논리 제어부(3)로 출력한다. 입출력 제어부(2)는 수신된 연속 섹터 판독 커맨드를 제어부(4)로 출력하며, 논리 제어부(3)는 수신된 제어 신호를 제어부(4)로 출력한다.
단계 S24에서, 제어부(4)는 입출력 제어부(2)로부터 입력된 커맨드가 연속 섹터 판독 커맨드인 것을 인식하여, 호스트 시스템 장치(10)에 의해 지정된 섹터를 포함하는 클러스터를 메모리부(6)로부터 판독해서 버퍼부(5)에 저장한다.
단계 S25에서, 제어부(4)는 버퍼부(5)에 저장한 클러스터로부터, 호스트 시스템 장치(10)에 의해 공급된 선두의 섹터 어드레스 및 섹터 계수에 의해 지정된 특정한 섹터 및 대응하는 섹터 관리 영역을 판독하여, 이 판독된 정보를 입출력 제어부(2) 및 입출력 버스(7)를 거쳐 호스트 시스템 장치(10)에 출력한 후, 루틴을 종료한다.
다음으로, 호스트 시스템 장치(10)가 지정한 모든 클러스터를 판독하는 경우에 있어서의, 도 1에 도시한 반도체 기억 장치(1)의 클러스터 판독 루틴의 예를 도 6의 흐름도를 이용하여 설명한다.
최초의 단계 S31에서, 호스트 시스템 장치(10)는 판독될 클러스터를 나타내는 어드레스 데이터를 입출력 버스(7)를 거쳐 논리 제어부(3)로 출력하고, 논리 제어부(3)는 이 어드레스 데이터를 제어부(4)로 출력한다.
단계 S32에서, 호스트 시스템 장치(10)는 특정 클러스터를 판독하기 위한 지정된 클러스터 판독 커맨드를 입출력 버스(7)를 거쳐 입출력 제어부(2)로 출력하며, 제어 신호를 제어 버스(8)를 거쳐 논리 제어부(3)로 출력한다. 입출력 제어부(2)는 수신된 클러스터 판독 커맨드를 제어부(4)로 출력하고, 논리 제어부(3)는 수신된 제어 신호를 제어부(4)로 출력한다.
단계 S33에서, 제어부(4)는 입출력 제어부(2)로부터 입력된 커맨드가 클러스터 판독 커맨드임을 인식하여, 호스트 시스템 장치(10)에 의해 지정된 클러스터를 메모리부(6)로부터 판독하여 버퍼부(5)에 저장한다.
단계 S34에서, 제어부(4)는 버퍼부(5)에 저장한 특정 클러스터를 판독하여, 판독된 정보를 입출력 제어부(2) 및 입출력 버스(7)를 거쳐 호스트 시스템 장치(10)로 출력한 후 루틴을 종료한다.
다음으로, 본 발명에 따른 반도체 기억 장치(1)에 있어서 메모리부(6)에 데이터를 기입하는 방법에 대하여 설명한다.
도 7은 도 1에서 도시한 반도체 기억 장치(1)에 있어서 호스트 시스템 장치(10)에 의해 지정된 특정 섹터 및 대응하는 섹터 관리 영역으로 데이터를 기입하는 섹터 기입 루틴 동작을 설명하기 위한 흐름도이다.
최초의 단계 S41에서, 호스트 시스템 장치(10)는 기입될 섹터를 나타내는 어드레스 데이터를 입출력 버스(7)를 거쳐 논리 제어부(3)로 출력하고, 논리 제어부(3)는 이 어드레스 데이터를 제어부(4)로 출력한다. 본 실시예에서, 호스트 시스템 장치(10)는 메모리부(6)에 있어서의 데이터가 기입되어 있지 않은 클러스터 내의 섹터의 어드레스 데이터를 출력한다.
단계 S42에서, 호스트 시스템 장치(10)는 특정 섹터 및 대응하는 섹터 관리 영역에 데이터를 기입하기 위한 지정된 섹터 기입 커맨드를 입출력 버스(7)를 거쳐 입출력 제어부(2)로 출력하고, 제어 신호를 제어 버스(8)를 거쳐 논리 제어부(3)로 출력한다. 입출력 제어부(2)는 수신된 섹터 기입 커맨드를 제어부(4)로 출력하고, 논리 제어부(3)는 수신된 제어 신호를 제어부(4)로 출력한다.
단계 S43에서, 제어부(4)는 입출력 제어부(2)로부터 입력된 커맨드가 섹터 기입 커맨드임을 인식하고, 호스트 시스템 장치(10)는 메모리부(6)의 지정된 섹터 및 대응하는 섹터 관리 영역에 저장될 데이터를 입출력 버스(7)를 거쳐 입출력 제어부(2)로 출력한다.
단계 S44에서, 입출력 제어부(2)는 수신된 데이터를 버퍼부(5)로 출력한다. 제어부(4)는 단계 S41에서 수신된 버퍼부의 어드레스 데이터에 따라 입출력 제어부(2)로부터 출력된 데이터를, 버퍼부(5)에 있어서의 지정된 섹터 및 대응하는 섹터 관리 영역에 저장한다.
단계 S45에서, 제어부(4)는 버퍼부(5)에 저장된 데이터 클러스터를 판독하여, 메모리부(6)에 있어서 호스트 시스템 장치(10)에 의해 지정된 클러스터에 데이터를 저장한 후 루틴을 종료한다.
도 7에 도시한 기입 루틴에서는 지정된 섹터 및 대응하는 섹터 관리 영역 모두가 기입되는 경우를 나타내었지만, 호스트 시스템 장치(10)로부터의 섹터 기입 커맨드가 섹터 관리 영역을 포함하고 있지 않은 경우에는, 도 7에서는 호스트 시스템 장치(10)에 의해 지정된 버퍼부(5)의 섹터에만 데이터가 기입된다.
다음으로, 호스트 시스템 장치(10)에 의해 지정된 섹터 관리 영역에 데이터를 기입하는 경우에 있어서의 도 1에 도시한 반도체 기억 장치(1)의 섹터 관리 영역 기입 루틴의 예를 도 8의 흐름도를 이용하여 설명한다.
단계 S51에서, 호스트 시스템 장치(10)는 기입될 섹터 관리 영역과 연관된 섹터를 나타내는 어드레스 데이터를 입출력 버스(7)를 거쳐 논리 제어부(3)로 출력하고, 논리 제어부(3)는 이 어드레스 데이터를 제어부(4)로 출력한다. 본 실시예에서, 호스트 시스템 장치(10)는 메모리부(6)에 있어서의 데이터가 기입되어 있지 않은 클러스터내 섹터의 어드레스 데이터를 출력한다.
단계 S52에서, 호스트 시스템 장치(10)는 특정 섹터 관리 영역에 데이터를 기입하기 위한 지정된 섹터 관리 영역 기입 커맨드를 입출력 버스(7)를 거쳐 입출력 제어부(2)로 출력하며, 제어 신호를 제어 버스(8)를 거쳐 논리 제어부(3)로 출력한다. 입출력 제어부(2)는 수신된 섹터 관리 영역 기입 커맨드를 제어부(4)로 출력하고, 논리 제어부(3)는 수신된 제어 신호를 제어부(4)로 출력한다.
단계 S53에서, 제어부(4)는 입출력 제어부(2)로부터 입력된 커맨드가 섹터 관리 영역 기입 커맨드인 것을 인식하고, 호스트 시스템 장치(10)는 메모리부(6)의 소망하는 섹터 관리 영역에 저장될 데이터를, 입출력 버스(7)를 거쳐 입출력 제어부(2)에 출력한다.
단계 S54에서, 입출력 제어부(2)는 수신된 데이터를 버퍼부(5)로 출력한다. 제어부(4)는 단계 S51에서 수신된 버퍼부 어드레스 데이터에 따라, 입출력 제어부(2)로부터 출력된 데이터를, 버퍼부(5)에 있어서의 지정된 섹터 관리 영역에 저장한다.
단계 S55에서, 제어부(4)는 버퍼부(5)에 저장된 데이터 클러스터를 판독하여, 메모리부(6)에 있어서 호스트 시스템 장치(10)에 의해 지정된 클러스터에 데이터를 기입한 후, 루틴을 종료한다.
다음으로, 호스트 시스템 장치(10)에 의해 지정된 클러스터내의 특정의 연속하는 일련의 복수 섹터 및 대응하는 섹터 관리 영역에 데이터 기입을 행하는 경우에 있어서의, 도 1에 도시한 반도체 기억 장치(1)의 연속 섹터 기입 루틴의 예를 도 9의 흐름도를 이용하여 설명한다.
최초의 단계 S61에서, 호스트 시스템 장치(10)는 기입될 클러스터내 복수의 연속 섹터중 선두 섹터를 나타내는 어드레스 데이터를 입출력 버스(7)를 거쳐 논리 제어부(3)로 출력하고, 논리 제어부(3)는 이 어드레스 데이터를 제어부(4)로 출력한다. 본 실시예에서, 호스트 시스템 장치(10)는 메모리부(6)에 있어서의 데이터가 기입되어 있지 않은 클러스터내 섹터의 어드레스 데이터를 출력한다.
단계 S62에서, 호스트 시스템 장치(10)는 섹터 계수, 즉, 기입될 섹터의 수를 입출력 버스(7)를 거쳐 입출력 제어부(2)로 출력하고, 입출력 제어부(2)는 이 섹터 계수를 제어부(4)로 출력한다.
단계 S63에서, 호스트 시스템 장치(10)는 클러스터내의 일련의 연속 섹터와 연관된 섹터 관리 영역에 데이터 기입을 행하기 위한 지정된 연속 섹터 기입 커맨드를 입출력 버스(7)를 거쳐 입출력 제어부(2)로 출력하며, 제어 신호를 제어 버스(8)를 거쳐 논리 제어부(3)로 출력한다. 입출력 제어부(2)는 수신된 연속 섹터 기입 커맨드를 제어부(4)로 출력하고, 논리 제어부(3)는 수신된 제어 신호를 제어부(4)로 출력한다.
단계 S64에서, 제어부(4)는 입출력 제어부(2)로부터 입력된 커맨드가 연속 섹터 기입 커맨드임을 인식하고, 호스트 시스템 장치(10)는 메모리부(6)의 지정된 연속 섹터 및 대응하는 섹터 관리 영역에 저장될 데이터를 입출력 버스(7)를 거쳐입출력 제어부(2)로 출력한다.
단계 S65에서, 입출력 제어부(2)는 입력된 기입 데이터를 버퍼부(5)로 출력한다. 제어부(4)는, 입출력 제어부(2)로부터 출력된 데이터를, 버퍼부(5)의 적절한 섹터나 섹터 관리 영역에 기입한다. 이때, 앞서 단계 S61에서 수신된 어드레스 데이터에 의해 지정된 섹터로부터 개시하여 앞서 단계 S62에서 지정된 섹터 계수에 대해 순차적으로 기입하는 것에 의해, 일련의 연속 섹터가 기입된다.
단계 S66에서, 제어부(4)는 버퍼부(5)에 저장된 데이터 클러스터를 판독하여, 이 데이터를 메모리부(6)에 있어서 호스트 시스템 장치(10)에 의해 지정된 클러스터에 기입한 후 루틴을 종료한다.
다음으로, 호스트 시스템 장치(10)에 의해 지정된 전체 클러스터에 데이터를 기입하는 경우에 있어서의 도 1에 도시한 반도체 기억 장치(1)의 클러스터 기입 루틴의 예를 도 10의 흐름도를 이용하여 설명한다.
최초의 단계 S71에서, 호스트 시스템 장치(10)는 기입될 클러스터를 나타내는 어드레스 데이터를 입출력 버스(7)를 거쳐 논리 제어부(3)로 출력하고, 논리 제어부(3)는 이 어드레스 데이터를 제어부(4)로 출력한다. 본 실시예에서, 호스트 시스템 장치(10)는 메모리부(6)에 있어서의 데이터가 기입되어 있지 않은 클러스터의 어드레스 데이터를 출력한다.
단계 S72에서, 호스트 시스템 장치(10)는 특정 클러스터에 데이터를 기입하기 위한 지정된 클러스터 기입 커맨드를 입출력 버스(7)를 거쳐 입출력 제어부(2)로 출력하며, 제어 신호를 제어 버스(8)를 거쳐 논리 제어부(3)로 출력한다. 입출력 제어부(2)는 수신된 클러스터 기입 커맨드를 제어부(4)로 출력하고, 논리 제어부(3)는 수신된 제어 신호를 제어부(4)로 출력한다.
단계 S73에서, 제어부(4)는 입출력 제어부(2)로부터 입력된 커맨드가 클러스터 기입 커맨드임을 인식하고, 호스트 시스템 장치(10)는 메모리부(6)의 지정된 클러스터에 저장될 데이터를, 입출력 버tm(7)를 거쳐 입출력 제어부(2)로 출력한다.
단계 S74에서, 입출력 제어부(2)는 수신된 데이터를 버퍼부(5)로 출력한다. 제어부(4)는 입출력 제어부(2)로부터 출력된 데이터를 버퍼부(5)의 지정된 클러스터에 저장한다.
단계 S75에서, 제어부(4)는 버퍼부(5)에 저장된 데이터 클러스터를 판독하여, 메모리부(6)에 있어서 호스트 시스템 장치(10)에 의해 지정된 클러스터에 기입한 후 루틴을 종료한다.
다음으로, 본 발명에 따른 반도체 기억 장치(1)의 메모리부(6)에 데이터를 재기입하는 동작에 대하여 설명한다.
도 11은 도 1에서 도시한 반도체 기억 장치에 있어서의, 특정 섹터 및 대응하는 섹터 관리 영역에 기입된 데이터의 재기입을 행하는 데이터 재기입 루틴의 예를 도시한 흐름도이다.
최초의 단계 S81에서, 호스트 시스템 장치(10)는 재기입될 섹터를 나타내는 어드레스 데이터를 입출력 버스(7)를 거쳐 논리 제어부(3)로 출력하고, 논리 제어부(3)는 이 어드레스 데이터를 제어부(4)로 출력한다.
단계 S82에서, 호스트 시스템 장치(10)는 특정 섹터 및 대응하는 섹터 관리영역에 데이터를 재기입하기 위한 지정된 섹터 재기입 커맨드를 입출력 버스(7)를 거쳐 입출력 제어부(2)로 출력하며, 제어 신호를 제어 버스(8)를 거쳐 논리 제어부(3)로 출력한다. 입출력 제어부(2)는 수신된 섹터 재기입 커맨드를 제어부(4)로 출력하고, 논리 제어부(3)는 수신된 제어 신호를 제어부(4)로 출력한다.
단계 S83에서, 제어부(4)는 입출력 제어부(2)로부터 입력된 커맨드가 섹터 재기입 커맨드임을 인식하고, 호스트 시스템 장치(10)에 의해 지정된 섹터를 포함하는 클러스터를 메모리부(6)로부터 판독하여 버퍼부(5)에 저장한다.
단계 S84에서, 제어부(4)는 버퍼부(5)로 판독된 메모리부(6)의 클러스터를 소거한다.
단계 S85에서, 호스트 시스템 장치(10)는 메모리부(6)의 지정된 섹터 및 대응하는 섹터 관리 영역에 덮어쓰여질 데이터를 입출력 버스(7)를 거쳐 입출력 제어부(2)로 출력한다.
단계 S86에서, 입출력 제어부(2)는 수신된 데이터를 버퍼부(5)로 출력한다. 제어부(4)는 버퍼부(5)의 지정된 섹터 및 대응하는 섹터 관리 영역에 기입하기 위해, 버퍼부(5)에 있어서의 단계 S81에서 지정된 어드레스의 섹터 및 대응하는 섹터 관리 영역을 입출력 제어부(2)로부터 출력된 데이터로 덮어쓰기한다.
단계 S87에서, 제어부(4)는 버퍼부(5)의 재기입된 데이터 클러스터를 판독하여, 이 데이터를, 앞서 데이터가 판독되었던 메모리부(6)의 클러스터에 재기입한다.
도 11에서는 기입 루틴에 의해 지정된 섹터 및 대응하는 섹터 관리 영역 모두가 재기입되는 경우를 나타내었지만, 호스트 시스템 장치(10)로부터의 섹터 재기입 커맨드가 섹터 관리 영역을 포함하고 있지 않은 경우, 호스트 시스템 장치(10)에 의해 지정된 버퍼부(5)의 섹터만 재기입되는 것 이외에는 상술한 재기입 동작과 마찬가지이기 때문에 더 이상의 설명을 생략한다.
다음으로, 도 1에 도시한 반도체 기억 장치(1)에서 특정 섹터 관리 영역에 기입된 데이터를 재기입하는 데이터 재기입 루틴의 예를 도 12의 흐름도를 이용하여 설명한다.
최초의 단계 S91에서, 호스트 시스템 장치(10)는 재기입될 섹터 관리 영역과 연관된 섹터를 나타내는 어드레스 데이터를 입출력 버스(7)를 거쳐 논리 제어부(3)로 출력하고, 논리 제어부(3)는 이 어드레스 데이터를 제어부(4)로 출력한다.
단계 S92에서, 호스트 시스템 장치(10)는 특정 섹터 관리 영역에 데이터를 재기입하기 위한 지정된 섹터 관리 영역 재기입 커맨드를 입출력 버스(7)를 거쳐 입출력 제어부(2)로 출력하며, 제어 신호를 제어 버스(8)를 거쳐 논리 제어부(3)로 출력한다. 입출력 제어부(2)는 수신된 섹터 관리 영역 재기입 커맨드를 제어부(4)로 출력하고, 논리 제어부(3)는 수신된 제어 신호를 제어부(4)로 출력한다.
단계 S93에서, 제어부(4)는 입출력 제어부(2)로부터 입력된 커맨드가 섹터 관리 영역 재기입 커맨드임을 인식하고, 호스트 시스템 장치(10)에 의해 지정된 섹터를 포함하는 클러스터를 메모리부(6)로부터 판독하여 버퍼부(5)에 저장한다.
단계 S94에서, 제어부(4)는 버퍼부(5)로 판독된 메모리부(6)의 클러스터를소거한다.
단계 S95에서, 호스트 시스템 장치(10)는 메모리부(6)의 지정된 섹터 관리 영역에 덮여쓰여질 데이터를 입출력 버스(7)를 거쳐 입출력 제어부(2)로 출력한다.
단계 S96에서, 입출력 제어부(2)는 수신된 데이터를 버퍼부(5)로 출력한다. 제어부(4)는 버퍼부(5)의 지정된 섹터 관리 영역에 기입하기 위해, 버퍼부(5)에 있어서의 단계 S91에서 지정된 어드레스의 섹터 관리 영역을, 입출력 제어부(2)로부터 출력된 데이터로 덮어쓰기한다.
단계 S97에서, 제어부(4)는 버퍼부(5)에 재기입된 데이터 클러스터를 판독하여, 앞서 데이터가 판독되었던 메모리부(6)의 클러스터에 데이터를 기입한 후 루틴을 종료한다.
다음으로, 도 1에 도시한 반도체 기억 장치(10)에서 클러스터내의 특정의 연속하는 일련의 복수 섹터 및 대응하는 섹터 관리 영역에 기입된 데이터가 재기입되는 연속 섹터 재기입 루틴의 예를 도 13의 흐름도를 이용하여 설명한다.
최초의 단계 S101에서, 호스트 시스템 장치(10)는 재기입될 클러스터내의 복수의 연속 섹터중 선두 섹터를 나타내는 어드레스 데이터를 입출력 버스(7)를 거쳐 논리 제어부(3)로 출력하고, 논리 제어부(3)는 이 어드레스 데이터를 제어부(4)로 출력한다.
단계 S102에서, 호스트 시스템 장치(10)는 섹터 계수, 즉, 재기입될 섹터의 수를 입출력 버스(7)를 거쳐 입출력 제어부(2)로 출력하고, 입출력 제어부(2)는 이 섹터 계수를 제어부(4)로 출력한다.
단계 S103에서, 호스트 시스템 장치(10)는 클러스터내의 일련의 연속 섹터 및 연관된 섹터 관리 영역을 재기입하기 위해 특정의 연속 섹터 재기입 커맨드를 입출력 버스(7)를 거쳐 입출력 제어부(2)로 출력하며, 제어 신호를 제어 버스(8)를 거쳐 논리 제어부(3)로 출력한다. 입출력 제어부(2)는 수신된 연속 섹터 재기입 커맨드를 제어부(4)로 출력하고, 논리 제어부(3)는 수신된 제어 신호를 제어부(4)로 출력한다.
단계 S104에서, 제어부(4)는 입출력 제어부(2)로부터 입력된 커맨드가 연속 섹터 재기입 커맨드임을 인식하고, 호스트 시스템 장치(10)에 의해 지정된 섹터를 포함하는 클러스터를 메모리부(6)로부터 판독하여 버퍼부(5)에 저장한다.
단계 S105에서, 제어부(4)는 버퍼부(5)로 판독된 메모리부(6)의 클러스터를 소거한다.
단계 S106에서, 호스트 시스템 장치(10)는 메모리부(6)의 지정된 연속 섹터 및 대응하는 섹터 관리 영역에 덮어쓰여질 데이터를 입출력 버스(7)를 거쳐서 입출력 제어부(2)로 출력한다.
단계 S107에서, 제어부(4)는 버퍼부(5)의 지정된 일련의 연속 섹터를 입출력 제어부(2)로부터 출력된 바람직한 데이터로 덮어쓰기한다. 이때의 데이터 덮어쓰기 동작은, 앞서 단계 S101에서 수신된 어드레스 데이터에 의해 지정될 섹터로부터 시작하여 단계 S102에서 지정된 섹터 계수에 대해 순차적으로 진행한다.
단계 S108에서, 제어부(4)는 버퍼부(5)에 재기입된 데이터 클러스터를 판독하여, 앞서 데이터가 판독되었던 메모리부(6)의 클러스터에 이 데이터를 저장한 후루틴을 종료한다.
다음으로, 도 1에 도시한 반도체 기억 장치(1)에서 특정 클러스터에 기입된 데이터가 재기입되는 데이터 재기입 루틴의 예를 도 14의 흐름도를 이용하여 설명한다.
최초의 단계 S111에서, 호스트 시스템 장치(10)는 재기입될 클러스터를 나타내는 어드레스 데이터를 입출력 버스(7)를 거쳐서 논리 제어부(3)로 출력하고, 논리 제어부(3)는 이 어드레스 데이터를 제어부(4)로 출력한다.
단계 S112에서, 호스트 시스템 장치(10)는 특정 클러스터에 데이터를 재기입하기 위한 지정된 클러스터 재기입 커맨드를 입출력 버스(7)를 거쳐서 입출력 제어부(2)로 출력하며, 제어 신호를 제어 버스(8)를 거쳐서 논리 제어부(3)로 출력한다. 입출력 제어부(2)는 수신된 클러스터 재기입 커맨드를 제어부(4)로 출력하고, 논리 제어부(3)는 수신된 제어 신호를 제어부(4)로 출력한다.
단계 S113에서, 제어부(4)는 입출력 제어부(2)로부터 입력된 커맨드가 클러스터 재기입 커맨드임을 인식하고, 호스트 시스템 장치(10)에 의해 지정된 클러스터를 메모리부(6)로부터 판독하여 버퍼부(5)에 저장한다.
단계 S114에서, 제어부(4)는 버퍼부(5)로 판독된 메모리부(6)의 클러스터를 소거한다.
단계 S115에서, 호스트 시스템 장치(10)는 메모리부(6)의 지정된 클러스터에 덮어쓰여질 데이터를 입출력 버스(7)를 거쳐서 입출력 제어부(2)로 출력한다.
단계 S116에서, 입출력 제어부(2)는 수신된 데이터를 버퍼부(5)로 출력한다.제어부(4)는, 버퍼부(5)의 지정된 클러스터에 데이터를 기입하기 위해 단계 S111에서 지정된 버퍼부(5)내 어드레스의 클러스터를, 입출력 제어부(2)로부터 출력된 데이터로 덮어쓰기한다.
단계 S117에서, 제어부(4)는 버퍼부(5)에 재기입된 데이터 클러스터를 판독하고, 앞서 데이터가 판독되었던 메모리부(6)의 클러스터에 이 데이터를 기입한 후, 루틴을 종료한다.
이상 설명한 바와 같이, 본 발명의 바람직한 실시예에 따른 반도체 기억 장치는 캐쉬 메모리의 기능을 행하는 버퍼부(5)와 메모리부(6) 사이에서 데이터 전송을 클러스터 단위로 실행할 수 있는 AND형의 플래쉬 메모리이다. 따라서, 섹터 단위의 데이터 전송에 한정되는 장치와 비교하여, 데이터 전송시의 오버 헤드를 감소시켜서, 오버 헤드가 높기 때문에 발생하는 데이터 전송 속도의 저하를 감소시킬 수 있다.
본 발명에 의하면, 데이터 전송시의 오버 헤드를 감소시켜, 데이터 전송 속도의 저하를 감소시킬 수 있다.
이상, 본 발명자에 의해 이루어진 발명을 상기 실시예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시예에 한정되는 것은 아니고 그 요지를 이탈하지 않는 범위에서 여러가지로 변경가능한 것은 물론이다.

Claims (7)

  1. 정보 처리 장치와 같은 호스트 시스템 장치에 사용되며 비휘발성 메모리를 이용하는 반도체 기억 장치에 있어서,
    상기 호스트 시스템 장치와의 인터페이스를 행하는 인터페이스부와,
    클러스터 단위로 데이터 전송을 행하는 복수의 비휘발성 메모리로 구성된 메모리부와,
    상기 인터페이스부를 통한 상기 호스트 시스템 장치와 상기 메모리부 사이의 데이터 전송에 대해 캐쉬 메모리로서 사용되는 휘발성 메모리를 포함하는 버퍼부와,
    상기 호스트 시스템 장치로부터의 커맨드에 따라 상기 메모리부 및 상기 버퍼부의 제어를 행하되, 메모리부의 1 클러스터에 대응하는 섹터 어드레스 포맷을 이용해서 상기 버퍼부를 액세스하여 사용하는 제어부
    를 포함하며,
    특정 데이터가 메모리부로부터 판독될 때, 상기 특정 데이터가 저장된 메모리부의 클러스터를 상기 버퍼부내로 판독한 후, 상기 특정 데이터를 상기 버퍼부로부터 판독하여 상기 호스트 시스템 장치로 전송하고,
    상기 버퍼부의 용량은 상기 메모리부의 1클러스터와 동일하며,
    상기 버퍼부는 상기 메모리부의 1클러스터에 대응하여 할당된 섹터 어드레스 포맷을 갖고, 상기 호스트 시스템 장치에 의해 지정된 특정 섹터 어드레스의 데이터는 상기 버퍼부로부터 판독되는
    반도체 기억 장치.
  2. 제 1 항에 있어서,
    상기 메모리부의 빈 영역에 데이터를 기입하는 경우, 상기 호스트 시스템 장치로부터 입력된 데이터를, 호스트 시스템 장치에 의해 지정된 어드레스에 대응하는 버퍼부의 어드레스에 저장한 후, 상기 버퍼부에 형성된 클러스터를 판독하여, 상기 호스트 시스템 장치에 의해 지정된 상기 메모리부의 클러스터에 저장하는 반도체 기억 장치.
  3. 제 1 항에 있어서,
    메모리부에 저장되어 있는 데이터를 재기입하는 경우, 덮어쓰여질 특정 데이터가 저장된 메모리부의 클러스터를 판독하여 버퍼부에 저장하고, 상기 판독된 메모리부의 클러스터를 소거하며, 상기 호스트 시스템 장치에 의해 지정된 메모리부의 어드레스에 대응하는 버퍼부에 저장된 클러스터내의 데이터를, 상기 호스트 시스템 장치로부터 입력된 데이터로 덮어쓰기한 후, 상기 버퍼부에 형성된 클러스터를 판독하여 상기 소거된 메모리부의 클러스터에 저장하는 반도체 기억 장치.
  4. 제 1 항에 있어서,
    상기 메모리부는 AND형의 플래쉬 메모리인 반도체 기억 장치.
  5. 규정된 일정한 데이터 사이즈를 갖는 클러스터 단위로 데이터 전송을 행하는 복수의 비휘발성 메모리 영역을 구비한 메모리부와, 1클러스터의 데이터를 저장하는데 필요한 메모리 사이즈를 갖는, 캐쉬 메모리로서 사용되는 휘발성 메모리를 갖는 버퍼부를 구비하며, 정보 처리 장치와 같은 호스트 시스템 장치에 사용되는 반도체 기억 장치의 데이터 관리 방법에 있어서,
    상기 메모리부로부터의 데이터 판독을 위해,
    상기 호스트 시스템 장치로부터 상기 반도체 기억 장치로 판독될 상기 메모리부의 적어도 하나의 섹터의 어드레스 데이터를 지정하는 단계와,
    상기 판독될 적어도 하나의 섹터를 포함하는 상기 메모리부의 클러스터를 지정하는 단계와,
    상기 버퍼부에 대해 상기 클러스터의 섹터 어드레스에 대응하는 섹터 어드레스를 국부적으로 할당하는 단계와,
    상기 메모리부의 상기 지정된 클러스터를 판독하는 단계와,
    상기 할당된 섹터 어드레스에 따라 상기 버퍼부에서 상기 메모리로부터 판독된 상기 클러스터를 저장하는 단계와,
    상기 지정된 어드레스 데이터에 따라 상기 버퍼부로부터 데이터를 판독하는 단계
    를 포함하는 데이터 관리 방법.
  6. 제 5 항에 있어서,
    메모리부의 빈 영역에 대한 데이터 기입시에,
    호스트 시스템 장치로부터 입력된 데이터를, 호스트 시스템 장치에 의해 지정된 어드레스에 대응하는 버퍼부의 어드레스에 저장하는 단계와,
    상기 버퍼부에 형성된 클러스터를 판독하는 단계와,
    상기 판독된 클러스터를 상기 호스트 시스템 장치에 의해 지정된 상기 메모리부의 클러스터에 저장하는 단계
    를 포함하는 데이터 관리 방법.
  7. 제 5 항에 있어서,
    메모리부에 저장되어 있는 데이터의 재기입시에,
    덮어쓰여질 특정 데이터가 저장된 상기 메모리부의 클러스터를 판독하는 단계와,
    상기 판독된 클러스터를 상기 버퍼부에 저장하는 단계와,
    상기 데이터가 판독되었던 상기 메모리부의 클러스터를 소거하는 단계와,
    상기 호스트 시스템 장치에 의해 지정된 메모리부의 어드레스에 대응하는 상기 버퍼부에 저장된 상기 클러스터내의 데이터를, 상기 호스트 시스템 장치로부터 입력된 데이터로 재기입하는 단계와,
    상기 버퍼부에 형성된 클러스터를 판독하는 단계와,
    상기 판독된 버퍼부의 클러스터를 상기 소거된 메모리부의 클러스터에 저장하는 단계
    를 포함하는 데이터 관리 방법.
KR1019980017434A 1997-09-09 1998-05-14 반도체기억장치및그데이터관리방법 KR100300250B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP24400297A JPH1185609A (ja) 1997-09-09 1997-09-09 半導体記憶装置及びそのデータ管理方法
JP97-244002 1997-09-09

Publications (2)

Publication Number Publication Date
KR19990029196A KR19990029196A (ko) 1999-04-26
KR100300250B1 true KR100300250B1 (ko) 2001-09-06

Family

ID=17112260

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980017434A KR100300250B1 (ko) 1997-09-09 1998-05-14 반도체기억장치및그데이터관리방법

Country Status (4)

Country Link
US (1) US6366977B1 (ko)
JP (1) JPH1185609A (ko)
KR (1) KR100300250B1 (ko)
TW (1) TW445452B (ko)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3953243B2 (ja) * 1998-12-29 2007-08-08 インターナショナル・ビジネス・マシーンズ・コーポレーション システム分析のためにバス・アービトレーション制御を使用する同期方法及び装置
KR20010076897A (ko) * 2000-01-28 2001-08-17 박태진 실시간 처리 시스템에서의 데이타 저장 제어 방법
JP3871184B2 (ja) 2000-06-12 2007-01-24 シャープ株式会社 半導体記憶装置
JP4711531B2 (ja) * 2001-03-23 2011-06-29 ルネサスエレクトロニクス株式会社 半導体記憶装置
TWI240864B (en) * 2001-06-13 2005-10-01 Hitachi Ltd Memory device
JP3900863B2 (ja) 2001-06-28 2007-04-04 シャープ株式会社 データ転送制御装置、半導体記憶装置および情報機器
WO2003085677A1 (fr) 2002-04-05 2003-10-16 Renesas Technology Corp. Memoire non volatile
JP4050548B2 (ja) 2002-04-18 2008-02-20 株式会社ルネサステクノロジ 半導体記憶装置
US7080222B1 (en) * 2002-09-20 2006-07-18 Cypress Semiconductor Corp. Cellular telephone memory with backup memory interface
JP5007485B2 (ja) * 2004-08-26 2012-08-22 ソニー株式会社 半導体記憶装置およびそのアクセス方法、並びにメモリ制御システム
JP2006146460A (ja) * 2004-11-18 2006-06-08 Sony Corp 通信システム、記憶装置、並びに制御装置
JP4908849B2 (ja) * 2006-01-11 2012-04-04 富士通セミコンダクター株式会社 ファイル削除方法、ファイル・オープン方法、ファイル削除プログラム、および、ファイル・オープン・プログラム
KR100622113B1 (ko) * 2006-03-03 2006-09-18 주식회사 퓨전소프트 데이터베이스 시스템을 위한 플래쉬 메모리 저장 시스템 및그 방법
US20090210612A1 (en) * 2006-03-16 2009-08-20 Matsushita Electric Industrial Co., Ltd. Memory controller, nonvolatile memory device, and nonvolatile memory system
EP2047368A4 (en) * 2006-07-31 2009-09-23 Toshiba Kk NON-VOLATILE MEMORY SYSTEM AND DATA READING / WRITING METHOD FOR NON-VOLATILE MEMORY SYSTEM
US7711889B2 (en) 2006-07-31 2010-05-04 Kabushiki Kaisha Toshiba Nonvolatile memory system, and data read/write method for nonvolatile memory system
JP4498341B2 (ja) * 2006-11-20 2010-07-07 株式会社東芝 メモリシステム
KR100823166B1 (ko) * 2006-12-04 2008-04-18 삼성전자주식회사 통신 속도가 향상된 메모리 카드 및 메모리 카드를포함하는 메모리 카드 시스템
JP2008152464A (ja) * 2006-12-15 2008-07-03 Toshiba Corp 記憶装置
JP4970078B2 (ja) * 2007-02-21 2012-07-04 株式会社東芝 不揮発性メモリシステム
KR100907477B1 (ko) 2007-07-16 2009-07-10 한양대학교 산학협력단 플래시 메모리에 저장된 데이터의 인덱스 정보 관리 장치및 방법
JP4731584B2 (ja) * 2008-05-08 2011-07-27 ルネサスエレクトロニクス株式会社 フラッシュメモリを搭載する記憶装置
US7761635B1 (en) * 2008-06-20 2010-07-20 Tableau, Llc Bridge device access system
US8122421B2 (en) * 2008-08-14 2012-02-21 Omnivision Technologies, Inc. System, and method, and computer readable medium for designing a scalable clustered storage integrated circuit for multi-media processing
TWI476676B (zh) * 2008-09-29 2015-03-11 Sandisk Il Ltd 用於使用不同叢集尺寸的儲存裝置之檔案系統
US8886885B2 (en) * 2009-11-13 2014-11-11 Marvell World Trade Ltd. Systems and methods for operating a plurality of flash modules in a flash memory file system
JP2013061795A (ja) * 2011-09-13 2013-04-04 Toshiba Corp 記憶装置、コントローラ、およびリードコマンド実行方法
JP2014086120A (ja) * 2012-10-26 2014-05-12 Toshiba Corp 半導体記憶装置及びその半導体記憶装置を用いたメモリシステム
US10031860B2 (en) * 2014-09-24 2018-07-24 Western Digital Technologies, Inc. Memory transfer of objects in a data storage device
US9851901B2 (en) 2014-09-26 2017-12-26 Western Digital Technologies, Inc. Transfer of object memory references in a data storage device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04313882A (ja) * 1991-04-12 1992-11-05 Fuji Photo Film Co Ltd メモリカードの記録管理方式

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5644787A (en) * 1993-08-03 1997-07-01 Seiko Epson Corporation Apparatus for controlling data transfer between external interfaces through buffer memory using table data having transfer start address transfer count and unit selection parameter
US5832525A (en) * 1996-06-24 1998-11-03 Sun Microsystems, Inc. Disk fragmentation reduction using file allocation tables
JPH10124381A (ja) * 1996-10-21 1998-05-15 Mitsubishi Electric Corp 半導体記憶装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04313882A (ja) * 1991-04-12 1992-11-05 Fuji Photo Film Co Ltd メモリカードの記録管理方式

Also Published As

Publication number Publication date
US6366977B1 (en) 2002-04-02
JPH1185609A (ja) 1999-03-30
KR19990029196A (ko) 1999-04-26
TW445452B (en) 2001-07-11

Similar Documents

Publication Publication Date Title
KR100300250B1 (ko) 반도체기억장치및그데이터관리방법
US6202138B1 (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US6757800B1 (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US6728851B1 (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
EP0712067B1 (en) Flash disk card
US5787484A (en) System and method which compares data preread from memory cells to data to be written to the cells
JP3898305B2 (ja) 半導体記憶装置、半導体記憶装置の制御装置及び制御方法
US5953737A (en) Method and apparatus for performing erase operations transparent to a solid state storage system
US20010023472A1 (en) Data storage control method and apparatus for external storage device using a plurality of flash memories
JP2000067574A (ja) 半導体記憶装置
JPH05204561A (ja) フラッシュメモリを記憶媒体とした半導体ディスク
US5724544A (en) IC memory card utilizing dual eeproms for image and management data
US5226015A (en) Semiconductor memory system
JPH05150913A (ja) フラツシユメモリを記憶媒体としたシリコンデイスク
US20050204115A1 (en) Semiconductor memory device, memory controller and data recording method
JPH06162786A (ja) フラッシュメモリを用いた情報処理装置
JP4273106B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JPH11259357A (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
FPAY Annual fee payment

Payment date: 20140530

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee