» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


 17 12
发新话题
打印

继续科普___________关于YY评测中关于“扇区”的误解 [AK卡恐怖的未明推论发现]

引用:
Free Space的问题探讨

  有些朋友从幺幺截的Acekard Manager软件界面图中看到了“Free Space”的字样,于是有些不解,幺幺当然就要给大家讲解一下具体的情况,实际上这也是Acekard的AKFS格式所带来的问题之一。
  Acekard的系统为仿NDS正版卡设计,那么AKFS磁盘系统跟NDS正版卡就同为连续空间,这一点就和Fat不连续的特点区别开来,NDS的 Rom使用的是连续空间,倘若读取Clean Rom,Fat格式的不连续特性无法保证速度,于是AKFS格式也就设计成连续空间以便保证读取速度,这样一来,就会出现一些情况:
     1、        大多数TF卡都会分内部扇区,倘若在存放Rom时,遇到两个扇区的分界,Rom就会从下一个扇区开始存放,也就是不能跨扇区,Rom存放的空间一定要保证不小于Rom的体积,那么这就带来一个问题,倘若A扇区有100M,B扇区有100M,在A扇区存放了一个64M的Rom还剩下36M的空间,倘若再要加一个32M的Rom,可以继续放到A扇区;倘若要加的是64M的Rom,就只能放到B扇区去,这样一来在Acekard Manager的界面就会出现“Free Space”,这个“Free Space”下一次拷贝小于36M的Rom还可以继续用,倘若新加入的Rom一直都大于36M,那么“Free Space”就会一直存在。在这里提一下PNY 1G的TF卡,它内部是没有分区的,也就是整张1G的卡不用担心跨扇区的问题,比较赞。
  2、        倘若经常这样操作,那么就会留下磁盘碎块,长期下来,会使得磁盘使用效率不高,于是就要需要用软件再格式化一次。
  以上两个问题因为AKFS磁盘系统而产生,由此可见技术的两面性,既带来了进步,又产生一些新的问题。
看到现在游戏界里面对基本的计算机知识实在是了解得太少了,虽然YY也是烧录界的名人,但是毕竟是计算机门外汉啊,为了大家今后走出去不至于闹笑话,看来我的科普还是有继续的必要了。虽然我对这方面也不是太了解,不过……聊胜于无吧。

首先,既然是对“扇区”这个词的纠错,那我们就来看看什么是“扇区”,先来个图。

扇区这个词,jun4rui最早是从软盘、硬盘里面学会的,至于“扇区”这个名字的来由,首先还要说说“磁道”的概念。在硬盘或者软盘上,每个盘片上面被分成若干个同心圆磁道,每个磁道被分成若干段,由于每段的形状像扇面一样,顾名“扇区”。而且现在大家通常用的电脑,扇区的大小是固定的512,单位是“字节”。目前很多存储设备都是按照硬盘/软盘的传统,划分的“逻辑上”的扇区、磁道,实际上物理结构当然早没有盘片了。

计算机上,存储文件的最小单位叫“簇”(好像是这么写的吧?多少年不用的名字,忘记了……:D),大家都在用的FAT32最大每个簇也只有64个扇区而已(废话,多了太浪费了嘛,即使存个1字节的文件,也要占用32K的空间,绝对不划算)。所以YY文中提到的,100M一个扇区…………目前在物理上是不会存在的…………。

FAT16和FAT32的区别也就在于,前者的簇总数只有2^16=65536个,而后者有2^32=4294967296个,可支持的容量自然大幅提升!

所以,要说AKFS的FREE SPACE的问题,应该是这个AKFS文件系统的“簇”实在是太………………太不一样了。它把TF卡格式化以后,所建立的逻辑上的“簇”大小和标准的PC用的磁盘分区的差异恐怕是相当大的。这也就是AKFS会很难支持支持其它自制软件的FATLIB的缘故,因为人家都是用标准的FAT分区格式,只要做一下和烧录卡的接口而已。但是AKFS连磁盘格式都变了,不但要做烧录卡的接口,连分区的接口都要开发。而且这个分区格式和传统的FAT的差异还不小,人家存小文件最多只要32K,你存一个小文件100M?

当然,办法也还是有的,可以把小文件打包成类似ROM的格式(要知道NDS的ROM里面也是一些小文件打包的哦),然后传进去,自制软件就在这个“簇”里面读取小说和音乐好了。但是这个ROM要自己做,麻烦多了,而且你不塞满这个100M“簇”,就是浪费空间了。

这个大的簇,在磁盘管理上也会有相当的麻烦。本来你1G的卡,为了安全起见都划分成128M的“簇”,这样保证可以放8个游戏。但是如果你要玩32M/64M的游戏,空间的浪费就大了。而你把空间划小了,装不下128M的游戏,到时候要玩,就要把游戏全部删除,然后再重新格式化,然后再传游戏。每次玩新游戏,都可能会不得不进行这样的“折腾”。但是这么大一个“簇”,用起来实在是不会太“舒服”的,浪费了空间不说,玩家肯定是要做频繁调整的。看见有玩家要求AK出个压缩或者裁减ROM的功能,其实如果一个簇128M,正好放下,你压缩(目前压缩比很少有50%以上的),或者裁减(也没有见过ROM能裁减50%以上的),还是会有64M以上,压缩下来,嘿嘿,你分的128M的区剩下的空间还是会浪费掉嘛,能剩下多少还真不好说。要不,你再格式化卡把ROM重新传一次?


另外,YY的结论中有两个问题,因为一个128M的簇,可以先放64M的数据,再放32M的数据,然后还剩下32M,再装一个64M的数据,就只能从第二个簇开始存放了。

但是…………


从图片上看,
从图片上看,这块512M的TF明显是分了3个簇!为何?如果放不下就从第二个簇放,那图片上只有三个 FREE SPAVE,显然这就是没法放下更多数据造成的浪费空间,而且显然这就是簇的末尾,所以这块卡如果照YY的说法,为何第一个区还有64M以上空间的时候,完全可以放在第一个区的《恶魔城》为何要放到第二个区开头去?当然,这可能是可以由玩家选择设定的。但是,这样就第二个问题就浮出水面了。

每个簇的大小,究竟是由谁来决定的?
根据一般的计算机原理,每个簇的大小理论上应该是一样大小的。但是根据图片的“3簇说”,我们可以进行一个简单的计算:

第一个簇:33554432+512+67502080 = 101057024
第二个簇:67108864+67108864+18743296 =  152961024
第三个簇:134217728+116391936 = 250609664

看来,我得到了一个莫名其妙的数字,这显然不符合簇划分的逻辑。或者说,根本不存在“三个簇”的说法?

再来看看下面一张图:


开始的时候,居然要选择SD卡类型……

这样,我们面前突然多了很多问题:
1、AK卡是按照硬件分“簇”的,卡上的硬件分了多大的区,在烧录软件里面就是多大的区,有一个区在烧录软件里面就有几个“簇”,硬件已经定死,玩家物理更改。
1的理由:因为YY评测中提到了 PNY 1G卡的“簇”是连续的,其它卡的不是,而且没有任何来源说过格式化的时候可以手工指定每个”簇“大小的;

2、如果照YY的说法,使用久了,要消除”Free Space“这些磁盘碎块就要重新格式化卡,但是硬件上划分的簇,格式化以后不还是存在吗?既然硬件簇大小的限制,格式化前128M只能装一个100M的ROM,你格式化后还是只能装一个100M的ROM,何来消除一说?

3、如果推翻2和1的说法,格式化的时候可以选择”簇“大小,那么大家用已知大小的ROM后可以比较精确的调整”簇“用来适应ROM了,但是这样以来,面临的将是更加频繁的磁盘格式化。

矛盾的地方出现了:
不过既然可以调整”簇“大小,那不就证明这些“簇”是逻辑上的,而不是物理上的吗?既然是物理上的,那为啥不干脆把所有空间就划分一个“簇”,那不就可以随意放文件而没有所谓的Free Space的困扰了?如此看来,“簇”应该是物理上的。但是物理上的话,为什么每块的“簇”大小会不一样?万一我今后买了每个“硬件簇”都小于64M的卡,是不是空有4G容量,也无法装下128M的游戏了(从三个簇容量计算上来看,第一个簇是小于128M的,最大的簇也没有两个128M大,所以这种卡…………貌似只能装两个128M的游戏?!!)?

