KR100193779B1 - 반도체 디스크 장치 - Google Patents

반도체 디스크 장치 Download PDF

Info

Publication number
KR100193779B1
KR100193779B1 KR1019960001047A KR19960001047A KR100193779B1 KR 100193779 B1 KR100193779 B1 KR 100193779B1 KR 1019960001047 A KR1019960001047 A KR 1019960001047A KR 19960001047 A KR19960001047 A KR 19960001047A KR 100193779 B1 KR100193779 B1 KR 100193779B1
Authority
KR
South Korea
Prior art keywords
data
memory area
physical
chain information
memory
Prior art date
Application number
KR1019960001047A
Other languages
English (en)
Other versions
KR960029984A (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 KR960029984A publication Critical patent/KR960029984A/ko
Application granted granted Critical
Publication of KR100193779B1 publication Critical patent/KR100193779B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system

Abstract

다수의 블록, 및 논리적 섹터 어드레스를 물리적-논리적 블록 수와 옵셋 값으로 변환하고, 물리적-논리적 블록 수에 근거하여 플래쉬 메모리내의 블록과 데이터 메모리 영역을 탐색하며, 그리고 갱신 데이터 체인 정보 메모리 영역 내에서 아무런 체인 데이터도 저장되어 있지 않을 때 데이터 메모리 영역의 내용을 판독하는 CPU로 구성된다.
블록은 물리적-논리적 블록 수 영역, 데이터를 저장하기 위한 다수의 데이터 메모리 영역, 해당하는 각 데이터 메모리 영역에 배치되고 데이터 메모리 영역이 데이터를 저장하고 있는지 여부를 지시하는 데이터 상태 플래그를 저장하는 데이터 상태 플래그 메모리 영역, 및 해당 하는 각 데이터 메모리 영역에 배치되고 데이터의 목적지를 지시하는 체인 정보를 저장하는 갱신 데이터 체인 정보 메모리 영역으로 구성된다.
그러므로 메모리 관리를 위한 어드레스 변환 테이블이 없어도 되며, 따라서 데이터 영역이 확장된다.

Description

반도체 디스크 장치
제1도는 본 발명의 제1 실시예의 구성을 일반적으로 도시하고 있는 블록도.
제2도는 본 발명의 제1 실시예의 플래쉬 메모리의 내부 구성을 도시하고 있는 도면.
제3도는 본 발명의 제1 실시예의 플래쉬 메모리 내의 블록의 구성을 도시하고 있는 도면.
제4도는 본 발명의 제1 실시예에 따른 소거 블록내의 블록정보 메모리 영역을 도시하고 있는 도면.
제5도는 본 발명의 제1 실시예에 따른 데이터 판독 동작을 도시하고 있는 블록도.
제6도는 본 발명의 제1 실시예에 따른 데이터 판독 동작을 도시하고 있는 흐름도.
제7도는 본 발명의 제1 실시예에 따른 데이터 기록 동작을 도시하고 있는 흐름도.
제8도는 본 발명의 제2 실시예의 구성을 일반적으로 도시하고 있는 블록도.
제9도는 본 발명의 제2 실시예에 따른 어드레스 변환 테이블의 구성을 도시하고 있는 도면.
제10도는 종래 반도체 디스크 장치를 도시하고 있는 블록도.
제11도는 종래 반도체 디스크 장치의 어드레스 변환 테이블의 구성을 도시하고 있는 도면.
제12도는 종래 반도체 디스크 장치의 플래쉬 메모리의 구성을 도시하고 있는 도면.
제13도는 종래 반도체 디스크 장치의 플래쉬 메모리 내의 블록을 도시하고 있는 도면.
제14도는 종래 반도체 디스크 장치의 데이터 판독 동작을 도시하고 있는 도면.
제15도는 종래 반도체 디스크 장치의 데이터 기록 동작을 도시하고 있는 도면.
제16도는 종래 반도체 디스크 장치의 데이터 기록 동작을 도시하고 있는 도면.
본 발명은 저장 매체로서 플래쉬 메모리를 상요하는 반도체 디스크 카드와 같은 반도체 디스크 장치에 관한 것이다.
현재 개인 컴퓨터 분야에서, 하드 디스크와 같은 자기 저장 매체는 상대적으로 많은 양의 데이터를 저장하는데 보편적으로 사용된다.
비록 하드 디스크 구동기의 전력 소비가 클지라도, 그것은 우수한 가격 성능을 제공한다.
하드 디스크 구동 장치가 하드 디스크를 구동하는 것과 같이 플래쉬 메모리와 같은 반도체 기억장치를 두동하는 반도체 디스크 구동장치가 도입되었었다.
하드 디스크 드라이브와는 다르게, 반도체 디스크 드라이브는 모터와 같은 어떠한 기계적 부분을 포함하고 있지 않다.
비록 반도체 디스크 드라이브가 경비 성능에서 자기 저장 매체 시스템보다 성능이 우수하지 않지만, 반도체 디스크 장치는 전력 소비와 신용도에서 자기 저장 시스템에 대해 장점을 갖는다.
그러므로 반도체 디스크 장체에 대한 수요가, 특히 운반가능한 정보 터미날 분야에서 증가하고 있다.
플래쉬 메모리는 다음의 특징으로 갖는다.
우선, 플래쉬 메모리는 전기적으로 프로그래할 수 있고 소거할 수 있는 비휘발성의 메모리아다.
둘째, 플래쉬 메모리는 이미 데이터로써 프로그램된 메모리 셀 상에 중복 기재하는 데이터를 입력받지 않는다. (그러므로, 프로그래밍 동작이 항상 소거 동작과 관련된다).
셋째, 소거 장치는 수 바이트에서 수십 K바이트에 이른다.
넷째, 프로그램/소거 싸이클 상에 한계가 있다.
제10도 내지 제13도와 관련하여, 종래 반도체 디스크 장치에 대해 설명한다.
제10도 내지 제13도는 일본 특개소 5-27924에서 개시된 이미 잘 알려진 반도체 디스크 장치를 도시하고 있다.
제10도는 종래 반도체 디스크 장치를 일반적으로 도시하고 있는 블록도이다.
제11도는 제10도의 장치의 어드레스 변환 테이블의 내부 구성을 도시하고 있다.
제12도는 제10도의 장치의 플래쉬 메모리의 내부 구성을 도시하고 있다.
제13도는 제12도의 플래쉬 메모리의 블록의 내부 구성을 도시하고 있다.
제10도에 도시된 바와 같이, 종래 반도체 디스크 장치(2)는 인터페이스 회로(3), CPU(4), 어드레스 변환 테이블(5), 플래쉬 제어회로(6), 데이터 입력/출력 섹터 버퍼(7), 및 플래쉬 메모리(8)로 구성된다.
CPU(4)는 MCU, ROM, RAM, I/O 포트 등으로 구성된다.
반도체 디스크 장치(2)에 연결된 호스트 시스템(1)은 전형적으로 노트북 컴퓨터 또는 운반 가능한 정보 터미날이다.
대부분의 반도체 디스크 장치(2)는 현재 제거 가능한 카드 형이다.
인터페이스 회로(3)는 호스트 시스템(1)과 정보 교환을 수행한다.
CPU(4)는 데이터 입력/출력을 제어하며 플래쉬 메모리(8)에 지시를 발한다.
논리적 섹터/물리적 섹터 어드레스 변환 테이블(5)은 논리적 섹터 어드레스(LSA)를 물리적 섹터 어드레스(PSA)로 변환하는 테이블이다.
LSA는 호스트 시스템(1)이 반도체 디스크 장치(2)에 특정하는 섹터 어드레스이다.
PSA는 반도체 디스크 장치(2)내에서 사용되는 플래쉬 메모리(8) 내의 어드레스이다.
플래쉬 제어 회로(6)는 플래쉬 메모리(8)에 대한 간단한 데이터 처리를 수행한다.
예를 들어, 단순 데이터 변환가 플래쉬 제어 회로(6)에 의해 수행되며, 처리의 나머지는 CPU(4)에 의해 수행된다.
데이터 입력/출력 섹터 버퍼(7)는 플래쉬 메모리(8)로부터의 데이터를 인터페이스 회로(3)를 통하여 출력하거나 인터페이스 회로(3)를 통하여 플래쉬 메모리(8)에 데이터를 입력하는데 사용된다.
제11도에서, 어드레스 변환 테이블(5)는 LSA 저장부와 PSA 저장부로 구성된다.
LSA 저장부는 논리적인 섹터 어드레스를 저장한다.
그들의 내용은 고정된다.
PSA 저장부는 플래쉬 메모리(8)에 대한 임의의 섹터 번호(제11도의 1 내지 n)를 저장한다.
어드레스 변환 테이블(5)의 사용으로 내부 데이터 관리에 편리한 방법으로 호스트 시스템(1)에 의해 특정화되는 논리적인 어드레스에 주의를 기울일 필요없이 물리적인 섹터 어드레스 상에 데이터를 기록할 수 있다.
어드레스 변환 테이블(5)는 전형적으로 SRAM으로 구성되는데, 이는 빈번히 프로그램되고 소거되기 때문이다.
어드레스 변환 테이블(5)의 용량은 다음처럼 결정된다.
20 메가바이트의 플래쉬 메모리(8)이 사용되고 입력과 출력(섹터)을 위한 데이터의 단위가 512 바이트라고 가정하면, 반도체 디스크 장치(2)내의 섹터 수는 다음과 같이 계산된다.
반도체 디스크 장치(2) 내의 섹터 수는 20 메가바이트/512 바이트 = 40960 섹터이다.
40960을 이진수로 표현하기 위해 요구되는 비트의 수는 다음과같다.
ln 40960/ ln 2 = 15.3 40960을 표현하기 위해서는 16비트가 요구된다.
어드레스 변환 테이블(5)의 필요용량은 40960 × 16 = 655360 비트이다.
결론적으로, 필요한 용량은 80킬로바이트이다.
제12도에서, 플래쉬 메모리(8)는 다수의 블록(9) 및 다수의 백업 블록(9)로 구성된다.
플래쉬 메모리(8)은 전기적으로 프로그램될 수 있고 소거될 수 있는 비휘발성의 메모리이다.
그 비휘발성 때문에, 플래쉬 메모리(8)은 DRAM 및 SRAM 과는 다르게 백업용 배터리를 필요로 하지 않는다.
플래쉬 메모리(8)은 전기적으로 소거 가능한 능력을 가지므로, EPROM과는 다르게, 데이터 수정은 플래쉬 메모리(8)을 그 보드로부터 떼어내지 않고서도 수행된다.
하나의 셀은 하나의 비트 데이터를 저장하므로, 요구되는 제조 경비가 EPROM에 의해 저렴하다.
이것은 플래쉬 메모리(8)의 장점이다.
그의 단점은 허용되는 최대 소거 싸이클이 100000와 1000000배 사이 정도이며, 각 기록 동작이 소거 동작과 관련되어야 하고 (이미 데이터를 저장하고 있는 셀 상에의 어떠한 데이터 중복기재도 허용되지 않는다), 그리고 소거 동작이 블록과 블록에 의해 수행된다는 것으로 즉, 소거 단위는 수 킬로바이트 내지 수십 킬로바이트에 걸친다는 것이다.
제13도에 도시된 바와 같이, 각 블록(9)는 그 헤더 상의 블록 정보 메모리 영역(10), 다수의 데이터 메모리 영역(11) 및 다수의 LSA 메모리 영역(12)를 갖는다.
소거 정보 메모리 영역(10)은 현 블록 소거 계수를 저장한다.
각 데이터 메모리 영역(11)은 전형적으로 512 바이트(1 섹터)의 크기이다.
각 섹터는 LSA 메모리 영역(12)과 관련된다.
데이터를 기록할 때, LSA 메모리 영역(12)은 호스트 시스템(1)에 의해 특정화된 LSA를 저장한다.
논리적 섹터/물리적 섹터 어드레스 변환 테이블(5)가 SRAM으로 만들어진다면, 데이터는 전원이 끊어질 때 유실될 것이다.
전원이 다시 켜질 때, SRAM 테이블(5)은 LSA 메모리 영역(12) 내의 모든 섹터를 탐색함으로써 재구성된다.
제14도, 제15도 및 제16도와 관련하여, 종래 반도체 디스크 장치의 동작을 설명하겠다.
제14도는 종래 반도체 디스크 장치에 의한 판독 동작을 도시하는 설명도이다.
제15도와 제16도는 종래 반도체 디스크 장치에 의한 기록동작을 설명하는 설명도이다.
하드 디스크 시스템과는 다르게, 플래쉬 메모리(8)를 채택하는 반도체 디스크 장치(2)는 데이터를 중복 기재할 수 없다.
그러므로 SRAM은 호스트 시스템(1)으로부터 보내어지는 데이터의 논리적인 섹터 어드레스를 지시하고 데이터의 저장을 위해 플래쉬 메모리(8)내의 물리적인 섹터 어드레스가 이용되는 어드레스 변환 테이블을 저장한다.
제14도와 관련하여, 반도체 디스크 장치(2)의 데이터 판독 동작에 대해 설명한다.
호스트 시스템(1)은 반도체 디스크 장치(2)에 판독되는 데이터의 섹터 어드레스를 보낸다.
호스트 시스템(1)으로부터 보내어지는 어드레스 데이터는 LSA와 CHS의 2가지 종류의 형으로 배열된다.
LSA형은 1 내지 n 의 연속적인 번호에 의해 각 섹터를 특정한다. CHS형은 3개 데이터의 조합 즉, 하드 디스크 시스템에서 이용되는 실린더, 헤드 및 섹터의 조합에 의해 각 데이터 영역을 특정한다. 반도체 디스크 장치(2)는 LSA/PSA 어드레스 변환 테이블(5)를 사용한다. 호스트 시스템(1)이 CHS형의 데이터를 보낼 때, 인터페이스 회로(3)는 그것을 다음의 처리 단계 이전에 LSA 형의 데이터로 변환한다.
CPU(4) 어드레스는 호스트 시스템(1)에 의해 특정화된 LSA를 어드레스 변환 테이블(5)에 따라서 PSA로 변환한다. 결국, PSA에 해당하는 데이터는 플래쉬 메모리(8)로부터 판독된다. 호스트 시스템(1)에 의해 특정화된 LSA가 2일 때, 예를 들어, 어드레스 변환 테이블(5)는 그것을 6의 PSA로 변환한다.
따라서 데이터, A가 판독된다.
PSA 6의 LSA 메모리 영역(12)은 그 LSA로서 2를 저장한다.
제15도와 제16도를 참조하여 반도체 디스크 장치(2)의 기록 동작에 대해 설명하겠다.
데이터 A, B 및 C가 장치의 초기 조건에서 PSA 1, 3 및 7로 저장되어 있다고 가정하자.
플래쉬 메모리(8)가 그 기록 동작에서 데이터 중복기재를 허용하지 않는다는 것을 주목해야 한다.
상기 초기 조건에서, PSA 1, 3 및 7은 중복기재로부터 금지된다.
호스트 시스템(1)이 어떠한 데이터의 기록없이 LSA를 특정할 때, CPU(4)는 어느 적당한 공백 상태인 영역에 데이터를 기록하고 (PSA 2,4 내지 6, 및 8 내지 12), 어드레스 변환 테이블(5)내의 데이터를 갱신한다.
제15도는 호스트 시스템(1)이 LSA 4상에 데이터 D의 기록을 지시하고 있는 것을 도시하고 있다.
데이터 D와 호스트 시스템(1)에 의해 특정화된 LSA는 PSA4 상에 기록되며, PSA4는 어드레스 변환 테이블(5)내의 LSA4에 해당하는 어드레스 상에 기록된다.
호스트 시스템(1)이 데이터를 갖는 영역 상에 기록을 지시할 때 (예를 들어, 기록이 이미 존재하는 동일한 파일 이름하에 시도된다), 기록되는 데이터는 플래쉬 메모리(8)내의 공백 상태의 영역 상에 기록되며, 어드레스 변환 테이블(5)는 갱신된다.
제16도는 LSA2의 기록의 결과를 도시하고 있다.
갱신 데이터 B'는 공백 상태인 PSA5 상에 기록되며, 어드레스 변환 테이블(5) 내의 LSA2에 해당하는 PSA영역은 5로 변경된다. 카드 내의 CPU(4)는 PSA3이 이미 이용된 데이터임을 알아야 한다.
상술한 반도체 디스크 장치에서, 어드레스 변환 테이블(5)은 섹터의 근거하에 하나의 PSA를 저장하기 위한 메모리 영역을 필요로 한다(데이터 관리를 위한 데이터 단위).
플래쉬 메모리(8)의 용량이 증가함에 따라서, 어드레스 변환 테이블(5)의 용량은 따라서 증가한다.
본 발명은 상술한 문제를 해결하기 위하여 개발되었다.
본 발명의 목적은 메모리 관리를 위해 어드레스 변환 테이블을 필요로 하지 않는 반도체 디스크 장치를 제공하는데 있다.
본 발명의 또 다른 목적은 감소된 용량의 어드레스 변환 테이블을 갖는 반도체 디스크 장치를 제공하는데 있다.
본 발명에 따른 반도체 디스크 장치는 비휘발성이며, 전기적으로 프로그램할 수 있고, 소거할 수 있고, 블록으로 소거되는 플래쉬 메모리; 외부 시스템과 데이터와 어드레스를 교환하기 위한 인터페이스 수단; 플래쉬 메모리와 인터페이스 수단 사이의 데이터 교환을 수행하기 위한 플래쉬 제어 버퍼 수단; 및 외부 시스템으로 들어오는 섹터 어드레스 정보를 논리적인 블록 수로 변환하고 논리적인 블록 수에 따라서 플래쉬 메모리로 억세스 하기 위한 억세스 수단으로 구성된다.
본 발명에 따른 반도체 디스크 장치 내에서, 상기 플래쉬 메모리는 각각이 물리적-논리적 블록 수를 저장하기 위한 물리적-논리적 블록 수 메모리 영역과 데이터를 저장하기 위한 데이터 메모리 영역의 다수로 구성되는 다수의 블록으로 구성되고, 상기 섹터 어드레스 정보는 논리적 섹터 어드레스이고, 그리고 상기 억세스 수단은 외부 시스템으로부터 들어오는 논리적인 섹터 어드레스를 물리적-논리적 블록수와 그의 옵셋 값으로 변환하고 목표 데이터에 접근하기 위하여 동일한 물리적-논리적 블록 수를 갖는 블록을 탐색한다.
그러므로 메모리 관리를 위한 어드레스 변환 테이블이 없어도 되며, 따라서 데이터 영역이 확장된다.
본 발명에 따른 반도체 디스크 장치는 물리적-논리적 블록수를 물리적 블록수로 변환하기 위한 어드레스 변환 테이블이 부가되며, 상기 플래쉬 메모리는 각각이 물리적-논리적 블록수를 저장하기 위한 물리적-논리적 블록 수 메모리 영역과 데이터를 저장하기 위한 다수의 데이터 메모리 영역으로 구성되는 다수의 블록으로 구성되고, 상기 섹터 어드레스 정보는 논리적 섹터 어드레스이며, 그리고 상기 억세스 수단은 외부로부터 들어오는 논리적인 섹터 어드레스를 물리적-논리적 블록 수와 그의 옵셋 값으로 변환하고, 어드레스 변환 테이블을 참조하여 논리적-논리적 블록 수를 물리적 블록 수로 변환하며, 물리적 블록 수와 옵셋 값에 근거하여 목표 데이터에 억세스한다.
그러므로 메모리 관리를 위한 어드레스 변환 테이블은 그 크기가 감소되며, 따라서 데이터 영역이 확장된다. 이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 이하 본 발명의 제1 실시예를 제1도 내지 제4도를 참조하여 설명하겠다.
제1도는 본 발명의 제1 실시예의 구성을 일반적으로 도시하고 있는 블록도이다.
제2도는 제1도의 장치 내의 플래쉬 메모리의 내부 구성을 도시하고 있다.
제3도는 제2도의플래쉬 메모리내의 블록의 내부구성을 도시하고 있다.
제4도는 제3도의 소거 블록의 블록 정보 메모리 영역의 구성을 도시하고 있다.
모든 도면에 걸쳐서 동일 또는 유사한 부분은 동일한 참조번호에 의해 표시된다.
제1도에서, 제1 실시예의 반도체 디스크 장치(2A)는 인터페이스 회로(3), CPU(4), 플래쉬 제어회로(6), 데이터 입력/출력 섹터 버퍼(7), 및 플래쉬 메모리(8A)로 구성된다.
억세스 수단으로 구성되는 CPU(4)는 MCU, ROM, RAM 및 I/O 포트로 구성된다.
플래쉬 제이회로(6)과 데이터 입력/출력 섹터 버퍼(7)은 플래쉬 제어 버퍼 수단을 구성한다. 반도체 디스크 장치인 2와 2A의 차이는, 반도체 디스크 장치(2A)는 논리적 섹터/물리적 섹터 어드레스 변환 테이블을 갖고 있지 않다는 것이다.
따라서, 플래쉬 메모리(8A)의 용량은 증가된다.
제2도에서, 플래쉬 메모리(8A)는 다수의 블록(9A)과 다수의 백업 블록(9A)으로 구성된다.
주요 메모리(main memory)로서의 플래쉬 메모리(8A)는 블록 소거형 플래쉬 메모리(소거 블록의 장치는 64킬로바이트이다)이다.
플래쉬 메모리 내의 내부 블록의 구성은 종래 기술과 다르지 않다.
제3도에서, 각 블록(9A)은 그 헤더 부분의 블록 정보 메모리 영역(20), 다수의 데이터 메모리 영역(21), 각 데이터 메모리 영역(21)에 대한 데이터 상태 플래그(22), 및 갱신 데이터 체인 정보(체인 데이터) 메모리 영역(23)으로 구성된다.
각 갱신 데이터 체인 정보 메모리 영역(23)는 데이터가 갱신을 위해 전송되는 목적지의 논리적 블록의 수, 및 그 옵셋 값(그 블록 내의 섹터 어드레스)를 저장한다.
데이터 메모리 영역(21)의 각각은 전형적으로 512 바이트 크기(= 1섹터)이다.
각 데이터 상태 플래그(22)는 각 데이터 메모리 영역(21)의 상태를 가리키는 데이터를 저장한다.
데이터 메모리 영역(21) 의 4개의 상태는 심사 숙고된다. 공백 메모리 영역, 점유 메모리 영역(체인 데이터로써), 점유 메모리 영역(체인데이터 없이), 사용 메모리 영역(그 내용은 이미 갱신을 위해 다른 메모리 영역으로 복사되고 소거 준비가 되어 있다).
각 상태는 비트의 조합에 의해 표시된다.
예를 들어, 공백 메모리 영역에 대한 000, 점유 메모리 영역(체인 데이터 없이)에 대한 001, 점유 메모리 영역(체인 데이터로써)에 대한 011, 및 사용 메모리 영역에 대한 111.
플래쉬 메모리(8A)는 중복 기재할 수 없으므로, 그러한 비트 조합이 이용된다(비트 010은 이용될 수 없다).
호스트 시스템(1)이 동일 메모리 영역상의 중복 기재의 지시를 발할 때, 체인 데이터가 이용된다.
플래쉬 메모리(8A)가 중복 기재의 능력을 가지고 있지 않으므로, 데이터는 데이터의 중복 기재가 지시될 때 공백 상태인 다른 메모리 영역 내에 기록된다.
이러한 경우, 갱신 데이터 체인 정보 메모리 영역(23)은 체인 데이터로서 데이터의 「적 메모리 영역을 저장하며, 결과적으로 목적 메모리 영역이 전송 전에 데이터 영역에 걸쳐서 찾아진다.
제4도에서, 블록 정보 메모리 영역(20은 소거 계수 메모리 영역(24), 물리적-논리적 블록 수 메모리 영역(25), 및 다른 정보를 저장하기 위한 메모리 영역(26)으로 구성된다.
소거 계수 메모리 영역(24)는 현재까지 수행된 소거 동작의 계수를 저장한다.
플래쉬 메모리(8A)는 100000에서 1000000배의 최대 소거 싸이클을 가지므로, 3 바이트 정도의 메모리 용량을 갖는 소거 계수 메모리 영역(24)은 충분하다.
물리적-논리적 블록 수 메모리 영역(25)는 물리적-논리적 블록 수를 저장한다.
물리적 블록 수(PBN)와 다르게, 물리적-논리적 블록 수 (PLBN)는 각 블록을 태그(tag)하며, 각 물리적-논리적 블록 수는 결코 이중화되지 않을 것이다.
그러므로, 일대일 대응이 물리적 블록 수와 물리적-논리적 블록 수 사에 보장되므로 메모리 관리를 위해 사용된다.
예를 들어, 20MB의 반도체 디스크 카드를 제조하기 위하여, 각 물리적-논리적 블록 수는 2 바이트를 필요로 하는데, 이는 블록의 수가 320 정도이기 때문이다.
이하, 제1 실시예에서의 어드레스 계산 방법에 대해 설명하겠다.
호스트 시스템(1)이 발하는 어드레스는 CHS형이거나 LSA형이다.
어드레스가 CHS형으로 보내질 때, 인터페이스 회로(3)는 그것을 LSA형의 어드레스로 변환한다.
이하, PSA에 관련된다. 특히, 블록이 다루어지는 데이터 메모리 영역에 대한 결정이 이루어진다. 데이터 중복기재 능력을 갖으며 소거 계수에 대해서는 관심이 없는 저장 수단에서는, 비록 메모리 관리가 일대일 대응 (예를 들어, LSA가 1일 때, 해당하는 PSA 또한 1이다)으로 수행된다 할지라도 어떠한 문제도 발생하지 않는다.
LSA는 관리블록(즉, 소거 블록)내의 데이터 영역의 수에 분할된다.
어드레스 계산은 물리적 블록수로서의결과적 몫과 물리적 블록 내의 옵셋 값으로서의 나머지에 근거하여 수행된다. 판독/기록 데이터의 PSA는 그러므로 쉽게 결정된다.
제1 실시예는 논리적/물리적 어드레스 변환 테이블을 사용하지 않고 각 블록 내의 소거 계수를 등화하는 방법을 사용한다. 이러한 목적을 위해, 각 블록(9A)는 그 자신의 물리적-논리적 블록수(PLBN)을 갖는다.
호스트 시스템(1)으로부터 보내진 ISA는 관리 블록(즉, 소거 블록)내의 데이터 블록의 수에 의해 분할된다.
결과적인 몫은 PLBN으로서 이용되며 나머지는 PLBN내에서 의 옵셋 값으로서 이용된다.
이러한 방식으로, 각 블록(9A)내에서의 소거 계수는 어드레스 변환 테이블을 사용하지 않고 블록(9A)내의 물리적-논리적 블록 수 메모리 영역(25)을 다시 기록함으로써 등화된다.
제5도 내지 제7도에 관련하여 제1 실시예의동작에 대해 설명한다.
제5도는 제1 실시예의 판독 동작을 도시하고 있다.
제6도는 제1 실시예의 판독 동작을 도시하고 있는 흐름도이다.
제7도는 제1 실시예의 기록 동작을 도시하고 있는 흐름도이다.
우선은 반도체 디스크 장치(2A)로부터의 데이터 판독에 대해 제5도 및 제6도를 참조하여 설명한다.
제5도에 도시된 바와 같이 설명의 편의를 위해, 플래쉬 메모리(8A)내의 블록(9A)는 헤더 부분에서 물리적-논리적 블록 수(0 내지 5)로서 계수된다; 블록(9A)의 각각은 3개의 데이터 메모리 영역(21)을 갖는다; 그리고 물리적-논리적 블록(4, 5)는 데이터 저장을 위해서 백업된다.
그러므로 호스트 시스템(1)으로부터 고려되면, 반도체 디스크 장치(2A)의 용량은 512 바이트 × 3 × 4 = 6 킬로바이트이다.
호스트 시스템(1)으로부터 보내진 LSA는 0 내지 11이다.
그러므로 반도체 디스크 장치(1)는 판독(단계 30)되는 데이터의 섹터 정보를 입력받는다.
이러한 정보는 LSA형이거나 CHS형이다.
형(format)을 LSA형으로 표준화하기 위하여, CHS형으로 보내진 섹터 정보는 LSA형으로 변환된다(단계 31 - 32).
이러한 변환은 반도체 디스크 장치(2A)내의 CPU(4) 또는 반도체 디스크 장치(2A)내에 배치된 공용 회로에 의해 수행될 수 있다.
그 후에 LSA형의 데이터는 PLBN형으로 변환된다(단계 33).
이러한 변환을 위한 계산방법은 이미 설명한 것과 같다.
이러한 변환은 또한 CPU(4) 또는 공용 회로에 의해 수행될 수 있다.
상술한 공정에 의해 PLBN과 그의 옵셋 값을 얻는다.
PLBN이 마침내 얻은 플래쉬 메모리(8A)내의 어느 블록(9A)이 해당되는지가 결정된다(단계 34 내지 36).
우선, 플래쉬 메모리(8A)내의 어느 블록 (9A) 정보 메모리 영역이 목표 물리적-논리적 블록 수를 수용하는지가 결정된다.
데이터, LSA=5가 호스트 시스템(1)으로부터 입력된다고 가정한다.
PLBN 변환에 의하여, 물리적-논리적 블록 수는 5/3=1이며, 옵셋 값은 5 - (1 × 3) = 2 이다.
이하, 이들은 (1,2)로서 표시된다.
더욱이, 체인 정보는 갱신 데이터 체인 정보 메모리 영역(23)으로부터 판독된다(단계 37 -38). 어떠한 체인 정보도 저장되지 않으며, 판독된 데이터는 A이다(단계 39).
데이터, LSA=6이 호스트 시스템(1)으로부터 입력될 때, PLBN 변환은 (2,0)이 된다. 40을 저장하는, 어드레스(2,0)에서의 갱신 데이터 채인 정보 메모리 영역(23)은, 데이터가 물리적-논리적 블록 수 4에서 옵셋 0으로 전송되는 것을 의미한다.
따라서, 판독되는 데이터는 B'인 것으로 판명된다(단계 38, 34, 35, 37 내지 39).
20 메가바이트(64 킬로바이트의 블록 크기)의 플래쉬 메모리를 갖는 반도체 디스크 장치에 있어서, 탐색되는 블록의 최대수는 반도체 디스크 장치내의 블록 수와 동일하며, 이로써 20 메가바이트/64킬로바이트 = 320이 된다.
블록의 최대수는 320이다.
파일은 항상 연속된 디스크 영역 상에 기록되며, 다음이 탐색이 현 블록(9A)과 함께 시작한다.
그러므로 탐색되는 파일의 수는 실제적으로 크게 감소된다.
제2실시예에서, 이러한 동작은 테이블에 의해서 수행된다.
이 경우, 테이블의크기는 종래 논리적/물리적 어드레스 변환 테이블의 대략 1/227이다. 그러나 테이블이 SRAM으로 구성되면, 전력이 인터럽트 될 때 데이트를 유실하게 된다.
그러므로 반도체 디스크 장치가 다시 켜질 때, RAM테이블은 물리적-논리적 블록 수와 물리적 블록 수 사이의 대응성을 CPU로 점검하게 함으로써 재구성되어야 한다.
이하, 제7도를 참조하여 반도체 디스크 장치(2A)의 데이터 기록에 대해 설명하겠다.
제7도 내에서 단계 40 내지 46은 제6도 내에서의 단계 30 내지 36과 동일하며, 그에 대한 설명은 반복하지 않겠다. 판독된 데이터 상태 플래그(22)가 000일 때, 데이터는 데이터 메모리영역(21)상으로 기록되며, 이는 그것의 데이터 상태 플래그가 001로 변하게 한다(단계 47 내지 50).
데이터 상태 플래그(22)이 단계 48에서 000이 아닐 때, 즉 호스트 시스템(1)이 이미 기록된 데이터를 갖는 데이터 메모리 영역(21)상에 중복기재(갱신)를 가리킬 때, 데이터는 동일한 블록(9A)내의 공백 상태인 다른 데이터 메모리 영역(21)상에 기록되며, 그 해당하는 데이터 상태 플래그(22)는 001로 설정된다.
이미 기로된 데이터를 갖는 데이터 메모리 영역(21)의 데이터 상태 플래그(22)는 001에서 011로 이동된다.
데이터가 새롭게 기록되는 물리적-논리적 블록 수와 그의옵셋 값이 갱신 데이터 체인 정보 메모리 영역(23)상에 기록된다(단계 48, 51 내지 54).
그러므로 체인을 트레이스함으로써, 가장 최근의 데이터가 판독된다. 어떠한 공백 데이터 메모리 영역(21)도 동일한 블록(9A)내에서 이용할 수 없을 때, 많은 데이터 상태플래그(111)를 포함하는 블록(9A)가 탐색된다.
데이터 상태 플래그(111)가 삭제지시에 의하여 기록된다.
블록(9A)의 전송이 관련된다(단계 53, 55 내지 58). 소거 계수가 또한 고려된다. 우선 소오스 내의 즉, 탐색 동작에서 상기 조건을 충족하는 것으로 발견된 블록(9A)내의 데이터는 공백 상태인 목적 블록(9A)FH 전송된다.
기록과정에서 불필요하게 된 데이터는 전송되지 않는다. 소오스 블록(9A)내로 전송되는 데이터의 옵셋 값은 목적 소오스 블록 (9A)내의 옵셋 값과일치하도록 정해진다.
여하튼 체인 데이터는 또한 동일한 시간에 기록된다.
데이터의 전송이 완료될 때, 소오스 블록 내의 물리적-논리적 블록 수는 목적 블록(9A)내의 물리적-논리적 블록 수 메모리 영역(25) 상으로 기록된다. 그후 소오스 블록(9A)는 소거된다.
제1 실시예는 물리적 섹터/논리적 섹터 어드레스 변환 테이블이 없이도 종래 디스크 카드의 성능을 떨어뜨리지 않는다.
어드레스 변환 테이블 없이도, 반도체 디스크 카드의 메모리 용량은 쉽게 확장된다. 종래 어드레스 변환 테이블과 통합되며, 20 메가바이트의 반도체 디스크 장치는 80킬로바이트의 어드레스 테이블을 요구하며, 40 메가바이트의 반도체 디스크 장치는 160킬로바이트(1.25 메가비트)의 어드레스 테이블을 필요로 한다.
어드레스 변환 테이블이 없으면, SRAM에 대한 가격은 완전히 제거된다.
플래쉬 메모리는 어드레스 변환 테이블에 대한 SRAM에 의하여 점유될 영역내에 설치될 수 있다. 결과적으로, 반도체 디스크 장치의 메모리 용량은 증가된다. 이하, 제8도 및 제9도를 참조하여 본 발명의 제2 실시예에 대해 설명한다.
제8도는 제2실시예의 구성을 일반적으로 도시하고 있는 블록도이다.
제9도는 제8도의 반도체 디스크 장치의 어드레스 변환 테이블의 내부 구성을 도시하고 있다.
제8도에서, 제2 실시예의 반도체 디스크 장치(2B)는 인터페이스 회로(3), CPU(4), 어드레스 변환 테이블(5A), 플래쉬 제어 회로(6), 데이터 입력/출력 버퍼(7), 및 플래쉬 메모리(8B)로 구성된다. 제9도에서, 어드레스 변환 테이블(5A)은 물리적-논리적 블록 수(PLBN) 메모리 영역 및 물리적 블록 수(PBN) 메모리 영역으로 구성된다.
어드레스 변환 테이블(5A)의 용량은 다음과 같다. 94 킬로바이트의 블록(소거블록)을 갖는 20메가바이트의 플래쉬 메모리(8B)가 이용될 때, 반도체 디스크 장치(2B)내의 블록의 수는 다음과 같이 계산된다.
반도체 디스크 장치 내의 블록 수는 20 메가바이트/ 64 킬로바이트 = 320 블록이다. 이진수로 320을 표현하기 위해 요구되는 비트의 수는 ln 320 / ln 2 = 9 이다. 그러므로, 9비트가 요구된다. 어드레스 변환 테이블(5A)의 요구되는 메모리 용량은 320 × 9 = 2880 비트 즉, 360 바이트이다.
이 숫자는 대략 종래의 경우에 비해 1/227이다.
제2실시예의 대부분의 동작은 제1실시예의 경우와 동일하다. 차이점은 플래쉬 메모리(8B)내의 블록(9A)가 제2 실시예의 어드레스 변환 테이블(5A)에 의하여 직접 억세스 된다는 것이다,
그러므로 제2 실시예는 반도체 디스크 장치의 성능을 떨어뜨리지 않고서도 작은 용량의 어드레스 변환 테이블에서 효과적으로 작용한다. 작은 용량의 어드레스 변환 테이블에 의해 결과적으로 아무런 경비 없이도 큰 용량의 반도체 디스크 장치를 얻을 수 있다.
종래의 어드레스 변환 테이블이 통합되면, 20 메가바이트의 반도체 디스크 장치는 80킬로바이트의 어드레스 테이블을 필요로 하며, 40 메가바이트의 반도체 디스크 장치는 160 킬로바이트(1.25메가비트)의 어드레스 테이블을 필요로 한다.
메모리의 크기는 종래의 경우에 비해 1/227로 감소되므로, SRAM에 대한 경비는 감소된다.
플래쉬 메모리는 어드레스 변환 테이블에 대한 SRAM에 의해 점유되는 영역 내에 설치된다. 결과적으로, 반도체 디스크 장치의 메모리 용량은 증가된다.

Claims (9)

  1. 비휘발성이며, 전기적으로 프로그램할 수 있고 소거할 수 있고, 블록으로 소거되는 플래쉬 메모리; 외부 시스템과 데이터와 어드레스를 교환하기 위한 인터페이스 수단; 플래쉬 메모리와 인터페이스 수단 사이의 데이터 교환을 수행하기 위한 플래쉬 제어 버퍼 수단; 및 외부 시스템으로 들어오는 섹터 어드레스 정보를 논리적은 블록 수로 변환하고 논리적 인 블록 수에 따라서 플래쉬 메모리로 억세스 하기 위한 억세스 수단으로 구성되는 것을 특징으로 하는 반도체 디스크 장치.
  2. 제1항에 있어서, 상기 플래쉬 메모리는 각각이 물리적-논리적 블록 수를 저장하기 위한 물리적-논리적 블록 수 메모리 영역과 데이터를 저장하기 위한 데이터 데이터 메모리 영역의 다수로 구성되는 다수의 블록으로 구성되고, 상기 섹터 어드레스 정보는 논리적 섹터 어드레스이고, 그리고 상기 억세스 수단은 외부 시스템으로부터 들어오는 논리적인 섹터 어드레스를 물리적-논리적 블록 수와 그의 옵셋 값으로 변환하고 목표 데이터에 접근하기 위하여 동일한 물리적-논리적 블록 수를 갖는 블록을 탐색하는 것을 특징으로 하는 반도체 디스크 장치.
  3. 제2항에 있어서, 상기 블록은 해당하는데 상기 데이터 메모리 영역의 각각에 배치되며 목적 데이터를 지시하는 체인 정보를 저장하기 위한 갱신 데이터 체인 정보 메모리 영역, 및 해당하는 각각의 상기 데이터 메모리 영역에 배치되며 상기 갱신 데이터 체인 정보 메모리 영역이 체인 정보를 저장하는지 또는 상기 데이터 메모리 영역이 데이터를 저장하는지 지시하는 데이터 상태 플래그를 저장하기 위한 데이터 상태 플래그 메모리 영역을 더 포함하고, 이로써 상기 억세스 수단은 물리적-논리적 블록 수, 데이터 상태 플래그 및 체인 정보에 근거하여 플래쉬 메모리 내의 데이터를 억세스하는 것을 특징으로 하는 반도체 디스크 장치.
  4. 제3항에 있어서, 물리적-논리적 블록 수와 옵셋 값에 근거하는 플래쉬 메모리 내의 블록과 데이터 메모리 영역을 발견한 후, 데이터 상태 플래그 메모리 영역내의 데이터 상태 플래그가 아무런 체인 정보도 저장되어 있지 않다고 가리킬 때 상기 억세스 수단은 데이터 메모리 영역의 내용을 읽고, 체인 정보가 저장되어 있다고 데이터 상태 플래그가 가리킬 때 상기 억세스 수단은 갱신 데이터 체인 정보 메모리 영역 내의 체인 정보에 근거하여 목적 데이터 메모리 영역의 내용을 읽는 것을 특징으로 하는 반도체 디스크 장치.
  5. 제3항에 있어서, 물리적-논리적 블록 수와 옵셋 값에 근거하여 플래쉬 메모리 내의 블록과 데이터 메모리 영역을 발견한 후 데이터 메모리 영역 내에 아무런 데이터도 저장되어 있지 않다고 데이터 상태 플래그 메모리 영역 내의 데이터 상태 플래그가 가리킬 때 상기 억세스 수단은 데이터 상태 플래그가 데이터 메모리 영역 상에 데이터를 기록함으로써 점유된 상태를 가리키게 하며, 데이터 메모리 영역내에 데이터가 저장되어 있다고 데이터 상태 플래그가 가리킬 때는 상기 억세스 수단은 공백 상태의 데이터 메모리 영역을 탐색하고 데이터를 공백 상태의 데이터 메모리 영역 상에 기록하며 그 후에 방금 기록된 데이터 메모리 영역에 해당하는 데이터 상태 플래그가 점유된 상태를 표시하게 하고, 그리고 동시에 데이터를 저장하고 있는 데이터 메모리 영역에 해당하는 갱신 데이터 체인 정보 메모리 영역 상에 체인 정보를 기록하는 것을 특징으로 하는 반도체 디스크 장치.
  6. 제1항에 있어서, 물리적-논리적 블록 수를 물리적 블록 수로 변환하기 위한 어드레스 변환 테이블이 부가되며, 상기 플래쉬 메모리는 각각이 물리적-논리적 블록 수를 저장하기 위한 물리적-논리적 블록 수 메모리 영역과 데이터를 저장하기 위한 다수의 데이터 메모리 영역으로 구성되는 다수의 블럭으로 구성되고, 상기 섹터 어드레스 정보는 논리적 섹터 어드레스이며, 그리고 상기 억세스 수단은 외부로부터 들어오는 논리적인 섹터 어드레스를 물리적-논리적 블록 수와 그의 옵셋 값으로 변환하고, 어드레스 변환 테이블을 참조하여 물리적-논리적 블록 수를 물리적 블록 수로 변환하며, 물리적 블록 수와 옵셋 값에 근거하여 목표 데이터에 억세스 하는 것을 특징으로 하는 반도체 디스크 장치.
  7. 제6항에 있어서, 상기 블록은 해당하는 상기 데이터 메모리 영역의 각각에 배치되며 목적 데이터를 지시하는 체인 정보를 저장하기 위한 갱신 데이터 체인 정보 메모리 영역, 및 해당하는 각각의 상기 데이터 메모리 영역에 배치되며 상기 갱신 데이터 체인 정보 메모리 영역이 체인 정보를 저장하는지 또는 상기 데이터 메모리 영역이 데이터를 저장하는지 지시하는 데이터 상태 플래그를 저장하기 위한 데이터 상태 플래그 메모리 영역을 더 포함하고, 이로써 상기 억세스 수단은 물리적-논리적 블록 수, 데이터 상태 플래그 및 체인 정보에 근거하여 플래쉬 메모리 내의 데이터를 억세스 하는 것을 특징으로 하는 반도체 디스크 장치.
  8. 제7항에 있어서, 물리적-논리적 블록 수와 옵셋 값에 근거하는 플래쉬 메모리 내의 블록과 데이터 메모리 영역을 발견한 후, 데이터 상태 플래그 메모리 영역 내의 데이터 상태 플래그가 아무런 체인 정보도 저장되어 있지 않다고 가리킬 때 상기 억세스 수단은 데이터 메모리 영역의 내용을 읽고, 체인 정보가 저장되어 있다고 데이터 상태 플래그가 가리킬 때 상기 억세스 수단은 갱신 데이터 체인 정보 메모리 영역 내의 체인 정보에 근거하여 목적 데이터 메모리 영역의 내용을 읽는 것을 특징으로 하는 반도체 디스크 장치.
  9. 제7항에 있어서, 물리적-논리적 블록 수와 옵셋 값에 근거하여 플래쉬 메모리 내의 블록과 데이터 메모리 영역을 발견한 후, 데이터 메모리 영역 내에 아무런 데이터도 저장되어 있지 않다고 데이터 상태 플래그 메모리 영역 내의 데이터 상태 플래그가 가리킬 때 상기 억세스 수단은 데이터 상태 플래그가 데이터 메모리 영역 상에 데이터를 기록함으로써 점유된 상태를 가리키게 하며, 데이터 메모리 영역 내에 데이터가 저장되어 있다고 데이터 상태 플래그가 가리킬 때는 상기 억세스 수단은 공백 상태의 데이터 메모리 영역을 탐색하고 데이터를 공백 상태의 데이터 메모리 영역 상에 기록하며 그 후에 방금 기록된 데이터 메모리 영역에 해당하는 데이터 상태 플래그가 점유된 상태를 표시하게 하고, 그리고 동시에 데이터를 저장하고 있는 데이터 메모리 영역에 해당하는 갱신 데이터 체인 정보 메모리 영역 상에 체인 정보를 기록하는 것을 특징으로 하는 반도체 디스크 장치.
KR1019960001047A 1995-01-31 1996-01-18 반도체 디스크 장치 KR100193779B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP95-014030 1995-01-31
JP1403095A JPH08212019A (ja) 1995-01-31 1995-01-31 半導体ディスク装置

Publications (2)

Publication Number Publication Date
KR960029984A KR960029984A (ko) 1996-08-17
KR100193779B1 true KR100193779B1 (ko) 1999-06-15

Family

ID=11849770

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960001047A KR100193779B1 (ko) 1995-01-31 1996-01-18 반도체 디스크 장치

Country Status (4)

Country Link
US (1) US5627783A (ko)
JP (1) JPH08212019A (ko)
KR (1) KR100193779B1 (ko)
GB (1) GB2297637B (ko)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US8171203B2 (en) 1995-07-31 2012-05-01 Micron Technology, Inc. Faster write operations to nonvolatile memory using FSInfo sector manipulation
US6728851B1 (en) 1995-07-31 2004-04-27 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US6978342B1 (en) 1995-07-31 2005-12-20 Lexar Media, Inc. Moving sectors within a block of information in a flash memory mass storage architecture
US5845313A (en) 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
JP3604466B2 (ja) * 1995-09-13 2004-12-22 株式会社ルネサステクノロジ フラッシュディスクカード
JPH09171486A (ja) * 1995-10-16 1997-06-30 Seiko Epson Corp Pcカード
JPH09185551A (ja) * 1996-01-08 1997-07-15 Mitsubishi Electric Corp 半導体記憶装置
JPH09212411A (ja) * 1996-02-06 1997-08-15 Tokyo Electron Ltd メモリシステム
JPH09244961A (ja) * 1996-03-08 1997-09-19 Mitsubishi Electric Corp フラッシュata−pcカード
JP3615299B2 (ja) * 1996-03-29 2005-02-02 三洋電機株式会社 書換え可能romの記憶方法及び記憶装置
US5860124A (en) * 1996-09-30 1999-01-12 Intel Corporation Method for performing a continuous over-write of a file in nonvolatile memory
JPH10124381A (ja) * 1996-10-21 1998-05-15 Mitsubishi Electric Corp 半導体記憶装置
US5748537A (en) * 1997-02-13 1998-05-05 Garbers; Jeffrey Paul Method and apparatus for storing items in flash memory
JPH10260876A (ja) * 1997-03-19 1998-09-29 Hitachi Ltd データベースのデータ構造及びデータベースのデータ処理方法
US6122195A (en) * 1997-03-31 2000-09-19 Lexar Media, Inc. Method and apparatus for decreasing block write operation times performed on nonvolatile memory
JP3718578B2 (ja) * 1997-06-25 2005-11-24 ソニー株式会社 メモリ管理方法及びメモリ管理装置
US5956743A (en) * 1997-08-25 1999-09-21 Bit Microsystems, Inc. Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations
US5822251A (en) * 1997-08-25 1998-10-13 Bit Microsystems, Inc. Expandable flash-memory mass-storage using shared buddy lines and intermediate flash-bus between device-specific buffers and flash-intelligent DMA controllers
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
KR19990019377A (ko) * 1997-08-29 1999-03-15 윤종용 플래시 메모리 이용 보조기억장치 및 그 방법
JP2000122935A (ja) * 1998-10-20 2000-04-28 Sanyo Electric Co Ltd 不揮発性メモリのアドレス変換装置
JP4141581B2 (ja) * 1999-04-05 2008-08-27 株式会社ルネサステクノロジ フラッシュメモリを搭載する記憶装置
FR2799046B1 (fr) * 1999-09-24 2004-02-27 Aton Systemes Sa Procede pour l'ecriture aleatoire de secteurs d'une taille inferieure a celle d'un bloc d'effacement dans une memoire effacable par bloc pour laquelle toute ecriture d'une donnee necessite l'effacement du bloc qui contient ladite donnee
EP1139210B1 (en) * 2000-03-28 2004-03-17 STMicroelectronics S.r.l. Method of logic partitioning of a nonvolatile memory array
US7167944B1 (en) 2000-07-21 2007-01-23 Lexar Media, Inc. Block management for mass storage
US6715036B1 (en) 2000-08-01 2004-03-30 International Business Machines Corporation Method, system, and data structures for transferring blocks of data from a storage device to a requesting application
KR100644602B1 (ko) * 2000-10-11 2006-11-10 삼성전자주식회사 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
US6938144B2 (en) * 2001-03-22 2005-08-30 Matsushita Electric Industrial Co., Ltd. Address conversion unit for memory device
JP2003076605A (ja) 2001-08-31 2003-03-14 Mitsubishi Electric Corp ブロック消去型不揮発メモリを搭載した半導体記憶装置とそのデータの書込み・読出し方法
GB0123421D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Power management system
GB0123416D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
GB0123415D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Method of writing data to non-volatile memory
GB0123410D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system for data storage and retrieval
JP2003196142A (ja) * 2001-12-25 2003-07-11 Sony Corp ライトワンス型メモリ装置及びファイル管理方法
US6839826B2 (en) 2002-02-06 2005-01-04 Sandisk Corporation Memory device with pointer structure to map logical to physical addresses
US7231643B1 (en) 2002-02-22 2007-06-12 Lexar Media, Inc. Image rescue system including direct communication between an application program and a device driver
US6901498B2 (en) * 2002-12-09 2005-05-31 Sandisk Corporation Zone boundary adjustment for defects in non-volatile memories
US7139864B2 (en) * 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US8504798B2 (en) * 2003-12-30 2013-08-06 Sandisk Technologies Inc. Management of non-volatile memory systems having large erase blocks
US7725628B1 (en) 2004-04-20 2010-05-25 Lexar Media, Inc. Direct secondary device interface by a host
US7370166B1 (en) 2004-04-30 2008-05-06 Lexar Media, Inc. Secure portable storage device
KR100568115B1 (ko) * 2004-06-30 2006-04-05 삼성전자주식회사 점진적 머지 방법 및 그것을 이용한 메모리 시스템
US7464306B1 (en) 2004-08-27 2008-12-09 Lexar Media, Inc. Status of overall health of nonvolatile memory
US7594063B1 (en) 2004-08-27 2009-09-22 Lexar Media, Inc. Storage capacity status
JP2006085380A (ja) * 2004-09-15 2006-03-30 Toshiba Corp ファイルストレージデバイス、プログラム、及び不揮発性半導体メモリの書込方法
US7480766B2 (en) * 2005-08-03 2009-01-20 Sandisk Corporation Interfacing systems operating through a logical address space and on a direct data file basis
KR100843135B1 (ko) * 2006-11-20 2008-07-02 삼성전자주식회사 비휘발성 메모리 관리 방법 및 장치
KR101456593B1 (ko) 2007-06-22 2014-11-03 삼성전자주식회사 플래시 메모리 장치를 포함하는 메모리 시스템
JP2009003880A (ja) * 2007-06-25 2009-01-08 Toshiba Corp 不揮発性メモリの制御装置及びその制御方法及び記憶装置
US7962683B2 (en) * 2007-08-15 2011-06-14 Silicon Motion, Inc. Flash memory, and method for operating a flash memory
US8959307B1 (en) 2007-11-16 2015-02-17 Bitmicro Networks, Inc. Reduced latency memory read transactions in storage devices
US8838876B2 (en) * 2008-10-13 2014-09-16 Micron Technology, Inc. Translation layer in a solid state storage device
US8665601B1 (en) 2009-09-04 2014-03-04 Bitmicro Networks, Inc. Solid state drive with improved enclosure assembly
US9135190B1 (en) 2009-09-04 2015-09-15 Bitmicro Networks, Inc. Multi-profile memory controller for computing devices
US8447908B2 (en) 2009-09-07 2013-05-21 Bitmicro Networks, Inc. Multilevel memory bus system for solid-state mass storage
US8560804B2 (en) 2009-09-14 2013-10-15 Bitmicro Networks, Inc. Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device
EP2515237A1 (en) * 2011-04-18 2012-10-24 Gemalto SA Portable secure device providing storage service
US9372755B1 (en) 2011-10-05 2016-06-21 Bitmicro Networks, Inc. Adaptive power cycle sequences for data recovery
US9043669B1 (en) 2012-05-18 2015-05-26 Bitmicro Networks, Inc. Distributed ECC engine for storage media
US9423457B2 (en) 2013-03-14 2016-08-23 Bitmicro Networks, Inc. Self-test solution for delay locked loops
US9934045B1 (en) 2013-03-15 2018-04-03 Bitmicro Networks, Inc. Embedded system boot from a storage device
US10489318B1 (en) 2013-03-15 2019-11-26 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US9842024B1 (en) 2013-03-15 2017-12-12 Bitmicro Networks, Inc. Flash electronic disk with RAID controller
US10120694B2 (en) 2013-03-15 2018-11-06 Bitmicro Networks, Inc. Embedded system boot from a storage device
US9875205B1 (en) 2013-03-15 2018-01-23 Bitmicro Networks, Inc. Network of memory systems
US9501436B1 (en) 2013-03-15 2016-11-22 Bitmicro Networks, Inc. Multi-level message passing descriptor
US9430386B2 (en) 2013-03-15 2016-08-30 Bitmicro Networks, Inc. Multi-leveled cache management in a hybrid storage system
US9916213B1 (en) 2013-03-15 2018-03-13 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9798688B1 (en) 2013-03-15 2017-10-24 Bitmicro Networks, Inc. Bus arbitration with routing and failover mechanism
US9400617B2 (en) 2013-03-15 2016-07-26 Bitmicro Networks, Inc. Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained
US9734067B1 (en) 2013-03-15 2017-08-15 Bitmicro Networks, Inc. Write buffering
US9672178B1 (en) 2013-03-15 2017-06-06 Bitmicro Networks, Inc. Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system
US9720603B1 (en) 2013-03-15 2017-08-01 Bitmicro Networks, Inc. IOC to IOC distributed caching architecture
US9971524B1 (en) 2013-03-15 2018-05-15 Bitmicro Networks, Inc. Scatter-gather approach for parallel data transfer in a mass storage system
US10078604B1 (en) 2014-04-17 2018-09-18 Bitmicro Networks, Inc. Interrupt coalescing
US9952991B1 (en) 2014-04-17 2018-04-24 Bitmicro Networks, Inc. Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation
US9811461B1 (en) 2014-04-17 2017-11-07 Bitmicro Networks, Inc. Data storage system
US10042792B1 (en) 2014-04-17 2018-08-07 Bitmicro Networks, Inc. Method for transferring and receiving frames across PCI express bus for SSD device
US10055150B1 (en) 2014-04-17 2018-08-21 Bitmicro Networks, Inc. Writing volatile scattered memory metadata to flash device
US10025736B1 (en) 2014-04-17 2018-07-17 Bitmicro Networks, Inc. Exchange message protocol message transmission between two devices
CN106294203B (zh) * 2016-08-01 2019-06-28 深圳市瑞耐斯技术有限公司 一种3d闪存的控制方法及控制系统
US10552050B1 (en) 2017-04-07 2020-02-04 Bitmicro Llc Multi-dimensional computer storage system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5065364A (en) * 1989-09-15 1991-11-12 Intel Corporation Apparatus for providing block erasing in a flash EPROM
JP2582487B2 (ja) * 1991-07-12 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 半導体メモリを用いた外部記憶システム及びその制御方法

Also Published As

Publication number Publication date
GB9525537D0 (en) 1996-02-14
GB2297637B (en) 1997-01-08
GB2297637A (en) 1996-08-07
JPH08212019A (ja) 1996-08-20
KR960029984A (ko) 1996-08-17
US5627783A (en) 1997-05-06

Similar Documents

Publication Publication Date Title
KR100193779B1 (ko) 반도체 디스크 장치
JP3706167B2 (ja) 半導体ディスク装置
US5946714A (en) Semiconductor storage device utilizing address management tables and table state maps for managing data storage and retrieval
US6202138B1 (en) Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
US8397019B2 (en) Memory for accessing multiple sectors of information substantially concurrently
US5905993A (en) Flash memory card with block memory address arrangement
JP4155463B2 (ja) 順次書き込みのみを用いるフラッシュ管理システムを有するシステム、及びその方法
EP0852765B1 (en) Memory management
KR100987241B1 (ko) 메모리 장치 및 그 메모리 장치를 이용한 기록 재생 장치
US20050015557A1 (en) Nonvolatile memory unit with specific cache
KR100684061B1 (ko) 기록 시스템, 데이터 기록 장치, 메모리 장치 및 데이터기록 방법
WO1995018407A1 (en) Solid state memory system
US20080250189A1 (en) Circuit and Method for Improving Operation Life of Memory
JPWO2005043394A1 (ja) 情報記録媒体、情報記録媒体に対するアクセス装置及びアクセス方法
JP4308780B2 (ja) 半導体メモリ装置、メモリコントローラ及びデータ記録方法
JP3976764B2 (ja) 半導体ディスク装置
JPH05150913A (ja) フラツシユメモリを記憶媒体としたシリコンデイスク
JPH0546461A (ja) メモリカード装置
KR100490603B1 (ko) 플래시 메모리 동작 제어 방법 및 장치
JPH05151099A (ja) メモリカード装置
JPH05313989A (ja) メモリカード装置
JPH05151106A (ja) メモリカード装置

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20030123

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee