存储器装置及其操作方法与流程

文档序号:18003830发布日期:2019-06-25 23:08阅读:155来源:国知局
存储器装置及其操作方法与流程

本发明是有关于一种存储器装置及其读取操作方法。



背景技术:

随着计算机时代的来临,计算机系统被广泛应用于各式各样的电子产品(例如个人计算机、手机等)。一般而言,计算机系统是由硬件与软件构成。存储器则是硬件的诸多组件中的重要组件之一。

存储器可用来存储数据,并在需要时进行读取。现有的存储器在读取一笔数据的过程中,若因某些原因而被迫中断(例如收到其他优先度高于读取的指令),会造成该次读取无效。已读取的部分数据会被舍弃。换言之,若存储器在读取操作被中断,就要花费额外的时间重新从头开始读取操作。

有鉴于上述问题,如何提出一种存储器装置及其读取操作方法,己然成为重要的课题之一。



技术实现要素:

为达上述目的,本发明实施例揭露一种存储器装置,包括一存储器阵列、一逻辑电路、一感测放大器电路及一读取缓冲器。逻辑电路用以响应于一读取指令及一初始地址,执行一读取操作。于读取操作时,逻辑电路依据初始地址于存储器阵列中找到一目标数据。感测放大器电路用以于读取操作时,从存储器阵列中读出目标数据。读取缓冲器用以于读取操作时,缓存并输出目标数据。当一中断事件发生于读取操作期间,读取缓冲器保留读取缓冲器的一缓存内容,且逻辑电路记录一读取状态。

为达上述目的,本发明实施例揭露一种存储器装置的操作方法包括下列步骤。接收一读取指令及一初始地址。响应于该读取指令,执行一读取操作。读取操作包括依据初始地址,找出一目标数据;读出目标数据,并缓存目标数据至一读取缓冲器;以及输出目标数据。当一中断事件发生于读取操作期间,保留读取缓冲器的一缓存内容,且记录一读取状态。

依据本发明实施例的存储器装置及其操作方法可减少于读取目标数据的读取操作被中断后继续读取目标数据所需的时间,进而提高存储器装置的整体效率。

为了对本发明的上述及其他方面有更佳的了解,下文特举实施例,并配合附图详细说明如下:

附图说明

图1绘示依据本发明实施例的存储器装置的方块图。

图2绘示依据本发明实施例的存储器装置的读取操作方法的流程图。

图3绘示依据本发明实施例的存储器装置的时序图。

【符号说明】

10:存储器装置

100:逻辑电路

102:存储器阵列

104:感测放大器电路

106:读取缓冲器

90:控制器

csb、sclk、sio:信号线

s201~s209:步骤

c_read:读取指令

a:初始地址

l:延迟时间

d_out1、d_out2:数据输出

e:中断事件

c_readcon:继续读取指令

具体实施方式

请参照图1,图1绘示依据本发明实施例的存储器装置的方块图。存储器装置10耦接至一控制器90,而受控于控制器90。在本实施例中,存储器装置10与控制器90之间的传输接口例如是串行外设接口(serialperipheralinterface,spi),本发明不以此为限。存储器装置10例如通过至少三条信号线csb、sclk、sio耦接至控制器90。

控制器90通过信号线csb选取或不选取存储器装置10。当控制器90选取存储器装置10时,存储器装置10处于可操作的状态;反之,当控制器90不选取存储器装置10时,存储器装置10处于不可操作的状态。当控制器90选取存储器装置10时,控制器90可通过信号线sclk将频率信号传送至存储器装置10,以控制存储器装置10的操作时序。控制器90通过信号线sio将写入指令、读取指令及抹除指令等传送至存储器装置10。当存储器装置10接收来自控制器90的指令时,可依据指令的类型执行对应的操作。此外,控制器90与存储器装置10亦可通过信号线sio进行数据的传输,例如写入操作时,控制器90通过信号线sio将要写入的数据传送至存储器装置10;读取操作时,存储器装置10将读出的数据通过信号线sio传送至控制器90。

存储器装置10包括一逻辑电路100、一存储器阵列102、一感测放大器电路104以及一读取缓冲器106。

逻辑电路100是用以接收来自控制器90的指令,并依据指令的类型操作存储器阵列102、感测放大器电路104及读取缓冲器106。

存储器阵列102耦接至逻辑电路100。存储器阵列102可以是非易失性的(non-volatile),例如nor门快闪(norgateflash)存储器阵列、nad门快闪(nandgateflash)存储器阵列等。存储器阵列102包含多个存储单元(memorycell)以二维(2d)或三维(3d)的方式排列。

感测放大器电路104耦接至逻辑电路100及存储器阵列102。感测放大器电路104可用以感测存储器阵列102内存储的数据,并将数据从存储器阵列102中读出。数据被感测放大器电路104读出后,会将数据缓存至读取缓冲器106。

读取缓冲器106耦接至逻辑电路100及感测放大器电路104。读取缓冲器106用以缓存感测放大器电路104读出的数据,并将数据输出至控制器90。

请参照图2,图2绘示依据本发明实施例的存储器装置的操作方法的流程图。存储器装置10的操作方法包括步骤s201~步骤s209,可用以操作存储器装置10。

在步骤s201中,接收一读取指令(readcommand)及一初始地址。读取指令及初始地址是由控制器90所发出,通过信号线sio传送至存储器装置10。

在步骤s203中,响应于读取指令执行一读取操作。具体来说步骤s203可包括步骤s2031~步骤s2035。

在步骤s2031中,依据初始地址(startaddress)找到一目标数据。一般来说,初始地址是代表存储有目标数据的数据序列的第一个位所在存储器阵列102内存储单元的存储器地址(memoryaddress)。当逻辑电路100收到来自控制器90的读取指令及初始地址后,初始地址会先被缓存至一地址缓存器(未绘示)。接着,逻辑电路100依据初始地址,于存储器阵列102中找到目标数据所在的存储单元。

在步骤s2033中,读出并缓存目标数据。具体来说,当目标数据的存放位置被找到,逻辑电路100会指示感测放大器电路104将目标数据读出。接着,被感测放大器电路104读出的目标数据会被缓存至读取缓冲器106。

在步骤s2035中,输出目标数据。具体来说,当目标数据被缓存在读取缓冲器106后,读取缓冲器106会陆续将目标数据通过信号线sio输出至控制器90。

举例来说,假设目标数据是一笔长度为32位(bit)的数据;感测放大器电路104从存储器阵列102中读出目标数据时,每个频率周期读出的位数为8位;读取缓冲器106的长度为32位;信号线sio每个频率周期可传输8个位。在这个例子中,感测放大器电路104每个频率周期从存储器阵列102中读出目标数据的其中8位(从起始地址开始),并将该8个位缓存至读取缓冲器106。感测放大器电路104花费四个频率周期才能读出全部的目标数据。在部分的目标数据(例如8位)被缓存至读取缓冲器106后,读取缓冲器106即通过信号线sio每个频率周期输出目标数据的其中8位至控制器90。读取缓冲器106花费四个频率周期输出将目标数据完全输出至控制器90。换言之,步骤s2033及步骤s2035会重复执行多次直到目标数据完全输出至控制器90(即读取操作完成)。

在步骤s205中,判断是否有一中断事件发生。所谓「中断事件」指的是造成读取操作(步骤s203)在完成之前被迫中断的事件。举例来说,在读取操作完成之前,存储器装置10收到来自控制器90的优先度高于读取指令的指令(例如写入指令)。中断事件例如发生在执行步骤s2033的期间或执行步骤s2035的期间。当有中断事件发生,执行步骤s207;当没有中断事件发生,则结束本流程(即读取操作未被中断而得以顺利完成)。

在步骤s207中,保留一读取缓冲器的一缓存内容,并记录一读取状态。所谓「缓存内容」指的是读取缓冲器106中缓存的数据(例如部分或全部的目标数据)。读取状态可以是由逻辑电路100所记录,可用以记录被中断事件发生时读取操作的执行状态。读取状态例如是包括发生中断事件的时间点、目标数据已被(感测放大器电路104)读出并缓存(至读取缓冲器106)的位数量或目标数据已由读取缓冲器106输出至控制器90的位数量等。然而,无论中断事件发生的时间点(例如执行步骤s2033的期间或执行步骤s2035的期间)为何,读取缓冲器106的缓存内容皆会被保留(即缓存内容将不会被清除)。

在步骤s209中,当接收一继续读取指令,依据读取状态及读取缓冲器的缓存内容读取目标数据。步骤s209的细节可包括两个实施例,细节将在分别底下进行说明。

在步骤s209的第一实施例中,假设中断事件发生时,部分的目标数据已被感测放大器电路104读出并缓存至读取缓冲器106。在执行步骤s207后,读取缓冲器106的缓存内容(即已缓存且仍未被输出的部分的目标数据)会被保留,当逻辑电路100接收来自控制器90的继续读取指令,逻辑电路100便可依据读取状态指示感测放大器电路104继续从存储器阵列中读出其余的目标数据。举例来说,假设中断事件发生时,感测放大器电路104已读出目标数据(共32位)的其中16位并缓存至读取缓冲器106。在执行步骤s207后,读取缓冲器106会保留已缓存且未被输出的部分的目标数据(例如8位),而逻辑电路100会记录读取状态。执行步骤s209时,逻辑电路100依据读取状态指示感测放大器电路104将目标数据的其余16位读出。当读取其余的目标数据时,可以从在存储器阵列中的未读取的目标数据开始读出,或者从已读出的部分的目标数据中选择一个起始位开始继续读出。

在步骤s209的第二实施例中,假设中断事件发生时,全部的目标数据已被感测放大器电路104读出,且缓存至读取缓冲器106。读取缓冲器106还未开始将目标数据传送至控制器90,或者读取缓冲器106可能已将部分的目标数据输出至控制器90。当逻辑电路100接收来自控制器90的继续读取指令,逻辑电路100便可依据读取状态指示读取缓冲器106将目标数据或其余部分的目标数据输出至控制器90。举例来说,假设中断事件发生时,读取缓冲器106已输出目标数据(共32位)的其中16位至控制器90。在步骤s207中,读取缓冲器106会保留仍缓存于读取缓冲器内的部分的目标数据(16位),并记录读取状态。执行步骤s209时,逻辑电路100依据读取状态指示读取缓冲器106将其余部分的目标数据传送至控制器90。在输出其余部分的目标数据时,可以从未输出的目标数据开始输出,或者从已输出的部分的目标数据中选择一个起始位开始继续传送。

第二实施例的时序图可如图3所示。由图3中可知,当存储器装置10接收到读取指令c_read及初始地址a后,需要花费一延迟时间l才能将部分的目标数据缓存至读取缓冲器106。接着,数据输出d_out1是读取缓冲器106在传送目标数据至控制器90(同时感测放大器电路104可能仍在持续将未读出的目标数据读出)。中断事件e发生时全部的目标数据已被感测放大器电路104读出,但仍有部分的目标数据仍未被读取缓冲器106输出至控制器90。待中断事件e结束后,存储器装置10接收到来自控制器90继续读取指令c_readcon。由于无须再等待感测放大器电路104将目标数据从存储器阵列102中读出,故继续读取时不会出现延迟(或延迟很短)。读取缓冲器106于数据输出d_out2将其余的目标数据传送至控制器90。

总结来说,当读取操作期间发生中断事件时,通过保留缓冲缓存器106的缓存内容及记录读取状态,存储器装置10可以响应继续读取指令,依据缓存内容及读取状态继续读取目标数据。也就是说,存储器装置10可响应于继续读取指令继续将被中断事件所中断的读取操作完成,而不用为了读取同一个目标数据重头开始一个新的读取操作。依据本发明实施例揭露的存储器装置及其操作方法,可以减少于读取目标数据的读取操作被中断后继续读取目标数据所需的时间,进而提高存储器装置的整体效率。

综上所述,虽然本发明已以实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中普通技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当以前述的权利要求保护范围所界定的为准。

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