CN112825028A - 用于在易失性存储器中写入的方法和对应的集成电路 - Google Patents

用于在易失性存储器中写入的方法和对应的集成电路 Download PDF

Info

Publication number
CN112825028A
CN112825028A CN202011308495.6A CN202011308495A CN112825028A CN 112825028 A CN112825028 A CN 112825028A CN 202011308495 A CN202011308495 A CN 202011308495A CN 112825028 A CN112825028 A CN 112825028A
Authority
CN
China
Prior art keywords
memory
data
request
write
written
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
CN202011308495.6A
Other languages
English (en)
Other versions
CN112825028B (zh
Inventor
C·伊瓦
J-M·格里尔-马弗瑞
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.)
STMicroelectronics Rousset SAS
Original Assignee
STMicroelectronics Rousset SAS
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 STMicroelectronics Rousset SAS filed Critical STMicroelectronics Rousset SAS
Publication of CN112825028A publication Critical patent/CN112825028A/zh
Application granted granted Critical
Publication of CN112825028B publication Critical patent/CN112825028B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/419Read-write [R-W] circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/781On-chip cache; Off-chip 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/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]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1087Data input latches
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/229Timing of a write operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1039Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本公开的实施例涉及用于在易失性存储器中写入的方法和对应的集成电路。一种用于写入易失性存储器的实施例方法,包括:至少接收向存储器写入的请求,以及响应于向存储器写入的每个请求:准备待写入存储器的数据,这包括计算错误校正码;将待写入存储器的数据存储在缓冲寄存器中;以及,如果在存储之后没有接收到向存储器写入或从存储器读取的新请求,则将存储在缓冲寄存器中的待写入的数据写入存储器。

Description

用于在易失性存储器中写入的方法和对应的集成电路
相关申请的交叉引用
本申请要求于2019年11月21日提交的法国专利申请第1913001号的权益,该申请通过引用并入本文。
技术领域
实施例和实现模式涉及集成电路,例如片上系统的集成电路,包括使用错误校正码错误校正码的随机存取存储器。
背景技术
通常形式为汉明码(Hamming code)的错误校正码(或ECC)允许检测和校正在存储器的存储器字中的至少一个错误。在知道存储器字专用的所有数据的情况下,错误校正码被计算。
存储器字是存储器的组织和访问存储器的常规单位。存储器字通常包括多个数据位,或八个数据位的多个位,以及专用错误校正码的位。
这样,某些存储器允许以小于一个存储器字的粒度(例如一个字节或一个比特的粒度)写入数据,并且必须在被修改的并且完整的新存储器字上重新计算错误校正码。通常,在写入新存储器字及其错误校正码之前,提供待读取的旧的未修改数据。
解决方案建议插入读取、计算代码和写入两个连续写入指令的步骤,并且,将新修改的存储器字存储在缓冲寄存器中,直到下一个写入指令为止,在下一个写入指令上将该新修改的存储器字写入存储器。
因此,如果存储器装置被复位,则存储在缓冲寄存器中的数据丢失,即使它们已经被命令写入至随机存取存储器。
复位指的是由“复位”类型的信号命令的复位,与重新启动或断电相反。随机存取存储器,例如静态随机存取存储器类型(即SRAM)的随机存取存储器,在复位的情况下不必须丢失被存储的数据。
发明内容
实现模式和实施例使得可以不再丢失假定实际被写入随机存取存储器中的数据,特别是在系统复位的情况下。
根据一个方面,由此提出了用于写入易失性存储器的方法,该方法包括至少接收向存储器写入的请求,以及响应于向存储器写入的每个请求:准备待写入存储器的数据,这包括计算错误校正码;将待写入存储器的数据存储在缓冲寄存器中;以及,如果在存储之后没有接收到向存储器写入或从存储器读取的新请求,则将存储在缓冲寄存器中的待写入的数据写入存储器。
换言之,建议的是,系统地将准备好的待写入的最后数据存储在缓冲寄存器中。然而,代替添加将会导致累积延迟的一系列连续写入操作,仅在存储器空闲时(即当不需要读取存储器或从存储器读取时)的有利点处添加写入操作。
根据一种实现模式,该方法还包括:如果在存储之后接收到向存储器写入的新请求,则在将随后待写入存储器的数据(即响应于向存储器写入的新请求而准备的数据)存储在缓冲寄存器中之前,将存储在缓冲寄存器中的待写入的数据写入存储器。
因此,该方法既受益于在一系列连续写请求的情况下节省时间,又受益于关于最后数据丢失的安全性(特别是在复位的情况下)。
根据一种实现模式,向存储器写入的请求包括:存储器的存储器地址和具有大小小于存储器的存储器字的大小的新数据;准备待写入的数据包括:读取预先存储在包含存储器地址的存储器字中的先前数据,并且对先前数据和新数据的组合计算错误校正码,待写入的数据包括数据和这样计算的错误校正码的组合。
根据一种实现模式,访问存储器的至少一个请求在总线上传输,并且该请求包括激活在高级系统总线的一个信道上的选择信号,该方法包括检测选择信号是否激活,以便评估在存储之后是否没有接收到向存储器写入访问或从存储器读取访问的请求。
根据另一方面,提出了一种集成电路,集成电路包括:易失性存储器和存储器的控制接口,控制接口旨在接收向存储器写入的至少一个请求,并且该请求被配置为响应于向存储器写入新数据的请求:准备待写入存储器的数据并且计算错误校正码;将待写入存储器的数据存储在缓冲寄存器中;以及,如果在存储之后没有接收到向存储器写入或从存储器读取的新请求,则命令将存储在缓冲寄存器中的待写入的数据写入存储器。
根据一个实施例,控制接口还被配置为:如果在存储之后接收到向存储器写入的新请求,则在将随后待写入存储器的数据(即响应于写入存储器的新请求而准备的数据)存储在缓冲寄存器中之前,将存储在缓冲寄存器中的待写入的数据写入存储器。
根据一个实施例,如上所述,响应于包括存储器的存储器地址和具有大小小于存储器的存储器字的大小的新数据的写入请求,控制接口被配置,并且存储器的控制接口被配置为:读取预先存储在包含存储器地址的在存储器字中的先前数据,并且对先前数据和新数据的组合计算错误校正码,以便准备包括数据和这样计算的错误校正码的组合的待写入的数据。
根据一个实施例,存储器的控制接口包括强制写入电路,强制写入电路被配置为:评估在存储之后是否没有接收到向存储器写入或从存储器读取的请求,并且在没有向存储器写入和从存储器读取的请求的情况下,命令将存储在缓冲寄存器中的待写入数据写入存储器。
根据一个实施例,易失性存储器是静态随机存取存储器类型。
根据一个实施例,存储器的控制接口被配置为在总线上接收访问存储器的至少一个请求,并且存储器的控制接口被配置为检测在总线的一个信道上的选择信号是否激活,以便评估在存储之后是否没有接收到向存储器写入访问或从存储器读取访问的请求。
还提出了一种片上系统,片上系统包括如上文定义的集成电路、总线和主设备,主设备能够经由总线向存储器的控制接口发送向存储器写入的请求。
附图说明
通过检验完全非限制性的实施方式和实施例的详细描述以及附图后,本发明的其它优点和特征将变得显而易见,其中:
图1图示了片上系统的框图;
图2图示了向存储器写入示例的流程图;
图3图示了在AMBA标准中规定的AHB类型的微控制器总线上使用通信协议作出的请求的上下文中,向存储器写入示例的流程图;以及
图4图示了在AMBA标准中规定的AHB类型的微控制器总线上使用通信协议作出的请求的上下文中,向存储器写入示例的时序图。
具体实施方式
图1图示了以集成方式产生的片上系统CI。
片上系统CI包括主设备MT(例如微控制器处理器)和集成电路,集成电路包括随机存取存储器MEM和存储器的控制接口CTRL。
随机存取存储器MEM例如是SRAM(静态随机存取存储器),并且控制接口允许存储器MEM响应于由主设备MT在总线BUS(例如高级高性能总线(AHB))上传输的指令或请求而被命令。
存储器的控制接口CTRL被配置为在总线BUS上接收主设备MT的通信,以采用所使用的协议来解码该信息,并且通过生成命令存储器的内部信号来执行所接收的请求。
因此,控制接口CTRL被配置为生成:在地址线A上的地址信号、在数据线D上的数据信号、经反相的器件激活信号CEN和经反相的写入命令信号WEN、并且控制接口CTRL被配置为读取从存储器输出的信号Q,这样的信号将在下文参考图4描述。
存储器的控制接口CTRL包括电路MPRP,用于准备能够实现错误校正码机制ECC的写入数据,并且用于将待写入存储器的数据临时存储在缓冲寄存器BUF中。
存储器的控制接口CTRL还包括被称为“强制”写入装置ECRFRC的写入装置,其被配置为例如在总线BUS的至少某些信号上评估在缓冲寄存器BUF中准备的最后数据的存储之后是否没有接收到向存储器写入或从存储器读取的请求。
此外,如果没有接收到访问存储器的请求,则在存储器既不在读取过程中也不在写入过程中时,强制写入装置ECRFRC被配置为命令将存储在缓冲寄存器BUF中的待写入的数据写入到存储器MEM中。
附图标记I、II、III、IV、V在图1中示意性地表示下文参照图2或图3和图4描述的五个相应阶段的实现方式。
因此,由控制接口CTRL在总线BUS上接收第一阶段I的写入访问请求。
准备待写入存储器的数据包括:在第二阶段II中从存储器MEM读取旧数据,在第二阶段II结束处,这些数据在存储器的输出线Q上传输到准备装置MPRP。
例如,在第二阶段II中,在总线BUS上接收待写入的新数据。
在第三阶段III中,由数据准备电路MPRP对旧数据和新数据的组合执行错误校正码ECC的计算。
在第三阶段III中,在存储器的数据线D上发送先前准备并且临时存储在缓冲寄存器BUF中的数据,从而释放缓冲寄存器以接收在准备过程中的数据。由信号CEN和信号WEN命令在数据线D接收到的数据的写入。
当错误校正码的计算已经结束时,在第三阶段III结束处,在第四阶段IV中,准备写入存储器的数据被存储在缓冲寄存器BUF中。
同时,强制写入装置ECRFRC被配置为在第四阶段IV开始处,在总线BUS的至少一个信道(例如选择信道HSEL(图4))上评估是否需要新存储器读取或写入操作。
如果接收到请求,则将第四阶段IV叠加在新请求的新第一阶段I上。
如果没有检测到请求,则强制写入装置ECRFRC在第五阶段V中命令存在于缓冲寄存器BUF中的数据写入。
例如,强制写入装置ECRFRC可以被配置为具有缓冲寄存器BUF的访问,并且强制写入装置ECRFRC被配置为在存储器MEM的数据通道D上传输来自该寄存器的数据。
因此,如果系统CI例如被复位、并且缓冲寄存器BUF被清空,则准备写入的最后数据实际上已经被写入存储器MEM、并且没有丢失。
图2示出了响应于写入请求RQ_ECR而写入存储器的实现模式的示例。
根据该示例的方法旨在通过存储器(图1)的控制接口CTRL来实现。存储器例如是被组织成存储器字的静态随机存取存储器(SRAM)。该存储器能够接收具有大小小于存储器字的大小的待写入的数据,并且使用归属于每个存储器字的错误校正码机制。
在第一阶段I中,接收对存储器的写入访问的请求RQ_ECR。写入请求RQ_ECR可以源自主设备,并且写入请求可以包括存储器的地址和在该地址处待写入存储器的新数据。
新数据被认为具有小于存储器的存储器字的大小。
在第二阶段II中,准备PREP_DatEcc待写入存储器的数据,并且将会执行错误校正码的计算。并且计算使用存储字的所有位,在所有位中包括请求的地址。
因此,在第二阶段II中首先读取在存储器字中的先前数据,先前数据包含请求的地址。
预先从存储器读取的先前数据被传输到控制接口。
在第三阶段III中,对从存储器读取的、并且与当前请求RQ_ECR的新数据组合的数据计算错误校正码。
在第三阶段III中,与待写入的数据的准备PREP_DatEcc并行地,将预先准备的要写入的数据写入ECR_DatEcc存储器。
在第四阶段IV中,从准备PREP_DatEcc输出的待写入的数据被存储BUF_DatEcc在缓冲寄存器中,缓冲寄存器针对预先准备的待写入的数据的写入ECR_DatEcc而被清空。
接下来,测试RQ使得能够评估对存储器的写入访问或读取访问的新请求是否被接收到rq_ok,还是该新请求没有被接收到rq_nok。
在新请求被接收到rq_ok的情况下,在新写入请求rq_ecr与新读取请求rq_lec之间进行区分ECR/LEC。
如果写入请求被接收到rq_ecr,则利用新写入请求RQ_ECR执行诸如上述的阶段I、II、III和IV,并且特别地包括在上述阶段IV中将在缓冲寄存器中存储BUF_DatEcc的待写入的数据写入ECR_DatEcc。
如果读取请求RQ_LEC被接收到rq_lec,则实现读取LEC,然后再次执行测试RQ。
如果向存储器写入或从存储器读取的新请求没有被接收到rq_nok,则在第五阶段V中,在没有向存储器写入或从存储器读取的情况下,将存储在缓冲寄存器中的待写入的最后数据写入ECR_DatEcc存储器。
因此,根据该示例的方法使得能够不将准备写入存储器的最后数据存储在缓冲寄存器中,然而不限制或延迟在待写入的数据的准备PREP_DatEcc和存储BUF_DatEcc之后执行新写入或读取请求RQ_ECR、RQ_LEC。
当然,取决于所使用的各种传输请求协议,上文参考图2描述的示例性方法可以适用于提供了纠错码以及缓冲寄存器的这种使用的存储器的任何写入操作。
在这方面,图3和图4图示了在AMBA(高级微控制器总线架构)标准中规定的AHB(高级高性能总线)类型的微控制器总线上使用通信协议作出的请求的上下文中,参考图2描述的上述方法的应用示例,该AMBA(高级微控制器总线架构)标准是本领域技术人员公知的。
图3示出了根据该示例的方法的步骤,并且图4示出了在该示例中在总线BUS和存储器MEM的控制接口CTRL上使用的信号。
下面将使用在总线BUS上采用的信号的附图标记来指定总线BUS的信道和在这些信道上传输的信号。
周期I、II、III、IV和V由AHB协议定义,并且在操作上对应于上文参照图2所述方法的相应阶段。
第一周期I对应于AHB协议的控制周期,经由在总线BUS的相应信道HADDR上传输待写入的新数据的地址AddB,并且经由在总线BUS的相应信道上激活选择信号HSEL和写入控制信号HWRITE,将写入请求RQ_ECR通信到存储器。
在第一周期I中,在总线BUS的相应信道HSIZE上通信关于待写入的数据(尚未发送)的大小的信息。
如果待写入的数据的大小HSIZE等于存储器的存储器字MM的大小,则在传输新数据DatBnew之后,新数据DatBnew的直接写入CMD_ECR被命令到在请求RQ_ECR中传输的地址AddB的字(见下面的第二周期II)。
如果待写入的数据的大小HSIZE小于存储器的存储器字MM的大小,则以以下方式准备待写入的数据。
在第二周期II中,在总线BUS的相应信道HWDATA上传输写请求RQ_ECR的新数据DatBnew。
地址AddB被加载到存储器MEM的地址线A上,并且通过将经反相的器件激活信号CEN设置为0、并且将经反相的写入信号WEN保持为1,来命令CMD_LEC存储器MEM从地址AddB进行读取。
在第三周期III中,从存储器读取的数据DatBmem在存储器的输出Q上被传输到控制接口。
预先准备的数据的地址AddA被加载到存储器的地址线A上,并且预先准备的数据DatAecc从控制接口的缓冲寄存器BUF加载到存储器的数据输入线D上。预先准备的先前数据DatAecc由于数据的继续准备而产生,如下文参考ECC-MDF所述。
通过将经反相的器件激活信号CEN设置为0,并且将经反相的写入信号WEN设置为0,在写入模式CMD_ECR中命令存储器MEM。这对应于在线WEN上的写入控制信号的激活。
利用预先准备好的先前数据DatAecc,在地址线A上加载的先前数据的地址AddA处执行写入操作,其中预先准备好的先前数据DatAecc被加载在存储器的数据线D上、并且来自控制接口的缓冲寄存器BUF。
并行地,在第三周期III期间,通过组合从存储器在当前请求的地址AddB处读取的数据DatBmem和新数据AddBnew,并且通过计算归属于包括数据DatBmem和DatBnew的组合的新存储器字的新错误校正码,控制接口准备ECC_MDF待写入的下一个数据DatBecc。
在写入后,在第四周期IV期间,经准备的数据DatBecc被存储在存储器的控制接口的缓冲寄存器ENRG_BUF中。
同时,在总线BUS的选择信道HSEL上进行测试,以便验证是否由主设备发出访问存储器的新请求。
如果HSEL被激活(处于1),则新请求被接收到rq_ok。新请求可以是读取请求rq_lec或写入请求rq_ecr,这取决于在写入命令信道HWRITE上的信号ECR/LEC(分别是1和0)。
在接收到读取请求rq_lec的情况下,命令从存储器读取LEC,而准备好的数据DatBecc保持被存储在缓冲寄存器BUF中。
在接收到写入请求rq_ecr的情况下,如图4所示,针对另一地址AddC和其他新数据DatCnew实现如上所述的新写入。
准备好的数据DatBecc被加载到数据线D上,并且在该新写入的第三周期III中被写入存储器MEM。准备ECC_MDF要写入存储器的其他数据DatCecc,并且在新第三周期III和新第四周期IV中存储在缓冲寄存器ENRG_BUF中。
在第四周期IV中新请求没有被接收到rq_nok的情况下,即,如果在第四周期IV期间信号HSEL未被激活(处于1),则由控制接口CTRL“强制”进行写入周期(第五周期V)。
如图4所示,在第二次写入结束处,在第五周期V期间,在既不需要对存储器写入也不需要从存储器读取时,将存储在缓冲寄存器中的待写入的最后数据DatCecc写入存储器。
因此,有效地实现对存储器的写入,并且可以在没有丢失从缓冲寄存器准备的最后数据DatCecc的风险的情况下,发射复位信号。
此外,本发明不限于这些实施例和实现模式,而是包括其所有变形;例如,本发明可以适用于提供了错误校正码以及使用临时存储待写入数据的缓冲寄存器的其它类型的存储器。

Claims (20)

1.一种用于写入易失性存储器的方法,所述方法包括:
接收用于向所述存储器写入的第一请求;
第一准备待写入所述存储器的第一数据,所述第一准备包括计算第一错误校正码;
将所述第一数据第一存储在缓冲寄存器中;以及
响应于在所述第一存储之后没有接收到用于向所述存储器写入或从所述存储器读取的新请求,将存储在所述缓冲寄存器中的所述第一数据写入所述存储器。
2.根据权利要求1所述的方法,还包括:
接收用于向所述存储器写入的第二请求;
第二准备待写入所述存储器的第二数据,所述第二准备包括计算第二错误校正码;
将所述第二数据第二存储在所述缓冲寄存器中;以及
响应于在所述第二存储之后接收到用于向所述存储器写入的附加请求,在将响应于用于向所述存储器写入的所述附加请求而准备的、并且待写入所述存储器的附加数据第三存储在所述缓冲寄存器之前,将存储在所述缓冲寄存器中的所述第二数据写入所述存储器。
3.根据权利要求1所述的方法,用于向所述存储器写入的所述第一请求包括:所述存储器的存储器地址和新数据,所述新数据的大小小于所述存储器的存储器字的大小,所述第一准备待写入的所述第一数据包括:读取预先存储在包含所述存储器地址的所述存储器字中的先前数据,对所述先前数据和所述新数据的组合执行计算所述第一错误校正码,并且待写入的所述第一数据包括所述新数据和所述第一错误校正码的组合。
4.根据权利要求1所述的方法,其中用于向所述存储器写入或从所述存储器读取的任何请求通过总线而被传输,并且包括激活在所述总线的一个信道上的选择信号,所述方法包括:检测所述选择信号是否被激活,以便评估在所述第一存储之后是否没有接收到用于对所述存储器的写入访问或从所述存储器的读取访问的请求。
5.根据权利要求1所述的方法,还包括:
评估在所述存储之后是否没有接收到用于向所述存储器写入或从所述存储器读取的请求;以及
在没有向所述存储器写入和从所述存储器读取的情况下,命令将存储在所述缓冲寄存器中的所述第一数据写入所述存储器。
6.根据权利要求1所述的方法,其中所述易失性存储器是静态随机存取存储器。
7.一种集成电路,包括:
易失性存储器;以及
所述存储器的控制接口,所述控制接口被配置为:
接收用于向所述存储器写入的请求;
准备待写入所述存储器的数据,并且计算错误校正码;
将待写入所述存储器的所述数据存储在缓冲寄存器中;并且
响应于在所述存储之后没有接收到用于向所述存储器写入或从所述存储器读取的新请求,命令将存储在所述缓冲寄存器中的所述数据写入所述存储器。
8.根据权利要求7所述的集成电路,其中所述控制接口还被配置为:
响应于在所述存储之后接收到用于向所述存储器写入的新请求,在响应于用于向所述存储器写入的所述新请求而在所述缓冲寄存器中存储待写入所述存储器的新数据之前,将存储在所述缓冲寄存器中的所述数据写入所述存储器。
9.根据权利要求7所述的集成电路,其中所述控制接口还被配置为:
响应于包括所述存储器的存储器地址和具有大小小于所述存储器的存储器字的大小的新数据的写入请求,所述存储器的所述控制接口被配置为读取预先存储在包含所述存储器地址的所述存储器字中的先前数据,并且所述控制接口被配置为对所述先前数据和所述新数据的组合计算所述错误校正码,以便准备包括所述新数据和所述错误校正码的组合的待写入的所述数据。
10.根据权利要求7所述的集成电路,其中所述存储器的所述控制接口包括强制写入电路,所述强制写入电路被配置为:
评估在所述存储之后是否没有接收到用于向所述存储器写入或从所述存储器读取的请求;以及
在不存在向所述存储器写入和从所述存储器读取的情况下,命令将存储在所述缓冲寄存器中的所述数据写入所述存储器。
11.根据权利要求7所述的集成电路,其中所述易失性存储器是静态随机存取存储器。
12.根据权利要求7所述的集成电路,其中所述存储器的所述控制接口被配置为:
在总线上接收用于向所述存储器写入或从所述存储器读取的任何请求;以及
检测在所述总线的一个信道上的选择信号的激活,以便评估在所述存储之后是否没有接收到用于向所述存储器的写入访问或从所述存储器的读取访问的请求。
13.根据权利要求12所述的集成电路,其中所述集成电路包括耦合到所述总线的高级高性能总线接口。
14.一种片上系统,包括:
集成电路,包括:
易失性存储器;以及
所述存储器的控制接口,所述控制接口被配置为:
接收用于向所述存储器写入的请求;
准备待写入所述存储器的数据,并且计算错误校正码;
将待写入所述存储器的所述数据存储在缓冲寄存器中;并且
响应于在所述存储之后没有接收到用于向所述存储器写入或从所述存储器读取的新请求,命令将存储在所述缓冲寄存器中的所述数据写入所述存储器;
总线;以及
主设备,被配置为经由所述总线向所述存储器的所述控制接口传输用于向所述存储器写入的请求。
15.根据权利要求14所述的片上系统,其中所述控制接口还被配置为:
响应于在所述存储之后接收到用于向所述存储器写入的新请求,在响应于用于向所述存储器写入的所述新请求而在所述缓冲寄存器中存储待写入所述存储器的新数据之前,将存储在所述缓冲寄存器中的所述数据写入所述存储器。
16.根据权利要求14所述的片上系统,其中所述控制接口还被配置为:
响应于包括所述存储器的存储器地址和具有大小小于所述存储器的存储器字的大小的新数据的写入请求,所述存储器的所述控制接口被配置为读取预先存储在包含所述存储器地址的所述存储器字中的先前数据,并且所述控制接口被配置为对所述先前数据和所述新数据的组合计算所述错误校正码,以便准备包括所述新数据和所述错误校正码的组合的待写入的所述数据。
17.根据权利要求14所述的片上系统,其中所述存储器的所述控制接口包括强制写入电路,所述强制写入电路被配置为:
评估在所述存储之后是否没有接收到用于向所述存储器写入或从所述存储器读取的请求;以及
在不存在向所述存储器写入和从所述存储器读取的情况下,命令将存储在所述缓冲寄存器中的所述数据写入所述存储器。
18.根据权利要求14所述的片上系统,其中所述易失性存储器是静态随机存取存储器。
19.根据权利要求14所述的片上系统,其中所述存储器的所述控制接口被配置为:
在所述总线上接收用于向所述存储器写入或从所述存储器读取的任何请求;以及
检测在所述总线的一个信道上的选择信号的激活,以便评估在所述存储之后是否没有接收到用于向所述存储器的写入访问或从所述存储器的读取访问的请求。
20.根据权利要求14所述的片上系统,其中所述总线是符合高级微控制器总线架构标准的高级高性能总线。
CN202011308495.6A 2019-11-21 2020-11-20 用于在易失性存储器中写入的方法和对应的集成电路 Active CN112825028B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1913001 2019-11-21
FR1913001A FR3103620B1 (fr) 2019-11-21 2019-11-21 Procédé d’écriture dans une mémoire volatile et circuit intégré correspondant

Publications (2)

Publication Number Publication Date
CN112825028A true CN112825028A (zh) 2021-05-21
CN112825028B CN112825028B (zh) 2023-12-15

Family

ID=69630471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011308495.6A Active CN112825028B (zh) 2019-11-21 2020-11-20 用于在易失性存储器中写入的方法和对应的集成电路

Country Status (4)

Country Link
US (1) US11120887B2 (zh)
EP (1) EP3826015B1 (zh)
CN (1) CN112825028B (zh)
FR (1) FR3103620B1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220012019A (ko) * 2020-07-22 2022-02-03 삼성전자주식회사 메모리 모듈 및 이를 포함하는 메모리 시스템

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1206480A (zh) * 1995-10-03 1999-01-27 英特尔公司 计算机系统中的快速eeprom主存储器
US20080086585A1 (en) * 2006-10-10 2008-04-10 Hideaki Fukuda Storage apparatus, controller and control method
EP2056203A1 (en) * 2007-10-30 2009-05-06 Hagiwara Sys-Com Co. Ltd. Data writing method
CN101632068A (zh) * 2007-12-28 2010-01-20 株式会社东芝 半导体存储装置
US20100162068A1 (en) * 2008-12-19 2010-06-24 Kabushiki Kaisha Toshiba Memory device
CN106201336A (zh) * 2015-05-24 2016-12-07 硅实验室公司 具有回写缓存器的设备及其相关方法
CN109471596A (zh) * 2018-10-31 2019-03-15 北京小米移动软件有限公司 数据写入方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2864321B1 (fr) * 2003-12-23 2007-01-19 St Microelectronics Sa Memoire dynamique a acces aleatoire ou dram comportant au moins deux registres tampons et procede de commande d'une telle memoire
EP3382556A1 (en) * 2011-09-30 2018-10-03 INTEL Corporation Memory channel that supports near memory and far memory access
KR102456173B1 (ko) * 2017-10-27 2022-10-18 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20200048318A (ko) * 2018-10-29 2020-05-08 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1206480A (zh) * 1995-10-03 1999-01-27 英特尔公司 计算机系统中的快速eeprom主存储器
US20080086585A1 (en) * 2006-10-10 2008-04-10 Hideaki Fukuda Storage apparatus, controller and control method
EP2056203A1 (en) * 2007-10-30 2009-05-06 Hagiwara Sys-Com Co. Ltd. Data writing method
CN101632068A (zh) * 2007-12-28 2010-01-20 株式会社东芝 半导体存储装置
US20100162068A1 (en) * 2008-12-19 2010-06-24 Kabushiki Kaisha Toshiba Memory device
CN106201336A (zh) * 2015-05-24 2016-12-07 硅实验室公司 具有回写缓存器的设备及其相关方法
CN109471596A (zh) * 2018-10-31 2019-03-15 北京小米移动软件有限公司 数据写入方法、装置、设备及存储介质

Also Published As

Publication number Publication date
EP3826015B1 (fr) 2023-03-29
US20210158887A1 (en) 2021-05-27
US11120887B2 (en) 2021-09-14
FR3103620B1 (fr) 2021-11-26
CN112825028B (zh) 2023-12-15
EP3826015A1 (fr) 2021-05-26
FR3103620A1 (fr) 2021-05-28

Similar Documents

Publication Publication Date Title
KR101507628B1 (ko) 동기 직렬 인터페이스 nand의 데이터 판독을 위한 시스템 및 방법
US6434660B1 (en) Emulating one tape protocol of flash memory to a different type protocol of flash memory
US7564722B2 (en) Memory system and method having volatile and non-volatile memory devices at same hierarchical level
EP2297641B1 (en) Efficient in-band reliability with separate cyclic redundancy code frames
CN109726163B (zh) 一种基于spi的通信系统、方法、设备和储存介质
US7299323B2 (en) Memory controller having a read-modify-write function
CN112035381B (zh) 一种存储系统及存储数据处理方法
CN101303884B (zh) 与非型闪存控制器和读写控制系统及方法
EP3640944A1 (en) Non-sequential page continuous read
WO2010069045A1 (en) Error detection method and a system including one or more memory devices
US20190155765A1 (en) Operation method of host system including storage device and operation method of storage device controller
US20190220220A1 (en) Data storage device, operating method thereof and nonvolatile memory device
CN112825028B (zh) 用于在易失性存储器中写入的方法和对应的集成电路
US20110004817A1 (en) Crc management method performed in sata interface and data storage device using crc management method
EP2317439B1 (en) Error Detection
US8230276B2 (en) Writing to memory using adaptive write techniques
US8291270B2 (en) Request processing device, request processing system, and access testing method
CN110720126B (zh) 传输数据掩码的方法、内存控制器、内存芯片和计算机系统
US8386739B2 (en) Writing to memory using shared address buses
KR102390156B1 (ko) 비휘발성 듀얼 인-라인 메모리 모듈을 위한 페이지 크기 인식 스케줄링 방법 및 비일시적인 컴퓨터 판독가능 기록매체
CN111813180B (zh) 系统芯片存储控制方法、装置和系统芯片
US7412582B2 (en) Method and device for burst reading/writing memory data
JP2004288147A (ja) シリアルメモリに対するxipシステム及びその方法
CN116820860A (zh) 处理器及其测试方法
CN115827345A (zh) 一种应用于SSD的PCIe Reset测试方法、系统及存储介质

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