读取快闪存储器中储存单元的方法以及使用该方法的装置的制造方法

文档序号:10665660阅读:227来源:国知局
读取快闪存储器中储存单元的方法以及使用该方法的装置的制造方法
【专利摘要】本发明提供一种读取快闪存储器中储存单元的方法以及使用该方法的装置,读取快闪存储器中储存单元的方法由处理单元执行,包含下列步骤。通过第一存取接口从主装置接收读取命令后,判断读取命令所请求的数据是否寄存在第一缓存器。当读取命令所请求的数据没有寄存在第一缓存器时,驱动第二存取接口,用以从储存单元读取上述读取命令所请求的数据并储存到第二缓存器,以及驱动第一存取接口,用以从第二缓存器读取上述读取命令所请求的数据,并敲出给主装置。
【专利说明】
读取快闪存储器中储存单元的方法以及使用该方法的装置
技术领域
[0001]本发明关连于一种快闪存储器装置,特别是一种读取快闪存储器中储存单元数据的方法以及使用该方法的装置。
【背景技术】
[0002]快闪存储器装置通常分为NOR快闪装置与NAND快闪装置。NOR快闪装置为随机存取装置,而可于地址引脚上提供任何的地址,用以存取NOR快闪装置的主装置(host),并及时地由NOR快闪装置的数据引脚上获得储存于该地址上的数据。相反地,NAND快闪装置并非随机存取,而是序列存取。NAND快闪装置无法像NOR快闪装置一样,可以存取任何随机地址,主装置反而需要写入序列的字节(bytes)的值到NAND快闪装置中,用以定义请求命令(command)的类型(如,读取、写入、抹除等),以及用在此命令上的地址。地址可指向一个页面(在快闪存储器中的一个写入作业的最小数据块)或一个区块(在快闪存储器中的一个抹除作业的最小数据块)。实际上,NAND快闪装置通常从存储器单元(memory cells)上读取或写入完整的数页数据。当一整页的数据从阵列读取到装置中的缓存器(buffer)后,借由使用提取信号(strobe signal)顺序地敲出(clock out)内容,让主单元可逐字节或字符组(words)存取数据。因此,本发明提出一种读取快闪存储单元的方法以及使用该方法的装置,用以提升读取的效率。

【发明内容】

[0003]本发明的实施例提出一种读取快闪存储器中储存单元的方法,由处理单元执行,包含下列步骤。通过第一存取接口从主装置接收读取命令后,判断读取命令所请求的数据是否寄存在第一缓存器。当读取命令所请求的数据没有寄存在第一缓存器时,驱动第二存取接口,用以从储存单元读取上述读取命令所请求的数据并储存到第二缓存器,以及驱动第一存取接口,用以从第二缓存器读取上述读取命令所请求的数据,并敲出给主装置。
[0004]本发明的实施例另提出一种读取快闪存储器中储存单元的装置,至少包含第一存取接口、第二存取接口、第一缓存器以及处理单元。第一存取接口耦接于主装置,且第二存取接口親接于储存单元。第一缓存器寄存从储存单元取得的连续性数据。处理单元親接于第一存取接口、第二存取接口以及第一缓存器,通过第一存取接口从主装置接收读取命令;判断读取命令所请求的数据是否寄存在第一缓存器;以及当读取命令所请求的数据没有寄存在第一缓存器时,驱动第二存取接口,用以从储存单元读取上述读取命令所请求的数据并储存到第二缓存器,以及驱动第一存取接口,用以从第二缓存器读取上述读取命令所请求的数据,并敲出给主装置。
【附图说明】
[0005]图1是依据本发明实施例的快闪存储器的系统架构示意图。
[0006]图2是依据本发明实施例的快闪存储器中的储存单元示意图。
[0007]图3是依据本发明实施例的执行于处理单元中的数据读取方法流程图。
[0008]图4A及4B是依据本发明实施例的缓存器寄存数据示意图。
[0009]图5是依据本发明实施例的执行于处理单元中的数据读取方法流程图。
[0010]【附图标记说明】
[0011]10系统;110处理单元;
[0012]120_1 ?120_n 缓存器;
[0013]120_la、120_lb随机缓存器中的区域;
[0014]120_2a、120_2b超读缓存器中的区域;
[0015]130动态随机存取存储器;150存取接口 ;
[0016]160主装置;170存取接口 ;
[0017]180储存单元;210存储器单元阵列;
[0018]220行解码单元;230列编码单元;
[0019]240地址单元;250数据缓存器;
[0020]S311?S333方法步骤;S511?S553方法步骤。
【具体实施方式】
[0021]以下说明为完成发明的较佳实现方式,其目的在于描述本发明的基本精神,但并不用以限定本发明。实际的
【发明内容】
必须参考权利要求范围。
[0022]必须了解的是,使用于本说明书中的“包含”、“包括”等词,是用以表示存在特定的技术特征、数值、方法步骤、作业处理、元件以及/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、元件、组件,或以上的任意组合。
[0023]于权利要求中使用如“第一”、“第二”、“第三”等词是用来修饰权利要求中的元件,并非用来表示之间具有优先权顺序,先行关系,或者是一个元件先于另一个元件,或者是执行方法步骤时的时间先后顺序,仅用来区别具有相同名字的元件。
[0024]图1是依据本发明实施例的快闪存储器的系统架构示意图。快闪存储器的系统架构10中包含处理单元110,用以写入数据到储存单元180中的指定地址,以及从储存单元180中的指定地址读取数据。详细来说,处理单元110通过存取接口 170写入数据到储存单元180中的指定地址,以及从储存单元180中的指定地址读取数据。系统架构10使用数个电子信号来协调处理单元110与储存单元180间的数据与命令传递,包含数据线(dataline)、时脉信号(clock signal)与控制信号(control signal)。数据线可用以传递命令、地址、读出及写入的数据;控制信号线可用以传递芯片致能(chip enable, CE)、地址提取致能(address latch enable, ALE)、命令提取致能(command latch enable, CLE)、写入致能(write enable, WE)等控制信号。存取接口 170可采用双倍数据率(double data rate, DDR)通讯协定与储存单元180沟通,例如,开放NAND快闪(open NAND flash interface, 0NFI)、双倍数据率开关(DDR toggle)或其他接口。处理单元110另可使用存取接口 150通过指定通讯协定与主装置160进行沟通,例如,通用序列总线(universal serial bus, USB)、先进技术附着(advanced technology attachment, ΑΤΑ)、序列先进技术附着(serial advancedtechnology attachment, SATA)、快速周边元件互耳关(peripheral component interconnectexpress, PC1-E)或其他接口。
[0025]图2是依据本发明实施例的快闪存储器中的储存单元示意图。储存单元180可包含由MxN个存储器单元(memory cells)组成的阵列(array) 210,而每一个存储器单元储存至少一个比特(bit)的信息。快闪存储器可以是NAND型快闪存储器,或其他种类的快闪存储器。为了正确存取信息,行解码单元220用以选择存储器单元阵列210中指定的行,而列编码单元230用以选择指定行中一定数量的字节的数据作为输出。地址单元240提供行信息给行解码器220,其中定义了选择存储器单元阵列210中的那些行。相似地,列解码器230则根据地址单元240提供的列信息,选择存储器单元阵列210的指定行中一定数量的列进行读取或写入操作。行可称为字符线(wordline),列可称为比特线(bitline)。数据缓存器(data buffer) 250可储存从存储器单元阵列210读取出的数据,或欲写入存储器单元阵列210中的数据。存储器单元可为单层式单元(single-level cells, SLCs)、多层式单元(mult1-level cells, MLCs)或三层式单元(triple-level cells, TLCs)。
[0026]在一些实施方式中,快闪存储器装置中配置单一一个缓存器。处理单元通常会判断已接收到的读取命令是否存在连续读取的情形,若是,除了原读取命令所要求的数据夕卜,读取更多的数据并寄存于此缓存器中。接着,当处理单元接收到主装置请求读取已寄存于缓存器中的数据时,可直接从缓存器取得数据并敲出给主装置。主装置可发出读取命令Read(LBA, sec_count)来请求储存单元中的数据,其中,参数“LBA(Logical BlockAddress) ”代表起始的逻辑区块地址,参数“seC_COunt”代表读取的连续区块数目。例如,当处理单元连续接收到两个读取命令Read(0, 5)及Read (5,5)时,用以分别请求从逻辑区块地址为O开始之后的5个区块数据,以及从逻辑区块地址为5开始之后的5个区块数据,先判断是否存在连续读取的情形。在连续读取的情形下,除了读取原请求的10个区块数据夕卜,更从储存单元读取从逻辑区块地址10开始的之后128个区块,并储存至缓存器中。之后,当处理单元接收到主装置请求读取从逻辑区块地址为12开始的5个区块时,直接从缓存器取得数据并敲出给主装置。然而,于只存在单一缓存器的情形下,当处理单元接收到主装置请求读取非已寄存于缓存器的数据时,例如请求读取从逻辑区块地址为500开始的128个区块,处理单元必须从储存单元读取数据并储存到缓存器中,而新读取的数据会覆写掉先前所预存的数据。当处理单元之后接收到主装置请求读取从逻辑区块地址为20开始的5个区块时,由于先前所寄存的数据已经被覆写,必须重新从储存单元读取请求的数据。
[0027]为解决以上所述实施方式所带来的问题,快闪存储器的系统架构10中可包含数个缓存器120_1至120_n,其中,η代表大于或等于2的整数。于一个实施例中,系统架构10中可包含两个缓存器120_1与120_2,其中一个组态为随机缓存器(random buffer) ?’另一个组态为超读缓存器(extra-read buffer) 0超读缓存器用以储存大量的连续性数据,例如,从逻辑区块地址O至1023的数据,而随机缓存器则用以储存少量而片段的数据。需注意的是,虽然以下只说明了数据读取的技术内容,但是随机缓存器可以做为接收缓存器(Rxbuffer)或者是传送与接收缓存器(Tx/Rx buffer),本发明并不因此受限。动态随机存取存储器(DRAM, Dynamic Random Access Memory) 130包含超读缓存器中的寄存数据原来存于储存单元180中何地址的信息,例如,逻辑区块地址X?y,X与y为O至65535间的任意整数。图3是依据本发明实施例的执行于处理单元中的数据读取方法流程图。首先,处理单元110经由存取接口 150接收主装置160所发出的读取命令(步骤S311)。之后,判断所请求的数据是否已储存于超读缓存器中(步骤S313)。处理单元110可检查动态随机存取存储器130中储存的信息来进行如上的判断。若请求的数据读取地址落入到动态随机存取存储器130中所储存有关超读缓存器的逻辑区块地址中,则代表所请求的数据已存在于超读缓存器中。若是(步骤S313中“是”的路径),则驱动存取接口 150从超读缓存器读取所请求的数据并驱动存取接口 150敲出给主装置160 (步骤S321),以及驱动存取接口170从储存单元180读取接续的数据并储存至超读缓存器中(步骤S323)。步骤S323为一种超读作业,充分使用存取接口 170的频宽,预先读取主装置160还未请求的数据。另外,步骤S323的超读作业会预先读取可储存到超读缓存器中的数据量,换句话说,一旦超读缓存器已经满了,超读作业将不被执行。若否(步骤S313中“否”的路径),则驱动存取接口170从储存单元180读取请求的数据并储存至随机缓存器中(步骤S331),以及驱动存取接口 150从随机缓存器读取所请求的数据并敲出给主装置160 (步骤S333)。
[0028]以下举出一个范例来说明图3所示的方法。图4A及4B是依据本发明实施例的缓存器寄存数据示意图。假设缓存器120_1至120_2分别被组态为随机缓存器及超读缓存器。需注意的是,缓存器120_1至120_2可代表两个实体上分开的存储空间,也可代表设置在同一个实体存储空间但逻辑上分割成两块不同的连续空间。初始时,随机缓存器120_1中的区域120_la寄存储存单元180中逻辑区块地址500?507的数据,而超读缓存器120_2中的区域120_2a寄存储存单元180中逻辑区块地址O?127的数据。于时间tl,处理单元110经由存取接口 150接收到主装置160所发出的读取命令Read(100,8)(步骤S311)。处理单元110判断此请求的数据已经寄存在超读缓存器120_2后(步骤S313中“是”的路径),从区域120_2a中读取出所请求的逻辑区块地址100?107的数据并驱动存取接口150敲出给主装置160 (步骤S321),趋动存取接口 170读取接续在逻辑区块地址127之后的128个区块的数据,亦即是逻辑区块地址128?255的数据,并且储存在区域120_2b中(步骤S323)。于此须注意的是,存取接口 150与170的作业可部分重叠,亦即是在经由存取接口 150敲出数据给主装置160的同时,可经由存取接口 170从储存单元180读取接续的数据。于时间t2,处理单元110经由存取接口 150接收到主装置160所发出的读取命令Read (700, 8)(步骤S311)。处理单元110判断此请求的数据没有寄存在超读缓存器120_2后(步骤S313中“否”的路径),趋动存取接口 170读取逻辑区块地址700?707的数据并储存在区域120_lb中(步骤S331),接着,从区域120_lb中读取所请求的逻辑区块地址700?707的数据并驱动存取接口 150敲出给主装置160 (步骤S333)。于时间t3,处理单元110经由存取接口 150接收到主装置160所发出的读取命令Read(108,8)后(步骤S311),从区域120_2a中读取出所请求的逻辑区块地址108?115的数据并驱动存取接口 150敲出给主装置160 (步骤S321),以及趋动存取接口 170读取接续在逻辑区块地址255之后的128个区块的数据,亦即是逻辑区块地址256?383的数据,并且储存在超读缓存器120_2的可用空间中(步骤S323)。通过以上所述的范例,可了解到就算在连续数据的读取命令中插入了一个其他的读取命令,预先存在于超读缓存器120_2中的数据也不会被覆写。
[0029]于另一个实施例中,系统架构10中可包含超过两个缓存器120_1至120_n,其中,η代表大于或等于3的整数,其中一个组态为随机缓存器;其他的组态为超读缓存器。动态随机存取存储器130包含随机缓存器及超读缓存器中的每一者的数据原来储存于储存单元180中何地址的信息。图5是依据本发明实施例的执行于处理单元中的数据读取方法流程图。为了让内容简明扼要,步骤S511至S523的细节可分别参考步骤S311至S323的说明,不再赘述。当判断所请求的数据并没有储存于任何的超读缓存器后(步骤S513中“否”的路径),处理单元110更判断是否此读取命令与先前的读取命令形成新的连续读取(步骤S531)。若是(步骤S531中“是”的路径),则选择一个可用的缓存器做为超读缓存器(步骤S541),驱动存取接口 170从储存单元180读取请求的数据并储存至选择出的缓存器中(步骤S543),驱动存取接口 150从选择出的缓存器读取所请求的数据并敲出给主装置160 (步骤S545),以及驱动存取接口 170从储存单元180读取接续的数据并储存至选择出的缓存器中(步骤S547)。于一些实施例中,步骤S531中的判断可参考动态随机存取存储器130中所储存的信息,并判断是否加上此读取命令后读取了超过预定的连续地址数目的数据。例如,假设预定的连续地址数目为20。当动态随机存取存储器130中记录的信息指出随机缓存器中已寄存逻辑区块地址500?515的数据且接收的读取命令请求读取逻辑区块地址516?523时,处理单元110判断形成一个新的连续读取。于另一些实施例中,步骤S531中的判断可参考动态随机存取存储器130中所储存的信息,并判断此读取命令所请求的数据是否接续到随机缓存器中所寄存的数据之后。例如,当动态随机存取存储器130中记录的信息指出随机缓存器中已寄存逻辑区块地址500?507的数据且接收的读取命令请求读取逻辑区块地址508?515时,处理单元110判断形成一个新的连续读取。于步骤S541中,处理单元110可选择一个未被使用的缓存器,或者是其中所寄存的数据最久未被更新的缓存器。此外,于步骤S543中,原先所储存于选择出的缓存器中的数据会被覆写。当此读取命令与先前的读取命令没有形成新的连续读取时(步骤S531中“否”的路径),此流程继续进行步骤S531及S533的处理。为了让内容简明扼要,步骤S531至S533的细节可分别参考步骤S331至S333的说明,不再赘述。熟习此技艺人士可了解,当设置超过两个以上的缓存器做为超读缓存器时,可支援由两个以上执行绪(execut1n thread)所执行的连续读取作业。
[0030]虽然图1至2中包含了以上描述的元件,但不排除在不违反发明的精神下,使用更多其他的附加元件,已达成更佳的技术效果。此外,虽然图3以及图5的流程图采用指定的顺序来执行,但是在不违法发明精神的情况下,熟习此技艺人士可以在达到相同效果的前提下,修改这些步骤间的顺序,所以,本发明并不局限于仅使用如上所述的顺序。此外,熟习此技艺人士亦可以将若干步骤整合为一个步骤,或者是除了这些步骤外,循序或平行地执行更多步骤,本发明亦不因此而局限。
[0031]虽然本发明使用以上实施例进行说明,但需要注意的是,这些描述并非用以限缩本发明。相反地,此发明涵盖了熟习此技艺人士显而易见的修改与相似设置。所以,申请权利要求范围须以最宽广的方式解释来包含所有显而易见的修改与相似设置。
【主权项】
1.一种读取快闪存储器中储存单元的方法,由一处理单元执行,包含: 通过一第一存取接口从一主装置接收一第一读取命令; 判断上述第一读取命令所请求的数据是否寄存在上述第一缓存器,其中,上述第一缓存器寄存从一储存单元取得的连续性数据;以及 当上述第一读取命令所请求的数据没有寄存在上述第一缓存器时,驱动一第二存取接口,用以从上述储存单元读取上述第一读取命令所请求的数据并储存到一第二缓存器,以及驱动上述第一存取接口,用以从上述第二缓存器读取上述第一读取命令所请求的数据,并敲出给上述主装置。2.如权利要求1所述的读取快闪存储器中储存单元的方法,其特征在于,更包含: 通过上述第一存取接口从上述主装置接收一第二读取命令; 判断上述第二读取命令所请求的数据是否寄存在上述第一缓存器;以及当上述第二读取命令所请求的数据寄存在上述第一缓存器时,驱动上述第一存取接口,用以从上述第一缓存器读取上述第二读取命令所请求的数据,并敲出给上述主装置。3.如权利要求2所述的读取快闪存储器中储存单元的方法,其特征在于,更包含: 当上述第二读取命令所请求的数据寄存在上述第一缓存器时,驱动上述第二存取接口,用以从上述储存单元读取接续的数据并储存至上述第一缓存器。4.如权利要求3所述的读取快闪存储器中储存单元的方法,其特征在于,当上述第二读取命令所请求的数据寄存在上述第一缓存器时,上述第一存取接口及上述第二存取接口的作业部分重叠。5.如权利要求2所述的读取快闪存储器中储存单元的方法,其特征在于,上述第二读取命令接收于上述第一读取命令之后。6.如权利要求1所述的读取快闪存储器中储存单元的方法,其特征在于,上述判断步骤中更包含: 检查一动态随机存取存储器中所储存的信息来判断上述第一读取命令所请求的数据是否寄存在上述第一缓存器。7.如权利要求1所述的读取快闪存储器中储存单元的方法,其特征在于,当上述第一读取命令所请求的数据没有寄存在上述第一缓存器时,驱动上述第二存取接口,用以从上述储存单元读取上述第一读取命令所请求的数据并储存到上述第二缓存器,用以避免上述第一缓存器中寄存的数据被覆写。8.如权利要求1所述的读取快闪存储器中储存单元的方法,其特征在于,更包含: 当上述第一读取命令所请求的数据没有寄存在上述第一缓存器时,判断是否上述第一读取命令与先前的读取命令形成新的连续读取;以及 当上述第一读取命令与先前的读取命令没有形成新的连续读取时,驱动上述第二存取接口,用以从上述储存单元读取上述第一读取命令所请求的数据并储存到上述第二缓存器,以及驱动上述第一存取接口,用以从上述第二缓存器读取上述第一读取命令所请求的数据,并敲出给上述主装置。9.如权利要求8所述的存取快闪存储器中储存单元的方法,其特征在于,更包含: 当上述第一读取命令与先前的读取命令形成新的连续读取时,选择可用的缓存器做为一第三缓存器,驱动上述第二存取接口,用以从上述储存单元读取上述第一读取命令所请求的数据并储存到上述第三缓存器,以及驱动上述第一存取接口,用以从上述第三缓存器读取上述第一读取命令所请求的数据,并敲出给上述主装置。10.如权利要求9所述的存取快闪存储器中储存单元的方法,其特征在于,更包含: 当上述第一读取命令与先前的读取命令形成新的连续读取时,驱动上述第二存取接口,用以从上述储存单元读取接续的数据并储存至上述第三缓存器。11.一种读取快闪存储器中的储存单元的装置,包含: 一第一存取接口,耦接于一主装置; 一第二存取接口,親接于一储存单元; 一第一缓存器,用以寄存从一储存单元取得的连续性数据; 一处理单元,耦接于上述第一存取接口、上述第二存取接口以及上述第一缓存器,通过上述第一存取接口从上述主装置接收一第一读取命令;判断上述第一读取命令所请求的数据是否寄存在上述第一缓存器;以及当上述第一读取命令所请求的数据没有寄存在上述第一缓存器时,驱动上述第二存取接口,用以从上述储存单元读取上述第一读取命令所请求的数据并储存到一第二缓存器,以及驱动上述第一存取接口,用以从上述第二缓存器读取上述第一读取命令所请求的数据,并敲出给上述主装置。12.如权利要求11所述的读取快闪存储器中的储存单元的装置,其特征在于,上述处理单元更通过上述第一存取接口从上述主装置接收一第二读取命令;判断上述第二读取命令所请求的数据是否寄存在上述第一缓存器;以及当上述第二读取命令所请求的数据寄存在上述第一缓存器时,驱动上述第一存取接口,用以从上述第一缓存器读取上述第二读取命令所请求的数据,并敲出给上述主装置。13.如权利要求12所述的读取快闪存储器中的储存单元的装置,其特征在于,上述处理单元更当上述第二读取命令所请求的数据寄存在上述第一缓存器时,驱动上述第二存取接口,用以从上述储存单元读取接续的数据并储存至上述第一缓存器。14.如权利要求13所述的读取快闪存储器中的储存单元的装置,其特征在于,当上述第二读取命令所请求的数据寄存在上述第一缓存器时,上述第一存取接口及上述第二存取接口的作业部分重叠。15.如权利要求12所述的读取快闪存储器中的储存单元的装置,其特征在于,上述第二读取命令接收于上述第一读取命令之后。16.如权利要求11所述的读取快闪存储器中的储存单元的装置,其特征在于,上述处理单元更检查一动态随机存取存储器中所储存的信息来判断上述第一读取命令所请求的数据是否寄存在上述第一缓存器。17.如权利要求11所述的读取快闪存储器中的储存单元的装置,其特征在于,上述处理单元更当上述第一读取命令所请求的数据没有寄存在上述第一缓存器时,驱动上述第二存取接口,用以从上述储存单元读取上述第一读取命令所请求的数据并储存到上述第二缓存器,用以避免上述第一缓存器中寄存的数据被覆写。18.如权利要求11所述的读取快闪存储器中的储存单元的装置,其特征在于,上述处理单元更当上述第一读取命令所请求的数据没有寄存在上述第一缓存器时,判断是否上述第一读取命令与先前的读取命令形成新的连续读取;以及当上述第一读取命令与先前的读取命令没有形成新的连续读取时,驱动上述第二存取接口,用以从上述储存单元读取上述第一读取命令所请求的数据并储存到上述第二缓存器,以及驱动上述第一存取接口,用以从上述第二缓存器读取上述第一读取命令所请求的数据,并敲出给上述主装置。19.如权利要求18所述的读取快闪存储器中的储存单元的装置,其特征在于,上述处理单元更当上述第一读取命令与先前的读取命令形成新的连续读取时,选择可用的缓存器做为一第三缓存器,驱动上述第二存取接口,用以从上述储存单元读取上述第一读取命令所请求的数据并储存到上述第三缓存器,以及驱动上述第一存取接口,用以从上述第三缓存器读取上述第一读取命令所请求的数据,并敲出给上述主装置。20.如权利要求19所述的读取快闪存储器中的储存单元的装置,其特征在于,上述处理单元更当上述第一读取命令与先前的读取命令形成新的连续读取时,驱动上述第二存取接口,用以从上述储存单元读取接续的数据并储存至上述第三缓存器。
【文档编号】G06F12/08GK106033323SQ201510124203
【公开日】2016年10月19日
【申请日】2015年3月20日
【发明人】沈扬智
【申请人】慧荣科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1