admin管理员组

文章数量:1531450

2024年6月17日发(作者:)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.9

(22)申请日 2006.05.16

(71)申请人 三星电子株式会社

地址 韩国京畿道

(72)发明人 金敬爱 朴钟烈 李东熙

(74)专利代理机构 北京市柳沈律师事务所

代理人 李芳华

(51)

G06F3/06

G06F12/08

(10)申请公布号 CN 1869915 A

(43)申请公布日 2006.11.29

权利要求说明书 说明书 幅图

(54)发明名称

提供读取操作硬件加速的存储卡

(57)摘要

一种存储卡,包含连接到非易失性

存储模块的存储控制器。该存储控制器包

含第一电路,适于利用在内部存储器中存

储的程序,而将第一外部地址转换为第一

内部地址。存储控制器还包含硬件加速

器,适于根据第一内部与外部地址,而生

成第二内部地址。

法律状态

法律状态公告日

法律状态信息

法律状态

权 利 要 求 说 明 书

1.一种存储卡,包含:

存储控制器,适于从主机系统接收第一命令与第一外部地址,该存储控制器包含:

第一电路,适于利用在第一电路中存储的程序,而将第一外部地址转换为第一内部

地址;

第二电路,适于响应于读取信号与加速使能信号的激活,根据第一内部地址与第一

外部地址,而生成第二内部地址;以及

闪存模块,适于根据第一与第二内部地址而访问多页数据;

其中在闪存模块利用第一内部地址访问一页数据用于读取操作之后,第一电路设置

第二电路中的硬件加速标志;以及,

其中每当存储控制器从主机系统接收读取命令时,第二电路激活读取信号。

2.如权利要求1所述的存储卡,其中在接收第一命令之后,存储控制器接收第二命

令与第二外部地址;以及

其中第一与第二命令为随机读取命令。

3.如权利要求2所述的存储卡,其中当收到第一命令时,第一电路将第一外部地址

传送给第二电路,并且第二电路存储第一外部地址。

4.如权利要求3所述的存储卡,其中第一与第二外部地址中的每一个都包含:

存储块地址;以及

开始与结束页地址。

5.如权利要求4所述的存储卡,其中当设置了硬件加速标志时,第二电路确定第一

与第二外部地址是否具有相同的存储块地址、以及第二外部地址是否具有在第一外

部地址的开始与结束页地址之间的页地址。

6.如权利要求5所述的存储卡,其中当第一与第二外部地址具有相同的存储块地址、

并且第二外部地址具有在第一外部地址的开始与结束页地址之间的页地址时,第二

电路生成第二内部地址。

7.如权利要求5所述的存储卡,其中当第一与第二外部地址不具有相同的存储块地

址、或者第二外部地址不具有在第一外部地址的开始与结束页地址之间的页地址时,

第二电路激活中断信号,以在存储控制器中设置中断标志,从而使第一电路生成第

一内部地址。

8.如权利要求1所述的存储卡,其中第一命令为连续读取命令。

9.如权利要求8所述的存储卡,其中第一电路将第一外部与内部地址传送给第二电

路,并且第二电路存储第一外部地址作为参考地址;以及

其中第二电路根据第一外部地址生成下一地址。

10.如权利要求9所述的存储卡,其中第一外部地址包含:

存储块地址;以及

开始与结束页地址。

11.如权利要求10所述的存储卡,其中当设置了硬件加速标志时,第二电路确定新

地址与参考地址是否具有相同的存储块地址、以及新地址是否具有在参考地址的开

始与结束页地址之间的页地址。

12.如权利要求11所述的存储卡,其中当确定新地址与参考地址具有相同的存储块

地址、并且新地址具有在参考地址的开始与结束页地址之间的页地址时,第二电路

根据第一外部与内部地址生成第二内部地址。

13.如权利要求11所述的存储卡,其中当确定新地址与参考地址不具有相同的存储

块地址、或者新地址不具有在参考地址的开始与结束页地址之间的页地址时,第二

电路激活中断信号以在该存储控制器中设置中断标志,使得第一电路生成第一内部

地址。

14.如权利要求1所述的存储卡,其中在读取操作中访问了闪存模块之后,第一电

路将第一外部地址传送给第二电路;以及

其中第一外部地址包含存储块地址以及开始与结束页地址。

15.如权利要求14所述的存储卡,其中第二电路包含:

寄存器,适于存储硬件加速标志与从第一外部地址导出的参考地址;

选择器电路,适于响应于模式信号而在当前外部地址与下一地址之间进行选择,并

且输出所选择的地址作为新地址;

判定电路,适于当检测到参考地址与新地址具有相同的存储块地址、并且新地址具

有在参考地址的开始页地址与结束页地址之间的页地址时,生成命中信号;

地址生成器,从选择器电路接收新地址,并且根据新地址输出下一地址;以及

状态机,响应于命中信号,根据下一地址而生成第二内部地址。

16.如权利要求15所述的存储卡,其中当生成第二内部地址时,状态机向地址生成

器发送控制信号,以使得所述下一地址递增预定值。

17.如权利要求16所述的存储卡,其中所述下一地址存储在寄存器中作为参考地址。

18.如权利要求15所述的存储卡,其中当模式信号指示随机读取操作模式时,选择

器电路选择当前外部地址;而当模式信号指示连续读取操作模式时,选择器电路选

择下一地址。

19.如权利要求15所述的存储卡,其中当新地址具有与参考地址不同的存储块地址、

或者新地址具有不在参考地址的开始与结束页地址之间的页地址时,判定电路生成

中断信号,从而使中断标志在存储控制器中得到设置。

20.如权利要求1所述的存储卡,还包含:

开关,用来响应于从第一电路输出的选择信号,而将第一或第二内部地址传送给闪

存模块。

21.一种用于非易失性存储器设备的存储控制器,该存储控制器包含:

内部存储器,适于存储程序;

微控制器单元,适于利用所述程序处理第一外部地址,以产生第一内部地址;

硬件加速器,适于根据第一外部与第一内部地址,而处理第二外部地址,以生成第

二内部地址;

主机接口,适于作为微控制器、硬件加速器与主机系统之间的接口;以及

存储器接口,适于作为微控制器、硬件加速器与非易失性存储器之间的接口。

22.如权利要求21所述的存储控制器,其中该硬件加速器响应于从微控制器单元接

收的硬件加速标志而操作。

23.一种非易失性存储卡,包含:

存储控制器,包含:微控制器单元,适于利用所存储的程序处理第一外部地址以产

生第一内部地址;以及硬件加速器,适于根据第一内部与外部地址而处理第二外部

地址;

主机接口,适于作为存储控制器与主机系统之间的接口;以及

存储器接口,适于作为非易失性存储设备与存储控制器之间的接口。

24.如权利要求23所述的非易失性存储卡,其中该硬件加速器响应于从微控制器单

元接收的硬件加速标志而操作。

说 明 书

技术领域

本发明一般涉及包含闪存模块的存储卡。更具体地,本发明涉及包含硬件加速器的

存储卡,该硬件加速器用来改进该存储卡所执行的读取操作的性能。

背景技术

存储卡一般用来存储与访问数字设备中的信息,例如个人数字助理(PDA)、便携式

音频设备、手机、以及个人计算机。典型的存储卡包含:非易失存储器、以及提供

存储卡与主机系统之间接口的对应存储控制器。

已经例如在美国专利公开号2与2、以及美国专利号

6131139中公开了各种存储卡。

图1为显示连接到主机系统200的存储卡100的总体布局的方框图。参考图1,存

储卡100包含:闪存模块120与存储控制器140。主机系统200通过存储控制器

140与闪存模块120通信。具体地,主机系统200可通过存储控制器140对闪存模

块120执行读取、编程、以及擦除操作。

闪存模块120中的存储单元被组织为块与页。每块一般包含一或多页,每页一般包

含多个存储单元,用来存储指定数目的字节。例如,一(1)千兆字节(GB)NAND闪

存模块可以被组织为8192块,其中每块包含32页,每页存储512字节的数据。

在闪存模块120中,一次一页地读取或编程数据,并一次一块地擦除数据。因此,

每当主机系统200对闪存模块120执行读取或编程操作时,向或从闪存模块120传

送一页数据。

通过增加每块的尺寸,可以改进闪存模块120中读取、编程、以及擦除操作的性能。

另外,增加块尺寸还会通过减少控制每块所需的每字节的外围电路量,而减少闪存

模块120的芯片尺寸。一般通过增加每块中的页数目或者每页中的字节数目来增加

块尺寸。

图2显示具有不同块尺寸的两个块:“小块”与“大块”。小块包含32页,每页具有

512字节(B)的页尺寸。这些页排列为32行,每行表示单页。在另一方面,大块包

含64页,每页具有2千字节(KB)的页尺寸。大块中的页排列为64行,其中每行存

储单个2KB页。然而,为了简化图2,没有显示所有的64页。

在大块内,每个2KB页可以分为四(4)个“小页”,每个小页512字节。通过指定大

块中的行与起始列(由箭头指示),可以访问大块中的小页。在本说明书中,术语

“小页”用来指示大块中具有与小块中的页同样的尺寸的部分。

图2中的小块与大块的相应尺寸只是作为例子。在实践中,小块与大块中页的尺寸

与数目可以变化。然而,小块一般具有至少一维小于大块中的相应维,并且小块中

的页地址可以映射到大块中的页地址。在本说明书中,小块中的地址称为“小块地

址”,而大块中的地址称为“大块地址”。

小块地址与大块地址都包含存储块地址与页地址。存储块地址指示闪存模块120中

该地址所定位的块,而页地址指示闪存120中该地址所定位的页。

为了说明小块与大块之间的逻辑映射,小块中的页标记为0P至31P。在图2中包

含大箭头,用来显示小块中逻辑地址与大块中逻辑地址之间的对应关系。例如在主

机系统200被设计来利用小块地址访问数据、而闪存模块120是用大块地址访问的

情况下,需要这样的逻辑映射。换言之,如果主机系统200向存储控制器140发送

小块地址,则存储控制器140必须将小块地址转换为大块地址,以访问闪存模块

120。

例如,假设主机系统200向存储控制器140发送具有小块中的页1P地址的读取命

令。存储控制器140必须将页1P地址转换为大块中的物理地址。如图2所示,页

1P位于小块的第1行、第0列、和大块的第0行、第1列。

不幸的是,地址转换需求使闪存模块120中的读取操作变慢,由此使存储卡的整体

性能降级。

发明内容

根据本发明的一种实施方式,存储卡包含:存储控制器,适于从主机系统接收第一

命令与第一外部地址。该存储控制器包含:第一电路,适于利用在第一电路中存储

的程序,而将第一外部地址转换为第一内部地址;以及第二电路,适于响应于读取

信号与加速使能信号的激活,并且根据第一内部地址与第一外部地址,而生成第二

内部地址。该存储卡还包含:闪存模块,适于根据第一与第二内部地址访问多页数

据。在该存储卡中,在闪存模块利用第一内部地址访问一页数据用于读取操作之后,

第一电路设置第二电路中的硬件加速标志;并且每当存储控制器从主机系统接收读

取命令时,第二电路激活读取信号。

根据本发明的另一种实施方式,一种用于非易失性存储器设备的存储控制器包含:

内部存储器,适于存储程序;微控制器单元,适于利用所述程序处理第一外部地址

以产生第一内部地址;硬件加速器,适于根据第一外部与第一内部地址而处理第二

外部地址,以生成第二内部地址;主机接口,适于作为微控制器、硬件加速器与主

机系统之间的接口;以及存储器接口,适于作为微控制器、硬件加速器与非易失性

存储器之间的接口。

根据本发明的另一种实施方式,一种非易失性存储卡包含存储控制器,该存储控制

器包含:微控制器单元,适于利用所存储的程序处理第一外部地址以产生第一内部

地址;以及硬件加速器,适于根据第一内部与外部地址,而处理第二外部地址。该

存储卡还包含:主机接口,适于作为存储控制器与主机系统之间的接口;以及存储

器接口,适于作为非易失性存储设备与存储控制器之间的接口。

附图说明

以下将针对附图中所示的几个实施方式描述本发明。在所有附图中,类似的附图标

记指示类似的示范性元件、组件、或者步骤。在附图中:

图1为显示连接到主机系统的存储卡的总体布局的方框图;

图2为图示小块闪存模块与大块闪存模块中的页的逻辑映射的图;

图3为根据本发明实施方式的存储控制器的方框图;

图4为图3所示硬件加速器的方框图;

图5为图示根据本发明实施方式的存储卡的读取/写入操作的流程图;

图6为图示具有各种存储控制器配置的存储卡所执行的连续读取操作的时序的图;

图7为图示具有各种存储控制器配置的存储卡所执行的随机读取操作的时序的图;

图8为根据本发明另一实施方式的存储控制器的方框图。

具体实施方式

以下将参照对应图描述本发明的示范性实施方式。这些实施方式作为教学实例而呈

现。本发明的实际范围由随后的权利要求限定。

图3为图示根据本发明实施方式的存储控制器140的方框图。参照图3,存储控制

器140包含:主机接口控制器310、微控制器单元(MCU)320、内部存储器330、寄

存器340、开关350、存储器接口控制器360、硬件加速器370、以及缓冲存储器

380。

主机系统200利用小块地址向存储控制器140发送输入命令与地址,而闪存模块

120是利用大块地址访问的。相应地,存储控制器140必须将主机系统200提供的

小块地址转换为大块地址,以访问闪存模块120。在输入命令与闪存模块120不兼

容的情况下,存储控制器140还必须将输入命令转换为与闪存模块120兼容的输出

命令。

在本说明书中,术语“外部地址”将用来指从外部源(例如主机系统200)向存储控制

器140发送的小块地址,而术语“内部地址”将用来指从存储控制器140向闪存模块

120发送的大块地址。

外部或内部地址一般包含存储块地址与页地址。外部地址还可包含开始与结束页地

址,以指示连续读取操作所要访问的页范围。另外,内部地址还可以包含开始列,

用来指示闪存模块120中大块内的小页位置。

主机系统200一般向存储控制器140发送三种输入命令:写入命令、连续读取命令、

以及随机读取命令。写入命令启动写入操作,以对闪存模块120中的小页进行编程;

连续读取命令启动连续读取操作,以从闪存模块120中读取连续的小页;随机读取

命令启动随机读取操作,以从闪存模块中读取单个小页。写入命令与随机读取命令

都使用单个地址,并且都访问闪存模块120中的单页数据。相反,连续读取命令使

用单个地址,但是其用开始与结束页地址指定页范围,从而可能访问闪存模块120

中多于一个小页。

当主机系统200向存储控制器140发送读取命令时,根据该读取命令是连续读取命

令还是随机读取命令,存储控制器140进入连续读取操作模式或随机读取操作模式。

根据存储控制器140的操作模式,硬件加速器370操作不同,如下所述。

主机系统200通过主机接口控制器310与存储控制器140通信。主机接口控制器

310包含命令/地址寄存器311,其存储从主机系统200接收的输入命令与外部地址。

命令/地址寄存器311还存储中断标志,用来控制存储控制器140的各种操作。虽

然在图3中显示命令/地址寄存器311在主机接口控制器310中,但是命令/地址寄

存器311也可以位于主机接口控制器310之外。命令/地址寄存器311可以包含多

于一个寄存器。

命令/地址寄存器311中的中断标志用来控制存储控制器140是否利用硬件加速器

370来生成用于读取操作的内部地址。在读取或写入操作期间“设置”中断标志的情

况下,MCU 320生成用于闪存模块120的第一内部地址与第一输出命令。否则,

在未设置中断标志的情况下,硬件加速器370根据外部地址生成用于闪存模块120

的第二内部地址与第二输出命令。

术语“设置”与“清除”指以下操作:通过该操作,切换包含逻辑标志的一个或多个比

特,以获得该标志的不同状态。例如,每当命令/地址寄存器311收到写入命令时,

都“设置”该中断标志。类似地,每当命令/地址寄存器311收到要在不利用硬件加

速器370转换小块地址的情况下执行的读取命令时,也都“设置”该中断标志。当完

成写入或读取操作时、或者当在连续读取操作中读取第一小页时,“清除”中断标志。

每当设置中断标志时,MCU 320从命令/地址寄存器311取得外部地址与输入命令。

然后,MCU 320将外部地址转换为第一内部地址,并且生成第二输出命令。该转

换一般由在内部存储器330中存储的程序完成。当完成该转换时,第一内部地址与

输出命令被传送到开关350作为第一命令/地址数据。

在未设置中断标志的情况下,硬件加速器370生成第二内部地址与输出命令作为第

二命令/地址数据。

每当硬件加速器370生成第二内部地址时,MCU 320都不将外部地址转换为第一

内部地址。这允许存储控制器140通过避免运行转换程序所需的时间,而提高读取

操作的速度。

开关350从MCU 320与硬件加速器370接收相应的第一与第二命令/地址数据,并

且根据MCU 320输出的选择信号SEL,选择第一与第二命令/地址数据中的一个以

输出到存储器接口控制器360。在设置中断标志的情况下,选择信号SEL使开关

350输出第一命令/地址数据;在清除中断标志的情况下,选择信号SEL使开关350

输出第二命令/地址数据。

每当MCU 320将外部地址转换为第一内部地址时,都将第一内部地址与外部地址

传送给硬件加速器370,其中它们被分别存储为“先前内部地址”与“先前外部地址”。

硬件加速器370利用所述先前内部与外部地址来生成连续内部地址。

每当MCU 320进行地址转换时,其都修改硬件加速器370中的硬件加速标志。当

地址转换用于读取命令时,MCU 320设置硬件加速标志;当地址转换用于写入命

令时,MCU 320清除硬件加速标志。在MCU 320不进行地址转换的情况下(即在

清除中断标志的情况下),不修改硬件加速标志。

存储器接口控制器360接收通过开关350传送的第一或第二命令/地址数据,并将

第一或第二命令/地址数据输出到闪存模块120。闪存模块120通常包括NAND闪

存,并因此存储器接口控制器360通常使用传统NAND接口定时以与闪存模块

120通信。

响应于通过开关350接收的命令/地址数据,存储器接口控制器360向和从缓冲存

储器380和闪存模块120传送数据。相应地,可替换地,缓冲存储器380可以由来

自MCU 320与硬件加速器370的命令/地址数据控制。

在设置硬件加速标志的情况下,硬件加速器370根据先前内部与外部地址生成第二

内部地址与输出命令。例如,在当前命令为随机读取命令、并且设置硬件加速标志

的情况下,硬件加速器370比较命令/地址寄存器311中的当前外部地址与先前外

部地址,并且确定当前外部地址中的存储块地址是否与先前外部地址中的存储块地

址相同。另外,硬件加速器370还比较当前外部地址的页地址是否在先前外部地址

的开始与结束页地址之间。

在当前与先前外部地址的存储块地址相同、并且当前外部地址的页地址在先前外部

地址的开始与结束页地址之间的情况下,硬件加速器370根据当前与先前外部地址、

以及先前内部地址,生成第二内部地址。然后,第二内部地址与相应的输出命令通

过开关350而被传送到存储器接口控制器360。

在当前与先前外部地址的存储块地址不相同、或者当前外部地址的页地址不在先前

外部地址的开始与结束页地址之间的情况下,硬件加速器370设置命令/地址寄存

器311中的中断标志。以这种方式设置中断标志会迫使MCU320将当前外部地址

转换为第一内部地址。

图4显示根据本发明实施方式的硬件加速器370的方框图。参照图4,硬件加速器

370包含:寄存器371、选择器电路372、判定电路373、地址生成器374、以及状

态机375。

寄存器371存储用来确定是否可以基于新地址REQ_ADD生成第二内部地址的参

考地址。参考地址与新地址REQ_ADD作比较,并且在这些地址“足够类似”的情

况下,硬件加速器370基于新地址REQ_ADD生成第二内部地址。

在对第一外部地址进行地址转换之后,一般用从MCU 320接收的第一外部地址对

寄存器371中的参考地址进行初始化。第一外部地址还用来初始化在地址生成器

374中存储的地址。

地址生成器374响应于来自状态机375的控制信号而计算下一地址NEXT_ADD,

并且将下一地址NEXT_ADD输出到寄存器371。一般通过递增在地址生成器374

中存储的地址的页地址,来计算下一地址NEXT_ADD。然而,当存储控制器140

处于随机读取操作模式下时,输入到选择器372的当前外部地址CUR_ADD一般

被传递通过地址生成器374,并且作为下一地址NEXT_ADD而输出。当前外部地

址CUR_ADD是当前在命令/地址寄存器311中存储的外部地址。

下一地址NEXT_ADD、新地址REQ_ADD、以及参考地址都以如下方式更新:新

地址REQ_ADD表示相对于参考地址的、更新后的地址。例如,可以在判定电路

373中比较新地址REQ_ADD与参考地址之前,更新下一地址NEXT_ADD,并且

可以在判定电路373中同一比较之后,用下一地址NEXT_ADD更新参考地址。

选择器电路372接收下一地址NEXT_ADD与当前外部地址CUR_ADD,并且根据

指示连续读取操作模式或随机读取操作模式的模式选择信号MODE,而选择和输

