CN106575257B - 用于改进存储器系统的效率的系统及方法 - Google Patents
用于改进存储器系统的效率的系统及方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0727—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/073—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding 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/1016—Error in accessing a memory location, i.e. addressing error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1044—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1072—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/189—Transmission or retransmission of more than one copy of a message
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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所述的存储器装置,其中所述信息包括所述存储器组件的存储器地址,其中所述存储器地址用于执行所述一个或多个数据操作。
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)
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)
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)
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 | 삼성전자주식회사 | 메모리 장치 및 그의 파워 제어 방법 |
-
2015
- 2015-05-28 US US14/724,446 patent/US9733847B2/en active Active
- 2015-05-28 US US14/724,510 patent/US9823864B2/en active Active
- 2015-05-28 US US14/724,489 patent/US9600191B2/en active Active
- 2015-05-28 US US14/724,558 patent/US9696920B2/en active Active
- 2015-05-28 US US14/724,473 patent/US9747048B2/en active Active
- 2015-05-29 US US14/726,150 patent/US9690502B2/en active Active
- 2015-06-01 CN CN201580040829.7A patent/CN106575257B/zh active Active
- 2015-06-01 CN CN201580037256.2A patent/CN106489134B/zh active Active
- 2015-06-01 WO PCT/US2015/033564 patent/WO2015187572A1/en active Application Filing
- 2015-06-01 CN CN201580037235.0A patent/CN106471474B/zh active Active
- 2015-06-01 WO PCT/US2015/033573 patent/WO2015187577A1/en active Application Filing
- 2015-06-01 WO PCT/US2015/033571 patent/WO2015187575A1/en active Application Filing
- 2015-06-01 WO PCT/US2015/033572 patent/WO2015187576A1/en active Application Filing
- 2015-06-01 CN CN201580037266.6A patent/CN106489136B/zh active Active
- 2015-06-01 KR KR1020167036180A patent/KR102196747B1/ko active IP Right Grant
- 2015-06-01 EP EP15802804.3A patent/EP3149602B1/en active Active
- 2015-06-01 EP EP15802464.6A patent/EP3149595B1/en active Active
- 2015-06-01 WO PCT/US2015/033568 patent/WO2015187574A1/en active Application Filing
- 2015-06-01 EP EP15803606.1A patent/EP3149599B1/en active Active
- 2015-06-01 EP EP15803148.4A patent/EP3149586B1/en active Active
- 2015-06-01 CN CN201810797365.XA patent/CN109032516B/zh active Active
- 2015-06-01 CN CN202111246413.4A patent/CN113971004A/zh active Pending
- 2015-06-01 CN CN201580035917.8A patent/CN106471485B/zh active Active
- 2015-06-01 KR KR1020167036182A patent/KR102197401B1/ko active IP Right Grant
- 2015-06-01 EP EP15802662.5A patent/EP3149592B1/en active Active
- 2015-06-01 CN CN201910363451.4A patent/CN110262751A/zh active Pending
- 2015-06-01 WO PCT/US2015/033574 patent/WO2015187578A1/en active Application Filing
- 2015-06-01 CN CN201580035967.6A patent/CN106471460B/zh active Active
- 2015-06-01 EP EP15802720.1A patent/EP3149585B1/en active Active
- 2015-06-01 KR KR1020167036974A patent/KR101796413B1/ko active IP Right Grant
- 2015-06-02 TW TW104117829A patent/TWI547799B/zh active
- 2015-06-02 TW TW104117824A patent/TWI582588B/zh active
- 2015-06-02 TW TW104117823A patent/TWI625632B/zh active
- 2015-06-02 TW TW104117826A patent/TWI545497B/zh active
- 2015-06-02 TW TW104117828A patent/TWI570569B/zh active
- 2015-06-02 TW TW104117868A patent/TWI554883B/zh active
-
2017
- 2017-02-21 US US15/438,492 patent/US10146457B2/en active Active
- 2017-06-29 US US15/637,327 patent/US10572164B2/en active Active
- 2017-08-01 US US15/666,410 patent/US10540104B2/en active Active
-
2018
- 2018-12-03 US US16/208,035 patent/US11003363B2/en active Active
-
2019
- 2019-11-26 US US16/696,667 patent/US11194480B2/en active Active
- 2019-11-26 US US16/696,650 patent/US10921995B2/en active Active
-
2020
- 2020-01-20 US US16/747,336 patent/US11461017B2/en active Active
-
2021
- 2021-01-19 US US17/152,465 patent/US11461019B2/en active Active
- 2021-04-27 US US17/242,037 patent/US11531472B2/en active Active
- 2021-04-27 US US17/241,993 patent/US11526280B2/en active Active
Patent Citations (2)
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
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 |