('https://yaffs.net/?edit:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Tue, 14 Nov 2017 12:03:51 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:3:\"HIT\";}s:4:\"link\";a:4:{i:0;s:23:\"</home>; rel=\"revision\"\";i:1;s:108:\"</sites/default/files/css/css_Ft-hGawuooABKJanSezg8PXovgOMbB_QLx9CIyXeHsA.css?ozekku>; rel=preload; as=style\";i:2;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku>; rel=preload; as=style\";i:3;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Sun, 19 Nov 2017 19:28:56 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1511119736\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:51767:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"A Robust Flash File System Since 2002 | Yaffs - A Flash File System for embedded use\" />\n<link rel=\"shortlink\" href=\"https://yaffs.net/\" />\n<link rel=\"canonical\" href=\"https://yaffs.net/\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n<link rel=\"revision\" href=\"/home\" />\n\n    <title>A Robust Flash File System Since 2002 | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_Ft-hGawuooABKJanSezg8PXovgOMbB_QLx9CIyXeHsA.css?ozekku\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-frontpage page-node-type-page navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n    \n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\"><span property=\"schema:name\">A Robust Flash File System Since 2002</span>\n</h1>\n\n  <article role=\"article\" about=\"/home\" typeof=\"schema:WebPage\" class=\"page full clearfix\">\n\n  \n      <span property=\"schema:name\" content=\"A Robust Flash File System Since 2002\" class=\"hidden\"></span>\n\n\n  \n  <div class=\"content\">\n    \n            <div property=\"schema:text\" class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p>Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.</p>\n<p>&nbsp;</p>\n</div>\n      \n  </div>\n\n</article>\n\n<section id=\"block-yaffsinspace\" class=\"panel yaffs-shout well block block-block-content block-block-content9f676777-54d9-40d2-86dd-174fff14ab1a clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<h3><em>New!</em> Yaffs in space!</h3>\n<p><strong><img alt=\"Tess satellite\" data-entity-type=\"file\" data-entity-uuid=\"f06319f1-b6ac-41e2-a70d-a4c4da605b87\" height=\"246\" src=\"/sites/default/files/inline-images/tess_satellite_0.gif\" width=\"347\" class=\"align-right\" />NASA TESS Mission </strong>This <strong>Transiting Exoplanet Survey Satellite (TESS)</strong> will discover thousands of exoplanets in orbit around the brightest stars in the sky.</p>\n<p>It is a project regularly using our Yaffs File System to store incoming data and preserve it, in the rigours of the space environment, before sending it back to Earth.</p>\n<p>In a two-year survey of the solar neighborhood, TESS will monitor more than 200,000 stars for temporary drops in brightness caused by planetary transits. This first-ever spaceborne all-sky transit survey will identify planets ranging from Earth-sized to gas giants, around a wide range of stellar types and orbital distances. No ground-based survey can achieve this feat.</p>\n<p>Some File Systems are not robust enough to be suitable for such exacting work.<br />\n </p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n        \n                              <div class=\"front_highlight row\">\n              <div class=\"col-sm-4\">\n                    <div class=\"region region-front-highlight-1\">\n    <section id=\"block-choosingyaffs\" class=\"block block-block-content block-block-contentae8f54b9-5315-4995-a49e-c0780f3a88cc clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\"><a href=\"/documents/considerations-choosing-flash-file-system\">\n<article class=\"embedded-entity\">\n<img src=\"/sites/default/files/styles/max_325x325/public/2017-06/choosing_yaffs_0.jpg?itok=YuV5Z__e\" width=\"325\" height=\"325\" alt=\"Thumbnail\" title=\"Choosing Yaffs\" class=\"img-responsive\" />\n</article>\n</a> </div>\n      \n  </section>\n\n\n  </div>\n\n              </div>\n              <div class=\"col-sm-4\">\n                    <div class=\"region region-front-highlight-2\">\n    <section id=\"block-frontimagehighlight2\" class=\"block block-block-content block-block-contentfa53fc80-f3c4-4d6e-b947-0a3bcd479480 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\"><a href=\"/yaffs-action\">\n<article class=\"embedded-entity\">\n<img src=\"/sites/default/files/styles/max_325x325/public/2017-06/atm_1.jpg?itok=HfIny6EH\" width=\"325\" height=\"325\" alt=\"Thumbnail\" title=\"ATM\" class=\"img-responsive\" />\n</article>\n</a> </div>\n      \n  </section>\n\n\n  </div>\n\n              </div>\n              <div class=\"col-sm-4\">\n                    <div class=\"region region-front-highlight-3\">\n    <section id=\"block-downloadyaffs\" class=\"block block-block-content block-block-contenteed71eb7-98b2-4109-aabe-7718283459ad clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\"><a href=\"/get-yaffs\">\n<article class=\"embedded-entity\">\n<img src=\"/sites/default/files/styles/max_325x325/public/2017-06/download_now_0.jpg?itok=XdRx8zkI\" width=\"325\" height=\"325\" alt=\"Thumbnail\" title=\"Download Yaffs\" class=\"img-responsive\" />\n</article>\n</a> </div>\n      \n  </section>\n\n\n  </div>\n\n              </div>\n            </div>\n                        </section>\n\n                </div>\n  </div>\n\n  <div class=\"container-fluid front-pane-1\">\n        <div class=\"container\">\n        \n    </div>\n  </div>\n\n  <div class=\"container-fluid front-pane-2\">\n        <div class=\"container\">\n          <div class=\"region region-front-pane-2\">\n    <section class=\"views-element-container block block-views block-views-blockyaffs-user-logos-block-1 clearfix\" id=\"block-views-block-yaffs-user-logos-block-1\">\n  \n    \n\n      <div class=\"form-group\"><div class=\"view view-yaffs-user-logos view-id-yaffs_user_logos view-display-id-block_1 js-view-dom-id-e183758cb8f40553ba14da37380b14b3b3eff628d778dd88e1d4500730acc9fe\">\n  \n    \n      \n      <div class=\"view-content\">\n      <div id=\"views-bootstrap-yaffs-user-logos-block-1\"  class=\"grid views-view-grid horizontal\">\n            <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-6 col-md-3 col-lg-3 \">\n            <div class=\"views-field views-field-field-yaffs-user-logo\"><div class=\"field-content\"><a href=\"/yaffs-action\">  <img src=\"/sites/default/files/styles/small/public/logos/designA_logo.png?itok=5VWxByrk\" width=\"200\" height=\"141\" alt=\"\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-6 col-md-3 col-lg-3 \">\n            <div class=\"views-field views-field-field-yaffs-user-logo\"><div class=\"field-content\"><a href=\"/yaffs-action\">  <img src=\"/sites/default/files/styles/small/public/logos/eaton_logo.png?itok=kExm8d-W\" width=\"200\" height=\"84\" alt=\"\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-6 col-md-3 col-lg-3 \">\n            <div class=\"views-field views-field-field-yaffs-user-logo\"><div class=\"field-content\"><a href=\"/yaffs-action\">  <img src=\"/sites/default/files/styles/small/public/logos/LANCOM_Logo_4c.png?itok=ZIDg8yYt\" width=\"200\" height=\"50\" alt=\"\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-6 col-md-3 col-lg-3 \">\n            <div class=\"views-field views-field-field-yaffs-user-logo\"><div class=\"field-content\"><a href=\"/yaffs-action\">  <img src=\"/sites/default/files/styles/small/public/logos/bernina_international_logo.png?itok=G8DeIWtW\" width=\"200\" height=\"30\" alt=\"\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div>\n          </div>\n              </div>\n          <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-6 col-md-3 col-lg-3 \">\n            <div class=\"views-field views-field-field-yaffs-user-logo\"><div class=\"field-content\"><a href=\"/yaffs-action\">  <img src=\"/sites/default/files/styles/small/public/logos/gallagher_logo.png?itok=lQyDJeN1\" width=\"200\" height=\"65\" alt=\"\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-6 col-md-3 col-lg-3 \">\n            <div class=\"views-field views-field-field-yaffs-user-logo\"><div class=\"field-content\"><a href=\"/yaffs-action\">  <img src=\"/sites/default/files/styles/small/public/logos/android_logo.png?itok=MShHoIK7\" width=\"170\" height=\"71\" alt=\"\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-6 col-md-3 col-lg-3 \">\n            <div class=\"views-field views-field-field-yaffs-user-logo\"><div class=\"field-content\"><a href=\"/yaffs-action\">  <img src=\"/sites/default/files/styles/small/public/logos/leica_logo.png?itok=Ne2u8w3-\" width=\"200\" height=\"130\" alt=\"\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div>\n          </div>\n              </div>\n      </div>\n\n    </div>\n  \n            <div class=\"view-footer\">\n      <a class=\"btn btn-default\" href=\"/yaffs-action\">Who uses Yaffs? Read more...</a>\n    </div>\n    </div>\n</div>\n\n  </section>\n\n\n  </div>\n\n    </div>\n  </div>\n\n  <div class=\"container-fluid front-pane-3\">\n        <div class=\"container\">\n          <div class=\"region region-front-pane-3\">\n    <section class=\"views-element-container block block-views block-views-blockhighlighted-yaffs-features-block-1 clearfix\" id=\"block-views-block-highlighted-yaffs-features-block-1\">\n  \n    \n\n      <div class=\"form-group\"><div class=\"view view-highlighted-yaffs-features view-id-highlighted_yaffs_features view-display-id-block_1 js-view-dom-id-edb5192f3c3d8f4fb7cc9f43a90a39384ce600f73ef1c3d46a9d464601cee71c\">\n  \n    \n      \n      <div class=\"view-content\">\n      <div id=\"views-bootstrap-highlighted-yaffs-features-block-1\"  class=\"grid views-view-grid horizontal\">\n            <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-12 col-md-4 col-lg-4 \">\n            <div class=\"views-field views-field-field-icon-text\"><div class=\"field-content\"><i class=\"fa fa-thumbs-up\"></i></div></div><div class=\"views-field views-field-title\"><span class=\"field-content\"><a href=\"/features#384\"><h3>Royalty Free... </h3></a></span></div><div class=\"views-field views-field-body\"><div class=\"field-content\">Whether you use Yaffs under the GNU General Public Licence or under a commercial licence, Yaffs is free of any royalty. No need to worry about rising costs for your hit product!</div></div><div class=\"views-field views-field-edit-node\"><span class=\"field-content\"></span></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-4 col-lg-4 \">\n            <div class=\"views-field views-field-field-icon-text\"><div class=\"field-content\"><i class=\"fa fa-shield\"></i></div></div><div class=\"views-field views-field-title\"><span class=\"field-content\"><a href=\"/features#385\"><h3>A robust flash file system...</h3></a></span></div><div class=\"views-field views-field-body\"><div class=\"field-content\">After more than 100,000 <strong>random</strong> power-failures during reading or writing, a test file showed NO data corruption at all!</div></div><div class=\"views-field views-field-edit-node\"><span class=\"field-content\"></span></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-4 col-lg-4 \">\n            <div class=\"views-field views-field-field-icon-text\"><div class=\"field-content\"><i class=\"fa fa-heart\"></i></div></div><div class=\"views-field views-field-title\"><span class=\"field-content\"><a href=\"/features#388\"><h3>Yaffs is Open Source...</h3></a></span></div><div class=\"views-field views-field-body\"><div class=\"field-content\">You can have a look at the code at any time. <a href=\"/downloads\">Download it now</a>! And it\'s suitable for GPL and commercially licensed projects.</div></div><div class=\"views-field views-field-edit-node\"><span class=\"field-content\"></span></div>\n          </div>\n              </div>\n          <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-12 col-md-4 col-lg-4 \">\n            <div class=\"views-field views-field-field-icon-text\"><div class=\"field-content\"><i class=\"fa fa-mobile-phone\"></i></div></div><div class=\"views-field views-field-title\"><span class=\"field-content\"><a href=\"/features#389\"><h3>Tried and tested in millions of devices...</h3></a></span></div><div class=\"views-field views-field-body\"><div class=\"field-content\">Yaffs is widely used in Linux and proprietary commercial RTOSs. It\'s been included in hundreds of devices, and shipped as part of Google\'s Android, with millions of units sold.</div></div><div class=\"views-field views-field-edit-node\"><span class=\"field-content\"></span></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-4 col-lg-4 \">\n            <div class=\"views-field views-field-field-icon-text\"><div class=\"field-content\"><i class=\"fa fa-space-shuttle\"></i></div></div><div class=\"views-field views-field-title\"><span class=\"field-content\"><a href=\"/features#407\"><h3>Booting is fast...</h3></a></span></div><div class=\"views-field views-field-body\"><div class=\"field-content\">It is important for a Flash filesystem to boot fast, so boot speed was a fundamental consideration in the design of Yaffs.</div></div><div class=\"views-field views-field-edit-node\"><span class=\"field-content\"></span></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-4 col-lg-4 \">\n            <div class=\"views-field views-field-field-icon-text\"><div class=\"field-content\"><i class=\"fa fa-users\"></i></div></div><div class=\"views-field views-field-title\"><span class=\"field-content\"><a href=\"/features#408\"><h3>An active community...</h3></a></span></div><div class=\"views-field views-field-body\"><div class=\"field-content\">There\'s an active community of people who use Yaffs and who have developed with Yaffs, just a click or two away.</div></div><div class=\"views-field views-field-edit-node\"><span class=\"field-content\"></span></div>\n          </div>\n              </div>\n      </div>\n\n    </div>\n  \n            <div class=\"view-footer\">\n      <a class=\"btn btn-default\" href=\"/features\">Lots more Yaffs features...</a>\n    </div>\n    </div>\n</div>\n\n  </section>\n\n\n  </div>\n\n    </div>\n  </div>\n\n  <div class=\"container-fluid front-pane-4\">\n        <div class=\"container\" >\n          <div class=\"region region-front-pane-4\">\n    <section class=\"views-element-container block block-views block-views-blockyaffs-documents-highlights-block-1 clearfix\" id=\"block-views-block-yaffs-documents-highlights-block-1\">\n  \n    \n\n      <div class=\"form-group\"><div class=\"view view-yaffs-documents-highlights view-id-yaffs_documents_highlights view-display-id-block_1 js-view-dom-id-c359ba2946cecacab0b2ccc3d02ba57ca3dc4e33a95983cb0c2d5d12c55b0d81\">\n  \n    \n      \n      <div class=\"view-content\">\n      <div id=\"views-bootstrap-yaffs-documents-highlights-block-1\"  class=\"grid views-view-grid horizontal\">\n            <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/yaffs-licence-sample\" hreflang=\"und\">Yaffs Licence Sample</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\">While the Yaffs code is available free of charge under GNU General Public Licence, version 2, that entails the obligation to disclose Source Code for your application using Yaffs. An Aleph One Licence does not impose that obligation and so is attractive for proprietary projects. This sample Licence provides an example of the points we expect a Licence to cover.</div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/yaffs-overview\" hreflang=\"und\">Yaffs Overview</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\">YAFFS is a filesystem designed specifically for the characteristics of NAND flash. This page gives an overview of the project - what is available, how it works, how to use it, developer resources, and licensing options.</div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"></div></div>\n          </div>\n              </div>\n          <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/yaffs-licence-faqs\" hreflang=\"und\">Yaffs Licence FAQs</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\"><p>Some questions about the commercial licence for Yaffs and how we arrive at one.</p></div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/documents/faq\" hreflang=\"und\">FAQ</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\"><p>Common questions about Yaffs technical issues.</p></div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"></div></div>\n          </div>\n              </div>\n          <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/licences-more-background-and-detail\" hreflang=\"und\">Licences - more background and detail</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\"><p>More on the details and background of Licences for Yaffs</p></div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"><a href=\"/sites/default/files/downloads/ConsiderationsInChoosingAFlashFileSystem_0.pdf\">  <img src=\"/sites/default/files/styles/pdf_image/public/styles/pdf_image/public/downloads/ConsiderationsInChoosingAFlashFileSystem_0.pdf.png?itok=ROOk6w-T\" width=\"150\" height=\"212\" alt=\"Preview of ConsiderationsInChoosingAFlashFileSystem.pdf\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/documents/considerations-choosing-flash-file-system\" hreflang=\"und\">Considerations in Choosing a Flash File System</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\">Failures in an embedded File System in a product are much more serious to the user than failures in an office computer.&nbsp; Power failures and failures to cache data properly can be avoided by choosing a FFS specifically designed for reliability from the ground up.</div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"><span class=\"file file--mime-application-pdf file--application-pdf icon-before\"><span class=\"file-icon\"><span class=\"icon glyphicon glyphicon-file text-primary\" aria-hidden=\"true\"></span></span><span class=\"file-link\"><a href=\"https://yaffs.net/sites/default/files/downloads/ConsiderationsInChoosingAFlashFileSystem_0.pdf\" type=\"application/pdf; length=131376\" title=\"Open file in new window\" target=\"_blank\" data-toggle=\"tooltip\" data-placement=\"bottom\">ConsiderationsInChoosingAFlashFileSystem.pdf</a></span><span class=\"file-size\">128.3 KB</span></span></div></div>\n          </div>\n              </div>\n          <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"><a href=\"/sites/default/files/downloads/HowYaffsWorks.pdf\">  <img src=\"/sites/default/files/styles/pdf_image/public/styles/pdf_image/public/downloads/HowYaffsWorks.pdf.png?itok=_nJu31C0\" width=\"150\" height=\"194\" alt=\"Preview of HowYaffsWorks.pdf\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/documents/how-yaffs-works\" hreflang=\"und\">How Yaffs works</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\">This document gives an explanation of most of the core mechanisms that make Yaffs work. As of the time of writing this, the Yaffs2 code base includes approximately 19,000 lines of code making a very detailed discussion impractical. This document is the starting point for understanding Yaffs. Further detailed questions and discussions are welcomed on the Yaffs discussion list.</div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"><span class=\"file file--mime-application-pdf file--application-pdf icon-before\"><span class=\"file-icon\"><span class=\"icon glyphicon glyphicon-file text-primary\" aria-hidden=\"true\"></span></span><span class=\"file-link\"><a href=\"https://yaffs.net/sites/default/files/downloads/HowYaffsWorks.pdf\" type=\"application/pdf; length=402514\" title=\"Open file in new window\" target=\"_blank\" data-toggle=\"tooltip\" data-placement=\"bottom\">HowYaffsWorks.pdf</a></span><span class=\"file-size\">393.08 KB</span></span></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"><a href=\"/sites/default/files/downloads/YaffsTuning.pdf\">  <img src=\"/sites/default/files/styles/pdf_image/public/styles/pdf_image/public/downloads/YaffsTuning.pdf.png?itok=idZTTQBs\" alt=\"Preview of YaffsTuning.pdf\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/documents/yaffs-tuning\" hreflang=\"und\">Yaffs Tuning</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\"><p>This document describes the parameters which can be modified by the developer in the different phases of applying, debugging, and routine use of Yaffs.</p></div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"><span class=\"file file--mime-application-pdf file--application-pdf icon-before\"><span class=\"file-icon\"><span class=\"icon glyphicon glyphicon-file text-primary\" aria-hidden=\"true\"></span></span><span class=\"file-link\"><a href=\"https://yaffs.net/sites/default/files/downloads/YaffsTuning.pdf\" type=\"application/pdf; length=93667\" title=\"Open file in new window\" target=\"_blank\" data-toggle=\"tooltip\" data-placement=\"bottom\">YaffsTuning.pdf</a></span><span class=\"file-size\">91.47 KB</span></span></div></div>\n          </div>\n              </div>\n      </div>\n\n    </div>\n  \n            <div class=\"view-footer\">\n      <a class=\"btn btn-default\" href=\"/documents\">All the Yaffs documentation...</a>\n    </div>\n    </div>\n</div>\n\n  </section>\n\n\n  </div>\n\n    </div>\n  </div>\n\n    <div class=\"container-fluid front-pane-5\">\n                <div class=\"container\" >\n              <div class=\"region region-front-pane-5\">\n    <section id=\"block-frontpageprimeryaffs\" class=\"block block-block-content block-block-contente7a8d2de-4fbb-4680-9e18-fe4d8337f1d6 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<h1>Flash file systems primer</h1>\n<h2>Background &amp; basics</h2>\n<h3><span>What is a </span><span>F</span><span>lash </span><span>F</span><span>ile </span><span>S</span><span>ystem</span>?</h3>\n<p><span>A <span>Flash File System</span> stores data on flash memory, rather than a hard drive. Flash is used because it’s faster, much more tolerant of physical stress and takes less power. A <span>flash filesystem</span> is used to manage the data and get the best out of flash memory.</span></p>\n<p><span>As two examples, a flash memory chip needs to be erased in blocks before it is rewritten and a flash file system will manage that; flash memory has a limited number of writes per block so many flash file systems incorporate a <span>wear levelling</span> mechanism to ensure the writes are spread out.</span></p>\n<p><span>A flash file system is most useful as a part of an embedded system,. As a developer, you <em>can</em>&nbsp;read from and write directly to your Flash memory on an embedded system, but unless your use is extremely limited, you\'ll probably find that you come up against problems that Flash file systems have already solved.</span></p>\n<h3>What are NAND flash &amp; NOR flash?</h3>\n<p><span>These are the two fundamental flash architectures and have very different characteristics in performance, reliability, erase cycles, life span, and price. They also differ fundamentally from hard disk drives, and so need specialised handling.</span></p>\n<table>\n<tbody>\n <tr>\n  <td>\n  <p>&nbsp;</p>\n   </td>\n  <td>\n  <p>NAND flash</p>\n   </td>\n  <td>\n  <p>NOR flash</p>\n   </td>\n </tr>\n <tr>\n  <td>\n  <p>Storage density</p>\n   </td>\n  <td>\n  <p>Higher</p>\n   </td>\n  <td>\n  <p>Lower</p>\n   </td>\n </tr>\n <tr>\n  <td>\n  <p>Read performance</p>\n   </td>\n  <td>\n  <p>Fast</p>\n   </td>\n  <td>\n  <p>Fast (may be slowed by serial access)</p>\n   </td>\n </tr>\n <tr>\n  <td>\n  <p>Write performance</p>\n   </td>\n  <td>\n  <p>Faster</p>\n   </td>\n  <td>\n  <p>Slower (may be slowed further by serial access)</p>\n   </td>\n </tr>\n <tr>\n  <td>\n  <p>Erase performance</p>\n   </td>\n  <td>\n  <p>Faster (low ms typically)</p>\n   </td>\n  <td>\n  <p>Slower (possibly seconds)</p>\n   </td>\n </tr>\n <tr>\n  <td>\n  <p>Storage reliability</p>\n   </td>\n  <td>\n  <p>Lower (without management)</p>\n   </td>\n  <td>\n  <p>Better</p>\n   </td>\n </tr>\n <tr>\n  <td>\n  <p>Life span</p>\n   </td>\n  <td>\n  <p>Higher</p>\n   </td>\n  <td>\n  <p>Lower</p>\n   </td>\n </tr>\n <tr>\n  <td>\n  <p>Price</p>\n   </td>\n  <td>\n  <p>Lower</p>\n   </td>\n  <td>\n  <p>Higher</p>\n   </td>\n </tr>\n</tbody>\n</table>\n<p><span>Yaffs is both an <span>embedded NAN</span><span>D flash file system</span> and an <span>embedded N</span><span>OR Flash file system</span>. It can handle SLC, TLC and MLC NAND. It also works on MLC and SLC NOR. And it can work with parallel or serial access including Serial Peripheral Bus (SPI).</span></p>\n<h3>What special functions does a <span>file system </span><span>for flash</span> include?</h3>\n<p><span>As well as the normal file system functions, a <span>flash file system embedded</span> in hardware should help the device to start and stop quickly and deal well with losing power with no warning, without corrupting the data; and, manage the foibles of flash memory, protecting the stored data with extreme reliability. (Read our paper <a href=\"/documents/considerations-choosing-flash-file-system\">Considerations in Choosing a Flash File System</a>.)</span></p>\n<p><span><span>To these ends, an embedded flash file system must employ extra steps to achieve these such as using log structuring, rather than traditional file structuring plus a flash translation layer; manage power loss and recovery; include flash memory wear levelling; deal with the unreliability of flash from read and write disturbs, by using error correction (ECC), bad block remapping, over provision and flash block refreshing; ensure it’s ready to write fast by using garbage collection and flash block erase to prepare; and manage writing while avoiding write amplification. </span></span></p>\n<h4>What is a log-structured file system?</h4>\n<p><span>Log structuring means that data is written to the file system as a sequence of changes to the file system. This has the advantage that there is less overhead, and so it\'s faster than a non-log-structured system. More important though is that it is more robust against power failure. It also means that a file may be fragmented. For hard drives, fragmentation can mean much slower access due to the time required to mechanically move the read heads around the disk, but flash memory has no moving parts so there is no overhead for flash.</span></p>\n<p><span>Yaffs is log structured a <span>flash file system </span><span>architecture</span> which is faster and more robust than the alternatives.</span></p>\n<h4>What is a <span>Flash Translation Layer</span> (FTL) ?</h4>\n<p><span>It is sometimes desirable to use regular block file systems (such as FAT) with flash memory. In such cases, a Flash Translation Layer presents flash memory or a flash file system as if it\'s an ordinary hard drive.</span></p>\n<p><span>An FTL is an incomplete storage solution it still requires a file system. This makes two layers where data can be damaged and lost: in the FTL and in the <span>flash memory </span><span>file system</span>.</span></p>\n<p><span>True <span>file systems for flash memory</span>, such as Yaffs, do not use FTLs. They deal directly with the idiosyncrasies of flash, providing a faster and more reliable solution.</span></p>\n<h4>What is power loss recovery?</h4>\n<p><span>When power to any storage device is suddenly lost, the device can end up in an unknown state and may have damaged areas. Most file systems have to work hard to ensure that they are in a consistent state after power loss. <span>E</span><span>mbedded file systems</span> <span>for flash</span> may make allowances for unscheduled power loss with a recovery process.</span></p>\n<p><span>Yaffs is built with fault tolerance as a guiding principle and so is designed so power loss is considered a normal event.</span></p>\n<h4>What is <span>wear levelling</span>?</h4>\n<p><span>Flash chips wear out. Each time a part of the flash memory is erased and written, it is slightly damaged. <span>Embedded f</span><span>lash file systems</span> note the danger, and sometimes try to spread the damage rather than having it concentrated in one region, so prolonging the life of the memory and the life of the device.</span></p>\n<p><span>Yaffs is designed so that extra <span>wear leveling</span> is unnecessary. Instead, it’s automatically <span>wear levelling</span> because of the log structure.</span></p>\n<h4>What is flash read disturb? What is flash write disturb?</h4>\n<p><span><a href=\"/documents/yaffs-nand-flash-failure-mitigation\">NAND flash may experience degradation or loss of data</a> owing to reads of pages in the same block or data changes in neighbouring blocks of the NAND device. This is particularly true for MLC NAND.</span></p>\n<p><span>Yaffs uses block refreshing to deal with such problems.</span></p>\n<h4>What is flash error correction/flash ECC?</h4>\n<p><span>There are ways in which flash memory can be corrupted – for instance F-N tunnelling problems and leaky oxide layers. See our <a href=\"/documents/yaffs-nand-flash-failure-mitigation\">detailed discussion of flash memory problems</a>.</span></p>\n<p><span>But every bit counts, and especially if it\'s part of critical data or essential to the correct working of a system. Flash error correction keeps track of a section of memory to tell if there\'s corruption, and provides ways to correct these small errors.</span></p>\n<p><span>Yaffs can use hardware or software based ECC.</span></p>\n<h4>What is bad-block remapping?</h4>\n<p><span>File systems are built upon storing data on physical media. But all media suffers deterioration. Some hardware or <span>flash media </span><span>file systems</span> keep lists of damaged regions and behind the scenes, substitute known good ones in their place.</span></p>\n<p><span>Because of the way that Yaffs works, there\'s no need for bad block remapping because it isn’t a block structured file system.</span></p>\n<h4>What is <span>o</span><span>ver-provisioning</span> ?</h4>\n<p><span>Knowing that the media will degrade and suffer errors, and needing space to alter data because of the nature of flash memory, sometimes a <span>flash memory based </span><span>file system</span> puts aside a portion of the media for this use. This is <span>overprovisioning</span>. Often this space used when remapping bad blocks.</span></p>\n<p><span>Because Yaffs is log structured, it has the advantage that it does not need <span>over provision</span><span>ing</span>, making more memory available to store data.</span></p>\n<h4>What is flash block refreshing?</h4>\n<p><span>To counteract the problems of unreliable flash memory – for instance errors due to read and write disturbs – a flash filesystem can refresh the memory, by making a new copy of a block.</span></p>\n<p><span>Yaffs includes flash block refreshing.</span></p>\n<h4>What is flash garbage collection?</h4>\n<p><span>When a file is deleted, or a part of a file is overwritten, file systems often simply mark the flash space as deleted, rather than removing it. Later they reclaim the space for reuse. This is garbage collection.</span></p>\n<p><span>Yaffs has garbage collection to maximise the amount of data the file system can store.</span></p>\n<h4>What is flash block erase?</h4>\n<p><span>Data must be written into blank areas of the flash chip, but erasing takes time. Rather than erase and write at the same time, in order to speed writes, NAND and <span>NOR flash file systems</span> can prepare blocks for later use. This is not usually necessary for other storage media.</span></p>\n<p><span>As part of garbage collection, Yaffs uses a block erase strategy.</span></p>\n<h4>What is flash write amplification ?</h4>\n<p><span>In many block-based flash file systems, when data changes the new data must be written to the disk, and then the old data must be marked as invalid. A small change to the data can have consequences that propagate involving writing to the memory twice or more as the old data is cleaned up by garbage collection and files are organised to take the minimum amount of space. This is write amplification - a single small write causing a cascade of writes (and erases) of whole blocks.</span></p>\n<p><span>Yaffs avoids much of this problem by being log structured, meaning that flash memory is slower to reach it\'s maximum number of cycles, while writing is faster.</span></p>\n<h2>How does Yaffs work?</h2>\n<p><span>You can find full details in our paper <a href=\"/documents/how-yaffs-works\">How Yaffs Works</a>&nbsp;but briefly, here\'s how it works.</span></p>\n<p><span>It\'s a log-structured filing system. This also ensures that Yaffs is wear-levelling is built into the design because no one part of the flash memory is used any more than another.</span></p>\n<p><span>A Yaffs object is anything that Yaffs stores - for instance a file or a directory.</span></p>\n<p><span>The memory in NAND flash is arranged in pages. A page is the unit of allocation and programming. In Yaffs, the unit of allocation is called the chunk. Typically a chunk will be the same as a NAND page, but there is flexibility to use chunks which map to multiple pages (eg. A system may have two NAND chips in parallel requiring 2x2048 = 4096 byte chunks) . This distinction gives a lot of flexibility in how the system can be configured.</span></p>\n<p><span>A fixed but configurable number of chunks form a block which is the unit of erasure.</span></p>\n<p><span>NAND flash is shipped with bad blocks and further blocks may go bad during the operation of the device so Yaffs detects and marks bad blocks.</span></p>\n<p><span>NAND flash also typically requires the use of some sort of error detection and correction code (ECC). Yaffs can either use existing ECC logic or provide its own.</span></p>\n<p><span>Yaffs maintains data in RAM about the file system, but this is not needed for Yaffs to work - so the device can safely lose power at any point without data corruption.</span></p>\n<p><span>Here\'s how the Yaffs filesystem works to ensure data safety and a very fast startup... At regular points and on controlled shutdown, checkpoint blocks are written to the flash memory, containing all the data to quickly rebuild the file system. Under usual circumstances this checkpoint is used when a device is started, to very quickly rebuild the RAM data about the file system. If the checkpoint is determined to be corrupted, or if the user requested then the file system is rebuilt by scanning.</span></p>\n<p><span>To do this, Yaffs makes a prescan, to find the sequence numbers for blocks. Then it scans through blocks backwards to build up the list of chunks that make up objects. It speeds up this process by using Block Summaries, which are collections of all the tags in a data in a block. (But it\'s still always possible to go back to the chunks themselves, to find the tags, if a summary is missing or damaged.)</span></p>\n<p><span>And tags are how Yaffs tells that a chunk belongs to a particular object.</span></p>\n<p><span>Tags are also how Yaffs knows which chunks make up the current version of an object... Because the file system is log structured, if an object has been updated, only the latest chunks are used, giving the correct version of the object. A full description of the process is available in the technical documentation, and of course you can browse the code to see exactly how it all works; there\'s a lot more to tags, the metadata that they can hold, how they are stored, and how tags are used to link together objects into a file system with a POSIX interface.</span></p>\n<p><span>And of course that\'s not the end of the story. There\'s caching to deal with repeated small changes to data. There\'s garbage collection to let space be re-used, and Yaffs deals with collecting garbage differently depending on whether there\'s lots of free space or only a little. And part of making Yaffs a high performance flash file system is to make sure that re-useable blocks are erased well before they are needed, so that writing involves only a single operation. There\'s lazy loading to reduce scanning time. And all of this is built in a portable way, so that Yaffs can be configured to match almost any hardware, and can be ported to any operating system, or work on bare metal without an operating system. There\'s a test harness which is used to subject Yaffs to power failure, and ensure it works even with external data corruption. That\'s what makes it robust enough to send into space and to handle hundreds of terabytes of mission critical data.</span></p>\n<h4>Why is Yaffs special as an embedded flash file system?</h4>\n<p><span>Yaffs has been in use since 2002, and so it is hardened. It has been used in everything from phones to sewing machines to satellites. It is popular with Aerospace companies, and firms managing large infrastructure and in Point-of-Sale (POS) equipment (where customer feedback is very rapid!) It has been used in extreme conditions where it must not lose data, and where there is no chance for maintenance. It\'s been used for very large file systems up to 190TB. It\'s been used for safety critical applications, and millions of consumer devices.</span></p>\n<p><span>We carry out testing in a <a href=\"/documents/yaffs-robustness-and-testing\">rig which can simulate random power failures</a> and proved its reliability after tens to hundreds of millions of power failures.&nbsp;It\'s designed with an understanding of the constraints of flash memory and for speed.</span></p>\n<p><span>Yaffs works on multiple operating systems – Linux, VxWorks, Windows CE, eCos. - and also directly on bare metal, with no operating system. And it\'s easy to integrate into your RTOS or application using the Yaffs Direct Interface. It works with multiple types of flash memory - NAND &amp; NOR, SLC, MLC &amp; TLC.&nbsp;It\'s endian neutral. It\'s been used with 32-bit and 64-bit CPUs including MIPS, 68000, ARM, ColdFire, PowerPC and x86 variants. Yaffs has even been used with various DSP architectures! And it\'ll work with 16-bit with some tuning. So it can be configured to work with your design and the flash geometry that you need.</span></p>\n<p><span>And it\'s a <span>free embedded flash file system - </span><span>it’s open</span> <span>source</span>! <a href=\"/get-yaffs\">Grab the GPL version now</a>! Check out our the active community. And that\'s not the whole story - there are lots more reasons that make Yaffs special.&nbsp;</span></p>\n<p>&nbsp;</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n        </div>\n    </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"node\\/487\",\"currentPathIsAdmin\":false,\"isFront\":true,\"currentLanguage\":\"en\",\"currentQuery\":{\"edit\":\"\"}},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:18:{i:0;s:26:\"languages:language_content\";i:1;s:28:\"languages:language_interface\";i:2;s:5:\"route\";i:3;s:32:\"route.menu_active_trails:account\";i:4;s:29:\"route.menu_active_trails:main\";i:5;s:5:\"theme\";i:6;s:8:\"timezone\";i:7;s:8:\"url.path\";i:8;s:17:\"url.path.is_front\";i:9;s:15:\"url.path.parent\";i:10;s:30:\"url.query_args:_wrapper_format\";i:11;s:8:\"url.site\";i:12;s:4:\"user\";i:13;s:21:\"user.node_grants:view\";i:14;s:16:\"user.permissions\";i:15;s:10:\"user.roles\";i:16;s:20:\"user.roles:anonymous\";i:17;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:103:{i:0;s:16:\"block_content:18\";i:1;s:16:\"block_content:23\";i:2;s:16:\"block_content:25\";i:3;s:16:\"block_content:27\";i:4;s:16:\"block_content:28\";i:5;s:16:\"block_content:29\";i:6;s:16:\"block_content:30\";i:7;s:15:\"block_content:7\";i:8;s:18:\"block_content_view\";i:9;s:10:\"block_view\";i:10;s:32:\"config:block.block.choosingyaffs\";i:11;s:29:\"config:block.block.cookieinfo\";i:12;s:32:\"config:block.block.downloadyaffs\";i:13;s:30:\"config:block.block.footerlegal\";i:14;s:39:\"config:block.block.frontimagehighlight2\";i:15;s:32:\"config:block.block.frontpagehero\";i:16;s:39:\"config:block.block.frontpageprimeryaffs\";i:17;s:33:\"config:block.block.mainnavigation\";i:18;s:35:\"config:block.block.mainnavigation_2\";i:19;s:29:\"config:block.block.searchform\";i:20;s:31:\"config:block.block.sitebranding\";i:21;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:22;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:23;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:24;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:25;s:37:\"config:block.block.yaffs_account_menu\";i:26;s:33:\"config:block.block.yaffs_block_10\";i:27;s:32:\"config:block.block.yaffs_block_5\";i:28;s:32:\"config:block.block.yaffs_block_6\";i:29;s:32:\"config:block.block.yaffs_block_8\";i:30;s:32:\"config:block.block.yaffs_block_9\";i:31;s:36:\"config:block.block.yaffs_breadcrumbs\";i:32;s:32:\"config:block.block.yaffs_content\";i:33;s:29:\"config:block.block.yaffs_help\";i:34;s:36:\"config:block.block.yaffs_local_tasks\";i:35;s:33:\"config:block.block.yaffs_messages\";i:36;s:35:\"config:block.block.yaffs_page_title\";i:37;s:32:\"config:block.block.yaffs_user_21\";i:38;s:31:\"config:block.block.yaffsinspace\";i:39;s:17:\"config:block_list\";i:40;s:24:\"config:color.theme.yaffs\";i:41;s:30:\"config:field.storage.node.body\";i:42;s:41:\"config:field.storage.node.field_icon_text\";i:43;s:44:\"config:field.storage.node.field_teaser_image\";i:44;s:47:\"config:field.storage.node.field_yaffs_user_logo\";i:45;s:32:\"config:field.storage.node.upload\";i:46;s:31:\"config:filter.format.basic_html\";i:47;s:30:\"config:filter.format.full_html\";i:48;s:29:\"config:filter.format.raw_html\";i:49;s:28:\"config:image.style.pdf_image\";i:50;s:24:\"config:image.style.small\";i:51;s:22:\"config:search.settings\";i:52;s:26:\"config:system.menu.account\";i:53;s:23:\"config:system.menu.main\";i:54;s:18:\"config:system.site\";i:55;s:26:\"config:user.role.anonymous\";i:56;s:44:\"config:views.view.highlighted_yaffs_features\";i:57;s:44:\"config:views.view.yaffs_documents_highlights\";i:58;s:34:\"config:views.view.yaffs_user_logos\";i:59;s:8:\"file:108\";i:60;s:8:\"file:109\";i:61;s:8:\"file:110\";i:62;s:7:\"file:40\";i:63;s:7:\"file:43\";i:64;s:7:\"file:44\";i:65;s:7:\"file:45\";i:66;s:7:\"file:46\";i:67;s:7:\"file:47\";i:68;s:7:\"file:48\";i:69;s:7:\"file:76\";i:70;s:7:\"file:77\";i:71;s:7:\"file:85\";i:72;s:13:\"http_response\";i:73;s:7:\"media:5\";i:74;s:7:\"media:8\";i:75;s:7:\"media:9\";i:76;s:7:\"node:32\";i:77;s:8:\"node:344\";i:78;s:8:\"node:353\";i:79;s:8:\"node:384\";i:80;s:8:\"node:385\";i:81;s:8:\"node:388\";i:82;s:8:\"node:389\";i:83;s:8:\"node:397\";i:84;s:8:\"node:398\";i:85;s:8:\"node:399\";i:86;s:8:\"node:400\";i:87;s:8:\"node:401\";i:88;s:8:\"node:407\";i:89;s:8:\"node:408\";i:90;s:8:\"node:409\";i:91;s:8:\"node:448\";i:92;s:8:\"node:451\";i:93;s:8:\"node:457\";i:94;s:8:\"node:460\";i:95;s:8:\"node:462\";i:96;s:8:\"node:466\";i:97;s:8:\"node:487\";i:98;s:9:\"node_list\";i:99;s:9:\"node_view\";i:100;s:8:\"rendered\";i:101;s:6:\"user:0\";i:102;s:6:\"user:1\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:5:{s:7:\"library\";a:10:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:18:\"views/views.module\";i:10;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:22:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:84:\"A Robust Flash File System Since 2002 | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:18:\"https://yaffs.net/\";}}i:1;s:9:\"shortlink\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:18:\"https://yaffs.net/\";}}i:1;s:13:\"canonical_url\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:11:\"description\";}i:5;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:6;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:7;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:8;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:10;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:11;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:18;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:19;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:20;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}i:21;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:5:\"/home\";}}i:1;s:29:\"html_head_link:revision:/home\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:8:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:8:\"node/487\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:1;s:15:\"currentLanguage\";s:2:\"en\";s:12:\"currentQuery\";O:8:\"stdClass\":1:{s:4:\"edit\";s:0:\"\";}}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:1:{s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}s:11:\"http_header\";a:1:{i:0;a:3:{i:0;s:4:\"Link\";i:1;s:23:\"</home>; rel=\"revision\"\";i:2;b:0;}}}}',-1,1511119736.930,1,'block_content:18 block_content:23 block_content:25 block_content:27 block_content:28 block_content:29 block_content:30 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:field.storage.node.body config:field.storage.node.field_icon_text config:field.storage.node.field_teaser_image config:field.storage.node.field_yaffs_user_logo config:field.storage.node.upload config:filter.format.basic_html config:filter.format.full_html config:filter.format.raw_html config:image.style.pdf_image config:image.style.small config:search.settings config:system.menu.account config:system.menu.main config:system.site config:user.role.anonymous config:views.view.highlighted_yaffs_features config:views.view.yaffs_documents_highlights config:views.view.yaffs_user_logos file:108 file:109 file:110 file:40 file:43 file:44 file:45 file:46 file:47 file:48 file:76 file:77 file:85 http_response media:5 media:8 media:9 node:32 node:344 node:353 node:384 node:385 node:388 node:389 node:397 node:398 node:399 node:400 node:401 node:407 node:408 node:409 node:448 node:451 node:457 node:460 node:462 node:466 node:487 node_list node_view rendered user:0 user:1','3566'),('https://yaffs.net/?q=node/111:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Thu, 25 Jan 2018 19:28:52 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:4:\"MISS\";}s:4:\"link\";a:4:{i:0;s:23:\"</home>; rel=\"revision\"\";i:1;s:108:\"</sites/default/files/css/css_Ft-hGawuooABKJanSezg8PXovgOMbB_QLx9CIyXeHsA.css?ozekku>; rel=preload; as=style\";i:2;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku>; rel=preload; as=style\";i:3;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Thu, 25 Jan 2018 19:28:52 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1516908532\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:51784:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"A Robust Flash File System Since 2002 | Yaffs - A Flash File System for embedded use\" />\n<link rel=\"shortlink\" href=\"https://yaffs.net/\" />\n<link rel=\"canonical\" href=\"https://yaffs.net/\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n<link rel=\"revision\" href=\"/home\" />\n\n    <title>A Robust Flash File System Since 2002 | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_Ft-hGawuooABKJanSezg8PXovgOMbB_QLx9CIyXeHsA.css?ozekku\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-frontpage page-node-type-page navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n    \n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\"><span property=\"schema:name\">A Robust Flash File System Since 2002</span>\n</h1>\n\n  <article role=\"article\" about=\"/home\" typeof=\"schema:WebPage\" class=\"page full clearfix\">\n\n  \n      <span property=\"schema:name\" content=\"A Robust Flash File System Since 2002\" class=\"hidden\"></span>\n\n\n  \n  <div class=\"content\">\n    \n            <div property=\"schema:text\" class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p>Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices, avionics, and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.</p>\n<p>&nbsp;</p>\n</div>\n      \n  </div>\n\n</article>\n\n<section id=\"block-yaffsinspace\" class=\"panel yaffs-shout well block block-block-content block-block-content9f676777-54d9-40d2-86dd-174fff14ab1a clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<h3><em>New!</em> Yaffs in space!</h3>\n<p><strong><img alt=\"Tess satellite\" data-entity-type=\"file\" data-entity-uuid=\"f06319f1-b6ac-41e2-a70d-a4c4da605b87\" height=\"246\" src=\"/sites/default/files/inline-images/tess_satellite_0.gif\" width=\"347\" class=\"align-right\" />NASA TESS Mission </strong>This <strong>Transiting Exoplanet Survey Satellite (TESS)</strong> will discover thousands of exoplanets in orbit around the brightest stars in the sky.</p>\n<p>It is a project regularly using our Yaffs File System to store incoming data and preserve it, in the rigours of the space environment, before sending it back to Earth.</p>\n<p>In a two-year survey of the solar neighborhood, TESS will monitor more than 200,000 stars for temporary drops in brightness caused by planetary transits. This first-ever spaceborne all-sky transit survey will identify planets ranging from Earth-sized to gas giants, around a wide range of stellar types and orbital distances. No ground-based survey can achieve this feat.</p>\n<p>Some File Systems are not robust enough to be suitable for such exacting work.<br />\n </p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n        \n                              <div class=\"front_highlight row\">\n              <div class=\"col-sm-4\">\n                    <div class=\"region region-front-highlight-1\">\n    <section id=\"block-choosingyaffs\" class=\"block block-block-content block-block-contentae8f54b9-5315-4995-a49e-c0780f3a88cc clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\"><a href=\"/documents/considerations-choosing-flash-file-system\">\n<article class=\"embedded-entity\">\n<img src=\"/sites/default/files/styles/max_325x325/public/2017-06/choosing_yaffs_0.jpg?itok=YuV5Z__e\" width=\"325\" height=\"325\" alt=\"Thumbnail\" title=\"Choosing Yaffs\" class=\"img-responsive\" />\n</article>\n</a> </div>\n      \n  </section>\n\n\n  </div>\n\n              </div>\n              <div class=\"col-sm-4\">\n                    <div class=\"region region-front-highlight-2\">\n    <section id=\"block-frontimagehighlight2\" class=\"block block-block-content block-block-contentfa53fc80-f3c4-4d6e-b947-0a3bcd479480 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\"><a href=\"/yaffs-action\">\n<article class=\"embedded-entity\">\n<img src=\"/sites/default/files/styles/max_325x325/public/2017-06/atm_1.jpg?itok=HfIny6EH\" width=\"325\" height=\"325\" alt=\"Thumbnail\" title=\"ATM\" class=\"img-responsive\" />\n</article>\n</a> </div>\n      \n  </section>\n\n\n  </div>\n\n              </div>\n              <div class=\"col-sm-4\">\n                    <div class=\"region region-front-highlight-3\">\n    <section id=\"block-downloadyaffs\" class=\"block block-block-content block-block-contenteed71eb7-98b2-4109-aabe-7718283459ad clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\"><a href=\"/get-yaffs\">\n<article class=\"embedded-entity\">\n<img src=\"/sites/default/files/styles/max_325x325/public/2017-06/download_now_0.jpg?itok=XdRx8zkI\" width=\"325\" height=\"325\" alt=\"Thumbnail\" title=\"Download Yaffs\" class=\"img-responsive\" />\n</article>\n</a> </div>\n      \n  </section>\n\n\n  </div>\n\n              </div>\n            </div>\n                        </section>\n\n                </div>\n  </div>\n\n  <div class=\"container-fluid front-pane-1\">\n        <div class=\"container\">\n        \n    </div>\n  </div>\n\n  <div class=\"container-fluid front-pane-2\">\n        <div class=\"container\">\n          <div class=\"region region-front-pane-2\">\n    <section class=\"views-element-container block block-views block-views-blockyaffs-user-logos-block-1 clearfix\" id=\"block-views-block-yaffs-user-logos-block-1\">\n  \n    \n\n      <div class=\"form-group\"><div class=\"view view-yaffs-user-logos view-id-yaffs_user_logos view-display-id-block_1 js-view-dom-id-8a35fcda02584f84c79a8d5e2576f68f0216117953eb3ee7556ddd61dbbc1289\">\n  \n    \n      \n      <div class=\"view-content\">\n      <div id=\"views-bootstrap-yaffs-user-logos-block-1\"  class=\"grid views-view-grid horizontal\">\n            <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-6 col-md-3 col-lg-3 \">\n            <div class=\"views-field views-field-field-yaffs-user-logo\"><div class=\"field-content\"><a href=\"/yaffs-action\">  <img src=\"/sites/default/files/styles/small/public/logos/designA_logo.png?itok=5VWxByrk\" width=\"200\" height=\"141\" alt=\"\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-6 col-md-3 col-lg-3 \">\n            <div class=\"views-field views-field-field-yaffs-user-logo\"><div class=\"field-content\"><a href=\"/yaffs-action\">  <img src=\"/sites/default/files/styles/small/public/logos/eaton_logo.png?itok=kExm8d-W\" width=\"200\" height=\"84\" alt=\"\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-6 col-md-3 col-lg-3 \">\n            <div class=\"views-field views-field-field-yaffs-user-logo\"><div class=\"field-content\"><a href=\"/yaffs-action\">  <img src=\"/sites/default/files/styles/small/public/logos/LANCOM_Logo_4c.png?itok=ZIDg8yYt\" width=\"200\" height=\"50\" alt=\"\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-6 col-md-3 col-lg-3 \">\n            <div class=\"views-field views-field-field-yaffs-user-logo\"><div class=\"field-content\"><a href=\"/yaffs-action\">  <img src=\"/sites/default/files/styles/small/public/logos/bernina_international_logo.png?itok=G8DeIWtW\" width=\"200\" height=\"30\" alt=\"\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div>\n          </div>\n              </div>\n          <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-6 col-md-3 col-lg-3 \">\n            <div class=\"views-field views-field-field-yaffs-user-logo\"><div class=\"field-content\"><a href=\"/yaffs-action\">  <img src=\"/sites/default/files/styles/small/public/logos/gallagher_logo.png?itok=lQyDJeN1\" width=\"200\" height=\"65\" alt=\"\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-6 col-md-3 col-lg-3 \">\n            <div class=\"views-field views-field-field-yaffs-user-logo\"><div class=\"field-content\"><a href=\"/yaffs-action\">  <img src=\"/sites/default/files/styles/small/public/logos/android_logo.png?itok=MShHoIK7\" width=\"170\" height=\"71\" alt=\"\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-6 col-md-3 col-lg-3 \">\n            <div class=\"views-field views-field-field-yaffs-user-logo\"><div class=\"field-content\"><a href=\"/yaffs-action\">  <img src=\"/sites/default/files/styles/small/public/logos/leica_logo.png?itok=Ne2u8w3-\" width=\"200\" height=\"130\" alt=\"\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div>\n          </div>\n              </div>\n      </div>\n\n    </div>\n  \n            <div class=\"view-footer\">\n      <a class=\"btn btn-default\" href=\"/yaffs-action\">Who uses Yaffs? Read more...</a>\n    </div>\n    </div>\n</div>\n\n  </section>\n\n\n  </div>\n\n    </div>\n  </div>\n\n  <div class=\"container-fluid front-pane-3\">\n        <div class=\"container\">\n          <div class=\"region region-front-pane-3\">\n    <section class=\"views-element-container block block-views block-views-blockhighlighted-yaffs-features-block-1 clearfix\" id=\"block-views-block-highlighted-yaffs-features-block-1\">\n  \n    \n\n      <div class=\"form-group\"><div class=\"view view-highlighted-yaffs-features view-id-highlighted_yaffs_features view-display-id-block_1 js-view-dom-id-95fe550d5052828912ac5148bc15b78f3cf61f69a8797eb9f9fafb9077e0fe26\">\n  \n    \n      \n      <div class=\"view-content\">\n      <div id=\"views-bootstrap-highlighted-yaffs-features-block-1\"  class=\"grid views-view-grid horizontal\">\n            <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-12 col-md-4 col-lg-4 \">\n            <div class=\"views-field views-field-field-icon-text\"><div class=\"field-content\"><i class=\"fa fa-thumbs-up\"></i></div></div><div class=\"views-field views-field-title\"><span class=\"field-content\"><a href=\"/features#384\"><h3>Royalty Free... </h3></a></span></div><div class=\"views-field views-field-body\"><div class=\"field-content\">Whether you use Yaffs under the GNU General Public Licence or under a commercial licence, Yaffs is free of any royalty. No need to worry about rising costs for your hit product!</div></div><div class=\"views-field views-field-edit-node\"><span class=\"field-content\"></span></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-4 col-lg-4 \">\n            <div class=\"views-field views-field-field-icon-text\"><div class=\"field-content\"><i class=\"fa fa-shield\"></i></div></div><div class=\"views-field views-field-title\"><span class=\"field-content\"><a href=\"/features#385\"><h3>A robust flash file system...</h3></a></span></div><div class=\"views-field views-field-body\"><div class=\"field-content\">After more than 100,000 <strong>random</strong> power-failures during reading or writing, a test file showed NO data corruption at all!</div></div><div class=\"views-field views-field-edit-node\"><span class=\"field-content\"></span></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-4 col-lg-4 \">\n            <div class=\"views-field views-field-field-icon-text\"><div class=\"field-content\"><i class=\"fa fa-heart\"></i></div></div><div class=\"views-field views-field-title\"><span class=\"field-content\"><a href=\"/features#388\"><h3>Yaffs is Open Source...</h3></a></span></div><div class=\"views-field views-field-body\"><div class=\"field-content\">You can have a look at the code at any time. <a href=\"/downloads\">Download it now</a>! And it\'s suitable for GPL and commercially licensed projects.</div></div><div class=\"views-field views-field-edit-node\"><span class=\"field-content\"></span></div>\n          </div>\n              </div>\n          <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-12 col-md-4 col-lg-4 \">\n            <div class=\"views-field views-field-field-icon-text\"><div class=\"field-content\"><i class=\"fa fa-mobile-phone\"></i></div></div><div class=\"views-field views-field-title\"><span class=\"field-content\"><a href=\"/features#389\"><h3>Tried and tested in millions of devices...</h3></a></span></div><div class=\"views-field views-field-body\"><div class=\"field-content\">Yaffs is widely used in Linux and proprietary commercial RTOSs. It\'s been included in hundreds of devices, and shipped as part of Google\'s Android, with millions of units sold.</div></div><div class=\"views-field views-field-edit-node\"><span class=\"field-content\"></span></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-4 col-lg-4 \">\n            <div class=\"views-field views-field-field-icon-text\"><div class=\"field-content\"><i class=\"fa fa-space-shuttle\"></i></div></div><div class=\"views-field views-field-title\"><span class=\"field-content\"><a href=\"/features#407\"><h3>Booting is fast...</h3></a></span></div><div class=\"views-field views-field-body\"><div class=\"field-content\">It is important for a Flash filesystem to boot fast, so boot speed was a fundamental consideration in the design of Yaffs.</div></div><div class=\"views-field views-field-edit-node\"><span class=\"field-content\"></span></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-4 col-lg-4 \">\n            <div class=\"views-field views-field-field-icon-text\"><div class=\"field-content\"><i class=\"fa fa-users\"></i></div></div><div class=\"views-field views-field-title\"><span class=\"field-content\"><a href=\"/features#408\"><h3>An active community...</h3></a></span></div><div class=\"views-field views-field-body\"><div class=\"field-content\">There\'s an active community of people who use Yaffs and who have developed with Yaffs, just a click or two away.</div></div><div class=\"views-field views-field-edit-node\"><span class=\"field-content\"></span></div>\n          </div>\n              </div>\n      </div>\n\n    </div>\n  \n            <div class=\"view-footer\">\n      <a class=\"btn btn-default\" href=\"/features\">Lots more Yaffs features...</a>\n    </div>\n    </div>\n</div>\n\n  </section>\n\n\n  </div>\n\n    </div>\n  </div>\n\n  <div class=\"container-fluid front-pane-4\">\n        <div class=\"container\" >\n          <div class=\"region region-front-pane-4\">\n    <section class=\"views-element-container block block-views block-views-blockyaffs-documents-highlights-block-1 clearfix\" id=\"block-views-block-yaffs-documents-highlights-block-1\">\n  \n    \n\n      <div class=\"form-group\"><div class=\"view view-yaffs-documents-highlights view-id-yaffs_documents_highlights view-display-id-block_1 js-view-dom-id-273bf60b230e3faef44a6e67c34370278019b51f5d0e914b039f491b4d00cf06\">\n  \n    \n      \n      <div class=\"view-content\">\n      <div id=\"views-bootstrap-yaffs-documents-highlights-block-1\"  class=\"grid views-view-grid horizontal\">\n            <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/yaffs-licence-sample\" hreflang=\"und\">Yaffs Licence Sample</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\">While the Yaffs code is available free of charge under GNU General Public Licence, version 2, that entails the obligation to disclose Source Code for your application using Yaffs. An Aleph One Licence does not impose that obligation and so is attractive for proprietary projects. This sample Licence provides an example of the points we expect a Licence to cover.</div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/yaffs-overview\" hreflang=\"und\">Yaffs Overview</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\">YAFFS is a filesystem designed specifically for the characteristics of NAND flash. This page gives an overview of the project - what is available, how it works, how to use it, developer resources, and licensing options.</div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"></div></div>\n          </div>\n              </div>\n          <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/yaffs-licence-faqs\" hreflang=\"und\">Yaffs Licence FAQs</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\"><p>Some questions about the commercial licence for Yaffs and how we arrive at one.</p></div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/documents/faq\" hreflang=\"und\">FAQ</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\"><p>Common questions about Yaffs technical issues.</p></div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"></div></div>\n          </div>\n              </div>\n          <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/licences-more-background-and-detail\" hreflang=\"und\">Licences - more background and detail</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\"><p>More on the details and background of Licences for Yaffs</p></div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"><a href=\"/sites/default/files/downloads/ConsiderationsInChoosingAFlashFileSystem_0.pdf\">  <img src=\"/sites/default/files/styles/pdf_image/public/styles/pdf_image/public/downloads/ConsiderationsInChoosingAFlashFileSystem_0.pdf.png?itok=ROOk6w-T\" width=\"150\" height=\"212\" alt=\"Preview of ConsiderationsInChoosingAFlashFileSystem.pdf\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/documents/considerations-choosing-flash-file-system\" hreflang=\"und\">Considerations in Choosing a Flash File System</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\">Failures in an embedded File System in a product are much more serious to the user than failures in an office computer.&nbsp; Power failures and failures to cache data properly can be avoided by choosing a FFS specifically designed for reliability from the ground up.</div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"><span class=\"file file--mime-application-pdf file--application-pdf icon-before\"><span class=\"file-icon\"><span class=\"icon glyphicon glyphicon-file text-primary\" aria-hidden=\"true\"></span></span><span class=\"file-link\"><a href=\"https://yaffs.net/sites/default/files/downloads/ConsiderationsInChoosingAFlashFileSystem_0.pdf\" type=\"application/pdf; length=131376\" title=\"Open file in new window\" target=\"_blank\" data-toggle=\"tooltip\" data-placement=\"bottom\">ConsiderationsInChoosingAFlashFileSystem.pdf</a></span><span class=\"file-size\">128.3 KB</span></span></div></div>\n          </div>\n              </div>\n          <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"><a href=\"/sites/default/files/downloads/HowYaffsWorks.pdf\">  <img src=\"/sites/default/files/styles/pdf_image/public/styles/pdf_image/public/downloads/HowYaffsWorks.pdf.png?itok=_nJu31C0\" width=\"150\" height=\"194\" alt=\"Preview of HowYaffsWorks.pdf\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/documents/how-yaffs-works\" hreflang=\"und\">How Yaffs works</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\">This document gives an explanation of most of the core mechanisms that make Yaffs work. As of the time of writing this, the Yaffs2 code base includes approximately 19,000 lines of code making a very detailed discussion impractical. This document is the starting point for understanding Yaffs. Further detailed questions and discussions are welcomed on the Yaffs discussion list.</div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"><span class=\"file file--mime-application-pdf file--application-pdf icon-before\"><span class=\"file-icon\"><span class=\"icon glyphicon glyphicon-file text-primary\" aria-hidden=\"true\"></span></span><span class=\"file-link\"><a href=\"https://yaffs.net/sites/default/files/downloads/HowYaffsWorks.pdf\" type=\"application/pdf; length=402514\" title=\"Open file in new window\" target=\"_blank\" data-toggle=\"tooltip\" data-placement=\"bottom\">HowYaffsWorks.pdf</a></span><span class=\"file-size\">393.08 KB</span></span></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"><a href=\"/sites/default/files/downloads/YaffsTuning.pdf\">  <img src=\"/sites/default/files/styles/pdf_image/public/styles/pdf_image/public/downloads/YaffsTuning.pdf.png?itok=idZTTQBs\" alt=\"Preview of YaffsTuning.pdf\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/documents/yaffs-tuning\" hreflang=\"und\">Yaffs Tuning</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\"><p>This document describes the parameters which can be modified by the developer in the different phases of applying, debugging, and routine use of Yaffs.</p></div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"><span class=\"file file--mime-application-pdf file--application-pdf icon-before\"><span class=\"file-icon\"><span class=\"icon glyphicon glyphicon-file text-primary\" aria-hidden=\"true\"></span></span><span class=\"file-link\"><a href=\"https://yaffs.net/sites/default/files/downloads/YaffsTuning.pdf\" type=\"application/pdf; length=93667\" title=\"Open file in new window\" target=\"_blank\" data-toggle=\"tooltip\" data-placement=\"bottom\">YaffsTuning.pdf</a></span><span class=\"file-size\">91.47 KB</span></span></div></div>\n          </div>\n              </div>\n      </div>\n\n    </div>\n  \n            <div class=\"view-footer\">\n      <a class=\"btn btn-default\" href=\"/documents\">All the Yaffs documentation...</a>\n    </div>\n    </div>\n</div>\n\n  </section>\n\n\n  </div>\n\n    </div>\n  </div>\n\n    <div class=\"container-fluid front-pane-5\">\n                <div class=\"container\" >\n              <div class=\"region region-front-pane-5\">\n    <section id=\"block-frontpageprimeryaffs\" class=\"block block-block-content block-block-contente7a8d2de-4fbb-4680-9e18-fe4d8337f1d6 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<h1>Flash file systems primer</h1>\n<h2>Background &amp; basics</h2>\n<h3><span>What is a </span><span>F</span><span>lash </span><span>F</span><span>ile </span><span>S</span><span>ystem</span>?</h3>\n<p><span>A <span>Flash File System</span> stores data on flash memory, rather than a hard drive. Flash is used because it’s faster, much more tolerant of physical stress and takes less power. A <span>flash filesystem</span> is used to manage the data and get the best out of flash memory.</span></p>\n<p><span>As two examples, a flash memory chip needs to be erased in blocks before it is rewritten and a flash file system will manage that; flash memory has a limited number of writes per block so many flash file systems incorporate a <span>wear levelling</span> mechanism to ensure the writes are spread out.</span></p>\n<p><span>A flash file system is most useful as a part of an embedded system,. As a developer, you <em>can</em>&nbsp;read from and write directly to your Flash memory on an embedded system, but unless your use is extremely limited, you\'ll probably find that you come up against problems that Flash file systems have already solved.</span></p>\n<h3>What are NAND flash &amp; NOR flash?</h3>\n<p><span>These are the two fundamental flash architectures and have very different characteristics in performance, reliability, erase cycles, life span, and price. They also differ fundamentally from hard disk drives, and so need specialised handling.</span></p>\n<table>\n<tbody>\n <tr>\n  <td>\n  <p>&nbsp;</p>\n   </td>\n  <td>\n  <p>NAND flash</p>\n   </td>\n  <td>\n  <p>NOR flash</p>\n   </td>\n </tr>\n <tr>\n  <td>\n  <p>Storage density</p>\n   </td>\n  <td>\n  <p>Higher</p>\n   </td>\n  <td>\n  <p>Lower</p>\n   </td>\n </tr>\n <tr>\n  <td>\n  <p>Read performance</p>\n   </td>\n  <td>\n  <p>Fast</p>\n   </td>\n  <td>\n  <p>Fast (may be slowed by serial access)</p>\n   </td>\n </tr>\n <tr>\n  <td>\n  <p>Write performance</p>\n   </td>\n  <td>\n  <p>Faster</p>\n   </td>\n  <td>\n  <p>Slower (may be slowed further by serial access)</p>\n   </td>\n </tr>\n <tr>\n  <td>\n  <p>Erase performance</p>\n   </td>\n  <td>\n  <p>Faster (low ms typically)</p>\n   </td>\n  <td>\n  <p>Slower (possibly seconds)</p>\n   </td>\n </tr>\n <tr>\n  <td>\n  <p>Storage reliability</p>\n   </td>\n  <td>\n  <p>Lower (without management)</p>\n   </td>\n  <td>\n  <p>Better</p>\n   </td>\n </tr>\n <tr>\n  <td>\n  <p>Life span</p>\n   </td>\n  <td>\n  <p>Higher</p>\n   </td>\n  <td>\n  <p>Lower</p>\n   </td>\n </tr>\n <tr>\n  <td>\n  <p>Price</p>\n   </td>\n  <td>\n  <p>Lower</p>\n   </td>\n  <td>\n  <p>Higher</p>\n   </td>\n </tr>\n</tbody>\n</table>\n<p><span>Yaffs is both an <span>embedded NAN</span><span>D flash file system</span> and an <span>embedded N</span><span>OR Flash file system</span>. It can handle SLC, TLC and MLC NAND. It also works on MLC and SLC NOR. And it can work with parallel or serial access including Serial Peripheral Bus (SPI).</span></p>\n<h3>What special functions does a <span>file system </span><span>for flash</span> include?</h3>\n<p><span>As well as the normal file system functions, a <span>flash file system embedded</span> in hardware should help the device to start and stop quickly and deal well with losing power with no warning, without corrupting the data; and, manage the foibles of flash memory, protecting the stored data with extreme reliability. (Read our paper <a href=\"/documents/considerations-choosing-flash-file-system\">Considerations in Choosing a Flash File System</a>.)</span></p>\n<p><span><span>To these ends, an embedded flash file system must employ extra steps to achieve these such as using log structuring, rather than traditional file structuring plus a flash translation layer; manage power loss and recovery; include flash memory wear levelling; deal with the unreliability of flash from read and write disturbs, by using error correction (ECC), bad block remapping, over provision and flash block refreshing; ensure it’s ready to write fast by using garbage collection and flash block erase to prepare; and manage writing while avoiding write amplification. </span></span></p>\n<h4>What is a log-structured file system?</h4>\n<p><span>Log structuring means that data is written to the file system as a sequence of changes to the file system. This has the advantage that there is less overhead, and so it\'s faster than a non-log-structured system. More important though is that it is more robust against power failure. It also means that a file may be fragmented. For hard drives, fragmentation can mean much slower access due to the time required to mechanically move the read heads around the disk, but flash memory has no moving parts so there is no overhead for flash.</span></p>\n<p><span>Yaffs is log structured a <span>flash file system </span><span>architecture</span> which is faster and more robust than the alternatives.</span></p>\n<h4>What is a <span>Flash Translation Layer</span> (FTL) ?</h4>\n<p><span>It is sometimes desirable to use regular block file systems (such as FAT) with flash memory. In such cases, a Flash Translation Layer presents flash memory or a flash file system as if it\'s an ordinary hard drive.</span></p>\n<p><span>An FTL is an incomplete storage solution it still requires a file system. This makes two layers where data can be damaged and lost: in the FTL and in the <span>flash memory </span><span>file system</span>.</span></p>\n<p><span>True <span>file systems for flash memory</span>, such as Yaffs, do not use FTLs. They deal directly with the idiosyncrasies of flash, providing a faster and more reliable solution.</span></p>\n<h4>What is power loss recovery?</h4>\n<p><span>When power to any storage device is suddenly lost, the device can end up in an unknown state and may have damaged areas. Most file systems have to work hard to ensure that they are in a consistent state after power loss. <span>E</span><span>mbedded file systems</span> <span>for flash</span> may make allowances for unscheduled power loss with a recovery process.</span></p>\n<p><span>Yaffs is built with fault tolerance as a guiding principle and so is designed so power loss is considered a normal event.</span></p>\n<h4>What is <span>wear levelling</span>?</h4>\n<p><span>Flash chips wear out. Each time a part of the flash memory is erased and written, it is slightly damaged. <span>Embedded f</span><span>lash file systems</span> note the danger, and sometimes try to spread the damage rather than having it concentrated in one region, so prolonging the life of the memory and the life of the device.</span></p>\n<p><span>Yaffs is designed so that extra <span>wear leveling</span> is unnecessary. Instead, it’s automatically <span>wear levelling</span> because of the log structure.</span></p>\n<h4>What is flash read disturb? What is flash write disturb?</h4>\n<p><span><a href=\"/documents/yaffs-nand-flash-failure-mitigation\">NAND flash may experience degradation or loss of data</a> owing to reads of pages in the same block or data changes in neighbouring blocks of the NAND device. This is particularly true for MLC NAND.</span></p>\n<p><span>Yaffs uses block refreshing to deal with such problems.</span></p>\n<h4>What is flash error correction/flash ECC?</h4>\n<p><span>There are ways in which flash memory can be corrupted – for instance F-N tunnelling problems and leaky oxide layers. See our <a href=\"/documents/yaffs-nand-flash-failure-mitigation\">detailed discussion of flash memory problems</a>.</span></p>\n<p><span>But every bit counts, and especially if it\'s part of critical data or essential to the correct working of a system. Flash error correction keeps track of a section of memory to tell if there\'s corruption, and provides ways to correct these small errors.</span></p>\n<p><span>Yaffs can use hardware or software based ECC.</span></p>\n<h4>What is bad-block remapping?</h4>\n<p><span>File systems are built upon storing data on physical media. But all media suffers deterioration. Some hardware or <span>flash media </span><span>file systems</span> keep lists of damaged regions and behind the scenes, substitute known good ones in their place.</span></p>\n<p><span>Because of the way that Yaffs works, there\'s no need for bad block remapping because it isn’t a block structured file system.</span></p>\n<h4>What is <span>o</span><span>ver-provisioning</span> ?</h4>\n<p><span>Knowing that the media will degrade and suffer errors, and needing space to alter data because of the nature of flash memory, sometimes a <span>flash memory based </span><span>file system</span> puts aside a portion of the media for this use. This is <span>overprovisioning</span>. Often this space used when remapping bad blocks.</span></p>\n<p><span>Because Yaffs is log structured, it has the advantage that it does not need <span>over provision</span><span>ing</span>, making more memory available to store data.</span></p>\n<h4>What is flash block refreshing?</h4>\n<p><span>To counteract the problems of unreliable flash memory – for instance errors due to read and write disturbs – a flash filesystem can refresh the memory, by making a new copy of a block.</span></p>\n<p><span>Yaffs includes flash block refreshing.</span></p>\n<h4>What is flash garbage collection?</h4>\n<p><span>When a file is deleted, or a part of a file is overwritten, file systems often simply mark the flash space as deleted, rather than removing it. Later they reclaim the space for reuse. This is garbage collection.</span></p>\n<p><span>Yaffs has garbage collection to maximise the amount of data the file system can store.</span></p>\n<h4>What is flash block erase?</h4>\n<p><span>Data must be written into blank areas of the flash chip, but erasing takes time. Rather than erase and write at the same time, in order to speed writes, NAND and <span>NOR flash file systems</span> can prepare blocks for later use. This is not usually necessary for other storage media.</span></p>\n<p><span>As part of garbage collection, Yaffs uses a block erase strategy.</span></p>\n<h4>What is flash write amplification ?</h4>\n<p><span>In many block-based flash file systems, when data changes the new data must be written to the disk, and then the old data must be marked as invalid. A small change to the data can have consequences that propagate involving writing to the memory twice or more as the old data is cleaned up by garbage collection and files are organised to take the minimum amount of space. This is write amplification - a single small write causing a cascade of writes (and erases) of whole blocks.</span></p>\n<p><span>Yaffs avoids much of this problem by being log structured, meaning that flash memory is slower to reach it\'s maximum number of cycles, while writing is faster.</span></p>\n<h2>How does Yaffs work?</h2>\n<p><span>You can find full details in our paper <a href=\"/documents/how-yaffs-works\">How Yaffs Works</a>&nbsp;but briefly, here\'s how it works.</span></p>\n<p><span>It\'s a log-structured filing system. This also ensures that Yaffs is wear-levelling is built into the design because no one part of the flash memory is used any more than another.</span></p>\n<p><span>A Yaffs object is anything that Yaffs stores - for instance a file or a directory.</span></p>\n<p><span>The memory in NAND flash is arranged in pages. A page is the unit of allocation and programming. In Yaffs, the unit of allocation is called the chunk. Typically a chunk will be the same as a NAND page, but there is flexibility to use chunks which map to multiple pages (eg. A system may have two NAND chips in parallel requiring 2x2048 = 4096 byte chunks) . This distinction gives a lot of flexibility in how the system can be configured.</span></p>\n<p><span>A fixed but configurable number of chunks form a block which is the unit of erasure.</span></p>\n<p><span>NAND flash is shipped with bad blocks and further blocks may go bad during the operation of the device so Yaffs detects and marks bad blocks.</span></p>\n<p><span>NAND flash also typically requires the use of some sort of error detection and correction code (ECC). Yaffs can either use existing ECC logic or provide its own.</span></p>\n<p><span>Yaffs maintains data in RAM about the file system, but this is not needed for Yaffs to work - so the device can safely lose power at any point without data corruption.</span></p>\n<p><span>Here\'s how the Yaffs filesystem works to ensure data safety and a very fast startup... At regular points and on controlled shutdown, checkpoint blocks are written to the flash memory, containing all the data to quickly rebuild the file system. Under usual circumstances this checkpoint is used when a device is started, to very quickly rebuild the RAM data about the file system. If the checkpoint is determined to be corrupted, or if the user requested then the file system is rebuilt by scanning.</span></p>\n<p><span>To do this, Yaffs makes a prescan, to find the sequence numbers for blocks. Then it scans through blocks backwards to build up the list of chunks that make up objects. It speeds up this process by using Block Summaries, which are collections of all the tags in a data in a block. (But it\'s still always possible to go back to the chunks themselves, to find the tags, if a summary is missing or damaged.)</span></p>\n<p><span>And tags are how Yaffs tells that a chunk belongs to a particular object.</span></p>\n<p><span>Tags are also how Yaffs knows which chunks make up the current version of an object... Because the file system is log structured, if an object has been updated, only the latest chunks are used, giving the correct version of the object. A full description of the process is available in the technical documentation, and of course you can browse the code to see exactly how it all works; there\'s a lot more to tags, the metadata that they can hold, how they are stored, and how tags are used to link together objects into a file system with a POSIX interface.</span></p>\n<p><span>And of course that\'s not the end of the story. There\'s caching to deal with repeated small changes to data. There\'s garbage collection to let space be re-used, and Yaffs deals with collecting garbage differently depending on whether there\'s lots of free space or only a little. And part of making Yaffs a high performance flash file system is to make sure that re-useable blocks are erased well before they are needed, so that writing involves only a single operation. There\'s lazy loading to reduce scanning time. And all of this is built in a portable way, so that Yaffs can be configured to match almost any hardware, and can be ported to any operating system, or work on bare metal without an operating system. There\'s a test harness which is used to subject Yaffs to power failure, and ensure it works even with external data corruption. That\'s what makes it robust enough to send into space and to handle hundreds of terabytes of mission critical data.</span></p>\n<h4>Why is Yaffs special as an embedded flash file system?</h4>\n<p><span>Yaffs has been in use since 2002, and so it is hardened. It has been used in everything from phones to sewing machines to satellites. It is popular with Aerospace companies, and firms managing large infrastructure and in Point-of-Sale (POS) equipment (where customer feedback is very rapid!) It has been used in extreme conditions where it must not lose data, and where there is no chance for maintenance. It\'s been used for very large file systems up to 190TB. It\'s been used for safety critical applications, and millions of consumer devices.</span></p>\n<p><span>We carry out testing in a <a href=\"/documents/yaffs-robustness-and-testing\">rig which can simulate random power failures</a> and proved its reliability after tens to hundreds of millions of power failures.&nbsp;It\'s designed with an understanding of the constraints of flash memory and for speed.</span></p>\n<p><span>Yaffs works on multiple operating systems – Linux, VxWorks, Windows CE, eCos. - and also directly on bare metal, with no operating system. And it\'s easy to integrate into your RTOS or application using the Yaffs Direct Interface. It works with multiple types of flash memory - NAND &amp; NOR, SLC, MLC &amp; TLC.&nbsp;It\'s endian neutral. It\'s been used with 32-bit and 64-bit CPUs including MIPS, 68000, ARM, ColdFire, PowerPC and x86 variants. Yaffs has even been used with various DSP architectures! And it\'ll work with 16-bit with some tuning. So it can be configured to work with your design and the flash geometry that you need.</span></p>\n<p><span>And it\'s a <span>free embedded flash file system - </span><span>it’s open</span> <span>source</span>! <a href=\"/get-yaffs\">Grab the GPL version now</a>! Check out our the active community. And that\'s not the whole story - there are lots more reasons that make Yaffs special.&nbsp;</span></p>\n<p>&nbsp;</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n        </div>\n    </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"node\\/487\",\"currentPathIsAdmin\":false,\"isFront\":true,\"currentLanguage\":\"en\",\"currentQuery\":{\"q\":\"node\\/111\"}},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:18:{i:0;s:26:\"languages:language_content\";i:1;s:28:\"languages:language_interface\";i:2;s:5:\"route\";i:3;s:32:\"route.menu_active_trails:account\";i:4;s:29:\"route.menu_active_trails:main\";i:5;s:5:\"theme\";i:6;s:8:\"timezone\";i:7;s:8:\"url.path\";i:8;s:17:\"url.path.is_front\";i:9;s:15:\"url.path.parent\";i:10;s:30:\"url.query_args:_wrapper_format\";i:11;s:8:\"url.site\";i:12;s:4:\"user\";i:13;s:21:\"user.node_grants:view\";i:14;s:16:\"user.permissions\";i:15;s:10:\"user.roles\";i:16;s:20:\"user.roles:anonymous\";i:17;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:103:{i:0;s:16:\"block_content:18\";i:1;s:16:\"block_content:23\";i:2;s:16:\"block_content:25\";i:3;s:16:\"block_content:27\";i:4;s:16:\"block_content:28\";i:5;s:16:\"block_content:29\";i:6;s:16:\"block_content:30\";i:7;s:15:\"block_content:7\";i:8;s:18:\"block_content_view\";i:9;s:10:\"block_view\";i:10;s:32:\"config:block.block.choosingyaffs\";i:11;s:29:\"config:block.block.cookieinfo\";i:12;s:32:\"config:block.block.downloadyaffs\";i:13;s:30:\"config:block.block.footerlegal\";i:14;s:39:\"config:block.block.frontimagehighlight2\";i:15;s:32:\"config:block.block.frontpagehero\";i:16;s:39:\"config:block.block.frontpageprimeryaffs\";i:17;s:33:\"config:block.block.mainnavigation\";i:18;s:35:\"config:block.block.mainnavigation_2\";i:19;s:29:\"config:block.block.searchform\";i:20;s:31:\"config:block.block.sitebranding\";i:21;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:22;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:23;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:24;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:25;s:37:\"config:block.block.yaffs_account_menu\";i:26;s:33:\"config:block.block.yaffs_block_10\";i:27;s:32:\"config:block.block.yaffs_block_5\";i:28;s:32:\"config:block.block.yaffs_block_6\";i:29;s:32:\"config:block.block.yaffs_block_8\";i:30;s:32:\"config:block.block.yaffs_block_9\";i:31;s:36:\"config:block.block.yaffs_breadcrumbs\";i:32;s:32:\"config:block.block.yaffs_content\";i:33;s:29:\"config:block.block.yaffs_help\";i:34;s:36:\"config:block.block.yaffs_local_tasks\";i:35;s:33:\"config:block.block.yaffs_messages\";i:36;s:35:\"config:block.block.yaffs_page_title\";i:37;s:32:\"config:block.block.yaffs_user_21\";i:38;s:31:\"config:block.block.yaffsinspace\";i:39;s:17:\"config:block_list\";i:40;s:24:\"config:color.theme.yaffs\";i:41;s:30:\"config:field.storage.node.body\";i:42;s:41:\"config:field.storage.node.field_icon_text\";i:43;s:44:\"config:field.storage.node.field_teaser_image\";i:44;s:47:\"config:field.storage.node.field_yaffs_user_logo\";i:45;s:32:\"config:field.storage.node.upload\";i:46;s:31:\"config:filter.format.basic_html\";i:47;s:30:\"config:filter.format.full_html\";i:48;s:29:\"config:filter.format.raw_html\";i:49;s:28:\"config:image.style.pdf_image\";i:50;s:24:\"config:image.style.small\";i:51;s:22:\"config:search.settings\";i:52;s:26:\"config:system.menu.account\";i:53;s:23:\"config:system.menu.main\";i:54;s:18:\"config:system.site\";i:55;s:26:\"config:user.role.anonymous\";i:56;s:44:\"config:views.view.highlighted_yaffs_features\";i:57;s:44:\"config:views.view.yaffs_documents_highlights\";i:58;s:34:\"config:views.view.yaffs_user_logos\";i:59;s:8:\"file:108\";i:60;s:8:\"file:109\";i:61;s:8:\"file:110\";i:62;s:7:\"file:40\";i:63;s:7:\"file:43\";i:64;s:7:\"file:44\";i:65;s:7:\"file:45\";i:66;s:7:\"file:46\";i:67;s:7:\"file:47\";i:68;s:7:\"file:48\";i:69;s:7:\"file:76\";i:70;s:7:\"file:77\";i:71;s:7:\"file:85\";i:72;s:13:\"http_response\";i:73;s:7:\"media:5\";i:74;s:7:\"media:8\";i:75;s:7:\"media:9\";i:76;s:7:\"node:32\";i:77;s:8:\"node:344\";i:78;s:8:\"node:353\";i:79;s:8:\"node:384\";i:80;s:8:\"node:385\";i:81;s:8:\"node:388\";i:82;s:8:\"node:389\";i:83;s:8:\"node:397\";i:84;s:8:\"node:398\";i:85;s:8:\"node:399\";i:86;s:8:\"node:400\";i:87;s:8:\"node:401\";i:88;s:8:\"node:407\";i:89;s:8:\"node:408\";i:90;s:8:\"node:409\";i:91;s:8:\"node:448\";i:92;s:8:\"node:451\";i:93;s:8:\"node:457\";i:94;s:8:\"node:460\";i:95;s:8:\"node:462\";i:96;s:8:\"node:466\";i:97;s:8:\"node:487\";i:98;s:9:\"node_list\";i:99;s:9:\"node_view\";i:100;s:8:\"rendered\";i:101;s:6:\"user:0\";i:102;s:6:\"user:1\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:5:{s:7:\"library\";a:10:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:18:\"views/views.module\";i:10;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:22:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:84:\"A Robust Flash File System Since 2002 | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:18:\"https://yaffs.net/\";}}i:1;s:9:\"shortlink\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:18:\"https://yaffs.net/\";}}i:1;s:13:\"canonical_url\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:11:\"description\";}i:5;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:6;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:7;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:8;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:10;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:11;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:18;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:19;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:20;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}i:21;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:5:\"/home\";}}i:1;s:29:\"html_head_link:revision:/home\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:8:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:8:\"node/487\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:1;s:15:\"currentLanguage\";s:2:\"en\";s:12:\"currentQuery\";O:8:\"stdClass\":1:{s:1:\"q\";s:8:\"node/111\";}}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:1:{s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}s:11:\"http_header\";a:1:{i:0;a:3:{i:0;s:4:\"Link\";i:1;s:23:\"</home>; rel=\"revision\"\";i:2;b:0;}}}}',-1,1516908533.040,1,'block_content:18 block_content:23 block_content:25 block_content:27 block_content:28 block_content:29 block_content:30 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:field.storage.node.body config:field.storage.node.field_icon_text config:field.storage.node.field_teaser_image config:field.storage.node.field_yaffs_user_logo config:field.storage.node.upload config:filter.format.basic_html config:filter.format.full_html config:filter.format.raw_html config:image.style.pdf_image config:image.style.small config:search.settings config:system.menu.account config:system.menu.main config:system.site config:user.role.anonymous config:views.view.highlighted_yaffs_features config:views.view.yaffs_documents_highlights config:views.view.yaffs_user_logos file:108 file:109 file:110 file:40 file:43 file:44 file:45 file:46 file:47 file:48 file:76 file:77 file:85 http_response media:5 media:8 media:9 node:32 node:344 node:353 node:384 node:385 node:388 node:389 node:397 node:398 node:399 node:400 node:401 node:407 node:408 node:409 node:448 node:451 node:457 node:460 node:462 node:466 node:487 node_list node_view rendered user:0 user:1','3569');
INSERT INTO `cache_render` VALUES ('https://yaffs.net/?q=node/323:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Fri, 23 Feb 2018 12:49:26 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:4:\"MISS\";}s:4:\"link\";a:4:{i:0;s:23:\"</home>; rel=\"revision\"\";i:1;s:108:\"</sites/default/files/css/css_Ft-hGawuooABKJanSezg8PXovgOMbB_QLx9CIyXeHsA.css?ozekku>; rel=preload; as=style\";i:2;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku>; rel=preload; as=style\";i:3;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Fri, 23 Feb 2018 12:49:25 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1519390165\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:51784:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"A Robust Flash File System Since 2002 | Yaffs - A Flash File System for embedded use\" />\n<link rel=\"shortlink\" href=\"https://yaffs.net/\" />\n<link rel=\"canonical\" href=\"https://yaffs.net/\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n<link rel=\"revision\" href=\"/home\" />\n\n    <title>A Robust Flash File System Since 2002 | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_Ft-hGawuooABKJanSezg8PXovgOMbB_QLx9CIyXeHsA.css?ozekku\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-frontpage page-node-type-page navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n    \n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\"><span property=\"schema:name\">A Robust Flash File System Since 2002</span>\n</h1>\n\n  <article role=\"article\" about=\"/home\" typeof=\"schema:WebPage\" class=\"page full clearfix\">\n\n  \n      <span property=\"schema:name\" content=\"A Robust Flash File System Since 2002\" class=\"hidden\"></span>\n\n\n  \n  <div class=\"content\">\n    \n            <div property=\"schema:text\" class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p>Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices, avionics, and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.</p>\n<p>&nbsp;</p>\n</div>\n      \n  </div>\n\n</article>\n\n<section id=\"block-yaffsinspace\" class=\"panel yaffs-shout well block block-block-content block-block-content9f676777-54d9-40d2-86dd-174fff14ab1a clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<h3><em>New!</em> Yaffs in space!</h3>\n<p><strong><img alt=\"Tess satellite\" data-entity-type=\"file\" data-entity-uuid=\"f06319f1-b6ac-41e2-a70d-a4c4da605b87\" height=\"246\" src=\"/sites/default/files/inline-images/tess_satellite_0.gif\" width=\"347\" class=\"align-right\" />NASA TESS Mission </strong>This <strong>Transiting Exoplanet Survey Satellite (TESS)</strong> will discover thousands of exoplanets in orbit around the brightest stars in the sky.</p>\n<p>It is a project regularly using our Yaffs File System to store incoming data and preserve it, in the rigours of the space environment, before sending it back to Earth.</p>\n<p>In a two-year survey of the solar neighborhood, TESS will monitor more than 200,000 stars for temporary drops in brightness caused by planetary transits. This first-ever spaceborne all-sky transit survey will identify planets ranging from Earth-sized to gas giants, around a wide range of stellar types and orbital distances. No ground-based survey can achieve this feat.</p>\n<p>Some File Systems are not robust enough to be suitable for such exacting work.<br />\n </p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n        \n                              <div class=\"front_highlight row\">\n              <div class=\"col-sm-4\">\n                    <div class=\"region region-front-highlight-1\">\n    <section id=\"block-choosingyaffs\" class=\"block block-block-content block-block-contentae8f54b9-5315-4995-a49e-c0780f3a88cc clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\"><a href=\"/documents/considerations-choosing-flash-file-system\">\n<article class=\"embedded-entity\">\n<img src=\"/sites/default/files/styles/max_325x325/public/2017-06/choosing_yaffs_0.jpg?itok=YuV5Z__e\" width=\"325\" height=\"325\" alt=\"Thumbnail\" title=\"Choosing Yaffs\" class=\"img-responsive\" />\n</article>\n</a> </div>\n      \n  </section>\n\n\n  </div>\n\n              </div>\n              <div class=\"col-sm-4\">\n                    <div class=\"region region-front-highlight-2\">\n    <section id=\"block-frontimagehighlight2\" class=\"block block-block-content block-block-contentfa53fc80-f3c4-4d6e-b947-0a3bcd479480 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\"><a href=\"/yaffs-action\">\n<article class=\"embedded-entity\">\n<img src=\"/sites/default/files/styles/max_325x325/public/2017-06/atm_1.jpg?itok=HfIny6EH\" width=\"325\" height=\"325\" alt=\"Thumbnail\" title=\"ATM\" class=\"img-responsive\" />\n</article>\n</a> </div>\n      \n  </section>\n\n\n  </div>\n\n              </div>\n              <div class=\"col-sm-4\">\n                    <div class=\"region region-front-highlight-3\">\n    <section id=\"block-downloadyaffs\" class=\"block block-block-content block-block-contenteed71eb7-98b2-4109-aabe-7718283459ad clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\"><a href=\"/get-yaffs\">\n<article class=\"embedded-entity\">\n<img src=\"/sites/default/files/styles/max_325x325/public/2017-06/download_now_0.jpg?itok=XdRx8zkI\" width=\"325\" height=\"325\" alt=\"Thumbnail\" title=\"Download Yaffs\" class=\"img-responsive\" />\n</article>\n</a> </div>\n      \n  </section>\n\n\n  </div>\n\n              </div>\n            </div>\n                        </section>\n\n                </div>\n  </div>\n\n  <div class=\"container-fluid front-pane-1\">\n        <div class=\"container\">\n        \n    </div>\n  </div>\n\n  <div class=\"container-fluid front-pane-2\">\n        <div class=\"container\">\n          <div class=\"region region-front-pane-2\">\n    <section class=\"views-element-container block block-views block-views-blockyaffs-user-logos-block-1 clearfix\" id=\"block-views-block-yaffs-user-logos-block-1\">\n  \n    \n\n      <div class=\"form-group\"><div class=\"view view-yaffs-user-logos view-id-yaffs_user_logos view-display-id-block_1 js-view-dom-id-8a35fcda02584f84c79a8d5e2576f68f0216117953eb3ee7556ddd61dbbc1289\">\n  \n    \n      \n      <div class=\"view-content\">\n      <div id=\"views-bootstrap-yaffs-user-logos-block-1\"  class=\"grid views-view-grid horizontal\">\n            <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-6 col-md-3 col-lg-3 \">\n            <div class=\"views-field views-field-field-yaffs-user-logo\"><div class=\"field-content\"><a href=\"/yaffs-action\">  <img src=\"/sites/default/files/styles/small/public/logos/designA_logo.png?itok=5VWxByrk\" width=\"200\" height=\"141\" alt=\"\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-6 col-md-3 col-lg-3 \">\n            <div class=\"views-field views-field-field-yaffs-user-logo\"><div class=\"field-content\"><a href=\"/yaffs-action\">  <img src=\"/sites/default/files/styles/small/public/logos/eaton_logo.png?itok=kExm8d-W\" width=\"200\" height=\"84\" alt=\"\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-6 col-md-3 col-lg-3 \">\n            <div class=\"views-field views-field-field-yaffs-user-logo\"><div class=\"field-content\"><a href=\"/yaffs-action\">  <img src=\"/sites/default/files/styles/small/public/logos/LANCOM_Logo_4c.png?itok=ZIDg8yYt\" width=\"200\" height=\"50\" alt=\"\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-6 col-md-3 col-lg-3 \">\n            <div class=\"views-field views-field-field-yaffs-user-logo\"><div class=\"field-content\"><a href=\"/yaffs-action\">  <img src=\"/sites/default/files/styles/small/public/logos/bernina_international_logo.png?itok=G8DeIWtW\" width=\"200\" height=\"30\" alt=\"\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div>\n          </div>\n              </div>\n          <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-6 col-md-3 col-lg-3 \">\n            <div class=\"views-field views-field-field-yaffs-user-logo\"><div class=\"field-content\"><a href=\"/yaffs-action\">  <img src=\"/sites/default/files/styles/small/public/logos/gallagher_logo.png?itok=lQyDJeN1\" width=\"200\" height=\"65\" alt=\"\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-6 col-md-3 col-lg-3 \">\n            <div class=\"views-field views-field-field-yaffs-user-logo\"><div class=\"field-content\"><a href=\"/yaffs-action\">  <img src=\"/sites/default/files/styles/small/public/logos/android_logo.png?itok=MShHoIK7\" width=\"170\" height=\"71\" alt=\"\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-6 col-md-3 col-lg-3 \">\n            <div class=\"views-field views-field-field-yaffs-user-logo\"><div class=\"field-content\"><a href=\"/yaffs-action\">  <img src=\"/sites/default/files/styles/small/public/logos/leica_logo.png?itok=Ne2u8w3-\" width=\"200\" height=\"130\" alt=\"\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div>\n          </div>\n              </div>\n      </div>\n\n    </div>\n  \n            <div class=\"view-footer\">\n      <a class=\"btn btn-default\" href=\"/yaffs-action\">Who uses Yaffs? Read more...</a>\n    </div>\n    </div>\n</div>\n\n  </section>\n\n\n  </div>\n\n    </div>\n  </div>\n\n  <div class=\"container-fluid front-pane-3\">\n        <div class=\"container\">\n          <div class=\"region region-front-pane-3\">\n    <section class=\"views-element-container block block-views block-views-blockhighlighted-yaffs-features-block-1 clearfix\" id=\"block-views-block-highlighted-yaffs-features-block-1\">\n  \n    \n\n      <div class=\"form-group\"><div class=\"view view-highlighted-yaffs-features view-id-highlighted_yaffs_features view-display-id-block_1 js-view-dom-id-95fe550d5052828912ac5148bc15b78f3cf61f69a8797eb9f9fafb9077e0fe26\">\n  \n    \n      \n      <div class=\"view-content\">\n      <div id=\"views-bootstrap-highlighted-yaffs-features-block-1\"  class=\"grid views-view-grid horizontal\">\n            <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-12 col-md-4 col-lg-4 \">\n            <div class=\"views-field views-field-field-icon-text\"><div class=\"field-content\"><i class=\"fa fa-thumbs-up\"></i></div></div><div class=\"views-field views-field-title\"><span class=\"field-content\"><a href=\"/features#384\"><h3>Royalty Free... </h3></a></span></div><div class=\"views-field views-field-body\"><div class=\"field-content\">Whether you use Yaffs under the GNU General Public Licence or under a commercial licence, Yaffs is free of any royalty. No need to worry about rising costs for your hit product!</div></div><div class=\"views-field views-field-edit-node\"><span class=\"field-content\"></span></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-4 col-lg-4 \">\n            <div class=\"views-field views-field-field-icon-text\"><div class=\"field-content\"><i class=\"fa fa-shield\"></i></div></div><div class=\"views-field views-field-title\"><span class=\"field-content\"><a href=\"/features#385\"><h3>A robust flash file system...</h3></a></span></div><div class=\"views-field views-field-body\"><div class=\"field-content\">After more than 100,000 <strong>random</strong> power-failures during reading or writing, a test file showed NO data corruption at all!</div></div><div class=\"views-field views-field-edit-node\"><span class=\"field-content\"></span></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-4 col-lg-4 \">\n            <div class=\"views-field views-field-field-icon-text\"><div class=\"field-content\"><i class=\"fa fa-heart\"></i></div></div><div class=\"views-field views-field-title\"><span class=\"field-content\"><a href=\"/features#388\"><h3>Yaffs is Open Source...</h3></a></span></div><div class=\"views-field views-field-body\"><div class=\"field-content\">You can have a look at the code at any time. <a href=\"/downloads\">Download it now</a>! And it\'s suitable for GPL and commercially licensed projects.</div></div><div class=\"views-field views-field-edit-node\"><span class=\"field-content\"></span></div>\n          </div>\n              </div>\n          <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-12 col-md-4 col-lg-4 \">\n            <div class=\"views-field views-field-field-icon-text\"><div class=\"field-content\"><i class=\"fa fa-mobile-phone\"></i></div></div><div class=\"views-field views-field-title\"><span class=\"field-content\"><a href=\"/features#389\"><h3>Tried and tested in millions of devices...</h3></a></span></div><div class=\"views-field views-field-body\"><div class=\"field-content\">Yaffs is widely used in Linux and proprietary commercial RTOSs. It\'s been included in hundreds of devices, and shipped as part of Google\'s Android, with millions of units sold.</div></div><div class=\"views-field views-field-edit-node\"><span class=\"field-content\"></span></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-4 col-lg-4 \">\n            <div class=\"views-field views-field-field-icon-text\"><div class=\"field-content\"><i class=\"fa fa-space-shuttle\"></i></div></div><div class=\"views-field views-field-title\"><span class=\"field-content\"><a href=\"/features#407\"><h3>Booting is fast...</h3></a></span></div><div class=\"views-field views-field-body\"><div class=\"field-content\">It is important for a Flash filesystem to boot fast, so boot speed was a fundamental consideration in the design of Yaffs.</div></div><div class=\"views-field views-field-edit-node\"><span class=\"field-content\"></span></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-4 col-lg-4 \">\n            <div class=\"views-field views-field-field-icon-text\"><div class=\"field-content\"><i class=\"fa fa-users\"></i></div></div><div class=\"views-field views-field-title\"><span class=\"field-content\"><a href=\"/features#408\"><h3>An active community...</h3></a></span></div><div class=\"views-field views-field-body\"><div class=\"field-content\">There\'s an active community of people who use Yaffs and who have developed with Yaffs, just a click or two away.</div></div><div class=\"views-field views-field-edit-node\"><span class=\"field-content\"></span></div>\n          </div>\n              </div>\n      </div>\n\n    </div>\n  \n            <div class=\"view-footer\">\n      <a class=\"btn btn-default\" href=\"/features\">Lots more Yaffs features...</a>\n    </div>\n    </div>\n</div>\n\n  </section>\n\n\n  </div>\n\n    </div>\n  </div>\n\n  <div class=\"container-fluid front-pane-4\">\n        <div class=\"container\" >\n          <div class=\"region region-front-pane-4\">\n    <section class=\"views-element-container block block-views block-views-blockyaffs-documents-highlights-block-1 clearfix\" id=\"block-views-block-yaffs-documents-highlights-block-1\">\n  \n    \n\n      <div class=\"form-group\"><div class=\"view view-yaffs-documents-highlights view-id-yaffs_documents_highlights view-display-id-block_1 js-view-dom-id-273bf60b230e3faef44a6e67c34370278019b51f5d0e914b039f491b4d00cf06\">\n  \n    \n      \n      <div class=\"view-content\">\n      <div id=\"views-bootstrap-yaffs-documents-highlights-block-1\"  class=\"grid views-view-grid horizontal\">\n            <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/yaffs-licence-sample\" hreflang=\"und\">Yaffs Licence Sample</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\">While the Yaffs code is available free of charge under GNU General Public Licence, version 2, that entails the obligation to disclose Source Code for your application using Yaffs. An Aleph One Licence does not impose that obligation and so is attractive for proprietary projects. This sample Licence provides an example of the points we expect a Licence to cover.</div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/yaffs-overview\" hreflang=\"und\">Yaffs Overview</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\">YAFFS is a filesystem designed specifically for the characteristics of NAND flash. This page gives an overview of the project - what is available, how it works, how to use it, developer resources, and licensing options.</div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"></div></div>\n          </div>\n              </div>\n          <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/yaffs-licence-faqs\" hreflang=\"und\">Yaffs Licence FAQs</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\"><p>Some questions about the commercial licence for Yaffs and how we arrive at one.</p></div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/documents/faq\" hreflang=\"und\">FAQ</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\"><p>Common questions about Yaffs technical issues.</p></div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"></div></div>\n          </div>\n              </div>\n          <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/licences-more-background-and-detail\" hreflang=\"und\">Licences - more background and detail</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\"><p>More on the details and background of Licences for Yaffs</p></div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"><a href=\"/sites/default/files/downloads/ConsiderationsInChoosingAFlashFileSystem_0.pdf\">  <img src=\"/sites/default/files/styles/pdf_image/public/styles/pdf_image/public/downloads/ConsiderationsInChoosingAFlashFileSystem_0.pdf.png?itok=ROOk6w-T\" width=\"150\" height=\"212\" alt=\"Preview of ConsiderationsInChoosingAFlashFileSystem.pdf\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/documents/considerations-choosing-flash-file-system\" hreflang=\"und\">Considerations in Choosing a Flash File System</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\">Failures in an embedded File System in a product are much more serious to the user than failures in an office computer.&nbsp; Power failures and failures to cache data properly can be avoided by choosing a FFS specifically designed for reliability from the ground up.</div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"><span class=\"file file--mime-application-pdf file--application-pdf icon-before\"><span class=\"file-icon\"><span class=\"icon glyphicon glyphicon-file text-primary\" aria-hidden=\"true\"></span></span><span class=\"file-link\"><a href=\"https://yaffs.net/sites/default/files/downloads/ConsiderationsInChoosingAFlashFileSystem_0.pdf\" type=\"application/pdf; length=131376\" title=\"Open file in new window\" target=\"_blank\" data-toggle=\"tooltip\" data-placement=\"bottom\">ConsiderationsInChoosingAFlashFileSystem.pdf</a></span><span class=\"file-size\">128.3 KB</span></span></div></div>\n          </div>\n              </div>\n          <div class=\"row\">\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"><a href=\"/sites/default/files/downloads/HowYaffsWorks.pdf\">  <img src=\"/sites/default/files/styles/pdf_image/public/styles/pdf_image/public/downloads/HowYaffsWorks.pdf.png?itok=_nJu31C0\" width=\"150\" height=\"194\" alt=\"Preview of HowYaffsWorks.pdf\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/documents/how-yaffs-works\" hreflang=\"und\">How Yaffs works</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\">This document gives an explanation of most of the core mechanisms that make Yaffs work. As of the time of writing this, the Yaffs2 code base includes approximately 19,000 lines of code making a very detailed discussion impractical. This document is the starting point for understanding Yaffs. Further detailed questions and discussions are welcomed on the Yaffs discussion list.</div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"><span class=\"file file--mime-application-pdf file--application-pdf icon-before\"><span class=\"file-icon\"><span class=\"icon glyphicon glyphicon-file text-primary\" aria-hidden=\"true\"></span></span><span class=\"file-link\"><a href=\"https://yaffs.net/sites/default/files/downloads/HowYaffsWorks.pdf\" type=\"application/pdf; length=402514\" title=\"Open file in new window\" target=\"_blank\" data-toggle=\"tooltip\" data-placement=\"bottom\">HowYaffsWorks.pdf</a></span><span class=\"file-size\">393.08 KB</span></span></div></div>\n          </div>\n                  <div class=\"col col-xs-12 col-sm-12 col-md-6 col-lg-6 \">\n            <div class=\"views-field views-field-field-teaser-image\"><div class=\"field-content\"><a href=\"/sites/default/files/downloads/YaffsTuning.pdf\">  <img src=\"/sites/default/files/styles/pdf_image/public/styles/pdf_image/public/downloads/YaffsTuning.pdf.png?itok=idZTTQBs\" alt=\"Preview of YaffsTuning.pdf\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</a></div></div><div class=\"views-field views-field-title\"><h3 class=\"field-content\"><a href=\"/documents/yaffs-tuning\" hreflang=\"und\">Yaffs Tuning</a></h3></div><div class=\"views-field views-field-body\"><div class=\"field-content\"><p>This document describes the parameters which can be modified by the developer in the different phases of applying, debugging, and routine use of Yaffs.</p></div></div><div class=\"views-field views-field-upload-1\"><div class=\"field-content\"><span class=\"file file--mime-application-pdf file--application-pdf icon-before\"><span class=\"file-icon\"><span class=\"icon glyphicon glyphicon-file text-primary\" aria-hidden=\"true\"></span></span><span class=\"file-link\"><a href=\"https://yaffs.net/sites/default/files/downloads/YaffsTuning.pdf\" type=\"application/pdf; length=93667\" title=\"Open file in new window\" target=\"_blank\" data-toggle=\"tooltip\" data-placement=\"bottom\">YaffsTuning.pdf</a></span><span class=\"file-size\">91.47 KB</span></span></div></div>\n          </div>\n              </div>\n      </div>\n\n    </div>\n  \n            <div class=\"view-footer\">\n      <a class=\"btn btn-default\" href=\"/documents\">All the Yaffs documentation...</a>\n    </div>\n    </div>\n</div>\n\n  </section>\n\n\n  </div>\n\n    </div>\n  </div>\n\n    <div class=\"container-fluid front-pane-5\">\n                <div class=\"container\" >\n              <div class=\"region region-front-pane-5\">\n    <section id=\"block-frontpageprimeryaffs\" class=\"block block-block-content block-block-contente7a8d2de-4fbb-4680-9e18-fe4d8337f1d6 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<h1>Flash file systems primer</h1>\n<h2>Background &amp; basics</h2>\n<h3><span>What is a </span><span>F</span><span>lash </span><span>F</span><span>ile </span><span>S</span><span>ystem</span>?</h3>\n<p><span>A <span>Flash File System</span> stores data on flash memory, rather than a hard drive. Flash is used because it’s faster, much more tolerant of physical stress and takes less power. A <span>flash filesystem</span> is used to manage the data and get the best out of flash memory.</span></p>\n<p><span>As two examples, a flash memory chip needs to be erased in blocks before it is rewritten and a flash file system will manage that; flash memory has a limited number of writes per block so many flash file systems incorporate a <span>wear levelling</span> mechanism to ensure the writes are spread out.</span></p>\n<p><span>A flash file system is most useful as a part of an embedded system,. As a developer, you <em>can</em>&nbsp;read from and write directly to your Flash memory on an embedded system, but unless your use is extremely limited, you\'ll probably find that you come up against problems that Flash file systems have already solved.</span></p>\n<h3>What are NAND flash &amp; NOR flash?</h3>\n<p><span>These are the two fundamental flash architectures and have very different characteristics in performance, reliability, erase cycles, life span, and price. They also differ fundamentally from hard disk drives, and so need specialised handling.</span></p>\n<table>\n<tbody>\n <tr>\n  <td>\n  <p>&nbsp;</p>\n   </td>\n  <td>\n  <p>NAND flash</p>\n   </td>\n  <td>\n  <p>NOR flash</p>\n   </td>\n </tr>\n <tr>\n  <td>\n  <p>Storage density</p>\n   </td>\n  <td>\n  <p>Higher</p>\n   </td>\n  <td>\n  <p>Lower</p>\n   </td>\n </tr>\n <tr>\n  <td>\n  <p>Read performance</p>\n   </td>\n  <td>\n  <p>Fast</p>\n   </td>\n  <td>\n  <p>Fast (may be slowed by serial access)</p>\n   </td>\n </tr>\n <tr>\n  <td>\n  <p>Write performance</p>\n   </td>\n  <td>\n  <p>Faster</p>\n   </td>\n  <td>\n  <p>Slower (may be slowed further by serial access)</p>\n   </td>\n </tr>\n <tr>\n  <td>\n  <p>Erase performance</p>\n   </td>\n  <td>\n  <p>Faster (low ms typically)</p>\n   </td>\n  <td>\n  <p>Slower (possibly seconds)</p>\n   </td>\n </tr>\n <tr>\n  <td>\n  <p>Storage reliability</p>\n   </td>\n  <td>\n  <p>Lower (without management)</p>\n   </td>\n  <td>\n  <p>Better</p>\n   </td>\n </tr>\n <tr>\n  <td>\n  <p>Life span</p>\n   </td>\n  <td>\n  <p>Higher</p>\n   </td>\n  <td>\n  <p>Lower</p>\n   </td>\n </tr>\n <tr>\n  <td>\n  <p>Price</p>\n   </td>\n  <td>\n  <p>Lower</p>\n   </td>\n  <td>\n  <p>Higher</p>\n   </td>\n </tr>\n</tbody>\n</table>\n<p><span>Yaffs is both an <span>embedded NAN</span><span>D flash file system</span> and an <span>embedded N</span><span>OR Flash file system</span>. It can handle SLC, TLC and MLC NAND. It also works on MLC and SLC NOR. And it can work with parallel or serial access including Serial Peripheral Bus (SPI).</span></p>\n<h3>What special functions does a <span>file system </span><span>for flash</span> include?</h3>\n<p><span>As well as the normal file system functions, a <span>flash file system embedded</span> in hardware should help the device to start and stop quickly and deal well with losing power with no warning, without corrupting the data; and, manage the foibles of flash memory, protecting the stored data with extreme reliability. (Read our paper <a href=\"/documents/considerations-choosing-flash-file-system\">Considerations in Choosing a Flash File System</a>.)</span></p>\n<p><span><span>To these ends, an embedded flash file system must employ extra steps to achieve these such as using log structuring, rather than traditional file structuring plus a flash translation layer; manage power loss and recovery; include flash memory wear levelling; deal with the unreliability of flash from read and write disturbs, by using error correction (ECC), bad block remapping, over provision and flash block refreshing; ensure it’s ready to write fast by using garbage collection and flash block erase to prepare; and manage writing while avoiding write amplification. </span></span></p>\n<h4>What is a log-structured file system?</h4>\n<p><span>Log structuring means that data is written to the file system as a sequence of changes to the file system. This has the advantage that there is less overhead, and so it\'s faster than a non-log-structured system. More important though is that it is more robust against power failure. It also means that a file may be fragmented. For hard drives, fragmentation can mean much slower access due to the time required to mechanically move the read heads around the disk, but flash memory has no moving parts so there is no overhead for flash.</span></p>\n<p><span>Yaffs is log structured a <span>flash file system </span><span>architecture</span> which is faster and more robust than the alternatives.</span></p>\n<h4>What is a <span>Flash Translation Layer</span> (FTL) ?</h4>\n<p><span>It is sometimes desirable to use regular block file systems (such as FAT) with flash memory. In such cases, a Flash Translation Layer presents flash memory or a flash file system as if it\'s an ordinary hard drive.</span></p>\n<p><span>An FTL is an incomplete storage solution it still requires a file system. This makes two layers where data can be damaged and lost: in the FTL and in the <span>flash memory </span><span>file system</span>.</span></p>\n<p><span>True <span>file systems for flash memory</span>, such as Yaffs, do not use FTLs. They deal directly with the idiosyncrasies of flash, providing a faster and more reliable solution.</span></p>\n<h4>What is power loss recovery?</h4>\n<p><span>When power to any storage device is suddenly lost, the device can end up in an unknown state and may have damaged areas. Most file systems have to work hard to ensure that they are in a consistent state after power loss. <span>E</span><span>mbedded file systems</span> <span>for flash</span> may make allowances for unscheduled power loss with a recovery process.</span></p>\n<p><span>Yaffs is built with fault tolerance as a guiding principle and so is designed so power loss is considered a normal event.</span></p>\n<h4>What is <span>wear levelling</span>?</h4>\n<p><span>Flash chips wear out. Each time a part of the flash memory is erased and written, it is slightly damaged. <span>Embedded f</span><span>lash file systems</span> note the danger, and sometimes try to spread the damage rather than having it concentrated in one region, so prolonging the life of the memory and the life of the device.</span></p>\n<p><span>Yaffs is designed so that extra <span>wear leveling</span> is unnecessary. Instead, it’s automatically <span>wear levelling</span> because of the log structure.</span></p>\n<h4>What is flash read disturb? What is flash write disturb?</h4>\n<p><span><a href=\"/documents/yaffs-nand-flash-failure-mitigation\">NAND flash may experience degradation or loss of data</a> owing to reads of pages in the same block or data changes in neighbouring blocks of the NAND device. This is particularly true for MLC NAND.</span></p>\n<p><span>Yaffs uses block refreshing to deal with such problems.</span></p>\n<h4>What is flash error correction/flash ECC?</h4>\n<p><span>There are ways in which flash memory can be corrupted – for instance F-N tunnelling problems and leaky oxide layers. See our <a href=\"/documents/yaffs-nand-flash-failure-mitigation\">detailed discussion of flash memory problems</a>.</span></p>\n<p><span>But every bit counts, and especially if it\'s part of critical data or essential to the correct working of a system. Flash error correction keeps track of a section of memory to tell if there\'s corruption, and provides ways to correct these small errors.</span></p>\n<p><span>Yaffs can use hardware or software based ECC.</span></p>\n<h4>What is bad-block remapping?</h4>\n<p><span>File systems are built upon storing data on physical media. But all media suffers deterioration. Some hardware or <span>flash media </span><span>file systems</span> keep lists of damaged regions and behind the scenes, substitute known good ones in their place.</span></p>\n<p><span>Because of the way that Yaffs works, there\'s no need for bad block remapping because it isn’t a block structured file system.</span></p>\n<h4>What is <span>o</span><span>ver-provisioning</span> ?</h4>\n<p><span>Knowing that the media will degrade and suffer errors, and needing space to alter data because of the nature of flash memory, sometimes a <span>flash memory based </span><span>file system</span> puts aside a portion of the media for this use. This is <span>overprovisioning</span>. Often this space used when remapping bad blocks.</span></p>\n<p><span>Because Yaffs is log structured, it has the advantage that it does not need <span>over provision</span><span>ing</span>, making more memory available to store data.</span></p>\n<h4>What is flash block refreshing?</h4>\n<p><span>To counteract the problems of unreliable flash memory – for instance errors due to read and write disturbs – a flash filesystem can refresh the memory, by making a new copy of a block.</span></p>\n<p><span>Yaffs includes flash block refreshing.</span></p>\n<h4>What is flash garbage collection?</h4>\n<p><span>When a file is deleted, or a part of a file is overwritten, file systems often simply mark the flash space as deleted, rather than removing it. Later they reclaim the space for reuse. This is garbage collection.</span></p>\n<p><span>Yaffs has garbage collection to maximise the amount of data the file system can store.</span></p>\n<h4>What is flash block erase?</h4>\n<p><span>Data must be written into blank areas of the flash chip, but erasing takes time. Rather than erase and write at the same time, in order to speed writes, NAND and <span>NOR flash file systems</span> can prepare blocks for later use. This is not usually necessary for other storage media.</span></p>\n<p><span>As part of garbage collection, Yaffs uses a block erase strategy.</span></p>\n<h4>What is flash write amplification ?</h4>\n<p><span>In many block-based flash file systems, when data changes the new data must be written to the disk, and then the old data must be marked as invalid. A small change to the data can have consequences that propagate involving writing to the memory twice or more as the old data is cleaned up by garbage collection and files are organised to take the minimum amount of space. This is write amplification - a single small write causing a cascade of writes (and erases) of whole blocks.</span></p>\n<p><span>Yaffs avoids much of this problem by being log structured, meaning that flash memory is slower to reach it\'s maximum number of cycles, while writing is faster.</span></p>\n<h2>How does Yaffs work?</h2>\n<p><span>You can find full details in our paper <a href=\"/documents/how-yaffs-works\">How Yaffs Works</a>&nbsp;but briefly, here\'s how it works.</span></p>\n<p><span>It\'s a log-structured filing system. This also ensures that Yaffs is wear-levelling is built into the design because no one part of the flash memory is used any more than another.</span></p>\n<p><span>A Yaffs object is anything that Yaffs stores - for instance a file or a directory.</span></p>\n<p><span>The memory in NAND flash is arranged in pages. A page is the unit of allocation and programming. In Yaffs, the unit of allocation is called the chunk. Typically a chunk will be the same as a NAND page, but there is flexibility to use chunks which map to multiple pages (eg. A system may have two NAND chips in parallel requiring 2x2048 = 4096 byte chunks) . This distinction gives a lot of flexibility in how the system can be configured.</span></p>\n<p><span>A fixed but configurable number of chunks form a block which is the unit of erasure.</span></p>\n<p><span>NAND flash is shipped with bad blocks and further blocks may go bad during the operation of the device so Yaffs detects and marks bad blocks.</span></p>\n<p><span>NAND flash also typically requires the use of some sort of error detection and correction code (ECC). Yaffs can either use existing ECC logic or provide its own.</span></p>\n<p><span>Yaffs maintains data in RAM about the file system, but this is not needed for Yaffs to work - so the device can safely lose power at any point without data corruption.</span></p>\n<p><span>Here\'s how the Yaffs filesystem works to ensure data safety and a very fast startup... At regular points and on controlled shutdown, checkpoint blocks are written to the flash memory, containing all the data to quickly rebuild the file system. Under usual circumstances this checkpoint is used when a device is started, to very quickly rebuild the RAM data about the file system. If the checkpoint is determined to be corrupted, or if the user requested then the file system is rebuilt by scanning.</span></p>\n<p><span>To do this, Yaffs makes a prescan, to find the sequence numbers for blocks. Then it scans through blocks backwards to build up the list of chunks that make up objects. It speeds up this process by using Block Summaries, which are collections of all the tags in a data in a block. (But it\'s still always possible to go back to the chunks themselves, to find the tags, if a summary is missing or damaged.)</span></p>\n<p><span>And tags are how Yaffs tells that a chunk belongs to a particular object.</span></p>\n<p><span>Tags are also how Yaffs knows which chunks make up the current version of an object... Because the file system is log structured, if an object has been updated, only the latest chunks are used, giving the correct version of the object. A full description of the process is available in the technical documentation, and of course you can browse the code to see exactly how it all works; there\'s a lot more to tags, the metadata that they can hold, how they are stored, and how tags are used to link together objects into a file system with a POSIX interface.</span></p>\n<p><span>And of course that\'s not the end of the story. There\'s caching to deal with repeated small changes to data. There\'s garbage collection to let space be re-used, and Yaffs deals with collecting garbage differently depending on whether there\'s lots of free space or only a little. And part of making Yaffs a high performance flash file system is to make sure that re-useable blocks are erased well before they are needed, so that writing involves only a single operation. There\'s lazy loading to reduce scanning time. And all of this is built in a portable way, so that Yaffs can be configured to match almost any hardware, and can be ported to any operating system, or work on bare metal without an operating system. There\'s a test harness which is used to subject Yaffs to power failure, and ensure it works even with external data corruption. That\'s what makes it robust enough to send into space and to handle hundreds of terabytes of mission critical data.</span></p>\n<h4>Why is Yaffs special as an embedded flash file system?</h4>\n<p><span>Yaffs has been in use since 2002, and so it is hardened. It has been used in everything from phones to sewing machines to satellites. It is popular with Aerospace companies, and firms managing large infrastructure and in Point-of-Sale (POS) equipment (where customer feedback is very rapid!) It has been used in extreme conditions where it must not lose data, and where there is no chance for maintenance. It\'s been used for very large file systems up to 190TB. It\'s been used for safety critical applications, and millions of consumer devices.</span></p>\n<p><span>We carry out testing in a <a href=\"/documents/yaffs-robustness-and-testing\">rig which can simulate random power failures</a> and proved its reliability after tens to hundreds of millions of power failures.&nbsp;It\'s designed with an understanding of the constraints of flash memory and for speed.</span></p>\n<p><span>Yaffs works on multiple operating systems – Linux, VxWorks, Windows CE, eCos. - and also directly on bare metal, with no operating system. And it\'s easy to integrate into your RTOS or application using the Yaffs Direct Interface. It works with multiple types of flash memory - NAND &amp; NOR, SLC, MLC &amp; TLC.&nbsp;It\'s endian neutral. It\'s been used with 32-bit and 64-bit CPUs including MIPS, 68000, ARM, ColdFire, PowerPC and x86 variants. Yaffs has even been used with various DSP architectures! And it\'ll work with 16-bit with some tuning. So it can be configured to work with your design and the flash geometry that you need.</span></p>\n<p><span>And it\'s a <span>free embedded flash file system - </span><span>it’s open</span> <span>source</span>! <a href=\"/get-yaffs\">Grab the GPL version now</a>! Check out our the active community. And that\'s not the whole story - there are lots more reasons that make Yaffs special.&nbsp;</span></p>\n<p>&nbsp;</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n        </div>\n    </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"node\\/487\",\"currentPathIsAdmin\":false,\"isFront\":true,\"currentLanguage\":\"en\",\"currentQuery\":{\"q\":\"node\\/323\"}},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:18:{i:0;s:26:\"languages:language_content\";i:1;s:28:\"languages:language_interface\";i:2;s:5:\"route\";i:3;s:32:\"route.menu_active_trails:account\";i:4;s:29:\"route.menu_active_trails:main\";i:5;s:5:\"theme\";i:6;s:8:\"timezone\";i:7;s:8:\"url.path\";i:8;s:17:\"url.path.is_front\";i:9;s:15:\"url.path.parent\";i:10;s:30:\"url.query_args:_wrapper_format\";i:11;s:8:\"url.site\";i:12;s:4:\"user\";i:13;s:21:\"user.node_grants:view\";i:14;s:16:\"user.permissions\";i:15;s:10:\"user.roles\";i:16;s:20:\"user.roles:anonymous\";i:17;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:103:{i:0;s:16:\"block_content:18\";i:1;s:16:\"block_content:23\";i:2;s:16:\"block_content:25\";i:3;s:16:\"block_content:27\";i:4;s:16:\"block_content:28\";i:5;s:16:\"block_content:29\";i:6;s:16:\"block_content:30\";i:7;s:15:\"block_content:7\";i:8;s:18:\"block_content_view\";i:9;s:10:\"block_view\";i:10;s:32:\"config:block.block.choosingyaffs\";i:11;s:29:\"config:block.block.cookieinfo\";i:12;s:32:\"config:block.block.downloadyaffs\";i:13;s:30:\"config:block.block.footerlegal\";i:14;s:39:\"config:block.block.frontimagehighlight2\";i:15;s:32:\"config:block.block.frontpagehero\";i:16;s:39:\"config:block.block.frontpageprimeryaffs\";i:17;s:33:\"config:block.block.mainnavigation\";i:18;s:35:\"config:block.block.mainnavigation_2\";i:19;s:29:\"config:block.block.searchform\";i:20;s:31:\"config:block.block.sitebranding\";i:21;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:22;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:23;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:24;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:25;s:37:\"config:block.block.yaffs_account_menu\";i:26;s:33:\"config:block.block.yaffs_block_10\";i:27;s:32:\"config:block.block.yaffs_block_5\";i:28;s:32:\"config:block.block.yaffs_block_6\";i:29;s:32:\"config:block.block.yaffs_block_8\";i:30;s:32:\"config:block.block.yaffs_block_9\";i:31;s:36:\"config:block.block.yaffs_breadcrumbs\";i:32;s:32:\"config:block.block.yaffs_content\";i:33;s:29:\"config:block.block.yaffs_help\";i:34;s:36:\"config:block.block.yaffs_local_tasks\";i:35;s:33:\"config:block.block.yaffs_messages\";i:36;s:35:\"config:block.block.yaffs_page_title\";i:37;s:32:\"config:block.block.yaffs_user_21\";i:38;s:31:\"config:block.block.yaffsinspace\";i:39;s:17:\"config:block_list\";i:40;s:24:\"config:color.theme.yaffs\";i:41;s:30:\"config:field.storage.node.body\";i:42;s:41:\"config:field.storage.node.field_icon_text\";i:43;s:44:\"config:field.storage.node.field_teaser_image\";i:44;s:47:\"config:field.storage.node.field_yaffs_user_logo\";i:45;s:32:\"config:field.storage.node.upload\";i:46;s:31:\"config:filter.format.basic_html\";i:47;s:30:\"config:filter.format.full_html\";i:48;s:29:\"config:filter.format.raw_html\";i:49;s:28:\"config:image.style.pdf_image\";i:50;s:24:\"config:image.style.small\";i:51;s:22:\"config:search.settings\";i:52;s:26:\"config:system.menu.account\";i:53;s:23:\"config:system.menu.main\";i:54;s:18:\"config:system.site\";i:55;s:26:\"config:user.role.anonymous\";i:56;s:44:\"config:views.view.highlighted_yaffs_features\";i:57;s:44:\"config:views.view.yaffs_documents_highlights\";i:58;s:34:\"config:views.view.yaffs_user_logos\";i:59;s:8:\"file:108\";i:60;s:8:\"file:109\";i:61;s:8:\"file:110\";i:62;s:7:\"file:40\";i:63;s:7:\"file:43\";i:64;s:7:\"file:44\";i:65;s:7:\"file:45\";i:66;s:7:\"file:46\";i:67;s:7:\"file:47\";i:68;s:7:\"file:48\";i:69;s:7:\"file:76\";i:70;s:7:\"file:77\";i:71;s:7:\"file:85\";i:72;s:13:\"http_response\";i:73;s:7:\"media:5\";i:74;s:7:\"media:8\";i:75;s:7:\"media:9\";i:76;s:7:\"node:32\";i:77;s:8:\"node:344\";i:78;s:8:\"node:353\";i:79;s:8:\"node:384\";i:80;s:8:\"node:385\";i:81;s:8:\"node:388\";i:82;s:8:\"node:389\";i:83;s:8:\"node:397\";i:84;s:8:\"node:398\";i:85;s:8:\"node:399\";i:86;s:8:\"node:400\";i:87;s:8:\"node:401\";i:88;s:8:\"node:407\";i:89;s:8:\"node:408\";i:90;s:8:\"node:409\";i:91;s:8:\"node:448\";i:92;s:8:\"node:451\";i:93;s:8:\"node:457\";i:94;s:8:\"node:460\";i:95;s:8:\"node:462\";i:96;s:8:\"node:466\";i:97;s:8:\"node:487\";i:98;s:9:\"node_list\";i:99;s:9:\"node_view\";i:100;s:8:\"rendered\";i:101;s:6:\"user:0\";i:102;s:6:\"user:1\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:5:{s:7:\"library\";a:10:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:18:\"views/views.module\";i:10;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:22:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:84:\"A Robust Flash File System Since 2002 | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:18:\"https://yaffs.net/\";}}i:1;s:9:\"shortlink\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:18:\"https://yaffs.net/\";}}i:1;s:13:\"canonical_url\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:11:\"description\";}i:5;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:6;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:7;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:8;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:10;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:11;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:18;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:19;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:20;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}i:21;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:5:\"/home\";}}i:1;s:29:\"html_head_link:revision:/home\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:8:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:8:\"node/487\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:1;s:15:\"currentLanguage\";s:2:\"en\";s:12:\"currentQuery\";O:8:\"stdClass\":1:{s:1:\"q\";s:8:\"node/323\";}}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:1:{s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}s:11:\"http_header\";a:1:{i:0;a:3:{i:0;s:4:\"Link\";i:1;s:23:\"</home>; rel=\"revision\"\";i:2;b:0;}}}}',-1,1519390166.096,1,'block_content:18 block_content:23 block_content:25 block_content:27 block_content:28 block_content:29 block_content:30 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:field.storage.node.body config:field.storage.node.field_icon_text config:field.storage.node.field_teaser_image config:field.storage.node.field_yaffs_user_logo config:field.storage.node.upload config:filter.format.basic_html config:filter.format.full_html config:filter.format.raw_html config:image.style.pdf_image config:image.style.small config:search.settings config:system.menu.account config:system.menu.main config:system.site config:user.role.anonymous config:views.view.highlighted_yaffs_features config:views.view.yaffs_documents_highlights config:views.view.yaffs_user_logos file:108 file:109 file:110 file:40 file:43 file:44 file:45 file:46 file:47 file:48 file:76 file:77 file:85 http_response media:5 media:8 media:9 node:32 node:344 node:353 node:384 node:385 node:388 node:389 node:397 node:398 node:399 node:400 node:401 node:407 node:408 node:409 node:448 node:451 node:457 node:460 node:462 node:466 node:487 node_list node_view rendered user:0 user:1','3569'),('https://yaffs.net/about-us:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Tue, 14 Nov 2017 15:49:50 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:4:\"MISS\";}s:4:\"link\";a:6:{i:0;s:28:\"</about-us>; rel=\"canonical\"\";i:1;s:28:\"</node/325>; rel=\"shortlink\"\";i:2;s:27:\"</about-us>; rel=\"revision\"\";i:3;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ozekku>; rel=preload; as=style\";i:4;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku>; rel=preload; as=style\";i:5;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Tue, 14 Nov 2017 15:49:50 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1510674590\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:14781:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"About us | Yaffs - A Flash File System for embedded use\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"The company was started in 1971.  The name Aleph One was chosen to be non-specific.  We started selling computer products in 1984.\nIn 1984, we were using Biofeedback instruments to control video games on Acorn BBC Microcomputers   This led to the development of processor cards for Acorn computers (which had their own operating system) which could run the DOS and Windows operating systems. Acorn users ran Windows applications in a window!\nWhen Acorn left the computer market we used our knowledge of other operating systems to move into Linux and then into embedded Linux.  We have developed the yaffs File System specifically to provide a robust journalling file system for NAND Flash chips, and it is now widely used in high-volume products.\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n<link rel=\"canonical\" href=\"/about-us\" />\n<link rel=\"shortlink\" href=\"/node/325\" />\n<link rel=\"revision\" href=\"/about-us\" />\n\n    <title>About us | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ozekku\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-node page-node-type-page navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li class=\"active\">\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\" class=\"is-active\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n      \n\n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\"><span property=\"schema:name\">About us</span>\n</h1>\n\n  <article role=\"article\" about=\"/about-us\" typeof=\"schema:WebPage\" class=\"page is-promoted full clearfix\">\n\n  \n      <span property=\"schema:name\" content=\"About us\" class=\"hidden\"></span>\n\n\n  \n  <div class=\"content\">\n    \n            <div property=\"schema:text\" class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p>Yaffs is a product from Aleph One Ltd.</p>\n<p>The company was started in 1971.&nbsp; The name Aleph One was chosen to be non-specific.&nbsp; We started selling computer products in 1984, when we were using Biofeedback instruments to control video games on Acorn BBC Microcomputers&nbsp;&nbsp; This led to the development of processor cards for Acorn computers (which had their own unique operating system) which could run the DOS and Windows operating systems. Acorn users ran Windows applications in a window!</p>\n<p>When Acorn left the computer market in 1998 we used our knowledge of other operating systems to move into Linux and then into embedded Linux.&nbsp; We have developed the Yaffs File System specifically to provide a robust journalling file system for NAND Flash chips, and it is now widely used in high-volume products around the world.</p>\n<h2>Visitors</h2>\n<p>We are happy to welcome visitors, though our premises are not a shop. Please contact us to make an appointment and let us know what you would like to talk about or look at.&nbsp;</p>\n<h2>Staff</h2>\n<h3>Core Staff</h3>\n<ul>\n<li>Managing Director: Mr Laurie van Someren</li>\n<li>Charles Manning: Chief Yaffs Architect</li>\n<li>Jenny Hopkins: Tech Support</li>\n</ul>\n<h2>Our name</h2>\n<p>Aleph is the name of the first letter of the Hebrew alphabet.</p>\n<p>A German mathematician active in the mid-19th century, Georg Cantor (1845-1918), realised that infinities came in different sizes; more precisely he showed that the infinite set of all integers was smaller than the infinite set of all real numbers, and gave the labels Aleph Null to the smaller, and Aleph One to the larger set.</p>\n<p>J W Dauben, writing in <em>Scientific American</em>, June 1983, 112-121, said <em>The choice </em>of Aleph as a label for transfinite sets <em>was particularly clever, as Cantor was pleased to admit, because the Hebrew Aleph was also a symbol for the number 1. Since the transfinite cardinals were themselves infinite unities, the Aleph could be taken to represent a new beginning for mathematics.</em></p>\n<p>The concept of Alephs is the subject of a successful book by Amir D Aczel called THE MYSTERY OF THE ALEPH. Paperback about £10 in the UK, ISBN 0-7434-2299-6 (We do not sell it)</p>\n<h3><a name=\"VAT\" id=\"VAT\"></a>VAT</h3>\n<p>We are not registered for VAT and so our prices do not include it.</p>\n<p>&nbsp;</p>\n</div>\n      \n  </div>\n\n</article>\n\n\n  </div>\n\n              </section>\n\n                </div>\n  </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"node\\/325\",\"currentPathIsAdmin\":false,\"isFront\":false,\"currentLanguage\":\"en\"},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"route\";i:2;s:32:\"route.menu_active_trails:account\";i:3;s:29:\"route.menu_active_trails:main\";i:4;s:30:\"route.menu_active_trails:tools\";i:5;s:5:\"theme\";i:6;s:8:\"timezone\";i:7;s:3:\"url\";i:8;s:8:\"url.path\";i:9;s:17:\"url.path.is_front\";i:10;s:15:\"url.path.parent\";i:11;s:30:\"url.query_args:_wrapper_format\";i:12;s:4:\"user\";i:13;s:21:\"user.node_grants:view\";i:14;s:16:\"user.permissions\";i:15;s:10:\"user.roles\";i:16;s:20:\"user.roles:anonymous\";i:17;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:50:{i:0;s:16:\"block_content:18\";i:1;s:16:\"block_content:23\";i:2;s:15:\"block_content:7\";i:3;s:18:\"block_content_view\";i:4;s:10:\"block_view\";i:5;s:32:\"config:block.block.choosingyaffs\";i:6;s:29:\"config:block.block.cookieinfo\";i:7;s:32:\"config:block.block.downloadyaffs\";i:8;s:30:\"config:block.block.footerlegal\";i:9;s:39:\"config:block.block.frontimagehighlight2\";i:10;s:32:\"config:block.block.frontpagehero\";i:11;s:39:\"config:block.block.frontpageprimeryaffs\";i:12;s:33:\"config:block.block.mainnavigation\";i:13;s:35:\"config:block.block.mainnavigation_2\";i:14;s:29:\"config:block.block.searchform\";i:15;s:31:\"config:block.block.sitebranding\";i:16;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:17;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:18;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:19;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:20;s:37:\"config:block.block.yaffs_account_menu\";i:21;s:33:\"config:block.block.yaffs_block_10\";i:22;s:32:\"config:block.block.yaffs_block_5\";i:23;s:32:\"config:block.block.yaffs_block_6\";i:24;s:32:\"config:block.block.yaffs_block_8\";i:25;s:32:\"config:block.block.yaffs_block_9\";i:26;s:36:\"config:block.block.yaffs_breadcrumbs\";i:27;s:32:\"config:block.block.yaffs_content\";i:28;s:29:\"config:block.block.yaffs_help\";i:29;s:36:\"config:block.block.yaffs_local_tasks\";i:30;s:33:\"config:block.block.yaffs_messages\";i:31;s:35:\"config:block.block.yaffs_page_title\";i:32;s:32:\"config:block.block.yaffs_user_21\";i:33;s:31:\"config:block.block.yaffsinspace\";i:34;s:17:\"config:block_list\";i:35;s:24:\"config:color.theme.yaffs\";i:36;s:30:\"config:filter.format.full_html\";i:37;s:29:\"config:filter.format.raw_html\";i:38;s:22:\"config:search.settings\";i:39;s:26:\"config:system.menu.account\";i:40;s:23:\"config:system.menu.main\";i:41;s:24:\"config:system.menu.tools\";i:42;s:18:\"config:system.site\";i:43;s:26:\"config:user.role.anonymous\";i:44;s:13:\"http_response\";i:45;s:8:\"node:325\";i:46;s:9:\"node_view\";i:47;s:8:\"rendered\";i:48;s:6:\"user:0\";i:49;s:6:\"user:1\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:5:{s:7:\"library\";a:9:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:22:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:55:\"About us | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:751:\"The company was started in 1971.  The name Aleph One was chosen to be non-specific.  We started selling computer products in 1984.\nIn 1984, we were using Biofeedback instruments to control video games on Acorn BBC Microcomputers   This led to the development of processor cards for Acorn computers (which had their own operating system) which could run the DOS and Windows operating systems. Acorn users ran Windows applications in a window!\nWhen Acorn left the computer market we used our knowledge of other operating systems to move into Linux and then into embedded Linux.  We have developed the yaffs File System specifically to provide a robust journalling file system for NAND Flash chips, and it is now widely used in high-volume products.\";}}i:1;s:11:\"description\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:5;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:6;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:7;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:8;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:10;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:11;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:18;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}i:19;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:9:\"/about-us\";}}i:1;s:34:\"html_head_link:canonical:/about-us\";}i:20;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:9:\"/node/325\";}}i:1;s:34:\"html_head_link:shortlink:/node/325\";}i:21;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:9:\"/about-us\";}}i:1;s:33:\"html_head_link:revision:/about-us\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:7:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:8:\"node/325\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:0;s:15:\"currentLanguage\";s:2:\"en\";}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:1:{s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}s:11:\"http_header\";a:3:{i:0;a:3:{i:0;s:4:\"Link\";i:1;s:28:\"</about-us>; rel=\"canonical\"\";i:2;b:0;}i:1;a:3:{i:0;s:4:\"Link\";i:1;s:28:\"</node/325>; rel=\"shortlink\"\";i:2;b:0;}i:2;a:3:{i:0;s:4:\"Link\";i:1;s:27:\"</about-us>; rel=\"revision\"\";i:2;b:0;}}}}',-1,1510674590.370,1,'block_content:18 block_content:23 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:filter.format.full_html config:filter.format.raw_html config:search.settings config:system.menu.account config:system.menu.main config:system.menu.tools config:system.site config:user.role.anonymous http_response node:325 node_view rendered user:0 user:1','3163'),('https://yaffs.net/active-community:html','O:43:\"Drupal\\Core\\Routing\\TrustedRedirectResponse\":10:{s:14:\"\0*\0trustedUrls\";a:1:{s:43:\"https://yaffs.net/features/active-community\";b:1;}s:12:\"\0*\0targetUrl\";s:43:\"https://yaffs.net/features/active-community\";s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:13:{s:13:\"x-redirect-id\";s:13:\"X-Redirect-ID\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:8:\"location\";s:8:\"Location\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:13:{s:13:\"x-redirect-id\";a:1:{i:0;s:2:\"57\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Wed, 06 Dec 2017 00:22:06 GMT\";}s:8:\"location\";a:1:{i:0;s:43:\"https://yaffs.net/features/active-community\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Wed, 06 Dec 2017 00:22:06 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1512519726\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:416:\"<!DOCTYPE html>\n<html>\n    <head>\n        <meta charset=\"UTF-8\" />\n        <meta http-equiv=\"refresh\" content=\"1;url=https://yaffs.net/features/active-community\" />\n\n        <title>Redirecting to https://yaffs.net/features/active-community</title>\n    </head>\n    <body>\n        Redirecting to <a href=\"https://yaffs.net/features/active-community\">https://yaffs.net/features/active-community</a>.\n    </body>\n</html>\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:301;s:13:\"\0*\0statusText\";s:17:\"Moved Permanently\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:0:{}s:12:\"\0*\0cacheTags\";a:2:{i:0;s:13:\"http_response\";i:1;s:11:\"redirect:57\";}s:14:\"\0*\0cacheMaxAge\";i:0;}s:17:\"\0*\0requestContext\";N;}',-1,1512519726.549,1,'http_response redirect:57','334'),('https://yaffs.net/activity/internals:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Fri, 05 Jan 2018 06:44:01 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:4:\"MISS\";}s:4:\"link\";a:11:{i:0;s:38:\"</activity/internals>; rel=\"canonical\"\";i:1;s:36:\"</taxonomy/term/51>; rel=\"shortlink\"\";i:2;s:45:\"</taxonomy/term/51/delete>; rel=\"delete-form\"\";i:3;s:41:\"</taxonomy/term/51/edit>; rel=\"edit-form\"\";i:4;s:43:\"</devel/taxonomy_term/51>; rel=\"devel-load\"\";i:5;s:52:\"</devel/taxonomy_term/51/render>; rel=\"devel-render\"\";i:6;s:60:\"</devel/taxonomy_term/51/definition>; rel=\"devel-definition\"\";i:7;s:50:\"</taxonomy/term/51/devel/token>; rel=\"token-devel\"\";i:8;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ozekku>; rel=preload; as=style\";i:9;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku>; rel=preload; as=style\";i:10;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Fri, 05 Jan 2018 06:44:01 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1515134641\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:11680:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"The Northern Block | Yaffs - A Flash File System for embedded use\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n<link rel=\"canonical\" href=\"/activity/internals\" />\n<link rel=\"shortlink\" href=\"/taxonomy/term/51\" />\n<link rel=\"delete-form\" href=\"/taxonomy/term/51/delete\" />\n<link rel=\"edit-form\" href=\"/taxonomy/term/51/edit\" />\n<link rel=\"devel-load\" href=\"/devel/taxonomy_term/51\" />\n<link rel=\"devel-render\" href=\"/devel/taxonomy_term/51/render\" />\n<link rel=\"devel-definition\" href=\"/devel/taxonomy_term/51/definition\" />\n<link rel=\"token-devel\" href=\"/taxonomy/term/51/devel/token\" />\n\n    <title>The Northern Block | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ozekku\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-taxonomy navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n      \n\n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\">\n            <div class=\"field field--name-name field--type-string field--label-hidden field--item\">The Northern Block</div>\n      </h1>\n\n  <div about=\"/activity/internals\">\n  \n    \n  \n</div>\n\n\n  </div>\n\n              </section>\n\n                </div>\n  </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"taxonomy\\/term\\/51\",\"currentPathIsAdmin\":false,\"isFront\":false,\"currentLanguage\":\"en\"},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:14:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"route\";i:2;s:32:\"route.menu_active_trails:account\";i:3;s:29:\"route.menu_active_trails:main\";i:4;s:30:\"route.menu_active_trails:tools\";i:5;s:5:\"theme\";i:6;s:3:\"url\";i:7;s:8:\"url.path\";i:8;s:17:\"url.path.is_front\";i:9;s:30:\"url.query_args:_wrapper_format\";i:10;s:21:\"user.node_grants:view\";i:11;s:16:\"user.permissions\";i:12;s:10:\"user.roles\";i:13;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:49:{i:0;s:16:\"block_content:18\";i:1;s:16:\"block_content:23\";i:2;s:15:\"block_content:7\";i:3;s:18:\"block_content_view\";i:4;s:10:\"block_view\";i:5;s:32:\"config:block.block.choosingyaffs\";i:6;s:29:\"config:block.block.cookieinfo\";i:7;s:32:\"config:block.block.downloadyaffs\";i:8;s:30:\"config:block.block.footerlegal\";i:9;s:39:\"config:block.block.frontimagehighlight2\";i:10;s:32:\"config:block.block.frontpagehero\";i:11;s:39:\"config:block.block.frontpageprimeryaffs\";i:12;s:33:\"config:block.block.mainnavigation\";i:13;s:35:\"config:block.block.mainnavigation_2\";i:14;s:29:\"config:block.block.searchform\";i:15;s:31:\"config:block.block.sitebranding\";i:16;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:17;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:18;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:19;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:20;s:37:\"config:block.block.yaffs_account_menu\";i:21;s:33:\"config:block.block.yaffs_block_10\";i:22;s:32:\"config:block.block.yaffs_block_5\";i:23;s:32:\"config:block.block.yaffs_block_6\";i:24;s:32:\"config:block.block.yaffs_block_8\";i:25;s:32:\"config:block.block.yaffs_block_9\";i:26;s:36:\"config:block.block.yaffs_breadcrumbs\";i:27;s:32:\"config:block.block.yaffs_content\";i:28;s:29:\"config:block.block.yaffs_help\";i:29;s:36:\"config:block.block.yaffs_local_tasks\";i:30;s:33:\"config:block.block.yaffs_messages\";i:31;s:35:\"config:block.block.yaffs_page_title\";i:32;s:32:\"config:block.block.yaffs_user_21\";i:33;s:31:\"config:block.block.yaffsinspace\";i:34;s:17:\"config:block_list\";i:35;s:24:\"config:color.theme.yaffs\";i:36;s:30:\"config:filter.format.full_html\";i:37;s:29:\"config:filter.format.raw_html\";i:38;s:22:\"config:search.settings\";i:39;s:26:\"config:system.menu.account\";i:40;s:23:\"config:system.menu.main\";i:41;s:24:\"config:system.menu.tools\";i:42;s:18:\"config:system.site\";i:43;s:26:\"config:user.role.anonymous\";i:44;s:13:\"http_response\";i:45;s:8:\"rendered\";i:46;s:16:\"taxonomy_term:51\";i:47;s:18:\"taxonomy_term_view\";i:48;s:6:\"user:0\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:5:{s:7:\"library\";a:9:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:26:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:65:\"The Northern Block | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:4;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:5;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:6;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:7;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:8;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:9;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:10;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:11;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:17;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}i:18;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:19:\"/activity/internals\";}}i:1;s:44:\"html_head_link:canonical:/activity/internals\";}i:19;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:17:\"/taxonomy/term/51\";}}i:1;s:42:\"html_head_link:shortlink:/taxonomy/term/51\";}i:20;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:11:\"delete-form\";s:4:\"href\";s:24:\"/taxonomy/term/51/delete\";}}i:1;s:51:\"html_head_link:delete-form:/taxonomy/term/51/delete\";}i:21;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"edit-form\";s:4:\"href\";s:22:\"/taxonomy/term/51/edit\";}}i:1;s:47:\"html_head_link:edit-form:/taxonomy/term/51/edit\";}i:22;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:10:\"devel-load\";s:4:\"href\";s:23:\"/devel/taxonomy_term/51\";}}i:1;s:49:\"html_head_link:devel-load:/devel/taxonomy_term/51\";}i:23;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:12:\"devel-render\";s:4:\"href\";s:30:\"/devel/taxonomy_term/51/render\";}}i:1;s:58:\"html_head_link:devel-render:/devel/taxonomy_term/51/render\";}i:24;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:16:\"devel-definition\";s:4:\"href\";s:34:\"/devel/taxonomy_term/51/definition\";}}i:1;s:66:\"html_head_link:devel-definition:/devel/taxonomy_term/51/definition\";}i:25;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:11:\"token-devel\";s:4:\"href\";s:29:\"/taxonomy/term/51/devel/token\";}}i:1;s:56:\"html_head_link:token-devel:/taxonomy/term/51/devel/token\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:7:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:16:\"taxonomy/term/51\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:0;s:15:\"currentLanguage\";s:2:\"en\";}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:1:{s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}s:11:\"http_header\";a:8:{i:0;a:3:{i:0;s:4:\"Link\";i:1;s:38:\"</activity/internals>; rel=\"canonical\"\";i:2;b:0;}i:1;a:3:{i:0;s:4:\"Link\";i:1;s:36:\"</taxonomy/term/51>; rel=\"shortlink\"\";i:2;b:0;}i:2;a:3:{i:0;s:4:\"Link\";i:1;s:45:\"</taxonomy/term/51/delete>; rel=\"delete-form\"\";i:2;b:0;}i:3;a:3:{i:0;s:4:\"Link\";i:1;s:41:\"</taxonomy/term/51/edit>; rel=\"edit-form\"\";i:2;b:0;}i:4;a:3:{i:0;s:4:\"Link\";i:1;s:43:\"</devel/taxonomy_term/51>; rel=\"devel-load\"\";i:2;b:0;}i:5;a:3:{i:0;s:4:\"Link\";i:1;s:52:\"</devel/taxonomy_term/51/render>; rel=\"devel-render\"\";i:2;b:0;}i:6;a:3:{i:0;s:4:\"Link\";i:1;s:60:\"</devel/taxonomy_term/51/definition>; rel=\"devel-definition\"\";i:2;b:0;}i:7;a:3:{i:0;s:4:\"Link\";i:1;s:50:\"</taxonomy/term/51/devel/token>; rel=\"token-devel\"\";i:2;b:0;}}}}',-1,1515134641.962,1,'block_content:18 block_content:23 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:filter.format.full_html config:filter.format.raw_html config:search.settings config:system.menu.account config:system.menu.main config:system.menu.tools config:system.site config:user.role.anonymous http_response rendered taxonomy_term:51 taxonomy_term_view user:0','2949'),('https://yaffs.net/admin/reports/updates:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Tue, 27 Feb 2018 13:13:57 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:11:\"UNCACHEABLE\";}s:4:\"link\";a:6:{i:0;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ozekku>; rel=preload; as=style\";i:1;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku>; rel=preload; as=style\";i:2;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";i:3;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ozekku>; rel=preload; as=style\";i:4;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku>; rel=preload; as=style\";i:5;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Tue, 27 Feb 2018 13:13:57 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1519737237\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:11560:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"Access denied | Yaffs - A Flash File System for embedded use\" />\n<link rel=\"shortlink\" href=\"https://yaffs.net/\" />\n<link rel=\"canonical\" href=\"https://yaffs.net/\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n\n    <title>Access denied | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ozekku\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-admin navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n      \n\n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\">Access denied</h1>\n\n  You are not authorized to access this page.\n\n  </div>\n\n              </section>\n\n                </div>\n  </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"admin\\/reports\\/updates\",\"currentPathIsAdmin\":true,\"isFront\":false,\"currentLanguage\":\"en\"},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:403;s:13:\"\0*\0statusText\";s:9:\"Forbidden\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:16:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"route\";i:2;s:32:\"route.menu_active_trails:account\";i:3;s:29:\"route.menu_active_trails:main\";i:4;s:30:\"route.menu_active_trails:tools\";i:5;s:5:\"theme\";i:6;s:3:\"url\";i:7;s:8:\"url.path\";i:8;s:17:\"url.path.is_front\";i:9;s:15:\"url.path.parent\";i:10;s:30:\"url.query_args:_wrapper_format\";i:11;s:4:\"user\";i:12;s:21:\"user.node_grants:view\";i:13;s:16:\"user.permissions\";i:14;s:10:\"user.roles\";i:15;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:48:{i:0;s:12:\"4xx-response\";i:1;s:16:\"block_content:18\";i:2;s:16:\"block_content:23\";i:3;s:15:\"block_content:7\";i:4;s:18:\"block_content_view\";i:5;s:10:\"block_view\";i:6;s:32:\"config:block.block.choosingyaffs\";i:7;s:29:\"config:block.block.cookieinfo\";i:8;s:32:\"config:block.block.downloadyaffs\";i:9;s:30:\"config:block.block.footerlegal\";i:10;s:39:\"config:block.block.frontimagehighlight2\";i:11;s:32:\"config:block.block.frontpagehero\";i:12;s:39:\"config:block.block.frontpageprimeryaffs\";i:13;s:33:\"config:block.block.mainnavigation\";i:14;s:35:\"config:block.block.mainnavigation_2\";i:15;s:29:\"config:block.block.searchform\";i:16;s:31:\"config:block.block.sitebranding\";i:17;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:18;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:19;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:20;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:21;s:37:\"config:block.block.yaffs_account_menu\";i:22;s:33:\"config:block.block.yaffs_block_10\";i:23;s:32:\"config:block.block.yaffs_block_5\";i:24;s:32:\"config:block.block.yaffs_block_6\";i:25;s:32:\"config:block.block.yaffs_block_8\";i:26;s:32:\"config:block.block.yaffs_block_9\";i:27;s:36:\"config:block.block.yaffs_breadcrumbs\";i:28;s:32:\"config:block.block.yaffs_content\";i:29;s:29:\"config:block.block.yaffs_help\";i:30;s:36:\"config:block.block.yaffs_local_tasks\";i:31;s:33:\"config:block.block.yaffs_messages\";i:32;s:35:\"config:block.block.yaffs_page_title\";i:33;s:32:\"config:block.block.yaffs_user_21\";i:34;s:31:\"config:block.block.yaffsinspace\";i:35;s:17:\"config:block_list\";i:36;s:24:\"config:color.theme.yaffs\";i:37;s:30:\"config:filter.format.full_html\";i:38;s:29:\"config:filter.format.raw_html\";i:39;s:22:\"config:search.settings\";i:40;s:26:\"config:system.menu.account\";i:41;s:23:\"config:system.menu.main\";i:42;s:24:\"config:system.menu.tools\";i:43;s:18:\"config:system.site\";i:44;s:26:\"config:user.role.anonymous\";i:45;s:13:\"http_response\";i:46;s:8:\"rendered\";i:47;s:6:\"user:0\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:4:{s:7:\"library\";a:9:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:21:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:60:\"Access denied | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:18:\"https://yaffs.net/\";}}i:1;s:9:\"shortlink\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:18:\"https://yaffs.net/\";}}i:1;s:13:\"canonical_url\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:11:\"description\";}i:5;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:6;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:7;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:8;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:10;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:11;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:18;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:19;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:20;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:7:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:21:\"admin/reports/updates\";s:18:\"currentPathIsAdmin\";b:1;s:7:\"isFront\";b:0;s:15:\"currentLanguage\";s:2:\"en\";}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:1:{s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}}}',1519740837,1519737237.699,1,'4xx-response block_content:18 block_content:23 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:filter.format.full_html config:filter.format.raw_html config:search.settings config:system.menu.account config:system.menu.main config:system.menu.tools config:system.site config:user.role.anonymous http_response rendered user:0','4891'),('https://yaffs.net/almost-15-years-never-seen-failure:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Wed, 22 Nov 2017 00:36:44 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:4:\"MISS\";}s:4:\"link\";a:6:{i:0;s:54:\"</almost-15-years-never-seen-failure>; rel=\"canonical\"\";i:1;s:28:\"</node/503>; rel=\"shortlink\"\";i:2;s:53:\"</almost-15-years-never-seen-failure>; rel=\"revision\"\";i:3;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ozekku>; rel=preload; as=style\";i:4;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku>; rel=preload; as=style\";i:5;s:99:\"</sites/default/files/js/js_Y3_SSP8IkM8BQPs1HergqBstZNkg4EXNqkYVmDeButk.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Wed, 22 Nov 2017 00:36:43 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1511311003\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:14309:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"“Almost 15 years …never seen a failure...” | Yaffs - A Flash File System for embedded use\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"The DDS range of digital data storage solutions from Tape Replacement Ltd deliver a modern, solid state data storage unit designed specifically to replace out-dated magnetic tape, magneto optical, disc hard-drive units such as those used within legacy telephone switching systems. This saves companies such as telcos, and ultimately their customers, millions of dollars in upgrade costs as well as improving overall system reliability and keeping functioning equipment from being dumped in landfills.\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n<link rel=\"canonical\" href=\"/almost-15-years-never-seen-failure\" />\n<link rel=\"shortlink\" href=\"/node/503\" />\n<link rel=\"revision\" href=\"/almost-15-years-never-seen-failure\" />\n\n    <title>“Almost 15 years …never seen a failure...” | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ozekku\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-node page-node-type-case-study navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n      \n\n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\"><span>“Almost 15 years …never seen a failure...”</span>\n</h1>\n\n  <article role=\"article\" about=\"/almost-15-years-never-seen-failure\" class=\"case-study is-promoted full clearfix\">\n\n  \n    \n\n  \n  <div class=\"content\">\n    \n            <div class=\"field field--name-field-organisation field--type-string field--label-hidden field--item\">Tape Replacement Ltd</div>\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\"><p dir=\"ltr\">The DDS range of digital data storage solutions from Tape Replacement Ltd deliver a modern, solid state data storage unit designed specifically to replace out-dated magnetic tape, magneto optical, disc hard-drive units such as those used within legacy telephone switching systems. This saves companies such as telcos, and ultimately their customers, millions of dollars in upgrade costs as well as improving overall system reliability and keeping functioning equipment from being dumped in landfills.</p>\n\n<p dir=\"ltr\">The storage layer is made up of two independent stacks of NAND chips, combined using a RAID-1 structure, using YAFFS to expose this to the application.</p>\n\n<p dir=\"ltr\">According to Andre Renaud, Engineering Manager at Tape Replacement:</p>\n\n<blockquote>\n<p dir=\"ltr\">“We\'ve been running the units for almost 15 years now, and we have never seen a failure of the underlying YAFFS/NAND storage system. YAFFS provides us with a fast, reliable storage mechanism which is especially useful given the changes in NAND technologies over the years, and the intricate technical details of their behaviour.”</p>\n</blockquote></div>\n      \n      <div class=\"field field--name-field-url field--type-link field--label-hidden field--items\">\n              <div class=\"field--item\"><a href=\"http://www.tape-replacement.com/\">http://www.tape-replacement.com/</a></div>\n          </div>\n  \n            <div class=\"field field--name-field-image field--type-image field--label-hidden field--item\">    <img srcset=\"/sites/default/files/styles/max_325x325/public/2017-09/tape_replacement.jpg?itok=HsMgXnI2 325w, /sites/default/files/styles/max_650x650/public/2017-09/tape_replacement.jpg?itok=cUoW-9yU 555w\" sizes=\"(min-width: 1290px) 325px, (min-width: 851px) 25vw, (min-width: 560px) 50vw, 100vw\" src=\"/sites/default/files/styles/max_325x325/public/2017-09/tape_replacement.jpg?itok=HsMgXnI2\" alt=\"Tape Replacement Ltd Logo\" typeof=\"foaf:Image\" class=\"img-responsive\" />\n\n\n</div>\n      \n  </div>\n\n</article>\n\n\n  </div>\n\n              </section>\n\n                </div>\n  </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"node\\/503\",\"currentPathIsAdmin\":false,\"isFront\":false,\"currentLanguage\":\"en\"},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_Y3_SSP8IkM8BQPs1HergqBstZNkg4EXNqkYVmDeButk.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"route\";i:2;s:32:\"route.menu_active_trails:account\";i:3;s:29:\"route.menu_active_trails:main\";i:4;s:30:\"route.menu_active_trails:tools\";i:5;s:5:\"theme\";i:6;s:8:\"timezone\";i:7;s:3:\"url\";i:8;s:8:\"url.path\";i:9;s:17:\"url.path.is_front\";i:10;s:15:\"url.path.parent\";i:11;s:30:\"url.query_args:_wrapper_format\";i:12;s:4:\"user\";i:13;s:21:\"user.node_grants:view\";i:14;s:16:\"user.permissions\";i:15;s:10:\"user.roles\";i:16;s:20:\"user.roles:anonymous\";i:17;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:55:{i:0;s:16:\"block_content:18\";i:1;s:16:\"block_content:23\";i:2;s:15:\"block_content:7\";i:3;s:18:\"block_content_view\";i:4;s:10:\"block_view\";i:5;s:32:\"config:block.block.choosingyaffs\";i:6;s:29:\"config:block.block.cookieinfo\";i:7;s:32:\"config:block.block.downloadyaffs\";i:8;s:30:\"config:block.block.footerlegal\";i:9;s:39:\"config:block.block.frontimagehighlight2\";i:10;s:32:\"config:block.block.frontpagehero\";i:11;s:39:\"config:block.block.frontpageprimeryaffs\";i:12;s:33:\"config:block.block.mainnavigation\";i:13;s:35:\"config:block.block.mainnavigation_2\";i:14;s:29:\"config:block.block.searchform\";i:15;s:31:\"config:block.block.sitebranding\";i:16;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:17;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:18;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:19;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:20;s:37:\"config:block.block.yaffs_account_menu\";i:21;s:33:\"config:block.block.yaffs_block_10\";i:22;s:32:\"config:block.block.yaffs_block_5\";i:23;s:32:\"config:block.block.yaffs_block_6\";i:24;s:32:\"config:block.block.yaffs_block_8\";i:25;s:32:\"config:block.block.yaffs_block_9\";i:26;s:36:\"config:block.block.yaffs_breadcrumbs\";i:27;s:32:\"config:block.block.yaffs_content\";i:28;s:29:\"config:block.block.yaffs_help\";i:29;s:36:\"config:block.block.yaffs_local_tasks\";i:30;s:33:\"config:block.block.yaffs_messages\";i:31;s:35:\"config:block.block.yaffs_page_title\";i:32;s:32:\"config:block.block.yaffs_user_21\";i:33;s:31:\"config:block.block.yaffsinspace\";i:34;s:17:\"config:block_list\";i:35;s:24:\"config:color.theme.yaffs\";i:36;s:31:\"config:filter.format.basic_html\";i:37;s:30:\"config:filter.format.full_html\";i:38;s:29:\"config:filter.format.raw_html\";i:39;s:32:\"config:image.style.max_1300x1300\";i:40;s:30:\"config:image.style.max_325x325\";i:41;s:30:\"config:image.style.max_650x650\";i:42;s:37:\"config:responsive_image.styles.narrow\";i:43;s:22:\"config:search.settings\";i:44;s:26:\"config:system.menu.account\";i:45;s:23:\"config:system.menu.main\";i:46;s:24:\"config:system.menu.tools\";i:47;s:18:\"config:system.site\";i:48;s:26:\"config:user.role.anonymous\";i:49;s:13:\"http_response\";i:50;s:8:\"node:503\";i:51;s:9:\"node_view\";i:52;s:8:\"rendered\";i:53;s:6:\"user:0\";i:54;s:6:\"user:1\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:5:{s:7:\"library\";a:10:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:16:\"core/picturefill\";i:9;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:22:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:95:\"“Almost 15 years …never seen a failure...” | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:500:\"The DDS range of digital data storage solutions from Tape Replacement Ltd deliver a modern, solid state data storage unit designed specifically to replace out-dated magnetic tape, magneto optical, disc hard-drive units such as those used within legacy telephone switching systems. This saves companies such as telcos, and ultimately their customers, millions of dollars in upgrade costs as well as improving overall system reliability and keeping functioning equipment from being dumped in landfills.\";}}i:1;s:11:\"description\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:5;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:6;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:7;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:8;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:10;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:11;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:18;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}i:19;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:35:\"/almost-15-years-never-seen-failure\";}}i:1;s:60:\"html_head_link:canonical:/almost-15-years-never-seen-failure\";}i:20;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:9:\"/node/503\";}}i:1;s:34:\"html_head_link:shortlink:/node/503\";}i:21;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:35:\"/almost-15-years-never-seen-failure\";}}i:1;s:59:\"html_head_link:revision:/almost-15-years-never-seen-failure\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:7:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:8:\"node/503\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:0;s:15:\"currentLanguage\";s:2:\"en\";}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:1:{s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}s:11:\"http_header\";a:3:{i:0;a:3:{i:0;s:4:\"Link\";i:1;s:54:\"</almost-15-years-never-seen-failure>; rel=\"canonical\"\";i:2;b:0;}i:1;a:3:{i:0;s:4:\"Link\";i:1;s:28:\"</node/503>; rel=\"shortlink\"\";i:2;b:0;}i:2;a:3:{i:0;s:4:\"Link\";i:1;s:53:\"</almost-15-years-never-seen-failure>; rel=\"revision\"\";i:2;b:0;}}}}',-1,1511311004.155,1,'block_content:18 block_content:23 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:filter.format.basic_html config:filter.format.full_html config:filter.format.raw_html config:image.style.max_1300x1300 config:image.style.max_325x325 config:image.style.max_650x650 config:responsive_image.styles.narrow config:search.settings config:system.menu.account config:system.menu.main config:system.menu.tools config:system.site config:user.role.anonymous http_response node:503 node_view rendered user:0 user:1','3180'),('https://yaffs.net/apple-app-site-association:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Tue, 14 Nov 2017 12:53:21 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:3:\"HIT\";}s:4:\"link\";a:6:{i:0;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ozekku>; rel=preload; as=style\";i:1;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku>; rel=preload; as=style\";i:2;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";i:3;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ozekku>; rel=preload; as=style\";i:4;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku>; rel=preload; as=style\";i:5;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Tue, 27 Feb 2018 13:29:49 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1519738189\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:11557:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"Page not found | Yaffs - A Flash File System for embedded use\" />\n<link rel=\"shortlink\" href=\"https://yaffs.net/\" />\n<link rel=\"canonical\" href=\"https://yaffs.net/\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n\n    <title>Page not found | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ozekku\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-apple-app-site-association navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n      \n\n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\">Page not found</h1>\n\n  The requested page could not be found.\n\n  </div>\n\n              </section>\n\n                </div>\n  </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"\",\"currentPathIsAdmin\":false,\"isFront\":false,\"currentLanguage\":\"en\"},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:404;s:13:\"\0*\0statusText\";s:9:\"Not Found\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:16:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"route\";i:2;s:32:\"route.menu_active_trails:account\";i:3;s:29:\"route.menu_active_trails:main\";i:4;s:30:\"route.menu_active_trails:tools\";i:5;s:5:\"theme\";i:6;s:3:\"url\";i:7;s:8:\"url.path\";i:8;s:17:\"url.path.is_front\";i:9;s:15:\"url.path.parent\";i:10;s:30:\"url.query_args:_wrapper_format\";i:11;s:4:\"user\";i:12;s:21:\"user.node_grants:view\";i:13;s:16:\"user.permissions\";i:14;s:10:\"user.roles\";i:15;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:48:{i:0;s:12:\"4xx-response\";i:1;s:16:\"block_content:18\";i:2;s:16:\"block_content:23\";i:3;s:15:\"block_content:7\";i:4;s:18:\"block_content_view\";i:5;s:10:\"block_view\";i:6;s:32:\"config:block.block.choosingyaffs\";i:7;s:29:\"config:block.block.cookieinfo\";i:8;s:32:\"config:block.block.downloadyaffs\";i:9;s:30:\"config:block.block.footerlegal\";i:10;s:39:\"config:block.block.frontimagehighlight2\";i:11;s:32:\"config:block.block.frontpagehero\";i:12;s:39:\"config:block.block.frontpageprimeryaffs\";i:13;s:33:\"config:block.block.mainnavigation\";i:14;s:35:\"config:block.block.mainnavigation_2\";i:15;s:29:\"config:block.block.searchform\";i:16;s:31:\"config:block.block.sitebranding\";i:17;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:18;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:19;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:20;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:21;s:37:\"config:block.block.yaffs_account_menu\";i:22;s:33:\"config:block.block.yaffs_block_10\";i:23;s:32:\"config:block.block.yaffs_block_5\";i:24;s:32:\"config:block.block.yaffs_block_6\";i:25;s:32:\"config:block.block.yaffs_block_8\";i:26;s:32:\"config:block.block.yaffs_block_9\";i:27;s:36:\"config:block.block.yaffs_breadcrumbs\";i:28;s:32:\"config:block.block.yaffs_content\";i:29;s:29:\"config:block.block.yaffs_help\";i:30;s:36:\"config:block.block.yaffs_local_tasks\";i:31;s:33:\"config:block.block.yaffs_messages\";i:32;s:35:\"config:block.block.yaffs_page_title\";i:33;s:32:\"config:block.block.yaffs_user_21\";i:34;s:31:\"config:block.block.yaffsinspace\";i:35;s:17:\"config:block_list\";i:36;s:24:\"config:color.theme.yaffs\";i:37;s:30:\"config:filter.format.full_html\";i:38;s:29:\"config:filter.format.raw_html\";i:39;s:22:\"config:search.settings\";i:40;s:26:\"config:system.menu.account\";i:41;s:23:\"config:system.menu.main\";i:42;s:24:\"config:system.menu.tools\";i:43;s:18:\"config:system.site\";i:44;s:26:\"config:user.role.anonymous\";i:45;s:13:\"http_response\";i:46;s:8:\"rendered\";i:47;s:6:\"user:0\";}s:14:\"\0*\0cacheMaxAge\";i:0;}s:14:\"\0*\0attachments\";a:4:{s:7:\"library\";a:9:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:21:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:61:\"Page not found | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:18:\"https://yaffs.net/\";}}i:1;s:9:\"shortlink\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:18:\"https://yaffs.net/\";}}i:1;s:13:\"canonical_url\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:11:\"description\";}i:5;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:6;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:7;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:8;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:10;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:11;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:18;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:19;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:20;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:7:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:0:\"\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:0;s:15:\"currentLanguage\";s:2:\"en\";}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:1:{s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}}}',1519741789,1519738189.373,1,'4xx-response block_content:18 block_content:23 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:filter.format.full_html config:filter.format.raw_html config:search.settings config:system.menu.account config:system.menu.main config:system.menu.tools config:system.site config:user.role.anonymous http_response rendered user:0','4891'),('https://yaffs.net/archive/jffs2-and-nand-study:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Tue, 14 Nov 2017 13:39:35 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:4:\"MISS\";}s:4:\"link\";a:6:{i:0;s:48:\"</archive/jffs2-and-nand-study>; rel=\"canonical\"\";i:1;s:27:\"</node/41>; rel=\"shortlink\"\";i:2;s:47:\"</archive/jffs2-and-nand-study>; rel=\"revision\"\";i:3;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ozekku>; rel=preload; as=style\";i:4;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku>; rel=preload; as=style\";i:5;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Tue, 14 Nov 2017 13:39:35 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1510666775\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:22723:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"JFFS2 and NAND study | Yaffs - A Flash File System for embedded use\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"Discussion of the characteristics of NAND and NOR flash and how those interact with JFFS2 to produce significant boot-time delays and high RAM consumption, especially with large flash chips.\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n<link rel=\"canonical\" href=\"/archive/jffs2-and-nand-study\" />\n<link rel=\"shortlink\" href=\"/node/41\" />\n<link rel=\"revision\" href=\"/archive/jffs2-and-nand-study\" />\n\n    <title>JFFS2 and NAND study | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ozekku\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-node page-node-type-page navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n      \n\n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\"><span property=\"schema:name\">JFFS2 and NAND study</span>\n</h1>\n\n  <article role=\"article\" about=\"/archive/jffs2-and-nand-study\" typeof=\"schema:WebPage\" class=\"page full clearfix\">\n\n  \n      <span property=\"schema:name\" content=\"JFFS2 and NAND study\" class=\"hidden\"></span>\n\n\n  \n  <div class=\"content\">\n    \n            <div property=\"schema:text\" class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p>For the purposes of this discussion, the term NAND will mean both AND and NAND type flash memories, both sharing similar properties from a system perspective.</p>\n<h3>A bit of history -</h3>\n<p>History on my perspective, not the history of JFFS2.</p>\n<p>&nbsp;</p>\n<p>Some years ago I wrote a flash file system for Trimble. Trimble patented this system. This FFS runs on NOR flash and uses a concepts very similar to JFFS to overcome problems associated with Flash Translation Layers, FTLs and flash. This FFS was rigorously tested for block failure, stress tested in various ways and deliberately crashed with an emulator at critical stages to attempt to damage data integrity. The FFS held up to all this.</p>\n<p>Thus, when looking at JFFS2 I can immediately understand why certain things are being done and various benefits of this approach over FTLs.</p>\n<p>At first I thought that using an FTL would be better than JFFS2 for NAND because NAND has a different set of constraints. After a bit of analysis, I came around to thinking that using JFFS2 would still be better than an FTL mainly because JFFS2 dispenses with the need for a logical to physical translation layer.</p>\n<p>&nbsp;</p>\n<h3>NOR and NAND</h3>\n<p>The following table highlights some of the important properties of NOR and NAND flash. This table holds true for most devices, though there are some odd-ball devices out there.</p>\n<p>&nbsp;</p>\n<table border=\"1\" cellpadding=\"1\" style=\"border-spacing: 0px; width: 568px;\">\n<tbody>\n <tr valign=\"top\">\n  <td style=\"width: 281px;\">\n  <p><strong>NOR</strong></p>\n   </td>\n  <td style=\"width: 281px;\">\n  <p><strong>NAND</strong></p>\n   </td>\n </tr>\n <tr valign=\"top\">\n  <td style=\"width: 281px;\">\n  <p>Cost $HIGHER</p>\n   </td>\n  <td style=\"width: 281px;\">\n  <p>Cost LOWER</p>\n   </td>\n </tr>\n <tr valign=\"top\">\n  <td style=\"width: 281px;\">\n  <p>Low density (approx 8MB max device size)</p>\n   </td>\n  <td style=\"width: 281px;\">\n  <p>Higher density (approx 256MB max device size)</p>\n   </td>\n </tr>\n <tr valign=\"top\">\n  <td style=\"width: 281px;\">\n  <p>Linear random access:</p>\n  <ul>\n   <li>\n   <p>Like RAM</p>\n    </li>\n   <li>\n   <p>Can be used for XIP</p>\n    </li>\n  </ul>\n   </td>\n  <td style=\"width: 281px;\">\n  <p>Sector read/write:</p>\n  <ul>\n   <li>\n   <p>Almost like a disk.</p>\n    </li>\n   <li>\n   <p>Can\'t be used for XIP</p>\n    </li>\n  </ul>\n   </td>\n </tr>\n <tr valign=\"top\">\n  <td style=\"width: 281px;\">\n  <p>Structured as erasable blocks of 8kB to 128kB typical.</p>\n   </td>\n  <td style=\"width: 281px;\">\n  <p>Structured as erasable blocks of 32x512-byte pages. Each page has 16-bytes of extra management data.</p>\n   </td>\n </tr>\n <tr valign=\"top\">\n  <td style=\"width: 281px;\">\n  <p>Endurance 100k to 1M erasures</p>\n   </td>\n  <td style=\"width: 281px;\">\n  <p>Endurance 100k to 1M erasures</p>\n   </td>\n </tr>\n <tr valign=\"top\">\n  <td style=\"width: 281px;\">\n  <p>Erase time 1second/erasable block</p>\n   </td>\n  <td style=\"width: 281px;\">\n  <p>Erase time 2ms</p>\n   </td>\n </tr>\n <tr valign=\"top\">\n  <td style=\"width: 281px;\">\n  <p>Designed as ROM replacements</p>\n   </td>\n  <td style=\"width: 281px;\">\n  <p>Designed as mass storage replacements</p>\n   </td>\n </tr>\n <tr valign=\"top\">\n  <td style=\"width: 281px;\">\n  <p>Byte-by-byte programming allowing single-bit modification. Any single bit can be modified from a 1 to a 0 by programming that byte. However, the only way to modify a 0 to a 1 is to erase the entire erasable block.</p>\n   </td>\n  <td style=\"width: 281px;\">\n  <p>Page or partial-page programming. A page may be programmed a maximum number of times. After that number of times, the erasable block must be erased to allow further programming. Write operations can only modify 1s to 0s. Changing 0s to 1s requires an erasure.</p>\n   </td>\n </tr>\n <tr valign=\"top\">\n  <td style=\"width: 281px;\">\n  <p>Random access programming.</p>\n   </td>\n  <td style=\"width: 281px;\">\n  <p>Pages must be written sequentially within a block.</p>\n   </td>\n </tr>\n <tr valign=\"top\">\n  <td style=\"width: 281px;\">\n  <p>No bad blocks when delivered, but the devices wear out. Thus file systems should be fault tolerant.</p>\n   </td>\n  <td style=\"width: 281px;\">\n  <p>Bad blocks are expected when the devices are delivered. Further degradation is expected with use. Thus fault tolerance is an absolute necessity.</p>\n   </td>\n </tr>\n</tbody>\n</table>\n<p>&nbsp;</p>\n<p>It is important to note the various differences between NOR and NAND flash, because these are material in choosing the appropriate file systems for each. In particular:</p>\n<ul>\n<li>\n<p>The erasure times are very different. This impacts on the selection of appropriate garbage collection and erasure strategies. NOR\'s 1 second erasure time is significant and needs to be considered; NAND\'s 2msec erasure time is virtually insignificant.</p>\n </li>\n</ul>\n<ul>\n<li>\n<p>The programming access restrictions that apply to NAND do not apply to NOR.</p>\n </li>\n<li>\n<p>Errors are far more likely in NAND devices, therefore error detection and correction is highly desirable.</p>\n </li>\n<li>\n<p>NAND flash is arranged in pages/sectors of 512b and is inherently block structured.</p>\n </li>\n</ul>\n<p>Both families of flash technology have significant usage restrictions which require special consideration when using the devices for file storage:</p>\n<ul>\n<li>\n<p>All flash memory blocks can only endure a limited number of erasure cycles. Some wear levelling strategy is required to prevent often-used sectors wearing out faster.</p>\n </li>\n<li>\n<p>Sectors, are smaller than an erasable block. Thus, some garbage collection strategy is required to reclaim deleted/dirty sectors. To accomplish this, the \"good data\" must be copied off the selected block so that the whole block can be erased without losing data.</p>\n </li>\n<li>\n<p>If a part of a file needs to be overwritten, it is a limitation of flash memory that the new data cannot just overwrite the data at the same physical location. Instead the data must be written at a new location. Thus, some sort of logical to physical mapping layer (ie. FTL) or alternative data storage approach is required (eg. JFFS2). Such logical to physical decoupling is also required to perform garbage collection.</p>\n </li>\n</ul>\n<p>&nbsp;</p>\n<h3>Flash file systems in general</h3>\n<p>Flash file systems can essentially be implemented in two possible ways:</p>\n<ul>\n<li>\n<p>Custom-built file system. ie. the whole file system is designed so as to operate with flash memory. An example of this is JFFS2 or Microsoft FFS2.</p>\n </li>\n<li>\n<p>Use a standard file system with a custom block driver (ie Flash Translation Layer - FTL).</p>\n </li>\n</ul>\n<p>Each of these approaches have their pros and cons. FTLs are particularly suited to situations where the file system is pre-ordained; a custom file system is able to be more \"flash friendly\".</p>\n<h3>An appraisal of the JFFS2 file system</h3>\n<p>JFFS, and JFFS2, achieve the logical decoupling between logical file positions and physical memory by using journaling. For this to work, the entire file system must be designed to support journaling - as appropriate to flash memory. This is not excessively restrictive with non-removable media and embedded systems since there is no need to conform to a legacy file system layout.</p>\n<p>JFFS2 is designed to support NOR flash, but is currently not suited to NAND flash since it does not handle bad blocks. If this deficiency was addressed would it be a better choice for NAND than an FTL? Probably not directly, some other tweaks would be needed.</p>\n<p>Journaling is particularly useful: Garbage collection, bad block handling and the restrictions which prevent flash sectors being overwritten mean that data in flash file systems is forever being moved around. For FTLs this means storing logical to physical mappings. Journaling neatly sidesteps this overhead.</p>\n<p>One of the most thorny issues with flash file systems is that there are many patents covering both FTL-like block drivers and various approaches to custom file systems.</p>\n<p>These patents are particularly restrictive in FTL-like block drivers (especially the M-Systems patents). JFFS2 does not violate any patents I am aware of, but it probably comes quite close to some - particularly the Trimble one. Thus it is highly beneficial to have a GPL\'ed system that can be extended.</p>\n<h3>Work needed</h3>\n<p>The following effort is required to make JFFS2 work with NAND:</p>\n<ul>\n<li>\n<p>New MTDs for NAND flash. A new interface is probably required for NAND since many of the functions for NOR make no sense on NAND.</p>\n </li>\n</ul>\n<ul>\n<li>\n<p>Bad block handling. This could be handled in a NOR-specific layer, although it should really be generically supported since NOR can fail too.</p>\n </li>\n<li>\n<p>ECC for data security. Code available from Samsung www. This can be handled as part of the write and read. When a journaling node is written, it should be verified. If the data cannot be retrieved, then a new node is created.</p>\n </li>\n<li>\n<p>Fixed size journaling nodes (since NAND is page oriented with limited writes per page). This might make compression challenging - maybe compression can\'t be used with NAND? Anyway, fixed-size journaling nodes probably reduce fragmentation too (since there\'s an integer number of these per erasable block).</p>\n </li>\n</ul>\n<p>&nbsp;</p>\n<p>The following are possible improvements:</p>\n<ul>\n<li>\n<p>Tuning garbage collection/erasure strategies to suite NAND (eg. NAND erasure time is much faster). Using fixed-size nodes will probably strip out a chunk of code too.</p>\n </li>\n<li>\n<p>Attempting to use the spare 16 bytes per page for journalling tags (if there\'s a useful amount of space left after ECC and bad block management).</p>\n </li>\n</ul>\n<p>Thus, my preliminary suggestion would be to add a NAND sub-system to JFFS2. This subsystem would use the same journaling file system core. Fixing the size of journaling nodes to \"pages\" of 512 bytes quite likely simplifies the interfaces, node management and garbage collection.</p>\n<p>Error handling would fit within the NAND subsystem. Since NOR fails too, bad block handling is really required for NOR too. Whether the same management is appropriate for both is TBD. ECC is only required for NAND.</p>\n<p>&nbsp;</p>\n<p><a name=\"_1065327724\" id=\"_1065327724\"></a> <a name=\"_1065291949\" id=\"_1065291949\"><img border=\"0\" height=\"190\" src=\"/sites/yaffs.net/files/sv9379380.gif\" width=\"227\" alt=\"image\" /></a></p>\n<p><a name=\"_1065291949\"></a></p>\n<h3><a name=\"_1065291949\">References</a></h3>\n<p><a name=\"_1065291949\">Samsung and Toshiba NAND part data sheets and www. Samsung in particular has useful applications notes and code.</a></p>\n<p><a name=\"_1065291949\">JFFS2 presentation materials. http://sources.redhat.com/jffs2/</a></p>\n</div>\n      \n  </div>\n\n</article>\n\n\n  </div>\n\n              </section>\n\n                </div>\n  </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"node\\/41\",\"currentPathIsAdmin\":false,\"isFront\":false,\"currentLanguage\":\"en\"},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"route\";i:2;s:32:\"route.menu_active_trails:account\";i:3;s:29:\"route.menu_active_trails:main\";i:4;s:30:\"route.menu_active_trails:tools\";i:5;s:5:\"theme\";i:6;s:8:\"timezone\";i:7;s:3:\"url\";i:8;s:8:\"url.path\";i:9;s:17:\"url.path.is_front\";i:10;s:15:\"url.path.parent\";i:11;s:30:\"url.query_args:_wrapper_format\";i:12;s:4:\"user\";i:13;s:21:\"user.node_grants:view\";i:14;s:16:\"user.permissions\";i:15;s:10:\"user.roles\";i:16;s:20:\"user.roles:anonymous\";i:17;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:50:{i:0;s:16:\"block_content:18\";i:1;s:16:\"block_content:23\";i:2;s:15:\"block_content:7\";i:3;s:18:\"block_content_view\";i:4;s:10:\"block_view\";i:5;s:32:\"config:block.block.choosingyaffs\";i:6;s:29:\"config:block.block.cookieinfo\";i:7;s:32:\"config:block.block.downloadyaffs\";i:8;s:30:\"config:block.block.footerlegal\";i:9;s:39:\"config:block.block.frontimagehighlight2\";i:10;s:32:\"config:block.block.frontpagehero\";i:11;s:39:\"config:block.block.frontpageprimeryaffs\";i:12;s:33:\"config:block.block.mainnavigation\";i:13;s:35:\"config:block.block.mainnavigation_2\";i:14;s:29:\"config:block.block.searchform\";i:15;s:31:\"config:block.block.sitebranding\";i:16;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:17;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:18;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:19;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:20;s:37:\"config:block.block.yaffs_account_menu\";i:21;s:33:\"config:block.block.yaffs_block_10\";i:22;s:32:\"config:block.block.yaffs_block_5\";i:23;s:32:\"config:block.block.yaffs_block_6\";i:24;s:32:\"config:block.block.yaffs_block_8\";i:25;s:32:\"config:block.block.yaffs_block_9\";i:26;s:36:\"config:block.block.yaffs_breadcrumbs\";i:27;s:32:\"config:block.block.yaffs_content\";i:28;s:29:\"config:block.block.yaffs_help\";i:29;s:36:\"config:block.block.yaffs_local_tasks\";i:30;s:33:\"config:block.block.yaffs_messages\";i:31;s:35:\"config:block.block.yaffs_page_title\";i:32;s:32:\"config:block.block.yaffs_user_21\";i:33;s:31:\"config:block.block.yaffsinspace\";i:34;s:17:\"config:block_list\";i:35;s:24:\"config:color.theme.yaffs\";i:36;s:30:\"config:filter.format.full_html\";i:37;s:29:\"config:filter.format.raw_html\";i:38;s:22:\"config:search.settings\";i:39;s:26:\"config:system.menu.account\";i:40;s:23:\"config:system.menu.main\";i:41;s:24:\"config:system.menu.tools\";i:42;s:18:\"config:system.site\";i:43;s:26:\"config:user.role.anonymous\";i:44;s:13:\"http_response\";i:45;s:7:\"node:41\";i:46;s:9:\"node_view\";i:47;s:8:\"rendered\";i:48;s:6:\"user:0\";i:49;s:6:\"user:4\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:5:{s:7:\"library\";a:9:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:22:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:67:\"JFFS2 and NAND study | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:190:\"Discussion of the characteristics of NAND and NOR flash and how those interact with JFFS2 to produce significant boot-time delays and high RAM consumption, especially with large flash chips.\";}}i:1;s:11:\"description\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:5;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:6;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:7;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:8;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:10;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:11;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:18;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}i:19;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:29:\"/archive/jffs2-and-nand-study\";}}i:1;s:54:\"html_head_link:canonical:/archive/jffs2-and-nand-study\";}i:20;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:8:\"/node/41\";}}i:1;s:33:\"html_head_link:shortlink:/node/41\";}i:21;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:29:\"/archive/jffs2-and-nand-study\";}}i:1;s:53:\"html_head_link:revision:/archive/jffs2-and-nand-study\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:7:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:7:\"node/41\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:0;s:15:\"currentLanguage\";s:2:\"en\";}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:1:{s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}s:11:\"http_header\";a:3:{i:0;a:3:{i:0;s:4:\"Link\";i:1;s:48:\"</archive/jffs2-and-nand-study>; rel=\"canonical\"\";i:2;b:0;}i:1;a:3:{i:0;s:4:\"Link\";i:1;s:27:\"</node/41>; rel=\"shortlink\"\";i:2;b:0;}i:2;a:3:{i:0;s:4:\"Link\";i:1;s:47:\"</archive/jffs2-and-nand-study>; rel=\"revision\"\";i:2;b:0;}}}}',-1,1510666775.788,1,'block_content:18 block_content:23 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:filter.format.full_html config:filter.format.raw_html config:search.settings config:system.menu.account config:system.menu.main config:system.menu.tools config:system.site config:user.role.anonymous http_response node:41 node_view rendered user:0 user:4','3162'),('https://yaffs.net/archives/fuel-embedded-database-use-yaffs:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Wed, 15 Nov 2017 00:04:33 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:4:\"MISS\";}s:4:\"link\";a:6:{i:0;s:61:\"</archives/fuel-embedded-database-use-yaffs>; rel=\"canonical\"\";i:1;s:28:\"</node/342>; rel=\"shortlink\"\";i:2;s:60:\"</archives/fuel-embedded-database-use-yaffs>; rel=\"revision\"\";i:3;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ozekku>; rel=preload; as=style\";i:4;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku>; rel=preload; as=style\";i:5;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Wed, 15 Nov 2017 00:04:31 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1510704271\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:14974:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"FUEL Embedded Database for use with YAFFS | Yaffs - A Flash File System for embedded use\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"YAFFS and the new FUEL Database from ITTIA work together. ITTIA has released the first beta of an all-new database for mobile and embedded systems. \" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n<link rel=\"canonical\" href=\"/archives/fuel-embedded-database-use-yaffs\" />\n<link rel=\"shortlink\" href=\"/node/342\" />\n<link rel=\"revision\" href=\"/archives/fuel-embedded-database-use-yaffs\" />\n\n    <title>FUEL Embedded Database for use with YAFFS | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ozekku\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-node page-node-type-page navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n      \n\n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\"><span property=\"schema:name\">FUEL Embedded Database for use with YAFFS</span>\n</h1>\n\n  <article role=\"article\" about=\"/archives/fuel-embedded-database-use-yaffs\" typeof=\"schema:WebPage\" class=\"page full clearfix\">\n\n  \n      <span property=\"schema:name\" content=\"FUEL Embedded Database for use with YAFFS\" class=\"hidden\"></span>\n\n\n  \n  <div class=\"content\">\n    \n            <div property=\"schema:text\" class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p>DB FUEL and YAFFS team up to offer new generation of database and flash memory solutions for developers of Mobile Handsets and Consumer Electronics.</p>\n<p>Revolutions in flash memory technology have greatly increased the practical uses of flash technology. Aleph One Ltd, a British company focusing on embedded device development, has released YAFFS, a superior file system for storing data on flash. ITTIA is partnering with Aleph One to provide the best data solution for embedded devices requiring persistent storage. The companies have confirmed compatibility between their product lines and will work together to promote the use of their technologies.</p>\n<p>Mobile devices and embedded systems that need to store persistent information have a limited number of choices. The shock resistance, power usage and smaller form factor makes flash memory a superior storage medium in most cases. However, developers using flash face some unique challenges. For example, too many writes to the same location on the flash disk can render that location inoperable. Developers must take these and other characteristics into consideration. In order to help developers overcome these challenges, YAFFS can either be used as a filesystem driver in the operating system, or be linked directly with FUEL to bypass the operating system – even if no operating system is available. This arrangement ensures that data is stored in an optimal format to take advantage of flash memory.</p>\n<p>“We developed YAFFS to provide a high reliability/high performance embedded file system on NAND flash and are delighted that YAFFS has been selected by ITTIA as a partner for their FUEL database,” said Laurie van Someren, Aleph One’s General Manager. “We believe the products combine to provide a highly effective embedded data storage solution and look forward to further cooperation and developments.”</p>\n<p>FUEL has been designed with enough flexibility to support the unique circumstances faced by embedded developers, such as persistent storage on a battery-powered (unreliably powered) device. Because FUEL is fast and small-footprint, it is a perfect match for mobile devices and embedded systems.</p>\n<p>ITTIA and Aleph One are a natural match for other reasons as well. Both companies have a commitment to provide top-notch support at whatever level the customer needs, and can provide development services and support to ensure an optimal solution. “We begin 2006 by emphasizing on meaningful business relationship and we are delighted to announce our solution offering with Aleph One,” said Sasan Montaseri, President of ITTIA, in Bellevue, WA. “Aleph One has served the embedded market for many years and our total solution add special value to our customers.”</p>\n<p>For more information about FUEL, visit <a href=\"http://www.ITTIA.com/fuel/fuel.html\">www.ITTIA.com/fuel/fuel.html</a>.</p>\n<p>For more information about YAFFS, visit <a href=\"http://www.yaffs.net\">www.yaffs.net</a></p>\n</div>\n      \n  </div>\n\n</article>\n\n\n  </div>\n\n              </section>\n\n                </div>\n  </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"node\\/342\",\"currentPathIsAdmin\":false,\"isFront\":false,\"currentLanguage\":\"en\"},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"route\";i:2;s:32:\"route.menu_active_trails:account\";i:3;s:29:\"route.menu_active_trails:main\";i:4;s:30:\"route.menu_active_trails:tools\";i:5;s:5:\"theme\";i:6;s:8:\"timezone\";i:7;s:3:\"url\";i:8;s:8:\"url.path\";i:9;s:17:\"url.path.is_front\";i:10;s:15:\"url.path.parent\";i:11;s:30:\"url.query_args:_wrapper_format\";i:12;s:4:\"user\";i:13;s:21:\"user.node_grants:view\";i:14;s:16:\"user.permissions\";i:15;s:10:\"user.roles\";i:16;s:20:\"user.roles:anonymous\";i:17;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:50:{i:0;s:16:\"block_content:18\";i:1;s:16:\"block_content:23\";i:2;s:15:\"block_content:7\";i:3;s:18:\"block_content_view\";i:4;s:10:\"block_view\";i:5;s:32:\"config:block.block.choosingyaffs\";i:6;s:29:\"config:block.block.cookieinfo\";i:7;s:32:\"config:block.block.downloadyaffs\";i:8;s:30:\"config:block.block.footerlegal\";i:9;s:39:\"config:block.block.frontimagehighlight2\";i:10;s:32:\"config:block.block.frontpagehero\";i:11;s:39:\"config:block.block.frontpageprimeryaffs\";i:12;s:33:\"config:block.block.mainnavigation\";i:13;s:35:\"config:block.block.mainnavigation_2\";i:14;s:29:\"config:block.block.searchform\";i:15;s:31:\"config:block.block.sitebranding\";i:16;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:17;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:18;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:19;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:20;s:37:\"config:block.block.yaffs_account_menu\";i:21;s:33:\"config:block.block.yaffs_block_10\";i:22;s:32:\"config:block.block.yaffs_block_5\";i:23;s:32:\"config:block.block.yaffs_block_6\";i:24;s:32:\"config:block.block.yaffs_block_8\";i:25;s:32:\"config:block.block.yaffs_block_9\";i:26;s:36:\"config:block.block.yaffs_breadcrumbs\";i:27;s:32:\"config:block.block.yaffs_content\";i:28;s:29:\"config:block.block.yaffs_help\";i:29;s:36:\"config:block.block.yaffs_local_tasks\";i:30;s:33:\"config:block.block.yaffs_messages\";i:31;s:35:\"config:block.block.yaffs_page_title\";i:32;s:32:\"config:block.block.yaffs_user_21\";i:33;s:31:\"config:block.block.yaffsinspace\";i:34;s:17:\"config:block_list\";i:35;s:24:\"config:color.theme.yaffs\";i:36;s:30:\"config:filter.format.full_html\";i:37;s:29:\"config:filter.format.raw_html\";i:38;s:22:\"config:search.settings\";i:39;s:26:\"config:system.menu.account\";i:40;s:23:\"config:system.menu.main\";i:41;s:24:\"config:system.menu.tools\";i:42;s:18:\"config:system.site\";i:43;s:26:\"config:user.role.anonymous\";i:44;s:13:\"http_response\";i:45;s:8:\"node:342\";i:46;s:9:\"node_view\";i:47;s:8:\"rendered\";i:48;s:6:\"user:0\";i:49;s:6:\"user:4\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:5:{s:7:\"library\";a:9:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:22:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:88:\"FUEL Embedded Database for use with YAFFS | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:149:\"YAFFS and the new FUEL Database from ITTIA work together. ITTIA has released the first beta of an all-new database for mobile and embedded systems. \";}}i:1;s:11:\"description\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:5;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:6;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:7;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:8;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:10;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:11;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:18;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}i:19;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:42:\"/archives/fuel-embedded-database-use-yaffs\";}}i:1;s:67:\"html_head_link:canonical:/archives/fuel-embedded-database-use-yaffs\";}i:20;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:9:\"/node/342\";}}i:1;s:34:\"html_head_link:shortlink:/node/342\";}i:21;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:42:\"/archives/fuel-embedded-database-use-yaffs\";}}i:1;s:66:\"html_head_link:revision:/archives/fuel-embedded-database-use-yaffs\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:7:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:8:\"node/342\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:0;s:15:\"currentLanguage\";s:2:\"en\";}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:1:{s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}s:11:\"http_header\";a:3:{i:0;a:3:{i:0;s:4:\"Link\";i:1;s:61:\"</archives/fuel-embedded-database-use-yaffs>; rel=\"canonical\"\";i:2;b:0;}i:1;a:3:{i:0;s:4:\"Link\";i:1;s:28:\"</node/342>; rel=\"shortlink\"\";i:2;b:0;}i:2;a:3:{i:0;s:4:\"Link\";i:1;s:60:\"</archives/fuel-embedded-database-use-yaffs>; rel=\"revision\"\";i:2;b:0;}}}}',-1,1510704273.437,1,'block_content:18 block_content:23 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:filter.format.full_html config:filter.format.raw_html config:search.settings config:system.menu.account config:system.menu.main config:system.menu.tools config:system.site config:user.role.anonymous http_response node:342 node_view rendered user:0 user:4','3161'),('https://yaffs.net/archives/howto-incorporate-yaffs-linux:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Tue, 14 Nov 2017 12:50:07 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:4:\"MISS\";}s:4:\"link\";a:6:{i:0;s:58:\"</archives/howto-incorporate-yaffs-linux>; rel=\"canonical\"\";i:1;s:27:\"</node/40>; rel=\"shortlink\"\";i:2;s:57:\"</archives/howto-incorporate-yaffs-linux>; rel=\"revision\"\";i:3;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ozekku>; rel=preload; as=style\";i:4;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku>; rel=preload; as=style\";i:5;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Tue, 14 Nov 2017 12:50:07 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1510663807\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:16699:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"HOWTO incorporate YAFFS in Linux | Yaffs - A Flash File System for embedded use\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"Simple HOWTO for getting started with YAFFS and using it as a root filesystem. If you just want the quick start info - read this.\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n<link rel=\"canonical\" href=\"/archives/howto-incorporate-yaffs-linux\" />\n<link rel=\"shortlink\" href=\"/node/40\" />\n<link rel=\"revision\" href=\"/archives/howto-incorporate-yaffs-linux\" />\n\n    <title>HOWTO incorporate YAFFS in Linux | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ozekku\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-node page-node-type-page navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n      \n\n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\"><span property=\"schema:name\">HOWTO incorporate YAFFS in Linux</span>\n</h1>\n\n  <article role=\"article\" about=\"/archives/howto-incorporate-yaffs-linux\" typeof=\"schema:WebPage\" class=\"page is-sticky full clearfix\">\n\n  \n      <span property=\"schema:name\" content=\"HOWTO incorporate YAFFS in Linux\" class=\"hidden\"></span>\n\n\n  \n  <div class=\"content\">\n    \n            <div property=\"schema:text\" class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<h1>Brief HOWTO on incorporating yaffs as a root fs.</h1>\n<h4>By N C Bane &lt;<a href=\"denied:mailto:nick@cecomputing.co.uk\">nick@cecomputing.co.uk</a>&gt;</h4>\n<h3>Document status</h3>\n<p>This document is very much work in progress. It currently refers to YAFFS1 and needs updating for YAFFS2. It has been edited by different people with no attempt to keep a consistent style. Beauty will come with age. </p>\n<h2>What is yaffs?</h2>\n<p>Yaffs stands for Yet Another Flash Filing System. </p>\n<p>It is a journaling filesystem designed to run on NAND flash with special reference to embedded systems. </p>\n<h2>Why would I want to use it?</h2>\n<p>NAND flash (SmartMedia cards are repackaged raw NAND chips) is cheap and has a fast erase time as compared with NOR flash. </p>\n<p>The NAND physical interface is very simple. </p>\n<p>The small size and low current requirements make it very suitable for embedded systems. </p>\n<p>However, NAND has its problems. These are mainly due to bad block management as blocks of memory can be bad when the device is shipped and further blocks can become unusable over time. </p>\n<p>Power can die unpredictably in embedded systems leading to data loss and possibly file system corruption. </p>\n<p>This is where yaffs comes in; it handles bad blocks and uses formats which are resistant to corruption. </p>\n<h2>What do I need to know?</h2>\n<p>It is assumed that the reader has a development system with direct access to NAND flash (ie not a CF/SmartMedia adaptor which). </p>\n<p>The user should be familiar with building linux kernels and patching build trees. </p>\n<p>It is strongly suggested that you also read more about NAND flash on the Linux mtd site. </p>\n<h3>Assumptions:</h3>\n<p>You have already downloaded the yaffs sources from the cvs at Aleph1. </p>\n<p>You have mtd code that exposes NAND as an mtdblock device. </p>\n<h3>Nand interface:</h3>\n<p>For yaffs to function, it must be able to be the only code that writes to the oob area on the NAND device. </p>\n<p>The existing NAND driver in kernel 2.4.19 assumes that it will do the ecc/oob management for the host fs. For yaffs, this is quite wrong. </p>\n<p>You can disable ecc/oob calculations either by hand patching the mtd code to bypass ecc calculations or by merging the latest mtd cvs. </p>\n<p>The patches at <a href=\"http://www.toby-churchill.org\">http://www.toby-churchill.org</a> have done the latter. </p>\n<h3>Including yaffs as a kernel fs:</h3>\n<p>1) Create [linux]/fs/yaffs directory in your kernel test source. </p>\n<p>2) Copy devextras.h yaffs_fs.c yaffs_gets.c yaffs_guts.h yaffs_mtdif.c yaffs_mtdif.h yaffsinterface.h and yportenv.h from the yaffs sources to that directory. </p>\n<p>3) Copy the Makefile from either the yaffs sources (Makefile.kernel) or the Balloon download site below to [linux]/fs/yaffs/Makefile. </p>\n<p>4) Modify [linux]/fs/Config.in to include the 3 lines </p>\n<p><br />\n</p>\n<p>if [ &quot;CONFIG_MTD_NAND&quot; = &quot;y&quot; ]; then </p>\n<p>tristate &quot;Yaffs filesystem on NAND&quot; CONFIG_YAFFS_FS </p>\n<p>fi </p>\n<p>5) Modify [linux]/fs/Makefile to include the yaffs fs reference </p>\n<p><br />\n</p>\n<p>subdir-$(CONFIG_YAFFS_FS) +=yaffs </p>\n<p><br />\n</p>\n<p>6) Configure the kernel to include (not modules) all the mtd nand code (incl nand_ecc and mtdblock device) and yaffs fs. </p>\n<p>You should now be able to build a kernel with yaffs as a root fs using the normal tools. </p>\n<h3>Creating a bootable yaffs partition:</h3>\n<p>You can </p>\n<p>1) Create the partition by mounting it from a running linux os and copying the data there. The mkyaffs utility in the yaffs source simply erases a NAND mtdblock device without removing bad block data. </p>\n<p>2) Make and download a filesystem image. The mkyaffsimage utility that came with the sources will create a YAFFS block list in a file from a root tree. This is a list of 512+16 byte blocks that need to be placed (in any order) on a NAND device. </p>\n<p>You will need to write code to copy these data blocks and add in the block numbers in the oob areas. </p>\n<p>Examples of a modified handhelds.org bootldr for the Balloon board can be found on the toby-churchill.org website. </p>\n<h3>Booting into yaffs:</h3>\n<p>Modify your bootloader to pass a command line to linux to specifying the mtdblock/n that refers to the root partition. </p>\n<p>&nbsp; </p>\n<p>Balloon page at <a href=\"http://www.toby-churchill.org.uk\">http://www.toby-churchill.org.uk</a> </p>\n<p>Yaffs mailing list - to join go to <a href=\"http://stoneboat.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs\">http://stoneboat.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs</a> and enter your email address </p>\n<p>Linux MTD <a href=\"http://www.linux-mtd.infradead.org/\">http://www.linux-mtd.infradead.org/</a> </p>\n<p>$Id$ </p>\n</div>\n      \n  </div>\n\n</article>\n\n\n  </div>\n\n              </section>\n\n                </div>\n  </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"node\\/40\",\"currentPathIsAdmin\":false,\"isFront\":false,\"currentLanguage\":\"en\"},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"route\";i:2;s:32:\"route.menu_active_trails:account\";i:3;s:29:\"route.menu_active_trails:main\";i:4;s:30:\"route.menu_active_trails:tools\";i:5;s:5:\"theme\";i:6;s:8:\"timezone\";i:7;s:3:\"url\";i:8;s:8:\"url.path\";i:9;s:17:\"url.path.is_front\";i:10;s:15:\"url.path.parent\";i:11;s:30:\"url.query_args:_wrapper_format\";i:12;s:4:\"user\";i:13;s:21:\"user.node_grants:view\";i:14;s:16:\"user.permissions\";i:15;s:10:\"user.roles\";i:16;s:20:\"user.roles:anonymous\";i:17;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:50:{i:0;s:16:\"block_content:18\";i:1;s:16:\"block_content:23\";i:2;s:15:\"block_content:7\";i:3;s:18:\"block_content_view\";i:4;s:10:\"block_view\";i:5;s:32:\"config:block.block.choosingyaffs\";i:6;s:29:\"config:block.block.cookieinfo\";i:7;s:32:\"config:block.block.downloadyaffs\";i:8;s:30:\"config:block.block.footerlegal\";i:9;s:39:\"config:block.block.frontimagehighlight2\";i:10;s:32:\"config:block.block.frontpagehero\";i:11;s:39:\"config:block.block.frontpageprimeryaffs\";i:12;s:33:\"config:block.block.mainnavigation\";i:13;s:35:\"config:block.block.mainnavigation_2\";i:14;s:29:\"config:block.block.searchform\";i:15;s:31:\"config:block.block.sitebranding\";i:16;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:17;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:18;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:19;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:20;s:37:\"config:block.block.yaffs_account_menu\";i:21;s:33:\"config:block.block.yaffs_block_10\";i:22;s:32:\"config:block.block.yaffs_block_5\";i:23;s:32:\"config:block.block.yaffs_block_6\";i:24;s:32:\"config:block.block.yaffs_block_8\";i:25;s:32:\"config:block.block.yaffs_block_9\";i:26;s:36:\"config:block.block.yaffs_breadcrumbs\";i:27;s:32:\"config:block.block.yaffs_content\";i:28;s:29:\"config:block.block.yaffs_help\";i:29;s:36:\"config:block.block.yaffs_local_tasks\";i:30;s:33:\"config:block.block.yaffs_messages\";i:31;s:35:\"config:block.block.yaffs_page_title\";i:32;s:32:\"config:block.block.yaffs_user_21\";i:33;s:31:\"config:block.block.yaffsinspace\";i:34;s:17:\"config:block_list\";i:35;s:24:\"config:color.theme.yaffs\";i:36;s:30:\"config:filter.format.full_html\";i:37;s:29:\"config:filter.format.raw_html\";i:38;s:22:\"config:search.settings\";i:39;s:26:\"config:system.menu.account\";i:40;s:23:\"config:system.menu.main\";i:41;s:24:\"config:system.menu.tools\";i:42;s:18:\"config:system.site\";i:43;s:26:\"config:user.role.anonymous\";i:44;s:13:\"http_response\";i:45;s:7:\"node:40\";i:46;s:9:\"node_view\";i:47;s:8:\"rendered\";i:48;s:6:\"user:0\";i:49;s:6:\"user:1\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:5:{s:7:\"library\";a:9:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:22:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:79:\"HOWTO incorporate YAFFS in Linux | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:129:\"Simple HOWTO for getting started with YAFFS and using it as a root filesystem. If you just want the quick start info - read this.\";}}i:1;s:11:\"description\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:5;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:6;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:7;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:8;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:10;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:11;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:18;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}i:19;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:39:\"/archives/howto-incorporate-yaffs-linux\";}}i:1;s:64:\"html_head_link:canonical:/archives/howto-incorporate-yaffs-linux\";}i:20;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:8:\"/node/40\";}}i:1;s:33:\"html_head_link:shortlink:/node/40\";}i:21;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:39:\"/archives/howto-incorporate-yaffs-linux\";}}i:1;s:63:\"html_head_link:revision:/archives/howto-incorporate-yaffs-linux\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:7:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:7:\"node/40\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:0;s:15:\"currentLanguage\";s:2:\"en\";}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:1:{s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}s:11:\"http_header\";a:3:{i:0;a:3:{i:0;s:4:\"Link\";i:1;s:58:\"</archives/howto-incorporate-yaffs-linux>; rel=\"canonical\"\";i:2;b:0;}i:1;a:3:{i:0;s:4:\"Link\";i:1;s:27:\"</node/40>; rel=\"shortlink\"\";i:2;b:0;}i:2;a:3:{i:0;s:4:\"Link\";i:1;s:57:\"</archives/howto-incorporate-yaffs-linux>; rel=\"revision\"\";i:2;b:0;}}}}',-1,1510663808.011,1,'block_content:18 block_content:23 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:filter.format.full_html config:filter.format.raw_html config:search.settings config:system.menu.account config:system.menu.main config:system.menu.tools config:system.site config:user.role.anonymous http_response node:40 node_view rendered user:0 user:1','3165'),('https://yaffs.net/archives/paper-investigating-log-management-crash-recovery-mechanism:html','O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:14:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";s:22:\"x-drupal-dynamic-cache\";s:22:\"X-Drupal-Dynamic-Cache\";s:4:\"link\";s:4:\"Link\";s:15:\"x-ua-compatible\";s:15:\"X-UA-Compatible\";s:16:\"content-language\";s:16:\"Content-language\";s:22:\"x-content-type-options\";s:22:\"X-Content-Type-Options\";s:15:\"x-frame-options\";s:15:\"X-Frame-Options\";s:7:\"expires\";s:7:\"Expires\";s:13:\"last-modified\";s:13:\"Last-Modified\";s:4:\"etag\";s:4:\"ETag\";s:4:\"vary\";s:4:\"Vary\";s:11:\"x-generator\";s:11:\"X-Generator\";}s:10:\"\0*\0headers\";a:14:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:19:\"max-age=300, public\";}s:4:\"date\";a:1:{i:0;s:29:\"Thu, 16 Nov 2017 21:41:15 GMT\";}s:22:\"x-drupal-dynamic-cache\";a:1:{i:0;s:4:\"MISS\";}s:4:\"link\";a:6:{i:0;s:88:\"</archives/paper-investigating-log-management-crash-recovery-mechanism>; rel=\"canonical\"\";i:1;s:28:\"</node/360>; rel=\"shortlink\"\";i:2;s:87:\"</archives/paper-investigating-log-management-crash-recovery-mechanism>; rel=\"revision\"\";i:3;s:108:\"</sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ozekku>; rel=preload; as=style\";i:4;s:108:\"</sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku>; rel=preload; as=style\";i:5;s:99:\"</sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js>; rel=preload; as=script\";}s:15:\"x-ua-compatible\";a:1:{i:0;s:7:\"IE=edge\";}s:16:\"content-language\";a:1:{i:0;s:2:\"en\";}s:22:\"x-content-type-options\";a:1:{i:0;s:7:\"nosniff\";}s:15:\"x-frame-options\";a:1:{i:0;s:10:\"SAMEORIGIN\";}s:7:\"expires\";a:1:{i:0;s:29:\"Sun, 19 Nov 1978 05:00:00 GMT\";}s:13:\"last-modified\";a:1:{i:0;s:29:\"Thu, 16 Nov 2017 21:41:14 GMT\";}s:4:\"etag\";a:1:{i:0;s:12:\"\"1510868474\"\";}s:4:\"vary\";a:1:{i:0;s:6:\"Cookie\";}s:11:\"x-generator\";a:1:{i:0;s:33:\"Drupal 8 (https://www.drupal.org)\";}}s:15:\"\0*\0cacheControl\";a:2:{s:7:\"max-age\";s:3:\"300\";s:6:\"public\";b:1;}}s:10:\"\0*\0content\";s:12673:\"<!DOCTYPE html>\n<html  lang=\"en\" dir=\"ltr\" prefix=\"content: http://purl.org/rss/1.0/modules/content/  dc: http://purl.org/dc/terms/  foaf: http://xmlns.com/foaf/0.1/  og: http://ogp.me/ns#  rdfs: http://www.w3.org/2000/01/rdf-schema#  schema: http://schema.org/  sioc: http://rdfs.org/sioc/ns#  sioct: http://rdfs.org/sioc/types#  skos: http://www.w3.org/2004/02/skos/core#  xsd: http://www.w3.org/2001/XMLSchema# \">\n  <head>\n    <meta charset=\"utf-8\" />\n<meta name=\"title\" content=\"Paper investigating a log management &amp; crash recovery mechanism | Yaffs - A Flash File System for embedded use\" />\n<meta name=\"news_keywords\" content=\"Flash File System\" />\n<meta name=\"description\" content=\"This provides a link to a PDF of a paper by Taiwanese scholars.\" />\n<meta name=\"abstract\" content=\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\" />\n<meta name=\"keywords\" content=\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\" />\n<meta name=\"Generator\" content=\"Drupal 8 (https://www.drupal.org)\" />\n<meta name=\"MobileOptimized\" content=\"width\" />\n<meta name=\"HandheldFriendly\" content=\"true\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\" media=\"all\" />\n<link rel=\"shortcut icon\" href=\"/sites/default/files/yaffs_favicon.png\" type=\"image/png\" />\n<link rel=\"canonical\" href=\"/archives/paper-investigating-log-management-crash-recovery-mechanism\" />\n<link rel=\"shortlink\" href=\"/node/360\" />\n<link rel=\"revision\" href=\"/archives/paper-investigating-log-management-crash-recovery-mechanism\" />\n\n    <title>Paper investigating a log management &amp; crash recovery mechanism | Yaffs - A Flash File System for embedded use</title>\n    <link rel=\"stylesheet\" href=\"/sites/default/files/css/css_YGKHk3qOgVcGqV_6s_kZUGJkGYQEouHb462Ja18qfRA.css?ozekku\" media=\"all\" />\n<link rel=\"stylesheet\" href=\"/sites/default/files/css/css_6qeLA6GBkZNPHWp9GdQIYovV3tYuKU-ts-HicZ-WeQQ.css?ozekku\" media=\"all\" />\n\n    \n<!--[if lte IE 8]>\n<script src=\"/sites/default/files/js/js_VtafjXmRvoUgAzqzYTA3Wrjkx9wcWhjP0G4ZnnqRamA.js\"></script>\n<![endif]-->\n\n  </head>\n  <body class=\"fontyourface path-node page-node-type-article navbar-is-fixed-top has-glyphicons\">\n    <a href=\"#main-content\" class=\"visually-hidden focusable skip-link\">\n      Skip to main content\n    </a>\n    <div style=\"background-color: ; color: \" id=\"environment-indicator\">\n  \n    </div>\n\n              <header class=\"navbar navbar-default navbar-fixed-top\" id=\"navbar\" role=\"banner\">\n              <div class=\"container\">\n            <div class=\"navbar-header\">\n          <div class=\"region region-navigation\">\n          <a class=\"logo navbar-btn pull-left\" href=\"/\" title=\"Home\" rel=\"home\">\n      <img src=\"/themes/custom/yaffs/logo.svg\" alt=\"Home\" />\n    </a>\n      \n  </div>\n\n                          <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\"#navbar-collapse\">\n            <span class=\"sr-only\">Toggle navigation</span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n            <span class=\"icon-bar\"></span>\n          </button>\n              </div>\n\n                    <div id=\"navbar-collapse\" class=\"navbar-collapse collapse\">\n            <div class=\"region region-navigation-collapsible\">\n    <nav role=\"navigation\" aria-labelledby=\"block-mainnavigation-menu\" id=\"block-mainnavigation\">\n            <h2 class=\"sr-only\" id=\"block-mainnavigation-menu\">Main navigation</h2>\n\n      \n              <ul class=\"menu nav navbar-nav\">\n                            <li>\n        <a href=\"/\" data-drupal-link-system-path=\"&lt;front&gt;\">Home</a>\n                  </li>\n                        <li>\n        <a href=\"/support\" title=\"Help for Yaffs\" data-drupal-link-system-path=\"node/380\">Support</a>\n                  </li>\n                        <li>\n        <a href=\"/documents\" data-drupal-link-system-path=\"documents\">Documents</a>\n                  </li>\n                        <li>\n        <a href=\"/get-yaffs\" data-drupal-link-system-path=\"node/382\">Download</a>\n                  </li>\n                        <li>\n        <a href=\"/about-us\" data-drupal-link-system-path=\"node/325\">About us</a>\n                  </li>\n                        <li>\n        <a href=\"/contact\" data-drupal-link-system-path=\"node/73\">Contact</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n<div class=\"search-block-form block block-search block-search-form-block\" data-drupal-selector=\"search-block-form\" id=\"block-searchform\" role=\"search\">\n  \n    \n      <form action=\"/search/node\" method=\"get\" id=\"search-block-form\" accept-charset=\"UTF-8\">\n  <div class=\"form-item js-form-item form-type-search js-form-type-search form-item-keys js-form-item-keys form-no-label form-group\">\n      <label for=\"edit-keys\" class=\"control-label sr-only\">Search</label>\n  \n  \n  <div class=\"input-group\"><input title=\"Enter the terms you wish to search for.\" data-drupal-selector=\"edit-keys\" class=\"form-search form-control\" placeholder=\"Search\" type=\"search\" id=\"edit-keys\" name=\"keys\" value=\"\" size=\"15\" maxlength=\"128\" data-toggle=\"tooltip\" /><span class=\"input-group-btn\"><button type=\"submit\" value=\"Search\" class=\"button js-form-submit form-submit btn-primary btn icon-only\" name=\"\"><span class=\"sr-only\">Search</span><span class=\"icon glyphicon glyphicon-search\" aria-hidden=\"true\"></span></button></span></div>\n\n  \n  \n  </div>\n<div class=\"form-actions form-group js-form-wrapper form-wrapper\" data-drupal-selector=\"edit-actions\" id=\"edit-actions\"></div>\n\n</form>\n\n  </div>\n\n  </div>\n\n        </div>\n                    </div>\n          </header>\n  \n  <div role=\"main\" class=\"main-container container js-quickedit-main-content\">\n    <div class=\"row\">\n\n            \n            \n                  <section class=\"col-sm-12\">\n\n                                      <div class=\"highlighted\">  <div class=\"region region-highlighted\">\n      \n\n\n  </div>\n</div>\n                  \n                \n                \n                                      \n                  \n                          <a id=\"main-content\"></a>\n            <div class=\"region region-content\">\n        <h1 class=\"page-header\"><span property=\"schema:name\">Paper investigating a log management &amp; crash recovery mechanism</span>\n</h1>\n\n  <article role=\"article\" about=\"/archives/paper-investigating-log-management-crash-recovery-mechanism\" typeof=\"schema:Article\" class=\"article full clearfix\">\n\n  \n      <span property=\"schema:name\" content=\"Paper investigating a log management &amp; crash recovery mechanism\" class=\"hidden\"></span>\n\n\n  \n  <div class=\"content\">\n    \n            <div property=\"schema:text\" class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\"><p><a href=\"http://www.cis.nctu.edu.tw/~lpchang/papers/SAC_wu_sac06.pdf\">This paper</a> proposes a method for efficient initialization and crash recovery for Flash-memory file systems. A log management scheme for the Flash-memory file systems is presented. The proposed log management method is implemented in a log-record manager and a logger. It was written by Chin-Hsein Wu, Tei-Wei Kuo and Li-Pen Change of the Department of Computer Science of National Taiwan University, Taipei, TAIWAN, and presented at an international SAC Conference in 2006. Copyright 2006 ACM 1-59593-108-2/06/0004</p></div>\n      \n  </div>\n\n</article>\n\n\n  </div>\n\n              </section>\n\n                </div>\n  </div>\n\n      <footer class=\"footer container\" role=\"contentinfo\">\n        <div class=\"primary_footer row\">\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col1\">\n    <section id=\"block-yaffs-block-6\" class=\"block block-block-content block-block-content6c2d4b45-4dba-4b2d-8b9f-76701bf27533 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<ul class=\"fa-ul\">\n<li><i class=\"fa-li fa fa-phone\"></i>+44 (0)1223 811679</li>\n<li><i class=\"fa-li fa fa-envelope\"></i><a href=\"denied:mailto:info@aleph1.co.uk?Subject=Website contact\" target=\"_top\">info@aleph1.co.uk</a></li>\n</ul>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                \n            </div>\n            <div class=\"col-sm-3\">\n                  <div class=\"region region-footer-col4\">\n    <section id=\"block-footerlegal\" class=\"block block-block-content block-block-content78ab593d-35b6-4772-a141-30216e7fcbb2 clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-right\">&nbsp;<a href=\"/legal\">Legal &amp; Cookies</a></p>\n</div>\n      \n  </section>\n\n<section id=\"block-cookieinfo\" class=\"block block-block-content block-block-content4848c58d-90df-4819-81d8-0f9568eeeaac clearfix\">\n  \n    \n\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p class=\"text-align-justify\"><br />\nWe use <a href=\"/legal\">cookies on this site</a>. By using it, you are giving us consent to set cookies.</p>\n</div>\n      \n  </section>\n\n\n  </div>\n\n            </div>\n        </div>\n        <div class = \"secondary_footer row\">\n            <div class=\"col-sm-12\">\n                <div class=\"region region-footer\">\n    <nav role=\"navigation\" aria-labelledby=\"block-yaffs-account-menu-menu\" id=\"block-yaffs-account-menu\">\n            <h2 class=\"sr-only\" id=\"block-yaffs-account-menu-menu\">User account menu</h2>\n\n      \n              <ul class=\"menu nav navbar-nav navbar-right\">\n                            <li>\n        <a href=\"/user/login\" data-drupal-link-system-path=\"user/login\">Log in</a>\n                  </li>\n        </ul>\n  \n\n\n  </nav>\n\n  </div>\n\n            </div>\n        </div>\n    </footer>\n  \n    \n    <script type=\"application/json\" data-drupal-selector=\"drupal-settings-json\">{\"path\":{\"baseUrl\":\"\\/\",\"scriptPath\":null,\"pathPrefix\":\"\",\"currentPath\":\"node\\/360\",\"currentPathIsAdmin\":false,\"isFront\":false,\"currentLanguage\":\"en\"},\"pluralDelimiter\":\"\\u0003\",\"bootstrap\":{\"forms_has_error_value_toggle\":1,\"modal_animation\":1,\"modal_backdrop\":\"true\",\"modal_keyboard\":1,\"modal_show\":1,\"modal_size\":\"\",\"popover_enabled\":1,\"popover_animation\":1,\"popover_container\":\"body\",\"popover_content\":\"\",\"popover_delay\":\"0\",\"popover_html\":0,\"popover_placement\":\"right\",\"popover_selector\":\"\",\"popover_title\":\"\",\"popover_trigger\":\"click\",\"popover_trigger_autoclose\":1,\"tooltip_enabled\":1,\"tooltip_animation\":1,\"tooltip_container\":\"body\",\"tooltip_delay\":\"0\",\"tooltip_html\":0,\"tooltip_placement\":\"auto left\",\"tooltip_selector\":\"\",\"tooltip_trigger\":\"hover\"},\"ajaxTrustedUrl\":{\"\\/search\\/node\":true},\"user\":{\"uid\":0,\"permissionsHash\":\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\"}}</script>\n<script src=\"/sites/default/files/js/js_2l0lF4i9o3aztHULbfajMT_RTqGCEN_lVC8JI48SILw.js\"></script>\n\n  </body>\n</html>\n\";s:10:\"\0*\0version\";s:3:\"1.0\";s:13:\"\0*\0statusCode\";i:200;s:13:\"\0*\0statusText\";s:2:\"OK\";s:10:\"\0*\0charset\";N;s:23:\"\0*\0cacheabilityMetadata\";O:35:\"Drupal\\Core\\Cache\\CacheableMetadata\":3:{s:16:\"\0*\0cacheContexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"route\";i:2;s:32:\"route.menu_active_trails:account\";i:3;s:29:\"route.menu_active_trails:main\";i:4;s:30:\"route.menu_active_trails:tools\";i:5;s:5:\"theme\";i:6;s:8:\"timezone\";i:7;s:3:\"url\";i:8;s:8:\"url.path\";i:9;s:17:\"url.path.is_front\";i:10;s:15:\"url.path.parent\";i:11;s:30:\"url.query_args:_wrapper_format\";i:12;s:4:\"user\";i:13;s:21:\"user.node_grants:view\";i:14;s:16:\"user.permissions\";i:15;s:10:\"user.roles\";i:16;s:20:\"user.roles:anonymous\";i:17;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:51:{i:0;s:16:\"block_content:18\";i:1;s:16:\"block_content:23\";i:2;s:15:\"block_content:7\";i:3;s:18:\"block_content_view\";i:4;s:10:\"block_view\";i:5;s:32:\"config:block.block.choosingyaffs\";i:6;s:29:\"config:block.block.cookieinfo\";i:7;s:32:\"config:block.block.downloadyaffs\";i:8;s:30:\"config:block.block.footerlegal\";i:9;s:39:\"config:block.block.frontimagehighlight2\";i:10;s:32:\"config:block.block.frontpagehero\";i:11;s:39:\"config:block.block.frontpageprimeryaffs\";i:12;s:33:\"config:block.block.mainnavigation\";i:13;s:35:\"config:block.block.mainnavigation_2\";i:14;s:29:\"config:block.block.searchform\";i:15;s:31:\"config:block.block.sitebranding\";i:16;s:66:\"config:block.block.views_block__highlighted_yaffs_features_block_1\";i:17;s:66:\"config:block.block.views_block__yaffs_admin_recent_content_block_1\";i:18;s:66:\"config:block.block.views_block__yaffs_documents_highlights_block_1\";i:19;s:56:\"config:block.block.views_block__yaffs_user_logos_block_1\";i:20;s:37:\"config:block.block.yaffs_account_menu\";i:21;s:33:\"config:block.block.yaffs_block_10\";i:22;s:32:\"config:block.block.yaffs_block_5\";i:23;s:32:\"config:block.block.yaffs_block_6\";i:24;s:32:\"config:block.block.yaffs_block_8\";i:25;s:32:\"config:block.block.yaffs_block_9\";i:26;s:36:\"config:block.block.yaffs_breadcrumbs\";i:27;s:32:\"config:block.block.yaffs_content\";i:28;s:29:\"config:block.block.yaffs_help\";i:29;s:36:\"config:block.block.yaffs_local_tasks\";i:30;s:33:\"config:block.block.yaffs_messages\";i:31;s:35:\"config:block.block.yaffs_page_title\";i:32;s:32:\"config:block.block.yaffs_user_21\";i:33;s:31:\"config:block.block.yaffsinspace\";i:34;s:17:\"config:block_list\";i:35;s:24:\"config:color.theme.yaffs\";i:36;s:31:\"config:filter.format.basic_html\";i:37;s:30:\"config:filter.format.full_html\";i:38;s:29:\"config:filter.format.raw_html\";i:39;s:22:\"config:search.settings\";i:40;s:26:\"config:system.menu.account\";i:41;s:23:\"config:system.menu.main\";i:42;s:24:\"config:system.menu.tools\";i:43;s:18:\"config:system.site\";i:44;s:26:\"config:user.role.anonymous\";i:45;s:13:\"http_response\";i:46;s:8:\"node:360\";i:47;s:9:\"node_view\";i:48;s:8:\"rendered\";i:49;s:6:\"user:0\";i:50;s:6:\"user:1\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:5:{s:7:\"library\";a:9:{i:0;s:14:\"core/html5shiv\";i:1;s:11:\"system/base\";i:2;s:15:\"bootstrap/theme\";i:3;s:20:\"yaffs/global-styling\";i:4;s:23:\"yaffs/bootstrap-scripts\";i:5;s:19:\"yaffs/yaffs-helpers\";i:6;s:17:\"bootstrap/popover\";i:7;s:17:\"bootstrap/tooltip\";i:8;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:22:{i:0;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:5:\"title\";s:7:\"content\";s:110:\"Paper investigating a log management & crash recovery mechanism | Yaffs - A Flash File System for embedded use\";}}i:1;s:5:\"title\";}i:1;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:13:\"news_keywords\";s:7:\"content\";s:17:\"Flash File System\";}}i:1;s:13:\"news_keywords\";}i:2;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:11:\"description\";s:7:\"content\";s:63:\"This provides a link to a PDF of a paper by Taiwanese scholars.\";}}i:1;s:11:\"description\";}i:3;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"abstract\";s:7:\"content\";s:352:\"Yaffs (Yet Another Flash File System) is an open-source file system specifically designed to be fast, robust and suitable for embedded use with NAND and NOR Flash. It is widely used with Linux, RTOSs, or no OS at all, in consumer devices and critical infrastructure. It is available under GNU Public License, GPL, or on commercial terms from Aleph One.\";}}i:1;s:8:\"abstract\";}i:4;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"keywords\";s:7:\"content\";s:82:\"flash File System, flash, file System, flash storage, NAND flash, NOR flash, Yaffs\";}}i:1;s:8:\"keywords\";}i:5;a:2:{i:0;a:3:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:1:{s:7:\"charset\";s:5:\"utf-8\";}s:7:\"#weight\";i:-1000;}i:1;s:24:\"system_meta_content_type\";}i:6;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:9:\"Generator\";s:7:\"content\";s:33:\"Drupal 8 (https://www.drupal.org)\";}}i:1;s:21:\"system_meta_generator\";}i:7;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:15:\"MobileOptimized\";s:7:\"content\";s:5:\"width\";}}i:1;s:15:\"MobileOptimized\";}i:8;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:16:\"HandheldFriendly\";s:7:\"content\";s:4:\"true\";}}i:1;s:16:\"HandheldFriendly\";}i:9;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"meta\";s:11:\"#attributes\";a:2:{s:4:\"name\";s:8:\"viewport\";s:7:\"content\";s:37:\"width=device-width, initial-scale=1.0\";}}i:1;s:8:\"viewport\";}i:10;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1151\";}i:11;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:124:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1152\";}i:12;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:122:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1153\";}i:13;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:123:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBold-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1149\";}i:14;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:129:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1150\";}i:15;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:125:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1148\";}i:16;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:126:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSerifRegular-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1147\";}i:17;a:2:{i:0;a:3:{s:5:\"#type\";s:8:\"html_tag\";s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:10:\"stylesheet\";s:4:\"href\";s:128:\"https://yaffs.net/sites/default/files/fontyourface/fontsquirrel/LiberationSansBoldItalic-fontfacekit/fontyourface-stylesheet.css\";s:5:\"media\";s:3:\"all\";}}i:1;s:21:\"fontsquirrel-api-1154\";}i:18;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:3:{s:3:\"rel\";s:13:\"shortcut icon\";s:4:\"href\";s:38:\"/sites/default/files/yaffs_favicon.png\";s:4:\"type\";s:9:\"image/png\";}}i:1;s:67:\"html_head_link:shortcut icon:/sites/default/files/yaffs_favicon.png\";}i:19;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:69:\"/archives/paper-investigating-log-management-crash-recovery-mechanism\";}}i:1;s:94:\"html_head_link:canonical:/archives/paper-investigating-log-management-crash-recovery-mechanism\";}i:20;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:9:\"/node/360\";}}i:1;s:34:\"html_head_link:shortlink:/node/360\";}i:21;a:2:{i:0;a:2:{s:4:\"#tag\";s:4:\"link\";s:11:\"#attributes\";a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:69:\"/archives/paper-investigating-log-management-crash-recovery-mechanism\";}}i:1;s:93:\"html_head_link:revision:/archives/paper-investigating-log-management-crash-recovery-mechanism\";}}s:12:\"placeholders\";a:0:{}s:14:\"drupalSettings\";a:5:{s:4:\"path\";a:7:{s:7:\"baseUrl\";s:1:\"/\";s:10:\"scriptPath\";N;s:10:\"pathPrefix\";s:0:\"\";s:11:\"currentPath\";s:8:\"node/360\";s:18:\"currentPathIsAdmin\";b:0;s:7:\"isFront\";b:0;s:15:\"currentLanguage\";s:2:\"en\";}s:15:\"pluralDelimiter\";s:1:\"\";s:9:\"bootstrap\";a:25:{s:28:\"forms_has_error_value_toggle\";i:1;s:15:\"modal_animation\";i:1;s:14:\"modal_backdrop\";s:4:\"true\";s:14:\"modal_keyboard\";i:1;s:10:\"modal_show\";i:1;s:10:\"modal_size\";s:0:\"\";s:15:\"popover_enabled\";i:1;s:17:\"popover_animation\";i:1;s:17:\"popover_container\";s:4:\"body\";s:15:\"popover_content\";s:0:\"\";s:13:\"popover_delay\";s:1:\"0\";s:12:\"popover_html\";i:0;s:17:\"popover_placement\";s:5:\"right\";s:16:\"popover_selector\";s:0:\"\";s:13:\"popover_title\";s:0:\"\";s:15:\"popover_trigger\";s:5:\"click\";s:25:\"popover_trigger_autoclose\";i:1;s:15:\"tooltip_enabled\";i:1;s:17:\"tooltip_animation\";i:1;s:17:\"tooltip_container\";s:4:\"body\";s:13:\"tooltip_delay\";s:1:\"0\";s:12:\"tooltip_html\";i:0;s:17:\"tooltip_placement\";s:9:\"auto left\";s:16:\"tooltip_selector\";s:0:\"\";s:15:\"tooltip_trigger\";s:5:\"hover\";}s:14:\"ajaxTrustedUrl\";a:1:{s:12:\"/search/node\";b:1;}s:4:\"user\";a:2:{s:3:\"uid\";i:0;s:15:\"permissionsHash\";s:64:\"aa7fc4c8fb40c7a8665ccd12fea07926dff0f59b9ee3346bc513c6399bee5b01\";}}s:11:\"http_header\";a:3:{i:0;a:3:{i:0;s:4:\"Link\";i:1;s:88:\"</archives/paper-investigating-log-management-crash-recovery-mechanism>; rel=\"canonical\"\";i:2;b:0;}i:1;a:3:{i:0;s:4:\"Link\";i:1;s:28:\"</node/360>; rel=\"shortlink\"\";i:2;b:0;}i:2;a:3:{i:0;s:4:\"Link\";i:1;s:87:\"</archives/paper-investigating-log-management-crash-recovery-mechanism>; rel=\"revision\"\";i:2;b:0;}}}}',-1,1510868475.405,1,'block_content:18 block_content:23 block_content:7 block_content_view block_view config:block.block.choosingyaffs config:block.block.cookieinfo config:block.block.downloadyaffs config:block.block.footerlegal config:block.block.frontimagehighlight2 config:block.block.frontpagehero config:block.block.frontpageprimeryaffs config:block.block.mainnavigation config:block.block.mainnavigation_2 config:block.block.searchform config:block.block.sitebranding config:block.block.views_block__highlighted_yaffs_features_block_1 config:block.block.views_block__yaffs_admin_recent_content_block_1 config:block.block.views_block__yaffs_documents_highlights_block_1 config:block.block.views_block__yaffs_user_logos_block_1 config:block.block.yaffs_account_menu config:block.block.yaffs_block_10 config:block.block.yaffs_block_5 config:block.block.yaffs_block_6 config:block.block.yaffs_block_8 config:block.block.yaffs_block_9 config:block.block.yaffs_breadcrumbs config:block.block.yaffs_content config:block.block.yaffs_help config:block.block.yaffs_local_tasks config:block.block.yaffs_messages config:block.block.yaffs_page_title config:block.block.yaffs_user_21 config:block.block.yaffsinspace config:block_list config:color.theme.yaffs config:filter.format.basic_html config:filter.format.full_html config:filter.format.raw_html config:search.settings config:system.menu.account config:system.menu.main config:system.menu.tools config:system.site config:user.role.anonymous http_response node:360 node_view rendered user:0 user:1','3174'),