TW201617879A - 用於在記憶體系統中提高效率之系統及方法 - Google Patents

用於在記憶體系統中提高效率之系統及方法 Download PDF

Info

Publication number
TW201617879A
TW201617879A TW104117824A TW104117824A TW201617879A TW 201617879 A TW201617879 A TW 201617879A TW 104117824 A TW104117824 A TW 104117824A TW 104117824 A TW104117824 A TW 104117824A TW 201617879 A TW201617879 A TW 201617879A
Authority
TW
Taiwan
Prior art keywords
memory
bit
data
error
packets
Prior art date
Application number
TW104117824A
Other languages
English (en)
Other versions
TWI582588B (zh
Inventor
J 湯瑪斯 帕洛斯基
Original Assignee
美光科技公司
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 美光科技公司 filed Critical 美光科技公司
Publication of TW201617879A publication Critical patent/TW201617879A/zh
Application granted granted Critical
Publication of TWI582588B publication Critical patent/TWI582588B/zh

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)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (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

本發明揭示一種記憶體裝置,其包含儲存資料之一記憶體組件。該記憶體裝置亦包含一處理器,該處理器接收指示該記憶體組件耦合至該處理器之一信號,且擷取來自該記憶體組件之資訊。該資訊可包含能夠由該記憶體組件執行之一或多個演算法。該處理器可接著接收與有關該記憶體組件之一或多個資料操作相關聯之一或多個封包。該處理器可接著藉由使用該記憶體組件以採用該一或多個演算法而執行該一或多個資料操作。

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 a Scalable Memory System Protocol」之美國專利申請案第14/724,446號,其亦以引用的方式併入本文中。
本揭示內容大致係關於一種用於使用記憶體裝置執行資料操作(例如,讀取、寫入)之記憶體系統協定。更具體言之,本揭示內容係關於一種基於封包之可擴充協定,其實現若干記憶體及處理組合,提供位元高效的資料傳輸操作,且與多種匯流排類型(例如,電、光)相協調。
本章節旨在向讀者介紹可能與本揭示內容之各種態樣相關之本技術之各種態樣,該等態樣在下文中予以描述及/或主張。據信此討論有助於為讀者提供背景資訊以促進更好地理解本揭示內容之各種態樣。因此,應瞭解,此等陳述在此意義上閱讀且並非作為先前技術之 認可。
習知協定通常在記憶體裝置之間以與其等之前身相比相對較低的失敗率傳送封包。但是,當產業旨在使在記憶體裝置與其他組件之間移動資料封包所涉及的能量的量最小化時,期望使用使用最小量的能量高效移動資料封包,同時維持封包傳送的完整性的協定。
10‧‧‧計算系統
12‧‧‧晶片上主機系統(SoC)
14‧‧‧記憶體裝置
16‧‧‧通道
22‧‧‧記憶體SoC
23‧‧‧緩衝器
24‧‧‧NAND記憶體
26‧‧‧減小延時動態隨機存取記憶體(RLDRAM)
28‧‧‧雙倍資料速率第四代同步動態隨機存取記憶體(DDR4)
29‧‧‧通道
30‧‧‧封包
32‧‧‧異動類型欄位
34‧‧‧有效負載欄位
36‧‧‧錯誤控制代碼(ECC)欄位
42‧‧‧異動窗欄位
44‧‧‧位址窗欄位
46‧‧‧起始位元
48‧‧‧間接層級欄位
50‧‧‧方法
52‧‧‧方塊
54‧‧‧方塊
56‧‧‧方塊
58‧‧‧方塊
60‧‧‧方塊
70‧‧‧方法
72‧‧‧方塊
74‧‧‧方塊
76‧‧‧方塊
78‧‧‧方塊
90‧‧‧方法
92‧‧‧方塊
94‧‧‧方塊
96‧‧‧方塊
98‧‧‧方塊
100‧‧‧方塊
102‧‧‧方塊
104‧‧‧方塊
在閱讀下列詳細描述及在參考圖式時可更好地暸解本揭示內容之各種態樣,其中:圖1繪示根據一實施例之一計算系統之一實例之一方塊圖;圖2繪示根據一實施例之可作為圖1之計算系統之部分之一記憶體裝置之一實例之一方塊圖;圖3繪示根據一實施例之可在圖1之計算系統內傳送之一封包之一封包層級圖;圖4繪示根據一實施例之可在圖1之計算系統內傳送之封包之一詳細封包層級圖;圖5繪示根據一實施例之用於為作為圖2之記憶體裝置之部分之各種類型之記憶體指派異動窗之一方法一流程圖;圖6繪示根據一實施例之用於在可作為圖1之計算系統之部分之一記憶體裝置上執行專門操作之一方法之一流程圖;及圖7繪示根據一實施例之用於產生受信任組件之一安全存取清單之一方法之一流程圖。
下文將描述一或多個特定實施例。為了提供此等實施例之一簡潔描述,本說明書中未描述一實際實施方案之所有特徵。應暸解,如在任何工程或設計項目中,在任何此實際實施方案的研發中,必須作出許多實施方案特定決策以達成可隨實施方案的變化而變化之研發者 的特定目標,諸如符合系統相關及業務相關的限制。此外,應暸解,此一研發努力可能係複雜且耗時的,但對於獲利於本揭示內容之一般技術者而言,該研發努力仍將係一常規設計、製作及製造任務。
可擴充記憶體系統協定
如將在下文詳細討論,本揭示內容大致係關於可擴充記憶體系統協定。即,可擴充記憶體系統協定可基於被傳輸之資料封包(例如,請求、回應)之特性而調整特定操作。在一實施例中,可擴充記憶體系統協定(「可擴充協定」)可為基於封包之協定,其實現記憶體裝置、計算裝置及類似者之間資料封包之高效(例如,功率高效、位元高效)傳送。可擴充協定可實施為與各種類型之記憶體及處理器的若干組合,諸如自動機(Automata)處理器、記憶體中處理器(Processor-in-Memory)、網路裝置、儲存設備、階層式記憶體、抽象化記憶體及類似者。如本文中所使用,處理器可包含能夠在一相應電裝置上執行可執行指令之任何適當處理器。可擴充協定亦可促進一寬範圍之裝置,包含資料中心開關/路由器、網路路由器、行動裝置、儲存裝置、自動機處理器、串流(Stream)處理器、記憶體中處理器、任務移動處理器、大數據(Big Data)、大圖資(Big Graph)、安全記憶體、虛擬網路、一般抽象化記憶體(例如,動態隨機存取記憶體(DRAM)、NAND及新興記憶體)及類似者。
在特定實施例中,可擴充協定可經設計以促進各種記憶體與處理組件之間資料封包的通信,同時維持最低的合理的可擴充協定額外耗用。換言之,可擴充協定可經設計以提供資料封包之位元高效傳輸,其中,經由可擴充協定傳輸之多數(若非所有)位元直接作為被傳送之一相應資料封包的部分。例如,將在下文更詳細討論,可擴充協定可使請求封包能被包裝在一起而無需用與各自封包無關的零填充一信號,藉此使經由一匯流排之傳送信道傳輸之資料封包之位元效率最 大化。
除提供用於傳輸資料封包之一位元高效機構外,可擴充協定可與若干匯流排類型(諸如電或光學匯流排)相協調。此外,可擴充協定可能能夠提供有關各自匯流排之各種操作,包含編碼、信道計數、通道計數、速度、風格、一系統之例示計數及類似者。
可擴充協定
記住上述內容,可擴充協定可經最佳化以提供成功異動,使得封包失敗係罕見的(例如,<1e-6)。可擴充協定亦可提供封包傳送類型、大小與可處置之不同封包大小的數目之間的仔細權衡。
如上文討論,產業更注重使資料移動能量最小化。即,在記憶體裝置之間移動資料封包所消耗或耗用的能量應被最小化。因而,可擴充協定可合理地免除可從其他位元或訊息辨別或可能另外不必要的特定位元及訊息。例如,可擴充協定可免除對傳送有關可能已被接收器所知的資訊之資料之一裝置的需要。
此外,為了提供高效的資料移動操作,可擴充協定可促進「被發送至記憶體」的異動。可擴充協定亦可用外部控制操作傳輸局域操作,其中內部資料流量與外部控制操作相比相對較低。此外,可擴充協定可實施一錯誤控制策略,該錯誤控制策略使用基於在各自封包中被傳送之資料量(例如,有效負載)調整或改變之一動態欄位大小使額外耗用最小化。
可擴充協定亦可使用於傳達資料的欄位的數目最小化。因而,可擴充協定可允許欄位大小調諧及靈活性,此係因為每個封包無法利用所有可用欄位。
可擴充協定亦可經設計以促進低延時資料與高延時資料的共存。例如,可擴充協定可提供在傳送高延時資料之間交錯低延時資料的傳送的能力。
可擴充協定的設計可被特徵化為簡單及一般的,其中可變封包大小可在各自封包的單個欄位中判定。此外,可擴充協定可在其操作方面維持簡單性,同時仍能夠執行複雜的異動及操作。此外,可擴充協定可能足夠靈活來實現其當前無法被設計來提供的未來功能。
在特定實施例中,可擴充協定可限制使用局域排序方案發送封包之順序。即,可擴充協定無法強制執行特定全域同步排序規則或類似者。為了可擴充協定保持抽象的理念,可擴充協定可用特殊裝置或用不同類型的通道性質促進操作。
記住上述內容,本揭示內容描述若干系統及技術,該等系統及技術可在可擴充協定內實施以提供上述優點。雖然下文詳述的特定系統或技術係相對於其他系統或技術獨立描述,但是應注意本文中描述之系統及技術之各者可用亦在本文中描述之各種其他系統及技術實施。
使用可擴充協定的計算系統及記憶體系統
現參考圖式,圖1繪示可採用本文中描述之各種技術及系統之一計算系統10之一方塊圖。計算系統10可為多種計算裝置之任何者,諸如一電腦、傳呼機、蜂巢式電話、個人記事簿、控制電路等。計算系統10可包含一晶片上主機系統(SoC)12,該晶片上主機系統(SoC)12可耦合至若干記憶體裝置14。主機SoC 12可為一積體電路(IC),其將一電腦或其他電子系統之所有組件整合至一單個晶片中。因而,主機SoC 12可包含一或多個處理器,諸如一微處理器,該一或多個處理器可控制計算系統10中之系統功能及請求的處理。在特定實施例中,主機SoC 12可為請求資料操作由另一處理器執行之一請求組件。
如上所述,主機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可控制記憶體組件之間的訊務以減小延時及增大頻帶寬。如將暸解,在根據本文中描述之實施例控制記憶體組件與其他裝置之間的傳送時,主機SoC 12及記憶體SoC 22可採用一可擴充記憶體系統協定。因而,可擴充記憶體系統協定可在記憶體裝置14與主機SoC 12之間的通道16,以及在記憶體組件與記憶體SoC 22之間的通道29上操作。
在特定實施例中,記憶體裝置14亦可包含一緩衝器23。緩衝器23可儲存由記憶體SoC 22接收的一或多個封包。舉例而言,記憶體裝 置14可包含諸如NAND記憶體24、減小延時動態隨機存取記憶體(RLDRAM)26、雙倍資料速率第四代同步動態隨機存取記憶體(DDR4)28及類似者之記憶體類型。
在特定實施例中,主機SoC 12及記憶體SoC 22可基於經由記憶體組件、暫存器及類似者提供之電腦可執行指令執行各種操作。記憶體組件或儲存器可為可充當用於儲存記憶體可執行碼、資料或類似者的媒體的任何適當製品。此等製品可代表電腦可讀媒體(即,任何適當形式的記憶體或儲存器),該電腦可讀媒體可儲存由主機SoC 12或記憶體SoC 22使用來執行當前揭示技術的處理器可執行碼。記憶體及儲存器亦可用於儲存資料、資料分析及類似者。記憶體及儲存器可代表非暫態電腦可讀媒體(即,任何適當形式的記憶體或儲存器),該非暫態電腦可讀媒體可儲存由主機SoC 12或記憶體SoC 22使用來執行本文中描述的各種技術的處理器可執行碼。應注意,非暫態僅指示媒體係有形的且並非一信號。
雖然有關可擴充協定之各種態樣之下文描述在本文中被描述為相對於主機SoC 12及記憶體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的部分,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的低延時請求。即,長延時請求可比短延時請求遲傳送。因此,送達請求的系統匯流排不受阻於相同匯流排上不同種類的記憶體的存在,而不增加各種周密的協定複雜性,諸如為欄位增加請求優先級。以此方式,可擴充協定以相對簡單方式提供使用最小數目的位元之複雜系統操作。
在另一實例中,接收組件可基於針對各異動指定之一相應異動窗採用一局域排序方案。對於下列異動:
(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兩者支援明顯比位址空間暗示的多的位元組。
與異動窗相關聯的另一特徵包含其他空間(諸如Window0 SRAM及系統控制暫存器)的簡單系統層級可定址性,而不在協定中形成額外命令。即,SRAM及系統控制暫存器可藉由簡單使用Window0而定址。另一方面,先前協定可使用額外命令(諸如register.read及register.write)以與此等類型之記憶體相互作用。在針對此等記憶體類型指定異動窗的情況下,用於其他記憶體裝置的相同讀取及寫入命令亦可用於SRAM及系統控制暫存器。即,讀取及寫入命令可簡單指向合適的窗。因而,可擴充協定可採用更少命令,藉此減少協定中所使用的位元的數目。
藉由根據異動類型組織資料異動,多個異動窗可將多個存取途徑提供給相同記憶體類型。例如,一典型DDR3 DRAM可包含八個庫,且一內部匯流排可包含八個此等DRAM。記住這點,八個DRAM可經組織,使得Window1表示一群組八個DDR3 DRAM之庫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、DDR4 28及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,將各異動窗的性質儲存在一儲存裝置中。儲存裝置可包含能夠儲存資料的任何適當裝置。因而,儲存裝置可包含一局域暫存器、一表格或一些其他資訊儲存單元。以此方式,記憶體SoC 22可根據如上所述的排序規則針對各記憶體類型執行操作。在一些情況中,所儲存性質可詳述各異動窗之特定能力連同有關各異動窗之操作之其他相關資訊。
專門函數之異動窗
為了提供在匯流排內混合不同類型的異動請求的更高效方式,記憶體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兩者支援明顯比位址空間暗示的多的位元組。
與異動窗相關聯的另一特徵可包含其他空間(諸如Window0 SRAM及系統控制暫存器)的簡單系統層級可定址性,而不在協定中形成額外命令。即,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)型裝置可包含非常少的智慧,且可具有從主機SoC 12、記憶體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存取之NAND FLASH)。在一實施例中,一更複雜巨集可藉由執行一較小巨集從非揮發性裝置之一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錯誤控制碼之有效負載欄位之資料長度而增大。
如同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錯誤控制碼之有效負載欄位之資料長度而增大。
資料長度 P位元之號碼
如上表中所示,所支援的資料長度大致係比相同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可要求藉由遵從使用訊息中用於移除一輸入項之碼之相同程序而移除輸入項。
作為上文參考安全區描述之方法的結果,可能提供針對錯誤軟體之保護等級,尤其在通道計數及窗計數高的情況下。例如,若在正常運行時的特定軟體執行緒僅被提供對窗17至通道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塊可被映射至超過1個窗中。
記住安全區之討論,系統窗(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從傳送組件接收之第一封包。因而,記憶體SoC 22可能不知道是否信任接收自傳送組件之封包。
在接收到封包時,在方塊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之硬體可用於提供有關封包傳送之一些安全保護。
雖然本文中描述之實施例可具有各種修改及替代形式,但是特定實施例已在圖式中藉由實例展示且已在本文中予以詳細描述。然而,應瞭解,本發明並不旨在限於所揭示之特定形式。而是,本發明涵蓋落於如藉由下列隨附申請專利範圍定義之本發明之精神及範疇內之所有修改、等效物及替代。
50‧‧‧方法
52‧‧‧方塊
54‧‧‧方塊
56‧‧‧方塊
58‧‧‧方塊
60‧‧‧方塊

Claims (20)

  1. 一種記憶體裝置,其包括:一記憶體組件,其經組態以儲存資料;及一處理器,其經組態以:接收指示該記憶體組件耦合至該處理器之一信號;從該記憶體組件擷取資訊,其中該資訊包括能夠由該記憶體組件執行之一或多個演算法;接收與有關該記憶體組件之一或多個資料操作相關聯之一或多個封包;及藉由使用該記憶體組件以採用該一或多個演算法而執行該一或多個資料操作。
  2. 如請求項1之記憶體裝置,其中該信號在於該處理器處接收電力時被接收。
  3. 如請求項1之記憶體裝置,其中該資訊儲存在該記憶體組件之一預定位址中。
  4. 如請求項1之記憶體裝置,其中該記憶體組件包括一動態隨機存取記憶體、一靜態隨機存取記憶體、一NAND記憶體或其等之任何組合。
  5. 如請求項1之記憶體裝置,其中該資訊包括該記憶體組件之一記憶體位址,其中該記憶體位址用於執行該一或多個資料操作。
  6. 一種系統,其包括:一記憶體裝置,其包括一處理器;及一請求組件,其經組態以:接收與一資料操作相關聯之一封包以發送至該處理器,其中該資料封包包括: 一有效負載欄位,其包括一有效負載;及一錯誤控制碼欄位,其包括經組態以驗證該有效負載之一真實性之一錯誤控制碼;基於該有效負載欄位之一第二大小判定該錯誤控制碼欄位之一第一大小;基於該第一大小產生該錯誤控制碼;及將該資料封包發送至該處理器。
  7. 如請求項6之系統,其中該錯誤控制碼包括一漢明距離3(HD3)錯誤控制碼、一漢明距離4(HD4)錯誤控制碼、一漢明距離5(HD5)錯誤控制碼、一漢明距離6(HD6)錯誤控制碼、一漢明距離7(HD7)錯誤控制碼、一漢明距離8(HD8)錯誤控制碼。
  8. 如請求項7之系統,其中該HD3錯誤控制碼經組態以偵測該有效負載中之每個1位元及2位元錯誤。
  9. 如請求項7之系統,其中該HD4錯誤控制碼經組態以偵測該有效負載中之每個1位元、2位元錯誤及3位元錯誤。
  10. 如請求項7之系統,其中該HD5錯誤控制碼經組態以偵測該有效負載中之每個1位元、2位元錯誤、3位元錯誤及4位元錯誤。
  11. 如請求項7之系統,其中該HD6錯誤控制碼經組態以偵測該有效負載中之每個1位元、2位元錯誤、3位元錯誤、4位元錯誤及5位元錯誤。
  12. 如請求項7之系統,其中該HD7錯誤控制碼經組態以偵測該有效負載中之每個1位元、2位元錯誤、3位元錯誤、4位元錯誤、5位元錯誤及6位元錯誤。
  13. 如請求項7之系統,其中該HD8錯誤控制碼經組態以偵測該有效負載中之每個1位元、2位元錯誤、3位元錯誤、4位元錯誤、5位元錯誤、6位元錯誤及7位元錯誤。
  14. 一種有形、非暫態、機器可讀媒體,其包括指令,該等指令經組態以:從與一記憶體組件相關聯之控制矽接收一或多個封包,其中該一或多個封包與將在一記憶體組件上執行之一或多個資料操作相關聯,且其中該一或多個封包包括與該控制矽相關聯之一識別符;基於一第一金鑰判定該一或多個封包是否係值得信任;及當該一或多個封包被判定為值得信任時,用該識別符更新包括值得信任裝置之一清單。
  15. 如請求項14之有形、非暫態、機器可讀媒體,其中該識別符與用於接收該一或多個封包之一通道相關聯。
  16. 如請求項14之有形、非暫態、機器可讀媒體,其中經組態以判定該一或多個封包是否係值得信任之該等指令包括經組態以執行下列操作之指令:基於該一或多個封包及該第一金鑰產生一第一組經修改封包;將該第一組經修改封包發送至該控制矽;從該控制矽接收一第二組經修改封包;及基於該第二組經修改封包判定該一或多個封包是否係值得信任。
  17. 如請求項16之有形、非暫態、機器可讀媒體,其中該第二組經修改封包藉由基於可由該控制矽存取之一第二金鑰修改該第一組經修改封包而產生。
  18. 如請求項17之有形、非暫態、機器可讀媒體,其中該第一金鑰及該第二金鑰係基於從一多項式函數產生之一碼產生。
  19. 如請求項17之有形、非暫態、機器可讀媒體,其中該一或多個 資料操作包括一讀取操作、訊息資料之一傳送、一讀取-修改-寫入(RMW)、一資料集之一傳送、一圖案寫入操作、一寫入啟用操作或一寫入操作。
  20. 如請求項14之有形、非暫態、機器可讀媒體,其中該識別符與一源欄位及一目的地欄位相關聯,該源欄位及該目的地欄位對應於該一或多個封包之一源及該一或多個封包之一目的地。
TW104117824A 2014-06-02 2015-06-02 用於在記憶體系統中提高效率之系統及方法 TWI582588B (zh)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
TW201617879A true TW201617879A (zh) 2016-05-16
TWI582588B TWI582588B (zh) 2017-05-11

Family

ID=54701759

Family Applications (6)

Application Number Title Priority Date Filing Date
TW104117824A TWI582588B (zh) 2014-06-02 2015-06-02 用於在記憶體系統中提高效率之系統及方法
TW104117868A TWI554883B (zh) 2014-06-02 2015-06-02 用於在記憶體系統中分割資料結構之系統及方法
TW104117829A TWI547799B (zh) 2014-06-02 2015-06-02 用於在可擴充記憶體系統協定中傳送封包之系統及方法
TW104117826A TWI545497B (zh) 2014-06-02 2015-06-02 用於在可擴充記憶體系統協定中記錄封包傳送之系統及方法
TW104117823A TWI625632B (zh) 2014-06-02 2015-06-02 記憶體裝置、記憶體系統及操作一記憶體之方法
TW104117828A TWI570569B (zh) 2014-06-02 2015-06-02 用於在可擴充記憶體系統協定中包裝資料之系統及方法

Family Applications After (5)

Application Number Title Priority Date Filing Date
TW104117868A TWI554883B (zh) 2014-06-02 2015-06-02 用於在記憶體系統中分割資料結構之系統及方法
TW104117829A TWI547799B (zh) 2014-06-02 2015-06-02 用於在可擴充記憶體系統協定中傳送封包之系統及方法
TW104117826A TWI545497B (zh) 2014-06-02 2015-06-02 用於在可擴充記憶體系統協定中記錄封包傳送之系統及方法
TW104117823A TWI625632B (zh) 2014-06-02 2015-06-02 記憶體裝置、記憶體系統及操作一記憶體之方法
TW104117828A TWI570569B (zh) 2014-06-02 2015-06-02 用於在可擴充記憶體系統協定中包裝資料之系統及方法

Country Status (6)

Country Link
US (16) US9733847B2 (zh)
EP (6) EP3149585B1 (zh)
KR (3) KR102197401B1 (zh)
CN (8) CN106575257B (zh)
TW (6) TWI582588B (zh)
WO (6) WO2015187577A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI612466B (zh) * 2016-09-20 2018-01-21 東芝記憶體股份有限公司 記憶體系統及處理器系統

Families Citing this family (70)

* 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
EP3417583B1 (en) * 2016-02-19 2020-12-30 Viasat, Inc. Methods and systems for multi-level network capacity allocation
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 慧榮科技股份有限公司 資料儲存裝置之資料頁對齊方法及其查找表的製作方法
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
CN109478168B (zh) 2017-06-23 2020-12-04 华为技术有限公司 内存访问技术及计算机系统
US10713189B2 (en) * 2017-06-27 2020-07-14 Qualcomm Incorporated System and method for dynamic buffer sizing in a computing device
US10387242B2 (en) 2017-08-21 2019-08-20 Qualcomm Incorporated Dynamic link error protection in memory systems
US10908820B2 (en) * 2017-09-14 2021-02-02 Samsung Electronics Co., Ltd. Host-based and client-based command scheduling in large bandwidth memory systems
GB2569275B (en) * 2017-10-20 2020-06-03 Graphcore Ltd Time deterministic exchange
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
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
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
US10969994B2 (en) * 2018-08-08 2021-04-06 Micron Technology, Inc. Throttle response signals from a memory system
US11074007B2 (en) 2018-08-08 2021-07-27 Micron Technology, Inc. Optimize information requests to a memory system
TWI819072B (zh) * 2018-08-23 2023-10-21 美商阿爾克斯股份有限公司 在網路運算環境中用於避免環路衝突的系統、非暫態電腦可讀取儲存媒體及電腦實現方法
KR102541897B1 (ko) 2018-08-27 2023-06-12 에스케이하이닉스 주식회사 메모리 시스템
US11080210B2 (en) 2018-09-06 2021-08-03 Micron Technology, Inc. Memory sub-system including an in package sequencer separate from a controller
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
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
EP4082012A4 (en) 2019-12-26 2024-01-10 Micron Technology, Inc. METHOD FOR NON-DETERMINISTIC OPERATION OF A STACKED MEMORY SYSTEM
WO2021133692A1 (en) 2019-12-26 2021-07-01 Micron Technology, Inc. Truth table extension for stacked memory systems
WO2021133690A1 (en) 2019-12-26 2021-07-01 Micron Technology, Inc. Host techniques for stacked memory 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
EP4133048A1 (en) 2020-04-10 2023-02-15 The Procter & Gamble Company Cleaning implement with a rheological solid composition
US12004009B2 (en) * 2020-05-04 2024-06-04 Qualcomm Incorporated Methods and apparatus for managing compressor memory
US11979330B2 (en) * 2020-06-22 2024-05-07 Google Llc Rate update engine for reliable transport protocol
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

Family Cites Families (216)

* 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
DE60036453T2 (de) * 1999-11-22 2008-06-19 Sony Corp. Videobandaufzeichnungs- und wiedergabegerät und videobandabspielgerät
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
CN1276372C (zh) * 2000-09-29 2006-09-20 艾拉克瑞技术公司 智能网络存储接口系统和装置
US20020159552A1 (en) 2000-11-22 2002-10-31 Yeshik Shin Method and system for plesiosynchronous communications with null insertion and removal
US20020069317A1 (en) 2000-12-01 2002-06-06 Chow Yan Chiew E-RAID system 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 삼성전자주식회사 패킷 통신시스템에서 매체 접속 제어 계층 엔터티들 간의 시그널링 방법
DE60213616T2 (de) * 2001-08-24 2007-08-09 Intel Corporation, Santa Clara Eine allgemeine eingabe-/ausgabearchitektur, protokoll und entsprechende verfahren zur umsetzung der flusssteuerung
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
DE60205014T2 (de) * 2002-02-14 2005-12-29 Matsushita Electric Industrial Co., Ltd., Kadoma Verfahren zum Steuern der Datenrate in einem drahtlosen Paketdatenkommunikationssystem, Sender und Empfänger zu seiner Verwendung
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
US7143264B2 (en) * 2002-10-10 2006-11-28 Intel Corporation Apparatus and method for performing data access in accordance with memory access patterns
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
KR100807446B1 (ko) * 2003-06-18 2008-02-25 니폰덴신뎅와 가부시키가이샤 무선 패킷 통신방법 및 통신장치
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
CN100502531C (zh) * 2004-07-13 2009-06-17 Ut斯达康通讯有限公司 无线基站系统中无线信号的分组传输方法
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
JP2009503743A (ja) * 2005-08-03 2009-01-29 サンディスク コーポレイション データファイルを直接記憶するメモリブロックの管理
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
WO2007095551A2 (en) * 2006-02-13 2007-08-23 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
WO2008013528A1 (en) * 2006-07-25 2008-01-31 Thomson Licensing Recovery from burst packet loss in internet protocol based wireless networks using staggercasting and cross-packet forward error correction
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
US7818489B2 (en) 2006-11-04 2010-10-19 Virident Systems Inc. Integrating data from symmetric and 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
US8762620B2 (en) * 2007-12-27 2014-06-24 Sandisk Enterprise Ip Llc Multiprocessor storage controller
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
US8542588B2 (en) * 2008-06-25 2013-09-24 Qualcomm Incorporated Invoking different wireless link rate selection operations for different traffic classes
KR101431760B1 (ko) * 2008-06-25 2014-08-20 삼성전자주식회사 Ecc 알고리즘을 이용한 플래시 메모리 장치 및 그구동방법
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 한국전자통신연구원 멀티 프로세싱 유닛에 대한 메모리 매핑방법, 및 장치
JP5659791B2 (ja) * 2008-10-09 2015-01-28 日本電気株式会社 コンテンツ配信システム、コンテンツ配信方法及びプログラム
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
JP5342658B2 (ja) * 2009-03-06 2013-11-13 アスペラ,インク. 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
JP5404798B2 (ja) * 2009-09-21 2014-02-05 株式会社東芝 仮想記憶管理装置及び記憶管理装置
JP2013506917A (ja) * 2009-09-30 2013-02-28 サンプリファイ システムズ インコーポレイテッド 圧縮及び復元を用いたマルチ・プロセッサの波形データ交換の改善
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
US8473669B2 (en) * 2009-12-07 2013-06-25 Sandisk Technologies Inc. Method and system for concurrent background and foreground operations in a non-volatile memory array
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控制芯片及数据通信方法
US8680886B1 (en) * 2010-05-13 2014-03-25 Altera Corporation Apparatus for configurable electronic circuitry and associated methods
US8295292B2 (en) * 2010-05-19 2012-10-23 Telefonaktiebolaget L M Ericsson (Publ) High performance hardware linked list processors
US20110299589A1 (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
CN103229155B (zh) 2010-09-24 2016-11-09 德克萨斯存储系统股份有限公司 高速内存系统
US10397823B2 (en) * 2010-10-01 2019-08-27 Signify Holding B.V. Device and method for scheduling data packet transmission in wireless networks
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
WO2013048493A1 (en) * 2011-09-30 2013-04-04 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
US8793543B2 (en) * 2011-11-07 2014-07-29 Sandisk Enterprise Ip Llc Adaptive read comparison signal generation for memory systems
US8954822B2 (en) * 2011-11-18 2015-02-10 Sandisk Enterprise Ip Llc Data encoder and decoder using memory-specific parity-check matrix
US9048876B2 (en) * 2011-11-18 2015-06-02 Sandisk Enterprise Ip Llc Systems, methods and devices for multi-tiered error correction
US9740484B2 (en) * 2011-12-22 2017-08-22 Intel Corporation Processor-based apparatus and method for processing bit streams using bit-oriented instructions through byte-oriented storage
TW201346572A (zh) 2012-01-27 2013-11-16 Marvell World Trade Ltd 發送器設備及發送器系統
EP2815529B1 (en) * 2012-02-17 2019-12-11 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
US8694698B2 (en) * 2012-04-12 2014-04-08 Hitachi, Ltd. Storage system and method for prioritizing data transfer access
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
WO2014000172A1 (en) * 2012-06-27 2014-01-03 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
US9418035B2 (en) * 2012-10-22 2016-08-16 Intel Corporation High performance interconnect physical layer
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
US9229854B1 (en) * 2013-01-28 2016-01-05 Radian Memory Systems, LLC Multi-array operation support and related devices, systems and software
US9652376B2 (en) * 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
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
WO2014205119A1 (en) * 2013-06-18 2014-12-24 The Regents Of The University Of Colorado, A Body Corporate Software-defined energy communication networks
US9967778B2 (en) * 2013-06-19 2018-05-08 Lg Electronics Inc. Reception method of MTC device
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 삼성전자주식회사 메모리 장치 및 그의 파워 제어 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI612466B (zh) * 2016-09-20 2018-01-21 東芝記憶體股份有限公司 記憶體系統及處理器系統

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI582588B (zh) 用於在記憶體系統中提高效率之系統及方法
US9384145B2 (en) Systems and methods for implementing dynamically configurable perfect hash tables
US8046663B2 (en) Semiconductor memory device and method for driving the same
CN111352765B (zh) 控制器及存储器系统
JP2008198202A (ja) メモリシステム及びそのシステムの命令の取扱方法
KR20170030617A (ko) 이진을 삼진으로 매핑하기 위한 그리고 그 역을 위한 장치 및 방법
CN104299637A (zh) 快闪存储器装置及其运作方法
KR20200133823A (ko) 점진적 길이 에러 제어 코드
TW201729103A (zh) 具有通訊機制的計算系統及其操作方法
CN116685943A (zh) 可编程原子单元中的自调度线程
US11500719B1 (en) Reliability improvements for memory technologies
CN116529721A (zh) 按需可编程原子内核加载
CN116569156A (zh) 同步接口的有效负载奇偶校验保护
CN111209221A (zh) 存储系统
TWI827138B (zh) 半導體儲存裝置
CN112136115B (zh) 渐进长度错误控制代码
US20200348999A1 (en) Transaction metadata
KR20180123426A (ko) Ddr 채널을 통해 dimm을 위한 모핑 가능한 ecc 인코더 및 디코더를 포함하는 코딩 메커니즘 및 그 방법
JP2013174947A (ja) バスシステムおよび不揮発性半導体記憶装置