RNFTL: A Reuse-Aware NAND Flash Translation Layer for Flash Memory
|
|
|
- Spencer Lambert
- 10 years ago
- Views:
Transcription
1 RNFTL: A Reuse-Aware NAND Flash Translation Layer for Flash Memory Yi Wang, DuoLiu, MengWang, ZhiweiQin, Zili Shao and Yong Guan Department of Computing College of Computer and Information Management The Hong Kong Polytechnic University Capital Normal University Hung Hom, Kowloon, Hong Kong Beijing, 148, China {csywang, csdliu, csmewang, cszqin, [email protected] cszlshao}@comp.polyu.edu.hk Abstract In this paper, we propose a hybrid-level flash translation layer (FTL) called RNFTL (Reuse-Aware NFTL) to improve the endurance and space utilization of NAND flash memory. Our basic idea is to prevent a primary block with many free s from being erased in a merge operation. The preserved primary blocks are further reused as replacement blocks. In such a way, the space utilization and the number of erase counts for each block in NAND flash can be enhanced. To the best of our knowledge, this is the first work to employ a reuse-aware strategy in FTL for improving the space utilization and endurance of NAND flash. We conduct experiments on a set of traces that collected from real workload in daily life. The experimental results show that our technique has significant improvement on space utilization, block lifetime and wear-leveling compared with the previous work. Categories and Subject Descriptors D.4. [Operating Systems]: Storage Management Secondary storage Design, Experimentation, Measurement, Perfor- General Terms mance Keywords Flash memory, endurance, space utilization, wearleveling, reuse 1. INTRODUCTION NAND flash memory is a widely used non-volatilestoragedevice that provides small size, shock resistance and low power for both general-purpose and embedded systems. However, NAND flash has some constraints that impose challenges for its management. First, NAND flash suffers from out-of-place updates. An update (re-ite) to existing data on a given physical location (known as a ) should be preceded by an erase operation on a larger region Zili Shao is the corresponding author Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. LCTES 1, April 13 1, 1, Stockholm, Sweden. Copyright c 1 ACM /1/4...$1. (known as a block). Second, NAND flash blocks have a limited erase lifetime. For example, in SAMSUNG K9F1G8UC SLC (Single-Level Cell) NAND flash, one block has 1K erase counts, while the one in SAMSUNG K9G4G8UA MLC (Multi-Level Cell) NAND flash has only K erase counts. A block becomes worn-out if its erase count reaches the limit [4]. Third, for some NAND flash management schemes, not all blocks in NAND flash get erased at the same rate, so the lifetime of specific blocks may decreases faster which would affect the usefulness of the entire flash memory. To overcome these constraints, it is very important to guarantee that erase or ite operations be evenly distributed across all blocks (known as wear-leveling). This paper aims at enhancing the lifetime and space utilization of NAND flash without many modifications to existing designs. To achieve this, we propose a reuse-aware NAND flash translation layer to reduce the erase count of each block and evenly spread out erase operations. NAND Flash is partitioned into blocks where each block usually contains 3 or 4 s, and each block is further divided into multiple s. Each contains 1B or KB for data. There are three basic operations that can be performed on a NAND flash, erase, ite, and read. A block is the smallest unit of erase operations, while a is the minimum unit of read/ite operations. According to the out-of-place specificity, data must be itten to free s. Consequently, NAND flash could run out of space after a number of ite operations, and a reclaim operation known as garbage collection [] is invoked to regenerate free space for NAND flash. To conceal these unfavorable characteristics, an intermediate software module called flash translation layer (FTL) is employed to emulate NAND flash as a block device []. The main role of FTL is to redirect logical addresses from the file system of a host into physical addresses in NAND flash, and maintains a mapping table to keep track of the mapping information. FTL not only supports address translation but also provides other useful components, such as garbage collector and wear-leveler, to optimize the space utilization and maintain the same level of wear for each block in NAND flash. Since FTL plays an important role in NAND flash management, many studies for FTL have been conducted. According to the granularity of mapping unit, FTL designs can be mainly categorized into three types [1]: -level mapping [], block-level mapping [3, ], and hybrid-level mapping [1]. The -level FTL maps a logical number into a corresponding physical in NAND flash. It can provide good address translation time, less garbage collection overhead, and high space utilization but with significant memory requirement. On the contrary, the block-level FTL maps the logical block number into a physical block number, and requires 13
2 much less mapping information. However, in block-level FTL, a logical can only be itten to a physical with the designated offset within a physical block. Thus, block-level FTL is not as good as -level FTL in terms of the flexibility and space utilization. To overcome the shortcomings of the above two mapping schemes, hybrid-level FTL is proposed to balance the space overheads and flexibility. The technique proposed in this paper is based on hybrid-level FTL. Hybrid-level FTL has been widely used, especially for largescale flash storage systems [8]. Hybrid schemes have great improvement on the performance of FTL [3,, 9, 1, 14 1]. However, most of them use the same block reclamation method, known as merge, to erase both primary (data) and replacement (log) blocks at the same time. A merge operation usually collects valid s scattered on two or more blocks (i.e., primary and replacement blocks) into one block to reclaim the other blocks. By applying such merge schemes, free s within blocks are wasted, and unnecessary erase operations can also degrade the life span of each block in NAND flash. The statistical results provided in Section 4 show that up to 4% free s in primary blocks are wasted during merge operations adopted by [9, 1, 1]. Lee et al. [13] introduce a hybrid-level FTL, migration, toreduce the block reclamation costs during merge operations. Their approach only erases replacement (log) blocks in merge operations, while the corresponding primary (data) blocks are not erased. However, a reserved primary block may permanently hold cold data, and its corresponding replacement block may be erased frequently due to update operations. Thus, the wear-leveling of their scheme can not be guaranteed and the lifetime of a primary block should be further enhanced. New techniques, therefore, are needed to address the endurance as well as wear-leveling issues in FTL management. In this paper, we propose an efficient approach called RNFTL (Reuse-Aware NFTL) to enhance the endurance and space utilization of NAND flash. Different from the previous work, we employ areusestrategythateffectivelyutilizesfreesinsideun-erased primary blocks. Our basic idea is to prevent a primary block with free s from being erased in a merge operation if the number of free s is greater than a threshold. In other words, a primary block with many free s will be preserved during merge operations such that we can effectively reduce the erase counts of blocks and enhance the endurance of NAND flash. In our technique, the un-erased primary block is considered as a dirty block and put into adirtyblocklistforfurtherreusingasareplacementblocktoenhance the space utilization and wear-leveling. To the best of our knowledge, RNFTL is the first technique to apply the reuse strategy into the flash translation layer. We conduct experiments on a set of traces collected from real workloads by DiskMon [1]. We compare our technique with a well-known implementation of block-level FTL (denoted by Original NFTL hereinafter) [] and a hybrid-level FTL (denoted by Revised NFTL hereinafter) proposed by [1]. The experimental results show that our RNFTL technique can effectively improve the space utilization and reduce the average erase count of each block. For a 18MB NAND flash memory, our RNFTL can achieve an average reduction of 93.8% and 4.89% in block erase counts, and an average improvement of 94.11% and 4.8% in space utilization compared with Original NFTL and Revised NFTL, respectively. According to the experimental results, our RNFTL can not only improve the space utilization and endurance, but also the wearleveling of NAND flash. This paper makes the following contributions: We present for the first time a reuse-aware flash translation layer for improving the space utilization, endurance and wearleveling of NAND flash. We demonstrate the effectiveness of our technique by comparing with representative techniques using a set of real traces. The rest of this paper is organized as follows. Section gives an overview of NAND flash architecture and the representative FTL implementations. Section 3 presents our RNFTL technique. Section 4 presents the experimental results. Section concludes the paper and discusses future work.. BACKGROUND In this section, we introduce the system architecture of NAND flash and the implementation of some representative FTL schemes. We first summarize the system architecture of NAND flash in Section.1. Then we revisit the implementation of well-known FTL schemes in Section.. Finally, we present the motivation of this paper in Section.3..1 NAND Flash System Architecture AtypicalNANDflashstoragesystemusuallyincludestwolayers, the Flash Translation Layer (FTL) and the Memory Technology Device (MTD) layer, as shown in Figure 1. The MTD layer provides primitive functions, such as read, ite, and erase over flash memory. The FTL emulates the flash memory as block devices so that the file systems can access the flash memory transparently. The FTL usually provides three components: address translator, garbage collector, and wear-leveler. In FTL, address translator translates addresses between Logical Block Address (LBA) and Physical Block Address (PBA); garbage collector reclaims space by erasing obsolete blocks in which there exists invalidated data; wear-leveler is an optional component that distributes erase operations evenly across all blocks, so as to extend the lifetime of flash memory. In this paper, we propose a new FTL, called RNFTL, to improve the endurance and the space utilization of NAND flash.. The Implementations of FTL In this section, we briefly introduce two representative implementations of FTL, Original NFTL [3, ] and Revised NFTL [1]. A well known block-level FTL, denoted by Original NFTL in this paper, was proposed by [3, ]. In Original NFTL, a logical block address (LBA) is divided by the number of s in a block to obtain the virtual block address (VBA) and block offset, where the VBA is the quotient, and the block offset is the remainder of the division. A block-level mapping table maps the VBA into a physical block (known as primary block). And each primary block is associated with some physical blocks (known as replacement block). To facilitate the traversing for both read and ite operations, the replacement blocks are maintained in a linked list. A ite operation to an LBA is always done to a in a primary block first, and subsequent update operations to the same LBA are made on the corresponding replacement block with the same block offset. The space utilization of Original NFTL can be degraded due to frequently update of the same LBA. To address this issue, an improved scheme,called Revised NFTL in this paper, assigns each primary block with only one replacement block. The examples of Original NFTL and Revised NFTL are shown in Figure (a) and Figure (b), respectively. In the example, each block has 8 s, and the request sequence of ite () and read (rd) operations are listed in Figure (c). For Original NFTL shown in Figure (a), the first three operations are itten to the same LBA (1). Thus, the second and third 14
3 Application 1 Application Application n Operating System File System (e.g., FAT3, NTFS) Flash Translation Layer (FTL) Address Translator (Mapping Algorithm + Mapping Table) marked as valid. The most recent copy of content can be found by reading the replacement block backwards. For example, the up-todate content for LBA is stored in 4 of the replacement block #1. When a replacement block is full, a merge operation is performed. Valid s in the replacement block and its associated primary block are copied into a new primary block while the old replacement and primary block are erased. It is noticed that the space utilization of Revised NFTL is better than that of Original NFTL. As shown in Figure, the space utilization of Revised NFTL is % (i.e., 8 s are used among two blocks), while that of Original NFTL is % (i.e., 8 s are used among four blocks). Therefore, Revised NFTL is widely used and combined with other FTL implementations [9, 1, 1]. Wear-Leveler (e.g., Dynamic WL, Static WL) Garbage Collector Memory Technology Device (MTD) Layer 1 A 1 3 B 19 4 C Primary Block # 1 A C1 Block #1 (a) 1 A C Block # C3 Block #3 Flash Memory Figure 1. Illustration of system architecture for NAND flash. ite operations update the original content A by A1 and A, respectively. As shown, two replacement blocks (#1 and #) are allocated for these update operations and added into the linked list of the primary block #. A1 is itten to 1 of the replacement block #1 with the same block offset of the primary block (the remainder of 1 ). Likewise, replacement block # is further added 8 into the linked list when A1 is updated by A,andA is also itten to the with the same block offset 1 in replacement block #. In this example, three replacement blocks are allocated in the linked list since LBA is re-itten by the content C1,C, and C3 for three times. In Original NFTL, the most recent copy of data (A)ismarkedasvalidwhiletheoldcopiesofdata(A and A1)are still marked as valid. For a read operation in Original NFTL, it is traversed to find the most recent data (i.e., valid ) among the replacement blocks in the linked list. For a ite operation, it is traversed to find the first free with the same block offset in the replacement blocks. When there comes another re-ite request and there is no free block for this request, the blocks on the longest linked list are merged into one block by copying the valid s from the primary and replacement blocks to the last replacement block in the linked list, and the last replacement block becomes a new primary block. After a merge operation, the original primary block and replacement blocks except the last one are erased and become free blocks for further usage. For Revised NFTL shown in Figure (b), when a ite operation is performed, the content of the ite operation is first itten to the with the corresponding block offset in a primary block. Different from Original NFTL, only one replacement block is assigned to each primary block to handle subsequent update operations, and the contents of the update operations are sequentially itten to the replacement block. For instance, the contents for requests 1 and are itten into the replacement block sequentially, and the with the most recent content (A and C3) is Sequence Command LBA Content 1 1 A 1 A 1 3 B 19 4 C Primary Block # 1 A1 3 1 A (b) 4 19 B (c) A1 1 1 A 1 C1 3 C 4 C3 Block #1 C C1 C 8 C3 Free Valid Invalid Rep. Block Pointer Figure. Illustration of representative FTL implementations. (a) Original NFTL. (b) Revised NFTL. (c) I/O request sequence..3 Motivation In Original NFTL and Revised NFTL, a primary block and its associated replacement block(s) are erased during a merge operation. However, many free s may exist in the erased primary block, and thus, these unused free s are wasted. Therefore, a merge operation in both of these representative FTL designs may not completely utilize all s inside a primary block. In addition, the erasure of a primary block in a merge operation may also degrade the endurance of the primary block, and further influence the average lifetime of all blocks in NAND flash. These observations motivate us to propose an approach called RNFTL (Reuse-Aware NFTL) to effectively improve the space utilization, endurance and wearleveling of NAND flash memory. 9 rd 1 1
4 3. RNFTL Reuse-Aware NFTL In this section, we introduce our RNFTL (Reuse-Aware NFTL) approach to effectively improve the space utilization, endurance and wear-leveling of NAND flash. We first give an overview of RNFTL in Section 3.1. The detailed description of RNFTL is then presented in Section 3.. Finally, we analyze some issues related to wear-leveling, extreme case and performance efficiency. 3.1 Overview As mentioned earlier, our RNFTL is different from the previous work [9, 1, 1] that erase both primary and replacement blocks at the same time in merge operations. The basic idea of RNFTL is to preserve a primary block from being erased if there are many free s inside the primary block. In our technique, each primary block only associates with one replacement block. We employ a reuse strategy to completely utilize all free s inside a preserved primary block. To achieve this, we put the preserved primary blocks (dirty blocks) into a dirty block list, in which each dirty block will be further reused as a replacement block for a new primary block. By applying RNFTL, a primary block with many unused s is reserved and reused as a replacement block to completely utilize all of its free s. Therefore, the erase count of a primary block is reduced and all s in a primary block are fully utilized. Consequently, the endurance and space utilization of all blocks can be enhanced. We show the detailed reuse strategy below. 3. The Reuse Strategy In RNFTL, the reuse strategy is performed based on the number of free s in a primary block. If there are a lot of free s in aprimaryblock,thisprimaryblockshouldnotbeerasedduring merge operations in order to fully utilize its space and reduce its erase count. On the other hand, if there only left one or two s in a primary block, this primary block can be erased like the conventional scheme, since only one or two s may not be valuable for reusing. Hence, we compare the actual free ratio (the number of free s to the number of total s of a block), denoted by α,with a predefined threshold,denoted by µ, to decide whether or not to reuse a primary block during merge operations. Two cases are explained as follows: There remains many free s in a primary block (α µ): then this primary block is preserved and reused as a replacement block, the free s in this primary block are completely utilized. There remains very few free s in a primary block (α <µ): then we discard this primary block and erase it together with the replacement block. In our technique, if a primary block is preserved for reusing, the valid s in the primary and its corresponding replacement block are first copied into a new primary block. After that, the replacement block is erased and the valid s in the preserved primary block is marked as invalid. Finally, the preserved primary block is considered as a dirty block and put into a dirty block list for reusing. If an update operation of the data in another primary block is issued, a replacement block is needed. In this case, a dirty block from the dirty block list is chose as a replacement block. If the dirty block list is empty, a new block from the free block list will become the new replacement block. In RNFTL, an update operation is traversed to find the first free in the replacement block, and a read operation first finds the up-to-date data in the replacement block backwards. An example of RNFTL is shown in Figure 3. In the example, the threshold µ is set as 3%, then a primary block will be reused if its free ratio α is greater than or equal to 3%. Otherwise, it will be erased together with the replacement block during merge operations. As shown in Figure 3(a), for the first request (ite request to LBA 1 with content A), block # is allocated from the free block list to use as a primary block. For the second request (ite request to LBA 1 with content A1), as it ites to the same LBA as that of the first request, block #1 from the free block list is allocated and used as a replacement block of the primary block #, and the 1 in the primary block # is marked as invalid. Similarly, the requests 3 to 11 will first ite to the primary block #, and the updated content will be stored in the replacement block #1. After iting C (the request 1) toreplacementblock#1, the replacement block #1 becomes full, and a merge operation is issued. Block # is chose from the head of a free block list to be anewprimaryblock,andthevalidswiththeup-to-datedata (A3,Band C) in primary block# and replacement block#1 are copied to a new block #. Since the free ratio α of the primary block # is.% ( free s out of 8 s in one block), it is greater than the threshold µ (3%). Therefore, the primary block # is considered as a dirty block and put into a dirty block list for further reuse. Figure 3(b) shows the reuse strategy. When the content E of LBA in primary block #3 is updated by a ite request E1 (the request 18), a replacement block is needed. So dirty block # in the head of the dirty block list shown in Figure 3(a) is selected as the new replacement block. Then E1 ites to the first free in the replacement block # and this ( ) is marked as valid. Using the reuse strategy, free s in the primary block are fully utilized. Consequently, the erase counts for blocks in the NAND flash can be further reduced, and the endurance and space utilization of all blocks can be improved. 3.3 The Analysis of RNFTL This section provides an analysis of RNFTL, to show that how the wear-leveling and performance is enhanced. We first analyze the performance improvement of RNFTL over representative techniques for two special cases, frequent update and sequential ite operations. Then we analyze the possibility to use the reused block as a new primary block. Finally, we will discuss the performance efficiency of our RNFTL scheme. Frequent update and sequential ite operations form two extreme cases for the ite requests of NAND flash. Given a number of ite requests N to NAND flash, frequent update operations denote all N ite requests are with the same LBA (logical address). The content of this LBA will be updated for N times. Sequential ite operations denote each of the N ite requests is with different LBA. For sequential ite operations, N requests ite to N distinct s, and thus no update is needed. In real applications, all the ite requests for NAND flash are the combination of frequent update and sequential ite operations. Therefore, we analyze the performance of our RNFTL and other representative schemes under these two extreme cases. Table 1 shows the performance analysis of frequent update and sequential ite operations. In this table, N p denotes the number of s in a block; N denotes the number of ite requests to NAND flash, and we assume N is less than the number of blocks in a NAND flash; N blk denotes the number of blocks needed for N ite requests; α pri denotes the average free ratio (the number of free s to the number of total s N p of a block) of all primary blocks; α rep denotes the average free ratio of all replacement blocks; α avg denotes the average free ratio of all blocks (including primary and replacement blocks). 1
5 Dirty Block List # #3 #4 #1 #1 Free Block List 1 A 1 3 B 19 4 C Primary Block # A1 1 1 A 1 C1 3 C 4 C3 A3 1 C4 C Block #1 Sequence Command rd LBA Content A A1 A B C C1 C C3 A3 C4 C Before Merge # Dirty Block List #3 #4 # #1 #1 Free Block List 1 A3 1 3 B 19 4 C New Primary Block # After Merge (a) # Dirty Block List #4 # # #1 #1 Free Block List D 4 1 E 3 G 4 F 31 Primary Block #3 Sequence Command rd LBA Content D E F G Before Reuse Dirty Block List Free Block List #4 # # #1 #1 D 4 1 E 3 G 4 F 31 Primary Block #3 E1 1 A 1 3 B 19 4 C Block # Sequence 18 Command LBA Content E1 After Reuse (b) Free Valid Invalid Figure 3. Illustration of RNFTL reuse strategy. (a) The merge operation based on the threshold µ =3%.(b)ThereusestrategyofRNFTL. As shown in Table 1, our RNFTL can achieve significant improvement over Original NFTL and Revised NFTLin terms of the number of used blocks N blk and the average free ratio. For a frequent update operation, Original NFTL will allocate a new replacement block with the same offset. Therefore, N blocks are used for N ite requests, and each block only use one. Revised NFTL can fully utilize the replacement block, but each primary block only use one. When the threshold µ is less than or equal to (N p 1)/N p,ourrnftlcanfullyutilizebothprimary and replacement blocks such that the erase counts of each block is reduced and the wear-leveling is enhanced. When the threshold µ is greater than (N p 1)/N p,rnftlachievesthesameperformance as that of Revised NFTL. In terms of the number of used blocks N blk for frequent update operations, the maximum improvement of our RNFTL over Original NFTL is shown as follows: (1 (N )/(Np 1) +1 N ) 1% (1) Similarly, the maximum improvement of our RNFTL over Revised NFTL is: (1 (N )/(Np 1) +1 ) 1% () (N 1)/N p To quantitative analyze the maximum improvement of our RN- FTL over representative schemes for frequent update operations, Table shows the results with different size of NAND flash memory. For instance, RNFTL can save up to 9.% and 48.39% blocks compared to Original NFTL and Revised NFTL, respectively. For the 4GB NAND flash, the maximum improvement 1
6 Table 1. The performance analysis of frequent update operations and sequential ite operations. Original NFTL Revised NFTL RNFTL N blk N (N 1)/N p (N )/(N p 1) +1 Frequent Update Operations α pri N p 1 N p N p 1 N p α rep N p 1 N p (N p (N 1)modN p)modn p (N 1)/N p N p N mod(n p 1) (N )/(N p 1) N p 1 α avg ( Np 1 (Np (N 1)modNp)modNp + )/ N p N p (N 1)/N p N p N mod(n p 1) (N )/(N p 1) +1 N blk N /N p N /N p N /N p Sequential Write Operations α pri (N p N modn p)modn p N /N p (N p N modn p)modn p N /N p (N p N modn p)modn p N /N p α rep α avg (N p N modn p)modn p N /N p (N p N modn p)modn p N /N p (N p N modn p)modn p N /N p Table. The maximum improvement in the number of used block N blk of RNFTL versus Original NFTL and Revised NFTL. Improvement of RNFTL Improvement of RNFTL over Original NFTL (%) over Revised NFTL (%) 18MB MB GB is relatively close to that of NAND flash with size 18MB and MB. Therefore, in the experiments, we choose 18MB NAND flash memory to evaluate our RNFTL scheme. For sequential ite operations, each of a primary block is itten by sequential ite operations with distinct LBA. As sequential ite operations do not perform update operations, for Original NFTL, Revised NFTL and RNFTL, no replacement is needed and there are almost no free s left in primary block. In such case, these three schemes achieve the same results. The last column in Table 1 shows the analysis for sequential ite operations. As mentioned earlier, ite requests in real applications are the mixture of frequent update and sequential ite operations. In most cases, the probability of frequent update operations is much higher than that of sequential ite operations [11]. Therefore, RNFTL can achieve significant improvement in space utilization and endurance of NAND flash on average. The experimental results in Section 4 depicts this fact. The reuse strategy of RNFTL is to prevent a primary block with many free s from being erased during merge operations and reuse it as a replacement block. From another point of view, a dirty block can also be reused as a primary block for further usage. However, such strategy may result in the performance degrading of wear-leveling. For example, in Figure 3, when a ite operation to LBA is issued, instead of using a dirty block as a replacement block, the dirty block # in the dirty block list is assumed to be reused as a primary block. In this case, if there are several update operations on the same LBA (i.e., ) areissued, thena new replacement block from free block list is allocated due to these updates. When this replacement block becomes full, the primary block # will be reused again without any changes. For the next time, if this dirty block # is reused in the same way as that in the above extreme case, it will not be erased permanently. Therefore, it can be predicted that the erase counts of some blocks are uneven and may result in poor endurance of the NAND flash. Due to this reason, our RNFTL reuses a dirty block as a replacement block to guarantee that all blocks get erased evenly. Amergeoperationinflashtranslationlayerisatimeconsuming task. During a merge operation, a series of copy and ite operations are performed, and there follows a number of block erase operations. Different FTL implementations have different number of erase operations in a merge operation. For Original NFTL, the number of erase operations (N e)dependsonthenumberofreplacement blocks (N e ). For Revised NFTL, the number of erase operations equals to.forourrnftl,thenumberoferaseoperations is either 1 or according to the free ratio α of a primary block and the predefined threshold µ. Therefore,theperformance efficiency of these implementations is different due to the number of erase operations in each merge operation. η = N p N e T e + (N Rp +1) N p S rd + N Vp+ N Vr S Equation 3 presents a general performance efficiency η of a merge operation for different FTL implementations. In this equation, N p denotes the number of s in a block; N e denotes the number of erase operations in a merge operation; T e denotes the time consumption to erase one physical block; N Rp denotes the number of replacement blocks; N Vp denotes the number of valid s in the primary block (N Vp N p); N Vr denotes the number (3) 18
7 of valid s (the s with the up-to-date data) in the corresponding replacement block(s) (N Vr N Rp N p); S rd denotes the speed of read for one physical, and S denotes the speed of ite for one physical. In each merge operation, it has to read the OOB area of each in both primary and replacement blocks to check if the holds the valid data. Therefore, (N Rp +1) N p s are read in a merge operation. For ite operations, only valid s with the up-to-date data are copied from the primary and replacement blocks to a new primary block. Therefore, there are N Vp + N Vr ite operations in a merge operation. As erase operation takes the longest time, to reduce the number of blocks for erasure can improve the performance efficiency. From Equation 3, we can see that the performance efficiency of Original NFTL is the worst if it has more than two replacement blocks. And our RNFTL has a better efficiency than Revised NFTL if primary blocks are reused. With the increasing of the threshold µ, thetotalnumberoferasecounts accordingly increased. For traces collected from real workload in daily life, our experimental results show that we can reuse all primary blocks when µ is set as %. 4. PERFORMANCE EVALUATION To evaluate the effectiveness of the proposed technique RNFTL, we conduct a series of experiments and present the experimental results with analysis in this section. We compare and evaluate our proposed RNFTL scheme over the representative flash translation layer schemes, Original NFTL [3, ] and Revised NFTL [1], in terms of two performance metrics: the number of block erase counts, and the ratio of block utilization. In this section, we first introduce the experimental setup. Then, we present the experimental results collected from our simulation framework. Finally, we give the analysis based on the experimental results. 4.1 Experimental Setup Table 3. Experimental setup and trace characteristics. CPU Intel Dual Core GHz Hardware Disk Space GB Simulation Environment Trace RAM GB OS Kernel Linux..1 Flash Simulator Flash Size OS Trace Generator Applications nandsim 18MB Windows XP (NTFS) DiskMon Web App, MSN, Word Excel, Power Point, Media Player, Emuler Table 3 summarizes our experimental platform and trace characteristics. As shown, our approach is evaluated through a tracedriven simulation. The trace of data request was collected by running DiskMon [1] in Windows XP over a desktop with an Intel Pentium Dual Core GHz processor, a GB hard disk, and a GB DRAM. The trace data reflects the real workload of the system in accessing the hard disk for daily use, such as web surfing, document typeiting, downloading, movie playing and gaming. DiskMon Input Parameters Trace Flash Translation Layer NAND Simulator (nandsim) Figure 4. The framework of simulation platform. Results The framework of our simulation platform, as shown in Figure 4, consists of two modules - a NAND flash simulator module (nandsim) providing basic read, ite and erase capabilities; and a desired flash translation layer management scheme that can be executed on top of the NAND flash simulator. In our experiments, a 18MB NAND flash memory is configured in the NAND simulator module and employed as the investigation targets in our simulation platform. The traces along with various flash parameters, such as block size and size are fed into our simulation framework. The block size, size, number of s in a block, and size of the OOB for each are set as 1KB, 1 Bytes, 3, and 1 Bytes, respectively. Therefore, in our experiments, the 18MB flash memory has 8,19 physical blocks. 4. Endurance Improvement To evaluate the improvement of endurance, we present the experimental results in terms of the block erase counts in this section. The experiments are conducted over a 18MB NAND flash with six distinct traces. The total numbers of block erase counts over different flash memory for Original NFTL, Revised NFTL, and our RNFTL are shown in Table 4. The results from Table 4 show that our RN- FTL technique significantly reduces the erase counts of each block compared with the other two schemes. From the results in Table 4, compared with Revised NFTL, our RNFTL technique can achieve an average reduction of 4.89% among these six traces, and a maximum reduction of 4.8% (Trace ) in the number of erase counts for each block; When compared with Original NFTL, our RNFTL technique can achieve an even better endurance improvement, i.e., an average reduction of 93.8% and a maximum reduction of 94.94% (Trace 3). As the flash memory has a restricted number of times to perform block erase operations, the distribution of erase counts among the blocks will directly influence the endurance of the NAND flash memory. For demonstration purpose, we add a counter in the NAND simulator (nandsim) to calculate the number of block erase counts for each physical block. Figure illustrates the distribution of the number of block erase counts for each block in 18MB NAND flash. The experimental results for Original NFTL, Revised NFTL, and RNFTL, are represented by the curve in each sub-figure based on different traces. For example, as shown in Figure (a), the distribution of the number of block erase counts for each block generated by Original NFTL is in a wide range, which will adversely affect the flash endurance. On the contrary, with our RNFTL technique, we can obtain an even distribution of erase operations among all blocks as shown in Figure (a). It can be seen that Revised NFTL can also evenly distribute erase operations among all blocks. However, the number of block erase counts in Revised NFTL is nearly two times than our RNFTL. The other sub-figures in Figure reflect the same fact for 18MB flash memory. From the experimental results, we can see that, our RNFTL scheme can not only enhance the lifetime of each block but also improve the wear-leveling of all blocks in NAND flash memory. 19
8 Table 4. The number of block erase counts of RNFTLversus Original NFTL and Revised NFTL. Trace Scheme RNFTL IMP RNFTL IMP Original NFTL Revised NFTL RNFTL Original NFTL (%) Revised NFTL (%) Trace 1 18,341 9, 1, Trace 4,1 4,388, Trace 3,131,43 1,94 1, Trace 4 1,3, 11,, Trace 1,13,39 134,44 1, Trace,9, 83, 314, Average Table. The block utilization ratio of RNFTL versus Original NFTL and Revised NFTL. Scheme Trace #of Free Pages #of Valid Pages #of Invalid Pages Block Utilization Ratio(%) Original NFTL Revised NFTL RNFTL Trace 1,,8 481, Trace 1,334,3 9,. Trace 3 4,8,4 3,3, Trace 4 3,11,91 1,933, Trace 3,,,3,83.99 Trace 18,,1 9,88,8.4 Trace 1 4,4 33,341 49,83. Trace 3,94 33, 99,4 4. Trace 3,99,3 1,34 3,31, Trace 4 1,3,88,9 1,9, Trace,19,3 4,1,18,39 3. Trace 8,1,313 43,1 9,3,4 3. Trace 1 33,39, 1. Trace,1 8,81 1. Trace 3 99,44 3,3,4 1. Trace 4,141 1,93,89 1. Trace,1,3,89 1. Trace 413,44 9,, Space Utilization Improvement To evaluate the improvement of space utilization, we present the experimental results in terms of the block utilization ratio in this section. The block utilization ratio is defined as follows: valid s + invalid s valid s + invalid s + free s The block utilization ratio for Original NFTL, Revised NFTL and our RNFTL over 18MB flash memory are shown in Table. The results show that our RNFTL technique can completely utilize all free s in each block for all of the six traces, i.e., the block utilization ratio of RNFTL is 1%. As shown in Table, compared with Revised NFTL, our RNFTL technique can achieve an average improvement of 4.8% among these six traces, and a maximum reduction of 4.9% (Trace ) in the block utilization ratio for NAND flash. When compared with Original NFTL, our RNFTL technique can achieve an even better space utilization improvement, i.e., an average reduction of 94.11% and a maximum reduction of 9.1% (Trace 4). (4) 4.4 Extra Overhead In general, each in a block has one of four different statuses, free, valid, invalid,anderror.fororiginal NFTL, after a valid is updated by re-ite operations, the status of this valid is not changed to invalid. While on the other hand, for this condition, the status of such valid is changed to invalid in our RNFTL scheme and Revised NFTL. In the experiments, the predefined threshold µ of RNFTL is set as %. Itmeansthat,foraprimary block, if more than % of its s are free during a merge operation, our RNFTL technique will reuse this primary block instead of erasing it. Since our RNFTL approach reuses a primary block as a replacement block for further use, there will be no free s when the reused blocks become full. In such a way, we can completely utilize each of each block. On the other hand, as a garbage collection is a time-consuming operation, we can obtain enhanced endurance of the flash memory with less garbage collection operations. By postponing the trigger of the garbage collection, our technique greatly improves the overall performance. In this section, we briefly discuss the performance overhead related to our RNFTL. The overhead of our RNFTL technique is that it builds up a list or a table, called dirty block list, totrackthe reused primary blocks. This dirty block list is stored in a predefined 1
9 (a) 18MB / Trace1 (b) 18MB / Trace (c) 18MB / Trace3 (d) 18MB / Trace4 (e) 18MB / Trace (f) 18MB / Trace Figure. The distribution of the block erase counts in 18MB NAND flash memory over six traces from Trace 1 to Trace. 11
10 area in the flash memory. In our RNFTL, each primary block associates with only one replacement block. Therefore, at most half of the blocks in a flash memory can be allocated as replacement blocks. Then, the number of items in the dirty block list is at most half of the number of blocks in a flash memory. As each physical can store multiple items, the size of the dirty block list is relatively negligible compared to the total size of the NAND flash. For example, a 1GB flash memory requires at most 1MB space for storing the table. Moreover, since our RNFTL scheme maintains the same read policy as that of Revised NFTL, the read speed of our RNFTL is equivalent to that of Revised NFTL. The sequential read in the replacement block of RNFTL and Revised NFTL is slower than Original NFTL, in which the data is read according to the block offset. However, our RNFTL can achieve significant improvement over Original NFTL in terms of block erase counts and space utilization.. CONCLUSION AND FUTURE WORK In this paper, we have proposed a reuse-aware NAND flash translation layer, called RNFTL, to exploit the advantages of the wellknown FTL implementations in order to enhance the endurance and space utilization of the NAND flash memory. In our RNFTL, the performance improvement is achieved by preventing a primary block with many free s from being erased during a merge operation. A reserved primary block is considered as a dirty block and put into a dirty block list for further usage. In RNFTL, we reuse a dirty block as a replacement block to improve the wear-leveling of NAND flash. We present quantitative analysis for RNFTL to show that how the performance is enhanced. We conducted experiments on a set of traces collected from real-life workloads. The experimental results show that our RNFTL technique can significantly reduce the number of block erase counts and enhance the space utilization of NAND flash compared with the previous work. In the future, we will further study the mechanism of wearleveling and garbage collection in NAND flash. As access pattern of applications may influence the the endurance and reliability of NAND flash, how to effectively identify the characteristics of access pattern of applications may also be a topic for us to explore.. Acknowledgment We would like to thank the anonymous reviewers for their valuable feedback and improvements to this paper. The work described in this paper is partially supported by the grants from the Research Grants Council of the Hong Kong Special Administrative Region, China (GRF PolyU /E, GRF PolyU 9/8E) and HK PolyU 1-ZVS. References [1] DiskMon for Windows v.1. sysinternals/bb894.aspx, 1. [] Intel Corporation. Understanding the flash translation layer (FTL) specification [3] Memory Technology Device (MTD) Subsystem for Linux [4] SAMSUNG Corporation. SAMSUNG NAND flash [] A. Ban. Flash file system. US patent,44,48, April 4, 199. [] A. Ban. Flash file system optimized for -mode flash technologies. US patent,93,4, August1,1999. [] L.-P. Chang and T.-W. Kuo. A real-time garbage collection mechanism for flash-memory stroage systems in embedded systems. In Proceedings of the Eighth International Conference on Real-Time Computing systems and Applications (RTCSA ), March. [8] L.-P. Chang and T.-W. Kuo. An efficient management scheme for large-scale flash-memory storage systems. In Proceedings of the 4 ACM symposium on Applied computing (SAC 4), s8 88, 4. [9] S. Choudhuri and T. Givargis. Performance improvement of block based nand flash translation layer. In Proceedings of the th IEEE/ACM international conference on Hardware/software codesign and system synthesis (CODES+ISSS ), s,. [1] T.-S. Chung, D.-J. Park, S. Park, D.-H. Lee, S.-W. Lee, and H.-J. Song. Asurveyofflashtranslationlayer. J. Syst. Archit., (-):33 343, 9. [11] P.-C. Huang, Y.-H. Chang, T.-W. Kuo, J.-W. Hsieh, and M. Lin. The behavior analysis of flash-memory storage systems. In Proceedings of the 8 11th IEEE Symposium on Object Oriented Real-Time Distributed Computing (ISORC 8), s9 34,Washington, DC, USA, 8. [1] J. Kim, J. M. Kim, S. Noh, S. L. Min, and Y. Cho. A space-efficient flash translation layer for CompactFlash systems. IEEE Transactions on Consumer Electronics, 48():3 3,May. [13] J. Lee, S. Kim, H. Kwon, C. Hyun, S. Ahn, J. Choi, D. Lee, and S. H. Noh. Block recycling schemes and their cost-based optimization in nand flash memory based storage system. In Proceedings of the th ACM & IEEE international conference on Embedded software (EMSOFT ), s14 18,. [14] C. Park, W. Cheon, J. Kang, K. Roh, W. Cho, and J.-S. Kim. A reconfigurable ftl (flash translation layer) architecture for nand flash-based applications. ACM Transactions on Embedded Computing Systems, (4):1 3, 8. [1] C.-H. Wu and T.-W. Kuo. An adaptive two-level management for the flash translation layer in embedded systems. In Proceedings of the IEEE/ACM international conference on Computer-aided design (ICCAD ), s1,. [1] C.-H. Wu, T.-W. Kuo, and C.-L. Yang. A space-efficient caching mechanism for flash-memory address translation. In Proceedings of the Ninth IEEE International Symposium on Object and Component- Oriented Real-Time Distributed Computing (ISORC ), s4 1,. 1
Implementation of Buffer Cache Simulator for Hybrid Main Memory and Flash Memory Storages
Implementation of Buffer Cache Simulator for Hybrid Main Memory and Flash Memory Storages Soohyun Yang and Yeonseung Ryu Department of Computer Engineering, Myongji University Yongin, Gyeonggi-do, Korea
Flash Memory. Jian-Jia Chen (Slides are based on Yuan-Hao Chang) TU Dortmund Informatik 12 Germany 2015 年 01 月 27 日. technische universität dortmund
12 Flash Memory Jian-Jia Chen (Slides are based on Yuan-Hao Chang) TU Dortmund Informatik 12 Germany 2015 年 01 月 27 日 These slides use Microsoft clip arts Microsoft copyright restrictions apply Springer,
Implementation and Challenging Issues of Flash-Memory Storage Systems
Implementation and Challenging Issues of Flash-Memory Storage Systems Tei-Wei Kuo Department of Computer Science & Information Engineering National Taiwan University Agenda Introduction Management Issues
FASS : A Flash-Aware Swap System
FASS : A Flash-Aware Swap System Dawoon Jung, Jin-Soo Kim, Seon-Yeong Park, Jeong-Uk Kang, and Joonwon Lee Division of Computer Science Korea Advanced Institute of Science and Technology 373-1 Guseongdong,
A Data De-duplication Access Framework for Solid State Drives
JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 28, 941-954 (2012) A Data De-duplication Access Framework for Solid State Drives Department of Electronic Engineering National Taiwan University of Science
Buffer-Aware Garbage Collection for NAND Flash Memory-Based Storage Systems
Buffer-Aware Garbage Collection for NAND Flash Memory-Based Storage Systems Sungin Lee, Dongkun Shin and Jihong Kim School of Computer Science and Engineering, Seoul National University, Seoul, Korea {chamdoo,
Data Storage Framework on Flash Memory using Object-based Storage Model
2011 International Conference on Computer Science and Information Technology (ICCSIT 2011) IPCSIT vol. 51 (2012) (2012) IACSIT Press, Singapore DOI: 10.7763/IPCSIT.2012.V51. 118 Data Storage Framework
A File-System-Aware FTL Design for Flash-Memory Storage Systems
A File-System-Aware FTL Design for Flash-Memory Storage Systems Po-Liang Wu Department of Computer Science and Information Engineering National Taiwan University, Taipei 16, Taiwan, R.O.C. Email: [email protected]
p-oftl: An Object-based Semantic-aware Parallel Flash Translation Layer
p-oftl: An Object-based Semantic-aware Parallel Flash Translation Layer Wei Wang, Youyou Lu, and Jiwu Shu Department of Computer Science and Technology, Tsinghua University, Beijing, China Tsinghua National
Empirical Inspection of IO subsystem for Flash Storage Device at the aspect of discard
, pp.59-63 http://dx.doi.org/10.14257/astl.2016.135.16 Empirical Inspection of IO subsystem for Flash Storage Device at the aspect of discard Seung-Ho Lim and Ki-Jin Kim Division of Computer and Electronic
In-Block Level Redundancy Management for Flash Storage System
, pp.309-318 http://dx.doi.org/10.14257/ijmue.2015.10.9.32 In-Block Level Redundancy Management for Flash Storage System Seung-Ho Lim Division of Computer and Electronic Systems Engineering Hankuk University
UBI with Logging. Brijesh Singh Samsung, India [email protected]. Rohit Vijay Dongre Samsung, India [email protected].
UBI with Logging Brijesh Singh Samsung, India [email protected] Rohit Vijay Dongre Samsung, India [email protected] Abstract Flash memory is widely adopted as a novel nonvolatile storage medium
Flash-Friendly File System (F2FS)
Flash-Friendly File System (F2FS) Feb 22, 2013 Joo-Young Hwang ([email protected]) S/W Dev. Team, Memory Business, Samsung Electronics Co., Ltd. Agenda Introduction FTL Device Characteristics
hybridfs: Integrating NAND Flash-Based SSD and HDD for Hybrid File System
hybridfs: Integrating NAND Flash-Based SSD and HDD for Hybrid File System Jinsun Suk and Jaechun No College of Electronics and Information Engineering Sejong University 98 Gunja-dong, Gwangjin-gu, Seoul
Offline Deduplication for Solid State Disk Using a Lightweight Hash Algorithm
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.539 ISSN(Online) 2233-4866 Offline Deduplication for Solid State
HybridLog: an Efficient Hybrid-Mapped Flash Translation Layer for Modern NAND Flash Memory
HybridLog: an Efficient Hybrid-Mapped Flash Translation Layer for Modern NAND Flash Memory Mong-Ling Chiao and Da-Wei Chang Abstract A Flash Translation Layer (FTL) emulates a block device interface on
NAND Flash-based Disk Cache Using SLC/MLC Combined Flash Memory
International Workshop on Storage Network Architecture and Parallel I/Os NAND Flash-based Disk Cache Using /MLC Combined Flash Memory Seongcheol Hong School of Information and Communication Engineering
Indexing on Solid State Drives based on Flash Memory
Indexing on Solid State Drives based on Flash Memory Florian Keusch MASTER S THESIS Systems Group Department of Computer Science ETH Zurich http://www.systems.ethz.ch/ September 2008 - March 2009 Supervised
File Systems for Flash Memories. Marcela Zuluaga Sebastian Isaza Dante Rodriguez
File Systems for Flash Memories Marcela Zuluaga Sebastian Isaza Dante Rodriguez Outline Introduction to Flash Memories Introduction to File Systems File Systems for Flash Memories YAFFS (Yet Another Flash
A PRAM and NAND Flash Hybrid Architecture for High-Performance Embedded Storage Subsystems
1 A PRAM and NAND Flash Hybrid Architecture for High-Performance Embedded Storage Subsystems Chul Lee Software Laboratory Samsung Advanced Institute of Technology Samsung Electronics Outline 2 Background
BER-Based Wear Leveling and Bad Block Management for NAND Flash
BER-Based Wear Leveling and Bad Block Management for NAND Flash Borja Peleato, Haleh Tabrizi, Rajiv Agarwal, Jeffrey Ferreira Electrical and Computer Engineering, Purdue University bpeleato@purdueedu DSSD,
JAM: Justifiable Allocation of Memory with Efficient Mounting and Fast Crash Recovery for NAND Flash Memory File Systems
The International Arab Journal of Information Technology, Vol. 7, No. 4, October 2010 395 JAM: Justifiable Allocation of Memory with Efficient Mounting and Fast Crash Recovery for NAND Flash Memory File
SH-Sim: A Flexible Simulation Platform for Hybrid Storage Systems
, pp.61-70 http://dx.doi.org/10.14257/ijgdc.2014.7.3.07 SH-Sim: A Flexible Simulation Platform for Hybrid Storage Systems Puyuan Yang 1, Peiquan Jin 1,2 and Lihua Yue 1,2 1 School of Computer Science and
Performance Characteristics of VMFS and RDM VMware ESX Server 3.0.1
Performance Study Performance Characteristics of and RDM VMware ESX Server 3.0.1 VMware ESX Server offers three choices for managing disk access in a virtual machine VMware Virtual Machine File System
Solid State Drive (SSD) FAQ
Solid State Drive (SSD) FAQ Santosh Kumar Rajesh Vijayaraghavan O c t o b e r 2 0 1 1 List of Questions Why SSD? Why Dell SSD? What are the types of SSDs? What are the best Use cases & applications for
Design of a NAND Flash Memory File System to Improve System Boot Time
International Journal of Information Processing Systems, Vol.2, No.3, December 2006 147 Design of a NAND Flash Memory File System to Improve System Boot Time Song-Hwa Park*, Tae-Hoon Lee*, and Ki-Dong
2LGC: An Atomic-Unit Garbage Collection Scheme with a Two-Level List for NAND Flash Storage
2LGC: An Atomic-Unit Garbage Collection Scheme with a Two-Level List for NAND Flash Storage Sanghyuk Jung and Yong Ho Song Department of Electronics Computer Engineering, Hanyang University, Seoul, Korea
SOS: Software-Based Out-of-Order Scheduling for High-Performance NAND Flash-Based SSDs
SOS: Software-Based Out-of-Order Scheduling for High-Performance NAND -Based SSDs Sangwook Shane Hahn, Sungjin Lee, and Jihong Kim Department of Computer Science and Engineering, Seoul National University,
Managing Storage Space in a Flash and Disk Hybrid Storage System
Managing Storage Space in a Flash and Disk Hybrid Storage System Xiaojian Wu, and A. L. Narasimha Reddy Dept. of Electrical and Computer Engineering Texas A&M University IEEE International Symposium on
File System Management
Lecture 7: Storage Management File System Management Contents Non volatile memory Tape, HDD, SSD Files & File System Interface Directories & their Organization File System Implementation Disk Space Allocation
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. 157-172 Page Replacement for Write References in NAND Flash Based Virtual Memory Systems Hyejeong Lee and
RFLRU: A Buffer Cache Management Algorithm for Solid State Drive to Improve the Write Performance on Mixed Workload
Engineering Letters, :, EL RFLRU: A Buffer Cache Management Algorithm for Solid State Drive to Improve the Write Performance on Mixed Workload Arul Selvan Ramasamy, and Porkumaran Karantharaj Abstract
Nasir Memon Polytechnic Institute of NYU
Nasir Memon Polytechnic Institute of NYU SSD Drive Technology Overview SSD Drive Components NAND FLASH Microcontroller SSD Drive Forensics Challenges Overview SSD s are fairly new to the market Whereas
Flexible Storage Allocation
Flexible Storage Allocation A. L. Narasimha Reddy Department of Electrical and Computer Engineering Texas A & M University Students: Sukwoo Kang (now at IBM Almaden) John Garrison Outline Big Picture Part
A Simple Virtual FAT File System for Wear-Leveling Onboard NAND Flash Memory
A Simple Virtual FAT File System for Wear-Leveling Onboard NAND Flash Memory Robert Klar, Sue Baldor, Charles Howard, Randal Harmon, and Allison Bertrand Southwest Research Institute Promise of Flash Flash
Linux flash file systems JFFS2 vs UBIFS
Linux flash file systems JFFS2 vs UBIFS Chris Simmonds 2net Limited Embedded Systems Conference UK. 2009 Copyright 2009, 2net Limited Overview Many embedded systems use raw flash chips JFFS2 has been the
AN1819 APPLICATION NOTE Bad Block Management in Single Level Cell NAND Flash Memories
APPLICATION NOTE Bad Block Management in Single Level Cell NAND Flash Memories This Application Note explains how to recognize factory generated Bad Blocks, and to manage Bad Blocks that develop during
Impact of Stripe Unit Size on Performance and Endurance of SSD-Based RAID Arrays
1 Impact of Stripe Unit Size on Performance and Endurance of SSD-Based RAID Arrays Farzaneh Rajaei Salmasi Hossein Asadi Majid GhasemiGol [email protected] [email protected] [email protected]
Speeding Up Cloud/Server Applications Using Flash Memory
Speeding Up Cloud/Server Applications Using Flash Memory Sudipta Sengupta Microsoft Research, Redmond, WA, USA Contains work that is joint with B. Debnath (Univ. of Minnesota) and J. Li (Microsoft Research,
NAND Flash FAQ. Eureka Technology. apn5_87. NAND Flash FAQ
What is NAND Flash? What is the major difference between NAND Flash and other Memory? Structural differences between NAND Flash and NOR Flash What does NAND Flash controller do? How to send command to
An Exploration of Hybrid Hard Disk Designs Using an Extensible Simulator
An Exploration of Hybrid Hard Disk Designs Using an Extensible Simulator Pavan Konanki Thesis submitted to the Faculty of the Virginia Polytechnic Institute and State University in partial fulfillment
Enery Efficient Dynamic Memory Bank and NV Swap Device Management
Enery Efficient Dynamic Memory Bank and NV Swap Device Management Kwangyoon Lee and Bumyong Choi Department of Computer Science and Engineering University of California, San Diego {kwl002,buchoi}@cs.ucsd.edu
An Efficient B-Tree Layer Implementation for Flash-Memory Storage Systems
An Efficient B-Tree Layer Implementation for Flash-Memory Storage Systems CHIN-HSIEN WU and TEI-WEI KUO National Taiwan University and LI PING CHANG National Chiao-Tung University With the significant
A NOR Emulation Strategy over NAND Flash Memory
A NOR Emulation Strategy over NAND Flash Memory Jian-Hong Lin, Yuan-Hao Chang, Jen-Wei Hsieh, and Tei-Wei Kuo Embedded Systems and Wireless Networking Laboratory Dept. of Computer Science and Information
Data Distribution Algorithms for Reliable. Reliable Parallel Storage on Flash Memories
Data Distribution Algorithms for Reliable Parallel Storage on Flash Memories Zuse Institute Berlin November 2008, MEMICS Workshop Motivation Nonvolatile storage Flash memory - Invented by Dr. Fujio Masuoka
How To Test Readahead On Linux 3.1.1 (Amd64)
Revisiting Read-ahead Efficiency for Raw NAND Flash Storage in Embedded Linux Pierre Olivier Univ. Europeenne de Bretagne Univ. Bretagne Occidentale UMR6585 Lab-STICC F29200 Brest, France +332 98 01 74
Efficient Identification of Hot Data for Flash-Memory Storage Systems
Efficient Identification of Hot Data for Flash-Memory Storage Systems Jen-Wei Hsieh, Li-Pin Chang, and Tei-Wei Kuo Department of Computer Science and Information Engineering National Taiwan University,
Multi-level Metadata Management Scheme for Cloud Storage System
, pp.231-240 http://dx.doi.org/10.14257/ijmue.2014.9.1.22 Multi-level Metadata Management Scheme for Cloud Storage System Jin San Kong 1, Min Ja Kim 2, Wan Yeon Lee 3, Chuck Yoo 2 and Young Woong Ko 1
Endurance Models for Cactus Technologies Industrial-Grade Flash Storage Products. White Paper CTWP006
Endurance Models for Cactus Technologies Industrial-Grade Flash Storage Products White Paper CTWP006 Cactus Technologies Limited Suite C, 15/F, Capital Trade Center 6 Tsun Yip Street, Kwun Tong Kowloon,
Sampling-based Metadata Management for Flash Storage
Sampling-based Metadata Management for Flash Storage Biplob Debnath, Srinivasan Krishnan, Weijun Xiao, David J. Lilja, David Du E-mail: Department of Electrical and Computer Engineering Department of Computer
FlashLite: A User-Level Library to Enhance Durability of SSD for P2P File Sharing
FlashLite: A User-Level Library to Enhance Durability of SSD for P2P File Sharing Hyojun Kim and Umakishore Ramachandran College of Computing Georgia Institute of Technology {hyojun.kim, rama}@cc.gatech.edu
On Benchmarking Embedded Linux Flash File Systems
On Benchmarking Embedded Linux Flash File Systems Pierre Olivier Université de Brest, 20 avenue Le Gorgeu, 29285 Brest cedex 3, France [email protected] Jalil Boukhobza Université de Brest, 20
SSD Performance Tips: Avoid The Write Cliff
ebook 100% KBs/sec 12% GBs Written SSD Performance Tips: Avoid The Write Cliff An Inexpensive and Highly Effective Method to Keep SSD Performance at 100% Through Content Locality Caching Share this ebook
OPERATING SYSTEM - VIRTUAL MEMORY
OPERATING SYSTEM - VIRTUAL MEMORY http://www.tutorialspoint.com/operating_system/os_virtual_memory.htm Copyright tutorialspoint.com A computer can address more memory than the amount physically installed
Managing Capacity Using VMware vcenter CapacityIQ TECHNICAL WHITE PAPER
Managing Capacity Using VMware vcenter CapacityIQ TECHNICAL WHITE PAPER Table of Contents Capacity Management Overview.... 3 CapacityIQ Information Collection.... 3 CapacityIQ Performance Metrics.... 4
SLC vs MLC: Which is best for high-reliability apps?
SLC vs MLC: Which is best for high-reliability apps? Here's an examination of trade-offs, with an emphasis on how they affect the reliability of storage targeted at industrial, military and avionic applications.
Flash Memory Database (FMDB) Issues and Promising
Flash Memory Database (FMDB) Issues and Promising Nooruldeen Nasih Qader 1, Mohammed Anwar Mohammed 2, Danial Abdulkareem Muhammed 3 Department of Computer Science, University of Sulaimani, IRAQ. 1 [email protected],
Solid State Drive Architecture
Solid State Drive Architecture A comparison and evaluation of data storage mediums Tyler Thierolf Justin Uriarte Outline Introduction Storage Device as Limiting Factor Terminology Internals Interface Architecture
How To Write On A Flash Memory Flash Memory (Mlc) On A Solid State Drive (Samsung)
Using MLC NAND in Datacenters (a.k.a. Using Client SSD Technology in Datacenters) Tony Roug, Intel Principal Engineer SNIA Legal Notice The material contained in this tutorial is copyrighted by the SNIA.
Web Application s Performance Testing
Web Application s Performance Testing B. Election Reddy (07305054) Guided by N. L. Sarda April 13, 2008 1 Contents 1 Introduction 4 2 Objectives 4 3 Performance Indicators 5 4 Types of Performance Testing
Understanding Disk Storage in Tivoli Storage Manager
Understanding Disk Storage in Tivoli Storage Manager Dave Cannon Tivoli Storage Manager Architect Oxford University TSM Symposium September 2005 Disclaimer Unless otherwise noted, functions and behavior
Managing the evolution of Flash : beyond memory to storage
Managing the evolution of Flash : beyond memory to storage Tony Kim Director, Memory Marketing Samsung Semiconductor I nc. Nonvolatile Memory Seminar Hot Chips Conference August 22, 2010 Memorial Auditorium
Reconfigurable Architecture Requirements for Co-Designed Virtual Machines
Reconfigurable Architecture Requirements for Co-Designed Virtual Machines Kenneth B. Kent University of New Brunswick Faculty of Computer Science Fredericton, New Brunswick, Canada [email protected] Micaela Serra
The assignment of chunk size according to the target data characteristics in deduplication backup system
The assignment of chunk size according to the target data characteristics in deduplication backup system Mikito Ogata Norihisa Komoda Hitachi Information and Telecommunication Engineering, Ltd. 781 Sakai,
An Overview of Flash Storage for Databases
An Overview of Flash Storage for Databases Vadim Tkachenko Morgan Tocker http://percona.com MySQL CE Apr 2010 -2- Introduction Vadim Tkachenko Percona Inc, CTO and Lead of Development Morgan Tocker Percona
A multi-channel architecture for high-performance NAND flash-based storage system q
Journal of Systems Architecture 53 (2007) 644 658 www.elsevier.com/locate/sysarc A multi-channel architecture for high-performance NAND flash-based storage system q Jeong-Uk Kang a, *, Jin-Soo Kim a, Chanik
Addressing Fatal Flash Flaws That Plague All Flash Storage Arrays
Addressing Fatal Flash Flaws That Plague All Flash Storage Arrays By Scott D. Lowe, vexpert Co-Founder, ActualTech Media February, 2015 Table of Contents Introduction: How Flash Storage Works 3 Flash Storage
Exploiting Self-Adaptive, 2-Way Hybrid File Allocation Algorithm
Exploiting Self-Adaptive, 2-Way Hybrid File Allocation Algorithm [ Jaechun No, Sung-Soon Park ] Abstract We present hybridfs file system that provides a hybrid structure, which makes use of performance
Dynamic Load Balancing of Virtual Machines using QEMU-KVM
Dynamic Load Balancing of Virtual Machines using QEMU-KVM Akshay Chandak Krishnakant Jaju Technology, College of Engineering, Pune. Maharashtra, India. Akshay Kanfade Pushkar Lohiya Technology, College
NAND Flash & Storage Media
ENABLING MULTIMEDIA NAND Flash & Storage Media March 31, 2004 NAND Flash Presentation NAND Flash Presentation Version 1.6 www.st.com/nand NAND Flash Memories Technology Roadmap F70 1b/c F12 1b/c 1 bit/cell
NAND Flash Memories. Understanding NAND Flash Factory Pre-Programming. Schemes
NAND Flash Memories Understanding NAND Flash Factory Pre-Programming Schemes Application Note February 2009 an_elnec_nand_schemes, version 1.00 Version 1.00/02.2009 Page 1 of 20 NAND flash technology enables
WHITE PAPER Optimizing Virtual Platform Disk Performance
WHITE PAPER Optimizing Virtual Platform Disk Performance Think Faster. Visit us at Condusiv.com Optimizing Virtual Platform Disk Performance 1 The intensified demand for IT network efficiency and lower
Understanding endurance and performance characteristics of HP solid state drives
Understanding endurance and performance characteristics of HP solid state drives Technology brief Introduction... 2 SSD endurance... 2 An introduction to endurance... 2 NAND organization... 2 SLC versus
Chapter 1 Computer System Overview
Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Eighth Edition By William Stallings Operating System Exploits the hardware resources of one or more processors Provides
Scalus Winter School Storage Systems
Scalus Winter School Storage Systems Flash Memory André Brinkmann Flash Memory Floa:ng gate of a flash cell is electrically isolated Applying high voltages between source and drain accelerates electrons
Mini PCIe SSD - mpdm. RoHS Compliant. Product Specifications. August 15 th, 2012. Version 1.0
RoHS Compliant Mini PCIe SSD - mpdm Product Specifications August 15 th, 2012 Version 1.0 Apacer Technology Inc. 4 th Fl., 75 Hsin Tai Wu Rd., Sec.1, Hsichih, New Taipei City, Taiwan 221 Tel: +886-2-2698-2888
Solid State Drive Technology
Technical white paper Solid State Drive Technology Differences between SLC, MLC and TLC NAND Table of contents Executive summary... 2 SLC vs MLC vs TLC... 2 NAND cell technology... 2 Write amplification...
SSD Write Performance IOPS Confusion Due to Poor Benchmarking Techniques
SSD Write Performance IOPS Confusion Due to Poor Benchmarking Techniques Dominique A. Heger [email protected] www.dhtusa.com Introduction Over the last few years, the proliferation of solid state disk
Embedded Operating Systems in a Point of Sale Environment. White Paper
Embedded Operating Systems in a Point of Sale Environment White Paper December 2008 Contents Embedded Operating Systems in a POS Environment... 3 Overview... 3 POS Operating Systems... 3 Operating Systems
Hardware Task Scheduling and Placement in Operating Systems for Dynamically Reconfigurable SoC
Hardware Task Scheduling and Placement in Operating Systems for Dynamically Reconfigurable SoC Yuan-Hsiu Chen and Pao-Ann Hsiung National Chung Cheng University, Chiayi, Taiwan 621, ROC. [email protected]
