专利名称:计算机系统、盘存储装置和控制所述计算机系统的方法
技术领域:
本发明涉及一种计算机系统、盘存储装置及其控制方法。更具体地讲,本发明涉及 一种按扇区读取数据的盘存储装置、计算机系统及其控制方法。
背景技术:
计算机系统(例如,台式PC、膝上型电脑、笔记本电脑、平板PC等)通常具有盘存 储装置(例如,硬盘驱动器)以存储大量数据。盘存储装置按扇区读取数据,在硬盘驱动器(普通的磁盘驱动器)的情况下,扇区 的大小(以下,也被称为“读取大小”)通常可为512个字节。同时,在盘存储装置的引导扇区中设置分区表,操作系统(OS)通过分区表获得关 于分区的信息,以访问盘存储装置中存储的数据。作为引导扇区,广泛使用的主引导记录(MBR)使用32字节的扇区地址来分配盘存 储装置的存储空间。在这种情况下,如果扇区具有512个字节大小,则分区表可分配2太字 节(terabyte)的盘存储装置的最大存储容量。为了使用存储容量大于2太字节的盘存储装置,可使用新的分区表(例如,⑶ID 分区表(GPT))。然而,为了遵守新的分区标准导致设计上的困难,原因在于,广泛使用的 BIOS、OS等需要相当大的改变。此外,盘存储装置(例如,传统的硬盘驱动器)具有在制造时固定的扇区大小,其 改变方法还没有被提出。
发明内容
因此,本发明的一个或多个示例性实施例提供了一种计算机系统、盘存储装置及 控制所述计算机系统的方法,所述计算机系统能够在对广泛使用的BIOS和OS不做重要改 变的情况下使用大量盘存储装置。本发明的另一示例性方面提供了一种计算机系统、盘存储装置和控制所述计算机 系统的方法,所述计算机系统有限制地改变扇区大小,其中,所述扇区大小是盘存储装置的 读取单位。根据本发明的示例性方面,提供了一种控制计算机系统的方法,所述方法优选包 括以下步骤根据应用对读取数据的请求从存储数据的盘存储单元按读取大小读取数据; 以及将读取大小的数据划分成应用所分配的大小,并将数据存储在应用访问的存储器区域 中。例如,所述方法还包括以下步骤将从盘存储单元读取的数据存储在BIOS的存 储器区域中,其中,将数据存储在应用访问的存储器区域中的步骤优选包括以下步骤将 BIOS的存储器区域中存储的数据划分成应用所分配的大小,并进行读取;以及将从BIOS的 存储器区域中读取的数据存储在应用访问的存储器区域中。例如,所述方法还包括以下步骤将从盘存储单元读取的数据存储在盘存储器单元中,其中,将数据存储在应用访问的存储器区域中的步骤包括以下步骤将盘存储器单元 中存储的读取大小的数据划分成应用所分配的大小,并进行读取;以及将从盘存储器单元 中读取的数据存储在应用访问的存储器区域中。例如,所述方法还包括以下步骤确定数据的读取大小,其中,读取步骤包括以下 步骤按确定的读取大小读取数据。确定步骤优选包括以下步骤根据用户的输入确定数据的读取大小。确定步骤还包括以下步骤显示UI (用户界面),以从用户接收关于数据的读取大 小的输入。确定步骤还包括以下步骤根据用户设置的大小设置单元的设置状态确定数据的 读取大小。根据本发明的另一示例性方面,提供了一种计算机系统,所述计算机系统包括盘 存储单元,存储有数据;存储器单元,包括应用访问的存储器区域;以及控制器,根据应用 对读取数据的请求,从盘存储单元按读取大小读取数据,将所述读取大小的数据划分成应 用所分配的大小,并将数据存储在应用访问的存储器区域中。存储器单元还优选包括BIOS的存储器区域,控制器控制存储器单元将从盘存储 单元读取的数据存储在BIOS的存储器区域中,将BIOS的存储器区域中存储的数据划分成 应用所分配的大小,并进行读取,并且将数据存储在应用访问的存储器区域中。所述计算机系统还优选包括盘存储器单元,控制器包括盘控制器,将从盘存储单 元读取的数据存储在盘存储器单元中,将盘存储器单元中存储的数据划分成应用所分配的 大小,并进行读取;BIOS,将从盘存储器单元中读取的数据存储在应用访问的存储器区域 中。控制器确定数据的读取大小,并根据确定的读取大小读取数据。所述计算机系统还包括输入单元,其中,控制器根据输入单元的用户输入确定数 据的读取大小。所述计算机系统还包括显示单元,其中,控制器显示UI (用户界面),以从用户接 收关于数据的读取大小的输入。所述计算机系统还包括大小设置单元,大小设置单元具有用户设置的设置状态, 其中,控制器根据大小设置单元的设置状态确定数据的读取大小。根据本发明的又一示例性方面,提供了一种控制盘存储装置的计算机系统的方 法,所述方法包括以下步骤根据计算机系统中应用对读取数据的请求,从存储数据的盘存 储单元根据读取大小读取数据;将从盘存储单元读取的读取大小的数据划分成应用所分配 的大小,并将数据发送到计算机系统。根据本发明的又一示例性方面,提供了 一种盘存储装置,所述盘存储装置包括盘 存储单元,存储有数据;盘存储器单元;以及盘控制器,根据应用对读取数据的请求,从盘 存储单元根据读取大小读取数据,以将数据存储在盘存储器单元中,将盘存储器单元中存储 的数据划分成应用所分配的大小,以进行读取,并将分配的大小的数据发送到计算机系统。
从下面结合附图对示例性实施例的描述,以上和/或其他示例性方面将变得更清楚,并对本领域的普通技术人员而言更容易理解,其中图1示出根据本发明的第一示例性实施例的计算机系统的框图;图2是示出根据本发明示例性实施例的计算机系统的操作的流程图;图3示出根据本发明示例性实施例的计算机系统的操作;图4示出根据本发明的第二示例性实施例的计算机系统的框图;图5是示出根据本发明示例性实施例的计算机系统的操作的流程图;图6示出根据本发明示例性实施例的计算机系统的操作;图7示出根据本发明的第三示例性实施例的计算机系统的框图;图8是示出根据本发明示例性实施例的计算机系统的操作的流程图;图9示出根据本发明示例性实施例的计算机系统的操作;图10示出根据本发明的第四示例性实施例的计算机系统的框图;图11是示出根据本发明示例性实施例的计算机系统的操作的流程图;图12示出根据本发明的第五示例性实施例的计算机系统的框图;图13是示出根据示例性实施例的计算机系统的操作的流程图。
具体实施例方式以下,将参照附图详细描述本发明的示例性实施例,以使本领域的普通技术人员 能够实现本发明。所述示例性实施例可以以各种形式被实施,而不限于这里阐述的示例性 实施例。当对于本领域的普通技术人员而言包括已知结构和功能的描述可能模糊本发明的 主题的理解时,为了清晰可省略对已知结构和功能的描述。另外,贯穿附图,相同的标号通 常表示相同的元件。图1示出根据第一示例性实施例的计算机系统的框图。如图1所示,计算机系统 1可被实现为例如台式PC、膝上型电脑、笔记本、平板PC等。根据示例性实施例的计算机系 统1优选包括盘存储单元10、存储器单元20和控制器30。盘存储单元10包括存储有数据的装置,并可被设置为盘存储装置(例如,硬盘驱 动器(HDD))。存储器单元20是主存储器,并可被实现为随机存取存储器(RAM)。存储器单 元20具有应用存储器区域21,在所述应用存储器区域21中存储有用于应用程序(以下,简 称为“应用”)的数据。继续参照图1,控制器30通过使用诸如CPU(未示出)的处理器(通常为微处理 器)执行程序以操作和执行根据示例性实施例的功能。与示例性实施例的控制器30执行 的功能相应的程序优选包括BIOS和/或OS。这种程序可存储在ROM(在BIOS的情况下下, 未示出)中或安装在HDD (在OS的情况下)中。安装有OS的HDD可被实现为盘存储单元 10。将参照图2和图3详细解释根据示例性实施例的控制器30。图2是示出根据本发明示例性实施例的控制器30的示例性操作的流程图。首先,在201,控制器30根据应用对数据读取的请求从盘存储单元10中按读取大 小读取数据。按扇区读取示例性实施例的盘存储单元10中存储的数据。在这种情况下,读 取大小是扇区大小。控制器30可参照盘存储单元10的MBR中提供的分区表按扇区读取盘 存储单元10中存储的数据。接着,在202,示例性实施例的控制器30将按扇区大小读取的数据划分成应用所分配的大小,并将数据存储在应用存储器区域21中。示例性实施例的应用为数据分配具有 一定容量的存储器,以使数据被访问。如果读取的数据的大小大于应用所分配的存储器的 容量,则控制器30不立刻存储数据,而是划分数据,并将数据存储在应用存储器区域21中。图3示出根据本发明示例性实施例的控制器30的操作。参照图3,假设从盘存储 单元10中按单位读取的数据3具有1千字节的大小,并且应用所分配的存储器大小是512 字节。示例性实施例的控制器30考虑到应用所分配的存储器大小而将读取的数据3的一 部分(即数据3a,大小为512字节)存储在应用存储器区域211中。然后,当应用访问部分 211中的数据时,控制器30将数据3的其他部分3b存储在应用存储器区域21中。因此,在根据示例性实施例的计算机系统1中,防止当从盘存储单元10读取的数 据的单位(即,扇区大小)大于应用所分配的存储器大小时可能发生的溢出。因此,在当前 请求保护的发明中,可不根据分区表(例如,GPT)的新标准(这涉及BIOS或OS的实质改 变)而是仅通过简单修改软件设计来使用大量盘存储装置。在示例性实施例中,由于盘存储单元10的扇区大小是1千字节,1千字节是512字 节的两倍,所以盘存储单元10的最大容量是4太字节。或者,盘存储单元10的扇区大小可 以是2千字节和4千字节,在这种情况下,盘存储单元10的最大容量分别是8太字节和16 太字节。类似地,在这种情况下,示例性实施例的控制器30可将从盘存储单元10读取的2 千字节、4千字节等的数据划分成512字节,512字节是应用所分配的存储器大小,并将数据 存储在应用存储器区域21中。图4示出根据本发明第二示例性实施例的计算机系统Ia的框图。图4中示出的 计算机系统Ia不具有与图1至图3中示出的计算机系统1中的部件相同或类似的多个部 件,这里将不再重复对这些部件的基本评述。如图4所示,根据示例性实施例的计算机系统 Ia包括盘存储装置11a,设置有盘存储单元10 ;存储器单元20a,具有应用存储器区域21 ; 和控制器30a。示例性实施例的盘存储装置Ila可被实现为硬盘驱动器。示例性实施例的控制器 30a包括BIOS 31a和盘控制器32a。可通过执行BIOS程序的CPU(未示出)来实现BIOS 31a。盘控制器32a设置在盘存储单元Ila中,并根据BIOS 31a的请求控制盘存储单元10 中存储的数据的读取。同时,存储器单元20a还包括BIOS存储器区域22a,所述BIOS存储 器区域22a是用于BI0S31a的存储器空间。在示例性实施例中,计算机系统Ia还可包括输 入/输出控制集线器(ICH,未示出),所述输入/输出集线器用于BIOS 31a和盘控制器32a 之间的交互。图5是示出图4中示出的计算机系统Ia的示例性操作的流程图。首先,在步骤 501,如果应用请求读取盘存储单元10中存储的数据,则BIOS 31a将关于所述数据的信息 提供给盘控制器32a,并请求读取。根据BIOS 31a的请求,在步骤502,盘控制器32a从盘存储单元10按扇区读取数 据,并将读取的具有扇区大小的数据发送到BIOS 31a。在503,将具有扇区大小的数据存储 在存储器单元20a的BIOS存储器区域22a中。接着,在504,BIOS 31a通过将具有扇区大小的数据划分成应用所分配的大小来 读取存储在BIOS存储器区域22a中具有扇区大小的数据,在505,将读取的数据存储在应用 存储器区域21中。
图6示出图4和图5中示出的计算机系统Ia的操作。在示例性实施例中,假设从 盘存储单元10按单位读取的数据3的大小是1千字节,应用所分配的存储器大小是512字 节。如图6所示,示例性实施例的BIOS 31a考虑应用所分配的存储器大小而将存储在BIOS 存储器区域22a中的数据的221a的一部分(512字节)存储在应用存储器区域211中。示 例性实施例中BIOS 31a划分和存储数据的操作与参照图4解释的控制器30的操作类似。图7示出根据本发明的第三示例性实施例的计算机系统Ib的框图。图7中示出 的计算机系统Ib具有与图1至图6中示出的计算机系统1和Ia中的部件相同或类似的部 件。如图7所示,根据示例性实施例的计算机系统Ib包括盘存储装置11b,设置有盘存储 单元10 ;存储器单元20b,具有应用存储器区域21 ;和控制器30b。示例性实施例的盘存储装置lib可被实现为硬盘驱动器。示例性实施例的控制器 30b包括BIOS 31b和盘控制器32b。可通过执行BIOS程序的CPU(未示出)来实现BIOS 31b。盘控制器32b设置在盘存储单元lib中,并根据BIOS 31b的请求控制盘存储单元10 中存储的数据的读取。同时,存储器单元20b还包括BIOS存储器区域22b,所述BIOS存储 器区域22b是用于BIOS 31b的存储器空间。在示例性实施例中,计算机系统Ib还可包括 输入/输出控制集线器(ICH,未示出),所述输入/输出集线器用于BIOS 31b和盘控制器 32b之间的交互。此外,示例性实施例的盘存储装置lib还包括盘存储器单元12,所述盘存 储器单元12可被实现为RAM,并且是用于盘控制器32b的存储器空间。图8是示出图7中示出的计算机系统Ib的操作的流程图。首先,在步骤801,如果 应用请求读取盘存储单元10中存储的数据,则BIOS 31b将关于所述数据的信息提供给盘 控制器32b,并请求读取。根据BIOS 31b的请求,盘控制器32b从盘存储单元10按扇区读取数据,并在步骤 802,将读取的具有扇区大小的数据存储在盘存储器单元12中。在步骤803,盘控制器32b 通过将存储在盘存储器单元12中的数据划分成应用所分配的大小来按扇区大小读取存储 在盘存储器单元12中的数据,在步骤804,将读取的数据发送到BIOS 31b。将发送的数据 存储在存储器单元20b的BIOS存储器区域22b中。接下来,在步骤805,BIOS 31b将读取 的BIOS存储器区域22b中存储的数据存储在应用存储器区域21a中。图9示出图7和图8中示出的计算机系统Ib的操作。在示例性实施例中,假设从 盘存储单元10按单位读取的数据3的大小是1千字节,应用所分配的存储器大小是512字 节。如图9所示,示例性实施例的盘控制器32b考虑应用所分配的存储器大小存储盘存储 器单元12中存储的数据的121的一部分(512字节),并将数据121的所述一部分发送到 BIOS 31b。将发送的数据存储在BIOS存储器区域221b (BIOS存储器区域221b在22b中) 中,然后存储在应用存储器区域211 (应用存储器区域211在21中)中。当前实施例中的 盘控制器32b划分和存储数据的操作与前面提到的控制器30和BIOS 31a的操作类似。以下,将参照图10至图13解释根据另一示例性实施例的计算机系统。图10示出 根据第四示例性实施例的计算机系统Ic的框图。图10中示出的计算机系统Ic具有与图1 至图9中示出的计算机系统l、la和Ib中的部件相同或类似的部件,这里将不再重复。如 图10所示,根据示例性实施例的计算机系统Ic包括盘存储单元10、存储器单元20、用户输 入单元40、显示单元50、设置存储单元60和控制器30c。用户输入单元40可被实现为键盘、鼠标等,并接收关于盘存储单元10设置扇区大小的用户输入。显示单元50可被实现为IXD,并显示关于根据控制器30c的控制设置扇 区大小的UI。设置存储单元60可被设置为非易失性存储器(例如,NVRAM),并存储关于设 置扇区大小的信息。控制器30c可被设置为执行BIOS程序的CPU,除了执行前面提到的控 制器划分和存储数据的操作之外,还执行设置盘存储单元10的扇区大小的操作。此外,示 例性实施例的控制器30c可被实现为控制器30a和控制器30b,其中,控制器30a被划分成 BIOS 31a和盘控制器32a,控制器30b被划分成BIOS 31b和盘控制器32b。图11是示出图10中示出的计算机系统Ic的示例性操作的流程图。首先,在1101, 控制器30c识别是否存在通过用户输入单元40的来自用户的用于设置盘存储单元10的扇 区大小的请求。在步骤1101,例如,当在启动计算机系统Ic之后用键盘上的键进行了输入 时,控制器30c可确定是否存在设置请求。如果存在来自用户的用于设置盘存储单元10的扇区大小的请求,则在步骤1102, 控制器30c在显示单元50上显示用于设置盘存储单元10的扇区大小的UI。然后,在步骤 1103,通过用户输入单元40接收关于盘存储单元10的扇区大小的用户输入。在步骤1102 和1103,可显示盘存储单元10的预定扇区大小(例如,512字节、1千字节、2千兆字节、4 千兆字节等),所述扇区大小将是可选择的,并且用户可选择其中的一个扇区大小。接着,在步骤1104,控制器30c将用户通过用户输入单元40输入的扇区大小的设 置与设置存储单元60中先前存储的关于扇区大小的信息进行比较,并确定是否需要更新 扇区大小的信息。结果,如果必须更新先前存储的扇区大小的信息,则在步骤1105,控制器 30c将设置存储单元60中先前存储的扇区大小的信息更新为输入的扇区大小。如果在步骤1104不需要更新先前存储的扇区大小的信息,或者执行了步骤1105, 则在步骤1106,控制器30c根据应用对读取数据的请求从盘存储单元10按通过用户输入 设置的扇区大小读取数据。如果通过将示例性实施例的控制器30c划分成BIOS和盘控制 器(例如,参照图4至图9解释的BIOS 31a和31b以及盘控制器32a和32b)来实现控制 器30c,则BIOS可发送关于通过用户输入设置的扇区大小的信息。根据示例性实施例,作为盘存储单元10的读取单位的扇区大小可以不是固定的, 而是可通过用户输入被改变。图12示出根据第五示例性实施例的计算机系统Id的框图。图12中示出的计算机 系统Id具有与图1至图11中示出的计算机系统l、la、lb和Id的部件相同或类似的部件, 这里将不再重复。如图12所示,根据示例性实施例的计算机系统Id包括盘存储单元10、存 储器单元20、扇区大小设置单元70和控制器3d。可通过用户操作正式改变扇区大小设置单元70,扇区大小设置单元70是用于设 置盘存储单元10的扇区大小的装置。例如,扇区大小设置单元70可被实现为拨动开关、跳 线开关等,并且可与盘存储单元10—起设置在硬盘驱动器中。扇区大小设置单元70根据 用户设置具有与512字节、1千字节、2千字节、4千字节等相应的状态,可由控制器3d识别 设置状态。控制器3d可被实现为执行BIOS程序的单个处理器等,或被实现为如参照图4至 图9解释的BIOS 31a和31b以及盘控制器32a和32b的两个或多个单独的处理器。控制 器3d执行改变盘存储单元10的扇区大小的操作以及前面提到的控制器30划分和存储数 据的操作。
图13是示出图12中示出的计算机系统Id的操作的流程图。首先,控制器3d识 别是否存在应用对读取数据的请求(操作1301)。如果存在应用对读取数据的请求,则控制 器3d检查扇区大小设置单元70的设置状态(操作1302)。然后,控制器3d从盘存储单元 10按根据扇区大小设置单元70的设置状态设置的扇区大小读取相应数据(操作1303)。根据示例性实施例,作为盘存储单元10的读取单位的扇区大小可以不是固定的, 而是可通过用户设置操作被改变。如上所述,本发明能够在修改广泛使用的BIOS和OS不太多的情况下使用大量盘存储装置。此外,根据本发明,可不受限制地改变作为盘存储装置的读取单位的扇区大小。尽管已经显示和描述了一些示例性实施例,但本领域的技术人员将理解,在不脱 离本发明的原理和精神的情况下,可对这些示例性实施例进行改变,在权利要求及其等同 物中限定本发明的范围。
权利要求
1.一种控制计算机系统的方法,所述方法包括以下步骤响应于应用对读取数据的请求,从存储数据的盘存储单元根据读取大小读取数据;以及将数据从所述读取大小划分成应用所分配的大小,并将分配的大小的数据存储在应用 访问的存储器区域中。
2.根据权利要求1的方法,所述方法还包括以下步骤将从盘存储单元读取的数据存 储在BIOS的存储器区域中,其中,将分配的大小的数据存储在应用访问的存储器区域中的步骤包括以下步骤将 BIOS的存储器区域中存储的数据划分成应用所分配的大小,并进行读取;以及将从BIOS的 存储器区域中读取的数据存储在应用访问的存储器区域中。
3.根据权利要求1的方法,所述方法还包括以下步骤将从盘存储单元读取的数据存 储在盘存储器单元中,其中,将分配的大小的数据存储在应用访问的存储器区域中的步骤包括以下步骤将 盘存储器单元中存储的读取大小的数据划分成应用所分配的大小,并进行读取;以及将从 盘存储器单元读取的数据存储在应用访问的存储器区域中。
4.根据权利要求1的方法,所述方法还包括以下步骤确定数据的读取大小,其中,读取步骤包括以下步骤按确定的读取大小读取数据。
5.根据权利要求4的方法,其中,确定步骤包括以下步骤根据用户的输入确定数据的 读取大小。
6.根据权利要求5的方法,其中,确定步骤还包括以下步骤显示用户界面,以从用户 接收关于数据的读取大小的输入。
7.根据权利要求4的方法,其中,确定步骤包括以下步骤根据用户设置的大小设置单 元的设置状态确定数据的读取大小。
8.一种计算机系统,所述计算机系统包括盘存储单元,存储有数据;存储器单元,包括应用访问的存储器区域;以及控制器,根据应用对读取分配的大小的数据的请求,从盘存储单元根据读取大小读取 数据,将所述读取大小的数据划分成应用所分配的大小,并将分配的大小的数据存储在应 用访问的存储器区域中。
9.根据权利要求8的计算机系统,其中,存储器单元还包括BIOS的存储器区域,控制器 控制存储器单元将从盘存储单元读取的数据存储在BIOS的存储器区域中,将BIOS的存储 器区域中存储的数据划分成应用所分配的大小,并进行读取,并且将分配的大小的数据存 储在应用访问的存储器区域中。
10.根据权利要求8的计算机系统,所述计算机系统还包括盘存储器单元,控制器包括盘控制器,将从盘存储单元读取的数据存储在盘存储器单元中,将盘存储 器单元中存储的数据划分成应用所分配的大小,并进行读取;和BIOS,将从盘存储器单元 中读取的数据存储在应用访问的存储器区域中。
11.根据权利要求8的计算机系统,其中,控制器确定数据的读取大小,并根据确定的 读取大小读取数据。
12.根据权利要求11的计算机系统,所述计算机系统还包括用户输入单元, 其中,控制器根据从用户输入单元接收的输入确定数据的读取大小。
13.根据权利要求12的计算机系统,所述计算机系统还包括显示单元,其中,控制器显示用户界面,以从用户输入单元接收关于数据的读取大小的输入。
14.根据权利要求11的计算机系统,所述计算机系统还包括大小设置单元,所述大小 设置单元具有用户设置的设置状态,其中,控制器根据大小设置单元的设置状态确定数据的读取大小。
15.一种盘存储装置,所述盘存储装置包括 盘存储单元,存储有数据;盘存储器单元;以及盘控制器,根据应用对读取数据的请求,从盘存储单元根据读取大小读取数据,以将数 据存储在盘存储器单元中,将盘存储器单元中存储的数据划分成应用所分配的大小,以进 行读取,并将分配的大小的数据发送到计算机系统。
全文摘要
提供了一种计算机系统、盘存储装置和控制所述计算机系统的方法,所述计算机系统、盘存储装置及其控制方法根据应用对读取数据的请求从存储有数据的盘存储单元按读取大小读取数据。将数据从读取大小划分成应用所分配的大小,并将数据存储在应用访问的存储器区域中。
文档编号G06F12/06GK101996141SQ201010250110
公开日2011年3月30日 申请日期2010年8月9日 优先权日2009年8月25日
发明者河钟旭, 申锦浩 申请人:三星电子株式会社