从硬件上看,我个人觉得可能性比较偏向“硬件簇”上,AKFS完全是根据硬件的块来划分出不规则大小的“簇”的,但是这样就会造成一个相当可怕的现实…………YY范例中的512M卡带,居然只能装下2个128M游戏,而且将来出了256M游戏,将无法运行!

如果“簇”只是逻辑上的,那其它烧录卡厂家也可以把自己的卡格式化成类似的磁盘格式化(反正是逻辑上的嘛!磁盘格式化成Linux格式也可以,格式化成FAT32也可以,当然也可以格式化成逻辑上的任意格式了),而且也不会存在只有PNY 1G卡才有全部的连续空间,其它卡没有连续空间的问题上来。






本来文章开头只准备给大家科普科普,没想到…………最后居然得出一个可怕的推测
4rui哥哥瞬间被冰冻了……
:fq22:

我看YY是指望不上了,厂家自己出来说一下,你们到底是什么原理,广大等待购买AK卡的用户如果被打击了可是相当郁闷的啊!

次世代的AKFS文件系统,究竟是福是祸?!谁来告诉我们!

欢迎厂商或者高人来本人论坛讨论!
http://game.jun4rui.com/bbs/view ... &extra=page%3D1

[ 本帖最后由 acejun4rui 于 2006-10-24 23:05 编辑 ]


TOP

引用:
原帖由 iiwang 于 2006-10-24 19:32 发表
有够专业.烧录卡,有用的就得了,不要无止境的折腾鸟




如果YY测试的卡只能固定分3个“簇”,恐怕大批准备买AK的人都会再考虑考虑了,这可是个严重问题啊,官方应该出来说说,现在的1G PNY卡可以,今后的就不清楚了,一个型号的显卡,游戏厂商用料可能就换了几批,别将来1G的PNY也变成几个“簇”了,那就晕菜了。

主要是给准备买的玩家提个醒,反正还没有发售,先提出疑问,这比买回家才发现大哭卖掉大骂要好啊,无论是对玩家还是厂商。



TOP

YY在前面说了,果然是硬件分区…………

不过,我看你拍照片用的512M卡,最小分区根据我的计算,绝对不是256M一个啊!
看图说话:



看看《恶魔城》和它前面的<<FREE SPACE>>,它前面的<<FREE SPACE>>完全可以装下《恶魔城》,但是却偏偏跑到第二个“簇”去了,这个是什么道理?


TOP

YY还是没有仔细看我的说明啊,根据你说的AK卡的分区方法,推断出来你测试中试用的512M烧录卡的三个分区的大小分别是:
第一个区:33554432+512+67502080 = 101057024 约 94M
第二个区:67108864+67108864+18743296 =  152961024 约 146M
第三个区:134217728+116391936 = 250609664 约 239M

所以,你测试中用的512M TF卡,第一个区最大能放一个64M的ROM还剩30M,第二个区最大能方128M的ROM还剩18M,第三个区最大能放128M的ROM+64M的ROM+32M的ROM

鉴于很少有小于30M的ROM,所以正常情况下你的那块闪存卡用在AK烧录卡上,最大能装
2个128M
2个64M
1个32M
总共5个ROM而已。

TOP

引用:
原帖由 cc0128 于 2006-10-24 23:04 发表
转别的论坛上一个人的回帖:

---------
指正一点:
闪存卡的簇大小不是随意调整,因为闪存实际上是区块(BLOCK)管理,例如一些闪存是16KB一个BLOCK,那么用FAT 32格式8K一簇的方式格式化,就无法正常使用 ...
他说的是FAT系的处理方式,AK是特殊格式,所以我的“簇”都是打了引号的。AKFS只是概念上近似簇而已。

TOP

引用:
原帖由 brons77 于 2006-10-24 23:34 发表



