3.3754674645019 (1337)
Posted by motoman 03/11/2009 @ 10:13

Tags : flash, graphics, software, technology, dc comics, publishers, comics, entertainment

News headlines
St. Petersburg Journal A Mobster Trial, and a Flash of a Violent Past - New York Times
By MICHAEL SCHWIRTZ Vladimir S. Barsukov attending a fashion show in Russia in 2003, right. Mr. Barsukov is being tried on charges of illegal corporate raiding, extortion, fraud and attempted murder, among other crimes. Mr. Barsukov at a hearing in...
Flash Flood Warning - WLFI.com
Small wonders: the 2009 Ars USB flash drive roundup - Ars Technica
Since our last roundup in 2005, USB flash drives have become ubiquitous. So ubiquitous, in fact, that we wondered whether there was any difference at all among models. In our 2009 roundup, we find out the answer. By Matt Woodward | Last updated May 13,...
ABC to 'Flash Forward' - New York Times
By BRIAN STELTER; Compiled by STEVEN McELROY ABC is turning the Robert J. Sawyer novel “Flash Forward” — about what happens when people see glimpses of the future — into a series. The network said on Friday it had ordered 13 episodes of the series,...
Could Adobe be open-sourcing Flash? - Computerworld
First, Adobe released an excellent version of its Flash Player for Linux, and, more recently, the company launched a version of AIR (Adobe Integrated Runtime) for Linux. Now, however, with Strobe, its just announced Flash framework, Adobe looks like it...
NAND memory goes Flash, bang, wallop - TG Daily
By Mike Magee Taipei, Taiwan - The price of NAND flash memory is stabilizing after manufacturers slowed down supply of chips. But even after that action, sales of branded Flash fell by 2.4 percent in the first quarter of this year to $2.137 billion,...
Severe weather, flash flooding possible into tonight - Columbia Missourian
BY Joe Welsch COLUMBIA — The threat for severe weather this evening and overnight includes a severe thunderstorm watch and flash flood watch for Boone County. The severe thunderstorm watch, which extends from central Missouri west to Kansas City,...
Nokia Calling Flash Developers - Techtree.com
Cellphone major Nokia, under the wings of Forum Nokia, has called upon talented Flash developers to enter its Calling all Innovators contest to create and submit exceptional Flash Lite based applications. Developers have the option to choose from...
Sci-Fi On TV: Script Review Of 'Flash Forward' Pilot - Airlock Alpha
By ED LEFT ABC has given an official 13-episode pickup for their series "Flash Forward," adapted from the novel of the same name by Robert J. Sawyer. Seeing as the show is moving forward, I've decided to review the pilot script....
Adobe announces Strobe partners - FierceOnlineVideo
Adobe said the Strobe framework would integrate elements of Adobe's Flash Media Server 3.5, including dynamic streaming and progressive downloads. The company said it hopes to pool best practices from its partner group to provide standards-based...


FLASH, acronym of Free Electron LASer in Hamburg, a particle accelerator-based soft x-ray laser located at the DESY accelerator facilities in Hamburg, Germany. It can generate very powerful, ultrashort pulses (~10⁻¹⁴ s) of coherent radiation in the energy range 10 eV (electronvolt) to 200 eV. It started operation for external users in the year 2005 and is used for surface, molecular and atomic physics experiments. Intended applications are also the imaging of single biological complex molecules with time resolution.

To the top

Adobe Flash

 This content has an uncertain copyright status and is pending deletion. You can comment on its removal.

Adobe Flash (previously called Macromedia Flash) is a multimedia platform created by Macromedia and currently developed and distributed by Adobe Systems. Since its introduction in 1996, Flash has become a popular method for adding animation and interactivity to web pages; Flash is commonly used to create animation, advertisements, and various web page components, to integrate video into web pages, and more recently, to develop rich Internet applications.

Flash can manipulate vector and raster graphics and supports bi-directional streaming of audio and video. It contains a scripting language called ActionScript. Several software products, systems, and devices are able to create or display Flash content, including Adobe Flash Player, which is available for most common web browsers, some mobile phones and other electronic devices (using Flash Lite). The Adobe Flash Professional multimedia authoring program is used to create content for the Adobe Engagement Platform, such as web applications, games and movies, and content for mobile phones and other embedded devices.

Files in the SWF format, traditionally called "ShockWave Flash" movies, "Flash movies" or "Flash games", usually have a .swf file extension and may be an object of a web page, strictly "played" in a standalone Flash Player, or incorporated into a Projector, a self-executing Flash movie (with the .exe extension in Microsoft Windows). Flash Video (FLV) files have a .flv file extension and are either used from within .swf files or played through a flv aware player, such as VLC, or QuickTime and Windows Media Player with external codecs added.

The program Flash was the brainchild of Jonathan Gay, who developed the idea while in college and extended it while working for Silicon Beach Software and its successors.

In January 1993, Jonathan Gay, Charlie Jackson, and Michelle Welsh started a small software company called FutureWave Software and created their first product, SmartSketch. A drawing application for pen computers running the PenPoint OS, SmartSketch was designed to make creating computer graphics as simple as drawing on paper. When PenPoint failed in the marketplace, SmartSketch was ported to Microsoft Windows and MacOS. As the Internet began to thrive, however, FutureWave began to realize the potential for a vector-based web animation tool that might easily challenge Macromedia's Shockwave technology. In 1995, FutureWave modified SmartSketch by adding frame-by-frame animation features and re-released it as FutureSplash Animator on Macintosh and PC. By that time, the company had added a second programmer Robert Tatsumi, artist Adam Grofcsik, and PR specialist Ralph Mittman. Tatsumi focused on writing the authoring tool's user interface, while Gay wrote the graphics renderer, curve and shape math code and the browser plug-in. The product was offered to Adobe and used by Microsoft in its early work with the Internet (MSN). In December 1996, Macromedia acquired the vector-based animation software and later released it as Flash, contracting "Future" and "Splash" of the FutureWave name.

Adobe Labs (previously Macromedia Labs) is a source for news and pre-release versions of emerging products and technologies from Adobe. Most innovations, such as Flash 9, Flex 3, and ActionScript 3.0 have all been discussed and/or trialled on the site.

One area Adobe is focusing on (as of February 2009) is the deployment Rich Internet Applications (RIAs). To this end, they released Adobe Integrated Runtime (AIR), a cross-platform runtime environment which can be used to build, using Adobe Flash, rich Internet applications that can be deployed as a desktop application. It recently surpassed 100 million installations worldwide.

Two additional components designed for large scale implementation have been proposed by Adobe for future releases of Flash. First the option to require an ad to be played in full before the main video piece is played. Secondly, Adobe has announced plans to add digital rights management (DRM) capabilities into the new version of Flash. This way Adobe can give companies the option to link an advertisement with content and make sure that both are played and that they not be changed. The current status of these two projects is unclear.

Flash Player for smartphones is expected to be available to handset manufacturers at the end of 2009.

On May 1, 2008 Adobe announced Open Screen Project, which hopes to provide a consistent application interface across devices such as personal computers, mobile devices and consumer electronics. When the project was announced, several goals were outlined: the abolition of licensing fees for Adobe Flash Player and Adobe Integrated Runtime, the removal of restrictions on the use of the Shockwave Flash (SWF) and Flash Video (FLV) file format, the publishing of application programming interfaces for porting Flash to new devices and the publishing of The Flash Cast protocol and Action Message Format (AMF), which let Flash applications receive information from remote databases.

As of February 2009, the specifications which removing the restrictions on the use of SWF and FLV/F4V specs have been published. The Flash Cast® protocol - now known as the Mobile Content Delivery Protocol - and AMF protocols have also been made available, with AMF available as an open source implementation, BlazeDS. Work on the device porting layers is in the early stages. Adobe intends to remove the licensing fees for Flash Player and Adobe AIR for devices at their release for the Open Screen Project.

The list of mobile device providers who have joined the project includes Palm, Motorola and Nokia, who, together with Adobe, have announced a $10 million Open Screen Project fund.

Initially focused on animation, early versions of Flash content offered few interactivity features and thus had very limited scripting capability.

More recent versions include ActionScript, an implementation of the ECMAScript standard which therefore has the same syntax as JavaScript, but in a different programming framework with a different associated set of class libraries. ActionScript is used to create almost all of the interactivity (buttons, text entry fields, drop down menus) seen in many Flash applications.

Flash MX 2004 introduced ActionScript 2.0, a scripting programming language more suited to the development of Flash applications. It is often possible to save time by scripting something rather than animating it, which usually also enables a higher level of editability.

Since the arrival of the Flash Player 9 alpha a newer version of ActionScript has been released, ActionScript 3.0. ActionScript 3.0 is an object oriented programming language allowing for more control and code reusability when building complex Flash applications. ActionScript 3.0 has also allowed for formal software engineering methods to be implemented when working with Flash, because of the object oriented programming approach.

Of late, the Flash libraries are being used with the XML capabilities of the browser to render rich content in the browser. This technology is known as Asynchronous Flash and XML, much like AJAX. This technology of Asynchronous Flash and XML has pushed for a more formal approach of this technology called Adobe Flex, which uses the Flash runtime to build Rich Internet Applications.

This technology can be used in players like those on MySpace and YouTube, to provide protection for the content that the Flash calls, like MP3s and videos. The content called is streamed - or passes - through the Flash files, making downloading for storage a difficult task for most people. Programs such as Real Player Downloader and browser extensions like Firebug can trace the XML files.

Often, Flash authors will decide that while they desire the advantages that Flash affords them in the areas of animation and interactivity, they do not wish to expose their images and/or code to the world. However, once an .swf file is saved locally, one may then attempt to decompile it into its source code and assets. Some decompilers are capable of nearly full reconstruction of the original source file, down to the actual code that was used during creation, even if result varies on a case-by-case basis.

In opposition to the decompilers, SWF obfuscators have been introduced to provide a modicum of security, some produced by decompiler authors themselves. The higher-quality obfuscators use traps for the decompilers, making some fail, but none have definitively been shown to protect all content.

More Information on how to detect and embed Flash Objects in a W3C compliant way is provided in the xSWF description.

The use of vector graphics combined with program code allows Flash files to be smaller, or streams to use less bandwidth, than the corresponding bitmaps or video clips. For content in a single format (such as just text, video or audio) other alternatives may provide better performance and consume less CPU power than the corresponding Flash movie, for example when using transparency or making large screen updates such as photographic or text fades.

In addition to a vector-rendering engine, the Flash Player includes a virtual machine called the ActionScript Virtual Machine (AVM) for scripting interactivity at run-time, support for video, MP3-based audio, and bitmap graphics. As of Flash Player 8, it offers two video codecs: On2 Technologies VP6 and Sorenson Spark, and run-time support for JPEG, Progressive JPEG, PNG, and GIF. In the next version, Flash is slated to use a just-in-time compiler for the ActionScript engine.

Flash as a format has become very widespread on the desktop market and created a market dominance. Adobe claims that 98 percent of US Web users and 99.3 percent of all Internet desktop users have the Flash Player installed, with 45%–56% (depending on region) having the latest version. Numbers vary depending on the detection scheme and research demographics.

The Adobe Flash Player exists for a variety of systems and devices: Windows, Mac OS 9/X, Linux, Solaris, HP-UX, Pocket PC, OS/2, QNX, Symbian, Palm OS, BeOS, and IRIX). Officially, Adobe Flash only supports 32-bit platforms, although experimental 64-bit support has been available for Linux since November 2008. For compatibility with devices (embedded systems), see Macromedia Flash Lite.

The W3C's SVG and SMIL standards are seen as the closest competitors of Flash. Adobe used to develop and distribute the 'Adobe SVG Viewer' client plug-in for MS Internet Explorer, but has recently announced its discontinuation. It has been noted by industry commentators that this was probably no coincidence at a time when Adobe moved from competing with Macromedia's Flash, to owning the technology itself. Meanwhile, Opera has supported SVG since version 8 and Safari has since version 3, and Firefox's built-in support for SVG continues to grow.

UIRA was a free software project that intended to become a complete replacement for Adobe Flash. The project collapsed in mid 2007, though people are now discussing reviving or continuing it, and a few other projects like Ajax Animator still exist.

In October 1998, Macromedia disclosed the Flash Version 3 Specification to the world on its website. It did this in response to many new and often semi-open formats competing with SWF, such as Xara's Flare and Sharp's Extended Vector Animation formats. Several developers quickly created a C library for producing SWF. In February 1999, the company introduced MorphInk 99, the first third-party program to create SWF files. Macromedia also hired Middlesoft to create a freely available developers' kit for the SWF file format versions 3 to 5.

Macromedia made the Flash Files specifications for versions 6 and later available only under a non-disclosure agreement, but it is widely available from various sites.

In April 2006, the Flash SWF file format specification was released with details on the then newest version format (Flash 8). Although still lacking specific information on the incorporated video compression formats (On2, Sorenson Spark, etc.), this new documentation covered all the new features offered in Flash v8 including new ActionScript commands, expressive filter controls, and so on. The file format specification document is offered only to developers who agree to a license agreement that permits them to use the specifications only to develop programs that can export to the Flash file format. The license forbids the use of the specifications to create programs that can be used for playback of Flash files. The Flash 9 specification was made available under similar restrictions.

In May 2008, Adobe launched the Open Screen Project (Adobe link), which made the SWF specification available without restrictions. The specification remains incomplete, however, as it does not include any details regarding RTMP or Sorenson Spark, both of which are widely used to distribute video through Flash.

Since Flash files do not depend on an open standard such as SVG, this reduces the incentive for non-commercial software to support the format, although there are several third party tools which use and generate the SWF file format. Flash Player cannot ship as part of a pure open source, or completely free operating system, as its distribution is bound to the Macromedia Licensing Program and subject to approval.

There is, as of late 2008, no complete free software replacement which offers all the functionality of the latest version of Adobe Flash Player.

Gnash is an active project that aims to create a free player and browser plugin for the Adobe Flash file format and so provide a free alternative to the Adobe Flash Player under the GNU General Public License. Despite potential patent worries because of the proprietary nature of the files involved, Gnash supports most SWF v7 features and some SWF v8 and v9. Gnash runs on Windows, Linux and other operating systems on 32-bit, 64-bit and other architectures.

Swfdec is another open-source flash player available for Linux, FreeBSD and OpenBSD. See also SWFOpener.

Open Source projects like Ajax Animator, and the (now defunct) UIRA aim to create a flash development environment, complete with a graphical user environment. Alternatively, programs such as swfmill, SWFTools, and MTASC provide tools to create SWF files, but do so by compiling text, actionscript or XML files into Flash animations. It is also possible to create SWF files programmatically using the Ming library, which has interfaces for C, PHP, C++, Perl, Python, and Ruby. haXe is an open source, high-level object-oriented programming language geared towards web-content creation that can compile Flash files.

Many shareware developers produced Flash creation tools and sold them for under US$50 between 2000 and 2002. In 2003 competition and the emergence of free Flash creation tools had driven many third-party Flash-creation tool-makers out of the market, allowing the remaining developers to raise their prices, although many of the products still cost less than US$100 and support ActionScript. As for open source tools, KToon can edit vectors and generate SWF, but its interface is very different from Macromedia's. Another, more recent example of a Flash creation tool is SWiSH Max made by an ex-employee of Macromedia. Toon Boom Technologies also sells traditional animation tool, based on Flash - Toon-Army.

In addition, several programs create .swf-compliant files as output from their programs. Among the most-famous of these are Screencast tools, which leverage the ability to do lossless compression and playback of captured screen content in order to produce demos, tutorials, or software simulations of programs. These programs are typically designed for use by non-programmers, and create Flash content quickly and easily, but cannot actually edit the underlying Flash code (i.e. the tweening and transforms, etc.) Screencam is perhaps the oldest screencasting authoring tool to adopt Flash as the preferred output format, having been developed since the mid-90s. That screencasting programs have adopted Flash as the preferred output is testament to Flash's presence as a ubiquitous cross-platform animation file format.

Other tools are focused on creating specific types of Flash content. Anime Studio is a 2D animation software specialized for character animation which creates SWF files. Express Animator is similarly aimed specifically at animators. Question Writer publishes its quizzes to Flash file format.

Users that are not programmers or web designers will also find on-line tools that allow them to build full Flash-based web sites. One of the oldest services available (1998) is FlashToGo. Such companies provide a wide variety of pre-built models (templates) associated to a Content Management System that empowers users to easily build, edit and publish their web sites. Another site, which allows for greater customization and design flexability is Wix.com.

Adobe wrote a software package called Adobe LiveMotion, designed to create interactive animation content and export it to a variety of formats, including SWF. LiveMotion went through two major releases, but failed to gain any notable user base.

In February 2003, Macromedia purchased Presedia, which had developed a Flash authoring tool that automatically converted PowerPoint Files into Flash. Macromedia subsequently released the new product as Breeze, which included many new enhancements. In addition, (as of version 2) Apple's Keynote presentation software also allows users to create interactive presentations and export to SWF.

Flash can be used to embed video in web pages, a feature available since Flash Player version 6. The technique is to create a flash file (.swf) that acts as a player for the video file. This is the basis for many popular video sites, including YouTube and Google Video. The actual video file is either an FLV or H.264 file, both can easily be played by generic videoplayer software. However, getting browsers to display video is still a platform specific issue due to lack of a common video format, and the subject of a web standard for video is a heated debate (see HTML 5). Using Flash partly solves the problem because of the wide distribution of Flash Player, but as this is proprietary technology for which there is no real alternative, it makes the media notoriously difficult to access for non-users of the Flash Player, particularly if the location of the video file is moved out of the HTML source.

