KR20110088591A - 플래시 변환 계층을 포함하는 플래시 기반 메모리와 이 메모리에 파일을 저장하는 방법 - Google Patents
플래시 변환 계층을 포함하는 플래시 기반 메모리와 이 메모리에 파일을 저장하는 방법 Download PDFInfo
- Publication number
- KR20110088591A KR20110088591A KR1020117014476A KR20117014476A KR20110088591A KR 20110088591 A KR20110088591 A KR 20110088591A KR 1020117014476 A KR1020117014476 A KR 1020117014476A KR 20117014476 A KR20117014476 A KR 20117014476A KR 20110088591 A KR20110088591 A KR 20110088591A
- Authority
- KR
- South Korea
- Prior art keywords
- logical
- file
- flash
- mem
- address
- Prior art date
Links
Images
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
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
섹터화된 저장 매체를 에뮬레이트하는 논리적 파일 시스템(LG_MEM)의 논리적 섹터 개시 어드레스인 제1 논리적 어드레스를 플래시 기반 메모리(PH_MEM)의 제1 물리적 어드레스와 연관시키는 제1 변환 정보를 포함하는 플래시 변환 계층(FTL)을 포함하는 플래시 기반 메모리가 개시된다. 상기 논리적 파일 시스템(LG_MEM)은 상기 플래시 기반 메모리(PH_MEM)에 저장된 파일(PSF)의 데이터의 논리적 크기를 논리적 섹터(L_SEC)의 정수(integer number)에 대응하도록 확대시키는 다수의 논리적 스터핑 비트(LSB)를 포함하고, 상기 플래시 변환 계층(FTL)은 제2 논리적 어드레스를 제2 물리적 어드레스와 연관시키고 상기 논리적 스터핑 비트(LSB) 수에 의존하는 제2 변환 정보를 포함하고, 상기 파일은 상기 제1 물리적 어드레스에서 시작하여 상기 제2 물리적 어드레스에서 끝나는 인접 물리적 어드레스 계열에 저장된다.
Description
본 발명은 플래시 변환 계층을 포함하는 플래시 기반 메모리와 이 메모리에 파일을 저장하는 방법에 관한 것이다.
플래시 기반 메모리는 하드 디스크와 같은 다른 저장 매체나 DVD나 BD와 같은 광매체에 비해 상당히 좋은 장점이 있다. 예를 들어 플래시 메모리는 액세스해야 할 가동 부품이 필요없고 따라서 가동 부품의 동작에 해를 끼치는 충격으로 인한 액세스 불능같은 일이 일어나지 않는다. 따라서 플래시 메모리는 거치른 상황(rough conditions)이 일어날 수 있는 모바일 애플리케이션에 대해서는 아주 적합한 저장 장치이다.
모바일 애플리케이션들 중 한 가지는 스틸(still)이나 비디오 프레임과 같은 이미지의 캡쳐링이다. 플래시 기반 메모리는 스틸 카메라와 디지털 비디오 카메라와 같은 고객 장치에서 저장 장치로서 사용된다. 플래시 기반 메모리는 MP3 플레이어에도 있을 수 있다. 더구나 플래시 기반 메모리는 전문 디지털 필름 카메라에서 저장 장치로서 점점 더 중요해지고 있다.
플래시 메모리는 보통은 웨어 레벨링(wear-levelling)과 에러 정정을 관리하는 내부 저장 관리부를 갖고 있다. 애플리케이션들은 소위 플래시 변환 계층(FTL)을 통해 내부 저장 관리부와 상호 작용한다. FTL은 파일 시스템, 예컨대 FAT32를 에뮬레이트(emulate)한다.
FAT32 파일 시스템은 이론적으로 사이즈에 대한 제한이 없을 수 있지만, 실제로는 FAT32 파일 시스템은 아주 크면 속도가 느려지고 비효율적으로 된다. 그러므로 일부 운영 체제에서는 FAT32 파일 시스템 사이즈는 32GB로 제한되어 있다. 더욱이 FAT32 상의 최대 가능 파일 사이즈는 4GB보다 한 바이트 작으며 FAT32가 처리할 수 있는 디렉토리당 파일 수는 1000개로 제한되어 있다. 그리고 FAT32에서는 클러스터(파일 하나를 유지하는데 할당될 수 있는 최소 논리량)가 크기때문에 클러스터 사이즈보다 훨씬 작은 파일이 저장되는 클러스터에 비트를 채워넣는데 큰 저장 용량이 낭비된다.
착탈식 매체 상의 FAT는 UDF(Universal Disk Format)(광매체에 파일을 저장하기 위한 파일 시스템의 포맷 사양)로 대체될 수 있다. UDF를 에뮬레이팅하는 FTL은 외부에서 보면 섹터화된 저장 매체로 보인다.
플래시 기반 메모리의 단점은 적어도 현재로는 GB당 가격이 광 디스크와 같은 다른 저장 매체보다 높다는 것이다.
그러므로 본 기술분야에서는 플래시 기반 메모리의 저장 용량을 가능한 효율적으로 이용하려는 노력이 진행 중에 있다.
본 발명은 이러한 노력의 일환으로 청구항 1에 따른 플래시 변환 계층을 포함하는 플래시 기반 메모리를 제안한다.
즉, 플래시 기반 메모리에 포함된 플래시 변환 계층은 논리적 파일 시스템의 제1 논리적 어드레스를 상기 메모리의 제1 물리적 어드레스와 연관시키는 제1 변환 정보를 포함하며, 상기 논리적 파일 시스템은 섹터화된 저장 매체를 에뮬레이트하고 상기 논리적 어드레스는 논리적 섹터 개시 어드레스이고, 상기 논리적 파일 시스템은 상기 플래시 기반 메모리에 저장된 제1 파일의 데이터의 논리적 크기를 논리적 섹터의 정수(integer number)에 대응하도록 확대시키는 다수의 논리적 스터핑 비트를 포함하고, 상기 플래시 변환 계층은 제2 논리적 어드레스를 제2 물리적 어드레스와 연관시키고 상기 논리적 스터핑 비트 수에 의존하는 제2 변환 정보를 포함하고, 상기 파일의 데이터는 상기 제1 물리적 어드레스에서 시작하는 인접 물리적 어드레스 계열(contiguous physical address sequence)에 저장되고, 상기 제2 물리적 어드레스는 상기 인접 물리적 어드레스 계열의 끝에 인접하여 이어진다.
상기 변환 정보를 상기 논리적 스터핑 비트 수에 종속되게 하면, 상기 에뮬레이트된 파일 시스템에서 섹터를 채우는데 필요한 논리적 스터핑은 플래시 기반 메모리에서의 물리적 스터핑보다 더 많은 비트를 포함할 수 있다.
일 실시예에서, 상기 제2 논리적 어드레스와 상기 제1 논리적 어드레스 간의 차는 상기 제2 물리적 어드레스와 상기 제1 물리적 어드레스 간의 차보다 상기 논리적 스터핑 비트 수만큼 더 크다.
그러면, 파일은 파일들 간에 물리적 스터핑 비트 없이 인접 계열로서 저장된다. 이는 파일이 플래시 기반 메모리에 저장되고 있는 동안에 편집이나 변경될 가능성이 적은 애플리케이션에 유용하다.
다른 실시예에서, 파일 시스템 관련 메타데이터가 콘텐츠 관련 사용자 데이터와는 별도로 상기 플래시 기반 메모리에 저장된다.
이에 의해서, 사용자 데이터를 인접 스트림으로서 저장하고, 변경가능성이 큰 메타데이터를 변경에 더 적합한 다른 방식으로 저장할 수가 있다.
또 다른 실시예에서, 상기 플래시 기반 메모리는 NAND 플래시 메모리를 포함하고, 상기 논리적 파일 시스템은 ISO 13346에 따른다.
더욱이 상기 논리적 파일 시스템은 2048 바이트의 섹터를 에뮬레이트할 수 있다.
플래시 기반 메모리의 상기 여러 가지 실시예는 하나 이상의 스틸 화상이나 비디오 프레임의 영상 데이터를 포함하는 콘텐츠 관련 사용자 데이터에 특히 적합하다.
본 발명은 플래시 변환 계층을 포함하는 플래시 기반 메모리에 파일을 저장하는 방법으로서, 청구항 7의 특징을 포함하는 파일 저장 방법도 제공한다.
상기 파일 저장 방법은 제1 물리적 어드레스에서 시작하는 인접 물리적 어드레스 계열(contiguous physical address sequence)에 상기 파일의 데이터를 저장하는 단계(여기서, 플래시 변환 계층은 논리적 파일 시스템의 제1 논리적 어드레스를 상기 메모리의 제1 물리적 어드레스와 연관시키는 제1 변환 정보를 포함함), 상기 인접 물리적 어드레스 계열에 인접하게 이어지는 제2 물리적 어드레스를 결정하는 단계, 상기 파일의 데이터의 크기를 섹터의 정수(integer number)에 대응하도록 확대시키는데 필요한 논리적 스터핑 비트의 수에 따라서 제2 논리적 섹터 개시 어드레스를 결정하는 단계, 및 상기 제2 논리적 어드레스를 상기 제2 물리적 어드레스와 연관시키는 제2 변환 정보를 상기 플래시 변환 계층에 부가하는 단계를 포함한다.
본 발명에 따르면 종래의 문제점을 개선할 수 있다.
본 발명의 예시적인 실시예들은 도면에 도시되어 있으며 하기의 상세한 설명에서 더 자세히 설명된다. 도면에서,
도 1은 물리적 저장 장치에 논리적 저장 표현을 맵핑하는 플래시 변환 계층을 예시적으로 도시한 도.
도 2는 디렉토리를 지시하는, 즉 그 파일 식별자 디스크립터 테이블을 지시하는 디렉토리의 정보 제어 블록 간의 관계를 예시적으로 나타낸 도. 이 디렉토리의 제1 파일 식별자 디스크립터는 다른 파일 정보 제어 블록을 지시한다. 마지막으로 이 정보 제어 블록은 실제 페이로드 데이터의 위치를 나타낸다.
도 1은 물리적 저장 장치에 논리적 저장 표현을 맵핑하는 플래시 변환 계층을 예시적으로 도시한 도.
도 2는 디렉토리를 지시하는, 즉 그 파일 식별자 디스크립터 테이블을 지시하는 디렉토리의 정보 제어 블록 간의 관계를 예시적으로 나타낸 도. 이 디렉토리의 제1 파일 식별자 디스크립터는 다른 파일 정보 제어 블록을 지시한다. 마지막으로 이 정보 제어 블록은 실제 페이로드 데이터의 위치를 나타낸다.
저장 관리에서 논리적 저장 관리부는 인터페이싱 계층의 도움으로 기본 저장 구조의 물리적 특성으로부터 분리될 수 있다. 이에 따라서 그 저장 장치의 물리적 물리성과 무관하게 그 논리적 저장 관리 시스템을 이용할 수가 있다. 예컨대 SD나 MMC와 같은 플래시 메모리는 메모리의 외부 세계와 내부 표현 간을 변환하는 플래시 변환 계층을 구현하는 제어기를 갖고 있다.
제어기는 특수한 플래시 메모리 특성, 예컨대 소거가능한 블록, 삭제된 블록, 쓰여진 블록 등을 관리한다. 제어기는 그와 특별한 메모리 거동에의 액세스를 제공한다. 즉 제어기는 플래시 메모리 블록의 쓰기 주기 수의 제한을 준수하기 위해 블록에 쓰기 전에 삭제 블록을 소거하고, 동일 메모리 블록을 지나치게 자주 재사용하는 피함으로써 웨어 레벨링을 실현한다.
대부분의 물리적 저장 장치는 섹터 기반이므로 FAT32, NTFS 또는 UDF와 같은 일반적인 논리적 파일 관리 시스템도 섹터 기반이다. 즉, 정수(integer number)의 섹터의 사이즈와 같지 않은 사이즈를 가진 파일들에는 그 사이즈가 정수의 섹터의 사이즈와 같게 되도록 논리적 스터핑(stuffing) 비트가 채워진다. 이는 기본 저장 장치가 물리적 저장 장치와 논리적 파일 시스템 간의 맵핑을 간단하게 유지하도록 섹터 기반인 경우에 특히 유용하다.
더욱이, 스터핑에 의해 파일을 단편화(fragmentation)하지 않아도 파일의 편집에 따라서 파일 크기를 약간 변경할 수가 있다. 즉, 파일 편집이나 갱신으로 인한 약간의 파일 사이즈 증가는 그에 대응하는 만큼 스터핑 비트 수를 줄임으로써 보상될 수 있다. 이는 파일 관리를 간단하게 하는데도 도움이 된다. 그러므로 섹터 정렬을 요하지 않는 저장 장치에도 물리적 스터핑 비트가 제공된다.
매우 많은 수의 파일을 만들어내는 전문적인 디지털 필름 캡쳐링과 같은 데이터 수집 애플리케이션이 있다. 이런 애플리케이션들은 주로 데이터를 모아 잠시 동안 또는 일정 기간 동안 파일에 저장한다. 예컨대 전문적인 디지털 필름 캡쳐링에서는 프레임이 별도의 파일에 저장된다. 이는 뒤에 편집이나 가공 시에 특정 프레임의 검색을 쉽게 한다.
일반적으로, 수집된 데이터는 플래시 메모리나 플래시 메모리 어레이에 중간 중간에 저장된다. 수집된 데이터는 편집이나 가공되기 전에 플래시 메모리 기반 저장 장치에서 하드디스크 드라이브와 같은 다른 저장 장치로 옮겨진다. 그러면 이렇게 비게 된 메모리 부분은 새로운 데이터를 수집하는데 재사용되고, 옮겨진 데이터는 하드디스크에서 편집 또는 가공된다.
따라서, 이런 상황에서는 플래시 메모리 기반 저장 장치에서는 파일 변경이 생기지 않으며, 따라서, 물리적 스터핑 비트를 이용한 단편화를 회피할 필요가 없다.
더욱이 만들어진 파일량이 예컨대 초당 60 프레임 정도로 많기 때문에 물리적 스터핑 비트량도 역시 많다. 그러므로 물리적 스터핑이 수행되면, 상당히 많은 저장 공간이, 플래시 기반 저장 장치의 물리적 구조때문에도 편집이나 가공 과정에서 단편화를 피하기 위해서 그러한 편집이나 가공이 파일이 플래시 기반 저장 장치에 상주해 있는 동안에 수행되지 않기 때문에도 필요하지는 않지만, 비어 있게 된다.
그러한 상황에서는 물리적 스터핑 비트를 감소시키거나 피하는 것이 유리하다.
도 1에 도시된 예시적인 실시예에서는 플래시 변환 계층(FTL)은 플래시 메모리 기반 저장 장치(PH_MEM)의 논리적 UDF(Universal Disk Format) 2.50(LG_MEM)으로의 맵핑이 실현되도록 제어기에서 구현된다. 이 FTL은 섹터 경계들(B_SEC)에 의해 제한된 2048 바이트의 논리적 섹터들(L_SEC)을 포함하는 논리적 UDF(LG_MEM)를 에뮬레이트하고 Linux 또는 Windows 운영체제와의 호환성을 제공한다.
간단 명료하게 하기 위해 도 1에서는 하나의 섹터 경계(B_SEC)에만 참조부호를 병기하지만 모든 점선이 섹터 경계를 나타낸다. 이는 하부 좌측에서 상부 우측으로 대각적으로 사선이 쳐진 박스로 나타낸 논리적 저장 파일(LSF)과 하부 우측에서 상부 좌측으로 대각적으로 사선이 쳐진 박스로 나타낸 논리적 스터핑 비트(LSB)에도 적용된다. 마찬가지로 물리적 저장 피일(PSF)을 나타내는, 하부 좌측에서 상부 우측으로 대각적으로 사선이 쳐진 박스들 중 하나에만 대응 참조부호가 병기된다.
도시된 바와 같이, 논리적 스터핑 비트(LSB)는 논리적 메모리(LG_MEM)에는 있지만 물리적 메모리(PH_MEM)에는 없다. 물리적 메모리(PH_MEM)에서는 파일(PSF)의 사용자 데이터 또는 페이로드는 인접 데이터 블록으로서 구성되어 있다.
UDF 2.50 때문에, 파일에 포함된 실제 사용자 데이터(UD)와는 별도로, 파일의 특성에만 관련된 메타데이터(MD)를 하나 이상의 메타데이터 블록으로서 저장하는 것이 가능하다. 이에 따라서 플래시 제어기는 메타데이터에 고속으로 액세스할 수 있다. 더욱이, 사용자 데이터는 구성 파일로 쉽게 분리될 수 있으면서도 인접 스트림으로서 기록될 수 있다. 따라서 구성 파일은 물리적으로 스터프되지 않으므로 상당한 량의 저장 용량을 절감하게 된다. 스트림만이, 스터프된 사이즈가 2084 바이트 섹터의 정수배가 되도록, 물리적으로 전체적으로 스터프된다.
메타데이터를 사용자 데이터와 분리시키는 것은 메타데이터의 최종 저장이 모든 사용자 데이터가 플래시 기반 저장 장치에 기록될 때까지 연기되는 경우에도 유용하다. 그 때까지는 메터데이터는 임시로 저장된다.
그래서, 예시적인 실시간 캡쳐링 상황에서는 사용자 데이터, 예컨대 캡쳐된 프레임은 플래시 기반 저장 장치에 인접 데이터 계열로서 기록되고, 메타데이터, 예컨대 사용자 데이터를 프레임들로 분리할 수 있도록 하는 프레임 식별자와 저장 어드레스는 곧 바로 생성된다. 그러나 생성된 메타데이터는 사용자 데이터의 기록이 완료될 때까지 중간 중간에 버퍼에 임시로 저장된다. 그러면, 생성된 메타데이터는 버퍼로부터 플래시 기반 메모리로 옮겨진다.
그래서, 사용자 데이터 스트림을 인접 데이터 계열로서 기록하는 동안에는 메타데이터 블록에 관계된 어드레싱이 필요하지 않다.
인접 기록은 엄청난 량의 데이터를 축적하고 실시간으로 저장해야 하는 디지털 필름 캡쳐링 상황(여기서는 플래시에의 물리적 저장이 애로(bottleneck)임)에서 특히 유용하다. 따라서 인접 기록에 의한 저장 속도 증가가 매우 유리하다.
예컨대, 영화의 촬영 장면은 각각이 파일을 구성하는 프레임들의 인접 스트림으로서 기록될 수 있다. 그러면, 프레임들은 예컨대 타임 스탬프와 물리적 어드레스에 의해 프레임과 그 저장 위치를 식별하는 별도로 저장된 메타데이터를 이용하여 빠르고 쉽게 액세스될 수 있다.
만일 캡쳐된 프레임이 예컨대 CCD나 CMOS 센서에 의해 캡쳐된 미압축 미가공 데이터를 포함한다면 프레임당 데이터량은 일정하다. 따라서 단일 프레임들 뿐만 아니라 원하는 수의 프레임의 프레임 계열도 쉽게 액세스될 수 있다. 주로 그 계열의 시작 어드레스가 필요하다. 그러면, 독출된 데이터량이 그 원하는 수의 프레임에 포함된 데이터량일 될 때까지 데이터가 독출된다.
일부 파일은 상기 인접 스트림으로서 기록하고 나머지 파일은 예컨대 플래시에 상주하고 있는 동안에 편집될 수 있으므로 종래대로 기록하는 것이 유용할 수 있다. 예컨대, 장면 촬영 전, 도중 또는 직후에 기록된 장면 기술(scene description)과 같은 메타데이터도 플래시에 기록될 수 있다. 그와 같은 장면 기술은 영화 촬영 현장에 있는 동안에, 즉 장면 기술이 플래시 기반 메모리에 있는 동안에 이미 변경되었을 수 있다. 그러므로 장면 기술을 포함하는 파일은 스터핑 비트를 이용하여 종래 방식대로 저장될 수 있다. 종래 방식의 저장은 메타데이터에 적용되지 않을 수 있으며, 또는 메타데이터의 일부 또는 전부, 특히 UDF 2.50을 이용하여 별도로 저장된 메타데이터에 적용될 수 있다.
예컨대 촬영 영화 장면의 영상 프레임을 포함하는 파일의 이름을 개명할 수 있다면 그 프레임의 이름은 개명 결과로서 단편화를 피하기 위해 물리적 스터핑 비트를 이용하여 저장될 수 있다.
메타데이터가 사용자 데이터 및 다른 일부 상황과 분리되어 있지 않다면, 섹터 정렬에 필요한 논리적 스터핑 비트량보다 적은 소량의 물리적 스터핑 비트를 이용하여 파일을 저장하는 것이 유용할 수도 있다. 그러면, 단편화까지 가지 않아도 플래시에서 파일 편집이 가능하고 여전히 물리적 저장 용량이 얻어진다.
FTL가 인접 계열로서 저장되고 있는 사용자 데이터의 파일과는 다른 종래 방식대로 저장된 파일을 처리할 수 있도록 하기 위해 명명 규칙(naming convention)을 예시적으로 제안한다. 예컨대 파일의 사용자 데이터가 인접 계열의 일부로서 저장되면, 예시적인 식별자열 이 상기 파일의 파일명 앞에 붙여진다. 추가적으로 또는 대안적으로, 인접하게 저장된 파일은 디렉토리로 구성되며, 이 경우에 상기 디렉토리의 이름은 상기 예시적인 식별자열 로 시작한다.
도 2는 주어진 파일이 연접하게 기록되어 있는지 여부에 대한 정보가 UDF 2.50에 규정된 구현 이용 필드(Implementation Use Field)에 제공될 수 있는지를 보여준다. 예컨대 ImpUse[]의 나머지 4 바이트에 저장된 4 문자열 "CTGS"는 인접하게 기록된 파일을 갖고 있는 디렉토리의 정보 제어 블록 ICB_DIR의 구현 이용 필드 및/또는 인접 기록된 파일의 정보 제어 블록 ICB_FILE의 구현 이용 필드에서 표시자로서 이용될 수 있다.
또는, 디렉토리의 정보 제어 블록 ICB_DIR에 의해 참조되고 인접 기록된 파일의 상기 정보 제어 블록 ICB_FILE을 참조하는 파일 식별자 테이블 엔트리 FID의 구현 이용 필드가 이용될 수 있는데, 이 경우에는 인접 기록된 파일의 정보 제어 블록 ICB_FILE은 페이로드 데이터 PAY_LD를 참조한다. 파일 식별자 테이블 엔트리 FID의 첫번째 32 바이트가 UDF에 의해 미리 점유되고, 그에 따라서 상기 32 바이트 다음의 바이트들이 인접 저장을 표시하는데 이용될 수 있다. 그러면 이 표시는 FID에 따르는 논리적 순서가 플래시에서 파일의 사용자 데이터의 물리적 순서에 대응함을 나타낸다.
더욱이, 인접 기록된 파일의 구현 이용 필드는 인접 기록 파일의 논리적 어드레스를 물리적 어드레스에 맵핑하는데 필요한 부가 정보를 갖고 있을 수도 있다. 물리적 등가가 존재하지 않는 논리적 스터핑 비트에 의해 유도되는 가상 오프셋에 관련된 정보가 이 구현 이용 필드에 포함될 수 있다.
또는, 이 오프셋 정보는 추가 메타데이터로서 저장될 수 있다.
디렉토리의 정보 제어 블록 ICB_DIR, 인접 기록된 파일의 정보 제어 블록 ICB_FILE, FID-계열 및 실제 페이로드 데이터는 일반적으로 메모리의 서로 다른 및/또는 구별될 수 있는 위치에 있다.
본 발명은 섹터 기반 파일 시스템을 플래시 저장 장치에 적용하여 인접 쓰기를 통해 최대 속도의 쓰기를 가능하게 하는 간단한 방법을 제공한다. 더욱이, 입력되는 파일을 배치하는 가장 효율적인(MD 대 UD) 또는 원하는(인접 또는 인접하지 않는) 방법을 자동적으로 (MD/UD, file/dir 명) 인식할 수 있는 FTL이 제공된다.
본 발명은 파일 버스트, 예컨대 화상 파일 계열을 최소 지연으로 저장하는 방법을 제공한다.
Claims (15)
- 논리적 파일 시스템(LG_MEM)의 제1 논리적 어드레스를 플래시 기반 메모리(PH_MEM)의 제1 물리적 어드레스와 연관시키는 제1 변환 정보를 포함하는 플래시 변환 계층(FTL)을 포함하는 플래시 기반 메모리(PH_MEM)에 있어서,
상기 논리적 파일 시스템(LG_MEM)은 섹터화된 저장 매체를 에뮬레이트(emulate)하고 상기 논리적 어드레스는 논리적 섹터 개시 어드레스이고,
상기 논리적 파일 시스템(LG_MEM)은 상기 플래시 기반 메모리(PH_MEM)에 저장된 파일(PSF)의 데이터의 논리적 크기를 논리적 섹터(L_SEC)의 정수(integer number)에 대응하도록 확대시키는 다수의 논리적 스터핑(stuffing) 비트(LSB)를 포함하고,
상기 플래시 변환 계층(FTL)은 제2 논리적 어드레스를 제2 물리적 어드레스와 연관시키고 상기 논리적 스터핑 비트(LSB)의 수에 의존하는 제2 변환 정보를 포함하고,
상기 파일의 데이터는 상기 제1 물리적 어드레스에서 시작하는 인접 물리적 어드레스 계열(contiguous physical address sequence)에 저장되고,
상기 제2 물리적 어드레스는 상기 인접 물리적 어드레스 계열의 끝에 인접하여 이어지는, 플래시 기반 메모리(PH_MEM).
- 제1항에 있어서,
상기 제2 논리적 어드레스와 상기 제1 논리적 어드레스 간의 차는 상기 제2 물리적 어드레스와 상기 제1 물리적 어드레스 간의 차보다 상기 논리적 스터핑 비트(LSB)의 수만큼 더 큰, 플래시 기반 메모리(PH_MEM).
- 제1항 또는 제2항에 있어서,
상기 플래시 기반 메모리(PH_MEM)는 NAND 플래시 메모리를 포함하고, 상기 논리적 파일 시스템(LG_MEM)은 ISO 13346에 따르는, 플래시 기반 메모리(PH_MEM).
- 제1항 내지 제3항 중 어느 한 항에 있어서,
상기 논리적 파일 시스템(LG_MEM)은 2048 바이트의 논리적 섹터(L_SEC)를 에뮬레이트하는, 플래시 기반 메모리(PH_MEM).
- 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 논리적 파일 시스템 내의 상기 파일의 이름은 상기 파일이 저장되는 물리적 스터핑 비트의 수가 상기 논리적 스터핑 비트(LSB)의 수와 일치하지 않는 것을 나타내는, 플래시 기반 메모리(PH_MEM).
- 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 파일은 상기 파일이 저장되는 물리적 스터핑 비트의 수가 상기 논리적 스터핑 비트(LSB)의 수와 일치하지 않는 것을 나타내는 이름을 가진 논리적 디렉토리에 포함된, 플래시 기반 메모리(PH_MEM).
- 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 파일의 파일 식별자 필드 내의 적어도 하나의 플래그 비트는, 상기 파일이 저장되는 물리적 스터핑 비트의 수가 상기 논리적 스터핑 비트의 수와 일치하지 않는다는 것을 나타내는, 플래시 기반 메모리(PH_MEM).
- 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 파일과 연관된 정보 제어 블록의 헤더 내의 적어도 하나의 플래그 비트는, 상기 파일이 저장되는 물리적 스터핑 비트의 수가 상기 논리적 스터핑 비트의 수와 일치하지 않는다는 것을 나타내는, 플래시 기반 메모리(PH_MEM).
- 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 파일은 논리적 디렉토리에 포함되고, 상기 논리적 디렉토리의 디렉토리 식별자 필드 내의 적어도 하나의 플래그 비트는 상기 파일이 저장되는 물리적 스터핑 비트의 수가 상기 논리적 스터핑 비트의 수와 일치하지 않는다는 것을 나타내는, 플래시 기반 메모리.
- 제1항 내지 제4항 중 어느 한 항에 있어서,
상기 파일은 논리적 디렉토리에 포함되고, 상기 논리적 디렉토리와 연관된 정보 제어 블록의 헤더 내의 적어도 하나의 플래그 비트는 상기 파일이 저장되는 물리적 스터핑 비트의 수가 상기 논리적 스터핑 비트의 수와 일치하지 않는다는 것을 나타내는, 플래시 기반 메모리(PH_MEM).
- 논리적 파일 시스템(LG_MEM)의 제1 논리적 어드레스를 플래시 기반 메모리(PH_MEM)의 제1 물리적 어드레스와 연관시키는 제1 변환 정보를 포함하는 플래시 변환 계층(FTL)을 포함하는 플래시 기반 메모리(PH_MEM)에 파일을 저장하는 방법에 있어서,
상기 제1 물리적 어드레스에서 시작하는 인접 물리적 어드레스 계열(contiguous physical address sequence)에 상기 파일의 데이터를 저장하는 단계;
상기 인접 물리적 어드레스 계열의 끝에 인접하게 이어지는 제2 물리적 어드레스를 결정하는 단계;
상기 파일의 데이터의 크기를 섹터(L_SEC)의 정수(integer number)에 대응하도록 확대시키는데 필요한 논리적 스터핑 비트(LSB)의 수에 따라서 제2 논리적 섹터 개시 어드레스를 결정하는 단계; 및
상기 제2 논리적 어드레스를 상기 제2 물리적 어드레스와 연관시키는 제2 변환 정보를 상기 플래시 변환 계층(FTL)에 부가하는 단계
를 포함하는, 파일 저장 방법.
- 제11항에 있어서,
상기 제2 논리적 어드레스와 상기 제1 논리적 어드레스 간의 차는 상기 제2 물리적 어드레스와 상기 제1 물리적 어드레스 간의 차보다 상기 스터핑 비트(LSB)의 수만큼 더 큰, 파일 저장 방법.
- 제1항 내지 제10항 중 어느 한 항에 있어서,
파일 시스템 관련 메타데이터와 파일의 콘텐트-관련 사용자 데이터가 상기 플래시 기반 메모리(PH_MEM)의 별도의 저장 영역에 저장되는 플래시 기반 메모리(PH_MEM), 또는
제11항 또는 제12항에 있어서,
파일 시스템 관련 메타데이터와 파일의 콘텐트-관련 사용자 데이터가 상기 플래시 기반 메모리(PH_MEM)의 별도의 저장 영역에 저장되는 파일 저장 방법.
- 제13항에 있어서,
상기 콘텐트-관련 사용자 데이터는 하나 이상의 스틸 화상 또는 비디오 프레임의 영상 데이터를 포함하는, 플래시 기반 메모리(PH_MEM) 또는 파일 저장 방법.
- 제11항 내지 제14항 중 어느 한 항에 있어서,
상기 플래시 기반 메모리(PH_MEM)는 NAND 플래시 메모리를 포함하고, 상기 논리적 파일 시스템(LG_MEM)은 ISO 13346에 따르는, 파일 저장 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP08169734A EP2189895A1 (en) | 2008-11-24 | 2008-11-24 | Flash based memory comprising a Flash translation layer and method for storing a file therein |
EP08169734.4 | 2008-11-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20110088591A true KR20110088591A (ko) | 2011-08-03 |
Family
ID=40379076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020117014476A KR20110088591A (ko) | 2008-11-24 | 2009-11-12 | 플래시 변환 계층을 포함하는 플래시 기반 메모리와 이 메모리에 파일을 저장하는 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9158469B2 (ko) |
EP (2) | EP2189895A1 (ko) |
JP (1) | JP2012510101A (ko) |
KR (1) | KR20110088591A (ko) |
CN (1) | CN102224489B (ko) |
WO (1) | WO2010057821A1 (ko) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130227352A1 (en) | 2012-02-24 | 2013-08-29 | Commvault Systems, Inc. | Log monitoring |
US9934265B2 (en) | 2015-04-09 | 2018-04-03 | Commvault Systems, Inc. | Management of log data |
CN105068764B (zh) * | 2015-08-13 | 2018-06-12 | 北京京存技术有限公司 | 一种模拟NandFlash的装置及方法 |
CN107423232B (zh) * | 2016-05-24 | 2020-10-16 | 北京忆芯科技有限公司 | Ftl快速访问方法与装置 |
TWI643067B (zh) * | 2017-04-14 | 2018-12-01 | 國立臺灣科技大學 | 三維非及閘快閃記憶體及其記憶體管理方法 |
US20190108341A1 (en) | 2017-09-14 | 2019-04-11 | Commvault Systems, Inc. | Ransomware detection and data pruning management |
US11100064B2 (en) | 2019-04-30 | 2021-08-24 | Commvault Systems, Inc. | Automated log-based remediation of an information management system |
CN110837478A (zh) * | 2019-11-06 | 2020-02-25 | 出门问问信息科技有限公司 | 文件管理方法、存储介质和电子设备 |
US11574050B2 (en) | 2021-03-12 | 2023-02-07 | Commvault Systems, Inc. | Media agent hardening against ransomware attacks |
CN114063910B (zh) * | 2021-10-28 | 2024-04-02 | 武汉光迅科技股份有限公司 | 文件处理方法及装置、文件处理系统及存储介质 |
CN114968121A (zh) * | 2022-06-06 | 2022-08-30 | 北京万里红科技有限公司 | 一种读取存储介质中数据的方法、装置、电子设备及介质 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2251323B (en) * | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
JPH08328762A (ja) | 1995-06-06 | 1996-12-13 | Mitsubishi Electric Corp | 半導体ディスク装置及びそのメモリ管理方法 |
US5784699A (en) * | 1996-05-24 | 1998-07-21 | Oracle Corporation | Dynamic memory allocation in a computer using a bit map index |
US6412080B1 (en) * | 1999-02-23 | 2002-06-25 | Microsoft Corporation | Lightweight persistent storage system for flash memory devices |
DE19909367A1 (de) * | 1999-03-03 | 2000-09-07 | Thomson Brandt Gmbh | Verfahren zur Transferierung von Echtzeitdateien |
JP4815680B2 (ja) * | 2001-03-02 | 2011-11-16 | ソニー株式会社 | ディスク再生装置、プログラム、およびファイル読み出し方法 |
US6678785B2 (en) * | 2001-09-28 | 2004-01-13 | M-Systems Flash Disk Pioneers Ltd. | Flash management system using only sequential write |
JP3795382B2 (ja) * | 2001-11-21 | 2006-07-12 | 松下電器産業株式会社 | 情報記録装置および方法ならびに情報再生装置および方法 |
JP3869714B2 (ja) * | 2001-12-17 | 2007-01-17 | 三洋電機株式会社 | 画像記録装置 |
JP2004013276A (ja) * | 2002-06-04 | 2004-01-15 | Victor Co Of Japan Ltd | ファイルシステム及び記録媒体 |
JP4221959B2 (ja) | 2002-06-26 | 2009-02-12 | 日本ビクター株式会社 | ブリッジファイルシステム、コンピュータシステム、ブリッジファイルシステムを用いたデータ管理方法及び記録媒体 |
JP2004192561A (ja) * | 2002-12-13 | 2004-07-08 | Shinsei Bank Ltd | 担保評価システム及び担保評価プログラム |
US7383375B2 (en) | 2003-12-30 | 2008-06-03 | Sandisk Corporation | Data run programming |
KR100533683B1 (ko) | 2004-02-03 | 2005-12-05 | 삼성전자주식회사 | 플래시 메모리의 데이터 관리 장치 및 방법 |
US20080147964A1 (en) * | 2004-02-26 | 2008-06-19 | Chow David Q | Using various flash memory cells to build usb data flash cards with multiple partitions and autorun function |
US8166221B2 (en) * | 2004-03-17 | 2012-04-24 | Super Talent Electronics, Inc. | Low-power USB superspeed device with 8-bit payload and 9-bit frame NRZI encoding for replacing 8/10-bit encoding |
WO2005124530A2 (en) | 2004-06-21 | 2005-12-29 | Kabushiki Kaisha Toshiba | Method for controlling memory card and method for controlling nonvolatile semiconductor memory |
JP2006040264A (ja) * | 2004-06-21 | 2006-02-09 | Toshiba Corp | メモリカードの制御方法および不揮発性半導体メモリの制御方法 |
JP4209820B2 (ja) * | 2004-07-15 | 2009-01-14 | 株式会社ハギワラシスコム | メモリカードシステム及び該メモリカードシステムで使用されるライトワンス型メモリカード、ホストシステムと半導体記憶デバイスとからなるシステム |
FR2880152B1 (fr) | 2004-12-24 | 2007-03-02 | Trusted Logic Sa | Procede et systeme pour l'optimisation de la gestion de fichiers a enregistrements |
KR100684942B1 (ko) | 2005-02-07 | 2007-02-20 | 삼성전자주식회사 | 복수의 사상 기법들을 채용한 적응형 플래시 메모리 제어장치 및 그것을 포함한 플래시 메모리 시스템 |
KR100706242B1 (ko) * | 2005-02-07 | 2007-04-11 | 삼성전자주식회사 | 메모리 시스템 및 그것의 런 단위 어드레스 매핑 테이블 구성 방법 |
US8452929B2 (en) * | 2005-04-21 | 2013-05-28 | Violin Memory Inc. | Method and system for storage of data in non-volatile media |
JP2006352770A (ja) * | 2005-06-20 | 2006-12-28 | Toshiba Corp | 映像録画装置および映像録画方法 |
US7949845B2 (en) | 2005-08-03 | 2011-05-24 | Sandisk Corporation | Indexing of file data in reprogrammable non-volatile memories that directly store data files |
WO2007049850A1 (en) * | 2005-10-27 | 2007-05-03 | Mgine Co., Ltd. | A mass storage device having both xip function and storage function |
US20070143567A1 (en) | 2005-12-21 | 2007-06-21 | Gorobets Sergey A | Methods for data alignment in non-volatile memories with a directly mapped file storage system |
JP4830773B2 (ja) * | 2006-10-12 | 2011-12-07 | パナソニック株式会社 | データ処理装置、方法、およびプログラム |
JP2008123473A (ja) * | 2006-10-20 | 2008-05-29 | Toshiba Corp | 記憶装置及びその制御方法 |
US8612494B2 (en) * | 2010-07-12 | 2013-12-17 | Sierra Wireless, Inc. | Selective file provisioning depending on mode of operation of an electronic device capable of assuming a plurality of operating modes |
-
2008
- 2008-11-24 EP EP08169734A patent/EP2189895A1/en not_active Withdrawn
-
2009
- 2009-11-12 KR KR1020117014476A patent/KR20110088591A/ko active IP Right Grant
- 2009-11-12 JP JP2011536828A patent/JP2012510101A/ja active Pending
- 2009-11-12 CN CN200980146749.4A patent/CN102224489B/zh not_active Expired - Fee Related
- 2009-11-12 US US12/998,640 patent/US9158469B2/en not_active Expired - Fee Related
- 2009-11-12 EP EP09752808A patent/EP2353074A1/en not_active Withdrawn
- 2009-11-12 WO PCT/EP2009/065029 patent/WO2010057821A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP2189895A1 (en) | 2010-05-26 |
US9158469B2 (en) | 2015-10-13 |
EP2353074A1 (en) | 2011-08-10 |
JP2012510101A (ja) | 2012-04-26 |
CN102224489B (zh) | 2014-10-29 |
US20110238893A1 (en) | 2011-09-29 |
WO2010057821A1 (en) | 2010-05-27 |
CN102224489A (zh) | 2011-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20110088591A (ko) | 플래시 변환 계층을 포함하는 플래시 기반 메모리와 이 메모리에 파일을 저장하는 방법 | |
US6675276B2 (en) | Method for providing extensible dos-fat system structures on one-time programmable media | |
US8972426B2 (en) | Storage device presenting to hosts only files compatible with a defined host capability | |
JP5129156B2 (ja) | アクセス装置、および、ライトワンス記録システム | |
KR102245113B1 (ko) | 저장 제어 디바이스, 저장 제어 방법, 및 기록 매체 | |
JP2006523882A (ja) | ユニバーサルなドライブ装置のためのフォーマットマッピング方式 | |
US20050286377A1 (en) | Record carrier having a main file system area and a virtual file system area | |
JP2004013276A (ja) | ファイルシステム及び記録媒体 | |
WO2011121870A1 (ja) | データ記録装置、及びデータ記録方法 | |
JP4221959B2 (ja) | ブリッジファイルシステム、コンピュータシステム、ブリッジファイルシステムを用いたデータ管理方法及び記録媒体 | |
KR20040068175A (ko) | 기본 및 확장 파일 시스템 기능을 갖는 데이터 저장 방법및 장치 | |
KR102094786B1 (ko) | 파일 시스템 및 상기 파일 시스템을 이용한 파일 저장 방법 | |
US8825723B2 (en) | Methods and devices for managing and editing files in a file system | |
JP4585052B2 (ja) | データ記録システム | |
JP5053945B2 (ja) | 記録媒体初期化方法及び記録媒体初期化装置 | |
US7424573B2 (en) | Information processing apparatus, method, and program for formatting multiple recording media integrated as one | |
JP7262977B2 (ja) | 記録装置及びその制御方法、並びにプログラム | |
KR20240096218A (ko) | Cdr에서 라이팅 속도 향상을 위한 fat 32 사용 방법 | |
JP2006178632A (ja) | 情報処理装置、情報処理方法、プログラム | |
JP2006139439A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2006139845A (ja) | 情報処理装置、情報処理方法、プログラム | |
JP2006344353A (ja) | データ記録システム | |
JP2005135525A (ja) | 記録再生装置、記録再生方法、及び記録再生プログラム | |
JP2007059003A (ja) | 情報処理装置および方法、プログラム、並びに記録媒体 | |
JP2011181036A (ja) | 記録装置及び記録方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |