TW202121178A - 控制資料讀寫裝置與方法 - Google Patents

控制資料讀寫裝置與方法 Download PDF

Info

Publication number
TW202121178A
TW202121178A TW108142452A TW108142452A TW202121178A TW 202121178 A TW202121178 A TW 202121178A TW 108142452 A TW108142452 A TW 108142452A TW 108142452 A TW108142452 A TW 108142452A TW 202121178 A TW202121178 A TW 202121178A
Authority
TW
Taiwan
Prior art keywords
data
block
physical
physical block
address
Prior art date
Application number
TW108142452A
Other languages
English (en)
Other versions
TWI721660B (zh
Inventor
邱鈺傑
葉凱儀
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 財團法人工業技術研究院
Priority to TW108142452A priority Critical patent/TWI721660B/zh
Priority to US16/727,877 priority patent/US20210157495A1/en
Priority to CN202010142116.4A priority patent/CN112835513A/zh
Application granted granted Critical
Publication of TWI721660B publication Critical patent/TWI721660B/zh
Publication of TW202121178A publication Critical patent/TW202121178A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/064Management of blocks
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • 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/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

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

Abstract

一種控制資料讀寫裝置,包括記憶體控制器。記憶體控制器控制對記憶體的讀寫,其中記憶體至少具有第一物理區塊與第二物理區塊。記憶體控制器接收資料塊的寫入請求,並依據寫入請求,於對應第一物理區塊與第二物理區塊的相應位置寫入對應資料塊資料的相應資料。記憶體控制器接收資料塊的讀取請求,並依據讀取請求及讀取條件,選擇從相應位置所對應之第一物理區塊或第二物理區塊讀取資料塊資料的相應資料,以連續輸出儲存於記憶體的資料塊資料。

Description

控制資料讀寫裝置與方法
本發明關於一種控制資料讀寫裝置與方法。
近年來,隨機存取記憶體(random access memory, RAM)隨著製程進步,容量越來越大,頻寬也越來越高,譬如說動態隨機存取記憶體(dynamic random access memory, DRAM)。但是,隨機存取記憶體之內部記憶單元的速度並沒有隨著提高,其中一個原因是隨著容量提高,記憶矩陣內的記憶單元也會增加,以DRAM為例,較小的製程帶來的好處都被隨機存取記憶體更大的容量所抵消。
那既然記憶核心速度沒有增加,頻寬卻要大量提高,那要如何達成呢?其實就是透過預取(pre-fetch),也就是每次從記憶體取出多筆資料,在I/O控制器發出請求之前預先準備好在預取佇列,然後順序讀出,或是寫入時先寫進一個暫存區,然後再依次寫入。在雙倍資料傳輸率(double data rate, DDR)的時代開始這種預取的概念,第一代DDR預取量為2筆資料,而現今第四代DDR (DDR4)的預取量為8n。
同時DDR4引入了庫群(bank group)的概念,庫群是獨立的實體,因此它們允許在庫群內完成列循環,但該列循環不會影響另一個庫群中發生的情況。這種庫群的概念,不僅在DDR4有,在其他的先進記憶體都有因用類似的概念。在引入了庫群這個概念後,對同庫群與不同庫群的資料讀取會有很大的差別,唯有透過適當的指令排程,才能達成最高的頻寬。
如果將資料放在不同的庫群中,操作需要延遲4個時鐘週期(clock cycles),但在2133Mbps傳輸速率下,在相同的庫群之下進行行指令操作需要間隔6個時鐘週期,這樣會有2個週期是未傳輸資料的,也就是浪費了33%的頻寬,而當傳輸速率更高時,可能浪費高達50%的頻寬。因此,DDR4或相似架構的動態記憶體要達到能使用全頻寬,需要將資料先排序好於不同的庫群之間以進行交錯存取。
因此,在連續性讀取時記憶體控制器如何有效連續輸出資料特別是儲存於相同庫群中資料,提升資料讀取速度及/或節省資料讀取時間將成為重要研發議題之一。
本發明提供一種控制記憶體資料讀寫裝置與方法,藉以達到資料塊中資料可任意順序連續讀取的效果。
本發明提供一種控制資料讀寫裝置,包括記憶體控制器。記憶體控制器控制對記憶體的讀寫,其中記憶體至少具有第一物理區塊與第二物理區塊。記憶體控制器接收資料塊的寫入請求時,依據寫入請求,將對應資料塊資料的相應資料重複寫入第一物理區塊與第二物理區塊的相應位置。記憶體控制器接收資料塊的讀取請求時,依據讀取請求及讀取條件,選擇從相應位置所對應之第一物理區塊或第二物理區塊讀取資料塊資料的相應資料,以連續輸出儲存於記憶體的資料塊資料。
本發明另提供一種控制資料讀寫方法,包括下列步驟。接收資料塊的寫入請求時,依據寫入請求,將對應資料塊資料的相應資料重複寫入記憶體的第一物理區塊與第二物理區塊的相應位置。接收資料塊的讀取請求時,依據讀取請求及讀取條件,選擇從相應位置所對應之第一物理區塊或第二物理區塊讀取資料塊資料的相應資料,以連續輸出儲存於記憶體的資料塊資料。
本發明所揭露之控制資料讀寫裝置與方法,可適用於DDR4,而透過記憶體控制器依據資料塊的寫入請求,將對應資料塊資料的相應資料重複寫入記憶體的第一物理區塊與第二物理區塊的相應位置,以及依據資料塊的讀取請求及讀取條件,選擇從相應位置所對應之第一物理區塊或第二物理區塊讀取資料塊資料的相應資料,以進行儲存於記憶體的資料塊資料的相應資料的連續輸出。如此一來,較可提升儲存於記憶體的物理區塊中資料讀取速度及/或節省資料讀取時間,並達到可較有效連續輸出儲存於記憶體的物理區塊中資料的效果。
本說明書的技術用語參照本技術領域之習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語之解釋以本說明書之說明或定義為準。本揭露之各個實施例分別具有一或多個技術特徵。在可能實施的前提下,本技術領域具有通常知識者可選擇性地實施任一實施例中部分或全部的技術特徵,或者選擇性地將這些實施例中部分或全部的技術特徵加以組合。
在以下所列舉的各實施例中,將以相同的標號代表相同或相似的元件或組件。
第1圖為依據本發明一實施例之控制資料讀寫裝置的示意圖。請參考第1圖,控制資料讀寫裝置100至少包括記憶體控制器110、暫存器120與運算單元陣列130。
記憶體控制器110控制對記憶體150的讀寫,其中,記憶體150具有第一物理區塊151與第二物理區塊152。在本發明可實施例中,記憶體150可以是動態隨機存取記憶體(dynamic random access memory, DRAM)。另外,所謂物理區塊(physical blocks)指的是記憶體中連續物理位址形成的空間集合,第一物理區塊151與第二物理區塊152例如可為記憶體庫區塊(rank)、晶片(chip)、記憶體模組(memory module)、儲存庫群組(bank group)或儲存庫(bank)等等,但本發明可實施例不限於此。
記憶體控制器110接收資料塊的寫入請求,並依據寫入請求,將對應資料塊資料的相應資料重複寫入對應記憶體150的第一物理區塊151與第二物理區塊152的相應位置。而於一實施例中,當記憶體控制器110將資料塊資料的相應資料寫入第一物理區塊151與第二物理區塊152時,第一物理區塊151與第二物理區塊152的相應位置會具有相同的相應資料,如第2圖所示。在此實施例中,寫入第一物理區塊151與第二物理區塊152的相應資料可為資料塊中的原始資料或經過映射轉換後之轉換資料。
舉例來說,對應資料塊之邏輯位址“0x0000”的第一物理區塊151與第二物理區塊152的相應物理位址“0x0000”會寫入並儲存資料A,對應資料塊之邏輯位址“0x0001”的第一物理區塊151與第二物理區塊152的相應物理位址“0x0001”會寫入並儲存資料B,對應資料塊之邏輯位址“0x0002”的第一物理區塊151與第二物理區塊152的相應物理位址“0x0002”會寫入並儲存資料C。對應資料塊之其餘邏輯位址之第一物理區塊151與第二物理區塊152之其餘相應物理位址寫入並儲存資料方式則類推。
記憶體控制器110接收資料塊的讀取請求,並依據讀取請求及讀取條件,選擇從相應位置所對應之第一物理區塊151或第二物理區塊152讀取資料塊資料的相應資料,以連續輸出而得到儲存於記憶體150的資料塊資料的相應資料,而若相應資料為轉換資料則須進行反轉換。在一實施例中,讀取條件可例如為預設置的跳躍讀取。舉例來說,當記憶體控制器110接收到讀取請求時,記憶體控制器110會依據讀取請求及讀取條件(以此實施例來說,即跳躍讀取),先從第一物理區塊151之相應物理位址“0x0000”讀取“資料A”。接著,記憶體控制器110會從第二物理區塊152之相應物理位址“0x0001”讀取“資料B”。接著,記憶體控制器110會從第一物理區塊151之相應物理位址“0x0002”讀取“資料C”。其餘則類推。也就是說,記憶體控制器110會從相應位置所對應之第一物理區塊151或第二物理區塊152交替地讀取資料塊資料的相應資料。如此一來,記憶體控制器110便可連續讀取記憶體以得到資料塊資料的相應資料,並較可提升儲存於記憶體150的物理區塊中資料讀取速度及/或節省資料讀取時間,並達到可連續輸出儲存於記憶體150的物理區塊中資料的效果。
在另一實施例中,記憶體控制器110可以從第一物理區塊151之相應物理位址“0x0000”讀取“資料A”。接著,記憶體控制器110從第二物理區塊152之相應物理位址“0x0001”讀取“資料B”。接著,記憶體控制器110會從第一物理區塊151之相應物理位址“0x0002”讀取“資料C”。接著,記憶體控制器110會從第二物理區塊152之相應物理位址“0x0000”讀取“資料A”接著,記憶體控制器110會從第一物理區塊151之相應物理位址“0x0001”讀取“資料B”。其餘則類推。
在一實施例中,讀取條件可例如為第一物理區塊151與第二物理區塊152各自的狀態。也就是說,當記憶體控制器110從相應位置所對應之第一物理區塊151或第二物理區塊152讀取資料時,記憶體控制器110會依據所取得的第一物理區塊151與第二物理區塊152各自的狀態,判斷第一物理區塊151的讀取延遲是否低於第二物理區塊152的讀取延遲。譬如以仲裁器藉由各物理區塊的狀態,先計算出各相應物理位址的讀取延遲並加以判斷,再選擇讀取延遲較低的第一物理區塊151或第二物理區塊152讀取資料塊資料的相應資料。這裡所謂的物理區塊的狀態可為來自譬如狀態管理模組(bank state machine)中的某個狀態(state)與計數值(counter)。也就是說,記憶體控制器110會依據其內部的狀態管理模組中的某個狀態或是計數值,計算出第一物理區塊151與第二物理區塊152的讀取延遲。
當記憶體控制器110判斷出第一物理區塊151的讀取延遲未高於第二物理區塊152的讀取延遲時,記憶體控制器110會選擇從相應位置之第一物理區塊151讀取資料。另外,當記憶體控制器110判斷出第一物理區塊151的讀取延遲高於第二物理區塊152的讀取延遲時,記憶體控制器110會選擇從相應位置之第二物理區塊152讀取資料。
舉例來說,當記憶體控制器110接收到讀取請求時,記憶體控制器110會依據讀取請求及讀取條件(以此實施例來說,即第一物理區塊151與第二物理區塊152各自的狀態),先從第一物理區塊151之相應物理位址“0x0000”讀取“資料A”,表示第一物理區塊151的讀取延遲低於第二物理區塊152的讀取延遲。接著,記憶體控制器110會從第一物理區塊151之相應物理位址“0x0001”讀取“資料B”,表示第一物理區塊151的讀取延遲低於第二物理區塊152的讀取延遲。
接著,記憶體控制器110會從第二物理區塊152之相應物理位址“0x0002”讀取“資料C”,表示第一物理區塊151的讀取延遲未低於第二物理區塊152的讀取延遲。接著,記憶體控制器110會從第二物理區塊152之相應物理位址“0x0003”讀取“資料D”,表示第一物理區塊151的讀取延遲未低於第二物理區塊152的讀取延遲。接著,記憶體控制器110會從第一物理區塊151之相應物理位址“0x0004”讀取“資料E”,表示第一物理區塊151的讀取延遲低於第二物理區塊152的讀取延遲。其餘則類推。如此一來,記憶體控制器110便可連續讀取以輸出資料塊的資料,節省資料讀取時間,並達到對儲存於記憶體的資料塊資料的相應資料可連續輸出的效果。
暫存器120暫存從記憶體150讀取的資料及寫入記憶體150的資料。運算單元陣列130對暫存器120所暫存的資料進行數學運算,其中運算單元陣列130包括多個運算單元131,以同時進行相同數學運算,例如乘加運算等。
在另一實施例中,記憶體控制器110可以從第一物理區塊151之相應物理位址“0x0000”讀取“資料A”。接著,記憶體控制器110從第二物理區塊152之相應物理位址“0x0003”讀取“資料D”。接著,記憶體控制器110會從第一物理區塊151之相應物理位址“0x0001”讀取“資料B”。接著,記憶體控制器110會從第一物理區塊151之相應物理位址“0x0004”讀取“資料E”接著,記憶體控制器110會從第二物理區塊152之相應物理位址“0x0002”讀取“資料C”。其餘則類推。
此外,為了方便說明,第1圖之記憶體150僅包括2個物理區塊,即第一物理區塊151與第二物理區塊152,但本發明可實施例不限於此。記憶體150可以包括3個或3個以上的物理區塊,亦即本發明亦可使3個或3個以上的物理區塊產生關聯,且記憶體控制器110對3個或3個以上的物理區塊的讀寫操作方式可參考如上實施例的說明,亦可達到相同的效果,故在此不再贅述。
第3圖為依據本發明一實施例之記憶體控制器的示意圖。請參考第3圖,記憶體控制器110包括物理區塊映射模組310與存取控制模組320。
物理區塊映射模組310包括物理區塊映射重複器(duplicator)311。物理區塊映射重複器311依據控制信號CS,將資料塊的邏輯位址映射為第一物理位址與第二物理位址,其中第一物理位址為第一物理區塊151的相應位置,第二物理位址為第二物理區塊152的相應位置。舉例來說,當控制信號CS例如為高邏輯位準時,物理區塊映射重複器311將資料塊的邏輯位址映射為第一物理位址與第二物理位址。當控制信號CS例如為低邏輯位準時,物理區塊映射重複器311不會將資料塊的邏輯位址映射為第一物理位址與第二物理位址,僅映射到單一物理位址。
存取控制模組320包括存取指令產生器321。存取指令產生器321依據控制信號CS、第一物理位址與第二物理位址,將資料塊資料的資料相應寫入第一物理區塊151與第二物理區塊152的相應位置,以及依據控制信號CS、讀取條件、第一物理位址與第二物理位址,選擇從相應位置所對應之第一物理區塊151或第二物理區塊152讀取資料塊資料的相應資料。
舉例來說,當控制信號CS例如為高邏輯位準時,存取指令產生器321依據第一物理位址與第二物理位址,將資料塊的資料寫入第一物理區塊151與第二物理區塊152的相應位置,以及選擇從相應位置所對應之第一物理區塊151或第二物理區塊152讀取資料塊資料的相應資料。當控制信號CS例如為低邏輯位準時,存取指令產生器321不動作,或僅存取其一,例如僅存取第一物理位址。
進一步來說,當資料讀取條件為第一物理區塊與第二物理區塊各自的狀態,存取指令產生器321可包括仲裁器322。仲裁器322可以選擇從計算出的讀取延遲較低的第一物理區塊151或152第二物理區塊讀取資料塊資料的相應資料。
第4圖為依據本發明另一實施例之記憶體控制器的示意圖。請參考第4圖,記憶體控制器110復包括位址映射模組410、資料轉換模組420與資料反轉換模組430。
如前所述,記憶體控制器110接收資料塊的寫入請求,並依據寫入請求,將資料塊資料的相應資料寫入第一物理區塊151與第二物理區塊152的相應位置。而於另一實施例中,資料轉換模組420可以將寫入第二物理區塊152的相應資料進行轉換,例如將對應於第一物理區塊151之資料塊資料的相應資料轉換成轉換資料,如第5A圖所示。在此實施例中,寫入第一物理區塊151的相應資料可為資料塊的真實資料或經過轉換之第一轉換資料,而寫入第二物理區塊152的相應資料則為對應於寫入第一物理區塊151中相應資料經過轉換之第二轉換資料。再者,不同物理區塊映射轉換的方式可以相同或不相同。
舉例來說,資料轉換模組420將對應於第一物理區塊151之相應物理位址“0x0000”的資料A轉換成轉換資料A’,且轉換資料A’會寫入第二物理區塊152的相應位置(例如第二物理區塊152的相應物理位址“0x0000”)。資料轉換模組420將對應於第一物理區塊151之相應物理位址“0x0001”的資料B轉換成轉換資料B’,且轉換資料B’會寫入第二物理區塊152的相應位置(例如第二物理區塊152的相應物理位址“0x0001”)。資料轉換模組420將對應於第一物理區塊151之相應物理位址“0x0002”的資料C轉換成轉換資料C’,且轉換資料C’會寫入第二物理區塊152的相應位置(例如第二物理區塊152的相應物理位址“0x0002”)。其餘則類推。
記憶體控制器110依據讀取請求及讀取條件,選擇從相應位置之第一物理區塊151讀取資料塊資料的相應資料,或資料反轉換模組430將寫入第二物理區塊152之相應位置的轉換資料反轉換成原始資料,以從相應位置之第二物理區塊152讀取原始資料,而連續讀取以得到儲存於記憶體150中資料塊資料的相應資料。
舉例來說,當記憶體控制器110讀取第二物理區塊152之相應物理位址“0x0000”的轉換資料A’時,資料反轉換模組430可以將第二物理區塊152之相應物理位址“0x0000”的轉換資料A’反轉換成資料A(即原始資料),以從第二物理區塊152之相應物理位址“0x0000”讀取資料A(即原始資料)。當記憶體控制器110讀取第二物理區塊152之相應物理位址“0x0001”的轉換資料B’時,資料反轉換模組430可以將第二物理區塊152之相應物理位址“0x0001”的轉換資料B’反轉換成資料B(即原始資料),以從第二物理區塊152之相應物理位址“0x0001”讀取資料B(即原始資料)。當記憶體控制器110讀取第二物理區塊152之相應物理位址“0x0002”的轉換資料C’時,資料反轉換模組430可以將第二物理區塊152之相應物理位址“0x0002”的轉換資料C’反轉換成資料C(即原始資料),以從第二物理區塊152之相應物理位址“0x0002”讀取資料C(即原始資料)。其餘則類推。
如前所述,記憶體控制器110接收資料塊的寫入請求,並依據寫入請求,將資料塊資料的相應資料寫入第一物理區塊151與第二物理區塊152的相應位置。於再一實施例中,位址映射模組410將對應於第一物理區塊151之相應物理位址映射成映射位址,以將資料塊資料的相應資料寫入對應於映射位址之第二物理區塊152的相應位置,如第5B圖所示。
舉例來說,位址映射模組410將第一物理區塊151之相應物理位址“0x0000”映射成映射位址,例如對應於第二物理區塊152的相應物理位址“0x0001”。接著,將資料A會寫入第二物理區塊152的相應物理位址“0x0001”)。位址映射模組410將第一物理區塊151之相應物理位址“0x0001”映射成映射位址,例如對應於第二物理區塊152的相應物理位址“0x0002”資料B會寫入對應此映射位址之第二物理區塊152的相應位置(即第二物理區塊152的相應物理位址“0x0002”)。位址映射模組410將第一物理區塊151之相應物理位址“0x0002”映射成映射位址,例如對應於第二物理區塊152的相應物理位址“0x0003”。接著,資料C會寫入對應此映射位址之第二物理區塊152的相應位置(即第二物理區塊152的相應物理位址“0x0003”)。其餘則類推。
記憶體控制器110依據讀取請求及讀取條件,選擇從相應位置之第一物理區塊151讀取資料塊資料的相應資料,或從對應映射位址之相應位置之第二物理區塊152讀取資料塊資料的相應資料,而連續讀取以得到儲存於記憶體150中資料塊資料的相應資料。
舉例來說,當記憶體控制器110讀取第二物理區塊152之相應物理位址“0x0001”的資料A時,位址映射模組410可以將第一物理區塊151之相應物理位址“0x0000”映射成映射位址(例如對應於第二物理區塊152的相應物理位址“0x0001”),以從對應映射位址“0x0001”之第二物理區塊152的相應物理位址“0x0001”讀取資料A。當記憶體控制器110讀取第二物理區塊152之相應物理位址“0x0002”的資料B時,位址映射模組410可以將第一物理區塊151之相應物理位址“0x0001”映射成映射位址(例如對應於第二物理區塊152的相應物理位址“0x0002”),以從對應映射位址“0x0002”之第二物理區塊152的相應物理位址“0x0002”讀取資料B。
當記憶體控制器110讀取第二物理區塊152之相應物理位址“0003”的資料C時,位址映射模組410可以將第一物理區塊151之相應物理位址“0x0002”映射成映射位址(例如對應於第二物理區塊152的相應物理位址“0x0003”),以從對應映射位址“0x0003”之第二物理區塊152的相應物理位址“0x0003”讀取資料C。其餘則類推。
如前所述,記憶體控制器110接收資料塊的寫入請求,並依據寫入請求,將資料塊資料的相應資料寫入第一物理區塊151與第二物理區塊152的相應位置。在再一實施例中,位址映射模組410可以將對應於第一物理區塊151之相應物理位址映射成映射位址,且資料轉換模組420可以將寫入第二物理區塊152的相應資料進行轉換,例如將第一物理區塊151之資料塊資料的相應資料轉換成轉換資料,如第5C圖所示。
舉例來說,資料轉換模組420將第一物理區塊151之相應物理位址“0x0000”的資料A轉換成轉換資料A’,以及位址映射模組410將第一物理區塊151之相應物理位址“0x0000”映射成映射位址,例如對應於第二物理區塊152的相應物理位址“0x0001”。接著,轉換資料A’會寫入對應此映射位址之第二物理區塊152的相應位置(即第二物理區塊152的相應物理位址“0x0001”)。
資料轉換模組420將第一物理區塊151之相應物理位址“0x0001”的資料B轉換成轉換資料B’,以及位址映射模組410將第一物理區塊151之相應物理位址“0x0001”映射成映射位址,例如對應於第二物理區塊152的相應物理位址“0x0002”。接著,轉換資料B’會寫入對應此映射位址之第二物理區塊152的相應位置(即第二物理區塊152的相應物理位址“0x0002”)。資料轉換模組420將第一物理區塊151之相應物理位址“0x0002”的資料C轉換成轉換資料C’,以及位址映射模組410將第一物理區塊151之相應物理位址“0002”映射成映射位址,例如對應於第二物理區塊152的相應物理位址“0003”。接著,轉換資料C’會寫入對應此映射位址之第二物理區塊152的相應位置(即第二物理區塊152的相應物理位址“0x0003”)。其餘則類推。
記憶體控制器110可以依據讀取請求及讀取條件,選擇從相應位置之第一物理區塊151讀取資料塊資料的相應資料,或從對應映射位址之相應位置之第二物理區塊152讀取相應資料之轉換資料,並經資料反轉換模組430將寫入對應映射位址之第二物理區塊152之相應位置的轉換資料反轉換成原始資料,而連續讀取以得到儲存於記憶體150中資料塊資料的相應資料。
舉例來說,當記憶體控制器110讀取第二物理區塊152的資料A時,位址映射模組410可以將第一物理區塊151之相應物理位址“0x0000”映射成映射位址(例如對應第二物理區塊152的相應物理位址“0x0001”)。接著,資料反轉換模組430可以將對應第二物理區塊152之相應物理位址“0x0001”的轉換資料A’反轉換成資料A(即原始資料),以從對應映射位址“0x0001”之第二物理區塊152的相應物理位址“0x0001”讀取資料A(即原始資料)。
當記憶體控制器110讀取第二物理區塊152的資料B時,位址映射模組410可以將第一物理區塊151之相應物理位址“0x0001”映射成映射位址(例如將對應第二物理區塊152的相應物理位址“0x0002”)。接著,資料反轉換模組430可以將對應第二物理區塊152之相應物理位址“0x0002”的轉換資料B’反轉換成資料B(即原始資料),以從對應映射位址“0x0002”之第二物理區塊152的相應物理位址“0x0002”讀取資料B(即原始資料)。當記憶體控制器110讀取第二物理區塊152的資料C時,位址映射模組410可以將第一物理區塊151之相應物理位址“0x0002”映射成映射位址(例如對應第二物理區塊152之相應物理位址“0x0003”)。接著,資料反轉換模組430可以將對應第二物理區塊152之相應物理位址“0x0003”的轉換資料C’反轉換成資料C(即原始資料),以從對應映射位址“0x0003”之第二物理區塊152的相應物理位址“0x0003”讀取資料C(即原始資料)。其餘則類推。
在本發明可實施例中,資料轉換模組420例如使用不同的演算法將資料塊資料的相應資料轉換成轉換資料。另外,資料反轉換模組430例如使用不同的演算法將轉換資料反轉換成原始資料。
第6圖為依據本發明一實施例之控制資料讀寫方法的流程示意圖。在步驟S602中,接收資料塊的寫入請求。在步驟S604中,依據寫入請求,將對應資料塊的資料塊資料的相應資料重複寫入對應記憶體的第一物理區塊與第二物理區塊的相應位置。在步驟S606中,接收資料塊的讀取請求。在步驟S608中,依據讀取請求及讀取條件,選擇從相應位置所對應之第一物理區塊或第二物理區塊讀取資料塊資料的相應資料,以連續輸出儲存於記憶體的資料塊資料的相應資料。在本實施例中,第一物理區塊、第二物理區塊為記憶體庫區塊(rank)、晶片、記憶體模組、儲存庫群組或儲存庫。另外,讀取條件可包括預設置跳躍讀取第一物理區塊與第二物理區塊或第一物理區塊與第二物理區塊各自的狀態。
第7圖為依據本發明一實施例之控制資料讀寫方法的流程示意圖。在步驟S702中,接收資料塊的寫入請求。在步驟S704中,依據控制信號,將資料塊的邏輯位址映射為第一物理位址與第二物理位址,其中第一物理位址為第一物理區塊的相應位置,第二物理位址為第二物理區塊的相應位置。
在步驟S706,寫入資料塊資料的相應資料時,依據控制信號、第一物理位址與第二物理位址,將資料塊資料的相應資料寫入第一物理區塊與第二物理區塊的相應位置。在步驟S708中,接收資料塊的讀取請求。在步驟S710中,讀取資料塊資料的相應資料時,依據控制信號、讀取條件、第一物理位址與第二物理位址,選擇從相應位置所對應之第一物理區塊或第二物理區塊讀取資料塊資料的相應資料。在本實施例中,第一物理區塊與第二物理區塊為記憶體庫區塊(rank)、晶片、記憶體模組、儲存庫群組或儲存庫。另外,讀取條件包括預設置跳躍讀取第一物理區塊與第二物理區塊或第一物理區塊與第二物理區塊各自的狀態。此外,當讀取條件為第一物理區塊與第二物理區塊各自的狀態時,在步驟S710可進一步包括選擇從計算出的讀取延遲較低的第一物理區塊或第二物理區塊讀取資料塊資料的相應資料。
進一步來說,在步驟S706之寫入資料塊資料的相應資料時以及在步驟S710之讀取資料塊資料的相應資料時,第一物理位址及/或第二物理位址可為經位址映射模組映射後之映射位址。
此外,第一物理位址及/或第二物理位址所寫入記憶體的相應資料可為經資料轉換模組轉換之轉換資料。第一物理位址及/或第二物理位址讀取記憶體時所輸出的資料塊資料的相應資料可為經資料反轉換模組轉換之原始資料。再者,資料轉換模組例如使用相同或不同的演算法將資料塊資料的相應資料轉換成轉換資料,且資料反轉換模組例如使用相同或不同的演算法將轉換資料反轉換成原始資料。
綜上所述,本發明所揭露之控制資料讀寫裝置與方法,透過記憶體控制器依據資料塊的寫入請求,將對應該資料塊的資料塊資料的相應資料重複寫入第一物理區塊與第二物理區塊的相應位置,以及依據資料塊的讀取請求及讀取條件,選擇從相應位置所對應之第一物理區塊或第二物理區塊讀取資料塊資料的相應資料,以進行儲存於記憶體的資料塊資料的相應資料的連續讀取。另外,讀取條件可包括以下其中之一:跳躍讀取第一物理區塊與第二物理區塊或第一物理區塊與第二物理區塊各自的狀態。如此一來,較可以提升儲存於記憶體的物理區塊中資料讀取速度及/或節省資料讀取時間,並達到可較有效連續輸出儲存於記憶體的物理區塊中資料的效果。
本發明雖以實施例揭露如上,然其並非用以限定本發明的範圍,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100:控制資料讀寫裝置 110:記憶體控制器 120:暫存器 130:運算單元陣列 131:運算單元 150:記憶體 151:第一物理區塊 152:第二物理區塊 310:物理區塊映射模組 311:物理區塊映射重複器 320:存取控制模組 321:存取指令產生器 322:仲裁器 410:位址映射模組 420:資料轉換模組 430:資料反轉換模組 CS:控制信號 S602~S608、S702~S710:步驟
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施範例,並配合所附圖式詳細加以說明。 第1圖為依據本發明一實施例之控制資料讀寫裝置的示意圖。 第2圖為依據本發明一實施例之第一物理區塊與第二物理區塊的對應關係示意圖。 第3圖為依據本發明一實施例之記憶體控制器的示意圖。 第4圖為依據本發明另一實施例之記憶體控制器的示意圖。 第5A圖~第5C圖為依據本發明之一實施例之第一物理區塊與第二物理區塊的對應關係示意圖。 第6圖為依據本發明一實施例之控制資料讀寫方法流程示意圖。 第7圖為依據本發明一實施例之控制資料讀寫方法流程示意圖。
100:控制資料讀寫裝置
110:記憶體控制器
120:暫存器
130:運算單元陣列
131:運算單元
150:記憶體
151:第一物理區塊
152:第二物理區塊

Claims (17)

  1. 一種控制資料讀寫裝置,包括: 一記憶體控制器,控制對一記憶體的讀寫,其中該記憶體至少具有一第一物理區塊與一第二物理區塊,該記憶體控制器接收一資料塊的一寫入請求時,依據該寫入請求,將對應該資料塊的一資料塊資料的相應資料重複寫入對應該第一物理區塊與該第二物理區塊的一相應位置;以及 該記憶體控制器接收該資料塊的一讀取請求時,依據該讀取請求及一讀取條件,選擇從該相應位置所對應之該第一物理區塊或該第二物理區塊讀取該資料塊資料的相應資料,以連續輸出儲存於該記憶體的該資料塊資料的相應資料。
  2. 如申請專利範圍第1項所述之控制資料讀寫裝置,其中該第一物理區塊、該第二物理區塊為一記憶體庫區塊(rank)、一晶片、一記憶體模組、一儲存庫群組或一儲存庫其中之一。
  3. 如申請專利範圍第1項所述之控制資料讀寫裝置,該記憶體控制器復包括: 一物理區塊映射模組,包括一物理區塊映射重複器,該物理區塊映射重複器依據一控制信號,將該資料塊的一邏輯位址映射為一第一物理位址與一第二物理位址,其中該第一物理位址為該第一物理區塊的相應位置,該第二物理位址為該第二物理區塊的相應位置;以及 一存取控制模組,包括一存取指令產生器,該存取指令產生器依據該控制信號、該第一物理位址與該第二物理位址,將該資料塊資料的相應資料寫入該第一物理區塊與該第二物理區塊的該相應位置,以及依據該控制信號、該讀取條件、該第一物理位址與該第二物理位址,選擇從該相應位置所對應之該第一物理區塊或該第二物理區塊讀取該資料塊資料的相應資料。
  4. 如申請專利範圍第3項所述之控制資料讀寫裝置,其中寫入該資料塊資料的相應資料時以及讀取該資料塊資料的相應資料時,該第一物理位址及/或該第二物理位址為經一位址映射模組映射(mapping)之一映射位址。
  5. 如申請專利範圍第3項所述之控制資料讀寫裝置,其中該第一物理位址及/或該第二物理位址所寫入的該資料塊資料的相應資料為經一資料轉換模組轉換(transforming)之一轉換資料,其中自該第一物理位址及/或該第二物理位址所讀取的該資料塊資料的相應資料為經一資料反轉換模組轉換之一原始資料。
  6. 如申請專利範圍第5項所述之控制資料讀寫裝置,其中該資料轉換模組使用不同的演算法將該資料塊資料的相應資料轉換成不同的該轉換資料,且其中該資料反轉換模組使用不同的演算法將該轉換資料反轉換該原始資料。
  7. 如申請專利範圍第3項所述之控制資料讀寫裝置,其中該資料讀取條件為該第一物理區塊與該第二物理區塊各自的狀態,且該存取指令產生器復包括一仲裁器,選擇從計算出的讀取延遲較低的該第一物理區塊或該第二物理區塊讀取該資料塊資料的相應資料。
  8. 如申請專利範圍第1項所述之控制資料讀寫裝置,更包括: 一暫存器,暫存從該記憶體讀取及寫入該記憶體的資料;以及 一運算單元陣列,對該暫存器所暫存的資料進行數學運算,其中該運算單元陣列包括多個運算單元,以進行數學運算。
  9. 如申請專利範圍第1項所述之控制資料讀寫裝置,其中該讀取條件包括跳躍讀取該第一物理區塊與該第二物理區塊或該第一物理區塊與該第二物理區塊各自的狀態。
  10. 一種控制資料讀寫方法,包括: 接收一資料塊的一寫入請求時,依據該寫入請求,將對應該資料塊的一資料塊資料的相應資料重複寫入對應一記憶體的一第一物理區塊與一第二物理區塊的一相應位置;以及 接收該資料塊的一讀取請求時,依據該讀取請求及一讀取條件,選擇從該相應位置所對應之該第一物理區塊或該第二物理區塊讀取該資料塊資料的相應資料,以連續輸出儲存於該記憶體的該資料塊資料的相應資料。
  11. 如申請專利範圍第10項所述之控制資料讀寫方法,其中該第一物理區塊、該第二物理區塊為一記憶體庫區塊(rank)、一晶片、一記憶體模組、一儲存庫群組或一儲存庫其中之一。
  12. 如申請專利範圍第10項所述之控制資料讀寫方法,復包括: 依據一控制信號,將該資料塊的一邏輯位址映射為一第一物理位址與一第二物理位址,其中該第一物理位址為該第一物理區塊的相應位置,該第二物理位址為該第二物理區塊的相應位置; 寫入該資料塊資料的相應資料時,依據該控制信號、該第一物理位址與該第二物理位址,將該資料塊資料的相應資料寫入該第一物理區塊與該第二物理區塊的該相應位置;以及 讀取該資料塊資料的相應資料時,依據該控制信號、該讀取條件、該第一物理位址與該第二物理位址,選擇從該相應位置所對應之該第一物理區塊或該第二物理區塊讀取該資料塊資料的相應資料。
  13. 如申請專利範圍第12項所述之控制資料讀寫方法,其中寫入該資料塊資料的相應資料時以及讀取該資料塊資料的相應資料時,該第一物理位址及/或該第二物理位址為經一位址映射模組轉換之一映射位址。
  14. 如申請專利範圍第13項所述之控制資料讀寫方法,其中該第一物理位址及/或該第二物理位址所寫入的該相應資料為經一資料轉換模組轉換之一轉換資料,其中自該第一物理位址及/或該第二物理位址所讀取的該資料塊資料的相應資料為經一資料反轉換模組轉換之一原始資料。
  15. 如申請專利範圍第14項所述之控制資料讀寫方法,其中該資料轉換模組使用不同的演算法將該資料塊資料的相應資料轉換成該轉換資料,且其中該資料反轉換模組使用不同的演算法將該轉換資料反轉換成該原始資料。
  16. 如申請專利範圍第15項所述之控制資料讀寫方法,其中該讀取條件為該第一物理區塊與該第二物理區塊各自的狀態,並選擇從計算出的讀取延遲較低的該第一物理區塊或該第二物理區塊讀取該資料塊資料的相應資料。
  17. 如申請專利範圍第10項所述之控制資料讀寫方法,其中該讀取條件包括跳躍讀取該第一物理區塊與該第二物理區塊或該第一物理區塊與該第二物理區塊各自的狀態。
TW108142452A 2019-11-22 2019-11-22 控制資料讀寫裝置與方法 TWI721660B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW108142452A TWI721660B (zh) 2019-11-22 2019-11-22 控制資料讀寫裝置與方法
US16/727,877 US20210157495A1 (en) 2019-11-22 2019-12-26 Device and method for controlling data-reading and -writing
CN202010142116.4A CN112835513A (zh) 2019-11-22 2020-03-04 控制数据读写装置与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108142452A TWI721660B (zh) 2019-11-22 2019-11-22 控制資料讀寫裝置與方法

Publications (2)

Publication Number Publication Date
TWI721660B TWI721660B (zh) 2021-03-11
TW202121178A true TW202121178A (zh) 2021-06-01

Family

ID=75923060

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108142452A TWI721660B (zh) 2019-11-22 2019-11-22 控制資料讀寫裝置與方法

Country Status (3)

Country Link
US (1) US20210157495A1 (zh)
CN (1) CN112835513A (zh)
TW (1) TWI721660B (zh)

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6914746B1 (en) * 2002-12-05 2005-07-05 Dallas W. Meyer High sustained data rate storage devices having microactuator
EP2977906A1 (en) * 2004-04-28 2016-01-27 Panasonic Corporation Nonvolatile storage device and data write method
US7685393B2 (en) * 2006-06-30 2010-03-23 Mosaid Technologies Incorporated Synchronous memory read data capture
US7949850B2 (en) * 2007-12-28 2011-05-24 Intel Corporation Methods and appratus for demand-based memory mirroring
TWI413931B (zh) * 2009-01-15 2013-11-01 Phison Electronics Corp 快閃記憶體資料之存取方法及其儲存系統與控制系統
US20100332718A1 (en) * 2009-06-26 2010-12-30 Micron Technology, Inc. System and method for providing configurable latency and/or density in memory devices
KR101739556B1 (ko) * 2010-11-15 2017-05-24 삼성전자주식회사 데이터 저장 장치, 사용자 장치 및 그것의 주소 맵핑 방법
TWI463495B (zh) * 2010-12-10 2014-12-01 Phison Electronics Corp 資料寫入方法、記憶體控制器與儲存裝置
CN102567244B (zh) * 2011-12-13 2014-06-04 清华大学 闪存和磁盘转换存取方法
WO2014193574A1 (en) * 2013-05-13 2014-12-04 Rambus Inc. Buffer circuit with data bit inversion
TWI602196B (zh) * 2014-04-02 2017-10-11 補丁科技股份有限公司 記憶體元件的控制方法、記憶體元件以及記憶體系統
CN104778018B (zh) * 2015-04-23 2018-06-05 南京道熵信息技术有限公司 基于非对称混合型磁盘镜像的宽条带磁盘阵列及存储方法
TWI610219B (zh) * 2016-08-09 2018-01-01 捷鼎國際股份有限公司 資料儲存系統
US10515671B2 (en) * 2016-09-22 2019-12-24 Advanced Micro Devices, Inc. Method and apparatus for reducing memory access latency
TWI643067B (zh) * 2017-04-14 2018-12-01 國立臺灣科技大學 三維非及閘快閃記憶體及其記憶體管理方法
KR20180123385A (ko) * 2017-05-08 2018-11-16 에스케이하이닉스 주식회사 메모리 시스템 및 이를 이용한 웨어-레벨링 방법

Also Published As

Publication number Publication date
TWI721660B (zh) 2021-03-11
US20210157495A1 (en) 2021-05-27
CN112835513A (zh) 2021-05-25

Similar Documents

Publication Publication Date Title
US20230333981A1 (en) Memory circuit and cache circuit configuration
US10565123B2 (en) Hybrid logical to physical address translation for non-volatile storage devices with integrated compute module
US7076598B2 (en) Pipeline accessing method to a large block memory
CN105518784B (zh) 具有用于高可靠性操作的存储控制器的数据处理器和方法
TWI525430B (zh) 快取記憶體裝置以及該裝置的資料處理方法
JP2002063069A (ja) メモリ制御装置、データ処理システム及び半導体装置
WO2018090255A1 (zh) 内存访问技术
CN105103235A (zh) 具有用于更高性能和能量效率的去耦比特的非易失性多级单元存储器
US11681632B2 (en) Techniques for storing data and tags in different memory arrays
CN109002257B (zh) 一种基于可变便笺存储器的数据分布优化方法
US11573735B2 (en) Technologies for media management in column-addressable memory media systems
US11467965B2 (en) Processing-in-memory (PIM) device
US20220004495A1 (en) Host managed hotness data utilized for cache evictions and/or insertions
JP2014154119A (ja) メモリ制御装置及び半導体記憶装置
US20170004095A1 (en) Memory Control Circuit and Storage Device
US20050232060A1 (en) Memory controller controlling cashed dram
US11861369B2 (en) Processing-in-memory (PIM) device
TWI721660B (zh) 控制資料讀寫裝置與方法
US20210382693A1 (en) Processing-in-memory (pim) devices
US10592163B2 (en) Controlling write pulse width to non-volatile memory based on free space of a storage
CN115543869A (zh) 多路组相连高速缓冲存储器及其访问方法、计算机设备
WO2019112907A1 (en) Error-correction-detection coding for hybrid memory module
US20210373852A1 (en) Processing-in-memory (pim) devices
US12056371B2 (en) Memory device having reduced power noise in refresh operation and operating method thereof
JP4940894B2 (ja) 同期型メモリ回路