Flash movies can run in browsers with the proper Flash player installed, although it is important to note that Flash movies cannot run within an e-mail client. Outlook, gmail, hotmail, etc., cannot run flash movies within an e-mail. Movies must be linked from the message so that a new browser window opens up. Flash has the ability from here to determine if the browser has the correct player installed and whether or not to display the movie, or an alternate message if the user does not have Flash.

Flash Video (.flv files) is a container format, meaning that it is not a video format in itself, but can contain other formats. The video in Flash is encoded in H.263, and starting with Flash player 8, it may alternatively be encoded in VP6. The audio is in MP3. The use of VP6 is common in many companies, because of the large adoption rates of Flash Player 8 and Flash Player 9.

On August 20, 2007, Adobe announced on its blog that with Update 3 of Flash Player 9, Flash Video will also support the MPEG-4 international standard. Specifically, Flash Player will have support for video compressed in H.264 (MPEG-4 Part 10), audio compressed using AAC (MPEG-4 Part 3), the MP4, M4V, M4A, 3GP and MOV multimedia container formats (MPEG-4 Part 14), 3GPP Timed Text specification (MPEG-4 Part 17) which is a standardized subtitle format and partial parsing support for the 'ilst' atom which is the ID3 equivalent iTunes uses to store metadata. Adobe also announced that they will be gradually moving away from the proprietary FLV format to the standard MP4 format owing to functional limits with the FLV structure when streaming H.264. The final release of the Flash Player supporting MPEG-4 had become available in Fall 2007.

This is about criticism of the Flash format, Adobe's Flash Player and the use of such technology. Depending on subject, some claims might as well apply to similar technologies.

Many usability concerns regarding Flash concern how it breaks with conventions associated with normal HTML pages. Things like selecting text, scrollbars, form control and right-clicking act differently than with a regular HTML webpage. Usability expert Jakob Nielsen published an Alertbox in 2000 entitled, Flash: 99% Bad which listed many of these issues. Much of this criticism was due to poor implementation, rather than inherent problems with Flash. Some problems have been fixed since Nielsen's complaints; text size, for example, can now be easily controlled using the full page zoom now implemented in many modern browsers.

Covered entities under the ADA are required to provide effective communication, regardless of whether they generally communicate through print media, audio media, or computerized media such as the Internet. Covered entities that use the Internet for communications regarding their programs, goods, or services must be prepared to offer those communications through accessible means as well.

Although it has been possible for authors to include alternative text content in Flash since Flash Player 6, Flash's accessibility features are compatible only with certain screen readers and only under Windows. Internet users who are visually-impaired, or who require larger text sizes or high-contrast color schemes may find sites that make extensive use of Flash difficult, although the former can now be controlled using the full page zoom options found in many modern browsers.

The proprietary nature of Flash is a major concern to advocates of open standards and free software. Its widespread use has, according to some such observers, harmed the otherwise open nature of the World Wide Web. A response may be seen in Adobe's Open Screen Project.

I believe very strongly, that we need to agree on some kind of baseline video format if is going to succeed. Flash is today the baseline format on the web. The problem with Flash is that it's not an open standard.

The use of Flash in websites is a major problem for our community.

Stallman's argument then was that no free players were comparatively good enough. As of February 2009, Gnash and Swfdec have seen very limited success in replacing Adobe's player. The fact that many important and popular websites expect users to have Adobe's player, combined with no good free alternative have led to frustration among users, suggesting that this is the most common obstacle to enjoying the web in freedom, which presumably relates to the ranking of Gnash as number one on the Free Software Foundation's list of high priority projects.

For free software users willing to accept Adobe's player, the situation has improved lately. Adobe Flash Player has gained good cross-platform and cross-device support. From the Linux camp, criticism calmed significantly after the release of Flash Player 9 (Jan 17 2007) and the more recent beta-release of a 64-bit Flash Player (Nov 17 2008).

Many popular web browsers now have extensions that prevent immediate Flash playback, but lets the user play it by clicking it first. Firefox has NoScript and Flashblock while a separate extension for Opera called Flashblock is available. One similar extension for Internet Explorer is Foxie, and contains a number of features, one of which is also named Flashblock. K-Meleon has a built-in Flash blocker.

To the top

Adobe Flash Player

The Adobe Flash Player is software for creating and viewing animations and movies using computer programs such as a web browser; in common usage, flash lets you put animation and movies on a web site. Flash player is a widely distributed proprietary multimedia and application player created by Macromedia and now developed and distributed by Adobe after its acquisition. Flash Player runs SWF files that can be created by the Adobe Flash authoring tool, by Adobe Flex or by a number of other Macromedia and third party tools.

Adobe Flash, or simply Flash, refers to both a multimedia authoring program and the Adobe Flash Player, written and distributed by Adobe, that uses vector and raster graphics, a native scripting language called ActionScript and bidirectional streaming of video and audio. Strictly speaking, Adobe Flash is the authoring environment and Flash Player is the virtual machine used to run the Flash files, but in colloquial language these have become mixed: "Flash" can mean either the authoring environment, the player, or the application files.

Flash Player has support for an embedded scripting language called ActionScript (AS), which is based on ECMAScript. Since its inception, ActionScript has matured from a script syntax without variables to one that supports object-oriented code, and may now be compared in capability to JavaScript (another ECMAScript-based scripting language).

The Flash Player was originally designed to display 2-dimensional vector animation, but has since become suitable for creating rich Internet applications and streaming video and audio. It uses vector graphics to minimize file size and create files that save bandwidth and loading time. Flash is a common format for games, animations, and GUIs embedded into web pages.

The Flash Player is built into some browsers and is available as a plugin for recent versions of other browsers (such as Mozilla Firefox, Opera, Safari and Internet Explorer) on selected platforms. Each version of the plugin is backwards-compatible, with the exception of security changes.

