专利名称:使用地址快取的序列传输接口的内存模块、序列传输控制器与控制方法
技术领域:
本发明是关于序列传输接口的内存模块、序列传输控制器与控制方法, 特别是关于使用地址快取的序列传输接口的内存模块、序列传输控制器与控 制方法。
背景技术:
目前广泛使用的序列传输接口(Serial Peripheral Interface, SPI)是使用固定 的字段长度来传输不同的控制命令(8bits)及24位地址。之后才能传递所需的 数据位,如图l所示。当芯片选择信号(CS)连续被使能且其地址是连续时,仍 然必须重复传送24位地址,造成传递效能的损失,且无法符合目前高速系统 的频宽需求。
一般有快取(cache)的系统,每一次芯片选择信号被使能存取的数据量为 其快取线(cache line)的长度,大部分是16字节(bytes) 64字节。而芯片选择 信号连续被使能时,其地址连续的机率大约有80%~90%。因此,若能减少传 送24位地址,则可提升数据存取速度。
发明内容
有鉴于上述问题,本发明的目的是提供一种使用地址快取的序列传输接 口的内存模块、序列传输控制器与控制方法。
为达成上述目的,本发明使用地址快取的序列传输接口的内存模块包含: 一闪存阵列; 一序列并行转换器,用来接收以序列方式传输的信号并产生控 制命令、地址以及存取数据; 一地址缓存器; 一地址累加器,是将地址缓存 器所暂存的地址累加后回存至地址缓存器;以及一闪存控制器,用来控制闪存阵列的数据存取。
其控制方法为,当序列并行转换器接收到的控制命令为一般命令时,序 列并行转换器会接收从系统芯片后续传来的地址,并储存到地址缓存器,之
后闪存控制器以地址缓存器所暂存的地址来存取闪存阵列的数据;而当序列 并行转换器接收到的控制命令为特殊命令时,此时闪存控制器直接以地址缓 存器所暂存的地址存取闪存阵列的数据而不需要等待地址更新。
此外,本发明使用地址快取的序列传输接口的序列传输控制器,包含 一地址缓存器,储存存取地址; 一数据缓存器,用以储存暂存数据; 一地址 累加器,是将地址缓存器所暂存的地址累加后回存至地址缓存器; 一地址比 较器; 一命令控制器,接收比较信号,输出控制命令信号; 一序列并行转换 器,用来输出以序列方式传输的信号;
图1所示为目前广泛使用的序列传输接口使用固定的字段长度来传输不 同的控制命令、地址位、以及数据位的示意图。
图2为本发明使用地址快取的序列传输接口的内存模块的架构图。
图3为本发明使用地址快取的序列传输接口的控制方法中系统芯片的步
图4为本发明使用地址快取的序列传输接口的控制方法中序列传输接口 的内存模块的步骤。
图5A显示本发明在相邻使能信号CS的地址不具有连续性时的时序图, 且是单一位传输数据。
图5B显示本发明在相邻使能信号CS的地址具有连续性时的时序图,且 是单一位传输数据。
图6A显示本发明在相邻使能信号CS的地址不具有连续性时的时序图,
且是双位传输数据,亦即每个频率周期传输两个位的数据。图6B显示本发明在相邻使能信号CS的地址具有连续性时的时序图,且 是双位传输数据,亦即每个频率周期传输两个位的数据。
具体实施例方式
以下参考图式及详细说明本发明使用地址快取的序列传输接口的内存模 块、序列传输控制器与控制方法。
图2为本发明使用地址快取的序列传输接口的内存模块的架构图。如该 图所示,使用地址快取的序列传输接口的内存系统包含一系统芯片100与一 闪存模块200。系统芯片100接收到内存数据的存取命令时,会对闪存模块 200进行数据存取。系统芯片100经由复数个输出入端口与闪存模块200连 接。输出入端口包含了系统参考频率SCK、芯片使能信号CE一B、以及复数个 数据信号DI、 DO等,其中该复数个数据信号是以序列方式传输信号。
系统芯片100包含了微控制器单元(MCU)llO与序列传输控制器120。该 序列传输控制器120具有序列并行转换器126、数据缓存器124、命令控制器 123、地址缓存器122、地址累加器125以及地址比较器121。
序列并行转换器126(包含串行接口编译码器与序列传输单元的功能)是 负责将要传送的命令、地址、与数据转成以l、 2或4位的序列方式传送和接 收。亦即,序列并行转换器126是进行并行/串行、串行/并行的数据型态转换, 不再重复说明。当然,该序列并行转换器126可以是单一位序列传输,也可 以是多重位序列传输,例如数据信号DI与DO均用来传输数据信号。
当微控制器单元(MCU)llO存取完该存取命令的数据时会将目前存取地 址透过地址累加器125累加,并储存于地址缓存器122。微控制器单元110输 出地址信号到地址比较器121,并存取数据缓存器124中相关的数据。当微控 制器单元110发出新的存取命令时,会先输出地址信号到地址比较器121。此 时,序列传输控制器120会先透过地址比较器121,比较目前存取地址与暂存 于地址缓存器122中的下一个存取地址是否相同。如果地址相同,表示相对
7应的数据具有连续性,地址比较器121会将一比较信号设定为第一位准,否 则设定为第二位准。命令控制器123会输出一控制命令信号给序列传输控制 器120。当命令控制器123侦测到比较信号为第一位准后,将控制命令设定为 特殊命令,让序列传输控制器120采用特殊的序列传输接口的通讯协议。而 当命令控制器123侦测到比较信号为第二位准后,将控制命令设定为一般命 令,让序列传输控制器120采用一般的序列传输接口的通讯协议。亦即,序 列传输控制器120透过命令控制器123送出特定的命令给序列并行转换器 126。序列并行转换器126利用特殊命令,例如0x4bH,去通知闪存模块200 采用之前最后存取的地址的下一个地址来存取数据。接着,透过序列并行转 换器126开始接收或传送数据。如果地址不具有连续性时,则釆用标准的序 列传输接口的通讯协议传送标准读取命令、地址及数据。
图5A显示本发明在相邻使能信号CS的地址不具有连续性时的时序图 (亦即控制命令为一般命令),而图5B显示本发明在相邻使能信号CS的地址 具有连续性时的时序图(亦即控制命令为特殊命令),且是单一位传输数据。 从图5B可以了解到,当相邻使能信号CS的地址具有连续性时,信号线DO 在频率信号CLK的第8个频率即开始传输数据。因此,在此使能信号CS的 使能期间,可以节省传输24位地址的时间。
图6A显示本发明在相邻使能信号CS的地址不具有连续性时的时序图 (亦即控制命令为一般命令),而图6B显示本发明在相邻使能信号CS的地址 具有连续性时的时序图(亦即控制命令为特殊命令),且是双位传输数据,亦 即每个频率周期传输两位的数据。从图6B可以了解到,当相邻使能信号CS 的地址具有连续性时,信号线DO在频率信号CLK的第8个频率即开始传输 数据。因此,在此使能信号CS的使能期间,可以节省传输24位地址的时间。 标准的序列传输接口的通讯协议是先送出8位命令与24位地址后,再存 取数据。而特殊的序列传输接口的通讯协议是送出8位特殊命令后,不需等 待任何地址信号,即可直接存取数据。因此,若是地址具有连续性,则本发
8明使用地址快取的序列传输接口的内存模块可以节省传送地址信号的时间。
另外,如图2所示,闪存模块200包含一序列并行转换器201、地址累加 器203、地址缓存器204、闪存控制器210、以及闪存阵列205。闪存控制器 210与闪存阵列205以地址及数据总线互相连接,可以是标准JEDEC工业界 面或其它不同闪存控制接口,其连接方式不再重复说明。
闪存控制器210包含命令缓存器213、地址缓存器212、以及数据缓存器 211。闪存控制器210的地址缓存器212会读取地址缓存器204所储存的地址 作为闪存阵列205的地址。而命令缓存器213会接收序列并行转换器201所 输出的控制命命。而闪存控制器210的数据缓存器211会暂存从闪存阵列205 或序列并行转换器201的数据,并传送给序列并行转换器201或闪存阵列205。
闪存模块200存取完该存取命令的资料后,会将目前所存取的地址透过 地址累加器203累加并储存在地址缓存器204。当序列并行转换器201接收到 一般命令,则会将后续接收的24位地址信号储存到地址缓存器204。而当序 列并行转换器201接收到特殊命令(例如0x4bH)后,会停止接收新的地址信 号,亦即不会更新地址缓存器204的数据。此时,闪存控制器210会直接使 用地址缓存器204中己储存的地址来存取数据,并透过序列并行转换器201 将数据传回系统芯片100。所以,当序列并行转换器201接收到的控制命令为 特殊命令后,会输出一存取控制信号,通知闪存模块200不需等待序列并行 转换器201接收地址信号,而直接使用地址缓存器204中已储存的地址来存 取数据,如此,将可节省序列并行转换器201接收地址信号的时间。
图3与图4为本发明使用地址快取的序列传输接口的控制方法,其中图3 为系统芯片的控制方法的步骤,而图4为序列传输接口的内存模块的控制方 法的步骤。本发明使用地址快取的序列传输接口的控制方法是包含下列步骤 步骤S302:送出新的存取命令。
步骤S304:检测地址是否有连续性。是由一系统芯片检测目前存取命令 要存取的序列传输接口的内存模块的地址与上一次存取命令的序列传输接口的内存模块的地址是否有连续性。当有连续性时,则跳至步骤306;当无连续 性时,则跳至步骤308。
步骤S306:当地址有连续性时,系统芯片经由复数条信号线送出控制命 令后,直接存取前述内存模块的数据,且该控制命令为特殊命令。
步骤S308:当地址无连续性时,系统芯片经由复数条信号线依序送出控 制命令与M位地址信号后,再存取前述内存模块的数据,且该控制命令为一 般命令。
步骤S310:当系统芯片存取完该控制命令的数据后,将最后存取数据的 地址储存至一第二地址缓存器,藉以在检测地址是否有连续性的步骤中,从 该第二地址缓存器读取上一次所存取的序列传输接口的内存模块的地址。
步骤S320:接收控制命令。是由序列传输接口的内存模块接收系统芯片 所送出的控制命令。
步骤S322:判断控制命令是否为特殊命令。当所接收到的控制命令为特 殊命令,则跳至步骤S326;当所接收到的控制命令为一般命令,则跳至步骤 S324。
步骤S324:更新地址缓存器。该序列传输接口的内存模块接收系统芯片 所传输的地址信号,并写入一第一地址缓存器。
步骤S326:存取资料。该序列传输接口的内存模块根据第一地址缓存器 所暂存的地址,进而存取闪存阵列的数据。
步骤S328:该序列传输接口的内存模块存取完该控制命令的数据后,将 前述第一地址缓存器的地址累加后回存至前述第一地址缓存器。
由于本发明使用地址快取及多数据位输出的序列传输接口与方法在地址 具有连续性时,系统芯片可以不需传输地址信号至内存模块,进而提高系统 芯片对于内存模块的数据存取速度。本发明以上所述虽以实施例说明本发 明,但并不因此限定本发明的范围,只要不脱离本发明的要旨,该行业者可 进行各种变形或变更。
权利要求
1. 一种使用地址快取的序列传输接口的内存模块,其特征在于,该内存模块包括一序列并行转换器,是接收一系统芯片的一参考频率信号、一芯片使能信号以及经由复数条信号线以序列方式所传输的控制命令信号、地址信号、与数据信号,进而输出一控制命令、一地址总线信号以及一数据总线信号;一闪存阵列,是用来储存前述数据总线信号;一地址缓存器,是根据前述地址总线信号用以作为存取地址;一地址累加器,当该序列传输接口的内存模块存取完数据后,该地址累加器将前述地址缓存器所储存的该存取地址累加后,进而回存至前述地址缓存器;以及一闪存控制器,是接收前述控制命令、以及接收前述地址缓存器所储存的存取地址,用以对前述闪存阵列中的数据存取进行控制,该闪存控制器将前述闪存阵列中所读取的数据传输给该序列并行转换器或从该序列并行转换器所接收的数据储存至前述闪存阵列中;其中,当前述序列并行转换器接收到的该控制命令信号为一般命令后,前述序列并行转换器会将该控制命令信号后续的部分位信号做为存取地址储存到前述地址缓存器中,之后前述闪存控制器开始进行数据的存取;当前述序列并行转换器接收到的该控制命令信号为特殊命令后,前述闪存控制器开始存取数据。
2. 如权利要求1所述所记载的使用地址快取的序列传输接口的内存模块, 其特征在于前述序列并行转换器可利用单一位进行数据传输。
3. 如权利要求1所述所记载的使用地址快取的序列传输接口的内存模块, 其特征在于前述序列并行转换器可利用多重位进行数据传输。
4. 一种使用地址快取的序列传输接口的控制方法,该序列传输接口是由 一系统芯片利用复数条信号线以序列方式传输控制命令、M位地址以及复数 字节数据给一内存模块,该系统芯片在接收一存取命令后开始对内存模块进行存取动作,其特征在于,该控制方法是包含下列步骤检测存取地址是否有连续性,是由前述系统芯片检测该存取命令要存取 前述内存模块的存取地址与存取命令前一次所存取的前述内存模块的存取地 址是否有连续性,其中,当该存取地址无连续性时,前述系统芯片经由前述复数条信号线依序送出该控制命令与该M位地址后,再存取前述内存模块中的数据,且该控制命令为一般命令,当该存取地址有连续性时,前述系统芯 片经由前述复数条信号线送出该控制命令后,进而直接存取前述内存模块的数据,且该控制命令为特殊命令;前述内存模块接收前述系统芯片所送出的前述控制命令,其特征在于, 当前述内存模块所接收到的前述控制命令为前述一般命令时,该内存模块将后续接收该M位地址储存于一第一地址缓存器,进而更新前述存取地址,再根据该第一地址缓存器所储存的该存取地址去接收或传送数据给前述系统心片;当前述内存模块所接收到的前述控制命令为前述特殊命令时,则该内存 模块直接根据前述第一地址缓存器所储存的该存取地址去接收或传送数据给 前述系统芯片;以及该序列传输接口的内存模块存取完该存取命令的数据后,将最后所存取 的该存取地址累加后回存至前述第一地址缓存器。
5.如权利要求4所述所记载的使用地址快取的序列传输接口的控制方法, 其特征在于前述系统芯片存取完该存取命令的数据后,将最后所存取的该存 取地址储存至一第二地址缓存器,藉以在前述检测该存取地址是否具有连续 性时,以该第二地址缓存器记录上一次存取的序列传输接口的内存的地址。
6. —种使用地址快取的序列传输接口的序列传输控制器,是以复数条信 号线以序列方式输出控制命令信号、M位地址信号以及复数字节数据信号给 一内存模块,该序列传输控制器是配置于一系统芯片中,且该系统芯片在接 收一存取命令后开始对内存模块进行存取动作,其特征在于,该序列传输控制器包含一地址缓存器,是储存存取地址; 一数据缓存器,是用以储存暂存数据;一地址累加器,当该序列传输控制器存取完该存取命令所欲存取的数据 后,该地址累加器将前述地址缓存器所储存的存取地址进行累加后,存回至 前述地址缓存器;一地址比较器,是比较前述地址缓存器中所储存的存取地址与该序列传 输控制器的存取命令目前所要存取的存取地址是否相同,进而产生一比较信 号与一地址信号,其中,当该存取地址相同时,该比较信号为第一位准,否 则该比较信号为第二位准;一命令控制器,是接收前述比较信号,进而输出一控制命令信号,其中 当该比较信号为第一位准时,该控制命令信号为特殊命令,而当该比较信号 为第二位准时,该控制命令信号为一般命令;以及一序列并行转换器,是根据前述控制命令信号输出一参考频率与一芯片 使能信号,并将前述控制命令信号与前述地址比较器所输出的该地址信号转 换成序列信号后输出,并将前述数据缓存器中暂存的数据转换成序列信号输 出,或接收前述内存模块的序列信号后储存至前述数据缓存器中;其中,当前述比较信号为第一位准时,前述序列并行转换器会在输出前 述控制命令信号后,即开始接收或传送该数据信号;而当前述比较信号为第 二位准时,前述序列并行转换器会在输出前述控制命令信号后,接着输出前 述M位地址信号,才开始接收或传送该数据信号。
全文摘要
一种使用地址快取的序列传输接口的内存模块、序列传输控制器与控制方法,该内存模块包含一闪存阵列;一序列并行转换器,用来接收以序列方式传输的信号并产生控制命令、地址以及存取数据;一地址缓存器;一地址累加器,将地址缓存器所暂存的地址累加后回存至地址缓存器;以及一闪存控制器,用来控制闪存阵列的数据存取。该控制方法即,当序列并行转换器接收到的控制命令为一般命令时,序列并行转换器会接收从系统芯片后续传来的地址,并储存到地址缓存器,之后闪存控制器以地址缓存器所暂存的地址来存取闪存阵列的数据;而当序列并行转换器接收到的控制命令为特殊命令时,此时闪存控制器直接以地址缓存器所暂存的地址存取闪存阵列的数据而不需要等待地址更新。
文档编号G06F13/40GK101458673SQ200710196838
公开日2009年6月17日 申请日期2007年12月11日 优先权日2007年12月11日
发明者李育柱, 陈文宽 申请人:凌阳科技股份有限公司