CN111694512A - 共享存储器的存储系统以及包括其的数据处理系统 - Google Patents
共享存储器的存储系统以及包括其的数据处理系统 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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/0871—Allocation or management of cache space
-
- 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
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- 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/0638—Organizing or formatting or addressing of data
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7209—Validity 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。
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)
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)
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 |
-
2019
- 2019-03-15 KR KR1020190029885A patent/KR20200109973A/ko active Search and Examination
- 2019-12-18 US US16/718,558 patent/US11314650B2/en active Active
-
2020
- 2020-02-04 CN CN202010079702.9A patent/CN111694512B/zh active Active
Patent Citations (14)
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 |