플래시 메모리는 전력 소모가 작고 충격과 진동에 강하며 크기가 작다는 특성 때문에 최근 노트북이나 UMPC(Ultra Mobile PC)와 같은 이동 컴퓨팅 시스템에서 하드디스크를 대체할 대용량 저장 매체로서 주목 받고 있다. 플래시 메모리에 기반한 저장 장치는 일반적으로 랜덤 읽기 성능이나 순차 읽기, 순차 쓰기 성능이 매우 좋은데 비해, 덮어쓰기가 불가능한 플래시 메모리의 물리적인 제약으로 인하여 소량의 랜덤 쓰기 성능은 떨어진다. 본 논문은 이 문제를 해결하기 위한 두 가지 중요한 특징을 갖는 SSD(Solid State Disk) 아키텍처를 제안하였다. 첫 번째로 비휘발성 이면서도 SRAM과 동일한 인터페이스로 덮어쓰기가 가능한 작은 크기의 FRAM(Ferroelectric RAM)을 NAND 플래시 메모리와 함께 사용하여 소량 쓰기 오버헤드를 최소화하였다. 두 번째, 호스트 쓰기 요청들도 소량 랜덤 쓰기와 대량 순차 쓰기로 분류하여 각각에 대해 최적의 쓰기 버퍼 관리 방법을 적용하였다. 평가 보드 상에서 SSD 프로토타입을 구현하고 PC 사용 환경의 워크로드에 기반한 벤치마크를 이용하여 성능을 평가해 본 결과 랜덤 패턴을 보이는 워크로드에서는 하드디스크나 기존의 상용 SSD들에 비해 처리율(throughput) 측면에서 3배 이상의 성능을 보였다.
플래시 메모리는 전력 소모가 작고 충격과 진동에 강하며 크기가 작다는 특성 때문에 최근 노트북이나 UMPC(Ultra Mobile PC)와 같은 이동 컴퓨팅 시스템에서 하드디스크를 대체할 대용량 저장 매체로서 주목 받고 있다. 플래시 메모리에 기반한 저장 장치는 일반적으로 랜덤 읽기 성능이나 순차 읽기, 순차 쓰기 성능이 매우 좋은데 비해, 덮어쓰기가 불가능한 플래시 메모리의 물리적인 제약으로 인하여 소량의 랜덤 쓰기 성능은 떨어진다. 본 논문은 이 문제를 해결하기 위한 두 가지 중요한 특징을 갖는 SSD(Solid State Disk) 아키텍처를 제안하였다. 첫 번째로 비휘발성 이면서도 SRAM과 동일한 인터페이스로 덮어쓰기가 가능한 작은 크기의 FRAM(Ferroelectric RAM)을 NAND 플래시 메모리와 함께 사용하여 소량 쓰기 오버헤드를 최소화하였다. 두 번째, 호스트 쓰기 요청들도 소량 랜덤 쓰기와 대량 순차 쓰기로 분류하여 각각에 대해 최적의 쓰기 버퍼 관리 방법을 적용하였다. 평가 보드 상에서 SSD 프로토타입을 구현하고 PC 사용 환경의 워크로드에 기반한 벤치마크를 이용하여 성능을 평가해 본 결과 랜덤 패턴을 보이는 워크로드에서는 하드디스크나 기존의 상용 SSD들에 비해 처리율(throughput) 측면에서 3배 이상의 성능을 보였다.
Flash memory has been attracting attention as the next mass storage media for mobile computing systems such as notebook computers and UMPC(Ultra Mobile PC)s due to its low power consumption, high shock and vibration resistance, and small size. A storage system with flash memory excels in random read...
Flash memory has been attracting attention as the next mass storage media for mobile computing systems such as notebook computers and UMPC(Ultra Mobile PC)s due to its low power consumption, high shock and vibration resistance, and small size. A storage system with flash memory excels in random read, sequential read, and sequential write. However, it comes short in random write because of flash memory's physical inability to overwrite data, unless first erased. To overcome this shortcoming, we propose an SSD(Solid State Disk) architecture with two novel features. First, we utilize non-volatile FRAM(Ferroelectric RAM) in conjunction with NAND flash memory, and produce a synergy of FRAM's fast access speed and ability to overwrite, and NAND flash memory's low and affordable price. Second, the architecture categorizes host write requests into small random writes and large sequential writes, and processes them with two different buffer management, optimized for each type of write request. This scheme has been implemented into an SSD prototype and evaluated with a standard PC environment benchmark. The result reveals that our architecture outperforms conventional HDD and other commercial SSDs by more than three times in the throughput for random access workloads.
Flash memory has been attracting attention as the next mass storage media for mobile computing systems such as notebook computers and UMPC(Ultra Mobile PC)s due to its low power consumption, high shock and vibration resistance, and small size. A storage system with flash memory excels in random read, sequential read, and sequential write. However, it comes short in random write because of flash memory's physical inability to overwrite data, unless first erased. To overcome this shortcoming, we propose an SSD(Solid State Disk) architecture with two novel features. First, we utilize non-volatile FRAM(Ferroelectric RAM) in conjunction with NAND flash memory, and produce a synergy of FRAM's fast access speed and ability to overwrite, and NAND flash memory's low and affordable price. Second, the architecture categorizes host write requests into small random writes and large sequential writes, and processes them with two different buffer management, optimized for each type of write request. This scheme has been implemented into an SSD prototype and evaluated with a standard PC environment benchmark. The result reveals that our architecture outperforms conventional HDD and other commercial SSDs by more than three times in the throughput for random access workloads.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
제안 방법
FRAM을 사용하는 것이 성능 향상에 얼마나 기여하였는지를 분석하기 위해 FRAM을 사용하지 않고 NAND 플래시 메모리로 FRAM 메타데이타 읽기, 쓰기를 대신 처리하는 FTL을 구현하였다. 표 4는 각 경우의 실험 결과를 보여준다.
전체적인 구조 측면에서, 플래시 메모리와는 달리 작은 쓰기 단위를 가지고 덮어쓰기 제약이 읍1는 FRAM과 대용량의 가격이 싼 NAND 플래시 메모리를 함께 사용하여 효율성과 경제성 측면에서 양쪽의 장점을 취하였다. FTL 사상 측면에서는 호스트로부터의 쓰기 요구를 소량의 랜덤 쓰기와 대량의 순차 쓰기로 구분하고 각각에 적합한 쓰기 버퍼 관리 방법을 적용하여 랜덤 쓰기에 유리한 페이지 단위 사상과 순차 쓰기에 유리한 블록 단위 사상 양쪽의 장점을 활용하였다. 하드웨어적인 구조는 단일 NAND 플래시 메모리 칩의 읽기, 쓰기 성능 제한을 해결하기 위해 칩 단위, 버스 단위로 인터리빙(interleaving) 기법을 적용하였고 호스트인터페이스와 플래시 인터페이스 간의 데이타 전송을 위해 독립적인 데이타 전송 경로를 추가하였다.
소량 랜덤 쓰기와 대량 순차 쓰기를 구분하는 기준으로는 하나의 쓰기 요청이 정해진 수 이상의 섹터를 쓰는 경우나 대량 순차 쓰기 패턴으로 판단된 기존의 쓰기 열(write stream)에 이어지는 경우 대량 순차 쓰기로 판단하고 그 외에는 소량 랜덤 쓰기로 판단하는 단순한 방법을 사용하였다. 그러나, 실제 쓰기 처리 후이어잔 쓰기 요청들의 패턴이 판단과 다른 경우에는 다른 쓰기 버퍼로 이동하여 처리할 수 있도록 구현하였다.
또한 유휴(idle) 시간을 이용, 호스트 쓰기 요청이 들어오지 않아서 지우기가 거의 수행되지 않은 데이타블록을 지우기가 많이 수행된 쓰기 버퍼 블록과 교환하는 방법을 사용하여 전체적인 지우기 회수를 균등화하였다. 배드 블록 처리를 위해서는 지우기나 쓰기 에러 발생 시 해당 블록을 시스템 초기화 시 미리 확보해 두었던 정상 블록과 교체하는 작업을 수행한다.
사상 테이블을 포함한 FTL 메타데이타는 전체 크기가 작고 빈번한 소량 갱신이 이루어지므로 소량 갱신 측면에서 유리한 FRAM에 유지하고 호스트 쓰기 요청에 의한 호스트 데이타는 최소한 512B 이상의 섹터 단위의 쓰기 작업이 수행되므로 저비용, 대용량의 NAND 플래시 메모리에 유지한다. 또한, 플래시 메모리에 저장하는 호스트 데이타도 쓰기 요청 패턴에 따라 소량 랜덤 쓰기와 대량 순차 쓰기로 나누어 각 패턴을 처리하는데 적합한 페이지 단위 쓰기 버퍼와 블록 단위 쓰기 버퍼에 나누어 처리하였다. 이러한 FRAM 활용과 쓰기 버퍼 관리 기법을 통해 소량 랜덤 쓰기 성능 저하를 최소화한 고성능 SSD 아키텍처를 제안하고 프로토타입구현을 통해 그 실효성을 검증하였다.
저장 장치 계층 구조를 제안하였다. 또한, 호스트 쓰기 요청을 패턴에 따라 소량 랜덤 쓰기와 대랑 순차 쓰기로 구분하여 각각에 가장 적합한 관리 방법을 적용함으로써 양쪽 쓰기 패턴 모두를 효율적으로 처리할 수 있는 쓰기 버퍼 관리 방법을 제안하였다.
워드 단위의 쓰기에 대해서는 FRAM 칩 내부적으로 원자성(atomicity)을 보장해주지만, 여러 워드의 쓰기를 수행하던 중에 전원 공급이 중단되는 경우에는 실제 쓰기 작업이 완료된 워드와 완료되지 않고 이전 데이타를 가지고 있는 워드를 구분할 수 없게 된다. 본 논문에서는 FRAM 변경 시 변경 전, 후 데이타를 먼저 로그로 남기고 실제 변경 작업을 수행하도록 설계하였다. 전원 중단이 발생하면 다음 번 부팅 시 로그 내의 데이타와 현재 FRAM 상의 데이타를비교하여 완전히 변경되지 않은 경우는 로그를 취소 또는 재실행시켜 주도록 하였다.
본 논문에서는 마모 균둥화를 위해 두 가지 방법을 함께 사용하였다 호스트 쓰기 요청 처리 시에는 가장지우기가 적게 수행된 쓰기 버퍼 블록을 선택하여 사용함으로써, 쓰기 버퍼 블록들과 호스트 쓰기가 활발하게 진행되는 데이타 블록들 간의 지우기 회수를 균등화하였다. 또한 유휴(idle) 시간을 이용, 호스트 쓰기 요청이 들어오지 않아서 지우기가 거의 수행되지 않은 데이타블록을 지우기가 많이 수행된 쓰기 버퍼 블록과 교환하는 방법을 사용하여 전체적인 지우기 회수를 균등화하였다.
본 논문에서는 플래시 메모리 기반 저장 장치에서 비휘발성을 갖도록 유지해야 하는 정보들을 분류하여, FRAM과 NAND 플래시 메모리에 나누어 유지함으로써 성능과 경제성 양쪽의 장점을 함께 갖춘 새로운 비휘발성 저장 장치 계층 구조를 제안하였다. 또한, 호스트 쓰기 요청을 패턴에 따라 소량 랜덤 쓰기와 대랑 순차 쓰기로 구분하여 각각에 가장 적합한 관리 방법을 적용함으로써 양쪽 쓰기 패턴 모두를 효율적으로 처리할 수 있는 쓰기 버퍼 관리 방법을 제안하였다.
또한, 두 가지 기법의 장단점을 모두 취할 수 있는 복합적인 관리 기법에 대한 연구[11]와 사상 정보량 및 사상 오버헤드를 줄이기 위한 연구[12] 등이 진행되었다. 본 논문에서도 기본적으로는 블록 단위 사상을 이용하고[9] 쓰기 버퍼 관리 방식에서는 [10, 11]과 유사한 복합적인 관리정책을 사용하였다.
소량 랜덤 쓰기와 대량 순차 쓰기를 구분하는 기준으로는 하나의 쓰기 요청이 정해진 수 이상의 섹터를 쓰는 경우나 대량 순차 쓰기 패턴으로 판단된 기존의 쓰기 열(write stream)에 이어지는 경우 대량 순차 쓰기로 판단하고 그 외에는 소량 랜덤 쓰기로 판단하는 단순한 방법을 사용하였다. 그러나, 실제 쓰기 처리 후이어잔 쓰기 요청들의 패턴이 판단과 다른 경우에는 다른 쓰기 버퍼로 이동하여 처리할 수 있도록 구현하였다.
이 문제를 해결하기 위해 본 논문에서는 플래시 메모리 저장 장치에서 비휘발성을 요구하는 데이타를 분류하여 각각의 특성에 가장 적합한 처리 방법을 적용하였다. 사상 테이블을 포함한 FTL 메타데이타는 전체 크기가 작고 빈번한 소량 갱신이 이루어지므로 소량 갱신 측면에서 유리한 FRAM에 유지하고 호스트 쓰기 요청에 의한 호스트 데이타는 최소한 512B 이상의 섹터 단위의 쓰기 작업이 수행되므로 저비용, 대용량의 NAND 플래시 메모리에 유지한다.
또한, 플래시 메모리에 저장하는 호스트 데이타도 쓰기 요청 패턴에 따라 소량 랜덤 쓰기와 대량 순차 쓰기로 나누어 각 패턴을 처리하는데 적합한 페이지 단위 쓰기 버퍼와 블록 단위 쓰기 버퍼에 나누어 처리하였다. 이러한 FRAM 활용과 쓰기 버퍼 관리 기법을 통해 소량 랜덤 쓰기 성능 저하를 최소화한 고성능 SSD 아키텍처를 제안하고 프로토타입구현을 통해 그 실효성을 검증하였다.
본 논문에서는 FRAM 변경 시 변경 전, 후 데이타를 먼저 로그로 남기고 실제 변경 작업을 수행하도록 설계하였다. 전원 중단이 발생하면 다음 번 부팅 시 로그 내의 데이타와 현재 FRAM 상의 데이타를비교하여 완전히 변경되지 않은 경우는 로그를 취소 또는 재실행시켜 주도록 하였다.
FTL 사상 측면에서는 호스트로부터의 쓰기 요구를 소량의 랜덤 쓰기와 대량의 순차 쓰기로 구분하고 각각에 적합한 쓰기 버퍼 관리 방법을 적용하여 랜덤 쓰기에 유리한 페이지 단위 사상과 순차 쓰기에 유리한 블록 단위 사상 양쪽의 장점을 활용하였다. 하드웨어적인 구조는 단일 NAND 플래시 메모리 칩의 읽기, 쓰기 성능 제한을 해결하기 위해 칩 단위, 버스 단위로 인터리빙(interleaving) 기법을 적용하였고 호스트인터페이스와 플래시 인터페이스 간의 데이타 전송을 위해 독립적인 데이타 전송 경로를 추가하였다.
대상 데이터
128섹터(64KB)를 사용하였다. 또한, 블록 단위 쓰기 버퍼로는 8MB(쓰기 열 개수 4), 페이지 단위 쓰기 버퍼로는 32MB를 사용하였다.
이다. 보드에 장착된 FRAM 2MB 중 실제 사용된 FRAM 은 328KB이다, 블록 사상 테이블을 저장하기 위해 사용된 FRAMe 320KB(사상 정보 256KB, 지우기 회수 64KB) 이며 이 값은 전체 플래시 메모리 용량에 비례한다. 즉, 본 연구에서 제안한 아키텍처에서는 플래시 메모리 16GB 당 FRAM 32아CB를 필요로 하며 용량이 증가하면 FRAM 요구량은 따라서 증가한다.
본 논문에서 다루고 있는 또 하나의 비휘발성 저장 매체는 FRAM(Ferroelectric RAM)이다. FRAMe SRAM 과 유사한 인터페이스와 성능을 가지는 차세대 비휘발성 메모리로서 전하를 보유하는 커패시터로 강유전성을 갖는 물질을 사용하여 전원 공급이 중단되어도 데이타를 유지할 수 있다[4L FRAMe SRAM과 같이 바이트 단위의 읽기, 쓰기 기능을 제공하며 접근 시간이 100ns 정도로 빠르다.
보드 상에는 각 플래시 메 모리 버스에 해당하는 플래시 메모리 모듈올 위한 4개 의 슬롯이 있으며, 아래쪽으로 FRAM 모듈을 위한 슬 롯이 있고 왼쪽으로는 PATA 호스트 인터페이스 커넥 터가 있다. 사용한 플래시 메모리 모듈에는 lGB(8Gb) 의 플래시 메모리 칩이 4개 장착되며 4개의 모듈을 사 용하여 동시에 동작할 수 있는 플래시 메모리 칩의 수 는 16개, 전체 플래시 메모리 용량은 16GB이다. FRAM 모듈은 lMB(8Mb) 용량의 FRAM 칩이 2개 장착되어 총 2MB이다.
성능 비교 대상으로는 7200RPM의 회전 속도를 갖는 SATA2 인터페이스 (300MB/S)의 하드디스크 (Seagate Barracuda 7200.10 ST3250冊20AS)와 상용으로 판매되는 PATA 인터페이스(UDMA100 전송 모드: 100MB/s) 를 갖는 2가지 종류의 SSD(Adtron I35FB, M-Sys- tems FFD UATA)를 선정 하였다. 벤치마크를 수행한 PC 시스템은 표 3과 같다.
제안된 아키텍처를 FPGA 기반 프로토타입 평가 플랫폼을 이용하여 구현하였으며, 성능 평가를 위해 PC 환경에서 사용되는 대표적인 벤치마크 프로그램인 PCMarkO4 HDD 벤치마크[1 기를 사용하였다.
프로토타입 구현을 위해 PowerPC 프로세서를 내장 한 Xilinx Virtex IV FPGA 칩에 기반한 그림 7과 같 은 평가 보드를 제작하였다. 보드 상에는 각 플래시 메 모리 버스에 해당하는 플래시 메모리 모듈올 위한 4개 의 슬롯이 있으며, 아래쪽으로 FRAM 모듈을 위한 슬 롯이 있고 왼쪽으로는 PATA 호스트 인터페이스 커넥 터가 있다.
성능/효과
표 4는 각 경우의 실험 결과를 보여준다. FRAM 사용에 따른 성능 향상은 워크로드마다 조금씩 차이가 나긴 하지만, 전체적으로 18% 정도의 성능 향상이 있었음을 볼 수 있다. File Copying 워크로드의 경우에는 요청 당 섹터 수가 커서 메타데이타 접근 회수가 상대적으로 적으므로 FRAM에 의한 성능 향상이 다른 워크로드에 비해 적었다.
X 축은 워크로드 및 비교 대상들을 Y 축은 MB/s 단위의 처리율을 나타낸다. 결과를 보면 랜덤 요청이 많은 워크로드에서는 구현된 프로토타입의 성능이 비교 대상들에 비해 3배 이상 높은 것을 볼 수 있다. 순차 요청이 많은 File Copying 워크로드에서는 하드디스크와 대등한 성능을 보였으나 비교 대상들의 성능은 File Copying시의 전송률에 비해 다른 워크로드에서는 크게 저하된다.
먼저, 랜덤 읽기 성능의 경우 물리적인 헤드와 스핀들 등을 동작시켜야 하는 하드디스크에 비해 월등한 성능을 보여준다. 또한, 순차 읽기 및 순차 쓰기 성능에서도 단일 플래시 메모리 칩 처리율(throughput) 측면에서는 디스크에 비해 떨어지지만, 여러 칩을 동시에 구동하는 방법을 통해 원하는 만큼의 충분한 처리율을 얻을 수 있다.
따라서, 전체 사상 테이블을 FRAM에 유지하지 않고 일부 또는 전체 테이블을 NAND 플래시 메모리에 유지하고 그 위치정보만을 FRAM에 유지하는 아키텍처에 대한연구가 필요하다. 이를 통해 FRAM 요구량은 최소화하면서도 충분한 성능 향상 효과를 얻을 수 있는 최적의 FRAM 요구량을 도출할 수 있다. 더 나아가 여분의 FRAM을 호스트 데이타를 저장하는 용도로 활용함으로써 쓰기 성능을 더욱 향상시킬 수 있는 아키텍처에 대한연구도 필요하다.
각 그래프에서 X축은 요청 번호를 Y축은 논리 섹터 번호를 나타낸다. 전체적으로 XP Startup, Application Loading, General HDD Usage에서는 랜덤 패턴이 대부분이며, 반대로 File Copyii迫에서는 순차 패턴을 보이고 있다.
갖는다. 전체적인 구조 측면에서, 플래시 메모리와는 달리 작은 쓰기 단위를 가지고 덮어쓰기 제약이 읍1는 FRAM과 대용량의 가격이 싼 NAND 플래시 메모리를 함께 사용하여 효율성과 경제성 측면에서 양쪽의 장점을 취하였다. FTL 사상 측면에서는 호스트로부터의 쓰기 요구를 소량의 랜덤 쓰기와 대량의 순차 쓰기로 구분하고 각각에 적합한 쓰기 버퍼 관리 방법을 적용하여 랜덤 쓰기에 유리한 페이지 단위 사상과 순차 쓰기에 유리한 블록 단위 사상 양쪽의 장점을 활용하였다.
보드에 장착된 FRAM 2MB 중 실제 사용된 FRAM 은 328KB이다, 블록 사상 테이블을 저장하기 위해 사용된 FRAMe 320KB(사상 정보 256KB, 지우기 회수 64KB) 이며 이 값은 전체 플래시 메모리 용량에 비례한다. 즉, 본 연구에서 제안한 아키텍처에서는 플래시 메모리 16GB 당 FRAM 32아CB를 필요로 하며 용량이 증가하면 FRAM 요구량은 따라서 증가한다.
평가 보드에서 프로토타입을 구현하여 성능을 평가해본 결과 매 호스트 요청 처리 시마다 접근하게 되는 FTL 메타데이타 관리 오버헤드를 현저하게 줄일 수 있었고, 쓰기 요청 패턴에 무관하게 특히 소량 랜덤 쓰기에 있어서도 순차 쓰기 시의 성능에 근접한 성능을 얻을 수 있음을 보였다.
후속연구
또한, FRAMe 생산 공정 상 일반 논리회로 칩을 만드는 공정과의 호환성이 뛰어나 쉽게 프로세서에 내장할 수 있다는 특징이 있다. SSD 제어 ASIC 칩을 제조하는 과정에서 원하는 만큼의 FRAM을내장하는 것이 가능할 것으로 예상되며 논리 회로 공정의 발전과 함께 내장된 FRAM 용량도 자연스럽게 증가할 것으로 예상된다.
이를 통해 FRAM 요구량은 최소화하면서도 충분한 성능 향상 효과를 얻을 수 있는 최적의 FRAM 요구량을 도출할 수 있다. 더 나아가 여분의 FRAM을 호스트 데이타를 저장하는 용도로 활용함으로써 쓰기 성능을 더욱 향상시킬 수 있는 아키텍처에 대한연구도 필요하다.
본 연구에서 제안한 아키텍처는 사상 테이블 전체를 FRAM에 항상 유지해야 하는 구조이므로, FRAM의 크기가 사상 테이블보다 작온 경우에는 본 연구의 아키텍처를 적용할 수 없다. 따라서, 전체 사상 테이블을 FRAM에 유지하지 않고 일부 또는 전체 테이블을 NAND 플래시 메모리에 유지하고 그 위치정보만을 FRAM에 유지하는 아키텍처에 대한연구가 필요하다. 이를 통해 FRAM 요구량은 최소화하면서도 충분한 성능 향상 효과를 얻을 수 있는 최적의 FRAM 요구량을 도출할 수 있다.
향후 연구로서 플래시 메모리 용량과는 상관없이 사용 가능한 FRAM의 크기가 작아지거나 커지는 경우 FRAM 의 활용방법에 대한 연구를 계획하고 있다. 본 연구에서 제안한 아키텍처는 사상 테이블 전체를 FRAM에 항상 유지해야 하는 구조이므로, FRAM의 크기가 사상 테이블보다 작온 경우에는 본 연구의 아키텍처를 적용할 수 없다.
Ramtron, FRAM datasheets, http://www.ramtron. com/
Rosenblum, M. and Ousterhout, J., "The design and implementation of a log-structured file system," ACM Transactions on Computer Systems, Vol.10, No.1, pp. 26-52, 1992
Wu, M. and Zwaenepoel, W., "eNVy: a non- volatile, main memory storage system," in Proceedings of the Sixth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS-6), pp. 86-97, 1994
Kawaguchi, A., Nishioka, S., and Motoda, H., "A flash-memory based file system," in Proceedings of the USENIX 1995 Winter Technical Conference, pp. 155-164, 1995
Chiang, M.-L., Lee, P. C. H., and Chang, R.-C., "Using data clustering to improve cleaning performance for flash memory," Software: Practice and Experience, Vol.29, No.3, pp. 267-290, 1999
Kim, J. M., Kim, J. M., Noh, S. H., Min, S. L., and Cho, Y., "A space-efficient flash translation layer for CompactFlash systems," IEEE Transactions on Consumer Electronics, Vol.48, No.2, pp. 366-375, 2002
Lee, S.-W., Park, D.-J., Chung, T.-S., Lee, D.-H., Park, S., and Song, H.-J., "A log buffer-based flash translation layer using fully associative sector translation," ACM Transactions on Embedded Computing Systems, Vol.6, No.3, 2007
Wu, C.-H. and Kuo, T.-W., "An adaptive two- level management for the flash translation layer in embedded systems," in Proceedings of the 2006 IEEE/ACM International Conference on Computer- Aided Design (ICCAD '2006), pp. 601-606, 2006
Chang, L.-P. and Kuo, T.-W., "Efficient management for large-scale flash-memory storage systems with resource conservation," ACM Transactions on Storage, Vol.1, No.4, pp. 381-418, 2005
Miller, E. L., Brandt, S. A., and Long, D. D. E., "HeRMES: High Performance Reliable MRAM- Enabled Storage," In Proceedings of the 8th IEEE Workshop on Hot Topics in Operating Systems (HotOS-VIII), pp. 83-87, 2001
Wang, A. A., Kuenning, G. H., Reiher, P., and Popek, G. J., "Conquest: better performance through a disk/persistent-RAM hybrid design," ACM Transactions on Storage, Vol.2, No.3, pp. 309-348, 2006
Doh, I. H., Choi, J., Lee, D., and Noh, S. H., "Exploiting non-volatile RAM to enhance flash file system performance," in Proceedings of the 7th ACM & IEEE International Conference on Embedded Software, pp. 164-173, 2007
Aleph One, "YAFFS: Yet another Flash file system", http://www.aleph1.co.uk/yaffs/
Futuremark Corporation, "PCMark04 white paper," http://www.futuremark.com/
※ AI-Helper는 부적절한 답변을 할 수 있습니다.