LRU-WSR: Integration of LRU and Writes Sequence Reordering for Flash Memory

Size: px
Start display at page:

Download "LRU-WSR: Integration of LRU and Writes Sequence Reordering for Flash Memory"

Transcription

1 H. Jung et al.: LRU-WSR: Integration of LRU and Writes Sequence Reordering for Flash Memory LRU-WSR: Integration of LRU and Writes Sequence Reordering for Flash Memory 1215 Hoyoung Jung, Hyoki Shim, Sungmin Park, Sooyong Kang, Jaehyuk Cha Abstract Most mobile devices are equipped with a NAND flash memory even if it has characteristics of not-in-place update and asymmetric I/O latencies among read, write, and erase operations: write/erase operations are much slower than a read operation in a flash memory. For the overall performance of a flash memory system, the buffer replacement policy should consider the above severely asymmetric I/O latencies. However, existing LRU buffer replacement algorithm cannot deal with the above problem. This paper proposes the LRU-WSR buffer replacement algorithm that enhances LRU by reordering writes of not-cold dirty pages from the buffer cache to flash storage. The enhanced LRU- WSR algorithm focuses on reducing the number of write/erase operations as well as preventing serious degradation of buffer hit ratio. The experimental results show that the LRU-WSR outperforms other algorithms including LRU, CF-LRU, and FAB 1. Index Terms flash memory, buffer replacement, storage system I. INTRODUCTION Flash memory has many attractive features, including low power consumption, shock resistance, low weight, high density, low-noise, and high I/O performance. As its price decreases and its capacity increases, flash memory is widely used for storage in digital cameras, mobile phones, PDAs, and notebooks[1][2]. Also, emerging devices such as IP-phone and home gateways seriously consider the adoption of flash memory. Various programs including database and server applications which are run in these devices, thus the performance of flash memory storages become more important. However, several hardware limitations exist in a flash memory. First, a data unit of erase operations is a block that is the set of fixed number of pages even if a data unit of read/write operations is a page. Second, it is impossible to rewrite the page in-place in a flash memory. So, in order to update data of the page, a system should perform only one of the following: 1) writing these data to newly allocated page, and invalidating the original page or 2) writing these data to the original page only after erasing the block containing that 1 This work was supported by grant No. R from the Basic Research Program of the Korea Science & Engineering Foundation. Hoyoung Jung, Hyoki Shim, and Sungmin Park are with the Department of Electronics and Computer Engineering, Hanyang University, Seoul, Korea. ( horong@hanyang.ac.kr,dahlia@hanyang.ac.kr,syrilo@hanyang.ac.kr) Sooyong Kang is with the department of Computer Science Education, Hanyang University, Seoul, Korea ( sykang@hanyang.ac.kr) Jaehyuk Cha(Corresponding author) is with the department of Information and Communications, Hanyang University, Seoul, Korea ( chajh@hanyang.ac.kr) Contributed Paper Manuscript received June 10, /08/$ IEEE page. In the latter case, it is difficult to keep the data consistency. In the former case, reclaiming invalid pages for reading/writing requires erasing blocks containing these pages. Third, the life time of a flash memory is shorter than the life time of a hard disk and a DRAM. In other words, only a limited number of erase operations can be performed safely to each memory cell, typically between 100,000 and 1,000,000 cycles. Finally, there exist differences among I/O latencies according to the kinds of I/O operations, i.e., read, write, and erase. The write operation is about 10 times slower than the read operation, and the erase operation is about 20 times slower than the write operation [3][4][5]. Disk caching has been used for reducing disk I/O latency. A buffer replacement algorithm for a disk tries to obtain the optimal I/O sequence from the original I/O sequence by reducing the number of accesses for the overall performance. Least Recently Used (LRU) is one of the famous buffer replacement algorithms for hard disk. Since a flash memory becomes an alternative of a disk, flash caching is needed for reducing flash I/O latency. By the way, a buffer replacement algorithm for a flash memory has to additionally deal with the problem of different I/O latencies according to the kind of I/O operations, i.e. read, write, and erase, even though it is similar to the buffer replacement algorithms for a disk. It tries to obtain the optimal I/O sequence from the original I/O sequence by discriminatively reducing the number of accesses according to the kind of I/O operations. Since LRU ignores the severely asymmetric I/O latencies, it shows the more poor performance in a flash memory than in a hard disk. In addition, an I/O sequence generated from a buffer replacement algorithm for a flash consists of read/write operations only since an erase operation is directly controlled by the underneath layer of buffer layer. Fortunately, the number of write requests from the buffer management layer is usually proportional to the number of physical writes and erases to the flash. Therefore, we focus on finding an algorithm that minimize the number of write requests as well as the loss of hit ratio for generating optimal I/O sequence from a given I/O sequence. For a flash memory, this paper proposes an efficient buffer replacement algorithm, LRU-WSR, that enhances an existing LRU buffer replacement algorithm with add-on buffer replacement strategy, namely Write Sequence Reordering (WSR). WSR reorders writing not-cold dirty pages from the buffer cache to the disk to reduce the number of write operations while preventing excessive degradation of the hit ratio. For seamless integration of LRU and WSR, we have modified all the steps of the LRU algorithm while maintaining

2 1216 IEEE Transactions on Consumer Electronics, Vol. 54, No. 3, AUGUST 2008 advantages of that algorithm. This algorithm is also designed to minimize both temporal and spatial overheads required to achieve the goal. Our simulation results and the integration into PostgreSQL RDMBS [6] show that LRU-WSR effectively reduces the number of physical page writes and page erases and consequently outperforms other algorithms. Section 2 introduces some related work. In Section 3, an efficient buffer replacement algorithm, LRU-WSR, that enhances LRU with WSR, is described in detail. In Section 4, the tracedriven simulation results show that our algorithm is superior to the existing algorithms such as LRU, LRU, ARC, and even CFLRU in a flash memory. Finally, we concluded in Section 5. II. RELATED WORKS A. Flash Memory Flash memory is a type of EEPROM. Flash memory is nonvolatile, that is, it retains data without power. There are two types of flash memory, NAND and NOR. Table 1 compares their characteristics. TABLE I CHARACTERISTICS OF FLASH MEMORY [7] Device NOR NAND current (ma) Access time (4kB) Idle Active Read Write Erase us 25 us 28 ms 250 us 1.2 sec 2 ms The read latency of NOR is slightly lower than that of NAND, but its write and erase latencies are much higher. The NAND architecture offers extremely high cell densities and a high capacity. NOR flash is typically used for code storage and execution, NAND for data storage [8]. NAND flash memory supports page I/O, and its write latency is about 10 times lower than the read latency given in Table 1. Read and write operations are performed in units of pages, which are usually 512 bytes in size. Erase operations are performed on blocks, which consist of 32 pages (16KB) each. Because of these features, flash memory storage architecture needs a block mapping structure to use flash memory as a block device (like a magnetic disk). Various mapping techniques support flash block devices. FTL (Flash Translation Layer) is one of these techniques, and stores part of the map on the flash device itself, reducing the cost of map updates. FTL stores the mapping table in S-ram for fast address translation and also performs garbage collection and bad block management. Fig. 1 shows the architecture of NAND flash storage system using FTL [9]. As Fig. 1 shows, file system regards flash memory storage as a block device. Page rewrites and in-place updates can be done logically on the file system layer. However, rewritten pages with the same address are physically rewritten in different pages, or even different blocks. Thus reducing the number of page rewrites on file system layer reduces the number of physical write and erase operations. This both improves the performance of file system and lengthens life time of flash memory Fig. 1. Architecture of NAND Flash Storage System B. Buffer Replacement Algorithm for Flash Memory The buffer cache policy used in operating systems stores some parts of every disk block to reduce the number of physical I/O requests. Various buffer replacement algorithms have been developed to increase I/O performance, because the size of the buffer cache is much smaller than that of the disk [10][11][12][13][14][15]. However, existing buffer replacement algorithms are only designed to maximize the page hit ratio. These algorithms treat the costs of page reads and writes as equal. However, because the write cost for evicting a dirty or modified page is much higher than the read cost in flash memory, existing algorithms may not maximize flash I/O performance. In [3], a new buffer replacement algorithm called CF-LRU (Clean First LRU) was proposed. CF-LRU is a flash memoryaware page replacement algorithm that considers the different execution times for reading and writing. Fig. 2. CF-LRU page replacement example [3] Suppose pages were recently accessed in the order E, D, C, B, A, as illustrated in Fig. 2 (so that A is the most recently used clean page and E is the least recently used dirty page). Under the LRU page replacement algorithm, the sequence of victim pages is E, D, C, B, always evicting the least recently used page first. When using NAND flash memory for storing victim page data, however, it may be advantageous to first evict the clean page D to reduce the number of flash write operations, even though the page was more recently accessed than the dirty page E.

3 H. Jung et al.: LRU-WSR: Integration of LRU and Writes Sequence Reordering for Flash Memory 1217 As the page fault ratio may increase if the recently used clean page is evicted, only the clean pages within a predetermined window size (w) become candidate victims in CF-LRU. If the algorithm does not find a clean page within the window, it defaults to the normal LRU algorithm, in which the least recently used page becomes the victim whether the page is dirty or not [3]. Despite that the hit ratio of CF-LRU may be lower than that of normal LRU, in many cases it reduces the numbers of write and erase operations more effectively. However, CF-LRU needs to determine w and thus is difficult to adapt to tasks with various workloads. CF-LRU also has a search overhead, as it should determine whether each page in the window is dirty. Above all things, it keeps both cold- and hot-write data; it sometimes performs more read operations than normal LRU, reducing performance. In particular, it needs an adaptive on-line algorithm to determine window size and should apply hot-cold identification to avoid keeping a cold-write page in the buffer. In [16], authors suggested another buffer replacement algorithm called Flash-Aware Buffer (FAB) for portable media players equipped with flash memory. It reduces the number of erase operations by selecting a victim based on its page utilization rather than based on the LRU policy. Fig. 3. The main data structure of FAB. Fig. 3 shows main data structure of FAB. FAB selects a victim block (not a victim page) by the following rules in order and will flush all the pages in the block. 1. The block which has the largest number of pages is chosen as a victim block. 2. If multiple blocks are selected by the above rules, the block which has not been accessed for the longest time is chose as a victim block (which is at the tail of the list in Fig. 3.). Because FAB writes all of the pages in a new block of flash memory, it doesn t need to copy valid pages to another block under FTL. As a result, FAB reduces the number of erase operation than normal LRU. FAB shows good performance when most IO requests are sequential (i.e. IO requests of portable media player) because the latency of erase operation is the slowest among operations of all flash memory. However, it may lower hit ratio when the IO request pattern is random thus causes lower performance. III. LRU-WSR Write Sequence Reordering (WSR) policy and LRU-WSR algorithm are designed for a buffer cache of the flash memory based storage system. The objective of LRU-WSR is reducing the number of flushes of dirty pages from the buffer into flash memory when page replacement occurs. To achieve this objective, it uses the following strategy: delaying evicting the page which is dirty and has high access frequency as possible. Using this strategy, the hit ratio of LRU-WSR algorithms maybe lower than that of LRU, resulting in more physical page reads. However, this algorithm effectively reduces the number of page writes and erases. As a result, it increases the overall performance of the flash memory based storage system. A. WSR Policy The runtime of flash memory under buffer layer is simply Runtime = a RC + b WC + c EC + C (1) a: missed read count, b: flushed write count, c: erase count RC: read cost, WC: write cost, EC: erase cost, C : CPU cost Note that a flash read operation occurs only buffer miss and a flash write operation occurs only a dirty page is chosen as victim page by buffer replacement policy. As mentioned in section II.B, an erase count cannot be measured in the buffer layer, but it is proportional to write count in general [18]. Thus (1) becomes: Runtime = a RC + b WC + C (2) a: read count, b: write count RC: read cost, WC : write cost consider erase cost, C : CPU cost From (2) and Table I, it can be deducted that the write cost is much larger than the read cost. The exact ratio of read cost and write cost depends on the FTL algorithm used for flash storage but their FTL algorithm is hidden so it only can be obtained by experiments. For example, the write cost of mini SD is 200 times expensive than the read cost in [18]. From this result, it is easily guessed that the performance of flash storage will increase if the write count is reduced. For the purpose, to delay flushing dirty pages in buffer layer can reduce write count of flash memory. However above policy may increase read count because of lowering hit ratio, thus to increase overall performance, b WC a RC > 0 a : increased read count, b: reduced write count That is, the benefit of reducing write count should be greater than the cost of increasing read count. In [3], CF-LRU algorithm keeps dirty pages in the buffer without consideration of the access frequencies of these pages. As mentioned in the previous section, keeping dirty pages in the buffer may degrade overall performance because it lowers the hit ratio. To overcome the limit of CF-LRU, we propose Write Sequence Reordering (WSR) policy. Basic scheme of WSR is following: 1. Use cold-detection algorithm to judge whether the page is cold or not 2. Delays flushing dirty pages which are not regarded as cold. For these purpose, cold-detection algorithm is introduced. The idea of cold-detection algorithm is similar to the idea of [17], while it is implemented more simply using the data structure of buffer replacement algorithm. Only a bit flag called cold- (3)

4 1218 flag is added to the page data for cold-detection algorithm. When the buffer manager chooses the victim candidate page by its replacement algorithm, it is examined whether the page is dirty. If the page is dirty and cold-flag is not set, this page regarded as a not-cold dirty page. Then the cold-flag of the page is set and buffer manager tries to find other page as a victim. If the candidate is clean or cold-dirty page a dirty page of which dirty flag is set) it is evicted out of the buffer. In addition, a cold-flag of dirty page is cleared when the page is referenced again. WSR is heuristic algorithm based on the second-chance algorithm [20]. Because it is very hard to theoretically determine whether the dirty page is evicted for the performance; in other words, it is intractable to find the buffer sequence that maximizes the benefit (the left side of (3)). However it is experimentally proved that WSR effectively reduces the page writes and erases of flash memory without much degradation of hit-ratio. B. LRU-WSR In this section, we propose an enhanced LRU algorithm, called LRU-WSR. Using cold detection mechanism of WSR, LRU- WSR tries not to keep cold-dirty-pages which are less likely to be referenced soon in a buffer. As Fig. 5 shows, LRU-WSR uses a page list and an additional flag - Cold flag. When a dirty page is chosen as a candidate for being a victim, its cold flag is checked. If it is not set, the page is moved to the MRU position of the buffer list with setting the flag, and another candidate page is selected from the LRU position of the buffer list. If the candidate page is dirty and its cold flag is set, the page is regarded as a cold dirty page, and is flushed into flash memory to avoid excessive decrement of the hit ratio. If a candidate page is clean, it is selected as a victim regardless of the status of the Cold flag. When a dirty page in a buffer list is referenced, the page is moved to the MRU position and its cold flash is cleared. Fig. 6 shows the victim selection algorithm of LRU-WSR. Since it uses only one additional binary variable for the Cold flag, the overhead for additional data structure is minimal. Other parts of the algorithm are not different to those of the original LRU. IEEE Transactions on Consumer Electronics, Vol. 54, No. 3, AUGUST 2008 IV. PERFORMANCE EVALUATION In this section, we compare the hit ratios, number of write operations and runtime of the buffer replacement algorithms on a NAND flash memory storage system. For comparison, we conducted a trace-driven simulation. For the experiment, we used four kinds of traces which contain random, sequential, and looping pattern. The write locality of each trace is also different for the precision. Also, real performance of LRU-WSR on postgresql under Linux is evaluated in this chapter. A. Simulation Workloads We collected trace of the Wisconsin Benchmark [21] on PostgreSQL running on the Linux operating system on a Samsung SMDK 2410 embedded board [22]. A K9S1208VOM SMC (smart media card) NAND flash memory [22] was used for the storage device. The access pattern of the given trace data is shown in Fig. 7, and its characteristics are shown in Table II. As shown in Figure 6, the trace contains most of the important access patterns including random, sequential, and looping patterns. The locality expression p% / g%, in Table 2, means that g% of the total number of accesses call p% of the total number of pages. The table shows that the write locality is higher than read locality under this workload. TABLE II CHARACTERISTICS OF POSTGRESQL TRACE DATA File System YAFFS Physical Page Size Logical Page Size 512 Bytes 4 K Bytes Total # of I/O Requests Total # of Page Write 5751 (11.08 %) Read Locality 30% / 70% Write Locality 15% / 85% Fig. 4. LRU List of the LRU-WSR Algorithm L = buffer list of LRU victim = the page at LRU position in L while (victim is dirty) : if (cold-flag of victim is set) exit while else move victim to MRU position in L set cold-flag of victim victim = the page at LRU position in L remove victim from L return victim Fig. 5. Algorithm of the victim selection on LRU-WSR Fig. 6. Access pattern of the PostgreSQL trace Traces of GCC, Viewperf and Cscope in Table III-V are not generated from DBMS s. But they are used for comparing the performance of proposed buffer replacement algorithms because they show the different access patterns, respectively. These traces are obtained by strace Linux utility [24] that intercepts the system calls of the traced process to record the I/O information. Table III-V show their characteristics and Fig show their access patterns. The GCC trace is obtained by building Linux kernel It performs long sequential write and short iterative read.

