CN106919343A - 周边接口电路与周边存储器系统 - Google Patents
周边接口电路与周边存储器系统 Download PDFInfo
- Publication number
- CN106919343A CN106919343A CN201610355494.4A CN201610355494A CN106919343A CN 106919343 A CN106919343 A CN 106919343A CN 201610355494 A CN201610355494 A CN 201610355494A CN 106919343 A CN106919343 A CN 106919343A
- Authority
- CN
- China
- Prior art keywords
- data
- perimeter
- interface
- buffer
- controller
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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
-
- 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/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- 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/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- 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/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Bus Control (AREA)
Abstract
本发明提供一种周边接口电路与周边存储器系统。所述周边接口电路包括接口排序器、输入/输出控制器、暂存器单元与数据缓冲器。接口排序器通过周边接口电性连接周边存储器。输入/输出控制器通过一或多个总线接口电性连接总线主控制器。接口排序器从所述输入/输出控制器接收多个请求且回应于所述请求以存取所述周边存储器。输入/输出控制器从总线主控制器接收暂存器存取请求,并且存取所述暂存器单元以回应所述暂存器存取请求。本发明技术方案可提升执行数据存取的效率与存取目标数据的速度。
Description
技术领域
本发明是有关于一种接口电路,且特别是有关于一种用以存取周边存储器的周边接口电路及周边存储器系统。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对存储介质的需求也急速增加。由于可复写式非挥发性存储器(rewritable non-volatilememory)具有数据非挥发性、省电、体积小、无机械结构、读写速度快等特性,最适于便携式电子产品,例如笔记本电脑。U盘就是一种以快速存储器作为存储介质的便携式存储装置。因此,近年快速存储器产业成为电子产业中相当热门的一环,并且快速存储器也被大量应用于周边存储器的使用。
一般而言,主机端会通过周边接口电路使用合适的周边接口标准来通过对应的周边接口以连接周边存储器以存取数据。此外,为了加速存取数据的速度,周边接口电路通常具有先进先出(first-in first-out,FIFO)缓冲器,以存储预先撷取(pre-fetched)数据,并且具有较周边存储器快的存取速度。然而,若所存取数据的地址是不连续的,部分的预先撷取数据,即使在短时间之内就会被存取,也必须从先进先出缓冲器中移除。因此,整个数据存取速度会降低。此外,周边接口电路会被用来辨识所连接的周边存储器。如此一来,在周边接口电路被实作后,周边接口电路可能无法辨识新的周边存储器。
发明内容
本发明提供一种基于所存储在缓冲数据而采用不同存取方式的周边接口电路、一种弹性地识别所连接的周边存储器在种类的方法,以及一种具有所述周边接口电路的周边存储器系统。
本发明的一实施例提供一种周边接口电路。所述周边接口电路包括接口排序器、输入/输出控制器、暂存器单元与数据缓冲器。接口排序器通过周边接口电性连接周边存储器。输入/输出控制器通过一或多个总线接口电性连接总线主控制器。接口排序器从所述输入/输出控制器接收多个请求且回应于所述请求以存取所述周边存储器。输入/输出控制器从总线主控制器接收暂存器存取请求,并且存取所述暂存器单元以回应所述暂存器存取请求。当从所述总线主控制器接收数据存取请求时,所述输入/输出控制器判断所述数据存取请求的目标数据是否存在于所述数据缓冲器中。所述数据缓冲器是通过地址来随机地被存取。所述暂存器单元控制所述周边接口电路的行为或反映所述周边接口电路的状态,并且所述数据缓冲器保留所述周边存储器的一部分或多个部份的复本。
根据本发明的一实施例,所述暂存器单元中的一个暂存器作为指令暂存器,并且当所述指令暂存器被存取时,所述输入/输出控制器传送接口请求至所述接口排序器。
根据本发明的一实施例,所述暂存器单元中的一或多个暂存器被映射至所述数据缓冲器,并且存取所述暂存器实际上是存取所述数据缓冲器。
根据本发明的一实施例,所述数据缓冲器包括一或多组的有效位元、标签与数据串。所述有效位元用以指示对应的数据串是否有效。所述标签用以记录对应的数据串的部份地址。所述数据串用以记录一或多个所述周边存储器的连续地址的数据。
根据本发明的一实施例,所述数据缓冲器被实施为一指令快取。
根据本发明的一实施例,所述输入/输出控制器进一步从所述总线主控制器接收数据写入请求。
根据本发明的一实施例,所述数据缓冲器被实施为一数据快取。
本发明的一实施例提供一种周边存储器系统。所述周边存储器系统包括周边接口电路、总线主控制器与周边存储器。所述周边接口电路包括接口排序器、输入/输出控制器、暂存器单元与数据缓冲器。总线主控制器通过一或多个总线接口电性连接所述周边接口电路。周边存储器通过周边接口电性连接所述周边接口电路。接口排序器从所述输入/输出控制器接收多个请求且回应于所述请求以存取所述周边存储器。所述数据缓冲器是通过地址来随机地被存取。当从所述总线主控制器接收数据存取请求时,所述输入/输出控制器判断所述数据存取请求的目标数据是否存在于所述数据缓冲器中。所述暂存器单元包括多个暂存器,并且所述暂存器单元控制所述周边接口电路的行为或反映所述周边接口电路的状态。所述数据缓冲器保留所述周边存储器的一部分或多个部份的复本,所述总线主控制器发起多个请求至所述周边接口电路,并且所述周边存储器会存储数据且接收来自周边接口电路的指令。
根据本发明的一实施例,所述暂存器单元中的一个暂存器作为指令暂存器,并且当所述指令暂存器被存取时,所述输入/输出控制器传送接口请求至所述接口排序器。
根据本发明的一实施例,所述暂存器单元中的一或多个暂存器被映射至所述数据缓冲器,并且存取所述暂存器实际上是存取所述数据缓冲器。
根据本发明的一实施例,所述总线主控制器发起多个请求以从所述周边存储器接收一辨识码。所述总线主控制器根据所述辨识码判断所述周边存储器的类型,并且请求所述接口排序器操作于合适的传输模式。
基于上述,本发明的周边接口电路具有存储一或多个部份的周边存储器的复本的数据缓冲器。当所述周边接口电路接收数据存取请求时,所述周边接口电路先行检查目标数据是否存在于数据缓冲器中。若所述数据存取请求的所述目标数据存在于所述数据缓冲器中,所述周边接口电路从所述数据缓冲器回传数据,作为所述数据存取请求的回应,进而增进数据存取速度。若所述数据存取请求的所述目标数据不存在于所述数据缓冲器中,所述周边接口电路存取所述周边存储器并且至少保留所述目标数据的复本在所述数据缓冲器中。如此一来,可提升执行数据存取的效率与存取目标数据的速度。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据本发明的一实施例所示出的周边接口电路的方块图;
图2是根据本发明的一实施例所示出的周边接口电路的操作流程图;
图3是根据本发明的一实施例所示出的周边存储器系统的方块图;
图4是根据本发明的一实施例所示出的数据缓冲器的方块图;
图5是根据本发明的一实施例所示出的周边存储器系统的操作的方块图;
图6是根据本发明的一实施例所示出的数据缓冲器的方块图;
图7是根据本发明的一实施例所示出的周边存储器系统的方块图;
图8是根据本发明的一实施例所示出的周边存储器系统的方块图。
附图标记说明:
10、11、12、13:周边存储器系统;
100:周边接口电路;
110:输入/输出控制器;
120:接口排序器;
130:暂存器单元;
140:数据缓冲器;
141、146:有效位元;
142、147:标签;
143、148:数据串;
144、145:缓冲器组;
200:总线主控制器;
300:周边存储器;
310:快速存储器;
320:电子可抹除可程序化只读存储器;
330:静态随机存取存储器;
400:总线接口;
410:先进周边总线;
420:先进可扩展接口总线;
430:本地存储器接口;
440:先进高性能总线;
500:周边接口;
510:串列周边接口;
520:内部积体电路接口;
S201、S203、S205、S207、S209、S211、S213:步骤;
S501、S503、S505、S507、S509、S511、S513、S514、S515、S516、S517、S519、S521、S523、S525、S527:操作。
具体实施方式
在本发明的一实施例中,周边接口电路包含数据缓冲器,所述数据缓冲器存储一或多个部分的周边存储器。当所述周边接口电路接收数据存取请求时,所述周边接口电路先检查目标数据是否存在于数据缓冲器中。若所述数据存取请求的所述目标数据存在于所述数据缓冲器中,所述周边接口电路从所述数据缓冲器回传数据,作为所述数据存取请求的回应,进而增进数据存取速度。若所述数据存取请求的所述目标数据不存在于所述数据缓冲器中,所述周边接口电路存取所述周边存储器并且至少保留所述目标数据的复本在所述数据缓冲器中。以下会配合图1与图2说明本发明的各个实施例。
图1是根据本发明的一实施例所示出的周边接口电路的方块图。图2是根据本发明的一实施例所示出的周边接口电路的操作流程图。请同时参考图1与图2,在本实施例中,周边接口电路100包括输入/输出控制器110、接口排序器120、暂存器单元130与数据缓冲器140。接口排序器120通过周边接口500电性连接至周边存储器300。输入/输出控制器110通过一或多个总线接口400电性连接至总线主控器200。数据缓冲器140是通过地址来随机地被存取。
在本范例实施例中,总线主控制器200为具备运算能力的硬件(例如芯片组、处理器等)。总线主控制器200例如是中央处理单元(Central ProcessingUnit,CPU)、微处理器(micro-processor)、或是其他可程序化在处理单元、数字信号处理器(Digital Signal Processor,DSP)、可程序化控制器、特殊应用积体电路(Application Specific Integrated Circuits,ASIC)、可程序化逻辑装置(Programmable Logic Device,PLD)或其他类似装置。此外,在另一实施例中,总线主控制器200也可以是直接存储器存取(Direct Memory Access,DMA)控制器,其也会通过周边接口电路100来对周边存储器300存取数据。
在本实施例中,总线接口400为相容于多种标准的总线接口,并且根据厂商的设计,周边接口电路100可通过1种或是多种总线接口400来与总线主控制器200连接。此些适用于总线接口400的标准包括先进周边总线(Advanced Peripheral Bus,APB)标准、先进高性能总线(AdvancedHigh-performance Bus,AHB)标准与先进可扩展接口(Advanced eXtensibleInterface,AXI)标准,或是本地存储器接口(Local Memory Interface,LMI)标准。然而,必须了解的是,本发明不限于此,总线接口400也可以是符合周边零件连接接口(Peripheral Component Interconnect,PCI)标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、序列先进附件(Serial Advanced Technology Attachment,SATA)标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。
在本实施例中,周边接口500为相容于多种标准的周边接口。根据周边存储器的类型,接口排序器120可通过对应的周边接口500来与周边存储器300连接。此些适用于周边接口500的标准包括内部积体电路(Inter-IntegratedCircuit,I2C)标准、串列周边接口(Serial Peripheral Interface,SPI)标准与超总线(Hyper Bus)标准。然而,必须了解的是,本发明实施例不限于此,周边接口500也可以是符合电气和电子工程师协会(Institute of Electrical andElectronic Engineers,IEEE)1394标准、通用序列总线(Universal Serial Bus,USB)标准或其他适合的标准。
周边存储器300用以存储数据。一般来说,周边存储器300用以存储数据的存储空间会大于配置在周边接口电路100的存储器空间。周边存储器300可以是任何型态的非挥发性存储器存储装置。例如,使用快速存储器(FlashMemory)或是其他类型的电子抹除式可复写只读存储器(Electrically-ErasableProgrammable Read-Only Memory,EEPROM)的存储装置。周边存储器300也可以是由挥发性存储器所构成的存储装置。例如,周边存储器300可以是静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
接口排序器120用以接收来自输入/输出控制器110的请求。在接收到数据存取的请求后,接口排序器120会根据接口排序器120与周边存储器300之间的周边接口500的标准与暂存器单元130所表示的参数来使用适当的序列以存取周边存储器300。
在本实施例中,输入/输出控制器110用以接收来自总线主控制器200的请求并且执行对应的操作(S201)。输入/输出控制器110会从总线主控制器200接收两种类型的请求:暂存器存取请求与数据存取请求。输入/输出控制器110会判断所接收的请求的类型(S203)。若所接收的请求是暂存器存取请求,输入/输出控制器110存取暂存器单元130中的目标暂存器(S205)。若所接收到的请求是数据存取请求,输入/输出控制器110先检查目标数据是否存在于数据缓冲器140中(S207)。若数据存取请求的目标数据存在于数据缓冲器140中,输入/输出控制器110存取数据缓冲器140(S209)。若数据存取请求的目标数据不存在于数据缓冲器140中,输入/输出控制器110便传送接口请求至接口排序器120以存取周边存储器300(S211),并且至少保留所述目标数据的复本在数据缓冲器140中(S213)。
因为数据缓冲器140的存取速度比起周边存储器300快上十或数百倍,可通过使用数据缓冲器140来有效地改善数据存取的速度。以下将会配合图式与实施例来详细说明本发明的实施例的概念。
图3是根据本发明的一实施例所示出的周边存储器系统的方块图。
请参照图3,在本实施例中,周边存储器系统10包括总线主控制器200、周边接口电路100与快速存储器310。周边接口电路100包括接口排序器120、输入/输出控制器110、暂存器单元130与数据缓冲器140。输入/输出控制器110可通过先进周边总线410与先进可扩展接口总线420电性连接至总线主控制器200。接口排序器120可通过串列周边接口510电性连接至快速存储器310。数据缓冲器140通过地址被随机地存取。
如上所述,接口排序器120用以接收来自输入/输出控制器110的请求,并且存取快速存储器310以回应所述请求。举例来说,从输入/输出控制器110接收到数据存取的请求后,接口排序器120会基于串列周边接口协定将所述请求转换为数据存取序列,以存取快速存储器310的数据。除了数据存取请求之外,来自输入/输出控制器110的请求可包括适用于快速存储器310的抹除操作。抹除操作用以指示快速存储器310回传部分或全部的存储器为初始状态,以让数据可以再被写入至快速存储器310中。
在本实施例中,输入/输出控制器110通过先进周边总线410来接收暂存器存取请求,以读取或写入暂存器单元130。所述暂存器单元可以控制接口排序器120的行为或是反映接口排序器120的状态。此外,暂存器单元130中的一个暂存器可作为指令暂存器,并且当指令暂存器被存取时,输入/输出控制器110可传送请求至接口排序器120。更进一步地,暂存器单元130中的一或多个暂存器可被映射至数据缓冲器140,进而总线主控制器200可通过传送暂存器存取请求来存取数据缓冲器140。
在本实施例中,输入/输出控制器110更用以通过先进可扩展接口总线420来接收数据存取请求。若数据存取请求被输入/输出控制器110所接收,输入/输出控制器110先行检查数据存取请求所指示的目标数据是否存在于数据缓冲器140中。若所述数据存取请求的所述目标数据存在于所述数据缓冲器140中,所述输入/输出控制器110便从所述数据缓冲器回传数据以回应所述数据存取请求。若所述数据存取请求的所述目标数据不存在于所述数据缓冲器140中,所述输入/输出控制器110便传送接口请求至接口排序器120以存取所述快速存储器310,并且至少保留所述目标数据的复本在所述数据缓冲器140中。
在本实施例中,通过先进可扩展接口总线420的每一数据存取请求是具有目标地址的简单存储器存取。每一个目标地址关联至快速存储器310的目标数据。若输入/输出控制器110接收到数据存取请求,输入/输出控制器110会传送具有目标地址的数据存取请求至接口排序器120来存取快速存储器310。
在本实施例中,请参照图3,总线主控制器200会在周边存储器系统11开电后对周边接口电路100进行初始化程序。在所述初始化程序中,总线主控制器200可设定暂存器单元130,借此,输入/输出控制器110可传送识别请求(例如,“Read ID”指令)至接口排序器120。输入/输出控制器110通过接口排序器120从快速存储器310接收识别码(Identification code,ID),作为识别请求的反应。所述识别码例如是对应快速存储器310的制造识别码(manufacturer ID)或是装置识别码(Device ID)。总线主控制器200根据所接收到的识别码来识别快速存储器310。接着,总线主控制器200会设定所述暂存器单元130,使接口排序器120可操作于适合的数据传输模式。举例来说,在本实施例中,总线主控制器200辨识快速存储器310支持四通道输入输出模式(Quad-I/O mode),总线主控制器200会设定暂存器单元130使接口排序器120可操作于四通道输入输出模式来存取快速存储器310。应注意的是,在上述的初始化程序中,接口排序器120会使用预设的数据传输模式(例如,单通道数据传输模式)来与周边存储器沟通。
有关使用于先进周边总线410与先进可扩展接口总线420的接口标准的细节为相关领域所知的技术,不赘述于此。在以下会通过多个实施例来说明图1与图3中的数据缓冲器140的细节。
图4是根据本发明的一实施例所示出的数据缓冲器的方块图。在本实施例中,数据缓冲器140包括有效位元141、标签142与数据串143。当周边存储器300被输入/输出控制器110所存取时,输入/输出控制器110会重置有效位元141为“0”,存储目标数据的复本于数据(0),并且纪录目标地址在标签142中。接着,输入/输出控制器110会预撷取(pre-fetch)周边存储器300中随后的地址,并且循序地存储预撷取后的数据(pre-fetched data)于数据(1)~数据(N)中。然后,设定有效位元141为“1”。在此,“N”为正整数,并且本发明不限定“N”的数值。
如上所述,标签142存储数据存取请求的目标地址。实际上,标签142可存储部分的目标地址,此操作取决于周边存储器300的大小以及一个数据存储单元的大小。假设周边存储器300的大小为2r位元组并且一个数据存储单元的大小为2s位元组,其中参数“r”与“s”为正整数。接着,标签142会仅存储目标地址中的位元(r-1)~位元s。举例来说,当所述周边存储器的大小为1M(即,220,r=20)位元组且一个数据存储单位的大小为4(即,22,s=2)位元组时,标签142会仅记录目标地址中的位元19(即,r-1=20-1=19)~位元2(即,s=2)。
在本实施例中,若输入/输出控制器110接收数据存取请求,输入/输出控制器110会通过目标地址、有效位元141、标签142、周边存储器300的大小与一个数据存储单元的大小来判断目标数据是否存在于数据缓冲器140中。假设目标数据的地址为“A”,标签142的内容为“T”,周边存储器300的大小为2r位元组,以及一个数据存储单元的大小为2s位元组。基此,数据缓冲器140的地址“F”会通过下方的公式(1)来构成。
F=A[r-1:s]-T (1)
接着,若所计算出的“F”介于“0”与“N”之间(即,0<=F<=N),则目标数据存在于数据缓冲器140中。举例来说,当“N”为7、有效位元为“1”、标签T的内容为0x18C63、周边存储器的大小为1M(即,220)位元组以及一个数据存储单元的大小为4(即,22)位元组时,通过公式(1),当地址A为0x63194时,目标数据存在于数据缓冲器中。因为参数F=A[20-1:2]-T=0x63194[19:2]–0x18C63=0x2,在0与7之间(即,0<=“0x2”<=7)。
图5是根据本发明的一实施例所示出的周边存储器系统的操作的方块图。换句话说,图5示出了操作于上述实施例所说明的存储器缓冲器140的周边存储器系统10。请参照图4与图5,假设周边接口电路100接收到目标地址为0x180的读取指令的数据存取请求(S501),接着,周边接口电路100传送包含地址0x180的读取指令至周边存储器300(S503)。然后,周边接口电路100从周边存储器300接收数据字节(S505),并且在从周边存储器300接收到数据字节后,周边接口电路100回传数据字节以回应数据存取请求(S507)。此数据字节也会纪录在数据缓冲器中的数据(0),并且图4中的标签142会对应地更新。接着,会从周边存储器300接收随后地址(即,0x184~0x19F)的七个数据字节,并且循序地将所接收的七个数据字节记录至数据缓冲器140中的数据(1)~数据(7)(S509)。然后,图4中的有效位元141会被设定为“1”,并且周边接口电路100会结束此指令(S511)。
接下来,周边接口电路100接收目标地址为0x18C与0x184的读取指令的两个数据存取请求(S513、S515)。由于目标地址0x18C与0x184皆位于随后的地址0x184~0x19F内,因此,对应的数据字节分别存在于数据缓冲器的数据(1)与数据(3)中,并且周边接口电路100会从数据缓冲器140回传所述数据位元,而不是通过存取周边存储器300(S514、S516)。若周边接口电路100接收目标地址为0x258的读取指令的数据存取请求(S517),周边接口电路100判定此目标数据并不存在于数据缓冲器中,并且传送包含地址0x258的读取指令至周边存储器300(S519)。后续的操作S521、S523、S525与S527和之前的操作S505、S507、S509与S511相似,不赘述于此。
图6是根据本发明的一实施例所示出的数据缓冲器的方块图。在本实施例中,数据缓冲器140包括两个缓冲器组144、145,其中缓冲器组144包括有效位元141、标签142与数据串143,并且缓冲器组145包括有效位元146、标签147与数据串148。每一个缓冲器组,其作用的方式与图4中的数据缓冲器140的前述实施例相同。两个缓冲器组提供了更多的缓冲空间,并且可以提供更佳的效能。本发明并不限定数据缓冲器140中的缓冲器组的数量。
在另一实施例中,若周边接口电路100被用以仅接收数据读取请求时,数据缓冲器140会被实施为指令快取。若周边接口电路100被用以接收数据读取请求与数据写入请求时,数据缓冲器140会被实施为数据快取。
应注意的是,本发明并不限于图3中的实施例。周边存储器电路100可通过其他类型的总线接口与周边接口来连接至总线主控制器200与周边存储器300。
图7是根据本发明的一实施例所示出的周边存储器系统的方块图。图8是根据本发明的另一实施例所示出的周边存储器系统的方块图。以下会仅说明图7、图8与图3之间的不同之处。图7、图8中的元件的细节与图3中的相同,不再赘述于此。
举例来说,请参照图7,输入/输出控制器110通过先进周边总线410与本地存储器接口(Local Memory Interface,LMI)430电性连接至总线主控制器200。输入/输出控制器110用以通过先进周边总线410接收暂存器存取请求,并且通过本地存储器接口430接收数据存取请求。接口排序器120通过内部积体电路接口520电性连接至电子可抹除可程序化只读存储器(EEPROM)320。
图8所示出的是另一实施例。请参照图8,输入/输出控制器110通过先进高性能总线440电性连接至总线主控制器200。输入/输出控制器110通过先进高性能总线440接收暂存器存取请求与数据存取请求。输入/输出控制器110可根据地址来分辨请求的类型。举例来说,地址在0x0与0x0FFF之间的请求会被视为暂存器存取请求,并且地址在0x100000与0x1FFFFF之间的请求会被视为数据存取请求。接口排序器120通过串列周边接口510电性连接至静态随机存取存储器330。
综上所述,本发明所提供的周边存储器系统与周边接口电路具有存储一或多个部份的周边存储器的复本的数据缓冲器。当所述周边接口电路接收数据存取请求时,所述周边接口电路先检查目标数据是否存在于数据缓冲器中。若所述数据存取请求的所述目标数据存在于所述数据缓冲器中,所述周边接口电路从所述数据缓冲器回传数据,回应所述数据存取请求,进而增进数据存取速度。若所述数据存取请求的所述目标数据不存在于所述数据缓冲器中,所述周边接口电路存取所述周边存储器并且至少保留所述目标数据的复本在所述数据缓冲器中。如此一来,可提升执行数据存取的效率与存取目标数据的速度。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (19)
1.一种周边接口电路,其特征在于,包括:
一接口排序器,通过一周边接口电性连接一周边存储器;
一输入/输出控制器,通过一或多个总线接口电性连接一总线主控制器;
一暂存器单元;以及
一数据缓冲器,
其中该接口排序器从该输入/输出控制器接收多个请求且回应于该些请求以存取该周边存储器,
当从该总线主控制器接收一数据存取请求时,该输入/输出控制器判断该数据存取请求的目标数据是否存在于该数据缓冲器中,
其中该数据缓冲器是通过地址来随机地被存取,
其中该暂存器单元控制该周边接口电路的行为或反映该周边接口电路的状态,并且该数据缓冲器保留该周边存储器的一部分或多个部份的复本。
2.根据权利要求1所述的周边接口电路,其特征在于,该暂存器单元包括多个暂存器。
3.根据权利要求2所述的周边接口电路,其特征在于,该暂存器单元的一暂存器作为指令暂存器,并且当该指令暂存器被存取时,该输入/输出控制器传送一接口请求至该接口排序器。
4.根据权利要求2所述的周边接口电路,其特征在于,该暂存器单元的一或多个暂存器被映射至该数据缓冲器,并且存取该些暂存器实为存取该数据缓冲器。
5.根据权利要求1所述的周边接口电路,其特征在于,若该数据存取请求的该目标数据存在于该数据缓冲器中,该输入/输出控制器从该数据缓冲器回传数据,作为该数据存取请求的回应;以及
若该数据存取请求的该目标数据不存在于该数据缓冲器中,该输入/输出控制器传送一接口请求至该接口排序器以存取该周边存储器并且至少保留该目标数据的复本在该数据缓冲器中。
6.根据权利要求1所述的周边接口电路,其特征在于,该数据缓冲器包括一或多组的:
一有效位元;
一标签;以及
一数据串,
其中该有效位元用以指示对应的数据串的数据是否有效,
该标签用以记录对应的数据串的部份地址,并且
该数据串用以记录一或多个该周边存储器的连续地址的数据。
7.根据权利要求1所述的周边接口电路,其特征在于,该输入/输出控制器所接收的数据存取请求只有读取请求,该数据缓冲器被实施为指令快取。
8.根据权利要求1所述的周边接口电路,其特征在于,该输入/输出控制器所接收的数据存取请求包含读取请求和写入请求。
9.根据权利要求8所述的周边接口电路,其特征在于,该数据缓冲器被实施为数据快取。
10.一种周边存储器系统,其特征在于,包括:
一周边接口电路,其包括:
一接口排序器;
一输入/输出控制器;
一暂存器单元;以及
一数据缓冲器;
一总线主控制器,通过一或多个总线接口电性连接该周边接口电路;以及
一周边存储器,通过一周边接口电性连接该周边接口电路,
其中该接口排序器从该输入/输出控制器接收多个请求且回应于该些请求以存取该周边存储器,其中该数据缓冲器是通过地址来随机地被存取,
当从该总线主控制器接收一数据存取请求时,该输入/输出控制器判断该数据存取请求的目标数据是否存在于该数据缓冲器中,
其中该暂存器单元控制该周边接口电路的行为或反映该周边接口电路的状态,并且该数据缓冲器保留该周边存储器的一部分或多个部份的复本。
11.根据权利要求10所述的周边存储器系统,其特征在于,该暂存器单元包括多个暂存器。
12.根据权利要求11所述的周边存储器系统,其特征在于,该暂存器单元的一暂存器作为指令暂存器,并且当该指令暂存器被存取时,该输入/输出控制器传送一接口请求至该接口排序器。
13.根据权利要求11所述的周边存储器系统,其特征在于,该暂存器单元的一或多个暂存器被映射至该数据缓冲器,并且存取该些暂存器实为存取该数据缓冲器。
14.根据权利要求10所述的周边存储器系统,其特征在于,若该数据存取请求的该目标数据存在于该数据缓冲器中,该输入/输出控制器从该数据缓冲器回传数据,作为该数据存取请求的回应;以及
若该数据存取请求的该目标数据不存在于该数据缓冲器中,该输入/输出控制器传送一接口请求至该接口排序器以存取该周边存储器并且保留至少该目标数据的复本在该数据缓冲器中。
15.根据权利要求10所述的周边存储器系统,其特征在于,该数据缓冲器包括一或多组的:
一有效位元;
一标签;以及
一数据串,
其中该有效位元用以指示对应的数据串的数据是有效的,
该标签用以记录对应的数据串的部份地址,并且
该数据串用以记录一或多个该周边存储器的连续地址的数据。
16.根据权利要求10所述的周边存储器系统,其特征在于,该输入/输出控制器所接收的数据存取请求只有读取请求,该数据缓冲器被实施为指令快取。
17.根据权利要求10所述的周边存储器系统,其特征在于,该输入/输出控制器所接收的数据存取请求包含读取请求和写入请求。
18.根据权利要求17所述的周边存储器系统,其特征在于,该数据缓冲器被实施为数据快取。
19.根据权利要求10所述的周边存储器系统,其特征在于,该总线主控制器发起一或多个请求以从该周边存储器接收辨识码,
其中该总线主控制器根据该辨识码判断该周边存储器的类型,并且请求该接口排序器操作于合适的传输模式。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/979,607 | 2015-12-28 | ||
US14/979,607 US9990311B2 (en) | 2015-12-28 | 2015-12-28 | Peripheral interface circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106919343A true CN106919343A (zh) | 2017-07-04 |
CN106919343B CN106919343B (zh) | 2020-03-31 |
Family
ID=59087920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610355494.4A Active CN106919343B (zh) | 2015-12-28 | 2016-05-26 | 周边接口电路与周边存储器系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9990311B2 (zh) |
CN (1) | CN106919343B (zh) |
TW (1) | TWI578163B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114647603A (zh) * | 2022-04-06 | 2022-06-21 | 星宸科技股份有限公司 | 数据传输控制装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6843508B2 (ja) * | 2016-03-01 | 2021-03-17 | キヤノン株式会社 | 情報処理装置及び情報処理装置の制御方法 |
US10559351B2 (en) * | 2017-02-20 | 2020-02-11 | Texas Instruments Incorporated | Methods and apparatus for reduced area control register circuit |
GB2612799A (en) * | 2021-11-11 | 2023-05-17 | Safran Seats Gb Ltd | Aircraft electrical system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080313397A1 (en) * | 2007-06-14 | 2008-12-18 | Freescale Semiconductor, Inc. | Optimization of storage device accesses in raid systems |
CN101552032A (zh) * | 2008-12-12 | 2009-10-07 | 深圳市晶凯电子技术有限公司 | 用较大容量dram参与闪存介质管理构建高速固态存储盘的方法及装置 |
CN102043730A (zh) * | 2009-10-14 | 2011-05-04 | 索尼公司 | 储存单元及存储系统 |
CN102103566A (zh) * | 2009-12-18 | 2011-06-22 | Nxp股份有限公司 | 闪存存储器接口 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8595415B2 (en) * | 2011-02-02 | 2013-11-26 | Micron Technology, Inc. | At least semi-autonomous modules in a memory system and methods |
US8626989B2 (en) * | 2011-02-02 | 2014-01-07 | Micron Technology, Inc. | Control arrangements and methods for accessing block oriented nonvolatile memory |
CN105103234A (zh) * | 2012-11-20 | 2015-11-25 | 查尔斯·I·派德尔 | 固态驱动器体系结构 |
US9164938B2 (en) * | 2013-01-02 | 2015-10-20 | Intel Corporation | Method to integrate ARM ecosystem IPs into PCI-based interconnect |
-
2015
- 2015-12-28 US US14/979,607 patent/US9990311B2/en active Active
-
2016
- 2016-04-08 TW TW105110982A patent/TWI578163B/zh active
- 2016-05-26 CN CN201610355494.4A patent/CN106919343B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080313397A1 (en) * | 2007-06-14 | 2008-12-18 | Freescale Semiconductor, Inc. | Optimization of storage device accesses in raid systems |
CN101552032A (zh) * | 2008-12-12 | 2009-10-07 | 深圳市晶凯电子技术有限公司 | 用较大容量dram参与闪存介质管理构建高速固态存储盘的方法及装置 |
CN102043730A (zh) * | 2009-10-14 | 2011-05-04 | 索尼公司 | 储存单元及存储系统 |
CN102103566A (zh) * | 2009-12-18 | 2011-06-22 | Nxp股份有限公司 | 闪存存储器接口 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114647603A (zh) * | 2022-04-06 | 2022-06-21 | 星宸科技股份有限公司 | 数据传输控制装置 |
CN114647603B (zh) * | 2022-04-06 | 2023-11-21 | 星宸科技股份有限公司 | 数据传输控制装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106919343B (zh) | 2020-03-31 |
US20170185541A1 (en) | 2017-06-29 |
US9990311B2 (en) | 2018-06-05 |
TW201810058A (zh) | 2018-03-16 |
TWI578163B (zh) | 2017-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9678666B2 (en) | Techniques to configure a solid state drive to operate in a storage mode or a memory mode | |
US7171526B2 (en) | Memory controller useable in a data processing system | |
CN108470007B (zh) | 借助非易失性大容量存储器系统提供高速缓冲存储器移动的设备和方法 | |
US20060206701A1 (en) | Booting From Non-Linear Memory | |
CN111459844B (zh) | 数据储存装置及用于存取逻辑至物理地址映射表的方法 | |
TWI790456B (zh) | 記憶體定址方法及相關聯的控制器 | |
TWI710905B (zh) | 資料儲存裝置及邏輯至物理位址映射表之載入方法 | |
CN106919343A (zh) | 周边接口电路与周边存储器系统 | |
US10866755B2 (en) | Two stage command buffers to overlap IOMMU map and second tier memory reads | |
US20220100425A1 (en) | Storage device, operating method of storage device, and operating method of computing device including storage device | |
CN111984559B (zh) | 用于数据传送的系统及存储器装置 | |
CN109992203A (zh) | 能够进行细粒度读取和/或写入操作的海量存储装置 | |
CN111813703A (zh) | 数据储存装置及逻辑至物理地址映射表的更新方法 | |
TWI626540B (zh) | 一般及垃圾回收的資料存取方法以及使用該方法的裝置 | |
TWI507883B (zh) | 記憶卡存取裝置、其控制方法與記憶卡存取系統 | |
US20150074334A1 (en) | Information processing device | |
TWI820951B (zh) | 藉助於預定命令來進行記憶體裝置的資料存取控制的方法及設備 | |
US10261714B2 (en) | Memory controller and memory system including same | |
US9244824B2 (en) | Memory sub-system and computing system including the same | |
US20180336147A1 (en) | Application processor including command controller and integrated circuit including the same | |
EP3974954A1 (en) | Storage device, operating method of storage device, and operating method of computing device including storage device | |
CN116150052A (zh) | 包括控制器的存储装置及其操作方法 | |
CN110879794A (zh) | 存储器管理方法以及存储控制器 |
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 |