플래시 메모리는 기존 저장 매체와는 달리 읽기 연산에 비해 쓰기 연산의 수행비용이 매우 크고, 저장된 데이타에 대한 갱신이 제한적인 고유의 특성이 있다. 본 논문에서는 플래시 메모리 환경이 기존의 레코드 관리 방법에 미치는 영향을 분석하고, 기존의 레코드 관리 방법을 그대로 플래시 메모리에 적용하였을 때의 문제점을 지적한다. 이를 기반으로 플래시 메모리 환경을 위한 효율적인 레코드 관리 방법을 제안한다. 제안하는 방법은 컨테이너 구조를 이용하여 레코드 삽입, 삭제, 수정 연산을 수행함으로써 덮어쓰기 연산을 효율적으로 수행할 수 있으며, 이로 인해 소거 연산을 크게 줄일 수 있다. 실험 결과에 의하면, 제안하는 방법은 기존 방법의 성능을 최대 34%까지 향상시키는 것으로 나타났다.
플래시 메모리는 기존 저장 매체와는 달리 읽기 연산에 비해 쓰기 연산의 수행비용이 매우 크고, 저장된 데이타에 대한 갱신이 제한적인 고유의 특성이 있다. 본 논문에서는 플래시 메모리 환경이 기존의 레코드 관리 방법에 미치는 영향을 분석하고, 기존의 레코드 관리 방법을 그대로 플래시 메모리에 적용하였을 때의 문제점을 지적한다. 이를 기반으로 플래시 메모리 환경을 위한 효율적인 레코드 관리 방법을 제안한다. 제안하는 방법은 컨테이너 구조를 이용하여 레코드 삽입, 삭제, 수정 연산을 수행함으로써 덮어쓰기 연산을 효율적으로 수행할 수 있으며, 이로 인해 소거 연산을 크게 줄일 수 있다. 실험 결과에 의하면, 제안하는 방법은 기존 방법의 성능을 최대 34%까지 향상시키는 것으로 나타났다.
Flash memory has its unique characteristics: i.e., (1) the write operation is much more costly than the read operation. (2) In-place updating is not allowed. In this paper, we first analyze how these characteristics affect the performance of record management in flash memory, and discuss the problem...
Flash memory has its unique characteristics: i.e., (1) the write operation is much more costly than the read operation. (2) In-place updating is not allowed. In this paper, we first analyze how these characteristics affect the performance of record management in flash memory, and discuss the problems with previous methods for record management when they are applied to flash memory environment. Next, we propose a new record management method to be suitable for flash memory environment. The proposed method employs a new concept of a container that makes it possible to overwrite data on flash memory several times when performing insertions, deletions, and modifications of records. As a result, this method reduces the number of overwrite operations, and consequently does the number of erase operations. The results of experiments show that our method improves the performance by up to 34%, compared with the previous one.
Flash memory has its unique characteristics: i.e., (1) the write operation is much more costly than the read operation. (2) In-place updating is not allowed. In this paper, we first analyze how these characteristics affect the performance of record management in flash memory, and discuss the problems with previous methods for record management when they are applied to flash memory environment. Next, we propose a new record management method to be suitable for flash memory environment. The proposed method employs a new concept of a container that makes it possible to overwrite data on flash memory several times when performing insertions, deletions, and modifications of records. As a result, this method reduces the number of overwrite operations, and consequently does the number of erase operations. The results of experiments show that our method improves the performance by up to 34%, compared with the previous one.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
구체적으로 소개한다. 그리고 이 방법을 그대로 플래시 메모리에 적용했을 때의 문제점에 대해 논의한다.
또한, 덮어쓰기 연산을 효과적으로 지원하기 위한 새로운레코드 저장 구조인 컨테이너(container)를 제안하며, 이를 이용한 레코드 삽입, 삭제, 그리고 수정 방안을 제안한다. 본 논문에서는 다양한 실험을 이용한 성능 분석을통하여 제안하는 방법의 우수성을 규명한다. 실험 결과에 의하면, 제안하는 컨테이너 방안욘 레코드 관리 방법의 성능올 춰대 34% 개선시키는 효과를 보언다.
본 논문에서는 이러한 분석들을 바탕으로 플래시 메모리 환경을 위한 컨테이너 기반 레코드 관리 방법을제안한다. 제얀하는 방법은 고정 길이 레코드의 삽입과수정을 레코드가 기록되었던 슬롯이 아닌 비어있는 새로운 슬롯에 반영하며, 이를 위해 슬롯위 사용 여부가아닌 레코드의 상태예 따라 슬롯의 상태를 설정한다.
또한, 덮어쓰기 연산은 수행에 제한이있으며, 이로 인해 소거 연산이 발생한다. 본 논문에서는 이러한 특성을 기반으로 플래시 메모리 환경에서 기존의 레코드 관리 방법의 문제점을 분석하고, 이를 바탕으로 새로운 레코드 관리 방법을 제안하였다.
횟수가 감소하여 성능이 향상된다. 본 논문에서는실험을 통하여 제안하는 방법의 우수성을 규명한다.
있다. 본 절에서는 이러한 플래시 메모리 고유의특징이 레코드 관리 방법에 미치는 영향에 대하여 논의한다.
가설 설정
새로운 레코드 삽입 시, 비어있는 컨테이너에 레코드를 저장한 후, 해당 컨테이너의 상태를 유효 상태로 설정한다. 레코드 삭제 시, 삭제할 레코드가 저장된 컨테이너의 상태를 무효 상태로설정한다.
첫째, 레코드가 저장되었던 슬롯에는 다시 레코드를 저장하지 않는다. 레코드가 저장되었던 슬롯에 다시 레코드를 저장할 경우, 플래시 메모리의 특성 상 덮어쓰기 연산을 거의 활용할 수 없다.
특성을 가진다. 첫째, 플래시 메모리는 덮어쓰기 연산(overwrite operation)0] 제한적이다[1]. 데이타가 저장된 페이지를 갱신할 때, 플래시 메모리 소자를 1에서 0으로만 변경하는 갱신이 발생할 경우에만 덮어쓰기 연산을 통해 해당 페이지에 갱신된 데이타를 기록 가능하다.
제안 방법
전체적인 실험의 구성은 다음과 같다.3)각 실험에서는 5만 개의 레코드를 벌크로드 한 후, 5만 개의 레코드삽입, 삭제, 수정 연산을 수행한다. 벌크로드를 수행할때, 각 페이지의 70%만 채운다.
더 나아가, 레코드 수정 시, 기존의 레코드를 무효화하고, 비어있는 슬롯에 수정된 래코드를 저장한 후, 기존의 레코드가 수정된 레코드를 가리키는 방법을 사용한다. 이틀 통해 제한된 덮어쓰기 연산을 최대한 수행할수 있으며, 생성되는 무효 페이지의 수를 크게 줄일 수있다
첫째, 플래시 메모리의 물리적인 특성이 기존의 레코드 관리 방법에 미치는영향을 분석하고, 플래시 메모리 환경에서 나타나는 기존의 레코드 관리 방법의 문제점을 지적하였다. 둘째, 분석한 내용을 기반으로 플래시 메모리 환경에 적합한레코드 저장 구조인 컨테이너 구조를 제안하고, 이를 이용한 새로운 레코드 관리 방법을 제안하였다. 셋째, 실험을 통해 제안하는 방법의 우수성을 규명하였다.
둘째, 이를 위해 슬롯의 사용 여부가 아닌 레코드의상태에 따라 슬롯의 상태를 설정한다. 디스크의 쓰기 연산은 소자의 변경에 제한이 없는 반면, 플래시 메모리의쓰기 연산은 소자를 1에서 0으로만 변경이 가능하다.
즉, 플래시 메모리는 사용하였던 슬롯을 다시 사용하는것이 제한되어 있다. 따라서 제안하는 레코드 관리 방법은 레코드가 기록되었던 슬롯을 무효화하여, 해당 슬롯에는 더 이상 새로운 레코드를 저장하지 않는 전략을사용한다.
레코드가 저장되었던 슬롯에 다시 레코드를 저장할 경우, 플래시 메모리의 특성 상 덮어쓰기 연산을 거의 활용할 수 없다. 따라서 제안하는 레코드 관리방법은 비어있는 새로운 슬롯에 레코드를 저장한다.
제얀하는 방법은 고정 길이 레코드의 삽입과수정을 레코드가 기록되었던 슬롯이 아닌 비어있는 새로운 슬롯에 반영하며, 이를 위해 슬롯위 사용 여부가아닌 레코드의 상태예 따라 슬롯의 상태를 설정한다. 또한, 덮어쓰기 연산을 효과적으로 지원하기 위한 새로운레코드 저장 구조인 컨테이너(container)를 제안하며, 이를 이용한 레코드 삽입, 삭제, 그리고 수정 방안을 제안한다. 본 논문에서는 다양한 실험을 이용한 성능 분석을통하여 제안하는 방법의 우수성을 규명한다.
본 절에서는 기존의 레코드 관리 방법의 문제점을 바탕으로 플래시 메모리의 고유한 특성에 적합한 새로운레코드 관리 방법의 기본 전략을 기술한다.
본 실험은 크게 두 가지로 구성된다. 실험 1에서는 기존의 레코드 관리 방법과 제안하는 방법의 각 연산의성능을 측정한다. 실험 2에서는 기존의 레코드 관리 방법과 제안하는 방법의 전반적인 성능을 측정한다.
본 실험은 크게 두 가지로 구성된다. 실험 1에서는 기존의 레코드 관리 방법과 제안하는 방법의 각 연산의성능을 측정한다. 실험 2에서는 기존의 레코드 관리 방법과 제안하는 방법의 전반적인 성능을 측정한다.
실험 1에서는 기존의 레코드 관리 방법과 제안하는 방법의 각 연산의성능을 측정한다. 실험 2에서는 기존의 레코드 관리 방법과 제안하는 방법의 전반적인 성능을 측정한다.
실험 1에서는 기존의 레코드 관리 방법과 제안하는 방법의 각 연산의성능을 측정한다. 실험 2에서는 기존의 레코드 관리 방법과 제안하는 방법의 전반적인 성능을 측정한다.
실험의 성능 척도로는 모든 연산을 수행한 후, 페이지읽기, 쓰기, 소거 연산의 총 횟수를 측정한다. 또한, 읽기, 쓰기, 소거 연산의 횟수에 각각의 가중치(읽기: 1, 쓰기: 16.
각 연산의 성능을 측정한다. 이를 위하여 삽입, 삭제, 수정 연산을 각각 수행하며 성능을 측정하였다. 실험 1의 결과는 그림 8을 통해 알 수 있다.
전반적인 성능을 측정한다. 이를 위하여 전체 연산 중 삭제 연산의 비율을 20%로 고정한 후, 나머지 80%의 삽입, 수정 연산 중 삽입 연산의 비율을 20%, 40%, 60%, 80%로 증가시켜가며 성능을 측정하였다. 실험 2의 결과는 그림 9를 통해 알 수 있다.
제안하는 컨테이너 기반 레코드 관리 방법은 플래시메모리 소자를 1에서 0으로의 변경만으로 모든 컨테이너의 상태롤 표시할 수 있다. 그림 5는 컨테이너의 상태변화에 따른 메타데이타 부분의 변화를 나타낸다.
본 논문의 공헌은 다음과 같다. 첫째, 플래시 메모리의 물리적인 특성이 기존의 레코드 관리 방법에 미치는영향을 분석하고, 플래시 메모리 환경에서 나타나는 기존의 레코드 관리 방법의 문제점을 지적하였다. 둘째, 분석한 내용을 기반으로 플래시 메모리 환경에 적합한레코드 저장 구조인 컨테이너 구조를 제안하고, 이를 이용한 새로운 레코드 관리 방법을 제안하였다.
컨테이너의 병합은 수정된 레코드를 기존의컨테이너에 복사하여 기존의 컨테이너를 유효 컨테이너로' 변경한 후, 수정된 레코드가 저장되어 있던 컨테이너는 비어있는 상태로 설정하고, 해당 컨테이너의 데이타부분의 비트를 모두 1로 설정한다. 본 논문에서는 이러한 작업을 페이지 압축(page compaction)이라고 부르며, 이를 통해 레코드가 삽입될 컨테이너를 확보할 수있다.
이론/모형
본 실험에서는 플래시 메모리 개발 프레임 워크의 플래시 메모리 에뮬레이테8]를 사용한다. 에뮬레이터는 플래시 메모리의 동작을 모방할 뿐 아니라 모의 성능 측정기능을 제공하여 플래시 메모리 소프트웨어의 개발 및성능 최적화에 유용하게 사용될 수 있다.
성능/효과
성능이 제안하는 방법에 비해 우수하였다. 레코드 삽입 시, 기존의 레코드 관리 방법과 제안하는 방법 모두덮어쓰기 연산이 수행 가능하다. 그러나 제안하는 방법의 경우, 컨테이너를 관리하기 위한 메타데이타 부분이추가적으로 필요하여 하나의 페이지에 삽입 가능한 레코드의 개수가 기존의 레코드 관리 방법에 비해 적다.
반면에, 삽입 연산의 경우, 기존의 레코드 관리 방법의 성능이 제안하는 방법에 비해 우수하였다. 레코드 삽입 시, 기존의 레코드 관리 방법과 제안하는 방법 모두덮어쓰기 연산이 수행 가능하다.
둘째, 분석한 내용을 기반으로 플래시 메모리 환경에 적합한레코드 저장 구조인 컨테이너 구조를 제안하고, 이를 이용한 새로운 레코드 관리 방법을 제안하였다. 셋째, 실험을 통해 제안하는 방법의 우수성을 규명하였다.
실험 결과, 제안하는 방법의 삭제 연산과 수정 연산의성능은 기존의 레코드 관리 방법에 비해 우수하였다. 이는 기존의 레코드 관리 방법의 경우, 레코드 삭제, 수정시 덮어쓰기 연산을 거의 수행함 수 없어 이로 인한 소거 연산을 많이 수행하기 때문이다.
연산의 비용 변화를 나타낸다. 실험 결과, 제안하는방법의 성능이 기존의 레코드 관리 방법에 비해 우수하였다. 이는 제안하는 방법이 덮어쓰기 연산을 많이 수행하여, 이로 인해 소거 연산의 수가 크게 줄었기 때문이다.
본 논문에서는 다양한 실험을 이용한 성능 분석을통하여 제안하는 방법의 우수성을 규명한다. 실험 결과에 의하면, 제안하는 컨테이너 방안욘 레코드 관리 방법의 성능올 춰대 34% 개선시키는 효과를 보언다.
이와 같이, 제안하는 컨테이너 구조는 제한된 덮어쓰기 연산을 최대한 수행할 수 있으며, 이로 인한 소거 연산의 횟수가 감소하여 성능이 향상된다. 본 논문에서는실험을 통하여 제안하는 방법의 우수성을 규명한다.
후속연구
메모리 에뮬레이테8]를 사용한다. 에뮬레이터는 플래시 메모리의 동작을 모방할 뿐 아니라 모의 성능 측정기능을 제공하여 플래시 메모리 소프트웨어의 개발 및성능 최적화에 유용하게 사용될 수 있다. 에뮬레이터의플래시 메모리 용량은 삼성 2G NAND 플래시 메모리 [9]를 기준으로 설정한다.
참고문헌 (10)
J. Jeong , S. Noh, S. Min and Y. Cho, 'A Design and Implementation of Flash Memory Simulator,' Journal of Korean Information Science: C, Vol.8, No.1, pp. 36-45, 2002
E. Gal and S, Toledo, 'Algorithms and Data Structures for Flash Memories,' ACM Computing Surverys, Vol.37, No,2, pp. 138-163, 2005
C. Wu, L. Chang, and T. Kuo, 'An Efficient B-Tree Layer for Flash-Memory Storage Systems,' In Proc. Int'l. Conf, on Real-Time and Embedded Computing Systems and Applications, RTCSA, Vol. LNCS 2968, pp. 409-430, 2003
S, Lee and B. Moon, 'Design of Flash-Based DBMS: An In-Page Logging Approach,' In Proc. ACM Int'l. Conf. on Management of Data, ACM SIGMOD, pp. 55-66, 2007
J. Gray and A. Reuter, Transaction Processing: Concepts and Techniques, Morgan Kaufmann, 1995
K. Yim, 'A Novel Memory Hierarchy for Flash Memory Based Storage Systems,' Journal of Semiconductor Technology and Science, Vol.5, No.4, pp. 262-269, 2005
A. Kawaguchi, S. Nishioka, and H. Motoda, 'A Flash-Memory Based File System,' In Proc. USENIX Technical Conf, on Unix and Advanced Computing Systems, pp. 155-164, 1995
S. Kim et al., 'A Development Framework for Reliable Flash Memory Software,' SK Telecommunications Review, Vol. l5, No.4, pp. 638-646, 2005
※ AI-Helper는 부적절한 답변을 할 수 있습니다.