CN110399090A - 存储器管理装置及其操作方法 - Google Patents

存储器管理装置及其操作方法 Download PDF

Info

Publication number
CN110399090A
CN110399090A CN201810612069.8A CN201810612069A CN110399090A CN 110399090 A CN110399090 A CN 110399090A CN 201810612069 A CN201810612069 A CN 201810612069A CN 110399090 A CN110399090 A CN 110399090A
Authority
CN
China
Prior art keywords
data
bus
buffer
memory
error detection
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.)
Granted
Application number
CN201810612069.8A
Other languages
English (en)
Other versions
CN110399090B (zh
Inventor
魏志嘉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Asolid Technology Co Ltd
Original Assignee
Asolid Technology Co Ltd
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 Asolid Technology Co Ltd filed Critical Asolid Technology Co Ltd
Publication of CN110399090A publication Critical patent/CN110399090A/zh
Application granted granted Critical
Publication of CN110399090B publication Critical patent/CN110399090B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/0613Improving I/O performance in relation to throughput
    • 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/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]

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)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供一种存储器管理装置及其操作方法。存储器管理装置包括主机端、存储器、第一总线、控制装置、缓冲器、第二总线以及错误检测校正器(ECC)。第一总线耦接在主机端以及存储器之间。控制装置耦接至第一总线。缓冲器耦接至第一总线,用以存储多个数据。错误检测校正器通过第二总线耦接至缓冲器,并经由第二总线从缓冲器中接收各数据并进行错误检测,以对各数据进行错误校正。其中,第一总线与第二总线并不相同。

Description

存储器管理装置及其操作方法
技术领域
本发明涉及一种存储器管理装置及其操作方法,尤其涉及一种可提升系统数据吞吐量的存储器管理装置及其操作方法。
背景技术
随着电子科技的进步,电子装置也成为人们生活中不可或缺的工具。而为了提供大量的数据存储能力,在电子装置中设置一定量的非易失性存储器成为必然的趋势。在今日,快闪存储器为一种常用的非易失性存储器。
在现有技术领域中,常提供一系统总线,并通过系统总线来进行数据的传输动作。当要对数据进行错误检测校正动作时,可通过系统总线将数据传送至错误检测校正器。然而,在对数据进行错误检测校正动作时,时常会因为系统总线处于忙碌的状态,而遭遇系统总线无法进行额外数据传输动作的情况。并且,若错误检测校正器通过特定的错误更正码,例如,迭代解码器(Iterative Decoder)来执行错误校正时,会需要反复的读取位于缓冲器内的数据。此时,若直接通过系统总线读取缓冲器,会因为系统总线的传输延迟,造成系统数据吞吐量下降的问题。
发明内容
本发明提供一种存储器管理装置及其操作方法,其可改善系统传输延迟,并提升系统数据的吞吐量。
本发明的存储器管理装置包括主机端、存储器、第一总线、控制装置、缓冲器、第二总线以及错误检测校正器。第一总线耦接在主机端以及存储器之间。控制装置耦接至第一总线。缓冲器耦接至第一总线,用以存储多个数据。以及错误检测校正器,通过第二总线耦接至缓冲器,并经由第二总线,从缓冲器中接收各数据并进行错误检测,以对各数据进行错误校正。其中,第一总线与第二总线并不相同。
在本发明的一实施例中,上述的控制装置经由第一总线,接收来自存储器的多个数据,并将各数据存储至缓冲器中,其中控制装置经由第一总线,接收来自缓冲器的各数据,并将各数据传输至主机端。
在本发明的一实施例中,上述的控制装置在第一时间区间,经由第一总线,接收来自存储器的第一数据,并将第一数据存储至缓冲器中。
在本发明的一实施例中,上述的错误检测校正器在第二时间区间中,经由第二总线,接收来自缓冲器的第一数据并进行错误检测,以对第一数据进行错误校正,其中第一时间区间早于第二时间区间。
在本发明的一实施例中,上述的控制装置在第三时间区间,经由第一总线,接收来自存储器的第二数据,并将第二数据存储至缓冲器中,并且在第三时间区间中,控制装置经由第一总线,接收来自缓冲器的第一数据,并将第一数据传输至主机端,其中第二时间区间早于第三时间区间。
在本发明的一实施例中,上述的存储器管理装置还包括地址转换器,耦接第一总线,用以对各数据进行地址转换,并存储至缓冲器,其中错误检测校正器通过第二总线,耦接至缓冲器,其中缓冲器连接至地址转换器,并通过地址转换器耦接至第一总线。
在本发明的一实施例中,上述的存储器管理装置,其中控制装置经由第一总线,并通过地址转换器,接收来自存储器的多个数据,并将各数据存储至缓冲器中。
在本发明的一实施例中,上述的控制装置在第一时间区间,经由第一总线,并通过地址转换器,接收来自存储器的第一数据,并将第一数据存储至缓冲器中。
在本发明的一实施例中,上述的控制装置在第二时间区间,经由第一总线,并通过地址转换器,接收来自存储器的第二数据,并将第二数据存储至缓冲器中,并且在第二时间区间中,错误检测校正器经由第二总线,接收来自缓冲器的第一数据并进行错误检测,以对第一数据进行错误校正,其中第一时间区间早于第二时间区间。
在本发明的一实施例中,上述的控制装置在第三时间区间,经由第一总线,并通过地址转换器,接收来自存储器的第三数据,并将第三数据存储至缓冲器中,并且在第三时间区间中,错误检测校正器经由第二总线,接收来自缓冲器的第二数据并进行错误检测,以对第二数据进行错误校正,以及在第三时间区间中,控制装置经由第一总线,接收来自缓冲器的第一数据,并将第一数据传输至主机端,其中第二时间区间早于第三时间区间。
在本发明的一实施例中,上述的缓冲器被划分为多个缓冲页,用以分别存储多个数据。
在本发明的一实施例中,上述的第一总线包括高级微控制器总线架构(AdvancedMicrocontroller Bus Architecture,AMBA)。
本发明的存储器管理装置的操作方法,包括提供控制装置,通过第一总线接收来自存储器的多个数据,并将各数据存储至缓冲器中;提供错误检测校正器以经由第二总线接收来自缓冲器的各数据并对各数据进行错误检测,以对各数据进行错误校正;以及提供控制装置经由第一总线接收来自缓冲器的各数据,并将各数据传输至主机端,其中,第一总线与第二总线并不相同。
基于上述,本发明通过增加额外的第二总线,使错误检测校正器能经由第二总线耦接至缓冲器,并经由第二总线,从缓冲器中接收各数据以对各数据进行错误检测校正操作,进而改善系统传输延迟,以及提升系统数据吞吐量。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1示出本发明一实施例的存储器管理装置的示意图;
图2A示出本发明图1实施例的存储器管理装置的缓冲器配置示意图;
图2B示出本发明图1实施例的存储器管理装置的缓冲器的数据处理程序示意图;
图3A~3C示出本发明实施例的存储器管理装置的缓冲器的数据处理流程图;
图4示出本发明另一实施例的存储器管理装置的示意图;
图5A示出本发明图4实施例的存储器管理装置的缓冲器配置示意图;
图5B示出本发明图4实施例的存储器管理装置的缓冲器的数据处理程序示意图;
图6示出本发明实施例的存储器管理装置的操作方法的流程图。
附图标号说明:
100、400:存储器管理装置
110、410:主机端
120、420:存储器
130、430:控制装置
140、440:第一总线
150、450:缓冲器
160、460:错误检测校正器
170、470:第二总线
480:地址转换器
add1、add2、add3、add4、add5、add6、add7、add8、add9:缓冲页的地址
BUF0、BUF1、BUF2、BUF3:缓冲页
ECCS:错误检测校正区段
S11a~S13a、S11b~S13b、S21a~S23a、S21b~S23b、S21c~S23c:数据处理程序
S310、S320~S324、S330~S333、S340~S343:数据处理的步骤
S610~S630:存储器管理装置的操作方法的步骤
T1、T2、T3、T4、T5、T6:时间区间
具体实施方式
请参照图1,图1示出本发明一实施例的存储器管理装置的示意图。在本实施例中,存储器管理装置100包括主机端110、存储器120、控制装置130、第一总线140、缓冲器150、错误检测校正器160以及第二总线170。第一总线140耦接于主机端110以及存储器120之间,用于传输数据。控制装置130耦接至第一总线140。缓冲器150耦接至第一总线140,并且用于存储数据。第二总线170耦接于缓冲器150及错误检测校正器160之间,用于传输缓冲器150及错误检测校正器160的数据。错误检测校正器160通过第二总线170耦接至缓冲器150,并且经由第二总线170从缓冲器150中接收数据,以进行错误检测校正操作。
其中,第一总线140与第二总线170为不同的总线,亦可以是两个具有物理性隔离的总线。详细来说,在本实施例中,通过将错误检测校正器160耦接至与第一总线140不同的第二总线170,当错误检测校正器160要对缓冲器150中的数据进行错误检测校正操作时,便能经由第二总线170来进行操作,而不用通过第一总线140,进而减少第一总线140的额外数据传输动作,以提升系统数据的吞吐量。
值得一提的,在本实施例中,以NAND快闪存储器作为存储器120的一实施范例。当然,本发明实施例中的存储器120不以NAND快闪存储器为限,存储器120也可由其他非易失性存储器来实施。举例而言,存储器120可由相变随机存取存储器(phase change randomaccess memory,PRAM)、磁性随机存取存储器(magnetic RAM,MRAM)、电阻式随机存取存储器(resistive RAM,ReRAM)、铁电式随机存取存储器(ferroelectric RAM,FRAM)、NOR快闪存储器或其他本领域技术人员所熟知的存储器。
控制装置130例如是中央处理单元(Central Processing Unit,CPU)、微处理器(micro-processor)、或是其他可程序化的处理单元(Microprocessor)、数字信号处理器(Digital Signal Processor,DSP)、可程序化控制器、特殊应用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、可程序化逻辑装置(Programmable LogicDevice,PLD)或其他类似电路元件,本发明并不限于此。
第一总线140以及第二总线170例如是先进微控制器总线架构(AdvancedMicrocontroller Bus Architecture,AMBA)的总线,但本发明的可实施方式不限于此。
缓冲器150例如是动态随机存取存储器(Dynamic Random Access Memory,DRAM)或静态随机存取存储器(Static Random Access Memory,SRAM)等,本发明不限于此。缓冲器150也可以是其他适合的存储器。详细来说,请同时参照图1及图2A,图2A示出本发明图1实施例的存储器管理装置的缓冲器配置示意图。在本实施例中,缓冲器150可被划分为多个缓冲页,例如是缓冲页BUF0、BUF1、BUF2、BUF3。
每个缓冲页BUF0、BUF1、BUF2、BUF3具有起始地址与结束地址。在本实施例中,每个缓冲页BUF0、BUF1、BUF2、BUF3中的地址add1~add5是利用16进位的表现方式(例如是0x00000、0x02000、0x04000、0x06000以及0x08000)来进行定址,举例来说,排序为第一个的缓冲页BUF0的起始地址可设定为0x00000,其结束地址可设定为0x02000。排序为第二个的缓冲页BUF1的起始地址可设定为0x02000,其结束地址可设定为0x04000。BUF2、BUF3的起始地址与结束地址的设定方式,与前述缓冲页BUF0、BUF1的设定方式相类似,在此不多赘述。
在本实施例中,每个缓冲页BUF0、BUF1、BUF2、BUF3的大小为8192位元组(Bytes)(即,8KB)。缓冲器150用来进行数据存储的缓冲页BUF0、BUF1、BUF2、BUF3的总空间为32KB,即,共具有4个缓冲页BUF0、BUF1、BUF2、BUF3。然而,本发明并不限于缓冲器150地址的定址方式。例如,在另一实施例中,缓冲器150可具有更多或是更少的空间,或是可划分为更多或是更少的缓冲页,并且可对应地使用适合的定址方式来进行地址定位。此外,在多个缓冲页BUF0、BUF1、BUF2、BUF3中,每个错误检测校正区段ECCS的大小为4096位元组(Bytes)(即,4KB)。在本实施例中,会由错误检测校正器160经由第二总线170,从缓冲器150中的多个缓冲页BUF0、BUF1、BUF2、BUF3接收数据,以对数据进行错误检测校正操作。
请同时参照图2A及图2B,图2B示出本发明图1实施例的存储器管理装置的缓冲器的数据处理程序示意图。其中,图2B的横轴表示多个时间区间T1~T5,纵轴表示缓冲器(例如是图1的缓冲器150)中被划分的多个缓冲页BUF0、BUF1,为简化说明,本实施例仅示出出缓冲页BUF0、BUF1。此外,图2B的每一步骤方块代表一个数据处理程序,为简化说明,本实施例仅示出出数据处理程序S11a~S13a以及S11b~S13b。详细来说,在第一时间区间T1,程序S11a执行以经由第一总线接收来自存储器的第一数据,并通过第一总线将第一数据存储至缓冲器中的缓冲页BUF0中。
在第一时间区间T1后的第二时间区间T2,程序S12a使错误检测校正器经第二总线,接收来自缓冲页BUF0存储的第一数据,并对第一数据进行错误检测以及错误校正动作。
在第二时间区间T2后的第三时间区间T3,程序S13a执行以经由第一总线,接收来自缓冲页BUF0中的第一数据,并将第一数据通过第一总线传输至主机端。与此同时,程序S11b执行以继续经由第一总线接收来自存储器的第二数据,并将第二数据存储至缓冲器中的缓冲页BUF0中。也就是说,在第三时间区间T3可同时执行将存储器的数据传输至缓冲器的程序S11b,以及将缓冲器中的数据传输至主机端的程序S13a。
在第三时间区间T3后的第四时间区间T4及第五时间区间T5,可执行与前述数据处理程序S11a~S13a相类似的多个程序,在此不多赘述。
承接上述,在此请同时参照图1、图2A及图3A~图3C。图3A~3C示出本发明实施例的存储器管理装置的缓冲器的数据处理流程图。在本实施例中,于步骤S310,控制装置130会从缓冲器150所划分的多个缓冲页BUF0、BUF1、BUF2、BUF3中,第M个缓冲页中的第N个区段开始进行数据处理,其中M及N皆为正整数。接着,同时进入图3A中的步骤S320、图3B中的步骤S330以及图3C中的步骤S340,为简化说明,在此以缓冲页BUF0(即M为0)作为范例进行说明。
请先参照图3A,于步骤S320中,控制装置130针对忙碌旗标进行判断,其中,每个缓冲页(如缓冲页BUF0、BUF1、BUF2、BUF3)皆有对应的忙碌旗标,忙碌旗标用以表示该缓冲页是否正在被错误检测校正器160使用校正中。当控制装置130判断第M个缓冲页的忙碌旗标等于1时,表示表示错误检测校正器160正在校正该缓冲页,会重新回到步骤S320继续进行判断。相对的,当判断第M个缓冲页的忙碌旗标不等于1时,表示此时该缓冲页可经由第一总线140,将来自存储器120的数据存储至该缓冲页中(即步骤S321)。在此请注意,校正队列可耦接至缓冲器150及错误检测校正器160,用以存储来自缓冲器150的各缓冲页的指标,并由错误检测校正器160读取存储在校正队列中缓冲页的指标,再由错误检测校正器160针对指标对应的缓冲页,进行错误检测校正操作。值得一提的,校正队列可以是一个先进先出(first in first out,FIFO)的队列,并且可配置于错误检测校正器160内部或可配置于缓冲器150内部,也可以由外部所提供,本发明并不限于此。
以缓冲页0(即缓冲页BUF0)为例,当缓冲页BUF0的忙碌旗标不为1时,则进入步骤S321,由控制装置130经由第一总线140,接收来自存储器120的数据,并存储至缓冲器150中的缓冲页BUF0。接着,在步骤S322中,将缓冲页BUF0的指标放置到校正队列中。
此时,请参照图3B,于图3B的步骤S330中,当检测到校正队列不再是全空状态时,则进入步骤S331(若校正队列为全空状态,则重新回到步骤S330继续进行检测)。于步骤S331中,错误检测校正器160从校正队列中取得待修正缓冲页的指标(即缓冲页BUF0的位置),并将缓冲页BUF0的忙碌旗标设定为1,以表示此时要对缓冲页BUF0中的数据进行错误检测校正操作(即错误检测校正器160忙碌中)。接着,在步骤S332,错误检测校正器160对缓冲页BUF0中的数据,进行错误检测校正操作,并在操作完成后,进入步骤S333。步骤S333中,将已完成错误检测校正操作的缓冲页BUF0指标放置到转移队列中。在此请注意,转移队列耦接至缓冲器150,用以存储要传输至主机端的缓冲页指标。其中,转移队列可以是一个FIFO的队列,并且可配置于缓冲器150内部,也可以由外部装置所提供,本发明并不限于此。而在将已完成错误检测校正操作的缓冲页BUF0指标放置到转移队列,并将缓冲页BUF0对应的忙碌旗标设定为0后,则重新回到步骤S330进行检测。
此时,请参照图3C,于图3C的步骤S340中,控制装置130检测到转移队列不再是全空状态,并进入步骤S341(若转移队列为全空状态,则重新回到步骤S340继续进行检测)。于步骤S341中,控制装置130从转移队列中取得待传输缓冲页的指标(即缓冲页BUF0的位置)。接着,在步骤S342中,控制装置130对缓冲页BUF0的忙碌旗标进行判断,判断错误检测校正器160是否正在对缓冲页BUF0的数据进行误检测校正操作,当错误检测校正器160正在对缓冲页BUF0进行错误检测校正操作时(即忙碌旗标等于1)则重新回到步骤S342继续进行判断。相对的,当缓冲页BUF0的忙碌旗标不等于1时,则进入步骤S343。由控制装置130经由第一总线140,接收缓冲页BUF0中已完成错误检测校正操作的数据,并传输至主机端110。再重新回到步骤S340继续进行判断。
接着,请重新参照图3A,在步骤S322之后的步骤S323中,由控制装置130进行判断,判断是否已将所有数据从存储器120转移至缓冲器150,当控制装置130判断尚未将所有数据从存储器120转移至缓冲器150时,则进入步骤S324。在步骤S324中,将针对下一个缓冲页(例如是缓冲页BUF1)开始进行动作,并进入步骤S320,以继续针对下一个缓冲页所对应的忙碌旗标进行判断,其中,当最后一个缓冲页(例如是缓冲页BUF3)存储的数据被处理完成后,则可针对第一个缓冲页(例如是缓冲页BUF0)继续进行数据处理动作。相对的,于步骤S323中,当控制装置130判断已将所有数据从存储器120转移至缓冲器150时,则结束数据处理流程。
请参照图4,图4示出本发明另一实施例的存储器管理装置的示意图。与图1实施例不同的地方在于,本实施例的存储器管理装置400增加了地址转换器480。详细来说,在本实施例中,存储器管理装置400包括主机端410、存储器420、控制装置430、第一总线440、缓冲器450、错误检测校正器460、第二总线470以及地址转换器480。地址转换器480耦接至第一总线440,当控制装置430将来自存储器420的多个数据,传送至地址转换器480时,地址转换器480会对数据进行地址转换,并将其存储至缓冲器450。
其中,错误检测校正器460会通过第二总线470,耦接至缓冲器450。以在错误检测校正器460要进行错误检测校正操作时,能经由第二总线470,接收来自缓冲器450的各数据以进行错误检测,并对各数据进行错误校正。其中,缓冲器450连接至地址转换器480,并且通过地址转换器480耦接至第一总线440。此外,存储器管理装置400的数据处理流程与图1实施例相类似,在此不重复赘述。
请同时参照图4及图5A,图5A示出本发明图4实施例的存储器管理装置的缓冲器配置示意图。在本实施例中,缓冲器450同样被划分为多个缓冲页,例如是缓冲页BUF0、BUF1、BUF2、BUF3,以供多个数据的存储,并且每个缓冲页BUF0、BUF1、BUF2、BUF3中的地址add1~add9同样是利用16进位的表现方式(例如是0x00000、0x01000、0x02000、0x03000、0x04000、0x05000、0x06000、0x07000、0x08000)来进行定址。与图2实施例的差别在于,本实施例的缓冲器450是经由地址转换器480,对数据进行地址转换后,将原先连续的地址散落于不同的缓冲页BUF0、BUF1、BUF2、BUF3上,使系统能同时执行多个数据处理程序。
请同时参照图5A及图5B。图5B示出本发明图4实施例的存储器管理装置的缓冲器的数据处理程序示意图。其中,图5B的横轴表示多个时间区间T1~T6,纵轴表示缓冲器(例如是图4的缓冲器450)中被划分的多个缓冲页BUF0、BUF1、BUF2、BUF3,为简化说明,本实施例仅示出出缓冲页BUF0、BUF1、BUF2、BUF3。此外,图5B的每一步骤方块则代表一个数据处理程序,为简化说明,本实施例仅示出出数据处理程序S21a~S23a、S21b~S23b以及S21c~S23c。详细来说,在第一时间区间T1,程序S21a执行以经由第一总线接收来自存储器的第一数据,并通过地址转换器将第一数据存储至缓冲器中的缓冲页BUF0之中。
在第一时间区间T1后的第二时间区间T2,程序S22a使错误检测校正器经由第二总线,接收来自缓冲页BUF0存储的第一数据,并对第一数据进行错误检测及错误校正动作。与此同时,程序S21b使控制装置通过第一总线,接收来自存储器的第二数据,并通过地址转换器进行地址转换,将原本应该存储至缓冲页BUF0的第二数据(例如图2A所示出),存储至缓冲器中的缓冲页BUF1中。也就是说,在第二时间区间T2可同时进行将存储器的数据传输至缓冲器中的程序S21b,以及由错误检测校正器对缓冲器中的数据进行错误检测校正操作的程序S22a。
在第二时间区间T2后的第三时间区间T3,程序S23a执行以经由第一总线,接收来自缓冲页BUF0的第一数据,并通过第一总线将第一数据传输至主机端。与此同时,程序S22b使错误检测校正器继续通过第二总线,接收来自缓冲页BUF1中的第二数据,并对第二数据进行错误检测以及错误校正动作。同时,程序S21c执行以继续通过第一总线,接收来自存储器的第三数据,并通过地址转换器进行地址转换,将第三数据存储至缓冲器中的缓冲页BUF2之中。也就是说,在第三时间区间T3,可同时执行将存储器的数据传输至缓冲器的程序S21c,以及由错误检测校正器对缓冲器存储的数据进行错误检测校正操作的程序S22b,以及进行将缓冲器中的数据传输至主机端的程序S23a,藉此改善系统传输延迟问题,并提升系统数据吞吐量。
而在第三时间区间T3后的第四时间区间T4、第五时间区间T5及第六时间区间T6,可执行与前述程序S21a~S23a相类似的多个程序,在此不多赘述。
请参照图6,图6示出本发明实施例的存储器管理装置的操作方法的流程图。在步骤S610中,提供控制装置,并由控制装置通过第一总线,接收来自存储器的多个数据,并通过地址转换器进行地址转换,将各数据存储至缓冲器中。在步骤S620中,提供错误检测校正器,并由错误检测校正器经由第二总线,接收来自缓冲器的各数据并对各数据进行错误检测,以对各数据进行错误校正。在步骤S630中,提供控制装置,并由控制装置经由第一总线,接收来自缓冲器的各数据,并将各数据传输至主机端。
综上所述,本发明通过额外增加的第二总线,使错误检测校正器通过第二总线耦接至缓冲器,并能经由第二总线,从缓冲器中接收数据,以对缓冲器中的数据进行错误检测校正操作;再通过地址转换器进行地址转换,将存储器的数据平均分散至缓冲器中的各个缓冲页,改善了系统传输延迟问题,并且提升了系统数据的吞吐量。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视权利要求所界定的为准。

Claims (19)

1.一种存储器管理装置,其特征在于,包括:
第一总线,耦接在主机端以及存储器间;
控制装置,耦接至所述第一总线;
缓冲器,耦接至所述第一总线,用以存储多个数据;以及
错误检测校正器,通过第二总线耦接至所述缓冲器,并经由所述第二总线,从所述缓冲器中接收各所述数据并进行错误检测,以对各所述数据进行错误校正,
其中,所述第一总线与所述第二总线并不相同。
2.根据权利要求1所述的存储器管理装置,其特征在于,所述控制装置经由所述第一总线,接收来自所述存储器的所述多个数据,并将各所述数据存储至所述缓冲器中,
其中所述控制装置经由所述第一总线,接收来自所述缓冲器的各所述数据,并将各所述数据传输至所述主机端。
3.根据权利要求2所述的存储器管理装置,其特征在于,所述控制装置在第一时间区间,经由所述第一总线,接收来自所述存储器的第一数据,并将所述第一数据存储至所述缓冲器中。
4.根据权利要求3所述的存储器管理装置,其特征在于,所述错误检测校正器在第二时间区间中,经由所述第二总线,接收来自所述缓冲器的所述第一数据并进行错误检测,以对所述第一数据进行错误校正,
其中所述第一时间区间早于所述第二时间区间。
5.根据权利要求4所述的存储器管理装置,其特征在于,所述控制装置在第三时间区间,经由所述第一总线,接收来自所述存储器的第二数据,并将所述第二数据存储至所述缓冲器中,并且在所述第三时间区间中,所述控制装置经由所述第一总线,接收来自所述缓冲器的所述第一数据,并将所述第一数据传输至所述主机端,
其中所述第二时间区间早于所述第三时间区间。
6.根据权利要求1所述的存储器管理装置,其特征在于,所述存储器管理装置还包括地址转换器,耦接至所述第一总线,用以对各所述数据进行地址转换,并存储至所述缓冲器,
其中,所述错误检测校正器通过所述第二总线,耦接至所述缓冲器,
其中,所述缓冲器连接至所述地址转换器,并通过所述地址转换器耦接至所述第一总线。
7.根据权利要求6所述的存储器管理装置,其特征在于,所述控制装置经由所述第一总线,并通过所述地址转换器,接收来自所述存储器的所述多个数据,并将各所述数据存储至所述缓冲器中。
8.根据权利要求7所述的存储器管理装置,其特征在于,所述控制装置在第一时间区间,经由所述第一总线,并通过所述地址转换器,接收来自所述存储器的第一数据,并将所述第一数据存储至所述缓冲器中。
9.根据权利要求8所述的存储器管理装置,其特征在于,所述控制装置在第二时间区间,经由所述第一总线,并通过所述地址转换器,接收来自所述存储器的第二数据,并将所述第二数据存储至所述缓冲器中,并且在所述第二时间区间中,所述错误检测校正器经由所述第二总线,接收来自所述缓冲器的所述第一数据并进行错误检测,以对所述第一数据进行错误校正,
其中所述第一时间区间早于所述第二时间区间。
10.根据权利要求9所述的存储器管理装置,其特征在于,所述控制装置在第三时间区间,经由所述第一总线,并通过所述地址转换器,接收来自所述存储器的第三数据,并将所述第三数据存储至所述缓冲器中,并且在所述第三时间区间中,所述错误检测校正器经由所述第二总线,接收来自所述缓冲器的所述第二数据并进行错误检测,以对所述第二数据进行错误校正,以及在所述第三时间区间中,所述控制装置经由所述第一总线,接收来自所述缓冲器的所述第一数据,并将所述第一数据传输至所述主机端,
其中所述第二时间区间早于所述第三时间区间。
11.根据权利要求1所述的存储器管理装置,其特征在于,所述缓冲器被划分为多个缓冲页,用以分别存储所述多个数据。
12.根据权利要求1所述的存储器管理装置,其特征在于,所述第一总线包括高级微控制器总线架构。
13.一种存储器管理装置的操作方法,其特征在于,包括:
提供控制装置,通过第一总线接收来自存储器的多个数据,并将各所述数据存储至缓冲器中;
提供错误检测校正器以经由第二总线接收来自所述缓冲器的各所述数据并对各所述数据进行错误检测,以对各所述数据进行错误校正;以及
提供所述控制装置经由所述第一总线接收来自所述缓冲器的各所述数据,并将各所述数据传输至主机端,
其中,所述第一总线与所述第二总线并不相同。
14.根据权利要求13所述的存储器管理装置的操作方法,其特征在于,提供所述控制装置,通过所述第一总线接收来自所述存储器的所述多个数据,并将各所述数据存储至所述缓冲器中的步骤包括:
提供所述控制装置,在第一时间区间经由所述第一总线,接收来自所述存储器的第一数据,并将所述第一数据存储至所述缓冲器中。
15.根据权利要求14所述的存储器管理装置的操作方法,其特征在于,提供所述错误检测校正器以经由所述第二总线接收来自所述缓冲器的各所述数据并对各所述数据进行错误检测,以对各所述数据进行错误校正的步骤包括:
提供所述错误检测校正器,在第二时间区间经由所述第二总线,接收来自所述缓冲器的所述第一数据,并对所述第一数据进行错误检测,以对所述第一数据进行错误校正;
其中所述第一时间区间早于所述第二时间区间。
16.根据权利要求15所述的存储器管理装置的操作方法,其特征在于,提供所述控制装置经由所述第一总线接收来自所述缓冲器的各所述数据,并将各所述数据传输至所述主机端的步骤包括:
提供所述控制装置,在第三时间区间经由所述第一总线,接收来自所述缓冲器的所述第一数据,并将所述第一数据传输至所述主机端,
其中提供所述控制装置,通过所述第一总线接收来自所述存储器的所述多个数据,并将各所述数据存储至所述缓冲器中的步骤还包括提供所述控制装置,在所述第三时间区间经由所述第一总线,接收来自所述存储器的第二数据,并将所述第二数据存储至所述缓冲器中,
其中所述第二时间区间早于所述第三时间区间。
17.根据权利要求13所述的存储器管理装置的操作方法,其特征在于,提供所述控制装置,通过所述第一总线接收来自所述存储器的所述多个数据,并将各所述数据存储至所述缓冲器中的步骤包括:
提供所述控制装置,在第一时间区间经由所述第一总线,并通过地址转换器,接收来自所述存储器的第一数据,并将所述第一数据存储至所述缓冲器中。
18.根据权利要求17所述的存储器管理装置的操作方法,其特征在于,提供所述错误检测校正器以经由所述第二总线接收来自所述缓冲器的各所述数据并对各所述数据进行错误检测,以对各所述数据进行错误校正的步骤还包括:
提供所述错误检测校正器,在第二时间区间经由所述第二总线,接收来自所述缓冲器的所述第一数据,并对所述第一数据进行错误检测,以对所述第一数据进行错误校正,
其中提供所述控制装置,通过所述第一总线接收来自所述存储器的所述多个数据,并将各所述数据存储至所述缓冲器中的步骤还包括提供所述控制装置,在所述第二时间区间经由所述第一总线,接收来自所述存储器的第二数据,并将所述第二数据存储至所述缓冲器中,
其中所述第一时间区间早于所述第二时间区间。
19.根据权利要求18所述的存储器管理装置的操作方法,其特征在于,提供所述控制装置经由所述第一总线接收来自所述缓冲器的各所述数据,并将各所述数据传输至所述主机端的步骤包括:
提供所述控制装置,在第三时间区间经由所述第一总线,接收来自所述缓冲器的所述第一数据,并将所述第一数据传输至所述主机端,
其中提供所述错误检测校正器以经由所述第二总线接收来自所述缓冲器的各所述数据并对各所述数据进行错误检测,以对各所述数据进行错误校正的步骤还包括提供所述错误检测校正器,在所述第三时间区间经由所述第二总线,接收来自所述缓冲器的所述第二数据,并对所述第二数据进行错误检测,以对所述第二数据进行错误校正,
其中提供所述控制装置,通过所述第一总线接收来自所述存储器的所述多个数据,并将各所述数据存储至所述缓冲器中的步骤还包括提供所述控制装置,在所述第三时间区间经由所述第一总线,并通过所述地址转换器,接收来自所述存储器的第三数据,并将所述第三数据存储至所述缓冲器中,
其中所述第二时间区间早于所述第三时间区间。
CN201810612069.8A 2018-04-25 2018-06-14 存储器管理装置及其操作方法 Active CN110399090B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW107113940 2018-04-25
TW107113940A TWI671637B (zh) 2018-04-25 2018-04-25 記憶體管理裝置及其操作方法

Publications (2)

Publication Number Publication Date
CN110399090A true CN110399090A (zh) 2019-11-01
CN110399090B CN110399090B (zh) 2023-04-07

Family

ID=68322380

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810612069.8A Active CN110399090B (zh) 2018-04-25 2018-06-14 存储器管理装置及其操作方法

Country Status (2)

Country Link
CN (1) CN110399090B (zh)
TW (1) TWI671637B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060152981A1 (en) * 2005-01-11 2006-07-13 Ryu Dong-Ryul Solid state disk controller apparatus
CN1885277A (zh) * 2005-06-24 2006-12-27 秦蒙达股份公司 Dram芯片设备以及包括该设备的多芯片封装
US20070073927A1 (en) * 2005-09-07 2007-03-29 Lu Paul Y Method and apparatus for high throughput mass storage device interface in a microprocessor for handheld systems
CN101246742A (zh) * 2008-03-25 2008-08-20 威盛电子股份有限公司 电子装置与其数据传输方法
CN101627371A (zh) * 2007-01-26 2010-01-13 美光科技公司 用于nand存储器的编程管理数据
US20100284228A1 (en) * 2009-05-07 2010-11-11 Elpida Memory, Inc. Semiconductor device having data input/output unit connected to bus line
US20110231724A1 (en) * 2010-03-17 2011-09-22 Tokumasa Hara Semiconductor device
CN102568603A (zh) * 2010-12-17 2012-07-11 索尼公司 数据传输装置、存储器控制装置和存储器系统
CN102890645A (zh) * 2011-07-20 2013-01-23 群联电子股份有限公司 存储器储存装置、存储器控制器与数据写入方法
CN104051024A (zh) * 2013-03-11 2014-09-17 旺宏电子股份有限公司 用于内建错误更正的储存装置及其操作方法
US20140289441A1 (en) * 2009-09-07 2014-09-25 Bitmicro Networks, Inc. Multilevel Memory Bus System
CN104252600A (zh) * 2013-06-27 2014-12-31 群联电子股份有限公司 数据保护方法、存储器控制器与存储器储存装置
CN105590648A (zh) * 2014-10-22 2016-05-18 华邦电子股份有限公司 存储器读取方法以及数字存储器装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447980B2 (en) * 2005-10-17 2008-11-04 Newport Media, Inc. Error detection and correction in data transmission packets
US7870459B2 (en) * 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
TWI467574B (zh) * 2011-11-01 2015-01-01 Phison Electronics Corp 記憶體儲存裝置、記憶體控制器與其資料傳輸方法
US9043674B2 (en) * 2012-12-26 2015-05-26 Intel Corporation Error detection and correction apparatus and method
US9362007B2 (en) * 2013-06-20 2016-06-07 Samsung Electronics Co., Ltd. Semiconductor memory device
US9632862B2 (en) * 2014-12-20 2017-04-25 Intel Corporation Error handling in transactional buffered memory

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060152981A1 (en) * 2005-01-11 2006-07-13 Ryu Dong-Ryul Solid state disk controller apparatus
CN1885277A (zh) * 2005-06-24 2006-12-27 秦蒙达股份公司 Dram芯片设备以及包括该设备的多芯片封装
US20070073927A1 (en) * 2005-09-07 2007-03-29 Lu Paul Y Method and apparatus for high throughput mass storage device interface in a microprocessor for handheld systems
CN101627371A (zh) * 2007-01-26 2010-01-13 美光科技公司 用于nand存储器的编程管理数据
CN101246742A (zh) * 2008-03-25 2008-08-20 威盛电子股份有限公司 电子装置与其数据传输方法
US20100284228A1 (en) * 2009-05-07 2010-11-11 Elpida Memory, Inc. Semiconductor device having data input/output unit connected to bus line
US20140289441A1 (en) * 2009-09-07 2014-09-25 Bitmicro Networks, Inc. Multilevel Memory Bus System
US20110231724A1 (en) * 2010-03-17 2011-09-22 Tokumasa Hara Semiconductor device
CN102568603A (zh) * 2010-12-17 2012-07-11 索尼公司 数据传输装置、存储器控制装置和存储器系统
CN102890645A (zh) * 2011-07-20 2013-01-23 群联电子股份有限公司 存储器储存装置、存储器控制器与数据写入方法
CN104051024A (zh) * 2013-03-11 2014-09-17 旺宏电子股份有限公司 用于内建错误更正的储存装置及其操作方法
CN104252600A (zh) * 2013-06-27 2014-12-31 群联电子股份有限公司 数据保护方法、存储器控制器与存储器储存装置
CN105590648A (zh) * 2014-10-22 2016-05-18 华邦电子股份有限公司 存储器读取方法以及数字存储器装置

Also Published As

Publication number Publication date
CN110399090B (zh) 2023-04-07
TWI671637B (zh) 2019-09-11
TW201945945A (zh) 2019-12-01

Similar Documents

Publication Publication Date Title
US11023167B2 (en) Methods and apparatuses for executing a plurality of queued tasks in a memory
KR101772020B1 (ko) 불휘발성 메모리 장치, 이의 동작 방법, 및 이를 포함하는 메모리 시스템
US9824004B2 (en) Methods and apparatuses for requesting ready status information from a memory
KR101969008B1 (ko) 영구 메모리에서의 에러 처리 기술
US20200133767A1 (en) Data storage device and adaptive data-reading method thereof
KR102393427B1 (ko) 반도체장치 및 반도체시스템
US10891185B2 (en) Error counters on a memory device
US10048887B2 (en) Apparatuses and methods for single level cell caching
JP2022508694A (ja) 誤り訂正及びデータスクラビング回路を備えたメモリシステム
US9870148B2 (en) Configuration control system and configuration control method
CN103930878A (zh) 用于存储器验证的方法、装置及系统
KR20150029402A (ko) 데이터 저장 시스템 및 그것의 동작 방법
US20100138588A1 (en) Memory controller and a method of operating an electrically alterable non-volatile memory device
WO2019032151A1 (en) SHARED ADDRESS COUNTERS FOR MULTIPLE OPERATING MODES IN A MEMORY DEVICE
CN110033815A (zh) 配置为选择性地引导存储器的ram控制器及其操作方法
US10613872B2 (en) Memory system with simulated memory process
CN110399090A (zh) 存储器管理装置及其操作方法
US9613717B2 (en) Error correction circuit and semiconductor memory device including the same
KR102638789B1 (ko) 테스트방법 및 이를 이용한 반도체시스템
TW201642272A (zh) 記憶體裝置與其操作方法
US20100135099A1 (en) Power-on detector, operating method of power-on detector and memory device including the same
US20070130449A1 (en) Processing arrangement, memory card device and method for operating and manufacturing a processing arrangement
CN106611619B (zh) 数据储存装置以及快闪存储器的检测方法
US20210149593A1 (en) Core Controller Architecture
JP6137944B2 (ja) 半導体装置、試験回路及び試験方法

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