出下一地址NEXT_ADD或当前外部地址CUR_ADD。在模式选择信号MODE指

示连续读取操作模式的情况下,选择器电路372选择和输出下一地址NEXT_ADD。

否则,在模式信号MODE指示随机读取操作模式的情况下,选择器电路372选择

和输出当前外部地址CUR_ADD。判定电路373与地址生成器374都接收新地址

REQ_ADD。

判定电路373响应于加速使能信号HWACC_EN与读取信号READ而操作。在加

速使能信号HWACC_EN与读取信号READ被激活的情况下,判定电路373比较

新地址REQ_ADD与存储在寄存器371中的参考地址。换言之,判定电路373将

当前外部地址CUR_ADD或下一地址NEXT_ADD与先前外部地址作比较。

每当设置硬件加速标志时,硬件加速器370都激活加速使能信号HWACC_EN。每

当来自主机系统200的先前命令为读取命令时,都设置硬件加速标志。例如,每当

MCU 320对于读取命令执行地址转换时,其都设置硬件加速标志,从而激活加速

使能信号HWACC_EN。在另一方面,每当来自主机系统200的先前命令为写入命

令时,都清除硬件加速标志以灭活。

每当在命令/地址寄存器311中存储的当前命令为读取命令时,都激活读取信号

READ。相应地,每当来自主机系统200的先前与当前命令为读取命令时,都激活

判定电路373。

当判定电路373被激活时,其比较新地址REQ_ADD与在寄存器371中存储的参

考地址。判定电路373确定新地址REQ_ADD是否具有与参考地址相同的存储块

地址,以及新地址REQ_ADD是否具有在参考地址的开始与结束页地址之间的页

地址。当参考地址具有与新地址REQ_ADD相同的存储块地址、并且新地址

REQ_ADD的页地址在参考小块地址的开始与结束页地址之间时,判定电路373激

活命中信号HIT。否则,判定电路373灭活命中信号HIT,并且生成中断信号INT,

其使命令/地址寄存器311中的中断标志得到设置。

响应于命中信号HIT的激活,状态机375生成大块地址与输出命令。根据从地址

生成器374输出的下一地址NEXT_ADD,而生成第二内部地址。然后,将来自状

态机375的第二内部地址与输出命令通过开关350传送给存储器接口控制器360。

图5为图示根据本发明实施方式的存储卡100的读取/写入操作的流程图。以下针

对连续读取操作模式与随机读取操作模式,而描述存储卡100的操作。在以下描述

中,示范性方法步骤由括号(XXX)表示,以使其区别于如图1至4所示的示范性元

件。

参照图5,在主机接口控制器310的命令/地址寄存器311中存储当前外部地址

CUR_ADD与输入命令,并且主机接口控制器310确定输入命令是否为读取命令

(S410)。

在输入命令不是读取命令的情况下,主机接口控制器310设置命令/地址寄存器311

中的中断标志(S420)。否则,在输入命令是读取命令的情况下,主机接口控制器确

定是否设置了硬件加速器370中的硬件加速标志(S440)。在未设置硬件加速标志的

情况下,主机接口控制器310设置中断标志(S420)。

然而,在设置了硬件加速标志的情况下,硬件加速器370然后确定选择器372输出

的地址REQ_ADD是否在存储于硬件加速器370中的先前定义的地址范围内(S450)。

更具体地讲,硬件加速器370确定新地址REQ_ADD是否具有与参考地址相同的

存储块、以及在参考小块地址的开始页与结束页之间的页地址。在新地址

REQ_ADD不在存储于硬件加速器370中的地址范围内的情况下,主机接口控制器

310设置命令/地址寄存器311中的中断标志。

如果在步骤S410、S440或S450之一之后设置了中断标志,则MCU 320将当前外

部地址CUR_ADD转换为第一内部地址(S430),并且根据输入命令生成第一输出命

令。否则,在步骤S410、S440与S450之后未设置中断标志的情况下,硬件加速

器370生成第二内部地址与第二输出命令(S460)。

一旦生成第一或第二内部地址与输出命令,存储控制器140就将第一或第二内部地

址与输出命令通过存储器接口控制器360传递到闪存模块120,以执行读取命令或

者写入命令(S470)。

每次主机系统200向存储控制器140发送新读取命令时,都执行步骤S410与S440。

然后,如果先前读取命令是在没有中间命令的情况下发送到主机系统200的,则在

步骤S440之后执行步骤S450。然后,在可能的情况下,硬件加速器370根据步骤

S460生成当前大块地址,从而MCU 320不需要进行地址转换。

在连续读取操作模式与随机读取操作模式下,存储控制器140类似地操作。然而,

在随机读取操作模式下,新地址REQ_ADD是从当前外部地址CUR_ADD获得的;

而在连续读取操作模式下,新地址REQ_ADD是从下一地址NEXT_ADD获得的。

另外,在连续读取操作模式下,当由先前读取操作读取的数据都被传送到主机系统

200时,判定电路373进行操作。

图6与7显示了图示使用硬件加速器370、而不是总用MCU 320将外部地址转换

为内部地址的性能优势的波形时序图。图6显示在连续读取操作模式期间的存储控

制器140的波形时序图,而图7显示在随机读取操作模式期间的存储控制器140的

波形时序图。

参照图6,第一波形R/nB1图示了在主机系统200与闪存模块120都使用小块地址

的情况下的、存储控制器140的时序。在这种情况下,不需要将主机系统200提供

的外部地址转换为内部地址。

在第一波形R/nB1中,存储控制器140在第一高到低跃迁之前接收命令/地址数据。

然后,在时段“t1”中,波形R/nB1走低,此时存储控制器140访问闪存模块120,

并且将一页数据传送给缓冲存储器380。然后,在时段“t2”中,波形R/nB1走高,

此时缓冲存储器380将这页数据传送给主机系统200。因为存储控制器140处于连

续读取操作模式中,所以通过单次传送命令/地址数据,就会从闪存模块120向主

机系统200连续传送几页数据。

第二与第三波形R/nB2与R/nB3图示了在主机系统200使用小块地址而闪存模块

120使用大块地址的情况下的、存储控制器140的时序。在第二波形R/nB2中,

MCU 320将从主机系统200接收的每个外部地址转换为内部地址;在第三波形

R/nB3中,硬件加速器370只要可能就生成内部地址。

第二与第三波形R/nB2与R/nB3与波形R/nB1类似,只是每当需要MCU320将外

部地址转换为内部地址时,会发生延迟“t3”。在第二波形R/nB2中,每次从闪存模

块120向缓冲存储器380传送页时,都会发生延迟“t3”。然而,在第三波形R/nB3

中,通过利用硬件加速器370而消除了延迟“t3”。

参照图7,第一、第二、和第三波形R/nB1、R/nB2、和R/nB3有轻微改动,这是

因为存储控制器140处于随机读取操作模式中。在波形R/nB1中,存储控制器140

在第一高到低跃迁之前接收命令/地址数据。然后,在时段“t1”中,波形R/nB1走

低,此时存储控制器140访问闪存模块120,并且将一页数据传送给缓冲存储器

380。然后,在时段“t2”中,波形R/nB1走高,此时缓冲存储器380将这页数据传

送给主机系统200。

一旦将这页数据传送给了主机系统200,主机系统200就会在第一波形R/nB1的下

一高到低跃迁之前向存储控制器140传送更多的命令/地址数据。再次地,在时段

“t1”期间,从闪存模块120向缓冲存储器380传送一页数据,如此等等。

在图7中,第二与第三波形R/nB2与R/nB3再次与波形R/nB1类似,只是每当需

要MCU 320将外部地址转换为内部地址时,会发生延迟“t3”。在第二波形R/nB2

中,每次从闪存模块120向缓冲存储器380传送页时,都会发生延迟“t3”。然而,

在第三波形R/nB3中,通过利用硬件加速器370而消除了延迟“t3”。

通过消除对于总是利用MCU 320进行地址转换的需要,在连续读取操作模式与随

机读取操作模式下,本发明的实施方式都显著改进了存储卡100的性能。

图8显示根据本发明另一实施方式的存储控制器140的方框图。图8所示存储控制

器与图3所示的相同,只是添加了中断控制器390。

中断控制器390被配置来当在命令/地址寄存器311中设置中断信号时、生成中断

信号。当生成中断信号时,MCU 320如上所述地执行地址转换。

上述优选实施方式为教学示例。本领域技术人员应该理解:在不脱离以下权利要求

限定的本发明范围的前提下,可以对示范性实施方式进行形式与细节的各种修改。

本文标签: 地址命令读取控制器