('response:[languages:language_interface]=en:[request_format]=html:[route]=entity.node.canonicalcef916bde4f15688d34b6700b7f20cdef6965c030246f228fc525861fb2803ae:[theme]=yaffs:[timezone]=Europe/London:[url]=https://TiIx2M81Rf1CisCKEAI3CVOAPp2W9KmXx38WEHmfkJo','a:5:{s:7:\"#markup\";s:0:\"\";s:9:\"#attached\";s:0:\"\";s:6:\"#cache\";a:3:{s:8:\"contexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:14:\"request_format\";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:30:\"route.menu_active_trails:tools\";i:6;s:5:\"theme\";i:7;s:8:\"timezone\";i:8;s:3:\"url\";i:9;s:8:\"url.path\";i:10;s:17:\"url.path.is_front\";i:11;s:15:\"url.path.parent\";i:12;s:30:\"url.query_args:_wrapper_format\";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:4:\"tags\";a:48:{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:8:\"node:137\";i:44;s:9:\"node_view\";i:45;s:8:\"rendered\";i:46;s:6:\"user:0\";i:47;s:6:\"user:1\";}s:7:\"max-age\";i:-1;}s:17:\"#cache_properties\";a:1:{i:0;s:9:\"#response\";}s:9:\"#response\";O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:1:{s:8:\"no-cache\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:3:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";}s:10:\"\0*\0headers\";a:3:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:8:\"no-cache\";}s:4:\"date\";a:1:{i:0;s:29:\"Fri, 27 Oct 2017 01:26:25 GMT\";}}s:15:\"\0*\0cacheControl\";a:0:{}}s:10:\"\0*\0content\";s:8533:\"<!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    <head-placeholder token=\"IQGFqkzKV3LslouXzv30dk7qs8yP2d06UFFCLeEIJGo0Sx-Iaaul5-1QenoisNS44m91nXnGhQ\">\n    <title>YAFFS talk - Slide 29 - Fin | Yaffs - A Flash File System for embedded use</title>\n    <css-placeholder token=\"IQGFqkzKV3LslouXzv30dk7qs8yP2d06UFFCLeEIJGo0Sx-Iaaul5-1QenoisNS44m91nXnGhQ\">\n    <js-placeholder token=\"IQGFqkzKV3LslouXzv30dk7qs8yP2d06UFFCLeEIJGo0Sx-Iaaul5-1QenoisNS44m91nXnGhQ\">\n  </head>\n  <body class=\"fontyourface path-node page-node-type-book 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<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\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>YAFFS talk - Slide 29 - Fin</span>\n</h1>\n\n<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>  <article role=\"article\" about=\"/yaffs-talk-slide-29-fin\" class=\"book is-promoted full clearfix\">\n\n  \n    \n\n  \n  <div class=\"content\">\n    \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<div class=\"image\">\n<a href=\"?q=node/77\"><img width=\"640\" height=\"480\" border=\"0\" alt=\"yaffs_talk_29.jpg\" src=\"sites/yaffs.net/files/images/content/yaffs_talk_29.preview.jpg\" /></a>\n<div class=\"caption\">\n &nbsp;\n</div>\n</div>\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    <js-bottom-placeholder token=\"IQGFqkzKV3LslouXzv30dk7qs8yP2d06UFFCLeEIJGo0Sx-Iaaul5-1QenoisNS44m91nXnGhQ\">\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:17:{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:21:\"user.node_grants:view\";i:13;s:16:\"user.permissions\";i:14;s:10:\"user.roles\";i:15;s:20:\"user.roles:anonymous\";i:16;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:48:{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:8:\"node:137\";i:44;s:9:\"node_view\";i:45;s:6:\"user:0\";i:46;s:6:\"user:1\";i:47;s:8:\"rendered\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:6:{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:17:{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:74:\"YAFFS talk - Slide 29 - Fin | 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\";}}s:14:\"html_head_link\";a:4:{i:0;a:1:{i:0;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;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:24:\"/yaffs-talk-slide-29-fin\";}i:1;b:1;}i:2;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:9:\"/node/137\";}i:1;b:1;}i:3;a:2:{i:0;a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:24:\"/yaffs-talk-slide-29-fin\";}i:1;b:1;}}s:12:\"placeholders\";a:2:{s:210:\"<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>\";a:2:{s:6:\"#cache\";a:4:{s:4:\"keys\";a:3:{i:0;s:11:\"entity_view\";i:1;s:5:\"block\";i:2;s:17:\"yaffs_local_tasks\";}s:8:\"contexts\";a:3:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"theme\";i:2;s:16:\"user.permissions\";}s:4:\"tags\";a:2:{i:0;s:10:\"block_view\";i:1;s:36:\"config:block.block.yaffs_local_tasks\";}s:7:\"max-age\";i:-1;}s:13:\"#lazy_builder\";a:2:{i:0;s:42:\"Drupal\\block\\BlockViewBuilder::lazyBuilder\";i:1;a:3:{i:0;s:17:\"yaffs_local_tasks\";i:1;s:4:\"full\";i:2;N;}}}s:190:\"<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\";a:1:{s:13:\"#lazy_builder\";a:2:{i:0;s:57:\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\";i:1;a:1:{i:0;N;}}}}s:14:\"drupalSettings\";a:2:{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:37:\"html_response_attachment_placeholders\";a:4:{s:6:\"styles\";s:100:\"<css-placeholder token=\"IQGFqkzKV3LslouXzv30dk7qs8yP2d06UFFCLeEIJGo0Sx-Iaaul5-1QenoisNS44m91nXnGhQ\">\";s:7:\"scripts\";s:99:\"<js-placeholder token=\"IQGFqkzKV3LslouXzv30dk7qs8yP2d06UFFCLeEIJGo0Sx-Iaaul5-1QenoisNS44m91nXnGhQ\">\";s:14:\"scripts_bottom\";s:106:\"<js-bottom-placeholder token=\"IQGFqkzKV3LslouXzv30dk7qs8yP2d06UFFCLeEIJGo0Sx-Iaaul5-1QenoisNS44m91nXnGhQ\">\";s:4:\"head\";s:101:\"<head-placeholder token=\"IQGFqkzKV3LslouXzv30dk7qs8yP2d06UFFCLeEIJGo0Sx-Iaaul5-1QenoisNS44m91nXnGhQ\">\";}}}}',-1,1509067585.174,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 node:137 node_view rendered user:0 user:1','2744'),('response:[languages:language_interface]=en:[request_format]=html:[route]=entity.node.canonicalcef916bde4f15688d34b6700b7f20cdef6965c030246f228fc525861fb2803ae:[theme]=yaffs:[timezone]=Europe/London:[url]=https://jRTQso4Ps1YDflsgdzI4bXgsvDGmvXnxSaVo9jqOJXs','a:5:{s:7:\"#markup\";s:0:\"\";s:9:\"#attached\";s:0:\"\";s:6:\"#cache\";a:3:{s:8:\"contexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:14:\"request_format\";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:30:\"route.menu_active_trails:tools\";i:6;s:5:\"theme\";i:7;s:8:\"timezone\";i:8;s:3:\"url\";i:9;s:8:\"url.path\";i:10;s:17:\"url.path.is_front\";i:11;s:15:\"url.path.parent\";i:12;s:30:\"url.query_args:_wrapper_format\";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:4:\"tags\";a:48:{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:8:\"node:137\";i:44;s:9:\"node_view\";i:45;s:8:\"rendered\";i:46;s:6:\"user:0\";i:47;s:6:\"user:1\";}s:7:\"max-age\";i:-1;}s:17:\"#cache_properties\";a:1:{i:0;s:9:\"#response\";}s:9:\"#response\";O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:1:{s:8:\"no-cache\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:3:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";}s:10:\"\0*\0headers\";a:3:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:8:\"no-cache\";}s:4:\"date\";a:1:{i:0;s:29:\"Fri, 27 Oct 2017 01:26:47 GMT\";}}s:15:\"\0*\0cacheControl\";a:0:{}}s:10:\"\0*\0content\";s:8533:\"<!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    <head-placeholder token=\"Wu4WG7MDCvAYu3RlfNcQefMIPGP8F9ZEOSwvUFl0ejZfTs3kM5AngPhD3erNatvyCgmBaNYcAg\">\n    <title>YAFFS talk - Slide 29 - Fin | Yaffs - A Flash File System for embedded use</title>\n    <css-placeholder token=\"Wu4WG7MDCvAYu3RlfNcQefMIPGP8F9ZEOSwvUFl0ejZfTs3kM5AngPhD3erNatvyCgmBaNYcAg\">\n    <js-placeholder token=\"Wu4WG7MDCvAYu3RlfNcQefMIPGP8F9ZEOSwvUFl0ejZfTs3kM5AngPhD3erNatvyCgmBaNYcAg\">\n  </head>\n  <body class=\"fontyourface path-node page-node-type-book 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<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\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>YAFFS talk - Slide 29 - Fin</span>\n</h1>\n\n<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>  <article role=\"article\" about=\"/yaffs-talk-slide-29-fin\" class=\"book is-promoted full clearfix\">\n\n  \n    \n\n  \n  <div class=\"content\">\n    \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<div class=\"image\">\n<a href=\"?q=node/77\"><img width=\"640\" height=\"480\" border=\"0\" alt=\"yaffs_talk_29.jpg\" src=\"sites/yaffs.net/files/images/content/yaffs_talk_29.preview.jpg\" /></a>\n<div class=\"caption\">\n &nbsp;\n</div>\n</div>\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    <js-bottom-placeholder token=\"Wu4WG7MDCvAYu3RlfNcQefMIPGP8F9ZEOSwvUFl0ejZfTs3kM5AngPhD3erNatvyCgmBaNYcAg\">\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:17:{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:21:\"user.node_grants:view\";i:13;s:16:\"user.permissions\";i:14;s:10:\"user.roles\";i:15;s:20:\"user.roles:anonymous\";i:16;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:48:{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:8:\"node:137\";i:44;s:9:\"node_view\";i:45;s:6:\"user:0\";i:46;s:6:\"user:1\";i:47;s:8:\"rendered\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:6:{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:17:{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:74:\"YAFFS talk - Slide 29 - Fin | 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\";}}s:14:\"html_head_link\";a:4:{i:0;a:1:{i:0;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;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:24:\"/yaffs-talk-slide-29-fin\";}i:1;b:1;}i:2;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:9:\"/node/137\";}i:1;b:1;}i:3;a:2:{i:0;a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:24:\"/yaffs-talk-slide-29-fin\";}i:1;b:1;}}s:12:\"placeholders\";a:2:{s:210:\"<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>\";a:2:{s:6:\"#cache\";a:4:{s:4:\"keys\";a:3:{i:0;s:11:\"entity_view\";i:1;s:5:\"block\";i:2;s:17:\"yaffs_local_tasks\";}s:8:\"contexts\";a:3:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"theme\";i:2;s:16:\"user.permissions\";}s:4:\"tags\";a:2:{i:0;s:10:\"block_view\";i:1;s:36:\"config:block.block.yaffs_local_tasks\";}s:7:\"max-age\";i:-1;}s:13:\"#lazy_builder\";a:2:{i:0;s:42:\"Drupal\\block\\BlockViewBuilder::lazyBuilder\";i:1;a:3:{i:0;s:17:\"yaffs_local_tasks\";i:1;s:4:\"full\";i:2;N;}}}s:190:\"<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\";a:1:{s:13:\"#lazy_builder\";a:2:{i:0;s:57:\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\";i:1;a:1:{i:0;N;}}}}s:14:\"drupalSettings\";a:2:{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:37:\"html_response_attachment_placeholders\";a:4:{s:6:\"styles\";s:100:\"<css-placeholder token=\"Wu4WG7MDCvAYu3RlfNcQefMIPGP8F9ZEOSwvUFl0ejZfTs3kM5AngPhD3erNatvyCgmBaNYcAg\">\";s:7:\"scripts\";s:99:\"<js-placeholder token=\"Wu4WG7MDCvAYu3RlfNcQefMIPGP8F9ZEOSwvUFl0ejZfTs3kM5AngPhD3erNatvyCgmBaNYcAg\">\";s:14:\"scripts_bottom\";s:106:\"<js-bottom-placeholder token=\"Wu4WG7MDCvAYu3RlfNcQefMIPGP8F9ZEOSwvUFl0ejZfTs3kM5AngPhD3erNatvyCgmBaNYcAg\">\";s:4:\"head\";s:101:\"<head-placeholder token=\"Wu4WG7MDCvAYu3RlfNcQefMIPGP8F9ZEOSwvUFl0ejZfTs3kM5AngPhD3erNatvyCgmBaNYcAg\">\";}}}}',-1,1509067607.969,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 node:137 node_view rendered user:0 user:1','2744');
INSERT INTO `cache_dynamic_page_cache` VALUES ('response:[languages:language_interface]=en:[request_format]=html:[route]=entity.node.canonicald13813a109dd57c0992ac81fee8c0e538c6fe00eda4eb50dc2159f42b9ae1181:[theme]=yaffs:[timezone]=Europe/London:[url]=https://qBySFKQXXbrsMu48f6rWbC8kWnz-PwBan1mlCKTYrtw','a:5:{s:7:\"#markup\";s:0:\"\";s:9:\"#attached\";s:0:\"\";s:6:\"#cache\";a:3:{s:8:\"contexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:14:\"request_format\";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:30:\"route.menu_active_trails:tools\";i:6;s:5:\"theme\";i:7;s:8:\"timezone\";i:8;s:3:\"url\";i:9;s:8:\"url.path\";i:10;s:17:\"url.path.is_front\";i:11;s:15:\"url.path.parent\";i:12;s:30:\"url.query_args:_wrapper_format\";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:4:\"tags\";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: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:7:\"file:87\";i:45;s:8:\"node:367\";i:46;s:9:\"node_view\";i:47;s:8:\"rendered\";i:48;s:6:\"user:0\";i:49;s:6:\"user:1\";}s:7:\"max-age\";i:-1;}s:17:\"#cache_properties\";a:1:{i:0;s:9:\"#response\";}s:9:\"#response\";O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:1:{s:8:\"no-cache\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:3:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";}s:10:\"\0*\0headers\";a:3:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:8:\"no-cache\";}s:4:\"date\";a:1:{i:0;s:29:\"Thu, 26 Oct 2017 15:38:27 GMT\";}}s:15:\"\0*\0cacheControl\";a:0:{}}s:10:\"\0*\0content\";s:9849:\"<!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    <head-placeholder token=\"29LqWX10KcI_TbpfMssHnfGdiRTyt-8HgSBW_WApHLtlJQITjoI8Ck6qY9Fh-OrQS9525OB6Gw\">\n    <title>Yaffs Talk - PDF of slides from CELF, 2007 | Yaffs - A Flash File System for embedded use</title>\n    <css-placeholder token=\"29LqWX10KcI_TbpfMssHnfGdiRTyt-8HgSBW_WApHLtlJQITjoI8Ck6qY9Fh-OrQS9525OB6Gw\">\n    <js-placeholder token=\"29LqWX10KcI_TbpfMssHnfGdiRTyt-8HgSBW_WApHLtlJQITjoI8Ck6qY9Fh-OrQS9525OB6Gw\">\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<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\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\">Yaffs Talk - PDF of slides from CELF, 2007</span>\n</h1>\n\n<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>  <article role=\"article\" about=\"/archives/yaffs-talk-pdf-slides-celf-2007\" typeof=\"schema:WebPage\" class=\"page full clearfix\">\n\n  \n      <span property=\"schema:name\" content=\"Yaffs Talk - PDF of slides from CELF, 2007\" class=\"hidden\"></span>\n\n\n  \n  <div class=\"content\">\n    \n      <div class=\"field field--name-upload field--type-file field--label-hidden field--items\">\n              <div class=\"field--item\"><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/yaffs.pdf\" type=\"application/pdf; length=177635\" title=\"Open file in new window\" target=\"_blank\" data-toggle=\"tooltip\" data-placement=\"bottom\">yaffs.pdf</a></span><span class=\"file-size\">173.47 KB</span></span></div>\n          </div>\n  \n            <div property=\"schema:text\" class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\"><p>Attached is a PDF with slides from the Yaffs talk at CELF\'s Embedded Linux Conference Europe 2007. If you are able to view Ogg Theora video files, the talk is also <a href=\"http://free-electrons.com/pub/video/2007/elce/elce-2007-wookey-yaffs.ogg\">online</a>. Ogg Theora is a Free video format. Free players are available for all platforms. See the list <a href=\"http://wiki.xiph.org/index.php/TheoraSoftwarePlayers\">here</a>. If in doubt, VLC is probably available for your operating system.</p>\n\n<p>If you prefer to go straight to the .pdf if clides  click <a href=\"http://www.yaffs.net/sites/yaffs.net/files/yaffs.pdf\">http://www.yaffs.net/sites/yaffs.net/files/yaffs.pdf</a></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    <js-bottom-placeholder token=\"29LqWX10KcI_TbpfMssHnfGdiRTyt-8HgSBW_WApHLtlJQITjoI8Ck6qY9Fh-OrQS9525OB6Gw\">\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:17:{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:21:\"user.node_grants:view\";i:13;s:16:\"user.permissions\";i:14;s:10:\"user.roles\";i:15;s:20:\"user.roles:anonymous\";i:16;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: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:7:\"file:87\";i:45;s:8:\"node:367\";i:46;s:9:\"node_view\";i:47;s:6:\"user:0\";i:48;s:6:\"user:1\";i:49;s:8:\"rendered\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:6:{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:18:{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:89:\"Yaffs Talk - PDF of slides from CELF, 2007 | 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:448:\"Attached is a PDF with slides from the Yaffs talk at CELF\'s Embedded Linux Conference Europe 2007. If you are able to view Ogg Theora video files, the talk is also online. Ogg Theora is a Free video format. Free players are available for all platforms. See the list here. If in doubt, VLC is probably available for your operating system.If you prefer to go straight to the .pdf if clides  click http://www.yaffs.net/sites/yaffs.net/files/yaffs.pdf\";}}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\";}}s:14:\"html_head_link\";a:4:{i:0;a:1:{i:0;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;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:41:\"/archives/yaffs-talk-pdf-slides-celf-2007\";}i:1;b:1;}i:2;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:9:\"/node/367\";}i:1;b:1;}i:3;a:2:{i:0;a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:41:\"/archives/yaffs-talk-pdf-slides-celf-2007\";}i:1;b:1;}}s:12:\"placeholders\";a:2:{s:210:\"<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>\";a:2:{s:6:\"#cache\";a:4:{s:4:\"keys\";a:3:{i:0;s:11:\"entity_view\";i:1;s:5:\"block\";i:2;s:17:\"yaffs_local_tasks\";}s:8:\"contexts\";a:3:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"theme\";i:2;s:16:\"user.permissions\";}s:4:\"tags\";a:2:{i:0;s:10:\"block_view\";i:1;s:36:\"config:block.block.yaffs_local_tasks\";}s:7:\"max-age\";i:-1;}s:13:\"#lazy_builder\";a:2:{i:0;s:42:\"Drupal\\block\\BlockViewBuilder::lazyBuilder\";i:1;a:3:{i:0;s:17:\"yaffs_local_tasks\";i:1;s:4:\"full\";i:2;N;}}}s:190:\"<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\";a:1:{s:13:\"#lazy_builder\";a:2:{i:0;s:57:\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\";i:1;a:1:{i:0;N;}}}}s:14:\"drupalSettings\";a:2:{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:37:\"html_response_attachment_placeholders\";a:4:{s:6:\"styles\";s:100:\"<css-placeholder token=\"29LqWX10KcI_TbpfMssHnfGdiRTyt-8HgSBW_WApHLtlJQITjoI8Ck6qY9Fh-OrQS9525OB6Gw\">\";s:7:\"scripts\";s:99:\"<js-placeholder token=\"29LqWX10KcI_TbpfMssHnfGdiRTyt-8HgSBW_WApHLtlJQITjoI8Ck6qY9Fh-OrQS9525OB6Gw\">\";s:14:\"scripts_bottom\";s:106:\"<js-bottom-placeholder token=\"29LqWX10KcI_TbpfMssHnfGdiRTyt-8HgSBW_WApHLtlJQITjoI8Ck6qY9Fh-OrQS9525OB6Gw\">\";s:4:\"head\";s:101:\"<head-placeholder token=\"29LqWX10KcI_TbpfMssHnfGdiRTyt-8HgSBW_WApHLtlJQITjoI8Ck6qY9Fh-OrQS9525OB6Gw\">\";}}}}',-1,1509032307.378,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 file:87 node:367 node_view rendered user:0 user:1','2759'),('response:[languages:language_interface]=en:[request_format]=html:[route]=entity.node.canonicald1f0517a35a453e1096f8c5af282b48400b5f9c0f461b2503c2d9b2c6de1b59a:[theme]=yaffs:[timezone]=Europe/London:[url]=https://lDZOAGvHtqlp5dw05PcU8PmVb9ITn_AebcA7ImIQtC8','a:5:{s:7:\"#markup\";s:0:\"\";s:9:\"#attached\";s:0:\"\";s:6:\"#cache\";a:3:{s:8:\"contexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:14:\"request_format\";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:30:\"route.menu_active_trails:tools\";i:6;s:5:\"theme\";i:7;s:8:\"timezone\";i:8;s:3:\"url\";i:9;s:8:\"url.path\";i:10;s:17:\"url.path.is_front\";i:11;s:15:\"url.path.parent\";i:12;s:30:\"url.query_args:_wrapper_format\";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:4:\"tags\";a:48:{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:8:\"node:134\";i:44;s:9:\"node_view\";i:45;s:8:\"rendered\";i:46;s:6:\"user:0\";i:47;s:6:\"user:1\";}s:7:\"max-age\";i:-1;}s:17:\"#cache_properties\";a:1:{i:0;s:9:\"#response\";}s:9:\"#response\";O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:1:{s:8:\"no-cache\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:3:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";}s:10:\"\0*\0headers\";a:3:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:8:\"no-cache\";}s:4:\"date\";a:1:{i:0;s:29:\"Fri, 27 Oct 2017 01:26:26 GMT\";}}s:15:\"\0*\0cacheControl\";a:0:{}}s:10:\"\0*\0content\";s:8552:\"<!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    <head-placeholder token=\"OVnHW1TmWaca0qgAuKKbf-Z-O8fYub6I7dabgyDU0-AJI0b0XgeHlufVXJrDH_EfZ7V9nPaXJA\">\n    <title>YAFFS talk - Slide 26 - Licensing | Yaffs - A Flash File System for embedded use</title>\n    <css-placeholder token=\"OVnHW1TmWaca0qgAuKKbf-Z-O8fYub6I7dabgyDU0-AJI0b0XgeHlufVXJrDH_EfZ7V9nPaXJA\">\n    <js-placeholder token=\"OVnHW1TmWaca0qgAuKKbf-Z-O8fYub6I7dabgyDU0-AJI0b0XgeHlufVXJrDH_EfZ7V9nPaXJA\">\n  </head>\n  <body class=\"fontyourface path-node page-node-type-book 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<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\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>YAFFS talk - Slide 26 - Licensing</span>\n</h1>\n\n<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>  <article role=\"article\" about=\"/yaffs-talk-slide-26-licensing\" class=\"book is-promoted full clearfix\">\n\n  \n    \n\n  \n  <div class=\"content\">\n    \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<div class=\"image\">\n<a href=\"?q=node/135\"><img width=\"640\" height=\"480\" border=\"0\" alt=\"yaffs_talk_26.jpg\" src=\"sites/yaffs.net/files/images/content/yaffs_talk_26.preview.jpg\" /></a>\n<div class=\"caption\">\n &nbsp;\n</div>\n</div>\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    <js-bottom-placeholder token=\"OVnHW1TmWaca0qgAuKKbf-Z-O8fYub6I7dabgyDU0-AJI0b0XgeHlufVXJrDH_EfZ7V9nPaXJA\">\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:17:{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:21:\"user.node_grants:view\";i:13;s:16:\"user.permissions\";i:14;s:10:\"user.roles\";i:15;s:20:\"user.roles:anonymous\";i:16;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:48:{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:8:\"node:134\";i:44;s:9:\"node_view\";i:45;s:6:\"user:0\";i:46;s:6:\"user:1\";i:47;s:8:\"rendered\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:6:{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:17:{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:80:\"YAFFS talk - Slide 26 - Licensing | 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\";}}s:14:\"html_head_link\";a:4:{i:0;a:1:{i:0;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;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:30:\"/yaffs-talk-slide-26-licensing\";}i:1;b:1;}i:2;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:9:\"/node/134\";}i:1;b:1;}i:3;a:2:{i:0;a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:30:\"/yaffs-talk-slide-26-licensing\";}i:1;b:1;}}s:12:\"placeholders\";a:2:{s:210:\"<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>\";a:2:{s:6:\"#cache\";a:4:{s:4:\"keys\";a:3:{i:0;s:11:\"entity_view\";i:1;s:5:\"block\";i:2;s:17:\"yaffs_local_tasks\";}s:8:\"contexts\";a:3:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"theme\";i:2;s:16:\"user.permissions\";}s:4:\"tags\";a:2:{i:0;s:10:\"block_view\";i:1;s:36:\"config:block.block.yaffs_local_tasks\";}s:7:\"max-age\";i:-1;}s:13:\"#lazy_builder\";a:2:{i:0;s:42:\"Drupal\\block\\BlockViewBuilder::lazyBuilder\";i:1;a:3:{i:0;s:17:\"yaffs_local_tasks\";i:1;s:4:\"full\";i:2;N;}}}s:190:\"<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\";a:1:{s:13:\"#lazy_builder\";a:2:{i:0;s:57:\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\";i:1;a:1:{i:0;N;}}}}s:14:\"drupalSettings\";a:2:{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:37:\"html_response_attachment_placeholders\";a:4:{s:6:\"styles\";s:100:\"<css-placeholder token=\"OVnHW1TmWaca0qgAuKKbf-Z-O8fYub6I7dabgyDU0-AJI0b0XgeHlufVXJrDH_EfZ7V9nPaXJA\">\";s:7:\"scripts\";s:99:\"<js-placeholder token=\"OVnHW1TmWaca0qgAuKKbf-Z-O8fYub6I7dabgyDU0-AJI0b0XgeHlufVXJrDH_EfZ7V9nPaXJA\">\";s:14:\"scripts_bottom\";s:106:\"<js-bottom-placeholder token=\"OVnHW1TmWaca0qgAuKKbf-Z-O8fYub6I7dabgyDU0-AJI0b0XgeHlufVXJrDH_EfZ7V9nPaXJA\">\";s:4:\"head\";s:101:\"<head-placeholder token=\"OVnHW1TmWaca0qgAuKKbf-Z-O8fYub6I7dabgyDU0-AJI0b0XgeHlufVXJrDH_EfZ7V9nPaXJA\">\";}}}}',-1,1509067586.243,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 node:134 node_view rendered user:0 user:1','2744'),('response:[languages:language_interface]=en:[request_format]=html:[route]=entity.node.canonicald1f0517a35a453e1096f8c5af282b48400b5f9c0f461b2503c2d9b2c6de1b59a:[theme]=yaffs:[timezone]=Europe/London:[url]=https://uPBg7dCblJtZoyIG0Zfz2R3L4hTOvK-obwrbOy-l0Hk','a:5:{s:7:\"#markup\";s:0:\"\";s:9:\"#attached\";s:0:\"\";s:6:\"#cache\";a:3:{s:8:\"contexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:14:\"request_format\";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:30:\"route.menu_active_trails:tools\";i:6;s:5:\"theme\";i:7;s:8:\"timezone\";i:8;s:3:\"url\";i:9;s:8:\"url.path\";i:10;s:17:\"url.path.is_front\";i:11;s:15:\"url.path.parent\";i:12;s:30:\"url.query_args:_wrapper_format\";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:4:\"tags\";a:48:{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:8:\"node:134\";i:44;s:9:\"node_view\";i:45;s:8:\"rendered\";i:46;s:6:\"user:0\";i:47;s:6:\"user:1\";}s:7:\"max-age\";i:-1;}s:17:\"#cache_properties\";a:1:{i:0;s:9:\"#response\";}s:9:\"#response\";O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:1:{s:8:\"no-cache\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:3:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";}s:10:\"\0*\0headers\";a:3:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:8:\"no-cache\";}s:4:\"date\";a:1:{i:0;s:29:\"Fri, 27 Oct 2017 01:26:50 GMT\";}}s:15:\"\0*\0cacheControl\";a:0:{}}s:10:\"\0*\0content\";s:8552:\"<!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    <head-placeholder token=\"wt1cZNnSJGwWYKVS_nAUgSt8l6YjBIzZ-28L1Vjb55aotYR-h7jvUwsLHQme6O8U6EpJwx0RFw\">\n    <title>YAFFS talk - Slide 26 - Licensing | Yaffs - A Flash File System for embedded use</title>\n    <css-placeholder token=\"wt1cZNnSJGwWYKVS_nAUgSt8l6YjBIzZ-28L1Vjb55aotYR-h7jvUwsLHQme6O8U6EpJwx0RFw\">\n    <js-placeholder token=\"wt1cZNnSJGwWYKVS_nAUgSt8l6YjBIzZ-28L1Vjb55aotYR-h7jvUwsLHQme6O8U6EpJwx0RFw\">\n  </head>\n  <body class=\"fontyourface path-node page-node-type-book 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<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\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>YAFFS talk - Slide 26 - Licensing</span>\n</h1>\n\n<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>  <article role=\"article\" about=\"/yaffs-talk-slide-26-licensing\" class=\"book is-promoted full clearfix\">\n\n  \n    \n\n  \n  <div class=\"content\">\n    \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<div class=\"image\">\n<a href=\"?q=node/135\"><img width=\"640\" height=\"480\" border=\"0\" alt=\"yaffs_talk_26.jpg\" src=\"sites/yaffs.net/files/images/content/yaffs_talk_26.preview.jpg\" /></a>\n<div class=\"caption\">\n &nbsp;\n</div>\n</div>\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    <js-bottom-placeholder token=\"wt1cZNnSJGwWYKVS_nAUgSt8l6YjBIzZ-28L1Vjb55aotYR-h7jvUwsLHQme6O8U6EpJwx0RFw\">\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:17:{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:21:\"user.node_grants:view\";i:13;s:16:\"user.permissions\";i:14;s:10:\"user.roles\";i:15;s:20:\"user.roles:anonymous\";i:16;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:48:{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:8:\"node:134\";i:44;s:9:\"node_view\";i:45;s:6:\"user:0\";i:46;s:6:\"user:1\";i:47;s:8:\"rendered\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:6:{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:17:{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:80:\"YAFFS talk - Slide 26 - Licensing | 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\";}}s:14:\"html_head_link\";a:4:{i:0;a:1:{i:0;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;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:30:\"/yaffs-talk-slide-26-licensing\";}i:1;b:1;}i:2;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:9:\"/node/134\";}i:1;b:1;}i:3;a:2:{i:0;a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:30:\"/yaffs-talk-slide-26-licensing\";}i:1;b:1;}}s:12:\"placeholders\";a:2:{s:210:\"<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>\";a:2:{s:6:\"#cache\";a:4:{s:4:\"keys\";a:3:{i:0;s:11:\"entity_view\";i:1;s:5:\"block\";i:2;s:17:\"yaffs_local_tasks\";}s:8:\"contexts\";a:3:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"theme\";i:2;s:16:\"user.permissions\";}s:4:\"tags\";a:2:{i:0;s:10:\"block_view\";i:1;s:36:\"config:block.block.yaffs_local_tasks\";}s:7:\"max-age\";i:-1;}s:13:\"#lazy_builder\";a:2:{i:0;s:42:\"Drupal\\block\\BlockViewBuilder::lazyBuilder\";i:1;a:3:{i:0;s:17:\"yaffs_local_tasks\";i:1;s:4:\"full\";i:2;N;}}}s:190:\"<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\";a:1:{s:13:\"#lazy_builder\";a:2:{i:0;s:57:\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\";i:1;a:1:{i:0;N;}}}}s:14:\"drupalSettings\";a:2:{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:37:\"html_response_attachment_placeholders\";a:4:{s:6:\"styles\";s:100:\"<css-placeholder token=\"wt1cZNnSJGwWYKVS_nAUgSt8l6YjBIzZ-28L1Vjb55aotYR-h7jvUwsLHQme6O8U6EpJwx0RFw\">\";s:7:\"scripts\";s:99:\"<js-placeholder token=\"wt1cZNnSJGwWYKVS_nAUgSt8l6YjBIzZ-28L1Vjb55aotYR-h7jvUwsLHQme6O8U6EpJwx0RFw\">\";s:14:\"scripts_bottom\";s:106:\"<js-bottom-placeholder token=\"wt1cZNnSJGwWYKVS_nAUgSt8l6YjBIzZ-28L1Vjb55aotYR-h7jvUwsLHQme6O8U6EpJwx0RFw\">\";s:4:\"head\";s:101:\"<head-placeholder token=\"wt1cZNnSJGwWYKVS_nAUgSt8l6YjBIzZ-28L1Vjb55aotYR-h7jvUwsLHQme6O8U6EpJwx0RFw\">\";}}}}',-1,1509067610.631,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 node:134 node_view rendered user:0 user:1','2744'),('response:[languages:language_interface]=en:[request_format]=html:[route]=entity.node.canonicald2a551b1899ae9150e58ef3f165c22395cd9e2540b805442672a4b50b3011795:[theme]=yaffs:[timezone]=Europe/London:[url]=https://01ud_QjQmGBVNNulgxb9Xf3bfNDpgZYvsZSbIrqU6nk','a:5:{s:7:\"#markup\";s:0:\"\";s:9:\"#attached\";s:0:\"\";s:6:\"#cache\";a:3:{s:8:\"contexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:14:\"request_format\";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:30:\"route.menu_active_trails:tools\";i:6;s:5:\"theme\";i:7;s:8:\"timezone\";i:8;s:3:\"url\";i:9;s:8:\"url.path\";i:10;s:17:\"url.path.is_front\";i:11;s:15:\"url.path.parent\";i:12;s:30:\"url.query_args:_wrapper_format\";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:4:\"tags\";a:48:{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:8:\"node:196\";i:44;s:9:\"node_view\";i:45;s:8:\"rendered\";i:46;s:6:\"user:0\";i:47;s:6:\"user:1\";}s:7:\"max-age\";i:-1;}s:17:\"#cache_properties\";a:1:{i:0;s:9:\"#response\";}s:9:\"#response\";O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:1:{s:8:\"no-cache\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:3:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";}s:10:\"\0*\0headers\";a:3:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:8:\"no-cache\";}s:4:\"date\";a:1:{i:0;s:29:\"Fri, 27 Oct 2017 01:26:23 GMT\";}}s:15:\"\0*\0cacheControl\";a:0:{}}s:10:\"\0*\0content\";s:8551:\"<!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    <head-placeholder token=\"R4O_9_Pvbnz7BArF8C-2z8Zcsmt8lscMpJiHV7BPugfn3lBMQWJA0iHWAEEHqHphMsYI0mSPqw\">\n    <title>ARM-Linux talk - Slide 1 - Title | Yaffs - A Flash File System for embedded use</title>\n    <css-placeholder token=\"R4O_9_Pvbnz7BArF8C-2z8Zcsmt8lscMpJiHV7BPugfn3lBMQWJA0iHWAEEHqHphMsYI0mSPqw\">\n    <js-placeholder token=\"R4O_9_Pvbnz7BArF8C-2z8Zcsmt8lscMpJiHV7BPugfn3lBMQWJA0iHWAEEHqHphMsYI0mSPqw\">\n  </head>\n  <body class=\"fontyourface path-node page-node-type-book 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<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\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>ARM-Linux talk - Slide 1 - Title</span>\n</h1>\n\n<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>  <article role=\"article\" about=\"/arm-linux-talk-slide-1-title\" class=\"book is-promoted full clearfix\">\n\n  \n    \n\n  \n  <div class=\"content\">\n    \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<div class=\"image\">\n<a href=\"?q=node/197\"><img width=\"640\" height=\"480\" border=\"0\" alt=\"talk_arm_general_1.jpg\" src=\"sites/yaffs.net/files/images/content/talk_arm_general_1.jpg\" /></a>\n<div class=\"caption\">\n &nbsp;\n</div>\n</div>\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    <js-bottom-placeholder token=\"R4O_9_Pvbnz7BArF8C-2z8Zcsmt8lscMpJiHV7BPugfn3lBMQWJA0iHWAEEHqHphMsYI0mSPqw\">\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:17:{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:21:\"user.node_grants:view\";i:13;s:16:\"user.permissions\";i:14;s:10:\"user.roles\";i:15;s:20:\"user.roles:anonymous\";i:16;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:48:{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:8:\"node:196\";i:44;s:9:\"node_view\";i:45;s:6:\"user:0\";i:46;s:6:\"user:1\";i:47;s:8:\"rendered\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:6:{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:18:{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:\"ARM-Linux talk - Slide 1 - Title | 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:2:\" \";}}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\";}}s:14:\"html_head_link\";a:4:{i:0;a:1:{i:0;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;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:29:\"/arm-linux-talk-slide-1-title\";}i:1;b:1;}i:2;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:9:\"/node/196\";}i:1;b:1;}i:3;a:2:{i:0;a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:29:\"/arm-linux-talk-slide-1-title\";}i:1;b:1;}}s:12:\"placeholders\";a:2:{s:210:\"<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>\";a:2:{s:6:\"#cache\";a:4:{s:4:\"keys\";a:3:{i:0;s:11:\"entity_view\";i:1;s:5:\"block\";i:2;s:17:\"yaffs_local_tasks\";}s:8:\"contexts\";a:3:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"theme\";i:2;s:16:\"user.permissions\";}s:4:\"tags\";a:2:{i:0;s:10:\"block_view\";i:1;s:36:\"config:block.block.yaffs_local_tasks\";}s:7:\"max-age\";i:-1;}s:13:\"#lazy_builder\";a:2:{i:0;s:42:\"Drupal\\block\\BlockViewBuilder::lazyBuilder\";i:1;a:3:{i:0;s:17:\"yaffs_local_tasks\";i:1;s:4:\"full\";i:2;N;}}}s:190:\"<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\";a:1:{s:13:\"#lazy_builder\";a:2:{i:0;s:57:\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\";i:1;a:1:{i:0;N;}}}}s:14:\"drupalSettings\";a:2:{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:37:\"html_response_attachment_placeholders\";a:4:{s:6:\"styles\";s:100:\"<css-placeholder token=\"R4O_9_Pvbnz7BArF8C-2z8Zcsmt8lscMpJiHV7BPugfn3lBMQWJA0iHWAEEHqHphMsYI0mSPqw\">\";s:7:\"scripts\";s:99:\"<js-placeholder token=\"R4O_9_Pvbnz7BArF8C-2z8Zcsmt8lscMpJiHV7BPugfn3lBMQWJA0iHWAEEHqHphMsYI0mSPqw\">\";s:14:\"scripts_bottom\";s:106:\"<js-bottom-placeholder token=\"R4O_9_Pvbnz7BArF8C-2z8Zcsmt8lscMpJiHV7BPugfn3lBMQWJA0iHWAEEHqHphMsYI0mSPqw\">\";s:4:\"head\";s:101:\"<head-placeholder token=\"R4O_9_Pvbnz7BArF8C-2z8Zcsmt8lscMpJiHV7BPugfn3lBMQWJA0iHWAEEHqHphMsYI0mSPqw\">\";}}}}',-1,1509067583.561,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 node:196 node_view rendered user:0 user:1','2744'),('response:[languages:language_interface]=en:[request_format]=html:[route]=entity.node.canonicald2a551b1899ae9150e58ef3f165c22395cd9e2540b805442672a4b50b3011795:[theme]=yaffs:[timezone]=Europe/London:[url]=https://3lo4A1AkcPnkzAvaqi2fn4k7dedwTQRo2mprowm0bIE','a:5:{s:7:\"#markup\";s:0:\"\";s:9:\"#attached\";s:0:\"\";s:6:\"#cache\";a:3:{s:8:\"contexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:14:\"request_format\";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:30:\"route.menu_active_trails:tools\";i:6;s:5:\"theme\";i:7;s:8:\"timezone\";i:8;s:3:\"url\";i:9;s:8:\"url.path\";i:10;s:17:\"url.path.is_front\";i:11;s:15:\"url.path.parent\";i:12;s:30:\"url.query_args:_wrapper_format\";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:4:\"tags\";a:48:{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:8:\"node:196\";i:44;s:9:\"node_view\";i:45;s:8:\"rendered\";i:46;s:6:\"user:0\";i:47;s:6:\"user:1\";}s:7:\"max-age\";i:-1;}s:17:\"#cache_properties\";a:1:{i:0;s:9:\"#response\";}s:9:\"#response\";O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:1:{s:8:\"no-cache\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:3:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";}s:10:\"\0*\0headers\";a:3:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:8:\"no-cache\";}s:4:\"date\";a:1:{i:0;s:29:\"Fri, 27 Oct 2017 01:26:43 GMT\";}}s:15:\"\0*\0cacheControl\";a:0:{}}s:10:\"\0*\0content\";s:8551:\"<!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    <head-placeholder token=\"bjGY_wKQM415nBXhDVV81wBZw8ddS3lFeOzx3rt3UxMN5ux27f409pNS760IK1ZUQ4MFYyVhJg\">\n    <title>ARM-Linux talk - Slide 1 - Title | Yaffs - A Flash File System for embedded use</title>\n    <css-placeholder token=\"bjGY_wKQM415nBXhDVV81wBZw8ddS3lFeOzx3rt3UxMN5ux27f409pNS760IK1ZUQ4MFYyVhJg\">\n    <js-placeholder token=\"bjGY_wKQM415nBXhDVV81wBZw8ddS3lFeOzx3rt3UxMN5ux27f409pNS760IK1ZUQ4MFYyVhJg\">\n  </head>\n  <body class=\"fontyourface path-node page-node-type-book 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<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\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>ARM-Linux talk - Slide 1 - Title</span>\n</h1>\n\n<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>  <article role=\"article\" about=\"/arm-linux-talk-slide-1-title\" class=\"book is-promoted full clearfix\">\n\n  \n    \n\n  \n  <div class=\"content\">\n    \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<div class=\"image\">\n<a href=\"?q=node/197\"><img width=\"640\" height=\"480\" border=\"0\" alt=\"talk_arm_general_1.jpg\" src=\"sites/yaffs.net/files/images/content/talk_arm_general_1.jpg\" /></a>\n<div class=\"caption\">\n &nbsp;\n</div>\n</div>\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    <js-bottom-placeholder token=\"bjGY_wKQM415nBXhDVV81wBZw8ddS3lFeOzx3rt3UxMN5ux27f409pNS760IK1ZUQ4MFYyVhJg\">\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:17:{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:21:\"user.node_grants:view\";i:13;s:16:\"user.permissions\";i:14;s:10:\"user.roles\";i:15;s:20:\"user.roles:anonymous\";i:16;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:48:{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:8:\"node:196\";i:44;s:9:\"node_view\";i:45;s:6:\"user:0\";i:46;s:6:\"user:1\";i:47;s:8:\"rendered\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:6:{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:18:{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:\"ARM-Linux talk - Slide 1 - Title | 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:2:\" \";}}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\";}}s:14:\"html_head_link\";a:4:{i:0;a:1:{i:0;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;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:29:\"/arm-linux-talk-slide-1-title\";}i:1;b:1;}i:2;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:9:\"/node/196\";}i:1;b:1;}i:3;a:2:{i:0;a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:29:\"/arm-linux-talk-slide-1-title\";}i:1;b:1;}}s:12:\"placeholders\";a:2:{s:210:\"<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>\";a:2:{s:6:\"#cache\";a:4:{s:4:\"keys\";a:3:{i:0;s:11:\"entity_view\";i:1;s:5:\"block\";i:2;s:17:\"yaffs_local_tasks\";}s:8:\"contexts\";a:3:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"theme\";i:2;s:16:\"user.permissions\";}s:4:\"tags\";a:2:{i:0;s:10:\"block_view\";i:1;s:36:\"config:block.block.yaffs_local_tasks\";}s:7:\"max-age\";i:-1;}s:13:\"#lazy_builder\";a:2:{i:0;s:42:\"Drupal\\block\\BlockViewBuilder::lazyBuilder\";i:1;a:3:{i:0;s:17:\"yaffs_local_tasks\";i:1;s:4:\"full\";i:2;N;}}}s:190:\"<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\";a:1:{s:13:\"#lazy_builder\";a:2:{i:0;s:57:\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\";i:1;a:1:{i:0;N;}}}}s:14:\"drupalSettings\";a:2:{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:37:\"html_response_attachment_placeholders\";a:4:{s:6:\"styles\";s:100:\"<css-placeholder token=\"bjGY_wKQM415nBXhDVV81wBZw8ddS3lFeOzx3rt3UxMN5ux27f409pNS760IK1ZUQ4MFYyVhJg\">\";s:7:\"scripts\";s:99:\"<js-placeholder token=\"bjGY_wKQM415nBXhDVV81wBZw8ddS3lFeOzx3rt3UxMN5ux27f409pNS760IK1ZUQ4MFYyVhJg\">\";s:14:\"scripts_bottom\";s:106:\"<js-bottom-placeholder token=\"bjGY_wKQM415nBXhDVV81wBZw8ddS3lFeOzx3rt3UxMN5ux27f409pNS760IK1ZUQ4MFYyVhJg\">\";s:4:\"head\";s:101:\"<head-placeholder token=\"bjGY_wKQM415nBXhDVV81wBZw8ddS3lFeOzx3rt3UxMN5ux27f409pNS760IK1ZUQ4MFYyVhJg\">\";}}}}',-1,1509067603.140,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 node:196 node_view rendered user:0 user:1','2744'),('response:[languages:language_interface]=en:[request_format]=html:[route]=entity.node.canonicald6c112a3ca3c2a7e124673f8933d0948deeb3a01c2b579ad79a1a37ec0b58004:[theme]=yaffs:[timezone]=Europe/London:[url]=https://XkyKTrw-ccV-fUglcWdz7jVDuPIReT9ziYVacl0uJYI','a:5:{s:7:\"#markup\";s:0:\"\";s:9:\"#attached\";s:0:\"\";s:6:\"#cache\";a:3:{s:8:\"contexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:14:\"request_format\";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:30:\"route.menu_active_trails:tools\";i:6;s:5:\"theme\";i:7;s:8:\"timezone\";i:8;s:3:\"url\";i:9;s:8:\"url.path\";i:10;s:17:\"url.path.is_front\";i:11;s:15:\"url.path.parent\";i:12;s:30:\"url.query_args:_wrapper_format\";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:4:\"tags\";a:48:{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:8:\"node:459\";i:44;s:9:\"node_view\";i:45;s:8:\"rendered\";i:46;s:6:\"user:0\";i:47;s:6:\"user:1\";}s:7:\"max-age\";i:-1;}s:17:\"#cache_properties\";a:1:{i:0;s:9:\"#response\";}s:9:\"#response\";O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:1:{s:8:\"no-cache\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:3:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";}s:10:\"\0*\0headers\";a:3:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:8:\"no-cache\";}s:4:\"date\";a:1:{i:0;s:29:\"Thu, 26 Oct 2017 14:24:04 GMT\";}}s:15:\"\0*\0cacheControl\";a:0:{}}s:10:\"\0*\0content\";s:14545:\"<!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    <head-placeholder token=\"WFvc_umtr-MZWrikPzx2TVsBUIpX9BbGq0PDMiUPksiBjfwz5uOtuiNA9mHVruibxYfBlDZ2RQ\">\n    <title>Building Yaffs into Linux | Yaffs - A Flash File System for embedded use</title>\n    <css-placeholder token=\"WFvc_umtr-MZWrikPzx2TVsBUIpX9BbGq0PDMiUPksiBjfwz5uOtuiNA9mHVruibxYfBlDZ2RQ\">\n    <js-placeholder token=\"WFvc_umtr-MZWrikPzx2TVsBUIpX9BbGq0PDMiUPksiBjfwz5uOtuiNA9mHVruibxYfBlDZ2RQ\">\n  </head>\n  <body class=\"fontyourface path-node page-node-type-help-video 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<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\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>Building Yaffs into Linux</span>\n</h1>\n\n<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>  <article role=\"article\" about=\"/videos/building-yaffs-linux\" class=\"help-video full clearfix\">\n\n  \n    \n\n  \n  <div class=\"content\">\n    \n      <div class=\"field field--name-field-video field--type-video field--label-hidden field--items\">\n              <div class=\"field--item\"><video data-setup=\"{}\" class=\"video-js vjs-default-skin\" preload=\"none\" controls style=\"width:854px;height:480px;\" autoplay  >\n      <source src=\"https://yaffs.net/sites/default/files/videos/preparing-to-compile-linux-with-yaffs2_0.mp4\"/>\n  </video></div>\n          </div>\n  \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p>&nbsp;</p>\n<p>This video shows you how to compile Yaffs into Linux. It’s just over 10 minutes long, and if you download it, it’s&nbsp;325MB. After watching this video you should be able to include Yaffs in Linux. Once you have Yaffs available you will be able to mount a simulated&nbsp;NAND&nbsp;device, or if you have a Flash device attached, you will be able to use it.&nbsp;The demo was run in a Virtualbox system, and is available as a&nbsp;<a href=\"http://www.yaffs.net/test-yaffs-under-linux-using-virtualbox-and-vagrant\">Vagrant box from our Downloads section</a>&nbsp;with details of how to build and use a simulated&nbsp;NAND&nbsp;device. &nbsp;</p>\n<p><em>The script for the video:</em></p>\n<p>Hello, today I\'m going to show you how to compile Yaffs into the linux kernel.&nbsp;Yaffs is the most widely used file system which is specialised for Flash memory. It\'s used in millions of devices, both under Linux and other operatings systems. It\'s available under the Gnu Public Licence – the GPL – and commercial terms.&nbsp;You can find out more about Yaffs at yaffs.net.</p>\n<p>Today we\'ll be targetting intel x86 but with some slight changes we could target another &nbsp;architecture – for instance ARM.&nbsp;This demo is being run in a Virtualbox machine, and the resulting system is available as a Vagrant box, so you can download the image and test it yourself.&nbsp;If you\'ve never used vagrant, it provides&nbsp; a way to get a virtual system up and running in a few minutes.</p>\n<p><strong>Login</strong></p>\n<p>We\'re starting off with a stock Ubunutu Precise 12.04 386 server. We\'re using 386 because it\'s the lowest common demoninator, so the virtualbox will run on any system capable of running virtualbox, but this works just as well for 64 bit architecture.</p>\n<p>Here we are at the command-line of a brand-new installation.&nbsp;To make a kernel with Yaffs you will need all the usual kernel-build tools for your distribution, the kernel source code, and the Yaffs source code.</p>\n<p>If you skipped the first video, you won\'t have seen how to download Yaffs. Here\'s a brief clip of retrieving a GPL licenced copy of the Yaffs source.</p>\n<p><strong>git clone git://<a href=\"http://www.aleph1.co.uk/yaffs2\">www.aleph1.co.uk/yaffs2</a></strong><br />\n<strong>ls</strong></p>\n<p>We\'re starting off in the directory where I stored the kernel and Yaffs source.<br />\nThe next step isn\'t strictly necessary, but it\'s useful to if you are going to be doing development: I\'m going to make a branch for my changes to the kernel. Of course if you are using subversion, cvs or some other system for version control then you\'ll want to skip this step or replace it</p>\n<p>Let\'s list the branches<br />\n<strong>git branch</strong><br />\nOnly one makes it easy.<br />\n<strong>Git checkout master -b yaffs-demo-x86</strong><br />\nOkay, so we\'ve created a branch.<br />\n<strong>git branch</strong><br />\nAnd the star indicates that we are working in our new branch.<br />\nNow we have the kernel source, but we need to include Yaffs.<br />\nLuckily Yaffs comes with a script which automates the source changes necessary to include it.<br />\n<strong>cd ../yaffs</strong><br />\nIt\'s always a good idea to check the README file. Especially if you are doing this yourself.<br />\n<strong>less readme-linux.txt</strong><br />\nSo the script we use to patch the kernel is<br />\n<strong>./patch-ker.sh c m ~/kernel/source</strong><br />\nThe c tells the script to copy the changes rather than linking them, and the m indicates that we want the multiprocess option because more than one process might be using Yaffs at one time.</p>\n<p>Right, Yaffs has been patched into the kernel.&nbsp;Now we need to configure the kernel build.<br />\nBecause I\'m working on a virtual machine, I don\'t need to worry about different flavours of the kernel configuration. I can just go ahead and edit the default configuration.&nbsp;To avoid a long compile, I\'m going to remove pretty much all of the non-essential drivers, and most of the hardware – remember this is running on a virtual machine.<br />\n<strong>make menuconfig</strong><br />\nTo include Yaffs we need to enable two things.&nbsp;<br />\nThe memory technology device support (MTD) and the caching block device access for MTD.<br />\nThe MTD settings are in the Device drivers section. Usually it will be on. The caching should be on too.&nbsp;Once those are enabled, Yaffs becomes available as an optional file system.<br />\nGo into File systems, Miscellaneous and enable Yaffs.</p>\n<p>Here\'s a look at the various options.</p>\n<p>I\'ve set up Yaffs. Now I\'m going to go ahead and turn off all the things that I don\'t need in this kernel. There are a lot of them, and there\'s no need to watch hundreds of items being unticked.<br />\n...Skipping ahead....<br />\nOnce the config is suitable, we can exit and save.</p>\n<p>Okay, we\'re ready to build the kernel.&nbsp;Just to make sure that everything is fine..</p>\n<p><strong>fakeroot make-kpkg clean</strong></p>\n<p>and let\'s kick the build off</p>\n<p><strong>fakeroot make-kpkg –initrd –append-to-version=yaffs kernel-image</strong></p>\n<p>and now, since this is running on a uniprocessor virtual machine, I\'ll be going for some lunch. But there\'s no need for you to wait...</p>\n<p>So, the build is finished. It took about 1/2 hour. Your mileage will vary.</p>\n<p>We have a Debian package, and I\'m going to go ahead and install that.</p>\n<p><strong>sudo dpkg&nbsp;–install</strong></p>\n<p>We should have our new build in the grub.&nbsp;If we reboot, we’ll have Yaffs available.&nbsp;In the next video we’ll show you how to set up a Yaffs file system.&nbsp;You can download a copy of the virtual machine but you’ll need vagrant to use it. Details are on the&nbsp;site.</p>\n<p>Thanks for&nbsp;watching.</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    <js-bottom-placeholder token=\"WFvc_umtr-MZWrikPzx2TVsBUIpX9BbGq0PDMiUPksiBjfwz5uOtuiNA9mHVruibxYfBlDZ2RQ\">\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:17:{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:21:\"user.node_grants:view\";i:13;s:16:\"user.permissions\";i:14;s:10:\"user.roles\";i:15;s:20:\"user.roles:anonymous\";i:16;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:48:{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:8:\"node:459\";i:44;s:9:\"node_view\";i:45;s:6:\"user:0\";i:46;s:6:\"user:1\";i:47;s:8:\"rendered\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:6:{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:15:\"videojs/videojs\";i:9;s:50:\"environment_indicator/drupal.environment_indicator\";}s:9:\"html_head\";a:18:{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:72:\"Building Yaffs into 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:198:\"This video shows you how to compile Yaffs into Linux. It’s just over 10 minutes long, and if you download it, it’s 325MB. After watching this video you should be able to include Yaffs in Linux.\";}}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\";}}s:14:\"html_head_link\";a:4:{i:0;a:1:{i:0;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;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:28:\"/videos/building-yaffs-linux\";}i:1;b:1;}i:2;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:9:\"/node/459\";}i:1;b:1;}i:3;a:2:{i:0;a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:28:\"/videos/building-yaffs-linux\";}i:1;b:1;}}s:12:\"placeholders\";a:2:{s:210:\"<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>\";a:2:{s:6:\"#cache\";a:4:{s:4:\"keys\";a:3:{i:0;s:11:\"entity_view\";i:1;s:5:\"block\";i:2;s:17:\"yaffs_local_tasks\";}s:8:\"contexts\";a:3:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"theme\";i:2;s:16:\"user.permissions\";}s:4:\"tags\";a:2:{i:0;s:10:\"block_view\";i:1;s:36:\"config:block.block.yaffs_local_tasks\";}s:7:\"max-age\";i:-1;}s:13:\"#lazy_builder\";a:2:{i:0;s:42:\"Drupal\\block\\BlockViewBuilder::lazyBuilder\";i:1;a:3:{i:0;s:17:\"yaffs_local_tasks\";i:1;s:4:\"full\";i:2;N;}}}s:190:\"<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\";a:1:{s:13:\"#lazy_builder\";a:2:{i:0;s:57:\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\";i:1;a:1:{i:0;N;}}}}s:14:\"drupalSettings\";a:2:{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:37:\"html_response_attachment_placeholders\";a:4:{s:6:\"styles\";s:100:\"<css-placeholder token=\"WFvc_umtr-MZWrikPzx2TVsBUIpX9BbGq0PDMiUPksiBjfwz5uOtuiNA9mHVruibxYfBlDZ2RQ\">\";s:7:\"scripts\";s:99:\"<js-placeholder token=\"WFvc_umtr-MZWrikPzx2TVsBUIpX9BbGq0PDMiUPksiBjfwz5uOtuiNA9mHVruibxYfBlDZ2RQ\">\";s:14:\"scripts_bottom\";s:106:\"<js-bottom-placeholder token=\"WFvc_umtr-MZWrikPzx2TVsBUIpX9BbGq0PDMiUPksiBjfwz5uOtuiNA9mHVruibxYfBlDZ2RQ\">\";s:4:\"head\";s:101:\"<head-placeholder token=\"WFvc_umtr-MZWrikPzx2TVsBUIpX9BbGq0PDMiUPksiBjfwz5uOtuiNA9mHVruibxYfBlDZ2RQ\">\";}}}}',-1,1509027844.627,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 node:459 node_view rendered user:0 user:1','2748'),('response:[languages:language_interface]=en:[request_format]=html:[route]=entity.node.canonicald85c9ba6b0fed66021a954429ea373e374d26c7b19cbbc5317101df1efff719e:[theme]=yaffs:[timezone]=Europe/London:[url]=https://z9foTKU0RxcgUjM67QaFFf2QBdYsY-3uw6uojrzWybY','a:5:{s:7:\"#markup\";s:0:\"\";s:9:\"#attached\";s:0:\"\";s:6:\"#cache\";a:3:{s:8:\"contexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:14:\"request_format\";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:30:\"route.menu_active_trails:tools\";i:6;s:5:\"theme\";i:7;s:8:\"timezone\";i:8;s:3:\"url\";i:9;s:8:\"url.path\";i:10;s:17:\"url.path.is_front\";i:11;s:15:\"url.path.parent\";i:12;s:30:\"url.query_args:_wrapper_format\";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:4:\"tags\";a:48:{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:8:\"node:371\";i:44;s:9:\"node_view\";i:45;s:8:\"rendered\";i:46;s:6:\"user:0\";i:47;s:6:\"user:5\";}s:7:\"max-age\";i:-1;}s:17:\"#cache_properties\";a:1:{i:0;s:9:\"#response\";}s:9:\"#response\";O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:1:{s:8:\"no-cache\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:3:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";}s:10:\"\0*\0headers\";a:3:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:8:\"no-cache\";}s:4:\"date\";a:1:{i:0;s:29:\"Fri, 27 Oct 2017 01:26:21 GMT\";}}s:15:\"\0*\0cacheControl\";a:0:{}}s:10:\"\0*\0content\";s:8221:\"<!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    <head-placeholder token=\"n2rn7Wx25qzAeFKfbW13y3HPY341Ndob9LwlL9ZB1BOIC572N6OcjG3lMDWAbsIfKtftFEEMrw\">\n    <title>yaffs_porting_guide_html_m11b1f893.png | Yaffs - A Flash File System for embedded use</title>\n    <css-placeholder token=\"n2rn7Wx25qzAeFKfbW13y3HPY341Ndob9LwlL9ZB1BOIC572N6OcjG3lMDWAbsIfKtftFEEMrw\">\n    <js-placeholder token=\"n2rn7Wx25qzAeFKfbW13y3HPY341Ndob9LwlL9ZB1BOIC572N6OcjG3lMDWAbsIfKtftFEEMrw\">\n  </head>\n  <body class=\"fontyourface path-node page-node-type-image 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<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\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>yaffs_porting_guide_html_m11b1f893.png</span>\n</h1>\n\n<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>  <article role=\"article\" about=\"/yaffs-porting-guide-html-m11b1f893-png\" class=\"image is-promoted full clearfix\">\n\n  \n    \n\n  \n  <div class=\"content\">\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    <js-bottom-placeholder token=\"n2rn7Wx25qzAeFKfbW13y3HPY341Ndob9LwlL9ZB1BOIC572N6OcjG3lMDWAbsIfKtftFEEMrw\">\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:17:{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:21:\"user.node_grants:view\";i:13;s:16:\"user.permissions\";i:14;s:10:\"user.roles\";i:15;s:20:\"user.roles:anonymous\";i:16;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:48:{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:8:\"node:371\";i:44;s:9:\"node_view\";i:45;s:6:\"user:0\";i:46;s:6:\"user:5\";i:47;s:8:\"rendered\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:6:{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:17:{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:85:\"yaffs_porting_guide_html_m11b1f893.png | 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\";}}s:14:\"html_head_link\";a:4:{i:0;a:1:{i:0;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;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:39:\"/yaffs-porting-guide-html-m11b1f893-png\";}i:1;b:1;}i:2;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:9:\"/node/371\";}i:1;b:1;}i:3;a:2:{i:0;a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:39:\"/yaffs-porting-guide-html-m11b1f893-png\";}i:1;b:1;}}s:12:\"placeholders\";a:2:{s:210:\"<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>\";a:2:{s:6:\"#cache\";a:4:{s:4:\"keys\";a:3:{i:0;s:11:\"entity_view\";i:1;s:5:\"block\";i:2;s:17:\"yaffs_local_tasks\";}s:8:\"contexts\";a:3:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"theme\";i:2;s:16:\"user.permissions\";}s:4:\"tags\";a:2:{i:0;s:10:\"block_view\";i:1;s:36:\"config:block.block.yaffs_local_tasks\";}s:7:\"max-age\";i:-1;}s:13:\"#lazy_builder\";a:2:{i:0;s:42:\"Drupal\\block\\BlockViewBuilder::lazyBuilder\";i:1;a:3:{i:0;s:17:\"yaffs_local_tasks\";i:1;s:4:\"full\";i:2;N;}}}s:190:\"<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\";a:1:{s:13:\"#lazy_builder\";a:2:{i:0;s:57:\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\";i:1;a:1:{i:0;N;}}}}s:14:\"drupalSettings\";a:2:{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:37:\"html_response_attachment_placeholders\";a:4:{s:6:\"styles\";s:100:\"<css-placeholder token=\"n2rn7Wx25qzAeFKfbW13y3HPY341Ndob9LwlL9ZB1BOIC572N6OcjG3lMDWAbsIfKtftFEEMrw\">\";s:7:\"scripts\";s:99:\"<js-placeholder token=\"n2rn7Wx25qzAeFKfbW13y3HPY341Ndob9LwlL9ZB1BOIC572N6OcjG3lMDWAbsIfKtftFEEMrw\">\";s:14:\"scripts_bottom\";s:106:\"<js-bottom-placeholder token=\"n2rn7Wx25qzAeFKfbW13y3HPY341Ndob9LwlL9ZB1BOIC572N6OcjG3lMDWAbsIfKtftFEEMrw\">\";s:4:\"head\";s:101:\"<head-placeholder token=\"n2rn7Wx25qzAeFKfbW13y3HPY341Ndob9LwlL9ZB1BOIC572N6OcjG3lMDWAbsIfKtftFEEMrw\">\";}}}}',-1,1509067581.912,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 node:371 node_view rendered user:0 user:5','2739'),('response:[languages:language_interface]=en:[request_format]=html:[route]=entity.node.canonicaldaf9fff79a4afbc9fdebafa4abb01c6839e51f22c11974146c9d7e99cde3aa10:[theme]=yaffs:[timezone]=Europe/London:[url]=https://nYW9YPUJ-CP-3BfGW5WG14NmR1GYbKMUoc0XPv11gDU','a:5:{s:7:\"#markup\";s:0:\"\";s:9:\"#attached\";s:0:\"\";s:6:\"#cache\";a:3:{s:8:\"contexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:14:\"request_format\";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:30:\"route.menu_active_trails:tools\";i:6;s:5:\"theme\";i:7;s:8:\"timezone\";i:8;s:3:\"url\";i:9;s:8:\"url.path\";i:10;s:17:\"url.path.is_front\";i:11;s:15:\"url.path.parent\";i:12;s:30:\"url.query_args:_wrapper_format\";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:4:\"tags\";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: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:8:\"node:407\";i:45;s:9:\"node_view\";i:46;s:8:\"rendered\";i:47;s:6:\"user:0\";i:48;s:6:\"user:1\";}s:7:\"max-age\";i:-1;}s:17:\"#cache_properties\";a:1:{i:0;s:9:\"#response\";}s:9:\"#response\";O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:1:{s:8:\"no-cache\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:3:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";}s:10:\"\0*\0headers\";a:3:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:8:\"no-cache\";}s:4:\"date\";a:1:{i:0;s:29:\"Fri, 27 Oct 2017 01:26:18 GMT\";}}s:15:\"\0*\0cacheControl\";a:0:{}}s:10:\"\0*\0content\";s:8953:\"<!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    <head-placeholder token=\"ltRyDmBIO3gHjkZeZfGx4SuGuZE_H8mdkGPmjUz8tL5MMSXrC8PDRag2XqzjrfvnPRC13QhDIQ\">\n    <title>Booting is fast... | Yaffs - A Flash File System for embedded use</title>\n    <css-placeholder token=\"ltRyDmBIO3gHjkZeZfGx4SuGuZE_H8mdkGPmjUz8tL5MMSXrC8PDRag2XqzjrfvnPRC13QhDIQ\">\n    <js-placeholder token=\"ltRyDmBIO3gHjkZeZfGx4SuGuZE_H8mdkGPmjUz8tL5MMSXrC8PDRag2XqzjrfvnPRC13QhDIQ\">\n  </head>\n  <body class=\"fontyourface path-node page-node-type-what-is-special-about-yaffs 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        <ol class=\"breadcrumb\">\n          <li >\n                  <a href=\"/features\">The best bits</a>\n              </li>\n          <li  class=\"active\">\n                  Booting is fast...\n              </li>\n      </ol>\n\n<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\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>Booting is fast...</span>\n</h1>\n\n<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>  <article role=\"article\" about=\"/features/booting-fast\" class=\"what-is-special-about-yaffs is-promoted full clearfix\">\n\n  \n    \n\n  \n  <div class=\"content\">\n    \n  <div class=\"field field--name-field-icon-text field--type-string field--label-above\">\n    <div class=\"field--label\">Icon - text</div>\n              <div class=\"field--item\">fa-space-shuttle</div>\n          </div>\n\n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\"><p>Being quick to boot was one of the fundamental requirements in Yaffs\' design. Boot-time scanning to build the file structure lists should require just one pass reading NAND memory.</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    <js-bottom-placeholder token=\"ltRyDmBIO3gHjkZeZfGx4SuGuZE_H8mdkGPmjUz8tL5MMSXrC8PDRag2XqzjrfvnPRC13QhDIQ\">\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:17:{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:21:\"user.node_grants:view\";i:13;s:16:\"user.permissions\";i:14;s:10:\"user.roles\";i:15;s:20:\"user.roles:anonymous\";i:16;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: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:8:\"node:407\";i:45;s:9:\"node_view\";i:46;s:6:\"user:0\";i:47;s:6:\"user:1\";i:48;s:8:\"rendered\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:6:{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:18:{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:\"Booting is fast... | 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:122:\"It is important for a Flash filesystem to boot fast, so boot speed was a fundamental consideration in the design of Yaffs.\";}}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\";}}s:14:\"html_head_link\";a:4:{i:0;a:1:{i:0;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;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:22:\"/features/booting-fast\";}i:1;b:1;}i:2;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:9:\"/node/407\";}i:1;b:1;}i:3;a:2:{i:0;a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:22:\"/features/booting-fast\";}i:1;b:1;}}s:12:\"placeholders\";a:2:{s:210:\"<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>\";a:2:{s:6:\"#cache\";a:4:{s:4:\"keys\";a:3:{i:0;s:11:\"entity_view\";i:1;s:5:\"block\";i:2;s:17:\"yaffs_local_tasks\";}s:8:\"contexts\";a:3:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"theme\";i:2;s:16:\"user.permissions\";}s:4:\"tags\";a:2:{i:0;s:10:\"block_view\";i:1;s:36:\"config:block.block.yaffs_local_tasks\";}s:7:\"max-age\";i:-1;}s:13:\"#lazy_builder\";a:2:{i:0;s:42:\"Drupal\\block\\BlockViewBuilder::lazyBuilder\";i:1;a:3:{i:0;s:17:\"yaffs_local_tasks\";i:1;s:4:\"full\";i:2;N;}}}s:190:\"<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\";a:1:{s:13:\"#lazy_builder\";a:2:{i:0;s:57:\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\";i:1;a:1:{i:0;N;}}}}s:14:\"drupalSettings\";a:2:{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:37:\"html_response_attachment_placeholders\";a:4:{s:6:\"styles\";s:100:\"<css-placeholder token=\"ltRyDmBIO3gHjkZeZfGx4SuGuZE_H8mdkGPmjUz8tL5MMSXrC8PDRag2XqzjrfvnPRC13QhDIQ\">\";s:7:\"scripts\";s:99:\"<js-placeholder token=\"ltRyDmBIO3gHjkZeZfGx4SuGuZE_H8mdkGPmjUz8tL5MMSXrC8PDRag2XqzjrfvnPRC13QhDIQ\">\";s:14:\"scripts_bottom\";s:106:\"<js-bottom-placeholder token=\"ltRyDmBIO3gHjkZeZfGx4SuGuZE_H8mdkGPmjUz8tL5MMSXrC8PDRag2XqzjrfvnPRC13QhDIQ\">\";s:4:\"head\";s:101:\"<head-placeholder token=\"ltRyDmBIO3gHjkZeZfGx4SuGuZE_H8mdkGPmjUz8tL5MMSXrC8PDRag2XqzjrfvnPRC13QhDIQ\">\";}}}}',-1,1509067578.204,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 node:407 node_view rendered user:0 user:1','2755'),('response:[languages:language_interface]=en:[request_format]=html:[route]=entity.node.canonicaldeedc4c64f089c85fdb5370cbc10861906bbd9b2965161317283312736ec4ae9:[theme]=yaffs:[timezone]=Europe/London:[url]=https://3TpXg1zDR89nNK0Qk7IbkucLCYs5AE5AbYS-xDQe_5Q','a:5:{s:7:\"#markup\";s:0:\"\";s:9:\"#attached\";s:0:\"\";s:6:\"#cache\";a:3:{s:8:\"contexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:14:\"request_format\";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:30:\"route.menu_active_trails:tools\";i:6;s:5:\"theme\";i:7;s:8:\"timezone\";i:8;s:3:\"url\";i:9;s:8:\"url.path\";i:10;s:17:\"url.path.is_front\";i:11;s:15:\"url.path.parent\";i:12;s:30:\"url.query_args:_wrapper_format\";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:4:\"tags\";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: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:8:\"node:456\";i:45;s:9:\"node_view\";i:46;s:8:\"rendered\";i:47;s:6:\"user:0\";i:48;s:6:\"user:1\";}s:7:\"max-age\";i:-1;}s:17:\"#cache_properties\";a:1:{i:0;s:9:\"#response\";}s:9:\"#response\";O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:1:{s:8:\"no-cache\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:3:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";}s:10:\"\0*\0headers\";a:3:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:8:\"no-cache\";}s:4:\"date\";a:1:{i:0;s:29:\"Fri, 27 Oct 2017 13:47:46 GMT\";}}s:15:\"\0*\0cacheControl\";a:0:{}}s:10:\"\0*\0content\";s:8500:\"<!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    <head-placeholder token=\"G-Eo_yJKTFdeS-pcVyoROn2x3FnBcR9RxzLyhNK5HuVlI4Xe_B1EG8xpnc-cRaRx9JiHiA3iKQ\">\n    <title>Yaffs structure diagram | Yaffs - A Flash File System for embedded use</title>\n    <css-placeholder token=\"G-Eo_yJKTFdeS-pcVyoROn2x3FnBcR9RxzLyhNK5HuVlI4Xe_B1EG8xpnc-cRaRx9JiHiA3iKQ\">\n    <js-placeholder token=\"G-Eo_yJKTFdeS-pcVyoROn2x3FnBcR9RxzLyhNK5HuVlI4Xe_B1EG8xpnc-cRaRx9JiHiA3iKQ\">\n  </head>\n  <body class=\"fontyourface path-node page-node-type-image 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<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\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>Yaffs structure diagram</span>\n</h1>\n\n<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>  <article role=\"article\" about=\"/yaffs-structure-diagram\" class=\"image full clearfix\">\n\n  \n    \n\n  \n  <div class=\"content\">\n    \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\"><p>This diagram shows the relationships between the Yaffs filesystem, the <a href=\"/documents/yaffs-direct-interface\">Yaffs Direct Interface</a>, Posix, the operating system and the flash hardware.</p>\n\n<p> </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    <js-bottom-placeholder token=\"G-Eo_yJKTFdeS-pcVyoROn2x3FnBcR9RxzLyhNK5HuVlI4Xe_B1EG8xpnc-cRaRx9JiHiA3iKQ\">\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:17:{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:21:\"user.node_grants:view\";i:13;s:16:\"user.permissions\";i:14;s:10:\"user.roles\";i:15;s:20:\"user.roles:anonymous\";i:16;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: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:8:\"node:456\";i:45;s:9:\"node_view\";i:46;s:6:\"user:0\";i:47;s:6:\"user:1\";i:48;s:8:\"rendered\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:6:{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:18:{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:70:\"Yaffs structure diagram | 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:146:\"This diagram shows the relationships between the Yaffs filesystem, the Yaffs Direct Interface, Posix, the operating system and the flash hardware.\";}}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\";}}s:14:\"html_head_link\";a:4:{i:0;a:1:{i:0;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;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:24:\"/yaffs-structure-diagram\";}i:1;b:1;}i:2;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:9:\"/node/456\";}i:1;b:1;}i:3;a:2:{i:0;a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:24:\"/yaffs-structure-diagram\";}i:1;b:1;}}s:12:\"placeholders\";a:2:{s:210:\"<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>\";a:2:{s:6:\"#cache\";a:4:{s:4:\"keys\";a:3:{i:0;s:11:\"entity_view\";i:1;s:5:\"block\";i:2;s:17:\"yaffs_local_tasks\";}s:8:\"contexts\";a:3:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"theme\";i:2;s:16:\"user.permissions\";}s:4:\"tags\";a:2:{i:0;s:10:\"block_view\";i:1;s:36:\"config:block.block.yaffs_local_tasks\";}s:7:\"max-age\";i:-1;}s:13:\"#lazy_builder\";a:2:{i:0;s:42:\"Drupal\\block\\BlockViewBuilder::lazyBuilder\";i:1;a:3:{i:0;s:17:\"yaffs_local_tasks\";i:1;s:4:\"full\";i:2;N;}}}s:190:\"<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\";a:1:{s:13:\"#lazy_builder\";a:2:{i:0;s:57:\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\";i:1;a:1:{i:0;N;}}}}s:14:\"drupalSettings\";a:2:{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:37:\"html_response_attachment_placeholders\";a:4:{s:6:\"styles\";s:100:\"<css-placeholder token=\"G-Eo_yJKTFdeS-pcVyoROn2x3FnBcR9RxzLyhNK5HuVlI4Xe_B1EG8xpnc-cRaRx9JiHiA3iKQ\">\";s:7:\"scripts\";s:99:\"<js-placeholder token=\"G-Eo_yJKTFdeS-pcVyoROn2x3FnBcR9RxzLyhNK5HuVlI4Xe_B1EG8xpnc-cRaRx9JiHiA3iKQ\">\";s:14:\"scripts_bottom\";s:106:\"<js-bottom-placeholder token=\"G-Eo_yJKTFdeS-pcVyoROn2x3FnBcR9RxzLyhNK5HuVlI4Xe_B1EG8xpnc-cRaRx9JiHiA3iKQ\">\";s:4:\"head\";s:101:\"<head-placeholder token=\"G-Eo_yJKTFdeS-pcVyoROn2x3FnBcR9RxzLyhNK5HuVlI4Xe_B1EG8xpnc-cRaRx9JiHiA3iKQ\">\";}}}}',-1,1509112066.808,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 node:456 node_view rendered user:0 user:1','2756'),('response:[languages:language_interface]=en:[request_format]=html:[route]=entity.node.canonicale2c7daa5922e9bc70e2ec7d68cb38d9dfd99e7f81d4a478fd7d7a66916f88ac0:[theme]=yaffs:[timezone]=Europe/London:[url]=https://ibLBkEGl8WpcDlTUBg75aYkJ5y2ye0nlE9AwnktQbWU','a:5:{s:7:\"#markup\";s:0:\"\";s:9:\"#attached\";s:0:\"\";s:6:\"#cache\";a:3:{s:8:\"contexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:14:\"request_format\";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:30:\"route.menu_active_trails:tools\";i:6;s:5:\"theme\";i:7;s:8:\"timezone\";i:8;s:3:\"url\";i:9;s:8:\"url.path\";i:10;s:17:\"url.path.is_front\";i:11;s:15:\"url.path.parent\";i:12;s:30:\"url.query_args:_wrapper_format\";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:4:\"tags\";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: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:8:\"node:428\";i:45;s:9:\"node_view\";i:46;s:8:\"rendered\";i:47;s:6:\"user:0\";i:48;s:6:\"user:1\";}s:7:\"max-age\";i:-1;}s:17:\"#cache_properties\";a:1:{i:0;s:9:\"#response\";}s:9:\"#response\";O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:1:{s:8:\"no-cache\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:3:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";}s:10:\"\0*\0headers\";a:3:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:8:\"no-cache\";}s:4:\"date\";a:1:{i:0;s:29:\"Fri, 27 Oct 2017 01:26:14 GMT\";}}s:15:\"\0*\0cacheControl\";a:0:{}}s:10:\"\0*\0content\";s:9356:\"<!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    <head-placeholder token=\"4v8nkPEvqvxTGJX10cEBK95wW-qrj5pkWj2YrPlxslsM0OGCRAPdzojGYgciSmP91HSyZAMnWQ\">\n    <title>A file system designed for Flash memory... | Yaffs - A Flash File System for embedded use</title>\n    <css-placeholder token=\"4v8nkPEvqvxTGJX10cEBK95wW-qrj5pkWj2YrPlxslsM0OGCRAPdzojGYgciSmP91HSyZAMnWQ\">\n    <js-placeholder token=\"4v8nkPEvqvxTGJX10cEBK95wW-qrj5pkWj2YrPlxslsM0OGCRAPdzojGYgciSmP91HSyZAMnWQ\">\n  </head>\n  <body class=\"fontyourface path-node page-node-type-what-is-special-about-yaffs 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        <ol class=\"breadcrumb\">\n          <li >\n                  <a href=\"/features\">The best bits</a>\n              </li>\n          <li  class=\"active\">\n                  A file system designed for Flash memory...\n              </li>\n      </ol>\n\n<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\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>A file system designed for Flash memory...</span>\n</h1>\n\n<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>  <article role=\"article\" about=\"/features/file-system-designed-flash-memory\" class=\"what-is-special-about-yaffs is-promoted full clearfix\">\n\n  \n    \n\n  \n  <div class=\"content\">\n    \n  <div class=\"field field--name-field-icon-text field--type-string field--label-above\">\n    <div class=\"field--label\">Icon - text</div>\n              <div class=\"field--item\">fa-microchip</div>\n          </div>\n\n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\"><p>Yaffs was designed from the ground up for Flash memory. It is best with NAND Flash but can be used with NOR too. It has mechanisms for wear-levelling, and special attention has been paid to the safety of the system even under power-failure. It is works well with MLC Nand, as well as SLC; it is compatible with a wide range of Flash, including Toshiba/Sandisk MLC parts.  See also the document   Considerations in Using a Flash File System  for a discussion of the importance of reliability.</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    <js-bottom-placeholder token=\"4v8nkPEvqvxTGJX10cEBK95wW-qrj5pkWj2YrPlxslsM0OGCRAPdzojGYgciSmP91HSyZAMnWQ\">\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:17:{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:21:\"user.node_grants:view\";i:13;s:16:\"user.permissions\";i:14;s:10:\"user.roles\";i:15;s:20:\"user.roles:anonymous\";i:16;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: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:8:\"node:428\";i:45;s:9:\"node_view\";i:46;s:6:\"user:0\";i:47;s:6:\"user:1\";i:48;s:8:\"rendered\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:6:{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:18:{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:89:\"A file system designed for Flash memory... | 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:260:\"Yaffs is designed to ensure data safety, whilst offering the advantages of NAND Flash. It works with SLC and MLC NAND Flash and also with NOR Flash. See the document Considerations in Using a Flash File System for a discussion of the importance of reliability.\";}}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\";}}s:14:\"html_head_link\";a:4:{i:0;a:1:{i:0;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;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:43:\"/features/file-system-designed-flash-memory\";}i:1;b:1;}i:2;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:9:\"/node/428\";}i:1;b:1;}i:3;a:2:{i:0;a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:43:\"/features/file-system-designed-flash-memory\";}i:1;b:1;}}s:12:\"placeholders\";a:2:{s:210:\"<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>\";a:2:{s:6:\"#cache\";a:4:{s:4:\"keys\";a:3:{i:0;s:11:\"entity_view\";i:1;s:5:\"block\";i:2;s:17:\"yaffs_local_tasks\";}s:8:\"contexts\";a:3:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"theme\";i:2;s:16:\"user.permissions\";}s:4:\"tags\";a:2:{i:0;s:10:\"block_view\";i:1;s:36:\"config:block.block.yaffs_local_tasks\";}s:7:\"max-age\";i:-1;}s:13:\"#lazy_builder\";a:2:{i:0;s:42:\"Drupal\\block\\BlockViewBuilder::lazyBuilder\";i:1;a:3:{i:0;s:17:\"yaffs_local_tasks\";i:1;s:4:\"full\";i:2;N;}}}s:190:\"<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\";a:1:{s:13:\"#lazy_builder\";a:2:{i:0;s:57:\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\";i:1;a:1:{i:0;N;}}}}s:14:\"drupalSettings\";a:2:{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:37:\"html_response_attachment_placeholders\";a:4:{s:6:\"styles\";s:100:\"<css-placeholder token=\"4v8nkPEvqvxTGJX10cEBK95wW-qrj5pkWj2YrPlxslsM0OGCRAPdzojGYgciSmP91HSyZAMnWQ\">\";s:7:\"scripts\";s:99:\"<js-placeholder token=\"4v8nkPEvqvxTGJX10cEBK95wW-qrj5pkWj2YrPlxslsM0OGCRAPdzojGYgciSmP91HSyZAMnWQ\">\";s:14:\"scripts_bottom\";s:106:\"<js-bottom-placeholder token=\"4v8nkPEvqvxTGJX10cEBK95wW-qrj5pkWj2YrPlxslsM0OGCRAPdzojGYgciSmP91HSyZAMnWQ\">\";s:4:\"head\";s:101:\"<head-placeholder token=\"4v8nkPEvqvxTGJX10cEBK95wW-qrj5pkWj2YrPlxslsM0OGCRAPdzojGYgciSmP91HSyZAMnWQ\">\";}}}}',-1,1509067574.110,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 node:428 node_view rendered user:0 user:1','2755'),('response:[languages:language_interface]=en:[request_format]=html:[route]=entity.node.canonicale590f29ee67e35cef21501adea93f57f856733e32c38b3b131335ab458d60de2:[theme]=yaffs:[timezone]=Europe/London:[url]=https://IOTGtK9L-0YfJo63j-jcoWd9kP-winN2xmUqGbgb2rg','a:5:{s:7:\"#markup\";s:0:\"\";s:9:\"#attached\";s:0:\"\";s:6:\"#cache\";a:3:{s:8:\"contexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:14:\"request_format\";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:30:\"route.menu_active_trails:tools\";i:6;s:5:\"theme\";i:7;s:8:\"timezone\";i:8;s:3:\"url\";i:9;s:8:\"url.path\";i:10;s:17:\"url.path.is_front\";i:11;s:15:\"url.path.parent\";i:12;s:30:\"url.query_args:_wrapper_format\";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:4:\"tags\";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: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:8:\"node:457\";i:45;s:9:\"node_view\";i:46;s:8:\"rendered\";i:47;s:6:\"user:0\";i:48;s:6:\"user:1\";}s:7:\"max-age\";i:-1;}s:17:\"#cache_properties\";a:1:{i:0;s:9:\"#response\";}s:9:\"#response\";O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:1:{s:8:\"no-cache\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:3:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";}s:10:\"\0*\0headers\";a:3:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:8:\"no-cache\";}s:4:\"date\";a:1:{i:0;s:29:\"Fri, 27 Oct 2017 14:27:36 GMT\";}}s:15:\"\0*\0cacheControl\";a:0:{}}s:10:\"\0*\0content\";s:8909:\"<!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    <head-placeholder token=\"udiBQ8mvQNn5tQ5L1wlEWixtIMeMaM-O_byBQcvAT-Doy-EoUAai6pQEuk8PF0qCLRA-hfZIXg\">\n    <title>Google Android | Yaffs - A Flash File System for embedded use</title>\n    <css-placeholder token=\"udiBQ8mvQNn5tQ5L1wlEWixtIMeMaM-O_byBQcvAT-Doy-EoUAai6pQEuk8PF0qCLRA-hfZIXg\">\n    <js-placeholder token=\"udiBQ8mvQNn5tQ5L1wlEWixtIMeMaM-O_byBQcvAT-Doy-EoUAai6pQEuk8PF0qCLRA-hfZIXg\">\n  </head>\n  <body class=\"fontyourface path-node page-node-type-yaffs-user-logo 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<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\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>Google Android</span>\n</h1>\n\n<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>  <article role=\"article\" about=\"/logos/google-android\" class=\"yaffs-user-logo is-sticky full clearfix\">\n\n  \n    \n\n  \n  <div class=\"content\">\n    \n            <div class=\"field field--name-field-logo-link field--type-link field--label-hidden field--item\"><a href=\"http://www.android.com/\">Google Android</a></div>\n      \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\"><p>Google Android and all the phone manufacturers who use it, use Yaffs as the default filesystem in some versions of Android.</p>\n\n<p>The Android Robot logo is reproduced from work created and <a href=\"http://code.google.com/policies.html\">shared by the Android Open Source Project</a> and used according to terms described in the <a href=\"http://creativecommons.org/licenses/by/2.5/\">Creative Commons 2.5 Attribution License</a>.</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    <js-bottom-placeholder token=\"udiBQ8mvQNn5tQ5L1wlEWixtIMeMaM-O_byBQcvAT-Doy-EoUAai6pQEuk8PF0qCLRA-hfZIXg\">\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:17:{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:21:\"user.node_grants:view\";i:13;s:16:\"user.permissions\";i:14;s:10:\"user.roles\";i:15;s:20:\"user.roles:anonymous\";i:16;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: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:8:\"node:457\";i:45;s:9:\"node_view\";i:46;s:6:\"user:0\";i:47;s:6:\"user:1\";i:48;s:8:\"rendered\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:6:{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:18:{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:\"Google Android | 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:123:\"Google Android and all the phone manufacturers who use it, use Yaffs as the default filesystem in some versions of Android.\";}}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\";}}s:14:\"html_head_link\";a:4:{i:0;a:1:{i:0;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;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:21:\"/logos/google-android\";}i:1;b:1;}i:2;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:9:\"/node/457\";}i:1;b:1;}i:3;a:2:{i:0;a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:21:\"/logos/google-android\";}i:1;b:1;}}s:12:\"placeholders\";a:2:{s:210:\"<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>\";a:2:{s:6:\"#cache\";a:4:{s:4:\"keys\";a:3:{i:0;s:11:\"entity_view\";i:1;s:5:\"block\";i:2;s:17:\"yaffs_local_tasks\";}s:8:\"contexts\";a:3:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"theme\";i:2;s:16:\"user.permissions\";}s:4:\"tags\";a:2:{i:0;s:10:\"block_view\";i:1;s:36:\"config:block.block.yaffs_local_tasks\";}s:7:\"max-age\";i:-1;}s:13:\"#lazy_builder\";a:2:{i:0;s:42:\"Drupal\\block\\BlockViewBuilder::lazyBuilder\";i:1;a:3:{i:0;s:17:\"yaffs_local_tasks\";i:1;s:4:\"full\";i:2;N;}}}s:190:\"<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\";a:1:{s:13:\"#lazy_builder\";a:2:{i:0;s:57:\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\";i:1;a:1:{i:0;N;}}}}s:14:\"drupalSettings\";a:2:{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:37:\"html_response_attachment_placeholders\";a:4:{s:6:\"styles\";s:100:\"<css-placeholder token=\"udiBQ8mvQNn5tQ5L1wlEWixtIMeMaM-O_byBQcvAT-Doy-EoUAai6pQEuk8PF0qCLRA-hfZIXg\">\";s:7:\"scripts\";s:99:\"<js-placeholder token=\"udiBQ8mvQNn5tQ5L1wlEWixtIMeMaM-O_byBQcvAT-Doy-EoUAai6pQEuk8PF0qCLRA-hfZIXg\">\";s:14:\"scripts_bottom\";s:106:\"<js-bottom-placeholder token=\"udiBQ8mvQNn5tQ5L1wlEWixtIMeMaM-O_byBQcvAT-Doy-EoUAai6pQEuk8PF0qCLRA-hfZIXg\">\";s:4:\"head\";s:101:\"<head-placeholder token=\"udiBQ8mvQNn5tQ5L1wlEWixtIMeMaM-O_byBQcvAT-Doy-EoUAai6pQEuk8PF0qCLRA-hfZIXg\">\";}}}}',-1,1509114456.353,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 node:457 node_view rendered user:0 user:1','2756'),('response:[languages:language_interface]=en:[request_format]=html:[route]=entity.node.canonicale5c105dec93fca18ddbe7f3775de915b2343e1b43b1c388dfdfe5b398ed9779f:[theme]=yaffs:[timezone]=Europe/London:[url]=https://2arrB_dMEm7Q27T7PTrkdgaWOvW3PC0ITW-aVGgZFtw','a:5:{s:7:\"#markup\";s:0:\"\";s:9:\"#attached\";s:0:\"\";s:6:\"#cache\";a:3:{s:8:\"contexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:14:\"request_format\";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:30:\"route.menu_active_trails:tools\";i:6;s:5:\"theme\";i:7;s:8:\"timezone\";i:8;s:3:\"url\";i:9;s:8:\"url.path\";i:10;s:17:\"url.path.is_front\";i:11;s:15:\"url.path.parent\";i:12;s:30:\"url.query_args:_wrapper_format\";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:4:\"tags\";a:48:{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:8:\"node:351\";i:44;s:9:\"node_view\";i:45;s:8:\"rendered\";i:46;s:6:\"user:0\";i:47;s:6:\"user:3\";}s:7:\"max-age\";i:-1;}s:17:\"#cache_properties\";a:1:{i:0;s:9:\"#response\";}s:9:\"#response\";O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:1:{s:8:\"no-cache\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:3:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";}s:10:\"\0*\0headers\";a:3:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:8:\"no-cache\";}s:4:\"date\";a:1:{i:0;s:29:\"Fri, 27 Oct 2017 01:25:53 GMT\";}}s:15:\"\0*\0cacheControl\";a:0:{}}s:10:\"\0*\0content\";s:11564:\"<!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    <head-placeholder token=\"i_s_4_31096YhTfiCWypREWxc0ZGMBr_xy3RWrpLSnqN6wk3EBRB6bSucokLo-aLhJVm28lTlQ\">\n    <title>YAFFS Debugging | Yaffs - A Flash File System for embedded use</title>\n    <css-placeholder token=\"i_s_4_31096YhTfiCWypREWxc0ZGMBr_xy3RWrpLSnqN6wk3EBRB6bSucokLo-aLhJVm28lTlQ\">\n    <js-placeholder token=\"i_s_4_31096YhTfiCWypREWxc0ZGMBr_xy3RWrpLSnqN6wk3EBRB6bSucokLo-aLhJVm28lTlQ\">\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<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\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\">YAFFS Debugging</span>\n</h1>\n\n<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>  <article role=\"article\" about=\"/yaffs-debugging\" typeof=\"schema:WebPage\" class=\"page is-promoted is-sticky full clearfix\">\n\n  \n      <span property=\"schema:name\" content=\"YAFFS Debugging\" 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>How to control debugging in yaffs</h1>\n<p>YAFFS provides a debugging mechanism which can be controlled at runtime if you have access to /proc, normally via a shell. If you need to trace things before you get to a shell, then you can set default trace options at compile time.</p>\n<h2>Available Trace Flags</h2>\n<table>\n<tr>\n <th>name</th>\n <th>C #define</th>\n <th>bitmask value</th>\n</tr>\n<tr>\n <td>error </td>\n <td>YAFFS_TRACE_ERROR </td>\n <td>0x00000001</td>\n</tr>\n<tr>\n <td>os </td>\n <td>YAFFS_TRACE_OS </td>\n <td>0x00000002</td>\n</tr>\n<tr>\n <td>allocate </td>\n <td>YAFFS_TRACE_ALLOCATE </td>\n <td>0x00000004</td>\n</tr>\n<tr>\n <td>scan </td>\n <td>YAFFS_TRACE_SCAN </td>\n <td>0x00000008</td>\n</tr>\n<tr>\n <td>bad_blocks </td>\n <td>YAFFS_TRACE_BAD_BLOCKS </td>\n <td>0x00000010</td>\n</tr>\n<tr>\n <td>erase </td>\n <td>YAFFS_TRACE_ERASE </td>\n <td>0x00000020</td>\n</tr>\n<tr>\n <td>gc </td>\n <td>YAFFS_TRACE_GC </td>\n <td>0x00000040</td>\n</tr>\n<tr>\n <td>write </td>\n <td>YAFFS_TRACE_WRITE </td>\n <td>0x00000080</td>\n</tr>\n<tr>\n <td>tracing </td>\n <td>YAFFS_TRACE_TRACING </td>\n <td>0x00000100</td>\n</tr>\n<tr>\n <td>deletion </td>\n <td>YAFFS_TRACE_DELETION </td>\n <td>0x00000200</td>\n</tr>\n<tr>\n <td>buffers </td>\n <td>YAFFS_TRACE_BUFFERS </td>\n <td>0x00000400</td>\n</tr>\n<tr>\n <td>nandaccess </td>\n <td>YAFFS_TRACE_NANDACCESS </td>\n <td>0x00000800</td>\n</tr>\n<tr>\n <td>gc_detail </td>\n <td>YAFFS_TRACE_GC_DETAIL </td>\n <td>0x00001000</td>\n</tr>\n<tr>\n <td>scan_debug </td>\n <td>YAFFS_TRACE_SCAN_DEBUG </td>\n <td>0x00002000</td>\n</tr>\n<tr>\n <td>mtd </td>\n <td>YAFFS_TRACE_MTD </td>\n <td>0x00004000</td>\n</tr>\n<tr>\n <td>always </td>\n <td>YAFFS_TRACE_ALWAYS </td>\n <td>0x40000000</td>\n</tr>\n<tr>\n <td>bug </td>\n <td>YAFFS_TRACE_BUG </td>\n <td>0x80000000</td>\n</tr>\n</table>\n<h2>Flag meanings</h2>\n<p>The flags cover possible debugging messages from various aspects of the filesystem - initial scanning, mtd interface, writing, nand access, garbage collection, OS interaction etc. Turning on everything results an awful lot of trace info, so it is usually best to just enable a few relevant flags.</p>\n<h2>Setting flags at runtime</h2>\n<p>The flags can be set or cleared by echoing the name of the flag into /proc/yaffs with a \'+\' or \'-\':<br />\n<code>echo +os-write &gt; /proc/yaffs</code></p>\n<p>It can be set to to all or none using \'=\', and then flags can be added or removed:<br />\n<code>echo =none+os+write &gt; /proc/yaffs</code></p>\n<p>And you can use numerical values, if you are so inclined (using standard C format):<br />\n<code>echo 0xf00001 &gt; /proc/yaffs</code></p>\n<p>So<br />\n<code>echo all &gt; /proc/yaffs</code><br />\nwill turn all tracing on</p>\n<p><b>Note</b> that you only see the output showing you the current trace state if the \'always\' (YAFFS_TRACE_ALWAYS) flag is set, so to see what you are doing do this:<br />\n<code>echo +always &gt; /proc/yaffs</code></p>\n<h2>Setting flags at compile time</h2>\n<p>Flags can be set in the code at compile-time by setting <code>yaffs_traceMask</code> in <code>yaffs_fs.c</code> (add new flags to <code>always</code> and <code>bad_blocks</code> which are set by default)</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    <js-bottom-placeholder token=\"i_s_4_31096YhTfiCWypREWxc0ZGMBr_xy3RWrpLSnqN6wk3EBRB6bSucokLo-aLhJVm28lTlQ\">\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:17:{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:21:\"user.node_grants:view\";i:13;s:16:\"user.permissions\";i:14;s:10:\"user.roles\";i:15;s:20:\"user.roles:anonymous\";i:16;s:24:\"user.roles:authenticated\";}s:12:\"\0*\0cacheTags\";a:48:{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:8:\"node:351\";i:44;s:9:\"node_view\";i:45;s:6:\"user:0\";i:46;s:6:\"user:3\";i:47;s:8:\"rendered\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:6:{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:18:{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:62:\"YAFFS Debugging | 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:203:\"YAFFS provides a debugging mechanism which can be controlled at runtime, or set at build time. This page descirbes the options available and how to use them, for when you need to do some troubleshooting.\";}}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\";}}s:14:\"html_head_link\";a:4:{i:0;a:1:{i:0;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;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:16:\"/yaffs-debugging\";}i:1;b:1;}i:2;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:9:\"/node/351\";}i:1;b:1;}i:3;a:2:{i:0;a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:16:\"/yaffs-debugging\";}i:1;b:1;}}s:12:\"placeholders\";a:2:{s:210:\"<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>\";a:2:{s:6:\"#cache\";a:4:{s:4:\"keys\";a:3:{i:0;s:11:\"entity_view\";i:1;s:5:\"block\";i:2;s:17:\"yaffs_local_tasks\";}s:8:\"contexts\";a:3:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"theme\";i:2;s:16:\"user.permissions\";}s:4:\"tags\";a:2:{i:0;s:10:\"block_view\";i:1;s:36:\"config:block.block.yaffs_local_tasks\";}s:7:\"max-age\";i:-1;}s:13:\"#lazy_builder\";a:2:{i:0;s:42:\"Drupal\\block\\BlockViewBuilder::lazyBuilder\";i:1;a:3:{i:0;s:17:\"yaffs_local_tasks\";i:1;s:4:\"full\";i:2;N;}}}s:190:\"<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\";a:1:{s:13:\"#lazy_builder\";a:2:{i:0;s:57:\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\";i:1;a:1:{i:0;N;}}}}s:14:\"drupalSettings\";a:2:{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:37:\"html_response_attachment_placeholders\";a:4:{s:6:\"styles\";s:100:\"<css-placeholder token=\"i_s_4_31096YhTfiCWypREWxc0ZGMBr_xy3RWrpLSnqN6wk3EBRB6bSucokLo-aLhJVm28lTlQ\">\";s:7:\"scripts\";s:99:\"<js-placeholder token=\"i_s_4_31096YhTfiCWypREWxc0ZGMBr_xy3RWrpLSnqN6wk3EBRB6bSucokLo-aLhJVm28lTlQ\">\";s:14:\"scripts_bottom\";s:106:\"<js-bottom-placeholder token=\"i_s_4_31096YhTfiCWypREWxc0ZGMBr_xy3RWrpLSnqN6wk3EBRB6bSucokLo-aLhJVm28lTlQ\">\";s:4:\"head\";s:101:\"<head-placeholder token=\"i_s_4_31096YhTfiCWypREWxc0ZGMBr_xy3RWrpLSnqN6wk3EBRB6bSucokLo-aLhJVm28lTlQ\">\";}}}}',-1,1509067553.836,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 node:351 node_view rendered user:0 user:3','2738'),('response:[languages:language_interface]=en:[request_format]=html:[route]=entity.node.canonicale82070341cd7f400f046c03c667be2da717333c671b5092797c0391d5167369e:[theme]=yaffs:[timezone]=Europe/London:[url]=https://pkWVbK8lRgGFgtRYJAh86eCGQfqOmQRVUjd9cEbEHHQ','a:5:{s:7:\"#markup\";s:0:\"\";s:9:\"#attached\";s:0:\"\";s:6:\"#cache\";a:3:{s:8:\"contexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:14:\"request_format\";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:30:\"route.menu_active_trails:tools\";i:6;s:5:\"theme\";i:7;s:8:\"timezone\";i:8;s:3:\"url\";i:9;s:8:\"url.path\";i:10;s:17:\"url.path.is_front\";i:11;s:15:\"url.path.parent\";i:12;s:30:\"url.query_args:_wrapper_format\";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:4:\"tags\";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: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:7:\"file:85\";i:45;s:8:\"node:451\";i:46;s:9:\"node_view\";i:47;s:8:\"rendered\";i:48;s:6:\"user:0\";i:49;s:6:\"user:1\";}s:7:\"max-age\";i:-1;}s:17:\"#cache_properties\";a:1:{i:0;s:9:\"#response\";}s:9:\"#response\";O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:1:{s:8:\"no-cache\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:3:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";}s:10:\"\0*\0headers\";a:3:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:8:\"no-cache\";}s:4:\"date\";a:1:{i:0;s:29:\"Thu, 26 Oct 2017 12:10:21 GMT\";}}s:15:\"\0*\0cacheControl\";a:0:{}}s:10:\"\0*\0content\";s:21611:\"<!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    <head-placeholder token=\"NJu3sb5V_KmwQ_X2ey0XE9ypywwiwo6DliUEjJQH5S2aNdE8hw2sCMuF_dIVydKeI0jx2w6C-w\">\n    <title>Yaffs Tuning | Yaffs - A Flash File System for embedded use</title>\n    <css-placeholder token=\"NJu3sb5V_KmwQ_X2ey0XE9ypywwiwo6DliUEjJQH5S2aNdE8hw2sCMuF_dIVydKeI0jx2w6C-w\">\n    <js-placeholder token=\"NJu3sb5V_KmwQ_X2ey0XE9ypywwiwo6DliUEjJQH5S2aNdE8hw2sCMuF_dIVydKeI0jx2w6C-w\">\n  </head>\n  <body class=\"fontyourface path-node page-node-type-paper 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        <ol class=\"breadcrumb\">\n          <li >\n                  <a href=\"/documents\">Documents</a>\n              </li>\n          <li  class=\"active\">\n                  Yaffs Tuning\n              </li>\n      </ol>\n\n<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\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>Yaffs Tuning</span>\n</h1>\n\n<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>  <article role=\"article\" about=\"/documents/yaffs-tuning\" class=\"paper is-promoted full clearfix\">\n\n  \n    \n\n      <footer>\n      \n      <div class=\"author\">\n        Submitted by <span><span lang=\"\" about=\"/user/admin\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Admin</span></span>\n on <span>22 July, 2012 - 8:23pm</span>\n        \n      </div>\n    </footer>\n  \n  <div class=\"content\">\n    \n      <div class=\"field field--name-upload field--type-file field--label-hidden field--items\">\n              <div class=\"field--item\"><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>\n          </div>\n  \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\"><p> </p>\n\n<h2>1 Yaffs Direct Configuration</h2>\n\n<p>Yaffs behaviour is dictated by compile time and run-time flags.</p>\n\n<h3>1.1 Initialisation Parameters</h3>\n\n<p>Each yaffs device is configured by a yaffs_DeviceParameterStruct structure which is part of the yaffs_DeviceStruct structure. This contains the following fields:</p>\n\n<table><colgroup><col /><col /></colgroup><tr><td>\n			<p>name</p>\n			</td>\n			<td>\n			<p>An optional name for the device</p>\n			</td>\n		</tr><tr><td>\n			<p>totalBytesPerChunk</p>\n			</td>\n			<td>\n			<p>The number of bytes in the data area of the flash page. If inbandTags is not set then this whole area will be used to store data and the tags will be stored in the spare area. If inbandTags is set then part of this area will be used to store tags and the rest will be used to store data.</p>\n			</td>\n		</tr><tr><td>\n			<p>spareBytesPerChunk</p>\n			</td>\n			<td>\n			<p>The number of available bytes in the spare area of the flash page. This excludes space used by ECC, bad block markers etc.</p>\n			</td>\n		</tr><tr><td>\n			<p>startBlock</p>\n			</td>\n			<td>\n			<p>The first block in the partition to be used. 0 for first block.</p>\n			</td>\n		</tr><tr><td>\n			<p>endBlock</p>\n			</td>\n			<td>\n			<p>The last block in the partition to be used.</p>\n			</td>\n		</tr><tr><td>\n			<p> </p>\n			</td>\n			<td>\n			<p> </p>\n			</td>\n		</tr><tr><td>\n			<p>nReservedBlocks</p>\n			</td>\n			<td>\n			<p>Number of good blocks blocks reserved for garbage collection etc. Needs to be at least 2, but 5 would be a more typical number.</p>\n			</td>\n		</tr><tr><td>\n			<p>inbandTags</p>\n			</td>\n			<td>\n			<p>Yaffs2 only:Flag indicating whether tags should be stored in the data area. If inbandTags is set then the short Op cache must be enabled (ie nShortOpCaches must be non-zero.</p>\n			</td>\n		</tr><tr><td>\n			<p>useNANDECC</p>\n			</td>\n			<td>\n			<p>Yaffs1 only: Flag indicating whether the driver performs ECC. If this is zero then Yaffs will perform ECC.</p>\n			</td>\n		</tr><tr><td>\n			<p>noTagsECC</p>\n			</td>\n			<td>\n			<p>Yaffs2 only: Flag indicating whether the tags have ECC attached to them.</p>\n			</td>\n		</tr><tr><td>\n			<p>isYaffs2</p>\n			</td>\n			<td>\n			<p>Flag indicating if this is using the Yaffs2 mechanism. If this is not set then Yaffs1 mode of operation is provided.</p>\n			</td>\n		</tr><tr><td>\n			<p> </p>\n			</td>\n			<td>\n			<p> </p>\n			</td>\n		</tr><tr><td>\n			<p>nShortOpCaches</p>\n			</td>\n			<td>\n			<p>Number of chunks to store in the short operation cache. Zero disables caching. Typical value is 10 to 20 or so. Caching is required for inband tags.</p>\n			</td>\n		</tr><tr><td>\n			<p>emptyLostAndFound</p>\n			</td>\n			<td>\n			<p>Flag to delete all files in lost and found on mount.</p>\n			</td>\n		</tr><tr><td>\n			<p>skipCheckpointRead</p>\n			</td>\n			<td>\n			<p>Yaffs2 only: Flag to skip reading checkpoint on mount. If set then a re-scan is forced.</p>\n			</td>\n		</tr><tr><td>\n			<p>skipCheckpointWrite</p>\n			</td>\n			<td>\n			<p>Yaffs2 only: Flag to skip writing checkpoint on sync or unmount.</p>\n			</td>\n		</tr><tr><td>\n			<p>refreshPeriod</p>\n			</td>\n			<td>\n			<p>Yaffs2 only: How often Yaffs should do a block refresh. Values less than 10 disable block refreshing. Typical values would be1000.</p>\n			</td>\n		</tr><tr><td>\n			<p> </p>\n			</td>\n			<td>\n			<p> </p>\n			</td>\n		</tr><tr><td>\n			<p>initialiseNAND</p>\n			</td>\n			<td>\n			<p>Pointer to function to initialise flash driver.</p>\n			</td>\n		</tr><tr><td>\n			<p>deinitialiseNAND</p>\n			</td>\n			<td>\n			<p>Pointer to function to de-initialise flash driver</p>\n			</td>\n		</tr><tr><td>\n			<p>eraseBlockInNAND</p>\n			</td>\n			<td>\n			<p>Pointer to function to erase a flash block</p>\n			</td>\n		</tr><tr><td>\n			<p> </p>\n			</td>\n			<td>\n			<p> </p>\n			</td>\n		</tr><tr><td>\n			<p>writeChunkToNAND</p>\n			</td>\n			<td>\n			<p>Yaffs1 only: Pointer to function to write a chunk</p>\n			</td>\n		</tr><tr><td>\n			<p>readChunkFromNAND</p>\n			</td>\n			<td>\n			<p>Yaffs1 only: Pointer to function to read a chunk.</p>\n			</td>\n		</tr><tr><td>\n			<p> </p>\n			</td>\n			<td>\n			<p> </p>\n			</td>\n		</tr><tr><td>\n			<p>writeChunkWithTagsToNAND</p>\n			</td>\n			<td>\n			<p>Yaffs2 only: Pointer to function to write a chunk plus tags</p>\n			</td>\n		</tr><tr><td>\n			<p>readChunkWithTagsFromNAND</p>\n			</td>\n			<td>\n			<p>Yaffs2 only: Pointer to function to read a chunk plus tags</p>\n			</td>\n		</tr><tr><td>\n			<p>markNANDBlockBad</p>\n			</td>\n			<td>\n			<p>Yaffs2 only: Function to mark a block bad</p>\n			</td>\n		</tr><tr><td>\n			<p>queryNANDBlock</p>\n			</td>\n			<td>\n			<p>Yaffs2 only: Function to query a block state</p>\n			</td>\n		</tr><tr><td>\n			<p> </p>\n			</td>\n			<td>\n			<p> </p>\n			</td>\n		</tr><tr><td>\n			<p>gcControl</p>\n			</td>\n			<td>\n			<p>Callback function that returns the garbage collector control flags. This is optional.</p>\n			</td>\n		</tr><tr><td>\n			<p>removeObjectCallback</p>\n			</td>\n			<td>\n			<p>Callback function called when an object is removed. This is set by the wrapper.</p>\n			</td>\n		</tr><tr><td>\n			<p>markSuperBlockDirty</p>\n			</td>\n			<td>\n			<p>Callback function that is called when a clean file system is first modified. This is set by the wrapper.</p>\n			</td>\n		</tr><tr><td>\n			<p> </p>\n			</td>\n			<td>\n			<p> </p>\n			</td>\n		</tr><tr><td>\n			<p>disableSoftDelete</p>\n			</td>\n			<td>\n			<p>Yaffs1 only. Debug only. Disables soft deletion if non-zero.</p>\n			</td>\n		</tr><tr><td>\n			<p> </p>\n			</td>\n			<td>\n			<p> </p>\n			</td>\n		</tr><tr><td>\n			<p>useHeaderFileSize</p>\n			</td>\n			<td>\n			<p>Debug only. Leave as zero</p>\n			</td>\n		</tr><tr><td>\n			<p>disableLazyLoading</p>\n			</td>\n			<td>\n			<p>Debug only. Leave as zero.</p>\n			</td>\n		</tr><tr><td>\n			<p>wideTnodeDisabled</p>\n			</td>\n			<td>\n			<p>Debug only. Leave as zero.</p>\n			</td>\n		</tr><tr><td>\n			<p> </p>\n			</td>\n			<td>\n			<p> </p>\n			</td>\n		</tr><tr><td>\n			<p>deferDirectoryUpdate</p>\n			</td>\n			<td>\n			<p>Used to defer directory updates.</p>\n			</td>\n		</tr></table><p> </p>\n\n<h3>1.2 Compile-time settings</h3>\n\n<p>These setting are used to apply compile-time configurations.</p>\n\n<p>CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED</p>\n\n<p>Normally Yaffs checks that chunks are erased only on the first chunk write to each block. This flag allows you to force all chunks to be checked. This is slower, but is worth using when doing early debugging.</p>\n\n<p>CONFIG_YAFFS_CASE_INSENSITIVE</p>\n\n<p>When selected case insensitive name comparisons are used. Note that this will not magically change Yaffs to be case insensitive in a case sensitive OS. This needs to be set according to the OS policy. Typically this is only used in Windows CE.</p>\n\n<p>CONFIG_YAFFS_DIRECT</p>\n\n<p>Used when compiling Yaffs Direct.</p>\n\n<p>CONFIG_YAFFS_DISABLE_LAZY_LOAD</p>\n\n<p>Lazy loading is used to defer loading up object details until the objects are accessed. This makes mount time faster. This flag can disable lazy loading. Debug only.</p>\n\n<p>CONFIG_YAFFS_ECC_WRONG_ORDER</p>\n\n<p>This flag should only be used with old Linux MTD code which had a bug in the ECC byte ordering.</p>\n\n<p>CONFIG_YAFFS_NO_YAFFS1</p>\n\n<p>Used to say that only Yaffs2 operation should be compiled in. Not currently supported.</p>\n\n<p>CONFIG_YAFFS_SHORT_NAMES_IN_RAM</p>\n\n<p>Set to configure Yaffs to store short object names in RAM. This is faster, but uses up more memory.</p>\n\n<p>CONFIG_YAFFS_UNICODE</p>\n\n<p>Set to configure Yaffs to use Unicode file names (eg. With WinCE).</p>\n\n<p>CONFIG_YAFFS_USE_OWN_SORT</p>\n\n<p>By default, Yaffs uses qsort for sorting blocks at mount scanning time. This is faster. Using this flag forces Yaffs to use a slow internal sort instead. Debug only.</p>\n\n<p>CONFIG_YAFFS_UTIL</p>\n\n<p>Used when compiling Yaffs for utilities.</p>\n\n<p>CONFIG_YAFFS_WINCE</p>\n\n<p>Set when compiling Yaffs for WinCE.</p>\n\n<p>CONFIG_YAFFS_YAFFS2</p>\n\n<p>Set when using Yaffs2 mode. At present this must always be set.</p>\n\n<p>CONFIG_YAFFSFS_PROVIDE_VALUES</p>\n\n<p>Used when compiling Yaffs Direct only.</p>\n\n<h3>2 Tracing mechanism</h3>\n\n<p>Yaffs has a lot of built in tracing to help debug and integrate. The tracing is controlled by yaffs_traceMask bitmask which allows various sets of tracing to be disabled or enabled at runtime.</p>\n\n<p>The trace bits are specified in the yaffs_trace.h file.</p>\n\n<p>The tracing mechanism has also been \'hijacked\' to provide a control mask for extra verification code when the YAFFS_TRACE_VERIFYxxx trace bits are selected.</p>\n\n<p>The tracing mechanism is readily integrated into the system via printf-like statements. Tracing is all done through macros which allow the strings to be converted into unicode or similar if need be.</p>\n\n<h2>3 Linux</h2>\n\n<h3>3.1 Linux compile-time flags</h3>\n\n<p>The Linux compile time flags are documented in the Kconfig file and will not be duplicated here.</p>\n\n<h3>3.2 Linux: /proc/yaffs trace adjustment</h3>\n\n<p>Under Linux, the tracing mechanism is hooked up to both the /proc/yaffs and the sys interface. The /proc/yaffs interface is very user friendly.</p>\n\n<p><code>#cat +os &gt; /proc/yaffs # Enables YAFFS_TRACE_OS<br />\n#cat -all+gc &gt; /proc/yaffs # Disables everything then enable YAFFS_TRACE_GC<br />\n#cat 0xf000 &gt; /proc/yaffs # Set trace mask to specified bitmask.</code></p>\n\n<h3>3.3 Linux: /sys/ interface</h3>\n\n<p>The Linux /sys/ interface is used by many Linux OS components to access the state of control variables. Some Yaffs variables are available via /sys/module/yaffs2/parameters/ *. Values can be read and modified using standard shell commands or from application programs.</p>\n\n<p><code># ls /sys/module/yaffs2/parameters/ yaffs_auto_checkpoint yaffs_traceMask yaffs_wr_attempts<br />\n# cat /sys/module/yaffs2/parameters/yaffs_auto_checkpoint 1<br />\n# echo \"2\" &gt; /sys/module/yaffs2/parameters/yaffs_auto_checkpoint<br />\n# cat /sys/module/yaffs2/parameters/yaffs_auto_checkpoint 2 </code></p>\n\n<p>Yaffs currently supports the following variables:</p>\n\n<p>yaffs_auto_checkpoint: Controls when checkpoints should be written.</p>\n\n<p>yaffs_traceMask: An alternative, and less user friendly,interface to modify tracing.</p>\n\n<p>yaffs_wr_attempts: The number of attempts that Yaffs will make to write a chunk.</p>\n\n<p>yaffs_gc_control: Controls the garbage collector.</p>\n\n<h3>3.4 Linux: /proc/yaffs state dumping</h3>\n\n<p>Some of the state of Yaffs mounts can be determined by reading the /proc/yaffs entry.</p>\n\n<p><code># cat /proc/yaffs<br />\ncharles@charles-laptop:/opt/y/cvs/yaffs2$ cat /proc/yaffs<br />\nYAFFS built:Mar 16 2010 11:52:25<br />\n$Id: yaffs_fs.c,v 1.101 2010-03-15 22:27:15 charles Exp $<br />\n$Id: yaffs_guts.c,v 1.119 2010-03-12 02:48:34 charles Exp $<br /><br />\nDevice 0 \"NAND simulator partition 0\" </code><br /><code>startBlock......... 0<br />\nendBlock........... 511<br />\ntotalBytesPerChunk. 2048<br />\nuseNANDECC......... 1<br />\nnoTagsECC.......... 0<br />\nisYaffs2........... 1<br />\ninbandTags......... 0<br />\nemptyLostAndFound.. 1<br />\ndisableLazyLoad.... 0<br />\nrefreshPeriod...... 10000<br />\nnShortOpCaches..... 10<br />\nnReservedBlocks.... 5<br /><br />\nnDataBytesPerChunk. 2048<br />\nchunkGroupBits..... 0<br />\nchunkGroupSize..... 1<br />\nnErasedBlocks...... 152<br />\nblocksInCheckpoint. 0<br /><br />\nnTnodesCreated..... 2300<br />\nnFreeTnodes........ 1852<br />\nnObjectsCreated.... 2300<br />\nnFreeObjects....... 1842<br />\nnFreeChunks........ 27843<br /><br />\nnPageWrites........ 65993<br />\nnPageReads......... 19631<br />\nnBlockErasures..... 1133<br />\nnGCCopies.......... 37<br />\ngarbageCollections. 161<br />\npassiveGCs......... 137<br />\nnRetriedWrites..... 0<br />\nnRetireBlocks...... 0<br />\neccFixed........... 0<br />\neccUnfixed......... 0<br />\ntagsEccFixed....... 0<br />\ntagsEccUnfixed..... 0<br />\ncacheHits.......... 44110<br />\nnDeletedFiles...... 0<br />\nnUnlinkedFiles..... 42917<br />\nrefreshCount....... 1<br />\nnBackgroudDeletions 0</code></p>\n\n<p> </p>\n\n<h2>4 Conclusions</h2>\n\n<p>Yaffs includes many options for changing speed or memory use, with specific flags for the Yaffs Direct Interface as well as Linux. Under Linux many of the control variables can be altered using standard Linux systems.</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    <js-bottom-placeholder token=\"NJu3sb5V_KmwQ_X2ey0XE9ypywwiwo6DliUEjJQH5S2aNdE8hw2sCMuF_dIVydKeI0jx2w6C-w\">\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:17:{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:21:\"user.node_grants:view\";i:13;s:16:\"user.permissions\";i:14;s:10:\"user.roles\";i:15;s:20:\"user.roles:anonymous\";i:16;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: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:7:\"file:85\";i:45;s:8:\"node:451\";i:46;s:9:\"node_view\";i:47;s:6:\"user:0\";i:48;s:6:\"user:1\";i:49;s:8:\"rendered\";}s:14:\"\0*\0cacheMaxAge\";i:-1;}s:14:\"\0*\0attachments\";a:6:{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:18:{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:59:\"Yaffs Tuning | 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:151:\"This document describes the parameters which can be modified by the developer in the different phases of applying, debugging, and routine use of Yaffs.\";}}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\";}}s:14:\"html_head_link\";a:4:{i:0;a:1:{i:0;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;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"canonical\";s:4:\"href\";s:23:\"/documents/yaffs-tuning\";}i:1;b:1;}i:2;a:2:{i:0;a:2:{s:3:\"rel\";s:9:\"shortlink\";s:4:\"href\";s:9:\"/node/451\";}i:1;b:1;}i:3;a:2:{i:0;a:2:{s:3:\"rel\";s:8:\"revision\";s:4:\"href\";s:23:\"/documents/yaffs-tuning\";}i:1;b:1;}}s:12:\"placeholders\";a:2:{s:210:\"<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>\";a:2:{s:6:\"#cache\";a:4:{s:4:\"keys\";a:3:{i:0;s:11:\"entity_view\";i:1;s:5:\"block\";i:2;s:17:\"yaffs_local_tasks\";}s:8:\"contexts\";a:3:{i:0;s:28:\"languages:language_interface\";i:1;s:5:\"theme\";i:2;s:16:\"user.permissions\";}s:4:\"tags\";a:2:{i:0;s:10:\"block_view\";i:1;s:36:\"config:block.block.yaffs_local_tasks\";}s:7:\"max-age\";i:-1;}s:13:\"#lazy_builder\";a:2:{i:0;s:42:\"Drupal\\block\\BlockViewBuilder::lazyBuilder\";i:1;a:3:{i:0;s:17:\"yaffs_local_tasks\";i:1;s:4:\"full\";i:2;N;}}}s:190:\"<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\";a:1:{s:13:\"#lazy_builder\";a:2:{i:0;s:57:\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\";i:1;a:1:{i:0;N;}}}}s:14:\"drupalSettings\";a:2:{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:37:\"html_response_attachment_placeholders\";a:4:{s:6:\"styles\";s:100:\"<css-placeholder token=\"NJu3sb5V_KmwQ_X2ey0XE9ypywwiwo6DliUEjJQH5S2aNdE8hw2sCMuF_dIVydKeI0jx2w6C-w\">\";s:7:\"scripts\";s:99:\"<js-placeholder token=\"NJu3sb5V_KmwQ_X2ey0XE9ypywwiwo6DliUEjJQH5S2aNdE8hw2sCMuF_dIVydKeI0jx2w6C-w\">\";s:14:\"scripts_bottom\";s:106:\"<js-bottom-placeholder token=\"NJu3sb5V_KmwQ_X2ey0XE9ypywwiwo6DliUEjJQH5S2aNdE8hw2sCMuF_dIVydKeI0jx2w6C-w\">\";s:4:\"head\";s:101:\"<head-placeholder token=\"NJu3sb5V_KmwQ_X2ey0XE9ypywwiwo6DliUEjJQH5S2aNdE8hw2sCMuF_dIVydKeI0jx2w6C-w\">\";}}}}',-1,1509019821.689,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 file:85 node:451 node_view rendered user:0 user:1','2758'),('response:[languages:language_interface]=en:[request_format]=html:[route]=entity.node.canonicalecb3cb97bda6298ee6eddc1b5b42a25c54a1244ff335a2643e70ffe16a084ba3:[theme]=yaffs:[timezone]=Europe/London:[url]=https://NQEPBiP9C0CPcgFMyQSCnt43_q2xwJJ0M4JRful1VYM','a:5:{s:7:\"#markup\";s:0:\"\";s:9:\"#attached\";s:0:\"\";s:6:\"#cache\";a:3:{s:8:\"contexts\";a:18:{i:0;s:28:\"languages:language_interface\";i:1;s:14:\"request_format\";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:30:\"route.menu_active_trails:tools\";i:6;s:5:\"theme\";i:7;s:8:\"timezone\";i:8;s:3:\"url\";i:9;s:8:\"url.path\";i:10;s:17:\"url.path.is_front\";i:11;s:15:\"url.path.parent\";i:12;s:30:\"url.query_args:_wrapper_format\";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:4:\"tags\";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:7:\"file:76\";i:44;s:8:\"node:409\";i:45;s:9:\"node_view\";i:46;s:8:\"rendered\";i:47;s:6:\"user:0\";i:48;s:6:\"user:6\";}s:7:\"max-age\";i:-1;}s:17:\"#cache_properties\";a:1:{i:0;s:9:\"#response\";}s:9:\"#response\";O:31:\"Drupal\\Core\\Render\\HtmlResponse\":8:{s:7:\"headers\";O:50:\"Symfony\\Component\\HttpFoundation\\ResponseHeaderBag\":5:{s:23:\"\0*\0computedCacheControl\";a:1:{s:8:\"no-cache\";b:1;}s:10:\"\0*\0cookies\";a:0:{}s:14:\"\0*\0headerNames\";a:3:{s:12:\"content-type\";s:12:\"Content-Type\";s:13:\"cache-control\";s:13:\"Cache-Control\";s:4:\"date\";s:4:\"Date\";}s:10:\"\0*\0headers\";a:3:{s:12:\"content-type\";a:1:{i:0;s:24:\"text/html; charset=UTF-8\";}s:13:\"cache-control\";a:1:{i:0;s:8:\"no-cache\";}s:4:\"date\";a:1:{i:0;s:29:\"Thu, 26 Oct 2017 11:25:53 GMT\";}}s:15:\"\0*\0cacheControl\";a:0:{}}s:10:\"\0*\0content\";s:237378:\"<!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    <head-placeholder token=\"YrwTqEbj0Ip2ZnT7Ps0DL_ORxBylvwBbD_MkCi6mAOk6szBsXA9PKkZkGSWUC_K-Kst_ea0W0A\">\n    <title>How Yaffs works | Yaffs - A Flash File System for embedded use</title>\n    <css-placeholder token=\"YrwTqEbj0Ip2ZnT7Ps0DL_ORxBylvwBbD_MkCi6mAOk6szBsXA9PKkZkGSWUC_K-Kst_ea0W0A\">\n    <js-placeholder token=\"YrwTqEbj0Ip2ZnT7Ps0DL_ORxBylvwBbD_MkCi6mAOk6szBsXA9PKkZkGSWUC_K-Kst_ea0W0A\">\n  </head>\n  <body class=\"fontyourface path-node page-node-type-paper 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        <ol class=\"breadcrumb\">\n          <li >\n                  <a href=\"/documents\">Documents</a>\n              </li>\n          <li  class=\"active\">\n                  How Yaffs works\n              </li>\n      </ol>\n\n<drupal-render-placeholder callback=\"Drupal\\Core\\Render\\Element\\StatusMessages::renderMessages\" arguments=\"0\" token=\"_HAdUpwWmet0TOTe2PSiJuMntExoshbm1kh2wQzzzAA\"></drupal-render-placeholder>\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>How Yaffs works</span>\n</h1>\n\n<drupal-render-placeholder callback=\"Drupal\\block\\BlockViewBuilder::lazyBuilder\" arguments=\"0=yaffs_local_tasks&amp;1=full&amp;2\" token=\"w23j7iE363xxUJCXKAtJQdcjG4ZZoQ4QEIV26-ZdK5w\"></drupal-render-placeholder>  <article role=\"article\" about=\"/documents/how-yaffs-works\" class=\"paper is-promoted full clearfix\">\n\n  \n    \n\n      <footer>\n      \n      <div class=\"author\">\n        Submitted by <span><span lang=\"\" about=\"/user/charles-manning\" typeof=\"schema:Person\" property=\"schema:name\" datatype=\"\">Charles Manning</span></span>\n on <span>2 June, 2012 - 12:28am</span>\n        \n      </div>\n    </footer>\n  \n  <div class=\"content\">\n    \n      <div class=\"field field--name-upload field--type-file field--label-hidden field--items\">\n              <div class=\"field--item\"><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>\n          </div>\n  \n            <div class=\"field field--name-body field--type-text-with-summary field--label-hidden field--item\">\n<p style=\"margin-top: 0.42cm; orphans: 0; widows: 0; page-break-after: avoid\"><br />\n<br />\n</p>\n<p>This document aims to give an explanation of most of the core mechanisms that make Yaffs work. </p>\nThis document is the starting point for understanding Yaffs.\n<h1 class=\"western\">1 Purpose</h1>\n<p>The purpose of this document is to give a reasonable 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.</p>\n<p>This document should serve as a first port of call for understanding Yaffs. Further detailed questions and discussions are welcomed on the Yaffs discussion list.</p>\n<p>This document is updated periodically. Yaffs mechanism design changes from time to time and this document will not always reflect the most up to date code. </p>\n<h1 class=\"western\">2 What is Yaffs?</h1>\n<p>Yaffs stands for <i>Yet Another Flash File System</i>, a term coined by Charles Manning in 2001 when suggesting that the already cluttered flash file system space could do with yet another offering – this time a flash file system designed from the ground up to work with NAND flash.</p>\n<p>The first release of Yaffs was developed during the end of 2001 and the beginning of 2002. By mid-2002, Yaffs was being trialled in various products. In May 2002, Yaffs was announced and a few more projects started playing with it. In June, porting to other OSs started. In September 2002, Yaffs was announced on linuxdevices.com which started a far wider uptake of Yaffs.</p>\n<p>Yaffs1, the original version of Yaffs, supported 512-byte page NAND devices with a SmartMedia-like memory layout.</p>\n<p>Yaffs2 is a follow-up to Yaffs1 extending Yaffs1 to support larger and different devices with different constraints.</p>\n<p>Yaffsis highly portable and has been used in many different products and applications as varied as sewing machines, point of sale, phones and aerospace. Yaffs has been used with multiple different operating systems. Native support is available for Linux, WindowsCE and eCOS while Yaffs Direct Interface provides a layer that can be used in other applications such as RTOSs. Yaffs has been used with multiple different CPUs and compilers.</p>\n<p>Yaffs has also been used as a NOR file system and even as a RAM file system.</p>\n<h1 class=\"western\">3 Design and coding strategies</h1>\n<p>Yaffs is designed to work in multiple environments which drives the need for portability. Portability also improves the debugging and testing since it is easier to develop and debug code in an application environment than within an OS kernel. This generally allows Yaffs to progress faster with less programming resources and provides more varied testing. Primary strategies that improve portability include:</p>\n<ul>\n<li>\n<p>No OS-specific features used in main code body.</p>\n </li>\n<li>\n<p>No compiler-specific features used in the main code body.</p>\n </li>\n<li>\n<p>Abstract types and functions used to allow Unicode or ASCII operation.</p>\n </li>\n</ul>\n<p style=\"page-break-before: auto; page-break-after: avoid\">Simplicity is another key goal. Complexity is limited to those situations that provide significant improvements to performance or utility. Simplicity improves robustness and the ease of integration and development. Primary strategies that improve simplicity are:</p>\n<ul>\n<li>\n<p>Single threaded model. Yaffs is locked on a per-partition basis at a high level. This is simpler than tracking lower-level locking. Yaffs Direct Interface uses a single lock for all partitions.</p>\n </li>\n</ul>\n<ul>\n<li>\n<p>Log structure makes for a simpler garbage collector and allocation methodology.</p>\n </li>\n<li>\n<p>Abstractions that build layered code which is easier to understand, port and debug.</p>\n </li>\n</ul>\n<h1 class=\"western\">4 Terminology: Yaffs vs Yaffs1 vs Yaffs2</h1>\n<p>Before we embark on our quest to understand what Yaffs is, a terminology explanation is in order.</p>\n<p>There are two versions of Yaffs code: the original Yaffs code-base and the current Yaffs2 code-base. The Yaffs2 code-base supports functionality provided by the Yaffs code-base as well as being extended with new functionality to provide extra modes of operation, most importantly those required to work with larger and more modern NAND parts. The Yaffs2 code-base supports the Yaffs1 mode of operation through a backward compatibility mode.</p>\n<p>Unless explicitly mentioned, this text refers to the Yaffs2 code-base.</p>\n<p>This text uses three terms Yaffs, Yaffs1 and Yaffs2 depending on various modes of operation.</p>\n<ul>\n<li>\n<p><span style=\"font-family: Liberation Serif, serif;\">Yaffs1 is a simpler mode of operation that uses deletion markers to track state. </span> </p>\n </li>\n<li>\n<p><span style=\"font-family: Liberation Serif, serif;\">Yaffs2 is a more complex mode of operating that was developed to support larger modern flash types, in particular MLC NAND, that cannot used deletion markers.</span></p>\n </li>\n<li>\n<p><span style=\"font-family: Liberation Serif, serif;\">Yaffs means operations common to both.</span></p>\n </li>\n</ul>\n<p>Yaffs1 originally only worked with 512-byte page devices but has been extended to support larger flash pages such as Intel M18 flash with 1k pages.</p>\n<p>Yaffs2 was originally designed for 1k or larger page sizes but can be used with smaller pages by using in-band tags.</p>\n<p>Since the Yaffs1 mode of operation is simpler to understand than the Yaffs2 mode of operation, Yaffs1 will be described first and readers interested in Yaffs2 operation should first fully acquaint themselves with the Yaffs1 mode of operation. It is suggested that this document be read sequentially rather than browsing it.</p>\n<h1 class=\"western\">5 Objects</h1>\n<p>In Yaffs-speak, an Object is anything that is stored in the file system. These are:</p>\n<ul>\n<li>\n<p>Regular data files</p>\n </li>\n<li>\n<p>Directories</p>\n </li>\n<li>\n<p>Hard-links</p>\n </li>\n<li>\n<p>Symbolic links</p>\n </li>\n<li>\n<p>Special objects (pipes, devices etc).</p>\n </li>\n</ul>\n<p>All objects are identified by a unique integer object id (<i><b>obj_id</b></i><i><b>)</b></i>.</p>\n<p>In the standard POSIX model, as used by Linux, there are inodes and directory entries (dentries). </p>\n<p>An inode may be a regular file, directory, or special file.</p>\n<p>Directory entries provide the naming mechanism that is used to locate inodes.</p>\n<p>Under POSIX, each inode may have zero, one or many dentries:</p>\n<ul>\n<li>\n<p>One dentry per inode is commonly understood.</p>\n </li>\n<li>\n<p>Multiple dentries per inode allow the same inode to be accessed via multiple names. This is achieved through hard links.</p>\n </li>\n<li>\n<p>Zero dentries per inode is less often understood. This happens when an inode is unlinked while there is still a handle open to the inode. The unlinking deletes the dentry but the inode still exists. As soon as the handle is closed the inode is deleted too.</p>\n </li>\n</ul>\n<h1 class=\"western\">6 The Yaffs NAND model</h1>\n<p>The memory in NAND flash is arranged in <i><b>pages.</b></i> A page is the unit of allocation and programming. In Yaffs, the unit of allocation is the <i></i><i><b>chunk</b></i>. 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. In this text the term page and chunk are synonymous unless stated otherwise.</p>\n<p>Many, typically 32 to 128 but as many as a few hundred, chunks form a <i><b>block</b></i>. A block is the unit of erasure. </p>\n<p>NAND flash may be shipped with bad blocks and further blocks may go bad during the operation of the device. Thus, Yaffs is aware of bad blocks and needs to be able to detect and mark bad blocks.</p>\n<p>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.</p>\n<h1 class=\"western\">7 How Yaffs1 stores files</h1>\n<p>Yaffs1 has a modified log structure, while Yaffs2 (see below) has a true log structure. A true log structured file system only ever writes sequentially. Yaffs1 uses deletion markers, which breaks the sequential write rule. Yaffs2 does not use deletion markers and is thus a true log structured file system.</p>\n<p>Instead of writing data in locations specific to the files, the file system data is written in the form of a sequential log, The entries in the log are all one chunk in size and can hold one of two types of chunk:</p>\n<ul>\n<li>\n<p><i><b>Data chunk</b></i>: A chunk holding regular data file contents.</p>\n </li>\n<li>\n<p><i><b>Object Header</b></i>: A descriptor for an object (directory, regular data file, hard link, soft link, special descriptor,...). This holds details such as the identifier for the parent directory, object name, etc.</p>\n </li>\n</ul>\n<p>Each chunk has <i><b>tags</b></i> associated with it. The tags comprise the following important fields (others being ignored for now):</p>\n<ul>\n<li>\n<p><i><b>Object Id (</b></i><i><b>obj_id</b></i><i><b>)</b></i>: Identifies which object the chunk belongs to.</p>\n </li>\n<li>\n<p><i><b>Chunk Id (</b></i><i><b>chunk_id</b></i><i><b>)</b></i>: Identifies where in the file this chunk belongs. A chunk_id of zero signifies that this chunk contains an objectHeader. chunk_id==1 signifies the first chunk in the file (ie. At file offset 0), chunk_id==2 is the next chunk and so on.</p>\n </li>\n<li>\n<p><i><b>Deletion Marker (</b></i><i><b>is_deleted</b></i><i><b>)</b></i><i><b>:</b></i> (Yaffs1 only) Shows that this chunk is no longer in use.</p>\n </li>\n<li>\n<p><i><b>Byte Count</b></i><b>: </b><b>(n_bytes)</b>: Number of bytes of data if this is a data chunk.</p>\n </li>\n<li>\n<p><i><b>Serial Number </b></i><i><b>(ser</b></i><i><b>ia</b></i><i><b>l_number)</b></i>: (Yaffs1 only) Serial number used to differentiate chunks with the same obj_id and chunk_id.</p>\n </li>\n</ul>\n<p style=\"page-break-before: always\">Now let\'s bring that all together in an explanation. This is a simplified explanation and skips over issues such as Soft Deletion (mentioned later in the document). For explanation purposes, we shall consider usage of fictitious NAND type that has 4 chunks per block, starting with an empty (erased) flash.</p>\n<p>First we\'ll create a file.</p>\n<table cellpadding=\"4\" style=\"width: 605px; border-spacing: 0px;\">\n<col width=\"37\" /> <col width=\"56\" /> <col width=\"67\" /> <col width=\"60\" /> <col width=\"64\" /> <col width=\"271\" />\n<tr valign=\"top\">\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p style=\"font-weight: normal\">Block</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 56px;\">\n <p style=\"font-weight: normal\">Chunk</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 67px;\">\n <p style=\"font-weight: normal\">obj_id</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p style=\"font-weight: normal\">chunk_id</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p style=\"font-weight: normal\">Deletion</p>\n  </td>\n <td style=\"border: 1px solid #000000; padding: 0.1cm; width: 271px;\">\n <p style=\"font-weight: normal\">Comment</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px; height: 26px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 56px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 67px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>Live</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 271px;\">\n <p>Object Header for this file (length 0)</p>\n  </td>\n</tr>\n</table>\n<p>Next we write a few chunks of data to the file.</p>\n<table cellpadding=\"4\" style=\"width: 605px; border-spacing: 0px;\">\n<col width=\"37\" /> <col width=\"48\" /> <col width=\"60\" /> <col width=\"64\" /> <col width=\"56\" /> <col width=\"290\" />\n<tr valign=\"top\">\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>Block</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>Chunk</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>obj_id</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>chunk_id</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 56px;\">\n <p>Deletion</p>\n  </td>\n <td style=\"border: 1px solid #000000; padding: 0.1cm; width: 290px;\">\n <p>Comment</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 56px;\">\n <p>Live</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 290px;\">\n <p>Object Header for t<span style=\"font-size: 12pt; font-size: medium; font-size: medium;\">his file (length 0)</span></p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 56px;\">\n <p>Live</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 290px;\">\n <p>First chunk of data</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 56px;\">\n <p>Live</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 290px;\">\n <p>Second chunk of data</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>3</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>3</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 56px;\">\n <p>Live</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 290px;\">\n <p>Third chunk of data</p>\n  </td>\n</tr>\n</table>\n<p>Next we close the file. This writers a new object header for the file. Notice how the previous object header is deleted.</p>\n<table cellpadding=\"4\" style=\"width: 605px; border-spacing: 0px;\">\n<col width=\"37\" /> <col width=\"48\" /> <col width=\"60\" /> <col width=\"68\" /> <col width=\"60\" /> <col width=\"282\" />\n<tr valign=\"top\">\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>Block</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>Chunk</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>obj_id</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 68px;\">\n <p>chunk_id</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>Deletion</p>\n  </td>\n <td style=\"border: 1px solid #000000; padding: 0.1cm; width: 282px;\">\n <p>Comment</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 68px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>Deleted</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 282px;\">\n <p>Obsoleted object header <span style=\"font-size: 10pt; font-size: small; font-size: small;\">(length 0)</span></p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 68px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>Live</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 282px;\">\n <p>First chunk of data</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 68px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>Live</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 282px;\">\n <p>Second chunk of data</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>3</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 68px;\">\n <p>3</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>Live</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 282px;\">\n <p>Third chunk of data</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 68px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>Live</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 282px;\">\n <p>New object header <span style=\"font-size: 10pt; font-size: small; font-size: small;\">(length n)</span></p>\n  </td>\n</tr>\n</table>\n<p style=\"page-break-before: always\">Let\'s now open the file for read/write, overwrite part of the first chunk in the file and close the file. The replaced data and object header chunks become deleted.</p>\n<table cellpadding=\"4\" style=\"page-break-inside: avoid; width: 605px; border-spacing: 0px;\">\n<col width=\"37\" /> <col width=\"48\" /> <col width=\"64\" /> <col width=\"64\" /> <col width=\"71\" /> <col width=\"271\" />\n<tr valign=\"top\">\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>Block</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>Chunk</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>obj_id</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>chunk_id</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 71px;\">\n <p>Deletion</p>\n  </td>\n <td style=\"border: 1px solid #000000; padding: 0.1cm; width: 271px;\">\n <p>Comment</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 71px;\">\n <p>Deleted</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 271px;\">\n <p>Obsolete object header.</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 71px;\">\n <p>Deleted</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 271px;\">\n <p>Obsolete first chunk of data</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 71px;\">\n <p>Live</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 271px;\">\n <p>Second chunk of data</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>3</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>3</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 71px;\">\n <p>Live</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 271px;\">\n <p>Third chunk of data</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 71px;\">\n <p>Deleted</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 271px;\">\n <p>Obsolete object header</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 71px;\">\n <p>Live</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 271px;\">\n <p>New first chunk of file</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 71px;\">\n <p>Live</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 271px;\">\n <p>New object header</p>\n  </td>\n</tr>\n</table>\n<p>Now let\'s resize the file to zero by opening the file with O_TRUNC and closing the file. This writes a new object header with length 0 and the contents are pruned making the data chunks deleted.</p>\n<table cellpadding=\"4\" style=\"width: 605px; border-spacing: 0px;\">\n<col width=\"37\" /> <col width=\"48\" /> <col width=\"64\" /> <col width=\"64\" /> <col width=\"71\" /> <col width=\"271\" />\n<tr valign=\"top\">\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>Block</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>Chunk</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>obj_id</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>chunk_id</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 71px;\">\n <p>Deletion</p>\n  </td>\n <td style=\"border: 1px solid #000000; padding: 0.1cm; width: 271px;\">\n <p>Comment</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 71px;\">\n <p>Deleted</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 271px;\">\n <p>Obsolete object header.</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 71px;\">\n <p>Deleted</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 271px;\">\n <p>Obsolete first chunk of data</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 71px;\">\n <p>Deleted</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 271px;\">\n <p>Second chunk of data</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>3</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>3</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 71px;\">\n <p>Deleted</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 271px;\">\n <p>Third chunk of data</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 71px;\">\n <p>Deleted</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 271px;\">\n <p>Obsolete object header</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 71px;\">\n <p>Deleted</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 271px;\">\n <p>Deleted first chunk of file</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 71px;\">\n <p>Delted</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 271px;\">\n <p>Obsoleted object header</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 37px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 48px;\">\n <p>3</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 64px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 71px;\">\n <p>Live</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 271px;\">\n <p>New object header <span style=\"font-size: 10pt; font-size: small; font-size: small;\">(length 0).</span></p>\n  </td>\n</tr>\n</table>\n<p>Note how all the pages in block 1 are now marked as deleted. This means that block 1 no longer contains useful information so we can now erase block 1 and reuse the space.</p>\n<p>We will now rename the file. To do this we write a new object header for the file</p>\n<table cellpadding=\"4\" style=\"page-break-inside: avoid; width: 605px; border-spacing: 0px;\">\n<col width=\"38\" /> <col width=\"42\" /> <col width=\"58\" /> <col width=\"60\" /> <col width=\"60\" /> <col width=\"297\" />\n<tr valign=\"top\">\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 38px;\">\n <p>Block</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 42px;\">\n <p>Chunk</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 58px;\">\n <p>obj_id</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>chunk_id</p>\n  </td>\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>Deleted</p>\n  </td>\n <td style=\"border: 1px solid #000000; padding: 0.1cm; width: 297px;\">\n <p>Comment</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 38px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 42px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 58px;\">\n <p><br />\n  </p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p><br />\n  </p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p><br />\n  </p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 297px;\">\n <p>Erased</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 38px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 42px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 58px;\">\n <p><br />\n  </p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p><br />\n  </p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p><br />\n  </p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 297px;\">\n <p>Erased</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 38px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 42px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 58px;\">\n <p><br />\n  </p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p><br />\n  </p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p><br />\n  </p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 297px;\">\n <p>Erased</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 38px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 42px;\">\n <p>3</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 58px;\">\n <p><br />\n  </p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p><br />\n  </p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p><br />\n  </p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 297px;\">\n <p>Erased</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 38px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 42px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 58px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>Deleted</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 297px;\">\n <p>Obsolete object header</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 38px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 42px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 58px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>1</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>Deleted</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 297px;\">\n <p>Deleted first chunk of file</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 38px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 42px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 58px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>Deleted</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 297px;\">\n <p>Obsoleted object header</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 38px;\">\n <p>2</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 42px;\">\n <p>3</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 58px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>Deleted</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 297px;\">\n <p>Obsolete object header</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 38px;\">\n <p>3</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 42px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 58px;\">\n <p>500</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>0</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 60px;\">\n <p>Live</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 297px;\">\n <p>New object header showing new name</p>\n  </td>\n</tr>\n</table>\n<p>Block 2 now contains only deleted chunks and can be erased and reused.</p>\n<p>Note how the tags tell us:</p>\n<ul>\n<li>\n<p><span style=\"font-family: Liberation Serif, serif;\">Which chunks belong to which object</span></p>\n </li>\n<li>\n<p><span style=\"font-family: Liberation Serif, serif;\">The position of the chunks within a file,</span></p>\n </li>\n<li>\n<p><span style=\"font-family: Liberation Serif, serif;\">Which chunks are current</span></p>\n </li>\n</ul>\n<ul>\n</ul>\n<p><span style=\"font-size: 12pt; font-size: medium; font-size: medium;\">Note that there are no file allocation tables or similar structures stored in the flash. This reduces the amount of writing and erasing (improving write performance) while also improving robustness. Corruption of file allocation tables and similar structures is a common failure mechanism for embedded file systems. The lack of such structures makes Yaffs more robust. Or, to put it another way, you can\'t corrupt what you don\'t store.</span></p>\n<h1 class=\"western\">8 Garbage collection</h1>\n<p>As we have shown so far, when a block is made up only of deleted chunks, that block can be erased and reused. However, consider what will happen if we have many blocks which each have a few current chunks in them. Clearly we cannot erase any of the current blocks or we will destroy data. What we need to do is copy the useful data chunks off a block, deleting the originals and allowing the block to be erased and reused. This process is referred to as <i><b>garbage collection</b></i>.</p>\n<p>The Yaffs garbage collection process works as follows:</p>\n<ol>\n<li>\n<p>Find a block worth collecting (according the the heuristics below). If none found, then exit.</p>\n </li>\n<li>\n<p>Iterate through the chunks in the block. If the chunk is in use then create a new copy and delete the original. Fix up the RAM data structures to reflect the change.</p>\n </li>\n</ol>\n<p>Once all chunks in this block have been deleted, the block can be erased ready for reuse.</p>\n<p>Note that although step 2 deletes the original chunk when it gets copied there is not much point in actually programming the deletion marker (is_deleted flag) in flash since we\'re about to erase the block anyway. Thus Yaffs does not program the deletion marker in these cases. If power is lost part way through the operation we can still tell the difference between the original and the copy by looking at the serial number (not that it really matters anyway since the two have the same contents so either can be used).</p>\n<p>The heuristics to determine whether a block is worth collecting are as follows:</p>\n<ol>\n<li>\n<p>If there are many erased blocks available, then Yaffs does not need to work hard, but will instead only attempt to perform garbage collection of blocks with very few chunks in use. This is termed <i><b>passive</b></i> garbage collection.</p>\n </li>\n<li>\n<p>If, however, there are very few erased blocks, Yaffs will work much harder to recover more space and will garbage collect blocks with more chunks in use. This is termed <i><b>aggressive</b></i> garbage collection.</p>\n </li>\n</ol>\n<p>OK, the passive/aggressive names are a bit silly, but they were contrived around midnight... give me a break!</p>\n<p>If garbage collection is aggressive, we need erased space urgency and the whole block is collected in a single garbage collection cycle. If the collection is passive then only a few chunks are collected at a time thus spreading the effort over many garbage collection cycles. This is done to reduce garbage collection load and improve responsiveness.</p>\n<p>The rationale behind the above heuristics is to delay garbage collection when possible to reduce the amount of collection that needs to be performed, thus increasing average system performance. Yet there is a conflicting goal of trying to spread the garbage collection so that it does not all happen at the same causing fluctuations in file system throughput. These conflicting goals make garbage tuning quite challenging.</p>\n<p>All flash file systems need some sort of garbage collector to reclaim space. The garbage collector is often a determining factor in the performance of the flash file system. Many file systems have to do a significant amount of effort in a single collection sweep.</p>\n<p>Yaffs only deals with one block at a time which constrains the amount of effort in a garbage collection cycle, thus reducing the “stall time”. Under normal conditions that garbage collection is performed a few chunks at a time, further reducing “stall time”.</p>\n<h1 class=\"western\">9 Yaffs1 serial numbers</h1>\n<p>In Yaffs1, each chunk is marked with a 2-bit serial number that is incremented every time a chunk with the same tags value is replaced (eg. When a chunk is overwritten or when copied by garbage collection).</p>\n<p>Now let\'s suppose first that we did not have a serial number. </p>\n<p>Let\'s consider a rename where an object header chunk must be replaced with a new one with the new name. Yaffs could do the following:</p>\n<ul>\n<li>\n<p><span style=\"font-family: Liberation Serif, serif;\">Delete the old chunk.</span></p>\n </li>\n<li>\n<p><span style=\"font-family: Liberation Serif, serif;\">Write the new chunk. </span> </p>\n </li>\n</ul>\n<p>If the system fails after the delete, the system could end up with no chunks matching the relevant tags values. This could cause files to be lost (end up in the lost+found directory). Thus, we have to write the new chunk before deleting the old chunk.</p>\n<p>But now consider what might happen if we did this:</p>\n<ul>\n<li>\n<p>W<span style=\"font-family: Liberation Serif, serif;\">rite new chunk.</span></p>\n </li>\n<li>\n<p><span style=\"font-family: Liberation Serif, serif;\">Delete old chunk.</span></p>\n </li>\n</ul>\n<p>If the system failed after the write we now have two chunks that match the tags. How can we tell which one is current?</p>\n<p>The current chunk is determined by inspecting the serial number. Since the serial number is only incremented by one before the old chunk is deleted, a 2-bit serial number is sufficient. Valid pairs are:</p>\n<table cellpadding=\"4\" style=\"width: 86px; border-spacing: 0px;\">\n<col width=\"35\" /> <col width=\"33\" />\n<tr valign=\"top\">\n <td style=\"border-top: 1px solid #000000; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0.1cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 35px;\">\n <p>Old</p>\n  </td>\n <td style=\"border: 1px solid #000000; padding: 0.1cm; width: 33px;\">\n <p>New</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 35px;\">\n <p>00</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 33px;\">\n <p>01</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 35px;\">\n <p>01</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 33px;\">\n <p>10</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 35px;\">\n <p>10</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 33px;\">\n <p>11</p>\n  </td>\n</tr>\n<tr valign=\"top\">\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: none; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0cm; width: 35px;\">\n <p>11</p>\n  </td>\n <td style=\"border-top: none; border-bottom: 1px solid #000000; border-left: 1px solid #000000; border-right: 1px solid #000000; padding-top: 0cm; padding-bottom: 0.1cm; padding-left: 0.1cm; padding-right: 0.1cm; width: 33px;\">\n <p>00</p>\n  </td>\n</tr>\n</table>\n<p>Thus, by inspecting the serial number attached to the old and new tags the current chunk can be determined and the old chunk can be deleted.</p>\n<h1 class=\"western\">10 Yaffs2 NAND model</h1>\n<p>Yaffs2 is an extension of Yaffs designed to fulfill a new set of objectives to work with newer NAND types including:</p>\n<ul>\n<li>\n<p>Zero overwrites. Yaffs1 only ever overwrites a single byte in the spare area of the chunks to set the deletion marker. More modern NAND devices are less tolerant of overwrites and Yaffs2 performs no overwrites at all.</p>\n </li>\n<li>\n<p>Sequential chunk writing within a block. More modern NAND reliability specifications tend to assume sequential writing. Since Yaffs2 does not write deletion markers, the writing of chunks within a block is strictly sequential.</p>\n </li>\n<li>\n<p>Some flash technologies – such as MLC – only work properly if pages are written sequentially. This is a fundamental requirement of how many MLC types perform the bit overlaying.</p>\n </li>\n</ul>\n<p>Since Yaffs2 performs less writes, there is potential for Yaffs2 to have improved write performance.</p>\n<p>Yaffs2 cannot use a deletion marker because that would violate the zero overwrites mandate and alternate mechanisms are provided to determine which chunks are current and which are deleted. These mechanisms are:</p>\n<ul>\n<li>\n<p><i><b>Sequence Number </b></i><i><b>(seq_number)</b></i>: As each block is allocated, the file system\'s sequence number is incremented and each chunk in the block is marked with that sequence number. The sequence number thus provides a way of organising the log in chronological order.</p>\n </li>\n<li>\n<p><i><b>Shrink Header Marker </b></i><i><b>(shrink_header)</b></i>: The shrink header marker is used to mark object headers that are written to shrink the size of a data file. This is explained more in the accompanying text.</p>\n </li>\n</ul>\n<p><i><b>Note: The Yaffs2 sequence number is not the same as the Yaffs1 serial number!</b></i></p>\n<p>Note: We still refer to chunk deletion in Yaffs2. The chunks are marked as deleted in the RAM data structures used by garbage collection etc, but there is no deletion marker written to flash.</p>\n<h2 class=\"western\">10.1 Sequence Number</h2>\n<ul>\n<li>\n<p>Since we\'re scanning backwards, the most recently written – and thus current – chunk matching an obj_id:chunk_id pair will be encountered first and all subsequent matching chunks must be obsolete and treated as deleted.</p>\n </li>\n<li>\n<p>The file length in object headers are used to trim back resized files. If an object header is encountered, then subsequent data chunks that lie beyond that file length are clearly obsolete and treated as deleted. Note that both current and obsolete object header sizes must be used to obtain an accurate reconstruction.</p>\n </li>\n</ul>\n<h2 class=\"western\">10.2 Shrink Header</h2>\n<p>Explaining the purpose of the shrink header marker is a bit convoluted. The purpose of a shrink header marker is to show that this object header indicates that a file has shrunken in size, and to prevent those object headers from being deleted by garbage collection. To understand this, it is easiest to consider what would happen if the shrink header markers did not exist.</p>\n<p>For simplification we\'ll assume no garbage collection happens during this part of the exercise. It is safe to make that assumption since it does not alter the reasoning.</p>\n<p>Consider a file that has been through the following:</p>\n<p class=\"code-western\"><span style=\"font-family: Liberation Mono, monospace;\"><span style=\"font-size: 10pt; font-size: small; font-size: small;\"><b>#define MB (1024 * 1024)<br />\n</b></span></span><br />\n</p>\n<p class=\"code-western\"><code class=\"western\"><span style=\"font-family: Liberation Mono, monospace;\"><span style=\"font-size: 9pt; font-size: small; font-size: small;\">h = open(“foo”,O_CREAT| O_RDWR, S_IREAD|S_IWRITE); /* create file */</span></span></code><code class=\"western\"><span style=\"font-size: 9pt; font-size: small; font-size: small;\"><br />\nwrite(h,data,5*</span></code><code class=\"western\"><span style=\"font-size: 9pt; font-size: small; font-size: small;\">MB</span></code><code class=\"western\"><span style=\"font-size: 9pt; font-size: small; font-size: small;\">); /* write 5 MB of data /<br />\ntruncate(h,1*</span></code><code class=\"western\"><span style=\"font-size: 9pt; font-size: small; font-size: small;\">MB</span></code><code class=\"western\"><span style=\"font-size: 9pt; font-size: small; font-size: small;\">); /* truncate to 1MB */<br />\nlseek(h,2*</span></code><code class=\"western\"><span style=\"font-size: 9pt; font-size: small; font-size: small;\">MB</span></code><code class=\"western\"><span style=\"font-size: 9pt; font-size: small; font-size: small;\">, SEEK_SET); /* set the file access position to 2MB */<br />\nwrite(h,data,1*</span></code><code class=\"western\"><span style=\"font-size: 9pt; font-size: small; font-size: small;\">MB</span></code><code class=\"western\"><span style=\"font-size: 9pt; font-size: small; font-size: small;\">); /* write 1MB of data */<br />\nclose(h);</span></code><br />\n<br />\n</p>\n<p>The file will now be 3MB in length, but there will be a “hole” between 1MB and 2MB. According to POSIX (and to aid security etc) that “hole” should always read back as zeros.</p>\n<p>Yaffs2 would represent that in NAND with the following sequence of chunks:</p>\n<ol>\n<li>\n<p>Object header for file creation (file length = 0)</p>\n </li>\n<li>\n<p>5MB worth of data chunks (0 to 5MB)</p>\n </li>\n<li>\n<p>Object header for truncation (file length = 1MB)</p>\n </li>\n<li>\n<p>1MB worth of data chunks (2MB to 3MB)</p>\n </li>\n<li>\n<p>Object header for close (file length = 3MB)</p>\n<p>At this stage, only the the following data chunks are current:</p>\n </li>\n</ol>\n<ul>\n<li>\n<p>The first 1MB of data created in step 2 above.</p>\n </li>\n<li>\n<p>The 1MB of data created in step 4 above.</p>\n </li>\n<li>\n<p>The object header created in step 5 above.</p>\n </li>\n</ul>\n<p>But Yaffs must remember the truncation that happened in step 3, otherwise Yaffs will “forget” that there is a hole, which would cause the old data to be visible again. Thus, if Yaffs creates a hole it first writes a shrink header to indicate the start of the hole and a regular object header to mark the end of the hole. </p>\n<p>The shrink header modifies the behavior of the garbage collector to ensure that these shrink headers are not erased until it is safe to do so. This unfortunately has a negative impact on garbage collection in systems which make extensive use of files with holes.</p>\n<p>Shrink headers are also used to indicate that a file has been deleted and that the record of the file deletion is not lost.</p>\n<h2 class=\"western\">10.3 Yaffs2 extended tags</h2>\n<p>Yaffs2 extends the tags in object headers with extra fields to improve mount scanning performance. The operation of extended tags is described later in this document.</p>\n<h1 class=\"western\">11 Bad block handling NAND error handling</h1>\n<p>NAND flash is designed to be very low cost and very high density. In order to get high yields, and thus keep costs down, NAND flash is typically shipped with a few bad blocks and some further blocks are expected to go bad during the use of the device. Thus, any flash file system without an effective bad block handling policy is unsuitable for NAND flash.</p>\n<p>Yaffs1 uses the Smart-Media style of bad block marking. This checks the sixth byte (byte 5) of the spare area. In a good block this should be 0xFF. A factory-marked bad block should be 0x00. If Yaffs1 determines that a block has gone bad it is marked bad with 0x59 (\'Y\'). Using a distinctive marker allows Yaffs-marked bad blocks to be differentiated from factory-marked bad blocks.</p>\n<p>Yaffs2 mode is designed to support a wider range of devices and spare-area layouts. Thus, Yaffs2 does not decide which bytes to mark but instead calls driver functions to determine whether the block is bad, or to mark it bad.</p>\n<p>So, when does Yaffs mark a block bad? Yaffs will mark a block bad if a read or write operation fails or if three ECC errors are detected. A block that is marked bad is retired from use, thus improving the robustness of the file system. This policy is suitable for SLC flash. MLC policies are under development.</p>\n<p>Further, NAND flash cells can sometimes be disturbed (corrupted) by NAND activity and charge loss. These errors are corrected by error correction codes (ECC) which may be implemented in hardware, software drivers, or within Yaffs itself. Again, any flash file system lacking effective ECC handling is unsuitable for NAND flash.</p>\n<p>Yaffs1 mode can use either the built in ECC or use ECC provided by the driver or hardware.</p>\n<p>Since Yaffs2 mode is designed for a wider range of devices, it does not provide ECC internally but requires that the driver provide the ECC.</p>\n<p>The ECC code supplied with Yaffs (yaffs_ecc.c) is the fastest C code implementation of a Smart Media compatible ECC algorithm that we are aware of. This code will correct any single bit error within a 256-byte data block and detect 2 errors per 256-byte data block. This is sufficient error correction to provide very high reliability on most SLC-type NAND flash.</p>\n<p>For a more complete description of failure handling, please refer to the Yaffs error mitigation document.</p>\n<h1 class=\"western\">12 RAM structures</h1>\n<p>While it is theoretically possible to use a log structured file system with very few RAM structures, this would provide reduce performance. Thus, significant RAM data structures are required to store enough information to provide sufficiently high performance. </p>\n<p>Before we jump in, it is a good idea to first figure out what purpose the RAM structures serve. The main structures are defined in yaffs_guts.h and their main purposes, are :</p>\n<ul>\n<li>\n<p>Device/partition: This is named <i><b>yaffs_dev</b></i><span style=\"font-style: normal\"><span style=\"font-weight: normal\">. </span></span>This is required to hold information relating to a Yaffs “partition” or “mount point”. Using these, rather than globals, allows Yaffs to simultaneously support multiple partitions and partitions of different types. In fact, almost other data structures mentioned here are part of, or accessed via, the structure.</p>\n </li>\n<li>\n<p>NAND Block Information: This is named <i><b>yaffs_block_info </b></i>and holds the current state of the NAND blocks. Each yaffs_dev has an array of these.</p>\n </li>\n<li>\n<p>NAND Chunk Information: This is a bitfield attached to the yaffs_dev that holds the current in-use state of each chunk in the system. There is one bit per chunk in the partition.</p>\n </li>\n<li>\n<p>Object: This is named <i><b>yaffs_obj</b></i> and holds the state of an object (see section 3). There is one of these for each object in the file system, where an object is one of a regular file, directory, hard link, symbolic link or special link. There are different variants of yaffs_Objects to reflect the different data required for these different object types. Each object is uniquely identified by an obj_id.</p>\n </li>\n<li>\n<p>File structure: For each file object, Yaffs holds a tree which provides the mechanism to find the data chunks in a file. The tree consists of nodes called <i><b>yaffs_tnode</b></i> (tree nodes).</p>\n </li>\n<li>\n<p>Directory structure: The directory structure allows objects to be found by name. The directory structure is built from a doubly-linked list that is rooted in the directory and binds together the sibling objects within a directory.</p>\n </li>\n<li>\n<p>Object number hash table: The object number hash table provides a mechanism to find an object from its obj_id. The obj_id is hashed to select a hash bucket. Each hash bucket has a doubly-linked list of objects that belong in this hash bucket, as well as a count of the objects in the bucket.</p>\n </li>\n<li>\n<p>Cache: Yaffs provides a read/write cache that significantly improves performance for short operations. The size of the cache can be set at run-time.</p>\n </li>\n</ul>\n<p>The usage of these structures is described in more detail below.</p>\n<p>Yaffs makes significant use of doubly-linked lists. These data structures are very useful because they provide rapid insertion, removal and traversal. They do however come at the expense of requiring two pointers rather than just one that would be required by a singly-linked list.</p>\n<h2 class=\"western\">12.1 Yaffs objects (struct yaffs_obj)</h2>\n<p>Each object (file, directory,...) in the system is represented by a yaffs_obj structure </p>\n<p>The yaffs_obj\'s main function is to store most of the object metadata and type-specific information. This means that almost all the information about an object can be accessed immediately without reading flash.</p>\n<p>The metadata includes, amongst others:</p>\n<ul>\n<li>\n<p><span style=\"font-family: Liberation Serif, serif;\">obj_id: The number used to identify the object.</span></p>\n </li>\n<li>\n<p><span style=\"font-family: Liberation Serif, serif;\">parent: A pointer to the parent directory. Not all objects have a parent. The root director and special directories for unlinked and deleted files do not have parents so this is NULL.</span></p>\n </li>\n<li>\n<p><span style=\"font-family: Liberation Serif, serif;\">short_name: If the name is short enough to fit in a small fixed-sized array (default 16 characters) then it is stored here otherwise it must be fetched from flash each time it is requested.</span></p>\n </li>\n<li>\n<p><span style=\"font-family: Liberation Serif, serif;\">type: Type of object.</span></p>\n </li>\n<li>\n<p><span style=\"font-family: Liberation Serif, serif;\">Permissions, time, ownership and other attributes</span></p>\n </li>\n</ul>\n<p><span style=\"font-size: 12pt; font-size: medium; font-size: medium;\">Depending on the object type, yaffs_obj also stores:</span></p>\n<ul>\n<li>\n<p><span style=\"font-family: Liberation Serif, serif;\">A tnode tree, file extents etc for data files</span></p>\n </li>\n<li>\n<p><span style=\"font-family: Liberation Serif, serif;\">A directory chain for directories</span></p>\n </li>\n<li>\n<p><span style=\"font-family: Liberation Serif, serif;\">An equivalent object for hard links</span></p>\n </li>\n<li>\n<p><span style=\"font-family: Liberation Serif, serif;\">A string for symbolic links</span></p>\n </li>\n</ul>\n<h2 class=\"western\">12.2 Look-up by obj_id</h2>\n<p>The purpose of this mechanism is to rapidly access an object by its device and obj_id. This is required during garbage collection, scanning and similar operations.</p>\n<p>Each yaffs_dev uses a hash table for this purpose. The hash table has 256 “buckets” (tunable), each holding a doubly-linked list of the yaffs_objs in that bucket.</p>\n<p>The hash table\'s hash function is just masking the least significant bits of the obj_id. This is a very cheap function that provides reasonable “spread”.</p>\n<p>Yaffs makes an attempt to assign obj_ids in a way that keeps the number of objects in each hash bucket quite low, thus preventing any one hash entry getting too long.</p>\n<p>This mechanism is also charged with assigning new (unique) obj_id values.</p>\n<h2 class=\"western\">12.3 Directory structure</h2>\n<p>The purpose of the directory structure is to rapidly access an object by name. This is required to perform file operations such as opening, renaming etc.</p>\n<p><span style=\"font-size: 12pt; font-size: medium; font-size: medium;\">The Yaffs directory structure is formed by a tree of objects of type YAFFS_OBJECT_TYPE_DIRECTORY. These objects have a doubly linked node of children.</span></p>\n<p>Each yaffs_obj also has a doubly linked list node called sibling which chain together the siblings in a directory.</p>\n<p>Each Yaffs partition has a root directory.</p>\n<p>Each yaffs partition also has some special purpose “fake” directories which are not stored in NAND but are instead created on mounting:</p>\n<ul>\n<li>\n<p>lost+found: This directory is used as a place to store any lost file parts that cannot be placed in the normal directory tree.</p>\n </li>\n<li>\n<p>Unlinked and deleted: These are pseudo-directories that are not in the directory tree. Placing objects in these directories gives them a status of being unlinked or deleted.</p>\n </li>\n</ul>\n<p>Each object has a name that is used to look up the object within the directory, Thus, each name within a directory must be unique. This rule does not apply to objects in the unlinked and deleted pseudo-directories since we never use names to look up unlinked/deleted files and there may be many files of the same name that have been deleted.</p>\n<p>Name resolution is sped up by two mechanisms:</p>\n<ul>\n<li>\n<p><span style=\"font-family: Liberation Serif, serif;\">short_names are stored directly in the yaffs_obj so that they don\'t have to be loaded from flash.</span></p>\n </li>\n<li>\n<p><span style=\"font-family: Liberation Serif, serif;\">Each object has a “name sum”. This is a simple hashing of the name which speeds up the matching process because it is cheaper to compare the hash than compare the whole name string.</span></p>\n </li>\n</ul>\n<p><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAikAAAHuCAIAAADV9AvYAABCgUlEQVR4nO3deSDU+ePH8ZkxjLscNekg6VCUoq/Y2C5d6BC1rCPbRWgbjBYrK6uobCrSWqI2fZeNtJ3Kt299d/t1rAq1ldRWjrQKicgxzG8YJEah+sz1evyxTTPv+Xzen2n7PPt85jOGymazSQAAAASi8nsCAAAgdtAeAAAgGtoDAABEQ3sAAIBoaA8AABAN7QEAAKKhPQAAQDS0BwAAiIb2AAAA0dAeAAAgGtoDAABEQ3sAAIBoaA8AABAN7QEAAKKhPQACjUwm83sKnxybzeZuJr7SRXygPQAAQDS0B0DQ4WgARA/aAwAAREN7AACAaGgPAPBNpyspOv4WZxpFG9oDAHzTfoUbiBu0BwD4iWd+cNAj8tAeAAAgGtoDAHzW6dAHBz3iAO0BAP7DG