CN117008822A - 存储器***和存储器***的操作方法 - Google Patents

存储器***和存储器***的操作方法 Download PDF

Info

Publication number
CN117008822A
CN117008822A CN202310388198.4A CN202310388198A CN117008822A CN 117008822 A CN117008822 A CN 117008822A CN 202310388198 A CN202310388198 A CN 202310388198A CN 117008822 A CN117008822 A CN 117008822A
Authority
CN
China
Prior art keywords
credit
sub
random
sequential
write
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
CN202310388198.4A
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
SK Hynix 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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN117008822A publication Critical patent/CN117008822A/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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/0658Controller construction 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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
    • 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/1032Reliability improvement, data loss prevention, degraded operation etc

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本公开的实施例涉及存储器***和存储器***的操作方法。存储器***包括非易失性存储器设备和性能管理器。性能管理器根据主机设备的设置来激活多个子控制器,将存储器区域分别分配给多个子控制器,存储器区域被包括在非易失性存储器设备中,并且根据最大性能值和存储器区域的大小比,确定要分别分配给多个子控制器的信用集。

Description

存储器***和存储器***的操作方法
相关申请的交叉引用
本申请要求于2022年5月3日在韩国知识产权局提交的韩国申请号10-2022-0054640的优先权,其全部公开内容通过引用并入本文。
技术领域
各种实施例涉及存储器***,并且更具体地涉及包括非易失性存储器设备的存储器***。
背景技术
存储器***可以被配置为响应于来自主机设备的写入请求而存储由主机设备提供的数据。此外,存储器***可以被配置为响应于来自主机设备的读取请求而将存储的数据提供给主机设备。主机设备是能够处理数据的电子设备,并且可以包括计算机、数码相机或移动电话。存储器***可以被安装在主机设备中,或者可以被制造成能够连接到主机设备和从主机设备拆卸。
发明内容
在一个实施例中,存储器***可以包括非易失性存储器设备和性能管理器。性能管理器可以被配置为根据主机设备的设置来激活多个子控制器,将存储器区域分别分配给多个子控制器,存储器区域被包括在非易失性存储器设备中,并且根据最大性能值和存储器区域的大小比,确定要分别分配给多个子控制器的信用集。
在一个实施例中,存储器***的操作方法可以包括:根据主机设备的设置来激活多个子控制器;将存储器区域分别分配给多个子控制器;以及根据最大性能值和存储器区域的大小比,确定要分别分配给多个子控制器的信用集。
在一个实施例中,存储器***的操作方法可以包括:接收针对多个子控制器之中的第一子控制器的操作命令;当第一子控制器的顺序操作信用大于零(0)并且第一子控制器的随机操作信用大于零(0)时,控制第一子控制器处理操作命令;并且减少第一子控制器的顺序操作信用和随机操作信用。
附图说明
图1是图示了根据实施例的包括存储器***的数据处理***的框图。
图2是图示了根据实施例的性能管理器计算要分配给每个子控制器的信用集的方案的示图。
图3是图示了根据实施例的第一子控制器利用顺序读取信用和随机读取信用的方案的示图。
图4是图示了根据实施例的性能管理器初始化顺序读取信用和随机读取信用的方案的示图。
图5、图6和图7是图示了根据实施例的性能管理器初始化顺序写入信用和随机写入信用的方案的示图。
图8是图示了根据实施例的性能管理器计算要分配给相应的子控制器的信用集的方案的流程图。
图9是图示了根据实施例的性能管理器初始化顺序写入信用和随机写入信用的操作的流程图。
图10是图示了根据实施例的初始化顺序读取信用和随机读取信用的操作的流程图。
图11是图示了根据实施例的性能管理器针对每个子控制器而利用顺序读取信用和随机读取信用的操作的流程图。
图12是图示了根据实施例的性能管理器针对每个子控制器而利用顺序写入信用和随机写入信用的操作的流程图。
图13是图示了根据实施例的包括固态驱动器(SSD)的数据处理***的示图。
图14是图示了根据实施例的包括存储器***的网络***的示图。
具体实施方式
下面将参考附图更详细地描述本公开的实施例的示例。然而,本公开可以以不同的形式来体现,并且不应被解释为限于本文所阐述的实施例。
附图不一定按比例绘制,并且在一些实例中,比例可能被放大以便清楚地图示实施例的特征。本文所使用的术语仅用于描述特定实施例的目的,并不旨在限制本公开。
如本文中所使用的,术语“和/或”包括相关联的列出的项中的至少一个。应当理解,当一个元件被称为“连接到”或“耦合到”另一元件时,它可以直接在另一元件上、连接到或耦合到另一元件,或者可以存在一个或多个中间元件。如本文中所使用的,除非上下文另有明确说明,否则单数形式旨在包括复数形式,反之亦然。还应当理解,当在本说明书中使用时,术语“包含”、“包含有”、“包括”和“包括有”指定了所述元件的存在并且不排除一个或多个其他元件的存在或添加。
在下文中,将在下面参考附图描述本公开的各种实施例。
根据实施例,可以提供一种存储器***和存储器***的操作方法,该存储器***能够支持被配置为总是提供最大读取性能并且被配置为稳定地提供相同比率的写入性能的子控制器。
图1是图示了根据实施例的包括存储器***100的数据处理***1的框图。
数据处理***1可以包括主机设备10和存储器***100。
存储器***100可以被配置为响应于来自主机设备10的写入请求而存储由主机设备10提供的数据。此外,存储器***100可以被配置为响应于来自主机设备10的读取请求而将存储的数据提供给主机设备10。
存储器***100可以被配置作为个人计算机存储卡国际协会(PCMCIA)卡、紧凑型闪存(CF)卡、智能媒体卡、记忆棒、各种多媒体卡(例如,MMC、eMMC、RS-MMC和MMC-micro)、安全数字(SD)卡(例如SD、Mini-SD和Micro-SD)、通用闪存(UFS)或固态驱动器(SSD)。
存储器***100可以包括控制器110和非易失性存储器设备120。
控制器110可以控制存储器***100的整体操作。控制器110可以控制非易失性存储器设备120以便响应于来自主机设备10的指令来执行前台操作。前台操作可以包括响应于来自主机设备10的指令(即,写入请求和读取请求)而在非易失性存储器设备120中写入数据和从非易失性存储器设备120读取数据的操作。
此外,控制器110可以控制非易失性存储器设备120以便独立于主机设备10而执行内部必需的后台操作。后台操作可以包括针对非易失性存储器设备120的磨损均衡操作、垃圾收集操作、擦除操作、读取回收操作和刷新操作中的至少一个。与前台操作一样,后台操作可以包括在非易失性存储器设备120中写入数据和从非易失性存储器设备120中读取数据的操作。
控制器110可以包括性能管理器111。
根据主机设备10的设置,性能管理器111可以激活多个子控制器F1至Fn,并且可以向多个子控制器F1至Fn分配相应的存储器区域M1至Mn,存储器区域M1至Mn是从非易失性存储器设备120的整个存储器区域划分的。主机设备10可以确定存储器区域M1至Mn的大小比。根据需要,主机设备10可以调整子控制器F1至Fn的数目以及存储器区域M1至Mn的大小比。通过多个子控制器F1至Fn,主机设备10可以利用存储器***100,就像存储器***100是多个驱动器一样。子控制器F1至Fn中的每个子控制器都可以通过被激活来访问非易失性存储器设备120。在主机设备10的控制下,子控制器F1至Fn中的每个子控制器可以独立地访问所分配的存储器区域。例如,多个子控制器F1至Fn可以具有快速非易失性存储器(NVMe)设备的物理功能。
基于存储器***100的最大性能值和存储器区域M1至Mn的大小比,性能管理器111可以确定分别要分配给多个子控制器F1至Fn的信用集。最大性能值可以包括最大顺序写入速度、最大随机写入速度、最大顺序读取速度和最大随机读取速度。信用集可以包括顺序写入信用、随机写入信用、顺序读取信用和随机读取信用。
具体地,性能管理器111可以根据存储器区域M1至Mn的大小比来划分每个最大性能值,可以将经划分的值转换为相应的信用,并且可以将经转换的信用分别分配给多个子控制器F1至Fn。例如,性能管理器111可以根据存储器区域M1至Mn的大小比来划分最大顺序写入速度,可以将经划分的值转换为顺序写入信用,并且可以在对顺序写入信用的初始化操作期间将经转换的顺序写入信用分别分配给多个子控制器F1至Fn。
性能管理器111可以一起初始化顺序写入信用和随机写入信用,并且可以一起初始化顺序读取信用和随机读取信用。具体地,当从完成第一初始化操作起经过第一写入信用初始化时段时以及当没有任何未决写入命令或经过第二写入信用初始化时段时,性能管理器111可以对所有多个子控制器F1至Fn的顺序写入信用和随机写入信用执行第二初始化操作。当从完成第一初始化操作起经过读取信用初始化时段时,性能管理器111可以对所有多个子控制器F1至Fn的顺序读取信用和随机读取信用执行第二初始化操作。
对于针对被选择的子控制器(例如,第一子控制器F1)的写入命令,性能管理器111可以利用第一子控制器F1的顺序写入信用和随机写入信用。对于针对第一子控制器F1的读取命令,性能管理器111可以利用第一子控制器F1的顺序读取信用和随机读取信用。
具体地,当第一子控制器F1的顺序操作信用大于零(0)并且第一子控制器F1的随机操作信用大于零(0)时,性能管理器111可以控制第一子控制器F1处理操作命令,并且可以减少第一子控制器F1的顺序操作信用和随机操作信用。在这里,当操作命令是读取命令时,顺序操作信用和随机操作信用可以分别是顺序读取信用和随机读取信用。当操作命令是写入命令时,顺序操作信用和随机操作信用可以分别是顺序写入信用和随机写入信用。
当第一子控制器F1的顺序操作信用和随机操作信用中的至少一者不大于零(0)时,性能管理器111可以控制第一子控制器F1在第一子控制器F1的顺序操作信用和随机操作信用被初始化之后处理操作命令。
性能管理器111可以基于根据操作命令来处理的数据量来计算调整量,并且可以将顺序操作信用减少调整量。性能管理器111可以将随机操作信用减少调整量。在这里,调整量可以与根据操作命令处理的数据量无关。
在控制器110的控制下,非易失性存储器设备120可以在其中存储从控制器110提供的数据,并且可以读取存储在其中的数据以将读取的数据提供给控制器110。
非易失性存储器设备120可以包括闪存设备(例如,NAND闪存或NOR闪存)、铁电体随机存取存储器(FeRAM)、相变随机存取存储器(PCRAM)、磁随机存取存储器(MRAM)、电阻式随机存取存储器(ReRAM)等。
图2是图示了根据实施例的性能管理器111计算要分配给每个子控制器的信用集的方案的示图。为了图2的描述,假设第一至第四子控制器F1至F4被激活。
参见图2,存储器***100的最大性能值MPV可以包括最大顺序写入速度MSW、最大顺序读取速度MSR、最大随机写入速度MRW和最大随机读取速度MRR。最大性能值MPV可以表示当第一至第四子控制器F1至F4中的单个子控制器操作时存储器***100的性能。可以在制造存储器***100时或在存储器***100操作时通过测试操作来测量最大性能值MPV。例如,最大顺序写入速度MSW和最大顺序读取速度MSR可以以B/s(即,字节每秒)为单位来测量,并且最大随机写入速度MRW和最大随机读取速度MRR可以以4KB IOPS(即每秒输入/输出操作)为单位来测量。
存储器***100的整个存储器区域可以被划分为分别对应于第一至第四子控制器F1至F4的第一至第四存储器区域M1至M4。例如,第一至第四存储器区域M1至M4的大小比可以是4:3:2:1。因此,当整个存储器区域的大小为1000GB(即,1000千兆字节)时,第一至第四存储器区域M1至M4的大小可以分别为400GB、300GB、200GB和100GB。
第一至第四子控制器F1至F4的性能值PV1至PV4可以分别通过根据第一至第四存储器区域M1至M4的大小比来划分最大性能值MPV的相应项而被获得。例如,相应的第一至第四子控制器F1至F4的顺序写入速度SW可以通过根据大小比4:3:2:1来划分最大顺序写入速度MSW而被获得。
信用集C1至C4可以基于性能值PV1至PV4来计算,并且可以分别被分配给第一至第四子控制器F1至F4。换句话说,信用集C1至C4中的每个信用集可以基于性能值PV1至PV4中的对应一个性能值来计算,并且可以被分配给第一至第四子控制器F1至F4中的对应一个子控制器。信用集C1至C4中的每个信用集可以包括顺序写入信用SWC、顺序读取信用SRC、随机写入信用RWC和随机读取信用RRC。在信用集C1至C4中包括的每个项的信用可以从相同项的性能值来转换。
例如,对于第一至第四子控制器F1至F4中的每个子控制器,可以通过将顺序写入速度SW除以4K的值来获得顺序写入信用SWC,并且可以通过将顺序读取速度SR除以4K的值来获得顺序读取信用SRC。此外,随机写入信用RWC可以是随机写入速度RW的值,并且随机读取信用RRC可以是随机读取速度RR的值。在这种情况下,每个信用可以对应于以4KB为单位的操作数。然而,计算信用的单位,即以4KB为单位的信用是示例,并且因此根据实施例,信用可以是以不同的单位。
图3是图示了根据实施例的第一子控制器F1利用顺序读取信用SRC和随机读取信用RRC的方案的示图。
参见图3,性能管理器111可以管理性能表PT。性能表PT可以包括当前激活的子控制器F1至Fn的性能信息IF1至IFn。例如,与第一子控制器F1相对应的性能信息IF1可以包括读取命令列表RCMDL和写入命令列表WCMDL,其分别包括要由第一子控制器F1处理的读取命令和写入命令。另外,与第一子控制器F1相对应的性能信息IF1还可以包括分配给第一子控制器F1的顺序写入信用SWC、顺序读取信用SRC、随机写入信用RWC和随机读取信用RRC。
存储器***100可以从主机设备10接收读取命令RCMD1。读取命令RCMD1可以对应于第一子控制器F1,并且可以用于读取128KB的数据。读取命令RCMD1可以在与第一子控制器F1相对应的性能信息IF1内的读取命令列表RCMDL中被列出。
在此之后,性能管理器111可以控制第一子控制器F1处理读取命令RCMD1,并且可以将顺序读取信用SRC和随机读取信用RRC减少相应的调整量。针对顺序读取信用SRC的调整量可以根据与读取命令RCMD1相对应的数据量128KB来计算。例如,针对顺序读取信用SRC的调整量可以是通过将与读取命令RCMD1相对应的数据量128KB除以信用单位(即,4KB)而获得的值32。针对随机读取信用RRC的调整量可以与对应于读取命令RCMD1的数据量无关。例如,针对随机读取信用RRC的调整量可以是一(1)。根据实施例,顺序读取信用SRC和随机读取信用RRC的减少可以在读取命令RCMD1的处理之前、期间或之后执行。
与上述实施例不同的是,可用的顺序读取信用SRC可以小于调整量。例如,可用的顺序读取信用SRC的值可以是600,但是调整量可以是值700。在这种情况下,可以从随后初始化的顺序读取信用SRC中扣除顺序读取信用SRC的赤字,即100的值。
可以以与读取命令类似的方式处理写入命令。当处理写入命令时,可以基于与写入命令相对应的数据量来计算针对顺序写入信用SWC的调整量,但是针对随机写入信用RWC的调整量可以是与对应于写入命令的数据量无关的值。
图4是图示了根据实施例的性能管理器111初始化顺序读取信用SRC和随机读取信用RRC的方案的示图。
参见图4,基于读取信用初始化时段RCIP,性能管理器111可以对所有一个或多个子控制器F1至Fn的顺序读取信用SRC和随机读取信用RRC执行初始化操作。具体地,每当从先前的初始化经过读取信用初始化时段RCIP时(参见图4中的时间点T1和T2),所有一个或多个子控制器F1至Fn的顺序读取信用SRC和随机读取信用RRC都可以被初始化,无论在时间点T1和T2中的每个时间点剩余多少顺序读取信用SRC和随机读取信用RRC。
在读取信用初始化时段RCIP期间,子控制器F1至Fn中的每个子控制器可以处理其自己的读取命令,直到指派给其的顺序读取信用SRC和随机读取信用RRC中的至少一者被耗尽。当指派给其的顺序读取信用SRC和随机读取信用RRC中的至少一者在读取信用初始化时段RCIP期间被耗尽时,子控制器F1至Fn中的每个子控制器可能不处理其自己的读取命令直到顺序读取信用SRC和随机读取信用RRC被初始化。
因此,根据实施例,与指派给一个或多个子控制器F1至Fn中的每个子控制器的存储器区域的大小相对应的顺序读取信用SRC和随机读取信用RRC可以在每次读取信用初始化时段RCIP时被指派给它们,可以保证读取操作的最大性能。此外,根据实施例,即使当存储器***100的资源不足时,也可以防止仅特定子控制器集中进行操作而其余子控制器空闲而不执行任何操作的情况。
图5至图7是图示了根据实施例的性能管理器111初始化顺序写入信用SWC和随机写入信用RWC的方案的示图。
参见图5至图7,基于第一写入信用初始化时段WCIP1和第二写入信用初始化时段WCIP2,性能管理器111可以对所有一个或多个子控制器F1至Fn的顺序写入信用SWC和随机写入信用RWC执行初始化操作。初始化操作可以包括初始化所有一个或多个子控制器F1至Fn的顺序写入信用SWC和随机写入信用RWC。具体地,当从先前的初始化经过第一写入信用初始化时段WCIP1时并且当没有未决写入操作或者经过第二写入信用初始化时段WCIP2时,所有一个或多个子控制器F1至Fn的顺序写入信用SWC和随机写入信用RWC可以被初始化。
例如,参见图5,在从先前初始化顺序写入信用SWC和随机写入信用RWC的时间点T10经过第一写入信用初始化时段WCIP1的时间点T11处没有未决写入命令,并且因此顺序写入信用SWC和随机写入信用RWC可以在时间点T11处被初始化。
例如,参见图6,在从先前初始化顺序写入信用SWC和随机写入信用RWC的时间点T20经过第一写入信用初始化时段WCIP1的时间点T21处有未决写入命令,并且因此顺序写入信用SWC和随机写入信用RWC可能在时间点T21处未被初始化。此外,顺序写入信用SWC和随机写入信用RWC可以在从时间点T20经过第二写入信用初始化时段WCIP2的时间点T23之前没有未决写入命令的时间点T22处被初始化。
例如,参见图7,在从先前初始化顺序写入信用SWC和随机写入信用RWC的时间点T30经过第一写入信用初始化时段WCIP1的时间点T31处有未决写入命令,并且因此顺序写入信用SWC和随机写入信用RWC可能在时间点T31处未被初始化。此外,即使在从先前初始化顺序写入信用SWC和随机写入信用RWC的时间点T30经过第二写入信用初始化时段WCIP2的时间点T32处有未决写入命令时,顺序写入信用SWC和随机写入信用RWC也可以被初始化。
因此,根据实施例,即使当存储器***100的整体性能随着时间的流逝变得逐渐退化时,子控制器F1至Fn的写入性能的比率也可以保持相同。此外,根据实施例,即使当存储器***100的资源不足时,也可以防止仅特定子控制器集中进行操作而其余子控制器空闲而不执行任何操作的情况。
图8是图示了根据实施例的性能管理器111计算要分配给相应的子控制器F1至Fn的信用集的方案的流程图。
参见图8,在步骤S110中,性能管理器111可以根据主机设备10的设置来激活多个子控制器F1至Fn。
在步骤S120中,根据主机设备10的设置,性能管理器111可以将存储器区域M1至Mn分别分配给多个子控制器Fl至Fn,存储器区域M1至Mn被包括在非易失性存储器设备120中。
在步骤S130中,性能管理器111可以基于最大性能值MPV和存储器区域M1至Mn的大小比来确定要分别分配给多个子控制器F1至Fn的信用集。
图9是图示了根据实施例的性能管理器111初始化顺序写入信用SWC和随机写入信用RWC的操作的流程图。
参见图9,在步骤S210中,性能管理器111可以在启动操作中初始化所有的一个或多个子控制器F1至Fn的顺序写入信用SWC和随机写入信用RWC。
在步骤S220中,性能管理器111可以确定从先前初始化顺序写入信用SWC和随机写入信用RWC的时间点是否经过第一写入信用初始化时段WCIP1。当确定从该时间点没有经过第一写入信用初始化时段WCIP1时,过程可以重复步骤S220。当确定从该时间点经过第一写入信用初始化时段WCIP1时,过程可以进行到步骤S230。
在步骤S230中,对于所有的一个或多个子控制器F1至Fn,性能管理器111可以确定是否没有未决写入命令或者从先前初始化顺序写入信用SWC和随机写入信用RWC的时间点经过第二写入信用初始化时段WCIP2。当确定存在未决写入命令并且确定从该时间点没有经过第二写入信用初始化时段WCIP2时,过程可以重复步骤S230。当确定未决写入命令不存在或者确定从该时间点经过第二写入信用初始化时段WCIP2时,过程可以进行到步骤S240。
在步骤S240中,对于所有的一个或多个子控制器F1至Fn,性能管理器111可以初始化顺序写入信用SWC和随机写入信用RWC。在此之后,流程可以继续回到步骤S220。
图10是图示了根据实施例的初始化顺序读取信用SRC和随机读取信用RRC的操作的流程图。
参见图10,在步骤S310中,性能管理器111可以在启动操作中初始化所有的一个或多个子控制器F1至Fn的顺序读取信用SRC和随机读取信用RRC。
在步骤S320中,性能管理器111可以确定从先前初始化顺序读取信用SRC和随机读取信用RRC的时间点是否经过读取信用初始化时段RCIP。当确定从该时间点没有经过读取信用初始化时段RCIP时,过程可以重复步骤S320。当确定从该时间点经过读取信用初始化时段RCIP时,过程可以进行到步骤S330。
在步骤S330中,对于所有的一个或多个子控制器F1至Fn,性能管理器111可以初始化顺序读取信用SRC和随机读取信用RRC。在此之后,流程可以继续回到步骤S320。
图11是图示了根据实施例的性能管理器111针对每个子控制器而利用顺序读取信用SRC和随机读取信用RRC的操作的流程图。性能管理器111可以对子控制器F1至Fn中的每个子控制器执行图11中所图示的操作。
参见图11,在步骤S410中,性能管理器111可以确定是否有针对子控制器F1至Fn中的被选择的一个子控制器的未决读取命令。当确定不存在未决读取命令时,该过程可以重复步骤S410。当确定存在未决读取命令时,过程可以进行到步骤S420。
在步骤S420中,性能管理器111可以确定被选择的子控制器的所有顺序读取信用SRC和随机读取信用RRC是否都大于零(0)。当确定顺序读取信用SRC和随机读取信用RRC中的至少一者不大于零(0)时,过程可以重复步骤S420。当确定被选择的子控制器的所有顺序读取信用SRC和随机读取信用RRC都大于零(0)时,过程可以进行到步骤S430。当重复步骤S420时,随着顺序读取信用SRC和随机读取信用RRC被初始化,过程可以进行到步骤S430。
在步骤S430中,性能管理器111可以控制被选择的子控制器处理读取命令。
在步骤S440中,性能管理器111可以将被选择的子控制器的顺序读取信用SRC和随机读取信用RRC减少相应的调整量。在此之后,流程可以继续回到步骤S410。
在一个实施例中,步骤S440可以在步骤S430之前执行。
性能管理器111可以对子控制器F1至Fn中的特定一个子控制器执行图11中所图示的操作。在一个实施例中,性能管理器111可以顺序地对所有的一个或多个子控制器F1至Fn执行图11中所图示的操作。在一个实施例中,性能管理器111可以同时对所有的一个或多个子控制器F1至Fn执行图11中所图示的操作。本文中关于过程所使用的词语“同时”和“同时地”意指过程在重叠的时间间隔内发生。例如,如果第一过程在第一时间间隔内发生并且第二过程在第二时间间隔内同时发生,那么第一和第二时间间隔至少部分地彼此重叠,使得存在第一和第二过程都在发生的时间处。
图12是图示了根据实施例的性能管理器111针对每个子控制器而利用顺序写入信用SWC和随机写入信用RWC的操作的流程图。性能管理器111可以对子控制器F1至Fn中的每个子控制器执行图12中所图示的操作。
参见图12,步骤S510至S540可以类似于图11的步骤S410至S440。也就是说,与图11的描述类似,顺序写入信用SWC和随机写入信用RWC可以随着写入命令被处理而减少。
根据实施例,存储器***及其操作方法可以支持子控制器,该子控制器被配置为始终提供最大读取性能并且被配置为稳定地提供相同比率的写入性能。
图13是图示了根据实施例的包括固态驱动器(SSD)1200的数据处理***1000的示图。参见图13,数据处理***1000可以包括主机设备1100和SSD 1200。
SSD 1200可以包括控制器1210、缓冲存储器设备1220、多个非易失性存储器设备1231至123n、电源1240、信号连接器1250和功率连接器1260。
控制器1210可以控制SSD 1200的一般操作。控制器1210可以包括图1中所示的控制器110。
控制器1210可以包括主机接口单元1211、控制单元1212、随机存取存储器1213、纠错码(ECC)单元1214和存储器接口单元1215。
主机接口单元1211可以通过信号连接器1250来与主机设备1100交换信号SGL。信号SGL可以包括命令、地址、数据等。主机接口单元1211可以根据主机设备1100的协议来与主机设备1100和SSD 1200接口连接。例如,主机接口单元1211可以通过标准接口协议中的任何一者来与主机设备1100通信,标准接口协议诸如为安全数字、通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、个人计算机存储卡国际协会(PCMCIA)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机***接口(SCSI)、串行附接SCSI(SAS)、***组件互连(PCI)、快速PCI(PCI-E)和通用闪存(UFS)。
控制单元1212可以分析和处理从主机设备1100接收的信号SGL。控制单元1212可以根据用于驱动SSD 1200的固件或软件来控制内部功能块的操作。控制单元1212可以包括图1中所示的性能管理器111。随机存取存储器1213可以被用作用于驱动这种固件或软件的工作存储器。
ECC单元1214可以生成要被传输到非易失性存储器设备1231至123n中的至少一个非易失性存储器设备的数据的奇偶校验数据。所生成的奇偶校验数据可以与数据一起被存储在非易失性存储器设备1231至123n中。ECC单元1214可以基于奇偶校验数据来检测从非易失性存储器设备1231至123n中的至少一个非易失性存储器设备中读取的数据的错误。如果检测到的错误在可校正范围内,则ECC单元1214可以校正检测到的错误。
存储器接口单元1215可以根据控制单元1212的控制向非易失性存储器设备1231至123n中的至少一个非易失性存储器设备提供诸如命令和地址之类的控制信号。此外,存储器接口单元1215可以根据控制单元1212的控制来与非易失性存储器设备1231至123n中的至少一个非易失性存储器设备交换数据。例如,存储器接口单元1215可以将在缓冲存储器设备1220中存储的数据提供给非易失性存储器设备1231至123n中的至少一个非易失性存储器设备,或者将从非易失性存储器设备1231至123n中的至少一个非易失性存储器设备中读取的数据提供给缓冲存储器设备1220。
缓冲存储器设备1220可以存储要被存储在非易失性存储器设备1231至123n中的至少一个非易失性存储器设备中的数据。此外,缓冲存储器设备1220可以存储从非易失性存储器设备1231至123n中的至少一个非易失性存储器设备中读取的数据。在缓冲存储器设备1220中存储的数据可以根据控制器1210的控制而被传输到主机设备1100或非易失性存储器设备1231至123n中的至少一个非易失性存储器设备。
非易失性存储器设备1231至123n可以被用作SSD 1200的存储介质。非易失性存储器设备1231至123n可以分别通过多个通道CH1至CHn来与控制器1210耦合。一个或多个非易失性存储器设备可以耦合到一个通道。耦合到每个通道的非易失性存储器设备可以耦合到相同的信号总线和数据总线。
电源1240可以将通过功率连接器1260输入的功率PWR提供给SSD 1200的内部。电源1240可以包括辅助电源1241。辅助电源1241可以提供功率以允许SSD 1200在发生突然断电时正常地终止。辅助电源1241可以包括大容量电容器。
取决于主机设备1100和SSD 1200之间的接口方案,信号连接器1250可以由各种类型的连接器来配置。
取决于主机设备1100的供电方案,功率连接器1260可以由各种类型的连接器来配置。
图14是图示了根据实施例的包括存储器***4200的网络***4000的示图。参见图14,网络***4000可以包括服务器***4300和通过网络4500耦合的多个客户端***4410至4430。
服务器***4300可以响应于来自多个客户端***4410至4430的请求来服务数据。例如,服务器***4300可以存储从多个客户端***4410至4430提供的数据。又例如,服务器***4300可以向多个客户端***4410至4430提供数据。
服务器***4300可以包括主机设备4100和存储器***4200。存储器***4200可以由图1中所示的存储器***100或图13中所示的SSD 1200来配置。
虽然上面已经描述了某些实施例,但是本领域技术人员将理解,所描述的实施例仅作为示例。因此,存储器***及其操作方法不应基于所描述的实施例来限制。相反,本文所描述的存储器***及其操作方法应当仅根据所附权利要求结合以上描述和附图来限制。

Claims (20)

1.一种存储器***,包括:
非易失性存储器设备;以及
性能管理器,所述性能管理器被配置为:
根据主机设备的设置来激活多个子控制器,
将存储器区域分别分配给所述多个子控制器,其中所述存储器区域被包括在所述非易失性存储器设备中,以及
根据最大性能值和所述存储器区域的大小比,确定要分别分配给所述多个子控制器的信用集。
2.根据权利要求1所述的存储器***,其中所述性能管理器被配置为:
根据所述大小比来划分所述最大性能值中的每个最大性能值,
将经划分的值转换为相应的信用,以及
将经转换的信用分别分配给所述多个子控制器。
3.根据权利要求1所述的存储器***,其中:
所述最大性能值包括最大顺序写入速度、最大随机写入速度、最大顺序读取速度和最大随机读取速度,以及
所述信用集中的每个信用集包括顺序写入信用、随机写入信用、顺序读取信用和随机读取信用。
4.根据权利要求3所述的存储器***,其中所述性能管理器被配置为:当从完成第一初始化操作经过第一写入信用初始化时段时,并且当没有任何未决写入命令或经过第二写入信用初始化时段时,对所述顺序写入信用和所述随机写入信用执行第二初始化操作。
5.根据权利要求3所述的存储器***,其中所述性能管理器被配置为:当从完成第一初始化操作经过读取信用初始化时段时,对所述顺序读取信用和所述随机读取信用执行第二初始化操作。
6.根据权利要求1所述的存储器***,其中所述性能管理器被配置为:
当所述多个子控制器之中的第一子控制器的顺序操作信用大于零并且所述第一子控制器的随机操作信用大于零时,控制所述第一子控制器处理操作命令,以及
减少所述第一子控制器的所述顺序操作信用和所述随机操作信用。
7.根据权利要求6所述的存储器***,其中:
当所述操作命令是读取命令时,所述顺序操作信用和所述随机操作信用分别是顺序读取信用和随机读取信用,并且
当所述操作命令是写入命令时,所述顺序操作信用和所述随机操作信用分别是顺序写入信用和随机写入信用。
8.根据权利要求6所述的存储器***,其中所述性能管理器被配置为:当所述第一子控制器的所述顺序操作信用和所述随机操作信用中的至少一者小于或等于零时,控制所述第一子控制器在所述第一子控制器的所述顺序操作信用和所述随机操作信用被初始化之后处理所述操作命令。
9.根据权利要求6所述的存储器***,其中所述性能管理器被配置为:
基于根据所述操作命令所处理的数据的量来计算调整量,以及
将所述顺序操作信用减少所述调整量。
10.根据权利要求6所述的存储器***,其中:
所述性能管理器被配置为将所述随机操作信用减少调整量,以及
所述调整量与根据所述操作命令所处理的数据的量无关。
11.一种存储器***的操作方法,所述操作方法包括:
根据主机设备的设置来激活多个子控制器;
将存储器区域分别分配给所述多个子控制器;以及
根据最大性能值和所述存储器区域的大小比,确定要分别分配给所述多个子控制器的信用集。
12.根据权利要求11所述的操作方法,其中所述确定所述信用集包括:
根据所述大小比来划分所述最大性能值中的每个最大性能值;以及
将经划分的值转换为要分别分配给所述多个子控制器的相应的信用。
13.根据权利要求11所述的操作方法,其中:
所述最大性能值包括最大顺序写入速度、最大随机写入速度、最大顺序读取速度和最大随机读取速度,以及
所述信用集中的每个信用集包括顺序写入信用、随机写入信用、顺序读取信用和随机读取信用。
14.根据权利要求13所述的操作方法,还包括:当从完成第一初始化操作经过第一写入信用初始化时段时,并且当没有任何未决写入命令或经过第二写入信用初始化时段时,对所述顺序写入信用和所述随机写入信用执行第二初始化操作。
15.根据权利要求13所述的操作方法,还包括:当从完成第一初始化操作经过读取信用初始化时段时,对所述顺序读取信用和所述随机读取信用执行第二初始化操作。
16.根据权利要求11所述的操作方法,还包括:
当所述多个子控制器之中的第一子控制器的顺序操作信用大于零并且所述第一子控制器的随机操作信用大于零时,控制所述第一子控制器处理操作命令;以及
减少所述第一子控制器的所述顺序操作信用和所述随机操作信用。
17.根据权利要求16所述的操作方法,其中所述减少所述顺序操作信用包括:
基于根据所述操作命令所处理的数据的量来计算调整量;以及
将所述顺序操作信用减少所述调整量。
18.根据权利要求16所述的操作方法,其中:
所述减少所述随机操作信用包括:将所述随机操作信用减少调整量,以及
所述调整量与根据所述操作命令所处理的数据的量无关。
19.一种存储器***的操作方法,所述操作方法包括:
接收针对多个子控制器之中的第一子控制器的操作命令;
当所述第一子控制器的顺序操作信用大于零并且所述第一子控制器的随机操作信用大于零时,控制所述第一子控制器处理所述操作命令;以及
减少所述第一子控制器的所述顺序操作信用和所述随机操作信用。
20.根据权利要求19所述的操作方法,还包括:
将存储器区域分别分配给所述多个子控制器;
将通过按照所述存储器区域的大小比来划分最大顺序操作速度而获得的值转换为顺序操作信用,并且将通过按照所述大小比来划分最大随机操作速度而获得的值转换为随机操作信用;以及
将所述顺序操作信用分别分配给所述多个子控制器,并且将所述随机操作信用分别分配给所述多个子控制器。
CN202310388198.4A 2022-05-03 2023-04-12 存储器***和存储器***的操作方法 Pending CN117008822A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220054640A KR20230155145A (ko) 2022-05-03 2022-05-03 메모리 시스템 및 그것의 동작 방법
KR10-2022-0054640 2022-05-03

Publications (1)

Publication Number Publication Date
CN117008822A true CN117008822A (zh) 2023-11-07

Family

ID=88414294

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310388198.4A Pending CN117008822A (zh) 2022-05-03 2023-04-12 存储器***和存储器***的操作方法

Country Status (5)

Country Link
US (1) US20230359393A1 (zh)
KR (1) KR20230155145A (zh)
CN (1) CN117008822A (zh)
DE (1) DE102023109798A1 (zh)
TW (1) TW202349217A (zh)

Also Published As

Publication number Publication date
TW202349217A (zh) 2023-12-16
US20230359393A1 (en) 2023-11-09
KR20230155145A (ko) 2023-11-10
DE102023109798A1 (de) 2023-11-09

Similar Documents

Publication Publication Date Title
CN106681931B (zh) 数据储存设备及其操作方法
US11086772B2 (en) Memory system performing garbage collection operation and operating method of memory system
US20200117559A1 (en) Data storage device and operating method thereof
US20190265907A1 (en) Electronic device and operating method thereof
US20190354483A1 (en) Controller and memory system including the same
KR20220048569A (ko) 메모리 시스템에서 저장 공간을 제어하는 장치 및 방법
US20190220220A1 (en) Data storage device, operating method thereof and nonvolatile memory device
KR102381233B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
CN110389907B (zh) 电子装置
US11036493B2 (en) Memory system and operating method thereof
US20200150898A1 (en) Memory system and operating method thereof
KR20190128498A (ko) 메모리 시스템, 그것의 동작 방법 및 전자 장치
US20230384977A1 (en) Memory system for controlling operating speed and data processing system including the same
US20190278703A1 (en) Memory system, operating method thereof and electronic device
US11720276B2 (en) Memory system and controller for managing write status
US20150169235A1 (en) Data storage device and operating method thereof
CN112698784B (zh) 存储器***
US20230359393A1 (en) Memory system and operating method of the memory system
US10929055B2 (en) Memory system and operating method thereof
US20210263670A1 (en) Memory system
CN110442302B (zh) 存储器***及用于操作存储器***的方法
CN109933282B (zh) 存储器***及其操作方法
KR20220032816A (ko) 메모리 시스템에서 데이터 통신을 보정하는 장치 및 방법
US20220188008A1 (en) Data storage apparatus and operation method thereof
US20210223956A1 (en) Memory system and data processing system including the same

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