가공데이터 · 한국어 지식관계

외부 메모리의 부하를 줄일 수 있는 웨어 레벨링 기법에의한 플래시 파일 시스템의 동작 방법 document_id A220623015397

분류
의약학
라벨 상태 (label_status)
approved
문맥 (context)
본 발명은 플래시 파일 시스템(flash file system)의 동작방법에 관한 것으로서, 특히 외부 메모리의 부하를 줄일 수 있도록 개선된 웨어 레벨링 기법이 적용된 플래시 파일 시스템의 동작 방법에 관한 것이다. 플래시 메모리는 높은 안정성과 큰 용량, 상대적으로 싼 가격으로 인하여 작은 사이즈의 메모리(예, SRAM)와 함께 연동되는 임베디드 시스템(Embedded system; 예, 모바일 시스템)에서 일반적으로 채택되고 있다. 이러한 플래시 메모리는 램(RAM)과 같은 일반적인 메모리와는 다른 파일 시스템을 가지며 사용법과 동작에도 제한이 있다. 도 1은 일반적인 플래시 파일 시스템(flash file system)을 나타내는 도면이다. 일반적인 플래시 파일 시스템은 특정 파일을 식별할 수 있는 논리 어드레스(logic address)가 저장되어 있는 논리 블록(11; logic block)과 실제 데이터가 저장되는 물리 블록 (13; physical block)및 이들의 관계를 저장하고 있는 맵(map; 12)으로 구성된다. 응용 프로그램에서 데이터 파일(data file)에 대한 작업요청이 들어오면 플래시 파일 시스템은 데이터 파일의 논리 어드레스를 결정한 후 맵(12)을 통하여 물리 블록(13)에 억세스하도록 되어있다. 데이터 파일에 대한 작업요청으로 읽기, 쓰기, 갱신 등이 있다. 이러한 플래시 파일 시스템 하에서는 파일의 내용을 수정하거나 갱신할 때 삭제 유닛(erase unit) 단위로 작업을 수행한다. 즉, 플래시 메모리는 일반적으로 128KB 정도의 블록(block) 단위로 구성되어 있으며, 어떤 위치에 쓰기(write)를 하게 되면, 그 위치에 다른 내용을 쓰기 위해서는 삭제 유닛 전체를 지우고 나서 다시 쓰기를 해야만 한다. 플래시 메모리의 수명(life time)은 삭제주기(erase cycle)에 의해서 결정되는데, SLC(Single Level Cell)의 경우에는 대략 100,000번 정도를 지우면 그 수명이 다한다. 따라서 플래시 메모리가 제대로 활용되기 위해서는 이 삭제주기를 플래시 메모리의 모든 영역(예컨대, ''저장영역'')에 골고루 분산시켜야만 한다. 이와 같이, 플래시 메모리(flash memory)의 저장 영역을 특정 블록에 한정하지 않고 전체 블록에 골고루 확장시킬 수 있는 기술로서, 통상적으로 소프트웨어적으로 이를 해결하는 웨어 레벨링(wear leveling) 기법이 사용되고 있다. 이 웨어 레벨링 기법은, 간략히 기술하면, 도 1에 도시된 논리 블록들(11)이 맵핑되는 물리 블록들(13)의 물리적 위치를 변화시키는 기법이다. 이 웨어 레벨링 기법에 의하면, 외부로부터 소정의 데이터 파일에 대한 쓰기 요청이 입력되는 경우에, 도 2에 도시되는 바와 같이, 물리 블록들(13) 전체의 삭제횟수정보가 순차적으로 또는 규정된 방식에 따라 스캔된다. 그리고 스캔된 데이터 파일에 포함된 데이터가 저장될 영역의 블록이 미리 규정된 최대삭제횟수에 도달한 경우 상기한 스캔 정보를 근거로 하여, 상대적으로 삭제횟수가 적은 블록의 물리적 위치로 변경되어 저장된다. 이와 같이, 웨어 레벨링 기술은 논리 블록들(11)이 가지는 각각의 논리 어드레스가 동일한 물리 블록들(13)의 물리적 위치들에 계속적으로 매핑되지 않도록 설정하는 일종의 알고리즘이라 할 수 있다. 그런데, 종래의 웨어 레벨링 기술은 상술한 바와 같이 모든 블록에 대해서 삭제횟수정보를 스캔하여야 하는데, 이러한 스캔작업은 외부의 메모리(예, SRAM 등)에서 그 작업공간을 할당받아 수행된다. 전술한 바와 같이, 작은 메모리 공간(예, SRAM 등)을 고려할 때, 모든 블록에 대해서 행해지는 상기한 스캔작업은 전체 시스템의 성능을 떨어뜨린다. 물론 전체 메모리 공간을 늘리면 이러한 문제를 해결할 수 있다. 그러나, 일반적인 임베디드 시스템에서의 외부 메모리의 사이즈 증가는 전체 시스템의 가격 상승으로 이어지므로 바람직한 해결책은 아니다. 또한, 전체 블록에 대해서 스캔작업이 수행되므로, 이를 처리하는데 많은 처리시간이 소요되는 문제점이 있다.
지시문 (instruction)
주어진 원문을 읽고 필요한 정보를 파악하여, 원문에 근거해 질문에 답하라.
질문 (question)
웨어 레벨링(wear leveling) 기법이 플래시 메모리의 수명을 연장하기 위해 수행하는 구체적인 기능은 무엇인가?
추론 과정 (compact_reasoning)
  1. 1과제 해석task_interpretation

    웨어 레벨링 기법이 플래시 메모리 수명 연장을 위해 수행하는 기능적 역할을 파악한다.

  2. 2정보 추출information_extraction

    플래시 메모리의 수명 결정 요인과 웨어 레벨링의 정의를 추출한다.

    • 플래시 메모리의 수명(life time)은 삭제주기(erase cycle)에 의해서 결정되는데
    • 플래시 메모리(flash memory)의 저장 영역을 특정 블록에 한정하지 않고 전체 블록에 골고루 확장시킬 수 있는 기술로서, 통상적으로 소프트웨어적으로 이를 해결하는 웨어 레벨링(wear leveling) 기법이 사용되고 있다.
  3. 3근거 선택evidence_selection

    웨어 레벨링이 물리적 위치를 어떻게 변화시키는지에 대한 핵심 기법을 선별한다.

    • 이 웨어 레벨링 기법은, 간략히 기술하면, 도 1에 도시된 논리 블록들(11)이 맵핑되는 물리 블록들(13)의 물리적 위치를 변화시키는 기법이다.
  4. 4논리 통합logical_integration

    삭제 횟수가 많은 블록 대신 적은 블록을 사용하도록 물리적 위치를 변경한다는 메커니즘을 통합한다.

    • 데이터가 저장될 영역의 블록이 미리 규정된 최대삭제횟수에 도달한 경우 상기한 스캔 정보를 근거로 하여, 상대적으로 삭제횟수가 적은 블록의 물리적 위치로 변경되어 저장된다.
  5. 5결론 도출conclusion_formulation

    삭제 주기를 전체 블록에 골고루 분산시켜 수명을 관리한다는 결론을 도출한다.

    • 이 삭제주기를 플래시 메모리의 모든 영역(예컨대, ''저장영역'')에 골고루 분산시켜야만 한다.
  6. 6답변 생성answer_generation

    웨어 레벨링이 논리 블록이 매핑되는 물리 블록의 위치를 변화시켜 삭제 주기를 전체 블록에 골고루 분산시키는 기능을 수행함을 기술한다.

    • 논리 블록들(11)이 맵핑되는 물리 블록들(13)의 물리적 위치를 변화시키는 기법
    • 삭제주기를 플래시 메모리의 모든 영역(예컨대, ''저장영역'')에 골고루 분산시켜야만 한다.
최종 답변 (final_answer)
웨어 레벨링 기법은 논리 블록이 매핑되는 물리 블록들의 물리적 위치를 변화시킴으로써, 플래시 메모리의 삭제 주기를 특정 블록에 한정하지 않고 전체 블록에 골고루 분산시켜 수명을 연장하는 기능을 수행한다.
핵심 해석 (core_interpretation)
웨어 레벨링 기법은 논리 블록이 맵핑되는 물리 블록들의 물리적 위치를 변화시켜 삭제 주기를 전체 블록에 골고루 분산시킨다.