KR100193779B1 - 반도체 디스크 장치 - Google Patents
반도체 디스크 장치 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
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항에 있어서, 상기 블록은 해당하는데 상기 데이터 메모리 영역의 각각에 배치되며 목적 데이터를 지시하는 체인 정보를 저장하기 위한 갱신 데이터 체인 정보 메모리 영역, 및 해당하는 각각의 상기 데이터 메모리 영역에 배치되며 상기 갱신 데이터 체인 정보 메모리 영역이 체인 정보를 저장하는지 또는 상기 데이터 메모리 영역이 데이터를 저장하는지 지시하는 데이터 상태 플래그를 저장하기 위한 데이터 상태 플래그 메모리 영역을 더 포함하고, 이로써 상기 억세스 수단은 물리적-논리적 블록 수, 데이터 상태 플래그 및 체인 정보에 근거하여 플래쉬 메모리 내의 데이터를 억세스하는 것을 특징으로 하는 반도체 디스크 장치.
- 제3항에 있어서, 물리적-논리적 블록 수와 옵셋 값에 근거하는 플래쉬 메모리 내의 블록과 데이터 메모리 영역을 발견한 후, 데이터 상태 플래그 메모리 영역내의 데이터 상태 플래그가 아무런 체인 정보도 저장되어 있지 않다고 가리킬 때 상기 억세스 수단은 데이터 메모리 영역의 내용을 읽고, 체인 정보가 저장되어 있다고 데이터 상태 플래그가 가리킬 때 상기 억세스 수단은 갱신 데이터 체인 정보 메모리 영역 내의 체인 정보에 근거하여 목적 데이터 메모리 영역의 내용을 읽는 것을 특징으로 하는 반도체 디스크 장치.
- 제3항에 있어서, 물리적-논리적 블록 수와 옵셋 값에 근거하여 플래쉬 메모리 내의 블록과 데이터 메모리 영역을 발견한 후 데이터 메모리 영역 내에 아무런 데이터도 저장되어 있지 않다고 데이터 상태 플래그 메모리 영역 내의 데이터 상태 플래그가 가리킬 때 상기 억세스 수단은 데이터 상태 플래그가 데이터 메모리 영역 상에 데이터를 기록함으로써 점유된 상태를 가리키게 하며, 데이터 메모리 영역내에 데이터가 저장되어 있다고 데이터 상태 플래그가 가리킬 때는 상기 억세스 수단은 공백 상태의 데이터 메모리 영역을 탐색하고 데이터를 공백 상태의 데이터 메모리 영역 상에 기록하며 그 후에 방금 기록된 데이터 메모리 영역에 해당하는 데이터 상태 플래그가 점유된 상태를 표시하게 하고, 그리고 동시에 데이터를 저장하고 있는 데이터 메모리 영역에 해당하는 갱신 데이터 체인 정보 메모리 영역 상에 체인 정보를 기록하는 것을 특징으로 하는 반도체 디스크 장치.
- 제1항에 있어서, 물리적-논리적 블록 수를 물리적 블록 수로 변환하기 위한 어드레스 변환 테이블이 부가되며, 상기 플래쉬 메모리는 각각이 물리적-논리적 블록 수를 저장하기 위한 물리적-논리적 블록 수 메모리 영역과 데이터를 저장하기 위한 다수의 데이터 메모리 영역으로 구성되는 다수의 블럭으로 구성되고, 상기 섹터 어드레스 정보는 논리적 섹터 어드레스이며, 그리고 상기 억세스 수단은 외부로부터 들어오는 논리적인 섹터 어드레스를 물리적-논리적 블록 수와 그의 옵셋 값으로 변환하고, 어드레스 변환 테이블을 참조하여 물리적-논리적 블록 수를 물리적 블록 수로 변환하며, 물리적 블록 수와 옵셋 값에 근거하여 목표 데이터에 억세스 하는 것을 특징으로 하는 반도체 디스크 장치.
- 제6항에 있어서, 상기 블록은 해당하는 상기 데이터 메모리 영역의 각각에 배치되며 목적 데이터를 지시하는 체인 정보를 저장하기 위한 갱신 데이터 체인 정보 메모리 영역, 및 해당하는 각각의 상기 데이터 메모리 영역에 배치되며 상기 갱신 데이터 체인 정보 메모리 영역이 체인 정보를 저장하는지 또는 상기 데이터 메모리 영역이 데이터를 저장하는지 지시하는 데이터 상태 플래그를 저장하기 위한 데이터 상태 플래그 메모리 영역을 더 포함하고, 이로써 상기 억세스 수단은 물리적-논리적 블록 수, 데이터 상태 플래그 및 체인 정보에 근거하여 플래쉬 메모리 내의 데이터를 억세스 하는 것을 특징으로 하는 반도체 디스크 장치.
- 제7항에 있어서, 물리적-논리적 블록 수와 옵셋 값에 근거하는 플래쉬 메모리 내의 블록과 데이터 메모리 영역을 발견한 후, 데이터 상태 플래그 메모리 영역 내의 데이터 상태 플래그가 아무런 체인 정보도 저장되어 있지 않다고 가리킬 때 상기 억세스 수단은 데이터 메모리 영역의 내용을 읽고, 체인 정보가 저장되어 있다고 데이터 상태 플래그가 가리킬 때 상기 억세스 수단은 갱신 데이터 체인 정보 메모리 영역 내의 체인 정보에 근거하여 목적 데이터 메모리 영역의 내용을 읽는 것을 특징으로 하는 반도체 디스크 장치.
- 제7항에 있어서, 물리적-논리적 블록 수와 옵셋 값에 근거하여 플래쉬 메모리 내의 블록과 데이터 메모리 영역을 발견한 후, 데이터 메모리 영역 내에 아무런 데이터도 저장되어 있지 않다고 데이터 상태 플래그 메모리 영역 내의 데이터 상태 플래그가 가리킬 때 상기 억세스 수단은 데이터 상태 플래그가 데이터 메모리 영역 상에 데이터를 기록함으로써 점유된 상태를 가리키게 하며, 데이터 메모리 영역 내에 데이터가 저장되어 있다고 데이터 상태 플래그가 가리킬 때는 상기 억세스 수단은 공백 상태의 데이터 메모리 영역을 탐색하고 데이터를 공백 상태의 데이터 메모리 영역 상에 기록하며 그 후에 방금 기록된 데이터 메모리 영역에 해당하는 데이터 상태 플래그가 점유된 상태를 표시하게 하고, 그리고 동시에 데이터를 저장하고 있는 데이터 메모리 영역에 해당하는 갱신 데이터 체인 정보 메모리 영역 상에 체인 정보를 기록하는 것을 특징으로 하는 반도체 디스크 장치.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
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 |
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 |
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 |
DE60009031D1 (de) * | 2000-03-28 | 2004-04-22 | St Microelectronics Srl | Verfahren zur logischen Aufteilung einer nichtflüchtigen Speichermatrix |
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 | ブロック消去型不揮発メモリを搭載した半導体記憶装置とそのデータの書込み・読出し方法 |
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 |
GB0123421D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Power management system |
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 |
US8504798B2 (en) * | 2003-12-30 | 2013-08-06 | Sandisk Technologies Inc. | Management of non-volatile memory systems having large erase blocks |
US7139864B2 (en) * | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
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 |
US9135190B1 (en) | 2009-09-04 | 2015-09-15 | Bitmicro Networks, Inc. | Multi-profile memory controller for computing devices |
US8665601B1 (en) | 2009-09-04 | 2014-03-04 | Bitmicro Networks, Inc. | Solid state drive with improved enclosure assembly |
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 |
US9430386B2 (en) | 2013-03-15 | 2016-08-30 | Bitmicro Networks, Inc. | Multi-leveled cache management in a hybrid storage system |
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 |
US9934045B1 (en) | 2013-03-15 | 2018-04-03 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
US10120694B2 (en) | 2013-03-15 | 2018-11-06 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
US9734067B1 (en) | 2013-03-15 | 2017-08-15 | Bitmicro Networks, Inc. | Write buffering |
US9501436B1 (en) | 2013-03-15 | 2016-11-22 | Bitmicro Networks, Inc. | Multi-level message passing descriptor |
US9720603B1 (en) | 2013-03-15 | 2017-08-01 | Bitmicro Networks, Inc. | IOC to IOC distributed caching architecture |
US10489318B1 (en) | 2013-03-15 | 2019-11-26 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
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 |
US9875205B1 (en) | 2013-03-15 | 2018-01-23 | Bitmicro Networks, Inc. | Network of memory systems |
US9798688B1 (en) | 2013-03-15 | 2017-10-24 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9916213B1 (en) | 2013-03-15 | 2018-03-13 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9971524B1 (en) | 2013-03-15 | 2018-05-15 | 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 |
US10055150B1 (en) | 2014-04-17 | 2018-08-21 | Bitmicro Networks, Inc. | Writing volatile scattered memory metadata to flash device |
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 |
US10042792B1 (en) | 2014-04-17 | 2018-08-07 | Bitmicro Networks, Inc. | Method for transferring and receiving frames across PCI express bus for SSD device |
US9811461B1 (en) | 2014-04-17 | 2017-11-07 | Bitmicro Networks, Inc. | Data storage system |
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)
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 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 半導体メモリを用いた外部記憶システム及びその制御方法 |
-
1995
- 1995-01-31 JP JP1403095A patent/JPH08212019A/ja active Pending
- 1995-12-13 GB GB9525537A patent/GB2297637B/en not_active Expired - Fee Related
- 1995-12-28 US US08/580,410 patent/US5627783A/en not_active Expired - Fee Related
-
1996
- 1996-01-18 KR KR1019960001047A patent/KR100193779B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
GB9525537D0 (en) | 1996-02-14 |
GB2297637B (en) | 1997-01-08 |
JPH08212019A (ja) | 1996-08-20 |
US5627783A (en) | 1997-05-06 |
KR960029984A (ko) | 1996-08-17 |
GB2297637A (en) | 1996-08-07 |
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 | |
JP4155463B2 (ja) | 順次書き込みのみを用いるフラッシュ管理システムを有するシステム、及びその方法 | |
EP0852765B1 (en) | Memory management | |
EP0712067B1 (en) | Flash disk card | |
KR100987241B1 (ko) | 메모리 장치 및 그 메모리 장치를 이용한 기록 재생 장치 | |
US20050015557A1 (en) | Nonvolatile memory unit with specific cache | |
KR100684061B1 (ko) | 기록 시스템, 데이터 기록 장치, 메모리 장치 및 데이터기록 방법 | |
WO1995018407A1 (en) | Solid state memory system | |
JPWO2005043394A1 (ja) | 情報記録媒体、情報記録媒体に対するアクセス装置及びアクセス方法 | |
JP4308780B2 (ja) | 半導体メモリ装置、メモリコントローラ及びデータ記録方法 | |
KR19990019377A (ko) | 플래시 메모리 이용 보조기억장치 및 그 방법 | |
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 |