The latest version of Flash Player, Version 10, is available for Windows (2000 and newer, Win9x no longer supported), Linux, Solaris and Mac OS X. Version 7 is the most recent official version currently available for the Linux/ARM-based Nokia 770/N800 Internet Tablets, classic Mac OS, Pocket PC and Windows 95/NT. HP offers Version 6 of the player for HP-UX. Other versions of the player have been available at some point for OS/2, Symbian OS, Palm OS, BeOS and IRIX. The Kodak Easyshare One includes Flash Play. The Flash Player SDK was used to develop its on-screen menus, which are rendered and displayed using the included Flash Player. Among other devices, LeapFrog Enterprises provides Flash Player with their Leapster Multimedia Learning System and extended the Flash Player with touch-screen support. Sony has integrated Flash Player 6 into the PlayStation Portable's web browser via firmware version 2.70 and Flash Player 9 into the PlayStation 3's web browser in firmware version 2.50. Nintendo has integrated Flash Player 7 in the Internet Channel on the Wii.

No official x86-64 editions of the Flash player are currently available for any platform, due to the x86-32-specific garbage collector and just-in-time compilation engine. Adobe engineers have stated that 64-bit editions for all supported platforms are in development. They have been developing since 2005 a x64 edition of the Flash Player. In 17 November 2008, Adobe released an alpha version of Flash Player 10 for x86-64 Linux. They have stated that alpha releases for Mac and Windows will come in future pre releases. Adobe said it will optimize Flash for use on ARM architecture (ARMv6 and ARMv7 architectures used in the ARM11 family and the Cortex-A series of processors) and release it in the second half of 2009. The company also stated it wants to enable Flash on NVIDIA Tegra, Texas Instruments OMAP 3 and Samsung ARMs. Beginning 2009, it was announced that Adobe would be bringing Flash to TV sets via Intel Media Processor CE 3100 before mid-2009.

Although SWF has recently become an open format again, Adobe has not been willing to make complete source code available for free software development. The source code for the ActionScript Virtual Machine has been released as a project named Tamarin under the terms of an MPL/GPL/LGPL tri-license. It includes the specification for the ActionScript byte code format. This project is jointly managed by Mozilla and Adobe. The full specification of the SWF format is available without restriction by Adobe. The principal alternative free software player, gnash, is quite incomplete at this time, however since SWF is now an open format, it should have a much higher quality going forward as developers implement the official SWF specifications.

Flash Player is an application that, while running on a computer that is connected to the Internet, is designed to contemporaneously interact with websites containing Flash content that are being visited online. As such, under certain configurations the application has the potential to silently compromise its users' internet privacy, and do so without their knowledge. By default, Flash Player is configured to permit small, otherwise invisible "tracking" files, known as Persistent Identification Elements (PIEs) or Local Shared Object files, to be stored on the hard drive of a user's computer. Sent in the background over the internet from websites to which a user is connected, these files work much the way "cookies" do with internet browsers. When stored on a user's computer, PIE (.sol) files are capable of sending personally sensitive data back out over the internet without the user's knowledge to one or more third parties. In addition, Flash Player is also capable of accessing and retrieving audio and video data from any microphone and/or webcams that might be either built in or connected to a user's computer and transmitting it in realtime over the internet (also potentially without the user's knowledge) to one or more third parties.

While these capabilities can all be affirmatively blocked and/or disabled by the user, the Flash Player application does not provide an internally accessible "preferences" panel to accomplish this. Instead access to the various settings panels necessary to manage the application's "Privacy," "Storage," "Security," and "Notifications" settings can be achieved through a web-based "Settings Manager" page located on the "support" section of the Adobe.com website, or by third party tools (see Local Shared Object). Each of the functions can be enabled/disabled either "globally" to cover all websites, or set differently for individual websites depending on how the user desires Flash Player to be able to interact with each one.

Although Flash Control Panel Settings in theory allow users to protect their privacy it should be remembered that suitably crafted Visual Basic Script or similar code can overwrite any user defined settings before the Flash Player Plug-in is called by a webpage.

In addition to cookies, many banks and other financial institutions also routinely install Persistent Identification Elements using Flash Player on users' hard drives when they establish and access their accounts, as do other interactive sites such as YouTube.

To the top

Flash memory

A flash memory cell.

Flash memory is a non-volatile computer memory that can be electrically erased and reprogrammed. It is a technology that is primarily used in memory cards and USB flash drives for general storage and transfer of data between computers and other digital products. It is a specific type of EEPROM (Electrically Erasable Programmable Read-Only Memory) that is erased and programmed in large blocks; in early flash the entire chip had to be erased at once. Flash memory costs far less than byte-programmable EEPROM and therefore has become the dominant technology wherever a significant amount of non-volatile, solid state storage is needed. Example applications include PDAs (personal digital assistants), laptop computers, digital audio players, digital cameras and mobile phones. It has also gained popularity in the game console market, where it is often used instead of EEPROMs or battery-powered SRAM for game save data.

Flash memory is non-volatile, which means that no power is needed to maintain the information stored in the chip. In addition, flash memory offers fast read access times (although not as fast as volatile DRAM memory used for main memory in PCs) and better kinetic shock resistance than hard disks. These characteristics explain the popularity of flash memory in portable devices. Another feature of flash memory is that when packaged in a "memory card," it is enormously durable, being able to withstand intense pressure, extremes of temperature, and even immersion in water.

Although technically a type of EEPROM, the term "EEPROM" is generally used to refer specifically to non-flash EEPROM which is erasable in small blocks, typically bytes. Because erase cycles are slow, the large block sizes used in flash memory erasing give it a significant speed advantage over old-style EEPROM when writing large amounts of data.

Flash memory (both NOR and NAND types) was invented by Dr. Fujio Masuoka while working for Toshiba circa 1980. According to Toshiba, the name "flash" was suggested by Dr. Masuoka's colleague, Mr. Shoji Ariizumi, because the erasure process of the memory contents reminded him of a flash of a camera. Dr. Masuoka presented the invention at the IEEE 1984 International Electron Devices Meeting (IEDM) held in San Francisco, California.

Intel saw the massive potential of the invention and introduced the first commercial NOR type flash chip in 1988. NOR-based flash has long erase and write times, but provides full address and data buses, allowing random access to any memory location. This makes it a suitable replacement for older ROM chips, which are used to store program code that rarely needs to be updated, such as a computer's BIOS or the firmware of set-top boxes. Its endurance is 10,000 to 1,000,000 erase cycles. NOR-based flash was the basis of early flash-based removable media; CompactFlash was originally based on it, though later cards moved to less expensive NAND flash.

Toshiba announced NAND flash at the 1987 International Electron Devices Meeting. It has faster erase and write times, and requires a smaller chip area per cell, thus allowing greater storage densities and lower costs per bit than NOR flash; it also has up to ten times the endurance of NOR flash. However, the I/O interface of NAND flash does not provide a random-access external address bus. Rather, data must be read on a block-wise basis, with typical block sizes of hundreds to thousands of bits. This made NAND flash unsuitable as a drop-in replacement for program ROM since most microprocessors and microcontrollers required byte-level random access. In this regard NAND flash is similar to other secondary storage devices such as hard disks and optical media, and is thus very suitable for use in mass-storage devices such as memory cards. The first NAND-based removable media format was SmartMedia, and many others have followed, including MultiMediaCard, Secure Digital, Memory Stick and xD-Picture Card. A new generation of memory card formats, including RS-MMC, miniSD and microSD, and Intelligent Stick, feature extremely small form factors. For example, the microSD card has an area of just over 1.5 cm², with a thickness of less than 1 mm; microSD capacities range from 64 MB to 16 GB, as of October 2008.

Despite the need for high programming and erasing voltages, virtually all flash chips today require only a single supply voltage, and produce the high voltages via on-chip charge pumps.

One limitation of flash memory is that although it can be read or programmed a byte or a word at a time in a random access fashion, it must be erased a "block" at a time. This generally sets all bits in the block to 1. Starting with a freshly erased block, any location within that block can be programmed. However, once a bit has been set to 0, only by erasing the entire block can it be changed back to 1. In other words, flash memory (specifically NOR flash) offers random-access read and programming operations, but cannot offer arbitrary random-access rewrite or erase operations. A location can, however, be rewritten as long as the new value's 0 bits are a superset of the over-written value's. For example, a nibble value may be erased to 1111, then written as 1110. Successive writes to that nibble can change it to 1010, then 0010, and finally 0000. In practice few algorithms take advantage of this successive write capability and in general the entire block is erased and rewritten at once.

Although data structures in flash memory cannot be updated in completely general ways, this allows members to be "removed" by marking them as invalid. This technique may need to be modified for multi-level devices, where one memory cell holds more than one bit.

Another limitation is that flash memory has a finite number of erase-write cycles. Most commercially available flash products are guaranteed to withstand around 100,000 write-erase-cycles, before the wear begins to deteriorate the integrity of the storage. The guaranteed cycle count may apply only to block zero (as is the case with TSOP NAND parts), or to all blocks (as in NOR). This effect is partially offset in some chip firmware or file system drivers by counting the writes and dynamically remapping blocks in order to spread write operations between sectors; this technique is called wear levelling. Another approach is to perform write verification and remapping to spare sectors in case of write failure, a technique called bad block management (BBM). For portable consumer devices, these wearout management techniques typically extend the life of the flash memory beyond the life of the device itself, and some data loss may be acceptable in these applications. For high reliability data storage, however, it is not advisable to use flash memory that would have to go through a large number of programming cycles. This limitation is meaningless for 'read-only' applications such as thin clients and routers, which are only programmed once or at most a few times during their lifetime.

The low-level interface to flash memory chips differs from those of other memory types such as DRAM, ROM, and EEPROM, which support bit-alterability (both zero to one and one to zero) and random-access via externally accessible address buses.

While NOR memory provides an external address bus for read and program operations (and thus supports random-access); unlocking and erasing NOR memory must proceed on a block-by-block basis. With NAND flash memory, read and programming operations must be performed page-at-a-time while unlocking and erasing must happen in block-wise fashion.

Reading from NOR flash is similar to reading from random-access memory, provided the address and data bus are mapped correctly. Because of this, most microprocessors can use NOR flash memory as execute in place (XIP) memory, meaning that programs stored in NOR flash can be executed directly without the need to first copy the program into RAM. NOR flash may be programmed in a random-access manner similar to reading. Programming changes bits from a logical one to a zero. Bits that are already zero are left unchanged. Erasure must happen a block at a time, and resets all the bits in the erased block back to one. Typical block sizes are 64, 128, or 256 KB.

Bad block management is a relatively new feature in NOR chips. In older NOR devices not supporting bad block management, the software or device driver controlling the memory chip must correct for blocks that wear out, or the device will cease to work reliably.

The specific commands used to lock, unlock, program, or erase NOR memories differ for each manufacturer. To avoid needing unique driver software for every device made, a special set of CFI commands allow the device to identify itself and its critical operating parameters.

Apart from being used as random-access ROM, NOR memories can also be used as storage devices by taking advantage of random-access programming. Some devices offer read-while-write functionality so that code continues to execute even while a program or erase operation is occurring in the background. For sequential data writes, NOR flash chips typically have slow write speeds compared with NAND flash.

NAND flash architecture was introduced by Toshiba in 1989. These memories are accessed much like block devices such as hard disks or memory cards. Each block consists of a number of pages. The pages are typically 512 or 2,048 or 4,096 bytes in size. Associated with each page are a few bytes (typically 12–16 bytes) that should be used for storage of an error detection and correction checksum.

While reading and programming is performed on a page basis, erasure can only be performed on a block basis. Another limitation of NAND flash is data in a block can only be written sequentially. Number of Operations (NOPs) is the number of times the sectors can be programmed. So far this number for MLC flash is always one whereas for SLC flash it is four.

NAND devices also require bad block management by the device driver software, or by a separate controller chip. SD cards, for example, include controller circuitry to perform bad block management and wear leveling. When a logical block is accessed by high-level software, it is mapped to a physical block by the device driver or controller. A number of blocks on the flash chip may be set aside for storing mapping tables to deal with bad blocks, or the system may simply check each block at power-up to create a bad block map in RAM. The overall memory capacity gradually shrinks as more blocks are marked as bad.

NAND relies on ECC to compensate for bits that may spontaneously fail during normal device operation. This ECC may correct as little as one bit error in each 2048 bits, or up to 22 bits in each 2048 bits. If ECC cannot correct the error during read, it may still detect the error. When doing erase or program operations, the device can detect blocks that fail to program or erase and mark them bad. The data is then written to a different, good block, and the bad block map is updated.

Most NAND devices are shipped from the factory with some bad blocks which are typically identified and marked according to a specified bad block marking strategy. By allowing some bad blocks, the manufacturers achieve far higher yields than would be possible if all blocks had to be verified good. This significantly reduces NAND flash costs and only slightly decreases the storage capacity of the parts.

When executing software from NAND memories, virtual memory strategies are often used: memory contents must first be paged or copied into memory-mapped RAM and executed there (leading to the common combination of NAND + RAM). A memory management unit (MMU) in the system is helpful, but this can also be accomplished with overlays. For this reason, some systems will use a combination of NOR and NAND memories, where a smaller NOR memory is used as software ROM and a larger NAND memory is partitioned with a file system for use as a nonvolatile data storage area.

NAND is best suited to systems requiring high capacity data storage. This type of flash architecture offers higher densities and larger capacities at lower cost with faster erase, sequential write, and sequential read speeds, sacrificing the random-access and execute in place advantage of the NOR architecture.

The ONFI group is supported by major NAND Flash manufacturers, including Hynix, Intel, Micron Technology, and Numonyx, as well as by major manufacturers of devices incorporating NAND flash chips.

A group of vendors, including Intel, Dell, and Microsoft formed a Non-Volatile Memory Host Controller Interface (NVMHCI) Working Group. The goal of the group is to provide standard software and hardware programming interfaces for nonvolatile memory subsystems, including the "flash cache" device connected to the PCI Express bus.

It is important to understand that these two are linked by the design choices made in the development of NAND flash. An important goal of NAND flash development was to reduce the chip area required to implement a given capacity of flash memory, and thereby to reduce cost per bit and increase maximum chip capacity so that flash memory could compete with magnetic storage devices like hard disks.

NOR and NAND flash get their names from the structure of the interconnections between memory cells. In NOR flash, cells are connected in parallel to the bit lines, allowing cells to be read and programmed individually. The parallel connection of cells resembles the parallel connection of transistors in a CMOS NOR gate. In NAND flash, cells are connected in series, resembling a NAND gate, and preventing cells from being read and programmed individually: the cells connected in series must be read in series.

When NOR flash was developed, it was envisioned as a more economical and conveniently rewritable ROM than contemporary EPROM, EAROM, and EEPROM memories. Thus random-access reading circuitry was necessary. However, it was expected that NOR flash ROM would be read much more often than written, so the write circuitry included was fairly slow and could only erase in a block-wise fashion; random-access write circuitry would add to the complexity and cost unnecessarily.

Because of the series connection and removal of wordline contacts, a large grid of NAND flash memory cells will occupy perhaps only 60% of the area of equivalent NOR cells (assuming the same CMOS process resolution, e.g. 130 nm, 90 nm, 65 nm). NAND flash's designers realized that the area of a NAND chip, and thus the cost, could be further reduced by removing the external address and data bus circuitry. Instead, external devices could communicate with NAND flash via sequential-accessed command and data registers, which would internally retrieve and output the necessary data. This design choice made random-access of NAND flash memory impossible, but the goal of NAND flash was to replace hard disks, not to replace ROMs.

The write endurance of SLC Floating Gate NOR flash is typically equal or greater than that of NAND flash, while MLC NOR & NAND Flash have similar Endurance capabilities. Example Endurance cycle ratings listed in datasheets for NAND and NOR Flash are provided.

Because of the particular characteristics of flash memory, it is best used with either a controller to perform wear-levelling and error correction or specifically designed flash file systems, which spread writes over the media and deal with the long erase times of NOR flash blocks. The basic concept behind flash file systems is: When the flash store is to be updated, the file system will write a new copy of the changed data over to a fresh block, remap the file pointers, then erase the old block later when it has time.

In practice, flash file systems are only used for "Memory Technology Devices" ("MTD"), which are embedded flash memories that do not have a controller. Removable flash memory cards and USB flash drives have built-in controllers to perform wear-levelling and error correction so use of a specific flash file system does not add any benefit. These removable flash memory devices use the FAT file system to allow universal compatibility with computers, cameras, PDAs and other portable devices with memory card slots or ports.

Multiple chips are often arrayed to achieve higher capacities for use in consumer electronic devices such as multimedia players or GPS. The capacity of flash chips generally follows Moore's Law because they are manufactured with many of the same integrated circuits techniques and equipment.

Consumer flash drives typically have sizes measured in powers of two (e.g. 512 MB, 8 GB). This includes SSDs as hard drive replacements, even though traditional hard drives tend to use decimal units. Thus, a 64 GB SSD is actually 64 × 10243 bytes. In reality, most users will have slightly less capacity than this available, due to the space taken by filesystem metadata.

In 2005, Toshiba and SanDisk developed a NAND flash chip capable of storing 1 GB of data using Multi-level Cell (MLC) technology, capable of storing 2 bits of data per cell. In September 2005, Samsung Electronics announced that it had developed the world’s first 2 GB chip.

In March 2006, Samsung announced flash hard drives with a capacity of 4 GB, essentially the same order of magnitude as smaller laptop hard drives, and in September 2006, Samsung announced an 8 GB chip produced using a 40 nanometer manufacturing process.

In January 2008 Sandisk announced availability of their 16 GB MicroSDHC and 32 GB SDHC Plus cards.

But there are still flash-chips manufactured with low capacities like 1 MB, e.g., for BIOS-ROMs.

Commonly advertised is the maximum read speed, NAND flash memory cards are much faster at reading than writing. As a chip gets worn out, its erase/program operations slow down considerably, requiring more retries and bad block remapping. Transferring multiple small files, smaller than the chip specific block size, could lead to much lower rate. Access latency has an influence on performance but is less of an issue than with their hard drive counterpart.

The speed is sometimes quoted in MB/s (megabytes per second), or as a multiple of that of a legacy single speed CD-ROM, such as 60x, 100x or 150x. Here 1x is equivalent to 150 kilobytes per second. For example, a 100x memory card gives 150 KB x 100 = 15,000 KB/s = 14.65 MB/s.

Serial flash is a small, low-power flash memory that uses a serial interface, typically SPI, for sequential data access. When incorporated into an embedded system, serial flash requires fewer wires on the PCB than parallel flash memories, since it transmits and receives data one bit at a time. This may permit a reduction in board space, power consumption, and total system cost.

With the increasing speed of modern CPUs, parallel flash devices are often much slower than the memory bus of the computer they are connected to. Conversely, modern SRAM offers access times below 10 ns, while DDR2 SDRAM offers access times below 20 ns. Because of this, it is often desirable to shadow code stored in flash into RAM; that is, the code is copied from flash into RAM before execution, so that the CPU may access it at full speed. Device firmware may be stored in a serial flash device, and then copied into SDRAM or SRAM when the device is powered-up. Using an external serial flash device rather than on-chip flash removes the need for significant process compromise (a process that is good for high speed logic is generally not good for flash and vice-versa). Once it is decided to read the firmware in as one big block it is common to add compression to allow a smaller flash chip to be used. Typical applications for serial flash include storing firmware for hard drives, Ethernet controllers, DSL modems, wireless network devices, etc.

An obvious extension of flash memory would be as a replacement for hard disks. Flash memory does not have the mechanical limitations and latencies of hard drives, so the idea of a solid-state drive, or SSD, is attractive when considering speed, noise, power consumption, and reliability.

There remain some aspects of flash-based SSDs that make the idea unattractive. Most important, the cost per gigabyte of flash memory remains significantly higher than that of platter-based hard drives. Although this ratio is decreasing rapidly for flash memory, it is not yet clear that flash memory will catch up to the capacities and affordability offered by platter-based storage. Still, research and development is sufficiently vigorous that it is not clear that it will not happen, either.

There is also some concern that the finite number of erase/write cycles of flash memory would render flash memory unable to support an operating system. This seems to be a decreasing issue as warranties on flash-based SSDs are approaching those of current hard drives.

As of May 24, 2006, South Korean consumer-electronics manufacturer Samsung Electronics had released the first flash-memory based PCs, the Q1-SSD and Q30-SSD, both of which have 32 GB SSDs. Dell Computer introduced the Latitude D430 laptop with 32 GB flash-memory storage in July 2007 -- at a price significantly above a hard-drive equipped version.

At the Las Vegas CES 2007 Summit Taiwanese memory company A-DATA showcased SSD hard disk drives based on Flash technology in capacities of 32 GB, 64 GB and 128 GB. Sandisk announced an OEM 32 GB 1.8" SSD drive at CES 2007. The XO-1, developed by the One Laptop Per Child (OLPC) association, uses flash memory rather than a hard drive. As of June 2007, a South Korean company called Mtron claims the fastest SSD with sequential read/write speeds of 100 MB/80 MB per second.

Rather than entirely replacing the hard drive, hybrid techniques such as hybrid drive and ReadyBoost attempt to combine the advantages of both technologies, using flash as a high-speed cache for files on the disk that are often referenced, but rarely modified, such as application and operating system executable files. Also, Addonics has a PCI adapter for 4 CF cards, creating a RAID-able array of solid-state storage that is much cheaper than the hardwired-chips PCI card kind.

The ASUS Eee PC uses a flash-based SSD of 2 GB to 20 GB, depending on model. The Apple Inc. Macbook Air has the option to upgrade the standard hard drive to a 128 GB Solid State hard drive. The Lenovo ThinkPad X300 also features a built-in 64 GB Solid State Drive.

Sharkoon has devoloped a device that uses six SDHC cards in RAID-0 as an SSD alternative; users may use more affordable High-Speed 8GB SDHC cards to get similar or better results than can be obtained from traditional SSDs at a lower cost.

One source states that, in 2008, the flash memory industry includes about US$9.1 billion in production and sales. Apple Inc. is the third largest purchaser of flash memory, consuming about 13% of production by itself. Other sources put the flash memory market at a size of more than US$20 billion in 2006, accounting for more than eight percent of the overall semiconductor market and more than 34 percent of the total semiconductor memory market.

Due to its relatively simple structure and high demand for higher capacity, NAND Flash memory is the most aggressively scaled technology among electronic devices. The heavy competition among the top few manufacturers only adds to the aggression. Current projections show the technology to reach approximately 20 nm by around 2010. While the expected shrink timeline is a factor of two every three years per original version of Moore's law, this has recently been accelerated in the case of NAND flash to a factor of two every two years.

As the feature size of Flash memory cells reach the minimum limit (currently estimated ~20 nm), further Flash density increases will be driven by greater levels of MLC, possibly 3-D stacking of transistors, and process improvements. Even with these advances, it may be impossible to economically scale Flash to smaller and smaller dimensions. Many promising new technologies (such as FeRAM, MRAM, PMC, PCM, and others) are under investigation and development as possible more scalable replacements for Flash.

To the top

Source : Wikipedia