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

페이지 복사 횟수를 줄일 수 있는 메모리 카드 시스템의쓰기 및 병합 방법 document_id A220623055572

분류
의약학
라벨 상태 (label_status)
approved
문맥 (context)
최근 디지털 카메라, MP3 플레이어, 핸드폰, PDA 등과 같은 휴대용 전자 장치가 많이 사용되고 있다. 이러한 휴대용 전자 장치에는 플래시 메모리가 주로 사용되고 있다. 이는 플래시 메모리가 저전력 및 고집적 등의 특성을 갖는 비휘발성 소자이기 때문이다. 그러나 플래시 메모리는 데이터 덮어 쓰기(over write)가 가능한 하드 디스크와 달리, 데이터 덮어쓰기가 자유롭지 못하다. 플래시 메모리에 데이터를 덮어쓰기 위해서는 데이터를 쓰기 전에 지워야 한다. 이를 쓰기 전 소거 동작(erase-before-write)이라 한다. 즉, 플래시 메모리는 데이터를 쓰기 전에, 초기 상태 또는 소거 상태로 되돌려 놓아야 한다. 플래시 메모리의 소거 동작은 일반적으로 쓰기 동작에 비해 매우 긴 시간이 소요된다. 또한, 플래시 메모리의 소거 단위는 쓰기 단위보다 훨씬 큰 블록 단위로 수행되기 때문에, 소거되지 않아도 되는 부분까지 함께 지워지는 결과를 초래할 수 있다. 원치 않게 지워진 부분은 다시 쓰기 동작을 통해 복원해야 한다. 이와 같이 플래시 메모리는 소거와 쓰기 동작의 단위가 일치하지 않기 때문에, 쓰기 동작의 수행 성능은 읽기 동작에 비해 현저하게 떨어지며, 심지어 하드 디스크보다 그 성능이 떨어진다. 또한, 플래시 메모리는 동일한 블록에 대해 10만 번 정도의 소거 동작을 수행하면, 더 이상 사용할 수 없게 된다. 플래시 메모리는 특정 블록에 대해 소거 동작이 반복되는 것을 피하기 위해 웨어 레벨링(wear leveling) 동작을 수행한다. 플래시 변환 레이어(FTL; Flash Translation Layer)는 플래시 메모리의 이러한 단점들을 극복하고, 플래시 메모리를 효율적으로 관리하기 위한 소프트웨어이다. 플래시 변환 레이어(FTL)는 호스트로부터 논리 주소(LA; Logical Address)를 입력받고, 이를 물리 주소(PA; Physical Address)로 변환한다. 여기에서, 물리 주소(PA)는 실제 플래시 메모리에서 사용할 주소이다. 위와 같은 주소 맵핑 동작을 관리하기 위해 주소 맵핑 테이블(Address Mapping Table)이 필요하다. 주소 맵핑 테이블은 주로 랜덤 액세스 메모리(RAM)에 상에서 구동된다. 주소 맵핑 테이블에는 논리 주소(Logical Address) 및 이에 대응하는 물리 어드레스(Physical Address)가 기록되어 있다. 주소 맵핑 테이블은 맵핑 단위에 따라 그 크기가 달라질 수 있으며, 맵핑 단위에 따라 다양한 맵핑 방법을 갖는다. 대표적인 맵핑 방법으로, 페이지 맵핑 방법(page mapping method), 블록 맵핑 방법(block mapping method), 그리고 혼합 맵핑 방법(hybrid mapping method) 등이 있다. 페이지 맵핑 방법에는 페이지 맵핑 테이블이 사용된다. 페이지 맵핑 테이블은 페이지 단위로 맵핑 동작을 수행하기 위한 것이며, 논리 페이지 및 이에 대응하는 물리 페이지를 저장한다. 블록 맵핑 방법에는 블록 맵핑 테이블이 사용된다. 블록 맵핑 테이블은 블록 단위로 맵핑 동작을 수행하기 위한 것이며, 논리 블록 및 이에 대응하는 물리 블록을 저장한다. 혼합 맵핑 방법은 페이지 맵핑 방법과 블록 맵핑 방법을 동시에 사용하는 방법이다. 일반적으로 하나의 메모리 블록은 수십 또는 수백 개의 페이지로 구성된다. 따라서 페이지 맵핑 방법을 사용할 경우에, 맵핑 테이블의 크기는 블록 맵핑 방법을 사용할 때보다 수십 배 또는 수백 배 증가하게 된다. 즉, 페이지 맵핑 방법은 맵핑 테이블을 사용하는 데 너무 많은 메모리 공간을 필요로 한다는 단점을 갖는다. 반면, 블록 맵핑 방법은 블록 단위로 맵핑 동작을 수행하기 때문에, 페이지 맵핑 방법에 비해 맵핑 테이블의 크기를 줄일 수 있는 장점을 갖는다. 그러나 블록 맵핑 방법에 의하면, 블록 내에 쓰일 페이지의 위치가 고정되기 때문에, 많은 병합(merge) 연산을 수행해야 한다는 단점을 갖는다. 혼합 맵핑 방법은 로그 블록(log block)에 대해서는 페이지 맵핑 방법을 사용하고, 데이터 블록(data block)에 대해서는 블록 맵핑 방법을 사용한다. 혼합 맵핑 방법은 두 가지 맵핑 방법을 모두 사용함으로, 맵핑 테이블의 크기를 줄임과 동시에, 병합 연산의 횟수를 줄일 수 있다. 쓰기 동작 시에, 데이터 블록에 저장될 페이지 데이터는 먼저 로그 블록에 비순차적(out-of-place order) 방식으로 저장된다. 즉, 호스트로부터 전송된 페이지들의 논리적 번호(logical page number)에 상관없이, 로그 블록의 빈 페이지에 저장된다. 로그 블록의 모든 페이지가 사용되었거나 사용 가능한 로그 블록이 없을 경우, 로그 블록 및 이에 대응하는 데이터 블록에 저장된 페이지 데이터는 병합 동작을 통해 새로운 데이터 블록(new data block)에 저장된다. 로그 블록과는 달리 데이터 블록에는 순차적(in-place order) 방식으로 저장된다. 즉, 저장될 페이지 데이터들의 논리적 번호(logical page number)에 따라, 데이터 블록 내 해당되는 위치의 페이지에 저장된다. 이와 같은 방식으로 병합 동작을 수행하면, 복수의 페이지 복사 및 복수의 블록 소거 동작을 수행해야 한다. 예를 들어, 하나의 데이터 블록이 4개의 페이지로 구성되어 있다고 가정하면, 위의 예에서 4번의 페이지 복사 및 2번의 블록 소거 동작이 수행된다. 혼합 맵핑 방법을 사용함에 있어서, 많은 수의 페이지 복사 동작은 메모리 카드 시스템의 성능을 저하하는 요인이 되고 있다. 한편, 혼합 맵핑 방법에 의하면, 하나의 데이터 블록은 하나의 로그 블록만을 할당한다. 따라서 페이지의 데이터를 갱신할 경우 이전 페이지는 무효 페이지(invalid page)가 되어, 로그 블록 내에는 유효 페이지와 무효 페이지가 혼재하게 된다. 무효 페이지가 포함된 로그 블록과 이에 대응하는 데이터 블록을 병합할 경우 많은 수의 페이지 복사 동작이 필요하다. 이와 같이 무효 페이지가 포함된 로그 블록은 병합 동작 시 많은 수의 페이지 복사 동작이 필요하게 되어 메모리 카드 시스템의 성능을 저하하고 있다.
지시문 (instruction)
주어진 원문을 읽고 필요한 정보를 파악하여, 원문에 근거해 질문에 답하라.
질문 (question)
혼합 맵핑 방법(hybrid mapping method)에서 로그 블록(log block)과 데이터 블록(data block)은 각각 어떤 맵핑 방식을 사용하여 관리되는가?
추론 과정 (compact_reasoning)
  1. 1과제 해석task_interpretation

    혼합 맵핑 방법 내에서 로그 블록과 데이터 블록에 적용되는 각각의 맵핑 방식을 확인해야 한다.

  2. 2정보 추출information_extraction

    혼합 맵핑 방법의 구성 및 각 블록별 적용 방식에 대한 정보를 추출한다.

    • 혼합 맵핑 방법은 로그 블록(log block)에 대해서는 페이지 맵핑 방법을 사용하고, 데이터 블록(data block)에 대해서는 블록 맵핑 방법을 사용한다.
  3. 3근거 선택evidence_selection

    로그 블록과 데이터 블록의 맵핑 방식이 명시된 문장을 근거로 선택한다.

    • 혼합 맵핑 방법은 로그 블록(log block)에 대해서는 페이지 맵핑 방법을 사용하고, 데이터 블록(data block)에 대해서는 블록 맵핑 방법을 사용한다.
  4. 4논리 통합logical_integration

    로그 블록은 페이지 맵핑, 데이터 블록은 블록 맵핑을 사용한다는 관계를 정리한다.

  5. 5결론 도출conclusion_formulation

    추출된 정보를 바탕으로 질문에 대한 직접적인 답변을 구성한다.

    • 혼합 맵핑 방법은 로그 블록(log block)에 대해서는 페이지 맵핑 방법을 사용하고, 데이터 블록(data block)에 대해서는 블록 맵핑 방법을 사용한다.
  6. 6답변 생성answer_generation

    질문에 적합한 형태로 최종 답변을 작성한다.

    • 혼합 맵핑 방법은 로그 블록(log block)에 대해서는 페이지 맵핑 방법을 사용하고, 데이터 블록(data block)에 대해서는 블록 맵핑 방법을 사용한다.
최종 답변 (final_answer)
혼합 맵핑 방법에서 로그 블록(log block)은 페이지 맵핑 방법을 사용하고, 데이터 블록(data block)은 블록 맵핑 방법을 사용한다.
핵심 해석 (core_interpretation)
혼합 맵핑 방법은 로그 블록에 대해 페이지 맵핑 방식을 사용하고 데이터 블록에 대해 블록 맵핑 방식을 사용하여 관리한다.