CN104240756B - 控制装置及存取系统 - Google Patents

控制装置及存取系统 Download PDF

Info

Publication number
CN104240756B
CN104240756B CN201310743143.7A CN201310743143A CN104240756B CN 104240756 B CN104240756 B CN 104240756B CN 201310743143 A CN201310743143 A CN 201310743143A CN 104240756 B CN104240756 B CN 104240756B
Authority
CN
China
Prior art keywords
instruction set
memory
execution unit
control device
storage element
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.)
Active
Application number
CN201310743143.7A
Other languages
English (en)
Other versions
CN104240756A (zh
Inventor
钱昱玮
林峻苇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from TW102140822A external-priority patent/TWI534830B/zh
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Priority to KR1020157035180A priority Critical patent/KR101814894B1/ko
Priority to PCT/CN2014/079594 priority patent/WO2014201961A1/en
Publication of CN104240756A publication Critical patent/CN104240756A/zh
Application granted granted Critical
Publication of CN104240756B publication Critical patent/CN104240756B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • G06F9/3881Arrangements for communication of instructions and data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)

Abstract

本发明提供一种控制装置及存取系统,其中,该控制装置设置在一第一存储器以及一第二存储器之间,并包括一执行单元、一第一储存单元、一第二储存单元、一选择单元以及一处理单元。执行单元执行一特定指令集,用以存取第一及第二存储器。第一储存单元储存一第一指令集。第二储存单元储存一第二指令集。选择单元根据一控制信号,将第一及第二指令集的一者作为特定指令集提供予执行单元。处理单元根据执行单元的一执行状态,产生控制信号。

Description

控制装置及存取系统
技术领域
本发明有关于一种控制装置,特别是有关于一种在两存储器进行存取动作的控制装置。
背景技术
一般而言,储存媒体可分成挥发性存储器以及非挥发性存储器。当电源供应中断后,存储器所储存的数据便会消失的存储器称为挥发性存储器。相反地,当电源供应中断后,存储器所储存的数据并不会因而消失的存储器称为非挥发性存储器。
常见的非挥发性存储器包括,只读存储器(ROM)、可编程式只读存储器(PROM)、可擦可编程式只读存储器(EPROM)、可电擦可编程式只读存储器 (EEPROM)以及快闪存储器(Flash memory)。另外,常见的挥发性存储器包括,随机存存储器(RAM)、动态随机存存储器(DRAM)、静态随机存取存储器 (SRAM)。
发明内容
本发明提供一种控制装置,设置在一第一存储器以及一第二存储器之间,并包括一执行单元、一第一储存单元、一第二储存单元、一选择单元以及一处理单元。执行单元执行一特定指令集,用以存取第一及第二存储器。第一储存单元储存一第一指令集。第二储存单元储存一第二指令集。选择单元根据一控制信号,将第一及第二指令集的一者作为特定指令集提供予执行单元。处理单元根据执行单元的一执行状态,产生控制信号。
本发明另提供一种存取系统,其包括一第一存储器、一第二存储器以及一控制装置。控制装置设置在第一及第二存储器之间,并包括一执行单元、一第一储存单元、一第二储存单元、一选择单元以及一处理单元。执行单元执行一特定指令集,用以存取第一及第二存储器。第一储存单元储存一第一指令集。第二储存单元储存一第二指令集。选择单元根据一控制信号,将第一及第二指令集的一者作为特定指令集并提供予执行单元。处理单元根据执行单元的一执行状态,产生控制信号。
为让本发明的特征和优点能更明显易懂,下文特举出较佳实施例,并配合所附附图,作详细说明如下:
附图说明
图1为本发明的存取系统的一可能实施例。
图2为本发明的存取系统的另一可能实施例。
【附图标记说明】
100、200:存取系统;
110、120、210、220:存储器;
130、230:控制装置;
131、231:执行单元;
132、233、234:储存单元;
133、235:处理单元;
232:选择单元;
CMD、CMDS、CMD1~CMD4:指令集;
STRG:触发信号;
SC:控制信号。
具体实施方式
图1为本发明的存取系统的一可能实施例。如图所示,存取系统100包括存储器110、120以及控制装置130。控制装置130耦接于存储器110及120之间,用以负责存储器110与120之间的数据传输。在本实施例中,存储器110 具有多个存储单元。这些存储单元以阵列方式排列。
本发明不限定存储器110及120的种类。在一可能实施例中,存储器110 与120为相同或不同种类的存储器。在另一可能实施例中,控制装置130与存储器120整合成一记忆装置。因此,对控制装置130而言,存储器110可称为一外部存储器,而存储器120可称为一内部存储器。在其它实施例中,存储器 110可通过控制装置130存取存储器120。同样地,存储器120亦可通过控制装置130存取存储器110。
在本实施例中,控制装置130包括一执行单元131、一储存单元132以及一处理单元133。执行单元131执行储存单元132所储存的指令集CMD,用以存取存储器110及120。在一可能实施例中,储存单元132是由多个寄存器所组成,用以储存多个写入指令及多个读取指令。
在一可能实施例中,处理单元133为一中央处理器(CPU),其执行一软件,并根据执行结果将一相对应的指令集写入储存单元132之中。在另一可能实施例中,处理单元133发出一触发信号STRG,用以触发执行单元131,使得执行单元131开始执行指令集CMD。
在一些实施例中,当执行单元131读取储存单元132所储存的指令集CMD 时,处理单元133无法写入新的指令集至储存单元132中。因此,在完成指令集CMD后,执行单元131需等处理单元133将新的指令集写入储存单元132 后,才能执行新的指令集。因此,存取系统100具有较长的存取时间。为解决此问题,图2显示本发明的另一存取系统示意图。
在图2中,存取系统200包括存储器210、220及控制装置230。控制装置 230设置在存储器210与220之间,用以负责存储器210与220之间的数据传输。本发明并不限定存储器210与220的种类。在一可能实施例中,存储器210 与220为相同或不同种类的存储器。
举例而言,存储器210具有多个存储单元,这些存储单元是以阵列方式排列。在一些实施例中,存储器210为一NAND快闪存储器,如双倍数据率 (DDR)NAND快闪存储器。在其它实施例中,存储器220为一静态随机存取存储器(SRAM)。
在本实施例中,控制装置230包括一执行单元231、一选择单元232、储存单元233、234及处理单元235。执行单元231执行一特定指令集CMDS,用以存取存储器210与220。本发明并不限定执行单元231的电路架构。只要能够存取存储器的电路架构,均可作为执行单元231。
另外,当存储器210为一DDR架构的存储器时,则执行单元231需具有一DDR介面,用以存取存储器210。在其它实施例中,执行单元231更具有一直接存储器存取器(DMA),用以存取存储器220。
选择单元232根据一控制信号SC,将指令集CMD1及CMD2的一者作为特定指令集CMDS,并将特定指令集CMDS提供予执行单元231。本发明并不限定选择单元232的电路架构。只要能够选择性地输出信号的电路架构,均可作为选择单元232。在一可能实施例中,选择单元232为一多工器(Multiplexer; MUX)。
储存单元233及234分别储存指令集CMD1及CMD2。在本实施例中,储存单元233及234均是由多个寄存器所组成,用以储存多个读取指令及多个写入指令。本发明并不限定储存单元233及234的寄存器数量。在本实施例中,储存单元233及234具有相同数量的寄存器。在另一可能实施例中,储存单元 233及234具有不同数量的寄存器。
另外,为方便说明,指令集CMD1具有写入指令W1~W3及读取指令 R1~R4,指令集CMD2具有写入指令W4~W7及读取指令R5~R7,但并非用以限制本发明。在其它实施例中,指令集CMD1及CMD2可能具有其它数量的写入指令及读取指令。
处理单元235根据执行单元231的一执行状态,产生控制信号SC。选择单元232根据控制信号SC,将指令集CMD1或指令集CMD2提供予执行单元231。假设,选择单元232指令集CMD1提供予执行单元231。执行单元231依序执行指令集CMD1的写入指令W1~W3及读取指令R1~R4。
在执行单元231执行指令集CMD1的同时,处理单元235将指令集CMD2写入储存单元234之中。当执行单元231完成指令集CMD1后,处理单元235 发出控制信号SC,用以令选择单元232将指令集CMD2作为特定指令集CMDS提供予执行单元231。
在一可能实施例中,处理单元235发出一触发信号STRG,用以命令执行单元231执行CMD2。在执行单元231执行指令集CMD2的同时,处理单元235 将指令集CMD3写入储存单元233之中。如图所示,指令集CMD3具有写入指令W8~W12、读取指令R8~R11。当执行单元231完成指令集CMD2后,处理单元235发出控制信号SC,用以令选择单元232将指令集CMD3作为特定指令集CMDS,并令执行单元231执行指令集CMD3
在执行单元231执行指令集CMD3的同时,处理单元235将指令集CMD4写入储存单元233之中。如图所示,指令集CMD4具有写入指令W13~W15及读取指令R12~R14。当执行单元231完成指令集CMD3后,处理单元235发出控制信号SC,用以令选择单元232将指令集CMD4作为特定指令集CMDS。因此,执行单元231再次执行储存单元233所储存的新指令集CMD4
由于执行单元231可连续执行多个指令集,并且不需等待处理单元235将指令集写入储存单元233或234之中,故可大幅降低存取系统200的存取时间。另外,本发明并不限定储存单元的数量。在其它实施例中,储存单元的数量大于3。
除非另作定义,在此所有词汇(包含技术与科学词汇)均属本发明所属技术领域中具有通常知识者的一般理解。此外,除非明白表示,词汇于一般字典中的定义应解释为与其相关技术领域的文章中意义一致,而不应解释为理想状态或过分正式的语态。
虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,因此本发明的保护范围当视权利要求书所界定者为准。

Claims (17)

1.一种控制装置,设置在一第一存储器以及一第二存储器之间,并包括:
一执行单元,执行一特定指令集,用以存取该第一及第二存储器;
一第一储存单元,储存一第一指令集;
一第二储存单元,储存一第二指令集;
一选择单元,根据一控制信号,将该第一及第二指令集的一者作为该特定指令集;以及
一处理单元,根据该执行单元的一执行状态,产生该控制信号;
其中,当该第一指令集被作为该特定指令集并且该执行单元执行该特定指令集时,该处理单元将该第二指令集储存于该第二储存单元中;
其中,当该执行单元完成作为该特定指令集的第一指令集后,该处理单元发出该控制信号,用以令该选择单元将该第二指令集作为该特定指令集提供予该执行单元;
其中,该处理单元发出一触发信号,用以命令该执行单元执行作为该特定指令集的该第二指令集;
其中,该控制装置与该第一存储器整合成一记忆装置。
2.如权利要求1所述的控制装置,其特征在于,该处理单元将该第一及第二指令集分别储存于该第一及第二储存单元中。
3.如权利要求1所述的控制装置,其特征在于,该第一储存单元具有多个寄存器,用以储存多个指令,该多个指令构成该第一指令集。
4.如权利要求1所述的控制装置,其特征在于,该第一存储器为一NAND快闪存储器。
5.如权利要求4所述的控制装置,其特征在于,该第一存储器为一双倍数据率NAND快闪存储器。
6.如权利要求1所述的控制装置,其特征在于,该第二存储器为一静态随机存取存储器。
7.如权利要求1所述的控制装置,其特征在于,该选择单元为一多工器。
8.如权利要求1所述的控制装置,其特征在于,该执行单元具有一直接存储器存取器,用以存取该第二存储器。
9.一种存取系统,包括:
一第一存储器;
一第二存储器;以及
一控制装置,设置在该第一及第二存储器之间,并包括:
一执行单元,执行一特定指令集,用以存取该第一及第二存储器;
一第一储存单元,储存一第一指令集;
一第二储存单元,储存一第二指令集;
一选择单元,根据一控制信号,将该第一及第二指令集的一者作为该特定指令集;以及
一处理单元,根据该执行单元的一执行状态,产生该控制信号;
其中,当该第一指令集被作为该特定指令集并且该执行单元执行该特定指令集时,该处理单元将该第二指令集储存于该第二储存单元中;
其中,当该执行单元完成作为该特定指令集的第一指令集后,该处理单元发出该控制信号,用以令该选择单元将该第二指令集作为该特定指令集提供予该执行单元;
其中,该处理单元发出一触发信号,用以命令该执行单元执行作为该特定指令集的该第二指令集;
其中,该控制装置与该第一存储器整合成一记忆装置。
10.如权利要求9所述的存取系统,其特征在于,该控制装置与该第二存储器整合成一记忆装置。
11.如权利要求9所述的存取系统,其特征在于,该处理单元将该第一及第二指令集分别储存于该第一及第二储存单元中。
12.如权利要求9所述的存取系统,其特征在于,该第一储存单元具有多个寄存器,用以储存多个指令,该多个指令构成该第一指令集。
13.如权利要求9所述的存取系统,其特征在于,该第一存储器为一NAND快闪存储器。
14.如权利要求13所述的存取系统,其特征在于,该第一存储器为一双倍数据率NAND快闪存储器。
15.如权利要求9所述的存取系统,其特征在于,该第二存储器为一静态随机存取存储器。
16.如权利要求9所述的存取系统,其特征在于,该选择单元为一多工器。
17.如权利要求9所述的存取系统,其特征在于,该执行单元具有一直接存储器存取器,用以存取该第二存储器。
CN201310743143.7A 2013-06-20 2013-12-30 控制装置及存取系统 Active CN104240756B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020157035180A KR101814894B1 (ko) 2013-06-20 2014-06-10 제어 디바이스 및 그 제어 디바이스를 이용하는 액세스 시스템
PCT/CN2014/079594 WO2014201961A1 (en) 2013-06-20 2014-06-10 Control device and access system utilizing the same

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361837525P 2013-06-20 2013-06-20
US61/837,525 2013-06-20
TW102140822 2013-11-11
TW102140822A TWI534830B (zh) 2013-06-20 2013-11-11 控制裝置及存取系統

Publications (2)

Publication Number Publication Date
CN104240756A CN104240756A (zh) 2014-12-24
CN104240756B true CN104240756B (zh) 2018-08-21

Family

ID=52111963

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310743143.7A Active CN104240756B (zh) 2013-06-20 2013-12-30 控制装置及存取系统

Country Status (2)

Country Link
US (1) US9898302B2 (zh)
CN (1) CN104240756B (zh)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3289661B2 (ja) 1997-11-07 2002-06-10 日本電気株式会社 キャッシュメモリシステム
US6455651B1 (en) * 1999-04-23 2002-09-24 Kraton Polymers U.S. Llc Uniform initiation of anionic polymerization using organo-substituted alkali metal initiators
KR100383774B1 (ko) * 2000-01-26 2003-05-12 삼성전자주식회사 공통 인터페이스 방식의 메모리 장치들을 구비한 시스템
JP2006318139A (ja) * 2005-05-11 2006-11-24 Matsushita Electric Ind Co Ltd データ転送装置、データ転送方法およびプログラム
US20110264851A1 (en) * 2006-12-07 2011-10-27 Tae-Keun Jeon Memory system and data transmitting method thereof
US20080281999A1 (en) * 2007-05-07 2008-11-13 Mediatek Inc. Electronic system with direct memory access and method thereof
US8677054B1 (en) * 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8310880B2 (en) 2010-03-05 2012-11-13 248 Solid State, Inc. Virtual channel support in a nonvolatile memory controller
US8634241B2 (en) * 2010-12-13 2014-01-21 Aplus Flash Technology, Inc. Universal timing waveforms sets to improve random access read and write speed of memories
US8996782B2 (en) * 2012-03-23 2015-03-31 Kabushiki Kaisha Toshiba Memory system and bank interleaving method
US9170755B2 (en) * 2013-05-21 2015-10-27 Sandisk Technologies Inc. Command and data selection in storage controller systems

Also Published As

Publication number Publication date
US20140380026A1 (en) 2014-12-25
US9898302B2 (en) 2018-02-20
CN104240756A (zh) 2014-12-24

Similar Documents

Publication Publication Date Title
JP6869885B2 (ja) メモリの異なるメモリプレーンに同時にアクセスするための装置および方法
US20190339869A1 (en) Techniques to configure a solid state drive to operate in a storage mode or a memory mode
JP5787444B2 (ja) プログラム可能メモリコントローラ
US9727471B2 (en) Method and apparatus for stream buffer management instructions
TWI425512B (zh) 快閃記憶體控制電路及其儲存系統與資料傳輸方法
TWI770218B (zh) 記憶體系統及其操作方法
US20130279283A1 (en) Memory devices and memory controllers
US20040054864A1 (en) Memory controller
US9710191B1 (en) Rapid memory buffer write storage system and method
US20150254181A1 (en) Burst length defined page size
US20160179388A1 (en) Method and apparatus for providing programmable nvm interface using sequencers
MX2012005183A (es) Linea de espera de comandos para componente periferico.
JP2007109197A (ja) 半導体集積回路装置およびアドレス変換テーブルの生成方法
US10936234B2 (en) Data transfer between memory devices on shared bus
WO2006082154A3 (en) System and method for a memory with combined line and word access
US8397005B2 (en) Masked register write method and apparatus
JP2005182996A (ja) 同期式フラッシュメモリ装置及びその動作方法
CN110515872A (zh) 直接内存存取方法、装置、专用计算芯片及异构计算系统
CN104240756B (zh) 控制装置及存取系统
CN107247577B (zh) 一种配置soc ip核的方法、装置及系统
US10983936B2 (en) Programmable arbitrary sequence direct memory access controller for configuring multiple core independent peripherals
TWI534830B (zh) 控制裝置及存取系統
US20160140034A1 (en) Devices and methods for linked list array hardware implementation
TWI517166B (zh) 非揮發性記憶體裝置
JP2013200802A (ja) 半導体記憶装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant