缓冲区管理方法

文档序号:6781700阅读:390来源:国知局
专利名称:缓冲区管理方法
技术领域
本发明是有关于光驱,尤其是有关于使用在光学储存装置上的一种缓冲 区管理方法。
背景技术
图1为一现有的光学储存装置100,其中一驱动控制单元106控制一缓冲 器104并对一光盘108进行实体上的存取。该驱动控制单元106可在一主机 102所发出的读取命令#11的要求下,从该光盘108中读出一读出数据区块存DR 并将之暂存在缓冲器104中。而后该驱动控制单元106再将该读出数据区块 弁Dr从緩冲器104中传送至该主机102。另一方面,该驱动控制单元106可在 主机102所发出的一写入命令#\¥的要求下,将主机102所传来的一写入数据 区块存Dw暂存在缓冲器104中,接着该驱动控制单元106再将该写入数据区 块存Dw写入至光盘108中。被要求写入该光盘108中的该写入数据区块弁Dw,并不会马上被送至驱动 控制单元106进行实体记录,而是先被暂存在缓冲器104中,直到特定的条 件(例如起烧条件)满足时才进行记录。举例来说,该写入数据区块^Dw中 可能有多个数据区块被收集起来形成一检错码(ECC)区块。该ECC区块是 实体记录的一种基本单元。当一ECC区块中所需的数据区块都凑齐后,就会 被驱动控制单元106记录至光盘108中。另一种可能的情况是,当该写入数 据区块存Dw所占用的空间大于某个临界值时,该ECC区块所对应到的多个写 入数据区块^Dw就会被驱动控制单元106记录至光盘108中。在数据区块被 记录之后,那些写入数据区块弁Dw或读出数据区块弁DK在缓冲器104中所占用的空间就会被释放出来。只要缓冲器104中仍然有写入数据区块弁Dw的存在,该缓冲器104就会保持在记录程序的状态。在该记录程序的过程中,缓冲器 104中暂存的读出数据区块弁DR和写入数据区块^Dw可能会随着主机102发出 的写入命令弁W和读取命令弁R的要求而被持续地存取、变更、释放或删除。 基本上缓冲器104中读出数据区块弁DK和写入数据区块弁Dw的管理方式是很重 要的课题,关系着光学储存装置的整体效能。发明内容本发明提出一种缓冲区管理方法,适用于耦接一主机的一光学储存装置。 该主机可发出一读取命令以获取一读出数据区块,并发出一写入命令以记录 一写入数据区块。首先,提供一写入缓冲区和一读取缓冲区,用以分别暂存 该写入数据区块和该读出数据区块。接着启动一写入程序。在该写入程序中, 首先执行一写入命令处理程序以处理该写入命令,接着执行一读取命令处理 程序以处理该读取命令。最后执行一预记录程序以处理暂存在该写入缓冲区 中的该写入数据区块。其中在该写入命令处理程序、该读取命令处理程序以 及该预记录命令处理程序的过程中,该写入缓冲区和该读取缓冲区中的内容, 是可以彼此交换的。在进行读取命令处理程序时,首先检查该读取命令所要求的该读出数据 区块是否存在于该写入缓冲区中。如果检査结果是肯定的,将该读出数据区 块从该写入缓冲区中复制到该读取缓冲区中。接着将该读出数据区块从该读 取缓冲区中传送到该主机,作为该读取命令的执行结果。另一方面,如果检查结果是否定的,则读取一光盘以获取该读出数据区 块。接着检查该读出数据区块是否有助于增加该写入缓冲区中的一ECC区块 的完整性。如果有助于增加完整性,将该读出数据区块写入该写入缓冲区。 其中该ECC区块为实体记录的基本单位。在进行写入命令处理程序时,首先将该写入数据区块暂存在该写入缓冲区,接着将该写入数据区块从该写入缓冲区复制到该读取缓冲区。在另一实施例中,进行写入命令处理程序时先将该写入数据区块暂存在 该写入缓冲区,接着检查该写入数据区块是否为该读取缓冲区中部份内容的 更新版。如果是更新版,将该写入数据区块从该写入缓冲区复制到该读取缓 冲区。在另一实施例中,进行写入命令处理程序时先将该写入数据区块暂存在 该写入缓冲区,接着将该写入数据区块暂存在该读取缓冲区。在另一实施例中,进行写入命令处理程序时,首先检查该读取缓冲区判断该写入命令所要求的一数据区块是否有助于增进该写入缓冲区中一 ECC区 块的完整性。如果有助完整性,将该数据区块从该读取缓冲区中复制到该写 入缓冲区中,以增进该ECC区块的完整性。其中一ECC区块为实体记录的基本单位,存放在该写入缓冲区中。该预 记录程序会收集组成该ECC区块所需要的多个数据区块,而缺少的部份由该 读取缓冲区中获取。该预记录程序进一步检查该读取缓冲区,判断其中该读命令或该写入命 令所要求的一数据区块是否有助于该ECC区块的完整性。如果有助完整性, 将该数据区块从该读取缓冲区中复制到该写入缓冲区中。


图1为一现有的光学储存装置架构图;图2a为本发明一光学储存装置的实施例,耦接至一主机;图2b为在本发明一记录程序中的缓冲区管理方法的流程图;图3为本发明该记录程序中一读取命令处理程序的流程图;图4为本发明该记录程序中一写入命令处理程序的流程图;以及图5为本发明该记录程序中一预记录程序的流程图。附图标号100光学储存装置102主机104缓冲器106驱动控制单元108光盘IIO驱动控制单元200光学储存装置210写入缓冲区220读取缓冲区205光盘具体实施方式
下列实施例具体的说明如何以较佳的方式实现本发明。实施例仅供说明 一般应用的方式,而非用以限縮本发明的范围。实际范围以权利要求所列为 准。图2a为本发明实施例的一光学储存装置200,耦接一主机102。该主机 102可发出一读取命令弁R,要求该光学储存装置200从一光盘205中读取一 读出数据区块弁DR,或是一写入命令^W要求该光学储存装置200将一写入数 据区块弁Dw写入该光盘205。该光学储存装置200至少包含一写入缓冲区210, 一读取缓冲区220和一驱动控制单元110。该写入缓冲区210用以储存记录程 序专用的写入数据区块存Dw,而该读取缓冲区220储存读取程序专用的读出数 据区块存Da。根据本发明,写入缓冲区210和读取缓冲区220中储存的内容是 可以彼此互通交换的。在主机102所发出的写入命令弁W和读取命令弁R的要 求下,耦接至该写入缓冲区210和读取缓冲区220的该驱动控制单元110可 对光盘205进行实体的记录或读取。另一方面,该驱动控制单元110也可对 写入缓冲区210和读取缓冲区220中储存的内容进行管理,藉此提升效能。 本发明的实施例就提出了一种缓冲区管理方法,可有效地管理该写入缓冲区 210和读取缓冲区220。该写入缓冲区210和读取缓冲区220之间,可随着读 取命令#尺,写入命令存W和数据内容的关联性而彼此互换数据。换句话说,写 入缓冲区210和读取缓冲区220之间除了各自提供不同的功能,彼此之间也 是有互动的。详细的实施例说明于下。由驱动控制单元110接收到的数据区块可能是未编码的形式,基本上是 直接被写入写入缓冲区210中的,但也有可能是先被编码后再存入写入缓冲区210中。反过来说,驱动控制单元110接收到的数据区块可能是己编码的 形式,在存入写入缓冲区210之前可能先被解碼。换言之,在记录至光盘时, 或是读取至主机时, 一套编码和译码的机制是有存在必要的。然而这部份是 属于现有技术,不在发明范围,所以不再详加介绍。图2b为记录程序中一缓冲区管理方法的流程图。只要有任何写入数据区 块存Dw存在该写入缓冲区210中等待被记录,该光学储存装置就会一直处在 一记录程序中。在步骤201中,该记录程序启动。接着在步骤202中,该驱 动控制单元110检査该写入缓冲区210,以判断是否有写入数据区块弁Dw等待 被记录。如果没有,则跳至步骤299,结束该记录程序。如果有的话,跳至步 骤204,由该驱动控制单元110检查是否有任何命令从主机102传过来。如果 该驱动控制单元110收到一读取命令#11,则进行步骤206,启动一读取命令处 理程序以提供所要求的读出数据区块存D^此时该写入缓冲区210及(或)该 读取缓冲区220也会顺便被重新整理以提高效能。同样地,如果该驱动控制 单元110收到一写入命令#\¥,则跳至步骤208进行一写入命令处理程序,将 主机102传送过来的写入数据区块弁Dw暂存在写入缓冲区210中,然后写入 缓冲区210和读取缓冲区220顺便地被重整一次以提高效能。如果驱动控制 单元110没有收到任何命令传来,就跳至步骤211,进行一预记录程序,以组 成至少一 ECC区块做为实体记录的基本单位。在步骤211结束之后,记录程序就接着在步骤212中执行。在其中,当 起烧条件符合时,驱动控制单元110就会将所组成的ECC区块记录至光盘205 中。而更详细的实施例将于后述。在另一实施例中,当起烧条件符合时,会 先执行预记录程序,然而再执行记录程序将数据区块写入光盘205中。反过 来说,如果起烧条件不符合,程序则跳回步骤202。图3为记录程序中的读取命令处理程序的流程图。在步骤302中,启动读取命令处理程序。在步骤304中,驱动控制单元110检查被该读取命令弁R 要求的读出数据区块弁DR是否存在于写入缓冲区210中却不存在于读取缓冲 区220中。 一般来说,存在的话称为快取「命中」,不存在的话则称为快取「失 误」。如果读取命令弁R在写入缓冲区210中发生快取命中,则进行步骤306, 由该驱动控制单元110将读出数据区块弁DK从写入缓冲区210复制到读取缓冲 区220。随后在步骤308中,该读取缓冲区220将该读出数据区块^DK传送至 主机102,做为该读取命令#尺的执行结果。如果该读出数据区块弁DK在写入 缓冲区210和读取缓冲区220中皆为快取失误,则进行步骤312,对光盘205 进行实体读取以获取该读出数据区块弁D^步骤312完成之后也跳至步骤308。 在步骤314中,该驱动控制单元110搜寻该写入缓冲区210以判断是否存在 一ECC区块与该读出数据区块^DK有牵连关系。接着在步骤316中,进一步 判断该读出数据区块弁DR是否对该ECC区块的完整性有贡献。如果是,则进 行步骤318,由该驱动控制单元110将该读出数据区块弁DR复制至写入缓冲区 210中以增进该ECC区块的完整性。相对地,如果该读出数据区块存DK对ECC 区块的完整性没有贡献,则读取命令处理程序结束于步骤310。步骤304中可 能会发生许多其他的例外情形,而本发明的实施例不限定该读取命令处理程 序所能提供的其他功能。当读取命令^R的执行结果产生后,读取命令处理程 序结束于步骤310。
图4为记录程序中的写入命令处理程序的流程图。该写入命令处理程序 启始于步骤402。在步骤404中,驱动控制单元110从主机102接收到一写入 命令^W以及一写入数据区块^Dw,目的是将该写入数据区块弁Dw写入该光盘 205中。该驱动控制单元110首先将该写入数据区块弁Dw暂存在写入缓冲区 210中。在步骤406中,检查该读取缓冲区220以判断是否存在其他的数据区 块与该写入数据区块弁Dw同时对应到相同ECC区块。如果存在,在步骤408 中进一步检査所找到的数据区块是否对该ECC区块的完整性有贡献。如果有 贡献,则进行步骤410,由驱动控制单元110将所找到的数据区块从读取缓冲区220中复制到写入缓冲区210中。在步骤410之后,整个程序可能沿着虚 线414跳至步骤416,由驱动控制单元110在接收到写入数据区块存Dw时,将 该写入数据区块存Dw从写入缓冲区210复制到读取缓冲区220。另一种做法是, 步骤416可与步骤412—并执行。在步骤416中,当驱动控制单元110从主 机102接收到写入数据区块存Dw时,该驱动控制单元110同时将该写入数据 区块存Dw储存在写入缓冲区210和读取缓冲区220中。
另一种情况是,步骤410之后直接执行步骤412,检查读取缓冲区220中 的内容以判断所接收到的写入数据区块^Dw是否是读取缓冲区220中某部份 数据的更新版。同时,该读取缓冲区220中与该写入数据区块存Dw牵连到相 同ECC区块的数据区块也被找出来。如果该写入数据区块^Dw在写入缓冲区 210中或读取缓冲区220中发生快取命中,则更新版的写入数据区块^Dw必须 覆盖写入缓冲区210或读取缓冲区220中旧版的数据区块。因此,在步骤412 之后,步骤416会在读取缓冲区220中存有旧版的写入数据区块^Dw或读取 缓冲区220中的内容与写入数据区块弁Dw有关联时执行。在步骤416中,写 入数据区块弁Dw被复制到读取缓冲区220中。最后,该写入命令处理程序结 束于步骤418。换句话说,本实施例所述的写入数据区块弁Dw可以直接通过虚 线414传送至读取缓冲区220,或间接通过步骤412传送至读取缓冲区220。
图5为记录程序中一预记录程序的流程图。在现有的数据准备程序中, 一ECC区块包含了许多数据区块,是实体记录的一种基本单位。当实体记录 的过程开始时,光学储存装置200可能会进行一种读改写(Read-Modify-Write) 程序,藉以在写入缓冲区210中组合出一个完整的ECC区块。在一基本的读 改写程序中,如果在写入缓冲区210中找不到组成一完整ECC区块所需的数 据区块,则系统会自动从光盘205中找出来并存放在写入缓冲区210中。因 此读改写程序可说是一种比较积极的数据收集机制。整个预记录程序则是倾 向于被动地使ECC区块渐趋完整,所以那些必要的数据区块会在记录程序的 过程中尽可能的自动收集。预记录程序在步骤502中启动。在步骤504中,检查该读取缓冲区220 以判断是否有关联于相同ECC区块的数据区块存在。在步骤506中,找出来 的数据区块进一步被检验是否对ECC区块的完整性有贡献。如果是,则进行 步骤508,该驱动控制单元110将找到的数据区块从读取缓冲区220复制到写 入缓冲区210中,以增进该ECC区块的完整性。如果没有,则预记录程序结 束于步骤510。
在另一实施例中,在读改写程序的过程中,与该ECC区块有关的数据区 块可能被从光盘205中读出来并暂存在写入缓冲区210中。这些数据区块也 可同时被复制到读取缓冲区220中以增进读取程序的效能。本发明的实施例 尤其适用于DVD-RAM或蓝光光学储存装置。写入缓冲区210和读取缓冲区 220可由同一存储装置实作,或是两个独立的存储装置。本发明提出的缓冲区 管理方法可大幅的提升光盘记录的效能,尤其是读改写程序或随机存取程序 这种读取和写入命令会同时进行的记录程序。
虽然本发明以较佳实施例说明如上,但可以理解的是本发明的范围未必 如此限定。相对的,任何基于相同精神或对本领域技术人员为显而易见的改 良皆在本发明涵盖范围内。因此权利要求必须以最广义的方式解读。
权利要求
1.一种缓冲区管理方法,用于耦接一主机的一光学储存装置,该主机发出一读取命令以获取一读出数据区块,并发出一写入命令以记录一写入数据区块,该缓冲区管理方法包含提供一写入缓冲区,用以暂存所述的写入数据区块,以及一读取缓冲区,用以暂存所述的读出数据区块;启动一写入程序,包含依据所述的写入命令执行一写入命令处理程序;依据所述的读取命令执行一读取命令处理程序;以及执行一预记录程序以处理暂存在所述的写入缓冲区中的写入数据区块;其中在所述的写入命令处理程序、读取命令处理程序以及预记录命令处理程序的过程中,所述的写入缓冲区和读取缓冲区中的内容,是可以彼此交换的。
2. 如权利要求1所述的缓冲区管理方法,其特征在于,所述的读取命令 处理程序包含检查所述的读取命令所要求的所述的读出数据区块是否存在于所述的写入缓冲区中;如果检查结果是肯定的,将所述的读出数据区块从所述的写入缓冲区中复制到所述的读取缓冲区中;以及将所述的读出数据区块从所述的读取缓冲区中传送到所述的主机,作为 所述的读取命令的执行结果。
3. 如权利要求2所述的缓冲区管理方法,其特征在于,所述的读取命令 处理程序进一步包含如果检査结果是否定的,读取一光盘以获取所述的读出数据区块; 检査该读出数据区块是否有助于增加所述的写入缓冲区中的一ECC区块的完整性;以及如果有助于增加完整性,将所述的读出数据区块写入所述的写入缓冲区; 其中所述的ECC区块为实体记录的基本单位。
4. 如权利要求1所述的缓冲区管理方法,其特征在于,所述的写入命令 处理程序包含将所述的写入数据区块暂存在所述的写入缓冲区;以及 将所述的写入数据区块从所述的写入缓冲区复制到所述的读取缓冲区。
5. 如权利要求1所述的缓冲区管理方法,其特征在于,所述的写入命令处理程序包含将所述的写入数据区块暂存在所述的写入缓冲区;以及 检查所述的写入数据区块是否为所述的读取缓冲区中部份内容的更新 版;以及如果是更新版,将所述的写入数据区块从所述的写入缓冲区复制到所述 的读取缓冲区。
6. 如权利要求1所述的缓冲区管理方法,其特征在于,所述的写入命令 处理程序包含将所述的写入数据区块暂存在所述的写入缓冲区;以及 将所述的写入数据区块暂存在所述的读取缓冲区。
7. 如权利要求1所述的缓冲区管理方法,其特征在于,所述的写入命令 处理程序包含检査所述的读取缓冲区判断所述的写入命令所要求的一数据区块是否有助于增进所述的写入缓冲区中一ECC区块的完整性;以及如果有助完整性,将所述的数据区块从所述的读取缓冲区中复制到所述 的写入缓冲区中,以增进所述的ECC区块的完整性;其中所述的ECC区块为实体记录的基本单位。
8. 如权利要求1所述的缓冲区管理方法,其特征在于一ECC区块为实体记录的基本单位,存放在所述的写入缓冲区中;以及 所述的预记录程序包含,收集组成所述的ECC区块所需要的多个数据区 块,其中缺少的部份由所述的读取缓冲区中获取。
9. 如权利要求8所述的缓冲区管理方法,其特征在于,所述的预记录程 序进一步包含检査所述的读取缓冲区,判断其中所述的读命令或所述的写入命令所要 求的一数据区块是否有助于所述的ECC区块的完整性;以及如果有助完整性,将所述的数据区块从所述的读取缓冲区中复制到所述 的写入缓冲区中。
10. —种缓冲区管理方法,用于一光学储存装置,其特征在于,该方法包含提供一读取缓冲区,用以暂存一读出数据区块; 提供一写入缓冲区,用以暂存一写入数据区块; 启动一写入程序,在所述的写入程序期间接收一数据区块;以及 将所述的数据区块写入所述的读取缓冲区中成为所述的读出数据区块, 做为一读取命令的执行结果。
11. 如权利要求10所述的缓冲区管理方法,其特征在于,所述的数据区 块是在一写入命令的要求下由一主机传送至所述的光学储存装置。
12. 如权利要求10所述的缓冲区管理方法,其特征在于,所述的数据区 块是在一写入命令的要求下由所述的光学储存装置所读出。
13. —种缓冲区管理方法,用于一光学储存装置,其特征在于,该方法包含提供一读取缓冲区,用以暂存一读出数据区块; 提供一写入缓冲区,用以暂存一写入数据区块;以及 启动一写入程序,在所述的写入程序期间根据一写入命令的要求,从所 述的读取缓冲区将所述的读出数据区块复制到所述的写入缓冲区中,做为所述的写入数据区块。
14.如权利要求13所述的缓冲区管理方法,其特征在于,从所述的读取 缓冲区复制而来的所述的写入数据区块可增进所述的写入缓冲区中一 ECC区 块的完整性。
全文摘要
本发明提出一种缓冲区管理方法,适用于耦接一主机的一光学储存装置。该主机可发出一读取命令以获取一读出数据区块,并发出一写入命令以记录一写入数据区块。首先,提供一写入缓冲区和一读取缓冲区,用以分别暂存该写入数据区块和该读出数据区块。接着启动一写入程序。在该写入程序中,首先执行一写入命令处理程序以处理该写入命令,接着执行一读取命令处理程序以处理该读取命令。最后执行一预记录程序以处理暂存在该写入缓冲区中的该写入数据区块。其中在该写入命令处理程序、该读取命令处理程序以及该预记录命令处理程序的过程中,该写入缓冲区和该读取缓冲区中的内容,是可以彼此交换的。
文档编号G11B20/10GK101246725SQ200810005550
公开日2008年8月20日 申请日期2008年2月15日 优先权日2007年2月16日
发明者林泰良, 洪仕达 申请人:联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1