Hanming,RS,BCH —— NAND Flash中常用的纠错方式 因为闪存中会有出错的可能,如果没有使用ECC模块,读出的数据和写入的数据会有不匹配的可能,也许一个文件中只有一两个bit不匹配,这也是不能容忍的.相对来说SLC中出错概率比较低,所以使用一个纠错能力不强的Hanming码就可以了,在MLC中Hanming码就显得力不从心了,需要纠错能力更强的RS或者BCH纠错方式了. Hanming码原理算法都不算复杂,网上应该都能找到hdl代码. RS(Reed-Solomon)应用也非…
     本篇文章主要介绍ECC基本原理以及在Nand Flash中的应用,本文记录自己对ECC校验原理的理解和学习. ECC介绍      ECC,全称为Error Correcting Code,错误纠正码,这是一种编码方式,用于在于可以在一定程度上自行发现和纠正传输过程中发生的错误.      香农在1948年发表的<通信的数学理论>中的信道编码定理指出:主要采取适当的纠错码,就可以在多类信道上传输消息,其误码率可以任意小.经过历代人们的持续努力,找出了许多好的信道编码方法,满足许多实用…
WCF中常用的binding方式: BasicHttpBinding: 用于把 WCF 服务当作 ASMX Web 服务.用于兼容旧的Web ASMX 服务.WSHttpBinding: 比 BasicHttpBinding 更加安全,通常用于 non-duplex 服务通讯.WSDualHttpBinding: 和 WSHttpBinding 相比,它支持 duplex 类型的服务.WSFederationHttpBinding: WS-Federation 安全通讯协议.NetTcpBind…
书接上文,上文提到若干条JavaScript的基础性知识,大部分都是一些概念性的东西,本着认真严谨的态度,我们要认真对待,有些条目的问题是某个知识点的周边延伸,为节约篇幅,就一起整理了,如有描述不对的地方或者是描述不足的地方,望大家批评指正,下面是我给我”参考答案“,也只是仅供参考: 1.JavaScript运行在html中,引用有几种方式? 我知道的方法有3种: 第一种:外部引用远程JavaScript文件,如<script type="text/javascript" src…
WCF中常用的binding方式: BasicHttpBinding: 用于把 WCF 服务当作 ASMX Web 服务.用于兼容旧的Web ASMX 服务. WSHttpBinding: 比 BasicHttpBinding 更加安全,通常用于 non-duplex 服务通讯. WSDualHttpBinding: 和 WSHttpBinding 相比,它支持 duplex 类型的服务. WSFederationHttpBinding: WS-Federation 安全通讯协议. NetTcp…
转:http://www.cnblogs.com/elect-fans/archive/2012/05/14/2500643.html 0.NAND的操作管理方式 NAND FLASH的管理方式:以三星FLASH为例,一片Nand flash为一个设备(device),1 (Device) = xxxx (Blocks),1 (Block) = xxxx (Pages),1(Page) =528 (Bytes) = 数据块大小(512Bytes) + OOB 块大小(16Bytes,除OOB第六…
0.NAND的操作管理方式      NAND FLASH的管理方式:以三星FLASH为例,一片Nand flash为一个设备(device),1 (Device) = xxxx (Blocks),1 (Block) = xxxx (Pages),1(Page) =528 (Bytes) = 数据块大小(512Bytes) + OOB 块大小(16Bytes,除OOB第六字节外,通常至少把OOB的前3个字节存放Nand Flash硬件ECC码). 关于OOB区,是每个Page都有的.Page大小…
加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容.大体上分为双向加密和单向加密,而双向加密又分为对称加密和非对称加密(有些资料将加密直接分为对称加密和非对称加密). 双向加密大体意思就是明文加密后形成密文,可以通过算法还原成明文.而单向加密只是对信息进行了摘要计算,不能通过算法生成明文,单向加密从严格意思上说不能算是加密的一种,应该算是摘要算法吧.具体区分可以参考: (本人解释不清呢 …… ) http://secur…
一.Java常用加密方式 Base64加密算法(编码方式) MD5加密(消息摘要算法,验证信息完整性) 对称加密算法 非对称加密算法 数字签名算法 数字证书 二.分类按加密算法是否需要key被分为两类: 不基于key的有: Base64算法.MD5 基于key的有: 对称加密算法.非对称加密算法.数字签名算法.数字证书.HMAC.RC4(对称加密) 按加密算法是否可逆被分为两类: 单向加密算法(不可解密):MD5.SHA.HMAC 非单项加密算法(可解密):BASE64.对称加密算法.非对称加密…
runWithScene(CCScene* scene):启动游戏,并运行scene 场景.这个方法在主程序启动时第一次启动主场景时调用.   replaceScene(CCScene* scene):直接使用传入的scene 替换当前场景来切换画面,当前场景将被释放.这是切换场景时 最常用的方法.   pushScene(CCScene* scene):在不释放旧场景内存的情况下运行新场景,推进新场景相当于在当前可见的纸上再放一张纸,而之前的纸位置何持不变.适用情况: 1.推进一个经常被用到的…
1.alert("要输出的内容"); ->在浏览器中弹出一个对话框,然后把要输出的内容展示出来 ->alert都是把要输出的内容首先转换为字符串然后在输出的 2.document.write("要输出的内容");  ->直接的在页面中展示输出的内容 3.console.log("要输出的内容"); ->在控制台输出内容 4.value ->给文本框(表单元素)赋值内容 ->获取文本框中(表单元素)的内容 doc…
Deolin一般将Input类对象作为POST请求方法的参数, Input类的域与前端的数据结构一一对应,由于后端不应该相信前端传过来的任何数据, 所以前端的数据对象先绑定到Input对象中,通过JSR303做一次数据校验. Input类的所有域,类型都是String, 1.不相信前端传来的数据,所以不用诸如Integer,java.util.Date类型的域.不然会出现ClassClassCastException. 2.String类型的域可以添加@Pattern的注解,保证Input对象的…
function cc.exports.VectorRotateByAngle(vector,angle)--计算向量旋转后的向量,angle:正数逆时针,负输顺时针 angle = angle*math.pi/180 local sinAngle = math.sin(angle) local cosAngle = math.cos(angle) return cc.p(vector.x * cosAngle - vector.y * sinAngle,vector.x * sinAngle…
1. var foo = 'bar'; var baz = {foo}; baz // {foo: "bar"} // 等同于 var baz = {foo: foo}; 2. function f(x, y) { return {x, y}; } // 等同于 function f(x, y) { return {x: x, y: y}; } f(1, 2) // Object {x: 1, y: 2} 3. var o = { method() { return "Hel…
在此因为要总结写一个文档,所以查阅资料,将总结的内容记录下来,欢迎大家指正! 文章将介绍使用的基于机器人操作系统(ROS)框架工作的SLAM算法. 在ROS中提供的五种基于2D激光的SLAM算法分别是:HectorSLAM,Gmapping,KartoSLAM,CoreSLAM和LagoSLAM.当然最后还有比较经典的google开源的cartographer,虽然不是基于ROS的但是大牛们已经将它修改为基于ROS的版本的cartographer_ros, ROS(Robot Operating…
排序算法很多地方都会用到,近期又重新看了一遍算法,并自己简单地实现了一遍,特此记录下来,为以后复习留点材料. 废话不多说,下面逐一看看经典的排序算法: 1. 选择排序 选择排序的基本思想是遍历数组的过程中,以 i 代表当前需要排序的序号,则需要在剩余的 [i…n-1] 中找出其中的最小值,然后将找到的最小值与 i 指向的值进行交换.因为每一趟确定元素的过程中都会有一个选择最大值的子流程,所以人们形象地称之为选择排序.举个实例来看看: 初始: [38, 17, 16, 16, 7, 31, 39,…
分类: 1)插入排序(直接插入排序.希尔排序) 2)交换排序(冒泡排序.快速排序) 3)选择排序(直接选择排序.堆排序) 4)归并排序 5)分配排序(基数排序) 所需辅助空间最多:归并排序 所需辅助空间最少:堆排序 平均速度最快:快速排序 不稳定:快速排序,希尔排序,堆排序.  …
https://www.crifan.com/files/doc/docbook/linux_nand_driver/release/html/linux_nand_driver.html#nand_driver_mechanism [详解]如何编写Linux下Nand Flash驱动 版本:v2.2.1   Crifan Li 摘要 本文先解释了Nand Flash相关的一些名词,再从Flash硬件机制开始,介绍到Nand Flash的常见的物理特性,且深入介绍了Nand Flash的一些高级…
Flash名称的由来,Flash的擦除操作是以block块为单位的,与此相对应的是其他很多存储设备,是以bit位为最小读取/写入的单位,Flash是一次性地擦除整个块:在发送一个擦除命令后,一次性地将一个block,常见的块的大小是128KB/256KB,全部擦除为1,也就是里面的内容全部都是0xFF了,由于是一下子就擦除了,相对来说,擦除用的时间很短,可以用一闪而过来形容,所以,叫做Flash Memory.所以一般将Flash翻译为 (快速)闪存. NAND Flash 在嵌入式系统中有着广…
ECC简介 由于NAND Flash的工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此,在NAND的生产中及使用过程中会产生坏块.为了检测数据的可靠性,在应用NAND Flash的系统中一般都会采用一定的坏区管理策略,而管理坏区的前提是能比较可靠的进行坏区检测. 如果操作时序和电路稳定性不存在问题的话,NAND Flash出错的时候一般不会造成整个Block或是Page不能读取或是全部出错,而是整个Page(例如512Bytes)中只有一个或几个bit出错. 对数…
使用命令前用cat /proc/mtd 查看一下mtdchar字符设备:或者用ls -l /dev/mtd*#cat /proc/mtddev:    size   erasesize  namemtd0: 00c00000 00020000 “ROOTFS”mtd1: 00200000 00020000 “BOOTLOADER”mtd2: 00200000 00020000 “KERNEL”mtd3: 03200000 00020000 “NAND ROOTFS partition”mtd4:…
为什么会有两种启动方式? 这就是有两种FLASH 的不同特点决定的. NAND FLASH 容量大,存储的单位比特数据的成本要低很多,但是要按照特定的时序对NAND  FLASH  进行读写,因此CPU  无法对NAND  FLASH 的数据进行直接寻址,CPU 对NAND  FLASH 中数据的读写是通过专门的  nand  flash控制器进行的,因此 NAND  FLASH 更适合于存储数据. NOR FLASH 容量小,速度快,对NOR FLASH 进行读写时,输入地址,然后给出读写信号…
关于NAND flash的MTD分区与uboot中分区的理解 转自:http://blog.csdn.net/yjp19871013/article/details/6933455?=400850442         今天做内核移植,准备添加NAND flash的驱动,做到MTD分区时,想起在一本书上看到的一句话,说的是分区时每个区之间没有间隙,前一个区的结束地址是后一个区的起始地址.可是当我看我的开发板的教程时,分区如下: static struct mtd_partition smdk_d…
指令 功能 nand info 显示可使用的 Nand Flash nand device [dev] 显示或设定当前使用的 Nand Flash nand read  addr off  size Nand Flash 读取命令,从 Nand 的 off 偏移地 址处读取 size 字节的数据到 SDRAM 的 addr 地址. nand write        addr off  size Nand Flash 烧写命令,将 SDRAM 的 addr 地 址处的 size 字节的数据烧写到…
概述 Flash名称的由来,Flash的擦除操作是以block块为单位的,与此相对应的是其他很多存储设备,是以bit位为最小读取/写入的单位,Flash是一次性地擦除整个块:在发送一个擦除命令后,一次性地将一个block,常见的块的大小是128KB/256KB,全部擦除为1,也就是里面的内容全部都是0xFF了,由于是一下子就擦除了,相对来说,擦除用的时间很短,可以用一闪而过来形容,所以,叫做Flash Memory.所以一般将Flash翻译为 (快速)闪存. NAND Flash 在嵌入式系统中…
S3C2440对Nand Flash操作和电路原理(基于K9F2G08U0A) 转载自:http://www.cnblogs.com/idle_man/archive/2010/12/23/1915303.html S3C2440内部集成了一个Nand flash控制器.S3C2440的Nand flash控制器包含了如下的特性: l        一个引导启动单元 l        Nand Flash存储器接口,支持8位或16位的每页大小为256字,512字节,1K字和2K字节的Nand f…
1.NAND FLASH 的特殊性. 1)存在坏块.由于NAND生产工艺的原因,出厂芯片中会随机出现坏块.坏块在出厂时已经被初始化,并在特殊区域中标记为不可用,在使用过程中如果出现坏块,也需要进行标记. 2) 易出现位反转.NAND FLASH更易出现位反转的现象,如果位反转出现在关键文件上,会导致系统挂机.所以在使用NAND FLASH的同时,建议使用ECC/EDC算法确保可靠性. 3) 存在Spare Area.正因为NAND FLASH有着上面的两项特殊的地方,Spare Area就扮演作…
NAND Flash的容量   一直到2006年,MLC芯片的容量每年都成倍数增长:由于NAND Flash的制程升级的挑战越来越大,所以NAND Flash之后的容量成倍增长所需要的时间也在不断增加,从06年以前的一年到18个月再到2年.由于MLC已经成为主流产品,SLC开始在制程和容量方面逐渐落后.例如SLC的NAND Flash从8Gb到16Gb的转移的花了3年的时间. 8LC和16LC的优点在于可以将更大容量的数据存储于一块芯片上面,而这些是SLC和MLC不能够做到的.例如,第一块16L…
本章目标  了解NAND Flash 芯片的接口 掌握通过NAND Flash控制器访问NAND Flash的方法 8.1 NAND Flash介绍和NAND Flash控制器使用     NAND Flash在嵌入式系统中的地位与PC上的硬盘类似,用于保存系统运行所需的操 作系统.应用程序.用户数据.运行过程中产生的各类数据.与内存掉电数据丢失不同, NAND Flash中的数据在掉电后仍可永久保存. 8.1.1 Flash介绍     常用的Flash类型由NOR Flash和NAND Fl…
一.s3c2440启动后会将nand flash的前4K程序复制到内部的sram中,这个过程是硬件自动完成的,但是如果我们的程序远远大于4K,这个时候就需要将程序从flash拷贝到内存中来运行了. 二.nand flash 接线图可以看出,nand flash没有地址总线,是八根数据线,SDRAM和网卡有地址总接到s3c2440的地址总线了,而nand flash没有地址线,所以他们的寻址方式不一样,SDRAM和网卡的地址是CPU可以看得见的,也就是CPU统一编址,而nand flash呢?也有…