KR20110088591A - 플래시 변환 계층을 포함하는 플래시 기반 메모리와 이 메모리에 파일을 저장하는 방법 - Google Patents

플래시 변환 계층을 포함하는 플래시 기반 메모리와 이 메모리에 파일을 저장하는 방법 Download PDF

Info

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
Application number
KR1020117014476A
Other languages
English (en)
Inventor
마르코 윈터
Original Assignee
톰슨 라이센싱
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Publication of KR20110088591A publication Critical patent/KR20110088591A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical 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

플래시 변환 계층을 포함하는 플래시 기반 메모리와 이 메모리에 파일을 저장하는 방법{FLASH BASED MEMORY COMPRISING A FLASH TRANSLATION LAYER AND METHOD FOR STORING A FILE THEREIN}
본 발명은 플래시 변환 계층을 포함하는 플래시 기반 메모리와 이 메모리에 파일을 저장하는 방법에 관한 것이다.
플래시 기반 메모리는 하드 디스크와 같은 다른 저장 매체나 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 파일 식별자 디스크립터는 다른 파일 정보 제어 블록을 지시한다. 마지막으로 이 정보 제어 블록은 실제 페이로드 데이터의 위치를 나타낸다.
저장 관리에서 논리적 저장 관리부는 인터페이싱 계층의 도움으로 기본 저장 구조의 물리적 특성으로부터 분리될 수 있다. 이에 따라서 그 저장 장치의 물리적 물리성과 무관하게 그 논리적 저장 관리 시스템을 이용할 수가 있다. 예컨대 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)을 예시적으로 제안한다. 예컨대 파일의 사용자 데이터가 인접 계열의 일부로서 저장되면, 예시적인 식별자열
Figure pct00001
이 상기 파일의 파일명 앞에 붙여진다. 추가적으로 또는 대안적으로, 인접하게 저장된 파일은 디렉토리로 구성되며, 이 경우에 상기 디렉토리의 이름은 상기 예시적인 식별자열
Figure pct00002
로 시작한다.
도 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)

  1. 논리적 파일 시스템(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).
  2. 제1항에 있어서,
    상기 제2 논리적 어드레스와 상기 제1 논리적 어드레스 간의 차는 상기 제2 물리적 어드레스와 상기 제1 물리적 어드레스 간의 차보다 상기 논리적 스터핑 비트(LSB)의 수만큼 더 큰, 플래시 기반 메모리(PH_MEM).
  3. 제1항 또는 제2항에 있어서,
    상기 플래시 기반 메모리(PH_MEM)는 NAND 플래시 메모리를 포함하고, 상기 논리적 파일 시스템(LG_MEM)은 ISO 13346에 따르는, 플래시 기반 메모리(PH_MEM).
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 논리적 파일 시스템(LG_MEM)은 2048 바이트의 논리적 섹터(L_SEC)를 에뮬레이트하는, 플래시 기반 메모리(PH_MEM).
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 논리적 파일 시스템 내의 상기 파일의 이름은 상기 파일이 저장되는 물리적 스터핑 비트의 수가 상기 논리적 스터핑 비트(LSB)의 수와 일치하지 않는 것을 나타내는, 플래시 기반 메모리(PH_MEM).
  6. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 파일은 상기 파일이 저장되는 물리적 스터핑 비트의 수가 상기 논리적 스터핑 비트(LSB)의 수와 일치하지 않는 것을 나타내는 이름을 가진 논리적 디렉토리에 포함된, 플래시 기반 메모리(PH_MEM).
  7. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 파일의 파일 식별자 필드 내의 적어도 하나의 플래그 비트는, 상기 파일이 저장되는 물리적 스터핑 비트의 수가 상기 논리적 스터핑 비트의 수와 일치하지 않는다는 것을 나타내는, 플래시 기반 메모리(PH_MEM).
  8. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 파일과 연관된 정보 제어 블록의 헤더 내의 적어도 하나의 플래그 비트는, 상기 파일이 저장되는 물리적 스터핑 비트의 수가 상기 논리적 스터핑 비트의 수와 일치하지 않는다는 것을 나타내는, 플래시 기반 메모리(PH_MEM).
  9. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 파일은 논리적 디렉토리에 포함되고, 상기 논리적 디렉토리의 디렉토리 식별자 필드 내의 적어도 하나의 플래그 비트는 상기 파일이 저장되는 물리적 스터핑 비트의 수가 상기 논리적 스터핑 비트의 수와 일치하지 않는다는 것을 나타내는, 플래시 기반 메모리.
  10. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 파일은 논리적 디렉토리에 포함되고, 상기 논리적 디렉토리와 연관된 정보 제어 블록의 헤더 내의 적어도 하나의 플래그 비트는 상기 파일이 저장되는 물리적 스터핑 비트의 수가 상기 논리적 스터핑 비트의 수와 일치하지 않는다는 것을 나타내는, 플래시 기반 메모리(PH_MEM).
  11. 논리적 파일 시스템(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)에 부가하는 단계
    를 포함하는, 파일 저장 방법.
  12. 제11항에 있어서,
    상기 제2 논리적 어드레스와 상기 제1 논리적 어드레스 간의 차는 상기 제2 물리적 어드레스와 상기 제1 물리적 어드레스 간의 차보다 상기 스터핑 비트(LSB)의 수만큼 더 큰, 파일 저장 방법.
  13. 제1항 내지 제10항 중 어느 한 항에 있어서,
    파일 시스템 관련 메타데이터와 파일의 콘텐트-관련 사용자 데이터가 상기 플래시 기반 메모리(PH_MEM)의 별도의 저장 영역에 저장되는 플래시 기반 메모리(PH_MEM), 또는
    제11항 또는 제12항에 있어서,
    파일 시스템 관련 메타데이터와 파일의 콘텐트-관련 사용자 데이터가 상기 플래시 기반 메모리(PH_MEM)의 별도의 저장 영역에 저장되는 파일 저장 방법.
  14. 제13항에 있어서,
    상기 콘텐트-관련 사용자 데이터는 하나 이상의 스틸 화상 또는 비디오 프레임의 영상 데이터를 포함하는, 플래시 기반 메모리(PH_MEM) 또는 파일 저장 방법.
  15. 제11항 내지 제14항 중 어느 한 항에 있어서,
    상기 플래시 기반 메모리(PH_MEM)는 NAND 플래시 메모리를 포함하고, 상기 논리적 파일 시스템(LG_MEM)은 ISO 13346에 따르는, 파일 저장 방법.
KR1020117014476A 2008-11-24 2009-11-12 플래시 변환 계층을 포함하는 플래시 기반 메모리와 이 메모리에 파일을 저장하는 방법 KR20110088591A (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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