플래시 메모리는 오늘날 다양한 형태로 우리 생활의 일부를 차지하고 있다. 이동식저장매체, 유비쿼터스 컴퓨팅 환경과 휴대전화기, MP3플레이어, 개인정보단말기(PDA) 등의 모바일 제품 등에 광범위하게 사용되고 있다. 이처럼 많은 분야에서 사용되는 주된 이유는 플래시 메모리가 저전력, 비휘발성, 고성능, 물리적 안정성, 휴대성 등의 장점을 갖기 때문이다. 더불어 최근에는 기가바이트급 플래시 메모리도 개발되어 하드디스크의 자리를 대체할 수 있는 상황에 이르렀다. 하지만, 플래시 메모리는 하드디스크와 달리 이미 데이타가 기록된 섹터에 대해 덮어쓰기가 되지 않는다는 특성을 갖고 있다. 데이타를 덮어쓰기 위해서는 해당 섹터가 포함된 블록을 지우고(소거) 쓰기 작업을 수행해야 한다. 이로 인해 플래시 메모리의 데이타 읽기/쓰기/소거에 비용이 하드 디스크와 같이 동일한 것이 아니라 각각 다르다[1][5][6]. 이러한 특성이 고려되지 않은 기존의 OS, DBMS 등과 같은 시스템 소프트웨어에서 사용되는 교체 기법은 플래시 메모리 상에서 비효율성을 가질 수 있다. 그러므로 플래시 메모리상에서는 플래시 메모리의 특성을 고려한 효율적인 버퍼 교체 기법이 필요하다. 본 논문에서는 플래시 메모리의 특성을 고려한 버퍼 페이지 교체기법을 제안하며, 제안된 기법과 기존 기법들과의 성능 평가를 수행한다. 지프분포와 실제 워크로드를 사용한 성능평가는 플래시 메모리의 특성을 고려한 버퍼 페이지 교체 기법의 필요성을 입증한다.
플래시 메모리는 오늘날 다양한 형태로 우리 생활의 일부를 차지하고 있다. 이동식 저장매체, 유비쿼터스 컴퓨팅 환경과 휴대전화기, MP3플레이어, 개인정보단말기(PDA) 등의 모바일 제품 등에 광범위하게 사용되고 있다. 이처럼 많은 분야에서 사용되는 주된 이유는 플래시 메모리가 저전력, 비휘발성, 고성능, 물리적 안정성, 휴대성 등의 장점을 갖기 때문이다. 더불어 최근에는 기가바이트급 플래시 메모리도 개발되어 하드디스크의 자리를 대체할 수 있는 상황에 이르렀다. 하지만, 플래시 메모리는 하드디스크와 달리 이미 데이타가 기록된 섹터에 대해 덮어쓰기가 되지 않는다는 특성을 갖고 있다. 데이타를 덮어쓰기 위해서는 해당 섹터가 포함된 블록을 지우고(소거) 쓰기 작업을 수행해야 한다. 이로 인해 플래시 메모리의 데이타 읽기/쓰기/소거에 비용이 하드 디스크와 같이 동일한 것이 아니라 각각 다르다[1][5][6]. 이러한 특성이 고려되지 않은 기존의 OS, DBMS 등과 같은 시스템 소프트웨어에서 사용되는 교체 기법은 플래시 메모리 상에서 비효율성을 가질 수 있다. 그러므로 플래시 메모리상에서는 플래시 메모리의 특성을 고려한 효율적인 버퍼 교체 기법이 필요하다. 본 논문에서는 플래시 메모리의 특성을 고려한 버퍼 페이지 교체기법을 제안하며, 제안된 기법과 기존 기법들과의 성능 평가를 수행한다. 지프분포와 실제 워크로드를 사용한 성능평가는 플래시 메모리의 특성을 고려한 버퍼 페이지 교체 기법의 필요성을 입증한다.
Flash memory has penetrated our life in various forms. For example, flash memory is important storage component of ubiquitous computing or mobile products such as cell phone, MP3 player, PDA, and portable storage kits. Behind of the wide acceptance as memory is many advantages of flash memory: for i...
Flash memory has penetrated our life in various forms. For example, flash memory is important storage component of ubiquitous computing or mobile products such as cell phone, MP3 player, PDA, and portable storage kits. Behind of the wide acceptance as memory is many advantages of flash memory: for instances, low power consumption, nonvolatile, stability and portability. In addition to mentioned strengths, the recent development of gigabyte range capacity flash memory makes a careful prediction that the flash memory might replace some of storage area dominated by hard disks. In order to have overwriting function, one block must be erased before overwriting is performed. This difference results in the cost of reading, writing and erasing in flash memory[1][5][6]. Since this difference has not been considered in traditional buffer replacement technologies adopted in system software such as OS and DBMS, a new buffer replacement strategy becomes necessary. In this paper, a new buffer replacement strategy, reflecting difference I/O cost and applicable to flash memory, suggest and compares with other buffer replacement strategies using workloads as Zipfian distribution and real data.
Flash memory has penetrated our life in various forms. For example, flash memory is important storage component of ubiquitous computing or mobile products such as cell phone, MP3 player, PDA, and portable storage kits. Behind of the wide acceptance as memory is many advantages of flash memory: for instances, low power consumption, nonvolatile, stability and portability. In addition to mentioned strengths, the recent development of gigabyte range capacity flash memory makes a careful prediction that the flash memory might replace some of storage area dominated by hard disks. In order to have overwriting function, one block must be erased before overwriting is performed. This difference results in the cost of reading, writing and erasing in flash memory[1][5][6]. Since this difference has not been considered in traditional buffer replacement technologies adopted in system software such as OS and DBMS, a new buffer replacement strategy becomes necessary. In this paper, a new buffer replacement strategy, reflecting difference I/O cost and applicable to flash memory, suggest and compares with other buffer replacement strategies using workloads as Zipfian distribution and real data.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
일반적으로 LRU 기법은 단순성과 이식의 편리함으로 인해 광범위하게 사용되지만, 규칙적으로 반복되는 패턴에 대해서는 좋지 않은 형태를 가지게 된다[8]. 본 논문에서 제안하는 FLRU 기법 역시 LRU의 기본 형태에 플래시 메모리의 특성을 고려한 형태의 기법이기 때문에 어떠한 결과가 나올지 실험을 통해 알아본다.
이때 사용되는 기준을 버퍼 페이지 교체 기법이라 말하며, 버퍼 교체 기법이 하드디스크가 아닌 플래시 메모리에서 사용하게 되는 경우 하드디스크와 다른 플래시 메모리의 특성을 고려해야 할 필요가 있다. 본 논문에서는 플래시 메모리의 특성을 고려한 버퍼 페이지 교체 기법을 제안하고, 기존 기법들과의 성능 평가를 통해 제안하는 기법의 효율성을 입증한다.
반대로 점선에서는 FTL을 거치지 않는데, 데이타버퍼 부분의 데이타만 시스템에 응답되면 되기 때문이다. 이렇게 사용되는 플래시 메모리의 구조에 대해 자세히 알아본다.
제안 방법
수식 1에서 분자 부분에 해당하는 값(실선은 LRU 기법과 유사함을 알 수 있다. FLRU기법은 우수한 버퍼 교체 기법으로 알려진 LRU 기법을 기반으로 하여 분자부분이 구성되었고, 분모 부분을 플래시 메모리 특성을 고려한 ERC값을 사용하여 구성하였다. 다시 말해 LRU기법으로 나온 값을 플래시 메모리 특성을 고려한 가중치로 나누어 값 C를 얻는다.
때문에 버퍼 영역의 활용도가 저하되는 단점을 갖는다. 각각 고전기법들의 장단점 중 장점 부분만을 FLRU에 적용하고자 앞서 말한 기준들을 FLRU에서 사용하고자 한다.
덮어쓰기 연산은 하드디스크일 경우라면 섹터단위로 수행하겠지만 플래시 메모리의 경우는 물리적 특성으로 인해 불가능하다. 그래서 덮어쓰려는 데이타를 여분의 블록의 섹터에 쓰고, 원본 블록의 유효한 섹터들의 데이타를 복사해서 여분의 블록에 쓰기연산을 수행 후 원본 블록을 삭제한다. 이러한 플래시 메모리의 특성들로 인해 플래시 메모리는 읽기 연산의 비용을 1이라 가정하면 쓰기 연산의 경우는 읽기 연산의 약 7배의 비용을 가진다.
플래시 메모리는 연산에 따라 비용이 다르기 때문에 읽기/쓰기 연산을 나타내는 구분자가 필요하여 이 역시 지프값으로 생성하여 1만개의 LSN에 표시 후 실험했다. 다양한 버퍼 페이지를 설정 후 측정한 값은 교체 대상으로 선정된 페이지들의 교체 예상 비용 ERC의 누적값과 버퍼 페이지 적중 수를 측정했다.
보이게 되었다는 것을 알려주는 것이다. 실제 데이타에서는 버퍼 적중 횟수는 고려하지 않고, 누적 교체 페이지에 관한 부분으로 실험하였다.
대상 데이터
성능 평가에서 사용된 워크로드는 지프 분포(Zipfian distribution)[3]를 통해 실험 공간의 최대 주소번지를 감안한 0부터 5000사이의 수 1만개를 생성했다. 지프분포는 지프 값에 따라 달라지며, 0.
성능평가를 위해 사용된 시스템은 CPU PentiumⅣ 2기가헤르츠, 512메가 메인 메모리, 120기가의 하드 디스크를 가진 Linux 시스템이었고, 2장에서 언급한 페이지 교체 기법들과 FLRU의 성능 비교 평가를 위해 사용한 FTLe 미쓰비시사의 FTL[기을 C언어로 구현하여 사용했다. 이전 FTLe 동일 논리적 번지에 쓰기 연산을 수행하고 덮어쓰기가 일어나면 반드시 블록 교체와 소거 연산이 일어나며 비용 역시 증가한다.
이론/모형
수식 1은 FLRU 기법을 수식으로 표현한 것이다. 먼저 ERC는 버퍼에 보관된 페이지가 교체 대상으로 선정되었을 때 해당 페이지가 쓰일 섹터의 상태에 따라 크기가 달라진다.
성능/효과
기존 하드디스크에서 사용되었던 버퍼 교체 기법들과 FLRU 기법을 플래시 메모리상에서 비교해 보고 동일 워크로드를 수행하는데 소요되는 비용을 측정했을 때 거의 모든 워크로드에서 FLRU7} 가장 적은 비용을 나타냈다. 비용이 적다는 것은 시스템의 CPU가 처리해야 할 프로세스가 줄어들고, 단위시간당 업무 프로세스 수의 증가를 나타낸다.
높은 지프 값에 따른 분포의 경우는 FLRU와 LFU가 높은 페이지 적중횟수를 보이는데 이는 제한된 버퍼 페이지 수와 특정 LSN의 잦은 반복으로 인해 많은 적중 수를 보이게 되었다는 것을 알려주는 것이다. 실제 데이타에서는 버퍼 적중 횟수는 고려하지 않고, 누적 교체 페이지에 관한 부분으로 실험하였다.
본 논문에서는 실험을 통해 플래시 메모리 상에서의 버퍼 페이지 교체 기법은 플래시 메모리 특성에 따라 각기 다른 연산비용을 고려해야 한다는 것을 입증했다. 향후에는 플래시 메모리의 특징을 고려하는 다양한 기법들이 연구되어야 할 것이다.
순차 반복적인 패턴을 중심으로 그 외의 번지 접근의 빈도수는 높지 않다. 실험을 통해 나타난 결과는 FLRU와 LFU 혹은 MRU의 성능이 비슷한 수치로 나타났다.
실험을 통해 얻을 수 있는 가장 큰 결론은 플래시 메모리 상에서 버퍼 영역을 사용할 때 기존 기법이 아닌 플래시 메모리의 특성을 고려하는 방법이 필요하다는 것이고, FLRU는 그 부분을 고려했기 때문에 다른 기법들과 차별화를 가질 수 있는 점이다. 또 다양한 워크로드들을 대상으로 실험했기 때문에 FLRU가 우수한 경우와 순차 반복적인 워크로드의 경우와 같은 크게 차이나지 않는 부분도 파악할 수 있었다.
postgres, gnuplot, cscope 워크로드에 비해 glimpse와 cpp가 좀 더 균등한 형태를 가짐을 알 수 있다. 접근 번지가 균등하게 분포되면 될수록 FLRU의 성능이 우수하게 나타났다. 실제 사용되는 어플리케이션에서의 워크로드 형태는 순차적, 반복적, 임의적 등의 형태로 나타날 수 있다.
증가율로 보면 버퍼 페이지 256개의 경우 FLRU가 두 번째 높은 LFU에 비해 약 21% 증가했다. 지프 값 0.5일 경우에서 예상 페이지 교체 비용과 버퍼 적중 횟수에서 다른 기법들에 비해 FLRU가 우수함을 알 수 있다.
후속연구
입증했다. 향후에는 플래시 메모리의 특징을 고려하는 다양한 기법들이 연구되어야 할 것이다. 예를 들어 버퍼 페이지 교체 기법을 사용함에 있어서 플래시 메모리의 데이타접근 시간을 측정하고, 그 시간이 덮어쓰기 연산이나 쓰기 연산 시간에 비해 작다면 버퍼 영역에는 읽기 연산에 사용되는 페이지는 버퍼에 보관하지 않는 것이 좋을 수 있다.
참고문헌 (8)
Tae-Sun Chung, Dong-Joo Park, Yeonseung Ryu, Sugwon Hong, 'LSTAFF: System Software for Large Block Flash Memory,' Asia Simulation Conference, pp. 704-712. 2004
A. Silberschatz, P. B. Galvin, and G. Gagne, 'Operating System Concepts sixth edition,' Wiley, 2003
E. J. O'Neil, P. E. O'Neil, and G. Weikum, 'The LRU-K Page Replacement Algorithm For Database Disk Buffering,' ACM Special Interest Group on Management Of Data 1993 Annual Conference, pp. 297-306, 1993
J.Kim, J.M. Kim, S.H. Noh, S.L. Min, and Y. Cho, 'A Space-Efficient Flash Translation Layer for Compact Flash Systems,' IEEE Transactions on Consumer Electronics, Vol. 48 No.2, pp. 366-375, 2002
Chin-Hsien Wu, Li-Pin Chang, and Tei-Wei Kuo, 'An Efficient B-Tree Layer for Flash-Memory Storage Systems,' Real-Time Computing Systems and Applications, pp. 409-430, 2003
Takayuki Shinohara, 'Flash Memory Card with Bock Memory Address Arrangement,' U.S. Patent, Patent Number 5,905,993, May 18, 1999
Jong Min Kim, Jongmoo Choi, Jesung Kim, Sam H. Noh, Sang Lyul Min, Yookun Cho, Chong Sang Kim, 'A Low-Overhead High-Performance Unified Buffer Management Scheme that Exploits Sequential and Looping References,' Operating Systems Design and Implementation, pp. 119-134, 2000
※ AI-Helper는 부적절한 답변을 할 수 있습니다.