5 H. Jung et al.: LRU-WSR: Integration of LRU and Writes Sequence Reordering for Flash Memory 1219 TABLE III CHARACTERISTICS OF GCC TRACE DATA Applications GCC builds on Linux Total # of I/O Requests Total # of Page Write (12.03 %) Read Locality 12% / 88% Write Locality 32% / 68% Fig. 9. Access pattern of the cscope trace Application Logical Page Size Fig. 7. Access pattern of the GCC trace TABLE IV CHARACTERISTICS OF VIEWPERF TRACE DATA Viewperf benchmark on Linux OS 4 KBytes Total # of I/O Requests Total # of Writes Req (2.42%) Read Locality 33% / 67% Write Locality 38% / 62% Application Logical Page Size Fig. 8. Access pattern of the viewperf trace TABLE V CHARACTERISTICS OF CSCOPE TRACE DATA Cscope Tool on Linux 4 KBytes Total # of I/O Requests Total # of Writes Req (5.46%) Read Locality 41% / 59% Write Locality 25% / 75% The Viewperf trace is a SPEC benchmark measures the performance of a graphics workstation. It performs small random write and sequential read. The cscope trace is obtained by Linux kernel source code examination. The first half of Cscope performs random read/ write and their locality is very high. The write locality is a particularly important factor for the proposed scheme, because dirty pages are kept in a buffer to reduce the number of write operations. If the write locality is low, as in Viewperf or Cscope, WSR policy may not be effective, and can even decrease the overall performance, because the benefit of reducing the number of write operations may be smaller than the additional cost due to the increased number of read operations caused by the lower hit ratio. Based on the write locality of each trace, we can expect that WSR policy will be most effective for PostgreSQL which shows the highest write locality. B. Buffer Hit Ratio Fig. 10 shows the hit ratios of each buffer replacement algorithm. As we can see from the figure, the hit ratio of LRU- WSR is usually lower than LRU because of not-cold-dirty pages in the buffer. As mentioned earlier, the hit ratio of CF-LRU is affected by the value of w (0<w<1). Let B denote the size of the buffer cache. Then the size of window becomes wb. When w is close to 0, CF- LRU behaves similarly to LRU algorithm. When w is close to 1, it can use the entire buffer space to store dirty pages. The experiment used the values for w = 0.1. Those figures show that the hit ratios LRU-WSR very closely approximate LRU. Hence, we can see that the cold-detection policy is effective for flushing cold-write pages. On the contrary, since the CF-LRU and the FAB algorithm do not have any cold-detection algorithm, it keeps the largest number of dirty pages in the buffer among those algorithms. CF-LRU and FAB thus exhibit lower hit ratio than LRU and LRU-WSR in many cases. C. Write Count Fig. 11 shows the number of pages written into flash memory. We obtained these results by counting the number of physical page writes whenever page replacement occurs and, at the end of the simulation, adding the number of dirty pages remaining in the buffer. While CF-LRU algorithm keeps dirtypages for the longest time, in average, among all algorithms,

6 1220 IEEE Transactions on Consumer Electronics, Vol. 54, No. 3, AUGUST 2008 effective than LRU-WSR, because of the fact we mentioned above. FAB is also effective in Fig. 11. (c), because this trace has many sequential patterns like a multimedia application and FAB is designed for this purpose. (a) PostgreSQL (a) PostgreSQL (b) GCC (b) GCC (c) Viewperf (c) Viewperf (d) Cscope Fig. 10. Hit Ratio under various buffer cache sizes: (a) PostgreSQL, (b) GCC, (c) Viewperf, (d) Cscope sometimes it could not reduce the number of write operations effectively because of low hit ratio like Fig. 11.(a). As expected, we can see from figures that the write count of LRU-WSR algorithm is effectively reduced. However when the ratio of write/read is small like Viewperf (2.42%), CF-LRU is more (d) Cscope Fig. 11. Write Count under various buffer cache sizes: (a) PostgreSQL, (b) GCC, (c) Viewperf, (d) Cscope

7 H. Jung et al.: LRU-WSR: Integration of LRU and Writes Sequence Reordering for Flash Memory 1221 D. Runtime The overall runtime of each algorithm is also given in Fig. 12. Runtime is estimated as the sum of all operation times, and each operation time is calculated by multiplying physical time of each operation (shown in Table 1) by the number of each operation. Runtime therefore reflects overall performance. Runtime is highly influenced by hit ratio and the number of writes to the flash memory, because a low hit ratio increases the number of page faults, and as a result increases the number of page reads. In particular, as the number of write increases, so does both the page write and erase overheads. (a) PostgreSQL (d) Cscope Fig. 12. Overall runtime under various buffer size : (a) PostgreSQL, (b) GCC, (c) Viewperf, (d) Cscope CF-LRU shows better performance than LRU when the buffer size is small, but its performance degrades as the buffer size becomes larger because of relatively lower hit-ratio than other algorithms. LRU-WSR always outperforms LRU. Moreover, it outperforms other algorithms in most cases. In Fig. 13 (a), LRU-WSR shows about 1.4 times faster than LRU algorithm. E. Integration into PostgreSQL The LRU-WSR policy is integrated into the PostgreSQL under Linux operating system. In a real system, there exist other factors that affect the performance of flash storage system as well as buffer replacement policy, i.e., prefetching, sync system call [24], and IO scheduling of device driver such as SCAN [20]. Fig. 14 shows the architecture diagram of our experiment. (b) GCC Fig. 13. The overall architecture of experiment (c) Viewperf This experiment is done using 3 different manufacturers USB type flash disks: Sky-Drv [25], Sandisk [26], Samsung Electronics [27]. For benchmarking purpose, we used Wisconsin benchmark and fixed 2MB as the buffer size of postgresql because working set of this benchmark is small. Fig. 15 shows the performance gap between LRU and LRU- WSR. The performance gap may depend on the FTL algorithm of each flash-disk uses, but we cannot examine because manufacturers does not open FTL layer of their flash

8 1222 disks to the public. In the Fig. 14, the performance of LRU- WSR is up to 2 times faster than LRU and 1.4 times faster than LRU on the average. Among all flash disks, LRU-WSR always outperforms LRU algorithm, so it proves LRU-WSR is effective for flash memory storage. Fig. 14. Performance under PostgreSQL on Linux OS using various manufacturer s USB type flash memory V. CONCLUSION In a flash memory, a write operation is much slower than a read operation, and an erase operation is much slower than a write operation. Reducing the number of write requests only may deteriorate the I/O overall performance by decreasing the buffer hit-ratio. For the overall performance of a flash memory system, the buffer replacement algorithms should focus on reducing the number of write requests as well as the number of read requests while considering the asymmetric read/write latencies. In this paper, we proposed a new add-on policy for buffer replacement in a flash memory, WSR (Write Sequence Reordering), that reorders writes of not-cold dirty pages only. To avoid keeping cold pages in the buffer, we used cold-page detection. To show the effectiveness of WSR policy we have developed LRU-WSR algorithms by adding the WSR policy to LRU buffer replacement algorithms. We performed the trace-drive simulation using four kinds of traces representing various kinds of access patterns. Our tracedriven simulation results show that LRU-WSR algorithm improves the overall performance significantly by up to 1.4 times faster than LRU algorithm by effectively reducing the number of physical write and erase operations. Also, integration into PostgreSQL shows that the performance of LRU-WSR is 1.4 times faster than LRU algorithm on the average. ACKNOWLEDGMENTS We are grateful to Dr. Song Jiang at Los Alamos National Laboratory for the simulator and the trace data in [10], and also to Ali R. Butt at Virginia Polytechnic Institute and State University for the Accusim simulator, the trace data, and modified Linux strace toolkit in [24]. Finally we thanks to Kyung-hoon Yoon at Hanyang University for the IPSINS simulator of buffer manager and FTL. IEEE Transactions on Consumer Electronics, Vol. 54, No. 3, AUGUST 2008 REFERENCES [1] H. Kim, S. Lee, A new flash memory management for flash storage system, In 32nd Annual Intl. Computer Science and Applications Conference, Oct [2] Sunhwa Park, Seong-Young Ohm, New techniques for real-time FAT file system in mobile multimedia devices, IEEE Trans. Consumer Electron., Vol. 52, No. 1, pp1 9, Feb [3] Chanik Park, Jeong-Uk Kang, Seon-Yeong Park, Jin-Soo Kim, Energyaware demand paging on NAND flash-based embedded storages. Proc. of the 2004 Intl. Symposium on Low Power Electronics and Design, pp , [4] A. Kawaguchi, S. Nishioka, H. Motoda, A Flash Memory Based File System. Proc. of the USENIX Technical Conference, 1995 [5] M. L. Chiang, C. H. Paul, R. C. Chang: Manage flash memory in personal communicate devices. Proc. of IEEE Intl. Symposium on Consumer Electronics, (1997) [6] [7] Samsung Electronics: NAND flash memory & SmartMedia data book, 2004 [8] Arie Tal: Two Technologies Compared: Nor vs. NAND White Paper. C1DE21986D28/77/NOR_vs_NAND6.pdf [9] Eran Gal, Sivan Toledo: Mapping Structures for Flash Memories: Techniques and Open Problems. Proc. of the IEEE Intl. Conference on Software-Science, Technology and Engineering (2005) [10] Song Jiang, Xiaodong Zhang: LIRS: an efficient low inter-reference recency set replacement policy to improve buffer cache performance, ACM SIGMETRICS Performance Evaluation Review archive (2002) Vol. 30, Issue 1 pp31-42 [11] Nimrod Megiddo, Dharmendra Modha: ARC: A Self-Tuning, Low Overhead Replacement Cache. Proc. 2nd USENIX Conference on File and Storage Technologies (FAST 03) (2003) [12] Donghee Lee, Jongmoo Choi et al.,lrfu: A Spectrum of Policies that Subsumes the Least Recently Used and Least Frequently Used Policies, IEEE TRANSACTIONS ON COMPUTERS, VOL. 50, NO. 12, (DEC 2001). [13] Theodore Johnson, Dennis Shasha, 2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm, Proceedings of the Twentieth International Conference on Very Large Databases [14] S. Jiang, F. Chen and X. Zhang: CLOCK-Pro: An Effective Improvement of the CLOCK Replacement, Proc. Of USENIX 05, April [15] 20. E. J. O Neil, P. E. O Neil, and G.Weikum: The LRU-K Page Replacement Algorithm for Database Disk Buffering, Proc.of SIGMOD 93, [16] Heesung Jo, Jin-Soo Kim et al., FAB: Flash-Aware Buffer Management Policy for Portable Media Players, IEEE Trans. Consumer Electron., Vol. 52, No. 2, pp , May [17] Jen-Wei Hsieh, Li-Pin Chang, Tei-Wei Kuo: Efficient On-line Identification of Hot Data for Flash-memory Management. Proc. of the 2005 ACM symposium on Applied computing (2005) [18] Suman Nath, Aman Kansal, FlashDB: Dynamic Self-tuning Database for NAND Flash, Microsoft white paper, MSR-TR , 2006 [19] Li-Pin Chang, Tei-Wei Kuo. An Adaptive Striping Architecture for Flash Memory Storage Systems of Embedded Systems. Proceeding of the 8th IEEE Real-Time and Embedded Technology and Applications Symposium (2002) [20] A. Sliberschantz et al: Operating System Concepts. 6th ed., John Wiley & Sons, Inc. (2004) [21] Dina Bitton et al.: A retrospective on the Wisconsin benchmark. Readings in database systems, Morgan Kaufmann Publishers Inc. (1988) [22] [23] [24] Ali R. Butt, Chris Gniady, Y. Charlie Hu: The Performance Impact of Kernel Prefetching on Buffer Cache Replacement Algorithms, Proc. of the 2005 ACM SIGMETRICS intl. conference on Measurement and modeling of computer systems (2005) [25] [26] [27] SanDisk_Cruzer_Micro_USB_Flash_Drive.aspx

9 H. Jung et al.: LRU-WSR: Integration of LRU and Writes Sequence Reordering for Flash Memory 1223 Hoyoung Jung received his BS degree in Material Science and Engineering and MS degree in Information and Communications from Hanyang University, Seoul, Korea in 2004, 2006, respectively. He is currently Ph.D candidate at the school of Electronics and Computer Engineering, Hanyang University. His research interests include DBMS, flash memory, storage system, and embedded system. Sungmin Park received his BS degree in Computer Education and MS degree in Electronics and Computer Engineering, Hanyang University in 2005, 2007, respectively. He is currently Ph.D student at the school of Electronics and Computer Engineering, Hanyang University. His research interests include file system and flash memory based storage system. Hyoki Shim received his BS degree in Urban Enginerring, Hanyang University in He is currently a graduate student at the school of Electronics and Computer Engineering, Hanyang University. His research interests include DBMS, file system and flash memory based storage system. Sooyong Kang received his B.S. degree in mathematics and the M.S. and Ph.D degrees in computer science, all from Seoul National University (SNU), Seoul, Korea, in 1996, 1998 and 2002, respectively. He was then a Postdoctoral Researcher in the School of Computer Science and Engineering, SNU. He is now with the Department of Computer Science Education, Hanyang University, Seoul. His research interests include multimedia systems, especially multimedia data transmission system and multimedia storage system. He is also interested in the security area including secure communication on the Internet, intrusion detection systems and attack detection systems Jaehyuk Cha received his B.S., M.S. and Ph.D degrees in computer science, all from Seoul National University (SNU), Seoul, Korea, in 1987, 1991 and 1997, respectively. He worked for Korea Research Information Center (KRIC) from From 1998, He taught in Dept. of Computer Education, Hanyang University. He is now an associate professor of the Dept. of Information and Communications, Hanyang University. His research interests include XML, DBMS, flash memory based storage system, multimedia contents adaptation, e-learning and etc.

A Memory Management Scheme for Hybrid Memory Architecture in Mission Critical Computers

A Memory Management Scheme for Hybrid Memory Architecture in Mission Critical Computers A Memory Management Scheme for Hybrid Memory Architecture in Mission Critical Computers Soohyun Yang and Yeonseung Ryu Department of Computer Engineering, Myongji University Yongin, Gyeonggi-do, Korea

More information

Page Mapping Scheme to Support Secure File Deletion for NANDbased Block Devices

Page Mapping Scheme to Support Secure File Deletion for NANDbased Block Devices Page Mapping Scheme to Support Secure File Deletion for NANDbased Block Devices Ilhoon Shin Seoul National University of Science & Technology ilhoon.shin@snut.ac.kr Abstract As the amount of digitized

More information

BPCLC: An Efficient Write Buffer Management Scheme for Flash-Based Solid State Disks

BPCLC: An Efficient Write Buffer Management Scheme for Flash-Based Solid State Disks BPCLC: An Efficient Write Buffer Management Scheme for Flash-Based Solid State Disks Hui Zhao 1, Peiquan Jin *1, Puyuan Yang 1, Lihua Yue 1 1 School of Computer Science and Technology, University of Science

More information

Performance Trade-Offs in Using NVRAM Write Buffer for Flash Memory-Based Storage Devices

Performance Trade-Offs in Using NVRAM Write Buffer for Flash Memory-Based Storage Devices Performance Trade-Offs in Using NVRAM Write Buffer for Flash Memory-Based Storage Devices Sooyong Kang, Sungmin Park, Hoyoung Jung, Hyoki Shim, and Jaehyuk Cha IEEE TRANSACTIONS ON COMPUTERS, VOL. 8, NO.,

More information

CFDC A Flash-aware Replacement Policy for Database Buffer Management

CFDC A Flash-aware Replacement Policy for Database Buffer Management CFDC A Flash-aware Replacement Policy for Database Buffer Management Yi Ou University of Kaiserslautern Germany Theo Härder University of Kaiserslautern Germany Peiquan Jin University of Science and Technology

More information

A Buffer Replacement Algorithm Exploiting Multi-Chip Parallelism in Solid State Disks

A Buffer Replacement Algorithm Exploiting Multi-Chip Parallelism in Solid State Disks A Buffer Replacement Algorithm Exploiting Multi-Chip Parallelism in Solid State Disks Jinho Seol, Hyotaek Shim, Jaegeuk Kim, and Seungryoul Maeng Division of Computer Science School of Electrical Engineering

More information

Storage Architecture and Software Support for SLC/MLC Combined Flash Memory

Storage Architecture and Software Support for SLC/MLC Combined Flash Memory Storage Architecture and Software Support for SLC/MLC Combined Flash Memory Soojun Im and Dongkun Shin Sungkyunkwan University Suwon, Korea {lang33, dongkun}@skku.edu ABSTRACT We propose a novel flash

More information

FAB: Flash-Aware Buffer Management Policy for Portable Media Players

FAB: Flash-Aware Buffer Management Policy for Portable Media Players H. Jo et al.: FAB: Flash-Aware Buffer Management Policy for Portable Media Players 485 FAB: Flash-Aware Buffer Management Policy for Portable Media Players Heeseung Jo, Jeong-Uk Kang, Seon-Yeong Park,

More information

744 IEEE TRANSACTIONS ON COMPUTERS, VOL. 58, NO. 6, JUNE 2009

744 IEEE TRANSACTIONS ON COMPUTERS, VOL. 58, NO. 6, JUNE 2009 744 IEEE TRANSACTIONS ON COMPUTERS, VOL. 58, NO. 6, JUNE 2009 Performance Trade-Offs in Using NVRAM Write Buffer for Flash Memory-Based Storage Devices Sooyong Kang, Sungmin Park, Hoyoung Jung, Hyoki Shim,

More information

LAST: Locality-Aware Sector Translation for NAND Flash Memory-Based Storage Systems

LAST: Locality-Aware Sector Translation for NAND Flash Memory-Based Storage Systems : Locality-Aware Sector Translation for NAND Flash Memory-Based Storage Systems Sungjin Lee, Dongkun Shin, Young-Jin Kim and Jihong Kim School of Information and Communication Engineering, Sungkyunkwan

More information

Migration Based Page Caching Algorithm for a Hybrid Main Memory of DRAM and PRAM

Migration Based Page Caching Algorithm for a Hybrid Main Memory of DRAM and PRAM Migration Based Page Caching Algorithm for a Hybrid Main Memory of DRAM and PRAM Hyunchul Seok Daejeon, Korea hcseok@core.kaist.ac.kr Youngwoo Park Daejeon, Korea ywpark@core.kaist.ac.kr Kyu Ho Park Deajeon,

More information

Design of Flash-Based DBMS: An In-Page Logging Approach

Design of Flash-Based DBMS: An In-Page Logging Approach SIGMOD 07 Design of Flash-Based DBMS: An In-Page Logging Approach Sang-Won Lee School of Info & Comm Eng Sungkyunkwan University Suwon,, Korea 440-746 wonlee@ece.skku.ac.kr Bongki Moon Department of Computer

More information

CFLRU:A A Replacement Algorithm for Flash Memory

CFLRU:A A Replacement Algorithm for Flash Memory CFLRU:A A Replacement Algorithm for Flash Memory CASES'06, October 23 25, 2006, Seoul, Korea. Copyright 2006 ACM 1-59593-543-6/06/0010 Yen-Ting Liu Outline Introduction CFLRU Algorithm Simulation Implementation

More information

STAFF: State Transition Applied Fast Flash Translation Layer

STAFF: State Transition Applied Fast Flash Translation Layer STAFF: State Transition Applied Fast Flash Translation Layer Tae-Sun Chung, Stein Park, Myung-Jin Jung, and Bumsoo Kim Software Center, Samsung Electronics, Co., Ltd., Seoul 135-893, KOREA {ts.chung,steinpark,m.jung,bumsoo}@samsung.com

More information

Page Replacement for Write References in NAND Flash Based Virtual Memory Systems

Page Replacement for Write References in NAND Flash Based Virtual Memory Systems Regular Paper Journal of Computing Science and Engineering, Vol. 8, No. 3, September 2014, pp. 1-16 Page Replacement for Write References in NAND Flash Based Virtual Memory Systems Hyejeong Lee and Hyokyung

More information

Clustered Page-Level Mapping for Flash Memory-Based Storage Devices

Clustered Page-Level Mapping for Flash Memory-Based Storage Devices H. Kim and D. Shin: ed Page-Level Mapping for Flash Memory-Based Storage Devices 7 ed Page-Level Mapping for Flash Memory-Based Storage Devices Hyukjoong Kim and Dongkun Shin, Member, IEEE Abstract Recent

More information

Efficient Page Caching Algorithm with Prediction and Migration for a Hybrid Main Memory

Efficient Page Caching Algorithm with Prediction and Migration for a Hybrid Main Memory Efficient Page Caching Algorithm with Prediction and Migration for a Hybrid Main Memory Hyunchul Seok, Youngwoo Park, Ki-Woong Park, and Kyu Ho Park KAIST Daejeon, Korea {hcseok, ywpark, woongbak}@core.kaist.ac.kr

More information

System Software for Flash Memory: A Survey

System Software for Flash Memory: A Survey System Software for Flash Memory: A Survey Tae-Sun Chung 1, Dong-Joo Park 2, Sangwon Park 3, Dong-Ho Lee 4, Sang-Won Lee 5, and Ha-Joo Song 6 1 College of Information Technoloty, Ajou University, Korea

More information

A Mixed Flash Translation Layer Structure for SLC-MLC Combined Flash Memory System

A Mixed Flash Translation Layer Structure for SLC-MLC Combined Flash Memory System A Mixed Flash Translation Layer Structure for SLC-MLC Combined Flash Memory System Seung-Ho Park, Jung-Wook Park, Jong-Min Jeong, Jung-Hwan Kim, Shin-Dug Kim Department of Computer Science, Yonsei University,

More information

SFS: Random Write Considered Harmful in Solid State Drives

SFS: Random Write Considered Harmful in Solid State Drives SFS: Random Write Considered Harmful in Solid State Drives Changwoo Min 1, 2, Kangnyeon Kim 1, Hyunjin Cho 2, Sang-Won Lee 1, Young Ik Eom 1 1 Sungkyunkwan University, Korea 2 Samsung Electronics, Korea

More information

Buffer Caching Algorithms for Storage Class RAMs

Buffer Caching Algorithms for Storage Class RAMs Issue 1, Volume 3, 29 Buffer Caching Algorithms for Storage Class RAMs Junseok Park, Hyunkyoung Choi, Hyokyung Bahn, and Kern Koh Abstract Due to recent advances in semiconductor technologies, storage

More information

LETTER Solid-State Disk with Double Data Rate DRAM Interface for High-Performance PCs

LETTER Solid-State Disk with Double Data Rate DRAM Interface for High-Performance PCs IEICE TRANS. INF. & SYST., VOL.E92 D, NO.4 APRIL 2009 727 LETTER Solid-State Disk with Double Data Rate DRAM Interface for High-Performance PCs Dong KIM, Kwanhu BANG, Seung-Hwan HA, Chanik PARK, Sung Woo

More information

LBM: A Low-power Buffer Management Policy for Heterogeneous Storage in Mobile Consumer Devices

LBM: A Low-power Buffer Management Policy for Heterogeneous Storage in Mobile Consumer Devices LBM: A Low-power Buffer Management Policy for Heterogeneous Storage in Mobile Consumer Devices Hyojung Kang Department of Computer Science, Ewha University, Seoul, Korea Junseok Park Semiconductor Business,

More information

Intelligent Garbage Collection Policy Based on I/O Workload Prediction for NAND Flash-based Storage Devices

Intelligent Garbage Collection Policy Based on I/O Workload Prediction for NAND Flash-based Storage Devices , pp.99-110 http://dx.doi.org/10.14257/ijmue.2017.12.1.09 Intelligent Garbage Collection Policy Based on I/O Workload Prediction for NAND Flash-based Storage Devices Xiaobo Ji 1, Fan Zeng 2, Mingwei Lin

More information

A Long Endurance Policy (LEP): An Improved Swap Aware Garbage Collection For NAND Flash Memory Used As A Swap Space In Electronic Devices

A Long Endurance Policy (LEP): An Improved Swap Aware Garbage Collection For NAND Flash Memory Used As A Swap Space In Electronic Devices International Journal of Scientific & Engineering Research Volume 3, Issue 6, June-2012 1 A Long Endurance Policy (LEP): An Improved Swap Aware Garbage Collection For NAND Flash Memory Used As A Swap Space

More information

Cooperating Write Buffer Cache and Virtual Memory Management for Flash Memory Based Systems

Cooperating Write Buffer Cache and Virtual Memory Management for Flash Memory Based Systems Cooperating Write Buffer Cache and Virtual Memory Management for Flash Memory Based Systems Liang Shi, Chun Jason Xue and Xuehai Zhou Joint Research Lab of Excellence, CityU-USTC Advanced Research Institute,

More information

Chapter 12 Wear Leveling for PCM Using Hot Data Identification

Chapter 12 Wear Leveling for PCM Using Hot Data Identification Chapter 12 Wear Leveling for PCM Using Hot Data Identification Inhwan Choi and Dongkun Shin Abstract Phase change memory (PCM) is the best candidate device among next generation random access memory technologies.

More information

Computer Sciences Department

Computer Sciences Department Computer Sciences Department SIP: Speculative Insertion Policy for High Performance Caching Hongil Yoon Tan Zhang Mikko H. Lipasti Technical Report #1676 June 2010 SIP: Speculative Insertion Policy for

More information

A Caching-Oriented FTL Design for Multi-Chipped Solid-State Disks. Yuan-Hao Chang, Wei-Lun Lu, Po-Chun Huang, Lue-Jane Lee, and Tei-Wei Kuo

A Caching-Oriented FTL Design for Multi-Chipped Solid-State Disks. Yuan-Hao Chang, Wei-Lun Lu, Po-Chun Huang, Lue-Jane Lee, and Tei-Wei Kuo A Caching-Oriented FTL Design for Multi-Chipped Solid-State Disks Yuan-Hao Chang, Wei-Lun Lu, Po-Chun Huang, Lue-Jane Lee, and Tei-Wei Kuo 1 June 4, 2011 2 Outline Introduction System Architecture A Multi-Chipped

More information

University of Kaiserslautern Department of Computer Science Database and Information Systems. Caching for flash-based databases

University of Kaiserslautern Department of Computer Science Database and Information Systems. Caching for flash-based databases University of Kaiserslautern Department of Computer Science Database and Information Systems Caching for flash-based databases Summer Semester 2013 Table of Contents Abstract.......................................................

More information

NLE-FFS: A Flash File System with PRAM for Non-linear Editing

NLE-FFS: A Flash File System with PRAM for Non-linear Editing 16 IEEE Transactions on Consumer Electronics, Vol. 55, No. 4, NOVEMBER 9 NLE-FFS: A Flash File System with PRAM for Non-linear Editing Man-Keun Seo, Sungahn Ko, Youngwoo Park, and Kyu Ho Park, Member,

More information

Clean First or Dirty First? A Cost-Aware Self-Adaptive Buffer Replacement Policy

Clean First or Dirty First? A Cost-Aware Self-Adaptive Buffer Replacement Policy Clean First or Dirty First? A Cost-Aware Self-Adaptive Buffer Replacement Policy Yi Ou University of Kaiserslautern Germany ou@cs.uni-kl.de Theo Härder University of Kaiserslautern Germany haerder@cs.uni-kl.de

More information

SF-LRU Cache Replacement Algorithm

SF-LRU Cache Replacement Algorithm SF-LRU Cache Replacement Algorithm Jaafar Alghazo, Adil Akaaboune, Nazeih Botros Southern Illinois University at Carbondale Department of Electrical and Computer Engineering Carbondale, IL 6291 alghazo@siu.edu,

More information

SSD Garbage Collection Detection and Management with Machine Learning Algorithm 1

SSD Garbage Collection Detection and Management with Machine Learning Algorithm 1 , pp.197-206 http//dx.doi.org/10.14257/ijca.2018.11.4.18 SSD Garbage Collection Detection and Management with Machine Learning Algorithm 1 Jung Kyu Park 1 and Jaeho Kim 2* 1 Department of Computer Software

More information

A Reliable B-Tree Implementation over Flash Memory

A Reliable B-Tree Implementation over Flash Memory A Reliable B-Tree Implementation over Flash Xiaoyan Xiang, Lihua Yue, Zhanzhan Liu, Peng Wei Department of Computer Science and Technology University of Science and Technology of China, Hefei, P.R.China

More information

Using Transparent Compression to Improve SSD-based I/O Caches

Using Transparent Compression to Improve SSD-based I/O Caches Using Transparent Compression to Improve SSD-based I/O Caches Thanos Makatos, Yannis Klonatos, Manolis Marazakis, Michail D. Flouris, and Angelos Bilas {mcatos,klonatos,maraz,flouris,bilas}@ics.forth.gr

More information

Reorder the Write Sequence by Virtual Write Buffer to Extend SSD s Lifespan

Reorder the Write Sequence by Virtual Write Buffer to Extend SSD s Lifespan Reorder the Write Sequence by Virtual Write Buffer to Extend SSD s Lifespan Zhiguang Chen, Fang Liu, and Yimo Du School of Computer, National University of Defense Technology Changsha, China chenzhiguanghit@gmail.com,

More information

OpenSSD Platform Simulator to Reduce SSD Firmware Test Time. Taedong Jung, Yongmyoung Lee, Ilhoon Shin

OpenSSD Platform Simulator to Reduce SSD Firmware Test Time. Taedong Jung, Yongmyoung Lee, Ilhoon Shin OpenSSD Platform Simulator to Reduce SSD Firmware Test Time Taedong Jung, Yongmyoung Lee, Ilhoon Shin Department of Electronic Engineering, Seoul National University of Science and Technology, South Korea

More information

Journal Remap-Based FTL for Journaling File System with Flash Memory

Journal Remap-Based FTL for Journaling File System with Flash Memory Journal Remap-Based FTL for Journaling File System with Flash Memory Seung-Ho Lim, Hyun Jin Choi, and Kyu Ho Park Computer Engineering Research Laboratory, Department of Electrical Engineering and Computer

More information

Efficient Allocation Algorithms for FLASH File Systems

Efficient Allocation Algorithms for FLASH File Systems Efficient Allocation Algorithms for FLASH File Systems Li-Fu Chou Pangfeng Liu Department of Computer and Information Engineering National Taiwan University pangfeng@csie.ntu.edu.tw Abstract Embedded systems

More information

Baoping Wang School of software, Nanyang Normal University, Nanyang , Henan, China

Baoping Wang School of software, Nanyang Normal University, Nanyang , Henan, China doi:10.21311/001.39.7.41 Implementation of Cache Schedule Strategy in Solid-state Disk Baoping Wang School of software, Nanyang Normal University, Nanyang 473061, Henan, China Chao Yin* School of Information

More information

A New Cache Management Approach for Transaction Processing on Flash-based Database

A New Cache Management Approach for Transaction Processing on Flash-based Database A New Cache Management Approach for Transaction Processing on Flash-based Database Da Zhou Information school Renmin University of China Beijing, Country e-mail:cadizhou@gmail.com Xiaofeng Meng Information

More information

Comparison and Analysis of Various Buffer Cache Management Strategies for Database Management System

Comparison and Analysis of Various Buffer Cache Management Strategies for Database Management System Comparison and Analysis of Various Buffer Cache Management Strategies for Database Management System Priti M Tailor 1, Prof. Rustom D. Morena 2 1 Assistant Professor, Sutex Bank College of Computer App.

More information

S-FTL: An Efficient Address Translation for Flash Memory by Exploiting Spatial Locality

S-FTL: An Efficient Address Translation for Flash Memory by Exploiting Spatial Locality S-FTL: An Efficient Address Translation for Flash Memory by Exploiting Spatial Locality Song Jiang, Lei Zhang, Xinhao Yuan, Hao Hu, and Yu Chen Department of Electrical and Computer Engineering Wayne State

More information

VSSIM: Virtual Machine based SSD Simulator

VSSIM: Virtual Machine based SSD Simulator 29 th IEEE Conference on Mass Storage Systems and Technologies (MSST) Long Beach, California, USA, May 6~10, 2013 VSSIM: Virtual Machine based SSD Simulator Jinsoo Yoo, Youjip Won, Joongwoo Hwang, Sooyong

More information

arxiv: v1 [cs.os] 24 Jun 2015

arxiv: v1 [cs.os] 24 Jun 2015 Optimize Unsynchronized Garbage Collection in an SSD Array arxiv:1506.07566v1 [cs.os] 24 Jun 2015 Abstract Da Zheng, Randal Burns Department of Computer Science Johns Hopkins University Solid state disks

More information

Virtual Memory. Reading. Sections 5.4, 5.5, 5.6, 5.8, 5.10 (2) Lecture notes from MKP and S. Yalamanchili

Virtual Memory. Reading. Sections 5.4, 5.5, 5.6, 5.8, 5.10 (2) Lecture notes from MKP and S. Yalamanchili Virtual Memory Lecture notes from MKP and S. Yalamanchili Sections 5.4, 5.5, 5.6, 5.8, 5.10 Reading (2) 1 The Memory Hierarchy ALU registers Cache Memory Memory Memory Managed by the compiler Memory Managed

More information

SUPA: A Single Unified Read-Write Buffer and Pattern-Change-Aware FTL for the High Performance of Multi-Channel SSD

SUPA: A Single Unified Read-Write Buffer and Pattern-Change-Aware FTL for the High Performance of Multi-Channel SSD SUPA: A Single Unified Read-Write Buffer and Pattern-Change-Aware FTL for the High Performance of Multi-Channel SSD DONGJIN KIM, KYU HO PARK, and CHAN-HYUN YOUN, KAIST To design the write buffer and flash

More information

Solid State Drives (SSDs) Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Solid State Drives (SSDs) Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University Solid State Drives (SSDs) Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Memory Types FLASH High-density Low-cost High-speed Low-power High reliability

More information

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. 5 th. Edition. Chapter 5. Large and Fast: Exploiting Memory Hierarchy

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. 5 th. Edition. Chapter 5. Large and Fast: Exploiting Memory Hierarchy COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface 5 th Edition Chapter 5 Large and Fast: Exploiting Memory Hierarchy Principle of Locality Programs access a small proportion of their address

More information

Program-Counter-Based Pattern Classification in Buffer Caching

Program-Counter-Based Pattern Classification in Buffer Caching Program-Counter-Based Pattern Classification in Buffer Caching Chris Gniady Ali R. Butt Y. Charlie Hu Purdue University West Lafayette, IN 47907 {gniady, butta, ychu}@purdue.edu Abstract Program-counter-based

More information

MTD Based Compressed Swapping for Embedded Linux.

MTD Based Compressed Swapping for Embedded Linux. MTD Based Compressed Swapping for Embedded Linux. Alexander Belyakov, alexander.belyakov@intel.com http://mtd-mods.wiki.sourceforge.net/mtd+based+compressed+swapping Introduction and Motivation Memory

More information

The Impact of Write Back on Cache Performance

The Impact of Write Back on Cache Performance The Impact of Write Back on Cache Performance Daniel Kroening and Silvia M. Mueller Computer Science Department Universitaet des Saarlandes, 66123 Saarbruecken, Germany email: kroening@handshake.de, smueller@cs.uni-sb.de,

More information

Flexible Cache Cache for afor Database Management Management Systems Systems Radim Bača and David Bednář

Flexible Cache Cache for afor Database Management Management Systems Systems Radim Bača and David Bednář Flexible Cache Cache for afor Database Management Management Systems Systems Radim Bača and David Bednář Department ofradim Computer Bača Science, and Technical David Bednář University of Ostrava Czech

More information

Flash Memory Based Storage System

Flash Memory Based Storage System Flash Memory Based Storage System References SmartSaver: Turning Flash Drive into a Disk Energy Saver for Mobile Computers, ISLPED 06 Energy-Aware Flash Memory Management in Virtual Memory System, islped

More information

ACR: an Adaptive Cost-Aware Buffer Replacement Algorithm for Flash Storage Devices

ACR: an Adaptive Cost-Aware Buffer Replacement Algorithm for Flash Storage Devices Eleventh International Conference on Mobile Data Management ACR: an Adaptive Cost-Aware Buffer Replacement Algorithm for Flash Storage Devices Xian Tang, Xiaofeng Meng School of Information, Renmin University

More information

CHAPTER 6 Memory. CMPS375 Class Notes Page 1/ 16 by Kuo-pao Yang

CHAPTER 6 Memory. CMPS375 Class Notes Page 1/ 16 by Kuo-pao Yang CHAPTER 6 Memory 6.1 Memory 233 6.2 Types of Memory 233 6.3 The Memory Hierarchy 235 6.3.1 Locality of Reference 237 6.4 Cache Memory 237 6.4.1 Cache Mapping Schemes 239 6.4.2 Replacement Policies 247

More information

Unit 2 Buffer Pool Management

Unit 2 Buffer Pool Management Unit 2 Buffer Pool Management Based on: Sections 9.4, 9.4.1, 9.4.2 of Ramakrishnan & Gehrke (text); Silberschatz, et. al. ( Operating System Concepts ); Other sources Original slides by Ed Knorr; Updates

More information

Delayed Partial Parity Scheme for Reliable and High-Performance Flash Memory SSD

Delayed Partial Parity Scheme for Reliable and High-Performance Flash Memory SSD Delayed Partial Parity Scheme for Reliable and High-Performance Flash Memory SSD Soojun Im School of ICE Sungkyunkwan University Suwon, Korea Email: lang33@skku.edu Dongkun Shin School of ICE Sungkyunkwan

More information

Optimizing Translation Information Management in NAND Flash Memory Storage Systems

Optimizing Translation Information Management in NAND Flash Memory Storage Systems Optimizing Translation Information Management in NAND Flash Memory Storage Systems Qi Zhang 1, Xuandong Li 1, Linzhang Wang 1, Tian Zhang 1 Yi Wang 2 and Zili Shao 2 1 State Key Laboratory for Novel Software

More information

Presented by: Nafiseh Mahmoudi Spring 2017

Presented by: Nafiseh Mahmoudi Spring 2017 Presented by: Nafiseh Mahmoudi Spring 2017 Authors: Publication: Type: ACM Transactions on Storage (TOS), 2016 Research Paper 2 High speed data processing demands high storage I/O performance. Flash memory

More information

Virtual-ROM: A New Demand Paging Component for RTOS and NAND Flash Memory Based Mobile Devices

Virtual-ROM: A New Demand Paging Component for RTOS and NAND Flash Memory Based Mobile Devices Virtual-ROM: A New Demand Paging Component for RTOS and NAND Flash Memory Based Mobile Devices Hyojun Kim, Jihyun In, DongHoon Ham, SongHo Yoon, and Dongkun Shin Samsung Electronics, Software Laboratories,

More information

HAT: An Efficient Buffer Management Method for Flash-based Hybrid Storage Systems

HAT: An Efficient Buffer Management Method for Flash-based Hybrid Storage Systems Front.Comput.Sci. DOI RESEARCH ARTICLE HAT: An Efficient Buffer Management Method for Flash-based Hybrid Storage Systems Yanfei LV 1,2, Bin CUI 1, Xuexuan CHEN 1, Jing LI 3 1 Department of Computer Science

More information

NAND Flash-based Storage. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

NAND Flash-based Storage. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University NAND Flash-based Storage Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics NAND flash memory Flash Translation Layer (FTL) OS implications

More information

Chapter 5. Large and Fast: Exploiting Memory Hierarchy

Chapter 5. Large and Fast: Exploiting Memory Hierarchy Chapter 5 Large and Fast: Exploiting Memory Hierarchy Principle of Locality Programs access a small proportion of their address space at any time Temporal locality Items accessed recently are likely to

More information

A Working-set Sensitive Page Replacement Policy for PCM-based Swap Systems

A Working-set Sensitive Page Replacement Policy for PCM-based Swap Systems JOURNAL OF SEMICONDUCTOR TECHNOLOGY AND SCIENCE, VOL.17, NO.1, FEBRUARY, 217 ISSN(Print) 1598-1657 https://doi.org/1.5573/jsts.217.17.1.7 ISSN(Online) 2233-4866 A Working-set Sensitive Page Replacement

More information

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 13 Virtual memory and memory management unit In the last class, we had discussed

More information

Cache Controller with Enhanced Features using Verilog HDL

Cache Controller with Enhanced Features using Verilog HDL Cache Controller with Enhanced Features using Verilog HDL Prof. V. B. Baru 1, Sweety Pinjani 2 Assistant Professor, Dept. of ECE, Sinhgad College of Engineering, Vadgaon (BK), Pune, India 1 PG Student

More information

Design and Implementation of a Random Access File System for NVRAM

Design and Implementation of a Random Access File System for NVRAM This article has been accepted and published on J-STAGE in advance of copyediting. Content is final as presented. IEICE Electronics Express, Vol.* No.*,*-* Design and Implementation of a Random Access

More information

Outline. 1 Paging. 2 Eviction policies. 3 Thrashing 1 / 28

Outline. 1 Paging. 2 Eviction policies. 3 Thrashing 1 / 28 Outline 1 Paging 2 Eviction policies 3 Thrashing 1 / 28 Paging Use disk to simulate larger virtual than physical mem 2 / 28 Working set model # of accesses virtual address Disk much, much slower than memory

More information

Bitmap discard operation for the higher utilization of flash memory storage

Bitmap discard operation for the higher utilization of flash memory storage LETTER IEICE Electronics Express, Vol.13, No.2, 1 10 Bitmap discard operation for the higher utilization of flash memory storage Seung-Ho Lim 1a) and Woo Hyun Ahn 2b) 1 Division of Computer and Electronic

More information

Visualizing Page Replacement Techniques based on Page Frequency and Memory Access Pattern

Visualizing Page Replacement Techniques based on Page Frequency and Memory Access Pattern Visualizing Page Replacement Techniques based on Page Frequency and Memory Access Pattern Ruchin Gupta, Narendra Teotia Information Technology, Ajay Kumar Garg Engineering College Ghaziabad, India Abstract

More information

Chapter 14 HARD: Host-Level Address Remapping Driver for Solid-State Disk

Chapter 14 HARD: Host-Level Address Remapping Driver for Solid-State Disk Chapter 14 HARD: Host-Level Address Remapping Driver for Solid-State Disk Young-Joon Jang and Dongkun Shin Abstract Recent SSDs use parallel architectures with multi-channel and multiway, and manages multiple

More information

NBM: An Efficient Cache Replacement Algorithm for Nonvolatile Buffer Caches

NBM: An Efficient Cache Replacement Algorithm for Nonvolatile Buffer Caches : An Efficient Cache Replacement Algorithm for Nonvolatile Buffer Caches JUNSEOK PARK and KERN KOH Seoul National University 56-1 Shillim-dong, Kwanak-gu, Seoul, 151-742 REPUBLIC OF KOREA HYUNKYOUNG CHOI

More information

Memory Technology. Chapter 5. Principle of Locality. Chapter 5 Large and Fast: Exploiting Memory Hierarchy 1

Memory Technology. Chapter 5. Principle of Locality. Chapter 5 Large and Fast: Exploiting Memory Hierarchy 1 COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface Chapter 5 Large and Fast: Exploiting Memory Hierarchy 5 th Edition Memory Technology Static RAM (SRAM) 0.5ns 2.5ns, $2000 $5000 per GB Dynamic

More information

NAND Flash-based Storage. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

NAND Flash-based Storage. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University NAND Flash-based Storage Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics NAND flash memory Flash Translation Layer (FTL) OS implications

More information

A Review on Cache Memory with Multiprocessor System

