存储器系统和操作存储器系统的方法

文档序号:6578405阅读:143来源:国知局
专利名称:存储器系统和操作存储器系统的方法
技术领域
本发明总体涉及数据处理系统,更具体地讲,涉及存储器装置(例如在 数据处理系统中的存储器系统)的使用。
背景技术
本地命令队列(Native Command Queuing, NCQ )是一种设计为用于增强 利用串行高级技术附件(SATA)接口或支持命令队列的其它接口的硬盘驱动 器(HDD)的性能的技术。具体地讲,NCQ可允许硬盘使执行接收的读取和 写入命令的顺序内部最优化,这可以减少不必要的驱动头运动并改善性能。 然而,固态驱动器(SSD)装置不具有在HDD中使用的机械运动部件。因此, NCQ技术通常不应用到SSD装置。

发明内容
根据本发明的一些实施例,存储器系统通过下述步骤操作保持要执行 的存储器命令的队列;保持先前执行的存储器命令的列表;将与要执行的命 令相关的本地信息和与先前执行的命令的列表相关的本地信息进行比较;基
在其它的实施例中,本地信息包括信道(channel).通道(way)、直接 存储器存取(DMA)时间、地址转换时间和/或硬件时序信息。
在其它实施例中,选择用于执行的命令之一的步骤包括从具有最短的预 期阻塞(blocking)时间
之一<
在其它实施例中,选择用于执行的命令之一的步骤包括:在以先前执行的存储器命令中最接近当前地执行的命令开始并进行直至选出用于执行的命令
期间,执行下述步骤当余下的候选的命令不都与相同的信道相关时,取消 与先前执行的命令的信道相同的信道相关的候选的用于执行命令;然后当余 下的候选的命令全都与相同的信道相关但不都与相同的信道和通道相关时, 取消与先前4丸行的命令的信道和通道相同的信道和通道相关的候选的命令; 然后当余下的候选的命令都与相同的信道和通道相关时,取消具有最长的直 接存储器存取时间的候选的命令。
在其它实施例中,选择用于执行的命令之一的步骤包括当每个余下的候 选的命令都与先前执行的命令中的至少一个命令的信道和通道相同的信道和
通道相关时,从和先前更近执行的命令的信道和通道相同的信道和通道相关 在其它实施例中,基于存储器扇区的大小和/或扇区数量来计算DMA时间。
在其它实施例中,信道和通道是从逻辑块地址(LBA)信息中得出。 在其它实施例中,所述方法还包括当与先前执行的命令之一相关的所有 操作都完成时,从先前执行过的存储器命令的列表中除去先前执行的命令之
在其它实施例中,命令的执行包括转换地址。
在其它实施例中,先前执行的存储器命令的列表为循环列表。
在其它实施例中,上述方法中至少一个是通过闪存转换层(FTL)执行的。
在其它实施例中,存储器包括闪速存储器。
在其它实施例中,闪速存储器包括NAND、 NOR和/或One_NAND型闪
速存储器。
在本发明的更多的实施例中,存储器系统包括主机、存储器控制器和存 储器,存储器的操作是通过下述步骤实现的从主机向存储器控制器发送存 储器命令;基于先前执行的存储器命令的历史来确定存储器命令的执行顺序; 在确定执行顺序的同时从主机向存储器控制器发送写入数据;将写入数据从 存储器控制器写入到存储器;从存储器将读取数据读取到存储器控制器中; 从存储器控制器向主机发送读取数据。
在更多的实施例中,确定执行顺序的步骤包括保持要执行的存储器命令的队列;保持先前执行的存储器命令的列表;将与要执行的存储器命令相 关的本地信息和与先前执行的存储器命令的列表相关的本地信息进行比较;
^之一。、 ,"q 、 , …
在更多的实施例中,本地信息包括信道、通道、直接存储器存取(DMA) 时间、地址转换时间和/或石更件时序信息。
在更多的实施例中,存储器包括闪速存储器。
在更多的实施例中,闪速存储器包括NAND、 NOR和/或One—NAND型
闪速存储器。
在本发明的其它实施例中,存储器系统包括存储器和存储器控制器, 所述存储器控制器被构造为保持要执行的存储器命令的队列,保持先前执行 的存储器命令的列表;将与要执行的命令相关的本地信息和与先前执行的命 令的列表相关的本地信息进行比较;基于比较的结果,从要执行的存储器命 令的队列中选择用于执行的命令之一。
在其它的实施例中,本地信息包括信道、通道、直接存储器存取(DMA) 时间、地址转换时间和/或石更件时序信息。
在其它实施例中,存储器包括闪速存储器。
在其它实施例中,闪速存储器包括NAND、 NOR和/或One—NAND型闪
速存储器。
在其它实施例中,存储器系统在下述装置中实施存储卡装置、固态驱 动器(SSD)装置,ATA总线装置、串行ATA总线装置、小型计算机系统接 口 (SCSI)装置、串行SCSI (SAS)装置、多媒体卡(MMC)装置、安全 数字(SD)装置、记忆棒装置、硬盘驱动器装置(HDD)、混合硬盘驱动器 (HHD)装置或通用串行总线(USB)闪存驱动装置。
在其它实施例中,存储器系统在下述装置中实施图形卡、计算机、移 动终端、个人数字助理(PDA)、相机、游戏控制台、MP3播放器、电视机、 DVD播放器、路由器或GPS系统。
对本领域技术人员来说,通过审查下面的附图和具体描述,根据本发明 的实施例的其它系统和方法将是或变得清楚。意图是将所有这些额外的系统 和方法包括在本说明中,包括在本发明的范围中,并得到权利要求的保护。


