CN113742264B - 采多级架构控制器的数据储存装置 - Google Patents
采多级架构控制器的数据储存装置 Download PDFInfo
- Publication number
- CN113742264B CN113742264B CN202011430077.4A CN202011430077A CN113742264B CN 113742264 B CN113742264 B CN 113742264B CN 202011430077 A CN202011430077 A CN 202011430077A CN 113742264 B CN113742264 B CN 113742264B
- Authority
- CN
- China
- Prior art keywords
- bus
- layer
- stage
- level
- post
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明涉及一种以多级架构控制器控制非挥发式存储器的技术。所述多级架构控制器采用一上层片内总线以及一下层片内总线,且包括一程序码加载器、一前级中央处理单元、以及一仲裁器。该程序码加载器经连结该下层片内总线,进行该多级架构控制器的程序码加载。该程序码加载器完成程序码加载后,该仲裁器仲裁将该程序码加载器断开该下层片内总线、切换以该前级中央处理单元连结该下层片内总线,释出该上层片内总线至该下层片内总线的通信路径。
Description
技术领域
本发明有关于非挥发式存储器的控制器的硬件设计。
背景技术
非挥发式存储器有多种形式─例如,快闪存储器(flash memory)、磁阻式随机存取存储器(Magnetoresistive RAM)、铁电随机存取存储器(Ferroelectric RAM)、电阻式随机存取存储器(Resistive RAM)、自旋转移力矩随机存取存储器(Spin Transfer Torque-RAM,STT-RAM)…等,用于长时间数据保存,可做为储存媒体实现一数据储存装置。
如何在硬件设计上提升数据储存装置的效能为本技术领域一项重要议题。
发明内容
本发明为非挥发式存储器揭露一种高效控制技术。
根据本发明一种实施方式所实现的一数据储存装置包括一非挥发式存储器、以及耦接该非挥发式存储器的一多级架构控制器。多级架构控制器包含一上层片内总线以及一下层片内总线。该多级架构控制器还包括一程序码加载器、一前级中央处理器、以及一仲裁器。该程序码加载器经连结该下层片内总线,进行该多级架构控制器的程序码加载。该程序码加载器完成程序码加载后,该仲裁器仲裁将该程序码加载器断开该下层片内总线、切换以该前级中央处理单元连结该下层片内总线。当该前级中央处理单元是经该仲裁器连结该下层片内总线时,将让出该上层片内总线至该下层片内总线的一第一通信路径,供其他通信需求使用。多级架构控制器前级以及后级元件的通讯可更顺畅。
该多级架构控制器可还包括一后级邮箱,连结该下层片内总线,接收该前级中央处理单元为该多级架构控制器的一后级中央处理单元所发送的邮件。
此段落以非挥发式存储器的写入操作为例。该多级架构控制器可还包括连结该上层片内总线的一主机桥接控制器、以及连结该下层片内总线的一后级存储器。不透过该上层片内总线以及该第一通信路径,取代该程序码加载器经该仲裁器连结该下层片内总线的该前级中央处理单元对该后级邮箱发送一写入要求邮件。该主机桥接控制器则是透过该上层片内总线、该第一通信路径、以及该下层片内总线,将一写入数据暂存至该后级存储器。写入数据的暂存不受写入要求邮件的发送延宕。该后级中央处理单元连结该下层片内总线,自该后级邮箱取得该写入要求邮件后,即刻就可自该后级存储器取得该写入数据,程序化至该非挥发式存储器。
此段落以非挥发式存储器的读取操作为例。该多级架构控制器可还包括连结该上层片内总线的一前级指令伫列、以及连结该下层片内总线的一后级存储器。不透过该上层片内总线以及该第一通信路径,取代该程序码加载器经该仲裁器连结该下层片内总线的该前级中央处理单元对该后级邮箱发送一读取要求邮件。该后级中央处理单元连结该下层片内总线,自该后级邮箱取得该读取要求邮件后,自至该非挥发式存储器取得一读取数据,暂存该读取数据于该后级存储器,并在该后级存储器相应该读取数据立起一旗标,标示该后级存储器备有该读取数据。所述数据储存装置是在该前级指令伫列填入一写入指令,使透过该上层片内总线、该第一通信路径、以及该下层片内总线,与该后级存储器交握,进行该旗标的辨识。该旗标的辨识可持续进行,不受读取要求邮件的发送中断。
一种实施方式中,该第一通信路径为该上层片内总线的一第一主接口连结该下层片内总线的一第一从接口形成。该下层片内总线的一第一主接口连结该上层片内总线的一第一从接口,形成该下层片内总线至该上层片内总线的一第二通信路径。在该仲裁器控制下,该程序码加载器是经该下层片内总线的一第二从接口连结该下层片内总线,再透过该第二通信路径,将该程序码加载至连结该上层片内总线一第二主接口的该前级中央处理单元。该前级中央处理单元经该仲裁器取代该程序码加载器连结该下层片内总线的该第二从接口时,释出该第一通信路径。
该多级架构控制器可还包括一后级邮箱,连结该下层片内总线的一第二主接口,接收连结该下层片内总线该第二从接口的该前级中央处理单元为该多级架构控制器的一后级中央处理单元所发送的邮件。
该多级架构控制器可还包括一主机桥接控制器、以及一后级存储器。该主机桥接控制器连结该上层片内总线的一第二从接口。该后级存储器连结该下层片内总线的一第三主接口。该主机桥接控制器是利用该第一通信路径将一写入数据暂存至该后级存储器。
该多级架构控制器可还包括一前级指令伫列,连结该上层片内总线的一第三从接口。该前级指令伫列供填入一写入指令,以利用该第一通信路径与该后级存储器交握,辨识随着一读取数据自该非挥发式存储器暂存至该后级存储器而立起的一旗标。
该仲裁器仲裁将该程序码加载器、或该前级中央处理单元连结该下层片内总线的该第二从接口。
一种实施方式中,该上层片内总线以及该下层片内总线为高级可拓展接口(AXI)总线。
下文特举实施例,并配合附图,详细说明本发明内容。
附图说明
图1为根据本发明一种实施方式实现的数据储存装置100;
图2图解控制器104的一种实施方式;以及
图3为流程图,根据本发明一种实施方式描述前级中央处理单元FE_CPU如何切换其对不同层片内总线的使用。
符号说明
100~数据储存装置;
102~快闪存储器;
104~控制器;
106~主机;
202~上层AXI总线;
204~下层AXI总线:
206~上层AXI总线之主接口;
208、214、230、232~下层AXI总线之从接口;
210、220、222、226、228~下层AXI总线之主接口;
212、218、224、234~上层AXI总线之从接口;
216~仲裁器;
BE~后级;
BE0_mailbox、BE1_mailbox~后级BE0、BE1邮箱;
BE0_Master、BE1_Master~后级BE0、BE1连结下层AXI总线204的主操作端元件;
BE0_Slave、BE1_Slave~后级BE0、BE1连结下层AXI总线204的从操作端元件;
FE~前级:
FE_CMB~前级指令伫列;
FE_CPU~前级中央处理单元;
FE_mailbox~前级邮箱;
FE_Special_Cmd、FE_DMA、FE_TSB、NVMe_manual~元件;
NVMe_Con~主机桥接控制器;
P1、P2~通信路径;
S302…S306~步骤;
SPI_loader~程序码加载器。
具体实施方式
以下叙述列举本发明的多种实施例。以下叙述介绍本发明的基本概念,且并非意图限制本发明内容。实际发明范围应依照权利要求书范围来界定。
非挥发式存储器可以是快闪存储器(Flash Memory)、磁阻式随机存取存储器(Magnetoresistive RAM)、铁电随机存取存储器(Ferroelectric RAM)、电阻式存储器(Resistive RAM,RRAM)、自旋转移力矩随机存取存储器(Spin Transfer Torque-RAM,STT-RAM)…等,提供长时间数据保存的储存媒体。以下特别以快闪存储器为例进行讨论。
现今数据储存装置常以快闪存储器为储存媒体,实现记忆卡(Memory Card)、通用串行总线闪存装置(USB Flash Device)、固态硬碟(SSD)…等产品。有一种应用是采多晶片封装、将快闪存储器与其控制器包装在一起─称为嵌入式快闪存储器模组(如eMMC)。
以快闪存储器为储存媒体的数据储存装置可应用于多种电子装置中。所述电子装置包括智慧型手机、穿戴装置、平板电脑、虚拟实境设备…等。电子装置的运算模块可视为主机(Host),操作所使用的数据储存装置,以存取其中快闪存储器。
以快闪存储器为储存媒体的数据储存装置也可用于建构数据中心。例如,伺服器可操作固态硬碟(SSD)阵列形成数据中心。伺服器即可视为主机,操作所连结的固态硬碟,以存取其中快闪存储器。
图1为根据本发明一种实施方式实现的数据储存装置100。数据储存装置100除了具有快闪存储器102,还可具有一控制器104。主机106透过该控制器104操作该快闪存储器102。该控制器104为多级架构(又称多级架构控制器),各级包括至少一个处理器。图示控制器104采双级架构,包括前级(front end)FE以及后级(back end)BE两级。主机要求经前级FE初步处理后,驱动后级BE实现该快闪存储器102的存取。本发明在前级FE以及后级BE间实施高效通讯。
控制器104可以系统单晶片(SoC)实现。多级架构的系统单晶片(SoC)的效能瓶颈之一为片内总线结构。高级可拓展接口(Advanced eXtensible Interface,简称AXI)总线即一种可行方案,是一种高带宽、低延迟的片内总线,可遵循高级微控制器汇流排架构(Advanced Microcontroller Bus Architecture,简称AMBA)3.0协议。考量成本、功耗、以及面积,AXI总线可规划为多层架构,不同层的AXI总线彼此再连结通讯。
图2图解控制器104的一种实施方式。分为前级FE(所涵括的元件可以FE开头标号)以及后级BE(所涵括的元件可以BE开头标号)的控制器104可以一上层AXI总线202以及一下层AXI总线204实现片内通讯。AXI总线(包括202以及204)提供的接口分为主接口(masterI/O)、以及从接口(slave I/O)两类,不同类接口间点对点通信。上层AXI总线202的一主接口206连结下层AXI总线204的一从接口208,建立上层AXI总线202至下层AXI总线204的通信路径P1,遵循AXI总线的点对点传输特性。下层AXI总线204的一主接口210连结上层AXI总线202的一从接口212,建立下层AXI总线204至上层AXI总线202的通信路径P2,遵循AXI总线的点对点传输特性。
除了从接口212,上层AXI总线202还有其他从接口(slave I/O)。控制器104多个元件NVMe_manual、FE_CMB、FE_DMA、NVMe_Con以及FE_CPU作为主操作端元件连结该些从接口。除了主接口206,上层AXI总线202还有其他主接口(master I/O)。控制器104多个元件FE_TSB以及FE_CPU作为从操作端元件连结该些主接口。
元件NVMe_manual以及NVMe_Con用于实现控制器104与主机106之间的桥接。元件FE_CMB为前级指令伫列(front-end command buffer),可在前级作SSD控制器内部的读写储存缓冲区,或兼做旗标检查(flag checking)功能。元件FE_DMA为前级的直接存储器存取(DMA)功能模块。元件FE_CPU为前级中央处理单元。元件FE_TSB(front-end time sharebuffer register)可为一静态随机存取存储器(SRAM),可在前级作分时缓冲区,用作临时池,不同的主机可于此交换传输数据。
除了从接口208,下层AXI总线204还有其他从接口(slave I/O)。控制器104多个元件SPI_loader、FE_CPU、BE1_Master、以及BE0_Master作为主操作端元件连结该些从接口。除了主接口210,下层AXI总线204还有其他主接口(master I/O)。控制器104多个元件BE1_mailbox、BE1_Slave、BE0_mailbox、BE0_Slave、FE_Special_Cmd、FE_mailbox作为从操作端元件连结该些主接口。
元件SPI_loader为程序码加载器,用于自控制器104外部将程序码载入控制器104内部的运算单元执行。该些运算单元包括归类为前级FE的中央处理单元FE_CPU、以及归类为后级BE的中央处理单元。
图例中,后级BE不限定只有单一中央处理单元,还划分为两部分后级BE1(backend 1)以及BE0(back end 0),各自包括中央处理单元、直接存取存储器、与快闪存储器控制器,用于快闪存储器数据的交换与传输。后级BE1的中央处理单元可连结该下层AXI总线204的从接口,作为主操作端元件BE1_Master,也可以连结该下层AXI总线204的主接口,作为从操作端元件BE1_Slave。后级BE0的中央处理单元可连结该下层AXI总线204的从接口,作为主操作端元件BE0_Master,也可以连结该下层AXI总线204的主接口,作为从操作端元件BE0_Slave。
主操作端元件BE1_Master除了可以后级BE1的中央处理单元实现,也可以是后级BE1的BOP、HDMA、或Flash_trig_host。主操作端元件BE0_Master除了可以后级BE0的中央处理单元实现,也可以是后级BE0的BOP、HDMA、或Flash_trig_host。从操作端元件BE1_Slave除了可以后级BE1的中央处理单元实现,也可以是后级BE1的动态随机存取存储器(DRAM)、暂存存储器(TSB)、暂存器(REG)、Flash_trig_host、或NVMe_special_cmd。从操作端元件BE0_Slave除了可以后级BE0的中央处理单元实现,也可以是后级BE0的动态随机存取存储器(DRAM)、暂存存储器(TSB)、暂存器(REG)、Flash_trig_host、或NVMe_special_cmd。
后级BE1、BE0还有存储器作为邮箱BE1_mailbox、BE0_mailbox,接收前级中央处理单元FE_CPU为后级BE1、BE0的中央处理单元发送的邮件。邮箱BE1_mailbox以及BE0_mailbox连结该下层AXI总线204作为从操作端元件。
另外,连结下层AXI总线204作为从操作端的元件FE_Special_cmd以及FE_mailbox属前级FE。元件FE_Special_cmd(front-end special command)在前级用作主机的快闪存储器读取加速。数据由快闪存储器搬移到后级存储器(BE TSB)后,后级中央处理单元(BECPU)会透过写FE_Special_cmd将数据由后级存储器(BE TSB)写回主机。元件FE_mailbox为前级FE的邮箱,接收后级BE1、BE0的中央处理单元为前级中央处理单元FE_CPU发送的邮件。
特别是,本发明令程序码加载器SPI_loader所连结的从接口214还可切换连结该前级中央处理单元FE_CPU。图例是提供仲裁器(arbitrator)216实现此连结切换。如此一来,前级中央处理单元FE_CPU对后级BE1、BE0至少可采两种路径发出要求。
路径一,前级中央处理单元FE_CPU连结上层AXI总线202的从接口218,经上层AXI总线202的主接口206以及下层AXI总线204的从接口208(通信路径P1),对下层AXI总线204的主接口220连结的后级邮箱BE1_mailbox、或下层AXI总线204的主接口222连结的后级邮箱BE0_mailbox发送邮件。
另外,程序码加载器SPI_loader不动作时,仲裁器216会令前级中央处理单元FE_CPU连结从接口214,实现路径二。此时,前级中央处理单元FE_CPU无须透过上层AXI总线202以及通信路径P1,就由下层AXI总线204对下层AXI总线204的主接口220连结的后级邮箱BE1_mailbox、或下层AXI总线204的主接口222连结的后级邮箱BE0_mailbox发送邮件。
路径二不会占用上层AXI总线202的主接口206至下层AXI总线204的从接口208的通信路径P1。上层AXI总线202主接口206至下层AXI总线204从接口208的通信路径P1释出,可规划进行其他通信。
图例中,与主机106桥接的非挥发式存储器高速介面控制器(又称主机桥接控制器)NVMe_Con连结上层AXI总线202的从接口224,可即时利用该通信路径P1连线至下层AXI总线204,对后级BE1、BE0元件(例如,下层AXI总线204的主接口226连结的后级BE1从操作元件BE1_Slave、或下层AXI总线204的主接口228连结的后级BE0从操作元件BE0_Slave)发出通信要求。
一种实施方式中,从操作元件BE1_Slave以及BE0_Slave可为动态随机存取存储器(DRAMs)。主机106提出快闪存储器102写入要求时,前级中央处理单元FE_CPU早在仲裁器216切换下连结下层AXI总线204的从接口214,直接透过下层AXI总线204传递写入要求邮件至其主接口220、222所连结的后级邮箱BE1_mailbox、BE0_mailbox,告知后级BE1、BE0有快闪存储器102写入要求待处理。特别是,写入要求邮件不占用通信路径P1即成功自前级FE传递至后级BE。释出的通信路径P1可规划来传递写入数据。上层AXI总线202从接口224连结的非挥发式存储器高速介面控制器NVMe_Con可透过上层AXI总线202、通信路径P1、以及下层AXI总线204将写入数据程序化至下层AXI总线204主接口226、228连结的动态随机存取存储器(从操作元件BE1_Slave以及BE0_Slave)。
一种实施方式中,下层AXI总线204的从接口230以及232连结的主操作元件BE1_Master以及BE0_Master为后级BE1、BE0的中央处理单元(CPUs),可透过下层AXI总线204自邮后级箱BE1_mailbox、BE0_mailbox取得写入要求邮件,再透过下层AXI总线204自动态随机存取存储器(从操作元件BE1_Slave以及BE0_Slave)取得其中暂存的写入数据,程序化至快闪存储器102。
整理之,写入数据得以即时透过通信路径P1备妥于动态随机存取存储器(从操作元件BE1_Slave以及BE0_Slave),不因写入要求邮件的传递而拖延。主机106得以高效对快闪存储器102进行写入。
此段落讨论快闪存储器102读取要求。主机106提出快闪存储器102读取要求时,前级中央处理单元FE_CPU早在仲裁器216切换下连结下层AXI总线204的从接口214,直接透过下层AXI总线204传递读取要求邮件至其主接口220、222所连结的后级邮箱BE1_mailbox、BE0_mailbox,告知后级BE1、BE0有快闪存储器102读取要求待处理。特别是,读取要求邮件不占用通信路径P1即成功自前级FE传递至后级BE1、BE0。如此一来,释出的通信路径P1可规划作其他使用。
例如,后级BE1、BE0自快闪存储器102将读取数据备妥在动态随机存取存储器(从操作元件BE1_Slave以及BE0_Slave)后,会在动态随机存取存储器(从操作元件BE1_Slave以及BE0_Slave)立起相关旗标(flag)。连结上层AXI总线202的从接口234的前级指令伫列FE_CMB可供填入一写入指令(AXI write),使透过上层AXI总线202、该通信路径P1、以及下层AXI总线204,对动态随机存取存储器(从操作元件BE1_Slave、BE0_Slave)进行交握,进行旗标辨识。由于通信路径P1没有被前级中央处理单元FE_CPU占用,所述旗标辨识不会被读取要求邮件的传递打断。旗标立起的状况可被即时发现。读取数据因而可即时自动态随机存取存储器(从操作元件BE1_Slave、BE0_Slave)取出,透过下层AXI总线204、下层AXI总线204主接口210至上层AXI总线202从接口212的通信路径P2、以及上层AXI总线202传回前级FE,回给主机106。
该仲裁器216可包括多工器,选择连结该前级中央处理单元FE_CPU至下层AXI总线204的从接口214、或上层AXI总线202的从接口218。所述多工器可由该前级中央处理单元FE_CPU自身控制。程序码加载器SPI_loader可以是在系统开机时工作,为前级FE、后级BE1、BE0的中央处理单元加载程序码(ROM code)。程序码加载完毕,前级中央处理单元FE_CPU根据所载入的程序码运行,将程序码加载器SPI_loader与下层AXI总线204的从接口214的连线断开,并对仲裁器216的多工器进行切换。前级中央处理单元FE_CPU改连结下层AXI总线204的从接口214。
图3为流程图,根据本发明一种实施方式描述前级中央处理单元FE_CPU如何切换其对不同层片内总线的使用。
步骤S302,数据储存装置100的操作系统开机。下层AXI总线204的从接口214预设连结的是程序码加载器SPI_loader。
步骤S304,程序码加载器SPI_loader自控制器104外部将程序码载入控制器104。透过下层AXI总线204,程序码加载至后级BE1、BE0的中央处理单元(如,作为从操作端元件BE1_Slave、BE0_Slave接受程序码加载)供后级BE1、BE0的中央处理单元执行。还有,透过下层AXI总线204、下层AXI总线204主接口210至上层AXI总线202从接口212的通信路径P2、上层AXI总线202,载入以从操作元件连结上层AXI总线202的该前级中央处理单元FE_CPU。
步骤S306,前级中央处理单元FE_CPU执行所加载的程序码开始运作,断开程序码加载器SPI_loader与下层AXI总线204的从接口214的连结,建立自身与该从接口214的连结。
经前述步骤,数据储存装置100启动完成后,前级中央处理单元FE_CPU不再占据上层AXI总线202的主接口206至下层AXI总线204的从接口208的通信路径P1。
以上控制器104也可以由其他结构实现。凡是根据前述概念最佳化片内总线,使控制器104前级FE与后级BE高速通信者,都属于本发明欲保护范围。本发明还可以前述概念实现非挥发式存储器的控制方法。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何熟悉本技术领域者,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围由权利要求书所界定的为准。
Claims (11)
1.一种数据储存装置,包括:
一非挥发式存储器;以及
一多级架构控制器,其包含一上层片内总线及一下层片内总线,并耦接该非挥发式存储器;
其中:
该多级架构控制器还包括一程序码加载器、一前级中央处理器单元、以及一仲裁器;
该程序码加载器经连结该下层片内总线,进行该多级架构控制器的程序码加载;
该程序码加载器完成程序码加载后,该仲裁器仲裁将该程序码加载器断开该下层片内总线、切换以该前级中央处理单元连结该下层片内总线;该程序码加载器是经该下层片内总线的一第二从接口连结该下层片内总线,该前级中央处理单元经该仲裁器取代该程序码加载器连结该下层片内总线的该第二从接口时,释出一第一通信路径;该第一通信路径为该上层片内总线的一第一主接口连结该下层片内总线的一第一从接口形成;
该多级架构控制器还包括一后级邮箱,连结该下层片内总线,接收该前级中央处理单元为该多级架构控制器的一后级中央处理单元所发送的邮件;
不透过该上层片内总线、以及该上层片内总线至该下层片内总线之间的该第一通信路径,取代该程序码加载器经该仲裁器连结该下层片内总线的该前级中央处理单元对该后级邮箱发送一写入要求邮件;
该多级架构控制器还包括连结该下层片内总线的一后级存储器;连结该上层片内总线的一主机桥接控制器透过该上层片内总线、该第一通信路径、以及该下层片内总线,将一写入数据暂存至该后级存储器;该后级中央处理单元连结该下层片内总线,自该后级邮箱取得该写入要求邮件后,自该后级存储器取得该写入数据,程序化至该非挥发式存储器。
2.如权利要求1的数据储存装置,其特征在于:
该多级架构控制器还包括连结该上层片内总线的一前级指令伫列。
3.如权利要求2的数据储存装置,其特征在于:
不透过该上层片内总线、以及该上层片内总线至该下层片内总线之间的该第一通信路径,取代该程序码加载器经该仲裁器连结该下层片内总线的该前级中央处理单元对该后级邮箱发送一读取要求邮件。
4.如权利要求3的数据储存装置,其特征在于:
连结该下层片内总线的该后级中央处理单元自该后级邮箱取得该读取要求邮件后,自至该非挥发式存储器取得一读取数据,暂存该读取数据于该后级存储器,并在该后级存储器相应该读取数据立起一旗标,标示该后级存储器备有该读取数据。
5.如权利要求4的数据储存装置,其特征在于,是在该前级指令伫列填入一写入指令,使透过该上层片内总线、该第一通信路径、以及该下层片内总线,与该后级存储器交握,进行该旗标之辨识。
6.如权利要求1的数据储存装置,其特征在于:
该下层片内总线的一第一主接口连结该上层片内总线的一第一从接口,形成该下层片内总线至该上层片内总线的一第二通信路径;且
在该仲裁器控制下,经该下层片内总线的该第二从接口连结该下层片内总线的该程序码加载器透过该第二通信路径,将该程序码加载至也连结该上层片内总线一第二主接口的该前级中央处理单元。
7.如权利要求6的数据储存装置,其特征在于:
该后级邮箱,连结该下层片内总线的一第二主接口,接收连结该下层片内总线该第二从接口的该前级中央处理单元为该多级架构控制器的该后级中央处理单元所发送的邮件。
8.如权利要求7的数据储存装置,其特征在于:
该多级架构控制器还包括该主机桥接控制器;
该主机桥接控制器连结该上层片内总线的一第二从接口;
该后级存储器连结该下层片内总线的一第三主接口。
9.如权利要求8的数据储存装置,其特征在于:
该多级架构控制器还包括一前级指令伫列,连结该上层片内总线的一第三从接口;且
该前级指令伫列供填入一写入指令,以利用该第一通信路径与该后级存储器交握,辨识随着一读取数据自该非挥发式存储器暂存至该后级存储器而立起的一旗标。
10.如权利要求6的数据储存装置,其特征在于:
该仲裁器仲裁将该程序码加载器、或该前级中央处理单元连结该下层片内总线的该第二从接口。
11.如权利要求1的数据储存装置,其特征在于:
该上层片内总线以及该下层片内总线为高级可拓展接口(AXI)总线。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109117976 | 2020-05-29 | ||
TW109117976A TWI778363B (zh) | 2020-05-29 | 2020-05-29 | 採多級架構控制器的資料儲存裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113742264A CN113742264A (zh) | 2021-12-03 |
CN113742264B true CN113742264B (zh) | 2023-09-29 |
Family
ID=78706287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011430077.4A Active CN113742264B (zh) | 2020-05-29 | 2020-12-07 | 采多级架构控制器的数据储存装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11573730B2 (zh) |
CN (1) | CN113742264B (zh) |
TW (1) | TWI778363B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201837725A (zh) * | 2017-04-13 | 2018-10-16 | 慧榮科技股份有限公司 | 記憶體控制器與資料儲存裝置 |
CN109101186A (zh) * | 2017-06-20 | 2018-12-28 | 上海宝存信息科技有限公司 | 数据储存装置与数据储存方法 |
CN109101189A (zh) * | 2017-06-20 | 2018-12-28 | 慧荣科技股份有限公司 | 数据储存装置与数据储存方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2080210C (en) | 1992-01-02 | 1998-10-27 | Nader Amini | Bidirectional data storage facility for bus interface unit |
US9720838B2 (en) * | 2015-03-27 | 2017-08-01 | Intel Corporation | Shared buffered memory routing |
US10169242B2 (en) * | 2015-10-16 | 2019-01-01 | SK Hynix Inc. | Heterogeneous package in DIMM |
US10331353B2 (en) * | 2016-04-08 | 2019-06-25 | Branislav Radovanovic | Scalable data access system and methods of eliminating controller bottlenecks |
TWI592864B (zh) * | 2016-06-21 | 2017-07-21 | 慧榮科技股份有限公司 | 資料儲存裝置及其資料維護方法 |
US10387046B2 (en) * | 2016-06-22 | 2019-08-20 | Micron Technology, Inc. | Bank to bank data transfer |
TWI615710B (zh) | 2016-12-14 | 2018-02-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
US11467834B2 (en) * | 2020-04-01 | 2022-10-11 | Samsung Electronics Co., Ltd. | In-memory computing with cache coherent protocol |
-
2020
- 2020-05-29 TW TW109117976A patent/TWI778363B/zh active
- 2020-12-07 CN CN202011430077.4A patent/CN113742264B/zh active Active
-
2021
- 2021-03-17 US US17/204,067 patent/US11573730B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201837725A (zh) * | 2017-04-13 | 2018-10-16 | 慧榮科技股份有限公司 | 記憶體控制器與資料儲存裝置 |
CN109101186A (zh) * | 2017-06-20 | 2018-12-28 | 上海宝存信息科技有限公司 | 数据储存装置与数据储存方法 |
CN109101189A (zh) * | 2017-06-20 | 2018-12-28 | 慧荣科技股份有限公司 | 数据储存装置与数据储存方法 |
Also Published As
Publication number | Publication date |
---|---|
US20210373798A1 (en) | 2021-12-02 |
US11573730B2 (en) | 2023-02-07 |
CN113742264A (zh) | 2021-12-03 |
TWI778363B (zh) | 2022-09-21 |
TW202145018A (zh) | 2021-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102541302B1 (ko) | 플래쉬 집적 고 대역폭 메모리 장치 | |
US10496281B2 (en) | Data storage device, data processing system and method of operation | |
CN106648954B (zh) | 包括片上错误校正码电路的存储器件和系统 | |
US8990462B2 (en) | Storage device, computing system including the same and data transferring method thereof | |
JP5566650B2 (ja) | 階層メモリ・アーキテクチャのためのメモリ・デバイス | |
US20100287424A1 (en) | Method of writing an operating systems (OS) image to a semiconductor device and the semiconductor device | |
US20110153921A1 (en) | System Embedding Plural Controller Sharing Nonvolatile Memory | |
CN111694514A (zh) | 用于处理运算的存储器设备及操作该存储器设备的方法 | |
CN115495389B (zh) | 存储控制器、计算存储装置以及计算存储装置的操作方法 | |
KR100634436B1 (ko) | 멀티 칩 시스템 및 그것의 부트코드 페치 방법 | |
US20190042501A1 (en) | Technologies for computational storage via offload kernel extensions | |
TWI333144B (en) | Device, system, method and computer-readable storage medium storing instructions for managing errors on a target storage device | |
CN105408875A (zh) | 在存储器接口上的分布式过程执行和文件系统 | |
CN108292282A (zh) | 分解块存储控制器堆栈 | |
CN108459978A (zh) | 包括非易失性存储器装置的数据存储装置及其操作方法 | |
US8266361B1 (en) | Access methods and circuits for devices having multiple buffers | |
EP4105771A1 (en) | Storage controller, computational storage device, and operational method of computational storage device | |
US10467020B2 (en) | Memory device, and information-processing device | |
JP2022151589A (ja) | スケーリング可能なメタデータを有するダイナミックランダムアクセスメモリ(dram) | |
US10379978B2 (en) | Semiconductor device and system relating to data mapping | |
CN113742264B (zh) | 采多级架构控制器的数据储存装置 | |
CN113204309B (zh) | 数据储存装置以及非挥发式存储器控制方法 | |
US9805811B2 (en) | Semiconductor memory device | |
CN107301872A (zh) | 半导体存储器装置的操作方法 | |
CN110018967A (zh) | 数据存储装置及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |