CN111694512A - 共享存储器的存储系统以及包括其的数据处理系统 - Google Patents

共享存储器的存储系统以及包括其的数据处理系统 Download PDF

Info

Publication number
CN111694512A
CN111694512A CN202010079702.9A CN202010079702A CN111694512A CN 111694512 A CN111694512 A CN 111694512A CN 202010079702 A CN202010079702 A CN 202010079702A CN 111694512 A CN111694512 A CN 111694512A
Authority
CN
China
Prior art keywords
data
address
memory
processing system
data processing
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
CN202010079702.9A
Other languages
English (en)
Other versions
CN111694512B (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.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN111694512A publication Critical patent/CN111694512A/zh
Application granted granted Critical
Publication of CN111694512B publication Critical patent/CN111694512B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • 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
    • G06F13/1668Details of memory controller
    • 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
    • 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
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/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/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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
    • 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
    • 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
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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/7209Validity control, e.g. using flags, time stamps or sequence numbers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请公开了一种共享存储器的存储系统以及包括其的数据处理系统。数据处理系统包括:主机处理器;处理器,其适用于处理由主机处理器指示的任务;存储器,其由主机处理器和处理器共享,适用于储存分别经主机处理器和处理器处理的数据;以及存储器控制器,其适用于检查经主机处理器和处理器处理的储存数据是否被重复使用,并且适用于基于检查结果来将储存数据作为第一数据和第二数据进行分类和管理。

Description

共享存储器的存储系统以及包括其的数据处理系统
相关申请的交叉引用
本申请要求2019年3月15日提交的申请号为10-2019-0029885的韩国专利申请的优先权,其公开内容通过引用整体合并于此。
技术领域
示例性实施例涉及一种存储系统,并且更具体地,涉及一种共享和使用存储器的存储系统以及包括该存储系统的数据处理系统。
背景技术
在数据处理系统中使用的存储系统可以用作主存储器件或辅助存储器件。这样的数据处理系统的示例包括诸如移动电话、MP3播放器、数码相机和膝上型计算机之类的便携式电子设备,或者诸如台式计算机、游戏机、电视和投影仪之类的电子设备。
存储系统可以储存经数据处理系统处理的数据。存储系统可以被嵌入数据处理系统中并在其中运行,或者存储系统可以以单独的形式制造并耦接到数据处理系统。即,根据与数据处理系统耦接的接口协议,存储系统可以是各种类型的储存器件之一。例如,存储系统可以是多媒体卡(MMC)(诸如嵌入式MMC(eMMC)、缩小尺寸的MMC(RS_MMC)或微型MMC)、安全数字(SD)卡(诸如迷你SD卡或微型SD卡)、紧凑型闪存(CF)卡、智能媒体卡、记忆棒、通用串行总线(USB)储存器件、通用闪存(UFS)或固态驱动器(SSD)。
发明内容
各个实施例针对一种能够通过根据数据的访问模式而对储存在存储器中的数据进行分类来共享存储器的存储系统。
根据本公开的实施例,一种数据处理系统包括:主机处理器;处理器,其适用于处理由主机处理器指示的任务;存储器,其由主机处理器和处理器共享,适用于储存分别经主机处理器和处理器处理的数据;以及存储器控制器,其适用于检查经主机处理器和处理器处理的储存数据是否被重复使用,并且基于检查结果来将储存数据作为第一数据和第二数据进行分类和管理。
根据本公开的另一实施例,一种存储系统的操作方法包括:将输入地址储存为第一地址;将输入地址与第一地址进行比较,以及根据比较结果来产生标志信号;以及响应于标志信号而将输入地址储存为第二地址并将有效位和脏位分配给第二地址。
附图说明
图1是示出根据本公开的实施例的数据处理系统的框图。
图2是示出根据本公开的实施例的图1的存储器控制器的实施例的框图。
图3是示出根据本公开的实施例的图2的储存单元的实施例的配置图。
图4是示出根据本公开的实施例的存储系统的操作的流程图。
具体实施方式
图1是示出根据本公开的实施例的数据处理系统100的框图。
参考图1,数据处理系统100可以包括主机处理器110、处理器120、高速缓冲存储器130和存储系统140。存储系统140可以包括存储器控制器150、共享存储器160和存储器件170。
主机处理器110可以控制数据处理系统100的全部操作。主机处理器110可以通过经由存储器控制器150访问存储器件170来处理任务。即,主机处理器110可以向存储器控制器150发送请求以请求对存储器件170的读取/写入操作。例如,主机处理器110可以包括在计算机中运行和处理命令的中央处理单元(CPU)。
处理器120可以处理由主机处理器110指示的任务。处理器120可以处理由主机处理器110执行的任务的一部分,从而提高了主机处理器110的效率。例如,处理器120可以包括用于在计算机中执行图形计算的图形处理单元(GPU)。然而,本实施例不限于此,并且主机处理器110和处理器120可以各自包括微处理器、应用程序处理器、加速处理单元和操作系统等。
高速缓冲存储器130可以储存由主机处理器110经常使用的数据。高速缓冲存储器130可以包括具有高数据处理速度的存储器。例如,高速缓冲存储器130可以包括静态随机存取存储器(SRAM)。
尽管在图1中未示出,但数据处理系统100还可以包括专用于处理器120的存储器,以便储存经处理器120处理的数据。例如,数据处理系统100可以包括用作用于GPU的帧缓冲存储器的SRAM。
这样的SRAM具有高数据处理速度,但是具有几兆字节(MB)的有限容量。因此,随着数据处理系统100的数据处理容量的增大,高速缓冲存储器和帧缓冲存储器可能需要更大的容量。然而,用于将SRAM的容量或根据该容量的占用面积增大的成本可能是过高的。
因此,主机处理器110和处理器120可以通过存储器控制器150来共享共享存储器160。共享存储器160可以用作主机处理器110的高速缓冲存储器以及处理器120的帧缓冲存储器,并分别储存经主机处理器110和处理器120处理的数据。共享存储器160可以包括比SRAM具有更大容量的动态随机存取存储器(DRAM)。例如,共享存储器160可以包括具有1GB至2GB的容量的低功率存储器。将参考图2更详细地描述存储器控制器150和共享存储器160的操作。
存储器件170可以在存储器控制器150的控制下执行诸如读取/写入操作之类的操作。存储器件170可以从存储器控制器150接收命令和地址,并向/从存储器控制器150发送/接收数据。作为非限制性示例,存储器件170可以是如下各种类型的存储器之一,诸如DRAM、NAND闪存、电阻式随机存取存储器(RRAM)、相变随机存取存储器(PCRAM)、磁性随机存取存储器(MRAM)和铁电随机存取存储器(FRAM)。
图2是示出根据本公开的实施例的图1的存储器控制器的框图。
参考图2,存储器控制器150可以包括第一储存单元210、第二储存单元220、比较单元230、计数单元240和复位单元250。
如上所述,主机处理器110和处理器120可以共享共享存储器160。存储器控制器150可以针对主机处理器110和处理器120两者执行读取操作和写入操作并将数据储存在共享存储器160中。根据储存在共享存储器160中的数据是否被重复使用,存储器控制器150可以将所储存的数据作为第一数据(例如,高速缓存数据)进行管理,或者将所储存的数据作为第二数据(例如,缓冲数据)进行管理。
由主机处理器110请求的数据可以主要包括高速缓存数据。例如,通过由CPU执行的任务所产生的数据很可能被重复使用。存储器控制器150可以将这样的数据作为高速缓存数据进行管理,并且共享存储器160可以用作主机处理器110的末级高速缓冲存储器。另一方面,由处理器120请求的数据可以主要包括缓冲数据。例如,通过由GPU执行的图形计算所产生的数据可能较少被重复使用。存储器控制器150可以将这样的数据作为缓冲数据进行管理,并且共享存储器160可以用作处理器120的缓冲存储器。然而,本实施例不限于此。
第一储存单元210可以将由主机处理器110或处理器120请求的输入地址ADDI储存为第一地址ADD1。第一储存单元210可以将所储存的第一地址ADD1提供给比较单元230。响应于由复位单元250产生的复位信号RS,第一储存单元210可以被复位以删除所储存的第一地址ADD1。
比较单元230可以将输入地址ADDI与第一地址ADD1进行比较。当比较结果指示输入地址ADDI与第一地址ADD1一致或相同时,比较单元230可以产生标志信号FLAG。即,当在预定时段内即使输入地址ADDI被重新输入一次时,比较单元230也可以产生标志信号FLAG。
根据另一个实施例,当比较结果指示输入地址ADDI与第一地址ADD1一致或相同时,比较单元230可以将标志位增加。当标志位增加到阈值位或更多时,比较单元230可以产生标志信号FLAG。因此,当在预定时段内输入地址ADDI被重新输入阈值次数或更多次时,比较单元230可以产生标志信号FLAG。
输入地址ADDI可以对应于储存在共享存储器160中的数据。根据一个实施例,如果储存在共享存储器160中的数据在预定时段内被重复使用一次或者阈值次数或更多次,则存储器控制器150可以将相对应的数据作为高速缓存数据进行分类和管理。该配置可以根据电路设计而改变,并且本实施例不限于此。
响应于标志信号FLAG,第二储存单元220可以将输入地址ADDI储存为第二地址ADD2。存储器控制器150可以将共享存储器160中的与储存在第二储存单元220中的第二地址ADD2相对应的数据作为高速缓存数据进行管理。因此,有效位和脏位可以响应于第二地址ADD2而被分配给第二储存单元220。将参考图3更详细地描述第二储存单元220的配置。
计数单元240可以响应于输入地址ADDI而执行计数操作。每当输入地址ADDI被输入时,计数单元240就可以使计数值CNT递增,并将增大的计数值CNT输出到复位单元250。响应于由复位单元250产生的复位信号RS,计数单元240的计数值CNT可以被复位到初始值。
复位单元250可以将增大的计数值CNT与阈值TH进行比较。当增大的计数值CNT达到阈值TH时,复位单元250可以产生复位信号RS。此时,阈值TH可以对应于存储器控制器150从主机处理器110和处理器120接收的读取命令或写入命令的最大队列。即,阈值TH是队列深度的量度。
图3是示出图2的第二储存单元220的配置图。
图3代表性地示出了储存在第二储存单元220中的第二地址ADD2之一。参考图3,有效位V和脏位D可以响应于第二地址ADD2而被分配给第二储存单元220。
有效位V可以指示与第二地址ADD2相对应的数据是否已经被从存储器件170更新到共享存储器160中。即,当数据已经被从存储器件170更新到共享存储器160中时,存储器控制器150可以将有效位V激活到逻辑电平“1”。另一方面,如果数据尚未被从存储器件170更新到共享存储器160,则存储器控制器150可以将有效位V去激活到逻辑电平“0”。
脏位D可以指示与第二地址ADD2相对应的数据是否脏。当脏位D被激活到逻辑电平“1”时,它可以指示储存在共享存储器160和存储器件170中的数据彼此不一致。当脏位D被去激活到逻辑电平“0”时,它可以指示储存在共享存储器160和存储器件170中的数据彼此一致或相同。
即,与第二地址ADD2相对应的数据可以作为高速缓存数据被储存在共享存储器160中,并且共享存储器160可以用作针对与第二地址ADD2相对应的数据的末级高速缓冲存储器。因此,存储器控制器150可以将有效位V和脏位D分配给与第二地址ADD2相对应的数据,并且对有效位V和脏位D进行管理以维持高速缓存一致性。
图4是示出根据实施例的存储系统140的操作的流程图。
参考图4,在步骤S410中,存储器控制器150的第一储存单元210可以将输入地址ADDI储存为第一地址ADD1。第一储存单元210可以将所储存的第一地址ADD1提供给比较单元230。
在步骤S420中,比较单元230可以将输入地址ADDI与储存在第一储存单元210中的第一地址ADD1进行比较。当比较结果指示输入地址ADDI与第一地址ADD1一致时(步骤S420中为是),在步骤S430中,比较单元230可以产生标志信号FLAG。根据另一个实施例,当比较结果指示输入地址ADDI与第一地址ADD1一致时,比较单元230可以将标志位增加。当标志位被增加到满足或超过阈值位或更多时,比较单元230可以产生标志信号FLAG。
在步骤S440中,响应于标志信号FLAG,第二储存单元220可以将输入地址ADDI储存为第二地址ADD2。响应于储存在第二储存单元220中的第二地址ADD2,可以分配有效位V和脏位D。然后,根据主机处理器110和处理器120的请求,存储器控制器150可以管理有效位V和脏位D。即,为了维持高速缓存一致性,存储器控制器150可以基于输入地址ADDI来将与输入地址ADDI相对应的第二地址ADD2的有效位V和脏位D激活或去激活。
根据本实施例,在步骤S450中,计数单元240可以响应于输入地址ADDI来执行计数操作。每当输入地址ADDI被输入时,计数单元240可以将计数值CNT增大,并且将增大的计数值CNT输出到复位单元250。
在步骤S460中,复位单元250可以将增大的计数值CNT与阈值TH进行比较。当增大的计数值CNT达到阈值TH时(在步骤S460中为是),在步骤S470中,复位单元250可以产生复位信号RS。此时,阈值TH可以对应于存储系统140从主机处理器110和处理器120接收的读取命令或写入命令的最大队列,即,队列深度。
响应于由复位单元250产生的复位信号RS,在步骤S480中,第一储存单元210可以被复位以删除所储存的第一地址ADD1。此外,响应于由复位单元250产生的复位信号RS,计数单元240的计数值可以被复位到初始值。
根据本文中所公开的实施例,数据处理系统可以根据数据的访问模式而将储存在存储器中的数据作为高速缓存数据进行分类和管理。即,数据处理系统可以将储存在存储器中的数据之中被重复使用的数据分类为高速缓存数据,并且以与其他数据不同的方式来管理高速缓存数据。因此,由于存储器可以被共享并被用作高速缓冲存储器和缓冲存储器,因此在包括多个处理器的数据处理系统中可以在不增大面积或不降低性能的情况下增大高速缓冲存储器的容量。
尽管已经出于说明性目的描述了各种实施例,但是对于本领域技术人员将显而易见的是,在不脱离如所附权利要求中所限定的本发明的精神和范围的情况下,可以进行各种改变和修改。

Claims (18)

1.一种数据处理系统,包括:
主机处理器;
处理器,其适用于处理由所述主机处理器指示的任务;
存储器,其由所述主机处理器和所述处理器共享,适用于储存分别经所述主机处理器和所述处理器处理的数据;以及
存储器控制器,其适用于检查经所述主机处理器和所述处理器处理的储存数据是否被重复使用,并且适用于基于检查结果来将所述储存数据作为第一数据和第二数据进行分类和管理。
2.根据权利要求1所述的数据处理系统,其中,所述存储器控制器将所述储存数据之中在预定时段内被重复使用的数据分类为所述第一数据,并且将所述储存数据之中在所述预定时段内未被重复使用的数据分类为所述第二数据。
3.根据权利要求1所述的数据处理系统,其中,所述存储器控制器将有效位和脏位分配给所述第一数据,并且将所述第一数据作为高速缓存数据进行管理。
4.根据权利要求1所述的数据处理系统,其中,所述存储器控制器包括:
第一储存单元,其适用于将由所述主机处理器和所述处理器请求的输入地址储存为第一地址;
比较单元,其适用于将所述输入地址与所述第一地址进行比较,并适用于根据比较结果来产生标志信号;以及
第二储存单元,其适用于响应于所述标志信号而将所述输入地址储存为第二地址。
5.根据权利要求4所述的数据处理系统,其中,所述存储器控制器包括:
计数单元,其适用于响应于所述输入地址来使计数值增大;以及
复位单元,其适用于当所述计数值达到阈值时产生复位信号。
6.根据权利要求5所述的数据处理系统,其中,所述计数单元和所述第一储存单元响应于所述复位信号而被复位。
7.根据权利要求5所述的数据处理系统,其中,所述阈值对应于所述存储器控制器的队列深度。
8.根据权利要求4所述的数据处理系统,其中,当所述比较结果指示所述输入地址与所述第一地址一致时,所述比较单元使与所述第一地址相对应的标志位增加。
9.根据权利要求8所述的数据处理系统,其中,当所述标志位被增加到阈值位或更多时,所述比较单元产生所述标志信号。
10.根据权利要求1所述的数据处理系统,其中,所述存储器作为所述主机处理器的末级高速缓冲存储器和所述处理器的缓冲存储器而被共享。
11.根据权利要求1所述的数据处理系统,其中,所述存储器包括容量为1GB至2GB的动态随机存取存储器DRAM。
12.一种存储系统的操作方法,包括:
将输入地址储存为第一地址;
将所述输入地址与所述第一地址进行比较,以及根据比较结果来产生标志信号;以及
响应于所述标志信号而将所述输入地址储存为第二地址并将有效位和脏位分配给所述第二地址。
13.根据权利要求12所述的操作方法,还包括:
响应于所述输入地址来使计数值增大;以及
当增大的计数值达到阈值时,产生复位信号。
14.根据权利要求13所述的操作方法,还包括:
响应于所述复位信号而删除所述第一地址;以及
响应于所述复位信号而将所述计数值复位到初始值。
15.根据权利要求13所述的操作方法,其中,所述阈值对应于所述存储系统的队列深度。
16.根据权利要求12所述的操作方法,其中,产生所述标志信号的步骤包括:
当所述比较结果指示所述输入地址与所述第一地址一致时,使标志位增加;以及
当所述标志位增加到阈值位或更多时,产生所述标志信号。
17.根据权利要求12所述的操作方法,还包括:基于所述输入地址来将分配给所述第二地址的有效位和脏位激活或去激活。
18.根据权利要求12所述的操作方法,其中,所述存储系统包括容量为1GB至2GB的动态随机存取存储器DRAM。
CN202010079702.9A 2019-03-15 2020-02-04 共享存储器的存储系统以及包括其的数据处理系统 Active CN111694512B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190029885A KR20200109973A (ko) 2019-03-15 2019-03-15 메모리 공유를 위한 메모리 시스템 및 그것을 포함하는 데이터 처리 시스템
KR10-2019-0029885 2019-03-15

Publications (2)

Publication Number Publication Date
CN111694512A true CN111694512A (zh) 2020-09-22
CN111694512B CN111694512B (zh) 2023-08-22

Family

ID=72423668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010079702.9A Active CN111694512B (zh) 2019-03-15 2020-02-04 共享存储器的存储系统以及包括其的数据处理系统

Country Status (3)

Country Link
US (1) US11314650B2 (zh)
KR (1) KR20200109973A (zh)
CN (1) CN111694512B (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4425617A (en) * 1981-03-23 1984-01-10 Rca Corporation High-speed data sorter
CN101286144A (zh) * 2007-04-11 2008-10-15 三星电子株式会社 多路径可存取半导体存储器设备
US20090006505A1 (en) * 2004-07-23 2009-01-01 Roque Scheer System and Method for Managing Memory
US20100118041A1 (en) * 2008-11-13 2010-05-13 Hu Chen Shared virtual memory
CN102165425A (zh) * 2008-09-25 2011-08-24 松下电器产业株式会社 缓冲存储器装置、存储器系统及数据传输方法
JP2012198671A (ja) * 2011-03-18 2012-10-18 Fujitsu Advanced Engineering Ltd システム管理装置、システム管理方法及びシステム管理プログラム
US20140098887A1 (en) * 2007-06-30 2014-04-10 Microsoft Corporation Reducing memory consumption during video decoding
US8924661B1 (en) * 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
CN104252418A (zh) * 2013-06-27 2014-12-31 索尼公司 储存控制装置、储存装置及其储存控制方法
CN104471540A (zh) * 2012-08-17 2015-03-25 英特尔公司 通过统一存储器架构的存储器共享
CN105431827A (zh) * 2013-08-07 2016-03-23 高通股份有限公司 针对异构多处理器系统中的共享存储区域的动态地址协商
CN106257430A (zh) * 2015-06-17 2016-12-28 爱思开海力士有限公司 存储系统及其操作方法
WO2017112403A1 (en) * 2015-12-24 2017-06-29 Intel Corporation Graphics processing unit operation
US9696941B1 (en) * 2016-07-11 2017-07-04 SK Hynix Inc. Memory system including memory buffer

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100938903B1 (ko) 2007-12-04 2010-01-27 재단법인서울대학교산학협력재단 불규칙한 배열 접근 패턴을 갖는 애플리케이션을 대한소프트웨어에 의해 제어되는 캐시 메모리의 동적 데이터할당 방법
US10599485B2 (en) * 2018-01-31 2020-03-24 Microsoft Technology Licensing, Llc Index structure using atomic multiword update operations

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4425617A (en) * 1981-03-23 1984-01-10 Rca Corporation High-speed data sorter
US20090006505A1 (en) * 2004-07-23 2009-01-01 Roque Scheer System and Method for Managing Memory
CN101286144A (zh) * 2007-04-11 2008-10-15 三星电子株式会社 多路径可存取半导体存储器设备
US20140098887A1 (en) * 2007-06-30 2014-04-10 Microsoft Corporation Reducing memory consumption during video decoding
CN102165425A (zh) * 2008-09-25 2011-08-24 松下电器产业株式会社 缓冲存储器装置、存储器系统及数据传输方法
US20100118041A1 (en) * 2008-11-13 2010-05-13 Hu Chen Shared virtual memory
US8924661B1 (en) * 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
JP2012198671A (ja) * 2011-03-18 2012-10-18 Fujitsu Advanced Engineering Ltd システム管理装置、システム管理方法及びシステム管理プログラム
CN104471540A (zh) * 2012-08-17 2015-03-25 英特尔公司 通过统一存储器架构的存储器共享
CN104252418A (zh) * 2013-06-27 2014-12-31 索尼公司 储存控制装置、储存装置及其储存控制方法
CN105431827A (zh) * 2013-08-07 2016-03-23 高通股份有限公司 针对异构多处理器系统中的共享存储区域的动态地址协商
CN106257430A (zh) * 2015-06-17 2016-12-28 爱思开海力士有限公司 存储系统及其操作方法
WO2017112403A1 (en) * 2015-12-24 2017-06-29 Intel Corporation Graphics processing unit operation
US9696941B1 (en) * 2016-07-11 2017-07-04 SK Hynix Inc. Memory system including memory buffer

Also Published As

Publication number Publication date
KR20200109973A (ko) 2020-09-23
CN111694512B (zh) 2023-08-22
US20200293451A1 (en) 2020-09-17
US11314650B2 (en) 2022-04-26

Similar Documents

Publication Publication Date Title
KR102549545B1 (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
KR100923990B1 (ko) 플래시 저장 장치의 특성을 기반으로 한 컴퓨팅 시스템
US11449418B2 (en) Controller and method for selecting victim block for wear leveling operation
US11620066B2 (en) Storage device with expandible logical address space and operating method thereof
US10067873B2 (en) Data storage device and operating method thereof
US11513948B2 (en) Controller and memory system
US20160253257A1 (en) Data processing system and operating method thereof
US20210240667A1 (en) User device including storage device and trim management method thereof
US11526296B2 (en) Controller providing host with map information of physical address for memory region, and operation method thereof
US11422930B2 (en) Controller, memory system and data processing system
US20140325168A1 (en) Management of stored data based on corresponding attribute data
KR20210144249A (ko) 저장 장치 및 이의 동작 방법
CN113282234B (zh) 存储装置、存储系统、及其操作方法
CN115458013A (zh) 存储装置及其操作方法
US9977732B1 (en) Selective nonvolatile data caching based on estimated resource usage
US10642531B2 (en) Atomic write method for multi-transaction
JP6339645B2 (ja) メモリデバイスおよび方法
CN113805792A (zh) 存储器系统及其操作方法
US9990311B2 (en) Peripheral interface circuit
CN111694512B (zh) 共享存储器的存储系统以及包括其的数据处理系统
CN114610654A (zh) 一种固态存储设备以及向其写入数据的方法
US20210149597A1 (en) Controller and operation method thereof
KR102497130B1 (ko) 스토리지 장치 및 그것의 동작 방법
US20230142174A1 (en) Memory system using host memory buffer and operation method thereof
US20240160381A1 (en) Memory controllers and operating methods thereof, memory systems, and electronic devices

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