当结合附图阅读下面的对本发明特定实施例的具体描述时,本发明的其 它特征将更容易被理解,附图中
图1是根据本发明一些实施例的存储器系统的框图; 图2是示出根据本发明一些实施例的图1的存储器系统的存储器的框图; 图3A和图3B是示出根据本发明一些实施例的图1的存储器系统的读取 操作的框图4A、图4B和图4C是示出根据本发明一些实施例的图1的存储器系
统的写入操作的框图5是根据本发明更多实施例的存储器系统的框图6是示出根据本发明一些实施例的存储器命令历史的框图7是示出根据本发明一些实施例的选择用于执行的存储器命令的方法
的框图8是示出基于先前执行的存储器命令的历史来选择用于执行的存储器 命令的存储器系统的操作的消息流示图9和图IO示出了才艮据本发明一些实施例的在存储器系统上执行写入请 求命令和读取请求命令的实验结果;
图11是根据本发明一些实施例的包括存储器系统的电子系统的框图。
具体实施例方式
虽然本发明允许各种修改和替换形式,但是通过附图中的例子的方式示 出本发明的特定实施例并在此进行详细描述。然而,应该理解的是,没有意 图将本发明限制为公开的具体形式,相反,本发明将覆盖落入由权利要求限 定的本发明的精神和范围内的所有修改、等同物和替换物。在对附图的整个 说明中,相同的标号表示相同的元件。
如这里所使用的,除非另外清楚地指出,否则单数形式也意图包括复数 形式。还应理解的是,当在本说明书中^^用术语"包含"和/或"包括"时, 说明存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添 加一个或多个其它特征、整体、步骤、操作、元件、组件和/或它们的组。应 该理解的是,当元件-故称作"连接,,或"结合,,到另一元件时,该元件可以 直接连接或结合到另一元件,或者可以存在中间元件。此外,如这里使用的,"连接"或"结合"可以包括无线连接或结合。如这里所使用的,术语"和/ 或"包括一个或多个相关所列项的任意组合和所有组合。
除非另有定义,否则这里使用的所有术语(包括技术术语和科学术语) 具有与本发明所属领域的普通技术人员所通常理解的意思相同的意思。还将 理解的是,除非这里明确定义,否则术语(诸如在通用字典中定义的术语) 应该被解释为具有与相关领域的环境中它们的意思一致的意思,而将不以理 想的或者过于正式的含义来解释它们。
为了示出的目的,这里参照包括闪速存储器数据存储装置的存储器系统 对本发明的多个实施例进行描述。应该理解的是,所述数据存储装置不限于
闪速存储器装置的实施方式,而是可以通常地实施到写入前擦除(erase before write)存储器装置。此外,应该理解的是,所述数据存储装置不限于非易失 性存储器装置的实施方式,还可以实施到诸如动态随机存取存储器(DRAM) 等的易失性存储器装置上。所述数据存储装置可以为存储卡装置、固态驱动 器(SSD)装置,ATA总线装置、串行ATA (SATA)总线装置、小型计算机 系统接口 (SCSI)装置、串行连接SCSI (SAS)装置、多媒体卡(MMC) 装置、安全数字(SD)装置、存储棒装置、硬盘驱动器(HDD)装置、混合 硬盘驱动器(HHD)装置和/或通用串行总线(USB)闪存装置。
根据本发明的一些实施例,包括存储器控制器和存储器的存储器系统(例 如固态驱动器(SSD))装置可以通过保持要执行的存储器命令队列和先前执 行的存储器命令列表来操作。可以在要执行的存储器命令和先前已经执行了 的那些存储器命令之间进行比较以选择下一个存储器命令来执行,从而可以 缩短预期的阻塞(blocking),这可以增强存储器系统的性能。
现在参照图1,电子设备包括利用诸如串行高级技术附件(SATA)协议 或其它支持命令队列协议的SSD存储器系统500和主机900。本地命令队列 (NCQ )和标记命令队列(TCQ )可以应用到本发明以用于命令队列。SSD 500 包括SSD控制器100和闪速存储器300。在本发明中,可以应用本发明的闪 速存储器300将被作为例子进行描述。然而,将要描述的闪速存储器300不 限于本发明的闪速存储器的特定形式、程序或读取特征。闪速存储器300包
括与通讯信道(channel) CH_0、 CH—1..... CH— (N-l)分别相连的多个闪
存芯片310、 320、 ...、 330。此外,可以存在多个闪存芯片与每个通讯信道 相连。与同 一的信道相连的闪存芯片可以由通道号(way number)识别。有时,将闪速存储器系统中的信道的管理分组(management grouping )称为"单 位(unit)",有时,将闪速存储器系统中的通道的管理分组称为"库(bank)"。 控制器100可以被构造为存储闪速存储器300的命令历史50并对从主机900 接收的命令的执行进行调度(schedule )。在本发明的一些实施例中,控制器 100基于先前执行的存储器命令的命令历史50来选择具有最短的预期阻塞时 间的用于执行的存储器命令。在一些实施例中,阻塞时间指由于通讯信道繁 忙或闪存芯片繁忙引起的等待时间。主机900和存储器系统500之间的通讯 接口可以支持本地命令队列(NCQ)或其它命令队列方法以允许主机900不 间断地传递多个存储器命令。本发明的一些实施例可以应用到支持存储器命 令队列且在控制器100和闪速存储器300之间构造多个通讯信道的系统中。
图2是更详细地示出根据本发明一些实施例的图1的闪速存储器300的 框图。如图2中所示,闪速存储器300包括与通讯信道CH—0、 CH—1、...、 CH— (N-l )分别相连的多个闪存芯片310、 320、 ...、 330。每个通讯信道可 以独立于其它通讯信道操作。共享同 一通讯信道的闪存芯片通过通道号区分。 根据本发明的一些实施例,闪速存储器300中的每个芯片可以通过通道和通 讯信道来识别,所述通道和通讯信道可以基于逻辑块地址(LBA)计算出。 在一些实施例中,闪速存储器300为NAND、 NOR和/或One—NAND型闪速 存储器。
图3A和图3B是示出在图1的SSD500上执行多个读取命令时的时序要 求的框图。如图3A和图3B中所使用的,f/w表示与固件操作相关的时间, tR表示从闪速存储器300内的存储器单元到闪速存储器300内的寄存器的读 取时间,tRE表示从闪速存储器300内的寄存器到控制器100内的RAM的读 取时间。如图3A所示,当多个读取命令在不同的通讯信道上被下达到闪速 存储器300时,可以并行地执行所述读取命令。在图3A中,与在不同通讯 信道上的读取命令的固件操作相关的时间f/w可以彼此相同,或可以彼此不 同。例如,可以在不同的通信信道上同时执行下达的读取命令。此外,可以 彼此不同时地执行下达的读取命令以等待在每个通讯信道上的先前执行的命 令的完成。然而,如图3B所示,当多个读取命令在同一通讯信道上被下达到 闪速存储器300上时,第二读取命令被阻塞直至第一读取命令完成从闪速存 储器300内的寄存器到控制器100内的RAM的读取操作。.
图4A、图4B和图4C是示出当在图1的SSD 500上执行多个写入命令时的时序要求的框图。如图4A、图4B和图4C中所4吏用的,tWE表示从控 制器100内的RAM到闪速存储器300内的页緩冲器的写入时间,tPROG表 示从闪速存储器300内的页緩沖器到闪速存储器300内的单元阵列的写入时 间。如图4A所示,当多个读取和/或写入命令在不同的通讯信道上被下达到 闪速存储器300时,可以并行地执行所述读取和/或写入命令。在图4A中, 与在不同通讯信道上的读取和/或写入命令的固件操作相关的时间f/w可以彼 此相同,或可以^皮此不同。例如,可以在不同的通讯信道上同时执行被下达 的读取和/或写入命令。此外,可以等待在每个通讯信道上完成先前执行的读 取和/或写入命令而以彼此不同的时序执行被下达的读取和/或写入命令。然 而,如图4B所示,当多个读取和/或写入命令在相同的通讯信道但在不同的 通道上被下达到闪速存储器300时,读取操作被阻塞直至写入操作完成从控 制器100内的RAM到闪速存储器300内的页緩沖器的写入。如图4C所示, 当多个读取和/或写入命令在相同的通讯信道和相同的通道上被下达到闪速 存储器300时,读取操作被阻塞直至写入操作完成从控制器100内的RAM到 闪速存储器300内的页緩沖器的写入和从页緩沖器到闪速存储器300内的单 元阵列的写入。在图4A、图4B和图4C中,如果对整个页进行写入,就不 需要时间tR;然而,当对部分页进行写入时,#^刊'务改的回复制操作(copy back operation),其中,首先将数据读取到闪速存储器300内的页緩沖器中,将额 外的数据写入到页緩沖器,然后将页緩沖器写入到单元阵列。
图5是4艮据本发明一些实施例的SSD500的详细框图。控制器100包括 CPU 110;工作存^f诸器120,包括命令历史50;主机接口 140,包括用于在控 制器100和主机之间传输命令/数据的寄存器150;緩沖存储器控制单元160; 闪存接口 180,包括用于在控制器100和闪速存储器300之间进行命令/数据 通信的寄存器190。各种控制器100组件通过CPU总线130通信。主机接口 140可以被构造为利用各种接口协议(如USB、 MMC、快捷外围组件互连总 线(PCI-E)、高级技术附件(ATA)、串行高级技术附件(SATA)、并行-ATA、 小型计算机系统接口 (SCSI)、 SAS (串行连接SCSI)、加强型小型设备接口 (ESDI)和集成驱动电子设备(IDE)进行通信。主机接口 140可以支持如 SATA协议、SCSI协议和SAS协议的支持命令队列的协议。可以这样构造緩 冲存储器170,以存储在闪速存储器300和主机900之间传输的数据并存储 命令历史50',在本发明的一些实施例中,命令历史5(V还可以作为命令历史50存储在工作存储器120中。因此,根据本发明的各个实施例,命令历史 可以存储在工作存储器120和緩沖存储器170中的一个或两个中。緩冲存储 器170可以位于SSD控制器100的内部区域上,并可以位于SSD控制器100 的外部区域上。可以将主机接口 140构造为将地址转换为LBA。可以将在工 作存储器120中的闪存转换层(FTL)构造为将LBA转换成物理块地址 (PBA)。可以将FTL构造为利用命令历史50和/或5(K对具有被缩短的或 在某些情况下最短的预期阻塞时间的用于执行的存储器命令进行调度。调度 后的存储器命令和PBA—起通过闪存接口 180中的寄存器190传输到闪速存 储器300。
图6是示出才艮据本发明一些实施例的存储器命令历史的框图。如图6所 示,根据本发明的一些实施例,在命令历史队列或列表中的每个命令51-56 可以包括诸如信道、通道、直接存储器存取(DMA)时间及命令为读取命令 还是写入命令的本地信息。在其它实施例中,本地信息还可以包括地址转换 时间和/或硬件时序信息。可以基于存储器扇区大小和/或扇区数量(sector count)计算DMA时间。当所有与所述命令相关的操作都完成时,可以从列 表中去除先前执行过的命令。在一些实施例中,命令历史队列可以为循环队 列。根据本发明的一些实施例,即使没有完成诸如写入闪存单元阵列操作的 全部4喿作,也可以在完成地址转换后,认为命令已经祐i丸4亍。
现在将通过参照图6和图7的框图举例描述根据本发明的一些实施例的 选择用于执行的存储器命令的示例性操作。图6示出了存储器命令历史列表, 图7示出了根据本发明一些实施例的候选的用于执行的存储器命令150的队 列。根据本发明一些实施例,可以将FTL模块构造为将图7示出的与要执行 的候选存储器命令的列表相关的本地信息和与图6示出的先前执行的命令的 列表相关的本地信息进行比较,以选择具有被缩短的或最短的预期阻塞时间 的用于执行的命令。
参照图6和图7,通过FTL检查命令55并确定命令55是在信道2上执 行的来开始操作。然后,因为候选的命令143也被指派给信道2,所以FTL 从图7的候选队列中取消候选的命令143。之后,FTL才企查图6中的命令54 来确定命令54是在信道1上执行的。然后,因为候选的命令142也被指派给 信道l,所以FTL从图7的候选队列中取消候选的命令142。之后,FTL检 查图6中的命令53来确定命令53是在信道3上执行的。然后,因为候选的命令144也被指派给信道3, FTL从图7的候选队列中取消候选的命令144。 之后,FTL检查图6中的命令52来确定命令52是在信道0上执行的。然后, FTL确定剩余的候选的命令141和候选的命令145都被指派给信道0。 FTL 检查图6中的命令51来确定命令51是在信道0上执行的;然而,命令51被 指派给通道0而命令52被指派给通道1。然而,图7中的候选的命令141和 候选的命令145被分别指派给通道0和通道1。然后,因为候选的命令145 被指派给信道0和通道1 (与命令52相同),所以FTL从图7的候选队列中 取消候选的命令145。然后,FTL选择在信道O、通道0上的候选的命令141 来执行。如果余下的候选的命令都与相同的信道和通道相关时,则FTL取消 具有最长的直接存储器存取(DMA)时间的候选的命令,所述直接存储器存 取时间基于存储器扇区大小或扇区数量计算。
在一些实施例中,如果每个余下的候选的命令都与先前执行的命令中的 至少一个命令的信道和通道相同的信道和通道相关,则FTL从与先前更近执
行的命令的信道和通道相同的信道和通道相关的要执行的存储器命令队列中 选择用于执行的命令之一。然而,在一些实施例中,如果最佳的候选的用于
执行的命令以与先前的写入命令的信道和通道相同的信道和通道相关的写入 命令作为结束,则优选的候选的命令可以为与历史中更接近当前的先前执行 的命令冲突的命令;具体地讲,因为完成读取命令占用的时间短于完成写入 命令占用的时间,所以如果更接近当前的执行的命令是读取命令,则优选的 候选的命令可以为与历史中更接近当前的先前执行的命令沖突的命令。例如, 参照图6和图7, FTL才企查与命令51和命令52相关的DMA时间来确定命令 51具有15 m s的DMA时间而命令52具有30 n s的DMA时间。因为在信道 0、通道0上先前执行的命令51与在信道0、通道1上先前执行的命令52相 比,先前4丸行的命令51具有4支短的DMA时间,所以FTL耳又消指派给信道0、 通道1的候选的命令145,并选择在信道0、通道0上的候选的命令141来执 行。在选择候选的命令141来执行后,与候选的命令141对应的本地信息56 被存储在图6中的命令历史队列或列表中。在根据本发明的一些实施例的选 择用于执行的存储器命令的另一示例性操作中,可以通过由FTL监视信道的
条件,在完成先前的读取和/或写入命令的信道中执行读取和/或写入命令。此 外,可以基于通过FTL得到的信道条件的监视结果首先在具有空闲通道的信 道上扭^于读耳又和/或写入命令。图8是示出根据本发明一些实施例的基于先前执行的存储器命令的历史
来选择用于执行的存储器命令的存储器系统的操作的消息流示图。主机900 通过主机接口向控制器100发送读取和写入NCQ命令请求(SI 100 ),所述主 机接口支持如SATA协议、SCSI协议和SAS协议的支持命令队列的协议。控 制器IOO利用确认(acknowledgement)进行响应(S1200)。然后控制器100 向主机发送写入操作的DMA设置(setup )请求(S1300 )。 DMA设置的时序 根据命令而不同。在写入命令的情况下,在产生NCQ命令之后,控制器IOO 立即请求DMA设置,从而提前从主机得到写入数据。可以在控制器100处 在安排NCQ命令时序过程中请求DMA设置。当控制器100向主机900发出 DMA设置请求时,主机向控制器100发送写入数据(S1400)。控制器100 可以将写入数据存储在缓冲存储器170中。在控制器IOO将写入数据存储在 緩沖存储器170的同时,如上面参照图6和图7所述,FTL对接收的用于执 行的NCQ命令进行调度(S2200 )。在双处理器系统中,例如,在FTL完成 LBA和PBA之间的映射才喿作之前,控制器IOO可以对另一命令进行调度。然 后在存储器300上执行被调度了的命令(S2300)。在写入命令的情况下,从 在控制器100中的緩冲存储器向存储器300提供写入数据(S2400)。在读取 命令的情况下,从存储器300读取的命令存储在控制器100中的緩冲存储器 中(S2500 )。控制器100向主机900发送读取命令的DMA设置请求(S1600 )。 然后控制器100将存储在緩沖存储器中的读取数据提供到主机900 ( S1700 )。
图9和图IO示出了在根据本发明一些实施例的在存储器系统上执行写入 请求命令和读取请求命令的实验结果。如图9所示,根据本发明的一些实施 例,利用存储器命令的重新排序,可以将执行8KB随机写入的时间从879jas 减少到630ps。如图IO所示,根据本发明的一些实施例,利用存储器命令的 重新排序,可以将执行8KB随机读取的时间从657 n s减少到321 |i s。
图11是示出根据本发明一些实施例的包括存储器系统的电子系统(如计 算机系统)的框图。如图ll所示,电子系统可以包括微处理器主机900; 用户接口 800;电池700; SSD 500,包括存储器300 (例如闪速存储器)和 具有存储有先前执行的存储器命令50的列表的SSD存储器控制器100;调制 解调器600,它们通过地址/数据总线彼此结合。控制器100和存储器300可 以如上面参照图l-10所述地实施。因此,根据本发明的一些实施例,包括控 制器100和存储器300的存储器系统,可以在电子系统,例如但不限于图形卡、计算机、移动终端、个人数字助理(PDA)、相机、游戏控制台、MP3 播放器、电视机、DVD播放器、路由器和/或GPS系统中实施。
根据本发明的一些实施例的SSD存储器控制器100和/或存储器300可 以通过多种封装型式设置在计算机系统中,所述多种封装型式包括层叠封装 (PoP )、球栅阵列(BGA )、芯片级封装(CSP )、塑料有引线芯片载体(PLCC )、 塑料双列直插式封装(PDIP)、窝伏尔中芯片(die in waffle pack )、晶片中芯 片形式、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料公制方型 扁平封装(MQFP)、薄型四方扁平封装(TQFP)、小外型(SOIC)、缩小外 形封装(SSOP)、薄型小外型封装(TSOP)、系统级封装(SIP)、多芯片封 装(MCP)、晶片级制造封装(WFP)、晶片级处理堆叠封装(WSP)和/或晶 片级处理封装(WPP)等。在一些实施例中,可以将闪速存储器装置100的 存储单元构造成具有电荷存储单元的各种形式。可以通过包括电荷捕获层、 堆叠多个单元阵列的堆叠单元阵列、没有源区和漏区的闪存装置和/或接脚型 闪存结构等实现闪存装置的电荷存储结构。
可以在实质上不脱离本发明的原理的情况下对实施例作出许多改变和修 改。这里,意图将所有这些改变和修改包括在如权利要求所提出的本发明的 范围内。
权利要求
1、一种操作存储器系统的方法,所述方法包括如下步骤保持要执行的存储器命令的队列;保持先前执行的存储器命令的列表;将与要执行的命令相关的本地信息和与先前执行的命令的列表相关的本地信息进行比较;基于比较的结果,从要执行的存储器命令的队列中选择用于执行的命令之一。
2、 如权利要求l所述的方法,其中,所述本地信息包括信道、通道、直接存储器存取时间、地址转换时间或硬件时序信息。
3、 如权利要求l所述的方法,其中,选择用于执行的命令之一的步骤包括从具有最短的预期阻塞时间的要执行的存储器命令的队列中选择用于执行的命令之一。
4、 如权利要求l所述的方法,其中,选择用于执行的命令之一的步骤包括在以先前执行的存储器命令中最接近当前地执行的命令开始并进行直至选出用于执行的命令期间,执行下述步骤当余下的候选的命令不都与相同的信道相关时,取消与先前执行的命令的信道相同的信道相关的候选的用于执行命令;然后当余下的候选的命令全都与相同的信道相关但不都与相同的信道和通道相关时,取消与先前执行的命令的信道和通道相同的信道和通道相关的候选的命令;然后当余下的候选的命令都与相同的信道和通道相关时,取消具有最长的直接存储器存取时间的候选的命令。
5、 如权利要求4所述的方法,其中,选择用于执行的命令之一的步骤包括当每个余下的候选的命令都与先前执行的命令中的至少一个命令的信道和通道相同的信道和通道相关时,从与先前更近执行的命令的信道和通道相同
6、 如权利要求4所述的方法,其中,基于存储器扇区的大小和/或扇区数量来计算直接存储器存取时间。
7、 如权利要求4所述的方法,其中,所述信道和通道乂人逻辑块地址信息 中得出。
8、 如权利要求1所述的方法,所述方法还包括当与先前执行的命令之一相关的所有操作都完成时,从先前执行的存储 器命令列表中除去先前执行过的命令之一。
9、 如权利要求l所述的方法,其中,命令的执行包括地址转换。
10、 如权利要求1所述的方法,其中,先前执行的存储器命令列表为循 环列表。
11、 如权利要求1所述的方法,其中,所述方法是通过闪存转换层执行的。
12、 如权利要求l所述的方法,其中,存储器包括闪速存储器。
13、 如权利要求12所述的方法,其中,闪速存储器包括NAND、 NOR 或One_NAND型闪速存储器。
14、 一种操作包括主机、存储器控制器和存储器的存储器系统的操作方 法,所述方法包括如下步骤从主机向存储器控制器发送存储器命令;基于先前执行的存储器命令的历史来确定存储器命令的执行顺序; 在确定执行顺序的同时从主机向存储器控制器发送写入数据; 将写入数据从存储器控制器写入到存储器; 从存储器将读取数据读取到存储器控制器中; 从存储器控制器向主机发送读取数据。
15、 如权利要求14所述的方法,其中,确定执行顺序的步骤包括 保持要执行的存储器命令的队列; 保持先前执行的存储器命令的列表;将与要执行的存储器命令相关的本地信息和与先前执行的存储器命令的列表相关的本地信息进行比较;基于比较的结果,从要执行的存储器命令的队列中选择用于执行的存储 器命令之一。
16、 如权利要求15所述的方法,其中,本地信息包括信道、通道、直接 存储器存取时间、地址转换时间或硬件时序信息。
17、 如权利要求14所述的方法,其中,存储器包括闪速存储器。
18、 如权利要求17所述的方法,其中,闪速存储器包括NAND、 NOR或One一NAND型闪速存4诸器。
19、 一种存储器系统,所述存储器系统包括存储器;存储器控制器,被构造为保持要执行的存储器命令的队列,保持先前执行的存储器命令的列表;将与要执行的命令相关的本地信息和与先前执行的命令的列表相关的本地信息进行比较;之一。
20、 如权利要求19所述的系统,其中,本地信息包括信道、通道、直接存储器存取时间、地址转换时间或硬件时序信息。
21、 如权利要求19所述的系统,其中,存储器包括闪速存储器。
22、 如权利要求21所述的系统,其中,闪速存储器包括NAND、 NOR或One一NAND型闪速存储器。
23、 如权利要求19所述的存储器系统,其中,所述存储器系统在下述装置中实施存储卡装置、固态驱动器装置,ATA总线装置、串行ATA总线装置、小型计算机系统接口装置、串行连接小型计算机系统接口装置、多媒体卡装置、安全数字装置、记忆棒装置、硬盘驱动器装置、混合硬盘驱动器装置或通用串行总线闪存驱动装置。
24、 如权利要求19所述的存储器系统,其中,所述存储器系统在下述装置中实施图形卡、计算机、移动终端、个人数字助理、相机、游戏控制台、MP3播放器、电视机、DVD播放器、路由器或GPS系统。
全文摘要
本发明提供了一种存储器系统和操作存储器系统的方法。存储器系统通过下述步骤操作保持要执行的存储器命令的队列;保持先前执行的存储器命令的列表;将与要执行的命令相关的本地信息和与先前执行的命令的列表相关的本地信息进行比较;基于比较的结果,从要执行的存储器命令的队列中选择用于执行的命令之一。
文档编号G06F3/06GK101593084SQ20091014177
公开日2009年12月2日 申请日期2009年5月21日 优先权日2008年5月21日
发明者洪斗源 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1