CN110109612B - 存储器模块及其操作方法 - Google Patents

存储器模块及其操作方法 Download PDF

Info

Publication number
CN110109612B
CN110109612B CN201811580428.2A CN201811580428A CN110109612B CN 110109612 B CN110109612 B CN 110109612B CN 201811580428 A CN201811580428 A CN 201811580428A CN 110109612 B CN110109612 B CN 110109612B
Authority
CN
China
Prior art keywords
write
persistent
credits
value
host
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
Application number
CN201811580428.2A
Other languages
English (en)
Other versions
CN110109612A (zh
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from KR1020180019329A external-priority patent/KR102549591B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN110109612A publication Critical patent/CN110109612A/zh
Application granted granted Critical
Publication of CN110109612B publication Critical patent/CN110109612B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • 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/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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
    • G06F3/0613Improving I/O performance in relation to throughput
    • 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/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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
    • 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/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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

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)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

一种存储器模块及其操作方法。所述存储器模块包括:随机存取存储器装置,包括第一存储区域和第二存储区域;非易失性存储器装置;以及控制器,在主机的控制下控制随机存取存储器装置或非易失性存储器装置。控制器包括:数据缓冲器,暂时地存储从主机接收的第一数据;缓冲器返回单元,在第一数据从数据缓冲器移动到随机存取存储器装置的第一存储区域或第二存储区域时将第一释放信息发送到主机,并在第一数据从第二存储区域移动到非易失性存储器装置时将第二释放信息发送到主机。

Description

存储器模块及其操作方法
本申请要求于2018年2月1日提交的第62/625,044号美国临时专利申请的权益以及于2018年2月19日提交的第10-2018-0019329号韩国专利申请的优先权,所述美国临时专利申请和韩国专利申请的全部内容通过引用包含于此。
技术领域
在此描述的发明构思的实施例涉及一种存储装置,更具体地讲,涉及一种存储器模块、存储器模块的操作方法以及主机的操作方法。
背景技术
半导体存储器装置被分类为易失性存储器装置(诸如,静态随机存取存储器(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)等)和非易失性存储器装置(诸如,只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存装置、相变RAM(PRAM)、磁性RAM(MRAM)、电阻RAM(RRAM)、铁电RAM(FRAM)等),其中,易失性存储器装置在断电时丢失存储在其中的数据,非易失性存储器装置即使在断电时也会保持存储在其中的数据。
作为一种非易失性存储器装置,闪存凭借诸如大容量、低噪声、低功率等的优点被广泛用作存储装置。然而,随着在计算系统上处理的数据量增加,数据吞吐量变得大于与SSD装置连接的接口的数据带宽或通信速度,从而导致数据瓶颈。由于数据瓶颈导致计算系统的性能的降低,因此正在开发各种技术来改善性能。
发明内容
本发明构思的实施例提供一种由于主机管理存储器模块的资源而具有改进的性能的主机的操作方法、存储器模块的操作方法和存储器系统的操作方法。
根据一些示例实施例,一种存储器模块,包括:随机存取存储器(RAM)装置,包括第一存储区域和第二存储区域;非易失性存储器装置;控制器,在主机的控制下控制RAM装置或非易失性存储器装置。控制器包括:数据缓冲器,暂时地存储从主机接收的第一数据;缓冲器返回单元,在第一数据从数据缓冲器移动到RAM装置的第一存储区域或第二存储区域时将第一释放信息发送到主机,并在第一数据从第二存储区域移动到非易失性存储器装置时将第二释放信息发送到主机。
根据一些示例实施例,一种存储器模块,包括:随机存取存储器(RAM)装置;非易失性存储器装置;控制器,在主机的控制下,控制RAM装置和非易失性存储器装置。控制器包括:数据缓冲器,暂时地存储从主机接收的第一数据;缓冲器返回单元,在第一数据从数据缓冲器移动到RAM装置或非易失性存储器装置时,将第一释放信息发送到主机。
根据一些示例实施例,一种包括随机存取存储器(RAM)装置和非易失性存储器装置的存储器装置的操作方法,包括:从主机接收第一写入命令;接收与第一写入命令对应的第一数据并将接收的第一数据暂时地存储在数据缓冲器中;将第一数据从数据缓冲器移动到RAM装置;当第一数据从数据缓冲器移动到RAM装置时,将第一释放信息发送到主机;将第一数据从RAM装置移动到非易失性存储器装置;当第一数据从RAM装置移动到非易失性存储器装置时,将第二释放信息发送到主机。
根据一些示例实施例,一种被配置为与存储器模块通信的主机的操作方法,包括:将持久写入命令发送到存储器模块并分别减小指示包括在存储器模块中的多个第一单元缓冲器之中的可用的第一单元缓冲器的数量的第一计数器值和指示包括在存储器模块中的多个第二单元缓冲器之中的可用的第二单元缓冲器的数量的第二计数器值;从存储器模块接收指示所述多个第一单元缓冲器中的释放的第一单元缓冲器的数量的第一释放信息并基于接收的第一释放信息增加减小的第一计数器值;从存储器模块接收指示所述多个第二单元缓冲器中的释放的第二单元缓冲器的数量的第二释放信息并基于接收的第二释放信息增加减小的第二计数器值。
附图说明
通过参照附图详细描述本发明构思的示例实施例,本发明构思的以上和其他目的和特征将变得清楚。
图1是示出根据本发明构思的一些实施例的计算系统的框图。
图2A至图2C是用于描述根据本发明构思的一些实施例的图1的主机与控制器之间的操作的框图。
图3是示出根据本发明构思的一些实施例的图1的主机的示例操作的流程图。
图4是示出根据本发明构思的一些实施例的图1的控制器的操作的流程图。
图5A至图5C是用于描述根据本发明构思的一些实施例的图1的主机和控制器的操作的时序图。
图6是示出根据本发明构思的一些实施例的计算系统的框图。
图7A至图7D和图8是用于描述根据本发明构思的一些实施例的图6的主机和控制器的操作的示图。
图9是示出根据本发明构思的一些实施例的图6的主机的操作方法的流程图。
图10是示出根据本发明构思的一些实施例的图6的存储器模块的操作方法的流程图。
图11是用于描述根据本发明构思的一些实施例的图6的主机和控制器的操作的时序图。
图12A和图12B是用于描述根据本发明构思的一些实施例的图6的主机和控制器的操作的框图。
图13A至图13D是用于描述根据图12A和图12B的实施例的主机和控制器的操作的时序图。
图14是示出根据本发明构思的一些实施例的图6的写入信用(WC)计数器和持久信用(PC)计数器的示例的示图。
图15是示出根据本发明构思的一些实施例的计算系统的框图。
图16是示出根据本发明构思的一些实施例的存储器模块的框图。
图17是示出根据本发明构思的一些实施例的存储器模块的框图。
图18是示出应用根据本发明构思的存储器模块的计算系统的框图。
具体实施方式
应注意,虽然没有相对于针对一个实施例描述的发明构思的方面具体描述不同的实施例,但是所述方面可被包含在所述不同的实施例中。也就是说,所有实施例和/或任何实施例的特征可以以任何方式和/或组合进行组合。在下面阐述的说明书中详细解释了本发明构思的这些和其他目的和/或方面。
下面,可详细且清楚地描述本发明构思的实施例到使得本领域普通技术人员容易实现本发明构思的程度。
下面,术语“单元”、“模块”等表示软件配置、硬件配置或它们的组合的配置。例如,执行特定功能的“单元”可以是用于执行特定功能的硬件配置。包括特定功能或特定配置的“模块”可以是包括各种硬件配置的配置。
传统的存储器接口使用握手方案来检查数据缓冲器中的存储器空间的可用性。然而,与用于检查存储器的可用性的握手方案相关的消息增加了访问存储器装置的开销,从而潜在地降低了性能和/或速度。根据在此描述的各种实施例,主机可通过使用计数器跟踪可用的存储器来管理资源。可通过基于存储在主机的计数器来估计资源的可用性,来允许数据的写入。控制器可将与被释放或返回到系统的存储器相关的信息提供给主机以帮助更新计数器。
图1是示出根据本发明构思的实施例的计算系统10的框图。参照图1,计算系统10可包括主机101和存储器模块100。主机101可将数据存储在存储器模块100中或可读取存储在存储器模块100中的数据。例如,为了将数据DATA存储在存储器模块100中,主机101可将地址ADDR、命令CMD和数据DADT发送到存储器模块100。在一些示例实施例中,主机101可以是用于控制计算系统10的操作的中央处理器(CPU)。
存储器模块100可包括控制器110、RAM装置120和非易失性存储器装置(以下,也称为NVM)130。例如,存储器模块100可通过双倍数据速率(DDR)接口与主机101进行通信,并且可以是NVDIMM-P型的存储器模块。例如,控制器110、RAM装置120和非易失性存储器装置130可被集成在同一印刷电路板(PCB)(未示出)上以构成存储器模块100。此外,存储器模块100还可包括除了图1中示出的组件之外的各种其他组件。然而,本发明构思不限于此。
在主机101的控制下,控制器110可将数据DATA存储在RAM装置120或非易失性存储器装置130中,或者可读取存储在RAM装置120或非易失性存储器装置130中的数据DATA。
在一些示例实施例中,RAM装置120可具有比非易失性存储器装置130更快的操作速度。例如,RAM装置120可以是支持高速操作的存储器装置(诸如,SRAM或DRAM),非易失性存储器装置130可以是即使电力未被供应也能保持数据的非易失性存储器装置(诸如,闪存)。然而,本发明构思不限于此。例如,RAM装置120和非易失性存储器装置130可使用各种存储器装置来实现。
为了容易地描述本发明构思的实施例,RAM装置120被示出为独立于控制器110,但是本发明构思不限于此。例如,RAM装置120可包括在控制器110内部。
根据本发明构思的实施例的控制器110可包括数据缓冲器111和写入信用(WC)返回单元112。数据缓冲器111可以是用于从主机101接收数据DATA或者用于暂时存储接收的数据DATA的存储电路。例如,从主机101接收的数据DATA可首先写入数据缓冲器111中。然后,存储在数据缓冲器111中的数据DATA可被发送到RAM装置120或非易失性存储器装置130。
也就是说,数据缓冲器111可以是满足主机101与控制器110之间的接口速度的高速存储电路。数据缓冲器111可以是包括在主机101与控制器110之间的接口层或物理层中的寄存器或高速存储器。
例如,数据缓冲器111可包括具有预设大小的写入信用WC。也就是说,“WC”可指示预设单元或单元缓冲器的存储空间。例如,在数据缓冲器111是512KB并且一个写入信用WC是4KB的情况下,与数据缓冲器111相关联的写入信用WC的总数可以是128。
主机101可包括写入信用(WC)计数器102。WC计数器102可包括关于数据缓冲器111的多个写入信用WC中的可用的写入信用WC的数量的信息。主机101可基于WC计数器102对存储器模块100执行写入操作。例如,在一个写入信用WC的单元是4KB并且WC计数器102的值是“8”的情况下,主机101可将“4×8=32KB”的写入数据发送到存储器模块100。
主机101可基于发送的写入数据的大小(或发出的写入命令的数量或发送的写入数据的单元的数量)来更新WC计数器102。例如,在一个写入信用WC的单元是4KB并且主机101发送16KB的写入数据的情况下,主机101可使用四个写入信用WC。在这种情况下,主机101可从WC计数器102的当前值减去与使用的写入信用WC的数量对应的值(即,4)。也就是说,在主机101发送16KB的写入数据的情况下,WC计数器102可从“8”更新为“4”。
在一些示例实施例中,在WC计数器102的值为“0”的情况下,由于不存在由主机101可用的写入信用WC,因此主机101不能将写入数据发送到控制器110。
在一些示例实施例中,控制器110的WC返回单元112可将WC释放信息RWC提供给主机101。例如,在存储在数据缓冲器111的第一写入信用WC中的第一数据被发送到RAM装置120或非易失性存储器装置130的情况下,数据缓冲器111的第一写入信用WC可被释放。“第一写入信用WC被释放”表示第一写入信用WC可由主机101使用。换句话说,释放的第一写入信用WC可用于存储从主机101接收的数据。WC返回单元112可向主机101提供关于如上所述释放的写入信用WC的WC释放信息RWC。
主机101可基于来自控制器110的WC释放信息RWC来更新WC计数器102。例如,如上所述,WC释放信息RWC指示数据缓冲器111的使用的写入信用WC之中的通过控制器110的操作释放的写入信用WC的数量。换句话说,WC释放信息RWC可指示由主机101可用的写入信用WC的数量。在WC释放信息RWC指示“4”的情况下,主机101可将值“4”相加到WC计数器102。
在一些示例实施例中,WC释放信息RWC可以以异步方案提供。例如,在写入信用WC被释放的情况下,控制器110可将返回信号发送到主机101。主机101可响应于返回信号从控制器110接收WC释放信息RWC。在一些示例实施例中,WC释放信息RWC可经由与数据“DATA”相同的信号线提供。在一些实施例中,WC释放信息RWC可经由单独的信号线或单独的通信信道提供给主机101。
在一些实施例中,WC释放信息RWC可通过主机101的明确的请求来发送。在一些实施例中,WC释放信息RWC可以与对应于主机101的读取请求的读取数据一起发送到主机101。
如上所述,主机101可管理控制器110的数据缓冲器111的可用的写入信用WC,并且控制器110可将关于释放的写入信用WC的信息(即,WC释放信息RWC)发送到主机101。因此,可防止在主机101与控制器110之间传输数据时速度的降低。
图2A至图2C是用于描述图1的主机101与控制器110之间的操作的框图。为简洁起见,这里将不重复与上述组件相关联的描述。
下面,具有特定含义的各种表述用于简要且清楚地描述本发明构思的一些实施例。例如,“主机对写入信用WC的使用”表示主机分配或使用写入数据以发送写入数据,或者主机将写入数据发送到写入信用WC。此外,“写入信用WC的释放”指示当存储在写入信用WC中的写入数据被发送到RAM装置或非易失性存储器装置时另一写入数据可被接收的状态。此外,“存储在写入信用WC中的写入数据被发送到RAM装置或非易失性存储器装置”表示存储在写入信用WC中的写入数据被复制或被迁移到RAM装置或非易失性存储器装置。上述表述是用于简要且清楚地描述本发明构思的实施例,并且本发明构思不限于此。
为了便于描述,假设数据缓冲器111包括八(8)个写入信用WC1至WC8。此外,假设将从主机101发送到控制器110的写入数据的大小与一个写入信用WC的大小相同。也就是说,一个写入数据的大小可以与一个写入信用WC的大小相同,并且一个写入数据可存储在一个写入信用WC中。
参照图2A至图2C,计算系统10包括主机101和存储器模块100。主机101包括WC计数器102。存储器模块100可包括控制器110、RAM装置120和非易失性存储器装置130。以上描述了每个组件,因此,这里将不重复其详细描述。
如图2A中所示,在初始状态下,WC计数器102的值可以是“8”。这个状态指示在数据缓冲器111中8个写入信用WC1至WC8是可用的状态。
然后,如图2B中所示,主机101可对第一写入数据DT1至第四写入数据DT4执行写入操作。在这种情况下,主机101可使用四个写入信用WC1至WC4。也就是说,从主机101接收的第一写入数据DT1至第四写入数据DT4可被分别存储在第一写入信用WC1至第四写入信用WC4中。主机101可将WC计数器102的值减去使用的写入信用的数量(即,4)。在这种情况下,WC计数器102的值可被设置为“4”(=8-4)。这表示在数据缓冲器111中可用的写入信用的数量是“4”。
虽然未在图2B中示出,但是主机101可基于发送到控制器110的写入命令的数量来更新WC计数器102。例如,针对一个写入命令的写入数据的大小可对应于一个写入信用的大小。在四个写入命令被发送到控制器110的情况下,主机101可将WC计数器102的值减小4,即,将“-4”相加到计数器。
接下来,如图2C中所示,一些写入信用可通过控制器110的操作释放。例如,存储在第三写入信用WC3和第四写入信用WC4中的写入数据可被发送到RAM装置120。在这种情况下,第三写入信用WC3和第四写入信用WC4可被释放。
WC返回单元112可将关于释放的写入信用的WC释放信息RWC发送到主机101。如图2C中所示,由于第三写入信用WC3和第四写入信用WC4被释放,因此WC释放信息RWC可以是提供两个写入信用被释放的通知的信息。主机101可基于WC释放信息RWC更新WC计数器102。例如,如上所述,由于两个写入信用被释放,所以主机101可将WC计数器102的值增加“+2”。在这种情况下,WC计数器102的值可被设置为“6”。这表示在数据缓冲器111中六个写入信用是可用的。
如上所述,在主机101将写入数据发送到控制器110的情况下,主机101的WC计数器102可基于发送的写入数据的数量或大小或者发送的写入命令的数量来更新(或者可基于发送的写入数据的数量或大小或者发送的写入命令的数量来减小WC计数器102的值)。此外,在数据缓冲器111的写入信用通过控制器110的操作释放的情况下,控制器110可将WC释放信息RWC发送到主机101,并且主机101可基于WC释放信息RWC来更新(或者可将一个值加到)WC计数器102。因此,由于存储器模块100的资源可在没有主机101的周期性轮询操作或单独的确认操作的情况下被识别,因此写入操作的性能可被改善。
图3是示出图1的主机101的示例操作的流程图。参照图1和图3,在操作S111中,主机101可确定可用的写入信用的数量是否大于参考值TH。例如,主机101的WC计数器102的值可指示可用的写入信用的数量。主机101可确定WC计数器102的值是否大于参考值TH。在一些示例实施例中,参考值TH可根据操作模式或写入命令的类型而为“0”或大于“0”的整数。
在一些示例实施例中,如果可用的写入信用的数量不大于参考值TH,则控制器110可不包括足够的可用的写入信用来接收从主机101发送的写入数据。在这种情况下,即使主机101将写入数据发送到控制器110,控制器110也不能正常地接收写入数据或者可能丢失先前接收的数据。出于这个原因,主机101可不执行写入操作直到确保可用的写入信用为止。
例如,在可用的写入信用的数量不大于参考值TH的情况下,在操作S112中,主机101可从控制器110读取WC释放信息RWC。例如,主机101可将用于读取WC释放信息RWC的返回命令发送到控制器110。在这种情况下,返回命令可通过主机101自身的操作来发送,或者可响应于来自控制器110的返回信号RTN而被发送。在一些示例实施例中,返回命令可以是由主机101与存储器模块100之间的接口预先定义的命令,或者供应商命令,或者多个命令的组合。在一些实施例中,主机101可将用于读取正常读取数据的读取命令发送到控制器110,并且控制器110可将WC释放信息RWC与对应于读取命令的读取数据一起发送到主机101。如上所述,主机101可基于各种方案从控制器110读取WC释放信息RWC。
在操作S113中,主机101可基于WC释放信息RWC更新WC计数器102。例如,如上所述,主机101可将WC释放信息RWC指示的值相加到WC计数器102的值。之后,主机101可执行操作S111。
在操作S111的比较结果指示可用的写入信用的数量大于参考值TH的情况下,主机101可执行操作S114。在操作S114中,主机101可基于WC计数器102将写入数据发送到控制器110,并可基于发送的写入数据来更新WC计数器102。
例如,主机101可基于WC计数器102的值将写入数据发送到控制器110。在这种情况下,发送的写入数据的大小可小于或等于与计数器102的值对应的大小。主机101可基于发送的写入数据的大小来减小WC计数器102的值。在一些示例实施例中,主机101可基于发送的写入命令的数量来减小WC计数器102的值。
图4是示出图1的控制器110的操作的流程图。参照图1和图4,在操作S121中,控制器110可从主机101接收数据并可将接收的数据存储在写入信用中。例如,接收数据的操作以及存储接收的数据的操作可同时、时间部分地重叠或者顺序地执行。
在操作S122中,控制器110可确定数据是否从写入信用移动到RAM装置120或非易失性存储器装置130。例如,如上所述,存储在写入信用中的数据可根据控制器110的操作而被移动到RAM装置120或非易失性存储器装置130。在这种情况下,存储数据的写入信用可被释放。
在数据从写入信用移动到RAM装置120或非易失性存储器装置130的情况下,在操作S123中,控制器110可在主机101的控制下将WC释放信息RWC发送到主机101。例如,控制器110可响应于来自主机101的返回请求将WC释放信息RWC发送到主机101。例如,返回请求可由主机101响应于控制器110的返回信号RTN而发出或者可通过主机101自身的操作而发出。在一些实施例中,控制器110可响应于来自主机101的读取命令,将与读取命令对应的读取数据和WC释放信息RWC发送到主机101。
图5A至图5C是用于描述图1的主机101和控制器110的操作的时序图。下面,省略了对于描述本发明构思的实施例没有必要的组件。此外,假设WC计数器102的初始值是“4”。此外,假设针对一个写入命令WR的写入数据“D”的大小与一个写入信用的大小相同。也就是说,针对一个写入命令的写入数据“D”可存储在一个写入信用中。换句话说,主机101可使用一个写入信用来发送针对一个写入命令的写入数据“D”。
首先,参照图1和图5A,WC计数器102的初始值可以是“4”。这种状态可指示在数据缓冲器111中四个写入信用是可用的状态。
主机101可基于WC计数器102来执行写入操作。例如,在WC计数器102的值是“4”的情况下,主机101可将四个写入命令WR1至WR4和与命令WR1至WR4分别对应的四个写入数据D1至D4分别经由命令线CMD和信号线DQ发送到控制器110。
主机101可在发送各个写入命令WR1至WR4时更新WC计数器102。例如,在主机101发送第一写入命令WR1的情况下,主机101可将WC计数器102的值减小“1”(即,从“4”减小到“3”)。在主机101发送第二写入命令WR2的情况下,主机101可将WC计数器102的值减小“1”(即,从“3”减小到“2”)。也就是说,每当发送写入命令时,主机101可将WC计数器102的值减一。原因是主机101为了发送写入数据而使用数据缓冲器111的写入信用。换句话说,与主机101的写入命令对应的写入数据被存储在控制器110中的数据缓冲器111的任何一个可用的写入信用中。将理解,虽然术语第一、第二、第三等在此可用于描述各种元件,但是这些元件不应受这些术语限制;更确切地讲,这些术语仅用于将一个元件与另一个元件区分开。因此,在不脱离本发明构思的范围的情况下,下面讨论的第一元件可被称为第二元件。
在发送第四写入命令WR4之后,WC计数器102的值可以是“0”。在这种情况下,由于不存在可用的写入信用,所以主机101不能将写入命令或写入数据发送到控制器110。换句话说,主机101可在对应于WC计数器102的值为“0”的时间段的第一时间T1期间不执行写入操作。
在第一时间点t1,写入信用可根据控制器110的操作来释放。例如,如上所述,根据控制器110的操作,存储在数据缓冲器111中的写入数据的一部分可被发送到RAM装置120或非易失性存储器装置130。在这种情况下,数据缓冲器111的存储该部分数据的区域(换句话说,写入信用)可被释放。
控制器110的WC返回单元112可在第一时间点t1检测写入信用的释放,并且可将返回信号RTN发送到主机101。例如,返回信号RTN可经由信号线提供,并且返回信号RTN可具有低逻辑电平。然而,本发明构思不限于此。
主机101可响应于返回信号RTN将返回命令RCM发送到控制器110。返回命令RCM可以是用于读取WC返回信息RWC的命令。控制器110可响应于返回命令RCM经由数据线DQ向主机101提供WC释放信息RWC。
主机101可基于接收的WC释放信息RWC来更新WC计数器102。例如,由于WC释放信息RWC指示四个写入信用被释放,因此主机101可将WC计数器102的值从“0”增加到“4”。
然后,主机101可基于更新的WC计数器102执行写入操作。例如,主机101可将四个写入命令WR5至WR8和与写入命令WR5至WR8分别对应的四个写入数据D5至D8发送到控制器110。如上所述,每当写入命令WR5至WR8中的每个被发送时,主机101可更新WC计数器102(即,可在发送写入命令WR5至WR8中的每个时将WC计数器102的值减小“1”)。
在一些示例实施例中,如图5A中所示,WC释放信息RWC可以以异步方案提供。在一些实施例中,虽然未在图5A中示出,但是WC释放信息RWC可被周期性地提供给主机101(即,每隔特定时间段发生)。
在一些示例实施例中,表1示出更新WC计数器102的方法。
[表1]
Figure BDA0001917656650000111
参照表1,WC计数器102的值可减小主机101的写入命令发出计数“m”。原因是控制器110中的数据缓冲器111的写入信用被使用了写入命令的数量。由于释放的写入信用可由主机使用,因此WC计数器102的值可增加写入信用的返回量“n”(即,释放的写入信用的数量)。如上所述,主机101可管理控制器110中的数据缓冲器111的可用的写入信用的数量。此外,控制器110可向主机101提供指示释放的写入信用的数量的WC释放信息RWC,并且主机101可基于接收的WC释放信息RWC来更新WC计数器102。因此,主机101的写入操作的性能被改善。
接下来,参照图1和图5B,每当写入信用被释放时,WC返回单元112可累积WC释放信息。例如,在图5B的第一时间点t1,第一数据D1可被移动到RAM装置120。在这种情况下,存储第一数据D1的写入信用可被释放。同样地,在第二时间点t2、第三时间点t3和第四时间点t4中的每个时间点,第二数据D2、第三数据D3和第四数据D4中的每个数据可根据控制器110的操作从写入信用移动到RAM装置120。在这种情况下,WC返回单元112可在第一时间点t1至第四时间点t4中的每个时间点累积WC释放信息RWC。结果,WC释放信息RWC可在第四时间点t4由于释放的写入信用的数量是“4”而具有值“4”。
之后,主机101可将返回命令RCM发送到控制器110。例如,返回命令RCM可在没有来自控制器110的单独的信号(例如,返回信号)的情况下在主机101自动地发出。
控制器110可响应于返回命令RCM将WC释放信息RWC发送到主机101。在WC释放信息RWC为“4”的情况下,WC返回单元112中累积的值可减小“4”。也就是说,在WC释放信息RWC被发送到主机101的情况下,在WC返回单元112中累积的值可被重置。
主机101可基于接收的WC释放信息RWC来更新WC计数器102。然后,主机101可将第五写入命令WR5至第八写入命令WR8以及与第五写入命令WR5至第八写入命令WR8对应的第五数据D5至第八数据D8发送到控制器110,并可更新WC计数器102。
参照图1和图5C,主机101可将用于读取读取数据的读取命令RDC发送到控制器110。控制器110可响应于读取命令RDC将读取数据RD发送到主机101。在这种情况下,控制器110可将累积的WC释放信息RWC与读取数据RD一起发送。例如,控制器110可将包括WC释放信息RWC和读取数据RD的数据包发送到主机101。
主机101可基于接收的WC释放信息RWC来更新WC计数器102。以上描述了剩余的操作,因此,这里将不重复其详细描述。
图6是示出根据本发明构思的实施例的计算系统20的框图。参照图6,计算系统20可包括主机201和存储器模块200。存储器模块200可包括控制器210、RAM装置220、非易失性存储器装置230和备用电源240。以上描述了主机201、存储器模块200、控制器210、RAM装置220和非易失性存储器装置230,因此,这里将不重复其详细描述。
RAM装置220可包括第一区域221和第二区域222。第一区域221和第二区域222可以是用于存储数据的存储空间。在存储器模块200的电源被切断的情况下,存储在第一区域221中的数据可能丢失。相反,即使存储器模块200的电源被切断,存储在第二区域222中的数据也可被保持。
例如,当存储器模块200的电源被切断(即,突然断电(SPO))时,备用电源240可向存储器模块200提供辅助电力。在电源被切断的情况下,可通过使用来自备用电源240的辅助电力来保持存储在第二区域222中的数据。在电源被切断的情况下,可通过使用来自备用电源240的辅助电力将存储在第二区域222中的数据刷新(flush)到非易失性存储器装置230。也就是说,即使电源被切断,存储在第二区域222中的数据也可通过使用备用电源240来保持。也就是说,RAM装置220的部分区域(即,第二区域222)可以是电力支持的存储区域。
主机201可包括WC计数器202和持久信用(PC)计数器203。控制器210可包括数据缓冲器211、WC返回单元212和PC返回单元213。以上描述了WC计数器202、数据缓冲器211和WC返回单元212,因此,这里将不重复详细的描述。
PC计数器203可管理可用的持久信用的数量。例如,RAM装置220的第二区域222可被划分为多个持久信用PC。持久信用PC可指示不管电源如何可存储数据的单元存储空间。换句话说,持久信用PC可指示用于持久地存储数据的存储空间。也就是说,在RAM装置220的第二区域222是512KB并且一个持久信用PC的单元是4KB的情况下,RAM装置220的第二区域222可包括128个持久信用。在一些示例实施例中,RAM装置220的一个持久信用PC可具有与一个写入信用WC的大小相同的大小,但是本发明构思不限于此。
在一些示例实施例中,在特定类型的写入操作中,主机201可通过使用持久信用PC将写入数据发送到控制器210。例如,主机201可执行持久写入操作。持久写入操作指示即使电源被切断也能确保从主机201提供的写入数据的保持的操作。换句话说,即使电源被切断,也能通过持久写入操作来保持写入存储器模块200中的数据。
如上所述,RAM装置220的第二区域222指示即使电源被切断也持久地保持数据的存储区域。因此,在持久写入操作中,主机201可通过使用RAM装置220的第二区域222来写入写入数据。在这种情况下,如在使用上述写入信用WC时,主机201可通过使用RAM装置220的持久信用PC来发送写入数据。
在执行持久写入操作的情况下,主机201可基于写入数据的大小或持久写入命令的数量来更新PC计数器203(或减小PC计数器203的值)。
在一些示例实施例中,在持久写入操作中,从主机201接收的写入数据在首先存储在数据缓冲器211的写入信用WC中之后,可被发送到第二区域222的持久信用PC。也就是说,主机201可通过使用写入信用WC和持久信用PC二者来执行持久写入操作。在这种情况下,主机201可基于写入数据的大小或持久写入命令的数量来更新WC计数器202和PC计数器203(或减小WC计数器202的值和PC计数器203的值)。
控制器210的PC返回单元213可向主机201提供RAM装置220中的第二区域222的持久信用(PC)释放信息RPC。例如,如上所述,在持久写入操作中,主机201可使用RAM装置220中的第二区域222的持久信用。之后,当存储在第二区域222中的特定数据根据控制器210的操作而被发送到非易失性存储器装置230时,存储特定数据的持久信用PC可被释放。PC返回单元213可将关于释放的持久信用的数量的PC释放信息RPC发送到主机201。在一些示例实施例中,如WC释放信息RWC中那样,PC释放信息RPC可以以异步方案提供。在一些实施例中,如WC释放信息RWC中,PC释放信息RPC可通过主机201的返回命令或读取命令而被提供给主机201。
主机201可基于PC释放信息RPC来更新PC计数器203。例如,PC释放信息RPC可包括关于释放的持久信用PC的数量的信息。主机201可将PC计数器203的值增加释放的持久信用PC的数量。
如上所述,主机201可基于WC计数器202和PC计数器203管理存储器模块200的可用的写入信用的数量和可用的持久信用的数量中的一个或二者。
WC返回单元212和PC返回单元213被示出为彼此独立,但是本发明构思不限于此。WC返回单元212、PC返回单元213或它们的组合可使用一个硬件配置或一个软件配置而被实现为缓冲器返回单元。以软件形式实现的WC返回单元212和PC返回单元213可由单独的处理器驱动。
图7A至图7D和图8是用于描述图6的主机201和控制器210的操作的示图。对于简要描述,这里将不重复与每个操作中不必要的组件相关联的详细描述。
参照图7A至图7D和图8,计算系统20可包括主机201和存储器模块200。主机201可包括WC计数器202和PC计数器203。存储器模块200可包括控制器210、RAM装置220和非易失性存储器装置230。控制器210可包括数据缓冲器211、WC返回单元212和PC返回单元213。以上描述了每个组件,因此,这里将不重复其详细描述。
为了便于描述,假设数据缓冲器211包括8个写入信用WC1至WC8,并且RAM装置220的第二区域222包括4个持久信用PC1至PC4。也就是说,如图7A中所示,在初始状态下,由于包括在数据缓冲器211中的写入信用WC1至WC8和包括在RAM装置220的第二区域222中的持久信用PC1至PC4都处于可用状态(即,处于释放状态或未存储数据的状态),因此WC计数器202的值可以是“8”,并且PC计数器203的值可以是“4”。
之后,如图7B中所示,主机201可对第一写入数据D1和第二写入数据D2以及第一持久数据PD1和第二持久数据PD2执行写入操作。假设针对第一写入数据D1和第二写入数据D2的写入操作是正常写入操作,并且针对第一持久数据PD1和第二持久数据PD2的写入操作是持久写入操作。也就是说,第一持久数据PD1和第二持久数据PD2将被存储在RAM装置220的第二区域222和非易失性存储器装置230中。
换句话说,主机201可将两个正常写入命令和两个持久写入命令发送到控制器210。在这种情况下,主机201可基于两个正常写入命令减小WC计数器202的值并可基于两个持久写入命令减小WC计数器202的值和PC计数器203的值。在两个正常写入命令被发送到控制器210的情况下,主机201可将WC计数器202的值减小“2”。
相比之下,在两个持久写入命令被发送到控制器210的情况下,主机201可分别将WC计数器202的值和PC计数器203的值减小“2”,因为数据可在正常写入命令的情况下通过使用数据缓冲器211的写入信用来发送,而在持久写入命令的情况下,RAM装置220中的第二区域222的持久信用被用于保持数据。
结果,在两个正常写入命令和两个持久写入命令被发送到控制器210的情况下,主机201可将WC计数器202的值减小“4”并且可将PC计数器203的值减小“2”。这样,如图7B中所示,WC计数器202的值可被设置为“4”,并且PC计数器203的值可被设置为“2”。
在一些示例实施例中,从主机201接收的第一持久数据PD1和第二持久数据PD2以及第一数据D1和第二数据D2可首先存储在第一写入信用WC1至第四写入信用WC4中。之后,第一写入信用WC1至第四写入信用WC4中的一些写入信用可通过控制器210的操作释放。
例如,如图7C中所示,存储在第三写入信用WC3和第四写入信用WC4中的第一数据D1和第二数据D2可根据控制器210的操作而被发送到RAM装置220。在这种情况下,如上所述,第三写入信用WC3和第四写入信用WC4可被释放。
WC返回单元212可向主机201提供关于释放的写入信用WC3和WC4的数量的WC释放信息RWC,并且主机201可基于接收的WC释放信息RWC更新WC计数器202。例如,在以上示例中,WC释放信息RWC可对应于值“+2”。主机201可基于接收的WC释放信息RWC增加WC计数器202的值。在这种情况下,WC计数器202的值可被设置为“6”。
之后,通过控制器210的操作,存储在第一写入信用WC1和第二写入信用WC2中的第一持久数据PD1和第二持久数据PD2可被存储在第二区域222的第一持久信用PC1和第二持久信用PC2中,并且存储在第一持久信用PC1和第二持久信用PC2中的第一持久数据PD1和第二持久数据PD2可被存储在非易失性存储器装置230中。在这种情况下,第一持久信用PC1和第二持久信用PC2可被释放。
例如,为了确保第一持久数据PD1和第二持久数据PD2的持久性,可通过使用第一持久信用PC1和第二持久信用PC2从主机201接收第一持久数据PD1和第二持久数据PD2。也就是说,第一持久数据PD1和第二持久数据PD2可被首先存储在第一写入信用WC1和第二写入信用WC2中,然后可被发送到第一持久信用PC1和第二持久信用PC2。
之后,存储在第一持久信用PC1和第二持久信用PC2中的第一持久数据PD1和第二持久数据PD2可被发送到非易失性存储器装置230。由于第一持久数据PD1和第二持久数据PD2被发送到非易失性存储器装置230,因此存储第一持久数据PD1和第二持久数据PD2的第一持久信用PC1和第二持久信用PC2可处于可用状态。也就是说,当第一持久数据PD1和第二持久数据PD2被发送到非易失性存储器装置230时,第一持久信用PC1和第二持久信用PC2可被释放。
PC返回单元213可向主机201提供PC释放信息RPC,并且主机201可基于接收的PC释放信息RPC更新WC计数器202和PC计数器203。例如,如图7D中所示,在两个持久信用PC1和PC2被释放的情况下,PC释放信息RPC可对应于值“+2”。在这种情况下,主机201可响应于PC释放信息RPC分别将WC计数器202的值和PC计数器203的值增加“+2”。
在一些示例实施例中,针对持久写入命令的持久数据可不被存储在写入信用和持久信用二者中。例如,如图8中所示,针对持久写入命令的第一持久数据PD1和第二持久数据PD2可被存储在第一写入信用WC1和第二写入信用WC2中。存储在第一写入信用WC1和第二写入信用WC2中的第一持久数据PD1和第二持久数据PD2可在不经过持久信用PC1和PC2的情况下被发送到非易失性存储器装置230。在这种情况下,用于第一持久数据PD1和第二持久数据PD2的第一持久信用PC1和第二持久信用PC2可被确定为被释放。
也就是说,在将针对持久写入命令的写入数据被存储在非易失性存储器装置230中的情况下,PC返回单元213可确定与针对持久写入命令的写入数据对应的持久信用被释放,并且PC返回单元213可将关于释放的持久信用的数量的PC释放信息RPC发送到主机201。主机201可基于接收的PC释放信息RPC更新WC计数器202和PC计数器203。
表2示出根据每个操作更新WC计数器202和PC计数器203的方法。
[表2]
Figure BDA0001917656650000181
主机201可基于表2的方案更新WC计数器202和PC计数器203。例如,由于在正常写入命令的情况下不需要确保数据的持久性,所以持久信用PC未被使用。因此,在正常写入命令被发出“m”次的情况下,主机201可将WC计数器202的值减小“m”,而可不更新PC计数器203。在持久写入命令的情况下,需要确保数据的持久性。因此,持久信用用于确保数据的持久性,并且写入信用用于发送数据。因此,在持久写入命令被发出“i”次的情况下,主机201可分别将WC计数器202的值和PC计数器203的值减小“i”。在“n”个写入信用从控制器210返回的情况下,由于返回的写入信用用于发送写入数据,因此主机201将WC计数器202的值增加“+n”。在“k”个持久信用从控制器210返回的情况下,因为返回的持久信用可用于存储针对持久写入命令的写入数据,所以主机201将PC计数器203的值增加“+k”。此外,主机201将WC计数器202的值增加“+k”。
图9是示出图6的主机201的操作方法的流程图。参照图6和图9,在操作S211中,主机201可确定将被执行的写入命令是否是持久写入命令。
在将被执行的写入命令是持久写入命令的情况下,在操作S212中,主机201可确定WC计数器202的值是否大于第一参考值TH1并且PC计数器203的值是否大于第二参考值TH2。例如,第一参考值TH1和第二参考值TH2中的每个可以是“0”或者可以是基于操作模式或持久写入命令的数量的正整数。
在WC计数器202的值不大于第一参考值TH1或PC计数器203的值不大于第二参考值TH2的情况下,主机201不能执行与持久写入命令相关联的操作。原因是用于执行持久写入命令所需的写入信用WC或持久信用PC不充足。在这种情况下,在操作S213中,主机201可从控制器210读取PC释放信息RPC。接收PC释放信息RPC的方式与如上所述的接收WC释放信息RWC的方式类似,因此,这里将不重复。
在操作S214中,主机201可基于接收的PC释放信息RPC更新WC计数器202和PC计数器203。参照图7A至图7D和图8以及表2描述了基于接收的PC释放信息RPC更新WC计数器202和PC计数器203的方式,因此,这里将不重复其详细描述。在操作S214之后,控制器210可执行操作S212。
在WC计数器202的值大于第一参考值TH1并且PC计数器203的值大于第二参考值TH2的情况下,在操作S215中,主机201可将写入数据发送到控制器210并可更新WC计数器202和PC计数器203。
在操作S211的确定结果指示将被执行的写入命令不是持久写入命令的情况下,主机201可执行操作S216至操作S218中的一个或多个。操作S216至操作S218可以与图3的操作S111至操作S113相似,因此,这里将不重复其详细描述。
图10是示出图6的存储器模块200的操作方法的流程图。参照图6和图10,在操作S221中,存储器模块200可确定从主机201接收的命令是否是持久写入命令。在接收的命令不是持久写入命令的情况下(即,在接收的命令是正常写入命令的情况下),存储器模块200可执行操作S221至操作S223。操作S221至操作S223与图4的操作S121至操作S123相似,因此,这里将不重复其详细描述。
在接收的命令是持久写入命令的情况下,存储器模块200可执行操作S224至操作S229中的一个或多个。在操作S224中,存储器模块200可从主机201接收数据,并可将接收的数据存储在写入信用WC中。
在操作S225中,存储器模块200可确定数据是否从写入信用WC移动到持久信用PC。也就是说,存储器模块200可确定写入信用WC是否被释放。
在数据从写入信用WC移动到持久信用PC的情况下,在操作S226中,存储器模块200可累积WC释放信息RWC。
在操作S227中,存储器模块200可确定数据是否从持久信用PC移动到非易失性存储器装置230。也就是说,存储器模块200可确定持久信用PC是否被释放。
在数据从持久信用PC移动到非易失性存储器装置230的情况下,存储器模块200可累积PC释放信息RPC。
在操作S229中,存储器模块200可在主机201的控制下将WC释放信息RWC或PC释放信息RPC发送到主机201。
在一些示例实施例中,可根据发送WC释放信息RWC或PC释放信息RPC的方式而省略操作S226或操作S228。例如,在每当写入信用WC被释放或持久信用PC被释放时存储器模块200将返回信号RTN提供给主机201的方式的情况下,可省略操作S226或操作S228。
根据上述流程图的操作方法表示示例实施例,并且本发明构思不限于此。在不脱离本发明构思的范围和精神的情况下,可改变或修改根据本发明构思的存储器模块200的操作方法。
图11是用于描述图6的主机201和控制器210的操作的时序图。参照图6和图11,在初始状态下,WC计数器202的值可以是“4”,并且PC计数器203的值可以是“2”。这表示主机201可用的写入信用WC的数量是“4”,并且主机201可用的持久信用PC的数量是“2”。
主机201可基于WC计数器202和PC计数器203执行持久写入操作或正常写入操作。例如,主机201可向控制器210发送第一持久写入命令PWR1和第二持久写入命令PWR2以及与第一持久写入命令PWR1和第二持久写入命令PWR2对应的第一持久数据PD1和第二持久数据PD2。
如上所述,主机201可响应于第一持久写入命令PWR1和第二持久写入命令PWR2分别减小WC计数器202的值和PC计数器203的值。也就是说,主机201在发送第一持久写入命令PWR1之后,可分别将WC计数器202的值和PC计数器203的值减小“1”。主机201在发送第二持久写入命令PWR2之后,可分别将WC计数器202的值和PC计数器203的值减小“1”。
PC计数器203的值可在第二持久写入命令PWR2被发送的时间点为“0”。在这种情况下,由于不存在主机201可用的持久信用PC,因此主机201可不执行持久写入操作。相反,由于WC计数器202的值是“2”,因此主机201可执行正常写入操作。也就是说,主机201可向控制器210发送第一写入命令WR1和第二写入命令WR2以及与第一写入命令WR1和第二写入命令WR2对应的第一数据D1和第二数据D2。
在第二写入命令WR2被发送的时间点,由于WC计数器202和PC计数器203的值是“0”,因此主机201可不执行写入操作或数据传输。
在第一时间点t1,如上所述,可以通过控制器210的操作释放一些写入信用。在这种情况下,控制器210可将返回信号RTN发送到主机201。此外,返回信号RTN被示出为低电平有效,本发明构思不限于此。
主机201可响应于返回信号RTN将返回命令RCM发送到控制器210,并且控制器210可响应于返回命令RCM发送WC释放信息RWC。假设WC释放信息RWC对应于值“+2”。主机201可响应于接收的WC释放信息RWC将WC计数器202的值增加“+2”。
在WC释放信息RWC被接收的时间点,WC计数器202的值是“2”,主机201可执行正常写入操作。这样,主机201可向控制器210发送第三写入命令WR3和与第三写入命令WR3对应的第三数据D3。当第三写入命令WR3被发送到控制器210时,主机201可将WC计数器202的值减小“1”。
在第二时间点t2,一些持久信用可通过控制器210的操作释放。例如,如上所述,当与第一持久写入命令PWR1和第二持久写入命令PWR2相关联的第一持久数据PD1和第二持久数据PD2被存储在非易失性存储器装置230中时,两个持久信用可被释放。在这种情况下,控制器210可将返回信号RTN发送到主机201,并且主机201可响应于返回信号RTN将返回命令RCM发送到控制器210。控制器210可响应于返回命令RCM将PC释放信息RPC发送到主机201。
主机201可基于接收的PC释放信息RPC更新WC计数器202和PC计数器203。例如,在PC释放信息RPC指示两个持久信用PC被释放的情况下,主机201可基于接收的PC释放信息RPC分别将WC计数器202的值和PC计数器203的值增加“+2”。
在PC释放信息RPC被接收到的时间点,由于WC计数器202的值是“3”并且PC计数器203的值是“2”,因此主机201可执行持久写入操作或正常写入操作。例如,主机201可向控制器210发送第三持久写入命令PWR3和与第三持久写入命令PWR3对应的第三持久数据PD3。当第三持久写入命令PWR3被发送到控制器210时,主机201可分别将WC计数器202的值和PC计数器203的值减小“1”。
如上所述,根据本发明构思的主机201可通过根据持久写入操作或正常写入操作更新WC计数器202和PC计数器203来管理存储器模块200的缓冲器资源。此外,主机201可基于从控制器210返回的WC释放信息RWC和PC释放信息RPC更新WC计数器202和PC计数器203。
在一些示例实施例中,可不同地实现发送WC释放信息RWC和PC释放信息RPC的方式。例如,如在参照图6和图7A至图7D给出的描述中,WC返回单元212和PC返回单元213可分别基于释放的写入信用和释放的持久信用来累积WC释放信息和PC释放信息,并可响应于来自主机201的返回命令或读取命令而发送累积的信息。
图12A和图12B是用于描述图6的主机201和控制器210的操作的框图。为了简要描述,这里将不重复与每个操作中不必要的组件相关联的详细描述。
参照图12A和图12B,计算系统20可包括主机201和存储器模块200。主机201可包括WC计数器202和PC计数器203。存储器模块200可包括控制器210、RAM装置220和非易失性存储器装置230。
为了便于描述,假设第一写入信用WC1和第二写入信用WC2以及第一持久信用PC1和第二持久信用PC2通过主机201的持久写入操作而被使用。也就是说,在图12A中示出的配置之前,WC计数器202的值可以是“6”,PC计数器203的值可以是“2”。之后,如图12A中所示,存储在第一写入信用PC1和第二写入信用WC2中的写入数据可根据控制器210的操作而被存储在第一持久信用PC1和第二持久信用PC2中。在这种情况下,第一写入信用WC1和第二写入信用WC2可被释放。
WC返回单元212可向主机201提供关于释放的写入信用WC1和WC2的WC释放信息RWC,并且主机201可基于接收的WC释放信息RWC更新WC计数器202。在图12A的实施例中,由于释放的写入信用的数量是“2”,因此主机201可将WC计数器202的值增加“+2”。
之后,如图12B中所示,存储在第一持久信用PC1和第二持久信用PC2中的写入数据可根据控制器210的操作而被存储在非易失性存储器装置230中。在这种情况下,第一持久信用PC1和第二持久信用PC2可被释放。
PC返回单元213可向主机201提供关于释放的持久信用PC1和PC2的PC释放信息RPC,并且主机201可基于接收的PC释放信息RPC更新PC计数器203。在图12B的实施例中,由于释放的持久信用的数量是“2”,因此主机201可将PC计数器203的值增加“+2”。
如上所述,主机201可单独地管理存储器模块200的写入信用WC和持久信用PC,并且可基于从控制器210接收的WC释放信息RWC和PC释放信息RPC单独地更新WC计数器202和PC计数器203。表3示出根据图12A和图12B的实施例的更新WC计数器202和PC计数器203的方法。
[表3]
Figure BDA0001917656650000231
参照表3,与生成正常写入命令和持久写入命令相关联的配置与表2的配置相同,因此,这里将不重复其描述。在从控制器210返回的写入信用WC的数量是“n”的情况下,主机201可将WC计数器202的值增加“+n”。在这种情况下,PC计数器203的变化可以是“0”。在从控制器210返回的持久信用PC的数量是“k”的情况下,主机201可将PC计数器203的值增加“+k”。在这种情况下,WC计数器202的变化可以是“0”。也就是说,在参照图7A至图7D和图8以及表2描述的实施例中,主机201可基于返回的持久信用的数量更新WC计数器和PC计数器二者。然而,在参照图12A和图12B以及表3描述的实施例中,主机201可被配置为基于WC释放信息RWC仅更新WC计数器202并且基于PC释放信息RPC仅更新PC计数器203。也就是说,主机201可基于WC释放信息RWC和PC释放信息RPC分别管理WC计数器202和PC计数器203。
图13A至图13D是用于描述根据图12A和图12B的实施例的主机201和控制器210的操作的时序图。为了便于描述,这里将不重复与参照上述组件给出的描述相同的描述。
参照图6和图13A,最初,WC计数器202的值可以是“4”,并且PC计数器203的值可以是“2”。从主机201发送第一持久写入命令PWR的时间点到第二时间点t2的操作与参照图11描述的操作相似,因此,这里将不重复其详细描述。在第二时间点t2,一些持久信用可通过控制器210的操作释放。控制器210可将返回信号RTN发送到主机201。主机201可响应于返回信号RTN将返回命令RCM发送到控制器210,控制器210可响应于返回命令RCM发送PC释放信息RPC。
与参照图11给出的描述不同,基于接收的PC释放信息RPC,主机201可不更新WC计数器202并且可仅更新PC计数器203。例如,在第一时间点t1释放的写入信用可以是当控制器210将第一持久数据PD1和第二持久数据PD2从写入信用发送到持久信用时释放的写入信用。在第二时间点t2释放的持久信用可以是当控制器210将第一持久数据PD1和第二持久数据PD2从持久信用发送到非易失性存储器装置230时释放的持久信用。因此,如参照表3所述,主机201可基于PC释放信息RPC仅更新PC计数器203。
接下来,在图13B至图13D中,主机201可向控制器210发送第一持久写入命令PWR1和第二持久写入命令PWR2、与第一持久写入命令PWR1和第二持久写入命令PWR2对应的第一持久数据PD1和第二持久数据PD2、第一正常写入命令WR1和第二正常写入命令WR2、以及与第一正常写入命令WR1和第二正常写入命令WR2对应的第一数据D1和第二数据D2。
如在参照图6和图7A至图7D描述的实施例中,每当存储第一持久数据PD1和第二持久数据PD2以及第一数据D1和第二数据D2的写入信用被分别释放时,WC返回单元212可累积WC释放信息RWC。此外,每当持久信用被释放时,PC返回单元213可累积PC释放信息。
例如,在第一时间点t1至第四时间点t4,第一持久数据PD1和第二持久数据PD2可从写入信用移动到持久信用,并且第一数据D1和第二数据D2可从写入信用移动到RAM装置220的第一区域221或者移动到非易失性存储器装置230。在这种情况下,在每个时间点,写入信用被释放,因此,WC返回单元212可将WC释放信息RWC累积“+1”。
此外,在第二时间点t2和第三时间点t3,存储在持久信用中的第一持久数据PD1和第二持久数据PD2被发送到非易失性存储器装置230。在这种情况下,在第二时间点t2和第三时间点t3中的每个,持久信用被释放,因此,PC返回单元213将PC释放信息RPC累积“+1”。结果,在第四时间点t4,累积的WC释放信息RWC和累积的PC释放信息RPC可分别是“4”和“2”。
在图13B中,控制器210可从主机201接收第一返回命令RCM1。第一返回命令RCM1可以是主机201为了确保可用的写入信用的目的而发送到控制器210的命令。
控制器210可响应于第一返回命令RCM1将WC释放信息RWC发送到主机201,并且主机201可基于接收的WC释放信息RWC更新WC计数器202。
主机201可发送第三正常写入命令WR3和第三数据D3。之后,主机201可将第二返回命令RCM2发送到控制器210。第二返回命令RCM2可以是主机201为了确保可用的持久信用的目的而发送到控制器210的命令。
控制器210可响应于第二返回命令RCM2将PC释放信息RPC发送到主机201,并且主机201可基于接收的PC释放信息RPC更新PC计数器203。
然后,参照图13C,主机201可将第三返回命令RCM3发送到控制器210。与第一返回命令RCM1和第二返回命令RCM2不同,第三返回命令RCM3可以是主机201为了确保可用的写入信用和可用的持久信用二者的目的而发送到控制器210的命令。
控制器210可响应于第三返回命令RCM3将WC释放信息RWC和PC释放信息RPC发送到主机201,并且主机201可基于接收的WC释放信息RWC和接收的PC释放信息RPC来更新WC计数器202和PC计数器203。
之后,参照图13D,主机201可将读取命令RDC发送到控制器210。控制器210可响应于读取命令RDC将读取数据RD发送到主机201。在这种情况下,当存在累积的WC释放信息和累积的PC释放信息时,控制器210可将WC释放信息RWC和PC释放信息RPC与读取数据RD一起发送到主机201,并且主机201可分别基于接收的WC释放信息RWC和接收的PC释放信息RPC更新WC计数器202和PC计数器203。
如上所述,控制器210的WC返回单元212和PC返回单元213可根据写入信用的释放和持久信用的释放分别累积WC释放信息RWC和PC释放信息RPC,并且可响应于来自主机201的返回命令或读取命令将累积的信息发送到主机201。
图14是示出图6的WC计数器202和PC计数器203的示例的示图。例如,在上述实施例中,WC计数器102或WC计数器202可被配置为管理控制器110或控制器210的写入信用中的可用的写入信用的数量,PC计数器203可被配置为管理控制器210的持久信用中的可用的持久信用的数量。
然而,本发明构思不限于此。例如,如图14中所示,WC计数器202和PC计数器203中的每个可以以位图的形式实现。例如,WC计数器202可以以位图的形式实现,并且位图的位可分别对应于数据缓冲器211的多个写入信用WC1至WCn。在写入操作中,主机201可通过改变与使用的写入信用对应的位的值来管理使用的写入信用和可用的写入信用。
同样地,PC计数器203可以以位图的形式实现,并且位图的位可分别对应于RAM装置220的第二区域222的多个持久信用PC1至PCm。在写入操作中,主机201可通过改变与使用的持久信用对应的位的值来管理使用的持久信用和可用的持久信用。
位图形式的WC计数器和PC计数器的上述配置是示例,并且本发明构思不限于此。在不脱离本发明构思的范围和精神的情况下,可改变或修改WC计数器和PC计数器的配置。
图15是示出根据本发明构思的一些实施例的计算系统30的框图。参照图15,计算系统30可包括主机301和存储器模块300。主机301可包括WC计数器302和PC计数器303。存储器模块300可包括控制器310、非易失性存储器装置330和备用电源340。控制器310可包括第一缓冲器311、WC返回单元312、PC返回单元313和第二缓冲器320。第二缓冲器320可包括第一区域321和第二区域322。以上描述了图15的组件,因此,这里将不重复其详细描述。
例如,第一缓冲器311可对应于上述数据缓冲器,第二缓冲器320可对应于上述RAM装置。例如,第一缓冲器311可包括上述写入信用WC,第二缓冲器320(具体地讲,第二区域322)可包括持久信用PC。也就是说,图15示出第二缓冲器320包括在控制器310中的配置。如上所述,控制器310可包括持久信用PC并且可如以上描述中那样操作。
图16是示出根据本发明构思的存储器模块的框图。参照图16,存储器模块1000可包括控制器1100、非易失性存储器装置1200和DRAM装置1300。控制器1100可包括写入信用WC和持久信用PC。控制器1100可将经由数据线DQ接收的数据写入非易失性存储器装置1200或DRAM装置1300中。例如,存储器模块1000或控制器1100可通过DDR接口与外部装置进行通信。
例如,控制器1100可基于参照图1至图15描述的方法进行操作。例如,控制器1100可将经由数据线DQ接收的写入数据存储在写入信用中。在写入信用被释放的情况下,控制器1100可经由数据线DQ将WC释放信息RWC提供给外部装置。在一些实施例中,控制器1100可通过写入信用和持久信用存储经由数据线DQ接收的写入数据;在写入信用或持久信用被释放的情况下,控制器1100可经由数据线DQ将WC释放信息RWC或PC释放信息RPC提供给外部装置。
虽然未在图16中示出,但是持久信用PC可包括在DRAM装置1300的部分区域中,并且该部分区域可通过使用单独的备用电源来保持数据,而不管电源如何。
图17是示出根据本发明构思的存储器模块的框图。参照图17,存储器模块2000可包括控制器2100、多个存储器装置2210至2280以及多个数据缓冲器DB。例如,存储器模块2000可基于DDR接口与外部装置(例如,主机)进行通信。例如,存储器模块2000的控制器2100可被配置为响应于来自外部的命令CMD来控制多个存储器装置2210至2280和数据缓冲器DB。
多个数据缓冲器DB可经由数据线DQ和数据选通线DQS与外部装置交换数据,并且可分别将从外部接收的写入数据发送到多个存储器装置2210至2280。
图17中示出的存储器模块2000的配置是根据一些实施例的示例,并且本发明构思不限于此。例如,存储器模块2000可具有多个数据缓冲器DB被省略的RDIMM结构。在一些实施例中,控制器2100可接收提供给存储器模块2000的多个数据信号DQ和多个数据选通信号DQS,并且可基于接收的信号控制多个存储器装置2210至2280。
图18是示出应用根据本发明构思的存储器模块的计算系统的框图。参照图18,计算系统3000可包括处理器3001和多个存储器3110至3140。
处理器3001可包括控制器3002。控制器3002可经由总线与存储器3110至3140进行通信。例如,总线可包括分别与多个存储器3110至3140连接的专用总线或由多个存储器3110至3140共享的共享总线。在一些实施例中,多个存储器3110至3140中的至少一部分可以是参照图1至图17描述的存储器模块,或者可根据参照图1至图17描述的操作方法来操作。
在一些实施例中,多个存储器3110至3140中的至少一部分可包括非易失性存储器,并且剩余的存储器模块可包括易失性存储器。包括易失性存储器的存储器模块可用作包括非易失性存储器的存储器模块的高速缓冲存储器或缓冲器存储器。也就是说,多个存储器3110至3140中的一部分可用作RAM装置或包括持久信用PC的缓冲器。例如,控制器3002可基于参照图1至图17描述的操作方法进行操作。在一些实施例中,处理器3001可基于参照图1至图17描述的方法来管理写入信用WC或持久信用PC。
根据本发明构思的实施例,主机可管理存储器模块的资源(例如,写入信用WC和持久信用PC)。在资源被释放的情况下,存储器模块可将释放信息发送到主机,并且主机可基于释放信息来更新资源。因此,提供了具有改进性能的主机的操作方法、存储器模块的操作方法以及存储器系统的操作方法。
如在此使用的,术语“和/或”包括相关所列项中的一个或多个的任意和所有组合。当诸如“…中的至少一个”的表述在一列元素之后时,修饰整列元素而不修饰列的单独的元素。
虽然已经参照本发明构思的示例实施例描述了本发明构思,但是对于本领域普通技术人员将清楚的,在不脱离如在所附权利要求中阐述的本发明构思的精神和范围的情况下,可对其进行各种改变和修改。

