30°C Power On 12 to 36 watts - for fanless sealed system design ...

30°C Power On 12 to 36 watts - for fanless sealed system design ... 30°C Power On 12 to 36 watts - for fanless sealed system design ...

inethub.olvi.net.ua
from inethub.olvi.net.ua More from this publisher
30.12.2012 Views

ESE Magazine Jan/Feb 06 48 Flash storage solutions for microcontrollers Dave Hughes, HCC-Embedded Flash memory provides many advantages, but designers need to take care to extract these benefits. IN RECENT YEARS flash based microcontrollers have flooded the market from all the major players – they are now the norm rather than the exception. Additionally the arrival of ever larger serial flash devices with small erasable sectors has given the possibility of extending the storage capabilities of micros without the requirement for additional resources. Many new applications immediately suggest themselves, such as field customisation, field upgrades, dynamic configuration files, data logging, diagnostics and more. But can this flash be used as more than a masked ROM substitute? Can the flash be used reliably for these new applications? We are paying for the more sophisticated flash solution – but how do we extract the benefits? Flash basics Firstly we need to look at the issues: All flash is different – the specifications for each device used must be studied to get reliable results from a flash device. It is hard to find two devices from different product families which have identical flash characteristics but there are some basic features which are common to most: ● Can only write down i.e. 1’s to 0’s ● Must Erase in Blocks to set bits back to 1. ● Write in pages or Bytes depending on flash type ● Some devices write to RAM buffer and erase the page before writing ● Some flash types may need refreshing to prevent bit flipping ● Some devices have cumulative write time limits before a refresh must be done ● All devices have a typical Erase/write Cycle limitation before errors develop ● Wear-levelling is a useful process to counter this limitations ● Unexpected reset problem – both in write and erase operations – if a write or erase is broken then the results in the page are unpredictable and it is necessary to be sure whether a page is valid or not. ● Power Management – all flash is sensitive to unstable voltages – if the power drops below the specified level then erase and write operations will have unpredictable results. It is this collection of characteristics on flash devices which creates the challenge – how to use this flash reliably? Use a file system These problems are quite complex to address and there are different rules for every flash device type which have to be taken in to consideration in any design. One method to hide all this complexity from the developer is to use a file system – specifically designed for the target flash – which means the developer can access the flash thorough standard API calls and can forget about the details of what happens underneath. Using a file system has many benefits. Data becomes position independent, this is managed by the file system. There is a standard interface to data which makes for easy porting and testing across a range of platforms if necessary. And finally, as the the flash technology is hidden from the designer they are free to focus on their core competences. Connecting to a host The “standard route” for connecting embedded file systems to a host system would be to add a USB Mass Storage interface and a FAT file system but there are some disadvantages to this approach for embedded systems developers. As the FAT file system is not fail safe there needs to be a check disk available. While this acceptable when a device is connected to the PC, what happens when it is in the field? FAT is space hungry, requiring a minimum of 20K disk space before storing data, which can be a significant overhead for many flash micros. When the host accesses the file system the target must stop access and vice versa, as either system can modify the FAT But can flash be used as more than a masked ROM substitute? Can it be used reliably for new applications? We are paying for the more sophisticated flash solution – but how do we extract the benefits? Figure 1: uCDrive. structures, however there is no way to inform the host that the target has made changes or vice versa. There are no security options on a FAT system. And, what can be a major factor, USB can be relatively expensive to design in. Another possibility is to provide specialized host drivers which interface to the embedded device in much the same way as NFS works – the file system is managed on the target in a reliable way – all systems access it through API calls. A virtual drive can then be created on the host system to give the user seamless drag and drop, double click access to the targets file system. HCC- Embedded specialises in small footprint, reliable, file systems designed for a variety of different flash devices both using internal microcontroller flash and externally connected small sector flash. The uCDrive system provides this connectivity through a serial port, and HCC will soon be providing USB connectivity. Your embedded system then truly appears as a standard drive . www.hcc-embedded.com

ESE Magazine Jan/Feb 06 <br />

48<br />

Flash s<strong>to</strong>rage solutions <strong>for</strong><br />

microcontrollers<br />

Dave Hughes, HCC-Embedded <br />

Flash memory provides many advantages, but <strong>design</strong>ers<br />

need <strong>to</strong> take care <strong>to</strong> extract these benefits.<br />

IN RECENT YEARS flash based<br />

microcontrollers have flooded the market<br />

from all the major players – they are now<br />

the norm rather than the exception.<br />

Additionally the arrival of ever larger serial flash<br />

devices with small erasable sec<strong>to</strong>rs has given<br />

the possibility of extending the s<strong>to</strong>rage capabilities<br />

of micros without the requirement <strong>for</strong> additional<br />

resources.<br />

Many new applications immediately suggest<br />

themselves, such as field cus<strong>to</strong>misation, field<br />

upgrades, dynamic configuration files, data logging,<br />

diagnostics and more.<br />

But can this flash be used as more than a<br />

masked ROM substitute? Can the flash be used<br />

reliably <strong>for</strong> these new applications? We are paying<br />

<strong>for</strong> the more sophisticated flash solution –<br />

but how do we extract the benefits?<br />

Flash basics<br />

Firstly we need <strong>to</strong> look at the issues: All flash is<br />

different – the specifications <strong>for</strong> each device<br />

used must be studied <strong>to</strong> get reliable results from<br />

a flash device. It is hard <strong>to</strong> find two devices from<br />

different product families which have identical<br />

flash characteristics but there are some basic<br />

features which are common <strong>to</strong> most:<br />

● Can only write down i.e. 1’s <strong>to</strong> 0’s<br />

● Must Erase in Blocks <strong>to</strong> set bits back <strong>to</strong> 1.<br />

● Write in pages or Bytes depending on flash<br />

type<br />

● Some devices write <strong>to</strong> RAM buffer and erase<br />

the page be<strong>for</strong>e writing<br />

● Some flash types may need refreshing <strong>to</strong><br />

prevent bit flipping<br />

● Some devices have cumulative write time<br />

limits be<strong>for</strong>e a refresh must be done<br />

● All devices have a typical Erase/write Cycle<br />

limitation be<strong>for</strong>e errors develop<br />

● Wear-levelling is a useful process <strong>to</strong> counter<br />

this limitations<br />

● Unexpected reset problem – both in write<br />

and erase operations – if a write or erase is<br />

broken then the results in the page are<br />

unpredictable and it is necessary <strong>to</strong> be sure<br />

whether a page is valid or not.<br />

● <strong>Power</strong> Management – all flash is sensitive<br />

<strong>to</strong> unstable voltages – if the power drops<br />

below the specified level then erase and<br />

write operations will have unpredictable<br />

results.<br />

It is this collection of characteristics on flash<br />

devices which creates the challenge – how <strong>to</strong><br />

use this flash reliably?<br />

Use a file <strong>system</strong><br />

These problems are quite complex <strong>to</strong> address<br />

and there are different rules <strong>for</strong> every flash<br />

device type which have <strong>to</strong> be taken in <strong>to</strong> consideration<br />

in any <strong>design</strong>. <strong>On</strong>e method <strong>to</strong> hide all<br />

this complexity from the developer is <strong>to</strong> use a<br />

file <strong>system</strong> – specifically <strong>design</strong>ed <strong>for</strong> the target<br />

flash – which means the developer can access<br />

the flash thorough standard API calls and can<br />

<strong>for</strong>get about the details of what happens underneath.<br />

Using a file <strong>system</strong> has many benefits. Data<br />

becomes position independent, this is managed<br />

by the file <strong>system</strong>. There is a standard interface<br />

<strong>to</strong> data which makes <strong>for</strong> easy porting and testing<br />

across a range of plat<strong>for</strong>ms if necessary. And<br />

finally, as the the flash technology is hidden<br />

from the <strong>design</strong>er they are free <strong>to</strong> focus on their<br />

core competences.<br />

Connecting <strong>to</strong> a host<br />

The “standard route” <strong>for</strong> connecting embedded<br />

file <strong>system</strong>s <strong>to</strong> a host <strong>system</strong> would be <strong>to</strong> add a<br />

USB Mass S<strong>to</strong>rage interface and a FAT file <strong>system</strong><br />

but there are some disadvantages <strong>to</strong> this<br />

approach <strong>for</strong> embedded <strong>system</strong>s developers. As<br />

the FAT file <strong>system</strong> is not fail safe there needs <strong>to</strong><br />

be a check disk available. While this acceptable<br />

when a device is connected <strong>to</strong> the PC, what happens<br />

when it is in the field? FAT is space hungry,<br />

requiring a minimum of 20K disk space be<strong>for</strong>e<br />

s<strong>to</strong>ring data, which can be a significant overhead<br />

<strong>for</strong> many flash micros. When the host accesses<br />

the file <strong>system</strong> the target must s<strong>to</strong>p access and<br />

vice versa, as either <strong>system</strong> can modify the FAT<br />

But can flash be used as more than a masked ROM substitute? Can it be used<br />

reliably <strong>for</strong> new applications? We are paying <strong>for</strong> the more sophisticated flash<br />

solution – but how do we extract the benefits?<br />

Figure 1: uCDrive.<br />

structures, however there is no way <strong>to</strong> in<strong>for</strong>m the<br />

host that the target has made changes or vice<br />

versa. There are no security options on a FAT <strong>system</strong>.<br />

And, what can be a major fac<strong>to</strong>r, USB can be<br />

relatively expensive <strong>to</strong> <strong>design</strong> in.<br />

Another possibility is <strong>to</strong> provide specialized<br />

host drivers which interface <strong>to</strong> the embedded<br />

device in much the same way as NFS works – the<br />

file <strong>system</strong> is managed on the target in a reliable<br />

way – all <strong>system</strong>s access it through API calls. A<br />

virtual drive can then be created on the host <strong>system</strong><br />

<strong>to</strong> give the user seamless drag and drop, double<br />

click access <strong>to</strong> the targets file <strong>system</strong>. HCC-<br />

Embedded specialises in small footprint, reliable,<br />

file <strong>system</strong>s <strong>design</strong>ed <strong>for</strong> a variety of different<br />

flash devices both using internal microcontroller<br />

flash and externally connected small sec<strong>to</strong>r flash.<br />

The uCDrive <strong>system</strong> provides this connectivity<br />

through a serial port, and HCC will soon be providing<br />

USB connectivity. Your embedded <strong>system</strong><br />

then truly appears as a standard drive .<br />

<br />

www.hcc-embedded.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!