CN110162489B - 存储器控制器及该存储器控制器的操作方法 - Google Patents
存储器控制器及该存储器控制器的操作方法 Download PDFInfo
- Publication number
- CN110162489B CN110162489B CN201811256559.5A CN201811256559A CN110162489B CN 110162489 B CN110162489 B CN 110162489B CN 201811256559 A CN201811256559 A CN 201811256559A CN 110162489 B CN110162489 B CN 110162489B
- Authority
- CN
- China
- Prior art keywords
- buffer
- capacity
- threshold
- input
- output
- 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
Images
Classifications
-
- 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
-
- 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
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- 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
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- 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/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- 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
-
- 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/0656—Data buffering arrangements
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
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)
- Software Systems (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明涉及一种存储器控制器,用于控制存储器装置的操作,该存储器控制器包括缓冲存储器和缓冲器管理电路。缓冲存储器包括输入缓冲器和输出缓冲器,输入缓冲器用于存储从主机接收的输入数据,输出缓冲器用于存储从所述存储器装置接收的输出数据。缓冲器管理电路基于输入缓冲器和输出缓冲器中的至少一个的使用状态,改变输入缓冲器和输出缓冲器的容量。
Description
相关申请的交叉引用
本申请要求于2018年2月14日提交的申请号为10-2018-0018291的韩国专利申请的优先权,该韩国专利申请的全部公开内容通过引用整体并入本文。
技术领域
本公开的各个实施例总体涉及一种电子装置。特别地,实施例涉及一种存储器控制器及该存储器控制器的操作方法。
背景技术
存储器装置可以串水平布置的二维结构形成,或者以串垂直布置的三维结构形成。三维半导体装置是为克服二维半导体装置中的集成度限制而使用的存储器装置,并且可包括垂直堆叠在半导体衬底上的多个存储器单元。
发明内容
实施例提供了一种能够更有效地利用缓冲存储器的存储器控制器。
实施例还提供了一种能够更有效地利用缓冲存储器的存储器控制器的操作方法。
根据本公开的方面,提供了一种存储器控制器,用于控制存储器装置的操作,该存储器控制器包括:缓冲存储器,被配置成包括用于存储从主机接收的输入数据的输入缓冲器和用于存储从存储器装置接收的输出数据的输出缓冲器;以及缓冲器管理电路,被配置成基于输入缓冲器和输出缓冲器中的至少一个的使用状态,改变输入缓冲器和输出缓冲器的容量。
缓冲存储器可以被配置为SRAM。
输入缓冲器和输出缓冲器可由指示缓冲存储器的具体地址的缓冲器指针来划分。缓冲器管理电路可通过改变缓冲器指针指示的地址来改变输入缓冲器和输出缓冲器的容量。
当缓冲器指针指示的位置改变时,在输入缓冲器和输出缓冲器中的任意一个的容量增加时,输入缓冲器和输出缓冲器中的另一个的容量可减少。
缓冲器管理电路可包括:缓冲器监测部分,被配置成根据缓冲存储器的使用来输出缓冲器分析数据;阈值存储部分,被配置成存储用于改变输入缓冲器和输出缓冲器的容量的阈值;以及缓冲器容量确定部分,被配置成通过比较缓冲器分析数据和阈值来确定是否将改变输入缓冲器和输出缓冲器的容量。
缓冲器分析数据可包括当前正使用的输入缓冲器的容量,并且阈值可包括输入缓冲器的第一阈值容量。在当前正使用的输入缓冲器的容量大于或等于第一阈值容量时,缓冲器容量确定部分可确定将增加输入缓冲器的容量。
缓冲器分析数据可包括当前正使用的输出缓冲器的容量,并且阈值可包括输出缓冲器的第二阈值容量。在当前正使用的输出缓冲器的容量大于或等于第二阈值容量时,缓冲器容量确定部分可确定将增加输出缓冲器的容量。
缓冲器分析数据可包括第一计数值,该第一计数值是正使用的输入缓冲器的容量超过预定第一阈值容量的次数,并且阈值可包括输入缓冲器的预定第一阈值数量。当在预定第一时段期间测量的第一计数值大于或等于第一阈值数量时,缓冲器容量确定部分可确定将增加输入缓冲器的容量。
缓冲器分析数据可包括第二计数值,该第二计数值是正使用的输出缓冲器的容量超过预定第二阈值容量的次数,并且阈值可包括输出缓冲器的预定第二阈值数量。当在预定第一时段期间测量的第二计数值大于或等于第二阈值数量时,缓冲器容量确定部分可确定将增加输出缓冲器的容量。
缓冲器分析数据可包括第一计数值,该第一计数值是正使用的输入缓冲器的容量超过预定第一阈值容量的次数,并且阈值可包括输入缓冲器的预定第三阈值数量。当在预定第一时段期间测量的第一计数值小于第三阈值数量时,缓冲器容量确定部分可确定将减少输入缓冲器的容量。
缓冲器分析数据可包括第二计数值,该第二计数值是正使用的输出缓冲器的容量超过预定第二阈值容量的次数,并且阈值可包括输出缓冲器的预定第四阈值数量。当在预定第一时段期间测量的第二计数值小于第四阈值数量时,缓冲器容量确定部分可确定将减少输出缓冲器的容量。
缓冲器分析数据可包括已存储在输入缓冲器中的数据的总容量,并且阈值可包括输入缓冲器的预定阈值累积容量。当总容量大于或等于阈值累积容量时,缓冲器容量确定部分可确定将增加输入缓冲器的容量。
每当输入数据被存储在输入缓冲器中时,缓冲器监测部分可对总容量进行更新。
缓冲器分析数据可包括已存储在输出缓冲器中的数据的总容量,并且阈值可包括输出缓冲器的预定阈值累积容量。当总容量大于或等于阈值累积容量时,缓冲器容量确定部分可确定将增加输出缓冲器的容量。
输入缓冲器和输出缓冲器中的每一个可以先进先出(FIFO)结构来实施。
根据本公开的方面,提供了一种操作存储器控制器的方法,该存储器控制器用于控制存储器装置的操作,该方法包括:检查存储器控制器中的缓冲存储器的输入缓冲器和输出缓冲器的使用状态;并且基于使用状态来调整输入缓冲器和输出缓冲器的容量。
检查使用状态可包括:检查当前正使用的输入缓冲器的容量;并且确定正使用的输入缓冲器的容量是否大于或等于预定第一阈值容量。在调整输入缓冲器和输出缓冲器的容量时,当正使用的输入缓冲器的容量大于或等于第一阈值容量时,可增加输入缓冲器的容量。
增加输入缓冲器的容量可通过改变缓冲器指针指示的地址来执行,该缓冲器指针用于将输入缓冲器和输出缓冲器彼此区分开。
检查使用状态可包括:检查当前正使用的输出缓冲器的容量;并且确定正使用的输出缓冲器的容量是否大于或等于预定第二阈值容量。在调整输入缓冲器和输出缓冲器的容量时,当正使用的输出缓冲器的容量大于或等于第二阈值容量时,可增加输出缓冲器的容量。
检查使用状态可包括:检查第一计数值,该第一计数值是正使用的输入缓冲器的容量超过预定第一阈值容量的次数;并且确定第一计数值是否大于或等于预定第一阈值数量。在调整输入缓冲器和输出缓冲器的容量时,当第一计数值大于或等于第一阈值数量时,可增加输入缓冲器的容量。
检查使用状态可包括:检查第二计数值,该第二计数值是正使用的输出缓冲器的容量超过预定第二阈值容量的次数;并且确定第二计数值是否大于或等于预定第二阈值数量。在调整输入缓冲器和输出缓冲器的容量时,当第二计数值大于或等于第二阈值数量时,可增加输出缓冲器的容量。
检查使用状态可包括:检查总输入容量,该总输入容量是已存储在输入缓冲器中的数据的总容量;并且确定总输入容量是否大于或等于预定阈值累积容量。在调整输入缓冲器和输出缓冲器的容量时,当总输入容量大于或等于阈值累积容量时,可增加输入缓冲器的容量。
检查使用状态可包括:检查总输出容量,该总输出容量是已存储在输出缓冲器中的数据的总容量;并且确定总输出容量是否大于或等于预定阈值累积容量。在调整输入缓冲器和输出缓冲器的容量时,当总输出容量大于或等于阈值累积容量时,可增加输出缓冲器的容量。
根据本公开的方面,提供了一种控制器,包括:输入缓冲器,用于缓冲入站数据;输出缓冲器,用于缓冲出站数据;以及缓冲器管理电路,被配置成通过根据输入缓冲器和输出缓冲器中的一个或多个的占用大小,在输入缓冲器和输出缓冲器之间将一个缓冲器的可用大小分配给另一个缓冲器来动态调整输入缓冲器和输出缓冲器的大小。
附图说明
在下文中将参照附图更详细地描述各个实施例;然而,本公开的元件和特征可被布置或配置成不同于本文所示或所述的元件和特征。因此,本发明不限于本文阐述的实施例。相反地,提供这些实施例以使本公开彻底且完全,并且将实施例的范围充分地传达给本领域的技术人员。在整个说明书中,对“实施例”等的参考不一定仅针对一个实施例,并且对“实施例”等的不同参考不一定针对相同实施例。
在附图中,为了说明清楚,可放大附图的尺寸。将理解的是,当元件被称为在两个元件“之间”时,该元件可以是这两个元件之间的唯一元件,或者也可存在一个或多个中间元件。相同的附图标记始终表示相同的元件。
图1是示出根据本公开的实施例的包括存储器控制器的存储器系统的示图。
图2是示出图1的存储器装置的示图。
图3是示出根据本公开的实施例的存储器控制器的框图。
图4是示出图3所示的缓冲器管理电路的示例性实施例的框图。
图5是示意性地示出图3的缓冲存储器的框图。
图6是示出根据本公开的实施例的存储器控制器的操作方法的流程图。
图7是示出输入缓冲器的阈值容量的示图。
图8A是示出根据本公开的存储器控制器的操作方法的示例的流程图。
图8B是示出根据本公开的存储器控制器的操作方法的另一示例的流程图。
图9是示出输入缓冲器和输出缓冲器的阈值容量的框图。
图10是示出根据本公开的另一实施例的存储器控制器的操作方法的流程图。
图11A是示出根据本公开的存储器控制器的操作方法的示例的流程图。
图11B是示出根据本公开的存储器控制器的操作方法的另一示例的流程图。
图12是示出根据本公开的又一实施例的存储器控制器的操作方法的流程图。
图13A是示出根据本公开的存储器控制器的操作方法的示例的流程图。
图13B是示出根据本公开的存储器控制器的操作方法的另一示例的流程图。
图14是简要地示出数据输入到缓冲存储器/数据从缓冲存储器输出的示图。
图15A是示出根据本公开的又一实施例的存储器控制器的操作方法的流程图。
图15B是示出根据本公开的又一实施例的存储器控制器的操作方法的流程图。
图16至图19是示出包括图3所示的存储器控制器的存储器系统的各个实施例的示图。
具体实施方式
在下面的详细描述中,仅通过示例的方式示出并描述本公开的实施例。如本领域技术人员将认识到的,在不脱离本公开的精神或范围的情况下,所述实施例可以各种不同的方式修改。因此,附图和描述被认为在本质上是说明性的而非限制性的。
在整个说明书中,当元件被称为“连接”或“联接”到另一元件时,该元件可以直接连接或联接到另一元件,或者利用插置在该元件和另一元件之间的一个或多个中间元件而间接连接或联接到另一元件。另外,除非上下文另有说明,否则当元件被称为“包括”部件时,这表示该元件可进一步包括一个或多个其它部件,而非排除这些其它部件。
本文使用的术语仅是为了描述特定实施例的目的而不旨在限制本发明。
如本文所使用的,除非上下文另有明确说明,否则单数形式也可包括复数形式,反之亦然。
在下文中,将参照附图详细描述本公开的示例性实施例。相同的附图标记用于表示与其它附图中示出的元件相同的元件。在下面的描述中,可仅描述理解根据示例性实施例的操作所需的部分,并且可省略对其它部分的描述,以便不模糊实施例的重要概念。
图1是示出根据本公开的实施例的包括存储器控制器的存储器系统的示图。
参照图1,存储器系统1000可包括用于存储数据的存储器装置1100和用于在主机2000的控制下控制存储器装置1100的存储器控制器1200。
主机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可包括例如双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率4(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SRAM、低功率DDR(LPDDR)、Rambus动态随机存取存储器(RDRAM)以及闪速存储器。
存储器装置1100可在存储器控制器1200的控制下执行编程操作、读取操作或擦除操作。将参照图2示例性地描述存储器装置1100的详细配置和操作。
根据本公开的实施例的存储器控制器1200可通过顺序地弹出并推送存储在命令队列中的命令来执行测试。而且,存储器控制器1200可基于测试结果转换存储在命令队列中的命令中的至少一个。因此,存储器控制器1200的命令队列可能更加有效。将参照图3更详细地描述根据本公开的实施例的存储器控制器1200。
图2是示出图1的存储器装置的示图。
参照图2,存储器装置1100可包括存储数据的存储器单元阵列100。存储器装置1100可包括外围电路200,外围电路200被配置成执行用于将数据存储在存储器单元阵列100中的编程操作、用于输出所存储的数据的读取操作和用于擦除所存储的数据的擦除操作。存储器装置1100可包括控制逻辑300,控制逻辑300在存储器控制器(图1的1200)的控制下控制外围电路200。
存储器单元阵列100可包括多个存储块MB1至MBk(k为正整数)110。局部线LL和位线BL1至BLn(n为正整数)可联接到存储块MB1至MBk 110。例如,局部线LL可包括第一选择线(未示出)、第二选择线(未示出)以及布置在第一选择线和第二选择线之间的多个字线(未示出)。而且,局部线LL可进一步包括布置在第一选择线和字线之间以及布置在第二选择线和字线之间的虚设线(未示出)。第一选择线可以是源极选择线(未示出),第二选择线可以是漏极选择线(未示出)。例如,局部线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放电。例如,在控制逻辑300的控制下,电压生成电路210可生成编程电压、验证电压、通过电压、导通电压、读取电压、擦除电压、源极线电压等。
行解码器220可响应于行地址RADD将操作电压Vop传输到与所选择的存储块110联接的局部线LL。
页面缓冲器组230可包括联接到位线BL1至BLn的多个页面缓冲器PB1至PBn 231。页面缓冲器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<#>和列地址CADD来控制外围电路200。而且,控制逻辑300可响应于通过信号PASS或失败信号FAIL来确定验证操作是已经通过还是失败。
图3是示出根据本公开的实施例的存储器控制器1200的框图。
参照图3,根据本公开的实施例的存储器控制器1200包括主存储器400、缓冲存储器410、缓冲器管理电路420、控制电路430、数据转换电路440和存储器接口450。除了图3所示的部件之外,根据本公开的实施例的存储器控制器1200可进一步包括其它部件。
主存储器400可从主机2000接收输入数据并临时存储输入数据。而且,主存储器400可从存储器装置1100接收输出数据并临时存储输出数据。同时,主存储器400可存储存储器控制器1200的操作所需的全部数据。在实施例中,主存储器400可以被配置为动态随机存取存储器(DRAM)。
在一般存储器系统中,主机侧时钟周期可不同于存储器装置侧时钟周期。也就是说,因为主机侧时钟周期不同于存储器装置侧时钟周期,所以可能需要缓冲存储器,用于补偿由时钟周期差异所造成的速度差异。在图3中,主存储器400可以主机侧时钟周期进行操作。同时,数据转换电路440、存储器接口450等可以存储器装置侧时钟周期进行操作。因此,存储器控制器1200的缓冲存储器410可补偿主存储器400和数据转换电路440之间的速度差异,主存储器400以主机侧时钟周期以相对高的速度进行操作,数据转换电路440以存储器装置侧时钟周期以相对低的速度进行操作。
主存储器400可通过总线BUS与缓冲存储器410通信。虽然未在图3中详细示出,但主存储器400也可通过总线BUS与其它部件通信。主存储器400可存储从主机2000接收的输入数据。而且,主存储器400可存储从存储器装置1100接收的输出数据。
缓冲存储器410可联接在主存储器400和数据转换电路440之间。缓冲存储器410可从主存储器400接收输入数据。输入数据是从主机2000传输的数据,并且可以是待写入到存储器装置1100的数据。接收的输入数据可被临时存储在缓冲存储器410中,然后被传输到数据转换电路440。随后,输入数据可通过存储器接口450传输到存储器装置1100。
同时,缓冲存储器410可从数据转换电路440接收输出数据。输出数据可以是响应于来自存储器控制器1200的读取命令等从存储器装置1100输出的数据。输出数据通过存储器接口450从存储器装置1100传输到数据转换电路440。数据转换电路440转换接收的输出数据并将转换的输出数据传输到缓冲存储器410。缓冲存储器410临时存储输出数据,然后将输出数据传输到主存储器400。传输到主存储器400的数据被输出到主机。
缓冲存储器410可包括输入缓冲器411和输出缓冲器413,以分别存储输入数据和输出数据。输入缓冲器411临时存储从主存储器400传输的输入数据。输出缓冲器413临时存储从数据转换电路440传输的输出数据。输入缓冲器411和输出缓冲器413中的每一个可以先进先出(FIFO)结构来实施。同时,在实施例中,包括输入缓冲器411和输出缓冲器413的缓冲存储器410可利用静态RAM(SRAM)来实施。
虽然图3以示例的方式示出了输入缓冲器411和输出缓冲器413彼此分离,但输入缓冲器411和输出缓冲器413可被集成。例如,缓冲存储器410可利用单个SRAM来实施,并且输入缓冲器411和输出缓冲器413可被实施为单个SRAM中逻辑上划分的存储器区域。
缓冲器管理电路420可控制缓冲存储器410的操作。更具体地,缓冲器管理电路420可动态地调整缓冲存储器410中的输入缓冲器411和输出缓冲器413的各自容量。在实施例中,缓冲器管理电路420可根据输入缓冲器411或输出缓冲器413的使用来调整输入缓冲器411和输出缓冲器413的容量。
控制电路430可控制存储器控制器1200的全部操作。在一些实施例中,控制电路430可控制主存储器400、缓冲存储器410、缓冲器管理电路420、数据转换电路440和存储器接口450中的至少一个的操作。在实施例中,控制器430可以被配置为微控制器。
数据转换电路440可从缓冲存储器410接收输入数据并转换输入数据。在一个示例中,数据转换电路440可将用于ECC的奇偶校验位插入到输入数据中。在另一示例中,数据转换电路440可使输入数据随机化。另外,数据转换电路440可通过对输入数据进行编码来执行将输入数据转换成待实际写入到存储器装置的数据的各种功能。
同时,数据转换电路440可反向转换从存储器装置1100接收的输出数据。在一个示例中,数据转换电路440可对输出数据执行ECC。在另一示例中,数据转换电路440可使输出数据随机化。另外,数据转换电路440可通过对输出数据进行解码来执行将输出数据转换成待实际输出到主机的数据的各种功能。
存储器接口450可控制存储器控制器1200和存储器装置1100之间的数据传输。
输入缓冲器411和输出缓冲器413的容量可根据存储器系统1000的使用而变化。例如,当存储器系统1000被应用于相机等时,相对频繁地执行数据的写入操作。当输入缓冲器411的容量小时,数据从主存储器400传输到数据转换电路440时可能会出现瓶颈现象。这导致存储器系统1000的总写入速度降低。因此,在该示例中,输入缓冲器411需要相对大的容量,而输出缓冲器413不需要大的容量。
另一方面,例如,当存储器系统1000应用于音乐播放器时,相对频繁地执行数据的读取操作。当输出缓冲器413的容量小时,数据从数据转换电路440传输到主存储器400时可能会出现瓶颈现象。这导致存储器系统1000的总读取速度降低。因此,在该示例中,输出缓冲器413需要相对大的容量,而输入缓冲器411不需要大的容量。
根据本公开的实施例的存储器控制器1200根据输入缓冲器411和输出缓冲器413中的至少一个的使用来调整输入缓冲器411和输出缓冲器413的容量。因此,缓冲存储器410中的输入缓冲器411和输出缓冲器413的容量根据存储器系统1000的使用而动态地改变。因此,可增加存储器控制器1200中的主存储器400和数据转换电路440之间的吞吐量,并且可增加存储器系统1000的总操作速度。
图4是示出图3所示的缓冲器管理电路420的示例性实施例的框图。
参照图4,缓冲器管理电路420可包括缓冲器监测部分421、阈值存储部分423和缓冲器容量确定部分425。
缓冲器监测部分421接收表示缓冲存储器410的使用状态的缓冲器检查数据BMD,并基于缓冲器检查数据BMD输出缓冲器分析数据ANL。阈值存储部分423存储用于改变输入缓冲器411和输出缓冲器413的容量的阈值THs。阈值THs可以是与缓冲器分析数据ANL进行比较以确定是否调整输入缓冲器411和输出缓冲器413的容量的参考值。缓冲器容量确定部分425通过将阈值THs与缓冲器分析数据ANL进行比较来确定是否调整输入缓冲器411和输出缓冲器413的容量,并基于确定结果生成控制信号CTR。控制信号CTR被传输到缓冲存储器410。更具体地,控制信号CTR可以是用于改变由用于将输入缓冲器411和输出缓冲器413彼此划分开的缓冲器指针所指示的地址的信号。当缓冲器指针指示的位置改变时,输入缓冲器411和输出缓冲器413的容量被改变。这将在后面参照图5更详细地进行描述。
虽然图3和图4以示例的方式示出了缓冲器管理部分420是与控制电路430分开提供的部件,但根据本公开的实施例的存储器控制器1200不限于此。也就是说,缓冲器管理部分420和控制电路430可被集成。缓冲器管理部分420和控制电路430可以被配置为一个微处理器。
图5是示意性地示出图3的缓冲存储器410的框图。
参照图5,缓冲存储器410包括输入缓冲器411和输出缓冲器413。在图5所示的特定实施例中,输入缓冲器411和输出缓冲器413并未彼此分开配置,而是被配置为缓冲存储器410中逻辑上划分的存储器区域。指示缓冲存储器410的具体地址的缓冲器指针可将缓冲存储器410逻辑上划分为输入缓冲器411和输出缓冲器413。缓冲器指针可以是指示作为输入缓冲器411和输出缓冲器413之间的边界的逻辑地址的存储器指针。
当缓冲器指针指示的地址改变时,输入缓冲器411和输出缓冲器413的容量可被改变。当图5所示的缓冲器指针指示的位置向上移动时,输入缓冲器411的容量可减少,并且输出缓冲器413的容量可增加。相反,当缓冲器指针指示的位置向下移动时,输入缓冲器411的容量可增加,并且输出缓冲器413的容量可减少。
在根据本公开的实施例的存储器控制器1200中,缓冲器指针指示的地址根据输入缓冲器411和输出缓冲器413的使用状态而改变。因此,可动态地改变输入缓冲器411和输出缓冲器413的容量。因此,输入缓冲器411和输出缓冲器413的容量根据用户的特征而适应性地改变,从而可增加主存储器400和数据转换电路440之间的吞吐量。因此,可提高存储器系统1000的操作速度。
图6是示出根据本公开的实施例的存储器控制器的操作方法的流程图。
参照图6,根据本公开的实施例的存储器控制器1200的操作方法包括:步骤S100,检查输入缓冲器411和输出缓冲器413的使用状态;以及步骤S200,基于使用状态调整输入缓冲器411和输出缓冲器413的容量。
将参照图8A至图14详细地描述步骤S100和S200的示例性实施例。
图7是示出输入缓冲器411的阈值容量的示图。
参照图7,为便于描述,仅示出了缓冲存储器410的输入缓冲器411,并且省略了对输出缓冲器413的图示。然而,将注意的是,缓冲存储器410还包括输出缓冲器413,并且类似于图7的输入缓冲器411示出输出缓冲器413。
参照图7,输入缓冲器411的总容量中正使用的输入缓冲器容量由阴影表示。另外,还在图7中表示出了阈值容量。阈值容量可用作与正使用的输入缓冲器容量进行比较以改变输入缓冲器411的容量的参考值。
当存储器系统1000根据用户的特征频繁地执行数据的写入操作时,很可能将增加输入缓冲器411正使用的输入缓冲器容量。因此,可能频繁出现正使用的输入缓冲器容量大于阈值容量的情况。当正使用的输入缓冲器容量等于输入缓冲器411的总容量时,输入数据无法被存储在输入缓冲器411中。输入数据在输入缓冲器411中的存储被延迟,因此出现从主存储器400到数据转换电路440的数据瓶颈现象。
因此,当正使用的输入缓冲器容量大于阈值容量时,或者当频繁出现正使用的输入缓冲器容量超过阈值容量的情况时,增加输入缓冲器411的容量,从而可防止数据瓶颈现象。因此,增加从主存储器400到数据转换电路440的吞吐量。
相反,当存储器系统1000根据用户的特征频繁地执行数据的读取操作时,很可能将增加输出缓冲器413正使用的输出缓冲器容量。因此,可能频繁出现正使用的输出缓冲器容量大于阈值容量的情况。当正使用的输出缓冲器容量等于输出缓冲器413的总容量时,输出数据无法被存储在输出缓冲器413中。输出数据在输出缓冲器413中的存储被延迟,因此出现从数据转换电路440到主存储器400的数据瓶颈现象。
因此,当正使用的输出缓冲器容量大于阈值容量时,或者当频繁出现正使用的输出缓冲器容量超过阈值容量的情况时,增加输出缓冲器413的容量,从而可防止数据瓶颈现象。因此,增加从数据转换电路440到主存储器400的吞吐量。
图8A是示出根据本公开的存储器控制器1200的操作方法的示例的流程图。图8B是示出根据本公开的存储器控制器1200的操作方法的另一示例的流程图。图8A示出了根据输入缓冲器411的使用来增加输入缓冲器411的容量的实施例,图8B示出了根据输出缓冲器413的使用来增加输出缓冲器413的容量的实施例。在下文中,将参照图4、图8A和图8B描述根据本公开的示例性实施例的存储器控制器的操作方法。
参照图8A,根据本公开的示例性实施例的存储器控制器1200的操作方法包括:步骤S110,检查当前正使用的输入缓冲器411的容量;以及步骤S130,确定正使用的输入缓冲器容量是否大于或等于阈值容量。步骤S110和S130可以是包括在图6的步骤S100中的步骤。
根据本公开的示例性实施例的存储器控制器的操作方法进一步包括:步骤S210,当作为步骤S130的结果,正使用的输入缓冲器容量大于或等于阈值容量(即,步骤S130中为“是”)时,增加输入缓冲器411的容量。步骤S210可以是包括在图6的步骤S200中的步骤。当作为步骤S130的结果,正使用的输入缓冲器容量小于阈值容量(即,步骤S130中为“否”)时,该进程结束而不增加输入缓冲器的容量。
具体地,在步骤S110中,当前正使用的输入缓冲器容量以缓冲器检查数据BMD的形式传输到缓冲器监测部分421。缓冲器监测部分421将包括在缓冲器检查数据BMD中的当前正使用的输入缓冲器容量作为缓冲器分析数据ANL传输到缓冲器容量确定部分425。
在步骤S130中,缓冲器容量确定部分425将当前正使用的输入缓冲器容量与阈值容量进行比较。阈值存储部分423将阈值容量作为阈值THs传输到缓冲器容量确定部分425。在当前正使用的输入缓冲器容量大于或等于阈值容量时,缓冲器容量确定部分425生成用于增加输入缓冲器411的容量的控制信号CTR,并将控制信号CTR传输到缓冲存储器410。缓冲器指针指示的位置响应于控制信号CTR而改变,从而增加输入缓冲器411的容量。
在当前正使用的输入缓冲器容量小于阈值容量时,输入缓冲器411的容量不改变。可每隔一定的时间间隔定期地执行图8A所示的步骤S110、S130和S210中的每一个。也就是说,缓冲器管理电路420可定期地接收缓冲器检查数据BMD,并且基于缓冲器检查数据BMD来确定是否将改变输入缓冲器411的容量。
参照图8B,根据本公开的示例性实施例的存储器控制器1200的操作方法包括:步骤S115,检查当前正使用的输出缓冲器413的容量;以及步骤S135,确定正使用的输出缓冲器容量是否大于或等于阈值容量。步骤S115和S135可以是包括在图6的步骤S100中的步骤。
根据本公开的示例性实施例的存储器控制器1200的操作方法进一步包括:步骤S215,当作为步骤S135的结果,正使用的输出缓冲器容量大于或等于阈值容量(即,步骤S135中为“是”)时,增加输出缓冲器413的容量。步骤S215可以是包括在图6的步骤S200中的步骤。当作为步骤S135的结果,正使用的输出缓冲器容量小于阈值容量(即,步骤S135中为“否”)时,该进程结束而不增加输出缓冲器的容量。
将理解的是,当执行步骤S115、S135和S215时,类似于如图8A中所述的如何改变输入缓冲器411的容量来改变输出缓冲器413的容量。因此,将省略重复的描述。
图9是示出输入缓冲器411和输出缓冲器413的阈值容量的框图。
参照图9,示意性地示出了缓冲存储器410中的输入缓冲器411和输出缓冲器413。输入缓冲器411和输出缓冲器413由缓冲器指针来划分,并且当缓冲器指针指示的位置改变时,可改变输入缓冲器411和输出缓冲器413的容量。同时,关于输入缓冲器411预先确定第一阈值容量,关于输出缓冲器413预先确定第二阈值容量。第一阈值容量和第二阈值容量是图4所示的阈值THs,并且可被存储在阈值存储部分423中。同时,第一阈值容量和第二阈值容量可具有相同的值。然而,如果需要,第一阈值容量和第二阈值容量可具有不同的值。
在图9中,正使用的输入缓冲器容量小于第一阈值容量,正使用的输出缓冲器容量小于第二阈值容量。在该示例中,当正使用的输入缓冲器容量超过第一阈值容量时,如参照图8A所述,可增加输入缓冲器411的容量。这是因为在输出缓冲器413中仍然存在足够的空间。
然而,与图9不同,当在正使用的输出缓冲器容量超过第二阈值容量的情况下,正使用的输入缓冲器容量超过第一阈值容量时,在增加输入缓冲器411的容量时,输出缓冲器413的容量可能不足。因此,优选的是不增加输入缓冲器411的容量。在下文中,将参照图10描述反映上述需求的控制器的操作方法。
图10是示出根据本公开的另一实施例的存储器控制器1200的操作方法的流程图。
参照图10,在步骤S120中检查当前正使用的输入缓冲器容量,并且在步骤S140中确定正使用的输入缓冲器容量是否大于或等于第一阈值容量。
当正使用的输入缓冲器容量大于或等于第一阈值容量(即,步骤S140中为“是”)时,在步骤S160中检查当前正使用的输出缓冲器容量,并且在步骤S180中确定正使用的输出缓冲器容量是否大于或等于第二阈值容量。
当正使用的输出缓冲器容量大于或等于第二阈值容量(即,步骤S180中为“是”)时,输出缓冲器413的容量不足,因此该进程结束而不增加输入缓冲器411的容量。当正使用的输出缓冲器容量小于第二阈值容量(即,步骤S180中为“否”)时,输出缓冲器413的容量充足,因此在步骤S220中增加输入缓冲器411的容量。
同时,当作为步骤S140的结果,正使用的输入缓冲器容量小于第一阈值容量(即,步骤S140中为“否”)时,这表示输入缓冲器411的容量充足。随后,在步骤S165中检查当前正使用的输出缓冲器容量,并且在步骤S185中确定正使用的输出缓冲器容量是否大于或等于第二阈值容量。
当在输入缓冲器411的容量充足的情况下,正使用的输出缓冲器容量大于或等于第二阈值容量(即,步骤S185中为“是”)时,在步骤S225中增加输出缓冲器413的容量。当正使用的输出缓冲器容量小于第二阈值容量(即,步骤S185中为“否”)时,该进程结束而不增加输出缓冲器413的容量。
在图10中,将理解的是,步骤S120、S140、S160、S165、S180和S185包括在图6的步骤S100中,步骤S220和S225包括在图6的步骤S200中。
根据图10所示的实施例,虽然当前正使用的输入缓冲器411的容量超过第一阈值容量,但根据输出缓冲器413的容量是否充足来确定是否将增加输入缓冲器411的容量。同时,当输入缓冲器411的容量充足时,在当前正使用的输出缓冲器413的容量超过第二阈值容量时,增加输出缓冲器413的容量。因此,可通过考虑输入缓冲器411和输出缓冲器413两者的使用状态来改变输入缓冲器411和输出缓冲器413的容量。
图11A是示出根据本公开的存储器控制器1200的操作方法的示例的流程图。图11B是示出根据本公开的存储器控制器1200的操作方法的另一示例的流程图。图11A示出了根据输入缓冲器411的使用来增加输入缓冲器411的容量的实施例,图11B示出了根据输出缓冲器413的使用来增加输出缓冲器413的容量的实施例。在下文中,将参照图4、图11A和图11B描述根据本公开的示例性实施例的存储器控制器的操作方法。
参照图11A,根据本公开的示例性实施例的存储器控制器1200的操作方法包括:步骤S111,在设定时段期间检查输入缓冲器的容量预定次数,并对输入缓冲器的容量超过阈值容量的次数进行计数;以及步骤S131,确定计数值是否大于或等于预定第一阈值数量。步骤S111和S131可以是包括在图6的步骤S100中的步骤。
在图8A的步骤S110中,检查当前正使用的输入缓冲器容量。另一方面,在图11A的步骤S111中,在一定时段期间多次检查输入缓冲器的容量,并且对检查的容量超过阈值容量的次数进行计数。当计数值高时,这表示图7中正使用的输入缓冲器容量频繁超过阈值容量。当计数值低时,这表示输入缓冲器容量未频繁超过阈值容量。
因此,当在步骤S131中计数值大于或等于预定第一阈值数量(即,步骤S131中为“是”)时,这表示正使用的输入缓冲器容量频繁超过阈值容量,因此在步骤S211中增加输入缓冲器的容量。步骤S211可以是包括在图6的步骤S200中的步骤。
同时,当在步骤S131中计数值小于预定第一阈值数量(即,步骤S131中为“否”)时,这表示正使用的输入缓冲器容量未频繁超过阈值容量,因此该进程结束而不增加输入缓冲器的容量。
具体地,在步骤S111中,当前正使用的输入缓冲器容量以图4所示的缓冲器检查数据BMD的形式传输到缓冲器监测部分421。缓冲器监测部分421通过在一定时段期间累积并分析缓冲器检查数据BMD,对正使用的输入缓冲器容量超过阈值容量的次数进行计数。计数值作为缓冲器分析数据ANL传输到缓冲器容量确定部分425。
在步骤S131中,缓冲器容量确定部分425将作为缓冲器分析数据ANL传输的计数值与阈值数量进行比较。阈值存储部分423将阈值数量作为阈值THs传输到缓冲器容量确定部分425。当计数值大于或等于阈值数量时,缓冲器容量确定部分425生成用于增加输入缓冲器411的容量的控制信号CTR,并将控制信号CTR传输到缓冲存储器410。缓冲器指针指示的位置响应于控制信号CTR而改变,从而增加输入缓冲器411的容量。
当计数值小于阈值数量时,输入缓冲器411的容量不改变。
参照图11B,根据本公开的示例性实施例的存储器控制器的操作方法包括:步骤S116,在设定时段期间检查输出缓冲器的容量预定次数,并对输出缓冲器的容量超过阈值容量的次数进行计数;以及步骤S136,确定计数值是否大于或等于预定第二阈值数量。步骤S116和S136可以是包括在图6的步骤S100中的步骤。
同时,根据本公开的示例性实施例的存储器控制器的操作方法进一步包括:步骤S216,当作为步骤S136的结果,计数值大于或等于第二阈值数量(即,步骤S136中为“是”)时,增加输出缓冲器413的容量。步骤S216可以是包括在图6的步骤S200中的步骤。
当在步骤S136中计数值小于预定第二阈值数量(即,步骤S136中为“否”)时,这表示正使用的输出缓冲器容量未频繁超过阈值容量,因此该进程结束而不增加输出缓冲器的容量。
将理解的是,当执行步骤S116、S136和S216时,类似于图11A中所述的如何改变输入缓冲器411的容量来改变输出缓冲器413的容量。因此,将省略重复的描述。
图12是示出根据本公开的又一实施例的存储器控制器1200的操作方法的流程图。
参照图12,在步骤S121中,通过在设定时段期间检查缓冲存储器的使用情况预定次数来确定第一计数值和第二计数值,其中第一计数值是正使用的输入缓冲器的容量超过第一阈值容量的次数,第二计数值是正使用的输出缓冲器的容量超过第二阈值容量的次数。然后,在步骤S121中确定了第一计数值和第二计数值之后,在步骤S141中,首先确定第一计数值是否大于或等于第一阈值数量。
当第一计数值大于或等于第一阈值数量(即,步骤S141中为“是”)时,在步骤S181中,确定第二计数值是否大于或等于第二阈值数量。当第二计数值大于或等于第二阈值数量(即,步骤S181中为“是”)时,这表示正使用的输出缓冲器413的容量频繁超过第二阈值容量。因此,该进程结束而不增加输入缓冲器411的容量。当第二计数值小于第二阈值数量(即,步骤S181中为“否”)时,这表示正使用的输出缓冲器413的容量未频繁超过第二阈值容量。因此,在步骤S221中,确定输出缓冲器413的容量将是充足的,并因此增加输入缓冲器411的容量。
同时,当作为步骤S141的结果,第一计数值小于第一阈值数量(即,步骤S141中为“否”)时,这表示正使用的输入缓冲器411的容量未频繁超过第一阈值容量。随后,在步骤S186中,确定第二计数值是否大于或等于第二阈值数量。
当在正使用的输入缓冲器411的容量未频繁超过第一阈值容量的情况下,第二计数值大于或等于第二阈值数量(即,步骤S186中为“是”)时,在步骤S226中增加输出缓冲器413的容量。当第二计数值小于第二阈值数量(即,步骤S186中为“否”)时,该进程结束而不增加输出缓冲器413的容量。
在图12中,将理解的是,步骤S121、S141、S181和S186包括在图6的步骤S100中,步骤S221和S226包括在图6的步骤S200中。
根据图12所示的实施例,虽然正使用的输入缓冲器411的容量频繁超过第一阈值容量,但根据输出缓冲器413的情况确定是否将增加输入缓冲器411的容量。同时,当正使用的输入缓冲器411的容量未频繁超过第一阈值容量时,在正使用的输出缓冲器413的容量频繁超过第二阈值容量时,增加输出缓冲器413的容量。因此,可通过考虑输入缓冲器411和输出缓冲器413两者的使用状态来改变输入缓冲器411和输出缓冲器413的容量。
图13A是示出根据本公开的存储器控制器1200的操作方法的示例的流程图。图13B是示出根据本公开的存储器控制器1200的操作方法的另一示例的流程图。图13A示出了根据输入缓冲器411的使用来减少输入缓冲器411的容量的实施例,图13B示出了根据输出缓冲器413的使用来减少输出缓冲器413的容量的实施例。
参照图13A,根据本公开的示例性实施例的存储器控制器1200的操作方法包括:步骤S113,在设定时段期间检查输入缓冲器411的容量预定次数,并对输入缓冲器411的容量超过阈值容量的次数进行计数;以及步骤S133,确定计数值是否小于预定第三阈值数量。步骤S113和S133可以是包括在图6的步骤S100中的步骤。
在图13A的步骤S113中,在一定时段期间多次检查输入缓冲器411的容量,并且对检查的容量超过阈值容量的次数进行计数。当计数值低时,这表示图7中正使用的输入缓冲器容量超过阈值容量的频率低。
因此,当计数值小于预定第三阈值数量(即,步骤S133中为“是”)时,这表示正使用的输入缓冲器容量超过阈值容量的频率低,因此在步骤S213中减少输入缓冲器411的容量。步骤S213可以是包括在图6的步骤S200中的步骤。
同时,当计数值大于或等于预定第三阈值数量(即,步骤S133中为“否”)时,这表示正使用的输入缓冲器容量频繁超过阈值容量至一定程度,因此该进程结束而不减少输入缓冲器411的容量。
具体地,在步骤S113中,当前正使用的输入缓冲器容量以图4所示的缓冲器检查数据BMD的形式传输到缓冲器监测部分421。缓冲器监测部分421通过在一定时段期间累积并分析缓冲器检查数据BMD,对正使用的输入缓冲器容量超过阈值容量的次数进行计数。计数值作为缓冲器分析数据ANL传输到缓冲器容量确定部分425。
在步骤S133中,缓冲器容量确定部分425将作为缓冲器分析数据ANL传输的计数值与第三阈值数量进行比较。阈值存储部分423将第三阈值数量作为阈值THs传输到缓冲器容量确定部分425。当计数值小于第三阈值数量时,缓冲器容量确定部分425生成用于减少输入缓冲器411的容量的控制信号CTR,并将控制信号CTR传输到缓冲存储器410。缓冲器指针指示的位置响应于控制信号CTR而改变,从而减少输入缓冲器411的容量。
如果需要,可不同地确定第三阈值数量的值。作为示例,当第三阈值数量的值为1时,在步骤S133中确定计数值是否小于1。也就是说,在步骤S133中,当计数值为0时,这表示正使用的输入缓冲器容量在设定时段期间未超过阈值容量。因此,在步骤S213中,减少输入缓冲器的容量。
当计数值大于或等于第三阈值数量时,输入缓冲器411的容量不改变。
参照图13B,根据本公开的示例性实施例的存储器控制器1200的操作方法包括:步骤S118,在设定时段期间检查输出缓冲器413的容量预定次数,并且对输出缓冲器的容量超过阈值容量的次数进行计数;以及步骤S138,确定计数值是否小于预定第四阈值数量。步骤S118和S138可以是包括在图6的步骤S100中的步骤。
同时,根据本公开的示例性实施例的存储器控制器的操作方法进一步包括:步骤S218,当作为步骤S138的结果,计数值小于第四阈值数量(即,步骤S138中为“是”)时,减少输出缓冲器413的容量。步骤S218是包括在图6的步骤S200中的步骤。当计数值大于或等于第四阈值数量(即,步骤S138中为“否”)时,这表示正使用的输出缓冲器容量频繁超过阈值容量至一定程度,因此该进程结束而不减少输出缓冲器413的容量。
将理解的是,当执行步骤S118、S138和S218时,类似于图13A改变输出缓冲器413的容量。
图14是简要地示出数据输入到缓冲存储器410/数据从缓冲存储器410输出的示图。
参照图14,从主存储器400接收的输入数据DIN1被存储在输入缓冲器411中,并且从输入缓冲器411输出的输入数据DIN2被传输到数据转换电路440。另外,从数据转换电路440接收的输出数据DOUT1被存储在输出缓冲器413中,并且从输出缓冲器413输出的输出数据DOUT2被传输到主存储器400。因此,监测从主存储器400接收的输入数据DIN1或从输入缓冲器411输出的输入数据DIN2,从而可以监测写入到存储器装置1100的整个数据。进一步地,监测从数据转换电路440接收的输出数据DOUT1或从输出缓冲器413输出的输出数据DOUT2,从而可以监测从存储器装置1100读取的整个数据。
根据本公开的实施例的存储器控制器及该存储器控制器的操作方法,可通过监测写入到存储器装置的数据来调整缓冲存储器的输入缓冲器或输出缓冲器的容量。进一步地,根据本公开的实施例的存储器控制器及该存储器控制器的操作方法,可通过监测从存储器装置读取的数据来调整缓冲存储器的输入缓冲器或输出缓冲器的容量。
例如,当传输到存储器装置1100的输入数据DIN1或DIN2的总容量超过某一参考值时,这表示已显著地进行了存储器装置1100的擦除-写入周期(EW周期)。可能增加将数据写入到存储器装置1100所需的时间,因此可能需要输入缓冲器411的容量大。根据本公开的实施例的存储器控制器及该存储器控制器的操作方法,可通过监测输入/输出数据的总容量来确定输入缓冲器或输出缓冲器的容量。
图15A是示出根据本公开的又一实施例的存储器控制器的操作方法的流程图。
参照图15A,根据本公开的实施例的存储器控制器的操作方法,在步骤S310中接收输入数据。在步骤S310中,输入数据DIN1可从主存储器400接收到缓冲存储器410的输入缓冲器411。随后,在步骤S320中计算输入数据的容量。在步骤S320中,可由缓冲器监测部分421计算输入数据的容量。随后,在步骤S330中更新累积输入数据容量。累积输入数据容量可以是表示已输入到输入缓冲器411的所有数据容量的总和的值。每当接收到输入数据,图4的缓冲器监测部分421可更新累积输入数据容量。更新的累积输入数据容量可作为缓冲器分析数据ANL传输到缓冲器容量确定部分425。
随后,在步骤S350中确定计算的累积输入数据容量是否大于或等于阈值累积容量。阈值累积容量可作为图4的阈值THs从阈值存储部分423传输到缓冲器容量确定部分425。缓冲器容量确定部分425将传输的累积输入数据容量与阈值累积容量进行比较。
随后,当累积输入数据容量大于或等于阈值累积容量(即,步骤S350中为“是”)时,在步骤S360中增加输入缓冲器411的容量。在步骤S360中,缓冲器容量确定部分425生成用于增加输入缓冲器411的容量的控制信号CTR。缓冲存储器410响应于控制信号CTR改变由缓冲器指针指示的地址,从而增加输入缓冲器411的容量。当累积输入数据容量小于阈值累积容量(即,步骤S350中为“否”)时,该进程结束而不增加输入缓冲器411的容量。
图15A中示出了通过监测输入数据DIN1来改变输入缓冲器411的容量的方法。将理解的是,以类似的方法,可通过监测输出数据DOUT1来改变输出缓冲器413的容量。
图15B是示出根据本公开的又一实施例的存储器控制器的操作方法的流程图。
参照图15B,根据本公开的实施例的存储器控制器的操作方法,在步骤S410中接收输出数据。在步骤S410中,输出数据DOUT1可从数据转换单元440接收到缓冲存储器410的输出缓冲器413。随后,在步骤S420中计算输出数据的容量。在步骤S420中,可由缓冲器监测部分421计算输出数据的容量。随后,在步骤S430中更新累积输出数据容量。累积输出数据容量可以是表示已输入到输出缓冲器413的所有数据容量的总和的值。每当接收到输出数据时,图4的缓冲器监测部分421可更新累积输出数据容量。更新的累积输出数据容量可作为缓冲器分析数据ANL传输到缓冲器容量确定部分425。
随后,在步骤S450中确定计算的累积输出数据容量是否大于或等于阈值累积容量。阈值累积容量可作为图4的阈值THs从阈值存储部分423传输到缓冲器容量确定部分425。缓冲器容量确定部分425将传输的累积输出数据容量与阈值累积容量进行比较。
随后,当累积输出数据容量大于或等于阈值累积容量(即,步骤S450中为“是”)时,在步骤S460中增加输出缓冲器413的容量。在步骤S460中,缓冲器容量确定部分425生成用于增加输出缓冲器413的容量的控制信号CTR。缓冲存储器410响应于控制信号CTR改变由缓冲器指针指示的地址,从而增加输出缓冲器413的容量。当累积输出数据容量小于阈值累积容量(即,步骤S450中为“否”)时,该进程结束而不增加输出缓冲器413的容量。
图16是示出包括图3所示的存储器控制器的存储器系统的实施例的示图。
参照图16,存储器系统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的芯片。
图17是示出包括图3所示的存储器控制器的存储器系统的实施例的示图。
参照图17,存储器系统40000可被实施为个人计算机(PC)、平板PC、上网本、电子阅读器、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器或MP4播放器。
存储器系统40000可包括存储器装置1100和能够控制存储器装置1100的数据处理操作的存储器控制器1200。
处理器4100可根据通过输入装置4200输入的数据通过显示器4300输出存储在存储器装置1100中的数据。例如,输入装置4200可被实施为诸如触摸板或计算机鼠标的定点装置、小键盘或键盘。
处理器4100可控制存储器系统40000的全部操作,并且控制存储器控制器1200的操作。在一些实施例中,能够控制存储器装置1100的操作的存储器控制器1200可被实施为处理器4100的一部分,或者被实施为独立于处理器4100的芯片。
图18是示出包括图3所示的存储器控制器的存储器系统的实施例的示图。
参照图18,存储器系统50000可被实施为图像处理装置,例如数码相机、附接有数码相机的移动终端、附接有数码相机的智能电话、或附接有数码相机的平板PC。
存储器系统50000可包括存储器装置1100和存储器控制器1200,存储器控制器1200能够控制存储器装置1100的数据处理操作,例如编程操作、擦除操作或读取操作。
存储器系统50000的图像传感器5200可将光学图像转换成数字信号,并且转换的数字信号可被传输到处理器5100或存储器控制器1200。在处理器5100的控制下,转换的数字信号可通过显示器5300输出,或通过存储器控制器1200而被存储在存储器装置1100中。另外,在处理器5100或存储器控制器1200的控制下,存储在存储器装置1100中的数据可通过显示器5300输出。
在一些实施例中,能够控制存储器装置1100的操作的存储器控制器1200可被实施为处理器5100的一部分,或者被实施为独立于处理器5100的芯片。
图19是示出包括图3所示的存储器控制器的存储器系统的实施例的示图。
参照图19,存储器系统70000可被实施为存储卡或智能卡。存储器系统70000可包括存储器装置1100、存储器控制器1200和卡接口7100。
存储器控制器1200可控制存储器装置1100和卡接口7100之间的数据交换。在一些实施例中,卡接口7100可以是安全数字(SD)卡接口或多媒体卡(MMC)接口,但本公开不限于此。
卡接口7100可根据主机60000的协议来接口连接主机60000和存储器控制器1200以进行数据交换。在一些实施例中,卡接口7100可支持通用串行总线(USB)协议和芯片间(IC)-USB协议。卡接口7100可表示能够支持主机60000使用的协议的硬件、嵌入在该硬件中的软件或信号传输方案。
当存储器系统70000联接到诸如PC、平板PC、数码相机、数字音频播放器、移动电话、控制台视频游戏硬件或数字机顶盒的主机60000的主机接口6200时,主机接口6200可在微处理器6100的控制下,通过卡接口7100和存储器控制器1200与存储器装置1100进行数据通信。
根据本公开,可以提供一种能够更有效地利用缓冲存储器的存储器控制器。
进一步地,根据本公开,可以提供一种能够更有效地利用缓冲存储器的存储器控制器的操作方法。
本文已经公开了示例性实施例,并且尽管使用了特定的术语,但是它们仅以一般的和描述性的意义来使用并解释,而不用于限制的目的。在一些情况下,从本申请提交起,对于本领域普通技术人员而言显而易见的是,除非另外明确说明,否则结合特定实施例描述的特征、特性和/或元件可单独使用或与结合其它实施例描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解的是,在不脱离如权利要求中阐述的本公开的精神和范围的情况下,可进行形式和细节上的各种改变。
Claims (13)
1.一种存储器控制器,用于控制存储器装置的操作,所述存储器控制器包括:
缓冲存储器,包括输入缓冲器和输出缓冲器,所述输入缓冲器用于存储从主机接收的输入数据,所述输出缓冲器用于存储从所述存储器装置接收的输出数据;以及
缓冲器管理电路,基于所述输入缓冲器或所述输出缓冲器中的至少一个的使用状态,分配所述输入缓冲器和所述输出缓冲器的容量,
其中所述缓冲器管理电路包括:
缓冲器监测部分电路,根据所述缓冲存储器的使用来生成缓冲器分析数据;
阈值存储部分电路,存储用于改变所述输入缓冲器和所述输出缓冲器的容量的阈值;以及
缓冲器容量确定部分电路,通过比较所述缓冲器分析数据和所述阈值来确定是否将改变所述输入缓冲器和所述输出缓冲器的分配容量,
所述缓冲器分析数据包括第一计数值和第二计数值,所述阈值包括所述输入缓冲器的第一阈值容量和所述输出缓冲器的第二阈值容量,所述第一计数值是当前正使用的所述输入缓冲器的容量超过所述第一阈值容量的次数,所述第二计数值是当前正使用的所述输出缓冲器的容量超过所述第二阈值容量的次数,并且
所述缓冲器容量确定部分电路基于所述第一计数值和所述第二计数值来确定是否将改变所述输入缓冲器和所述输出缓冲器的分配容量。
2.根据权利要求1所述的存储器控制器,其中所述缓冲存储器是SRAM。
3.根据权利要求1所述的存储器控制器,其中所述输入缓冲器和所述输出缓冲器由指示所述缓冲存储器的具体地址的缓冲器指针来划分,
其中所述缓冲器管理电路通过改变所述缓冲器指针指示的地址来分配所述输入缓冲器和所述输出缓冲器的容量。
4.根据权利要求3所述的存储器控制器,其中响应于所述输入缓冲器和所述输出缓冲器中的任意一个的容量增加,所述输入缓冲器和所述输出缓冲器中的另一个的容量减少。
5.根据权利要求1所述的存储器控制器,其中所述阈值包括所述输入缓冲器的预定第一阈值数量,
其中响应于在预定第一时段期间测量的所述第一计数值大于或等于所述第一阈值数量,所述缓冲器容量确定部分电路确定将增加所述输入缓冲器的容量。
6.根据权利要求1所述的存储器控制器,其中所述阈值包括所述输出缓冲器的预定第二阈值数量,
其中响应于在预定第一时段期间测量的所述第二计数值大于或等于所述第二阈值数量,所述缓冲器容量确定部分电路确定将增加所述输出缓冲器的容量。
7.根据权利要求1所述的存储器控制器,其中所述阈值包括所述输入缓冲器的预定第三阈值数量,
其中响应于在预定第一时段期间测量的所述第一计数值小于所述第三阈值数量,所述缓冲器容量确定部分电路确定将减少所述输入缓冲器的容量。
8.根据权利要求1所述的存储器控制器,其中所述阈值包括所述输出缓冲器的预定第四阈值数量,
其中响应于在预定第一时段期间测量的所述第二计数值小于所述第四阈值数量,所述缓冲器容量确定部分电路确定将减少所述输出缓冲器的容量。
9.根据权利要求1所述的存储器控制器,其中所述输入缓冲器和所述输出缓冲器中的每一个以先进先出即FIFO结构来实施。
10.一种操作存储器控制器的方法,所述存储器控制器用于控制存储器装置的操作,所述方法包括:
确认所述存储器控制器中的缓冲存储器的正在使用的输入缓冲器和输出缓冲器的容量;
分别将所述输入缓冲器和所述输出缓冲器的容量与包括预定第一阈值容量和预定第二阈值容量的阈值容量进行比较;
生成第一计数值和第二计数值中的至少一个;并且
基于所述第一计数值和所述第二计数值中的至少一个来调整所述输入缓冲器和所述输出缓冲器的容量,
其中所述第一计数值是所述输入缓冲器的容量超过所述预定第一阈值容量的次数,并且
其中所述第二计数值是所述输出缓冲器的容量超过所述预定第二阈值容量的次数。
11.根据权利要求10所述的方法,其中调整容量包括改变缓冲器指针指示的地址,所述缓冲器指针将所述输入缓冲器和所述输出缓冲器彼此区分开。
12.根据权利要求10所述的方法,其中调整容量包括:
确定所述第一计数值是否大于或等于预定第一阈值数量,
其中在调整所述输入缓冲器和所述输出缓冲器的容量时,响应于所述第一计数值大于或等于所述第一阈值数量,增加所述输入缓冲器的容量。
13.根据权利要求10所述的方法,其中调整容量包括:
确定所述第二计数值是否大于或等于预定第二阈值数量,
其中在调整所述输入缓冲器和所述输出缓冲器的容量时,响应于所述第二计数值大于或等于所述第二阈值数量,增加所述输出缓冲器的容量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0018291 | 2018-02-14 | ||
KR1020180018291A KR102521298B1 (ko) | 2018-02-14 | 2018-02-14 | 메모리 컨트롤러 및 그 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110162489A CN110162489A (zh) | 2019-08-23 |
CN110162489B true CN110162489B (zh) | 2023-06-27 |
Family
ID=67541643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811256559.5A Active CN110162489B (zh) | 2018-02-14 | 2018-10-26 | 存储器控制器及该存储器控制器的操作方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10795614B2 (zh) |
KR (1) | KR102521298B1 (zh) |
CN (1) | CN110162489B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102521298B1 (ko) * | 2018-02-14 | 2023-04-14 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
KR102125362B1 (ko) * | 2019-08-12 | 2020-06-22 | 푸드리퍼블릭코리아 유한회사 | 블랙카레 및 이의 제조 방법 |
US11416168B2 (en) | 2019-11-07 | 2022-08-16 | FADU Inc. | Memory controller and storage device including the same |
KR102266166B1 (ko) * | 2019-11-07 | 2021-06-17 | 주식회사 파두 | 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스 |
KR20220120016A (ko) | 2021-02-22 | 2022-08-30 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US20220317898A1 (en) * | 2021-04-03 | 2022-10-06 | EMC IP Holding Company LLC | Managing Application Storage Resource Allocations Based on Application Specific Storage Policies |
CN115061959B (zh) * | 2022-08-17 | 2022-10-25 | 深圳比特微电子科技有限公司 | 数据交互方法、装置、系统、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6094695A (en) * | 1998-03-11 | 2000-07-25 | Texas Instruments Incorporated | Storage buffer that dynamically adjusts boundary between two storage areas when one area is full and the other has an empty data register |
CN1319202A (zh) * | 1999-07-28 | 2001-10-24 | 印芬龙科技股份有限公司 | 用于对缓冲存储器进行写入和读出的方法和装置 |
CN101162919A (zh) * | 2006-10-11 | 2008-04-16 | 中兴通讯股份有限公司 | 一种数据缓存电路 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5133062A (en) * | 1986-03-06 | 1992-07-21 | Advanced Micro Devices, Inc. | RAM buffer controller for providing simulated first-in-first-out (FIFO) buffers in a random access memory |
US5754764A (en) * | 1994-02-22 | 1998-05-19 | National Semiconductor Corp. | Combination of input output circuitry and local area network systems |
US5818539A (en) * | 1996-03-29 | 1998-10-06 | Matsushita Electric Corporation Of America | System and method for updating a system time constant (STC) counter following a discontinuity in an MPEG-2 transport data stream |
US6473818B1 (en) * | 1998-09-09 | 2002-10-29 | Advanced Micro Devices, Inc. | Apparatus and method in a network interface device for asynchronously generating SRAM full and empty flags using coded read and write pointer values |
US6347344B1 (en) * | 1998-10-14 | 2002-02-12 | Hitachi, Ltd. | Integrated multimedia system with local processor, data transfer switch, processing modules, fixed functional unit, data streamer, interface unit and multiplexer, all integrated on multimedia processor |
US6678813B1 (en) * | 1999-10-28 | 2004-01-13 | Hewlett-Packard Development Company, L.P. | Dynamically adaptive buffer mechanism |
US7080169B2 (en) | 2001-12-11 | 2006-07-18 | Emulex Design & Manufacturing Corporation | Receiving data from interleaved multiple concurrent transactions in a FIFO memory having programmable buffer zones |
JP4950796B2 (ja) * | 2007-07-31 | 2012-06-13 | 株式会社東芝 | 半導体装置 |
KR100947618B1 (ko) * | 2008-08-27 | 2010-03-15 | 한국전자통신연구원 | 데이터 처리 시스템 |
KR101544705B1 (ko) * | 2008-12-29 | 2015-08-17 | 연세대학교 산학협력단 | 희생 시스템 검출 장치, 희생 시스템 검출 방법, 통신 장치및 통신 방법 |
JP5791397B2 (ja) * | 2011-07-07 | 2015-10-07 | ルネサスエレクトロニクス株式会社 | デバイスコントローラ、usbデバイスコントローラ及び電力制御方法 |
US20130242186A1 (en) * | 2012-03-14 | 2013-09-19 | Samsung Electronics Co., Ltd. | Image processing apparatus and control method thereof |
KR20140030962A (ko) * | 2012-09-04 | 2014-03-12 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
KR20160144577A (ko) | 2015-06-08 | 2016-12-19 | 삼성전자주식회사 | 불휘발성 메모리 모듈 및 그것의 포함하는 사용자 장치 |
US10346324B2 (en) * | 2017-02-13 | 2019-07-09 | Microchip Technology Incorporated | Devices and methods for autonomous hardware management of circular buffers |
KR102521298B1 (ko) * | 2018-02-14 | 2023-04-14 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
-
2018
- 2018-02-14 KR KR1020180018291A patent/KR102521298B1/ko active IP Right Grant
- 2018-10-01 US US16/148,385 patent/US10795614B2/en active Active
- 2018-10-26 CN CN201811256559.5A patent/CN110162489B/zh active Active
-
2020
- 2020-09-30 US US17/037,992 patent/US11403045B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6094695A (en) * | 1998-03-11 | 2000-07-25 | Texas Instruments Incorporated | Storage buffer that dynamically adjusts boundary between two storage areas when one area is full and the other has an empty data register |
CN1319202A (zh) * | 1999-07-28 | 2001-10-24 | 印芬龙科技股份有限公司 | 用于对缓冲存储器进行写入和读出的方法和装置 |
CN101162919A (zh) * | 2006-10-11 | 2008-04-16 | 中兴通讯股份有限公司 | 一种数据缓存电路 |
Also Published As
Publication number | Publication date |
---|---|
US20210011668A1 (en) | 2021-01-14 |
KR20190098394A (ko) | 2019-08-22 |
US20190250858A1 (en) | 2019-08-15 |
KR102521298B1 (ko) | 2023-04-14 |
CN110162489A (zh) | 2019-08-23 |
US10795614B2 (en) | 2020-10-06 |
US11403045B2 (en) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110162489B (zh) | 存储器控制器及该存储器控制器的操作方法 | |
CN110390979B (zh) | 存储器控制器和具有存储器控制器的存储器系统 | |
CN108415664B (zh) | 数据存储装置及其操作方法 | |
KR102419036B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
CN110389719B (zh) | 存储器控制器以及具有其的存储系统 | |
KR20150002069A (ko) | 메모리 컨트롤러 및 상기 메모리 컨트롤러의 동작 방법 | |
CN106649144B (zh) | 数据储存设备及其操作方法 | |
CN113220220B (zh) | 控制器、控制器的操作方法及包括该控制器的存储装置 | |
US10878924B2 (en) | Data storage device intergrating host read commands and method of operating the same | |
CN114518843A (zh) | 存储控制器和包括存储控制器的存储设备 | |
US20220005535A1 (en) | Memory controller and storage device including the same | |
US10698830B2 (en) | Obtaining data in a nonvolatile memory device through the use of descriptors | |
CN116954491A (zh) | 用于存储控制器的操作方法和包括存储控制器的存储系统 | |
US20200057581A1 (en) | Memory system and operating method thereof | |
US10528289B2 (en) | Data storage method for optimizing data storage device and its data storage device | |
CN110781093A (zh) | 能够改变映射高速缓存缓冲器大小的数据存储设备 | |
US11961549B2 (en) | Data storage device for refreshing data and operating method thereof | |
CN110795366B (zh) | 数据存储装置及数据存储装置的操作方法 | |
US20210397558A1 (en) | Storage device and operating method thereof | |
CN111352856B (zh) | 存储器系统及其操作方法 | |
US10515693B1 (en) | Data storage apparatus and operating method thereof | |
CN114579484A (zh) | 数据存储装置及其操作方法 | |
CN112084118A (zh) | 数据存储装置及其操作方法 | |
CN107102814B (zh) | 存储器管理方法、存储器控制电路单元与存储器存储装置 | |
CN112231252B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |