TWI554883B - 用於在記憶體系統中分割資料結構之系統及方法 - Google Patents

用於在記憶體系統中分割資料結構之系統及方法 Download PDF

Info

Publication number
TWI554883B
TWI554883B TW104117868A TW104117868A TWI554883B TW I554883 B TWI554883 B TW I554883B TW 104117868 A TW104117868 A TW 104117868A TW 104117868 A TW104117868 A TW 104117868A TW I554883 B TWI554883 B TW I554883B
Authority
TW
Taiwan
Prior art keywords
memory
memory component
virtual
libraries
processor
Prior art date
Application number
TW104117868A
Other languages
English (en)
Other versions
TW201614501A (en
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 TW201614501A publication Critical patent/TW201614501A/zh
Application granted granted Critical
Publication of TWI554883B publication Critical patent/TWI554883B/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 (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

用於在記憶體系統中分割資料結構之系統及方法 相關申請案之交叉參考
本申請案係主張2014年6月2日申請之標題為「Systems and Methods for a Scalable Memory System Protocol」之美國臨時專利申請案第62/006,668號之優先權的非臨時申請案,該美國臨時專利申請案以引用的方式併入本文中。
本揭示內容大致係關於一種用於改良可使用記憶體裝置執行資料操作(例如,讀取、寫入)之速率之記憶體系統。更具體地,本揭示內容係關於用於改良記憶體系統回應於存取記憶體系統之請求之速率之系統及技術。
本章節旨在向讀者介紹可能與本揭示內容之各種態樣相關之本技術之各種態樣,該等態樣在下文中描述及/或主張。據信此討論有助於為讀者提供背景資訊以促進更好地理解本揭示內容之各種態樣。因此,應瞭解,此等陳述在此意義上閱讀且並非作為先前技術之認可。
通常,低能力(例如,低請求速率)記憶體類型(諸如一動態隨機存取記憶體(DRAM)組件)與高能力(例如,高請求速率)記憶體(諸如一靜態隨機存取記憶體(SRAM)組件)相比可能相對廉價。因而,可基於 記憶體類型的各自能力在特定記憶體類型上執行特定資料操作(例如,讀取、寫入)。例如,對於涉及多個動作的大型複雜資料操作,使用SRAM組件來確保與在使用DRAM組件執行相同資料操作時相比,資料操作被更快速地執行可能係有利的。雖然SRAM組件可用於高效地執行所請求資料操作,但是SRAM組件通常歸因於成本考慮而在記憶體裝置上受限。因而,使用較小能力記憶體組件或其他記憶體類型來按類似於或高於高能力記憶體組件之速率執行操作可能係有利的。
10‧‧‧計算系統
12‧‧‧晶片上主機系統(SoC)
14‧‧‧記憶體裝置
16‧‧‧通道
22‧‧‧記憶體SoC
23‧‧‧緩衝器
24‧‧‧NAND記憶體
26‧‧‧減小延時動態隨機存取記憶體(RLDRAM)
27‧‧‧記憶體組件30之一部分
28‧‧‧雙倍資料速率第四代同步動態隨機存取記憶體(DDR4)
29‧‧‧通道
30‧‧‧三維堆疊記憶體組件
31‧‧‧鏈路
32‧‧‧記憶體層
33‧‧‧邏輯層
34‧‧‧室
35‧‧‧庫
36‧‧‧控制邏輯部分
40‧‧‧方法
42‧‧‧方塊
44‧‧‧方塊
46‧‧‧方塊
60‧‧‧資料結構
62‧‧‧記憶體位址
70‧‧‧分割資料結構
72‧‧‧虛擬庫
74‧‧‧虛擬庫
76‧‧‧虛擬庫
78‧‧‧虛擬庫
90‧‧‧方法
92‧‧‧方塊
94‧‧‧方塊
96‧‧‧方塊
98‧‧‧方塊
110‧‧‧對數圖
在閱讀下列詳細描述及在參考圖式時可更好地暸解本揭示內容之各種態樣,其中:圖1繪示根據一實施例之一計算系統之一實例之一方塊圖;圖2繪示根據一實施例之可作為圖1之計算系統之部分之一記憶體裝置之一實例之一方塊圖;圖3繪示根據一實施例之可包含若干記憶體層之一例示性三維堆疊記憶體組件之一俯視圖;圖4繪示根據一實施例之圖3之記憶體組件之實體層之一示意圖;圖5繪示根據一實施例之組成圖3之記憶體組件之一部分的實體層之例示性虛擬庫之一示意圖;圖6繪示根據一實施例之映射至虛擬庫之四個資料結構之一方塊圖;圖7繪示根據一實施例之用於判定將在圖3之記憶體裝置之一記憶體組件中形成之虛擬庫之數目之方法之一流程圖;圖8繪示根據一實施例之一記憶體組件之一例示性資料結構之一方塊圖; 圖9繪示根據一實施例之圖4之資料結構之一分割版本之一方塊圖;圖10繪示根據一實施例之用於基於一較佳佇列深度判定將在圖2之記憶體裝置之一記憶體組件中形成之虛擬庫之數目之一方法之一流程圖;及圖11繪示根據一實施例之相對於各種佇列深度的虛擬庫之數目的一對數圖。
下文將描述一或多個特定實施例。為了提供此等實施例之一簡潔描述,本說明書中未描述一實際實施方案之所有特徵。應暸解,如在任何工程或設計項目中,在任何此實際實施方案的研發中,需作出許多實施方案特定決策以達成可隨實施方案變化而變化之研發者的特定目標,諸如符合系統相關及業務相關的限制。此外,應暸解,此一研發工作可能係複雜且耗時的,但對於獲利於本揭示內容之一般技術者而言,該研發工作仍將係一例常設計、製作及製造任務。
大致上,不同的記憶體類型具有不同能力。即,不同的記憶體類型可比其他記憶體類型更高效地執行特定類型的功能。例如,DRAM記憶體類型可能無法像一SRAM記憶體一樣快地執行功能。在某些實施例中,一記憶體系統可將一DRAM之部分映射為虛擬庫,且使用虛擬庫同時執行多個操作。因而,可能已由SRAM個別地執行之操作現可使用DRAM執行。藉由在DRAM之虛擬庫中同時執行此多個操作,使用虛擬庫之一記憶體系統可提供在使用一較低請求速率記憶體(DRAM)的同時,使用一高請求速率記憶體(如SRAM)之一錯覺。因此,較高能力記憶體(如SRAM)可被保留用於執行其他程序。有關在各種記憶體類型中映射虛擬庫以執行更高效操作之額外細節將在下文更詳細描述。
使用可擴充協定的計算及記憶體系統
經由介紹,圖1繪示可包含記憶體裝置之一計算系統10之一方塊圖,該等記憶體裝置可根據本文中描述的技術在記憶體組件中映射虛擬庫。計算系統10可為多種計算裝置之任何者,諸如一電腦、傳呼機、蜂巢式電話、個人記事簿、控制電路等。計算系統10可包含一晶片上主機系統(SoC)12,該晶片上主機系統(SoC)12可耦合至若干記憶體裝置14。主機SoC 12可為一積體電路(IC),其將一電腦或其他電子系統之所有組件整合至一單個晶片中。因而,主機SoC 12可包含一或多個處理器,諸如一微處理器,該一或多個處理器可控制計算系統10中之系統功能及請求的處理。如本文中使用,處理器可包含能夠在一相應電裝置上執行可執行指令的任何適當處理器。
如上所述,主機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用於執行本文中描述的各種技術的處理器可執行碼。應注意,非暫態僅指示媒體係有 形的且並非一信號。
資料結構的高度分割
如上所述,可藉由利用特定類型的記憶體之能力以執行通常在其他類型的記憶體上執行的操作而更高效地使用記憶體裝置。例如,如DRAM之低能力記憶體類型與諸如SRAM之高能力記憶體相比可能相對廉價。雖然DRAM可能無法像一SRAM一樣快地執行功能,但是DRAM之可獨立操作區域(IOR)(諸如庫)可用於同時執行可能已由SRAM個別地執行的多個操作。因而,在某些實施例中,記憶體SoC 22可在記憶體裝置14內分割一或多個記憶體組件之資料結構。即,記憶體SoC 22可決定如何使用各記憶體組件之可用資料結構分佈資訊。應提及,如本文中討論,分割一資料結構大致涉及根據記憶體組件中已存在的庫將資料結構的部分映射至現有庫的虛擬庫中,及類似情況。如將暸解,鑑於庫在記憶體組件內的各自資料結構,庫可獨立於彼此操作。以相同方式,在各庫中映射的虛擬庫可取決於其中映射各各自虛擬庫之庫而獨立於彼此操作。在任何情況中,在判定記憶體組件中的可用資料結構後,記憶體SoC 22可將作為記憶體組件之部分之不同資料結構映射至記憶體組件之庫或虛擬庫中。因此,高度分割技術可允許具有高的庫計數的廉價記憶體,諸如DRAM(即,具有比一慣用DRAM多的庫及被分割以作為一慣用DRAM中不存在的虛擬庫操作之可能庫的DRAM)取代更昂貴且高能力的記憶體,諸如SRAM。
記住上述內容,記憶體裝置14之各記憶體組件可包含特定數目的資料結構,該等資料結構在記憶體組件最初製造時,作為該記憶體組件的部分。例如,一記憶體組件可為一堆疊裝置,該堆疊裝置包含可分佈至不同部分(諸如室(vault)或庫)之記憶體之若干層。圖3繪示一例示性三維堆疊記憶體組件30之一俯視圖,該三維堆疊記憶體組件30可包含可能在製造時形成的若干記憶體層。如圖3中所示,記憶體組 件30可包含耦合至其上之若干鏈路31。通常,上文討論的通道29可包含一或多個鏈路31,且可提供對記憶體組件30之存取。在所描繪之實施例中,各鏈路31可包含三個進入信道及兩個外出信道。
如上所述,記憶體組件30可包含若干記憶體層及一邏輯層。例如,圖4繪示記憶體組件30之一示意圖,該記憶體組件30具有八個記憶體層32(例如,DRAM層1至8)及一個邏輯層33(例如,邏輯層0)。各記憶體層32可包含可用於儲存資料之記憶體位元單元。邏輯層33可包含控制電路組件,該等控制電路組件可促進至記憶體層32之一者或多者及至一外部介面之存取。
如上文討論,記憶體組件30可在製造時分割以提供記憶體組件30之單獨區段或IOR。在一個實例中,各記憶體層32可被分為大片段(例如,室),該等大片段可被進一步分割為較小片段(例如,庫)。根據本文中描述之技術,庫可被進一步分割為虛擬庫。圖5繪示上文討論之記憶體組件30之一部分27之一示意圖。如圖5中所示,記憶體組件30之部分27之各記憶體層32可被分割為兩個室34,且各室34可被分割為兩個庫35。
應注意,圖5繪示有關鏈路31之一者之邏輯及記憶體堆疊之一部分27。在一實施例中,對於整個記憶體組件30,可能存在64個此等部分(例如,切片)。由於各記憶體層32被分割成兩個室34,故邏輯層33可包含兩個控制邏輯部分38,該等控制邏輯部分38可控制至各各自室34的資料流量。在所描繪之實施例中,每一個外部鏈路31繪示兩個室34。此組態可提供DRAM技術之內部速度能力的最佳化及其如何匹配至邏輯層33之外部速度能力。但是,應注意,在某些實施例中,各室34可包含耦合至邏輯層之其自己的個別垂直匯流排(未展示)。在某些實施例中,各鏈路31可經由邏輯層33存取室34。因而,邏輯層33可提供對記憶體層32的任何者之存取。
記住這點,記憶體SoC 22或任何其他適當裝置可將庫35進一步分割成虛擬庫36,該等虛擬庫36可用於提供記憶體組件30之改良操作。即,在某些實施例中,記憶體SoC 22將記憶體層32之片段(例如,庫35)之不同部分分配為單獨的虛擬庫36,該等虛擬庫36可用於執行各種資料操作。
舉例而言,圖6繪示可作為記憶體組件30之部分之四個例示性資料結構37。如將暸解,使用本文中揭示之系統及技術,記憶體SoC 22可將資料結構37映射至跨庫35分佈之虛擬庫36中。即,記憶體組件30可包含已被分割為四個虛擬庫36(虛擬庫0至3)之六個庫36(庫0至5)。如圖6中所示,資料結構A及資料結構D係讀取-修改-寫入(RMW)結構,其被映射至數量為唯讀結構兩倍之實體庫中。即,與可各跨一個庫35映射的唯讀結構相比,RMW結構之暫存器可各跨兩個庫35映射。藉由將各結構映射至不同庫35,記憶體SoC 22可改良記憶體組件30處置多個請求的能力。例如,若一第一請求涉及存取資料結構A之暫存器A0且一第二請求涉及存取資料結構A之暫存器A5,則記憶體SoC 22可能不針對第二請求提供對資料結構A的存取,直至第一請求已被處理為止。但是,若資料結構37被映射至圖6中所示之虛擬庫36中,則由於暫存器A0及A5被映射至作為不同庫35之部分之不同虛擬庫36,故記憶體SoC 22可同時處理第一請求及第二請求,此係因為其等兩者存取不同庫35。
記住記憶體組件30之例示性分割結構,下文將使用一網路設備實例描述使用記憶體組件之高度分割之技術。但是,應注意,此相同方法亦可在不存在清晰的資料結構時工作。通常,如上所述,藉由將可獨立操作區域(IOR)(如DRAM庫(例如,庫35))放入一定址結構之低階位元中,與資料結構之分割相比,可達成相同系統操作效果。例如,若DRAM自然存取係128位元(16位元組),則緊接在16B群組之前 的位址位元可引向下一IOR。因而,連續的隨機交易可能進入與前一交易不同的IOR。
查看一網路設備實例,在可支援網際網路訊務之一高速路由器中,當一封包被路由器接收時,可參照高達40個不同資料結構。若輸入資料之集合線速率係400Gb/s,則最小封包大小係512個位元,且圍繞封包之額外時間間隙導致封包持續時間為672個位元,且所有封包為相同大小,則封包速率係1.68ns或672個位元/400Gb/s。一些結構可簡單依每個封包被觸碰(例如,讀取或寫入)一次,而其他結構可被觸碰兩次(例如,讀取及寫入)。因而,為了支援此線速率,記憶體可支援2次觸碰之隨機存取速率1.68ns/2=0.84ns,其可能難以使任何記憶體支援此類型之隨機存取。此外,可能難以設計DRAM以允許0.84ns的列循環時間(tRC)或將其擴充至tRC的甚至更小值。如本文中所使用,一記憶體組件之tRC指記憶體組件之一記憶體列完成一完整循環(從列啟動至主動列之預充電)所花費的最小時間量(例如,時脈循環)。
為了促進此類型之隨機存取,由記憶體SoC 22利用的個別DRAM的庫計數的數目可增大以提供足夠數目的庫來涵蓋隨機具有0.84ns的針對2次觸碰之近似存取速率之一應用程式的需要。為了判定個別DRAM之庫計數的數目,記憶體SoC 22可判定一記憶體組件之資料結構可用於根據較佳隨機存取請求速率實現一成功系統操作之一程度或量。通常,分割使用的數量可依據記憶體組件之tRC對較佳隨機存取請求速率之一比率。
記住上述內容,圖7繪示用於判定記憶體SoC 22可選擇以在一記憶體組件(例如,DRAM)中使用之最小數目之片段的方法40。若記憶體組件包含小於此最小數目的片段,則記憶體組件之片段可開始接收隨機請求,該隨機請求將偶爾佔用各片段,同時到達且導致各種延 遲。因而,在實務中,在執行方法40後實施之片段的數目可包含除所計算的最小值以外的一或多個片段。如本文中使用,片段指代記憶體組件30中已存在的庫35。片段亦指代如上文描述藉由一處理器映射之虛擬庫36。在某些實施例中,記憶體SoC 22可在使用一各自記憶體組件之不同片段之前執行下文描述之方法40。但是,應暸解,方法40可由任何適當處理器執行。為討論目的,將參考虛擬庫36描述方法40之下列描述,但是應暸解,方法40亦可參考作為記憶體組件30之部分之庫35執行。
在方塊42處,記憶體SoC 22可接收預期被傳送至記憶體SoC 22之一預期隨機存取速率。重新參考上文提出之實例,若輸入資料之一集合線速率係400Gb/s,則最小封包大小係512個位元(包含封包間間隙之672位元等效物),且所有封包為最小大小,則各所接收封包之預期隨機存取速率係大約1.68ns。假設各封包包含2次觸碰資料操作,則針對各所接收封包之預期隨機存取速率係大約0.84ns。
在方塊44處,記憶體SoC 22可接收一記憶體組件之一列循環時間(tRC)。如上文討論,一記憶體組件之tRC指記憶體組件之一記憶體列完成一完整循環(從列啟動至主動列之預充電)所花費的最小時間量(例如,時脈循環)。換言之,記憶體組件之tRC可指一記憶體組件中之一資料結構(例如,庫)在執行一個資料操作(例如,2次觸碰操作)時可使用的時間量。
在方塊46處,記憶體SoC 22可基於記憶體組件之tRC對各所接收封包之預期隨機存取速率之一比率判定各自記憶體組件中可使用的虛擬庫之最小數目。若在方塊44處接收之記憶體組件之tRC係8.4ns,則在上文實例中記憶體組件之tRC對各所接收封包之預期隨機存取速率的比率係8.4:0.84或10至1。記憶體組件之tRC與各所接收封包之預期隨機存取速率之間的所產生比率可對應於將在各自記憶體組件中使用 以適應各所接收封包之預期隨機存取速率之最小數目之虛擬庫。即,所產生的比率可識別各自記憶體組件中在不添加封包至一佇列的情況下繼續接收封包所需之虛擬庫之數目。
如上所述,記憶體組件30可在設計或製造記憶體組件30時,被大致分佈至不同結構(例如,室34、庫35)中。一分佈實例包含將記憶體組件30劃分為庫35,如上文討論。庫30可使用共用的獨立列及行解碼器、感測放大器及資料路徑存取。
記住這點,在一些實施例中,記憶體SoC 22可藉由將一庫35劃分為虛擬庫36而使用較少資源來存取記憶體層35。即,記憶體SoC 22可將一庫35之不同部分映射至若干虛擬庫36中以使不同庫35能獨立操作。因而,邏輯層33之單獨列解碼器可用於存取各虛擬庫36,但資源的一些共性仍可沿著各自資料路徑及經由邏輯層33之行解碼器存在。
與將不同庫35映射至不同室34或不同記憶體層32之部分中相比,藉由將一個庫35映射至虛擬庫34中,記憶體SoC 22可引致較少面積損失(例如,額外2至3%)。即,一新請求可進入具有若干虛擬庫36之此單個庫35,且使用共用資源(例如,行解碼器)存取虛擬庫之各者。因而,記憶體SoC 22可按~4ns之行至行延遲時間(tCCD)之一速率送達一請求,該延遲時間比整個庫35之列循環時間(tRC)(例如,~35ns)快。雖然在一些情況中,tCCD速率可比資料路徑能力(例如,可按1至2ns操作)慢,但是與習知系統相比,使用虛擬庫36仍可在存取記憶體組件30時提供改良的速率。
重新參考方塊46,在判定將在各自記憶體組件中使用之虛擬庫之最小數目後,記憶體SoC 22可開始將各自記憶體組件中之一或多個資料結構映射至一各自虛擬庫36。應注意,藉由將記憶體組件30設計為具有更多庫35,或將虛擬庫36添加至庫35,記憶體組件30可使用額外矽區域,其可關聯於更高成本及因此更高之每位元成本。因此,若 記憶體組件30的晶粒大小恆定,則較少位元在記憶體組件30中可用。但是,本文中描述之映射程序不會實際導致任何記憶體容量(例如,記憶體位元計數)損失減小。而是,本文中描述之映射技術可導致資料圍繞記憶體組件30散佈。因而,額外邏輯可用於保持追蹤使用中的記憶體及空閒的記憶體。
為了更好地繪示分割記憶體組件的好處,圖8繪示尚未被分割成虛擬庫36之一記憶體組件之一例示性資料結構60。如圖8中所示,資料結構60包含16個記憶體位址62。當一封包請求被具有資料結構60之各自記憶體組件接收時,封包請求之相應資料操作可能導致資料結構無法被記憶體組件30之tRC獲得。即,例如,若一第一封包請求包含針對資料結構60之元素3之一請求,且一第二封包請求包含針對元素16之一請求,則第二封包請求無法被執行,直至第一封包請求已被完成或直至記憶體組件之tRC已通過為止。若當第二請求封包正在試圖存取資料結構60時,記憶體組件之tRC尚未通過,則記憶體SoC 22可被放置在針對各自資料結構60之一佇列中。
圖9繪示具有虛擬庫72、74、76及78之一分割資料結構70。在一實施例中,資料結構70之各輸入項可基於虛擬庫36之數目按循環方式編號。例如,取代如圖8之資料結構60中所示按時間順序對各記憶體位址編號,將元素1映射至虛擬庫72、將元素2映射至虛擬庫74,將元素3映射至虛擬庫76、將元素4映射至虛擬庫78、將元素5映射至虛擬庫72等等。
記住上述內容,當將上文提出之實例應用至圖9之分割資料結構70時,分割資料結構70之值將變得明顯。即,若第一封包請求包含針對分割資料結構70之元素3之一請求,則記憶體SoC 22可提供對分割資料結構70之虛擬庫76之存取。由於各分割資料結構係相同記憶體組件之部分,故各虛擬庫之tRC對應於記憶體組件之tRC。但是,與資 料結構60不同,若第二封包請求包含針對元素16之一請求,則記憶體SoC 22可提供對虛擬庫78之存取,而不管第一封包請求是否已停止存取虛擬庫76。如將暸解,由於虛擬庫76及虛擬庫78係獨立於彼此,故即使當虛擬庫76忙於執行另一操作時,記憶體SoC 22仍可提供對虛擬庫78之存取。因而,與資料結構60相比,記憶體組件使用分割資料結構70高效執行資料操作的能力隨更多虛擬庫產生而增大。
雖然圖7之方法40可提供將在記憶體組件30中形成的最小數目之虛擬庫,但是在記憶體組件30中增加額外虛擬庫以補償各種錯誤、非預期延遲、在佇列中等待存取記憶體組件30之封包及類似者可能是有利的。例如,考慮針對1011個隨機請求循環之上文描述之網路系統之模擬及假設每1.68ns可接收一請求之一基線SRAM及無資料結構分割,佇列深度(即,一新請求在全管線化系統中等待一答案的時間)針對僅具有1次觸碰之操作可為1個封包。另一方面,針對具有2次觸碰的操作,佇列時間傾向於無限。即,當每個請求執行一觸碰兩次時,SRAM無法跟上。由於每1.68ns,記憶體組件可接收一兩次觸碰請求(即使其在該時間跨度內只能處理一次觸碰操作),故佇列深度在各所接收封包後增大,且傾向於無限。因而,此模擬系統無法如設計般起作用。
現參考來自使用4向資料結構分割之上述實例之一模擬之一些資料點,具有相對tRC=2*請求速率之一裝置之最大佇列延遲被模擬為12。對於相對tRC=3x,最大佇列延遲被模擬為31。基於各自記憶體組件之各種性質,可能期望良好系統操作之一最大佇列延遲不大於大約15。因而,tRC=2x係每個封包1次觸碰結構之一合理解決方案。對於2次觸碰,tRC被有效翻番,此係因為需要2個操作,因此tRC=2x將表現為tRC=4x,其在此實例中將具有不可接受的長佇列時間。
在64向分割中且假設tRC=8.4ns(即,5x封包速率),佇列深度可 被模擬為6,其對於每個封包1次觸碰而言係可接受的。但是,在模擬每個封包2次觸碰的tRC=10x,佇列深度可被模擬為9,其亦可能係可接受的。因此,藉由採用各自記憶體組件之64個庫(其等可依5x封包速率循環),即使在每個輸入封包2次觸碰記憶體的情況下,記憶體系統仍可跟上全線速率。
在tRC=6x(即,在本實例中的10.08ns)之64向分割中,DRAM的相應種類可使用快速庫循環技術,同時仍使用習知1T-1C DRAM及習知感測放大器建立。在此,佇列針對1次觸碰可為7,且針對2次觸碰可為10,兩者再次係可接受的。舉例而言,若40個資料結構之一系統具有1次觸碰(即,唯讀)結構之14個結構,且具有2次觸碰(即,讀取-修改-寫入)結構之24個結構,則針對14個唯讀結構之各者之16向分割可能涉及總共224個庫。因而,在本實例中,佇列將為13。其餘26個結構可被賦予30向分割,藉此消耗780個庫35。在此,2次觸碰佇列可為14個。在本實例中涉及之庫35的總數目接著可為224+780=1,004。若可用的庫35的總數目係1,024,則20個庫35仍可用於其他功能。記住這點,若系統使用8個DRAM來達成期望記憶體容量及頻寬,則各DRAM可使用128個庫35,其等可能比一產業標準DRAM高,但按合理成本設計及建造仍可行。
雖然在此參考一網路路由器描述資料結構之分割,但是應暸解,本文中描述之技術亦可用於其他類型之系統中。因而,上述實例不旨在將當前揭示技術之範疇限制為網路化。
記住上述內容,圖10繪示用於基於一較佳佇列深度判定將在記憶體組件中形成之虛擬庫之數目之一方法90。如上文參考圖7所提及,為討論目的,將參考虛擬庫36描述方法90之下列描述,但是應暸解,方法90亦可參考作為記憶體組件30之部分之庫35執行。
在一實施例中,方法90可在根據方法40判定將在記憶體組件中 形成之虛擬庫36之數目後執行。即,方法40可用於判定將在記憶體組件30中映射之虛擬庫36之最小數目,且接著方法90可用於微調或識別將在記憶體組件30中映射之虛擬庫36之數目以高效執行各種資料請求。
如同方法40,方法90之下文描述將被描述為由記憶體組件SoC 22執行,但是應暸解,任何適當處理器可執行方法90。此外,雖然方法90按特定順序提出,但是應注意,方法90可按任何適當順序執行。
現參考圖10,在方塊92處,記憶體SoC 22可接收一較佳佇列深度。較佳佇列深度可基於在記憶體組件被分割後可用之記憶體量判定。通常,各佇列深度增量涉及在記憶體組件中使用額外暫存器或額外記憶體以儲存佇列化之相應資料。因而,較佳佇列深度可與記憶體組件中可用之記憶體量相關。
應注意,記憶體成本涉及增大記憶體組件30可支援之佇列深度之量。即增大記憶體組件30之可用佇列深度,涉及使用記憶體組件30之更多暫存器來增大佇列深度。但是,為了減小佇列深度,記憶體SoC 22可在記憶體組件30內映射虛擬庫36。但是,虛擬庫36的映射仍增大記憶體成本,且增加有關邏輯層33之邏輯成本以適應針對不同虛擬庫36之不同佇列。但是,與分割記憶體組件30相比之未分割記憶體組件30之相對較長佇列深度對應於與使用具有虛擬庫36所涉及的多個佇列相比之較低系統效能。
在方塊94處,記憶體SoC 22可基於針對記憶體組件30之虛擬庫36具有一定預期觸碰率之隨機訊務判定在達到較佳佇列深度前執行的循環數目。在某些實施例中,虛擬庫36之預期量可對應於方法40之結果。
使用針對使用方法40判定之最小數目的虛擬庫36具有預期觸碰率之隨機訊務,記憶體SoC 22可執行記憶體組件30接收特定數目之隨 機請求之一模擬。在一實施例中,記憶體SoC 22可執行模擬,直至已達到較佳佇列深度。
舉例而言,圖11繪示一對數圖110,其繪示關於記憶體組件30中存在的虛擬庫36之數目,各種佇列深度值在若干循環內發生時的情況。如對數圖110中所示,當記憶體組件30被分割為4個虛擬庫36時,在10,000個循環後達到2的最大佇列深度。記住這點,在方塊94處,記憶體SoC 22可使用一模擬來判定預期在達到較佳佇列深度之前執行之循環的數目。
再次參考圖10,在方塊96處,記憶體SoC 22可判定循環數目是否大於一定臨限。在一實施例中,臨限可與被模擬為訊務之封包之一預期封包錯誤率相關聯。即,雖然藉由上文描述之方法40判定之虛擬庫36之數目可提供足夠數目的虛擬庫36來執行與所接收封包相關聯之資料操作,但是所判定數目不考慮所接收封包之封包錯誤率。任何封包可具有反映在一錯誤可能發生之前執行之預期數目之循環之一封包錯誤率。例如,封包錯誤率可為每109個循環1個錯誤。當一封包發生一錯誤,封包被重新傳送且記憶體組件30之佇列(例如,佇列深度)可增大。
記住這點,且考慮作為模擬的部分之封包之隨機訊務,一請求封包可在先前請求封包完成處理前重複到達相同虛擬庫36。因而,請求封包可作為佇列的部分備份或儲存在一暫存器中。在某些實施例中,請求封包之積存可儲存在記憶體組件30前方之佇列中。但是,佇列的大小受限,此係因為用於在佇列中保存封包之各暫存器耗用記憶體空間。某時,記憶體空間將不再可用。若佇列資源被剔除的頻率歸因於封包錯誤而小於正常封包丟棄率,則記憶體組件30之操作中可能不存在任何可觀測的損失。例如,若封包在109次中丟棄1個,則記憶體組件30可被選擇包含足夠的暫存器來支援在1012個請求中丟棄1個 之一佇列或0.1%的正常封包丟棄率。因而,重新參考方塊96,在一些實施例中,臨限可比封包錯誤率大一定倍數。例如,若1010個封包之一個封包丟棄,則臨限可被設定為1012
若記憶體SoC 22判定循環數目不大於臨限,則記憶體SoC 22可結束方法90,且用方塊94處使用的虛擬庫的數目繼續進行。但是,若記憶體SoC 22判定循環數目大於臨限,則記憶體SoC 22可增大在記憶體組件30中映射的虛擬庫36的量,且在方塊98處,重複方塊94至98,直至達到較佳佇列深度的循環數目小於臨限。
雖然上文描述之方法90被描述為由記憶體SoC 22執行,但是應注意,在某些實施例中,方法90可由獨立於記憶體裝置14操作之一處理器執行。即,與典型記憶體SoC相比,執行方法90之處理器可具有額外處理力,以判定虛擬庫36之量以更快地使用。但是,若方法90由記憶體SoC 22執行,則應注意,記憶體SoC 22可包含額外控制邏輯、計數器及隨機數目產生器以高效執行方法90。
雖然本文中描述之實施例可具有各種修改及替代形式,但是特定實施例已在圖式中藉由實例展示且已在本文中予以詳細描述。然而,應瞭解,本發明並不旨在限於所揭示之特定形式。而是,本發明涵蓋落於如藉由下列隨附申請專利範圍定義之本發明之精神及範疇內之所有修改、等效物及替代。
27‧‧‧記憶體組件30之一部分
31‧‧‧鏈路
32‧‧‧記憶體層
33‧‧‧邏輯層
34‧‧‧室
35‧‧‧庫
36‧‧‧控制邏輯部分

Claims (20)

  1. 一種記憶體裝置,其包括:一記憶體組件,其經組態以儲存資料;及一處理器,其經組態以基於與該記憶體組件相關聯之一或多個性質及該記憶體組件之一預期隨機存取速率而在該記憶體組件中映射一或多個庫或一或多個虛擬庫。
  2. 如請求項1之記憶體裝置,其中該記憶體組件包括一動態隨機存取記憶體或一NAND記憶體。
  3. 如請求項1之記憶體裝置,其中該處理器經組態以經由該等虛擬庫之兩個不同虛擬庫在該記憶體組件上執行至少兩個資料操作,其中該至少兩個資料操作之一部分被同時執行。
  4. 如請求項1之記憶體裝置,其中與該記憶體組件相關聯之該等性質包括該記憶體組件之一列循環時間。
  5. 如請求項1之記憶體裝置,其中該預期隨機存取速率係基於由該處理器接收之請求之一聚合線速率、該等請求之各請求之一最小大小及由該等請求之各請求執行之觸碰操作之一類型判定。
  6. 一種方法,其包括:經由一處理器,接收與存取一記憶體組件相關聯之一預期隨機存取速率;經由該處理器,接收與該記憶體組件相關聯之一列循環時間;經由該處理器,基於該預期隨機存取速率及該列循環時間判定將在該記憶體組件中產生之庫之一第一數目或虛擬庫之一第二數目;及經由該處理器,分別基於該第一數目之庫或該第二數目之虛 擬庫在該記憶體組件中映射一或多個庫或一或多個虛擬庫,其中該記憶體組件中之該一或多個虛擬庫之各虛擬庫可基於該記憶體組件中之該一或多個虛擬庫之位置獨立存取。
  7. 如請求項6之方法,其中該列循環時間包括該記憶體組件之一記憶體列完成一完整循環之一時間量。
  8. 如請求項6之方法,其中該預期隨機存取速率係基於與存取該記憶體組件之各請求相關聯之觸碰之一數目判定。
  9. 如請求項6之方法,其中判定將在該記憶體組件中產生之虛擬庫之該數目包括判定該列循環時間對該預期隨機存取速率之一比率。
  10. 如請求項6之方法,其包括經由該處理器存取該一或多個虛擬庫之一第一虛擬庫,同時該一或多個虛擬庫之一第二虛擬庫亦被存取。
  11. 如請求項6之方法,其包括經由該處理器將該等記憶體組件之複數個元素映射至該等記憶體組件之該一或多個庫或該一或多個虛擬庫中之一或多個元素。
  12. 如請求項6之方法,其包括經由該處理器,基於該記憶體組件之一較佳佇列深度判定將在該記憶體組件中產生之虛擬庫之該第二數目。
  13. 如請求項12之方法,其中經由該處理器,基於該較佳佇列深度判定將在該記憶體組件中產生之虛擬庫之該第二數目包括執行存取該記憶體組件之複數個隨機請求之一模擬及判定由該處理器執行以達到該較佳佇列深度之循環之一數目。
  14. 一種有形、非暫態、機器可讀媒體,其包括指令,該等指令經組態以:接收一記憶體組件之一較佳佇列深度,其中該較佳佇列深度 包括在一佇列中等待存取該記憶體組件之封包之一數目;基於將由該記憶體組件接收之複數個隨機封包之一預期觸碰速率及該記憶體組件中之庫之一第一數目或虛擬庫之一第二數目判定達到該較佳佇列深度之循環之一數目,其中該記憶體組件中之該第二數目之虛擬庫之各虛擬庫可基於該記憶體組件中之該第二數目之虛擬庫之各虛擬庫之一位置獨立存取;及基於循環之該數目判定該記憶體組件中之庫之一第三數目或虛擬庫之一第四數目。
  15. 如請求項14之有形、非暫態、機器可讀媒體,其中用於判定循環之該數目之該等指令包括以下指令:執行藉由該記憶體組件針對該第一數目之庫或該第二數目之虛擬庫接收該複數個隨機封包之一模擬;及基於該模擬判定循環之該數目。
  16. 如請求項14之有形、非暫態、機器可讀媒體,其中用於判定虛擬庫之該第四數目之該等指令包括以下指令:判定循環之該數目是否超過一臨限;及當循環之該數目超過該臨限時,增加虛擬庫之該第二數目。
  17. 如請求項16之有形、非暫態、機器可讀媒體,其中該臨限與一封包錯誤率相關聯。
  18. 如請求項17之有形、非暫態、機器可讀媒體,其中該封包錯誤率包括在由該記憶體組件接收該複數個隨機封包之一模擬期間在一錯誤發生前執行之一預期數目之循環。
  19. 如請求項16之有形、非暫態、機器可讀媒體,其中該臨限係一封包錯誤率之一倍數。
  20. 如請求項14之有形、非暫態、機器可讀媒體,其中該記憶體組件包括一動態隨機存取記憶體或一NAND記憶體。
TW104117868A 2014-06-02 2015-06-02 用於在記憶體系統中分割資料結構之系統及方法 TWI554883B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462006668P 2014-06-02 2014-06-02
US14/726,150 US9690502B2 (en) 2014-06-02 2015-05-29 Systems and methods for segmenting data structures in a memory system

Publications (2)

Publication Number Publication Date
TW201614501A TW201614501A (en) 2016-04-16
TWI554883B true TWI554883B (zh) 2016-10-21

Family

ID=54701759

Family Applications (6)

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

Family Applications Before (3)

Application Number Title Priority Date Filing Date
TW104117829A TWI547799B (zh) 2014-06-02 2015-06-02 用於在可擴充記憶體系統協定中傳送封包之系統及方法
TW104117828A TWI570569B (zh) 2014-06-02 2015-06-02 用於在可擴充記憶體系統協定中包裝資料之系統及方法
TW104117826A TWI545497B (zh) 2014-06-02 2015-06-02 用於在可擴充記憶體系統協定中記錄封包傳送之系統及方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
TW104117823A TWI625632B (zh) 2014-06-02 2015-06-02 記憶體裝置、記憶體系統及操作一記憶體之方法
TW104117824A TWI582588B (zh) 2014-06-02 2015-06-02 用於在記憶體系統中提高效率之系統及方法

Country Status (6)

Country Link
US (16) US9823864B2 (zh)
EP (6) EP3149585B1 (zh)
KR (3) KR102197401B1 (zh)
CN (9) CN110262751A (zh)
TW (6) TWI547799B (zh)
WO (6) WO2015187576A1 (zh)

Families Citing this family (75)

* 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
WO2017142560A1 (en) * 2016-02-19 2017-08-24 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 慧榮科技股份有限公司 資料儲存裝置之資料頁對齊方法及其查找表的製作方法
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
KR102532173B1 (ko) 2017-06-23 2023-05-16 후아웨이 테크놀러지 컴퍼니 리미티드 메모리 액세스 기술 및 컴퓨터 시스템
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
US10908820B2 (en) 2017-09-14 2021-02-02 Samsung Electronics Co., Ltd. Host-based and client-based command scheduling in large bandwidth memory systems
GB2569276B (en) 2017-10-20 2020-10-14 Graphcore Ltd Compiler method
GB2569275B (en) 2017-10-20 2020-06-03 Graphcore Ltd Time deterministic exchange
GB201717295D0 (en) 2017-10-20 2017-12-06 Graphcore Ltd Synchronization in a multi-tile processing array
US10963003B2 (en) 2017-10-20 2021-03-30 Graphcore Limited Synchronization in a multi-tile processing array
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 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
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
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
US10929033B2 (en) * 2018-04-25 2021-02-23 Micron Technology, Inc. Allocating variable media types of memory devices in a memory system
US11003375B2 (en) 2018-05-15 2021-05-11 Micron Technology, Inc. Code word format and structure
US10831653B2 (en) 2018-05-15 2020-11-10 Micron Technology, Inc. Forwarding code word address
US10409680B1 (en) 2018-05-24 2019-09-10 Micron Technology, Inc. Progressive length error control code
US10496478B1 (en) * 2018-05-24 2019-12-03 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
DE102019133894A1 (de) * 2019-12-11 2021-06-17 Beckhoff Automation Gmbh Verfahren zum zyklischen Übertragen von Daten zwischen Kommunikationsteilnehmern auf einem Datenübertragungskanal und Datenübertragungssystem
EP4081890A4 (en) 2019-12-26 2024-01-17 Micron Technology, Inc. TRUTH TABLE EXTENSION FOR STACKED MEMORY SYSTEMS
US11455098B2 (en) 2019-12-26 2022-09-27 Micron Technology, Inc. Host techniques for stacked memory systems
WO2021133687A1 (en) * 2019-12-26 2021-07-01 Micron Technology, Inc. Techniques for non-deterministic operation of a stacked memory system
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
US20240295981A1 (en) * 2023-03-03 2024-09-05 Western Digital Technologies, Inc. Data Storage Device and Method for Host-Assisted Efficient Handling of Multiple Versions of Data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070156946A1 (en) * 2005-12-29 2007-07-05 Intel Corporation Memory controller with bank sorting and scheduling
TW200947444A (en) * 2008-02-04 2009-11-16 Mosaid Technologies Inc Flexible memory operations in NAND flash devices
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
US20120023365A1 (en) * 2010-07-26 2012-01-26 Apple Inc. Methods and systems for monitoring write operations of non-volatile memory

Family Cites Families (212)

* 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
ATE550852T1 (de) * 2000-09-29 2012-04-15 Alacritech Inc Intelligentes netzwerkspeicherschnittstellensystem und solche einrichtungen
US20020154633A1 (en) 2000-11-22 2002-10-24 Yeshik Shin Communications architecture for storage-based devices
US6745310B2 (en) 2000-12-01 2004-06-01 Yan Chiew Chow Real time local and remote management of data files and directories 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 삼성전자주식회사 패킷 통신시스템에서 매체 접속 제어 계층 엔터티들 간의 시그널링 방법
EP1421501B1 (en) * 2001-08-24 2006-08-02 Intel Corporation A general intput/output architecture, protocol and related methods to implement flow control
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
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
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
EP1980074A4 (en) * 2006-02-13 2012-12-19 Digital Fountain Inc CONTINUOUS CONTINUOUS CONTINUOUS TRANSMISSION WITH CONCURRENT FLUX AGGREGATION FOR CONTINUOUS CONTROL CALCULATION
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
US20100005178A1 (en) * 2006-10-24 2010-01-07 Catalin Sindelaru Method and system for firewall friendly real-time communication
US7774556B2 (en) 2006-11-04 2010-08-10 Virident Systems Inc. Asymmetric memory migration in hybrid main 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
US8621138B2 (en) * 2007-12-27 2013-12-31 Sandisk Enterprise Ip Llc Flash storage controller execute loop
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 한국전자통신연구원 멀티 프로세싱 유닛에 대한 메모리 매핑방법, 및 장치
US20110185018A1 (en) * 2008-10-09 2011-07-28 Toru Osuga Content delivery system, content delivery method and computer program
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 华为技术有限公司 数据传输速率的自适应调整方法、装置及系统
US8238244B2 (en) * 2009-08-10 2012-08-07 Micron Technology, Inc. Packet deconstruction/reconstruction and link-control
US20110035540A1 (en) * 2009-08-10 2011-02-10 Adtron, Inc. Flash blade system architecture and method
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 株式会社東芝 仮想記憶管理装置及び記憶管理装置
CN102754078B (zh) * 2009-09-30 2015-05-20 阿尔特拉公司 使用压缩和解压缩的增强型多处理器波形数据交换
US8719516B2 (en) * 2009-10-21 2014-05-06 Micron Technology, Inc. Memory having internal processors and methods of controlling memory access
US9477636B2 (en) 2009-10-21 2016-10-25 Micron Technology, Inc. Memory having internal processors and data communication methods in memory
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
WO2012009318A1 (en) * 2010-07-13 2012-01-19 Sandisk Technologies Inc. Dynamic optimization of back-end memory system interface
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
GB2513551B (en) 2010-09-24 2018-01-10 Ibm High-speed memory system
CN103119887B (zh) * 2010-10-01 2017-04-19 飞利浦灯具控股公司 用于对无线网络中的数据分组传输进行调度的设备和方法
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
US9058289B2 (en) * 2011-11-07 2015-06-16 Sandisk Enterprise Ip Llc Soft information 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
CN104011660B (zh) * 2011-12-22 2017-03-01 英特尔公司 用于处理位流的基于处理器的装置和方法
WO2013111010A1 (en) 2012-01-27 2013-08-01 Marvell World Trade Ltd. Chip-to-chip communications
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
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
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
DE112013005093T5 (de) * 2012-10-22 2015-10-22 Intel Corporation Hochleistungszusammenschaltungsbitübertragungsschicht
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
US20140371941A1 (en) * 2013-06-18 2014-12-18 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 삼성전자주식회사 메모리 장치 및 그의 파워 제어 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070156946A1 (en) * 2005-12-29 2007-07-05 Intel Corporation Memory controller with bank sorting and scheduling
TW200947444A (en) * 2008-02-04 2009-11-16 Mosaid Technologies Inc Flexible memory operations in NAND flash devices
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
US20120023365A1 (en) * 2010-07-26 2012-01-26 Apple Inc. Methods and systems for monitoring write operations of non-volatile memory

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI554883B (zh) 用於在記憶體系統中分割資料結構之系統及方法
Cheong et al. A flash memory controller for 15μs ultra-low-latency SSD using high-speed 3D NAND flash with 3μs read time
US9921751B2 (en) Methods and systems for mapping a peripheral function onto a legacy memory interface
US9053811B2 (en) Memory device refresh
US11392488B2 (en) Optimizing storage of application data in memory
US8724423B1 (en) Synchronous two-port read, two-port write memory emulator
CN111209232B (zh) 访问静态随机存取存储器的方法、装置、设备和存储介质
US11409440B2 (en) Systems, methods and apparatus for memory access and scheduling
KR102693395B1 (ko) 동적 다중 뱅크 메모리 커맨드 병합
JP2022508028A (ja) 3次元画像処理におけるデータの読み書き方法とシステム、記憶媒体及び端末
WO2013097223A1 (zh) 多粒度并行存储系统与存储器
US20110202704A1 (en) Memory controller, method of controlling memory access, and computing apparatus incorporating memory controller
US20240168896A1 (en) Memory controller, electric system including the same and method of controlling memory access
US20200293452A1 (en) Memory device and method including circular instruction memory queue
JP6332756B2 (ja) データ処理方法、装置、およびシステム
CN106293491B (zh) 写请求的处理方法和内存控制器
US7787311B2 (en) Memory with programmable address strides for accessing and precharging during the same access cycle
US11755235B2 (en) Increasing random access bandwidth of a DDR memory in a counter application
CN106126815B (zh) 一种电路仿真方法及装置
US20140237198A1 (en) Reducing effective cycle time in accessing memory modules
WO2012115744A1 (en) Improved write bandwidth in a memory characterized by a variable write time
Seongil et al. Exploring energy-efficient DRAM array organizations
US12073256B2 (en) Systems, methods, and devices for data propagation in graph processing
KR20230082529A (ko) 리프레쉬 동작에서 파워 노이즈를 감소시킨 메모리 장치 및 그 동작방법
Geursen Reordering DRAM Requests for Improved Bandwidth Utilization