<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Data Matters - A blog about flash memory &#187; data corruption</title>
	<atom:link href="http://blog.datalight.com/tag/data-corruption/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.datalight.com</link>
	<description>Datalight's blog on flash memory, device data storage, data reliability and the embedded industry</description>
	<lastBuildDate>Wed, 23 Jun 2010 16:59:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Reliance Transactional File system demo</title>
		<link>http://blog.datalight.com/reliance-transactional-file-system-demo</link>
		<comments>http://blog.datalight.com/reliance-transactional-file-system-demo#comments</comments>
		<pubDate>Thu, 21 Aug 2008 20:15:47 +0000</pubDate>
		<dc:creator>michele</dc:creator>
				<category><![CDATA[Datalight Products]]></category>
		<category><![CDATA[Flash File System]]></category>
		<category><![CDATA[data corruption]]></category>
		<category><![CDATA[flash file system]]></category>
		<category><![CDATA[reliability]]></category>

		<guid isPermaLink="false">http://blog.datalight.com/?p=61</guid>
		<description><![CDATA[Demonstrating how system software work in a visual manner is an interesting problem, especially in embedded space. There is no UI or visual effects to WOW the audience. To evaluate the value system software components bring to an embedded design, the customer usually needs to configure our software on his embedded development board. This provides [...]]]></description>
			<content:encoded><![CDATA[<p>Demonstrating how system software work in a visual manner is an interesting problem, especially in embedded space. There is no UI or visual effects to WOW the audience. To evaluate the value system software components bring to an embedded design, the customer usually needs to configure our software on his embedded development board. This provides for comprehensive evaluation but can be a significant effort. . We run into this very often at Datalight since our primary products (FlashFX Pro and Reliance) are system level <a class="zem_slink" title="Embedded software" rel="wikipedia" href="http://en.wikipedia.org/wiki/Embedded_software" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">embedded software</a>. One way we have attempted to demonstrate our software is to make a full-functional version of our software run on user’s desktop PC. This allows the customer to run the software without any special hardware in matter of minutes and understand the core working of our software. Once they believe there is value, the can request source code access and try it on the actual embedded hardware.</p>
<p>The first demonstration that we have built is for Datalight Reliance. This demo is available to all users who are registered for <a href="http://www.datalight.com/mydatalight/" >MyDatalight </a>account. The video below shows how you can use this software on any Windows PC and understand how Reliance unique transactional design allows for 100% reliability against <a class="zem_slink" title="Data corruption" rel="wikipedia" href="http://en.wikipedia.org/wiki/Data_corruption" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">data corruption</a> and how Dynamic Transaction Point technology allows developers to tune their file system even while the device is running.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/P0u96xhBaqY&amp;hl=en" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://www.youtube.com/v/P0u96xhBaqY&amp;hl=en" wmode="transparent"></embed></object></p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Zemified by Zemanta" href="http://reblog.zemanta.com/zemified/51b3b4b3-cd56-43c8-aae4-5709e760a1e4/"><br />
</a></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.datalight.com/reliance-transactional-file-system-demo/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Datalight Reliance on rotating-media devices (hard drives)</title>
		<link>http://blog.datalight.com/using-datalight-reliance-on-rotating-media-devices-hard-drives</link>
		<comments>http://blog.datalight.com/using-datalight-reliance-on-rotating-media-devices-hard-drives#comments</comments>
		<pubDate>Thu, 31 Jul 2008 19:37:34 +0000</pubDate>
		<dc:creator>michele</dc:creator>
				<category><![CDATA[Datalight Products]]></category>
		<category><![CDATA[Flash File System]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Reliability]]></category>
		<category><![CDATA[data corruption]]></category>
		<category><![CDATA[flash file system]]></category>
		<category><![CDATA[Flash Memory]]></category>
		<category><![CDATA[Hard disk drive]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[MLC NAND]]></category>
		<category><![CDATA[Solid-state drive]]></category>

		<guid isPermaLink="false">http://blog.datalight.com/?p=42</guid>
		<description><![CDATA[Image via Wikipedia
Being in the flash memory management space for 15+ years, a very high number of our customers use our products on flash memory (NAND, NOR, NAND controllers, Fusion flash like Samsung OneNAND, etc). Now FlashFX Pro is designed only for flash memory but Datalight Reliance is a file system that works on all [...]]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img" style="margin: 1em; float: right; display: block;"><a href="http://en.wikipedia.org/wiki/Image:Western_Digital_Caviar280.JPG" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');"><img style="border: medium none; display: block;" src="http://upload.wikimedia.org/wikipedia/en/thumb/9/91/Western_Digital_Caviar280.JPG/202px-Western_Digital_Caviar280.JPG" alt="Western Digital Caviar280 (WDAC280-32) - 85." /></a><span class="zemanta-img-attribution">Image via <a href="http://en.wikipedia.org/wiki/Image:Western_Digital_Caviar280.JPG" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">Wikipedia</a></span></div>
<p>Being in the flash memory management space for 15+ years, a very high number of our customers use our products on flash memory (<a class="zem_slink" title="Flash memory" rel="wikipedia" href="http://en.wikipedia.org/wiki/Flash_memory" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">NAND</a>, NOR, NAND controllers, Fusion flash like Samsung OneNAND, etc). Now FlashFX Pro is designed only for flash memory but Datalight Reliance is a file system that works on all block devices. This includes <a class="zem_slink" title="Hard disk drive" rel="wikipedia" href="http://en.wikipedia.org/wiki/Hard_disk_drive" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">hard drives</a>, <a class="zem_slink" title="USB flash drive" rel="youtube" href="http://www.youtube.com/watch?v=NyOFIH-6WGs" onclick="javascript:pageTracker._trackPageview('/www.youtube.com');">USB flash drives</a>, removable cards like SD, CF, solid state drives (<a class="zem_slink" title="Solid-state drive" rel="wikipedia" href="http://en.wikipedia.org/wiki/Solid-state_drive" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">SSD</a>), etc. The advantage Reliance brings to these devices is of reliability against data corruption, fast mount times and fast I/O throughput. It also mandates certain requirements on the physical media to ensure reliability against data corruption. We have had customers use Reliance on hard drives before and I want to share some requirements for Reliance to provide high reliability on rotating media. This post is specific to <a class="zem_slink" title="Linux kernel" rel="homepage" href="http://www.kernel.org/" onclick="javascript:pageTracker._trackPageview('/www.kernel.org');">Linux</a> but the general concepts should be applicable to all OSes.</p>
<p>Reliance is a transactional file system and at each transaction point it flushes all its internal caches and commits the data to disk in atomic operations. Primary requirement for Reliance to function on hard drives is that the hardware and the ATA driver must support the “FLUSH CACHE” command. The Linux IDE disk driver checks bits 12 and 13 of word 83 in the IDENTIFY DEVICE information to determine whether FLUSH CACHE is supported.  These bits are defined by the <a class="zem_slink" title="AT Attachment" rel="wikipedia" href="http://en.wikipedia.org/wiki/AT_Attachment" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">ATA-6</a> specification, and are not set in earlier drives.  The IDE disk driver will report whether it has detected this capability in a drive.  This is available in the system log.  A typical message will look like:</p>
<p><em>Jun  9 09:49:23 billr-qa kernel: [   18.621740] hda: cache flushes supported</em></p>
<p>Since there are a vast number of hard disks on the market and new ones are constantly being introduced (and old ones discontinued), it is a little difficult for Datalight to qualify all hard drives and recommend a specific one. Generally any disk that conforms to the ATA-6 specification and reports that it supports FLUSH CACHE should work correctly with Reliance.  Reliance reports whether it is able to use flush to ensure correct operation, the system log typically looks like this:</p>
<p><em>Jun  9 09:52:44 billr-qa kernel: [  240.283463] relfs: <a class="zem_slink" title="Device node" rel="wikipedia" href="http://en.wikipedia.org/wiki/Device_node" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">block device</a> supports flush.</em></p>
<p>If this message appears in the log, Reliance should operate correctly when power is interrupted unexpectedly.</p>
<p><em>Datalight&#8217;s power interruption testing has been performed on a Western Digital AC29100D using kernel version 2.6.21.1</em></p>
<p>If you have any questions on the FLUSH CACHE on an OS other than Linux, please leave a comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.datalight.com/using-datalight-reliance-on-rotating-media-devices-hard-drives/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash File Systems</title>
		<link>http://blog.datalight.com/flash-file-systems</link>
		<comments>http://blog.datalight.com/flash-file-systems#comments</comments>
		<pubDate>Tue, 10 Jun 2008 17:56:33 +0000</pubDate>
		<dc:creator>michele</dc:creator>
				<category><![CDATA[Flash File System]]></category>
		<category><![CDATA[Flash Memory]]></category>
		<category><![CDATA[Computer data storage]]></category>
		<category><![CDATA[data corruption]]></category>
		<category><![CDATA[flash driver]]></category>
		<category><![CDATA[flash file system]]></category>
		<category><![CDATA[flash file systems]]></category>
		<category><![CDATA[flash management]]></category>
		<category><![CDATA[flash manager]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[NAND]]></category>
		<category><![CDATA[wear leveling]]></category>

		<guid isPermaLink="false">http://blog.datalight.com/?p=11</guid>
		<description><![CDATA[Flash memory has established itself as the technology of choice for device data storage on embedded devices. The advantages it brings in terms of storage capacity, I/O throughput, power consumption and board space savings are significant. In 2007, flash memory was a $7.7 billion industry. Analysts predict a 23% growth of the flash memory market [...]]]></description>
			<content:encoded><![CDATA[<p>Flash memory has established itself as the technology of choice for device data storage on embedded devices. The advantages it brings in terms of storage capacity, I/O throughput, power consumption and board space savings are significant. In 2007, flash memory was a $7.7 billion industry. Analysts predict a 23% growth of the flash memory market between 2007 and 20111; surpassing the history-making growth of <a class="zem_slink" title="Dynamic random access memory" rel="wikipedia" href="http://en.wikipedia.org/wiki/Dynamic_random_access_memory" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">DRAM</a> ten times over.</p>
<p>One of the barriers to flash memory adoption is its perceived complexity of integration into a product design. With the flash memory market branching to multiple product lines beyond traditional NAND and NOR devices, this perception, along with a concern about the reliability of flash, is becoming magnified. Basic flash management software can lessen the complexity of integration, and sophisticated flash software can ensure the optimum lifetime and reliability of a flash device.</p>
<p>The challenges of integrating flash memory are broad, including operations from the seemingly simple – like reading, writing, and overwriting data – to the exceedingly complex – such as bad block management and <a class="zem_slink" title="Wear levelling" rel="wikipedia" href="http://en.wikipedia.org/wiki/Wear_levelling" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">wear-leveling</a>. When flash memory is not accompanied by an intelligent software manager, the system will suffer from slow reads and writes, data corruption, and a short usable life.</p>
<p>There has been a lot of interpretations for the term “<a class="zem_slink" title="Flash memory" rel="wikipedia" href="http://en.wikipedia.org/wiki/Flash_memory" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">Flash File System</a>”. Some consider it as the combination of flash management software and a block file system. For some it is just the flash management piece. The following diagram shows the different layers involved in managing data on flash memory and the corresponding terminologies for software components</p>
<p><a href="http://blog.datalight.com/wp-content/uploads/2008/06/clip-image0021.jpg" ><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://blog.datalight.com/wp-content/uploads/2008/06/clip-image002-thumb1.jpg" border="0" alt="clip_image002" width="464" height="363" /></a></p>
<p>· <strong>Flash Driver</strong>: Basic software that provides rudimentary read/write access to flash; this software is often acquired from the chip provider, and is usually part-specific.</p>
<p>· <strong>Flash Manager</strong>: In addition to the functionality of a flash driver, a flash manager also intelligently determines which part is being used, and handles it accordingly – whether it is NAND, NOR, or a fusion of the two (i.e. Samsung OneNAND, or Spansion ORNAND). Bad block management, wear-leveling, garbage collection, and <a class="zem_slink" title="Error detection and correction" rel="wikipedia" href="http://en.wikipedia.org/wiki/Error_detection_and_correction" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">error detection and correction</a> are features that a flash manager provides. A flash manager may also be designed to take advantage of unique performance or technical characteristics a specific part provides. Flash managers are sometimes referred to as FTL (flash translation layers).</p>
<p>· <strong>Flash File System</strong>: Contains the flash driver and the flash manager aspects, but also incorporates a file system that is designed for use with flash memory. In the way of performance optimizations, a flash file system includes a discard interface which ensures that erased blocks are immediately available for use by both the file system and the flash manager without additional queries to those blocks.</p>
<p>The following diagram shows the flash file system in perspective of an embedded device</p>
<p><a href="http://blog.datalight.com/wp-content/uploads/2008/06/clip-image0031.png" ><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://blog.datalight.com/wp-content/uploads/2008/06/clip-image003-thumb1.png" border="0" alt="clip_image003" width="580" height="278" /></a></p>
<p>Hope this post was useful in understanding the layers of flash management. In the next post in the series, we will look at various flash <a class="zem_slink" title="File system" rel="wikipedia" href="http://en.wikipedia.org/wiki/File_system" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">file systems</a> for one of the most talked-about embedded OS – Linux.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Zemified by Zemanta" href="http://reblog.zemanta.com/zemified/27077ad0-f62a-4a2a-a992-2dd649f0504d/" onclick="javascript:pageTracker._trackPageview('/reblog.zemanta.com');"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/reblog_e.png?x-id=27077ad0-f62a-4a2a-a992-2dd649f0504d" alt="Zemanta Pixie" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.datalight.com/flash-file-systems/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