晕倒,闪存的物理方式跟硬盘,软盘完全不是回事。与内存类似,其内部寻址方式是按block(对应着扇区)进行,这个学过计算机组成就应该有概念。
但闪存对外一般都以串行方式读写(比并行的抗干扰能力强, ...
现代的设备和硬盘软件不同,但是关于扇区之类的名字还是延续下来了,这个我在前面就说过了,抽Y回帖不看帖的……

至于你说的“块”、AKFS是特殊分区方式之类的,在前面的文章中已经提过,所以这篇我就不重复说明了,和你的概念类似,貌似没有冲突的地方。

总的来说,AKFS看来是一个很依靠硬件特性的烧录卡,而且从YY评测的图片上看,实际上他的512M TF卡还是被分成三个容量不等的区域。

TOP

引用:
原帖由 henryzyl 于 2006-10-24 23:32 发表
现在有2G的ROM吗?
没有也没用,看前面分析,YY评测用的512M TF卡,装目前最大的128M ROM也只能装3个,标准的64M ROM 6个

TOP

引用:
原帖由 GSLylien 于 2006-10-24 22:37 发表
感觉有这个胆量开发特殊磁盘系统的就应该不存在LZ所说的问题。

用磁盘空间模拟真实NDSROM,为了达到一定的读取速度,所需要的只不过是连续的磁盘空间。
相信这个空间应该是可以指定大小的,即使现在不能,将 ...
终于有个看懂了的。

其实既然分区(“簇”,但是造成误解就不好了,所以还是说成“分区”把)的概念已经定下来了,关键就看分区的大小是不是自己可以调了。但是根据YY的评测,貌似只有PNY 1G的才能连续分区,其它的卡不行,所以这样看来,分区恐怕没法调了。

不能调的话,恐怕对玩家的影响是很大的,如果能调,虽然会麻烦一点,但是接受度会高很多。但是如果真能调了,那买不买1G的PNY又有什么问题呢?

不过看YY前面的回复,貌似是不能调的啊……

TOP

引用:
原帖由 GSLylien 于 2006-10-25 10:00 发表
>大虾还是没明白, YY说了,前面那个空间是因为删除了一个游戏造成的....以前那个位置放了一个ROM,然后被删掉了,所以会有一个Free Space

其实我觉得吧这个卡里的ROM分区,比作为普通电脑上的硬盘分区可能 ...
第一个簇:33554432+512+67502080 = 101057024
第二个簇:67108864+67108864+18743296 =  152961024
第三个簇:134217728+116391936 = 250609664

如果是这么说,那删除ROM也会造成空间不连续,但是问题依然存在,那这个512M的卡就是两个分区了。
第一个区:254018048 合 242.25M
第二个区:250609664 合 239M

由于512M的卡不可能格式化后还有512M,从图片上看应该是格式化后还有4xxM,这两个分区均没有达到256M一个分区,如果是128M的ROM,仅仅能存放两个,而如果是64M的ROM,则第一个区能放3个,第二个区也是3个,总计 6个。

如果一个512M的卡只能装两个128M的ROM,这还是有巨大的浪费……

TOP

引用:
>看前面分析,YY评测用的512M TF卡,装目前最大的128M ROM也只能装3个,标准的64M ROM 6个
光说可装ROM数量的话,其实也没啥区别啊:FAT的卡512M也只能装3个128M的ROM,当然前提是不考虑缩减ROM,因为512MB的卡肯定不足512,还要放save文件;同理64MB的ROM也只能装7个,多一个而已。
虽然只是多一个,但是512M的存储卡是肯定没法放将来的256M的ROM的,绝对歇菜,而且存储空间本来就浪费了,这就是评测中没有提到过的缺陷啊
引用:
>关键就看分区的大小是不是自己可以调了
是呀,前面说过我也这么觉得。但是我觉得不能调的话这个分区系统对于作为NDS烧录卡来说就太失败了,应该不会的,即使现在没做到,肯定也是要实现的功能。
这个方面,我觉得既然是采用硬件物理连续地址特性分的区,那肯定就没法再分了,如果可以分可以调,那说明AKFS可以用逻辑分区,既然可以逻辑分区那其它烧录卡就都可以做到,都可以采用类似的分区技术,AK公司也没有必要采用依靠硬件的方式实现了。这相当于要把物理上两个不同的分区映射成一个,在计算机上是有这种技术的,但是需要额外的软件 or 硬件实现。鉴于AK烧录卡硬件已经确定,不可能再添加什么,而在游戏运行的基础上再同时运行一个自制的分区映射软件?这恐怕就不是NDSL现有的硬件可以做到的了。
引用:
>那买不买1G的PNY又有什么问题呢
我记得YY说的其它卡相比PNY的问题是,物理上有分区,可能是这个分区系统不能逾越的困难,导致这个物理分区边缘不能处于一个ROM分区内部,才导致YY所说的问题。具体有没有这个问题,能不能解决就要看开发者的能力了。
理由如上,我觉得开发者是没有能力让NDSL在运行分区映射软件的同时下面还运行一个NDSL游戏的,NDSL硬件系统不可能让你的自制软件处于比NDSL游戏更高的运行级别。NDSL的游戏本身已经占用了系统全部的处理资源。而且分区逻辑映射程序,本身是会减慢系统运行速度的,退一万步,就算能运行,恐怕也会对NDSL游戏造成未知的影响。
引用:
>不过看YY前面的回复,貌似是不能调的啊
能不能调不知道,但看放出来的图,至少是可以存在不一样大小的分区,这样就问题不大了;如果能支持任意大小的分区就更好了。我觉得这些应该都不是问题。
根据YY的回答,这个分区是硬件存在的,没有办法调……,如果能任意分区,那我只分一个就好,就不用特意买PNY 1G的卡了,所以这个可能性是…………残念

TOP

引用:
原帖由 hujie 于 2006-10-25 09:35 发表
AKFS可能是最简单的文件系统,也就是一个TOC+一个地址映射表,所有的游戏放在一个连续空间里,带来的优点是寻址算法简单。
缺点可能是灾难的,大家知道FLASH是无法保证每个块一直是好的,出现了坏块,一般文件 ...
这个确实是缺点,不过一般闪存要么坏整块,要么没问题。如果真的坏了一点,那…………灾难性的了

TOP

要是AK也送我块卡,我肯定会好好测试下的,计算机专业毕业的,就喜欢捣鼓些古怪的东西。

不过貌似没有机会了,说了他们这么多问题:D

TOP

引用:
原帖由 窗外不归的云 于 2006-10-25 12:48 发表
Jun4rui,你QQ我。
Acekard是新产品,我觉得能找出问题很好噻,不可能什么东西都是完美的,就好比其它产品,该说的都说了,现在Ak出了,肯定会有问题。
我只是说说,呵呵,并不指望AK送我个卡测测,主要是自己分析得好玩。

这次三篇分析,回头看看有不少错误、误解和缺漏的地方,回头可能写个总结吧。其实我也没有卡,只是分析分析,不过AK还是新事物,我觉得有问题厂商还是早点解决的好,什么能解决,什么不能解决都说出来,别打马虎眼。

TOP

引用:
原帖由 GSLylien 于 2006-10-25 12:55 发表
吵了3页,原来LZ是想要阿
我可以厚道的给你说,如果我不是从零售方面自己买的AK卡,绝对给雷劈死

用过这么多烧录卡,除了EZ一个家伙买我PSP的时候用EZ3加钱买我的PSP以外,我都是从零售途径买的,绝对没有厂家给过我任何好处,我也不希望自己在论坛上post几个帖子还要被厂商影响言不由衷。

花自己的钱和时间post这些东西,全部是兴趣(我从来没有考虑过要为要买AK的用户澄清下事实,呵呵,全是兴趣),期间也没有任何烧录卡厂家的人联系过我,所以码了几千字,心理还是不虚的。

TOP

引用:
原帖由 GSLylien 于 2006-10-25 13:13 发表
LSS表激动,我只是kidding拉;

其实很多东西厂家不公布,YY也不细究,就你在那一个劲乱猜,我觉得不是很有意义,当然你自己觉得开心就行,跟玩游戏一个道理。
我才没有生你的气呢,只是肯定也有其它人有这种疑问吧。所以借你的话题来表明一下立场

如果有误会,还请原谅啊。

关于分析和评测,到货了我可以找本地商家借一块玩玩或者自己买一块,从AK官方拿我怕说起话来就不那么自在了,哪像现在这样,想说就说自在?

TOP

 17 12
发新话题
     
官方公众号及微博