CN100489809C - 适合向多处理器提供专用或共享存储器的存储器及其方法 - Google Patents

适合向多处理器提供专用或共享存储器的存储器及其方法 Download PDF

Info

Publication number
CN100489809C
CN100489809C CNB028224523A CN02822452A CN100489809C CN 100489809 C CN100489809 C CN 100489809C CN B028224523 A CNB028224523 A CN B028224523A CN 02822452 A CN02822452 A CN 02822452A CN 100489809 C CN100489809 C CN 100489809C
Authority
CN
China
Prior art keywords
processor
memory array
memory
described memory
fit
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.)
Expired - Fee Related
Application number
CNB028224523A
Other languages
English (en)
Other versions
CN1732444A (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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN1732444A publication Critical patent/CN1732444A/zh
Application granted granted Critical
Publication of CN100489809C publication Critical patent/CN100489809C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)

Abstract

简要地说,按照本发明的一个实施例,便携式通信设备可以具有多个处理器和一个存储器。所述存储器的各部分可以只能被多个处理器中的一个访问。

Description

适合向多处理器提供专用或共享存储器的存储器及其方法
背景技术
随着通信或计算系统的特征和功能性的增长,经常希望设计具有多个处理器的这样的系统。多处理器系统因为处理器可被精心设计来专用于特定的任务,所以是人们所期望的。例如,进行数学密集型计算的数字信号处理器可以与能够被用于执行用户应用的应用处理器相结合。
传统的涉及多个处理器的系统可以具有分别被专用于一个处理器的多个存储器设备;这些存储器被用来存储用于处理器的数据和/或指令。独立的、专用的存储器系统通常被用来降低访问冲突的风险,当两个处理器不得不同时访问一个共享的存储器时可能会出现这种访问冲突。
但是,对每个处理器使用专用存储器设备会增加整个系统的大小、复杂度和成本。因此,存在对于在具有两个或者多个处理器的系统中共享存储器的更好的解决办法的持续需求。
发明内容
根据本发明的一个方面,提供了一种装置,包括:独立的存储器设备,所述存储器设备包括具有第一部分和第二部分的存储器阵列,所述存储器阵列的所述第一部分与所述存储器阵列的所述第二部分不同,其中,所述存储器阵列适合使得所述存储器阵列的所述第一部分只能被第一处理器访问,并且所述存储器阵列的所述第二部分只能被第二处理器访问,其中,所述存储器阵列还包括与所述第一部分和所述第二部分不同的第三部分,所述存储器阵列的所述第三部分能被所述第一处理器和所述第二处理器两者访问,并且其中,所述存储器阵列还适合取决于所述第一处理器或者所述第二处理器的工作负荷而动态地改变所述存储器阵列的所述第一部分和所述第二部分的大小。
附图说明
在权利要求的部分中具体地指出并清楚地要求了本发明的主题。但是,当结合附图阅读时,通过参考下面的详细描述可以最佳地理解本发明的结构和操作方法及其目的、特征和优点,在附图中:
图1是按照本发明实施例的便携式通信设备的框图;
图2是按照本发明另一实施例的便携式通信设备的框图;以及
图3是按照本发明又一实施例的便携式通信系统的框图。
应当理解,为了图示说明的简洁和清楚,在图形中示出的元件未必按照比例绘制。例如,为了清楚,一些元件的尺寸相对于其他元件被放大。另外,在被认为适当的地方,参考标号在多个图形中重复,以指示相应的或者类似的元件。
具体实施方式
在下面的详细说明中,提出了许多特定的细节,以便提供对本发明的全面的理解。但是本领域的技术人员应当理解,本发明可以不用这些特定的细节而被实现。在其他情况中,为了不使本发明模糊,公知的方法、步骤、部件和电路没有被详细地描述。
在下面的说明书和权利要求中,可能使用了术语“耦合”和“连接”,以及它们的派生词。应当理解,这些术语并不意味着彼此是同义词。而在具体的实施例中,“连接”可以用于指示两个或者多个元件互相直接物理接触或者电接触。“耦合”可能意味着两个或更多的元件直接物理接触或者电接触。然而,“耦合”也可以意味着两个或者多个元件互相没有直接接触,但是仍然互相协作或者交互。
转到图1,其中描述了按照本发明的实施例100。实施例100可以包括便携式计算设备或者便携式通信设备50,例如移动通信设备(例如,蜂窝电话)、双向无线电通信系统、单向寻呼机、双向寻呼机、个人通信系统(PCS)、便携式计算机等。然而,应当理解,本发明的范围和应用决不限于这些示例。
便携式通信设备50可以包括两个或者多个处理器70和80,它们例如可以是微处理器、中央处理单元(CPU)、数字信号处理器、微控制器、精简指令集计算机(RISC)、复杂指令集计算机(CISC)等。但是,应当理解,本发明的范围并不限于这些示例,也不被便携式通信设备50中的处理器的数量所限制。另外,因为处理器70和80可以相同,也可以不同,所以本发明的范围并不限于处理器的任何特定的组合。还应当理解,可替换的实施例可以包括三个或者更多的处理器。
便携式通信设备50还可以包括存储器设备30,该存储器设备30可以包括存储器阵列35。存储器设备30可以被用于存储数据和/或要被处理器70和80执行的指令,然而本发明并不限于该方面。存储器设备30可以包括一种或者多种存储器类型,包括但不限于任何类型的包括软盘的磁盘存储装置、光盘、压缩盘只读存储器、磁光盘、只读存储器(ROM)、随机存取存储器(例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等)、电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡、闪存或者任何类型的适于存储电子指令和/或数据的介质。
如下面将要更详细说明的,存储器阵列35可以被划分或者分配,使得存储器阵列35的多个部分(例如部分31~33)专用于处理器70或者80。例如,部分33可以专用于处理器70,使得只有处理器70可以访问存储器阵列35的部分33(即,处理器80不能对该部分33进行读或者写),然而本发明的范围并不限于该方面。类似地,存储器阵列35的部分31可以专用于处理器80,使得只有处理器80可以访问存储器阵列35的部分31(即,处理器70不能对部分31进行读或者写)。
另外,存储器阵列35可选地可以被如下分配,使得部分32可以被处理器70和80两者访问(即,存储器阵列35的部分32可以被处理器70和80两者读和写)。或者,存储器阵列35的部分32可以被如下分配,使得处理器70和80中只有一个可以对部分32进行写入,而只有处理器70和80中的另一个可以读取存储器阵列35的部分32的内容。应当理解,存储器阵列35在处理器70和80之间共享的该部分(即部分32)未必在物理上或者逻辑上位于部分31和部分33之间。同样,未必只有一个共享的部分,在可替换的实施例中可以有多个共享的部分。
存储器设备30的部分31~33可以是存储器阵列35的相邻的或者连续的部分,然而本发明的范围并不限于该方面。在这样的实施例中,部分31~33可以共享存储器设备30的操作中所使用的信号线或者电源线中的多条。例如,部分31~33可以共享相同的时钟信号、复位信号、读出放大器、电源电位线等。
便携式通信设备50还可以具有存储器总线75和85,存储器总线75和85可以分别被处理器70和80使用来访问存储器设备30。总线75和85可以是串行或者并行总线的任意组合,并且包括多种信号线,例如数据、地址、电源电位、控制信号、复位信号、芯片选择信号,然而本发明的范围并不限于总线75和85的组成的任何特定的设置。
存储器设备30可以是具有端口37和38的双端口存储器,然而本发明的范围并不限于该方面。端口37和38可以连接到总线75和85,以允许处理器70和80通过使用地址、数据和控制信号分别访问存储器阵列35的部分33和31。端口37和38可以包括译码逻辑,该译码逻辑限制处理器70和80访问其未被授权或被许可访问的存储器阵列35的部分。例如,端口37可以保证存储器阵列35的部分33只能被处理器70访问,端口38可以保证存储器阵列35的部分31只能被处理器80访问。另外,由于存储器阵列35的部分32可以被处理器70和80两者访问,所以端口37和38同样可以都允许对部分32的访问。
使用双端口37~38和总线75和85可以允许处理器70和80同时或者基本上同时地访问部分31和33,然而本发明的范围并不限于该方面。同样,端口37~38可以允许部分31和33中的一个被写入而另一个被读取、允许两者同时被写入或者允许部分31和33两者同时被读取。
在工作过程中,取决于处理器70、处理器80或者两者的工作负荷,便携式通信设备50可以改变部分31~33各自的大小。例如,如果处理器70正处于工作模式,其将受益于存储器阵列35的更大的空间分配,则存储器设备可以增加部分33的大小,并减小部分32和/或部分31的大小。如果处理器70正在执行涉及使用大量数据的指令,则会出现这种情况。如果处理器70正在执行多种不同的用户应用,也会出现这种情况。应当理解,处理器70和80的工作负荷可能取决于多种因素,例如数据量、由处理器70和80所执行的应用的数目或者被执行的指令的特性。因此,可以基于这些因素的任何组合来改变存储器阵列35的分配,然而其他因素也可以被考虑。
存储器阵列35被分配给部分31~33的数量的变化或者改变可以使用多种技术来进行,然而本发明的范围并不限于所列举的这些。例如,便携式通信设备50可以包括监控器(在图1中没有示出),该监控器可以连续地或者定时地确定处理器70和80的工作负荷,并命令存储器设备30适当地改变存储器阵列35被分配给部分31~33的数量。或者,存储器设备30可以包括监控逻辑,用于跟踪存储器阵列35历史上被使用的数量,或者预计在不久的以后,存储器阵列的多少可能会被使用。在另一个可选的实施例中,处理器70和/或处理器80可以监控它们自己的工作负荷,并相应地请求存储器阵列35较多或较少的分配。
仅仅是为了举例说明的目的,在便携式通信设备50的一个实施例中,处理器70可以是CISC处理器,处理器80可以是一个DSP(数字信号处理器)。从而,存储器阵列35的部分33可以被用于存储与下述应用相关联的数据和/或指令,例如用户应用(例如电子邮件、日历等)或者与通信系统中较高层抽象(例如第三层或者第二层)相关联的应用。另一方面,存储器阵列35的部分31可以被用于存储与通信系统的基带处理(例如第一层)相关联的数据或者指令。另外,部分32可以被用于存储被处理器70和80两者使用的数据或者指令(例如,查找表、网页、软件代码转换器(codex)等),或者被用于存储在处理器70和处理器80之间共享或者传递的信息。但是应当理解,本例仅是示例性的,本发明的范围并不限于该方面。
现在转到图2,其中提供了本发明的另一实施例200。在该特定实施例中,便携式通信设备250具有存储器设备230,该存储器设备230具有被处理器70和80访问的指定部分231~233。例如,部分231可以只被处理器80访问,部分233可以只被处理器70访问,而部分232可以被处理器70和80两者访问。存储器设备230可以包括前面所描述的一种或多种存储器类型。
但是,在本实施例中,加入了存储器控制器210,用于仲裁并控制处理器70和80对存储器设备230的访问。存储器控制器可以是双端口的或者具有端口237~238,所述端口237~238能够被用于控制存储器设备230的哪些部分可以通过总线290被处理器70和80访问,然而本发明的范围并不限于该方面。总线275和285可以将处理器70和80耦合到存储器控制器210。
存储器控制器210可以包含下述逻辑和/或译码电路,用于确定处理器70和80是否被允许访问存储器设备230的各个部分。存储器控制器还可以包括冲突检测电路,用于解决处理器70和80同时试图访问存储器设备230的相同部分时的冲突。存储器控制器210的使用应当被考虑为是可选的,但可能是所期望的,以降低与存储器设备230相关联的复杂度和成本。通过将仲裁和冲突逻辑从存储器设备230转移到另外的部件(即,存储器控制器210),在可被用于存储器设备230的存储器类型方面可以有更大的灵活性。
现在转到图3,其中提供了本发明的又一实施例300。在该实施例300中,便携式通信设备350可以包括存储器设备330,该存储器设备330具有可以被处理器370和380访问的两个或者多个部分331~333。例如,存储器设备330的部分331可以只能被处理器380访问,部分333可以只能被处理器370访问,而存储器设备330的部分332可以被处理器370和380两者访问,然而本发明的范围并不限于该方面。存储器设备330可以包括前面所描述的一种或者多种存储器类型。
存储器设备330还可以包括仲裁器310,该仲裁器310能够用于控制存储器设备的哪些部分331~333可以通过存储器总线360被处理器370和380访问。存储器总线360可以是串行或者并行总线,包括各种信号线(例如数据、地址、芯片选择等)。存储器总线360中的一些信号线可以是处理器370和380两者共用的或者共享的,然而本发明的范围并不限于该方面。这样,处理器370和380可以使用存储器总线360来访问存储器设备330。
因为相同的存储器总线360被用于多个处理器370和380,所以仲裁器310可以包括下述逻辑,用于确定处理器370和380仅访问它们被允许访问的存储器设备330的部分。另外,仲裁器310可以包括冲突检测电路和解决逻辑,用于处理处理器370和380同时使用存储器总线360的情况。一种用于减少在存储器总线360上发生的冲突的数量的技术是使处理器370和380监听哪些内容正在存储器总线360上被传输,并在传输之前等待,直到存储器总线360可用,然而这仅仅是一个例子,本发明的范围并不限于该方面。
另外并且是可选地,仲裁单元310可以包含能够被用于对处理器370和380所发送的信号进行译码的逻辑。例如,如果仲裁器单元310获知处理器370和380局限于访问存储器设备330的哪些部分,则仲裁器310就能够允许处理器370和380基本上同时地访问存储器设备330。例如,仲裁器310可以使用分组或者定时传输系统来允许处理器370和380同时进行发送或者接收,然而本发明的范围并不限于该方面。
如果特定的应用在布线或者管脚数量上受限,则在这些应用中可能需要使用仲裁器310。使用单个存储器总线360可以使得信号线贯穿便携式通信设备350的走线更加容易,并降低对与多总线相关联的较多管脚的需要。
虽然这里已经图示和描述了本发明的某些特征,但是本领域的技术人员将会想到许多修改、替换、变化和等同物。例如,在可替换的实施例中,便携式通信设备可以具有三个或者更多处理器,并且存储器设备因而可以被划分成只能被这些处理器中的一个所访问的多个区域。另外,存储器设备或者存储器控制器可以有三个或者更多端口。因此应当理解,所附权利要求是用来涵盖落入本发明的真正精神之内的所有的这种修改和变化。

Claims (7)

1.一种装置,包括:
独立的存储器设备,所述存储器设备包括具有第一部分和第二部分的存储器阵列,所述存储器阵列的所述第一部分与所述存储器阵列的所述第二部分不同,其中,所述存储器阵列适合使得所述存储器阵列的所述第一部分只能被第一处理器访问,并且所述存储器阵列的所述第二部分只能被第二处理器访问,其中,所述存储器阵列还包括与所述第一部分和所述第二部分不同的第三部分,所述存储器阵列的所述第三部分能被所述第一处理器和所述第二处理器两者访问,并且其中,所述存储器阵列还适合取决于所述第一处理器或者所述第二处理器的工作负荷而动态地改变所述存储器阵列的所述第一部分和所述第二部分的大小。
2.根据权利要求1所述的装置,其中,所述存储器阵列的所述第一部分和所述第二部分两者都被耦合到相同的时钟信号。
3.根据权利要求2所述的装置,其中,所述存储器阵列的所述第一部分和所述第二部分被耦合到相同的电源电位。
4.根据权利要求1所述的装置,其中,所述存储器阵列还适合由于所述第一处理器的工作负荷的增加而增加所述第一部分的大小,并减小所述第二部分的大小。
5.根据权利要求1所述的装置,其中,所述存储器阵列还适合使得当所述第二处理器访问所述存储器阵列的所述第二部分时,所述第一处理器可以基本上同时地访问所述存储器阵列的所述第一部分。
6.根据权利要求1所述的装置,其中,所述存储器阵列还适合使得当所述第二处理器对所述存储器阵列的所述第二部分写入时,所述第一处理器可以读取所述存储器阵列的所述第一部分。
7.根据权利要求1所述的装置,其中,所述存储器阵列包括从一组存储器中选择的存储器,所述一组存储器包括静态随机存取存储器、动态随机存取存储器、只读存储器、电可擦除可编程只读存储器和闪存。
CNB028224523A 2001-11-14 2002-11-13 适合向多处理器提供专用或共享存储器的存储器及其方法 Expired - Fee Related CN100489809C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/003,170 US7380085B2 (en) 2001-11-14 2001-11-14 Memory adapted to provide dedicated and or shared memory to multiple processors and method therefor
US10/003,170 2001-11-14

Publications (2)

Publication Number Publication Date
CN1732444A CN1732444A (zh) 2006-02-08
CN100489809C true CN100489809C (zh) 2009-05-20

Family

ID=21704523

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028224523A Expired - Fee Related CN100489809C (zh) 2001-11-14 2002-11-13 适合向多处理器提供专用或共享存储器的存储器及其方法

Country Status (6)

Country Link
US (1) US7380085B2 (zh)
EP (1) EP1446721A2 (zh)
CN (1) CN100489809C (zh)
AU (1) AU2002352689A1 (zh)
MY (1) MY136470A (zh)
WO (1) WO2003042834A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105701019A (zh) * 2014-11-25 2016-06-22 阿里巴巴集团控股有限公司 一种内存管理方法以及装置

Families Citing this family (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004059914A1 (ja) * 2002-12-26 2004-07-15 Matsushita Electric Industrial Co., Ltd. ネットワーク端末装置、通信過負荷回避方法およびプログラム
JP2005056311A (ja) * 2003-08-07 2005-03-03 Matsushita Electric Ind Co Ltd 情報処理装置及びそれを用いた電子機器
KR100688537B1 (ko) 2005-03-16 2007-03-02 삼성전자주식회사 다수개의 프로세서들에 억세스 가능한 메모리 장치를 갖는시스템
KR100725099B1 (ko) * 2005-12-22 2007-06-04 삼성전자주식회사 멀티패쓰 억세스블 반도체 메모리 장치에서의 메모리확장구조
KR100745369B1 (ko) * 2005-12-22 2007-08-02 삼성전자주식회사 포트상태 시그날링 기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치
KR100725100B1 (ko) * 2005-12-22 2007-06-04 삼성전자주식회사 포트간 데이터 전송기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치
US7870326B2 (en) * 2006-07-28 2011-01-11 Samsung Electronics Co., Ltd. Multiprocessor system and method thereof
KR20070112950A (ko) * 2006-05-24 2007-11-28 삼성전자주식회사 멀티-포트 메모리 장치, 멀티-포트 메모리 장치를 포함하는멀티-프로세서 시스템, 및 멀티-프로세서 시스템의 데이터전달 방법
EP2034416A4 (en) * 2006-06-27 2009-09-09 Nec Corp MULTIPROCESSOR SYSTEM AND PORTABLE DEVICE THEREWITH
TW200813724A (en) * 2006-07-28 2008-03-16 Samsung Electronics Co Ltd Multipath accessible semiconductor memory device with host interface between processors
DE102006035610B4 (de) * 2006-07-31 2012-10-11 Infineon Technologies Ag Speicherzugriffssteuerung und Verfahren zur Speicherzugriffssteuerung
KR100822468B1 (ko) * 2006-09-11 2008-04-16 엠텍비젼 주식회사 공유 메모리를 구비한 장치 및 코드 데이터 전송 방법
KR100855587B1 (ko) * 2007-01-17 2008-09-01 삼성전자주식회사 메일박스 영역을 가지는 멀티 패스 액세스블 반도체 메모리장치 및 그에 따른 메일박스 액세스 제어방법
US7930576B2 (en) * 2007-04-10 2011-04-19 Standard Microsystems Corporation Sharing non-sharable devices between an embedded controller and a processor in a computer system
KR100870734B1 (ko) * 2007-04-18 2008-11-27 삼성전자주식회사 복수의 프로세서에 직렬 인터페이스 모드 및 병렬인터페이스 모드로 통신을 하는 멀티 포트 메모리 장치,이를 구비한 통신 시스템, 및 통신 방법
WO2009105055A1 (en) * 2007-05-10 2009-08-27 Micron Technology, Inc. Memory area protection system and methods
US20080313407A1 (en) * 2007-06-13 2008-12-18 Zhigang Hu Latency-aware replacement system and method for cache memories
KR100855580B1 (ko) * 2007-06-18 2008-09-01 삼성전자주식회사 프로세서 리셋 기능을 갖는 반도체 메모리 장치 및 그를 채용한 멀티 프로세서 시스템과 그에 따른 프로세서 리셋 제어방법
KR20090008519A (ko) * 2007-07-18 2009-01-22 삼성전자주식회사 공유 레지스터를 갖는 멀티패쓰 억세스블 반도체 메모리장치 및 그에 따른 공유 레지스터 운영방법
KR20090013342A (ko) * 2007-08-01 2009-02-05 삼성전자주식회사 멀티 포트 반도체 메모리 장치 및 그에 따른 리프레쉬 방법
KR101414774B1 (ko) 2007-08-29 2014-08-07 삼성전자주식회사 멀티포트 반도체 메모리 장치
KR20090032415A (ko) * 2007-09-28 2009-04-01 삼성전자주식회사 프로세서 웨이크 업 기능을 갖는 멀티포트 반도체 메모리장치 및 이를 채용한 멀티 프로세서 시스템 그리고 멀티프로세서 시스템에서의 프로세서 웨이크 업 방법
KR20090033539A (ko) * 2007-10-01 2009-04-06 삼성전자주식회사 프로토콜 정의영역을 갖는 멀티포트 반도체 메모리 장치 및그를 채용한 멀티 프로세서 시스템과 멀티포트 반도체메모리 장치의 억세스 방법
US8775717B2 (en) 2007-12-27 2014-07-08 Sandisk Enterprise Ip Llc Storage controller for flash memory including a crossbar switch connecting a plurality of processors with a plurality of internal memories
KR20090092371A (ko) * 2008-02-27 2009-09-01 삼성전자주식회사 래치타입 메모리 셀들로 이루어진 공유 메모리 영역을 갖는멀티포트 반도체 메모리 장치 및 그를 채용한 멀티프로세서 시스템과 멀티포트 반도체 메모리 장치의구동방법
KR20090092370A (ko) * 2008-02-27 2009-09-01 삼성전자주식회사 프로세서들 간의 데이터 이동 이벤트를 감소시키는멀티포트 반도체 메모리 장치 및 그를 채용한 멀티프로세서 시스템과 멀티포트 반도체 메모리 장치의구동방법
KR20090095955A (ko) * 2008-03-07 2009-09-10 삼성전자주식회사 불휘발성 메모리의 공유 구조에서 다이렉트 억세스 기능을제공하는 멀티포트 반도체 메모리 장치 및 그를 채용한멀티 프로세서 시스템
KR20100032504A (ko) * 2008-09-18 2010-03-26 삼성전자주식회사 공유 버스를 갖는 불휘발성 메모리와 멀티포트 반도체 메모리 장치를 채용한 멀티 프로세서 시스템
KR20100034415A (ko) * 2008-09-24 2010-04-01 삼성전자주식회사 메모리 링크 아키텍쳐를 활용한 부팅기능을 갖는 멀티 프로세서 시스템
ATE540406T1 (de) * 2008-11-14 2012-01-15 Ericsson Telefon Ab L M Netzwerkzugriffsvorrichtung mit gemeinsam genutztem speicher
WO2010132189A1 (en) * 2009-05-15 2010-11-18 Thomson Licensing System and method for sharing memory
KR20110013868A (ko) * 2009-08-04 2011-02-10 삼성전자주식회사 멀티 코멘드 셋 동작 및 우선처리 동작 기능을 갖는 멀티 프로세서 시스템
KR101103619B1 (ko) * 2009-10-07 2012-01-09 엠텍비젼 주식회사 멀티 포트 메모리 및 그 억세스 제어 방법
US20120144104A1 (en) * 2010-12-02 2012-06-07 Advanced Micro Devices, Inc. Partitioning of Memory Device for Multi-Client Computing System
US8839007B2 (en) * 2011-06-17 2014-09-16 Dell Products Lp Shared non-volatile storage for digital power control
US8910020B2 (en) 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc Intelligent bit recovery for flash memory
US8909982B2 (en) 2011-06-19 2014-12-09 Sandisk Enterprise Ip Llc System and method for detecting copyback programming problems
US8793543B2 (en) 2011-11-07 2014-07-29 Sandisk Enterprise Ip Llc Adaptive read comparison signal generation for memory systems
US8924815B2 (en) 2011-11-18 2014-12-30 Sandisk Enterprise Ip Llc Systems, methods and devices for decoding codewords having multiple parity segments
US9048876B2 (en) 2011-11-18 2015-06-02 Sandisk Enterprise Ip Llc Systems, methods and devices for multi-tiered error correction
US8954822B2 (en) 2011-11-18 2015-02-10 Sandisk Enterprise Ip Llc Data encoder and decoder using memory-specific parity-check matrix
CN103999063B (zh) * 2011-12-16 2016-10-05 国际商业机器公司 处理器的存储器共享
US9171846B2 (en) 2012-05-31 2015-10-27 Moon J. Kim Leakage and performance graded memory
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
US9501398B2 (en) 2012-12-26 2016-11-22 Sandisk Technologies Llc Persistent storage device with NVRAM for staging writes
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
US9239751B1 (en) 2012-12-27 2016-01-19 Sandisk Enterprise Ip Llc Compressing data from multiple reads for error control management in memory systems
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US9003264B1 (en) 2012-12-31 2015-04-07 Sandisk Enterprise Ip Llc Systems, methods, and devices for multi-dimensional flash RAID data protection
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9236886B1 (en) 2013-03-15 2016-01-12 Sandisk Enterprise Ip Llc Universal and reconfigurable QC-LDPC encoder
US9244763B1 (en) 2013-03-15 2016-01-26 Sandisk Enterprise Ip Llc System and method for updating a reading threshold voltage based on symbol transition information
US9092350B1 (en) 2013-03-15 2015-07-28 Sandisk Enterprise Ip Llc Detection and handling of unbalanced errors in interleaved codewords
US9136877B1 (en) 2013-03-15 2015-09-15 Sandisk Enterprise Ip Llc Syndrome layered decoding for LDPC codes
US9009576B1 (en) 2013-03-15 2015-04-14 Sandisk Enterprise Ip Llc Adaptive LLR based on syndrome weight
US9367246B2 (en) 2013-03-15 2016-06-14 Sandisk Technologies Inc. Performance optimization of data transfer for soft information generation
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9159437B2 (en) 2013-06-11 2015-10-13 Sandisk Enterprise IP LLC. Device and method for resolving an LM flag issue
US9384126B1 (en) 2013-07-25 2016-07-05 Sandisk Technologies Inc. Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems
US9043517B1 (en) 2013-07-25 2015-05-26 Sandisk Enterprise Ip Llc Multipass programming in buffers implemented in non-volatile data storage systems
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9235509B1 (en) 2013-08-26 2016-01-12 Sandisk Enterprise Ip Llc Write amplification reduction by delaying read access to data written during garbage collection
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
US9442670B2 (en) 2013-09-03 2016-09-13 Sandisk Technologies Llc Method and system for rebalancing data stored in flash memory devices
US9519577B2 (en) 2013-09-03 2016-12-13 Sandisk Technologies Llc Method and system for migrating data between flash memory devices
US9158349B2 (en) 2013-10-04 2015-10-13 Sandisk Enterprise Ip Llc System and method for heat dissipation
US9323637B2 (en) 2013-10-07 2016-04-26 Sandisk Enterprise Ip Llc Power sequencing and data hardening architecture
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9298608B2 (en) 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US9263156B2 (en) 2013-11-07 2016-02-16 Sandisk Enterprise Ip Llc System and method for adjusting trip points within a storage device
US9244785B2 (en) 2013-11-13 2016-01-26 Sandisk Enterprise Ip Llc Simulated power failure and data hardening
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9280429B2 (en) 2013-11-27 2016-03-08 Sandisk Enterprise Ip Llc Power fail latching based on monitoring multiple power supply voltages in a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9122636B2 (en) 2013-11-27 2015-09-01 Sandisk Enterprise Ip Llc Hard power fail architecture
US9250676B2 (en) 2013-11-29 2016-02-02 Sandisk Enterprise Ip Llc Power failure architecture and verification
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9092370B2 (en) 2013-12-03 2015-07-28 Sandisk Enterprise Ip Llc Power failure tolerant cryptographic erase
US9235245B2 (en) 2013-12-04 2016-01-12 Sandisk Enterprise Ip Llc Startup performance and power isolation
US9129665B2 (en) 2013-12-17 2015-09-08 Sandisk Enterprise Ip Llc Dynamic brownout adjustment in a storage device
US9549457B2 (en) 2014-02-12 2017-01-17 Sandisk Technologies Llc System and method for redirecting airflow across an electronic assembly
US9497889B2 (en) 2014-02-27 2016-11-15 Sandisk Technologies Llc Heat dissipation for substrate assemblies
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9485851B2 (en) 2014-03-14 2016-11-01 Sandisk Technologies Llc Thermal tube assembly structures
US9348377B2 (en) 2014-03-14 2016-05-24 Sandisk Enterprise Ip Llc Thermal isolation techniques
US9519319B2 (en) 2014-03-14 2016-12-13 Sandisk Technologies Llc Self-supporting thermal tube structure for electronic assemblies
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9390814B2 (en) 2014-03-19 2016-07-12 Sandisk Technologies Llc Fault detection and prediction for data storage elements
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9390021B2 (en) 2014-03-31 2016-07-12 Sandisk Technologies Llc Efficient cache utilization in a tiered data structure
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US9645749B2 (en) 2014-05-30 2017-05-09 Sandisk Technologies Llc Method and system for recharacterizing the storage density of a memory device or a portion thereof
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US9093160B1 (en) 2014-05-30 2015-07-28 Sandisk Technologies Inc. Methods and systems for staggered memory operations
US8891303B1 (en) 2014-05-30 2014-11-18 Sandisk Technologies Inc. Method and system for dynamic word line based configuration of a three-dimensional memory device
US9070481B1 (en) 2014-05-30 2015-06-30 Sandisk Technologies Inc. Internal current measurement for age measurements
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US9921982B2 (en) * 2014-06-05 2018-03-20 Microchip Technology Incorporated Device and method to assign device pin ownership for multi-processor core devices
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
CN104050115B (zh) * 2014-06-30 2017-02-08 曙光信息产业(北京)有限公司 一种存储控制器及其使用方法
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
US9990131B2 (en) * 2014-09-22 2018-06-05 Xilinx, Inc. Managing memory in a multiprocessor system
US9952967B2 (en) * 2015-03-10 2018-04-24 Toshiba Memory Corporation Method for controlling nonvolatile memory and storage medium storing program
US9788314B2 (en) 2015-12-03 2017-10-10 Nxp Usa, Inc. Base transceiver station for reducing congestion in communcation network
CN105677247B (zh) * 2015-12-31 2018-12-21 北京联想核芯科技有限公司 一种信息处理方法和电子设备
WO2017142525A1 (en) * 2016-02-17 2017-08-24 Hewlett Packard Enterprise Development Lp Allocating a zone of a shared memory region
JP2019101951A (ja) * 2017-12-07 2019-06-24 トヨタ自動車株式会社 情報処理装置
KR102504332B1 (ko) 2018-02-21 2023-02-28 삼성전자주식회사 서로 이격되어 배치되는 범프 어레이들을 포함하는 메모리 장치 및 이를 포함하는 전자 장치
US10635494B2 (en) * 2018-05-08 2020-04-28 Microchip Technology Incorporated Memory pool allocation for a multi-core system

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6289149A (ja) * 1985-10-15 1987-04-23 Agency Of Ind Science & Technol 多ポ−トメモリシステム
US4875157A (en) 1987-03-18 1989-10-17 International Telesystems Corporation Alternate memory addressing for information storage and retrieval
EP0343567A3 (en) * 1988-05-25 1991-01-09 Hitachi, Ltd. Multi-processing system and cache apparatus for use in the same
US5161219A (en) * 1989-01-13 1992-11-03 International Business Machines Corporation Computer system with input/output cache
US5875464A (en) * 1991-12-10 1999-02-23 International Business Machines Corporation Computer system with private and shared partitions in cache
WO1995015528A1 (en) * 1993-11-30 1995-06-08 Vlsi Technology, Inc. A reallocatable memory subsystem enabling transparent transfer of memory function during upgrade
US5636361A (en) * 1994-12-22 1997-06-03 International Business Machines Corporation Multi-processor computer system having dual memory subsytems for enabling concurrent memory access thereto by more than one processor
US5911149A (en) * 1996-11-01 1999-06-08 Nec Electronics Inc. Apparatus and method for implementing a programmable shared memory with dual bus architecture
US5884055A (en) 1996-11-27 1999-03-16 Emc Corporation Method and apparatus including a shared resource and multiple processors running a common control program accessing the shared resource
US6212607B1 (en) * 1997-01-17 2001-04-03 Integrated Device Technology, Inc. Multi-ported memory architecture using single-ported RAM
US5950228A (en) 1997-02-03 1999-09-07 Digital Equipment Corporation Variable-grained memory sharing for clusters of symmetric multi-processors using private and shared state tables
JP3849951B2 (ja) * 1997-02-27 2006-11-22 株式会社日立製作所 主記憶共有型マルチプロセッサ
ES1037625Y (es) 1997-06-23 1998-11-01 Bach Lahor Santiago Cuadro-urna para cenizas de inhumacion.
US20020016891A1 (en) * 1998-06-10 2002-02-07 Karen L. Noel Method and apparatus for reconfiguring memory in a multiprcessor system with shared memory
US6542926B2 (en) * 1998-06-10 2003-04-01 Compaq Information Technologies Group, L.P. Software partitioned multi-processor system with flexible resource sharing levels
US6314499B1 (en) * 1997-11-14 2001-11-06 Lucent Technologies Inc. Non-preemptive memory locking mechanism in a shared resource system
US6266751B1 (en) 1997-11-14 2001-07-24 Agere Systems Guardin Corp. Continuously sliding window method and apparatus for sharing single-ported memory banks between two agents
US6216178B1 (en) 1998-11-16 2001-04-10 Infineon Technologies Ag Methods and apparatus for detecting the collision of data on a data bus in case of out-of-order memory accesses of different times of memory access execution
US6493800B1 (en) * 1999-03-31 2002-12-10 International Business Machines Corporation Method and system for dynamically partitioning a shared cache
JP4206467B2 (ja) * 1999-11-01 2009-01-14 旭精工株式会社 正逆回転モータの切り換えギア装置。
US7856633B1 (en) 2000-03-24 2010-12-21 Intel Corporation LRU cache replacement for a partitioned set associative cache
US6725336B2 (en) * 2001-04-20 2004-04-20 Sun Microsystems, Inc. Dynamically allocated cache memory for a multi-processor unit
US6662272B2 (en) * 2001-09-29 2003-12-09 Hewlett-Packard Development Company, L.P. Dynamic cache partitioning
US6848025B2 (en) * 2001-10-26 2005-01-25 Elan Research, Inc. Method and system for programmable replacement mechanism for caching devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105701019A (zh) * 2014-11-25 2016-06-22 阿里巴巴集团控股有限公司 一种内存管理方法以及装置

Also Published As

Publication number Publication date
MY136470A (en) 2008-10-31
WO2003042834A2 (en) 2003-05-22
AU2002352689A1 (en) 2003-05-26
CN1732444A (zh) 2006-02-08
US20030093628A1 (en) 2003-05-15
EP1446721A2 (en) 2004-08-18
WO2003042834A3 (en) 2004-06-17
US7380085B2 (en) 2008-05-27

Similar Documents

Publication Publication Date Title
CN100489809C (zh) 适合向多处理器提供专用或共享存储器的存储器及其方法
CN100580643C (zh) 包括多个存储器集线器模块的多处理器系统和方法
CN100361095C (zh) 具有内部高速缓存和/或内存访问预测的内存集线器
CN102405498B (zh) 可配置带宽存储器装置及方法
KR100726361B1 (ko) 메모리 장치들과의 통신을 위한 시스템 및 방법
CN102622192B (zh) 一种弱相关多端口并行存储控制器
EP2887223A1 (en) Memory system, memory module, memory module access method and computer system
CN102216992A (zh) 具有非易失性存储器模块的海量数据存储系统
CN106569727A (zh) 一种多控制器间多存储器共享并行数据读写装置及其写入、读取方法
CN101473438A (zh) 具有单个接口的混合存储器设备
US20050265108A1 (en) Memory controller which increases bus bandwidth, data transmission method using the same, and computer system having the same
CN107710175A (zh) 存储器模块以及操作系统和方法
KR101183739B1 (ko) 멀티포트 메모리 슈퍼셀 및 데이터 경로 스위칭 회로를 갖는 집적 회로
CN101038571A (zh) 一种块传输的多端口存储控制器
CN101273380A (zh) 图形处理器的交织虚拟本地存储器
CN106155910A (zh) 一种实现内存访问的方法、装置和系统
WO2007114676A1 (en) Device having shared memory and method for providing access status information by shared memory
CN101356515A (zh) 连接到多端口存储器的微处理器
CN115858438A (zh) 用于存储器模块数据宽度的灵活配置的使能逻辑
CN110444237A (zh) 半导体器件
CN117120992A (zh) 用于多队列存储器控制器的信用方案
JP2022151589A (ja) スケーリング可能なメタデータを有するダイナミックランダムアクセスメモリ(dram)
CN101751355B (zh) 能够启动事务的非易失性存储设备
CN112631984A (zh) 多核数据交互电路和控制方法
CN111435337A (zh) 存储器系统和数据处理系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090520

Termination date: 20161113

CF01 Termination of patent right due to non-payment of annual fee