Abstract- In this paper, we present an efficient intercrossed solid province device flash file system ( HSSDFFS ) for brassy memory storage. Flash memory like NAND and NOR flash memories has become a major method for informations storage. Currently, a block degree interlingual rendition interface is required between an bing file system and brassy memory french friess due to its physical features. HSSDFFS is based on both NOR flash and NAND flash memory. In a conventional NAND flash-based flash file system, there is a tradeoff between life span and lastingness in the frequent authorship of little sums of informations.
Because NAND flash supports merely a page-level I/O, at least one page is wasted in the synchronal authorship of little sums of informations. The cachexia of pages reduces the use and life span of the NAND flash. To relieve the use job, some NAND flash-based flash file systems write little sums of informations asynchronously with RAM buffers, though buffering in RAM decreases the lastingness of the system.
Our HSSDFFS eliminates the tradeoff between life span and lastingness. It synchronously shops informations as a log in the NOR flash, whenever we append little sums of informations to a file. The incorporate logs are so flushed to the NAND flash in a page-aligned manner. The execution of our HSSDFFS is based on our old NAND flash-based file system Core Flash File System.
Keywords- Storage direction, file system direction, NOR flash, Solid province device, NAND flash and Flash file system.
Now a yearss Solid Disk Drives are used to develop Personal computer, Laptop, notebook personal computer, and tablet personal computer, Mobile and embedded devices.
Flash memory has become an progressively of import constituent in nonvolatilizable storage media because of its little size, daze opposition, and low power ingestion [ 1 ] . In nonvolatilizable memory, NOR brassy memory provides a fast random entree velocity, but it has a high cost and low denseness compared with NAND brassy memory. In contrast to NOR brassy memory, NAND flash memory has the advantages of a big storage capacity and comparatively high public presentation for big read/write petitions. Solid Disk Drives are developed by Flash memories. Recently, the capacity of a NAND flash memory bit became 8GB and this size will increase rapidly. Based on the NAND flash bit, a solid province disc has been developed and this can be used as a storage system in laptop computing machines [ 2 ] . SSD provide more convenient and flexibleness than Hard disc thrust ( HHD ) in footings of power, lastingness, fast entree, size, noise. etc. Therefore, NAND flash is used widely as informations storage in embedded systems and will besides be used for Personal computer based systems in the close hereafter.
NAND brassy memory french friess are arranged into blocks ; each block has a fixed figure of pages, which are the units of read/write. A page is farther divided into a data part for hive awaying informations and a trim part for hive awaying the position of the informations part. In first coevals NAND flash memory, the typical page size was 512 bytes, the extra trim part was 16 bytes, the block size was 16 KB, and it was composed of 32 pages. As its capacity grew, the page size of the following coevals became 2KB with an extra 64 bytes in the trim part and the block size became 128 KB. Due to blink memory features in the signifier of Electrically Erasable Read Merely Memory ( EEPROM ) , in-place updates are non allowed. This means that, when information is modified, the new informations must be written to an available page in another place and this page is so considered a unrecorded page. Consequently, the page that contained the old information is considered a dead page. As clip base on ballss, a big part of brassy memory is composed of dead pages and the system should repossess the dead pages for composing operations. The erase operation makes dead pages become available once more. However, because the unit of an erase operation is a block, which is much larger than a write unit, this mismatch consequences in an extra copying of unrecorded pages to another location when wipe outing a block [ 3 ] [ 4 ] . This procedure is called refuse aggregation. Professionals and cons of Solid State Drives ( SSD ) and Solid Disk Drives ( HDD ) are compared in table 1.
No traveling parts – solid province building
Traveling parts – revolving platter with mechanical arm
Tolerant of daze and quiver
harm from daze and quiver
Higher cost per GB
Lower cost per GB
Very fast random entree and read velocities
Slower read/write public presentation
Ideal for lower capacity: 16GB to 128GB
Higher entire capacity, up to 1TB
Lower power ingestion
Higher power ingestion
Table 1. Comparison of SSD and HDD
In this subdivision, we present a brief overview of brassy memory restraints and old plants on flash-based storage systems.
Flash memory has three physical restraints. The first restraint is a restraint in which an in-place update is non allowed because any written countries should be erased before they can be reprogrammed. Out-of-place updates are responsible for most of the restraints in the design of brassy registering systems. The 2nd restraint is a size job in which the size of the erase unit is much larger than that of a plan unit. The erase unit is called an erase block. In a recent flash bit, the size of an erase block is 128 Kbytes, whereas the write unit is a word or a page of 2 Kbytes. Therefore, unrecorded informations and disused informations may be in an erase block. A cleaning operation like refuse aggregation is so required to travel the unrecorded information into a free erase block before the erasure. The 3rd restraint is the limited life span of an erase block due to the figure of erase counts. Normally 100,000 erase rhythms are guaranteed for each erase block. The erase rhythms should be even throughout all of the erase blocks in order to level the wear of the erase blocks [ 5 ] [ 6 ] .
Many plants have focused on efficient flash-based storage systems and they can be classified into two chief schemes. The first scheme involves the creative activity of a practical block device bed, called a flash interlingual rendition bed [ 8 ] , between a bequest file system and brassy french friess. The brassy interlingual rendition bed hides the brassy memory restraints from the bequest file system. The other scheme is to implement a flash-aware file system which is designed specifically for direct usage on brassy french friess without interlingual rendition beds. The flash cognizant file system, which differs from bequest file systems, should be cognizant of the flash belongingss of out-of-place updates. Many little embedded devices in a omnipresent detector web are equipped with brassy memories and flash-aware file systems. The ELF [ 9 ] , MicroHash [ 10 ] , and TINX [ 11 ] systems are designed to hive away perceived informations in the NAND flash of detector devices. The most of import design restraints are little memory demand and low power ingestion.
In add-on, the Journaling Flash File System 2 ( JFFS2 ) [ 12 ] and Yet Another Flash File System ( YAFFS ) [ 13 ] systems were designed for general embedded systems equipped with several Ms of NAND flash. These designs, which are based on a traditional log structured file system [ 14 ] , can execute out-of-place Updates and cleansing.
However, the JFFS2 and YAFFS systems were designed for little brassy memory of less than several Ms. For these systems, the full flash medium should be scanned at the climb clip. Furthermore, because the scanning clip is relative to the size of the brassy memory, the clip required for mounting a big brassy memory would be unbearable. Another consideration is the fact that every file abstraction and informations constructions for resource direction should ever be loaded into the RAM. In footings of mounting clip and memory demands, the old JFFS2 and YAFFS systems are non scalable. In JFFS2, most of the NAND brassy country should be scanned to lade file system-specific informations constructions in the RAM. However, YAFFS scans the full trim part for lading file system constructions and portion of the information parts that contain metadata. To relieve the scalability job for big flash memories, research workers on CFFS [ 1 ] and JFFS3 [ 15 ] have proposed a decrease in the scanning clip and memory demands.
However, the old NAND flash-based flash file systems failed to see the lastingness and life span of frequent little updates and there was a tradeoff between lastingness and the life span. For a lasting system, the file system should be mounted as a synchronal manner, ensuing in the cachexia of a individual page of the NAND flash for the authorship of even a little sum of informations. Asynchronous authorship, on the other manus, forfeits data lastingness.
A more efficient usage of brassy memory as storage would be possible by utilizing a file system designed specifically for usage on such devices, without the excess interlingual rendition bed. One such design is the Journaling Flash File System 2 ( JFFS2 ) [ 6 ] . The JFFS2 is a logstructured file system that consecutive shops the nodes incorporating informations and metadata in every free part in the flash bit. However, in the design of the JFFS2, the NAND brassy memory features, such as the trim parts and read/write units, were non to the full considered and utilized. Therefore, the public presentation of the JFFS2 with NAND flash memory storage is reduced, particularly for the saddle horse clip and RAM footmark. The JFFS2 creates a new node incorporating both the inode and information for the file when the write operation is performed and the corresponding inode ‘s version is increased by one. Therefore, the JFFS2 should scan the full flash memory media at the climb clip in order to happen the inode with the latest version figure. Furthermore, many in-memory footmarks are required to keep all the node information.
Another more efficient attack to utilizing brassy memory as storage is the Yet Another Flash File System ( YAFFS ) [ 7 ] , which is designed specifically for NAND brassy memory french friess. In YAFFS, each page is marked with a file ID and ball figure. The file ID denotes the file inode figure and the ball figure is determined by spliting the file place by the page size. These Numberss are stored in the trim part of the NAND brassy memory. Therefore, the boot scanning clip to construct file constructions should merely necessitate reading of the trim part ; therefore, the climb clip is faster than that of the JFFS2. However, it besides requires full flash scanning to happen out the flash use, so the boot scanning clip additions linearly along with the brassy memory size. The overall brassy memory-based file system architecture is shown in Figure 1.
Figure 1. Brassy memory-based file system architecture.
These two designs, JFFS2 and YAFFS, are effectual for sing the features of brassy memory and output better public presentation than the brassy interlingual rendition methods because the interlingual rendition bed between the file system and brassy memory bit is non present. However, in planing a flash file system, these two file systems barely consider the file system features, such as the different features between metadata and informations and the file use forms harmonizing to the file sizes. These features greatly affect the brassy memory public presentation.
The design ends of the flash file system, which is called the Core Flash File System ( CFFS ) , are determined by the different entree forms between the metadata and informations and the file use forms harmonizing to the file sizes. The cardinal file system construction of the CFFS has followed that of YAFFS [ 7 ] . In the CFFS, each inode occupies an full page, like YAFFS. Each inode includes its properties, such as its i-number, uid, gid, ctime, atime, mtime, and so on. In add-on to this, the inode shops its file name and parent inode arrow ; therefore, the CFFS does non hold distinguishable dentries in the media. This can cut down extra flash page updates because a dentry update is non required. For fast search in the directory, the CFFS constructs the dentry in the RAM when the system is booted. File information is stored as a ball whose size is the same as a brassy page. Each information ball is marked with an inode figure and a ball figure in the trim part ; the ball figure represents the file beginning, so it is determined by spliting the file place by the page size. If an inode occupied one page, it would necessitate a high storage capacity compared with other Unix-like file systems, such as Ext2 ; nevertheless, one page per file is non a important operating expense compared to the big informations part. Rather, if several inodes portion one flash page, as in the Ext2 file system, the update frequence of that page will increase by the figure of inodes stored on that page, therefore ensuing in many flash pages being consumed because some alterations of brassy pages require whole page updates. Therefore, the consequence of a one page business per inode can hold a similar consequence to the sharing of several inodes on one flash page.
The chief characteristic of the CFFS is the information index entries in the inode construction. Since an full flash page is used for one inode, legion indexing entries can be allocated to indicate to the information parts. For illustration, if we use a brassy memory with a 512 byte page size, 64 four-byte index entries can be ; if we use a brassy memory with a 2 KB page size, 448 four-byte index entries can be. The four-byte figure figure is sufficient to indicate to an single flash page. Using these index entries, the CFFS classifies the inode into two categories: I _ class1 maintains direct indexing for all index entries except the concluding 1 and I _ class2 maintains indirect indexing for all index entries except the concluding 1. The concluding index entry is indirectly indexed for one _ class1 and dual indirectly indexed for I _ class2.
III. HYBRID SOLID STATE DEVICE FLASH FILE SYSTEM
In this subdivision, we describe the architecture, information constructions, and operations of our proposed HSSDFFS. We besides present an analysis of the life span and the threshold size that determines whether informations is logged to the NOR flash or stored in NAND flash. Finally,
Figure 2 The Flash solid province devices.
We discuss public presentation issues with regard to the defects of the NAND and NOR flash.
The architecture of a intercrossed solid province device is designed based on the features of SSD. Every SSD device can be spitted in to two parts called hot and cold country as shown in figure 3 with separated read and write country. The Figure 4 shows how the HSSDFFS uses both types of brassy memory as a storage medium. First, NAND flash consists of multiple erase blocks, which are the unit of the erase operations. Each erase block contains a fixed figure of pages, which are the unit of I/O operation. A page is a basic allotment unit and each page may incorporate file informations or metadata. Second, the NOR flash besides consists of multiple erase blocks and each erase block has multiple log blocks. A log block, which is reserved for a file and contains multiple variable-sized logs that correspond to the file, is a basic allotment unit for the NOR flash. The size of the log block is defined when the file system is created [ 7 ] [ 8 ] .
There are two resource direction faculties for both types of brassy memory. The resource direction covers the direction of erase blocks, refuse aggregation, and the allotment of free pages or log blocks. Other than these two resources direction faculties for both types of brassy memory, there is a file direction faculty. For each file, there are three matching types of informations: metadata, file informations, and logs. The file direction faculty should keep the metadata, file informations, and logs of each file.
The file metadata is stored in the NAND flash, but the file informations can be written in either the NAND flash or the NOR flash. When the file informations is little plenty it is transformed to a log and the log is written in the NOR flash. Otherwise, the file informations is written in the NAND flash.
Figure 3. The architecture of a intercrossed solid province device.
Figure 4. The architecture of a intercrossed solid province device flash file system ( HSSDFFS ) .
B. File Operationss
File operations usually follow the same procedure as in the old execution of the CFFS so that entree is directed merely to the NAND flash. However, when a file is associated with logs, the operations become somewhat complex.
C. Reading a File
When a file is foremost accessed, the file ‘s metadata is read as a agency of look intoing whether the file has logs in the NOR flash. If the log block reference in the metadata is invalid, the file does non hold logs in the NOR flash and the read operation is later directed to the NAND flash. On the other manus, if the file has logs in the NOR flash, the log block is scanned and the corresponding log map is loaded in the RAM before the information or properties of the file are read. Because a log heading contains the length of the undermentioned log informations, we can turn up the following log heading. Furthermore, by reading all of the log headings, we can build a log map that is a double linked list of log forms. When the log map is wholly loaded in the RAM, the requested read operation is serviced by the reading of logs that are described in the coupled list of logs.
D. Writing a Small Amount of Data to a File
When an application appends a little sum of informations to a file, the size of the information is checked foremost. Merely data that is smaller than a preset threshold is stored as a log in the NOR flash ; larger sums of informations are stored in the NAND flash. To compose file informations as a log, we need to look into if the log block reference in the metadata is valid. If the log block reference is invalid, the file does non hold logs in the NOR flash ; hence, a new empty log block is allocated to the file and a new log map is constructed in the RAM.
If the log block reference is valid, the file has logs in the NOR flash ; hence, the log block should be scanned and the corresponding log map should be loaded in the RAM before the information is appended. Finally, the new information is appended at the tail of the log block, a new form of the log is appended to the log map in the RAM, and the file metadata is updated with an reference of the freshly allocated log block.
However, while add oning logs, the log block grows and is filled with logs. When the log block is filled with adequate logs, all of the logs in the log block are transferred to informations pages of the NAND flash. We refer to this occupation as flushing. The flushing occupation includes the burden of file informations from the log block to RAM, the allotment of free informations pages in the NAND flash, the authorship of laden file informations to the NAND flash, and the devising of an disused grade for the rose-cheeked log block. The log block finally becomes disused and can be erased subsequently.
E Performance Issues
The NOR flash has faster entree but a much slower write and erase clip than the NAND flash. We discuss the public presentation defects of the NOR flash in footings of the erase latency, the write latency, the flushing clip, and the wear grading.
1. Erase Latency
The NOR flash has a much longer erase clip than the NAND flash. Erasing one block of 64 Kbytes takes around 0.7 second in a typical NOR flash [ 3 ] but 2 msecs in a recent NAND flash [ 2 ] . The really long erasing clip greatly reduces the write throughput and the real-time public presentation of the NOR flash.
However, we can conceal the long erase hold by running a cleansing yarn in the background. Recent brassy french friess support two advanced characteristics to supply pre emptive cape of an erase operation, viz. , the erase suspend/resume characteristic and the coincident read/write characteristic [ 16 ] .
2. Write Rotational latency
By and large talking, the write latency of NOR flash is longer than that of NAND flash, but it depends on the size of the written informations. Because NOR flash is byte addressable, the write latency is linearly relative to the size of the written information. However, the fixed clip for programming one page elapses whenever a little sum of information is written in the NAND flash. For case, the clip taken to compose one word ( 2 bytes ) is about the same as the clip taken to compose one page ( 2 Kbytes ) in the NAND flash. The write latencies for composing informations of less than 32 bytes are comparable in both types of brassy memory.
The flushing procedure blocks other read or write petitions until it is completed because the flushing should be performed atomically for consistence. The hold depends on the size of a log block. As a log block becomes larger, the flushing is deferred farther and the flushing hold is prolonged. Therefore, the size of a log block should be carefully chosen in order to run into a given real-time system demand.
4. Wear-Leveling Effectss
In our HSSDFFS, every little point of informations is consecutive logged in the NOR flash merely until it is flushed to the NAND flash. Therefore, a complex wear-leveling strategy is unneeded for the NOR flash. Alternatively, we allocated an empty erase block in a consecutive order, thereby enabling the wear of the erase blocks to be leveled of course. Furthermore, the HSSDFFS provides a better refuse aggregation public presentation of the NAND flash than a conventional flash file system, which generates inordinate refuse while synchronously add oning frequent little sum of informations.
In a conventional NAND flash-based flash file system, there is a tradeoff between the life span and lastingness. Because NAND flash supports merely a page-level I/O, a individual page of 2 Kbytes is required in order to synchronously compose a little sum of informations. Our HSSDFFS prolongs the life span and enhances the lastingness of written informations more efficaciously than conventional NAND flash-based file systems. When we append a little sum of informations to a file, the informations are synchronously stored as a log in the NOR flash. The incorporate logs are so flushed to the NAND flash in a page-aligned manner. By making this, we avoid data loss in the event of an unexpected power outage. Furthermore, by increasing the use of NAND flash, we can protract the life span than a conventional NAND flash-based file system. Finally, the HSSDFFS provides a individual combined divider to ease its use in many countries.