CN1869915A - 提供读取操作硬件加速的存储卡 - Google Patents
提供读取操作硬件加速的存储卡 Download PDFInfo
- Publication number
- CN1869915A CN1869915A CNA2006100803759A CN200610080375A CN1869915A CN 1869915 A CN1869915 A CN 1869915A CN A2006100803759 A CNA2006100803759 A CN A2006100803759A CN 200610080375 A CN200610080375 A CN 200610080375A CN 1869915 A CN1869915 A CN 1869915A
- Authority
- CN
- China
- Prior art keywords
- address
- circuit
- external
- storage card
- sign
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/02—Analogue recording or reproducing
- G11B20/04—Direct recording or reproducing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
一种存储卡,包含连接到非易失性存储模块的存储控制器。该存储控制器包含第一电路,适于利用在内部存储器中存储的程序,而将第一外部地址转换为第一内部地址。存储控制器还包含硬件加速器,适于根据第一内部与外部地址,而生成第二内部地址。
Description
技术领域
本发明一般涉及包含闪存模块的存储卡。更具体地,本发明涉及包含硬件加速器的存储卡,该硬件加速器用来改进该存储卡所执行的读取操作的性能。
背景技术
存储卡一般用来存储与访问数字设备中的信息,例如个人数字助理(PDA)、便携式音频设备、手机、以及个人计算机。典型的存储卡包含:非易失存储器、以及提供存储卡与主机系统之间接口的对应存储控制器。
已经例如在美国专利公开号2004-0205301与2004-0236909、以及美国专利号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如上所述地执行地址转换。
上述优选实施方式为教学示例。本领域技术人员应该理解:在不脱离以下权利要求限定的本发明范围的前提下,可以对示范性实施方式进行形式与细节的各种修改。
Claims (24)
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所述的非易失性存储卡,其中该硬件加速器响应于从微控制器单元接收的硬件加速标志而操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR43779/05 | 2005-05-24 | ||
KR1020050043779A KR100706246B1 (ko) | 2005-05-24 | 2005-05-24 | 읽기 성능을 향상시킬 수 있는 메모리 카드 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1869915A true CN1869915A (zh) | 2006-11-29 |
CN1869915B CN1869915B (zh) | 2011-04-06 |
Family
ID=37387913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006100803759A Active CN1869915B (zh) | 2005-05-24 | 2006-05-16 | 提供读取操作硬件加速的存储卡 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7555629B2 (zh) |
JP (1) | JP4901285B2 (zh) |
KR (1) | KR100706246B1 (zh) |
CN (1) | CN1869915B (zh) |
DE (1) | DE102006024655B4 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101266577B (zh) * | 2008-03-27 | 2010-06-16 | 上海交通大学 | 可编程片上带有存储器接口的nor闪存读取控制方法 |
CN102446085A (zh) * | 2010-10-01 | 2012-05-09 | 英特尔移动通信技术德累斯顿有限公司 | 硬件加速器模块及其设置方法 |
CN106991055A (zh) * | 2016-01-21 | 2017-07-28 | 群联电子股份有限公司 | 数据搜索方法、存储器存储装置及存储器控制电路单元 |
US10732845B2 (en) | 2016-01-14 | 2020-08-04 | Phison Electronics Corp. | Data search method, memory storage apparatus, and memory control circuit unit |
CN111880733A (zh) * | 2020-07-24 | 2020-11-03 | 长江存储科技有限责任公司 | 三维存储器件、三维存储器及其操作方法和三维存储器系统 |
CN114341818A (zh) * | 2019-08-22 | 2022-04-12 | 美光科技公司 | 分级存储器设备 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4984666B2 (ja) * | 2006-06-12 | 2012-07-25 | ソニー株式会社 | 不揮発性メモリ |
US8307180B2 (en) | 2008-02-28 | 2012-11-06 | Nokia Corporation | Extended utilization area for a memory device |
US8924661B1 (en) * | 2009-01-18 | 2014-12-30 | Apple Inc. | Memory system including a controller and processors associated with memory devices |
US8228701B2 (en) * | 2009-03-01 | 2012-07-24 | Apple Inc. | Selective activation of programming schemes in analog memory cell arrays |
US8874824B2 (en) | 2009-06-04 | 2014-10-28 | Memory Technologies, LLC | Apparatus and method to share host system RAM with mass storage memory RAM |
US9417998B2 (en) | 2012-01-26 | 2016-08-16 | Memory Technologies Llc | Apparatus and method to provide cache move with non-volatile mass memory system |
US9311226B2 (en) | 2012-04-20 | 2016-04-12 | Memory Technologies Llc | Managing operational state data of a memory module using host memory in association with state change |
US9633742B2 (en) | 2014-07-10 | 2017-04-25 | Sandisk Technologies Llc | Segmentation of blocks for faster bit line settling/recovery in non-volatile memory devices |
US9418750B2 (en) * | 2014-09-15 | 2016-08-16 | Sandisk Technologies Llc | Single ended word line and bit line time constant measurement |
US9318204B1 (en) | 2014-10-07 | 2016-04-19 | SanDisk Technologies, Inc. | Non-volatile memory and method with adjusted timing for individual programming pulses |
US9318210B1 (en) | 2015-02-02 | 2016-04-19 | Sandisk Technologies Inc. | Word line kick during sensing: trimming and adjacent word lines |
US9236128B1 (en) | 2015-02-02 | 2016-01-12 | Sandisk Technologies Inc. | Voltage kick to non-selected word line during programming |
JP6517549B2 (ja) * | 2015-03-13 | 2019-05-22 | 東芝メモリ株式会社 | メモリコントローラ、記憶装置、データ転送システム、データ転送方法、及びデータ転送プログラム |
JP6232109B1 (ja) * | 2016-09-27 | 2017-11-15 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置および連続読出し方法 |
US20210055882A1 (en) * | 2019-08-22 | 2021-02-25 | Micron Technology, Inc. | Hierarchical memory apparatus |
TWI717884B (zh) * | 2019-10-31 | 2021-02-01 | 創惟科技股份有限公司 | 記憶卡的讀寫控制系統及其方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4527232A (en) * | 1982-07-02 | 1985-07-02 | Sun Microsystems, Inc. | High-speed memory and memory management system |
US5452261A (en) * | 1994-06-24 | 1995-09-19 | Mosel Vitelic Corporation | Serial address generator for burst memory |
KR100359414B1 (ko) | 1996-01-25 | 2003-01-24 | 동경 엘렉트론 디바이스 주식회사 | 데이타독출/기록방법및그를이용한메모리제어장치및시스템 |
JP3321587B2 (ja) | 1996-02-01 | 2002-09-03 | 東京エレクトロンデバイス株式会社 | フラッシュメモリシステムにおけるデータ書き換え方法及びメモリ制御装置 |
JPH1139450A (ja) | 1997-07-24 | 1999-02-12 | Mitsubishi Electric Corp | Icカード |
US6131138A (en) * | 1997-08-18 | 2000-10-10 | Stmicroelectronics N.V. | Variable speed compact disc drive including an elastic buffer |
US6167476A (en) * | 1998-09-24 | 2000-12-26 | Compaq Computer Corporation | Apparatus, method and system for accelerated graphics port bus bridges |
JP2000122668A (ja) * | 1998-10-15 | 2000-04-28 | Yamaha Corp | デジタル音声データ処理装置およびコンピュータシステム |
US6970992B2 (en) | 1999-10-04 | 2005-11-29 | Intel Corporation | Apparatus to map virtual pages to disparate-sized, non-contiguous real pages and methods relating thereto |
US6396744B1 (en) * | 2000-04-25 | 2002-05-28 | Multi Level Memory Technology | Flash memory with dynamic refresh |
KR100389867B1 (ko) * | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
JP4294894B2 (ja) * | 2001-09-13 | 2009-07-15 | 株式会社ルネサステクノロジ | メモリカード |
US6711650B1 (en) * | 2002-11-07 | 2004-03-23 | International Business Machines Corporation | Method and apparatus for accelerating input/output processing using cache injections |
JP2004318940A (ja) | 2003-04-14 | 2004-11-11 | Renesas Technology Corp | 記憶装置 |
JP4068594B2 (ja) * | 2003-06-10 | 2008-03-26 | Tdk株式会社 | フラッシュメモリコントローラ、フラッシュメモリシステム、及びフラッシュメモリの制御方法 |
TW200515147A (en) * | 2003-10-17 | 2005-05-01 | Matsushita Electric Ind Co Ltd | Semiconductor memory device, controller, and read/write control method thereof |
JP2006128830A (ja) * | 2004-10-26 | 2006-05-18 | Sony Corp | 再生装置、データ処理システム、再生方法、プログラムおよび記録媒体 |
-
2005
- 2005-05-24 KR KR1020050043779A patent/KR100706246B1/ko active IP Right Grant
- 2005-12-30 US US11/321,870 patent/US7555629B2/en active Active
-
2006
- 2006-04-21 JP JP2006118309A patent/JP4901285B2/ja active Active
- 2006-05-16 CN CN2006100803759A patent/CN1869915B/zh active Active
- 2006-05-22 DE DE102006024655A patent/DE102006024655B4/de active Active
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101266577B (zh) * | 2008-03-27 | 2010-06-16 | 上海交通大学 | 可编程片上带有存储器接口的nor闪存读取控制方法 |
CN102446085A (zh) * | 2010-10-01 | 2012-05-09 | 英特尔移动通信技术德累斯顿有限公司 | 硬件加速器模块及其设置方法 |
CN102446085B (zh) * | 2010-10-01 | 2015-06-03 | 英特尔移动通信技术德累斯顿有限公司 | 硬件加速器模块及其设置方法 |
US10732845B2 (en) | 2016-01-14 | 2020-08-04 | Phison Electronics Corp. | Data search method, memory storage apparatus, and memory control circuit unit |
CN106991055A (zh) * | 2016-01-21 | 2017-07-28 | 群联电子股份有限公司 | 数据搜索方法、存储器存储装置及存储器控制电路单元 |
CN106991055B (zh) * | 2016-01-21 | 2021-01-12 | 群联电子股份有限公司 | 数据搜索方法、存储器存储装置及存储器控制电路单元 |
CN114341818A (zh) * | 2019-08-22 | 2022-04-12 | 美光科技公司 | 分级存储器设备 |
CN114341818B (zh) * | 2019-08-22 | 2023-05-23 | 美光科技公司 | 分级存储器设备 |
CN111880733A (zh) * | 2020-07-24 | 2020-11-03 | 长江存储科技有限责任公司 | 三维存储器件、三维存储器及其操作方法和三维存储器系统 |
Also Published As
Publication number | Publication date |
---|---|
US20060268609A1 (en) | 2006-11-30 |
JP2006331408A (ja) | 2006-12-07 |
KR100706246B1 (ko) | 2007-04-11 |
CN1869915B (zh) | 2011-04-06 |
JP4901285B2 (ja) | 2012-03-21 |
DE102006024655B4 (de) | 2010-07-08 |
KR20060121540A (ko) | 2006-11-29 |
DE102006024655A1 (de) | 2006-11-30 |
US7555629B2 (en) | 2009-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1869915A (zh) | 提供读取操作硬件加速的存储卡 | |
CN1026926C (zh) | 动态存储系统中动态调定各时标用的数据处理系统 | |
CN1499530A (zh) | 非易失性存储器系统内有效允许失序写处理的方法和装置 | |
CN1282089C (zh) | 控制串行快闪存储器中适当执行的装置和方法及相应芯片 | |
CN102326154B (zh) | 用于管理型非易失性存储器的地址映射的体系结构 | |
TWI592865B (zh) | 資料讀取方法、資料寫入方法及使用所述方法的儲存控制器 | |
CN103136136B (zh) | 用于闪存存储介质执行数据传输的方法和系统 | |
CN100347685C (zh) | 用于将数据写入快闪存储设备的半导体存储器的装置和方法 | |
US8386699B2 (en) | Method for giving program commands to flash memory for writing data according to a sequence, and controller and storage system using the same | |
CN1652253A (zh) | 存储卡和半导体器件 | |
CN1795437A (zh) | 用于块内页面分组的方法及设备 | |
CN102428451A (zh) | 用于数据存储装置的命令及中断分组 | |
CN102422271A (zh) | 用于非易失性存储器系统的多页准备命令 | |
CN114063893A (zh) | 数据储存装置与数据处理方法 | |
CN101075213A (zh) | 只读存储器数据修补电路和方法、及其嵌入式系统 | |
CN1236386C (zh) | 存储器件及存储控制方法 | |
CN108733577A (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN101421705A (zh) | 具有高储存容量的多媒体卡 | |
CN1845087A (zh) | 中断处理方法及中断处理装置 | |
CN1945478A (zh) | 仿真装置 | |
US11755211B2 (en) | Overhead reduction in data transfer protocol for NAND memory | |
CN1447243A (zh) | 快闪存储器中快速且能防止不正常断电的演算法及其控制系统 | |
CN1949396A (zh) | 半导体存储器件的修复电路 | |
US20110016265A1 (en) | Storage device and data process method | |
TW201715530A (zh) | 有效資料合併方法、記憶體控制器與記憶體儲存裝置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |