CN110968533A - 存储器设备和用于存储器设备之间直接通信的存储器系统 - Google Patents

存储器设备和用于存储器设备之间直接通信的存储器系统 Download PDF

Info

Publication number
CN110968533A
CN110968533A CN201910706837.0A CN201910706837A CN110968533A CN 110968533 A CN110968533 A CN 110968533A CN 201910706837 A CN201910706837 A CN 201910706837A CN 110968533 A CN110968533 A CN 110968533A
Authority
CN
China
Prior art keywords
memory
channel
memory device
processor
host device
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
CN201910706837.0A
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.)
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
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN110968533A publication Critical patent/CN110968533A/zh
Pending legal-status Critical Current

Links

Images

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/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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • 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/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • 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/0637Permissions
    • 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/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/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • 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/0253Garbage collection, i.e. reclamation of unreferenced memory
    • 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/1052Security improvement
    • 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/7205Cleaning, compaction, garbage collection, erase control

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)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

提供了一种存储器设备和存储器系统。连接到通道的存储器设备包括:存储器单元阵列;以及控制通道的操作权限的存储器权限控制单元,其中,当存储器权限控制单元具有通道的操作权限时,存储器设备控制连接到通道的其他存储器设备的数据流。

Description

存储器设备和用于存储器设备之间直接通信的存储器系统
相关申请的相交引用
本申请要求于2018年9月28日在韩国知识产权局提交的韩国专利申请No.10-2018-0116119的权益,该申请的公开内容通过引用全部并入本文中。
技术领域
本公开涉及一种存储器设备以及用于存储器设备直接通信的存储器系统。
背景技术
存储器系统可以包括例如存储器设备、通道和/或主机设备。存储器设备可以经由通道连接到主机设备。
在存储器系统中,主机设备可以完全控制存储器设备。亦即,存储器设备可以完全操作为主机设备的从设备。
存储器设备还可以包括附加处理单元,例如存储器处理器(存储器内置处理器(PIM))。存储器处理器可以处理包括存储器处理器的存储器设备中的数据。
亦即,如果存储器设备包括存储器处理器,则存储器设备中的数据可以由主机设备来处理或者由存储器设备中的存储器处理器来处理。
另一方面,当存储器设备的存储器处理器处理一系列指令时,可能不仅需要包括存储器处理器的存储器设备中的数据,而且还需要连接到通道的其他存储器设备的数据。此时,由于存储器设备完全操作为主机设备的从设备,因此存储器处理器可以向主机设备请求其他存储器设备的数据。换言之,如果存在存储器设备之间的数据移动请求,则可以依赖主机设备的干预。
当频繁发生存储器设备之间的数据移动请求时,可能会逐渐加大主机设备的负担。这样,当主机设备占用存储器系统的通道以控制连接到通道的所有存储器设备的数据流时,可能导致主机设备的负担。主机设备的负担可能会妨碍存储器系统的操作效率。
发明内容
本公开的示例实施例提供了一种提高了存储器系统的操作效率的存储器系统和存储器设备。
然而,本公开的示例实施例不限于本文所阐述的示例实施例。通过参考下面给出的本公开的详细描述,本公开的上述和其他示例性实施例对于本公开所属领域的普通技术人员而言将变得更加显而易见。
根据本公开的一些示例实施例,提供了一种连接到通道的存储器设备,包括:存储器单元阵列;具有存储器权限控制单元的存储器处理器,所述存储器处理器被配置为控制所述通道的操作权限,其中,所述存储器处理器被配置为:当所述存储器权限控制单元具有所述通道的操作权限时控制连接到所述通道的其他存储器设备的数据流。
根据本公开的一些示例实施例,提供了一种存储器系统,包括:主机设备,所述主机设备连接到通道并且包括具有主机权限控制单元的核心处理器,所述核心处理器被配置为控制所述通道的操作权限,其中,所述核心处理器被配置为:当所述主机权限控制单元不具有所述通道的操作权限时,阻止从所述主机设备到所述通道的数据流。
根据本公开的一些示例实施例,提供了一种存储器系统,包括:主机设备,连接到第一通道和与所述第一通道不同的第二通道中的每个通道,并且包括具有主机权限控制单元的核心处理器,所述核心处理器被配置为控制所述第一通道和所述第二通道的操作权限;连接到所述第一通道的第一存储器设备和第二存储器设备;连接到所述第二通道的第三存储器设备,其中,所述主机权限控制单元被配置为将所述第一通道的操作权限授予所述第一存储器设备,并且所述第一存储器设备包括被配置为直接向所述第二存储器设备请求数据的存储器处理器,并且所述主机权限控制单元还被配置为不将所述第二通道的操作权限授予所述第三存储器设备。
附图说明
通过参考附图详细描述本公开的示例实施例,本公开的上述和其它方面和特征将变得更清楚,在附图中:
图1是根据本申请的一些示例实施例的存储器系统的框图;
图2是根据本申请的一些示例实施例的存储器设备的框图;
图3是示出了根据本申请的一些示例实施例的存储器设备和主机设备的操作的流程图;
图4是示出了图3的操作S110至S150的图;
图5是示出了图3的操作S160和S170的图;
图6是根据本申请的一些示例实施例的包括具有输入输出端口的存储器设备的存储器系统的框图;
图7是示出了根据本申请的一些示例实施例的由存储器系统执行的垃圾收集操作的图;
图8是示出了根据本申请的一些示例实施例的用于执行垃圾收集操作的指令的图;
图9是示出了根据本申请的一些示例实施例的由存储器系统执行的垃圾收集操作的图;
图10和图11是示出了根据本申请的一些示例实施例的存储器系统的效果的图;
图12是示出了根据本申请的一些示例实施例的由存储器系统执行的耗损均衡操作的图;
图13A-图13C是示出了本申请的一些示例实施例中的存储器系统的效果的图;
图14是根据本申请的一些示例实施例的存储器系统的框图,在该存储器系统中存储器设备的存储器处理器利用主机设备的存储器控制器;
图15是示出了根据本申请的一些示例实施例的存储器系统中的存储器设备和主机设备的操作的流程图;
图16是示出了图15的操作S252至S256的图;以及
图17是根据本申请的一些示例实施例的具有两个通道的存储器系统的框图。
具体实施方式
通过参考以下示例实施例的描述和附图可以更容易地理解本公开的优点和特征以及实现它们的方法。然而,本公开可以以许多不同的形式来体现,并且不应被解释为受限于本文所阐述的示例实施例。更确切地说,提供这些示例实施例使得本公开将全面和完整,并且将本公开的构思充分传达给本领域技术人员,并且本公开仅由所附权利要求来限定。在附图中,为了清楚说明,可以夸大附图中所示的组成部分的尺寸和相对尺寸。在整个说明书中,相同的附图标记表示相同的组成元件,并且术语“和/或”包括所提及的每个项目和一个或多个组合。
本说明书中使用的术语是为了说明示例实施例的目的,而不是限制本公开。如本文所用,除非特别说明,否则单数形式还包括复数形式。除了所引用的组成元件之外,本说明书中使用的术语“包括”和/或“包含”不排除一个或多个其他组成元件的存在或添加。
尽管术语“第一”、“第二”等用于描述各种元件或组成元件,但是这些元件或组成元件不受这些术语的限制。这些术语仅用于将一个组成元件与其他组成元件区分开。因此,当然,下面描述的第一元件或组成元件可以是本公开的技术构思内的第二元件或组成元件。
除非另外定义,可以按照本公开所属技术领域的普通技术人员可以共同理解的含义使用否则本说明书中使用的所有术语(包括技术术语和科学术语)。此外,除非另有明确定义,否则不会观念上地或不适当地解释由字典定义的常用术语。
图1是根据本申请的一些示例实施例的存储器系统的框图。
根据本申请的一些示例实施例的存储器系统可以包括第一存储器设备100、第二存储器设备200、第三存储器设备300、主机设备400和/或通道500。
第一存储器设备至第三存储器设备100、200和300中的每个可以包括第一存储器权限控制单元至第三存储器权限控制单元102、202和302、第一存储器处理器至第三存储器处理器104、204和206和/或第一存储器单元阵列至第三存储器单元阵列106、206和306。第一存储器设备至第三存储器设备100、200和300中的每个可以通过通道500连接到主机设备400。在一些示例实施例中,存储器设备100、200和/或300可以实现为易失性存储器设备或非易失性存储器设备。在一些示例实施例中,存储器设备100、200和/或300可以被配置为存储类存储器设备。
在一些示例实施例中,存储器权限控制单元102、202和/或302可以专门具有通道500的操作权限。例如,当第一存储器权限控制单元102具有通道500的操作权限时,连接到通道500的第二存储器设备200和/或第三存储器设备300和/或主机设备400可能不具有通道500的操作权限。
存储器权限控制单元102、202和/或302可以是相应存储器设备100、200和/或300中的单独配置。例如,第一存储器权限控制单元102可以实现为存储器设备100中的单独的IC芯片。
在一些示例实施例中,存储器权限控制单元102、202和/或302可以是包括在存储器处理器104、204和/或304中的配置。例如,第一存储器权限控制单元102可以实现为第一存储器处理器104中的单独的IC芯片。
在一些示例实施例中,存储器权限控制单元102、202和/或302可以包括在相应的存储器处理器104、204和/或304中。例如,第一存储器权限控制单元102可以实现为在第一存储器处理器104上执行的软件。
在一些示例实施例中,所有存储器设备100、200和/或300不需要在存储器系统中包括存储器权限控制单元。亦即,例如,可以仅第一存储器设备100包括第一存储器权限控制单元100,并且第二存储器设备200和/或第三存储器设备300可以不包括存储器权限控制单元202和/或302。然而,示例实施例不限于此。
在一些示例实施例中,第一存储器处理器104可以执行用于连接到存储器设备100和/或通道500的第二存储器设备200和/或第三存储器设备300的一系列指令。第一存储器处理器104可以执行用于控制第二存储器设备200和/或第三存储器设备300的数据流的控制指令。在一些示例实施例中,用于控制第二存储器设备200和/或第三存储器设备300的数据流的控制指令可以包括读取、写入和/或擦除第二存储器设备200和/或第三存储器设备300的第二存储器单元阵列206和/或第三存储器单元阵列306的数据。
在一些示例实施例中,第二存储器处理器204和/或第三存储器处理器304可以与第一存储器处理器104执行相同的功能。然而,第二存储器处理器204和/或第三存储器处理器304并不总是需要与第一存储器处理器104执行相同的功能。
存储器处理器104、204和/或304可以实现为存储器设备100、200和/或300中的单独配置。在一些示例实施例中,存储器处理器104、204和/或304可以实现为存储器设备100、200和/或300中的单独的IC芯片。
在一些示例实施例中,存储器系统中的一些存储器设备可以不包括存储器处理器。亦即,例如,可以仅第一存储器设备100包括第一存储器处理器104,并且第二存储器设备200和/或第三存储器设备300可以不包括存储器处理器。然而,示例实施例不限于此。
存储器设备100、200和/或300的存储器单元阵列106、206和/或306可以包括存储数据的多个存储器单元。在一些示例实施例中,应用存储器单元阵列106、206和/或306中的读取、写入和/或擦除操作的存储器单元的范围可以变化。在一些示例实施例中,存储器单元阵列106、206和/或306可以包括包含多个存储器单元的块。每个块可以包括包含多个存储器单元的页面。此时,可以以页面为单位读取和/或写入数据,并且可以以块为单位擦除数据。
第一存储器设备100的第一存储器处理器104可以包括例如包括第一存储器单元阵列至第三存储器单元阵列106206和/或306。中至少一个数据地址的存储器地址表。当通过由第一存储器处理器104执行一系列指令改变第一存储器单元阵列至第三存储器单元阵列106、206和/或306的数据地址时,第一存储器处理器104可以更新存储器地址表。
存储器地址表可以在存储器处理器104中实现为单独配置。例如,存储器地址表可以实现为存储器处理器104中的单独的IC芯片。存储器地址表可以实现为存储器处理器104的一部分。例如,存储器地址表可以实现为在存储器处理器104上运行的软件。
主机设备400包括主机权限控制单元(所有权控制器:OC)402、通道锁定单元404、存储器控制器406、核心处理器(CPU)408、高速缓存410和转换后备缓冲器(TLB)412。
主机权限控制单元402可以具有通道500的操作权限。如果主机权限控制单元402具有通道500的操作权限,则连接到通道102、202和303的存储器设备100、200和300的第一存储器权限控制单元到第三存储器权限控制单元100、200和300可以没有通道的操作权限。
在一些示例实施例中,主机权限控制单元402可以被配置为主机设备400中的单独单元。例如,主机权限控制单元402可以包括单独的IC芯片。在一些示例实施例中,主机权限控制单元402可以是包括在存储器控制器406中的单独配置。例如,主机权限控制单元402可以由存储器控制器406内的单独的IC芯片配置。在一些示例实施例中,主机权限控制单元402可以包括在存储器控制器406中。例如,主机权限控制单元402可以实现为在存储器控制器406上运行的软件。
主机设备400的通道锁定单元404可以设置用于阻止从主机设备400到通道500的数据流的锁定。通道锁定单元404可以在核心处理器408和存储器控制器406之间设置锁定,以阻止从主机设备400的核心处理器408到存储器控制器406的数据请求或一系列指令。
在一些示例实施例中,通道锁定单元404可以使用信号量来设置锁定。在一些示例实施例中,通道锁定单元404可以被配置为主机设备400中的单独的单元。例如,通道锁定单元404可以被配置为单独的IC芯片。在一些示例实施例中,通道锁定单元404可以是包括在存储器控制器406中的单独配置。例如,通道锁定单元404可以构成为存储器控制器406内的单独的IC芯片。在一些示例实施例中,通道锁定单元404可以包括在存储器控制器406中。例如,通道锁定单元404可以实现为在存储器控制器406上运行的软件。
主机设备400的存储器控制器406可以控制连接到通道500的存储器设备100、200和/或300的数据流。当主机设备400不具有通道500的操作权限时,存储器控制器406可以不控制连接到通道500的存储器设备100、200和/或300的数据流。主机设备400的存储器控制器406可以构成为主机设备400中的单独的单元。例如,存储器控制器406可以构成为单独的IC芯片。
主机设备400的核心处理器408可以执行连接到通道500的存储器设备100、200和/或300的一系列指令。核心处理器408可以向存储器设备100、200和/或300的存储器处理器104、204和/或304发送连接到通道500的存储器设备100、200和/或300的一系列指令。当通过主机设备400的通道锁定单元404设置锁定时,核心处理器408可以处理除了执行连接到通道500的存储器设备100、200和/或300的一系列指令之外的任务。例如,当主机权限控制单元402具有通道500的操作权限时,核心处理器408可以直接执行用于连接到通道500的存储器设备100、200和/或300的一系列指令,并且可以向存储器设备100、200和/或300的存储器处理器104、204和/或304发送一系列指令。另外,当通过主机设备400的通道锁定单元404设置锁定时,核心处理器410可以用于处理其他任务。
主机设备400的高速缓存410可以存储被存储在连接到通道500的存储器设备100、200和/或300中的数据的一部分。可以向主机设备400的核心处理器408提供被存储在高速缓存410中的数据。当通过主机设备400的通道锁定单元404设置锁定时,可以清除高速缓存410。
主机设备400的转换后备缓冲器(TLB)412可以包括存储器地址表,该存储器地址表包括连接到该通道500的存储器设备100、200和/或300的存储器单元阵列106、206和/或306的数据地址。TLB 412可以将数据的虚拟存储器地址转换为数据的物理存储器地址。当主机设备400从连接到通道500的存储器设备100、200和/或300的存储器处理器104、204和/或304接收到更新后的存储器地址表时,TLB 412可以更新存储器地址表。
例如,在图1中,主机设备400的TLB 412可以包括存储器地址表,该存储器地址表包括第一存储器单元阵列至第三存储器单元阵列106、206和/或306的数据地址。此外,当主机设备400从第一存储器处理器104接收到更新后的存储器地址表时,TLB 412可以更新存储器地址表。
在下文中,将参考图1和图2更具体地描述存储器设备的存储器单元阵列。
图2是根据本申请的一些示例实施例的存储器设备的框图。
在图2中,第一存储器设备100的第一存储器单元阵列106可以包括包含第一页面至第三页面的第一块106a以及包含第四页面至第六页面的第二块106b。
参考图1和图2,第一存储器处理器104可以包括存储器地址表,该存储器地址表包括第一存储器设备至第三存储器设备100、200和300的第一存储器单元阵列至第三存储器单元阵列106、206和306中的至少一个数据地址。
在存储器单元阵列106或206中,被存储在页面中的“---”和“XXX”可以分别指示空白和垃圾。在存储器单元阵列106和206中,被存储在页面中的数据中的字母表(例如,“L”或“K”)可以指示特定数据。与第一存储器设备100类似,第二存储器单元阵列和/或第三存储器单元阵列206和306可以包括包含第一页面至第三页面的第一块以及包含第四页面至第六页面的第二块。
在下文中,将参考图3和图4描述存储器系统中的存储器设备和主机设备的操作。
图3是示出了根据本申请的一些示例实施例的存储器设备和主机设备的操作的流程图。图4是示出了图3的操作S110至S150的图。
参考图3,第一存储器处理器从主机设备接收一系列指令(S110)。具体地,例如,参考图4,存储器设备100的存储器处理器104可以从主机设备400的核心处理器408接收一系列指令(S110)。例如,存储器处理器104可以从核心处理器408接收以下一系列指令。
“指令:
1、读取第一存储器设备的第二页面;
2、写入第一存储器设备的第四页面;
3、读取第二存储器设备的第三页面;
4、写入第一存储器设备的第五页面;
5、擦除第一存储器设备的第一块;
6、擦除第二存储器设备的第一块...”。
接下来,参考图3,当存储器权限控制单元在一系列指令当中包括另一存储器设备的指令时,存储器权限控制单元可以向主机设备发送通道的操作权限请求信号(S120)。亦即,存储器权限控制单元可以确定存储器处理器接收的一系列指令中是否包括另一存储器设备的指令。另外,存储器权限控制单元可以基于上述确定向主机设备发送通道的操作权限请求信号。
具体地,参考图4,例如,存储器权限控制单元102可以确定从主机设备400的核心处理器408接收的一系列指令是否包括关于第二存储器设备200和/或第三存储器设备300的指令(例如,用于控制第二存储器设备200或第三存储器设备300的数据流的控制指令)。存储器权限控制单元102可以根据上述确定向主机设备400发送通道500的操作权限请求信号(S120)。例如,存储器权限控制单元102可以基于从主机设备400接收的一系列指令包括关于第二存储器设备200的指令(例如,“3、读取第二存储器设备的第三页面”或“6、擦除第二存储器设备的第一块”)的确定,向主机设备400发送通道500的操作权限请求信号。
接下来,参考图3,可以通过通道锁定单元在核心处理器和存储器控制器之间设置锁定(S130)。具体地,例如,参考图4,当主机设备400的主机权限控制单元402从存储器设备100的存储器权限控制单元102接收到通道500的操作权限请求信号时,主机设备400的通道锁定单元404可以设置用于阻止从主机设备400到通道500的数据流的锁定(S130)。在一些示例实施例中,主机设备400的通道锁定单元404可以设置主机设备400的核心处理器408与存储器控制器406之间的锁定。
接下来,参考图3,主机设备可以向第一存储器权限控制单元发送通道的操作权限(S140)。具体地,例如,参考图4,主机设备400的主机权限控制单元402可以向存储器设备100的存储器权限控制单元102发送通道500的操作权限(S140)。存储器权限控制单元102可以具有通道500的操作权限。
接下来,参考图3,可以在第一存储器处理器中执行一系列指令以更新存储器地址表(S150)。
具体地,例如,参考图4,存储器设备100的存储器处理器104可以执行从主机设备400接收的一系列指令(S150)。第一存储器处理器104可以执行关于连接到通道500的第二存储器设备200和/或第三存储器设备300的指令。
在一些示例实施例中,第一存储器处理器104可以执行用于控制连接到通道500的第二存储器设备200和/或第三存储器设备300的数据流的控制指令。此外,当通过执行一系列指令改变第一存储器设备至第三存储器设备100、200和300中的至少一个的数据地址时,第一存储器处理器104可以更新存储器地址表。
图4示出了在存储器处理器104执行从主机设备400接收的一系列指令之前,第一存储器单元阵列106和第二存储器单元阵列206以及包括在第一存储器处理器104中的存储器地址表的数据。当第一存储器处理器104执行指令“3、读取第二存储器设备的第三页面”和“4、写入第一存储器设备的第五页面”时,被存储在第二存储器单元阵列206的第三页面中的数据“K”的地址改变为第一存储器单元阵列106的第二页面。在下文中,将参考图5更详细地描述这种操作。
图5是示出了图3的操作S150至S170的图。图5示出了在存储器处理器104执行从主机设备400接收的一系列指令之后的第一存储器单元阵列106和第二存储器单元阵列206以及存储器地址表。例如,当在第一存储器处理器104中执行指令“3、读取第二存储器设备的第三页面”和“4、写λ第一存储器设备的第二页面”时,存储器处理器104将存储器地址表的“K”的地址从“第二存储器设备的第三页面”更新为“第一存储器设备的第五页面”。
再次参考图3,当完成存储器处理器中的一系列指令的执行时,可以将通道的操作权限从第一存储器权限控制单元返回到主机设备(S160)。具体地,例如,参考图5,第一存储器权限控制单元102确定第一存储器处理器104是否执行从主机设备400接收的所有一系列指令。第一存储器权限控制单元102可以根据上述确定向主机设备400发送通道500的操作权限。例如,存储器权限控制单元102可以基于确定执行从主机设备400接收的所有一系列指令,向主机设备400发送通道500的操作权限。
再次参考图3,主机设备可以释放通道锁定单元的锁定并更新存储器地址表(S170)。具体地,例如,参考图5,主机设备400的主机权限控制单元402可以从存储器设备100的存储器权限控制单元102接收通道500的操作权限。主机设备400的通道锁定单元404可以释放用于阻止从主机设备400到通道500的数据流的锁定。例如,主机设备400的通道锁定单元404可以释放主机设备400的核心处理器408与存储器控制器406之间的锁定。主机设备400的TLB 412可以从存储器设备100的存储器处理器104接收更新后的存储器地址表。主机设备400的TLB 412可以更新存储器地址表。
在下文中,将参照图6描述根据本申请的实施例的存储器系统。
图6是根据本申请的一些示例实施例的包括具有输入输出端口的存储器设备的存储器系统的框图。
在本申请的一些示例实施例中,通道500可以包括命令通道502、芯片选择通道504、地址通道506和/或数据通道508。命令通道502、芯片选择通道504、地址通道506和/或数据通道508中的每个可以是用于发送命令信息、地址信息、芯片选择信息或数据信息的通道。在一些示例实施例中,命令信息可以包括“读”、“写”或“擦除”。地址信息可以包括“块地址”或“页面地址”。芯片选择信息可以包括“用于指定存储器设备的信息”(例如,“第二存储器设备”)。数据信息可以包括被存储在存储器单元阵列106、206和/或306中的数据。例如,在指令“3、读取第二存储器设备的第三页面”中,命令信息、芯片选择信息、地址信息和数据信息可以分别是“读”、“第二存储器设备”“第三页面”和/或“K”。
在图6中,第一存储器设备100可以包括用于输入或输出命令信息、地址信息、芯片选择信息和/或数据信息的命令信息输入输出端口108a、芯片选择信息输入输出端口108b、地址信息输入输出端口108c和/或数据信息输入输出端口108d。存储器设备100的命令信息输入输出端口108a、芯片选择信息输入输出端口108b、地址信息输入输出端口108c和/或数据信息输入输出端口108d可以连接到命令通道502、芯片选择通道504、地址通道506和/或数据通道508。在一些示例实施例中,存储器设备100的命令信息输入输出端口108a、芯片选择信息输入输出端口108b、地址信息输入输出端口108c和/或数据信息输入输出端口108d可以由第一输入输出端口108构成。在一些示例实施例中,存储器设备100的命令信息输入输出端口108a、芯片选择信息输入输出端口108b、地址信息输入输出端口108c和/或数据信息输入输出端口108d中的每个可以由单独的输出端口构成。另外,第二存储器设备200和第三存储器设备300可以包括第二输入输出端口和第三输入输出端口108,其包括命令信息输入输出端口、芯片选择信息输入输出端口、地址信息输入输出端口和/或数据信息输入输出端口。
在图6的存储器系统中,主机设备400的主机权限控制单元402不具有通道500的操作权限,并且主机设备400的通道锁定单元404可以设置锁定。此外,第一存储器设备100的第一存储器权限控制单元102可以具有通道500的操作权限。存储器设备100可以控制连接到通道500的其他存储器设备(例如,第二存储器设备200和/或第三存储器设备300)的数据流。例如,第二存储器设备200的数据流可以包括从第一存储器设备100的第一输入输出端口108输出并且被输入到第二存储器设备200的第二输入输出端口208的命令信息、地址信息、芯片选择信息和/或数据信息。另外,第二存储器设备200的数据流可以包括从第二存储器设备200的第二输入输出端口208输出并且被输入到第一存储器设备100的第一输入输出端口108的数据信息。
在下文中,将参照图7至图9描述根据本申请的实施例在存储器系统中执行的垃圾收集操作。
图7是示出了根据本申请的一些示例实施例的由存储器系统执行的垃圾收集操作的图。具体地,图7示出了根据本申请的一些示例实施例的在执行垃圾收集之前的存储器系统。垃圾收集是一系列操作,其中当存储器单元阵列中的大多数特定块充满垃圾时,在将特定块中保留的数据移位到另一块之后,移除特定块。在根据一些示例实施例的存储器设备的存储器单元阵列中,可以以页面为单位读取或写入数据,并且可以以块为单位擦除数据。换言之,可以不以页面为单位擦除存储器单元阵列。因此,如果特定块的大多数页面充满垃圾,为了擦除垃圾,可能需要擦除整个特定块。在擦除特定块之前,需要将特定块中保留的一些页面的数据存储在另一块的页面上。
例如,在图7中,第一存储器设备100的第一存储器单元阵列106的第一块106a的第一页面P1和第三页面P3可能填充有垃圾“XXX”。第二存储器设备200的第二存储器单元阵列206的第一块206a的第一页面P1和第二页面P2可能填充有垃圾“XXX”。第三存储器设备300的第三存储器单元阵列306的第一块306a的第二页面P2和第三页面P3可能填充有垃圾“XXX”。为了擦除第一存储器单元阵列106的第一块106a、第二存储器单元阵列206的第一块206a和/或第三存储器单元阵列306的第一块306a,可能需要将块中保留的数据A、B和/或C移位到另一块。
图8是示出了根据本说明书的一些示例实施例的用于执行垃圾收集操作的指令的图。具体地,图8示出了根据本公开的一些示例实施例的用于执行垃圾收集的一系列指令。图8中所示的一系列指令如下。
“指令:
1、读取第一存储器设备第二页面
2、写入第一存储器设备第四页面
3、读取第二存储器设备第三页面
4、写入第一存储器设备第五页面
5、读取第三存储器设备第一页面
6、写入第一存储器设备第六页面
7、擦除第一存储器设备第一块
8、擦除第二存储器设备第一块
9、擦除第三存储器设备第一块”。
当在图7所示的存储器系统中执行图8中的指令时,第一存储器设备的第二页面P2的数据“A”可以被移位到第一存储器设备的第四页面P4,第二存储器设备的第三页面P3的数据“B”可以被移位到第一存储器设备的第五页面P5,并且第三存储器设备的第一页面P1的数据“C”可以被移位到第一存储器设备的第六页面P6。而且,可以擦除第一存储器设备的第一块106a、第二存储器设备的第一块206a和第三存储器设备的第一块306a。
图9是示出了根据本申请的一些示例实施例的由存储器系统执行的垃圾收集操作的图。具体地,图9示出了根据本申请的一些示例实施例的在执行垃圾收集之后的存储器系统。在图9的存储器系统中,第一存储器设备的第一块106a、第二存储器设备的第一块206a和第三存储器设备的第一块306a可以被擦除,并且可以用空白填充。
在下文中,将参考图8、图10和图11描述根据本申请的一些示例实施例的存储器系统的效果。
图10和图11是示出了根据本申请的一些示例实施例的存储器系统的效果的图。图10是示出了当在存储器系统中执行图8的一系列指令时要由主机设备和存储器设备中的每个执行的指令的图,在该存储器系统中不可以在存储器设备之间直接执行数据移动。图11是示出了当在根据本申请的一些示例实施例的存储器系统中执行垃圾收集时由主机设备和存储器设备中的每个执行的指令的图。在图10和图11中,圆圈号指示执行图8中所示的指令。此外,图的横轴表示顺序(时间),并且图的纵轴表示特定指令的执行主体是主机设备还是存储器设备。例如,图10中的“③”指示图7中所示的指令“3、读取第二MD第三页面”由主机设备执行。
具体地,图10的存储器系统可能无法直接执行存储器设备之间的数据移动。换言之,在图10的存储器系统中,在没有主机设备的干预的情况下,可能无法执行存储器设备之间的数据移动。例如,图8中所示的“1、读取第一存储器设备第二页面”或“2、写入第一存储器设备第四页面”可以由第一存储器设备的第一存储器处理器执行。然而,图8中所示的“3、读取第二存储器设备第三页面”可以不由第一存储器设备的第一存储器处理器执行,而是可以由主机设备执行。
参考图10,当在不可以进行存储器设备之间的直接通信的存储器系统中执行垃圾收集时,第一存储器设备的第一存储器处理器可以执行关于存储器设备的指令(①、②、④、⑥和⑦)。此外,主机设备可以执行关于其他存储器设备的指令(③、⑤、⑧和⑨)。因此,在不可以进行存储器设备之间的直接通信的存储器系统中,可以依赖主机设备的干预来控制连接到通道的其他存储器系统的数据流。另一方面,当主机设备执行其他任务时,可能会延迟对关于垃圾收集的指令(③、⑤、⑧和⑨)的处理,这可能会延迟整个垃圾收集执行的时间。
具体地,图11的存储器系统是根据本申请的一些示例实施例的存储器系统,并且可以直接在存储器设备之间移动数据。亦即,在图11的存储器系统中,存储器设备的存储器处理器可以控制连接到通道的其他存储器系统的数据流。例如,存储器设备的存储器处理器可以执行图8中所示的“1、读取第一存储器设备第二页面”或“2、写入第一存储器设备第四页面”以及“3、读取第二存储器设备第三页面”的指令。
如图11所示,当在根据本公开的一些示例实施例的存储器系统中执行垃圾收集时,存储器处理器可以执行关于连接到通道的存储器设备的指令(①、②、④、⑥和⑦)以及关于连接到通道的其他存储器设备的指令(③、⑤、⑧和⑨)。因此,在根据本申请的一些示例实施例的存储器系统中,存储器处理器可以在没有主机设备干预的情况下执行关于连接到通道的其他存储器设备的指令。此外,主机设备可以独立于存储器处理器执行除垃圾收集之外的其他任务。此外,由于存储器处理器在没有主机设备干预的情况下执行垃圾收集过程,因此存储器处理器不受主机设备的任务处理延迟的影响。
亦即,在根据本申请的一些示例实施例的存储器系统中,存储器设备的存储器处理器在没有主机设备干预的情况下占用存储器通道,并且可以控制连接到该通道的其他存储器设备的数据流。因此,存储器处理器可以执行诸如连接到通道的存储器设备之间的数据移动之类的任务,而不受由于主机设备引起的影响(例如,由于主机设备引起的延迟)。
在下文中,将参照图12和图13描述在根据本申请的一些示例实施例的存储器系统中执行的耗损均衡操作。
图12是示出了根据本申请的一些示例实施例的存储器系统的耗损均衡操作的图。具体地,图12示出了在执行根据本申请的一些示例实施例的耗损均衡之前的存储器系统。在一些示例实施例中,存储器设备可以是存储类存储器设备。在图12中,数据“A”、“B”和“C”分别被存储在第一存储器设备100的第一页面、第二页面和第三页面中。而且,数据“D”、“E”和“F”分别被存储在第二存储器设备200的第一页面、第二页面和第三页面中。
图13是示出了本申请的一些示例实施例中的存储器系统的效果的图。具体地,图13示出了根据本说明书的一些示例实施例中的耗损均衡的执行对特定数据的写入次数。
耗损均衡是在特定数据单元的写入次数增加时改变特定数据的存储器位置以使累计写入次数变平的任务。在一些示例实施例中,存储器设备的存储器单元阵列的数据单元可以不被写入预定写入次数或更多写入次数。如果数据单元的写入次数超过预定写入次数,则包含那些数据单元的页面和/或块可能不再可用。因此,在特定数据单元的写入次数增加的情况下,可以执行用于改变存储特定数据的数据单元的位置的损耗均衡。在一些示例实施例中,当高需求的数据被存储在特定页面上时,特定页面的写入次数可能大于其他页面的写入次数。在这种情况下,可以执行将高需求数据移动到写入次数较小的另一页面的操作。
图13A-图13C示出了图12中所示的数据“A”至“F”的累计写入次数。此外,图13A-图13C示出了存储数据“A”至“F”的页面的地址。在下文中,为了便于说明,假设对数据“A”和“B”的需求很小,则对数据“C”和“F”的需求是正常的,并且对数据“D”和“E”的需求很大。
图13A示出了在执行耗损均衡之前的累计写入次数。在图13A中,数据“A”至“F”可以存储在第一存储器设备100的第一页面至第三页面和第二存储器设备200的第一页面至第三页面中。在特定时间,数据“A”和“B”的累计写入次数可能很小,“C”和“F”的累计写入次数可能是正常的,并且数据“D”和“E”的累计写入次数可能很大。
图13B示出了在执行耗损均衡之后数据“A”至“F”的累计写入次数。通过耗损均衡,数据“A”和“B”和数据“D”和“E”的位置可以互换。亦即,在图13B中,数据“A”和“B”可以存储在第二存储器设备的第一页面和第二页面上,并且数据“D”和“E”可以存储在第一存储器设备的第一页面和第二页面上。因此,在图13B中,数据“A”和“B”的累计写入次数可以与数据“D”和“E”的累计写入次数互换。
图13C示出了在执行耗损均衡操作后经过一段时期之后数据“A”至“F”的累计写入次数。如前所述,由于对数据“A”和“B”的需求很小,并且对数据“D”和“E”的需求很大,所以当经过一定时间后,数据“A”至“F”的累计写入次数可以如图13C所示是平的。
以这种方式,为了执行存储器设备之间的耗损均衡,需要执行存储器设备之间的数据移动。在传统的存储器系统中,依靠主机设备的干预来在存储器设备之间移动数据。
然而,在根据本申请的一些示例实施例的存储器系统中,存储器处理器可以在没有主机设备的干预的情况下在存储器设备之间移动数据。因此,存储器处理器可以在不受主机设备影响(例如,由于主机设备引起的延迟)的情况下执行存储器设备之间的耗损均衡。此外,主机设备可以在存储器设备的存储器处理器执行耗损均衡的同时执行其他任务。例如,主机设备的核心处理器可以用作其他任务的资源。
在下文中,将参照图14描述根据本申请的一些示例实施例的存储器系统。
图14是根据本申请的一些示例实施例的存储器系统的框图,在该存储器系统中存储器设备的存储器处理器利用主机设备的存储器控制器。在下文中,将主要描述与上述示例实施例的不同之处。
根据本申请的一些示例实施例的存储器系统可以包括通过通道1500连接的第一存储器设备1100和/或主机设备1400。
第一存储器设备1100可以包括第一存储器处理器1104。当第一存储器设备1100的第一存储器权限控制单元1102具有通道1500的操作权限时,第一存储器处理器1104可以控制其他存储器设备200和/或300的数据流。
主机设备1400可以包括存储器控制器1406。当主机设备1400的主机权限控制单元1402不具有通道1500的操作权限时,通道锁定单元404可以设置核心处理器408和存储器控制器1406之间的锁定。此时,主机设备1400的存储器控制器1406可以执行从第一存储器设备1100的存储器处理器1104接收的一系列指令。由存储器控制器1406从第一存储器设备1100的存储器处理器1104接收的一系列指令可以包括用于控制连接到通道1500的第二存储器设备200和/或第三存储器设备300的数据流的控制指令。亦即,当控制第二存储器设备200和/或第三存储器设备300的数据流时,第一存储器设备1100的第一存储器处理器1104可以使用主机设备1400的存储器控制器1406。
在一些示例实施例中,第一存储器设备1100的存储器处理器1104的计算处理能力可以低于主机设备1400的存储器控制器1406的计算处理能力。例如,如果存储器系统的通道1500的状态不良,则通过通道1500传输的模拟信号可能劣化。在这种情况下,可以执行分析和补偿劣化的模拟信号的任务。以这种方式,模拟信号处理任务可能需要不期望的大量资源。在一些示例实施例中,第一存储器设备1100的第一存储器处理器1104可能难以执行模拟信号的处理任务。因此,通过利用主机设备1400的存储器控制器1406的资源,第一存储器处理器1104可以补偿低计算处理能力。
在下文中,将参照图15和图16描述根据本申请的一些示例实施例的存储器系统中的存储器设备和主机设备的操作。
图15是示出了根据本申请的一些示例实施例的存储器系统中的存储器设备和主机设备的操作的流程图。图16是示出了图15的操作S252至S256的图。在下文中,将主要描述与上述示例实施例的不同之处。
参考图15,可以执行一系列指令以更新第一存储器处理器中的存储器地址表(S250)。具体地,例如,参考图16,第一存储器设备1100的第一存储器处理器1104可以执行从主机设备1400接收的一系列指令(S250)。
接下来,参考图15,当执行第二存储器设备的指令时,存储器处理器可以向主机设备的存储器控制器传送关于第二存储器设备的指令(S252)。具体地,例如,参考图16,第一存储器处理器1104可以向主机设备1400的存储器控制器1406发送从主机设备1400接收的一系列指令当中关于另一存储器设备的指令(例如,“3、读取第二存储器设备,第三页面”)(S252)。
接下来,参考图15,主机设备的存储器控制器可以执行所传送的指令(S254)。具体地,例如,参考图16,主机设备1400的存储器控制器1406可以执行所接收的指令(S254)。例如,存储器控制器1406可以读取第二设备200的第三页面的数据“K”。
接下来,参考图15,存储器控制器可以向第一存储器处理器传送指令执行的结果。第一存储器处理器可以更新存储器地址表(S256)。具体地,例如,参考图16,主机设备1400的存储器控制器1406可以向第一存储器处理器1104传送指令执行的结果(例如,数据“K”)(S256)。第一存储器处理器1104可以在完成对从主机设备1400接收的一系列指令的执行时更新存储器地址表。
在下文中,将参照图17描述根据本申请的一些示例实施例的存储器系统。
图17示出了根据本申请的一些示例实施例的具有两个通道的存储器系统。根据本申请的一些示例实施例的存储器系统可以包括主机设备2400、连接到第一通道500的第一存储器设备至第三存储器设备100、200和300和/或连接到第二通道2500的第四存储器设备至第六存储器设备2100、2200和2300。
主机设备2400可以包括主机权限控制单元,其控制第一通道500的操作权限和/或第二通道2500的操作权限。主机权限控制单元可以包括用于控制第一通道500的操作权限的第一主机权限控制单元402、和/或用于控制第二通道2500的操作权限的第二主机权限控制单元2402。亦即,主机设备2400的主机权限控制单元可以是彼此分离的第一主机权限控制单元402和第二主机权限控制单元2402,或者可以是单个主机权限控制单元。主机设备2400可以包括:第一通道锁定单元404,用于阻止从主机设备2400到第一通道500的数据流;和/或第二通道锁定单元2404,用于阻止从主机设备2400到第二通道2500的数据流。主机设备2400可以包括:第一存储器控制器406,用于控制连接到第一通道500的第一存储器设备至第三存储器设备100、200和300的数据流;和/或第二存储器控制器2406,用于控制连接到第二通道2500的第一存储器设备至第三存储器设备2100、2200和2300的数据流。主机设备2400可以包括核心处理器2408。主机设备2400可以包括连接到核心处理器2408和/或第一存储器控制器406的第一高速缓存410和/或第一TLB 412。此外,主机设备2400可以包括连接到核心处理器2408和/或第二存储器控制器2406的第二高速缓存2410和/或第二TLB2412。主机设备2400的第二高速缓存2410和第二TLB 2412的功能可以与图1中描述的第一高速缓存410和第一TLB 412的功能相同。
第四存储器设备至第六存储器设备2100、2200和2300可以分别包括第四存储器权限控制单元至第六存储器权限控制单元2102、2202和2302、第四存储器处理器至第六存储器处理器2104、2204和2304和/或第四存储器单元阵列至第六存储器单元阵列2106、2206和2306。第四存储器设备至第六存储器设备2100、2200和2300的第四存储器权限控制单元至第六存储器权限控制单元2102、2202和2302、存储器处理器2104、2204和2304以及存储器单元阵列2106、2206和2306的功能可以与图1的第一存储器设备至第三存储器设备100、200和300的存储器权限控制单元102、202和302、存储器处理器104、204和304以及存储器单元阵列106、206和306的功能相同。例如,连接到第二通道2500的第四存储器设备至第六存储器设备2100、2200和/或2300的存储器权限控制单元2102、2202和/或2302或主机设备2400的第二主机权限控制单元2402可以专门具有第二通道2500的操作权限。
参考图17,根据本申请的一些示例实施例的存储器系统可以将第一通道500的操作权限授予例如第一存储器设备100的第一存储器权限控制单元102。亦即,第一存储器设备100的第一存储器权限控制单元102可以具有第一通道500的操作权限,并且可以直接向连接到第一通道500的存储器设备200请求数据。主机设备2400的第一通道锁定单元404可以设置用于阻止从主机设备2400到第一通道500的数据流的锁定。第一存储器设备100的第一存储器处理器104可以执行用于控制连接到通道的第二存储器设备200和/或第三存储器设备300的数据流的控制指令。
根据本申请的一些示例实施例的存储器系统可以将第二通道2500的操作权限授予例如第四存储器设备2100。亦即,存储器系统可以将第二通道2500的操作权限授予主机设备2400的第二主机权限控制单元2402。主机设备2400的第二通道锁定单元2404可以释放用于阻止从主机设备2400到第二通道2500的数据流的锁定。主机设备2400的第二存储器设备2406可以控制连接到第二通道2500的第四存储器设备至第六存储器设备2100、2200和2300的数据流。亦即,第四存储器设备2100的第四存储器处理器2104可以不控制连接到第二通道2500的其他设备2200和/或2300的数据流。
在结束具体实施方式时,本领域技术人员将理解,可以对优选实施例进行许多变化和修改而实质上不脱离本公开的原理。因此,所公开的本公开的优选实施例仅用于一般性和描述性意义,而不是出于限制的目的。

Claims (20)

1.一种连接到通道的存储器设备,包括:
存储器单元阵列;以及
存储器处理器,所述存储器处理器被配置为:
控制所述通道的操作权限,以及
控制连接到所述通道的多个其他存储器设备的数据流。
2.根据权利要求1所述的存储器设备,其中,所述存储器处理器还被配置为:从连接到所述通道的主机设备和所述多个其他存储器设备撤销所述通道的操作权限。
3.根据权利要求1所述的存储器设备,其中,所述存储器处理器还被配置为执行从连接到所述通道的主机设备接收的一系列指令,所述一系列指令包括用于控制所述多个其他存储器设备的数据流的控制指令。
4.根据权利要求3所述的存储器设备,其中,用于控制所述多个其他存储器设备的数据流的所述控制指令包括:读取、写入或擦除所述多个其他存储器设备中的至少一个存储器设备的存储器单元阵列的数据。
5.根据权利要求3所述的存储器设备,其中,所述存储器处理器还被配置为:
维护存储器地址表,所述存储器地址表具有所述多个其他存储器设备中的每个存储器设备的存储器单元阵列的数据地址,
检测因执行所述一系列指令而对所述多个其他存储器设备的存储器单元阵列的数据地址所做的改变,以及
将所述存储器地址表更新为更新后的存储器地址表。
6.根据权利要求5所述的存储器设备,其中,所述存储器处理器还被配置为:当所述存储器处理器向所述主机设备发送所述通道的操作权限时,向所述主机设备发送更新后的存储器地址表。
7.根据权利要求3所述的存储器设备,其中,所述存储器处理器还被配置为:
确定从所述主机设备接收的所述一系列指令是否包括用于控制所述多个其他存储器设备中的至少一个存储器设备的数据流的所述控制指令,以及
基于所述确定向所述主机设备发送通道操作权限请求信号。
8.根据权利要求3所述的存储器设备,其中,所述存储器处理器还被配置为:
确定所述存储器处理器是否已经执行了所述一系列指令,以及
基于所述确定向所述主机设备发送所述通道的操作权限。
9.根据权利要求1所述的存储器设备,还包括输入输出端口,所述输入输出端口输入或输出命令信息、地址信息、芯片选择信息或数据信息。
10.根据权利要求9所述的存储器设备,其中,所述多个其他存储器设备的数据流包括:
从所述存储器设备的输入输出端口输出并被输入到所述多个其他存储器设备中的至少一个存储器设备的命令信息、地址信息、芯片选择信息或数据信息,或者
从所述多个其他存储器设备中的至少一个存储器设备输出并被输入到所述存储器设备的输入输出端口的数据信息。
11.一种存储器系统,包括:
主机设备,连接到通道并包括核心处理器,所述核心处理器被配置为:
控制所述通道的操作权限,
确定所述主机设备何时不具有所述通道的操作权限,以及
阻止从所述主机设备到所述通道的数据流。
12.根据权利要求11所述的存储器系统,其中,当所述主机设备具有所述通道的操作权限时,连接到所述通道的多个存储器设备不具有所述通道的操作权限。
13.根据权利要求11所述的存储器系统,其中,所述核心处理器还被配置为设置锁定,所述锁定阻止从所述主机设备到所述通道的数据流。
14.根据权利要求13所述的存储器系统,其中,所述核心处理器还被配置为:
执行针对连接到所述通道的多个存储器设备中的至少一个存储器设备的一系列指令,以及
设置锁定以控制连接到所述通道的所述多个存储器设备的数据流。
15.根据权利要求14所述的存储器系统,其中,所述核心处理器还被配置为:当所述锁定被设置时,执行从所述多个存储器设备中的至少一个存储器设备接收的一系列指令。
16.根据权利要求15所述的存储器系统,还包括连接到所述通道的第一存储器设备、以及与连接到所述通道的所述第一存储器设备不同的多个存储器设备,其中,所述一系列指令包括用于控制与所述第一存储器设备不同的所述多个存储器设备的数据流的控制指令。
17.根据权利要求11所述的存储器系统,其中,所述主机设备还包括高速缓存,并且所述核心处理器还被配置为:当所述主机设备不具有所述通道的操作权限时,清除所述高速缓存。
18.根据权利要求11所述的存储器系统,其中,所述主机设备还包括存储器地址表,并且所述核心处理器还被配置为:当所述主机设备从连接到所述通道的存储器设备接收到所述通道的操作权限时,更新所述存储器地址表。
19.一种存储器系统,包括:
主机设备,连接到第一通道以及与所述第一通道不同的第二通道,并且包括核心处理器,所述核心处理器被配置为控制所述第一通道和所述第二通道的操作权限;
连接到所述第一通道的第一存储器设备和第二存储器设备;以及
连接到所述第二通道的第三存储器设备,
其中,所述核心处理器还被配置为将所述第一通道的操作权限授予所述第一存储器设备,并且所述第一存储器设备直接向所述第二存储器设备请求数据,并且
所述核心处理器还被配置为不将所述第二通道的操作权限授予所述第三存储器设备。
20.根据权利要求19所述的存储器系统,其中,所述核心处理器还被配置为阻止从所述主机设备到所述第一通道的数据流,并且所述第一存储器设备还包括第一存储器处理器,所述第一存储器处理器被配置为执行用于控制所述第二存储器设备的数据流的控制指令。
CN201910706837.0A 2018-09-28 2019-07-31 存储器设备和用于存储器设备之间直接通信的存储器系统 Pending CN110968533A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180116119A KR20200036461A (ko) 2018-09-28 2018-09-28 메모리 디바이스들 사이의 직접 통신을 위한 메모리 시스템 및 메모리 디바이스
KR10-2018-0116119 2018-09-28

Publications (1)

Publication Number Publication Date
CN110968533A true CN110968533A (zh) 2020-04-07

Family

ID=69945480

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910706837.0A Pending CN110968533A (zh) 2018-09-28 2019-07-31 存储器设备和用于存储器设备之间直接通信的存储器系统

Country Status (3)

Country Link
US (1) US10996872B2 (zh)
KR (1) KR20200036461A (zh)
CN (1) CN110968533A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7288045B2 (ja) * 2018-05-11 2023-06-06 サイジェント テクノロジー インコーポレイテッド 改良されたデータ制御及びアクセスの方法及びシステム
KR102195564B1 (ko) * 2020-09-25 2020-12-28 조성호 데이터 복사 시스템 및 그 동작 방법

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4493022A (en) * 1980-05-06 1985-01-08 Thomson-Csf Telephone Centralized arbitration process and centralized arbiter for multiprocessor system
US5175829A (en) * 1988-10-25 1992-12-29 Hewlett-Packard Company Method and apparatus for bus lock during atomic computer operations
CN1570907A (zh) * 2003-04-24 2005-01-26 日本电气株式会社 多处理器系统
CN103562892A (zh) * 2011-06-10 2014-02-05 国际商业机器公司 配置存储级内存命令
CN103810125A (zh) * 2012-11-12 2014-05-21 国际商业机器公司 有源存储器件聚集、分散和过滤
CN104885062A (zh) * 2012-12-10 2015-09-02 谷歌公司 使用逻辑到物理映射以与数据存储装置进行直接用户空间通信
US20160147667A1 (en) * 2014-11-24 2016-05-26 Samsung Electronics Co., Ltd. Address translation in memory
US20160188206A1 (en) * 2014-12-29 2016-06-30 Sandisk Technologies Inc. Non-Volatile Memory Systems Utilizing Storage Address Tables
US20180275883A1 (en) * 2017-03-21 2018-09-27 Micron Technology, Inc. Apparatuses and methods for in-memory data switching networks

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5313591A (en) * 1992-06-25 1994-05-17 Hewlett-Packard Company Computer bus arbitration for N processors requiring only N unidirectional signal leads
KR100553348B1 (ko) 2004-05-31 2006-02-20 한국전자통신연구원 피엠이엠 제어기를 이용한 고속 스트리밍 데이터 전송장치 및 방법
JP2008097527A (ja) 2006-10-16 2008-04-24 Hitachi Ltd ストレージシステム及びその制御方法
JP2009163394A (ja) 2007-12-28 2009-07-23 Panasonic Corp メモリ管理装置およびメモリ管理方法
KR101626084B1 (ko) 2009-11-25 2016-06-01 삼성전자주식회사 멀티 칩 메모리 시스템 및 그것의 데이터 전송 방법
US9063945B2 (en) 2011-06-14 2015-06-23 International Business Machines Corporation Apparatus and method to copy data
WO2013048477A1 (en) 2011-09-30 2013-04-04 Intel Corporation Direct i/o access for system co-processors
US9997232B2 (en) 2016-03-10 2018-06-12 Micron Technology, Inc. Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations
US9983821B2 (en) * 2016-03-29 2018-05-29 Samsung Electronics Co., Ltd. Optimized hopscotch multiple hash tables for efficient memory in-line deduplication application
US10416927B2 (en) * 2017-08-31 2019-09-17 Micron Technology, Inc. Processing in memory

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4493022A (en) * 1980-05-06 1985-01-08 Thomson-Csf Telephone Centralized arbitration process and centralized arbiter for multiprocessor system
US5175829A (en) * 1988-10-25 1992-12-29 Hewlett-Packard Company Method and apparatus for bus lock during atomic computer operations
CN1570907A (zh) * 2003-04-24 2005-01-26 日本电气株式会社 多处理器系统
CN103562892A (zh) * 2011-06-10 2014-02-05 国际商业机器公司 配置存储级内存命令
CN103810125A (zh) * 2012-11-12 2014-05-21 国际商业机器公司 有源存储器件聚集、分散和过滤
CN104885062A (zh) * 2012-12-10 2015-09-02 谷歌公司 使用逻辑到物理映射以与数据存储装置进行直接用户空间通信
US20160147667A1 (en) * 2014-11-24 2016-05-26 Samsung Electronics Co., Ltd. Address translation in memory
US20160188206A1 (en) * 2014-12-29 2016-06-30 Sandisk Technologies Inc. Non-Volatile Memory Systems Utilizing Storage Address Tables
US20180275883A1 (en) * 2017-03-21 2018-09-27 Micron Technology, Inc. Apparatuses and methods for in-memory data switching networks

Also Published As

Publication number Publication date
US10996872B2 (en) 2021-05-04
KR20200036461A (ko) 2020-04-07
US20200104060A1 (en) 2020-04-02

Similar Documents

Publication Publication Date Title
CN104050089A (zh) 片上系统及其操作方法
US9396141B2 (en) Memory system and information processing device by which data is written and read in response to commands from a host
CN103914405A (zh) 包括存储管理单元的片上系统及其存储地址转换方法
KR20190043868A (ko) 메모리 시스템 및 그것의 동작 방법
CN102279712A (zh) 一种适用于互联网存储系统的存储控制方法、系统和装置
US9317445B2 (en) Rapid memory buffer write storage system and method
US20210073118A1 (en) Memory system and garbage collection control method
US10346052B2 (en) Memory system with priority processing and operating method thereof
US20060206663A1 (en) Disk array device and shared memory device thereof, and control program and control method of disk array device
CN110968533A (zh) 存储器设备和用于存储器设备之间直接通信的存储器系统
US9354818B2 (en) Memory device and data storing method
US20100017544A1 (en) Direct memory access controller and data transmitting method of direct memory access channel
US20050268026A1 (en) Memory card, semiconductor device, and method of controlling semiconductor memory
JP2009505180A (ja) 少なくとも2つの処理ユニットと、及び少なくとも1つのメモリとを有する計算機システム内に形成される及び記憶装置、及びそれによる記憶方法
US9558112B1 (en) Data management in a data storage device
KR101465447B1 (ko) 외부 병합 정렬 방법, 외부 병합 정렬 시스템 및 외부 병합 정렬을 위한 분산 처리 시스템
US20190065104A1 (en) Apparatuses and methods for multiple address registers for a solid state device
US20150074334A1 (en) Information processing device
KR20200014175A (ko) 소요시간을 예측하여 가비지 컬렉션을 수행하는 방법 및 장치
KR20190073125A (ko) 메모리 시스템 및 이의 동작 방법
KR20190090287A (ko) 메모리 컨트롤러 및 그 동작 방법
US11099762B2 (en) Multi host controller and semiconductor device including the same
CN105487875A (zh) 程序存储器的控制方法、控制装置及其处理器系统
KR102523965B1 (ko) 데이터 저장 장치
JP4965974B2 (ja) 半導体集積回路装置

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