作者danny8376 (钓到一只猴子@_@)
看板Storage_Zone
标题Re: [请益] 关於SD卡健康度检测软体以及Finaldata
时间Sat Nov 30 16:41:53 2013
※ 引述《joulin (joulin)》之铭言:
: 你都说长了 我就吃光光了XD
先来个基本概念
这篇Finaldata上的磁簇是指在逻辑磁簇上的位置
实际上的位置软体基本上也管不着
档案系统 (应该是FAT32
逻辑空间 (这边这个是逻辑的 是软体知道的状况 非实体状况
实际储存 (这里才是实际状况 由韧体负责
上面是储存设备的各层
: 我直接整理出我想要问的问题~
: 1.我知道硬碟有磁区的先後,是按照其在磁盘上的位置排列,
: 那记忆卡是否有磁区的先後编号?
当然有
记忆卡内的BLOCK也是分布在不同位置
不过不像硬碟是环状排列
而是成矩阵
: 2.我现在理解到Finaldata那个磁簇是逻辑上的,
: 所以有跳过磁簇并不代表记忆卡坏掉很多磁区,
: 他所赋予的磁簇编号,也不是实体磁区的编号,
: 可是,既然不是,那为什麽如果只把某档案删掉,
: 在写入新的档案,该新的档案的编号会去填补原本被删掉的档案的编号呢?
把最上面那个分层拿回来
当你放了新档案後 档案系统会决定该放在逻辑空间的哪部分
而FAT32的原则是前面有足够空间能塞就塞(完整为前提)
不够就往最後面放
最後面也不够才拆开到处塞
: (当然,删掉档案跟新的档案因为大小不同,所以所占用的磁簇多寡一定不同,
: 这就会导致被删掉的那个档案的那些磁簇编号,在被新的档案使用之後,
: 还会剩下一些编号,所以这些磁簇编号就会看起来像是被跳过了)
: 而且,Finaldata软体的运算机制到底是怎麽样? 为什麽有时会跳过某些磁簇?
Finaldata只是把实际状况列出来
这部分怎放跟他无关
这是FAT32档案系统决定的
: 然後为什麽大部份情况都是按照档案写入时间去排列,
: 可是却有时会发生顺序不对的问题?
: 有没有专业大大了解~
当你没删档案 或者删了就全删
自然始终都是很大块的连续空白空间
照上面的原则
这部分就很理所当然了
: 3.记忆卡有硬碟一样自动屏蔽坏损磁区的功能吗?
当然
而且FLASH更需要这样做
HDD的磁区损坏是可能发生
FLASH的损坏是绝对会发生
(虽然这样说也不太对啦XD)
: 4.硬碟有很多软体可以去监测他的健康程度,
: 在他可能坏损之前做处理或备份或者决定不再使用,
: 有没有记忆卡专用的健康度扫描软体,感觉知道记忆卡健康程度还蛮重要的,
: 不然要是出国玩个几天,回来才发现记忆卡坏了,真的会很心碎的....
两个字 没有!
SSD都已经是备份、备份再备份
祈祷他真的会乖乖撑到寿命到了才挂
你认为记忆卡有可能更好吗?
FLASH这东西是说挂就挂的 没任何徵兆
并不像HDD坏掉前可能会有些不良状况
: 以上,问题有点多,希望有经验或是了解情况的大大们可以给予一些解答~
: 小弟感激不敬!!!
: 当然就算没有相关经验也都可以一起参与讨论喔~
: 让彼此更了解记忆卡的运作,
: 恩,知己知彼才能百战百胜麻(误)
: 不是拉,是知道之後,才可以更避免资料消失的窘境XD
: 毕竟记忆卡又不能像硬碟一样,即时备份@@,(边拍边备份)
: 要是途中坏了,真的可能是一去不复返
: PS.我知道有些相机是双插卡的,而且好像可以将同一个档案写入两张卡,
: 以防记忆卡坏掉,不过毕竟这种相机实在是太高档太贵了,不太适合大众使用
: 所以,还是了解记忆卡健康程度比较实际.....
顺便回一下前面那长串里说的平均抹写
简单来说~~~ 再把前面分层拿回来
你实际上软体最多能知道的只有逻辑空间那块
最底下的实际储存只有韧体才会知道
所以可能你逻辑空间是很整齐有顺序从1 2 3 4 5这样排列
实际上在FLASH里可能是84 55 31 15 67之类这样乱塞的
这部分HDD其实也一样
只是HDD多数时候逻辑和实体是对应的
只有当有地方出现损坏搬出备用区块时才会发生不一致的情况
但FLASH设备为了平均抹写就这样做了
反正FLASH也没随机存取效率低落的问题XD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.216.102
1F:推 joulin :感谢大大专业的回复!!!真是懂了不少!!! 11/30 18:21
2F:→ joulin :另外有一个问题请问,所以为何会发生我这次的情况 11/30 18:21
3F:→ joulin :就是我原文中提到的7906的档案 会被写到最後逻辑区去 11/30 18:22
4F:→ joulin :可是在那当下 前面的逻辑磁簇还有空间啊@@ 11/30 18:22
5F:→ joulin :然後7907又写回前面的磁簇去...... 後来大概是因为 11/30 18:23
6F:→ joulin :发现前面有一个空间 所以8014又跑去存在前面空下的 11/30 18:23
7F:→ joulin :那个磁簇了? 可是为何会发生7906跳到最後的情况呢 11/30 18:24
8F:→ danny8376 :你确定那前面的空间 够塞进那个新档案?(保持连续) 11/30 20:14
9F:→ danny8376 :FAT32的写入原则是不产生碎片前提下尽量往前塞 11/30 20:15
10F:推 joulin :我是一张新卡完全没有写入任何东西的 12/01 01:19
11F:→ joulin :相机拍照的编号会一直往下跳 写入到7905时 後面 12/01 01:20
12F:→ joulin :的磁区并没有任何档案 所以应该继续按顺序写入 12/01 01:20
13F:→ joulin :所以7906理应排在7905的磁簇後面? 可是结果却 12/01 01:21
14F:→ joulin :不是@@ 我整张记忆卡没有删过任何档案~ 12/01 01:22
15F:→ joulin :而且 7907有继续写在7905 表示7905後面确实有一大片 12/01 01:24
16F:→ joulin :空白的地方 所以理应没有往後塞的道理? 12/01 01:24
17F:→ joulin :为了清楚一点 我把各档案的磁簇写出来好了 12/01 01:24
18F:→ joulin :7905 所在磁簇 952395 ~ 952552 12/01 01:29
19F:→ joulin :8014 所在磁簇 952553 ~952747 12/01 01:30
20F:→ joulin :7907 所在磁簇 952758 ~ 952967 12/01 01:31
21F:→ joulin :7908 所在磁簇 952968 ~ 953185 12/01 01:32
22F:→ joulin :7909 所在磁簇 953186~953392 12/01 01:32
23F:→ joulin :後面略 一直到最後 12/01 01:33
24F:→ joulin :8013 所在磁簇 972161~972341 12/01 01:33
25F:→ joulin :7906 所在磁簇 972539~ 972744 12/01 01:34
26F:→ joulin :可以看到所有档案都是一个磁簇接着一个 不曾断过 12/01 01:35
27F:→ joulin :除了952553~ 952757 这204个磁簇 本应该填入7906的 12/01 01:35
28F:→ joulin :可是却变成很後面才写入的8014那张照片了 12/01 01:36
29F:→ joulin :值得一提的是 7906 占的空间 好像是205个磁簇 12/01 01:36
30F:→ joulin :跟204有点接近 所以应该是原本有写入在那里?後来 12/01 01:36
31F:→ joulin :被移到後面? 可是 怎麽会所占磁簇差了1呢?@@ 12/01 01:37
32F:→ joulin :另外一个线索 我在所谓的遗失档案中 找到了一张 12/01 01:37
33F:→ joulin :跟8014一模一样的档案 它所占的磁簇是 12/01 01:38
34F:→ joulin :972342~972536 不但档案内容(我说的是在finaldata 12/01 01:39
35F:→ joulin :中右键选检视档案看到的东西 就是一堆看似乱码的东西 12/01 01:40
36F:→ joulin :其实那应该就是档案真实内容吧?) 相同 所占磁簇 12/01 01:40
37F:→ joulin :为194 与952553~952747同样都是占194 可以判断是 12/01 01:41
38F:→ joulin :同一个档案 我猜想 应该是被档案系统搬到前方去 12/01 01:42
39F:→ joulin :然後把後面那个972342~972536的资料清除了 所以 12/01 01:42
40F:→ joulin :才会跑到“遗失档案”去~ 至於 12/01 01:43
41F:→ joulin :为何档案系统要把7906那个档案搬到最後面去 12/01 01:43
42F:→ joulin :然後又把8014那个档案搬去前面我真的不太懂为什麽@@ 12/01 01:44
43F:→ joulin :另外还有一个M0100.CTG档 这应该是canon相机对照片 12/01 01:45
44F:→ joulin :制作的索引档案 他位在952748~952749 12/01 01:47
45F:→ joulin :也就是也处在那个照片7905与7907中间空下的磁簇中 12/01 01:47
46F:→ danny8376 :这部分要问你的相机做过啥操作了XD 12/01 06:56
47F:→ danny8376 :总之这边说的是原则 实际上也要看设备怎处理 12/01 06:57
48F:→ danny8376 :毕竟相机里应该不是用M$写的那套library 12/01 06:58