Ram存储装置的制作方法

文档序号:6379164阅读:285来源:国知局
专利名称:Ram存储装置的制作方法
技术领域
本发明涉及控制例如闪速存储器(flash memory)等半导体存储装置的存储器控制装置包含的、响应存储器访问(memory access)而自由写入/读出的RAM存储装置。
背景技术
一直以来,对例如闪速存储器等半导体存储装置进行控制的闪存(flash)控制器等存储器控制装置广为人知(例如专利文献I)。该种技术中,一般而言,为提高来自闪速存储器的读出数据的可靠性,使用ECC (Error Check and Correct :错误检测及纠正)即错误检测/纠正电路。发生数据错误时,通过ECC电路进行数据纠正。此时,错误信息存储于寄存器、RAM,供作为数据的重写(rewrite)即再写入、错误发生的日志(log)信息利用。另夕卜,除此之外,众所周知,例如将该错误信息临时存放于具有存储器控制装置的RAM时,对该RAM的访问等请求信号有时会发生冲突。例如专利文献2中,公开有以对存储器的更新(refresh)请求信号和直接存储器访问(direct memory access)请求信号冲突为前提的动态(dynamic)存储器的冲突电路。专利文献
专利文献1:日本特开平8-77066号公报;
专利文献2 :日本特开平5-74151号公报。

发明内容
然而,作为错误信息的写入目的地,使用单端口(single port)的RAM时,存在对该RAM的错误信息的写入访问和其他的访问冲突时,只能有任意一个访问变得有效的问题。虽说如此,将CPU内的寄存器作为错误信息的写入目的地时,和将RAM作为写入目的地时相比较,存在电路面积变大的问题。例如,需要将闪速存储器的多个页面的地址和错误信息合计存储IK字节的数据时,和使用RAM时相比较,电路面积变大约4倍。本发明鉴于如上所述的问题点而完成,其目的在于提供即使在对RAM的访问发生冲突的情况下也能够将两个访问作为有效的请求应答的RAM存储装置。本发明的RAM存储装置,包含各自对含有写入或读出的控制信号及信息数据的访问进行中继的2个接口,以及响应经由所述接口的所述访问,和时钟信号同步进行所述信息数据的写入或读出的RAM,其特征在于,包含选择部,执行选择供给动作,该选择供给动作是响应所述控制信号,在以所述时钟信号决定的一个周期内,将到达所述接口的一个的所述访问向所述RAM供给;以及存储部,执行存储动作,该存储动作是响应所述控制信号,将到达所述接口的另一个的访问至少存储至所述一个周期随后的下一个周期为止。所述选择部,在所述下一个周期之后,将所述存储部存储的访问向所述RAM供给。根据本发明的RAM存储装置,即使在对RAM的访问发生冲突的情况下,也能够将两个访问作为有效的请求应答。


图1是示出包含本发明的实施例的RAM存储装置(RAM块(block))的闪存控制器、主装置、以及闪速存储器的结构的框 图2是示出图1的RAM块的结构例的框 图3是示出图1的单端口 RAM的写(write) /读(read)时的访问波形的时序 图4是示出图1的单端口 RAM内存储的数据的一例的 图5是示出读请求应答时的图1的闪存控制器的动作的时序 图6是示出在对单端口 RAM的写访问冲突发生时的来自闪存IF及CPU的访问波形、和单端口 RAM的端子的输入输出波形的时序图。
具体实施例方式以下,参照附图详细地说明本发明涉及的实施例。图1中,一同示出包含本发明的实施例的RAM存储装置10 (以下称为RAM块10)的存储器控制装置100 (以下称为闪存控制器100)的结构、和主装置200及半导体存储装置300 (以下称为闪速存储器300)。闪存控制器100响应来自主装置200的请求,进行对闪速存储器300的数据写入(以下称为写)、来自闪速存储器300的数据读出(以下称为读)。以下对闪存控制器100进行说明。RAM块10在对闪速存储器300进行写动作时,被用作写数据的缓冲器(buffer)。此外,RAM块10在进行来自闪速存储器300的读动作时,被用作存储多个页面地址的区域,该多个页面地址用于连续读闪速存储器300的多个页面。此外,RAM块10具有单端口RAM11。单端口 RAMll能够响应写或读的访问,和时钟信号同步而进行数据的写入或读出。该访问包含写入或读出的控制信号和信息数据。将在后面讲述单端口 RAMll的动作(图2)。主接口 20是和主装置200之间的接口。例如,主接口 20接收来自主装置200的写请求、读请求,将这些请求给予CPU40。此外,主接口 20将从闪速存储器300读出的读数据向主装置200发送。此外,主接口 20将从主装置200接收的写数据转交给闪存接口 30。闪存接口 30是和闪速存储器300之间的接口。例如,闪存接口 30进行对闪速存储器300的写数据的写入、以及来自闪速存储器300的读数据的读出。此外,闪存接口 30将从闪速存储器300读出的读数据给予ECC50,将由ECC50进行错误检测、纠正后的读数据转交给主接口 20。CPU40从主接口 20接受写请求和读请求,响应这些请求而控制闪存接口 30及RAM块10。例如,响应读请求,CPU40对RAM块10内的单端口 RAMll的各地址号码进行页面地址设定。此外,CPU40还能够对闪存接口 30发出读出页面数伴随的连续读指令。此外,CPU40还能够进行单端口 RAMll内存储的错误信息的检测。关于这些动作细节,之后讲述(图5)。ECC50对来自闪存接口 30的数据实施错误检测、纠正处理。ECC50在来自闪存接口 30的数据为写数据时,对该数据附加用于错误检测的校验位(parity bit),在接收的数据是读数据时,对该数据实施错误检测及错误纠正处理。此外、ECC50在完成对I个页面的读数据的错误检测、纠正处理后,对RAM块10进行访问,将表示该错误检测的结果的错误信息存储(写)于单端口 RAMll的相应地址号码。
内部总线60是将RAM块10、主接口 20、闪存接口 30、及CPU40相互通信连接的通
Ih路径。图2示出RAM块10的结构例。RAM块10能够接收来自闪存接口 30的RAM控制信号和来自CPU40的RAM控制信号。另外、在图2中,将“接口”标记为“IF”。CPU端IF12是自由接受来自CPU40的写入或读出访问的接口。CPU端IF12还具有将来自CPU40的访问数据形式变更为适合于单端口 RAMll的数据形式的功能。RAM控制信号存储部13响应从闪存接口 30供给的存储电路控制信号NFI_ACC,临时存储通过CPU端IF12接收的RAM控制信号。多路转换器14选择来自闪存接口的RAM控制信号、存储在RAM控制信号存储部13的RAM控制信号之中的任意一个,将该选择的RAM控制信号向单端口 RAMll供给。多路转换器14响应从闪存接口 30供给的NFI_CEN信号而选择这些RAM控制信号中的一个。以下,也将多路转换器14称为选择部。此外,也将NFI_CEN信号称为选择指令信号。闪存端IF15是自由接受来自闪存接口 30的写入或读出访问的接口。RAM控制信号为CEN、OEN、WEN、WEMN、A以及D,在图2中,分别在信号名的前头,对来自闪存接口 30的信号附加“NFI_”,对来自CPU40的信号附加“CPU_”。单端口 RAMll是和时钟信号CLK同步而动作的同步RAM。同步中,例如使用时钟信号CLK上升沿。单端口 RAMll响应从多路转换器14供给的RAM控制信号,进行对相应地址的数据的写、以及来自相应地址的数据的读。

图3示出单端口 RAMl I的写/读时的访问波形。写访问通过芯片使能(chip enable)信号CEN及写使能(write enable)信号WEN被断言(assert)(即变得有效)而变得有效。在该断言期间内,根据数据信号D示出的数据DATAO和时钟信号CLK同步而被写入根据地址信号A指定的区域ADDO中。写使能屏蔽(mask)信号WEMN是用于以字节单位屏蔽写入数据的信号。通过使用写使能屏蔽信号WEMN,能够将已经写入某地址号码的页面地址的数据留下,并且将错误信息写入该地址号码。另外,通过这样将错误信息与页面地址和同一地址号码建立对应关系并写入,具有之后例如CPU40能够高速地搜索错误信息的优点。读访问通过芯片使能信号CEN及输出使能(output enable)信号OEN被断言而变得有效。在该断言期间内,和时钟信号CLK同步而输出输出信号Q,该输出信号Q示出根据地址信号A指定的区域ADDl存储的数据DATAl。数据DATAl在指定区域ADDl的周期的下一个周期中被输出。单端口 RAMll将输出信号Q作为输出信号NFI_Q向闪存接口 30供给。此外,单端口 RAMll经由CPU端IF12将输出信号Q向CPU40供给。图4示出从闪速存储器300横跨多个页面连续地读数据时单端口 RAMll内存储的数据。横跨η (η是2以上的整数)个页面连续地读出数据时,根据来自CPU40的指令,页面地址“# 1”、“# 2”、“# 3”、……、“ # η”从地址号码“O”开始依次存储。此外,存储页面地址的地址号码中,根据来自ECC50的指令,也存储错误信息。关于错误信息的存储动作,之后讲述(图5)。以下参照图5说明在应答来自主装置200的读请求时的闪存控制器100的动作。首先,例如在主装置200完成起动时等的任意时间点,主装置200对闪存控制器100发出第一次读请求(步骤SI)。读请求作为用于连续地读出多个页面的单一指令(command)而被发出。主接口 20接收读请求,将其给予CPU40。CPU40响应该读请求而进行页面地址设定(步骤S2)。详细而言,CPU40将和该读请求示出的页面数相当的页面地址,从RAM块10内的单端口 RAMll的地址号码“O”开始依次存储。此时,CPU40能够实施确认读η个页面的处理、及逻辑页面和物理页面的转换处理。接下来,CPU40对闪存接口 30发出读出页面数伴随的连续读指令(步骤S3)。闪存接口 30响应连续读指令,首先读出单端口 RAMll的地址号码“O”存储的页面地址。然后,闪存接口 30将该页面地址伴随的读命令对闪速存储器300发出,从闪速存储器300读和该页面地址对应的数据(步骤S4)。闪存接口 30将读数据向ECC50转送。ECC50对该读数据实施错误检测处理。ECC50在检测出错误时对读数据实施错误纠正处理,未检测出错误时不进行错误纠正处理,将读数据向闪存接口 30转送。ECC50在完成I个页面的错误检测、纠正处理时,将示出该错误检测的结果的错误信息存储于单端口RAMll的地址号码“O”(步骤S5)。错误信息,例如在检测出错误时为逻辑值“I”,未检测出错误时为逻辑值“O”。另夕卜、通过使用对单端口 RAMll的写使能屏蔽信号WEMN,能够将已经写入地址号码“O”的页面地址的数据留下,并且将错误信息写入相同地址号码“O”。通过该处理将读出页面地址和错误信息建立对应关系。闪存接口 30在ECC50进 行错误检测纠正处理之后,将读数据向主接口 20转送。主接口 20将该读数据向主装置200发送(步骤S6)。闪存接口 30、ECC50、及主接口 20将从步骤S4到S6为止的处理反复执行和读出对象页面数相同的次数。此时,闪存接口 30接下来读出对当前读出地址号码的编号增量I而得到的地址号码所存储的页面地址。例如,当前读出地址号码为“O”时,闪存接口 30接下来作为读出对象的页面地址是将单端口 RAMll的地址号码“O”增量I而得到的地址号码“I”存储的页面地址。闪存接口 30读完读请求示出的全页面数的数据后,对CPU40通知该情况。主装置200在取得在步骤SI发出的读请求示出的全页面的读数据之后,对闪存控制器100发出第二次读请求(步骤S7)。CPU40响应该请求而对单端口 RAMl I进行访问,取得和错误信息建立对应关系的页面地址(步骤S8)。CPU40在完成页面地址的取得后和上述步骤S2同样地进行页面地址设定(步骤S9)。在此,CPU40需要在从主装置200接收读请求后的既定时间内对闪存接口 30发出连续读指令。因此,CPU40在设定最初数个页面的页面地址后,发出连续读指令(步骤S10),之后设定剩余页面的页面地址。闪存接口 30和上述内容同样地,响应连续读指令而从闪速存储器300读数据(步骤Sll)。ECC50和上述内容同样地,对读数据实施错误检测处理并将示出该错误检测结果的错误信息存储于单端口 RAMll的相应地址号码(步骤S12)。由于该动作,会发生用于CPU40进行页面地址设定的写访问(步骤S9)、和用于ECC50进行错误信息存储的写访问(步骤S12)在单端口 RAMll冲突的情况(图5的虚线椭圆包围的部分)。
以下参照图6及图2说明对单端口 RAM的写访问发生冲突时的RAM块10的动作。来自闪存接口 30的RAM控制信号被供给给多路转换器14的一个输入。该RAM控制信号例如由ECC50生成,经由闪存接口 30给予RAM块10。基于时钟信号CLK的一个周期中,来自闪存接口 30的NFI_CEN信号被断言时(变为“L (低)”电平时),多路转换器14选择来自闪存接口 30的RAM控制信号将其向单端口 RAMl I供给。另外,该一个周期中,来自RAM控制信号存储部13的RAM控制信号不从多路转换器14输出。S卩,多路转换器14在该一个周期中,只将来自闪存接口 30的访问的内容向单端口 RAMl I供给。来自CPU40的写访问信号通过CPU端IF12取入。RAM控制信号存储部13在从闪存接口 30供给的待机指令信号NFI_ACC被断言时(变为“ H (高)”电平时),将来自CPU40的写访问信号作为RAM控制信号而保持。RAM控制信号存储部13将RAM控制信号至少存储至该一个周期随后的下一个周期为止。例如、RAM控制信号存储部13包含触发器(未图示),将RAM控制信号存储于该触发器。RAM控制信号存储部13将该存储的RAM控制信号向多路转换器14的另一个输入供给。待机指令信号NFI_ACC是闪存接口 30进行写访问的周期的前一个周期中被输入的脉冲信号。即,待机指令信号NFI_ACC在NFI_CEN信号的断言之前从闪存接口 30发出。单端口 RAMl I进行和从多路转换器14供给的、来自闪存接口 30的RAM控制信号对应的处理。单端口 RAMll在该一个周期时中将根据数据信号D示出的数据DATAO存储于根据地址信号A示出的区域ADD0。接下来,该一个周期随后的下一个周期之后,NFI_CEN信号被否定时(即变得无效时),多路转换器14选择来自RAM控制信号存储部13的RAM控制信号,将其向单端口 RAMl I供给。另外、NFI_CEN信号变为“H”电平时为否定状态。多路转换器14在该下一个周期时,只将来自闪存接口 30的访问的内容向单端口 RAMl I供给。此时,单端口 RAMll也进行和从多路转换器14供给的、来自CPU40的RAM控制信号对应的处理。单端口 RAM ll在该下一个周期时,将根据数据信号D示出的数据DATAl存储于根据地址信号A示出的区域ADDl。RAM控制信号存储部13在该下一个周期以后,消除该存储的RAM控制信号的内容。通过该动作,来自闪存接口 30的访问得到优先。就是说,按照地址ADDOdiaADDl的顺序到达单端口 RAMll的地址端子A。此外,按照数据DATA0、数据DATAl的顺序到达单端口 RAMlI的数据端子D。这样,从闪存接口 30及CPU40各自对单端口 RAMlI进行写访问而发生写访问的冲突时,RAM块10也能够恰当地进行和这两个访问对应的处理。如上所述,本实施例的RAM块10在从闪存接口 30接收到待机指令信号NFI_ACC时,临时存储来自CPU40的写访问信号。然后,响应来自外部的选择指令信号(NFI_CEN信号)的断言而选择该存储的写访问信号、和来自闪存接口 30的写访问信号之中的后者的写访问信号。将该选择的写访问信号在时钟周期的一个周期中向单端口 RAMll供给,进而在该一个周期随后的下一个周期之后将该存储的写访问信号(即来自CPU40的写访问信号)向单端口 RAMll供给。通过该动作,根据本实施例的RAM块10,即使在对单端口 RAMl I的访问发生冲突的情况下,也能将两个访问作为有效的请求应答。上述实施例是在数据DATAO随后的周期中从多路转换器14输出数据DATAl时的例子,但并不局限于此。例如、也能够考虑到在数据DATAO的多个周期后输出数据DATA1。地址ADDO及ADDl也同样。上述实施例是写访问冲突时的例子,但在读访问冲突时也能够通过同样的动作,获得同样的效果。此外,上述实施例是将单端口 RAM作为访问对象时的例子,但是双重端口 RAM时也能够获得同样的效果。单端口 RAM和双重端口 RAM相比较只需1/2的面积即可,所以单端口 RAM在安装方面有利。符号说明
10 RAM存储装置(RAM块);11单端口 RAM; 12 CPU端IF; 13 RAM控制信号存储部;14多路转换器(选择部);15闪存端IF;20主接口 ;30闪存接口 ;40 CPU ;50 ECC ;60内部总线;100存储器控制装置(闪存控制器);200主装置;300半导体存储装置(闪速存储器)。
权利要求
1.一种RAM存储装置,包含各自对含有写入或读出的控制信号及信息数据的访问进行中继的2个接口,以及响应经由所述接口的所述访问,和时钟信号同步进行所述信息数据的写入或读出的RAM,其特征在于,包含 选择部,执行选择供给动作,该选择供给动作是响应所述控制信号,在以所述时钟信号决定的一个周期内,将到达所述接口中的一个的所述访问向所述RAM供给;以及 存储部,执行存储动作,该存储动作是响应所述控制信号,将到达所述接口中的另一个的访问至少存储至所述一个周期随后的下一个周期为止, 所述选择部,在所述下一个周期之后,将所述存储部存储的访问向所述RAM供给。
2.如权利要求1所述的RAM存储装置,其特征在于 所述控制信号包含选择指令信号和待机指令信号, 所述选择部响应所述选择指令信号而执行所述选择供给动作,所述存储部响应所述待机指令信号而执行所述存储动作。
3.如权利要求1或2所述的RAM存储装置,其特征在于 所述RAM为单端口 RAM。
4.如权利要求1至3的任意一项所述的RAM存储装置,其特征在于 所述信息数据包含闪速存储器的页面地址以及和所述闪速存储器的存储数据相关的错误信息。
5.如权利要求1至4的任意一项所述的RAM存储装置,其特征在于 被包含于控制半导体存储装置的存储器控制装置, 所述访问,和所述半导体存储装置的控制关联而从所述存储器控制装置供给。
全文摘要
提供即使在发生对RAM的访问冲突的情况下,也能够将两个访问作为有效的请求应答的RAM存储装置。包含选择部,响应控制信号,在以时钟信号决定的一个周期内,将到达2个接口之中的一个的访问向RAM供给;存储部,响应该控制信号,将到达该接口之中的另一个的访问至少存储至该一个周期随后的下一个周期为止。该选择部在该下一个周期之后,将该存储部存储的访问向该RAM供给。
文档编号G06F12/06GK103064802SQ201210399530
公开日2013年4月24日 申请日期2012年10月19日 优先权日2011年10月21日
发明者前田智行 申请人:拉碧斯半导体株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1