CN107025190A - 系统及其操作方法 - Google Patents
系统及其操作方法 Download PDFInfo
- Publication number
- CN107025190A CN107025190A CN201610806426.5A CN201610806426A CN107025190A CN 107025190 A CN107025190 A CN 107025190A CN 201610806426 A CN201610806426 A CN 201610806426A CN 107025190 A CN107025190 A CN 107025190A
- Authority
- CN
- China
- Prior art keywords
- data
- main storage
- storage facilities
- additional storage
- storage equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1657—Access to multiple memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种系统包括:中央处理单元(CPU)、主储存设备和辅助储存设备,耦接至多个存储器端口;存储器总线,适用于耦接CPU和多个存储器端口;以及存储器控制器,适用于当CPU调用储存在辅助储存设备中的数据时,控制所调用的数据从辅助储存设备传输到主储存设备,并储存在主储存设备中。
Description
相关申请的交叉引用
本申请主张于2016年2月2日向韩国知识产权局提交的韩国专利申请第10-2016-0012661号的优先权,该申请以全文引用的方式并入本文。
技术领域
示例性实施例涉及一种系统及其操作方法。
背景技术
图1是示出常规存储系统的配置的示意图。图2是示出数据从图1的系统中磁盘设备190传输到中央处理单元(CPU)110的路线的示图。
参照图1,系统包括CPU 110、高速缓冲存储器120、存储器总线130、直接存储器存取(DMA)控制器140、存储器控制器150、存储器件160、外部设备互连(PCI)总线170、磁盘控制器180和磁盘设备190。
作为控制整个系统的设备,CPU 110控制并调整从各种输入设备(图1中未示出)接收并处理数据然后将数据处理结果输出至输出设备的一系列过程。必要时,CPU 110可以将数据储存在存储器件160或磁盘设备190中,或使用储存在存储器件160或磁盘设备190中的数据。
作为装有从主储存设备(即图1中的存储器件160)读出的指令和程序的缓冲器类型的高速存储器件的高速缓冲存储120,设置在存储器件160和CPU 110之间。
当通过CPU 110执行程序时,存储器件160充当系统的主储存设备,程序或数据可以从辅助储存设备移动至系统的主储存设备来执行。存在两种类型的存储器,其中一种是即使在电源关断时仍保留所储存的数据的只读存储器(ROM),另一种是当电源关断时其中所有数据被擦除的易失性存储器类型的随机存取存储器(RAM)。RAM被分为SRAM(静态RAM)和DRAM(动态RAM)。SRAM当对其供电时保留所储存的数据,而DRAM即使供电时也仅在执行刷新操作时才保留所储存的数据。DRAM主要用于大容量储存设备。
作为在CPU 110外部储存程序或数据的存储器件,磁盘设备190比主储存设备慢,但是可以永久地储存大量数据。一般而言,作为辅助储存设备,有使用磁特性的储存设备(诸如磁带和磁盘),使用光特性的储存设备(诸如光盘),或者使用这两种特性的储存设备(诸如光磁盘)。主要用于个人电脑中的软盘、硬盘、CD-ROM等可以用作辅助储存设备。
在下文中,参照图2,将描述储存在磁盘设备190中的数据被CPU 110调用的情况下,在常规系统中从磁盘设备190向CPU 110传输数据的过程。
当CPU 110调用储存在磁盘设备190中的数据时,磁盘设备190的数据首先通过磁盘控制器180经由PCI总线170而被传输至DMA控制器140(①)。接着,从磁盘设备190传输的数据通过DMA控制器140经由存储器总线130被传输至存储器控制器150,然后传输的数据在存储器控制器150的控制下被储存在存储器件160中(②)。储存在存储器件160中的数据在存储器控制器150的控制下被传输至CPU 110(③)。
图3是图2的数据传输过程的流程图。
参照图3,可以涉及各种处理步骤,诸如数据请求步骤(S310)、DMA控制器请求步骤(S320)、总线请求步骤(S330)、总线授权步骤(S340)、磁盘设备至存储器件的传输步骤(S350)、完成信号产生步骤(S360)和存储器件至CPU的传输步骤(S370),以便调用储存在磁盘设备190中的数据。
数据请求步骤(S310)可以表示CPU 110将数据调用指令传输至磁盘控制器180的步骤。DMA控制器请求步骤(S320)可以表示磁盘控制器180响应于数据调用指令来调用DMA控制器140的步骤。总线请求步骤(S330)可以表示DMA控制器140向CPU 110请求授权使用PCI总线170和存储器总线130的步骤。总线授权步骤(S340)可以表示CPU 110授权DMA控制器140使用PCI总线170和存储器总线130的请求的步骤。磁盘设备至存储器件的传输步骤(S350)可以表示DMA控制器140在接收到PCI总线170和存储器总线130的使用授权后控制数据传输使得储存在磁盘设备190中的数据经由PCI总线170和存储器总线130被传输至存储器件160的步骤。
完成信号产生步骤(S360)可以表示DMA控制器140通知CPU 110储存在磁盘设备190中并通过CPU 110请求的所有数据被传输至存储器件160的步骤。存储器件至CPU的传输步骤(S370)可以表示储存在存储器件160中的数据通过存储器控制器150经由存储器总线130被传输至CPU 110的步骤。
参照图2和图3,在常规系统中CPU 110调用储存在磁盘设备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的中继)而在CPU 410和主储存设备460之间传输数据。存储器总线430可以是在CPU 410与耦接至存储器端口PORT1_1和PORT1_2的主储存设备和辅助储存设备之间传输数据的高速信道。可以采用任何适合的高速信道。
当CPU 410调用外围设备490_1和490_2的数据时,总线控制器440可以控制将从外围设备490_1和490_2输出的数据传输至主储存设备460的操作。总线控制器440可以执行由CPU 410发出的总线请求,并将从外围设备490_1和490_2输出的数据通过I/O总线480和存储器总线430传输至主储存设备460。存储器控制器450可以根据来自CPU410或总线控制器440的请求来控制主储存设备460和/或辅助储存设备470的操作。主储存设备460或辅助储存设备470的操作可以包括例如写入操作或读取操作。
主储存设备460可以是这样的储存单元,当通过CPU 410执行程序和/或数据时,来自辅助储存设备的程序和/或数据可以被传输至该储存单元并在其中执行。主储存设备460可以是即使当电源关断时储存的数据仍保留的ROM,或者可以是当电源关断时所有储存的数据丢失的易失性存储器类型的RAM。图4的主储存设备可以是双列直插式存储器模块(DIMM)。
作为在CPU 410外部储存程序或数据的储存单元,即使其数据处理速度很慢,辅助储存设备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中的数据传输至CPU 410的过程。
图5是图示在图4的系统中从辅助储存设备470到CPU 410的数据传输路径的框图。
参照图5,当CPU 410调用辅助储存设备470的数据时,用于调用辅助储存设备470的数据的指令被传输至存储器控制器450,并且在存储器控制器450的控制下,辅助储存设备470的数据被传输至主储存设备460并储存在其中(①)。在数据从辅助储存设备470传输至主储存设备之前,在主储存设备460中分配储存空间,用于接收待从辅助储存设备470传输的数据。
当遵照来自CPU 410的请求将辅助储存设备470的数据传输至主储存设备460的操作完成时,然后存储器控制器450可以向CPU 410传输表明数据传输完成的完成信号COMPLETE(参见图6)。当CPU接收到完成信号时,然后CPU 410可以通过访问主储存设备460来接收并使用被请求的数据(②)。
因此,当辅助储存设备470的数据遵照来自CPU 410的请求被传输至主储存设备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可以是当CPU 410直接访问主储存设备460时用于传输所请求的指令和地址的路径。第二路径PATH2可以是当CPU 410访问辅助储存设备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从CPU 410输入时,传输控制单元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的系统中的CPU 410调用时,图6的存储器控制器450中的数据传输路径的框图。
参照图7,当辅助储存设备470的数据被CPU 410调用时,控制与该调用相对应的操作的指令通过第二路径PATH2被输入至第二指令输入单元620。传输控制单元660可以响应于输入至第二指令输入单元620的指令来执行控制,使得辅助储存设备470的数据被传输至主储存设备460。首先,传输控制单元660可以产生用于读出位于辅助储存设备470的预定位置中的数据的读取指令和地址,并将其输出至指令排列单元650。接着,传输控制单元660可以产生用于将来自辅助储存设备470的读出数据写入至主储存设备460的预定位置的写入指令和地址,并将其输出至指令排列单元650。响应于连续的读取和写入指令,数据可以从辅助储存设备470读出并且读出的数据可以经由第二数据缓冲器640和第一数据缓冲器630以这种顺序写入主储存设备460(①)。
当通过CPU 410调用的所有数据一次就从辅助储存设备470传输至主储存设备460时,上述操作可以仅执行一次。然而,当所有调用的数据经N次从辅助储存设备470传输至主储存设备460时,上述数据传输操作可以在传输控制单元660的控制下重复N次。当从辅助储存设备470到主储存设备460的数据传输操作完成时,传输控制单元660可以激活完成信号COMPLETE。
CPU 410可以通过从存储器控制器450发送的完成信号COMPLETE检测到数据已经从辅助储存设备470传送到主储存设备460。在完成信号COMPLETE激活后,然后CPU 410可以访问主储存设备460,并调用从辅助储存设备470传输至主储存设备460并且现在储存在其中的数据(②)。
图8是图示操作根据本发明的实施例的系统的方法的流程图。
参照图8,操作系统的方法可以包括数据请求步骤(S810)、控制器请求步骤(S820)、辅助储存设备至主储存设备的传输步骤(S830)、完成信号产生步骤(S840)和主储存设备至CPU的传输步骤(S850)。
数据请求步骤(S810)可以表示CPU 410将数据调用指令传输至存储器控制器450的步骤。控制器请求步骤(S820)可以表示存储器控制器450响应于数据调用指令来请求传输控制单元660的数据传输的步骤。辅助储存设备至主储存设备的传输步骤(S830)可以表示在传输控制单元660的控制下辅助储存设备470的数据被传输至主储存设备460的步骤。
完成信号产生步骤(S840)可以表示传输控制单元660通知CPU 410通过CPU 410请求的辅助储存设备470的数据被传输至主储存设备460的步骤。主储存设备至CPU的传输步骤(S850)可以表示主储存设备460的数据通过存储器控制器450经由存储器总线430被传输至CPU 410的步骤。
参照图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的调用来快速且简单地传输数据。
虽然已经出于说明的目的描述了各种实施例,但是本领域技术人员将明显的是,在不脱离在所附权利要求中限定的本发明的精神和范围的情况下,可以做出各种改变和变型。
Claims (20)
1.一种系统,包括:
中央处理单元CPU;
主储存设备和辅助储存设备,耦接至多个存储器端口;
存储器总线,适用于耦接CPU和所述多个存储器端口;以及
存储器控制器,适用于当CPU调用储存在辅助储存设备中的数据时,控制所调用的数据从辅助储存设备传输到主储存设备,并储存在主储存设备中。
2.如权利要求1所述的系统,其中,当所调用的数据在主储存设备中的储存完成时,存储器控制器向CPU传输完成信号。
3.如权利要求1所述的系统,其中,CPU将控制主储存设备的第一指令通过第一路径传输至存储器控制器,以及将控制辅助储存设备的第二指令通过第二路径传输至存储器控制器。
4.如权利要求3所述的系统,
其中,存储器控制器响应于通过第一路径传输的第一指令而将数据储存在主储存设备中或者将储存在主储存设备中的数据输出,以及
其中,存储器控制器响应于通过第二路径传输的第二指令而将储存在辅助储存设备中的数据传输至主储存设备并储存在主储存设备中,或者将储存在主储存设备中的数据传输至辅助储存设备并储存在辅助储存设备中。
5.如权利要求3所述的系统,其中,存储器控制器包括:
第一指令输入单元,适用于接收通过第一路径传输的第一指令;
第二指令输入单元,适用于接收通过第二路径传输的第二指令;
指令排列单元,适用于排列并输出被输入至第一指令输入单元的第一指令和被输入至第二指令输入单元的第二指令;
数据传输控制单元,适用于控制在主储存设备和辅助储存设备之间的数据传输;
第一数据缓冲器,适用于缓冲被输入至主储存设备的数据或从主储存设备输出的数据;以及
第二数据缓冲器,适用于缓冲被输入至辅助储存设备的数据或从辅助储存设备输出的数据。
6.如权利要求5所述的系统,其中,当从辅助储存设备输出的数据被传输至主储存设备时,从辅助储存设备输出的数据按顺序通过第二数据缓冲器和第一数据缓冲器被传输至主储存设备,以及,当从主储存设备输出的数据被传输至辅助储存设备时,从主储存设备输出的数据按顺序通过第一数据缓冲器和第二数据缓冲器被传输至辅助储存设备。
7.如权利要求3所述的系统,其中,存储器控制器还包括:
命令/地址生产单元,适用于响应于通过第一路径和第二路径传输的第一指令和第二指令而产生控制主储存设备和辅助储存设备的命令和地址。
8.如权利要求1所述的系统,其中,主储存设备包括易失性存储器,所述易失性存储器具有比辅助储存设备快的操作速度。
9.如权利要求8所述的系统,其中,主储存设备包括高速缓冲存储器和动态随机存取存储器DRAM中的一种或更多种。
10.如权利要求1所述的系统,其中,辅助储存设备包括非易失性存储器,所述非易失性存储器具有比主储存设备慢的操作速度。
11.如权利要求10所述的系统,其中,辅助储存设备包括储存信道存储器,所述储存信道存储器能够耦接至所述多个存储器端口。
12.如权利要求1所述的系统,还包括:
多个输入/输出I/O端口;
一个或多个外围设备,与所述多个I/O端口耦接;
I/O总线,与所述多个I/O端口耦接;以及
总线控制器,适用于控制在I/O总线和存储器总线之间的数据传输。
13.如权利要求11所述的系统,其中,I/O总线包括外围设备互连PCI总线和串行高级技术附件SATA总线中的一种或更多种。
14.一种用于操作系统的方法,所述系统包括中央处理单元CPU,以及耦接至多个存储器端口的主储存设备和辅助储存设备,所述方法包括:
通过CPU传输指令以调用储存在辅助储存设备中的数据;
响应于传输的指令,将辅助储存设备的所调用的数据传输至主储存设备并储存在主储存设备中;以及
当所调用的数据在主储存设备中的储存完成时,向CPU传输完成信号。
15.如权利要求14所述的方法,
其中,系统还包括存储器控制器,所述存储器控制器适用于控制主储存设备和辅助储存设备,以及
其中,CPU和主储存设备通过存储器总线通信。
16.如权利要求15所述的方法,其中,CPU将控制主储存设备的第一指令通过第一路径传输至存储器控制器,以及将控制辅助储存设备的第二指令通过第二路径传输至存储器控制器。
17.如权利要求16所述的方法,其中,将辅助储存设备的所调用的数据传输至主储存设备并储存在主储存设备中包括:
产生用于所调用的数据的读取命令;
响应于读取命令,从辅助储存设备读出所调用的数据;
将从辅助储存设备读出的数据传输至主储存设备;
产生用于被传输至主储存设备的数据的写入命令;以及
响应于写入命令,将被传输至主储存设备的数据写入主储存设备中。
18.如权利要求14所述的方法,其中,主储存设备包括易失性存储器,所述易失性存储器具有比辅助储存设备快的操作速度。
19.如权利要求14所述的方法,其中,辅助储存设备包括非易失性存储器,所述非易失性存储器具有比主储存设备慢的操作速度。
20.一种系统,包括:
主储存设备和辅助储存设备;以及
存储器控制器,经由多个存储器端口而耦接至主储存设备和辅助储存设备,并且适用于从主储存设备和辅助储存设备读取数据和向主储存设备和辅助储存设备写入数据,
其中,当储存在辅助储存设备中的数据被调用时,存储器控制器控制所调用的数据经由所述多个存储器端口从辅助储存设备传输至主储存设备,并储存在主储存设备中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2016-0012661 | 2016-02-02 | ||
KR1020160012661A KR102507219B1 (ko) | 2016-02-02 | 2016-02-02 | 시스템 및 시스템의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107025190A true CN107025190A (zh) | 2017-08-08 |
CN107025190B CN107025190B (zh) | 2021-04-13 |
Family
ID=59386753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610806426.5A Active CN107025190B (zh) | 2016-02-02 | 2016-09-06 | 系统及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10339080B2 (zh) |
KR (1) | KR102507219B1 (zh) |
CN (1) | CN107025190B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347359A (zh) * | 2018-04-04 | 2019-10-18 | 爱思开海力士有限公司 | 包括扩展存储卡的数据处理系统 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1162150A (zh) * | 1996-01-22 | 1997-10-15 | 株式会社东芝 | 数据保护电路 |
CN1447227A (zh) * | 2002-03-08 | 2003-10-08 | 三星电子株式会社 | 利用与非闪速存储器的引导系统及其方法 |
CN1473300A (zh) * | 2000-09-29 | 2004-02-04 | 智能网络存储接口系统和装置 | |
CN101404000A (zh) * | 2008-01-04 | 2009-04-08 | 深圳市江波龙电子有限公司 | 多存储卡逻辑合一的读写方法及装置 |
US20090132781A1 (en) * | 2003-09-18 | 2009-05-21 | Schnepper Randy L | Memory hub with integrated non-volatile memory |
CN101521039A (zh) * | 2008-02-29 | 2009-09-02 | 群联电子股份有限公司 | 数据储存系统、控制器及方法 |
CN101918928A (zh) * | 2007-12-31 | 2010-12-15 | 桑迪士克3D有限责任公司 | 包括一次写入存储器器件和多次写入存储器器件的用于计算机的存储子系统及相关方法 |
CN102043730A (zh) * | 2009-10-14 | 2011-05-04 | 索尼公司 | 储存单元及存储系统 |
CN102200986A (zh) * | 2010-03-25 | 2011-09-28 | 日立乐金资料储存股份有限公司 | 存储装置和存储装置中的文件系统的生成方法 |
CN103946812A (zh) * | 2011-09-30 | 2014-07-23 | 英特尔公司 | 用于实现多级别存储器分级体系的设备和方法 |
JP2014182812A (ja) * | 2013-03-15 | 2014-09-29 | Seagate Technology Llc | データ記憶装置 |
CN105022589A (zh) * | 2014-04-29 | 2015-11-04 | 光宝科技股份有限公司 | 电子装置及其操作方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06103213A (ja) * | 1992-09-18 | 1994-04-15 | Hitachi Ltd | 入出力装置 |
KR100539251B1 (ko) * | 2004-03-08 | 2005-12-27 | 삼성전자주식회사 | 독출-변경-기입 기능을 가지는 메모리 컨트롤러 및 이를구비하는 soc |
US8028143B2 (en) * | 2004-08-27 | 2011-09-27 | Qualcomm Incorporated | Method and apparatus for transmitting memory pre-fetch commands on a bus |
US9098491B2 (en) | 2012-11-23 | 2015-08-04 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method and system for performing data transfer with a flash storage medium |
KR102107723B1 (ko) | 2012-12-03 | 2020-05-07 | 삼성전자주식회사 | 메모리 컨트롤러 및 메모리 컨트롤러의 동작 방법 |
WO2014203383A1 (ja) * | 2013-06-20 | 2014-12-24 | 株式会社日立製作所 | 異種メモリを混載したメモリモジュール、及びそれを搭載した情報処理装置 |
JP2016167215A (ja) * | 2015-03-10 | 2016-09-15 | 株式会社東芝 | メモリ装置 |
-
2016
- 2016-02-02 KR KR1020160012661A patent/KR102507219B1/ko active IP Right Grant
- 2016-06-21 US US15/188,347 patent/US10339080B2/en active Active
- 2016-09-06 CN CN201610806426.5A patent/CN107025190B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1162150A (zh) * | 1996-01-22 | 1997-10-15 | 株式会社东芝 | 数据保护电路 |
CN1473300A (zh) * | 2000-09-29 | 2004-02-04 | 智能网络存储接口系统和装置 | |
CN1447227A (zh) * | 2002-03-08 | 2003-10-08 | 三星电子株式会社 | 利用与非闪速存储器的引导系统及其方法 |
US20090132781A1 (en) * | 2003-09-18 | 2009-05-21 | Schnepper Randy L | Memory hub with integrated non-volatile memory |
CN101918928A (zh) * | 2007-12-31 | 2010-12-15 | 桑迪士克3D有限责任公司 | 包括一次写入存储器器件和多次写入存储器器件的用于计算机的存储子系统及相关方法 |
CN101404000A (zh) * | 2008-01-04 | 2009-04-08 | 深圳市江波龙电子有限公司 | 多存储卡逻辑合一的读写方法及装置 |
CN101521039A (zh) * | 2008-02-29 | 2009-09-02 | 群联电子股份有限公司 | 数据储存系统、控制器及方法 |
CN102043730A (zh) * | 2009-10-14 | 2011-05-04 | 索尼公司 | 储存单元及存储系统 |
CN102200986A (zh) * | 2010-03-25 | 2011-09-28 | 日立乐金资料储存股份有限公司 | 存储装置和存储装置中的文件系统的生成方法 |
CN103946812A (zh) * | 2011-09-30 | 2014-07-23 | 英特尔公司 | 用于实现多级别存储器分级体系的设备和方法 |
JP2014182812A (ja) * | 2013-03-15 | 2014-09-29 | Seagate Technology Llc | データ記憶装置 |
CN105022589A (zh) * | 2014-04-29 | 2015-11-04 | 光宝科技股份有限公司 | 电子装置及其操作方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347359A (zh) * | 2018-04-04 | 2019-10-18 | 爱思开海力士有限公司 | 包括扩展存储卡的数据处理系统 |
Also Published As
Publication number | Publication date |
---|---|
KR102507219B1 (ko) | 2023-03-09 |
KR20170091861A (ko) | 2017-08-10 |
US10339080B2 (en) | 2019-07-02 |
US20170220497A1 (en) | 2017-08-03 |
CN107025190B (zh) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4124491B2 (ja) | 異なるデータ転送速度での共用メモリへのアクセスを制御するパケット・ルーティング・スイッチ | |
US6119196A (en) | System having multiple arbitrating levels for arbitrating access to a shared memory by network ports operating at different data rates | |
JP2021168203A (ja) | 不揮発性メモリの複数区画の同時アクセスのための装置及び方法 | |
US7676639B2 (en) | Separate handling of read and write of read-modify-write | |
US8131940B2 (en) | Methods and apparatuses to support memory transactions using partial physical addresses | |
WO2016127552A1 (zh) | 一种直接内存存取dma控制器及数据传输的方法 | |
US10956347B2 (en) | Data transfer device, arithmetic processing device, and data transfer method | |
US6782463B2 (en) | Shared memory array | |
US10592465B2 (en) | Node controller direct socket group memory access | |
US9804903B2 (en) | Data processing apparatus for pipeline execution acceleration and method thereof | |
KR20050043303A (ko) | 다중 프로세서 환경에서의 dma를 이용한 고속 데이터전송 방법 및 그 장치 | |
CN107403642A (zh) | 有源随机存取存储器 | |
CN107025190A (zh) | 系统及其操作方法 | |
JP6602684B2 (ja) | 制御装置および制御方法 | |
US9965193B2 (en) | Apparatus, system, and method of sequencing, shadowing, and queuing operations in a non-volatile storage memory | |
JP2004086798A (ja) | マルチプロセッサシステム | |
US6829692B2 (en) | System and method for providing data to multi-function memory | |
US8677078B1 (en) | Systems and methods for accessing wide registers | |
JP2017211708A (ja) | 情報処理システム、情報処理装置及び制御回路 | |
JP2012078895A (ja) | 情報処理装置 | |
JP2022002164A (ja) | 非順次的ページ連続リード | |
US6839820B1 (en) | Method and system for controlling data access between at least two memory arrangements | |
CN115114215A (zh) | 高速外围组件互连接口装置及其操作方法 | |
JPS6252342B2 (zh) | ||
KR20050046094A (ko) | 슬래이브 장치의 데이터 기입 레이턴시를 감소시키는 버스시스템 및 이에 대한 데이터 처리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |