CN106575257B - 用于改进存储器系统的效率的系统及方法 - Google Patents

用于改进存储器系统的效率的系统及方法 Download PDF

Info

Publication number
CN106575257B
CN106575257B CN201580040829.7A CN201580040829A CN106575257B CN 106575257 B CN106575257 B CN 106575257B CN 201580040829 A CN201580040829 A CN 201580040829A CN 106575257 B CN106575257 B CN 106575257B
Authority
CN
China
Prior art keywords
memory
soc
data
window
packet
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
CN201580040829.7A
Other languages
English (en)
Other versions
CN106575257A (zh
Inventor
J·托马斯·帕夫洛夫斯基
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.)
Micron Technology Inc
Original Assignee
Micron Technology 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 Micron Technology Inc filed Critical Micron Technology Inc
Priority to CN201910363451.4A priority Critical patent/CN110262751A/zh
Publication of CN106575257A publication Critical patent/CN106575257A/zh
Application granted granted Critical
Publication of CN106575257B publication Critical patent/CN106575257B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • 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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • 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/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/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/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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/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
    • 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/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/0661Format or protocol conversion 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single 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/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
    • 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/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/189Transmission or retransmission of more than one copy of a message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Dram (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Abstract

本发明揭示一种存储器装置(14),其包含存储数据的存储器组件(24、26、28)。所述存储器装置(14)还包含处理器(22),所述处理器(22)接收指示所述存储器组件(24、26、28)耦合到所述处理器(22)的信号,且检索来自所述存储器组件(24、26、28)的信息。所述信息可包含能够由所述存储器组件(24、26、28)执行的一或多个算法。所述处理器(22)可接着接收与有关所述存储器组件(24、26、28)的一或多个数据操作相关联的一或多个封包(30)。所述处理器(22)可接着通过使用所述存储器组件(24、26、28)以采用所述一或多个算法而执行所述一或多个数据操作。

Description

用于改进存储器系统的效率的系统及方法
相关申请案的交叉参考
本申请案是主张2014年6月2日申请的标题为“用于可扩展存储器系统协议的系统及方法(Systems and Methods for a Scalable Memory System Protocol)”的第62/006,668号美国临时专利申请案的优先权的非临时申请案,所述美国临时专利申请案以引用的方式并入本文中。本申请案也涉及2015年5月28日申请的标题为“用于以可扩展存储器系统协议传输包的系统及方法(Systems and Methods for Transmitting Packets in aScalable Memory System Protocol)”的第14/724,446号美国专利申请案,所述美国专利申请案也以引用的方式并入本文中。
技术领域
本发明大体上涉及一种存储器系统协议,其用于使用存储器装置执行数据操作(例如,读取、写入)。更具体来说,本发明涉及一种基于包的可扩展协议,其启用若干存储器及处理组合,提供位高效的数据传送操作,且所述协议与多种总线类型(例如,电总线、光学总线)协调。
背景技术
本章节希望向读者介绍可能与本发明的各种方面相关的本领域的各种方面,所述方面在下文中予以描述及/或主张。据信,此论述有助于为读者提供背景信息以促进更好地理解本发明的各种方面。因此,应理解,这些陈述应在此背景下阅读且并非作为现有技术的认可。
常规协议通常在存储器装置之间以与其前身相比相对较低的故障率传输包。然而,因为行业旨在使在存储器装置与其它组件之间移动数据包所涉及的能量的量最小化,期望使用使用最小量的能量高效移动数据包,同时维持包传输的完整性的协议。
附图说明
在阅读以下详细描述及在参考附图时可更好地理解本发明的各种方面,其中:
图1说明根据实施例的计算系统的实例的框图;
图2说明根据实施例的可作为图1的计算系统的部分的存储器装置的实例的框图;
图3说明根据实施例的可在图1的计算系统内传输的包的包层级图;
图4说明根据实施例的可在图1的计算系统内传输的包的详细包层级图;
图5说明根据实施例的用于为作为图2的存储器装置的部分的各种类型的存储器指派事务窗的方法的流程图;
图6说明根据实施例的用于在可作为图1的计算系统的部分的存储器装置上执行专门操作的方法的流程图;及
图7说明根据实施例的用于产生受信任组件的安全存取列表的方法的流程图。
具体实施方式
下文将描述一或多个特定实施例。为了提供这些实施例的简洁描述,本说明书中未描述实际实施方案的所有特征。应了解,在任何此实际实施方案的研发中,如在任何工程或设计项目中,必须作出许多实施方案特定决策以实现可随实施方案的变化而变化的研发者的特定目标,例如符合系统相关及业务相关的限制。此外,应了解,此研发努力可能是复杂且耗时的,但对于受益于本发明的一般技术人员来说,所述研发努力仍将是常规设计、制作及制造任务。
可扩展存储器系统协议
如将在下文详细论述,本发明大体上涉及可扩展存储器系统协议。即,可扩展存储器系统协议可基于被传送的数据包(例如,请求、响应)的特性而调整某些操作。在一个实施例中,可扩展存储器系统协议(“可扩展协议”)可为基于包的协议,其实现数据包在存储器装置、计算装置及类似物之间的高效(例如,功率高效、位高效)传输。可扩展协议可实施为与各种类型的存储器及处理器的若干组合,例如自动机(Automata)处理器、存储器中处理器(Processor-in-Memory)、网络装置、存储设备、分层存储器、抽象化存储器及类似物。如本文中所使用,处理器可包含能够在相应电装置上执行可执行指令的任何适当处理器。可扩展协议也可促进宽范围的装置,其包含数据中心交换器/路由器、网络路由器、移动装置、存储装置、自动机处理器、流(Stream)处理器、存储器中处理器、任务移动处理器、大数据(Big Data)、大图形(Big Graph)、安全存储器、虚拟网络、一般抽象化存储器(例如,动态随机存取存储器(DRAM)、NAND及新兴存储器)及类似物。
在某些实施例中,可扩展协议可经设计以促进数据包在各种存储器与处理组件之间的传达,同时维持最低的合理的可扩展协议额外开销。换句话来说,可扩展协议可经设计以提供数据包的位有效传输,其中,经由可扩展协议传送的多数(如果非所有)位直接作为被传输的对应数据包的部分。例如,如将在下文更详细论述,可扩展协议可使请求包能被包封在一起而无需用与相应包无关的零填充信号,由此使经由总线的传输通道传送的数据包的位效率最大化。
除提供用于传送数据包的位高效机构外,可扩展协议可与若干总线类型(例如电或光学总线)协调。此外,可扩展协议可能能够提供有关相应总线的各种操作,包含编码、分道(lane)计数、通道(channel)计数、速度、风格、系统的例示计数及类似物。
可扩展协议
记住上述内容,可扩展协议可经优化以提供成功事务,使得包故障是罕见的(例如,<1e-6)。可扩展协议也可提供包传输类型、大小与可处置的不同包大小的数目之间的仔细权衡。
如上文论述,行业更注重使数据移动能量最小化。即,在存储器装置之间移动数据包所消耗或耗费的能量应被最小化。因而,可扩展协议可合理地消除可从其它位或消息辨别或可能另外是不必要的某些位及消息。举例来说,可扩展协议可免除对传输有关可能已被接收器所知的信息的数据的装置的需要。
此外,为了提供高效的数据移动操作,可扩展协议可促进“被发送到存储器”的事务。可扩展协议也可用外部控制操作传送局部操作,其中内部数据流量与外部控制操作相比相对较低。此外,可扩展协议可实施错误控制策略,所述错误控制策略使用基于在相应包中被传输的数据量(例如,有效负载)调整或改变的动态字段大小使额外开销最小化。
可扩展协议也可经设计以最小化用于传达数据的若干字段。因而,可扩展协议可允许字段大小调优及灵活性,这是因为每个包无法利用所有可用字段。
可扩展协议也可经设计以促进低延时数据与高延时数据的共存。举例来说,可扩展协议可提供使低延时数据的传输在传输高延时数据之间交错的能力。
可扩展协议的设计可被特性化为简单及一般的,其中可变包大小可在相应包的单个字段中确定。此外,可扩展协议可维持其操作方面的简单性,同时仍能够执行复杂的事务及操作。此外,可扩展协议可能足够灵活来实现其当前可能未经设计以提供的未来功能。
在某些实施例中,可扩展协议可限制使用局部排序方案发送包的顺序。即,可扩展协议无法强制执行某些全局同步排序规则或类似物。为了坚持可扩展协议保持抽象的理念,可扩展协议可用特殊装置或用不同类型的通道性质促进操作。
记住上述内容,本发明描述若干系统及技术,所述系统及技术可在可扩展协议内实施以提供上述优点。虽然下文详述的某些系统或技术是相对于其它系统或技术独立描述,但是应注意本文中描述的系统及技术中的每一者可用也在本文中描述的各种其它系统及技术实施。
使用可扩展协议的计算系统及存储器系统
现转到图式,图1说明可采用本文中描述的各种技术及系统的计算系统10的框图。计算系统10可为多种计算装置中的任何者,例如计算机、传呼机、蜂窝电话、个人记事簿、控制电路等等。计算系统10可包含芯片上主机系统(SoC)12,芯片上主机系统(SoC)12可耦合到若干存储器装置14。主机SoC 12可为集成电路(IC),其将计算机或其它电子系统的所有组件集成到单个芯片中。因而,主机SoC 12可包含一或多个处理器,例如微处理器,所述一或多个处理器可控制计算系统10中的系统功能及请求的处理。在某些实施例中,主机SoC12可为请求待由另一处理器执行的数据操作的请求组件。
如上所述,主机SoC 12可耦合到存储器装置14。在某些实施例中,主机SoC 12可经由通道16耦合到存储器装置14。通道16可包含总线、电布线或类似物。
图2描绘存储器装置14的实施例的框图。存储器装置14可包含经设计以留存数字数据的任何存储装置。存储器装置14可涵盖各种各样的存储器组件,其包含易失性存储器及非易失性存储器。易失性存储器可包含动态随机存取存储器(DRAM)及/或静态随机存取存储器(SRAM)。此外,易失性存储器可包含若干存储器模块,例如单列直插存储器模块(SIMM)或双列直插存储器模块(DIMM)。
非易失性存储器可包含将结合易失性存储器使用的只读存储器(ROM),例如EPROM及/或快闪存储器(例如,NAND)。此外,非易失性存储器可包含高容量存储器,例如磁带或磁盘驱动存储器。如将了解,易失性存储器或非易失性存储器可被视为用于存储代码(例如,指令)的非暂时性有形机器可读媒体。
如图2中所展示,在某些实施例中,存储器装置14可包含芯片上系统(SoC)22,芯片上系统(SoC)22可为任何适当处理器,例如存储器中处理器(PIM)或计算机处理器(CPU),其紧紧地耦合到存储于存储器装置14上的存储器组件。通常,存储器SoC 22可与存储器装置14的存储器组件处在相同硅芯片上。通过将处理组件及存储器组件合并到存储器装置14中,存储器SoC 22可管理在存储器组件与主机SoC 12之间传输及接收数据请求及响应的方式。在某些实施例中,存储器SoC 22可控制存储器组件之间的业务以减小延时及增大带宽。如将了解,在根据本文中描述的实施例控制存储器组件与其它装置之间的传输时,主机SoC12及存储器SoC 22可采用可扩展存储器系统协议。因而,可扩展存储器系统协议可在存储器装置14与主机SoC 12之间的通道16,以及在存储器组件与存储器SoC 22之间的通道29上操作。
在某些实施例中,存储器装置14也可包含缓冲器23。缓冲器23可存储由存储器SoC22接收的一或多个包。举例来说,存储器装置14可包含例如NAND存储器24、减小延时动态随机存取存储器(RLDRAM)26、双倍数据速率第四代同步动态随机存取存储器(DDR4)28及类似物的存储器类型。
在某些实施例中,主机SoC 12及存储器SoC 22可基于经由存储器组件、寄存器及类似物提供的计算机可执行指令执行各种操作。存储器组件或存储装置可为可充当用于存储存储器可执行代码、数据或类似物的媒体的任何适当制品。这些制品可代表计算机可读媒体(即,任何适当形式的存储器或存储装置),所述计算机可读媒体可存储由主机SoC 12或存储器SoC 22使用来执行当前揭示技术的处理器可执行代码。存储器及存储装置也可用于存储数据、数据分析及类似物。存储器及存储装置可代表非暂时性计算机可读媒体(即,任何适当形式的存储器或存储装置),所述非暂时性计算机可读媒体可存储由主机SoC 12或存储器SoC 22使用来执行本文中描述的各种技术的处理器可执行代码。应注意,非暂时性仅指示媒体是有形的且并非是信号。
虽然有关可扩展协议的各种方面的以下描述在本文中被描述为相对于主机SoC12及存储器SoC 22执行,但是应注意,本文中描述的所有系统及技术可使用任何适当装置执行。即,可扩展协议可促进任何两个装置之间的通信,例如两个处理器、两个存储器模块、处理器与存储器模块及类似物之间的通信。
可扩展协议中的包的包层级图
为了在传输涉及存储器组件的请求及响应时采用可扩展存储器系统协议,存储器SoC 22可发送根据图3中所说明的包30的包层级图构成的数据的包。如图3中所展示,包30可包含事务类型字段32、有效负载字段34及错误控制代码(ECC)字段36。事务类型字段32可包含指示传输类型、被传输的包的类型或两者的数据。事务类型字段32也可指示用于指示数据有效负载中位的数目及ECC字段中位的数目的包大小,由此指示整个包中位的数目。在某些实施例中,事务类型字段32可以间接方式指示有效负载字段34及ECC字段36的大小。举例来说,存储于事务类型字段32中的数据可充当查找表的索引。查找表可提供有关有效负载字段34及ECC字段36的大小的信息。因而,在一个实例中,存储器SoC 22可接收包30且将存储于事务类型字段32中的数据用作可存储于存储器装置14中的查找表的索引,以确定有效负载字段34及ECC字段36的大小。
在某些实施例中,事务类型字段32可基于包是在可包含通道16、通道29或类似物的请求总线Q或响应总线S上传输而指定不同类型的包。通常,请求总线Q及响应总线S可为单独的、单向的或共同输入/输出。请求总线Q大体上包含q个分道,且响应总线S大体上包含s个分道。
在请求总线Q上传输的包30的实例事务类型字段32可包含读取操作(例如,8uRead、8uRead2、varRead,其中u可为8位单元或9位单元或可能为数据的非整数单元大小)、消息数据(例如,消息)、读取-修改-写入(RMW)操作(例如,RMW1A、RMW2A、RMW3A、RMW4A)、数据集(例如,32uData、64uData、128uData、256uData)、模式写入操作(例如,8uPatternWrite、16uPatternWrite)、写入启用操作(例如,8uWriteWithEnables、16uWriteWithEnables),写入操作(例如,8uWrite、16uWrite、32Write、48uWrite、64Write、80uWrite、96uWrite、112uWrite、128Write、256Write)及类似物。提供32Write操作及64Write操作可为系统设计者在挑选最大包大小时提供更大灵活性。在一个实施例中,可扩展协议可具有256Unit的限值,但使用较小最大包大小可帮助系统延时。应理解,32uWrite与32Write之间的差异在于32uWrite是单个固定大小,且TransactionSize未包含于包中。另一方面,32Write包含TransactionSize,且因此可涉及额外32U数据块,而非仅在原始请求包中包含的32U块。注意上文针对请求总线Q所列的事务类型实例,经由请求总线Q传输的包30可包含总共26个原生事务(例如,8uRead、消息、RMW1A等等),其中的每一者可使用针对全局(即,包含许多CPU模块及/或许多存储器装置模块的系统,其中包可在单元之间被中继)或局部系统(即,包含较少模块的系统,其中包在单元之间点到点移动,而无中继)的5位字段表示。因而,在一个实施例中,请求总线Q上的包30的事务类型字段32可为5个位。
以相同方式,在响应总线S上传输的包30的实例事务类型字段32可包含消息数据(例如,消息)、数据集(例如,8uData、16uData、32uData、48uData、64uData、80uData、96uData、112uData、128uData、256uData)及类似物。此外,注意上文针对响应总线S的所列事务类型实例,经由响应总线S传输的包30可包含总共11个原生事务(例如,消息、8uData等等),其中的每一者可使用针对局部系统的4位或5位字段表示。因而,在一个实施例中,响应总线S上的包30的事务类型字段32可为4个位。
由于26个请求总线Q事务类型及11个响应总线S事务类型包含5个相同事务类型(例如,消息、128uData、256uData),所以由请求总线Q及响应总线S使用的事务类型的总数目可为32个。这32个事务类型因此可在5位字段中予以表示。有关事务类型的额外细节将在下文进一步论述。
再次参考图3,包30也可包含有效负载字段34及错误控制代码(ECC)字段36。如上所述,有效负载字段34及ECC字段36的相应大小可基于事务类型字段32中的数据确定。举例来说,有效负载字段34可近似在45个位与2093个位之间,且ECC字段36可近似在6个位与37个位之间。有效负载字段34可包含代表分别经由请求总线或响应总线发送的请求或响应的数据。
ECC字段36可包含用于确定由接收组件接收的包30是否包含任何错误的错误控制代码。因而,错误控制代码可包含各种算法,例如将冗余数据或校验数据添加到消息,使得即使当在传输的过程期间或在存储器上引入若干错误时,原始数据仍可由接收组件恢复。通常,错误控制代码可提供检测代码的限值内的错误且当检测到错误时,指示进一步行动(例如重新传输出错包)的能力。
事务窗
除提供有关错误控制代码的经改进位效率外,可扩展协议可根据其相应事务类型组织包,且基于其相应事务类型根据特定顺序传输经组织包。在常规协议中,请求可根据其已被发布或传输的时间来排序。在此情况中,如果第一请求涉及高延时,且接着的请求(即,第二请求)涉及低延时,那么即使第二请求可能比第一请求更快地完成,第二请求仍可能必须等待第一请求结束。因此,第一请求可阻塞总线。换句话来说,即使低延时请求可能比较高延时请求更快地被解析,第一请求仍可阻止总线响应于相对较低延时请求。
为了提供在总线内混合不同类型的事务请求的更高效方式,可扩展协议可使用事务窗来确定请求被送达的顺序。事务窗可为使用虚拟地址空间实施的虚拟通道。每一事务窗可与相应存储器装置相关联,例如NAND及DRAM。因而,单个事务窗可与存储器或具有相同特性(例如延时、带宽、粒度、持久性及类似特性)的若干存储器相关联。
通常,事务窗可提供有关针对每一特定事务的一组特定接合规则的信息。如上所述,事务窗数据可指定用于针对特定事务传输及接收包的物理总线的一组分道(例如,通道29)。由事务窗指定的所述组通道可被称作虚拟通道,其可由存储器装置14存取。使用事务窗数据来特性化有关包的传输或接收的某些特征(例如,排序),可扩展协议可更好地管理处理器之间包的传输。
例如,由于每一类型的存储器装置具有不同的延时,所以基于相应存储器装置的相应延时管理各种类型的存储器装置14与主机SoC 12之间的总线业务的流量可能是有利的。举例来说,DRAM装置通常具有快延时(例如,来自随机请求的50ns),而NAND装置通常具有慢延时(例如,500us),其在随机请求之后进行错误校正。SRAM缓冲器具有10ns的较快延时。记住这点,可扩展协议可指定每一存储器装置的事务窗。在一个实施例中,可扩展协议可使用两个字段来指定每一事务窗:48位地址及3位窗(即,对窗0到7寻址)。图4说明描绘指定包30中的事务窗的两个字段的框图。如图4中所展示,事务窗字段42及地址窗字段44可为有效负载字段34的部分。事务窗字段42可指定指定事务窗,且地址窗字段44可指定与指定的事务窗相关联的48位地址。48位地址可为指派给虚拟通道(即,窗)的虚拟地址。在一个实施例中,虚拟地址空间可参考定位在硬盘驱动器或某种其它存储装置上的物理地址。因而,存储器装置可具有存储比物理可用的数据多的数据的能力。
除事务窗字段42及地址窗字段44外,包可包含起始位46及间接层级字段48。起始位46可指示包的开始。间接层级字段48可为有效负载字段34的部分,且可提供指示相应事务可包含的间接层级数目的值。有关起始位字段46及间接层级字段48的额外细节将在下文的其它章节中予以更详细论述。
通常,每一类型的存储器装置可被指派给不同的事务窗。举例来说,DRAM0可被指派到Window0中,DRAM1可被指派到Window1中,DRAM2可被指派到Window2中,NAND0可被指派到Window3中,NAND1可被指派到Window4中,且SRAM缓冲器及控制寄存器可被指派到Window7中。记住这点,实例事务集合可根据以下序列发送:
(1)Read.Window0.AddressA
(2)Read.Window3.AddressB
(3)Read.Window0.AddressC
(4)Read.Window0.AddressD
(5)Read.Window0.AddressE
(6)Read.Window0.AddressF
(7)Read.Window3.AddressG
(8)Read.Window0.AddressH
(9)Read.Window0.AddressI
如上所展示,事务1、3到6、8及9是Window0的部分,其对应于DRAM存储器装置。另一方面,事务2及7是Window3的部分,其对应于NAND存储器装置。在接收到上述请求时,接收组件可使用根据针对每一事务指定的相应事务窗建立的排序规则响应于接收到的请求。因而,接收组件可使用事务窗来提供传输组件与接收组件之间的局部排序协议。
在一个实施例中,针对特定事务窗指定的排序规则可为基于与相应事务窗相关联的相应延时。即,在响应于具有较长延时的请求之前,接收组件可首先响应于涉及较低延时的请求。由于接收组件可能知道每一事务窗之间的延时差异,所以接收组件可根据其窗指定决定接收事务。因而,再次参考上文描述的实例事务,实施可扩展协议的接收组件可响应于上述请求如下:
(1)Data.Window0.AddressA
(3)Data.Window0.AddressC
(4)Data.Window0.AddressD
(5)Data.Window0.AddressE
(6)Data.Window0.AddressF
(8)Data.Window0.AddressH
(9)Data.Window0.AddressI
(2)Data.Window3.AddressB
(7)Data.Window3.AddressG
如上所展示,在响应于Window3的较高延时请求之前,接收组件可首先响应于Window0的低延时请求。即,长延时请求可比短延时请求迟传输。因此,送达请求的系统总线不受阻于相同总线上不同类别的存储器的存在,而不增加各种周密的协议复杂性,例如为字段增加请求优先级(REQUEST PRIORITY)。以此方式,可扩展协议以相对简单方式提供使用最小数目个位的复杂系统操作。
在另一实例中,接收组件可基于针对每一事务指定的对应事务窗采用局部排序方案。对于以下事务:
(1)Read8b.Window1.AddressA
(2)Read8b.Window2.AddressB
(3)Read8b.Window1.AddressC
接收组件可首先接收事务(1)且确定AddressA是否可用。如果AddressA较忙,那么接收组件可将事务(1)存储于队列中且等待AddressA变为可用。同时,接收组件可接着接收事务(2),且在AddressB可用的情况下执行读取操作。接收组件可接着接收事务(3),且由于其与和事务(1)相同的窗相关联,所以接收组件可确定是否存在有关在事务(1)前执行事务(3)的任何排序冲突,这是因为其是相同事务窗的部分。以相同方式,接收组件可忽略任何潜在的排序冲突或与事务(2)的任何潜在排序冲突的确定,这是因为其是不同事务窗的部分。因而,事务窗可提供在不同事务被执行的同时执行数据操作的更高效方式。即,由于事务窗允许操作与相关操作或存储器装置逻辑分组在一起,所以操作可按多种顺序执行,由此提供完成事务的灵活方式。相比之下,常规协议通常强制执行将根据事务被发送的顺序执行的数据操作的严格顺序,即使不同事务可按多种顺序执行,或可基于在专门的协议字段中包含所发送的优先级信息而处理事务。
在一个实施例中,可扩展协议可提供为每一窗指派最小事务大小的能力(例如,Window0.Size=8字节、Window3.Size=128B)。举例来说,如果Window0的最小传送大小是8个字节,那么针对48b地址字段,Window0可存储2^48*8个字节=~2.25x1015个字节。以相同方式,如果Window3的最小传送大小是128个字节,那么Window3可支持~3.6x1016个字节。因而,Window0及Window3两者支持明显比地址空间暗示的多的字节。
与事务窗相关联的另一特征包含其它空间(例如Window0SRAM及系统控制寄存器)的简单系统层级可寻址性,而不在协议中创建额外命令。即,SRAM及系统控制寄存器可通过简单使用Window0而寻址。另一方面,先前协议可使用额外命令(例如register.read及register.write)以与这些类型的存储器交互。在针对这些存储器类型指定事务窗的情况下,用于其它存储器装置的相同读取及写入命令也可用于SRAM及系统控制寄存器。即,读取及写入命令可简单指向合适的窗。因而,可扩展协议可采用更少命令,由此减少协议中所使用的位的数目。
通过根据事务类型组织数据事务,多个事务窗可提供对相同存储器类型的多个存取途径。举例来说,典型的DDR3DRAM可包含八个库,且内部总线可包含八个此类DRAM。记住这点,八个DRAM可经组织,使得Window1表示八个DDR3DRAM的群组的库0且Window2提供对此相同群组的库1的存取。以此方式,每一窗可指定每一DRAM的特定虚拟地址空间。记住这点,明显可获得若干适当的分组方法,这是因为可能存在在锁步(lock-step)操作中分组的任何数目个DRAM,其各自具有页、库及等级。以相同方式,NAND也可用页、平面及块分组。此外,多通道装置可依据通道及其各种聚合进一步分离。通常,分组选项可基于逻辑芯片设计的复杂性确定。
通过支持具有多个虚拟地址空间及虚拟通道的多个事务窗,可扩展协议可使用事务窗来在含具有不同延时的存储器的系统中建立可预测的数据排序。因此,可扩展协议可支持高优先级请求及低优先级请求,而无指定高优先级请求及低优先级请求如何排序的显式协议字段。
记住上述内容,图5说明用于为作为存储器装置14的部分的各种类型的存储器指派事务窗的方法50的流程图。虽然方法50按特定顺序描绘,但是应注意,方法50可按任何适当顺序执行,且因此不限于图中描绘的顺序。另外,为了论述目的,方法50的以下描述将被描述为由存储器SoC 22执行。因而,可以通信方式耦合到各种类型的存储器的任何适当处理器可执行方法50中描述的操作。
现参考图5,在框52处,存储器SoC 22可接收来自存储于存储器SoC 22本身内的寄存器或其它存储器组件的初始化信号。在一个实施例中,初始化信号可在通电时或在存储器装置14初次接收电力时由存储器SoC 22接收。
在框54处,存储器SoC 22可确定其能够存取的存储器类型。即,存储器SoC 22可扫描其通信分道(例如,通道29),且识别可能可以通信方式耦合到存储器SoC 22的不同类型的存储器。重新参考图2中描绘的实例存储器装置14,存储器SoC 22可确定RLDRAM 26、DDR428及NAND 24存储器类型耦合到存储器SoC 22。
在框56处,存储器SoC 22可确定在框54处识别的存储器类型中的每一者的能力。存储器类型的能力可包含存储器类型的容量、使用存储器类型的读取操作的预期延时、使用存储器类型的写入操作的预期延时及类似能力。可由存储器SoC 22识别用于指派事务窗的其它能力可包含读取延时、写入延时、带宽、最小读取事务大小、最小写入事务大小、装置循环时间、可就地写入与否、字节写入能力与否及类似能力。在某些实施例中,每一不同类型的存储器可与不同组能力相关联。不同类型的存储器与所述不同组的能力之间的关联性可被存储于存储器SoC 22的寄存器中或可由每一相应存储器类型提供。
在确定存储器类型的能力后,存储器SoC 22可在框58处基于每一存储器类型的相应能力将事务窗指派给在框54处识别的每一存储器类型。通常,存储器SoC 22可将每一类似存储器类型指派给相同事务窗。即,由于每一类似存储器类型具有类似能力,所以存储器SoC 22可将存储器类型指派给相同事务窗。举例来说,再次参考图2的实例存储器装置14,存储器SoC 22可将两个DDR4 28存储器指派给相同事务窗,这是因为其是相同的存储器类型。以相同方式,如果两个不同的存储器类型具有特定数目的类似能力,那么存储器SoC 22也可将两个存储器类型指派给相同事务窗。
在一个实施例中,存储器SoC 22可基于存储器SoC 22的期望操作将存储器类型指派给对应事务窗。例如,如果存储器SoC 22期望所有读取操作都具有至少特定延时,那么存储器SoC 22可将每一经识别存储器类型指派到满足此延时阈值的第一事务窗中,或指派到不满足此延时阈值的第二事务窗中。
在将事务窗指派给每一经识别存储器类型之后,存储器SoC 22可继续进行到框60,将每一事务窗的性质存储于存储装置中。存储装置可包含能够存储数据的任何适当装置。因而,存储装置可包含局部寄存器、表或一些其它信息存储单元。以此方式,存储器SoC22可根据如上所描述的排序规则针对每一存储器类型执行操作。在一些情况中,所存储性质可详述每一事务窗的特定能力连同有关每一事务窗的操作的其它相关信息。
专门函数的事务窗
为了提供在总线内混合不同类型的事务请求的更高效方式,存储器SoC 22或任何其它适当处理器可使用事务窗来确定请求被送达的顺序。如上文论述,由于每一类型的存储器装置具有不同的延时,所以基于相应存储器装置的相应延时管理各种类型的存储器装置14与主机SoC 12之间的总线业务的流量可能是有利的。
举例来说,如上文详述,事务窗可提供信息到接收组件以组织其响应于接收到的请求的方式。具体来说,接收组件可在响应于Window3的较高延时请求之前首先响应于Window0的低延时请求。因而,长延时请求可在短延时请求后被传输,且送达请求的系统总线未因存在阻止短延时请求被执行的长延时请求而受阻碍。
在一个实施例中,可扩展协议还可提供指派最小事务大小给每一窗(例如,Window0.Size=8字节、Window3.Size=128B)的能力。举例来说,如果Window0的最小传送大小是8字节,那么针对48b地址字段,Window0可存储248*8字节=~2.25x1015字节。以相同方式,如果Window3的最小传送大小是128字节,那么Window3可支持~3.6x1016字节。因而,Window0及Window3两者支持明显比地址空间暗示的多的字节。
与事务窗相关联的另一特征可包含其它空间(例如Window0SRAM及系统控制寄存器)的简单系统层级可寻址性,而不在协议中形成额外命令。即,SRAM及系统控制寄存器可通过简单使用Window0而寻址。另一方面,其它协议可使用额外命令,例如register.read及register.write以与这些类型的存储器交互。在具有针对这些存储器类型的指定事务窗的情况下,用于其它存储器装置的相同读取及写入命令也可用于SRAM及系统控制寄存器。即,读取及写入命令可简单指向合适的窗。因而,可扩展协议可采用更少命令,由此减少协议中所使用的位的数目。
记住上述内容,可见事务窗与不同存储器装置14相关联。在一个实施例中,每一存储器装置14可与至少两个事务窗相关联,其中一者为Window0。Window0可包含逻辑空间,其中可实施能够由相应存储器装置14执行的所有特殊或复杂函数。举例来说,Window0可为控制寄存器、缓冲器、SRAM高速缓存、通用SRAM及类似物的部分。因而,可能被相对复杂化来容易地在任何协议中表示的复杂函数可在相应装置的事务Window0内启用。即,可扩展协议可执行上述相对简单的事务类型操作(例如,读取、写入、RMW等等),而无需形成额外事务类型来执行不同类型的复杂函数。
除提供其中可实施能够由相应存储器装置14执行的所有特殊或复杂函数的逻辑空间外,Window0可充当连续位置,其中其它装置可咨询以确定相应装置的相应能力。即,其它装置可对相应装置的Window0进行存取以发现其可连接到的装置的类型、相应装置的能力、可在相应装置中编程的项目、有关相应装置的各种特性及类似物。
此外,由于可扩展协议被设计来实现抽象化存储器系统,所以使用可扩展协议的装置可执行相对简单的操作而不基于其可连接的相应装置符合或修改其命令。但是,如果其它装置期望执行可作为已知事务类型的部分的其它操作,那么其它装置可对Window0进行存取以确定其它操作可如何被执行。因而,Window0可存储特定算法或函数,其可由相应装置执行且无法广泛地适用于所有存储器装置。通过如上文论述针对每一相应装置采用Window0,可由各种装置执行各种类型的复杂操作而不在两个装置之间传输许多消息及事务操作来使一个装置能执行复杂操作。
图6说明用于使用存储器装置14执行专门操作的方法70的流程图。在某些实施例中,方法70可由存储器SoC 22执行,但应理解,能够与存储器组件以通信方式耦合的任何适当处理装置可执行方法70。
首先参考框72,存储器SoC 22可接收指示与存储器装置14的通信连接(例如,电、光学连接)已建立的信号。信号可在存储器装置14通电时接收。
在框74处,存储器SoC 22可从预定义存储器空间(例如,Window0)检索有关存储器装置14的信息。即,采用可扩展协议的每种类型的存储器装置14可包含预定义存储器地址,所述存储器地址可存储上文论述的Window0信息。因而,存储器SoC 22可获取有关存储器装置14的信息,其包含例如存储器装置14中的存储器空间,其中存储器装置14可执行各种功能、存储器装置14的能力、可由存储器装置14执行的各种算法或函数及类似物。
在获得有关存储器装置14的信息后,在框76处,存储器SoC 22可从主机SoC 12或耦合到存储器装置14的一些其它装置接收数据包。数据包可包含各种类型的数据操作,例如读取、写入、消息及类似物。在一些实施例中,数据操作可包含在框74处获取的信息指示可由存储器装置14执行的复杂或特殊函数。在此情况中,存储器SoC 22可接收这些包且使用专用存储器空间来执行操作、应用如由操作指定的算法或函数或类似物。
举例来说,存储器中处理器(PIM)型装置可包含非常少的智慧,且可具有从主机SoC12、存储器SoC 22或任何其它适当处理器传达到PIM内的控制硅的大序列的控制信息。控制硅可包含用于控制电子装置(例如PIM)的处理器或一些其它电路。控制信息可包含可由PIM执行的相对简单的操作。例如,控制信息可指示PIM执行向量A对向量B的向量比较,其将需要相对较小量的控制流量信息。向量操作可对应于SIMD(单指令、多数据)函数,其执行64K位对另一64K位的逐位比较,从而针对匹配的每个位置产生1的64K位回答且针对不匹配的每个位位置产生0。
控制信息可包含更复杂函数,例如可包含执行32位整数的向量相加的操作。为了执行此操作,PIM可使用可由控制信息流控制的高循环计数的事件。以相同方式,控制信息可包含更复杂函数,例如针对向量执行双精度64位浮点数学函数,例如(a+jb)*(c+jd)=e+jf。在此实例中,e=a*c-b*d,f=a*d+b*c。为了执行此操作,PIM可使用浮点正规化、结果中的适当指数及呈SIMD样式的操作数阵列。甚至更复杂的操作的实例包含通过执行数百万个别操作而执行视频流的H.264解码,所述个别操作中的每一者本身可采用PIM中的许多控制循环。
不管被执行的操作的复杂性,在框78处,存储器SoC 22可基于在框74处检索的信息执行包中指定的数据操作。即,参考上文论述的实例,存储器SoC 22可使用简单协议命令及相应装置的Window0中可用的数据执行任何类型的操作。例如,有关上文论述的向量逐位比较操作的简单操作的实例,执行操作的组件可仅采用控制信息的几个循环且接着整个序列可从可利用的物理容纳Window0控制寄存器、缓冲器等等的组件(例如,存储器SoC 22)被输出到容纳PIM硬件的硅装置。如果向量逐位比较操作可仅使用256个位的控制信息传达,那么单个写入命令(例如,32uWrite-写入32个数据单元,其中单元是8个位)可将32个位写入到合适的Window0控制寄存器。支持PIM的SoC可经设计,使得其具有转译硬件以使用可能与本文中描述的可扩展协议不同的PIM装置的原生协议,将来自控制寄存器的信息发送到PIM装置。在此,向量比较操作也可能已被简单地直接寻址到PIM本身的特定地址,前提是PIM具有可寻址控制寄存器以执行此操作。
考虑执行32位整数的向量加法的更复杂实例,此操作可能需要针对单个位的一些小数目的循环(例如,6个控制循环)。但是,当将数据大小增大到32个位时,操作可被视为32x那些6个控制循环,且在考虑可能涉及额外移位时甚至更多。在此情况中,整个控制序列可在SoC的window0中建立。一旦控制序列的第一部分准备好,控制序列的第一部分就可被发送到PIM。以相同方式,一旦控制序列的第二部分准备好,控制序列的第二部分就可被发送到PIM。此过程可继续直到整个函数完成。
在某些实施例中,控制序列可以多种方式在Window0内构造。举例来说,为了提供有关涉及最小量的数据流量的有效方式,控制序列可使用建立宏的直接存储器存取(DMA)方法构造。实例个别DMA传送可为如下:RMW2A,1KB的数据,从Window.2地址xyz到Window.0地址abc。以此方式,原始命令(例如比较、加法、乘法等等)可存储在非易失性存储器中,所述非易失性存储器可驻留在相同事务窗中(例如,如果在SoC中使用嵌入式NOR快闪)或在不同事务窗中(例如,如果使用可由SoC存取的NANDFLASH)。在一个实施例中,更复杂宏可通过执行较小宏从非易失性装置的DMA传送且按合适的顺序从若干小宏拼凑大的复杂宏而简单地建立。在此,当宏被完全组装时,指令流的零碎部分可被发送到PIM装置用于执行。
可扩展错误控制代码
除上文描述的特征外,由错误控制代码的成功实施辅助可扩展协议的各种方面。然而,为了发送数据的位高效包,可扩展协议可实施用于错误检测的错误控制代码,所述错误控制代码可基于包30的对应有效负载字段34的数据长度扩展。即,在一个实施例中,可扩展协议可在数据长度增大时使用少量校验位(P位)以涵盖短数据长度及逐渐更大数目的P位。通常,被涵盖数据长度与所采用的P位的数目之间的关系对应于针对任何给定数据长度的最佳可能循环冗余校验(CRC)码。基于数据长度的大小扩展所使用的P位的数目可结合各种类型的存储器技术利用,所述存储器技术具有用于信息通信的总线,例如DRAM、NAND、新兴存储器、控制器及类似物。
在一个实施例中,与可具有用于错误校正及检测的位数目的绝对要求的常规固态装置相比,可扩展协议可基于被验证数据是否具有可接受量的错误而在错误码检测的各种层级之间切换。即,可扩展协议可最初使用较小计算密集型错误控制代码来确定被验证数据是否具有可接受量的错误。在检测到数据包含高于某一阈值的错误时,可扩展协议可包含使用更计算密集的错误控制代码来确定数据的错误。
为了在并入可扩展或动态设定大小的ECC字段的同时校验对应有效负载的错误,可扩展协议可实施错误控制代码算法,其具有3(HD3)、4(HD4)、5(HD5)、6(HD6)或类似的汉明距离(Hamming Distance)。在任何情况中,实施汉明距离算法的错误控制代码的大小可基于包中的有效负载的大小改变。因而,事务类型字段32可在错误控制代码中指定特定数目个位,使得所指定位的数目可与包的有效负载中位的数目直接相关。通过使ECC能在包内被动态设定大小,可扩展协议可进一步增大有关每一数据传送或事务的位效率。换句话来说,由于相对较小数据有效负载的完整性使用相对较小ECC字段验证,所以使用较大ECC字段来验证相应数据有效负载的完整性可能是低效的。
记住这点,HD3错误控制代码可检测任何1位或2位错误。HD3码也可具有检测任何3位错误的高概率,但不保证3位错误的检测。在一个实施例中,HD3错误控制代码可适用于无限数据长度的代码。在经由XOR门的集合在硬件中实施HD3错误控制代码的一个实例中,对于数据位#1,值可为3或二进制00…0011。在此,最低有效位是最右侧位。那个位位置中的“1”意味着可使用来自数据位1的XOR项的校验位0。下一最左侧位也可为“1”,其指示校验位1可使用来自数据位#1的XOR项。由于不存在更多2P位长的输入项,所以P位计数可按1增大。以相同方式,如果数据位#2具有5或二进制0…0101的值,那么来自数据位#2的XOR项可用于后续P位号码0及2。对于具有6或二进制0…0110的值的数据位#3,来自数据位#3的XOR项可用于P位号码1及2。对于具有7或二进制0…0111的值的数据位#4,来自数据位4的XOR项可用于P位号码1、2及3。如在此实例中展示,P位的数目随数据位值增大而增加。记住这点,下列表1概括P位的数目如何根据HD3错误控制代码的有效负载字段的数据长度而增大。
表1
如同HD3错误控制代码,HD4错误控制代码也可基于包中数据有效负载的大小而使用可扩展数目个P位。此HD4错误控制代码可检测数据有效负载中的所有1位、2位及3位错误,且可能无法检测小百分比的4位或更高位的错误。
在针对数据位#1,经由XOR门的集合在硬件中实施HD4错误控制代码的实例中,值可为7或二进制00...00111。在此,最低有效位的那个位位置中的“1”意味着校验位0可使用来自数据位1的XOR项。下一最左侧位也可为“1”,其指示校验位1可使用来自数据位#1的XOR项。由于下一最左侧位也可为“1”,所以校验位2可使用来自数据位#1的XOR项。此时,当不存在更多2P位长的输入项时,P位计数可按1增大。
如果数据位#2具有11或二进制0...1101的值,那么来自数据位#2的XOR项用于后续P位号码0、2及3。对于具有13或二进制0...1110的值的数据位#3,来自数据位#3的XOR项可用于P位号码0、2及3。对于具有14或二进制0...1110的值的数据位#4,来自数据位4的XOR项可用于P位号码1、2及3。如在此实例中所展示,P位的数目随数据位值增大而增加。记住这点,下列表2概括P位的数目如何根据HD4错误控制代码的有效负载字段的数据长度而增大。
表2
如上表中所展示,所支持的数据长度是大体上比相同P位计数的可能CRC代码长的数据长度。此外,不管可扩展协议采用HD3错误控制代码、HD4错误控制代码、HD5错误控制代码等等,由于ECC字段的大小基于数据有效负载的大小变化,所以可扩展协议可实现与常规协议相比更位高效的包传输。
在某些实施例中,当将包发送到主机SoC 12时,存储器SoC 22可基于被传输的有效负载的大小产生错误控制代码。即,存储器SoC 22可接收将被传输到主机SoC 12的包。存储器SoC 22可接着基于在包中传输的有效负载的大小确定ECC字段36的大小。因而,在确定包的大小后,存储器SoC 22可识别合适的ECC算法以用来对包进行编码。存储器SoC 22可接着使用所识别ECC算法对包进行编码,且接着将经编码包发送到主机SoC 12。
系统窗
在具有彼此通信的多个主机处理器及多个存储器模块的计算机系统中,可能难以确定哪个主机处理器正与哪个存储器模块通信。在常规协议中,每一主机处理器及存储器模块可监听主机处理器与存储器模块之间的每一通信以确定相应通信是否与其相关联。然而,监听主机处理器与存储器模块之间的每一通信可能是识别通信的低效方式。
为了提供识别可能与特定装置相关的通信的更高效方式,可扩展协议可包含针对系统中的每一块控制硅(例如,主机处理器、存储器ASIC等等)指派特定识别符(ID)或系统窗(例如,SysWin0、SysWin1、SysWin2等等)。系统窗可类似于事务窗,其中其可为使用虚拟地址空间实施的虚拟通道。系统窗可包含源字段(例如,sourceSysWin)及目的地字段(例如,destinationSysWin),其可指示相应通信的源及相应通信的目的地。因而,当与其它装置通信时,传输组件可将事务操作或通信附加合适的系统窗以指示通信的目的地。
记住这点,可扩展协议可使用若干系统窗(或系统窗)来形成全局启用、完全分布的存储器管理单元(MMU)。MMU可保护存储器装置14不受对相应存储器装置14中的特定信息进行存取的其它组件的影响。MMU还可提供虚拟存储器空间与实际存储器空间之间的映射。通过将系统窗并入到各种主机处理器与存储器模块之间的每一通信中,可扩展协议可通过允许每一相应存储器装置局部管理系统窗层级的通信而实现全局MMU系统。即,每一存储器装置的ASIC可基于与接收到的通信相关联的系统窗而强制执行与相应存储器装置相关联的任何局部规则。因而,通过为每一通信指派特定系统窗以指示与其相关联的相应控制硅,可扩展协议可实现局部管理对每一相应存储器装置14的存取的全局存储器管理单元(MMU)。
以此方式,系统窗可被添加到可扩展协议以实现到总系统的各种类型的能力。从可扩展协议的角度来看,如上所述,系统窗可包含两个字段:sourceSysWin及destinationSysWin,其可实现大型系统中包的全局路由。
除全局路由特征外,系统窗使可扩展协议能组合系统窗、事务窗、通道及安全方法的方面以形成全局存储器管理单元。例如,针对每一存储器装置的安全模型可扩展到多SoC系统且因此可在多SoC系统内实现分布式全局存储器管理方案及实现针对多SoC系统的分布式全局存储器安全。
如上所述,系统窗(SysWin)可为驻留在系统中的SoC(例如,主机SoC 12及存储器SoC 22)的全局地址。在存储器上下文中,事务窗可为到可能与多个完整存储器装置相关联或小到存储器装置的单页的存储器的区域的端口。通道可以是指物理全双工总线,其将SoC附接到系统中的其它SoC。
在某些实施例中,通道及事务窗(CHANNNEL.WINDOW)可与安全区相关联,所述安全区可通过将保护网关管理器(gatekeeper)放置在到存储器数据的入口处而阻止未授权存取。安全区可为物理通道(例如,CHANNEL)及通过那个通道存取的事务窗(例如,WINDOW)的组合。在小型系统中,其中存在芯片上主机系统(SoC)及通过存储器模块(MM)SoC存取的存储器子系统,SoC大体上以固定拓扑构造。即,SoC可被焊接在印刷电路板上,使得总线被接线且不改变物理互连。因此,仅SoC的建立实体可针对正常操作在那些总线上通信。
为了提供针对存储器数据的安全特征,可针对每一安全区建立存取列表。例如,主机及MM SoC内可具有经存储密钥。MM SoC中的存取列表最初可为空的。在通电时,交握可发生以实现主机SoC获得对保存在MM SoC下游的数据的存取的期望。因而,主机SoC可发送消息到MM SoC以添加项目到存取列表。消息可包含从经存储密钥的互相已知多项式函数及主机SoC及MM SoC两者已知的特定数据块产生的代码。因此,经存储密钥可能无法由总线存取。此代码可由MM SoC验证,且如果有效,那么MM SoC可允许项目被添加到MM SoC的存取列表。举例来说,如果系统具有被命名为0及1的2个物理通道,且MM SoC经配置以具有1024个窗(0到1023),那么主机SoC可能想要窗0到27可通过通道0存取,及窗28到1023可通过通道1存取。在此,主机SoC可通过发送包含用于添加到存取列表的单个或多个操作的消息而针对这些窗中的每一者作出存取请求。
消息可使用写入、读取-修改-写入或消息包发送。即,这些类型的包中的任何者可用于作出请求以将项目添加到存取列表。
在某些实施例中,也可作出请求以将输入项从存取列表移除。即,有时,可能不再期望存取。因而,为了安全,主机SoC可要求通过遵循使用消息中用于移除输入项的代码的相同程序而移除输入项。
作为上文参考安全区描述的方法的结果,可能提供针对错误软件的保护等级,尤其在通过计数及窗计数为高的情况下。举例来说,如果在正常运行时的特定软件执行线程仅被提供对窗1到通道0中的数据的存取,那么MM SoC可意识到请求的任何经授权元素应在针对窗17的通道0上进入。由于所述通道上的任何其它请求未经授权,所以其它窗后方的存储器因此可被保护不被读取或写入。
实施安全区的另一优点包含提供针对恶意威胁的安全性。例如,如果主机SoC未经焊接且攻击者试图探测MM SoC后方的存储器,那么即使攻击者知道正确协议,攻击者仍无法存取任何东西,这是因为攻击者没有经存储的密钥。因而,当系统通电时,攻击者仍不知道如何添加任何东西到存取列表,且攻击者的任何存取请求将被拒绝。
此外,通过提供安全区,CPU存储器管理单元的功能可被取代。使用ARM处理器的实例,MMU可具有可选择为4KB或64KB的页大小。假设所有页是4KB,且窗的晶粒大小(即,最小操作大小)是8B,页内的地址可为9个位。现在假设系统容量是16GB的物理存储器,窗字段可为至少18个位(实际上19,这是因为可能存在用于控制寄存器、缓冲器等等的Window0)。在4KB的存储器驻留在每一窗中的情况下使用2^18个窗来对存储器进行存取,针对虚拟存储器到物理存储器的1对1映射可能存在。因此,可实现可提供到物理存储器的存取安全的系统。如果窗计数进一步增大,那么可接着支持到虚拟存储器的安全。即,物理存储器的每一4KB块可被映射到一个以上窗中。
记住安全区的论述,系统窗(SysWin)可将上文描述的安全特征扩展到多SoC系统以实现针对多SoC系统的分布式全局存储器管理及针对多SoC系统的分布式全局存储器安全。即,当多个SoC存在于系统中时,上文描述的安全区无法充分提供针对每一SoC的安全,这是因为上文描述的安全区可依赖单个主机SoC的存在。应注意,上文描述的安全区可结合多个MM SoC正确起作用,只要在那多个MM SoC之间无包转发发生。然而,当情况并非如此时,通信可能变得较不安全。
通过在协议中添加sourceSysWin及destinationSysWin字段,安全区的能力可扩展到具有多个SoC的系统。即,在一个实施例中,安全区可从CHANNEL.WINDOW改变为CHANNEL.SYSWIN.WINDOW。安全的存取列表可接着反映添加的字段。在具有多个SoC的此较大系统中,上文描述的安全区的相同益处存在,但扩展到任何大小的系统。因此,形成具有全局强制执行的安全及全局范围但局部执行的存储器管理及保护的能力。
记住上述内容,图7说明用于产生受信任组件的安全存取列表的方法90的流程图。方法90的以下描述将被描述为由存储器SoC 22执行,但是应理解,任何适当处理器可执行方法90。
现在参考图7,在框92处,存储器SoC 22可接收来自传输组件(例如,主机SoC 12)的包。在一个实施例中,包可为由存储器SoC 22从传输组件接收的第一包。因而,存储器SoC22可能不知道是否信任从传输组件接收到的包。
在接收到包时,在框94处,存储器SoC 22可使用第一密钥(例如,密钥1)修改包。在某些实施例中,使用本文中描述的可扩展协议操作的每一传输及接收组件可将加密密钥存储在其上以确定相应组件是否经授权以执行与包相关联的数据操作。由于密钥被存储于每一相应组件上,所以密钥无法经由传输被拦截。即,使用本文中描述的密钥建立的信任区从末端节点形成,且因此提供安全区。
在用第一密钥修改包后,在框96处,存储器SoC 22可将使用第一密钥修改的装传输回到传输组件。传输组件可再次修改使用第一密钥修改的包。即,传输组件可使用第二密钥(例如,密钥2)修改被密钥1修改的包。在修改被密钥1修改的包后,传输组件可将被密钥2修改的包发送回到存储器SoC 22。
在框98处,存储器SoC 22可从传输组件接收被密钥2修改的包。如果传输组件是在可扩展协议内操作的受信任组件,那么用于修改被密钥1修改的包的密钥(例如,密钥2)应形成存储器SoC 22将识别为有效的一些结果。因而,在框100处,存储器SoC 22可验证传输组件是否值得信任或是否具有基于被密钥2修改的包将组件确立为值得信任组件的认证。
如果传输组件被确定是值得信任,那么存储器SoC 22可继续进行到框102,且将包或传输组件的系统窗识别符添加到相对于存储器SoC 22本地存储的受信任列表。因而,存储器SoC 22允许来自经由特定通道接收且具有特定事务或系统窗的传输组件的包被接收。如果传输组件被确定为不值得信任,那么可在框104处将错误消息发送到传输组件。以此方式,存储器装置14的硬件可用于提供有关包传输的一些安全保护。
虽然本文中描述的实施例可具有各种修改及替代形式,但是特定实施例已在图式中通过实例展示且已在本文中予以详细描述。然而,应理解,本发明并不希望限于所揭示的特定形式。而是,本发明将涵盖落于如由以下所附权利要求书定义的本发明的精神及范围内的所有修改、等效物及替代。

Claims (5)

1.一种存储器装置,其包括:
存储器组件,其经配置以存储数据;及
处理器,其经配置以:
接收指示所述存储器组件耦合到所述处理器的信号;
从所述存储器组件检索关于所述存储器装置的信息,其中关于所述存储器装置的所述信息包括能够由所述存储器装置执行的一个或多个算法,其中所述一个或多个算法经配置以由所述存储器装置在所述存储器组件的专用存储器空间中执行;
基于所检索的所述信息,从位于所述存储器装置外部的另一装置接收与有关所述存储器组件的一个或多个数据操作相关联的一个或多个封包;及
通过使用所述存储器装置以采用所述一个或多个算法而执行所述一个或多个数据操作。
2.根据权利要求1所述的存储器装置,其中所述信号在于所述处理器处接收电力时被接收。
3.根据权利要求1所述的存储器装置,其中所述信息被存储于所述存储器组件的预先确定地址中。
4.根据权利要求1所述的存储器装置,其中所述存储器组件包括动态随机存取存储器、静态随机存取存储器、NAND存储器或其任何组合。
5.根据权利要求1所述的存储器装置,其中所述信息包括所述存储器组件的存储器地址,其中所述存储器地址用于执行所述一个或多个数据操作。
CN201580040829.7A 2014-06-02 2015-06-01 用于改进存储器系统的效率的系统及方法 Active CN106575257B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910363451.4A CN110262751A (zh) 2014-06-02 2015-06-01 用于改进存储器系统的效率的系统及方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462006668P 2014-06-02 2014-06-02
US62/006,668 2014-06-02
US14/724,558 2015-05-28
US14/724,558 US9696920B2 (en) 2014-06-02 2015-05-28 Systems and methods for improving efficiencies of a memory system
PCT/US2015/033574 WO2015187578A1 (en) 2014-06-02 2015-06-01 Systems and methods for improving efficiencies of a memory system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201910363451.4A Division CN110262751A (zh) 2014-06-02 2015-06-01 用于改进存储器系统的效率的系统及方法

Publications (2)

Publication Number Publication Date
CN106575257A CN106575257A (zh) 2017-04-19
CN106575257B true CN106575257B (zh) 2019-05-28

Family

ID=54701759

Family Applications (9)

Application Number Title Priority Date Filing Date
CN201580040829.7A Active CN106575257B (zh) 2014-06-02 2015-06-01 用于改进存储器系统的效率的系统及方法
CN201580037256.2A Active CN106489134B (zh) 2014-06-02 2015-06-01 用于在可扩展存储器系统协议中包封数据的系统及方法
CN201580037235.0A Active CN106471474B (zh) 2014-06-02 2015-06-01 用于在可扩展存储器系统协议中传输包的系统及方法
CN201580037266.6A Active CN106489136B (zh) 2014-06-02 2015-06-01 用于在可扩展存储器系统协议中调节包传输的系统及方法
CN201810797365.XA Active CN109032516B (zh) 2014-06-02 2015-06-01 用于在可扩展存储器系统协议中包封数据的系统及方法
CN202111246413.4A Pending CN113971004A (zh) 2014-06-02 2015-06-01 用于在可扩展存储器系统协议中包封数据的系统及方法
CN201580035917.8A Active CN106471485B (zh) 2014-06-02 2015-06-01 用于在可扩展存储器系统协议中重新排序数据包传输的系统及方法
CN201910363451.4A Pending CN110262751A (zh) 2014-06-02 2015-06-01 用于改进存储器系统的效率的系统及方法
CN201580035967.6A Active CN106471460B (zh) 2014-06-02 2015-06-01 用于在存储器系统中分割数据结构的系统及方法

Family Applications After (8)

Application Number Title Priority Date Filing Date
CN201580037256.2A Active CN106489134B (zh) 2014-06-02 2015-06-01 用于在可扩展存储器系统协议中包封数据的系统及方法
CN201580037235.0A Active CN106471474B (zh) 2014-06-02 2015-06-01 用于在可扩展存储器系统协议中传输包的系统及方法
CN201580037266.6A Active CN106489136B (zh) 2014-06-02 2015-06-01 用于在可扩展存储器系统协议中调节包传输的系统及方法
CN201810797365.XA Active CN109032516B (zh) 2014-06-02 2015-06-01 用于在可扩展存储器系统协议中包封数据的系统及方法
CN202111246413.4A Pending CN113971004A (zh) 2014-06-02 2015-06-01 用于在可扩展存储器系统协议中包封数据的系统及方法
CN201580035917.8A Active CN106471485B (zh) 2014-06-02 2015-06-01 用于在可扩展存储器系统协议中重新排序数据包传输的系统及方法
CN201910363451.4A Pending CN110262751A (zh) 2014-06-02 2015-06-01 用于改进存储器系统的效率的系统及方法
CN201580035967.6A Active CN106471460B (zh) 2014-06-02 2015-06-01 用于在存储器系统中分割数据结构的系统及方法

Country Status (6)

Country Link
US (16) US9733847B2 (zh)
EP (6) EP3149602B1 (zh)
KR (3) KR102196747B1 (zh)
CN (9) CN106575257B (zh)
TW (6) TWI547799B (zh)
WO (6) WO2015187572A1 (zh)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9606928B2 (en) * 2014-08-26 2017-03-28 Kabushiki Kaisha Toshiba Memory system
US10127383B2 (en) * 2014-11-06 2018-11-13 International Business Machines Corporation Resource usage optimized auditing of database shared memory
US9817602B2 (en) * 2014-11-13 2017-11-14 Violin Systems Llc Non-volatile buffering for deduplication
GB2539443B (en) * 2015-06-16 2020-02-12 Advanced Risc Mach Ltd A transmitter, a receiver, a data transfer system and a method of data transfer
ES2934610T3 (es) * 2016-02-19 2023-02-23 Viasat Inc Métodos y sistemas para la asignación de capacidad de red multinivel
US9997232B2 (en) * 2016-03-10 2018-06-12 Micron Technology, Inc. Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations
TWI587133B (zh) * 2016-05-20 2017-06-11 慧榮科技股份有限公司 資料儲存裝置之資料頁對齊方法及其查找表的製作方法
JP2018049387A (ja) * 2016-09-20 2018-03-29 東芝メモリ株式会社 メモリシステム及びプロセッサシステム
US11314648B2 (en) * 2017-02-08 2022-04-26 Arm Limited Data processing
US10216671B2 (en) 2017-02-27 2019-02-26 Qualcomm Incorporated Power aware arbitration for bus access
US10784986B2 (en) 2017-02-28 2020-09-22 Intel Corporation Forward error correction mechanism for peripheral component interconnect-express (PCI-e)
US10318381B2 (en) * 2017-03-29 2019-06-11 Micron Technology, Inc. Selective error rate information for multidimensional memory
BR112019026942B1 (pt) 2017-06-23 2024-02-15 Huawei Technologies Co., Ltd Tecnologia de acesso à memória e sistema de computador
US10713189B2 (en) * 2017-06-27 2020-07-14 Qualcomm Incorporated System and method for dynamic buffer sizing in a computing device
US11294594B2 (en) * 2017-08-07 2022-04-05 Kioxia Corporation SSD architecture supporting low latency operation
US10387242B2 (en) 2017-08-21 2019-08-20 Qualcomm Incorporated Dynamic link error protection in memory systems
US10592121B2 (en) * 2017-09-14 2020-03-17 Samsung Electronics Co., Ltd. Quasi-synchronous protocol for large bandwidth memory systems
US10963003B2 (en) 2017-10-20 2021-03-30 Graphcore Limited Synchronization in a multi-tile processing array
GB201717295D0 (en) 2017-10-20 2017-12-06 Graphcore Ltd Synchronization in a multi-tile processing array
GB2569275B (en) * 2017-10-20 2020-06-03 Graphcore Ltd Time deterministic exchange
GB2569276B (en) 2017-10-20 2020-10-14 Graphcore Ltd Compiler method
CN107943611B (zh) * 2017-11-08 2021-04-13 天津国芯科技有限公司 一种快速产生crc的控制装置
US10824376B2 (en) 2017-12-08 2020-11-03 Sandisk Technologies Llc Microcontroller architecture for non-volatile memory
US10622075B2 (en) 2017-12-12 2020-04-14 Sandisk Technologies Llc Hybrid microcontroller architecture for non-volatile memory
CN110022268B (zh) * 2018-01-09 2022-05-03 腾讯科技(深圳)有限公司 一种数据传输控制方法、装置及存储介质
CN108388690B (zh) * 2018-01-16 2021-04-30 电子科技大学 元胞自动机实验平台
KR20190099879A (ko) * 2018-02-20 2019-08-28 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US10810304B2 (en) 2018-04-16 2020-10-20 International Business Machines Corporation Injecting trap code in an execution path of a process executing a program to generate a trap address range to detect potential malicious code
US11003777B2 (en) 2018-04-16 2021-05-11 International Business Machines Corporation Determining a frequency at which to execute trap code in an execution path of a process executing a program to generate a trap address range to detect potential malicious code
US10929033B2 (en) * 2018-04-25 2021-02-23 Micron Technology, Inc. Allocating variable media types of memory devices in a memory system
US10831653B2 (en) * 2018-05-15 2020-11-10 Micron Technology, Inc. Forwarding code word address
US11003375B2 (en) 2018-05-15 2021-05-11 Micron Technology, Inc. Code word format and structure
US10496478B1 (en) * 2018-05-24 2019-12-03 Micron Technology, Inc. Progressive length error control code
US10409680B1 (en) * 2018-05-24 2019-09-10 Micron Technology, Inc. Progressive length error control code
US11074007B2 (en) 2018-08-08 2021-07-27 Micron Technology, Inc. Optimize information requests to a memory system
US10969994B2 (en) * 2018-08-08 2021-04-06 Micron Technology, Inc. Throttle response signals from a memory system
TWI819072B (zh) * 2018-08-23 2023-10-21 美商阿爾克斯股份有限公司 在網路運算環境中用於避免環路衝突的系統、非暫態電腦可讀取儲存媒體及電腦實現方法
KR102541897B1 (ko) 2018-08-27 2023-06-12 에스케이하이닉스 주식회사 메모리 시스템
US11061751B2 (en) 2018-09-06 2021-07-13 Micron Technology, Inc. Providing bandwidth expansion for a memory sub-system including a sequencer separate from a controller
US11080210B2 (en) 2018-09-06 2021-08-03 Micron Technology, Inc. Memory sub-system including an in package sequencer separate from a controller
US10838909B2 (en) 2018-09-24 2020-11-17 Hewlett Packard Enterprise Development Lp Methods and systems for computing in memory
US10771189B2 (en) 2018-12-18 2020-09-08 Intel Corporation Forward error correction mechanism for data transmission across multi-lane links
WO2020135385A1 (zh) * 2018-12-29 2020-07-02 上海寒武纪信息科技有限公司 通用机器学习模型、模型文件的生成和解析方法
CN109815043B (zh) * 2019-01-25 2022-04-05 华为云计算技术有限公司 故障处理方法、相关设备及计算机存储介质
US11637657B2 (en) 2019-02-15 2023-04-25 Intel Corporation Low-latency forward error correction for high-speed serial links
US10997111B2 (en) 2019-03-01 2021-05-04 Intel Corporation Flit-based packetization
US11249837B2 (en) 2019-03-01 2022-02-15 Intel Corporation Flit-based parallel-forward error correction and parity
US10777240B1 (en) 2019-03-07 2020-09-15 Sandisk Technologies Llc Efficient control of memory core circuits
TWI810262B (zh) * 2019-03-22 2023-08-01 美商高通公司 用於計算機器的可變位元寬資料格式的單打包和拆包網路及方法
US10983795B2 (en) * 2019-03-27 2021-04-20 Micron Technology, Inc. Extended memory operations
US11296994B2 (en) 2019-05-13 2022-04-05 Intel Corporation Ordered sets for high-speed interconnects
US10877889B2 (en) * 2019-05-16 2020-12-29 Micron Technology, Inc. Processor-side transaction context memory interface systems and methods
US10971199B2 (en) 2019-06-20 2021-04-06 Sandisk Technologies Llc Microcontroller for non-volatile memory with combinational logic
US11740958B2 (en) 2019-11-27 2023-08-29 Intel Corporation Multi-protocol support on common physical layer
KR20220110295A (ko) 2019-12-26 2022-08-05 마이크론 테크놀로지, 인크. 적층 메모리 시스템을 위한 진리표 확장
KR20220116259A (ko) 2019-12-26 2022-08-22 마이크론 테크놀로지, 인크. 적층 메모리 시스템의 비-결정 동작을 위한 기술
EP4081889A4 (en) 2019-12-26 2023-05-31 Micron Technology, Inc. HOST TECHNIQUES FOR STACKED STORAGE SYSTEMS
KR20210091404A (ko) 2020-01-13 2021-07-22 삼성전자주식회사 메모리 장치, 메모리 모듈 및 메모리 장치의 동작 방법
US11507498B2 (en) 2020-03-05 2022-11-22 Sandisk Technologies Llc Pre-computation of memory core control signals
US11812909B2 (en) 2020-04-10 2023-11-14 The Procter & Gamble Company Cleaning implement with a rheological solid composition
US11474743B2 (en) 2020-08-13 2022-10-18 Micron Technology, Inc. Data modification
US11494120B2 (en) * 2020-10-02 2022-11-08 Qualcomm Incorporated Adaptive memory transaction scheduling
TWI763131B (zh) * 2020-11-18 2022-05-01 瑞昱半導體股份有限公司 網路介面裝置、包含該網路介面裝置之電子裝置,及網路介面裝置的操作方法
US11409608B2 (en) * 2020-12-29 2022-08-09 Advanced Micro Devices, Inc. Providing host-based error detection capabilities in a remote execution device
US11481270B1 (en) * 2021-06-16 2022-10-25 Ampere Computing Llc Method and system for sequencing data checks in a packet
CN113840272B (zh) * 2021-10-12 2024-05-14 北京奕斯伟计算技术股份有限公司 数据传输方法、数据传输装置以及电子装置
US11886367B2 (en) * 2021-12-08 2024-01-30 Ati Technologies Ulc Arbitration allocating requests during backpressure
CN114301995B (zh) * 2021-12-30 2023-07-18 上海交通大学 实时工业以太网协议的转换切换与互通融合系统及其方法
US20230236992A1 (en) * 2022-01-21 2023-07-27 Arm Limited Data elision
US11922026B2 (en) 2022-02-16 2024-03-05 T-Mobile Usa, Inc. Preventing data loss in a filesystem by creating duplicates of data in parallel, such as charging data in a wireless telecommunications network
US11914473B1 (en) * 2022-10-20 2024-02-27 Micron Technology, Inc. Data recovery using ordered data requests

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1501258A (zh) * 2002-10-10 2004-06-02 英特尔公司 用于依据存储器访问模式执行数据存取的装置和方法
WO2011071645A1 (en) * 2009-12-07 2011-06-16 Sandisk Corporation Method and system for concurrent background and foreground operations in a non-volatile memory array

Family Cites Families (214)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7380092B2 (en) 2002-06-28 2008-05-27 Rambus Inc. Memory device and system having a variable depth write buffer and preload method
USRE36751E (en) * 1987-07-15 2000-06-27 Hitachi, Ltd. ATM switching system connectable to I/O links having different transmission rates
EP0453863A2 (en) 1990-04-27 1991-10-30 National Semiconductor Corporation Methods and apparatus for implementing a media access control/host system interface
US5379297A (en) * 1992-04-09 1995-01-03 Network Equipment Technologies, Inc. Concurrent multi-channel segmentation and reassembly processors for asynchronous transfer mode
JPH05308373A (ja) * 1992-04-28 1993-11-19 Matsushita Electric Ind Co Ltd スター型分散制御ネットワークおよびそれに用いる端末装置
US5771247A (en) * 1994-10-03 1998-06-23 International Business Machines Corporation Low latency error reporting for high performance bus
US6725349B2 (en) 1994-12-23 2004-04-20 Intel Corporation Method and apparatus for controlling of a memory subsystem installed with standard page mode memory and an extended data out memory
US5781449A (en) * 1995-08-10 1998-07-14 Advanced System Technologies, Inc. Response time measurement apparatus and method
US5978874A (en) * 1996-07-01 1999-11-02 Sun Microsystems, Inc. Implementing snooping on a split-transaction computer system bus
US5935213A (en) * 1996-05-02 1999-08-10 Fore Systems, Inc. System and method for generating explicit rate value information for flow control in ATAM network
US5918182A (en) * 1996-08-30 1999-06-29 Motorola, Inc. Method and apparatus for mitigating data congestion in an integrated voice/data radio communications system
US5754567A (en) 1996-10-15 1998-05-19 Micron Quantum Devices, Inc. Write reduction in flash memory systems through ECC usage
US6272600B1 (en) 1996-11-15 2001-08-07 Hyundai Electronics America Memory request reordering in a data processing system
US6208655B1 (en) * 1996-11-27 2001-03-27 Sony Europa, B.V., Method and apparatus for serving data
US6292834B1 (en) * 1997-03-14 2001-09-18 Microsoft Corporation Dynamic bandwidth selection for efficient transmission of multimedia streams in a computer network
KR100247022B1 (ko) * 1997-06-11 2000-04-01 윤종용 Atm 스위칭 시스템의 단일 스위치 소자 및 버퍼 문턱값 결정 방법
US6021124A (en) * 1997-08-19 2000-02-01 Telefonaktiebolaget Lm Ericsson Multi-channel automatic retransmission query (ARQ) method
US6516442B1 (en) * 1997-12-07 2003-02-04 Conexant Systems, Inc. Channel interface and protocols for cache coherency in a scalable symmetric multiprocessor system
JP2881418B1 (ja) * 1998-02-20 1999-04-12 一男 佐藤 識別データー記載シリコン基板およびその製造方法
JP3650262B2 (ja) * 1998-03-20 2005-05-18 富士通株式会社 セルの転送レート制御装置およびその方法
US6782490B2 (en) * 1999-03-17 2004-08-24 At&T Corp. Network-based service for the repair of IP multicast sessions
US6952401B1 (en) * 1999-03-17 2005-10-04 Broadcom Corporation Method for load balancing in a network switch
US7668189B1 (en) * 1999-07-08 2010-02-23 Thomson Licensing Adaptive transport protocol
US6751698B1 (en) * 1999-09-29 2004-06-15 Silicon Graphics, Inc. Multiprocessor node controller circuit and method
EP1146738B1 (en) * 1999-11-22 2007-09-19 Sony Corporation Videotape recording and playback device, and videotape player
US6799220B1 (en) * 2000-04-13 2004-09-28 Intel Corporation Tunneling management messages over a channel architecture network
US6715007B1 (en) * 2000-07-13 2004-03-30 General Dynamics Decision Systems, Inc. Method of regulating a flow of data in a communication system and apparatus therefor
EP1330725B1 (en) * 2000-09-29 2012-03-21 Alacritech, Inc. Intelligent network storage interface system and devices
US7113507B2 (en) * 2000-11-22 2006-09-26 Silicon Image Method and system for communicating control information via out-of-band symbols
US6957313B2 (en) 2000-12-01 2005-10-18 Hsia James R Memory matrix and method of operating the same
GB0031535D0 (en) * 2000-12-22 2001-02-07 Nokia Networks Oy Traffic congestion
US7469341B2 (en) * 2001-04-18 2008-12-23 Ipass Inc. Method and system for associating a plurality of transaction data records generated in a service access system
US7287649B2 (en) 2001-05-18 2007-10-30 Broadcom Corporation System on a chip for packet processing
US7006438B2 (en) * 2001-05-31 2006-02-28 Turin Networks Distributed control of data flow in a network switch
US20030033421A1 (en) * 2001-08-02 2003-02-13 Amplify.Net, Inc. Method for ascertaining network bandwidth allocation policy associated with application port numbers
US20030031178A1 (en) * 2001-08-07 2003-02-13 Amplify.Net, Inc. Method for ascertaining network bandwidth allocation policy associated with network address
US7072299B2 (en) * 2001-08-20 2006-07-04 International Business Machines Corporation Credit-based receiver using selected transmit rates and storage thresholds for preventing under flow and over flow-methods, apparatus and program products
KR100790131B1 (ko) * 2001-08-24 2008-01-02 삼성전자주식회사 패킷 통신시스템에서 매체 접속 제어 계층 엔터티들 간의 시그널링 방법
WO2003019394A1 (en) * 2001-08-24 2003-03-06 Intel Corporation A general input/output architecture, protocol and related methods to support legacy interrupts
US7062609B1 (en) * 2001-09-19 2006-06-13 Cisco Technology, Inc. Method and apparatus for selecting transfer types
US20030093632A1 (en) * 2001-11-12 2003-05-15 Intel Corporation Method and apparatus for sideband read return header in memory interconnect
KR100415115B1 (ko) * 2001-11-29 2004-01-13 삼성전자주식회사 통신시스템의 데이터 혼잡 통보 방법 및 장치
JP3912091B2 (ja) * 2001-12-04 2007-05-09 ソニー株式会社 データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
WO2003063423A1 (en) * 2002-01-24 2003-07-31 University Of Southern California Pseudorandom data storage
US20030152096A1 (en) * 2002-02-13 2003-08-14 Korey Chapman Intelligent no packet loss networking
EP1341336B1 (en) 2002-02-14 2005-07-13 Matsushita Electric Industrial Co., Ltd. Method for controlling the data rate of transmitting data packets in a wireless communications system, receiver and transmitter therefor
US6970978B1 (en) * 2002-04-03 2005-11-29 Advanced Micro Devices, Inc. System and method for providing a pre-fetch memory controller
KR100429904B1 (ko) * 2002-05-18 2004-05-03 한국전자통신연구원 차등화된 QoS 서비스를 제공하는 라우터 및 그것의고속 IP 패킷 분류 방법
US6963868B2 (en) * 2002-06-03 2005-11-08 International Business Machines Corporation Multi-bit Patricia trees
US7133972B2 (en) 2002-06-07 2006-11-07 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
US7043599B1 (en) 2002-06-20 2006-05-09 Rambus Inc. Dynamic memory supporting simultaneous refresh and data-access transactions
US7408876B1 (en) * 2002-07-02 2008-08-05 Extreme Networks Method and apparatus for providing quality of service across a switched backplane between egress queue managers
US7051150B2 (en) * 2002-07-29 2006-05-23 Freescale Semiconductor, Inc. Scalable on chip network
US7124260B2 (en) 2002-08-26 2006-10-17 Micron Technology, Inc. Modified persistent auto precharge command protocol system and method for memory devices
US7372814B1 (en) * 2003-02-27 2008-05-13 Alcatel-Lucent Network system with color-aware upstream switch transmission rate control in response to downstream switch traffic buffering
US7080217B2 (en) 2003-03-31 2006-07-18 Intel Corporation Cycle type based throttling
US6988173B2 (en) 2003-05-12 2006-01-17 International Business Machines Corporation Bus protocol for a switchless distributed shared memory computer system
US7167942B1 (en) 2003-06-09 2007-01-23 Marvell International Ltd. Dynamic random access memory controller
EP1635518B1 (en) * 2003-06-18 2019-07-31 Nippon Telegraph And Telephone Corporation Wireless packet communication method
US7342881B2 (en) * 2003-06-20 2008-03-11 Alcatel Backpressure history mechanism in flow control
US7277978B2 (en) 2003-09-16 2007-10-02 Micron Technology, Inc. Runtime flash device detection and configuration for flash data management software
US7174441B2 (en) * 2003-10-17 2007-02-06 Raza Microelectronics, Inc. Method and apparatus for providing internal table extensibility with external interface
KR100526187B1 (ko) * 2003-10-18 2005-11-03 삼성전자주식회사 모바일 애드 혹 네트워크 환경에서 최적의 전송율을 찾기위한 조절 방법
US20050108501A1 (en) * 2003-11-03 2005-05-19 Smith Zachary S. Systems and methods for identifying unending transactions
US7420919B1 (en) * 2003-11-10 2008-09-02 Cisco Technology, Inc. Self converging communication fair rate control system and method
KR100560748B1 (ko) * 2003-11-11 2006-03-13 삼성전자주식회사 알피알 공평 메카니즘을 이용한 대역폭 할당 방법
US7451381B2 (en) * 2004-02-03 2008-11-11 Phonex Broadband Corporation Reliable method and system for efficiently transporting dynamic data across a network
JP4521206B2 (ja) * 2004-03-01 2010-08-11 株式会社日立製作所 ネットワークストレージシステム、コマンドコントローラ、及びネットワークストレージシステムにおけるコマンド制御方法
US7475174B2 (en) * 2004-03-17 2009-01-06 Super Talent Electronics, Inc. Flash / phase-change memory in multi-ring topology using serial-link packet interface
US20050210185A1 (en) * 2004-03-18 2005-09-22 Kirsten Renick System and method for organizing data transfers with memory hub memory modules
US20050223141A1 (en) * 2004-03-31 2005-10-06 Pak-Lung Seto Data flow control in a data storage system
JP2005318429A (ja) * 2004-04-30 2005-11-10 Sony Ericsson Mobilecommunications Japan Inc 再送制御方法及び無線通信端末
US20060056308A1 (en) * 2004-05-28 2006-03-16 International Business Machines Corporation Method of switching fabric for counteracting a saturation tree occurring in a network with nodes
US7984179B1 (en) * 2004-06-29 2011-07-19 Sextant Navigation, Inc. Adaptive media transport management for continuous media stream over LAN/WAN environment
US7773578B2 (en) * 2004-07-13 2010-08-10 Utstarcom Telecom Co., Ltd. Packet transmission method for wireless signals in a wireless base station system
US7441087B2 (en) * 2004-08-17 2008-10-21 Nvidia Corporation System, apparatus and method for issuing predictions from an inventory to access a memory
US7433363B2 (en) 2004-08-23 2008-10-07 The United States Of America As Represented By The Secretary Of The Navy Low latency switch architecture for high-performance packet-switched networks
US7660245B1 (en) * 2004-09-16 2010-02-09 Qualcomm Incorporated FEC architecture for streaming services including symbol-based operations and packet tagging
US7340582B2 (en) * 2004-09-30 2008-03-04 Intel Corporation Fault processing for direct memory access address translation
TWI254849B (en) * 2004-10-13 2006-05-11 Via Tech Inc Method and related apparatus for data error checking
US7830801B2 (en) * 2004-10-29 2010-11-09 Broadcom Corporation Intelligent fabric congestion detection apparatus and method
US7859996B2 (en) * 2004-10-29 2010-12-28 Broadcom Corporation Intelligent congestion feedback apparatus and method
US20060143678A1 (en) * 2004-12-10 2006-06-29 Microsoft Corporation System and process for controlling the coding bit rate of streaming media data employing a linear quadratic control technique and leaky bucket model
US7702742B2 (en) * 2005-01-18 2010-04-20 Fortinet, Inc. Mechanism for enabling memory transactions to be conducted across a lossy network
US7877566B2 (en) 2005-01-25 2011-01-25 Atmel Corporation Simultaneous pipelined read with multiple level cache for improved system performance using flash technology
US8085755B2 (en) * 2005-04-01 2011-12-27 Cisco Technology, Inc. Data driven route advertisement
US7987306B2 (en) * 2005-04-04 2011-07-26 Oracle America, Inc. Hiding system latencies in a throughput networking system
US7743183B2 (en) * 2005-05-23 2010-06-22 Microsoft Corporation Flow control for media streaming
TWI305890B (en) 2005-05-27 2009-02-01 Darfon Electronics Corp Button mechanism
US8027256B1 (en) * 2005-06-02 2011-09-27 Force 10 Networks, Inc. Multi-port network device using lookup cost backpressure
DE102005035207A1 (de) * 2005-07-27 2007-02-01 Siemens Ag Verfahren und Vorrichtung zur Datenübertragung zwischen zwei relativ zueinander bewegten Komponenten
KR101378031B1 (ko) * 2005-08-03 2014-03-27 샌디스크 테크놀로지스, 인코포레이티드 데이터 파일을 직접적으로 저장하는 메모리 블록의 관리
US7630307B1 (en) * 2005-08-18 2009-12-08 At&T Intellectual Property Ii, Lp Arrangement for minimizing data overflow by managing data buffer occupancy, especially suitable for fibre channel environments
US8291295B2 (en) 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US7652922B2 (en) * 2005-09-30 2010-01-26 Mosaid Technologies Incorporated Multiple independent serial link memory
US7961621B2 (en) * 2005-10-11 2011-06-14 Cisco Technology, Inc. Methods and devices for backward congestion notification
US8149846B2 (en) * 2005-11-10 2012-04-03 Hewlett-Packard Development Company, L.P. Data processing system and method
US7698498B2 (en) 2005-12-29 2010-04-13 Intel Corporation Memory controller with bank sorting and scheduling
US8065582B2 (en) * 2006-02-13 2011-11-22 Digital Fountain, Inc. FEC streaming with aggregation of concurrent streams for FEC computation
US7617437B2 (en) * 2006-02-21 2009-11-10 Freescale Semiconductor, Inc. Error correction device and method thereof
KR100695435B1 (ko) 2006-04-13 2007-03-16 주식회사 하이닉스반도체 반도체 메모리 소자
US7756028B2 (en) * 2006-04-27 2010-07-13 Alcatel Lucent Pulsed backpressure mechanism for reduced FIFO utilization
JP5184527B2 (ja) * 2006-07-25 2013-04-17 トムソン ライセンシング スタガーキャスティング及びクロスパケット前方誤り訂正を用いたインターネットプロトコル型無線ネットワークでのバーストパケット損失からの回復
US8407395B2 (en) * 2006-08-22 2013-03-26 Mosaid Technologies Incorporated Scalable memory system
US7739576B2 (en) * 2006-08-31 2010-06-15 Micron Technology, Inc. Variable strength ECC
EP2084864A1 (en) * 2006-10-24 2009-08-05 Medianet Innovations A/S Method and system for firewall friendly real-time communication
US7930513B2 (en) * 2006-11-04 2011-04-19 Virident Systems Inc. Writing to asymmetric memory
JP2008123330A (ja) * 2006-11-14 2008-05-29 Toshiba Corp 不揮発性半導体記憶装置
US7818389B1 (en) * 2006-12-01 2010-10-19 Marvell International Ltd. Packet buffer apparatus and method
US9116823B2 (en) * 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
KR101364443B1 (ko) 2007-01-31 2014-02-17 삼성전자주식회사 메모리 시스템, 이 시스템을 위한 메모리 제어기와 메모리,이 시스템의 신호 구성 방법
US7596643B2 (en) * 2007-02-07 2009-09-29 Siliconsystems, Inc. Storage subsystem with configurable buffer
US8693406B2 (en) * 2007-08-09 2014-04-08 Intel Corporation Multi-user resource allocation and medium access control (MAC) overhead reduction for mobile worldwide interoperability for microwave access (WiMAX) systems
US7937631B2 (en) * 2007-08-28 2011-05-03 Qimonda Ag Method for self-test and self-repair in a multi-chip package environment
JP4564520B2 (ja) * 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
US7769015B2 (en) 2007-09-11 2010-08-03 Liquid Computing Corporation High performance network adapter (HPNA)
US7821939B2 (en) * 2007-09-26 2010-10-26 International Business Machines Corporation Method, system, and computer program product for adaptive congestion control on virtual lanes for data center ethernet architecture
US8130649B2 (en) * 2007-10-18 2012-03-06 Alcatel Lucent Ingress traffic flow control in a data communications system
US8305991B1 (en) * 2007-11-14 2012-11-06 Sprint Spectrum L.P. Method and system for sector switching during packet transmission
US7870351B2 (en) * 2007-11-15 2011-01-11 Micron Technology, Inc. System, apparatus, and method for modifying the order of memory accesses
US8245101B2 (en) * 2007-12-27 2012-08-14 Sandisk Enterprise Ip Llc Patrol function used in flash storage controller to detect data errors
US8120990B2 (en) 2008-02-04 2012-02-21 Mosaid Technologies Incorporated Flexible memory operations in NAND flash devices
US8355336B2 (en) * 2008-02-13 2013-01-15 Qualcomm Incorporated Methods and apparatus for formatting headers in a communication frame
JP5141606B2 (ja) * 2008-03-26 2013-02-13 セイコーエプソン株式会社 印刷装置
US8724636B2 (en) * 2008-03-31 2014-05-13 Qualcomm Incorporated Methods of reliably sending control signal
EP2279576A4 (en) * 2008-04-24 2012-02-01 Ericsson Telefon Ab L M ERROR RATE MANAGEMENT
US8374986B2 (en) * 2008-05-15 2013-02-12 Exegy Incorporated Method and system for accelerated stream processing
US8223796B2 (en) * 2008-06-18 2012-07-17 Ati Technologies Ulc Graphics multi-media IC and method of its operation
KR101431760B1 (ko) * 2008-06-25 2014-08-20 삼성전자주식회사 Ecc 알고리즘을 이용한 플래시 메모리 장치 및 그구동방법
US8542588B2 (en) * 2008-06-25 2013-09-24 Qualcomm Incorporated Invoking different wireless link rate selection operations for different traffic classes
US7937419B2 (en) * 2008-06-26 2011-05-03 Tatu Ylonen Oy Garbage collection via multiobjects
US8547846B1 (en) * 2008-08-28 2013-10-01 Raytheon Bbn Technologies Corp. Method and apparatus providing precedence drop quality of service (PDQoS) with class-based latency differentiation
KR101003102B1 (ko) * 2008-09-24 2010-12-21 한국전자통신연구원 멀티 프로세싱 유닛에 대한 메모리 매핑방법, 및 장치
WO2010041469A1 (ja) * 2008-10-09 2010-04-15 日本電気株式会社 コンテンツ配信システム、コンテンツ配信方法およびコンピュータプログラム
US8402190B2 (en) * 2008-12-02 2013-03-19 International Business Machines Corporation Network adaptor optimization and interrupt reduction
US20100161938A1 (en) * 2008-12-23 2010-06-24 Marco Heddes System-On-A-Chip Supporting A Networked Array Of Configurable Symmetric Multiprocessing Nodes
US8737374B2 (en) * 2009-01-06 2014-05-27 Qualcomm Incorporated System and method for packet acknowledgment
JP5168166B2 (ja) * 2009-01-21 2013-03-21 富士通株式会社 通信装置および通信制御方法
EP2214100A1 (en) * 2009-01-30 2010-08-04 BRITISH TELECOMMUNICATIONS public limited company Allocation of processing tasks
CN102449600B (zh) * 2009-03-06 2015-07-08 阿斯帕拉公司 用于i/o受驱速率自适应的方法和系统
TWI384810B (zh) 2009-05-07 2013-02-01 Etron Technology Inc 可節省通用串列匯流排協定中用來儲存封包之記憶體之資料傳輸方法及其裝置
US8880716B2 (en) * 2009-05-08 2014-11-04 Canon Kabushiki Kaisha Network streaming of a single data stream simultaneously over multiple physical interfaces
CN101924603B (zh) * 2009-06-09 2014-08-20 华为技术有限公司 数据传输速率的自适应调整方法、装置及系统
US20110035540A1 (en) * 2009-08-10 2011-02-10 Adtron, Inc. Flash blade system architecture and method
US8238244B2 (en) * 2009-08-10 2012-08-07 Micron Technology, Inc. Packet deconstruction/reconstruction and link-control
US8281065B2 (en) * 2009-09-01 2012-10-02 Apple Inc. Systems and methods for determining the status of memory locations in a non-volatile memory
US8543893B2 (en) * 2009-09-02 2013-09-24 Agere Systems Llc Receiver for error-protected packet-based frame
FR2949931B1 (fr) 2009-09-10 2011-08-26 Canon Kk Procedes et dispositifs de transmission d'un flux de donnees, produit programme d'ordinateur et moyen de stockage correspondants.
US8966110B2 (en) 2009-09-14 2015-02-24 International Business Machines Corporation Dynamic bandwidth throttling
US8312187B2 (en) * 2009-09-18 2012-11-13 Oracle America, Inc. Input/output device including a mechanism for transaction layer packet processing in multiple processor systems
WO2011033600A1 (ja) * 2009-09-21 2011-03-24 株式会社 東芝 仮想記憶管理装置
EP2483777A4 (en) * 2009-09-30 2016-05-11 Altera Corp ENHANCED EXCHANGE OF WAVEFORM DATA BETWEEN MULTIPLE PROCESSORS USING COMPRESSION AND DECOMPRESSION
US9477636B2 (en) 2009-10-21 2016-10-25 Micron Technology, Inc. Memory having internal processors and data communication methods in memory
US8719516B2 (en) * 2009-10-21 2014-05-06 Micron Technology, Inc. Memory having internal processors and methods of controlling memory access
US8281218B1 (en) * 2009-11-02 2012-10-02 Western Digital Technologies, Inc. Data manipulation engine
US9081501B2 (en) * 2010-01-08 2015-07-14 International Business Machines Corporation Multi-petascale highly efficient parallel supercomputer
US8183452B2 (en) * 2010-03-23 2012-05-22 Yamaha Corporation Tone generation apparatus
US8321753B2 (en) 2010-04-13 2012-11-27 Juniper Networks, Inc. Optimization of packet buffer memory utilization
CN101883446B (zh) * 2010-06-28 2014-03-26 华为终端有限公司 一种sd控制芯片及数据通信方法
US9537488B1 (en) * 2010-05-13 2017-01-03 Altera Corporation Apparatus for configurable interface and associated methods
US8295292B2 (en) * 2010-05-19 2012-10-23 Telefonaktiebolaget L M Ericsson (Publ) High performance hardware linked list processors
US20110299588A1 (en) * 2010-06-04 2011-12-08 Apple Inc. Rate control in video communication via virtual transmission buffer
US8539311B2 (en) * 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
KR101719395B1 (ko) * 2010-07-13 2017-03-23 샌디스크 테크놀로지스 엘엘씨 백-엔드 메모리 시스템 인터페이스를 동적으로 최적화하는 방법
US20120192026A1 (en) * 2010-07-16 2012-07-26 Industrial Technology Research Institute Methods and Systems for Data Transmission Management Using HARQ Mechanism for Concatenated Coded System
US8751903B2 (en) 2010-07-26 2014-06-10 Apple Inc. Methods and systems for monitoring write operations of non-volatile memory
GB2513551B (en) 2010-09-24 2018-01-10 Ibm High-speed memory system
JP6032754B2 (ja) * 2010-10-01 2016-11-30 フィリップス ライティング ホールディング ビー ヴィ 無線ネットワークでデータパケット送信をスケジューリングするデバイス及び方法
EP2447842A1 (en) 2010-10-28 2012-05-02 Thomson Licensing Method and system for error correction in a memory array
US8842536B2 (en) * 2010-12-23 2014-09-23 Brocade Communications Systems, Inc. Ingress rate limiting
JP2012150152A (ja) * 2011-01-17 2012-08-09 Renesas Electronics Corp データ処理装置及び半導体装置
WO2012129191A2 (en) * 2011-03-18 2012-09-27 Fusion-Io, Inc. Logical interfaces for contextual storage
JP5800565B2 (ja) 2011-05-11 2015-10-28 キヤノン株式会社 データ転送装置及びデータ転送方法
KR20130021865A (ko) * 2011-08-24 2013-03-06 삼성전자주식회사 이동통신 시스템의 고정자원 할당 방법 및 장치
US8832331B2 (en) * 2011-08-29 2014-09-09 Ati Technologies Ulc Data modification for device communication channel packets
EP2761472B1 (en) * 2011-09-30 2020-04-01 Intel Corporation Memory channel that supports near memory and far memory access
US8588221B2 (en) * 2011-10-07 2013-11-19 Intel Mobile Communications GmbH Method and interface for interfacing a radio frequency transceiver with a baseband processor
US20130094472A1 (en) * 2011-10-14 2013-04-18 Qualcomm Incorporated Methods and apparatuses for reducing voice/data interruption during a mobility procedure
US8938658B2 (en) * 2011-11-07 2015-01-20 Sandisk Enterprise Ip Llc Statistical read comparison signal generation for memory systems
US9048876B2 (en) * 2011-11-18 2015-06-02 Sandisk Enterprise Ip Llc Systems, methods and devices for multi-tiered error correction
US8954822B2 (en) * 2011-11-18 2015-02-10 Sandisk Enterprise Ip Llc Data encoder and decoder using memory-specific parity-check matrix
WO2013095576A1 (en) * 2011-12-22 2013-06-27 Intel Corporation Processor-based apparatus and method for processing bit streams
TW201346572A (zh) 2012-01-27 2013-11-16 Marvell World Trade Ltd 發送器設備及發送器系統
WO2013122438A1 (en) * 2012-02-17 2013-08-22 Samsung Electronics Co., Ltd. Data packet transmission/reception apparatus and method
US9135192B2 (en) 2012-03-30 2015-09-15 Sandisk Technologies Inc. Memory system with command queue reordering
WO2013153577A1 (en) * 2012-04-12 2013-10-17 Hitachi, Ltd. Data transfer method and storage system adopting data transfer method
US9436625B2 (en) * 2012-06-13 2016-09-06 Nvidia Corporation Approach for allocating virtual bank managers within a dynamic random access memory (DRAM) controller to physical banks within a DRAM
US20150103668A1 (en) * 2012-06-27 2015-04-16 Qualcomm Incorporated Low overhead and highly robust flow control apparatus and method
US10034023B1 (en) * 2012-07-30 2018-07-24 Google Llc Extended protection of digital video streams
US9444751B1 (en) * 2012-08-03 2016-09-13 University Of Southern California Backpressure with adaptive redundancy
GB2505956B (en) * 2012-09-18 2015-08-05 Canon Kk Method and apparatus for controlling the data rate of a data transmission between an emitter and a receiver
US9215174B2 (en) * 2012-10-18 2015-12-15 Broadcom Corporation Oversubscription buffer management
KR101754890B1 (ko) * 2012-10-22 2017-07-06 인텔 코포레이션 고성능 인터커넥트 물리 계층
US9424228B2 (en) 2012-11-01 2016-08-23 Ezchip Technologies Ltd. High performance, scalable multi chip interconnect
US8713311B1 (en) 2012-11-07 2014-04-29 Google Inc. Encryption using alternate authentication key
US9438511B2 (en) * 2012-12-11 2016-09-06 Hewlett Packard Enterprise Development Lp Identifying a label-switched path (LSP) associated with a multi protocol label switching (MPLS) service and diagnosing a LSP related fault
US9652376B2 (en) * 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US9229854B1 (en) * 2013-01-28 2016-01-05 Radian Memory Systems, LLC Multi-array operation support and related devices, systems and software
KR20140100008A (ko) * 2013-02-05 2014-08-14 삼성전자주식회사 휘발성 메모리 장치의 구동 방법 및 휘발성 메모리 장치의 테스트 방법
US9569612B2 (en) * 2013-03-14 2017-02-14 Daniel Shawcross Wilkerson Hard object: lightweight hardware enforcement of encapsulation, unforgeability, and transactionality
US9030771B2 (en) * 2013-04-26 2015-05-12 Oracle International Corporation Compressed data verification
US20140371941A1 (en) * 2013-06-18 2014-12-18 The Regents Of The University Of Colorado, A Body Corporate Software-defined energy communication networks
WO2014204128A1 (ko) * 2013-06-19 2014-12-24 엘지전자 주식회사 Mtc 기기의 수신 방법
KR102123439B1 (ko) * 2013-11-20 2020-06-16 삼성전자 주식회사 이동 망에서 비디오 트래픽의 사용자 만족도 최적화를 고려한 혼잡 완화 방법 및 그 장치
GB2520724A (en) * 2013-11-29 2015-06-03 St Microelectronics Res & Dev Debug circuitry
US9699079B2 (en) * 2013-12-30 2017-07-04 Netspeed Systems Streaming bridge design with host interfaces and network on chip (NoC) layers
JP6249403B2 (ja) * 2014-02-27 2017-12-20 国立研究開発法人情報通信研究機構 光遅延線及び電子バッファ融合型光パケットバッファ制御装置
US9813815B2 (en) * 2014-05-20 2017-11-07 Gn Hearing A/S Method of wireless transmission of digital audio
KR102310580B1 (ko) * 2014-10-24 2021-10-13 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US9740646B2 (en) * 2014-12-20 2017-08-22 Intel Corporation Early identification in transactional buffered memory
US9185045B1 (en) * 2015-05-01 2015-11-10 Ubitus, Inc. Transport protocol for interactive real-time media
US10003529B2 (en) * 2015-08-04 2018-06-19 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for memory allocation in a software-defined networking (SDN) system
KR102525295B1 (ko) * 2016-01-06 2023-04-25 삼성전자주식회사 데이터 관리 방법 및 장치
KR102589410B1 (ko) * 2017-11-10 2023-10-13 삼성전자주식회사 메모리 장치 및 그의 파워 제어 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1501258A (zh) * 2002-10-10 2004-06-02 英特尔公司 用于依据存储器访问模式执行数据存取的装置和方法
WO2011071645A1 (en) * 2009-12-07 2011-06-16 Sandisk Corporation Method and system for concurrent background and foreground operations in a non-volatile memory array

Also Published As

Publication number Publication date
US20210141541A1 (en) 2021-05-13
US20150347015A1 (en) 2015-12-03
US20150347048A1 (en) 2015-12-03
US9690502B2 (en) 2017-06-27
CN106489136A (zh) 2017-03-08
US20190102095A1 (en) 2019-04-04
US9823864B2 (en) 2017-11-21
TWI545497B (zh) 2016-08-11
EP3149585A4 (en) 2018-04-11
US10540104B2 (en) 2020-01-21
US20170329545A1 (en) 2017-11-16
EP3149592B1 (en) 2022-05-04
US9696920B2 (en) 2017-07-04
US11526280B2 (en) 2022-12-13
US10921995B2 (en) 2021-02-16
TW201617879A (zh) 2016-05-16
KR102196747B1 (ko) 2020-12-31
US10146457B2 (en) 2018-12-04
US9747048B2 (en) 2017-08-29
TW201610688A (zh) 2016-03-16
EP3149595A1 (en) 2017-04-05
US20210247915A1 (en) 2021-08-12
US9733847B2 (en) 2017-08-15
US20200097191A1 (en) 2020-03-26
EP3149602A4 (en) 2017-08-09
US10572164B2 (en) 2020-02-25
EP3149602B1 (en) 2019-05-22
US20150347226A1 (en) 2015-12-03
US20200097190A1 (en) 2020-03-26
EP3149595B1 (en) 2022-11-16
KR20170005498A (ko) 2017-01-13
WO2015187574A1 (en) 2015-12-10
TWI570569B (zh) 2017-02-11
CN106489134B (zh) 2018-08-14
CN106489134A (zh) 2017-03-08
EP3149585A1 (en) 2017-04-05
CN106489136B (zh) 2020-03-06
TWI554883B (zh) 2016-10-21
WO2015187575A1 (en) 2015-12-10
EP3149592A4 (en) 2018-01-03
KR20170012399A (ko) 2017-02-02
EP3149585B1 (en) 2020-08-12
CN109032516A (zh) 2018-12-18
EP3149586A4 (en) 2018-08-29
EP3149599A1 (en) 2017-04-05
US20170168728A1 (en) 2017-06-15
CN106471485B (zh) 2019-01-08
US20210247914A1 (en) 2021-08-12
TW201614476A (en) 2016-04-16
TW201610687A (zh) 2016-03-16
TW201617868A (zh) 2016-05-16
EP3149586A1 (en) 2017-04-05
US20150350082A1 (en) 2015-12-03
EP3149595A4 (en) 2018-03-28
US20170300382A1 (en) 2017-10-19
TWI547799B (zh) 2016-09-01
WO2015187572A1 (en) 2015-12-10
WO2015187578A1 (en) 2015-12-10
TWI582588B (zh) 2017-05-11
CN113971004A (zh) 2022-01-25
KR101796413B1 (ko) 2017-12-01
US20150347019A1 (en) 2015-12-03
WO2015187576A1 (en) 2015-12-10
WO2015187577A1 (en) 2015-12-10
CN109032516B (zh) 2021-10-22
EP3149602A1 (en) 2017-04-05
CN106471474A (zh) 2017-03-01
EP3149599B1 (en) 2022-09-21
CN106575257A (zh) 2017-04-19
KR20170012400A (ko) 2017-02-02
CN106471460B (zh) 2019-05-10
EP3149586B1 (en) 2022-07-20
US20150347225A1 (en) 2015-12-03
TW201614501A (en) 2016-04-16
US11194480B2 (en) 2021-12-07
TWI625632B (zh) 2018-06-01
EP3149592A1 (en) 2017-04-05
EP3149599A4 (en) 2018-01-03
US11531472B2 (en) 2022-12-20
US9600191B2 (en) 2017-03-21
US11461017B2 (en) 2022-10-04
CN106471485A (zh) 2017-03-01
US11461019B2 (en) 2022-10-04
KR102197401B1 (ko) 2021-01-04
US11003363B2 (en) 2021-05-11
CN110262751A (zh) 2019-09-20
US20200150884A1 (en) 2020-05-14
CN106471460A (zh) 2017-03-01
CN106471474B (zh) 2019-08-20

Similar Documents

Publication Publication Date Title
CN106575257B (zh) 用于改进存储器系统的效率的系统及方法
US10732879B2 (en) Technologies for processing network packets by an intelligent network interface controller
US11947798B2 (en) Packet routing between memory devices and related apparatuses, methods, and memory systems
US7636813B2 (en) Systems and methods for providing remote pre-fetch buffers
US9501222B2 (en) Protection zones in virtualized physical addresses for reconfigurable memory systems using a memory abstraction
TW201643763A (zh) 經認證之控制堆疊
US20090089861A1 (en) Programmable data protection device, secure programming manager system and process for controlling access to an interconnect network for an integrated circuit
US10067879B2 (en) Apparatus and method to support a storage mode over a cache-line memory interface to a non-volatile memory dual in line memory module
CN112583582A (zh) 用于可配置集成电路管芯的部分重新配置的安全架构
US20190155753A1 (en) System, Apparatus And Method For Replay Protection For A Platform Component
US10296467B2 (en) Securing writes to memory modules having memory controllers
CN101620652B (zh) 一种保护存储器数据的主板、计算机和方法
US7565504B2 (en) Memory window access mechanism
US7483313B2 (en) Dual ported memory with selective read and write protection
KR20170112855A (ko) 스토리지 디바이스에서 논리 블록 어드레싱 액세스 퍼미션을 정의하는 방법 및 시스템
US20170293573A1 (en) Systems and methods for restricting write access to non-volatile memory
US20220197729A1 (en) Advanced queue monitoring system
US20220014551A1 (en) Method and apparatus to reduce risk of denial of service resource acquisition attacks in a data center
US20230027585A1 (en) Inter-chiplet routing of transactions across multi-heterogeneous chiplets using hierarchical addressing
US20230325225A1 (en) Confidential compute architecture integrated with direct swap caching
US20230342187A1 (en) Processing of interrupts
US20050154910A1 (en) Security measures in a partitionable computing system
WO2020263298A1 (en) Data authentication for storage systems

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