多重字符信息的译码方法与装置 |
|||||||
申请号 | CN200510093065.6 | 申请日 | 2005-08-25 | 公开(公告)号 | CN1756089A | 公开(公告)日 | 2006-04-05 |
申请人 | 联发科技股份有限公司; | 发明人 | 吴文义; 林利莲; 谢嘉鸿; | ||||
摘要 | 本 发明 的多重字符信息的译码方法包含步骤(a)至(e)。在步骤(a)中,提供一包括高保护性码字符(如BIS)及低保护性码字符(如LDC)的多重字符信息丛集(如ECC)。在步骤(b)中,将该高及低保护性码字符储存在一第一 存储器 (如DRAM)中。在步骤(c)中,译码所述的高保护性码字符以产生显示是否发生译码错误的高保护性字符擦写 指针 。在步骤(d)中,将该高保护性字符擦写指针储存在一第二存储器(如SRAM)中。在步骤(e)中,译码该低保护性码字符。同时,通过找出接近该多重字符信息丛集中的低保护性码字符的高保护性码字符及查寻接近该低保护性码字符的高保护性码字符的高保护性字符擦写指针来标记一低保护性码字符的一擦写位。 | ||||||
权利要求 | 1.一种多重字符信息的译码方法,包含以下步骤: |
||||||
说明书全文 | 技术领域本发明是关于一种多重字符信息的译码方法与装置,其应用于一光驱装 置。 背景技术如图1所示,一错误修正码(ECC)丛集10包括152个长距离码(LDC) 数据行、一SYNC(同步)数据行11及三个丛发指针子码(BIS)数据行12, 其中由该SYNC数据行11及三个BIS数据行12将该LDC数据行分离成4个LDC 区块13。该原始LDC数据是不连续的且被交错至不同LDC区块13内。某些 ECC编码或译码技术描述于美国专利US 6,378,100、US 6,367,049、US 6,604,217及US 2003/020871中,其中US 6,378,100揭示了一种多重字符信 息编码方法,US 6,367,049揭示一种利用交错技术的编码方法,US 6,604,217 揭示了一种将同步(SYNC)码、BIS码或其动态或静态组合作为擦写(erasure) 的译码方法,且US 2003/0208714(US 6,604,217的延续案)进一步揭示了 一种将SYNC码作为擦写指针的方法。另外,Narahara等人揭示了一种使用 LDC及BIS码的错误修正方法,其出版于Jpn.J.Appl.Phys第39卷(2000), 第912-919页。 然而,上文所提及的专利及文章仅提出一种用于译码ECC数据的方法的 概念,亦即,其未明确地揭示实际的实施方法。 发明内容本发明的目的是提供一种可有效译码多重字符信息(如ECC数据)的方 法及实施装置。现今,本发明的方法及装置可应用于所谓的蓝光盘片(Blu-ray disk)译码。 与LDC码相比,BIS码具有较高的保护性,使得在BIS码中更容易检测到 错误。若在一列ECC丛集中的两相近BIS码内检测出错误,则表示错误可发 生于该列及该两个BIS码之间的LDC数据中。因此,该LDC数据的一擦写位 可标记为一擦写指针,进而增加LDC译码或修正效率。此外,亦可采用包括 于ECC丛集中的SYNC码及将其与BIS码组合以产生LDC擦写位。若检测到一 同步擦写指针及其相近BIS擦写指针,则安置于其间的LDC数据可能具有一 个或多个错误。 该BIS擦写指针或LDC擦写位可储存于一存储器中,例如一动态随机存 取存储器(DRAM)。然而,该LDC数据交错在该ECC丛集内,亦即该原始LDC 数据是不连续的且安置于多个LDC区块内,所以必须个别地自DRAM撷取每一 LDC数据的位置。因此,若所有擦写指针皆储存于该DRAM内,则该DRAM的频 宽必须增加,而将降低译码效率。 为增加ECC译码效率,本发明揭示一种多重字符信息的译码方法,其包 含(a)至(e)的步骤。在步骤(a)中,提供一包含高保护性码字符(BIS)及低 保护性码字符(LDC)的多重字符信息丛集(ECC)。在步骤(b)中,将高保护 性及低保护性码字符储存于一第一存储器(如DRAM)中。在步骤(c)中,将高 保护性码字符译码以产生显示是否出现译码错误的高保护性字符擦写指针。 在步骤(d)中,将高保护性字符擦写指针储存至一第二存储器(如SRAM)。在 步骤(e)中,译码该低保护性码字符。同时,通过找出接近该多重字符信息丛 集中的低保护性码字符的高保护性码字符及查寻接近该低保护性码字符的高 保护性码字符的高保护性字符擦写指针来标记一低保护性码字符的一擦写 位。 上述方法可通过一包含一第一存储器、一译码器、一映像电路、一第二 存储器及一擦写产生器的装置加以实施。该第一存储器用于储存一多重字符 信息丛集的高保护性码字符及低保护性码字符。该译码器耦合至该第一存储 器用以译码高保护性码字符以便产生高保护性字符擦写指针。该映像电路耦 合至该译码器且用于指出对应于一列多重字符信息丛集中的高保护性字符擦 写指针的高保护性码字符的位置,以便为高保护性字符擦写指针提供位置信 息(localities)。该第二存储器耦合至该映像电路以储存具有位置信息的高 保护性字符擦写指针。该擦写产生器耦合至该第二存储器以通过查寻该第二 存储器中的高保护性字符擦写指针来产生一低保护性码字符的擦写位,其中 对应于高保护性字符擦写指针的高保护性码字符为接近于一列多重字符信息 丛集中的低保护性码字符。 附图说明 图1显示一公知ECC丛集; 图2a至图2c例示本发明的ECC丛集的译码装置; 图3显示一ECC丛集以说明本发明的译码方法; 图4显示根据本发明的一实施例的储存于一初始化SRAM中的SYNC擦写 指针及BIS擦写指针; 图5a及图5b显示根据本发明的另一实施例的储存于一SRAM中的SYNC 擦写指针及BIS擦写指针; 图5c显示LDC与SYNC/BIS码的对应关系; 图5d显示解交错后该第一及第二区段的LDC数据; 图6a显示根据本发明的一实施例的用于建立擦写位的详细电路结构; 图6b至图6d显示包含地址字段信息及使用者控制数据的BIS数据;及 图7及图8显示根据本发明的用于译码ECC丛集的其它装置。 符号说明: 10 错误修正码(ECC)丛集 11 同步(SYNC)数据行 12 丛发指针子码(BIS)数据行 13 LDC区块 20 装置 21 DRAM 22 LDC/BIS译码器 23 SRAM 24 解调变器 25 同步错误电路 26 解交错电路 26′解交错电路 26″部分解交错电路 26部分解交错电路 27 映像电路 28 BIS至LDC擦写产生器 30 ECC丛集 31 SYNC行 32 BIS数据行 33 LDC区块 50 装置 51 AF/UC映像电路 52 AF译码器 60 装置 61 DRAM 62 LDC/BIS译码器 64 解调变器 65 同步错误电路 66 解交错电路 81 组合逻辑 82 表 83 控制单元 84 第一多任务器 85 第二多任务器 86 当前擦写标记缓存器 87 下一擦写标记缓存器 88 先前标记缓存器 具体实施方式图2a是本发明的多重字符信息的译码装置20示意图。该装置20包括一 第一存储器(如DRAM 21)、一LDC/BIS译码器22、一第二存储器(如SRAM 23)、 一解调变器24、一同步错误电路25、一解交错电路26、一映像电路27、一 BIS至LDC擦写产生器28。 如图3所示,一ECC丛集30包括一SYNC码行31、三个BIS资料行32及 四个LDC区块33,其中每一区块33具有38个LDC数据行。此外该ECC丛集 30包括496个列。BIS数据行32(自左及右)分别由BIS1、BIS2及BIS3表 示。 再参考图2a,该ECC丛集30内的LDC及BIS数据由解调变器24解调变 至8位,且接着将LDC及BIS数据储存在一建置于该解交错电路26内的一内 部存储器(如SRAM)中以进行解交错。该LDC及BIS数据分别解交错成304 个具有248个位组长度的LDC码及24个具有62个字节的长度的BIS码,且 将该ECC丛集30的SYNC码传送至该同步错误电路25,用以进行SYNC错误检 测以产生SYNC擦写指针。当检测到包括于该多重字符信息丛集的同步码的错 误时,同步擦写指针接着产生且储存于该第一存储器中。当低保护性码字符 (codewords)被译码,如同BIS擦写指针,同步擦写指针充当高保护性字符擦 写指针(word erasure indicators)用于产生擦写位。 若检测到SYNC错误,SYNC擦写指针将为“1”,否则为“0”。对于SYNC 错误的判定,若在SYNC位置上接收的解调变前数据不同于SYNC模式,例如 蓝光的SYNC0模式=01 010 000 000 010 000 000 010,或在两个相近SYNC 行31之间的数据数量不正确,或发现任何不连续的SYNC码,或读出信道(read channel)显示相近于SYNC码的数据不可靠,其均可被认为是一SYNC错误。 之后,该SYNC擦写指针及经解交错的LDC及BIS数据被储存于该DRAM 21中。 或者,如图2b所示,亦可将一解交错电路26′置于DRAM 21与SRAM 23/译码 器22之间,如此该LDC及BIS数据是先储存于DRAM 21中,译码时才解交错。 另一替代方法为在DRAM 21储存一部分解交错的LDC及BIS数据,且LDC及 BIS数据的其余部分在自DRAM读取的同时被解交错,如图2c所示,采用一个 部分解交错电路26″及另一个部分解交错电路26。 将储存于DRAM 21中的BIS数据传送至LDC/BIS译码器22以进行译码, 藉此产生BIS擦写指针。举例而言,若在译码期间检测到错误,则BIS擦写 指针为“1”,否则为“0”。然后BIS擦写指针经过映像电路27来摆在适当位 置,指出ECC丛集30中与BIS擦写指针对应的BIS数据以建立该ECC丛集30 中的BIS擦写指针与LDC数据之间的位置关系。 该映像电路27的可能映像函数显示如下: (N,C)(u×31+r,e) 其中(N,C)为BIS区块中的位置;N表示在一BIS码(0~61)中的位 置;C表示BIS码序号(0~23); 且其中(u,r,e)为BIS丛集中的位置;u表示该单元序号u= mod({div(N,2)+8-div(C,3)},8)+8×mod(N,2);r表示该列序号;r=div(N,2); e表示栏序号e=mod({C+div(N,2)},3)。 之后,储存BIS擦写指针于该SRAM 23中。此外,可传送SYNC擦写指针 且将其储存于该SRAM 23中。因此,每一列ECC丛集30中有四个可能的擦写 指针,所以采用四个位来储存该可能的该SYNC擦写指针及三个BIS擦写指针。 因此一字节可储存一ECC丛集中的两列擦写指针,且每一ECC丛集需要248 个字节(496×4/8=248)。 在开始译码一ECC丛集时,必须初始化SRAM 23以覆写其中的先前数据, 亦即读取储存于DRAM 21中的SYNC擦写指针覆写SRAM 23中所述的字段的SYNC 擦写指针,且将BIS擦写指针全部重设为初始值-零。图4显示一初始化的SRAM 23中的字节,其中DRAM 21中的地址0及地址4的SYNC擦写指针分别为SYNC 擦写指针S0及S1。S0为该第一列的同步擦写指针,而S1为该第二列的同步 擦写指针,且BIS擦写指针被重设为“0”。 图5a显示储存于SRAM 23中的擦写指针的实例,其中第二列的SYNC及 BIS2字段及第一列的BIS1及BIS3字段显示错误。所述的情形意指错误可发 生在接近或介于该ECC丛集的相同列内显示错误的SYNC或BIS数据的LDC数 据内。 如图4所示,图2a中SRAM 23的1字节包含第一及第二列的SYNC及BIS 擦写指针。或者,该SRAM 23的1字节亦可包含行方向的擦写指针,即该擦 写指针可沿行而非列储存。如图5b所示,将列“n”的SYNC、BIS1擦写指针、 BIS2擦写指针及BIS3擦写指针分别储存于一SRAM的字节k、字节k+1、字节 k+2及字节k+3的位“0”内,而将列“n+1”的SYNC、BIS1擦写指针、BIS2 擦写指针及BIS3擦写指针分别储存于一SRAM的字节k、字节k+1、字节k+2 及字节k+3的位“1”内。所述的擦写指针亦可由对SRAM 23的写及/或读效 率有益的任一其它映像格式储存。举例而言,通过用于LDC的译码顺序或通 过BIS或SYNC错误的位置或通过格式αloci可储存所述的擦写指针,其中α为质 多项式(primitive polynomial)的根,且loci为序号i,在LDC码字符中 的第i字符的擦写位不为零。 当译码一LDC数据时,BIS至LDC擦写产生器28自SRAM 23撷取ECC丛 集中的LDC数据附近的BIS数据的BIS擦写指针或撷取ECC丛集中的LDC数 据附近的SYNC码的SYNC擦写指针。因此,基于该SYNC或BIS擦写指针可产 生一LDC擦写位,亦即通过将该LDC数据位置映像回该ECC丛集,及查寻储 存于该SRAM 23中的SYNC及BIS擦写指针可产生该LDC擦写位。 在LDC译码期间,可应用一递增LDC擦写存取方法。对两个相近的LDC 码字符而言,归因于交错特性大多数擦写位是指向相同的SYNC及BIS擦写指 针,仅部分擦写位需查寻储存于SRAM 23中的不同的SYNC及BIS擦写指针。 如图5c圆圈部分所示,因为交错的顺序,除了交错使得两码字符i及i+2 被一SYNC/BIS分离时外,大多数码字符i及i+2的擦写读取相同的SYNC/BIS。 因此,当读取码字符i+2的擦写时,仅需要更新跨过SYNC/BIS的擦写的部分。 如表1所显示,有四种可能的策略可标记一LDC擦写位。应注意“x”表 示不需注意,其可为“1”或“0”。 策略0:若在LDC数据两侧的BIS数据的BIS擦写指针为“1”,则产生一 LDC擦写位以表示该LDC数据区域可有一或多个错误。 策略1:若自左侧的第二BIS数据及右面邻近LDC数据的BIS数据的BIS 擦写指针为“1”,或左边邻近LDC数据的BIS数据及自右侧的第二BIS数据 的BIS擦写指针为“1”,则产生一LDC擦写。(左侧表示使用LDC数据前,而 右侧表示使用LDC数据后,由LDC数据前、后的两BIS/SYNC来产生不同策略) 策略2:若邻近LDC数据的前两个BIS数据或后两个BIS数据的BIS擦写 指针为“1”,则产生一LDC擦写。 策略3:若在邻近LDC数据的任一侧的BIS码的BIS擦写指针为“1”,则 产生一LDC擦写。 实务上,一SYNC擦写指针可搭配BIS擦写指针,且功能与BIS擦写指针 相同,用于产生一LDC擦写位。使用前述策略通过查寻SRAM 23中所储存的 SYNC及BIS擦写指针来产生该LDC擦写位。或者,在BIS译码后,该擦写指 针可先完成策略选择及计算,再储存于SRAM 23中。然后通过自SRAM 23查 寻策略选择结果以产生该LDC擦写位。 表1 BIS BIS LDC数据 BIS BIS 策略0 策略1 策略2 x 1 x 1 1 x 1 1 LDC数据 LDC数据 LDC数据 LDC数据 1 1 x x x x 1 x 或 或 策略3 x x x x 1 x LDC数据 LDC数据 LDC数据 1 x 1 1 x x 或 上述策略可自动切换。举例而言,首先采用宽松策略3,接着采用严格策 略2。若策略3所产生的擦写位的数目超过临界数目(例如32),则表示存在 许多的LDC错误,使得其后的译码作用无法执行。该擦写位的设置可被自动 切换成另一策略直到该擦写位的数目小于一临界数目。若在该ECC丛中发生 任一译码错误,需重新从盘片读取数据时,只有当彼等数据无法通过错误检 测码(EDC)检查的部分,需要重新覆写DRAM 21内经解调变后的数据。其 中图5c的LDC数据在解交错后按次序排列,且在此以第一及第二区段举例说 明。如图5d所示,若该第一区段通过EDC检查,但该第二区段未通过,则当 重新从盘片读取数据至DRAM时,仅须覆写该第二区段。译码时,LDC码字符 0-8因为通过EDC检查而不需译码。对于译码码字符9而言,因为该上部属于 区段“0”,且该下部属于区段“1”,属于区段“0”的部分的擦写位在被读取 时必须设为“0”,并且保护区段“0”的部分于译码时不被改变。因此,对于 重新从盘片读取ECC丛集译码产生该LDC擦写位时会使用之前错误检测码的 结果。 之后,将该LDC擦写位传输至LDC/BIS译码器22以修正相关LDC数据, 且将修正的LDC数据发送回DRAM 21。 图6a显示用于建立上述表1的擦写位的详细结构。SRAM 23的内容的一 可能格式显示为表82,其含有248个字节,且每一字节储存属于ECC丛集中 的两列的SYNC及BIS数据。以一个擦写接着一个擦写的方式将表82的内容 转发至下一擦写标记缓存器87,且进一步转发至一当前擦写标记缓存器86及 一先前标记缓存器88。将该下一擦写标记缓存器87、该当前擦写标记缓存器 86及该先前标记缓存器88的输出传送至一组合逻辑81以设置上面三种策略 的擦写位。一第一多任务器84(mux)连接至该组合逻辑81的三个输出端SX、 SLR及SLLRR,且根据建立擦写位策略的一控制讯号“strategy_sel_reg”来 选择其中一输出端。一第二多任务器85连接至该第一多任务器84及一控制 单元83以选择该LDC区域的擦写。 显示于图6b、图6c及图6d的BIS数据中包含地址字段(Address Field; AF)信息及使用者控制(User Control;UC)数据,其中AF包含地址及其配 核码(parity codes)。因为地址是连续的,根据已知地址可向前或向后推导 所有地址。因此,BIS的AF数据位置可与一预期AF数据的位置相比较。若该 AF位置不同于预期的AF位置,则其被认为是一擦写指针。另外,AF数据有 编码保护,因此AF的译码结果可做为擦写指针。若该UC数据未被指定应用 时,则UC数据的字节可设置为00h。将BIS的UC数据部分与0相比较,若 不同,则该位置可被认为是擦写指针。因为AF及UC是已知的,所以BIS区 块的配核码可由计算得出。可比较经计算后的配核码与BIS接收配核码的数 据以产生擦写指针。另外,通过比较在BIS ECC译码器之前的AF或UC预期 数据,亦可做为BIS译码时的擦写指针以增强该BIS译码错误修正,而BIS 译码能力提升可进而提供更多的LDC擦写指针以改良LDC数据错误修正。 参考图7,由BIS码所保护用于判定在一盘片中的位置的地址字段(AF) 信息及使用者控制信息(UC)以产生LDC擦写指针。与图2a的装置20相较, 一装置50包含进一步增加的AF译码器52及AF/UC映像电路51。该使用者控 制数据(UC)信息未被应用指定时通常等于零。因此,若相近丛集之间的地 址序号不正确,或使用者控制数据不等于零,或该错误在AF译码期间被检测 出,则可将它们认为是AF/UC译码错误。所产生的AF/UC擦写指针被储存于 SRAM 23中或DRAM 21中以产生LDC擦写位。所述的产生的AF/UC擦写指针亦 可与BIS/SYNC擦写指针整合以进行LDC译码。 或者,亦可采用不具SRAM的装置。参考图8,一种用于译码多重字符信 息的装置60包括一DRAM61、一解调变器64、一同步错误电路65、一解交错 电路66及一LDC/BIS译码器62。该解调变器64、该同步错误电路65及该解 交错电路66的操作与图2a所示者相同,但用于LDC译码的BIS擦写指针是 被储存于DRAM 61而非SRAM 23中。因为LDC数据在一ECC丛集中交错,亦 即LDC数据不连续且安置于多个LDC区块中,所以必须个别地自DRAM 61中 撷取每一LDC数据的位置。因此,若所有擦写指针储存进DRAM 61,则该DRAM 的频宽必须增加,如此一来其译码效率与图2a中的装置20相比会减少。但 其优点为可省略SRAM、相关映像电路及擦写产生器,如此便可简化电路。 为减少对译码效率的影响,可以递增方式存取擦写指针区域(如图5c所 示)以减少对DRAM频宽的影响。或应用另一不具精确BIS位置映像的擦写指 针存取方法来减少DRAM存取。换言之,所述的被读出的擦写指针可用于多个 码字符(codeword)而只有部分位于不同区域的擦写指针精确性受到影响,如 图5c,若此二个LDC码字符皆用相同的擦写指针,则跨过不同区域的擦写指 针(如图上圆圈部分)精确性会受到影响。因为存在一经简化的BIS位置映 像操作,所以擦写指针对映LDC数据的位置部分不精确。该经简化的BIS位 置映像操作亦可用于图2a中SRAM 23的存取。此外,在BIS译码后,该擦写 指针可完成策略选择及计算,且其后被储存于DRAM中。 对于LDC译码而言,由诸如BIS、SYNC、AF、UC的不同方法所产生的擦 写指针可适当搭配作为LDC的擦写。对于BIS译码而言,由AF、UC或SYNC 所产生的擦写指针皆可为BIS的擦写信息;亦即使用地址字段信息,通过地 址字段信息的地址比较或译码错误等信息以判定BIS的擦写指针。相似地, 亦可通过使用者控制数据信息判定BIS的擦写指针。此外,来自读取信道的 SYNC及数据质量信息可为BIS译码的擦写指针的提示。 本发明的技术内容及技术特点已揭示如上,然而熟悉本项技术的人士仍 可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰。因 此,本发明的保护范围应不限于实施例所揭示,而应包括各种不背离本发明 的替换及修饰,并为以下的权利要求所涵盖。 |