日本电子维修技术 (转载)用编程器读U盘FLASH来恢复数据的可行性



以下内容转载于数码之家:
最近做了一些实验:
用编程器直接读取FLASH芯片(单芯片)来恢复数据,但是不是很理想,主要是恢复后的BIN里面找到MBR后不是在整扇区的位置。二是与U盘LBA不能对应(可能和芯片量产时芯片数量和通道数有很大关系),对应UP10的主控的2G芯片,MBR竟然在BIN文件的3/4处(MBR是在磁盘的最前LBA=0位置,(做RAID数据恢复时,主要靠MBR、FAT表、MFT来定位块)。现把本次实验的心得写出来大家共同研究讨论下,老鸟不要见笑。。。。

用编程器读NAND FLASH来恢复数据的难度.
第一:有可能数据不是线性存储。
第二:读出后的BIN文件的HEX地址和U盘正常时的LBA扇区没有对应关系。
第三:FLASH的坏块,芯片出厂是的坏块编程器可以跳过,但是量产低格时的坏块编程器是不跳过的。
第四:有在量产后的坏块芯片用编程器读取有可能出错并且回造成地址(或扇区偏移-不一定是整扇区!)偏移。

综合以上问题,想要用编程器恢复FLASH里的U盘数据需要至少解决两个问题:
一:对应主控芯片的FLASH数据存储规则资料。
二:坏块的处理问题。
希望同僚发搔友讨论。(实验用编程器:西尔特3000U,主控芯片:UP10,6980,i5602,i5128)

个人认为:对于主控损坏,用空F芯片重新按原来的格式量产(如通道数和F片数关键),然后再焊会原来的F片,扫描或修复MBR-DBR-FAT。成功率可能高一点。


参考文献:
:(FAT文件系统在车载MP3上的应用)
  目前车载播放器基本上采用的是cd播放器、md播放器以及磁带播放器等。由于这类播放器内部具有一些机械式传动部件,再加上装在汽车这个特定的环境中,经常会由于机械传动或者光头、磁头受震动发生跳音或绞带现象,从而影响音质。
    flash存储器由于具有存储容量大、掉电数据不丢失、何种小以及可多次擦写等许多优点,正逐步取代其它半导体存储器件而广泛应用于移动电话、pda以及数码相机等移动电子产品中。其作为存储数据和应用程序的存储体,可以将大量数据方便、快捷地移动和交换。
    基于上述两点设计了一个车载mp3系统。该系统采用flash作为外存储器,并且由全固态器件组成,播放时不会出现跳音或绞带现象,音质也很好。由于flash存储器在应用过程中可能会出现坏损单元,影响车载mp3播放器的性能,因此本文针对flash存储器自身的物理特性,设计了一个文件系统,对flash存储器中的数据内容进行基于文件名或者文件号的存储管理以及应用透明的坏损管理。该系统优化了存储速度和存储空间,提高了车载mp3播放系统的可靠性。
    1 flash存储器特点
    flash内部分为多个存储单元块(block),每个存储单元块又由多个页(page)组成。存储单元块是可擦除的最小单位,页是写入数据的最小单位。
    flash存储器读取数据与一般的存储器类似,可以实现随机读取,读出的速度也很快。而flash存储器的写操作则和一般的存储器有所不同,flash的写操作必须先按存储块擦除(写入0xff到要擦除的存储单元块中),再按页顺序写入。由于flash存储器擦除耗时较长,所以flash存储器写入的时间主要在于flash存储器内部的擦除操作等。
    flash存储器第一块一定是有效块,而其它块可能会在使用前就是坏块或者在使用过程中变成坏块(invalid block)。flash存储器对内部坏块的判定是,根据其每一个单元存储块中的第3区中的第6 cloumn内容是否为0xff来定。虽然flash存储器内容会有坏块,但是由于每一块的内部结构都是相互独立的,所以只要对其状态加以识别,坏块并不影响系统对有效块的操作。
   
    2 flash文件系统设计
    本文在flash存储的基础上设计了一个flash存储管理系统来对flash进行物理管理。而在flash存储管理系统基础上又建立了一个fat文件系统来对文件操作进行管理,由flash存储管理系统和fat文件系统共同组成了flash文件系统。该文件系统完全支持文件名管理、自动坏损管理等通用文件系统所具有的功能;同时,针对车载mp3播放器系统特殊的应用环境,设计改进了该文件系统的可靠性,即使在恶劣的条件下也不会影响音质。flash文件系统的具体结构如图1所示。
    2.1 flash存储管理系统
    flash存储器的操作是以块为单位的,而fat文件系统则是建立在以扇区(sector)为单位的磁盘操作基础上(通常为512字节/扇区)。因此,本文设计了一个特殊的flash存储管理系统,来解决以块为单位的flash物理特性和以扇区为单位的文件系统接口之间的矛盾,以使得flash的物理地址和fat操作的逻辑地址之间能够对应。同时,由于flash的其它特点,flash存储管理系统还实现了各块之间的擦写次数均衡和坏块管理等工作。
    (1)物理地址到逻辑地址的映射
    为了在flash物理地址和fat操作的逻辑地址之间建立一个好的映射关系,对flash的存储空间在逻辑上进行了重新定义。结合flash特点,将每个存储单元块内部分成若干物理扇区,每个物理扇区由512字节+16字节=528字节组成。其中main area的512字节为有效数据空间,而spare area的16字节用于存放其它信息。
    由上述定义便可以确定flash物理扇区和绝对地址之间的对应关系:
    绝对地址=flash基地址+物理扇区号×528
    在建立了物理地址和逻辑地址之间的映射关系之后,但可以很好地将车载系统对音频文件的操作转换成系统直接flash的编程或者擦除操作。例如,在该系统中要进行readfile()操作,便可以根据其对应关系,通过执行flash存储管理系统中的sectorread()操作来实现。
    (2)可靠性设计
    由于该车载系统采用汽车供电,因此当汽车处于不太平衡的环境中,可能会由于颠簸千万播放系统的异常断电,所以提高车载mp3播放系统的可靠性非常重要。本文通过将spare area的16字节定义为逻辑扇区号、扇区当前状态、坏块信息等来提高播放系统的可靠性。其中spare area的具体定义如下:
        
    由以上定义可以看到,spare area的第4~5字节用于存储扇区当前状态。这样在flash写操作过程中,如果突然断电,便可以根据此状态进行掉电数据恢复。该系统中设定扇区当前状态有3种:扇区为空(0xfff)、扇区数据无用(0x0000)、扇区数据有效(0x00ff)。这样定义以后,系统便可以在flash写操作异常终止时能够对当时的状态进行及时的保存,以便下次系统开启后能够判断出上次系统中存在的问题并作出相应的处理。
    (3)坏块管理
    由于flash内部会有坏块,因此flash存储管理系统需要对flash进行坏块管理。本文对坏块的管理分以下两种情况:
    ①初始坏块处理。flash存储器在使用前可能会有坏块,而且这些坏块是随机分布的。所以,flash文件管理系统在系统执行读写操作之前先建立一个坏块表,然后对flash存储器进行初始化扫描以发现坏块,并将坏块标记为不可用,加入到坏块表中。
    ②操作过程中坏块处理。在擦除或者编程过程中发生错误时,flash文件管理系统将该块中其它页的数据重新拷贝到一个新的空块中,然后再将该块标记为坏块,加入到坏块表中。在这个处理过程中,由于对flash的擦除或者编程操作都会使得flash存储单元块的内容改变,所以flash文件管理系统一旦发现flash存储器的存储单元块成为坏块后便不再对该块进行擦除或编程操作,以免将坏块标志位数据清除掉,而是将该块标记为坏块,并将其加入坏块表中。
    flash文件管理系统在进行上述坏块管理后,坏块单元对用户应用是完全透明的。这大大方便了用户的使用,也达到了车载mp3播放系统的目的。
    (4)均衡擦写次数
    由于flash有一定的使用寿命,一般可擦除的次数为10~100万次,所以随着使用次数的增加,会有一些单元逐渐变得不稳定或失败。因此,要尽量避免频繁地对同一块地址操作,以免造成局部单元提前损坏;同时,由于擦除操作耗时较多,也应减少擦除操作,应该尽量达到擦写次数均衡。为此,本文设计了flash更新算法和磨损程度检测算法。
    flash更新算法是将flash中要更新的数据直接写入一个空块中,降低由于flash先擦除后写入的特性带来的对块的频繁擦除;同时,也提高了flash的使用效率,加快了操作速度。磨损程度检测算法是在对flash进行写入前必须先对flash进行坏块扫描,以确保不会将数据写入坏块从而此起数据的丢失。这样设计也是为了提高车载mp3播放系统的可靠性。
    2.2 fat设计
    在flash文件管理系统的基础上,还建立了fat文件系统来对文件操作进行管理。将fat文件系统具体分为以下四部分:
    (1)fat的引导区
    该引导区存放代码所需的信息及最重要的文件系统信息。这些信息包括了flash存储器的类型、容量以及划分成多少个簇;每个簇包含多少扇区、fat表数目、保留扇区数、根目录的首簇号及根目录入口数、版本信息等等。引导扇区是在格式化flash时生成的。
    (2)fat的文件分配表
    文件分配表存放文件所占用的存储空间族链以及flash存储器的占用和空闲空间的情况,非常重要。为了防止文件分配表损坏而引起文件的丢失,该系统中保存了两个相同的文件分配表fat1和fat2,以改善其安全性。在文件系统的操作中,程序对fat表结构的两个备份进行顺次修改,以此确保flash存储器上总是存有一整套完好的文件分配表。
    系统对fat表的访问原理如下:访问文件时先从要目录中找到该文件的目录项,从中读出首簇号。然后,目录中找到该文件的目录项,从中读出首簇号。然后在fat中找到从该首簇号开始的簇链,簇链上的簇号即为文件在逻辑扇区中占用的扇区号链,这样便可以进行数据读写了。
    (3)fat的根目录区
    fat的根目录区是固定大小的紧跟在fat表后的区域。本文将从fat区之后紧跟的32个扇区作为根目录区,可以保存512个目录项。每个目录项记录了该文件的文件名、文件属性、文件大小、文件创建的日期和时间以及文件在数据区中所占的首簇号,即该文件在fat表中的入口等数据。
    (4)fat的数据区
    数据区存在文件的数据内容。文件系统对数据区的存储空间是按簇进行划分和管理的。该系统中,定义1cluster=32sector,一个文件总是占用若干个整簇,文件所使用的最后一簇剩余空间就不再使用。
    由图1可以看出,该fat文件系统提供文件的格式化,文件的打开、删除、关闭,文件的读写、查找等基本的功能。通过flash文件系统对文件的操作进行管理后,该车载播放系统便可以实现选曲、添加删除歌曲、下载歌曲、音量调节等一系列功能了。
    3 应用
    通过这样的设计,flash的存储性能有了较大的改善,而且系统的可靠性也很好。即使在flash写操作异常终止频发的最恶劣工作条件下,也不会丢失数据,更不会损坏非常重要的文件分配表结构而造成系统的崩溃;因此,本文所设计的flash文件系统能很好地适合于车载mp3播放系统的应用。

评论
好像很难,现在的编程器 最大能读写的容量也不是很大,无法读出U盘那么大容量的内容

评论
580U支持最大1G的FLASH

评论
希望有好的设备出现,解决此类难题!

评论
效率源出来一款U盘数据恢复机,报价7300元,购不起呀!主要是没那个量

评论
3000U可以支持到8G的FLASH芯片,PC3K FOR FLASH也只能支持到8G的,估计pc3k FOR FLASH就是一台经过软件优化的编程器吧

评论
呵呵这个吧就是和效率源的差不多啦 电路 电子 维修 我现在把定影部分拆出来了。想换下滚,因为卡纸。但是我发现灯管挡住了。拆不了。不会拆。论坛里的高手拆解过吗? 评论 认真看,认真瞧。果然有收 电路 电子 维修 求创维42c08RD电路图 评论 电视的图纸很少见 评论 电视的图纸很少见 评论 创维的图纸你要说 版号,不然无能为力 评论 板号5800-p42ALM-0050 168P-P42CLM-01
 ·日本留学生活 求个大阪合租
·日本留学生活 自家房招租求
·日本留学生活 东京地区出9成新lv钱包
·日本育儿教育 孩子从国内过来如何学习日语
·日本育儿教育 明年四月横滨招月嫂
·日本育儿教育 请问咋让娃突破识字关?感谢分享中文共读和学习经验的妈妈
 ·中文新闻 东区明星迈克尔·格列柯,53 岁,将在第一次出生两年后第二次
·中文新闻 《爱情岛》明星卡米拉·瑟洛和杰米·朱维特在透露即将迎来第三

维修经验

CPUcpu-z 1.77版低调发布

日本维修技术更新: New benchmark “submit and compare” feature New clocks dialog reporting all system’s clock speeds in real-time Preliminary support for Intel Kaby Lake AMD Bristol Ridge processors 主要是增加了支持I、A两个新架构的 ...

维修经验

CPU这几天经常开机黑屏,热重启后又正常

日本维修技术这几天经常开机黑屏,热重启后又正常,今天热重启也不管用了。折腾半天总算点亮,显示超频失败,以前出这个画面我是不理它的,直接重启就能正常进系统了,今天不敢托大,因为 ...

维修经验

CPU超频求助!关于华擎H170和6700K

日本维修技术问题见楼主的show贴 https://www.chiphell.com/thread-1634895-1-1.html 这次华擎的H170 Hyper最大的特色应该是自带时钟发生器可以自由超外频 可是楼主好久没有折腾超频了。。。 两图中除了CPU外频 以 ...

维修经验

CPU液态金属会侵蚀cpu核心吗?

日本维修技术前阵子看到有人说,液态金属时间长了会侵蚀cpu铜盖,那么问题来了,这货会不会侵蚀核心呢? 评论 这玩意儿好像只对铝起反应 评论 不是说,cpu的盖子是铜的吗。。。 评论 不会,核 ...

维修经验

CPUm6i究竟支不支持e3 1231v3

日本维修技术官网上看支持列表没写有e3 1231v3,装机帖又有人晒,百度也没个明确答案,那究竟能不能点亮?有在用的chher说一下么 评论 升级最新bios肯定可以支持 评论 我的p67evo官网上也没说支持12 ...

维修经验

CPU华擎 HYPER 妖板 正确玩法

日本维修技术600元的 B150,10相供电,释放洪荒之力 注意必须官网 Beta 区的 BIOS 有 AVX 的 CPU 可能会掉缓存 启动时按 X 键激活 SKY OC,重启后进入 BIOS 160924164727.jpg (95.63 KB, 下载次数: 1) 2016-9-24 17:47 上传 ...

维修经验

CPUE5 2686 V3和i7 6800K如何选择

日本维修技术默认用,不超频,两者功耗是一模一样的 E5 2686 V3:2.0主频,3.5睿频, 18核心36线程 ,45M L3 咸鱼大约2500~3000元 i7 6800K : 3.5主频,3.8睿频 ,6核心12线程 ,盒装3000元 评论 性能应该是26 ...

维修经验

CPUHD530硬解4K能力还是有点弱呀!

日本维修技术播放器用PotPlay 64bit,各种优化后,跑4K @120Hz视频只能到70帧左右的速度,勉强能用! 显示器用的4K的优派VP2780 未标题-1.jpg (211.97 KB, 下载次数: 0) 2016-9-26 21:29 上传 评论 这个估计你没优化 ...

维修经验

CPU6900k 1.25V到4.2体质怎么样

日本维修技术如图,体质怎么样,ring是35,没敢试了,都说ring高了毁硬件 评论 不错的U,但不算雕,上4.4就大雕了,这电压上4.5的目前没见有人发图 评论 谢谢前辈告知 评论 我这个用1.2V超的4.2,R ...

维修经验

CPUI3 6100 华擎B150M pro4超4.5g测试。

日本维修技术看看论坛没多少i3 6100的帖子,就转下自己发的show贴里面的数据,给大家参考下。家里还有当年的神U i3 540 oc 4.5G在给老妈用。 不知道数据上正常吗?有6100的朋友可以告诉下,另外是不有 ...

维修经验

CPU7系u会兼容100系主板吗?

日本维修技术RT,听说要推200系板,100系还能用吗以后。。 评论 兼容的 评论 感谢!以后换u就行了,目前消息200系板会有新的特性吗? 评论 24条PCI-E 3.0通道、支持Intel Optane混合存储技术、十个USB 3 ...

维修经验

CPU有心入5820k了,求教下温度问题

日本维修技术一直徘徊在6700k和5820k之间,6700k现在这德行直接把我推向了5820k啊,从2600k升级上来,三大件都要换,现在唯一疑惑的是IB-E ex这种顶级风冷能不能压住4.5g的5820呢?毕竟刚刚买一个多月。 ...

维修经验

CPU6600&6600K才100的差价

日本维修技术太少了吧。。。 6600.JPG (106.91 KB, 下载次数: 0) 2016-10-1 10:30 上传 评论 毕竟只是i5而已…… 评论 上z170 6600也能超,等于没区别,差价能有100已经不错了 评论 然后又见不超频人士推荐超频 ...