A Review on Cache Memory with Multiprocessor System A Review on Cache Memory with Multiprocessor System Chirag R. Patel 1, Rajesh H. Davda 2 1,2 Computer Engineering Department, C. U. Shah College of Engineering & Technology, Wadhwan (Gujarat) Abstract

More information

Frequency-based NCQ-aware disk cache algorithm

Frequency-based NCQ-aware disk cache algorithm LETTER IEICE Electronics Express, Vol.11, No.11, 1 7 Frequency-based NCQ-aware disk cache algorithm Young-Jin Kim a) Ajou University, 206, World cup-ro, Yeongtong-gu, Suwon-si, Gyeonggi-do 443-749, Republic

More information

Demand fetching is commonly employed to bring the data

Demand fetching is commonly employed to bring the data Proceedings of 2nd Annual Conference on Theoretical and Applied Computer Science, November 2010, Stillwater, OK 14 Markov Prediction Scheme for Cache Prefetching Pranav Pathak, Mehedi Sarwar, Sohum Sohoni

More information

UNIT-V MEMORY ORGANIZATION

UNIT-V MEMORY ORGANIZATION UNIT-V MEMORY ORGANIZATION 1 The main memory of a computer is semiconductor memory.the main memory unit is basically consists of two kinds of memory: RAM (RWM):Random access memory; which is volatile in

More information

Chapter 8. Virtual Memory

Chapter 8. Virtual Memory Operating System Chapter 8. Virtual Memory Lynn Choi School of Electrical Engineering Motivated by Memory Hierarchy Principles of Locality Speed vs. size vs. cost tradeoff Locality principle Spatial Locality:

More information

CHAPTER 6 Memory. CMPS375 Class Notes (Chap06) Page 1 / 20 Dr. Kuo-pao Yang

CHAPTER 6 Memory. CMPS375 Class Notes (Chap06) Page 1 / 20 Dr. Kuo-pao Yang CHAPTER 6 Memory 6.1 Memory 341 6.2 Types of Memory 341 6.3 The Memory Hierarchy 343 6.3.1 Locality of Reference 346 6.4 Cache Memory 347 6.4.1 Cache Mapping Schemes 349 6.4.2 Replacement Policies 365

More information

SHRD: Improving Spatial Locality in Flash Storage Accesses by Sequentializing in Host and Randomizing in Device

SHRD: Improving Spatial Locality in Flash Storage Accesses by Sequentializing in Host and Randomizing in Device SHRD: Improving Spatial Locality in Flash Storage Accesses by Sequentializing in Host and Randomizing in Device Hyukjoong Kim 1, Dongkun Shin 1, Yun Ho Jeong 2 and Kyung Ho Kim 2 1 Samsung Electronics

More information

Research Article SSD Aware File System Page Cache Algorithms Designs and Implementation to Increase Switch Merge and Reduce Full Merge

Research Article SSD Aware File System Page Cache Algorithms Designs and Implementation to Increase Switch Merge and Reduce Full Merge Research Journal of Applied Sciences, Engineering and Technology 7(21): 4574-4583, 2014 DOI:10.19026/rjaset.7.836 ISSN: 2040-7459; e-issn: 2040-7467 2014 Maxwell Scientific Publication Corp. Submitted:

More information

Optimizing Fsync Performance with Dynamic Queue Depth Adaptation

Optimizing Fsync Performance with Dynamic Queue Depth Adaptation JOURNAL OF SEMICONDUCTOR TECHNOLOGY AND SCIENCE, VOL.15, NO.5, OCTOBER, 2015 ISSN(Print) 1598-1657 http://dx.doi.org/10.5573/jsts.2015.15.5.570 ISSN(Online) 2233-4866 Optimizing Fsync Performance with

More information

Data Organization and Processing

Data Organization and Processing Data Organization and Processing Indexing Techniques for Solid State Drives (NDBI007) David Hoksza http://siret.ms.mff.cuni.cz/hoksza Outline SSD technology overview Motivation for standard algorithms

More information

LS-LRU: A Lazy-Split LRU Buffer Replacement Policy for Flash-Based B + -tree Index *

LS-LRU: A Lazy-Split LRU Buffer Replacement Policy for Flash-Based B + -tree Index * JOURNAL OF INFORMATION SCIENCE AND ENGINEERING XX, XXX-XXX (2013) LS-LRU: A Lazy-Split LRU Buffer Replacement Policy for Flash-Based B + -tree Index * Department of Computer Engineering Ajou University

More information

ECE7995 Caching and Prefetching Techniques in Computer Systems. Lecture 8: Buffer Cache in Main Memory (I)

ECE7995 Caching and Prefetching Techniques in Computer Systems. Lecture 8: Buffer Cache in Main Memory (I) ECE7995 Caching and Prefetching Techniques in Computer Systems Lecture 8: Buffer Cache in Main Memory (I) 1 Review: The Memory Hierarchy Take advantage of the principle of locality to present the user

More information

A Novel Buffer Management Scheme for SSD

A Novel Buffer Management Scheme for SSD A Novel Buffer Management Scheme for SSD Qingsong Wei Data Storage Institute, A-STAR Singapore WEI_Qingsong@dsi.a-star.edu.sg Bozhao Gong National University of Singapore Singapore bzgong@nus.edu.sg Cheng

More information

Computer Architecture Memory hierarchies and caches

Computer Architecture Memory hierarchies and caches Computer Architecture Memory hierarchies and caches S Coudert and R Pacalet January 23, 2019 Outline Introduction Localities principles Direct-mapped caches Increasing block size Set-associative caches

More information

16:30 18:00, June 20 (Monday), 2011 # (even student IDs) # (odd student IDs) Scope

16:30 18:00, June 20 (Monday), 2011 # (even student IDs) # (odd student IDs) Scope Final Exam 16:30 18:00, June 20 (Monday), 2011 #440102 (even student IDs) #440112 (odd student IDs) Scope Chap. 1 5 (except 3.7, 5.7) Chap. 6.1, 6.3, 6.4 Chap. 7.1 7.6 Closed-book exam 1 Storage Jin-Soo

More information

Unit 2 Buffer Pool Management

Unit 2 Buffer Pool Management Unit 2 Buffer Pool Management Based on: Pages 318-323, 541-542, and 586-587 of Ramakrishnan & Gehrke (text); Silberschatz, et. al. ( Operating System Concepts ); Other sources Original slides by Ed Knorr;

More information

Meta Paged Flash Translation Layer

Meta Paged Flash Translation Layer Meta Paged Flash Translation Layer Abstract -- Today NAND Flash Memory is used in handheld electronic devices like mobile, cameras, ipods, music players, is also used as an alternative storage medium for

More information

NAND Flash-based Storage. Computer Systems Laboratory Sungkyunkwan University

NAND Flash-based Storage. Computer Systems Laboratory Sungkyunkwan University NAND Flash-based Storage Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics NAND flash memory Flash Translation Layer (FTL) OS implications

More information

I/O Buffer Cache Mechanism Based on the Frequency of File Usage

I/O Buffer Cache Mechanism Based on the Frequency of File Usage I/O Buffer Cache Mechanism Based on the Frequency of File Usage Tatsuya Katakami Toshihiro Tabata and Hideo Taniguchi Graduate School of Natural Science and Technology, Okayama University katakami@slab.cs.okayama-u.ac.jp,

More information

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Memory Management

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Memory Management ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part I: Operating system overview: Memory Management 1 Hardware background The role of primary memory Program

More information

Memory Hierarchies &

Memory Hierarchies & Memory Hierarchies & Cache Memory CSE 410, Spring 2009 Computer Systems http://www.cs.washington.edu/410 4/26/2009 cse410-13-cache 2006-09 Perkins, DW Johnson and University of Washington 1 Reading and

More information

A Page-Based Storage Framework for Phase Change Memory

A Page-Based Storage Framework for Phase Change Memory A Page-Based Storage Framework for Phase Change Memory Peiquan Jin, Zhangling Wu, Xiaoliang Wang, Xingjun Hao, Lihua Yue University of Science and Technology of China 2017.5.19 Outline Background Related

More information

Hibachi: A Cooperative Hybrid Cache with NVRAM and DRAM for Storage Arrays

Hibachi: A Cooperative Hybrid Cache with NVRAM and DRAM for Storage Arrays Hibachi: A Cooperative Hybrid Cache with NVRAM and DRAM for Storage Arrays Ziqi Fan, Fenggang Wu, Dongchul Park 1, Jim Diehl, Doug Voigt 2, and David H.C. Du University of Minnesota, 1 Intel, 2 HP Enterprise

More information

Cache Performance (H&P 5.3; 5.5; 5.6)

Cache Performance (H&P 5.3; 5.5; 5.6) Cache Performance (H&P 5.3; 5.5; 5.6) Memory system and processor performance: CPU time = IC x CPI x Clock time CPU performance eqn. CPI = CPI ld/st x IC ld/st IC + CPI others x IC others IC CPI ld/st

More information