Claims (14)

1.一种存储器模块的操作方法,存储器模块包括多个写入信用、多个持久信用和非易失性存储器装置,所述操作方法包括:
从主机装置接收持久写入数据;
将持久写入数据存储在所述多个写入信用中的至少一个写入信用中;
将持久写入数据从所述多个写入信用中的所述至少一个写入信用第一移动到所述多个持久信用中的至少一个持久信用中;
基于第一移动累积第一释放信息;
将持久写入数据从所述多个持久信用中的所述至少一个持久信用第二移动到非易失性存储器装置中;
基于第二移动累积第二释放信息;
从主机装置接收读取命令;
响应于读取命令,将包括对应于读取命令的读取数据、累积的第一释放信息和累积的第二释放信息的数据包发送到主机装置;以及
在发送数据包之后,重置累积的第一释放信息和累积的第二释放信息,
其中,第一释放信息指示所述多个写入信用中的在持久写入数据的第一移动之前已经被释放为可用的写入信用的数量,并且
其中,第二释放信息指示所述多个持久信用中的在持久写入数据的第二移动之前已经被释放为可用的持久信用的数量。
2.根据权利要求1所述的操作方法,
其中,所述多个写入信用中的每个写入信用包括存储器模块的控制器中的单元缓冲器,并且
其中,所述多个持久信用中的每个持久信用包括存储器模块的RAM装置中的单元存储装置。
3.一种主机装置的操作方法,主机装置被配置为与包括多个写入信用和多个持久信用的存储器模块通信,所述操作方法包括:
将持久写入命令发送到存储器模块;
响应于发送持久写入命令,减小写入信用计数器的第一值和持久信用计数器的第二值中的每个;
将第一读取命令发送到存储器模块;
从存储器模块接收第一释放信息、第二释放信息和对应于第一读取命令的读取数据;
响应于第一释放信息,增加写入信用计数器的第一值;以及
响应于第二释放信息,增加持久信用计数器的第二值;
其中,写入信用计数器的第一值指示所述多个写入信用中可用的写入信用的数量,
其中,持久信用计数器的第二值指示所述多个持久信用中可用的持久信用的数量,
其中,持久写入命令包括用于持久操作的命令,在持久操作中,写入数据的保持在断电时被确保,
其中,第一释放信息指示所述多个写入信用中的被释放以由存储器模块的第一操作可用的写入信用的数量,
其中,第二释放信息指示所述多个持久信用中的被释放为由存储器模块的第二操作可用的持久信用的数量,并且
其中,将持久写入命令发送到存储器模块的步骤包括:
将写入信用计数器的第一值和持久信用计数器的第二值中的每个与参考值进行比较;
当写入信用计数器的第一值和持久信用计数器的第二值中的每个等于或大于参考值时,将持久写入命令发送到存储器模块;以及
当写入信用计数器的第一值和持久信用计数器的第二值小于参考值时:
将返回命令发送到存储器模块;
从存储器模块接收与返回命令对应的第三释放信息;以及
响应于第三释放信息,增加写入信用计数器的第一值或持久信用计数器的第二值。
4.根据权利要求3所述的操作方法,
其中,第一操作包括将存储在所述多个写入信用中的至少一个写入信用中的数据移动到所述多个持久信用中的至少一个持久信用,并且
其中,第二操作包括将存储在所述多个持久信用中的所述至少一个持久信用中的数据移动到存储器模块中的非易失性存储器装置。
5.根据权利要求3所述的操作方法,
其中,第一操作包括将存储在所述多个写入信用中的至少一个写入信用中的数据移动到所述多个持久信用中的至少一个持久信用,并且
其中,第二操作包括将存储在所述多个写入信用中的所述至少一个写入信用中的数据移动到存储器模块中的非易失性存储器装置。
6.根据权利要求3所述的操作方法,还包括:
将正常写入命令发送到存储器模块;以及
响应于发送正常写入命令,减小写入信用计数器的第一值。
7.根据权利要求3所述的操作方法,
其中,响应于发送持久写入命令,写入信用计数器的第一值和持久信用计数器的第二值中的每个减小N,并且
其中,N是与持久写入命令的持久写入数据对应的单元缓冲器的数量。
8.根据权利要求7所述的操作方法,其中,每个单元缓冲器的大小为4KB。
9.根据权利要求3所述的操作方法,其中,参考值包括与对应于持久写入命令的持久写入数据的单元缓冲器的数量对应的单元缓冲器的数量。
10.根据权利要求3所述的操作方法,还包括:
响应于第三释放信息,增加写入信用计数器的第一值和持久信用计数器的第二值中的每个。
11.根据权利要求3所述的操作方法,其中,存储器模块包括非易失性双列直插式存储器模块。
12.根据权利要求3所述的操作方法,其中,第一释放信息和第二释放信息以异步方案被接收。
13.一种存储器系统的操作方法,存储器系统包括存储器模块和主机装置,其中,存储器模块包括多个写入信用、多个持久信用和非易失性存储器装置,其中,主机装置包括写入信用计数器和持久信用计数器,所述操作方法包括:
通过主机装置将持久写入命令发送到存储器模块;
响应于发送持久写入命令,通过主机装置减小写入信用计数器的第一值和持久信用计数器的第二值中的每个;
响应于持久写入命令,通过存储器模块将与持久写入命令对应的持久写入数据存储在所述多个写入信用中的至少一个写入信用中;
通过存储器模块执行第一操作,以将存储在所述多个写入信用中的所述至少一个写入信用中的持久写入数据移动到所述多个持久信用中的至少一个持久信用中;
通过存储器模块执行第二操作,以将存储在所述多个持久信用中的所述至少一个持久信用中的持久写入数据移动到非易失性存储器装置中;
通过主机装置将读取命令发送到存储器模块;
响应于读取命令,通过存储器模块将第一释放信息、第二释放信息和对应于读取命令的读取数据发送到主机装置;
响应于第一释放信息,通过主机装置增加写入信用计数器的第一值;以及
响应于第二释放信息,通过主机装置增大持久信用计数器的第二值;
其中,第一释放信息指示所述多个写入信用中的被释放以由存储器模块的第一操作可用的写入信用的数量,
其中,第二释放信息指示所述多个持久信用中的被释放以由存储器模块的第二操作可用的持久信用的数量,并且
其中,通过主机装置将持久写入命令发送到存储器模块的步骤包括:
通过主机装置将写入信用计数器的第一值和持久信用计数器的第二值中的每个与参考值进行比较;
当写入信用计数器的第一值和持久信用计数器的第二值中的每个等于或大于参考值时,通过主机装置将持久写入命令发送到存储器模块;以及
当写入信用计数器的第一值和持久信用计数器的第二值小于参考值时:
通过主机装置将返回命令发送到存储器模块;
响应于返回命令,通过存储器模块将第三释放信息发送到主机装置;以及
响应于第三释放信息,通过主机装置增加写入信用计数器的第一值或持久信用计数器的第二值。
14.根据权利要求13所述的操作方法,还包括:
通过存储器模块将存储在所述多个写入信用中的所述至少一个写入信用中的持久写入数据移动到非易失性存储器装置中;
响应于将持久写入数据从所述多个写入信用中的所述至少一个写入信用移动到非易失性存储器装置中,通过存储器模块发送第三释放信息;以及
响应于第三释放信息,通过主机装置增加写入信用计数器的第一值和持久信用计数器的第二值中的每个。
CN201811580428.2A 2018-02-01 2018-12-24 存储器模块及其操作方法 Active CN110109612B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862625044P 2018-02-01 2018-02-01
US62/625,044 2018-02-01
KR10-2018-0019329 2018-02-19
KR1020180019329A KR102549591B1 (ko) 2018-02-01 2018-02-19 호스트의 동작 방법, 메모리 모듈의 동작 방법, 및 메모리 시스템의 동작 방법

Publications (2)

Publication Number Publication Date
CN110109612A CN110109612A (zh) 2019-08-09
CN110109612B true CN110109612B (zh) 2022-07-12

Family

ID=67391451

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811580428.2A Active CN110109612B (zh) 2018-02-01 2018-12-24 存储器模块及其操作方法

Country Status (2)

Country Link
US (1) US11048645B2 (zh)
CN (1) CN110109612B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11409436B2 (en) * 2018-08-08 2022-08-09 Micron Technology, Inc. Buffer management in memory systems for read and write requests
US11163473B2 (en) 2018-11-19 2021-11-02 Micron Technology, Inc. Systems, devices, techniques, and methods for data migration
US11256437B2 (en) 2018-11-19 2022-02-22 Micron Technology, Inc. Data migration for memory operation
US10782911B2 (en) * 2018-11-19 2020-09-22 Micron Technology, Inc. Data migration dynamic random access memory
US11182090B2 (en) 2018-11-19 2021-11-23 Micron Technology, Inc. Systems, devices, and methods for data migration
US10901657B2 (en) * 2018-11-29 2021-01-26 International Business Machines Corporation Dynamic write credit buffer management of non-volatile dual inline memory module
US11403035B2 (en) * 2018-12-19 2022-08-02 Micron Technology, Inc. Memory module including a controller and interfaces for communicating with a host and another memory module
KR20210034378A (ko) * 2019-09-20 2021-03-30 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그것의 동작 방법
KR20210039075A (ko) * 2019-10-01 2021-04-09 삼성전자주식회사 비휘발성 메모리 장치의 초기화 제어 방법 및 비휘발성 메모리 장치를 포함하는 메모리 시스템
KR20220053973A (ko) * 2020-10-23 2022-05-02 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
EP4386517A1 (en) * 2021-09-18 2024-06-19 Huawei Technologies Co., Ltd. Method for storing data in storage device and storage device
CN114566207B (zh) * 2022-04-29 2022-07-19 长鑫存储技术有限公司 存储器的测试方法及测试装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6956776B1 (en) * 2004-05-04 2005-10-18 Xilinx, Inc. Almost full, almost empty memory system
CN105340017A (zh) * 2013-07-09 2016-02-17 惠普发展公司,有限责任合伙企业 对包括非兼容性存储器技术或与其接合的存储器模块的写入流控制
CN105589661A (zh) * 2014-11-12 2016-05-18 三星电子株式会社 数据存储装置、数据处理系统和操作方法
CN106997324A (zh) * 2015-12-14 2017-08-01 三星电子株式会社 非易失性存储器模块、具有其的计算系统及其操作方法
CN107066201A (zh) * 2016-02-11 2017-08-18 爱思开海力士有限公司 数据存储装置及其方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7911952B1 (en) 2002-07-12 2011-03-22 Mips Technologies, Inc. Interface with credit-based flow control and sustained bus signals
US7712006B1 (en) 2002-12-04 2010-05-04 Silicon Graphics International System and method for conveying information
WO2005096220A1 (ja) 2004-03-31 2005-10-13 Matsushita Electric Industrial Co., Ltd. メモリカード及びメモリカードシステム
US7373467B2 (en) 2004-05-17 2008-05-13 Hewlett-Packard Development Company, L.P. Storage device flow control
US20130080679A1 (en) 2011-09-26 2013-03-28 Lsi Corporation System and method for optimizing thermal management for a storage controller cache
KR101670917B1 (ko) 2013-03-15 2016-11-01 인텔 코포레이션 메모리 시스템
TWI516927B (zh) * 2013-06-14 2016-01-11 群聯電子股份有限公司 資料寫入方法、記憶體控制器與記憶體儲存裝置
US9021141B2 (en) * 2013-08-20 2015-04-28 Lsi Corporation Data storage controller and method for exposing information stored in a data storage controller to a host system
US9477631B2 (en) 2014-06-26 2016-10-25 Intel Corporation Optimized credit return mechanism for packet sends
US9874910B2 (en) 2014-08-28 2018-01-23 Intel Corporation Methods and apparatus to effect hot reset for an on die non-root port integrated device
US9836108B2 (en) * 2014-09-10 2017-12-05 Toshiba Memory Corporation Memory system and controller
US9626119B2 (en) 2014-11-14 2017-04-18 Intel Corporation Using counters and a table to protect data in a storage device
US9417814B1 (en) * 2015-02-12 2016-08-16 HGST Netherlands B.V. Tempered pacing of shingled magnetic storage devices
KR102523418B1 (ko) 2015-12-17 2023-04-19 삼성전자주식회사 프로세서 및 프로세서에서 데이터를 처리하는 방법
US10621119B2 (en) 2016-03-03 2020-04-14 Samsung Electronics Co., Ltd. Asynchronous communication protocol compatible with synchronous DDR protocol
US10152237B2 (en) * 2016-05-05 2018-12-11 Micron Technology, Inc. Non-deterministic memory protocol
US10679722B2 (en) * 2016-08-26 2020-06-09 Sandisk Technologies Llc Storage system with several integrated components and method for use therewith
CN107885671B (zh) * 2016-09-30 2021-09-14 华为技术有限公司 一种非易失性内存的持久化方法和计算设备
WO2019041291A1 (zh) * 2017-08-31 2019-03-07 华为技术有限公司 写入信息的方法和装置
US11194524B2 (en) * 2017-09-15 2021-12-07 Qualcomm Incorporated Apparatus and method for performing persistent write operations using a persistent write command
US10996888B2 (en) * 2017-10-31 2021-05-04 Qualcomm Incorporated Write credits management for non-volatile memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6956776B1 (en) * 2004-05-04 2005-10-18 Xilinx, Inc. Almost full, almost empty memory system
CN105340017A (zh) * 2013-07-09 2016-02-17 惠普发展公司,有限责任合伙企业 对包括非兼容性存储器技术或与其接合的存储器模块的写入流控制
CN105589661A (zh) * 2014-11-12 2016-05-18 三星电子株式会社 数据存储装置、数据处理系统和操作方法
CN106997324A (zh) * 2015-12-14 2017-08-01 三星电子株式会社 非易失性存储器模块、具有其的计算系统及其操作方法
CN107066201A (zh) * 2016-02-11 2017-08-18 爱思开海力士有限公司 数据存储装置及其方法

Also Published As

Publication number Publication date
CN110109612A (zh) 2019-08-09
US11048645B2 (en) 2021-06-29
US20190236030A1 (en) 2019-08-01

Similar Documents

Publication Publication Date Title
CN110109612B (zh) 存储器模块及其操作方法
US10268382B2 (en) Processor memory architecture
US10691626B2 (en) Memory channel that supports near memory and far memory access
CN106055493B (zh) 存储系统、存储模块及其操作方法
US11709777B2 (en) Memory system
US10073790B2 (en) Electronic system with memory management mechanism and method of operation thereof
EP3441885B1 (en) Technologies for caching persistent two-level memory data
CN105786400B (zh) 一种异构混合内存组件、系统及存储方法
US11741011B2 (en) Memory card with volatile and non volatile memory space having multiple usage model configurations
CN105518784A (zh) 具有用于高可靠性操作的存储控制器的数据处理器和方法
US20180150233A1 (en) Storage system
US20190163628A1 (en) Multi-level system memory with a battery backed up portion of a non volatile memory level
CN108139983B (zh) 用于在多级系统存储器中固定存储器页面的方法和设备
KR102538679B1 (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
US20170147230A1 (en) Memory device and memory system having heterogeneous memories
KR102549591B1 (ko) 호스트의 동작 방법, 메모리 모듈의 동작 방법, 및 메모리 시스템의 동작 방법
US20220171551A1 (en) Available memory optimization to manage multiple memory channels
CN111694772A (zh) 存储器控制器
US11782851B2 (en) Dynamic queue depth adjustment
US11735272B2 (en) Noise reduction during parallel plane access in a multi-plane memory device
US20240176745A1 (en) Identification of Available Memory of a Data Storage Device Attachable as a Memory Device
EP3382711B1 (en) Technologies for issuing commands on selected memory devices
CN118069037A (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