KR100441587B1 - 블록 얼라인먼트 기능을 갖는 반도체 기억 장치 - Google Patents
블록 얼라인먼트 기능을 갖는 반도체 기억 장치 Download PDFInfo
- Publication number
- KR100441587B1 KR100441587B1 KR10-2001-0006173A KR20010006173A KR100441587B1 KR 100441587 B1 KR100441587 B1 KR 100441587B1 KR 20010006173 A KR20010006173 A KR 20010006173A KR 100441587 B1 KR100441587 B1 KR 100441587B1
- Authority
- KR
- South Korea
- Prior art keywords
- address
- data
- logical address
- memory device
- semiconductor memory
- Prior art date
Links
Classifications
-
- 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
-
- 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
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- 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/04—Addressing variable-length words or parts of words
-
- 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
본 발명은 클러스터에 할당된 각 블록의 소거 횟수나 1회의 기입으로 소거하는 블록의 수를 필요 최저한으로 억제할 수 있는 반도체 기억 장치를 제공한다.
일 실시 형태로서는 호스트 시스템(1)이 반도체 기억 장치(100)의 플래시 메모리(17) 상에 작성한 FAT 파티션에 대하여 클러스터 단위의 액세스를 행하는 경우, CPU(6)는 호스트 시스템(1)이 지정한 논리 어드레스에 어드레스 오프셋 저장 수단(10)이 보유하는 어드레스 오프셋치를 가산함으로써, 클러스터의 선두 섹터의 논리 어드레스를 플래시 메모리(17)의 소거·기입의 단위 블록의 선두 섹터의 물리 어드레스에 대응짓는 구성을 포함하고 있다.
Description
본 발명은 반도체 기억 장치에 관한 것으로, 특히 데이터를 기입할 때, 소정의 블록 단위로 소거가 필요한 기억 매체를 이용한 반도체 기억 장치에 관한 것이다.
휴대 단말 등의 외부 기억 장치로서, 반도체 메모리를 탑재한 반도체 기억 장치가 급속히 보급되고 있다. 이러한 반도체 기억 장치에서는 반도체 메모리로서는 통상, 전기적으로 일괄 소거와 재기입이 가능하고 불휘발성으로 소비 전력이 낮고 대용량의 데이터를 저장할 수 있는 플래시 메모리가 이용되고 있다.
이러한 플래시 메모리에서는 최근 대용량화의 요구에 따라서 1셀에 1비트의 데이터를 저장하는 2치 구조의 플래시 메모리 대신에, 1셀에 2비트 이상의 데이터를 저장할 수 있는 다치 구조의 플래시 메모리가 도입되고 있다.
이러한 다치 구조의 플래시 메모리에서는 1셀에 2비트 이상의 데이터를 저장할 수 있기 때문에, 단위 면적당 기억 용량이 증가하지만, 다치 구조의 셀은 2치 구조의 셀보다도 소거나 기입의 처리 시간이 길어지기 때문에, 일괄 소거·기입의 단위 블록(이하, 소거 블록이라고 함)의 사이즈가 동일한 한, 기입 처리 성능이 저하하게 된다.
그래서, 소거 블록의 사이즈를 확장한다는 대책이 이루어지고 있다. 이에 따라, 일정량의 데이터의 기입에 있어서, 동시에 일괄하여 소거·기입을 행하는 횟수(소거 블록수)를 줄일 수 있기 때문에, 처리 성능의 저하를 막을 수 있다.
또한, 소거 블록이 세분화되며 소거 블록의 수가 증가하면, 그 만큼 주변 회로도 필요해지며 전체로서의 칩 면적이 확대하게 되어 제조의 수율을 악화시키지만, 소거 블록의 사이즈를 확장하고 블록의 수를 줄임으로써 면적의 확대가 억제되며 수율을 향상시킬 수 있다.
한편, 호스트 시스템이 이러한 외부 기억 장치에 대하여 파일 데이터를 판독하거나 기입하거나 할 때는 일반적으로, 하드디스크 장치 등과 마찬가지로, 섹터를 그 액세스 단위로 하고 있다. 1 섹터의 사이즈는 예를 들면, 512 바이트이다.
2치 구조의 플래시 메모리를 탑재한 반도체 기억 장치에서는 일반적으로, 이 섹터의 크기와 소거 블록의 크기를 일치시키고 있었다. 한편, 다치 구조의 플래시메모리를 탑재한 반도체 기억 장치에서는 상술한 바와 같이 소거 블록의 사이즈를 확대하여, 이 섹터를 복수 통합한 것을 소거 블록으로 하고 있다. 이에 따라, 호스트 시스템이 반도체 기억 장치에 대하여 복수 섹터를 일괄하여 기입하는 커맨드를 보낸 경우, 복수 섹터의 데이터를 동시에 일괄하여 소거하거나 기입하거나 하는 것이 가능해지며 2치 구조의 플래시 메모리를 탑재한 반도체 기억 장치에 비하여 처리 시간을 단축할 수 있다.
또한, 플래시 메모리를 탑재한 반도체 기억 장치를 이용하는 경우, 호스트 시스템은 하드디스크 장치 등의 파일 관리 방식으로서 가장 일반적인 FAT(File Allocation Table) 파일 시스템이라는 방식에 의해서 파일 데이터 관리를 행하는 경우가 많다.
FAT 파일 시스템이 구축된 파티션(이하, FAT 파티션이라고 함)은 관리 데이터를 저장하기 위한 영역인 관리 데이터 영역(PBR 영역이나 FAT 영역 등)과, 파일 데이터를 저장하기 위한 영역인 FAT 파일 영역을 포함하고, 이 중 FAT 파일 영역은 일반적으로, 4, 8, 16, 32 등의 여러개의 섹터로 구성되는 클러스터를 단위로 하여 관리한다.
호스트 시스템이 FAT 파일 영역에 파일 데이터를 저장하는 상황에서는 이 클러스터를 단위로 하는 기입이 빈번하게 행해지고 있다. 다치 구조의 플래시 메모리에서는 통상, 소거 블록을 구성하는 섹터의 수 K(K는 2 이상의 정수)를 클러스터를 구성하는 섹터의 수 J를 나누어 떨어지는 수로 설정하고 있다. 즉, 클러스터를 구성하는 섹터수 J는 K×L개(L은 플러스 정수)가 된다.
호스트 시스템이 복수의 섹터로 구성되는 소거 블록을 구비하는 플래시 메모리를 탑재한 반도체 기억 장치를 FAT 파일 시스템에서 파일 데이터를 관리하기 위해서 FAT 파티션을 플래시 메모리 상에 할당하는 경우를 고려한다.
종래의 플래시 메모리를 탑재한 반도체 기억 장치에서는 호스트 시스템이 섹터의 번호를 관리할 때 이용하는 논리 어드레스를 플래시 메모리의 동일 값의 물리 어드레스에 할당하였다.
이러한 할당을 행한 경우, FAT 파일 영역에서의 클러스터와 소거 블록의 대응 관계로서는 다음 두가지 경우가 고려된다.
첫번째 경우는 클러스터의 선두 섹터의 논리 어드레스와, 소거 블록의 선두 섹터의 물리 어드레스가 대응하고 있는 경우이고, 두번째 경우는 클러스터의 선두 섹터의 논리 어드레스와 소거 블록의 선두 섹터의 물리 어드레스가 대응하지 않는 경우이다.
예를 들면, 소거 블록이 4섹터로 구성되며(K=4), 클러스터가 8섹터로 구성되는 경우(J=8, L=2), 첫번째 경우에서는 1클러스터는 연속하는 2개의 블록에 포함되는 8개의 섹터로 지나치게 부족하지 않게 구성되지만, 두번째 경우에서는 클러스터의 선두와 소거 블록의 선두가 어긋나 있기 때문에, 1클러스터는 연속하는 3개의 소거 블록에 포함되는 12개 섹터 중 중간의 3섹터로 구성되게 된다.
즉, 두번째 경우, 서로 인접하는 클러스터(이하, 클러스터 A, B라고 함)는 하나의 소거 블록(이하, 블록 M이라고 함)을 공유하게 된다.
여기서, 블록 M을 구성하는 4개의 섹터 중 클러스터 A에 포함되는 섹터 부분을 섹터 부분 X, 클러스터 B에 포함되는 섹터 부분을 섹터 부분 Y로 한다. 현재, 호스트 시스템이 클러스터 A에 데이터를 기입하면 섹터 부분 Y의 데이터는 재기입할 필요가 없음에도 불구하고, 블록 M으로서 일괄하여 소거되어 원래의 데이터가 다시 기입된다. 또한, 클러스터 B에 데이터를 기입할 때에 대해서도 섹터 부분 X의 데이터는 재기입할 필요가 없음에도 불구하고, 블록 M으로서 일괄하여 소거되어 원래의 데이터가 다시 기입된다.
따라서, FAT 파일 영역의 각 클러스터가 평균적으로 기입된 경우를 고려하면, 블록 M과 같이 서로 인접하는 클러스터에 공유되어 있는 소거 블록의 소거·기입 횟수는 단일 클러스터에 포함되어 있는 소거 블록(이하, 블록 N이라고 함)의 소거·기입 횟수의 2배가 필요해지며 블록 M의 기억 소자의 수명을 블록 N에 비하여 확률적으로 반감시키게 된다.
또한 첫번째 경우에서는 1클러스터를 기입하는데 2개의 소거 블록의 소거와 기입이 필요해지지만, 두번째 경우에서는 1클러스터를 기입하는데 3개의 소거 블록의 소거와 기입이 필요해진다. 따라서, 첫번째 경우에 비하여 기입 처리 속도에 대해서도 지연된다.
본 발명의 목적은 각 블록의 소거 횟수나 1회의 기입으로 소거하는 블록의 수를 필요 최저한으로 억제할 수 있는 반도체 기억 장치를 제공하는데 있다.
본 발명에 따른 반도체 기억 장치는 복수의 섹터로 구성되는 클러스터를 단위로 하여, 파일 데이터를 분할·관리하는 호스트 시스템으로부터의 논리 어드레스에 의해 액세스되는 반도체 기억 장치에 있어서, 복수의 섹터로 구성되며 블록 단위로 소거 가능한 기억 매체와, 상기 클러스터의 선두 섹터의 논리 어드레스가 상기 블록의 선두 섹터의 물리 어드레스에 대응하도록 상기 논리 어드레스를 상기 물리 어드레스로 변환하여 상기 기억 매체를 액세스하는 처리부를 구비하는 것을 특징으로 한다.
이 경우에, 바람직하게는 논리 어드레스에 어드레스 오프셋치를 적용함으로써 상기 논리 어드레스를 상기 물리 어드레스로 변환한다.
상기 어드레스 오프셋치의 산출은 전원 투입 직후에 상기 기억 매체의 총 기억 용량 정보를 이용하여 행해도 된다.
또한 바람직하게는, 상기 기억 매체 상에 작성되는 파티션에 관한 정보를 이용하여, 상기 파티션에 관한 정보가 기입될 때 행해도 된다. 상기 파티션에 관한 정보는 예를 들면, 상기 논리 어드레스 0번지에 기입되는 데이터이다.
또한, 바람직하게는 상기 어드레스 오프셋치의 산출을 상기 기억 매체 상에 작성되는 파일 시스템에 있어서, 상기 파일 데이터를 관리하는데 이용되는 관리 정보를 이용하여, 상기 관리 정보의 기입 시에 행해도 된다.
상기 관리 정보는 예를 들면, 상기 파일 시스템의 관리 데이터 영역이 차지하는 논리 어드레스 범위에 기입되는 데이터로, 예를 들면 파일 시스템이 FAT 파일 시스템인 경우에는 PBR(파티션 부팅 레코드)의 데이터이다.
본 발명에 따른 정보 처리 장치는 이상과 같은 반도체 기억 장치를 구비한 것을 특징으로 한다.
본 발명에 따른 호스트 시스템은 복수의 섹터로 구성되는 클러스터를 단위로 하여, 파일 데이터를 분할·관리하는 호스트 시스템에 있어서, 복수의 섹터로 구성되며 블록 단위로 소거 가능한 기억 매체에 대하여 액세스할 때 상기 클러스터의 선두 섹터의 논리 어드레스가 상기 블록의 선두 섹터의 물리 어드레스에 대응하도록 상기 논리 어드레스를 상기 물리 어드레스로 변환하여 액세스하는 것을 특징으로 한다.
도 1은 본 발명에 따른 반도체 기억 장치의 블록도.
도 2는 플래시 메모리의 구성을 나타내는 도면.
도 3은 플래시 메모리 어레이의 구성을 나타내는 도면.
도 4는 FAT 파일 시스템의 구성을 나타내는 도면.
도 5는 플래시 메모리 어레이 상에 배치된 FAT 파일 영역의 클러스터와 블록의 관계를 나타낸 도면.
도 6은 어드레스 오프셋 설정 처리의 플로우차트를 나타낸 도면.
도 7은 논리 어드레스와 물리 어드레스와의 대응 관계의 일례를 나타낸 도면.
도 8은 제2 어드레스 오프셋 설정 처리의 플로우차트를 나타낸 도면.
도 9는 논리 어드레스와 물리 어드레스와의 대응 관계의 일례를 나타낸 도면.
도 10은 제3 어드레스 오프셋 설정 처리의 플로우차트를 나타낸 도면.
도 11은 논리 어드레스와 물리 어드레스와의 대응 관계의 일례를 나타낸 도면.
도 12는 반도체 기억 장치 및 호스트 시스템의 블록도.
<도면의 주요 부분에 대한 부호의 설명>
1 : 호스트 시스템
3 : 호스트 인터페이스
6 : CPU
8 : 프로그램 ROM
10 : 어드레스 오프셋 저장 수단
12 : 버퍼 메모리
15 : 메모리 인터페이스
17 : 플래시 메모리
이하, 본 발명의 실시 형태에 대하여 도면을 참조하면서 상세히 설명한다.
도 1은 본 발명에 따른 반도체 기억 장치의 블록도이다.
도 1에 도시한 바와 같이, 본 발명에 따른 반도체 기억 장치(100)는 호스트 인터페이스(3)와, CPU(6)와, 프로그램 ROM(8)과, 어드레스 오프셋 저장 수단(10)과, 버퍼 메모리(12)와, 메모리 인터페이스(15)와, 플래시 메모리(17)를 구비한다. CPU(6)와 어드레스 오프셋 저장 수단(10)이 제어부를 구성한다.
또한, 반도체 기억 장치(100)는 버스(2)를 통하여 퍼스널 컴퓨터 등의 호스트 시스템(1)과 접속되며, 호스트 시스템(1)에서의 커맨드를 받거나 호스트 시스템(1) 간에서 데이터의 교환을 행한다.
버스(2)는 호스트 시스템(1)이 반도체 기억 장치(100)를 액세스할 때에 이용하는 버스로, 예를 들면 호스트 시스템(1)의 로컬 버스나 퍼스널 컴퓨터의 표준 버스(IDE 버스, ISA 버스, PCI 버스, SCSI 버스, PC 카드 버스 등)이다.
호스트 인터페이스(3)는 버스(2)를 통하여 보내진 데이터를 버퍼 메모리(12)에 전송하거나 버퍼 메모리(12)가 보유하는 데이터를 버스(2)에 전송하는 하드웨어이다.
버퍼 메모리(12)는 플래시 메모리(17)에서 판독한 데이터나 플래시 메모리(17)에 기입하는 데이터를 일시적으로 보유하는 기억 수단으로, 예를 들면 스태틱 RAM(Random Access Memory)으로 구성된다.
메모리 인터페이스(15)는 플래시 메모리(17)에서 판독한 데이터를 버퍼 메모리(12)에 전송하거나 버퍼 메모리(12)가 보유하는 데이터를 플래시 메모리(17)에 기입하는 하드웨어이다.
CPU(Central Processing Unit ; 6)는 프로그램 ROM(Read Only Memory ; 8)에 저장된 프로그램을 판독하고, 그 프로그램에 따라 소정의 동작을 행한다. 예를 들면, CPU(6)는 호스트 인터페이스(3)를 통하여 수신한 호스트 시스템(1)의 커맨드나 스테이터스를 해석하고, 커맨드에 따라 호스트 인터페이스(3)나 메모리 인터페이스(15)의 기능을 제어한다. 또한, CPU(6)는 버퍼 메모리(12)가 보유하고 있는 데이터의 판독이나 재기입을 행한다.
또한, CPU(6)는 어드레스 오프셋 저장 수단(10)에 저장된 어드레스 오프셋치를 사용하여, 호스트 시스템(1)이 지정한 논리 어드레스를 플래시 메모리(17)를 액세스하기 위한 물리 어드레스로 변환한다. 어드레스 오프셋치의 산출 방법 및 논리 어드레스에서 물리 어드레스로의 어드레스 변환 방법에 대해서는 후술한다.
어드레스 오프셋 저장 수단(10)은 논리 어드레스를 물리 어드레스로 변환할 때 사용되는 어드레스 오프셋치를 저장하는 기억 수단으로, 불휘발성 또는 휘발성의 기억 소자로 구성된다. 또, 어드레스 오프셋 저장 수단(10)은 독립한 기억 수단을 설치해도 되며 다른 기억 수단[예를 들면, 플래시 메모리(17)]의 일부를 이용하여 구성해도 된다.
플래시 메모리(17)는 반도체 기억 장치(100)에서 파일 데이터 등을 저장하는 기억 수단이다.
도 2는 플래시 메모리(17)의 구성을 나타내는 도면이다.
도 2에 도시한 바와 같이, 플래시 메모리(17)는 플래시 메모리 어레이(18)와 데이터 레지스터(19)를 구비한다.
플래시 메모리 어레이(18)는 데이터를 저장하는 영역으로, 복수의 (소거)블록(20)의 집합으로서 구성된다.
데이터 레지스터(19)는 임의의 블록(20)에서 데이터를 판독하거나 임의의 블록(20)에 데이터를 저장하기 위해서 일시적으로 데이터를 보유하는 기억 수단이다.
도 2에 도시하는 플래시 메모리(17)에 있어서, 지정된 물리 어드레스에 대한 섹터 데이터의 기입은 다음과 같이 하여 행해진다. 우선, 기입 대상 섹터가 포함되는 블록의 전 데이터를 데이터 레지스터(19)로 전송한다. 그 후, 플래시 메모리 어레이(18) 상의 그 블록의 전 데이터를 소거한다. 소거에 의해 그 블록의 비트 데이터는 소거 상태(예를 들면, 전부 '1')가 된다. 도 2의 참조 번호 21은 소거 상태의 블록을 나타내고 있다.
다음에, 데이터 레지스터(19)에 보유한 데이터 중 기입 대상이 되는 섹터 부분의 데이터를 데이터 레지스터(19)에 있어서 재기입, 데이터 레지스터(19)의 데이터 전체를 블록(21)에 기입한다. 도 2의 예에서는 기입은 데이터 레지스터(19) 내의 '0'인 비트 데이터에 대응하는 블록(21)의 비트 데이터를 '1'에서 '0'으로 반전시킴으로써 행한다.
도 3은 플래시 메모리 어레이(18)의 구성을 나타낸 도면이다. 도 3에 도시한 바와 같이, 플래시 메모리 어레이(18)는 복수의 블록(20)로 구성되며, 각 블록(20)은 각각 4개의 섹터(22)로 구성된다. 또, 각 블록은 2개 이상의 섹터이면 몇개의 섹터로 구성되어 있어도 상관없다.
섹터(22)는 호스트 시스템(1)이 반도체 기억 장치(100)에 대하여 데이터의 판독이나 기입을 행할 때의 데이터 단위로, 그 크기는 예를 들면 512바이트이다.
플래시 메모리 어레이(18)를 구성하는 각 섹터(22)에는 0h에서 오름순으로 일련 번호가 붙여져 있고 그 섹터 번호를 물리 어드레스라고 부른다.
호스트 시스템(1)이 반도체 기억 장치(100)에 대하여 섹터를 단위로 하는 데이터의 판독이나 기입을 행할 때, 호스트 시스템(1)이 관리하는 섹터 번호를 논리 어드레스라고 하고 0h를 개시점으로 한다. 호스트 시스템(1)은 논리 어드레스를 지정하여 반도체 기억 장치(100)에 대한 데이터의 기입 및 판독을 행한다.
다음에, 호스트 시스템(1)에서 데이터의 기입이 지시된 경우의 반도체 기억 장치(100)의 동작에 대하여 설명한다.
호스트 시스템(1)에서 반도체 기억 장치(100)에 지정된 논리 어드레스로의 데이터의 기입을 요구하는 커맨드를 보내면, CPU(6)에 호스트 인터페이스(3)를 통하여 그 논리 어드레스를 취득하고 그것을 물리 어드레스로 변환한다.
즉, CPU(6)는 어드레스 오프셋 저장 수단(10)에 저장된 어드레스 오프셋치를 판독하고, 그것을 논리 어드레스치에 가산함으로써 물리 어드레스를 생성한다.
호스트 시스템(1)에서 전송된 기입 데이터는 호스트 인터페이스(3)를 통하여 버퍼 메모리(12)에 보유된다. CPU(6)는 버퍼 메모리(12) 내의 데이터를 어드레스 변환 후의 물리 어드레스에 기입하도록 메모리 인터페이스(15)를 제어하고, 그 데이터를 플래시 메모리(17)가 지정된 물리 어드레스에 기입한다.
다음에, 어드레스 변환에 사용되는 어드레스 오프셋치의 산출 방법에 대하여 설명한다.
그 때문에, 우선, 반도체 기억 장치(100)에 작성되는 파일 시스템에 대하여 설명한다. 호스트 시스템(1)이 플래시 메모리(17)의 플래시 메모리 어레이(18) 상에서 파일 데이터를 관리하는 방식을 파일 시스템라고 부른다. 파일 시스템은 플래시 메모리 어레이(18) 상에 복수 작성할 수 있어 임의의 하나의 파일 시스템을 두기 위한 논리 어드레스 범위를 파티션이라고 부른다.
여기서는 파일 시스템으로서 FAT 파일 시스템을 채용한 경우에 대하여 설명한다.
도 4는 FAT 파일 시스템의 구성을 나타내는 도면이다. 도 4는 FAT 파티션(25)이 플래시 메모리 어레이(18) 상에 하나 작성되어 있는 예를 나타낸 것이다. FAT 파티션(25)은 FAT 파일 시스템이 점유하는 파티션이다.
도 4에서는 FAT 파티션(25)의 논리 어드레스 범위는, 20h에서 1E7Fh까지 되어 있다. FAT 파티션(25)은 PBR(26)과, FAT 영역 I(27)과, FAT 영역 II(28)과 루트 디렉토리 영역(29)과, FAT 파일 영역(30)으로 구성된다.
PBR(파티션 부팅 레코드 ; 26)은 FAT 파티션(25)의 선두 논리 어드레스에 저장된 데이터이다. 도 4의 예에서는 PBR(26)의 논리 어드레스는 20h이다. PBR(26)에는 FAT 파티션(25)의 FAT 영역 I(27), FAT 영역 II(28), 루트 디렉토리 영역(29), FAT 파일 영역(30)의 각 논리 어드레스 범위를 알 수 있는 정보가 포함된다.
FAT 파일 영역(30)은 파일 데이터를 저장하기 위한 영역이다. 도 4에서는 FAT 파일 영역(30)의 논리 어드레스 범위는 47h에서 1E7Fh가 되고 있다.
호스트 시스템(1)은 FAT 파일 영역(30)을 클러스터(31)를 단위로 하여 관리하고 파일 데이터를 기입할 때는 클러스터(31)를 단위로 하여 기입한다.
여기서는, 각 클러스터(31)는 8개의 섹터(22)로 구성되는 것으로 한다. 또, 클러스터(31)를 구성하는 섹터(22)의 수는 블록(20)을 구성하는 섹터(22) 수의 자연수배이면 몇개라도 상관없다.
FAT 영역 I(27)은 각 클러스터(31)의 사용 상황을 나타내는 테이블 데이터를 저장하는 영역이다. 도 4에서는 FAT 영역 I(27)의 논리 어드레스 범위는 21h에서 23h로 되어 있다.
FAT 영역 II(28)는 FAT 영역 I(27)의 데이터의 복사를 저장하는 영역이다. 도 4에서는 그 논리 어드레스 범위는 24h에서 26h가 되고 있다.
루트 디렉토리 영역(29)은 이 FAT 파티션(25)의 루트 디렉토리에 있는 파일이나 서브 디렉토리의 정보를 나타내는 데이터를 저장하는 영역이다. 도 4에서는그 논리 어드레스 범위는 27h에서 46h가 되고 있다.
호스트 시스템(1)은 반도체 기억 장치(100) 상에 파일 시스템을 작성하는 경우, 우선, 플래시 메모리 어레이(18) 상에서 비어 있는(다른 파티션이 할당되어 있지 않은) 논리 어드레스 범위에 파티션을 할당한다. 그리고, 그 파티션을 포맷한다. 포맷이란, 파티션 상에 PBR(26), FAT 영역 I(27), FAT 영역 II(28), 루트 디렉토리 영역(29)의 논리 어드레스 범위를 할당하여, 이들 영역에 파일 데이터를 관리하기 위한 초기화 데이터를 기입하는 것을 말한다.
MBR(마스터 부팅 레코드 ; 23)은 논리 어드레스 0h에 저장된 데이터이다. MBR(23)은 호스트 시스템(1)이 파일 데이터를 저장할 수 있는 논리 어드레스 범위에서 거기에 존재하는 각 파일 시스템의 종류나 각 파티션의 논리 어드레스 범위를 나타내는 정보를 포함한다. 호스트 시스템(1)은 파티션의 할당, 파티션의 포맷, 기존의 파티션의 삭제 등을 행할 때, 이 MBR(23)의 데이터 재기입을 행한다.
이러한 FAT 파일 시스템이 반도체 기억 장치(100)에 작성되는 경우, CPU(6)는 다음의 조건을 만족하는 어드레스 오프셋치를 산출한다. 즉, 그 어드레스 오프셋치를 가산하면, FAT 파일 영역(30)의 선두 논리 어드레스가 임의의 블록(20)의 선두 섹터의 물리 어드레스에 대응하도록 하는 어드레스 오프셋치이다. 이러한 조건을 만족하는 어드레스 오프셋치를 산출함으로써, FAT 파일 영역(30)을 구성하는 각 클러스터(31)의 선두 섹터의 논리 어드레스의 변환처는 반드시 블록(20)의 선두 섹터의 물리 어드레스가 된다.
도 5는 상기 조건 하에서의 FAT 파일 영역(30)의 클러스터(31)와 플래시 메모리(17)의 블록(20)의 대응 상태를 나타낸 도면이다. 도 5는 블록(20)이 4 섹터로 구성되며, 클러스터(31)가 8섹터로 구성되어 있는 경우에 대하여 나타내고 있어, 각 클러스터(31)는 정확하게 2개의 블록(20)으로 구성된다.
이에 따라, 클러스터 단위의 기입에 있어서 기입하는 클러스터에 포함되지 않는 섹터를 소거하지 않게 된다. 따라서, 전술한 기억 소자의 수명 저하의 문제를 해결하고 또한 클러스터당 기입 블록수가 최소가 되며 처리 시간이 단축된다는 효과를 가져온다.
다음에, 어드레스 오프셋치의 산출을 행하는 어드레스 오프셋 설정 처리의 상세에 대하여 설명한다. 도 6은 그 처리의 흐름을 나타낸 도면이다.
반도체 기억 장치(100)의 전원을 투입하면(S32), CPU(6)는 우선 플래시 메모리(17)를 구성하는 메모리칩의 갯수와 각 메모리칩의 용량을 조사한다(S33). 본 조사는 예를 들면, 각 메모리칩에서 용량 정보 등을 판독하는 것으로 행한다.
그리고, 플래시 메모리(17)에서 파일 시스템을 작성할 수 있는 총 메모리 용량을 산출한다(S34). 다음에, 산출한 용량 전체를 이용하여 1개의 FAT 파티션(25)을 작성한 경우에 PBR(26), FAT 영역 I(27), FAT 영역 II(28), 루트 디렉토리 영역(29)이 차지하는 논리 어드레스 범위를 산출하고, FAT 파일 영역(30)이 개시하는 논리 어드레스치를 계산한다(S35).
그리고, 그 논리 어드레스치와 동일한 값을 물리 어드레스로 하는 섹터가 블록의 선두 어드레스인지의 여부를 판별하고, 블록의 선두 어드레스가 아닌 경우에는, 그 이후의 블록의 선두 섹터의 물리 어드레스치에서 그 논리 어드레스치를 감산하여, 어드레스 오프셋치를 산출하고(S36), 산출한 어드레스 오프셋치를 어드레스 오프셋 저장 수단(10)에 저장한다(S37).
그리고, 이 이후, CPU(6)는 호스트 시스템(1)이 지정한 논리 어드레스에 대해서는 어드레스 오프셋 저장 수단(10)에 저장된 이 어드레스 오프셋치를 가산한 값의 물리 어드레스로 변환하여 플래시 메모리(17)에 대한 액세스를 행한다.
도 7은 호스트 시스템(1)이 전 플래시 메모리 영역을 1파티션에 할당하여, 이것을 FAT에서 포맷한 경우에 MBR(23)이나 FAT 파티션의 각 영역(26 ∼ 30)이나 각 클러스터(31)의 선두 섹터의 논리 어드레스가 물리 어드레스와 어떻게 대응될지의 예를 나타내고 있는 도면이다.
이 경우, 블록(20)은 4섹터로 구성되기 때문에, 4의 배수를 물리 어드레스로 하는 섹터는 블록(20)의 선두 섹터가 된다. FAT 파일 영역(30)의 선두 논리 어드레스 47h와 동일한 값을 물리 어드레스로 하는 섹터는 블록(20)의 선두 어드레스가 아니기 때문에, 예를 들면, 그 다음의 블록(20)의 선두 섹터의 물리 어드레스치 48h에서 47h를 감산한 1이 어드레스 오프셋치가 된다.
논리 어드레스에 어드레스 오프셋치의 1을 가산함으로써, FAT 파일 영역(30)을 구성하는 각 클러스터(31)의 선두 논리 어드레스는 블록(20)의 선두 섹터의 물리 어드레스에 대응하도록 변환되기 때문에, 상기한 어드레스 오프셋치의 조건을 만족한다. 또, 여기서는 논리 어드레스 범위 전체에 대하여 어드레스 오프셋치를 적용하고 있지만, 적어도 FAT 파일 영역(30)이 차지하는 논리 어드레스 범위에 어드레스 오프셋치가 적용되어 있으면 어떠한 범위에 어드레스 오프셋치를 적용하여도 된다.
다음에, 상술한 어드레스 오프셋 설정 처리와 마찬가지로 본 발명에 적용할 수 있는 제2 어드레스 오프셋 설정 처리에 대하여 설명한다.
도 8은 제2 어드레스 오프셋 처리의 흐름을 나타낸 도면이다. 제2 어드레스 오프셋 처리는 MBR(23)에 데이터가 기입되었을 때 그 데이터를 사용하여, 어드레스 오프셋치를 산출하는 것이다.
호스트 시스템(1)은 플래시 메모리 어레이(18) 상에 새롭게 파티션을 작성하면(S38), 그 파티션의 논리 어드레스 범위의 정보를 포함하는 데이터를 논리 어드레스 0h의 MBR(23)에 기입한다. 즉, 논리 어드레스 0h에 데이터를 기입하는 커맨드를 보낸다(S39).
CPU(6)는 논리 어드레스 0h에 대한 데이터의 기입이 지시되면, 버퍼 메모리(12)에 보유되어 있는 데이터를 플래시 메모리(17)의 물리 어드레스 0h에 기입함과 함께, 그 데이터를 판독하여 해석하고 새롭게 작성되는 파티션의 논리 어드레스 범위를 알 수 있다(S40). 그리고, 이 파티션이 FAT에서 포맷된 경우에 PBR(26), FAT 영역 I(27), FAT 영역 II(28), 루트 디렉토리 영역(29)이 차지하는 논리 어드레스 범위를 산출하고 FAT 파일 영역(30)이 개시하는 논리 어드레스치를 계산한다(S41).
그리고, 그 논리 어드레스치와 동일한 값을 갖는 물리 어드레스가 블록의 선두에 대응하지 못하는 경우에는 그 이후의 블록의 선두 섹터의 물리 어드레스치로부터 그 논리 어드레스치를 감산하여, 어드레스 오프셋치를 산출하고(S42), 산출한어드레스 오프셋치를 어드레스 오프셋 저장 수단(10)에 저장한다(S43).
이 이후, CPU(6)는 FAT 파티션(25)이 차지하는 범위 내의 논리 어드레스에 대해서는 어드레스 오프셋 저장 수단(10)에 저장된 어드레스 오프셋치를 가산한 값의 물리 어드레스로 변환하여 플래시 메모리(17)에 대한 액세스를 행한다.
도 9는 MBR(23)이나 FAT 파티션의 각 영역(26 ∼ 30)이나 각 클러스터(31)의 선두 섹터의 논리 어드레스와 물리 어드레스와의 대응하는 예를 나타내는 도면이다.
도 9는 MBR(23)에 어드레스 오프셋치가 가산되어 있지 않은 것을 제외하면 도 7과 동일하다. 또, 어드레스 오프셋을 적용하는 범위는 적어도 FAT 파일 영역(30)이 차지하는 논리 어드레스 범위에 어드레스 오프셋치가 적용되어 있으면, 어떠한 범위에 어드레스 오프셋치를 적용하여도 된다. 예를 들면, 도 7과 마찬가지로, MBR(23)의 데이터를 물리 어드레스 1h에 기입하여도 된다. 또한, 본 발명에 적용할 수 있는 제3 어드레스 오프셋 설정 처리에 대하여 설명한다. 도 10은 제3 어드레스 오프셋 설정 처리의 흐름을 나타낸 도면이다. 제3 어드레스 오프셋 처리는 파티션을 포맷할 때 PBR 데이터를 사용하여 어드레스 오프셋치를 산출하는 것이다.
호스트 시스템이 플래시 메모리 어레이(18) 상의 파티션을 FAT에서 포맷하는 경우(S44), 그 FAT 파티션의 각 영역의 논리 어드레스 범위의 정보를 포함하는 데이터를 파티션의 선두 논리 어드레스에 있는 PBR(26)에 기입한다(S45).
호스트 시스템에서부터 임의의 논리 어드레스에 데이터를 기입하는 커맨드를보내면, CPU(6)는 그 논리 어드레스가 그 파티션의 선두 논리 어드레스인지의 여부를 조사한다. 그 결과, 기입 대상의 논리 어드레스가 파티션의 선두 논리 어드레스이면, 버퍼 메모리(12)가 보유하고 있는 데이터를 판독하여 해석하고, 그 데이터가 FAT 파일 시스템의 PBR(26)에 상당하는 데이터인지를 조사한다(S46).
이에 따라, 그 파티션이 FAT에서 포맷되어 있는 것을 검출하면 CPU(6)는 버퍼 메모리(12)가 보유하고 있는 PBR 데이터를 파티션의 선두 논리 어드레스치와 동일한 값의 물리 어드레스에 기입함과 함께, 그 데이터로부터 이 FAT 파티션(25)을 구성하는 FAT 영역 I(27), FAT 영역 II(28), 루트 디렉토리 영역(29)이 차지하는 논리 어드레스 범위를 계산하고, FAT 파일 영역(30)이 개시하는 논리 어드레스치를 산출한다(S47).
그리고, 산출한 논리 어드레스치와 동일한 값을 갖는 물리 어드레스가 블록의 선두 어드레스가 아니면, 그 이후의 블록의 선두 섹터의 물리 어드레스치로부터 그 논리 어드레스치를 감산하고, 어드레스 오프셋치를 산출하고(S48), 산출된 어드레스 오프셋치를 어드레스 오프셋 저장 수단(10)에 저장한다(S49).
이 이후, CPU(6)는 FAT 파일 영역(30)이 차지하는 범위 내의 논리 어드레스에 대해서는 어드레스 오프셋 저장 수단(10)에 저장된 어드레스 오프셋치를 가산한 값의 물리 어드레스로 변환하여 플래시 메모리(17)에 대한 액세스를 행한다.
도 11은 MBR(23)이나 FAT 파티션의 각 영역(26 ∼ 30)이나 각 클러스터(31)의 선두 섹터의 논리 어드레스와 물리 어드레스와의 대응의 예를 나타내는 도면이다.
도 11에 도시한 바와 같이, 이 경우에는 FAT 파일 영역(30)이 차지하는 논리 어드레스 범위에 대해서만 어드레스 오프셋치를 적용하고 있다. 또, 다른 범위, 예를 들면, 도 9에 도시한 바와 같이, PBR 영역(26) 이후의 영역에 어드레스 오프셋치를 적용하여도 된다.
이상 설명에서는 반도체 기억 장치(100) 내의 CPU(6)가 어드레스 오프셋치의 산출이나 어드레스 변환 등을 행하였지만, 이들의 기능의 일부 또는 모두를 반도체 기억 장치 외부의 CPU가 행해도 된다.
도 12는 호스트 시스템에서 어드레스 변환 등을 행하는 경우의 호스트 시스템 및 반도체 기억 장치의 구성을 나타내는 도면이다.
도 12에 도시한 바와 같이, 호스트 시스템(1a)은 호스트 CPU(50)와, 어드레스 오프셋 저장 수단(10)과, 버퍼 메모리(12)를 구비한다.
한편, 반도체 기억 장치(100a)에는 메모리 인터페이스(15)와, 플래시 메모리(17)가 탑재되어 있다. 또, 반도체 기억 장치(100a) 내에 버퍼 메모리(12) 등을 설치해도 된다.
호스트 시스템의 CPU(50)는 상기한 CPU(6)와 마찬가지의 처리를 행하고, 어드레스 변환 후의 물리 어드레스를 사용하여 반도체 기억 장치(100a) 내의 플래시 메모리(17)를 액세스한다. 이에 따라, 반도체 기억 장치(100a)에서도 전술한 반도체 기억 장치(100)와 마찬가지의 효과를 얻을 수 있다.
이상의 설명에서는, 파일 데이터 관리 방식으로서 FAT 파일 시스템에 대하여 설명했지만, 본 발명은 클러스터 등의 파일 데이터 영역의 할당 단위의 선두와, 플래시 메모리의 일괄 소거·기록 블록의 선두가 일치하지 않은 경우가 발생하고, 또한 관리 데이터를 이용하여 파일 데이터 영역이 차지하는 논리 어드레스가 산출할 수 있는 파일 데이터 관리 방식이면 다른 파일 시스템에 대해서도 적용하는 것은 가능하다.
또한, 본 발명에 따른 반도체 기억 장치를 구성하는 기억 매체는 플래시 메모리에 한정되지 않고, 데이터를 기입할 때, 2개 이상의 섹터로 구성되는 블록을 단위로 하는 소거를 행하는 기억 매체이면 좋다.
이상 상세하게 설명한 바와 같이, 본 발명에 따르면, 복수의 섹터로 구성되는 블록을 소거·기입의 단위로 하는 기억 매체를 탑재한 반도체 기억 장치에 대하여, 호스트 시스템이 복수의 블록으로 구성되는 클러스터 단위로 파일 데이터의 기입을 행하는 경우라도 각 블록의 소거 횟수를 필요 최저한으로 억제할 수 있어 블록의 수명 저하를 방지할 수 있다. 또한, 1회의 기입에 대하여 일괄하여 소거·기입하는 블록수를 필요 최저한으로 억제할 수 있어 기입에 요하는 처리 시간을 단축할 수 있다.
Claims (10)
- 복수의 섹터로 구성되는 클러스터를 단위로 하여, 파일 데이터를 분할·관리하는 호스트 시스템으로부터의 논리 어드레스에 의해 액세스되는 반도체 기억 장치에 있어서,복수의 섹터로 구성되며 블록 단위로 데이터 소거 가능한 기억 매체와,상기 클러스터의 선두 섹터의 논리 어드레스가 상기 블록의 선두 섹터의 물리 어드레스에 대응하도록 상기 논리 어드레스를 상기 물리 어드레스로 변환하여 상기 기억 매체를 상기 물리 어드레스로 액세스하는 제어부를 포함하고,상기 논리 어드레스에 어드레스 오프셋치를 적용함으로써, 상기 논리 어드레스를 상기 물리 어드레스로 변환하는 반도체 기억 장치.
- 삭제
- 제1항에 있어서,상기 어드레스 오프셋치의 산출을 전원 투입 직후에 상기 기억 매체의 총 기억 용량 정보를 이용하여 행하는 반도체 기억 장치.
- 제1항에 있어서,상기 어드레스 오프셋치의 산출을 상기 기억 매체 상에 작성되는 파티션에 관한 정보를 이용하여 행하는 반도체 기억 장치.
- 제4항에 있어서,상기 어드레스 오프셋치의 산출을 상기 파티션에 관한 정보가 기입될 때 행하는 반도체 기억 장치.
- 제5항에 있어서,상기 파티션에 관한 정보는 상기 논리 어드레스 0번지에 기입되는 데이터인 반도체 기억 장치.
- 제1항에 있어서,상기 어드레스 오프셋치의 산출을 상기 기억 매체 상에 작성되는 파일 시스템에서, 상기 파일 데이터를 관리하는데 이용되는 관리 정보를 이용하여 행하는 반도체 기억 장치.
- 제7항에 있어서,상기 어드레스 오프셋치의 산출을 상기 관리 정보의 기입 시에 행하는 반도체 기억 장치.
- 제1항 및 제3항 내지 제8항 중 어느 한 항에 따른 반도체 기억 장치를 포함한 것을 특징으로 하는 정보 처리 장치.
- 복수의 섹터로 구성되는 클러스터를 단위로 하여, 파일 데이터를 분할·관리하는 호스트 시스템에 있어서,복수의 섹터로 구성되며 블록 단위로 소거 가능한 기억 매체에 대하여 액세스할 때,상기 클러스터의 선두 섹터의 논리 어드레스가 상기 블록의 선두 섹터의 물리 어드레스에 대응하도록 상기 논리 어드레스를 상기 물리 어드레스로 변환하여 상기 기억 매체를 액세스하고,상기 논리 어드레스에 어드레스 오프셋치를 적용함으로써, 상기 논리 어드레스를 상기 물리 어드레스로 변환하는 호스트 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000-169289 | 2000-06-06 | ||
JP2000169289A JP3942807B2 (ja) | 2000-06-06 | 2000-06-06 | ブロックアラインメント機能付き半導体記憶装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010110073A KR20010110073A (ko) | 2001-12-12 |
KR100441587B1 true KR100441587B1 (ko) | 2004-07-23 |
Family
ID=18672171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2001-0006173A KR100441587B1 (ko) | 2000-06-06 | 2001-02-08 | 블록 얼라인먼트 기능을 갖는 반도체 기억 장치 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6459644B2 (ko) |
JP (1) | JP3942807B2 (ko) |
KR (1) | KR100441587B1 (ko) |
TW (1) | TWI221553B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101528714B1 (ko) * | 2009-01-21 | 2015-06-15 | 마이크론 테크놀로지, 인크. | 메모리 유닛 동작 방법 및 메모리 제어기 |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000050997A1 (fr) * | 1999-02-22 | 2000-08-31 | Hitachi, Ltd. | Carte memoire, procede d'affectation d'adresse logique, et procede d'ecriture de donnees |
US7203729B2 (en) * | 2001-04-20 | 2007-04-10 | Motorola Inc. | Method and apparatus for a communication network with nodes capable of selective cluster head operation |
JP2003162433A (ja) * | 2001-11-27 | 2003-06-06 | Fujitsu Ltd | メモリシステム |
JP2003296177A (ja) * | 2002-04-03 | 2003-10-17 | Sony Corp | 記録装置および方法、記録媒体、並びにプログラム |
JP4238514B2 (ja) * | 2002-04-15 | 2009-03-18 | ソニー株式会社 | データ記憶装置 |
JP4009840B2 (ja) * | 2002-06-27 | 2007-11-21 | ソニー株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
KR100526178B1 (ko) * | 2003-03-31 | 2005-11-03 | 삼성전자주식회사 | 플래시 메모리 액세스 장치 및 방법 |
US7173852B2 (en) * | 2003-10-03 | 2007-02-06 | Sandisk Corporation | Corrected data storage and handling methods |
US8001325B2 (en) * | 2004-01-09 | 2011-08-16 | Sandisk Corporation | Memory card that supports file system interoperability |
US7200703B2 (en) * | 2004-06-08 | 2007-04-03 | Valmiki Ramanujan K | Configurable components for embedded system design |
US7395404B2 (en) * | 2004-12-16 | 2008-07-01 | Sandisk Corporation | Cluster auto-alignment for storing addressable data packets in a non-volatile memory array |
US7386655B2 (en) * | 2004-12-16 | 2008-06-10 | Sandisk Corporation | Non-volatile memory and method with improved indexing for scratch pad and update blocks |
US7366826B2 (en) * | 2004-12-16 | 2008-04-29 | Sandisk Corporation | Non-volatile memory and method with multi-stream update tracking |
US7315916B2 (en) * | 2004-12-16 | 2008-01-01 | Sandisk Corporation | Scratch pad block |
US7412560B2 (en) * | 2004-12-16 | 2008-08-12 | Sandisk Corporation | Non-volatile memory and method with multi-stream updating |
KR100684887B1 (ko) * | 2005-02-04 | 2007-02-20 | 삼성전자주식회사 | 플래시 메모리를 포함한 데이터 저장 장치 및 그것의 머지방법 |
US8122193B2 (en) | 2004-12-21 | 2012-02-21 | Samsung Electronics Co., Ltd. | Storage device and user device including the same |
US20060253643A1 (en) * | 2005-05-04 | 2006-11-09 | Delkin Devices, Inc. | Memory with isolated master boot record |
EP1898312A4 (en) * | 2005-06-24 | 2008-10-08 | Matsushita Electric Ind Co Ltd | MEMORY CONTROLLER, NONVOLATILE STORAGE DEVICE, NONVOLATILE STORAGE SYSTEM, AND DATA WRITING METHOD |
US7457910B2 (en) * | 2005-06-29 | 2008-11-25 | Sandisk Corproation | Method and system for managing partitions in a storage device |
KR100739722B1 (ko) * | 2005-08-20 | 2007-07-13 | 삼성전자주식회사 | 플래시 메모리 관리 방법 및 플래시 메모리 시스템 |
US20070174549A1 (en) * | 2006-01-24 | 2007-07-26 | Yevgen Gyl | Method for utilizing a memory interface to control partitioning of a memory module |
JP2007233838A (ja) * | 2006-03-02 | 2007-09-13 | Toshiba Corp | メモリシステムの制御方法 |
JP2008112285A (ja) * | 2006-10-30 | 2008-05-15 | Toshiba Corp | 不揮発性メモリシステム |
JP4991320B2 (ja) * | 2007-01-12 | 2012-08-01 | 株式会社東芝 | ホスト装置およびメモリシステム |
JP2008204041A (ja) | 2007-02-19 | 2008-09-04 | Hitachi Ltd | ストレージ装置及びデータ配置制御方法 |
KR101449524B1 (ko) | 2008-03-12 | 2014-10-14 | 삼성전자주식회사 | 스토리지 장치 및 컴퓨팅 시스템 |
TWI415134B (zh) * | 2008-04-10 | 2013-11-11 | Phison Electronics Corp | 資料存取方法、使用此方法的控制器與儲存系統 |
US8392687B2 (en) | 2009-01-21 | 2013-03-05 | Micron Technology, Inc. | Solid state memory formatting |
CN101866269A (zh) * | 2009-04-16 | 2010-10-20 | 鸿富锦精密工业(深圳)有限公司 | 存储装置、存储系统及存储装置的控制方法 |
US8856488B2 (en) | 2010-02-11 | 2014-10-07 | Memory Technologies Llc | Method for utilizing a memory interface to control partitioning of a memory module |
TWI420305B (zh) * | 2010-10-08 | 2013-12-21 | Phison Electronics Corp | 記憶體儲存裝置、其記憶體控制器與自動產生填充檔案的方法 |
US8626989B2 (en) * | 2011-02-02 | 2014-01-07 | Micron Technology, Inc. | Control arrangements and methods for accessing block oriented nonvolatile memory |
US8732431B2 (en) * | 2011-03-06 | 2014-05-20 | Micron Technology, Inc. | Logical address translation |
TWI515736B (zh) * | 2013-07-25 | 2016-01-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及快閃記憶體控制方法 |
US10423353B2 (en) * | 2016-11-11 | 2019-09-24 | Micron Technology, Inc. | Apparatuses and methods for memory alignment |
CN108845959B (zh) * | 2018-06-25 | 2023-06-23 | 联想(北京)有限公司 | 一种内存数据处理方法、装置和电子设备 |
US11816363B2 (en) * | 2021-11-04 | 2023-11-14 | International Business Machines Corporation | File based virtual disk management |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10124384A (ja) * | 1996-08-28 | 1998-05-15 | Toshiba Corp | 不揮発性半導体メモリの制御方法 |
JPH1153248A (ja) * | 1997-08-04 | 1999-02-26 | Tokyo Electron Ltd | データ処理システム、ブロック消去型記憶媒体、及びプログラム記録媒体 |
JPH11110283A (ja) * | 1997-08-08 | 1999-04-23 | Toshiba Corp | 不揮発性半導体メモリシステムの制御方法 |
KR19990075161A (ko) * | 1998-03-18 | 1999-10-15 | 김영환 | 플래시 메모리 어레이 액세스 방법 및 장치 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5303198A (en) | 1990-09-28 | 1994-04-12 | Fuji Photo Film Co., Ltd. | Method of recording data in memory card having EEPROM and memory card system using the same |
GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
JP2856621B2 (ja) | 1993-02-24 | 1999-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置 |
JP3078946B2 (ja) * | 1993-03-11 | 2000-08-21 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | 一括消去型不揮発性メモリの管理方法及び半導体ディスク装置 |
US5889795A (en) * | 1995-04-21 | 1999-03-30 | International Business Machines Corporation | Disk array system and method for storing data |
US5907856A (en) * | 1995-07-31 | 1999-05-25 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US5835935A (en) | 1995-09-13 | 1998-11-10 | Lexar Media, Inc. | Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory |
US5937423A (en) * | 1996-12-26 | 1999-08-10 | Intel Corporation | Register interface for flash EEPROM memory arrays |
DE69900577T2 (de) * | 1998-10-22 | 2002-08-01 | Matsushita Electric Industrial Co., Ltd. | Informationsaufzeichnungsmedium sowie Verfahren und Vorrichtung zur Fehlerverwaltung darauf |
-
2000
- 2000-06-06 JP JP2000169289A patent/JP3942807B2/ja not_active Expired - Fee Related
-
2001
- 2001-02-01 TW TW090102060A patent/TWI221553B/zh not_active IP Right Cessation
- 2001-02-08 KR KR10-2001-0006173A patent/KR100441587B1/ko not_active IP Right Cessation
- 2001-02-09 US US09/779,610 patent/US6459644B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10124384A (ja) * | 1996-08-28 | 1998-05-15 | Toshiba Corp | 不揮発性半導体メモリの制御方法 |
JPH1153248A (ja) * | 1997-08-04 | 1999-02-26 | Tokyo Electron Ltd | データ処理システム、ブロック消去型記憶媒体、及びプログラム記録媒体 |
JPH11110283A (ja) * | 1997-08-08 | 1999-04-23 | Toshiba Corp | 不揮発性半導体メモリシステムの制御方法 |
KR19990075161A (ko) * | 1998-03-18 | 1999-10-15 | 김영환 | 플래시 메모리 어레이 액세스 방법 및 장치 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101528714B1 (ko) * | 2009-01-21 | 2015-06-15 | 마이크론 테크놀로지, 인크. | 메모리 유닛 동작 방법 및 메모리 제어기 |
Also Published As
Publication number | Publication date |
---|---|
US20010048121A1 (en) | 2001-12-06 |
TWI221553B (en) | 2004-10-01 |
JP3942807B2 (ja) | 2007-07-11 |
US6459644B2 (en) | 2002-10-01 |
KR20010110073A (ko) | 2001-12-12 |
JP2001350665A (ja) | 2001-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100441587B1 (ko) | 블록 얼라인먼트 기능을 갖는 반도체 기억 장치 | |
US9396103B2 (en) | Method and system for storage address re-mapping for a memory device | |
KR100946286B1 (ko) | 플래시 파일 시스템에서 가상-물리 주소 변환 방법 및 시스템 | |
KR100877448B1 (ko) | 비휘발성 기억 시스템 | |
US8166258B2 (en) | Skip operations for solid state disks | |
US7634624B2 (en) | Memory system for data storage and retrieval | |
KR100389867B1 (ko) | 플래시 메모리 관리방법 | |
US7890732B2 (en) | Memory card and semiconductor device | |
US7426623B2 (en) | System and method for configuring flash memory partitions as super-units | |
KR101269366B1 (ko) | 메모리 시스템 및 메모리 시스템의 제어 방법 | |
KR100439507B1 (ko) | 고 용량 플래시 메모리 카드 시스템에서의 데이터 운영 방법 | |
JP5823875B2 (ja) | 固体メモリフォーマッティング | |
US20090271562A1 (en) | Method and system for storage address re-mapping for a multi-bank memory device | |
US20100057976A1 (en) | Multiple performance mode memory system | |
US7245539B2 (en) | Memory card, semiconductor device, and method of controlling semiconductor memory | |
WO2006046425A1 (ja) | 不揮発性記憶装置及び不揮発性記憶システム | |
US20100180072A1 (en) | Memory controller, nonvolatile memory device, file system, nonvolatile memory system, data writing method and data writing program | |
JP2000298992A (ja) | 多値記憶不揮発性半導体メモリの制御装置 | |
JP4561246B2 (ja) | メモリ装置 | |
JP2000181784A (ja) | 書き換え可能な不揮発性記憶装置 | |
KR20110070656A (ko) | 플래시 메모리의 데이터 처리 방법 및 장치 | |
KR100780963B1 (ko) | 메모리 카드 및 메모리 카드의 구동 방법 | |
JP2021068129A (ja) | メモリコントローラ及びフラッシュメモリシステム | |
JP2003122630A (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130621 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20140626 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20150618 Year of fee payment: 12 |
|
LAPS | Lapse due to unpaid annual fee |