系统及其操作方法与流程

文档序号:11590259阅读:248来源:国知局

相关申请的交叉引用

本申请主张于2016年2月2日向韩国知识产权局提交的韩国专利申请第10-2016-0012661号的优先权,该申请以全文引用的方式并入本文。

示例性实施例涉及一种系统及其操作方法。



背景技术:

图1是示出常规存储系统的配置的示意图。图2是示出数据从图1的系统中磁盘设备190传输到中央处理单元(cpu)110的路线的示图。

参照图1,系统包括cpu110、高速缓冲存储器120、存储器总线130、直接存储器存取(dma)控制器140、存储器控制器150、存储器件160、外部设备互连(pci)总线170、磁盘控制器180和磁盘设备190。

作为控制整个系统的设备,cpu110控制并调整从各种输入设备(图1中未示出)接收并处理数据然后将数据处理结果输出至输出设备的一系列过程。必要时,cpu110可以将数据储存在存储器件160或磁盘设备190中,或使用储存在存储器件160或磁盘设备190中的数据。

作为装有从主储存设备(即图1中的存储器件160)读出的指令和程序的缓冲器类型的高速存储器件的高速缓冲存储120,设置在存储器件160和cpu110之间。

当通过cpu110执行程序时,存储器件160充当系统的主储存设备,程序或数据可以从辅助储存设备移动至系统的主储存设备来执行。存在两种类型的存储器,其中一种是即使在电源关断时仍保留所储存的数据的只读存储器(rom),另一种是当电源关断时其中所有数据被擦除的易失性存储器类型的随机存取存储器(ram)。ram被分为sram(静态ram)和dram(动态ram)。sram当对其供电时保留所储存的数据,而dram即使供电时也仅在执行刷新操作时才保留所储存的数据。dram主要用于大容量储存设备。

作为在cpu110外部储存程序或数据的存储器件,磁盘设备190比主储存设备慢,但是可以永久地储存大量数据。一般而言,作为辅助储存设备,有使用磁特性的储存设备(诸如磁带和磁盘),使用光特性的储存设备(诸如光盘),或者使用这两种特性的储存设备(诸如光磁盘)。主要用于个人电脑中的软盘、硬盘、cd-rom等可以用作辅助储存设备。

在下文中,参照图2,将描述储存在磁盘设备190中的数据被cpu110调用的情况下,在常规系统中从磁盘设备190向cpu110传输数据的过程。

当cpu110调用储存在磁盘设备190中的数据时,磁盘设备190的数据首先通过磁盘控制器180经由pci总线170而被传输至dma控制器140(①)。接着,从磁盘设备190传输的数据通过dma控制器140经由存储器总线130被传输至存储器控制器150,然后传输的数据在存储器控制器150的控制下被储存在存储器件160中(②)。储存在存储器件160中的数据在存储器控制器150的控制下被传输至cpu110(③)。

图3是图2的数据传输过程的流程图。

参照图3,可以涉及各种处理步骤,诸如数据请求步骤(s310)、dma控制器请求步骤(s320)、总线请求步骤(s330)、总线授权步骤(s340)、磁盘设备至存储器件的传输步骤(s350)、完成信号产生步骤(s360)和存储器件至cpu的传输步骤(s370),以便调用储存在磁盘设备190中的数据。

数据请求步骤(s310)可以表示cpu110将数据调用指令传输至磁盘控制器180的步骤。dma控制器请求步骤(s320)可以表示磁盘控制器180响应于数据调用指令来调用dma控制器140的步骤。总线请求步骤(s330)可以表示dma控制器140向cpu110请求授权使用pci总线170和存储器总线130的步骤。总线授权步骤(s340)可以表示cpu110授权dma控制器140使用pci总线170和存储器总线130的请求的步骤。磁盘设备至存储器件的传输步骤(s350)可以表示dma控制器140在接收到pci总线170和存储器总线130的使用授权后控制数据传输使得储存在磁盘设备190中的数据经由pci总线170和存储器总线130被传输至存储器件160的步骤。

完成信号产生步骤(s360)可以表示dma控制器140通知cpu110储存在磁盘设备190中并通过cpu110请求的所有数据被传输至存储器件160的步骤。存储器件至cpu的传输步骤(s370)可以表示储存在存储器件160中的数据通过存储器控制器150经由存储器总线130被传输至cpu110的步骤。

参照图2和图3,在常规系统中cpu110调用储存在磁盘设备190中的数据的情况下,数据传输过程和所调用数据的路径是复杂的,由此降低了所调用数据的处理速度,并且浪费了存储器总线130和pci总线170的带宽。



技术实现要素:

各种实施例涉及一种能够通过使用耦接至多个存储器端口的主储存设备和辅助储存设备来快速且容易地传输从cpu请求的数据,并简化在主储存设备和辅助储存设备之间的数据传输的系统。

在实施例中,一种系统可以包括:中央处理单元(cpu)、主储存设备和辅助储存设备,耦接至多个存储器端口;存储器总线,适用于耦接cpu和多个存储器端口;以及存储器控制器,适用于当cpu调用储存在辅助储存设备中的数据时,控制所调用的数据从辅助储存设备传输到主储存设备,并储存在主储存设备中。

在实施例中,一种用于操作系统的方法,所述系统包括:中央处理单元(cpu)以及耦接至多个存储器端口的主储存设备和辅助储存设备,所述方法可以包括:通过cpu传输指令以调用储存在辅助储存设备中的数据;响应于传输的指令,将辅助储存设备的所调用的数据传输至主储存设备,并储存在主储存设备中;以及当所调用的数据在主储存设备中的储存完成时,向cpu传输完成信号。

在实施例中,一种系统可以包括:主储存设备和辅助储存设备;和存储器控制器,经由多个存储器端口耦接至主储存设备和辅助储存设备,并适用于从主储存设备和辅助储存设备读取数据和向主储存设备和辅助储存设备写入数据,其中,当调用储存在辅助储存设备中的数据时,存储器控制器控制所调用的数据从辅助储存设备经由存储器端口传输至主储存设备,并储存在主储存设备中。

附图说明

图1是示出常规系统的配置的示意图。

图2是示出在图1的系统中数据从磁盘设备传输到中央处理单元(cpu)的路线的示图。

图3是图示图2的数据传输过程的流程图。

图4是图示根据本发明的实施例的系统的配置的框图。

图5是图示在图4的系统中从辅助储存设备到cpu的数据传输路径的框图。

图6是图示根据本发明的实施例的图4所示的存储器控制器的配置的框图。

图7是图示当辅助储存设备的数据被图4的系统中的cpu调用时图6的存储器控制器中的数据传输路径的框图。

图8是图示操作根据本发明的实施例的系统的方法的流程图。

图9是图示图8所示的辅助储存设备至主储存设备的传输步骤的具体流程的流程图。

具体实施方式

以下将参照附图更详细地描述本发明的各种实施例。然而,本发明可以以不同的形式来实施,并且不应当被解释为局限于本文所阐述的实施例。更确切地说,这些实施例被提供使得本公开将是彻底的和完整的,并且将本发明充分地传达给相关领域技术人员。相同的附图标记在本发明的各种附图和实施例中始终表示相同的部分。

除非另有限定,本文使用的所有术语,包括技术和科学术语,具有与本发明所述领域的普通技术人员通常理解的相同的含义。此外将理解的是,诸如常用字典中所定义的那些术语应被理解为具有与说明书和相关领域的背景中的含义一致的含义,而不应理解为理想或过于形式化意义,除非本文明确地这样定义。

本发明可以具有多种修改和实施例,并且在本文中,取用一些实施例作为示例以描述本发明。因此,对于本发明所属领域技术人员明显的是,所描述的实施例并不意图限制本发明的范围。此外,本发明的实施例的构成元件应理解为包括所有修改、替换和等同物。在这方面,在图1至图9中示出的用于描述本发明的以下实施例,应视为非限制性,而是说明性的。

将理解的是,虽然术语“第一”、“第二”、“第三”等在本文中可以用于描述各种元件,但这些元件不应受到这些术语的限制。这些术语用于将一个元件与另一个元件区分开。因此,以下描述的第一元件也可以被称为第二元件或第三元件,而不脱离本发明的精神与范围。

还将理解,当元件被称为“连接至”或“耦接至”另一元件时,其可以直接连接或耦接至其他元件,或者可以存在一个或更多个中间元件。此外,还将理解,当元件被称为位于两个元件“之间”时,其可以为所述两个元件之间的唯一元件,或者也可以存在一个或更多个中间元件。

本文使用的术语仅为了描述具体实施例,而不旨在限制本发明。如本文所用,单数形式旨在也包括复数形式,除非上下文中另外明确地指出。此外将理解的是,术语“包括(comprises/comprising)”、“包括(includes/including)”当在本说明书中使用时指定所陈述的元件的存在,且并不排除一个或更多个其它元件的存在或增加。如本文所用,术语“和/或”包括一个或更多个相关列举项的任意组合和所有组合。

在以下描述中,为了提供对本发明的透彻的理解,阐述了许多具体细节。本发明可以在无需这些具体细节中的一些或全部的情况下被实施。在其他情况下,为了不会不必要地使本发明难以理解,没有详细描述已知的过程结构和/或过程。

在一些情况下,对本领域常规技术人员而言明显的是,关于特定实施例描述的元件可以单独使用或可以与其它实施例组合使用,除非另有特别说明。

在下文中,将参考附图详细描述本发明的各种实施例。

现在参照图4,根据本发明的实施例,提供了一种系统的配置。

根据图4的实施例,系统可以包括中央处理单元(cpu)410、高速缓冲存储器420、存储器总线430、总线控制器440、存储器控制器450、主储存设备460、辅助储存设备470、输入/输出(i/o)总线480、外围设备490_1和490_2、多个存储器端口port1_1和port1_2,以及多个i/o端口port2_1和port2_2。虽然在图4的实施例中以两个外围设备490_1和490_2作为示例示出,但应注意在其他实施例中,可以采用一个或更多个外围设备,而不脱离本发明的范围。

存储器总线430可以通过总线控制器440(例如总线控制器440的中继)而在i/o总线480和主储存设备460之间传输数据。存储器总线430也可以通过存储器控制器450(例如存储器控制器450的中继)而在cpu410和主储存设备460之间传输数据。存储器总线430可以是在cpu410与耦接至存储器端口port1_1和port1_2的主储存设备和辅助储存设备之间传输数据的高速信道。可以采用任何适合的高速信道。

当cpu410调用外围设备490_1和490_2的数据时,总线控制器440可以控制将从外围设备490_1和490_2输出的数据传输至主储存设备460的操作。总线控制器440可以执行由cpu410发出的总线请求,并将从外围设备490_1和490_2输出的数据通过i/o总线480和存储器总线430传输至主储存设备460。存储器控制器450可以根据来自cpu410或总线控制器440的请求来控制主储存设备460和/或辅助储存设备470的操作。主储存设备460或辅助储存设备470的操作可以包括例如写入操作或读取操作。

主储存设备460可以是这样的储存单元,当通过cpu410执行程序和/或数据时,来自辅助储存设备的程序和/或数据可以被传输至该储存单元并在其中执行。主储存设备460可以是即使当电源关断时储存的数据仍保留的rom,或者可以是当电源关断时所有储存的数据丢失的易失性存储器类型的ram。图4的主储存设备可以是双列直插式存储器模块(dimm)。

作为在cpu410外部储存程序或数据的储存单元,即使其数据处理速度很慢,辅助储存设备470也可以永久地储存大量数据。辅助储存设备470可以是磁带、磁盘、光盘、光磁盘、软盘、硬盘、cd-rom等。

图4所示的辅助储存设备470与常规辅助储存设备不同,其耦接至存储器端口,例如存储器端口port1_2。在dimm中,辅助储存设备470可以具有闪速存储器芯片,而非dram芯片。图4的辅助储存设备470可以是能够通过耦接至存储器端口port1_2来使用的储存信道存储器。

一般而言,主储存设备460相比辅助储存设备470可以具有较快的操作速度和较短的作为等待时间的时延。相反,辅助储存设备470相比主储存设备460可以具有较慢的操作速度和较长的时延。

i/o总线480可以通过总线控制器44的中继在存储器总线430和外围设备490_1和490_2之间传输数据。i/o总线480可以是pci总线。

外围设备490_1和490_2可以包括各种设备,诸如例如处理系统的图形数据的图形处理单元和用于与将指令传送到系统中并接收系统的处理结果的其他系统联网的通信设备。

存储器端口port1_1和port1_2中的每个可以包括用于将对应的存储器件耦接至系统的预定形状的槽,该存储器件具有与该槽兼容的连接器。如图4所示,耦接至存储器端口port1_1和port1_2的存储器件分别可以是主储存设备460和辅助储存设备470。i/o端口port2_1和port2_2可以包括用于将外围设备490_1和490_2耦接至系统的预定形状的槽,该外围设备490_1和490_2具有与该槽兼容的连接器。

在图4的实施例的变型例中,图4中所示的系统可以采用作为辅助储存设备470的储存信道存储器(而非使用耦接至i/o端口port2_1和port2_2的磁盘设备)来经由pci总线480传输数据,所述储存信道存储器耦接至存储器端口port1_1和port1_2中的一个。在这样的配置中,图4的系统中的存储器控制器450可以执行dma控制器的功能。

在下文中,参照图5,将描述在图4的系统中将储存在辅助储存设备470中的数据传输至cpu410的过程。

图5是图示在图4的系统中从辅助储存设备470到cpu410的数据传输路径的框图。

参照图5,当cpu410调用辅助储存设备470的数据时,用于调用辅助储存设备470的数据的指令被传输至存储器控制器450,并且在存储器控制器450的控制下,辅助储存设备470的数据被传输至主储存设备460并储存在其中(①)。在数据从辅助储存设备470传输至主储存设备之前,在主储存设备460中分配储存空间,用于接收待从辅助储存设备470传输的数据。

当遵照来自cpu410的请求将辅助储存设备470的数据传输至主储存设备460的操作完成时,然后存储器控制器450可以向cpu410传输表明数据传输完成的完成信号complete(参见图6)。当cpu接收到完成信号时,然后cpu410可以通过访问主储存设备460来接收并使用被请求的数据(②)。

因此,当辅助储存设备470的数据遵照来自cpu410的请求被传输至主储存设备460时,图4的系统不采用总线430和480。系统使用用于数据传输的存储器控制器450。图4的系统在不使用总线的情况下将辅助储存设备470的数据传输至主储存设备460,由此降低了带宽损失。此外,系统的操作速度可以通过减小辅助储存设备470和主储存设备460之间的长度并通过简化从辅助储存设备470到主储存设备460的数据传输过程来得到提高。

图6是图示根据本发明的实施例的图4的存储器控制器450的配置的框图。

根据图6的实施例,存储器控制器450可以包括第一指令输入单元610和第二指令输入单元620、第一数据缓冲器630和第二数据缓冲器640、指令排列单元650、传输控制单元660,和命令/地址产生单元670。

第一指令输入单元610可以接收通过第一路径path1传输的一个或更多个指令。当接收两个或更多个指令时,第一指令输入单元610可以以输入的顺序(即先进先出的顺序)来输出指令。第二指令输入单元620可以接收通过第二路径path2传输的一个或更多个指令。当接收两个或更多个指令时,第二指令输入单元620可以以输入的顺序(即先进先出的顺序)来输出指令。

第一路径path1可以是当cpu410直接访问主储存设备460时用于传输所请求的指令和地址的路径。第二路径path2可以是当cpu410访问辅助储存设备470时用于传输所请求的指令和地址的路径。存储器控制器450可以响应于通过第一路径path1传输的指令来执行控制任务,使得将数据储存在主储存设备460中,或者输出储存在主储存设备460中的数据。存储器控制器450可以响应于通过第二路径path2传输的指令执行控制任务,使得将储存在辅助储存设备470中的数据传输至主储存设备460并储存在其中,或者将储存在主储存设备460中的数据传输至辅助储存设备470并储存在其中。

第一数据缓冲器630可以将在主储存设备460和外部设备之间传输的数据缓冲至存储器控制器450。第二数据缓冲器640可以将在辅助储存设备470和外部设备之间传输的数据缓冲至存储器控制器450。当数据在主储存设备460和辅助储存设备470之间传输时,该数据可以在第一数据缓冲器630和第二数据缓冲器640之间传输。

指令排列单元650可以排列(align)从第一指令输入单元610和第二指令输入单元620输入的指令,并输出这些指令。指令排列单元650可以接收通过第一指令输入单元610和第二指令输入单元620输入的一个或更多个指令,并且当其接收两个或更多个指令时,其可以以输入的顺序(即先进先出的顺序)来输出指令。

当调用辅助储存设备470的数据的指令通过第二指令输入单元620从cpu410输入时,传输控制单元660可以控制从辅助储存设备470到主储存设备460传输数据的操作。当调用辅助储存设备470的数据的指令被输入至传输控制单元660,然后传输控制单元660可以产生读出辅助储存设备470的数据的指令和地址,并将它们输出至指令排列单元650。此后,传输控制单元660可以产生将辅助储存设备470的读出数据写入主储存设备460中的指令和地址,并将它们输入到指令排列单元650中。

这种控制可以通过一个步骤来执行,或者可选地可以通过数个步骤来执行。例如,在辅助储存设备470的数据被调用之后,所有调用的数据可以通过读取指令从辅助储存设备470读出。此外,所有读出的数据可以通过写入指令而被写入主储存设备460。可选地,随着读出辅助储存设备470的数据并将读出数据写入主储存设备460的操作交替一次或更多次,数据可以从辅助储存设备470传输至主储存设备460。

响应于从指令排列单元650输出的命令和地址,命令/地址产生单元670可以产生这种类型的命令和地址,即主储存设备460或辅助储存设备470可以处理所述命令和地址,并将其传输至主储存设备650或辅助储存设备470。

图7是图示当辅助储存设备470的数据被图4的系统中的cpu410调用时,图6的存储器控制器450中的数据传输路径的框图。

参照图7,当辅助储存设备470的数据被cpu410调用时,控制与该调用相对应的操作的指令通过第二路径path2被输入至第二指令输入单元620。传输控制单元660可以响应于输入至第二指令输入单元620的指令来执行控制,使得辅助储存设备470的数据被传输至主储存设备460。首先,传输控制单元660可以产生用于读出位于辅助储存设备470的预定位置中的数据的读取指令和地址,并将其输出至指令排列单元650。接着,传输控制单元660可以产生用于将来自辅助储存设备470的读出数据写入至主储存设备460的预定位置的写入指令和地址,并将其输出至指令排列单元650。响应于连续的读取和写入指令,数据可以从辅助储存设备470读出并且读出的数据可以经由第二数据缓冲器640和第一数据缓冲器630以这种顺序写入主储存设备460(①)。

当通过cpu410调用的所有数据一次就从辅助储存设备470传输至主储存设备460时,上述操作可以仅执行一次。然而,当所有调用的数据经n次从辅助储存设备470传输至主储存设备460时,上述数据传输操作可以在传输控制单元660的控制下重复n次。当从辅助储存设备470到主储存设备460的数据传输操作完成时,传输控制单元660可以激活完成信号complete。

cpu410可以通过从存储器控制器450发送的完成信号complete检测到数据已经从辅助储存设备470传送到主储存设备460。在完成信号complete激活后,然后cpu410可以访问主储存设备460,并调用从辅助储存设备470传输至主储存设备460并且现在储存在其中的数据(②)。

图8是图示操作根据本发明的实施例的系统的方法的流程图。

参照图8,操作系统的方法可以包括数据请求步骤(s810)、控制器请求步骤(s820)、辅助储存设备至主储存设备的传输步骤(s830)、完成信号产生步骤(s840)和主储存设备至cpu的传输步骤(s850)。

数据请求步骤(s810)可以表示cpu410将数据调用指令传输至存储器控制器450的步骤。控制器请求步骤(s820)可以表示存储器控制器450响应于数据调用指令来请求传输控制单元660的数据传输的步骤。辅助储存设备至主储存设备的传输步骤(s830)可以表示在传输控制单元660的控制下辅助储存设备470的数据被传输至主储存设备460的步骤。

完成信号产生步骤(s840)可以表示传输控制单元660通知cpu410通过cpu410请求的辅助储存设备470的数据被传输至主储存设备460的步骤。主储存设备至cpu的传输步骤(s850)可以表示主储存设备460的数据通过存储器控制器450经由存储器总线430被传输至cpu410的步骤。

参照图8和图3,相比图1所示的现有技术,图4的系统可以以更简化的过程将数据从辅助储存设备470传输至主储存设备460。例如,图4的系统不采用总线430和480来将数据从辅助储存设备470传输至主储存设备460。

图9是图示图8的辅助储存设备至主储存设备的传输步骤(s830)中执行的具体流程的流程图。

参照图9,辅助储存设备至主储存设备的传输步骤(s830)可以包括读取指令输入步骤(s910)、数据读取步骤(s920)、数据传输步骤(s930)、写入指令输入步骤(s940)和数据写入步骤(s950)。

读取指令输入步骤(s910)可以表示传输控制单元660产生用于从辅助储存设备470读出数据的读取指令并将其传输至指令排列单元650的步骤。数据读取步骤(s920)可以表示数据响应于从指令排列单元650输出的读取指令而从辅助储存设备470读出的步骤。数据传输步骤(s930)可以表示从辅助储存设备470读出的数据经由第二数据缓冲器640被传输至第一数据缓冲器630的步骤。写入指令输入步骤(s940)可以表示传输控制单元660产生用于将数据写入主储存设备460的写入指令并将其输入至指令排列单元650的步骤。数据写入步骤(s950)可以表示从第一数据缓冲器630输出的数据响应于从指令排列单元650输出的写入指令而被写入主储存设备460的步骤。

如上面的实施例中所述,由于存储系统包括经由存储器端口耦接至主储存设备的辅助储存设备,因此存储器控制器可以将辅助储存设备的数据经由存储器端口而传输至主储存设备,由此响应于来自cpu的调用来快速且简单地传输数据。

虽然已经出于说明的目的描述了各种实施例,但是本领域技术人员将明显的是,在不脱离在所附权利要求中限定的本发明的精神和范围的情况下,可以做出各种改变和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1