CN109426446A - 存储器系统及其操作方法 - Google Patents

存储器系统及其操作方法 Download PDF

Info

Publication number
CN109426446A
CN109426446A CN201810384870.1A CN201810384870A CN109426446A CN 109426446 A CN109426446 A CN 109426446A CN 201810384870 A CN201810384870 A CN 201810384870A CN 109426446 A CN109426446 A CN 109426446A
Authority
CN
China
Prior art keywords
data
memory
controller
host
buffer
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.)
Pending
Application number
CN201810384870.1A
Other languages
English (en)
Inventor
辛崇善
金真洙
崔汉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN109426446A publication Critical patent/CN109426446A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

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)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供一种存储器系统及其操作方法。存储器系统的操作方法包括:从主机接收读取命令;在控制器存储器缓冲器中搜索与读取命令对应的数据的第一搜索进程;以及将数据传输到主机的第一传输进程,其中控制器存储器缓冲器是可由主机访问的。

Description

存储器系统及其操作方法
相关申请的交叉引用
本申请要求于2017年8月29日提交的申请号为10-2017-0109220的韩国专利申请的优先权,其全部公开通过引用并入本文。
技术领域
本公开的各个实施例涉及一种存储器系统。特别地,实施例涉及一种读取延时减少的存储器系统及其操作方法。
背景技术
存储器系统可以包括非易失性存储器装置、存储器控制器和存储器缓冲器。当存储器系统从主机接收读取命令时,存储器系统可以从存储器装置读取与读取命令对应的数据,并且将读取的数据输出到主机。
闪速存储器装置经常用作非易失性存储器装置。在闪速存储器装置中的多个被编程的存储器单元的阈值电压可以根据以下若干因素而改变:例如浮栅耦合、随着时间流逝的电荷损失等。多个存储器单元的阈值电压的改变可能导致读取操作失败。为了防止读取操作的失败,可以搜索最优读取电压,并且可以使用搜索到的最优读取电压来重试读取操作。这种读取重试操作导致非易失性存储器装置的读取性能下降。
这种长的读取时间可能经常导致存储器系统的整个读取性能的下降。因此,需要一种用于改善存储器系统的读取性能的技术。
发明内容
实施例提供一种读取延时减少的存储器系统及其操作方法。
根据本公开的方面,提供一种存储器系统的操作方法,该方法包括:从主机接收读取命令;第一搜索进程,在控制器存储器缓冲器中搜索与读取命令对应的数据;以及第一传输进程,将数据传输到主机,其中控制器存储器缓冲器是可被主机访问的。
根据本公开的方面,提供一种存储器系统的操作方法,该方法包括:从主机接收读取命令;第一搜索进程,在控制器存储器缓冲器中搜索与读取命令对应的数据;第二搜索进程,在装置存储器缓冲器中搜索数据;读取进程,从存储器装置读取数据;以及输出进程,将数据输出到主机,其中控制器存储器缓冲器被主机占用。
根据本公开的方面,提供一种存储器系统,其包括:存储器装置;以及存储器控制器,其中存储器控制器包括:控制器存储器缓冲器,其包括完成队列和命令队列;以及装置存储器缓冲器,其中当从主机输入读取命令时,存储器控制器在完成队列中搜索与读取命令对应的数据,其中控制器存储器缓冲器被主机和存储器控制器共享。
根据本公开的方面,提供一种数据处理系统,其包括:存储器装置;以及控制器,其适于响应于来自主机的请求,控制存储器装置执行读取操作。控制器包括第一级高速缓存和第二级高速缓存。第二级高速缓存适于用作存储器装置的高速缓存。第一级高速缓存适于用作第二级高速缓存的高速缓存。作为读取操作的结果,控制器将读取的数据存储在第一级高速缓存中。主机通过非易失性存储器高速(NVMe)接口访问第一级高速缓存以获取读取的数据。
附图说明
现在将参照附图在下文中更全面地描述示例性实施例;然而,它们可以以不同的形式体现并且不应当被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开将是彻底且完全的,并且将向本领域技术人员完全传达本示例性实施例的范围。
在附图中,为了说明的清楚起见,尺寸可能被夸大。将理解的是,当元件被称为在两个元件“之间”时,两个元件之间可以仅有一个元件,或也可存在一个或多个中间元件。相同的附图标记始终表示相同的元件。
图1是示出根据本公开的实施例的存储器系统的示图。
图2是示出图1的存储器控制器的示图。
图3是示出图1的存储器装置的示图。
图4是详细示出根据本公开的实施例的存储器缓冲器的示图。
图5是示出根据本公开的实施例的处理写入命令的方法的流程图。
图6是示出根据本公开的实施例的处理读取命令的方法的流程图。
图7是示出根据本公开的另一实施例的处理读取命令的方法的流程图。
图8至图11是示出包括图2所示的存储器控制器和图3所示的存储器装置的存储器系统的各种示例性实施例的示图。
具体实施方式
在以下详细描述中,仅通过说明的方式,只有本公开的某些示例性实施例已被示出并描述。如本领域技术人员将认识到的,描述的实施例在均不脱离本公开的实质或范围的情况下可以以各种不同的方式修改。因此,附图和描述在本质上被认为是说明性的而不是限制性的。
在整个说明书中,当元件被称为“连接”或“联接”到另一元件时,其可以直接地连接或联接到另一元件,或者可以在其间插入一个或多个中间元件的情况下间接地连接或联接到另一元件。
将进一步理解的是,当在该说明书中使用术语“包括”、“包括有”、“包含”和“包含有”时,它们指定阐述的元件的存在而不排除一个或多个其它元件的存在或增加。如本文使用的,术语“和/或”包括一个或多个相关所列项目的任何组合和所有组合。
本文使用的术语的目的仅是描述特定实施例而不旨在限制本发明。
如本文使用的,单数形式也可以包括复数形式,除非上下文另有明确说明。
在以下描述中,为了提供本发明的全面理解,阐述了许多具体细节。本发明可在没有一些或全部这些具体细节的情况下被实施。在其它情况下,为了不使本发明被不必要模糊,未详细地描述公知的进程结构和/或进程。
在下文中,将参照附图详细地描述本发明的各个实施例。
图1是示出根据本公开的实施例的存储器系统的示图。
参照图1,存储器系统1000可以包括存储数据的存储器装置1100以及存储器控制器1200,存储器控制器1200在主机2000的控制下控制存储器装置1100。
主机2000可以通过使用诸如以下的接口协议与存储器系统1000通信:高速外围组件互连(PCI-E)、高级技术附件(ATA)、串联ATA(SATA)、并联ATA(PATA)或串列SCSI(SAS)。另外,主机2000和存储器系统1000之间的接口协议不限于上述示例,并且可以是诸如以下的其它接口协议中的一个:通用串行总线(USB)、多媒体卡(MMC)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。
存储器控制器1200可以控制存储器系统1000的整体操作,并且控制主机2000和存储器装置1100之间的数据交换。例如,存储器控制器1200可以响应于主机2000的请求,通过控制存储器装置1100来编程或读取数据。并且,存储器控制器1200可以存储关于存储器装置1100中包括的主存储块和子存储块的信息并且选择存储器装置1100,根据针对编程操作加载的数据量,选择使存储器装置1100对主存储块或子存储块执行编程操作。在一些实施例中,存储器装置1100可以包括双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)以及闪速存储器。
存储器装置1100可以在存储器控制器1200的控制下执行编程操作、读取操作或擦除操作。
图2是示出图1的存储器控制器的示图。
参照图2,存储器控制器1200可以包括处理器710、存储器缓冲器720、错误校正码(ECC)电路730、主机接口740、缓冲器控制电路750、存储器接口760和总线780。
总线780可以在存储器控制器1200的部件之间提供通道。
处理器710可以控制存储器控制器1200的全部操作并且可以执行逻辑操作。处理器710可以通过主机接口740与外部主机2000通信,并且可以通过存储器接口760与存储器装置1100通信。并且,处理器710可以通过缓冲器控制电路750与存储器缓冲器720通信。处理器710可以通过使用存储器缓冲器720作为工作存储器、高速缓冲存储器或缓冲存储器来控制存储器系统1000的操作。
处理器710可以对从主机2000输入的多个命令进行排队。在该情况下,被排队的命令可以被称为标签。处理器710可以将多个被排队的标签顺序地传输到存储器装置1100。另外,处理器710可以改变多个被排队的标签传输到存储器装置1100的顺序。换言之,处理器710可以使用包括优先级排序、交叉引用等的各种方法。
存储器缓冲器720可以用作处理器710的工作存储器、高速缓冲存储器或缓冲存储器。存储器缓冲器720可以存储由处理器710执行的代码和命令。存储器缓冲器720可以包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC电路730可以执行ECC操作。ECC电路730可以对待通过存储器接口760被写入存储器装置1100的数据执行ECC编码。经ECC编码的数据可以通过存储器接口760被传输到存储器装置1100。ECC电路730可以对通过存储器接口760从存储器装置1100接收的数据执行ECC解码。作为示例,ECC电路730可以作为存储器接口760的部件而包括在存储器接口760中。
主机接口740可以在处理器710的控制下与外部主机2000通信。主机接口740可以使用诸如以下的各种通信方式中的至少一种与主机2000通信:通用串行总线(USB)、串行AT附件(SATA)、高速片间(HSIC)、小型计算机系统接口(SCSI)、火线、外围组件互联(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪速存储器(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)和低负载DIMM(LRDIMM)。
缓冲器控制电路750可以在处理器710的控制下控制存储器缓冲器720。
存储器接口760可以在处理器710的控制下与存储器装置1100通信。存储器装置760可以通过通道与存储器装置1100通信命令、地址和数据。
作为示例,存储器控制器1200可以不包括存储器缓冲器720和缓冲器控制电路750。处理器710可以从设置在存储器控制器1000中的非易失性存储器装置(例如,只读存储器(ROM))加载代码。作为另一示例,处理器710可以通过存储器接口760从存储器装置1100加载代码。
本公开的存储器控制器1200可以进一步包括数据随机发生器770。数据随机发生器770可以使数据随机化或者使随机化数据去随机化。数据随机发生器770可以对待通过存储器接口760被写入存储器装置1100中的数据执行数据随机化操作。随机化数据可以通过存储器接口760被传输到存储器装置1100。数据随机发生器770可以对通过存储器接口760从存储器装置1100接收的数据执行数据去随机化操作。作为示例,数据随机发生器770可以作为存储器接口760的部件被包括在存储器接口760中。
作为示例,存储器控制器1200的总线780可以被划分成控制总线和数据总线。数据总线可以被配置成在存储器控制器1200中传输数据,并且控制总线可以被配置成在存储器控制器1200中传输诸如命令或地址的控制信息。数据总线和控制总线彼此隔离,并且可以不彼此干扰或影响。数据总线可以联接到主机接口740、缓冲器控制电路750、ECC电路730和存储器接口760。控制总线可以联接到主机接口740、处理器710、缓冲器控制电路750、存储器缓冲器720和存储器接口760。
图3是示出图1的存储器装置的示图。
参照图3,存储器装置1100可以包括存储数据的存储器单元阵列100。存储器装置1100可以包括外围电路200,其被配置为执行用于将数据存储在存储器单元阵列100中的编程操作、用于输出存储的数据的读取操作以及用于擦除存储的数据的擦除操作。存储器装置1100可以包括控制逻辑300,其在存储器控制器(图1的1200)的控制下控制外围电路200。
存储器单元阵列100可以包括多个存储块MB1至MBk 110(k是正整数)。局部线(local line)LL和位线BL1至BLn(n是正整数)可以联接到存储块MB1至MBk 110。例如,局部线LL可以包括第一选择线、第二选择线以及布置在第一选择线和第二选择线之间的多个字线。并且,局部线LL可以进一步包括布置在第一选择线和字线之间以及布置在第二选择线和字线之间的虚拟(dummy)线。此处,第一选择线可以是源极选择线,并且第二选择线可以是漏极选择线。例如,局部线LL可以包括字线、漏极选择线和源极选择线以及源极线SL。例如,局部线LL可以进一步包括虚拟线。例如,局部线LL可以进一步包括管线。局部线LL可以分别联接到存储块MB1至MBk 110,并且位线BL1到BLn可以共同联接到存储块MB1到MBk110。存储块MB1至MBk 110可以以二维结构或三维结构来实施。例如,存储器单元可以在平行于具有二维结构的存储块110中的衬底的方向上布置。例如,存储器单元可以在垂直于具有三维结构的存储块110中的衬底的方向上布置。存储器单元可以是即使在切断电源时也保留存储的数据的非易失性存储器单元。
外围电路200可以被配置为在控制逻辑300的控制下对被选择存储块110执行编程操作、读取操作或擦除操作。例如,在控制逻辑300的控制下,外围电路200可以将验证电压和通过电压供给到第一选择线、第二选择线和字线,选择性地使第一选择线、第二选择线和字线放电,并且验证被联接到字线之中的被选择字线的存储器单元。例如,外围电路200可以包括电压生成电路210、行解码器220、页面缓冲器组230、列解码器240、输入/输出电路250和感测电路260。
电压生成电路210可以响应于操作信号OP_CMD,生成用于编程操作、读取操作及擦除操作的各种操作电压Vop。另外,电压生成电路210可以响应于操作信号OP_CMD,选择性地使局部线LL放电。例如,电压生成电路210可以在控制逻辑300的控制下,生成编程电压、验证电压、通过电压、导通电压、读取电压、擦除电压、源极线电压等。
行解码器220可以响应于行地址RADD,将操作电压Vop传输到与被选择存储块110联接的局部线LL。
页面缓冲器组230可以包括联接到位线BL1至BLn的多个页面缓冲器PB1至PBn231。页面缓冲器PB1至PBn 231可以响应于页面缓冲器控制信号PBSIGNALS而操作。例如,在读取操作或验证操作中,页面缓冲器PB1至PBn 231可以临时存储通过位线BL1至BLn接收的数据或者可以感测位线BL1至BLn的电压或电流。
列解码器240可以响应于列地址CADD,在输入/输出电路250和页面缓冲器组230之间传输数据。例如,列解码器240可以通过数据线DL与页面缓冲器231交换数据,或者可以通过列线CL与输入/输出电路250交换数据。
输入/输出电路250可以将从存储器控制器(图1的1200)接收的命令CMD和地址ADD传输到控制逻辑300,或者可以与列解码器240交换数据DATA。
在读取操作和验证操作中,感测电路260可以响应于权限位VRY_BIT<#>而生成参考电流,并且可以通过将从页面缓冲器组230接收的感测电压VPB与由参考电流生成的参考电压进行比较来输出通过信号PASS或失败信号FAIL。
控制逻辑300可以响应于命令CMD和地址ADD,通过输出操作信号OP_CMD、行地址RADD、页面缓冲器控制信号PBSIGNALS和权限位VRY_BIT<#>,来控制外围电路200。并且,控制逻辑300可以响应于通过信号PASS或失败信号FAIL,来确定验证操作已经通过还是失败。
图4是详细示出根据本公开的实施例的存储器缓冲器的示图。
参考图4,存储器缓冲器720可以包括控制器存储器缓冲器721和装置存储器缓冲器722。
控制器存储器缓冲器721是针对主机2000分配的存储器空间,并且是主机2000可访问的存储器空间。换言之,控制器存储器缓冲器721是存在于存储器系统1000中并被主机2000占用的存储器空间。即,主机2000可以将用于写入操作的数据暂时地缓冲在控制器存储器缓冲器721中,并且接收被缓冲在控制器存储器缓冲器721中的数据。
存储器系统1000的存储器控制器1200可访问控制器存储器缓冲器721。存储器控制器1200可以响应于主机2000的命令来确定具体数据是否已经被存储在控制器存储器缓冲器721中。另外,存储器控制器1200可以将存储在装置存储器缓冲器722中的数据传输到控制器存储器缓冲器721。存储器控制器1200可以将存储在控制器存储器缓冲器721中的数据传输到装置存储器缓冲器722。换言之,控制器存储器缓冲器721可以是被主机2000和存储器系统1000共享的空间。
装置存储器缓冲器722是被存储器系统1000占用的存储器空间。换言之,装置存储器缓冲器722是主机2000不能访问的存储器空间,并且可以是相对于主机2000,存储器系统1000专有地占用的空间。
控制器存储器缓冲器721可以包括命令队列7211和完成队列7212。命令队列7211可以对从主机2000输入的多个命令进行排队。存储器系统1000可以顺序地处理被排队到命令队列7211的多个命令或者通过使用包括优先级排序的方法等改变多个命令的顺序,来处理被排队到命令队列7211的多个命令。存储器控制器1200可以针对处理后的命令设置完成队列7212。另外,主机2000可以通过检查完成队列7212,来检查相应命令的处理是否已完成。
在主机2000将写入命令输入到存储器系统1000之前,主机2000可以将写入数据存储在控制器存储器缓冲器721中。当存储器系统1000从主机2000接收写入命令时,存储器控制器1200的处理器710可以在控制器存储器缓冲器721中搜索写入数据。此时,写入命令可以被排队到命令队列7211。并且,处理器710可以控制将在控制器存储器缓冲器721中搜索到的写入数据传输到装置存储器缓冲器722。然后,处理器710可以将排队到命令队列7211的写入命令以及从控制器存储器缓冲器721传输到装置存储器缓冲器722的写入数据传输到存储器装置1100,并且基于写入命令和写入数据控制存储器装置1100执行编程操作。作为另一示例,处理器710可以将存储在控制器存储器缓冲器721中的写入数据立即传输到存储器装置1100,并且基于从控制器存储器缓冲器721传输的写入数据来执行编程操作。在存储器装置1100完成编程操作之后,存储器控制器1200的处理器710可以设置完成队列7212指示写入命令的处理已完成。主机2000可以通过检查完成队列7212,来检查被输入到存储器系统1000的写入命令的处理是否已完成。
主机2000可以将读取命令输入到存储器系统1000。响应于读取命令,存储器系统1000的存储器控制器1200可以首先检查与从主机2000输入的读取命令对应的数据是否已被存储在控制器存储器缓冲器721的完成队列7212中。即,存储器控制器1200可以搜索完成队列7212以检查与读取命令对应的数据是否已被存储在完成队列7212中。换言之,存储器系统1000可以使用控制器存储器缓冲器721作为第一高速缓存缓冲器。当在完成队列7212中搜索到与读取命令对应的数据时,即在第一高速缓存命中(hit)的情况下,存储器控制器1200可以立即设置完成队列7212指示读取命令的处理已完成,并且主机2000可以从完成队列7212接收与读取命令对应的数据。
当存储器控制器1200未能在完成队列7212中搜索到与读取命令对应的数据时,即第一高速缓存未命中时,存储器控制器1200可以在装置存储器缓冲器722中搜索与读取命令对应的数据。换言之,存储器系统1000可以使用装置存储器缓冲器722作为第二高速缓存缓冲器。
当存储器控制器1200成功地在装置存储器缓冲器722中搜索到与读取命令对应的数据时,即第二高速缓存命中时,存储器控制器1200可以将存储在装置存储器缓冲器722中的、与读取命令对应的数据传输到完成队列7212,并且设置完成队列7212指示读取命令的处理已完成。随后,主机2000可以从完成队列7212接收与读取命令对应的数据。
当存储器控制器1200未能在装置存储器缓冲器722中搜索到与读取命令对应的数据时,即,第二高速缓存未命中时,存储器控制器1200可以从存储器装置1100读取与读取命令对应的数据。换言之,当存储器控制器1200在完成队列7212和装置存储器缓冲器722两者中都未能搜索到与读取命令对应的数据时,存储器控制器1200可以读取被存储在存储器装置1100中的、与读取命令对应的数据。存储器控制器1200可以控制从存储器装置1100输出的、与读取命令对应的数据,将其传输到完成队列7212,并且设置完成队列7212指示读取命令的处理已完成。随后,主机2000可以从完成队列7212接收与读取命令对应的数据。
换言之,当从主机2000输入读取命令时,存储器控制器1200可以首先搜索完成队列7212以检查与读取命令对应的数据是否已经被存储在控制器存储器缓冲器721的完成队列7212中。当存储器控制器1200成功地在完成队列7212中搜索到与读取命令对应的数据时,存储器控制器1200可以设置完成队列7212指示读取命令的处理已完成。随后,主机2000可以从完成队列7212接收与读取命令对应的数据。
当存储器控制器1200未能在完成队列7212中搜索到与读取命令对应的数据时,存储器控制器1200可以搜索装置存储器缓冲器722,以检查与读取命令对应的数据是否已被存储在装置存储器缓冲器722中。当存储器控制器1200成功地在装置存储器缓冲器722中搜索到与读取命令对应的数据时,存储器控制器1200可以将存储在装置存储器缓冲器722中的、与读取命令对应的数据传输到完成队列7212,并且然后设置完成队列7212指示读取命令的处理已完成。随后,主机2000可以从完成队列7212接收与读取命令对应的数据。
当存储器控制器1200未能在装置存储器缓冲器722中搜索到与读取命令对应的数据时,存储器控制器1200可以从存储器装置1100读取与读取命令对应的数据。从存储器装置1100读取的、与读取命令对应的数据可以被传输到完成队列7212,并且存储器控制器1200可以设置完成队列7212指示读取命令的处理已完成。随后,主机可以从完成队列7212接收与读取命令的数据。
通常,控制器存储器缓冲器721和装置存储器缓冲器722可以包括DRAM或SRAM。换言之,可以以高于存储器装置1100的速度来读取数据。因此,在存储器控制器1200在完成队列7212和装置存储器缓冲器722中搜索与读取命令对应的数据之后,当存储器控制器1200未能搜索到与读取命令对应的数据时,存储器控制器1200可以执行从存储器装置1100读取与读取命令对应的数据的操作。
图5是示出根据本公开的实施例处理写入命令的方法的流程图。
参照图5,在步骤S501处,存储器系统1000可以从主机2000接收写入命令。
在步骤S502处,存储器控制器1200可以响应于写入命令,执行在控制器存储器缓冲器721中搜索与写入命令对应的数据的步骤。如上所述,在主机2000将写入命令输入到存储器系统1000之前,主机2000可以将写入数据存储在控制器存储器缓冲器721中。
然后,在步骤S503处,存储器控制器1200可以执行将在控制器存储缓冲器721中搜索到的数据传输到装置存储器缓冲器722的步骤。
在执行步骤S503之后,在步骤S504处,存储器控制器1200可以执行将写入命令和存储在装置存储缓冲器722中的数据传输到存储器装置1100的步骤。
在本公开的另一实施例中,存储器控制器1200可以不执行步骤S503和S504,而是执行将在控制器存储缓冲器721中搜索到的数据立即传送到存储器装置1100的步骤。
随后,在步骤S505处,存储器装置1100可以基于传输到存储器装置1100的写入命令,执行对该数据进行编程的步骤。
在步骤S506处,在存储器装置1100完成数据的编程之后,存储器控制器1200可以执行设置完成队列7212指示写入命令的处理已完成的步骤。
图6是示出根据本公开的实施例处理读取命令的方法的流程图。
参照图6,在步骤S601处,存储器系统1000可以从主机2000接收读取命令。
在步骤S602处,读取命令可以被排队到控制器存储器缓冲器721的命令队列7211。
在步骤S603处,存储器控制器1200可以响应于被排队的读取命令,执行在控制器存储器缓冲器721的完成队列7212中搜索与读取命令对应的数据的步骤。
当存储器控制器1200成功地在控制器存储器缓冲器721的完成队列7212中搜索到与读取命令对应的数据时,在步骤S609处,存储器控制器1200可以设置完成队列7212指示读取命令的处理已完成。
随后,主机2000可以从完成队列7212检查读取命令的处理是否已完成,并且从存储器系统1000接收存储在完成队列7212中的、与读取命令对应的数据。换言之,在步骤S610处,存储器系统1000可以执行向主机2000输出存储在完成队列7212中的、与读取命令对应的数据的步骤。
当在步骤S603中,存储器控制器1200未能在控制器存储缓冲器721的完成队列7212中搜索到与读取命令对应的数据时,在步骤S604处,存储器控制器1200的处理器710可以执行在装置存储器缓冲器722中搜索与读取命令对应的数据的步骤。
当存储器控制器1200成功地在装置存储器缓冲器722中搜索到与读取命令对应的数据时,在步骤S608处,存储器控制器1200可以执行将存储在装置存储器缓冲器722中的、与读取命令对应的数据传输到控制器存储缓冲器721的完成队列7212的步骤。
然后,在步骤S609处,存储器控制器1200可以设置完成队列7212指示读取命令的处理已完成。
随后,主机2000可以从完成队列7212检查读取命令的处理是否已完成,并且从存储器系统1000接收存储在完成队列7212中的、与读取命令对应的数据。
当在步骤S604中,存储器控制器1200未能在装置存储器缓冲器722中搜索到与读取命令对应的数据时,在步骤S605处,存储器控制器1200可以执行将用于读取与读取命令对应的数据的命令输入到存储器装置1100的步骤。
在步骤S606处,存储器装置1100可以响应于读取命令,执行从存储器单元阵列100读取与读取命令对应的数据的操作,并且输出读取数据。
并且,在步骤S607处,存储器控制器1200可以执行将从存储器装置1100输出的数据传输到控制器存储器缓冲器721的完成队列7212的步骤。
然后,在步骤S609处,存储器控制器1200可以设置完成队列7212指示读取命令的处理已完成。
随后,主机2000可以从完成队列7212检查读取命令的处理是否已完成,并且从存储器系统1000接收存储在完成队列7212中的、与读取命令对应的数据。
作为另一示例,存储器控制器1200不立即将从存储器装置1100输出的数据传输到控制器存储器缓冲器721的完成队列7212,而是可以将从存储器装置1100输出的数据传输到装置存储器缓冲器722。然后,存储器控制器1200可以将存储在装置存储器缓冲器722中的数据传输到存储器缓冲器721的完成队列7212。然后,在步骤S609处,存储器控制器1200可以设置完成队列7212指示读取命令的处理已完成。
随后,主机2000可以从完成队列7212检查读取命令的处理是否已完成,并且从存储器系统1000接收存储在完成队列7212中的、与读取命令对应的数据。
图7是示出根据本公开的另一实施例的处理读取命令的方法的流程图。
参照图7,在步骤S701处,存储器系统1000可以从主机2000接收第一读取命令。
在步骤S702处,第一读取命令可以被排队到控制器存储器缓冲器721的命令队列7211。
在步骤S703处,存储器控制器1200可以响应于第一读取命令,执行在控制器存储器缓冲器721的完成队列7212中搜索与第一读取命令对应的数据的步骤。
当存储器控制器1200在控制器存储器缓冲器721的完成队列7212中成功地搜索到与第一读取命令对应的第一数据时,在步骤S709处,存储器控制器1200可以设置完成队列7212指示第一读取命令的处理已完成。
当在步骤S703中,存储器控制器1200未能在控制器存储器缓冲器721的完成队列7212中搜索到与第一读取命令对应的第一数据时,在步骤S704处,存储器控制器1200的处理器710可以执行在装置存储器缓冲器722中搜索与第一读取命令对应的第一数据的步骤。
当存储器控制器1200在装置存储器缓冲器722中成功地搜索到与第一读取命令对应的第一数据时,在步骤S708处,存储器控制器1200可以执行将存储在装置存储器缓冲器722中的、与第一读取命令对应的第一数据传输到控制器存储器缓冲器721的完成队列7212的步骤。
然后,在步骤S709处,存储器控制器1200可以设置完成队列7212指示第一读取命令的处理已完成。
当在步骤S704中,存储器控制器1200未能在装置存储器缓冲器722中搜索到与第一读取命令对应的第一数据时,在步骤S705处,存储器控制器1200可以执行将用于读取与第一读取命令对应的第一数据和第二数据的命令输入到存储器装置1100的步骤。
此时,第二数据可以是与主机2000通过第一读取命令请求的数据不同的数据。并且,第二数据可以是当存储器装置1100响应于第一读取命令读取第一数据时一起读取的数据。例如,第二数据可以与第一数据的一部分一起被存储在页面中。由于读取操作是以页面为单位执行,因此当读取第一数据时,可以一起读取第二数据。在步骤S706处,存储器装置1100可以响应于第一读取命令,执行从存储器单元阵列100一起读取与第一读取命令对应的第一数据和不与第一读取命令对应的第二数据的操作,并且输出读取的第一数据和第二数据。
另外,在步骤S707处,存储器控制器1200可以执行将从存储器装置1100输出的第一数据和第二数据传输到装置存储器缓冲器722的步骤。
然后,在步骤S708处,存储器控制器1200可以执行将存储在装置存储器缓冲器722中的第一数据传输到控制器存储器缓冲器721的完成队列7212的步骤。
随后,在步骤S709处,存储器控制器1200可以执行设置完成队列7212指示第一读取命令的处理已完成的步骤。
然后,存储器控制器1200可以从主机2000接收第二读取命令。此时,与第二读取命令对应的数据可以是第二数据。在该情况下,在步骤S712处,存储器控制器1200不执行在完成队列7212中搜索第二数据的操作,而是可以立即执行将存储在装置存储器缓冲器722中的第二数据传输到控制器存储器缓冲器721的完成队列7212的步骤。
然后,在步骤S713处,存储器控制器1200可以设置完成队列7212指示第二读取命令的处理已完成。
随后,在步骤S714处,主机2000可以从完成队列7212检查第一读取命令的处理是否已完成,并且从存储器系统1000接收存储在完成队列7212中的、与第一读取命令对应的数据。
并且,在步骤S715处,主机2000可以从完成队列7212检查第二读取命令的处理是否已完成,并且从存储器系统1000接收存储在完成队列7212中的、与第二读取命令对应的数据。
图8是示出包括图2所示的存储器控制器和图3所示的存储器装置的存储器系统的实施例的示图。
参照图8,存储器系统30000可以被实施为蜂窝电话、智能电话、平板PC、个人数字助理(PDA)或无线通信装置。存储器系统30000可以包括存储器装置1100和能够控制存储器装置1100的操作的存储器控制器1200。存储器控制器1200可以在处理器3100的控制下控制存储器装置1100的数据存取操作,例如,编程操作、擦除操作、读取操作等。
被编程在存储器装置1100中的数据可以在存储器控制器1200的控制下通过显示器3200输出。
无线电收发器3300可以通过天线ANT发射/接收无线电信号。例如,无线电收发器3300可以将通过天线ANT接收的无线电信号转换为可以由处理器3100处理的信号。因此,处理器3100可以处理从无线电收发器3300输出的信号并且将处理的信号传输到存储器控制器1200或显示器3200。存储器控制器1200可以将由处理器3100处理的信号编程在半导体存储器装置1100中。
并且,无线电收发器3300可以将从处理器3100输出的信号转换为无线电信号,并且通过天线ANT将转换的无线电信号输出到外部装置。输入装置3400是能够输入用于控制处理器3100的操作的控制信号或待由处理器3100处理的数据的装置,并且可以被实施为诸如触摸板或计算机鼠标、小键盘或键盘的点击装置。处理器3100可以控制显示器3200的操作,使得从存储器控制器1200输出的数据、从无线电收发器3300输出的数据或从输入装置3400输出的数据通过显示器3200输出。
在一些实施例中,能够控制存储器装置1100的操作的存储器控制器1200可以被实施为处理器3100的一部分或被实施为独立于处理器3100的芯片。
图9是示出包括图2所示的存储器控制器和图3所示的存储器装置的存储器系统的另一实施例的示图。
参照图9,存储器系统40000可以被实施为个人计算机(PC)、平板PC、电子书、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器或MP4播放器。
存储器系统40000可以包括存储器装置1100和能够控制存储器装置1100的数据处理操作的存储器控制器1200。
处理器4100可以根据通过输入装置4200输入的数据通过显示器4300输出存储在存储器装置1100中的数据。例如,输入装置4200可以被实施为诸如触摸板或计算机鼠标、小键盘或键盘的点击装置。
处理器4100可以控制存储器系统40000的整体操作并且控制存储器控制器1200的操作。在一些实施例中,能够控制存储器装置1100的操作的存储器控制器1200可以被实施为处理器4100的一部分或被实施为独立于处理器4100的芯片。
图10是示出包括图2所示的存储器控制器和图3所示的存储器装置的存储器系统的另一实施例的示图。
参照图10,存储器系统50000可以被实施为图像处理装置,例如数码相机、具有附接到其的数码相机的移动终端、具有附接到其的数码相机的智能手机、或具有附接到其的数码相机的平板PC。
存储器系统50000可以包括存储器装置1100和能够控制存储器装置1100的例如编程操作、擦除操作或读取操作的数据处理操作的存储器控制器1200。
存储器系统50000的图像传感器5200可以将光学图像转换成数字信号,并且转换的数字信号可以被传输到处理器5100或存储器控制器1200。在处理器5100的控制下,转换的数字信号可以通过显示器5300输出,或通过存储器控制器1200存储在存储器装置1100中。另外,存储在存储器装置1100中的数据可以在处理器5100或存储器控制器1200的控制下通过显示器5300输出。
在一些实施例中,能够控制存储器装置1100的操作的存储器控制器1200可以被实施为处理器5100的一部分或被实施为独立于处理器5100的芯片。
图11是示出包括图2所示的存储器控制器和图3所示的存储器装置的存储器系统的另一实施例的示图。
参照图11,存储器系统70000可以被实施为存储卡或智能卡。存储器系统70000可以包括存储器装置1100,存储器控制器1200和卡接口7100。
存储器控制器1200可以控制存储器装置1100和卡接口7100之间的数据交换。在一些实施例中,卡接口7100可以是安全数字(SD)卡接口或多媒体卡(MMC)接口,但是本公开不限于此。
根据主机60000的协议,卡接口7100可以接口连接主机60000和存储器控制器1200之间的数据交换。在一些实施例中,卡接口7100可以支持通用串行总线(USB)协议和芯片间(IC)-USB协议。此处,卡接口7100可以指能够支持由主机60000使用的协议的硬件、嵌入在硬件中的软件或者信号传输方案。
根据本公开,当从主机输入读取命令时,通过执行在控制器存储器缓冲器中搜索是否存在与读取命令对应的数据的操作,可以减少存储器系统的读取延时。
本文已经公开实施例的示例,并且虽然采用特定术语,但是它们仅被用于和解释为通用和描述性的含义,而不是为了限制的目的。在一些情况下,如从提交本申请起对于本领域普通技术人员显而易见的是,结合特定实施例描述的特征、特性和/或元件可以单独使用或与结合其他它实施例描述的特征、特性和/或元件结合使用,除非另有具体说明。因此,本领域技术人员将理解,在不脱离如所附权利要求中阐述的本公开的精神和范围的情况下,可以进行形式和细节上的各种改变。

Claims (21)

1.一种存储器系统的操作方法,所述方法包括:
从主机接收读取命令;
第一搜索进程,即在控制器存储器缓冲器中搜索与所述读取命令对应的数据;以及
第一传输进程,即将所述数据传输到所述主机,
其中所述控制器存储器缓冲器是所述主机可访问的。
2.根据权利要求1所述的方法,其进一步包括第二搜索进程,即在装置存储器缓冲器中搜索所述数据,
其中当在所述第一搜索进程中对所述数据的搜索失败时,执行所述第二搜索进程。
3.根据权利要求1所述的方法,其中当在所述第一搜索进程中对所述数据的搜索成功时,在所述第一传输进程中传输在所述控制器存储器缓冲器中搜索到的所述数据。
4.根据权利要求2所述的方法,其中所述装置存储器缓冲器被专有地分配给所述存储器系统。
5.根据权利要求2所述的方法,其进一步包括第二传输进程,即将在所述装置存储器缓冲器中搜索到的数据传输到所述控制器存储器缓冲器,
其中当在所述第二搜索进程中对所述数据的搜索成功时,执行所述第二传输进程。
6.根据权利要求2所述的方法,其进一步包括读取进程即从存储器装置读取所述数据,
其中当在所述第二搜索进程中对所述数据的搜索失败时,执行所述读取进程。
7.根据权利要求6所述的方法,其进一步包括第二传输进程,即将从所述存储器装置读取的所述数据传输到所述控制器存储器缓冲器。
8.根据权利要求1所述的方法,其中所述存储器系统通过非易失性存储器高速接口,即NVMe接口与所述主机通信。
9.一种存储器系统的操作方法,所述方法包括:
从主机接收读取命令;
第一搜索进程,即在控制器存储器缓冲器中搜索与所述读取命令对应的数据;
第二搜索进程,即在装置存储器缓冲器中搜索所述数据;
读取进程,即从存储器装置读取所述数据;以及
输出进程,即将所述数据输出到所述主机,
其中所述控制器存储器缓冲器被所述主机占用。
10.根据权利要求9所述的方法,其中当在所述第一搜索进程中对所述数据的搜索失败时,执行所述第二搜索进程。
11.根据权利要求10所述的方法,其中所述装置存储器缓冲器被所述存储器系统占用。
12.根据权利要求10所述的方法,其中当在所述第二搜索进程中对所述数据的搜索失败时,执行所述读取进程。
13.根据权利要求9所述的方法,其进一步包括传输进程,即将从所述存储器装置读取的所述数据传输到所述控制器存储器缓冲器。
14.根据权利要求9所述的方法,其中所述存储器系统通过NVMe接口与所述主机通信。
15.一种存储器系统,其包括:
存储器装置;以及
存储器控制器,
其中所述存储器控制器包括:
控制器存储器缓冲器,其包括完成队列和命令队列;以及
装置存储器缓冲器,
其中当从主机输入读取命令时,所述存储器控制器在所述完成队列中搜索与所述读取命令对应的数据,
其中所述控制器存储器缓冲器由所述主机和所述存储器控制器共享。
16.根据权利要求15所述的存储器系统,其中当在所述完成队列中对所述数据的搜索失败时,所述存储器控制器在所述装置存储器缓冲器中搜索所述数据。
17.根据权利要求16所述的存储器系统,其中当在所述装置存储器缓冲器中对所述数据的搜索失败时,所述存储器控制器从所述存储器装置读取所述数据。
18.根据权利要求16所述的存储器系统,其中所述装置存储器缓冲器被专有地分配给所述存储器系统。
19.根据权利要求16所述的存储器系统,其中所述控制器存储器缓冲器存储对应于从所述主机输入的写入命令的数据。
20.根据权利要求16所述的存储器系统,其中所述命令队列对所述读取命令进行排队。
21.一种数据处理系统,其包括:
存储器装置;以及
控制器,其适于响应于来自主机的请求,控制所述存储器装置执行读取操作,
其中所述控制器包括:
第二级高速缓存,其适于用作所述存储器装置的高速缓存;以及
第一级高速缓存,其适于用作所述第二级高速缓存的高速缓存,
其中作为所述读取操作的结果,所述控制器将读取的数据存储在所述第一级高速缓存中,以及
其中所述主机通过非易失性存储器高速接口,即NVMe接口访问所述第一级高速缓存以获取读取的数据。
CN201810384870.1A 2017-08-29 2018-04-26 存储器系统及其操作方法 Pending CN109426446A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170109220A KR20190023433A (ko) 2017-08-29 2017-08-29 메모리 시스템 및 그것의 동작 방법
KR10-2017-0109220 2017-08-29

Publications (1)

Publication Number Publication Date
CN109426446A true CN109426446A (zh) 2019-03-05

Family

ID=65437217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810384870.1A Pending CN109426446A (zh) 2017-08-29 2018-04-26 存储器系统及其操作方法

Country Status (3)

Country Link
US (1) US20190065102A1 (zh)
KR (1) KR20190023433A (zh)
CN (1) CN109426446A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114281723A (zh) * 2020-09-28 2022-04-05 马来西亚瑞天芯私人有限公司 一种存储设备的内存控制器系统和内存调度方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11409466B2 (en) 2020-01-29 2022-08-09 Western Digital Technologies, Inc. Access control in CMB/PMR virtualization environment
US11733920B2 (en) * 2020-09-10 2023-08-22 Western Digital Technologies, Inc. NVMe simple copy command support using dummy virtual function
US11556268B2 (en) 2021-04-22 2023-01-17 Western Digital Technologies, Inc. Cache based flow for a simple copy command
KR20230069642A (ko) * 2021-11-12 2023-05-19 에스케이하이닉스 주식회사 저장 장치 공유 시스템 및 그 방법
US20240094911A1 (en) * 2022-09-20 2024-03-21 Western Digital Technologies, Inc. Dynamic And Shared CMB And HMB Allocation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102129411A (zh) * 2010-01-18 2011-07-20 厄塞勒拉特公司 存取缓冲器
CN103858112A (zh) * 2013-12-31 2014-06-11 华为技术有限公司 一种数据缓存方法、装置及系统
CN104834644A (zh) * 2014-02-11 2015-08-12 杭州华澜微科技有限公司 一种自搜索存储装置
CN105612518A (zh) * 2013-08-13 2016-05-25 美光科技公司 用于自主存储器搜索的方法及系统

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6209067B1 (en) * 1994-10-14 2001-03-27 Compaq Computer Corporation Computer system controller and method with processor write posting hold off on PCI master memory request
US6212590B1 (en) * 1997-12-22 2001-04-03 Compaq Computer Corporation Computer system having integrated bus bridge design with delayed transaction arbitration mechanism employed within laptop computer docked to expansion base
US6199131B1 (en) * 1997-12-22 2001-03-06 Compaq Computer Corporation Computer system employing optimized delayed transaction arbitration technique
US6243817B1 (en) * 1997-12-22 2001-06-05 Compaq Computer Corporation Device and method for dynamically reducing power consumption within input buffers of a bus interface unit
US6286083B1 (en) * 1998-07-08 2001-09-04 Compaq Computer Corporation Computer system with adaptive memory arbitration scheme
US6839808B2 (en) * 2001-07-06 2005-01-04 Juniper Networks, Inc. Processing cluster having multiple compute engines and shared tier one caches
US6973550B2 (en) * 2002-10-02 2005-12-06 Intel Corporation Memory access control
US7281086B1 (en) * 2005-06-02 2007-10-09 Emc Corporation Disk queue management for quality of service
CN102193882B (zh) * 2010-03-15 2014-09-10 京瓷办公信息系统株式会社 数据处理装置以及数据处理方法
US20120054427A1 (en) * 2010-08-27 2012-03-01 Wei-Jen Huang Increasing data access performance
US20130318285A1 (en) * 2012-05-23 2013-11-28 Violin Memory Inc Flash memory controller
US20140304464A1 (en) * 2013-04-03 2014-10-09 Lsi Corporation Methods and systems for performing deduplication in a data storage system
US9986028B2 (en) * 2013-07-08 2018-05-29 Intel Corporation Techniques to replicate data between storage servers
KR102238652B1 (ko) * 2014-11-12 2021-04-09 삼성전자주식회사 데이터 저장 장치, 이의 작동 방법, 및 이를 포함하는 데이터 처리 시스템의 작동 방법
US9703493B2 (en) * 2015-12-14 2017-07-11 Qualcomm Incorporated Single-stage arbiter/scheduler for a memory system comprising a volatile memory and a shared cache
US10956339B2 (en) * 2016-07-14 2021-03-23 Advanced Micro Devices, Inc. System and method for storing cache location information for cache entry transfer
US10725835B2 (en) * 2017-05-03 2020-07-28 Western Digital Technologies, Inc. System and method for speculative execution of commands using a controller memory buffer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102129411A (zh) * 2010-01-18 2011-07-20 厄塞勒拉特公司 存取缓冲器
CN105612518A (zh) * 2013-08-13 2016-05-25 美光科技公司 用于自主存储器搜索的方法及系统
CN103858112A (zh) * 2013-12-31 2014-06-11 华为技术有限公司 一种数据缓存方法、装置及系统
CN104834644A (zh) * 2014-02-11 2015-08-12 杭州华澜微科技有限公司 一种自搜索存储装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114281723A (zh) * 2020-09-28 2022-04-05 马来西亚瑞天芯私人有限公司 一种存储设备的内存控制器系统和内存调度方法

Also Published As

Publication number Publication date
KR20190023433A (ko) 2019-03-08
US20190065102A1 (en) 2019-02-28

Similar Documents

Publication Publication Date Title
CN109426446A (zh) 存储器系统及其操作方法
CN110678852B (zh) 控制对缓冲器的存储器操作的设备和方法
KR102419036B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20190090635A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN101800071A (zh) 固态盘设备及其编程失败处理方法
CN110245097A (zh) 存储器控制器及具有存储器控制器的存储器系统
US20220137883A1 (en) Apparatus and method for processing data in memory system
CN114625673A (zh) 存储装置及其操作方法
CN109388514B (zh) 存储器系统及其操作方法
CN110825316A (zh) 控制器及该控制器的操作方法
CN111445939B (zh) 存储装置及其操作方法
CN109840165B (zh) 存储器系统及其操作方法
CN110174995A (zh) 存储器控制器及其操作方法
CN114356209A (zh) 存储装置及其操作方法
CN113409854A (zh) 数据存储装置及其操作方法
US10725905B2 (en) Memory system and operating method thereof
US11586379B2 (en) Memory system and method of operating the same
CN110795366B (zh) 数据存储装置及数据存储装置的操作方法
CN115793959A (zh) 主机装置、存储器控制器及包括它们的计算系统
US11157401B2 (en) Data storage device and operating method thereof performing a block scan operation for checking for valid page counts
CN111198652B (zh) 存储器系统及其操作方法
CN115454886A (zh) 存储装置及其操作方法
CN114255809A (zh) 存储器控制器及其操作方法
US20200117391A1 (en) Memory device and operating method thereof
CN112783431A (zh) 存储装置及其操作方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190305