CN101593084B - 存储器系统和操作存储器系统的方法 - Google Patents
存储器系统和操作存储器系统的方法 Download PDFInfo
- Publication number
- CN101593084B CN101593084B CN200910141775.XA CN200910141775A CN101593084B CN 101593084 B CN101593084 B CN 101593084B CN 200910141775 A CN200910141775 A CN 200910141775A CN 101593084 B CN101593084 B CN 101593084B
- Authority
- CN
- China
- Prior art keywords
- order
- memory
- channel
- passage
- carrying
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B9/00—Recording or reproducing using a method not covered by one of the main groups G11B3/00 - G11B7/00; Record carriers therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种存储器系统和操作存储器系统的方法。存储器系统通过下述步骤操作:保持要执行的存储器命令的队列;保持先前执行的存储器命令的列表;将与要执行的命令相关的本地信息和与先前执行的命令的列表相关的本地信息进行比较;基于比较的结果,从要执行的存储器命令的队列中选择用于执行的命令之一。
Description
本申请要求于2008年5月21日在韩国知识产权局提交的第10-2008-0047244号韩国专利申请和于2009年4月29日提交的第12/432,299号美国专利申请的权益和优先权,因此,其全部公开通过引用包含于此。
技术领域
本发明总体涉及数据处理系统,更具体地讲,涉及存储器装置(例如在数据处理系统中的存储器系统)的使用。
背景技术
本地命令队列(Native Command Queuing,NCQ)是一种设计为用于增强利用串行高级技术附件(SATA)接口或支持命令队列的其它接口的硬盘驱动器(HDD)的性能的技术。具体地讲,NCQ可允许硬盘使执行接收的读取和写入命令的顺序内部最优化,这可以减少不必要的驱动头运动并改善性能。然而,固态驱动器(SSD)装置不具有在HDD中使用的机械运动部件。因此,NCQ技术通常不应用到SSD装置。
发明内容
根据本发明的一些实施例,存储器系统通过下述步骤操作:保持要执行的存储器命令的队列;保持先前执行的存储器命令的列表;将与要执行的命令相关的本地信息和与先前执行的命令的列表相关的本地信息进行比较;基于比较的结果,从要执行的存储器命令的队列中选择用于执行的命令之一。
在其它的实施例中,本地信息包括信道(channel)、通道(way)、直接存储器存取(DMA)时间、地址转换时间和/或硬件时序信息。
在其它实施例中,选择用于执行的命令之一的步骤包括从具有最短的预期阻塞(blocking)时间的要执行的存储器命令的队列中选择用于执行的命令之一。
在其它实施例中,选择用于执行的命令之一的步骤包括:在以先前执行的存储器命令中最接近当前地执行的命令开始并进行直至选出用于执行的命令期间,执行下述步骤:当余下的候选的命令不都与相同的信道相关时,取消与先前执行的命令的信道相同的信道相关的候选的用于执行命令;然后当余下的候选的命令全都与相同的信道相关但不都与相同的信道和通道相关时,取消与先前执行的命令的信道和通道相同的信道和通道相关的候选的命令;然后当余下的候选的命令都与相同的信道和通道相关时,取消具有最长的直接存储器存取时间的候选的命令。
在其它实施例中,选择用于执行的命令之一的步骤包括当每个余下的候选的命令都与先前执行的命令中的至少一个命令的信道和通道相同的信道和通道相关时,从和先前更近执行的命令的信道和通道相同的信道和通道相关的要执行的存储器命令队列中选择用于执行的命令之一。
在其它实施例中,基于存储器扇区的大小和/或扇区数量来计算DMA时间。
在其它实施例中,信道和通道是从逻辑块地址(LBA)信息中得出。
在其它实施例中,所述方法还包括当与先前执行的命令之一相关的所有操作都完成时,从先前执行过的存储器命令的列表中除去先前执行的命令之一。
在其它实施例中,命令的执行包括转换地址。
在其它实施例中,先前执行的存储器命令的列表为循环列表。
在其它实施例中,上述方法中至少一个是通过闪存转换层(FTL)执行的。
在其它实施例中,存储器包括闪速存储器。
在其它实施例中,闪速存储器包括NAND、NOR和/或One_NAND型闪速存储器。
在本发明的更多的实施例中,存储器系统包括主机、存储器控制器和存储器,存储器的操作是通过下述步骤实现的:从主机向存储器控制器发送存储器命令;基于先前执行的存储器命令的历史来确定存储器命令的执行顺序;在确定执行顺序的同时从主机向存储器控制器发送写入数据;将写入数据从存储器控制器写入到存储器;从存储器将读取数据读取到存储器控制器中;从存储器控制器向主机发送读取数据。
在更多的实施例中,确定执行顺序的步骤包括:保持要执行的存储器命令的队列;保持先前执行的存储器命令的列表;将与要执行的存储器命令相关的本地信息和与先前执行的存储器命令的列表相关的本地信息进行比较;基于比较的结果,从要执行的存储器命令的队列中选择用于执行的存储器命令之一。
在更多的实施例中,本地信息包括信道、通道、直接存储器存取(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和图10示出了根据本发明一些实施例的在存储器系统上执行写入请求命令和读取请求命令的实验结果;
图11是根据本发明一些实施例的包括存储器系统的电子系统的框图。
具体实施方式
虽然本发明允许各种修改和替换形式,但是通过附图中的例子的方式示出本发明的特定实施例并在此进行详细描述。然而,应该理解的是,没有意图将本发明限制为公开的具体形式,相反,本发明将覆盖落入由权利要求限定的本发明的精神和范围内的所有修改、等同物和替换物。在对附图的整个说明中,相同的标号表示相同的元件。
如这里所使用的,除非另外清楚地指出,否则单数形式也意图包括复数形式。还应理解的是,当在本说明书中使用术语“包含”和/或“包括”时,说明存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或它们的组。应该理解的是,当元件被称作“连接”或“结合”到另一元件时,该元件可以直接连接或结合到另一元件,或者可以存在中间元件。此外,如这里使用的,“连接”或“结合”可以包括无线连接或结合。如这里所使用的,术语“和/或”包括一个或多个相关所列项的任意组合和所有组合。
除非另有定义,否则这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域的普通技术人员所通常理解的意思相同的意思。还将理解的是,除非这里明确定义,否则术语(诸如在通用字典中定义的术语)应该被解释为具有与相关领域的环境中它们的意思一致的意思,而将不以理想的或者过于正式的含义来解释它们。
为了示出的目的,这里参照包括闪速存储器数据存储装置的存储器系统对本发明的多个实施例进行描述。应该理解的是,所述数据存储装置不限于闪速存储器装置的实施方式,而是可以通常地实施到写入前擦除(erase beforewrite)存储器装置。此外,应该理解的是,所述数据存储装置不限于非易失性存储器装置的实施方式,还可以实施到诸如动态随机存取存储器(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-1)分别相连的多个闪存芯片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-1)分别相连的多个闪存芯片310、320、...、330。每个通讯信道可以独立于其它通讯信道操作。共享同一通讯信道的闪存芯片通过通道号区分。根据本发明的一些实施例,闪速存储器300中的每个芯片可以通过通道和通讯信道来识别,所述通道和通讯信道可以基于逻辑块地址(LBA)计算出。在一些实施例中,闪速存储器300为NAND、NOR和/或One_NAND型闪速存储器。
图3A和图3B是示出在图1的SSD 500上执行多个读取命令时的时序要求的框图。如图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中所使用的,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 backoperation),其中,首先将数据读取到闪速存储器300内的页缓冲器中,将额外的数据写入到页缓冲器,然后将页缓冲器写入到单元阵列。
图5是根据本发明一些实施例的SSD 500的详细框图。控制器100包括:CPU 110;工作存储器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′,在本发明的一些实施例中,命令历史50′还可以作为命令历史50存储在工作存储器120中。因此,根据本发明的各个实施例,命令历史可以存储在工作存储器120和缓冲存储器170中的一个或两个中。缓冲存储器170可以位于SSD控制器100的内部区域上,并可以位于SSD控制器100的外部区域上。可以将主机接口140构造为将地址转换为LBA。可以将在工作存储器120中的闪存转换层(FTL)构造为将LBA转换成物理块地址(PBA)。可以将FTL构造为利用命令历史50和/或50′对具有被缩短的或在某些情况下最短的预期阻塞时间的用于执行的存储器命令进行调度。调度后的存储器命令和PBA一起通过闪存接口180中的寄存器190传输到闪速存储器300。
图6是示出根据本发明一些实施例的存储器命令历史的框图。如图6所示,根据本发明的一些实施例,在命令历史队列或列表中的每个命令51-56可以包括诸如信道、通道、直接存储器存取(DMA)时间及命令为读取命令还是写入命令的本地信息。在其它实施例中,本地信息还可以包括地址转换时间和/或硬件时序信息。可以基于存储器扇区大小和/或扇区数量(sectorcount)计算DMA时间。当所有与所述命令相关的操作都完成时,可以从列表中去除先前执行过的命令。在一些实施例中,命令历史队列可以为循环队列。根据本发明的一些实施例,即使没有完成诸如写入闪存单元阵列操作的全部操作,也可以在完成地址转换后,认为命令已经被执行。
现在将通过参照图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也被指派给信道1,所以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选择在信道0、通道0上的候选的命令141来执行。如果余下的候选的命令都与相同的信道和通道相关时,则FTL取消具有最长的直接存储器存取(DMA)时间的候选的命令,所述直接存储器存取时间基于存储器扇区大小或扇区数量计算。
在一些实施例中,如果每个余下的候选的命令都与先前执行的命令中的至少一个命令的信道和通道相同的信道和通道相关,则FTL从与先前更近执行的命令的信道和通道相同的信道和通道相关的要执行的存储器命令队列中选择用于执行的命令之一。然而,在一些实施例中,如果最佳的候选的用于执行的命令以与先前的写入命令的信道和通道相同的信道和通道相关的写入命令作为结束,则优选的候选的命令可以为与历史中更接近当前的先前执行的命令冲突的命令;具体地讲,因为完成读取命令占用的时间短于完成写入命令占用的时间,所以如果更接近当前的执行的命令是读取命令,则优选的候选的命令可以为与历史中更接近当前的先前执行的命令冲突的命令。例如,参照图6和图7,FTL检查与命令51和命令52相关的DMA时间来确定命令51具有15μs的DMA时间而命令52具有30μs的DMA时间。因为在信道0、通道0上先前执行的命令51与在信道0、通道1上先前执行的命令52相比,先前执行的命令51具有较短的DMA时间,所以FTL取消指派给信道0、通道1的候选的命令145,并选择在信道0、通道0上的候选的命令141来执行。在选择候选的命令141来执行后,与候选的命令141对应的本地信息56被存储在图6中的命令历史队列或列表中。在根据本发明的一些实施例的选择用于执行的存储器命令的另一示例性操作中,可以通过由FTL监视信道的条件,在完成先前的读取和/或写入命令的信道中执行读取和/或写入命令。此外,可以基于通过FTL得到的信道条件的监视结果首先在具有空闲通道的信道上执行读取和/或写入命令。
图8是示出根据本发明一些实施例的基于先前执行的存储器命令的历史来选择用于执行的存储器命令的存储器系统的操作的消息流示图。主机900通过主机接口向控制器100发送读取和写入NCQ命令请求(S1100),所述主机接口支持如SATA协议、SCSI协议和SAS协议的支持命令队列的协议。控制器100利用确认(acknowledgement)进行响应(S1200)。然后控制器100向主机发送写入操作的DMA设置(setup)请求(S1300)。DMA设置的时序根据命令而不同。在写入命令的情况下,在产生NCQ命令之后,控制器100立即请求DMA设置,从而提前从主机得到写入数据。可以在控制器100处在安排NCQ命令时序过程中请求DMA设置。当控制器100向主机900发出DMA设置请求时,主机向控制器100发送写入数据(S1400)。控制器100可以将写入数据存储在缓冲存储器170中。在控制器100将写入数据存储在缓冲存储器170的同时,如上面参照图6和图7所述,FTL对接收的用于执行的NCQ命令进行调度(S2200)。在双处理器系统中,例如,在FTL完成LBA和PBA之间的映射操作之前,控制器100可以对另一命令进行调度。然后在存储器300上执行被调度了的命令(S2300)。在写入命令的情况下,从在控制器100中的缓冲存储器向存储器300提供写入数据(S2400)。在读取命令的情况下,从存储器300读取的命令存储在控制器100中的缓冲存储器中(S2500)。控制器100向主机900发送读取命令的DMA设置请求(S1600)。然后控制器100将存储在缓冲存储器中的读取数据提供到主机900(S1700)。
图9和图10示出了在根据本发明一些实施例的在存储器系统上执行写入请求命令和读取请求命令的实验结果。如图9所示,根据本发明的一些实施例,利用存储器命令的重新排序,可以将执行8KB随机写入的时间从879μs减少到630μs。如图10所示,根据本发明的一些实施例,利用存储器命令的重新排序,可以将执行8KB随机读取的时间从657μs减少到321μs。
图11是示出根据本发明一些实施例的包括存储器系统的电子系统(如计算机系统)的框图。如图11所示,电子系统可以包括:微处理器主机900;用户接口800;电池700;SSD 500,包括存储器300(例如闪速存储器)和具有存储有先前执行的存储器命令50的列表的SSD存储器控制器100;调制解调器600,它们通过地址/数据总线彼此结合。控制器100和存储器300可以如上面参照图1-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的存储单元构造成具有电荷存储单元的各种形式。可以通过包括电荷捕获层、堆叠多个单元阵列的堆叠单元阵列、没有源区和漏区的闪存装置和/或接脚型闪存结构等实现闪存装置的电荷存储结构。
可以在实质上不脱离本发明的原理的情况下对实施例作出许多改变和修改。这里,意图将所有这些改变和修改包括在如权利要求所提出的本发明的范围内。
Claims (24)
1.一种操作存储器系统的方法,所述方法包括如下步骤:
保持要执行的存储器命令的队列;
保持先前执行的存储器命令的列表;
将与要执行的命令相关的本地信息和与先前执行的命令的列表相关的本地信息进行比较;
基于比较的结果,从要执行的存储器命令的队列中选择用于执行的命令之一。
2.如权利要求1所述的方法,其中,所述本地信息包括信道、通道、直接存储器存取时间、地址转换时间或硬件时序信息。
3.如权利要求1所述的方法,其中,选择用于执行的命令之一的步骤包括从具有最短的预期阻塞时间的要执行的存储器命令的队列中选择用于执行的命令之一。
4.如权利要求1所述的方法,其中,选择用于执行的命令之一的步骤包括:
在以先前执行的存储器命令中的最近执行的命令来开始并进行、直至选出用于执行的命令为止期间,执行下述步骤:
当余下的候选的命令不都与相同的信道相关时,取消与先前执行的命令的信道相同的信道相关的候选的用于执行命令;然后
当余下的候选的命令全都与相同的信道相关但不都与相同的通道相关时,取消与先前执行的命令的信道和通道相同的信道和通道相关的候选的命令;然后
当余下的候选的命令都与相同的信道和通道相关时,取消具有最长的直接存储器存取时间的候选的命令。
5.如权利要求4所述的方法,其中,选择用于执行的命令之一的步骤包括当每个余下的候选的命令都与先前执行的命令中的至少一个命令的信道和通道相同的信道和通道相关时,从与先前更近执行的命令的信道和通道相同的信道和通道相关的要执行的存储器命令队列中选择用于执行的命令之一。
6.如权利要求4所述的方法,其中,基于存储器扇区的大小和/或扇区数量来计算直接存储器存取时间。
7.如权利要求4所述的方法,其中,所述信道和通道从逻辑块地址信息中得出。
8.如权利要求1所述的方法,所述方法还包括:
当与先前执行的命令之一相关的所有操作都完成时,从先前执行的存储器命令列表中除去先前执行过的命令之一。
9.如权利要求1所述的方法,其中,命令的执行包括地址转换。
10.如权利要求1所述的方法,其中,先前执行的存储器命令列表为循环列表。
11.如权利要求1所述的方法,其中,所述方法是通过闪存转换层执行的。
12.如权利要求1所述的方法,其中,存储器包括闪速存储器。
13.如权利要求12所述的方法,其中,闪速存储器包括NAND、NOR或One_NAND型闪速存储器。
14.一种操作包括主机、存储器控制器和存储器的存储器系统的操作方法,所述方法包括如下步骤:
从主机向存储器控制器发送存储器命令;
基于先前执行的存储器命令的历史来确定存储器命令的执行顺序;
在确定执行顺序的同时从主机向存储器控制器发送写入数据;
将写入数据从存储器控制器写入到存储器;
从存储器将读取数据读取到存储器控制器中;
从存储器控制器向主机发送读取数据。
15.如权利要求14所述的方法,其中,确定执行顺序的步骤包括:
保持要执行的存储器命令的队列;
保持先前执行的存储器命令的列表;
将与要执行的存储器命令相关的本地信息和与先前执行的存储器命令的列表相关的本地信息进行比较;
基于比较的结果,从要执行的存储器命令的队列中选择用于执行的存储器命令之一。
16.如权利要求15所述的方法,其中,本地信息包括信道、通道、直接存储器存取时间、地址转换时间或硬件时序信息。
17.如权利要求14所述的方法,其中,存储器包括闪速存储器。
18.如权利要求17所述的方法,其中,闪速存储器包括NAND、NOR或One_NAND型闪速存储器。
19.一种存储器系统,所述存储器系统包括:
存储器;
存储器控制器,被构造为保持要执行的存储器命令的队列,保持先前执行的存储器命令的列表;
将与要执行的命令相关的本地信息和与先前执行的命令的列表相关的本地信息进行比较;
基于比较的结果,从要执行的存储器命令的队列中选择用于执行的命令之一。
20.如权利要求19所述的系统,其中,本地信息包括信道、通道、直接存储器存取时间、地址转换时间或硬件时序信息。
21.如权利要求19所述的系统,其中,存储器包括闪速存储器。
22.如权利要求21所述的系统,其中,闪速存储器包括NAND、NOR或One_NAND型闪速存储器。
23.如权利要求19所述的存储器系统,其中,所述存储器系统在下述装置中实施:存储卡装置、固态驱动器装置,ATA总线装置、串行ATA总线装置、小型计算机系统接口装置、串行连接小型计算机系统接口装置、多媒体卡装置、安全数字装置、记忆棒装置、硬盘驱动器装置、混合硬盘驱动器装置或通用串行总线闪存驱动装置。
24.如权利要求19所述的存储器系统,其中,所述存储器系统在下述装置中实施:图形卡、计算机、移动终端、个人数字助理、相机、游戏控制台、MP3播放器、电视机、DVD播放器、路由器或GPS系统。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2008-0047244 | 2008-05-21 | ||
KR20080047244A KR101486987B1 (ko) | 2008-05-21 | 2008-05-21 | 불휘발성 메모리를 포함하는 반도체 메모리 장치 및 불휘발성 메모리를 위한 커맨드 스케줄링 방법 |
KR1020080047244 | 2008-05-21 | ||
US12/432,299 US8171242B2 (en) | 2008-05-21 | 2009-04-29 | Systems and methods for scheduling a memory command for execution based on a history of previously executed memory commands |
US12/432,299 | 2009-04-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101593084A CN101593084A (zh) | 2009-12-02 |
CN101593084B true CN101593084B (zh) | 2014-07-30 |
Family
ID=41342920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910141775.XA Active CN101593084B (zh) | 2008-05-21 | 2009-05-21 | 存储器系统和操作存储器系统的方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US8171242B2 (zh) |
KR (1) | KR101486987B1 (zh) |
CN (1) | CN101593084B (zh) |
TW (1) | TWI468945B (zh) |
Families Citing this family (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101486987B1 (ko) * | 2008-05-21 | 2015-01-30 | 삼성전자주식회사 | 불휘발성 메모리를 포함하는 반도체 메모리 장치 및 불휘발성 메모리를 위한 커맨드 스케줄링 방법 |
US8151037B1 (en) * | 2008-05-28 | 2012-04-03 | Marvell International Ltd. | Interface for solid-state memory |
KR101014149B1 (ko) | 2008-11-13 | 2011-02-14 | (주)인디링스 | 메모리 뱅크로의 접근을 제어하는 고체 상태 디스크를 위한컨트롤러 |
US8108737B2 (en) * | 2009-10-05 | 2012-01-31 | Sandforce, Inc. | System, method, and computer program product for sending failure information from a serial ATA (SATA) solid state drive (SSD) to a host device |
US8131889B2 (en) * | 2009-11-10 | 2012-03-06 | Apple Inc. | Command queue for peripheral component |
US8489803B2 (en) * | 2009-12-14 | 2013-07-16 | Smsc Holdings S.A.R.L. | Efficient use of flash memory in flash drives |
US8745304B2 (en) * | 2010-02-01 | 2014-06-03 | Standard Microsystems Corporation | USB to SD bridge |
WO2011119151A1 (en) * | 2010-03-24 | 2011-09-29 | Hewlett-Packard Development Company, L.P. | Communication between a computer and a data storage device |
JP5585171B2 (ja) * | 2010-03-31 | 2014-09-10 | 富士通株式会社 | ストレージ制御装置、ストレージシステム及びストレージ制御方法 |
US9483395B2 (en) * | 2010-06-02 | 2016-11-01 | St-Ericsson Sa | Asynchronous bad block management in NAND flash memory |
KR101893176B1 (ko) * | 2010-12-03 | 2018-08-29 | 삼성전자주식회사 | 멀티 칩 메모리 장치 및 그것의 구동 방법 |
JP5296041B2 (ja) * | 2010-12-15 | 2013-09-25 | 株式会社東芝 | メモリシステムおよびメモリシステムの制御方法 |
CN102566936B (zh) * | 2010-12-28 | 2015-04-29 | 联想(北京)有限公司 | 一种磁盘数据读取方法、装置及磁盘驱动装置 |
US8924627B2 (en) | 2011-03-28 | 2014-12-30 | Western Digital Technologies, Inc. | Flash memory device comprising host interface for processing a multi-command descriptor block in order to exploit concurrency |
US20130019052A1 (en) * | 2011-07-14 | 2013-01-17 | Vinay Ashok Somanache | Effective utilization of flash interface |
US8806112B2 (en) | 2011-07-14 | 2014-08-12 | Lsi Corporation | Meta data handling within a flash media controller |
US9021146B2 (en) | 2011-08-30 | 2015-04-28 | Apple Inc. | High priority command queue for peripheral component |
KR20130084902A (ko) * | 2012-01-18 | 2013-07-26 | 삼성전자주식회사 | 저장 장치, 저장 시스템 및 저장 장치에 대한 입출력 제어 방법 |
US8918680B2 (en) | 2012-01-23 | 2014-12-23 | Apple Inc. | Trace queue for peripheral component |
US20130242425A1 (en) | 2012-03-16 | 2013-09-19 | Toshiba America Electronics Components, Inc. | Write reordering in a hybrid disk drive |
US8943255B2 (en) * | 2012-05-29 | 2015-01-27 | Lsi Corporation | Methods and structure for accounting for connection resets between peripheral component interconnect express bridges and host devices |
KR101949671B1 (ko) * | 2012-06-28 | 2019-04-25 | 삼성전자 주식회사 | 라이프 싸이클을 증가시킬 수 있는 저장 장치 및 그 동작 방법 |
KR20140032789A (ko) * | 2012-09-07 | 2014-03-17 | 삼성전자주식회사 | 불휘발성 메모리 장치의 컨트롤러 및 그것의 커멘드 스케줄링 방법 |
KR101979735B1 (ko) | 2012-11-02 | 2019-05-17 | 삼성전자 주식회사 | 비휘발성 메모리 시스템 및 이와 통신하는 호스트 |
KR102002826B1 (ko) * | 2012-12-04 | 2019-07-23 | 삼성전자 주식회사 | 저장 장치, 플래시 메모리 및 저장 장치의 동작 방법 |
CN103034603B (zh) * | 2012-12-07 | 2014-06-18 | 天津瑞发科半导体技术有限公司 | 多通道闪存卡控制装置及其控制方法 |
US9519440B2 (en) * | 2013-09-10 | 2016-12-13 | Qualcomm Incorporated | Providing command queuing in embedded memories |
US20150113197A1 (en) * | 2013-10-22 | 2015-04-23 | Western Digital Technologies, Inc. | Data storage device comprising multiple storage units |
US9390033B2 (en) * | 2013-11-13 | 2016-07-12 | Sandisk Technologies Llc | Method and system for communicating with non-volatile memory via multiple data paths |
KR20150128406A (ko) * | 2014-05-09 | 2015-11-18 | 삼성전자주식회사 | 음성 인식 정보를 표시하는 방법 및 장치 |
KR101655008B1 (ko) * | 2014-11-27 | 2016-09-06 | 숭실대학교산학협력단 | 실시간 멀티칩 플래시 저장장치 및 그 방법 |
US10156994B2 (en) * | 2015-02-27 | 2018-12-18 | Western Digital Technologies, Inc. | Methods and systems to reduce SSD IO latency |
US9965323B2 (en) | 2015-03-11 | 2018-05-08 | Western Digital Technologies, Inc. | Task queues |
KR20170032502A (ko) * | 2015-09-14 | 2017-03-23 | 삼성전자주식회사 | 스토리지 장치 및 그것의 인터럽트 발생 방법 |
TWI587141B (zh) * | 2015-09-17 | 2017-06-11 | 慧榮科技股份有限公司 | 記憶裝置及資料讀取方法 |
CN106547701B (zh) | 2015-09-17 | 2020-01-10 | 慧荣科技股份有限公司 | 记忆装置及数据读取方法 |
WO2017131671A1 (en) * | 2016-01-27 | 2017-08-03 | Hewlett Packard Enterprise Development Lp | Securing a memory device |
KR102542375B1 (ko) | 2016-08-19 | 2023-06-14 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 그의 동작 방법 |
KR102697927B1 (ko) | 2016-11-11 | 2024-08-22 | 삼성전자주식회사 | 스토리지 장치 및 그 동작 방법 |
US10198203B2 (en) * | 2016-11-15 | 2019-02-05 | Samsung Electronics Co., Ltd. | Method of operating memory device using pseudo-random functions, memory device using the same and memory system including the device |
CN106598742B (zh) * | 2016-12-26 | 2020-01-03 | 湖南国科微电子股份有限公司 | 一种ssd主控内部负载均衡系统及方法 |
KR20180092476A (ko) * | 2017-02-09 | 2018-08-20 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
CN108932106B (zh) * | 2017-05-26 | 2021-07-02 | 上海宝存信息科技有限公司 | 固态硬盘访问方法以及使用该方法的装置 |
KR102549540B1 (ko) | 2017-09-22 | 2023-06-29 | 삼성전자주식회사 | 스토리지 장치 및 그 동작 방법 |
CN110059028A (zh) * | 2018-01-17 | 2019-07-26 | 瑞昱半导体股份有限公司 | 数据储存芯片及数据存取方法 |
US10534551B1 (en) | 2018-06-22 | 2020-01-14 | Micron Technology, Inc. | Managing write operations during a power loss |
US10817217B2 (en) | 2018-06-28 | 2020-10-27 | Seagate Technology Llc | Data storage system with improved time-to-ready |
US11150836B2 (en) | 2018-06-28 | 2021-10-19 | Seagate Technology Llc | Deterministic optimization via performance tracking in a data storage system |
KR20200019513A (ko) * | 2018-08-14 | 2020-02-24 | 에스케이하이닉스 주식회사 | 컨트롤러, 메모리 시스템 및 그 동작 방법 |
US10732900B2 (en) * | 2018-10-24 | 2020-08-04 | Western Digital Technologies, Inc. | Bounded latency and command non service methods and apparatus |
CN110247973B (zh) * | 2019-06-17 | 2021-09-24 | 华云数据控股集团有限公司 | 数据读取、写入的方法及文件网关 |
US11256423B2 (en) | 2019-10-14 | 2022-02-22 | Western Digital Technologies, Inc. | Efficiently identifying command readiness based on system state and data spread in multi queue depth environment |
KR20210082705A (ko) | 2019-12-26 | 2021-07-06 | 삼성전자주식회사 | 미리 정의된 시간을 사용한 스토리지 장치의 작업 스케쥴링 방법 및 이를 이용한 스토리지 시스템의 구동 방법 |
US11892956B2 (en) * | 2019-12-31 | 2024-02-06 | Micron Technology, Inc. | Performance of memory system background operations |
US11137943B2 (en) | 2020-03-04 | 2021-10-05 | Micron Technology, Inc. | Internal commands for access operations |
US11698734B2 (en) * | 2020-07-22 | 2023-07-11 | Seagate Technology Llc | Collision reduction through just-in-time resource allocation |
US11726715B2 (en) | 2021-10-11 | 2023-08-15 | Western Digital Technologies, Inc. | Efficient data path in compare command execution |
US12020048B2 (en) | 2022-03-21 | 2024-06-25 | International Business Machines Corporation | Creating scripts from command line history |
KR102428901B1 (ko) | 2022-04-15 | 2022-08-04 | 삼성전자주식회사 | 명령어 로그 레지스터를 포함하는 반도체 메모리 장치 및 그것의 명령어 로그 출력 방법 |
US20230419392A1 (en) * | 2022-06-22 | 2023-12-28 | Maplebear Inc. (Dba Instacart) | Displaying a three-dimensional image of an item to a user of an online concierge system during order fulfillment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5932612A (en) * | 1997-08-05 | 1999-08-03 | Medicis Pharmaceutical Corp. | Compositions and systems for the treatment of hyperpigmentation |
CN1235348A (zh) * | 1998-04-10 | 1999-11-17 | 松下电器产业株式会社 | 仪器控制命令处理系统及其方法 |
CN1882918A (zh) * | 2003-10-03 | 2006-12-20 | 桑迪士克股份有限公司 | 快闪存储器数据校正及擦除技术 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100212142B1 (ko) * | 1996-09-12 | 1999-08-02 | 윤종용 | 매크로 명령기능을 가진 동기식 반도체 메모리장치와 매크로 명령의 저장 및 실행방법 |
US6785793B2 (en) * | 2001-09-27 | 2004-08-31 | Intel Corporation | Method and apparatus for memory access scheduling to reduce memory access latency |
US6917992B2 (en) * | 2002-09-30 | 2005-07-12 | Intel Corporation | Method and apparatus for efficient command queuing within a serial ATA environment |
KR100988395B1 (ko) * | 2003-02-18 | 2010-10-18 | 마이크로소프트 코포레이션 | 태스크 스케줄링 방법, 태스크 스케줄링 지원 장치, 코프로세싱 스케줄러에 관련하여 사용하기 위한 코프로세서, 및 컴퓨터 판독가능 저장 매체 |
US7328315B2 (en) * | 2005-02-03 | 2008-02-05 | International Business Machines Corporation | System and method for managing mirrored memory transactions and error recovery |
US7805543B2 (en) * | 2005-06-30 | 2010-09-28 | Intel Corporation | Hardware oriented host-side native command queuing tag management |
WO2007024740A2 (en) * | 2005-08-25 | 2007-03-01 | Silicon Image, Inc. | Smart scalable storage switch architecture |
US7694026B2 (en) * | 2006-03-31 | 2010-04-06 | Intel Corporation | Methods and arrangements to handle non-queued commands for data storage devices |
KR101486987B1 (ko) * | 2008-05-21 | 2015-01-30 | 삼성전자주식회사 | 불휘발성 메모리를 포함하는 반도체 메모리 장치 및 불휘발성 메모리를 위한 커맨드 스케줄링 방법 |
-
2008
- 2008-05-21 KR KR20080047244A patent/KR101486987B1/ko active IP Right Grant
-
2009
- 2009-04-29 US US12/432,299 patent/US8171242B2/en active Active
- 2009-05-20 TW TW98116788A patent/TWI468945B/zh active
- 2009-05-21 CN CN200910141775.XA patent/CN101593084B/zh active Active
-
2012
- 2012-03-23 US US13/428,780 patent/US8411496B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5932612A (en) * | 1997-08-05 | 1999-08-03 | Medicis Pharmaceutical Corp. | Compositions and systems for the treatment of hyperpigmentation |
CN1235348A (zh) * | 1998-04-10 | 1999-11-17 | 松下电器产业株式会社 | 仪器控制命令处理系统及其方法 |
CN1882918A (zh) * | 2003-10-03 | 2006-12-20 | 桑迪士克股份有限公司 | 快闪存储器数据校正及擦除技术 |
Also Published As
Publication number | Publication date |
---|---|
TW200951723A (en) | 2009-12-16 |
KR20090121114A (ko) | 2009-11-25 |
KR101486987B1 (ko) | 2015-01-30 |
US8171242B2 (en) | 2012-05-01 |
US20090292865A1 (en) | 2009-11-26 |
US8411496B2 (en) | 2013-04-02 |
CN101593084A (zh) | 2009-12-02 |
US20120185656A1 (en) | 2012-07-19 |
TWI468945B (zh) | 2015-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101593084B (zh) | 存储器系统和操作存储器系统的方法 | |
US10025532B2 (en) | Preserving read look ahead data in auxiliary latches | |
US20170168930A1 (en) | Method for operating storage controller and method for operating storage device including the same | |
KR101348048B1 (ko) | 개선된 플래시 메모리 호환성을 갖는 전자 장치 및 전자 장치의 플래시 메모리 호환성을 개선하는 방법 | |
US8700961B2 (en) | Controller and method for virtual LUN assignment for improved memory bank mapping | |
US11630766B2 (en) | Memory system and operating method thereof | |
US20180150242A1 (en) | Controller and storage device for efficient buffer allocation, and operating method of the storage device | |
US9952806B2 (en) | Mapping table loading method and memory storage apparatus | |
US10642513B2 (en) | Partially de-centralized latch management architectures for storage devices | |
EP1548600B1 (en) | Data management device and method for flash memory | |
CN109697027B (zh) | 包括共享存储器区域和专用存储器区域的数据存储设备 | |
KR102079939B1 (ko) | 데이터 저장 장치 및 그것의 명령어 스케줄링 방법 | |
US20210181986A1 (en) | Storage device, storage system and operating method thereof | |
US20150149741A1 (en) | Storage System and Control Method Thereof | |
US20160378375A1 (en) | Memory system and method of operating the same | |
CN110895449B (zh) | 用于在存储器系统中管理有效数据的装置和方法 | |
CN103106155A (zh) | 存储器储存装置、存储器控制器与其数据传输方法 | |
CN111797029A (zh) | 控制器、包括其的存储器系统及操作存储器系统的方法 | |
KR102480016B1 (ko) | 다수의 맵핑 단위를 이용하는 불휘발성 메모리 시스템 및 그 동작방법 | |
KR20160075703A (ko) | 비휘발성 메모리를 위한 전송 버퍼의 관리 | |
US12019916B2 (en) | Method of scheduling commands for memory device and memory system performing the same | |
US10628344B2 (en) | Controlling method, channel operating circuit and memory system for executing memory dies with single channel | |
JP4929379B2 (ja) | 半導体記憶装置及びデータ書き込み読み出し方法 | |
US9311257B2 (en) | Semiconductor memory device, memory system and method of operating the same | |
US11914900B2 (en) | Storage system and method for early command cancelation |
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 |